summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2022-02-06 16:04:24 +0100
committerJörg Frings-Fürst <debian@jff-webhosting.net>2022-02-06 16:04:24 +0100
commit5d2c2b27a6323e2666378b986129b2a7c2c39e5c (patch)
treece8982b6c0111f79791068de2c2d4c6ce3138a49
parentb623f5953691b2a0614e6f1f4def86bdbb9a4113 (diff)
New upstream version 5.2.2GAupstream/5.2.2GA
-rw-r--r--.hgignore4
-rw-r--r--.hgtags45
-rw-r--r--.hgtags.orig116
-rw-r--r--CMake/FindFreeImage.cmake24
-rw-r--r--CMake/FindLibzip.cmake60
-rw-r--r--CMake/FindMiniXML.cmake97
-rw-r--r--CMake/FindZlib.cmake43
-rw-r--r--CMakeLists.txt31
-rw-r--r--app/bin/CMakeLists.txt94
-rw-r--r--app/bin/acclkeys.h3
-rw-r--r--app/bin/appdefaults.c15
-rw-r--r--app/bin/archive.c44
-rw-r--r--app/bin/archive.h2
-rw-r--r--app/bin/bdf2xtp.c2
-rw-r--r--app/bin/bitmaps/16pix/bridge.pngbin0 -> 209 bytes
-rw-r--r--app/bin/bitmaps/16pix/circle-center.pngbin0 -> 249 bytes
-rw-r--r--app/bin/bitmaps/16pix/circle-tangent.pngbin0 -> 244 bytes
-rw-r--r--app/bin/bitmaps/16pix/circle.pngbin0 -> 242 bytes
-rw-r--r--app/bin/bitmaps/16pix/curved-chord.pngbin0 -> 244 bytes
-rw-r--r--app/bin/bitmaps/16pix/curved-end.pngbin0 -> 239 bytes
-rw-r--r--app/bin/bitmaps/16pix/curved-middle.pngbin0 -> 239 bytes
-rw-r--r--app/bin/bitmaps/16pix/curved-tangent.pngbin0 -> 241 bytes
-rw-r--r--app/bin/bitmaps/16pix/description.pngbin0 -> 228 bytes
-rw-r--r--app/bin/bitmaps/16pix/elevation.pngbin0 -> 216 bytes
-rw-r--r--app/bin/bitmaps/16pix/exit.pngbin0 -> 203 bytes
-rw-r--r--app/bin/bitmaps/16pix/palette.pngbin0 -> 179 bytes
-rw-r--r--app/bin/bitmaps/16pix/pan-zoom.pngbin0 -> 229 bytes
-rw-r--r--app/bin/bitmaps/16pix/select.pngbin0 -> 220 bytes
-rw-r--r--app/bin/bitmaps/16pix/snap-curs.pngbin0 -> 222 bytes
-rw-r--r--app/bin/bitmaps/16pix/snap-grid.pngbin0 -> 191 bytes
-rw-r--r--app/bin/bitmaps/24pix/description.pngbin0 -> 253 bytes
-rw-r--r--app/bin/bitmaps/24pix/exit.pngbin0 -> 236 bytes
-rw-r--r--app/bin/bitmaps/24pix/pan-zoom.pngbin0 -> 273 bytes
-rw-r--r--app/bin/bitmaps/24pix/snap-curs.pngbin0 -> 265 bytes
-rw-r--r--app/bin/bitmaps/24pix/snap-grid.pngbin0 -> 183 bytes
-rw-r--r--app/bin/bitmaps/Info.xpm116
-rw-r--r--app/bin/bitmaps/SVG/Info.svg69
-rw-r--r--app/bin/bitmaps/SVG/NotUsed/ease-broad.svg66
-rw-r--r--app/bin/bitmaps/SVG/NotUsed/ease-cornu.svg61
-rw-r--r--app/bin/bitmaps/SVG/NotUsed/ease-gt-broad.svg69
-rw-r--r--app/bin/bitmaps/SVG/NotUsed/ease-gt-sharp.svg66
-rw-r--r--app/bin/bitmaps/SVG/NotUsed/ease-lt-broad.svg67
-rw-r--r--app/bin/bitmaps/SVG/NotUsed/ease-lt-sharp.svg66
-rw-r--r--app/bin/bitmaps/SVG/NotUsed/ease-none.svg66
-rw-r--r--app/bin/bitmaps/SVG/NotUsed/ease-normal.svg66
-rw-r--r--app/bin/bitmaps/SVG/NotUsed/ease-sharp.svg66
-rw-r--r--app/bin/bitmaps/SVG/background.svg153
-rw-r--r--app/bin/bitmaps/SVG/benchwork.svg100
-rw-r--r--app/bin/bitmaps/SVG/bezier-line.svg92
-rw-r--r--app/bin/bitmaps/SVG/bezier-track.svg424
-rwxr-xr-xapp/bin/bitmaps/SVG/block.svg233
-rw-r--r--app/bin/bitmaps/SVG/bottom.svg62
-rw-r--r--app/bin/bitmaps/SVG/box.svg72
-rw-r--r--app/bin/bitmaps/SVG/bridge.svg162
-rw-r--r--app/bin/bitmaps/SVG/building.svg85
-rw-r--r--app/bin/bitmaps/SVG/car-inventory.svg146
-rw-r--r--app/bin/bitmaps/SVG/change-grid.svg136
-rw-r--r--app/bin/bitmaps/SVG/circle-center.svg283
-rw-r--r--app/bin/bitmaps/SVG/circle-filled-center.svg72
-rw-r--r--app/bin/bitmaps/SVG/circle-filled-tangent.svg78
-rw-r--r--app/bin/bitmaps/SVG/circle-line-center.svg78
-rw-r--r--app/bin/bitmaps/SVG/circle-line-tangent.svg78
-rw-r--r--app/bin/bitmaps/SVG/circle-line.svg228
-rw-r--r--app/bin/bitmaps/SVG/circle-tangent.svg272
-rw-r--r--app/bin/bitmaps/SVG/circle.svg301
-rw-r--r--app/bin/bitmaps/SVG/connect.svg159
-rw-r--r--app/bin/bitmaps/SVG/control.svg84
-rw-r--r--app/bin/bitmaps/SVG/convert-from.svg110
-rw-r--r--app/bin/bitmaps/SVG/convert-to.svg107
-rw-r--r--app/bin/bitmaps/SVG/copy.svg57
-rw-r--r--app/bin/bitmaps/SVG/cornu.svg275
-rw-r--r--app/bin/bitmaps/SVG/curved-chord.svg172
-rw-r--r--app/bin/bitmaps/SVG/curved-end.svg160
-rw-r--r--app/bin/bitmaps/SVG/curved-line-chord.svg114
-rw-r--r--app/bin/bitmaps/SVG/curved-line-end.svg108
-rw-r--r--app/bin/bitmaps/SVG/curved-line-middle.svg99
-rw-r--r--app/bin/bitmaps/SVG/curved-line-tangent.svg190
-rw-r--r--app/bin/bitmaps/SVG/curved-middle.svg202
-rw-r--r--app/bin/bitmaps/SVG/curved-tangent.svg191
-rw-r--r--app/bin/bitmaps/SVG/cut.svg64
-rw-r--r--app/bin/bitmaps/SVG/delete.svg143
-rw-r--r--app/bin/bitmaps/SVG/describe.svg144
-rw-r--r--app/bin/bitmaps/SVG/description.svg143
-rw-r--r--app/bin/bitmaps/SVG/dimension.svg148
-rw-r--r--app/bin/bitmaps/SVG/doc-export-bmap.svg97
-rw-r--r--app/bin/bitmaps/SVG/doc-export-dxf.svg114
-rw-r--r--app/bin/bitmaps/SVG/doc-export-svg.svg76
-rw-r--r--app/bin/bitmaps/SVG/doc-export-xtc.svg60
-rw-r--r--app/bin/bitmaps/SVG/doc-export.svg66
-rw-r--r--app/bin/bitmaps/SVG/doc-import-xtc.svg60
-rw-r--r--app/bin/bitmaps/SVG/doc-import.svg66
-rw-r--r--app/bin/bitmaps/SVG/doc-new.svg63
-rw-r--r--app/bin/bitmaps/SVG/doc-open.svg72
-rw-r--r--app/bin/bitmaps/SVG/doc-print.svg94
-rw-r--r--app/bin/bitmaps/SVG/doc-revert.svg55
-rw-r--r--app/bin/bitmaps/SVG/doc-save-as.svg99
-rw-r--r--app/bin/bitmaps/SVG/doc-save.svg90
-rw-r--r--app/bin/bitmaps/SVG/doc-setup.svg101
-rw-r--r--app/bin/bitmaps/SVG/down.svg56
-rw-r--r--app/bin/bitmaps/SVG/elevation.svg139
-rw-r--r--app/bin/bitmaps/SVG/exit.svg88
-rw-r--r--app/bin/bitmaps/SVG/extend.svg154
-rw-r--r--app/bin/bitmaps/SVG/filled-box.svg72
-rw-r--r--app/bin/bitmaps/SVG/filled-polygon.svg59
-rw-r--r--app/bin/bitmaps/SVG/go.svg106
-rw-r--r--app/bin/bitmaps/SVG/grid.svg18
-rw-r--r--app/bin/bitmaps/SVG/helix.svg170
-rw-r--r--app/bin/bitmaps/SVG/join-line.svg94
-rw-r--r--app/bin/bitmaps/SVG/join.svg154
-rw-r--r--app/bin/bitmaps/SVG/layers.svg98
-rw-r--r--app/bin/bitmaps/SVG/magnet.svg83
-rw-r--r--app/bin/bitmaps/SVG/manage.svg77
-rw-r--r--app/bin/bitmaps/SVG/map.svg146
-rw-r--r--app/bin/bitmaps/SVG/move.svg231
-rw-r--r--app/bin/bitmaps/SVG/new-car.svg136
-rw-r--r--app/bin/bitmaps/SVG/ok.svg55
-rw-r--r--app/bin/bitmaps/SVG/pan-zoom.svg89
-rw-r--r--app/bin/bitmaps/SVG/parallel-line.svg155
-rw-r--r--app/bin/bitmaps/SVG/parallel.svg221
-rw-r--r--app/bin/bitmaps/SVG/parameter.svg76
-rw-r--r--app/bin/bitmaps/SVG/paste.svg64
-rw-r--r--app/bin/bitmaps/SVG/polygon.svg57
-rw-r--r--app/bin/bitmaps/SVG/polyline.svg56
-rw-r--r--app/bin/bitmaps/SVG/profile.svg176
-rw-r--r--app/bin/bitmaps/SVG/protractor.svg68
-rw-r--r--app/bin/bitmaps/SVG/redo.svg52
-rw-r--r--app/bin/bitmaps/SVG/reflect.svg71
-rw-r--r--app/bin/bitmaps/SVG/rotate.svg222
-rw-r--r--app/bin/bitmaps/SVG/ruler.svg81
-rw-r--r--app/bin/bitmaps/SVG/select.svg153
-rw-r--r--app/bin/bitmaps/SVG/sensor.svg71
-rw-r--r--app/bin/bitmaps/SVG/signal.svg78
-rw-r--r--app/bin/bitmaps/SVG/snap-curs.svg130
-rw-r--r--app/bin/bitmaps/SVG/snap-grid.svg128
-rw-r--r--app/bin/bitmaps/SVG/split-draw.svg97
-rw-r--r--app/bin/bitmaps/SVG/split.svg153
-rw-r--r--app/bin/bitmaps/SVG/sticky-doc.svg72
-rw-r--r--app/bin/bitmaps/SVG/sticky-link.svg76
-rw-r--r--app/bin/bitmaps/SVG/sticky-note.svg88
-rw-r--r--app/bin/bitmaps/SVG/stop.svg106
-rw-r--r--app/bin/bitmaps/SVG/straight-line.svg126
-rw-r--r--app/bin/bitmaps/SVG/straight.svg160
-rw-r--r--app/bin/bitmaps/SVG/switch-ai.svg89
-rw-r--r--app/bin/bitmaps/SVG/table-edge.svg80
-rw-r--r--app/bin/bitmaps/SVG/text.svg56
-rw-r--r--app/bin/bitmaps/SVG/top.svg62
-rw-r--r--app/bin/bitmaps/SVG/train.svg173
-rw-r--r--app/bin/bitmaps/SVG/trim.svg91
-rw-r--r--app/bin/bitmaps/SVG/tunnel.svg164
-rw-r--r--app/bin/bitmaps/SVG/turnout-designer.svg179
-rw-r--r--app/bin/bitmaps/SVG/turnout.svg168
-rw-r--r--app/bin/bitmaps/SVG/turntable.svg175
-rw-r--r--app/bin/bitmaps/SVG/undo.svg53
-rw-r--r--app/bin/bitmaps/SVG/zoom-choose.svg359
-rw-r--r--app/bin/bitmaps/SVG/zoom-extent.svg247
-rw-r--r--app/bin/bitmaps/SVG/zoom-in.svg222
-rw-r--r--app/bin/bitmaps/SVG/zoom-out.svg215
-rw-r--r--app/bin/bitmaps/above.xpm22
-rw-r--r--app/bin/bitmaps/background.xpm312
-rw-r--r--app/bin/bitmaps/below.xpm22
-rw-r--r--app/bin/bitmaps/benchwork.xpm112
-rw-r--r--app/bin/bitmaps/bezier-line.xpm98
-rw-r--r--app/bin/bitmaps/bezier-track.xpm130
-rw-r--r--app/bin/bitmaps/bezier.xpm23
-rw-r--r--app/bin/bitmaps/block.xpm162
-rw-r--r--app/bin/bitmaps/bottom.xpm101
-rw-r--r--app/bin/bitmaps/box.xpm93
-rw-r--r--app/bin/bitmaps/bridge.xbm7
-rw-r--r--app/bin/bitmaps/bridge.xpm127
-rw-r--r--app/bin/bitmaps/building.xpm125
-rw-r--r--app/bin/bitmaps/car-inventory.xpm103
-rw-r--r--app/bin/bitmaps/change-grid.xpm118
-rw-r--r--app/bin/bitmaps/circle-center.xpm114
-rw-r--r--app/bin/bitmaps/circle-filled-center.xpm145
-rw-r--r--app/bin/bitmaps/circle-filled-tangent.xpm148
-rw-r--r--app/bin/bitmaps/circle-line-center.xpm93
-rw-r--r--app/bin/bitmaps/circle-line-tangent.xpm93
-rw-r--r--app/bin/bitmaps/circle-line.xpm95
-rw-r--r--app/bin/bitmaps/circle-tangent.xpm110
-rw-r--r--app/bin/bitmaps/circle.xpm115
-rw-r--r--app/bin/bitmaps/circle1.xpm23
-rw-r--r--app/bin/bitmaps/circle2.xpm22
-rw-r--r--app/bin/bitmaps/circle3.xpm22
-rw-r--r--app/bin/bitmaps/cnote.xpm22
-rw-r--r--app/bin/bitmaps/connect.xpm116
-rw-r--r--app/bin/bitmaps/control.xpm153
-rw-r--r--app/bin/bitmaps/convert-from.xpm99
-rw-r--r--app/bin/bitmaps/convert-to.xpm99
-rw-r--r--app/bin/bitmaps/convertfr.xpm23
-rw-r--r--app/bin/bitmaps/convertto.xpm23
-rw-r--r--app/bin/bitmaps/copy.xpm95
-rw-r--r--app/bin/bitmaps/cornu.xpm140
-rw-r--r--app/bin/bitmaps/curve1.xpm23
-rw-r--r--app/bin/bitmaps/curve2.xpm23
-rw-r--r--app/bin/bitmaps/curve3.xpm23
-rw-r--r--app/bin/bitmaps/curve4.xpm23
-rw-r--r--app/bin/bitmaps/curved-chord.xpm109
-rw-r--r--app/bin/bitmaps/curved-end.xpm107
-rw-r--r--app/bin/bitmaps/curved-line-chord.xpm92
-rw-r--r--app/bin/bitmaps/curved-line-end.xpm94
-rw-r--r--app/bin/bitmaps/curved-line-middle.xpm95
-rw-r--r--app/bin/bitmaps/curved-line-tangent.xpm98
-rw-r--r--app/bin/bitmaps/curved-middle.xpm108
-rw-r--r--app/bin/bitmaps/curved-tangent.xpm116
-rw-r--r--app/bin/bitmaps/cut.xpm92
-rw-r--r--app/bin/bitmaps/dbench.xpm22
-rw-r--r--app/bin/bitmaps/dbezier.xpm22
-rw-r--r--app/bin/bitmaps/dbox.xpm22
-rw-r--r--app/bin/bitmaps/dcircle1.xpm22
-rw-r--r--app/bin/bitmaps/dcircle2.xpm22
-rw-r--r--app/bin/bitmaps/dcircle3.xpm22
-rw-r--r--app/bin/bitmaps/dcurve1.xpm22
-rw-r--r--app/bin/bitmaps/dcurve2.xpm22
-rw-r--r--app/bin/bitmaps/dcurve3.xpm22
-rw-r--r--app/bin/bitmaps/dcurve4.xpm22
-rw-r--r--app/bin/bitmaps/ddimlin.xpm22
-rw-r--r--app/bin/bitmaps/delete.xpm136
-rw-r--r--app/bin/bitmaps/describe.xpm133
-rw-r--r--app/bin/bitmaps/description.xpm101
-rw-r--r--app/bin/bitmaps/dfilbox.xpm23
-rw-r--r--app/bin/bitmaps/dfilpoly.xpm23
-rw-r--r--app/bin/bitmaps/dflcrcl1.xpm22
-rw-r--r--app/bin/bitmaps/dflcrcl2.xpm23
-rw-r--r--app/bin/bitmaps/dflcrcl3.xpm23
-rw-r--r--app/bin/bitmaps/dimension.xpm94
-rw-r--r--app/bin/bitmaps/dline.xpm22
-rw-r--r--app/bin/bitmaps/doc-export-bmap.xpm162
-rw-r--r--app/bin/bitmaps/doc-export-dxf.xpm100
-rw-r--r--app/bin/bitmaps/doc-export-svg.xpm114
-rw-r--r--app/bin/bitmaps/doc-export-xtc.xpm108
-rw-r--r--app/bin/bitmaps/doc-export.xpm119
-rw-r--r--app/bin/bitmaps/doc-import-xtc.xpm123
-rw-r--r--app/bin/bitmaps/doc-import.xpm123
-rw-r--r--app/bin/bitmaps/doc-new.xpm127
-rw-r--r--app/bin/bitmaps/doc-open.xpm136
-rw-r--r--app/bin/bitmaps/doc-print.xpm108
-rw-r--r--app/bin/bitmaps/doc-revert.xpm134
-rw-r--r--app/bin/bitmaps/doc-save-as.xpm135
-rw-r--r--app/bin/bitmaps/doc-save.xpm116
-rw-r--r--app/bin/bitmaps/doc-setup.xpm110
-rw-r--r--app/bin/bitmaps/document-export.xpm90
-rw-r--r--app/bin/bitmaps/document-exportdxf.xpm84
-rw-r--r--app/bin/bitmaps/document-import.xpm92
-rw-r--r--app/bin/bitmaps/document-importmod.xpm71
-rw-r--r--app/bin/bitmaps/document-new.xpm38
-rw-r--r--app/bin/bitmaps/document-open.xpm35
-rw-r--r--app/bin/bitmaps/document-print.xpm24
-rw-r--r--app/bin/bitmaps/document-save.xpm35
-rw-r--r--app/bin/bitmaps/down.xpm89
-rw-r--r--app/bin/bitmaps/dpoly.xpm22
-rw-r--r--app/bin/bitmaps/dpolyline.xpm23
-rw-r--r--app/bin/bitmaps/dtbledge.xpm23
-rw-r--r--app/bin/bitmaps/ease-broad.xpm89
-rw-r--r--app/bin/bitmaps/ease-cornu.xpm96
-rw-r--r--app/bin/bitmaps/ease-gt-broad.xpm89
-rw-r--r--app/bin/bitmaps/ease-gt-sharp.xpm89
-rw-r--r--app/bin/bitmaps/ease-lt-broad.xpm89
-rw-r--r--app/bin/bitmaps/ease-lt-sharp.xpm89
-rw-r--r--app/bin/bitmaps/ease-none.xpm89
-rw-r--r--app/bin/bitmaps/ease-normal.xpm89
-rw-r--r--app/bin/bitmaps/ease-sharp.xpm89
-rw-r--r--app/bin/bitmaps/ebroad.xpm21
-rw-r--r--app/bin/bitmaps/ecornu.xpm23
-rw-r--r--app/bin/bitmaps/edit-redo.xpm29
-rw-r--r--app/bin/bitmaps/edit-undo.xpm28
-rw-r--r--app/bin/bitmaps/egtbroad.xpm21
-rw-r--r--app/bin/bitmaps/egtsharp.xpm21
-rw-r--r--app/bin/bitmaps/elev.xpm23
-rw-r--r--app/bin/bitmaps/elevation.xpm117
-rw-r--r--app/bin/bitmaps/eltbroad.xpm21
-rw-r--r--app/bin/bitmaps/eltsharp.xpm21
-rw-r--r--app/bin/bitmaps/enone.xpm21
-rw-r--r--app/bin/bitmaps/enormal.xpm21
-rw-r--r--app/bin/bitmaps/esharp.xpm21
-rw-r--r--app/bin/bitmaps/exit.xpm115
-rw-r--r--app/bin/bitmaps/extend.xpm166
-rw-r--r--app/bin/bitmaps/filled-box.xpm120
-rw-r--r--app/bin/bitmaps/filled-polygon.xpm121
-rw-r--r--app/bin/bitmaps/flip.xpm23
-rw-r--r--app/bin/bitmaps/funnel.xpm62
-rw-r--r--app/bin/bitmaps/funnelclear.xpm124
-rw-r--r--app/bin/bitmaps/go.xpm157
-rw-r--r--app/bin/bitmaps/helix.xpm95
-rw-r--r--app/bin/bitmaps/hndldto.xpm21
-rw-r--r--app/bin/bitmaps/join-line.xpm99
-rw-r--r--app/bin/bitmaps/join.xpm139
-rw-r--r--app/bin/bitmaps/joinline.xpm22
-rw-r--r--app/bin/bitmaps/l1.xbm84
-rw-r--r--app/bin/bitmaps/l10.xbm84
-rw-r--r--app/bin/bitmaps/l11.xbm84
-rw-r--r--app/bin/bitmaps/l12.xbm84
-rw-r--r--app/bin/bitmaps/l13.xbm84
-rw-r--r--app/bin/bitmaps/l14.xbm84
-rw-r--r--app/bin/bitmaps/l15.xbm84
-rw-r--r--app/bin/bitmaps/l16.xbm84
-rw-r--r--app/bin/bitmaps/l17.xbm84
-rw-r--r--app/bin/bitmaps/l18.xbm84
-rw-r--r--app/bin/bitmaps/l19.xbm84
-rw-r--r--app/bin/bitmaps/l2.xbm84
-rw-r--r--app/bin/bitmaps/l20.xbm84
-rw-r--r--app/bin/bitmaps/l21.xbm84
-rw-r--r--app/bin/bitmaps/l22.xbm84
-rw-r--r--app/bin/bitmaps/l23.xbm84
-rw-r--r--app/bin/bitmaps/l24.xbm84
-rw-r--r--app/bin/bitmaps/l25.xbm84
-rw-r--r--app/bin/bitmaps/l26.xbm84
-rw-r--r--app/bin/bitmaps/l27.xbm84
-rw-r--r--app/bin/bitmaps/l28.xbm84
-rw-r--r--app/bin/bitmaps/l29.xbm84
-rw-r--r--app/bin/bitmaps/l3.xbm84
-rw-r--r--app/bin/bitmaps/l30.xbm84
-rw-r--r--app/bin/bitmaps/l31.xbm84
-rw-r--r--app/bin/bitmaps/l32.xbm84
-rw-r--r--app/bin/bitmaps/l33.xbm84
-rw-r--r--app/bin/bitmaps/l34.xbm84
-rw-r--r--app/bin/bitmaps/l35.xbm84
-rw-r--r--app/bin/bitmaps/l36.xbm84
-rw-r--r--app/bin/bitmaps/l37.xbm84
-rw-r--r--app/bin/bitmaps/l38.xbm84
-rw-r--r--app/bin/bitmaps/l39.xbm84
-rw-r--r--app/bin/bitmaps/l4.xbm84
-rw-r--r--app/bin/bitmaps/l40.xbm84
-rw-r--r--app/bin/bitmaps/l41.xbm84
-rw-r--r--app/bin/bitmaps/l42.xbm84
-rw-r--r--app/bin/bitmaps/l43.xbm84
-rw-r--r--app/bin/bitmaps/l44.xbm84
-rw-r--r--app/bin/bitmaps/l45.xbm84
-rw-r--r--app/bin/bitmaps/l46.xbm84
-rw-r--r--app/bin/bitmaps/l47.xbm84
-rw-r--r--app/bin/bitmaps/l48.xbm84
-rw-r--r--app/bin/bitmaps/l49.xbm84
-rw-r--r--app/bin/bitmaps/l5.xbm84
-rw-r--r--app/bin/bitmaps/l50.xbm84
-rw-r--r--app/bin/bitmaps/l51.xbm84
-rw-r--r--app/bin/bitmaps/l52.xbm84
-rw-r--r--app/bin/bitmaps/l53.xbm84
-rw-r--r--app/bin/bitmaps/l54.xbm84
-rw-r--r--app/bin/bitmaps/l55.xbm84
-rw-r--r--app/bin/bitmaps/l56.xbm84
-rw-r--r--app/bin/bitmaps/l57.xbm84
-rw-r--r--app/bin/bitmaps/l58.xbm84
-rw-r--r--app/bin/bitmaps/l59.xbm84
-rw-r--r--app/bin/bitmaps/l6.xbm84
-rw-r--r--app/bin/bitmaps/l60.xbm84
-rw-r--r--app/bin/bitmaps/l61.xbm84
-rw-r--r--app/bin/bitmaps/l62.xbm84
-rw-r--r--app/bin/bitmaps/l63.xbm84
-rw-r--r--app/bin/bitmaps/l64.xbm84
-rw-r--r--app/bin/bitmaps/l65.xbm84
-rw-r--r--app/bin/bitmaps/l66.xbm84
-rw-r--r--app/bin/bitmaps/l67.xbm84
-rw-r--r--app/bin/bitmaps/l68.xbm84
-rw-r--r--app/bin/bitmaps/l69.xbm84
-rw-r--r--app/bin/bitmaps/l7.xbm84
-rw-r--r--app/bin/bitmaps/l70.xbm84
-rw-r--r--app/bin/bitmaps/l71.xbm84
-rw-r--r--app/bin/bitmaps/l72.xbm84
-rw-r--r--app/bin/bitmaps/l73.xbm84
-rw-r--r--app/bin/bitmaps/l74.xbm84
-rw-r--r--app/bin/bitmaps/l75.xbm84
-rw-r--r--app/bin/bitmaps/l76.xbm84
-rw-r--r--app/bin/bitmaps/l77.xbm84
-rw-r--r--app/bin/bitmaps/l78.xbm84
-rw-r--r--app/bin/bitmaps/l79.xbm84
-rw-r--r--app/bin/bitmaps/l8.xbm84
-rw-r--r--app/bin/bitmaps/l80.xbm84
-rw-r--r--app/bin/bitmaps/l81.xbm84
-rw-r--r--app/bin/bitmaps/l82.xbm84
-rw-r--r--app/bin/bitmaps/l83.xbm84
-rw-r--r--app/bin/bitmaps/l84.xbm84
-rw-r--r--app/bin/bitmaps/l85.xbm84
-rw-r--r--app/bin/bitmaps/l86.xbm84
-rw-r--r--app/bin/bitmaps/l87.xbm84
-rw-r--r--app/bin/bitmaps/l88.xbm84
-rw-r--r--app/bin/bitmaps/l89.xbm84
-rw-r--r--app/bin/bitmaps/l9.xbm84
-rw-r--r--app/bin/bitmaps/l90.xbm84
-rw-r--r--app/bin/bitmaps/l91.xbm84
-rw-r--r--app/bin/bitmaps/l92.xbm84
-rw-r--r--app/bin/bitmaps/l93.xbm84
-rw-r--r--app/bin/bitmaps/l94.xbm84
-rw-r--r--app/bin/bitmaps/l95.xbm84
-rw-r--r--app/bin/bitmaps/l96.xbm84
-rw-r--r--app/bin/bitmaps/l97.xbm84
-rw-r--r--app/bin/bitmaps/l98.xbm84
-rw-r--r--app/bin/bitmaps/l99.xbm84
-rw-r--r--app/bin/bitmaps/layers.xpm110
-rw-r--r--app/bin/bitmaps/magnet.xpm161
-rw-r--r--app/bin/bitmaps/magnifier.xpm89
-rw-r--r--app/bin/bitmaps/manage.xpm110
-rw-r--r--app/bin/bitmaps/map.xpm193
-rw-r--r--app/bin/bitmaps/move.xpm142
-rw-r--r--app/bin/bitmaps/movedesc.xpm23
-rw-r--r--app/bin/bitmaps/new-car.xpm100
-rw-r--r--app/bin/bitmaps/newcar.xpm23
-rw-r--r--app/bin/bitmaps/note.xpm114
-rw-r--r--app/bin/bitmaps/ok.xpm92
-rw-r--r--app/bin/bitmaps/openbutt.xpm21
-rw-r--r--app/bin/bitmaps/pan-zoom.xpm94
-rw-r--r--app/bin/bitmaps/pan.xpm22
-rw-r--r--app/bin/bitmaps/parallel-line.xpm130
-rw-r--r--app/bin/bitmaps/parallel.xpm138
-rw-r--r--app/bin/bitmaps/parameter.xpm104
-rw-r--r--app/bin/bitmaps/paste.xpm107
-rw-r--r--app/bin/bitmaps/pause.xpm147
-rw-r--r--app/bin/bitmaps/polygon.xpm89
-rw-r--r--app/bin/bitmaps/polyline.xpm92
-rw-r--r--app/bin/bitmaps/profile.xpm145
-rw-r--r--app/bin/bitmaps/protractor.xpm99
-rw-r--r--app/bin/bitmaps/pull.xpm23
-rw-r--r--app/bin/bitmaps/redo.xpm104
-rw-r--r--app/bin/bitmaps/reflect.xpm115
-rw-r--r--app/bin/bitmaps/rotate.xpm171
-rw-r--r--app/bin/bitmaps/ruler.xpm110
-rw-r--r--app/bin/bitmaps/select.xpm128
-rw-r--r--app/bin/bitmaps/sensor.xpm160
-rw-r--r--app/bin/bitmaps/signal.xpm131
-rw-r--r--app/bin/bitmaps/snap-curs.xpm102
-rw-r--r--app/bin/bitmaps/snap-grid.xpm92
-rw-r--r--app/bin/bitmaps/snapcurs.xbm7
-rw-r--r--app/bin/bitmaps/snapvis.xbm7
-rw-r--r--app/bin/bitmaps/split-draw.xpm95
-rw-r--r--app/bin/bitmaps/split.xpm107
-rw-r--r--app/bin/bitmaps/splittrk.xpm22
-rw-r--r--app/bin/bitmaps/sticky-doc.xpm130
-rw-r--r--app/bin/bitmaps/sticky-link.xpm138
-rw-r--r--app/bin/bitmaps/sticky-note-chain.xpm84
-rw-r--r--app/bin/bitmaps/sticky-note-clip.xpm99
-rw-r--r--app/bin/bitmaps/sticky-note-text.xpm86
-rw-r--r--app/bin/bitmaps/sticky-note.xpm124
-rw-r--r--app/bin/bitmaps/stop.xpm150
-rw-r--r--app/bin/bitmaps/straight-line.xpm96
-rw-r--r--app/bin/bitmaps/straight.xpm155
-rw-r--r--app/bin/bitmaps/switch-ai.xpm96
-rw-r--r--app/bin/bitmaps/table-edge.xpm114
-rw-r--r--app/bin/bitmaps/text.xpm110
-rw-r--r--app/bin/bitmaps/top.xpm111
-rw-r--r--app/bin/bitmaps/train.xpm140
-rw-r--r--app/bin/bitmaps/trim.xpm99
-rw-r--r--app/bin/bitmaps/tunnel.xpm140
-rw-r--r--app/bin/bitmaps/turnout-designer.xpm129
-rw-r--r--app/bin/bitmaps/turnout.xpm128
-rw-r--r--app/bin/bitmaps/turntable.xpm133
-rw-r--r--app/bin/bitmaps/turntbl.xpm21
-rw-r--r--app/bin/bitmaps/undo.xpm103
-rw-r--r--app/bin/bitmaps/zoom-choose.xpm127
-rw-r--r--app/bin/bitmaps/zoom-extent.xpm125
-rw-r--r--app/bin/bitmaps/zoom-in.xpm128
-rw-r--r--app/bin/bitmaps/zoom-out.xpm127
-rw-r--r--app/bin/bitmaps/zoom.xpm24
-rw-r--r--app/bin/bitmaps/zoomin.xpm24
-rw-r--r--app/bin/bitmaps/zoomout.xpm24
-rwxr-xr-xapp/bin/cJSON.c2
-rwxr-xr-xapp/bin/cJSON.h2
-rw-r--r--app/bin/cbezier.c105
-rw-r--r--app/bin/cbezier.h8
-rw-r--r--app/bin/cblock.c78
-rw-r--r--app/bin/ccontrol.c44
-rw-r--r--app/bin/ccornu.c102
-rw-r--r--app/bin/ccornu.h4
-rw-r--r--app/bin/ccurve.c167
-rw-r--r--app/bin/ccurve.h10
-rw-r--r--app/bin/cdraw.c1352
-rw-r--r--app/bin/celev.c166
-rw-r--r--app/bin/cgroup.c328
-rw-r--r--app/bin/chndldto.c11
-rw-r--r--app/bin/chotbar.c187
-rw-r--r--app/bin/cjoin.c96
-rw-r--r--app/bin/cjoin.h3
-rw-r--r--app/bin/cmisc.c245
-rw-r--r--app/bin/cmisc2.c2
-rw-r--r--app/bin/cmodify.c98
-rw-r--r--app/bin/cnote.c24
-rw-r--r--app/bin/cnvdsgn.c11
-rw-r--r--app/bin/common-ui.h31
-rw-r--r--app/bin/common.h140
-rw-r--r--app/bin/compound.c430
-rw-r--r--app/bin/compound.h58
-rw-r--r--app/bin/cparalle.c20
-rw-r--r--app/bin/cprint.c251
-rw-r--r--app/bin/cprofile.c90
-rw-r--r--app/bin/cpull.c19
-rw-r--r--app/bin/cruler.c256
-rw-r--r--app/bin/cselect.c982
-rw-r--r--app/bin/cselect.h29
-rw-r--r--app/bin/csensor.c44
-rw-r--r--app/bin/csignal.c56
-rw-r--r--app/bin/csnap.c105
-rw-r--r--app/bin/csplit.c293
-rw-r--r--app/bin/cstraigh.c23
-rw-r--r--app/bin/cstraigh.h1
-rw-r--r--app/bin/cstruct.c173
-rw-r--r--app/bin/cswitchmotor.c62
-rw-r--r--app/bin/ctext.c24
-rw-r--r--app/bin/ctodesgn.c496
-rw-r--r--app/bin/ctrain.c346
-rw-r--r--app/bin/ctrain.h5
-rw-r--r--app/bin/cturnout.c4890
-rw-r--r--app/bin/cturntbl.c226
-rw-r--r--app/bin/cundo.c354
-rw-r--r--app/bin/cundo.h6
-rw-r--r--app/bin/custom.c50
-rw-r--r--app/bin/custom.h9
-rw-r--r--app/bin/dbench.c42
-rw-r--r--app/bin/dbitmap.c545
-rw-r--r--app/bin/dcar.c494
-rw-r--r--app/bin/dcmpnd.c80
-rw-r--r--app/bin/dcontmgm.c20
-rw-r--r--app/bin/dcustmgm.c53
-rw-r--r--app/bin/dease.c70
-rw-r--r--app/bin/denum.c38
-rw-r--r--app/bin/directory.c23
-rw-r--r--app/bin/dlayer.c658
-rw-r--r--app/bin/doption.c195
-rw-r--r--app/bin/dpricels.c9
-rw-r--r--app/bin/dprmfile.c43
-rw-r--r--app/bin/draw.c1040
-rw-r--r--app/bin/draw.h52
-rw-r--r--app/bin/drawgeom.c504
-rw-r--r--app/bin/drawgeom.h16
-rw-r--r--app/bin/dxfformat.c6
-rw-r--r--app/bin/dxfoutput.c50
-rw-r--r--app/bin/elev.c111
-rw-r--r--app/bin/file2uri.c8
-rw-r--r--app/bin/fileio.c305
-rw-r--r--app/bin/fileio.h41
-rw-r--r--app/bin/filenoteui.c38
-rw-r--r--app/bin/i18n.c11
-rw-r--r--app/bin/include/dirent.h4
-rw-r--r--app/bin/include/levenshtein.h24
-rw-r--r--app/bin/include/paramfile.h9
-rw-r--r--app/bin/include/paramfilelist.h11
-rw-r--r--app/bin/include/partcatalog.h83
-rw-r--r--app/bin/include/svgformat.h55
-rw-r--r--app/bin/include/utlist.h1073
-rw-r--r--app/bin/layout.c203
-rw-r--r--app/bin/layout.h9
-rw-r--r--app/bin/levenshtein.c72
-rw-r--r--app/bin/linknoteui.c30
-rw-r--r--app/bin/lprintf.c18
-rw-r--r--app/bin/macro.c278
-rw-r--r--app/bin/manifest.c20
-rw-r--r--app/bin/misc.c1270
-rw-r--r--app/bin/misc.h109
-rw-r--r--app/bin/misc2.c255
-rw-r--r--app/bin/misc2.h17
-rw-r--r--app/bin/note.h15
-rw-r--r--app/bin/param.c481
-rw-r--r--app/bin/param.h122
-rw-r--r--app/bin/paramfile.c95
-rw-r--r--app/bin/paramfilelist.c124
-rw-r--r--app/bin/paramfilesearch_ui.c394
-rw-r--r--app/bin/partcatalog.c1250
-rw-r--r--app/bin/paths.c16
-rw-r--r--app/bin/shortentext.c7
-rw-r--r--app/bin/shrtpath.c8
-rw-r--r--app/bin/shrtpath.h1
-rw-r--r--app/bin/smalldlg.c97
-rw-r--r--app/bin/smalldlg.h6
-rw-r--r--app/bin/svgformat.c677
-rw-r--r--app/bin/svgoutput.c490
-rw-r--r--app/bin/tbezier.c766
-rw-r--r--app/bin/tbezier.h15
-rw-r--r--app/bin/tcornu.c756
-rw-r--r--app/bin/tcornu.h16
-rw-r--r--app/bin/tcurve.c312
-rw-r--r--app/bin/tease.c241
-rw-r--r--app/bin/textnoteui.c19
-rw-r--r--app/bin/track.c667
-rw-r--r--app/bin/track.h71
-rw-r--r--app/bin/trackx.h6
-rw-r--r--app/bin/trknote.c131
-rw-r--r--app/bin/trkseg.c215
-rw-r--r--app/bin/tstraigh.c197
-rw-r--r--app/bin/unittest/CMakeLists.txt1
-rw-r--r--app/bin/unittest/testfiles/HO-Peco-Code83.xtp6
-rw-r--r--app/bin/utf8convert.c11
-rw-r--r--app/bin/utility.c134
-rw-r--r--app/bin/utility.h2
-rw-r--r--app/bin/validator.c1
-rw-r--r--app/cornu/bezctx_xtrkcad.c1
-rw-r--r--app/doc/addm.but206
-rw-r--r--app/doc/changem.but563
-rw-r--r--app/doc/drawm.but179
-rw-r--r--app/doc/editm.but74
-rw-r--r--app/doc/filem.but97
-rw-r--r--app/doc/hotbar.but10
-rw-r--r--app/doc/intro.but.in144
-rw-r--r--app/doc/managem.but34
-rw-r--r--app/doc/navigation.but14
-rw-r--r--app/doc/optionm.but22
-rw-r--r--app/doc/png.d/bangle.pngbin0 -> 4818 bytes
-rw-r--r--app/doc/png.d/bblock.pngbin713 -> 389 bytes
-rw-r--r--app/doc/png.d/bcircl1.pngbin324 -> 433 bytes
-rw-r--r--app/doc/png.d/bcircl2.pngbin340 -> 531 bytes
-rw-r--r--app/doc/png.d/bcircl3.pngbin328 -> 520 bytes
-rw-r--r--app/doc/png.d/bcircle.pngbin370 -> 475 bytes
-rw-r--r--app/doc/png.d/bconnect.pngbin307 -> 415 bytes
-rw-r--r--app/doc/png.d/bcontrol.pngbin619 -> 303 bytes
-rw-r--r--app/doc/png.d/bcornu.pngbin4346 -> 4358 bytes
-rw-r--r--app/doc/png.d/bcurve.pngbin386 -> 355 bytes
-rw-r--r--app/doc/png.d/bcurve1.pngbin336 -> 304 bytes
-rw-r--r--app/doc/png.d/bcurve2.pngbin354 -> 302 bytes
-rw-r--r--app/doc/png.d/bcurve3.pngbin342 -> 298 bytes
-rw-r--r--app/doc/png.d/bcurve4.pngbin355 -> 303 bytes
-rw-r--r--app/doc/png.d/bdelete.pngbin603 -> 285 bytes
-rw-r--r--app/doc/png.d/bdescrib.pngbin292 -> 273 bytes
-rw-r--r--app/doc/png.d/bdraw.pngbin689 -> 936 bytes
-rw-r--r--app/doc/png.d/beasement.pngbin689 -> 399 bytes
-rw-r--r--app/doc/png.d/belev.pngbin296 -> 268 bytes
-rw-r--r--app/doc/png.d/bfile.pngbin681 -> 757 bytes
-rw-r--r--app/doc/png.d/bflip.pngbin267 -> 296 bytes
-rw-r--r--app/doc/png.d/bgsnap.pngbin372 -> 378 bytes
-rw-r--r--app/doc/png.d/bgundo.pngbin303 -> 310 bytes
-rw-r--r--app/doc/png.d/bgzoom.pngbin511 -> 521 bytes
-rw-r--r--app/doc/png.d/bhelix.pngbin237 -> 262 bytes
-rw-r--r--app/doc/png.d/bhndldto.pngbin285 -> 275 bytes
-rw-r--r--app/doc/png.d/bitmap.pngbin7090 -> 7777 bytes
-rw-r--r--app/doc/png.d/bmap.pngbin353 -> 357 bytes
-rw-r--r--app/doc/png.d/bmcircle.pngbin1831 -> 1225 bytes
-rw-r--r--app/doc/png.d/bmcurved.pngbin2283 -> 2246 bytes
-rw-r--r--app/doc/png.d/bmenu.pngbin485 -> 221 bytes
-rw-r--r--app/doc/png.d/bmodify.pngbin328 -> 296 bytes
-rw-r--r--app/doc/png.d/bmove.pngbin319 -> 296 bytes
-rw-r--r--app/doc/png.d/bmovedes.pngbin377 -> 311 bytes
-rw-r--r--app/doc/png.d/bnewcar.pngbin367 -> 305 bytes
-rw-r--r--app/doc/png.d/bnote.pngbin600 -> 684 bytes
-rw-r--r--app/doc/png.d/brotate.pngbin345 -> 291 bytes
-rw-r--r--app/doc/png.d/bruler.pngbin255 -> 250 bytes
-rw-r--r--app/doc/png.d/bselect.pngbin282 -> 273 bytes
-rw-r--r--app/doc/png.d/bsensor.pngbin563 -> 281 bytes
-rw-r--r--app/doc/png.d/bsignal.pngbin581 -> 256 bytes
-rw-r--r--app/doc/png.d/bsplit.pngbin286 -> 326 bytes
-rw-r--r--app/doc/png.d/bstraigh.pngbin285 -> 329 bytes
-rw-r--r--app/doc/png.d/bstruct.pngbin289 -> 338 bytes
-rw-r--r--app/doc/png.d/bswitchmotor.pngbin679 -> 316 bytes
-rw-r--r--app/doc/png.d/btext.pngbin241 -> 374 bytes
-rw-r--r--app/doc/png.d/btop_bottom.pngbin705 -> 375 bytes
-rw-r--r--app/doc/png.d/btrain.pngbin273 -> 261 bytes
-rw-r--r--app/doc/png.d/btunnel.pngbin245 -> 428 bytes
-rw-r--r--app/doc/png.d/bturnout.pngbin278 -> 456 bytes
-rw-r--r--app/doc/png.d/bturntbl.pngbin282 -> 357 bytes
-rw-r--r--app/doc/png.d/cmdopt.pngbin7407 -> 20629 bytes
-rw-r--r--app/doc/png.d/colorw.pngbin8380 -> 4684 bytes
-rw-r--r--app/doc/png.d/convertto.pngbin4169 -> 3940 bytes
-rw-r--r--app/doc/png.d/dcircle3.pngbin296 -> 496 bytes
-rw-r--r--app/doc/png.d/displayopt.pngbin86476 -> 80557 bytes
-rw-r--r--app/doc/png.d/dlayers.pngbin8594 -> 89877 bytes
-rw-r--r--app/doc/png.d/dprmfile.pngbin13308 -> 11394 bytes
-rw-r--r--app/doc/png.d/layout.pngbin72958 -> 39585 bytes
-rw-r--r--app/doc/png.d/madd.pngbin13693 -> 3174 bytes
-rw-r--r--app/doc/png.d/maddcircle.pngbin0 -> 1812 bytes
-rw-r--r--app/doc/png.d/maddcontrol.pngbin0 -> 1355 bytes
-rw-r--r--app/doc/png.d/maddcurve.pngbin0 -> 2394 bytes
-rw-r--r--app/doc/png.d/maddparallel.pngbin0 -> 1247 bytes
-rw-r--r--app/doc/png.d/mchange.pngbin23214 -> 5142 bytes
-rw-r--r--app/doc/png.d/mconvert.pngbin0 -> 1125 bytes
-rw-r--r--app/doc/png.d/mdraw.pngbin10174 -> 2053 bytes
-rw-r--r--app/doc/png.d/mdrawcircles.pngbin2758 -> 1934 bytes
-rw-r--r--app/doc/png.d/mdrawcurve.pngbin2570 -> 2032 bytes
-rw-r--r--app/doc/png.d/mdrawmeasure.pngbin0 -> 588 bytes
-rw-r--r--app/doc/png.d/mdrawnotes.pngbin0 -> 881 bytes
-rw-r--r--app/doc/png.d/mdrawshapes.pngbin2181 -> 1853 bytes
-rw-r--r--app/doc/png.d/mdrawstraight.pngbin2233 -> 1818 bytes
-rw-r--r--app/doc/png.d/medit.pngbin7035 -> 5981 bytes
-rw-r--r--app/doc/png.d/mfile.pngbin6016 -> 7770 bytes
-rw-r--r--app/doc/png.d/mhelp.pngbin2251 -> 2240 bytes
-rw-r--r--app/doc/png.d/mhelpdemos.pngbin4031 -> 3407 bytes
-rw-r--r--app/doc/png.d/mjoin.pngbin0 -> 978 bytes
-rw-r--r--app/doc/png.d/mmacro.pngbin1203 -> 941 bytes
-rw-r--r--app/doc/png.d/mmanage.pngbin8632 -> 4331 bytes
-rw-r--r--app/doc/png.d/mmanageturnoutdesign.pngbin3742 -> 3271 bytes
-rw-r--r--app/doc/png.d/moptions.pngbin3378 -> 2285 bytes
-rw-r--r--app/doc/png.d/mselect.pngbin4055 -> 0 bytes
-rw-r--r--app/doc/png.d/mselectcmd.pngbin0 -> 78701 bytes
-rw-r--r--app/doc/png.d/mselectcontext.pngbin0 -> 47076 bytes
-rw-r--r--app/doc/png.d/mselected.pngbin5004 -> 0 bytes
-rw-r--r--app/doc/png.d/mselectedcontext.pngbin0 -> 68960 bytes
-rw-r--r--app/doc/png.d/msplit.pngbin0 -> 1399 bytes
-rw-r--r--app/doc/png.d/mview.pngbin15591 -> 4108 bytes
-rw-r--r--app/doc/png.d/paramsearch.pngbin14516 -> 124132 bytes
-rw-r--r--app/doc/png.d/pref.pngbin12308 -> 46567 bytes
-rw-r--r--app/doc/png.d/statustext.pngbin1681 -> 12102 bytes
-rw-r--r--app/doc/png.d/sticky.pngbin12075 -> 8324 bytes
-rw-r--r--app/doc/view_winm.but40
-rw-r--r--app/doc/warranty.but74
-rw-r--r--app/help/genhelp.json1412
-rw-r--r--app/help/messages.in94
-rw-r--r--app/i18n/CMakeLists.txt2
-rw-r--r--app/i18n/cy_GB.po15263
-rw-r--r--app/i18n/de_DE.po10978
-rw-r--r--app/i18n/fr_FR.po31788
-rw-r--r--app/i18n/ru.po14139
-rw-r--r--app/i18n/stripmsg.c4
-rw-r--r--app/lib/AStyle.cfg8
-rw-r--r--app/lib/CHANGELOG.md282
-rw-r--r--app/lib/CMakeLists.txt5
-rwxr-xr-x[-rw-r--r--]app/lib/Readme.md233
-rw-r--r--app/lib/astylerc15
-rw-r--r--app/lib/demos/dmctlpnl.xtr69
-rw-r--r--app/lib/demos/dmdimlin.xtr3
-rw-r--r--app/lib/demos/dmextend.xtr6
-rw-r--r--app/lib/demos/dmgroup.xtr95
-rw-r--r--app/lib/demos/dmlines.xtr61
-rw-r--r--app/lib/demos/dmlines2.xtr2
-rw-r--r--app/lib/demos/dmrescal.xtr2
-rw-r--r--app/lib/demos/dmtbledg.xtr57
-rw-r--r--app/lib/examples/Garden RGS.xtc39643
-rw-r--r--app/lib/params/4DBrix(Lego Track).xtp230
-rw-r--r--app/lib/params/5in-MiniTrain.xtp889
-rw-r--r--app/lib/params/7.25-AccuTie.xtp74
-rw-r--r--app/lib/params/7.25-MiniRailway.xtp65
-rw-r--r--app/lib/params/7.25-MiniTrain.xtp921
-rw-r--r--app/lib/params/7.5-AccuTie.xtp74
-rw-r--r--app/lib/params/AccucraftFn3.cars329
-rw-r--r--app/lib/params/AccucraftOn3.cars36
-rw-r--r--app/lib/params/Any-CTC_panel.xtp56
-rwxr-xr-xapp/lib/params/Any-MTB Switch Machines.xtp220
-rw-r--r--app/lib/params/BrickTracks(Lego Track).xtp75
-rw-r--r--app/lib/params/BrioWoodTrack.xtp990
-rw-r--r--app/lib/params/Circuits.xtp40
-rw-r--r--app/lib/params/EM-UK Fine Scale.xtp24
-rw-r--r--app/lib/params/F-NMRA-RP12-21.xtp16
-rw-r--r--app/lib/params/FastTrack-HO.xtp93
-rw-r--r--app/lib/params/FastTrack_n.xtp8
-rw-r--r--app/lib/params/G-MicroEngineering250.xtp49
-rw-r--r--app/lib/params/G-MicroEngineering332.xtp49
-rw-r--r--app/lib/params/G-MicroEngineeringTrack.xtp142
-rw-r--r--app/lib/params/G-NMRA-RP12-23.xtp16
-rw-r--r--app/lib/params/G-NQD-AMAX Plastic.xtp2
-rw-r--r--app/lib/params/G-Piko.xtp (renamed from app/lib/params/Piko-g.xtp)452
-rw-r--r--app/lib/params/G-Playmobil RC Track.xtp61
-rw-r--r--app/lib/params/G-USA.xtp (renamed from app/lib/params/USA-G.xtp)112
-rw-r--r--app/lib/params/G-aristo.xtp468
-rw-r--r--app/lib/params/HO-Bachmann EZ.xtp (renamed from app/lib/params/BachmannEZ-HO.xtp)1280
-rw-r--r--app/lib/params/HO-DapolHOOO.xtp151
-rw-r--r--app/lib/params/HO-Frateschi.xtp4
-rw-r--r--app/lib/params/HO-Kato.xtp (renamed from app/lib/params/kato-ho.xtp)1112
-rw-r--r--app/lib/params/HO-Marklin C-Track.xtp330
-rw-r--r--app/lib/params/HO-Marklin K-track.xtp294
-rw-r--r--app/lib/params/HO-Marklin M-Track.xtp366
-rw-r--r--app/lib/params/HO-Peco-Code100Streamline.xtp127
-rw-r--r--app/lib/params/HO-Peco-Code75Finescale.xtp127
-rw-r--r--app/lib/params/HO-Peco-Code83.xtp8
-rw-r--r--app/lib/params/HO-Piko-A Roadbed.xtp302
-rw-r--r--app/lib/params/HO-Piko-A.xtp (renamed from app/lib/params/Piko-A.xtp)159
-rw-r--r--app/lib/params/HO-Roco HO Code 83.xtp22
-rw-r--r--app/lib/params/HO-Slot-Car-AFX-Track.xtp4
-rwxr-xr-xapp/lib/params/HO-Tillig Luna Tramway.xtp349
-rw-r--r--app/lib/params/HO-TrixExpress Tracks.xtp266
-rw-r--r--app/lib/params/HO-WalthCornerstone 1.xtp10
-rw-r--r--app/lib/params/HO-Walthers Cornerstone Engineered Bridge System.xtp6
-rw-r--r--app/lib/params/HO-Walthers DCC Code 100.xtp229
-rw-r--r--app/lib/params/HO-Walthers DCC Code 83.xtp231
-rw-r--r--app/lib/params/HO-Weinert-Code75.xtp8
-rw-r--r--app/lib/params/HO-atl100ho.xtp86
-rw-r--r--app/lib/params/Hornby Dublo 3 Rail with Turntable.xtp16
-rw-r--r--app/lib/params/Lego - RC-FX Track.xtp66
-rw-r--r--app/lib/params/Lego-Track.xtp152
-rw-r--r--app/lib/params/Lionel27.xtp7
-rw-r--r--app/lib/params/ME Models(Lego Track).xtp49
-rw-r--r--app/lib/params/N-Atlas Code 80 Track.xtp (renamed from app/lib/params/N-atlasn80.xtp)156
-rwxr-xr-xapp/lib/params/N-AtlasRoco Code80 Track.xtp88
-rw-r--r--app/lib/params/N-AtlasTrueTrack.xtp16
-rw-r--r--app/lib/params/N-Bachmann EZ.xtp (renamed from app/lib/params/BachmannEZ-N.xtp)1187
-rw-r--r--app/lib/params/N-Bonus Generic Industrial Structures.xtp2
-rw-r--r--app/lib/params/N-BritishFinescaleFineTraxC40.xtp24
-rw-r--r--app/lib/params/N-Kato Track and Structures.xtp80
-rw-r--r--app/lib/params/N-Kato-Unitram.xtp6
-rw-r--r--app/lib/params/N-MiniTrix Track (De).xtp (renamed from app/lib/params/minitrix.xtp)640
-rw-r--r--app/lib/params/N-MiniTrix Track.xtp607
-rw-r--r--app/lib/params/N-N- 90ft-ROUNDHOUSE.xtp27
-rwxr-xr-xapp/lib/params/N-NTram Track.xtp258
-rw-r--r--app/lib/params/N-PecoCode55Finescale.xtp46
-rw-r--r--app/lib/params/N-PecoCode80Streamline.xtp38
-rwxr-xr-xapp/lib/params/N-ScaleScene Structures.xtp233
-rw-r--r--app/lib/params/N-Shinohara70.xtp8
-rw-r--r--app/lib/params/N-Tomix Track.xtp150
-rw-r--r--app/lib/params/N-atlasn55.xtp8
-rw-r--r--app/lib/params/N-fl.xtp8
-rw-r--r--app/lib/params/N-kato-turntable.xtp2
-rw-r--r--app/lib/params/N-walth-n.xtp9
-rw-r--r--app/lib/params/NScale_SectorPlate_Traverser_Examples.xtp6
-rw-r--r--app/lib/params/O-Atlas2Rail.xtp26
-rw-r--r--app/lib/params/O-Atlas3Rrail.xtp30
-rw-r--r--app/lib/params/O-Bassett-Lowke (discontinued).xtp12
-rw-r--r--app/lib/params/O-ETS.xtp2
-rw-r--r--app/lib/params/O-Lenz.xtp8
-rw-r--r--app/lib/params/O-Ross.xtp44
-rw-r--r--app/lib/params/O-atlaso3rail.xtp36
-rw-r--r--app/lib/params/O-nmra-lapped.xtp70
-rwxr-xr-xapp/lib/params/OO9-Peco.xtp62
-rw-r--r--app/lib/params/On3-FastTrack.xtp226
-rw-r--r--app/lib/params/RocoGeoLineHO.xtp8
-rw-r--r--app/lib/params/TT-Berliner.xtp228
-rw-r--r--app/lib/params/TT-Kuehn.xtp24
-rw-r--r--app/lib/params/TT-Roco-Turntable.xtp2
-rw-r--r--app/lib/params/TT-Zeuke.xtp144
-rw-r--r--app/lib/params/TilligAdvTT.xtp8
-rw-r--r--app/lib/params/TilligH0EliteCode83.xtp16
-rw-r--r--app/lib/params/TilligTTModellGS.xtp16
-rw-r--r--app/lib/params/TreeLgConif.xtp3023
-rw-r--r--app/lib/params/TreeLgDecid.xtp3483
-rw-r--r--app/lib/params/TreeLgFall.xtp3483
-rw-r--r--app/lib/params/TreeSmConif.xtp3023
-rw-r--r--app/lib/params/TreeSmDecid.xtp3483
-rw-r--r--app/lib/params/TreeSmFall.xtp3483
-rw-r--r--app/lib/params/Z-Eisen Platz Track.xtp21
-rw-r--r--app/lib/params/Z-Prim Track.xtp29
-rw-r--r--app/lib/params/Z-RealZJ Track.xtp37
-rw-r--r--app/lib/params/Z-Rokuhan.xtp117
-rw-r--r--app/lib/params/arnold.xtp18
-rw-r--r--app/lib/params/atl83ho.xtp4
-rw-r--r--app/lib/params/atlaso2rail.xtp26
-rw-r--r--app/lib/params/fl-model.xtp20
-rw-r--r--app/lib/params/fl-profi.xtp42
-rw-r--r--app/lib/params/flnpicco.xtp32
-rw-r--r--app/lib/params/hubner1.xtp21
-rw-r--r--app/lib/params/lgb.xtp26
-rw-r--r--app/lib/params/marcway-EM.xtp8
-rw-r--r--app/lib/params/mkcarpart.c36
-rw-r--r--app/lib/params/mrkhomde.xtp113
-rw-r--r--app/lib/params/mrklnhoc-de.xtp32
-rw-r--r--app/lib/params/mrklnz.xtp36
-rw-r--r--app/lib/params/nmra-ho.xtp16
-rw-r--r--app/lib/params/nmra-n.xtp16
-rw-r--r--app/lib/params/nmra-o.xtp16
-rw-r--r--app/lib/params/nmra-s.xtp38
-rw-r--r--app/lib/params/nmra-tt.xtp8
-rw-r--r--app/lib/params/nmra-z.xtp16
-rw-r--r--app/lib/params/p4.xtp24
-rw-r--r--app/lib/params/peco turntable wo routes.xtp40
-rw-r--r--app/lib/params/peco-O-Bullhead.xtp8
-rw-r--r--app/lib/params/proto-ng-3-foot.xtp264
-rw-r--r--app/lib/params/proto-ng.xtp29
-rw-r--r--app/lib/params/prototype-de.xtp24
-rw-r--r--app/lib/params/roadname.tab12
-rw-r--r--app/lib/params/rocho100.xtp8
-rw-r--r--app/lib/params/t-trak.xtp3
-rw-r--r--app/lib/params/walth-ho.xtp10
-rw-r--r--app/lib/params/wlthho83.xtp16
-rwxr-xr-xapp/lib/xtrkcad-setup81
-rw-r--r--app/lib/xtrkcad.desktop6
-rw-r--r--app/lib/xtrkcad.upd9
-rw-r--r--app/lib/xtrkcad.xml8
-rw-r--r--app/lib/xtrkcad.xtq146
-rw-r--r--app/tools/dirent.c6
-rw-r--r--app/tools/halibut/bk_html.c8
-rw-r--r--app/tools/halibut/bk_paper.c55
-rw-r--r--app/tools/halibut/charset/fromucs.c6
-rw-r--r--app/tools/halibut/charset/iso2022.c6
-rw-r--r--app/tools/halibut/charset/test.c2
-rw-r--r--app/tools/halibut/charset/toucs.c6
-rw-r--r--app/tools/halibut/deflate.c5
-rw-r--r--app/tools/halibut/in_afm.c18
-rw-r--r--app/tools/halibut/in_pf.c20
-rw-r--r--app/tools/halibut/malloc.c2
-rw-r--r--app/tools/halibut/misc.c6
-rw-r--r--app/tools/halibut/paper.h4
-rw-r--r--app/tools/halibut/ustring.c12
-rw-r--r--app/tools/halibut/wcwidth.c2
-rw-r--r--app/wlib/gtklib/CMakeLists.txt2
-rw-r--r--app/wlib/gtklib/bitmap.c4
-rw-r--r--app/wlib/gtklib/boxes.c22
-rw-r--r--app/wlib/gtklib/browserhelp.c4
-rw-r--r--app/wlib/gtklib/button.c157
-rw-r--r--app/wlib/gtklib/color.c6
-rw-r--r--app/wlib/gtklib/control.c37
-rw-r--r--app/wlib/gtklib/droplist.c6
-rw-r--r--app/wlib/gtklib/filesel.c2
-rw-r--r--app/wlib/gtklib/font.c17
-rw-r--r--app/wlib/gtklib/gtkdraw-cairo.c213
-rw-r--r--app/wlib/gtklib/gtkint.h58
-rw-r--r--app/wlib/gtklib/help.c5
-rw-r--r--app/wlib/gtklib/list.c21
-rw-r--r--app/wlib/gtklib/menu.c12
-rw-r--r--app/wlib/gtklib/message.c14
-rw-r--r--app/wlib/gtklib/osxhelp.c2
-rw-r--r--app/wlib/gtklib/pixbuf.c2
-rw-r--r--app/wlib/gtklib/print.c75
-rw-r--r--app/wlib/gtklib/single.c206
-rw-r--r--app/wlib/gtklib/splash.c1
-rw-r--r--app/wlib/gtklib/statusbar.c14
-rw-r--r--app/wlib/gtklib/text.c18
-rw-r--r--app/wlib/gtklib/tooltip.c21
-rw-r--r--app/wlib/gtklib/treeview.c14
-rw-r--r--app/wlib/gtklib/util.c22
-rw-r--r--app/wlib/gtklib/window.c44
-rw-r--r--app/wlib/gtklib/wpref.c80
-rw-r--r--app/wlib/gtklib/writebitmap.c (renamed from app/wlib/gtklib/png.c)45
-rw-r--r--app/wlib/include/wlib.h176
-rw-r--r--app/wlib/mswlib/CMakeLists.txt1
-rw-r--r--app/wlib/mswlib/backgnd.c367
-rw-r--r--app/wlib/mswlib/dynarr.h4
-rw-r--r--app/wlib/mswlib/gwin32.c2
-rw-r--r--app/wlib/mswlib/mswbitmap.c22
-rw-r--r--app/wlib/mswlib/mswbox.c14
-rw-r--r--app/wlib/mswlib/mswbutt.c155
-rw-r--r--app/wlib/mswlib/mswchoic.c87
-rw-r--r--app/wlib/mswlib/mswcolor.c13
-rw-r--r--app/wlib/mswlib/mswdraw.c409
-rw-r--r--app/wlib/mswlib/mswedit.c115
-rw-r--r--app/wlib/mswlib/mswint.h179
-rw-r--r--app/wlib/mswlib/mswlines.c2
-rw-r--r--app/wlib/mswlib/mswlist.c238
-rw-r--r--app/wlib/mswlib/mswmenu.c38
-rw-r--r--app/wlib/mswlib/mswmisc.c676
-rw-r--r--app/wlib/mswlib/mswmsg.c75
-rw-r--r--app/wlib/mswlib/mswpref.c47
-rw-r--r--app/wlib/mswlib/mswprint.c23
-rw-r--r--app/wlib/mswlib/mswsplash.c9
-rw-r--r--app/wlib/mswlib/mswstatus.c14
-rw-r--r--app/wlib/mswlib/mswtext.c78
-rw-r--r--app/wlib/mswlib/simple-gettext.c8
-rw-r--r--app/wlib/mswlib/utf8conv.c4
-rw-r--r--distribution/CMakeLists.txt11
-rw-r--r--distribution/fedora/xtrkcad.spec50
-rw-r--r--distribution/posix/CMakeLists.txt31
-rwxr-xr-xdistribution/posix/postinst21
-rwxr-xr-xdistribution/posix/prerm22
-rw-r--r--distribution/win32/CMakeLists.txt5
-rw-r--r--distribution/win32/nsis/CMakeLists.txt29
-rw-r--r--docs/doxygen/Doxyfile.in3
-rw-r--r--xtrkcad-config.h.in2
924 files changed, 182126 insertions, 43010 deletions
diff --git a/.hgignore b/.hgignore
index 3404f26..1fb243c 100644
--- a/.hgignore
+++ b/.hgignore
@@ -1,7 +1,7 @@
# hg uses this global ignore file for all tree-wide ignores
.DS_Store
.project
+.settings.json
+build/
syntax: glob
*.mo
-xtrkcad-4.2.3b.hg
-app/bin/dprmfile.c.orig
diff --git a/.hgtags b/.hgtags
index 5c1cc48..aeb580a 100644
--- a/.hgtags
+++ b/.hgtags
@@ -73,3 +73,48 @@ a5a2221e59d57cb7227de4df566fb49643c4799b V5.2 Beta 2.0 Release
a9688ed807416e3a239268e05f2a26940f96eea7 V5.2 Beta 2.1 Release
a9688ed807416e3a239268e05f2a26940f96eea7 V5.2 Beta 2.1 Release
33627b1df2f6f96acecb26f402c918dd4c9ff3e0 V5.2 Beta 2.1 Release
+33627b1df2f6f96acecb26f402c918dd4c9ff3e0 V5.2 Beta 2.1 Release
+f000c6c8133bfa2048d827390b29cb425b21d45e V5.2 Beta 2.1 Release
+f000c6c8133bfa2048d827390b29cb425b21d45e V5.2 Beta 2.1 Release
+db53b5963eabf8b1826bb5d81292c9b800b69594 V5.2 Beta 2.1 Release
+1e8e89390a2f41daa5dc9150d21b7d25b57e25c6 V5.2 Beta 3.0 Release
+1e8e89390a2f41daa5dc9150d21b7d25b57e25c6 V5.2 Beta 3.0 Release
+635782edaba554c1799d022bffb1156141d97163 V5.2 Beta 3.0 Release
+635782edaba554c1799d022bffb1156141d97163 V5.2 Beta 3.0 Release
+3f76204dab88a44da829c6c73fa1738264a7a7ad V5.2 Beta 3.0 Release
+3f76204dab88a44da829c6c73fa1738264a7a7ad V5.2 Beta 3.0 Release
+9a2f95ba79f15a32b327504b6b24360133a23040 V5.2 Beta 3.0 Release
+9a2f95ba79f15a32b327504b6b24360133a23040 V5.2 Beta 3.0 Release
+a7b63a40ae8e627c3497ced304f188174ee99135 V5.2 Beta 3.0 Release
+fa8f70e41ffeac9e1a4fd9b30357cd6507c5b12e V5.2.0 GA Release
+fa8f70e41ffeac9e1a4fd9b30357cd6507c5b12e V5.2.0 GA Release
+07573f2b2fa101cfc852219b3f74dcb5d7023f79 V5.2.0 GA Release
+07573f2b2fa101cfc852219b3f74dcb5d7023f79 V5.2.0 GA Release
+110d992c3ca0158de78d09a9396c79159b7eaf08 V5.2.0 GA Release
+110d992c3ca0158de78d09a9396c79159b7eaf08 V5.2.0 GA Release
+96f7e3255dc2644bf44deaaa9b85cd898bed18ae V5.2.0 GA Release
+3337cc2abe22941114aeda2d9f2a1bd7ac65631e V5.2.1 GA Release
+2a23c333fbbd6c7f52ece6a6de087bb97213c9b5 V5.2.1 GA Release
+2a23c333fbbd6c7f52ece6a6de087bb97213c9b5 V5.2.1 GA Release
+04e33df10082be61feab5158c0905f099cc7e4cc V5.2.1 GA Release
+04e33df10082be61feab5158c0905f099cc7e4cc V5.2.1 GA Release
+88a438984fc2c6e9a0ed054db2b4c4abfe86adde V5.2.1 GA Release
+b247e6845a1c3306fc9dec7f607c02afc2e863c1 V5.2.1 Hotfix a Release
+b247e6845a1c3306fc9dec7f607c02afc2e863c1 V5.2.1 Hotfix a Release
+94ffe4a99fafda76eca76f83ffedd0274ce753b8 V5.2.1 Hotfix a Release
+94ffe4a99fafda76eca76f83ffedd0274ce753b8 V5.2.1 Hotfix a Release
+31686443927091c46337f73245750acb05d4e3bb V5.2.1 Hotfix a Release
+9a6a869e90ef8d437674b2a0d50408f4cf9ef2b1 V5.2.2 Release Candidate
+9a6a869e90ef8d437674b2a0d50408f4cf9ef2b1 V5.2.2 Release Candidate
+21bddd7f1d353ea3115253cd6def90cf82f115cb V5.2.2 Release Candidate
+21bddd7f1d353ea3115253cd6def90cf82f115cb V5.2.2 Beta 1
+ca04617d5211da2c79e4ec9952bb8b15255f9aab V5.2.2 Beta 2
+21bddd7f1d353ea3115253cd6def90cf82f115cb V5.2.2 Release Candidate
+0000000000000000000000000000000000000000 V5.2.2 Release Candidate
+ca04617d5211da2c79e4ec9952bb8b15255f9aab V5.2.2 Beta 2
+f7ca5abb27264e3bd2ea3743272e73de859fd8c0 V5.2.2 Beta 2
+a926b2fbe2a62877ec90bb0ba7b6e96beac82438 V5.2.2 Beta 2
+78067f56454632058cc12bed22f4ff8e8a204244 V5.2.2 Beta3
+78067f56454632058cc12bed22f4ff8e8a204244 V5.2.2 Beta3
+35b056b43144129e0aec461403999682dea5d285 V5.2.2 Beta3
+3bc84c7f38d15bd1ff0579723c42b09d2c58840b V5.2.2 GA
diff --git a/.hgtags.orig b/.hgtags.orig
new file mode 100644
index 0000000..3b50af4
--- /dev/null
+++ b/.hgtags.orig
@@ -0,0 +1,116 @@
+94c2cf3d9771e319277a8d56c36be25957648f56 Release_4_0_3a
+882f15968b0abf4df60bf040e77f60286aac3bf4 Release_4_2_0beta1
+c07643cf9248a12e61cfbbfdc0ea443a8669d008 Release_4_2_0
+25dab80e5244b867c018381f34656ffba91d0e34 Release_4_2_1
+8485a3d22fbf500ddff7738cc263d884b8b2af0b Release_4_2_2
+5603bb19687491e39078eda424929d194909c48d Release_4_2_3
+3397423bf220a4dccdd4deb4c83faccad86e4bd2 Release_4_2_3a
+66aa9bf23b5beb89aa2590200e5de382b0fd3796 Release_4_2_3b
+66aa9bf23b5beb89aa2590200e5de382b0fd3796 Release_4_2_3b
+0000000000000000000000000000000000000000 Release_4_2_3b
+0000000000000000000000000000000000000000 Release_4_2_3b
+66aa9bf23b5beb89aa2590200e5de382b0fd3796 Release_4_2_3b
+19e42ff003fdf435c256041bb27c0a211917ee1e Release_4_2_4
+c0c1c81628cd366a1eb8f7ba081d06ea2688cdc5 Release_4_2_4a
+c0c1c81628cd366a1eb8f7ba081d06ea2688cdc5 Release_4_2_4a
+73cf3917555f849308dfe3fe16a4efc647fe841e Release_4_2_4a
+73cf3917555f849308dfe3fe16a4efc647fe841e Release_4_2_4a
+b6314f08196d771538a560bb91f6b5193c8a8521 Release_4_2_4a
+753a8c625e8ec767fc39f88cb2d0cc0e82f95406 Release_4_3_beta1
+f933e0890de0b04e49d9711e8a77dc70d44604e4 Release_4_3_beta2
+f933e0890de0b04e49d9711e8a77dc70d44604e4 Release_4_3_beta2
+0000000000000000000000000000000000000000 Release_4_3_beta2
+0000000000000000000000000000000000000000 Release_4_3_beta2
+a007fdefb63a50a72fd95af90fb587ca2e6c12d0 Release_4_3_beta2
+38a5202a3ab8249a18974c65a23d16cc55a69bf1 Release_4_3_0
+38a5202a3ab8249a18974c65a23d16cc55a69bf1 Release_4_3_0
+0873300a21fbc1d30b34906150a78a35bc5d40f7 Release_4_3_0
+ec3abbb4643e1c65edb47f7350de7ca3e3982a19 Release_4_4_0beta1
+b2b1e44a7fa86bd5889c7ba712203b78b351db8e Release_4_4_0_beta2
+3fdc2079f872e33957c9d79931a75449173921a3 Release_5_0_0beta3
+0442cf435f6f48e9e965f4a5a3394af779ddded4 Release_5_0_0beta4
+1baa674535fd6b17e308473754ca46f3f4f3b891 Release_5_0_0beta5
+46cae9394dd578414f9024cae92fc61e0917acea Release_5_1_0beta
+22542aade3e14343abbe3ef0051bb352a12e67e4 Release_5_1_0
+22542aade3e14343abbe3ef0051bb352a12e67e4 Release_5_1_0
+43883c4baad01bc21c3adf3026d809b862c8deb7 Release_5_1_0
+ff3eb7eadadae951cb63fe770ca51cf89ec3d53d Release_5_1_0
+17fd7114b39b9fc396190840293038e6f8da9e94 Release_5_1_0
+17fd7114b39b9fc396190840293038e6f8da9e94 Release_5_1_0
+14093504c8c0525a20f92ae18610b03ecfed389c Release_5_1_0
+14093504c8c0525a20f92ae18610b03ecfed389c Release_5_1_0
+0000000000000000000000000000000000000000 Release_5_1_0
+0000000000000000000000000000000000000000 Release_5_1_0
+095ec69a4d185c0c47d7e6bd8393774a597b26a7 Release_5_1_0
+0bf03c3b7d1ef02e4c4a3c32549187ef5636c7a8 Release_5_1_1
+e93612ade2a32f2ba0fe8fdcfb92e59c14265466 Release_5_1_2
+e93612ade2a32f2ba0fe8fdcfb92e59c14265466 Release_5_1_2
+4562e9b122b2b2e58ce9355a83b9cd23e17ed138 Release_5_1_2
+0000000000000000000000000000000000000000 Release_5_1_2a
+41d5525d954622bedb12bc9eb9516e3d8848a9d6 Release_5_1_2a
+fc632b33222d1cd00c15342fe2ce91466a27a2b4 V5.2 Beta 1.0 Release
+2111ec67392603645062dff2b3b2c76ff9d6e1a7 V5.2 Beta 2.0 Release
+2111ec67392603645062dff2b3b2c76ff9d6e1a7 V5.2 Beta 2.0 Release
+7b4f25593473721116c49a4cd426482eb8cf1655 V5.2 Beta 2.0 Release
+7b4f25593473721116c49a4cd426482eb8cf1655 V5.2 Beta 2.0 Release
+a7fd6e03aa2680a5c958d103e13aa38ef5b0dde3 V5.2 Beta 2.0 Release
+a7fd6e03aa2680a5c958d103e13aa38ef5b0dde3 V5.2 Beta 2.0 Release
+f47114e7bba8af38f1a9228ff619ba88cee01709 V5.2 Beta 2.0 Release
+f47114e7bba8af38f1a9228ff619ba88cee01709 V5.2 Beta 2.0 Release
+f605edb2081daf4882dd8eb2d25b1830e4521400 V5.2 Beta 2.0 Release
+f605edb2081daf4882dd8eb2d25b1830e4521400 V5.2 Beta 2.0 Release
+3e5f9ebcc29acb009fd3a04950761bef568ee8bf V5.2 Beta 2.0 Release
+3e5f9ebcc29acb009fd3a04950761bef568ee8bf V5.2 Beta 2.0 Release
+a5a2221e59d57cb7227de4df566fb49643c4799b V5.2 Beta 2.0 Release
+a5a2221e59d57cb7227de4df566fb49643c4799b V5.2 Beta 2.0 Release
+1f1e18e8765d75150651a0cf33fadaf1050c8f16 V5.2 Beta 2.0 Release
+1f1e18e8765d75150651a0cf33fadaf1050c8f16 V5.2 Beta 2.0 Release
+4541599c0b238eb62d848c65f340bfa7059e8d4f V5.2 Beta 2.0 Release
+2959e327915b2c1573da0bd817f9cc5a27f0e9d6 V5.2 Beta 2.1 Release
+2959e327915b2c1573da0bd817f9cc5a27f0e9d6 V5.2 Beta 2.1 Release
+19b72cf126d107f3f499d3bff0f231a6089b7115 V5.2 Beta 2.1 Release
+19b72cf126d107f3f499d3bff0f231a6089b7115 V5.2 Beta 2.1 Release
+a9688ed807416e3a239268e05f2a26940f96eea7 V5.2 Beta 2.1 Release
+a9688ed807416e3a239268e05f2a26940f96eea7 V5.2 Beta 2.1 Release
+33627b1df2f6f96acecb26f402c918dd4c9ff3e0 V5.2 Beta 2.1 Release
+33627b1df2f6f96acecb26f402c918dd4c9ff3e0 V5.2 Beta 2.1 Release
+f000c6c8133bfa2048d827390b29cb425b21d45e V5.2 Beta 2.1 Release
+f000c6c8133bfa2048d827390b29cb425b21d45e V5.2 Beta 2.1 Release
+db53b5963eabf8b1826bb5d81292c9b800b69594 V5.2 Beta 2.1 Release
+1e8e89390a2f41daa5dc9150d21b7d25b57e25c6 V5.2 Beta 3.0 Release
+1e8e89390a2f41daa5dc9150d21b7d25b57e25c6 V5.2 Beta 3.0 Release
+635782edaba554c1799d022bffb1156141d97163 V5.2 Beta 3.0 Release
+635782edaba554c1799d022bffb1156141d97163 V5.2 Beta 3.0 Release
+3f76204dab88a44da829c6c73fa1738264a7a7ad V5.2 Beta 3.0 Release
+3f76204dab88a44da829c6c73fa1738264a7a7ad V5.2 Beta 3.0 Release
+9a2f95ba79f15a32b327504b6b24360133a23040 V5.2 Beta 3.0 Release
+9a2f95ba79f15a32b327504b6b24360133a23040 V5.2 Beta 3.0 Release
+a7b63a40ae8e627c3497ced304f188174ee99135 V5.2 Beta 3.0 Release
+fa8f70e41ffeac9e1a4fd9b30357cd6507c5b12e V5.2.0 GA Release
+fa8f70e41ffeac9e1a4fd9b30357cd6507c5b12e V5.2.0 GA Release
+07573f2b2fa101cfc852219b3f74dcb5d7023f79 V5.2.0 GA Release
+07573f2b2fa101cfc852219b3f74dcb5d7023f79 V5.2.0 GA Release
+110d992c3ca0158de78d09a9396c79159b7eaf08 V5.2.0 GA Release
+110d992c3ca0158de78d09a9396c79159b7eaf08 V5.2.0 GA Release
+96f7e3255dc2644bf44deaaa9b85cd898bed18ae V5.2.0 GA Release
+3337cc2abe22941114aeda2d9f2a1bd7ac65631e V5.2.1 GA Release
+2a23c333fbbd6c7f52ece6a6de087bb97213c9b5 V5.2.1 GA Release
+2a23c333fbbd6c7f52ece6a6de087bb97213c9b5 V5.2.1 GA Release
+04e33df10082be61feab5158c0905f099cc7e4cc V5.2.1 GA Release
+04e33df10082be61feab5158c0905f099cc7e4cc V5.2.1 GA Release
+88a438984fc2c6e9a0ed054db2b4c4abfe86adde V5.2.1 GA Release
+b247e6845a1c3306fc9dec7f607c02afc2e863c1 V5.2.1 Hotfix a Release
+b247e6845a1c3306fc9dec7f607c02afc2e863c1 V5.2.1 Hotfix a Release
+94ffe4a99fafda76eca76f83ffedd0274ce753b8 V5.2.1 Hotfix a Release
+94ffe4a99fafda76eca76f83ffedd0274ce753b8 V5.2.1 Hotfix a Release
+31686443927091c46337f73245750acb05d4e3bb V5.2.1 Hotfix a Release
+9a6a869e90ef8d437674b2a0d50408f4cf9ef2b1 V5.2.2 Release Candidate
+9a6a869e90ef8d437674b2a0d50408f4cf9ef2b1 V5.2.2 Release Candidate
+21bddd7f1d353ea3115253cd6def90cf82f115cb V5.2.2 Release Candidate
+21bddd7f1d353ea3115253cd6def90cf82f115cb V5.2.2 Beta 1
+ca04617d5211da2c79e4ec9952bb8b15255f9aab V5.2.2 Beta 2
+21bddd7f1d353ea3115253cd6def90cf82f115cb V5.2.2 Release Candidate
+0000000000000000000000000000000000000000 V5.2.2 Release Candidate
+ca04617d5211da2c79e4ec9952bb8b15255f9aab V5.2.2 Beta 2
+f7ca5abb27264e3bd2ea3743272e73de859fd8c0 V5.2.2 Beta 2
+a926b2fbe2a62877ec90bb0ba7b6e96beac82438 V5.2.2 Beta 2
diff --git a/CMake/FindFreeImage.cmake b/CMake/FindFreeImage.cmake
index 6073916..b24f98d 100644
--- a/CMake/FindFreeImage.cmake
+++ b/CMake/FindFreeImage.cmake
@@ -12,20 +12,38 @@
#
if (WIN32)
+ # Folders for x86/x64
+ if (WIN64)
find_path( FREEIMAGE_INCLUDE_PATH FreeImage.h
PATHS
- $ENV{XTCEXTERNALROOT}/x86/FreeImage
+ $ENV{XTCEXTERNALROOT}/x64/FreeImage
DOC "The directory where FreeImage.h resides")
find_library( FREEIMAGE_LIBRARY
NAMES FreeImage freeimage
PATHS
- $ENV{XTCEXTERNALROOT}/x86/FreeImage
+ $ENV{XTCEXTERNALROOT}/x64/FreeImage
DOC "The FreeImage library")
find_file( FREEIMAGE_SHAREDLIB
NAMES freeimage.DLL
PATHS
- $ENV{XTCEXTERNALROOT}/x86/FreeImage
+ $ENV{XTCEXTERNALROOT}/x64/FreeImage
)
+ else (WIN64)
+ find_path( FREEIMAGE_INCLUDE_PATH FreeImage.h
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/FreeImage
+ DOC "The directory where FreeImage.h resides")
+ find_library( FREEIMAGE_LIBRARY
+ NAMES FreeImage freeimage
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/FreeImage
+ DOC "The FreeImage library")
+ find_file( FREEIMAGE_SHAREDLIB
+ NAMES freeimage.DLL
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/FreeImage
+ )
+ endif (WIN64)
else (WIN32)
find_path( FREEIMAGE_INCLUDE_PATH FreeImage.h
/usr/include
diff --git a/CMake/FindLibzip.cmake b/CMake/FindLibzip.cmake
index b6f1a9e..004a88d 100644
--- a/CMake/FindLibzip.cmake
+++ b/CMake/FindLibzip.cmake
@@ -10,23 +10,44 @@
#
if(WIN32)
- find_path( LIBZIP_INCLUDE_DIR_ZIP zip.h
- PATHS
- $ENV{XTCEXTERNALROOT}/x86/libzip
- DOC "The directory where zip.h resides")
- find_path( LIBZIP_INCLUDE_DIR_ZIPCONF zipconf.h
- PATHS
- $ENV{XTCEXTERNALROOT}/x86/libzip
- DOC "The directory where zip.h resides")
- find_library( LIBZIP_LIBRARY
- NAMES zip Zip
- PATHS
- $ENV{XTCEXTERNALROOT}/x86/libzip
- DOC "The libzip library")
- find_file( LIBZIP_SHAREDLIB
- NAMES zip.dll Zip.dll
- PATHS
- $ENV{XTCEXTERNALROOT}/x86/libzip)
+ # Folders for x86/x64
+ if (WIN64)
+ find_path( LIBZIP_INCLUDE_DIR_ZIP zip.h
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x64/libzip
+ DOC "The directory where zip.h resides")
+ find_path( LIBZIP_INCLUDE_DIR_ZIPCONF zipconf.h
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x64/libzip
+ DOC "The directory where zip.h resides")
+ find_library( LIBZIP_LIBRARY
+ NAMES zip Zip
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x64/libzip
+ DOC "The libzip library")
+ find_file( LIBZIP_SHAREDLIB
+ NAMES zip.dll Zip.dll
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x64/libzip)
+ else (WIN64)
+ find_path( LIBZIP_INCLUDE_DIR_ZIP zip.h
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/libzip
+ DOC "The directory where zip.h resides")
+ find_path( LIBZIP_INCLUDE_DIR_ZIPCONF zipconf.h
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/libzip
+ DOC "The directory where zip.h resides")
+ find_library( LIBZIP_LIBRARY
+ NAMES zip Zip
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/libzip
+ DOC "The libzip library")
+ find_file( LIBZIP_SHAREDLIB
+ NAMES zip.dll Zip.dll
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/libzip)
+ endif (WIN64)
else(WIN32)
find_package(PkgConfig)
pkg_check_modules(PC_LIBZIP QUIET libzip)
@@ -39,8 +60,13 @@ else(WIN32)
NAMES zipconf.h
HINTS ${PC_LIBZIP_INCLUDE_DIRS})
+if(UNIX AND NOT APPLE)
+ find_library(LIBZIP_LIBRARY
+ NAMES libzip.a zip)
+else(UNIX AND NOT APPLE)
find_library(LIBZIP_LIBRARY
NAMES zip)
+endif(UNIX AND NOT APPLE)
endif(WIN32)
include(FindPackageHandleStandardArgs)
diff --git a/CMake/FindMiniXML.cmake b/CMake/FindMiniXML.cmake
new file mode 100644
index 0000000..927430d
--- /dev/null
+++ b/CMake/FindMiniXML.cmake
@@ -0,0 +1,97 @@
+#
+# Try to find the mini-xml library and include path.
+# Once done this will define
+#
+# MINIXML_FOUND
+# MINIXML_INCLUDE_PATH
+# MINIXML_LIBRARY
+# MINIXML_SHAREDLIB (Win32 only)
+#
+# There is no default installation for mini-xml on Windows so a
+# XTrackCAD specific directory tree is assumed
+#
+
+if (WIN32)
+ # Folders for x86/x64
+ if (WIN64)
+ find_path( MINIXML_INCLUDE_PATH mxml.h
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x64/mxml
+ DOC "The directory where mxml.h resides")
+ find_library( MINIXML_LIBRARY
+ NAMES mxml1
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x64/mxml
+ DOC "The Mini XML shared library")
+ find_file( MINIXML_SHAREDLIB
+ NAMES mxml1.DLL
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x64/mxml
+ DOC "The Mini XML DLL" )
+ find_library( MINIXML_STATIC_LIBRARY
+ NAMES mxmlstat.lib
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x64/mxml
+ DOC "The Mini XML static library")
+ else (WIN64)
+ find_path( MINIXML_INCLUDE_PATH mxml.h
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/mxml
+ DOC "The directory where mxml.h resides")
+ find_library( MINIXML_LIBRARY
+ NAMES mxml1
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/mxml
+ DOC "The Mini XML shared library")
+ find_file( MINIXML_SHAREDLIB
+ NAMES mxml1.DLL
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/mxml
+ DOC "The Mini XML DLL" )
+ find_library( MINIXML_STATIC_LIBRARY
+ NAMES mxmlstat.lib
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/mxml
+ DOC "The Mini XML static library")
+ endif (WIN64)
+else (WIN32)
+ find_path( MINIXML_INCLUDE_PATH mxml.h
+ /usr/include
+ /usr/local/include
+ /sw/include
+ /opt/local/include
+ DOC "The directory where mxml.h resides")
+ find_library( MINIXML_LIBRARY
+ NAMES mxml1 mxml
+ PATHS
+ /usr/lib64
+ /usr/lib
+ /usr/local/lib64
+ /usr/local/lib
+ /sw/lib
+ /opt/local/lib
+ DOC "The Mini XML library")
+ find_library( MINIXML_STATIC_LIBRARY
+ NAMES libmxml.a
+ PATHS
+ /usr/lib64
+ /usr/lib
+ /usr/local/lib64
+ /usr/local/lib
+ /sw/lib
+ /opt/local/lib
+ DOC "The Mini XML static library")
+endif (WIN32)
+
+find_package_handle_standard_args( MiniXML
+ DEFAULT_MSG
+ MINIXML_LIBRARY
+ MINIXML_INCLUDE_PATH
+)
+
+mark_as_advanced(
+ MINIXML_FOUND
+ MINIXML_LIBRARY
+ MINIXML_SHAREDLIB
+ MINIXML_STATIC_LIBRARY
+MINIXML_INCLUDE_PATH)
diff --git a/CMake/FindZlib.cmake b/CMake/FindZlib.cmake
index 3305ee3..3ad5b6c 100644
--- a/CMake/FindZlib.cmake
+++ b/CMake/FindZlib.cmake
@@ -10,19 +10,36 @@
#
if(WIN32)
- find_path( ZLIB_INCLUDE_DIR zlib.h
- PATHS
- $ENV{XTCEXTERNALROOT}/x86/zlib
- DOC "The directory where zip.h resides")
- find_library( ZLIB_LIBRARY
- NAMES zlib Zlib
- PATHS
- $ENV{XTCEXTERNALROOT}/x86/zlib
- DOC "The zlib library")
- find_file( ZLIB_SHAREDLIB
- NAMES zlib.dll Zlib.dll
- PATHS
- $ENV{XTCEXTERNALROOT}/x86/zlib)
+ # Folders for x86/x64
+ if (WIN64)
+ find_path( ZLIB_INCLUDE_DIR zlib.h
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x64/zlib
+ DOC "The directory where zlib.h resides")
+ find_library( ZLIB_LIBRARY
+ NAMES zlib Zlib
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x64/zlib
+ DOC "The zlib library")
+ find_file( ZLIB_SHAREDLIB
+ NAMES zlib.dll Zlib.dll
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x64/zlib)
+ else (WIN64)
+ find_path( ZLIB_INCLUDE_DIR zlib.h
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/zlib
+ DOC "The directory where zlib.h resides")
+ find_library( ZLIB_LIBRARY
+ NAMES zlib Zlib
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/zlib
+ DOC "The zlib library")
+ find_file( ZLIB_SHAREDLIB
+ NAMES zlib.dll Zlib.dll
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/zlib)
+ endif (WIN64)
else(WIN32)
find_package(PkgConfig)
pkg_check_modules(PC_ZLIB QUIET zlib)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0128295..a9b083e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -23,17 +23,38 @@ if(UNIX)
endif()
else()
set(XTRKCAD_USE_BROWSER_DEFAULT ON)
+ set(XTRKCAD_PACKAGE_GA_RELEASE_DEFAULT OFF)
endif(APPLE)
endif(UNIX)
+# Set Win64 flag
+IF(WIN32)
+ if (CMAKE_SIZEOF_VOID_P EQUAL 8)
+ SET(WIN64 ON CACHE BOOL "Win x64")
+ IF (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+ SET(CMAKE_INSTALL_PREFIX "C:/Program Files/XTrkCAD" CACHE PATH "WIN64 Install" FORCE)
+ ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+ else (CMAKE_SIZEOF_VOID_P EQUAL 8)
+ SET(WIN64 OFF CACHE BOOL "Win x86")
+ endif (CMAKE_SIZEOF_VOID_P EQUAL 8)
+ENDIF(WIN32)
+
find_package(Libzip)
find_package(Zlib)
+find_package(MiniXML)
+
+if(MINIXML_FOUND)
+ set(XTRKCAD_CREATE_SVG 1)
+ message( STATUS "MiniXML found: SVG export is enabled")
+else(MINIXML_FOUND)
+ message( STATUS "MiniXML not found: no SVG export")
+endif(MINIXML_FOUND)
IF(WIN32)
SET(XTRKCAD_USE_GTK_DEFAULT OFF)
SET(XTRKCAD_USE_GETTEXT_DEFAULT ON)
- SET(CMAKE_C_FLAGS_DEBUG "/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1" CACHE STRING "Flags used by the compiler during debug builds" FORCE)
+ SET(CMAKE_C_FLAGS_DEBUG "/D_DEBUG /MT /Zi /Ob0 /Od /RTC1" CACHE STRING "Flags used by the compiler during debug builds" FORCE)
SET(CMAKE_C_FLAGS_MINSIZEREL "/MT /O1 /Ob1 /D NDEBUG" CACHE STRING "Flags used by the compiler during release minumum size builds" FORCE)
SET(CMAKE_C_FLAGS_RELEASE "/MT /O2 /Ob2 /D NDEBUG" CACHE STRING "Flags used by the compiler during release builds" FORCE)
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "/MT /Zi /O2 /Ob1 /D NDEBUG" CACHE STRING "Flags used by the compiler during release with debug info builds" FORCE)
@@ -56,6 +77,7 @@ OPTION(XTRKCAD_USE_GETTEXT "Use gettext for internationalization" ${XTRKCAD_USE_
OPTION(XTRKCAD_USE_DOXYGEN "Generate internals documentation using doxygen" ${XTRKCAD_USE_DOXYGEN_DEFAULT})
if(UNIX AND NOT APPLE)
option(XTRKCAD_USE_BROWSER "Show help in default browser" ${XTRKCAD_USE_BROWSER_DEFAULT})
+ option(XTRKCAD_PACKAGE_GA_RELEASE "Package for a Beta (OFF/Default) or GA (ON) release" ${XTRKCAD_PACKAGE_GA_RELEASE_DEFAULT})
endif()
if(APPLE)
@@ -106,12 +128,15 @@ find_package(Pandoc)
INCLUDE (CheckIncludeFiles)
CHECK_INCLUDE_FILES (malloc.h HAVE_MALLOC_H)
+if(HAVE_MALLOC_H)
+ add_definitions(-DHAVE_MALLOC_H)
+endif(HAVE_MALLOC_H)
# Setup some global options for installation ...
SET(XTRKCAD_MAJOR_VERSION "5")
SET(XTRKCAD_MINOR_VERSION "2")
-SET(XTRKCAD_RELEASE_VERSION "0")
-SET(XTRKCAD_VERSION_MODIFIER "Beta2.1")
+SET(XTRKCAD_RELEASE_VERSION "2")
+SET(XTRKCAD_VERSION_MODIFIER "GA")
SET(XTRKCAD_VERSION "${XTRKCAD_MAJOR_VERSION}.${XTRKCAD_MINOR_VERSION}.${XTRKCAD_RELEASE_VERSION}${XTRKCAD_VERSION_MODIFIER}")
IF(WIN32)
diff --git a/app/bin/CMakeLists.txt b/app/bin/CMakeLists.txt
index 2dea1bc..8d28205 100644
--- a/app/bin/CMakeLists.txt
+++ b/app/bin/CMakeLists.txt
@@ -1,6 +1,7 @@
include( CheckSymbolExists )
ADD_EXECUTABLE(cnvdsgn cnvdsgn.c utility.c)
+
IF(NOT WIN32)
TARGET_LINK_LIBRARIES(cnvdsgn m)
ENDIF(NOT WIN32)
@@ -53,15 +54,24 @@ ADD_CUSTOM_COMMAND(
COMMAND genhelp ${GENHELP_OPTS} ${help_SOURCE_DIR}/genhelp.json ${CMAKE_CURRENT_BINARY_DIR}/bllnhlp.c
)
+ADD_EXECUTABLE(xtrkcad WIN32
+ misc.c
+ xtrkcad.rc
+)
+
SET(SOURCES
${LIN_SOURCES}
appdefaults.c
archive.c
+ archive.h
bllnhlp.c
cbezier.c
+ cbezier.h
cblock.c
ccornu.c
+ ccornu.h
ccurve.c
+ ccurve.h
ccontrol.c
cdraw.c
celev.c
@@ -69,21 +79,27 @@ SET(SOURCES
chndldto.c
chotbar.c
cjoin.c
+ cjoin.h
cmisc.c
cmodify.c
cnote.c
+ common.h
+ common-ui.h
compound.c
+ compound.h
cparalle.c
cprint.c
cprofile.c
cpull.c
cruler.c
cselect.c
+ cselect.h
csensor.c
csnap.c
csplit.c
csignal.c
cstraigh.c
+ cstraigh.h
cstruct.c
cswitchmotor.c
ctext.c
@@ -93,6 +109,7 @@ SET(SOURCES
cturntbl.c
cundo.c
custom.c
+ custom.h
dbench.c
dbitmap.c
dcar.c
@@ -107,8 +124,10 @@ SET(SOURCES
dpricels.c
dprmfile.c
draw.c
+ draw.h
drawgeom.c
dxfformat.c
+ dxfformat.h
dxfoutput.c
elev.c
file2uri.c
@@ -117,10 +136,14 @@ SET(SOURCES
filenoteui.c
i18n.c
layout.c
+ layout.h
+ levenshtein.c
linknoteui.c
lprintf.c
macro.c
manifest.c
+ misc.c
+ misc.h
misc2.c
param.c
paramfile.c
@@ -138,10 +161,13 @@ SET(SOURCES
tease.c
textnoteui.c
track.c
+ track.h
+ trackx.h
trknote.c
trkseg.c
tstraigh.c
utility.c
+ utility.h
validator.c
cJSON.c
archive.h
@@ -162,10 +188,38 @@ endif(WIN32)
set (SOURCES
${SOURCES}
include/dirent.h
+ include/levenshtein.h
include/paramfile.h
include/paramfilelist.h
+ include/partcatalog.h
+ include/stringxtc.h
+ include/utlist.h
)
+if(XTRKCAD_CREATE_SVG)
+ set (SOURCES
+ ${SOURCES}
+ svgformat.c
+ svgoutput.c
+ )
+ include_directories(${MINIXML_INCLUDE_PATH})
+ if(WIN32)
+
+ add_custom_command(
+ TARGET xtrkcad POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy
+ ${MINIXML_SHAREDLIB}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ )
+
+ # add dll to install package
+ install(FILES ${MINIXML_SHAREDLIB}
+ DESTINATION ${XTRKCAD_BIN_INSTALL_DIR}
+ )
+ endif(WIN32)
+
+endif(XTRKCAD_CREATE_SVG)
+
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
INCLUDE_DIRECTORIES(${XTrkCAD_BINARY_DIR})
INCLUDE_DIRECTORIES(${help_BINARY_DIR})
@@ -183,15 +237,28 @@ ADD_LIBRARY(xtrkcad-lib ${SOURCES})
# This ensures that messages.h has been generated before we build xtrkcad-lib
ADD_DEPENDENCIES(xtrkcad-lib Help)
-ADD_EXECUTABLE(xtrkcad WIN32
- misc.c
- xtrkcad.rc
- )
TARGET_LINK_LIBRARIES(xtrkcad xtrkcad-lib)
TARGET_LINK_LIBRARIES(xtrkcad xtrkcad-wlib)
TARGET_LINK_LIBRARIES(xtrkcad xtrkcad-cornu)
TARGET_LINK_LIBRARIES(xtrkcad dynstring)
+if(XTRKCAD_CREATE_SVG)
+IF(UNIX)
+ if (NOT APPLE)
+ target_link_libraries(xtrkcad ${MINIXML_STATIC_LIBRARY})
+ target_link_libraries(xtrkcad "pthread")
+ else(NOT APPLE)
+ target_link_libraries(xtrkcad ${MINIXML_LIBRARY})
+ endif(NOT APPLE)
+ELSE(UNIX)
+ target_link_libraries(xtrkcad ${MINIXML_STATIC_LIBRARY})
+ENDIF(UNIX)
+endif(XTRKCAD_CREATE_SVG)
+
+IF(UNIX AND NOT APPLE)
+target_link_libraries(xtrkcad ${LIBZIP_LIBRARY} ${LIBZIP_LIBRARIES} ${ZLIB_LIBRARY})
+ELSE(UNIX AND NOT APPLE)
target_link_libraries(xtrkcad ${LIBZIP_LIBRARY} ${LIBZIP_LIBRARIES})
+ENDIF(UNIX AND NOT APPLE)
ADD_EXECUTABLE(mkturnout
${LIN_SOURCES}
@@ -238,13 +305,20 @@ ELSE(NOT WIN32)
)
# add dll to install package
- install(FILES
- ${LIBZIP_SHAREDLIB}
- DESTINATION ${XTRKCAD_BIN_INSTALL_DIR}
+ INSTALL(
+ FILES
+ ${LIBZIP_SHAREDLIB}
+ DESTINATION ${XTRKCAD_BIN_INSTALL_DIR}
)
- install(FILES
- ${ZLIB_SHAREDLIB}
- DESTINATION ${XTRKCAD_BIN_INSTALL_DIR}
+ INSTALL(FILES
+ ${ZLIB_SHAREDLIB}
+ DESTINATION ${XTRKCAD_BIN_INSTALL_DIR}
+ )
+
+ # Copy program PDB file
+ INSTALL(
+ FILES $<TARGET_PDB_FILE:xtrkcad>
+ DESTINATION ${XTRKCAD_BIN_INSTALL_DIR} OPTIONAL
)
ENDIF(NOT WIN32)
diff --git a/app/bin/acclkeys.h b/app/bin/acclkeys.h
index 4dd80fc..d8c59d3 100644
--- a/app/bin/acclkeys.h
+++ b/app/bin/acclkeys.h
@@ -55,6 +55,8 @@
#define ACCL_CONNECT (WCTL+WSHIFT+'j')
#define ACCL_HELIX (WCTL+WSHIFT+'h')
#define ACCL_SPLIT (WCTL+WSHIFT+'s')
+#define ACCL_SPLITDRAW (0)
+#define ACCL_TRIMDRAW (0)
#define ACCL_ELEVATION (WCTL+WSHIFT+'e')
#define ACCL_PROFILE (WCTL+WSHIFT+'f')
#define ACCL_DELETE (WCTL+'d')
@@ -89,6 +91,7 @@
#define ACCL_ABOVE (WCTL+WSHIFT+'b')
#define ACCL_BELOW (WCTL+WSHIFT+'w')
#define ACCL_RULER (0)
+#define ACCL_ANGLE (0)
/* fileM */
#define ACCL_NEW (WCTL+'n')
diff --git a/app/bin/appdefaults.c b/app/bin/appdefaults.c
index 55a2201..e5cff8b 100644
--- a/app/bin/appdefaults.c
+++ b/app/bin/appdefaults.c
@@ -20,22 +20,12 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <locale.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <string.h>
#include <wchar.h>
-#ifdef WINDOWS
-#include <Windows.h>
-#include <malloc.h>
-#endif
-
#include "common.h"
#include "custom.h"
#include "fileio.h"
#include "paths.h"
-#include "wlib.h"
enum defaultTypes {
INTEGERCONSTANT,
@@ -114,7 +104,7 @@ struct appDefault xtcDefaults[] = {
{ "misc.scale", 0, STRINGFUNCTION, { .stringFunction = GetLocalPopularScale}}, /**< the (probably) most popular scale for a region */
};
-#define DEFAULTCOUNT (sizeof(xtcDefaults)/sizeof(xtcDefaults[0]))
+#define DEFAULTCOUNT COUNT(xtcDefaults)
static long bFirstRun; /**< TRUE if appl is run the first time */
@@ -203,6 +193,7 @@ InitializeRegionCode(void)
{
strcpy(regionCode, "US");
+// TODO Move this to wlib
#ifdef WINDOWS
{
LCID lcid;
@@ -301,7 +292,7 @@ static char *
GetParamFullPath(struct appDefault *ptrDefault, void *additionalData)
{
char *str;
- MakeFullpath(&str, libDir, PARAM_SUBDIR, (char*)additionalData, (void *)0);
+ MakeFullpath(&str, libDir, PARAM_SUBDIR, (char*)additionalData, I2VP(0));
return str;
}
diff --git a/app/bin/archive.c b/app/bin/archive.c
index 4e82bd3..430db49 100644
--- a/app/bin/archive.c
+++ b/app/bin/archive.c
@@ -20,42 +20,18 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <errno.h>
#include <fcntl.h>
-#include <string.h>
-#include <stdint.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
#include <zip.h>
-#ifdef WINDOWS
- #include "include/dirent.h"
- #include <direct.h>
- #include <io.h>
- #include <process.h>
- #define unlink(a) _unlink((a))
- #define rmdir(a) _rmdir((a))
- #define open(name, flag, mode) _open((name), (flag), (mode))
- #define write(file, buffer, count) _write((file),(buffer), (count))
- #define close(file) _close((file))
- #define getpid() _getpid()
-#else
- #include <dirent.h>
- #include <unistd.h>
-#endif
-
-#include <wlib.h>
#include "archive.h"
#include "directory.h"
#include "dynstring.h"
-#include "i18n.h"
-#include "messages.h"
#include "misc.h"
#include "misc2.h"
#include "paths.h"
#include "include/utf8convert.h"
+#include "common-ui.h"
int log_zip = 0;
@@ -63,7 +39,7 @@ int log_zip = 0;
//NativeToUtf8(const char *nativeString)
//{
//
-//#ifdef WINDOWS
+//#ifdef XINDOWS
//
// int cnt = 2 * (strlen(nativeString) + 1);
// char *tempBuffer = MyMalloc( cnt );
@@ -227,11 +203,11 @@ BOOL_T AddDirectoryToArchive(
} else {
char *archPathUtf8 = MyStrdup(arch_path);
char *fullPathUtf8 = MyStrdup(full_path);
-#ifdef WINDOWS
+#ifdef UTFCONVERT
archPathUtf8 = Convert2UTF8(archPathUtf8);
fullPathUtf8 = Convert2UTF8(fullPathUtf8);
ConvertPathForward(archPathUtf8);
-#endif // WINDOWS
+#endif // UTFCONVERT
zt = zip_source_file(za, fullPathUtf8, 0, -1);
if (zip_file_add(za, archPathUtf8, zt, ZIP_FL_ENC_UTF_8) == -1) {
zip_error_t *ziperr = zip_get_error(za);
@@ -283,9 +259,9 @@ BOOL_T CreateArchive(
MakeFullpath(&archive_path, workingDir, archive_name, NULL);
archiveUtf8 = MyStrdup(archive_path);
-#ifdef WINDOWS
+#ifdef UTFCONVERT
archiveUtf8 = Convert2UTF8(archiveUtf8);
-#endif // WINDOWS
+#endif // UTFCONVERT
MyFree(archive);
@@ -355,9 +331,9 @@ BOOL_T UnpackArchiveFor(
long long sum;
char *destBuffer = MyStrdup(pathName);
-#ifdef WINDOWS
+#ifdef UTFCONVERT
destBuffer = Convert2UTF8(destBuffer);
-#endif // WINDOWS
+#endif // UTFCONVERT
if ((za = zip_open(destBuffer, 0, &err)) == NULL) {
@@ -408,9 +384,9 @@ BOOL_T UnpackArchiveFor(
}
}
MakeFullpath(&dirName, tempDir, &sb.name[0], NULL);
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem(dirName);
-#endif // WINDOWS
+#endif // UTFCONVERT
fd = fopen(dirName, "wb");
if (!fd) {
NoticeMessage(MSG_ZIP_FILE_OPEN_FAIL, _("Continue"), NULL, dirName,
diff --git a/app/bin/archive.h b/app/bin/archive.h
index cfbb642..7977bc6 100644
--- a/app/bin/archive.h
+++ b/app/bin/archive.h
@@ -1,12 +1,12 @@
#ifndef HAVE_ARCHIVE_H
#define HAVE_ARCHIVE_H
-#include <zip.h>
#include "common.h"
enum ArchiveOps { ARCHIVE_READ, ARCHIVE_WRITE }; // has to be contiguous, see CleanupFiles()!
extern int log_zip;
extern const char *workingDir;
+struct zip;
char *GetZipDirectoryName(enum ArchiveOps op);
BOOL_T AddDirectoryToArchive(struct zip * za, const char * dir_path, const char * prefix);
diff --git a/app/bin/bdf2xtp.c b/app/bin/bdf2xtp.c
index c979aa3..f19ceb8 100644
--- a/app/bin/bdf2xtp.c
+++ b/app/bin/bdf2xtp.c
@@ -1096,7 +1096,7 @@ void parse( void )
inch++;
continue;
}
- for ( tp=tokens; tp<&tokens[ sizeof tokens / sizeof *tp ]; tp++ ){
+ for ( tp=tokens; tp<&tokens[COUNT( tokens )]; tp++ ){
tlen = strlen(tp->name);
if ( strncasecmp( cp, tp->name, tlen) != 0 )
continue;
diff --git a/app/bin/bitmaps/16pix/bridge.png b/app/bin/bitmaps/16pix/bridge.png
new file mode 100644
index 0000000..ebcde0a
--- /dev/null
+++ b/app/bin/bitmaps/16pix/bridge.png
Binary files differ
diff --git a/app/bin/bitmaps/16pix/circle-center.png b/app/bin/bitmaps/16pix/circle-center.png
new file mode 100644
index 0000000..062560d
--- /dev/null
+++ b/app/bin/bitmaps/16pix/circle-center.png
Binary files differ
diff --git a/app/bin/bitmaps/16pix/circle-tangent.png b/app/bin/bitmaps/16pix/circle-tangent.png
new file mode 100644
index 0000000..0dc831b
--- /dev/null
+++ b/app/bin/bitmaps/16pix/circle-tangent.png
Binary files differ
diff --git a/app/bin/bitmaps/16pix/circle.png b/app/bin/bitmaps/16pix/circle.png
new file mode 100644
index 0000000..eaecd31
--- /dev/null
+++ b/app/bin/bitmaps/16pix/circle.png
Binary files differ
diff --git a/app/bin/bitmaps/16pix/curved-chord.png b/app/bin/bitmaps/16pix/curved-chord.png
new file mode 100644
index 0000000..0068d1a
--- /dev/null
+++ b/app/bin/bitmaps/16pix/curved-chord.png
Binary files differ
diff --git a/app/bin/bitmaps/16pix/curved-end.png b/app/bin/bitmaps/16pix/curved-end.png
new file mode 100644
index 0000000..49dcee3
--- /dev/null
+++ b/app/bin/bitmaps/16pix/curved-end.png
Binary files differ
diff --git a/app/bin/bitmaps/16pix/curved-middle.png b/app/bin/bitmaps/16pix/curved-middle.png
new file mode 100644
index 0000000..d23a6a2
--- /dev/null
+++ b/app/bin/bitmaps/16pix/curved-middle.png
Binary files differ
diff --git a/app/bin/bitmaps/16pix/curved-tangent.png b/app/bin/bitmaps/16pix/curved-tangent.png
new file mode 100644
index 0000000..6d8fcfe
--- /dev/null
+++ b/app/bin/bitmaps/16pix/curved-tangent.png
Binary files differ
diff --git a/app/bin/bitmaps/16pix/description.png b/app/bin/bitmaps/16pix/description.png
new file mode 100644
index 0000000..9bd679c
--- /dev/null
+++ b/app/bin/bitmaps/16pix/description.png
Binary files differ
diff --git a/app/bin/bitmaps/16pix/elevation.png b/app/bin/bitmaps/16pix/elevation.png
new file mode 100644
index 0000000..9121d56
--- /dev/null
+++ b/app/bin/bitmaps/16pix/elevation.png
Binary files differ
diff --git a/app/bin/bitmaps/16pix/exit.png b/app/bin/bitmaps/16pix/exit.png
new file mode 100644
index 0000000..ba227c3
--- /dev/null
+++ b/app/bin/bitmaps/16pix/exit.png
Binary files differ
diff --git a/app/bin/bitmaps/16pix/palette.png b/app/bin/bitmaps/16pix/palette.png
new file mode 100644
index 0000000..efcf3d3
--- /dev/null
+++ b/app/bin/bitmaps/16pix/palette.png
Binary files differ
diff --git a/app/bin/bitmaps/16pix/pan-zoom.png b/app/bin/bitmaps/16pix/pan-zoom.png
new file mode 100644
index 0000000..04d18f7
--- /dev/null
+++ b/app/bin/bitmaps/16pix/pan-zoom.png
Binary files differ
diff --git a/app/bin/bitmaps/16pix/select.png b/app/bin/bitmaps/16pix/select.png
new file mode 100644
index 0000000..39605d1
--- /dev/null
+++ b/app/bin/bitmaps/16pix/select.png
Binary files differ
diff --git a/app/bin/bitmaps/16pix/snap-curs.png b/app/bin/bitmaps/16pix/snap-curs.png
new file mode 100644
index 0000000..acf8f66
--- /dev/null
+++ b/app/bin/bitmaps/16pix/snap-curs.png
Binary files differ
diff --git a/app/bin/bitmaps/16pix/snap-grid.png b/app/bin/bitmaps/16pix/snap-grid.png
new file mode 100644
index 0000000..381b451
--- /dev/null
+++ b/app/bin/bitmaps/16pix/snap-grid.png
Binary files differ
diff --git a/app/bin/bitmaps/24pix/description.png b/app/bin/bitmaps/24pix/description.png
new file mode 100644
index 0000000..e273ed5
--- /dev/null
+++ b/app/bin/bitmaps/24pix/description.png
Binary files differ
diff --git a/app/bin/bitmaps/24pix/exit.png b/app/bin/bitmaps/24pix/exit.png
new file mode 100644
index 0000000..d3ebf2f
--- /dev/null
+++ b/app/bin/bitmaps/24pix/exit.png
Binary files differ
diff --git a/app/bin/bitmaps/24pix/pan-zoom.png b/app/bin/bitmaps/24pix/pan-zoom.png
new file mode 100644
index 0000000..67ab631
--- /dev/null
+++ b/app/bin/bitmaps/24pix/pan-zoom.png
Binary files differ
diff --git a/app/bin/bitmaps/24pix/snap-curs.png b/app/bin/bitmaps/24pix/snap-curs.png
new file mode 100644
index 0000000..15154a2
--- /dev/null
+++ b/app/bin/bitmaps/24pix/snap-curs.png
Binary files differ
diff --git a/app/bin/bitmaps/24pix/snap-grid.png b/app/bin/bitmaps/24pix/snap-grid.png
new file mode 100644
index 0000000..3073985
--- /dev/null
+++ b/app/bin/bitmaps/24pix/snap-grid.png
Binary files differ
diff --git a/app/bin/bitmaps/Info.xpm b/app/bin/bitmaps/Info.xpm
new file mode 100644
index 0000000..c4fa897
--- /dev/null
+++ b/app/bin/bitmaps/Info.xpm
@@ -0,0 +1,116 @@
+static char *Info_x16[] = {
+ "16 16 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066FF",
+ "2 c #3366FF",
+ "3 c #6666FF",
+ "4 c #6699FF",
+ "5 c #9999FF",
+ "6 c #99CCFF",
+ "7 c #CCCCFF",
+ "8 c #CCFFFF",
+ "9 c #FFFFFF",
+ " ",
+ " 122221 ",
+ " 25799763 ",
+ " 3899999994 ",
+ " 289994299993 ",
+ " 15999922999973 ",
+ " 27999912999992 ",
+ " 29999942999992 ",
+ " 29999954999992 ",
+ " 27999976999992 ",
+ " 26999999999972 ",
+ " 299994299994 ",
+ " 149997699952 ",
+ " 2379999833 ",
+ " 223312 ",
+ " "};
+
+static char *Info_x24[] = {
+ "24 24 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066FF",
+ "2 c #3366FF",
+ "3 c #6666FF",
+ "4 c #6699FF",
+ "5 c #9999FF",
+ "6 c #99CCFF",
+ "7 c #CCCCFF",
+ "8 c #CCFFFF",
+ "9 c #FFFFFF",
+ " ",
+ " 111111 ",
+ " 1111111111 ",
+ " 11115777762111 ",
+ " 1114999999995111 ",
+ " 11799994499997211 ",
+ " 116999971179999811 ",
+ " 11499999611599999511 ",
+ " 119999995114999999211 ",
+ " 1159999996114999999611 ",
+ " 1179999996114999999711 ",
+ " 1179999997115999999911 ",
+ " 1179999999117999999911 ",
+ " 1179999999117999999811 ",
+ " 1159999999529999999711 ",
+ " 129999999779999999511 ",
+ " 11599999711599999711 ",
+ " 1179999211199999211 ",
+ " 114999971149999511 ",
+ " 1127999779997311 ",
+ " 11157999975111 ",
+ " 111111111111 ",
+ " 11111111 ",
+ " "};
+
+static char *Info_x32[] = {
+ "32 32 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066FF",
+ "2 c #3366FF",
+ "3 c #6666FF",
+ "4 c #6699FF",
+ "5 c #9999FF",
+ "6 c #99CCFF",
+ "7 c #CCCCFF",
+ "8 c #CCFFFF",
+ "9 c #FFFFFF",
+ " ",
+ " 11 ",
+ " 111111111111 ",
+ " 1111111111111111 ",
+ " 111111577775211111 ",
+ " 11114799999999751111 ",
+ " 1111799999779999972111 ",
+ " 111279999971179999994111 ",
+ " 1117999999411299999992111 ",
+ " 11179999999111199999997111 ",
+ " 113999999971111799999994111 ",
+ " 1117999999971111799999997111 ",
+ " 1119999999991111799999999411 ",
+ " 11499999999911117999999996111 ",
+ " 11599999999911117999999997111 ",
+ " 111799999999931119999999997111 ",
+ " 11799999999951119999999999111 ",
+ " 11699999999971149999999997111 ",
+ " 11599999999971159999999997111 ",
+ " 1129999999999317999999999511 ",
+ " 1117999999999979999999999111 ",
+ " 1114999999995114999999997111 ",
+ " 11179999997111179999999211 ",
+ " 11139999997111159999995111 ",
+ " 111499999911117999996111 ",
+ " 1114999997557999995111 ",
+ " 111279999999999731111 ",
+ " 111126799998731111 ",
+ " 1111111111111111 ",
+ " 111111111111 ",
+ " 11111111 ",
+ " "};
+
+static char **Info_xpm[3] = { Info_x16, Info_x24, Info_x32 };
+
diff --git a/app/bin/bitmaps/SVG/Info.svg b/app/bin/bitmaps/SVG/Info.svg
new file mode 100644
index 0000000..979601d
--- /dev/null
+++ b/app/bin/bitmaps/SVG/Info.svg
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 24 24"
+ style="enable-background:new 0 0 24 24;"
+ xml:space="preserve"
+ sodipodi:docname="Info.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata15"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs13" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1225"
+ inkscape:window-height="900"
+ id="namedview11"
+ showgrid="false"
+ inkscape:zoom="18.981108"
+ inkscape:cx="12.697376"
+ inkscape:cy="12"
+ inkscape:window-x="509"
+ inkscape:window-y="7"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:#FFFFFF;stroke:#005CFE;stroke-miterlimit:10;}
+ .st1{fill:#00BEFC;stroke:#005CFE;stroke-width:2;stroke-miterlimit:10;}
+ .st2{fill:#00AFFD;stroke:#005CFE;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<ellipse
+ transform="matrix(0.03517289,-0.99938124,0.99934733,0.03612357,0,0)"
+ class="st0"
+ cx="-11.55869"
+ cy="12.414656"
+ id="ellipse4"
+ style="stroke-width:2.09873;stroke-miterlimit:10;stroke-dasharray:none"
+ rx="9.9303188"
+ ry="9.7989435" />
+<path
+ class="st1"
+ d="m 13,17.344792 c 0,0.468616 -0.4,0.937232 -1,0.937232 -0.5,0 -1,-0.374893 -1,-0.937232 0,-0.562339 0.4,-0.937232 1,-0.937232 0.5,0.09372 1,0.468616 1,0.937232 z"
+ id="path6" />
+<path
+ class="st2"
+ d="m 12.01408,14.088782 c 0,0 -0.480201,-1.868907 -0.761396,-3.822605 -0.529551,-3.6792392 0.661396,-4.5482251 0.661396,-4.5482251 0,0 1.226159,0.9594783 0.796656,4.5532561 -0.255236,2.135635 -0.696656,3.817574 -0.696656,3.817574 z"
+ id="path8"
+ sodipodi:nodetypes="cscsc"
+ style="stroke-linejoin:round" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/NotUsed/ease-broad.svg b/app/bin/bitmaps/SVG/NotUsed/ease-broad.svg
new file mode 100644
index 0000000..fadc6df
--- /dev/null
+++ b/app/bin/bitmaps/SVG/NotUsed/ease-broad.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 96 48"
+ style="enable-background:new 0 0 96 48;"
+ xml:space="preserve"
+ sodipodi:docname="ease-broad.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata15"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs13" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1555"
+ inkscape:window-height="828"
+ id="namedview11"
+ showgrid="false"
+ inkscape:zoom="7.6695312"
+ inkscape:cx="41.461112"
+ inkscape:cy="27.685221"
+ inkscape:window-x="166"
+ inkscape:window-y="170"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:#0090FC;stroke:#000000;stroke-width:0.5;stroke-miterlimit:10;}
+ .st1{font-family:'MyriadPro-Regular';}
+ .st2{font-size:14px;}
+</style>
+<text
+ transform="scale(1.0348781,0.96629742)"
+ id="text8"
+ x="-0.08601547"
+ y="19.259062"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.9881px;font-family:Calibri;-inkscape-font-specification:'Calibri, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:1.03629"><tspan
+ x="-0.08601547"
+ y="19.259062"
+ class="st0 st1 st2"
+ id="tspan4"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.9881px;font-family:Calibri;-inkscape-font-specification:'Calibri, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Easement </tspan><tspan
+ x="16.575085"
+ y="43.812256"
+ class="st0 st1 st2"
+ id="tspan6"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.9881px;font-family:Calibri;-inkscape-font-specification:'Calibri, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Broad</tspan></text>
+</svg>
diff --git a/app/bin/bitmaps/SVG/NotUsed/ease-cornu.svg b/app/bin/bitmaps/SVG/NotUsed/ease-cornu.svg
new file mode 100644
index 0000000..df906a9
--- /dev/null
+++ b/app/bin/bitmaps/SVG/NotUsed/ease-cornu.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 96 48"
+ style="enable-background:new 0 0 96 48;"
+ xml:space="preserve"
+ sodipodi:docname="ease-cornu.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata876"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs874" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1398"
+ inkscape:window-height="732"
+ id="namedview872"
+ showgrid="false"
+ inkscape:zoom="3.8254353"
+ inkscape:cx="40.172441"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style859">
+ .st0{fill:none;stroke:#F7931E;stroke-miterlimit:10;}
+ .st1{fill:#0090FC;stroke:#000000;stroke-width:0.5;stroke-miterlimit:10;}
+ .st2{font-family:'MyriadPro-Regular';}
+ .st3{font-size:14px;}
+ .st4{fill:none;stroke:#000000;stroke-width:0.5;stroke-miterlimit:10;}
+</style>
+<path
+ class="st0"
+ d="M13.2,28.5c-0.8,0.4-1.1,1.3-0.7,2.1c0.5,1,1.7,1.4,2.7,0.9c1.2-0.6,1.7-2.1,1.1-3.3c-0.8-1.5-2.6-2.1-4.2-1.4 c-1.9,1-2.7,3.3-1.7,5.2c1.2,2.4,4.1,3.3,6.5,2.1c3-1.5,4.2-5.1,2.7-8.1c-1.9-3.7-6.4-5.2-10.1-3.3c-4.7,2.3-6.5,9-4.2,13.7 c2.9,5.8,10.6,5.4,15.9,4.2c4.1-1.1,22.6-6.1,22.6-6.1l8.1-2.4c0,0,18-5.1,22.1-6.4c5.2-1.5,12.9-1.3,16.1,4.4 c2.6,4.5,1,10.3-3.5,12.9c-3.6,2.1-8.2,0.8-10.3-2.8c-1.7-2.9-0.6-6.6,2.3-8.2c2.3-1.3,5.3-0.5,6.6,1.8c1.1,1.9,0.4,4.2-1.4,5.3 c-1.5,0.8-3.4,0.3-4.2-1.2c-0.7-1.2-0.3-2.7,0.9-3.4c0.9-0.5,2.2-0.2,2.7,0.7c0.4,0.8,0.2,1.7-0.6,2.2"
+ id="path861" />
+
+<path
+ class="st4"
+ d="M73.8,28.6"
+ id="path869" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/NotUsed/ease-gt-broad.svg b/app/bin/bitmaps/SVG/NotUsed/ease-gt-broad.svg
new file mode 100644
index 0000000..9b2f26d
--- /dev/null
+++ b/app/bin/bitmaps/SVG/NotUsed/ease-gt-broad.svg
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 96 48"
+ style="enable-background:new 0 0 96 48;"
+ xml:space="preserve"
+ sodipodi:docname="ease-gt-broad.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata15"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs13" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1561"
+ inkscape:window-height="828"
+ id="namedview11"
+ showgrid="false"
+ inkscape:zoom="7.6695312"
+ inkscape:cx="46.310737"
+ inkscape:cy="32.900664"
+ inkscape:window-x="219"
+ inkscape:window-y="132"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:#0090FC;stroke:#000000;stroke-width:0.5;stroke-miterlimit:10;}
+ .st1{font-family:'MyriadPro-Regular';}
+ .st2{font-size:14px;}
+</style>
+
+<text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;line-height:1.25;font-family:Tahoma;-inkscape-font-specification:'Tahoma, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
+ x="8.6054811"
+ y="42.636246"
+ id="text1429"><tspan
+ sodipodi:role="line"
+ id="tspan1427"
+ x="8.6054811"
+ y="42.636246">&gt; Broad</tspan></text><text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;line-height:1.25;font-family:Tahoma;-inkscape-font-specification:'Tahoma, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
+ x="1.434247"
+ y="20.079454"
+ id="text1433"><tspan
+ sodipodi:role="line"
+ id="tspan1431"
+ x="1.434247"
+ y="20.079454">Easement</tspan></text></svg>
diff --git a/app/bin/bitmaps/SVG/NotUsed/ease-gt-sharp.svg b/app/bin/bitmaps/SVG/NotUsed/ease-gt-sharp.svg
new file mode 100644
index 0000000..77031f6
--- /dev/null
+++ b/app/bin/bitmaps/SVG/NotUsed/ease-gt-sharp.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 96 48"
+ style="enable-background:new 0 0 96 48;"
+ xml:space="preserve"
+ sodipodi:docname="Easement-Sharp.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata2655"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs2653" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1540"
+ inkscape:window-height="857"
+ id="namedview2651"
+ showgrid="false"
+ inkscape:zoom="8.2200207"
+ inkscape:cx="42.464734"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2642">
+ .st0{fill:#0090FC;stroke:#000000;stroke-width:0.5;stroke-miterlimit:10;}
+ .st1{font-family:'MyriadPro-Regular';}
+ .st2{font-size:14px;}
+</style>
+<text
+ transform="scale(1.1867603,0.84263014)"
+ id="text2648"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Calibri;-inkscape-font-specification:'Calibri, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:1.18676"
+ x="3.2132704"
+ y="23.310022"><tspan
+ x="3.2132704"
+ y="23.310022"
+ class="st0 st1 st2"
+ id="tspan2644"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Calibri;-inkscape-font-specification:'Calibri, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Easement </tspan><tspan
+ x="17.098368"
+ y="43.247597"
+ class="st0 st1 st2"
+ id="tspan2646"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Calibri;-inkscape-font-specification:'Calibri, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Sharp</tspan></text>
+</svg>
diff --git a/app/bin/bitmaps/SVG/NotUsed/ease-lt-broad.svg b/app/bin/bitmaps/SVG/NotUsed/ease-lt-broad.svg
new file mode 100644
index 0000000..3022616
--- /dev/null
+++ b/app/bin/bitmaps/SVG/NotUsed/ease-lt-broad.svg
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 96 48"
+ style="enable-background:new 0 0 96 48;"
+ xml:space="preserve"
+ sodipodi:docname="ease-lt-broad.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata15"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+ id="defs13" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1557"
+ inkscape:window-height="828"
+ id="namedview11"
+ showgrid="false"
+ inkscape:zoom="8.5185912"
+ inkscape:cx="47.999985"
+ inkscape:cy="23.061186"
+ inkscape:window-x="219"
+ inkscape:window-y="132"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:#0090FC;stroke:#000000;stroke-width:0.5;stroke-miterlimit:10;}
+ .st1{font-family:'MyriadPro-Regular';}
+ .st2{font-size:14px;}
+</style>
+
+<text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.4906px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke:none;stroke-width:1.09316;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ x="8.7710075"
+ y="16.856054"
+ id="text848"
+ transform="scale(0.91477909,1.0931601)"><tspan
+ sodipodi:role="line"
+ id="tspan846"
+ x="8.7710075"
+ y="16.856054"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:1.09316">Easement</tspan><tspan
+ sodipodi:role="line"
+ x="8.7710075"
+ y="38.719307"
+ id="tspan850"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:1.09316"> &lt; Broad</tspan></text></svg>
diff --git a/app/bin/bitmaps/SVG/NotUsed/ease-lt-sharp.svg b/app/bin/bitmaps/SVG/NotUsed/ease-lt-sharp.svg
new file mode 100644
index 0000000..77031f6
--- /dev/null
+++ b/app/bin/bitmaps/SVG/NotUsed/ease-lt-sharp.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 96 48"
+ style="enable-background:new 0 0 96 48;"
+ xml:space="preserve"
+ sodipodi:docname="Easement-Sharp.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata2655"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs2653" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1540"
+ inkscape:window-height="857"
+ id="namedview2651"
+ showgrid="false"
+ inkscape:zoom="8.2200207"
+ inkscape:cx="42.464734"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2642">
+ .st0{fill:#0090FC;stroke:#000000;stroke-width:0.5;stroke-miterlimit:10;}
+ .st1{font-family:'MyriadPro-Regular';}
+ .st2{font-size:14px;}
+</style>
+<text
+ transform="scale(1.1867603,0.84263014)"
+ id="text2648"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Calibri;-inkscape-font-specification:'Calibri, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:1.18676"
+ x="3.2132704"
+ y="23.310022"><tspan
+ x="3.2132704"
+ y="23.310022"
+ class="st0 st1 st2"
+ id="tspan2644"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Calibri;-inkscape-font-specification:'Calibri, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Easement </tspan><tspan
+ x="17.098368"
+ y="43.247597"
+ class="st0 st1 st2"
+ id="tspan2646"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Calibri;-inkscape-font-specification:'Calibri, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Sharp</tspan></text>
+</svg>
diff --git a/app/bin/bitmaps/SVG/NotUsed/ease-none.svg b/app/bin/bitmaps/SVG/NotUsed/ease-none.svg
new file mode 100644
index 0000000..75fa776
--- /dev/null
+++ b/app/bin/bitmaps/SVG/NotUsed/ease-none.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 96 48"
+ style="enable-background:new 0 0 96 48;"
+ xml:space="preserve"
+ sodipodi:docname="Easement-None.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata1473"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1471" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1600"
+ inkscape:window-height="784"
+ id="namedview1469"
+ showgrid="false"
+ inkscape:zoom="8.2200207"
+ inkscape:cx="48"
+ inkscape:cy="27.685221"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style1460">
+ .st0{fill:#0090FC;stroke:#000000;stroke-width:0.5;stroke-miterlimit:10;}
+ .st1{font-family:'MyriadPro-Regular';}
+ .st2{font-size:14px;}
+</style>
+<text
+ transform="scale(1.1867603,0.84263015)"
+ id="text1466"
+ x="4.3408761"
+ y="24.176271"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:Arial;-inkscape-font-specification:Arial;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:1.18676"><tspan
+ x="4.3408761"
+ y="24.176271"
+ class="st0 st1 st2"
+ id="tspan1462"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:Arial;-inkscape-font-specification:Arial;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Easement </tspan><tspan
+ x="19.531406"
+ y="44.113842"
+ class="st0 st1 st2"
+ id="tspan1464"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:Arial;-inkscape-font-specification:Arial;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">None</tspan></text>
+</svg>
diff --git a/app/bin/bitmaps/SVG/NotUsed/ease-normal.svg b/app/bin/bitmaps/SVG/NotUsed/ease-normal.svg
new file mode 100644
index 0000000..3e94707
--- /dev/null
+++ b/app/bin/bitmaps/SVG/NotUsed/ease-normal.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 96 48"
+ style="enable-background:new 0 0 96 48;"
+ xml:space="preserve"
+ sodipodi:docname="Easement-Normal.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata2064"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs2062" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1538"
+ inkscape:window-height="857"
+ id="namedview2060"
+ showgrid="false"
+ inkscape:zoom="7.6695312"
+ inkscape:cx="42.464734"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2051">
+ .st0{fill:#0090FC;stroke:#000000;stroke-width:0.5;stroke-miterlimit:10;}
+ .st1{font-family:'MyriadPro-Regular';}
+ .st2{font-size:14px;}
+</style>
+<text
+ transform="scale(1.1867603,0.84263014)"
+ id="text2057"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Calibri;-inkscape-font-specification:'Calibri, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:1.18676"
+ x="2.7634513"
+ y="24.342073"><tspan
+ x="2.7634513"
+ y="24.342073"
+ class="st0 st1 st2"
+ id="tspan2053"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Calibri;-inkscape-font-specification:'Calibri, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Easement </tspan><tspan
+ x="11.070774"
+ y="44.27964"
+ class="st0 st1 st2"
+ id="tspan2055"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Calibri;-inkscape-font-specification:'Calibri, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Normal</tspan></text>
+</svg>
diff --git a/app/bin/bitmaps/SVG/NotUsed/ease-sharp.svg b/app/bin/bitmaps/SVG/NotUsed/ease-sharp.svg
new file mode 100644
index 0000000..77031f6
--- /dev/null
+++ b/app/bin/bitmaps/SVG/NotUsed/ease-sharp.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 96 48"
+ style="enable-background:new 0 0 96 48;"
+ xml:space="preserve"
+ sodipodi:docname="Easement-Sharp.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata2655"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs2653" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1540"
+ inkscape:window-height="857"
+ id="namedview2651"
+ showgrid="false"
+ inkscape:zoom="8.2200207"
+ inkscape:cx="42.464734"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2642">
+ .st0{fill:#0090FC;stroke:#000000;stroke-width:0.5;stroke-miterlimit:10;}
+ .st1{font-family:'MyriadPro-Regular';}
+ .st2{font-size:14px;}
+</style>
+<text
+ transform="scale(1.1867603,0.84263014)"
+ id="text2648"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Calibri;-inkscape-font-specification:'Calibri, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:1.18676"
+ x="3.2132704"
+ y="23.310022"><tspan
+ x="3.2132704"
+ y="23.310022"
+ class="st0 st1 st2"
+ id="tspan2644"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Calibri;-inkscape-font-specification:'Calibri, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Easement </tspan><tspan
+ x="17.098368"
+ y="43.247597"
+ class="st0 st1 st2"
+ id="tspan2646"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Calibri;-inkscape-font-specification:'Calibri, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Sharp</tspan></text>
+</svg>
diff --git a/app/bin/bitmaps/SVG/background.svg b/app/bin/bitmaps/SVG/background.svg
new file mode 100644
index 0000000..4856eac
--- /dev/null
+++ b/app/bin/bitmaps/SVG/background.svg
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="background.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata23"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs21" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1391"
+ inkscape:window-height="949"
+ id="namedview19"
+ showgrid="false"
+ inkscape:snap-nodes="false"
+ inkscape:zoom="10.897825"
+ inkscape:cx="23.903852"
+ inkscape:cy="23.995614"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:#FF8200;stroke:#000000;stroke-miterlimit:10;}
+ .st1{fill:#FF8200;}
+ .st2{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:10;}
+</style>
+
+
+
+
+
+
+
+<rect
+ style="fill:#c3a88f;fill-opacity:1;stroke:#000000;stroke-width:1.35834;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:10;stroke-dasharray:none"
+ id="rect838"
+ width="44.851173"
+ height="44.803501"
+ x="1.5744133"
+ y="1.5982494"
+ ry="0.17218179" /><path
+ style="fill:#dbba97;fill-opacity:1;stroke:none;stroke-width:1.52011px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 32.777013,18.174801 c -4.157865,0.903053 -7.696832,2.631511 -10.739238,5.022215 -4.639351,3.822421 -4.528826,7.116944 -6.136711,10.602452 -0.780291,3.794007 0.03684,6.389656 2.231529,7.951842 4.251402,1.505827 8.952585,1.886909 13.947067,1.534565 5.358135,-1.22642 6.897492,-4.362714 8.64718,-7.393815 1.69377,-4.003568 3.15454,-8.045977 2.649944,-12.416033 -2.302846,-2.690118 -5.339428,-4.829793 -10.599771,-5.301226 z"
+ id="path842"
+ sodipodi:nodetypes="cccccccc" /><path
+ style="fill:#56c3f5;fill-opacity:1;stroke:none;stroke-width:1.37152px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 2.1564527,25.837385 V 2.5176282 L 27.76259,2.3858789 l -1.803248,8.5637491 -7.693863,6.192253 -8.8960277,2.50325 -3.4862828,4.874752 z"
+ id="path844" /><path
+ style="fill:#e8d2bc;fill-opacity:1;stroke:none;stroke-width:1.3392px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 32.210606,25.083687 c -4.263344,2.518472 -5.063624,3.679963 -6.972564,5.275878 -1.696817,2.010047 -1.986404,3.38991 -1.442598,4.396562 1.270215,2.935761 3.010079,2.436341 4.568231,3.266019 2.510399,-0.677969 4.771475,-1.681583 6.010831,-4.019716 0.814054,-1.508562 1.38896,-3.391959 1.562814,-5.903956 -0.557331,-1.60132 -1.277486,-3.060858 -3.726714,-3.014787 z"
+ id="path846"
+ sodipodi:nodetypes="ccccccc" /><path
+ sodipodi:type="star"
+ style="fill:#2f8e42;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path848-6"
+ sodipodi:sides="8"
+ sodipodi:cx="-6.4232998"
+ sodipodi:cy="-6.5150614"
+ sodipodi:r1="2.8626306"
+ sodipodi:r2="3.6571999"
+ sodipodi:arg1="0.69302282"
+ sodipodi:arg2="1.085722"
+ inkscape:flatsided="false"
+ inkscape:rounded="0.2"
+ inkscape:randomized="0"
+ transform="matrix(1.5067484,0,0,1.4293975,17.484929,49.907452)"
+ d="m -4.2210255,-4.6862251 c -0.1905998,0.2295192 -0.2330922,1.2673614 -0.4970167,1.4064701 -0.2639243,0.1391086 -1.1441281,-0.4124009 -1.441197,-0.3848808 -0.297069,0.02752 -1.0609809,0.7313388 -1.3459684,0.6430807 -0.2849874,-0.088258 -0.5174093,-1.1006322 -0.7469284,-1.291232 -0.2295192,-0.1905998 -1.2673614,-0.2330922 -1.4064702,-0.4970167 -0.1391086,-0.2639243 0.412401,-1.1441281 0.3848808,-1.441197 -0.02752,-0.297069 -0.7313386,-1.0609809 -0.6430807,-1.3459684 0.088258,-0.2849874 1.1006323,-0.5174093 1.291232,-0.7469284 0.1905999,-0.2295192 0.2330922,-1.2673614 0.4970167,-1.4064701 0.2639243,-0.1391087 1.1441282,0.4124009 1.441197,0.3848807 0.297069,-0.02752 1.060981,-0.731339 1.3459685,-0.643081 0.2849873,0.088258 0.5174092,1.1006326 0.7469284,1.2912323 0.2295191,0.1905999 1.2673614,0.2330922 1.4064701,0.4970167 0.1391086,0.2639244 -0.4124009,1.1441282 -0.3848808,1.4411971 0.02752,0.297069 0.7313388,1.0609809 0.6430807,1.3459684 -0.088258,0.2849873 -1.1006323,0.5174093 -1.291232,0.7469284 z" /><path
+ sodipodi:type="star"
+ style="fill:#35a559;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path848-6-3"
+ sodipodi:sides="8"
+ sodipodi:cx="-6.4232998"
+ sodipodi:cy="-6.5150614"
+ sodipodi:r1="2.8626306"
+ sodipodi:r2="3.6571999"
+ sodipodi:arg1="0.69302282"
+ sodipodi:arg2="1.085722"
+ inkscape:flatsided="false"
+ inkscape:rounded="0.2"
+ inkscape:randomized="0"
+ transform="matrix(1.2663948,0,0,1.4473368,20.46062,35.996562)"
+ d="m -4.2210255,-4.6862251 c -0.1905998,0.2295192 -0.2330922,1.2673614 -0.4970167,1.4064701 -0.2639243,0.1391086 -1.1441281,-0.4124009 -1.441197,-0.3848808 -0.297069,0.02752 -1.0609809,0.7313388 -1.3459684,0.6430807 -0.2849874,-0.088258 -0.5174093,-1.1006322 -0.7469284,-1.291232 -0.2295192,-0.1905998 -1.2673614,-0.2330922 -1.4064702,-0.4970167 -0.1391086,-0.2639243 0.412401,-1.1441281 0.3848808,-1.441197 -0.02752,-0.297069 -0.7313386,-1.0609809 -0.6430807,-1.3459684 0.088258,-0.2849874 1.1006323,-0.5174093 1.291232,-0.7469284 0.1905999,-0.2295192 0.2330922,-1.2673614 0.4970167,-1.4064701 0.2639243,-0.1391087 1.1441282,0.4124009 1.441197,0.3848807 0.297069,-0.02752 1.060981,-0.731339 1.3459685,-0.643081 0.2849873,0.088258 0.5174092,1.1006326 0.7469284,1.2912323 0.2295191,0.1905999 1.2673614,0.2330922 1.4064701,0.4970167 0.1391086,0.2639244 -0.4124009,1.1441282 -0.3848808,1.4411971 0.02752,0.297069 0.7313388,1.0609809 0.6430807,1.3459684 -0.088258,0.2849873 -1.1006323,0.5174093 -1.291232,0.7469284 z" /><path
+ sodipodi:type="star"
+ style="fill:#2bbf4a;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path848-6-8"
+ sodipodi:sides="8"
+ sodipodi:cx="-6.4232998"
+ sodipodi:cy="-6.5150614"
+ sodipodi:r1="2.8626306"
+ sodipodi:r2="3.6571999"
+ sodipodi:arg1="0.69302282"
+ sodipodi:arg2="1.085722"
+ inkscape:flatsided="false"
+ inkscape:rounded="0.2"
+ inkscape:randomized="0"
+ transform="matrix(1.4380759,0,0,1.5370329,27.091592,46.182324)"
+ d="m -4.2210255,-4.6862251 c -0.1905998,0.2295192 -0.2330922,1.2673614 -0.4970167,1.4064701 -0.2639243,0.1391086 -1.1441281,-0.4124009 -1.441197,-0.3848808 -0.297069,0.02752 -1.0609809,0.7313388 -1.3459684,0.6430807 -0.2849874,-0.088258 -0.5174093,-1.1006322 -0.7469284,-1.291232 -0.2295192,-0.1905998 -1.2673614,-0.2330922 -1.4064702,-0.4970167 -0.1391086,-0.2639243 0.412401,-1.1441281 0.3848808,-1.441197 -0.02752,-0.297069 -0.7313386,-1.0609809 -0.6430807,-1.3459684 0.088258,-0.2849874 1.1006323,-0.5174093 1.291232,-0.7469284 0.1905999,-0.2295192 0.2330922,-1.2673614 0.4970167,-1.4064701 0.2639243,-0.1391087 1.1441282,0.4124009 1.441197,0.3848807 0.297069,-0.02752 1.060981,-0.731339 1.3459685,-0.643081 0.2849873,0.088258 0.5174092,1.1006326 0.7469284,1.2912323 0.2295191,0.1905999 1.2673614,0.2330922 1.4064701,0.4970167 0.1391086,0.2639244 -0.4124009,1.1441282 -0.3848808,1.4411971 0.02752,0.297069 0.7313388,1.0609809 0.6430807,1.3459684 -0.088258,0.2849873 -1.1006323,0.5174093 -1.291232,0.7469284 z" /><path
+ sodipodi:type="star"
+ style="opacity:1;fill:#2f9043;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path848-6-2"
+ sodipodi:sides="8"
+ sodipodi:cx="-6.4232998"
+ sodipodi:cy="-6.5150614"
+ sodipodi:r1="2.8626306"
+ sodipodi:r2="3.6571999"
+ sodipodi:arg1="0.69302282"
+ sodipodi:arg2="1.085722"
+ inkscape:flatsided="false"
+ inkscape:rounded="0.2"
+ inkscape:randomized="0"
+ transform="matrix(1.4552441,0,0,1.4473369,44.576027,19.07371)"
+ d="m -4.2210255,-4.6862251 c -0.1905998,0.2295192 -0.2330922,1.2673614 -0.4970167,1.4064701 -0.2639243,0.1391086 -1.1441281,-0.4124009 -1.441197,-0.3848808 -0.297069,0.02752 -1.0609809,0.7313388 -1.3459684,0.6430807 -0.2849874,-0.088258 -0.5174093,-1.1006322 -0.7469284,-1.291232 -0.2295192,-0.1905998 -1.2673614,-0.2330922 -1.4064702,-0.4970167 -0.1391086,-0.2639243 0.412401,-1.1441281 0.3848808,-1.441197 -0.02752,-0.297069 -0.7313386,-1.0609809 -0.6430807,-1.3459684 0.088258,-0.2849874 1.1006323,-0.5174093 1.291232,-0.7469284 0.1905999,-0.2295192 0.2330922,-1.2673614 0.4970167,-1.4064701 0.2639243,-0.1391087 1.1441282,0.4124009 1.441197,0.3848807 0.297069,-0.02752 1.060981,-0.731339 1.3459685,-0.643081 0.2849873,0.088258 0.5174092,1.1006326 0.7469284,1.2912323 0.2295191,0.1905999 1.2673614,0.2330922 1.4064701,0.4970167 0.1391086,0.2639244 -0.4124009,1.1441282 -0.3848808,1.4411971 0.02752,0.297069 0.7313388,1.0609809 0.6430807,1.3459684 -0.088258,0.2849873 -1.1006323,0.5174093 -1.291232,0.7469284 z" /><path
+ sodipodi:type="star"
+ style="fill:#2bbf4a;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path848-6-1"
+ sodipodi:sides="8"
+ sodipodi:cx="-6.4232998"
+ sodipodi:cy="-6.5150614"
+ sodipodi:r1="2.8626306"
+ sodipodi:r2="3.6571999"
+ sodipodi:arg1="0.69302282"
+ sodipodi:arg2="1.085722"
+ inkscape:flatsided="false"
+ inkscape:rounded="0.2"
+ inkscape:randomized="0"
+ transform="matrix(1.5067484,0,0,1.4293975,37.145326,26.702193)"
+ d="m -4.2210255,-4.6862251 c -0.1905998,0.2295192 -0.2330922,1.2673614 -0.4970167,1.4064701 -0.2639243,0.1391086 -1.1441281,-0.4124009 -1.441197,-0.3848808 -0.297069,0.02752 -1.0609809,0.7313388 -1.3459684,0.6430807 -0.2849874,-0.088258 -0.5174093,-1.1006322 -0.7469284,-1.291232 -0.2295192,-0.1905998 -1.2673614,-0.2330922 -1.4064702,-0.4970167 -0.1391086,-0.2639243 0.412401,-1.1441281 0.3848808,-1.441197 -0.02752,-0.297069 -0.7313386,-1.0609809 -0.6430807,-1.3459684 0.088258,-0.2849874 1.1006323,-0.5174093 1.291232,-0.7469284 0.1905999,-0.2295192 0.2330922,-1.2673614 0.4970167,-1.4064701 0.2639243,-0.1391087 1.1441282,0.4124009 1.441197,0.3848807 0.297069,-0.02752 1.060981,-0.731339 1.3459685,-0.643081 0.2849873,0.088258 0.5174092,1.1006326 0.7469284,1.2912323 0.2295191,0.1905999 1.2673614,0.2330922 1.4064701,0.4970167 0.1391086,0.2639244 -0.4124009,1.1441282 -0.3848808,1.4411971 0.02752,0.297069 0.7313388,1.0609809 0.6430807,1.3459684 -0.088258,0.2849873 -1.1006323,0.5174093 -1.291232,0.7469284 z" /></svg>
diff --git a/app/bin/bitmaps/SVG/benchwork.svg b/app/bin/bitmaps/SVG/benchwork.svg
new file mode 100644
index 0000000..1562ae3
--- /dev/null
+++ b/app/bin/bitmaps/SVG/benchwork.svg
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="benchwork.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata23"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs21" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1352"
+ inkscape:window-height="949"
+ id="namedview19"
+ showgrid="false"
+ inkscape:snap-nodes="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="23.879304"
+ inkscape:cy="24.478283"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:#FF8200;stroke:#000000;stroke-miterlimit:10;}
+ .st1{fill:#FF8200;}
+ .st2{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:10;}
+</style>
+<path
+ style="fill:#ff8200;fill-opacity:1;stroke:none;stroke-width:1.404px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 8.5262885,15.440457 28.146087,1.6811615 38.776901,1.7919341 19.758367,15.440457 H 8.5262885"
+ id="path2655"
+ sodipodi:nodetypes="ccccc" /><rect
+ x="8.526289"
+ y="15.440457"
+ class="st0"
+ width="11.232078"
+ height="30.888212"
+ id="rect4"
+ style="stroke-width:1.55649;stroke-miterlimit:10;stroke-dasharray:none" />
+<polygon
+ class="st1"
+ points="37,29.4 24,39.5 24,17.8 37,8.1 "
+ id="polygon6"
+ transform="matrix(1.4040097,0,0,1.4040097,-13.23586,-9.1297125)" />
+<line
+ class="st2"
+ x1="19.758366"
+ y1="15.440457"
+ x2="38.712502"
+ y2="2.2427664"
+ id="line8"
+ style="stroke-width:1.55649;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none" />
+<path
+ class="st3"
+ d="M 40.256907,31.586568"
+ id="path10"
+ style="stroke-width:1.404" />
+<path
+ class="st3"
+ d="M 19.758367,46.890273"
+ id="path12"
+ style="stroke-width:1.404" />
+<line
+ class="st2"
+ x1="8.5213375"
+ y1="15.013557"
+ x2="28.155918"
+ y2="1.6713308"
+ id="line14"
+ style="stroke-width:1.55649;stroke-linecap:round;stroke-miterlimit:10;stroke-dasharray:none" />
+
+<path
+ style="fill:none;stroke:#000000;stroke-width:1.55649;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 20.106958,46.262547 38.702489,31.854252"
+ id="path848" /></svg>
diff --git a/app/bin/bitmaps/SVG/bezier-line.svg b/app/bin/bitmaps/SVG/bezier-line.svg
new file mode 100644
index 0000000..df4232b
--- /dev/null
+++ b/app/bin/bitmaps/SVG/bezier-line.svg
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="bezier-line.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1498"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1496" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1447"
+ inkscape:window-height="957"
+ id="namedview1494"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="23.959168"
+ inkscape:cy="28.551342"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style1477">
+ .st0{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FE0000;stroke-miterlimit:10;}
+</style>
+<path
+ class="st0"
+ d="m 2.5330556,42.626221 c 25.6476684,0 22.1392604,-36.7937448 42.9477454,-36.7937448"
+ id="path1479"
+ style="stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none" />
+<path
+ class="st1"
+ d="M 11.848483,31.072088"
+ id="path1481"
+ style="stroke-width:1.16495" />
+<path
+ class="st1"
+ d="M 18.502359,38.251356"
+ id="path1483"
+ style="stroke-width:1.16495" />
+<line
+ class="st2"
+ x1="45.480801"
+ y1="5.8324766"
+ x2="16.445704"
+ y2="5.8324766"
+ id="line1485"
+ style="stroke:#cc0000;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<line
+ class="st2"
+ x1="2.5330553"
+ y1="42.649242"
+ x2="29.21492"
+ y2="42.378853"
+ id="line1487"
+ style="stroke:#cc0000;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<path
+ class="st2"
+ d="m 16.445704,5.8324767 c 0,1.9535366 -1.692253,3.6279968 -3.807572,3.6279968 -2.115318,0 -3.8075738,-1.6744602 -3.8075738,-3.6279968 0,-1.9535361 1.6922558,-3.6279958 3.8075738,-3.6279958 2.115319,0.1395386 3.807572,1.6744597 3.807572,3.6279958 z"
+ id="path1489"
+ style="fill:none;fill-opacity:1;stroke:#cc0000;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<path
+ class="st2"
+ d="m 37.501558,42.136003 c 0,1.970509 -1.670072,3.659516 -3.757664,3.659516 -2.087592,0 -3.757665,-1.689007 -3.757665,-3.659516 0,-1.970511 1.670073,-3.659519 3.757665,-3.659519 2.087592,0 3.757664,1.548259 3.757664,3.659519 z"
+ id="path1491"
+ style="stroke:#cc0000;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/bezier-track.svg b/app/bin/bitmaps/SVG/bezier-track.svg
new file mode 100644
index 0000000..4f3cf33
--- /dev/null
+++ b/app/bin/bitmaps/SVG/bezier-track.svg
@@ -0,0 +1,424 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="bezier-track.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata878"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs876"><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1638"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1634"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1630"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1626"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1622"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1564"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1560"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1556"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1552"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1548"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1544"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1540"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1536"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1532"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1528"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1524"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1520"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1516"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1512"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1508"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath1456"><rect
+ style="display:block;opacity:1;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none"
+ id="rect1458"
+ width="19.127279"
+ height="3.9545863"
+ x="27.197866"
+ y="6.6178784"
+ ry="0.079863898" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath1460"><rect
+ style="display:block;opacity:1;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none"
+ id="rect1462"
+ width="19.127279"
+ height="3.9545863"
+ x="27.197866"
+ y="6.6178784"
+ ry="0.079863898" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath1464"><rect
+ style="display:none;opacity:1;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none"
+ id="rect1466"
+ width="19.127279"
+ height="3.9545863"
+ x="27.197866"
+ y="6.6178784"
+ ry="0.079863898"
+ d="m 27.27773,6.6178784 h 18.967552 c 0.04424,0 0.07986,0.035619 0.07986,0.079864 v 3.7948587 c 0,0.04424 -0.03562,0.07986 -0.07986,0.07986 H 27.27773 c -0.04424,0 -0.07986,-0.03562 -0.07986,-0.07986 V 6.6977423 c 0,-0.044245 0.03562,-0.079864 0.07986,-0.079864 z" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath1468"><rect
+ style="display:none;opacity:1;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none"
+ id="rect1470"
+ width="19.127279"
+ height="3.9545863"
+ x="27.197866"
+ y="6.6178784"
+ ry="0.079863898"
+ d="m 27.27773,6.6178784 h 18.967552 c 0.04424,0 0.07986,0.035619 0.07986,0.079864 v 3.7948587 c 0,0.04424 -0.03562,0.07986 -0.07986,0.07986 H 27.27773 c -0.04424,0 -0.07986,-0.03562 -0.07986,-0.07986 V 6.6977423 c 0,-0.044245 0.03562,-0.079864 0.07986,-0.079864 z" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath1472"><rect
+ style="display:none;opacity:1;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none"
+ id="rect1474"
+ width="19.127279"
+ height="3.9545863"
+ x="27.197866"
+ y="6.6178784"
+ ry="0.079863898"
+ d="m 27.27773,6.6178784 h 18.967552 c 0.04424,0 0.07986,0.035619 0.07986,0.079864 v 3.7948587 c 0,0.04424 -0.03562,0.07986 -0.07986,0.07986 H 27.27773 c -0.04424,0 -0.07986,-0.03562 -0.07986,-0.07986 V 6.6977423 c 0,-0.044245 0.03562,-0.079864 0.07986,-0.079864 z" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath1476"><rect
+ style="display:none;opacity:1;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none"
+ id="rect1478"
+ width="19.127279"
+ height="3.9545863"
+ x="27.197866"
+ y="6.6178784"
+ ry="0.079863898"
+ d="m 27.27773,6.6178784 h 18.967552 c 0.04424,0 0.07986,0.035619 0.07986,0.079864 v 3.7948587 c 0,0.04424 -0.03562,0.07986 -0.07986,0.07986 H 27.27773 c -0.04424,0 -0.07986,-0.03562 -0.07986,-0.07986 V 6.6977423 c 0,-0.044245 0.03562,-0.079864 0.07986,-0.079864 z" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath1504"><rect
+ style="display:none;opacity:1;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none"
+ id="rect1506"
+ width="19.127279"
+ height="3.9545863"
+ x="27.197866"
+ y="6.6178784"
+ ry="0.079863898"
+ d="m 27.27773,6.6178784 h 18.967552 c 0.04424,0 0.07986,0.035619 0.07986,0.079864 v 3.7948587 c 0,0.04424 -0.03562,0.07986 -0.07986,0.07986 H 27.27773 c -0.04424,0 -0.07986,-0.03562 -0.07986,-0.07986 V 6.6977423 c 0,-0.044245 0.03562,-0.079864 0.07986,-0.079864 z" /></clipPath></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1504"
+ inkscape:window-height="972"
+ id="namedview874"
+ showgrid="false"
+ inkscape:zoom="12.390678"
+ inkscape:cx="23.92928"
+ inkscape:cy="21.225634"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:snap-nodes="false"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style833">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FE0000;stroke-miterlimit:10;}
+</style>
+
+
+
+
+
+
+
+
+
+
+<g
+ id="g906"
+ inkscape:label="ties"
+ transform="matrix(1.0591506,0,0,1.0591506,-1.4196144,-1.3413732)"><line
+ class="st0"
+ x1="4.1279888"
+ y1="34.576862"
+ x2="4.6168704"
+ y2="45.168163"
+ id="line835"
+ style="stroke:#dab16f;stroke-opacity:1;stroke-width:2.36038199;stroke-miterlimit:10;stroke-dasharray:none"
+ clip-path="none"
+ d="M 4.1279888,34.576862 4.6168704,45.168163" /><line
+ class="st0"
+ x1="42.886402"
+ y1="2.6856358"
+ x2="43.408516"
+ y2="13.62998"
+ id="line837"
+ style="fill:#f29a0d;fill-opacity:1;stroke:#dab16f;stroke-opacity:1;stroke-width:2.36038199;stroke-miterlimit:10;stroke-dasharray:none"
+ clip-path="none" /><line
+ class="st0"
+ x1="34.10844"
+ y1="5.7627635"
+ x2="39.163727"
+ y2="14.855262"
+ id="line841"
+ style="fill:#fbb03b;fill-opacity:1;stroke:#dab16f;stroke-width:2.36038199;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="none" /><line
+ class="st0"
+ x1="35.005325"
+ y1="17.727415"
+ x2="27.096411"
+ y2="11.148679"
+ id="line843"
+ style="stroke:#dab16f;stroke-width:2.36038199;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="none" /><line
+ class="st0"
+ x1="19.002396"
+ y1="21.82789"
+ x2="28.405186"
+ y2="27.61499"
+ id="line845"
+ style="stroke:#dab16f;stroke-width:2.36038199;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="none" /><line
+ class="st0"
+ x1="22.733572"
+ y1="16.710386"
+ x2="31.354567"
+ y2="22.478386"
+ id="line847"
+ style="stroke:#dab16f;stroke-width:2.36038199;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="none" /><line
+ class="st0"
+ x1="15.614336"
+ y1="26.927553"
+ x2="24.364897"
+ y2="33.04113"
+ id="line849"
+ style="stroke:#dab16f;stroke-width:2.36038199;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="none" /><line
+ class="st0"
+ x1="11.880663"
+ y1="30.71059"
+ x2="20.037558"
+ y2="38.954033"
+ id="line851"
+ style="stroke:#dab16f;stroke-opacity:1;stroke-width:2.36038199;stroke-miterlimit:10;stroke-dasharray:none"
+ clip-path="none"
+ d="m 11.880663,30.71059 8.156895,8.243443" /><line
+ class="st0"
+ x1="8.2077017"
+ y1="33.453312"
+ x2="12.669186"
+ y2="43.218498"
+ id="line855"
+ style="stroke:#dab16f;stroke-opacity:1;stroke-width:2.36038199;stroke-miterlimit:10;stroke-dasharray:none"
+ clip-path="none"
+ d="m 8.2077017,33.453312 4.4614843,9.765186" /></g>
+
+<g
+ id="g910"
+ inkscape:label="rails"
+ transform="matrix(1.0591506,0,0,1.0591506,-1.4196144,-1.3413732)"><path
+ class="st1"
+ d="m 2.169398,37.254044 c 19.921904,0 19.094929,-31.9056952 43.661204,-31.9056952"
+ id="path857"
+ style="stroke-width:1.88830559;stroke-miterlimit:10;stroke-dasharray:none"
+ sodipodi:nodetypes="cc"
+ clip-path="none" /><path
+ class="st1"
+ d="m 2.4505108,42.567322 c 25.9106962,0 22.1552802,-31.807439 43.2993872,-31.219033"
+ id="path859"
+ style="stroke-width:1.88830559;stroke-miterlimit:10;stroke-dasharray:none"
+ sodipodi:nodetypes="cc"
+ clip-path="none" /></g>
+
+
+
+
+<g
+ id="g922"
+ inkscape:label="uhandle"
+ transform="matrix(1.0591506,0,0,1.0591506,-1.4196144,-1.3413732)"><line
+ class="st2"
+ x1="45.715103"
+ y1="8.5967131"
+ x2="16.382238"
+ y2="8.5967131"
+ id="line865"
+ style="stroke:#cc0000;stroke-width:2.36038199;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="none" /><path
+ class="st2"
+ d="m 15.445121,8.6158886 c 0,1.8694864 -1.5274,3.4719024 -3.436654,3.4719024 -1.909251,0 -3.4366529,-1.602416 -3.4366529,-3.4719024 0,-1.8694855 1.5274019,-3.4719017 3.4366529,-3.4719017 1.909254,0.1335346 3.436654,1.6024162 3.436654,3.4719017 z"
+ id="path869"
+ style="stroke:#cc0000;stroke-width:2.36038199;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="none" /></g>
+<g
+ id="g914"
+ inkscape:label="bhandle"
+ transform="matrix(1.0591506,0,0,1.0591506,-1.4196144,-1.3413732)"><line
+ class="st2"
+ x1="2.6384158"
+ y1="39.785053"
+ x2="30.46909"
+ y2="39.785053"
+ id="line867"
+ style="stroke:#cc0000;stroke-width:2.36038199;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="none" /><path
+ class="st2"
+ d="m 38.117928,39.798562 c 0,1.791916 -1.509641,3.327846 -3.396691,3.327846 -1.887051,0 -3.396691,-1.53593 -3.396691,-3.327846 0,-1.791917 1.50964,-3.327846 3.396691,-3.327846 1.88705,0 3.396691,1.407935 3.396691,3.327846 z"
+ id="path871"
+ style="stroke:#cc0000;stroke-width:2.36038199;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="none" /></g>
+</svg>
diff --git a/app/bin/bitmaps/SVG/block.svg b/app/bin/bitmaps/SVG/block.svg
index 221d631..9d306d7 100755
--- a/app/bin/bitmaps/SVG/block.svg
+++ b/app/bin/bitmaps/SVG/block.svg
@@ -1,150 +1,95 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://web.resource.org/cc/"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="16px"
- height="16px"
- id="svg2160"
- sodipodi:version="0.32"
- inkscape:version="0.45.1"
- sodipodi:docbase="C:\Dokumente und Einstellungen\MF\Eigene Dateien\xtc\source\xtrkcad\app\bin\bitmaps\SVG"
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg39"
sodipodi:docname="block.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs2162">
- <linearGradient
- id="linearGradient3240">
- <stop
- style="stop-color:#c6ffc7;stop-opacity:1;"
- offset="0"
- id="stop3242" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3244" />
- </linearGradient>
- <filter
- inkscape:collect="always"
- x="-0.40165289"
- width="1.8033058"
- y="-0.40165289"
- height="1.8033058"
- id="filter4024">
- <feGaussianBlur
- inkscape:collect="always"
- stdDeviation="0.34075874"
- id="feGaussianBlur4026" />
- </filter>
- </defs>
- <sodipodi:namedview
- id="base"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata43"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
inkscape:pageshadow="2"
- inkscape:zoom="22.197802"
- inkscape:cx="8"
- inkscape:cy="8"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="797"
- inkscape:window-height="573"
- inkscape:window-x="43"
- inkscape:window-y="33" />
- <metadata
- id="metadata2165">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.39860046px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1.6993002,4.8001142 C 1.6993002,4.0323881 1.6993002,6.1874076 1.6993002,7.1314013 C 1.6993002,8.3269519 1.6993002,9.5225027 1.6993002,10.718053"
- id="path3197"
- inkscape:transform-center-x="-0.69930023" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.30206299px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 16.340038,7.9045778 C 16.170995,7.9045778 15.782267,7.9045778 15.510057,7.9045778 C 15.332995,7.9045778 15.155932,7.9045778 14.97887,7.9045778 C 14.646878,7.9045778 14.314885,7.9045778 13.982894,7.9045778 C 13.756061,7.9045778 14.109982,7.9045778 14.182089,7.9045778"
- id="path3204" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#00c3ff;stroke-width:1.39256012px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 4.8935538,8.0622511 C 5.3383788,8.0622511 6.3612827,8.0622511 7.0775815,8.0622511 C 7.5435072,8.0622511 8.0094329,8.0622511 8.4753585,8.0622511 C 9.3489697,8.0622511 10.22258,8.0622511 11.096191,8.0622511 C 11.693085,8.0622511 10.761766,8.0622511 10.572024,8.0622511"
- id="path3214" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#00c3ff;stroke-width:1.38903475px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 11.694517,4.8941729 C 11.694517,4.1226995 11.694517,6.2882379 11.694517,7.2368393 C 11.694517,8.4382256 11.694517,9.639612 11.694517,10.840998"
- id="path3216" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#00c3ff;stroke-width:1.3360846px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 4.2655817,10.718063 C 4.2569707,11.44917 4.2811417,9.396941 4.2917297,8.4979743 C 4.305139,7.3594493 4.3185482,6.2209242 4.3319577,5.0823988"
- id="path3220"
- inkscape:transform-center-x="2.6989442"
- inkscape:transform-center-y="1.5477264" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.34471488px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 14.327643,4.8345845 C 14.327643,4.0668584 14.327643,6.2218779 14.327643,7.1658716 C 14.327643,8.3614222 14.327643,9.5569733 14.327643,10.752524"
- id="path3222" />
- <path
- sodipodi:type="arc"
- style="fill:#00cb05;fill-opacity:1;fill-rule:nonzero;stroke:#00cb05;stroke-linejoin:round;stroke-opacity:1"
- id="path3224"
- sodipodi:cx="8.1990099"
- sodipodi:cy="3.1608911"
- sodipodi:rx="1.5316832"
- sodipodi:ry="1.5316832"
- d="M 9.7306931 3.1608911 A 1.5316832 1.5316832 0 1 1 6.6673267,3.1608911 A 1.5316832 1.5316832 0 1 1 9.7306931 3.1608911 z"
- transform="matrix(1.3326023,0,0,1.3326023,-3.0745345,-1.504785)" />
- <path
- sodipodi:type="arc"
- style="fill:#8bf68e;fill-opacity:1;fill-rule:nonzero;stroke:#d3fcd3;stroke-linejoin:round;stroke-opacity:1;filter:url(#filter4024)"
- id="path3250"
- sodipodi:cx="7.5007424"
- sodipodi:cy="2.4626236"
- sodipodi:rx="0.51806933"
- sodipodi:ry="0.51806933"
- d="M 8.0188118 2.4626236 A 0.51806933 0.51806933 0 1 1 6.9826731,2.4626236 A 0.51806933 0.51806933 0 1 1 8.0188118 2.4626236 z"
- transform="matrix(1.2433747,0,0,1.2433747,-2.0603915,-0.8322608)" />
- <path
- sodipodi:type="arc"
- style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-linejoin:round;stroke-opacity:1"
- id="path4034"
- sodipodi:cx="8.1990099"
- sodipodi:cy="3.1608911"
- sodipodi:rx="1.5316832"
- sodipodi:ry="1.5316832"
- d="M 9.7306931 3.1608911 A 1.5316832 1.5316832 0 1 1 6.6673267,3.1608911 A 1.5316832 1.5316832 0 1 1 9.7306931 3.1608911 z"
- transform="matrix(1.3326023,0,0,1.3326023,-3.0379006,8.949671)" />
- <path
- sodipodi:type="arc"
- style="fill:#ed0202;fill-opacity:0.9766355;fill-rule:nonzero;stroke:#fff6f6;stroke-linejoin:round;stroke-opacity:1;filter:url(#filter4024)"
- id="path4036"
- sodipodi:cx="7.5007424"
- sodipodi:cy="2.4626236"
- sodipodi:rx="0.51806933"
- sodipodi:ry="0.51806933"
- d="M 8.0188118 2.4626236 A 0.51806933 0.51806933 0 1 1 6.9826731,2.4626236 A 0.51806933 0.51806933 0 1 1 8.0188118 2.4626236 z"
- transform="matrix(1.3434079,0,0,1.3868861,-2.6614572,9.403929)" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.30206299px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 2.3873088,7.8910891 C 2.2182658,7.8910891 1.8295378,7.8910891 1.5573278,7.8910891 C 1.3802658,7.8910891 1.2032028,7.8910891 1.0261408,7.8910891 C 0.69414879,7.8910891 0.36215579,7.8910891 0.030164793,7.8910891 C -0.19666821,7.8910891 0.15725279,7.8910891 0.22935979,7.8910891"
- id="path4052" />
- </g>
-</svg>
+ inkscape:window-width="1578"
+ inkscape:window-height="996"
+ id="namedview41"
+ showgrid="false"
+ inkscape:zoom="8.7705101"
+ inkscape:cx="31.982176"
+ inkscape:cy="37.968145"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g37"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><defs
+ id="defs5"><clipPath
+ id="clipPath3629"><path
+ d="m0 48h48v-48h-48z"
+ id="path2" /></clipPath></defs><g
+ transform="matrix(1.3333,0,0,-1.3333,0,64)"
+ id="g37"><g
+ transform="matrix(1.2967909,0,0,1.2967909,2.1246308,45.683498)"
+ id="g9"
+ style="stroke-width:2.7112;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M 0,0 9.091,-9.014"
+ fill="none"
+ stroke="#020000"
+ stroke-miterlimit="10"
+ id="path7"
+ style="stroke-width:2.7112;stroke-miterlimit:4;stroke-dasharray:none" /></g><g
+ transform="matrix(1.4132365,0,0,1.3859063,34.452001,13.107736)"
+ id="g13"
+ style="stroke-width:2.51221;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M 0,0 8.089,-7.781"
+ fill="none"
+ stroke="#020000"
+ stroke-miterlimit="10"
+ id="path11"
+ style="stroke-width:2.51221;stroke-miterlimit:4;stroke-dasharray:none" /></g><g
+ transform="matrix(1.2967909,0,0,1.2967909,12.971957,34.587781)"
+ id="g17"
+ style="stroke-width:2.7112;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M 0,0 16.564,-16.564"
+ fill="none"
+ stroke="#11d9f4"
+ stroke-miterlimit="10"
+ id="path15"
+ style="stroke:#009199;stroke-width:2.7112;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g><g
+ clip-path="url(#clipPath3629)"
+ id="g35"
+ transform="matrix(1.5187104,0,0,1.5187104,-13.299409,-11.938881)"><g
+ transform="matrix(1.6641602,0,0,1.6641602,23.655168,17.693415)"
+ id="g29"
+ style="stroke:#000000;stroke-width:0.49871;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"><path
+ d="m 0,0 c 0,-1.681 -1.346,-3.043 -3.005,-3.043 -1.659,0 -3.005,1.362 -3.005,3.043 0,1.681 1.346,3.043 3.005,3.043 C -1.346,3.043 0,1.681 0,0"
+ fill="#f21434"
+ id="path27"
+ style="stroke:#000000;stroke-width:0.781659;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g><g
+ transform="matrix(1.6663611,0,0,1.6663611,35.459199,29.364105)"
+ id="g33"
+ style="stroke-width:0.498051;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="m 0,0 c 0,-1.766 -1.397,-3.197 -3.121,-3.197 -1.723,0 -3.12,1.431 -3.12,3.197 0,1.766 1.397,3.197 3.12,3.197 C -1.397,3.197 0,1.766 0,0"
+ fill="#16ef16"
+ id="path31"
+ style="stroke:#000000;stroke-width:0.780626;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g></g><path
+ style="fill:none;stroke:#009199;stroke-width:3.51586;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 8.9911407,28.141226 19.792915,38.943"
+ id="path871" /><path
+ style="fill:none;stroke:#009199;stroke-width:3.51586;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 28.19633,9.0458839 38.998106,19.847659"
+ id="path871-4" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/bottom.svg b/app/bin/bitmaps/SVG/bottom.svg
new file mode 100644
index 0000000..e529c66
--- /dev/null
+++ b/app/bin/bitmaps/SVG/bottom.svg
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="bottom.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata13"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs11" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1391"
+ inkscape:window-height="982"
+ id="namedview9"
+ showgrid="false"
+ inkscape:zoom="13.418604"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:#FF0603;}
+ .st1{fill:#808080;}
+</style>
+<path
+ class="st0"
+ d="m 29.039558,24.250588 c 0,7.267052 -6.073314,13.030574 -13.438823,13.030574 -7.4947277,0 -13.4388221,-5.888816 -13.4388221,-13.030574 0,-7.267051 6.0733144,-13.030575 13.4388221,-13.030575 7.365509,-0.125294 13.438823,5.763524 13.438823,13.030575 z"
+ id="path4"
+ style="stroke-width:1.27241;stroke:#990000;stroke-opacity:1" />
+<rect
+ x="17.409807"
+ y="8.3382511"
+ class="st1"
+ width="28.42828"
+ height="31.323498"
+ id="rect6"
+ style="stroke-width:1.27241;stroke:#000000;stroke-opacity:1" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/box.svg b/app/bin/bitmaps/SVG/box.svg
new file mode 100644
index 0000000..e936fa4
--- /dev/null
+++ b/app/bin/bitmaps/SVG/box.svg
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="box.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata910"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs908" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1288"
+ inkscape:window-height="878"
+ id="namedview906"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style897">
+ .st0{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st1{stroke:#F80E00;stroke-width:2;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#F80E00;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<rect
+ x="3.7880173"
+ y="5.0129852"
+ class="st0"
+ width="40.423965"
+ height="37.97403"
+ id="rect899"
+ style="stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st1"
+ x1="7.0859327"
+ y1="39.584835"
+ x2="40.014923"
+ y2="9.0605688"
+ id="line901"
+ style="stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none;stroke:#cc0000;stroke-opacity:1" />
+<polyline
+ class="st2"
+ points="39.9,18.3 39.4,11.4 32.7,11.4 "
+ id="polyline903"
+ transform="matrix(1.4025875,0,0,1.3570092,-15.557291,-6.2439345)"
+ style="stroke-width:2.17452736;stroke-miterlimit:10;stroke-dasharray:none;stroke:#cc0000;stroke-opacity:1" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/bridge.svg b/app/bin/bitmaps/SVG/bridge.svg
new file mode 100644
index 0000000..af55093
--- /dev/null
+++ b/app/bin/bitmaps/SVG/bridge.svg
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="bridge.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><g
+ id="parapet"
+ style="display:inline;stroke:#917c6f;stroke-width:2.56211;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.4366046,0,0,1.7036947,-13.366682,-16.698783)"><path
+ d="M 15.9996,38.6673 H 46.6655"
+ fill="none"
+ stroke="#ff6700"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path1633"
+ style="fill:#000000;fill-opacity:1;stroke:#917c6f;stroke-width:2.56211;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="m 46.53217,38.709966 5.334533,5.145205"
+ fill="none"
+ stroke="#ff6700"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path1637"
+ style="fill:#000000;fill-opacity:1;stroke:#917c6f;stroke-width:2.56211;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="M 15.928935,38.645967 11.357049,43.85517"
+ fill="none"
+ stroke="#ff6700"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path1641"
+ style="fill:#000000;fill-opacity:1;stroke:#917c6f;stroke-width:2.56211;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="M 46.6655,18.6678 H 15.9996"
+ fill="none"
+ stroke="#ff6700"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path1645"
+ style="fill:none;fill-opacity:1;stroke:#917c6f;stroke-width:2.56211;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="M 16.886244,18.657134 11.358382,13.313268"
+ fill="none"
+ stroke="#ff6700"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path1649"
+ style="fill:none;fill-opacity:1;stroke:#917c6f;stroke-width:2.56211;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="m 45.913519,18.657134 5.954518,-5.343866"
+ fill="none"
+ stroke="#ff6700"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path1653"
+ style="fill:none;fill-opacity:1;stroke:#917c6f;stroke-width:2.56211;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1393"
+ inkscape:window-height="866"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="9.3956422"
+ inkscape:cx="36.186989"
+ inkscape:cy="32.036128"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg1659"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><g
+ id="track"
+ style="display:inline"
+ transform="matrix(1.0504573,0,0,1.0504573,-1.6146336,-1.5690294)"><g
+ id="ties"
+ inkscape:label="#ties"
+ style="stroke:#d88b0d;stroke-width:2.667;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.3028702,0,0,1.3028702,-9.6908041,-5.2415278)"><path
+ d="M 11.9997,21.3344 V 36.0007"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path1597"
+ style="stroke:#d88b0d;stroke-width:2.667;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="M 0,0 V -11"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path1601"
+ transform="matrix(1.3333,0,0,-1.3333,18.6662,21.3344)"
+ style="stroke:#d88b0d;stroke-width:2.0003;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="M 25.3327,21.3344 V 36.0007"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path1605"
+ style="stroke:#d88b0d;stroke-width:2.667;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="M 31.9992,21.3344 V 36.0007"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path1609"
+ style="stroke:#d88b0d;stroke-width:2.667;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="M 38.6657,21.3344 V 36.0007"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path1613"
+ style="stroke:#d88b0d;stroke-width:2.667;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="M 45.3322,21.3344 V 36.0007"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path1617"
+ style="stroke:#d88b0d;stroke-width:2.667;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="M 51.9987,21.3344 V 36.0007"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path1621"
+ style="stroke:#d88b0d;stroke-width:2.667;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g><g
+ id="rails"
+ inkscape:label="#rails"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none"
+ transform="matrix(1.3028702,0,0,1.3028702,-9.6908041,-5.2415278)"><path
+ d="M 9.3331,24.185806 H 54.6653"
+ fill="none"
+ stroke="#000000"
+ stroke-miterlimit="10"
+ id="path1625"
+ style="stroke-width:2.30261;stroke-miterlimit:10;stroke-dasharray:none" /><path
+ d="M 9.3331,33.149294 H 54.6653"
+ fill="none"
+ stroke="#000000"
+ stroke-miterlimit="10"
+ id="path1629"
+ style="stroke-width:2.30261;stroke-miterlimit:10;stroke-dasharray:none" /></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/building.svg b/app/bin/bitmaps/SVG/building.svg
new file mode 100644
index 0000000..4b63286
--- /dev/null
+++ b/app/bin/bitmaps/SVG/building.svg
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="building.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata19"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs17" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1579"
+ inkscape:window-height="975"
+ id="namedview15"
+ showgrid="false"
+ inkscape:zoom="13.417014"
+ inkscape:cx="23.999379"
+ inkscape:cy="24.036645"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#000000;stroke-miterlimit:10;}
+</style>
+<polygon
+ class="st0"
+ points="39.5,37.5 39.5,29.5 34.5,29.3 29,19.5 17,19.5 10.5,29.3 5.5,29.5 5.5,37.5 "
+ id="polygon8"
+ style="fill:#cccccc;fill-opacity:1"
+ transform="matrix(1.3413882,0,0,1.3436174,-6.1812345,-6.1642108)" /><path
+ class="st0"
+ d="M 40.767352,3.1067495"
+ id="path4"
+ style="stroke-width:1.3425" />
+<rect
+ x="7.9033418"
+ y="5.2565374"
+ class="st0"
+ width="32.193317"
+ height="28.215967"
+ id="rect6"
+ style="stroke-width:1.3425" />
+
+
+
+<path
+ style="fill:none;stroke:#000000;stroke-width:1.3425px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 7.9033409,5.2565374 16.622364,20.036329"
+ id="path844" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.3425px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 32.719023,20.036329 40.096659,5.2565374"
+ id="path846" /><path
+ style="fill:#b2b2b2;fill-opacity:1;stroke:#665900;stroke-width:0.0759312"
+ d="M 13.134754,12.71703 C 10.989166,9.0805473 9.2223194,6.0761113 9.2084336,6.0405055 9.1945466,6.0048995 15.867084,5.9757675 24.036296,5.9757675 c 8.169211,0 14.853113,0.017022 14.853113,0.037823 0,0.020802 -1.491218,3.0254477 -3.313816,6.6769895 l -3.313815,6.639165 -7.612975,-4.65e-4 -7.612975,-4.65e-4 z"
+ id="path848" /><path
+ style="fill:#cccccc;fill-opacity:1;stroke:#665900;stroke-width:0.0759312"
+ d="m 36.484379,25.297924 c -1.59357,-2.849671 -2.895525,-5.230247 -2.893235,-5.290169 0.0022,-0.05992 1.312768,-2.720941 2.912171,-5.913376 l 2.908008,-5.8044275 0.0042,11.0967005 c 0.0022,6.103184 -0.0043,11.095752 -0.01476,11.094597 -0.01056,-0.0012 -1.322766,-2.333652 -2.916335,-5.183325 z"
+ id="path850" /><path
+ style="fill:#b2b2b2;fill-opacity:1;stroke:#665900;stroke-width:0.0759312"
+ d="m 8.5921196,19.325952 c 0.00171,-8.408703 0.024691,-11.4526151 0.085796,-11.3472267 0.045906,0.079205 1.6620084,2.8197237 3.5913084,6.0900237 l 3.507818,5.946001 -3.526133,5.329145 c -1.939371,2.931029 -3.5564976,5.361579 -3.5936104,5.401224 -0.039496,0.04218 -0.066512,-4.693848 -0.065179,-11.419167 z"
+ id="path852" /></svg>
diff --git a/app/bin/bitmaps/SVG/car-inventory.svg b/app/bin/bitmaps/SVG/car-inventory.svg
new file mode 100644
index 0000000..27d805d
--- /dev/null
+++ b/app/bin/bitmaps/SVG/car-inventory.svg
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="car-inventory.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata50"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs48" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1583"
+ inkscape:window-height="965"
+ id="namedview46"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="24.039032"
+ inkscape:cy="26.235289"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#808080;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000401;stroke-miterlimit:10;}
+ .st2{fill:#000401;}
+ .st3{fill:url(#SVGID_1_);}
+ .st4{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st5{fill:#006837;}
+ .st6{fill:#FFE53F;}
+ .st7{font-family:'MyriadPro-Regular';}
+ .st8{font-size:6px;}
+</style>
+
+
+
+
+
+
+
+
+
+
+
+<linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="24.5506"
+ y1="21.5"
+ x2="30.4868"
+ y2="21.5"
+ gradientTransform="matrix(0,1.0571338,-1.0571338,0,51.676842,-1.8693808)">
+ <stop
+ offset="2.455360e-02"
+ style="stop-color:#006837"
+ id="stop26" />
+ <stop
+ offset="0.4355"
+ style="stop-color:#22B573"
+ id="stop28" />
+ <stop
+ offset="1"
+ style="stop-color:#006837"
+ id="stop30" />
+</linearGradient>
+
+
+<rect
+ x="1.0481793"
+ y="1.453462"
+ class="st5"
+ width="32.050381"
+ height="12.064563"
+ id="body"
+ style="fill:#682b00;fill-opacity:1;stroke:#d9d9d9;stroke-width:0.913228;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+
+
+<g
+ id="wheels"
+ transform="matrix(1.1266654,0,0,1.1266654,-5.5483902,-27.757493)"><path
+ class="st2"
+ d="m 11.136232,39.118101 c 0,1.134615 -0.882478,2.143161 -2.1431611,2.143161 -1.1346136,0 -2.1431594,-0.882478 -2.1431594,-2.143161 0,-1.260681 0.8824776,-2.143159 2.1431594,-2.143159 1.2606831,0.126067 2.1431611,1.008545 2.1431611,2.143159 z"
+ id="path39"
+ style="stroke-width:1.26068" /></g>
+<rect
+ x="8.0319376"
+ y="15.51599"
+ class="st5"
+ width="32.050381"
+ height="12.064563"
+ id="body-1"
+ style="fill:#004c68;fill-opacity:1;stroke:#d9d9d9;stroke-width:0.913228;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><g
+ id="wheels-5"
+ transform="matrix(1.1490837,0,0,1.1490837,1.0035607,-14.65363)"><path
+ class="st2"
+ d="m 11.344738,39.187603 c 0,1.134615 -0.882478,2.143161 -2.1431605,2.143161 -1.1346136,0 -2.1431594,-0.882478 -2.1431594,-2.143161 0,-1.260681 0.8824776,-2.143159 2.1431594,-2.143159 1.2606825,0.126067 2.1431605,1.008545 2.1431605,2.143159 z"
+ id="path39-0"
+ style="stroke-width:1.26068" /></g><rect
+ x="14.90144"
+ y="29.569271"
+ class="st5"
+ width="32.050381"
+ height="12.064563"
+ id="body-1-5"
+ style="fill:#006806;fill-opacity:1;stroke:#d9d9d9;stroke-width:0.913228;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><g
+ id="wheels-5-4"
+ transform="matrix(1.1643725,0,0,1.1643725,1.2420809,-1.0403268)"><path
+ class="st2"
+ d="m 33.655476,39.118101 c 0,1.134615 -0.882478,2.143161 -2.143161,2.143161 -1.260682,0 -2.143159,-0.882478 -2.143159,-2.143161 0,-1.260681 0.882477,-2.143159 2.143159,-2.143159 1.260683,0 2.143161,1.008546 2.143161,2.143159 z"
+ id="path43-6-1-4"
+ style="fill:#000401;stroke-width:1.26068" /><path
+ class="st2"
+ d="m 38.282412,39.118101 c 0,1.134615 -0.882478,2.143161 -2.14316,2.143161 -1.260683,0 -2.14316,-0.882478 -2.14316,-2.143161 0,-1.260681 0.882477,-2.143159 2.14316,-2.143159 1.260682,0 2.14316,1.008546 2.14316,2.143159 z"
+ id="path20-6-1"
+ style="stroke-width:1.26068" /><path
+ class="st2"
+ d="m 16.748068,39.118101 c 0,1.134615 -0.882478,2.143161 -2.143161,2.143161 -1.134614,0 -2.14316,-0.882478 -2.14316,-2.143161 0,-1.260681 0.882478,-2.143159 2.14316,-2.143159 1.260683,0.126067 2.143161,1.008545 2.143161,2.143159 z"
+ id="path39-0-8"
+ style="stroke-width:1.26068" /><path
+ class="st2"
+ d="m 21.527695,39.118101 c 0,1.134615 -0.882478,2.143161 -2.14316,2.143161 -1.260683,0 -2.14316,-0.882478 -2.14316,-2.143161 0,-1.260681 0.882477,-2.143159 2.14316,-2.143159 1.260682,0 2.14316,1.008545 2.14316,2.143159 z"
+ id="path43-68-8"
+ style="stroke-width:1.26068" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/change-grid.svg b/app/bin/bitmaps/SVG/change-grid.svg
new file mode 100644
index 0000000..0962f5f
--- /dev/null
+++ b/app/bin/bitmaps/SVG/change-grid.svg
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="change-grid.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata73"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs71" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1524"
+ inkscape:window-height="969"
+ id="namedview69"
+ showgrid="false"
+ inkscape:zoom="12.260054"
+ inkscape:cx="19.942816"
+ inkscape:cy="21.981959"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g66"
+ inkscape:snap-nodes="false"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:#FFFFFF;stroke:#000000;stroke-miterlimit:10;}
+ .st1{fill:none;}
+ .st2{fill:#231F20;}
+</style>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<g
+ id="g66">
+
+
+<g
+ id="g927"
+ transform="matrix(1.2365151,0,0,1.2365151,-0.45780653,-10.909155)"><path
+ style="fill:none;stroke:#00cc0d;stroke-width:1.83335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 37.67926,36.998679 H 1.6603668"
+ id="path906-0"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:1.83335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 10.957925,10.259045 v 35.36001"
+ id="path900"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:1.83335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 19.779626,10.259045 V 45.985102"
+ id="path904"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:1.83335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 28.601326,10.259045 V 46.277938"
+ id="path906"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:1.83335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 37.75247,19.465092 H 1.6603668"
+ id="path902-1"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:1.83335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 37.825679,28.231886 H 1.6603668"
+ id="path904-7"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:1.83335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 37.423027,10.259045 V 46.277937"
+ id="path906-06"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:1.83335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 2.1362255,10.259045 V 46.277938"
+ id="path906-01"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:1.83335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 38.281206,10.763375 1.2699144,10.6983"
+ id="path900-5-5"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:1.83335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 38.281207,45.765474 H 1.3349898"
+ id="path900-5-8"
+ sodipodi:nodetypes="cc" /></g><g
+ id="g6458"
+ transform="translate(-4.3292157,4.0470317)"><path
+ style="fill:#f1b76f;fill-opacity:1;stroke:#666666;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 21.519231,26.538462 V 21.461538 L 38.798077,4.2403846 43.701923,9.2596154 26.798077,26.451923 Z"
+ id="path1780"
+ sodipodi:nodetypes="cccccc" /><path
+ style="fill:none;stroke:#666666;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 24.346154,18.461538 c 5.134615,5.134616 5.134615,5.134616 5.134615,5.134616"
+ id="path4988" /></g></g>
+</svg>
diff --git a/app/bin/bitmaps/SVG/circle-center.svg b/app/bin/bitmaps/SVG/circle-center.svg
new file mode 100644
index 0000000..dc1b0fc
--- /dev/null
+++ b/app/bin/bitmaps/SVG/circle-center.svg
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="circle-center.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata3349"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs3347"><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect868"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect864"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath856"><path
+ style="display:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.27456px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 37.481595,37.263175 1.203443,-8.895802 -3.93469,-1.125417 -8.186482,7.583889 1.789451,3.620637 z"
+ id="path858"
+ sodipodi:nodetypes="cccccc" /><path
+ id="lpe_path-effect864"
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.27456px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ class="powerclip"
+ d="M -0.81667071,-1.0453595 H 49.139391 V 48.910703 H -0.81667071 Z M 37.481595,37.263175 l 1.203443,-8.895802 -3.93469,-1.125417 -8.186482,7.583889 1.789451,3.620637 z" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath860"><path
+ style="display:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.27456px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 37.481595,37.263175 1.203443,-8.895802 -3.93469,-1.125417 -8.186482,7.583889 1.789452,3.620637 z"
+ id="path862"
+ sodipodi:nodetypes="cccccc" /><path
+ id="lpe_path-effect868"
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.27456px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ class="powerclip"
+ d="M -2,-2.5284135 H 50.322721 V 50.393757 H -2 Z m 39.481595,39.7915885 1.203443,-8.895802 -3.93469,-1.125417 -8.186482,7.583889 1.789452,3.620637 z" /></clipPath></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1429"
+ inkscape:window-height="935"
+ id="namedview3345"
+ showgrid="false"
+ inkscape:zoom="13.417014"
+ inkscape:cx="23.999379"
+ inkscape:cy="24.036645"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style3300">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FF0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<style
+ type="text/css"
+ id="style2554">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FF0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+ .st4{fill:#FB0000;}
+ .st5{font-family:'MyriadPro-Regular';}
+ .st6{font-size:12px;}
+</style><g
+ id="g2669"
+ inkscape:label="ties"
+ transform="matrix(1.0980006,0,0,1.0732591,-2.5664524,-1.7232245)"
+ clip-path="url(#clipPath860)"
+ inkscape:path-effect="#path-effect868"><line
+ class="st0"
+ x1="32"
+ y1="43.900002"
+ x2="28.799999"
+ y2="35.900002"
+ id="line2586"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="m 32,43.900002 -3.200001,-8" /><line
+ class="st0"
+ x1="23.9"
+ y1="2.482697"
+ x2="24"
+ y2="11.482697"
+ id="line2556"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="m 23.9,2.482697 0.1,9" /><line
+ class="st0"
+ x1="23.900255"
+ y1="36.408672"
+ x2="23.999744"
+ y2="45.382671"
+ id="line2558"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="m 23.900255,36.408672 0.09949,8.973999" /><line
+ class="st0"
+ x1="36.5"
+ y1="24"
+ x2="45.299999"
+ y2="24.200001"
+ id="line2560"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="m 36.5,24 8.799999,0.200001" /><line
+ class="st0"
+ x1="3"
+ y1="25"
+ x2="12"
+ y2="25"
+ id="line2562"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="m 3,25 h 9" /><line
+ class="st0"
+ x1="8.3002796"
+ y1="9.5427513"
+ x2="14.785051"
+ y2="15.379046"
+ id="line2564"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 8.3002796,9.5427513 14.785051,15.379046" /><line
+ class="st0"
+ x1="38.767326"
+ y1="8.2077475"
+ x2="32.819508"
+ y2="15.283601"
+ id="line2566"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 38.767326,8.2077475 32.819508,15.283601" /><line
+ class="st0"
+ x1="32.130051"
+ y1="4.2333679"
+ x2="28.829287"
+ y2="12.58843"
+ id="line2568"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 32.130051,4.2333679 28.829287,12.58843" /><line
+ class="st0"
+ x1="43.626308"
+ y1="14.811062"
+ x2="35.262169"
+ y2="19.377419"
+ id="line2570"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="m 43.626308,14.811062 -8.364139,4.566357" /><line
+ class="st0"
+ x1="14.7"
+ y1="4.9000001"
+ x2="18.6"
+ y2="12.6"
+ id="line2572"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 14.7,4.9000001 18.6,12.6" /><line
+ class="st0"
+ x1="4.0999999"
+ y1="16.9"
+ x2="12.4"
+ y2="19.700001"
+ id="line2574"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 4.0999999,16.9 12.4,19.700001" /><line
+ class="st0"
+ x1="8.6999998"
+ y1="39"
+ x2="15.3"
+ y2="32.799999"
+ id="line2576"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 8.6999998,39 15.3,32.799999" /><line
+ class="st0"
+ x1="4.5999999"
+ y1="32.799999"
+ x2="12.8"
+ y2="28.9"
+ id="line2578"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 4.5999999,32.799999 12.8,28.9" /><line
+ class="st0"
+ x1="15.3"
+ y1="43.900002"
+ x2="19.4"
+ y2="35.400002"
+ id="line2580"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="m 15.3,43.900002 4.1,-8.5" /><line
+ class="st0"
+ x1="39.200001"
+ y1="39.599998"
+ x2="32.400002"
+ y2="33.5"
+ id="line2582"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 39.200001,39.599998 32.400002,33.5" /><line
+ class="st0"
+ x1="43.900002"
+ y1="32.799999"
+ x2="34.700001"
+ y2="29.6"
+ id="line2584"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 43.900002,32.799999 34.700001,29.6" /></g><g
+ id="g2682"
+ inkscape:label="rail"
+ transform="matrix(1.0980006,0,0,1.0732591,-2.5664522,-1.7232244)"
+ style="stroke-width:1.87256;stroke-miterlimit:10;stroke-dasharray:none"
+ clip-path="url(#clipPath856)"
+ inkscape:path-effect="#path-effect864"><path
+ class="st1"
+ d="m 43.203111,23.932672 c 0,10.53579 -8.50596,19.041751 -19.041752,19.041751 -10.53579,0 -19.0417497,-8.505961 -19.0417497,-19.041751 0,-10.535792 8.5059597,-19.0417515 19.0417497,-19.0417515 10.535792,0 19.041752,8.5059595 19.041752,19.0417515 z"
+ id="path2588"
+ style="stroke-width:1.87256;stroke-miterlimit:10;stroke-dasharray:none"
+ inkscape:original-d="m 43.203111,23.932672 c 0,10.53579 -8.50596,19.041751 -19.041752,19.041751 -10.53579,0 -19.0417497,-8.505961 -19.0417497,-19.041751 0,-10.535792 8.5059597,-19.0417515 19.0417497,-19.0417515 10.535792,0 19.041752,8.5059595 19.041752,19.0417515 z" /><path
+ class="st1"
+ d="m 38.997085,23.932672 c 0,8.230037 -6.605687,14.835726 -14.835725,14.835726 -8.230037,0 -14.8357248,-6.605689 -14.8357248,-14.835726 0,-8.230038 6.6056878,-14.8357262 14.8357248,-14.8357262 8.121748,0 14.835725,6.6056882 14.835725,14.8357262 z"
+ id="path2590"
+ style="stroke-width:1.87256;stroke-miterlimit:10;stroke-dasharray:none"
+ inkscape:original-d="m 38.997085,23.932672 c 0,8.230037 -6.605687,14.835726 -14.835725,14.835726 -8.230037,0 -14.8357248,-6.605689 -14.8357248,-14.835726 0,-8.230038 6.6056878,-14.8357262 14.8357248,-14.8357262 8.121748,0 14.835725,6.6056882 14.835725,14.8357262 z" /></g><g
+ id="g3424"
+ inkscape:label="arrow"
+ transform="matrix(1.0504397,0,0,1.0504397,-1.5029059,-2.1739336)"><line
+ class="st2"
+ x1="35.225948"
+ y1="35.590187"
+ x2="24.211658"
+ y2="24.43399"
+ id="line876"
+ style="fill:none;stroke:#cc0000;stroke-width:2.61571;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><polyline
+ class="st3"
+ points="32.3,37.8 36.9,37.2 37.5,32.7 "
+ id="polyline878"
+ transform="matrix(1.2491748,0,0,1.2491748,-10.868603,-10.879114)"
+ style="fill:none;stroke:#cc0000;stroke-width:2.22802;stroke-linecap:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/circle-filled-center.svg b/app/bin/bitmaps/SVG/circle-filled-center.svg
new file mode 100644
index 0000000..252ce43
--- /dev/null
+++ b/app/bin/bitmaps/SVG/circle-filled-center.svg
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="circle-filled-center.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1478"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1476" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1421"
+ inkscape:window-height="922"
+ id="namedview1474"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="24.039032"
+ inkscape:cy="24.039032"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style1463">
+ .st0{fill:#00C9FF;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FF0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<path
+ class="st0"
+ d="M 45.714152,24 C 45.714152,36.014429 36.014429,45.714152 24,45.714152 11.98557,45.714152 2.2858483,36.014429 2.2858483,24 2.2858483,11.98557 11.98557,2.2858481 24,2.2858481 36.014429,2.2858481 45.714152,11.98557 45.714152,24 Z"
+ id="path1465"
+ style="fill:#80e2ff;fill-opacity:1" />
+
+
+
+<line
+ class="st2"
+ x1="36.442284"
+ y1="36.748508"
+ x2="22.401169"
+ y2="22.70739"
+ id="line876"
+ style="fill:none;stroke:#cc0000;stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><polyline
+ class="st3"
+ points="32.3,37.8 36.9,37.2 37.5,32.7 "
+ id="polyline878"
+ transform="matrix(1.6532977,0,0,1.6532977,-24.564402,-24.754165)"
+ style="fill:none;stroke:#cc0000;stroke-width:1.81456;stroke-linecap:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></svg>
diff --git a/app/bin/bitmaps/SVG/circle-filled-tangent.svg b/app/bin/bitmaps/SVG/circle-filled-tangent.svg
new file mode 100644
index 0000000..afbf7ea
--- /dev/null
+++ b/app/bin/bitmaps/SVG/circle-filled-tangent.svg
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="circle-filled-tangent.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata3982"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs3980" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1426"
+ inkscape:window-height="903"
+ id="namedview3978"
+ showgrid="false"
+ inkscape:zoom="13.417014"
+ inkscape:cx="24.036645"
+ inkscape:cy="24.036645"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style3967">
+ .st0{fill:#3FD1FF;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FF0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<path
+ class="st0"
+ d="m 46.005278,23.999999 c 0,12.17551 -9.829769,22.005279 -22.005279,22.005279 -12.175509,0 -22.0052775,-9.829769 -22.0052775,-22.005279 0,-12.175509 9.8297685,-22.0052775 22.0052775,-22.0052775 12.17551,0 22.005279,9.8297685 22.005279,22.0052775 z"
+ id="path3969"
+ style="fill:#80e1ff;fill-opacity:1" />
+<line
+ class="st1"
+ x1="43.5"
+ y1="45"
+ x2="43.5"
+ y2="45"
+ id="line3971" />
+
+
+<line
+ class="st2"
+ x1="24.167141"
+ y1="23.9102"
+ x2="38.231514"
+ y2="37.811775"
+ id="line4088"
+ style="fill:none;stroke:#cc0000;stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><polyline
+ class="st3"
+ points="28.8,24 24.4,24.7 23.7,29.1 "
+ id="polyline4090"
+ transform="matrix(1.6700933,0,0,1.6023948,-16.583136,-15.668951)"
+ style="fill:none;stroke:#cc0000;stroke-width:1.83385977;stroke-linecap:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></svg>
diff --git a/app/bin/bitmaps/SVG/circle-line-center.svg b/app/bin/bitmaps/SVG/circle-line-center.svg
new file mode 100644
index 0000000..18e05df
--- /dev/null
+++ b/app/bin/bitmaps/SVG/circle-line-center.svg
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="circle-line-center.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata885"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs883" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1460"
+ inkscape:window-height="897"
+ id="namedview881"
+ showgrid="false"
+ inkscape:zoom="11.681573"
+ inkscape:cx="24.012177"
+ inkscape:cy="24.012177"
+ inkscape:window-x="115"
+ inkscape:window-y="26"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style870">
+ .st0{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FF0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<path
+ class="st0"
+ d="m 45.672182,24.000001 c 0,11.991207 -9.680974,21.672181 -21.672181,21.672181 -11.991208,0 -21.6721826,-9.680974 -21.6721826,-21.672181 0,-11.991208 9.6809746,-21.6721826 21.6721826,-21.6721826 11.991207,0 21.672181,9.6809746 21.672181,21.6721826 z"
+ id="path872"
+ style="stroke-width:2.75028;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st1"
+ x1="43.5"
+ y1="45"
+ x2="43.5"
+ y2="45"
+ id="line874" />
+<line
+ class="st2"
+ x1="36.391674"
+ y1="36.691673"
+ x2="23.238926"
+ y2="23.538925"
+ id="line876"
+ style="stroke:#cc0000;stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<polyline
+ class="st3"
+ points="32.3,37.8 36.9,37.2 37.5,32.7 "
+ id="polyline878"
+ transform="matrix(1.3660384,0,0,1.3660384,-13.920935,-14.030747)"
+ style="stroke:#cc0000;stroke-width:2.19613153;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/circle-line-tangent.svg b/app/bin/bitmaps/SVG/circle-line-tangent.svg
new file mode 100644
index 0000000..02f8c39
--- /dev/null
+++ b/app/bin/bitmaps/SVG/circle-line-tangent.svg
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="circle-line-tangent.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata3363"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs3361" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1346"
+ inkscape:window-height="914"
+ id="namedview3359"
+ showgrid="false"
+ inkscape:zoom="10.897825"
+ inkscape:cx="23.995613"
+ inkscape:cy="24.041494"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style3348">
+ .st0{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FF0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<path
+ class="st0"
+ d="m 45.560452,24.091762 c 0,11.878615 -9.590075,21.468691 -21.46869,21.468691 -11.878617,0 -21.4686915,-9.590076 -21.4686915,-21.468691 0,-11.878617 9.5900745,-21.4686919 21.4686915,-21.4686919 11.878615,0 21.46869,9.5900749 21.46869,21.4686919 z"
+ id="path3350"
+ style="stroke-width:2.72446;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st1"
+ x1="43.5"
+ y1="45"
+ x2="43.5"
+ y2="45"
+ id="line3352" />
+
+
+<line
+ class="st2"
+ x1="23.34251"
+ y1="22.752092"
+ x2="37.761456"
+ y2="37.004139"
+ id="line4088"
+ style="fill:none;stroke:#cc0000;stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><polyline
+ class="st3"
+ points="28.8,24 24.4,24.7 23.7,29.1 "
+ id="polyline4090"
+ transform="matrix(1.6557924,0,0,1.5886737,-17.058824,-16.488148)"
+ style="fill:none;stroke:#cc0000;stroke-width:1.84969856;stroke-linecap:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></svg>
diff --git a/app/bin/bitmaps/SVG/circle-line.svg b/app/bin/bitmaps/SVG/circle-line.svg
new file mode 100644
index 0000000..2aa4811
--- /dev/null
+++ b/app/bin/bitmaps/SVG/circle-line.svg
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="circle-line.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1023"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1021" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1316"
+ inkscape:window-height="850"
+ id="namedview1019"
+ showgrid="false"
+ inkscape:zoom="10.889218"
+ inkscape:cx="24.01458"
+ inkscape:cy="23.968663"
+ inkscape:window-x="362"
+ inkscape:window-y="40"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style940">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#FF0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+ .st5{fill:#FB0000;}
+ .st6{font-family:'MyriadPro-Regular';}
+ .st7{font-size:12px;}
+</style>
+<path
+ class="st0"
+ d="M24,11.9"
+ id="path942" />
+<path
+ class="st0"
+ d="M23.9,2.9"
+ id="path944" />
+<path
+ class="st0"
+ d="M24,45.1"
+ id="path946" />
+<path
+ class="st0"
+ d="M23.9,36.9"
+ id="path948" />
+<path
+ class="st0"
+ d="M45.3,24.2"
+ id="path950" />
+<path
+ class="st0"
+ d="M36.5,24"
+ id="path952" />
+<path
+ class="st0"
+ d="M12,25"
+ id="path954" />
+<path
+ class="st0"
+ d="M3,25"
+ id="path956" />
+<path
+ class="st0"
+ d="M14.7,15.3"
+ id="path958" />
+<path
+ class="st0"
+ d="M8.7,9.9"
+ id="path960" />
+<path
+ class="st0"
+ d="M32.8,15.3"
+ id="path962" />
+<path
+ class="st0"
+ d="M38.6,8.4"
+ id="path964" />
+<path
+ class="st0"
+ d="M28.8,12.6"
+ id="path966" />
+<path
+ class="st0"
+ d="M32,4.5"
+ id="path968" />
+<path
+ class="st0"
+ d="M35.1,19"
+ id="path970" />
+<path
+ class="st0"
+ d="M43.3,14.7"
+ id="path972" />
+<path
+ class="st0"
+ d="M18.6,12.6"
+ id="path974" />
+<path
+ class="st0"
+ d="M14.7,4.9"
+ id="path976" />
+<path
+ class="st0"
+ d="M12.4,19.7"
+ id="path978" />
+<path
+ class="st0"
+ d="M4.1,16.9"
+ id="path980" />
+<path
+ class="st0"
+ d="M15.3,32.8"
+ id="path982" />
+<path
+ class="st0"
+ d="M8.7,39"
+ id="path984" />
+<path
+ class="st0"
+ d="M12.8,28.9"
+ id="path986" />
+<path
+ class="st0"
+ d="M4.6,32.8"
+ id="path988" />
+<path
+ class="st0"
+ d="M19.4,35.4"
+ id="path990" />
+<path
+ class="st0"
+ d="M15.3,43.9"
+ id="path992" />
+<path
+ class="st0"
+ d="M32.4,33.5"
+ id="path994" />
+<path
+ class="st0"
+ d="M39.2,39.6"
+ id="path996" />
+<path
+ class="st0"
+ d="M34.7,29.6"
+ id="path998" />
+<path
+ class="st0"
+ d="M43.9,32.8"
+ id="path1000" />
+<path
+ class="st0"
+ d="M28.8,35.9"
+ id="path1002" />
+<path
+ class="st0"
+ d="M32,43.9"
+ id="path1004" />
+<path
+ class="st1"
+ d="M 45.599801,24 C 45.599801,35.951159 35.951158,45.599801 24,45.599801 12.048841,45.599801 2.4001988,35.951159 2.4001988,24 2.4001988,12.048842 12.048841,2.4001989 24,2.4001989 35.951158,2.4001989 45.599801,12.048842 45.599801,24 Z"
+ id="path1006"
+ style="stroke-width:2.74109;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="43.5"
+ y1="45"
+ x2="43.5"
+ y2="45"
+ id="line1008" />
+<line
+ class="st3"
+ x1="6.2269526"
+ y1="24.224487"
+ x2="41.573009"
+ y2="24.275513"
+ id="line1010"
+ style="stroke:#cc0000;stroke-width:2.44399;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<polyline
+ class="st4"
+ points="8.6,20.9 5.6,24.5 8.6,28.1 "
+ id="polyline1012"
+ style="stroke:#cc0000;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.1988158,0,0,1.1988158,-0.48641593,-5.1464998)" />
+<polyline
+ class="st4"
+ points="39.2,27.7 42.6,24.2 39.2,20.9 "
+ id="polyline1014"
+ style="stroke:#cc0000;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.1777431,0,0,1.1777431,-8.5988466,-4.2258703)" />
+
+<text
+ xml:space="preserve"
+ style="font-weight:bold;font-size:17.0194px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial Bold';fill:#cc0000;fill-opacity:1;stroke-width:1.41828"
+ x="12.717101"
+ y="21.812561"
+ id="text1608"
+ transform="scale(1.0582049,0.94499656)"><tspan
+ sodipodi:role="line"
+ id="tspan1606"
+ x="12.717101"
+ y="21.812561"
+ style="fill:#cc0000;fill-opacity:1;stroke-width:1.41828">36</tspan></text></svg>
diff --git a/app/bin/bitmaps/SVG/circle-tangent.svg b/app/bin/bitmaps/SVG/circle-tangent.svg
new file mode 100644
index 0000000..3e970c6
--- /dev/null
+++ b/app/bin/bitmaps/SVG/circle-tangent.svg
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="circle-tangent.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata4097"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs4095"><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect890"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect886"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath878"><path
+ style="display:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.07687px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 30.578006,35.073034 3.682037,4.464428 4.595747,-4.216244 -3.946461,-4.268054 z"
+ id="path880"
+ sodipodi:nodetypes="ccccc" /><path
+ id="lpe_path-effect886"
+ style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.07687px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ class="powerclip"
+ d="M -0.929284,-0.7316369 H 48.929284 V 49.126931 H -0.929284 Z m 31.50729,35.8046709 3.682037,4.464428 4.595747,-4.216244 -3.946461,-4.268054 z" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath882"><path
+ style="display:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.07687px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 30.578006,35.073034 3.682037,4.464428 4.595747,-4.216244 -3.946461,-4.268054 z"
+ id="path884"
+ sodipodi:nodetypes="ccccc" /><path
+ id="lpe_path-effect890"
+ style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.07687px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ class="powerclip"
+ d="M -2,-2.1111104 H 50.322721 V 50.112193 H -2 Z m 32.578006,37.1841444 3.682037,4.464428 4.595747,-4.216244 -3.946461,-4.268054 z" /></clipPath></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1545"
+ inkscape:window-height="922"
+ id="namedview4093"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="24.039032"
+ inkscape:cy="28.51141"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style4048">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FF0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<g
+ id="g872"
+ inkscape:label="ties"
+ transform="matrix(1.0865725,0,0,1.0985893,-2.2578819,-2.3618824)"
+ clip-path="url(#clipPath882)"
+ inkscape:path-effect="#path-effect890"><line
+ class="st0"
+ x1="23.9"
+ y1="2.9000001"
+ x2="24"
+ y2="11.9"
+ id="line4050"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ d="M 23.9,2.9000001 24,11.9" /><line
+ class="st0"
+ x1="23.9"
+ y1="36.900002"
+ x2="24"
+ y2="45.099998"
+ id="line4052"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ d="M 23.9,36.900002 24,45.099998" /><line
+ class="st0"
+ x1="36.5"
+ y1="24"
+ x2="45.299999"
+ y2="24.200001"
+ id="line4054"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ d="m 36.5,24 8.799999,0.200001" /><line
+ class="st0"
+ x1="3"
+ y1="25"
+ x2="12"
+ y2="25"
+ id="line4056"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ d="m 3,25 h 9" /><line
+ class="st0"
+ x1="8.6179476"
+ y1="9.9343204"
+ x2="14.894994"
+ y2="15.583662"
+ id="line4058"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ d="M 8.6179476,9.9343204 14.894994,15.583662" /><line
+ class="st0"
+ x1="38.599998"
+ y1="8.3999996"
+ x2="32.799999"
+ y2="15.3"
+ id="line4060"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ d="M 38.599998,8.3999996 32.799999,15.3" /><line
+ class="st0"
+ x1="32"
+ y1="4.5"
+ x2="28.799999"
+ y2="12.6"
+ id="line4062"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ d="m 32,4.5 -3.200001,8.1" /><line
+ class="st0"
+ x1="43.299999"
+ y1="14.7"
+ x2="35.099998"
+ y2="19"
+ id="line4064"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ d="M 43.299999,14.7 35.099998,19" /><line
+ class="st0"
+ x1="14.7"
+ y1="4.9000001"
+ x2="18.6"
+ y2="12.6"
+ id="line4066"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ d="M 14.7,4.9000001 18.6,12.6" /><line
+ class="st0"
+ x1="4.0999999"
+ y1="16.9"
+ x2="12.4"
+ y2="19.700001"
+ id="line4068"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ d="M 4.0999999,16.9 12.4,19.700001" /><line
+ class="st0"
+ x1="8.6999998"
+ y1="39"
+ x2="15.3"
+ y2="32.799999"
+ id="line4070"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ d="M 8.6999998,39 15.3,32.799999" /><line
+ class="st0"
+ x1="4.5999999"
+ y1="32.799999"
+ x2="12.8"
+ y2="28.9"
+ id="line4072"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ d="M 4.5999999,32.799999 12.8,28.9" /><line
+ class="st0"
+ x1="15.3"
+ y1="43.900002"
+ x2="19.4"
+ y2="35.400002"
+ id="line4074"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ d="m 15.3,43.900002 4.1,-8.5" /><line
+ class="st0"
+ x1="39.200001"
+ y1="39.599998"
+ x2="32.799999"
+ y2="33.099998"
+ id="line4076"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ d="m 39.200001,39.599998 -6.400002,-6.5" /><line
+ class="st0"
+ x1="43.900002"
+ y1="32.799999"
+ x2="34.700001"
+ y2="29.6"
+ id="line4078"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ d="M 43.900002,32.799999 34.700001,29.6" /><line
+ class="st0"
+ x1="32"
+ y1="43.900002"
+ x2="28.799999"
+ y2="35.900002"
+ id="line4080"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ d="m 32,43.900002 -3.200001,-8" /></g>
+
+<g
+ id="g854"
+ inkscape:label="rails"
+ transform="matrix(1.0865725,0,0,1.0985893,-2.2578819,-2.3618824)"
+ clip-path="url(#clipPath878)"
+ inkscape:path-effect="#path-effect886"><path
+ class="st1"
+ d="m 43.179284,24.197647 c 0,10.611888 -8.567397,19.179284 -19.179285,19.179284 -10.611888,0 -19.179283,-8.567396 -19.179283,-19.179284 0,-10.611888 8.567395,-19.1792839 19.179283,-19.1792839 10.611888,0 19.179285,8.5673959 19.179285,19.1792839 z"
+ id="path4082"
+ style="stroke-width:1.83055574;stroke-miterlimit:10;stroke-dasharray:none"
+ inkscape:original-d="m 43.179284,24.197647 c 0,10.611888 -8.567397,19.179284 -19.179285,19.179284 -10.611888,0 -19.179283,-8.567396 -19.179283,-19.179284 0,-10.611888 8.567395,-19.1792839 19.179283,-19.1792839 10.611888,0 19.179285,8.5673959 19.179285,19.1792839 z" /><path
+ class="st1"
+ d="m 38.685289,24 c 0,8.021276 -6.43813,14.459406 -14.459407,14.459406 -8.021276,0 -14.459406,-6.43813 -14.459406,-14.459406 0,-8.021277 6.43813,-14.4594063 14.459406,-14.4594063 7.915734,0 14.459407,6.4381293 14.459407,14.4594063 z"
+ id="path4084"
+ style="stroke-width:1.83055574;stroke-miterlimit:10;stroke-dasharray:none"
+ inkscape:original-d="m 38.685289,24 c 0,8.021276 -6.43813,14.459406 -14.459407,14.459406 -8.021276,0 -14.459406,-6.43813 -14.459406,-14.459406 0,-8.021277 6.43813,-14.4594063 14.459406,-14.4594063 7.915734,0 14.459407,6.4381293 14.459407,14.4594063 z" /></g>
+
+
+<g
+ id="g876"
+ inkscape:label="arrow"
+ transform="matrix(1.065425,0,0,1.1038274,-2.1546271,-3.2465836)"><line
+ class="st2"
+ x1="24.711523"
+ y1="25.142181"
+ x2="36"
+ y2="36.299999"
+ id="line4088"
+ style="stroke:#cc0000;stroke-width:2.76636;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><polyline
+ class="st3"
+ points="28.8,24 24.4,24.7 23.7,29.1 "
+ id="polyline4090"
+ transform="matrix(1.3657905,0,0,1.3104272,-8.6137653,-7.225371)"
+ style="stroke:#cc0000;stroke-width:2.06781049;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g>
+</svg>
diff --git a/app/bin/bitmaps/SVG/circle.svg b/app/bin/bitmaps/SVG/circle.svg
new file mode 100644
index 0000000..660e7fd
--- /dev/null
+++ b/app/bin/bitmaps/SVG/circle.svg
@@ -0,0 +1,301 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="circle.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata2607"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs2605"><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1130"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1126"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath1118"><path
+ style="display:none;fill:#ffffff;fill-opacity:1;stroke:#fefefe;stroke-width:0.93628px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 4.7756386,23.899697 5.5479404,-6.428566 28.268076,0.264187 5.636002,6.340504 -6.340502,6.60469 -28.0038892,-0.176125 z"
+ id="path1120" /><path
+ id="lpe_path-effect1126"
+ style="fill:#ffffff;fill-opacity:1;stroke:#fefefe;stroke-width:0.93628px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ class="powerclip"
+ d="M -0.81667071,-1.0453595 H 49.139391 V 48.910703 H -0.81667071 Z m 5.59230931,24.9450565 5.1076272,6.60469 28.0038892,0.176125 6.340502,-6.60469 -5.636002,-6.340504 -28.268076,-0.264187 z" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath1122"><path
+ style="display:none;fill:#ffffff;fill-opacity:1;stroke:#fefefe;stroke-width:0.93628px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 4.7756386,23.899697 5.5479404,-6.428566 28.268076,0.264187 5.636002,6.340504 -6.340502,6.60469 -28.0038892,-0.176125 z"
+ id="path1124" /><path
+ id="lpe_path-effect1130"
+ style="fill:#ffffff;fill-opacity:1;stroke:#fefefe;stroke-width:0.93628px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ class="powerclip"
+ d="M -2,-2.5284135 H 50.322721 V 50.393757 H -2 Z m 6.7756386,26.4281105 5.1076272,6.60469 28.0038892,0.176125 6.340502,-6.60469 -5.636002,-6.340504 -28.268076,-0.264187 z" /></clipPath></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1594"
+ inkscape:window-height="933"
+ id="namedview2603"
+ showgrid="false"
+ inkscape:zoom="10.631993"
+ inkscape:cx="24.031242"
+ inkscape:cy="23.843131"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:snap-nodes="false"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style2554">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FF0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+ .st4{fill:#FB0000;}
+ .st5{font-family:'MyriadPro-Regular';}
+ .st6{font-size:12px;}
+</style>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<g
+ id="g2669"
+ inkscape:label="ties"
+ transform="matrix(1.1036179,0,0,1.0877739,-2.4767987,-1.9863076)"
+ clip-path="url(#clipPath1122)"
+ inkscape:path-effect="#path-effect1130"><line
+ class="st0"
+ x1="32"
+ y1="43.900002"
+ x2="28.799999"
+ y2="35.900002"
+ id="line2586"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="m 32,43.900002 -3.200001,-8" /><line
+ class="st0"
+ x1="23.9"
+ y1="2.482697"
+ x2="24"
+ y2="11.482697"
+ id="line2556"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="m 23.9,2.482697 0.1,9" /><line
+ class="st0"
+ x1="23.900255"
+ y1="36.408672"
+ x2="23.999744"
+ y2="45.382671"
+ id="line2558"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="m 23.900255,36.408672 0.09949,8.973999" /><line
+ class="st0"
+ x1="36.5"
+ y1="24"
+ x2="45.299999"
+ y2="24.200001"
+ id="line2560"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="m 36.5,24 8.799999,0.200001" /><line
+ class="st0"
+ x1="3"
+ y1="25"
+ x2="12"
+ y2="25"
+ id="line2562"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="m 3,25 h 9" /><line
+ class="st0"
+ x1="8.3002796"
+ y1="9.5427513"
+ x2="14.785051"
+ y2="15.379046"
+ id="line2564"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 8.3002796,9.5427513 14.785051,15.379046" /><line
+ class="st0"
+ x1="38.767326"
+ y1="8.2077475"
+ x2="32.819508"
+ y2="15.283601"
+ id="line2566"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 38.767326,8.2077475 32.819508,15.283601" /><line
+ class="st0"
+ x1="32.130051"
+ y1="4.2333679"
+ x2="28.829287"
+ y2="12.58843"
+ id="line2568"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 32.130051,4.2333679 28.829287,12.58843" /><line
+ class="st0"
+ x1="43.299999"
+ y1="14.7"
+ x2="35.099998"
+ y2="19"
+ id="line2570"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 43.299999,14.7 35.099998,19" /><line
+ class="st0"
+ x1="14.7"
+ y1="4.9000001"
+ x2="18.6"
+ y2="12.6"
+ id="line2572"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 14.7,4.9000001 18.6,12.6" /><line
+ class="st0"
+ x1="4.0999999"
+ y1="16.9"
+ x2="12.4"
+ y2="19.700001"
+ id="line2574"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 4.0999999,16.9 12.4,19.700001" /><line
+ class="st0"
+ x1="8.6999998"
+ y1="39"
+ x2="15.3"
+ y2="32.799999"
+ id="line2576"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 8.6999998,39 15.3,32.799999" /><line
+ class="st0"
+ x1="4.5999999"
+ y1="32.799999"
+ x2="12.8"
+ y2="28.9"
+ id="line2578"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 4.5999999,32.799999 12.8,28.9" /><line
+ class="st0"
+ x1="15.3"
+ y1="43.900002"
+ x2="19.4"
+ y2="35.400002"
+ id="line2580"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="m 15.3,43.900002 4.1,-8.5" /><line
+ class="st0"
+ x1="39.200001"
+ y1="39.599998"
+ x2="32.400002"
+ y2="33.5"
+ id="line2582"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 39.200001,39.599998 32.400002,33.5" /><line
+ class="st0"
+ x1="43.900002"
+ y1="32.799999"
+ x2="34.700001"
+ y2="29.6"
+ id="line2584"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ d="M 43.900002,32.799999 34.700001,29.6" /></g>
+<g
+ id="g2682"
+ inkscape:label="rail"
+ transform="matrix(1.1036179,0,0,1.0877739,-2.4767987,-1.9863076)"
+ style="stroke-width:1.87256;stroke-miterlimit:10;stroke-dasharray:none"
+ clip-path="url(#clipPath1118)"
+ inkscape:path-effect="#path-effect1126"><path
+ class="st1"
+ d="m 43.203111,23.932672 c 0,10.53579 -8.50596,19.041751 -19.041752,19.041751 -10.53579,0 -19.0417497,-8.505961 -19.0417497,-19.041751 0,-10.535792 8.5059597,-19.0417515 19.0417497,-19.0417515 10.535792,0 19.041752,8.5059595 19.041752,19.0417515 z"
+ id="path2588"
+ style="stroke-width:1.87256;stroke-miterlimit:10;stroke-dasharray:none"
+ inkscape:original-d="m 43.203111,23.932672 c 0,10.53579 -8.50596,19.041751 -19.041752,19.041751 -10.53579,0 -19.0417497,-8.505961 -19.0417497,-19.041751 0,-10.535792 8.5059597,-19.0417515 19.0417497,-19.0417515 10.535792,0 19.041752,8.5059595 19.041752,19.0417515 z" /><path
+ class="st1"
+ d="m 38.997085,23.932672 c 0,8.230037 -6.605687,14.835726 -14.835725,14.835726 -8.230037,0 -14.8357248,-6.605689 -14.8357248,-14.835726 0,-8.230038 6.6056878,-14.8357262 14.8357248,-14.8357262 8.121748,0 14.835725,6.6056882 14.835725,14.8357262 z"
+ id="path2590"
+ style="stroke-width:1.87256;stroke-miterlimit:10;stroke-dasharray:none"
+ inkscape:original-d="m 38.997085,23.932672 c 0,8.230037 -6.605687,14.835726 -14.835725,14.835726 -8.230037,0 -14.8357248,-6.605689 -14.8357248,-14.835726 0,-8.230038 6.6056878,-14.8357262 14.8357248,-14.8357262 8.121748,0 14.835725,6.6056882 14.835725,14.8357262 z" /></g>
+
+
+
+
+
+<text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:18.6667px;line-height:1.25;font-family:Calibri;-inkscape-font-specification:'Calibri Bold'"
+ x="14.594995"
+ y="29.897146"
+ id="text2688"><tspan
+ sodipodi:role="line"
+ id="tspan2686"
+ x="14.594995"
+ y="29.897146">30</tspan></text><g
+ id="g2674"
+ inkscape:label="larrow"
+ transform="translate(-0.94356603,-0.07462151)"><line
+ class="st2"
+ x1="7.8782554"
+ y1="24.262081"
+ x2="14.726001"
+ y2="24.237926"
+ id="line2594"
+ style="stroke:#cc0000;stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><polyline
+ class="st3"
+ points="10.2,20.9 7.5,24.5 10.2,28.1 "
+ id="polyline2596"
+ transform="matrix(1.3546522,0,0,1.2105618,-2.4320948,-5.5707793)"
+ style="stroke:#cc0000;stroke-width:2.34268;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g><g
+ id="g2679"
+ inkscape:label="rarrow"
+ transform="translate(1.5967442,-0.1432525)"><polyline
+ class="st3"
+ points="37.4,27.7 40.4,24.2 37.4,20.9 "
+ id="polyline2598"
+ transform="matrix(1.3089049,0,0,1.3063324,-12.571103,-7.6491877)"
+ style="stroke:#cc0000;stroke-width:2.29425;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><line
+ class="st2"
+ x1="32.984512"
+ y1="23.985939"
+ x2="39.342487"
+ y2="23.961742"
+ id="line2594-8"
+ style="fill:none;stroke:#cc0000;stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/connect.svg b/app/bin/bitmaps/SVG/connect.svg
new file mode 100644
index 0000000..91578a6
--- /dev/null
+++ b/app/bin/bitmaps/SVG/connect.svg
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="connect.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata39"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs37" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1436"
+ inkscape:window-height="950"
+ id="namedview35"
+ showgrid="false"
+ inkscape:zoom="13.417014"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#5494FF;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#003794;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FB0000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FB0000;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#FB0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<line
+ class="st0"
+ x1="4.3307743"
+ y1="9.274683"
+ x2="4.3307743"
+ y2="23.698782"
+ id="line4" />
+<line
+ class="st0"
+ x1="10.887182"
+ y1="9.274683"
+ x2="10.887182"
+ y2="23.698782"
+ id="line6" />
+<line
+ class="st0"
+ x1="17.44359"
+ y1="9.274683"
+ x2="17.44359"
+ y2="23.698782"
+ id="line8" />
+<line
+ class="st0"
+ x1="30.556406"
+ y1="9.274683"
+ x2="30.556406"
+ y2="23.698782"
+ id="line10" />
+<line
+ class="st0"
+ x1="37.112816"
+ y1="9.274683"
+ x2="37.112816"
+ y2="23.698782"
+ id="line12" />
+<line
+ class="st0"
+ x1="43.669224"
+ y1="9.274683"
+ x2="43.669224"
+ y2="23.698782"
+ id="line14" />
+<line
+ class="st1"
+ x1="27.249117"
+ y1="12.130193"
+ x2="46.29179"
+ y2="12.130193"
+ id="line16"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st1"
+ x1="1.7082114"
+ y1="12.130193"
+ x2="20.750879"
+ y2="12.130193"
+ id="line18"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st1"
+ x1="27.249117"
+ y1="20.76922"
+ x2="46.29179"
+ y2="20.76922"
+ id="line20"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st1"
+ x1="1.7082114"
+ y1="20.76922"
+ x2="20.750879"
+ y2="20.76922"
+ id="line22"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="25.311279"
+ y1="31.447706"
+ x2="46.29179"
+ y2="31.447706"
+ id="line24"
+ style="stroke:#cc0000;stroke-width:3.27821;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<path
+ class="st3"
+ d="M 26.229179,29.861805"
+ id="path26"
+ style="stroke-width:1.31128" />
+<polyline
+ class="st4"
+ points="28.5,33.3 24.2,29 28.5,24.8 "
+ id="polyline28"
+ style="stroke:#cc0000;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.3112816,0,0,1.3112816,-6.1594786,-6.5794627)" />
+<line
+ class="st2"
+ x1="21.503935"
+ y1="31.447706"
+ x2="1.8347114"
+ y2="31.447706"
+ id="line30"
+ style="stroke:#cc0000;stroke-width:3.27821;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<polyline
+ class="st4"
+ points="18.3,33.3 21.8,29 18.3,24.8 "
+ id="polyline32"
+ style="stroke:#cc0000;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.3112816,0,0,1.3112816,-7.3442601,-6.5794627)" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/control.svg b/app/bin/bitmaps/SVG/control.svg
new file mode 100644
index 0000000..051e57f
--- /dev/null
+++ b/app/bin/bitmaps/SVG/control.svg
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg31"
+ sodipodi:docname="control.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata35"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1322"
+ inkscape:window-height="814"
+ id="namedview33"
+ showgrid="false"
+ inkscape:zoom="6.6431949"
+ inkscape:cx="31.987621"
+ inkscape:cy="32.062886"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg31"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><defs
+ id="defs5"><clipPath
+ id="clipPath4350"><path
+ d="m0 48h48v-48h-48z"
+ id="path2" /></clipPath></defs><g
+ transform="matrix(2.0501569,0,0,-2.0501569,-18.313258,76.783813)"
+ id="g29"><g
+ transform="translate(11.888,33.208)"
+ id="g9"><path
+ d="M -1.406431,2.5974208 26.856335,-25.32524"
+ fill="none"
+ stroke="#020000"
+ stroke-miterlimit="10"
+ id="path7"
+ style="stroke-width:2.00867;stroke-miterlimit:10;stroke-dasharray:none" /></g><g
+ transform="translate(11.425,9.4795)"
+ id="g13"><path
+ d="M -1.0910131,-1.3970219 27.226401,26.266849"
+ fill="none"
+ stroke="#020000"
+ stroke-miterlimit="10"
+ id="path11"
+ style="stroke-width:2.00867;stroke-miterlimit:10;stroke-dasharray:none" /></g><g
+ clip-path="url(#clipPath4350)"
+ id="g27"><path
+ d="m 31.918,21.701 c 0,4.148 -3.363,7.511 -7.512,7.511 -4.148,0 -7.511,-3.363 -7.511,-7.511 0,-4.148 3.363,-7.512 7.511,-7.512 4.149,0 7.512,3.364 7.512,7.512 z"
+ fill="none"
+ stroke="#020000"
+ stroke-miterlimit="10"
+ id="path15"
+ style="stroke-width:2.29562;stroke-miterlimit:10;stroke-dasharray:none"
+ inkscape:label="circle" /><path
+ d="m 19.343502,27.02497 c 0,0 5.776086,4.650897 10.170815,-0.415086 4.573168,-5.272793 -0.02944,-10.123552 -0.02944,-10.123552 z"
+ fill="#f40f0f"
+ id="path19"
+ style="stroke-width:0.993037"
+ inkscape:label="red" /><path
+ d="m 29.65346,16.520082 c 0,0 -5.706152,-4.856377 -10.361581,0.407837 -4.65536,5.265211 0.108718,9.878092 0.108718,9.878092"
+ fill="#1cf211"
+ id="path23"
+ inkscape:label="green" /><path
+ style="fill:none;stroke:#000000;stroke-width:0.777716;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 19.343502,27.02497 29.65346,16.520082"
+ id="path860"
+ sodipodi:nodetypes="cc"
+ inkscape:label="divide" /></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/convert-from.svg b/app/bin/bitmaps/SVG/convert-from.svg
new file mode 100644
index 0000000..259abd8
--- /dev/null
+++ b/app/bin/bitmaps/SVG/convert-from.svg
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg5557"
+ sodipodi:docname="convert-from.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata5561"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1623"
+ inkscape:window-height="905"
+ id="namedview5559"
+ showgrid="false"
+ inkscape:zoom="9.3956422"
+ inkscape:cx="32"
+ inkscape:cy="35.011765"
+ inkscape:window-x="210"
+ inkscape:window-y="45"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="arrow"
+ inkscape:document-rotation="0" /><defs
+ id="defs5523"><clipPath
+ id="clipPath3916"><path
+ d="m0 48h48v-48h-48z"
+ id="path5520" /></clipPath></defs><g
+ id="arrow"
+ transform="matrix(2.0520076,0,0,-2.195505,-30.0162,95.07383)"><g
+ transform="matrix(1.3333,0,0,-1.3333,30.307242,34.6674)"
+ id="g4851"><path
+ d="M 0,0 V 6"
+ fill="none"
+ stroke="#f7113e"
+ stroke-miterlimit="10"
+ id="path4849"
+ style="stroke:#c4082d;stroke-width:1.23675;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g><g
+ transform="matrix(1.3333,0,0,-1.3333,30.307242,26.6676)"
+ id="g4855"
+ style="stroke-width:1.06008;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="M 0,0 -3.352,-2.71"
+ fill="none"
+ stroke="#f7113e"
+ stroke-miterlimit="10"
+ id="path4853"
+ style="stroke:#c4082d;stroke-width:1.23675;stroke-linecap:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g><g
+ transform="matrix(1.3333,0,0,-1.3333,30.307242,26.6676)"
+ id="g4859"
+ style="stroke-width:1.06008;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="M 0,0 2.889,-2.479"
+ fill="none"
+ stroke="#f7113e"
+ stroke-miterlimit="10"
+ id="path4857"
+ style="stroke:#c4082d;stroke-width:1.23675;stroke-linecap:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g></g><g
+ id="f"
+ transform="matrix(1.4137631,0,0,1.3410122,-11.127876,-9.7695704)"
+ style="stroke-width:1.00007;stroke-miterlimit:4;stroke-dasharray:none"><g
+ transform="matrix(1.3333,0,0,-1.3333,35.654587,38.167384)"
+ id="g4839"
+ style="stroke-width:1.36178;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M 0,0 -7.911,0.006"
+ fill="none"
+ stroke="#000202"
+ stroke-miterlimit="10"
+ id="path4837"
+ style="stroke-width:1.36178;stroke-miterlimit:4;stroke-dasharray:none" /></g><g
+ transform="matrix(1.3333,0,0,-1.3333,25.99935,38.6673)"
+ id="g4843"
+ style="stroke-width:1.36178154;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M 0,0 V -10"
+ fill="none"
+ stroke="#000202"
+ stroke-miterlimit="10"
+ id="path4841"
+ style="stroke-width:1.36178154;stroke-miterlimit:4;stroke-dasharray:none" /></g><g
+ transform="matrix(1.3333,0,0,-1.3333,26.590717,44.286256)"
+ id="g4847"
+ style="stroke-width:1.36178;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M 0,0 H 5"
+ fill="none"
+ stroke="#000202"
+ stroke-miterlimit="10"
+ id="path4845"
+ style="stroke-width:1.36178;stroke-miterlimit:4;stroke-dasharray:none" /></g></g><g
+ transform="matrix(1.799285,0,0,-2.0116395,10.651964,14.444271)"
+ id="cornu"
+ style="stroke-width:1.31406;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M 0,0 C 1.185,-0.401 2.471,0.235 2.872,1.42 3.373,2.901 2.578,4.508 1.097,5.009 -0.755,5.636 -2.764,4.643 -3.39,2.791 c -0.783,-2.315 0.459,-4.826 2.773,-5.609 1.645,-0.556 4.729,0.566 4.729,0.566 0,0 6.054,3.132 8.366,4.21 2.311,1.079 7.842,2.739 7.842,2.739 0,0 2.679,0.676 4.067,0.207 2.314,-0.782 3.555,-3.294 2.773,-5.609 -0.627,-1.852 -2.636,-2.845 -4.487,-2.218 -1.482,0.501 -2.277,2.107 -1.775,3.589 0.401,1.185 1.686,1.821 2.872,1.42"
+ fill="none"
+ stroke="#000202"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ id="path4833"
+ style="stroke-width:1.31406;stroke-miterlimit:4;stroke-dasharray:none" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/convert-to.svg b/app/bin/bitmaps/SVG/convert-to.svg
new file mode 100644
index 0000000..5876444
--- /dev/null
+++ b/app/bin/bitmaps/SVG/convert-to.svg
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg4865"
+ sodipodi:docname="convert-to.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><g
+ id="g5467"
+ transform="matrix(1.4137631,0,0,1.3410122,-10.478931,-46.220575)"
+ style="stroke-width:1.00007;stroke-miterlimit:4;stroke-dasharray:none"><g
+ transform="matrix(1.3333,0,0,-1.3333,35.654587,38.167384)"
+ id="g4839"
+ style="stroke-width:1.36178;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M 0,0 -7.911,0.006"
+ fill="none"
+ stroke="#000202"
+ stroke-miterlimit="10"
+ id="path4837"
+ style="stroke-width:1.36178;stroke-miterlimit:4;stroke-dasharray:none" /></g><g
+ transform="matrix(1.3333,0,0,-1.3333,25.99935,38.6673)"
+ id="g4843"
+ style="stroke-width:1.36178;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M 0,0 V -10"
+ fill="none"
+ stroke="#000202"
+ stroke-miterlimit="10"
+ id="path4841"
+ style="stroke-width:1.36178;stroke-miterlimit:4;stroke-dasharray:none" /></g><g
+ transform="matrix(1.3333,0,0,-1.3333,26.590717,44.286256)"
+ id="g4847"
+ style="stroke-width:1.36178;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M 0,0 H 5"
+ fill="none"
+ stroke="#000202"
+ stroke-miterlimit="10"
+ id="path4845"
+ style="stroke-width:1.36178;stroke-miterlimit:4;stroke-dasharray:none" /></g></g><metadata
+ id="metadata4869"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1669"
+ inkscape:window-height="967"
+ id="namedview4867"
+ showgrid="false"
+ inkscape:zoom="9.3956422"
+ inkscape:cx="35.831564"
+ inkscape:cy="27.742707"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g4855"
+ inkscape:document-rotation="0" /><defs
+ id="defs4831"><clipPath
+ id="clipPath3691"><path
+ d="m0 48h48v-48h-48z"
+ id="path4828" /></clipPath></defs><g
+ transform="matrix(1.799285,0,0,-2.0116395,10.947264,53.336766)"
+ id="g4835"><path
+ d="m -0.35491538,-0.05290825 c 1.185,-0.401 2.47099998,0.235 2.87199998,1.42000005 0.501,1.481 -0.294,3.088 -1.77499998,3.589 -1.85200002,0.627 -3.86100002,-0.366 -4.48700002,-2.218 -0.783,-2.31500005 0.459,-4.826 2.77300002,-5.609 1.645,-0.556 4.72899998,0.566 4.72899998,0.566 0,0 6.054,3.13199995 8.3659994,4.21 2.311,1.079 7.842,2.739 7.842,2.739 0,0 2.679,0.676 4.067,0.207 2.314,-0.782 3.555,-3.294 2.773,-5.60900005 -0.627,-1.85199995 -2.636,-2.84499995 -4.487,-2.21799995 -1.482,0.501 -2.277,2.10699995 -1.775,3.58899995 0.401,1.18500005 1.686,1.82100005 2.872,1.42000005"
+ fill="none"
+ stroke="#000202"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ id="path4833"
+ style="stroke-width:1.31406;stroke-miterlimit:10;stroke-dasharray:none" /></g><g
+ id="g5475"
+ transform="matrix(2.0520076,0,0,-2.195505,-29.734387,99.778597)"><g
+ transform="matrix(1.3333,0,0,-1.3333,30.307242,34.6674)"
+ id="g4851"><path
+ d="M 0,0 V 6"
+ fill="none"
+ stroke="#f7113e"
+ stroke-miterlimit="10"
+ id="path4849"
+ style="stroke:#c4082d;stroke-width:1.23675;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g><g
+ transform="matrix(1.3333,0,0,-1.3333,30.307242,26.6676)"
+ id="g4855"><path
+ d="M 0,0 -3.352,-2.71"
+ fill="none"
+ stroke="#f7113e"
+ stroke-miterlimit="10"
+ id="path4853"
+ style="stroke:#c4082d;stroke-width:1.23675;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g><g
+ transform="matrix(1.3333,0,0,-1.3333,30.307242,26.6676)"
+ id="g4859"><path
+ d="M 1.6008594e-7,0 2.8890002,-2.479"
+ fill="none"
+ stroke="#f7113e"
+ stroke-miterlimit="10"
+ id="path4857"
+ style="stroke:#c4082d;stroke-width:1.23675441;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1;stroke-linecap:round" /></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/copy.svg b/app/bin/bitmaps/SVG/copy.svg
new file mode 100644
index 0000000..a865437
--- /dev/null
+++ b/app/bin/bitmaps/SVG/copy.svg
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="copy.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><rect
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:2.00172;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect900"
+ width="49.334457"
+ height="45.780003"
+ x="2.1271074"
+ y="-48.169491"
+ transform="rotate(90)" /><rect
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:2.00172;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect900-2"
+ width="49.334457"
+ height="45.780003"
+ x="12.440801"
+ y="-61.699257"
+ transform="rotate(90)" /><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1571"
+ inkscape:window-height="866"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="9.4049726"
+ inkscape:cx="25.305762"
+ inkscape:cy="32.961287"
+ inkscape:window-x="18"
+ inkscape:window-y="57"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg1659"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><g
+ inkscape:groupmode="layer"
+ id="layer1"
+ inkscape:label="Export" /></svg>
diff --git a/app/bin/bitmaps/SVG/cornu.svg b/app/bin/bitmaps/SVG/cornu.svg
new file mode 100644
index 0000000..be91077
--- /dev/null
+++ b/app/bin/bitmaps/SVG/cornu.svg
@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg6443"
+ sodipodi:docname="cornu.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1507"
+ inkscape:window-height="985"
+ id="namedview6445"
+ showgrid="false"
+ inkscape:zoom="10.785861"
+ inkscape:cx="32"
+ inkscape:cy="32"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg6443"
+ inkscape:document-rotation="0"
+ inkscape:snap-nodes="false" /><metadata
+ id="metadata6308"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+ id="defs6325"><clipPath
+ id="clipPath1912"><path
+ d="m0 48h48v-48h-48z"
+ id="path6310" /></clipPath><clipPath
+ id="clipPath1936"><path
+ d="m0 48h48v-48h-48z"
+ id="path6313" /></clipPath><clipPath
+ id="clipPath1964"><path
+ d="m0 48h48v-48h-48z"
+ id="path6316" /></clipPath><clipPath
+ id="clipPath1996"><path
+ d="m0 48h48v-48h-48z"
+ id="path6319" /></clipPath><clipPath
+ id="clipPath2020"><path
+ d="m0 48h48v-48h-48z"
+ id="path6322" /></clipPath></defs><g
+ transform="matrix(1.4051383,0.1207861,0.1207861,-1.4051383,52.653185,59.584292)"
+ id="g6329"
+ style="stroke:#da8b0d;stroke-opacity:1"><path
+ d="M -0.53043187,-0.32477071 -4.1384319,7.4052293"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6327"
+ style="stroke:#da8b0d;stroke-opacity:1" /></g><g
+ clip-path="url(#clipPath1912)"
+ id="g6335"
+ transform="matrix(1.3333,0,0,-1.3333,0,64)"
+ style="stroke:#da8b0d;stroke-opacity:1"><g
+ transform="translate(23.421,3.4521)"
+ id="g6333"
+ style="stroke:#da8b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.4103202,0,0,-1.4103202,26.835818,59.959223)"
+ id="g6339"
+ style="stroke:#da8b0d;stroke-opacity:1"><path
+ d="M 0.43863234,-0.15445476 2.8143677,7.9924548"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6337"
+ style="stroke:#da8b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.3333,0,0,-1.3333,20.002167,54.772364)"
+ id="g6343"
+ style="stroke:#da8b0d;stroke-opacity:1" /><g
+ transform="matrix(1.3961819,-0.199196,-0.199196,-1.3961819,18.606956,56.393024)"
+ id="g6347"
+ style="stroke:#da8b0d;stroke-opacity:1"
+ inkscape:transform-center-x="-0.58841826"
+ inkscape:transform-center-y="-0.19613932"><path
+ d="M 0,0 5.955,6.266"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6345"
+ style="stroke:#da8b0d;stroke-opacity:1" /></g><g
+ clip-path="url(#clipPath1936)"
+ id="g6361"
+ transform="matrix(1.4103202,0,0,-1.4103202,-2.756989,65.624888)"
+ style="stroke:#da8b0d;stroke-opacity:1"><g
+ transform="translate(37.121,3.6514)"
+ id="g6351"
+ style="stroke:#da8b0d;stroke-opacity:1"><path
+ d="M -4.1461428,-0.66416076 -5.0396534,7.7465653"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6349"
+ style="stroke:#da8b0d;stroke-opacity:1" /></g><g
+ transform="translate(32.61,3.1055)"
+ id="g6355"
+ style="stroke:#da8b0d;stroke-opacity:1" /><g
+ transform="translate(28.022,2.8711)"
+ id="g6359"
+ style="stroke:#da8b0d;stroke-opacity:1"><path
+ d="m -0.97125371,0 0.79568866,8.345"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6357"
+ style="stroke:#da8b0d;stroke-opacity:1" /></g></g><g
+ transform="matrix(1.4075989,-0.08756851,-0.08756851,-1.4075989,11.637587,51.494181)"
+ id="g6365"
+ style="stroke:#da8b0d;stroke-opacity:1"><path
+ d="M 0,0 7.415,5.462"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6363"
+ style="stroke:#da8b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.4081934,-0.07742166,-0.07742166,-1.4081934,6.2032358,44.084047)"
+ id="g6369"
+ style="stroke:#da8b0d;stroke-opacity:1"><path
+ d="M 0,0 8.257,3.587"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6367"
+ style="stroke:#da8b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.4103202,0,0,-1.4103202,3.0355272,35.271384)"
+ id="g6373"
+ style="stroke:#da8b0d;stroke-opacity:1"><path
+ d="M 0,0 8.792,1.248"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6371"
+ style="stroke:#da8b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.4039347,-0.13405287,-0.13405287,-1.4039347,2.3960496,26.427677)"
+ id="g6381"
+ style="stroke:#da8b0d;stroke-opacity:1"><path
+ d="M 0,0 8.792,-1.482"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6379"
+ style="stroke:#da8b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.4103202,0,0,-1.4103202,38.869264,3.0702429)"
+ id="g6385"
+ style="fill:#000000;fill-opacity:1;stroke:#da8b0d;stroke-opacity:1"><path
+ d="M 0,0 -2.576,-8.066"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6383"
+ style="fill:#000000;fill-opacity:1;stroke:#da8b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.3739992,0.02466772,0.02412428,-1.3437294,11.230952,9.1341216)"
+ id="g6391"
+ style="fill:#000000;fill-opacity:1;stroke:#da8b0d;stroke-opacity:1"><path
+ d="M 0,0 6.117,-6.317"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6389"
+ style="fill:#000000;fill-opacity:1;stroke:#da8b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.4726035,0.09971061,0.09767207,-1.4424968,46.983641,7.6869091)"
+ id="g6395"
+ style="fill:#000000;fill-opacity:1;stroke:#da8b0d;stroke-opacity:1"><path
+ d="M 0,0 -4.663,-6.551"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6393"
+ style="fill:#000000;fill-opacity:1;stroke:#da8b0d;stroke-opacity:1" /></g><g
+ clip-path="url(#clipPath1996)"
+ id="g6401"
+ transform="matrix(1.4103202,0,-0.09291026,-1.4103202,-0.3046177,66.311376)"
+ style="fill:#000000;fill-opacity:1;stroke:#da8b0d;stroke-opacity:1"><g
+ transform="translate(23.871,45.375)"
+ id="g6399"
+ style="fill:#000000;fill-opacity:1;stroke:#da8b0d;stroke-opacity:1"><path
+ d="M 0,0 -0.165,-8.405"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6397"
+ style="fill:#000000;fill-opacity:1;stroke:#da8b0d;stroke-opacity:1" /></g></g><g
+ transform="matrix(1.4017562,0.15518603,0.15518603,-1.4017562,19.744526,4.1692554)"
+ id="g6405"
+ style="fill:#000000;fill-opacity:1;stroke:#da8b0d;stroke-opacity:1"
+ inkscape:transform-center-x="-0.098070038"
+ inkscape:transform-center-y="0.29420937"><path
+ d="M 0,0 4.052,-7.409"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6403"
+ style="fill:#000000;fill-opacity:1;stroke:#da8b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.4055377,-0.11604642,-0.11604642,-1.4055377,5.3000909,16.561813)"
+ id="g6409"
+ style="fill:#000000;fill-opacity:1;stroke:#da8b0d;stroke-opacity:1"><path
+ d="M 0,0 7.263,-4.523"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6407"
+ style="fill:#000000;fill-opacity:1;stroke:#da8b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.3333,0,0,-1.3333,55.595943,54.600502)"
+ id="g6417" /><g
+ id="g7089"
+ transform="matrix(1.0440666,0,0,1.0440666,-1.9914136,-1.4628919)"
+ style="stroke-width:2.02624;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="M -0.42269799,0.07044967 C -13.122597,-5.531302 -28.031,-1.495 -34.561,9.957 c -3.953906,9.303899 -0.254255,21.297396 8.737,25.215 8.531148,2.893154 16.037859,1.590047 21.061255,-5.246805"
+ fill="none"
+ stroke="#000000"
+ stroke-miterlimit="10"
+ id="path6415"
+ transform="matrix(1.3333,0,0,-1.3333,55.595943,54.600502)"
+ style="stroke-width:1.51972;stroke-miterlimit:10;stroke-dasharray:none"
+ sodipodi:nodetypes="cccc" /><g
+ transform="matrix(1.3333,0,0,-1.3333,52.142696,47.797738)"
+ id="g6421"
+ style="stroke-width:1.51972;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="M 0.40159691,-0.79662787 C -9.968697,-5.7615966 -22.124981,-2.6274606 -26.983513,6.223499 c -3.88599,7.083272 -2.647838,15.389633 4.828833,19.071098 5.980293,2.944754 13.8382692,1.482331 16.8805774,-3.902071"
+ fill="none"
+ stroke="#000000"
+ stroke-miterlimit="10"
+ id="path6419"
+ style="stroke-width:1.51972;stroke-miterlimit:10;stroke-dasharray:none"
+ sodipodi:nodetypes="cccc" /></g></g><g
+ transform="matrix(1.2168566,0,0,-1.2168566,52.523609,17.239565)"
+ id="g6425"
+ style="stroke-width:2.12718;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="m 0,0 c 0,-1.831 -1.455,-3.315 -3.248,-3.315 -1.796,0 -3.251,1.484 -3.251,3.315 0,1.831 1.455,3.314 3.251,3.314 C -1.455,3.314 0,1.831 0,0 Z"
+ fill="none"
+ stroke="#ff0000"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6423"
+ style="stroke:#cc0000;stroke-width:2.12718;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g><g
+ transform="matrix(1.2061086,0,0,-1.2061086,60.422316,51.690421)"
+ id="g6429"
+ style="stroke-width:2.12718;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="m 0,0 c 0,-1.83 -1.454,-3.314 -3.249,-3.314 -1.795,0 -3.25,1.484 -3.25,3.314 0,1.83 1.455,3.314 3.25,3.314 C -1.454,3.314 0,1.83 0,0 Z"
+ fill="none"
+ stroke="#ff0000"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6427"
+ style="stroke:#cc0000;stroke-width:2.12718;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/curved-chord.svg b/app/bin/bitmaps/SVG/curved-chord.svg
new file mode 100644
index 0000000..5db0f01
--- /dev/null
+++ b/app/bin/bitmaps/SVG/curved-chord.svg
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="curved-chord.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata7187"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs7185" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1490"
+ inkscape:window-height="975"
+ id="namedview7183"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="23.9991"
+ inkscape:cy="24.717875"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style7140">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FC1500;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#FF0000;stroke-miterlimit:10;}
+ .st5{fill:none;stroke:#FF0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+
+
+
+
+
+
+
+
+<g
+ id="g1493"
+ transform="matrix(1.1059459,0,0,1.1059459,-1.3574074,-1.8908062)"><line
+ class="st0"
+ x1="40.118973"
+ y1="1.8465961"
+ x2="41.373394"
+ y2="11.88195"
+ id="line7142"
+ style="stroke:#db8b0b;stroke-opacity:1" /><line
+ class="st0"
+ x1="1.8591815"
+ y1="42.364338"
+ x2="13.023514"
+ y2="42.866108"
+ id="line7144"
+ style="stroke:#db8b0b;stroke-opacity:1" /><line
+ class="st0"
+ x1="25.19138"
+ y1="6.8642731"
+ x2="31.087151"
+ y2="16.021534"
+ id="line7146"
+ style="stroke:#db8b0b;stroke-opacity:1" /><line
+ class="st0"
+ x1="5.2461133"
+ y1="27.562191"
+ x2="16.159559"
+ y2="31.576334"
+ id="line7148"
+ style="stroke:#db8b0b;stroke-opacity:1" /><line
+ class="st0"
+ x1="32.341572"
+ y1="3.4773419"
+ x2="36.355713"
+ y2="13.136369"
+ id="line7150"
+ style="stroke:#db8b0b;stroke-opacity:1" /><line
+ class="st0"
+ x1="18.417515"
+ y1="11.003859"
+ x2="26.069473"
+ y2="19.408464"
+ id="line7152"
+ style="stroke:#db8b0b;stroke-opacity:1" /><line
+ class="st0"
+ x1="8.8839293"
+ y1="21.164652"
+ x2="19.044725"
+ y2="26.558657"
+ id="line7154"
+ style="stroke:#db8b0b;stroke-opacity:1" /><line
+ class="st0"
+ x1="2.862716"
+ y1="34.837818"
+ x2="14.027048"
+ y2="37.095776"
+ id="line7156"
+ style="stroke:#db8b0b;stroke-opacity:1" /><line
+ class="st0"
+ x1="13.458588"
+ y1="15.277812"
+ x2="21.817545"
+ y2="23.181286"
+ id="line2709"
+ style="stroke:#db8b0b;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g>
+<g
+ id="g1497"
+ transform="matrix(1.1059459,0,0,1.1059459,-1.3574074,-1.8908062)"><path
+ class="st1"
+ d="M 4.2120581,44.280211 C 4.2120581,21.700663 24.56417,4.0360619 43.380459,4.0360619"
+ id="path7158"
+ style="stroke-width:2.2605084;stroke-miterlimit:10;stroke-dasharray:none"
+ sodipodi:nodetypes="cc" /><path
+ class="st1"
+ d="m 10.476705,44.352425 c 0,-16.432893 17.276742,-34.933535 32.831541,-34.933535"
+ id="path7160"
+ style="stroke-width:2.2605084;stroke-miterlimit:10;stroke-dasharray:none"
+ sodipodi:nodetypes="cc" /></g>
+
+
+
+
+
+
+
+
+
+<g
+ id="g1799"
+ transform="translate(0.23959168,0.39931946)"><line
+ class="st3"
+ x1="23.655668"
+ y1="25.22048"
+ x2="39.666615"
+ y2="39.675983"
+ id="line7174"
+ style="stroke:#cc0000;stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><polyline
+ class="st5"
+ points="18.4,25.3 18.2,20.3 22.8,20.4 "
+ id="polyline7178"
+ style="stroke:#cc0000;stroke-width:1.59116;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.8962586,0,0,1.8746343,-10.856238,-12.834596)" /><line
+ class="st3"
+ x1="45.968658"
+ y1="33.376415"
+ x2="33.764027"
+ y2="45.851318"
+ id="line7180"
+ style="stroke:#cc0000;stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g>
+</svg>
diff --git a/app/bin/bitmaps/SVG/curved-end.svg b/app/bin/bitmaps/SVG/curved-end.svg
new file mode 100644
index 0000000..4c76cb4
--- /dev/null
+++ b/app/bin/bitmaps/SVG/curved-end.svg
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 48 48"
+ xml:space="preserve"
+ id="svg7888"
+ sodipodi:docname="curved-end.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ width="48"
+ height="48"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1395"
+ inkscape:window-height="914"
+ id="namedview7890"
+ showgrid="false"
+ inkscape:zoom="8.1826993"
+ inkscape:cx="34.462955"
+ inkscape:cy="28.230293"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg7888"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><metadata
+ id="metadata7821"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs7826"><clipPath
+ id="clipPath1727"><path
+ d="M 0,48 H 48 V 0 H 0 Z"
+ id="path7823" /></clipPath></defs><g
+ id="g8500"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ transform="matrix(0.8692292,0,0,0.8692292,-6.7606978,-1.3620069)"
+ inkscape:label="ties"><path
+ d="m 21.586127,24.580985 9.447217,9.122165"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path7828"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ sodipodi:nodetypes="cc" /><path
+ d="M 8.6820496,53.493729 21.126063,54.043783"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path7832"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ sodipodi:nodetypes="cc" /><path
+ d="m 34.24023,15.374714 5.791335,11.37158"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path7836"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ sodipodi:nodetypes="cc" /><path
+ d="m 12.133163,36.783347 12.305351,5.82105"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path7840"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ sodipodi:nodetypes="cc" /><path
+ d="m 41.608402,12.254396 4.134977,12.213093"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2.76092"
+ id="path7844"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ sodipodi:nodetypes="cc" /><path
+ d="m 27.582419,19.225126 7.784728,10.504797"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path7848"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ sodipodi:nodetypes="cc" /><path
+ d="m 16.448922,30.578169 10.642725,7.318346"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path7852"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ sodipodi:nodetypes="cc" /><path
+ d="M 9.4353641,44.787147 22.080108,47.785739"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2.6666"
+ id="path7856"
+ style="stroke:#d98b0d;stroke-opacity:1"
+ sodipodi:nodetypes="cc" /></g><g
+ id="g1503"
+ inkscape:label="rails"
+ transform="matrix(1.2781936,0,0,-1.2781936,-2.2194528,64.491016)"
+ style="stroke-width:1.86098;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="m 4.0384022,13.324335 c 0,16.356939 11.8763738,25.429747 23.5178358,28.703908"
+ fill="none"
+ stroke="#000000"
+ stroke-miterlimit="10"
+ id="path7864"
+ style="stroke-width:1.59502;stroke-miterlimit:10;stroke-dasharray:none"
+ sodipodi:nodetypes="cc" /><path
+ d="M 8.9184235,13.479289 C 8.5091535,25.096957 18.605799,34.573361 28.746871,37.156338"
+ fill="none"
+ stroke="#000000"
+ stroke-miterlimit="10"
+ id="path7868"
+ style="stroke-width:1.59502;stroke-miterlimit:10;stroke-dasharray:none"
+ sodipodi:nodetypes="cc" /></g><g
+ id="g1511"
+ inkscape:label="arrow"
+ transform="matrix(1.1307026,0,0,-1.1307026,-5.699386,54.663387)"><path
+ d="m 38.000997,46.245811 4.610186,-16.6826"
+ fill="none"
+ stroke="#ff0000"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path7872"
+ style="stroke:#cc0000;stroke-width:2.34037;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:nodetypes="cc" /><path
+ d="m 34.988266,41.74949 3.012731,4.496321 4.770156,-2.523132"
+ fill="none"
+ stroke="#ff0000"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path7876"
+ style="stroke:#cc0000;stroke-width:2.34037;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:nodetypes="ccc" /><path
+ d="m 45.584906,34.274145 -2.973723,-4.710934 -5.024264,2.58388"
+ fill="none"
+ stroke="#ff0000"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path7880"
+ style="stroke:#cc0000;stroke-width:2.34037;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:nodetypes="ccc" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/curved-line-chord.svg b/app/bin/bitmaps/SVG/curved-line-chord.svg
new file mode 100644
index 0000000..b1cc041
--- /dev/null
+++ b/app/bin/bitmaps/SVG/curved-line-chord.svg
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="curved-line-chord.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata2200"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs2198" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1351"
+ inkscape:window-height="907"
+ id="namedview2196"
+ showgrid="false"
+ inkscape:zoom="10.897825"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2171">
+ .st0{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#FC1500;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FF0000;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#FF0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<path
+ class="st0"
+ d="M 3.5220297,43.111597 C 3.5220297,21.615075 23.58545,4.1790071 41.499219,4.1790071"
+ id="path2173"
+ style="stroke-width:2.57;stroke-miterlimit:10;stroke-dasharray:none" />
+<path
+ class="st1"
+ d="M 38.315236,-0.27323563"
+ id="path2175"
+ style="stroke-width:1.16155" />
+<path
+ class="st1"
+ d="M 43.095812,2.5733838"
+ id="path2177"
+ style="stroke-width:1.16155" />
+<path
+ class="st1"
+ d="M 38.315236,-0.27323563"
+ id="path2179"
+ style="stroke-width:1.16155" />
+<path
+ class="st1"
+ d="M 35.894182,15.118161"
+ id="path2181"
+ style="stroke-width:1.16155" />
+<path
+ class="st1"
+ d="M 39.611153,16.744336"
+ id="path2183"
+ style="stroke-width:1.16155" />
+<path
+ class="st1"
+ d="M 43.095812,14.88585"
+ id="path2185"
+ style="stroke-width:1.16155" />
+<line
+ class="st2"
+ x1="17.087498"
+ y1="19.028881"
+ x2="38.513435"
+ y2="38.767605"
+ id="line2187"
+ style="stroke:#cc0000;stroke-width:2.36307;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<path
+ class="st3"
+ d="M 39.611153,25.455986"
+ id="path2189"
+ style="stroke-width:1.16155" />
+<polyline
+ class="st4"
+ points="18.4,25.3 18.2,20.3 22.8,20.4 "
+ id="polyline2191"
+ style="stroke:#cc0000;stroke-width:1.34728;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.855595,0,0,1.855595,-16.684331,-18.639697)" />
+<line
+ class="st2"
+ x1="44.85672"
+ y1="30.743393"
+ x2="31.731171"
+ y2="44.56588"
+ id="line2193"
+ style="stroke:#cc0000;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/curved-line-end.svg b/app/bin/bitmaps/SVG/curved-line-end.svg
new file mode 100644
index 0000000..365e1bd
--- /dev/null
+++ b/app/bin/bitmaps/SVG/curved-line-end.svg
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="curved-line-end.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata2891"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs2889" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1378"
+ inkscape:window-height="904"
+ id="namedview2887"
+ showgrid="false"
+ inkscape:zoom="11.681573"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2828">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FC1500;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#FC1500;stroke-width:2;stroke-miterlimit:10;}
+ .st5{fill:none;stroke:#FC1500;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<path
+ class="st1"
+ d="m 4.8384113,46.012013 c 0,-23.034633 15.2509007,-30.767254 31.7708447,-33.565002"
+ id="path2862"
+ style="stroke-width:2.57544;stroke-miterlimit:10;stroke-dasharray:none"
+ sodipodi:nodetypes="cc" />
+
+
+
+
+
+
+
+
+
+
+<g
+ id="g1523"
+ inkscape:label="arrow"
+ transform="matrix(0.99329824,-0.11557947,0.10755047,0.99423249,-1.8346051,4.0269541)"
+ inkscape:transform-center-x="-0.51362946"
+ inkscape:transform-center-y="0.29967713"><line
+ class="st4"
+ x1="39.305443"
+ y1="22.109104"
+ x2="38.916668"
+ y2="4.0958133"
+ id="line2874"
+ style="stroke:#cc1400;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><polyline
+ class="st5"
+ points="35.6,7.8 38.5,5.4 41.4,7.8 "
+ id="polyline2882"
+ style="stroke:#cc1400;stroke-width:1.62975;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.5339802,0,0,1.5339802,-20.141572,-4.1876794)" /><polyline
+ class="st5"
+ points="41.4,17 38.8,19.1 35.6,17 "
+ id="polyline2884"
+ style="stroke:#cc1400;stroke-width:1.62975;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.5339802,0,0,1.5339802,-20.21299,-7.1899163)" /></g>
+</svg>
diff --git a/app/bin/bitmaps/SVG/curved-line-middle.svg b/app/bin/bitmaps/SVG/curved-line-middle.svg
new file mode 100644
index 0000000..237b453
--- /dev/null
+++ b/app/bin/bitmaps/SVG/curved-line-middle.svg
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="curved-line-middle.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata3510"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs3508" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1293"
+ inkscape:window-height="809"
+ id="namedview3506"
+ showgrid="false"
+ inkscape:zoom="10.897825"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style3483">
+ .st0{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#FC1500;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FF0000;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#FF0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<path
+ class="st0"
+ d="m 4.2736318,45.488353 c 0,-23.039286 21.5033322,-41.7267057 40.7027362,-41.7267057"
+ id="path3485"
+ style="stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none" />
+<path
+ class="st1"
+ d="M 38.28716,5.3096567"
+ id="path3487" />
+<path
+ class="st1"
+ d="M 41.58716,7.0096567"
+ id="path3489" />
+<path
+ class="st1"
+ d="M 38.28716,5.3096567"
+ id="path3491" />
+<path
+ class="st1"
+ d="M 35.38716,17.809657"
+ id="path3493" />
+<path
+ class="st1"
+ d="M 38.58716,19.209657"
+ id="path3495" />
+<path
+ class="st1"
+ d="M 41.58716,17.609657"
+ id="path3497" />
+<line
+ class="st2"
+ x1="17.988567"
+ y1="20.386417"
+ x2="42.018471"
+ y2="42.110428"
+ id="line3499"
+ style="stroke:#cc0000;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<path
+ class="st3"
+ d="M 38.58716,26.709657"
+ id="path3501" />
+<polyline
+ class="st4"
+ points="18,26 18,20.3 23.4,20.7 "
+ id="polyline3503"
+ style="stroke:#cc0000;stroke-width:1.99118;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.2541677,-0.05864525,0.05864525,1.2541677,-5.956031,-4.2156616)" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/curved-line-tangent.svg b/app/bin/bitmaps/SVG/curved-line-tangent.svg
new file mode 100644
index 0000000..dbac2e2
--- /dev/null
+++ b/app/bin/bitmaps/SVG/curved-line-tangent.svg
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="curved-line-tangent.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata4209"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs4207" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1231"
+ inkscape:window-height="814"
+ id="namedview4205"
+ showgrid="false"
+ inkscape:zoom="10.897825"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style4142">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FC1500;stroke-miterlimit:10;}
+ .st4{fill:#BF8700;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+ .st5{fill:none;stroke:#FF0000;stroke-miterlimit:10;}
+ .st6{fill:none;stroke:#FF0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<path
+ class="st0"
+ d="M 12.078246,44.927861"
+ id="path4144" />
+<path
+ class="st0"
+ d="M 1.0635811,44.409525"
+ id="path4146" />
+<path
+ class="st0"
+ d="M 30.738383,17.196825"
+ id="path4148" />
+<path
+ class="st0"
+ d="M 25.555012,7.2188348"
+ id="path4150" />
+<path
+ class="st0"
+ d="M 14.799516,33.265276"
+ id="path4152" />
+<path
+ class="st0"
+ d="M 4.8215252,28.341074"
+ id="path4154" />
+<path
+ class="st0"
+ d="M 25.166258,20.306848"
+ id="path4156" />
+<path
+ class="st0"
+ d="M 18.168707,11.495116"
+ id="path4158" />
+<path
+ class="st0"
+ d="M 18.168707,28.081905"
+ id="path4160" />
+<path
+ class="st0"
+ d="M 8.9682223,21.991444"
+ id="path4162" />
+<path
+ class="st0"
+ d="M 13.114921,38.966985"
+ id="path4164" />
+<path
+ class="st0"
+ d="M 1.5819182,36.634468"
+ id="path4166" />
+<path
+ class="st0"
+ d="M 41.364295,12.920544"
+ id="path4168" />
+<path
+ class="st0"
+ d="M 40.068452,2.5538006"
+ id="path4170" />
+<path
+ class="st0"
+ d="M 35.662586,14.34597"
+ id="path4172" />
+<path
+ class="st0"
+ d="M 32.682147,4.2383963"
+ id="path4174" />
+<path
+ class="st0"
+ d="M 21.667483,24.194376"
+ id="path4176" />
+<path
+ class="st0"
+ d="M 12.726167,16.419319"
+ id="path4178" />
+<path
+ class="st1"
+ d="m 3.1707748,45.065034 c 0,-22.568039 22.1983802,-40.8732267 42.0183602,-40.8732267"
+ id="path4180"
+ style="stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none" />
+<path
+ class="st2"
+ d="M 43.437643,11.495116"
+ id="path4182"
+ style="stroke-width:1.29584" />
+<path
+ class="st2"
+ d="M 9.7457276,46.612458"
+ id="path4184"
+ style="stroke-width:1.29584" />
+<path
+ class="st3"
+ d="M 43.913924,-1.2068227"
+ id="path4186"
+ style="stroke-width:1.29584" />
+<path
+ class="st3"
+ d="M 46.418082,1.3875421"
+ id="path4188"
+ style="stroke-width:1.29584" />
+<path
+ class="st3"
+ d="M 43.913924,-1.2068227"
+ id="path4190"
+ style="stroke-width:1.29584" />
+<path
+ class="st3"
+ d="M 38.383856,15.382645"
+ id="path4192"
+ style="stroke-width:1.29584" />
+<path
+ class="st3"
+ d="M 42.530553,17.196825"
+ id="path4194"
+ style="stroke-width:1.29584" />
+<path
+ class="st3"
+ d="M 46.418082,15.123476"
+ id="path4196"
+ style="stroke-width:1.29584" />
+<line
+ class="st4"
+ x1="42.983685"
+ y1="43.366608"
+ x2="16.089582"
+ y2="18.271143"
+ id="line4198"
+ style="stroke:#cc0000;stroke-width:2.47961;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<path
+ class="st5"
+ d="M 42.530553,26.915646"
+ id="path4200"
+ style="stroke-width:1.29584" />
+<polyline
+ class="st6"
+ points="38,34 38,39 33,39 "
+ id="polyline4202"
+ style="stroke:#cc0000;stroke-width:1.43697;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.7397675,0,0,1.7397675,-23.134377,-24.49174)" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/curved-middle.svg b/app/bin/bitmaps/SVG/curved-middle.svg
new file mode 100644
index 0000000..011b402
--- /dev/null
+++ b/app/bin/bitmaps/SVG/curved-middle.svg
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="curved-middle.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata8594"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs8592"><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect895"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect891"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect887"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect883"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1432"
+ inkscape:window-height="931"
+ id="namedview8590"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="23.9991"
+ inkscape:cy="23.9991"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style8549">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FC1500;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#FF0000;stroke-miterlimit:10;}
+ .st5{fill:none;stroke:#FF0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+
+
+
+
+
+
+
+
+<g
+ id="g2961"
+ transform="matrix(1.0375641,0,0,1.0375641,-0.76566984,-0.77459533)"
+ clip-path="none"><line
+ class="st0"
+ x1="1.2915986"
+ y1="43.841686"
+ x2="13.326716"
+ y2="44.362141"
+ id="line8551"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="26.443645"
+ y1="7.0198193"
+ x2="32.799274"
+ y2="16.51804"
+ id="line8553"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="4.9427028"
+ y1="28.4884"
+ x2="16.707367"
+ y2="32.652"
+ id="line8555"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="34.151535"
+ y1="3.506778"
+ x2="38.478771"
+ y2="13.525451"
+ id="line8557"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="19.141439"
+ y1="11.313536"
+ x2="27.39023"
+ y2="20.03108"
+ id="line8559"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ clip-path="none" /><line
+ class="st0"
+ x1="8.8642578"
+ y1="21.852655"
+ x2="19.81757"
+ y2="27.4475"
+ id="line8561"
+ style="stroke:#d98a0d;stroke-opacity:1"
+ clip-path="none" /><line
+ class="st0"
+ x1="2.3734066"
+ y1="36.034924"
+ x2="14.408527"
+ y2="38.376953"
+ id="line8563"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="42.535553"
+ y1="1.8153136"
+ x2="43.887806"
+ y2="12.224323"
+ id="line8565"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="14.26063"
+ y1="15.951141"
+ x2="22.961445"
+ y2="23.591101"
+ id="line2092"
+ style="stroke:#d98a0d;stroke-width:2.56562462;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="none" /></g>
+<g
+ id="g2946"
+ transform="matrix(1.0375641,0,0,1.0375641,-0.76566984,-0.77459533)"
+ clip-path="none"><path
+ class="st1"
+ d="m 4.0790933,46.133467 c 0,-23.42027 22.0049877,-41.5439928 42.1291687,-42.10304"
+ id="path8567"
+ style="stroke-width:1.92759175;stroke-miterlimit:10;stroke-dasharray:none"
+ sodipodi:nodetypes="cc" /><path
+ class="st1"
+ d="m 9.8063606,46.204656 c 0,-17.044752 19.4799254,-37.2195265 36.2479574,-37.2195265"
+ id="path8569"
+ style="stroke-width:1.92759175;stroke-miterlimit:10;stroke-dasharray:none"
+ sodipodi:nodetypes="cc"
+ clip-path="none" /></g>
+
+
+
+
+
+
+
+
+<g
+ id="g2950"
+ transform="matrix(0.85711663,0,0,0.85711663,6.9828261,7.7567279)"><line
+ class="st3"
+ x1="20.775936"
+ y1="20.909582"
+ x2="45.645229"
+ y2="44.291237"
+ id="line8583"
+ style="stroke:#cc0000;stroke-width:3.5001071;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><polyline
+ class="st5"
+ points="18,26 18,20.3 23.4,20.7 "
+ id="polyline8587"
+ style="stroke:#cc0000;stroke-width:2.22328741;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.6049305,0,0,1.5442415,-8.1128129,-10.43852)" /></g>
+</svg>
diff --git a/app/bin/bitmaps/SVG/curved-tangent.svg b/app/bin/bitmaps/SVG/curved-tangent.svg
new file mode 100644
index 0000000..e9aee6b
--- /dev/null
+++ b/app/bin/bitmaps/SVG/curved-tangent.svg
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="curved-tangent.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata9253"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs9251" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1417"
+ inkscape:window-height="972"
+ id="namedview9249"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style9206">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FC1500;stroke-miterlimit:10;}
+ .st3{fill:#BF8700;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#FF0000;stroke-miterlimit:10;}
+ .st5{fill:none;stroke:#FF0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<line
+ class="st0"
+ x1="1.7949519"
+ y1="43.925362"
+ x2="13.456883"
+ y2="44.449497"
+ id="line9208"
+ style="stroke:#d98b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="27.084311"
+ y1="6.3189082"
+ x2="32.32563"
+ y2="16.408443"
+ id="line9210"
+ style="stroke:#d98b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="6.1190376"
+ y1="27.677277"
+ x2="16.208576"
+ y2="32.656528"
+ id="line9212"
+ style="stroke:#d98b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="19.615433"
+ y1="10.642995"
+ x2="26.691212"
+ y2="19.553236"
+ id="line9214"
+ style="stroke:#d98b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="10.312092"
+ y1="21.256664"
+ x2="19.615433"
+ y2="27.415213"
+ id="line9216"
+ style="stroke:#d98b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="2.8432145"
+ y1="36.063385"
+ x2="14.505148"
+ y2="38.421978"
+ id="line9218"
+ style="stroke:#d98b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="41.760006"
+ y1="1.6017218"
+ x2="43.070328"
+ y2="12.084357"
+ id="line9220"
+ style="stroke:#d98b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="34.291126"
+ y1="3.3051503"
+ x2="37.304882"
+ y2="13.525721"
+ id="line9222"
+ style="stroke:#d98b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="14.112048"
+ y1="15.622247"
+ x2="23.153322"
+ y2="23.484222"
+ id="line9224"
+ style="stroke:#d98b0d;stroke-opacity:1" />
+<path
+ class="st1"
+ d="m 3.4983796,46.152922 c 0,-23.58593 22.0135354,-42.716739 41.6684764,-42.716739"
+ id="path9226"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none" />
+<path
+ class="st1"
+ d="m 11.098291,46.152922 c 0,-17.165315 17.820479,-35.509928 34.068565,-35.509928"
+ id="path9228"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none" />
+<path
+ class="st2"
+ d="M 43.195559,-1.4682949"
+ id="path9230"
+ style="stroke-width:1.30331" />
+<path
+ class="st2"
+ d="M 47.496477,0.74732904"
+ id="path9232"
+ style="stroke-width:1.30331" />
+<path
+ class="st2"
+ d="M 43.195559,-1.4682949"
+ id="path9234"
+ style="stroke-width:1.30331" />
+<path
+ class="st2"
+ d="M 40.056571,14.573983"
+ id="path9236"
+ style="stroke-width:1.31033" />
+<path
+ class="st2"
+ d="M 44.249625,16.408445"
+ id="path9238"
+ style="stroke-width:1.31033" />
+<path
+ class="st2"
+ d="M 48.180614,14.311918"
+ id="path9240"
+ style="stroke-width:1.31033" />
+<rect
+ style="opacity:1;fill:#ebebeb;stroke:#ffffff;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;fill-opacity:1"
+ id="rect2707"
+ width="6.7369518"
+ height="5.6268826"
+ x="26.763359"
+ y="-0.49409166"
+ transform="matrix(0.75078063,0.66055162,-0.68047575,0.7327706,0,0)" /><line
+ class="st3"
+ x1="44.249977"
+ y1="43.668476"
+ x2="19.586525"
+ y2="19.91222"
+ id="line9242"
+ style="stroke:#cc0000;stroke-width:3.18605;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<path
+ class="st4"
+ d="M 44.249625,26.235915"
+ id="path9244"
+ style="stroke-width:1.31033" />
+<polyline
+ class="st5"
+ points="40,36 40,41 35,41 "
+ id="polyline9246"
+ style="stroke:#cc0000;stroke-width:2.20162;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.436209,0,0,1.4581584,-13.19838,-16.116015)" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/cut.svg b/app/bin/bitmaps/SVG/cut.svg
new file mode 100644
index 0000000..8b8d9f0
--- /dev/null
+++ b/app/bin/bitmaps/SVG/cut.svg
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="cut.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1571"
+ inkscape:window-height="866"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="9.4049726"
+ inkscape:cx="25.305762"
+ inkscape:cy="33.492921"
+ inkscape:window-x="18"
+ inkscape:window-y="57"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg1659"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><g
+ inkscape:groupmode="layer"
+ id="layer1"
+ inkscape:label="Export" /><path
+ style="fill:none;stroke:#404040;stroke-width:3.64621;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 24.366275,17.817103 c -0.216559,-2.583731 -2.637624,-5.586626 -7.305886,-6.813095 -3.724698,0.679851 -10.2494995,4.973226 -8.4980529,6.619454 l 7.7248489,5.748191 c 2.883549,0.704931 5.350618,-2.382586 8.07909,-5.55455 z"
+ id="path1208"
+ sodipodi:nodetypes="ccccc" /><path
+ style="fill:none;stroke:#404040;stroke-width:3.6332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 5.4748051,36.029254 c -2.7151332,0.433054 -0.1962835,7.037401 3.9655015,9.447893 3.7582774,0.32979 7.4204664,0.187587 9.8059744,-2.735214 -0.349439,-2.94556 -0.1757,-6.819736 -3.306541,-7.756504 z"
+ id="path1208-1"
+ sodipodi:nodetypes="ccccc" /><path
+ style="fill:none;stroke:#404040;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 8.5623361,17.623462 29.746591,34.057704 5.4748051,36.029254"
+ id="path1718"
+ sodipodi:nodetypes="ccc" /><path
+ style="fill:#404040;fill-opacity:1;stroke:#404040;stroke-width:1.15889;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 32.967253,35.68144 59.33674,33.709891 53.175645,30.629342 29.763484,32.600893 Z"
+ id="path3015" /><path
+ style="fill:#404040;fill-opacity:1;stroke:#404040;stroke-width:1.14488;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 34.637458,37.491514 55.088511,53.974054 48.31229,52.934405 30.168362,38.01363 Z"
+ id="path3015-0"
+ inkscape:transform-center-x="-0.043751259"
+ inkscape:transform-center-y="-0.14231423"
+ sodipodi:nodetypes="ccccc" /></svg>
diff --git a/app/bin/bitmaps/SVG/delete.svg b/app/bin/bitmaps/SVG/delete.svg
new file mode 100644
index 0000000..55d6471
--- /dev/null
+++ b/app/bin/bitmaps/SVG/delete.svg
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="delete.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata31"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs29" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1438"
+ inkscape:window-height="878"
+ id="namedview27"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="22.56245"
+ inkscape:cy="24"
+ inkscape:window-x="3"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+</style>
+
+
+
+
+
+
+<g
+ id="ties"
+ inkscape:label="ties"
+ transform="matrix(1.3006641,0,0,1.3006641,-7.3756654,-4.111636)"><line
+ class="st0"
+ x1="9"
+ y1="16"
+ x2="9"
+ y2="27"
+ id="line4"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="14"
+ y1="16"
+ x2="14"
+ y2="27"
+ id="line6"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="19"
+ y1="16"
+ x2="19"
+ y2="27"
+ id="line8"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="24"
+ y1="16"
+ x2="24"
+ y2="27"
+ id="line10"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="29"
+ y1="16"
+ x2="29"
+ y2="27"
+ id="line12"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="34"
+ y1="16"
+ x2="34"
+ y2="27"
+ id="line14"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="39"
+ y1="16"
+ x2="39"
+ y2="27"
+ id="line16"
+ style="stroke:#d98a0d;stroke-opacity:1" /></g>
+
+<g
+ id="rail"
+ inkscape:label="rail"
+ transform="matrix(1.3006641,0,0,1.1040829,-7.3756654,0.10254712)"
+ style="stroke-width:1.47801;stroke-miterlimit:10;stroke-dasharray:none"><line
+ class="st1"
+ x1="7"
+ y1="17.5"
+ x2="41"
+ y2="17.5"
+ id="line18"
+ style="stroke-width:1.47801;stroke-miterlimit:10;stroke-dasharray:none" /><line
+ class="st1"
+ x1="7"
+ y1="25.5"
+ x2="41"
+ y2="25.5"
+ id="line20"
+ style="stroke-width:1.47801;stroke-miterlimit:10;stroke-dasharray:none" /></g>
+
+<g
+ id="x"
+ inkscape:label="x"
+ style="stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none"
+ transform="matrix(1.2833014,0,0,1.2251804,-6.9372327,-2.6670144)"><path
+ class="st2"
+ d="M 14.106487,7.2987516 C 26.983061,20.825658 26.983061,20.825658 15.277084,36.30356"
+ id="path22"
+ style="stroke:#cc0000;stroke-width:3.8281;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><path
+ class="st2"
+ d="m 34.006647,36.30356 c -12.096176,-14.047171 -12.096176,-14.047171 0,-29.0048084"
+ id="path24"
+ style="stroke:#cc0000;stroke-width:3.8281;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g>
+</svg>
diff --git a/app/bin/bitmaps/SVG/describe.svg b/app/bin/bitmaps/SVG/describe.svg
new file mode 100644
index 0000000..495a3b8
--- /dev/null
+++ b/app/bin/bitmaps/SVG/describe.svg
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="describe.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata928"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs926" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1580"
+ inkscape:window-height="966"
+ id="namedview924"
+ showgrid="false"
+ inkscape:zoom="11.681573"
+ inkscape:cx="24"
+ inkscape:cy="19.482353"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style893">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FB0000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FB0000;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#FB0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+ .st5{fill:none;stroke:#FB0000;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:10;}
+</style>
+
+
+
+
+
+
+<g
+ id="ties"
+ inkscape:label="ties"
+ transform="matrix(1.3046527,0,0,1.3046527,-5.9214072,-2.9615326)"><line
+ class="st0"
+ x1="8"
+ y1="16"
+ x2="8"
+ y2="27"
+ id="line895"
+ style="stroke:#d98b0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="13"
+ y1="16"
+ x2="13"
+ y2="27"
+ id="line897"
+ style="stroke:#d98b0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="18"
+ y1="16"
+ x2="18"
+ y2="27"
+ id="line899"
+ style="stroke:#d98b0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="28"
+ y1="16"
+ x2="28"
+ y2="27"
+ id="line903"
+ style="stroke:#d98b0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="33"
+ y1="16"
+ x2="33"
+ y2="27"
+ id="line905"
+ style="stroke:#d98b0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="38"
+ y1="16"
+ x2="38"
+ y2="27"
+ id="line907"
+ style="stroke:#d98b0d;stroke-opacity:1" /></g>
+
+<g
+ id="rail"
+ inkscape:label="rail"
+ transform="matrix(1.3046527,0,0,1.1147635,-6.0070121,1.1958036)"
+ style="stroke-width:1.49671;stroke-miterlimit:10;stroke-dasharray:none"><line
+ class="st1"
+ x1="6"
+ y1="17.5"
+ x2="40"
+ y2="17.5"
+ id="line909"
+ style="stroke-width:1.49671;stroke-miterlimit:10;stroke-dasharray:none" /><line
+ class="st1"
+ x1="6"
+ y1="25.5"
+ x2="40"
+ y2="25.5"
+ id="line911"
+ style="stroke-width:1.49671;stroke-miterlimit:10;stroke-dasharray:none" /></g>
+
+
+
+
+<g
+ id="question"
+ inkscape:label="question"
+ transform="matrix(1.8239805,0,0,1.6303501,-18.297728,-12.564437)"><path
+ class="st4"
+ d="M 18.825677,15.7 C 17.914059,11.7 27.6,11.1 27.6,15.3 c 0,3.9 -1.937188,5.6 -4.672042,5.7 v 7.5"
+ id="path919"
+ style="stroke:#cc0000;stroke-width:3.20245;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><rect
+ x="22.491764"
+ y="31.943529"
+ class="st5"
+ width="1"
+ height="1.1"
+ id="rect921"
+ style="stroke:#cc0000;stroke-opacity:1" /></g>
+</svg>
diff --git a/app/bin/bitmaps/SVG/description.svg b/app/bin/bitmaps/SVG/description.svg
new file mode 100644
index 0000000..15f43e2
--- /dev/null
+++ b/app/bin/bitmaps/SVG/description.svg
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="description.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata2191"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs2189" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1578"
+ inkscape:window-height="889"
+ id="namedview2187"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="22.641414"
+ inkscape:cy="24.158828"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style2160">
+ .st0{fill:none;stroke:#07ABFB;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000CBF;stroke-miterlimit:10;}
+ .st2{font-family:'MyriadPro-Regular';}
+ .st3{font-size:12px;}
+ .st4{stroke:#F80E00;stroke-width:2;stroke-miterlimit:10;}
+ .st5{fill:none;stroke:#F80E00;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<line
+ class="st0"
+ x1="4.4900389"
+ y1="31.815163"
+ x2="4.4900389"
+ y2="46.122471"
+ id="line2162" />
+<line
+ class="st0"
+ x1="10.993358"
+ y1="31.815163"
+ x2="10.993358"
+ y2="46.122471"
+ id="line2164" />
+<line
+ class="st0"
+ x1="17.496681"
+ y1="31.815163"
+ x2="17.496681"
+ y2="46.122471"
+ id="line2166" />
+<line
+ class="st0"
+ x1="24"
+ y1="31.815163"
+ x2="24"
+ y2="46.122471"
+ id="line2168" />
+<line
+ class="st0"
+ x1="30.503323"
+ y1="31.815163"
+ x2="30.503323"
+ y2="46.122471"
+ id="line2170" />
+<line
+ class="st0"
+ x1="37.006641"
+ y1="31.815163"
+ x2="37.006641"
+ y2="46.122471"
+ id="line2172" />
+<line
+ class="st0"
+ x1="43.509964"
+ y1="31.815163"
+ x2="43.509964"
+ y2="46.122471"
+ id="line2174" />
+<line
+ class="st1"
+ x1="1.8887103"
+ y1="35.076363"
+ x2="46.11129"
+ y2="35.076363"
+ id="line2176"
+ style="stroke-width:2.4;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st1"
+ x1="1.8887103"
+ y1="42.861271"
+ x2="46.11129"
+ y2="42.861271"
+ id="line2178"
+ style="stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none" />
+
+<line
+ class="st4"
+ x1="24.15"
+ y1="30.152931"
+ x2="24.15"
+ y2="15.152927"
+ id="line2182"
+ style="stroke:#cc0e00;stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<polyline
+ class="st5"
+ points="27.9,19.7 24,16 19.8,19.7 "
+ id="polyline2184"
+ transform="translate(0.14999976,-0.84707096)"
+ style="stroke:#cc0e00;stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.6667px;line-height:1.25;font-family:'Gill Sans MT';-inkscape-font-specification:'Gill Sans MT Bold'"
+ x="3.2639496"
+ y="12.011017"
+ id="text2756"><tspan
+ sodipodi:role="line"
+ id="tspan2754"
+ x="3.2639496"
+ y="12.011017">DESC</tspan></text></svg>
diff --git a/app/bin/bitmaps/SVG/dimension.svg b/app/bin/bitmaps/SVG/dimension.svg
new file mode 100644
index 0000000..7443b8a
--- /dev/null
+++ b/app/bin/bitmaps/SVG/dimension.svg
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="dimension.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata1539"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1537" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1346"
+ inkscape:window-height="842"
+ id="namedview1535"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="24"
+ inkscape:cy="24.695735"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style1492">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{stroke:#F80E00;stroke-width:2;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#F80E00;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+ .st5{font-family:'MyriadPro-Regular';}
+ .st6{font-size:12px;}
+</style>
+<path
+ class="st0"
+ d="M5.9,35.8"
+ id="path1494" />
+<path
+ class="st0"
+ d="M9.2,32.3"
+ id="path1496" />
+<path
+ class="st0"
+ d="M12.5,28.8"
+ id="path1498" />
+<path
+ class="st0"
+ d="M15.8,25.3"
+ id="path1500" />
+<path
+ class="st0"
+ d="M19.1,21.8"
+ id="path1502" />
+<path
+ class="st0"
+ d="M22.4,18.3"
+ id="path1504" />
+<path
+ class="st0"
+ d="M25.7,14.7"
+ id="path1506" />
+<path
+ class="st0"
+ d="M37.2,19.2"
+ id="path1508" />
+<path
+ class="st0"
+ d="M29,11.2"
+ id="path1510" />
+<path
+ class="st0"
+ d="M40.6,15.7"
+ id="path1512" />
+<path
+ class="st0"
+ d="M32.3,7.7"
+ id="path1514" />
+<path
+ class="st1"
+ d="M36.5,6.9"
+ id="path1516" />
+<path
+ class="st1"
+ d="M5.6,39.5"
+ id="path1518" />
+<path
+ class="st2"
+ d="M24.6,23.8"
+ id="path1520" />
+<path
+ class="st2"
+ d="M6,43.1"
+ id="path1522" />
+<line
+ class="st3"
+ x1="32.164993"
+ y1="15.832255"
+ x2="44.44154"
+ y2="3.2073443"
+ id="line1524"
+ style="stroke:#cc0e00;stroke-width:3.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<polyline
+ class="st4"
+ points="42.6,12.6 42.1,5.8 35.5,5.8 "
+ id="polyline1526"
+ style="stroke:#cc0e00;stroke-width:2.94445055;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.1864868,0,0,1.1908708,-5.5442267,-3.6659913)" />
+<line
+ class="st3"
+ x1="15.726236"
+ y1="32.24678"
+ x2="4.0029783"
+ y2="44.370842"
+ id="line1528"
+ style="stroke:#cc0e00;stroke-width:3.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<polyline
+ class="st4"
+ points="8,34 8.5,40.9 15.1,40.9 "
+ id="polyline1530"
+ style="stroke:#cc0e00;stroke-width:2.68761367;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.3022705,0,0,1.3022705,-6.8028116,-9.1468245)" />
+<text
+ class="st5 st6"
+ id="text1532"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:17.3333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold'"
+ x="12.357784"
+ y="30.296465">36</text>
+</svg>
diff --git a/app/bin/bitmaps/SVG/doc-export-bmap.svg b/app/bin/bitmaps/SVG/doc-export-bmap.svg
new file mode 100644
index 0000000..90a88b0
--- /dev/null
+++ b/app/bin/bitmaps/SVG/doc-export-bmap.svg
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="doc-export-bmap.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ inkscape:export-filename="C:\Users\Russell\OneDrive\Desktop\XTC-Ribbon\svg\doc-export-bmap-64.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1331"
+ inkscape:window-height="866"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="7.6322099"
+ inkscape:cx="34.721267"
+ inkscape:cy="38.914024"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="layer2"
+ inkscape:document-rotation="0"
+ inkscape:snap-nodes="false"
+ inkscape:pagecheckerboard="0" /><g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Export DXF"><path
+ style="fill:#e5d0bc;fill-opacity:1;stroke:#000000;stroke-width:1.08845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 45.81776,41.744039 3.150401,4.442557 -0.337543,17.068768 H 0.92453011 V 0.82575003 L 48.74313,0.94265931 48.968158,17.076152 46.549182,20.088854"
+ id="path849"
+ sodipodi:nodetypes="cccccccc" /><path
+ style="opacity:0.999;fill:#54a7d6;fill-opacity:1;stroke:#000000;stroke-width:0.348134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 1.488555,32.04338 7.6505091,3.398841 3.3862919,3.398843 1.505019,6.069362 0.627092,6.312136 1.25418,6.554908 2.006693,4.855492 -16.429785,0.121386 z"
+ id="lake"
+ sodipodi:nodetypes="ccccccccc" /><g
+ id="arrow"
+ transform="matrix(0.99468395,0,0,0.97646706,3.2675238,0.70437977)"
+ inkscape:label="arrow"
+ style="fill:none;fill-opacity:1;stroke:#cc0000;stroke-width:4.7811;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"><path
+ style="fill:none;fill-opacity:1;stroke:#cc0000;stroke-width:4.7811;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 46.398031,40.401712 11.404136,-8.5769 -11.209194,-8.430286"
+ id="path1484" /><path
+ style="fill:none;fill-opacity:1;stroke:#cc0000;stroke-width:4.46101;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 57.802167,31.824812 H 30.622099"
+ id="path1706" /></g><path
+ style="fill:none;stroke:#000000;stroke-width:2.17239;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 17.73639,35.772982 0.356685,-15.69413 c 1.305829,-5.853103 2.125288,-5.497379 4.874693,-9.987174"
+ id="path922"
+ sodipodi:nodetypes="ccc" /><rect
+ style="fill:#d58e5d;fill-opacity:1;stroke:#784521;stroke-width:0.536317;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect924-2-7"
+ width="12.223145"
+ height="8.0698709"
+ x="-39.133907"
+ y="-51.56028"
+ ry="0.11891395"
+ transform="matrix(-0.99999989,-4.716658e-4,0.00537433,-0.99998556,0,0)"
+ inkscape:transform-center-x="20.953983"
+ inkscape:transform-center-y="0.72420852" /><path
+ sodipodi:type="star"
+ style="fill:#488825;fill-opacity:1;stroke:#488825;stroke-width:0.560074;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path992-2"
+ sodipodi:sides="6"
+ sodipodi:cx="11.855275"
+ sodipodi:cy="15.882116"
+ sodipodi:r1="3.846628"
+ sodipodi:r2="3.0109019"
+ sodipodi:arg1="0.84914148"
+ sodipodi:arg2="1.3727403"
+ inkscape:flatsided="false"
+ inkscape:rounded="0.2"
+ inkscape:randomized="0"
+ d="m 14.396465,18.769832 c -0.292751,0.25762 -1.566414,-0.01241 -1.948754,0.06433 -0.382339,0.07673 -1.453195,0.81727 -1.822676,0.692551 C 10.255554,19.40199 9.8525707,18.163952 9.5949503,17.871202 9.3373299,17.578452 8.1605758,17.021333 8.0838452,16.638993 8.0071147,16.256654 8.8777948,15.288641 9.002514,14.91916 c 0.1247191,-0.369481 0.018821,-1.667139 0.3115714,-1.924759 0.2927505,-0.257621 1.5664136,0.0124 1.9487536,-0.06433 0.382339,-0.07673 1.453195,-0.81727 1.822676,-0.692551 0.369481,0.124719 0.772465,1.362756 1.030085,1.655507 0.25762,0.29275 1.434375,0.849869 1.511105,1.232208 0.07673,0.38234 -0.79395,1.350352 -0.918669,1.719833 -0.124719,0.369481 -0.01882,1.66714 -0.311571,1.92476 z" /><path
+ style="opacity:0.998;fill:none;stroke:#000000;stroke-width:2.11841;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 45.772104,42.452438 0.01591,4.896454 C 45.426458,53.678042 43.785788,57.38601 36.32066,58.414645 L 29.558257,58.291694 C 22.244079,57.158368 18.761734,53.151166 18.000693,47.102987 L 17.877741,36.406092 C 17.586359,28.846724 11.453325,27.410748 6.0742709,23.741953 5.1148889,21.906907 4.1108952,20.205698 4.1070261,15.504114 5.7689541,8.76985 9.6724691,7.159212 13.574394,5.5449374 L 33.12389,5.2990318 c 7.305654,0.2514013 12.330785,3.466217 12.418233,11.0657502 l 0.114988,4.535242"
+ id="track"
+ sodipodi:nodetypes="cccccccccccc" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/doc-export-dxf.svg b/app/bin/bitmaps/SVG/doc-export-dxf.svg
new file mode 100644
index 0000000..30e6e79
--- /dev/null
+++ b/app/bin/bitmaps/SVG/doc-export-dxf.svg
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="doc-export-dxf.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1443"
+ inkscape:window-height="866"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="9.4049726"
+ inkscape:cx="32.004346"
+ inkscape:cy="32.961287"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="layer2"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0"
+ inkscape:snap-bbox="true"><inkscape:grid
+ type="xygrid"
+ id="grid849" /></sodipodi:namedview><g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Export DXF"><g
+ id="grid"
+ transform="matrix(1.160237,0,0,1.0808223,-1.5115895,-2.4478775)"
+ inkscape:label="grid"
+ style="stroke:#666666;stroke-width:1.89694;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"><g
+ id="g1735"
+ style="stroke:#666666;stroke-width:1.89694;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"><path
+ style="fill:none;stroke:#666666;stroke-width:1.89694;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 3.141179,15.31105 H 44.70585"
+ id="path855" /><path
+ style="fill:none;stroke:#666666;stroke-width:1.89694;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 3.141179,48.484986 H 44.705851"
+ id="path855-1" /><path
+ style="fill:none;stroke:#666666;stroke-width:1.89694;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 3.141179,37.427011 H 40.909775"
+ id="path855-2"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#666666;stroke-width:1.89694;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 3.141179,26.369029 H 40.81244"
+ id="path855-4"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#666666;stroke-width:1.89694;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 3.141179,4.2530693 H 44.70585"
+ id="path855-91" /><path
+ style="fill:none;stroke:#666666;stroke-width:1.89694;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 3.3519333,59.542966 44.432822,59.44459"
+ id="path855-40"
+ sodipodi:nodetypes="cc" /></g><g
+ id="g1721"
+ transform="matrix(1.0000001,0,0,1.0070684,-4.0552238e-7,-0.02780768)"
+ style="stroke:#666666;stroke-width:1.89027;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"><path
+ style="fill:none;stroke:#666666;stroke-width:1.89027;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 13.691837,3.93409 V 59.542971"
+ id="path949-0" /><path
+ style="fill:none;stroke:#666666;stroke-width:1.89027;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 24.02984,3.93409 V 59.542971"
+ id="path949-7" /><path
+ style="fill:none;stroke:#666666;stroke-width:1.89027;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 34.367842,35.060202 V 59.542971"
+ id="path949-9"
+ clip-path="none"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#666666;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 34.166366,3.5704399 V 28.660365"
+ id="path949-9-6"
+ clip-path="none"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#666666;stroke-width:1.89027;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 44.436613,43.120547 0.0019,16.965895"
+ id="path949-2-3"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#666666;stroke-width:1.89027;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 3.3538333,3.3828771 V 59.542971"
+ id="path949-2-8" /><path
+ style="fill:none;stroke:#666666;stroke-width:1.89027;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 44.437406,3.280868 0.0019,16.965896"
+ id="path949-2-3-4"
+ sodipodi:nodetypes="cc" /></g></g><g
+ id="arrow"
+ transform="translate(1.8075544,0.21265346)"
+ inkscape:label="arrow"
+ style="stroke:#cc0000;stroke-width:4.7811;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"><path
+ style="fill:none;fill-opacity:1;stroke:#cc0000;stroke-width:4.7811;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 46.398031,40.401712 11.404136,-8.5769 -11.209194,-8.749266"
+ id="path1484"
+ sodipodi:nodetypes="ccc" /><path
+ style="fill:none;stroke:#cc0000;stroke-width:4.46101;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 57.802167,31.824812 H 30.622099"
+ id="path1706" /></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/doc-export-svg.svg b/app/bin/bitmaps/SVG/doc-export-svg.svg
new file mode 100644
index 0000000..fcde438
--- /dev/null
+++ b/app/bin/bitmaps/SVG/doc-export-svg.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="doc-export-svg.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1532"
+ inkscape:window-height="866"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="9.4049726"
+ inkscape:cx="33.439757"
+ inkscape:cy="32.961287"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="layer2"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Export DXF"><path
+ sodipodi:type="star"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#008000;stroke-width:6.80619;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path2519"
+ inkscape:flatsided="false"
+ sodipodi:sides="8"
+ sodipodi:cx="27.432297"
+ sodipodi:cy="27.113317"
+ sodipodi:r1="24.592754"
+ sodipodi:r2="24.592754"
+ sodipodi:arg1="0.67204007"
+ sodipodi:arg2="1.0647392"
+ inkscape:rounded="0.2"
+ inkscape:randomized="0"
+ d="m 46.677435,42.424367 c -1.194815,1.501816 -5.645649,5.26905 -7.324235,6.199311 -1.678585,0.930262 -7.232276,2.707471 -9.139082,2.924554 -1.906807,0.217082 -7.717858,-0.266296 -9.562592,-0.795441 -1.844733,-0.529145 -7.028463,-3.19952 -8.530278,-4.394335 C 10.619431,45.16364 6.8521971,40.712806 5.9219358,39.034221 4.9916746,37.355636 3.2144648,31.801944 2.9973824,29.895139 2.7802999,27.988332 3.263678,22.17728 3.792823,20.332547 4.3219679,18.487814 6.9923437,13.304084 8.1871586,11.802268 9.3819738,10.300452 13.832808,6.5332178 15.511393,5.6029565 17.189978,4.6726954 22.74367,2.8954856 24.650476,2.6784031 c 1.906806,-0.2170824 7.717858,0.2662956 9.562591,0.7954407 1.844733,0.5291449 7.028463,3.1995206 8.530279,4.3943355 1.501816,1.1948153 5.26905,5.6456497 6.199312,7.3242347 0.930261,1.678585 2.707471,7.232277 2.924553,9.139082 0.217083,1.906807 -0.266295,7.717859 -0.795441,9.562592 -0.529144,1.844733 -3.19952,7.028463 -4.394335,8.530279 z"
+ transform="matrix(0.59879059,0,0,0.57681546,1.2240368,1.2665708)" /><g
+ id="arrow"
+ inkscape:label="arrow"
+ style="stroke:#cc0000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ transform="translate(3.296128,0.10188103)"><path
+ style="fill:none;fill-opacity:1;stroke:#cc0000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 46.398031,40.401712 11.404136,-8.5769 -11.209194,-8.430286"
+ id="path1484" /><path
+ style="fill:none;stroke:#cc0000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 57.802167,31.824812 H 30.622099"
+ id="path1706" /></g><path
+ style="fill:none;stroke:#1a66e5;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 4.3166078,61.082184 20.880646,38.63199 37.365489,61.229149 Z"
+ id="path851"
+ sodipodi:nodetypes="cccc" /><path
+ style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 50.110141,5.2235118 C 40.279181,5.3434014 34.524473,6.4224094 28.769764,8.5804247 20.377481,11.937336 12.824425,17.092597 8.7481732,24.285983 c 0,0 -5.155259,11.149748 0.2397801,18.582913 4.7955897,7.792835 16.1251727,10.190629 16.1251727,10.190629 10.43041,3.956362 24.757235,2.517685 24.757235,2.517685"
+ id="path853"
+ sodipodi:nodetypes="cccccc" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/doc-export-xtc.svg b/app/bin/bitmaps/SVG/doc-export-xtc.svg
new file mode 100644
index 0000000..dab12aa
--- /dev/null
+++ b/app/bin/bitmaps/SVG/doc-export-xtc.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="doc-export-xtc.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><rect
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:1.9309;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect900"
+ width="59.649868"
+ height="42.871033"
+ x="2.1262496"
+ y="-45.047009"
+ transform="rotate(90)" /><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1571"
+ inkscape:window-height="866"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="9.4049726"
+ inkscape:cx="25.305762"
+ inkscape:cy="32.961287"
+ inkscape:window-x="18"
+ inkscape:window-y="57"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg1659"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><g
+ inkscape:groupmode="layer"
+ id="layer1"
+ inkscape:label="Export"><g
+ id="arrow"
+ transform="translate(2.5460266,-0.85071321)"
+ inkscape:label="arrow"
+ style="stroke:#cc0000;stroke-width:4.7811;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"><path
+ style="fill:none;fill-opacity:1;stroke:#cc0000;stroke-width:4.7811;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 46.398031,40.401712 11.404136,-8.5769 -11.209194,-8.430286"
+ id="path1484" /><path
+ style="fill:none;stroke:#cc0000;stroke-width:4.44353;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 57.802167,31.824812 H 30.834752"
+ id="path1706" /></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/doc-export.svg b/app/bin/bitmaps/SVG/doc-export.svg
new file mode 100644
index 0000000..6954caf
--- /dev/null
+++ b/app/bin/bitmaps/SVG/doc-export.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="doc-export.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><rect
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:1.91414;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect900"
+ width="59.480015"
+ height="42.939346"
+ x="2.3393428"
+ y="-45.517216"
+ transform="rotate(90)" /><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1583"
+ inkscape:window-height="866"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="9.4049726"
+ inkscape:cx="29.984138"
+ inkscape:cy="31.366386"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg1659"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><rect
+ style="fill:#d0d0d0;fill-opacity:1;stroke:#9c9c9c;stroke-width:1.10215;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect36"
+ width="29.763172"
+ height="30.887873"
+ x="9.1128759"
+ y="15.885306" /><g
+ inkscape:groupmode="layer"
+ id="layer1"
+ inkscape:label="Export"><g
+ id="arrow"
+ transform="translate(2.4397,-0.74438648)"
+ inkscape:label="arrow"
+ style="fill:none;fill-opacity:1;stroke:#cc0000;stroke-width:4.7811;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"><path
+ style="fill:none;fill-opacity:1;stroke:#cc0000;stroke-width:4.7811;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 46.398031,40.401712 11.404136,-8.5769 -11.209194,-8.430286"
+ id="path1484" /><path
+ style="fill:none;fill-opacity:1;stroke:#cc0000;stroke-width:4.39951;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 57.802167,31.824812 H 31.366386"
+ id="path1706" /></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/doc-import-xtc.svg b/app/bin/bitmaps/SVG/doc-import-xtc.svg
new file mode 100644
index 0000000..01f2275
--- /dev/null
+++ b/app/bin/bitmaps/SVG/doc-import-xtc.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="doc-import-xtc.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><rect
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect900"
+ width="60.646675"
+ height="46.762989"
+ x="1.8175089"
+ y="-62.21909"
+ transform="rotate(90)" /><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1571"
+ inkscape:window-height="866"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="9.4049726"
+ inkscape:cx="12.227574"
+ inkscape:cy="32.961287"
+ inkscape:window-x="18"
+ inkscape:window-y="57"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg1659"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><g
+ inkscape:groupmode="layer"
+ id="layer1"
+ inkscape:label="Export"><g
+ id="arrow"
+ transform="translate(-29.564658,-0.31907955)"
+ inkscape:label="arrow"
+ style="stroke:#02833c;stroke-width:4.7811;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"><path
+ style="fill:none;fill-opacity:1;stroke:#02833c;stroke-width:4.7811;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 46.398031,40.401712 11.404136,-8.5769 -11.209194,-8.430286"
+ id="path1484" /><path
+ style="fill:none;stroke:#02833c;stroke-width:4.44353;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 57.802167,31.824812 H 30.834752"
+ id="path1706" /></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/doc-import.svg b/app/bin/bitmaps/SVG/doc-import.svg
new file mode 100644
index 0000000..e2bfc72
--- /dev/null
+++ b/app/bin/bitmaps/SVG/doc-import.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="doc-import.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><rect
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect900"
+ width="60.646675"
+ height="46.762989"
+ x="1.8175089"
+ y="-62.325417"
+ transform="rotate(90)" /><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1571"
+ inkscape:window-height="866"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="9.4049726"
+ inkscape:cx="12.227574"
+ inkscape:cy="32.961287"
+ inkscape:window-x="18"
+ inkscape:window-y="57"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg1659"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><g
+ inkscape:groupmode="layer"
+ id="layer1"
+ inkscape:label="Export"><rect
+ style="fill:#d0d0d0;fill-opacity:1;stroke:#9c9c9c;stroke-width:1.17;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect36"
+ width="32.256348"
+ height="31.92165"
+ x="22.810884"
+ y="16.09137" /><g
+ id="arrow"
+ transform="translate(-29.458331,-0.31907955)"
+ inkscape:label="arrow"
+ style="stroke:#02833c;stroke-width:4.7811;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"><path
+ style="fill:none;fill-opacity:1;stroke:#02833c;stroke-width:4.7811;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 46.398031,40.401712 11.404136,-8.5769 -11.209194,-8.430286"
+ id="path1484" /><path
+ style="fill:none;stroke:#02833c;stroke-width:4.44353;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 57.802167,31.824812 H 30.834752"
+ id="path1706" /></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/doc-new.svg b/app/bin/bitmaps/SVG/doc-new.svg
new file mode 100644
index 0000000..6aac25e
--- /dev/null
+++ b/app/bin/bitmaps/SVG/doc-new.svg
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="doc-new.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1688"
+ inkscape:window-height="943"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="8.1826993"
+ inkscape:cx="32.079879"
+ inkscape:cy="27.558143"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layout"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><g
+ id="Layout"
+ inkscape:label="#layout"
+ transform="translate(-0.22803691,0.91214765)"
+ style="opacity:1"><rect
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect900"
+ width="60.915188"
+ height="46.970028"
+ x="0.63025844"
+ y="-55.713051"
+ transform="rotate(90)" /><g
+ id="plus"
+ transform="matrix(1.6740309,0,0,1.6334616,-51.092795,-24.413751)"
+ inkscape:label="plus"><path
+ style="display:inline;fill:#005a20;fill-opacity:1;stroke:#00993d;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 46.809533,31.077554 v -4.700241 h 4.630089 v -3.086726 l -4.559936,0.07015 -0.07015,-4.559936 h -3.016572 l 0.140305,4.559936 -4.840547,0.07015 0.07015,3.086726 4.489783,-0.07015 0.140306,4.630088 z"
+ id="path1718" /><path
+ style="fill:none;fill-opacity:1;stroke:#00e552;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 45.350068,18.723791 V 31.070694"
+ id="path1702" /><path
+ style="fill:none;fill-opacity:1;stroke:#00e552;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 51.516636,24.897242 H 39.169733"
+ id="path1708" /></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/doc-open.svg b/app/bin/bitmaps/SVG/doc-open.svg
new file mode 100644
index 0000000..ede9909
--- /dev/null
+++ b/app/bin/bitmaps/SVG/doc-open.svg
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="doc-open.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663"><marker
+ style="overflow:visible"
+ id="Arrow1Lstart"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lstart"
+ inkscape:isstock="true"><path
+ transform="scale(0.8) translate(12.5,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path875" /></marker></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1581"
+ inkscape:window-height="943"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="8.1826993"
+ inkscape:cx="26.519366"
+ inkscape:cy="32.446506"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layout"
+ inkscape:document-rotation="0"
+ inkscape:snap-nodes="false"
+ inkscape:pagecheckerboard="0" /><g
+ id="Layout"
+ inkscape:label="#layout"
+ transform="translate(-0.22803691,0.91214765)"
+ style="opacity:1"><g
+ id="g1480"
+ transform="matrix(1.0113034,0,0,-2.2164172,-2.7819274,137.03913)"
+ style="stroke-width:1.4036;stroke-miterlimit:10;stroke-dasharray:none"><path
+ style="fill:#f6db93;fill-opacity:1;stroke:#674d09;stroke-width:0.741175;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 4.9612505,58.671862 23.1549845,-0.06124 c 3.509047,-0.280952 3.845853,-1.595448 5.296087,-2.143264 l 24.386632,0.06124 V 36.933048 H 5.0844153 Z"
+ id="path1147"
+ sodipodi:nodetypes="ccccccc" /></g><path
+ id="path898"
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#9e9e9e;stroke-width:0.771915;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:transform-center-x="-0.086408966"
+ inkscape:transform-center-y="-2.125661"
+ d="m 50.078287,40.375329 -40.355118,0.05576 -0.1334945,-30.28419 31.4443435,0.07855 8.923599,8.061481 z"
+ sodipodi:nodetypes="cccccc" /><path
+ style="fill:#f6db93;fill-opacity:1;stroke:#674d09;stroke-width:1.10194px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 2.3773227,55.056954 10.246792,24.974007 h 51.861103 l -6.579394,30.082947 z"
+ id="path1149" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/doc-print.svg b/app/bin/bitmaps/SVG/doc-print.svg
new file mode 100644
index 0000000..1926edf
--- /dev/null
+++ b/app/bin/bitmaps/SVG/doc-print.svg
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="doc-print.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1694"
+ inkscape:window-height="943"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="8.7705101"
+ inkscape:cx="31.982176"
+ inkscape:cy="38.025154"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layout"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><g
+ id="Layout"
+ inkscape:label="#layout"
+ transform="translate(-0.22803691,0.91214765)"
+ style="opacity:1"><rect
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:1.74846;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect900-3"
+ width="21.686026"
+ height="43.641754"
+ x="1.2954774"
+ y="-54.048908"
+ transform="rotate(90)" /><g
+ id="g882"
+ transform="matrix(1.3128287,0,0,1.1627519,-9.9792225,-5.0700017)"
+ style="stroke-width:1.00005;stroke-miterlimit:4;stroke-dasharray:none"><rect
+ style="fill:#d9d9d9;fill-opacity:1;stroke:#797979;stroke-width:1.00005;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect884"
+ width="45.182987"
+ height="24.276136"
+ x="9.5583668"
+ y="24.055124"
+ ry="0.13436399" /></g><rect
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:1.74846;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect900"
+ width="20.560341"
+ height="43.58411"
+ x="40.319885"
+ y="-54.020088"
+ transform="rotate(90)" /><path
+ style="fill:none;stroke:#333333;stroke-width:1.16565px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 13.25529,43.106167 H 42.861672"
+ id="path886" /><path
+ style="fill:none;stroke:#333333;stroke-width:1.16565px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 13.25529,46.681085 H 48.198877"
+ id="path888" /><path
+ style="fill:none;stroke:#333333;stroke-width:1.16565px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 13.25529,50.256011 H 45.077114"
+ id="path890" /><path
+ style="fill:none;stroke:#333333;stroke-width:1.16565px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 13.25529,53.830931 H 49.910812"
+ id="path892" /><path
+ style="fill:none;stroke:#333333;stroke-width:1.16565px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 13.25529,57.405849 H 42.257459"
+ id="path894" /><circle
+ style="fill:#d9d9d9;fill-opacity:1;stroke:#797979;stroke-width:2.04343;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path896"
+ sodipodi:type="arc"
+ sodipodi:cx="11.140548"
+ sodipodi:cy="28.202278"
+ sodipodi:rx="0.89170206"
+ sodipodi:ry="0.89170206"
+ sodipodi:start="1.5742817"
+ sodipodi:end="1.5686094"
+ sodipodi:arc-type="slice"
+ d="m 11.13744,29.093975 a 0.89170206,0.89170206 0 0 1 -0.888592,-0.89354 0.89170206,0.89170206 0 0 1 0.892279,-0.889859 0.89170206,0.89170206 0 0 1 0.891123,0.891017 0.89170206,0.89170206 0 0 1 -0.889752,0.892385 l -0.0019,-0.8917 z" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/doc-revert.svg b/app/bin/bitmaps/SVG/doc-revert.svg
new file mode 100644
index 0000000..f5b6290
--- /dev/null
+++ b/app/bin/bitmaps/SVG/doc-revert.svg
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="doc-revert.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1688"
+ inkscape:window-height="943"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="8.1826993"
+ inkscape:cx="32.079879"
+ inkscape:cy="27.558143"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layout"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><g
+ id="Layout"
+ inkscape:label="#layout"
+ transform="translate(-0.22803691,0.91214765)"
+ style="opacity:1"><rect
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:1.2515;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect900"
+ width="60.915188"
+ height="46.970032"
+ x="0.64903259"
+ y="-55.527374"
+ transform="rotate(90)" /><path
+ class="st0"
+ d="m 46.746873,49.389829 c 1.100724,0.102144 0.963134,0.102144 3.164588,0.102144 0,-11.746454 -3.577362,-30.030067 -21.876939,-30.336495 -0.275181,-2.96215 -0.137592,-5.617871 -0.137592,-5.617871 l -12.658353,8.375733 13.071127,9.499308 c 0,0 -0.275182,-2.349291 -0.275182,-5.720013 12.933536,-0.102143 18.161987,15.321463 18.712351,23.697194 z"
+ id="path4"
+ style="fill:#ffd000;fill-opacity:1;stroke:#a5690d;stroke-width:1.84077;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/doc-save-as.svg b/app/bin/bitmaps/SVG/doc-save-as.svg
new file mode 100644
index 0000000..cf9244d
--- /dev/null
+++ b/app/bin/bitmaps/SVG/doc-save-as.svg
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="doc-save-as.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1582"
+ inkscape:window-height="866"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="9.4049726"
+ inkscape:cx="38.756094"
+ inkscape:cy="32.961287"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="layer1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><g
+ inkscape:groupmode="layer"
+ id="layer1"
+ inkscape:label="Save"><g
+ id="g1480"
+ transform="matrix(1.1058567,0,0,1.1058567,-3.4510105,-2.7972238)"><rect
+ style="fill:#97c6dd;fill-opacity:1;stroke:#3b3b3b;stroke-width:1.05972;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect1447"
+ width="55.608879"
+ height="18.713505"
+ x="4.2530689"
+ y="36.789047" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 8.0023498,39.872525 V 52.206426"
+ id="path1449" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 29.447147,39.872525 V 52.206426"
+ id="path1451" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 24.085947,39.872525 V 52.206426"
+ id="path1453" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 18.72475,39.872525 V 52.206426"
+ id="path1455" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 13.36355,39.872525 V 52.206426"
+ id="path1457" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 56.253142,39.872525 V 52.206426"
+ id="path1459" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 50.891944,39.872525 V 52.206426"
+ id="path1461" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 45.530746,39.872525 V 52.206426"
+ id="path1463" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 40.169551,39.872525 V 52.206426"
+ id="path1465" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 34.808346,39.872525 V 52.206426"
+ id="path1467" /></g><g
+ id="g1488"
+ transform="matrix(1.0806052,0,0,1.0806052,-3.5200239,-1.5422888)"><path
+ style="fill:none;stroke:#0078ff;stroke-width:7.55906;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 4.4608021,9.6803465 C 10.957255,9.6711193 10.684816,9.7556021 20.50994,9.7866732 30.747015,10.118781 32.138765,14.439738 32.840598,20.628278 v 11.158588"
+ id="path1482"
+ sodipodi:nodetypes="cccc" /><path
+ style="fill:none;fill-opacity:1;stroke:#0078ff;stroke-width:6.00947;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 24.263698,20.382729 8.5769,11.404137 8.430286,-11.209195"
+ id="path1484" /></g><g
+ id="g6458"
+ transform="matrix(1.2768147,0,0,1.2768147,5.6348825,14.0807)"><path
+ style="fill:#f1b76f;fill-opacity:1;stroke:#666666;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 21.519231,26.538462 V 21.461538 L 38.798077,4.2403846 43.701923,9.2596154 26.798077,26.451923 Z"
+ id="path1780"
+ sodipodi:nodetypes="cccccc" /><path
+ style="fill:none;stroke:#666666;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 24.346154,18.461538 c 5.134615,5.134616 5.134615,5.134616 5.134615,5.134616"
+ id="path4988" /></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/doc-save.svg b/app/bin/bitmaps/SVG/doc-save.svg
new file mode 100644
index 0000000..3a553dd
--- /dev/null
+++ b/app/bin/bitmaps/SVG/doc-save.svg
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="doc-save.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1582"
+ inkscape:window-height="866"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="9.4049726"
+ inkscape:cx="38.756094"
+ inkscape:cy="32.961287"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="layer1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><g
+ inkscape:groupmode="layer"
+ id="layer1"
+ inkscape:label="Save"><g
+ id="g1480"
+ transform="matrix(1.1058567,0,0,1.1058567,-3.4510105,-2.7972238)"><rect
+ style="fill:#97c6dd;fill-opacity:1;stroke:#3b3b3b;stroke-width:1.05972;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect1447"
+ width="55.608879"
+ height="18.713505"
+ x="4.2530689"
+ y="36.789047" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 8.0023498,39.872525 V 52.206426"
+ id="path1449" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 29.447147,39.872525 V 52.206426"
+ id="path1451" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 24.085947,39.872525 V 52.206426"
+ id="path1453" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 18.72475,39.872525 V 52.206426"
+ id="path1455" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 13.36355,39.872525 V 52.206426"
+ id="path1457" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 56.253142,39.872525 V 52.206426"
+ id="path1459" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 50.891944,39.872525 V 52.206426"
+ id="path1461" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 45.530746,39.872525 V 52.206426"
+ id="path1463" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 40.169551,39.872525 V 52.206426"
+ id="path1465" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.10301px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 34.808346,39.872525 V 52.206426"
+ id="path1467" /></g><g
+ id="g1488"
+ transform="matrix(1.0806052,0,0,1.0806052,-3.5200239,-1.5422888)"><path
+ style="fill:none;stroke:#0078ff;stroke-width:7.55906;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 4.4608021,9.6803465 C 10.957255,9.6711193 10.684816,9.7556021 20.50994,9.7866732 30.747015,10.118781 32.138765,14.439738 32.840598,20.628278 v 11.158588"
+ id="path1482"
+ sodipodi:nodetypes="cccc" /><path
+ style="fill:none;fill-opacity:1;stroke:#0078ff;stroke-width:6.00947;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 24.263698,20.382729 8.5769,11.404137 8.430286,-11.209195"
+ id="path1484" /></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/doc-setup.svg b/app/bin/bitmaps/SVG/doc-setup.svg
new file mode 100644
index 0000000..1219b1e
--- /dev/null
+++ b/app/bin/bitmaps/SVG/doc-setup.svg
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="doc-setup.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1697"
+ inkscape:window-height="943"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="8.1826993"
+ inkscape:cx="32.018774"
+ inkscape:cy="27.558143"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layout"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><g
+ id="Layout"
+ inkscape:label="#layout"
+ transform="translate(-0.22803691,0.91214765)"
+ style="opacity:1"><rect
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:1.81321;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect900"
+ width="53.023766"
+ height="40.88517"
+ x="0.59824014"
+ y="-42.753574"
+ transform="rotate(90)" /><rect
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:1.20881;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect900-3"
+ width="12.982697"
+ height="26.126856"
+ x="25.675159"
+ y="-58.653503"
+ transform="rotate(90)" /><g
+ id="g882"
+ transform="matrix(0.78594653,0,0,0.69610055,20.322029,21.864359)"
+ style="stroke-width:1.00005;stroke-miterlimit:4;stroke-dasharray:none"><rect
+ style="fill:#d9d9d9;fill-opacity:1;stroke:#797979;stroke-width:1.00005;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect884"
+ width="45.182987"
+ height="24.276136"
+ x="9.5583668"
+ y="24.055124"
+ ry="0.13436399" /></g><rect
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:1.20881;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect900-7"
+ width="12.872938"
+ height="26.065588"
+ x="49.05114"
+ y="-58.622875"
+ transform="rotate(90)" /><path
+ style="fill:none;stroke:#333333;stroke-width:0.906604;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 34.231752,51.148999 H 51.956101"
+ id="path886" /><path
+ style="fill:none;stroke:#333333;stroke-width:0.906604;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 34.231752,53.289181 H 55.151307"
+ id="path888" /><path
+ style="fill:none;stroke:#333333;stroke-width:0.906604;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 34.231752,55.42937 H 53.282414"
+ id="path890" /><path
+ style="fill:none;stroke:#333333;stroke-width:0.906604;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 34.231752,57.569555 H 56.176185"
+ id="path892" /><path
+ style="fill:none;stroke:#333333;stroke-width:0.906604;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 34.231752,59.70974 H 51.594381"
+ id="path894" /><circle
+ style="fill:#d9d9d9;fill-opacity:1;stroke:#797979;stroke-width:1.17965;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path896"
+ sodipodi:type="arc"
+ sodipodi:cx="32.965714"
+ sodipodi:cy="41.783356"
+ sodipodi:rx="0.53383213"
+ sodipodi:ry="0.53383213"
+ sodipodi:start="1.5742817"
+ sodipodi:end="1.5686094"
+ sodipodi:arc-type="slice"
+ d="m 32.963853,42.317185 a 0.53383213,0.53383213 0 0 1 -0.53197,-0.534933 0.53383213,0.53383213 0 0 1 0.534177,-0.532728 0.53383213,0.53383213 0 0 1 0.533485,0.533421 0.53383213,0.53383213 0 0 1 -0.532664,0.534242 l -0.0012,-0.533831 z" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/down.svg b/app/bin/bitmaps/SVG/down.svg
new file mode 100644
index 0000000..41f83fb
--- /dev/null
+++ b/app/bin/bitmaps/SVG/down.svg
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 24 48"
+ style="enable-background:new 0 0 24 48;"
+ xml:space="preserve"
+ sodipodi:docname="down.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata13"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs11" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1647"
+ inkscape:window-height="933"
+ id="namedview9"
+ showgrid="false"
+ inkscape:zoom="11.681573"
+ inkscape:cx="10.715926"
+ inkscape:cy="22.589078"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{stroke:#000000;stroke-miterlimit:10;}
+</style>
+
+
+<path
+ id="path838"
+ style="fill:#000000;fill-opacity:1;stroke-width:0.542529;stroke-linecap:square"
+ inkscape:transform-center-x="0.02977867"
+ inkscape:transform-center-y="-0.65983518"
+ d="m 21.394513,16.625061 -18.8746311,0.01685 0.1253841,3.396706 9.422005,11.319468 9.386564,-11.355799 z"
+ sodipodi:nodetypes="cccccc" /></svg>
diff --git a/app/bin/bitmaps/SVG/elevation.svg b/app/bin/bitmaps/SVG/elevation.svg
new file mode 100644
index 0000000..b6f9813
--- /dev/null
+++ b/app/bin/bitmaps/SVG/elevation.svg
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="elevation.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata33"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs31" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1194"
+ inkscape:window-height="666"
+ id="namedview29"
+ showgrid="false"
+ inkscape:zoom="6.7085072"
+ inkscape:cx="21.31684"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{stroke:#F80E00;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#F80E00;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#F80E00;stroke-miterlimit:10;}
+ .st5{font-family:'MyriadPro-Regular';}
+ .st6{font-size:12px;}
+</style>
+<line
+ class="st0"
+ x1="5.7602229"
+ y1="29.971048"
+ x2="5.7602229"
+ y2="43.648643"
+ id="line4" />
+<line
+ class="st0"
+ x1="11.977306"
+ y1="29.971048"
+ x2="11.977306"
+ y2="43.648643"
+ id="line6" />
+<line
+ class="st0"
+ x1="18.194395"
+ y1="29.971048"
+ x2="18.194395"
+ y2="43.648643"
+ id="line8" />
+<line
+ class="st0"
+ x1="24.411482"
+ y1="29.971048"
+ x2="24.411482"
+ y2="43.648643"
+ id="line10" />
+<line
+ class="st0"
+ x1="30.628567"
+ y1="29.971048"
+ x2="30.628567"
+ y2="43.648643"
+ id="line12" />
+<line
+ class="st0"
+ x1="36.84565"
+ y1="29.971048"
+ x2="36.84565"
+ y2="43.648643"
+ id="line14" />
+<line
+ class="st0"
+ x1="43.062733"
+ y1="29.971048"
+ x2="43.062733"
+ y2="43.648643"
+ id="line16" />
+<line
+ class="st1"
+ x1="3.2733886"
+ y1="31.836174"
+ x2="45.549568"
+ y2="31.836174"
+ id="line18"
+ style="stroke-width:1.24342" />
+<line
+ class="st1"
+ x1="3.2733886"
+ y1="41.783516"
+ x2="45.549568"
+ y2="41.783516"
+ id="line20"
+ style="stroke-width:1.24342" />
+<line
+ class="st2"
+ x1="21.44589"
+ y1="36.504807"
+ x2="21.44589"
+ y2="12.933911"
+ id="line22"
+ style="stroke:#cc0e00;stroke-width:3.10854;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<polyline
+ class="st3"
+ points="28.5,15.8 24,11.4 19.8,15.6 "
+ id="polyline24"
+ transform="matrix(1.2434171,0,0,1.2434171,-8.3961197,-2.041122)"
+ style="stroke:#cc0e00;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<text
+ class="st4 st5 st6"
+ id="text26"
+ x="30.474941"
+ y="21.261095"
+ style="font-size:23.2105px;fill:#cc0e00;fill-opacity:1;stroke:#cc0e00;stroke-width:1.24342;stroke-opacity:1">Z</text>
+</svg>
diff --git a/app/bin/bitmaps/SVG/exit.svg b/app/bin/bitmaps/SVG/exit.svg
new file mode 100644
index 0000000..210bdb9
--- /dev/null
+++ b/app/bin/bitmaps/SVG/exit.svg
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="exit.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata33"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs31" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1475"
+ inkscape:window-height="929"
+ id="namedview29"
+ showgrid="false"
+ inkscape:zoom="10.160412"
+ inkscape:cx="21.357402"
+ inkscape:cy="34.496633"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{stroke:#F80E00;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#F80E00;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#F80E00;stroke-miterlimit:10;}
+ .st5{font-family:'MyriadPro-Regular';}
+ .st6{font-size:12px;}
+</style>
+
+
+
+
+
+
+
+
+
+<line
+ class="st2"
+ x1="23.713451"
+ y1="26.070175"
+ x2="23.713451"
+ y2="3.7465641"
+ id="line22"
+ style="stroke:#cc0e00;stroke-width:4.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<polyline
+ class="st3"
+ points="28.5,15.8 24,11.4 19.8,15.6 "
+ id="polyline24"
+ transform="matrix(1.9103283,0,0,1.8174965,-22.134428,-16.972896)"
+ style="stroke:#cc0e00;stroke-width:2.41503;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+
+<text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:21.3333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial Bold'"
+ x="-0.028499108"
+ y="46.119984"
+ id="text844"><tspan
+ sodipodi:role="line"
+ x="-0.028499108"
+ y="46.119984"
+ id="tspan1266">EXIT</tspan></text></svg>
diff --git a/app/bin/bitmaps/SVG/extend.svg b/app/bin/bitmaps/SVG/extend.svg
new file mode 100644
index 0000000..eac7840
--- /dev/null
+++ b/app/bin/bitmaps/SVG/extend.svg
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="extend.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata39"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs37" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1501"
+ inkscape:window-height="979"
+ id="namedview35"
+ showgrid="false"
+ inkscape:zoom="13.417014"
+ inkscape:cx="22.802042"
+ inkscape:cy="25.410264"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:snap-nodes="true" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#6AC2FF;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#CCCCCC;stroke-width:2;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#666666;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#2A73FF;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#005EFF;stroke-miterlimit:10;}
+ .st5{fill:none;stroke:#FF3515;stroke-width:2;stroke-miterlimit:10;}
+ .st6{fill:none;stroke:#FF3515;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<line
+ class="st0"
+ x1="8.0488663"
+ y1="46.883717"
+ x2="7.7823558"
+ y2="35.003647"
+ id="line4" />
+<line
+ class="st0"
+ x1="32.46632"
+ y1="33.972927"
+ x2="23.902817"
+ y2="27.012367"
+ id="line6" />
+<line
+ class="st1"
+ x1="43.030769"
+ y1="9.9180746"
+ x2="31.705139"
+ y2="9.3531666"
+ id="line8" />
+<line
+ class="st0"
+ x1="21.559429"
+ y1="42.421944"
+ x2="15.962461"
+ y2="32.486633"
+ id="line10" />
+<line
+ class="st1"
+ x1="39.806316"
+ y1="23.599007"
+ x2="29.234509"
+ y2="19.125751"
+ id="line12" />
+<line
+ class="st0"
+ x1="15.522112"
+ y1="45.15593"
+ x2="11.712162"
+ y2="34.346085"
+ id="line14" />
+<line
+ class="st0"
+ x1="27.655085"
+ y1="38.615269"
+ x2="20.143089"
+ y2="29.865065"
+ id="line16" />
+<line
+ class="st1"
+ x1="36.311913"
+ y1="29.410093"
+ x2="26.634504"
+ y2="23.426489"
+ id="line18" />
+<line
+ class="st1"
+ x1="42.116776"
+ y1="16.602833"
+ x2="30.827339"
+ y2="14.766017"
+ id="line20" />
+<path
+ class="st2"
+ d="m 41.023581,7.9807585 c 0,8.6737585 -2.714909,15.9041265 -7.964815,22.2953165"
+ id="path22"
+ sodipodi:nodetypes="cc"
+ style="stroke-width:1.82605;stroke-miterlimit:10;stroke-dasharray:none" />
+<path
+ class="st3"
+ d="M 27.139223,26.464154 C 21.448838,33.020546 12.504364,37.904414 4.9171842,37.904414"
+ id="path24"
+ sodipodi:nodetypes="cc"
+ style="stroke-width:1.82605;stroke-miterlimit:10;stroke-dasharray:none" />
+<path
+ class="st2"
+ d="M 33.914475,7.8666305 C 33.572089,15.170848 32.617385,19.844707 27.139223,26.464154"
+ id="path26"
+ sodipodi:nodetypes="cc"
+ style="stroke-width:1.826;stroke-miterlimit:10;stroke-dasharray:none" />
+<path
+ class="st4"
+ d="M 33.058766,30.276075 C 25.868678,39.07873 15.954277,44.437137 5.3752468,44.694932"
+ id="path28"
+ sodipodi:nodetypes="cc"
+ style="stroke-width:1.82605;stroke-miterlimit:10;stroke-dasharray:none" />
+<path
+ class="st5"
+ d="M 30.495417,28.297573 C 36.264116,21.614347 38.199674,10.242642 37.674486,2.4997028"
+ id="path30"
+ style="stroke:#cc1b00;stroke-width:2.28257;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:nodetypes="cc" />
+<polyline
+ class="st6"
+ points="33.8,8.5 37.6,6.4 40.7,8.5 "
+ id="polyline32"
+ style="stroke:#cc1b00;stroke-width:1.56957;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.3817155,0,0,1.5306208,-14.278017,-7.2962703)" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/filled-box.svg b/app/bin/bitmaps/SVG/filled-box.svg
new file mode 100644
index 0000000..2d8e2dd
--- /dev/null
+++ b/app/bin/bitmaps/SVG/filled-box.svg
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="filled-box.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata15"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs13" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1502"
+ inkscape:window-height="991"
+ id="namedview11"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:#00C9FF;stroke:#000000;stroke-miterlimit:10;}
+ .st1{stroke:#F80E00;stroke-width:2;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#F80E00;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<rect
+ x="3.4919739"
+ y="4.7348843"
+ class="st0"
+ width="41.016052"
+ height="38.530231"
+ id="rect4"
+ style="fill:#80e2ff;fill-opacity:1;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st1"
+ x1="6.4384027"
+ y1="40.359879"
+ x2="40.216499"
+ y2="8.7573147"
+ id="line6"
+ style="stroke:#cc0e00;stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<polyline
+ class="st2"
+ points="39.9,18.3 39.4,11.4 32.7,11.4 "
+ id="polyline8"
+ style="stroke:#cc0e00;stroke-width:2.48773465;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.1910839,0,0,1.2209336,-6.7122048,-5.1613282)" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/filled-polygon.svg b/app/bin/bitmaps/SVG/filled-polygon.svg
new file mode 100644
index 0000000..6fe8cce
--- /dev/null
+++ b/app/bin/bitmaps/SVG/filled-polygon.svg
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="filled-polygon.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata857"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs855" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1330"
+ inkscape:window-height="961"
+ id="namedview853"
+ showgrid="false"
+ inkscape:zoom="13.417014"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style846">
+ .st0{fill:#15C7FF;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+</style>
+<polygon
+ class="st0"
+ points="10.9,10 28.2,7.8 39.7,20.1 40,36.5 24.7,39.8 11.8,32.9 7.4,19.8 "
+ id="polygon848"
+ style="fill:#80e1ff;fill-opacity:1"
+ transform="matrix(1.3119381,0,0,1.3037001,-7.0644654,-7.0270096)" />
+<path
+ class="st1"
+ d="M3.5,28.2"
+ id="path850" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/go.svg b/app/bin/bitmaps/SVG/go.svg
new file mode 100644
index 0000000..943e561
--- /dev/null
+++ b/app/bin/bitmaps/SVG/go.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="go.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata42"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+ id="defs40"><radialGradient
+ inkscape:collect="always"
+ xlink:href="#SVGID_1_"
+ id="radialGradient867"
+ cx="23.599313"
+ cy="23.299802"
+ fx="23.599313"
+ fy="23.299802"
+ r="18.802058"
+ gradientTransform="matrix(1,0,0,1.1475892,0,-3.4387987)"
+ gradientUnits="userSpaceOnUse" /></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1523"
+ inkscape:window-height="918"
+ id="namedview38"
+ showgrid="false"
+ inkscape:zoom="14.378038"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:url(#SVGID_1_);stroke:#000000;stroke-miterlimit:10;}
+</style>
+<linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="2.3596"
+ y1="25.2837"
+ x2="44.5404"
+ y2="25.2837"
+ gradientTransform="matrix(5.000000e-03 1 -1 5.000000e-03 48.7725 -0.2285)">
+
+
+
+
+
+
+
+
+ <stop
+ offset="0.08821"
+ style="stop-color:#b1e7ba;stop-opacity:1"
+ id="stop20" />
+ <stop
+ offset="0.3086791"
+ style="stop-color:#a0deac;stop-opacity:1"
+ id="stop22" />
+ <stop
+ offset="0.54394364"
+ style="stop-color:#6ece7c;stop-opacity:1"
+ id="stop24" />
+ <stop
+ offset="0.75441277"
+ style="stop-color:#36c450;stop-opacity:1"
+ id="stop26" />
+
+ <stop
+ offset="0.9501"
+ style="stop-color:#06ab21;stop-opacity:1"
+ id="stop30" />
+ <stop
+ offset="0.9992"
+ style="stop-color:#00a91a;stop-opacity:1"
+ id="stop32" />
+</linearGradient>
+<polygon
+ class="st0"
+ points="23.5,44.3 5.3,33.7 5.5,12.7 23.7,2.3 41.9,12.9 41.8,33.9 "
+ id="polygon35"
+ style="fill-opacity:1;fill:url(#radialGradient867)" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/grid.svg b/app/bin/bitmaps/SVG/grid.svg
new file mode 100644
index 0000000..23b9b93
--- /dev/null
+++ b/app/bin/bitmaps/SVG/grid.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
+<style type="text/css">
+ .st0{fill:none;stroke:#000000;stroke-miterlimit:10;}
+</style>
+<line class="st0" x1="4.9" y1="10.2" x2="42" y2="10.4"/>
+<line class="st0" x1="5" y1="17.5" x2="42" y2="17.5"/>
+<line class="st0" x1="5" y1="24.5" x2="42" y2="24.5"/>
+<line class="st0" x1="5" y1="31.5" x2="42" y2="31.5"/>
+<line class="st0" x1="5" y1="38.5" x2="42" y2="38.5"/>
+<line class="st0" x1="9.5" y1="7" x2="9.5" y2="42"/>
+<line class="st0" x1="16.5" y1="7" x2="16.5" y2="42"/>
+<line class="st0" x1="23.5" y1="7" x2="23.5" y2="42"/>
+<line class="st0" x1="30.5" y1="7" x2="30.5" y2="42"/>
+<line class="st0" x1="37.5" y1="7" x2="37.5" y2="42"/>
+</svg>
diff --git a/app/bin/bitmaps/SVG/helix.svg b/app/bin/bitmaps/SVG/helix.svg
new file mode 100644
index 0000000..c88f470
--- /dev/null
+++ b/app/bin/bitmaps/SVG/helix.svg
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="helix.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata2607"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs2605"><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1130"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /><inkscape:path-effect
+ effect="powerclip"
+ id="path-effect1126"
+ is_visible="true"
+ lpeversion="1"
+ inverse="true"
+ flatten="false"
+ hide_clip="false"
+ message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." /></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1440"
+ inkscape:window-height="741"
+ id="namedview2603"
+ showgrid="false"
+ inkscape:zoom="10.631993"
+ inkscape:cx="24.031242"
+ inkscape:cy="23.843131"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:snap-nodes="true"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style2554">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FF0000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FF0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+ .st4{fill:#FB0000;}
+ .st5{font-family:'MyriadPro-Regular';}
+ .st6{font-size:12px;}
+</style>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<path
+ style="opacity:1;fill:none;fill-rule:evenodd;stroke:#666666;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path6188"
+ sodipodi:type="arc"
+ sodipodi:cx="24.133484"
+ sodipodi:cy="30.883982"
+ sodipodi:rx="21.415539"
+ sodipodi:ry="14.88994"
+ sodipodi:start="1.5677882"
+ sodipodi:end="4.7181141"
+ sodipodi:arc-type="arc"
+ d="M 24.197904,45.773855 A 21.415539,14.88994 0 0 1 5.5881225,38.330203 21.415539,14.88994 0 0 1 5.6172887,23.402754 21.415539,14.88994 0 0 1 24.25609,15.994285"
+ sodipodi:open="true" /><path
+ style="opacity:1;fill:none;fill-rule:evenodd;stroke:#595959;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path6188-2"
+ sodipodi:type="arc"
+ sodipodi:cx="-24.210531"
+ sodipodi:cy="27.442301"
+ sodipodi:rx="21.415539"
+ sodipodi:ry="11.448045"
+ sodipodi:start="1.5617363"
+ sodipodi:end="4.744592"
+ sodipodi:arc-type="arc"
+ sodipodi:open="true"
+ d="m -24.016509,38.889876 a 21.415539,11.448045 0 0 1 -18.790484,-5.770157 21.415539,11.448045 0 0 1 0.25075,-11.583362 21.415539,11.448045 0 0 1 19.035238,-5.536165"
+ transform="scale(-1,1)" /><path
+ style="opacity:1;fill:none;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path6188-25"
+ sodipodi:type="arc"
+ sodipodi:cx="23.952087"
+ sodipodi:cy="24.000002"
+ sodipodi:rx="21.415539"
+ sodipodi:ry="14.88994"
+ sodipodi:start="1.5677882"
+ sodipodi:end="4.7181141"
+ sodipodi:arc-type="arc"
+ sodipodi:open="true"
+ d="M 24.016508,38.889875 A 21.415539,14.88994 0 0 1 5.406726,31.446223 21.415539,14.88994 0 0 1 5.4358922,16.518774 21.415539,14.88994 0 0 1 24.074693,9.1103057" /><path
+ style="opacity:1;fill:none;fill-rule:evenodd;stroke:#404040;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path6188-2-6"
+ sodipodi:type="arc"
+ sodipodi:cx="-24.029137"
+ sodipodi:cy="20.558321"
+ sodipodi:rx="21.415539"
+ sodipodi:ry="11.448045"
+ sodipodi:start="1.5617363"
+ sodipodi:end="4.744592"
+ sodipodi:arc-type="arc"
+ sodipodi:open="true"
+ transform="scale(-1,1)"
+ d="m -23.835114,32.005896 a 21.415539,11.448045 0 0 1 -18.790484,-5.770156 21.415539,11.448045 0 0 1 0.25075,-11.583363 21.415539,11.448045 0 0 1 19.035237,-5.5361653" /><path
+ style="opacity:1;fill:none;fill-rule:evenodd;stroke:#333333;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path6188-5"
+ sodipodi:type="arc"
+ sodipodi:cx="23.770693"
+ sodipodi:cy="17.116022"
+ sodipodi:rx="21.415539"
+ sodipodi:ry="14.88994"
+ sodipodi:start="1.5677882"
+ sodipodi:end="4.7181141"
+ sodipodi:arc-type="arc"
+ sodipodi:open="true"
+ d="M 23.835113,32.005895 A 21.415539,14.88994 0 0 1 5.2253314,24.562244 21.415539,14.88994 0 0 1 5.2544977,9.6347943 21.415539,14.88994 0 0 1 23.893299,2.2263259" /><path
+ style="opacity:1;fill:none;fill-rule:evenodd;stroke:#262626;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path6188-2-96"
+ sodipodi:type="arc"
+ sodipodi:cx="-23.847742"
+ sodipodi:cy="13.674341"
+ sodipodi:rx="21.415539"
+ sodipodi:ry="11.448045"
+ sodipodi:start="1.5617363"
+ sodipodi:end="4.744592"
+ sodipodi:arc-type="arc"
+ sodipodi:open="true"
+ transform="scale(-1,1)"
+ d="M -23.653719,25.121916 A 21.415539,11.448045 0 0 1 -42.444204,19.35176 21.415539,11.448045 0 0 1 -42.193454,7.7683976 21.415539,11.448045 0 0 1 -23.158216,2.2322319" /></svg>
diff --git a/app/bin/bitmaps/SVG/join-line.svg b/app/bin/bitmaps/SVG/join-line.svg
new file mode 100644
index 0000000..feb8a93
--- /dev/null
+++ b/app/bin/bitmaps/SVG/join-line.svg
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1519"
+ sodipodi:docname="join-line.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata1523"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1454"
+ inkscape:window-height="888"
+ id="namedview1521"
+ showgrid="false"
+ inkscape:zoom="8.7705101"
+ inkscape:cx="32"
+ inkscape:cy="32"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g1515"
+ inkscape:document-rotation="0" /><defs
+ id="defs1493"><clipPath
+ id="clipPath2821"><path
+ d="m0 48h48v-48h-48z"
+ id="path1490" /></clipPath></defs><g
+ transform="matrix(1.3333,0,0,-1.3333,0,64)"
+ id="g1517"><g
+ clip-path="url(#clipPath2821)"
+ id="g1515"><g
+ transform="matrix(1.3145504,0,0,1.3145504,44.440574,45.894188)"
+ id="g1497"
+ style="stroke-width:1.42638;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="M 0,0 C -0.224,-3.8 -0.994,-8.962 -2.938,-12.877"
+ fill="none"
+ stroke="#000000"
+ stroke-miterlimit="10"
+ id="path1495"
+ style="stroke-width:1.42638;stroke-miterlimit:10;stroke-dasharray:none" /></g><g
+ transform="matrix(1.3145504,0,0,1.3145504,20.707682,7.9609974)"
+ id="g1501"
+ style="stroke-width:1.42638;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="M 0,0 C -4.396,-2.414 -9.159,-3.782 -13.756,-3.782"
+ fill="none"
+ stroke="#000000"
+ stroke-miterlimit="10"
+ id="path1499"
+ style="stroke-width:1.42638;stroke-miterlimit:10;stroke-dasharray:none" /></g><g
+ transform="translate(20.860044,9.2266046)"
+ id="g1505"><path
+ d="M -1.3643768,-1.428611 C 7.6547534,2.8134428 16.617357,12.690975 20.206079,20.918744"
+ fill="none"
+ stroke="#ff3515"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path1503"
+ style="stroke:#cc1a00;stroke-width:2.46485;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g><g
+ transform="matrix(1.3145504,0,0,1.3145504,35.788203,30.460053)"
+ id="g1509"
+ style="stroke-width:0.999775;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="M 0,0 4.322,0.468 6.307,-2.751"
+ fill="none"
+ stroke="#ff3515"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path1507"
+ style="stroke:#cc1a00;stroke-width:1.87505;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g><g
+ transform="matrix(1.3145504,0,0,1.3145504,24.610582,5.2201604)"
+ id="g1513"><path
+ d="m 0,0 -3.818,2.082 0.207,3.776"
+ fill="none"
+ stroke="#ff3515"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path1511"
+ style="stroke:#cc1a00;stroke-width:1.87505;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/join.svg b/app/bin/bitmaps/SVG/join.svg
new file mode 100644
index 0000000..c441656
--- /dev/null
+++ b/app/bin/bitmaps/SVG/join.svg
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="join.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata962"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs960" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1364"
+ inkscape:window-height="842"
+ id="namedview958"
+ showgrid="false"
+ inkscape:zoom="11.681573"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:snap-nodes="false" />
+<style
+ type="text/css"
+ id="style911">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#CCCCCC;stroke-width:2;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#B3B3B3;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#808080;stroke-linecap:round;stroke-miterlimit:10;}
+ .st5{fill:none;stroke:#FF3515;stroke-width:2;stroke-miterlimit:10;}
+ .st6{fill:none;stroke:#FF3515;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<line
+ class="st0"
+ x1="4.7765999"
+ y1="46.437527"
+ x2="4.25386"
+ y2="34.322994"
+ id="line913"
+ style="stroke:#d98a0d;stroke-opacity:1" />
+
+<line
+ class="st0"
+ x1="45.788837"
+ y1="3.8463986"
+ x2="33.064186"
+ y2="3.1967058"
+ id="line917"
+ style="stroke:#d98a0d;stroke-opacity:1" />
+<path
+ class="st2"
+ d="M 15.061216,31.402502"
+ id="path919" />
+<path
+ class="st2"
+ d="M 21.125158,41.15754"
+ id="path921" />
+<path
+ class="st2"
+ d="M 30.616547,15.188049"
+ id="path923" />
+<path
+ class="st2"
+ d="M 42.217131,19.406444"
+ id="path925" />
+<line
+ class="st0"
+ x1="13.55937"
+ y1="45.097534"
+ x2="9.8468332"
+ y2="33.243919"
+ id="line927"
+ style="stroke:#d98a0d;stroke-opacity:1" />
+
+
+<line
+ class="st0"
+ x1="44.724155"
+ y1="11.753452"
+ x2="32.387802"
+ y2="9.2630863"
+ id="line933"
+ style="stroke:#d98a0d;stroke-opacity:1" />
+<path
+ class="st3"
+ d="M 43.37784,1.6100916 C 43.114189,6.6194351 42.059591,13.474326 39.554918,18.615495"
+ id="path935"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none" />
+<path
+ class="st3"
+ d="M 16.115816,32.773806 C 11.633771,35.410302 6.7562524,36.860375 2.1423833,36.860375"
+ id="path937"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none" />
+<path
+ class="st3"
+ d="M 35.942594,1.4782669 C 36.074418,6.2239605 34.756171,11.628778 32.646973,15.978998"
+ id="path939"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none" />
+<path
+ class="st3"
+ d="M 20.202385,38.890802 C 14.402092,42.054599 8.0745012,43.900146 2.1423833,43.900146"
+ id="path941"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none" />
+
+<path
+ class="st4"
+ d="M 18.333961,46.5495"
+ id="path945" />
+<path
+ class="st4"
+ d="M 20.333961,46.5495"
+ id="path947" />
+
+<path
+ class="st5"
+ d="M 14.948598,37.230225 C 24.078207,33.30287 33.464632,24.34554 36.647664,15.972193"
+ id="path951"
+ style="stroke:#cc1a00;stroke-width:3.46926;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:nodetypes="cc" />
+<polyline
+ class="st6"
+ points="30.9,20.2 35.2,19.9 37.1,23.2 "
+ id="polyline953"
+ style="stroke:#cc1a00;stroke-width:1.91786;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.8215816,-0.10780836,0.10780836,1.8215816,-28.758825,-17.280872)" />
+<polyline
+ class="st6"
+ points="21.8,39.1 18,37 18.4,33.2 "
+ id="polyline955"
+ style="stroke:#cc1a00;stroke-width:1.93219;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.8040301,0,0,1.8040301,-16.833582,-29.960531)" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/layers.svg b/app/bin/bitmaps/SVG/layers.svg
new file mode 100644
index 0000000..b261d30
--- /dev/null
+++ b/app/bin/bitmaps/SVG/layers.svg
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="layers.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata1539"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs1537" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1338"
+ inkscape:window-height="936"
+ id="namedview1535"
+ showgrid="false"
+ inkscape:zoom="13.417014"
+ inkscape:cx="24"
+ inkscape:cy="24.722465"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style1492">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{stroke:#F80E00;stroke-width:2;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#F80E00;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+ .st5{font-family:'MyriadPro-Regular';}
+ .st6{font-size:12px;}
+</style>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<rect
+ style="fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:2.00793;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.98"
+ id="rect860-7"
+ width="33.315411"
+ height="15.514964"
+ x="25.02117"
+ y="30.31708"
+ ry="0.29794645"
+ transform="matrix(1,0,-0.45844986,0.88872027,0,0)" /><rect
+ style="fill:#bfbfbf;fill-opacity:1;stroke:#000000;stroke-width:2.00793;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.98"
+ id="rect860-8"
+ width="33.315411"
+ height="15.514964"
+ x="19.462948"
+ y="18.680857"
+ ry="0.29794645"
+ transform="matrix(1,0,-0.45844986,0.88872027,0,0)" /><rect
+ style="opacity:1;fill:#e5e5e5;fill-opacity:1;stroke:#000000;stroke-width:2.00793;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.98"
+ id="rect860"
+ width="33.315411"
+ height="15.514964"
+ x="14.359009"
+ y="7.5478206"
+ ry="0.29794645"
+ transform="matrix(1,0,-0.45844986,0.88872027,0,0)" /></svg>
diff --git a/app/bin/bitmaps/SVG/magnet.svg b/app/bin/bitmaps/SVG/magnet.svg
new file mode 100644
index 0000000..9d0b3a6
--- /dev/null
+++ b/app/bin/bitmaps/SVG/magnet.svg
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg23"
+ sodipodi:docname="magnet.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata27"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1446"
+ inkscape:window-height="937"
+ id="namedview25"
+ showgrid="false"
+ inkscape:zoom="7.9847123"
+ inkscape:cx="32.123888"
+ inkscape:cy="32.123888"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g925"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0"
+ inkscape:snap-nodes="true"
+ inkscape:snap-others="true" /><defs
+ id="defs5"><clipPath
+ id="clipPath1505"><path
+ d="m0 48h48v-48h-48z"
+ id="path2" /></clipPath></defs><g
+ id="g880"
+ transform="matrix(1.3226362,0,0,1.3226362,-8.1164854,-11.85842)"><path
+ d="m 14.435367,34.575808 c 0,0 14.228208,-19.311121 19.633295,-19.660002 5.403604,-0.348882 14.272694,6.170391 14.272694,11.69849 -0.591669,5.412776 -17.564682,22.176623 -17.564682,22.176623"
+ fill="none"
+ stroke="#f80e00"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ stroke-width="8.82763"
+ id="path7"
+ style="stroke-width:8.97904;stroke-miterlimit:10;stroke-dasharray:none" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.51213;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 11.330754,30.48781 c 5.957485,-7.27871 12.690173,-17.209345 21.393032,-20.040332 5.117394,-0.344091 9.646675,1.097298 13.772433,4.543503 4.922997,3.906705 6.190886,6.874275 6.767488,11.533505 -0.721479,7.262755 -11.340738,17.177757 -18.740785,25.161964"
+ id="path870"
+ sodipodi:nodetypes="ccccc" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.65482;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 18.475636,36.915263 c 8.069478,-11.086752 9.916753,-12.484666 15.946619,-17.8605 5.171653,1.210228 7.461614,3.144793 10.176073,7.550811 -5.574625,8.638889 -9.088159,10.653142 -17.119996,18.472961"
+ id="path872"
+ sodipodi:nodetypes="cccc" /></g><g
+ id="g930"
+ transform="matrix(1.4474381,0,0,1.4474381,-11.767259,-16.212821)"
+ style="stroke-width:1.51213;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="m 30.476571,54.014516 -6.441172,-5.87452 3.59591,-3.939901 6.439839,5.873186 z"
+ fill="#ffe003"
+ id="path11"
+ style="stroke-width:1.51214;stroke-miterlimit:4;stroke-dasharray:none" /><path
+ style="fill:none;stroke:#332c00;stroke-width:1.38175;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 27.631309,44.200095 -3.59591,3.939901 6.441172,5.87452 3.594577,-3.941235"
+ id="path867" /></g><g
+ id="g925"
+ transform="matrix(1.4474381,0,0,1.4474381,-11.767259,-16.212821)"
+ style="stroke-width:1.51213;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="m 15.810271,40.681916 -6.4411723,-5.87452 3.5959103,-3.939901 6.439839,5.873186 z"
+ fill="#ffe003"
+ id="path15"
+ style="stroke-width:1.51214;stroke-miterlimit:4;stroke-dasharray:none" /><path
+ style="fill:none;stroke:#332d00;stroke-width:1.38175;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 12.965009,30.867495 -3.5959103,3.939901 6.4411723,5.87452 3.594577,-3.941235"
+ id="path865" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/manage.svg b/app/bin/bitmaps/SVG/manage.svg
new file mode 100644
index 0000000..2791e15
--- /dev/null
+++ b/app/bin/bitmaps/SVG/manage.svg
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg75"
+ sodipodi:docname="manage.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata79"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1532"
+ inkscape:window-height="913"
+ id="namedview77"
+ showgrid="false"
+ inkscape:zoom="5.3929307"
+ inkscape:cx="31.986319"
+ inkscape:cy="21.046071"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g73"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><defs
+ id="defs5"><clipPath
+ id="clipPath4002"><path
+ d="m0 48h48v-48h-48z"
+ id="path2" /></clipPath></defs><g
+ transform="matrix(2.2443875,0,0,-2.2010601,-22.872113,82.32556)"
+ id="g73"><g
+ transform="translate(12.5,35)"
+ id="g21" /><path
+ sodipodi:type="star"
+ style="opacity:1;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:4.30787;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path3469"
+ inkscape:flatsided="false"
+ sodipodi:sides="8"
+ sodipodi:cx="3.0788169"
+ sodipodi:cy="2.956532"
+ sodipodi:r1="42.981846"
+ sodipodi:r2="30.087292"
+ sodipodi:arg1="0.76729149"
+ sodipodi:arg2="1.1599906"
+ inkscape:rounded="0.7"
+ inkscape:randomized="0"
+ d="m 34.016871,32.794023 c -9.260139,9.601701 -6.693085,-7.580595 -18.92275,-2.253481 -12.2296636,5.327113 2.100246,15.149269 -11.2370884,15.39079 -13.337335,0.241521 0.6275641,-10.093016 -11.7869529,-14.973857 -12.4145157,-4.88084 -9.2270537,12.19725 -18.8287537,2.937111 -9.601701,-9.260139 7.580595,-6.693085 2.253481,-18.92275 -5.327113,-12.2296635 -15.14927,2.100246 -15.39079,-11.2370883 -0.241521,-13.337335 10.093016,0.6275641 14.973857,-11.7869529 4.88084,-12.4145158 -12.19725,-9.2270538 -2.937111,-18.8287538 9.260139,-9.601701 6.693085,7.580595 18.9227497,2.253481 12.2296637,-5.327113 -2.1002457,-15.149269 11.2370885,-15.39079 13.3373348,-0.241521 -0.6275641,10.093016 11.7869528,14.973857 12.414516,4.88084 9.227054,-12.19725 18.828754,-2.937111 9.601701,9.260139 -7.580595,6.693085 -2.253481,18.9227498 C 35.98994,3.1708915 45.812096,-11.159018 46.053617,2.1783163 46.295138,15.515651 35.960601,1.5507522 31.07976,13.965269 c -4.88084,12.414516 12.197249,9.227054 2.937111,18.828754 z"
+ transform="matrix(0.31028492,0,0,-0.31639281,23.493281,23.799663)" /><path
+ sodipodi:type="star"
+ style="opacity:1;fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3.65588;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path5664"
+ inkscape:flatsided="false"
+ sodipodi:sides="10"
+ sodipodi:cx="32.635319"
+ sodipodi:cy="31.522749"
+ sodipodi:r1="12.211524"
+ sodipodi:r2="12.211524"
+ sodipodi:arg1="0.73168643"
+ sodipodi:arg2="1.0458457"
+ inkscape:rounded="1"
+ inkscape:randomized="0"
+ d="m 41.721287,39.681578 c -2.552644,2.842717 0.340241,0.493623 -2.965915,2.408397 -3.306157,1.914775 0.17105,0.574604 -3.564989,1.374004 -3.73604,0.7994 -0.01488,0.599338 -3.815097,0.205112 -3.800213,-0.394225 -0.199361,0.565405 -3.691756,-0.983855 -3.492395,-1.549261 -0.364323,0.476126 -3.20704,-2.076518 -2.842718,-2.552644 -0.493623,0.340241 -2.408397,-2.965916 -1.914775,-3.306157 -0.574604,0.17105 -1.374004,-3.564989 -0.7994,-3.73604 -0.599338,-0.01488 -0.205113,-3.815097 0.394225,-3.800213 -0.565405,-0.199361 0.983856,-3.691756 1.549261,-3.492395 -0.476126,-0.364323 2.076518,-3.20704 2.552644,-2.842717 -0.340241,-0.493623 2.965916,-2.408397 3.306157,-1.914775 -0.171051,-0.574604 3.564989,-1.374004 3.73604,-0.7994 0.01488,-0.599338 3.815097,-0.205113 3.800213,0.394226 0.19936,-0.565404 3.691755,0.983856 3.492396,1.549261 0.364323,-0.476126 3.207041,2.076518 2.842717,2.552644 0.493623,-0.340241 2.408397,2.965916 1.914774,3.306157 0.574603,-0.171051 1.374004,3.564989 0.7994,3.73604 0.599337,0.01488 0.205112,3.815097 -0.394225,3.800213 0.565405,0.19936 -0.983856,3.691756 -1.54926,3.492395 0.476127,0.364323 -2.076518,3.20704 z"
+ transform="matrix(0.36562159,0,0,-0.37281877,12.516414,34.61651)" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/map.svg b/app/bin/bitmaps/SVG/map.svg
new file mode 100644
index 0000000..69686be
--- /dev/null
+++ b/app/bin/bitmaps/SVG/map.svg
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg75"
+ sodipodi:docname="map.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata79"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1532"
+ inkscape:window-height="913"
+ id="namedview77"
+ showgrid="false"
+ inkscape:zoom="8.1776315"
+ inkscape:cx="31.977474"
+ inkscape:cy="20.971843"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g73"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><defs
+ id="defs5"><clipPath
+ id="clipPath4002"><path
+ d="m0 48h48v-48h-48z"
+ id="path2" /></clipPath></defs><g
+ transform="matrix(2.2443875,0,0,-2.2010601,-22.872113,82.32556)"
+ id="g73"><g
+ transform="matrix(1.1604879,0,0,-1.2603903,11.985406,19.218785)"
+ id="g9"
+ inkscape:label="Blue"
+ style="stroke-width:1.39564;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M 0,0 5.547,1.772 7.165,1.541 9.63,3.39 l 3.775,-2.388 1.696,-1.079 2.003,-2.85 4.622,4.083"
+ fill="none"
+ stroke="#0dc7f9"
+ stroke-miterlimit="10"
+ id="path7"
+ style="stroke-width:1.39564;stroke-miterlimit:4;stroke-dasharray:none" /></g><g
+ transform="matrix(1.0718729,0,0,1.0718729,19.14911,19.235271)"
+ id="g13"
+ inkscape:label="Yellow"
+ style="stroke-width:1.57472;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="m -7.2464661,7.5557829 4.4623989,1.683774 3.8630671,-2.483018 4.6657906,1.0624365 3.4740871,3.9357916 4.4085404,-2.4503968 1.053245,-4.7487168 2.235,-0.077"
+ fill="none"
+ stroke="#f79e0f"
+ stroke-miterlimit="10"
+ id="path11"
+ style="stroke-width:1.57472;stroke-miterlimit:4;stroke-dasharray:none"
+ sodipodi:nodetypes="cccccccc" /></g><g
+ transform="matrix(1.332436,0,0,1.0673884,12.044914,20.992887)"
+ id="g17"
+ inkscape:label="Magenta"
+ style="stroke-width:1.41534;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="m 0,0 c 2.157,1.079 4.227,1.31 4.227,1.31 h 1.254 l 3.137,2.544 3.39,-4.083 0.848,-2.621 1.771,-1.386 4.238,2.773"
+ fill="none"
+ stroke="#f411b4"
+ stroke-miterlimit="10"
+ id="path15"
+ style="stroke-width:1.41534;stroke-miterlimit:4;stroke-dasharray:none" /></g><g
+ transform="translate(12.5,35)"
+ id="g21" /><g
+ transform="matrix(1.0718729,0,0,1.0718729,20.304589,9.7384755)"
+ id="Map"
+ inkscape:label="Map"
+ style="stroke:#333333;stroke-opacity:1;stroke-width:1.04937774;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M -8.166,24.422 V 4.1442139"
+ fill="none"
+ stroke="#050001"
+ stroke-miterlimit="10"
+ id="path19"
+ style="stroke-width:1.04937774;stroke:#333333;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /><path
+ d="m -0.154,20.031 v -20"
+ fill="none"
+ stroke="#050001"
+ stroke-miterlimit="10"
+ id="path27"
+ style="stroke:#333333;stroke-opacity:1;stroke-width:1.04937774;stroke-miterlimit:4;stroke-dasharray:none" /><path
+ d="m 8.012,24.423 v -20"
+ fill="none"
+ stroke="#050001"
+ stroke-miterlimit="10"
+ id="path31"
+ style="stroke:#333333;stroke-opacity:1;stroke-width:1.04937774;stroke-miterlimit:4;stroke-dasharray:none" /><path
+ d="m 15.87,20.186 v -20"
+ fill="none"
+ stroke="#050001"
+ stroke-miterlimit="10"
+ id="path35"
+ style="stroke:#333333;stroke-opacity:1;stroke-width:1.04937774;stroke-miterlimit:4;stroke-dasharray:none" /><path
+ d="m -8.166,24.422 8.012,-4.391"
+ fill="none"
+ stroke="#050001"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ id="path39"
+ style="stroke:#333333;stroke-opacity:1;stroke-width:1.04937774;stroke-miterlimit:4;stroke-dasharray:none" /><path
+ d="m -0.154,20.031 8.166,4.392"
+ fill="none"
+ stroke="#050001"
+ stroke-miterlimit="10"
+ id="path43"
+ style="stroke:#333333;stroke-opacity:1;stroke-width:1.04937774;stroke-miterlimit:4;stroke-dasharray:none" /><path
+ d="M 7.935,24.5 15.87,20.186"
+ fill="none"
+ stroke="#050001"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ id="path47"
+ style="stroke:#333333;stroke-opacity:1;stroke-width:1.04937774;stroke-miterlimit:4;stroke-dasharray:none" /><path
+ d="M 0,0 -8.166,4.1442139"
+ fill="none"
+ stroke="#050001"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ id="path51"
+ style="stroke-width:1.04937774;stroke:#333333;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /><path
+ d="M 8.09,4.623 -0.154,0.031"
+ fill="none"
+ stroke="#050001"
+ stroke-miterlimit="10"
+ id="path55"
+ style="stroke-width:1.04937774;stroke:#333333;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /><path
+ d="M 15.907,0.366 7.895,4.68"
+ fill="none"
+ stroke="#050001"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ id="path59"
+ style="stroke:#333333;stroke-opacity:1;stroke-width:1.04937774;stroke-miterlimit:4;stroke-dasharray:none" /></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/move.svg b/app/bin/bitmaps/SVG/move.svg
new file mode 100644
index 0000000..9c1e906
--- /dev/null
+++ b/app/bin/bitmaps/SVG/move.svg
@@ -0,0 +1,231 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="move.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata57"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs55" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1250"
+ inkscape:window-height="856"
+ id="namedview53"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#CCCCCC;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#00FFFF;stroke-width:2;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#808080;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FB0000;stroke-width:2;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#808080;stroke-width:2;stroke-miterlimit:10;}
+ .st5{fill:none;stroke:#FB0000;stroke-miterlimit:10;}
+ .st6{fill:none;stroke:#007CBF;stroke-miterlimit:10;}
+ .st7{fill:none;stroke:#007CBF;stroke-width:2;stroke-miterlimit:10;}
+ .st8{fill:none;stroke:#FF0B00;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<line
+ class="st0"
+ x1="44.622711"
+ y1="4.6662092"
+ x2="30.444595"
+ y2="4.6662092"
+ id="line4"
+ style="stroke:#b2b2b2;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="44.622711"
+ y1="11.110806"
+ x2="30.444595"
+ y2="11.110806"
+ id="line6"
+ style="stroke:#b2b2b2;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="44.622711"
+ y1="17.555403"
+ x2="30.444595"
+ y2="17.555403"
+ id="line8"
+ style="stroke:#b2b2b2;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="44.622711"
+ y1="24"
+ x2="30.444595"
+ y2="24"
+ id="line10"
+ style="stroke:#b2b2b2;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="44.622711"
+ y1="30.444595"
+ x2="30.444595"
+ y2="30.444595"
+ id="line12"
+ style="stroke:#b2b2b2;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="44.622711"
+ y1="36.889191"
+ x2="30.444595"
+ y2="36.889191"
+ id="line14"
+ style="stroke:#b2b2b2;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="44.622711"
+ y1="43.33379"
+ x2="30.444595"
+ y2="43.33379"
+ id="line16"
+ style="stroke:#b2b2b2;stroke-opacity:1" />
+<line
+ class="st1"
+ x1="17.555403"
+ y1="4.6662092"
+ x2="3.3772895"
+ y2="4.6662092"
+ id="line18"
+ style="stroke:#00cccc;stroke-opacity:1" />
+<line
+ class="st1"
+ x1="17.555403"
+ y1="11.110806"
+ x2="3.3772895"
+ y2="11.110806"
+ id="line20"
+ style="stroke:#00cccc;stroke-opacity:1" />
+<line
+ class="st1"
+ x1="17.555403"
+ y1="17.555403"
+ x2="3.3772895"
+ y2="17.555403"
+ id="line22"
+ style="stroke:#00cccc;stroke-opacity:1" />
+<line
+ class="st1"
+ x1="17.555403"
+ y1="24"
+ x2="3.3772895"
+ y2="24"
+ id="line24"
+ style="stroke:#00cccc;stroke-opacity:1" />
+<line
+ class="st1"
+ x1="17.555403"
+ y1="30.444595"
+ x2="3.3772895"
+ y2="30.444595"
+ id="line26"
+ style="stroke:#00cccc;stroke-opacity:1" />
+<line
+ class="st1"
+ x1="17.555403"
+ y1="36.889191"
+ x2="3.3772895"
+ y2="36.889191"
+ id="line28"
+ style="stroke:#00cccc;stroke-opacity:1" />
+<line
+ class="st1"
+ x1="17.555403"
+ y1="43.33379"
+ x2="3.3772895"
+ y2="43.33379"
+ id="line30"
+ style="stroke:#00cccc;stroke-opacity:1" />
+<line
+ class="st2"
+ x1="41.411499"
+ y1="2.0883698"
+ x2="41.411499"
+ y2="45.911629"
+ id="line32"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none;stroke:#666666;stroke-opacity:1" />
+<line
+ class="st2"
+ x1="33.655811"
+ y1="2.0883698"
+ x2="33.655811"
+ y2="45.911629"
+ id="line34"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none;stroke:#666666;stroke-opacity:1" />
+<path
+ class="st3"
+ d="M 41.271518,38.04922"
+ id="path36" />
+<path
+ class="st4"
+ d="M 38.822572,24.773351"
+ id="path38" />
+<path
+ class="st5"
+ d="M 24.902243,36.502517"
+ id="path40"
+ style="stroke-width:1.28891" />
+<line
+ class="st6"
+ x1="14.344203"
+ y1="2.0883698"
+ x2="14.344203"
+ y2="45.911629"
+ id="line42"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none;stroke:#006699;stroke-opacity:1" />
+<line
+ class="st6"
+ x1="6.5884933"
+ y1="2.0883698"
+ x2="6.5884933"
+ y2="45.911629"
+ id="line44"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none;stroke:#006699;stroke-opacity:1" />
+<path
+ class="st7"
+ d="M 11.755265,24.773351"
+ id="path46" />
+<line
+ class="st8"
+ x1="11.05998"
+ y1="24"
+ x2="35.821922"
+ y2="24"
+ id="line48"
+ style="stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none;stroke:#cc0000;stroke-opacity:1" />
+<polyline
+ class="st8"
+ points="30.5,18.7 34,23 30.5,27.2 "
+ id="polyline50"
+ transform="matrix(1.2889194,0,0,1.2889194,-6.9340656,-5.6451464)"
+ style="stroke:#cc0000;stroke-opacity:1;stroke-width:2.32753111;stroke-miterlimit:10;stroke-dasharray:none" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/new-car.svg b/app/bin/bitmaps/SVG/new-car.svg
new file mode 100644
index 0000000..6b0d579
--- /dev/null
+++ b/app/bin/bitmaps/SVG/new-car.svg
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="new-car.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><path
+ class="st2"
+ d="m 38.526196,43.498826 c 0,1.548439 -1.204339,2.924827 -2.924825,2.924827 -1.720486,0 -2.924824,-1.20434 -2.924824,-2.924827 0,-1.720483 1.204338,-2.924823 2.924824,-2.924823 1.720486,0 2.924825,1.376388 2.924825,2.924823 z"
+ id="path43-6"
+ style="fill:#000401;stroke-width:1.72048" /><metadata
+ id="metadata50"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs48" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1572"
+ inkscape:window-height="965"
+ id="namedview46"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="23.9991"
+ inkscape:cy="26.235289"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#808080;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000401;stroke-miterlimit:10;}
+ .st2{fill:#000401;}
+ .st3{fill:url(#SVGID_1_);}
+ .st4{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st5{fill:#006837;}
+ .st6{fill:#FFE53F;}
+ .st7{font-family:'MyriadPro-Regular';}
+ .st8{font-size:6px;}
+</style>
+
+
+
+
+
+
+
+
+<path
+ class="st2"
+ d="m 45.2912,43.597656 c 0,1.548438 -1.204341,2.924826 -2.924824,2.924826 -1.720486,0 -2.924826,-1.20434 -2.924826,-2.924826 0,-1.720484 1.20434,-2.924824 2.924826,-2.924824 1.720483,0 2.924824,1.376389 2.924824,2.924824 z"
+ id="path20"
+ style="stroke-width:1.72048" />
+<path
+ class="st0"
+ d="M 24,38.962932"
+ id="path22" />
+<path
+ class="st0"
+ d="M 25.382386,39.617018"
+ id="path24" />
+<linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="24.5506"
+ y1="21.5"
+ x2="30.4868"
+ y2="21.5"
+ gradientTransform="matrix(0,1.0571338,-1.0571338,0,51.676842,-1.8693808)">
+ <stop
+ offset="2.455360e-02"
+ style="stop-color:#006837"
+ id="stop26" />
+ <stop
+ offset="0.4355"
+ style="stop-color:#22B573"
+ id="stop28" />
+ <stop
+ offset="1"
+ style="stop-color:#006837"
+ id="stop30" />
+</linearGradient>
+
+
+<rect
+ x="0.73099327"
+ y="22.401167"
+ class="st5"
+ width="46.538013"
+ height="17.518068"
+ id="rect37"
+ style="fill:#682b00;fill-opacity:1;stroke-width:4.12121" />
+<path
+ class="st2"
+ d="m 8.5584483,43.498826 c 0,1.548439 -1.2043403,2.924827 -2.9248258,2.924827 -1.5484359,0 -2.924824,-1.20434 -2.924824,-2.924827 0,-1.720483 1.2043395,-2.924823 2.924824,-2.924823 1.7204855,0.172046 2.9248258,1.376387 2.9248258,2.924823 z"
+ id="path39"
+ style="stroke-width:1.72048" />
+
+<path
+ class="st2"
+ d="m 15.30658,43.498826 c 0,1.548439 -1.204339,2.924827 -2.924825,2.924827 -1.720486,0 -2.9248239,-1.20434 -2.9248239,-2.924827 0,-1.720483 1.2043379,-2.924823 2.9248239,-2.924823 1.720486,0 2.924825,1.376387 2.924825,2.924823 z"
+ id="path43"
+ style="stroke-width:1.72048" />
+<g
+ id="plus"
+ transform="matrix(1.2462413,0,0,1.2160392,-46.375085,-20.168954)"
+ inkscape:label="plus"><path
+ style="display:inline;fill:#005a20;fill-opacity:1;stroke:#00993d;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 46.809533,31.077554 v -4.700241 h 4.630089 v -3.086726 l -4.559936,0.07015 -0.07015,-4.559936 h -3.016572 l 0.140305,4.559936 -4.840547,0.07015 0.07015,3.086726 4.489783,-0.07015 0.140306,4.630088 z"
+ id="path1718" /><path
+ style="fill:none;fill-opacity:1;stroke:#00e552;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 45.350068,18.723791 V 31.070694"
+ id="path1702" /><path
+ style="fill:none;fill-opacity:1;stroke:#00e552;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 51.516636,24.897242 H 39.169733"
+ id="path1708" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/ok.svg b/app/bin/bitmaps/SVG/ok.svg
new file mode 100644
index 0000000..21e0640
--- /dev/null
+++ b/app/bin/bitmaps/SVG/ok.svg
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ xml:space="preserve"
+ sodipodi:docname="ok.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ width="48"
+ height="48"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata11"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs9" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1401"
+ inkscape:window-height="811"
+ id="namedview7"
+ showgrid="false"
+ inkscape:zoom="9.7408644"
+ inkscape:cx="22.174623"
+ inkscape:cy="23.355217"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#097F00;stroke-width:2;stroke-miterlimit:10;}
+</style>
+
+<path
+ style="fill:#008000;fill-opacity:1;stroke:#008000;stroke-width:1.30233px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 3.0826295,28.723525 10.666902,43.233332 C 22.340221,30.869786 34.794469,17.623547 44.780402,6.3860722 L 42.743187,4.5399005 11.781047,33.436651 5.2533982,26.115272 Z"
+ id="path831"
+ sodipodi:nodetypes="ccccccc" /></svg>
diff --git a/app/bin/bitmaps/SVG/pan-zoom.svg b/app/bin/bitmaps/SVG/pan-zoom.svg
new file mode 100644
index 0000000..7597072
--- /dev/null
+++ b/app/bin/bitmaps/SVG/pan-zoom.svg
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="pan-zoom.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata21"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs19" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1716"
+ inkscape:window-height="966"
+ id="namedview17"
+ showgrid="false"
+ inkscape:zoom="13.417014"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#FC0000;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#FC0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<line
+ class="st0"
+ x1="24.187614"
+ y1="4.7648048"
+ x2="24.333876"
+ y2="43.122051"
+ id="line4"
+ style="stroke-width:3.48405;stroke-miterlimit:10;stroke-dasharray:none;stroke:#cc0000;stroke-opacity:1" />
+<polyline
+ class="st1"
+ points="19.1,13.9 24,11 29,13.9 "
+ id="polyline6"
+ style="stroke-width:2.40355;stroke-miterlimit:10;stroke-dasharray:none;stroke:#cc0000;stroke-opacity:1"
+ transform="matrix(1.4625985,0,0,1.4497843,-10.91475,-11.182822)" />
+<polyline
+ class="st1"
+ points="29,34.4 24.1,37.7 19.1,34 "
+ id="polyline8"
+ style="stroke-width:2.40355;stroke-miterlimit:10;stroke-dasharray:none;stroke:#cc0000;stroke-opacity:1"
+ transform="matrix(1.4625985,0,0,1.4497843,-10.914749,-11.534816)" />
+<line
+ class="st0"
+ x1="43.640171"
+ y1="23.26"
+ x2="4.2990675"
+ y2="23.26"
+ id="line10"
+ style="stroke-width:3.49339;stroke-miterlimit:10;stroke-dasharray:none;stroke:#cc0000;stroke-opacity:1" />
+<polyline
+ class="st1"
+ points="33.8,18.9 37.3,24 33.8,28.7 "
+ id="polyline12"
+ style="stroke-width:2.40355;stroke-linecap:round;stroke-miterlimit:10;stroke-dasharray:none;stroke:#cc0000;stroke-opacity:1"
+ transform="matrix(1.4625985,0,0,1.4497843,-10.914754,-11.534822)" />
+<polyline
+ class="st1"
+ points="13.2,28.7 10,24 13.2,18.9 "
+ id="polyline14"
+ style="stroke-width:2.40355;stroke-miterlimit:10;stroke-dasharray:none;stroke:#cc0000;stroke-opacity:1"
+ transform="matrix(1.4625985,0,0,1.4497843,-10.326917,-11.534822)" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/parallel-line.svg b/app/bin/bitmaps/SVG/parallel-line.svg
new file mode 100644
index 0000000..ad96c16
--- /dev/null
+++ b/app/bin/bitmaps/SVG/parallel-line.svg
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg984"
+ sodipodi:docname="parallel-line.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><defs
+ id="defs988" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1370"
+ inkscape:window-height="912"
+ id="namedview986"
+ showgrid="false"
+ inkscape:zoom="10.067426"
+ inkscape:cx="32"
+ inkscape:cy="32"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg984"
+ inkscape:document-rotation="0"
+ inkscape:snap-nodes="true" /><metadata
+ id="metadata932"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><g
+ transform="matrix(1.6925211,0,0,-1.6925211,6.6484707,37.41986)"
+ id="g936"
+ style="stroke:#d98b0d;stroke-opacity:1"><path
+ d="M 0,0 V -11"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path934"
+ style="stroke:#d98b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.6925211,0,0,-1.6925211,15.111076,37.41986)"
+ id="g940"
+ style="stroke:#d98b0d;stroke-opacity:1"><path
+ d="M 0,0 V -11"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path938"
+ style="stroke:#d98b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.6925211,0,0,-1.6925211,23.573681,37.41986)"
+ id="g944"
+ style="stroke:#d98b0d;stroke-opacity:1"><path
+ d="M 0,0 V -11"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path942"
+ style="stroke:#d98b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.6925211,0,0,-1.6925211,32.036287,37.41986)"
+ id="g948"
+ style="stroke:#d98b0d;stroke-opacity:1"><path
+ d="M 0,0 V -11"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path946"
+ style="stroke:#d98b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.6925211,0,0,-1.6925211,40.498892,37.41986)"
+ id="g952"
+ style="stroke:#d98b0d;stroke-opacity:1"><path
+ d="M 0,0 V -11"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path950"
+ style="stroke:#d98b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.6925211,0,0,-1.6925211,48.961496,37.41986)"
+ id="g956"
+ style="stroke:#d98b0d;stroke-opacity:1"><path
+ d="M 0,0 V -11"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path954"
+ style="stroke:#d98b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.6925211,0,0,-1.6925211,57.424102,37.41986)"
+ id="g960"
+ style="stroke:#d98b0d;stroke-opacity:1"><path
+ d="M 0,0 V -11"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path958"
+ style="stroke:#d98b0d;stroke-opacity:1" /></g><g
+ transform="matrix(1.6925211,0,0,-1.6925211,3.2634283,40.967375)"
+ id="g964"
+ style="stroke-width:1.47709;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="M 0,0 H 34"
+ fill="none"
+ stroke="#000000"
+ stroke-miterlimit="10"
+ id="path962"
+ style="stroke-width:1.47709;stroke-miterlimit:10;stroke-dasharray:none" /></g><g
+ transform="matrix(1.6925211,0,0,-1.6925211,3.2634283,52.490076)"
+ id="g968"
+ style="stroke-width:1.47709;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="M 0,0 H 34"
+ fill="none"
+ stroke="#000000"
+ stroke-miterlimit="10"
+ id="path966"
+ style="stroke-width:1.47709;stroke-miterlimit:10;stroke-dasharray:none" /></g><g
+ transform="matrix(1.7072491,0,0,-1.6925211,2.9767653,9.2070031)"
+ id="g972"
+ style="stroke-width:1.4707;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="M 0,0 H 34"
+ fill="none"
+ stroke="#666666"
+ stroke-miterlimit="10"
+ id="path970"
+ style="stroke-width:1.4707;stroke-miterlimit:10;stroke-dasharray:none" /></g><g
+ transform="matrix(1.6925211,0,0,-1.6925211,32.462802,31.754138)"
+ id="g980"
+ style="stroke:#cc0000;stroke-width:1.7725;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"><path
+ d="m -3.748,6.996 3.589,3.031 3.907,-3.031"
+ fill="none"
+ stroke="#666666"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path974"
+ style="stroke:#cc0000;stroke-width:1.7725;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="M -0.11709878,-1.600565 -0.159,10.027"
+ fill="none"
+ stroke="#666666"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path978"
+ style="stroke:#cc0000;stroke-width:1.7725;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/parallel.svg b/app/bin/bitmaps/SVG/parallel.svg
new file mode 100644
index 0000000..9ff2898
--- /dev/null
+++ b/app/bin/bitmaps/SVG/parallel.svg
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="parallel.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata49"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs47" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1377"
+ inkscape:window-height="908"
+ id="namedview45"
+ showgrid="false"
+ inkscape:zoom="13.417014"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#B3B3B3;stroke-width:2;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#666666;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#666666;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+ .st5{fill:none;stroke:#666666;stroke-width:2;stroke-miterlimit:10;}
+</style>
+
+
+
+
+
+
+<g
+ id="g3886"
+ inkscape:label="ties"
+ transform="matrix(1.3222423,0,0,1.3222423,-6.4115729,-7.7338152)"><line
+ class="st0"
+ x1="8"
+ y1="30"
+ x2="8"
+ y2="41"
+ id="line4"
+ style="stroke:#d98b0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="13"
+ y1="30"
+ x2="13"
+ y2="41"
+ id="line6"
+ style="stroke:#d98b0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="18"
+ y1="30"
+ x2="18"
+ y2="41"
+ id="line8"
+ style="stroke:#d98b0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="23"
+ y1="30"
+ x2="23"
+ y2="41"
+ id="line10"
+ style="stroke:#d98b0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="28"
+ y1="30"
+ x2="28"
+ y2="41"
+ id="line12"
+ style="stroke:#d98b0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="33"
+ y1="30"
+ x2="33"
+ y2="41"
+ id="line14"
+ style="stroke:#d98b0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="38"
+ y1="30"
+ x2="38"
+ y2="41"
+ id="line16"
+ style="stroke:#d98b0d;stroke-opacity:1" /></g>
+
+
+
+
+
+
+<g
+ id="g3877"
+ inkscape:label="newties"
+ transform="matrix(1.3222423,0,0,1.3222423,-6.4115729,-7.7338152)"><line
+ class="st1"
+ x1="8"
+ y1="7"
+ x2="8"
+ y2="18"
+ id="line18" /><line
+ class="st1"
+ x1="13"
+ y1="7"
+ x2="13"
+ y2="18"
+ id="line20" /><line
+ class="st1"
+ x1="18"
+ y1="7"
+ x2="18"
+ y2="18"
+ id="line22" /><line
+ class="st1"
+ x1="23"
+ y1="7"
+ x2="23"
+ y2="18"
+ id="line24" /><line
+ class="st1"
+ x1="28"
+ y1="7"
+ x2="28"
+ y2="18"
+ id="line26" /><line
+ class="st1"
+ x1="33"
+ y1="7"
+ x2="33"
+ y2="18"
+ id="line28" /><line
+ class="st1"
+ x1="38"
+ y1="7"
+ x2="38"
+ y2="18"
+ id="line30" /></g>
+
+<g
+ id="g3868"
+ inkscape:label="rails"
+ style="stroke-width:1.51258207;stroke-miterlimit:4;stroke-dasharray:none"
+ transform="matrix(1.3222423,0,0,1.3222423,-6.4115729,-7.7338152)"><line
+ class="st2"
+ x1="6"
+ y1="32.096252"
+ x2="40"
+ y2="32.096252"
+ id="line32"
+ style="stroke-width:1.51258207;stroke-miterlimit:4;stroke-dasharray:none" /><line
+ class="st2"
+ x1="6"
+ y1="38.903748"
+ x2="40"
+ y2="38.903748"
+ id="line34"
+ style="stroke-width:1.51258207;stroke-miterlimit:4;stroke-dasharray:none" /></g>
+
+<g
+ id="g3864"
+ inkscape:label="newrails"
+ style="stroke-width:1.51258207;stroke-miterlimit:4;stroke-dasharray:none"
+ transform="matrix(1.3222423,0,0,1.3222423,-6.4115729,-7.7338152)"><line
+ class="st3"
+ x1="6"
+ y1="9.0962601"
+ x2="40"
+ y2="9.0962601"
+ id="line36"
+ style="stroke-width:1.51258207;stroke-miterlimit:4;stroke-dasharray:none" /><line
+ class="st3"
+ x1="6"
+ y1="15.903746"
+ x2="40"
+ y2="15.903746"
+ id="line38"
+ style="stroke-width:1.51258207;stroke-miterlimit:4;stroke-dasharray:none" /></g>
+
+<g
+ id="g3860"
+ inkscape:label="arrow"
+ transform="matrix(1.3222423,0,0,1.2064572,-9.2563108,-4.2091511)"
+ style="stroke-width:2.37525243;stroke-miterlimit:4;stroke-dasharray:none"><polyline
+ class="st4"
+ points="21.5,22 25.1,19 29,22 "
+ id="polyline40"
+ style="stroke:#cc0000;stroke-width:2.37525243;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><line
+ class="st5"
+ x1="25.18976"
+ y1="28.910158"
+ x2="25.210243"
+ y2="19.008156"
+ id="line42"
+ style="stroke:#cc0000;stroke-width:2.37525243;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g>
+</svg>
diff --git a/app/bin/bitmaps/SVG/parameter.svg b/app/bin/bitmaps/SVG/parameter.svg
new file mode 100644
index 0000000..b686804
--- /dev/null
+++ b/app/bin/bitmaps/SVG/parameter.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="parameter.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1583"
+ inkscape:window-height="943"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="8.1826993"
+ inkscape:cx="26.519366"
+ inkscape:cy="32.446506"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layout"
+ inkscape:document-rotation="0"
+ inkscape:snap-nodes="false"
+ inkscape:pagecheckerboard="0" /><g
+ id="Layout"
+ inkscape:label="#layout"
+ transform="translate(-0.22803691,0.91214765)"
+ style="opacity:1"><path
+ id="path898"
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:transform-center-x="-0.1143859"
+ inkscape:transform-center-y="-4.2708698"
+ d="M 59.32533,61.337659 5.9038154,61.449698 5.7270967,0.60270433 46.825508,0.61736905 59.16559,16.95766 Z"
+ sodipodi:nodetypes="cccccc" /><g
+ id="turnout"
+ transform="matrix(2.1121492,0,0,2.2798074,-12.340801,-30.573867)"
+ style="stroke-width:1.59499;stroke-miterlimit:4;stroke-dasharray:none;stroke:#000000;stroke-opacity:1"><path
+ style="fill:none;stroke:#000000;stroke-width:1.59499;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 12.81557,34.039644 H 28.091703"
+ id="path845" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.59499;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 17.337306,33.917434 10.265561,4.399527"
+ id="path847" /></g><g
+ id="crossing"
+ transform="matrix(2.3270806,0,0,1.9276329,-15.980833,-17.606493)"
+ style="stroke-width:1.6525331;stroke-miterlimit:4;stroke-dasharray:none;stroke:#000000;stroke-opacity:1"><path
+ style="fill:none;stroke:#000000;stroke-width:1.6525331;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 13.163424,23.712979 26.60642,30.312268"
+ id="path849" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.6525331;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 13.163424,30.312268 26.60642,23.712979"
+ id="path849-6" /></g><path
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 14.173579,8.3757435 H 46.722598"
+ id="path871" /><path
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 14.812247,21.881628 c 4.935235,-0.244284 9.400841,0.209247 16.447704,-1.442779 6.721987,-1.517667 11.358856,-3.77303 15.004917,-6.059679"
+ id="path873"
+ sodipodi:nodetypes="ccc" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/paste.svg b/app/bin/bitmaps/SVG/paste.svg
new file mode 100644
index 0000000..7d089d6
--- /dev/null
+++ b/app/bin/bitmaps/SVG/paste.svg
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1659"
+ sodipodi:docname="paste.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1665"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1663" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1571"
+ inkscape:window-height="866"
+ id="namedview1661"
+ showgrid="false"
+ inkscape:zoom="9.4049726"
+ inkscape:cx="25.305762"
+ inkscape:cy="32.961287"
+ inkscape:window-x="18"
+ inkscape:window-y="57"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg1659"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><g
+ inkscape:groupmode="layer"
+ id="layer1"
+ inkscape:label="Export" /><g
+ id="g4827"
+ transform="translate(-2.6581678)"><rect
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect900"
+ width="53.616257"
+ height="49.753304"
+ x="6.1005993"
+ y="-54.885616"
+ transform="rotate(90)"
+ ry="4.0444236" /><path
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 21.602,5.9844217 4.044423,-4.5066434 10.399946,0.1155549 3.582205,4.3910885 -4.391089,2.4266544 h -9.128841 z"
+ id="path1105"
+ sodipodi:nodetypes="ccccccc" /></g><rect
+ style="fill:#f5f5f5;fill-opacity:1;stroke:#666666;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect900-2"
+ width="46.623814"
+ height="43.264656"
+ x="15.452703"
+ y="-61.785542"
+ transform="rotate(90)" /></svg>
diff --git a/app/bin/bitmaps/SVG/polygon.svg b/app/bin/bitmaps/SVG/polygon.svg
new file mode 100644
index 0000000..f8aa925
--- /dev/null
+++ b/app/bin/bitmaps/SVG/polygon.svg
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="polygon.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata13"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs11" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1240"
+ inkscape:window-height="757"
+ id="namedview9"
+ showgrid="false"
+ inkscape:zoom="10.17006"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+</style>
+<polygon
+ class="st0"
+ points="24.7,39.8 11.8,32.9 7.4,19.8 10.9,10 28.2,7.8 39.7,20.1 40,36.5 "
+ id="polygon4"
+ transform="matrix(1.3091076,0,0,1.3091076,-6.997444,-7.1557037)"
+ style="stroke-width:1.90969787;stroke-miterlimit:10;stroke-dasharray:none" />
+<path
+ class="st0"
+ d="M3.5,28.2"
+ id="path6" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/polyline.svg b/app/bin/bitmaps/SVG/polyline.svg
new file mode 100644
index 0000000..695bad9
--- /dev/null
+++ b/app/bin/bitmaps/SVG/polyline.svg
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg872"
+ sodipodi:docname="polyline.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1429"
+ inkscape:window-height="896"
+ id="namedview874"
+ showgrid="false"
+ inkscape:zoom="8.7705101"
+ inkscape:cx="32"
+ inkscape:cy="32"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg872" /><metadata
+ id="metadata857"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+ id="defs862"><clipPath
+ id="clipPath2763"><path
+ d="m0 48h48v-48h-48z"
+ id="path859" /></clipPath></defs><g
+ transform="matrix(1.8687667,0,0,-1.8687667,-15.81141,77.501638)"
+ id="g870"
+ style="stroke-width:1.60533682;stroke-miterlimit:4;stroke-dasharray:none"><g
+ clip-path="url(#clipPath2763)"
+ id="g868"
+ style="stroke-width:1.60533682;stroke-miterlimit:4;stroke-dasharray:none"><g
+ transform="translate(25.224,30.046)"
+ id="g866"
+ style="stroke-width:1.60533682;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="m 0,0 -14.638,5.47 2.619,-14.176 8.783,-10.554 12.481,2.003 c 0,0 6.626,11.402 6.24,12.943 C 15.1,-2.773 12.635,6.24 10.4,8.012"
+ fill="none"
+ stroke="#0c0cf2"
+ stroke-miterlimit="10"
+ id="path864"
+ style="stroke-width:1.60533682;stroke-miterlimit:4;stroke-dasharray:none" /></g></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/profile.svg b/app/bin/bitmaps/SVG/profile.svg
new file mode 100644
index 0000000..9f76546
--- /dev/null
+++ b/app/bin/bitmaps/SVG/profile.svg
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="profile.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata41"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs39" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1372"
+ inkscape:window-height="907"
+ id="namedview37"
+ showgrid="false"
+ inkscape:zoom="8.8544831"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st1{fill:#0080FA;}
+ .st2{fill:none;stroke:#000402;stroke-miterlimit:10;}
+</style>
+<line
+ class="st0"
+ x1="5.0116086"
+ y1="37.121544"
+ x2="42.718517"
+ y2="37.121544"
+ id="line4"
+ style="stroke-width:2.25366;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st0"
+ x1="6.185358"
+ y1="37.208576"
+ x2="6.185358"
+ y2="8.1140652"
+ id="line6"
+ style="stroke-width:2.15515;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st0"
+ x1="41.571243"
+ y1="14.579512"
+ x2="41.571243"
+ y2="37.208576"
+ id="line8"
+ style="stroke-width:2.15515;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st0"
+ x1="46.507366"
+ y1="26.432833"
+ x2="46.507366"
+ y2="26.432833"
+ id="line10"
+ style="stroke-width:1.07757" />
+<polygon
+ class="st1"
+ points="12,10 9,12 9,38 40,38 40,18 30.3,16 20.7,21.2 14.4,10 "
+ id="polygon12"
+ style="fill:#80deff;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+ transform="matrix(1.1414801,0,0,1.1160593,-4.0879632,-5.2016771)" />
+<line
+ class="st2"
+ x1="17.673576"
+ y1="38.11208"
+ x2="17.673576"
+ y2="40.771732"
+ id="line14"
+ style="stroke-width:2.15515;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="24.50412"
+ y1="38.11208"
+ x2="24.50412"
+ y2="42.944588"
+ id="line16"
+ style="stroke-width:2.69394;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="31.31695"
+ y1="38.11208"
+ x2="31.31695"
+ y2="40.771732"
+ id="line18"
+ style="stroke-width:2.15515;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="37.538998"
+ y1="38.11208"
+ x2="37.538998"
+ y2="42.944588"
+ id="line20"
+ style="stroke-width:2.69394;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="10.599646"
+ y1="38.11208"
+ x2="10.599646"
+ y2="42.944588"
+ id="line22"
+ style="stroke-width:2.69394;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="5.6115265"
+ y1="23.738895"
+ x2="1.2658093"
+ y2="23.738895"
+ id="line24"
+ style="stroke-width:2.69394;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="5.6115265"
+ y1="15.848494"
+ x2="1.2658093"
+ y2="15.848494"
+ id="line26"
+ style="stroke-width:2.69394;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="5.6115265"
+ y1="31.281918"
+ x2="1.2658093"
+ y2="31.281918"
+ id="line28"
+ style="stroke-width:2.69394;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="41.919395"
+ y1="23.738895"
+ x2="46.734192"
+ y2="23.738895"
+ id="line30"
+ style="stroke-width:2.69394;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="41.919395"
+ y1="15.848494"
+ x2="46.734192"
+ y2="15.848494"
+ id="line32"
+ style="stroke-width:2.69394;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="41.919395"
+ y1="31.281918"
+ x2="46.734192"
+ y2="31.281918"
+ id="line34"
+ style="stroke-width:2.69394;stroke-miterlimit:10;stroke-dasharray:none" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/protractor.svg b/app/bin/bitmaps/SVG/protractor.svg
new file mode 100644
index 0000000..6e7d141
--- /dev/null
+++ b/app/bin/bitmaps/SVG/protractor.svg
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg23"
+ sodipodi:docname="protractor.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata27"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1435"
+ inkscape:window-height="889"
+ id="namedview25"
+ showgrid="false"
+ inkscape:zoom="10.074671"
+ inkscape:cx="32"
+ inkscape:cy="32"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g21"
+ inkscape:document-rotation="0" /><defs
+ id="defs5"><clipPath
+ id="clipPath3087"><path
+ d="m0 48h48v-48h-48z"
+ id="path2" /></clipPath></defs><g
+ transform="matrix(1.7785911,0,0,-1.6794204,-11.160353,74.070498)"
+ id="g21"
+ style="stroke-width:1.87505;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="m 23.226933,28.885907 c 3.173396,-4.144399 4.632596,-9.927034 3.505034,-15.812632"
+ fill="none"
+ stroke="#000202"
+ stroke-miterlimit="10"
+ id="path15"
+ style="stroke:#cc0000;stroke-width:1.96532;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><g
+ transform="matrix(1.1322171,0,0,1.1322171,9.0014797,17.025451)"
+ id="g13"
+ style="stroke-width:2.02512;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M 0,0 24.037,21.417"
+ fill="none"
+ stroke="#000202"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ id="path7"
+ style="stroke-width:2.02512;stroke-miterlimit:4;stroke-dasharray:none" /><path
+ d="M 0,0 26.965,-7.241"
+ fill="none"
+ stroke="#000202"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ id="path11"
+ style="stroke-width:2.02512;stroke-miterlimit:4;stroke-dasharray:none" /></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/redo.svg b/app/bin/bitmaps/SVG/redo.svg
new file mode 100644
index 0000000..77c8cb8
--- /dev/null
+++ b/app/bin/bitmaps/SVG/redo.svg
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="redo.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata1493"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1491" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1306"
+ inkscape:window-height="882"
+ id="namedview1489"
+ showgrid="false"
+ inkscape:zoom="10.897825"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" />
+<style
+ type="text/css"
+ id="style1484">
+ .st0{fill:#05FB08;stroke:#05B70D;stroke-miterlimit:10;}
+</style>
+<path
+ class="st0"
+ d="m 8.2406449,43.164807 c -1.2578731,0.107338 -1.1320851,0.107338 -3.522044,0.107338 0,-12.343861 3.8994068,-31.55735 23.8995881,-31.879363 0.251575,-3.0054618 0.125788,-5.9035856 0.125788,-5.9035856 L 42.58058,14.290906 28.240827,24.273333 c 0,0 0.251575,-2.468773 0.251575,-6.010924 C 14.655799,18.155071 8.8695815,34.363097 8.2406449,43.164807 Z"
+ id="path1486"
+ style="stroke:#05610a;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/reflect.svg b/app/bin/bitmaps/SVG/reflect.svg
new file mode 100644
index 0000000..837743c
--- /dev/null
+++ b/app/bin/bitmaps/SVG/reflect.svg
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="reflect.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata17"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs15" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1482"
+ inkscape:window-height="919"
+ id="namedview13"
+ showgrid="false"
+ inkscape:zoom="13.407886"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st1{fill:#009DFC;stroke:#00A2FF;stroke-miterlimit:10;}
+ .st2{fill:#000302;stroke:#000301;stroke-miterlimit:10;}
+</style>
+<line
+ class="st0"
+ x1="23.787764"
+ y1="4.1941996"
+ x2="23.787764"
+ y2="43.805801"
+ id="line4"
+ style="stroke-width:2.67646;stroke-miterlimit:10;stroke-dasharray:none" />
+<polygon
+ class="st1"
+ points="12.5,14.3 22.4,22.2 12.5,31.2 "
+ id="polygon6"
+ transform="matrix(1.7907987,0,0,1.6722454,-19.336302,-14.284334)"
+ style="fill:#80ddff;fill-opacity:1;stroke:#009ccc;stroke-width:1.23731;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+
+
+<polygon
+ class="st1"
+ points="12.5,31.2 12.5,14.3 22.4,22.2 "
+ id="polygon6-1"
+ transform="matrix(-1.8394632,0,0,1.6722454,67.929658,-14.366529)"
+ style="fill:#666666;fill-opacity:1;stroke:#000000;stroke-width:1.2207342;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></svg>
diff --git a/app/bin/bitmaps/SVG/rotate.svg b/app/bin/bitmaps/SVG/rotate.svg
new file mode 100644
index 0000000..2c788f2
--- /dev/null
+++ b/app/bin/bitmaps/SVG/rotate.svg
@@ -0,0 +1,222 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="rotate.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata2761"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs2759"><marker
+ style="overflow:visible"
+ id="Arrow1Lstart"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lstart"
+ inkscape:isstock="true"><path
+ transform="scale(0.8) translate(12.5,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path3324" /></marker></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1233"
+ inkscape:window-height="778"
+ id="namedview2757"
+ showgrid="false"
+ inkscape:zoom="10.149695"
+ inkscape:cx="24"
+ inkscape:cy="24.868298"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2696">
+ .st0{fill:none;stroke:#00FFFF;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#B3B3B3;stroke-width:2;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#808080;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FB0000;stroke-width:2;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#808080;stroke-width:2;stroke-miterlimit:10;}
+ .st5{fill:none;stroke:#FB0000;stroke-miterlimit:10;}
+ .st6{fill:none;stroke:#007CBF;stroke-miterlimit:10;}
+ .st7{fill:none;stroke:#007CBF;stroke-width:2;stroke-miterlimit:10;}
+ .st8{fill:none;stroke:#FF0B00;stroke-miterlimit:10;}
+ .st9{fill:none;stroke:#FF0B00;stroke-miterlimit:10;stroke-dasharray:3.0709,1.0236;}
+</style>
+
+
+<line
+ class="st1"
+ x1="9.1349277"
+ y1="33.106369"
+ x2="9.1349277"
+ y2="45.627636"
+ id="line2702" /><line
+ class="st1"
+ x1="14.82641"
+ y1="33.106369"
+ x2="14.82641"
+ y2="45.627636"
+ id="line2704" /><line
+ class="st0"
+ x1="14.82641"
+ y1="33.106369"
+ x2="2.3051486"
+ y2="33.106369"
+ id="line2698" /><line
+ class="st0"
+ x1="14.82641"
+ y1="38.797855"
+ x2="2.3051486"
+ y2="38.797855"
+ id="line2700" />
+
+<line
+ class="st1"
+ x1="20.517897"
+ y1="33.106369"
+ x2="20.517897"
+ y2="45.627636"
+ id="line2706" />
+<line
+ class="st1"
+ x1="26.209379"
+ y1="33.106369"
+ x2="26.209379"
+ y2="45.627636"
+ id="line2708" />
+<line
+ class="st1"
+ x1="31.90086"
+ y1="33.106369"
+ x2="31.90086"
+ y2="45.627636"
+ id="line2710" />
+<line
+ class="st1"
+ x1="37.592346"
+ y1="33.106369"
+ x2="37.592346"
+ y2="45.627636"
+ id="line2712" />
+<line
+ class="st1"
+ x1="43.283829"
+ y1="33.106369"
+ x2="43.283829"
+ y2="45.627636"
+ id="line2714" />
+<line
+ class="st0"
+ x1="14.82641"
+ y1="4.6489568"
+ x2="2.3051486"
+ y2="4.6489568"
+ id="line2716" />
+<line
+ class="st0"
+ x1="14.82641"
+ y1="10.340441"
+ x2="2.3051486"
+ y2="10.340441"
+ id="line2718" />
+<line
+ class="st0"
+ x1="14.82641"
+ y1="16.031925"
+ x2="2.3051486"
+ y2="16.031925"
+ id="line2720" />
+<line
+ class="st0"
+ x1="14.82641"
+ y1="21.723406"
+ x2="2.3051486"
+ y2="21.723406"
+ id="line2722" />
+<line
+ class="st0"
+ x1="14.82641"
+ y1="27.41489"
+ x2="2.3051486"
+ y2="27.41489"
+ id="line2724" />
+<line
+ class="st2"
+ x1="6.736856"
+ y1="35.694492"
+ x2="45.438927"
+ y2="35.694492"
+ id="line2726"
+ style="stroke-width:2.13106;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="6.736856"
+ y1="43.039513"
+ x2="45.438927"
+ y2="43.039513"
+ id="line2728"
+ style="stroke-width:2.13106;stroke-miterlimit:10;stroke-dasharray:none" />
+
+
+
+<line
+ class="st6"
+ x1="12.336152"
+ y1="2.3723636"
+ x2="12.336152"
+ y2="41.074448"
+ id="line2736"
+ style="stroke-width:2.13106;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st6"
+ x1="4.7954087"
+ y1="2.3723636"
+ x2="4.7954087"
+ y2="41.074448"
+ id="line2738"
+ style="stroke-width:2.13106;stroke-miterlimit:10;stroke-dasharray:none" />
+
+<polyline
+ class="st8"
+ points="41.5,29.4 38.7,32.7 35.5,30.3 "
+ id="polyline2742"
+ transform="matrix(1.8851067,0,0,1.8883999,-33.551788,-29.337542)"
+ style="stroke:#cc0b00;stroke-width:1.41186;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<g
+ id="g2752"
+ transform="matrix(1.1779068,0,0,1.1779068,5.2536547,-23.041577)"
+ style="stroke-width:1.80919;stroke-miterlimit:10;stroke-dasharray:none">
+
+<path
+ style="fill:none;stroke:#cc0b00;stroke-width:1.80919;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:1.80919, 3.61838;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 3.3893843,52.169989 21.828525,33.73085 Z"
+ id="path3594" /></g>
+<path
+ class="st8"
+ d="m 39.448981,32.460276 c 0,-13.400725 -10.544803,-24.1671205 -23.620358,-24.1671205"
+ id="path2754"
+ style="stroke:#cc0b00;stroke-width:2.57224;stroke-linecap:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/ruler.svg b/app/bin/bitmaps/SVG/ruler.svg
new file mode 100644
index 0000000..8cb140b
--- /dev/null
+++ b/app/bin/bitmaps/SVG/ruler.svg
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg23"
+ sodipodi:docname="ruler.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata27"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1418"
+ inkscape:window-height="889"
+ id="namedview25"
+ showgrid="false"
+ inkscape:zoom="5.3929307"
+ inkscape:cx="32"
+ inkscape:cy="32"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g21"
+ inkscape:document-rotation="0" /><defs
+ id="defs5"><clipPath
+ id="clipPath3087"><path
+ d="m0 48h48v-48h-48z"
+ id="path2" /></clipPath></defs><g
+ transform="matrix(1.7785911,0,0,-1.6794204,-11.160353,74.070498)"
+ id="g21"
+ style="stroke-width:1.87505;stroke-miterlimit:10;stroke-dasharray:none"><g
+ transform="matrix(1.0365883,0,0,1.0433909,8.8192947,19.603103)"
+ id="g13"
+ style="stroke:#000000;stroke-width:1.73582;stroke-linecap:square;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"><path
+ d="M 0,0 26.965,-7.241"
+ fill="none"
+ stroke="#000202"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ id="path11"
+ style="stroke:#000000;stroke-width:1.73582;stroke-linecap:square;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g><path
+ style="fill:none;stroke:#000000;stroke-width:2.02245;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="M 8.8192947,19.603103 11.884169,31.716802"
+ id="path839" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.3483;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 16.074124,18.233402 1.816694,7.180356"
+ id="path843" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.3483;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 23.140586,16.315597 1.816694,7.180357"
+ id="path843-1" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.3483;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 30.106721,14.643225 1.816694,7.180355"
+ id="path843-3" /><path
+ style="fill:none;stroke:#000000;stroke-width:2.02245;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 36.770897,12.047909 3.064874,12.113699"
+ id="path839-0" /><text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.3819px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial Bold';stroke-width:1.26406"
+ x="34.666809"
+ y="-27.718275"
+ id="text905"
+ transform="scale(0.97172116,-1.0291018)"><tspan
+ sodipodi:role="line"
+ id="tspan903"
+ x="34.666809"
+ y="-27.718275"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.3819px;font-family:Arial;-inkscape-font-specification:'Arial Bold';stroke-width:1.26406">1</tspan></text></g></svg>
diff --git a/app/bin/bitmaps/SVG/select.svg b/app/bin/bitmaps/SVG/select.svg
new file mode 100644
index 0000000..bb81e69
--- /dev/null
+++ b/app/bin/bitmaps/SVG/select.svg
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="select.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata33"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs31" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1386"
+ inkscape:window-height="955"
+ id="namedview29"
+ showgrid="false"
+ inkscape:zoom="10.17006"
+ inkscape:cx="24.041157"
+ inkscape:cy="24.82778"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#FB0000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#FB0000;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#FB0000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<line
+ class="st0"
+ x1="3.8428819"
+ y1="9.4009237"
+ x2="3.8428819"
+ y2="24.094875"
+ id="line4"
+ style="stroke:#d98a0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="10.521953"
+ y1="9.4009237"
+ x2="10.521953"
+ y2="24.094875"
+ id="line6"
+ style="stroke:#d98a0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="17.201021"
+ y1="9.4009237"
+ x2="17.201021"
+ y2="24.094875"
+ id="line8"
+ style="stroke:#d98a0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="23.880093"
+ y1="9.4009237"
+ x2="23.880093"
+ y2="15.831297"
+ id="line10"
+ style="stroke:#d98a0d;stroke-width:2.67163;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="30.55916"
+ y1="9.4009237"
+ x2="30.55916"
+ y2="15.930859"
+ id="line12"
+ style="stroke:#d98a0d;stroke-width:2.67163;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="37.238239"
+ y1="9.4009237"
+ x2="37.238239"
+ y2="24.094875"
+ id="line14"
+ style="stroke:#d98a0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="43.917309"
+ y1="9.4009237"
+ x2="43.917309"
+ y2="24.094875"
+ id="line16"
+ style="stroke:#d98a0d;stroke-opacity:1" />
+<line
+ class="st1"
+ x1="1.1712544"
+ y1="12.300144"
+ x2="46.588936"
+ y2="12.300144"
+ id="line18"
+ style="stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st1"
+ x1="1.1712544"
+ y1="21.195667"
+ x2="19.110044"
+ y2="21.195667"
+ id="line20"
+ style="stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none" />
+
+<path
+ class="st3"
+ d="M 26.150977,30.3732"
+ id="path24"
+ style="stroke-width:1.33581" />
+<g
+ id="g837"
+ style="stroke-width:3.5;stroke-miterlimit:10;stroke-dasharray:none"><line
+ class="st2"
+ x1="22.168528"
+ y1="19.00256"
+ x2="41.137093"
+ y2="37.436787"
+ id="line22"
+ style="stroke:#cc0000;stroke-width:3.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><polyline
+ class="st4"
+ points="25,27 25,21 31,21 "
+ id="polyline26"
+ transform="matrix(1.6296104,0,0,1.6296104,-18.571732,-15.219259)"
+ style="stroke:#cc0000;stroke-width:2.14775262;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g>
+<line
+ class="st1"
+ x1="34.266258"
+ y1="21.381462"
+ x2="46.828747"
+ y2="21.381462"
+ id="line20-0"
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none" /></svg>
diff --git a/app/bin/bitmaps/SVG/sensor.svg b/app/bin/bitmaps/SVG/sensor.svg
new file mode 100644
index 0000000..4188f0e
--- /dev/null
+++ b/app/bin/bitmaps/SVG/sensor.svg
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg23"
+ sodipodi:docname="sensor.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata27"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1373"
+ inkscape:window-height="946"
+ id="namedview25"
+ showgrid="false"
+ inkscape:zoom="8.1826993"
+ inkscape:cx="32.018774"
+ inkscape:cy="32.018774"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg23"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><defs
+ id="defs5"><clipPath
+ id="clipPath3145"><path
+ d="m0 48h48v-48h-48z"
+ id="path2" /></clipPath></defs><g
+ id="g871"
+ transform="matrix(1.8592806,0,0,1.8552804,-25.548253,-31.252843)"
+ style="stroke-width:2.02496;stroke-miterlimit:4;stroke-dasharray:none"><g
+ transform="matrix(1.3333,0,0,-1.3333,46.462838,34.094081)"
+ id="g9"
+ style="stroke:#689b90;stroke-width:1.51876;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"><path
+ d="m 0,0 c 0,6.425 -5.208,11.634 -11.633,11.634 -6.425,0 -11.634,-5.209 -11.634,-11.634 0,-6.425 5.209,-11.633 11.634,-11.633 C -5.208,-11.633 0,-6.425 0,0"
+ fill="#11f2e7"
+ id="path7"
+ style="fill:#0ac1b8;fill-opacity:1;stroke:#527a70;stroke-width:1.51876;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g><g
+ transform="matrix(1.1442058,0,0,-1.4775492,20.568595,23.358673)"
+ id="g13"
+ style="stroke-width:1.55738;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M 0,0 18.259,-14.407"
+ fill="none"
+ stroke="#ffffff"
+ stroke-miterlimit="10"
+ id="path11"
+ style="stroke-width:1.55738;stroke-miterlimit:4;stroke-dasharray:none" /></g><g
+ transform="matrix(1.3611188,0,0,-1.2178976,20.89688,45.032578)"
+ id="g17"
+ style="stroke-width:1.57277;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M 0,0 14.946,17.951"
+ fill="none"
+ stroke="#ffffff"
+ stroke-miterlimit="10"
+ id="path15"
+ style="stroke-width:1.57277;stroke-miterlimit:4;stroke-dasharray:none" /></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/signal.svg b/app/bin/bitmaps/SVG/signal.svg
new file mode 100644
index 0000000..ad01427
--- /dev/null
+++ b/app/bin/bitmaps/SVG/signal.svg
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg27"
+ sodipodi:docname="signal.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata31"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1380"
+ inkscape:window-height="872"
+ id="namedview29"
+ showgrid="false"
+ inkscape:zoom="9.3956422"
+ inkscape:cx="31.982912"
+ inkscape:cy="35.016233"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g874"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><defs
+ id="defs5"><clipPath
+ id="clipPath3381"><path
+ d="m0 48h48v-48h-48z"
+ id="path2" /></clipPath></defs><g
+ id="g874"
+ transform="matrix(1.7022641,0,0,1.5657944,-23.33414,-16.680089)"><g
+ transform="matrix(1.4338911,0,0,-1.6744946,21.752018,49.515943)"
+ id="g9"
+ style="stroke-width:1.50004;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M 0,0 H 15"
+ fill="none"
+ stroke="#020000"
+ stroke-miterlimit="10"
+ id="path7"
+ style="stroke-width:1.50004;stroke-miterlimit:4;stroke-dasharray:none" /></g><g
+ transform="matrix(1.6744946,0,0,-1.486785,32.699606,21.389291)"
+ id="g13"
+ style="stroke-width:1.50004;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M -0.14054799,-2.5566826 -0.09045201,-19.03"
+ fill="none"
+ stroke="#020000"
+ stroke-miterlimit="10"
+ id="path11"
+ style="stroke-width:1.47008;stroke-miterlimit:4;stroke-dasharray:none" /></g><g
+ clip-path="url(#clipPath3381)"
+ id="g23"
+ transform="matrix(2.1918574,0,0,-2.4227971,-21.664458,94.940764)"><g
+ transform="translate(27.604,31.282)"
+ id="g17"><path
+ d="m 0,0 c 0,-1.489 -1.294,-2.697 -2.89,-2.697 -1.595,0 -2.889,1.208 -2.889,2.697 0,1.489 1.294,2.696 2.889,2.696 C -1.294,2.696 0,1.489 0,0"
+ fill="#f40f3b"
+ id="path15" /></g><g
+ transform="translate(27.604,31.282)"
+ id="g21"><path
+ d="m 0,0 c 0,-1.489 -1.294,-2.697 -2.89,-2.697 -1.595,0 -2.889,1.208 -2.889,2.697 0,1.489 1.294,2.696 2.889,2.696 C -1.294,2.696 0,1.489 0,0 Z"
+ fill="none"
+ stroke="#020000"
+ stroke-miterlimit="10"
+ id="path19" /></g></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/snap-curs.svg b/app/bin/bitmaps/SVG/snap-curs.svg
new file mode 100644
index 0000000..fa700ce
--- /dev/null
+++ b/app/bin/bitmaps/SVG/snap-curs.svg
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="snap-curs.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata73"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs71" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1525"
+ inkscape:window-height="969"
+ id="namedview69"
+ showgrid="false"
+ inkscape:zoom="11.681573"
+ inkscape:cx="23.969375"
+ inkscape:cy="24.012177"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:snap-nodes="true"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:#FFFFFF;stroke:#000000;stroke-miterlimit:10;}
+ .st1{fill:none;}
+ .st2{fill:#231F20;}
+</style>
+<path
+ class="st0"
+ d="m 28.485161,24.116161 c 0,2.446994 -1.922639,4.544418 -4.54442,4.544418 -2.446995,0 -4.544418,-1.922639 -4.544418,-4.544418 0,-2.446995 1.922639,-4.544418 4.544418,-4.544418 2.446995,0.174783 4.54442,2.097423 4.54442,4.544418 z"
+ id="path1012"
+ style="fill:none;fill-opacity:1;stroke:#00cc10;stroke-width:2.07667;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+
+
+
+
+
+
+
+
+
+
+
+
+<path
+ class="st0"
+ d="m 11.125143,40.945382 c 0,2.446995 -1.9226384,4.544418 -4.5444195,4.544418 -2.4469957,0 -4.544418,-1.922638 -4.544418,-4.544418 0,-2.446994 1.9226384,-4.544418 4.544418,-4.544418 2.4469944,0.174784 4.5444195,2.097424 4.5444195,4.544418 z"
+ id="path30"
+ style="fill:none;fill-opacity:1;stroke:#00cc10;stroke-width:2.07667;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<path
+ class="st0"
+ d="m 28.603676,40.945382 c 0,2.446995 -1.922638,4.544418 -4.544419,4.544418 -2.446996,0 -4.544418,-1.922638 -4.544418,-4.544418 0,-2.446994 1.922638,-4.544418 4.544418,-4.544418 2.446994,0.174784 4.544419,2.097424 4.544419,4.544418 z"
+ id="path32"
+ style="fill:none;fill-opacity:1;stroke:#00cc10;stroke-width:2.07667;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<path
+ class="st0"
+ d="m 46.08221,40.945382 c 0,2.446995 -1.922638,4.544418 -4.544419,4.544418 -2.446996,0 -4.544418,-1.922638 -4.544418,-4.544418 0,-2.446994 1.922638,-4.544418 4.544418,-4.544418 2.446994,0.174784 4.544419,2.097424 4.544419,4.544418 z"
+ id="path34"
+ style="fill:none;fill-opacity:1;stroke:#00cc10;stroke-width:2.07667;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+
+
+
+
+
+
+
+
+
+<path
+ class="st0"
+ d="m 11.125143,7.054619 c 0,2.4469958 -1.9226384,4.544419 -4.5444195,4.544419 -2.4469957,0 -4.544418,-1.9226393 -4.544418,-4.544419 0,-2.4469943 1.9226384,-4.5444194 4.544418,-4.5444194 2.4469944,0.1747867 4.5444195,2.0974251 4.5444195,4.5444194 z"
+ id="path54"
+ style="fill:none;fill-opacity:1;stroke:#00cc10;stroke-width:2.07667;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<path
+ class="st0"
+ d="m 28.603676,7.054619 c 0,2.4469958 -1.922638,4.544419 -4.544419,4.544419 -2.446996,0 -4.544418,-1.9226393 -4.544418,-4.544419 0,-2.4469943 1.922638,-4.5444194 4.544418,-4.5444194 2.446994,0.1747867 4.544419,2.0974251 4.544419,4.5444194 z"
+ id="path56"
+ style="fill:none;fill-opacity:1;stroke:#00cc10;stroke-width:2.07667;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<path
+ class="st0"
+ d="m 46.08221,7.054619 c 0,2.4469958 -1.922638,4.544419 -4.544419,4.544419 -2.446996,0 -4.544418,-1.9226393 -4.544418,-4.544419 0,-2.4469943 1.922638,-4.5444194 4.544418,-4.5444194 2.446994,0.1747867 4.544419,2.0974251 4.544419,4.5444194 z"
+ id="path58"
+ style="fill:none;fill-opacity:1;stroke:#00cc10;stroke-width:2.07667;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+
+<path
+ class="st0"
+ d="m 11.006627,24.17424 c 0,2.446994 -1.9226382,4.544418 -4.5444192,4.544418 -2.4469957,0 -4.5444181,-1.922639 -4.5444181,-4.544418 0,-2.446995 1.9226384,-4.544418 4.5444181,-4.544418 2.4469943,0.174783 4.5444192,2.097423 4.5444192,4.544418 z"
+ id="path1010"
+ style="fill:none;fill-opacity:1;stroke:#00cc10;stroke-width:2.07667;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><path
+ class="st0"
+ d="m 45.963694,24.17424 c 0,2.446994 -1.922638,4.544418 -4.544419,4.544418 -2.446996,0 -4.544418,-1.922639 -4.544418,-4.544418 0,-2.446995 1.922638,-4.544418 4.544418,-4.544418 2.446994,0.174783 4.544419,2.097423 4.544419,4.544418 z"
+ id="path1014"
+ style="fill:none;fill-opacity:1;stroke:#00cc10;stroke-width:2.07667;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><g
+ id="g66"
+ transform="matrix(1.3844491,0,0,1.3844491,-0.84053536,-0.98876425)">
+
+
+<g
+ id="g64"
+ transform="translate(-5.5643192,-5.3931099)">
+ <polygon
+ class="st2"
+ points="25.6,11.7 10.7,10.9 13.2,25.5 18.2,20 34.2,34.2 36.6,31.5 20.6,17.2 "
+ id="polygon62"
+ transform="matrix(0.90211734,0,0,0.90211734,1.0473445,1.066921)" />
+ </g></g></svg>
diff --git a/app/bin/bitmaps/SVG/snap-grid.svg b/app/bin/bitmaps/SVG/snap-grid.svg
new file mode 100644
index 0000000..f6650a7
--- /dev/null
+++ b/app/bin/bitmaps/SVG/snap-grid.svg
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="snap-grid.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata73"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+ id="defs71" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1524"
+ inkscape:window-height="969"
+ id="namedview69"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="23.9991"
+ inkscape:cy="23.9991"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g66"
+ inkscape:snap-nodes="false"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:#FFFFFF;stroke:#000000;stroke-miterlimit:10;}
+ .st1{fill:none;}
+ .st2{fill:#231F20;}
+</style>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<g
+ id="g66"><path
+ style="fill:none;stroke:#00cc0d;stroke-width:2.24998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 45.964794,34.798093 H 1.7605429"
+ id="path906-0"
+ sodipodi:nodetypes="cc" />
+
+ <g
+ id="g64">
+
+ </g>
+<path
+ style="fill:none;stroke:#00cc0d;stroke-width:2.24998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 13.170988,1.9818299 V 45.377465"
+ id="path900"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:2.24998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 23.997436,1.9818299 V 45.826697"
+ id="path904"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:2.24998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 34.823883,1.9818299 V 46.18608"
+ id="path906"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:2.24998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 46.05464,13.279968 H 1.7605429"
+ id="path902-1"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:2.24998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 46.144486,24.039031 H 1.7605429"
+ id="path904-7"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:2.24998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 45.650331,1.9818299 V 46.186079"
+ id="path906-06"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:2.24998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 2.3445413,1.9818299 V 46.18608"
+ id="path906-01"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:2.24998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 46.703533,2.6007706 1.2813595,2.5209067"
+ id="path900-5-5"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;stroke:#00cc0d;stroke-width:2.24998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 46.703534,45.557158 H 1.3612234"
+ id="path900-5-8"
+ sodipodi:nodetypes="cc" /></g>
+</svg>
diff --git a/app/bin/bitmaps/SVG/split-draw.svg b/app/bin/bitmaps/SVG/split-draw.svg
new file mode 100644
index 0000000..d74ee25
--- /dev/null
+++ b/app/bin/bitmaps/SVG/split-draw.svg
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="split-draw.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata41"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs39" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1420"
+ inkscape:window-height="920"
+ id="namedview37"
+ showgrid="false"
+ inkscape:zoom="14.378038"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#B3B3B3;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#808080;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#F80E00;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+
+
+
+
+<path
+ class="st1"
+ d="M 31.116412,30.780019"
+ id="path12" />
+<path
+ class="st1"
+ d="M 20.670772,20.837783"
+ id="path14" />
+
+
+
+
+<line
+ class="st2"
+ x1="25.950863"
+ y1="21.986561"
+ x2="43.444164"
+ y2="3.4864542"
+ id="line24"
+ style="stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="4.5561771"
+ y1="44.513905"
+ x2="21.797777"
+ y2="26.265497"
+ id="line26"
+ style="stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none" />
+
+
+<polyline
+ class="st3"
+ points="13.4,23.5 20.2,23.1 20.3,16.4 "
+ id="polyline32"
+ transform="matrix(1.2585109,0,0,1.2585109,-4.4171454,-7.6481128)"
+ style="stroke:#cc0000;stroke-width:2.38377;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<polyline
+ class="st3"
+ points="33.7,28.5 26.8,28.9 26.8,35.6 "
+ id="polyline34"
+ transform="matrix(1.2585109,0,0,1.2585109,-6.955518,-9.5737753)"
+ style="stroke:#cc0000;stroke-width:2.38377;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/split.svg b/app/bin/bitmaps/SVG/split.svg
new file mode 100644
index 0000000..2bc28cb
--- /dev/null
+++ b/app/bin/bitmaps/SVG/split.svg
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="split.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata1566"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1564" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1468"
+ inkscape:window-height="951"
+ id="namedview1562"
+ showgrid="false"
+ inkscape:zoom="14.378038"
+ inkscape:cx="24"
+ inkscape:cy="23.74054"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style1527">
+ .st0{fill:none;stroke:#B3B3B3;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#808080;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#F80E00;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<line
+ class="st0"
+ x1="3.8516407"
+ y1="35.657555"
+ x2="13.378208"
+ y2="44.725014"
+ id="line1529" />
+<line
+ class="st0"
+ x1="7.6393127"
+ y1="31.640329"
+ x2="17.051104"
+ y2="40.707787"
+ id="line1531" />
+<line
+ class="st0"
+ x1="11.426984"
+ y1="27.623102"
+ x2="20.953552"
+ y2="36.690559"
+ id="line1533" />
+<line
+ class="st0"
+ x1="15.214656"
+ y1="23.605873"
+ x2="24.626448"
+ y2="32.673332"
+ id="line1535" />
+
+
+<line
+ class="st0"
+ x1="22.789999"
+ y1="15.57142"
+ x2="32.20179"
+ y2="24.638878"
+ id="line1541" />
+<line
+ class="st0"
+ x1="26.577673"
+ y1="11.439415"
+ x2="36.10424"
+ y2="20.621649"
+ id="line1543" />
+<line
+ class="st0"
+ x1="30.365345"
+ y1="7.4221864"
+ x2="39.777134"
+ y2="16.604422"
+ id="line1545" />
+<line
+ class="st0"
+ x1="34.153015"
+ y1="3.404959"
+ x2="43.679581"
+ y2="12.587194"
+ id="line1547" />
+<line
+ class="st2"
+ x1="23.084372"
+ y1="19.683172"
+ x2="39.038502"
+ y2="2.8108137"
+ id="line1549"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none;stroke:#666666;stroke-opacity:1" />
+<line
+ class="st2"
+ x1="3.7665691"
+ y1="40.163593"
+ x2="19.491148"
+ y2="23.520805"
+ id="line1551"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none;stroke:#666666;stroke-opacity:1" />
+<line
+ class="st2"
+ x1="28.054932"
+ y1="24.509245"
+ x2="44.238625"
+ y2="7.6368885"
+ id="line1553"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none;stroke:#666666;stroke-opacity:1" />
+<line
+ class="st2"
+ x1="8.5575352"
+ y1="45.184124"
+ x2="24.626448"
+ y2="28.426548"
+ id="line1555"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none;stroke:#666666;stroke-opacity:1" />
+<polyline
+ class="st3"
+ points="13.4,23.5 20.2,23.1 20.3,16.4 "
+ id="polyline1557"
+ style="stroke:#cc0000;stroke-width:2.10972;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.3866205,0,0,1.4582594,-8.7657785,-14.110431)" />
+<polyline
+ class="st3"
+ points="33.7,28.5 26.8,28.9 26.8,35.6 "
+ id="polyline1559"
+ style="stroke:#cc0000;stroke-width:2.19817;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.4082952,0,0,1.32259,-9.2134144,-9.5667462)" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/sticky-doc.svg b/app/bin/bitmaps/SVG/sticky-doc.svg
new file mode 100644
index 0000000..20ea76f
--- /dev/null
+++ b/app/bin/bitmaps/SVG/sticky-doc.svg
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1556"
+ sodipodi:docname="sticky-doc.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1560"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1680"
+ inkscape:window-height="931"
+ id="namedview1558"
+ showgrid="false"
+ inkscape:zoom="10.803477"
+ inkscape:cx="31.980445"
+ inkscape:cy="33.461449"
+ inkscape:window-x="6"
+ inkscape:window-y="3"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg1556"
+ inkscape:document-rotation="0"
+ inkscape:snap-nodes="false"
+ inkscape:pagecheckerboard="0" /><defs
+ id="defs1538"><clipPath
+ id="clipPath4490"><path
+ d="m0 48h48v-48h-48z"
+ id="path1535" /></clipPath><clipPath
+ id="clipPath4424"><path
+ d="M 0,48 H 48 V 0 H 0 Z"
+ id="path920" /></clipPath></defs><path
+ style="fill:#a0592c;fill-opacity:1;stroke:#a0592c;stroke-width:1.1707px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 2.7671622,8.6432915 44.7300768,0.04069 13.734325,9.8289935 0.0034,36.843687 -58.5931253,-0.05776 z"
+ id="path2772"
+ sodipodi:nodetypes="cccccc"
+ inkscape:label="outline" /><g
+ transform="matrix(2.2387733,0,0,-2.564431,-15.300851,92.664659)"
+ id="g1554"><path
+ d="M 8.6186891,32.247551 8.6032755,15.12224 33.479571,15.100555 33.473002,28.64877 27.806013,32.19633 Z"
+ fill="#ffce00"
+ id="path1540"
+ sodipodi:nodetypes="cccccc"
+ style="stroke-width:0.987122" /><path
+ d="m 27.904611,32.195585 0.0194,-3.615578 5.713343,0.01661 z"
+ fill="#c19d05"
+ id="path1544"
+ sodipodi:nodetypes="cccc"
+ style="stroke-width:1.12315" /></g><path
+ d="m 36.567695,32.072291 c 0,0 -12.08789,-10.690569 -15.998423,-13.665449 C 16.656547,15.435575 9.6075626,22.76642 14.383329,26.263145 19.159803,29.762777 32.203378,41.2321 37.617602,44.33056 44.866707,49.927132 54.702434,40.109053 49.998452,33.279763 43.565297,28.002312 30.39473,16.563864 30.39473,16.563864"
+ fill="none"
+ stroke="#0679bf"
+ stroke-miterlimit="10"
+ id="path1548"
+ inkscape:label="clippy"
+ style="stroke:#1566b7;stroke-width:4.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:nodetypes="cccccc" /></svg>
diff --git a/app/bin/bitmaps/SVG/sticky-link.svg b/app/bin/bitmaps/SVG/sticky-link.svg
new file mode 100644
index 0000000..f403661
--- /dev/null
+++ b/app/bin/bitmaps/SVG/sticky-link.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1556"
+ sodipodi:docname="sticky-link.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1560"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1675"
+ inkscape:window-height="931"
+ id="namedview1558"
+ showgrid="false"
+ inkscape:zoom="10.803477"
+ inkscape:cx="32.026726"
+ inkscape:cy="31.980445"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg1556"
+ inkscape:document-rotation="0"
+ inkscape:snap-nodes="true"
+ inkscape:pagecheckerboard="0" /><defs
+ id="defs1538"><clipPath
+ id="clipPath4490"><path
+ d="m0 48h48v-48h-48z"
+ id="path1535" /></clipPath><clipPath
+ id="clipPath4424"><path
+ d="M 0,48 H 48 V 0 H 0 Z"
+ id="path920" /></clipPath></defs><path
+ style="fill:#a0592c;fill-opacity:1;stroke:#a0592c;stroke-width:1.1707px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 2.8295204,8.6432918 44.7300766,0.04069 13.734325,9.8289932 0.0034,36.843687 -58.5931251,-0.05776 z"
+ id="path2772"
+ sodipodi:nodetypes="cccccc"
+ inkscape:label="outline" /><g
+ transform="matrix(2.2387733,0,0,-2.564431,-15.238493,92.664659)"
+ id="g1554"><path
+ d="M 8.6186891,32.247551 8.6032755,15.12224 33.479571,15.100555 33.473002,28.64877 27.806013,32.19633 Z"
+ fill="#ffce00"
+ id="path1540"
+ sodipodi:nodetypes="cccccc"
+ style="stroke-width:0.987122" /><path
+ d="m 27.904611,32.195585 0.0194,-3.615578 5.713343,0.01661 z"
+ fill="#c19d05"
+ id="path1544"
+ sodipodi:nodetypes="cccc"
+ style="stroke-width:1.12315" /></g><g
+ clip-path="url(#clipPath4424)"
+ id="g937"
+ transform="matrix(2.1657938,0,0,-2.4808357,-13.543802,95.073373)"
+ style="stroke-width:1.72565;stroke-miterlimit:4;stroke-dasharray:none"><path
+ d="M 13.494482,28.880566 C 9.7704502,28.323132 9.8028707,22.521573 13.526902,21.948 c 4.856167,-0.500202 10.724216,7.551068 14.825918,6.906165 3.753827,-0.544879 4.139651,-6.106432 0.186631,-6.911199 -4.922663,-0.559203 -10.533859,7.730685 -15.044964,6.9376 z"
+ fill="none"
+ stroke="#0679bf"
+ stroke-miterlimit="10"
+ id="path933"
+ sodipodi:nodetypes="cccccc"
+ style="stroke:#1467b8;stroke-width:1.72565;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:label="link" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/sticky-note.svg b/app/bin/bitmaps/SVG/sticky-note.svg
new file mode 100644
index 0000000..1fe3d30
--- /dev/null
+++ b/app/bin/bitmaps/SVG/sticky-note.svg
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1556"
+ sodipodi:docname="sticky-note.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1560"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1669"
+ inkscape:window-height="931"
+ id="namedview1558"
+ showgrid="false"
+ inkscape:zoom="10.803477"
+ inkscape:cx="31.887882"
+ inkscape:cy="31.980445"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg1556"
+ inkscape:document-rotation="0"
+ inkscape:snap-nodes="false"
+ inkscape:pagecheckerboard="0" /><defs
+ id="defs1538"><clipPath
+ id="clipPath4490"><path
+ d="m0 48h48v-48h-48z"
+ id="path1535" /></clipPath></defs><path
+ style="fill:#a0592c;fill-opacity:1;stroke:#a0592c;stroke-width:1.1707px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 2.8295202,8.6432916 44.7300768,0.04069 13.734325,9.8289934 0.0034,36.843687 -58.5931248,-0.05776 z"
+ id="path2772"
+ sodipodi:nodetypes="cccccc"
+ inkscape:label="outline" /><g
+ transform="matrix(2.2387733,0,0,-2.564431,-15.238493,92.664659)"
+ id="g1554"><path
+ d="M 8.6186891,32.247551 8.6032755,15.12224 33.479571,15.100555 33.473002,28.64877 27.806013,32.19633 Z"
+ fill="#ffce00"
+ id="path1540"
+ sodipodi:nodetypes="cccccc"
+ style="stroke-width:0.987122" /><path
+ d="m 27.904611,32.195585 0.0194,-3.615578 5.713343,0.01661 z"
+ fill="#c19d05"
+ id="path1544"
+ sodipodi:nodetypes="cccc"
+ style="stroke-width:1.12315" /></g><g
+ id="g2121"
+ inkscape:label="note"
+ transform="translate(-1.0226106,2.4522374)"><path
+ d="M 8.5459993,43.73594 H 56.888648"
+ fill="none"
+ stroke="#0679bf"
+ stroke-miterlimit="10"
+ id="path875"
+ style="stroke:#1467b8;stroke-width:4.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="M 8.4899312,34.31052 H 50.299766"
+ fill="none"
+ stroke="#0679bf"
+ stroke-miterlimit="10"
+ id="path879"
+ style="stroke:#1467b8;stroke-width:4.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="M 8.638554,24.945673 H 53.463813"
+ fill="none"
+ stroke="#0679bf"
+ stroke-miterlimit="10"
+ id="path1812"
+ style="stroke:#1467b8;stroke-width:4.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="M 8.582494,15.765913 H 45.4865"
+ fill="none"
+ stroke="#0679bf"
+ stroke-miterlimit="10"
+ id="path871"
+ style="stroke:#1467b8;stroke-width:4.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/stop.svg b/app/bin/bitmaps/SVG/stop.svg
new file mode 100644
index 0000000..4bd5fa0
--- /dev/null
+++ b/app/bin/bitmaps/SVG/stop.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="stop.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata42"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs40"><radialGradient
+ inkscape:collect="always"
+ xlink:href="#SVGID_1_"
+ id="radialGradient867"
+ cx="23.599313"
+ cy="23.299802"
+ fx="23.599313"
+ fy="23.299802"
+ r="18.802058"
+ gradientTransform="matrix(1,0,0,1.1475892,0,-3.4387987)"
+ gradientUnits="userSpaceOnUse" /></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1528"
+ inkscape:window-height="918"
+ id="namedview38"
+ showgrid="false"
+ inkscape:zoom="14.378038"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:url(#SVGID_1_);stroke:#000000;stroke-miterlimit:10;}
+</style>
+<linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="2.3596"
+ y1="25.2837"
+ x2="44.5404"
+ y2="25.2837"
+ gradientTransform="matrix(5.000000e-03 1 -1 5.000000e-03 48.7725 -0.2285)">
+
+
+
+
+
+
+
+
+ <stop
+ offset="0.08821"
+ style="stop-color:#e4a9a5;stop-opacity:1"
+ id="stop20" />
+ <stop
+ offset="0.3086791"
+ style="stop-color:#db9b94;stop-opacity:1"
+ id="stop22" />
+ <stop
+ offset="0.54394364"
+ style="stop-color:#cb7167;stop-opacity:1"
+ id="stop24" />
+ <stop
+ offset="0.75441277"
+ style="stop-color:#c84337;stop-opacity:1"
+ id="stop26" />
+
+ <stop
+ offset="0.9501"
+ style="stop-color:#b21506;stop-opacity:1"
+ id="stop30" />
+ <stop
+ offset="0.9992"
+ style="stop-color:#a80e00;stop-opacity:1"
+ id="stop32" />
+</linearGradient>
+<polygon
+ class="st0"
+ points="23.5,44.3 5.3,33.7 5.5,12.7 23.7,2.3 41.9,12.9 41.8,33.9 "
+ id="polygon35"
+ style="fill-opacity:1;fill:url(#radialGradient867)" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/straight-line.svg b/app/bin/bitmaps/SVG/straight-line.svg
new file mode 100644
index 0000000..32a01a3
--- /dev/null
+++ b/app/bin/bitmaps/SVG/straight-line.svg
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="straight-line.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata923"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs921" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1418"
+ inkscape:window-height="1008"
+ id="namedview919"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="24"
+ inkscape:cy="26.258824"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style884">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st3{stroke:#F80E00;stroke-width:2;stroke-miterlimit:10;}
+ .st4{fill:none;stroke:#F80E00;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<path
+ class="st0"
+ d="M 6.6931374,34.732799"
+ id="path886" />
+<path
+ class="st0"
+ d="M 9.9931374,31.232799"
+ id="path888" />
+<path
+ class="st0"
+ d="M 13.293137,27.732799"
+ id="path890" />
+<path
+ class="st0"
+ d="M 16.593137,24.232799"
+ id="path892" />
+<path
+ class="st0"
+ d="M 19.893137,20.732799"
+ id="path894" />
+<path
+ class="st0"
+ d="M 23.193137,17.232799"
+ id="path896" />
+<path
+ class="st0"
+ d="M 26.493137,13.632799"
+ id="path898" />
+<path
+ class="st0"
+ d="M 37.993137,18.132799"
+ id="path900" />
+<path
+ class="st0"
+ d="M 29.793137,10.132799"
+ id="path902" />
+<path
+ class="st0"
+ d="M 41.393137,14.632799"
+ id="path904" />
+<path
+ class="st0"
+ d="M 33.093137,6.6327991"
+ id="path906" />
+<path
+ class="st1"
+ d="M 37.293137,5.8327991"
+ id="path908" />
+<path
+ class="st1"
+ d="M 6.3931374,38.432799"
+ id="path910" />
+<line
+ class="st2"
+ x1="4.237493"
+ y1="43.630077"
+ x2="28.515442"
+ y2="19.529856"
+ id="line912"
+ style="stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st3"
+ x1="28.515442"
+ y1="19.529856"
+ x2="43.04525"
+ y2="4.5849099"
+ id="line914"
+ style="stroke:#cc0e00;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<polyline
+ class="st4"
+ points="42.6,12.6 42.1,5.8 35.5,5.8 "
+ id="polyline916"
+ style="stroke:#cc0e00;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="translate(0.79313743,-1.0672009)" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/straight.svg b/app/bin/bitmaps/SVG/straight.svg
new file mode 100644
index 0000000..6c5f37b
--- /dev/null
+++ b/app/bin/bitmaps/SVG/straight.svg
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="straight.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata926"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs924" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1413"
+ inkscape:window-height="937"
+ id="namedview922"
+ showgrid="false"
+ inkscape:zoom="14.378038"
+ inkscape:cx="19.826969"
+ inkscape:cy="24.347753"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style893">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{stroke:#F80E00;stroke-width:2;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#F80E00;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}
+</style>
+<line
+ class="st0"
+ x1="2.9930582"
+ y1="36.148373"
+ x2="12.837148"
+ y2="45.518051"
+ id="line895"
+ style="stroke:#d98b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="6.9069719"
+ y1="31.997252"
+ x2="16.632456"
+ y2="41.366932"
+ id="line897"
+ style="stroke:#d98b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="10.820889"
+ y1="27.846128"
+ x2="20.664972"
+ y2="37.215809"
+ id="line899"
+ style="stroke:#d98b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="14.734805"
+ y1="23.695007"
+ x2="24.460285"
+ y2="33.064686"
+ id="line901"
+ style="stroke:#d98b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="18.648714"
+ y1="19.543886"
+ x2="28.492802"
+ y2="28.913563"
+ id="line903"
+ style="stroke:#d98b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="22.562628"
+ y1="15.392764"
+ x2="32.288116"
+ y2="24.762442"
+ id="line905"
+ style="stroke:#b2b2b2;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="26.476543"
+ y1="11.123041"
+ x2="36.320637"
+ y2="20.611319"
+ id="line907"
+ style="stroke:#b2b2b2;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="30.390459"
+ y1="6.9719186"
+ x2="40.115948"
+ y2="16.460197"
+ id="line909"
+ style="stroke:#b2b2b2;stroke-opacity:1" />
+
+<line
+ class="st1"
+ x1="2.9146755"
+ y1="40.860981"
+ x2="22.544384"
+ y2="19.917923"
+ id="line913"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st1"
+ x1="7.8975964"
+ y1="46.260185"
+ x2="28.092888"
+ y2="24.918444"
+ id="line915"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="25.125404"
+ y1="22.338005"
+ x2="43.922752"
+ y2="2.8828921"
+ id="line917"
+ style="stroke:#cc0000;stroke-width:2.5;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+<polyline
+ class="st3"
+ points="42.6,12.6 42.1,5.8 35.5,5.8 "
+ id="polyline919"
+ style="stroke:#cc0000;stroke-width:2.21487;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(1.1287352,0,0,1.1287352,-3.6377413,-3.6244135)" />
+<line
+ class="st1"
+ x1="22.544384"
+ y1="19.917923"
+ x2="35.261513"
+ y2="6.3368797"
+ id="line842"
+ style="stroke:#666666;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><line
+ class="st1"
+ x1="28.092888"
+ y1="24.918444"
+ x2="40.843689"
+ y2="11.432371"
+ id="line844"
+ style="stroke:#666666;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></svg>
diff --git a/app/bin/bitmaps/SVG/switch-ai.svg b/app/bin/bitmaps/SVG/switch-ai.svg
new file mode 100644
index 0000000..9c842e3
--- /dev/null
+++ b/app/bin/bitmaps/SVG/switch-ai.svg
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg1549"
+ sodipodi:docname="switch-ai.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata1553"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1458"
+ inkscape:window-height="878"
+ id="namedview1551"
+ showgrid="false"
+ inkscape:zoom="8.1826993"
+ inkscape:cx="31.95767"
+ inkscape:cy="31.774356"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g1547"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" /><defs
+ id="defs1519"><clipPath
+ id="clipPath3486"><path
+ d="m0 48h48v-48h-48z"
+ id="path1516" /></clipPath></defs><g
+ transform="matrix(1.8360071,0,0,-1.8360071,-16.771693,72.460272)"
+ id="g1547"><g
+ transform="matrix(1.1130994,0,0,1.1130994,19.813412,26.914954)"
+ id="g1523"><path
+ d="M 0.4671437,0.44608624 17.714856,-18.551086"
+ fill="none"
+ stroke="#000200"
+ stroke-miterlimit="10"
+ id="path1521"
+ style="stroke-width:2.17864;stroke-miterlimit:10;stroke-dasharray:none" /></g><g
+ transform="matrix(1.1119872,-0.04974395,0.04974395,1.1119872,10.086494,37.386378)"
+ id="g1527"><path
+ d="m 12.853899,-8.0334513 c 0,-2.1766187 -1.763768,-3.9391237 -3.9391231,-3.9391237 -2.1766184,0 -3.9403864,1.762505 -3.9403864,3.9391237 0,2.1753559 1.763768,3.939124 3.9403864,3.939124 2.1753551,0 3.9391231,-1.7637681 3.9391231,-3.939124"
+ fill="#f70f31"
+ id="path1529"
+ style="fill:#c40808;fill-opacity:1;stroke-width:1.26254" /><path
+ d="M 0.95477497,0.17808758 8.273775,-7.2949125"
+ fill="none"
+ stroke="#f70f31"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ id="path1525"
+ style="stroke:#c40808;stroke-width:2.17864;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g><g
+ clip-path="url(#clipPath3486)"
+ id="g1545"
+ transform="matrix(1.1130994,0,0,1.1130994,-1.6562092,-3.8556612)"><path
+ d="m 27.768603,8.8691045 c 0,5.3601645 4.49539,9.6982505 10.051937,9.6982505"
+ fill="none"
+ stroke="#000700"
+ stroke-miterlimit="10"
+ id="path1533"
+ style="stroke-width:1.92381;stroke-miterlimit:10;stroke-dasharray:none" /><path
+ d="M 36.880028,18.752028 37.003,9.093"
+ fill="none"
+ stroke="#000700"
+ stroke-miterlimit="10"
+ id="path1537"
+ style="stroke-width:1.90631;stroke-miterlimit:10;stroke-dasharray:none"
+ sodipodi:nodetypes="cc" /><path
+ d="M 25.664478,9.257914 39.456307,9.238486"
+ fill="none"
+ stroke="#020000"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ id="path1541"
+ style="stroke-width:1.90631;stroke-miterlimit:10;stroke-dasharray:none" /></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/table-edge.svg b/app/bin/bitmaps/SVG/table-edge.svg
new file mode 100644
index 0000000..e2663ac
--- /dev/null
+++ b/app/bin/bitmaps/SVG/table-edge.svg
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="table-edge.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata23"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs21" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1349"
+ inkscape:window-height="949"
+ id="namedview19"
+ showgrid="false"
+ inkscape:snap-nodes="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="22.553895"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:#FF8200;stroke:#000000;stroke-miterlimit:10;}
+ .st1{fill:#FF8200;}
+ .st2{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st3{fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:10;}
+</style>
+<rect
+ x="2.4431601"
+ y="25.12504"
+ class="st0"
+ width="23.912262"
+ height="17.330696"
+ id="rect4"
+ style="fill:#afaeac;fill-opacity:1;stroke:none;stroke-width:1.48566;stroke-miterlimit:10;stroke-dasharray:none" />
+
+
+
+
+
+
+<path
+ style="fill:none;stroke:#000000;stroke-width:1.46954px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 26.464217,25.078666 2.3930621,25.147382"
+ id="path838" /><path
+ id="path842"
+ style="fill:#42b743;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:square;stroke-miterlimit:10;stroke-dasharray:none"
+ d="M 26.210618,24.581025 2.3201056,24.49001 2.4322676,5.1036417 H 45.510328 Z"
+ sodipodi:nodetypes="ccccc" /><path
+ id="path845"
+ style="fill:#898785;fill-opacity:1;stroke:#000000;stroke-width:1.46954;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 44.945132,22.315034 26.491789,42.39923 26.63883,25.321877 44.873396,5.7958747 Z"
+ sodipodi:nodetypes="ccccc" /><path
+ style="fill:none;stroke:#000000;stroke-width:1.46954px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 26.571012,42.088198 2.4998566,42.156916"
+ id="path838-1" /></svg>
diff --git a/app/bin/bitmaps/SVG/text.svg b/app/bin/bitmaps/SVG/text.svg
new file mode 100644
index 0000000..c5e5c32
--- /dev/null
+++ b/app/bin/bitmaps/SVG/text.svg
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="text.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata3660"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs3658" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1516"
+ inkscape:window-height="799"
+ id="namedview3656"
+ showgrid="false"
+ inkscape:zoom="10.897825"
+ inkscape:cx="23.995614"
+ inkscape:cy="22.986238"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style3651">
+ .st0{font-family:'MyriadPro-Regular';}
+ .st1{font-size:48px;}
+</style>
+<text
+ class="st0 st1"
+ id="text3653"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:64px;font-family:Arial;-inkscape-font-specification:'Arial Bold';stroke-width:1.12882"
+ x="0.54810065"
+ y="47.383064"
+ transform="scale(1.0198672,0.98051982)">A</text>
+</svg>
diff --git a/app/bin/bitmaps/SVG/top.svg b/app/bin/bitmaps/SVG/top.svg
new file mode 100644
index 0000000..ccf60ad
--- /dev/null
+++ b/app/bin/bitmaps/SVG/top.svg
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="top.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata862"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs860" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1396"
+ inkscape:window-height="976"
+ id="namedview858"
+ showgrid="false"
+ inkscape:zoom="13.417014"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style851">
+ .st0{fill:#808080;}
+ .st1{fill:#FF0603;}
+</style>
+<rect
+ x="17.38179"
+ y="8.2811852"
+ class="st0"
+ width="28.549133"
+ height="31.43763"
+ id="rect853"
+ style="stroke:#000000;stroke-width:1.27743;stroke-opacity:1" />
+<path
+ class="st1"
+ d="m 29.060985,24.251499 c 0,7.29353 -6.099134,13.078054 -13.495954,13.078054 -7.5265895,0 -13.4959548,-5.910275 -13.4959548,-13.078054 0,-7.293529 6.0991333,-13.078052 13.4959548,-13.078052 7.39682,-0.125751 13.495954,5.784523 13.495954,13.078052 z"
+ id="path855"
+ style="stroke:#990000;stroke-width:1.27743;stroke-opacity:1" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/train.svg b/app/bin/bitmaps/SVG/train.svg
new file mode 100644
index 0000000..e2d2a71
--- /dev/null
+++ b/app/bin/bitmaps/SVG/train.svg
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="train.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata50"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs48" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1575"
+ inkscape:window-height="965"
+ id="namedview46"
+ showgrid="false"
+ inkscape:zoom="11.681573"
+ inkscape:cx="24"
+ inkscape:cy="21.577618"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#808080;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000401;stroke-miterlimit:10;}
+ .st2{fill:#000401;}
+ .st3{fill:url(#SVGID_1_);}
+ .st4{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st5{fill:#006837;}
+ .st6{fill:#FFE53F;}
+ .st7{font-family:'MyriadPro-Regular';}
+ .st8{font-size:6px;}
+</style>
+<path
+ class="st0"
+ d="M 37.515004,20.476714 C 37.180948,16.574746 38.079405,5.8084729 27.166937,4.1938653 18.481504,2.8483593 3.0440743,4.6124338 2.9428781,8.7564972 c 0.099158,3.8779088 8.7130179,6.4619188 15.6168239,6.1754338 7.341985,-1.130253 13.06101,-4.35213 17.552741,-3.288219"
+ id="path4"
+ sodipodi:nodetypes="ccccc"
+ style="fill:#808080;fill-opacity:1;stroke-width:3.14825;stroke-miterlimit:10;stroke-dasharray:none" />
+
+<line
+ class="st1"
+ x1="13.017804"
+ y1="20.804539"
+ x2="13.276731"
+ y2="27.45532"
+ id="line8"
+ style="stroke-width:2.44934;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st1"
+ x1="3.5502384"
+ y1="21.384453"
+ x2="14.173705"
+ y2="21.356592"
+ id="line10"
+ style="stroke-width:1.837;stroke-miterlimit:10;stroke-dasharray:none" />
+<path
+ class="st2"
+ d="m 27.647211,28.620494 h -3.883914 c 0,0 -0.388392,-1.941957 0,-3.883914 0.906246,-2.07142 2.718739,-1.941956 3.883914,0 0.129462,2.977667 0,3.883914 0,3.883914 z"
+ id="path12"
+ style="stroke-width:1.29463" />
+
+
+
+<path
+ class="st2"
+ d="m 41.836717,43.209271 c 0,1.165174 -0.906246,2.200883 -2.200884,2.200883 -1.294638,0 -2.200884,-0.906246 -2.200884,-2.200883 0,-1.294638 0.906246,-2.200884 2.200884,-2.200884 1.294638,0 2.200884,1.03571 2.200884,2.200884 z"
+ id="path20"
+ style="stroke-width:1.29463" />
+<path
+ class="st0"
+ d="M 14.57137,35.223145"
+ id="path22" />
+<path
+ class="st0"
+ d="M 24.022224,35.870465"
+ id="path24" />
+<linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="24.5506"
+ y1="21.5"
+ x2="30.4868"
+ y2="21.5"
+ gradientTransform="matrix(0,2.0281882,-1.2946377,0,55.481923,-22.363742)">
+ <stop
+ offset="2.455360e-02"
+ style="stop-color:#000000;stop-opacity:1"
+ id="stop26" />
+ <stop
+ offset="0.4355"
+ style="stop-color:#22B573"
+ id="stop28" />
+ <stop
+ offset="1"
+ style="stop-color:#000201;stop-opacity:1"
+ id="stop30" />
+</linearGradient>
+<rect
+ x="13.406194"
+ y="27.325857"
+ class="st3"
+ width="28.482027"
+ height="12.169129"
+ id="rect33"
+ style="fill:url(#SVGID_1_);stroke-width:1.62042" /><path
+ class="st2"
+ d="m 35.3229,41.816826 c 0,2.200884 -1.812492,4.013376 -4.013377,4.013376 -2.200884,0 -4.013376,-1.812492 -4.013376,-4.013376 0,-2.200885 1.812492,-4.013377 4.013376,-4.013377 2.200885,0 4.013377,1.812492 4.013377,4.013377 z"
+ id="path14"
+ style="stroke-width:1.29463" />
+<line
+ class="st4"
+ x1="41.013638"
+ y1="38.614727"
+ x2="46.192184"
+ y2="43.404884"
+ id="line35"
+ style="stroke-width:1.29463" />
+<rect
+ x="3.0490949"
+ y="27.325857"
+ class="st5"
+ width="10.3571"
+ height="12.169129"
+ id="rect37"
+ style="stroke-width:1.62042" /><path
+ class="st2"
+ d="m 26.260436,41.816826 c 0,2.200884 -1.812493,4.013376 -4.013377,4.013376 -2.200883,0 -4.013376,-1.812492 -4.013376,-4.013376 0,-2.200885 1.812493,-4.013377 4.013376,-4.013377 2.200884,0 4.013377,1.812492 4.013377,4.013377 z"
+ id="path16"
+ style="stroke-width:1.29463" />
+<path
+ class="st2"
+ d="m 7.6176546,43.111463 c 0,1.165175 -0.906246,2.200885 -2.2008849,2.200885 -1.165173,0 -2.2008831,-0.906246 -2.2008831,-2.200885 0,-1.294637 0.9062464,-2.200883 2.2008831,-2.200883 1.2946389,0.129463 2.2008849,1.03571 2.2008849,2.200883 z"
+ id="path39"
+ style="stroke-width:1.29463" />
+<path
+ class="st2"
+ d="m 17.197973,41.816826 c 0,2.200884 -1.812492,4.013376 -4.013376,4.013376 -2.200885,0 -4.0133769,-1.812492 -4.0133769,-4.013376 0,-2.200885 1.8124919,-4.013377 4.0133769,-4.013377 2.200884,0 4.013376,1.812492 4.013376,4.013377 z"
+ id="path18"
+ style="stroke-width:1.29463" />
+
+<rect
+ style="opacity:1;fill:#000201;fill-opacity:1;stroke:none;stroke-width:3.3644;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+ id="rect858"
+ width="4.7189298"
+ height="7.1085119"
+ x="35.176659"
+ y="20.289568" /><path
+ style="fill:none;stroke:#fffd46;stroke-width:2.44934;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 8.4060186,29.235334 v 8.072492"
+ id="path862" /></svg>
diff --git a/app/bin/bitmaps/SVG/trim.svg b/app/bin/bitmaps/SVG/trim.svg
new file mode 100644
index 0000000..553d08f
--- /dev/null
+++ b/app/bin/bitmaps/SVG/trim.svg
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ viewBox="0 0 48 48"
+ xml:space="preserve"
+ id="svg2766"
+ sodipodi:docname="trim.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"
+ width="48"
+ height="48"><defs
+ id="defs2770" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1416"
+ inkscape:window-height="920"
+ id="namedview2768"
+ showgrid="false"
+ inkscape:zoom="9.3994533"
+ inkscape:cx="26.121774"
+ inkscape:cy="28.182354"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g2764"
+ inkscape:document-rotation="0"
+ units="mm" /><metadata
+ id="metadata2742"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><g
+ transform="matrix(1.3333,0,0,-1.3333,0,64)"
+ id="g2764"><g
+ transform="matrix(0.96624008,0,0,0.96624008,3.1679953,14.357371)"
+ id="g2746"><path
+ d="M 0.23938161,0.55855709 15.141382,16.484557"
+ fill="none"
+ stroke="#020202"
+ stroke-miterlimit="10"
+ id="path2744"
+ style="stroke-width:2.25006;stroke-miterlimit:10;stroke-dasharray:none" /></g><g
+ transform="matrix(0.95746776,0,0,0.95746776,19.792787,32.050838)"
+ id="g2750"
+ style="stroke-width:2.25006;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="M 0,0 13.405,13.62"
+ fill="none"
+ stroke="#808080"
+ stroke-miterlimit="10"
+ id="path2748"
+ style="stroke-width:2.25006;stroke-miterlimit:10;stroke-dasharray:none" /></g><g
+ transform="translate(8.3968901,31.726403)"
+ id="g2754"
+ style="stroke-width:2.25006;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="m -0.23938161,0.07979387 6.84200001,0.454 0.008,6.64600003"
+ fill="none"
+ stroke="#f80e00"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path2752"
+ style="stroke:#cc0e00;stroke-width:2.25006;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g><g
+ transform="translate(26.65689,28.801403)"
+ id="g2758"
+ style="stroke-width:2.25006;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="m -0.15958774,-0.47876322 -6.84199996,-0.453 -0.008,-6.64799998"
+ fill="none"
+ stroke="#f80e00"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path2756"
+ style="stroke:#cc0e00;stroke-width:2.25006;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g><g
+ transform="matrix(0.93151426,0,0,0.93151426,8.2375086,35.706608)"
+ id="g2762"><path
+ d="M -4.9635328,7.7479537 26.126467,-21.199046"
+ fill="none"
+ stroke="#f6130b"
+ stroke-miterlimit="10"
+ id="path2760"
+ style="stroke:#cc0e00;stroke-width:2.25006;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g></g></svg>
diff --git a/app/bin/bitmaps/SVG/tunnel.svg b/app/bin/bitmaps/SVG/tunnel.svg
new file mode 100644
index 0000000..c31fabe
--- /dev/null
+++ b/app/bin/bitmaps/SVG/tunnel.svg
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ viewBox="0 0 64 64"
+ xml:space="preserve"
+ id="svg60"
+ sodipodi:docname="tunnel.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata66"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs64" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1435"
+ inkscape:window-height="846"
+ id="namedview62"
+ showgrid="false"
+ inkscape:zoom="9.96875"
+ inkscape:cx="32"
+ inkscape:cy="32"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g24"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0"
+ inkscape:snap-global="false" /><g
+ transform="matrix(1.7658994,0,0,-1.7658994,5.511509,22.161291)"
+ id="g4"
+ style="stroke:#c67206;stroke-opacity:1"><path
+ d="M 0,0 V -11"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path2"
+ style="stroke:#c67206;stroke-opacity:1" /></g><g
+ transform="matrix(1.7658994,0,0,-1.7658994,14.341007,22.161291)"
+ id="g8"
+ style="stroke:#c67206;stroke-opacity:1"><path
+ d="M 0,0 V -11"
+ fill="none"
+ stroke="#fbb03b"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path6"
+ style="stroke:#c67206;stroke-opacity:1" /></g><g
+ transform="matrix(1.7658994,0,0,-1.7658994,49.658995,22.161291)"
+ id="g24"><path
+ d="M 0,0 V -11"
+ fill="none"
+ stroke="#919090"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path22"
+ style="stroke:#a6a6a6;stroke-opacity:1" /></g><g
+ transform="matrix(1.7658994,0,0,-1.7658994,40.598556,22.287553)"
+ id="g24-9"><path
+ d="M 0,0 V -11"
+ fill="none"
+ stroke="#919090"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path22-6"
+ style="stroke:#a6a6a6;stroke-opacity:1" /></g><g
+ transform="matrix(1.7658994,0,0,-1.7658994,31.671763,22.203885)"
+ id="g24-9-8"><path
+ d="M 0,0 V -11"
+ fill="none"
+ stroke="#919090"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path22-6-4"
+ style="stroke:#a6a6a6;stroke-opacity:1" /></g><g
+ transform="matrix(1.7658994,0,0,-1.7658994,58.488492,22.161291)"
+ id="g28"><path
+ d="M 0,0 V -11"
+ fill="none"
+ stroke="#8e8e8e"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path26"
+ style="stroke:#a6a6a6;stroke-opacity:1" /></g><g
+ transform="matrix(1.7658994,0,0,-1.7658994,40.829497,26.174233)"
+ id="g32"
+ style="stroke-width:1.41571;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="M -9.556208,0 H 12"
+ fill="none"
+ stroke="#706f6e"
+ stroke-miterlimit="10"
+ id="path30"
+ style="stroke-width:1.41571;stroke-miterlimit:10;stroke-dasharray:none"
+ sodipodi:nodetypes="cc" /></g><g
+ transform="matrix(1.7658994,0,0,-1.7658994,1.9797102,26.174233)"
+ id="g36"
+ style="stroke-width:1.41571;stroke-miterlimit:10;stroke-dasharray:none" /><g
+ transform="matrix(1.7658994,0,0,-1.7658994,40.829497,37.573244)"
+ id="g40"
+ style="stroke-width:1.41571;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="M -9.8331995,0 H 12"
+ fill="none"
+ stroke="#6d6d6d"
+ stroke-miterlimit="10"
+ id="path38"
+ style="stroke-width:1.41571;stroke-miterlimit:10;stroke-dasharray:none"
+ sodipodi:nodetypes="cc" /></g><g
+ transform="matrix(1.7658994,0,0,-1.7658994,1.9797102,37.573244)"
+ id="g44"
+ style="stroke-width:1.41571;stroke-miterlimit:10;stroke-dasharray:none"><path
+ d="M 0,0 H 12.236048"
+ fill="none"
+ stroke="#000000"
+ stroke-miterlimit="10"
+ id="path34"
+ style="stroke-width:1.41571;stroke-miterlimit:10;stroke-dasharray:none"
+ sodipodi:nodetypes="cc" /><path
+ d="M 0,6.448039 H 12.1668"
+ fill="none"
+ stroke="#000000"
+ stroke-miterlimit="10"
+ id="path42"
+ style="stroke-width:1.41571;stroke-miterlimit:10;stroke-dasharray:none"
+ sodipodi:nodetypes="cc" /></g><g
+ id="g863"
+ inkscape:label="portal"
+ transform="matrix(1.4321834,0,0,1.429365,-83.006246,-13.241149)"
+ style="stroke:#000000;stroke-width:2.09677;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"><path
+ d="m 74.171174,39.310722 v -15"
+ fill="none"
+ stroke="#f99108"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path46"
+ style="stroke:#000000;stroke-width:2.09677;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="m 69.307174,42.580722 4.864,-3.27"
+ fill="none"
+ stroke="#f99108"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path50"
+ style="stroke:#000000;stroke-width:2.09677;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /><path
+ d="m 74.171174,24.310722 -4.465,-3.589"
+ fill="none"
+ stroke="#f99108"
+ stroke-linecap="round"
+ stroke-miterlimit="10"
+ stroke-width="2"
+ id="path54"
+ style="stroke:#000000;stroke-width:2.09677;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/turnout-designer.svg b/app/bin/bitmaps/SVG/turnout-designer.svg
new file mode 100644
index 0000000..f11cbf6
--- /dev/null
+++ b/app/bin/bitmaps/SVG/turnout-designer.svg
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="turnout-designer.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata992"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs990" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1491"
+ inkscape:window-height="1008"
+ id="namedview988"
+ showgrid="false"
+ inkscape:zoom="10.897825"
+ inkscape:cx="24.041495"
+ inkscape:cy="16.70058"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style937">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+ .st2{stroke:#FFFFFF;stroke-miterlimit:10;}
+</style>
+
+
+
+
+
+
+
+
+
+<g
+ id="ties"
+ inkscape:label="ties"
+ transform="matrix(1.1169958,0,0,1.1169958,-1.7103261,3.8486509)"><line
+ class="st0"
+ x1="5"
+ y1="22"
+ x2="5"
+ y2="33"
+ id="line939"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="10"
+ y1="22"
+ x2="10"
+ y2="33"
+ id="line941"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="15"
+ y1="21"
+ x2="15"
+ y2="33"
+ id="line943"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="20"
+ y1="19"
+ x2="20"
+ y2="33"
+ id="line945"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="25.299999"
+ y1="17.200001"
+ x2="25.5"
+ y2="33"
+ id="line947"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="30"
+ y1="15"
+ x2="30"
+ y2="33"
+ id="line949"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="35.299999"
+ y1="23.5"
+ x2="35.5"
+ y2="33"
+ id="line951"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="40.410748"
+ y1="22"
+ x2="40.410748"
+ y2="33"
+ id="line953"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="36.321495"
+ y1="12.471398"
+ x2="41.321495"
+ y2="21.971401"
+ id="line955"
+ style="stroke:#d98a0d;stroke-opacity:1" /><line
+ class="st0"
+ x1="36.696541"
+ y1="23.907103"
+ x2="31.896542"
+ y2="14.507097"
+ id="line957"
+ style="stroke:#d98a0d;stroke-opacity:1" /></g>
+
+
+
+<g
+ id="rail"
+ inkscape:label="rail"
+ transform="matrix(1.1169958,0,0,1.1169958,-1.7103261,3.8486509)"
+ style="stroke-width:1.79052;stroke-miterlimit:4;stroke-dasharray:none"><line
+ class="st1"
+ x1="3"
+ y1="24.234085"
+ x2="43"
+ y2="24.234085"
+ id="line959"
+ style="stroke-width:1.79052;stroke-miterlimit:4;stroke-dasharray:none" /><line
+ class="st1"
+ x1="3"
+ y1="30.765915"
+ x2="43"
+ y2="30.765915"
+ id="line961"
+ style="stroke-width:1.79052;stroke-miterlimit:4;stroke-dasharray:none" /><path
+ class="st1"
+ d="m 39.693798,13.304091 -3.512035,1.835613 c 0,0 -20.452437,9.076091 -24.584243,9.076091"
+ id="path963"
+ style="stroke-width:1.79052;stroke-miterlimit:4;stroke-dasharray:none" /><path
+ class="st1"
+ d="m 42.6,19.265912 -3.6,2 c -5,2.8 -23.1,9.5 -27.4,9.5"
+ id="path965"
+ style="stroke-width:1.79052;stroke-miterlimit:4;stroke-dasharray:none" /></g>
+
+
+
+
+
+
+
+
+
+<polygon
+ class="st2"
+ points="24.8,29.5 24.9,39.5 21.5,39.5 21.5,29.5 17,29.5 18.5,25.5 28.5,25.5 28.5,29.5 "
+ id="polygon985"
+ transform="matrix(2.1634384,0,0,1.7702694,-25.884336,-36.87808)"
+ style="stroke:#cccccc;stroke-width:1.12617;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/turnout.svg b/app/bin/bitmaps/SVG/turnout.svg
new file mode 100644
index 0000000..35b8260
--- /dev/null
+++ b/app/bin/bitmaps/SVG/turnout.svg
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="turnout.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata55"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs53" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1545"
+ inkscape:window-height="884"
+ id="namedview51"
+ showgrid="false"
+ inkscape:zoom="11.681573"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:none;stroke:#000000;stroke-miterlimit:10;}
+</style>
+<line
+ class="st0"
+ x1="4.0856333"
+ y1="23.468363"
+ x2="4.0856333"
+ y2="35.572159"
+ id="line4"
+ style="stroke:#db8a0b;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="9.5873594"
+ y1="23.468363"
+ x2="9.5873594"
+ y2="35.572159"
+ id="line6"
+ style="stroke:#db8a0b;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="15.089085"
+ y1="22.368017"
+ x2="15.089085"
+ y2="35.572159"
+ id="line8"
+ style="stroke:#db8a0b;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="20.590809"
+ y1="20.167328"
+ x2="20.590809"
+ y2="35.572159"
+ id="line10"
+ style="stroke:#db8a0b;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="26.080217"
+ y1="18.186707"
+ x2="26.300287"
+ y2="35.572159"
+ id="line12"
+ style="stroke:#db8a0b;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="31.594261"
+ y1="15.765947"
+ x2="31.594261"
+ y2="35.572159"
+ id="line14"
+ style="stroke:#db8a0b;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="37.42609"
+ y1="25.118881"
+ x2="37.64616"
+ y2="35.572159"
+ id="line16"
+ style="stroke:#db8a0b;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="43.282558"
+ y1="23.468363"
+ x2="43.282558"
+ y2="35.572159"
+ id="line18"
+ style="stroke:#db8a0b;stroke-opacity:1" />
+
+
+<line
+ class="st0"
+ x1="38.844639"
+ y1="12.917164"
+ x2="44.346363"
+ y2="23.370438"
+ id="line24"
+ style="stroke:#db8a0b;stroke-opacity:1" />
+
+
+
+
+
+
+
+<line
+ class="st0"
+ x1="39.406921"
+ y1="25.302202"
+ x2="34.125263"
+ y2="14.958961"
+ id="line40"
+ style="stroke:#db8a0b;stroke-opacity:1" />
+
+
+
+
+<g
+ id="g5462"
+ inkscape:label="rails"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none"
+ transform="translate(0.66936163,-0.63009306)"><line
+ class="st1"
+ x1="0.94624782"
+ y1="26.433819"
+ x2="45.229389"
+ y2="26.433819"
+ id="line42"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none" /><line
+ class="st1"
+ x1="0.94624782"
+ y1="33.86689"
+ x2="45.229389"
+ y2="33.86689"
+ id="line44"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none" /><path
+ class="st1"
+ d="m 45.229386,20.882821 -3.961242,2.20069 C 35.656383,26.274512 15.630102,33.866893 10.678549,33.866893"
+ id="path46"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none" /><path
+ class="st1"
+ d="m 41.048075,14.550085 -3.741174,1.980621 c 0,0 -22.116937,9.903106 -26.628352,9.903106"
+ id="path48"
+ style="stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/turntable.svg b/app/bin/bitmaps/SVG/turntable.svg
new file mode 100644
index 0000000..8dbb510
--- /dev/null
+++ b/app/bin/bitmaps/SVG/turntable.svg
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="turntable.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata39"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs37" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1480"
+ inkscape:window-height="963"
+ id="namedview35"
+ showgrid="false"
+ inkscape:zoom="12.521303"
+ inkscape:cx="23.9991"
+ inkscape:cy="24.398419"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:none;stroke:#FBB03B;stroke-width:2;stroke-miterlimit:10;}
+ .st1{fill:#E6E6E6;stroke:#000000;stroke-miterlimit:10;}
+ .st2{fill:none;stroke:#000000;stroke-miterlimit:10;}
+</style>
+<line
+ class="st0"
+ x1="6.7533612"
+ y1="38.311905"
+ x2="15.04305"
+ y2="46.830223"
+ id="line4"
+ style="stroke:#d88b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="8.178153"
+ y1="18.746393"
+ x2="8.178153"
+ y2="30.725275"
+ id="line6"
+ style="stroke:#d88b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="2.9970963"
+ y1="18.746393"
+ x2="2.9970963"
+ y2="30.725275"
+ id="line8"
+ style="stroke:#d88b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="19.582573"
+ y1="4.7600694"
+ x2="10.904302"
+ y2="12.745992"
+ id="line10"
+ style="stroke:#d88b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="16.45108"
+ y1="1.2180778"
+ x2="7.7728114"
+ y2="9.2040005"
+ id="line12"
+ style="stroke:#d88b0d;stroke-opacity:1" />
+<line
+ class="st0"
+ x1="10.380101"
+ y1="34.58514"
+ x2="18.669794"
+ y2="43.103458"
+ id="line14"
+ style="stroke:#d88b0d;stroke-opacity:1" />
+<path
+ class="st1"
+ d="m 46.517967,24.203441 c 0,9.982403 -7.90111,18.500721 -18.004169,18.500721 -9.973534,0 -18.00417,-8.252121 -18.00417,-18.500721 0,-10.248599 8.030636,-18.5007199 18.00417,-18.5007199 9.973532,0.1330987 18.004169,8.3852179 18.004169,18.5007199 z"
+ id="path16"
+ style="stroke-width:2.15294;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="10.768679"
+ y1="21.344675"
+ x2="0.40656796"
+ y2="21.344675"
+ id="line18"
+ style="stroke-width:2.15294;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="10.940621"
+ y1="28.126999"
+ x2="0.5785107"
+ y2="28.126999"
+ id="line20"
+ style="stroke-width:2.15294;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="19.363255"
+ y1="8.8333969"
+ x2="12.627881"
+ y2="1.1136714"
+ id="line22"
+ style="stroke-width:2.15294;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="14.652196"
+ y1="12.867775"
+ x2="7.9168205"
+ y2="5.1480484"
+ id="line24"
+ style="stroke-width:2.15294;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="13.745509"
+ y1="35.100971"
+ x2="6.6215572"
+ y2="42.288296"
+ id="line26"
+ style="stroke-width:2.15294;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="18.067993"
+ y1="39.831398"
+ x2="11.203092"
+ y2="46.885635"
+ id="line28"
+ style="stroke-width:2.15294;stroke-miterlimit:10;stroke-dasharray:none" />
+<rect
+ style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.703957;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="rect859"
+ width="9.630374"
+ height="35.045143"
+ x="23.639217"
+ y="6.6410065"
+ ry="0.080878146" /><line
+ class="st2"
+ x1="23.63274"
+ y1="6.7675104"
+ x2="23.63274"
+ y2="41.373177"
+ id="line30"
+ style="stroke-width:2.15294;stroke-miterlimit:10;stroke-dasharray:none" />
+<line
+ class="st2"
+ x1="33.276073"
+ y1="6.7675104"
+ x2="33.276073"
+ y2="41.373177"
+ id="line32"
+ style="stroke-width:2.15294;stroke-miterlimit:10;stroke-dasharray:none" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/undo.svg b/app/bin/bitmaps/SVG/undo.svg
new file mode 100644
index 0000000..290e251
--- /dev/null
+++ b/app/bin/bitmaps/SVG/undo.svg
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="undo.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata11"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs9" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1460"
+ inkscape:window-height="1008"
+ id="namedview7"
+ showgrid="false"
+ inkscape:zoom="11.681573"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:#FFFB08;stroke:#FFB70D;stroke-miterlimit:10;}
+</style>
+<path
+ class="st0"
+ d="m 39.482834,43.517164 c 1.173815,0.108926 1.027088,0.108926 3.374724,0.108926 0,-12.526448 -3.814907,-32.024137 -23.329622,-32.350913 C 19.234483,8.1163325 19.381208,5.2842659 19.381208,5.2842659 L 5.8823095,14.216167 19.821391,24.346253 c 0,0 -0.293455,-2.50529 -0.293455,-6.099836 13.792355,-0.108926 19.367988,16.338846 19.954898,25.270747 z"
+ id="path4"
+ style="fill:#ffd000;fill-opacity:1;stroke:#a5690d;stroke-width:1.963;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/zoom-choose.svg b/app/bin/bitmaps/SVG/zoom-choose.svg
new file mode 100644
index 0000000..1f41ba8
--- /dev/null
+++ b/app/bin/bitmaps/SVG/zoom-choose.svg
@@ -0,0 +1,359 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="zoom-choose.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata1134"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1132">
+
+ <defs
+ id="defs999">
+ <filter
+ id="Adobe_OpacityMaskFilter"
+ filterUnits="userSpaceOnUse"
+ x="24.3"
+ y="25"
+ width="17.5"
+ height="19.2">
+ <feFlood
+ style="flood-color:white;flood-opacity:1"
+ result="back"
+ id="feFlood994" />
+ <feBlend
+ in="SourceGraphic"
+ in2="back"
+ mode="normal"
+ id="feBlend996" />
+ </filter>
+ </defs>
+ <mask
+ maskUnits="userSpaceOnUse"
+ x="24.3"
+ y="25"
+ width="17.5"
+ height="19.2"
+ id="SVGID_1_">
+ <g
+ class="st2"
+ id="g1003">
+
+ <image
+ style="overflow:visible;"
+ width="22"
+ height="25"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAGKAAABqwAAAe7/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIABkAFgMBIgACEQEDEQH/ xAB3AAEAAwEBAAAAAAAAAAAAAAAAAwQFAgYBAQAAAAAAAAAAAAAAAAAAAAAQAAICAwEBAAAAAAAA AAAAAAMEAQIAIBEQFBEBAAEDAwQDAAAAAAAAAAAAAQIAITEQEVEgQTIDEiIEEgEAAAAAAAAAAAAA AAAAAAAg/9oADAMBAAIRAxEAAADw8HegZYE8Asqw/9oACAECAAEFANP/2gAIAQMAAQUA0//aAAgB AQABBQBZSWK2rNbYA1wEbCJsPJ7ijNlySwL6/f/aAAgBAgIGPwAf/9oACAEDAgY/AB//2gAIAQEB Bj8AkxlsmCmMjZLOhOLjJyUfo9F5nkFbd+NPlmL5FHuI/QunNuj/2Q=="
+ transform="matrix(1 0 0 1 22 22)"
+ id="image1001">
+ </image>
+ </g>
+ </mask>
+
+</defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1518"
+ inkscape:window-height="932"
+ id="namedview1130"
+ showgrid="false"
+ inkscape:zoom="10.897825"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style986">
+ .st0{fill:#FFFFFF;}
+ .st1{fill:none;stroke:#945F00;stroke-width:5;stroke-miterlimit:10;}
+ .st2{filter:url(#Adobe_OpacityMaskFilter);}
+ .st3{opacity:0.8;mask:url(#SVGID_1_);}
+ .st4{fill:none;stroke:#FFFFFF;stroke-width:5;stroke-miterlimit:10;}
+ .st5{fill:url(#SVGID_2_);stroke:#000000;stroke-miterlimit:10;}
+ .st6{fill:url(#SVGID_3_);stroke:#000000;stroke-miterlimit:10;}
+ .st7{fill:url(#SVGID_4_);stroke:#000000;stroke-miterlimit:10;}
+ .st8{fill:url(#SVGID_5_);stroke:#000000;stroke-miterlimit:10;}
+ .st9{fill:url(#SVGID_6_);stroke:#000000;stroke-miterlimit:10;}
+</style>
+<path
+ style="fill:#666666;fill-opacity:1;stroke:#000000;stroke-width:2.07382;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 30.469189,26.52856 C 43.087232,41.302187 43.087232,41.302187 43.087232,41.302187 L 39.30182,44.456699 26.788926,29.735647 Z"
+ id="path1710" />
+<linearGradient
+ id="SVGID_2_"
+ gradientUnits="userSpaceOnUse"
+ x1="6.6809001"
+ y1="17.7167"
+ x2="30.5739"
+ y2="17.7167"
+ gradientTransform="matrix(1.0390529,-0.51836526,0.51836526,1.0390529,-8.1831443,10.762406)"
+ xlink:href="#SVGID_3_">
+ <stop
+ offset="1.572120e-02"
+ style="stop-color:#52bdea;stop-opacity:1"
+ id="stop1014" />
+ <stop
+ offset="4.911487e-02"
+ style="stop-color:#51c3f0;stop-opacity:1"
+ id="stop1016" />
+ <stop
+ offset="0.1047"
+ style="stop-color:#75cbf0;stop-opacity:1"
+ id="stop1018" />
+ <stop
+ offset="0.1756"
+ style="stop-color:#9fdbf4;stop-opacity:1"
+ id="stop1020" />
+ <stop
+ offset="0.259"
+ style="stop-color:#AFE0F4"
+ id="stop1022" />
+
+ <stop
+ offset="0.3609"
+ style="stop-color:#FFFFFF"
+ id="stop1026" />
+ <stop
+ offset="0.5079"
+ style="stop-color:#FFFFFF"
+ id="stop1028" />
+ <stop
+ offset="0.84"
+ style="stop-color:#1fbdff;stop-opacity:1"
+ id="stop1030" />
+ <stop
+ offset="0.9944"
+ style="stop-color:#007dd1;stop-opacity:1"
+ id="stop1032" />
+</linearGradient>
+<path
+ class="st5"
+ d="m 31.915477,11.108565 c 1.92652,3.85304 1.92652,8.308118 0.48163,12.04075 -1.324482,3.130595 -3.612225,5.779559 -6.983635,7.465265 C 18.189022,34.226804 9.5196818,31.337024 6.0278649,24.112575 2.4156399,16.888125 5.3054199,8.218786 12.529871,4.6065612 19.633912,1.1147437 28.423659,4.0045236 31.915477,11.108565 Z"
+ id="path1035"
+ style="fill:#b3edff;fill-opacity:1;stroke-width:2.07382;stroke-miterlimit:10;stroke-dasharray:none" />
+<linearGradient
+ id="SVGID_3_"
+ gradientUnits="userSpaceOnUse"
+ x1="7.7722"
+ y1="22.7895"
+ x2="28.6004"
+ y2="12.3985">
+ <stop
+ offset="1.572120e-02"
+ style="stop-color:#29ABE2"
+ id="stop1037" />
+ <stop
+ offset="4.911487e-02"
+ style="stop-color:#32AFE3"
+ id="stop1039" />
+ <stop
+ offset="0.1047"
+ style="stop-color:#4CB9E7"
+ id="stop1041" />
+ <stop
+ offset="0.1756"
+ style="stop-color:#75C9EC"
+ id="stop1043" />
+ <stop
+ offset="0.259"
+ style="stop-color:#AFE0F4"
+ id="stop1045" />
+ <stop
+ offset="0.352"
+ style="stop-color:#F8FCFE"
+ id="stop1047" />
+ <stop
+ offset="0.3609"
+ style="stop-color:#FFFFFF"
+ id="stop1049" />
+ <stop
+ offset="0.5079"
+ style="stop-color:#FFFFFF"
+ id="stop1051" />
+ <stop
+ offset="0.84"
+ style="stop-color:#0075BE"
+ id="stop1053" />
+ <stop
+ offset="0.9944"
+ style="stop-color:#005B97"
+ id="stop1055" />
+</linearGradient>
+
+<linearGradient
+ id="SVGID_4_"
+ gradientUnits="userSpaceOnUse"
+ x1="13.1204"
+ y1="13.1883"
+ x2="15.8946"
+ y2="11.8043">
+ <stop
+ offset="1.572120e-02"
+ style="stop-color:#29ABE2"
+ id="stop1060" />
+ <stop
+ offset="4.911487e-02"
+ style="stop-color:#32AFE3"
+ id="stop1062" />
+ <stop
+ offset="0.1047"
+ style="stop-color:#4CB9E7"
+ id="stop1064" />
+ <stop
+ offset="0.1756"
+ style="stop-color:#75C9EC"
+ id="stop1066" />
+ <stop
+ offset="0.259"
+ style="stop-color:#AFE0F4"
+ id="stop1068" />
+ <stop
+ offset="0.352"
+ style="stop-color:#F8FCFE"
+ id="stop1070" />
+ <stop
+ offset="0.3609"
+ style="stop-color:#FFFFFF"
+ id="stop1072" />
+ <stop
+ offset="0.5079"
+ style="stop-color:#FFFFFF"
+ id="stop1074" />
+ <stop
+ offset="0.84"
+ style="stop-color:#0075BE"
+ id="stop1076" />
+ <stop
+ offset="0.9944"
+ style="stop-color:#005B97"
+ id="stop1078" />
+</linearGradient>
+
+<linearGradient
+ id="SVGID_5_"
+ gradientUnits="userSpaceOnUse"
+ x1="11.7347"
+ y1="13.8796"
+ x2="17.2953"
+ y2="11.1054"
+ xlink:href="#SVGID_4_">
+ <stop
+ offset="1.572120e-02"
+ style="stop-color:#29ABE2"
+ id="stop1083" />
+ <stop
+ offset="4.911487e-02"
+ style="stop-color:#32AFE3"
+ id="stop1085" />
+ <stop
+ offset="0.1047"
+ style="stop-color:#4CB9E7"
+ id="stop1087" />
+ <stop
+ offset="0.1756"
+ style="stop-color:#75C9EC"
+ id="stop1089" />
+ <stop
+ offset="0.259"
+ style="stop-color:#AFE0F4"
+ id="stop1091" />
+ <stop
+ offset="0.352"
+ style="stop-color:#F8FCFE"
+ id="stop1093" />
+ <stop
+ offset="0.3609"
+ style="stop-color:#FFFFFF"
+ id="stop1095" />
+ <stop
+ offset="0.5079"
+ style="stop-color:#FFFFFF"
+ id="stop1097" />
+ <stop
+ offset="0.84"
+ style="stop-color:#0075BE"
+ id="stop1099" />
+ <stop
+ offset="0.9944"
+ style="stop-color:#005B97"
+ id="stop1101" />
+</linearGradient>
+
+<linearGradient
+ id="SVGID_6_"
+ gradientUnits="userSpaceOnUse"
+ x1="19.6297"
+ y1="23.6825"
+ x2="24.396"
+ y2="21.3047">
+ <stop
+ offset="1.572120e-02"
+ style="stop-color:#29ABE2"
+ id="stop1106" />
+ <stop
+ offset="4.911487e-02"
+ style="stop-color:#32AFE3"
+ id="stop1108" />
+ <stop
+ offset="0.1047"
+ style="stop-color:#4CB9E7"
+ id="stop1110" />
+ <stop
+ offset="0.1756"
+ style="stop-color:#75C9EC"
+ id="stop1112" />
+ <stop
+ offset="0.259"
+ style="stop-color:#AFE0F4"
+ id="stop1114" />
+ <stop
+ offset="0.352"
+ style="stop-color:#F8FCFE"
+ id="stop1116" />
+ <stop
+ offset="0.3609"
+ style="stop-color:#FFFFFF"
+ id="stop1118" />
+ <stop
+ offset="0.5079"
+ style="stop-color:#FFFFFF"
+ id="stop1120" />
+ <stop
+ offset="0.84"
+ style="stop-color:#0075BE"
+ id="stop1122" />
+ <stop
+ offset="0.9944"
+ style="stop-color:#005B97"
+ id="stop1124" />
+</linearGradient>
+
+<path
+ style="fill:#666666;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 10.600075,13.283643 16.841287,-0.09515 -8.322107,11.700035 -8.51918,-11.604886"
+ id="path2931"
+ sodipodi:nodetypes="cccc" /></svg>
diff --git a/app/bin/bitmaps/SVG/zoom-extent.svg b/app/bin/bitmaps/SVG/zoom-extent.svg
new file mode 100644
index 0000000..9ee2521
--- /dev/null
+++ b/app/bin/bitmaps/SVG/zoom-extent.svg
@@ -0,0 +1,247 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="zoom-extent.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><g
+ id="Arrow"
+ transform="translate(1.5215336,-2.0964614)"
+ style="stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none"><path
+ style="fill:none;stroke:#ca0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 33.382137,5.0600292 h 9.979502 v 9.9795018"
+ id="path1844" /><path
+ style="fill:none;stroke:#ca0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="M 43.361639,5.0600292 32.011712,16.409956"
+ id="path1846" /></g><metadata
+ id="metadata1039"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1037" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1438"
+ inkscape:window-height="939"
+ id="namedview1035"
+ showgrid="false"
+ inkscape:zoom="10.785861"
+ inkscape:cx="23.966561"
+ inkscape:cy="23.966561"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0"
+ inkscape:pagecheckerboard="0" />
+<style
+ type="text/css"
+ id="style937">
+ .st0{fill:#FFFFFF;}
+ .st1{fill:none;stroke:#945F00;stroke-width:5;stroke-miterlimit:10;}
+ .st2{filter:url(#Adobe_OpacityMaskFilter);}
+ .st3{opacity:0.8;mask:url(#SVGID_1_);}
+ .st4{fill:none;stroke:#FFFFFF;stroke-width:5;stroke-miterlimit:10;}
+ .st5{fill:url(#SVGID_2_);stroke:#000000;stroke-miterlimit:10;}
+ .st6{fill:url(#SVGID_3_);stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st7{fill:url(#SVGID_4_);stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+</style>
+<path
+ style="fill:#666666;fill-opacity:1;stroke:#000000;stroke-width:1.38314;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 26.807491,30.152391 3.639939,9.748731 -2.389668,0.880794 -3.660943,-9.793294 z"
+ id="path2383"
+ inkscape:transform-center-x="0.27963193"
+ inkscape:transform-center-y="0.33444225" />
+<linearGradient
+ id="SVGID_2_"
+ gradientUnits="userSpaceOnUse"
+ x1="6.6809"
+ y1="17.7167"
+ x2="30.5739"
+ y2="17.7167"
+ gradientTransform="matrix(0.35443348,-0.50978148,0.50978148,0.35443348,8.5305438,27.058238)">
+ <stop
+ offset="1.572120e-02"
+ style="stop-color:#29ABE2"
+ id="stop965" />
+ <stop
+ offset="4.911487e-02"
+ style="stop-color:#32AFE3"
+ id="stop967" />
+ <stop
+ offset="0.1047"
+ style="stop-color:#4CB9E7"
+ id="stop969" />
+ <stop
+ offset="0.1756"
+ style="stop-color:#75C9EC"
+ id="stop971" />
+ <stop
+ offset="0.259"
+ style="stop-color:#AFE0F4"
+ id="stop973" />
+
+ <stop
+ offset="0.3609"
+ style="stop-color:#FFFFFF"
+ id="stop977" />
+ <stop
+ offset="0.5079"
+ style="stop-color:#FFFFFF"
+ id="stop979" />
+ <stop
+ offset="0.84"
+ style="stop-color:#3db3ff;stop-opacity:1"
+ id="stop981" />
+ <stop
+ offset="0.9944"
+ style="stop-color:#006bb2;stop-opacity:1"
+ id="stop983" />
+</linearGradient>
+<path
+ class="st5"
+ d="m 27.200894,16.579117 c 1.875189,1.301268 3.007906,3.372217 3.285275,5.474703 0.180276,1.792015 -0.20968,3.605055 -1.34829,5.245847 -2.43988,3.515982 -7.204566,4.376865 -10.664579,1.906373 -3.515982,-2.43988 -4.376864,-7.204569 -1.936984,-10.720551 2.414522,-3.429398 7.235182,-4.320893 10.664578,-1.906372 z"
+ id="path986"
+ style="fill:#b3edff;fill-opacity:1;stroke-width:1.23298;stroke-miterlimit:10;stroke-dasharray:none" />
+<linearGradient
+ id="SVGID_3_"
+ gradientUnits="userSpaceOnUse"
+ x1="14.8466"
+ y1="18.5732"
+ x2="21.1876"
+ y2="15.4097">
+ <stop
+ offset="1.572120e-02"
+ style="stop-color:#29ABE2"
+ id="stop988" />
+ <stop
+ offset="4.911487e-02"
+ style="stop-color:#32AFE3"
+ id="stop990" />
+ <stop
+ offset="0.1047"
+ style="stop-color:#4CB9E7"
+ id="stop992" />
+ <stop
+ offset="0.1756"
+ style="stop-color:#75C9EC"
+ id="stop994" />
+ <stop
+ offset="0.259"
+ style="stop-color:#AFE0F4"
+ id="stop996" />
+ <stop
+ offset="0.352"
+ style="stop-color:#F8FCFE"
+ id="stop998" />
+ <stop
+ offset="0.3609"
+ style="stop-color:#FFFFFF"
+ id="stop1000" />
+ <stop
+ offset="0.5079"
+ style="stop-color:#FFFFFF"
+ id="stop1002" />
+ <stop
+ offset="0.84"
+ style="stop-color:#0075BE"
+ id="stop1004" />
+ <stop
+ offset="0.9944"
+ style="stop-color:#005B97"
+ id="stop1006" />
+</linearGradient>
+
+<linearGradient
+ id="SVGID_4_"
+ gradientUnits="userSpaceOnUse"
+ x1="11.6793"
+ y1="20.1534"
+ x2="24.3893"
+ y2="13.8124">
+ <stop
+ offset="1.572120e-02"
+ style="stop-color:#29ABE2"
+ id="stop1011" />
+ <stop
+ offset="4.911487e-02"
+ style="stop-color:#32AFE3"
+ id="stop1013" />
+ <stop
+ offset="0.1047"
+ style="stop-color:#4CB9E7"
+ id="stop1015" />
+ <stop
+ offset="0.1756"
+ style="stop-color:#75C9EC"
+ id="stop1017" />
+ <stop
+ offset="0.259"
+ style="stop-color:#AFE0F4"
+ id="stop1019" />
+ <stop
+ offset="0.352"
+ style="stop-color:#F8FCFE"
+ id="stop1021" />
+ <stop
+ offset="0.3609"
+ style="stop-color:#FFFFFF"
+ id="stop1023" />
+ <stop
+ offset="0.5079"
+ style="stop-color:#FFFFFF"
+ id="stop1025" />
+ <stop
+ offset="0.84"
+ style="stop-color:#0075BE"
+ id="stop1027" />
+ <stop
+ offset="0.9944"
+ style="stop-color:#005B97"
+ id="stop1029" />
+</linearGradient>
+
+<g
+ id="Arrow-9"
+ transform="matrix(-1,0,0,1,46.70979,-1.957852)"
+ style="stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none"><path
+ style="fill:none;stroke:#ca0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 33.382137,5.0600292 h 9.979502 v 9.9795018"
+ id="path1844-3" /><path
+ style="fill:none;stroke:#ca0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="M 43.361639,5.0600292 32.011712,16.409956"
+ id="path1846-2" /></g><g
+ id="Arrow-9-0"
+ transform="rotate(180,23.135813,25.105294)"
+ style="stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none"><path
+ style="fill:none;stroke:#ca0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 33.382137,5.0600292 h 9.979502 v 9.9795018"
+ id="path1844-3-1" /><path
+ style="fill:none;stroke:#ca0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="M 43.361639,5.0600292 32.011712,16.409956"
+ id="path1846-2-6" /></g><g
+ id="Arrow-9-9"
+ transform="matrix(1,0,0,-1,1.7537799,50.14328)"
+ style="stroke-width:3;stroke-miterlimit:10;stroke-dasharray:none"><path
+ style="fill:none;stroke:#ca0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="m 33.382137,5.0600292 h 9.979502 v 9.9795018"
+ id="path1844-3-9" /><path
+ style="fill:none;stroke:#ca0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ d="M 43.361639,5.0600292 32.011712,16.409956"
+ id="path1846-2-9" /></g></svg>
diff --git a/app/bin/bitmaps/SVG/zoom-in.svg b/app/bin/bitmaps/SVG/zoom-in.svg
new file mode 100644
index 0000000..8c9a883
--- /dev/null
+++ b/app/bin/bitmaps/SVG/zoom-in.svg
@@ -0,0 +1,222 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="zoom-in.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata1039"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1037" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1440"
+ inkscape:window-height="939"
+ id="namedview1035"
+ showgrid="false"
+ inkscape:zoom="14.229167"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style937">
+ .st0{fill:#FFFFFF;}
+ .st1{fill:none;stroke:#945F00;stroke-width:5;stroke-miterlimit:10;}
+ .st2{filter:url(#Adobe_OpacityMaskFilter);}
+ .st3{opacity:0.8;mask:url(#SVGID_1_);}
+ .st4{fill:none;stroke:#FFFFFF;stroke-width:5;stroke-miterlimit:10;}
+ .st5{fill:url(#SVGID_2_);stroke:#000000;stroke-miterlimit:10;}
+ .st6{fill:url(#SVGID_3_);stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st7{fill:url(#SVGID_4_);stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+</style>
+<path
+ style="fill:#666666;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
+ d="M 30.073634,26.309814 43.199281,41.81576 39.390804,45.01216 26.197147,29.438204 Z"
+ id="path2383" />
+<linearGradient
+ id="SVGID_2_"
+ gradientUnits="userSpaceOnUse"
+ x1="6.6809"
+ y1="17.7167"
+ x2="30.5739"
+ y2="17.7167"
+ gradientTransform="matrix(0.8948 -0.4464 0.4464 0.8948 -6.2541 9.9583)">
+ <stop
+ offset="1.572120e-02"
+ style="stop-color:#29ABE2"
+ id="stop965" />
+ <stop
+ offset="4.911487e-02"
+ style="stop-color:#32AFE3"
+ id="stop967" />
+ <stop
+ offset="0.1047"
+ style="stop-color:#4CB9E7"
+ id="stop969" />
+ <stop
+ offset="0.1756"
+ style="stop-color:#75C9EC"
+ id="stop971" />
+ <stop
+ offset="0.259"
+ style="stop-color:#AFE0F4"
+ id="stop973" />
+
+ <stop
+ offset="0.3609"
+ style="stop-color:#FFFFFF"
+ id="stop977" />
+ <stop
+ offset="0.5079"
+ style="stop-color:#FFFFFF"
+ id="stop979" />
+ <stop
+ offset="0.84"
+ style="stop-color:#3db3ff;stop-opacity:1"
+ id="stop981" />
+ <stop
+ offset="0.9944"
+ style="stop-color:#006bb2;stop-opacity:1"
+ id="stop983" />
+</linearGradient>
+<path
+ class="st5"
+ d="m 31.708262,10.530367 c 1.91834,3.836679 1.91834,8.27284 0.479585,11.989623 -1.318858,3.117302 -3.596887,5.755019 -6.953981,7.433566 C 18.040093,33.550442 9.4075646,30.672933 5.9305742,23.47916 2.3336874,16.285386 5.2111968,7.652858 12.40497,4.0559712 19.478848,0.57898069 28.231272,3.4564902 31.708262,10.530367 Z"
+ id="path986"
+ style="fill:#b3edff;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none;fill-opacity:1" />
+<linearGradient
+ id="SVGID_3_"
+ gradientUnits="userSpaceOnUse"
+ x1="14.8466"
+ y1="18.5732"
+ x2="21.1876"
+ y2="15.4097">
+ <stop
+ offset="1.572120e-02"
+ style="stop-color:#29ABE2"
+ id="stop988" />
+ <stop
+ offset="4.911487e-02"
+ style="stop-color:#32AFE3"
+ id="stop990" />
+ <stop
+ offset="0.1047"
+ style="stop-color:#4CB9E7"
+ id="stop992" />
+ <stop
+ offset="0.1756"
+ style="stop-color:#75C9EC"
+ id="stop994" />
+ <stop
+ offset="0.259"
+ style="stop-color:#AFE0F4"
+ id="stop996" />
+ <stop
+ offset="0.352"
+ style="stop-color:#F8FCFE"
+ id="stop998" />
+ <stop
+ offset="0.3609"
+ style="stop-color:#FFFFFF"
+ id="stop1000" />
+ <stop
+ offset="0.5079"
+ style="stop-color:#FFFFFF"
+ id="stop1002" />
+ <stop
+ offset="0.84"
+ style="stop-color:#0075BE"
+ id="stop1004" />
+ <stop
+ offset="0.9944"
+ style="stop-color:#005B97"
+ id="stop1006" />
+</linearGradient>
+<line
+ class="st6"
+ x1="19.011627"
+ y1="7.305531"
+ x2="19.011627"
+ y2="26.488928"
+ id="line1009"
+ style="fill:url(#SVGID_3_);stroke-width:4.532;stroke-miterlimit:10;stroke-dasharray:none" />
+<linearGradient
+ id="SVGID_4_"
+ gradientUnits="userSpaceOnUse"
+ x1="11.6793"
+ y1="20.1534"
+ x2="24.3893"
+ y2="13.8124">
+ <stop
+ offset="1.572120e-02"
+ style="stop-color:#29ABE2"
+ id="stop1011" />
+ <stop
+ offset="4.911487e-02"
+ style="stop-color:#32AFE3"
+ id="stop1013" />
+ <stop
+ offset="0.1047"
+ style="stop-color:#4CB9E7"
+ id="stop1015" />
+ <stop
+ offset="0.1756"
+ style="stop-color:#75C9EC"
+ id="stop1017" />
+ <stop
+ offset="0.259"
+ style="stop-color:#AFE0F4"
+ id="stop1019" />
+ <stop
+ offset="0.352"
+ style="stop-color:#F8FCFE"
+ id="stop1021" />
+ <stop
+ offset="0.3609"
+ style="stop-color:#FFFFFF"
+ id="stop1023" />
+ <stop
+ offset="0.5079"
+ style="stop-color:#FFFFFF"
+ id="stop1025" />
+ <stop
+ offset="0.84"
+ style="stop-color:#0075BE"
+ id="stop1027" />
+ <stop
+ offset="0.9944"
+ style="stop-color:#005B97"
+ id="stop1029" />
+</linearGradient>
+<line
+ class="st7"
+ x1="9.4199266"
+ y1="17.192142"
+ x2="28.603325"
+ y2="17.192142"
+ id="line1032"
+ style="fill:url(#SVGID_4_);stroke-width:4.53151;stroke-miterlimit:10;stroke-dasharray:none" />
+</svg>
diff --git a/app/bin/bitmaps/SVG/zoom-out.svg b/app/bin/bitmaps/SVG/zoom-out.svg
new file mode 100644
index 0000000..a476985
--- /dev/null
+++ b/app/bin/bitmaps/SVG/zoom-out.svg
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 48 48"
+ style="enable-background:new 0 0 48 48;"
+ xml:space="preserve"
+ sodipodi:docname="zoom-out.svg"
+ inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
+ id="metadata1039"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+ id="defs1037" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1443"
+ inkscape:window-height="939"
+ id="namedview1035"
+ showgrid="false"
+ inkscape:zoom="14.229167"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"
+ inkscape:document-rotation="0" />
+<style
+ type="text/css"
+ id="style937">
+ .st0{fill:#FFFFFF;}
+ .st1{fill:none;stroke:#945F00;stroke-width:5;stroke-miterlimit:10;}
+ .st2{filter:url(#Adobe_OpacityMaskFilter);}
+ .st3{opacity:0.8;mask:url(#SVGID_1_);}
+ .st4{fill:none;stroke:#FFFFFF;stroke-width:5;stroke-miterlimit:10;}
+ .st5{fill:url(#SVGID_2_);stroke:#000000;stroke-miterlimit:10;}
+ .st6{fill:url(#SVGID_3_);stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+ .st7{fill:url(#SVGID_4_);stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
+</style>
+<path
+ style="fill:#666666;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
+ d="M 30.073634,26.309814 43.199281,41.81576 39.390804,45.01216 26.197147,29.438204 Z"
+ id="path2383" />
+<linearGradient
+ id="SVGID_2_"
+ gradientUnits="userSpaceOnUse"
+ x1="6.6809"
+ y1="17.7167"
+ x2="30.5739"
+ y2="17.7167"
+ gradientTransform="matrix(0.8948 -0.4464 0.4464 0.8948 -6.2541 9.9583)">
+ <stop
+ offset="1.572120e-02"
+ style="stop-color:#29ABE2"
+ id="stop965" />
+ <stop
+ offset="4.911487e-02"
+ style="stop-color:#32AFE3"
+ id="stop967" />
+ <stop
+ offset="0.1047"
+ style="stop-color:#4CB9E7"
+ id="stop969" />
+ <stop
+ offset="0.1756"
+ style="stop-color:#75C9EC"
+ id="stop971" />
+ <stop
+ offset="0.259"
+ style="stop-color:#AFE0F4"
+ id="stop973" />
+
+ <stop
+ offset="0.3609"
+ style="stop-color:#FFFFFF"
+ id="stop977" />
+ <stop
+ offset="0.5079"
+ style="stop-color:#FFFFFF"
+ id="stop979" />
+ <stop
+ offset="0.84"
+ style="stop-color:#3db3ff;stop-opacity:1"
+ id="stop981" />
+ <stop
+ offset="0.9944"
+ style="stop-color:#006bb2;stop-opacity:1"
+ id="stop983" />
+</linearGradient>
+<path
+ class="st5"
+ d="m 31.708262,10.530367 c 1.91834,3.836679 1.91834,8.27284 0.479585,11.989623 -1.318858,3.117302 -3.596887,5.755019 -6.953981,7.433566 C 18.040093,33.550442 9.4075646,30.672933 5.9305742,23.47916 2.3336874,16.285386 5.2111968,7.652858 12.40497,4.0559712 19.478848,0.57898069 28.231272,3.4564902 31.708262,10.530367 Z"
+ id="path986"
+ style="fill:#b3edff;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:none;fill-opacity:1" />
+<linearGradient
+ id="SVGID_3_"
+ gradientUnits="userSpaceOnUse"
+ x1="14.8466"
+ y1="18.5732"
+ x2="21.1876"
+ y2="15.4097">
+ <stop
+ offset="1.572120e-02"
+ style="stop-color:#29ABE2"
+ id="stop988" />
+ <stop
+ offset="4.911487e-02"
+ style="stop-color:#32AFE3"
+ id="stop990" />
+ <stop
+ offset="0.1047"
+ style="stop-color:#4CB9E7"
+ id="stop992" />
+ <stop
+ offset="0.1756"
+ style="stop-color:#75C9EC"
+ id="stop994" />
+ <stop
+ offset="0.259"
+ style="stop-color:#AFE0F4"
+ id="stop996" />
+ <stop
+ offset="0.352"
+ style="stop-color:#F8FCFE"
+ id="stop998" />
+ <stop
+ offset="0.3609"
+ style="stop-color:#FFFFFF"
+ id="stop1000" />
+ <stop
+ offset="0.5079"
+ style="stop-color:#FFFFFF"
+ id="stop1002" />
+ <stop
+ offset="0.84"
+ style="stop-color:#0075BE"
+ id="stop1004" />
+ <stop
+ offset="0.9944"
+ style="stop-color:#005B97"
+ id="stop1006" />
+</linearGradient>
+
+<linearGradient
+ id="SVGID_4_"
+ gradientUnits="userSpaceOnUse"
+ x1="11.6793"
+ y1="20.1534"
+ x2="24.3893"
+ y2="13.8124">
+ <stop
+ offset="1.572120e-02"
+ style="stop-color:#29ABE2"
+ id="stop1011" />
+ <stop
+ offset="4.911487e-02"
+ style="stop-color:#32AFE3"
+ id="stop1013" />
+ <stop
+ offset="0.1047"
+ style="stop-color:#4CB9E7"
+ id="stop1015" />
+ <stop
+ offset="0.1756"
+ style="stop-color:#75C9EC"
+ id="stop1017" />
+ <stop
+ offset="0.259"
+ style="stop-color:#AFE0F4"
+ id="stop1019" />
+ <stop
+ offset="0.352"
+ style="stop-color:#F8FCFE"
+ id="stop1021" />
+ <stop
+ offset="0.3609"
+ style="stop-color:#FFFFFF"
+ id="stop1023" />
+ <stop
+ offset="0.5079"
+ style="stop-color:#FFFFFF"
+ id="stop1025" />
+ <stop
+ offset="0.84"
+ style="stop-color:#0075BE"
+ id="stop1027" />
+ <stop
+ offset="0.9944"
+ style="stop-color:#005B97"
+ id="stop1029" />
+</linearGradient>
+<line
+ class="st7"
+ x1="9.4199266"
+ y1="17.192142"
+ x2="28.603325"
+ y2="17.192142"
+ id="line1032"
+ style="fill:url(#SVGID_4_);stroke-width:4.53151;stroke-miterlimit:10;stroke-dasharray:none" />
+</svg>
diff --git a/app/bin/bitmaps/above.xpm b/app/bin/bitmaps/above.xpm
deleted file mode 100644
index 07f5daf..0000000
--- a/app/bin/bitmaps/above.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * above_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-" ",
-" ..........",
-" ..... . . . .",
-" ..XXX... . . ..",
-" .XXXXXX.. . . .",
-".XXXXXXX. . . ..",
-".XXXXXXXX. . . .",
-".XXXXXXXX.. . ..",
-".XXXXXXXX. . . .",
-".XXXXXXX. . . ..",
-" .XXXXXX.. . . .",
-" ..XXX... . . ..",
-" ..... . . . .",
-" ..........",
-" ",
-" "};
diff --git a/app/bin/bitmaps/background.xpm b/app/bin/bitmaps/background.xpm
index 4859734..2e8a141 100644
--- a/app/bin/bitmaps/background.xpm
+++ b/app/bin/bitmaps/background.xpm
@@ -1,155 +1,157 @@
-/* XPM */
-static char *background[] = {
-/* columns rows colors chars-per-pixel */
-"16 16 133 2 ",
-" c #0B2B2B",
-". c #183A3A",
-"X c #789757",
-"o c #799358",
-"O c #7E9068",
-"+ c #86A068",
-"@ c #9BA77A",
-"# c #99B073",
-"$ c #9DB777",
-"% c #98B67E",
-"& c #A6BD7F",
-"* c #A4BE7E",
-"= c #77AAA8",
-"- c #5FA7D7",
-"; c #58A1DB",
-": c #59A2DB",
-"> c #5AA3DA",
-", c #5BA4DB",
-"< c #5CA4D9",
-"1 c #5DA5DB",
-"2 c #66ACD3",
-"3 c #62A9D5",
-"4 c #69AED1",
-"5 c #60A9DB",
-"6 c #63ACDB",
-"7 c #64ACDA",
-"8 c #66AFDB",
-"9 c #62ACDE",
-"0 c #67B0DC",
-"q c #67B0DE",
-"w c #68B1DB",
-"e c #6BB4DB",
-"r c #6EB7DB",
-"t c #6FBADF",
-"y c #71B9DB",
-"u c #71BADB",
-"i c #74BEDE",
-"p c #6FBAE0",
-"a c #6EB9E3",
-"s c #73BEE3",
-"d c #74BEE0",
-"f c #72BEE4",
-"g c #70BCE7",
-"h c #6BBFFF",
-"j c #7CC9E9",
-"k c #7CCAEC",
-"l c #6EC2FF",
-"z c #6FC4FF",
-"x c #73C8FF",
-"c c #74C9FF",
-"v c #78CDFF",
-"b c #79CEFF",
-"n c #7DD2FF",
-"m c #7ED3FF",
-"M c #809786",
-"N c #84AC98",
-"B c #93A492",
-"V c #A1AD8E",
-"C c #A3B587",
-"Z c #A7B787",
-"A c #ABB584",
-"S c #A2B389",
-"D c #A3B988",
-"F c #A8BA94",
-"G c #ACBD97",
-"H c #B5BC90",
-"J c #8EA8A8",
-"K c #97BEAB",
-"L c #8BADB7",
-"P c #80B2B8",
-"I c #91B5B6",
-"U c #AFBFA9",
-"Y c #A4C182",
-"T c #B5C987",
-"R c #B2C088",
-"E c #BAD08E",
-"W c #AFC491",
-"Q c #B6CB97",
-"! c #BED190",
-"~ c #AFCEAA",
-"^ c #BBCAA0",
-"/ c #BECFA1",
-"( c #BDCEA7",
-") c #B5C7A9",
-"_ c #BFD0AE",
-"` c #BFD1AF",
-"' c #A8CDBF",
-"] c #C2CC95",
-"[ c #C7D798",
-"{ c #C3D19D",
-"} c #C6D898",
-"| c #CDD8A6",
-" . c #D0DDA6",
-".. c #C4DCB6",
-"X. c #D3E0A2",
-"o. c #D0E4B9",
-"O. c #DBE5B9",
-"+. c #D9E5BD",
-"@. c #E2ECB3",
-"#. c #E4EDB0",
-"$. c #87B8C5",
-"%. c #96CFDB",
-"&. c #9CD1D5",
-"*. c #98D1DF",
-"=. c #A4CDC4",
-"-. c #ADD7D0",
-";. c #B0D1D5",
-":. c #82D6FF",
-">. c #83D7FF",
-",. c #83D8FF",
-"<. c #8CDEFF",
-"1. c #95DEFC",
-"2. c #99E1F6",
-"3. c #A8E4ED",
-"4. c #B6E6E2",
-"5. c #BDEAE6",
-"6. c #ADE7F8",
-"7. c #E2EBCA",
-"8. c #E2F3F3",
-"9. c #E4F4F4",
-"0. c #E6F5F5",
-"q. c #E9F6F6",
-"w. c #EBF7F7",
-"e. c #E9F9F9",
-"r. c #EEF8F8",
-"t. c #F1F9F9",
-"y. c #F4FBFB",
-"u. c #F7FCFC",
-"i. c #F9FDFD",
-"p. c #FCFEFE",
-"a. c #FEFFFF",
-"s. c #FFFFFF",
-"d. c None",
-/* pixels */
-"d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.",
-"d.s.s.s.s.s.s.s.s.s.s.s.s.s.d.d.",
-"d.s.; ; , < 5 6 7 w e r r s.d.d.",
-"d.s.; l l 9 x v a m ,.1.k s.d.d.",
-"d.i.< z x q b m j ,.3.5.-.i.d.d.",
-"d.u.- 7 q g p s %.*.%.=.{ u.d.d.",
-"d.y.3 b m t :.5.| @.o...K u.d.d.",
-"d.t.2 m :.i 2.#._ .} ! = t.d.d.",
-"d.w.4 u i k ' ] / W * $ = w.d.d.",
-"d.q.$.<.6.;.7.+.^ ~ D % N q.d.d.",
-"d.w.H O. .R T * D _ ) F I q.d.d.",
-"d.q.A [ ! # Q ( F F ) V L 0.d.d.",
-"d.0.@ Z C S + X o O B M J 0.d.d.",
-". e.8.8.8.8.8.8.8.8.8.8.8.e.. d.",
-"d. d.d.",
-"d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d."
-};
+static char *background_x16[] = {
+ "16 16 23 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #333300",
+ "3 c #333333",
+ "4 c #336666",
+ "5 c #336699",
+ "6 c #339933",
+ "7 c #339966",
+ "8 c #33CC33",
+ "9 c #669966",
+ "A c #66CC66",
+ "B c #66CCFF",
+ "C c #999966",
+ "D c #999999",
+ "E c #99CC66",
+ "F c #99CC99",
+ "G c #99CCCC",
+ "H c #CC9999",
+ "I c #CCCC99",
+ "J c #FFCC99",
+ "K c #FFCCCC",
+ "L c #C0C0C0",
+ "3333333333333333",
+ "5BBBBBBBBDCCCCC0",
+ "5BBBBBBBBHC69HH0",
+ "5BBBBBBBBH966CH0",
+ "5BBBBBBBFED99HH0",
+ "5BBBBBGD88AHHHH0",
+ "5BBGLHHD88AIHHH0",
+ "5BGDCHHHIEIIIIH0",
+ "4GH77CHIIIIIIII0",
+ "2HH77CIIIJKKIII0",
+ "2HHDCFIIKKKKIIH0",
+ "2HHHE88EKKKJIIH0",
+ "2C9CE88EIKJIIIH0",
+ "2666CAAIIIIIIHH0",
+ "2969HHHHIIIHHHH0",
+ "2011000000000000"};
+
+static char *background_x24[] = {
+ "24 24 23 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333333",
+ "3 c #339933",
+ "4 c #339966",
+ "5 c #33CC33",
+ "6 c #666666",
+ "7 c #669966",
+ "8 c #6699CC",
+ "9 c #66CC66",
+ "A c #66CCFF",
+ "B c #996666",
+ "C c #999966",
+ "D c #999999",
+ "E c #99CC66",
+ "F c #99CC99",
+ "G c #99CCCC",
+ "H c #CC9999",
+ "I c #CCCC99",
+ "J c #FFCC99",
+ "K c #FFCCCC",
+ "L c #C0C0C0",
+ " 0000000000000000000000 ",
+ "28888888888888BBBBBBBB62",
+ "2AAAAAAAAAAAAAHHHHCHHHC2",
+ "2AAAAAAAAAAAAGHH733CHHC2",
+ "2AAAAAAAAAAAALH73337HHC2",
+ "2AAAAAAAAAAAAHHC3333HHC2",
+ "2AAAAAAAAAAAFDEH733CHHC2",
+ "2AAAAAAAAAGH9559HDHHHHC2",
+ "2AAAAAAAAGHE5555HHHHHHC2",
+ "2AAAAAGHHHHE5555IIHHHHC2",
+ "2AAAGHHHHHHHE55IIIIIHHC2",
+ "2AAGH77HHHHIIIIIIIIIIHC2",
+ "2AGH7444HHIIIIIIIIIIIIC2",
+ "2CHH7444HHIIIIIKKKIIIIC2",
+ "2CHHC447HIIIIJKKKKIIIIC2",
+ "2CHHHCCCHIIIJKKKKKIIIIC2",
+ "2CHHHHHE55EIKKKKKJIIIHC2",
+ "2CHHHHE5555IKKKKKIIIIHC2",
+ "2CC73HH5555IIKKKIIIIHHC2",
+ "2C3333C9559IIIIIIIIIHHC2",
+ "2C3333CH9EIIIIIIIIIHHHC2",
+ "2C3337DHHHHIIIIIIHHHHHC2",
+ "2BC77CCCCCCCCCCCCCCCCCC2",
+ "122222222222222222222222"};
+
+static char *background_x32[] = {
+ "32 32 28 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #336666",
+ "3 c #339933",
+ "4 c #339966",
+ "5 c #33CC33",
+ "6 c #33CC66",
+ "7 c #663333",
+ "8 c #666633",
+ "9 c #666666",
+ "A c #666699",
+ "B c #669966",
+ "C c #6699CC",
+ "D c #66CC66",
+ "E c #66CCFF",
+ "F c #996666",
+ "G c #999966",
+ "H c #999999",
+ "I c #99CC66",
+ "J c #99CC99",
+ "K c #99CCCC",
+ "L c #CC9999",
+ "M c #CCCC99",
+ "N c #FFCC99",
+ "O c #FFCCCC",
+ "P c #C0C0C0",
+ "Q c #808080",
+ " ",
+ "02AAAAAAAAAAAAAAAA97777777777710",
+ "0CEEEEEEEEEEEEEEEEKLLLLLLLLLLLF0",
+ "0CEEEEEEEEEEEEEEEELLLLGGGLLLLLF0",
+ "0CEEEEEEEEEEEEEEEELLLG333GLLLLF0",
+ "0CEEEEEEEEEEEEEEEELLG33333GLLLF0",
+ "0CEEEEEEEEEEEEEEEKLLG33333GLLLF0",
+ "0CEEEEEEEEEEEEEEELLLG33333BLLLF0",
+ "0CEEEEEEEEEEEEEEJLLILB333BLLLLF0",
+ "0CEEEEEEEEEEEEELI555ILBGGGLLLLF0",
+ "0CEEEEEEEEEEEKLI55555ILLLLLLLLF0",
+ "0CEEEEEEEEEEPLLD55555ILLLLLLLLF0",
+ "0CEEEEEEKPLLLLLI55555DMMLLLLLLF0",
+ "0CEEEELLLLLLLLLID555DMMMMMLLLLF0",
+ "0CEEEKLLLLLLLLLLM6IIMMMMMMMLLLF0",
+ "0CEEKLG44BLLLLLMMMMMMMMMMMMMMLF0",
+ "0CEKLHB4444LLLMMMMMMMMMMMMMMMLF0",
+ "0QLLLG4444BLLMMMMMMMNOOMMMMMMLF0",
+ "09LLLH44444LMMMMMMMOOOOOMMMMMLF0",
+ "09LLLLB444GLMMMMMMOOOOOOMMMMMLF0",
+ "09LLLLL4BBLMMMMMMOOOOOOOMMMMMLF0",
+ "09LLLLLLLLDD5IMMOOOOOOONMMMMLLF0",
+ "09LLLLLLLI5555IMOOOOOOOMMMMMLLF0",
+ "09LLLLLLL55555DMOOOOOONMMMMMLLF0",
+ "09LGBBBLLD5555DMMOOOOMMMMMMLLLF0",
+ "09H3333BH55555DMMMMMMMMMMMMLLLF0",
+ "09333333GHD555MMMMMMMMMMMMLLLLF0",
+ "09B33333GLHIMMMMMMMMMMMMMLLLLLF0",
+ "09B33333GLLLLLMMMMMMMMMLLLLLLLF0",
+ "09LG333GLLLLLLLLLLLLLLLLLLLLLLF0",
+ "07FFBFFFFFFFFFFFFFFFFFFFFFFFFF80",
+ " 000000000000000000000000000000 "};
+
+static char **background_xpm[3] = { background_x16, background_x24, background_x32 };
+
diff --git a/app/bin/bitmaps/below.xpm b/app/bin/bitmaps/below.xpm
deleted file mode 100644
index 43bc22a..0000000
--- a/app/bin/bitmaps/below.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * below_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-" ",
-" ...........",
-" ... . . . . .",
-" ..XX.. . . . ..",
-" .XXX. . . . . .",
-".XXXX.. . . . ..",
-".XXXX. . . . . .",
-".XXXX.. . . . ..",
-".XXXX. . . . . .",
-".XXXX.. . . . ..",
-" .XXX. . . . . .",
-" ..XX.. . . . ..",
-" ... . . . . .",
-" ...........",
-" ",
-" "};
diff --git a/app/bin/bitmaps/benchwork.xpm b/app/bin/bitmaps/benchwork.xpm
new file mode 100644
index 0000000..a94b1fa
--- /dev/null
+++ b/app/bin/bitmaps/benchwork.xpm
@@ -0,0 +1,112 @@
+static char *benchwork_x16[] = {
+ "16 16 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #663300",
+ "3 c #993300",
+ "4 c #996600",
+ "5 c #CC6600",
+ "6 c #FF6600",
+ "7 c #FF9900",
+ " 2 3 ",
+ " 126743 ",
+ " 1476257 ",
+ " 026752677 ",
+ " 1366247777 ",
+ " 00001677777 ",
+ " 07772777777 ",
+ " 07772777777 ",
+ " 07772777777 ",
+ " 07772777777 ",
+ " 07772777775 ",
+ " 07772777742 ",
+ " 0777277622 ",
+ " 07772762 ",
+ " 0777252 ",
+ " 000012 "};
+
+static char *benchwork_x24[] = {
+ "24 24 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #993300",
+ "5 c #996600",
+ "6 c #CC6600",
+ "7 c #FF6600",
+ "8 c #FF9900",
+ " ",
+ " 03788843 ",
+ " 147887368 ",
+ " 02688863788 ",
+ " 147887358888 ",
+ " 01688863788888 ",
+ " 137887447888888 ",
+ " 0000003688888888 ",
+ " 0888807888888888 ",
+ " 0888808888888888 ",
+ " 0888808888888888 ",
+ " 0888808888888888 ",
+ " 0888808888888888 ",
+ " 0888808888888888 ",
+ " 0888808888888888 ",
+ " 0888808888888886 ",
+ " 0888808888888743 ",
+ " 088880888888733 ",
+ " 0888808888863 ",
+ " 088880888853 ",
+ " 08888088733 ",
+ " 088880873 ",
+ " 08888053 ",
+ " 0000001 "};
+
+static char *benchwork_x32[] = {
+ "32 32 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #993300",
+ "5 c #996600",
+ "6 c #CC6600",
+ "7 c #FF6600",
+ "8 c #FF9900",
+ " ",
+ " 027888874 ",
+ " 3478888736 ",
+ " 026888885378 ",
+ " 1478888736888 ",
+ " 16888886378888 ",
+ " 1378888734888888 ",
+ " 16888886268888888 ",
+ " 0378888743788888888 ",
+ " 16888887368888888888 ",
+ " 000000001788888888888 ",
+ " 088888884888888888888 ",
+ " 088888884888888888888 ",
+ " 088888884888888888888 ",
+ " 088888884888888888888 ",
+ " 088888884888888888888 ",
+ " 088888884888888888888 ",
+ " 088888884888888888888 ",
+ " 088888884888888888888 ",
+ " 088888884888888888888 ",
+ " 088888884888888888888 ",
+ " 088888884888888888873 ",
+ " 08888888488888888863 ",
+ " 0888888848888888863 ",
+ " 088888884888888743 ",
+ " 08888888488888733 ",
+ " 088888884888863 ",
+ " 08888888488853 ",
+ " 0888888848733 ",
+ " 08888888463 ",
+ " 0000000033 ",
+ " 0 "};
+
+static char **benchwork_xpm[3] = { benchwork_x16, benchwork_x24, benchwork_x32 };
+
diff --git a/app/bin/bitmaps/bezier-line.xpm b/app/bin/bitmaps/bezier-line.xpm
new file mode 100644
index 0000000..2aea754
--- /dev/null
+++ b/app/bin/bitmaps/bezier-line.xpm
@@ -0,0 +1,98 @@
+static char *bezier_line_x16[] = {
+ "16 16 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #990000",
+ "2 c #CC0000",
+ "3 c #800000",
+ " 2 ",
+ " 2222222222221",
+ " 22222222221111",
+ " 22 00 ",
+ " 00 ",
+ " 0 ",
+ " 0 ",
+ " 00 ",
+ " 0 ",
+ " 00 ",
+ " 0 ",
+ " 0 ",
+ " 00 2 ",
+ " 13331 2222 ",
+ "12222222222 2 ",
+ " 222 "};
+
+static char *bezier_line_x24[] = {
+ "24 24 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #990000",
+ "2 c #CC0000",
+ " ",
+ " 222 ",
+ " 22 2222222222222221 ",
+ " 2 2222222222221111 ",
+ " 2222 00 ",
+ " 0 ",
+ " 0 ",
+ " 00 ",
+ " 00 ",
+ " 0 ",
+ " 00 ",
+ " 0 ",
+ " 00 ",
+ " 0 ",
+ " 0 ",
+ " 00 ",
+ " 0 ",
+ " 0 ",
+ " 0 ",
+ " 00 2222 ",
+ " 000 22 2 ",
+ " 222222222222222 2 ",
+ " 2222 ",
+ " 22 "};
+
+static char *bezier_line_x32[] = {
+ "32 32 6 1",
+ " c None",
+ "0 c #000000",
+ "1 c #660000",
+ "2 c #990000",
+ "3 c #CC0000",
+ "4 c #800000",
+ " ",
+ " 33333 ",
+ " 3333333 ",
+ " 33 333333333333333333332 ",
+ " 33 333333333333333333334 ",
+ " 3333333 0000 ",
+ " 33333 0000 ",
+ " 00 ",
+ " 00 ",
+ " 000 ",
+ " 000 ",
+ " 00 ",
+ " 000 ",
+ " 00 ",
+ " 000 ",
+ " 00 ",
+ " 00 ",
+ " 000 ",
+ " 00 ",
+ " 000 ",
+ " 00 ",
+ " 00 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 3333 ",
+ " 0000 333333 ",
+ " 24441142 33333333 33 ",
+ " 23333333333333333333 33 ",
+ " 233333 333 333 ",
+ " 33333 ",
+ " 333 "};
+
+static char **bezier_line_xpm[3] = { bezier_line_x16, bezier_line_x24, bezier_line_x32 };
+
diff --git a/app/bin/bitmaps/bezier-track.xpm b/app/bin/bitmaps/bezier-track.xpm
new file mode 100644
index 0000000..a8b7d92
--- /dev/null
+++ b/app/bin/bitmaps/bezier-track.xpm
@@ -0,0 +1,130 @@
+static char *bezier_track_x16[] = {
+ "16 16 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #996666",
+ "2 c #999999",
+ "3 c #CC0000",
+ "4 c #CC6666",
+ "5 c #CC9966",
+ "6 c #FFCCCC",
+ "7 c #808080",
+ " ",
+ " 434 200",
+ " 3 33333333333",
+ " 434 07 5 5",
+ " 0 5 700",
+ " 05 602 ",
+ " 06 50 ",
+ " 06160 ",
+ " 05 60 ",
+ " 06 50 ",
+ " 206160 ",
+ "0075 60 ",
+ " 5 570 434 ",
+ "3333333333 3 ",
+ "002 434 ",
+ " "};
+
+static char *bezier_track_x24[] = {
+ "24 24 18 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #333333",
+ "4 c #663333",
+ "5 c #666633",
+ "6 c #990000",
+ "7 c #993300",
+ "8 c #996633",
+ "9 c #999933",
+ "A c #999966",
+ "B c #CC0000",
+ "C c #CC3300",
+ "D c #CC3333",
+ "E c #CC6633",
+ "F c #CC9966",
+ "G c #CCCC66",
+ " ",
+ " FF ",
+ " BBBB G 00000",
+ " BB BBBBBBBBBBD76BEEB",
+ " BB BBBBBBBBB66ECBEEB",
+ " BBBB GF0 FF0100",
+ " 4F 244 G ",
+ " 0 GF20FF ",
+ " G4 2F ",
+ " 18G 00 ",
+ " 0 A5 ",
+ " F48 0F ",
+ " 05GG10 ",
+ " F50 A5 ",
+ " A5F 0 F ",
+ " F 0 GG20 ",
+ " 854 58G ",
+ " G G808G 00 ",
+ " 9218 F0 BB ",
+ "084 GF 02F BBBB ",
+ "BBBBBBBBBBBBBBBBB B ",
+ "083008 BBBB ",
+ "088 FF BBB ",
+ " G "};
+
+static char *bezier_track_x32[] = {
+ "32 32 20 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #333333",
+ "4 c #663333",
+ "5 c #666633",
+ "6 c #990000",
+ "7 c #993300",
+ "8 c #996633",
+ "9 c #999933",
+ "A c #999966",
+ "B c #CC0000",
+ "C c #CC3300",
+ "D c #CC3333",
+ "E c #CC6633",
+ "F c #CC9933",
+ "G c #CC9966",
+ "H c #CCCC66",
+ "I c #800000",
+ " ",
+ " HH ",
+ " BBB AG80",
+ " BBBBBB H 0002540",
+ " BBB BBBBBBBBBBBBBCE76BBEFE ",
+ " BB BBBBBBBBBBBBBBBBBBBBBBB",
+ " BBB BBB EDBI6CGGC EGE ",
+ " BBBBB HG2 GH800340",
+ " BBB G5GH 484 HH ",
+ " 0GHHG00AH ",
+ " H 0 H95 ",
+ " H88 35H ",
+ " 85HH 0 ",
+ " 0 HHG3 ",
+ " HH2 H5GH ",
+ " HA8H 02H ",
+ " 2GHHG0 ",
+ " 0 HH8A ",
+ " H84 45HH ",
+ " 88HH 0 ",
+ " 0 HHH10 ",
+ " HG2 HG8H ",
+ " H 85GH 2GH ",
+ " HG20GHHH 0 ",
+ " HG0448 HG2 BBB ",
+ "00400GH 85GH BBBBB ",
+ " EFBBEFEB66DEEBBBBBBBBB BBB ",
+ " BBBBBBBBBBBBBBBBBBBBB BB ",
+ " EG7III8E BBB BBB ",
+ "04520 HH BBBBB ",
+ " HH BB ",
+ " "};
+
+static char **bezier_track_xpm[3] = { bezier_track_x16, bezier_track_x24, bezier_track_x32 };
+
diff --git a/app/bin/bitmaps/bezier.xpm b/app/bin/bitmaps/bezier.xpm
deleted file mode 100644
index 6c592ed..0000000
--- a/app/bin/bitmaps/bezier.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * bezier_xpm[] = {
-"16 16 4 1",
-" c None",
-"! c #000000000000",
-"# c #FFFF00000000",
-"$ c #808080000000",
-" ### !!!!",
-" # #########",
-" ### !! !",
-" $!! $!!!",
-" !!$$ !! !",
-" !! $!$ !",
-" $$ !! !! $ ",
-" !!!!!!! ",
-" !! ! $$ ",
-" $!! !! ",
-"! !$$!! ",
-"! ! $! ",
-"!!!$ !!$ ",
-"! !! ### ",
-"######### # ",
-"!!!! ### "}; \ No newline at end of file
diff --git a/app/bin/bitmaps/block.xpm b/app/bin/bitmaps/block.xpm
index 232d859..e3a6937 100644
--- a/app/bin/bitmaps/block.xpm
+++ b/app/bin/bitmaps/block.xpm
@@ -1,24 +1,138 @@
-/* XPM */
-static char * block_xpm[] = {
-"16 16 5 1",
-" c None",
-". c #2E3436",
-"+ c #00FFFF",
-"@ c #25E100",
-"# c #EF2929",
-".. . ",
-"... ... ",
-" .....++ @@@ ",
-" ...+++ @@@@@ ",
-" ...+++ @@@@@ ",
-"...++++ @@@@@ ",
-" .++++++ @@@ ",
-" ++ +++ ",
-" +++ + ",
-" ### +++ +++ ",
-" ##### +++++..",
-" ##### +++...",
-" ##### +++... ",
-" ### +++.... ",
-" +......",
-" .. ..."};
+static char *block_x16[] = {
+ "16 16 18 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #003333",
+ "3 c #006600",
+ "4 c #006666",
+ "5 c #009900",
+ "6 c #009999",
+ "7 c #00CC00",
+ "8 c #00FF00",
+ "9 c #330000",
+ "A c #660000",
+ "B c #990000",
+ "C c #990033",
+ "D c #CC0033",
+ "E c #FF0033",
+ "F c #008000",
+ "G c #008080",
+ " ",
+ " 0 ",
+ " 0 1111 ",
+ " 0 6 1577F1 ",
+ " G6 088880 ",
+ " 66 188881 ",
+ " 6 66 178871 ",
+ " 66 1FF3 ",
+ " 099966 00 ",
+ " 0ADDB966 66 ",
+ " 9DEEE9 6666 ",
+ " 9EEEE9 66 ",
+ " 9CEED9 6640 ",
+ " 99A9 6 0 ",
+ " 0 ",
+ " 0"};
+
+static char *block_x24[] = {
+ "24 24 18 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #006600",
+ "3 c #006666",
+ "4 c #009900",
+ "5 c #009999",
+ "6 c #00CC00",
+ "7 c #00FF00",
+ "8 c #330000",
+ "9 c #660000",
+ "A c #990000",
+ "B c #990033",
+ "C c #CC0033",
+ "D c #FF0033",
+ "E c #800000",
+ "F c #008000",
+ "G c #008080",
+ " ",
+ " 00 ",
+ " 000 ",
+ " 000 110 ",
+ " 000 5 1266421 ",
+ " 000 555 2777772 ",
+ " 03555 167777761 ",
+ " 555 177777761 ",
+ " 55555 177777761 ",
+ " 555 555 167777741 ",
+ " 5 555 2677761 ",
+ " 555 12F21 ",
+ " 080 555 ",
+ " 8BCC98 555 ",
+ " 8DDDDD9 555 55 ",
+ " 0BDDDDDC8 555555 ",
+ " 8CDDDDDC8 5555 ",
+ " 8CDDDDDC8 55G0 ",
+ " 9DDDDDA8 555000 ",
+ " 9ECDDB9 55 000 ",
+ " 08088 000 ",
+ " 000 ",
+ " 000",
+ " 0 "};
+
+static char *block_x32[] = {
+ "32 32 19 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #003333",
+ "3 c #006600",
+ "4 c #006666",
+ "5 c #009900",
+ "6 c #009999",
+ "7 c #00CC00",
+ "8 c #00FF00",
+ "9 c #330000",
+ "A c #660000",
+ "B c #990000",
+ "C c #990033",
+ "D c #CC0033",
+ "E c #FF0033",
+ "F c #800000",
+ "G c #008000",
+ "H c #008080",
+ " ",
+ " 00 ",
+ " 000 ",
+ " 0000 ",
+ " 0000 00 ",
+ " 0000 6 135531 ",
+ " 0000 666 137888871 ",
+ " 0000 6666 1888888871 ",
+ " 000H666 1588888888G ",
+ " 26666 178888888850 ",
+ " 66666 178888888871 ",
+ " 6666666 178888888850 ",
+ " 6666 6666 05888888883 ",
+ " 66 6666 1788888851 ",
+ " 6666 17888851 ",
+ " 6666 103111 ",
+ " 00 6666 ",
+ " 99FBA9 6666 ",
+ " 9DEEEEDA 6666 6 ",
+ " 9DEEEEEED9 6666 666 ",
+ " 9EEEEEEEEB0 6666 666 ",
+ " 0FEEEEEEEED9 666666 ",
+ " 0FEEEEEEEED9 6666 ",
+ " AEEEEEEEEC0 66640 ",
+ " 9DEEEEEEEA 6664000 ",
+ " AEEEEEEB9 666 0000 ",
+ " 9DDDDA9 6 0000 ",
+ " 0999 0000 ",
+ " 0000 ",
+ " 000 ",
+ " 00 ",
+ " "};
+
+static char **block_xpm[3] = { block_x16, block_x24, block_x32 };
+
diff --git a/app/bin/bitmaps/bottom.xpm b/app/bin/bitmaps/bottom.xpm
new file mode 100644
index 0000000..dd50a6c
--- /dev/null
+++ b/app/bin/bitmaps/bottom.xpm
@@ -0,0 +1,101 @@
+static char *bottom_x16[] = {
+ "16 16 6 1",
+ " c None",
+ "0 c #000000",
+ "1 c #990000",
+ "2 c #CC0000",
+ "3 c #FF0000",
+ "4 c #808080",
+ " ",
+ " ",
+ " 000000000 ",
+ " 104444444440",
+ " 11204444444440",
+ " 123304444444440",
+ " 233304444444440",
+ "1233304444444440",
+ "1233304444444440",
+ "1233304444444440",
+ " 133304444444440",
+ " 13304444444440",
+ " 1104444444440",
+ " 0000000000",
+ " ",
+ " "};
+
+static char *bottom_x24[] = {
+ "24 24 6 1",
+ " c None",
+ "0 c #000000",
+ "1 c #990000",
+ "2 c #CC0000",
+ "3 c #FF0000",
+ "4 c #808080",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 000000000000000 ",
+ " 111044444444444440 ",
+ " 1223044444444444440 ",
+ " 13333044444444444440 ",
+ " 133333044444444444440 ",
+ " 1333333044444444444440 ",
+ " 1333333044444444444440 ",
+ " 1333333044444444444440 ",
+ " 2333333044444444444440 ",
+ " 1333333044444444444440 ",
+ " 1333333044444444444440 ",
+ " 1233333044444444444440 ",
+ " 123333044444444444440 ",
+ " 12333044444444444440 ",
+ " 1112044444444444440 ",
+ " 000000000000000 ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char *bottom_x32[] = {
+ "32 32 6 1",
+ " c None",
+ "0 c #000000",
+ "1 c #990000",
+ "2 c #CC0000",
+ "3 c #FF0000",
+ "4 c #808080",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 00000000000000000000 ",
+ " 04444444444444444440 ",
+ " 11104444444444444444440 ",
+ " 1223304444444444444444440 ",
+ " 113333304444444444444444440 ",
+ " 1233333304444444444444444440 ",
+ " 2333333304444444444444444440 ",
+ " 13333333304444444444444444440 ",
+ " 123333333304444444444444444440 ",
+ " 123333333304444444444444444440 ",
+ " 133333333304444444444444444440 ",
+ " 133333333304444444444444444440 ",
+ " 133333333304444444444444444440 ",
+ " 123333333304444444444444444440 ",
+ " 123333333304444444444444444440 ",
+ " 13333333304444444444444444440 ",
+ " 1333333304444444444444444440 ",
+ " 133333304444444444444444440 ",
+ " 12333304444444444444444440 ",
+ " 1112204444444444444444440 ",
+ " 1104444444444444444440 ",
+ " 00000000000000000000 ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char **bottom_xpm[3] = { bottom_x16, bottom_x24, bottom_x32 };
+
diff --git a/app/bin/bitmaps/box.xpm b/app/bin/bitmaps/box.xpm
new file mode 100644
index 0000000..610fb5a
--- /dev/null
+++ b/app/bin/bitmaps/box.xpm
@@ -0,0 +1,93 @@
+static char *box_x16[] = {
+ "16 16 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #CC0000",
+ " ",
+ " 00000000000000 ",
+ " 0 0 ",
+ " 0 22220 ",
+ " 0 2220 ",
+ " 0 22 20 ",
+ " 0 22 20 ",
+ " 0 22 0 ",
+ " 0 22 0 ",
+ " 0 2 0 ",
+ " 0 2 0 ",
+ " 0 2 0 ",
+ " 0 2 0 ",
+ " 12 0 ",
+ " 00000000000000 ",
+ " "};
+
+static char *box_x24[] = {
+ "24 24 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ " ",
+ " ",
+ " 000000000000000000000 ",
+ " 0 0 ",
+ " 0 1111111 0 ",
+ " 0 111111 0 ",
+ " 0 1111 0 ",
+ " 0 11 11 0 ",
+ " 0 11 11 0 ",
+ " 0 11 11 0 ",
+ " 0 11 0 ",
+ " 0 11 0 ",
+ " 0 11 0 ",
+ " 0 1 0 ",
+ " 0 1 0 ",
+ " 0 1 0 ",
+ " 0 1 0 ",
+ " 0 11 0 ",
+ " 0 11 0 ",
+ " 0 11 0 ",
+ " 0 0 ",
+ " 0000000000000000000000 ",
+ " ",
+ " "};
+
+static char *box_x32[] = {
+ "32 32 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ " ",
+ " ",
+ " ",
+ " 0000000000000000000000000000 ",
+ " 0 0 ",
+ " 0 11111111 0 ",
+ " 0 111111111 0 ",
+ " 0 11111 0 ",
+ " 0 111111 0 ",
+ " 0 1111111 0 ",
+ " 0 1111 11 0 ",
+ " 0 1111 11 0 ",
+ " 0 1111 11 0 ",
+ " 0 1111 11 0 ",
+ " 0 1111 0 ",
+ " 0 111 0 ",
+ " 0 111 0 ",
+ " 0 111 0 ",
+ " 0 111 0 ",
+ " 0 111 0 ",
+ " 0 111 0 ",
+ " 0 1111 0 ",
+ " 0 1111 0 ",
+ " 0 1111 0 ",
+ " 0 1111 0 ",
+ " 0 1111 0 ",
+ " 0 111 0 ",
+ " 0 0 ",
+ " 0000000000000000000000000000 ",
+ " ",
+ " ",
+ " "};
+
+static char **box_xpm[3] = { box_x16, box_x24, box_x32 };
+
diff --git a/app/bin/bitmaps/bridge.xbm b/app/bin/bitmaps/bridge.xbm
deleted file mode 100644
index fd5857b..0000000
--- a/app/bin/bitmaps/bridge.xbm
+++ /dev/null
@@ -1,7 +0,0 @@
-#define bridge_width 16
-#define bridge_height 16
-// static unsigned char bridge_bits[] = {
-static char bridge_bits[] = {
- 0x01, 0x80, 0x01, 0x80, 0xfe, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x82, 0x20,
- 0xff, 0xff, 0x82, 0x20, 0x82, 0x20, 0xff, 0xff, 0x82, 0x20, 0x00, 0x00,
- 0x00, 0x00, 0xfe, 0x7f, 0x01, 0x80, 0x01, 0x80};
diff --git a/app/bin/bitmaps/bridge.xpm b/app/bin/bitmaps/bridge.xpm
index 446f055..089542d 100644
--- a/app/bin/bitmaps/bridge.xpm
+++ b/app/bin/bitmaps/bridge.xpm
@@ -1,22 +1,105 @@
-/* XPM */
-static char * bridge_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #00FFFF",
-"+ c #000000",
-".. ..",
-" .. .. ",
-" ............ ",
-" .......... ",
-"+ + + + ",
-"+++++++++++++++ ",
-"+ + + + ",
-"+ + + + ",
-"+ + + + ",
-"+++++++++++++++ ",
-"+ + + + ",
-" .......... ",
-" ............ ",
-" .. .. ",
-".. ..",
-" "};
+static char *bridge_x16[] = {
+ "16 16 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333300",
+ "2 c #333333",
+ "3 c #CC6600",
+ " ",
+ " ",
+ "2 2 ",
+ "22 22 ",
+ " 2222222222222 ",
+ " 3 3 3 3 3 3 3 ",
+ "000000000000000 ",
+ " 3 3 3 3 3 3 3 ",
+ "010000000000000 ",
+ " 3 3 3 3 3 3 3 ",
+ " 2222222222222 ",
+ "22 22 ",
+ "2 2 ",
+ " ",
+ " ",
+ " "};
+
+static char *bridge_x24[] = {
+ "24 24 8 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333300",
+ "2 c #663300",
+ "3 c #996600",
+ "4 c #996666",
+ "5 c #CC6600",
+ "6 c #CC9900",
+ " ",
+ " ",
+ "444 44",
+ " 44 44 ",
+ " 44 44 ",
+ " 444444444444444444 ",
+ " 444444444444444444 ",
+ " ",
+ " 6 6 6 66 6 66 6 ",
+ "032023003103300300320130",
+ "032023003103300300320130",
+ " 6 6 6 66 6 66 6 ",
+ " 6 6 6 66 6 66 6 ",
+ " 6 6 6 66 6 66 6 ",
+ "000000000000000000000000",
+ " 6 6 6 66 6 66 6 ",
+ " ",
+ " ",
+ " 444444444444444444 ",
+ " 44444444444444444444 ",
+ " 44 44 ",
+ "444 444",
+ " 4 44",
+ " "};
+
+static char *bridge_x32[] = {
+ "32 32 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #996600",
+ "5 c #996666",
+ "6 c #CC6600",
+ "7 c #CC9900",
+ " ",
+ " ",
+ " 55 55",
+ " 55 555",
+ " 555 555 ",
+ " 555 555 ",
+ " 55555555555555555555555555 ",
+ " 555555555555555555555555 ",
+ " 55555555555555555555555 ",
+ " ",
+ " ",
+ " 77 77 777 77 77 77 77 ",
+ "03320033002320033002330033101330",
+ "00000000000000000000000000000000",
+ " 77 77 777 77 77 77 77 ",
+ " 77 77 777 77 77 77 77 ",
+ " 77 77 777 77 77 77 77 ",
+ " 77 77 777 77 77 77 77 ",
+ " 4430044003430044003440044202440",
+ "00000000000000000000000000000000",
+ " 77 77 777 77 77 77 77 ",
+ " ",
+ " ",
+ " 5555555555555555555555 ",
+ " 555555555555555555555555 ",
+ " 55555555555555555555555555 ",
+ " 555 555 ",
+ " 555 555 ",
+ " 55 5555",
+ "555 555",
+ " ",
+ " "};
+
+static char **bridge_xpm[3] = { bridge_x16, bridge_x24, bridge_x32 };
+
diff --git a/app/bin/bitmaps/building.xpm b/app/bin/bitmaps/building.xpm
new file mode 100644
index 0000000..044e3f8
--- /dev/null
+++ b/app/bin/bitmaps/building.xpm
@@ -0,0 +1,125 @@
+static char *building_x16[] = {
+ "16 16 13 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333300",
+ "2 c #333333",
+ "3 c #666600",
+ "4 c #666633",
+ "5 c #666666",
+ "6 c #996666",
+ "7 c #999966",
+ "8 c #999999",
+ "9 c #CCCCCC",
+ "A c #C0C0C0",
+ "B c #808080",
+ " ",
+ " 011111111110 ",
+ " 137888888841 ",
+ " 448AAAAAA844 ",
+ " 4448AAAAA634 ",
+ " 4846AAAA84B4 ",
+ " 4884333334A4 ",
+ " 48B5AAAA8484 ",
+ " 4B4999999B44 ",
+ " 448999999944 ",
+ " 159999999981 ",
+ "0550000000000050",
+ "0999999999999992",
+ "0999999999999992",
+ "0555555555555550",
+ " "};
+
+static char *building_x24[] = {
+ "24 24 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #333333",
+ "4 c #663333",
+ "5 c #666600",
+ "6 c #666633",
+ "7 c #666666",
+ "8 c #996666",
+ "9 c #999966",
+ "A c #999999",
+ "B c #CCCCCC",
+ "C c #C0C0C0",
+ "D c #808080",
+ " ",
+ " ",
+ " 12222222222222220 ",
+ " 066777DAAAAAAAAD50 ",
+ " 156CCCCCCCCCCCCD62 ",
+ " 156DCCCCCCCCCCA652 ",
+ " 1686ACCCCCCCCCD662 ",
+ " 16A66CCCCCCCCA6982 ",
+ " 16CA6ACCCCCCCD6C82 ",
+ " 16CC66777777769B82 ",
+ " 16CC7377777774AB82 ",
+ " 16CA6BBBBBBBBA6B82 ",
+ " 16A6ABBBBBBBBB6D82 ",
+ " 1677BBBBBBBBBBC662 ",
+ " 156BBBBBBBBBBBB752 ",
+ " 06ABBBBBBBBBBBBB41 ",
+ "333000000000000000000333",
+ "3ACCBBBBBBBBBBBBBBBBCCC0",
+ "3BBBBBBBBBBBBBBBBBBBBBB0",
+ "3BBBBBBBBBBBBBBBBBBBBBB0",
+ "3BBBBBBBBBBBBBBBBBBBBBB0",
+ "3ACCCCCCCCCCCCCCCCCCCCC0",
+ "333333333333333333333333",
+ " "};
+
+static char *building_x32[] = {
+ "32 32 14 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333300",
+ "2 c #333333",
+ "3 c #663333",
+ "4 c #666600",
+ "5 c #666633",
+ "6 c #666666",
+ "7 c #996666",
+ "8 c #999966",
+ "9 c #999999",
+ "A c #CCCCCC",
+ "B c #C0C0C0",
+ "C c #808080",
+ " ",
+ " ",
+ " ",
+ " 0111111111111111111110 ",
+ " 0456666C99999999999951 ",
+ " 358BBBBBBBBBBBBBBBB951 ",
+ " 5559BBBBBBBBBBBBBBB655 ",
+ " 5756BBBBBBBBBBBBBB9555 ",
+ " 59559BBBBBBBBBBBBB7595 ",
+ " 59955BBBBBBBBBBBB955A5 ",
+ " 59B649BBBBBBBBBBBC59A5 ",
+ " 59B9559BBBBBBBBB955AA5 ",
+ " 59BB956999999999659AA5 ",
+ " 59BB94111111111115AAA5 ",
+ " 59BBC5AAAAAAAAAAA59AA5 ",
+ " 59B959AAAAAAAAAAA95AA5 ",
+ " 59B56AAAAAAAAAAAAA2CA5 ",
+ " 59C5AAAAAAAAAAAAAA95B5 ",
+ " 5959AAAAAAAAAAAAAAA555 ",
+ " 556AAAAAAAAAAAAAAAAB55 ",
+ " 33AAAAAAAAAAAAAAAAAA65 ",
+ " 09AAAAAAAAAAAAAAAAAAB0 ",
+ "20006000000000000000000000062002",
+ "29AAAAAAAAAAAAAAAAAAAAAAAAAAAAB2",
+ "29AAAAAAAAAAAAAAAAAAAAAAAAAAAAB2",
+ "29AAAAAAAAAAAAAAAAAAAAAAAAAAAAB2",
+ "29AAAAAAAAAAAAAAAAAAAAAAAAAAAAB2",
+ "29AAAAAAAAAAAAAAAAAAAAAAAAAAAAB2",
+ "29AAAAAAAAAAAAAAAAAAAAAAAAAAAAB2",
+ "20000000000000000000000000000002",
+ " ",
+ " "};
+
+static char **building_xpm[3] = { building_x16, building_x24, building_x32 };
+
diff --git a/app/bin/bitmaps/car-inventory.xpm b/app/bin/bitmaps/car-inventory.xpm
new file mode 100644
index 0000000..45ceb2c
--- /dev/null
+++ b/app/bin/bitmaps/car-inventory.xpm
@@ -0,0 +1,103 @@
+static char *car_inventory_x16[] = {
+ "16 16 6 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003366",
+ "2 c #006600",
+ "3 c #663300",
+ "4 c #999999",
+ " ",
+ " 33333333 ",
+ " 33333333 ",
+ " 33333333 ",
+ " 4 ",
+ " 0411111111 ",
+ " 11111111 ",
+ " 11111111 ",
+ " 4 ",
+ " 0422222222 ",
+ " 22222222 ",
+ " 22222222 ",
+ " 4 4 4 4 ",
+ " 040 040 ",
+ " ",
+ " "};
+
+static char *car_inventory_x24[] = {
+ "24 24 6 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003366",
+ "2 c #006600",
+ "3 c #663300",
+ "4 c #CCCCCC",
+ "44444444444444444 ",
+ "43333333333333334 ",
+ "43333333333333334 ",
+ "43333333333333334 ",
+ "43333333333333334 ",
+ "43333333333333334 ",
+ "44444444444444444 ",
+ " 00 4444444444444444 ",
+ " 00041111111111111114 ",
+ " 0 41111111111111114 ",
+ " 41111111111111114 ",
+ " 41111111111111114 ",
+ " 41111111111111114 ",
+ " 44444444444444444 ",
+ " 0044444444444444444",
+ " 0042222222222222224",
+ " 0042222222222222224",
+ " 42222222222222224",
+ " 42222222222222224",
+ " 42222222222222224",
+ " 44444444444444444",
+ " 00 00 00 00 ",
+ " 00000 00000 ",
+ " 00 00 00 00 "};
+
+static char *car_inventory_x32[] = {
+ "32 32 8 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003366",
+ "2 c #006600",
+ "3 c #663300",
+ "4 c #999999",
+ "5 c #CCCCCC",
+ "6 c #C0C0C0",
+ " 555555555555555555555 ",
+ "53333333333333333333335 ",
+ "53333333333333333333335 ",
+ "53333333333333333333335 ",
+ "53333333333333333333335 ",
+ "53333333333333333333335 ",
+ "53333333333333333333335 ",
+ "53333333333333333333335 ",
+ "53333333333333333333335 ",
+ " 564555555555555555555 ",
+ " 0005555555555555555555555 ",
+ " 0005111111111111111111115 ",
+ " 00 5111111111111111111115 ",
+ " 5111111111111111111115 ",
+ " 5111111111111111111115 ",
+ " 5111111111111111111115 ",
+ " 5111111111111111111115 ",
+ " 5111111111111111111115 ",
+ " 5555555555555555555555 ",
+ " 000 5555555555555555555555",
+ " 00052222222222222222222225",
+ " 00052222222222222222222225",
+ " 52222222222222222222225",
+ " 52222222222222222222225",
+ " 52222222222222222222225",
+ " 52222222222222222222225",
+ " 52222222222222222222225",
+ " 55555555555555555555555",
+ " 00 00 000 00 ",
+ " 00000000 0000000 ",
+ " 0000000 0000000 ",
+ " 0 00 0 00 "};
+
+static char **car_inventory_xpm[3] = { car_inventory_x16, car_inventory_x24, car_inventory_x32 };
+
diff --git a/app/bin/bitmaps/change-grid.xpm b/app/bin/bitmaps/change-grid.xpm
new file mode 100644
index 0000000..0287f34
--- /dev/null
+++ b/app/bin/bitmaps/change-grid.xpm
@@ -0,0 +1,118 @@
+static char *change_grid_x16[] = {
+ "16 16 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #00CC00",
+ "2 c #00CC33",
+ "3 c #339933",
+ "4 c #666666",
+ "5 c #669933",
+ "6 c #669966",
+ "7 c #996666",
+ "8 c #999966",
+ "9 c #CC9966",
+ "A c #FFCC66",
+ "1111111111111111",
+ "1111111111111111",
+ "1 1 11 3 1",
+ "1 1 11 484 1",
+ "11111111159A8311",
+ "1 1 169A94 1",
+ "1 1 69A962 1",
+ "11111148A9411111",
+ "1111168794211111",
+ "1 14994 1 1",
+ "1 14462 1 1",
+ "1111111111111111",
+ "11 11 11 11 11",
+ "1 1 11 1 1",
+ "11 11 11 11 11",
+ "1111111111111111"};
+
+static char *change_grid_x24[] = {
+ "24 24 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #00CC00",
+ "2 c #33CC33",
+ "3 c #666666",
+ "4 c #669933",
+ "5 c #669966",
+ "6 c #996666",
+ "7 c #999966",
+ "8 c #CC9966",
+ "9 c #FF9966",
+ "A c #FFCC66",
+ " 1 1 11 1 1 ",
+ "111111111111111111111111",
+ "11 1 11 1 11",
+ "11 1 11 1 11",
+ "11 1 11 33 11",
+ "11 1 11 3796 11",
+ "1111111111111147AA932111",
+ "11 11 1157AAA83 11",
+ "11 1 147AAA83 11",
+ "11 1 47AAA85 11",
+ "11 1 37AAA831 11",
+ "11111111156AAA8511111111",
+ "111111114787A85111111111",
+ "11 1 39A863 1 11",
+ "11 1 39A83 1 11",
+ "11 1 33351 1 11",
+ "11 1 11 1 11",
+ "111111111111111111111111",
+ "11 1 11 1 11",
+ "11 1 11 1 11",
+ "11 1 11 1 11",
+ "11 1 11 1 11",
+ "111111111111111111111111",
+ "111111111111111111111111"};
+
+static char *change_grid_x32[] = {
+ "32 32 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #00CC00",
+ "2 c #33CC33",
+ "3 c #666666",
+ "4 c #669933",
+ "5 c #669966",
+ "6 c #996666",
+ "7 c #999966",
+ "8 c #CC9966",
+ "9 c #FFCC66",
+ " ",
+ "11111111111111111111111111111111",
+ "11111111111111111111111111111111",
+ " 1 11 11 11 11",
+ " 1 11 11 11 11",
+ " 1 11 11 44 11",
+ " 1 11 11 3775 11",
+ " 1 11 11 379973 11",
+ " 1111111111111111112799997411111",
+ " 1111111111111111127999997411111",
+ " 1 11 11379999973 11",
+ " 1 11 1279999975 11",
+ " 1 11 279999974 11",
+ " 1 11 3799999751 11",
+ " 1 11 37999997311 11",
+ " 1111111111123899998511111111111",
+ " 1111111111279789984111111111111",
+ " 1 11 39997883 11 11",
+ " 1 11 3999963 11 11",
+ " 1 11 399985 11 11",
+ " 1 11 333351 11 11",
+ " 1 11 11 11 11",
+ " 1111111111111111111111111111111",
+ " 1111111111111111111111111111111",
+ " 1 11 11 11 11",
+ " 1 11 11 11 11",
+ " 1 11 11 11 11",
+ " 1 11 11 11 11",
+ " 1 11 11 11 11",
+ "111 11 11 111 111",
+ "11111111111111111111111111111111",
+ " "};
+
+static char **change_grid_xpm[3] = { change_grid_x16, change_grid_x24, change_grid_x32 };
+
diff --git a/app/bin/bitmaps/circle-center.xpm b/app/bin/bitmaps/circle-center.xpm
new file mode 100644
index 0000000..e58036a
--- /dev/null
+++ b/app/bin/bitmaps/circle-center.xpm
@@ -0,0 +1,114 @@
+static char *circle_center_x16[] = {
+ "16 16 6 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #CC9966",
+ "3 c #FF0000",
+ "4 c #808080",
+ " 000000 ",
+ " 40 2 2 04 ",
+ " 0 2 0000 2 0 ",
+ " 4 00 00 4 ",
+ " 020 020 ",
+ "0 0 0 0",
+ "020 020",
+ "0 0 0 0",
+ "0 0 3 0 0",
+ "020 3 020",
+ "0 3 1 0",
+ " 020 31 0 ",
+ " 4 00 111 4 ",
+ " 0 2 0000 0 ",
+ " 40 2 2 04 ",
+ " 000000 "};
+
+static char *circle_center_x24[] = {
+ "24 24 13 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #666600",
+ "5 c #990000",
+ "6 c #993300",
+ "7 c #996600",
+ "8 c #CC0000",
+ "9 c #CC3300",
+ "A c #CC6600",
+ "B c #CC9900",
+ " B ",
+ " 07700 B ",
+ " B7000770017 ",
+ " 07A A7 B30 BB ",
+ " B30 B70033017 17 ",
+ " 33 077 BB A303B10 ",
+ " 0 A2 B 36 0 ",
+ " 00 0A BA0 33B ",
+ " A2B00 23B30 ",
+ " 13B1B B2 00 ",
+ " 0 0 00 0 ",
+ " 0 00 33A0 ",
+ "B3A77B 8 B77B1B",
+ " 2772 8 00 0 ",
+ " 00 0B 8 90 00 ",
+ " 1B37 8 A93B10 ",
+ " B37 0 8857A3B ",
+ " 0 33 8985 0 ",
+ " 02B307B A856B00 ",
+ " 31 31077022 33 ",
+ " B 007B 0770 B 00BB ",
+ " 320 77 032 ",
+ " B 0033007B ",
+ " BB "};
+
+static char *circle_center_x32[] = {
+ "32 32 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #990000",
+ "5 c #993300",
+ "6 c #996600",
+ "7 c #CC0000",
+ "8 c #CC3300",
+ "9 c #CC6600",
+ "A c #CC9900",
+ " A ",
+ " AA ",
+ " A 00000000 A ",
+ " 6100 AA 0220 ",
+ " 039 AA A900 A ",
+ " A 0 A 00000001A 06A ",
+ " A60 6200 AA 0320 31 ",
+ " 2A 00A A A 00 A 00 ",
+ " 0 A10 336 0 ",
+ " 00 19 A60 00AA ",
+ " 0 00 00 A39 ",
+ " A66A 0 29A20 ",
+ " 06A66 A91 0 ",
+ " 0 09A 0 0 ",
+ " 0 0 0 00 ",
+ " 00 0 7 33 33 ",
+ "A63A93AA 777 A36A66A",
+ " 62 61 777 00 00 ",
+ " 0 0 777 0 0 ",
+ " 0 03A 777 7740 0 ",
+ " 00A93A 777 8756 00 ",
+ " 63A 00 777773AA36 ",
+ " AA20 06A 7777 2AA ",
+ " 0 636 777777 00 ",
+ " 00 A300 A 777789 00 ",
+ " 36 036 AA 620 A60 ",
+ " AA10 9000320039 03A ",
+ " 000AA 96 A 000 AA ",
+ " 022 AA 520 ",
+ " A900003200029 ",
+ " A 96 A ",
+ " A "};
+
+static char **circle_center_xpm[3] = { circle_center_x16, circle_center_x24, circle_center_x32 };
+
diff --git a/app/bin/bitmaps/circle-filled-center.xpm b/app/bin/bitmaps/circle-filled-center.xpm
new file mode 100644
index 0000000..91f7764
--- /dev/null
+++ b/app/bin/bitmaps/circle-filled-center.xpm
@@ -0,0 +1,145 @@
+static char *circle_filled_center_x16[] = {
+ "16 16 19 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #336699",
+ "6 c #339999",
+ "7 c #669999",
+ "8 c #6699CC",
+ "9 c #66CCCC",
+ "A c #66CCFF",
+ "B c #9999CC",
+ "C c #99CCCC",
+ "D c #99CCFF",
+ "E c #99FFFF",
+ "F c #CC0000",
+ "G c #CC6666",
+ "H c #CC6699",
+ " 00 ",
+ " 11488413 ",
+ " 28AEEEEE93 ",
+ " 3AEEEEEEEEA3 ",
+ " 38EEEEEEEEEE93 ",
+ " 2AEEEEEEEEEEE4 ",
+ "05EEEEEEEEEEEE80",
+ "18EEEEEBDEEEEE92",
+ "18EEEEEDHDEEEE92",
+ "06EEEEEEDHDECE81",
+ " 4EEEEEEEDHDFE60",
+ " 29EEEEEEEDHGA2 ",
+ " 3AEEEEEBGFH4 ",
+ " 14AEEEEDDA43 ",
+ " 268AA973 ",
+ " 012210 "};
+
+static char *circle_filled_center_x24[] = {
+ "24 24 20 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #336699",
+ "6 c #339999",
+ "7 c #669999",
+ "8 c #6699CC",
+ "9 c #66CCCC",
+ "A c #66CCFF",
+ "B c #9999CC",
+ "C c #99CCCC",
+ "D c #99CCFF",
+ "E c #99FFFF",
+ "F c #CC0000",
+ "G c #CC6666",
+ "H c #CC6699",
+ "I c #CC9999",
+ " ",
+ " 11044011 ",
+ " 238AEEEEA942 ",
+ " 26AEEEEEEEEE83 ",
+ " 29EEEEEEEEEEEEA4 ",
+ " 2AEEEEEEEEEEEEEEA3 ",
+ " 27EEEEEEEEEEEEEEEE93 ",
+ " 4AEEEEEEEEEEEEEEEEE50 ",
+ " 19EEEEEEEEEEEEEEEEEEA2 ",
+ " 1AEEEEEEEEEEEEEEEEEEE1 ",
+ " 3EEEEEEEEEEEEEEEEEEEE50",
+ " 4EEEEEEEEDIDEEEEEEEEE60",
+ " 4EEEEEEEEECIDEEEEEEEE60",
+ " 3EEEEEEEEEECIDEEEEEEE50",
+ " 1AEEEEEEEEEECIDEEHCEE4 ",
+ " 29EEEEEEEEEEECIDDFBEA1 ",
+ " 05EEEEEEEEEEEECIDFCE71 ",
+ " 39EEEEEEEEEEEECHFDA2 ",
+ " 2AEEEEEEEEDIGFFFD4 ",
+ " 04AEEEEEEEDHIBCC62 ",
+ " 139EEEEEEEEEEA42 ",
+ " 26AEEEEEEA82 ",
+ " 2146886411 ",
+ " 0000 "};
+
+static char *circle_filled_center_x32[] = {
+ "32 32 23 1",
+ " c None",
+ "0 c #000000",
+ "1 c #000033",
+ "2 c #003333",
+ "3 c #333333",
+ "4 c #333366",
+ "5 c #336666",
+ "6 c #336699",
+ "7 c #339999",
+ "8 c #669999",
+ "9 c #6699CC",
+ "A c #66CCCC",
+ "B c #66CCFF",
+ "C c #9999CC",
+ "D c #99CCCC",
+ "E c #99CCFF",
+ "F c #99FFFF",
+ "G c #CC0000",
+ "H c #CC3333",
+ "I c #CC3366",
+ "J c #CC6666",
+ "K c #CC6699",
+ "L c #CC9999",
+ " ",
+ " 00333300 ",
+ " 3169ABBA97230 ",
+ " 35AFFFFFFFFFFB63 ",
+ " 4AFFFFFFFFFFFFFFB52 ",
+ " 5BFFFFFFFFFFFFFFFFB64 ",
+ " 5BFFFFFFFFFFFFFFFFFFF62 ",
+ " 5BFFFFFFFFFFFFFFFFFFFFB5 ",
+ " 3AFFFFFFFFFFFFFFFFFFFFFFB3 ",
+ " 5FFFFFFFFFFFFFFFFFFFFFFFF82 ",
+ " 3AFFFFFFFFFFFFFFFFFFFFFFFFB2 ",
+ " 2FFFFFFFFFFFFFFFFFFFFFFFFFF5 ",
+ " 07FFFFFFFFFFFFFFFFFFFFFFFFFF92 ",
+ " 2AFFFFFFFFFFFFFFFFFFFFFFFFFFB3 ",
+ " 3AFFFFFFFFFFFFEFFFFFFFFFFFFFB2 ",
+ " 3BFFFFFFFFFFFDHLFFFFFFFFFFFFF0 ",
+ " 2BFFFFFFFFFFFDHGLFFFFFFFFFFFF0 ",
+ " 3BFFFFFFFFFFFFDHGLFFFFFFFFFFB2 ",
+ " 3AFFFFFFFFFFFFFDHGLFFFFEEFFFB3 ",
+ " 08FFFFFFFFFFFFFFDHGLFFFIHFFFA3 ",
+ " 4FFFFFFFFFFFFFFFDHGLFEGHFFF60 ",
+ " 2BFFFFFFFFFFFFFFFDHGLEGJFFB2 ",
+ " 28FFFFFFFFFFFFFFFFDHGKGLFF92 ",
+ " 3BFFFFFFFFFFFFFFFFDHGGCFB3 ",
+ " 6BFFFFFFFFFFFFEKJGGGGDF73 ",
+ " 47FFFFFFFFFFFFLGGGHKLE94 ",
+ " 57FFFFFFFFFFFEEEFFFF94 ",
+ " 36BFFFFFFFFFFFFFFB74 ",
+ " 239BFFFFFFFFFFFA33 ",
+ " 227ABFFFFBA723 ",
+ " 0330000230 ",
+ " "};
+
+static char **circle_filled_center_xpm[3] = { circle_filled_center_x16, circle_filled_center_x24, circle_filled_center_x32 };
+
diff --git a/app/bin/bitmaps/circle-filled-tangent.xpm b/app/bin/bitmaps/circle-filled-tangent.xpm
new file mode 100644
index 0000000..f20856e
--- /dev/null
+++ b/app/bin/bitmaps/circle-filled-tangent.xpm
@@ -0,0 +1,148 @@
+static char *circle_filled_tangent_x16[] = {
+ "16 16 20 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #336699",
+ "6 c #339999",
+ "7 c #666699",
+ "8 c #669999",
+ "9 c #6699CC",
+ "A c #66CCCC",
+ "B c #66CCFF",
+ "C c #9999CC",
+ "D c #99CCFF",
+ "E c #99FFFF",
+ "F c #CC3333",
+ "G c #CC6699",
+ "H c #CC9999",
+ "I c #CC99CC",
+ " 0110 ",
+ " 3469A842 ",
+ " 3AEEEEEEA31 ",
+ " 2BEEEEEEEEB4 ",
+ " 3AEEEEEEEEEEB3 ",
+ " 4EEEEEEEEEEEE60",
+ "08EEEEEEEEEEEEA1",
+ "2AEEEEEDCIHEEEB2",
+ "2AEEEEECFCDEEEB1",
+ "09EEEEEHCGDEEEA2",
+ "05EEEEEHDDGDEE90",
+ " 3BEEEEEEEDGDB3 ",
+ " 4BEEEEEEEDG71 ",
+ " 34BEEEEEEB74 ",
+ " 39ABBB931 ",
+ " 021120 "};
+
+static char *circle_filled_tangent_x24[] = {
+ "24 24 22 1",
+ " c None",
+ "0 c #000000",
+ "1 c #000033",
+ "2 c #003333",
+ "3 c #333333",
+ "4 c #333366",
+ "5 c #336666",
+ "6 c #336699",
+ "7 c #339999",
+ "8 c #669999",
+ "9 c #6699CC",
+ "A c #66CCCC",
+ "B c #66CCFF",
+ "C c #9999CC",
+ "D c #99CCCC",
+ "E c #99CCFF",
+ "F c #99FFFF",
+ "G c #CC0000",
+ "H c #CC6666",
+ "I c #CC6699",
+ "J c #CC9999",
+ "K c #CC99CC",
+ " ",
+ " 0315555230 ",
+ " 46AFFFFFFB73 ",
+ " 03AFFFFFFFFFFA42 ",
+ " 05BFFFFFFFFFFFFB73 ",
+ " 3BFFFFFFFFFFFFFFB5 ",
+ " 4AFFFFFFFFFFFFFFFFB4 ",
+ " 26FFFFFFFFFFFFFFFFFF94 ",
+ " 3BFFFFFFFFFFFFFFFFFFB2 ",
+ " 2FFFFFFFFFFFFFFFFFFFF5 ",
+ " 5FFFFFFFFFFFFFEFFFFFF80",
+ "07FFFFFFFFFDIHGGCFFFFF92",
+ "08FFFFFFFFFIGJCDEFFFFFA2",
+ "06FFFFFFFFFHIIEFFFFFFF90",
+ " 5FFFFFFFFEGKEIEFFFFFF60",
+ " 2BFFFFFFFEGDFEIEFFFFB2 ",
+ " 29FFFFFFFFEEFFEIEFFFA3 ",
+ " 4BFFFFFFFFFFFFEIEFB4 ",
+ " 5BFFFFFFFFFFFFEIE72 ",
+ " 48FFFFFFFFFFFFFEC4 ",
+ " 35BFFFFFFFFFFB74 ",
+ " 3AFFFFFFFFA42 ",
+ " 3179AA9723 ",
+ " 003300 "};
+
+static char *circle_filled_tangent_x32[] = {
+ "32 32 23 1",
+ " c None",
+ "0 c #000000",
+ "1 c #000033",
+ "2 c #003333",
+ "3 c #333333",
+ "4 c #333366",
+ "5 c #336666",
+ "6 c #336699",
+ "7 c #339999",
+ "8 c #669999",
+ "9 c #6699CC",
+ "A c #66CCCC",
+ "B c #66CCFF",
+ "C c #9999CC",
+ "D c #99CCCC",
+ "E c #99CCFF",
+ "F c #99FFFF",
+ "G c #CC0000",
+ "H c #CC3333",
+ "I c #CC6666",
+ "J c #CC6699",
+ "K c #CC9999",
+ "L c #CC99CC",
+ " ",
+ " 233003320 ",
+ " 2259BBFFBB9622 ",
+ " 28BFFFFFFFFFFB920 ",
+ " 25BFFFFFFFFFFFFFFB63 ",
+ " 37BFFFFFFFFFFFFFFFFF84 ",
+ " 27FFFFFFFFFFFFFFFFFFFF94 ",
+ " 5BFFFFFFFFFFFFFFFFFFFFF74 ",
+ " 4BFFFFFFFFFFFFFFFFFFFFFFB3 ",
+ " 28FFFFFFFFFFFFFFFFFFFFFFFFA3 ",
+ " 2BFFFFFFFFFFFFFFFFFFFFFFFFF4 ",
+ " 5FFFFFFFFFFFFFFFFFFFFFFFFFF80 ",
+ " 29FFFFFFFFFFFFFFFFFFFFFFFFFFB3 ",
+ " 3BFFFFFFFFFFFFFFFFFFFFFFFFFFB1 ",
+ " 2BFFFFFFFFFFFFFFEEDCDFFFFFFFF2 ",
+ " 0FFFFFFFFFFFFFLHGGGGGEFFFFFFF5 ",
+ " 1FFFFFFFFFFFFFHGGJLCEFFFFFFFF5 ",
+ " 2BFFFFFFFFFFFEGGGIEFFFFFFFFFF4 ",
+ " 3BFFFFFFFFFFFEGIJGIEFFFFFFFFF0 ",
+ " 3AFFFFFFFFFFFDGKEJGHEFFFFFFFB3 ",
+ " 07FFFFFFFFFFFCGCFEJGHEFFFFFF92 ",
+ " 2FFFFFFFFFFFEJEFFEJGHEFFFFF5 ",
+ " 29FFFFFFFFFFFFFFFFEJGHEFFFB3 ",
+ " 4BFFFFFFFFFFFFFFFFEJGHEFF5 ",
+ " 27FFFFFFFFFFFFFFFFFEJGHEA4 ",
+ " 49FFFFFFFFFFFFFFFFFEJDB4 ",
+ " 4AFFFFFFFFFFFFFFFFFFB5 ",
+ " 49FFFFFFFFFFFFFFFFA4 ",
+ " 45AFFFFFFFFFFFFB54 ",
+ " 359BFFFFFFB953 ",
+ " 2305555022 ",
+ " "};
+
+static char **circle_filled_tangent_xpm[3] = { circle_filled_tangent_x16, circle_filled_tangent_x24, circle_filled_tangent_x32 };
+
diff --git a/app/bin/bitmaps/circle-line-center.xpm b/app/bin/bitmaps/circle-line-center.xpm
new file mode 100644
index 0000000..24a41f6
--- /dev/null
+++ b/app/bin/bitmaps/circle-line-center.xpm
@@ -0,0 +1,93 @@
+static char *circle_line_center_x16[] = {
+ "16 16 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ " 00 ",
+ " 00000000 ",
+ " 00 00 ",
+ " 0 0 ",
+ " 00 00 ",
+ " 0 0 ",
+ "00 00",
+ "00 00",
+ "00 1 00",
+ "00 1 00",
+ " 0 1 1 00",
+ " 00 11 0 ",
+ " 0 1110 ",
+ " 00 00 ",
+ " 000 000 ",
+ " 000000 "};
+
+static char *circle_line_center_x24[] = {
+ "24 24 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ " ",
+ " 00000000 ",
+ " 000 000 ",
+ " 00 00 ",
+ " 00 0 ",
+ " 0 0 ",
+ " 00 00 ",
+ " 0 0 ",
+ " 00 0 ",
+ " 0 0 ",
+ " 0 0 ",
+ " 0 1 00",
+ " 0 11 00",
+ " 0 11 00",
+ " 0 11 0 ",
+ " 00 11 1 0 ",
+ " 00 11 1 00 ",
+ " 00 111 0 ",
+ " 0 1111 0 ",
+ " 00 1 00 ",
+ " 000 00 ",
+ " 00 00 ",
+ " 0000000000 ",
+ " 000 "};
+
+static char *circle_line_center_x32[] = {
+ "32 32 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #990000",
+ "2 c #CC0000",
+ " ",
+ " 0000000000 ",
+ " 00000000000000 ",
+ " 00000 00000 ",
+ " 0000 0000 ",
+ " 000 000 ",
+ " 000 000 ",
+ " 000 000 ",
+ " 00 000 ",
+ " 000 00 ",
+ " 00 000 ",
+ " 000 00 ",
+ " 00 00 ",
+ " 00 00 ",
+ " 00 000",
+ " 00 2 000",
+ " 00 222 000",
+ " 00 2222 000",
+ " 00 2222 00 ",
+ " 00 2222 00 ",
+ " 000 2222 22 00 ",
+ " 00 2222 22 000 ",
+ " 00 222222 00 ",
+ " 000 22222 000 ",
+ " 000 2222222000 ",
+ " 000 2222221000 ",
+ " 000 0000 ",
+ " 0000 0000 ",
+ " 0000 00000 ",
+ " 0000000 0000000 ",
+ " 000000000000 ",
+ " 0000 "};
+
+static char **circle_line_center_xpm[3] = { circle_line_center_x16, circle_line_center_x24, circle_line_center_x32 };
+
diff --git a/app/bin/bitmaps/circle-line-tangent.xpm b/app/bin/bitmaps/circle-line-tangent.xpm
new file mode 100644
index 0000000..0a5a52d
--- /dev/null
+++ b/app/bin/bitmaps/circle-line-tangent.xpm
@@ -0,0 +1,93 @@
+static char *circle_line_tangent_x16[] = {
+ "16 16 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ " 00 ",
+ " 00000000 ",
+ " 00 00 ",
+ " 00 0 ",
+ " 00 00 ",
+ " 0 0 ",
+ " 0 00",
+ "00 1111 00",
+ "00 11 00",
+ "00 1 1 00",
+ " 0 1 1 00",
+ " 00 1 0 ",
+ " 0 10 ",
+ " 00 00 ",
+ " 0000 000 ",
+ " 00000 "};
+
+static char *circle_line_tangent_x24[] = {
+ "24 24 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #990000",
+ "2 c #CC0000",
+ " ",
+ " 00000000 ",
+ " 000 000 ",
+ " 00 00 ",
+ " 00 0 ",
+ " 00 0 ",
+ " 0 00 ",
+ " 0 0 ",
+ " 00 00 ",
+ " 0 0 ",
+ " 0 2222 0 ",
+ " 0 22222 00",
+ " 0 222 00",
+ " 0 22 22 0 ",
+ " 0 22 22 0 ",
+ " 00 22 22 0 ",
+ " 0 22 00 ",
+ " 00 22 0 ",
+ " 0 2 0 ",
+ " 0 00 ",
+ " 000 00 ",
+ " 00 00 ",
+ " 0000000000 ",
+ " 00 "};
+
+static char *circle_line_tangent_x32[] = {
+ "32 32 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ " ",
+ " 000000000 ",
+ " 00000000000000 ",
+ " 000000 000000 ",
+ " 0000 0000 ",
+ " 0000 000 ",
+ " 000 000 ",
+ " 000 000 ",
+ " 000 00 ",
+ " 000 000 ",
+ " 00 00 ",
+ " 00 000 ",
+ " 000 00 ",
+ " 00 00 ",
+ " 00 1111111 00 ",
+ " 00 1111111 000",
+ " 00 11111 000",
+ " 00 111111 00 ",
+ " 00 11 1111 00 ",
+ " 00 11 1111 00 ",
+ " 000 11 1111 00 ",
+ " 00 1111 000 ",
+ " 000 1111 00 ",
+ " 00 1111 000 ",
+ " 000 111000 ",
+ " 000 1000 ",
+ " 000 0000 ",
+ " 000 0000 ",
+ " 0000 0000 ",
+ " 0000000000000000 ",
+ " 000000000000 ",
+ " 00 "};
+
+static char **circle_line_tangent_xpm[3] = { circle_line_tangent_x16, circle_line_tangent_x24, circle_line_tangent_x32 };
+
diff --git a/app/bin/bitmaps/circle-line.xpm b/app/bin/bitmaps/circle-line.xpm
new file mode 100644
index 0000000..1f6de11
--- /dev/null
+++ b/app/bin/bitmaps/circle-line.xpm
@@ -0,0 +1,95 @@
+static char *circle_line_x16[] = {
+ "16 16 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #990000",
+ "2 c #CC0000",
+ "3 c #800000",
+ " 00 ",
+ " 00000000 ",
+ " 00 00 ",
+ " 0 22 22 0 ",
+ " 00 2 222 00 ",
+ " 0 22222 0 ",
+ "00 2 222222 2 00",
+ "0022 2200",
+ "0322222222222210",
+ "0022 2 00",
+ " 0 00",
+ " 00 0 ",
+ " 0 0 ",
+ " 00 00 ",
+ " 000 000 ",
+ " 000000 "};
+
+static char *circle_line_x24[] = {
+ "24 24 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ " ",
+ " 00000000 ",
+ " 000 000 ",
+ " 00 00 ",
+ " 00 0 ",
+ " 00 1111 111 0 ",
+ " 00 11 11 00 ",
+ " 0 11 1111 0 ",
+ " 00 1111 11 00 ",
+ " 0 1111 1111 0 ",
+ " 0 1 11 1 11 0 ",
+ " 0 11 11 00",
+ " 0 111111111111111111 00",
+ " 0 11 11 0 ",
+ " 0 1 1 0 ",
+ " 00 0 ",
+ " 0 00 ",
+ " 00 0 ",
+ " 0 0 ",
+ " 0 00 ",
+ " 000 00 ",
+ " 00 00 ",
+ " 0000000000 ",
+ " 00 "};
+
+static char *circle_line_x32[] = {
+ "32 32 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #CC0000",
+ " ",
+ " 0000000000 ",
+ " 00000000000000 ",
+ " 00000 00000 ",
+ " 0000 0000 ",
+ " 000 000 ",
+ " 000 222 222 000 ",
+ " 000 22222 22222 000 ",
+ " 00 2 22 22 000 ",
+ " 000 22 22222 00 ",
+ " 00 222 222 22 000 ",
+ " 000 22 22 22 000 ",
+ " 00 2 22222 222222 00 ",
+ " 00 222 2222 2222 222 00 ",
+ " 00 222 2222 00 ",
+ " 0022222222222222222222222222000",
+ " 0022222222222222222222222222100",
+ " 00 222 222 000",
+ " 00 222 222 00 ",
+ " 00 222 22 00 ",
+ " 000 00 ",
+ " 00 000 ",
+ " 00 00 ",
+ " 000 000 ",
+ " 000 000 ",
+ " 000 000 ",
+ " 000 0000 ",
+ " 0000 0000 ",
+ " 0000 00000 ",
+ " 0000000000000000 ",
+ " 000000000000 ",
+ " 0000 "};
+
+static char **circle_line_xpm[3] = { circle_line_x16, circle_line_x24, circle_line_x32 };
+
diff --git a/app/bin/bitmaps/circle-tangent.xpm b/app/bin/bitmaps/circle-tangent.xpm
new file mode 100644
index 0000000..4ae8c69
--- /dev/null
+++ b/app/bin/bitmaps/circle-tangent.xpm
@@ -0,0 +1,110 @@
+static char *circle_tangent_x16[] = {
+ "16 16 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #CC9966",
+ "3 c #808080",
+ " 000000 ",
+ " 30 2 2 03 ",
+ " 0 2 0000 2 0 ",
+ " 3 00 00 3 ",
+ " 020 020 ",
+ "0 0 0 0",
+ "020 020",
+ "0 0 0 0",
+ "0 0 111 0 0",
+ "020 11 020",
+ "0 0 1 1 0",
+ " 020 1 20 ",
+ " 3 00 1 3 ",
+ " 0 2 0000 2 0 ",
+ " 30 2 2 03 ",
+ " 000000 "};
+
+static char *circle_tangent_x24[] = {
+ "24 24 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #990000",
+ "5 c #996600",
+ "6 c #CC0000",
+ "7 c #CC3300",
+ "8 c #CC6600",
+ "9 c #CC9900",
+ " 99 ",
+ " 9 00330059 ",
+ " 5000550023 ",
+ " 0059 85 93009 ",
+ " 930 80023025 25 ",
+ " 139 035 99 8305900 ",
+ " 0 920 335 0 ",
+ " 00 059 950 539 ",
+ " 83930 3591 ",
+ " 03938 90 00 ",
+ " 0 0 0 0 ",
+ " 0 0 6666 2551 ",
+ "928839 66666 955829",
+ " 15 0 6666 0 0 ",
+ " 00 05 66666 0 00 ",
+ " 01953 66 666983900 ",
+ " 839 0 66608939 ",
+ " 920 38 764 029 ",
+ " 0395029 9316800 ",
+ " 35 31053022 82 ",
+ " 9500 9 055059 0089 ",
+ " 025 99 520 ",
+ " 8100330038 ",
+ " 55 9 "};
+
+static char *circle_tangent_x32[] = {
+ "32 32 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #993300",
+ "5 c #996600",
+ "6 c #CC0000",
+ "7 c #CC6600",
+ "8 c #CC9900",
+ "9 c #800000",
+ " 8 ",
+ " 75 8 ",
+ " 8 00003200018 ",
+ " 3200 88 0320 ",
+ " 0028 88 8 00 8 ",
+ " 8 00 88000100038 058 ",
+ " 52 300 78 032 830 ",
+ " 018 0058 8 8 0088 0 ",
+ " 0 830 23 0 ",
+ " 00 138 830 038 ",
+ " 850 0 0 8835 ",
+ " 8558 00 538 00 ",
+ " 058828 830 0 ",
+ " 0 028 0 0 ",
+ " 0 00 0 0 ",
+ " 00 0 6666666 07 25 ",
+ "85488378 666666 8278458",
+ " 52 25 6666 0 0 ",
+ " 0 00 66666 0 0 ",
+ " 0 18 6666666 00 0 ",
+ " 00 837 666 6666 8835 00 ",
+ " 3388 0 6 6666 138833 ",
+ " 881 018 66660 288 ",
+ " 00 35 6666 00 ",
+ " 0 8700 8 8 0967 00 ",
+ " 17 015 8 510 870 ",
+ " 71 8200320037 37 ",
+ " 00 88 75 8 00 8 ",
+ " 005 88 8500 ",
+ " 53000 55 0003 ",
+ " 88 00033000 8 ",
+ " 88 "};
+
+static char **circle_tangent_xpm[3] = { circle_tangent_x16, circle_tangent_x24, circle_tangent_x32 };
+
diff --git a/app/bin/bitmaps/circle.xpm b/app/bin/bitmaps/circle.xpm
new file mode 100644
index 0000000..0be3fe9
--- /dev/null
+++ b/app/bin/bitmaps/circle.xpm
@@ -0,0 +1,115 @@
+static char *circle_x16[] = {
+ "16 16 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #CC9966",
+ "3 c #808080",
+ " 000000 ",
+ " 30 2 2 03 ",
+ " 0 2 0000 2 0 ",
+ " 3 00 00 3 ",
+ " 020 020 ",
+ "0 0 0 0",
+ "0 00 303 0",
+ "0 1 0 0 0 1 0",
+ "311110 0 011113",
+ "0 1 00 303 1 0",
+ "0 0",
+ " 020 020 ",
+ " 3 00 00 3 ",
+ " 0 2 0000 2 0 ",
+ " 30 2 2 03 ",
+ " 000000 "};
+
+static char *circle_x24[] = {
+ "24 24 13 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #660000",
+ "4 c #663300",
+ "5 c #990000",
+ "6 c #996600",
+ "7 c #CC0000",
+ "8 c #CC3300",
+ "9 c #CC6600",
+ "A c #CC9900",
+ "B c #800000",
+ " AA ",
+ " 004400 A ",
+ " 6000660014 ",
+ " 06A 69 A600 A ",
+ " A40 60024006 24 ",
+ " 44A 066 A A601A40 ",
+ " 0 92 44 0 ",
+ " 00 09 AA0 64A ",
+ " A2A00 64A40 ",
+ " 14AB8 000 000 971 0 ",
+ " 00577 0 0000 00 777 0 ",
+ " 03777 000 00 007777816",
+ "A497787 000000 017887829",
+ " 26878 0000 00 77 0 ",
+ " 00 57 0000 000 773 0 ",
+ " 0A46 A4920 ",
+ " A49 0 04A49 ",
+ " A 0 24A A60 00A ",
+ " 01A40 A A 04A 0 ",
+ " 44 240660420 64 ",
+ " A 00 A404404A 006A ",
+ " 240 AA 620 ",
+ " A40000004A ",
+ " A AA A "};
+
+static char *circle_x32[] = {
+ "32 32 14 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #660000",
+ "4 c #663300",
+ "5 c #990000",
+ "6 c #993300",
+ "7 c #996600",
+ "8 c #CC0000",
+ "9 c #CC3300",
+ "A c #CC6600",
+ "B c #CC9900",
+ "C c #800000",
+ " BB ",
+ " BB ",
+ " B 0000000000AB ",
+ " 7100 BB 0240 ",
+ " 02B BB BB000 B ",
+ " B 0 BA00000000A 04B ",
+ " A1 4400 BB 420 72 ",
+ " 1B 00BB B BB00 B 00 ",
+ " 0 B10 47 00 ",
+ " 00 17B BB0 0BB ",
+ " B 0 00 0 B77 ",
+ " B77B 0 47B 0 ",
+ " 07B799 0000 000 A93 0 ",
+ " 0 588 00000 00000 888C 00 ",
+ " 0 8888 00 00 00 888 00 ",
+ " 0 88888 0000 00 00 88888862 ",
+ "B74A88888 0000 00 00 888889A4B",
+ "BA2B9889 00000 00 888 00 ",
+ " 0 888 0 000 00 00 8885 00 ",
+ " 0 189 00000 0000 88C 00 ",
+ " 00 A4B BB74 0 ",
+ " 74BB00 2BB74 ",
+ " BB40 0 B 00 2AB ",
+ " 0 44A B40 00 ",
+ " 00 B700 B B 07B 0 ",
+ " 27 02A BB A40 BA0 ",
+ " B20 A100440017 2A ",
+ " B 00 BB 77 B 00 BB ",
+ " 044 BB 7700 ",
+ " A00004700007 ",
+ " BB 0470 BB ",
+ " BB "};
+
+static char **circle_xpm[3] = { circle_x16, circle_x24, circle_x32 };
+
diff --git a/app/bin/bitmaps/circle1.xpm b/app/bin/bitmaps/circle1.xpm
deleted file mode 100644
index 03426f0..0000000
--- a/app/bin/bitmaps/circle1.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * circle1_xpm[] = {
-"16 16 4 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-"o c #FFFFFFFFFFFF",
-" ...... ",
-" . . ",
-" .. .... .. ",
-" .XXXXXXXXXXX . ",
-" .XoooooooooX . ",
-". XoXXXoXXXoX .",
-". XoXoXoXoooX. .",
-". XoXXXoXXooX. .",
-". XoooXoooXoX. .",
-". XoooXoooXoX. .",
-". XoooXoXXooX .",
-" .XoooooooooX . ",
-" .XXXXXXXXXXX . ",
-" .. .... .. ",
-" . . ",
-" ...... "};
diff --git a/app/bin/bitmaps/circle2.xpm b/app/bin/bitmaps/circle2.xpm
deleted file mode 100644
index 343f29b..0000000
--- a/app/bin/bitmaps/circle2.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * circle2_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-" ...... ",
-" . . . . . ",
-" .. .... .. ",
-" . ... . ... . ",
-" . .. .. . ",
-". . . .",
-". . . .",
-". . XXXX ....",
-".... XX . .",
-". . X X . .",
-". . X X . .",
-" . .. X. . ",
-" . ... . ..X . ",
-" .. .... .X ",
-" . . . . ",
-" ...... "};
diff --git a/app/bin/bitmaps/circle3.xpm b/app/bin/bitmaps/circle3.xpm
deleted file mode 100644
index 3a7c9ab..0000000
--- a/app/bin/bitmaps/circle3.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * circle3_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-" ...... ",
-" . . . . . ",
-" .. .... .. ",
-" . ... . ... . ",
-" . .. .. . ",
-". . . .",
-". . . .",
-". . XX ....",
-".... XX . .",
-". . X X. .",
-". . X X .",
-" . .. XX . ",
-" . ... .XXXX . ",
-" .. .... .. ",
-" . . . . . ",
-" ...... "};
diff --git a/app/bin/bitmaps/cnote.xpm b/app/bin/bitmaps/cnote.xpm
deleted file mode 100644
index c008c24..0000000
--- a/app/bin/bitmaps/cnote.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * cnote_xpm[] = {
-"16 16 3 1",
-". c None",
-" c #000000000000",
-"X c #FFFFFFFF0000",
-" ......",
-" XXXXXXXX .....",
-" XXXXXX X X ....",
-" XXXXXX X XX ...",
-" XXXXXX X XXX ..",
-" XXXXXX X .",
-" XXXXXX XXXXXX .",
-" XXXXXX XXXXXX .",
-" XXXXXX XXXXXX .",
-" XXXXXX XXXXXX .",
-" XXXXXX XXXXXX .",
-" XXXXXXXXXXXXX .",
-" XXXXXX XXXXXX .",
-" XXXXXXXXXXXXX .",
-" XXXXXXXXXXXXX .",
-" ."};
diff --git a/app/bin/bitmaps/connect.xpm b/app/bin/bitmaps/connect.xpm
new file mode 100644
index 0000000..3853635
--- /dev/null
+++ b/app/bin/bitmaps/connect.xpm
@@ -0,0 +1,116 @@
+static char *connect_x16[] = {
+ "16 16 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003399",
+ "2 c #336699",
+ "3 c #3366CC",
+ "4 c #3366FF",
+ "5 c #3399FF",
+ "6 c #6699FF",
+ "7 c #9966CC",
+ "8 c #CC0000",
+ "9 c #CC3366",
+ "A c #CC3399",
+ " ",
+ " ",
+ " ",
+ " 5 4333 3435 5 ",
+ "1313121 1313131",
+ " 6 6 66 6 6 6 ",
+ " 313233 3313133",
+ "1313233 2313132",
+ " 6 6 9 A 6 6 ",
+ " 88 88 ",
+ "8888888888888888",
+ " 8 8 ",
+ " 8 8 ",
+ " ",
+ " ",
+ " "};
+
+static char *connect_x24[] = {
+ "24 24 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003399",
+ "2 c #336699",
+ "3 c #3366CC",
+ "4 c #3366FF",
+ "5 c #3399FF",
+ "6 c #6699FF",
+ "7 c #CC0000",
+ "8 c #CC3366",
+ "9 c #CC6699",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 6 6 6 6 6 6 ",
+ " 35 5 53 35 53 43 ",
+ "11311311311 11311311211",
+ " 6 6 6 6 6 66 ",
+ " 6 6 6 6 6 66 ",
+ " 6 6 6 6 6 66 ",
+ "11111111111 11111111111",
+ " 6 6 6 6 6 66 ",
+ " 8 8 ",
+ " 77 777 ",
+ " 777 777 ",
+ " 7777777777777777777777 ",
+ " 7777777777 77777777777 ",
+ " 777 777 ",
+ " 777 777 ",
+ " 7 7 ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char *connect_x32[] = {
+ "32 32 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003399",
+ "2 c #336699",
+ "3 c #3366CC",
+ "4 c #3366FF",
+ "5 c #3399FF",
+ "6 c #6699FF",
+ "7 c #CC0000",
+ "8 c #CC3366",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 66 6 6 6 6 66 ",
+ " 33 35 53 35 53 34 ",
+ " 1111113111311 1131113111121 ",
+ " 66 6 6 6 6 66 ",
+ " 66 6 6 6 6 66 ",
+ " 66 6 6 6 6 66 ",
+ " 66 6 6 6 6 66 ",
+ " 1331113111321 1131113211331 ",
+ " 1331113111321 1131113211331 ",
+ " 66 6 6 6 6 66 ",
+ " 78 87 ",
+ " 777 777 ",
+ " 7777 7777 ",
+ " 7777 7777 ",
+ " 77777777777777 777777777777777 ",
+ " 777777777777777777777777777777 ",
+ " 7777 7777 ",
+ " 777 777 ",
+ " 777 777 ",
+ " 77 77 ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char **connect_xpm[3] = { connect_x16, connect_x24, connect_x32 };
+
diff --git a/app/bin/bitmaps/control.xpm b/app/bin/bitmaps/control.xpm
index bc73a57..45d1f9b 100644
--- a/app/bin/bitmaps/control.xpm
+++ b/app/bin/bitmaps/control.xpm
@@ -1,24 +1,129 @@
-/* XPM */
-static char * control_xpm[] = {
-"16 16 5 1",
-" c None",
-". c #05FB0B",
-"+ c #000000",
-"@ c #EF2929",
-"# c #25E100",
-".+ + ",
-"+++ +++",
-" +++ +++ ",
-" +++ +++ +++ ",
-" ++++++++++ ",
-" +++@@@+++ ",
-" ++@@@@@++ ",
-" ++###@@@@++ ",
-" ++####@@@++ ",
-" ++#####@@++ ",
-" ++####@++ ",
-" +++###++++ ",
-" ++++++++++++ ",
-" +++ +++ +++ ",
-"+++ +++",
-"++ ++"};
+static char *control_x16[] = {
+ "16 16 16 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #006600",
+ "3 c #009900",
+ "4 c #00CC00",
+ "5 c #00FF00",
+ "6 c #330000",
+ "7 c #333300",
+ "8 c #660000",
+ "9 c #663300",
+ "A c #990000",
+ "B c #CC0000",
+ "C c #FF0000",
+ "D c #800000",
+ "E c #008000",
+ " ",
+ " 0 00",
+ " 0 00 ",
+ " 0 00 ",
+ " 0 8ABD 00 ",
+ " 07CCCCA0 ",
+ " E49CCCCD ",
+ " 4549CCCB ",
+ " 45549CCB0 ",
+ " 355549CA ",
+ " 04555496 ",
+ " 01455420 ",
+ " 0 00 0 ",
+ " 0 0 ",
+ " 0 0 ",
+ "0 0"};
+
+static char *control_x24[] = {
+ "24 24 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #006600",
+ "2 c #009900",
+ "3 c #00CC00",
+ "4 c #00FF00",
+ "5 c #330000",
+ "6 c #339900",
+ "7 c #660000",
+ "8 c #663300",
+ "9 c #990000",
+ "A c #CC0000",
+ "B c #FF0000",
+ "C c #800000",
+ "D c #008000",
+ " ",
+ " 00 00 ",
+ " 000 000 ",
+ " 000 000 ",
+ " 000 000 ",
+ " 000 000 ",
+ " 000005CC700000 ",
+ " 007ABBBBA500 ",
+ " 018BBBBBBA50 ",
+ " 0338BBBBBBA0 ",
+ " 014438BBBBBB70 ",
+ " 0244438BBBBB90 ",
+ " 03444438BBBB90 ",
+ " 0D4444438BBB90 ",
+ " 0044444438BB5 ",
+ " 0D4444443890 ",
+ " 002444444600 ",
+ " 00001333310000 ",
+ " 000 000000 000 ",
+ " 000 000 ",
+ " 000 000 ",
+ " 000 000 ",
+ " 00 000",
+ " "};
+
+static char *control_x32[] = {
+ "32 32 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #006600",
+ "3 c #009900",
+ "4 c #00CC00",
+ "5 c #00FF00",
+ "6 c #330000",
+ "7 c #660000",
+ "8 c #663300",
+ "9 c #990000",
+ "A c #CC0000",
+ "B c #FF0000",
+ "C c #800000",
+ "D c #008000",
+ " ",
+ " 0 0 ",
+ " 000 000 ",
+ " 000 0000 ",
+ " 000 0000 ",
+ " 000 0000 ",
+ " 000 0000 ",
+ " 000 00 0000 ",
+ " 000 00077000 0000 ",
+ " 0000CABBBBAC00000 ",
+ " 06ABBBBBBBB9000 ",
+ " 0038BBBBBBBBB90 ",
+ " 0D548BBBBBBBBB70 ",
+ " 0045548BBBBBBBBA0 ",
+ " 02555548BBBBBBBB60 ",
+ " 035555548BBBBBBBC0 ",
+ " 0355555548BBBBBBC0 ",
+ " 0D555555548BBBBB70 ",
+ " 005555555548BBBB00 ",
+ " 035555555548BB90 ",
+ " 0045555555548B60 ",
+ " 02455555555480 ",
+ " 000145555554D000 ",
+ " 00000024444200 000 ",
+ " 000 00000000 000 ",
+ " 000 000 ",
+ " 000 000 ",
+ " 000 000 ",
+ " 000 000 ",
+ " 000 000 ",
+ " 00 00 ",
+ " "};
+
+static char **control_xpm[3] = { control_x16, control_x24, control_x32 };
+
diff --git a/app/bin/bitmaps/convert-from.xpm b/app/bin/bitmaps/convert-from.xpm
new file mode 100644
index 0000000..ed72d8a
--- /dev/null
+++ b/app/bin/bitmaps/convert-from.xpm
@@ -0,0 +1,99 @@
+static char *convert_from_x16[] = {
+ "16 16 8 1",
+ " c None",
+ "0 c #000000",
+ "1 c #999999",
+ "2 c #CC0000",
+ "3 c #CCCCCC",
+ "4 c #FF0000",
+ "5 c #FFFFFF",
+ "6 c #808080",
+ " 363 363 ",
+ "5060 10601 ",
+ "36 1 6006 03",
+ "30 101 1 63",
+ " 10601 060 ",
+ " 363 2 363 ",
+ " 2 ",
+ " 2 ",
+ " 42224 ",
+ " 424 ",
+ " 4 ",
+ " 00000 ",
+ " 00 ",
+ " 0000 ",
+ " 00 ",
+ " 00 "};
+
+static char *convert_from_x24[] = {
+ "24 24 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #CC0033",
+ " ",
+ " 00 0000 ",
+ " 0000 00000 00 ",
+ " 00 00 0000 0 00 ",
+ " 0 00 000 00 0 ",
+ " 00 00 00 0 0 ",
+ " 0 000 0 00 ",
+ " 000000 22 0000 ",
+ " 22 ",
+ " 22 ",
+ " 2 22 ",
+ " 2 22 22 ",
+ " 2222 ",
+ " 22 ",
+ " 2 ",
+ " 000000 ",
+ " 00 ",
+ " 0 ",
+ " 00000 ",
+ " 00 ",
+ " 0 ",
+ " 0 ",
+ " 0 ",
+ " "};
+
+static char *convert_from_x32[] = {
+ "32 32 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #CC0033",
+ " ",
+ " ",
+ " 00000 0000000 ",
+ " 00 0 0000 00 ",
+ " 0 00 0000 0 ",
+ " 0 00 000 000 00 ",
+ " 0 0 000 0 00 ",
+ " 0 000 00 00 00 ",
+ " 00 00 0 0 ",
+ " 00 0000 22 00 00 ",
+ " 00000 22 0000 ",
+ " 22 ",
+ " 22 ",
+ " 2 22 ",
+ " 22 22 22 ",
+ " 222 22 222 ",
+ " 22222222 ",
+ " 222222 ",
+ " 222 ",
+ " 2 ",
+ " 00000000 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 000000 ",
+ " 000000 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " ",
+ " "};
+
+static char **convert_from_xpm[3] = { convert_from_x16, convert_from_x24, convert_from_x32 };
+
diff --git a/app/bin/bitmaps/convert-to.xpm b/app/bin/bitmaps/convert-to.xpm
new file mode 100644
index 0000000..5f5c94e
--- /dev/null
+++ b/app/bin/bitmaps/convert-to.xpm
@@ -0,0 +1,99 @@
+static char *convert_to_x16[] = {
+ "16 16 8 1",
+ " c None",
+ "0 c #000000",
+ "1 c #999999",
+ "2 c #CC0000",
+ "3 c #CCCCCC",
+ "4 c #FF0000",
+ "5 c #FFFFFF",
+ "6 c #808080",
+ " 00000 ",
+ " 00 ",
+ " 0000 ",
+ " 00 ",
+ " 00 ",
+ " 2 ",
+ " 2 ",
+ " 2 ",
+ " 42224 ",
+ " 424 ",
+ " 363 4 363 ",
+ "5060 10601 ",
+ "36 1 6006 03",
+ "30 101 1 63",
+ " 10601 060 ",
+ " 363 363 "};
+
+static char *convert_to_x24[] = {
+ "24 24 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #CC0033",
+ " ",
+ " 000000 ",
+ " 000000 ",
+ " 00 ",
+ " 00000 ",
+ " 00000 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 2 ",
+ " 2 ",
+ " 2 ",
+ " 22 2 2 ",
+ " 22 2 2 ",
+ " 2222 ",
+ " 22 ",
+ " 0000 00000 ",
+ " 00 0 0000 0 ",
+ " 0 00 0000 00 00 ",
+ " 0 0 00 0 0 ",
+ " 00 00 00 00 0 ",
+ " 00 000 0 0 ",
+ " 0000 000 ",
+ " "};
+
+static char *convert_to_x32[] = {
+ "32 32 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #CC0033",
+ " ",
+ " ",
+ " 00000000 ",
+ " 0 ",
+ " 0 ",
+ " 0 ",
+ " 000000 ",
+ " 0 ",
+ " 0 ",
+ " 0 ",
+ " 0 ",
+ " 0 ",
+ " 22 ",
+ " 22 ",
+ " 22 ",
+ " 22 ",
+ " 22 22 22 ",
+ " 222 22 222 ",
+ " 22222222 ",
+ " 222222 ",
+ " 2222 ",
+ " 000 22 00000 ",
+ " 000 00 00000 000 ",
+ " 0 0 0000 00 ",
+ " 00 00 000 00 0 ",
+ " 00 0 000 00 00 ",
+ " 00 000 000 00 00 ",
+ " 0 00 00 0 ",
+ " 00 00 0 00 ",
+ " 0000000 00000 ",
+ " 00 ",
+ " "};
+
+static char **convert_to_xpm[3] = { convert_to_x16, convert_to_x24, convert_to_x32 };
+
diff --git a/app/bin/bitmaps/convertfr.xpm b/app/bin/bitmaps/convertfr.xpm
deleted file mode 100644
index 7f141c8..0000000
--- a/app/bin/bitmaps/convertfr.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * convertfr_xpm[] = {
-"16 16 4 1",
-" c None",
-"! c #000000000000",
-"# c #FFFF00000000",
-"$ c #808080000000",
-" !!! !!!! ",
-" !! !!! !!",
-" !! !! !! ",
-" !!!! # !!! ",
-" # ",
-" ## # ## ",
-" ####### ",
-" ### ",
-" # ",
-" ",
-" !!!!!! ",
-" !! ",
-" !!!! ",
-" !! ",
-" !! ",
-" "}; \ No newline at end of file
diff --git a/app/bin/bitmaps/convertto.xpm b/app/bin/bitmaps/convertto.xpm
deleted file mode 100644
index f0fead2..0000000
--- a/app/bin/bitmaps/convertto.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * convertto_xpm[] = {
-"16 16 4 1",
-" c None",
-"! c #000000000000",
-"# c #FFFF00000000",
-"$ c #808080000000",
-" !!! !!!! ",
-" !! !!! !!",
-" !! !! !! ",
-" !!!! # !!! ",
-" ### ",
-" ####### ",
-" ## # ## ",
-" # ",
-" # ",
-" ",
-" !!!!!! ",
-" !! ",
-" !!!! ",
-" !! ",
-" !! ",
-" "}; \ No newline at end of file
diff --git a/app/bin/bitmaps/copy.xpm b/app/bin/bitmaps/copy.xpm
new file mode 100644
index 0000000..1812343
--- /dev/null
+++ b/app/bin/bitmaps/copy.xpm
@@ -0,0 +1,95 @@
+static char *copy_x16[] = {
+ "16 16 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #FFFFFF",
+ "111111111111 ",
+ "1222222222221 ",
+ "1222222222221 ",
+ "1221111111111111",
+ "1221222222222221",
+ "1221222222222221",
+ "1221222222222221",
+ "1221222222222221",
+ "1221222222222221",
+ "1221222222222221",
+ "1221222222222221",
+ "1221222222222221",
+ "1111222222222221",
+ " 1222222222221",
+ " 1222222222221",
+ " 1111111111111"};
+
+static char *copy_x24[] = {
+ "24 24 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #FFFFFF",
+ " 11111111111111111 ",
+ "1222222222222222221 ",
+ "1222222222222222221 ",
+ "1222222222222222221 ",
+ "12222211111111111111111 ",
+ "122221222222222222222221",
+ "122221222222222222222221",
+ "122221222222222222222221",
+ "122221222222222222222221",
+ "122221222222222222222221",
+ "122221222222222222222221",
+ "122221222222222222222221",
+ "122221222222222222222221",
+ "122221222222222222222221",
+ "122221222222222222222221",
+ "122221222222222222222221",
+ "122221222222222222222221",
+ "122221222222222222222221",
+ "122221222222222222222221",
+ " 11111222222222222222221",
+ " 1222222222222222221",
+ " 1222222222222222221",
+ " 1222222222222222221",
+ " 11111111111111111 "};
+
+static char *copy_x32[] = {
+ "32 32 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #FFFFFF",
+ " ",
+ " 111111111111111111111111 ",
+ " 122222222222222222222221 ",
+ " 122222222222222222222221 ",
+ " 122222222222222222222221 ",
+ " 122222222222222222222221 ",
+ " 122222111111111111111111111111 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 122222122222222222222222222221 ",
+ " 111111122222222222222222222221 ",
+ " 122222222222222222222221 ",
+ " 122222222222222222222221 ",
+ " 122222222222222222222221 ",
+ " 122222222222222222222221 ",
+ " 111111111111111111111111 ",
+ " "};
+
+static char **copy_xpm[3] = { copy_x16, copy_x24, copy_x32 };
+
diff --git a/app/bin/bitmaps/cornu.xpm b/app/bin/bitmaps/cornu.xpm
index bd3a2ed..d1bffcb 100644
--- a/app/bin/bitmaps/cornu.xpm
+++ b/app/bin/bitmaps/cornu.xpm
@@ -1,23 +1,117 @@
-/* XPM */
-static char * cornu_xpm[] = {
-"16 16 4 1",
-" c None",
-"! c #000000000000",
-"# c #FFFF00000000",
-"$ c #808080000000",
-" !!$!!!! ",
-" !! $ !! ",
-" !! $!!! $$$",
-" $! !!$ $$ !!",
-" !! $! ! !!",
-"!! !! !! !! ",
-"! !! $###$ ",
-"$$$$ # # ",
-"! !! ### ",
-"! !! ",
-"! !$ ",
-"!!$$! ",
-"!$ !! ",
-"$! $!!!$!!$###",
-" !! $ $ # #",
-" $!!!!!$!!$###"};
+static char *cornu_x16[] = {
+ "16 16 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #993300",
+ "5 c #996600",
+ "6 c #CC0000",
+ "7 c #CC6600",
+ "8 c #CC9900",
+ " 5 ",
+ " 5303022 ",
+ " 8307353733 ",
+ " 03523552566 ",
+ " 8233 84666 ",
+ " 0327 66 ",
+ "8353 ",
+ " 153 ",
+ " 253 ",
+ " 3518 ",
+ " 34528 ",
+ " 832538 6 ",
+ " 3552555753666",
+ " 232523335666",
+ " 85301331246 ",
+ " 7557 "};
+
+static char *cornu_x24[] = {
+ "24 24 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #666600",
+ "5 c #990000",
+ "6 c #996600",
+ "7 c #CC0000",
+ "8 c #CC6600",
+ "9 c #CC9900",
+ "A c #800000",
+ " ",
+ " 9 66009 ",
+ " 300360320 ",
+ " 91069 99 99018 ",
+ " 36 6100023 915 ",
+ " 099038 9 8138777 ",
+ " 92 28 9657 7 ",
+ " 3392 5777 ",
+ " 00339 77 ",
+ " 91826 ",
+ " 91928 ",
+ " 0 0 ",
+ " 61938 ",
+ " 91963 ",
+ " 00 19 ",
+ " 03962 ",
+ " 93 069 ",
+ " 0 9309 7 ",
+ " 33 3209 9 98A777 ",
+ " 93049 32032330377 7 ",
+ " 32099 8368 98777 ",
+ " 9002308166022A7 ",
+ " 90130160 9 ",
+ " 9 9 "};
+
+static char *cornu_x32[] = {
+ "32 32 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #990000",
+ "5 c #993300",
+ "6 c #996600",
+ "7 c #CC0000",
+ "8 c #CC6600",
+ "9 c #CC9900",
+ "A c #800000",
+ " ",
+ " 9 9 ",
+ " 98000000038 ",
+ " 1300 9 6300 ",
+ " 9 00099 99 9 039 ",
+ " 61 9 033039 60 ",
+ " 029 021086062039 47 ",
+ " 0 80089 9 9 13577477 ",
+ " 9920 28 9917 7 ",
+ " 639 0 7 77 ",
+ " 00966 777 ",
+ " 0 08 ",
+ " 0 0 ",
+ " 9869839 ",
+ " 00 62 ",
+ " 00 0 ",
+ " 00 629 ",
+ " 9669928 ",
+ " 60 00 ",
+ " 0 19 ",
+ " 019932 ",
+ " 839 0 9 ",
+ " 930 38 ",
+ " 00 98009 7 ",
+ " 26 33 9 9 99 4777 ",
+ " 9920 93016 69 903317 77 ",
+ " 008 85010002008 7 77 ",
+ " 8300 9 99 9 997777 ",
+ " 9 00060 99 960220A7 ",
+ " 96000000020089 ",
+ " 9 99 99 ",
+ " "};
+
+static char **cornu_xpm[3] = { cornu_x16, cornu_x24, cornu_x32 };
+
diff --git a/app/bin/bitmaps/curve1.xpm b/app/bin/bitmaps/curve1.xpm
deleted file mode 100644
index dd1a295..0000000
--- a/app/bin/bitmaps/curve1.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * curve1_xpm[] = {
-"16 16 4 1",
-" c None",
-". c #FFFF00000000",
-"X c #000000000000",
-"o c #861782078617",
-" . ",
-" ... ",
-" . . . ",
-" . .X .",
-" X XX.XX ",
-" oXXX .X ",
-" X XXX XX.XX ",
-" X X. .X .",
-" XooX X. . . ",
-" X X ... ",
-" XoX X X . ",
-" XoX ",
-" X XX ",
-" X X ",
-"XXXXX ",
-" X X "};
diff --git a/app/bin/bitmaps/curve2.xpm b/app/bin/bitmaps/curve2.xpm
deleted file mode 100644
index e1ff0c6..0000000
--- a/app/bin/bitmaps/curve2.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * curve2_xpm[] = {
-"16 16 4 1",
-" c None",
-". c #000000000000",
-"X c #861782078617",
-"o c #FFFF00000000",
-" . X",
-" ......",
-" . .. . .",
-" .. ..... ",
-" . X.. . ..",
-" . .o .. . ",
-" X. o . ",
-" . X. o ",
-" . .X o ",
-" . . X o ",
-" . . o ",
-"..... o o",
-" . . o o",
-" . . ooo",
-" . . ooo",
-" .... ooooo"};
diff --git a/app/bin/bitmaps/curve3.xpm b/app/bin/bitmaps/curve3.xpm
deleted file mode 100644
index 97c447b..0000000
--- a/app/bin/bitmaps/curve3.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * curve3_xpm[] = {
-"16 16 4 1",
-" c None",
-". c #000000000000",
-"X c #861782078617",
-"o c #FFFF00000000",
-" . X",
-" ......",
-" . .. . .",
-" ..X ..... ",
-" . .. . ..",
-" . .ooooo . ",
-" .Xooo . ",
-" . .ooo ",
-" . .o. o ",
-" . .o o ",
-" . . o ",
-" . . o ",
-"..... o ",
-" . . o ",
-" . . o ",
-" .... o"};
diff --git a/app/bin/bitmaps/curve4.xpm b/app/bin/bitmaps/curve4.xpm
deleted file mode 100644
index 0d26396..0000000
--- a/app/bin/bitmaps/curve4.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * curve4_xpm[] = {
-"16 16 4 1",
-" c None",
-". c #000000000000",
-"X c #861782078617",
-"o c #FFFF00000000",
-" . X",
-" ......",
-" . .. . .",
-" ..X ..... ",
-" . .. . ..",
-" . .ooooo . ",
-" .Xooo . ",
-" . .ooo ",
-" . .o. o o",
-" . .o o o ",
-" . . o o ",
-" . . oo ",
-"..... oo ",
-" . . o ",
-" . . o ",
-" .... o "};
diff --git a/app/bin/bitmaps/curved-chord.xpm b/app/bin/bitmaps/curved-chord.xpm
new file mode 100644
index 0000000..b8c1d9d
--- /dev/null
+++ b/app/bin/bitmaps/curved-chord.xpm
@@ -0,0 +1,109 @@
+static char *curved_chord_x16[] = {
+ "16 16 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #CC9966",
+ "3 c #FF6666",
+ " 2 2 ",
+ " 2 0000 ",
+ " 2 00 2 2 ",
+ " 2 00 2 000 ",
+ " 0 2 002 2 ",
+ " 2 0 2002 ",
+ " 0 ",
+ " 20 2 1111 ",
+ " 020 113 ",
+ " 20 0 1313 ",
+ " 0202 1 313 1 ",
+ " 0 0 31311 ",
+ "20202 311 ",
+ " 0 0 11 ",
+ "20202 11 ",
+ " "};
+
+static char *curved_chord_x24[] = {
+ "24 24 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #993300",
+ "5 c #996600",
+ "6 c #CC0000",
+ "7 c #CC3300",
+ "8 c #CC6600",
+ "9 c #CC9900",
+ " 9 ",
+ " 9100300",
+ " 0130 89 ",
+ " 820089 99 ",
+ " 018 930200",
+ " 9500 99 013059 ",
+ " 135 500 9 ",
+ " 9900 9 039 ",
+ " 53 81 9 ",
+ " 099 019 ",
+ " 9 0 950 ",
+ " 938 39 ",
+ " 029990 766666 ",
+ " 0 38 666666 ",
+ " 953 00 6666 ",
+ " 19990 66 66 ",
+ " 00 559 66 66 ",
+ " 00 0 66 66 66",
+ " 929930 66 66 ",
+ " 3299559 6666 ",
+ " 00 0 66 ",
+ " 00 0 66 ",
+ "9459829 66 ",
+ " 25 539 6 "};
+
+static char *curved_chord_x32[] = {
+ "32 32 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #993300",
+ "5 c #996600",
+ "6 c #CC0000",
+ "7 c #CC6600",
+ "8 c #CC9900",
+ " 8 ",
+ " 88 000330 ",
+ " 250000000 ",
+ " 8 000020 88 ",
+ " 85000058 8 ",
+ " 00010 8 00130 ",
+ " 00038 3200000 ",
+ " 87000 88 00022 8 ",
+ " 0000 5000088 ",
+ " 00078 003 ",
+ " 8500 88000088 ",
+ " 503 500 ",
+ " 0288 0037 ",
+ " 00 888100 8 ",
+ " 88000 8501 ",
+ " 405 0038 ",
+ " 00888 0076666666 ",
+ " 00 820 66666666 ",
+ " 00 0058 66666 ",
+ " 830 00 66666 ",
+ " 0388800 66 666 ",
+ " 00 8703 66 6666 ",
+ " 00 007 66 6666 66 ",
+ " 00 00 66 6666 6666",
+ " 8505 000 6 6666 6666 ",
+ " 1188831 6666666 ",
+ " 00 5038 66666 ",
+ " 00 000 666 ",
+ " 00 00 666 ",
+ " 503 00 666 ",
+ "850788318 666 ",
+ " 0 00 6 "};
+
+static char **curved_chord_xpm[3] = { curved_chord_x16, curved_chord_x24, curved_chord_x32 };
+
diff --git a/app/bin/bitmaps/curved-end.xpm b/app/bin/bitmaps/curved-end.xpm
new file mode 100644
index 0000000..6c91543
--- /dev/null
+++ b/app/bin/bitmaps/curved-end.xpm
@@ -0,0 +1,107 @@
+static char *curved_end_x16[] = {
+ "16 16 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #CC9966",
+ "3 c #FF6666",
+ " 111 ",
+ " 11 ",
+ " 2 133 ",
+ " 2 0 1 ",
+ " 2 00 2 331",
+ " 0 2 00 11",
+ " 2 0 2002 111",
+ " 0 02 ",
+ " 20 20 ",
+ " 0202 ",
+ " 20 0 ",
+ " 0202 ",
+ " 0 0 ",
+ "20202 ",
+ " 0 0 ",
+ "20202 "};
+
+static char *curved_end_x24[] = {
+ "24 24 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #666600",
+ "5 c #996600",
+ "6 c #CC0000",
+ "7 c #CC6600",
+ "8 c #CC9900",
+ " ",
+ " 66 ",
+ " 66666 ",
+ " 6 6 ",
+ " 8 6 ",
+ " 750 66 ",
+ " 85005 66 ",
+ " 8 0130 8 6 ",
+ " 730 88 530 6 6 ",
+ " 058 7015 66666 ",
+ " 70 87035 8 666 ",
+ " 18 532 ",
+ " 870 83078 ",
+ " 35 33 ",
+ " 008850 ",
+ " 881 38 ",
+ " 35880 ",
+ " 0 53 ",
+ " 71 05 ",
+ " 55871 ",
+ " 00 338 ",
+ " 0 00 ",
+ "837835 ",
+ " 17 35 "};
+
+static char *curved_end_x32[] = {
+ "32 32 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #996600",
+ "5 c #CC0000",
+ "6 c #CC6600",
+ "7 c #CC9900",
+ " ",
+ " 555 ",
+ " 555555 ",
+ " 55555555 ",
+ " 55555 5 ",
+ " 55 55 ",
+ " 77 55 ",
+ " 6400 555 ",
+ " 7700367 55 ",
+ " 420 77 55 ",
+ " 7700377 77 55 55",
+ " 743 77 64215 55555 ",
+ " 047 760046 5555555 ",
+ " 740 77 333 77 55555 ",
+ " 636 774037 5555 ",
+ " 1777 347 ",
+ " 7 0 777017 ",
+ " 734 734 ",
+ " 3477 077 ",
+ " 0 7772 ",
+ " 7730 447 ",
+ " 6377 007 ",
+ " 047772 ",
+ " 0 447 ",
+ " 740 067 ",
+ " 7447740 ",
+ " 1677447 ",
+ " 0 16 ",
+ " 0 0 ",
+ " 437 41 ",
+ "76477637 ",
+ " 00 42 "};
+
+static char **curved_end_xpm[3] = { curved_end_x16, curved_end_x24, curved_end_x32 };
+
diff --git a/app/bin/bitmaps/curved-line-chord.xpm b/app/bin/bitmaps/curved-line-chord.xpm
new file mode 100644
index 0000000..779cc67
--- /dev/null
+++ b/app/bin/bitmaps/curved-line-chord.xpm
@@ -0,0 +1,92 @@
+static char *curved_line_chord_x16[] = {
+ "16 16 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ " ",
+ " 0000 ",
+ " 0000 ",
+ " 00 ",
+ " 0 ",
+ " 00 ",
+ " 01111 ",
+ " 0 111 ",
+ " 00 1111 ",
+ " 0 1 11 ",
+ " 00 11 11",
+ " 0 11 11 ",
+ " 0 111 ",
+ " 0 11 ",
+ " 0 11 ",
+ " "};
+
+static char *curved_line_chord_x24[] = {
+ "24 24 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ " ",
+ " ",
+ " 00000 ",
+ " 0000 ",
+ " 000 ",
+ " 00 ",
+ " 00 ",
+ " 0 ",
+ " 0 ",
+ " 0 11111 ",
+ " 00 111 ",
+ " 00 111 ",
+ " 0 1 11 ",
+ " 00 1 11 ",
+ " 0 1 11 ",
+ " 00 11 1 ",
+ " 0 11 1 ",
+ " 0 11 1 ",
+ " 00 111 ",
+ " 00 11 ",
+ " 00 11 ",
+ " 00 11 ",
+ " 11 ",
+ " "};
+
+static char *curved_line_chord_x32[] = {
+ "32 32 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ " ",
+ " ",
+ " 00000 ",
+ " 00000000 ",
+ " 000000 ",
+ " 00000 ",
+ " 0000 ",
+ " 000 ",
+ " 000 ",
+ " 0000 ",
+ " 000 ",
+ " 000 ",
+ " 0011111111 ",
+ " 00011111111 ",
+ " 000 1111 ",
+ " 000 11111 ",
+ " 00 11 111 ",
+ " 000 11 111 ",
+ " 00 11 111 ",
+ " 000 11 111 ",
+ " 00 111 1 ",
+ " 00 111 111 ",
+ " 000 11 111 ",
+ " 00 111 111 ",
+ " 00 11111 ",
+ " 00 111 ",
+ " 00 111 ",
+ " 00 111 ",
+ " 00 111 ",
+ " 11 ",
+ " ",
+ " "};
+
+static char **curved_line_chord_xpm[3] = { curved_line_chord_x16, curved_line_chord_x24, curved_line_chord_x32 };
+
diff --git a/app/bin/bitmaps/curved-line-end.xpm b/app/bin/bitmaps/curved-line-end.xpm
new file mode 100644
index 0000000..0e967ab
--- /dev/null
+++ b/app/bin/bitmaps/curved-line-end.xpm
@@ -0,0 +1,94 @@
+static char *curved_line_end_x16[] = {
+ "16 16 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ " ",
+ " 11 ",
+ " 1111 ",
+ " 11 ",
+ " 00011 ",
+ " 0000 11 ",
+ " 000 1111 ",
+ " 00 11 ",
+ " 00 ",
+ " 00 ",
+ " 0 ",
+ " 0 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 0 "};
+
+static char *curved_line_end_x24[] = {
+ "24 24 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #660000",
+ "2 c #CC0000",
+ " ",
+ " 2 ",
+ " 2222 ",
+ " 222222 ",
+ " 22 ",
+ " 22 ",
+ " 00012 ",
+ " 00000 2 ",
+ " 000 2 ",
+ " 000 22222 ",
+ " 00 222 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 0 ",
+ " 00 ",
+ " 0 ",
+ " 0 ",
+ " 00 ",
+ " 00 ",
+ " 0 ",
+ " 0 ",
+ " 0 ",
+ " 0 "};
+
+static char *curved_line_end_x32[] = {
+ "32 32 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #660000",
+ "2 c #CC0000",
+ " ",
+ " ",
+ " 222 ",
+ " 22222 ",
+ " 2222222 ",
+ " 22222 22 ",
+ " 222 ",
+ " 222 ",
+ " 0000122 ",
+ " 0000000 22 ",
+ " 000000 22 ",
+ " 00000 22 22 ",
+ " 0000 22222222 ",
+ " 000 2222222 ",
+ " 0000 2222 ",
+ " 000 2 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 00 ",
+ " 000 ",
+ " 00 ",
+ " 00 ",
+ " 000 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 000 ",
+ " 000 ",
+ " 00 ",
+ " "};
+
+static char **curved_line_end_xpm[3] = { curved_line_end_x16, curved_line_end_x24, curved_line_end_x32 };
+
diff --git a/app/bin/bitmaps/curved-line-middle.xpm b/app/bin/bitmaps/curved-line-middle.xpm
new file mode 100644
index 0000000..fceb7d6
--- /dev/null
+++ b/app/bin/bitmaps/curved-line-middle.xpm
@@ -0,0 +1,95 @@
+static char *curved_line_middle_x16[] = {
+ "16 16 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #800000",
+ " ",
+ " 00000",
+ " 0000 ",
+ " 000 ",
+ " 00 ",
+ " 00 ",
+ " 02111 ",
+ " 00111 ",
+ " 0 1111 ",
+ " 00 11 ",
+ " 0 11 ",
+ " 00 11 ",
+ " 00 11 ",
+ " 0 1 ",
+ " 0 ",
+ " 0 "};
+
+static char *curved_line_middle_x24[] = {
+ "24 24 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #CC0000",
+ " ",
+ " 0 ",
+ " 000000 ",
+ " 0000 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 0 ",
+ " 0 ",
+ " 0022222 ",
+ " 00 222 ",
+ " 0 22 2 ",
+ " 00 22 2 ",
+ " 00 22 ",
+ " 00 22 ",
+ " 0 22 ",
+ " 00 22 ",
+ " 00 22 ",
+ " 0 22 ",
+ " 0 2 ",
+ " 0 ",
+ " 0 ",
+ " "};
+
+static char *curved_line_middle_x32[] = {
+ "32 32 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #800000",
+ " ",
+ " ",
+ " 000000 ",
+ " 000000000 ",
+ " 000000 ",
+ " 00000 ",
+ " 00000 ",
+ " 0000 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 002 ",
+ " 000111111 ",
+ " 000 111111 ",
+ " 00 11111 ",
+ " 00 11 111 ",
+ " 000 11 111 ",
+ " 00 11 111 ",
+ " 000 111 ",
+ " 00 111 ",
+ " 00 111 ",
+ " 000 111 ",
+ " 00 111 ",
+ " 00 1111 ",
+ " 000 111 ",
+ " 00 111 ",
+ " 00 111 ",
+ " 00 1 ",
+ " 00 ",
+ " 00 ",
+ " "};
+
+static char **curved_line_middle_xpm[3] = { curved_line_middle_x16, curved_line_middle_x24, curved_line_middle_x32 };
+
diff --git a/app/bin/bitmaps/curved-line-tangent.xpm b/app/bin/bitmaps/curved-line-tangent.xpm
new file mode 100644
index 0000000..e184d3a
--- /dev/null
+++ b/app/bin/bitmaps/curved-line-tangent.xpm
@@ -0,0 +1,98 @@
+static char *curved_line_tangent_x16[] = {
+ "16 16 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #CC0000",
+ " ",
+ " 00000",
+ " 0000 ",
+ " 000 ",
+ " 00 ",
+ " 10 ",
+ " 022 ",
+ " 00 22 ",
+ " 00 22 ",
+ " 0 22 ",
+ " 00 22 ",
+ " 00 22 2 ",
+ " 0 22 2 ",
+ " 0 222 ",
+ "00 2222 ",
+ " 0 "};
+
+static char *curved_line_tangent_x24[] = {
+ "24 24 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #660000",
+ "3 c #CC0000",
+ " ",
+ " ",
+ " 000000 ",
+ " 0000 ",
+ " 000 ",
+ " 000 ",
+ " 00 ",
+ " 00 ",
+ " 01 ",
+ " 23 ",
+ " 0 3 ",
+ " 0 3 ",
+ " 00 3 ",
+ " 0 3 ",
+ " 0 33 ",
+ " 0 33 ",
+ " 00 33 ",
+ " 0 33 3 ",
+ " 00 33 3 ",
+ " 00 33 3 ",
+ " 00 333 ",
+ " 00 33333 ",
+ " 0 3 ",
+ " "};
+
+static char *curved_line_tangent_x32[] = {
+ "32 32 6 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #990000",
+ "3 c #CC0000",
+ "4 c #800000",
+ " ",
+ " ",
+ " 00000 ",
+ " 00000000 ",
+ " 0000000 ",
+ " 00000 ",
+ " 00000 ",
+ " 0000 ",
+ " 000 ",
+ " 000 ",
+ " 0000 ",
+ " 001 ",
+ " 0043 ",
+ " 002333 ",
+ " 00 333 ",
+ " 000 333 ",
+ " 000 333 ",
+ " 00 333 ",
+ " 000 333 ",
+ " 00 333 ",
+ " 000 333 ",
+ " 00 333 ",
+ " 00 333 3 ",
+ " 00 333 33 ",
+ " 00 333 33 ",
+ " 00 333 33 ",
+ " 00 333333 ",
+ " 000 3333 ",
+ " 000 33333333 ",
+ " 00 33333333 ",
+ " ",
+ " "};
+
+static char **curved_line_tangent_xpm[3] = { curved_line_tangent_x16, curved_line_tangent_x24, curved_line_tangent_x32 };
+
diff --git a/app/bin/bitmaps/curved-middle.xpm b/app/bin/bitmaps/curved-middle.xpm
new file mode 100644
index 0000000..70fc4de
--- /dev/null
+++ b/app/bin/bitmaps/curved-middle.xpm
@@ -0,0 +1,108 @@
+static char *curved_middle_x16[] = {
+ "16 16 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #CC9966",
+ "3 c #FF6666",
+ " 2 2 ",
+ " 2 0000 ",
+ " 2 00 2 2 ",
+ " 2 00 2 000 ",
+ " 0 2 002 2 ",
+ " 2 0 2 ",
+ " 0 1111 ",
+ " 20 113 ",
+ " 02 1313 ",
+ " 20 1 313 ",
+ " 0202 313 ",
+ " 0 0 313 ",
+ "20202 313 ",
+ " 0 0 313 ",
+ "20202 31 ",
+ " "};
+
+static char *curved_middle_x24[] = {
+ "24 24 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #996600",
+ "5 c #CC0000",
+ "6 c #CC6600",
+ "7 c #CC9900",
+ " 7 ",
+ " 7 430",
+ " 4300340",
+ " 7 0026 77 ",
+ " 320 730210",
+ " 7 00077 013037 ",
+ " 41 400 7 7 ",
+ " 037 037 ",
+ " 720 60 7 ",
+ " 167 027 ",
+ " 00 740 7 ",
+ " 743 37 ",
+ " 17740 655555 ",
+ " 00 736 55555 ",
+ " 742 00 555 ",
+ " 26760 5 55 ",
+ " 0 367 5 55 ",
+ " 00 0 5 55 ",
+ "7726720 5 ",
+ " 277277 5 ",
+ " 00 0 5 ",
+ " 00 00 5 ",
+ "7447447 5 ",
+ " 01 34 "};
+
+static char *curved_middle_x32[] = {
+ "32 32 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #666600",
+ "5 c #996600",
+ "6 c #CC0000",
+ "7 c #CC3300",
+ "8 c #CC6600",
+ "9 c #CC9900",
+ " ",
+ " 99 ",
+ " 9 002300",
+ " 5200038 ",
+ " 99 00038 9 ",
+ " 810 9 820",
+ " 028 8500033 ",
+ " 99 000 99 005 99 ",
+ " 930 9200 99 ",
+ " 059 015 ",
+ " 99 0 9 00 99 ",
+ " 983 920 ",
+ " 399 08 ",
+ " 0 99950 9 ",
+ " 99 0 9938 ",
+ " 935 299 ",
+ " 02999 0 97666666 ",
+ " 0 953 66666666 ",
+ " 00 0299 6666666 ",
+ " 9991 0 666666 ",
+ " 3599 00 6666666 ",
+ " 0 9839 666 6666 ",
+ " 00 0399 666 6666 ",
+ " 00 0 6666 ",
+ " 9919 00 666 ",
+ " 5399928 666 ",
+ " 00 3299 666 ",
+ " 00 00 666 ",
+ " 0 00 666 ",
+ "99289 15 666 ",
+ "990999199 66 ",
+ " 0 0 "};
+
+static char **curved_middle_xpm[3] = { curved_middle_x16, curved_middle_x24, curved_middle_x32 };
+
diff --git a/app/bin/bitmaps/curved-tangent.xpm b/app/bin/bitmaps/curved-tangent.xpm
new file mode 100644
index 0000000..6332785
--- /dev/null
+++ b/app/bin/bitmaps/curved-tangent.xpm
@@ -0,0 +1,116 @@
+static char *curved_tangent_x16[] = {
+ "16 16 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #CC9966",
+ "3 c #FF6666",
+ " 2 2 ",
+ " 2 0000 ",
+ " 2 00 2 2 ",
+ " 2 00 2 000 ",
+ " 0 2 002 2 ",
+ " 2 0 002 ",
+ " 0 13 ",
+ " 20 313 ",
+ " 020 313 ",
+ " 20 0 313 ",
+ " 0202 313 ",
+ " 0 0 313 1 ",
+ "20202 3131 ",
+ " 0 0 311 ",
+ "20202 1111 ",
+ " "};
+
+static char *curved_tangent_x24[] = {
+ "24 24 13 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #996600",
+ "5 c #CC0000",
+ "6 c #CC6600",
+ "7 c #CC6666",
+ "8 c #CC9900",
+ "9 c #CCCCCC",
+ "A c #FFCCCC",
+ "B c #FFFFFF",
+ " ",
+ " 8 440 ",
+ " 2400340 ",
+ " 830048 8 ",
+ " 014 88 8 ",
+ " 8600 88 80030 ",
+ " 34 80022 4 ",
+ " 00 8 33 ",
+ " 63 81048 ",
+ " 08BA 34 ",
+ " 60 95A0 ",
+ " 26 B755 ",
+ " 00 880B555 ",
+ " 60 43 555 ",
+ " 448 0 555 ",
+ " 0 8830 555 ",
+ " 00 438 555 ",
+ " 10 00 555 5 ",
+ " 828881 555 55 ",
+ " 0 8438 55555 ",
+ " 00 00 5555 ",
+ " 33 23 55555 ",
+ " 448836 55555 ",
+ " 0 0 "};
+
+static char *curved_tangent_x32[] = {
+ "32 32 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #993300",
+ "5 c #996600",
+ "6 c #CC0000",
+ "7 c #CC3333",
+ "8 c #CC6600",
+ "9 c #CC6666",
+ "A c #CC9900",
+ "B c #CC9999",
+ "C c #FFCCCC",
+ "D c #FFFFFF",
+ " ",
+ " AA ",
+ " AA 003200 ",
+ " 320005A ",
+ " A0000A A ",
+ " 32 AA A ",
+ " 005A AA A3 ",
+ " A 00 AA A000010 ",
+ " 33 A 0023 A ",
+ " 00AA 8200A ",
+ " A 00 A 018 ",
+ " 33 A500 A ",
+ " 02AADD 53 ",
+ " 00 D9BD08 ",
+ " A82 DC76BD ",
+ " 1AA DC766 ",
+ " 00 AA 0C666 ",
+ " 0 A3 666 ",
+ " A1 05A 666 ",
+ " 54A 00 666 ",
+ " 0 AAA0 666 ",
+ " 0 55 666 ",
+ " 00 0 666 ",
+ " 0 00 666 6 ",
+ " A3AAA 00 666 666 ",
+ " 00 AAA2A 6666666 ",
+ " 00 00 666666 ",
+ " 00 00 66666 ",
+ " 0 00 6666666 ",
+ " A3AAAA38 6666666 ",
+ " 0 08 ",
+ " "};
+
+static char **curved_tangent_xpm[3] = { curved_tangent_x16, curved_tangent_x24, curved_tangent_x32 };
+
diff --git a/app/bin/bitmaps/cut.xpm b/app/bin/bitmaps/cut.xpm
new file mode 100644
index 0000000..6dcae39
--- /dev/null
+++ b/app/bin/bitmaps/cut.xpm
@@ -0,0 +1,92 @@
+static char *cut_x16[] = {
+ "16 16 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ " ",
+ " ",
+ " 1 ",
+ " 1111 ",
+ " 11 11 ",
+ " 1111 ",
+ " 11 ",
+ " 11 11111 ",
+ " 11111111111111 ",
+ " 11111 1111 ",
+ " 1 11 111 ",
+ " 111 111 ",
+ " 111 ",
+ " 111 ",
+ " ",
+ " "};
+
+static char *cut_x24[] = {
+ "24 24 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 1111 ",
+ " 11 11 ",
+ " 111 11 ",
+ " 111 1 ",
+ " 1111 ",
+ " 1111 ",
+ " 1111 ",
+ " 1111 1111111 ",
+ " 11111111111111111111 ",
+ " 111111111111111111111 ",
+ " 1111111 111 ",
+ " 11 11 1111 ",
+ " 11 111 1111 ",
+ " 111 1111 ",
+ " 1111 ",
+ " 1111 ",
+ " 111 ",
+ " ",
+ " ",
+ " "};
+
+static char *cut_x32[] = {
+ "32 32 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 11111 ",
+ " 1111111 ",
+ " 111 111 ",
+ " 111 11 ",
+ " 1111 111 ",
+ " 111111111 ",
+ " 1111111 ",
+ " 1111 ",
+ " 11111 ",
+ " 11111 ",
+ " 11111 1111111111 ",
+ " 111111111111111111111111 ",
+ " 1111111111111111111111111111 ",
+ " 111111111111111111 ",
+ " 111 111 1111 ",
+ " 11 111 1111 ",
+ " 111 111 11111 ",
+ " 1111111 11111 ",
+ " 11111 1111 ",
+ " 1111 ",
+ " 11111 ",
+ " 11111 ",
+ " 111 ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char **cut_xpm[3] = { cut_x16, cut_x24, cut_x32 };
+
diff --git a/app/bin/bitmaps/dbench.xpm b/app/bin/bitmaps/dbench.xpm
deleted file mode 100644
index a880329..0000000
--- a/app/bin/bitmaps/dbench.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * dbench_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF9A691861",
-" .XXXX.XX",
-" .XXXX.XXX",
-" ..XXX..XXXX",
-" .XXXX.XXXXXX",
-" .XXXX.XXXXXXX",
-" ......XXXXXXXX",
-" .XXXX.XXXXXXXX",
-" .XXXX.XXXXXXXX",
-" .XXXX.XXXXXXX.",
-" .XXXX.XXXXXX. ",
-" .XXXX.XXXXX. ",
-" .XXXX.XXXX. ",
-" .XXXX.XX.. ",
-" .XXXX.X. ",
-" .XXXX.. ",
-" ...... "};
diff --git a/app/bin/bitmaps/dbezier.xpm b/app/bin/bitmaps/dbezier.xpm
deleted file mode 100644
index 1bf366f..0000000
--- a/app/bin/bitmaps/dbezier.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * dbezier_xpm[] = {
-"16 16 3 1",
-" c None",
-"! c #000000000000",
-"# c #FFFF00000000",
-" ### ",
-" # ########",
-" ### !!!!",
-" !!!! ",
-" !!!! ",
-" !!! ",
-" !!! ",
-" !! ",
-" !!! ",
-" !! ",
-" !!! ",
-" !!! ",
-" !!! ",
-"!!!! ### ",
-"######## # ",
-" ### "}; \ No newline at end of file
diff --git a/app/bin/bitmaps/dbox.xpm b/app/bin/bitmaps/dbox.xpm
deleted file mode 100644
index 83dbeec..0000000
--- a/app/bin/bitmaps/dbox.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * dbox_xpm[] = {
-"16 16 3 1",
-"X c None",
-" c #000000000000",
-". c #FFFF00000000",
-" .....",
-" XX..",
-" XXXXXXXXXXX.X.",
-" XXXXXXXXXX.XX.",
-" XXXXXXXXX.XX .",
-" XXXXXXXX.XXX ",
-" XXXXXXX.XXXX ",
-" XXXXXX.XXXXX ",
-" XXXXX.XXXXXX ",
-" XXXX.XXXXXXX ",
-" XXX.XXXXXXXX ",
-" XX.XXXXXXXXX ",
-" X.XXXXXXXXXX ",
-" .XXXXXXXXXXX ",
-".. ",
-".. "};
diff --git a/app/bin/bitmaps/dcircle1.xpm b/app/bin/bitmaps/dcircle1.xpm
deleted file mode 100644
index a17a56a..0000000
--- a/app/bin/bitmaps/dcircle1.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * dcircle1_xpm[] = {
-"16 16 3 1",
-" c #None",
-". c #000000000000",
-"X c #FFFF00000000",
-" ...... ",
-" ........ ",
-" ... ... ",
-" .XXXXXXXXXXX.. ",
-" .X X.. ",
-"..X XXX XXX X ..",
-". X X X X X ..",
-". X XXX XX X ..",
-". X X X X ..",
-". X X X X ..",
-"..X X XX X ..",
-" .X X.. ",
-" .XXXXXXXXXXX.. ",
-" ... ... ",
-" ........ ",
-" ...... "};
diff --git a/app/bin/bitmaps/dcircle2.xpm b/app/bin/bitmaps/dcircle2.xpm
deleted file mode 100644
index 36e4763..0000000
--- a/app/bin/bitmaps/dcircle2.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * dcircle2_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-" ...... ",
-" ........ ",
-" ... ... ",
-" ... .. ",
-" .. . ",
-".. ..",
-".. ..",
-".. XXXXX ..",
-".. XX ..",
-".. X X ..",
-".. X X ..",
-" .. X X . ",
-" ... X.. ",
-" ... .X ",
-" ......... ",
-" ...... "};
diff --git a/app/bin/bitmaps/dcircle3.xpm b/app/bin/bitmaps/dcircle3.xpm
deleted file mode 100644
index ec0dc1f..0000000
--- a/app/bin/bitmaps/dcircle3.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * dcircle3_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-" ...... ",
-" ........ ",
-" ... ... ",
-" .. .. ",
-" .. . ",
-".. ..",
-".. ..",
-".. XX ..",
-".. XX X ..",
-".. X X ..",
-".. X X ..",
-" . XX . ",
-" .. XXXXX.. ",
-" ... ... ",
-" ........ ",
-" ...... "};
diff --git a/app/bin/bitmaps/dcurve1.xpm b/app/bin/bitmaps/dcurve1.xpm
deleted file mode 100644
index 286e8bc..0000000
--- a/app/bin/bitmaps/dcurve1.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * dcurve1_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #FFFF00000000",
-"X c #000000000000",
-" . ",
-" ... ",
-" . . . ",
-" . . .",
-" XXX.X ",
-" XXXX.X ",
-" XXX . ",
-" XXX . . ",
-" XXX . . . ",
-" XXX ... ",
-" XXX . ",
-" XX ",
-" XXX ",
-" XX ",
-" XX ",
-" XX "};
diff --git a/app/bin/bitmaps/dcurve2.xpm b/app/bin/bitmaps/dcurve2.xpm
deleted file mode 100644
index 2714d5e..0000000
--- a/app/bin/bitmaps/dcurve2.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * dcurve2_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-" ",
-" ..... ",
-" ........",
-" .... ..",
-" ... .",
-" .X. ",
-" ...X ",
-" ... X ",
-" .. X ",
-" ... X ",
-" .. X ",
-" .. X X",
-" .. X X",
-" .. X X",
-" .. XX",
-" .. XXXXX"};
diff --git a/app/bin/bitmaps/dcurve3.xpm b/app/bin/bitmaps/dcurve3.xpm
deleted file mode 100644
index c452ffd..0000000
--- a/app/bin/bitmaps/dcurve3.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * dcurve3_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-" ",
-" ..... ",
-" ........",
-" .... .",
-" ... ",
-" .XXXXXX ",
-" ..XXX ",
-" .. XXX ",
-" .. X X ",
-" ... X X ",
-" .. X X ",
-" .. X ",
-" .. X ",
-" .. X ",
-" .. XX",
-" .. XX"};
diff --git a/app/bin/bitmaps/dcurve4.xpm b/app/bin/bitmaps/dcurve4.xpm
deleted file mode 100644
index 2474481..0000000
--- a/app/bin/bitmaps/dcurve4.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * dcurve4_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-" ",
-" ..... ",
-" ........",
-" .... ..",
-" ... ",
-" .XXXXXX ",
-" ..XXX ",
-" .. XXX ",
-" .. X X .",
-" .. X X . ",
-" .. X X . ",
-" .. X. ",
-" .. .X ",
-" .. . ",
-" .. . ",
-" .. . "};
diff --git a/app/bin/bitmaps/ddimlin.xpm b/app/bin/bitmaps/ddimlin.xpm
deleted file mode 100644
index 3980e44..0000000
--- a/app/bin/bitmaps/ddimlin.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * ddimlin_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #FFFF00000000",
-"X c #000000000000",
-" .....",
-" ..",
-" . .",
-" . .",
-" . .",
-" X XXX ",
-" X X X ",
-" XX XX ",
-" X X ",
-" XX XX ",
-" . ",
-". . ",
-". . ",
-". . ",
-".. ",
-"..... "};
diff --git a/app/bin/bitmaps/delete.xpm b/app/bin/bitmaps/delete.xpm
index 63b875a..9002046 100644
--- a/app/bin/bitmaps/delete.xpm
+++ b/app/bin/bitmaps/delete.xpm
@@ -1,22 +1,114 @@
-/* XPM */
-static char * delete_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #FF0000",
-"+ c #000000",
-" .. .. ",
-" .. .. ",
-" .. .. ",
-" .. .. ",
-" + .. .. + ",
-"++++++....++++++",
-" + +..+ + ",
-" + +..+ + ",
-" + .... + ",
-"+++++..++..+++++",
-" + .. .. + ",
-" .. .. ",
-" .. .. ",
-" .. .. ",
-".. ..",
-" "};
+static char *delete_x16[] = {
+ "16 16 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #990000",
+ "3 c #CC0000",
+ "4 c #CC3300",
+ "5 c #CC6600",
+ "6 c #CC9900",
+ "7 c #800000",
+ " ",
+ " ",
+ " 33 33 ",
+ " 33 333 ",
+ " 33 333 ",
+ " 6 6 533534 6 6 ",
+ "0000007333100000",
+ " 6 6 663346 6 6 ",
+ " 6 6 663356 6 6 ",
+ "0000007332000000",
+ " 6 6 633435 6 6 ",
+ " 333 33 ",
+ " 333 33 ",
+ " 33 333 ",
+ " 3 ",
+ " "};
+
+static char *delete_x24[] = {
+ "24 24 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333300",
+ "2 c #663300",
+ "3 c #993300",
+ "4 c #996600",
+ "5 c #CC0000",
+ "6 c #CC3300",
+ "7 c #CC6600",
+ "8 c #CC9900",
+ "9 c #800000",
+ " ",
+ " ",
+ " ",
+ " 555 555 ",
+ " 5555 555 ",
+ " 5555 555 ",
+ " 5555 5555 ",
+ " 555 5555 ",
+ " 8 8 75557556 8 8 ",
+ "01200200295555520020021 ",
+ " 47 7 74555567 7 74 ",
+ " 8 8 8 555578 8 8 ",
+ " 8 8 8 5555 8 8 8 ",
+ " 47 7 74555537 7 74 ",
+ "012002002255555200200210",
+ " 8 8 85556557 8 8 ",
+ " 5555 555 ",
+ " 555 555 ",
+ " 555 5555 ",
+ " 555 5555 ",
+ " 555 555 ",
+ " 5 5 ",
+ " ",
+ " "};
+
+static char *delete_x32[] = {
+ "32 32 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333300",
+ "2 c #663300",
+ "3 c #990000",
+ "4 c #993300",
+ "5 c #996600",
+ "6 c #CC0000",
+ "7 c #CC3300",
+ "8 c #CC6600",
+ "9 c #CC9900",
+ " ",
+ " ",
+ " ",
+ " 6 6 ",
+ " 666 666 ",
+ " 66666 66666 ",
+ " 66666 66666 ",
+ " 66666 6666 ",
+ " 66666 6666 ",
+ " 66666 66666 ",
+ " 66666 66666 ",
+ " 99 99 9766686667 99 99 ",
+ " 055005510254666666651025500550 ",
+ " 055005510255366666751025500550 ",
+ " 99 99 99 6666699 99 99 ",
+ " 99 99 99 6666699 99 99 ",
+ " 99 99 99 6666699 99 99 ",
+ " 99 99 99 6666699 99 99 ",
+ " 055005510255666666551025500550 ",
+ " 055005510254666666751025500550 ",
+ " 99 99 9766686668 99 99 ",
+ " 66666 6666 ",
+ " 6666 6666 ",
+ " 6666 66666 ",
+ " 66666 66666 ",
+ " 66666 66666 ",
+ " 6666 66666 ",
+ " 6666 666 ",
+ " 66 6 ",
+ " ",
+ " ",
+ " "};
+
+static char **delete_xpm[3] = { delete_x16, delete_x24, delete_x32 };
+
diff --git a/app/bin/bitmaps/describe.xpm b/app/bin/bitmaps/describe.xpm
index e5506a5..1cbeb20 100644
--- a/app/bin/bitmaps/describe.xpm
+++ b/app/bin/bitmaps/describe.xpm
@@ -1,22 +1,111 @@
-/* XPM */
-static char * describe_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #FFFF00000000",
-"X c #000000000000",
-" ...... ",
-" ... ... ",
-" ... ... ",
-" ... ... ",
-" ... ... ",
-" X X ... X ",
-"XXXXXXXX ... XX",
-" X X ... X ",
-" X .... X ",
-" X ... X ",
-"XXXX ... XXXXXX",
-" X ... X X ",
-" ... ",
-" ",
-" ... ",
-" ... "};
+static char *describe_x16[] = {
+ "16 16 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #CC9966",
+ "3 c #FF6666",
+ " ",
+ " 331133 ",
+ " 31111113 ",
+ " 113 311 ",
+ " 11 ",
+ " 2 2 2 3113 2 ",
+ "000000 3113 0000",
+ " 2 2 2 113 2 2 ",
+ " 2 2 2 11 2 2 2 ",
+ "000000 11 000000",
+ " 2 2 2 11 2 2 2 ",
+ " ",
+ " 11 ",
+ " 11 ",
+ " ",
+ " "};
+
+static char *describe_x24[] = {
+ "24 24 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333300",
+ "2 c #660000",
+ "3 c #663300",
+ "4 c #990000",
+ "5 c #996600",
+ "6 c #CC0000",
+ "7 c #CC6600",
+ "8 c #CC9900",
+ " ",
+ " ",
+ " ",
+ " 66666666 ",
+ " 6666666666 ",
+ " 66666666666 ",
+ " 6666 6666 ",
+ " 66 6666 ",
+ " 6666 ",
+ " 8 8 88 66666 8 88 ",
+ " 00000000046666620000000",
+ " 8 8 88666667 8 88 ",
+ " 8 8 886666 8 8 88 ",
+ " 8 8 886666 8 8 88 ",
+ " 1500510536664150051053 ",
+ " 1500510536664150051053 ",
+ " 8 8 8 6666 8 8 8 ",
+ " 666 ",
+ " 6 ",
+ " 66 ",
+ " 666 ",
+ " ",
+ " ",
+ " "};
+
+static char *describe_x32[] = {
+ "32 32 13 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #990000",
+ "5 c #993300",
+ "6 c #996600",
+ "7 c #CC0000",
+ "8 c #CC3300",
+ "9 c #CC6600",
+ "A c #CC9900",
+ "B c #800000",
+ " ",
+ " ",
+ " ",
+ " 7777 ",
+ " 7777777777 ",
+ " 777777777777 ",
+ " 77777777777777 ",
+ " 77777 77777 ",
+ " 7777 77777 ",
+ " 7777 77777 ",
+ " 77 7777 ",
+ " 77777 ",
+ " AA AA AA 777777 AA AA ",
+ " 066006630266B77777777106600660 ",
+ " 066006630266B77777785006600660 ",
+ " AA AA AA 777778AA AA AA ",
+ " AA AA AA 7777 AAA AA AA ",
+ " AA AA AA 7777 AAA AA AA ",
+ " AA AA AA 7777 AAA AA AA ",
+ " 033003320133B77770232003300330 ",
+ " 99 696 39947777 696 99 99 ",
+ " AA AA AA 7777 AAA AA AA ",
+ " 7777 ",
+ " 7777 ",
+ " 7 ",
+ " 77 ",
+ " 7777 ",
+ " 7777 ",
+ " 77 ",
+ " ",
+ " ",
+ " "};
+
+static char **describe_xpm[3] = { describe_x16, describe_x24, describe_x32 };
+
diff --git a/app/bin/bitmaps/description.xpm b/app/bin/bitmaps/description.xpm
new file mode 100644
index 0000000..47941b0
--- /dev/null
+++ b/app/bin/bitmaps/description.xpm
@@ -0,0 +1,101 @@
+static char *description_x16[] = {
+ "16 16 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066CC",
+ "2 c #0099FF",
+ "3 c #FF0000",
+ " ",
+ "00 000 00 00 ",
+ "0 0 0 0 0 ",
+ "0 0 00 0 0 ",
+ "0 0 0 0 0 ",
+ "00 000 00 00 ",
+ " 3 ",
+ " 333 ",
+ " 33333 ",
+ " 3 ",
+ " 2 2 2 3 2 2 2 ",
+ " 11111 3 11111 ",
+ " 2 2 2 2 2 2 ",
+ " 1111111111111 ",
+ " 2 2 2 2 2 2 2 ",
+ " "};
+
+static char *description_x24[] = {
+ "24 24 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066CC",
+ "2 c #0099FF",
+ "3 c #FF0000",
+ " ",
+ " ",
+ " ",
+ " 000 0000 000 00 ",
+ " 0 0 0 0 0 0 ",
+ " 0 0 000 00 0 ",
+ " 0 0 0 0 0 0 ",
+ " 000 0000 000 00 ",
+ " ",
+ " 33 ",
+ " 3333 ",
+ " 333333 ",
+ " 33 ",
+ " 33 ",
+ " 2 2 2 33 2 2 2 ",
+ " 111111111 33 11111111 ",
+ " 2 2 2 33 2 2 2 ",
+ " 2 2 2 33 2 2 2 ",
+ " 2 2 2 2 2 2 ",
+ " 111111111111111111111 ",
+ " 2 2 2 2 2 2 2 ",
+ " ",
+ " ",
+ " "};
+
+static char *description_x32[] = {
+ "32 32 8 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0000CC",
+ "2 c #0033CC",
+ "3 c #0066CC",
+ "4 c #0066FF",
+ "5 c #0099FF",
+ "6 c #CC0000",
+ " ",
+ " 0000 00000 000 000 ",
+ " 000000 00000 00000 00000 ",
+ " 00 000 00 00 00 ",
+ " 00 00 00000 0000 00 ",
+ " 00 000 00 0000 00 ",
+ " 00 000 00 0 00 000 0 ",
+ " 000000 00000 00000 00000 ",
+ " ",
+ " 66 ",
+ " 6666 ",
+ " 666666 ",
+ " 66666666 ",
+ " 6 66 66 ",
+ " 66 ",
+ " 66 ",
+ " 66 ",
+ " 66 ",
+ " 66 ",
+ " 66 ",
+ " ",
+ " 55 5 5 55 5 5 55 ",
+ " 55 35 53 55 35 53 45 ",
+ " 111111111111111111111111111111 ",
+ " 55 35 53 55 35 53 45 ",
+ " 55 5 5 55 5 5 55 ",
+ " 55 5 5 55 5 5 55 ",
+ " 55 35 53 55 35 53 45 ",
+ " 111111111111111111111111111111 ",
+ " 133112311133113311231113311331 ",
+ " 55 5 5 55 5 5 55 ",
+ " "};
+
+static char **description_xpm[3] = { description_x16, description_x24, description_x32 };
+
diff --git a/app/bin/bitmaps/dfilbox.xpm b/app/bin/bitmaps/dfilbox.xpm
deleted file mode 100644
index 4d78c26..0000000
--- a/app/bin/bitmaps/dfilbox.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * dfilbox_xpm[] = {
-"16 16 4 1",
-"o c None",
-" c #000000000000",
-". c #FFFF00000000",
-"X c #0000FFFFFFFF",
-" .....",
-" XXXXXXXXXXXXX..",
-" XXXXXXXXXXXX.X.",
-" XXXXXXXXXXX.XX.",
-" XXXXXXXXXX.XXX.",
-" XXXXXXXXX.XXXX ",
-" XXXXXXXX.XXXXX ",
-" XXXXXXX.XXXXXX ",
-" XXXXXX.XXXXXXX ",
-" XXXXX.XXXXXXXX ",
-" XXXX.XXXXXXXXX ",
-" XXX.XXXXXXXXXX ",
-" XX.XXXXXXXXXXX ",
-" X.XXXXXXXXXXXX ",
-"..XXXXXXXXXXXXX ",
-".. "};
diff --git a/app/bin/bitmaps/dfilpoly.xpm b/app/bin/bitmaps/dfilpoly.xpm
deleted file mode 100644
index 56a62ee..0000000
--- a/app/bin/bitmaps/dfilpoly.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * dfilpoly_xpm[] = {
-"16 16 4 1",
-"X c None",
-" c #FFFF00000000",
-". c #000000000000",
-"o c #0000FFFFFFFF",
-" ..... XXXXXXXXX",
-".oooooo..... XXX",
-".ooooooooo..XXXX",
-".oooooooo.XXXXXX",
-".oooooo..XXXXXXX",
-".ooooo.XXXXXXXXX",
-".oooo.XXXXXXXXXX",
-".oooo .XXXXXXXXX",
-".oooooo..... XXX",
-" oooooooooooo.. ",
-"X.oooooooooooo.X",
-"X.oooooooooo..XX",
-"XX.oooooooo.XXXX",
-"XXX.oooooo.XXXXX",
-"XXX.oooo..XXXXXX",
-"XXXX .. XXXXXXXX"};
diff --git a/app/bin/bitmaps/dflcrcl1.xpm b/app/bin/bitmaps/dflcrcl1.xpm
deleted file mode 100644
index 404660d..0000000
--- a/app/bin/bitmaps/dflcrcl1.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * dflcrcl1_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-" ...... ",
-" .. . . . ",
-" . . . . . .. ",
-" .XXXXXXXXXXX.. ",
-" .X X . ",
-". X XXX XXX X. .",
-"..X X X X X ..",
-". X XXX XX X. .",
-"..X X X X ..",
-". X X X X. .",
-"..X X XX X ..",
-". X X.. ",
-" .XXXXXXXXXXX . ",
-" .. . . . ... ",
-" . . . .. ",
-" ...... "};
diff --git a/app/bin/bitmaps/dflcrcl2.xpm b/app/bin/bitmaps/dflcrcl2.xpm
deleted file mode 100644
index c02d1ea..0000000
--- a/app/bin/bitmaps/dflcrcl2.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * dflcrcl2_xpm[] = {
-"16 16 4 1",
-" c None",
-". c #000000000000",
-"X c #0000FFFFFFFF",
-"o c #FFFF00000000",
-" ...... ",
-" .XXXXXX. ",
-" ..XXXXXXXX.. ",
-" .XXXXXXXXXXXX. ",
-" .XXXXXXXXXXXX. ",
-".XXXXXXXXXXXXXX.",
-".XXXXXXXXXXXXXX.",
-".XXXXXXoooooXXX.",
-".XXXXXXooXXXXXX.",
-".XXXXXXoXoXXXXX.",
-".XXXXXXoXXoXXXX.",
-" .XXXXXoXXXoXX. ",
-" .XXXXXXXXXXoX. ",
-" ..XXXXXXXXXo ",
-" .XXXXXX.. ",
-" ...... "};
diff --git a/app/bin/bitmaps/dflcrcl3.xpm b/app/bin/bitmaps/dflcrcl3.xpm
deleted file mode 100644
index e1bd80a..0000000
--- a/app/bin/bitmaps/dflcrcl3.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * dflcrcl3_xpm[] = {
-"16 16 4 1",
-" c None",
-". c #000000000000",
-"X c #0000FFFFFFFF",
-"o c #FFFF00000000",
-" ...... ",
-" .XXXXXX. ",
-" ..XXXXXXXX.. ",
-" .XXXXXXXXXXXX. ",
-" .XXXXXXXXXXXX. ",
-".XXXXXXXXXXXXXX.",
-".XXXXXXXXXXXXXX.",
-".XXXXXXooXXXXXX.",
-".XXXXXXooXXXoXX.",
-".XXXXXXXXoXXoXX.",
-".XXXXXXXXXoXoXX.",
-" .XXXXXXXXXooX. ",
-" .XXXXXXoooooX. ",
-" ..XXXXXXXX.. ",
-" .XXXXXX. ",
-" ...... "};
diff --git a/app/bin/bitmaps/dimension.xpm b/app/bin/bitmaps/dimension.xpm
new file mode 100644
index 0000000..faceac6
--- /dev/null
+++ b/app/bin/bitmaps/dimension.xpm
@@ -0,0 +1,94 @@
+static char *dimension_x16[] = {
+ "16 16 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #990000",
+ "2 c #999999",
+ " 1111",
+ " 111",
+ " 1111",
+ " 111 1",
+ " 11 ",
+ " 002 200 ",
+ " 0 0 ",
+ " 02 002 ",
+ " 0 0 0 ",
+ " 002 202 ",
+ " ",
+ " 11 ",
+ "1 111 ",
+ "1111 ",
+ "111 ",
+ "1111 "};
+
+static char *dimension_x24[] = {
+ "24 24 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #990000",
+ "2 c #CC0000",
+ " ",
+ " 222222 ",
+ " 22222 ",
+ " 22222",
+ " 222222",
+ " 222 22",
+ " 222 2 ",
+ " 22 ",
+ " 2 ",
+ " 000 0000 ",
+ " 0 00 0 0 ",
+ " 00 0000 ",
+ " 0000 00 ",
+ " 0 0 0 0 ",
+ " 0000 0000 ",
+ " 0 0 ",
+ " 22 ",
+ " 22 222 ",
+ " 22 222 ",
+ " 22222 ",
+ " 2222 ",
+ " 222222 ",
+ " 222222 ",
+ " "};
+
+static char *dimension_x32[] = {
+ "32 32 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ " ",
+ " 1111111 ",
+ " 11111111 ",
+ " 1111111 ",
+ " 11111 ",
+ " 111111 ",
+ " 1111 11 ",
+ " 1111 11 ",
+ " 1111 11 ",
+ " 1111 ",
+ " 111 ",
+ " ",
+ " 00000 00000 ",
+ " 00 00 00 00 ",
+ " 00 00 ",
+ " 000 000000 ",
+ " 000 00 00 ",
+ " 0000 00 ",
+ " 00 00 0 00 ",
+ " 00000 00000 ",
+ " 0 00 ",
+ " 11 ",
+ " 1 111 ",
+ " 111 1111 ",
+ " 111 1111 ",
+ " 111 1111 ",
+ " 1111111 ",
+ " 111111 ",
+ " 11111111 ",
+ " 11111111 ",
+ " 11111111 ",
+ " "};
+
+static char **dimension_xpm[3] = { dimension_x16, dimension_x24, dimension_x32 };
+
diff --git a/app/bin/bitmaps/dline.xpm b/app/bin/bitmaps/dline.xpm
deleted file mode 100644
index 2105dad..0000000
--- a/app/bin/bitmaps/dline.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * dline_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #FFFF00000000",
-"X c #000000000000",
-" .....",
-" ..",
-" . .",
-" . .",
-" . .",
-" . ",
-" X. ",
-" XXX ",
-" XXX ",
-" XXX ",
-" XXX ",
-" XXX ",
-" XXX ",
-" XXX ",
-"XXX ",
-"XX "};
diff --git a/app/bin/bitmaps/doc-export-bmap.xpm b/app/bin/bitmaps/doc-export-bmap.xpm
new file mode 100644
index 0000000..543cc1a
--- /dev/null
+++ b/app/bin/bitmaps/doc-export-bmap.xpm
@@ -0,0 +1,162 @@
+static char *doc_export_bmap_x16[] = {
+ "16 16 23 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333300",
+ "2 c #333333",
+ "3 c #336666",
+ "4 c #336699",
+ "5 c #3399CC",
+ "6 c #663333",
+ "7 c #666633",
+ "8 c #666666",
+ "9 c #669933",
+ "A c #6699CC",
+ "B c #996633",
+ "C c #996666",
+ "D c #999966",
+ "E c #999999",
+ "F c #CC0000",
+ "G c #CC9966",
+ "H c #CC9999",
+ "I c #CCCC99",
+ "J c #CCCCCC",
+ "K c #FFCCCC",
+ "L c #808080",
+ "2888888888872 ",
+ "8KH2788881JI2 ",
+ "8DIJKEJKKKHI2 ",
+ "8E99I8KKKKK82 ",
+ "8I99DHKKKKK22 ",
+ "8CII7JKKKKKHF ",
+ "8J2K7JKKKKKKFF ",
+ "8KKD2KKKIHHGFFFF",
+ "4LKK0KKKHHHGFFFF",
+ "4AAK2KKKKKKKFF ",
+ "4AAH2KIHHHK8F ",
+ "4AA32KCBBBI02 ",
+ "4AA4LKCBBBI62 ",
+ "4AAAKDIHHHKH2 ",
+ "4AAAKK88C2EI2 ",
+ "45558EEEEEED2 "};
+
+static char *doc_export_bmap_x24[] = {
+ "24 24 30 1",
+ " c None",
+ "0 c #000000",
+ "1 c #000033",
+ "2 c #003333",
+ "3 c #330000",
+ "4 c #333300",
+ "5 c #333333",
+ "6 c #336699",
+ "7 c #339933",
+ "8 c #3399CC",
+ "9 c #663333",
+ "A c #666633",
+ "B c #666666",
+ "C c #666699",
+ "D c #669933",
+ "E c #6699CC",
+ "F c #996633",
+ "G c #996666",
+ "H c #999966",
+ "I c #999999",
+ "J c #CC0000",
+ "K c #CC3333",
+ "L c #CC6666",
+ "M c #CC9966",
+ "N c #CC9999",
+ "O c #CCCC99",
+ "P c #CCCCCC",
+ "Q c #FFCC99",
+ "R c #FFCCCC",
+ "S c #808080",
+ "3000000000000000005 ",
+ "5RRRROOOOOOOOPRRRP5 ",
+ "5RRN5SSNNNNNNB5IRP5 ",
+ "5RGNRRRRORRRRRROBP5 ",
+ "5OSOHOROBRRRRRRRGO5 ",
+ "5BR77DOBORRRRRRROI5 ",
+ "5AOD7DOBRRRRRRRROS5 ",
+ "5BRODHINRRRRRRRRP5 ",
+ "5OHRRRHNRRRRRRRRRP J ",
+ "5RI9PRHNRRRRRRRRRRJJJ ",
+ "5RRRAIGORRRRRRRRRR JJJJ ",
+ "5RRRRHBORRRRQLLLLKJJJJJJ",
+ "5SORRR0ORRRRQLLLLKJJJJJJ",
+ "5EEBRR4ORRRRRRRRRR JJJJ ",
+ "5EEECRBPRRRRRRRRRRJJJ ",
+ "5EEE8RBPRRRRRRRRPG J ",
+ "5EEEENGPRO9999FRR5 ",
+ "5EEEEHGPRNFMMMFPRB5 ",
+ "5EEEESONRNFMMMFPOH5 ",
+ "5EEEECR9RO9999FRIN5 ",
+ "5EEEE6RIBRRRRRRR4P5 ",
+ "5EEEE8RRO3BNNNB0PP5 ",
+ "5EEEEEIRRRROOOPRRP5 ",
+ "2111110BBBBBBBBBBB5 "};
+
+static char *doc_export_bmap_x32[] = {
+ "32 32 26 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #333333",
+ "3 c #336666",
+ "4 c #336699",
+ "5 c #339933",
+ "6 c #339999",
+ "7 c #3399CC",
+ "8 c #663333",
+ "9 c #666633",
+ "A c #666666",
+ "B c #669933",
+ "C c #669966",
+ "D c #6699CC",
+ "E c #996633",
+ "F c #996666",
+ "G c #999966",
+ "H c #999999",
+ "I c #CC0000",
+ "J c #CC9966",
+ "K c #CC9999",
+ "L c #CCCC99",
+ "M c #CCCCCC",
+ "N c #FFCCCC",
+ "O c #808080",
+ "2000000000000000000000002 ",
+ "0NNNNNNNNNNNNNNNNNNNNNNN0 ",
+ "0NNNNMHFFFFFFFFFFOHLNNNN0 ",
+ "0NNNH2GKKKLLLLLLLKH9ALNN0 ",
+ "0NNFAMNNNNNMNNNNNNNNK2LN0 ",
+ "0NHANNLNNNLANNNNNNNNNHAN0 ",
+ "0N2LG5BLNNALNNNNNNNNNN2M0 ",
+ "0KANB55BMKHNNNNNNNNNNNAL0 ",
+ "0KOLB55BN9MNNNNNNNNNNNFK0 ",
+ "0LANLBBCL9NNNNNNNNNNNNFA2 ",
+ "0M2MNLMNKGNNNNNNNNNNNNKA ",
+ "0NAHNNNNKGNNNNNNNNNNNNNN II ",
+ "0NLAALNNKGNNNNNNNNNNNNN IIII ",
+ "0NNNK2HNHHNNNNNNNNNNNNN IIII ",
+ "0NNNNMFAHHNNNNNNNNNNNNN IIIII ",
+ "0NNNNNNGAHNNNNNNNIIIIIIIIIIIIIII",
+ "13LNNNNN2GNNNNNNNIIIIIIIIIIIIIII",
+ "1DD3KNNNAFNNNNNNNNNNNNN IIIII ",
+ "1DDDDHNNGHNNNNNNNNNNNNN IIII ",
+ "1DDDDDKNHHNNNNNNNNNNNNN IIII ",
+ "1DDDDDANHHNNNNNNNNNNNNM II ",
+ "1DDDDD4MHHNNNKKKKKKKNNH2 ",
+ "1DDDDD7LHHNNMEEEEEE8NNGF2 ",
+ "1DDDDDDLHGNNMEJJJJJ8NNGK0 ",
+ "1DDDDDDKL8NNMEJJJJJ8NNFK0 ",
+ "1DDDDDDHN2LNMEEEEEE8NNAL0 ",
+ "1DDDDDDANHANNKKKKKKLNL2M0 ",
+ "1DDDDDD3NNAFMNNNNNNNMAHN0 ",
+ "1DDDDDD6LNNH2FKLLLLH2ONN0 ",
+ "1DDDDDDDKNNNMKFAAAAGLNNN0 ",
+ "1DDDDDDD3NNNNNNNNNNNNNNN0 ",
+ "122222222AAAAAAAAAAAAAAA0 "};
+
+static char **doc_export_bmap_xpm[3] = { doc_export_bmap_x16, doc_export_bmap_x24, doc_export_bmap_x32 };
+
diff --git a/app/bin/bitmaps/doc-export-dxf.xpm b/app/bin/bitmaps/doc-export-dxf.xpm
new file mode 100644
index 0000000..7ac2c54
--- /dev/null
+++ b/app/bin/bitmaps/doc-export-dxf.xpm
@@ -0,0 +1,100 @@
+static char *doc_export_dxf_x16[] = {
+ "16 16 7 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #993333",
+ "3 c #996666",
+ "4 c #CC0000",
+ "5 c #CC3333",
+ "1111111111111 ",
+ "11 11 11 11 1 ",
+ "1 1 1 1 1 ",
+ "1111111111111 ",
+ "11 11 11 11 1 ",
+ "1 1 1 1 2 ",
+ "11111111111144 ",
+ "11 11 112325 44 ",
+ "1 1 1 44444444",
+ "11111111111144 ",
+ "1 1 1 1 4 ",
+ "1 1 1 1 1 ",
+ "1111111111111 ",
+ "1 1 1 1 1 ",
+ "1 1 1 1 1 ",
+ "1111111111111 "};
+
+static char *doc_export_dxf_x24[] = {
+ "24 24 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #996666",
+ "3 c #CC0000",
+ "11111111111111111111 ",
+ "11111111111111111111 ",
+ "11 1 11 1 11 ",
+ "11 1 11 1 11 ",
+ "11 1 11 1 11 ",
+ "11111111111111111111 ",
+ "11 1 11 1 11 ",
+ "11 1 11 1 1 ",
+ "11 1 11 1 33 ",
+ "111111111111111112333 ",
+ "11111111111111111 333 ",
+ "11 1 11 33333333333 ",
+ "11 1 11 33333333333 ",
+ "11 1 11 1 333 ",
+ "111111111111111112333 ",
+ "11 1 11 1 33 ",
+ "11 1 11 1 1 ",
+ "11 1 11 1 11 ",
+ "11111111111111111111 ",
+ "11 1 11 1 11 ",
+ "11 1 11 1 11 ",
+ "11 1 11 1 11 ",
+ "11 1 11 1 11 ",
+ "11111111111111111111 "};
+
+static char *doc_export_dxf_x32[] = {
+ "32 32 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #993333",
+ "3 c #CC0000",
+ " 1 11 11 11 11 ",
+ "11111111111111111111111111 ",
+ " 1 1 1 11 11 ",
+ " 1 1 1 11 11 ",
+ " 1 1 1 11 11 ",
+ " 1 1 1 11 11 ",
+ " 1 11 11 11 11 ",
+ "11111111111111111111111111 ",
+ " 1 1 1 11 11 ",
+ " 1 1 1 11 11 ",
+ " 1 1 1 11 ",
+ " 1 1 1 11 33 ",
+ " 1 11 11 11 333 ",
+ "11111111111111111111111 33333 ",
+ " 1 1 1 1 3333 ",
+ " 1 1 1 333333333333333 ",
+ " 1 1 1 333333333333333 ",
+ " 1 1 1 32 33333 ",
+ " 1 11 11 11 3333 ",
+ "1111111111111111111111123333 ",
+ " 1 1 1 1 33 ",
+ " 1 1 1 1 ",
+ " 1 1 1 1 11 ",
+ " 1 1 1 1 11 ",
+ "11111111111111111111111111 ",
+ "11111111111111111111111111 ",
+ " 1 1 1 1 11 ",
+ " 1 1 1 1 11 ",
+ " 1 1 1 1 11 ",
+ " 1 1 1 1 11 ",
+ " 1111111111111111111111111 ",
+ " 1111111111111111111111111 "};
+
+static char **doc_export_dxf_xpm[3] = { doc_export_dxf_x16, doc_export_dxf_x24, doc_export_dxf_x32 };
+
diff --git a/app/bin/bitmaps/doc-export-svg.xpm b/app/bin/bitmaps/doc-export-svg.xpm
new file mode 100644
index 0000000..72c85d3
--- /dev/null
+++ b/app/bin/bitmaps/doc-export-svg.xpm
@@ -0,0 +1,114 @@
+static char *doc_export_svg_x16[] = {
+ "16 16 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #003366",
+ "3 c #003399",
+ "4 c #006600",
+ "5 c #0066CC",
+ "6 c #0066FF",
+ "7 c #CC0000",
+ "8 c #008000",
+ " 888 ",
+ " 888888400000 ",
+ " 8 011 ",
+ "88 00 88 ",
+ "88 00 88 ",
+ "8800 88 7 ",
+ " 41 8 77 ",
+ " 048888 77777777",
+ " 0 77777777",
+ " 00 6 77 ",
+ " 00 666 7 ",
+ " 036 6 ",
+ " 300 6 ",
+ " 6 00230000 ",
+ " 66 32000 ",
+ " 666666666 "};
+
+static char *doc_export_svg_x24[] = {
+ "24 24 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #003366",
+ "3 c #003399",
+ "4 c #006600",
+ "5 c #0066CC",
+ "6 c #0066FF",
+ "7 c #CC0000",
+ "8 c #008000",
+ " 888 ",
+ " 88888888 ",
+ " 888 88840000000 ",
+ " 888 0111 ",
+ " 88 000 88 ",
+ "88 00 88 ",
+ "88 00 88 ",
+ "88 0 88 ",
+ " 8800 88 7 ",
+ " 880 88 777 ",
+ " 448 888 7777 ",
+ " 048888888 77777777777",
+ " 0 8888 77777777777",
+ " 0 7777 ",
+ " 0 66 7777 ",
+ " 00 66 7 ",
+ " 0 6 6 ",
+ " 056 66 ",
+ " 520 6 ",
+ " 6 000026 ",
+ " 6 00002000000 ",
+ " 66 5300000 ",
+ " 6666666666666 ",
+ " 6666666666666 "};
+
+static char *doc_export_svg_x32[] = {
+ "32 32 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #000033",
+ "2 c #003300",
+ "3 c #003366",
+ "4 c #003399",
+ "5 c #006600",
+ "6 c #0066CC",
+ "7 c #0066FF",
+ "8 c #CC0000",
+ "9 c #008000",
+ " 99 ",
+ " 99999999 ",
+ " 999999999999 00000000 ",
+ " 9999 9950000000000 ",
+ " 999 0000000 ",
+ " 999 0000299 ",
+ " 99 00000 99 ",
+ "999 0000 99 ",
+ "999 0000 99 ",
+ "999 000 99 ",
+ " 99 000 99 ",
+ " 995000 999 88 ",
+ " 99200 999 8888 ",
+ " 9005 9999 88888 ",
+ " 029999999999 88888 ",
+ " 002999999999 888888888888888",
+ " 000 99999 888888888888888",
+ " 000 88888 ",
+ " 000 7 88888 ",
+ " 000 777 88888 ",
+ " 00 77777 88 ",
+ " 000 777777 ",
+ " 000677 777 ",
+ " 0036 777 ",
+ " 63000 777 ",
+ " 76300000677 ",
+ " 777 00000146 ",
+ " 777 00000000000000 ",
+ " 777 3431000000 ",
+ " 777 777 ",
+ " 7777777777777777777 ",
+ "777777777777777777777 "};
+
+static char **doc_export_svg_xpm[3] = { doc_export_svg_x16, doc_export_svg_x24, doc_export_svg_x32 };
+
diff --git a/app/bin/bitmaps/doc-export-xtc.xpm b/app/bin/bitmaps/doc-export-xtc.xpm
new file mode 100644
index 0000000..6afb7c7
--- /dev/null
+++ b/app/bin/bitmaps/doc-export-xtc.xpm
@@ -0,0 +1,108 @@
+static char *doc_export_xtc_x16[] = {
+ "16 16 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #996666",
+ "3 c #CC0000",
+ "4 c #CC3333",
+ "5 c #CC9999",
+ "6 c #FFCCCC",
+ "7 c #FFFFFF",
+ "111111111111 ",
+ "177777777771 ",
+ "177777777771 ",
+ "177777777771 ",
+ "177777777771 ",
+ "1777777777713 ",
+ "17777777777133 ",
+ "1777777755543333",
+ "177777776662 33 ",
+ "17777777777133 ",
+ "1777777777713 ",
+ "177777777771 ",
+ "177777777771 ",
+ "177777777771 ",
+ "177777777771 ",
+ "111111111111 "};
+
+static char *doc_export_xtc_x24[] = {
+ "24 24 7 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #993333",
+ "3 c #CC0000",
+ "4 c #FFCCCC",
+ "5 c #FFFFFF",
+ " 1111111111111111 ",
+ "15555555555555551 ",
+ "15555555555555551 ",
+ "15555555555555551 ",
+ "15555555555555551 ",
+ "15555555555555551 ",
+ "15555555555555551 ",
+ "15555555555555551 ",
+ "15555555555555551 33 ",
+ "15555555555555551 3333 ",
+ "15555555555555551 3333 ",
+ "155555555555433333333333",
+ "15555555555544442333333 ",
+ "15555555555555551 333 ",
+ "15555555555555551 333 ",
+ "15555555555555551 3 ",
+ "15555555555555551 ",
+ "15555555555555551 ",
+ "15555555555555551 ",
+ "15555555555555551 ",
+ "15555555555555551 ",
+ "15555555555555551 ",
+ "15555555555555551 ",
+ " 1111111111111111 "};
+
+static char *doc_export_xtc_x32[] = {
+ "32 32 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #993333",
+ "3 c #CC0000",
+ "4 c #CC3333",
+ "5 c #CC9999",
+ "6 c #FFCCCC",
+ "7 c #FFFFFF",
+ " ",
+ " 1111111111111111111111 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 333 ",
+ " 1777777777777777777771 3333 ",
+ " 1777777777777777777771 33333 ",
+ " 177777777777777766666233333333 ",
+ " 1777777777777776333333333333333",
+ " 177777777777777655555433333333 ",
+ " 1777777777777777777771 3333 ",
+ " 1777777777777777777771 33333 ",
+ " 1777777777777777777771 333 ",
+ " 1777777777777777777771 3 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 ",
+ " 1777777777777777777771 ",
+ " 1111111111111111111111 ",
+ " "};
+
+static char **doc_export_xtc_xpm[3] = { doc_export_xtc_x16, doc_export_xtc_x24, doc_export_xtc_x32 };
+
diff --git a/app/bin/bitmaps/doc-export.xpm b/app/bin/bitmaps/doc-export.xpm
new file mode 100644
index 0000000..e594e38
--- /dev/null
+++ b/app/bin/bitmaps/doc-export.xpm
@@ -0,0 +1,119 @@
+static char *doc_export_x16[] = {
+ "16 16 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #993333",
+ "3 c #999999",
+ "4 c #CC0000",
+ "5 c #CC6666",
+ "6 c #CC9999",
+ "7 c #CCCCCC",
+ "8 c #FFCCCC",
+ "9 c #FFFFFF",
+ "A c #C0C0C0",
+ "111111111111 ",
+ "199999999991 ",
+ "199999999991 ",
+ "193333333391 ",
+ "193777777391 ",
+ "1937777773914 ",
+ "19377777739144 ",
+ "1937777765824444",
+ "19377777A582444 ",
+ "19377777739144 ",
+ "1937777773914 ",
+ "193333333391 ",
+ "199999999991 ",
+ "199999999991 ",
+ "199999999991 ",
+ "111111111111 "};
+
+static char *doc_export_x24[] = {
+ "24 24 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #993333",
+ "3 c #999999",
+ "4 c #CC0000",
+ "5 c #CC6666",
+ "6 c #CC9999",
+ "7 c #CCCCCC",
+ "8 c #FFCCCC",
+ "9 c #FFFFFF",
+ "A c #C0C0C0",
+ " 1111111111111111 ",
+ "199999999999999991 ",
+ "199999999999999991 ",
+ "199999999999999991 ",
+ "199999999999999991 ",
+ "199333333333333991 ",
+ "199377777777773991 ",
+ "199377777777773991 ",
+ "19937777777777399144 ",
+ "199377777777773991444 ",
+ "199377777777773991 4444 ",
+ "199377777777A44444444444",
+ "19937777777776588244444 ",
+ "199377777777773991 444 ",
+ "199377777777773991444 ",
+ "199377777777773991 4 ",
+ "199377777777773991 ",
+ "199333333333333991 ",
+ "199999999999999991 ",
+ "199999999999999991 ",
+ "199999999999999991 ",
+ "199999999999999991 ",
+ "199999999999999991 ",
+ " 1111111111111111 "};
+
+static char *doc_export_x32[] = {
+ "32 32 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #993333",
+ "3 c #999999",
+ "4 c #CC0000",
+ "5 c #CC3333",
+ "6 c #CC6666",
+ "7 c #CC9999",
+ "8 c #CCCCCC",
+ "9 c #FFCCCC",
+ "A c #FFFFFF",
+ " ",
+ " 1111111111111111111111 ",
+ " 1AAAAAAAAAAAAAAAAAAAA1 ",
+ " 1AAAAAAAAAAAAAAAAAAAA1 ",
+ " 1AAAAAAAAAAAAAAAAAAAA1 ",
+ " 1AAAAAAAAAAAAAAAAAAAA1 ",
+ " 1AAAAAAAAAAAAAAAAAAAA1 ",
+ " 1AAA33333333333333AAA1 ",
+ " 1AA3888888888888883AA1 ",
+ " 1AA3888888888888883AA1 ",
+ " 1AA3888888888888883AA1 ",
+ " 1AA3888888888888883AA1 444 ",
+ " 1AA3888888888888883AA1 4444 ",
+ " 1AA3888888888888883AA1 44444 ",
+ " 1AA388888888888877699244444444 ",
+ " 1AA3888888888888444444444444444",
+ " 1AA388888888888866677544444444 ",
+ " 1AA3888888888888883AA1 4444 ",
+ " 1AA3888888888888883AA1 44444 ",
+ " 1AA3888888888888883AA1 444 ",
+ " 1AA3888888888888883AA1 4 ",
+ " 1AA3888888888888883AA1 ",
+ " 1AA3888888888888883AA1 ",
+ " 1AA3333333333333333AA1 ",
+ " 1AAAAAAAAAAAAAAAAAAAA1 ",
+ " 1AAAAAAAAAAAAAAAAAAAA1 ",
+ " 1AAAAAAAAAAAAAAAAAAAA1 ",
+ " 1AAAAAAAAAAAAAAAAAAAA1 ",
+ " 1AAAAAAAAAAAAAAAAAAAA1 ",
+ " 1AAAAAAAAAAAAAAAAAAAA1 ",
+ " 1111111111111111111111 ",
+ " "};
+
+static char **doc_export_xpm[3] = { doc_export_x16, doc_export_x24, doc_export_x32 };
+
diff --git a/app/bin/bitmaps/doc-import-xtc.xpm b/app/bin/bitmaps/doc-import-xtc.xpm
new file mode 100644
index 0000000..4b00631
--- /dev/null
+++ b/app/bin/bitmaps/doc-import-xtc.xpm
@@ -0,0 +1,123 @@
+static char *doc_import_xtc_x16[] = {
+ "16 16 13 1",
+ " c None",
+ "0 c #000000",
+ "1 c #009933",
+ "2 c #336666",
+ "3 c #339966",
+ "4 c #666666",
+ "5 c #669966",
+ "6 c #999999",
+ "7 c #99CC99",
+ "8 c #99CCCC",
+ "9 c #CCCCCC",
+ "A c #FFFFFF",
+ "B c #C0C0C0",
+ " 4444444444444",
+ " 4AAAAAAAAAAA4",
+ " 4AAAAAAAAAAA4",
+ " 4AAAAAAAAAAA4",
+ " 4AAAAAAAAAAA4",
+ " 49AAAAAAAAAA4",
+ " 486AAAAAAAAA4",
+ "1112B739AAAAAAA4",
+ "1112B759AAAAAAA4",
+ " 496AAAAAAAAA4",
+ " 4BAAAAAAAAAA4",
+ " 4AAAAAAAAAAA4",
+ " 4AAAAAAAAAAA4",
+ " 4AAAAAAAAAAA4",
+ " 4AAAAAAAAAAA4",
+ " 4444444444444"};
+
+static char *doc_import_xtc_x24[] = {
+ "24 24 13 1",
+ " c None",
+ "0 c #000000",
+ "1 c #009933",
+ "2 c #336633",
+ "3 c #339966",
+ "4 c #666666",
+ "5 c #669966",
+ "6 c #669999",
+ "7 c #999999",
+ "8 c #99CC99",
+ "9 c #CCCCCC",
+ "A c #FFFFFF",
+ "B c #C0C0C0",
+ " 444444444444444444",
+ " 4AAAAAAAAAAAAAAAAA4",
+ " 4AAAAAAAAAAAAAAAAA4",
+ " 4AAAAAAAAAAAAAAAAA4",
+ " 4AAAAAAAAAAAAAAAAA4",
+ " 4AAAAAAAAAAAAAAAAA4",
+ " 4AAAAAAAAAAAAAAAAA4",
+ " 4AAAAAAAAAAAAAAAAA4",
+ " 498AAAAAAAAAAAAAAA4",
+ " 4516AAAAAAAAAAAAAA4",
+ " 4A8139AAAAAAAAAAAA4",
+ "111111111119AAAAAAAAAAA4",
+ "111112775119AAAAAAAAAAA4",
+ " 4A7159AAAAAAAAAAAA4",
+ " 4517AAAAAAAAAAAAAA4",
+ " 49BAAAAAAAAAAAAAAA4",
+ " 4AAAAAAAAAAAAAAAAA4",
+ " 4AAAAAAAAAAAAAAAAA4",
+ " 4AAAAAAAAAAAAAAAAA4",
+ " 4AAAAAAAAAAAAAAAAA4",
+ " 4AAAAAAAAAAAAAAAAA4",
+ " 4AAAAAAAAAAAAAAAAA4",
+ " 4AAAAAAAAAAAAAAAAA4",
+ " 4444444444444444444"};
+
+static char *doc_import_xtc_x32[] = {
+ "32 32 14 1",
+ " c None",
+ "0 c #000000",
+ "1 c #006633",
+ "2 c #009933",
+ "3 c #339933",
+ "4 c #339966",
+ "5 c #666666",
+ "6 c #669966",
+ "7 c #669999",
+ "8 c #99CC99",
+ "9 c #CCCCCC",
+ "A c #CCFFCC",
+ "B c #CCFFFF",
+ "C c #FFFFFF",
+ " 55555555555555555555555 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5939CCCCCCCCCCCCCCCCCCCC5",
+ " 56228CCCCCCCCCCCCCCCCCCC5",
+ " 5C6226CCCCCCCCCCCCCCCCCC5",
+ " 59982239CCCCCCCCCCCCCCCC5",
+ " 22222222222222BCCCCCCCCCCCCCCC5",
+ " 22222222222223CCCCCCCCCCCCCCCC5",
+ " 5CC7226ACCCCCCCCCCCCCCCC5",
+ " 594228CCCCCCCCCCCCCCCCCC5",
+ " 56239CCCCCCCCCCCCCCCCCCC5",
+ " 596ACCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 55555555555555555555555 "};
+
+static char **doc_import_xtc_xpm[3] = { doc_import_xtc_x16, doc_import_xtc_x24, doc_import_xtc_x32 };
+
diff --git a/app/bin/bitmaps/doc-import.xpm b/app/bin/bitmaps/doc-import.xpm
new file mode 100644
index 0000000..0b10537
--- /dev/null
+++ b/app/bin/bitmaps/doc-import.xpm
@@ -0,0 +1,123 @@
+static char *doc_import_x16[] = {
+ "16 16 13 1",
+ " c None",
+ "0 c #000000",
+ "1 c #009933",
+ "2 c #336666",
+ "3 c #339966",
+ "4 c #666666",
+ "5 c #669966",
+ "6 c #999999",
+ "7 c #99CC99",
+ "8 c #99CCCC",
+ "9 c #CCCCCC",
+ "A c #FFFFFF",
+ "B c #C0C0C0",
+ " 4444444444444",
+ " 4AAAAAAAAAAA4",
+ " 4AAAAAAAAAAA4",
+ " 4AAAAAAAAAAA4",
+ " 4A666666666A4",
+ " 49699999996A4",
+ " 48599999996A4",
+ "1112B537999996A4",
+ "1112B537999996A4",
+ " 49399999996A4",
+ " 4B699999996A4",
+ " 4A699999996A4",
+ " 4AA66666666A4",
+ " 4AAAAAAAAAAA4",
+ " 4AAAAAAAAAAA4",
+ " 4444444444444"};
+
+static char *doc_import_x24[] = {
+ "24 24 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #009933",
+ "2 c #336633",
+ "3 c #339966",
+ "4 c #666666",
+ "5 c #669966",
+ "6 c #999999",
+ "7 c #99CC99",
+ "8 c #CCCCCC",
+ "9 c #FFFFFF",
+ "A c #C0C0C0",
+ " 444444444444444444",
+ " 4999999999999999994",
+ " 4999999999999999994",
+ " 4999999999999999994",
+ " 4999999999999999994",
+ " 4999999999999999994",
+ " 4996666666666666994",
+ " 4996888888888886994",
+ " 4876888888888886994",
+ " 4613888888888886994",
+ " 49713A8888888886994",
+ "11111111111A888888886994",
+ "11111266311A888888886994",
+ " 49613A8888888886994",
+ " 4515888888888886994",
+ " 48A6888888888886994",
+ " 4996888888888886994",
+ " 4996888888888886994",
+ " 4999666666666666994",
+ " 4999999999999999994",
+ " 4999999999999999994",
+ " 4999999999999999994",
+ " 4999999999999999994",
+ " 4444444444444444444"};
+
+static char *doc_import_x32[] = {
+ "32 32 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #006633",
+ "2 c #009933",
+ "3 c #339933",
+ "4 c #339966",
+ "5 c #666666",
+ "6 c #669966",
+ "7 c #669999",
+ "8 c #999999",
+ "9 c #99CC99",
+ "A c #CCCCCC",
+ "B c #CCFFCC",
+ "C c #FFFFFF",
+ "D c #C0C0C0",
+ " 55555555555555555555555 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCC88888888888888888CCC5",
+ " 5CCC8AAAAAAAAAAAAAAA8CCC5",
+ " 5CCC8AAAAAAAAAAAAAAA8CCC5",
+ " 5B4A8AAAAAAAAAAAAAAA8CCC5",
+ " 56226AAAAAAAAAAAAAAA8CCC5",
+ " 5C7226DAAAAAAAAAAAAA8CCC5",
+ " 5AA92239AAAAAAAAAAAA8CCC5",
+ " 22222222222222DAAAAAAAAAAA8CCC5",
+ " 22222222222222DAAAAAAAAAAA8CCC5",
+ " 5CC7224DAAAAAAAAAAAA8CCC5",
+ " 5A4226AAAAAAAAAAAAAA8CCC5",
+ " 56226AAAAAAAAAAAAAAA8CCC5",
+ " 5A6B8AAAAAAAAAAAAAAA8CCC5",
+ " 5CCC8AAAAAAAAAAAAAAA8CCC5",
+ " 5CCC8AAAAAAAAAAAAAAA8CCC5",
+ " 5CCC8AAAAAAAAAAAAAAA8CCC5",
+ " 5CCC88888888888888888CCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 5CCCCCCCCCCCCCCCCCCCCCCC5",
+ " 55555555555555555555555 "};
+
+static char **doc_import_xpm[3] = { doc_import_x16, doc_import_x24, doc_import_x32 };
+
diff --git a/app/bin/bitmaps/doc-new.xpm b/app/bin/bitmaps/doc-new.xpm
new file mode 100644
index 0000000..cd4dbc1
--- /dev/null
+++ b/app/bin/bitmaps/doc-new.xpm
@@ -0,0 +1,127 @@
+static char *doc_new_x16[] = {
+ "16 16 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #009933",
+ "2 c #00CC33",
+ "3 c #00CC66",
+ "4 c #00FF66",
+ "5 c #33CC66",
+ "6 c #666666",
+ "7 c #669966",
+ "8 c #66CC99",
+ "9 c #99CC99",
+ "A c #CCCCCC",
+ "B c #CCFFCC",
+ "C c #FFFFFF",
+ "D c #C0C0C0",
+ " 666666666666 ",
+ " 6CCA9CCCCCC6 ",
+ " 6CC52ACCCCC6 ",
+ " 6D71278CCCC6 ",
+ " 6544444BCCC6 ",
+ " 6AD139DCCCC6 ",
+ " 6CC12ACCCCC6 ",
+ " 6CCA9CCCCCC6 ",
+ " 6CCCCCCCCCC6 ",
+ " 6CCCCCCCCCC6 ",
+ " 6CCCCCCCCCC6 ",
+ " 6CCCCCCCCCC6 ",
+ " 6CCCCCCCCCC6 ",
+ " 6CCCCCCCCCC6 ",
+ " 6CCCCCCCCCC6 ",
+ " 666666666666 "};
+
+static char *doc_new_x24[] = {
+ "24 24 14 1",
+ " c None",
+ "0 c #000000",
+ "1 c #009933",
+ "2 c #00CC33",
+ "3 c #00CC66",
+ "4 c #00FF66",
+ "5 c #33CC66",
+ "6 c #666666",
+ "7 c #66CC66",
+ "8 c #66CC99",
+ "9 c #99CC99",
+ "A c #CCCCCC",
+ "B c #CCFFCC",
+ "C c #FFFFFF",
+ " 666666666666666666 ",
+ " 6CCCCCCCCCCCCCCCC6 ",
+ " 6CCCC87ACCCCCCCCC6 ",
+ " 6CCCC347CCCCCCCCC6 ",
+ " 6CCCC547CCCCCCCCC6 ",
+ " 6C87734211ACCCCCC6 ",
+ " 6C344444449CCCCCC6 ",
+ " 6C522342229CCCCCC6 ",
+ " 6CCCB547CCCCCCCCC6 ",
+ " 6CCCB547CCCCCCCCC6 ",
+ " 6CCCC779CCCCCCCCC6 ",
+ " 6CCCCCCCCCCCCCCCC6 ",
+ " 6CCCCCCCCCCCCCCCC6 ",
+ " 6CCCCCCCCCCCCCCCC6 ",
+ " 6CCCCCCCCCCCCCCCC6 ",
+ " 6CCCCCCCCCCCCCCCC6 ",
+ " 6CCCCCCCCCCCCCCCC6 ",
+ " 6CCCCCCCCCCCCCCCC6 ",
+ " 6CCCCCCCCCCCCCCCC6 ",
+ " 6CCCCCCCCCCCCCCCC6 ",
+ " 6CCCCCCCCCCCCCCCC6 ",
+ " 6CCCCCCCCCCCCCCCC6 ",
+ " 6CCCCCCCCCCCCCCCC6 ",
+ " 666666666666666666 "};
+
+static char *doc_new_x32[] = {
+ "32 32 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #009933",
+ "2 c #00CC33",
+ "3 c #00FF66",
+ "4 c #339933",
+ "5 c #666666",
+ "6 c #669966",
+ "7 c #66CC99",
+ "8 c #99CC99",
+ "9 c #CCCCCC",
+ "A c #CCFFCC",
+ "B c #CCFFFF",
+ "C c #FFFFFF",
+ "D c #C0C0C0",
+ " 555555555555555555555555 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCC8111DCCCCCCCCCCCC5 ",
+ " 5CCCCC8232DCCCCCCCCCCCC5 ",
+ " 5CCCCC8232DCCCCCCCCCCCC5 ",
+ " 5CCAAA82328AAACCCCCCCCC5 ",
+ " 5C822223322221ACCCCCCCC5 ",
+ " 5C823333333332ACCCCCCCC5 ",
+ " 5C823333333332ACCCCCCCC5 ",
+ " 5C988842326888BCCCCCCCC5 ",
+ " 5CCCCC62329CCCCCCCCCCCC5 ",
+ " 5CCCCC72329CCCCCCCCCCCC5 ",
+ " 5CCCCC82229CCCCCCCCCCCC5 ",
+ " 5CCCCC9DDDBCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 5CCCCCCCCCCCCCCCCCCCCCC5 ",
+ " 555555555555555555555555 "};
+
+static char **doc_new_xpm[3] = { doc_new_x16, doc_new_x24, doc_new_x32 };
+
diff --git a/app/bin/bitmaps/doc-open.xpm b/app/bin/bitmaps/doc-open.xpm
new file mode 100644
index 0000000..992c9bf
--- /dev/null
+++ b/app/bin/bitmaps/doc-open.xpm
@@ -0,0 +1,136 @@
+static char *doc_open_x16[] = {
+ "16 16 17 1",
+ " c None",
+ "0 c #000000",
+ "1 c #663300",
+ "2 c #666600",
+ "3 c #666633",
+ "4 c #996633",
+ "5 c #996666",
+ "6 c #999966",
+ "7 c #999999",
+ "8 c #CC9966",
+ "9 c #CCCC66",
+ "A c #CCCC99",
+ "B c #CCCCCC",
+ "C c #FFCC99",
+ "D c #FFFFFF",
+ "E c #C0C0C0",
+ "F c #808080",
+ " ",
+ " ",
+ "2466666677F ",
+ "3C7BBBBBBBE7431 ",
+ "3C7DDDDDDDDBA61 ",
+ "3C7DDDDDDDDD761 ",
+ "3C51111111111113",
+ "3A3CCCCCCCCCCCC3",
+ "386CCCCCCCCCCC93",
+ "369CCCCCCCCCCC81",
+ "33CCCCCCCCCCCC4 ",
+ "24CCCCCCCCCCCC2 ",
+ "28CCCCCCCCCCCC3 ",
+ "368888888888862 ",
+ "222222222222221 ",
+ " "};
+
+static char *doc_open_x24[] = {
+ "24 24 18 1",
+ " c None",
+ "0 c #000000",
+ "1 c #663300",
+ "2 c #666600",
+ "3 c #666633",
+ "4 c #666666",
+ "5 c #996633",
+ "6 c #996666",
+ "7 c #999933",
+ "8 c #999966",
+ "9 c #999999",
+ "A c #CC9966",
+ "B c #CC9999",
+ "C c #CCCC66",
+ "D c #CCCC99",
+ "E c #FFCC99",
+ "F c #FFFFFF",
+ "G c #C0C0C0",
+ " ",
+ " ",
+ " ",
+ "355888888869 ",
+ "3CE9GGGGGGGGGGG941111 ",
+ "3CE9FFFFFFFFFFFFBBAA51 ",
+ "3CE9FFFFFFFFFFFFFGDE81 ",
+ "3CE9FFFFFFFFFFFFFFGE81 ",
+ "3CE9FFFFFFFFFFFFFFGE81 ",
+ "3CE988888888888888675333",
+ "3CE5CDDDDDDDDDDDDDDDDDA3",
+ "3CE3EEEEEEEEEEEEEEEEEEA1",
+ "3CC8EEEEEEEEEEEEEEEEEE5 ",
+ "3CACEEEEEEEEEEEEEEEEEE2 ",
+ "3C5EEEEEEEEEEEEEEEEEEE3 ",
+ "3A5EEEEEEEEEEEEEEEEEEA3 ",
+ "3A8EEEEEEEEEEEEEEEEEE71 ",
+ "37CEEEEEEEEEEEEEEEEEE3 ",
+ "33EEEEEEEEEEEEEEEEEEE3 ",
+ "35EEEEEEEEEEEEEEEEEEC3 ",
+ "25AAAAAAAAAAAAAAAAAA71 ",
+ "222222222222222222222 ",
+ " ",
+ " "};
+
+static char *doc_open_x32[] = {
+ "32 32 18 1",
+ " c None",
+ "0 c #000000",
+ "1 c #663300",
+ "2 c #666600",
+ "3 c #666633",
+ "4 c #996633",
+ "5 c #996666",
+ "6 c #999933",
+ "7 c #999966",
+ "8 c #999999",
+ "9 c #CC9966",
+ "A c #CC9999",
+ "B c #CCCC66",
+ "C c #CCCC99",
+ "D c #CCCCCC",
+ "E c #FFCC99",
+ "F c #FFFFFF",
+ "G c #C0C0C0",
+ " ",
+ " ",
+ " ",
+ " ",
+ "134444444444433 ",
+ "17EECGGGGGGGGG8888888 ",
+ "17EEGDFFFFFFFFFFFFFFD8311112 ",
+ "17EEGFFFFFFFFFFFFFFFFFAEEEE4 ",
+ "17EEGFFFFFFFFFFFFFFFFFFAEEE4 ",
+ "17EEGFFFFFFFFFFFFFFFFFFFGEE4 ",
+ "17EEGFFFFFFFFFFFFFFFFFFFDCE4 ",
+ "17EEGFFFFFFFFFFFFFFFFFFFDCE4 ",
+ "17EEGGGGGGGGGGGGGGGGGGGG8793111 ",
+ "17EE7799999999999999999999999941",
+ "17EE5CEEEEEEEEEEEEEEEEEEEEEEEE4 ",
+ "17EE3EEEEEEEEEEEEEEEEEEEEEEEEE2 ",
+ "17EC6EEEEEEEEEEEEEEEEEEEEEEEEE3 ",
+ "17E99EEEEEEEEEEEEEEEEEEEEEEEEB3 ",
+ "17E4EEEEEEEEEEEEEEEEEEEEEEEEE71 ",
+ "17E3EEEEEEEEEEEEEEEEEEEEEEEEE4 ",
+ "17B7EEEEEEEEEEEEEEEEEEEEEEEEE2 ",
+ "1799EEEEEEEEEEEEEEEEEEEEEEEEB3 ",
+ "174EEEEEEEEEEEEEEEEEEEEEEEEE92 ",
+ "174EEEEEEEEEEEEEEEEEEEEEEEEE61 ",
+ "147EEEEEEEEEEEEEEEEEEEEEEEEE2 ",
+ "14BEEEEEEEEEEEEEEEEEEEEEEEEE3 ",
+ "13EEEEEEEEEEEEEEEEEEEEEEEEEB3 ",
+ "12999999999999999999999999941 ",
+ " 222222222222222222222222222 ",
+ " ",
+ " ",
+ " "};
+
+static char **doc_open_xpm[3] = { doc_open_x16, doc_open_x24, doc_open_x32 };
+
diff --git a/app/bin/bitmaps/doc-print.xpm b/app/bin/bitmaps/doc-print.xpm
new file mode 100644
index 0000000..853014f
--- /dev/null
+++ b/app/bin/bitmaps/doc-print.xpm
@@ -0,0 +1,108 @@
+static char *doc_print_x16[] = {
+ "16 16 8 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #999999",
+ "3 c #CCCCCC",
+ "4 c #FFFFFF",
+ "5 c #C0C0C0",
+ "6 c #808080",
+ " 111111111111 ",
+ " 144444444441 ",
+ " 144444444441 ",
+ " 144444444441 ",
+ " 144444444441 ",
+ " 666666666666666",
+ "6255555555555556",
+ "6333333333333336",
+ "6333333333333336",
+ "6333333333333336",
+ "6311111111111136",
+ "6316111111654136",
+ "6512666666624136",
+ "6616111111165166",
+ " 166666666341 ",
+ " 111111111111 "};
+
+static char *doc_print_x24[] = {
+ "24 24 8 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #999999",
+ "3 c #CCCCCC",
+ "4 c #FFFFFF",
+ "5 c #C0C0C0",
+ "6 c #808080",
+ " 1111111111111111 ",
+ " 144444444444444441 ",
+ " 144444444444444441 ",
+ " 144444444444444441 ",
+ " 144444444444444441 ",
+ " 144444444444444441 ",
+ " 144444444444444441 ",
+ " 144444444444444441 ",
+ " 6666666666666666666666 ",
+ "625555555555555555555526",
+ "653333333333333333333356",
+ "653333333333333333333356",
+ "653333333333333333333356",
+ "653333333333333333333356",
+ "653333333333333333333356",
+ "653111111111111111111356",
+ "653136666666666634441356",
+ "653142222222222255441356",
+ "653142222222222225441356",
+ "662136666666666664441266",
+ " 136666666666666241 ",
+ " 142222222222233441 ",
+ " 145555555555544441 ",
+ " 1111111111111111 "};
+
+static char *doc_print_x32[] = {
+ "32 32 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #666666",
+ "3 c #999999",
+ "4 c #CCCCCC",
+ "5 c #FFFFFF",
+ "6 c #C0C0C0",
+ "7 c #808080",
+ " ",
+ " 2222222222222222222222 ",
+ " 2555555555555555555552 ",
+ " 2555555555555555555552 ",
+ " 2555555555555555555552 ",
+ " 2555555555555555555552 ",
+ " 2555555555555555555552 ",
+ " 2555555555555555555552 ",
+ " 2555555555555555555552 ",
+ " 2555555555555555555552 ",
+ " 2555555555555555555552 ",
+ " 777777777777777777777777777777 ",
+ " 7666666666666666666666666666677",
+ " 3444444444444444444444444444437",
+ " 3444444444444444444444444444437",
+ " 3444444444444444444444444444437",
+ " 3444444444444444444444444444437",
+ " 3444444444444444444444444444437",
+ " 3444444444444444444444444444437",
+ " 3444444444444444444444444444437",
+ " 3444222222222222222222222244437",
+ " 3444254444444444444455555244437",
+ " 3444267777777777777765555244437",
+ " 3444246666666666666666655244437",
+ " 3444246666666666666666655244437",
+ " 7444267777777777777773555244437",
+ " 777725444444444444444555527777 ",
+ " 2311111111111111111152 ",
+ " 2544444444444444555552 ",
+ " 2377777777777777455552 ",
+ " 2222222222222222222222 ",
+ " "};
+
+static char **doc_print_xpm[3] = { doc_print_x16, doc_print_x24, doc_print_x32 };
+
diff --git a/app/bin/bitmaps/doc-revert.xpm b/app/bin/bitmaps/doc-revert.xpm
new file mode 100644
index 0000000..4af778a
--- /dev/null
+++ b/app/bin/bitmaps/doc-revert.xpm
@@ -0,0 +1,134 @@
+static char *doc_revert_x16[] = {
+ "16 16 17 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #996633",
+ "3 c #CC6633",
+ "4 c #CC9900",
+ "5 c #CC9933",
+ "6 c #CC9966",
+ "7 c #CC9999",
+ "8 c #CCCC33",
+ "9 c #CCCC99",
+ "A c #CCCCCC",
+ "B c #FFCC00",
+ "C c #FFCC33",
+ "D c #FFCCCC",
+ "E c #FFFFCC",
+ "F c #FFFFFF",
+ " 111111111111 ",
+ " 1FFFFFFFFFF1 ",
+ " 1FFFFFFFFFF1 ",
+ " 1FFFADFFFFF1 ",
+ " 1FF639FFFFF1 ",
+ " 1D5BB529FFF1 ",
+ " 1F65B5B86FF1 ",
+ " 1FF93665C7F1 ",
+ " 1FFFDAFA55E1 ",
+ " 1FFFFFFF7491 ",
+ " 1FFFFFFFD561 ",
+ " 1FFFFFFFF251 ",
+ " 1FFFFFFFF621 ",
+ " 1FFFFFFFFFF1 ",
+ " 1FFFFFFFFFF1 ",
+ " 111111111111 "};
+
+static char *doc_revert_x24[] = {
+ "24 24 17 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #996600",
+ "3 c #996633",
+ "4 c #CC6633",
+ "5 c #CC9900",
+ "6 c #CC9933",
+ "7 c #CC9966",
+ "8 c #CC9999",
+ "9 c #CCCC99",
+ "A c #CCCCCC",
+ "B c #FFCC00",
+ "C c #FFCC33",
+ "D c #FFCCCC",
+ "E c #FFFFCC",
+ "F c #FFFFFF",
+ " 111111111111111111 ",
+ " 1FFFFFFFFFFFFFFFF1 ",
+ " 1FFFFFFFFFFFFFFFF1 ",
+ " 1FFFFFFFFFFFFFFFF1 ",
+ " 1FFFFFFFFFFFFFFFF1 ",
+ " 1FFFFFD8FFFFFFFFF1 ",
+ " 1FFFF863FFFFFFFFF1 ",
+ " 1FFD6CB37AFFFFFFF1 ",
+ " 1FA6BBBBB568FFFFF1 ",
+ " 1FF76BBBBBBB7FFFF1 ",
+ " 1FFFA6B2736BB7FFF1 ",
+ " 1FFFFE72FF96B69FF1 ",
+ " 1FFFFFF9FFF96B3FF1 ",
+ " 1FFFFFFFFFFF7B6DF1 ",
+ " 1FFFFFFFFFFFD6B8F1 ",
+ " 1FFFFFFFFFFFF7B3F1 ",
+ " 1FFFFFFFFFFFFA62F1 ",
+ " 1FFFFFFFFFFFFE66F1 ",
+ " 1FFFFFFFFFFFFF34E1 ",
+ " 1FFFFFFFFFFFFFAAF1 ",
+ " 1FFFFFFFFFFFFFFFF1 ",
+ " 1FFFFFFFFFFFFFFFF1 ",
+ " 1FFFFFFFFFFFFFFFF1 ",
+ " 111111111111111111 "};
+
+static char *doc_revert_x32[] = {
+ "32 32 17 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #996600",
+ "3 c #996633",
+ "4 c #CC6633",
+ "5 c #CC9900",
+ "6 c #CC9933",
+ "7 c #CC9966",
+ "8 c #CC9999",
+ "9 c #CCCC99",
+ "A c #CCCCCC",
+ "B c #FFCC00",
+ "C c #FFCC33",
+ "D c #FFCCCC",
+ "E c #FFFFCC",
+ "F c #FFFFFF",
+ " 111111111111111111111111 ",
+ " 1FFFFFFFFFFFFFFFFFFFFFF1 ",
+ " 1FFFFFFFFFFFFFFFFFFFFFF1 ",
+ " 1FFFFFFFFFFFFFFFFFFFFFF1 ",
+ " 1FFFFFFFFFFFFFFFFFFFFFF1 ",
+ " 1FFFFFFFFFFFFFFFFFFFFFF1 ",
+ " 1FFFFFFFFFFFFFFFFFFFFFF1 ",
+ " 1FFFFFFFE7DFFFFFFFFFFFF1 ",
+ " 1FFFFFF965AFFFFFFFFFFFF1 ",
+ " 1FFFFE76B59FFFFFFFFFFFF1 ",
+ " 1FFF96BBBB6328FFFFFFFFF1 ",
+ " 1FF86BBBBBBBBB68FFFFFFF1 ",
+ " 1FFF76BBBBBBBBBC7FFFFFF1 ",
+ " 1FFFFA6BB5266BBBB7FFFFF1 ",
+ " 1FFFFFF7C5AFA66BBC8FFFF1 ",
+ " 1FFFFFFF849FFF96BB6DFFF1 ",
+ " 1FFFFFFFFAAFFFF96BB7FFF1 ",
+ " 1FFFFFFFFFFFFFFF7BB6FFF1 ",
+ " 1FFFFFFFFFFFFFFFF6B6AFF1 ",
+ " 1FFFFFFFFFFFFFFFF7BB7FF1 ",
+ " 1FFFFFFFFFFFFFFFFD6B3FF1 ",
+ " 1FFFFFFFFFFFFFFFFF3B3FF1 ",
+ " 1FFFFFFFFFFFFFFFFF8B6FF1 ",
+ " 1FFFFFFFFFFFFFFFFFA66DF1 ",
+ " 1FFFFFFFFFFFFFFFFFD66AF1 ",
+ " 1FFFFFFFFFFFFFFFFFF87EF1 ",
+ " 1FFFFFFFFFFFFFFFFFFFFFF1 ",
+ " 1FFFFFFFFFFFFFFFFFFFFFF1 ",
+ " 1FFFFFFFFFFFFFFFFFFFFFF1 ",
+ " 1FFFFFFFFFFFFFFFFFFFFFF1 ",
+ " 1FFFFFFFFFFFFFFFFFFFFFF1 ",
+ " 111111111111111111111111 "};
+
+static char **doc_revert_xpm[3] = { doc_revert_x16, doc_revert_x24, doc_revert_x32 };
+
diff --git a/app/bin/bitmaps/doc-save-as.xpm b/app/bin/bitmaps/doc-save-as.xpm
new file mode 100644
index 0000000..2ded960
--- /dev/null
+++ b/app/bin/bitmaps/doc-save-as.xpm
@@ -0,0 +1,135 @@
+static char *doc_save_as_x16[] = {
+ "16 16 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066FF",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #666666",
+ "6 c #666699",
+ "7 c #669999",
+ "8 c #6699CC",
+ "9 c #996666",
+ "A c #999966",
+ "B c #9999CC",
+ "C c #CC9966",
+ "D c #FFCC66",
+ " ",
+ "111111 ",
+ "11111111 ",
+ "111111111 ",
+ " 1111 1 ",
+ " 111111 95 ",
+ " 111111 9DC5",
+ " 1111 9DD9 ",
+ " 1169DD9 ",
+ "2222222235DD9222",
+ "267B67B65CA98772",
+ "236736735C557442",
+ "2367367356547442",
+ "2367367367447442",
+ "2222222222222222",
+ " "};
+
+static char *doc_save_as_x24[] = {
+ "24 24 18 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066FF",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #666666",
+ "6 c #666699",
+ "7 c #669999",
+ "8 c #6699CC",
+ "9 c #996666",
+ "A c #999966",
+ "B c #9999CC",
+ "C c #99CCCC",
+ "D c #CC9966",
+ "E c #FF9966",
+ "F c #FFCC66",
+ "G c #808080",
+ " ",
+ " ",
+ "11111111111 ",
+ "111111111111 ",
+ "1111111111111 ",
+ " 11111 ",
+ " 1111 ",
+ " 1111111111 55 ",
+ " 1111111111 5DA5 ",
+ " 11111111 5DFFA5",
+ " 111111 5DFFE9 ",
+ " 11111 5DFFE9 ",
+ " 1111 5DFFF9 ",
+ " 11 5DFFF9 ",
+ "22222222222225AFFF922222",
+ "2C7C7C6C7C88GDDAF9C7CC72",
+ "286B4C0C4B775FFDG4C68862",
+ "286B4C0C4B775DD9C3C68862",
+ "286B4C0C4B777574C3C68862",
+ "286B4C0C4B77B4C3C3C68862",
+ "287C5C2C5C77C5C4C4C78872",
+ "222222222222222222222222",
+ " ",
+ " "};
+
+static char *doc_save_as_x32[] = {
+ "32 32 19 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066FF",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #666666",
+ "6 c #666699",
+ "7 c #669999",
+ "8 c #6699CC",
+ "9 c #996666",
+ "A c #999966",
+ "B c #999999",
+ "C c #9999CC",
+ "D c #99CCCC",
+ "E c #CC9966",
+ "F c #FF9966",
+ "G c #FFCC66",
+ "H c #808080",
+ " ",
+ " ",
+ " 111111 ",
+ " 1111111111111 ",
+ " 111111111111111 ",
+ " 1111111111111111 ",
+ " 1111111111111111 ",
+ " 111111 ",
+ " 11111 ",
+ " 111 1111 111 5 ",
+ " 111111111111 5A5 ",
+ " 111111111111 5EGE5 ",
+ " 1111111111 5EGGGE5 ",
+ " 1111111111 5EGGGGF9 ",
+ " 11111111 5EGGGGF9 ",
+ " 111111 5EGGGGF9 ",
+ " 11111 5EGGGGF9 ",
+ " 1111 5EGGGGF9 ",
+ " 222222222222222325EGGGGF922222 ",
+ "2DDDDDDDDDDDDDDDDB9EGGGFHDDDDDD2",
+ "2D8DD8DD8DD7DD7DBEGEEGFHDD7DD7D2",
+ "2D4CD4CD4CD3DD3DHFGGEEH2DD0DD0D2",
+ "2D4CD4CD4CD3DD3DHFGGFHD0DD0DD0D2",
+ "2D4CD4CD4CD3DD3DHEEE5DD0DD0DD0D2",
+ "2D4CD4CD4CD3DD3DC57B2DD0DD0DD0D2",
+ "2D4CD4CD4CD3DD3DD3DD0DD0DD0DD0D2",
+ "2D4CD4CD4CD3DD3DD3DD0DD0DD0DD0D2",
+ "2D6DD6DD6DD4DD4DD4DD3DD3DD3DD3D2",
+ "2DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD2",
+ "22222222222222222222222222222222",
+ " ",
+ " "};
+
+static char **doc_save_as_xpm[3] = { doc_save_as_x16, doc_save_as_x24, doc_save_as_x32 };
+
diff --git a/app/bin/bitmaps/doc-save.xpm b/app/bin/bitmaps/doc-save.xpm
new file mode 100644
index 0000000..f775f95
--- /dev/null
+++ b/app/bin/bitmaps/doc-save.xpm
@@ -0,0 +1,116 @@
+static char *doc_save_x16[] = {
+ "16 16 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066FF",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #666699",
+ "6 c #669999",
+ "7 c #6699CC",
+ "8 c #9999CC",
+ " ",
+ "111111 ",
+ "11111111 ",
+ "111111111 ",
+ " 1111 1 ",
+ " 111111 ",
+ " 111111 ",
+ " 1111 ",
+ " 11 ",
+ "2222222232222222",
+ "2568568567668662",
+ "2356356356446442",
+ "2356356356446442",
+ "2356356356446442",
+ "2222222222222222",
+ " "};
+
+static char *doc_save_x24[] = {
+ "24 24 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066FF",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #666666",
+ "6 c #666699",
+ "7 c #669999",
+ "8 c #6699CC",
+ "9 c #9999CC",
+ "A c #99CCCC",
+ " ",
+ " ",
+ "11111111111 ",
+ "111111111111 ",
+ "1111111111111 ",
+ " 11111 ",
+ " 1111 ",
+ " 1111111111 ",
+ " 1111111111 ",
+ " 11111111 ",
+ " 111111 ",
+ " 11111 ",
+ " 1111 ",
+ " 11 ",
+ "222222222222222222222222",
+ "2A7A7A6A7A88A7A7A7A7AA72",
+ "28694A0A497794A3A3A68862",
+ "28694A0A497794A3A3A68862",
+ "28694A0A497794A3A3A68862",
+ "28694A0A497794A3A3A68862",
+ "287A5A2A5A77A5A4A4A78872",
+ "222222222222222222222222",
+ " ",
+ " "};
+
+static char *doc_save_x32[] = {
+ "32 32 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066FF",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #666699",
+ "6 c #669999",
+ "7 c #6699CC",
+ "8 c #9999CC",
+ "9 c #99CCCC",
+ " ",
+ " ",
+ " 111111 ",
+ " 1111111111111 ",
+ " 111111111111111 ",
+ " 1111111111111111 ",
+ " 1111111111111111 ",
+ " 111111 ",
+ " 11111 ",
+ " 111 1111 111 ",
+ " 111111111111 ",
+ " 111111111111 ",
+ " 1111111111 ",
+ " 1111111111 ",
+ " 11111111 ",
+ " 111111 ",
+ " 11111 ",
+ " 1111 ",
+ " 222222222222222322222222222222 ",
+ "29999999999999999999999999999992",
+ "29799799799699699699699699699692",
+ "29489489489399399399099099099092",
+ "29489489489399399399099099099092",
+ "29489489489399399399099099099092",
+ "29489489489399399399099099099092",
+ "29489489489399399399099099099092",
+ "29489489489399399399099099099092",
+ "29599599599499499499399399399392",
+ "29999999999999999999999999999992",
+ "22222222222222222222222222222222",
+ " ",
+ " "};
+
+static char **doc_save_xpm[3] = { doc_save_x16, doc_save_x24, doc_save_x32 };
+
diff --git a/app/bin/bitmaps/doc-setup.xpm b/app/bin/bitmaps/doc-setup.xpm
new file mode 100644
index 0000000..c6c8e48
--- /dev/null
+++ b/app/bin/bitmaps/doc-setup.xpm
@@ -0,0 +1,110 @@
+static char *doc_setup_x16[] = {
+ "16 16 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #666666",
+ "3 c #999999",
+ "4 c #CCCCCC",
+ "5 c #FFFFFF",
+ "6 c #C0C0C0",
+ "7 c #808080",
+ "22222222222 ",
+ "25555555552 ",
+ "25555555552 ",
+ "25555555552 ",
+ "25555555552 ",
+ "25555555552 ",
+ "255555552222222 ",
+ "255555552555552 ",
+ "255555552555552 ",
+ "2555555477777777",
+ "2555554366666667",
+ "2555554644444443",
+ "2555554622222223",
+ "2222227311111723",
+ " 711111227",
+ " 1111122 "};
+
+static char *doc_setup_x24[] = {
+ "24 24 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #666666",
+ "3 c #999999",
+ "4 c #CCCCCC",
+ "5 c #FFFFFF",
+ "6 c #C0C0C0",
+ "7 c #808080",
+ "2222222222222222 ",
+ "2555555555555552 ",
+ "2555555555555552 ",
+ "2555555555555552 ",
+ "2555555555555552 ",
+ "2555555555555552 ",
+ "2555555555555552 ",
+ "2555555555555552 ",
+ "2555555555555552 ",
+ "2555555555552222222222 ",
+ "2555555555552555555552 ",
+ "2555555555552555555552 ",
+ "2555555555552555555552 ",
+ "2555555555552555555552 ",
+ "255555555544777777777777",
+ "255555555576666666666667",
+ "255555555574444444444443",
+ "255555555574444444444443",
+ "255555555574222222222243",
+ "255555555574277777735243",
+ "222222222274111111112247",
+ " 77222222223277",
+ " 1222222762 ",
+ " 2222222222 "};
+
+static char *doc_setup_x32[] = {
+ "32 32 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #666666",
+ "3 c #999999",
+ "4 c #CCCCCC",
+ "5 c #FFFFFF",
+ "6 c #C0C0C0",
+ "7 c #808080",
+ " 22222222222222222222 ",
+ "2555555555555555555552 ",
+ "2555555555555555555552 ",
+ "2555555555555555555552 ",
+ "2555555555555555555552 ",
+ "2555555555555555555552 ",
+ "2555555555555555555552 ",
+ "2555555555555555555552 ",
+ "2555555555555555555552 ",
+ "2555555555555555555552 ",
+ "2555555555555555555552 ",
+ "2555555555555555555552 ",
+ "2555555555555555555552 ",
+ "255555555555555522222222222222 ",
+ "255555555555555525555555555552 ",
+ "255555555555555525555555555552 ",
+ "255555555555555525555555555552 ",
+ "255555555555555525555555555552 ",
+ "255555555555555525555555555552 ",
+ "25555555555554447777777777777777",
+ "25555555555556366666666666666667",
+ "25555555555556644444444444444447",
+ "25555555555556644444444444444447",
+ "25555555555556644444444444444447",
+ "25555555555556642222222222222447",
+ "25555555555556642444444444555247",
+ "25555555555556642777777777455247",
+ " 2222222222227342777777777735247",
+ " 7772777777777745277",
+ " 27777777777742 ",
+ " 21111111125552 ",
+ " 22222222222222 "};
+
+static char **doc_setup_xpm[3] = { doc_setup_x16, doc_setup_x24, doc_setup_x32 };
+
diff --git a/app/bin/bitmaps/document-export.xpm b/app/bin/bitmaps/document-export.xpm
deleted file mode 100644
index 8d632de..0000000
--- a/app/bin/bitmaps/document-export.xpm
+++ /dev/null
@@ -1,90 +0,0 @@
-/* XPM */
-static char * export_xpm[] = {
-"16 16 71 1",
-" c None",
-". c #406C98",
-"+ c #DDF0FB",
-"@ c #D4E9F7",
-"# c #D1E7F5",
-"$ c #CEE4F4",
-"% c #CCE2F3",
-"& c #CCE1F2",
-"* c #A7C2DC",
-"= c #D6EBF7",
-"- c #C5DFEF",
-"; c #C1DBED",
-"> c #BCD6EA",
-", c #B6D0E8",
-"' c #B3CDE6",
-") c #B2CCE5",
-"! c #9AB6D2",
-"~ c #E5F6FF",
-"{ c #D7ECF8",
-"] c #C7E1EF",
-"^ c #85A4C2",
-"/ c #D7EDF8",
-"( c #C8E2F0",
-"_ c #D8EEF8",
-": c #CAE4F1",
-"< c #D9EEF9",
-"[ c #CBE5F2",
-"} c #8FAFCF",
-"| c #83A5C7",
-"1 c #DAEFF9",
-"2 c #CDE7F2",
-"3 c #81A3C5",
-"4 c #105293",
-"5 c #DAF0F9",
-"6 c #CEE8F3",
-"7 c #C0DAEB",
-"8 c #AFCCE0",
-"9 c #9AB9D4",
-"0 c #88A9C9",
-"a c #7FA1C3",
-"b c #CCE1F0",
-"c c #155493",
-"d c #DBF0FA",
-"e c #D0EAF4",
-"f c #CFE8F3",
-"g c #D4EAF6",
-"h c #E1F3FD",
-"i c #195793",
-"j c #DBF1FA",
-"k c #D1EBF4",
-"l c #C1DCEB",
-"m c #AFCBE0",
-"n c #98B7D1",
-"o c #84A4C4",
-"p c #799BBD",
-"q c #CBE0EF",
-"r c #1E5993",
-"s c #DCF1FA",
-"t c #D2ECF5",
-"u c #7597B9",
-"v c #275D94",
-"w c #DCF2FB",
-"x c #D3EDF5",
-"y c #84A4C0",
-"z c #6B8DAF",
-"A c #3D71A5",
-"B c #DDF2FB",
-"C c #D4EEF6",
-"D c #D8EDF8",
-"E c #E1F4FD",
-"F c #DFF2FC",
-" ......... ",
-" .+@#$%&&*. ",
-" .=-;>,')!~. ",
-" .{]-;>,'^^^. ",
-" ./(]-;>,')&. ",
-" ._:(]-;>,'&. ",
-" .<[:(]-;>}| ",
-" .12[:(]-;3~4 ",
-" .562[7890ab~c ",
-" .de62fg1h~~~~i",
-" .jke6lmnopq~r ",
-" .stke62[:u~v ",
-" .wxtke62[yzA ",
-" .BCxtke62[D. ",
-" .EBwsjd51<F. ",
-" ............ "};
diff --git a/app/bin/bitmaps/document-exportdxf.xpm b/app/bin/bitmaps/document-exportdxf.xpm
deleted file mode 100644
index fc4071b..0000000
--- a/app/bin/bitmaps/document-exportdxf.xpm
+++ /dev/null
@@ -1,84 +0,0 @@
-/* XPM */
-static char * export_dxf_xpm[] = {
-"16 16 65 1",
-" c None",
-". c #406C98",
-"+ c #DDF0FB",
-"@ c #D4E9F7",
-"# c #11CC22",
-"$ c #CEE4F4",
-"% c #CCE2F3",
-"& c #CCE1F2",
-"* c #A7C2DC",
-"= c #D6EBF7",
-"- c #C5DFEF",
-"; c #BCD6EA",
-"> c #B6D0E8",
-", c #B3CDE6",
-"' c #9AB6D2",
-") c #E5F6FF",
-"! c #D7ECF8",
-"~ c #C7E1EF",
-"{ c #C1DBED",
-"] c #85A4C2",
-"^ c #D8EEF8",
-"/ c #CAE4F1",
-"( c #D9EEF9",
-"_ c #CBE5F2",
-": c #C8E2F0",
-"< c #8FAFCF",
-"[ c #83A5C7",
-"} c #DAEFF9",
-"| c #CDE7F2",
-"1 c #81A3C5",
-"2 c #105293",
-"3 c #AFCCE0",
-"4 c #9AB9D4",
-"5 c #88A9C9",
-"6 c #7FA1C3",
-"7 c #CCE1F0",
-"8 c #155493",
-"9 c #DBF0FA",
-"0 c #D0EAF4",
-"a c #CFE8F3",
-"b c #D4EAF6",
-"c c #E1F3FD",
-"d c #195793",
-"e c #DBF1FA",
-"f c #D1EBF4",
-"g c #CEE8F3",
-"h c #C1DCEB",
-"i c #AFCBE0",
-"j c #98B7D1",
-"k c #84A4C4",
-"l c #799BBD",
-"m c #CBE0EF",
-"n c #1E5993",
-"o c #DCF1FA",
-"p c #D2ECF5",
-"q c #7597B9",
-"r c #275D94",
-"s c #84A4C0",
-"t c #6B8DAF",
-"u c #3D71A5",
-"v c #DDF2FB",
-"w c #D4EEF6",
-"x c #D8EDF8",
-"y c #E1F4FD",
-"z c #DFF2FC",
-" ......... ",
-" .+@#$%&#*. ",
-" .=-#;>,#'). ",
-" .!~#{;>#]]]. ",
-" .##########. ",
-" .^/#~-{#>,&. ",
-" .(_#:~-#;<[ ",
-" .}|#/:~#{1)2 ",
-" .#####34567)8 ",
-" .90#|ab}c))))d",
-" .ef#ghijklm)n ",
-" .op#0g|#/q)r ",
-" .########stu ",
-" .vw#pf0#|_x. ",
-" .yv#oe9#}(z. ",
-" ............ "};
diff --git a/app/bin/bitmaps/document-import.xpm b/app/bin/bitmaps/document-import.xpm
deleted file mode 100644
index 28dc3c8..0000000
--- a/app/bin/bitmaps/document-import.xpm
+++ /dev/null
@@ -1,92 +0,0 @@
-/* XPM */
-static char * import_xpm[] = {
-"16 16 73 1",
-" c None",
-". c #406C98",
-"+ c #DDF0FB",
-"@ c #D4E9F7",
-"# c #D1E7F5",
-"$ c #CEE4F4",
-"% c #CCE2F3",
-"& c #CCE1F2",
-"* c #A7C2DC",
-"= c #D6EBF7",
-"- c #C5DFEF",
-"; c #C1DBED",
-"> c #BCD6EA",
-", c #B6D0E8",
-"' c #B3CDE6",
-") c #B2CCE5",
-"! c #9AB6D2",
-"~ c #E5F6FF",
-"{ c #D7ECF8",
-"] c #C7E1EF",
-"^ c #85A4C2",
-"/ c #D7EDF8",
-"( c #C8E2F0",
-"_ c #D8EEF8",
-": c #94B4D1",
-"< c #86A7C9",
-"[ c #AECBE1",
-"} c #D9EEF9",
-"| c #81A3C5",
-"1 c #E4F6FF",
-"2 c #93B2D0",
-"3 c #B6D2E6",
-"4 c #155493",
-"5 c #7FA1C3",
-"6 c #CBE1F0",
-"7 c #DEF2FC",
-"8 c #A5C3DA",
-"9 c #BED9EA",
-"0 c #195793",
-"a c #DFF2FC",
-"b c #CFE7F4",
-"c c #1E5993",
-"d c #799BBD",
-"e c #CAE0EF",
-"f c #A4C2D9",
-"g c #C0DBEB",
-"h c #D4EAF7",
-"i c #DBF1FA",
-"j c #7597B9",
-"k c #8BABC7",
-"l c #B8D4E6",
-"m c #CBE5F2",
-"n c #CAE4F1",
-"o c #D5EBF7",
-"p c #DCF1FA",
-"q c #86A6C1",
-"r c #6F91B2",
-"s c #ACC9DC",
-"t c #CEE8F3",
-"u c #CDE7F2",
-"v c #D6ECF7",
-"w c #DCF2FB",
-"x c #D3EDF5",
-"y c #D2ECF5",
-"z c #D1EBF4",
-"A c #D0EAF4",
-"B c #DDF2FB",
-"C c #D4EEF6",
-"D c #D8EDF8",
-"E c #E1F4FD",
-"F c #DBF0FA",
-"G c #DAF0F9",
-"H c #DAEFF9",
-" ......... ",
-" .+@#$%&&* ",
-" .=-;>,')!~ ",
-" .{]-;>,'^^^. ",
-" ./(]-;>,')&. ",
-" ._:<[-;>,'&. ",
-" .}|123-;>,%. ",
-" 44556789-;>$. ",
-"0~~~~1a/b]-;#. ",
-" ccddeafg(]-h. ",
-" .ij1klmn(]o. ",
-" .pqrstumn(v. ",
-" .wxyzAtumn{. ",
-" .BCxyzAtumD. ",
-" .EBwpiFGH}a. ",
-" ............ "};
diff --git a/app/bin/bitmaps/document-importmod.xpm b/app/bin/bitmaps/document-importmod.xpm
deleted file mode 100644
index d0efd02..0000000
--- a/app/bin/bitmaps/document-importmod.xpm
+++ /dev/null
@@ -1,71 +0,0 @@
-/* XPM */
-static char *importmod_xpm[] = {
-/* columns rows colors chars-per-pixel */
-"16 16 49 1 ",
-" c #27795F",
-". c #305173",
-"X c #1A6878",
-"o c #07900F",
-"O c #0E8E14",
-"+ c #0B9C17",
-"@ c #10971E",
-"# c #0BA619",
-"$ c #10A51D",
-"% c #0DB61C",
-"& c #159E22",
-"* c #209E2D",
-"= c #18A727",
-"- c #16B627",
-"; c #27AB35",
-": c #30AF3B",
-"> c #2AB437",
-", c #31B63E",
-"< c #36BD46",
-"1 c #3CC44C",
-"2 c #40C94E",
-"3 c #44CB54",
-"4 c #54DB64",
-"5 c #195793",
-"6 c #3B6D8D",
-"7 c #39798B",
-"8 c #3F6E9C",
-"9 c #377C97",
-"0 c #3D77A6",
-"q c #3F7FBC",
-"w c #37878B",
-"e c #38938E",
-"r c #378399",
-"t c #3983A7",
-"y c #6F91B2",
-"u c #789ABC",
-"i c #7FA1C3",
-"p c #86A6C4",
-"a c #96B4D1",
-"s c #A7C4DB",
-"d c #AECBE1",
-"f c #B9D5E7",
-"g c #C0DBEB",
-"h c #C9E1EF",
-"j c #CDE4F2",
-"k c #D7EDF8",
-"l c #DFF2FC",
-"z c #E5F6FF",
-"x c None",
-/* pixels */
-"xxqqqqqqqqqxxxxx",
-"xxt3111;<>sqxxxx",
-"xxq1<<:O;<a;qxxx",
-"xxq<;;&x=2pppqxx",
-"xxq===$o+;>#xxxx",
-"xxq=aid=$=,1>txx",
-"xxq=ilaf->44>txx",
-"x5qiijlsg-31=0xx",
-"5zzzzzzkjh1,#rxx",
-"x5Xuuhlsf1111exx",
-"xxw<uzpf211;:exx",
-"xx9;pys1<<;$+9xx",
-"xx0@&@=<;;=%#9xx",
-"xx8;<;;===$##7xx",
-"xx8*<<==+@++#7xx",
-"xx.677776667w xx"
-};
diff --git a/app/bin/bitmaps/document-new.xpm b/app/bin/bitmaps/document-new.xpm
deleted file mode 100644
index df4790d..0000000
--- a/app/bin/bitmaps/document-new.xpm
+++ /dev/null
@@ -1,38 +0,0 @@
-/* XPM */
-static char *document_new[] = {
-/* columns rows colors chars-per-pixel */
-"16 16 16 1",
-" c #578757875787",
-". c #D8CCC69C0972",
-"X c #F68EE212077A",
-"o c #4DB24DB22F3A",
-"O c #6DBE6C5B24E5",
-"+ c #F4FCE3151187",
-"@ c #F755E8202525",
-"# c #EC82D7FE0467",
-"$ c #383338333833",
-"% c #E683DCF75128",
-"& c #F190EA107861",
-"* c #E462E45CE3EB",
-"= c #FFFDE56F00EE",
-"- c #E1C4CC690469",
-"; c None",
-": c #FFFFE5710000",
-/* pixels */
-" $$$$$$$$$oo.=;;",
-"$********%@++#-;",
-"$*******&@+@++#:",
-"$*******%+@&&@X=",
-"$*******%+@&&@X=",
-"$*****o*&@+@@+#:",
-"$***&****%@++@-;",
-"$*********%%%o;;",
-"$************$;;",
-"$************$;;",
-"$*&**********$;;",
-"$*******&****$;;",
-"$************$;;",
-"$************$;;",
-" $$$$$$$$$$$$ ;;",
-";;;;;;;;;;;;;;;;"
-};
diff --git a/app/bin/bitmaps/document-open.xpm b/app/bin/bitmaps/document-open.xpm
deleted file mode 100644
index be91cd7..0000000
--- a/app/bin/bitmaps/document-open.xpm
+++ /dev/null
@@ -1,35 +0,0 @@
-/* XPM */
-static char * document_open[] = {
-"16 16 16 1",
-" c None",
-". c #181917",
-"+ c #292928",
-"@ c #DBDBDB",
-"# c #5E5F5E",
-"$ c #181919",
-"% c #A6A6A5",
-"& c #09215F",
-"* c #092260",
-"= c #88ABD2",
-"- c #779BCA",
-"; c #4A76B5",
-"> c #265299",
-", c #243F67",
-"' c #0F2D6C",
-") c #082160",
-" ...+.++. ",
-" +.@@@@@@#. ",
-"++++.@@@@@@@#$ ",
-"+%%#.@#####@@#$ ",
-"+%%#+@@@@@@@@%. ",
-".%%#.@######@%. ",
-".%%#.@@@@@@@@%. ",
-".%&&&&&&&&&&&&&*",
-"+%&=====-======&",
-".%&=;;;;;;;;;;-&",
-".%&=;;-;;;-;;;-&",
-"$%&=;;;-;;;;;;-&",
-".%*;;;>>;>;>>>;&",
-"$%&;>>>;>;>>;>;&",
-".,&,'>'>>>>''>'*",
-"$&&&&&&&&&&&&&*)"};
diff --git a/app/bin/bitmaps/document-print.xpm b/app/bin/bitmaps/document-print.xpm
deleted file mode 100644
index 69802d6..0000000
--- a/app/bin/bitmaps/document-print.xpm
+++ /dev/null
@@ -1,24 +0,0 @@
-/* XPM */
-static char * document_print_xpm[] = {
-"16 16 5 1",
-" c None",
-". c #BABDB6",
-"+ c #EEEEEC",
-"@ c #888A85",
-"# c #D3D7CF",
-" ",
-" ........... ",
-" .++++@++++. ",
-" .+..@@@..+. ",
-" .++@@@@@++. ",
-" .+...@...+. ",
-" .++++@++++. ",
-" .+++++++++. ",
-" @@@.........@@@",
-" @+++++++++++++@",
-" @+#+.+#+#+#+#+@",
-" @+###########+@",
-" @+.@@@@@@@@@.+@",
-" @+...........+@",
-" @+###########+@",
-" @@@@@@@@@@@@@@@"};
diff --git a/app/bin/bitmaps/document-save.xpm b/app/bin/bitmaps/document-save.xpm
deleted file mode 100644
index afc2ce6..0000000
--- a/app/bin/bitmaps/document-save.xpm
+++ /dev/null
@@ -1,35 +0,0 @@
-/* XPM */
-static char * document_save[] = {
-"16 16 16 1",
-" c None",
-". c #193A55",
-"+ c #192933",
-"@ c #0A2342",
-"# c #122735",
-"$ c #536974",
-"% c #A7BDC6",
-"& c #5180AA",
-"* c #244E77",
-"= c #272925",
-"- c #102C4B",
-"; c #E6E6E6",
-"> c #7095AB",
-", c #2D5C8D",
-"' c #6E6E6E",
-") c #9B9C9B",
-".+..@@@#. ",
-"...$%%&*@ ",
-"+=#---&%*#=====.",
-"=%;%>,@>&-%;;;;=",
-"=;;%%$@,&-'%;;;=",
-"=;;@@@@,*@@@@;;=",
-"=;;)@&***,&@$%;=",
-"=;;;)@&,,>@$;;;=",
-"=;;;%)@>&@$%;;;=",
-"=;;;;;)#@$;;;;;=",
-"=;;;;;;;;;;;;;;=",
-"=))))))))))))))=",
-"=))')')')')')')=",
-"=))')')')')')')=",
-"=))))))))))))))=",
-"+==============+"};
diff --git a/app/bin/bitmaps/down.xpm b/app/bin/bitmaps/down.xpm
new file mode 100644
index 0000000..8edaca4
--- /dev/null
+++ b/app/bin/bitmaps/down.xpm
@@ -0,0 +1,89 @@
+static char *down_x16[] = {
+ "8 16 2 1",
+ " c None",
+ "0 c #000000",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 000000 ",
+ " 000000 ",
+ " 0000 ",
+ " 00 ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char *down_x24[] = {
+ "12 24 2 1",
+ " c None",
+ "0 c #000000",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 0000000000 ",
+ " 0000000000 ",
+ " 0000000000 ",
+ " 00000000 ",
+ " 000000 ",
+ " 0000 ",
+ " 00 ",
+ " 0 ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char *down_x32[] = {
+ "16 32 2 1",
+ " c None",
+ "0 c #000000",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 0000000000000 ",
+ " 0000000000000 ",
+ " 0000000000000 ",
+ " 000000000000 ",
+ " 0000000000 ",
+ " 00000000 ",
+ " 000000 ",
+ " 0000 ",
+ " 000 ",
+ " 00 ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char **down_xpm[3] = { down_x16, down_x24, down_x32 };
+
diff --git a/app/bin/bitmaps/dpoly.xpm b/app/bin/bitmaps/dpoly.xpm
deleted file mode 100644
index b46993e..0000000
--- a/app/bin/bitmaps/dpoly.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * dpoly_xpm[] = {
-"16 16 3 1",
-"X c None",
-" c #FFFF00000000",
-". c #000000000000",
-" ..... XXXXXXXXX",
-".XXXXXX..... XXX",
-".XXXXXXXXX..XXXX",
-".XXXXXXXX.XXXXXX",
-".XXXXXX..XXXXXXX",
-".XXXXX.XXXXXXXXX",
-".XXX..XXXXXXXXXX",
-".XX ...XXXXXXXXX",
-".XXXXXX......XXX",
-" XXXXXXXXXXXX.. ",
-"X.XXXXXXXXXXXX.X",
-"X.XXXXXXXXXX..XX",
-"XX.XXXXXXXX.XXXX",
-"XXX.XXXXXX.XXXXX",
-"XXX.XXXX..XXXXXX",
-"XXXX .. XXXXXXXX"};
diff --git a/app/bin/bitmaps/dpolyline.xpm b/app/bin/bitmaps/dpolyline.xpm
deleted file mode 100644
index 7f01bda..0000000
--- a/app/bin/bitmaps/dpolyline.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * dpolyline_xpm[] = {
-"16 16 3 1",
-"X c None",
-" c #FFFF00000000",
-". c #000000000000",
-"XXXXXXXXXXXXXXXX",
-"XXXXXXX .... XXX",
-"XXXXXXXXXX..XXXX",
-"XXXXXXXXX.XXXXXX",
-"XXXXXXX..XXXXXXX",
-"XXXXXX.XXXXXXXXX",
-"XXXX..XXXXXXXXXX",
-"XXX ...XXXXXXXXX",
-"XXXXXXX......XXX",
-" XXXXXXXXXXXX.. ",
-"X.XXXXXXXXXXXX.X",
-"X.XXXXXXXXXX..XX",
-"XX.XXXXXXXX.XXXX",
-"XXX.XXXXXX.XXXXX",
-"XXX.XXXX..XXXXXX",
-"XXXX .. XXXXXXXX"};
-
diff --git a/app/bin/bitmaps/dtbledge.xpm b/app/bin/bitmaps/dtbledge.xpm
deleted file mode 100644
index 7772d10..0000000
--- a/app/bin/bitmaps/dtbledge.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * dtbledge_xpm[] = {
-"16 16 4 1",
-"o c None",
-". c #000000000000",
-" c #0000FFFF0000",
-"X c #861782078617",
-" .",
-" ..",
-" .X",
-" ..X",
-" ..XX",
-" .XXX",
-" ..XXX",
-" ..XXXX",
-" .XXXXo",
-" ..XXXXo",
-" .XXXXoo",
-"..........XXXooo",
-"..........XXXooo",
-"XXXXXXXX..XXoooo",
-"XXXXXXXX..Xooooo",
-"XXXXXXXX..Xooooo"};
diff --git a/app/bin/bitmaps/ease-broad.xpm b/app/bin/bitmaps/ease-broad.xpm
new file mode 100644
index 0000000..646791e
--- /dev/null
+++ b/app/bin/bitmaps/ease-broad.xpm
@@ -0,0 +1,89 @@
+/* XPM */
+static char * ease_broad_x16[] = {
+"41 16 2 1",
+" c None",
+"x c #000000000000",
+"xxxxx x ",
+"x xxx",
+"x xx xxx xx xxx xx xx xxx x ",
+"xxxx x x x x x x x x x x x x x ",
+"x x x xx xxxx x x x xxxx x x x ",
+"x x xx x x x x x x x x x ",
+"xxxxx x x xxx xxx x x x xxx x x x",
+" ",
+" xxxx x ",
+" x x x ",
+" x x xxx xx xx xxx ",
+" xxxx x x x x x x x x ",
+" x x x x x x x x x ",
+" x x x x x x xx x x ",
+" xxxx x xx x x xxx ",
+" "};
+
+static char* ease_broad_x24[] = {
+"56 24 2 1",
+" c None",
+"x c #000000",
+" ",
+"xxxxxx ",
+"xx ",
+"xx x ",
+"xx xx ",
+"xxxx xxxxx xxxxx xxxx xxx xx xxxx xx xx xxxxxx",
+"xx xx xx xx xx xx xxxxxxxx xx xx xxx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx xx xx ",
+"xx xx xx xxxx xxxxxx xx xx xx xxxxxx xx xx xx ",
+"xx xx xx xx xx xx xx xx xx xx xx xx ",
+"xxxxxx xxx x xxxxx xxxxx xx xx xx xxxxx xx xx xxx",
+" ",
+" xxxxxx xx ",
+" xx xx xx ",
+" xx xx xx ",
+" xx xx xx ",
+" xxxxxx xx xxx xxxxx xxxxxx xxxxxx ",
+" xx xx xxx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx ",
+" xxxxxx xx xxxxx xxxx x xxxxxx ",
+" ",
+" "};
+
+static char* ease_broad_x32[] = {
+"66 32 2 1",
+" c None",
+"x c #000000",
+" ",
+"xxxxxxx ",
+"xxxxxxx ",
+"xx x ",
+"xx xx ",
+"xx xx ",
+"xxxxx xxxxx xxxxxx xxxx xxxx xxx xxxx xx xx xxxxxx",
+"xxxxx xxxxxx xxxxxxx xxxxxx xxxxxxxxxx xxxxxx xxxxxx xxxxxx",
+"xx xx xx xxx xx xx xx xx xx xx xx xxx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx ",
+"xxxxxxx xxxxxxx xxxxxxx xxxxxxx xx xx xx xxxxxx xx xx xxxx",
+"xxxxxxx xxx xx xxxxxx xxxxxx xx xx xx xxxxxx xx xx xxx",
+" ",
+" xxxxxxx xx ",
+" xxxxxxxx xx ",
+" xx xx xx ",
+" xx xx xx ",
+" xx xx xx ",
+" xxxxxxxx xx xxx xxxxxx xxxxxxx xxxxxx ",
+" xxxxxxxx xx xxxx xxxxxxxx xxxxxxxx xxxxxxx ",
+" xx xx xxx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx ",
+" xxxxxxxx xx xxxxxxxx xxxxxxxx xxxxxxx ",
+" xxxxxxx xx xxxxxx xxxx xx xxxxxx ",
+" ",
+" ",
+" ",
+" "};
+
+static char **ease_broad_xpm[3] = { ease_broad_x16, ease_broad_x24, ease_broad_x32 };
diff --git a/app/bin/bitmaps/ease-cornu.xpm b/app/bin/bitmaps/ease-cornu.xpm
new file mode 100644
index 0000000..745f436
--- /dev/null
+++ b/app/bin/bitmaps/ease-cornu.xpm
@@ -0,0 +1,96 @@
+/* XPM */
+static char * ease_cornu_x16[] = {
+"41 16 4 1",
+" c None",
+"x c #000000",
+"# c #009999",
+"$ c #FF9900",
+"xxxxx x ",
+"x xxx",
+"x xx xxx xx xxx xx xx xxx x ",
+"xxxx x x x x x x x x x x x x x ",
+"x x x xx xxxx x x x xxxx x x x ",
+"x x x x x x x x x x x x ",
+"xxxxx xxx xxx xxx x x x xxx x x x",
+" ",
+" $$$ ### $$$$$ ",
+" $ $ # # $$$$ $ ",
+" $ $ $# ## ### ###$$# # $$$ $ ",
+"$ $ $ # # # #$$#$# # # #$ $ $",
+"$ $ $# #$$#$# # # # # $ $ $",
+" $ $$$ # $#$# # # # # # #$ $ $ ",
+" $ $### ## # # # ## $ $ ",
+" $$$$$ $$$ "};
+
+static char* ease_cornu_x24[] = {
+"56 24 4 1",
+" c None",
+"x c #000000",
+"# c #009999",
+"- c #FF9900",
+" ",
+"xxxxxx ",
+"xx ",
+"xx x ",
+"xx xx ",
+"xxxx xxxxx xxxxx xxxx xxx xx xxxx xx xx xxxxxx",
+"xx xx xx xx xx xx xxxxxxxx xx xx xxx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx xx xx ",
+"xx xx xx xxxx xxxxxx xx xx xx xxxxxx xx xx xx ",
+"xx xx xx xx xx xx xx xx xx xx xx xx ",
+"xxxxxx xxx x xxxxx xxxxx xx xx xx xxxxx xx xx xxx",
+" --- ",
+" ------ ##### ",
+" --- -## ## ----- ",
+" -- --- ## ----------- ",
+" -- ---- ## ------ --- ",
+" -- ---- ## ##### ## ### -##-### ## ## - -- ",
+" -- ---- ## ## ## ###--##-### ## ## ## -- -- ",
+" --- --- ## ## -##-##-- ## ## ## ## --- -- ",
+" --- ## ## ##---## ## ## ## ## ## -- -- ",
+" ----- #####---##### ## ## ## #### # --- ",
+" ----- ------- ",
+" ----- ",
+" "};
+
+static char* ease_cornu_x32[] = {
+"66 32 4 1",
+" c None",
+"x c #000000",
+"# c #009999",
+"- c #FF9900",
+" ",
+"xxxxxxx ",
+"xxxxxxx ",
+"xx x ",
+"xx xx ",
+"xx xx ",
+"xxxxx xxxxx xxxxxx xxxx xxxx xxx xxxx xx xx xxxxxx",
+"xxxxx xxxxxx xxxxxxx xxxxxx xxxxxxxxxx xxxxxx xxxxxx xxxxxx",
+"xx xx xx xxx xx xx xx xxx xxx xx xx xxx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx ",
+"xxxxxxx xxxxxxx xxxxxxx xxxxxxx xx xx xx xxxxxx xx xx xxxx",
+"xxxxxxx xxx xx xxxxxx xxxxxx xx xx xx xxxxxx xx xx xxx",
+" ",
+" ----- ###### ",
+" ------ ######## ",
+" -- ## ## -------- ",
+" -- ----## ------------- ",
+" -- ----##-- ###### ## ### ## #### ## ## ---- ",
+" -- -----## -- ######## ######## ######## ## ## --- ",
+" -- -----## -- ## ## ### ## ### - ## ## ##-- -- ",
+" -- -----## - ## ## ## -- ## -- ## ## ##--- -- ",
+" -- ----## ## ## ## ----- ## ## ## ##---- -- ",
+" -- ---## ## ## ## ## --- ## ## ## -##---- -- ",
+" -- ######## ######## ## ## ## ########---- -- ",
+" --- ###### - ###### ## ## ## ##### #---- --- ",
+" ---- -------- -- ---- -- ",
+" ------------ --- --- ",
+" --- ---- ---- ",
+" ------ ",
+" "};
+
+static char **ease_cornu_xpm[3] = { ease_cornu_x16, ease_cornu_x24, ease_cornu_x32 };
+
diff --git a/app/bin/bitmaps/ease-gt-broad.xpm b/app/bin/bitmaps/ease-gt-broad.xpm
new file mode 100644
index 0000000..b2dc1cc
--- /dev/null
+++ b/app/bin/bitmaps/ease-gt-broad.xpm
@@ -0,0 +1,89 @@
+/* XPM */
+static char * ease_gtbroad_x16[] = {
+"41 16 2 1",
+" c None",
+"x c #000000000000",
+"xxxxx x ",
+"x xxx",
+"x xx xxx xx xxx xx xx xxx x ",
+"xxxx x x x x x x x x x x x x x ",
+"x x x xx xxxx x x x xxxx x x x ",
+"x x xx x x x x x x x x x ",
+"xxxxx x x xxx xxx x x x xxx x x x",
+" ",
+" ",
+" x xxxx x ",
+" x x x x ",
+" x x x xxx xx xx xxx ",
+" x xxxx x x x x x x x x ",
+" x x x x x x x x x x ",
+" x x x x x x x xx x x ",
+" x xxxx x xx xx x xx "};
+
+static char* ease_gtbroad_x24[] = {
+"56 24 2 1",
+" c None",
+"x c #000000",
+" ",
+"xxxxxx ",
+"xx ",
+"xx x ",
+"xx xx ",
+"xxxx xxxxx xxxxx xxxx xxx xx xxxx xx xx xxxxxx",
+"xx xx xx xx xx xx xxxxxxxx xx xx xxx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx xx xx ",
+"xx xx xx xxxx xxxxxx xx xx xx xxxxxx xx xx xx ",
+"xx xx xx xx xx xx xx xx xx xx xx xx ",
+"xxxxxx xxx x xxxxx xxxxx xx xx xx xxxxx xx xx xxx",
+" ",
+" xx xxxxxx xx ",
+" xx xx xx xx ",
+" xx xx xx xx ",
+" xx xx xx xx ",
+" xx xxxxxx xx xxx xxxxx xxxxxx xxxxxx ",
+" xx xx xx xxx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx ",
+" xx xxxxxx xx xxxxx xxxx x xxxxxx ",
+" ",
+" "};
+
+static char* ease_gtbroad_x32[] = {
+"66 32 2 1",
+" c None",
+"x c #000000",
+" ",
+"xxxxxxx ",
+"xxxxxxx ",
+"xx x ",
+"xx xx ",
+"xx xx ",
+"xxxxx xxxxx xxxxxx xxxx xxxx xxx xxxx xx xx xxxxxx",
+"xxxxx xxxxxx xxxxxxx xxxxxx xxxxxxxxxx xxxxxx xxxxxx xxxxxx",
+"xx xx xx xxx xx xx xx xxx xxx xx xx xxx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx ",
+"xxxxxxx xxxxxxx xxxxxxx xxxxxxx xx xx xx xxxxxx xx xx xxxx",
+"xxxxxxx xxx xx xxxxxx xxxxxx xx xx xx xxxxxx xx xx xxx",
+" ",
+" xx xxxxxxx xx ",
+" xx xxxxxxxx xx ",
+" xx xx xx xx ",
+" xx xx xx xx ",
+" xx xx xx xx ",
+" xx xxxxxxxx xx xxx xxxxxx xxxxxxx xxxxxx ",
+" xx xxxxxxxx xx xxxx xxxxxxxx xxxxxxxx xxxxxxx ",
+" xx xx xx xxx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx ",
+" xx xxxxxxxx xx xxxxxxxx xxxxxxxx xxxxxxx ",
+" xx xxxxxxx xx xxxxxx xxxx xx xxxxxx ",
+" ",
+" ",
+" ",
+" "};
+
+static char **ease_gtbroad_xpm[3] = { ease_gtbroad_x16, ease_gtbroad_x24, ease_gtbroad_x32 };
diff --git a/app/bin/bitmaps/ease-gt-sharp.xpm b/app/bin/bitmaps/ease-gt-sharp.xpm
new file mode 100644
index 0000000..bd12492
--- /dev/null
+++ b/app/bin/bitmaps/ease-gt-sharp.xpm
@@ -0,0 +1,89 @@
+/* XPM */
+static char * ease_gtsharp_x16[] = {
+"41 16 2 1",
+" c None",
+"x c #000000000000",
+"xxxxx x ",
+"x xxx",
+"x xx xxx xx xxx xx xx xxx x ",
+"xxxx x x x x x x x x x x x x x ",
+"x x x xx xxxx x x x xxxx x x x ",
+"x x xx x x x x x x x x x ",
+"xxxxx x x xxx xxx x x x xxx x x x",
+" ",
+" x xxxxx x ",
+" x x x ",
+" x x xxx xx xxx xxx ",
+" x xxxxx x x x x x x x x ",
+" x x x x x x x x x ",
+" x x x x x xx x xxx ",
+" x xxxxx x x x x x x ",
+" x "};
+
+static char* ease_gtsharp_x24[] = {
+"56 24 2 1",
+" c None",
+"x c #000000",
+" ",
+"xxxxxx ",
+"xx ",
+"xx x ",
+"xx xx ",
+"xxxx xxxxx xxxxx xxxx xxx xx xxxx xx xx xxxxxx",
+"xx xx xx xx xx xx xxxxxxxx xx xx xxx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx xx xx ",
+"xx xx xx xxxx xxxxxx xx xx xx xxxxxx xx xx xx ",
+"xx xx xx xx xx xx xx xx xx xx xx xx ",
+"xxxxxx xxx x xxxxx xxxxx xx xx xx xxxxx xx xx xxx",
+" ",
+" xx xxxxxx xx ",
+" xx xx xx ",
+" xx xx xx ",
+" xx xx xx ",
+" xx xxxxx xx xxx xxxxxx xx xxx xxxxxx ",
+" xx xx xxx xx xx xx xxx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xxx xx ",
+" xx xxxxxx xx xx xxxx x xx xx xxx ",
+" xx ",
+" xx "};
+
+static char* ease_gtsharp_x32[] = {
+"66 32 2 1",
+" c None",
+"x c #000000",
+" ",
+"xxxxxxx ",
+"xxxxxxx ",
+"xx x ",
+"xx xx ",
+"xx xx ",
+"xxxxx xxxxx xxxxxx xxxx xxxx xxx xxxx xx xx xxxxxx",
+"xxxxx xxxxxx xxxxxxx xxxxxx xxxxxxxxxx xxxxxx xxxxxx xxxxxx",
+"xx xx xx xxx xx xx xx xxx xxx xx xx xxx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx ",
+"xxxxxxx xxxxxxx xxxxxxx xxxxxxx xx xx xx xxxxxx xx xx xxxx",
+"xxxxxxx xxx xx xxxxxx xxxxxx xx xx xx xxxxxx xx xx xxx",
+" ",
+" xx xxxxxxx xx ",
+" xx xxxxxxxx xx ",
+" xx xx xx ",
+" xx xx xx ",
+" xx xx xx ",
+" xx xxxxxx xx xxx xxxxxxx xx xxx xxxxxx ",
+" xx xxxxxx xxxxxxx xxxxxxxx xx xxxx xxxxxxx ",
+" xx xx xxx xx xx xx xxx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx ",
+" xx xxxxxxxx xx xx xxxxxxxx xx xxxxxxxx ",
+" xx xxxxxxx xx xx xxxx xx xx xxxxxxx ",
+" xx ",
+" xx ",
+" xx ",
+" "};
+
+static char **ease_gtsharp_xpm[3] = { ease_gtsharp_x16, ease_gtsharp_x24, ease_gtsharp_x32 };
diff --git a/app/bin/bitmaps/ease-lt-broad.xpm b/app/bin/bitmaps/ease-lt-broad.xpm
new file mode 100644
index 0000000..ab043ee
--- /dev/null
+++ b/app/bin/bitmaps/ease-lt-broad.xpm
@@ -0,0 +1,89 @@
+/* XPM */
+static char * ease_ltbroad_x16[] = {
+"41 16 2 1",
+" c None",
+"x c #000000000000",
+"xxxxx x ",
+"x xxx",
+"x xx xxx xx xxx xx xx xxx x ",
+"xxxx x x x x x x x x x x x x x ",
+"x x x xx xxxx x x x xxxx x x x ",
+"x x xx x x x x x x x x x ",
+"xxxxx x x xxx xxx x x x xxx x x x",
+" ",
+" ",
+" x xxxx x ",
+" x x x x ",
+" x x x xxx xx xx xxx ",
+" x xxxx x x x x x x x x ",
+" x x x x x x x x x x ",
+" x x x x x x x xx x x ",
+" x xxxx x xx xx x xx "};
+
+static char* ease_ltbroad_x24[] = {
+"56 24 2 1",
+" c None",
+"x c #000000",
+" ",
+"xxxxxx ",
+"xx ",
+"xx x ",
+"xx xx ",
+"xxxx xxxxx xxxxx xxxx xxx xx xxxx xx xx xxxxxx",
+"xx xx xx xx xx xx xxxxxxxx xx xx xxx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx xx xx ",
+"xx xx xx xxxx xxxxxx xx xx xx xxxxxx xx xx xx ",
+"xx xx xx xx xx xx xx xx xx xx xx xx ",
+"xxxxxx xxx x xxxxx xxxxx xx xx xx xxxxx xx xx xxx",
+" ",
+" xx xxxxxx xx ",
+" xx xx xx xx ",
+" xx xx xx xx ",
+" xx xx xx xx ",
+" xx xxxxxx xx xxx xxxxx xxxxxx xxxxxx ",
+" xx xx xx xxx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx ",
+" xx xxxxxx xx xxxxx xxxx x xxxxxx ",
+" ",
+" "};
+
+static char* ease_ltbroad_x32[] = {
+"66 32 2 1",
+" c None",
+"x c #000000",
+" ",
+"xxxxxxx ",
+"xxxxxxx ",
+"xx x ",
+"xx xx ",
+"xx xx ",
+"xxxxx xxxxx xxxxxx xxxx xxxx xxx xxxx xx xx xxxxxx",
+"xxxxx xxxxxx xxxxxxx xxxxxx xxxxxxxxxx xxxxxx xxxxxx xxxxxx",
+"xx xx xx xxx xx xx xx xxx xxx xx xx xxx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx ",
+"xxxxxxx xxxxxxx xxxxxxx xxxxxxx xx xx xx xxxxxx xx xx xxxx",
+"xxxxxxx xxx xx xxxxxx xxxxxx xx xx xx xxxxxx xx xx xxx",
+" ",
+" xx xxxxxxx xx ",
+" xx xxxxxxxx xx ",
+" xx xx xx xx ",
+" xx xx xx xx ",
+" xx xx xx xx ",
+" xx xxxxxxxx xx xxx xxxxxx xxxxxxx xxxxxx ",
+" xx xxxxxxxx xx xxxx xxxxxxxx xxxxxxxx xxxxxxx ",
+" xx xx xx xxx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx ",
+" xx xxxxxxxx xx xxxxxxxx xxxxxxxx xxxxxxx ",
+" xx xxxxxxx xx xxxxxx xxxx xx xxxxxx ",
+" ",
+" ",
+" ",
+" "};
+
+static char **ease_ltbroad_xpm[3] = { ease_ltbroad_x16, ease_ltbroad_x24, ease_ltbroad_x32 };
diff --git a/app/bin/bitmaps/ease-lt-sharp.xpm b/app/bin/bitmaps/ease-lt-sharp.xpm
new file mode 100644
index 0000000..93faf60
--- /dev/null
+++ b/app/bin/bitmaps/ease-lt-sharp.xpm
@@ -0,0 +1,89 @@
+/* XPM */
+static char * ease_ltsharp_x16[] = {
+"41 16 2 1",
+" c None",
+"x c #000000000000",
+"xxxxx x ",
+"x xxx",
+"x xx xxx xx xxx xx xx xxx x ",
+"xxxx x x x x x x x x x x x x x ",
+"x x x xx xxxx x x x xxxx x x x ",
+"x x xx x x x x x x x x x ",
+"xxxxx x x xxx xxx x x x xxx x x x",
+" ",
+" x xxxxx x ",
+" x x x ",
+" x x xxx xx xxx xxx ",
+" x xxxxx x x x x x x x x ",
+" x x x x x x x x x ",
+" x x x x x xx x xxx ",
+" x xxxxx x x x x x x ",
+" x "};
+
+static char* ease_ltsharp_x24[] = {
+"56 24 2 1",
+" c None",
+"x c #000000",
+" ",
+"xxxxxx ",
+"xx ",
+"xx x ",
+"xx xx ",
+"xxxx xxxxx xxxxx xxxx xxx xx xxxx xx xx xxxxxx",
+"xx xx xx xx xx xx xxxxxxxx xx xx xxx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx xx xx ",
+"xx xx xx xxxx xxxxxx xx xx xx xxxxxx xx xx xx ",
+"xx xx xx xx xx xx xx xx xx xx xx xx ",
+"xxxxxx xxx x xxxxx xxxxx xx xx xx xxxxx xx xx xxx",
+" ",
+" xx xxxxxx xx ",
+" xx xx xx ",
+" xx xx xx ",
+" xx xx xx ",
+" xx xxxxx xx xxx xxxxxx xx xxx xxxxxx ",
+" xx xx xxx xx xx xx xxx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xxx xx ",
+" xx xxxxxx xx xx xxxx x xx xx xxx ",
+" xx ",
+" xx "};
+
+static char* ease_ltsharp_x32[] = {
+"66 32 2 1",
+" c None",
+"x c #000000",
+" ",
+"xxxxxxx ",
+"xxxxxxx ",
+"xx x ",
+"xx xx ",
+"xx xx ",
+"xxxxx xxxxx xxxxxx xxxx xxxx xxx xxxx xx xx xxxxxx",
+"xxxxx xxxxxx xxxxxxx xxxxxx xxxxxxxxxx xxxxxx xxxxxx xxxxxx",
+"xx xx xx xxx xx xx xx xxx xxx xx xx xxx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx ",
+"xxxxxxx xxxxxxx xxxxxxx xxxxxxx xx xx xx xxxxxx xx xx xxxx",
+"xxxxxxx xxx xx xxxxxx xxxxxx xx xx xx xxxxxx xx xx xxx",
+" ",
+" xx xxxxxxx xx ",
+" xx xxxxxxxx xx ",
+" xx xx xx ",
+" xx xx xx ",
+" xx xx xx ",
+" xx xxxxxx xx xxx xxxxxxx xx xxx xxxxxx ",
+" xx xxxxxx xxxxxxx xxxxxxxx xx xxxx xxxxxxx ",
+" xx xx xxx xx xx xx xxx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx ",
+" xx xxxxxxxx xx xx xxxxxxxx xx xxxxxxxx ",
+" xx xxxxxxx xx xx xxxx xx xx xxxxxxx ",
+" xx ",
+" xx ",
+" xx ",
+" "};
+
+static char **ease_ltsharp_xpm[3] = { ease_ltsharp_x16, ease_ltsharp_x24, ease_ltsharp_x32 };
diff --git a/app/bin/bitmaps/ease-none.xpm b/app/bin/bitmaps/ease-none.xpm
new file mode 100644
index 0000000..b2fe985
--- /dev/null
+++ b/app/bin/bitmaps/ease-none.xpm
@@ -0,0 +1,89 @@
+/* XPM */
+static char * ease_none_x16[] = {
+"41 16 2 1",
+" c None",
+"x c #000000000000",
+"xxxxx x ",
+"x xxx",
+"x xx xxx xx xxx xx xx xxx x ",
+"xxxx x x x x x x x x x x x x x ",
+"x x x xx xxxx x x x xxxx x x x ",
+"x x x x x x x x x x x x ",
+"xxxxx xxx xxx xxx x x x xxx x x x",
+" ",
+" x x ",
+" xx x ",
+" xxx x xx xxx xx ",
+" x x x x x x x x x ",
+" x xxx x x x x xxx ",
+" x xx x x x x x ",
+" x x xx x x xxx ",
+" "};
+
+static char* ease_none_x24[] = {
+"56 24 2 1",
+" c None",
+"x c #000000",
+" ",
+"xxxxxx ",
+"xx ",
+"xx x ",
+"xx xx ",
+"xxxx xxxxx xxxxx xxxx xxx xx xxxx xx xx xxxxxx",
+"xx xx xx xx xx xx xxxxxxxx xx xx xxx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx xx xx ",
+"xx xx xx xxxx xxxxxx xx xx xx xxxxxx xx xx xx ",
+"xx xx xx xx xx xx xx xx xx xx xx xx ",
+"xxxxxx xxx x xxxxx xxxxx xx xx xx xxxxx xx xx xxx",
+" ",
+" xx xx ",
+" xx xx ",
+" xxx xx ",
+" xxxx xx ",
+" xxxxxxx xxxxx xx xxx xxxxx ",
+" xx xxxx xx xx xxx xx xx xx ",
+" xx xxx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xxxxxxx ",
+" xx xx xx xx xx xx xx ",
+" xx xx xxxxx xx xx xxxxxx ",
+" ",
+" "};
+
+static char* ease_none_x32[] = {
+"66 32 2 1",
+" c None",
+"x c #000000",
+" ",
+"xxxxxxx ",
+"xxxxxxx ",
+"xx x ",
+"xx xx ",
+"xx xx ",
+"xxxxx xxxxx xxxxxx xxxx xxxx xxx xxxx xx xx xxxxxx",
+"xxxxx xxxxxx xxxxxxx xxxxxx xxxxxxxxxx xxxxxx xxxxxx xxxxxx",
+"xx xx xx xxx xx xx xx xxx xxx xx xx xxx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx ",
+"xxxxxxx xxxxxxx xxxxxxx xxxxxxx xx xx xx xxxxxx xx xx xxxx",
+"xxxxxxx xxx xx xxxxxx xxxxxx xx xx xx xxxxxx xx xx xxx",
+" ",
+" xx xx ",
+" xx xx ",
+" xx xx ",
+" xxx xx ",
+" xxxx xx ",
+" xxxxx xx xxxxxx xx xxxx xxxxxx ",
+" xx xxx xx xxxxxxxx xxxxxxxx xxxxxxxx ",
+" xx xxxxx xx xx xxx xx xx xx ",
+" xx xxxx xx xx xx xx xxxxxxxx ",
+" xx xxx xx xx xx xx xxxxxxxx ",
+" xx xx xx xx xx xx xx ",
+" xx xx xxxxxxxx xx xx xxxxxxxx ",
+" xx xx xxxxxx xx xx xxxxxxx ",
+" ",
+" ",
+" ",
+" "};
+
+static char **ease_none_xpm[3] = { ease_none_x16, ease_none_x24, ease_none_x32 };
diff --git a/app/bin/bitmaps/ease-normal.xpm b/app/bin/bitmaps/ease-normal.xpm
new file mode 100644
index 0000000..411a036
--- /dev/null
+++ b/app/bin/bitmaps/ease-normal.xpm
@@ -0,0 +1,89 @@
+/* XPM */
+static char * ease_normal_x16[] = {
+"41 16 2 1",
+" c None",
+"x c #000000000000",
+"xxxxx x ",
+"x xxx",
+"x xx xxx xx xxx xx xx xxx x ",
+"xxxx x x x x x x x x x x x x x ",
+"x x x xx xxxx x x x xxxx x x x ",
+"x x x x x x x x x x x x ",
+"xxxxx xxx xxx xxx x x x xxx x x x",
+" ",
+" x x x ",
+" xx x x ",
+" xxx x xx xxx xxx xx xx x ",
+" x x x x x x x x x x x x x ",
+" x xxx x x x x x x x x x ",
+" x xx x x x x x x x x x ",
+" x x xx x x x x xxx x ",
+" "};
+
+static char* ease_normal_x24[] = {
+"56 24 2 1",
+" c None",
+"x c #000000",
+" ",
+"xxxxxx ",
+"xx ",
+"xx x ",
+"xx xx ",
+"xxxx xxxxx xxxxx xxxx xxx xx xxxx xx xx xxxxxx",
+"xx xx xx xx xx xx xxxxxxxx xx xx xxx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx xx xx ",
+"xx xx xx xxxx xxxxxx xx xx xx xxxxxx xx xx xx ",
+"xx xx xx xx xx xx xx xx xx xx xx xx ",
+"xxxxxx xxx x xxxxx xxxxx xx xx xx xxxxx xx xx xxx",
+" ",
+" xx xx xx ",
+" xx xx xx ",
+" xxx xx xx ",
+" xxxx xx xx ",
+" xxxxxxx xxxxx xx xxx xx xx xx xxxxxx xx ",
+" xx xxxx xx xx xxx xx xxxxxxxx xx xx xx ",
+" xx xxx xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx xx ",
+" xx xx xxxxx xx xx xx xx xxxx x xx ",
+" ",
+" "};
+
+static char* ease_normal_x32[] = {
+"66 32 2 1",
+" c None",
+"x c #000000",
+" ",
+"xxxxxxx ",
+"xxxxxxx ",
+"xx x ",
+"xx xx ",
+"xx xx ",
+"xxxxx xxxxx xxxxxx xxxx xxxx xxx xxxx xx xx xxxxxx",
+"xxxxx xxxxxx xxxxxxx xxxxxx xxxxxxxxxx xxxxxx xxxxxx xxxxxx",
+"xx xx xx xxx xx xx xx xxx xxx xx xx xxx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx ",
+"xxxxxxx xxxxxxx xxxxxxx xxxxxxx xx xx xx xxxxxx xx xx xxxx",
+"xxxxxxx xxx xx xxxxxx xxxxxx xx xx xx xxxxxx xx xx xxx",
+" ",
+" xx xx xx ",
+" xx xx xx ",
+" xx xx xx ",
+" xxx xx xx ",
+" xxxx xx xx ",
+" xxxxx xx xxxxxx xx xxx xx xx xx xxxxxxx xx ",
+" xx xxx xx xxxxxxxx xxxxxxx xxxxxxxxxx xxxxxxxx xx ",
+" xx xxxxx xx xx xxx xx xx xxx xxx xx xx xx ",
+" xx xxxx xx xx xx xx xx xx xx xx xx ",
+" xx xxx xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx xx xx ",
+" xx xx xxxxxxxx xx xx xx xx xxxxxxxx xxx ",
+" xx xx xxxxxx xx xx xx xx xxxx xx xxx ",
+" ",
+" ",
+" ",
+" "};
+
+static char **ease_normal_xpm[3] = { ease_normal_x16, ease_normal_x24, ease_normal_x32 };
diff --git a/app/bin/bitmaps/ease-sharp.xpm b/app/bin/bitmaps/ease-sharp.xpm
new file mode 100644
index 0000000..05c5c3b
--- /dev/null
+++ b/app/bin/bitmaps/ease-sharp.xpm
@@ -0,0 +1,89 @@
+/* XPM */
+static char * ease_sharp_x16[] = {
+"41 16 2 1",
+" c None",
+"x c #000000000000",
+"xxxxx x ",
+"x xxx",
+"x xx xxx xx xxx xx xx xxx x ",
+"xxxx x x x x x x x x x x x x x ",
+"x x x xx xxxx x x x xxxx x x x ",
+"x x xx x x x x x x x x x ",
+"xxxxx x x xxx xxx x x x xxx x x x",
+" ",
+" xxxxx x ",
+" x x ",
+" x xxx xx xxx xxx ",
+" xxxx x x x x x x x x ",
+" x x x x x x x x ",
+" x x x x xx x xxx ",
+" xxxxx x x x x x x ",
+" x "};
+
+static char* ease_sharp_x24[] = {
+"56 24 2 1",
+" c None",
+"x c #000000",
+" ",
+"xxxxxx ",
+"xx ",
+"xx x ",
+"xx xx ",
+"xxxx xxxxx xxxxx xxxx xxx xx xxxx xx xx xxxxxx",
+"xx xx xx xx xx xx xxxxxxxx xx xx xxx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx xx xx ",
+"xx xx xx xxxx xxxxxx xx xx xx xxxxxx xx xx xx ",
+"xx xx xx xx xx xx xx xx xx xx xx xx ",
+"xxxxxx xxx x xxxxx xxxxx xx xx xx xxxxx xx xx xxx",
+" ",
+" xxxxxx xx ",
+" xx xx ",
+" xx xx ",
+" xx xx ",
+" xxxxx xx xxx xxxxxx xx xxx xxxxxx ",
+" xx xxx xx xx xx xxx xx xx xx ",
+" xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xxx xx ",
+" xxxxxx xx xx xxxx x xx xx xxx ",
+" xx ",
+" xx "};
+
+static char* ease_sharp_x32[] = {
+"66 32 2 1",
+" c None",
+"x c #000000",
+" ",
+"xxxxxxx ",
+"xxxxxxx ",
+"xx x ",
+"xx xx ",
+"xx xx ",
+"xxxxx xxxxx xxxxxx xxxx xxxx xxx xxxx xx xx xxxxxx",
+"xxxxx xxxxxx xxxxxxx xxxxxx xxxxxxxxxx xxxxxx xxxxxx xxxxxx",
+"xx xx xx xxx xx xx xx xxx xxx xx xx xxx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xxxxxxx xx xx xx xxxxxxx xx xx xx ",
+"xx xx xx xxx xx xx xx xx xx xx xx xx ",
+"xxxxxxx xxxxxxx xxxxxxx xxxxxxx xx xx xx xxxxxx xx xx xxxx",
+"xxxxxxx xxx xx xxxxxx xxxxxx xx xx xx xxxxxx xx xx xxx",
+" ",
+" xxxxxxx xx ",
+" xxxxxxxx xx ",
+" xx xx ",
+" xx xx ",
+" xx xx ",
+" xxxxxx xx xxx xxxxxxx xx xxx xxxxxx ",
+" xxxxxx xxxxxxx xxxxxxxx xx xxxx xxxxxxx ",
+" xx xxx xx xx xx xxx xx xx xx ",
+" xx xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx ",
+" xx xx xx xx xx xx xx xx ",
+" xxxxxxxx xx xx xxxxxxxx xx xxxxxxxx ",
+" xxxxxxx xx xx xxxx xx xx xxxxxxx ",
+" xx ",
+" xx ",
+" xx ",
+" "};
+
+static char **ease_sharp_xpm[3] = { ease_sharp_x16, ease_sharp_x24, ease_sharp_x32 };
diff --git a/app/bin/bitmaps/ebroad.xpm b/app/bin/bitmaps/ebroad.xpm
deleted file mode 100644
index 11bc4d6..0000000
--- a/app/bin/bitmaps/ebroad.xpm
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static char * ebroad_xpm[] = {
-"41 16 2 1",
-". c None",
-" c #000000000000",
-" .................................. .",
-" ..................................... ",
-" ...... ... .. .. . ... .. .. .",
-" .. .. . .... .. . .. .. . .. . .. . .",
-" ..... .. .. .. . .. .. . . .. . .",
-" ..... . .... . .... .. .. . .... .. . .",
-" .. . . ... . .. .. .. . .. .. ",
-".........................................",
-".........................................",
-"........ .................... ........",
-"........ ... ................... ........",
-"........ ... . ... ... ... ........",
-"........ .. .. . .. . .. . .. ........",
-"........ ... . .... .. . .. . .. ........",
-"........ ... . .... .. . . . .. ........",
-"........ .. ..... ... . .. ........"};
diff --git a/app/bin/bitmaps/ecornu.xpm b/app/bin/bitmaps/ecornu.xpm
deleted file mode 100644
index e32e56a..0000000
--- a/app/bin/bitmaps/ecornu.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * ecornu_xpm[] = {
-"41 16 4 1",
-". c None",
-" c #000000000000",
-"# c #FFFF00000000",
-"$ c #808080000000",
-" .................................. .",
-" ..................................... ",
-" ...... ... .. .. . ... .. .. .",
-" .. .. . .... .. . .. .. . .. . .. . .",
-" ..... .. .. .. . .. .. . . .. . .",
-" ..... .. .... . .... .. .. . .... .. . .",
-" .. . ... . .. .. .. . .. .. ",
-".........................................",
-"...$$$...###.....................$$$$$...",
-"..$...$.#...#................$$$$.....$..",
-".$..$..$#......##..###..###$$#..#.$$$..$.",
-"$..$.$..#.....#..#.#$$#$#..#.#..#$...$..$",
-"$..$...$#.....#$$#$#....#..#.#..#..$.$..$",
-".$..$$$.#..$#$#..#.#....#..#.#..#$..$..$.",
-"..$.....$###...##..#....#..#..##..$...$..",
-"...$$$$$...........................$$$..."};
diff --git a/app/bin/bitmaps/edit-redo.xpm b/app/bin/bitmaps/edit-redo.xpm
deleted file mode 100644
index 3d3a70c..0000000
--- a/app/bin/bitmaps/edit-redo.xpm
+++ /dev/null
@@ -1,29 +0,0 @@
-/* XPM */
-static char *edit_redo[] = {
-/* columns rows colors chars-per-pixel */
-"16 16 7 1",
-" c #4EE29B270680",
-". c #73EAD2BE1616",
-"X c #94FB9F050707",
-"o c #A20EDAEE280A",
-"O c #CC4BD6801D9D",
-"+ c #AEC8ED136114",
-"@ c None",
-/* pixels */
-"@@@@@@@@@ @@@@@@",
-"@@@@@@@@@ @@@@@",
-"@@@@@@@@@ + @@@@",
-"@@@@@@ ++ @@@",
-"@@@@ X+++++.+ @@",
-"@@@ ++ooooo..+ @",
-"@@ o+ooooo....+ ",
-"@ o+oooO.....+ @",
-"@.+OOoooooO.o @@",
-"@ +OX oo @@@",
-"@ +X @@@@ o @@@@",
-"@ o @@@@@ @@@@@",
-"@ + @@@@@ @@@@@@",
-"@ oX@@@@@@@@@@@@",
-"@@ OX@@@@@@@@@@@",
-"@@@@@@@@@@@@@@@@"
-};
diff --git a/app/bin/bitmaps/edit-undo.xpm b/app/bin/bitmaps/edit-undo.xpm
deleted file mode 100644
index 4840284..0000000
--- a/app/bin/bitmaps/edit-undo.xpm
+++ /dev/null
@@ -1,28 +0,0 @@
-/* XPM */
-static char *edit_undo[] = {
-/* columns rows colors chars-per-pixel */
-"16 16 6 1",
-" c #BD4FA17C1684",
-". c #C482A29B05D3",
-"X c #ECB0D6B82037",
-"o c #F318E3AA67FF",
-"O c #FA79F1F1A77C",
-"+ c None",
-/* pixels */
-"++++++.+++++++++",
-"+++++..+++++++++",
-"++++.O.+++++++++",
-"+++.OX.. +++++",
-"++.OXXoooo ++++",
-"+.OXXoXXXXoo +++",
-".OXXXXXXXXXXX ++",
-"+.OXXXXXXXXXo +",
-"++.oXoooooXX.o.+",
-"+++.oo.....oXo +",
-"++++.o.++++.oo +",
-"+++++..+++++.O +",
-"++++++.+++++.o +",
-"++++++++++++Xo++",
-"++++++++++++o ++",
-"++++++++++++++++"
-};
diff --git a/app/bin/bitmaps/egtbroad.xpm b/app/bin/bitmaps/egtbroad.xpm
deleted file mode 100644
index 1a6ca6d..0000000
--- a/app/bin/bitmaps/egtbroad.xpm
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static char * egtbroad_xpm[] = {
-"41 16 2 1",
-". c None",
-" c #000000000000",
-" .................................. .",
-" ..................................... ",
-" ...... ... .. .. . ... .. .. .",
-" .. .. . .... .. . .. .. . .. . .. . .",
-" ..... .. .. .. . .. .. . . .. . .",
-" ..... . .... . .... .. .. . .... .. . .",
-" .. . . ... . .. .. .. . .. .. ",
-".........................................",
-".........................................",
-"..... ..... .................... .....",
-"...... .... ... ................... .....",
-"....... ... ... . ... ... ... .....",
-"........ .. .. .. . .. . .. . .. .....",
-"....... ... ... . .... .. . .. . .. .....",
-"...... .... ... . .... .. . . . .. .....",
-"..... ..... .. ..... .. . .. ......"};
diff --git a/app/bin/bitmaps/egtsharp.xpm b/app/bin/bitmaps/egtsharp.xpm
deleted file mode 100644
index 63212a0..0000000
--- a/app/bin/bitmaps/egtsharp.xpm
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static char * egtsharp_xpm[] = {
-"41 16 2 1",
-". c None",
-" c #000000000000",
-" .................................. .",
-" ..................................... ",
-" ...... ... .. .. . ... .. .. .",
-" .. .. . .... .. . .. .. . .. . .. . .",
-" ..... .. .. .. . .. .. . . .. . .",
-" ..... . .... . .... .. .. . .... .. . .",
-" .. . . ... . .. .. .. . .. .. ",
-".........................................",
-"..... ...... . ......................",
-"...... .... ...... ......................",
-"....... ... ...... ... .. .. .....",
-"........ ... . .. . .. . .. . .. ....",
-"....... ........ . .. . .. . .... .. ....",
-"...... ......... . .. . . . .... .....",
-"..... ..... .. .. .. . . .... .......",
-"................................. ......."};
diff --git a/app/bin/bitmaps/elev.xpm b/app/bin/bitmaps/elev.xpm
deleted file mode 100644
index de8cd96..0000000
--- a/app/bin/bitmaps/elev.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * elev_xpm[] = {
-"16 16 4 1",
-" c None",
-". c #FFFF00000000",
-"X c #FFFF0000FFFF",
-"o c #000000000000",
-" . ",
-" ... ",
-" . . . XXXXX",
-" . . . X",
-" . X ",
-" . X ",
-" . X ",
-" . X ",
-" . XXXXX",
-" o o o o ",
-"ooooooooooooooo ",
-" o o o o ",
-" o o o o ",
-" o o o o ",
-"ooooooooooooooo ",
-" o o o o "};
diff --git a/app/bin/bitmaps/elevation.xpm b/app/bin/bitmaps/elevation.xpm
new file mode 100644
index 0000000..ab65147
--- /dev/null
+++ b/app/bin/bitmaps/elevation.xpm
@@ -0,0 +1,117 @@
+static char *elevation_x16[] = {
+ "16 16 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #CC6600",
+ "3 c #FF0000",
+ " ",
+ " 1 11111 ",
+ " 131 33 ",
+ " 13331 33 ",
+ " 1 33 ",
+ " 1 33 ",
+ " 1 11111 ",
+ " 1 ",
+ " ",
+ " 2 2 2 2 2 2 2 ",
+ " 00000000000000 ",
+ " 2 2 2 2 2 2 2 ",
+ " 00000000000000 ",
+ " 2 2 2 2 2 2 2 ",
+ " ",
+ " "};
+
+static char *elevation_x24[] = {
+ "24 24 14 1",
+ " c None",
+ "0 c #000000",
+ "1 c #663300",
+ "2 c #666600",
+ "3 c #996600",
+ "4 c #996633",
+ "5 c #CC0000",
+ "6 c #CC3300",
+ "7 c #CC6600",
+ "8 c #CC6633",
+ "9 c #CC9933",
+ "A c #FF6633",
+ "B c #FF9933",
+ "C c #FFCC33",
+ " ",
+ " ",
+ " 5555555 ",
+ " 55555555 ",
+ " 555 ",
+ " 55 555 ",
+ " 5555 555 ",
+ " 555555 55 ",
+ " 5555555 555 ",
+ " 5 55 5 55555555 ",
+ " 55 55555555 ",
+ " 55 ",
+ " 55 ",
+ " 55 ",
+ " 55 ",
+ " 440440345640180090081 ",
+ " 0440440345640180090081 ",
+ " BB BB BC57C C C C ",
+ " BB BB BC5AC C C C ",
+ " BB BB BC C C C C ",
+ " 440440340240180090081 ",
+ " 0440440340240180090081 ",
+ " ",
+ " "};
+
+static char *elevation_x32[] = {
+ "32 32 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333300",
+ "2 c #663300",
+ "3 c #666600",
+ "4 c #990000",
+ "5 c #996600",
+ "6 c #996633",
+ "7 c #CC0000",
+ "8 c #CC3300",
+ "9 c #CC6600",
+ "A c #CC6633",
+ "B c #CC9933",
+ "C c #FF9933",
+ "D c #FFCC33",
+ " ",
+ " ",
+ " ",
+ " 777777777 ",
+ " 777777777 ",
+ " 777 ",
+ " 777 ",
+ " 77 7777 ",
+ " 7777 777 ",
+ " 777777 777 ",
+ " 77777777 777 ",
+ " 777777777 777 ",
+ " 77 777 77 7777777777 ",
+ " 777 7777777777 ",
+ " 777 7777777777 ",
+ " 777 ",
+ " 777 ",
+ " 777 ",
+ " 777 ",
+ " 777 ",
+ " BB BB 6B778B B B5 B6 ",
+ " 02200220013474500050005100310 ",
+ " DC CC D778D D D D ",
+ " DC CC D778D D D D ",
+ " DC CC D779D D D D ",
+ " DC CC D D D D D ",
+ " DC CC D D D D D ",
+ " 06500660036002A000B000A200630 ",
+ " 06500660036002A000B000A200630 ",
+ " D D D C D D ",
+ " ",
+ " "};
+
+static char **elevation_xpm[3] = { elevation_x16, elevation_x24, elevation_x32 };
+
diff --git a/app/bin/bitmaps/eltbroad.xpm b/app/bin/bitmaps/eltbroad.xpm
deleted file mode 100644
index a2fb83a..0000000
--- a/app/bin/bitmaps/eltbroad.xpm
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static char * eltbroad_xpm[] = {
-"41 16 2 1",
-". c None",
-" c #000000000000",
-" .................................. .",
-" ..................................... ",
-" ...... ... .. .. . ... .. .. .",
-" .. .. . .... .. . .. .. . .. . .. . .",
-" ..... .. .. .. . .. .. . . .. . .",
-" ..... . .... . .... .. .. . .... .. . .",
-" .. . . ... . .. .. .. . .. .. ",
-".........................................",
-".........................................",
-"........ .. .................... .....",
-"....... ... ... ................... .....",
-"...... .... ... . ... ... ... .....",
-"..... ..... .. .. . .. . .. . .. .....",
-"...... .... ... . .... .. . .. . .. .....",
-"....... ... ... . .... .. . . . .. .....",
-"........ .. .. ..... .. . .. ......"};
diff --git a/app/bin/bitmaps/eltsharp.xpm b/app/bin/bitmaps/eltsharp.xpm
deleted file mode 100644
index 70985c1..0000000
--- a/app/bin/bitmaps/eltsharp.xpm
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static char * eltsharp_xpm[] = {
-"41 16 2 1",
-". c None",
-" c #000000000000",
-" .................................. .",
-" ..................................... ",
-" ...... ... .. .. . ... .. .. .",
-" .. .. . .... .. . .. .. . .. . .. . .",
-" ..... .. .. .. . .. .. . . .. . .",
-" ..... . .... . .... .. .. . .... .. . .",
-" .. . . ... . .. .. .. . .. .. ",
-".........................................",
-"..... ...... . ......................",
-".... ...... ...... ......................",
-"... ....... ...... ... .. .. .....",
-".. ......... . .. . .. . .. . .. ....",
-"... ............ . .. . .. . .... .. ....",
-".... ........... . .. . . . .... .....",
-"..... ..... .. .. .. . . .... .......",
-"................................. ......."};
diff --git a/app/bin/bitmaps/enone.xpm b/app/bin/bitmaps/enone.xpm
deleted file mode 100644
index bcc479e..0000000
--- a/app/bin/bitmaps/enone.xpm
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static char * enone_xpm[] = {
-"41 16 2 1",
-". c None",
-" c #000000000000",
-" .................................. .",
-" ..................................... ",
-" ...... ... .. .. . ... .. .. .",
-" .. .. . .... .. . .. .. . .. . .. . .",
-" ..... .. .. .. . .. .. . . .. . .",
-" ..... .. .... . .... .. .. . .... .. . .",
-" .. . ... . .. .. .. . .. .. ",
-".........................................",
-".......... ... ..........................",
-".......... .. ..........................",
-".......... . .. .. ... ............",
-".......... . . . .. . .. . .. ...........",
-".......... . . .. . .. . ............",
-".......... .. . .. . .. . ..............",
-".......... ... .. .. .. .. ...........",
-"........................................."};
diff --git a/app/bin/bitmaps/enormal.xpm b/app/bin/bitmaps/enormal.xpm
deleted file mode 100644
index fa5890a..0000000
--- a/app/bin/bitmaps/enormal.xpm
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static char * enormal_xpm[] = {
-"41 16 2 1",
-". c None",
-" c #000000000000",
-" .................................. .",
-" ..................................... ",
-" ...... ... .. .. . ... .. .. .",
-" .. .. . .... .. . .. .. . .. . .. . .",
-" ..... .. .. .. . .. .. . . .. . .",
-" ..... .. .... . .... .. .. . .... .. . .",
-" .. . ... . .. .. .. . .. .. ",
-".........................................",
-"..... ... ........................ ......",
-"..... .. ........................ ......",
-"..... . .. .. .. . ... .. ......",
-"..... . . . .. . .. . .. .. . .. . ......",
-"..... . . .. . .... .. .. . .. . ......",
-"..... .. . .. . .... .. .. . .. . ......",
-"..... ... .. .. .... .. .. .. .. .....",
-"........................................."};
diff --git a/app/bin/bitmaps/esharp.xpm b/app/bin/bitmaps/esharp.xpm
deleted file mode 100644
index b7129f0..0000000
--- a/app/bin/bitmaps/esharp.xpm
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static char * esharp_xpm[] = {
-"41 16 2 1",
-". c None",
-" c #000000000000",
-" .................................. .",
-" ..................................... ",
-" ...... ... .. .. . ... .. .. .",
-" .. .. . .... .. . .. .. . .. . .. . .",
-" ..... .. .. .. . .. .. . . .. . .",
-" ..... . .... . .... .. .. . .... .. . .",
-" .. . . ... . .. .. .. . .. .. ",
-".........................................",
-"........ . ..........................",
-"....... ...... ..........................",
-"....... ...... ... .. .. .........",
-"........ . .. . .. . .. . .. ........",
-"............ . .. . .. . .... .. ........",
-"............ . .. . . . .... .........",
-"....... .. .. .. . . .... ...........",
-"............................. ..........."};
diff --git a/app/bin/bitmaps/exit.xpm b/app/bin/bitmaps/exit.xpm
index ab8c191..7daf3ab 100644
--- a/app/bin/bitmaps/exit.xpm
+++ b/app/bin/bitmaps/exit.xpm
@@ -1,21 +1,94 @@
-/* XPM */
-static char*exit_xpm[]={
-"16 16 2 1",
-". c None",
-"# c #000000000000",
-"................",
-"................",
-".###.#.#.#.###..",
-".#...#.#.#..#...",
-".#...#.#.#..#...",
-".#...#.#.#..#...",
-".#....#..#..#...",
-".###..#..#..#...",
-".#....#..#..#...",
-".#...#.#.#..#...",
-".#...#.#.#..#...",
-".#...#.#.#..#...",
-".###.#.#.#..#...",
-"................",
-"................",
-"................"};
+static char *exit_x16[] = {
+ "16 16 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #FF0000",
+ " ",
+ " 1 ",
+ " 111 ",
+ " 11111 ",
+ " 1 ",
+ " 1 ",
+ " 1 ",
+ " 1 ",
+ " ",
+ " ",
+ " 000 0 0 0 000 ",
+ " 0 0 0 0 0 ",
+ " 00 0 0 0 ",
+ " 0 0 0 0 0 ",
+ " 000 0 0 0 0 ",
+ " "};
+
+static char *exit_x24[] = {
+ "24 24 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #CC0000",
+ "3 c #808080",
+ " ",
+ " ",
+ " 22 ",
+ " 2222 ",
+ " 222222 ",
+ " 22222222 ",
+ " 22 ",
+ " 22 ",
+ " 22 ",
+ " 22 ",
+ " 22 ",
+ " 22 ",
+ " ",
+ " ",
+ " 00000 0 0 00 000000 ",
+ " 00 01 10 00 00 ",
+ " 00 030 00 00 ",
+ " 0000 303 00 00 ",
+ " 00 030 00 00 ",
+ " 00 01 10 00 00 ",
+ " 00000 0 0 00 00 ",
+ " ",
+ " ",
+ " "};
+
+static char *exit_x32[] = {
+ "32 32 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ " ",
+ " 11 ",
+ " 1111 ",
+ " 111111 ",
+ " 111111111 ",
+ " 11111111111 ",
+ " 11111111111111 ",
+ " 1111 1111 1111 ",
+ " 111 1111 111 ",
+ " 1111 1 ",
+ " 1111 ",
+ " 1111 ",
+ " 1111 ",
+ " 1111 ",
+ " 1111 ",
+ " 1111 ",
+ " 1111 ",
+ " 111 ",
+ " ",
+ " ",
+ " ",
+ " 00000000 000 00 00 000000000",
+ " 00000000 000 000 00 00000000 ",
+ " 00 000000 00 000 ",
+ " 000 00000 00 000 ",
+ " 0000000 000 00 000 ",
+ " 0000000 0000 00 000 ",
+ " 00 00000 00 000 ",
+ " 00 000 000 00 000 ",
+ " 00000000 000 000 00 000 ",
+ " 00000000 00 000 00 000 ",
+ " "};
+
+static char **exit_xpm[3] = { exit_x16, exit_x24, exit_x32 };
+
diff --git a/app/bin/bitmaps/extend.xpm b/app/bin/bitmaps/extend.xpm
index 4fb45d1..43490a0 100644
--- a/app/bin/bitmaps/extend.xpm
+++ b/app/bin/bitmaps/extend.xpm
@@ -1,23 +1,143 @@
-/* XPM */
-static char * extend_xpm[] = {
-"16 16 4 1",
-" c None",
-". c #FFFF00000000",
-"X c #000000000000",
-"o c #0000FFFFFFFF",
-" ",
-" . ",
-" ... ",
-" . . . ",
-" .X . X.",
-" XXX.XXX",
-" X . X ",
-" X X . X ",
-" X . X ",
-"o o X X X. X ",
-"oooooXX .X X ",
-"o o X .. X ",
-"o o... XX X ",
-"o o X XX ",
-"oooooXX ",
-"o o X "};
+static char *extend_x16[] = {
+ "16 16 21 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066FF",
+ "2 c #3366CC",
+ "3 c #3366FF",
+ "4 c #3399FF",
+ "5 c #666666",
+ "6 c #6666CC",
+ "7 c #6699FF",
+ "8 c #66CCFF",
+ "9 c #993333",
+ "A c #996666",
+ "B c #999999",
+ "C c #9999CC",
+ "D c #CC0000",
+ "E c #CC3333",
+ "F c #CC6633",
+ "G c #CC6666",
+ "H c #CCCCCC",
+ "I c #C0C0C0",
+ "J c #808080",
+ " D ",
+ " DDD ",
+ " GAE9 ",
+ " BJEJI ",
+ " BJD5 ",
+ " BBGJH ",
+ " HJFE5 ",
+ " BJEJB ",
+ " CJGEJH ",
+ " 46FJI ",
+ " 734832 ",
+ " 884438814 ",
+ " 343448 34 ",
+ " 8 8441 ",
+ " 411338 ",
+ " 44 8 "};
+
+static char *extend_x24[] = {
+ "24 24 21 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066FF",
+ "2 c #3366FF",
+ "3 c #3399FF",
+ "4 c #666666",
+ "5 c #6666CC",
+ "6 c #6699FF",
+ "7 c #66CCFF",
+ "8 c #993333",
+ "9 c #999999",
+ "A c #CC0000",
+ "B c #CC3300",
+ "C c #CC3333",
+ "D c #CC6633",
+ "E c #CC6666",
+ "F c #CC6699",
+ "G c #CC9999",
+ "H c #CCCCCC",
+ "I c #C0C0C0",
+ "J c #808080",
+ " ",
+ " AA ",
+ " AAAAA ",
+ " B AA ",
+ " 99EGJI ",
+ " J9DG4H ",
+ " 44A 4 ",
+ " HJIC94 ",
+ " 4GE99H ",
+ " H94AA44 ",
+ " JICG4 ",
+ " H44CE99 ",
+ " 9JGA 4I ",
+ " 75 EGJ4 ",
+ " 37 A9JH ",
+ " 62 7732 ",
+ " 77227 32 ",
+ " 7776223 7 1 7 ",
+ " 23323277 32 ",
+ " 236 7 76117 ",
+ " 77 77112 ",
+ " 76111117 ",
+ " 112117 ",
+ " 77 "};
+
+static char *extend_x32[] = {
+ "32 32 18 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066FF",
+ "2 c #3366CC",
+ "3 c #3366FF",
+ "4 c #3399FF",
+ "5 c #666666",
+ "6 c #6699FF",
+ "7 c #66CCFF",
+ "8 c #999999",
+ "9 c #CC0000",
+ "A c #CC3300",
+ "B c #CC3333",
+ "C c #CC6666",
+ "D c #CC9999",
+ "E c #CCCCCC",
+ "F c #C0C0C0",
+ "G c #808080",
+ " ",
+ " 99 ",
+ " 999999 ",
+ " 99999999 ",
+ " 99 99 99 ",
+ " 5 99 5 ",
+ " EGECBEGE ",
+ " 5 998G ",
+ " 5 9955 ",
+ " E8G 9955 ",
+ " E88D9FG8 ",
+ " 559AEGFE ",
+ " EF5 99 5 ",
+ " E88D9 55 ",
+ " 5 CBE5 ",
+ " EE55 9B8GE ",
+ " 8G 99 5 ",
+ " 5ED9B55 ",
+ " 73 9CF5 ",
+ " 377 5FE ",
+ " 763 77 12 ",
+ " 7 347 741 ",
+ " 7633 7 147 ",
+ " 7 77334 7 11 ",
+ " 463333 7 431 ",
+ " 334337 77 1147 ",
+ " 7 77 711 ",
+ " 7 7 1136 ",
+ " 7 411 7 ",
+ " 11311147 ",
+ " 37 7 ",
+ " 7 "};
+
+static char **extend_xpm[3] = { extend_x16, extend_x24, extend_x32 };
+
diff --git a/app/bin/bitmaps/filled-box.xpm b/app/bin/bitmaps/filled-box.xpm
new file mode 100644
index 0000000..cd85179
--- /dev/null
+++ b/app/bin/bitmaps/filled-box.xpm
@@ -0,0 +1,120 @@
+static char *filled_box_x16[] = {
+ "16 16 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #9999CC",
+ "3 c #99CCCC",
+ "4 c #99CCFF",
+ "5 c #99FFFF",
+ "6 c #CC0000",
+ "7 c #CC6666",
+ "8 c #CC6699",
+ "9 c #CC9999",
+ "A c #CC99CC",
+ " ",
+ " 00000000000000 ",
+ " 05555555542220 ",
+ " 05555555542860 ",
+ " 0555555555A271 ",
+ " 05555555592581 ",
+ " 05555554935540 ",
+ " 05555549355550 ",
+ " 05555483555550 ",
+ " 05554845555550 ",
+ " 05548455555550 ",
+ " 05484555555550 ",
+ " 04845555555550 ",
+ " 18455555555550 ",
+ " 00000000000000 ",
+ " "};
+
+static char *filled_box_x24[] = {
+ "24 24 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #9999CC",
+ "2 c #99CCCC",
+ "3 c #99CCFF",
+ "4 c #99FFFF",
+ "5 c #CC0000",
+ "6 c #CC3333",
+ "7 c #CC6666",
+ "8 c #CC6699",
+ "9 c #CC9999",
+ "A c #CC99CC",
+ " ",
+ " ",
+ " 0000000000000000000000 ",
+ " 0444444444444433333340 ",
+ " 0444444444444415555640 ",
+ " 0444444444444433317540 ",
+ " 0444444444444444292530 ",
+ " 0444444444444441942530 ",
+ " 04444444444444A1443530 ",
+ " 0444444444444914443230 ",
+ " 0444444444439244444440 ",
+ " 0444444444392444444440 ",
+ " 0444444443824444444440 ",
+ " 0444444438344444444440 ",
+ " 0444444383444444444440 ",
+ " 0444443834444444444440 ",
+ " 0444438344444444444440 ",
+ " 0444283444444444444440 ",
+ " 0442934444444444444440 ",
+ " 0429344444444444444440 ",
+ " 0314444444444444444440 ",
+ " 0000000000000000000000 ",
+ " ",
+ " "};
+
+static char *filled_box_x32[] = {
+ "32 32 13 1",
+ " c None",
+ "0 c #000000",
+ "1 c #9999CC",
+ "2 c #99CCCC",
+ "3 c #99CCFF",
+ "4 c #99FFFF",
+ "5 c #CC0000",
+ "6 c #CC3333",
+ "7 c #CC3366",
+ "8 c #CC6666",
+ "9 c #CC6699",
+ "A c #CC9999",
+ "B c #CC99CC",
+ " ",
+ " ",
+ " 000000000000000000000000000000 ",
+ " 000000000000000000000000000000 ",
+ " 004444444444444444444444444400 ",
+ " 004444444444444444436555558400 ",
+ " 004444444444444444436555556400 ",
+ " 004444444444444444444436555400 ",
+ " 004444444444444444444265A85300 ",
+ " 00444444444444444444265A485300 ",
+ " 0044444444444444444255B4495300 ",
+ " 0044444444444444441551444A5300 ",
+ " 004444444444444441552444431300 ",
+ " 0044444444444444A5524444444400 ",
+ " 004444444444444A56244444444400 ",
+ " 00444444444443A562444444444400 ",
+ " 0044444444443A5634444444444400 ",
+ " 004444444443857344444444444400 ",
+ " 004444444438583444444444444400 ",
+ " 004444444385834444444444444400 ",
+ " 004444443758344444444444444400 ",
+ " 004444436593444444444444444400 ",
+ " 004444265A34444444444444444400 ",
+ " 00444265A344444444444444444400 ",
+ " 0044255A4444444444444444444400 ",
+ " 004155144444444444444444444400 ",
+ " 003651444444444444444444444400 ",
+ " 004224444444444444444444444400 ",
+ " 000000000000000000000000000000 ",
+ " 000000000000000000000000000000 ",
+ " ",
+ " "};
+
+static char **filled_box_xpm[3] = { filled_box_x16, filled_box_x24, filled_box_x32 };
+
diff --git a/app/bin/bitmaps/filled-polygon.xpm b/app/bin/bitmaps/filled-polygon.xpm
new file mode 100644
index 0000000..2620b74
--- /dev/null
+++ b/app/bin/bitmaps/filled-polygon.xpm
@@ -0,0 +1,121 @@
+static char *filled_polygon_x16[] = {
+ "16 16 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #336699",
+ "6 c #669999",
+ "7 c #6699CC",
+ "8 c #66CCCC",
+ "9 c #66CCFF",
+ "A c #99FFFF",
+ " ",
+ " 01220144 ",
+ " 17799AAA93 ",
+ " 17AAAAAAAA84 ",
+ " 29AAAAAAAAA83 ",
+ " 4AAAAAAAAAAA83 ",
+ "06AAAAAAAAAAAA71",
+ " 4AAAAAAAAAAAA82",
+ " 19AAAAAAAAAAA82",
+ " 17AAAAAAAAAAA82",
+ " 4AAAAAAAAAAA82",
+ " 19AAAAAAAAAA92",
+ " 1179AAAAAAAA92",
+ " 1279AAAA9752",
+ " 227640210 ",
+ " 00 "};
+
+static char *filled_polygon_x24[] = {
+ "24 24 14 1",
+ " c None",
+ "0 c #000000",
+ "1 c #000033",
+ "2 c #003333",
+ "3 c #333333",
+ "4 c #333366",
+ "5 c #336666",
+ "6 c #336699",
+ "7 c #339999",
+ "8 c #669999",
+ "9 c #6699CC",
+ "A c #66CCCC",
+ "B c #66CCFF",
+ "C c #99FFFF",
+ " ",
+ " 0032 ",
+ " 0033105599A62 ",
+ " 299ABBCCCCCCB62 ",
+ " 06CCCCCCCCCCCCB5 ",
+ " 3ACCCCCCCCCCCCCB5 ",
+ " 2BCCCCCCCCCCCCCCB5 ",
+ " 07CCCCCCCCCCCCCCCCB5 ",
+ " 3ACCCCCCCCCCCCCCCCCB4 ",
+ " 1BCCCCCCCCCCCCCCCCCCB4 ",
+ " 3BCCCCCCCCCCCCCCCCCCC4 ",
+ " 08CCCCCCCCCCCCCCCCCCC4 ",
+ " 2CCCCCCCCCCCCCCCCCCC4 ",
+ " 3BCCCCCCCCCCCCCCCCCC5 ",
+ " 07CCCCCCCCCCCCCCCCCC5 ",
+ " 2BCCCCCCCCCCCCCCCCC5 ",
+ " 3ACCCCCCCCCCCCCCCCC5 ",
+ " 07CCCCCCCCCCCCCCCCC5 ",
+ " 45BCCCCCCCCCCCCCCC5 ",
+ " 35BCCCCCCCCCCCCC5 ",
+ " 36BCCCCCCCBA850 ",
+ " 028BBA952230 ",
+ " 22230 ",
+ " "};
+
+static char *filled_polygon_x32[] = {
+ "32 32 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #333366",
+ "3 c #336666",
+ "4 c #336699",
+ "5 c #339999",
+ "6 c #669999",
+ "7 c #6699CC",
+ "8 c #66CCCC",
+ "9 c #66CCFF",
+ "A c #99FFFF",
+ " ",
+ " 0000 ",
+ " 000000000000 ",
+ " 0000000000447789300 ",
+ " 004477999AAAAAAA9300 ",
+ " 008AAAAAAAAAAAAAAA9100 ",
+ " 019AAAAAAAAAAAAAAAA9100 ",
+ " 05AAAAAAAAAAAAAAAAAA9100 ",
+ " 008AAAAAAAAAAAAAAAAAAA810 ",
+ " 029AAAAAAAAAAAAAAAAAAAA800 ",
+ " 006AAAAAAAAAAAAAAAAAAAAAA800 ",
+ " 009AAAAAAAAAAAAAAAAAAAAAAA700 ",
+ " 02AAAAAAAAAAAAAAAAAAAAAAAAA700 ",
+ " 009AAAAAAAAAAAAAAAAAAAAAAAAA30 ",
+ " 008AAAAAAAAAAAAAAAAAAAAAAAAA40 ",
+ " 04AAAAAAAAAAAAAAAAAAAAAAAAA40 ",
+ " 009AAAAAAAAAAAAAAAAAAAAAAAA50 ",
+ " 008AAAAAAAAAAAAAAAAAAAAAAAA60 ",
+ " 04AAAAAAAAAAAAAAAAAAAAAAAA60 ",
+ " 009AAAAAAAAAAAAAAAAAAAAAAA60 ",
+ " 007AAAAAAAAAAAAAAAAAAAAAAA60 ",
+ " 04AAAAAAAAAAAAAAAAAAAAAAA60 ",
+ " 009AAAAAAAAAAAAAAAAAAAAAA60 ",
+ " 0069AAAAAAAAAAAAAAAAAAAAA60 ",
+ " 0027AAAAAAAAAAAAAAAAAAAA70 ",
+ " 00038AAAAAAAAAAAAAAAAAA70 ",
+ " 00038AAAAAAAAAAAAAA9840 ",
+ " 00049AAAAAAA997520000 ",
+ " 00059A98630000000 ",
+ " 00010000000 ",
+ " 0000 ",
+ " "};
+
+static char **filled_polygon_xpm[3] = { filled_polygon_x16, filled_polygon_x24, filled_polygon_x32 };
+
diff --git a/app/bin/bitmaps/flip.xpm b/app/bin/bitmaps/flip.xpm
deleted file mode 100644
index 03966eb..0000000
--- a/app/bin/bitmaps/flip.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * flip_xpm[] = {
-"16 16 4 1",
-"# c None",
-". c #0000ffffffff",
-"b c #000000000000",
-"a c #ffff00000000",
-".######a#######b",
-"..#####a######bb",
-"...####a#####bbb",
-"....###a####bbbb",
-".....##a###bbbbb",
-"......#a##bbbbbb",
-".......a#bbbbbbb",
-".......abbbbbbbb",
-".......abbbbbbbb",
-".......a#bbbbbbb",
-"......#a##bbbbbb",
-".....##a###bbbbb",
-"....###a####bbbb",
-"...####a#####bbb",
-"..#####a######bb",
-".######a#######b"};
diff --git a/app/bin/bitmaps/funnel.xpm b/app/bin/bitmaps/funnel.xpm
new file mode 100644
index 0000000..ef7cd23
--- /dev/null
+++ b/app/bin/bitmaps/funnel.xpm
@@ -0,0 +1,62 @@
+/* XPM */
+static char *funnel_xpm[] = {
+"16 16 43 1",
+" c None",
+". c #216262",
+"+ c #123737",
+"@ c #030A0A",
+"# c #000000",
+"$ c #010303",
+"% c #050E0E",
+"& c #091C1C",
+"* c #0F2E2E",
+"= c #164242",
+"- c #1C5353",
+"; c #76D1D1",
+"> c #82D5D5",
+", c #79D2D2",
+"' c #62CBCB",
+") c #65CCCC",
+"! c #75D1D1",
+"~ c #80D5D5",
+"{ c #5FCACA",
+"] c #52C5C5",
+"^ c #42C0C0",
+"/ c #39ACAC",
+"( c #3BB1B1",
+"_ c #57C7C7",
+": c #7BD3D3",
+"< c #89D8D8",
+"[ c #7ED4D4",
+"} c #60CACA",
+"| c #43C0C0",
+"1 c #4BC3C3",
+"2 c #86D7D7",
+"3 c #71D0D0",
+"4 c #46C1C1",
+"5 c #50C5C5",
+"6 c #49C2C2",
+"7 c #4CC3C3",
+"8 c #5EC9C9",
+"9 c #000101",
+"0 c #040B0B",
+"a c #020606",
+"b c #72D0D0",
+"c c #010404",
+"d c #313333",
+" ",
+" .+@###$%&*=-. ",
+" .;;;>,')!~;;. ",
+" .+;{]^/(^_:-. ",
+" +<;[}|1:;2- ",
+" +@;;345;;=- ",
+" @#;;6_;*= ",
+" ##;78&* ",
+" ##'%& ",
+" #'% ",
+" #'% ",
+" #'% ",
+" 9'0 ",
+" $'a ",
+" #bc ",
+" ##d "};
diff --git a/app/bin/bitmaps/funnelclear.xpm b/app/bin/bitmaps/funnelclear.xpm
new file mode 100644
index 0000000..45d948f
--- /dev/null
+++ b/app/bin/bitmaps/funnelclear.xpm
@@ -0,0 +1,124 @@
+/* XPM */
+static char * funnelclear_xpm[] = {
+"16 16 105 2",
+" c None",
+". c #216262",
+"+ c #123737",
+"@ c #030A0A",
+"# c #000000",
+"$ c #010303",
+"% c #050E0E",
+"& c #091C1C",
+"* c #0F2E2E",
+"= c #164242",
+"- c #1C5353",
+"; c #76D1D1",
+"> c #82D5D5",
+", c #79D2D2",
+"' c #62CBCB",
+") c #65CCCC",
+"! c #75D1D1",
+"~ c #80D5D5",
+"{ c #7AAEAE",
+"] c #9D5E5E",
+"^ c #6DA5A5",
+"/ c #39ACAC",
+"( c #3BB1B1",
+"_ c #42C0C0",
+": c #57C7C7",
+"< c #8AB6B6",
+"[ c #A21717",
+"} c #7D4747",
+"| c #92BABA",
+"1 c #9F6464",
+"2 c #FF7777",
+"3 c #9C6060",
+"4 c #6CA5A5",
+"5 c #4BC3C3",
+"6 c #7BD3D3",
+"7 c #86B4B4",
+"8 c #A16767",
+"9 c #F87070",
+"0 c #A70000",
+"a c #9C0101",
+"b c #FE7676",
+"c c #D44C4C",
+"d c #FA7272",
+"e c #965C5C",
+"f c #70AAAA",
+"g c #85B4B4",
+"h c #9B6464",
+"i c #EA6262",
+"j c #E45C5C",
+"k c #A30000",
+"l c #8C0303",
+"m c #990000",
+"n c #EF6767",
+"o c #BE3636",
+"p c #E65E5E",
+"q c #955F5F",
+"r c #996464",
+"s c #D74F4F",
+"t c #CD4545",
+"u c #A00000",
+"v c #A10000",
+"w c #880000",
+"x c #940000",
+"y c #DB5353",
+"z c #B72E2E",
+"A c #C63D3D",
+"B c #BA3131",
+"C c #9F1515",
+"D c #A81E1E",
+"E c #9B0000",
+"F c #9C0000",
+"G c #830000",
+"H c #8F0000",
+"I c #B42525",
+"J c #A21111",
+"K c #A51414",
+"L c #970000",
+"M c #980000",
+"N c #910000",
+"O c #8B0000",
+"P c #AF1515",
+"Q c #AC1111",
+"R c #920000",
+"S c #8C0000",
+"T c #8D0000",
+"U c #B81111",
+"V c #870000",
+"W c #C41111",
+"X c #800202",
+"Y c #820000",
+"Z c #D01111",
+"` c #7C6161",
+" . c #5A0606",
+".. c #570000",
+"+. c #720000",
+"@. c #D81111",
+"#. c #6C0000",
+"$. c #5FAFAF",
+"%. c #020606",
+"&. c #340000",
+"*. c #5F0000",
+"=. c #270000",
+"-. c #6AC2C2",
+";. c #360000",
+">. c #313333",
+" ",
+" . + @ # # # $ % & * = - . ",
+" . ; ; ; > , ' ) ! ~ ; ; . ",
+" . + ; { ] ^ / ( _ : < [ } ",
+" + | 1 2 3 4 5 6 7 8 9 0 0 ",
+" + a b c d e f g h i c j k ",
+" l m n o p q r s o t u v ",
+" w x y z A B C D E F ",
+" G H I J J K L M ",
+" N O P Q Q Q R N ",
+" S T U U U U U U T S ",
+" V V W W W X V W W W V V ",
+" Y Z Z Z ` .G Y Z Z Z Y ",
+" ..+.@.#.$.%. ..+.@.+... ",
+" # &.*.=.-.$ # # ;.*.&.# ",
+" # # >. "};
diff --git a/app/bin/bitmaps/go.xpm b/app/bin/bitmaps/go.xpm
index b8a5478..deb8a81 100644
--- a/app/bin/bitmaps/go.xpm
+++ b/app/bin/bitmaps/go.xpm
@@ -1,22 +1,135 @@
-/* XPM */
-static char * go_xpm[] = {
-"16 16 3 1",
-" c None",
-"X c #000000000000",
-"o c #0000FFFF0000",
-" XXXXX ",
-" XXXXXXXXX ",
-" XXoooooooXX ",
-" XXoooooooooXX ",
-" XoooooooooooX ",
-"XXoooooooooooXX ",
-"XXoooooooooooXX ",
-"XXoooooooooooXX ",
-"XXoooooooooooXX ",
-"XXoooooooooooXX ",
-" XoooooooooooX ",
-" XXoooooooooXX ",
-" XXoooooooXX ",
-" XXXXXXXXX ",
-" XXXXX ",
-" "};
+static char *go_x16[] = {
+ "16 16 16 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #006600",
+ "3 c #006633",
+ "4 c #009933",
+ "5 c #339933",
+ "6 c #33CC33",
+ "7 c #33CC66",
+ "8 c #66CC66",
+ "9 c #66CC99",
+ "A c #99CC99",
+ "B c #99FF99",
+ "C c #99FFCC",
+ "D c #CCFFCC",
+ "E c #008000",
+ " 00 ",
+ " 1221 ",
+ " 11577511 ",
+ " 015788887510 ",
+ " 12678898887620 ",
+ " 14788AAAA877E0 ",
+ " 1478AACCA98740 ",
+ " 1478ACDDB98740 ",
+ " 1478ABCCA98740 ",
+ " 14789ABBA887E0 ",
+ " 147789AA9876E0 ",
+ " 11578888877410 ",
+ " 1377777631 ",
+ " 01476410 ",
+ " 1111 ",
+ " "};
+
+static char *go_x24[] = {
+ "24 24 18 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #006600",
+ "3 c #006633",
+ "4 c #009900",
+ "5 c #009933",
+ "6 c #00CC33",
+ "7 c #339933",
+ "8 c #33CC33",
+ "9 c #33CC66",
+ "A c #66CC66",
+ "B c #66CC99",
+ "C c #99CC99",
+ "D c #99FF99",
+ "E c #99FFCC",
+ "F c #CCFFCC",
+ "G c #008000",
+ " ",
+ " 0110 ",
+ " 138721 ",
+ " 1279999711 ",
+ " 11799999999510 ",
+ " 015899AAAAAA99821 ",
+ " 125899AAABBAAA998510 ",
+ " 15899AABCCCBBAA986G0 ",
+ " 1589AABCCCCCCAA998G0 ",
+ " 1589AACCEEECCBAA98G0 ",
+ " 1599ABCCEFEECCAA9850 ",
+ " 1599ABCEEFFECCAA9850 ",
+ " 1599ABCDEFFECCAA9850 ",
+ " 1599AACCEEEECBAA9850 ",
+ " 1589AABCCCCCCBAA98G0 ",
+ " 15899AABCCCCBAA996G0 ",
+ " 14689AAABBBBAA9986G0 ",
+ " 1G899AAAAAAA9986G1 ",
+ " 117999AAAA998511 ",
+ " 128999999711 ",
+ " 015888821 ",
+ " 115G10 ",
+ " 10 ",
+ " "};
+
+static char *go_x32[] = {
+ "32 32 18 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #006600",
+ "3 c #006633",
+ "4 c #009900",
+ "5 c #009933",
+ "6 c #00CC33",
+ "7 c #339933",
+ "8 c #33CC33",
+ "9 c #33CC66",
+ "A c #66CC66",
+ "B c #66CC99",
+ "C c #99CC99",
+ "D c #99FF99",
+ "E c #99FFCC",
+ "F c #CCFFCC",
+ "G c #008000",
+ " ",
+ " 11 ",
+ " 115310 ",
+ " 015888721 ",
+ " 138999998711 ",
+ " 1179999999998511 ",
+ " 1158999AAAAA9999831 ",
+ " 01G8899AAAAAAAAA9998511 ",
+ " 1258899AAAAAAAAAAA99986G1 ",
+ " 146899AAAABCCCBBAAA99886G0 ",
+ " 156899AAABCCCCCCBAAA9986G0 ",
+ " 15899AAABCCCCCCCCBAA9986G0 ",
+ " 15899AABCCCEEEDCCBAAA988G0 ",
+ " 15899AABCCEEEEEDCCBAA998G0 ",
+ " 1589AAACCCEEFFEECCBAA998G0 ",
+ " 1589AAACCDEFFFEECCBAA99850 ",
+ " 1589AAACCCEFFFEECCBAA998G0 ",
+ " 15899AABCCEEEEEDCCBAA998G0 ",
+ " 15899AABCCCEEEECCCAAA988G0 ",
+ " 15899AAABCCCCCCCCBAA9986G0 ",
+ " 156899AABCCCCCCCBAAA9986G0 ",
+ " 156899AAAABCCCBBAAA99886G0 ",
+ " 1G68899AAAAABAAAAAA9986520 ",
+ " 1158899AAAAAAAAA99986511 ",
+ " 1G88999AAAAAA9998711 ",
+ " 11589999999999821 ",
+ " 11789999998510 ",
+ " 1278888511 ",
+ " 0136511 ",
+ " 111 ",
+ " ",
+ " "};
+
+static char **go_xpm[3] = { go_x16, go_x24, go_x32 };
+
diff --git a/app/bin/bitmaps/helix.xpm b/app/bin/bitmaps/helix.xpm
new file mode 100644
index 0000000..d02bb29
--- /dev/null
+++ b/app/bin/bitmaps/helix.xpm
@@ -0,0 +1,95 @@
+static char *helix_x16[] = {
+ "16 16 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #666666",
+ " 1111 ",
+ " 1111111111 ",
+ " 11 11 11 ",
+ " 11 111111111 1 ",
+ "11111 1111",
+ "111 2222222 11",
+ "11 2222 22111",
+ "112 11111",
+ "111 1111 12",
+ "22111 1112",
+ "221 111111111 22",
+ "2211 1 22 ",
+ " 2 11111222222 ",
+ " 22 1122 ",
+ " 2222 ",
+ " 2222 "};
+
+static char *helix_x24[] = {
+ "24 24 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #666666",
+ " 11 ",
+ " 11111111111 ",
+ " 111 1111 ",
+ " 11 11 ",
+ " 11 11111111 1 ",
+ " 1 1111 11 11111 1 ",
+ " 11 111 111 1 ",
+ " 1 11 22 111 ",
+ " 111 22222222222 11 ",
+ " 11 222 222111 ",
+ " 11 22 1111 ",
+ " 112 1111 21 ",
+ " 111 1111111 11 ",
+ " 1211 1122",
+ " 22 111 111 2 ",
+ " 21 1111111111111 2 ",
+ " 221 1111111 2 ",
+ " 22 11 22 ",
+ " 2 1111 2222 ",
+ " 22 11111222222 ",
+ " 22 ",
+ " 22 ",
+ " 222222 ",
+ " 22 "};
+
+static char *helix_x32[] = {
+ "32 32 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #666666",
+ " 1 ",
+ " 1111111111111 ",
+ " 111111111111111111 ",
+ " 11111 11111 ",
+ " 111 1111 ",
+ " 111 1111111 111 ",
+ " 111 111111111111111 11 ",
+ " 11 1111111 11 11111111 11 ",
+ " 111 11111 11111 11 ",
+ " 11 111 11111 ",
+ " 11111 22222222222 1111 ",
+ " 1111 22222222222222222 111 ",
+ " 111 222222 2222221111 ",
+ " 111 2222 211111 ",
+ " 111222 1111211 ",
+ " 11122 1111111 211 ",
+ " 1111 1111111111 111 ",
+ " 12111 111111 1112 ",
+ " 2121111 111122 ",
+ " 211 11111 11111 22 ",
+ " 2211 1111111111111111111 22 ",
+ " 22111 111111111111111 222 ",
+ " 22 111 11 222 ",
+ " 222 1111 22222 ",
+ " 22 111111 222222 ",
+ " 22 11111111222222222 ",
+ " 222 11111222222 ",
+ " 2222 ",
+ " 22222 ",
+ " 2222222 ",
+ " 22222222 ",
+ " 2222 "};
+
+static char **helix_xpm[3] = { helix_x16, helix_x24, helix_x32 };
+
diff --git a/app/bin/bitmaps/hndldto.xpm b/app/bin/bitmaps/hndldto.xpm
deleted file mode 100644
index f49fef6..0000000
--- a/app/bin/bitmaps/hndldto.xpm
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static char * hndldto_xpm[] = {
-"16 16 2 1",
-" c None",
-". c #000000000000",
-" . . ",
-" .. ",
-" . ... ",
-" .. . . ",
-" . .. ",
-" . ...... . ",
-"... ....... ... ",
-" . ........ . ",
-" . .. . ",
-"..... .. ...... ",
-" . .. . . ",
-" .. ",
-" .. ",
-" .. ",
-" .. ",
-" "};
diff --git a/app/bin/bitmaps/join-line.xpm b/app/bin/bitmaps/join-line.xpm
new file mode 100644
index 0000000..1912e9a
--- /dev/null
+++ b/app/bin/bitmaps/join-line.xpm
@@ -0,0 +1,99 @@
+static char *join_line_x16[] = {
+ "16 16 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #CC0000",
+ "3 c #800000",
+ " ",
+ " 00",
+ " 0 ",
+ " 0 ",
+ " 0 ",
+ " 223 ",
+ " 222 ",
+ " 222 ",
+ " 2 ",
+ " 2 ",
+ " 2 ",
+ " 2 2 ",
+ " 222 ",
+ " 022 ",
+ " 00000 22 ",
+ " 000 "};
+
+static char *join_line_x24[] = {
+ "24 24 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #990000",
+ "2 c #CC0000",
+ "3 c #800000",
+ " ",
+ " 0 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 0 ",
+ " 00 ",
+ " 2223 ",
+ " 2222 ",
+ " 2222 ",
+ " 22 ",
+ " 2 ",
+ " 22 ",
+ " 22 ",
+ " 22 ",
+ " 22 ",
+ " 2 22 ",
+ " 22222 ",
+ " 222 ",
+ " 0122 ",
+ " 0000 22 ",
+ " 000000 ",
+ " "};
+
+static char *join_line_x32[] = {
+ "32 32 6 1",
+ " c None",
+ "0 c #000000",
+ "1 c #660000",
+ "2 c #990000",
+ "3 c #CC0000",
+ "4 c #800000",
+ " ",
+ " 0 ",
+ " 0 ",
+ " 0 ",
+ " 0 ",
+ " 0 ",
+ " 00 ",
+ " 00 ",
+ " 0 ",
+ " 0 ",
+ " 21 ",
+ " 333333 ",
+ " 3333333 ",
+ " 33333 ",
+ " 33 33 ",
+ " 333 ",
+ " 33 ",
+ " 33 ",
+ " 333 ",
+ " 333 ",
+ " 333 ",
+ " 333 ",
+ " 333 ",
+ " 33 333 ",
+ " 33 3333 ",
+ " 33333 ",
+ " 3333 ",
+ " 04333 ",
+ " 0000 333 ",
+ " 0000000 3 ",
+ " 00000 ",
+ " "};
+
+static char **join_line_xpm[3] = { join_line_x16, join_line_x24, join_line_x32 };
+
diff --git a/app/bin/bitmaps/join.xpm b/app/bin/bitmaps/join.xpm
index b42f2cb..944e443 100644
--- a/app/bin/bitmaps/join.xpm
+++ b/app/bin/bitmaps/join.xpm
@@ -1,22 +1,117 @@
-/* XPM */
-static char * join_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-" ",
-" ",
-" . .",
-" . ",
-" . . .",
-" . ",
-" . . .",
-" . ",
-" XXX . .",
-". . XX ",
-"..... X X X ",
-". . X X ",
-". .XXXX ",
-". . X ",
-"..... X ",
-". . "};
+static char *join_x16[] = {
+ "16 16 13 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #660000",
+ "4 c #663300",
+ "5 c #990000",
+ "6 c #996600",
+ "7 c #CC0000",
+ "8 c #CC3300",
+ "9 c #CC6600",
+ "A c #CC9900",
+ "B c #800000",
+ " 66 0 ",
+ " 66A2A",
+ " 20 0 ",
+ " A4964 ",
+ " 3 46 ",
+ " 7777B ",
+ " 777 ",
+ " 77 ",
+ " 7 ",
+ " 7 ",
+ " 7 77 ",
+ " 9161777 ",
+ "0406977 ",
+ " A A6157 ",
+ "04006 ",
+ " 9 A "};
+
+static char *join_x24[] = {
+ "24 24 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #990000",
+ "5 c #996600",
+ "6 c #CC0000",
+ "7 c #CC6600",
+ "8 c #CC9900",
+ " 0 ",
+ " 8558827 ",
+ " 338818 ",
+ " 00 0 ",
+ " 825 0 ",
+ " 7288538 ",
+ " 00 158 ",
+ " 6666660 ",
+ " 6666664 ",
+ " 66666 ",
+ " 66 666 ",
+ " 666 6 ",
+ " 666 ",
+ " 666 ",
+ " 6 666 ",
+ " 66 666 ",
+ " 666666 ",
+ " 7 33066666 ",
+ " 02007 666 ",
+ " 8 8866666 ",
+ " 8 8500466 ",
+ " 350005 ",
+ " 15 8 ",
+ " 8 "};
+
+static char *join_x32[] = {
+ "32 32 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #990000",
+ "5 c #996600",
+ "6 c #CC0000",
+ "7 c #CC6600",
+ "8 c #CC9900",
+ "9 c #800000",
+ " ",
+ " 20 00 ",
+ " 855888558 ",
+ " 00 05 ",
+ " 0 0 ",
+ " 0 0 ",
+ " 88388 0 ",
+ " 03888758 ",
+ " 0 038 ",
+ " 64666 0 ",
+ " 666666660 ",
+ " 666666664 ",
+ " 666666 ",
+ " 666 666 ",
+ " 666 666 ",
+ " 6666 ",
+ " 6666 ",
+ " 6666 ",
+ " 6666 ",
+ " 66 6666 ",
+ " 66 6666 ",
+ " 666 66666 ",
+ " 87096666666 ",
+ " 88 0320666666 ",
+ " 0100038 66666 ",
+ " 78 8 666666 ",
+ " 88 88 46666 ",
+ " 88 7000 666 ",
+ " 57000033 ",
+ " 02300 88 ",
+ " 8 8 ",
+ " 8 "};
+
+static char **join_xpm[3] = { join_x16, join_x24, join_x32 };
+
diff --git a/app/bin/bitmaps/joinline.xpm b/app/bin/bitmaps/joinline.xpm
deleted file mode 100644
index 06e22f8..0000000
--- a/app/bin/bitmaps/joinline.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * joinline_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-" ",
-" ",
-" ",
-" .",
-" ..",
-" ...",
-" ... ",
-" ... ",
-" XXX ",
-" X X ",
-" X X X ",
-".....X X ",
-".....XXXX ",
-"..... X ",
-" X ",
-" "}; \ No newline at end of file
diff --git a/app/bin/bitmaps/l1.xbm b/app/bin/bitmaps/l1.xbm
index e332794..031edd1 100644
--- a/app/bin/bitmaps/l1.xbm
+++ b/app/bin/bitmaps/l1.xbm
@@ -1,6 +1,78 @@
-#define l1_width 14
-#define l1_height 16
-static char l1_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x60, 0x00, 0x50, 0x00,
- 0x48, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l1_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x80, 0x03,
+ 0xC0, 0x03,
+ 0xE0, 0x03,
+ 0x80, 0x03,
+ 0x80, 0x03,
+ 0x80, 0x03,
+ 0x80, 0x03,
+ 0x80, 0x03,
+ 0x80, 0x03,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l1_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x1E, 0x00,
+ 0x00, 0x1E, 0x00,
+ 0x00, 0x1F, 0x00,
+ 0x80, 0x1D, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l1_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xE0, 0x00, 0x00,
+ 0x00, 0xE0, 0x00, 0x00,
+ 0x00, 0xF0, 0x00, 0x00,
+ 0x00, 0xF8, 0x00, 0x00,
+ 0x00, 0xFC, 0x00, 0x00,
+ 0x00, 0xFE, 0x00, 0x00,
+ 0x00, 0xE6, 0x00, 0x00,
+ 0x00, 0xE0, 0x00, 0x00,
+ 0x00, 0xE0, 0x00, 0x00,
+ 0x00, 0xE0, 0x00, 0x00,
+ 0x00, 0xE0, 0x00, 0x00,
+ 0x00, 0xE0, 0x00, 0x00,
+ 0x00, 0xE0, 0x00, 0x00,
+ 0x00, 0xE0, 0x00, 0x00,
+ 0x00, 0xE0, 0x00, 0x00,
+ 0x00, 0xE0, 0x00, 0x00,
+ 0x00, 0xE0, 0x00, 0x00,
+ 0x00, 0xE0, 0x00, 0x00,
+ 0x00, 0xE0, 0x00, 0x00,
+ 0x00, 0xE0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l10.xbm b/app/bin/bitmaps/l10.xbm
index 0cf7dc8..10920b9 100644
--- a/app/bin/bitmaps/l10.xbm
+++ b/app/bin/bitmaps/l10.xbm
@@ -1,6 +1,78 @@
-#define l10_width 14
-#define l10_height 16
-static char l10_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x8C, 0x10, 0x8A, 0x18,
- 0x89, 0x14, 0x88, 0x12, 0x88, 0x11, 0x88, 0x10, 0x88, 0x10, 0x08, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l10_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x1E,
+ 0x78, 0x3F,
+ 0x7C, 0x33,
+ 0x70, 0x33,
+ 0x70, 0x33,
+ 0x70, 0x33,
+ 0x70, 0x33,
+ 0x70, 0x3F,
+ 0x70, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l10_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0xE1, 0x03,
+ 0xE0, 0x71, 0x07,
+ 0xE0, 0x31, 0x07,
+ 0xF0, 0x39, 0x06,
+ 0xD8, 0x39, 0x06,
+ 0xC0, 0x39, 0x0E,
+ 0xC0, 0x39, 0x0E,
+ 0xC0, 0x39, 0x0E,
+ 0xC0, 0x39, 0x0E,
+ 0xC0, 0x39, 0x0E,
+ 0xC0, 0x39, 0x06,
+ 0xC0, 0x39, 0x06,
+ 0xC0, 0x31, 0x07,
+ 0xC0, 0x71, 0x07,
+ 0xC0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l10_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x03, 0x7E, 0x00,
+ 0x80, 0x03, 0xFF, 0x00,
+ 0xC0, 0x03, 0xEF, 0x01,
+ 0xE0, 0x83, 0xC7, 0x01,
+ 0xF0, 0x83, 0xC3, 0x03,
+ 0xF8, 0x83, 0xC3, 0x03,
+ 0x98, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0x83, 0xC3, 0x03,
+ 0x80, 0x83, 0xC3, 0x03,
+ 0x80, 0x83, 0xC7, 0x01,
+ 0x80, 0x03, 0xEF, 0x01,
+ 0x80, 0x03, 0xFF, 0x00,
+ 0x80, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l11.xbm b/app/bin/bitmaps/l11.xbm
index c38f98b..ce82cfe 100644
--- a/app/bin/bitmaps/l11.xbm
+++ b/app/bin/bitmaps/l11.xbm
@@ -1,6 +1,78 @@
-#define l11_width 14
-#define l11_height 16
-static char l11_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x0C, 0x06, 0x0A, 0x05,
- 0x89, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l11_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x1C,
+ 0x78, 0x1E,
+ 0x7C, 0x1F,
+ 0x70, 0x1C,
+ 0x70, 0x1C,
+ 0x70, 0x1C,
+ 0x70, 0x1C,
+ 0x70, 0x1C,
+ 0x70, 0x1C,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l11_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0x81, 0x03,
+ 0xE0, 0xC1, 0x03,
+ 0xE0, 0xC1, 0x03,
+ 0xF0, 0xE1, 0x03,
+ 0xD8, 0xB1, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l11_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x03, 0x70, 0x00,
+ 0x80, 0x03, 0x70, 0x00,
+ 0xC0, 0x03, 0x78, 0x00,
+ 0xE0, 0x03, 0x7C, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0xF8, 0x03, 0x7F, 0x00,
+ 0x98, 0x03, 0x73, 0x00,
+ 0x80, 0x03, 0x70, 0x00,
+ 0x80, 0x03, 0x70, 0x00,
+ 0x80, 0x03, 0x70, 0x00,
+ 0x80, 0x03, 0x70, 0x00,
+ 0x80, 0x03, 0x70, 0x00,
+ 0x80, 0x03, 0x70, 0x00,
+ 0x80, 0x03, 0x70, 0x00,
+ 0x80, 0x03, 0x70, 0x00,
+ 0x80, 0x03, 0x70, 0x00,
+ 0x80, 0x03, 0x70, 0x00,
+ 0x80, 0x03, 0x70, 0x00,
+ 0x80, 0x03, 0x70, 0x00,
+ 0x80, 0x03, 0x70, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l12.xbm b/app/bin/bitmaps/l12.xbm
index 19b8726..e660ef3 100644
--- a/app/bin/bitmaps/l12.xbm
+++ b/app/bin/bitmaps/l12.xbm
@@ -1,6 +1,78 @@
-#define l12_width 14
-#define l12_height 16
-static char l12_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x8C, 0x10, 0x8A, 0x10,
- 0x09, 0x08, 0x08, 0x04, 0x08, 0x02, 0x08, 0x01, 0x88, 0x00, 0x88, 0x1F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l12_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x1E,
+ 0x78, 0x3F,
+ 0x7C, 0x33,
+ 0x70, 0x30,
+ 0x70, 0x38,
+ 0x70, 0x1C,
+ 0x70, 0x0E,
+ 0x70, 0x07,
+ 0x70, 0x3F,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l12_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0xE1, 0x03,
+ 0xE0, 0x71, 0x07,
+ 0xE0, 0x39, 0x06,
+ 0xF0, 0x39, 0x0E,
+ 0xD8, 0x01, 0x0E,
+ 0xC0, 0x01, 0x0E,
+ 0xC0, 0x01, 0x07,
+ 0xC0, 0x81, 0x07,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0xC1, 0x01,
+ 0xC0, 0xE1, 0x01,
+ 0xC0, 0xF1, 0x00,
+ 0xC0, 0x71, 0x00,
+ 0xC0, 0x79, 0x00,
+ 0xC0, 0xF9, 0x0F,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l12_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x03, 0xFE, 0x00,
+ 0x80, 0x03, 0xFF, 0x01,
+ 0xC0, 0x83, 0xE7, 0x03,
+ 0xE0, 0x83, 0xC3, 0x03,
+ 0xF0, 0xC3, 0x83, 0x03,
+ 0xF8, 0xC3, 0x83, 0x03,
+ 0x98, 0x03, 0x80, 0x03,
+ 0x80, 0x03, 0xC0, 0x03,
+ 0x80, 0x03, 0xC0, 0x03,
+ 0x80, 0x03, 0xE0, 0x01,
+ 0x80, 0x03, 0xF0, 0x01,
+ 0x80, 0x03, 0xF8, 0x00,
+ 0x80, 0x03, 0x78, 0x00,
+ 0x80, 0x03, 0x3C, 0x00,
+ 0x80, 0x03, 0x1E, 0x00,
+ 0x80, 0x03, 0x0F, 0x00,
+ 0x80, 0x83, 0x07, 0x00,
+ 0x80, 0x83, 0x07, 0x00,
+ 0x80, 0xC3, 0xFF, 0x03,
+ 0x80, 0xC3, 0xFF, 0x03,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l13.xbm b/app/bin/bitmaps/l13.xbm
index 812bbe3..a11c7f7 100644
--- a/app/bin/bitmaps/l13.xbm
+++ b/app/bin/bitmaps/l13.xbm
@@ -1,6 +1,78 @@
-#define l13_width 14
-#define l13_height 16
-static char l13_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x8C, 0x10, 0x0A, 0x10,
- 0x09, 0x10, 0x08, 0x0E, 0x08, 0x10, 0x08, 0x10, 0x88, 0x10, 0x08, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l13_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x1E,
+ 0x78, 0x3B,
+ 0x7C, 0x38,
+ 0x70, 0x18,
+ 0x70, 0x3C,
+ 0x70, 0x38,
+ 0x70, 0x33,
+ 0x70, 0x3F,
+ 0x70, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l13_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0xE1, 0x03,
+ 0xE0, 0x71, 0x07,
+ 0xE0, 0x39, 0x07,
+ 0xF0, 0x01, 0x07,
+ 0xD8, 0x01, 0x07,
+ 0xC0, 0x01, 0x07,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0xC1, 0x07,
+ 0xC0, 0x01, 0x07,
+ 0xC0, 0x01, 0x0E,
+ 0xC0, 0x01, 0x0E,
+ 0xC0, 0x39, 0x0E,
+ 0xC0, 0x39, 0x07,
+ 0xC0, 0x71, 0x07,
+ 0xC0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l13_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x03, 0x7E, 0x00,
+ 0x80, 0x03, 0xFF, 0x00,
+ 0xC0, 0x83, 0xE7, 0x01,
+ 0xE0, 0x83, 0xC7, 0x01,
+ 0xF0, 0x83, 0xC3, 0x03,
+ 0xF8, 0x03, 0xC0, 0x03,
+ 0x98, 0x03, 0xC0, 0x01,
+ 0x80, 0x03, 0xE0, 0x01,
+ 0x80, 0x03, 0xFC, 0x00,
+ 0x80, 0x03, 0xFC, 0x00,
+ 0x80, 0x03, 0xE0, 0x01,
+ 0x80, 0x03, 0xC0, 0x03,
+ 0x80, 0x03, 0x80, 0x03,
+ 0x80, 0x03, 0x80, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0x83, 0xC7, 0x03,
+ 0x80, 0x83, 0xE7, 0x01,
+ 0x80, 0x03, 0xFF, 0x01,
+ 0x80, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l14.xbm b/app/bin/bitmaps/l14.xbm
index 63f2e44..765ca93 100644
--- a/app/bin/bitmaps/l14.xbm
+++ b/app/bin/bitmaps/l14.xbm
@@ -1,6 +1,78 @@
-#define l14_width 14
-#define l14_height 16
-static char l14_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x0C, 0x0C, 0x0A, 0x0A,
- 0x09, 0x09, 0x88, 0x08, 0x88, 0x1F, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l14_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x1C,
+ 0x78, 0x1C,
+ 0x7C, 0x1E,
+ 0x70, 0x1E,
+ 0x70, 0x1F,
+ 0x70, 0x1B,
+ 0xF0, 0x3F,
+ 0x70, 0x18,
+ 0x70, 0x18,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l14_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0x81, 0x03,
+ 0xE0, 0x81, 0x03,
+ 0xE0, 0xC1, 0x03,
+ 0xF0, 0xC1, 0x03,
+ 0xD8, 0xE1, 0x03,
+ 0xC0, 0xE1, 0x03,
+ 0xC0, 0xF1, 0x03,
+ 0xC0, 0xB1, 0x03,
+ 0xC0, 0xB9, 0x03,
+ 0xC0, 0x99, 0x03,
+ 0xC0, 0xFD, 0x0F,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l14_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x03, 0xF0, 0x00,
+ 0x80, 0x03, 0xF0, 0x00,
+ 0xC0, 0x03, 0xF8, 0x00,
+ 0xE0, 0x03, 0xF8, 0x00,
+ 0xF0, 0x03, 0xFC, 0x00,
+ 0xF8, 0x03, 0xFC, 0x00,
+ 0x98, 0x03, 0xFE, 0x00,
+ 0x80, 0x03, 0xEE, 0x00,
+ 0x80, 0x03, 0xEF, 0x00,
+ 0x80, 0x83, 0xE7, 0x00,
+ 0x80, 0x83, 0xE7, 0x00,
+ 0x80, 0xC3, 0xE3, 0x00,
+ 0x80, 0xC3, 0xE1, 0x00,
+ 0x80, 0xE3, 0xFF, 0x03,
+ 0x80, 0xE3, 0xFF, 0x03,
+ 0x80, 0x03, 0xE0, 0x00,
+ 0x80, 0x03, 0xE0, 0x00,
+ 0x80, 0x03, 0xE0, 0x00,
+ 0x80, 0x03, 0xE0, 0x00,
+ 0x80, 0x03, 0xE0, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l15.xbm b/app/bin/bitmaps/l15.xbm
index 4d66f1b..7850754 100644
--- a/app/bin/bitmaps/l15.xbm
+++ b/app/bin/bitmaps/l15.xbm
@@ -1,6 +1,78 @@
-#define l15_width 14
-#define l15_height 16
-static char l15_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x1F, 0x8C, 0x00, 0x8A, 0x00,
- 0x89, 0x0F, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x88, 0x10, 0x08, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l15_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x3F,
+ 0x78, 0x07,
+ 0x7C, 0x07,
+ 0x70, 0x1F,
+ 0x70, 0x3B,
+ 0x70, 0x30,
+ 0x70, 0x33,
+ 0x70, 0x3F,
+ 0x70, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l15_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0xF1, 0x07,
+ 0xE0, 0x71, 0x00,
+ 0xE0, 0x71, 0x00,
+ 0xF0, 0x31, 0x00,
+ 0xD8, 0x31, 0x00,
+ 0xC0, 0xF9, 0x03,
+ 0xC0, 0x79, 0x07,
+ 0xC0, 0x39, 0x07,
+ 0xC0, 0x01, 0x0E,
+ 0xC0, 0x01, 0x0E,
+ 0xC0, 0x01, 0x0E,
+ 0xC0, 0x39, 0x06,
+ 0xC0, 0x39, 0x07,
+ 0xC0, 0x71, 0x07,
+ 0xC0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l15_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x03, 0xFF, 0x03,
+ 0x80, 0x03, 0xFF, 0x03,
+ 0xC0, 0x03, 0x07, 0x00,
+ 0xE0, 0x03, 0x07, 0x00,
+ 0xF0, 0x83, 0x07, 0x00,
+ 0xF8, 0x83, 0x07, 0x00,
+ 0x98, 0x83, 0x7F, 0x00,
+ 0x80, 0x83, 0xFF, 0x01,
+ 0x80, 0x83, 0xE7, 0x01,
+ 0x80, 0x83, 0xC3, 0x03,
+ 0x80, 0x03, 0xC0, 0x03,
+ 0x80, 0x03, 0x80, 0x03,
+ 0x80, 0x03, 0x80, 0x03,
+ 0x80, 0x03, 0x80, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0xC3, 0x03,
+ 0x80, 0x83, 0xC3, 0x03,
+ 0x80, 0x83, 0xE7, 0x01,
+ 0x80, 0x03, 0xFF, 0x00,
+ 0x80, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l16.xbm b/app/bin/bitmaps/l16.xbm
index 84366d3..88e94f6 100644
--- a/app/bin/bitmaps/l16.xbm
+++ b/app/bin/bitmaps/l16.xbm
@@ -1,6 +1,78 @@
-#define l16_width 14
-#define l16_height 16
-static char l16_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x8C, 0x00, 0x8A, 0x00,
- 0x89, 0x0F, 0x88, 0x10, 0x88, 0x10, 0x88, 0x10, 0x88, 0x10, 0x08, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l16_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x1E,
+ 0x78, 0x3F,
+ 0x7C, 0x03,
+ 0x70, 0x1F,
+ 0x70, 0x3F,
+ 0x70, 0x33,
+ 0x70, 0x33,
+ 0x70, 0x3F,
+ 0x70, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l16_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0xE1, 0x03,
+ 0xE0, 0x71, 0x07,
+ 0xE0, 0x31, 0x07,
+ 0xF0, 0x39, 0x00,
+ 0xD8, 0x39, 0x00,
+ 0xC0, 0x39, 0x00,
+ 0xC0, 0xF9, 0x03,
+ 0xC0, 0x79, 0x07,
+ 0xC0, 0x39, 0x07,
+ 0xC0, 0x39, 0x0E,
+ 0xC0, 0x39, 0x0E,
+ 0xC0, 0x39, 0x0E,
+ 0xC0, 0x31, 0x07,
+ 0xC0, 0x71, 0x07,
+ 0xC0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l16_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x03, 0xFC, 0x00,
+ 0x80, 0x03, 0xFF, 0x01,
+ 0xC0, 0x03, 0xEF, 0x01,
+ 0xE0, 0x83, 0xC7, 0x03,
+ 0xF0, 0x83, 0xC3, 0x03,
+ 0xF8, 0x83, 0x03, 0x00,
+ 0x98, 0xC3, 0x03, 0x00,
+ 0x80, 0xC3, 0x7F, 0x00,
+ 0x80, 0xC3, 0xFF, 0x01,
+ 0x80, 0xC3, 0xEF, 0x01,
+ 0x80, 0xC3, 0xC7, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0x83, 0x83, 0x03,
+ 0x80, 0x83, 0xC7, 0x03,
+ 0x80, 0x83, 0xEF, 0x01,
+ 0x80, 0x03, 0xFF, 0x01,
+ 0x80, 0x03, 0x7C, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l17.xbm b/app/bin/bitmaps/l17.xbm
index 0881871..df3fb94 100644
--- a/app/bin/bitmaps/l17.xbm
+++ b/app/bin/bitmaps/l17.xbm
@@ -1,6 +1,78 @@
-#define l17_width 14
-#define l17_height 16
-static char l17_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x1F, 0x0C, 0x10, 0x0A, 0x08,
- 0x09, 0x08, 0x08, 0x04, 0x08, 0x04, 0x08, 0x02, 0x08, 0x02, 0x08, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l17_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x3F,
+ 0x78, 0x38,
+ 0x7C, 0x18,
+ 0x70, 0x1C,
+ 0x70, 0x0C,
+ 0x70, 0x0E,
+ 0x70, 0x0E,
+ 0x70, 0x06,
+ 0x70, 0x06,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l17_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0xF9, 0x0F,
+ 0xE0, 0x01, 0x0F,
+ 0xE0, 0x01, 0x07,
+ 0xF0, 0x81, 0x03,
+ 0xD8, 0x81, 0x03,
+ 0xC0, 0xC1, 0x01,
+ 0xC0, 0xC1, 0x01,
+ 0xC0, 0xC1, 0x01,
+ 0xC0, 0xE1, 0x00,
+ 0xC0, 0xE1, 0x00,
+ 0xC0, 0xE1, 0x00,
+ 0xC0, 0xE1, 0x00,
+ 0xC0, 0xE1, 0x00,
+ 0xC0, 0x71, 0x00,
+ 0xC0, 0x71, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l17_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0xC3, 0xFF, 0x03,
+ 0x80, 0xC3, 0xFF, 0x03,
+ 0xC0, 0x03, 0xC0, 0x03,
+ 0xE0, 0x03, 0xE0, 0x01,
+ 0xF0, 0x03, 0xE0, 0x01,
+ 0xF8, 0x03, 0xF0, 0x00,
+ 0x98, 0x03, 0xF0, 0x00,
+ 0x80, 0x03, 0x78, 0x00,
+ 0x80, 0x03, 0x78, 0x00,
+ 0x80, 0x03, 0x38, 0x00,
+ 0x80, 0x03, 0x3C, 0x00,
+ 0x80, 0x03, 0x3C, 0x00,
+ 0x80, 0x03, 0x1C, 0x00,
+ 0x80, 0x03, 0x1E, 0x00,
+ 0x80, 0x03, 0x1E, 0x00,
+ 0x80, 0x03, 0x1E, 0x00,
+ 0x80, 0x03, 0x1E, 0x00,
+ 0x80, 0x03, 0x0E, 0x00,
+ 0x80, 0x03, 0x0E, 0x00,
+ 0x80, 0x03, 0x0E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l18.xbm b/app/bin/bitmaps/l18.xbm
index 3e9074c..7ab0b30 100644
--- a/app/bin/bitmaps/l18.xbm
+++ b/app/bin/bitmaps/l18.xbm
@@ -1,6 +1,78 @@
-#define l18_width 14
-#define l18_height 16
-static char l18_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x8C, 0x10, 0x8A, 0x10,
- 0x89, 0x10, 0x08, 0x0F, 0x88, 0x10, 0x88, 0x10, 0x88, 0x10, 0x08, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l18_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x1E,
+ 0x78, 0x3F,
+ 0x7C, 0x3B,
+ 0x70, 0x3F,
+ 0x70, 0x1E,
+ 0x70, 0x3F,
+ 0x70, 0x33,
+ 0x70, 0x3F,
+ 0x70, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l18_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0xE1, 0x03,
+ 0xE0, 0x71, 0x07,
+ 0xE0, 0x31, 0x07,
+ 0xF0, 0x39, 0x07,
+ 0xD8, 0x39, 0x07,
+ 0xC0, 0x39, 0x07,
+ 0xC0, 0x71, 0x07,
+ 0xC0, 0xE1, 0x03,
+ 0xC0, 0x71, 0x07,
+ 0xC0, 0x39, 0x06,
+ 0xC0, 0x39, 0x0E,
+ 0xC0, 0x39, 0x0E,
+ 0xC0, 0x39, 0x06,
+ 0xC0, 0x71, 0x07,
+ 0xC0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l18_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x03, 0x7E, 0x00,
+ 0x80, 0x03, 0xFF, 0x00,
+ 0xC0, 0x83, 0xEF, 0x01,
+ 0xE0, 0x83, 0xC7, 0x01,
+ 0xF0, 0x83, 0xC3, 0x03,
+ 0xF8, 0x83, 0xC3, 0x03,
+ 0x98, 0x83, 0xC7, 0x01,
+ 0x80, 0x03, 0xEF, 0x01,
+ 0x80, 0x03, 0xFE, 0x00,
+ 0x80, 0x03, 0xFF, 0x00,
+ 0x80, 0x83, 0xE7, 0x01,
+ 0x80, 0x83, 0xC3, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0x83, 0xC3, 0x03,
+ 0x80, 0x83, 0xE7, 0x01,
+ 0x80, 0x03, 0xFF, 0x01,
+ 0x80, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l19.xbm b/app/bin/bitmaps/l19.xbm
index 71beff5..08aee34 100644
--- a/app/bin/bitmaps/l19.xbm
+++ b/app/bin/bitmaps/l19.xbm
@@ -1,6 +1,78 @@
-#define l19_width 14
-#define l19_height 16
-static char l19_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x8C, 0x10, 0x8A, 0x10,
- 0x89, 0x10, 0x08, 0x1F, 0x08, 0x10, 0x08, 0x10, 0x08, 0x08, 0x08, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l19_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x1E,
+ 0x78, 0x3F,
+ 0x7C, 0x33,
+ 0x70, 0x33,
+ 0x70, 0x3F,
+ 0x70, 0x3E,
+ 0x70, 0x30,
+ 0x70, 0x3B,
+ 0x70, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l19_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0xE1, 0x01,
+ 0xE0, 0x71, 0x07,
+ 0xE0, 0x39, 0x07,
+ 0xF0, 0x39, 0x06,
+ 0xD8, 0x39, 0x0E,
+ 0xC0, 0x39, 0x0E,
+ 0xC0, 0x39, 0x0F,
+ 0xC0, 0x71, 0x0F,
+ 0xC0, 0xE1, 0x0F,
+ 0xC0, 0x01, 0x0E,
+ 0xC0, 0x01, 0x06,
+ 0xC0, 0x01, 0x06,
+ 0xC0, 0x39, 0x07,
+ 0xC0, 0x71, 0x03,
+ 0xC0, 0xF1, 0x01,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l19_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x03, 0x7E, 0x00,
+ 0x80, 0x03, 0xFF, 0x00,
+ 0xC0, 0x83, 0xEF, 0x01,
+ 0xE0, 0x83, 0xC7, 0x01,
+ 0xF0, 0xC3, 0x83, 0x03,
+ 0xF8, 0xC3, 0x83, 0x03,
+ 0x98, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0xC3, 0x83, 0x03,
+ 0x80, 0x83, 0xC3, 0x03,
+ 0x80, 0x83, 0xE7, 0x03,
+ 0x80, 0x03, 0xFF, 0x03,
+ 0x80, 0x03, 0xFE, 0x03,
+ 0x80, 0x03, 0x80, 0x03,
+ 0x80, 0x03, 0x80, 0x03,
+ 0x80, 0x83, 0xC3, 0x03,
+ 0x80, 0x83, 0xC3, 0x01,
+ 0x80, 0x83, 0xE7, 0x01,
+ 0x80, 0x03, 0xFF, 0x00,
+ 0x80, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l2.xbm b/app/bin/bitmaps/l2.xbm
index 5efcb45..4ab709c 100644
--- a/app/bin/bitmaps/l2.xbm
+++ b/app/bin/bitmaps/l2.xbm
@@ -1,6 +1,78 @@
-#define l2_width 14
-#define l2_height 16
-static char l2_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x08, 0x01, 0x08, 0x01,
- 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08, 0x00, 0xF8, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l2_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xC0, 0x03,
+ 0xE0, 0x07,
+ 0x60, 0x06,
+ 0x00, 0x06,
+ 0x00, 0x07,
+ 0x80, 0x03,
+ 0xC0, 0x01,
+ 0xE0, 0x00,
+ 0xE0, 0x07,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l2_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x1F, 0x00,
+ 0x80, 0x3B, 0x00,
+ 0xC0, 0x31, 0x00,
+ 0xC0, 0x71, 0x00,
+ 0x00, 0x70, 0x00,
+ 0x00, 0x70, 0x00,
+ 0x00, 0x38, 0x00,
+ 0x00, 0x3C, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x0E, 0x00,
+ 0x00, 0x0F, 0x00,
+ 0x80, 0x07, 0x00,
+ 0x80, 0x03, 0x00,
+ 0xC0, 0x03, 0x00,
+ 0xC0, 0x7F, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l2_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xFC, 0x01, 0x00,
+ 0x00, 0xFE, 0x03, 0x00,
+ 0x00, 0xCF, 0x07, 0x00,
+ 0x00, 0x87, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x00, 0x00, 0x07, 0x00,
+ 0x00, 0x80, 0x07, 0x00,
+ 0x00, 0x80, 0x07, 0x00,
+ 0x00, 0xC0, 0x03, 0x00,
+ 0x00, 0xE0, 0x03, 0x00,
+ 0x00, 0xF0, 0x01, 0x00,
+ 0x00, 0xF0, 0x00, 0x00,
+ 0x00, 0x78, 0x00, 0x00,
+ 0x00, 0x3C, 0x00, 0x00,
+ 0x00, 0x1E, 0x00, 0x00,
+ 0x00, 0x0F, 0x00, 0x00,
+ 0x00, 0x0F, 0x00, 0x00,
+ 0x80, 0xFF, 0x07, 0x00,
+ 0x80, 0xFF, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l20.xbm b/app/bin/bitmaps/l20.xbm
index 3b89521..9da3bef 100644
--- a/app/bin/bitmaps/l20.xbm
+++ b/app/bin/bitmaps/l20.xbm
@@ -1,6 +1,78 @@
-#define l20_width 14
-#define l20_height 16
-static char l20_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0xA1, 0x18,
- 0x90, 0x14, 0x88, 0x12, 0x84, 0x11, 0x82, 0x10, 0x81, 0x10, 0x3F, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l20_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0xCC, 0x33,
+ 0xC0, 0x33,
+ 0xE0, 0x33,
+ 0x70, 0x33,
+ 0x38, 0x33,
+ 0x1C, 0x3F,
+ 0xFC, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l20_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x1C, 0x33, 0x07,
+ 0x1C, 0x3F, 0x06,
+ 0x00, 0x3F, 0x06,
+ 0x00, 0x3F, 0x0E,
+ 0x80, 0x3B, 0x0E,
+ 0xC0, 0x3B, 0x0E,
+ 0xC0, 0x39, 0x0E,
+ 0xE0, 0x38, 0x0E,
+ 0xF0, 0x38, 0x06,
+ 0x78, 0x38, 0x06,
+ 0x38, 0x30, 0x07,
+ 0x3C, 0x70, 0x07,
+ 0xFC, 0xE7, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l20_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x07, 0x7E, 0x00,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0x3C, 0x1F, 0xEF, 0x01,
+ 0x1C, 0x9E, 0xC7, 0x01,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x00, 0xDE, 0x83, 0x03,
+ 0x00, 0xDE, 0x83, 0x03,
+ 0x00, 0xCF, 0x83, 0x03,
+ 0x80, 0xCF, 0x83, 0x03,
+ 0xC0, 0xC7, 0x83, 0x03,
+ 0xC0, 0xC3, 0x83, 0x03,
+ 0xE0, 0xC1, 0x83, 0x03,
+ 0xF0, 0x80, 0xC3, 0x03,
+ 0x78, 0x80, 0xC3, 0x03,
+ 0x3C, 0x80, 0xC7, 0x01,
+ 0x3C, 0x00, 0xEF, 0x01,
+ 0xFE, 0x1F, 0xFF, 0x00,
+ 0xFE, 0x1F, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l21.xbm b/app/bin/bitmaps/l21.xbm
index 4c21534..32d81cc 100644
--- a/app/bin/bitmaps/l21.xbm
+++ b/app/bin/bitmaps/l21.xbm
@@ -1,6 +1,78 @@
-#define l21_width 14
-#define l21_height 16
-static char l21_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x04, 0x21, 0x06, 0x21, 0x05,
- 0x90, 0x04, 0x08, 0x04, 0x04, 0x04, 0x02, 0x04, 0x01, 0x04, 0x3F, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l21_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1C,
+ 0xFC, 0x1E,
+ 0xCC, 0x1F,
+ 0xC0, 0x1C,
+ 0xE0, 0x1C,
+ 0x70, 0x1C,
+ 0x38, 0x1C,
+ 0x1C, 0x1C,
+ 0xFC, 0x1C,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l21_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0x81, 0x03,
+ 0xB8, 0xC3, 0x03,
+ 0x1C, 0xC3, 0x03,
+ 0x1C, 0xE7, 0x03,
+ 0x00, 0xB7, 0x03,
+ 0x00, 0x87, 0x03,
+ 0x80, 0x83, 0x03,
+ 0xC0, 0x83, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xE0, 0x80, 0x03,
+ 0xF0, 0x80, 0x03,
+ 0x78, 0x80, 0x03,
+ 0x38, 0x80, 0x03,
+ 0x3C, 0x80, 0x03,
+ 0xFC, 0x87, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l21_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x07, 0x70, 0x00,
+ 0xF8, 0x0F, 0x70, 0x00,
+ 0x3C, 0x1F, 0x78, 0x00,
+ 0x1C, 0x1E, 0x7C, 0x00,
+ 0x1E, 0x1C, 0x7E, 0x00,
+ 0x1E, 0x1C, 0x7F, 0x00,
+ 0x00, 0x1C, 0x73, 0x00,
+ 0x00, 0x1E, 0x70, 0x00,
+ 0x00, 0x1E, 0x70, 0x00,
+ 0x00, 0x0F, 0x70, 0x00,
+ 0x80, 0x0F, 0x70, 0x00,
+ 0xC0, 0x07, 0x70, 0x00,
+ 0xC0, 0x03, 0x70, 0x00,
+ 0xE0, 0x01, 0x70, 0x00,
+ 0xF0, 0x00, 0x70, 0x00,
+ 0x78, 0x00, 0x70, 0x00,
+ 0x3C, 0x00, 0x70, 0x00,
+ 0x3C, 0x00, 0x70, 0x00,
+ 0xFE, 0x1F, 0x70, 0x00,
+ 0xFE, 0x1F, 0x70, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l22.xbm b/app/bin/bitmaps/l22.xbm
index 1d3d0b8..9cfc394 100644
--- a/app/bin/bitmaps/l22.xbm
+++ b/app/bin/bitmaps/l22.xbm
@@ -1,6 +1,78 @@
-#define l22_width 14
-#define l22_height 16
-static char l22_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0xA1, 0x10,
- 0x10, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02, 0x01, 0x81, 0x00, 0xBF, 0x1F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l22_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0xCC, 0x33,
+ 0xC0, 0x30,
+ 0xE0, 0x38,
+ 0x70, 0x1C,
+ 0x38, 0x0E,
+ 0x1C, 0x07,
+ 0xFC, 0x3F,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l22_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x1C, 0x3B, 0x06,
+ 0x1C, 0x3F, 0x0E,
+ 0x00, 0x07, 0x0E,
+ 0x00, 0x07, 0x0E,
+ 0x80, 0x03, 0x07,
+ 0xC0, 0x83, 0x07,
+ 0xC0, 0x81, 0x03,
+ 0xE0, 0xC0, 0x01,
+ 0xF0, 0xE0, 0x01,
+ 0x78, 0xF0, 0x00,
+ 0x38, 0x70, 0x00,
+ 0x3C, 0x78, 0x00,
+ 0xFC, 0xFF, 0x0F,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l22_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x07, 0xFE, 0x00,
+ 0xF8, 0x0F, 0xFF, 0x01,
+ 0x3C, 0x9F, 0xE7, 0x03,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x00, 0x1C, 0x80, 0x03,
+ 0x00, 0x1E, 0xC0, 0x03,
+ 0x00, 0x1E, 0xC0, 0x03,
+ 0x00, 0x0F, 0xE0, 0x01,
+ 0x80, 0x0F, 0xF0, 0x01,
+ 0xC0, 0x07, 0xF8, 0x00,
+ 0xC0, 0x03, 0x78, 0x00,
+ 0xE0, 0x01, 0x3C, 0x00,
+ 0xF0, 0x00, 0x1E, 0x00,
+ 0x78, 0x00, 0x0F, 0x00,
+ 0x3C, 0x80, 0x07, 0x00,
+ 0x3C, 0x80, 0x07, 0x00,
+ 0xFE, 0xDF, 0xFF, 0x03,
+ 0xFE, 0xDF, 0xFF, 0x03,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l23.xbm b/app/bin/bitmaps/l23.xbm
index 27bb4ad..efb4ac4 100644
--- a/app/bin/bitmaps/l23.xbm
+++ b/app/bin/bitmaps/l23.xbm
@@ -1,6 +1,78 @@
-#define l23_width 14
-#define l23_height 16
-static char l23_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0x21, 0x10,
- 0x10, 0x10, 0x08, 0x0E, 0x04, 0x10, 0x02, 0x10, 0x81, 0x10, 0x3F, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l23_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3B,
+ 0xCC, 0x38,
+ 0xC0, 0x18,
+ 0xE0, 0x3C,
+ 0x70, 0x38,
+ 0x38, 0x33,
+ 0x1C, 0x3F,
+ 0xFC, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l23_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x1C, 0x3B, 0x07,
+ 0x1C, 0x07, 0x07,
+ 0x00, 0x07, 0x07,
+ 0x00, 0x07, 0x07,
+ 0x80, 0x83, 0x03,
+ 0xC0, 0xC3, 0x07,
+ 0xC0, 0x01, 0x07,
+ 0xE0, 0x00, 0x0E,
+ 0xF0, 0x00, 0x0E,
+ 0x78, 0x38, 0x0E,
+ 0x38, 0x38, 0x07,
+ 0x3C, 0x70, 0x07,
+ 0xFC, 0xE7, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l23_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x07, 0x7E, 0x00,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0x3C, 0x9F, 0xE7, 0x01,
+ 0x1C, 0x9E, 0xC7, 0x01,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1E, 0x1C, 0xC0, 0x03,
+ 0x00, 0x1C, 0xC0, 0x01,
+ 0x00, 0x1E, 0xE0, 0x01,
+ 0x00, 0x1E, 0xFC, 0x00,
+ 0x00, 0x0F, 0xFC, 0x00,
+ 0x80, 0x0F, 0xE0, 0x01,
+ 0xC0, 0x07, 0xC0, 0x03,
+ 0xC0, 0x03, 0x80, 0x03,
+ 0xE0, 0x01, 0x80, 0x03,
+ 0xF0, 0xC0, 0x83, 0x03,
+ 0x78, 0xC0, 0x83, 0x03,
+ 0x3C, 0x80, 0xC7, 0x03,
+ 0x3C, 0x80, 0xE7, 0x01,
+ 0xFE, 0x1F, 0xFF, 0x01,
+ 0xFE, 0x1F, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l24.xbm b/app/bin/bitmaps/l24.xbm
index 8b2efc5..8fd49ae 100644
--- a/app/bin/bitmaps/l24.xbm
+++ b/app/bin/bitmaps/l24.xbm
@@ -1,6 +1,78 @@
-#define l24_width 14
-#define l24_height 16
-static char l24_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x08, 0x21, 0x0C, 0x21, 0x0A,
- 0x10, 0x09, 0x88, 0x08, 0x84, 0x1F, 0x02, 0x08, 0x01, 0x08, 0x3F, 0x08,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l24_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1C,
+ 0xFC, 0x1C,
+ 0xCC, 0x1E,
+ 0xC0, 0x1E,
+ 0xE0, 0x1F,
+ 0x70, 0x1B,
+ 0xB8, 0x3F,
+ 0x1C, 0x18,
+ 0xFC, 0x18,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l24_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0x81, 0x03,
+ 0xB8, 0x83, 0x03,
+ 0x1C, 0xC3, 0x03,
+ 0x1C, 0xC7, 0x03,
+ 0x00, 0xE7, 0x03,
+ 0x00, 0xE7, 0x03,
+ 0x80, 0xF3, 0x03,
+ 0xC0, 0xB3, 0x03,
+ 0xC0, 0xB9, 0x03,
+ 0xE0, 0x98, 0x03,
+ 0xF0, 0xFC, 0x0F,
+ 0x78, 0x80, 0x03,
+ 0x38, 0x80, 0x03,
+ 0x3C, 0x80, 0x03,
+ 0xFC, 0x87, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l24_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x07, 0xF0, 0x00,
+ 0xF8, 0x0F, 0xF0, 0x00,
+ 0x3C, 0x1F, 0xF8, 0x00,
+ 0x1C, 0x1E, 0xF8, 0x00,
+ 0x1E, 0x1C, 0xFC, 0x00,
+ 0x1E, 0x1C, 0xFC, 0x00,
+ 0x00, 0x1C, 0xFE, 0x00,
+ 0x00, 0x1E, 0xEE, 0x00,
+ 0x00, 0x1E, 0xEF, 0x00,
+ 0x00, 0x8F, 0xE7, 0x00,
+ 0x80, 0x8F, 0xE7, 0x00,
+ 0xC0, 0xC7, 0xE3, 0x00,
+ 0xC0, 0xC3, 0xE1, 0x00,
+ 0xE0, 0xE1, 0xFF, 0x03,
+ 0xF0, 0xE0, 0xFF, 0x03,
+ 0x78, 0x00, 0xE0, 0x00,
+ 0x3C, 0x00, 0xE0, 0x00,
+ 0x3C, 0x00, 0xE0, 0x00,
+ 0xFE, 0x1F, 0xE0, 0x00,
+ 0xFE, 0x1F, 0xE0, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l25.xbm b/app/bin/bitmaps/l25.xbm
index f4751dc..6bf1e2b 100644
--- a/app/bin/bitmaps/l25.xbm
+++ b/app/bin/bitmaps/l25.xbm
@@ -1,6 +1,78 @@
-#define l25_width 14
-#define l25_height 16
-static char l25_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x1F, 0xA1, 0x00, 0xA1, 0x00,
- 0x90, 0x0F, 0x08, 0x10, 0x04, 0x10, 0x02, 0x10, 0x81, 0x10, 0x3F, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l25_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x3F,
+ 0xFC, 0x07,
+ 0xCC, 0x07,
+ 0xC0, 0x1F,
+ 0xE0, 0x3B,
+ 0x70, 0x30,
+ 0x38, 0x33,
+ 0x1C, 0x3F,
+ 0xFC, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l25_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xF1, 0x07,
+ 0xB8, 0x73, 0x00,
+ 0x1C, 0x73, 0x00,
+ 0x1C, 0x37, 0x00,
+ 0x00, 0x37, 0x00,
+ 0x00, 0xFF, 0x03,
+ 0x80, 0x7B, 0x07,
+ 0xC0, 0x3B, 0x07,
+ 0xC0, 0x01, 0x0E,
+ 0xE0, 0x00, 0x0E,
+ 0xF0, 0x00, 0x0E,
+ 0x78, 0x38, 0x06,
+ 0x38, 0x38, 0x07,
+ 0x3C, 0x70, 0x07,
+ 0xFC, 0xE7, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l25_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x07, 0xFF, 0x03,
+ 0xF8, 0x0F, 0xFF, 0x03,
+ 0x3C, 0x1F, 0x07, 0x00,
+ 0x1C, 0x1E, 0x07, 0x00,
+ 0x1E, 0x9C, 0x07, 0x00,
+ 0x1E, 0x9C, 0x07, 0x00,
+ 0x00, 0x9C, 0x7F, 0x00,
+ 0x00, 0x9E, 0xFF, 0x01,
+ 0x00, 0x9E, 0xE7, 0x01,
+ 0x00, 0x8F, 0xC3, 0x03,
+ 0x80, 0x0F, 0xC0, 0x03,
+ 0xC0, 0x07, 0x80, 0x03,
+ 0xC0, 0x03, 0x80, 0x03,
+ 0xE0, 0x01, 0x80, 0x03,
+ 0xF0, 0xC0, 0x83, 0x03,
+ 0x78, 0xC0, 0xC3, 0x03,
+ 0x3C, 0x80, 0xC3, 0x03,
+ 0x3C, 0x80, 0xE7, 0x01,
+ 0xFE, 0x1F, 0xFF, 0x00,
+ 0xFE, 0x1F, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l26.xbm b/app/bin/bitmaps/l26.xbm
index 9e67365..ebed83b 100644
--- a/app/bin/bitmaps/l26.xbm
+++ b/app/bin/bitmaps/l26.xbm
@@ -1,6 +1,78 @@
-#define l26_width 14
-#define l26_height 16
-static char l26_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x00, 0xA1, 0x00,
- 0x90, 0x0F, 0x88, 0x10, 0x84, 0x10, 0x82, 0x10, 0x81, 0x10, 0x3F, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l26_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0xCC, 0x03,
+ 0xC0, 0x1F,
+ 0xE0, 0x3F,
+ 0x70, 0x33,
+ 0x38, 0x33,
+ 0x1C, 0x3F,
+ 0xFC, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l26_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x1C, 0x33, 0x07,
+ 0x1C, 0x3F, 0x00,
+ 0x00, 0x3F, 0x00,
+ 0x00, 0x3F, 0x00,
+ 0x80, 0xFB, 0x03,
+ 0xC0, 0x7B, 0x07,
+ 0xC0, 0x39, 0x07,
+ 0xE0, 0x38, 0x0E,
+ 0xF0, 0x38, 0x0E,
+ 0x78, 0x38, 0x0E,
+ 0x38, 0x30, 0x07,
+ 0x3C, 0x70, 0x07,
+ 0xFC, 0xE7, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l26_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x07, 0xFC, 0x00,
+ 0xF8, 0x0F, 0xFF, 0x01,
+ 0x3C, 0x1F, 0xEF, 0x01,
+ 0x1C, 0x9E, 0xC7, 0x03,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1E, 0x9C, 0x03, 0x00,
+ 0x00, 0xDC, 0x03, 0x00,
+ 0x00, 0xDE, 0x7F, 0x00,
+ 0x00, 0xDE, 0xFF, 0x01,
+ 0x00, 0xCF, 0xEF, 0x01,
+ 0x80, 0xCF, 0xC7, 0x03,
+ 0xC0, 0xC7, 0x83, 0x03,
+ 0xC0, 0xC3, 0x83, 0x03,
+ 0xE0, 0xC1, 0x83, 0x03,
+ 0xF0, 0xC0, 0x83, 0x03,
+ 0x78, 0x80, 0x83, 0x03,
+ 0x3C, 0x80, 0xC7, 0x03,
+ 0x3C, 0x80, 0xEF, 0x01,
+ 0xFE, 0x1F, 0xFF, 0x01,
+ 0xFE, 0x1F, 0x7C, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l27.xbm b/app/bin/bitmaps/l27.xbm
index abdbb55..d611f65 100644
--- a/app/bin/bitmaps/l27.xbm
+++ b/app/bin/bitmaps/l27.xbm
@@ -1,6 +1,78 @@
-#define l27_width 14
-#define l27_height 16
-static char l27_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x1F, 0x21, 0x10, 0x21, 0x08,
- 0x10, 0x08, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x02, 0x3F, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l27_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x3F,
+ 0xFC, 0x38,
+ 0xCC, 0x18,
+ 0xC0, 0x1C,
+ 0xE0, 0x0C,
+ 0x70, 0x0E,
+ 0x38, 0x0E,
+ 0x1C, 0x06,
+ 0xFC, 0x06,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l27_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xF9, 0x0F,
+ 0xB8, 0x03, 0x0F,
+ 0x1C, 0x03, 0x07,
+ 0x1C, 0x87, 0x03,
+ 0x00, 0x87, 0x03,
+ 0x00, 0xC7, 0x01,
+ 0x80, 0xC3, 0x01,
+ 0xC0, 0xC3, 0x01,
+ 0xC0, 0xE1, 0x00,
+ 0xE0, 0xE0, 0x00,
+ 0xF0, 0xE0, 0x00,
+ 0x78, 0xE0, 0x00,
+ 0x38, 0xE0, 0x00,
+ 0x3C, 0x70, 0x00,
+ 0xFC, 0x77, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l27_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0xC7, 0xFF, 0x03,
+ 0xF8, 0xCF, 0xFF, 0x03,
+ 0x3C, 0x1F, 0xC0, 0x03,
+ 0x1C, 0x1E, 0xE0, 0x01,
+ 0x1E, 0x1C, 0xE0, 0x01,
+ 0x1E, 0x1C, 0xF0, 0x00,
+ 0x00, 0x1C, 0xF0, 0x00,
+ 0x00, 0x1E, 0x78, 0x00,
+ 0x00, 0x1E, 0x78, 0x00,
+ 0x00, 0x0F, 0x38, 0x00,
+ 0x80, 0x0F, 0x3C, 0x00,
+ 0xC0, 0x07, 0x3C, 0x00,
+ 0xC0, 0x03, 0x1C, 0x00,
+ 0xE0, 0x01, 0x1E, 0x00,
+ 0xF0, 0x00, 0x1E, 0x00,
+ 0x78, 0x00, 0x1E, 0x00,
+ 0x3C, 0x00, 0x1E, 0x00,
+ 0x3C, 0x00, 0x0E, 0x00,
+ 0xFE, 0x1F, 0x0E, 0x00,
+ 0xFE, 0x1F, 0x0E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l28.xbm b/app/bin/bitmaps/l28.xbm
index ceb8a68..d5ae122 100644
--- a/app/bin/bitmaps/l28.xbm
+++ b/app/bin/bitmaps/l28.xbm
@@ -1,6 +1,78 @@
-#define l28_width 14
-#define l28_height 16
-static char l28_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0xA1, 0x10,
- 0x90, 0x10, 0x08, 0x0F, 0x84, 0x10, 0x82, 0x10, 0x81, 0x10, 0x3F, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l28_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0xCC, 0x3B,
+ 0xC0, 0x3F,
+ 0xE0, 0x1E,
+ 0x70, 0x3F,
+ 0x38, 0x33,
+ 0x1C, 0x3F,
+ 0xFC, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l28_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x1C, 0x33, 0x07,
+ 0x1C, 0x3F, 0x07,
+ 0x00, 0x3F, 0x07,
+ 0x00, 0x3F, 0x07,
+ 0x80, 0x73, 0x07,
+ 0xC0, 0xE3, 0x03,
+ 0xC0, 0x71, 0x07,
+ 0xE0, 0x38, 0x06,
+ 0xF0, 0x38, 0x0E,
+ 0x78, 0x38, 0x0E,
+ 0x38, 0x38, 0x06,
+ 0x3C, 0x70, 0x07,
+ 0xFC, 0xE7, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l28_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x07, 0x7E, 0x00,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0x3C, 0x9F, 0xEF, 0x01,
+ 0x1C, 0x9E, 0xC7, 0x01,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x00, 0x9C, 0xC7, 0x01,
+ 0x00, 0x1E, 0xEF, 0x01,
+ 0x00, 0x1E, 0xFE, 0x00,
+ 0x00, 0x0F, 0xFF, 0x00,
+ 0x80, 0x8F, 0xE7, 0x01,
+ 0xC0, 0x87, 0xC3, 0x03,
+ 0xC0, 0xC3, 0x83, 0x03,
+ 0xE0, 0xC1, 0x83, 0x03,
+ 0xF0, 0xC0, 0x83, 0x03,
+ 0x78, 0xC0, 0x83, 0x03,
+ 0x3C, 0x80, 0xC3, 0x03,
+ 0x3C, 0x80, 0xE7, 0x01,
+ 0xFE, 0x1F, 0xFF, 0x01,
+ 0xFE, 0x1F, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l29.xbm b/app/bin/bitmaps/l29.xbm
index 84c6512..7b23c07 100644
--- a/app/bin/bitmaps/l29.xbm
+++ b/app/bin/bitmaps/l29.xbm
@@ -1,6 +1,78 @@
-#define l29_width 14
-#define l29_height 16
-static char l29_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0xA1, 0x10,
- 0x90, 0x10, 0x08, 0x1F, 0x04, 0x10, 0x02, 0x10, 0x01, 0x08, 0x3F, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l29_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0xCC, 0x33,
+ 0xC0, 0x33,
+ 0xE0, 0x3F,
+ 0x70, 0x3E,
+ 0x38, 0x30,
+ 0x1C, 0x3B,
+ 0xFC, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l29_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x01,
+ 0xB8, 0x73, 0x07,
+ 0x1C, 0x3B, 0x07,
+ 0x1C, 0x3F, 0x06,
+ 0x00, 0x3F, 0x0E,
+ 0x00, 0x3F, 0x0E,
+ 0x80, 0x3B, 0x0F,
+ 0xC0, 0x73, 0x0F,
+ 0xC0, 0xE1, 0x0F,
+ 0xE0, 0x00, 0x0E,
+ 0xF0, 0x00, 0x06,
+ 0x78, 0x00, 0x06,
+ 0x38, 0x38, 0x07,
+ 0x3C, 0x70, 0x03,
+ 0xFC, 0xF7, 0x01,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l29_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x07, 0x7E, 0x00,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0x3C, 0x9F, 0xEF, 0x01,
+ 0x1C, 0x9E, 0xC7, 0x01,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x00, 0xDE, 0x83, 0x03,
+ 0x00, 0xDE, 0x83, 0x03,
+ 0x00, 0x8F, 0xC3, 0x03,
+ 0x80, 0x8F, 0xE7, 0x03,
+ 0xC0, 0x07, 0xFF, 0x03,
+ 0xC0, 0x03, 0xFE, 0x03,
+ 0xE0, 0x01, 0x80, 0x03,
+ 0xF0, 0x00, 0x80, 0x03,
+ 0x78, 0x80, 0xC3, 0x03,
+ 0x3C, 0x80, 0xC3, 0x01,
+ 0x3C, 0x80, 0xE7, 0x01,
+ 0xFE, 0x1F, 0xFF, 0x00,
+ 0xFE, 0x1F, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l3.xbm b/app/bin/bitmaps/l3.xbm
index be5c0d1..070b9bb 100644
--- a/app/bin/bitmaps/l3.xbm
+++ b/app/bin/bitmaps/l3.xbm
@@ -1,6 +1,78 @@
-#define l3_width 14
-#define l3_height 16
-static char l3_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x08, 0x01, 0x00, 0x01,
- 0x00, 0x01, 0xE0, 0x00, 0x00, 0x01, 0x00, 0x01, 0x08, 0x01, 0xF0, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l3_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xC0, 0x03,
+ 0x60, 0x07,
+ 0x00, 0x07,
+ 0x00, 0x03,
+ 0x80, 0x07,
+ 0x00, 0x07,
+ 0x60, 0x06,
+ 0xE0, 0x07,
+ 0xC0, 0x03,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l3_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x1F, 0x00,
+ 0x80, 0x3B, 0x00,
+ 0xC0, 0x39, 0x00,
+ 0x00, 0x38, 0x00,
+ 0x00, 0x38, 0x00,
+ 0x00, 0x38, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x3E, 0x00,
+ 0x00, 0x38, 0x00,
+ 0x00, 0x70, 0x00,
+ 0x00, 0x70, 0x00,
+ 0xC0, 0x71, 0x00,
+ 0xC0, 0x39, 0x00,
+ 0x80, 0x3B, 0x00,
+ 0x00, 0x1F, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l3_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xFC, 0x00, 0x00,
+ 0x00, 0xFE, 0x01, 0x00,
+ 0x00, 0xCF, 0x03, 0x00,
+ 0x00, 0x8F, 0x03, 0x00,
+ 0x00, 0x87, 0x07, 0x00,
+ 0x00, 0x80, 0x07, 0x00,
+ 0x00, 0x80, 0x03, 0x00,
+ 0x00, 0xC0, 0x03, 0x00,
+ 0x00, 0xF8, 0x01, 0x00,
+ 0x00, 0xF8, 0x01, 0x00,
+ 0x00, 0xC0, 0x03, 0x00,
+ 0x00, 0x80, 0x07, 0x00,
+ 0x00, 0x00, 0x07, 0x00,
+ 0x00, 0x00, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x00, 0x8F, 0x07, 0x00,
+ 0x00, 0xCF, 0x03, 0x00,
+ 0x00, 0xFE, 0x03, 0x00,
+ 0x00, 0xFC, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l30.xbm b/app/bin/bitmaps/l30.xbm
index f7ab137..324f979 100644
--- a/app/bin/bitmaps/l30.xbm
+++ b/app/bin/bitmaps/l30.xbm
@@ -1,6 +1,78 @@
-#define l30_width 14
-#define l30_height 16
-static char l30_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0xA0, 0x18,
- 0xA0, 0x14, 0x9C, 0x12, 0xA0, 0x11, 0xA0, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l30_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xEC, 0x3F,
+ 0xE0, 0x33,
+ 0x60, 0x33,
+ 0xF0, 0x33,
+ 0xE0, 0x33,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l30_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x9C, 0x33, 0x07,
+ 0x80, 0x3B, 0x06,
+ 0x80, 0x3B, 0x06,
+ 0x80, 0x3B, 0x0E,
+ 0xC0, 0x39, 0x0E,
+ 0xE0, 0x3B, 0x0E,
+ 0x80, 0x3B, 0x0E,
+ 0x00, 0x3F, 0x0E,
+ 0x00, 0x3F, 0x06,
+ 0x1C, 0x3F, 0x06,
+ 0x9C, 0x33, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l30_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0x3C, 0x0F, 0xEF, 0x01,
+ 0x3C, 0x8E, 0xC7, 0x01,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x00, 0x9E, 0xC3, 0x03,
+ 0x00, 0xCE, 0x83, 0x03,
+ 0x00, 0xCF, 0x83, 0x03,
+ 0xE0, 0xC7, 0x83, 0x03,
+ 0xE0, 0xC7, 0x83, 0x03,
+ 0x00, 0xCF, 0x83, 0x03,
+ 0x00, 0xDE, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x3C, 0x9E, 0xC7, 0x01,
+ 0x3C, 0x0F, 0xEF, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l31.xbm b/app/bin/bitmaps/l31.xbm
index 5ca3354..e379ca6 100644
--- a/app/bin/bitmaps/l31.xbm
+++ b/app/bin/bitmaps/l31.xbm
@@ -1,6 +1,78 @@
-#define l31_width 14
-#define l31_height 16
-static char l31_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x04, 0x21, 0x06, 0x20, 0x05,
- 0xA0, 0x04, 0x1C, 0x04, 0x20, 0x04, 0x20, 0x04, 0x21, 0x04, 0x1E, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l31_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1C,
+ 0xEC, 0x1E,
+ 0xE0, 0x1F,
+ 0x60, 0x1C,
+ 0xF0, 0x1C,
+ 0xE0, 0x1C,
+ 0xCC, 0x1C,
+ 0xFC, 0x1C,
+ 0x78, 0x1C,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l31_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0x81, 0x03,
+ 0xB8, 0xC3, 0x03,
+ 0x9C, 0xC3, 0x03,
+ 0x80, 0xE3, 0x03,
+ 0x80, 0xB3, 0x03,
+ 0x80, 0x83, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xE0, 0x83, 0x03,
+ 0x80, 0x83, 0x03,
+ 0x00, 0x87, 0x03,
+ 0x00, 0x87, 0x03,
+ 0x1C, 0x87, 0x03,
+ 0x9C, 0x83, 0x03,
+ 0xB8, 0x83, 0x03,
+ 0xF0, 0x81, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l31_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0x70, 0x00,
+ 0xF8, 0x07, 0x70, 0x00,
+ 0x3C, 0x0F, 0x78, 0x00,
+ 0x3C, 0x0E, 0x7C, 0x00,
+ 0x1C, 0x1E, 0x7E, 0x00,
+ 0x00, 0x1E, 0x7F, 0x00,
+ 0x00, 0x0E, 0x73, 0x00,
+ 0x00, 0x0F, 0x70, 0x00,
+ 0xE0, 0x07, 0x70, 0x00,
+ 0xE0, 0x07, 0x70, 0x00,
+ 0x00, 0x0F, 0x70, 0x00,
+ 0x00, 0x1E, 0x70, 0x00,
+ 0x00, 0x1C, 0x70, 0x00,
+ 0x00, 0x1C, 0x70, 0x00,
+ 0x1E, 0x1C, 0x70, 0x00,
+ 0x1E, 0x1C, 0x70, 0x00,
+ 0x3C, 0x1E, 0x70, 0x00,
+ 0x3C, 0x0F, 0x70, 0x00,
+ 0xF8, 0x0F, 0x70, 0x00,
+ 0xF0, 0x03, 0x70, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l32.xbm b/app/bin/bitmaps/l32.xbm
index c083094..3cbaaac 100644
--- a/app/bin/bitmaps/l32.xbm
+++ b/app/bin/bitmaps/l32.xbm
@@ -1,6 +1,78 @@
-#define l32_width 14
-#define l32_height 16
-static char l32_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0xA0, 0x10,
- 0x20, 0x08, 0x1C, 0x04, 0x20, 0x02, 0x20, 0x01, 0xA1, 0x00, 0x9E, 0x1F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l32_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xEC, 0x3F,
+ 0xE0, 0x33,
+ 0x60, 0x30,
+ 0xF0, 0x38,
+ 0xE0, 0x1C,
+ 0xCC, 0x0E,
+ 0xFC, 0x07,
+ 0x78, 0x3F,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l32_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x9C, 0x3B, 0x06,
+ 0x80, 0x3B, 0x0E,
+ 0x80, 0x03, 0x0E,
+ 0x80, 0x03, 0x0E,
+ 0xC0, 0x01, 0x07,
+ 0xE0, 0x83, 0x07,
+ 0x80, 0x83, 0x03,
+ 0x00, 0xC7, 0x01,
+ 0x00, 0xE7, 0x01,
+ 0x1C, 0xF7, 0x00,
+ 0x9C, 0x73, 0x00,
+ 0xB8, 0x7B, 0x00,
+ 0xF0, 0xF9, 0x0F,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l32_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0xFE, 0x00,
+ 0xF8, 0x07, 0xFF, 0x01,
+ 0x3C, 0x8F, 0xE7, 0x03,
+ 0x3C, 0x8E, 0xC3, 0x03,
+ 0x1C, 0xDE, 0x83, 0x03,
+ 0x00, 0xDE, 0x83, 0x03,
+ 0x00, 0x0E, 0x80, 0x03,
+ 0x00, 0x0F, 0xC0, 0x03,
+ 0xE0, 0x07, 0xC0, 0x03,
+ 0xE0, 0x07, 0xE0, 0x01,
+ 0x00, 0x0F, 0xF0, 0x01,
+ 0x00, 0x1E, 0xF8, 0x00,
+ 0x00, 0x1C, 0x78, 0x00,
+ 0x00, 0x1C, 0x3C, 0x00,
+ 0x1E, 0x1C, 0x1E, 0x00,
+ 0x1E, 0x1C, 0x0F, 0x00,
+ 0x3C, 0x9E, 0x07, 0x00,
+ 0x3C, 0x8F, 0x07, 0x00,
+ 0xF8, 0xCF, 0xFF, 0x03,
+ 0xF0, 0xC3, 0xFF, 0x03,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l33.xbm b/app/bin/bitmaps/l33.xbm
index 241eac5..8d318c6 100644
--- a/app/bin/bitmaps/l33.xbm
+++ b/app/bin/bitmaps/l33.xbm
@@ -1,6 +1,78 @@
-#define l33_width 14
-#define l33_height 16
-static char l33_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0x20, 0x10,
- 0x20, 0x10, 0x1C, 0x0E, 0x20, 0x10, 0x20, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l33_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xEC, 0x3B,
+ 0xE0, 0x38,
+ 0x60, 0x18,
+ 0xF0, 0x3C,
+ 0xE0, 0x38,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l33_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x9C, 0x3B, 0x07,
+ 0x80, 0x03, 0x07,
+ 0x80, 0x03, 0x07,
+ 0x80, 0x03, 0x07,
+ 0xC0, 0x81, 0x03,
+ 0xE0, 0xC3, 0x07,
+ 0x80, 0x03, 0x07,
+ 0x00, 0x07, 0x0E,
+ 0x00, 0x07, 0x0E,
+ 0x1C, 0x3F, 0x0E,
+ 0x9C, 0x3B, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l33_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0x3C, 0x8E, 0xC7, 0x01,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x00, 0x1E, 0xC0, 0x03,
+ 0x00, 0x0E, 0xC0, 0x01,
+ 0x00, 0x0F, 0xE0, 0x01,
+ 0xE0, 0x07, 0xFC, 0x00,
+ 0xE0, 0x07, 0xFC, 0x00,
+ 0x00, 0x0F, 0xE0, 0x01,
+ 0x00, 0x1E, 0xC0, 0x03,
+ 0x00, 0x1C, 0x80, 0x03,
+ 0x00, 0x1C, 0x80, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x3C, 0x9E, 0xC7, 0x03,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x01,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l34.xbm b/app/bin/bitmaps/l34.xbm
index 552eafd..4e90020 100644
--- a/app/bin/bitmaps/l34.xbm
+++ b/app/bin/bitmaps/l34.xbm
@@ -1,6 +1,78 @@
-#define l34_width 14
-#define l34_height 16
-static char l34_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x08, 0x21, 0x0C, 0x20, 0x0A,
- 0x20, 0x09, 0x9C, 0x08, 0xA0, 0x1F, 0x20, 0x08, 0x21, 0x08, 0x1E, 0x08,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l34_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1C,
+ 0xEC, 0x1C,
+ 0xE0, 0x1E,
+ 0x60, 0x1E,
+ 0xF0, 0x1F,
+ 0xE0, 0x1B,
+ 0xCC, 0x3F,
+ 0xFC, 0x18,
+ 0x78, 0x18,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l34_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0x81, 0x03,
+ 0xB8, 0x83, 0x03,
+ 0x9C, 0xC3, 0x03,
+ 0x80, 0xC3, 0x03,
+ 0x80, 0xE3, 0x03,
+ 0x80, 0xE3, 0x03,
+ 0xC0, 0xF1, 0x03,
+ 0xE0, 0xB3, 0x03,
+ 0x80, 0xBB, 0x03,
+ 0x00, 0x9F, 0x03,
+ 0x00, 0xFF, 0x0F,
+ 0x1C, 0x87, 0x03,
+ 0x9C, 0x83, 0x03,
+ 0xB8, 0x83, 0x03,
+ 0xF0, 0x81, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l34_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0xF0, 0x00,
+ 0xF8, 0x07, 0xF0, 0x00,
+ 0x3C, 0x0F, 0xF8, 0x00,
+ 0x3C, 0x0E, 0xF8, 0x00,
+ 0x1C, 0x1E, 0xFC, 0x00,
+ 0x00, 0x1E, 0xFC, 0x00,
+ 0x00, 0x0E, 0xFE, 0x00,
+ 0x00, 0x0F, 0xEE, 0x00,
+ 0xE0, 0x07, 0xEF, 0x00,
+ 0xE0, 0x87, 0xE7, 0x00,
+ 0x00, 0x8F, 0xE7, 0x00,
+ 0x00, 0xDE, 0xE3, 0x00,
+ 0x00, 0xDC, 0xE1, 0x00,
+ 0x00, 0xFC, 0xFF, 0x03,
+ 0x1E, 0xFC, 0xFF, 0x03,
+ 0x1E, 0x1C, 0xE0, 0x00,
+ 0x3C, 0x1E, 0xE0, 0x00,
+ 0x3C, 0x0F, 0xE0, 0x00,
+ 0xF8, 0x0F, 0xE0, 0x00,
+ 0xF0, 0x03, 0xE0, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l35.xbm b/app/bin/bitmaps/l35.xbm
index 4bf7b2f..f8de169 100644
--- a/app/bin/bitmaps/l35.xbm
+++ b/app/bin/bitmaps/l35.xbm
@@ -1,6 +1,78 @@
-#define l35_width 14
-#define l35_height 16
-static char l35_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x1F, 0xA1, 0x00, 0xA0, 0x00,
- 0xA0, 0x0F, 0x1C, 0x10, 0x20, 0x10, 0x20, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l35_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x3F,
+ 0xEC, 0x07,
+ 0xE0, 0x07,
+ 0x60, 0x1F,
+ 0xF0, 0x3B,
+ 0xE0, 0x30,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l35_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xF1, 0x07,
+ 0xB8, 0x73, 0x00,
+ 0x9C, 0x73, 0x00,
+ 0x80, 0x33, 0x00,
+ 0x80, 0x33, 0x00,
+ 0x80, 0xFB, 0x03,
+ 0xC0, 0x79, 0x07,
+ 0xE0, 0x3B, 0x07,
+ 0x80, 0x03, 0x0E,
+ 0x00, 0x07, 0x0E,
+ 0x00, 0x07, 0x0E,
+ 0x1C, 0x3F, 0x06,
+ 0x9C, 0x3B, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l35_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0xFF, 0x03,
+ 0xF8, 0x07, 0xFF, 0x03,
+ 0x3C, 0x0F, 0x07, 0x00,
+ 0x3C, 0x0E, 0x07, 0x00,
+ 0x1C, 0x9E, 0x07, 0x00,
+ 0x00, 0x9E, 0x07, 0x00,
+ 0x00, 0x8E, 0x7F, 0x00,
+ 0x00, 0x8F, 0xFF, 0x01,
+ 0xE0, 0x87, 0xE7, 0x01,
+ 0xE0, 0x87, 0xC3, 0x03,
+ 0x00, 0x0F, 0xC0, 0x03,
+ 0x00, 0x1E, 0x80, 0x03,
+ 0x00, 0x1C, 0x80, 0x03,
+ 0x00, 0x1C, 0x80, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0xC3, 0x03,
+ 0x3C, 0x9E, 0xC3, 0x03,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l36.xbm b/app/bin/bitmaps/l36.xbm
index a048e6d..c3c19eb 100644
--- a/app/bin/bitmaps/l36.xbm
+++ b/app/bin/bitmaps/l36.xbm
@@ -1,6 +1,78 @@
-#define l36_width 14
-#define l36_height 16
-static char l36_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x00, 0xA0, 0x00,
- 0xA0, 0x0F, 0x9C, 0x10, 0xA0, 0x10, 0xA0, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l36_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xEC, 0x3F,
+ 0xE0, 0x03,
+ 0x60, 0x1F,
+ 0xF0, 0x3F,
+ 0xE0, 0x33,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l36_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x9C, 0x33, 0x07,
+ 0x80, 0x3B, 0x00,
+ 0x80, 0x3B, 0x00,
+ 0x80, 0x3B, 0x00,
+ 0xC0, 0xF9, 0x03,
+ 0xE0, 0x7B, 0x07,
+ 0x80, 0x3B, 0x07,
+ 0x00, 0x3F, 0x0E,
+ 0x00, 0x3F, 0x0E,
+ 0x1C, 0x3F, 0x0E,
+ 0x9C, 0x33, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l36_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0xFC, 0x00,
+ 0xF8, 0x07, 0xFF, 0x01,
+ 0x3C, 0x0F, 0xEF, 0x01,
+ 0x3C, 0x8E, 0xC7, 0x03,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x00, 0x9E, 0x03, 0x00,
+ 0x00, 0xCE, 0x03, 0x00,
+ 0x00, 0xCF, 0x7F, 0x00,
+ 0xE0, 0xC7, 0xFF, 0x01,
+ 0xE0, 0xC7, 0xEF, 0x01,
+ 0x00, 0xCF, 0xC7, 0x03,
+ 0x00, 0xDE, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0x9C, 0x83, 0x03,
+ 0x3C, 0x9E, 0xC7, 0x03,
+ 0x3C, 0x8F, 0xEF, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x01,
+ 0xF0, 0x03, 0x7C, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l37.xbm b/app/bin/bitmaps/l37.xbm
index cd58fcd..df579f5 100644
--- a/app/bin/bitmaps/l37.xbm
+++ b/app/bin/bitmaps/l37.xbm
@@ -1,6 +1,78 @@
-#define l37_width 14
-#define l37_height 16
-static char l37_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x1F, 0x21, 0x10, 0x20, 0x08,
- 0x20, 0x08, 0x1C, 0x04, 0x20, 0x04, 0x20, 0x02, 0x21, 0x02, 0x1E, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l37_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x3F,
+ 0xEC, 0x38,
+ 0xE0, 0x18,
+ 0x60, 0x1C,
+ 0xF0, 0x0C,
+ 0xE0, 0x0E,
+ 0xCC, 0x0E,
+ 0xFC, 0x06,
+ 0x78, 0x06,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l37_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xF9, 0x0F,
+ 0xB8, 0x03, 0x0F,
+ 0x9C, 0x03, 0x07,
+ 0x80, 0x83, 0x03,
+ 0x80, 0x83, 0x03,
+ 0x80, 0xC3, 0x01,
+ 0xC0, 0xC1, 0x01,
+ 0xE0, 0xC3, 0x01,
+ 0x80, 0xE3, 0x00,
+ 0x00, 0xE7, 0x00,
+ 0x00, 0xE7, 0x00,
+ 0x1C, 0xE7, 0x00,
+ 0x9C, 0xE3, 0x00,
+ 0xB8, 0x73, 0x00,
+ 0xF0, 0x71, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l37_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0xC3, 0xFF, 0x03,
+ 0xF8, 0xC7, 0xFF, 0x03,
+ 0x3C, 0x0F, 0xC0, 0x03,
+ 0x3C, 0x0E, 0xE0, 0x01,
+ 0x1C, 0x1E, 0xE0, 0x01,
+ 0x00, 0x1E, 0xF0, 0x00,
+ 0x00, 0x0E, 0xF0, 0x00,
+ 0x00, 0x0F, 0x78, 0x00,
+ 0xE0, 0x07, 0x78, 0x00,
+ 0xE0, 0x07, 0x38, 0x00,
+ 0x00, 0x0F, 0x3C, 0x00,
+ 0x00, 0x1E, 0x3C, 0x00,
+ 0x00, 0x1C, 0x1C, 0x00,
+ 0x00, 0x1C, 0x1E, 0x00,
+ 0x1E, 0x1C, 0x1E, 0x00,
+ 0x1E, 0x1C, 0x1E, 0x00,
+ 0x3C, 0x1E, 0x1E, 0x00,
+ 0x3C, 0x0F, 0x0E, 0x00,
+ 0xF8, 0x0F, 0x0E, 0x00,
+ 0xF0, 0x03, 0x0E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l38.xbm b/app/bin/bitmaps/l38.xbm
index d47e1ea..424b263 100644
--- a/app/bin/bitmaps/l38.xbm
+++ b/app/bin/bitmaps/l38.xbm
@@ -1,6 +1,78 @@
-#define l38_width 14
-#define l38_height 16
-static char l38_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0xA0, 0x10,
- 0xA0, 0x10, 0x1C, 0x0F, 0xA0, 0x10, 0xA0, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l38_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xEC, 0x3F,
+ 0xE0, 0x3B,
+ 0x60, 0x3F,
+ 0xF0, 0x1E,
+ 0xE0, 0x3F,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l38_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x9C, 0x33, 0x07,
+ 0x80, 0x3B, 0x07,
+ 0x80, 0x3B, 0x07,
+ 0x80, 0x3B, 0x07,
+ 0xC0, 0x71, 0x07,
+ 0xE0, 0xE3, 0x03,
+ 0x80, 0x73, 0x07,
+ 0x00, 0x3F, 0x06,
+ 0x00, 0x3F, 0x0E,
+ 0x1C, 0x3F, 0x0E,
+ 0x9C, 0x3B, 0x06,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l38_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0x3C, 0x8F, 0xEF, 0x01,
+ 0x3C, 0x8E, 0xC7, 0x01,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x00, 0x9E, 0xC3, 0x03,
+ 0x00, 0x8E, 0xC7, 0x01,
+ 0x00, 0x0F, 0xEF, 0x01,
+ 0xE0, 0x07, 0xFE, 0x00,
+ 0xE0, 0x07, 0xFF, 0x00,
+ 0x00, 0x8F, 0xE7, 0x01,
+ 0x00, 0x9E, 0xC3, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x3C, 0x9E, 0xC3, 0x03,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x01,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l39.xbm b/app/bin/bitmaps/l39.xbm
index 459ad96..51d14ab 100644
--- a/app/bin/bitmaps/l39.xbm
+++ b/app/bin/bitmaps/l39.xbm
@@ -1,6 +1,78 @@
-#define l39_width 14
-#define l39_height 16
-static char l39_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0xA0, 0x10,
- 0xA0, 0x10, 0x1C, 0x1F, 0x20, 0x10, 0x20, 0x10, 0x21, 0x08, 0x1E, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l39_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xEC, 0x3F,
+ 0xE0, 0x33,
+ 0x60, 0x33,
+ 0xF0, 0x3F,
+ 0xE0, 0x3E,
+ 0xCC, 0x30,
+ 0xFC, 0x3B,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l39_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x01,
+ 0xB8, 0x73, 0x07,
+ 0x9C, 0x3B, 0x07,
+ 0x80, 0x3B, 0x06,
+ 0x80, 0x3B, 0x0E,
+ 0x80, 0x3B, 0x0E,
+ 0xC0, 0x39, 0x0F,
+ 0xE0, 0x73, 0x0F,
+ 0x80, 0xE3, 0x0F,
+ 0x00, 0x07, 0x0E,
+ 0x00, 0x07, 0x06,
+ 0x1C, 0x07, 0x06,
+ 0x9C, 0x3B, 0x07,
+ 0xB8, 0x73, 0x03,
+ 0xF0, 0xF1, 0x01,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l39_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0x3C, 0x8F, 0xEF, 0x01,
+ 0x3C, 0x8E, 0xC7, 0x01,
+ 0x1C, 0xDE, 0x83, 0x03,
+ 0x00, 0xDE, 0x83, 0x03,
+ 0x00, 0xCE, 0x83, 0x03,
+ 0x00, 0xCF, 0x83, 0x03,
+ 0xE0, 0xC7, 0x83, 0x03,
+ 0xE0, 0x87, 0xC3, 0x03,
+ 0x00, 0x8F, 0xE7, 0x03,
+ 0x00, 0x1E, 0xFF, 0x03,
+ 0x00, 0x1C, 0xFE, 0x03,
+ 0x00, 0x1C, 0x80, 0x03,
+ 0x1E, 0x1C, 0x80, 0x03,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x3C, 0x9E, 0xC3, 0x01,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l4.xbm b/app/bin/bitmaps/l4.xbm
index ea52f95..411ad63 100644
--- a/app/bin/bitmaps/l4.xbm
+++ b/app/bin/bitmaps/l4.xbm
@@ -1,6 +1,78 @@
-#define l4_width 14
-#define l4_height 16
-static char l4_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xC0, 0x00, 0xA0, 0x00,
- 0x90, 0x00, 0x88, 0x00, 0xF8, 0x01, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l4_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x80, 0x03,
+ 0x80, 0x03,
+ 0xC0, 0x03,
+ 0xC0, 0x03,
+ 0xE0, 0x03,
+ 0x60, 0x03,
+ 0xF0, 0x07,
+ 0x00, 0x03,
+ 0x00, 0x03,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l4_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x1E, 0x00,
+ 0x00, 0x1E, 0x00,
+ 0x00, 0x1F, 0x00,
+ 0x00, 0x1F, 0x00,
+ 0x80, 0x1F, 0x00,
+ 0x80, 0x1D, 0x00,
+ 0xC0, 0x1D, 0x00,
+ 0xC0, 0x1C, 0x00,
+ 0xE0, 0x7F, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l4_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xE0, 0x01, 0x00,
+ 0x00, 0xE0, 0x01, 0x00,
+ 0x00, 0xF0, 0x01, 0x00,
+ 0x00, 0xF0, 0x01, 0x00,
+ 0x00, 0xF8, 0x01, 0x00,
+ 0x00, 0xF8, 0x01, 0x00,
+ 0x00, 0xFC, 0x01, 0x00,
+ 0x00, 0xDC, 0x01, 0x00,
+ 0x00, 0xDE, 0x01, 0x00,
+ 0x00, 0xCF, 0x01, 0x00,
+ 0x00, 0xCF, 0x01, 0x00,
+ 0x80, 0xC7, 0x01, 0x00,
+ 0x80, 0xC3, 0x01, 0x00,
+ 0xC0, 0xFF, 0x07, 0x00,
+ 0xC0, 0xFF, 0x07, 0x00,
+ 0x00, 0xC0, 0x01, 0x00,
+ 0x00, 0xC0, 0x01, 0x00,
+ 0x00, 0xC0, 0x01, 0x00,
+ 0x00, 0xC0, 0x01, 0x00,
+ 0x00, 0xC0, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l40.xbm b/app/bin/bitmaps/l40.xbm
index f8d17da..8ee8e0f 100644
--- a/app/bin/bitmaps/l40.xbm
+++ b/app/bin/bitmaps/l40.xbm
@@ -1,6 +1,78 @@
-#define l40_width 14
-#define l40_height 16
-static char l40_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0F, 0x98, 0x10, 0x94, 0x18,
- 0x92, 0x14, 0x91, 0x12, 0xBF, 0x11, 0x90, 0x10, 0x90, 0x10, 0x10, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l40_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x1E,
+ 0x70, 0x3F,
+ 0x78, 0x33,
+ 0x78, 0x33,
+ 0x7C, 0x33,
+ 0x6C, 0x33,
+ 0xFE, 0x33,
+ 0x60, 0x3F,
+ 0x60, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l40_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0xE1, 0x03,
+ 0xC0, 0x71, 0x07,
+ 0xE0, 0x31, 0x07,
+ 0xE0, 0x39, 0x06,
+ 0xF0, 0x39, 0x06,
+ 0xF0, 0x39, 0x0E,
+ 0xF8, 0x39, 0x0E,
+ 0xD8, 0x39, 0x0E,
+ 0xDC, 0x39, 0x0E,
+ 0xCC, 0x39, 0x0E,
+ 0xFE, 0x3F, 0x06,
+ 0xC0, 0x39, 0x06,
+ 0xC0, 0x31, 0x07,
+ 0xC0, 0x71, 0x07,
+ 0xC0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l40_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x07, 0x7E, 0x00,
+ 0x80, 0x07, 0xFF, 0x00,
+ 0xC0, 0x07, 0xEF, 0x01,
+ 0xC0, 0x87, 0xC7, 0x01,
+ 0xE0, 0x87, 0xC3, 0x03,
+ 0xE0, 0x87, 0xC3, 0x03,
+ 0xF0, 0xC7, 0x83, 0x03,
+ 0x70, 0xC7, 0x83, 0x03,
+ 0x78, 0xC7, 0x83, 0x03,
+ 0x3C, 0xC7, 0x83, 0x03,
+ 0x3C, 0xC7, 0x83, 0x03,
+ 0x1E, 0xC7, 0x83, 0x03,
+ 0x0E, 0xC7, 0x83, 0x03,
+ 0xFF, 0xDF, 0x83, 0x03,
+ 0xFF, 0x9F, 0xC3, 0x03,
+ 0x00, 0x87, 0xC3, 0x03,
+ 0x00, 0x87, 0xC7, 0x01,
+ 0x00, 0x07, 0xEF, 0x01,
+ 0x00, 0x07, 0xFF, 0x00,
+ 0x00, 0x07, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l41.xbm b/app/bin/bitmaps/l41.xbm
index 2029d0a..8535fda 100644
--- a/app/bin/bitmaps/l41.xbm
+++ b/app/bin/bitmaps/l41.xbm
@@ -1,6 +1,78 @@
-#define l41_width 14
-#define l41_height 16
-static char l41_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x18, 0x06, 0x14, 0x05,
- 0x92, 0x04, 0x11, 0x04, 0x3F, 0x04, 0x10, 0x04, 0x10, 0x04, 0x10, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l41_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x1C,
+ 0x70, 0x1E,
+ 0x78, 0x1F,
+ 0x78, 0x1C,
+ 0x7C, 0x1C,
+ 0x6C, 0x1C,
+ 0xFE, 0x1C,
+ 0x60, 0x1C,
+ 0x60, 0x1C,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l41_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0xC1, 0x03,
+ 0xE0, 0xC1, 0x03,
+ 0xE0, 0xE1, 0x03,
+ 0xF0, 0xB1, 0x03,
+ 0xF0, 0x81, 0x03,
+ 0xF8, 0x81, 0x03,
+ 0xD8, 0x81, 0x03,
+ 0xDC, 0x81, 0x03,
+ 0xCC, 0x81, 0x03,
+ 0xFE, 0x87, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l41_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x07, 0x70, 0x00,
+ 0x80, 0x07, 0x70, 0x00,
+ 0xC0, 0x07, 0x78, 0x00,
+ 0xC0, 0x07, 0x7C, 0x00,
+ 0xE0, 0x07, 0x7E, 0x00,
+ 0xE0, 0x07, 0x7F, 0x00,
+ 0xF0, 0x07, 0x73, 0x00,
+ 0x70, 0x07, 0x70, 0x00,
+ 0x78, 0x07, 0x70, 0x00,
+ 0x3C, 0x07, 0x70, 0x00,
+ 0x3C, 0x07, 0x70, 0x00,
+ 0x1E, 0x07, 0x70, 0x00,
+ 0x0E, 0x07, 0x70, 0x00,
+ 0xFF, 0x1F, 0x70, 0x00,
+ 0xFF, 0x1F, 0x70, 0x00,
+ 0x00, 0x07, 0x70, 0x00,
+ 0x00, 0x07, 0x70, 0x00,
+ 0x00, 0x07, 0x70, 0x00,
+ 0x00, 0x07, 0x70, 0x00,
+ 0x00, 0x07, 0x70, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l42.xbm b/app/bin/bitmaps/l42.xbm
index b5be599..1b1b742 100644
--- a/app/bin/bitmaps/l42.xbm
+++ b/app/bin/bitmaps/l42.xbm
@@ -1,6 +1,78 @@
-#define l42_width 14
-#define l42_height 16
-static char l42_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0F, 0x98, 0x10, 0x94, 0x10,
- 0x12, 0x08, 0x11, 0x04, 0x3F, 0x02, 0x10, 0x01, 0x90, 0x00, 0x90, 0x1F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l42_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x1E,
+ 0x70, 0x3F,
+ 0x78, 0x33,
+ 0x78, 0x30,
+ 0x7C, 0x38,
+ 0x6C, 0x1C,
+ 0xFE, 0x0E,
+ 0x60, 0x07,
+ 0x60, 0x3F,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l42_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0xE1, 0x03,
+ 0xC0, 0x71, 0x07,
+ 0xE0, 0x39, 0x06,
+ 0xE0, 0x39, 0x0E,
+ 0xF0, 0x01, 0x0E,
+ 0xF0, 0x01, 0x0E,
+ 0xF8, 0x01, 0x07,
+ 0xD8, 0x81, 0x07,
+ 0xDC, 0x81, 0x03,
+ 0xCC, 0xC1, 0x01,
+ 0xFE, 0xE7, 0x01,
+ 0xC0, 0xF1, 0x00,
+ 0xC0, 0x71, 0x00,
+ 0xC0, 0x79, 0x00,
+ 0xC0, 0xF9, 0x0F,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l42_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x07, 0xFE, 0x00,
+ 0x80, 0x07, 0xFF, 0x01,
+ 0xC0, 0x87, 0xE7, 0x03,
+ 0xC0, 0x87, 0xC3, 0x03,
+ 0xE0, 0xC7, 0x83, 0x03,
+ 0xE0, 0xC7, 0x83, 0x03,
+ 0xF0, 0x07, 0x80, 0x03,
+ 0x70, 0x07, 0xC0, 0x03,
+ 0x78, 0x07, 0xC0, 0x03,
+ 0x3C, 0x07, 0xE0, 0x01,
+ 0x3C, 0x07, 0xF0, 0x01,
+ 0x1E, 0x07, 0xF8, 0x00,
+ 0x0E, 0x07, 0x78, 0x00,
+ 0xFF, 0x1F, 0x3C, 0x00,
+ 0xFF, 0x1F, 0x1E, 0x00,
+ 0x00, 0x07, 0x0F, 0x00,
+ 0x00, 0x87, 0x07, 0x00,
+ 0x00, 0x87, 0x07, 0x00,
+ 0x00, 0xC7, 0xFF, 0x03,
+ 0x00, 0xC7, 0xFF, 0x03,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l43.xbm b/app/bin/bitmaps/l43.xbm
index 23ea804..1512650 100644
--- a/app/bin/bitmaps/l43.xbm
+++ b/app/bin/bitmaps/l43.xbm
@@ -1,6 +1,78 @@
-#define l43_width 14
-#define l43_height 16
-static char l43_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0F, 0x98, 0x10, 0x14, 0x10,
- 0x12, 0x10, 0x11, 0x0E, 0x3F, 0x10, 0x10, 0x10, 0x90, 0x10, 0x10, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l43_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x1E,
+ 0x70, 0x3B,
+ 0x78, 0x38,
+ 0x78, 0x18,
+ 0x7C, 0x3C,
+ 0x6C, 0x38,
+ 0xFE, 0x33,
+ 0x60, 0x3F,
+ 0x60, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l43_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0xE1, 0x03,
+ 0xC0, 0x71, 0x07,
+ 0xE0, 0x39, 0x07,
+ 0xE0, 0x01, 0x07,
+ 0xF0, 0x01, 0x07,
+ 0xF0, 0x01, 0x07,
+ 0xF8, 0x81, 0x03,
+ 0xD8, 0xC1, 0x07,
+ 0xDC, 0x01, 0x07,
+ 0xCC, 0x01, 0x0E,
+ 0xFE, 0x07, 0x0E,
+ 0xC0, 0x39, 0x0E,
+ 0xC0, 0x39, 0x07,
+ 0xC0, 0x71, 0x07,
+ 0xC0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l43_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x07, 0x7E, 0x00,
+ 0x80, 0x07, 0xFF, 0x00,
+ 0xC0, 0x87, 0xE7, 0x01,
+ 0xC0, 0x87, 0xC7, 0x01,
+ 0xE0, 0x87, 0xC3, 0x03,
+ 0xE0, 0x07, 0xC0, 0x03,
+ 0xF0, 0x07, 0xC0, 0x01,
+ 0x70, 0x07, 0xE0, 0x01,
+ 0x78, 0x07, 0xFC, 0x00,
+ 0x3C, 0x07, 0xFC, 0x00,
+ 0x3C, 0x07, 0xE0, 0x01,
+ 0x1E, 0x07, 0xC0, 0x03,
+ 0x0E, 0x07, 0x80, 0x03,
+ 0xFF, 0x1F, 0x80, 0x03,
+ 0xFF, 0xDF, 0x83, 0x03,
+ 0x00, 0xC7, 0x83, 0x03,
+ 0x00, 0x87, 0xC7, 0x03,
+ 0x00, 0x87, 0xE7, 0x01,
+ 0x00, 0x07, 0xFF, 0x01,
+ 0x00, 0x07, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l44.xbm b/app/bin/bitmaps/l44.xbm
index f55e45c..7a96e04 100644
--- a/app/bin/bitmaps/l44.xbm
+++ b/app/bin/bitmaps/l44.xbm
@@ -1,6 +1,78 @@
-#define l44_width 14
-#define l44_height 16
-static char l44_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x18, 0x0C, 0x14, 0x0A,
- 0x12, 0x09, 0x91, 0x08, 0xBF, 0x1F, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l44_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x1C,
+ 0x70, 0x1C,
+ 0x78, 0x1E,
+ 0x78, 0x1E,
+ 0x7C, 0x1F,
+ 0x6C, 0x1B,
+ 0xFE, 0x3F,
+ 0x60, 0x18,
+ 0x60, 0x18,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l44_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xE0, 0xC1, 0x03,
+ 0xE0, 0xC1, 0x03,
+ 0xF0, 0xE1, 0x03,
+ 0xF0, 0xE1, 0x03,
+ 0xF8, 0xF1, 0x03,
+ 0xD8, 0xB1, 0x03,
+ 0xDC, 0xB9, 0x03,
+ 0xCC, 0x99, 0x03,
+ 0xFE, 0xFF, 0x0F,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l44_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x07, 0xF0, 0x00,
+ 0x80, 0x07, 0xF0, 0x00,
+ 0xC0, 0x07, 0xF8, 0x00,
+ 0xC0, 0x07, 0xF8, 0x00,
+ 0xE0, 0x07, 0xFC, 0x00,
+ 0xE0, 0x07, 0xFC, 0x00,
+ 0xF0, 0x07, 0xFE, 0x00,
+ 0x70, 0x07, 0xEE, 0x00,
+ 0x78, 0x07, 0xEF, 0x00,
+ 0x3C, 0x87, 0xE7, 0x00,
+ 0x3C, 0x87, 0xE7, 0x00,
+ 0x1E, 0xC7, 0xE3, 0x00,
+ 0x0E, 0xC7, 0xE1, 0x00,
+ 0xFF, 0xFF, 0xFF, 0x03,
+ 0xFF, 0xFF, 0xFF, 0x03,
+ 0x00, 0x07, 0xE0, 0x00,
+ 0x00, 0x07, 0xE0, 0x00,
+ 0x00, 0x07, 0xE0, 0x00,
+ 0x00, 0x07, 0xE0, 0x00,
+ 0x00, 0x07, 0xE0, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l45.xbm b/app/bin/bitmaps/l45.xbm
index 8509e7c..d326cc1 100644
--- a/app/bin/bitmaps/l45.xbm
+++ b/app/bin/bitmaps/l45.xbm
@@ -1,6 +1,78 @@
-#define l45_width 14
-#define l45_height 16
-static char l45_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x1F, 0x98, 0x00, 0x94, 0x00,
- 0x92, 0x0F, 0x11, 0x10, 0x3F, 0x10, 0x10, 0x10, 0x90, 0x10, 0x10, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l45_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x3F,
+ 0x70, 0x07,
+ 0x78, 0x07,
+ 0x78, 0x1F,
+ 0x7C, 0x3B,
+ 0x6C, 0x30,
+ 0xFE, 0x33,
+ 0x60, 0x3F,
+ 0x60, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l45_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0xF1, 0x07,
+ 0xC0, 0x71, 0x00,
+ 0xE0, 0x71, 0x00,
+ 0xE0, 0x31, 0x00,
+ 0xF0, 0x31, 0x00,
+ 0xF0, 0xF9, 0x03,
+ 0xF8, 0x79, 0x07,
+ 0xD8, 0x39, 0x07,
+ 0xDC, 0x01, 0x0E,
+ 0xCC, 0x01, 0x0E,
+ 0xFE, 0x07, 0x0E,
+ 0xC0, 0x39, 0x06,
+ 0xC0, 0x39, 0x07,
+ 0xC0, 0x71, 0x07,
+ 0xC0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l45_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x07, 0xFF, 0x03,
+ 0x80, 0x07, 0xFF, 0x03,
+ 0xC0, 0x07, 0x07, 0x00,
+ 0xC0, 0x07, 0x07, 0x00,
+ 0xE0, 0x87, 0x07, 0x00,
+ 0xE0, 0x87, 0x07, 0x00,
+ 0xF0, 0x87, 0x7F, 0x00,
+ 0x70, 0x87, 0xFF, 0x01,
+ 0x78, 0x87, 0xE7, 0x01,
+ 0x3C, 0x87, 0xC3, 0x03,
+ 0x3C, 0x07, 0xC0, 0x03,
+ 0x1E, 0x07, 0x80, 0x03,
+ 0x0E, 0x07, 0x80, 0x03,
+ 0xFF, 0x1F, 0x80, 0x03,
+ 0xFF, 0xDF, 0x83, 0x03,
+ 0x00, 0xC7, 0xC3, 0x03,
+ 0x00, 0x87, 0xC3, 0x03,
+ 0x00, 0x87, 0xE7, 0x01,
+ 0x00, 0x07, 0xFF, 0x00,
+ 0x00, 0x07, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l46.xbm b/app/bin/bitmaps/l46.xbm
index 873164e..5313ab6 100644
--- a/app/bin/bitmaps/l46.xbm
+++ b/app/bin/bitmaps/l46.xbm
@@ -1,6 +1,78 @@
-#define l46_width 14
-#define l46_height 16
-static char l46_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0F, 0x98, 0x00, 0x94, 0x00,
- 0x92, 0x0F, 0x91, 0x10, 0xBF, 0x10, 0x90, 0x10, 0x90, 0x10, 0x10, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l46_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x1E,
+ 0x70, 0x3F,
+ 0x78, 0x03,
+ 0x78, 0x1F,
+ 0x7C, 0x3F,
+ 0x6C, 0x33,
+ 0xFE, 0x33,
+ 0x60, 0x3F,
+ 0x60, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l46_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0xE1, 0x03,
+ 0xC0, 0x71, 0x07,
+ 0xE0, 0x31, 0x07,
+ 0xE0, 0x39, 0x00,
+ 0xF0, 0x39, 0x00,
+ 0xF0, 0x39, 0x00,
+ 0xF8, 0xF9, 0x03,
+ 0xD8, 0x79, 0x07,
+ 0xDC, 0x39, 0x07,
+ 0xCC, 0x39, 0x0E,
+ 0xFE, 0x3F, 0x0E,
+ 0xC0, 0x39, 0x0E,
+ 0xC0, 0x31, 0x07,
+ 0xC0, 0x71, 0x07,
+ 0xC0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l46_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x07, 0xFC, 0x00,
+ 0x80, 0x07, 0xFF, 0x01,
+ 0xC0, 0x07, 0xEF, 0x01,
+ 0xC0, 0x87, 0xC7, 0x03,
+ 0xE0, 0x87, 0xC3, 0x03,
+ 0xE0, 0x87, 0x03, 0x00,
+ 0xF0, 0xC7, 0x03, 0x00,
+ 0x70, 0xC7, 0x7F, 0x00,
+ 0x78, 0xC7, 0xFF, 0x01,
+ 0x3C, 0xC7, 0xEF, 0x01,
+ 0x3C, 0xC7, 0xC7, 0x03,
+ 0x1E, 0xC7, 0x83, 0x03,
+ 0x0E, 0xC7, 0x83, 0x03,
+ 0xFF, 0xDF, 0x83, 0x03,
+ 0xFF, 0xDF, 0x83, 0x03,
+ 0x00, 0x87, 0x83, 0x03,
+ 0x00, 0x87, 0xC7, 0x03,
+ 0x00, 0x87, 0xEF, 0x01,
+ 0x00, 0x07, 0xFF, 0x01,
+ 0x00, 0x07, 0x7C, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l47.xbm b/app/bin/bitmaps/l47.xbm
index 61043f1..e635d03 100644
--- a/app/bin/bitmaps/l47.xbm
+++ b/app/bin/bitmaps/l47.xbm
@@ -1,6 +1,78 @@
-#define l47_width 14
-#define l47_height 16
-static char l47_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x1F, 0x18, 0x10, 0x14, 0x08,
- 0x12, 0x08, 0x11, 0x04, 0x3F, 0x04, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l47_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x3F,
+ 0x70, 0x38,
+ 0x78, 0x18,
+ 0x78, 0x1C,
+ 0x7C, 0x0C,
+ 0x6C, 0x0E,
+ 0xFE, 0x0E,
+ 0x60, 0x06,
+ 0x60, 0x06,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l47_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0xF9, 0x0F,
+ 0xC0, 0x01, 0x0F,
+ 0xE0, 0x01, 0x07,
+ 0xE0, 0x81, 0x03,
+ 0xF0, 0x81, 0x03,
+ 0xF0, 0xC1, 0x01,
+ 0xF8, 0xC1, 0x01,
+ 0xD8, 0xC1, 0x01,
+ 0xDC, 0xE1, 0x00,
+ 0xCC, 0xE1, 0x00,
+ 0xFE, 0xE7, 0x00,
+ 0xC0, 0xE1, 0x00,
+ 0xC0, 0xE1, 0x00,
+ 0xC0, 0x71, 0x00,
+ 0xC0, 0x71, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l47_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0xC7, 0xFF, 0x03,
+ 0x80, 0xC7, 0xFF, 0x03,
+ 0xC0, 0x07, 0xC0, 0x03,
+ 0xC0, 0x07, 0xE0, 0x01,
+ 0xE0, 0x07, 0xE0, 0x01,
+ 0xE0, 0x07, 0xF0, 0x00,
+ 0xF0, 0x07, 0xF0, 0x00,
+ 0x70, 0x07, 0x78, 0x00,
+ 0x78, 0x07, 0x78, 0x00,
+ 0x3C, 0x07, 0x38, 0x00,
+ 0x3C, 0x07, 0x3C, 0x00,
+ 0x1E, 0x07, 0x3C, 0x00,
+ 0x0E, 0x07, 0x1C, 0x00,
+ 0xFF, 0x1F, 0x1E, 0x00,
+ 0xFF, 0x1F, 0x1E, 0x00,
+ 0x00, 0x07, 0x1E, 0x00,
+ 0x00, 0x07, 0x1E, 0x00,
+ 0x00, 0x07, 0x0E, 0x00,
+ 0x00, 0x07, 0x0E, 0x00,
+ 0x00, 0x07, 0x0E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l48.xbm b/app/bin/bitmaps/l48.xbm
index 0a04953..977b660 100644
--- a/app/bin/bitmaps/l48.xbm
+++ b/app/bin/bitmaps/l48.xbm
@@ -1,6 +1,78 @@
-#define l48_width 14
-#define l48_height 16
-static char l48_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0F, 0x98, 0x10, 0x94, 0x10,
- 0x92, 0x10, 0x11, 0x0F, 0xBF, 0x10, 0x90, 0x10, 0x90, 0x10, 0x10, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l48_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x1E,
+ 0x70, 0x3F,
+ 0x78, 0x3B,
+ 0x78, 0x3F,
+ 0x7C, 0x1E,
+ 0x6C, 0x3F,
+ 0xFE, 0x33,
+ 0x60, 0x3F,
+ 0x60, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l48_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0xE1, 0x03,
+ 0xC0, 0x71, 0x07,
+ 0xE0, 0x31, 0x07,
+ 0xE0, 0x39, 0x07,
+ 0xF0, 0x39, 0x07,
+ 0xF0, 0x39, 0x07,
+ 0xF8, 0x71, 0x07,
+ 0xD8, 0xE1, 0x03,
+ 0xDC, 0x71, 0x07,
+ 0xCC, 0x39, 0x06,
+ 0xFE, 0x3F, 0x0E,
+ 0xC0, 0x39, 0x0E,
+ 0xC0, 0x39, 0x06,
+ 0xC0, 0x71, 0x07,
+ 0xC0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l48_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x07, 0x7E, 0x00,
+ 0x80, 0x07, 0xFF, 0x00,
+ 0xC0, 0x87, 0xEF, 0x01,
+ 0xC0, 0x87, 0xC7, 0x01,
+ 0xE0, 0x87, 0xC3, 0x03,
+ 0xE0, 0x87, 0xC3, 0x03,
+ 0xF0, 0x87, 0xC7, 0x01,
+ 0x70, 0x07, 0xEF, 0x01,
+ 0x78, 0x07, 0xFE, 0x00,
+ 0x3C, 0x07, 0xFF, 0x00,
+ 0x3C, 0x87, 0xE7, 0x01,
+ 0x1E, 0x87, 0xC3, 0x03,
+ 0x0E, 0xC7, 0x83, 0x03,
+ 0xFF, 0xDF, 0x83, 0x03,
+ 0xFF, 0xDF, 0x83, 0x03,
+ 0x00, 0xC7, 0x83, 0x03,
+ 0x00, 0x87, 0xC3, 0x03,
+ 0x00, 0x87, 0xE7, 0x01,
+ 0x00, 0x07, 0xFF, 0x01,
+ 0x00, 0x07, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l49.xbm b/app/bin/bitmaps/l49.xbm
index 14b9914..e930612 100644
--- a/app/bin/bitmaps/l49.xbm
+++ b/app/bin/bitmaps/l49.xbm
@@ -1,6 +1,78 @@
-#define l49_width 14
-#define l49_height 16
-static char l49_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0F, 0x98, 0x10, 0x94, 0x10,
- 0x92, 0x10, 0x11, 0x1F, 0x3F, 0x10, 0x10, 0x10, 0x10, 0x08, 0x10, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l49_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x70, 0x1E,
+ 0x70, 0x3F,
+ 0x78, 0x33,
+ 0x78, 0x33,
+ 0x7C, 0x3F,
+ 0x6C, 0x3E,
+ 0xFE, 0x30,
+ 0x60, 0x3B,
+ 0x60, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l49_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0xE1, 0x01,
+ 0xC0, 0x71, 0x07,
+ 0xE0, 0x39, 0x07,
+ 0xE0, 0x39, 0x06,
+ 0xF0, 0x39, 0x0E,
+ 0xF0, 0x39, 0x0E,
+ 0xF8, 0x39, 0x0F,
+ 0xD8, 0x71, 0x0F,
+ 0xDC, 0xE1, 0x0F,
+ 0xCC, 0x01, 0x0E,
+ 0xFE, 0x07, 0x06,
+ 0xC0, 0x01, 0x06,
+ 0xC0, 0x39, 0x07,
+ 0xC0, 0x71, 0x03,
+ 0xC0, 0xF1, 0x01,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l49_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x07, 0x7E, 0x00,
+ 0x80, 0x07, 0xFF, 0x00,
+ 0xC0, 0x87, 0xEF, 0x01,
+ 0xC0, 0x87, 0xC7, 0x01,
+ 0xE0, 0xC7, 0x83, 0x03,
+ 0xE0, 0xC7, 0x83, 0x03,
+ 0xF0, 0xC7, 0x83, 0x03,
+ 0x70, 0xC7, 0x83, 0x03,
+ 0x78, 0xC7, 0x83, 0x03,
+ 0x3C, 0x87, 0xC3, 0x03,
+ 0x3C, 0x87, 0xE7, 0x03,
+ 0x1E, 0x07, 0xFF, 0x03,
+ 0x0E, 0x07, 0xFE, 0x03,
+ 0xFF, 0x1F, 0x80, 0x03,
+ 0xFF, 0x1F, 0x80, 0x03,
+ 0x00, 0x87, 0xC3, 0x03,
+ 0x00, 0x87, 0xC3, 0x01,
+ 0x00, 0x87, 0xE7, 0x01,
+ 0x00, 0x07, 0xFF, 0x00,
+ 0x00, 0x07, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l5.xbm b/app/bin/bitmaps/l5.xbm
index da409be..4d43af0 100644
--- a/app/bin/bitmaps/l5.xbm
+++ b/app/bin/bitmaps/l5.xbm
@@ -1,6 +1,78 @@
-#define l5_width 14
-#define l5_height 16
-static char l5_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x08, 0x00, 0x08, 0x00,
- 0xF8, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x08, 0x01, 0xF0, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l5_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xE0, 0x07,
+ 0xE0, 0x00,
+ 0xE0, 0x00,
+ 0xE0, 0x03,
+ 0x60, 0x07,
+ 0x00, 0x06,
+ 0x60, 0x06,
+ 0xE0, 0x07,
+ 0xC0, 0x03,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l5_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x80, 0x3F, 0x00,
+ 0x80, 0x03, 0x00,
+ 0x80, 0x03, 0x00,
+ 0x80, 0x01, 0x00,
+ 0x80, 0x01, 0x00,
+ 0xC0, 0x1F, 0x00,
+ 0xC0, 0x3B, 0x00,
+ 0xC0, 0x39, 0x00,
+ 0x00, 0x70, 0x00,
+ 0x00, 0x70, 0x00,
+ 0x00, 0x70, 0x00,
+ 0xC0, 0x31, 0x00,
+ 0xC0, 0x39, 0x00,
+ 0x80, 0x3B, 0x00,
+ 0x00, 0x1F, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l5_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xFE, 0x07, 0x00,
+ 0x00, 0xFE, 0x07, 0x00,
+ 0x00, 0x0E, 0x00, 0x00,
+ 0x00, 0x0E, 0x00, 0x00,
+ 0x00, 0x0F, 0x00, 0x00,
+ 0x00, 0x0F, 0x00, 0x00,
+ 0x00, 0xFF, 0x00, 0x00,
+ 0x00, 0xFF, 0x03, 0x00,
+ 0x00, 0xCF, 0x03, 0x00,
+ 0x00, 0x87, 0x07, 0x00,
+ 0x00, 0x80, 0x07, 0x00,
+ 0x00, 0x00, 0x07, 0x00,
+ 0x00, 0x00, 0x07, 0x00,
+ 0x00, 0x00, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x80, 0x87, 0x07, 0x00,
+ 0x00, 0x87, 0x07, 0x00,
+ 0x00, 0xCF, 0x03, 0x00,
+ 0x00, 0xFE, 0x01, 0x00,
+ 0x00, 0xFC, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l50.xbm b/app/bin/bitmaps/l50.xbm
index 981e2c8..834ab8f 100644
--- a/app/bin/bitmaps/l50.xbm
+++ b/app/bin/bitmaps/l50.xbm
@@ -1,6 +1,78 @@
-#define l50_width 14
-#define l50_height 16
-static char l50_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x0F, 0x81, 0x10, 0x81, 0x18,
- 0x9F, 0x14, 0xA0, 0x12, 0xA0, 0x11, 0xA0, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l50_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x1E,
+ 0x1C, 0x3F,
+ 0x1C, 0x33,
+ 0x7C, 0x33,
+ 0xEC, 0x33,
+ 0xC0, 0x33,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l50_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF8, 0xE3, 0x03,
+ 0x38, 0x70, 0x07,
+ 0x38, 0x30, 0x07,
+ 0x18, 0x38, 0x06,
+ 0x18, 0x38, 0x06,
+ 0xFC, 0x39, 0x0E,
+ 0xBC, 0x3B, 0x0E,
+ 0x9C, 0x3B, 0x0E,
+ 0x00, 0x3F, 0x0E,
+ 0x00, 0x3F, 0x0E,
+ 0x00, 0x3F, 0x06,
+ 0x1C, 0x3B, 0x06,
+ 0x9C, 0x33, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l50_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF8, 0x1F, 0x7E, 0x00,
+ 0xF8, 0x1F, 0xFF, 0x00,
+ 0x38, 0x00, 0xEF, 0x01,
+ 0x38, 0x80, 0xC7, 0x01,
+ 0x3C, 0x80, 0xC3, 0x03,
+ 0x3C, 0x80, 0xC3, 0x03,
+ 0xFC, 0xC3, 0x83, 0x03,
+ 0xFC, 0xCF, 0x83, 0x03,
+ 0x3C, 0xCF, 0x83, 0x03,
+ 0x1C, 0xDE, 0x83, 0x03,
+ 0x00, 0xDE, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1E, 0x9E, 0xC3, 0x03,
+ 0x1C, 0x9E, 0xC7, 0x01,
+ 0x3C, 0x0F, 0xEF, 0x01,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l51.xbm b/app/bin/bitmaps/l51.xbm
index ac2e9a2..8081e2f 100644
--- a/app/bin/bitmaps/l51.xbm
+++ b/app/bin/bitmaps/l51.xbm
@@ -1,6 +1,78 @@
-#define l51_width 14
-#define l51_height 16
-static char l51_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x04, 0x01, 0x06, 0x01, 0x05,
- 0x9F, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x21, 0x04, 0x1E, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l51_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x1C,
+ 0x1C, 0x1E,
+ 0x1C, 0x1F,
+ 0x7C, 0x1C,
+ 0xEC, 0x1C,
+ 0xC0, 0x1C,
+ 0xCC, 0x1C,
+ 0xFC, 0x1C,
+ 0x78, 0x1C,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l51_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF8, 0x83, 0x03,
+ 0x38, 0xC0, 0x03,
+ 0x38, 0xC0, 0x03,
+ 0x18, 0xE0, 0x03,
+ 0x18, 0xB0, 0x03,
+ 0xFC, 0x81, 0x03,
+ 0xBC, 0x83, 0x03,
+ 0x9C, 0x83, 0x03,
+ 0x00, 0x87, 0x03,
+ 0x00, 0x87, 0x03,
+ 0x00, 0x87, 0x03,
+ 0x1C, 0x83, 0x03,
+ 0x9C, 0x83, 0x03,
+ 0xB8, 0x83, 0x03,
+ 0xF0, 0x81, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l51_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF8, 0x1F, 0x70, 0x00,
+ 0xF8, 0x1F, 0x70, 0x00,
+ 0x38, 0x00, 0x78, 0x00,
+ 0x38, 0x00, 0x7C, 0x00,
+ 0x3C, 0x00, 0x7E, 0x00,
+ 0x3C, 0x00, 0x7F, 0x00,
+ 0xFC, 0x03, 0x73, 0x00,
+ 0xFC, 0x0F, 0x70, 0x00,
+ 0x3C, 0x0F, 0x70, 0x00,
+ 0x1C, 0x1E, 0x70, 0x00,
+ 0x00, 0x1E, 0x70, 0x00,
+ 0x00, 0x1C, 0x70, 0x00,
+ 0x00, 0x1C, 0x70, 0x00,
+ 0x00, 0x1C, 0x70, 0x00,
+ 0x1E, 0x1C, 0x70, 0x00,
+ 0x1E, 0x1E, 0x70, 0x00,
+ 0x1C, 0x1E, 0x70, 0x00,
+ 0x3C, 0x0F, 0x70, 0x00,
+ 0xF8, 0x07, 0x70, 0x00,
+ 0xF0, 0x03, 0x70, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l52.xbm b/app/bin/bitmaps/l52.xbm
index 266c9a4..1547b10 100644
--- a/app/bin/bitmaps/l52.xbm
+++ b/app/bin/bitmaps/l52.xbm
@@ -1,6 +1,78 @@
-#define l52_width 14
-#define l52_height 16
-static char l52_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x0F, 0x81, 0x10, 0x81, 0x10,
- 0x1F, 0x08, 0x20, 0x04, 0x20, 0x02, 0x20, 0x01, 0xA1, 0x00, 0x9E, 0x1F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l52_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x1E,
+ 0x1C, 0x3F,
+ 0x1C, 0x33,
+ 0x7C, 0x30,
+ 0xEC, 0x38,
+ 0xC0, 0x1C,
+ 0xCC, 0x0E,
+ 0xFC, 0x07,
+ 0x78, 0x3F,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l52_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF8, 0xE3, 0x03,
+ 0x38, 0x70, 0x07,
+ 0x38, 0x38, 0x06,
+ 0x18, 0x38, 0x0E,
+ 0x18, 0x00, 0x0E,
+ 0xFC, 0x01, 0x0E,
+ 0xBC, 0x03, 0x07,
+ 0x9C, 0x83, 0x07,
+ 0x00, 0x87, 0x03,
+ 0x00, 0xC7, 0x01,
+ 0x00, 0xE7, 0x01,
+ 0x1C, 0xF3, 0x00,
+ 0x9C, 0x73, 0x00,
+ 0xB8, 0x7B, 0x00,
+ 0xF0, 0xF9, 0x0F,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l52_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF8, 0x1F, 0xFE, 0x00,
+ 0xF8, 0x1F, 0xFF, 0x01,
+ 0x38, 0x80, 0xE7, 0x03,
+ 0x38, 0x80, 0xC3, 0x03,
+ 0x3C, 0xC0, 0x83, 0x03,
+ 0x3C, 0xC0, 0x83, 0x03,
+ 0xFC, 0x03, 0x80, 0x03,
+ 0xFC, 0x0F, 0xC0, 0x03,
+ 0x3C, 0x0F, 0xC0, 0x03,
+ 0x1C, 0x1E, 0xE0, 0x01,
+ 0x00, 0x1E, 0xF0, 0x01,
+ 0x00, 0x1C, 0xF8, 0x00,
+ 0x00, 0x1C, 0x78, 0x00,
+ 0x00, 0x1C, 0x3C, 0x00,
+ 0x1E, 0x1C, 0x1E, 0x00,
+ 0x1E, 0x1E, 0x0F, 0x00,
+ 0x1C, 0x9E, 0x07, 0x00,
+ 0x3C, 0x8F, 0x07, 0x00,
+ 0xF8, 0xC7, 0xFF, 0x03,
+ 0xF0, 0xC3, 0xFF, 0x03,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l53.xbm b/app/bin/bitmaps/l53.xbm
index 232b96c..a9620b9 100644
--- a/app/bin/bitmaps/l53.xbm
+++ b/app/bin/bitmaps/l53.xbm
@@ -1,6 +1,78 @@
-#define l53_width 14
-#define l53_height 16
-static char l53_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x0F, 0x81, 0x10, 0x01, 0x10,
- 0x1F, 0x10, 0x20, 0x0E, 0x20, 0x10, 0x20, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l53_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x1E,
+ 0x1C, 0x3B,
+ 0x1C, 0x38,
+ 0x7C, 0x18,
+ 0xEC, 0x3C,
+ 0xC0, 0x38,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l53_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF8, 0xE3, 0x03,
+ 0x38, 0x70, 0x07,
+ 0x38, 0x38, 0x07,
+ 0x18, 0x00, 0x07,
+ 0x18, 0x00, 0x07,
+ 0xFC, 0x01, 0x07,
+ 0xBC, 0x83, 0x03,
+ 0x9C, 0xC3, 0x07,
+ 0x00, 0x07, 0x07,
+ 0x00, 0x07, 0x0E,
+ 0x00, 0x07, 0x0E,
+ 0x1C, 0x3B, 0x0E,
+ 0x9C, 0x3B, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l53_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF8, 0x1F, 0x7E, 0x00,
+ 0xF8, 0x1F, 0xFF, 0x00,
+ 0x38, 0x80, 0xE7, 0x01,
+ 0x38, 0x80, 0xC7, 0x01,
+ 0x3C, 0x80, 0xC3, 0x03,
+ 0x3C, 0x00, 0xC0, 0x03,
+ 0xFC, 0x03, 0xC0, 0x01,
+ 0xFC, 0x0F, 0xE0, 0x01,
+ 0x3C, 0x0F, 0xFC, 0x00,
+ 0x1C, 0x1E, 0xFC, 0x00,
+ 0x00, 0x1E, 0xE0, 0x01,
+ 0x00, 0x1C, 0xC0, 0x03,
+ 0x00, 0x1C, 0x80, 0x03,
+ 0x00, 0x1C, 0x80, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDE, 0x83, 0x03,
+ 0x1C, 0x9E, 0xC7, 0x03,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x07, 0xFF, 0x01,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l54.xbm b/app/bin/bitmaps/l54.xbm
index e68e643..68a392e 100644
--- a/app/bin/bitmaps/l54.xbm
+++ b/app/bin/bitmaps/l54.xbm
@@ -1,6 +1,78 @@
-#define l54_width 14
-#define l54_height 16
-static char l54_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x08, 0x01, 0x0C, 0x01, 0x0A,
- 0x1F, 0x09, 0xA0, 0x08, 0xA0, 0x1F, 0x20, 0x08, 0x21, 0x08, 0x1E, 0x08,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l54_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x1C,
+ 0x1C, 0x1C,
+ 0x1C, 0x1E,
+ 0x7C, 0x1E,
+ 0xEC, 0x1F,
+ 0xC0, 0x1B,
+ 0xCC, 0x3F,
+ 0xFC, 0x18,
+ 0x78, 0x18,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l54_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF8, 0x83, 0x03,
+ 0x38, 0x80, 0x03,
+ 0x38, 0xC0, 0x03,
+ 0x18, 0xC0, 0x03,
+ 0x18, 0xE0, 0x03,
+ 0xFC, 0xE1, 0x03,
+ 0xBC, 0xF3, 0x03,
+ 0x9C, 0xB3, 0x03,
+ 0x00, 0xBF, 0x03,
+ 0x00, 0x9F, 0x03,
+ 0x00, 0xFF, 0x0F,
+ 0x1C, 0x83, 0x03,
+ 0x9C, 0x83, 0x03,
+ 0xB8, 0x83, 0x03,
+ 0xF0, 0x81, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l54_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF8, 0x1F, 0xF0, 0x00,
+ 0xF8, 0x1F, 0xF0, 0x00,
+ 0x38, 0x00, 0xF8, 0x00,
+ 0x38, 0x00, 0xF8, 0x00,
+ 0x3C, 0x00, 0xFC, 0x00,
+ 0x3C, 0x00, 0xFC, 0x00,
+ 0xFC, 0x03, 0xFE, 0x00,
+ 0xFC, 0x0F, 0xEE, 0x00,
+ 0x3C, 0x0F, 0xEF, 0x00,
+ 0x1C, 0x9E, 0xE7, 0x00,
+ 0x00, 0x9E, 0xE7, 0x00,
+ 0x00, 0xDC, 0xE3, 0x00,
+ 0x00, 0xDC, 0xE1, 0x00,
+ 0x00, 0xFC, 0xFF, 0x03,
+ 0x1E, 0xFC, 0xFF, 0x03,
+ 0x1E, 0x1E, 0xE0, 0x00,
+ 0x1C, 0x1E, 0xE0, 0x00,
+ 0x3C, 0x0F, 0xE0, 0x00,
+ 0xF8, 0x07, 0xE0, 0x00,
+ 0xF0, 0x03, 0xE0, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l55.xbm b/app/bin/bitmaps/l55.xbm
index 6b29ef2..8c35927 100644
--- a/app/bin/bitmaps/l55.xbm
+++ b/app/bin/bitmaps/l55.xbm
@@ -1,6 +1,78 @@
-#define l55_width 14
-#define l55_height 16
-static char l55_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x1F, 0x81, 0x00, 0x81, 0x00,
- 0x9F, 0x0F, 0x20, 0x10, 0x20, 0x10, 0x20, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l55_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x3F,
+ 0x1C, 0x07,
+ 0x1C, 0x07,
+ 0x7C, 0x1F,
+ 0xEC, 0x3B,
+ 0xC0, 0x30,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l55_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF8, 0xF3, 0x07,
+ 0x38, 0x70, 0x00,
+ 0x38, 0x70, 0x00,
+ 0x18, 0x30, 0x00,
+ 0x18, 0x30, 0x00,
+ 0xFC, 0xF9, 0x03,
+ 0xBC, 0x7B, 0x07,
+ 0x9C, 0x3B, 0x07,
+ 0x00, 0x07, 0x0E,
+ 0x00, 0x07, 0x0E,
+ 0x00, 0x07, 0x0E,
+ 0x1C, 0x3B, 0x06,
+ 0x9C, 0x3B, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l55_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF8, 0x1F, 0xFF, 0x03,
+ 0xF8, 0x1F, 0xFF, 0x03,
+ 0x38, 0x00, 0x07, 0x00,
+ 0x38, 0x00, 0x07, 0x00,
+ 0x3C, 0x80, 0x07, 0x00,
+ 0x3C, 0x80, 0x07, 0x00,
+ 0xFC, 0x83, 0x7F, 0x00,
+ 0xFC, 0x8F, 0xFF, 0x01,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x00, 0x1E, 0xC0, 0x03,
+ 0x00, 0x1C, 0x80, 0x03,
+ 0x00, 0x1C, 0x80, 0x03,
+ 0x00, 0x1C, 0x80, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDE, 0xC3, 0x03,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l56.xbm b/app/bin/bitmaps/l56.xbm
index 20eedef..e8f4d59 100644
--- a/app/bin/bitmaps/l56.xbm
+++ b/app/bin/bitmaps/l56.xbm
@@ -1,6 +1,78 @@
-#define l56_width 14
-#define l56_height 16
-static char l56_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x0F, 0x81, 0x00, 0x81, 0x00,
- 0x9F, 0x0F, 0xA0, 0x10, 0xA0, 0x10, 0xA0, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l56_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x1E,
+ 0x1C, 0x3F,
+ 0x1C, 0x03,
+ 0x7C, 0x1F,
+ 0xEC, 0x3F,
+ 0xC0, 0x33,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l56_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF8, 0xE3, 0x03,
+ 0x38, 0x70, 0x07,
+ 0x38, 0x30, 0x07,
+ 0x18, 0x38, 0x00,
+ 0x18, 0x38, 0x00,
+ 0xFC, 0x39, 0x00,
+ 0xBC, 0xFB, 0x03,
+ 0x9C, 0x7B, 0x07,
+ 0x00, 0x3F, 0x07,
+ 0x00, 0x3F, 0x0E,
+ 0x00, 0x3F, 0x0E,
+ 0x1C, 0x3B, 0x0E,
+ 0x9C, 0x33, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l56_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF8, 0x1F, 0xFC, 0x00,
+ 0xF8, 0x1F, 0xFF, 0x01,
+ 0x38, 0x00, 0xEF, 0x01,
+ 0x38, 0x80, 0xC7, 0x03,
+ 0x3C, 0x80, 0xC3, 0x03,
+ 0x3C, 0x80, 0x03, 0x00,
+ 0xFC, 0xC3, 0x03, 0x00,
+ 0xFC, 0xCF, 0x7F, 0x00,
+ 0x3C, 0xCF, 0xFF, 0x01,
+ 0x1C, 0xDE, 0xEF, 0x01,
+ 0x00, 0xDE, 0xC7, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0x9E, 0x83, 0x03,
+ 0x1C, 0x9E, 0xC7, 0x03,
+ 0x3C, 0x8F, 0xEF, 0x01,
+ 0xF8, 0x07, 0xFF, 0x01,
+ 0xF0, 0x03, 0x7C, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l57.xbm b/app/bin/bitmaps/l57.xbm
index a9b7d42..5149c54 100644
--- a/app/bin/bitmaps/l57.xbm
+++ b/app/bin/bitmaps/l57.xbm
@@ -1,6 +1,78 @@
-#define l57_width 14
-#define l57_height 16
-static char l57_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x1F, 0x01, 0x10, 0x01, 0x08,
- 0x1F, 0x08, 0x20, 0x04, 0x20, 0x04, 0x20, 0x02, 0x21, 0x02, 0x1E, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l57_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x3F,
+ 0x1C, 0x38,
+ 0x1C, 0x18,
+ 0x7C, 0x1C,
+ 0xEC, 0x0C,
+ 0xC0, 0x0E,
+ 0xCC, 0x0E,
+ 0xFC, 0x06,
+ 0x78, 0x06,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l57_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF8, 0xFB, 0x0F,
+ 0x38, 0x00, 0x0F,
+ 0x38, 0x00, 0x07,
+ 0x18, 0x80, 0x03,
+ 0x18, 0x80, 0x03,
+ 0xFC, 0xC1, 0x01,
+ 0xBC, 0xC3, 0x01,
+ 0x9C, 0xC3, 0x01,
+ 0x00, 0xE7, 0x00,
+ 0x00, 0xE7, 0x00,
+ 0x00, 0xE7, 0x00,
+ 0x1C, 0xE3, 0x00,
+ 0x9C, 0xE3, 0x00,
+ 0xB8, 0x73, 0x00,
+ 0xF0, 0x71, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l57_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF8, 0xDF, 0xFF, 0x03,
+ 0xF8, 0xDF, 0xFF, 0x03,
+ 0x38, 0x00, 0xC0, 0x03,
+ 0x38, 0x00, 0xE0, 0x01,
+ 0x3C, 0x00, 0xE0, 0x01,
+ 0x3C, 0x00, 0xF0, 0x00,
+ 0xFC, 0x03, 0xF0, 0x00,
+ 0xFC, 0x0F, 0x78, 0x00,
+ 0x3C, 0x0F, 0x78, 0x00,
+ 0x1C, 0x1E, 0x38, 0x00,
+ 0x00, 0x1E, 0x3C, 0x00,
+ 0x00, 0x1C, 0x3C, 0x00,
+ 0x00, 0x1C, 0x1C, 0x00,
+ 0x00, 0x1C, 0x1E, 0x00,
+ 0x1E, 0x1C, 0x1E, 0x00,
+ 0x1E, 0x1E, 0x1E, 0x00,
+ 0x1C, 0x1E, 0x1E, 0x00,
+ 0x3C, 0x0F, 0x0E, 0x00,
+ 0xF8, 0x07, 0x0E, 0x00,
+ 0xF0, 0x03, 0x0E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l58.xbm b/app/bin/bitmaps/l58.xbm
index 01fb1bd..3fe4ad7 100644
--- a/app/bin/bitmaps/l58.xbm
+++ b/app/bin/bitmaps/l58.xbm
@@ -1,6 +1,78 @@
-#define l58_width 14
-#define l58_height 16
-static char l58_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x0F, 0x81, 0x10, 0x81, 0x10,
- 0x9F, 0x10, 0x20, 0x0F, 0xA0, 0x10, 0xA0, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l58_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x1E,
+ 0x1C, 0x3F,
+ 0x1C, 0x3B,
+ 0x7C, 0x3F,
+ 0xEC, 0x1E,
+ 0xC0, 0x3F,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l58_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF8, 0xE3, 0x03,
+ 0x38, 0x70, 0x07,
+ 0x38, 0x30, 0x07,
+ 0x18, 0x38, 0x07,
+ 0x18, 0x38, 0x07,
+ 0xFC, 0x39, 0x07,
+ 0xBC, 0x73, 0x07,
+ 0x9C, 0xE3, 0x03,
+ 0x00, 0x77, 0x07,
+ 0x00, 0x3F, 0x06,
+ 0x00, 0x3F, 0x0E,
+ 0x1C, 0x3B, 0x0E,
+ 0x9C, 0x3B, 0x06,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l58_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF8, 0x1F, 0x7E, 0x00,
+ 0xF8, 0x1F, 0xFF, 0x00,
+ 0x38, 0x80, 0xEF, 0x01,
+ 0x38, 0x80, 0xC7, 0x01,
+ 0x3C, 0x80, 0xC3, 0x03,
+ 0x3C, 0x80, 0xC3, 0x03,
+ 0xFC, 0x83, 0xC7, 0x01,
+ 0xFC, 0x0F, 0xEF, 0x01,
+ 0x3C, 0x0F, 0xFE, 0x00,
+ 0x1C, 0x1E, 0xFF, 0x00,
+ 0x00, 0x9E, 0xE7, 0x01,
+ 0x00, 0x9C, 0xC3, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDE, 0x83, 0x03,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x07, 0xFF, 0x01,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l59.xbm b/app/bin/bitmaps/l59.xbm
index 8f5b367..9459753 100644
--- a/app/bin/bitmaps/l59.xbm
+++ b/app/bin/bitmaps/l59.xbm
@@ -1,6 +1,78 @@
-#define l59_width 14
-#define l59_height 16
-static char l59_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x0F, 0x81, 0x10, 0x81, 0x10,
- 0x9F, 0x10, 0x20, 0x1F, 0x20, 0x10, 0x20, 0x10, 0x21, 0x08, 0x1E, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l59_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x1E,
+ 0x1C, 0x3F,
+ 0x1C, 0x33,
+ 0x7C, 0x33,
+ 0xEC, 0x3F,
+ 0xC0, 0x3E,
+ 0xCC, 0x30,
+ 0xFC, 0x3B,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l59_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF8, 0xE3, 0x01,
+ 0x38, 0x70, 0x07,
+ 0x38, 0x38, 0x07,
+ 0x18, 0x38, 0x06,
+ 0x18, 0x38, 0x0E,
+ 0xFC, 0x39, 0x0E,
+ 0xBC, 0x3B, 0x0F,
+ 0x9C, 0x73, 0x0F,
+ 0x00, 0xE7, 0x0F,
+ 0x00, 0x07, 0x0E,
+ 0x00, 0x07, 0x06,
+ 0x1C, 0x03, 0x06,
+ 0x9C, 0x3B, 0x07,
+ 0xB8, 0x73, 0x03,
+ 0xF0, 0xF1, 0x01,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l59_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF8, 0x1F, 0x7E, 0x00,
+ 0xF8, 0x1F, 0xFF, 0x00,
+ 0x38, 0x80, 0xEF, 0x01,
+ 0x38, 0x80, 0xC7, 0x01,
+ 0x3C, 0xC0, 0x83, 0x03,
+ 0x3C, 0xC0, 0x83, 0x03,
+ 0xFC, 0xC3, 0x83, 0x03,
+ 0xFC, 0xCF, 0x83, 0x03,
+ 0x3C, 0xCF, 0x83, 0x03,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x00, 0x9E, 0xE7, 0x03,
+ 0x00, 0x1C, 0xFF, 0x03,
+ 0x00, 0x1C, 0xFE, 0x03,
+ 0x00, 0x1C, 0x80, 0x03,
+ 0x1E, 0x1C, 0x80, 0x03,
+ 0x1E, 0x9E, 0xC3, 0x03,
+ 0x1C, 0x9E, 0xC3, 0x01,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l6.xbm b/app/bin/bitmaps/l6.xbm
index 89efd19..325c80c 100644
--- a/app/bin/bitmaps/l6.xbm
+++ b/app/bin/bitmaps/l6.xbm
@@ -1,6 +1,78 @@
-#define l6_width 14
-#define l6_height 16
-static char l6_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x08, 0x00, 0x08, 0x00,
- 0xF8, 0x00, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0xF0, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l6_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xC0, 0x03,
+ 0xE0, 0x07,
+ 0x60, 0x00,
+ 0xE0, 0x03,
+ 0xE0, 0x07,
+ 0x60, 0x06,
+ 0x60, 0x06,
+ 0xE0, 0x07,
+ 0xC0, 0x03,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l6_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x1F, 0x00,
+ 0x80, 0x3B, 0x00,
+ 0x80, 0x39, 0x00,
+ 0xC0, 0x01, 0x00,
+ 0xC0, 0x01, 0x00,
+ 0xC0, 0x01, 0x00,
+ 0xC0, 0x1F, 0x00,
+ 0xC0, 0x3B, 0x00,
+ 0xC0, 0x39, 0x00,
+ 0xC0, 0x71, 0x00,
+ 0xC0, 0x71, 0x00,
+ 0xC0, 0x71, 0x00,
+ 0x80, 0x39, 0x00,
+ 0x80, 0x3B, 0x00,
+ 0x00, 0x1F, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l6_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xF8, 0x01, 0x00,
+ 0x00, 0xFE, 0x03, 0x00,
+ 0x00, 0xDE, 0x03, 0x00,
+ 0x00, 0x8F, 0x07, 0x00,
+ 0x00, 0x87, 0x07, 0x00,
+ 0x00, 0x07, 0x00, 0x00,
+ 0x80, 0x07, 0x00, 0x00,
+ 0x80, 0xFF, 0x00, 0x00,
+ 0x80, 0xFF, 0x03, 0x00,
+ 0x80, 0xDF, 0x03, 0x00,
+ 0x80, 0x8F, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x00, 0x07, 0x07, 0x00,
+ 0x00, 0x8F, 0x07, 0x00,
+ 0x00, 0xDF, 0x03, 0x00,
+ 0x00, 0xFE, 0x03, 0x00,
+ 0x00, 0xF8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l60.xbm b/app/bin/bitmaps/l60.xbm
index 29692e4..11b9cc7 100644
--- a/app/bin/bitmaps/l60.xbm
+++ b/app/bin/bitmaps/l60.xbm
@@ -1,6 +1,78 @@
-#define l60_width 14
-#define l60_height 16
-static char l60_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x81, 0x10, 0x81, 0x18,
- 0x9F, 0x14, 0xA1, 0x12, 0xA1, 0x11, 0xA1, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l60_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0x0C, 0x33,
+ 0x7C, 0x33,
+ 0xFC, 0x33,
+ 0xCC, 0x33,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l60_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x98, 0x33, 0x07,
+ 0x1C, 0x38, 0x06,
+ 0x1C, 0x38, 0x06,
+ 0x1C, 0x38, 0x0E,
+ 0xFC, 0x39, 0x0E,
+ 0xBC, 0x3B, 0x0E,
+ 0x9C, 0x3B, 0x0E,
+ 0x1C, 0x3F, 0x0E,
+ 0x1C, 0x3F, 0x06,
+ 0x1C, 0x3F, 0x06,
+ 0x98, 0x33, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l60_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0x07, 0x7E, 0x00,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0x78, 0x0F, 0xEF, 0x01,
+ 0x3C, 0x9E, 0xC7, 0x01,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x1C, 0x80, 0xC3, 0x03,
+ 0x1E, 0xC0, 0x83, 0x03,
+ 0xFE, 0xC3, 0x83, 0x03,
+ 0xFE, 0xCF, 0x83, 0x03,
+ 0x7E, 0xCF, 0x83, 0x03,
+ 0x3E, 0xDE, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1C, 0x9C, 0xC3, 0x03,
+ 0x3C, 0x9E, 0xC7, 0x01,
+ 0x7C, 0x0F, 0xEF, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0xE0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l61.xbm b/app/bin/bitmaps/l61.xbm
index 22973a9..1983790 100644
--- a/app/bin/bitmaps/l61.xbm
+++ b/app/bin/bitmaps/l61.xbm
@@ -1,6 +1,78 @@
-#define l61_width 14
-#define l61_height 16
-static char l61_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x04, 0x01, 0x06, 0x01, 0x05,
- 0x9F, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x1E, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l61_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1C,
+ 0xFC, 0x1E,
+ 0x0C, 0x1F,
+ 0x7C, 0x1C,
+ 0xFC, 0x1C,
+ 0xCC, 0x1C,
+ 0xCC, 0x1C,
+ 0xFC, 0x1C,
+ 0x78, 0x1C,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l61_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0x81, 0x03,
+ 0xB8, 0xC3, 0x03,
+ 0x98, 0xC3, 0x03,
+ 0x1C, 0xE0, 0x03,
+ 0x1C, 0xB0, 0x03,
+ 0x1C, 0x80, 0x03,
+ 0xFC, 0x81, 0x03,
+ 0xBC, 0x83, 0x03,
+ 0x9C, 0x83, 0x03,
+ 0x1C, 0x87, 0x03,
+ 0x1C, 0x87, 0x03,
+ 0x1C, 0x87, 0x03,
+ 0x98, 0x83, 0x03,
+ 0xB8, 0x83, 0x03,
+ 0xF0, 0x81, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l61_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0x07, 0x70, 0x00,
+ 0xF8, 0x0F, 0x70, 0x00,
+ 0x78, 0x0F, 0x78, 0x00,
+ 0x3C, 0x1E, 0x7C, 0x00,
+ 0x1C, 0x1E, 0x7E, 0x00,
+ 0x1C, 0x00, 0x7F, 0x00,
+ 0x1E, 0x00, 0x73, 0x00,
+ 0xFE, 0x03, 0x70, 0x00,
+ 0xFE, 0x0F, 0x70, 0x00,
+ 0x7E, 0x0F, 0x70, 0x00,
+ 0x3E, 0x1E, 0x70, 0x00,
+ 0x1E, 0x1C, 0x70, 0x00,
+ 0x1E, 0x1C, 0x70, 0x00,
+ 0x1E, 0x1C, 0x70, 0x00,
+ 0x1E, 0x1C, 0x70, 0x00,
+ 0x1C, 0x1C, 0x70, 0x00,
+ 0x3C, 0x1E, 0x70, 0x00,
+ 0x7C, 0x0F, 0x70, 0x00,
+ 0xF8, 0x0F, 0x70, 0x00,
+ 0xE0, 0x03, 0x70, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l62.xbm b/app/bin/bitmaps/l62.xbm
index 0447b20..93573ec 100644
--- a/app/bin/bitmaps/l62.xbm
+++ b/app/bin/bitmaps/l62.xbm
@@ -1,6 +1,78 @@
-#define l62_width 14
-#define l62_height 16
-static char l62_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x81, 0x10, 0x81, 0x10,
- 0x1F, 0x08, 0x21, 0x04, 0x21, 0x02, 0x21, 0x01, 0xA1, 0x00, 0x9E, 0x1F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l62_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0x0C, 0x33,
+ 0x7C, 0x30,
+ 0xFC, 0x38,
+ 0xCC, 0x1C,
+ 0xCC, 0x0E,
+ 0xFC, 0x07,
+ 0x78, 0x3F,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l62_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x98, 0x3B, 0x06,
+ 0x1C, 0x38, 0x0E,
+ 0x1C, 0x00, 0x0E,
+ 0x1C, 0x00, 0x0E,
+ 0xFC, 0x01, 0x07,
+ 0xBC, 0x83, 0x07,
+ 0x9C, 0x83, 0x03,
+ 0x1C, 0xC7, 0x01,
+ 0x1C, 0xE7, 0x01,
+ 0x1C, 0xF7, 0x00,
+ 0x98, 0x73, 0x00,
+ 0xB8, 0x7B, 0x00,
+ 0xF0, 0xF9, 0x0F,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l62_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0x07, 0xFE, 0x00,
+ 0xF8, 0x0F, 0xFF, 0x01,
+ 0x78, 0x8F, 0xE7, 0x03,
+ 0x3C, 0x9E, 0xC3, 0x03,
+ 0x1C, 0xDE, 0x83, 0x03,
+ 0x1C, 0xC0, 0x83, 0x03,
+ 0x1E, 0x00, 0x80, 0x03,
+ 0xFE, 0x03, 0xC0, 0x03,
+ 0xFE, 0x0F, 0xC0, 0x03,
+ 0x7E, 0x0F, 0xE0, 0x01,
+ 0x3E, 0x1E, 0xF0, 0x01,
+ 0x1E, 0x1C, 0xF8, 0x00,
+ 0x1E, 0x1C, 0x78, 0x00,
+ 0x1E, 0x1C, 0x3C, 0x00,
+ 0x1E, 0x1C, 0x1E, 0x00,
+ 0x1C, 0x1C, 0x0F, 0x00,
+ 0x3C, 0x9E, 0x07, 0x00,
+ 0x7C, 0x8F, 0x07, 0x00,
+ 0xF8, 0xCF, 0xFF, 0x03,
+ 0xE0, 0xC3, 0xFF, 0x03,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l63.xbm b/app/bin/bitmaps/l63.xbm
index 8fb46f9..6b95b4d 100644
--- a/app/bin/bitmaps/l63.xbm
+++ b/app/bin/bitmaps/l63.xbm
@@ -1,6 +1,78 @@
-#define l63_width 14
-#define l63_height 16
-static char l63_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x81, 0x10, 0x01, 0x10,
- 0x1F, 0x10, 0x21, 0x0E, 0x21, 0x10, 0x21, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l63_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3B,
+ 0x0C, 0x38,
+ 0x7C, 0x18,
+ 0xFC, 0x3C,
+ 0xCC, 0x38,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l63_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x98, 0x3B, 0x07,
+ 0x1C, 0x00, 0x07,
+ 0x1C, 0x00, 0x07,
+ 0x1C, 0x00, 0x07,
+ 0xFC, 0x81, 0x03,
+ 0xBC, 0xC3, 0x07,
+ 0x9C, 0x03, 0x07,
+ 0x1C, 0x07, 0x0E,
+ 0x1C, 0x07, 0x0E,
+ 0x1C, 0x3F, 0x0E,
+ 0x98, 0x3B, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l63_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0x07, 0x7E, 0x00,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0x78, 0x8F, 0xE7, 0x01,
+ 0x3C, 0x9E, 0xC7, 0x01,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x1C, 0x00, 0xC0, 0x03,
+ 0x1E, 0x00, 0xC0, 0x01,
+ 0xFE, 0x03, 0xE0, 0x01,
+ 0xFE, 0x0F, 0xFC, 0x00,
+ 0x7E, 0x0F, 0xFC, 0x00,
+ 0x3E, 0x1E, 0xE0, 0x01,
+ 0x1E, 0x1C, 0xC0, 0x03,
+ 0x1E, 0x1C, 0x80, 0x03,
+ 0x1E, 0x1C, 0x80, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1C, 0xDC, 0x83, 0x03,
+ 0x3C, 0x9E, 0xC7, 0x03,
+ 0x7C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x01,
+ 0xE0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l64.xbm b/app/bin/bitmaps/l64.xbm
index 8fec658..e2a6cc5 100644
--- a/app/bin/bitmaps/l64.xbm
+++ b/app/bin/bitmaps/l64.xbm
@@ -1,6 +1,78 @@
-#define l64_width 14
-#define l64_height 16
-static char l64_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x08, 0x01, 0x0C, 0x01, 0x0A,
- 0x1F, 0x09, 0xA1, 0x08, 0xA1, 0x1F, 0x21, 0x08, 0x21, 0x08, 0x1E, 0x08,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l64_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1C,
+ 0xFC, 0x1C,
+ 0x0C, 0x1E,
+ 0x7C, 0x1E,
+ 0xFC, 0x1F,
+ 0xCC, 0x1B,
+ 0xCC, 0x3F,
+ 0xFC, 0x18,
+ 0x78, 0x18,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l64_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0x81, 0x03,
+ 0xB8, 0x83, 0x03,
+ 0x98, 0xC3, 0x03,
+ 0x1C, 0xC0, 0x03,
+ 0x1C, 0xE0, 0x03,
+ 0x1C, 0xE0, 0x03,
+ 0xFC, 0xF1, 0x03,
+ 0xBC, 0xB3, 0x03,
+ 0x9C, 0xBB, 0x03,
+ 0x1C, 0x9F, 0x03,
+ 0x1C, 0xFF, 0x0F,
+ 0x1C, 0x87, 0x03,
+ 0x98, 0x83, 0x03,
+ 0xB8, 0x83, 0x03,
+ 0xF0, 0x81, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l64_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0x07, 0xF0, 0x00,
+ 0xF8, 0x0F, 0xF0, 0x00,
+ 0x78, 0x0F, 0xF8, 0x00,
+ 0x3C, 0x1E, 0xF8, 0x00,
+ 0x1C, 0x1E, 0xFC, 0x00,
+ 0x1C, 0x00, 0xFC, 0x00,
+ 0x1E, 0x00, 0xFE, 0x00,
+ 0xFE, 0x03, 0xEE, 0x00,
+ 0xFE, 0x0F, 0xEF, 0x00,
+ 0x7E, 0x8F, 0xE7, 0x00,
+ 0x3E, 0x9E, 0xE7, 0x00,
+ 0x1E, 0xDC, 0xE3, 0x00,
+ 0x1E, 0xDC, 0xE1, 0x00,
+ 0x1E, 0xFC, 0xFF, 0x03,
+ 0x1E, 0xFC, 0xFF, 0x03,
+ 0x1C, 0x1C, 0xE0, 0x00,
+ 0x3C, 0x1E, 0xE0, 0x00,
+ 0x7C, 0x0F, 0xE0, 0x00,
+ 0xF8, 0x0F, 0xE0, 0x00,
+ 0xE0, 0x03, 0xE0, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l65.xbm b/app/bin/bitmaps/l65.xbm
index 34b6f4a..3ab1ce6 100644
--- a/app/bin/bitmaps/l65.xbm
+++ b/app/bin/bitmaps/l65.xbm
@@ -1,6 +1,78 @@
-#define l65_width 14
-#define l65_height 16
-static char l65_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x1F, 0x81, 0x00, 0x81, 0x00,
- 0x9F, 0x0F, 0x21, 0x10, 0x21, 0x10, 0x21, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l65_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x3F,
+ 0xFC, 0x07,
+ 0x0C, 0x07,
+ 0x7C, 0x1F,
+ 0xFC, 0x3B,
+ 0xCC, 0x30,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l65_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xF1, 0x07,
+ 0xB8, 0x73, 0x00,
+ 0x98, 0x73, 0x00,
+ 0x1C, 0x30, 0x00,
+ 0x1C, 0x30, 0x00,
+ 0x1C, 0xF8, 0x03,
+ 0xFC, 0x79, 0x07,
+ 0xBC, 0x3B, 0x07,
+ 0x9C, 0x03, 0x0E,
+ 0x1C, 0x07, 0x0E,
+ 0x1C, 0x07, 0x0E,
+ 0x1C, 0x3F, 0x06,
+ 0x98, 0x3B, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l65_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0x07, 0xFF, 0x03,
+ 0xF8, 0x0F, 0xFF, 0x03,
+ 0x78, 0x0F, 0x07, 0x00,
+ 0x3C, 0x1E, 0x07, 0x00,
+ 0x1C, 0x9E, 0x07, 0x00,
+ 0x1C, 0x80, 0x07, 0x00,
+ 0x1E, 0x80, 0x7F, 0x00,
+ 0xFE, 0x83, 0xFF, 0x01,
+ 0xFE, 0x8F, 0xE7, 0x01,
+ 0x7E, 0x8F, 0xC3, 0x03,
+ 0x3E, 0x1E, 0xC0, 0x03,
+ 0x1E, 0x1C, 0x80, 0x03,
+ 0x1E, 0x1C, 0x80, 0x03,
+ 0x1E, 0x1C, 0x80, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1C, 0xDC, 0xC3, 0x03,
+ 0x3C, 0x9E, 0xC3, 0x03,
+ 0x7C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0xE0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l66.xbm b/app/bin/bitmaps/l66.xbm
index 1e28cf3..1abbf7c 100644
--- a/app/bin/bitmaps/l66.xbm
+++ b/app/bin/bitmaps/l66.xbm
@@ -1,6 +1,78 @@
-#define l66_width 14
-#define l66_height 16
-static char l66_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x81, 0x00, 0x81, 0x00,
- 0x9F, 0x0F, 0xA1, 0x10, 0xA1, 0x10, 0xA1, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l66_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0x0C, 0x03,
+ 0x7C, 0x1F,
+ 0xFC, 0x3F,
+ 0xCC, 0x33,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l66_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x98, 0x33, 0x07,
+ 0x1C, 0x38, 0x00,
+ 0x1C, 0x38, 0x00,
+ 0x1C, 0x38, 0x00,
+ 0xFC, 0xF9, 0x03,
+ 0xBC, 0x7B, 0x07,
+ 0x9C, 0x3B, 0x07,
+ 0x1C, 0x3F, 0x0E,
+ 0x1C, 0x3F, 0x0E,
+ 0x1C, 0x3F, 0x0E,
+ 0x98, 0x33, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l66_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0x07, 0xFC, 0x00,
+ 0xF8, 0x0F, 0xFF, 0x01,
+ 0x78, 0x0F, 0xEF, 0x01,
+ 0x3C, 0x9E, 0xC7, 0x03,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x1C, 0x80, 0x03, 0x00,
+ 0x1E, 0xC0, 0x03, 0x00,
+ 0xFE, 0xC3, 0x7F, 0x00,
+ 0xFE, 0xCF, 0xFF, 0x01,
+ 0x7E, 0xCF, 0xEF, 0x01,
+ 0x3E, 0xDE, 0xC7, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1C, 0x9C, 0x83, 0x03,
+ 0x3C, 0x9E, 0xC7, 0x03,
+ 0x7C, 0x8F, 0xEF, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x01,
+ 0xE0, 0x03, 0x7C, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l67.xbm b/app/bin/bitmaps/l67.xbm
index bbc56bf..8cce97c 100644
--- a/app/bin/bitmaps/l67.xbm
+++ b/app/bin/bitmaps/l67.xbm
@@ -1,6 +1,78 @@
-#define l67_width 14
-#define l67_height 16
-static char l67_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x1F, 0x01, 0x10, 0x01, 0x08,
- 0x1F, 0x08, 0x21, 0x04, 0x21, 0x04, 0x21, 0x02, 0x21, 0x02, 0x1E, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l67_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x3F,
+ 0xFC, 0x38,
+ 0x0C, 0x18,
+ 0x7C, 0x1C,
+ 0xFC, 0x0C,
+ 0xCC, 0x0E,
+ 0xCC, 0x0E,
+ 0xFC, 0x06,
+ 0x78, 0x06,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l67_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xF9, 0x0F,
+ 0xB8, 0x03, 0x0F,
+ 0x98, 0x03, 0x07,
+ 0x1C, 0x80, 0x03,
+ 0x1C, 0x80, 0x03,
+ 0x1C, 0xC0, 0x01,
+ 0xFC, 0xC1, 0x01,
+ 0xBC, 0xC3, 0x01,
+ 0x9C, 0xE3, 0x00,
+ 0x1C, 0xE7, 0x00,
+ 0x1C, 0xE7, 0x00,
+ 0x1C, 0xE7, 0x00,
+ 0x98, 0xE3, 0x00,
+ 0xB8, 0x73, 0x00,
+ 0xF0, 0x71, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l67_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0xC7, 0xFF, 0x03,
+ 0xF8, 0xCF, 0xFF, 0x03,
+ 0x78, 0x0F, 0xC0, 0x03,
+ 0x3C, 0x1E, 0xE0, 0x01,
+ 0x1C, 0x1E, 0xE0, 0x01,
+ 0x1C, 0x00, 0xF0, 0x00,
+ 0x1E, 0x00, 0xF0, 0x00,
+ 0xFE, 0x03, 0x78, 0x00,
+ 0xFE, 0x0F, 0x78, 0x00,
+ 0x7E, 0x0F, 0x38, 0x00,
+ 0x3E, 0x1E, 0x3C, 0x00,
+ 0x1E, 0x1C, 0x3C, 0x00,
+ 0x1E, 0x1C, 0x1C, 0x00,
+ 0x1E, 0x1C, 0x1E, 0x00,
+ 0x1E, 0x1C, 0x1E, 0x00,
+ 0x1C, 0x1C, 0x1E, 0x00,
+ 0x3C, 0x1E, 0x1E, 0x00,
+ 0x7C, 0x0F, 0x0E, 0x00,
+ 0xF8, 0x0F, 0x0E, 0x00,
+ 0xE0, 0x03, 0x0E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l68.xbm b/app/bin/bitmaps/l68.xbm
index db31fa9..e32b8c2 100644
--- a/app/bin/bitmaps/l68.xbm
+++ b/app/bin/bitmaps/l68.xbm
@@ -1,6 +1,78 @@
-#define l68_width 14
-#define l68_height 16
-static char l68_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x81, 0x10, 0x81, 0x10,
- 0x9F, 0x10, 0x21, 0x0F, 0xA1, 0x10, 0xA1, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l68_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0x0C, 0x3B,
+ 0x7C, 0x3F,
+ 0xFC, 0x1E,
+ 0xCC, 0x3F,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l68_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x98, 0x33, 0x07,
+ 0x1C, 0x38, 0x07,
+ 0x1C, 0x38, 0x07,
+ 0x1C, 0x38, 0x07,
+ 0xFC, 0x71, 0x07,
+ 0xBC, 0xE3, 0x03,
+ 0x9C, 0x73, 0x07,
+ 0x1C, 0x3F, 0x06,
+ 0x1C, 0x3F, 0x0E,
+ 0x1C, 0x3F, 0x0E,
+ 0x98, 0x3B, 0x06,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l68_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0x07, 0x7E, 0x00,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0x78, 0x8F, 0xEF, 0x01,
+ 0x3C, 0x9E, 0xC7, 0x01,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x1C, 0x80, 0xC3, 0x03,
+ 0x1E, 0x80, 0xC7, 0x01,
+ 0xFE, 0x03, 0xEF, 0x01,
+ 0xFE, 0x0F, 0xFE, 0x00,
+ 0x7E, 0x0F, 0xFF, 0x00,
+ 0x3E, 0x9E, 0xE7, 0x01,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1C, 0xDC, 0x83, 0x03,
+ 0x3C, 0x9E, 0xC3, 0x03,
+ 0x7C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x01,
+ 0xE0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l69.xbm b/app/bin/bitmaps/l69.xbm
index 2d79bc7..8df10ca 100644
--- a/app/bin/bitmaps/l69.xbm
+++ b/app/bin/bitmaps/l69.xbm
@@ -1,6 +1,78 @@
-#define l69_width 14
-#define l69_height 16
-static char l69_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x81, 0x10, 0x81, 0x10,
- 0x9F, 0x10, 0x21, 0x1F, 0x21, 0x10, 0x21, 0x10, 0x21, 0x08, 0x1E, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l69_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0x0C, 0x33,
+ 0x7C, 0x33,
+ 0xFC, 0x3F,
+ 0xCC, 0x3E,
+ 0xCC, 0x30,
+ 0xFC, 0x3B,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l69_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x01,
+ 0xB8, 0x73, 0x07,
+ 0x98, 0x3B, 0x07,
+ 0x1C, 0x38, 0x06,
+ 0x1C, 0x38, 0x0E,
+ 0x1C, 0x38, 0x0E,
+ 0xFC, 0x39, 0x0F,
+ 0xBC, 0x73, 0x0F,
+ 0x9C, 0xE3, 0x0F,
+ 0x1C, 0x07, 0x0E,
+ 0x1C, 0x07, 0x06,
+ 0x1C, 0x07, 0x06,
+ 0x98, 0x3B, 0x07,
+ 0xB8, 0x73, 0x03,
+ 0xF0, 0xF1, 0x01,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l69_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0x07, 0x7E, 0x00,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0x78, 0x8F, 0xEF, 0x01,
+ 0x3C, 0x9E, 0xC7, 0x01,
+ 0x1C, 0xDE, 0x83, 0x03,
+ 0x1C, 0xC0, 0x83, 0x03,
+ 0x1E, 0xC0, 0x83, 0x03,
+ 0xFE, 0xC3, 0x83, 0x03,
+ 0xFE, 0xCF, 0x83, 0x03,
+ 0x7E, 0x8F, 0xC3, 0x03,
+ 0x3E, 0x9E, 0xE7, 0x03,
+ 0x1E, 0x1C, 0xFF, 0x03,
+ 0x1E, 0x1C, 0xFE, 0x03,
+ 0x1E, 0x1C, 0x80, 0x03,
+ 0x1E, 0x1C, 0x80, 0x03,
+ 0x1C, 0x9C, 0xC3, 0x03,
+ 0x3C, 0x9E, 0xC3, 0x01,
+ 0x7C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0xE0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l7.xbm b/app/bin/bitmaps/l7.xbm
index 28b2698..a86a7cc 100644
--- a/app/bin/bitmaps/l7.xbm
+++ b/app/bin/bitmaps/l7.xbm
@@ -1,6 +1,78 @@
-#define l7_width 14
-#define l7_height 16
-static char l7_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x00, 0x01, 0x80, 0x00,
- 0x80, 0x00, 0x40, 0x00, 0x40, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l7_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xE0, 0x07,
+ 0x00, 0x07,
+ 0x00, 0x03,
+ 0x80, 0x03,
+ 0x80, 0x01,
+ 0xC0, 0x01,
+ 0xC0, 0x01,
+ 0xC0, 0x00,
+ 0xC0, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l7_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xC0, 0x7F, 0x00,
+ 0x00, 0x78, 0x00,
+ 0x00, 0x38, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x1C, 0x00,
+ 0x00, 0x0E, 0x00,
+ 0x00, 0x0E, 0x00,
+ 0x00, 0x0E, 0x00,
+ 0x00, 0x07, 0x00,
+ 0x00, 0x07, 0x00,
+ 0x00, 0x07, 0x00,
+ 0x00, 0x07, 0x00,
+ 0x00, 0x07, 0x00,
+ 0x80, 0x03, 0x00,
+ 0x80, 0x03, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l7_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0xFF, 0x07, 0x00,
+ 0x80, 0xFF, 0x07, 0x00,
+ 0x00, 0x80, 0x07, 0x00,
+ 0x00, 0xC0, 0x03, 0x00,
+ 0x00, 0xC0, 0x03, 0x00,
+ 0x00, 0xE0, 0x01, 0x00,
+ 0x00, 0xE0, 0x01, 0x00,
+ 0x00, 0xF0, 0x00, 0x00,
+ 0x00, 0xF0, 0x00, 0x00,
+ 0x00, 0x70, 0x00, 0x00,
+ 0x00, 0x78, 0x00, 0x00,
+ 0x00, 0x78, 0x00, 0x00,
+ 0x00, 0x38, 0x00, 0x00,
+ 0x00, 0x3C, 0x00, 0x00,
+ 0x00, 0x3C, 0x00, 0x00,
+ 0x00, 0x3C, 0x00, 0x00,
+ 0x00, 0x3C, 0x00, 0x00,
+ 0x00, 0x1C, 0x00, 0x00,
+ 0x00, 0x1C, 0x00, 0x00,
+ 0x00, 0x1C, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l70.xbm b/app/bin/bitmaps/l70.xbm
index 16b4c70..cfa65e6 100644
--- a/app/bin/bitmaps/l70.xbm
+++ b/app/bin/bitmaps/l70.xbm
@@ -1,6 +1,78 @@
-#define l70_width 14
-#define l70_height 16
-static char l70_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x0F, 0xA0, 0x10, 0x90, 0x18,
- 0x90, 0x14, 0x88, 0x12, 0x88, 0x11, 0x84, 0x10, 0x84, 0x10, 0x04, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l70_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x1E,
+ 0xE0, 0x3F,
+ 0x60, 0x33,
+ 0x70, 0x33,
+ 0x30, 0x33,
+ 0x38, 0x33,
+ 0x38, 0x33,
+ 0x18, 0x3F,
+ 0x18, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l70_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xFC, 0xE7, 0x03,
+ 0x80, 0x77, 0x07,
+ 0x80, 0x33, 0x07,
+ 0xC0, 0x39, 0x06,
+ 0xC0, 0x39, 0x06,
+ 0xE0, 0x38, 0x0E,
+ 0xE0, 0x38, 0x0E,
+ 0xE0, 0x38, 0x0E,
+ 0x70, 0x38, 0x0E,
+ 0x70, 0x38, 0x0E,
+ 0x70, 0x38, 0x06,
+ 0x70, 0x38, 0x06,
+ 0x70, 0x30, 0x07,
+ 0x38, 0x70, 0x07,
+ 0x38, 0xE0, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l70_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xFE, 0x1F, 0x7E, 0x00,
+ 0xFE, 0x1F, 0xFF, 0x00,
+ 0x00, 0x1E, 0xEF, 0x01,
+ 0x00, 0x8F, 0xC7, 0x01,
+ 0x00, 0x8F, 0xC3, 0x03,
+ 0x80, 0x87, 0xC3, 0x03,
+ 0x80, 0xC7, 0x83, 0x03,
+ 0xC0, 0xC3, 0x83, 0x03,
+ 0xC0, 0xC3, 0x83, 0x03,
+ 0xC0, 0xC1, 0x83, 0x03,
+ 0xE0, 0xC1, 0x83, 0x03,
+ 0xE0, 0xC1, 0x83, 0x03,
+ 0xE0, 0xC0, 0x83, 0x03,
+ 0xF0, 0xC0, 0x83, 0x03,
+ 0xF0, 0x80, 0xC3, 0x03,
+ 0xF0, 0x80, 0xC3, 0x03,
+ 0xF0, 0x80, 0xC7, 0x01,
+ 0x70, 0x00, 0xEF, 0x01,
+ 0x70, 0x00, 0xFF, 0x00,
+ 0x70, 0x00, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l71.xbm b/app/bin/bitmaps/l71.xbm
index 12223f5..eeb2d63 100644
--- a/app/bin/bitmaps/l71.xbm
+++ b/app/bin/bitmaps/l71.xbm
@@ -1,6 +1,78 @@
-#define l71_width 14
-#define l71_height 16
-static char l71_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x04, 0x20, 0x06, 0x10, 0x05,
- 0x90, 0x04, 0x08, 0x04, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l71_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x1C,
+ 0xE0, 0x1E,
+ 0x60, 0x1F,
+ 0x70, 0x1C,
+ 0x30, 0x1C,
+ 0x38, 0x1C,
+ 0x38, 0x1C,
+ 0x18, 0x1C,
+ 0x18, 0x1C,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l71_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xFC, 0x87, 0x03,
+ 0x80, 0xC7, 0x03,
+ 0x80, 0xC3, 0x03,
+ 0xC0, 0xE1, 0x03,
+ 0xC0, 0xB1, 0x03,
+ 0xE0, 0x80, 0x03,
+ 0xE0, 0x80, 0x03,
+ 0xE0, 0x80, 0x03,
+ 0x70, 0x80, 0x03,
+ 0x70, 0x80, 0x03,
+ 0x70, 0x80, 0x03,
+ 0x70, 0x80, 0x03,
+ 0x70, 0x80, 0x03,
+ 0x38, 0x80, 0x03,
+ 0x38, 0x80, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l71_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xFE, 0x1F, 0x70, 0x00,
+ 0xFE, 0x1F, 0x70, 0x00,
+ 0x00, 0x1E, 0x78, 0x00,
+ 0x00, 0x0F, 0x7C, 0x00,
+ 0x00, 0x0F, 0x7E, 0x00,
+ 0x80, 0x07, 0x7F, 0x00,
+ 0x80, 0x07, 0x73, 0x00,
+ 0xC0, 0x03, 0x70, 0x00,
+ 0xC0, 0x03, 0x70, 0x00,
+ 0xC0, 0x01, 0x70, 0x00,
+ 0xE0, 0x01, 0x70, 0x00,
+ 0xE0, 0x01, 0x70, 0x00,
+ 0xE0, 0x00, 0x70, 0x00,
+ 0xF0, 0x00, 0x70, 0x00,
+ 0xF0, 0x00, 0x70, 0x00,
+ 0xF0, 0x00, 0x70, 0x00,
+ 0xF0, 0x00, 0x70, 0x00,
+ 0x70, 0x00, 0x70, 0x00,
+ 0x70, 0x00, 0x70, 0x00,
+ 0x70, 0x00, 0x70, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l72.xbm b/app/bin/bitmaps/l72.xbm
index 164f621..9ff206f 100644
--- a/app/bin/bitmaps/l72.xbm
+++ b/app/bin/bitmaps/l72.xbm
@@ -1,6 +1,78 @@
-#define l72_width 14
-#define l72_height 16
-static char l72_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x0F, 0xA0, 0x10, 0x90, 0x10,
- 0x10, 0x08, 0x08, 0x04, 0x08, 0x02, 0x04, 0x01, 0x84, 0x00, 0x84, 0x1F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l72_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x1E,
+ 0xE0, 0x3F,
+ 0x60, 0x33,
+ 0x70, 0x30,
+ 0x30, 0x38,
+ 0x38, 0x1C,
+ 0x38, 0x0E,
+ 0x18, 0x07,
+ 0x18, 0x3F,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l72_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xFC, 0xE7, 0x03,
+ 0x80, 0x77, 0x07,
+ 0x80, 0x3B, 0x06,
+ 0xC0, 0x39, 0x0E,
+ 0xC0, 0x01, 0x0E,
+ 0xE0, 0x00, 0x0E,
+ 0xE0, 0x00, 0x07,
+ 0xE0, 0x80, 0x07,
+ 0x70, 0x80, 0x03,
+ 0x70, 0xC0, 0x01,
+ 0x70, 0xE0, 0x01,
+ 0x70, 0xF0, 0x00,
+ 0x70, 0x70, 0x00,
+ 0x38, 0x78, 0x00,
+ 0x38, 0xF8, 0x0F,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l72_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xFE, 0x1F, 0xFE, 0x00,
+ 0xFE, 0x1F, 0xFF, 0x01,
+ 0x00, 0x9E, 0xE7, 0x03,
+ 0x00, 0x8F, 0xC3, 0x03,
+ 0x00, 0xCF, 0x83, 0x03,
+ 0x80, 0xC7, 0x83, 0x03,
+ 0x80, 0x07, 0x80, 0x03,
+ 0xC0, 0x03, 0xC0, 0x03,
+ 0xC0, 0x03, 0xC0, 0x03,
+ 0xC0, 0x01, 0xE0, 0x01,
+ 0xE0, 0x01, 0xF0, 0x01,
+ 0xE0, 0x01, 0xF8, 0x00,
+ 0xE0, 0x00, 0x78, 0x00,
+ 0xF0, 0x00, 0x3C, 0x00,
+ 0xF0, 0x00, 0x1E, 0x00,
+ 0xF0, 0x00, 0x0F, 0x00,
+ 0xF0, 0x80, 0x07, 0x00,
+ 0x70, 0x80, 0x07, 0x00,
+ 0x70, 0xC0, 0xFF, 0x03,
+ 0x70, 0xC0, 0xFF, 0x03,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l73.xbm b/app/bin/bitmaps/l73.xbm
index 0031594..64dfbb4 100644
--- a/app/bin/bitmaps/l73.xbm
+++ b/app/bin/bitmaps/l73.xbm
@@ -1,6 +1,78 @@
-#define l73_width 14
-#define l73_height 16
-static char l73_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x0F, 0xA0, 0x10, 0x10, 0x10,
- 0x10, 0x10, 0x08, 0x0E, 0x08, 0x10, 0x04, 0x10, 0x84, 0x10, 0x04, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l73_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x1E,
+ 0xE0, 0x3B,
+ 0x60, 0x38,
+ 0x70, 0x18,
+ 0x30, 0x3C,
+ 0x38, 0x38,
+ 0x38, 0x33,
+ 0x18, 0x3F,
+ 0x18, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l73_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xFC, 0xE7, 0x03,
+ 0x80, 0x77, 0x07,
+ 0x80, 0x3B, 0x07,
+ 0xC0, 0x01, 0x07,
+ 0xC0, 0x01, 0x07,
+ 0xE0, 0x00, 0x07,
+ 0xE0, 0x80, 0x03,
+ 0xE0, 0xC0, 0x07,
+ 0x70, 0x00, 0x07,
+ 0x70, 0x00, 0x0E,
+ 0x70, 0x00, 0x0E,
+ 0x70, 0x38, 0x0E,
+ 0x70, 0x38, 0x07,
+ 0x38, 0x70, 0x07,
+ 0x38, 0xE0, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l73_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xFE, 0x1F, 0x7E, 0x00,
+ 0xFE, 0x1F, 0xFF, 0x00,
+ 0x00, 0x9E, 0xE7, 0x01,
+ 0x00, 0x8F, 0xC7, 0x01,
+ 0x00, 0x8F, 0xC3, 0x03,
+ 0x80, 0x07, 0xC0, 0x03,
+ 0x80, 0x07, 0xC0, 0x01,
+ 0xC0, 0x03, 0xE0, 0x01,
+ 0xC0, 0x03, 0xFC, 0x00,
+ 0xC0, 0x01, 0xFC, 0x00,
+ 0xE0, 0x01, 0xE0, 0x01,
+ 0xE0, 0x01, 0xC0, 0x03,
+ 0xE0, 0x00, 0x80, 0x03,
+ 0xF0, 0x00, 0x80, 0x03,
+ 0xF0, 0xC0, 0x83, 0x03,
+ 0xF0, 0xC0, 0x83, 0x03,
+ 0xF0, 0x80, 0xC7, 0x03,
+ 0x70, 0x80, 0xE7, 0x01,
+ 0x70, 0x00, 0xFF, 0x01,
+ 0x70, 0x00, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l74.xbm b/app/bin/bitmaps/l74.xbm
index be95f2c..c41ea54 100644
--- a/app/bin/bitmaps/l74.xbm
+++ b/app/bin/bitmaps/l74.xbm
@@ -1,6 +1,78 @@
-#define l74_width 14
-#define l74_height 16
-static char l74_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x08, 0x20, 0x0C, 0x10, 0x0A,
- 0x10, 0x09, 0x88, 0x08, 0x88, 0x1F, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l74_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x1C,
+ 0xE0, 0x1C,
+ 0x60, 0x1E,
+ 0x70, 0x1E,
+ 0x30, 0x1F,
+ 0x38, 0x1B,
+ 0xB8, 0x3F,
+ 0x18, 0x18,
+ 0x18, 0x18,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l74_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xFC, 0x87, 0x03,
+ 0x80, 0x87, 0x03,
+ 0x80, 0xC3, 0x03,
+ 0xC0, 0xC1, 0x03,
+ 0xC0, 0xE1, 0x03,
+ 0xE0, 0xE0, 0x03,
+ 0xE0, 0xF0, 0x03,
+ 0xE0, 0xB0, 0x03,
+ 0x70, 0xB8, 0x03,
+ 0x70, 0x98, 0x03,
+ 0x70, 0xFC, 0x0F,
+ 0x70, 0x80, 0x03,
+ 0x70, 0x80, 0x03,
+ 0x38, 0x80, 0x03,
+ 0x38, 0x80, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l74_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xFE, 0x1F, 0xF0, 0x00,
+ 0xFE, 0x1F, 0xF0, 0x00,
+ 0x00, 0x1E, 0xF8, 0x00,
+ 0x00, 0x0F, 0xF8, 0x00,
+ 0x00, 0x0F, 0xFC, 0x00,
+ 0x80, 0x07, 0xFC, 0x00,
+ 0x80, 0x07, 0xFE, 0x00,
+ 0xC0, 0x03, 0xEE, 0x00,
+ 0xC0, 0x03, 0xEF, 0x00,
+ 0xC0, 0x81, 0xE7, 0x00,
+ 0xE0, 0x81, 0xE7, 0x00,
+ 0xE0, 0xC1, 0xE3, 0x00,
+ 0xE0, 0xC0, 0xE1, 0x00,
+ 0xF0, 0xE0, 0xFF, 0x03,
+ 0xF0, 0xE0, 0xFF, 0x03,
+ 0xF0, 0x00, 0xE0, 0x00,
+ 0xF0, 0x00, 0xE0, 0x00,
+ 0x70, 0x00, 0xE0, 0x00,
+ 0x70, 0x00, 0xE0, 0x00,
+ 0x70, 0x00, 0xE0, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l75.xbm b/app/bin/bitmaps/l75.xbm
index 3524c94..58a6c52 100644
--- a/app/bin/bitmaps/l75.xbm
+++ b/app/bin/bitmaps/l75.xbm
@@ -1,6 +1,78 @@
-#define l75_width 14
-#define l75_height 16
-static char l75_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x1F, 0xA0, 0x00, 0x90, 0x00,
- 0x90, 0x0F, 0x08, 0x10, 0x08, 0x10, 0x04, 0x10, 0x84, 0x10, 0x04, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l75_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x3F,
+ 0xE0, 0x07,
+ 0x60, 0x07,
+ 0x70, 0x1F,
+ 0x30, 0x3B,
+ 0x38, 0x30,
+ 0x38, 0x33,
+ 0x18, 0x3F,
+ 0x18, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l75_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xFC, 0xF7, 0x07,
+ 0x80, 0x77, 0x00,
+ 0x80, 0x73, 0x00,
+ 0xC0, 0x31, 0x00,
+ 0xC0, 0x31, 0x00,
+ 0xE0, 0xF8, 0x03,
+ 0xE0, 0x78, 0x07,
+ 0xE0, 0x38, 0x07,
+ 0x70, 0x00, 0x0E,
+ 0x70, 0x00, 0x0E,
+ 0x70, 0x00, 0x0E,
+ 0x70, 0x38, 0x06,
+ 0x70, 0x38, 0x07,
+ 0x38, 0x70, 0x07,
+ 0x38, 0xE0, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l75_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xFE, 0x1F, 0xFF, 0x03,
+ 0xFE, 0x1F, 0xFF, 0x03,
+ 0x00, 0x1E, 0x07, 0x00,
+ 0x00, 0x0F, 0x07, 0x00,
+ 0x00, 0x8F, 0x07, 0x00,
+ 0x80, 0x87, 0x07, 0x00,
+ 0x80, 0x87, 0x7F, 0x00,
+ 0xC0, 0x83, 0xFF, 0x01,
+ 0xC0, 0x83, 0xE7, 0x01,
+ 0xC0, 0x81, 0xC3, 0x03,
+ 0xE0, 0x01, 0xC0, 0x03,
+ 0xE0, 0x01, 0x80, 0x03,
+ 0xE0, 0x00, 0x80, 0x03,
+ 0xF0, 0x00, 0x80, 0x03,
+ 0xF0, 0xC0, 0x83, 0x03,
+ 0xF0, 0xC0, 0xC3, 0x03,
+ 0xF0, 0x80, 0xC3, 0x03,
+ 0x70, 0x80, 0xE7, 0x01,
+ 0x70, 0x00, 0xFF, 0x00,
+ 0x70, 0x00, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l76.xbm b/app/bin/bitmaps/l76.xbm
index 83e8f59..9b385dc 100644
--- a/app/bin/bitmaps/l76.xbm
+++ b/app/bin/bitmaps/l76.xbm
@@ -1,6 +1,78 @@
-#define l76_width 14
-#define l76_height 16
-static char l76_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x0F, 0xA0, 0x00, 0x90, 0x00,
- 0x90, 0x0F, 0x88, 0x10, 0x88, 0x10, 0x84, 0x10, 0x84, 0x10, 0x04, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l76_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x1E,
+ 0xE0, 0x3F,
+ 0x60, 0x03,
+ 0x70, 0x1F,
+ 0x30, 0x3F,
+ 0x38, 0x33,
+ 0x38, 0x33,
+ 0x18, 0x3F,
+ 0x18, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l76_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xFC, 0xE7, 0x03,
+ 0x80, 0x77, 0x07,
+ 0x80, 0x33, 0x07,
+ 0xC0, 0x39, 0x00,
+ 0xC0, 0x39, 0x00,
+ 0xE0, 0x38, 0x00,
+ 0xE0, 0xF8, 0x03,
+ 0xE0, 0x78, 0x07,
+ 0x70, 0x38, 0x07,
+ 0x70, 0x38, 0x0E,
+ 0x70, 0x38, 0x0E,
+ 0x70, 0x38, 0x0E,
+ 0x70, 0x30, 0x07,
+ 0x38, 0x70, 0x07,
+ 0x38, 0xE0, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l76_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xFE, 0x1F, 0xFC, 0x00,
+ 0xFE, 0x1F, 0xFF, 0x01,
+ 0x00, 0x1E, 0xEF, 0x01,
+ 0x00, 0x8F, 0xC7, 0x03,
+ 0x00, 0x8F, 0xC3, 0x03,
+ 0x80, 0x87, 0x03, 0x00,
+ 0x80, 0xC7, 0x03, 0x00,
+ 0xC0, 0xC3, 0x7F, 0x00,
+ 0xC0, 0xC3, 0xFF, 0x01,
+ 0xC0, 0xC1, 0xEF, 0x01,
+ 0xE0, 0xC1, 0xC7, 0x03,
+ 0xE0, 0xC1, 0x83, 0x03,
+ 0xE0, 0xC0, 0x83, 0x03,
+ 0xF0, 0xC0, 0x83, 0x03,
+ 0xF0, 0xC0, 0x83, 0x03,
+ 0xF0, 0x80, 0x83, 0x03,
+ 0xF0, 0x80, 0xC7, 0x03,
+ 0x70, 0x80, 0xEF, 0x01,
+ 0x70, 0x00, 0xFF, 0x01,
+ 0x70, 0x00, 0x7C, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l77.xbm b/app/bin/bitmaps/l77.xbm
index 4e48354..c406f2d 100644
--- a/app/bin/bitmaps/l77.xbm
+++ b/app/bin/bitmaps/l77.xbm
@@ -1,6 +1,78 @@
-#define l77_width 14
-#define l77_height 16
-static char l77_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x1F, 0x20, 0x10, 0x10, 0x08,
- 0x10, 0x08, 0x08, 0x04, 0x08, 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l77_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x3F,
+ 0xE0, 0x38,
+ 0x60, 0x18,
+ 0x70, 0x1C,
+ 0x30, 0x0C,
+ 0x38, 0x0E,
+ 0x38, 0x0E,
+ 0x18, 0x06,
+ 0x18, 0x06,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l77_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xFC, 0xFF, 0x0F,
+ 0x80, 0x07, 0x0F,
+ 0x80, 0x03, 0x07,
+ 0xC0, 0x81, 0x03,
+ 0xC0, 0x81, 0x03,
+ 0xE0, 0xC0, 0x01,
+ 0xE0, 0xC0, 0x01,
+ 0xE0, 0xC0, 0x01,
+ 0x70, 0xE0, 0x00,
+ 0x70, 0xE0, 0x00,
+ 0x70, 0xE0, 0x00,
+ 0x70, 0xE0, 0x00,
+ 0x70, 0xE0, 0x00,
+ 0x38, 0x70, 0x00,
+ 0x38, 0x70, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l77_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xFE, 0xDF, 0xFF, 0x03,
+ 0xFE, 0xDF, 0xFF, 0x03,
+ 0x00, 0x1E, 0xC0, 0x03,
+ 0x00, 0x0F, 0xE0, 0x01,
+ 0x00, 0x0F, 0xE0, 0x01,
+ 0x80, 0x07, 0xF0, 0x00,
+ 0x80, 0x07, 0xF0, 0x00,
+ 0xC0, 0x03, 0x78, 0x00,
+ 0xC0, 0x03, 0x78, 0x00,
+ 0xC0, 0x01, 0x38, 0x00,
+ 0xE0, 0x01, 0x3C, 0x00,
+ 0xE0, 0x01, 0x3C, 0x00,
+ 0xE0, 0x00, 0x1C, 0x00,
+ 0xF0, 0x00, 0x1E, 0x00,
+ 0xF0, 0x00, 0x1E, 0x00,
+ 0xF0, 0x00, 0x1E, 0x00,
+ 0xF0, 0x00, 0x1E, 0x00,
+ 0x70, 0x00, 0x0E, 0x00,
+ 0x70, 0x00, 0x0E, 0x00,
+ 0x70, 0x00, 0x0E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l78.xbm b/app/bin/bitmaps/l78.xbm
index 731d05d..0674918 100644
--- a/app/bin/bitmaps/l78.xbm
+++ b/app/bin/bitmaps/l78.xbm
@@ -1,6 +1,78 @@
-#define l78_width 14
-#define l78_height 16
-static char l78_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x0F, 0xA0, 0x10, 0x90, 0x10,
- 0x90, 0x10, 0x08, 0x0F, 0x88, 0x10, 0x84, 0x10, 0x84, 0x10, 0x04, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l78_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x1E,
+ 0xE0, 0x3F,
+ 0x60, 0x3B,
+ 0x70, 0x3F,
+ 0x30, 0x1E,
+ 0x38, 0x3F,
+ 0x38, 0x33,
+ 0x18, 0x3F,
+ 0x18, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l78_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xFC, 0xE7, 0x03,
+ 0x80, 0x77, 0x07,
+ 0x80, 0x33, 0x07,
+ 0xC0, 0x39, 0x07,
+ 0xC0, 0x39, 0x07,
+ 0xE0, 0x38, 0x07,
+ 0xE0, 0x70, 0x07,
+ 0xE0, 0xE0, 0x03,
+ 0x70, 0x70, 0x07,
+ 0x70, 0x38, 0x06,
+ 0x70, 0x38, 0x0E,
+ 0x70, 0x38, 0x0E,
+ 0x70, 0x38, 0x06,
+ 0x38, 0x70, 0x07,
+ 0x38, 0xE0, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l78_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xFE, 0x1F, 0x7E, 0x00,
+ 0xFE, 0x1F, 0xFF, 0x00,
+ 0x00, 0x9E, 0xEF, 0x01,
+ 0x00, 0x8F, 0xC7, 0x01,
+ 0x00, 0x8F, 0xC3, 0x03,
+ 0x80, 0x87, 0xC3, 0x03,
+ 0x80, 0x87, 0xC7, 0x01,
+ 0xC0, 0x03, 0xEF, 0x01,
+ 0xC0, 0x03, 0xFE, 0x00,
+ 0xC0, 0x01, 0xFF, 0x00,
+ 0xE0, 0x81, 0xE7, 0x01,
+ 0xE0, 0x81, 0xC3, 0x03,
+ 0xE0, 0xC0, 0x83, 0x03,
+ 0xF0, 0xC0, 0x83, 0x03,
+ 0xF0, 0xC0, 0x83, 0x03,
+ 0xF0, 0xC0, 0x83, 0x03,
+ 0xF0, 0x80, 0xC3, 0x03,
+ 0x70, 0x80, 0xE7, 0x01,
+ 0x70, 0x00, 0xFF, 0x01,
+ 0x70, 0x00, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l79.xbm b/app/bin/bitmaps/l79.xbm
index 4e5259a..c1d909b 100644
--- a/app/bin/bitmaps/l79.xbm
+++ b/app/bin/bitmaps/l79.xbm
@@ -1,6 +1,78 @@
-#define l79_width 14
-#define l79_height 16
-static char l79_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x0F, 0xA0, 0x10, 0x90, 0x10,
- 0x90, 0x10, 0x08, 0x1F, 0x08, 0x10, 0x04, 0x10, 0x04, 0x08, 0x04, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l79_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xFC, 0x1E,
+ 0xE0, 0x3F,
+ 0x60, 0x33,
+ 0x70, 0x33,
+ 0x30, 0x3F,
+ 0x38, 0x3E,
+ 0x38, 0x30,
+ 0x18, 0x3B,
+ 0x18, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l79_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xFC, 0xE7, 0x01,
+ 0x80, 0x77, 0x07,
+ 0x80, 0x3B, 0x07,
+ 0xC0, 0x39, 0x06,
+ 0xC0, 0x39, 0x0E,
+ 0xE0, 0x38, 0x0E,
+ 0xE0, 0x38, 0x0F,
+ 0xE0, 0x70, 0x0F,
+ 0x70, 0xE0, 0x0F,
+ 0x70, 0x00, 0x0E,
+ 0x70, 0x00, 0x06,
+ 0x70, 0x00, 0x06,
+ 0x70, 0x38, 0x07,
+ 0x38, 0x70, 0x03,
+ 0x38, 0xF0, 0x01,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l79_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xFE, 0x1F, 0x7E, 0x00,
+ 0xFE, 0x1F, 0xFF, 0x00,
+ 0x00, 0x9E, 0xEF, 0x01,
+ 0x00, 0x8F, 0xC7, 0x01,
+ 0x00, 0xCF, 0x83, 0x03,
+ 0x80, 0xC7, 0x83, 0x03,
+ 0x80, 0xC7, 0x83, 0x03,
+ 0xC0, 0xC3, 0x83, 0x03,
+ 0xC0, 0xC3, 0x83, 0x03,
+ 0xC0, 0x81, 0xC3, 0x03,
+ 0xE0, 0x81, 0xE7, 0x03,
+ 0xE0, 0x01, 0xFF, 0x03,
+ 0xE0, 0x00, 0xFE, 0x03,
+ 0xF0, 0x00, 0x80, 0x03,
+ 0xF0, 0x00, 0x80, 0x03,
+ 0xF0, 0x80, 0xC3, 0x03,
+ 0xF0, 0x80, 0xC3, 0x01,
+ 0x70, 0x80, 0xE7, 0x01,
+ 0x70, 0x00, 0xFF, 0x00,
+ 0x70, 0x00, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l8.xbm b/app/bin/bitmaps/l8.xbm
index cf07c8f..1054bfd 100644
--- a/app/bin/bitmaps/l8.xbm
+++ b/app/bin/bitmaps/l8.xbm
@@ -1,6 +1,78 @@
-#define l8_width 14
-#define l8_height 16
-static char l8_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x08, 0x01, 0x08, 0x01,
- 0x08, 0x01, 0xF0, 0x00, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0xF0, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l8_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xC0, 0x03,
+ 0xE0, 0x07,
+ 0x60, 0x07,
+ 0xE0, 0x07,
+ 0xC0, 0x03,
+ 0xE0, 0x07,
+ 0x60, 0x06,
+ 0xE0, 0x07,
+ 0xC0, 0x03,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l8_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x1F, 0x00,
+ 0x80, 0x3B, 0x00,
+ 0x80, 0x39, 0x00,
+ 0xC0, 0x39, 0x00,
+ 0xC0, 0x39, 0x00,
+ 0xC0, 0x39, 0x00,
+ 0x80, 0x3B, 0x00,
+ 0x00, 0x1F, 0x00,
+ 0x80, 0x3B, 0x00,
+ 0xC0, 0x31, 0x00,
+ 0xC0, 0x71, 0x00,
+ 0xC0, 0x71, 0x00,
+ 0xC0, 0x31, 0x00,
+ 0x80, 0x3B, 0x00,
+ 0x00, 0x1F, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l8_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xFC, 0x00, 0x00,
+ 0x00, 0xFE, 0x01, 0x00,
+ 0x00, 0xDF, 0x03, 0x00,
+ 0x00, 0x8F, 0x03, 0x00,
+ 0x00, 0x87, 0x07, 0x00,
+ 0x00, 0x87, 0x07, 0x00,
+ 0x00, 0x8F, 0x03, 0x00,
+ 0x00, 0xDE, 0x03, 0x00,
+ 0x00, 0xFC, 0x01, 0x00,
+ 0x00, 0xFE, 0x01, 0x00,
+ 0x00, 0xCF, 0x03, 0x00,
+ 0x00, 0x87, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x00, 0x87, 0x07, 0x00,
+ 0x00, 0xCF, 0x03, 0x00,
+ 0x00, 0xFE, 0x03, 0x00,
+ 0x00, 0xFC, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l80.xbm b/app/bin/bitmaps/l80.xbm
index 116c68f..8dc12d0 100644
--- a/app/bin/bitmaps/l80.xbm
+++ b/app/bin/bitmaps/l80.xbm
@@ -1,6 +1,78 @@
-#define l80_width 14
-#define l80_height 16
-static char l80_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0xA1, 0x18,
- 0xA1, 0x14, 0x9E, 0x12, 0xA1, 0x11, 0xA1, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l80_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0xEC, 0x33,
+ 0xFC, 0x33,
+ 0x78, 0x33,
+ 0xFC, 0x33,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l80_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x98, 0x33, 0x07,
+ 0x9C, 0x3B, 0x06,
+ 0x9C, 0x3B, 0x06,
+ 0x9C, 0x3B, 0x0E,
+ 0xB8, 0x3B, 0x0E,
+ 0xF0, 0x39, 0x0E,
+ 0xB8, 0x3B, 0x0E,
+ 0x1C, 0x3B, 0x0E,
+ 0x1C, 0x3F, 0x06,
+ 0x1C, 0x3F, 0x06,
+ 0x1C, 0x33, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l80_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0x7C, 0x0F, 0xEF, 0x01,
+ 0x3C, 0x8E, 0xC7, 0x01,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x3C, 0xCE, 0x83, 0x03,
+ 0x78, 0xCF, 0x83, 0x03,
+ 0xF0, 0xC7, 0x83, 0x03,
+ 0xF8, 0xC7, 0x83, 0x03,
+ 0x3C, 0xCF, 0x83, 0x03,
+ 0x1C, 0xDE, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1C, 0x9E, 0xC7, 0x01,
+ 0x3C, 0x0F, 0xEF, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l81.xbm b/app/bin/bitmaps/l81.xbm
index 747787e..118901b 100644
--- a/app/bin/bitmaps/l81.xbm
+++ b/app/bin/bitmaps/l81.xbm
@@ -1,6 +1,78 @@
-#define l81_width 14
-#define l81_height 16
-static char l81_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x04, 0x21, 0x06, 0x21, 0x05,
- 0xA1, 0x04, 0x1E, 0x04, 0x21, 0x04, 0x21, 0x04, 0x21, 0x04, 0x1E, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l81_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1C,
+ 0xFC, 0x1E,
+ 0xEC, 0x1F,
+ 0xFC, 0x1C,
+ 0x78, 0x1C,
+ 0xFC, 0x1C,
+ 0xCC, 0x1C,
+ 0xFC, 0x1C,
+ 0x78, 0x1C,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l81_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0x81, 0x03,
+ 0xB8, 0xC3, 0x03,
+ 0x98, 0xC3, 0x03,
+ 0x9C, 0xE3, 0x03,
+ 0x9C, 0xB3, 0x03,
+ 0x9C, 0x83, 0x03,
+ 0xB8, 0x83, 0x03,
+ 0xF0, 0x81, 0x03,
+ 0xB8, 0x83, 0x03,
+ 0x1C, 0x83, 0x03,
+ 0x1C, 0x87, 0x03,
+ 0x1C, 0x87, 0x03,
+ 0x1C, 0x83, 0x03,
+ 0xB8, 0x83, 0x03,
+ 0xF0, 0x81, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l81_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0x70, 0x00,
+ 0xF8, 0x07, 0x70, 0x00,
+ 0x7C, 0x0F, 0x78, 0x00,
+ 0x3C, 0x0E, 0x7C, 0x00,
+ 0x1C, 0x1E, 0x7E, 0x00,
+ 0x1C, 0x1E, 0x7F, 0x00,
+ 0x3C, 0x0E, 0x73, 0x00,
+ 0x78, 0x0F, 0x70, 0x00,
+ 0xF0, 0x07, 0x70, 0x00,
+ 0xF8, 0x07, 0x70, 0x00,
+ 0x3C, 0x0F, 0x70, 0x00,
+ 0x1C, 0x1E, 0x70, 0x00,
+ 0x1E, 0x1C, 0x70, 0x00,
+ 0x1E, 0x1C, 0x70, 0x00,
+ 0x1E, 0x1C, 0x70, 0x00,
+ 0x1E, 0x1C, 0x70, 0x00,
+ 0x1C, 0x1E, 0x70, 0x00,
+ 0x3C, 0x0F, 0x70, 0x00,
+ 0xF8, 0x0F, 0x70, 0x00,
+ 0xF0, 0x03, 0x70, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l82.xbm b/app/bin/bitmaps/l82.xbm
index e8758f9..74edb5d 100644
--- a/app/bin/bitmaps/l82.xbm
+++ b/app/bin/bitmaps/l82.xbm
@@ -1,6 +1,78 @@
-#define l82_width 14
-#define l82_height 16
-static char l82_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0xA1, 0x10,
- 0x21, 0x08, 0x1E, 0x04, 0x21, 0x02, 0x21, 0x01, 0xA1, 0x00, 0x9E, 0x1F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l82_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0xEC, 0x33,
+ 0xFC, 0x30,
+ 0x78, 0x38,
+ 0xFC, 0x1C,
+ 0xCC, 0x0E,
+ 0xFC, 0x07,
+ 0x78, 0x3F,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l82_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x98, 0x3B, 0x06,
+ 0x9C, 0x3B, 0x0E,
+ 0x9C, 0x03, 0x0E,
+ 0x9C, 0x03, 0x0E,
+ 0xB8, 0x03, 0x07,
+ 0xF0, 0x81, 0x07,
+ 0xB8, 0x83, 0x03,
+ 0x1C, 0xC3, 0x01,
+ 0x1C, 0xE7, 0x01,
+ 0x1C, 0xF7, 0x00,
+ 0x1C, 0x73, 0x00,
+ 0xB8, 0x7B, 0x00,
+ 0xF0, 0xF9, 0x0F,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l82_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0xFE, 0x00,
+ 0xF8, 0x07, 0xFF, 0x01,
+ 0x7C, 0x8F, 0xE7, 0x03,
+ 0x3C, 0x8E, 0xC3, 0x03,
+ 0x1C, 0xDE, 0x83, 0x03,
+ 0x1C, 0xDE, 0x83, 0x03,
+ 0x3C, 0x0E, 0x80, 0x03,
+ 0x78, 0x0F, 0xC0, 0x03,
+ 0xF0, 0x07, 0xC0, 0x03,
+ 0xF8, 0x07, 0xE0, 0x01,
+ 0x3C, 0x0F, 0xF0, 0x01,
+ 0x1C, 0x1E, 0xF8, 0x00,
+ 0x1E, 0x1C, 0x78, 0x00,
+ 0x1E, 0x1C, 0x3C, 0x00,
+ 0x1E, 0x1C, 0x1E, 0x00,
+ 0x1E, 0x1C, 0x0F, 0x00,
+ 0x1C, 0x9E, 0x07, 0x00,
+ 0x3C, 0x8F, 0x07, 0x00,
+ 0xF8, 0xCF, 0xFF, 0x03,
+ 0xF0, 0xC3, 0xFF, 0x03,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l83.xbm b/app/bin/bitmaps/l83.xbm
index 8ccbf89..3f7a1a0 100644
--- a/app/bin/bitmaps/l83.xbm
+++ b/app/bin/bitmaps/l83.xbm
@@ -1,6 +1,78 @@
-#define l83_width 14
-#define l83_height 16
-static char l83_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0x21, 0x10,
- 0x21, 0x10, 0x1E, 0x0E, 0x21, 0x10, 0x21, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l83_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3B,
+ 0xEC, 0x38,
+ 0xFC, 0x18,
+ 0x78, 0x3C,
+ 0xFC, 0x38,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l83_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x98, 0x3B, 0x07,
+ 0x9C, 0x03, 0x07,
+ 0x9C, 0x03, 0x07,
+ 0x9C, 0x03, 0x07,
+ 0xB8, 0x83, 0x03,
+ 0xF0, 0xC1, 0x07,
+ 0xB8, 0x03, 0x07,
+ 0x1C, 0x03, 0x0E,
+ 0x1C, 0x07, 0x0E,
+ 0x1C, 0x3F, 0x0E,
+ 0x1C, 0x3B, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l83_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0x7C, 0x8F, 0xE7, 0x01,
+ 0x3C, 0x8E, 0xC7, 0x01,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x1C, 0x1E, 0xC0, 0x03,
+ 0x3C, 0x0E, 0xC0, 0x01,
+ 0x78, 0x0F, 0xE0, 0x01,
+ 0xF0, 0x07, 0xFC, 0x00,
+ 0xF8, 0x07, 0xFC, 0x00,
+ 0x3C, 0x0F, 0xE0, 0x01,
+ 0x1C, 0x1E, 0xC0, 0x03,
+ 0x1E, 0x1C, 0x80, 0x03,
+ 0x1E, 0x1C, 0x80, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1C, 0x9E, 0xC7, 0x03,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x01,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l84.xbm b/app/bin/bitmaps/l84.xbm
index 5e0e1ba..0cce4be 100644
--- a/app/bin/bitmaps/l84.xbm
+++ b/app/bin/bitmaps/l84.xbm
@@ -1,6 +1,78 @@
-#define l84_width 14
-#define l84_height 16
-static char l84_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x08, 0x21, 0x0C, 0x21, 0x0A,
- 0x21, 0x09, 0x9E, 0x08, 0xA1, 0x1F, 0x21, 0x08, 0x21, 0x08, 0x1E, 0x08,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l84_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1C,
+ 0xFC, 0x1C,
+ 0xEC, 0x1E,
+ 0xFC, 0x1E,
+ 0x78, 0x1F,
+ 0xFC, 0x1B,
+ 0xCC, 0x3F,
+ 0xFC, 0x18,
+ 0x78, 0x18,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l84_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0x81, 0x03,
+ 0xB8, 0x83, 0x03,
+ 0x98, 0xC3, 0x03,
+ 0x9C, 0xC3, 0x03,
+ 0x9C, 0xE3, 0x03,
+ 0x9C, 0xE3, 0x03,
+ 0xB8, 0xF3, 0x03,
+ 0xF0, 0xB1, 0x03,
+ 0xB8, 0xBB, 0x03,
+ 0x1C, 0x9B, 0x03,
+ 0x1C, 0xFF, 0x0F,
+ 0x1C, 0x87, 0x03,
+ 0x1C, 0x83, 0x03,
+ 0xB8, 0x83, 0x03,
+ 0xF0, 0x81, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l84_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0xF0, 0x00,
+ 0xF8, 0x07, 0xF0, 0x00,
+ 0x7C, 0x0F, 0xF8, 0x00,
+ 0x3C, 0x0E, 0xF8, 0x00,
+ 0x1C, 0x1E, 0xFC, 0x00,
+ 0x1C, 0x1E, 0xFC, 0x00,
+ 0x3C, 0x0E, 0xFE, 0x00,
+ 0x78, 0x0F, 0xEE, 0x00,
+ 0xF0, 0x07, 0xEF, 0x00,
+ 0xF8, 0x87, 0xE7, 0x00,
+ 0x3C, 0x8F, 0xE7, 0x00,
+ 0x1C, 0xDE, 0xE3, 0x00,
+ 0x1E, 0xDC, 0xE1, 0x00,
+ 0x1E, 0xFC, 0xFF, 0x03,
+ 0x1E, 0xFC, 0xFF, 0x03,
+ 0x1E, 0x1C, 0xE0, 0x00,
+ 0x1C, 0x1E, 0xE0, 0x00,
+ 0x3C, 0x0F, 0xE0, 0x00,
+ 0xF8, 0x0F, 0xE0, 0x00,
+ 0xF0, 0x03, 0xE0, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l85.xbm b/app/bin/bitmaps/l85.xbm
index ee8ed02..420ea67 100644
--- a/app/bin/bitmaps/l85.xbm
+++ b/app/bin/bitmaps/l85.xbm
@@ -1,6 +1,78 @@
-#define l85_width 14
-#define l85_height 16
-static char l85_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x1F, 0xA1, 0x00, 0xA1, 0x00,
- 0xA1, 0x0F, 0x1E, 0x10, 0x21, 0x10, 0x21, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l85_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x3F,
+ 0xFC, 0x07,
+ 0xEC, 0x07,
+ 0xFC, 0x1F,
+ 0x78, 0x3B,
+ 0xFC, 0x30,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l85_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xF1, 0x07,
+ 0xB8, 0x73, 0x00,
+ 0x98, 0x73, 0x00,
+ 0x9C, 0x33, 0x00,
+ 0x9C, 0x33, 0x00,
+ 0x9C, 0xFB, 0x03,
+ 0xB8, 0x7B, 0x07,
+ 0xF0, 0x39, 0x07,
+ 0xB8, 0x03, 0x0E,
+ 0x1C, 0x03, 0x0E,
+ 0x1C, 0x07, 0x0E,
+ 0x1C, 0x3F, 0x06,
+ 0x1C, 0x3B, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l85_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0xFF, 0x03,
+ 0xF8, 0x07, 0xFF, 0x03,
+ 0x7C, 0x0F, 0x07, 0x00,
+ 0x3C, 0x0E, 0x07, 0x00,
+ 0x1C, 0x9E, 0x07, 0x00,
+ 0x1C, 0x9E, 0x07, 0x00,
+ 0x3C, 0x8E, 0x7F, 0x00,
+ 0x78, 0x8F, 0xFF, 0x01,
+ 0xF0, 0x87, 0xE7, 0x01,
+ 0xF8, 0x87, 0xC3, 0x03,
+ 0x3C, 0x0F, 0xC0, 0x03,
+ 0x1C, 0x1E, 0x80, 0x03,
+ 0x1E, 0x1C, 0x80, 0x03,
+ 0x1E, 0x1C, 0x80, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0xC3, 0x03,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l86.xbm b/app/bin/bitmaps/l86.xbm
index 49e4a8d..31ee6f1 100644
--- a/app/bin/bitmaps/l86.xbm
+++ b/app/bin/bitmaps/l86.xbm
@@ -1,6 +1,78 @@
-#define l86_width 14
-#define l86_height 16
-static char l86_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x00, 0xA1, 0x00,
- 0xA1, 0x0F, 0x9E, 0x10, 0xA1, 0x10, 0xA1, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l86_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0xEC, 0x03,
+ 0xFC, 0x1F,
+ 0x78, 0x3F,
+ 0xFC, 0x33,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l86_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x98, 0x33, 0x07,
+ 0x9C, 0x3B, 0x00,
+ 0x9C, 0x3B, 0x00,
+ 0x9C, 0x3B, 0x00,
+ 0xB8, 0xFB, 0x03,
+ 0xF0, 0x79, 0x07,
+ 0xB8, 0x3B, 0x07,
+ 0x1C, 0x3B, 0x0E,
+ 0x1C, 0x3F, 0x0E,
+ 0x1C, 0x3F, 0x0E,
+ 0x1C, 0x33, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l86_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0xFC, 0x00,
+ 0xF8, 0x07, 0xFF, 0x01,
+ 0x7C, 0x0F, 0xEF, 0x01,
+ 0x3C, 0x8E, 0xC7, 0x03,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x1C, 0x9E, 0x03, 0x00,
+ 0x3C, 0xCE, 0x03, 0x00,
+ 0x78, 0xCF, 0x7F, 0x00,
+ 0xF0, 0xC7, 0xFF, 0x01,
+ 0xF8, 0xC7, 0xEF, 0x01,
+ 0x3C, 0xCF, 0xC7, 0x03,
+ 0x1C, 0xDE, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0x9C, 0x83, 0x03,
+ 0x1C, 0x9E, 0xC7, 0x03,
+ 0x3C, 0x8F, 0xEF, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x01,
+ 0xF0, 0x03, 0x7C, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l87.xbm b/app/bin/bitmaps/l87.xbm
index bbba679..dcd52b5 100644
--- a/app/bin/bitmaps/l87.xbm
+++ b/app/bin/bitmaps/l87.xbm
@@ -1,6 +1,78 @@
-#define l87_width 14
-#define l87_height 16
-static char l87_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x1F, 0x21, 0x10, 0x21, 0x08,
- 0x21, 0x08, 0x1E, 0x04, 0x21, 0x04, 0x21, 0x02, 0x21, 0x02, 0x1E, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l87_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x3F,
+ 0xFC, 0x38,
+ 0xEC, 0x18,
+ 0xFC, 0x1C,
+ 0x78, 0x0C,
+ 0xFC, 0x0E,
+ 0xCC, 0x0E,
+ 0xFC, 0x06,
+ 0x78, 0x06,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l87_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xF9, 0x0F,
+ 0xB8, 0x03, 0x0F,
+ 0x98, 0x03, 0x07,
+ 0x9C, 0x83, 0x03,
+ 0x9C, 0x83, 0x03,
+ 0x9C, 0xC3, 0x01,
+ 0xB8, 0xC3, 0x01,
+ 0xF0, 0xC1, 0x01,
+ 0xB8, 0xE3, 0x00,
+ 0x1C, 0xE3, 0x00,
+ 0x1C, 0xE7, 0x00,
+ 0x1C, 0xE7, 0x00,
+ 0x1C, 0xE3, 0x00,
+ 0xB8, 0x73, 0x00,
+ 0xF0, 0x71, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l87_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0xC3, 0xFF, 0x03,
+ 0xF8, 0xC7, 0xFF, 0x03,
+ 0x7C, 0x0F, 0xC0, 0x03,
+ 0x3C, 0x0E, 0xE0, 0x01,
+ 0x1C, 0x1E, 0xE0, 0x01,
+ 0x1C, 0x1E, 0xF0, 0x00,
+ 0x3C, 0x0E, 0xF0, 0x00,
+ 0x78, 0x0F, 0x78, 0x00,
+ 0xF0, 0x07, 0x78, 0x00,
+ 0xF8, 0x07, 0x38, 0x00,
+ 0x3C, 0x0F, 0x3C, 0x00,
+ 0x1C, 0x1E, 0x3C, 0x00,
+ 0x1E, 0x1C, 0x1C, 0x00,
+ 0x1E, 0x1C, 0x1E, 0x00,
+ 0x1E, 0x1C, 0x1E, 0x00,
+ 0x1E, 0x1C, 0x1E, 0x00,
+ 0x1C, 0x1E, 0x1E, 0x00,
+ 0x3C, 0x0F, 0x0E, 0x00,
+ 0xF8, 0x0F, 0x0E, 0x00,
+ 0xF0, 0x03, 0x0E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l88.xbm b/app/bin/bitmaps/l88.xbm
index 17a4121..4d06b28 100644
--- a/app/bin/bitmaps/l88.xbm
+++ b/app/bin/bitmaps/l88.xbm
@@ -1,6 +1,78 @@
-#define l88_width 14
-#define l88_height 16
-static char l88_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0xA1, 0x10,
- 0xA1, 0x10, 0x1E, 0x0F, 0xA1, 0x10, 0xA1, 0x10, 0xA1, 0x10, 0x1E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l88_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0xEC, 0x3B,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l88_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x98, 0x33, 0x07,
+ 0x9C, 0x3B, 0x07,
+ 0x9C, 0x3B, 0x07,
+ 0x9C, 0x3B, 0x07,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x1C, 0x3B, 0x06,
+ 0x1C, 0x3F, 0x0E,
+ 0x1C, 0x3F, 0x0E,
+ 0x1C, 0x3B, 0x06,
+ 0xB8, 0x73, 0x07,
+ 0xF0, 0xE1, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l88_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0x7C, 0x8F, 0xEF, 0x01,
+ 0x3C, 0x8E, 0xC7, 0x01,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x3C, 0x8E, 0xC7, 0x01,
+ 0x78, 0x0F, 0xEF, 0x01,
+ 0xF0, 0x07, 0xFE, 0x00,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x01,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l89.xbm b/app/bin/bitmaps/l89.xbm
index 625081d..74b1448 100644
--- a/app/bin/bitmaps/l89.xbm
+++ b/app/bin/bitmaps/l89.xbm
@@ -1,6 +1,78 @@
-#define l89_width 14
-#define l89_height 16
-static char l89_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0xA1, 0x10,
- 0xA1, 0x10, 0x1E, 0x1F, 0x21, 0x10, 0x21, 0x10, 0x21, 0x08, 0x1E, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l89_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0xEC, 0x33,
+ 0xFC, 0x33,
+ 0x78, 0x3F,
+ 0xFC, 0x3E,
+ 0xCC, 0x30,
+ 0xFC, 0x3B,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l89_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE1, 0x01,
+ 0xB8, 0x73, 0x07,
+ 0x98, 0x3B, 0x07,
+ 0x9C, 0x3B, 0x06,
+ 0x9C, 0x3B, 0x0E,
+ 0x9C, 0x3B, 0x0E,
+ 0xB8, 0x3B, 0x0F,
+ 0xF0, 0x71, 0x0F,
+ 0xB8, 0xE3, 0x0F,
+ 0x1C, 0x03, 0x0E,
+ 0x1C, 0x07, 0x06,
+ 0x1C, 0x07, 0x06,
+ 0x1C, 0x3B, 0x07,
+ 0xB8, 0x73, 0x03,
+ 0xF0, 0xF1, 0x01,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l89_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0x7C, 0x8F, 0xEF, 0x01,
+ 0x3C, 0x8E, 0xC7, 0x01,
+ 0x1C, 0xDE, 0x83, 0x03,
+ 0x1C, 0xDE, 0x83, 0x03,
+ 0x3C, 0xCE, 0x83, 0x03,
+ 0x78, 0xCF, 0x83, 0x03,
+ 0xF0, 0xC7, 0x83, 0x03,
+ 0xF8, 0x87, 0xC3, 0x03,
+ 0x3C, 0x8F, 0xE7, 0x03,
+ 0x1C, 0x1E, 0xFF, 0x03,
+ 0x1E, 0x1C, 0xFE, 0x03,
+ 0x1E, 0x1C, 0x80, 0x03,
+ 0x1E, 0x1C, 0x80, 0x03,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1C, 0x9E, 0xC3, 0x01,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x0F, 0xFF, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l9.xbm b/app/bin/bitmaps/l9.xbm
index 14a43a4..281474c 100644
--- a/app/bin/bitmaps/l9.xbm
+++ b/app/bin/bitmaps/l9.xbm
@@ -1,6 +1,78 @@
-#define l9_width 14
-#define l9_height 16
-static char l9_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x08, 0x01, 0x08, 0x01,
- 0x08, 0x01, 0xF0, 0x01, 0x00, 0x01, 0x00, 0x01, 0x80, 0x00, 0x70, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l9_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0xC0, 0x03,
+ 0xE0, 0x07,
+ 0x60, 0x06,
+ 0x60, 0x06,
+ 0xE0, 0x07,
+ 0xC0, 0x07,
+ 0x00, 0x06,
+ 0x60, 0x07,
+ 0xC0, 0x03,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l9_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x0F, 0x00,
+ 0x80, 0x3B, 0x00,
+ 0xC0, 0x39, 0x00,
+ 0xC0, 0x31, 0x00,
+ 0xC0, 0x71, 0x00,
+ 0xC0, 0x71, 0x00,
+ 0xC0, 0x79, 0x00,
+ 0x80, 0x7B, 0x00,
+ 0x00, 0x7F, 0x00,
+ 0x00, 0x70, 0x00,
+ 0x00, 0x30, 0x00,
+ 0x00, 0x30, 0x00,
+ 0xC0, 0x39, 0x00,
+ 0x80, 0x1B, 0x00,
+ 0x80, 0x0F, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l9_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xFC, 0x00, 0x00,
+ 0x00, 0xFE, 0x01, 0x00,
+ 0x00, 0xDF, 0x03, 0x00,
+ 0x00, 0x8F, 0x03, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x80, 0x07, 0x07, 0x00,
+ 0x00, 0x87, 0x07, 0x00,
+ 0x00, 0xCF, 0x07, 0x00,
+ 0x00, 0xFE, 0x07, 0x00,
+ 0x00, 0xFC, 0x07, 0x00,
+ 0x00, 0x00, 0x07, 0x00,
+ 0x00, 0x00, 0x07, 0x00,
+ 0x00, 0x87, 0x07, 0x00,
+ 0x00, 0x87, 0x03, 0x00,
+ 0x00, 0xCF, 0x03, 0x00,
+ 0x00, 0xFE, 0x01, 0x00,
+ 0x00, 0xFC, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l90.xbm b/app/bin/bitmaps/l90.xbm
index f251dbe..d56c618 100644
--- a/app/bin/bitmaps/l90.xbm
+++ b/app/bin/bitmaps/l90.xbm
@@ -1,6 +1,78 @@
-#define l90_width 14
-#define l90_height 16
-static char l90_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0xA1, 0x18,
- 0xA1, 0x14, 0xBE, 0x12, 0xA0, 0x11, 0xA0, 0x10, 0x90, 0x10, 0x0E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l90_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0xCC, 0x33,
+ 0xCC, 0x33,
+ 0xFC, 0x33,
+ 0xF8, 0x33,
+ 0xC0, 0x33,
+ 0xEC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l90_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE0, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x9C, 0x33, 0x07,
+ 0x1C, 0x3B, 0x06,
+ 0x1C, 0x3F, 0x06,
+ 0x1C, 0x3F, 0x0E,
+ 0x9C, 0x3F, 0x0E,
+ 0xB8, 0x3F, 0x0E,
+ 0xF0, 0x3F, 0x0E,
+ 0x00, 0x3F, 0x0E,
+ 0x00, 0x3B, 0x06,
+ 0x00, 0x3B, 0x06,
+ 0x9C, 0x33, 0x07,
+ 0xB8, 0x71, 0x07,
+ 0xF8, 0xE0, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l90_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0x7C, 0x0F, 0xEF, 0x01,
+ 0x3C, 0x8E, 0xC7, 0x01,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1C, 0xDE, 0x83, 0x03,
+ 0x3C, 0xDF, 0x83, 0x03,
+ 0xF8, 0xDF, 0x83, 0x03,
+ 0xF0, 0xDF, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x00, 0x9C, 0xC3, 0x03,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x1C, 0x8E, 0xC7, 0x01,
+ 0x3C, 0x0F, 0xEF, 0x01,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l91.xbm b/app/bin/bitmaps/l91.xbm
index 4df09a2..cb63233 100644
--- a/app/bin/bitmaps/l91.xbm
+++ b/app/bin/bitmaps/l91.xbm
@@ -1,6 +1,78 @@
-#define l91_width 14
-#define l91_height 16
-static char l91_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x04, 0x21, 0x06, 0x21, 0x05,
- 0xA1, 0x04, 0x3E, 0x04, 0x20, 0x04, 0x20, 0x04, 0x10, 0x04, 0x0E, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l91_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1C,
+ 0xFC, 0x1E,
+ 0xCC, 0x1F,
+ 0xCC, 0x1C,
+ 0xFC, 0x1C,
+ 0xF8, 0x1C,
+ 0xC0, 0x1C,
+ 0xEC, 0x1C,
+ 0x78, 0x1C,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l91_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0x80, 0x03,
+ 0xB8, 0xC3, 0x03,
+ 0x9C, 0xC3, 0x03,
+ 0x1C, 0xE3, 0x03,
+ 0x1C, 0xB7, 0x03,
+ 0x1C, 0x87, 0x03,
+ 0x9C, 0x87, 0x03,
+ 0xB8, 0x87, 0x03,
+ 0xF0, 0x87, 0x03,
+ 0x00, 0x87, 0x03,
+ 0x00, 0x83, 0x03,
+ 0x00, 0x83, 0x03,
+ 0x9C, 0x83, 0x03,
+ 0xB8, 0x81, 0x03,
+ 0xF8, 0x80, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l91_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0x70, 0x00,
+ 0xF8, 0x07, 0x70, 0x00,
+ 0x7C, 0x0F, 0x78, 0x00,
+ 0x3C, 0x0E, 0x7C, 0x00,
+ 0x1E, 0x1C, 0x7E, 0x00,
+ 0x1E, 0x1C, 0x7F, 0x00,
+ 0x1E, 0x1C, 0x73, 0x00,
+ 0x1E, 0x1C, 0x70, 0x00,
+ 0x1E, 0x1C, 0x70, 0x00,
+ 0x1C, 0x1E, 0x70, 0x00,
+ 0x3C, 0x1F, 0x70, 0x00,
+ 0xF8, 0x1F, 0x70, 0x00,
+ 0xF0, 0x1F, 0x70, 0x00,
+ 0x00, 0x1C, 0x70, 0x00,
+ 0x00, 0x1C, 0x70, 0x00,
+ 0x1C, 0x1E, 0x70, 0x00,
+ 0x1C, 0x0E, 0x70, 0x00,
+ 0x3C, 0x0F, 0x70, 0x00,
+ 0xF8, 0x07, 0x70, 0x00,
+ 0xF0, 0x03, 0x70, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l92.xbm b/app/bin/bitmaps/l92.xbm
index 16a5631..8323e42 100644
--- a/app/bin/bitmaps/l92.xbm
+++ b/app/bin/bitmaps/l92.xbm
@@ -1,6 +1,78 @@
-#define l92_width 14
-#define l92_height 16
-static char l92_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0xA1, 0x10,
- 0x21, 0x08, 0x3E, 0x04, 0x20, 0x02, 0x20, 0x01, 0x90, 0x00, 0x8E, 0x1F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l92_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0xCC, 0x33,
+ 0xCC, 0x30,
+ 0xFC, 0x38,
+ 0xF8, 0x1C,
+ 0xC0, 0x0E,
+ 0xEC, 0x07,
+ 0x78, 0x3F,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l92_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE0, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x9C, 0x3B, 0x06,
+ 0x1C, 0x3B, 0x0E,
+ 0x1C, 0x07, 0x0E,
+ 0x1C, 0x07, 0x0E,
+ 0x9C, 0x07, 0x07,
+ 0xB8, 0x87, 0x07,
+ 0xF0, 0x87, 0x03,
+ 0x00, 0xC7, 0x01,
+ 0x00, 0xE3, 0x01,
+ 0x00, 0xF3, 0x00,
+ 0x9C, 0x73, 0x00,
+ 0xB8, 0x79, 0x00,
+ 0xF8, 0xF8, 0x0F,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l92_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0xFE, 0x00,
+ 0xF8, 0x07, 0xFF, 0x01,
+ 0x7C, 0x8F, 0xE7, 0x03,
+ 0x3C, 0x8E, 0xC3, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0x1C, 0x80, 0x03,
+ 0x1E, 0x1C, 0xC0, 0x03,
+ 0x1E, 0x1C, 0xC0, 0x03,
+ 0x1C, 0x1E, 0xE0, 0x01,
+ 0x3C, 0x1F, 0xF0, 0x01,
+ 0xF8, 0x1F, 0xF8, 0x00,
+ 0xF0, 0x1F, 0x78, 0x00,
+ 0x00, 0x1C, 0x3C, 0x00,
+ 0x00, 0x1C, 0x1E, 0x00,
+ 0x1C, 0x1E, 0x0F, 0x00,
+ 0x1C, 0x8E, 0x07, 0x00,
+ 0x3C, 0x8F, 0x07, 0x00,
+ 0xF8, 0xC7, 0xFF, 0x03,
+ 0xF0, 0xC3, 0xFF, 0x03,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l93.xbm b/app/bin/bitmaps/l93.xbm
index 72515dd..4be9859 100644
--- a/app/bin/bitmaps/l93.xbm
+++ b/app/bin/bitmaps/l93.xbm
@@ -1,6 +1,78 @@
-#define l93_width 14
-#define l93_height 16
-static char l93_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0x21, 0x10,
- 0x21, 0x10, 0x3E, 0x0E, 0x20, 0x10, 0x20, 0x10, 0x90, 0x10, 0x0E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l93_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3B,
+ 0xCC, 0x38,
+ 0xCC, 0x18,
+ 0xFC, 0x3C,
+ 0xF8, 0x38,
+ 0xC0, 0x33,
+ 0xEC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l93_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE0, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x9C, 0x3B, 0x07,
+ 0x1C, 0x03, 0x07,
+ 0x1C, 0x07, 0x07,
+ 0x1C, 0x07, 0x07,
+ 0x9C, 0x87, 0x03,
+ 0xB8, 0xC7, 0x07,
+ 0xF0, 0x07, 0x07,
+ 0x00, 0x07, 0x0E,
+ 0x00, 0x03, 0x0E,
+ 0x00, 0x3B, 0x0E,
+ 0x9C, 0x3B, 0x07,
+ 0xB8, 0x71, 0x07,
+ 0xF8, 0xE0, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l93_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0x7C, 0x8F, 0xE7, 0x01,
+ 0x3C, 0x8E, 0xC7, 0x01,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1E, 0x1C, 0xC0, 0x03,
+ 0x1E, 0x1C, 0xC0, 0x01,
+ 0x1E, 0x1C, 0xE0, 0x01,
+ 0x1E, 0x1C, 0xFC, 0x00,
+ 0x1C, 0x1E, 0xFC, 0x00,
+ 0x3C, 0x1F, 0xE0, 0x01,
+ 0xF8, 0x1F, 0xC0, 0x03,
+ 0xF0, 0x1F, 0x80, 0x03,
+ 0x00, 0x1C, 0x80, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x1C, 0xDE, 0x83, 0x03,
+ 0x1C, 0x8E, 0xC7, 0x03,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x07, 0xFF, 0x01,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l94.xbm b/app/bin/bitmaps/l94.xbm
index 5732695..65f4306 100644
--- a/app/bin/bitmaps/l94.xbm
+++ b/app/bin/bitmaps/l94.xbm
@@ -1,6 +1,78 @@
-#define l94_width 14
-#define l94_height 16
-static char l94_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x08, 0x21, 0x0C, 0x21, 0x0A,
- 0x21, 0x09, 0xBE, 0x08, 0xA0, 0x1F, 0x20, 0x08, 0x10, 0x08, 0x0E, 0x08,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l94_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1C,
+ 0xFC, 0x1C,
+ 0xCC, 0x1E,
+ 0xCC, 0x1E,
+ 0xFC, 0x1F,
+ 0xF8, 0x1B,
+ 0xC0, 0x3F,
+ 0xEC, 0x18,
+ 0x78, 0x18,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l94_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0x80, 0x03,
+ 0xB8, 0x83, 0x03,
+ 0x9C, 0xC3, 0x03,
+ 0x1C, 0xC3, 0x03,
+ 0x1C, 0xE7, 0x03,
+ 0x1C, 0xE7, 0x03,
+ 0x9C, 0xF7, 0x03,
+ 0xB8, 0xB7, 0x03,
+ 0xF0, 0xBF, 0x03,
+ 0x00, 0x9F, 0x03,
+ 0x00, 0xFF, 0x0F,
+ 0x00, 0x83, 0x03,
+ 0x9C, 0x83, 0x03,
+ 0xB8, 0x81, 0x03,
+ 0xF8, 0x80, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l94_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0xF0, 0x00,
+ 0xF8, 0x07, 0xF0, 0x00,
+ 0x7C, 0x0F, 0xF8, 0x00,
+ 0x3C, 0x0E, 0xF8, 0x00,
+ 0x1E, 0x1C, 0xFC, 0x00,
+ 0x1E, 0x1C, 0xFC, 0x00,
+ 0x1E, 0x1C, 0xFE, 0x00,
+ 0x1E, 0x1C, 0xEE, 0x00,
+ 0x1E, 0x1C, 0xEF, 0x00,
+ 0x1C, 0x9E, 0xE7, 0x00,
+ 0x3C, 0x9F, 0xE7, 0x00,
+ 0xF8, 0xDF, 0xE3, 0x00,
+ 0xF0, 0xDF, 0xE1, 0x00,
+ 0x00, 0xFC, 0xFF, 0x03,
+ 0x00, 0xFC, 0xFF, 0x03,
+ 0x1C, 0x1E, 0xE0, 0x00,
+ 0x1C, 0x0E, 0xE0, 0x00,
+ 0x3C, 0x0F, 0xE0, 0x00,
+ 0xF8, 0x07, 0xE0, 0x00,
+ 0xF0, 0x03, 0xE0, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l95.xbm b/app/bin/bitmaps/l95.xbm
index 33560b1..e8ab2c2 100644
--- a/app/bin/bitmaps/l95.xbm
+++ b/app/bin/bitmaps/l95.xbm
@@ -1,6 +1,78 @@
-#define l95_width 14
-#define l95_height 16
-static char l95_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x1F, 0xA1, 0x00, 0xA1, 0x00,
- 0xA1, 0x0F, 0x3E, 0x10, 0x20, 0x10, 0x20, 0x10, 0x90, 0x10, 0x0E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l95_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x3F,
+ 0xFC, 0x07,
+ 0xCC, 0x07,
+ 0xCC, 0x1F,
+ 0xFC, 0x3B,
+ 0xF8, 0x30,
+ 0xC0, 0x33,
+ 0xEC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l95_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xF0, 0x07,
+ 0xB8, 0x73, 0x00,
+ 0x9C, 0x73, 0x00,
+ 0x1C, 0x33, 0x00,
+ 0x1C, 0x37, 0x00,
+ 0x1C, 0xFF, 0x03,
+ 0x9C, 0x7F, 0x07,
+ 0xB8, 0x3F, 0x07,
+ 0xF0, 0x07, 0x0E,
+ 0x00, 0x07, 0x0E,
+ 0x00, 0x03, 0x0E,
+ 0x00, 0x3B, 0x06,
+ 0x9C, 0x3B, 0x07,
+ 0xB8, 0x71, 0x07,
+ 0xF8, 0xE0, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l95_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0xFF, 0x03,
+ 0xF8, 0x07, 0xFF, 0x03,
+ 0x7C, 0x0F, 0x07, 0x00,
+ 0x3C, 0x0E, 0x07, 0x00,
+ 0x1E, 0x9C, 0x07, 0x00,
+ 0x1E, 0x9C, 0x07, 0x00,
+ 0x1E, 0x9C, 0x7F, 0x00,
+ 0x1E, 0x9C, 0xFF, 0x01,
+ 0x1E, 0x9C, 0xE7, 0x01,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x3C, 0x1F, 0xC0, 0x03,
+ 0xF8, 0x1F, 0x80, 0x03,
+ 0xF0, 0x1F, 0x80, 0x03,
+ 0x00, 0x1C, 0x80, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x1C, 0xDE, 0xC3, 0x03,
+ 0x1C, 0x8E, 0xC3, 0x03,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l96.xbm b/app/bin/bitmaps/l96.xbm
index a959a68..b114e81 100644
--- a/app/bin/bitmaps/l96.xbm
+++ b/app/bin/bitmaps/l96.xbm
@@ -1,6 +1,78 @@
-#define l96_width 14
-#define l96_height 16
-static char l96_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x00, 0xA1, 0x00,
- 0xA1, 0x0F, 0xBE, 0x10, 0xA0, 0x10, 0xA0, 0x10, 0x90, 0x10, 0x0E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l96_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0xCC, 0x03,
+ 0xCC, 0x1F,
+ 0xFC, 0x3F,
+ 0xF8, 0x33,
+ 0xC0, 0x33,
+ 0xEC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l96_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE0, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x9C, 0x33, 0x07,
+ 0x1C, 0x3B, 0x00,
+ 0x1C, 0x3F, 0x00,
+ 0x1C, 0x3F, 0x00,
+ 0x9C, 0xFF, 0x03,
+ 0xB8, 0x7F, 0x07,
+ 0xF0, 0x3F, 0x07,
+ 0x00, 0x3F, 0x0E,
+ 0x00, 0x3B, 0x0E,
+ 0x00, 0x3B, 0x0E,
+ 0x9C, 0x33, 0x07,
+ 0xB8, 0x71, 0x07,
+ 0xF8, 0xE0, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l96_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0xFC, 0x00,
+ 0xF8, 0x07, 0xFF, 0x01,
+ 0x7C, 0x0F, 0xEF, 0x01,
+ 0x3C, 0x8E, 0xC7, 0x03,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1E, 0x9C, 0x03, 0x00,
+ 0x1E, 0xDC, 0x03, 0x00,
+ 0x1E, 0xDC, 0x7F, 0x00,
+ 0x1E, 0xDC, 0xFF, 0x01,
+ 0x1C, 0xDE, 0xEF, 0x01,
+ 0x3C, 0xDF, 0xC7, 0x03,
+ 0xF8, 0xDF, 0x83, 0x03,
+ 0xF0, 0xDF, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x1C, 0x9E, 0x83, 0x03,
+ 0x1C, 0x8E, 0xC7, 0x03,
+ 0x3C, 0x8F, 0xEF, 0x01,
+ 0xF8, 0x07, 0xFF, 0x01,
+ 0xF0, 0x03, 0x7C, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l97.xbm b/app/bin/bitmaps/l97.xbm
index 1cd2c1e..75ab190 100644
--- a/app/bin/bitmaps/l97.xbm
+++ b/app/bin/bitmaps/l97.xbm
@@ -1,6 +1,78 @@
-#define l97_width 14
-#define l97_height 16
-static char l97_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x1F, 0x21, 0x10, 0x21, 0x08,
- 0x21, 0x08, 0x3E, 0x04, 0x20, 0x04, 0x20, 0x02, 0x10, 0x02, 0x0E, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l97_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x3F,
+ 0xFC, 0x38,
+ 0xCC, 0x18,
+ 0xCC, 0x1C,
+ 0xFC, 0x0C,
+ 0xF8, 0x0E,
+ 0xC0, 0x0E,
+ 0xEC, 0x06,
+ 0x78, 0x06,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l97_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xF8, 0x0F,
+ 0xB8, 0x03, 0x0F,
+ 0x9C, 0x03, 0x07,
+ 0x1C, 0x83, 0x03,
+ 0x1C, 0x87, 0x03,
+ 0x1C, 0xC7, 0x01,
+ 0x9C, 0xC7, 0x01,
+ 0xB8, 0xC7, 0x01,
+ 0xF0, 0xE7, 0x00,
+ 0x00, 0xE7, 0x00,
+ 0x00, 0xE3, 0x00,
+ 0x00, 0xE3, 0x00,
+ 0x9C, 0xE3, 0x00,
+ 0xB8, 0x71, 0x00,
+ 0xF8, 0x70, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l97_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0xC3, 0xFF, 0x03,
+ 0xF8, 0xC7, 0xFF, 0x03,
+ 0x7C, 0x0F, 0xC0, 0x03,
+ 0x3C, 0x0E, 0xE0, 0x01,
+ 0x1E, 0x1C, 0xE0, 0x01,
+ 0x1E, 0x1C, 0xF0, 0x00,
+ 0x1E, 0x1C, 0xF0, 0x00,
+ 0x1E, 0x1C, 0x78, 0x00,
+ 0x1E, 0x1C, 0x78, 0x00,
+ 0x1C, 0x1E, 0x38, 0x00,
+ 0x3C, 0x1F, 0x3C, 0x00,
+ 0xF8, 0x1F, 0x3C, 0x00,
+ 0xF0, 0x1F, 0x1C, 0x00,
+ 0x00, 0x1C, 0x1E, 0x00,
+ 0x00, 0x1C, 0x1E, 0x00,
+ 0x1C, 0x1E, 0x1E, 0x00,
+ 0x1C, 0x0E, 0x1E, 0x00,
+ 0x3C, 0x0F, 0x0E, 0x00,
+ 0xF8, 0x07, 0x0E, 0x00,
+ 0xF0, 0x03, 0x0E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l98.xbm b/app/bin/bitmaps/l98.xbm
index bad329d..744aad6 100644
--- a/app/bin/bitmaps/l98.xbm
+++ b/app/bin/bitmaps/l98.xbm
@@ -1,6 +1,78 @@
-#define l98_width 14
-#define l98_height 16
-static char l98_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0xA1, 0x10,
- 0xA1, 0x10, 0x3E, 0x0F, 0xA0, 0x10, 0xA0, 0x10, 0x90, 0x10, 0x0E, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l98_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0xCC, 0x3B,
+ 0xCC, 0x3F,
+ 0xFC, 0x1E,
+ 0xF8, 0x3F,
+ 0xC0, 0x33,
+ 0xEC, 0x3F,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l98_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE0, 0x03,
+ 0xB8, 0x73, 0x07,
+ 0x9C, 0x33, 0x07,
+ 0x1C, 0x3B, 0x07,
+ 0x1C, 0x3F, 0x07,
+ 0x1C, 0x3F, 0x07,
+ 0x9C, 0x77, 0x07,
+ 0xB8, 0xE7, 0x03,
+ 0xF0, 0x77, 0x07,
+ 0x00, 0x3F, 0x06,
+ 0x00, 0x3B, 0x0E,
+ 0x00, 0x3B, 0x0E,
+ 0x9C, 0x3B, 0x06,
+ 0xB8, 0x71, 0x07,
+ 0xF8, 0xE0, 0x03,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l98_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0x7C, 0x8F, 0xEF, 0x01,
+ 0x3C, 0x8E, 0xC7, 0x01,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1E, 0x9C, 0xC3, 0x03,
+ 0x1E, 0x9C, 0xC7, 0x01,
+ 0x1E, 0x1C, 0xEF, 0x01,
+ 0x1E, 0x1C, 0xFE, 0x00,
+ 0x1C, 0x1E, 0xFF, 0x00,
+ 0x3C, 0x9F, 0xE7, 0x01,
+ 0xF8, 0x9F, 0xC3, 0x03,
+ 0xF0, 0xDF, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x00, 0xDC, 0x83, 0x03,
+ 0x1C, 0xDE, 0x83, 0x03,
+ 0x1C, 0x8E, 0xC3, 0x03,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x07, 0xFF, 0x01,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/l99.xbm b/app/bin/bitmaps/l99.xbm
index 53b1b0e..b7d956a 100644
--- a/app/bin/bitmaps/l99.xbm
+++ b/app/bin/bitmaps/l99.xbm
@@ -1,6 +1,78 @@
-#define l99_width 14
-#define l99_height 16
-static char l99_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0xA1, 0x10, 0xA1, 0x10,
- 0xA1, 0x10, 0x3E, 0x1F, 0x20, 0x10, 0x20, 0x10, 0x10, 0x08, 0x0E, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+static char l99_x16[] = {
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x78, 0x1E,
+ 0xFC, 0x3F,
+ 0xCC, 0x33,
+ 0xCC, 0x33,
+ 0xFC, 0x3F,
+ 0xF8, 0x3E,
+ 0xC0, 0x30,
+ 0xEC, 0x3B,
+ 0x78, 0x1E,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00,
+ 0x00, 0x00, };
+
+static char l99_x24[] = {
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0xF0, 0xE0, 0x01,
+ 0xB8, 0x73, 0x07,
+ 0x9C, 0x3B, 0x07,
+ 0x1C, 0x3B, 0x06,
+ 0x1C, 0x3F, 0x0E,
+ 0x1C, 0x3F, 0x0E,
+ 0x9C, 0x3F, 0x0F,
+ 0xB8, 0x77, 0x0F,
+ 0xF0, 0xE7, 0x0F,
+ 0x00, 0x07, 0x0E,
+ 0x00, 0x03, 0x06,
+ 0x00, 0x03, 0x06,
+ 0x9C, 0x3B, 0x07,
+ 0xB8, 0x71, 0x03,
+ 0xF8, 0xF0, 0x01,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, };
+
+static char l99_x32[] = {
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0x7C, 0x8F, 0xEF, 0x01,
+ 0x3C, 0x8E, 0xC7, 0x01,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1E, 0xDC, 0x83, 0x03,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x3C, 0x9F, 0xE7, 0x03,
+ 0xF8, 0x1F, 0xFF, 0x03,
+ 0xF0, 0x1F, 0xFE, 0x03,
+ 0x00, 0x1C, 0x80, 0x03,
+ 0x00, 0x1C, 0x80, 0x03,
+ 0x1C, 0x9E, 0xC3, 0x03,
+ 0x1C, 0x8E, 0xC3, 0x01,
+ 0x3C, 0x8F, 0xE7, 0x01,
+ 0xF8, 0x07, 0xFF, 0x00,
+ 0xF0, 0x03, 0x7E, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, };
+
diff --git a/app/bin/bitmaps/layers.xpm b/app/bin/bitmaps/layers.xpm
new file mode 100644
index 0000000..60e1761
--- /dev/null
+++ b/app/bin/bitmaps/layers.xpm
@@ -0,0 +1,110 @@
+static char *layers_x16[] = {
+ "16 16 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #666666",
+ "3 c #999999",
+ "4 c #CCCCCC",
+ "5 c #FFFFFF",
+ "6 c #C0C0C0",
+ "7 c #808080",
+ " ",
+ " ",
+ " 177777777771 ",
+ " 0755555555541 ",
+ " 1455555555570 ",
+ " 13555555555411 ",
+ " 13333333333231 ",
+ " 01777777777371 ",
+ " 1666666666610 ",
+ " 17333333333720 ",
+ " 11122222222271 ",
+ " 133333333331 ",
+ " 0233333333371 ",
+ " 011111111111 ",
+ " ",
+ " "};
+
+static char *layers_x24[] = {
+ "24 24 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #666666",
+ "3 c #999999",
+ "4 c #CCCCCC",
+ "5 c #FFFFFF",
+ "6 c #C0C0C0",
+ "7 c #808080",
+ " ",
+ " ",
+ " ",
+ " 100000000000000001 ",
+ " 165555555555555552 ",
+ " 155555555555555541 ",
+ " 165555555555555552 ",
+ " 155555555555555561 ",
+ " 165555555555555551001 ",
+ " 14444444444444443761 ",
+ " 11122222222222227631 ",
+ " 136666666666666661 ",
+ " 166666666666666631 ",
+ " 136666666666666661001 ",
+ " 133333333333333372320 ",
+ " 11122222222222222371 ",
+ " 0233333333333333320 ",
+ " 173333333333333371 ",
+ " 0233333333333333320 ",
+ " 173333333333333371 ",
+ " 00000000000000000 ",
+ " ",
+ " ",
+ " "};
+
+static char *layers_x32[] = {
+ "32 32 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #666666",
+ "3 c #999999",
+ "4 c #CCCCCC",
+ "5 c #FFFFFF",
+ "6 c #C0C0C0",
+ "7 c #808080",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 10000000000000000000001 ",
+ " 135555555555555555555561 ",
+ " 14555555555555555555551 ",
+ " 135555555555555555555561 ",
+ " 15555555555555555555551 ",
+ " 165555555555555555555561 ",
+ " 155555555555555555555410 ",
+ " 165555555555555555555531221 ",
+ " 155555555555555555555416671 ",
+ " 117277777777777777777727631 ",
+ " 173333333333333333336620 ",
+ " 026666666666666666666631 ",
+ " 136666666666666666666620 ",
+ " 026666666666666666666631000 ",
+ " 136666666666666666666622720 ",
+ " 1266666666666666666666313370 ",
+ " 100000000000000000000017330 ",
+ " 173333333333333333333320 ",
+ " 013333333333333333333330 ",
+ " 173333333333333333333320 ",
+ " 013333333333333333333330 ",
+ " 173333333333333333333320 ",
+ " 017777777777777777777770 ",
+ " 111111111111111111111110 ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char **layers_xpm[3] = { layers_x16, layers_x24, layers_x32 };
+
diff --git a/app/bin/bitmaps/magnet.xpm b/app/bin/bitmaps/magnet.xpm
index 99a31db..3d9a5ac 100644
--- a/app/bin/bitmaps/magnet.xpm
+++ b/app/bin/bitmaps/magnet.xpm
@@ -1,22 +1,139 @@
-/* XPM */
-static char * magnet_xpm[] = {
-"16 16 3 1",
-" c #FF0000",
-". c None",
-"X c #FFFF00",
-"................",
-"........ ......",
-"....... ....",
-"...... ...",
-"..... ..",
-"..... . .",
-".... ... .",
-"... ... .",
-"..XXX ... ..",
-".XXXXX... ..",
-"..XXXX.. ...",
-"...XX..XX ....",
-"......XXXXX ....",
-"......XXXXX.....",
-"........XX......",
-"................"};
+static char *magnet_x16[] = {
+ "16 16 18 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #660000",
+ "4 c #663300",
+ "5 c #666600",
+ "6 c #990000",
+ "7 c #999900",
+ "8 c #CC0000",
+ "9 c #CC3300",
+ "A c #CC9900",
+ "B c #CCCC00",
+ "C c #FF0000",
+ "D c #FF6600",
+ "E c #FFCC00",
+ "F c #FFFF00",
+ "G c #800000",
+ " 1110 ",
+ " 11888610 ",
+ " 16CCCCCCG0 ",
+ " 08CC836CCC30",
+ " 06CC83 13CC81",
+ " 3CC83 GCC1",
+ " 1CCC3 3CC1",
+ " 5DCC3 38C81",
+ "5BEDG1 38CC3 ",
+ " 5EA4 38CCG0 ",
+ " 55 18CC61 ",
+ " 18CC81 ",
+ " 5ACC83 ",
+ " 27FE93 ",
+ " 5AB5 ",
+ " 55 "};
+
+static char *magnet_x24[] = {
+ "24 24 19 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #660000",
+ "4 c #663300",
+ "5 c #666600",
+ "6 c #990000",
+ "7 c #996600",
+ "8 c #999900",
+ "9 c #CC0000",
+ "A c #CC9900",
+ "B c #FF0000",
+ "C c #FF6600",
+ "D c #FF9900",
+ "E c #FFCC00",
+ "F c #FFFF00",
+ "G c #800000",
+ "H c #808000",
+ " 000 ",
+ " 3399G310 ",
+ " 019BBBBBBG1 ",
+ " 0GBBBBBBBBB91 ",
+ " 0GBBBBBBBBBBBB1 ",
+ " 06BBBBBG319BBBBB1 ",
+ " 03BBBBB31 GGBBBBG0",
+ " 3BBBBB3 6GBBB91",
+ " 1BBBBB3 G9BBB1",
+ " 19BBBBG 39BBB1",
+ " 29BBBB6G G9BBB60",
+ " 48DBBB93 GGBBBB1 ",
+ "58FFDB91 GBBBBG0 ",
+ " 5EFFE3 GBBBB91 ",
+ " 5EE72 3BBBBB1 ",
+ " 5H4 3BBBBB3 ",
+ " 2 3BBBBB3 ",
+ " 13BBBBBG1 ",
+ " HCBBBBG1 ",
+ " 5EECBB63 ",
+ " 48FFFD61 ",
+ " 5HEFA2 ",
+ " 45A5 ",
+ " 5 "};
+
+static char *magnet_x32[] = {
+ "32 32 19 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #660000",
+ "4 c #663300",
+ "5 c #666600",
+ "6 c #990000",
+ "7 c #996600",
+ "8 c #CC0000",
+ "9 c #CC9900",
+ "A c #CCCC00",
+ "B c #FF0000",
+ "C c #FF3300",
+ "D c #FF6600",
+ "E c #FFCC00",
+ "F c #FFFF00",
+ "G c #800000",
+ "H c #808000",
+ " ",
+ " 013GGG010 ",
+ " 16BBBBBB8G00 ",
+ " 38BBBBBBBBBB30 ",
+ " 03BBBBBBBBBBBBB80 ",
+ " 03BBBBBBBBBBBBBBB80 ",
+ " 0GBBBBBBB88BBBBBBBB80 ",
+ " 03BBBBBBB83G3GBBBBBBBG0 ",
+ " 1BBBBBBB61 G38BBBBBB0 ",
+ " 1BBBBBBB61 G8BBBBBG0",
+ " 1BBBBBBB63 3BBBBB80",
+ " 08BBBBBB63 6GBBBB80",
+ " 06BBBBBB63 68BBBB81",
+ " 03BBBBBB83 8GBBBBBG0",
+ " 5CBBBBB83 3BBBBBB1 ",
+ " 5EECBBBB3 G8BBBBBG0 ",
+ " 5EFFECBBG1 G8BBBBB81 ",
+ " 5EFFFED81 G8BBBBBB1 ",
+ " 5EFFFE4 38BBBBBBG0 ",
+ " 5EFE5 38BBBBBB81 ",
+ " 5A5 18BBBBBB81 ",
+ " 5 18BBBBBB81 ",
+ " 08BBBBBBB3 ",
+ " 08BBBBBBB3 ",
+ " 59CBBBBBB3 ",
+ " 5AFECBBBB3 ",
+ " 59FFFECBBG ",
+ " 45EFFFEDG0 ",
+ " 5EFFE70 ",
+ " 5EE74 ",
+ " 5H2 ",
+ " 2 "};
+
+static char **magnet_xpm[3] = { magnet_x16, magnet_x24, magnet_x32 };
+
diff --git a/app/bin/bitmaps/magnifier.xpm b/app/bin/bitmaps/magnifier.xpm
deleted file mode 100644
index 69a3faa..0000000
--- a/app/bin/bitmaps/magnifier.xpm
+++ /dev/null
@@ -1,89 +0,0 @@
-/* XPM */
-static char * magnifier_xpm[] = {
-"16 16 70 1",
-" c None",
-". c #545454",
-"+ c #555555",
-"@ c #515151",
-"# c #5E6063",
-"$ c #94A3B1",
-"% c #C5D5E6",
-"& c #DFEAF4",
-"* c #D9E3ED",
-"= c #A2ACB6",
-"- c #4D4D4D",
-"; c #5A5D5F",
-"> c #AEC1D5",
-", c #C4D8EB",
-"' c #E2ECF6",
-") c #E4EDF6",
-"! c #B8C8D9",
-"~ c #5B5D60",
-"{ c #494949",
-"] c #919FAD",
-"^ c #BBD2E8",
-"/ c #D5E3F1",
-"( c #D6E4F2",
-"_ c #97A4B0",
-": c #434343",
-"< c #B6CBE0",
-"[ c #C1D3E4",
-"} c #3E3E3E",
-"| c #BED4E9",
-"1 c #C8DBED",
-"2 c #383838",
-"3 c #BCCFE1",
-"4 c #CAD8E7",
-"5 c #313131",
-"6 c #939DA8",
-"7 c #BFD5EA",
-"8 c #DFE9F5",
-"9 c #9EA6AD",
-"0 c #373737",
-"a c #444647",
-"b c #C4D1DE",
-"c c #D9E6F3",
-"d c #E6EFF7",
-"e c #D3D9DF",
-"f c #3B3C3D",
-"g c #262626",
-"h c #3B3B3B",
-"i c #3C3C3C",
-"j c #ADADAF",
-"k c #28292B",
-"l c #91979D",
-"m c #E3E8EE",
-"n c #EDF3F9",
-"o c #E5EAEF",
-"p c #9EA0A3",
-"q c #282829",
-"r c #464647",
-"s c #B8B8BC",
-"t c #151516",
-"u c #141414",
-"v c #3D3D3D",
-"w c #515153",
-"x c #C4C4CC",
-"y c #212122",
-"z c #606064",
-"A c #D1D1DD",
-"B c #2E2E30",
-"C c #DADAEA",
-"D c #3F3F43",
-"E c #151515",
-" .+++++. ",
-" @#$%&*=#@ ",
-" -;>,'))'!~-",
-" {]^/))))(_{",
-" :<^^^^^^^[:",
-" }|^^)))))1}",
-" 23^))))))42",
-" 5678))))'95",
-" 0abc)))defg",
-" hijklmnopq ",
-" irst uuuuu ",
-" vwxy ",
-" }zAB ",
-" 0CD ",
-" Eu ",
-" "};
diff --git a/app/bin/bitmaps/manage.xpm b/app/bin/bitmaps/manage.xpm
new file mode 100644
index 0000000..12264cf
--- /dev/null
+++ b/app/bin/bitmaps/manage.xpm
@@ -0,0 +1,110 @@
+static char *manage_x16[] = {
+ "16 16 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #666666",
+ "3 c #999999",
+ "4 c #CCCCCC",
+ "5 c #FFFFFF",
+ "6 c #C0C0C0",
+ "7 c #808080",
+ " 11 ",
+ " 1370 ",
+ " 101 1361 111 ",
+ " 247074432742 ",
+ " 134444444431 ",
+ " 24432734470 ",
+ " 1743744734310 ",
+ "1274424555144330",
+ "1344414555144630",
+ "111347355674611 ",
+ " 14471274470 ",
+ " 24444644431 ",
+ " 1463644677470 ",
+ " 171013410121 ",
+ " 0 0761 ",
+ " 101 "};
+
+static char *manage_x24[] = {
+ "24 24 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #666666",
+ "3 c #999999",
+ "4 c #CCCCCC",
+ "5 c #FFFFFF",
+ "6 c #C0C0C0",
+ "7 c #808080",
+ " 00 ",
+ " 1331 ",
+ " 2440 ",
+ " 11 02441 111 ",
+ " 173100164431102431 ",
+ " 144473444444334441 ",
+ " 134444444444444421 ",
+ " 1644444444444431 ",
+ " 1344462102644431 ",
+ " 14446745547644410 ",
+ " 11134442455554244447201",
+ "076644442555555764444461",
+ "134444462555555734444461",
+ "013344441455555244447101",
+ " 0024443755553344420 ",
+ " 1344431732344461 ",
+ " 0744444336444461 ",
+ " 16444444444444471 ",
+ " 134466444444634442 ",
+ " 164311164447112441 ",
+ " 171 14431 11 ",
+ " 0 14470 ",
+ " 13620 ",
+ " 111 "};
+
+static char *manage_x32[] = {
+ "32 32 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #666666",
+ "3 c #999999",
+ "4 c #CCCCCC",
+ "5 c #FFFFFF",
+ "6 c #C0C0C0",
+ "7 c #808080",
+ " ",
+ " 11221 ",
+ " 164430 ",
+ " 164430 ",
+ " 11 164431 11 ",
+ " 1331 02444410 2461 ",
+ " 164431112444444701244461 ",
+ " 144446364444444446444461 ",
+ " 13444444444444444444441 ",
+ " 134444444444444444441 ",
+ " 14444444373344444461 ",
+ " 14444431011003444441 ",
+ " 0744443074554707444431 ",
+ " 016444417555555306444421111 ",
+ " 1227644443045555555174444466620",
+ "02444444447255555555324444444430",
+ "07444444447255555555324444444430",
+ " 244444444305555555527444443332 ",
+ " 100074444603555555403444471000 ",
+ " 1344447065555412444431 ",
+ " 14444470233702444442 ",
+ " 13444443710234444440 ",
+ " 164444444444444444421 ",
+ " 13444444444444444444421 ",
+ " 174444444444444444444441 ",
+ " 164443123444444620164441 ",
+ " 14431 12444431 13471 ",
+ " 1121 174441 111 ",
+ " 074441 ",
+ " 074440 ",
+ " 13371 ",
+ " 000 "};
+
+static char **manage_xpm[3] = { manage_x16, manage_x24, manage_x32 };
+
diff --git a/app/bin/bitmaps/map.xpm b/app/bin/bitmaps/map.xpm
index 5d47930..e123f7f 100644
--- a/app/bin/bitmaps/map.xpm
+++ b/app/bin/bitmaps/map.xpm
@@ -1,24 +1,169 @@
-/* XPM */
-static char * map_xpm[] = {
-"16 16 5 1",
-"o c None",
-" c #000000000000",
-". c #FFFFFFFFFFFF",
-"X c #0000FFFFFFFF",
-"Y c #FFFF7DF70000",
-"................",
-". ...... .....",
-". . .... . ....",
-". .. .. .. . ...",
-". YY. ... .. ..",
-". .YY. ... ... .",
-". X.YY ..X ... .",
-". XX.Y YXX X.. .",
-". .XX. YYY YX. .",
-". ..XX XX. YYX .",
-". ...X X.. .YY .",
-". ... .. ... .",
-".. .. . . .. .",
-"... . ... . .",
-".... ..... .",
-"................"};
+static char *map_x16[] = {
+ "16 16 28 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #003366",
+ "3 c #0099CC",
+ "4 c #00CCFF",
+ "5 c #330000",
+ "6 c #330033",
+ "7 c #333300",
+ "8 c #333366",
+ "9 c #660033",
+ "A c #663300",
+ "B c #666699",
+ "C c #990066",
+ "D c #993300",
+ "E c #993399",
+ "F c #996600",
+ "G c #CC0099",
+ "H c #CC3399",
+ "I c #CC6600",
+ "J c #CC9900",
+ "K c #CC9933",
+ "L c #CC99CC",
+ "M c #FF0099",
+ "N c #FF00CC",
+ "O c #FF33CC",
+ "P c #FF6699",
+ "Q c #FF9900",
+ "0 0 ",
+ "000 00000 ",
+ "00000 000 0 000 ",
+ "00 000 0QQ 00",
+ "0AQQ 0 Q0 QQ 0",
+ "DIQQQ7JQQ 0 Q70",
+ "50 7KP 0 QF0",
+ "00 5MNN 0 QJA",
+ "5CNNN9G NN044 0",
+ "6EN 0 N04 4B6",
+ "2344 1 40L OH8",
+ "00 4424 440NNN81",
+ "00 034 00 0",
+ "000 0 000000 0",
+ " 000000 000",
+ " 00 00"};
+
+static char *map_x24[] = {
+ "24 24 29 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #003366",
+ "3 c #006666",
+ "4 c #006699",
+ "5 c #0099CC",
+ "6 c #00CCFF",
+ "7 c #330000",
+ "8 c #330033",
+ "9 c #333300",
+ "A c #336699",
+ "B c #660033",
+ "C c #660066",
+ "D c #663300",
+ "E c #6699CC",
+ "F c #66CCFF",
+ "G c #990066",
+ "H c #996600",
+ "I c #CC0099",
+ "J c #CC3399",
+ "K c #CC6600",
+ "L c #FF0099",
+ "M c #FF00CC",
+ "N c #FF3399",
+ "O c #FF33CC",
+ "P c #FF66CC",
+ "Q c #FF9900",
+ "R c #FF9933",
+ " ",
+ " 00 000 ",
+ " 0000 0000000 ",
+ " 0 000 000 0 00 ",
+ " 0 00000 DK 000 ",
+ " 0 00 QDKQQ 00",
+ " 0 QQ 0 Q7 QQ 00",
+ " 9QQQQQ 0 Q 0 QQ 00",
+ "HDQ QQ9QQQQ 0 Q 00",
+ " 0 9QRN 0 Q 00",
+ " 0 0MMMM 0 QQD0",
+ " 0 8MMMMM 0 QQHD",
+ " 0 MMMMLBM MMM0 666 00",
+ " BMMMM I0 MMC46 66 00",
+ " 1 0 MGE 6FB0",
+ " 3666 0 FGJ MOG8",
+ " 0 666662 66CIMMMMMA2",
+ " 0 6516 66 0GMMM 00",
+ " 0 0 66 00 00",
+ " 00 0 00000 00",
+ " 000 0 00 000 00",
+ " 000 0 00 00000",
+ " 00000 000",
+ " 0 "};
+
+static char *map_x32[] = {
+ "32 32 29 1",
+ " c None",
+ "0 c #000000",
+ "1 c #006666",
+ "2 c #006699",
+ "3 c #0099CC",
+ "4 c #00CCCC",
+ "5 c #00CCFF",
+ "6 c #330000",
+ "7 c #333300",
+ "8 c #333366",
+ "9 c #663300",
+ "A c #666699",
+ "B c #66CCFF",
+ "C c #990066",
+ "D c #993399",
+ "E c #996600",
+ "F c #996699",
+ "G c #9999CC",
+ "H c #9999FF",
+ "I c #CC0099",
+ "J c #CC6600",
+ "K c #CC66CC",
+ "L c #CC9900",
+ "M c #FF0099",
+ "N c #FF00CC",
+ "O c #FF33CC",
+ "P c #FF6699",
+ "Q c #FF9900",
+ "R c #FF9933",
+ " ",
+ " 0 00 ",
+ " 000 000000 ",
+ " 0 000 00 00 000 ",
+ " 0 000 00 00 000 ",
+ " 0 000 00 EE 00 ",
+ " 0 00000 JJQQ 00 ",
+ " 0 00 QJEQQQQ 0 ",
+ " 0 QQQ 0 QQE0 QQQQ 0 ",
+ " 0 QQQQQQ 0 QQQ00 QQQ 0 ",
+ " 9QQQQQQQQJ0 QQQQQ 00 QQ 0 ",
+ " 7QQ QQLEQQQQQQ 00 QQ 0 ",
+ " 0 LEQQRP 00 QQQ 0 ",
+ " 0 6 NNNN 00 QQQ 0 ",
+ " 0 6NNNNNN 00 QQQ0 ",
+ " 0 ICNN NNNN 00 55 QQQ0 ",
+ " 0 NNNNNNICN NNNN00 555 0 ",
+ " 0MNNNNNNNI6 NNNC0555555 0 ",
+ " 0MNN 0 NNIA55 5555 0 ",
+ " 045 0 NIF5 55BK0 ",
+ " 055555 0 HIIB KON0 ",
+ " 03555555531 55DIN NNNOG0 ",
+ " 0 55555325 55558CNNNNNN 0 ",
+ " 0 55315555555 00NNNN 0 ",
+ " 0 055555 00 0 ",
+ " 00 0 55 0000 0 ",
+ " 000 0 000 000 0 ",
+ " 000 0 00 000 0 ",
+ " 000 0 00 000 0 ",
+ " 0000000 000 ",
+ " 000 0 ",
+ " "};
+
+static char **map_xpm[3] = { map_x16, map_x24, map_x32 };
+
diff --git a/app/bin/bitmaps/move.xpm b/app/bin/bitmaps/move.xpm
index ab90555..5482a6b 100644
--- a/app/bin/bitmaps/move.xpm
+++ b/app/bin/bitmaps/move.xpm
@@ -1,23 +1,119 @@
-/* XPM */
-static char * move_xpm[] = {
-"16 16 4 1",
-" c None",
-". c #0000FFFFFFFF",
-"X c #000000000000",
-"o c #FFFF00000000",
-" . . X X ",
-"...... XXXXXX ",
-" . . X X ",
-" . . o X X ",
-" . . oX X ",
-"...... XoXXXX ",
-" . . Xo X ",
-" . oooooooooXX ",
-" . . Xo X ",
-"...... XoXXXX ",
-" . . oX X ",
-" . . o X X ",
-" . . X X ",
-"...... XXXXXX ",
-" . . X X ",
-" "};
+static char *move_x16[] = {
+ "16 16 7 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066CC",
+ "2 c #0099FF",
+ "3 c #CC0000",
+ "4 c #CCCCCC",
+ "5 c #808080",
+ " 1 1 5 5 ",
+ "21212 45454",
+ " 1 1 5 5 ",
+ "21212 45454",
+ " 1 1 5 5 ",
+ "21212 3 45454",
+ " 1 1 33 5 5 ",
+ "21212 333333 454",
+ " 1 1 33 5 5 ",
+ "21212 3 45454",
+ " 1 1 5 5 ",
+ "21212 45454",
+ " 1 1 5 5 ",
+ "21212 45454",
+ " 1 1 5 5 ",
+ " "};
+
+static char *move_x24[] = {
+ "24 24 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #006699",
+ "2 c #009999",
+ "3 c #0099CC",
+ "4 c #00CCCC",
+ "5 c #666666",
+ "6 c #996666",
+ "7 c #999999",
+ "8 c #CC0000",
+ "9 c #CC3333",
+ "A c #CC6666",
+ "B c #CC9999",
+ "C c #C0C0C0",
+ "D c #808080",
+ " ",
+ " 1 1 55 5 ",
+ " 44144424 CD7CCD7C ",
+ " 1 1 55 5 ",
+ " 1 1 55 5 ",
+ " 44144424 CD7CCD7C ",
+ " 31 31 DD 5D ",
+ " 1 1 55 5 ",
+ " 44144314 B6DCCD7C ",
+ " 4144314 A86CCD7 ",
+ " 1 1 98 5 ",
+ " 4147666888888AA89BD7 ",
+ " 44147666988889A698BD7C ",
+ " 1 1 988 5 ",
+ " 31 31 A89 5D ",
+ " 44144424 B67CCD7C ",
+ " 1 1 55 5 ",
+ " 1 1 55 5 ",
+ " 44144424 CD7CCD7C ",
+ " 1 1 55 5 ",
+ " 1 1 55 5 ",
+ " 44144424 CD7CCD7C ",
+ " 31 31 DD 5D ",
+ " 1 1 5 "};
+
+static char *move_x32[] = {
+ "32 32 14 1",
+ " c None",
+ "0 c #000000",
+ "1 c #006699",
+ "2 c #0099CC",
+ "3 c #00CCCC",
+ "4 c #666666",
+ "5 c #996666",
+ "6 c #999999",
+ "7 c #CC0000",
+ "8 c #CC3333",
+ "9 c #CC6666",
+ "A c #CC9999",
+ "B c #C0C0C0",
+ "C c #808080",
+ " ",
+ " 1 1 4 4 ",
+ " 1 12 4 46 ",
+ " 3313333133 BB4BBBBC6B ",
+ " 1 1 4 4 ",
+ " 1 1 4 4 ",
+ " 1 1 4 4 ",
+ " 3313333133 BB4BBBBC6B ",
+ " 1 1 4 4 ",
+ " 1 1 4 4 ",
+ " 1 1 4 4 ",
+ " 3313333133 BA4BBBBC6B ",
+ " 1 12 977A 46 ",
+ " 1 1 777 4 ",
+ " 1 1 877 4 ",
+ " 331368777777777777777779B46B ",
+ " 331367777777777777777778B46B ",
+ " 1 1 877 4 ",
+ " 1 1 777 4 ",
+ " 1 1 77 4 ",
+ " 3313333133 A95BBBBC6B ",
+ " 1 1 4 4 ",
+ " 1 1 4 4 ",
+ " 1 1 4 4 ",
+ " 3313333133 BB4BBBBC6B ",
+ " 1 12 4 46 ",
+ " 1 1 4 4 ",
+ " 1 1 4 4 ",
+ " 3313333133 BB4BBBB46B ",
+ " 3313333133 BB4BBBB46B ",
+ " 1 1 4 4 ",
+ " "};
+
+static char **move_xpm[3] = { move_x16, move_x24, move_x32 };
+
diff --git a/app/bin/bitmaps/movedesc.xpm b/app/bin/bitmaps/movedesc.xpm
deleted file mode 100644
index 520cfd6..0000000
--- a/app/bin/bitmaps/movedesc.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * movedesc_xpm[] = {
-"16 16 4 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-"o c #0000FFFFFFFF",
-" .. .. .. .. ",
-" . . . . . ",
-" . . .. .. . ",
-" . . . . . ",
-" .. ..X.. .. ",
-" XXX ",
-" X X X ",
-" X X X ",
-" X ",
-" . . X . ",
-"..oo..ooX o.oo..",
-" .o o o Xo o. ",
-" .o o ooXoo o. ",
-" .o o o X o o. ",
-"..oo..oo.oo.oo..",
-" . . . . "};
diff --git a/app/bin/bitmaps/new-car.xpm b/app/bin/bitmaps/new-car.xpm
new file mode 100644
index 0000000..c2fd649
--- /dev/null
+++ b/app/bin/bitmaps/new-car.xpm
@@ -0,0 +1,100 @@
+static char *new_car_x16[] = {
+ "16 16 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #339900",
+ "2 c #663300",
+ "3 c #808080",
+ " 11 ",
+ " 11 ",
+ " 111111 ",
+ " 111111 ",
+ " 11 ",
+ " 11 ",
+ " ",
+ " 22222222222222 ",
+ " 22222222222222 ",
+ " 22222222222222 ",
+ " 22222222222222 ",
+ " 22222222222222 ",
+ " 3 3 3 3 ",
+ " 30303 30303 ",
+ " 3 3 3 3 ",
+ " "};
+
+static char *new_car_x24[] = {
+ "24 24 6 1",
+ " c None",
+ "0 c #000000",
+ "1 c #009933",
+ "2 c #00CC33",
+ "3 c #00FF66",
+ "4 c #663300",
+ " ",
+ " 221 ",
+ " 231 ",
+ " 1231 ",
+ " 222332221 ",
+ " 233333331 ",
+ " 11123111 ",
+ " 1231 ",
+ " 1231 ",
+ " 11 ",
+ " ",
+ "444444444444444444444444",
+ "444444444444444444444444",
+ "444444444444444444444444",
+ "444444444444444444444444",
+ "444444444444444444444444",
+ "444444444444444444444444",
+ "444444444444444444444444",
+ "444444444444444444444444",
+ "444444444444444444444444",
+ " 00 0 00 0 ",
+ " 0000000 000 000 ",
+ " 000 000 000 000 ",
+ " 0 "};
+
+static char *new_car_x32[] = {
+ "32 32 6 1",
+ " c None",
+ "0 c #000000",
+ "1 c #009933",
+ "2 c #00CC33",
+ "3 c #00FF66",
+ "4 c #663300",
+ " ",
+ " 11111 ",
+ " 2331 ",
+ " 2331 ",
+ " 12331 ",
+ " 111123321111 ",
+ " 233333333331 ",
+ " 233333333331 ",
+ " 111123311111 ",
+ " 12331 ",
+ " 12331 ",
+ " 2221 ",
+ " 1111 ",
+ " ",
+ " ",
+ "4444444444444444444444444444444 ",
+ "4444444444444444444444444444444 ",
+ "4444444444444444444444444444444 ",
+ "4444444444444444444444444444444 ",
+ "4444444444444444444444444444444 ",
+ "4444444444444444444444444444444 ",
+ "4444444444444444444444444444444 ",
+ "4444444444444444444444444444444 ",
+ "4444444444444444444444444444444 ",
+ "4444444444444444444444444444444 ",
+ "4444444444444444444444444444444 ",
+ "4444444444444444444444444444444 ",
+ " 00 000 00 00 ",
+ " 00000000 00000000 ",
+ " 00000000 00000000 ",
+ " 000 000 000 000 ",
+ " "};
+
+static char **new_car_xpm[3] = { new_car_x16, new_car_x24, new_car_x32 };
+
diff --git a/app/bin/bitmaps/newcar.xpm b/app/bin/bitmaps/newcar.xpm
deleted file mode 100644
index e1bc24a..0000000
--- a/app/bin/bitmaps/newcar.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * newcar_xpm[] = {
-"16 16 4 1",
-". c None",
-"X c #800080008000",
-"o c #000000000000",
-" c #FFFFFFFF0000",
-" ...X. X.X.... ",
-"oooo... ..XX. ",
-".. o... ...X .",
-"...o ..o ..X ..",
-"...o ooo. oo...",
-"...o. ooo oo...",
-"oooooooooooooo ",
-"oooooooooooooo ",
-"oooooooooooooo..",
-"oooooooooooooooo",
-"oooooooooooooooo",
-"...oo.. oo ...o",
-"..oooo.oooo ..o",
-". oooo.oooo. o.",
-" .oo.. oo...oo.",
-" ...... ..... "};
diff --git a/app/bin/bitmaps/note.xpm b/app/bin/bitmaps/note.xpm
new file mode 100644
index 0000000..51bf8c7
--- /dev/null
+++ b/app/bin/bitmaps/note.xpm
@@ -0,0 +1,114 @@
+static char *note_x16[] = {
+ "16 16 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066CC",
+ "2 c #999999",
+ "3 c #CC9900",
+ "4 c #CC9933",
+ "5 c #CC9999",
+ "6 c #FFCC00",
+ "7 c #FFCC33",
+ "8 c #FFCC66",
+ " ",
+ " ",
+ " ",
+ " 444444444444 ",
+ " 46666666666344 ",
+ " 46888888886664 ",
+ " 47222222227664 ",
+ " 46522222566664 ",
+ " 46788888866664 ",
+ " 47111111117664 ",
+ " 46666666666664 ",
+ " 46666666666664 ",
+ " 47777777777774 ",
+ " ",
+ " ",
+ " "};
+
+static char *note_x24[] = {
+ "24 24 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #999999",
+ "2 c #CC9900",
+ "3 c #CC9933",
+ "4 c #CC9999",
+ "5 c #CCCC66",
+ "6 c #FFCC00",
+ "7 c #FFCC33",
+ "8 c #FFCC66",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 37777777777333333 ",
+ " 3666666666666666233 ",
+ " 36666666666666662223 ",
+ " 36788888888888766663 ",
+ " 36411111111111566663 ",
+ " 36666666666666666663 ",
+ " 36611111111156666663 ",
+ " 36688888888876666663 ",
+ " 36844444444444866663 ",
+ " 36544444444444566663 ",
+ " 36666666666666666663 ",
+ " 36666666666666666663 ",
+ " 36666666666666666663 ",
+ " 37777777777777777773 ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char *note_x32[] = {
+ "32 32 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066CC",
+ "2 c #3399CC",
+ "3 c #999999",
+ "4 c #CC9900",
+ "5 c #CC9933",
+ "6 c #CCCC00",
+ "7 c #FFCC00",
+ "8 c #FFCC33",
+ "9 c #FFCC66",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 55555555 ",
+ " 57777778888888888888855 ",
+ " 877777777777777777777445 ",
+ " 8777777777777777777774445 ",
+ " 87777777777777777777774465 ",
+ " 87799999999999999997777775 ",
+ " 87833333333333333337777775 ",
+ " 87777777777777777777777775 ",
+ " 87777777777777777777777775 ",
+ " 87782111111111128777777775 ",
+ " 87777777777777777777777775 ",
+ " 87777777777777777777777775 ",
+ " 87833333333333333337777775 ",
+ " 87799999999999999997777775 ",
+ " 87777777777777777777777775 ",
+ " 87777777777777777777777775 ",
+ " 87777777777777777777777775 ",
+ " 87777777777777777777777775 ",
+ " 58888887777777777777777775 ",
+ " 55555555555555555555 ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char *note_xpm[3] = { note_x16, note_x24, note_x32 };
+
diff --git a/app/bin/bitmaps/ok.xpm b/app/bin/bitmaps/ok.xpm
new file mode 100644
index 0000000..1671eae
--- /dev/null
+++ b/app/bin/bitmaps/ok.xpm
@@ -0,0 +1,92 @@
+static char *ok_x16[] = {
+ "16 16 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #008000",
+ " ",
+ " 1 ",
+ " 11 ",
+ " 111 ",
+ " 1111 ",
+ " 1111 ",
+ " 1111 ",
+ " 1111 ",
+ " 1 1111 ",
+ " 11 1111 ",
+ " 1111111 ",
+ " 111111 ",
+ " 1111 ",
+ " 111 ",
+ " 1 ",
+ " "};
+
+static char *ok_x24[] = {
+ "24 24 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #008000",
+ " ",
+ " ",
+ " 1 ",
+ " 1111 ",
+ " 1111 ",
+ " 1111 ",
+ " 1111 ",
+ " 11111 ",
+ " 11111 ",
+ " 11111 ",
+ " 11111 ",
+ " 11111 ",
+ " 11111 ",
+ " 11 11111 ",
+ " 1111 11111 ",
+ " 11111 11111 ",
+ " 111111111 ",
+ " 11111111 ",
+ " 111111 ",
+ " 1111 ",
+ " 111 ",
+ " 1 ",
+ " ",
+ " "};
+
+static char *ok_x32[] = {
+ "32 32 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #008000",
+ " ",
+ " ",
+ " ",
+ " 111 ",
+ " 1111 ",
+ " 11111 ",
+ " 11111 ",
+ " 11111 ",
+ " 11111 ",
+ " 11111 ",
+ " 11111 ",
+ " 11111 ",
+ " 11111 ",
+ " 11111 ",
+ " 111111 ",
+ " 111111 ",
+ " 1111111 ",
+ " 1 1111111 ",
+ " 111 1111111 ",
+ " 1111 1111111 ",
+ " 11111 1111111 ",
+ " 111111111111 ",
+ " 11111111111 ",
+ " 111111111 ",
+ " 11111111 ",
+ " 111111 ",
+ " 11111 ",
+ " 111 ",
+ " 11 ",
+ " ",
+ " ",
+ " "};
+
+static char **ok_xpm[3] = { ok_x16, ok_x24, ok_x32 };
+
diff --git a/app/bin/bitmaps/openbutt.xpm b/app/bin/bitmaps/openbutt.xpm
deleted file mode 100644
index 99b9666..0000000
--- a/app/bin/bitmaps/openbutt.xpm
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static char * openbutt_xpm[] = {
-"7 16 2 1",
-" c None",
-". c #000000000000",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-".......",
-" ..... ",
-" ... ",
-" . ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" "};
diff --git a/app/bin/bitmaps/pan-zoom.xpm b/app/bin/bitmaps/pan-zoom.xpm
new file mode 100644
index 0000000..a42beee
--- /dev/null
+++ b/app/bin/bitmaps/pan-zoom.xpm
@@ -0,0 +1,94 @@
+static char *pan_zoom_x16[] = {
+ "16 16 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #FF0000",
+ "2 c #FF3333",
+ " ",
+ " 11 ",
+ " 1211 ",
+ " 111111 ",
+ " 11 ",
+ " 1 11 1 ",
+ " 11 11 11 ",
+ " 11111111111111 ",
+ " 11111111111111 ",
+ " 11 11 11 ",
+ " 1 11 1 ",
+ " 11 ",
+ " 122111 ",
+ " 1111 ",
+ " 11 ",
+ " "};
+
+static char *pan_zoom_x24[] = {
+ "24 24 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #FF0000",
+ "2 c #FF3333",
+ " ",
+ " ",
+ " 11 ",
+ " 1111 ",
+ " 111111 ",
+ " 11111211 ",
+ " 11 ",
+ " 11 ",
+ " 1 11 1 ",
+ " 11 11 11 ",
+ " 111 11 111 ",
+ " 11111111111111111111 ",
+ " 11111111111111111111 ",
+ " 111 11 111 ",
+ " 11 11 11 ",
+ " 1 11 1 ",
+ " 11 ",
+ " 11 ",
+ " 11111111 ",
+ " 111111 ",
+ " 1111 ",
+ " 11 ",
+ " ",
+ " "};
+
+static char *pan_zoom_x32[] = {
+ "32 32 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ " ",
+ " ",
+ " 11 ",
+ " 111111 ",
+ " 1111111111 ",
+ " 111111111111 ",
+ " 1111 111 111 ",
+ " 111 ",
+ " 111 ",
+ " 111 ",
+ " 11 111 11 ",
+ " 111 111 111 ",
+ " 1111 111 1111 ",
+ " 111 111 111 ",
+ " 1111111111111111111111111111 ",
+ " 11111111111111111111111111111 ",
+ " 1111111111111111111111111111 ",
+ " 111 111 111 ",
+ " 1111 111 1111 ",
+ " 111 111 111 ",
+ " 11 111 111 ",
+ " 111 ",
+ " 111 ",
+ " 111 ",
+ " 111 111 1 ",
+ " 1111 111 111 ",
+ " 11111111111 ",
+ " 111111111 ",
+ " 11111 ",
+ " 111 ",
+ " ",
+ " "};
+
+static char **pan_zoom_xpm[3] = { pan_zoom_x16, pan_zoom_x24, pan_zoom_x32 };
+
diff --git a/app/bin/bitmaps/pan.xpm b/app/bin/bitmaps/pan.xpm
deleted file mode 100644
index 9575ec5..0000000
--- a/app/bin/bitmaps/pan.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * pan_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-" ",
-" XX ",
-" XXXX ",
-" XXXXXX. ",
-" XX XX XX ",
-" XX ",
-" XX XX XX ",
-" XXXXXXXXXXXXXX ",
-" XXXXXXXXXXXXXX ",
-" XX XX XX ",
-" XX ",
-" XX XX XX ",
-" XXXXXX ",
-" XXXX ",
-" XX ",
-" "};
diff --git a/app/bin/bitmaps/parallel-line.xpm b/app/bin/bitmaps/parallel-line.xpm
index 4ac471d..b490c84 100644
--- a/app/bin/bitmaps/parallel-line.xpm
+++ b/app/bin/bitmaps/parallel-line.xpm
@@ -1,22 +1,108 @@
-/* XPM */
-static char * parallel_line_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-" ",
-" ",
-" ",
-"................",
-" X ",
-" X X ",
-" X X ",
-" ",
-" ",
-" . . . ",
-"................",
-" . . . ",
-" . . . ",
-" . . . ",
-"................",
-" . . . "};
+static char *parallel_line_x16[] = {
+ "16 16 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #CC9966",
+ " ",
+ "000000000000000 ",
+ " ",
+ " 1 ",
+ " 111 ",
+ " 11111 ",
+ " 1 ",
+ " 1 ",
+ " 1 ",
+ " 2 2 2 2 2 2 ",
+ "000000000000000 ",
+ " 2 2 2 2 2 2 2 ",
+ " 2 2 2 2 2 2 2 ",
+ "000000000000000 ",
+ " 2 2 2 2 2 2 2 ",
+ " "};
+
+static char *parallel_line_x24[] = {
+ "24 24 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #666666",
+ "5 c #996600",
+ "6 c #CC0000",
+ "7 c #CC3300",
+ "8 c #CC6600",
+ "9 c #CC9900",
+ " ",
+ " ",
+ " ",
+ " 4444444444444444444444 ",
+ " ",
+ " 66 ",
+ " 6666 ",
+ " 6666 6 ",
+ " 66 ",
+ " 66 ",
+ " 66 ",
+ " 66 ",
+ " 66 ",
+ " 7 ",
+ " 9 9 99 99 9 9 9 ",
+ " 0000000000000000000000 ",
+ " 9 9 99 99 9 9 9 ",
+ " 9 9 99 99 9 9 9 ",
+ " 9 9 99 99 9 9 9 ",
+ " 0300320320230230130031 ",
+ " 8 85 85 58 58 38 83 ",
+ " 9 9 9 9 9 9 9 ",
+ " ",
+ " "};
+
+static char *parallel_line_x32[] = {
+ "32 32 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #666666",
+ "5 c #996600",
+ "6 c #CC0000",
+ "7 c #CC6600",
+ "8 c #CC9900",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 444444444444444444444444444444 ",
+ " ",
+ " ",
+ " 66 ",
+ " 6666 ",
+ " 66 6 66 ",
+ " 6 6 6 ",
+ " 6 ",
+ " 6 ",
+ " 6 ",
+ " 6 ",
+ " 6 ",
+ " 6 ",
+ " 6 ",
+ " ",
+ " 88 88 88 88 88 88 88 ",
+ " 000000000000000000000000000000 ",
+ " 88 88 88 88 88 88 88 ",
+ " 88 88 88 88 88 88 88 ",
+ " 88 88 88 88 88 88 88 ",
+ " 88 88 88 88 88 88 88 ",
+ " 575 575 77 77 573 575 377 ",
+ " 033202330033003300331023201330 ",
+ " 88 88 88 88 88 88 88 ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char **parallel_line_xpm[3] = { parallel_line_x16, parallel_line_x24, parallel_line_x32 };
+
diff --git a/app/bin/bitmaps/parallel.xpm b/app/bin/bitmaps/parallel.xpm
index eb816dc..a19f797 100644
--- a/app/bin/bitmaps/parallel.xpm
+++ b/app/bin/bitmaps/parallel.xpm
@@ -1,22 +1,116 @@
-/* XPM */
-static char * parallel_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-"................",
-" . . . ",
-" . . . ",
-"................",
-" . X . ",
-" X X ",
-" X X ",
-" ",
-" ",
-" . . . ",
-"................",
-" . . . ",
-" . . . ",
-" . . . ",
-"................",
-" . . . "};
+static char *parallel_x16[] = {
+ "16 16 6 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #CC9966",
+ "3 c #CCCCCC",
+ "4 c #808080",
+ " 3 3 3 3 3 3 3 ",
+ "444444444444444 ",
+ " 3 3 3 3 3 3 3 ",
+ " 3 3 3 3 3 3 3 ",
+ "4444444 4444444 ",
+ " 3 3 3 1 3 3 3 ",
+ " 111 ",
+ " 11111 ",
+ " 1 ",
+ " 1 ",
+ " 2 2 2 1 2 2 2 ",
+ "0000000 0000000 ",
+ " 2 2 2 2 2 2 2 ",
+ " 2 2 2 2 2 2 2 ",
+ "000000000000000 ",
+ " 2 2 2 2 2 2 2 "};
+
+static char *parallel_x24[] = {
+ "24 24 14 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333300",
+ "2 c #663300",
+ "3 c #666666",
+ "4 c #996600",
+ "5 c #999999",
+ "6 c #CC0000",
+ "7 c #CC3300",
+ "8 c #CC6600",
+ "9 c #CC9900",
+ "A c #CC9999",
+ "B c #C0C0C0",
+ "C c #808080",
+ " B B B ",
+ " 55 5 5C 55 C5 5C 55 ",
+ "3CC33C33C33CC33C33C33CC3",
+ " BB B B BB B B BB ",
+ " BB B B BB B B BB ",
+ " BB B B BB B B BB ",
+ "3CC33C33C33CC33C33C33CC3",
+ " 55 5 5C 55 C5 5C 55 ",
+ " B B B AA B B ",
+ " 666 ",
+ " 666666 ",
+ " 666666 ",
+ " 66 ",
+ " 66 ",
+ " 66 ",
+ " 77 ",
+ " 99 9 9 99 9 9 99 ",
+ "000000000000000000000000",
+ " 99 9 9 99 9 9 99 ",
+ " 99 9 9 99 9 9 99 ",
+ " 99 9 9 99 9 9 99 ",
+ " 2400400420440140041044 ",
+ " 2400400420440140041044 ",
+ " 9 9 9 99 9 9 99 "};
+
+static char *parallel_x32[] = {
+ "32 32 13 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #666666",
+ "5 c #996600",
+ "6 c #999999",
+ "7 c #CC0000",
+ "8 c #CC6600",
+ "9 c #CC9900",
+ "A c #C0C0C0",
+ "B c #808080",
+ " ",
+ " AA AA AA AA AAA AA AA ",
+ " 46B44B6B4B6B446644B6B446B44B6B ",
+ " 46B44B6B4B6B446644B6B446B44B6B ",
+ " AA AA AA AA AAA AA AA ",
+ " AA AA AA AA AAA AA AA ",
+ " AA AA AA AA AAA AA AA ",
+ " AA AA AA AA AAA AA AA ",
+ " 46B44B6B4B6B446644B6B446B44B6B ",
+ " 46B44B6B4B6B446644B6B446B44B6B ",
+ " AA AA AA AA AAA AA AA ",
+ " ",
+ " 7777 ",
+ " 777777 ",
+ " 77777777 ",
+ " 77 77 777 ",
+ " 77 ",
+ " 77 ",
+ " 77 ",
+ " 77 ",
+ " 77 ",
+ " 99 99 9 99 9 99 99 ",
+ " 88 883 585 88 585 88 883 ",
+ " 0330033102330033002320033003310",
+ " 99 99 99 99 999 99 99 ",
+ " 99 99 99 99 999 99 99 ",
+ " 99 99 99 99 999 99 99 ",
+ " 99 99 99 99 999 99 99 ",
+ " 88 883 585 88 585 88 883 ",
+ " 0330033102330033002320033003310",
+ " 99 99 99 99 999 99 99 ",
+ " "};
+
+static char **parallel_xpm[3] = { parallel_x16, parallel_x24, parallel_x32 };
+
diff --git a/app/bin/bitmaps/parameter.xpm b/app/bin/bitmaps/parameter.xpm
new file mode 100644
index 0000000..7a58a6f
--- /dev/null
+++ b/app/bin/bitmaps/parameter.xpm
@@ -0,0 +1,104 @@
+static char *parameter_x16[] = {
+ "16 16 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #999999",
+ " 11111111111 ",
+ " 1 11 ",
+ " 1 11 ",
+ " 1 00000000 11 ",
+ " 1 1 ",
+ " 1 0 1 ",
+ " 1 00 1 ",
+ " 1 00 1 ",
+ " 1 000 1 ",
+ " 1 1 ",
+ " 1 00000000 1 ",
+ " 1 00 1 ",
+ " 1 00 1 ",
+ " 1 00 1 ",
+ " 1 1 ",
+ " 11111111111111 "};
+
+static char *parameter_x24[] = {
+ "24 24 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #666666",
+ "3 c #999999",
+ "4 c #CCCCCC",
+ "5 c #FFFFFF",
+ "6 c #C0C0C0",
+ "7 c #808080",
+ " 7777777777777777 ",
+ " 234444444444444447 ",
+ " 2355555555555555537 ",
+ " 2355100000000000757 ",
+ " 23555555555555555557 ",
+ " 235555555555555445547 ",
+ " 2355555555555437455537 ",
+ " 2355555555432745555547 ",
+ " 2355377202765555555547 ",
+ " 2355544555555555555547 ",
+ " 2355455555555555555547 ",
+ " 2355323455555472455547 ",
+ " 2355554724532345555547 ",
+ " 355555562074555555547 ",
+ " 355556234547745555547 ",
+ " 355323555555432455547 ",
+ " 355455555555555555547 ",
+ " 355466336666666455547 ",
+ " 355666321366666655547 ",
+ " 355555555326555555547 ",
+ " 355555555553265555547 ",
+ " 355555555555562455547 ",
+ " 355555555555555555547 ",
+ " 222222222222222222227 "};
+
+static char *parameter_x32[] = {
+ "32 32 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #666666",
+ "3 c #999999",
+ "4 c #CCCCCC",
+ "5 c #FFFFFF",
+ "6 c #C0C0C0",
+ "7 c #808080",
+ " 222222222222222222222 ",
+ " 73666666666666666666637 ",
+ " 74555555555555555555557 ",
+ " 745555555555555555555547 ",
+ " 7455500000000000000004547 ",
+ " 74555777777777777777745537 ",
+ " 74555555555555555555555557 ",
+ " 745555555555555555547555557 ",
+ " 7455555555555555547004555547 ",
+ " 7455555555555543100355555557 ",
+ " 7455554666637000265555555557 ",
+ " 7455530000001765555555555557 ",
+ " 7455546444455555555555555557 ",
+ " 7455555555555555555555555557 ",
+ " 7455537455555555554375555557 ",
+ " 7455531023555555420075555557 ",
+ " 7455555420074431013555555557 ",
+ " 7455555554300007455555555557 ",
+ " 7455555553101100345555555557 ",
+ " 7455554700245547002655555557 ",
+ " 7455570134555555532015555557 ",
+ " 7455544555555555555465555557 ",
+ " 7455555555555555555555555557 ",
+ " 7455537777227777777774555557 ",
+ " 7455570000000000000006555557 ",
+ " 7455555555531016555555555557 ",
+ " 7455555555555610135555555557 ",
+ " 7455555555555556200345555557 ",
+ " 7455555555555555542005555557 ",
+ " 7455555555555555555435555557 ",
+ " 7644444444444444444444444447 ",
+ " 7777777777777777777777777777 "};
+
+static char **parameter_xpm[3] = { parameter_x16, parameter_x24, parameter_x32 };
+
diff --git a/app/bin/bitmaps/paste.xpm b/app/bin/bitmaps/paste.xpm
new file mode 100644
index 0000000..c820a4e
--- /dev/null
+++ b/app/bin/bitmaps/paste.xpm
@@ -0,0 +1,107 @@
+static char *paste_x16[] = {
+ "16 16 8 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #999999",
+ "3 c #CCCCCC",
+ "4 c #FFFFFF",
+ "5 c #C0C0C0",
+ "6 c #808080",
+ " 6116 ",
+ " 666623326666 ",
+ "63333222233356 ",
+ "6444411111111111",
+ "6444144444444441",
+ "6444144444444441",
+ "6444144444444441",
+ "6444144444444441",
+ "6444144444444441",
+ "6444144444444441",
+ "6444144444444441",
+ "6444144444444441",
+ "6444144444444441",
+ "6444144444444441",
+ "6255144444444441",
+ " 111111111111111"};
+
+static char *paste_x24[] = {
+ "24 24 8 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #999999",
+ "3 c #CCCCCC",
+ "4 c #FFFFFF",
+ "5 c #C0C0C0",
+ "6 c #808080",
+ " 66666 ",
+ " 6533336 ",
+ " 6111111333336111166 ",
+ "12444444522224444441 ",
+ "15444444444444444446 ",
+ "15444441111111111111111 ",
+ "154444144444444444444441",
+ "154444144444444444444441",
+ "154444144444444444444441",
+ "154444144444444444444441",
+ "154444144444444444444441",
+ "154444144444444444444441",
+ "154444144444444444444441",
+ "154444144444444444444441",
+ "154444144444444444444441",
+ "154444144444444444444441",
+ "154444144444444444444441",
+ "154444144444444444444441",
+ "154444144444444444444441",
+ "154444144444444444444441",
+ "154444144444444444444441",
+ "124444144444444444444441",
+ " 61111144444444444444441",
+ " 1111111111111111 "};
+
+static char *paste_x32[] = {
+ "32 32 8 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #999999",
+ "3 c #CCCCCC",
+ "4 c #FFFFFF",
+ "5 c #C0C0C0",
+ "6 c #808080",
+ " 111111 ",
+ " 62555556 ",
+ " 6244444436 ",
+ " 6622222266333333662222266 ",
+ " 64444444442222223444444451 ",
+ " 64444444444444444444444436 ",
+ " 24444444444444444444444436 ",
+ " 244444441111111111111111111111 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 244444441444444444444444444441 ",
+ " 644444441444444444444444444441 ",
+ " 665555551444444444444444444441 ",
+ " 1111111444444444444444444441 ",
+ " 1111111111111111111111 "};
+
+static char **paste_xpm[3] = { paste_x16, paste_x24, paste_x32 };
+
diff --git a/app/bin/bitmaps/pause.xpm b/app/bin/bitmaps/pause.xpm
new file mode 100644
index 0000000..da61446
--- /dev/null
+++ b/app/bin/bitmaps/pause.xpm
@@ -0,0 +1,147 @@
+static char* pause_x16[] = {
+ "16 16 20 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #003333",
+ "3 c #006633",
+ "4 c #009966",
+ "5 c #333333",
+ "6 c #336633",
+ "7 c #336666",
+ "8 c #339966",
+ "9 c #33CC99",
+ "A c #666666",
+ "B c #66CC99",
+ "C c #99CC99",
+ "D c #99CCCC",
+ "E c #CCCCCC",
+ "F c #CCFFCC",
+ "G c #CCFFFF",
+ "H c #FFFFFF",
+ "I c #808080",
+ " 0 ",
+ " 00000 ",
+ " 01133300 ",
+ " 001688887210 ",
+ " 01688888888821 ",
+ " 07CCCCDDDDDDC5 ",
+ " 0AEEEEEEEEEEE5 ",
+ " 0IHHHHHHHHHHG5 ",
+ " 0IHHHHHHHHHHG5 ",
+ " 0AFFFFFFFFFFD5 ",
+ " 07DDDDDDDDDDC2 ",
+ " 05BBBBBBBBBBB2 ",
+ " 128BBBBBB9720 ",
+ " 0128999810 ",
+ " 0134210 ",
+ " 020 "};
+
+static char* pause_x24[] = {
+ "24 24 22 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #003333",
+ "3 c #006633",
+ "4 c #009966",
+ "5 c #333333",
+ "6 c #336633",
+ "7 c #336666",
+ "8 c #339966",
+ "9 c #33CC66",
+ "A c #33CC99",
+ "B c #666666",
+ "C c #669999",
+ "D c #66CC99",
+ "E c #99CCCC",
+ "F c #99FFCC",
+ "G c #CCCCCC",
+ "H c #CCFFCC",
+ "I c #CCFFFF",
+ "J c #FFFFFF",
+ "K c #808080",
+ " ",
+ " 000 ",
+ " 0012000 ",
+ " 0003333300 ",
+ " 0036777773210 ",
+ " 01278888888887100 ",
+ " 01278888888888888710 ",
+ " 05CCCCCCCCCCCCCCCCC0 ",
+ " 07EEEEEEEEEEEEEEEEE0 ",
+ " 0BGGGGGGGGGGGGGGGGG0 ",
+ " 0BIIIIIIIIIIIIIIIII0 ",
+ " 0KJJJJJJJJJJJJJJJJJ0 ",
+ " 0KJJJJJJJJJJJJJJJJJ0 ",
+ " 0BHHHHHHHHHHHHHHHHH0 ",
+ " 0BFFFFFFFFFFFFFFFFF0 ",
+ " 07EEEEEEEEEEEEEEEEE0 ",
+ " 07DDDDDDDDDDDDDDDDD0 ",
+ " 02DDDDDDDDDDDDDDDDC1 ",
+ " 027DDDDDDDDDDDDA620 ",
+ " 028AAAAAAAAA720 ",
+ " 0128AAAA9811 ",
+ " 013894110 ",
+ " 01210 ",
+ " 0 "};
+
+static char* pause_x32[] = {
+ "32 32 22 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #003333",
+ "3 c #006633",
+ "4 c #009966",
+ "5 c #333333",
+ "6 c #336633",
+ "7 c #336666",
+ "8 c #339966",
+ "9 c #339999",
+ "A c #33CC66",
+ "B c #33CC99",
+ "C c #669966",
+ "D c #66CC99",
+ "E c #99CC99",
+ "F c #99CCCC",
+ "G c #99FFCC",
+ "H c #CCCCCC",
+ "I c #CCFFCC",
+ "J c #CCFFFF",
+ "K c #FFFFFF",
+ " ",
+ " ",
+ " 00000 ",
+ " 0023300 ",
+ " 00233333200 ",
+ " 011333333333210 ",
+ " 0013777777777776100 ",
+ " 006888888888888888600 ",
+ " 0168888888888888888888210 ",
+ " 018CCCCCCCCCCCCCCCCCCCCC810 ",
+ " 05EEEEEEEEEEEEEEEEEEEEEEE50 ",
+ " 05FFFFFFFFFFFFFFFFFFFFFFF50 ",
+ " 05HHHHHHHHHHHHHHHHHHHHHHH50 ",
+ " 05IIIIIIIIIIIIIIIIIIIIIII50 ",
+ " 05KKKKKKKKKKKKKKKKKKKKKKK50 ",
+ " 05KKKKKKKKKKKKKKKKKKKKKKK50 ",
+ " 06KKKKKKKKKKKKKKKKKKKKKKK60 ",
+ " 05JJJJJJJJJJJJJJJJJJJJJJJ50 ",
+ " 05IIIIIIIIIIIIIIIIIIIIIII50 ",
+ " 05GGGGGGGGGGGGGGGGGGGGGGG50 ",
+ " 05FFFFFFFFFFFFFFFFFFFFFFF50 ",
+ " 05FFFFFFFFFFFFFFFFFFFFFFF50 ",
+ " 05DDDDDDDDDDDDDDDDDDDDDDD50 ",
+ " 028DDDDDDDDDDDDDDDDDDDDD820 ",
+ " 0228DDDDDDDDDDDDDDDDD9220 ",
+ " 026BBBBBBBBBBBBBBB620 ",
+ " 028BBBBBBBBBBB820 ",
+ " 128AAAAAAA821 ",
+ " 0128AAA4210 ",
+ " 0134310 ",
+ " 010 ",
+ " "};
+
+static char *pause_xpm[3] = { pause_x16, pause_x24, pause_x32 };
+
diff --git a/app/bin/bitmaps/polygon.xpm b/app/bin/bitmaps/polygon.xpm
new file mode 100644
index 0000000..cce796a
--- /dev/null
+++ b/app/bin/bitmaps/polygon.xpm
@@ -0,0 +1,89 @@
+static char *polygon_x16[] = {
+ "16 16 2 1",
+ " c None",
+ "0 c #000000",
+ " ",
+ " 000000000 ",
+ " 000 00 ",
+ " 00 00 ",
+ " 0 00 ",
+ " 0 00 ",
+ "00 00",
+ " 0 00",
+ " 0 00",
+ " 00 00",
+ " 0 00",
+ " 0 00",
+ " 000 00",
+ " 000 000",
+ " 000000000 ",
+ " 00 "};
+
+static char *polygon_x24[] = {
+ "24 24 2 1",
+ " c None",
+ "0 c #000000",
+ " ",
+ " 00000 ",
+ " 0000000000 00 ",
+ " 000 00 ",
+ " 0 0 ",
+ " 00 0 ",
+ " 0 0 ",
+ " 00 0 ",
+ " 00 0 ",
+ " 0 0 ",
+ " 0 0 ",
+ " 00 0 ",
+ " 0 0 ",
+ " 0 0 ",
+ " 00 0 ",
+ " 0 0 ",
+ " 0 0 ",
+ " 00 0 ",
+ " 00 0 ",
+ " 00 0 ",
+ " 000 0000 ",
+ " 000 000000 ",
+ " 000000 ",
+ " "};
+
+static char *polygon_x32[] = {
+ "32 32 2 1",
+ " c None",
+ "0 c #000000",
+ " ",
+ " 000 ",
+ " 000000000000 ",
+ " 00000000000000 000 ",
+ " 000000 000 ",
+ " 000 000 ",
+ " 00 000 ",
+ " 00 00 ",
+ " 000 000 ",
+ " 00 000 ",
+ " 00 000 ",
+ " 00 000 ",
+ " 00 000 ",
+ " 00 00 ",
+ " 000 00 ",
+ " 00 00 ",
+ " 00 00 ",
+ " 000 00 ",
+ " 00 00 ",
+ " 00 00 ",
+ " 000 00 ",
+ " 00 00 ",
+ " 00 00 ",
+ " 000 00 ",
+ " 0000 00 ",
+ " 00000 00 ",
+ " 0000 00 ",
+ " 0000 0000000 ",
+ " 0000 0000000000 ",
+ " 00000000000 ",
+ " 0000 ",
+ " "};
+
+static char **polygon_xpm[3] = { polygon_x16, polygon_x24, polygon_x32 };
+
diff --git a/app/bin/bitmaps/polyline.xpm b/app/bin/bitmaps/polyline.xpm
new file mode 100644
index 0000000..6611f44
--- /dev/null
+++ b/app/bin/bitmaps/polyline.xpm
@@ -0,0 +1,92 @@
+static char *polyline_x16[] = {
+ "16 16 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0000FF",
+ " ",
+ " 1 ",
+ " 1 1 ",
+ "11111 11 ",
+ " 1 1111 11 ",
+ " 1 11 1 ",
+ " 1 11",
+ " 11 11",
+ " 11 11",
+ " 1 1 ",
+ " 11 11 ",
+ " 11 1 ",
+ " 11 11 ",
+ " 1 11111 ",
+ " 11111 ",
+ " "};
+
+static char *polyline_x24[] = {
+ "24 24 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0000FF",
+ " ",
+ " ",
+ " 1 ",
+ " 11 ",
+ " 111 1 ",
+ " 111111 11 ",
+ " 11 1111 11 ",
+ " 11 1111 1 ",
+ " 1 1 11 ",
+ " 1 11 ",
+ " 1 1 ",
+ " 11 1 ",
+ " 11 1 ",
+ " 1 11 ",
+ " 1 1 ",
+ " 1 11 ",
+ " 1 1 ",
+ " 11 11 ",
+ " 11 1 ",
+ " 11 1 ",
+ " 1 111111 ",
+ " 111111 ",
+ " ",
+ " "};
+
+static char *polyline_x32[] = {
+ "32 32 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0000FF",
+ " ",
+ " ",
+ " ",
+ " 11 ",
+ " 111 ",
+ " 111 11 ",
+ " 111111 11 ",
+ " 111111111 11 ",
+ " 11 11111 11 ",
+ " 11 111111 11 ",
+ " 11 1111 11 ",
+ " 11 1 11 ",
+ " 11 11 ",
+ " 11 11 ",
+ " 11 11 ",
+ " 11 11 ",
+ " 11 11 ",
+ " 11 11 ",
+ " 11 11 ",
+ " 11 111 ",
+ " 11 11 ",
+ " 111 111 ",
+ " 111 11 ",
+ " 111 11 ",
+ " 11 11 ",
+ " 11 11 ",
+ " 11 1111 ",
+ " 111 1111111111 ",
+ " 1111111111 ",
+ " 11 ",
+ " ",
+ " "};
+
+static char **polyline_xpm[3] = { polyline_x16, polyline_x24, polyline_x32 };
+
diff --git a/app/bin/bitmaps/profile.xpm b/app/bin/bitmaps/profile.xpm
index df22abe..d446bb4 100644
--- a/app/bin/bitmaps/profile.xpm
+++ b/app/bin/bitmaps/profile.xpm
@@ -1,24 +1,121 @@
-/* XPM */
-static char * profile_xpm[] = {
-"16 16 5 1",
-" c None",
-". c #FFFF00000000",
-"X c #0000FFFFFFFF",
-"o c #00000000FFFF",
-"O c #000000000000",
-" ",
-" . ",
-" .Xo ",
-" .Xo ",
-" .XXXo o ",
-".XXXXo .Xo",
-"OXXXXXo .XO",
-"OXXXXXo .XXO",
-"OXXXXXXo .XXXO",
-"OXXXXXXXo .XXXXO",
-"OXXXXXXXXoXXXXXO",
-"OXXXXXXXXXXXXXXO",
-"OXXXXXXXXXXXXXXO",
-"OOOOOOOOOOOOOOOO",
-" O O O ",
-" O O O "};
+static char *profile_x16[] = {
+ "16 16 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #333333",
+ "3 c #336666",
+ "4 c #336699",
+ "5 c #339999",
+ "6 c #669999",
+ "7 c #6699CC",
+ "8 c #66CCCC",
+ "9 c #66CCFF",
+ "A c #99CCFF",
+ " ",
+ " 0 ",
+ " 262 ",
+ " 05A71 ",
+ " 05A92 20120 ",
+ "004AA82238A98300",
+ " 05AAA58AAAAA50 ",
+ "005AAAAAAAAAA500",
+ "004AAAAAAAAAA400",
+ " 05AAAAAAAAAA50 ",
+ "004AAAAAAAAAA400",
+ " 05AAAAAAAAAA50 ",
+ " 00000000000000 ",
+ " 0 00 0 0 0 ",
+ " 0 0 0 ",
+ " "};
+
+static char *profile_x24[] = {
+ "24 24 13 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #336699",
+ "6 c #339999",
+ "7 c #669999",
+ "8 c #6699CC",
+ "9 c #66CCCC",
+ "A c #66CCFF",
+ "B c #99CCFF",
+ " ",
+ " ",
+ " 0 ",
+ " 1481 ",
+ " 04AB81 ",
+ " 06BBA4 ",
+ " 06BBB92 11210 ",
+ " 006BBBB50 128AA8630000",
+ "0006BBBBA3128ABBBBBB5000",
+ " 06BBBBB87ABBBBBBBB60 ",
+ " 06BBBBBBBBBBBBBBBB60 ",
+ " 006BBBBBBBBBBBBBBBB5000",
+ " 006BBBBBBBBBBBBBBBB5000",
+ " 06BBBBBBBBBBBBBBBB60 ",
+ " 06BBBBBBBBBBBBBBBB60 ",
+ "0006BBBBBBBBBBBBBBBB5000",
+ " 06BBBBBBBBBBBBBBBB60 ",
+ " 06BBBBBBBBBBBBBBBB60 ",
+ " 01444444444444444410 ",
+ " 000000000000000000 ",
+ " 0 00 0 0 00 ",
+ " 0 0 00 ",
+ " ",
+ " "};
+
+static char *profile_x32[] = {
+ "32 32 13 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #336699",
+ "6 c #339999",
+ "7 c #669999",
+ "8 c #6699CC",
+ "9 c #66CCCC",
+ "A c #66CCFF",
+ "B c #99CCFF",
+ " ",
+ " ",
+ " ",
+ " 00 ",
+ " 2683 ",
+ " 029BB82 ",
+ " 06BBBB4 ",
+ " 06BBBBA2 ",
+ " 06BBBBB50 11200 ",
+ " 06BBBBBA1 017AA8511200 ",
+ " 0006BBBBBB83 016ABBBBBBA93000 ",
+ " 0006BBBBBBA2025ABBBBBBBBBB4000 ",
+ " 06BBBBBBB94ABBBBBBBBBBBB40 ",
+ " 06BBBBBBBBBBBBBBBBBBBBBB40 ",
+ " 06BBBBBBBBBBBBBBBBBBBBBB40 ",
+ " 0006BBBBBBBBBBBBBBBBBBBBBB4000 ",
+ " 0006BBBBBBBBBBBBBBBBBBBBBB4000 ",
+ " 06BBBBBBBBBBBBBBBBBBBBBB40 ",
+ " 06BBBBBBBBBBBBBBBBBBBBBB40 ",
+ " 06BBBBBBBBBBBBBBBBBBBBBB40 ",
+ " 0006BBBBBBBBBBBBBBBBBBBBBB4000 ",
+ " 0006BBBBBBBBBBBBBBBBBBBBBB4000 ",
+ " 06BBBBBBBBBBBBBBBBBBBBBB40 ",
+ " 06BBBBBBBBBBBBBBBBBBBBBB40 ",
+ " 04888888888888888888888830 ",
+ " 00000000000000000000000000 ",
+ " 00 00 00 00 00 ",
+ " 00 0 00 0 00 ",
+ " 00 00 00 ",
+ " ",
+ " ",
+ " "};
+
+static char **profile_xpm[3] = { profile_x16, profile_x24, profile_x32 };
+
diff --git a/app/bin/bitmaps/protractor.xpm b/app/bin/bitmaps/protractor.xpm
new file mode 100644
index 0000000..43fa250
--- /dev/null
+++ b/app/bin/bitmaps/protractor.xpm
@@ -0,0 +1,99 @@
+static char *protractor_x16[] = {
+ "16 16 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #660000",
+ "2 c #990000",
+ "3 c #CC0000",
+ " ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 0 ",
+ " 0 ",
+ " 01 ",
+ " 0033 ",
+ " 00 3 ",
+ " 00 33 ",
+ " 0 3 ",
+ " 000 3 ",
+ " 00000023 ",
+ " 000000 ",
+ " 00000 ",
+ " 0 "};
+
+static char *protractor_x24[] = {
+ "24 24 6 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #660000",
+ "3 c #CC0000",
+ "4 c #800000",
+ " ",
+ " 00 ",
+ " 000 ",
+ " 000 ",
+ " 00 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 010 ",
+ " 00033 ",
+ " 000 3 ",
+ " 000 33 ",
+ " 000 3 ",
+ " 000 3 ",
+ " 000 33 ",
+ " 000 33 ",
+ " 000000 33 ",
+ " 00000000 33 ",
+ " 00000042 ",
+ " 00000000 ",
+ " 0000000 ",
+ " 0000 ",
+ " "};
+
+static char *protractor_x32[] = {
+ "32 32 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #990000",
+ "3 c #CC0000",
+ " ",
+ " 0 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 0000 ",
+ " 0000 ",
+ " 0000 ",
+ " 000 ",
+ " 000 ",
+ " 0000 ",
+ " 0000 ",
+ " 0001 ",
+ " 00033 ",
+ " 000 33 ",
+ " 0000 33 ",
+ " 0000 33 ",
+ " 0000 333 ",
+ " 0000 33 ",
+ " 000 33 ",
+ " 000 333 ",
+ " 0000 333 ",
+ " 00000 33 ",
+ " 000000000 33 ",
+ " 0000000000 333 ",
+ " 00000000023 ",
+ " 0000000000 ",
+ " 000000000 ",
+ " 000000000 ",
+ " 0000000 ",
+ " 00 ",
+ " "};
+
+static char **protractor_xpm[3] = { protractor_x16, protractor_x24, protractor_x32 };
+
diff --git a/app/bin/bitmaps/pull.xpm b/app/bin/bitmaps/pull.xpm
deleted file mode 100644
index a25248e..0000000
--- a/app/bin/bitmaps/pull.xpm
+++ /dev/null
@@ -1,23 +0,0 @@
-/* XPM */
-static char * pull_xpm[] = {
-"16 16 4 1",
-" c None",
-". c #0000FFFFFFFF",
-"X c #FFFF00000000",
-"o c #000000000000",
-" . . . . ",
-"...... ......",
-" . . . . ",
-" . . . . ",
-"...... ......",
-" . . . . ",
-" X X ",
-" XX XX ",
-"XXXXXXX XXXXXXX",
-" XX XX ",
-" o X o Xo ",
-"ooo oooo oooo oo",
-" o o o ",
-" o o o ",
-"oo oooo oooo ooo",
-" o o o "};
diff --git a/app/bin/bitmaps/redo.xpm b/app/bin/bitmaps/redo.xpm
new file mode 100644
index 0000000..045a8f2
--- /dev/null
+++ b/app/bin/bitmaps/redo.xpm
@@ -0,0 +1,104 @@
+static char *redo_x16[] = {
+ "16 16 7 1",
+ " c None",
+ "0 c #000000",
+ "1 c #006600",
+ "2 c #009900",
+ "3 c #00CC00",
+ "4 c #00FF00",
+ "5 c #008000",
+ " ",
+ " 1 ",
+ " 151 ",
+ " 11425 ",
+ " 1553344355 ",
+ " 5244444435 ",
+ " 5344511425 ",
+ " 5435 151 ",
+ " 5345 1 ",
+ " 145 ",
+ " 1235 ",
+ " 135 ",
+ " 525 ",
+ " 521 ",
+ " 51 ",
+ " "};
+
+static char *redo_x24[] = {
+ "24 24 7 1",
+ " c None",
+ "0 c #000000",
+ "1 c #006600",
+ "2 c #009900",
+ "3 c #00CC00",
+ "4 c #00FF00",
+ "5 c #008000",
+ " ",
+ " ",
+ " 1 ",
+ " 151 ",
+ " 5425 ",
+ " 11544351 ",
+ " 552234444425 ",
+ " 553444444444425 ",
+ " 524444444444455 ",
+ " 52444421124435 ",
+ " 5444351 2455 ",
+ " 544425 55 ",
+ " 54421 5 ",
+ " 53435 ",
+ " 1445 ",
+ " 12435 ",
+ " 5345 ",
+ " 5335 ",
+ " 5421 ",
+ " 545 ",
+ " 141 ",
+ " 155 ",
+ " ",
+ " "};
+
+static char *redo_x32[] = {
+ "32 32 7 1",
+ " c None",
+ "0 c #000000",
+ "1 c #006600",
+ "2 c #009900",
+ "3 c #00CC00",
+ "4 c #00FF00",
+ "5 c #008000",
+ " ",
+ " ",
+ " ",
+ " 1 ",
+ " 151 ",
+ " 2425 ",
+ " 244351 ",
+ " 1152444425 ",
+ " 552233444444355 ",
+ " 553444444444444425 ",
+ " 534444444444444435 ",
+ " 1244444444444444425 ",
+ " 5244444435113444351 ",
+ " 544444211 134425 ",
+ " 53444451 13351 ",
+ " 1244445 155 ",
+ " 544445 15 ",
+ " 54442 ",
+ " 534435 ",
+ " 14445 ",
+ " 54431 ",
+ " 13441 ",
+ " 53435 ",
+ " 5445 ",
+ " 1445 ",
+ " 5435 ",
+ " 5431 ",
+ " 542 ",
+ " 531 ",
+ " 111 ",
+ " ",
+ " "};
+
+static char **redo_xpm[3] = { redo_x16, redo_x24, redo_x32 };
+
diff --git a/app/bin/bitmaps/reflect.xpm b/app/bin/bitmaps/reflect.xpm
new file mode 100644
index 0000000..47adaad
--- /dev/null
+++ b/app/bin/bitmaps/reflect.xpm
@@ -0,0 +1,115 @@
+static char *reflect_x16[] = {
+ "16 16 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #006699",
+ "3 c #0099CC",
+ "4 c #333333",
+ "5 c #3399CC",
+ "6 c #33CCCC",
+ "7 c #33CCFF",
+ "8 c #666666",
+ "9 c #66CCFF",
+ "A c #99CCFF",
+ " ",
+ " 00 ",
+ " 00 ",
+ "33 00 00",
+ "3553 00 0040",
+ "36965 00 04840",
+ "36AA95 00 048840",
+ "36AAA95200888840",
+ "36AAA95100488840",
+ "36AA75 00 048840",
+ "36955 00 04840",
+ "3553 00 040",
+ "33 00 00",
+ " 00 ",
+ " 00 ",
+ " "};
+
+static char *reflect_x24[] = {
+ "24 24 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0099CC",
+ "2 c #333333",
+ "3 c #3399CC",
+ "4 c #33CCCC",
+ "5 c #33CCFF",
+ "6 c #666666",
+ "7 c #66CCFF",
+ "8 c #99CCFF",
+ " ",
+ " ",
+ " 00 ",
+ " 00 ",
+ " 1 00 0 ",
+ " 13 00 00 ",
+ " 1733 00 0060 ",
+ " 17753 00 02660 ",
+ " 178873 00 066660 ",
+ " 17888733 00 02666660 ",
+ " 178888773 00 026666660 ",
+ " 1788888873000266666660 ",
+ " 178888873 00 066666660 ",
+ " 17888873 00 02666660 ",
+ " 1788873 00 0266660 ",
+ " 178743 00 026660 ",
+ " 17731 00 0660 ",
+ " 173 00 060 ",
+ " 13 00 00 ",
+ " 1 00 0 ",
+ " 00 ",
+ " 00 ",
+ " ",
+ " "};
+
+static char *reflect_x32[] = {
+ "32 32 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0099CC",
+ "2 c #333333",
+ "3 c #3399CC",
+ "4 c #33CCCC",
+ "5 c #33CCFF",
+ "6 c #666666",
+ "7 c #66CCFF",
+ "8 c #99CCFF",
+ " ",
+ " ",
+ " ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 1 00 00 ",
+ " 133 00 020 ",
+ " 14733 00 02620 ",
+ " 148753 00 026620 ",
+ " 1488873 00 0666620 ",
+ " 148888733 00 026666620 ",
+ " 1488888773 00 0266666620 ",
+ " 14888888873 00 006666666620 ",
+ " 1488888888733 00 0266666666620 ",
+ " 1488888888871 0002666666666620 ",
+ " 148888888873 00 0266666666620 ",
+ " 14888888873 00 06666666620 ",
+ " 1488888873 00 0266666620 ",
+ " 148888873 00 026666620 ",
+ " 14888743 00 02666620 ",
+ " 1488731 00 266620 ",
+ " 14873 00 06620 ",
+ " 1473 00 0220 ",
+ " 133 00 000 ",
+ " 3 00 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " ",
+ " ",
+ " "};
+
+static char **reflect_xpm[3] = { reflect_x16, reflect_x24, reflect_x32 };
+
diff --git a/app/bin/bitmaps/rotate.xpm b/app/bin/bitmaps/rotate.xpm
index 00b6b5a..d41ca61 100644
--- a/app/bin/bitmaps/rotate.xpm
+++ b/app/bin/bitmaps/rotate.xpm
@@ -1,23 +1,148 @@
-/* XPM */
-static char * rotate_xpm[] = {
-"16 16 4 1",
-" c None",
-". c #0000FFFFFFFF",
-"X c #FFFF00000000",
-"o c #000000000000",
-" . .XX ",
-"....... XX ",
-" . . XX ",
-" . . X X",
-"....... o X X",
-" . . XX",
-" . . o XXXX",
-"....... ",
-" . . o ",
-" .o o o o o ",
-".ooooooooooooooo",
-" .o o o o o ",
-" .oo o o o o ",
-"..o..o. o o o ",
-" ooooooooooooooo",
-" o o o o o "};
+static char *rotate_x16[] = {
+ "16 16 24 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066CC",
+ "2 c #0099CC",
+ "3 c #00CCCC",
+ "4 c #00CCFF",
+ "5 c #00FFFF",
+ "6 c #336699",
+ "7 c #3399CC",
+ "8 c #33CCCC",
+ "9 c #33CCFF",
+ "A c #6699CC",
+ "B c #66CCCC",
+ "C c #66CCFF",
+ "D c #996666",
+ "E c #999999",
+ "F c #99CCCC",
+ "G c #CC0000",
+ "H c #CC3333",
+ "I c #CC3366",
+ "J c #CC6666",
+ "K c #CC9999",
+ "L c #C0C0C0",
+ "M c #808080",
+ " 1 ",
+ "525435 ",
+ " 2437HG ",
+ "52543KGGG ",
+ " 1 11 GG ",
+ "52543 GG ",
+ " 2432 GGG ",
+ "52543 GG G ",
+ " 2432 G G ",
+ "52543BGG GGGG ",
+ " 298AH GGJ ",
+ "52BAJEEMEMEMEDE ",
+ " 2BIAEEMEMEMEME ",
+ " 2CB7FLLL L L L ",
+ " MMMMMMMMMMMMMM",
+ " LLLL L L L L "};
+
+static char *rotate_x24[] = {
+ "24 24 19 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066CC",
+ "2 c #0099CC",
+ "3 c #00CCCC",
+ "4 c #00CCFF",
+ "5 c #00FFFF",
+ "6 c #33CCFF",
+ "7 c #33FFFF",
+ "8 c #669999",
+ "9 c #6699CC",
+ "A c #66FFFF",
+ "B c #996699",
+ "C c #999999",
+ "D c #CC0000",
+ "E c #CC3333",
+ "F c #CC9999",
+ "G c #C0C0C0",
+ "H c #808080",
+ " ",
+ " 1 1 ",
+ " 5155525 ",
+ " 1 1 ",
+ " 1 32FDDDDD ",
+ " 5155525 DDD ",
+ " 1 1 DD ",
+ " 1 32 DD ",
+ " 5155525 DDDD ",
+ " 1 1 DD D ",
+ " 5155425 D ",
+ " 5155425 DD DD ",
+ " 1 1 DD ",
+ " 5155525 DD D DD ",
+ " 1 32 DD DD DDD ",
+ " 1 1 D DDD ",
+ " 515752FD G G G FEDG ",
+ " 18CCBCHHCHHCHCCHCHHCH ",
+ " 1HCEBCHHCHHCHCCHCHHCH ",
+ " 515562A G GG GG GG G ",
+ " 1 G91G G GG GG GG G ",
+ " HHHHHHHHHHHHHHHHHHHH ",
+ " CH C HC CC CC CC CC ",
+ " "};
+
+static char *rotate_x32[] = {
+ "32 32 22 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066CC",
+ "2 c #0099CC",
+ "3 c #00CCCC",
+ "4 c #00CCFF",
+ "5 c #00FFFF",
+ "6 c #3399CC",
+ "7 c #33FFFF",
+ "8 c #66CCCC",
+ "9 c #66FFFF",
+ "A c #996666",
+ "B c #996699",
+ "C c #999999",
+ "D c #99CCCC",
+ "E c #CC0000",
+ "F c #CC3333",
+ "G c #CC3366",
+ "H c #CC6666",
+ "I c #CC9999",
+ "J c #C0C0C0",
+ "K c #808080",
+ " ",
+ " 1 1 ",
+ " 32 32 ",
+ " 552555525 ",
+ " 1 1 ",
+ " 1 1 EEEEEE ",
+ " 542555425FEEEEEEE ",
+ " 542555425 EEEEE ",
+ " 1 1 EEEE ",
+ " 1 1 EEE ",
+ " 552555525 EEE ",
+ " 32 32 EEEEE ",
+ " 1 1 EEE EEE ",
+ " 1 1 E EE ",
+ " 552555525 EE EEE ",
+ " 1 1 EEE EE ",
+ " 1 1 E EEE ",
+ " 1 1 EE EE E ",
+ " 552555525 EEE EE EE EEE ",
+ " 1 1 E EEEEEEEE ",
+ " 1 1 EE EEEEEE ",
+ " 32 732CEE EEEE ",
+ " 552577567C J J J JIE JJ ",
+ " 1KKCAGCCKKCKKKCKKKCKKKCKKCKK ",
+ " 1KKHEBCCKKCKKKCKKKCKKKCKKCK ",
+ " 542598C29D J J J JJ JJ ",
+ " 542599429D J J J JJ JJ ",
+ " 1 JJ 1JJ J J J JJ JJ ",
+ " KKKKKKKKKKKKKKKKKKKKKKKKKKK ",
+ " CC CC CC C KC CC CC ",
+ " J JJ J J J JJ JJ ",
+ " "};
+
+static char **rotate_xpm[3] = { rotate_x16, rotate_x24, rotate_x32 };
+
diff --git a/app/bin/bitmaps/ruler.xpm b/app/bin/bitmaps/ruler.xpm
index 55d4842..11dbde8 100644
--- a/app/bin/bitmaps/ruler.xpm
+++ b/app/bin/bitmaps/ruler.xpm
@@ -1,21 +1,89 @@
-/* XPM */
-static char * ruler_xpm[] = {
-"16 16 2 1",
-" c None",
-". c #000000000000",
-" .. ",
-" . ",
-" . ",
-" . . ",
-" . ... ",
-" . ",
-". ",
-". ",
-" .. ",
-" .. . . ",
-" .. . ",
-" .. . ",
-" .. . ",
-" .. ",
-" .. ",
-" ."};
+static char *ruler_x16[] = {
+ "16 16 2 1",
+ " c None",
+ "0 c #000000",
+ " ",
+ " ",
+ " 0 ",
+ " 00 ",
+ " 0 ",
+ " 0 0 ",
+ " 0 0 ",
+ " 00 ",
+ " 0 00 0 00",
+ " 0 00 00 0 0 ",
+ " 0000 00 0 0 ",
+ " 000000 00 00 ",
+ " 000000 00 ",
+ " 0000 ",
+ " ",
+ " "};
+
+static char *ruler_x24[] = {
+ "24 24 2 1",
+ " c None",
+ "0 c #000000",
+ " ",
+ " ",
+ " ",
+ " 0 ",
+ " 000 ",
+ " 000 ",
+ " 0 ",
+ " 0 ",
+ " 0 0 ",
+ " 0 0 ",
+ " 00 ",
+ " 00 ",
+ " 0 0 0 ",
+ " 0 0 0 0 ",
+ " 00 00 00 00 00 ",
+ " 000 00 00 00 0 ",
+ " 00000 0 0 0 ",
+ " 00000 0 00 ",
+ " 0000000 00 ",
+ " 0000000 ",
+ " 000 ",
+ " ",
+ " ",
+ " "};
+
+static char *ruler_x32[] = {
+ "32 32 2 1",
+ " c None",
+ "0 c #000000",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 00 ",
+ " 000 ",
+ " 00000 ",
+ " 00000 ",
+ " 000 ",
+ " 000 ",
+ " 00 000 ",
+ " 00 000 ",
+ " 000 000 ",
+ " 00 ",
+ " 00 ",
+ " 00 0 ",
+ " 000 0 ",
+ " 00 00 0 00 ",
+ " 00 0 0 000 ",
+ " 000 0 00 0 00 ",
+ " 0000 00 00 0 00 ",
+ " 00000000 0 00 00 ",
+ " 00000000 0 00 000 ",
+ " 00000000 0 00 ",
+ " 000000000 00 ",
+ " 00000000 000 ",
+ " 00000000 ",
+ " 000 ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char **ruler_xpm[3] = { ruler_x16, ruler_x24, ruler_x32 };
+
diff --git a/app/bin/bitmaps/select.xpm b/app/bin/bitmaps/select.xpm
index c630541..bd118c6 100644
--- a/app/bin/bitmaps/select.xpm
+++ b/app/bin/bitmaps/select.xpm
@@ -1,22 +1,106 @@
-/* XPM */
-static char * select_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-" ",
-" . . . . ",
-"................",
-" . . . . ",
-" . . . ",
-" . XX . ",
-"... XXXXXX ..",
-" . XXXXXXXX . ",
-" XXXXXXXX ",
-" XXXXXXX ",
-" XXXXXX ",
-" XXXXXX ",
-" XXX XXX ",
-" XX XXX ",
-" XXX ",
-" X "};
+static char *select_x16[] = {
+ "16 16 6 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333300",
+ "2 c #CC0000",
+ "3 c #CC6600",
+ "4 c #FF9999",
+ " ",
+ " ",
+ " ",
+ " 3 3 3 3 3 3 3 ",
+ "000000000000000 ",
+ " 3 3 3 3 3 ",
+ " 3 3 3 3 3 ",
+ "010000 222 0000 ",
+ " 3 3 3 224 3 3 ",
+ " 2424 ",
+ " 424 ",
+ " 424 ",
+ " 424 ",
+ " 4 ",
+ " ",
+ " "};
+
+static char *select_x24[] = {
+ "24 24 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #663300",
+ "3 c #996600",
+ "4 c #CC0000",
+ "5 c #CC3300",
+ "6 c #CC6600",
+ "7 c #CC9900",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 7 7 7 7 ",
+ " 33 26 62 33 26 62 33 ",
+ "022012002102201200210220",
+ " 77 7 7 77 7 7 77 ",
+ " 77 7 7 56 56 7 77 ",
+ " 77 7 7 4444444 7 77 ",
+ "022012002144444440210220",
+ " 33 26 6344444 62 33 ",
+ " 7 7 44 444 7 ",
+ " 44 444 ",
+ " 44 444 ",
+ " 4 444 ",
+ " 444 ",
+ " 444 ",
+ " 44 ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char *select_x32[] = {
+ "32 32 8 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333300",
+ "2 c #663300",
+ "3 c #996600",
+ "4 c #CC0000",
+ "5 c #CC6600",
+ "6 c #CC9900",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 6 66 6 66 6 66 6 ",
+ " 031002300030003300332003200130 ",
+ " 000000000000000000000000000000 ",
+ " 52 35 5 55 353 53 25 ",
+ " 6 66 6 66 666 66 6 ",
+ " 6 66 6 44444444 66 6 ",
+ " 6 66 6 4444444444 66 6 ",
+ " 031002300030444444444403200130 ",
+ " 000000000000444444 00000000 ",
+ " 6 66 6 4444444 53 25 ",
+ " 6 6 6 444 4444 6 6 ",
+ " 444 4444 ",
+ " 444 4444 ",
+ " 44 4444 ",
+ " 4 4444 ",
+ " 4444 ",
+ " 4444 ",
+ " 4444 ",
+ " 444 ",
+ " 4 ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char **select_xpm[3] = { select_x16, select_x24, select_x32 };
+
diff --git a/app/bin/bitmaps/sensor.xpm b/app/bin/bitmaps/sensor.xpm
index 6ed65a3..207f4c4 100644
--- a/app/bin/bitmaps/sensor.xpm
+++ b/app/bin/bitmaps/sensor.xpm
@@ -1,22 +1,138 @@
-/* XPM */
-static char * sensor_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #00FFFF",
-"+ c #FFFFFF",
-" ",
-" ",
-" ..... ",
-" +.......+ ",
-" +++.....+++ ",
-" .+++...+++. ",
-" ...+++.+++... ",
-" ....+++++.... ",
-" .....+++..... ",
-" ....+++++.... ",
-" ...+++.+++... ",
-" .+++...+++. ",
-" +++.....+++ ",
-" +.......+ ",
-" ..... ",
-" "};
+static char *sensor_x16[] = {
+ "16 16 18 1",
+ " c None",
+ "0 c #000000",
+ "1 c #00CCCC",
+ "2 c #336666",
+ "3 c #339966",
+ "4 c #339999",
+ "5 c #33CC99",
+ "6 c #33CCCC",
+ "7 c #666666",
+ "8 c #669966",
+ "9 c #669999",
+ "A c #66CCCC",
+ "B c #999999",
+ "C c #99CCCC",
+ "D c #CCCCCC",
+ "E c #CCFFCC",
+ "F c #CCFFFF",
+ "G c #FFFFFF",
+ " 77 ",
+ " 27444478 ",
+ " 941111114B ",
+ " 9GA111111AG9 ",
+ " 34AGA1111AGA43 ",
+ " 311AGA116GA114 ",
+ "74111AGA6GC11147",
+ "741111AGFC111143",
+ "7411111FGA111153",
+ "741111FCAGA11147",
+ " 3111EE11AGA1147",
+ " 341DF1111AGA53 ",
+ " 3CF111111AG9 ",
+ " 2D51111115BB ",
+ " 34455443 ",
+ " 773377 "};
+
+static char *sensor_x24[] = {
+ "24 24 17 1",
+ " c None",
+ "0 c #000000",
+ "1 c #00CCCC",
+ "2 c #336666",
+ "3 c #339966",
+ "4 c #339999",
+ "5 c #33CC99",
+ "6 c #33CCCC",
+ "7 c #666666",
+ "8 c #669999",
+ "9 c #66CCCC",
+ "A c #999999",
+ "B c #99CCCC",
+ "C c #CCCCCC",
+ "D c #CCFFCC",
+ "E c #CCFFFF",
+ "F c #FFFFFF",
+ " ",
+ " 72777727 ",
+ " 734511115432 ",
+ " 34111111111143 ",
+ " 8D111111111111BC ",
+ " 3BFE11111111119F63 ",
+ " 241BFE111111119F6143 ",
+ " 3111BFE1111119F91114 ",
+ " 741111BFE11116F9111153 ",
+ " 7111111BFE116F91111112 ",
+ " 71111111DFE6EB11111114 ",
+ " 311111111DFFB1111111147",
+ " 3111111111FFD1111111147",
+ " 311111111EBDFD111111147",
+ " 71111111DD11DFD1111113 ",
+ " 2411111DD1111DFD111152 ",
+ " 741111BE111111DFD11147 ",
+ " 3411BE11111111DFD153 ",
+ " 31BE6111111111DFD3 ",
+ " 7AE611111111111DC2 ",
+ " 8841111111111532 ",
+ " 345111111543 ",
+ " 7234444327 ",
+ " 77 "};
+
+static char *sensor_x32[] = {
+ "32 32 20 1",
+ " c None",
+ "0 c #000000",
+ "1 c #00CCCC",
+ "2 c #336666",
+ "3 c #339966",
+ "4 c #339999",
+ "5 c #33CC99",
+ "6 c #33CCCC",
+ "7 c #666666",
+ "8 c #669999",
+ "9 c #66CC99",
+ "A c #66CCCC",
+ "B c #999999",
+ "C c #99CC99",
+ "D c #99CCCC",
+ "E c #CCCCCC",
+ "F c #CCFFCC",
+ "G c #CCFFFF",
+ "H c #FFFFFF",
+ "I c #C0C0C0",
+ " ",
+ " 7777777777 ",
+ " 77777344477777 ",
+ " 777744111111543777 ",
+ " 77741111111111114377 ",
+ " 7B81111111111111111CB7 ",
+ " 77GHA11111111111111AHHB7 ",
+ " 774GHHA111111111111AHHG477 ",
+ " 7711GHHA1111111111AHHG11477 ",
+ " 774111GHHA111111116HHG111577 ",
+ " 7311111GHHA1111116HHG61111477 ",
+ " 774111111GHHA11116GHH611111577 ",
+ " 7751111116GHHA111GHH6111111177 ",
+ " 77111111116GHH61GHHA1111111147 ",
+ " 741111111116GHHGHHA11111111147 ",
+ " 7411111111116GHHHA1111111111477",
+ " 7411111111111DHHH61111111111477",
+ " 741111111111DHHHHH6111111111477",
+ " 73111111111DHHD6GHH61111111147 ",
+ " 7711111111DHHD116GHH6111111137 ",
+ " 774111111AHHE11116GHH611111577 ",
+ " 7411111AHHF1111116HHH61111477 ",
+ " 774111AHHG111111116HHG611177 ",
+ " 774116HHG11111111116HHG61477 ",
+ " 7746HHG6111111111116HHG577 ",
+ " 77GHG611111111111116HHB77 ",
+ " 7BG61111111111111119I77 ",
+ " 7774511111111111114777 ",
+ " 7774511111111547777 ",
+ " 7777344444437777 ",
+ " 777777777777 ",
+ " 7777 "};
+
+static char **sensor_xpm[3] = { sensor_x16, sensor_x24, sensor_x32 };
+
diff --git a/app/bin/bitmaps/signal.xpm b/app/bin/bitmaps/signal.xpm
index 521adad..66f55c7 100644
--- a/app/bin/bitmaps/signal.xpm
+++ b/app/bin/bitmaps/signal.xpm
@@ -1,25 +1,106 @@
-/* XPM */
-static char * signal_xpm[] = {
-"16 16 6 1",
-" c None",
-". c #000000",
-"+ c #3A000B",
-"@ c #C90328",
-"# c #D9032B",
-"$ c #F30431",
-" .. ",
-" .... ",
-" .+$@+. ",
-" .#$$#. ",
-" .+$@+. ",
-" .... ",
-" .. ",
-" .. ",
-" .. ",
-" .. ",
-" .. ",
-" .. ",
-" .. ",
-" .. ",
-" ............ ",
-" ............ "};
+static char *signal_x16[] = {
+ "16 16 7 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #660000",
+ "3 c #CC0033",
+ "4 c #FF0033",
+ "5 c #800000",
+ " 00 ",
+ " 23321 ",
+ " 144441 ",
+ " 144445 ",
+ " 144441 ",
+ " 23321 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 0000000000 "};
+
+static char *signal_x24[] = {
+ "24 24 8 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #660000",
+ "3 c #990033",
+ "4 c #CC0033",
+ "5 c #FF0033",
+ "6 c #800000",
+ " ",
+ " 11110 ",
+ " 12555562 ",
+ " 15555552 ",
+ " 0655555541 ",
+ " 0355555541 ",
+ " 155555560 ",
+ " 13555541 ",
+ " 123321 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00000000000000 ",
+ " 00000000000000 "};
+
+static char *signal_x32[] = {
+ "32 32 8 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #660000",
+ "3 c #990033",
+ "4 c #CC0033",
+ "5 c #FF0033",
+ "6 c #800000",
+ " ",
+ " 000000 ",
+ " 0001662000 ",
+ " 00355554100 ",
+ " 003555555400 ",
+ " 015555555560 ",
+ " 0655555555400 ",
+ " 0655555555300 ",
+ " 005555555520 ",
+ " 006555555300 ",
+ " 0064554600 ",
+ " 00000000 ",
+ " 000000 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 000000000000000000 ",
+ " 000000000000000000 ",
+ " 000000000000000000 "};
+
+static char **signal_xpm[3] = { signal_x16, signal_x24, signal_x32 };
+
diff --git a/app/bin/bitmaps/snap-curs.xpm b/app/bin/bitmaps/snap-curs.xpm
new file mode 100644
index 0000000..08b93d0
--- /dev/null
+++ b/app/bin/bitmaps/snap-curs.xpm
@@ -0,0 +1,102 @@
+static char *snap_curs_x16[] = {
+ "16 16 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #00CC00",
+ "2 c #808080",
+ " 1 1 1 1 ",
+ "1 1 1 1 1 1 1 1 ",
+ " 10000 1 1 ",
+ " 002 ",
+ " 0202 1 1 ",
+ "1 0 202 1 1 1 1 ",
+ " 1 202 1 1 ",
+ " 202 ",
+ " 1 1 201 1 ",
+ "1 1 1 1 1 1 1 1 ",
+ " 1 1 1 1 ",
+ " ",
+ " 1 1 1 1 ",
+ "1 1 1 1 1 1 1 1 ",
+ " 1 1 1 1 ",
+ " "};
+
+static char *snap_curs_x24[] = {
+ "24 24 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #00CC00",
+ "2 c #330033",
+ "3 c #808080",
+ " ",
+ " ",
+ " ",
+ " 11 11 11 11 ",
+ " 1 1 1 1 1 1 1 1 ",
+ " 1 1 1 1 1 1 1 1 ",
+ " 11222222 11 11 ",
+ " 022223 ",
+ " 22223 ",
+ " 02223 ",
+ " 11023303 11 11 ",
+ " 1 031 3031 1 1 1 ",
+ " 1 1 303 1 1 1 ",
+ " 11 11 3031 11 ",
+ " 303 ",
+ " 30 ",
+ " ",
+ " 11 11 11 11 ",
+ " 1 1 1 1 1 1 1 1 ",
+ " 1 1 1 1 1 1 1 1 ",
+ " 11 11 11 11 ",
+ " ",
+ " ",
+ " "};
+
+static char *snap_curs_x32[] = {
+ "32 32 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #006600",
+ "2 c #009900",
+ "3 c #00CC00",
+ "4 c #330000",
+ "5 c #330033",
+ "6 c #333300",
+ "7 c #333333",
+ "8 c #008000",
+ " ",
+ " 333 33 333 ",
+ " 33333 333333 33333 ",
+ " 33 33 3 3 33 3 ",
+ " 3 4413 33 33 33 3 ",
+ " 3 5555555555554 33 33 3 ",
+ " 33 455555555555 3 3 3 ",
+ " 33355555555583333 33333 ",
+ " 3555555555 ",
+ " 55555555 ",
+ " 555555554 ",
+ " 5555555554 ",
+ " 45555455551 ",
+ " 33335554 555583 33333 ",
+ " 33 554 155563 3 33 ",
+ " 3 68 33555513 33 3 ",
+ " 3 83 33 55556 33 3 ",
+ " 3 33 3 45555 33 3 ",
+ " 33 33 333327555 33 33 ",
+ " 333 3333455554 333 ",
+ " 55554 ",
+ " 55554 ",
+ " 555 ",
+ " 54 ",
+ " 3333 3333 3333 ",
+ " 33 3 33 33 33 33 ",
+ " 3 3 3 33 33 3 ",
+ " 3 3 33 33 33 3 ",
+ " 3 3 3 33 33 3 ",
+ " 3 3 33 33 33 33 ",
+ " 333 3333 3333 ",
+ " "};
+
+static char **snap_curs_xpm[3] = { snap_curs_x16, snap_curs_x24, snap_curs_x32 };
+
diff --git a/app/bin/bitmaps/snap-grid.xpm b/app/bin/bitmaps/snap-grid.xpm
new file mode 100644
index 0000000..1139051
--- /dev/null
+++ b/app/bin/bitmaps/snap-grid.xpm
@@ -0,0 +1,92 @@
+static char *snap_grid_x16[] = {
+ "16 16 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #00CC00",
+ " ",
+ " 1111111111111 ",
+ " 1 1 1 1 1 ",
+ " 1 1 1 1 1 ",
+ " 1111111111111 ",
+ " 1 1 1 1 1 ",
+ " 1 1 1 1 1 ",
+ " 1111111111111 ",
+ " 1 1 1 1 1 ",
+ " 1 1 1 1 1 ",
+ " 1111111111111 ",
+ " 1 1 1 1 1 ",
+ " 1 1 1 1 1 ",
+ " 1111111111111 ",
+ " ",
+ " "};
+
+static char *snap_grid_x24[] = {
+ "24 24 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #00CC00",
+ " ",
+ " 111111111111111111111 ",
+ " 1 1 1 1 1 ",
+ " 1 1 1 1 1 ",
+ " 1 1 1 1 1 ",
+ " 1 1 1 1 1 ",
+ " 111111111111111111111 ",
+ " 1 1 1 1 1 ",
+ " 1 1 1 1 1 ",
+ " 1 1 1 1 1 ",
+ " 1 1 1 1 1 ",
+ " 111111111111111111111 ",
+ " 1 1 1 1 1 ",
+ " 1 1 1 1 1 ",
+ " 1 1 1 1 1 ",
+ " 1 1 1 1 1 ",
+ " 111111111111111111111 ",
+ " 1 1 1 1 1 ",
+ " 1 1 1 1 1 ",
+ " 1 1 1 1 1 ",
+ " 1 1 1 1 1 ",
+ " 111111111111111111111 ",
+ " ",
+ " "};
+
+static char *snap_grid_x32[] = {
+ "32 32 3 1",
+ " c None",
+ "0 c #000000",
+ "1 c #00CC00",
+ " ",
+ " 1111111111111111111111111111111",
+ " 11 11 11 11 1 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 111111111111111111111111111111 ",
+ " 111111111111111111111111111111 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 11 11 11 11 1 ",
+ " 111111111111111111111111111111 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 11 11 11 11 1 ",
+ " 111111111111111111111111111111 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 1 11 11 1 1 ",
+ " 1111111111111111111111111111111",
+ " "};
+
+static char **snap_grid_xpm[3] = { snap_grid_x16, snap_grid_x24, snap_grid_x32 };
+
diff --git a/app/bin/bitmaps/snapcurs.xbm b/app/bin/bitmaps/snapcurs.xbm
deleted file mode 100644
index 06db450..0000000
--- a/app/bin/bitmaps/snapcurs.xbm
+++ /dev/null
@@ -1,7 +0,0 @@
-#define snapcurs_width 16
-#define snapcurs_height 16
-// static unsigned char snapcurs_bits[] = {
-static char snapcurs_bits[] = {
- 0x00, 0x00, 0x44, 0x44, 0xaa, 0xaa, 0xfc, 0x40, 0xf8, 0x07, 0xfc, 0x47,
- 0xfa, 0xab, 0xfc, 0x45, 0xf0, 0x03, 0x74, 0x47, 0xb2, 0xae, 0x44, 0x5c,
- 0x00, 0x08, 0x44, 0x44, 0xaa, 0xaa, 0x44, 0x44};
diff --git a/app/bin/bitmaps/snapvis.xbm b/app/bin/bitmaps/snapvis.xbm
deleted file mode 100644
index cab6ee5..0000000
--- a/app/bin/bitmaps/snapvis.xbm
+++ /dev/null
@@ -1,7 +0,0 @@
-#define snapvis_width 16
-#define snapvis_height 16
-// static unsigned char snapvis_bits[] = {
-static char snapvis_bits[] = {
- 0x44, 0x44, 0x44, 0x44, 0xff, 0xff, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
- 0xff, 0xff, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xff, 0xff, 0x44, 0x44,
- 0x44, 0x44, 0x44, 0x44, 0xff, 0xff, 0x44, 0x44};
diff --git a/app/bin/bitmaps/split-draw.xpm b/app/bin/bitmaps/split-draw.xpm
new file mode 100644
index 0000000..3e94832
--- /dev/null
+++ b/app/bin/bitmaps/split-draw.xpm
@@ -0,0 +1,95 @@
+static char *split_draw_x16[] = {
+ "16 16 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #808080",
+ " ",
+ " 2 ",
+ " 2 ",
+ " 2 ",
+ " 1 2 ",
+ " 11 2 ",
+ " 11 2 ",
+ " 111122 ",
+ " 2 111 ",
+ " 221111 ",
+ " 22 11 ",
+ " 22 11 ",
+ " 22 ",
+ " 22 ",
+ " 22 ",
+ " "};
+
+static char *split_draw_x24[] = {
+ "24 24 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #808080",
+ " ",
+ " 2 ",
+ " 22 ",
+ " 22 ",
+ " 2 ",
+ " 2 ",
+ " 11 2 ",
+ " 11 2 ",
+ " 11 2 ",
+ " 11 2 ",
+ " 111111 2 ",
+ " 11111 ",
+ " 11 ",
+ " 2 111111 ",
+ " 22 11 ",
+ " 22 1 ",
+ " 22 1 ",
+ " 22 1 ",
+ " 22 1 ",
+ " 22 ",
+ " 22 ",
+ " 22 ",
+ " 2 ",
+ " "};
+
+static char *split_draw_x32[] = {
+ "32 32 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #808080",
+ " ",
+ " ",
+ " 2 ",
+ " 222 ",
+ " 222 ",
+ " 222 ",
+ " 222 ",
+ " 222 ",
+ " 11 222 ",
+ " 11 222 ",
+ " 11 222 ",
+ " 11 222 ",
+ " 11 222 ",
+ " 11111 222 ",
+ " 11111111 22 ",
+ " 1111111 ",
+ " ",
+ " 22 11111111 ",
+ " 222 11111111 ",
+ " 222 11 ",
+ " 222 11 ",
+ " 22 11 ",
+ " 222 11 ",
+ " 222 11 ",
+ " 222 11 ",
+ " 222 ",
+ " 222 ",
+ " 222 ",
+ " 222 ",
+ " 22 ",
+ " ",
+ " "};
+
+static char **split_draw_xpm[3] = { split_draw_x16, split_draw_x24, split_draw_x32 };
+
diff --git a/app/bin/bitmaps/split.xpm b/app/bin/bitmaps/split.xpm
new file mode 100644
index 0000000..1e0386a
--- /dev/null
+++ b/app/bin/bitmaps/split.xpm
@@ -0,0 +1,107 @@
+static char *split_x16[] = {
+ "16 16 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #996666",
+ "3 c #999999",
+ "4 c #CC0000",
+ "5 c #CC3333",
+ "6 c #CC6666",
+ "7 c #C0C0C0",
+ "8 c #808080",
+ " ",
+ " 781 ",
+ " 71371 ",
+ " 4 83 88 ",
+ " 4 887317 ",
+ " 47887887 ",
+ " 444418718 ",
+ " 562 38 ",
+ " 38 17 ",
+ " 7317314444 ",
+ " 7887 834 ",
+ " 88 38 74 ",
+ " 38 313 4 ",
+ " 13313 ",
+ " 83 ",
+ " 7 "};
+
+static char *split_x24[] = {
+ "24 24 7 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #999999",
+ "3 c #CC0000",
+ "4 c #C0C0C0",
+ "5 c #808080",
+ " ",
+ " 4 1 ",
+ " 251 ",
+ " 4 124 ",
+ " 3 451 4211 ",
+ " 33 4 124 52 ",
+ " 33 451 44114 ",
+ " 334 154 55 ",
+ " 33451 44114 ",
+ " 333333154 52 ",
+ " 3333333 441144 ",
+ " 4 55 ",
+ " 421 144 ",
+ " 12 333 ",
+ " 21 44513333333 ",
+ " 12 55 33 ",
+ " 21 451 433 ",
+ " 12 55 33 ",
+ " 21 421 4 33 ",
+ " 12 52 3 ",
+ " 1 421 4 ",
+ " 52 ",
+ " 1 4 ",
+ " "};
+
+static char *split_x32[] = {
+ "32 32 7 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #999999",
+ "3 c #CC0000",
+ "4 c #C0C0C0",
+ "5 c #808080",
+ " ",
+ " ",
+ " 44 1 ",
+ " 25 ",
+ " 124 ",
+ " 4411 44 1 ",
+ " 33 55 421 ",
+ " 33 4 1144 52 ",
+ " 33 451 44 1 44 ",
+ " 33 15 25 ",
+ " 33 4 11 44 124 ",
+ " 33 421 421 4 ",
+ " 33333333 114 52 ",
+ " 33333333 1 4 1 44 ",
+ " 33333 411 ",
+ " 4 12 ",
+ " 421 11 4 ",
+ " 52 ",
+ " 4 1 44 333333333 ",
+ " 21 4411 33333333 ",
+ " 124 25 333 ",
+ " 4 11 44 1124 33 ",
+ " 55 421 33 ",
+ " 4 154 152 33 ",
+ " 4411 4 1 4 33 ",
+ " 55 21 33 ",
+ " 11 4 12 ",
+ " 4 1 4 ",
+ " 25 ",
+ " 1 4 ",
+ " 1 ",
+ " "};
+
+static char **split_xpm[3] = { split_x16, split_x24, split_x32 };
+
diff --git a/app/bin/bitmaps/splittrk.xpm b/app/bin/bitmaps/splittrk.xpm
deleted file mode 100644
index 3a03c77..0000000
--- a/app/bin/bitmaps/splittrk.xpm
+++ /dev/null
@@ -1,22 +0,0 @@
-/* XPM */
-static char * splittrk_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFF00000000",
-" . . ",
-" . ",
-" X . . .",
-" X . . . ",
-" X . . .",
-" XXXX . . . ",
-" . ",
-" . . ",
-" . . ",
-" . ",
-" . . . XXXX ",
-". . . X ",
-" . . . X ",
-". . . X ",
-" . ",
-" . . "};
diff --git a/app/bin/bitmaps/sticky-doc.xpm b/app/bin/bitmaps/sticky-doc.xpm
new file mode 100644
index 0000000..7b0e4cb
--- /dev/null
+++ b/app/bin/bitmaps/sticky-doc.xpm
@@ -0,0 +1,130 @@
+static char *sticky_doc_x16[] = {
+ "16 16 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066CC",
+ "2 c #666699",
+ "3 c #669999",
+ "4 c #996633",
+ "5 c #999999",
+ "6 c #CC6633",
+ "7 c #CC9900",
+ "8 c #CC9933",
+ "9 c #CC9999",
+ "A c #CCCC66",
+ "B c #FFCC00",
+ "C c #FFCC33",
+ "D c #FFCC66",
+ " ",
+ " ",
+ "4888888888884 ",
+ "4BBBBBBCBBBB764 ",
+ "4BBD59B99BBB7774",
+ "4BC2D95C95CBBBB4",
+ "4BC2CBA5CA5CBBB4",
+ "4BBC5ABD5CD5CBB4",
+ "4BBBC59BCABC3CB4",
+ "4BBBBB95CBBB5DB4",
+ "4BBBBBBA2ABD2CB4",
+ "4BBBBBBBC513DBB4",
+ "4BBBBBBBBBBBBBB4",
+ "4777777777777774",
+ " 444444444444444",
+ " "};
+
+static char *sticky_doc_x24[] = {
+ "24 24 17 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066CC",
+ "2 c #3366CC",
+ "3 c #666699",
+ "4 c #669999",
+ "5 c #996633",
+ "6 c #999999",
+ "7 c #CC6633",
+ "8 c #CC9900",
+ "9 c #CC9933",
+ "A c #CC9966",
+ "B c #CC9999",
+ "C c #CCCC66",
+ "D c #FFCC00",
+ "E c #FFCC33",
+ "F c #FFCC66",
+ " ",
+ " ",
+ " ",
+ "5555555555555555555 ",
+ "58DDDDDDDDDDDDDDDD85 ",
+ "58DDDDDDDDDDEDDDDD8875 ",
+ "58DDDC26ADD64EDDDD88885 ",
+ "58DDA13216EB13FDDDDDDD85",
+ "58DD32EE616EC22CDDDDDD95",
+ "58DD42CDDB13EF21ADDDDD95",
+ "58DDF21BDDA12FE316EDDD95",
+ "58DDDE316EDC22EE616EDD95",
+ "58DDDDE614EDFBDDE616DD95",
+ "58DDDDDDB12FDDDDDD61ED95",
+ "58DDDDDDDC21BDDDDD61ED95",
+ "58DDDDDDDDE316EDDF16DD95",
+ "58DDDDDDDDDE612BB21FDD95",
+ "58DDDDDDDDDDDC3112CDDD95",
+ "58DDDDDDDDDDDDDFFDDDDD95",
+ "58DDDDDDDDDDDDDDDDDDDD95",
+ "579999999999999999999955",
+ " 5555555555555555555555 ",
+ " ",
+ " "};
+
+static char *sticky_doc_x32[] = {
+ "32 32 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066CC",
+ "2 c #3366CC",
+ "3 c #666699",
+ "4 c #996633",
+ "5 c #999999",
+ "6 c #CC6633",
+ "7 c #CC9900",
+ "8 c #CC9966",
+ "9 c #CC9999",
+ "A c #CCCC66",
+ "B c #FFCC00",
+ "C c #FFCC33",
+ "D c #FFCC66",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 444444444444444444444444 ",
+ " 4BBBBBBBBBBBBBBBBBBBBB764 ",
+ " 4BBBBBBBBBBBBBBBBBBBBBB7744 ",
+ " 4BBBBBBBBBBBBBCCBBBBBBB77744 ",
+ " 4BBBBBA315DBBB53DBBBBBB777774 ",
+ " 4BBBB511112ABC212ABBBBB7777774 ",
+ " 4BBBA115A3119BC3118BBBBBBBBBB4 ",
+ " 4BBB915BBC5115CC5119BBBBBBBBB4 ",
+ " 4BBB812DBBB5115CC5115CBBBBBBB4 ",
+ " 4BBBC3118BBB8113CB9115CBBBBBB4 ",
+ " 4BBBBC3119CBBA212DBA213DBBBBB4 ",
+ " 4BBBBBC5115CBBD313CBD212ABBBB4 ",
+ " 4BBBBBBB9113DBBC5DBBBC311CBBB4 ",
+ " 4BBBBBBBBA2128BBBBBBBBC319BBB4 ",
+ " 4BBBBBBBBBC3115CBBBBBBB915BBB4 ",
+ " 4BBBBBBBBBBC5115CBBBBBB915BBB4 ",
+ " 4BBBBBBBBBBBB9113DBBBBC219BBB4 ",
+ " 4BBBBBBBBBBBBBA2115CBA313CBBB4 ",
+ " 4BBBBBBBBBBBBBBC51111112DBBBB4 ",
+ " 4BBBBBBBBBBBBBBBBA31115CBBBBB4 ",
+ " 4BBBBBBBBBBBBBBBBBCDDCBBBBBBB4 ",
+ " 4BBBBBBBBBBBBBBBBBBBBBBBBBBBB4 ",
+ " 4BBBBBBBBBBBBBBBBBBBBBBBBBBBB4 ",
+ " 444444444444444444444444444444 ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char **sticky_doc_xpm[3] = { sticky_doc_x16, sticky_doc_x24, sticky_doc_x32 };
+
diff --git a/app/bin/bitmaps/sticky-link.xpm b/app/bin/bitmaps/sticky-link.xpm
new file mode 100644
index 0000000..b2a027b
--- /dev/null
+++ b/app/bin/bitmaps/sticky-link.xpm
@@ -0,0 +1,138 @@
+static char *sticky_link_x16[] = {
+ "16 16 18 1",
+ " c None",
+ "0 c #000000",
+ "1 c #3366CC",
+ "2 c #666699",
+ "3 c #6666CC",
+ "4 c #669999",
+ "5 c #996600",
+ "6 c #996633",
+ "7 c #999999",
+ "8 c #CC6633",
+ "9 c #CC9900",
+ "A c #CC9933",
+ "B c #CC9966",
+ "C c #CC9999",
+ "D c #CCCC66",
+ "E c #FFCC00",
+ "F c #FFCC33",
+ "G c #FFCC66",
+ " ",
+ " ",
+ "68AAAAAAAAAA6 ",
+ "6EEEEEEEEEEE986 ",
+ "6EEEEEEEEEEE9996",
+ "6EEGCGEEEEFCGEE6",
+ "6ED7C4CEED2C7BE6",
+ "6E4GEEB777FEF1F6",
+ "6E1FEEF22GEEE3F6",
+ "6E77GC4FF77GB7E6",
+ "6EEC7BFEEEB77FE6",
+ "6EEEEEEEEEEEEEE6",
+ "6EEEEEEEEEEEEEE6",
+ "6A99999999999996",
+ " 666666666666666",
+ " "};
+
+static char *sticky_link_x24[] = {
+ "24 24 19 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066CC",
+ "2 c #3366CC",
+ "3 c #666699",
+ "4 c #6666CC",
+ "5 c #669999",
+ "6 c #996600",
+ "7 c #996633",
+ "8 c #999999",
+ "9 c #CC6633",
+ "A c #CC9900",
+ "B c #CC9933",
+ "C c #CC9966",
+ "D c #CC9999",
+ "E c #CCCC66",
+ "F c #FFCC00",
+ "G c #FFCC33",
+ "H c #FFCC66",
+ " ",
+ " ",
+ " ",
+ "7777777777777777777 ",
+ "7BFFFFFFFFFFFFFFFFA7 ",
+ "7BFFFFFFFFFFFFFFFFAA97 ",
+ "7BFFFFFFFFFFFFFFFFAAAA7 ",
+ "7BFFFFFFFFFFFFFFFFFFFFA7",
+ "7BFFH888EFFFFFFG888HFFA7",
+ "7BFG228418GFFGD12822HFA7",
+ "7BFD2GFFC22HG818GFG38FA7",
+ "7BF88FFFFG3142EFFFFD2GA7",
+ "7BF3DFFFFFD118GFFFFE1GA7",
+ "7BF83FFFG818D13HFFF85FA7",
+ "7BFE18D822CFFE218D81DFA7",
+ "7BFFD1118HFFFFGD2118GFA7",
+ "7BFFFGHFFFFFFFFFFGGFFFA7",
+ "7BFFFFFFFFFFFFFFFFFFFFA7",
+ "7BFFFFFFFFFFFFFFFFFFFFA7",
+ "7BFFFFFFFFFFFFFFFFFFFFA7",
+ "77BBBBBBBBBBBBBBBBBBBB97",
+ " 7777777777777777777777 ",
+ " ",
+ " "};
+
+static char *sticky_link_x32[] = {
+ "32 32 18 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066CC",
+ "2 c #3366CC",
+ "3 c #666699",
+ "4 c #6666CC",
+ "5 c #669999",
+ "6 c #996600",
+ "7 c #996633",
+ "8 c #999999",
+ "9 c #CC9900",
+ "A c #CC9933",
+ "B c #CC9966",
+ "C c #CC9999",
+ "D c #CCCC66",
+ "E c #FFCC00",
+ "F c #FFCC33",
+ "G c #FFCC66",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 777777777777777777777777 ",
+ " 7EEEEEEEEEEEEEEEEEEEEEEA7 ",
+ " 7EEEEEEEEEEEEEEEEEEEEEE9977 ",
+ " 7EEEEEEEEEEEEEEEEEEEEEE99977 ",
+ " 7EEEEEEEEEEEEEEEEEEEEEE999997 ",
+ " 7EEEEEEEEEEEEEEEEEEEEEE9999997 ",
+ " 7EEEEEFFEEEEEEEEEEEEEEFFEEEEE7 ",
+ " 7EEEF82115DFEEEEEEEG81118FEEE7 ",
+ " 7EEF81111113FEEEEF81111115FEE7 ",
+ " 7EED12DEFB412BEEG3118GEG51CEE7 ",
+ " 7EE81DEEEEF811CD213GEEEEG12EE7 ",
+ " 7EE42EEEEEEEC11118FEEEEEE81FE7 ",
+ " 7EE22EEEEEEEF8112FEEEEEEE81GE7 ",
+ " 7EE51FEEEEEG312312DEEEEEE31FE7 ",
+ " 7EEC18EEEF8113GF8118FEEEB18EE7 ",
+ " 7EEF21488111CFEEEC21188811DEE7 ",
+ " 7EEEG411118GEEEEEEF811111BEEE7 ",
+ " 7EEEEFDCDFEEEEEEEEEEFCCCFEEEE7 ",
+ " 7EEEEEEEEEEEEEEEEEEEEEEEEEEEE7 ",
+ " 7EEEEEEEEEEEEEEEEEEEEEEEEEEEE7 ",
+ " 7EEEEEEEEEEEEEEEEEEEEEEEEEEEE7 ",
+ " 7EEEEEEEEEEEEEEEEEEEEEEEEEEEE7 ",
+ " 7EEEEEEEEEEEEEEEEEEEEEEEEEEEE7 ",
+ " 777777777777777777777777777777 ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char **sticky_link_xpm[3] = { sticky_link_x16, sticky_link_x24, sticky_link_x32 };
+
diff --git a/app/bin/bitmaps/sticky-note-chain.xpm b/app/bin/bitmaps/sticky-note-chain.xpm
deleted file mode 100644
index aa9445a..0000000
--- a/app/bin/bitmaps/sticky-note-chain.xpm
+++ /dev/null
@@ -1,84 +0,0 @@
-/* XPM */
-static char * sticky_note_chain_bits[] = {
-"16 16 65 1",
-" c None",
-". c #CCB301",
-"+ c #CAB101",
-"@ c #FBEF9C",
-"# c #F9EB8F",
-"$ c #F8EA8D",
-"% c #F8E98A",
-"& c #F6E785",
-"* c #F3E37C",
-"= c #F0E074",
-"- c #EEDD6F",
-"; c #D5C44D",
-"> c #C8AF01",
-", c #FBED95",
-"' c #F7E67E",
-") c #F6E57C",
-"! c #F5E47B",
-"~ c #F4E379",
-"{ c #F1E075",
-"] c #ECDB70",
-"^ c #E8D76A",
-"/ c #E6D567",
-"( c #CDBC45",
-"_ c #FFF6BB",
-": c #C6AD01",
-"< c #FCEB84",
-"[ c #B7A73A",
-"} c #BFAE37",
-"| c #AC9401",
-"1 c #C3AA01",
-"2 c #FBED97",
-"3 c #EEDD7B",
-"4 c #9D96F6",
-"5 c #E1D26F",
-"6 c #C0A701",
-"7 c #006E6E",
-"8 c #00FFFF",
-"9 c #BCA401",
-"0 c #AFA358",
-"a c #ADA054",
-"b c #B9A101",
-"c c #B59E01",
-"d c #FEF19E",
-"e c #EDDD7C",
-"f c #E5D575",
-"g c #E5D571",
-"h c #B29A01",
-"i c #FFF2A1",
-"j c #FEED87",
-"k c #FDEC86",
-"l c #FDEC85",
-"m c #FBEA82",
-"n c #FAE981",
-"o c #F8E77F",
-"p c #A89100",
-"q c #FFF4AF",
-"r c #FFF1A0",
-"s c #FDF09C",
-"t c #FDEF9B",
-"u c #FCEE99",
-"v c #FAEC92",
-"w c #F9EA90",
-"x c #FAEC96",
-"y c #9D8600",
-"z c #9C8500",
-" ",
-" ",
-" ........... ",
-" +@#$%&*=--;+ ",
-" >,')!~{]^/(_> ",
-" :<<<<<<<<<[}}| ",
-" 1234445444''-1 ",
-" 647887478874-6 ",
-" 94800878a084=9 ",
-" b47887478874*b ",
-" cde444f444g{&c ",
-" hijkl<mno')!%h ",
-" pqirdstu2,vwxp ",
-" yzzzzzzzzzzzzy ",
-" ",
-" "};
diff --git a/app/bin/bitmaps/sticky-note-clip.xpm b/app/bin/bitmaps/sticky-note-clip.xpm
deleted file mode 100644
index c74c64d..0000000
--- a/app/bin/bitmaps/sticky-note-clip.xpm
+++ /dev/null
@@ -1,99 +0,0 @@
-/* XPM */
-static char * sticky_note_clip_bits[] = {
-"16 16 80 1",
-" c None",
-". c #CCB301",
-"+ c #CAB101",
-"@ c #FBEF9C",
-"# c #F9EB8F",
-"$ c #F8EA8D",
-"% c #F8E98A",
-"& c #F7E992",
-"* c #EDE1A3",
-"= c #555753",
-"- c #DFCF67",
-"; c #D5C44D",
-"> c #C8AF01",
-", c #FBED95",
-"' c #F7E67E",
-") c #F6E57C",
-"! c #F6E68A",
-"~ c #ECE0A0",
-"{ c #BABDB6",
-"] c #EFE3A7",
-"^ c #CDBC45",
-"/ c #FFF6BB",
-"( c #C6AD01",
-"_ c #FBED97",
-": c #F8E77F",
-"< c #F8E88D",
-"[ c #EDE0A0",
-"} c #F5E68F",
-"| c #F0E39B",
-"1 c #888A85",
-"2 c #BFAE37",
-"3 c #AC9401",
-"4 c #C3AA01",
-"5 c #FCEE99",
-"6 c #F7E78B",
-"7 c #EBDE9C",
-"8 c #F8EBA2",
-"9 c #ECDB70",
-"0 c #E8D76A",
-"a c #E6D567",
-"b c #EEDD6F",
-"c c #C0A701",
-"d c #FDF0A5",
-"e c #DCD695",
-"f c #EAE29B",
-"g c #E8E098",
-"h c #DACB69",
-"i c #BCA401",
-"j c #FDF3B6",
-"k c #B9A101",
-"l c #FEF4B7",
-"m c #E0D986",
-"n c #F5E47B",
-"o c #F4E379",
-"p c #F1E075",
-"q c #F3E37C",
-"r c #B59E01",
-"s c #FFF3B4",
-"t c #DECF6F",
-"u c #F4E47D",
-"v c #F5E47C",
-"w c #F6E785",
-"x c #B29A01",
-"y c #FFF2A3",
-"z c #FBEDA4",
-"A c #F0E07C",
-"B c #F3E27C",
-"C c #F5E47D",
-"D c #A89100",
-"E c #FFF4AF",
-"F c #FFF2A1",
-"G c #FFF1A0",
-"H c #FEF19E",
-"I c #FDF09C",
-"J c #FDEF9B",
-"K c #FAEC92",
-"L c #F9EA90",
-"M c #FAEC96",
-"N c #9D8600",
-"O c #9C8500",
-" ",
-" ",
-" ........... ",
-" +@#$%&*==-;+ ",
-" >,')!~={]=^/> ",
-" (_:<[=}=|1{223 ",
-" 4567=8=8=90ab4 ",
-" cde=f=g=}h90bc ",
-" ij1818=8={)))i ",
-" kl=m=1f={nopqk ",
-" rs1t)8={uvnowr ",
-" xyz1=1{ABC)n%x ",
-" DEFGHIJ5_,KLMD ",
-" NOOOOOOOOOOOON ",
-" ",
-" "};
diff --git a/app/bin/bitmaps/sticky-note-text.xpm b/app/bin/bitmaps/sticky-note-text.xpm
deleted file mode 100644
index 119f39b..0000000
--- a/app/bin/bitmaps/sticky-note-text.xpm
+++ /dev/null
@@ -1,86 +0,0 @@
-/* XPM */
-static char * sticky_note_text_bits[] = {
-"16 16 67 1",
-" c None",
-". c #CCB301",
-"+ c #CAB101",
-"@ c #FBEF9C",
-"# c #F9EB8F",
-"$ c #F8EA8D",
-"% c #F8E98A",
-"& c #F6E785",
-"* c #F3E37C",
-"= c #F0E074",
-"- c #EEDD6F",
-"; c #D5C44D",
-"> c #C8AF01",
-", c #FBED95",
-"' c #F7E67E",
-") c #F6E57C",
-"! c #F5E47B",
-"~ c #F4E379",
-"{ c #F1E075",
-"] c #ECDB70",
-"^ c #E8D76A",
-"/ c #E6D567",
-"( c #CDBC45",
-"_ c #FFF6BB",
-": c #C6AD01",
-"< c #FBED97",
-"[ c #F8E77F",
-"} c #BFAE37",
-"| c #AC9401",
-"1 c #C3AA01",
-"2 c #FCEE99",
-"3 c #7E7E7E",
-"4 c #979797",
-"5 c #C0A701",
-"6 c #FDEF9B",
-"7 c #E5DC75",
-"8 c #E4DB73",
-"9 c #E4DA70",
-"0 c #E3D86D",
-"a c #E2D769",
-"b c #EBDC70",
-"c c #BCA401",
-"d c #FDF09D",
-"e c #B9A101",
-"f c #FEF19E",
-"g c #E5DD77",
-"h c #EDDF75",
-"i c #B59E01",
-"j c #FFF1A0",
-"k c #DED273",
-"l c #E1D078",
-"m c #B29A01",
-"n c #FFF2A1",
-"o c #FEED87",
-"p c #FDEC86",
-"q c #FDEC85",
-"r c #FCEB84",
-"s c #FBEA82",
-"t c #FAE981",
-"u c #A89100",
-"v c #FFF4AF",
-"w c #FDF09C",
-"x c #FAEC92",
-"y c #F9EA90",
-"z c #FAEC96",
-"A c #9D8600",
-"B c #9C8500",
-" ",
-" ",
-" ........... ",
-" +@#$%&*=--;+ ",
-" >,')!~{]^/(_> ",
-" :<[')!~{]^}}}| ",
-" 12334344{]^/-1 ",
-" 567890ab~{]^-5 ",
-" cd3334333443=c ",
-" efgg789h)!~{*e ",
-" ij3343kl')!~&i ",
-" mnopqrst[')!%m ",
-" uvnjfw62<,xyzu ",
-" ABBBBBBBBBBBBA ",
-" ",
-" "};
diff --git a/app/bin/bitmaps/sticky-note.xpm b/app/bin/bitmaps/sticky-note.xpm
new file mode 100644
index 0000000..fbd12e1
--- /dev/null
+++ b/app/bin/bitmaps/sticky-note.xpm
@@ -0,0 +1,124 @@
+static char *sticky_note_x16[] = {
+ "16 16 14 1",
+ " c None",
+ "0 c #000000",
+ "1 c #996600",
+ "2 c #996633",
+ "3 c #999999",
+ "4 c #CC6633",
+ "5 c #CC9900",
+ "6 c #CC9933",
+ "7 c #CC9966",
+ "8 c #CC9999",
+ "9 c #CCCC66",
+ "A c #FFCC00",
+ "B c #FFCC33",
+ "C c #FFCC66",
+ " ",
+ " ",
+ "2466666666662 ",
+ "2AAAAAAAAAAA542 ",
+ "2733333333375552",
+ "2BCCCCCCCCCBAAA2",
+ "2B88888888888CA2",
+ "2B88888888888CA2",
+ "2BCCCCCCCCCCBAA2",
+ "2733333333338AA2",
+ "2AAAAAAAAAAAAAA2",
+ "2733333333333392",
+ "2BCCCCCCCCCCCCB2",
+ "2655555555555552",
+ " 222222222222222",
+ " "};
+
+static char *sticky_note_x24[] = {
+ "24 24 14 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066CC",
+ "2 c #996600",
+ "3 c #996633",
+ "4 c #999999",
+ "5 c #CC6633",
+ "6 c #CC9900",
+ "7 c #CC9933",
+ "8 c #CC9999",
+ "9 c #CCCC66",
+ "A c #FFCC00",
+ "B c #FFCC33",
+ "C c #FFCC66",
+ " ",
+ " ",
+ " ",
+ "3333333333333333333 ",
+ "37AAAAAAAAAAAAAAAA63 ",
+ "37AAAAAAAAAAAAAAAA6653 ",
+ "37B11111111111114A66663 ",
+ "37B44444444444448AAAAA63",
+ "37AAAAAAAAAAAAAAAAAAAA63",
+ "37B88888888888888889AA63",
+ "37B11111111111111114AA63",
+ "37BCCCCCCCCCCCCCCCCCAA63",
+ "37AAAAAAAAAAAAAAAAAAAA63",
+ "37B1111111111111118AAA63",
+ "37B4444444444444449AAA63",
+ "37AAAAAAAAAAAAAAAAAAAA63",
+ "37B888888888888888888A63",
+ "37B111111111111111111A63",
+ "37BCCCCCCCCCCCCCCCCCCA63",
+ "37AAAAAAAAAAAAAAAAAAAA63",
+ "337777777777777777777753",
+ " 3333333333333333333333 ",
+ " ",
+ " "};
+
+static char *sticky_note_x32[] = {
+ "32 32 13 1",
+ " c None",
+ "0 c #000000",
+ "1 c #0066CC",
+ "2 c #996600",
+ "3 c #996633",
+ "4 c #999999",
+ "5 c #CC9900",
+ "6 c #CC9933",
+ "7 c #CC9999",
+ "8 c #CCCC66",
+ "9 c #FFCC00",
+ "A c #FFCC33",
+ "B c #FFCC66",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 333333333333333333333333 ",
+ " 3999999999999999999999963 ",
+ " 399999999999999999999995533 ",
+ " 3999999999999999999999955533 ",
+ " 39A111111111111111111B9555553 ",
+ " 39A111111111111111111B95555553 ",
+ " 39ABBBBBBBBBBBBBBBBBBA99999993 ",
+ " 399999999999999999999999999993 ",
+ " 39ABBBBBBBBBBBBBBBBBBBBBBA9993 ",
+ " 39A1111111111111111111111B9993 ",
+ " 39A1111111111111111111111B9993 ",
+ " 399999999999999999999999999993 ",
+ " 399999999999999999999999999993 ",
+ " 39A777777777777777777778999993 ",
+ " 39B111111111111111111114999993 ",
+ " 39B444444444444444444447999993 ",
+ " 399999999999999999999999999993 ",
+ " 399999999999999999999999999993 ",
+ " 39A111111111111111111111111993 ",
+ " 39A111111111111111111111111993 ",
+ " 39ABBBBBBBBBBBBBBBBBBBBBBBB993 ",
+ " 399999999999999999999999999993 ",
+ " 399999999999999999999999999993 ",
+ " 333333333333333333333333333333 ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char **sticky_note_xpm[3] = { sticky_note_x16, sticky_note_x24, sticky_note_x32 };
+
diff --git a/app/bin/bitmaps/stop.xpm b/app/bin/bitmaps/stop.xpm
index 5c66ba1..78fb1fc 100644
--- a/app/bin/bitmaps/stop.xpm
+++ b/app/bin/bitmaps/stop.xpm
@@ -1,22 +1,128 @@
-/* XPM */
-static char * stop_xpm[] = {
-"16 16 3 1",
-" c None",
-"X c #000000000000",
-"o c #FFFF00000000",
-" XXXXXXX ",
-" XXXXXXXXX ",
-" XXoooooooXX ",
-" XXoooooooooXX ",
-"XXoooooooooooXX ",
-"XXoooooooooooXX ",
-"XXoooooooooooXX ",
-"XXoooooooooooXX ",
-"XXoooooooooooXX ",
-"XXoooooooooooXX ",
-"XXoooooooooooXX ",
-" XXoooooooooXX ",
-" XXoooooooXX ",
-" XXXXXXXXX ",
-" XXXXXXX ",
-" "};
+static char *stop_x16[] = {
+ "16 16 14 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #660000",
+ "3 c #990000",
+ "4 c #993300",
+ "5 c #993333",
+ "6 c #CC3333",
+ "7 c #CC6633",
+ "8 c #CC6666",
+ "9 c #CC9966",
+ "A c #CC9999",
+ "B c #FF9999",
+ "C c #800000",
+ " 00 ",
+ " 1221 ",
+ " 11566511 ",
+ " 015788886510 ",
+ " 12678888886620 ",
+ " 13688AAA9876C0 ",
+ " 14689ABAA886C0 ",
+ " 1478AABBA886C0 ",
+ " 14789ABBA886C0 ",
+ " 14688AAAA886C0 ",
+ " 136788A98876C0 ",
+ " 11568888876410 ",
+ " 1C677776C1 ",
+ " 11566411 ",
+ " 1111 ",
+ " "};
+
+static char *stop_x24[] = {
+ "24 24 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #660000",
+ "3 c #990000",
+ "4 c #993300",
+ "5 c #993333",
+ "6 c #CC3300",
+ "7 c #CC3333",
+ "8 c #CC6633",
+ "9 c #CC6666",
+ "A c #CC9966",
+ "B c #CC9999",
+ "C c #FF9999",
+ "D c #800000",
+ " ",
+ " 0110 ",
+ " 1D7721 ",
+ " 1277777511 ",
+ " 11578888877410 ",
+ " 01D77899999987721 ",
+ " 12677899999999877310 ",
+ " 13778999ABA9999776D0 ",
+ " 1377899BBBBBA99877D0 ",
+ " 147899ABBBBBB99977D0 ",
+ " 147899BBCCCBBA9977D0 ",
+ " 147899BBCCCCBA9987D0 ",
+ " 147899BBCCCCBA9977D0 ",
+ " 147899ABBCCBB99977D0 ",
+ " 1377999BBBBBA99877D0 ",
+ " 13778999BBBA999876D0 ",
+ " 136779999999998776D0 ",
+ " 1D77789999998776D1 ",
+ " 1157788998877411 ",
+ " 127777777511 ",
+ " 014777721 ",
+ " 113D10 ",
+ " 10 ",
+ " "};
+
+static char *stop_x32[] = {
+ "32 32 16 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #660000",
+ "3 c #990000",
+ "4 c #993300",
+ "5 c #993333",
+ "6 c #CC0000",
+ "7 c #CC3300",
+ "8 c #CC3333",
+ "9 c #CC6633",
+ "A c #CC6666",
+ "B c #CC9966",
+ "C c #CC9999",
+ "D c #FF9999",
+ "E c #800000",
+ " ",
+ " 11 ",
+ " 113E10 ",
+ " 014888821 ",
+ " 128888888511 ",
+ " 1158889999888411 ",
+ " 11488999AAA999888E1 ",
+ " 01E88899AAAAAAAA9888411 ",
+ " 12388899AAAAAAAAAA98887E1 ",
+ " 1378899AAAABBBAAAAA98886E0 ",
+ " 137889AAAABCCCCBAAAA9887E0 ",
+ " 138899AAACCCCCCCBAAA9887E0 ",
+ " 14889AAABCCCCCCCCAAA9888E0 ",
+ " 14889AAACCCDDDDCCBAAA988E0 ",
+ " 14889AABCCDDDDDCCCAAA988E0 ",
+ " 14889AABCCDDDDDCCCAAA988E0 ",
+ " 17889AABCCDDDDDCCCAAA988E0 ",
+ " 17889AAACCCDDDDCCBAAA988E0 ",
+ " 17889AAABCCCCCCCCBAA9888E0 ",
+ " 138899AAACCCCCCCBAAA9887E0 ",
+ " 137889AAABCCCCCBAAAA9887E0 ",
+ " 1378899AAAABBBAAAAA98887E0 ",
+ " 1E78889AAAAAAAAAAA98887620 ",
+ " 11488899AAAAAAAA99887311 ",
+ " 1E888999AAAA99888521 ",
+ " 11488899999888821 ",
+ " 11588888888410 ",
+ " 1288888411 ",
+ " 01E7411 ",
+ " 111 ",
+ " ",
+ " "};
+
+static char **stop_xpm[3] = { stop_x16, stop_x24, stop_x32 };
+
diff --git a/app/bin/bitmaps/straight-line.xpm b/app/bin/bitmaps/straight-line.xpm
new file mode 100644
index 0000000..9808d8d
--- /dev/null
+++ b/app/bin/bitmaps/straight-line.xpm
@@ -0,0 +1,96 @@
+static char *straight_line_x16[] = {
+ "16 16 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #CC0000",
+ " ",
+ " 222 ",
+ " 222 ",
+ " 2 2 ",
+ " 22 ",
+ " 22 ",
+ " 22 ",
+ " 01 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " "};
+
+static char *straight_line_x24[] = {
+ "24 24 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #990000",
+ "2 c #CC0000",
+ "3 c #800000",
+ " ",
+ " ",
+ " 2222 ",
+ " 22 ",
+ " 2 2 ",
+ " 2 2 ",
+ " 2 ",
+ " 22 ",
+ " 22 ",
+ " 22 ",
+ " 03 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " 00 ",
+ " ",
+ " "};
+
+static char *straight_line_x32[] = {
+ "32 32 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #990000",
+ "2 c #CC0000",
+ " ",
+ " ",
+ " 22222 ",
+ " 2222222 ",
+ " 2222 ",
+ " 22222 ",
+ " 222 22 ",
+ " 222 22 ",
+ " 222 22 ",
+ " 222 ",
+ " 222 ",
+ " 222 ",
+ " 122 ",
+ " 002 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 0 ",
+ " ",
+ " "};
+
+static char **straight_line_xpm[3] = { straight_line_x16, straight_line_x24, straight_line_x32 };
+
diff --git a/app/bin/bitmaps/straight.xpm b/app/bin/bitmaps/straight.xpm
index b5fc178..83e2f67 100644
--- a/app/bin/bitmaps/straight.xpm
+++ b/app/bin/bitmaps/straight.xpm
@@ -1,22 +1,133 @@
-/* XPM */
-static char * straight_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #FFFF00000000",
-"X c #000000000000",
-" .....",
-" X ..",
-" X X . .",
-" X . X.",
-" X . X .",
-" X X . X ",
-" X . X X ",
-" X . X ",
-" X X . X ",
-" X . X X ",
-" X X X ",
-"X X X ",
-" X X X ",
-"X X X ",
-" X ",
-" X X "};
+static char *straight_x16[] = {
+ "16 16 18 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #666666",
+ "5 c #993333",
+ "6 c #996600",
+ "7 c #996633",
+ "8 c #996666",
+ "9 c #999999",
+ "A c #CC0000",
+ "B c #CC3333",
+ "C c #CC6600",
+ "D c #CC6666",
+ "E c #CC9900",
+ "F c #C0C0C0",
+ "G c #808080",
+ " AAA ",
+ " AAAA",
+ " 945AAA",
+ " G9A8AA",
+ " G8B94 ",
+ " FG8D8GF ",
+ " E49B8G ",
+ " 37A9G ",
+ " 62EC49 ",
+ " E32E 2E ",
+ " E13E 3 ",
+ " 63 E2 E ",
+ " C1EE0C ",
+ " 2E 2C ",
+ " 33 ",
+ " 03E "};
+
+static char *straight_x24[] = {
+ "24 24 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333300",
+ "2 c #333333",
+ "3 c #663300",
+ "4 c #666666",
+ "5 c #996600",
+ "6 c #999999",
+ "7 c #CC0000",
+ "8 c #CC3333",
+ "9 c #CC6600",
+ "A c #CC9900",
+ "B c #CC9999",
+ "C c #C0C0C0",
+ "D c #808080",
+ " ",
+ " 77777 ",
+ " 777 ",
+ " C 4 7777 ",
+ " 6D 77 7 ",
+ " C 4DB7 4 7 ",
+ " 6D4 8B44 ",
+ " C 4DB7 DD ",
+ " CD4 8B44CC ",
+ " A 4DB7 DD ",
+ " A52 8B44CC ",
+ " A 03A7 DD ",
+ " A50 AA246C ",
+ " 03A 53 ",
+ " A50 AA 0AA ",
+ " 3A 93 ",
+ " A90 AA 09A ",
+ " 1A 93 ",
+ " A90 AA 05A ",
+ " 39 A3 ",
+ " 0 AA 05A ",
+ " A30 ",
+ " 05A ",
+ " 0 "};
+
+static char *straight_x32[] = {
+ "32 32 17 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #333333",
+ "4 c #663300",
+ "5 c #666666",
+ "6 c #996600",
+ "7 c #999999",
+ "8 c #CC0000",
+ "9 c #CC3333",
+ "A c #CC6600",
+ "B c #CC6666",
+ "C c #CC9900",
+ "D c #CC9999",
+ "E c #C0C0C0",
+ "F c #808080",
+ " ",
+ " 888888 ",
+ " 8888888 ",
+ " 8888 ",
+ " E 5 88888 ",
+ " E75 888 88 ",
+ " F7 888 88 ",
+ " EE 5 D988 5 88 ",
+ " 7F5 88D 5 ",
+ " 57D8887F ",
+ " E 55 988 57E ",
+ " EF5 88D755 E ",
+ " 5FD888 FF ",
+ " CC35 989 55EE ",
+ " 64 889E55 ",
+ " 00CC 8 FF ",
+ " C40 CC 55 E ",
+ " 44 C60 ",
+ " C 0 C 04C ",
+ " CA0 C 00 CC ",
+ " 2A A2 ",
+ " CC 0 CC 0C ",
+ " C2 CC 0 C ",
+ " 0AC 64 ",
+ " C 00 CC 06C ",
+ " 44 CC0 ",
+ " 04C 46 ",
+ " 0 C 0 CC ",
+ " C20 ",
+ " 1A ",
+ " 00 C ",
+ " "};
+
+static char **straight_xpm[3] = { straight_x16, straight_x24, straight_x32 };
+
diff --git a/app/bin/bitmaps/switch-ai.xpm b/app/bin/bitmaps/switch-ai.xpm
new file mode 100644
index 0000000..34213ba
--- /dev/null
+++ b/app/bin/bitmaps/switch-ai.xpm
@@ -0,0 +1,96 @@
+static char *switch_ai_x16[] = {
+ "16 16 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #990000",
+ "2 c #CC0000",
+ " ",
+ " 2 ",
+ " 2 ",
+ " 2222 ",
+ " 2222 ",
+ " 2222 ",
+ " 2221 ",
+ " 2 00 ",
+ " 00 ",
+ " 0 ",
+ " 0 000 ",
+ " 00000 ",
+ " 00 00 ",
+ " 00 000 ",
+ " 00 000 ",
+ " 00000000"};
+
+static char *switch_ai_x24[] = {
+ "24 24 4 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #CC0000",
+ " ",
+ "222 ",
+ " 222 ",
+ " 222 ",
+ " 222 ",
+ " 22222 ",
+ " 222222 ",
+ " 222222 ",
+ " 222222 ",
+ " 222222 ",
+ " 222210 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 ",
+ " 000 000 ",
+ " 00000000 ",
+ " 000 00 ",
+ " 000 00 ",
+ " 00000 00 ",
+ " 0 00000 ",
+ " 0 0000 ",
+ " 00000000000 ",
+ " 00 00 "};
+
+static char *switch_ai_x32[] = {
+ "32 32 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #990000",
+ "2 c #CC0000",
+ "3 c #800000",
+ " ",
+ " 22 ",
+ " 222 ",
+ " 222 ",
+ " 2222 ",
+ " 2222 ",
+ " 2222 ",
+ " 2222222 ",
+ " 2222222 ",
+ " 22222222 ",
+ " 22222222 ",
+ " 22222222 ",
+ " 22222221 ",
+ " 2222230 ",
+ " 2221000 ",
+ " 0000 ",
+ " 0000 ",
+ " 0000 ",
+ " 0000 ",
+ " 0000 ",
+ " 0000 0000 ",
+ " 000 000000 ",
+ " 0000000000 ",
+ " 0000 00 ",
+ " 0000 00 ",
+ " 000000 00 ",
+ " 000 0000 00 ",
+ " 000 000000 ",
+ " 00 00000 ",
+ " 000000000000000 ",
+ " 00000000000000000",
+ " 000000000000000 "};
+
+static char **switch_ai_xpm[3] = { switch_ai_x16, switch_ai_x24, switch_ai_x32 };
+
diff --git a/app/bin/bitmaps/table-edge.xpm b/app/bin/bitmaps/table-edge.xpm
new file mode 100644
index 0000000..1983460
--- /dev/null
+++ b/app/bin/bitmaps/table-edge.xpm
@@ -0,0 +1,114 @@
+static char *table_edge_x16[] = {
+ "16 16 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #006600",
+ "3 c #333333",
+ "4 c #336633",
+ "5 c #339933",
+ "6 c #33CC33",
+ "7 c #666666",
+ "8 c #999999",
+ "9 c #808080",
+ " ",
+ " 5 ",
+ " 666666666666630",
+ " 666666666666430",
+ " 666666666664770",
+ " 666666666647970",
+ " 666666666479970",
+ " 666666664799970",
+ "122222222399993 ",
+ " 8888888979993 ",
+ " 888888897993 ",
+ " 88888889793 ",
+ " 8888888973 ",
+ " 888888870 ",
+ " 000000000 ",
+ " "};
+
+static char *table_edge_x24[] = {
+ "24 24 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #336633",
+ "3 c #339933",
+ "4 c #33CC33",
+ "5 c #666633",
+ "6 c #666666",
+ "7 c #999999",
+ "8 c #808080",
+ " ",
+ " ",
+ " 2 ",
+ " 4444444444444444444430 ",
+ " 4444444444444444444310 ",
+ " 4444444444444444443180 ",
+ " 4444444444444444431880 ",
+ " 4444444444444444318880 ",
+ " 4444444444444443188880 ",
+ " 4444444444444431888880 ",
+ " 4444444444444418888880 ",
+ " 4444444444444188888881 ",
+ " 333333333333188888881 ",
+ " 77777777777718888881 ",
+ " 7777777777771888881 ",
+ " 777777777777188881 ",
+ " 777777777777188810 ",
+ " 77777777777718851 ",
+ " 7777777777771861 ",
+ " 777777777777161 ",
+ " 77777777777701 ",
+ " 0000000000000 ",
+ " ",
+ " "};
+
+static char *table_edge_x32[] = {
+ "32 32 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #336633",
+ "3 c #339933",
+ "4 c #33CC33",
+ "5 c #666633",
+ "6 c #666666",
+ "7 c #999999",
+ "8 c #808080",
+ " ",
+ " ",
+ " ",
+ " 4444444444444444444444444443 ",
+ " 444444444444444444444444444310 ",
+ " 444444444444444444444444444110 ",
+ " 444444444444444444444444441860 ",
+ " 444444444444444444444444428860 ",
+ " 444444444444444444444444268860 ",
+ " 444444444444444444444442688860 ",
+ " 444444444444444444444426888860 ",
+ " 444444444444444444444268888860 ",
+ " 444444444444444444443588888860 ",
+ " 444444444444444444431888888860 ",
+ " 444444444444444444318888888860 ",
+ " 44444444444444444318888888881 ",
+ " 2333333333333333318888888881 ",
+ " 888888888888888668888888810 ",
+ " 77777777777777766888888851 ",
+ " 7777777777777776688888861 ",
+ " 777777777777777668888861 ",
+ " 77777777777777766888861 ",
+ " 7777777777777776688861 ",
+ " 777777777777777688881 ",
+ " 77777777777777768881 ",
+ " 7777777777777776881 ",
+ " 777777777777777661 ",
+ " 77777777777777711 ",
+ " 000000000000000000 ",
+ " ",
+ " ",
+ " "};
+
+static char **table_edge_xpm[3] = { table_edge_x16, table_edge_x24, table_edge_x32 };
+
diff --git a/app/bin/bitmaps/text.xpm b/app/bin/bitmaps/text.xpm
index 176621d..12bc092 100644
--- a/app/bin/bitmaps/text.xpm
+++ b/app/bin/bitmaps/text.xpm
@@ -1,21 +1,89 @@
-/* XPM */
-static char * text_xpm[] = {
-"16 16 2 1",
-" c None",
-". c #000000000000",
-" .. ",
-" .. ",
-" .... ",
-" .... ",
-" .. .. ",
-" .. .. ",
-" .. .. ",
-" .. .. ",
-" .. .. ",
-" .......... ",
-" ............ ",
-" .. .. ",
-" .. .. ",
-" .. .. ",
-".. ..",
-"... ..."};
+static char *text_x16[] = {
+ "16 16 2 1",
+ " c None",
+ "0 c #000000",
+ " ",
+ " 0000 ",
+ " 000000 ",
+ " 000000 ",
+ " 0000000 ",
+ " 00000000 ",
+ " 000 000 ",
+ " 0000 0000 ",
+ " 0000 0000 ",
+ " 0000 00000 ",
+ " 000000000000 ",
+ " 000000000000 ",
+ " 0000 0000 ",
+ " 0000 0000 ",
+ "0000 0000",
+ "0000 0000"};
+
+static char *text_x24[] = {
+ "24 24 2 1",
+ " c None",
+ "0 c #000000",
+ " ",
+ " 000000 ",
+ " 000000 ",
+ " 00000000 ",
+ " 00000000 ",
+ " 0000000000 ",
+ " 0000000000 ",
+ " 0000000000 ",
+ " 00000 00000 ",
+ " 00000 00000 ",
+ " 000000 000000 ",
+ " 00000 00000 ",
+ " 00000 000000 ",
+ " 00000 00000 ",
+ " 0000000000000000 ",
+ " 000000000000000000 ",
+ " 000000000000000000 ",
+ " 0000000000000000000 ",
+ " 000000 000000 ",
+ " 00000 00000 ",
+ " 000000 000000 ",
+ " 00000 00000 ",
+ "000000 000000",
+ " "};
+
+static char *text_x32[] = {
+ "32 32 2 1",
+ " c None",
+ "0 c #000000",
+ " ",
+ " 00000000 ",
+ " 00000000 ",
+ " 000000000 ",
+ " 0000000000 ",
+ " 0000000000 ",
+ " 000000000000 ",
+ " 000000000000 ",
+ " 00000000000000 ",
+ " 00000000000000 ",
+ " 000000 000000 ",
+ " 0000000 0000000 ",
+ " 000000 0000000 ",
+ " 0000000 0000000 ",
+ " 0000000 0000000 ",
+ " 000000 0000000 ",
+ " 0000000 0000000 ",
+ " 0000000 0000000 ",
+ " 0000000 0000000 ",
+ " 0000000000000000000000 ",
+ " 00000000000000000000000 ",
+ " 000000000000000000000000 ",
+ " 000000000000000000000000 ",
+ " 00000000000000000000000000 ",
+ " 0000000 0000000 ",
+ " 0000000 00000000 ",
+ " 0000000 0000000 ",
+ " 0000000 0000000 ",
+ " 0000000 0000000 ",
+ " 0000000 0000000 ",
+ "00000000 00000000",
+ " "};
+
+static char **text_xpm[3] = { text_x16, text_x24, text_x32 };
+
diff --git a/app/bin/bitmaps/top.xpm b/app/bin/bitmaps/top.xpm
new file mode 100644
index 0000000..84d2152
--- /dev/null
+++ b/app/bin/bitmaps/top.xpm
@@ -0,0 +1,111 @@
+static char *top_x16[] = {
+ "16 16 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #660000",
+ "2 c #990000",
+ "3 c #993333",
+ "4 c #996666",
+ "5 c #CC0000",
+ "6 c #FF0000",
+ "7 c #808080",
+ " ",
+ " ",
+ " 000000000 ",
+ " 214777777770",
+ " 22555377777770",
+ " 256666637777770",
+ " 566666663777770",
+ "2566666662777770",
+ "2566666662777770",
+ "2566666662777770",
+ " 266666654777770",
+ " 26666537777770",
+ " 2222477777770",
+ " 0000000000",
+ " ",
+ " "};
+
+static char *top_x24[] = {
+ "24 24 10 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #990000",
+ "3 c #993333",
+ "4 c #996666",
+ "5 c #CC0000",
+ "6 c #FF0000",
+ "7 c #808080",
+ "8 c #800000",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 000000000000000 ",
+ " 222847777777777770 ",
+ " 2556552377777777770 ",
+ " 26666666537777777770 ",
+ " 266666666663777777770 ",
+ " 2666666666665477777770 ",
+ " 2666666666666377777770 ",
+ " 2666666666666277777770 ",
+ "25666666666666277777770 ",
+ " 2666666666666377777770 ",
+ " 2666666666665377777770 ",
+ " 2566666666662777777770 ",
+ " 256666666654777777770 ",
+ " 25666666247777777770 ",
+ " 2225223777777777770 ",
+ " 100000000000000 ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char *top_x32[] = {
+ "32 32 9 1",
+ " c None",
+ "0 c #000000",
+ "1 c #660000",
+ "2 c #990000",
+ "3 c #993333",
+ "4 c #996666",
+ "5 c #CC0000",
+ "6 c #FF0000",
+ "7 c #808080",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 00000000000000000000 ",
+ " 07777777777777777770 ",
+ " 222223477777777777777770 ",
+ " 2556666537777777777777770 ",
+ " 226666666662477777777777770 ",
+ " 2566666666666547777777777770 ",
+ " 25666666666666654777777777770 ",
+ " 26666666666666663777777777770 ",
+ " 256666666666666665477777777770 ",
+ " 266666666666666666377777777770 ",
+ " 266666666666666666377777777770 ",
+ " 266666666666666666377777777770 ",
+ " 266666666666666666377777777770 ",
+ " 256666666666666665377777777770 ",
+ " 256666666666666665477777777770 ",
+ " 26666666666666663777777777770 ",
+ " 2666666666666637777777777770 ",
+ " 2566666666666347777777777770 ",
+ " 225666666653777777777777770 ",
+ " 2225552247777777777777770 ",
+ " 2217777777777777777770 ",
+ " 00000000000000000000 ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char **top_xpm[3] = { top_x16, top_x24, top_x32 };
+
diff --git a/app/bin/bitmaps/train.xpm b/app/bin/bitmaps/train.xpm
index c94593e..bc9a846 100644
--- a/app/bin/bitmaps/train.xpm
+++ b/app/bin/bitmaps/train.xpm
@@ -1,22 +1,118 @@
-/* XPM */
-static char * train_xpm[]={
-"16 16 3 1",
-". c None",
-"# c #800080008000",
-"a c #000000000000",
-".....#..#.#.....",
-"aaaa.......##...",
-"...a........#...",
-"...a...a...#....",
-"...a..aaa..aa...",
-"...a..aaa..aa...",
-"aaaaaaaaaaaaaa..",
-"aaaaaaaaaaaaaa..",
-"aaaaaaaaaaaaaa..",
-"aaaaaaaaaaaaaaaa",
-"aaaaaaaaaaaaaaaa",
-"...aa...aa.....a",
-"..aaaa.aaaa....a",
-"..aaaa.aaaa..aa.",
-"...aa...aa...aa.",
-"................"};
+static char *train_x16[] = {
+ "16 16 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #003333",
+ "3 c #006633",
+ "4 c #006666",
+ "5 c #009966",
+ "6 c #669933",
+ "7 c #999933",
+ "8 c #99CC33",
+ "9 c #CCCC33",
+ "A c #808080",
+ " ",
+ " AAAAAAAAA ",
+ " AAAAAAAAAAA ",
+ " AAAAAAAAAAAA ",
+ " AAAAAAAAAAAA ",
+ " AAAAA A ",
+ " 0 A ",
+ " 0000 0 ",
+ " 0 0 0 ",
+ " 3761111111111 ",
+ " 3985555555555 ",
+ " 3984444444444 ",
+ " 3971221221221 ",
+ " 000000000 00 ",
+ " 0000000000000 0",
+ " 0 0 0 "};
+
+static char *train_x24[] = {
+ "24 24 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #003333",
+ "3 c #006633",
+ "4 c #009966",
+ "5 c #669933",
+ "6 c #999933",
+ "7 c #99CC33",
+ "8 c #FFFF33",
+ "9 c #808080",
+ " ",
+ " 9999999999 ",
+ " 999999999999999 ",
+ " 99999999999999999 ",
+ " 999999999999999999 ",
+ " 999999999999999999 ",
+ " 99999999999999999 ",
+ " 99999999999 99 ",
+ " 99 99 ",
+ " 99 ",
+ " 0000000 00 ",
+ " 0 00 ",
+ " 0 00 00 ",
+ " 0 00 00 ",
+ " 33573322222222222222 ",
+ " 33683344444444444444 ",
+ " 33683344444444444444 ",
+ " 33683333333333333333 ",
+ " 33683322222222222222 ",
+ " 333521000000000000000 ",
+ " 00000000 0000 00 ",
+ " 00 00000000 0000 00 00",
+ " 00 000 000 000 00 ",
+ " "};
+
+static char *train_x32[] = {
+ "32 32 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003300",
+ "2 c #003333",
+ "3 c #006633",
+ "4 c #009966",
+ "5 c #336633",
+ "6 c #669933",
+ "7 c #999933",
+ "8 c #CCCC33",
+ "9 c #FFFF33",
+ "A c #808080",
+ " ",
+ " ",
+ " AAAAAAAAAAAAAAAA ",
+ " AAAAAAAAAAAAAAAAAAAA ",
+ " AAAAAAAAAAAAAAAAAAAAAAA ",
+ " AAAAAAAAAAAAAAAAAAAAAAAA ",
+ " AAAAAAAAAAAAAAAAAAAAAAAA ",
+ " AAAAAAAAAAAAAAAAAAAAAAAAA ",
+ " AAAAAAAAAAAAAAAAAAAAAAAA ",
+ " AAAAAAAAAAAAAAAAA AAA ",
+ " AAAAAAAAAAA AA ",
+ " AA ",
+ " AA ",
+ " 0000 ",
+ " 00000000 0000 ",
+ " 00 0000 ",
+ " 00 000 0000 ",
+ " 00 000 0000 ",
+ " 33333330000000000000000000 ",
+ " 33587332222222222222222222 ",
+ " 33698333333333333333333333 ",
+ " 33698334444444444444444444 ",
+ " 33698334444444444444444444 ",
+ " 33698333333333333333333333 ",
+ " 33698332222222222222222222 ",
+ " 33333320011000011000011100 ",
+ " 0000 0000 0000 00 ",
+ " 0 000000000000000000 0 00 ",
+ " 000 000000000000000000 000 00 ",
+ " 000 00000 0000 0000 000 ",
+ " 000 00 00 0 ",
+ " "};
+
+static char **train_xpm[3] = { train_x16, train_x24, train_x32 };
+
diff --git a/app/bin/bitmaps/trim.xpm b/app/bin/bitmaps/trim.xpm
new file mode 100644
index 0000000..ac679d6
--- /dev/null
+++ b/app/bin/bitmaps/trim.xpm
@@ -0,0 +1,99 @@
+static char *trim_x16[] = {
+ "16 16 6 1",
+ " c None",
+ "0 c #000000",
+ "1 c #666666",
+ "2 c #CC0000",
+ "3 c #808080",
+ "4 c #800000",
+ " ",
+ " 3 ",
+ " 22 3 ",
+ " 22 3 ",
+ " 22 2 3 ",
+ " 222 3 ",
+ " 22 3 ",
+ " 222221 ",
+ " 42222 ",
+ " 0 2222 ",
+ " 0 222 ",
+ " 00 2 2 ",
+ " 00 2 ",
+ " 00 2 ",
+ " 00 2 ",
+ " "};
+
+static char *trim_x24[] = {
+ "24 24 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #990000",
+ "2 c #CC0000",
+ "3 c #808080",
+ " ",
+ " ",
+ " 3 ",
+ " 2 3 ",
+ " 2 3 ",
+ " 2 2 3 ",
+ " 22 22 3 ",
+ " 22 22 3 ",
+ " 2222 3 ",
+ " 222 3 ",
+ " 222222 3 ",
+ " 2222222 ",
+ " 122 222 ",
+ " 0 2222222 ",
+ " 0 2222 ",
+ " 0 22 2 ",
+ " 0 22 2 ",
+ " 00 22 2 ",
+ " 00 22 2 ",
+ " 00 22 ",
+ " 00 22 ",
+ " 00 2 ",
+ " 0 ",
+ " "};
+
+static char *trim_x32[] = {
+ "32 32 5 1",
+ " c None",
+ "0 c #000000",
+ "1 c #CC0000",
+ "2 c #808080",
+ "3 c #800000",
+ " ",
+ " ",
+ " 2 ",
+ " 222 ",
+ " 11 222 ",
+ " 111 222 ",
+ " 111 222 ",
+ " 111 1 222 ",
+ " 111 111 222 ",
+ " 111 111 222 ",
+ " 111 111 222 ",
+ " 111111 222 ",
+ " 11111 222 ",
+ " 11111111 222 ",
+ " 1111111111 2 ",
+ " 111 1111 ",
+ " 3111 ",
+ " 003111111111 ",
+ " 000 11111111 ",
+ " 000 11111 ",
+ " 000 111111 ",
+ " 000 111 111 ",
+ " 000 111 111 ",
+ " 000 111 111 ",
+ " 000 11 111 ",
+ " 0000 111 ",
+ " 0000 111 ",
+ " 0000 1111 ",
+ " 000 11 ",
+ " 00 ",
+ " ",
+ " "};
+
+static char **trim_xpm[3] = { trim_x16, trim_x24, trim_x32 };
+
diff --git a/app/bin/bitmaps/tunnel.xpm b/app/bin/bitmaps/tunnel.xpm
index 449080e..9b70b28 100644
--- a/app/bin/bitmaps/tunnel.xpm
+++ b/app/bin/bitmaps/tunnel.xpm
@@ -1,22 +1,118 @@
-/* XPM */
-static char * tunnel_xpm[] = {
-"16 16 3 1",
-" c None",
-". c #00FFFF",
-"+ c #000000",
-" .. ",
-" .. ",
-" .. ",
-" .. ",
-"+ + .. ",
-"++++++++.. + + ",
-"+ + .. ",
-"+ + .. ",
-"+ + .. ",
-"++++++++.. + + ",
-"+ + .. ",
-" .. ",
-" .. ",
-" .. ",
-" .. ",
-" "};
+static char *tunnel_x16[] = {
+ "16 16 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333333",
+ "3 c #663300",
+ "4 c #666666",
+ "5 c #993300",
+ "6 c #996600",
+ "7 c #999999",
+ "8 c #CC6600",
+ "9 c #808080",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 00 ",
+ " 8 8 007 7 7 7 ",
+ "0303102999949499",
+ " 6 63027797 7 79",
+ " 8 8 0077 7 7 7 ",
+ "0000002444444444",
+ " 8 8 0077 7 7 7 ",
+ " 00 ",
+ " 0 ",
+ " ",
+ " ",
+ " "};
+
+static char *tunnel_x24[] = {
+ "24 24 11 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333300",
+ "2 c #333333",
+ "3 c #663300",
+ "4 c #666666",
+ "5 c #993300",
+ "6 c #996600",
+ "7 c #999999",
+ "8 c #CC6600",
+ "9 c #808080",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 00 ",
+ " 00 ",
+ " 8 8 00 7 7 7 77 ",
+ " 35006000449949944994994",
+ " 35006000449949944994994",
+ " 88 8 0 77 7 7 77 ",
+ " 88 8 0 77 7 7 77 ",
+ " 66 6 02 79 97 79 77 ",
+ "013003000449949944994994",
+ " 88 8 0 77 7 7 77 ",
+ " 00 ",
+ " 00 ",
+ " 0 ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char *tunnel_x32[] = {
+ "32 32 13 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #333333",
+ "4 c #663300",
+ "5 c #663333",
+ "6 c #666666",
+ "7 c #993300",
+ "8 c #996600",
+ "9 c #999999",
+ "A c #CC6600",
+ "B c #808080",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 00 ",
+ " 000 ",
+ " 00 ",
+ " AA AA 00 99 99 99 99 ",
+ " 488 884 003 99 99B 99 99B ",
+ " 14400441000566BB66BBB66BB66BBB6",
+ " AA AA 00 99 99 99 99 ",
+ " AA AA 00 99 99 99 99 ",
+ " AA AA 00 99 99 99 99 ",
+ " AA AA 00 99 99 99 99 ",
+ " 28700782000366BB66BBB66BB66BBB ",
+ " 28700782000366BB66BBB66BB66BBB ",
+ " AA AA 00 99 99 99 99 ",
+ " 000 ",
+ " 000 ",
+ " 0000 ",
+ " 0 ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char **tunnel_xpm[3] = { tunnel_x16, tunnel_x24, tunnel_x32 };
+
diff --git a/app/bin/bitmaps/turnout-designer.xpm b/app/bin/bitmaps/turnout-designer.xpm
new file mode 100644
index 0000000..00db9be
--- /dev/null
+++ b/app/bin/bitmaps/turnout-designer.xpm
@@ -0,0 +1,129 @@
+static char *turnout_designer_x16[] = {
+ "16 16 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #333333",
+ "4 c #663300",
+ "5 c #666666",
+ "6 c #996600",
+ "7 c #999999",
+ "8 c #CC6600",
+ "9 c #CC9900",
+ "A c #CC9966",
+ "B c #CCCCCC",
+ "C c #C0C0C0",
+ "D c #808080",
+ " ",
+ " ",
+ " BBBBBBB ",
+ " B777777CB ",
+ " BC5500557B ",
+ " BBBBD3BBBB ",
+ " BD3B99640 ",
+ " BD3B64169 ",
+ " CD3B669 60",
+ " 9 9667D3B9 6168",
+ "10000077DB000000",
+ " 9 999ACC76 9 9 ",
+ "4424101244414240",
+ " 86646866684868 ",
+ " ",
+ " "};
+
+static char *turnout_designer_x24[] = {
+ "24 24 17 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #333333",
+ "4 c #663300",
+ "5 c #666666",
+ "6 c #996600",
+ "7 c #999966",
+ "8 c #999999",
+ "9 c #CC6600",
+ "A c #CC9900",
+ "B c #CC9999",
+ "C c #CCCC99",
+ "D c #CCCCCC",
+ "E c #C0C0C0",
+ "F c #808080",
+ " ",
+ " ",
+ " ",
+ " ",
+ " DDEEEEEEEEEDD ",
+ " D50000000008D ",
+ " DE00000000008D ",
+ " DDEEE8005EEEDD ",
+ " DD008D ",
+ " D008D A40 ",
+ " D008DAAA016 ",
+ " D008D9424 AA ",
+ " D008846AA A0 ",
+ " A D008EAA AA024 ",
+ " AA A 925D008DAA 4409A ",
+ "0000000003D0088000000000",
+ " AA A A DEED826 AA A ",
+ " AA A A 7FF7 AA AA A ",
+ " 66 96040040 9 66 66 96 ",
+ "044041041140040440440420",
+ " AA A A A A AA AA A ",
+ " ",
+ " ",
+ " "};
+
+static char *turnout_designer_x32[] = {
+ "32 32 14 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #333333",
+ "4 c #663300",
+ "5 c #666666",
+ "6 c #993300",
+ "7 c #996600",
+ "8 c #999999",
+ "9 c #CC6600",
+ "A c #CC9900",
+ "B c #CCCCCC",
+ "C c #C0C0C0",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " BBBBBBBBBBBBBBBBB ",
+ " BB5555555555555BB ",
+ " B80000000000000BB ",
+ " BB30000000000000BB ",
+ " BC55555500355555BB ",
+ " BBBBBBBB8003BBBBBBB ",
+ " B8003BB ",
+ " B8003BB A00 ",
+ " B8003BB AA 044 ",
+ " B8003BB A97007A ",
+ " B8003BB76077 AA ",
+ " B8003B827 AA A ",
+ " B8003BC A A 920 ",
+ " AA B8003BB A AA 019 ",
+ " A A 9700B8003BB A 0410AA ",
+ " 041014000200B8003B824000440440 ",
+ " 94 490079 BC888B8210079 77 ",
+ " A A AA BBBBCC87A A AA ",
+ " A A AA 74007A A A AA ",
+ " A A 770047 AA A A AA ",
+ " 000000000000000000000000000000 ",
+ " A A AA AA AA A A AA ",
+ " A A A A A A A A ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char **turnout_designer_xpm[3] = { turnout_designer_x16, turnout_designer_x24, turnout_designer_x32 };
+
diff --git a/app/bin/bitmaps/turnout.xpm b/app/bin/bitmaps/turnout.xpm
index 91d7af5..dc60fdb 100644
--- a/app/bin/bitmaps/turnout.xpm
+++ b/app/bin/bitmaps/turnout.xpm
@@ -1,21 +1,107 @@
-/* XPM */
-static char * turnout_xpm[] = {
-"16 16 2 1",
-" c None",
-". c #000000000000",
-" ",
-" ",
-" . . ",
-" .. ",
-" . ... ",
-" .. . . ",
-" . ... .. ",
-" . .. . .. . ",
-"............... ",
-" . . .. . ",
-" . ... . . ",
-"............... ",
-" . . . . ",
-" ",
-" ",
-" "};
+static char *turnout_x16[] = {
+ "16 16 8 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #996600",
+ "5 c #CC6600",
+ "6 c #CC9900",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 64 ",
+ " 6414 ",
+ " 53236650",
+ " 541346 5234",
+ "2323002232301231",
+ " 54545543133535 ",
+ " 54533124453535 ",
+ "2323123232313130",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char *turnout_x24[] = {
+ "24 24 8 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #996600",
+ "5 c #CC6600",
+ "6 c #CC9900",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 6 ",
+ " 6 32 ",
+ " 643036 ",
+ " 6602346 66 ",
+ " 6 32056 6 40 ",
+ " 6 33046 66 64035 ",
+ " 3404302014034043003243 ",
+ " 3404304224034030043043 ",
+ " 66 66 6 6 32046 66 6 ",
+ " 66 66 6322035 66 66 6 ",
+ "02303200003023032032032 ",
+ " 45 5405335 45 54 54 54 ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char *turnout_x32[] = {
+ "32 32 8 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #663300",
+ "4 c #996600",
+ "5 c #CC6600",
+ "6 c #CC9900",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " 6 ",
+ " 50 ",
+ " 6660035 ",
+ " 66121 6 ",
+ " 6 32056 66 ",
+ " 6 50046 6 6 0 ",
+ " 64004 66 66 32 ",
+ " 6 6 66 0310 6 66 62046 ",
+ " 54 500320044 5 45 0113054 ",
+ " 032003001300320030022002320320 ",
+ " 6 6 66 6 63014 66 66 ",
+ " 6 6 66 6 021066 66 66 ",
+ " 6 6 66 41006 66 66 66 ",
+ " 54 500330044 53 45 45 54 ",
+ " 032003001300320031023002300320 ",
+ " 6 6 66 6 6 66 66 66 ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "};
+
+static char **turnout_xpm[3] = { turnout_x16, turnout_x24, turnout_x32 };
+
diff --git a/app/bin/bitmaps/turntable.xpm b/app/bin/bitmaps/turntable.xpm
new file mode 100644
index 0000000..c6e6375
--- /dev/null
+++ b/app/bin/bitmaps/turntable.xpm
@@ -0,0 +1,133 @@
+static char *turntable_x16[] = {
+ "16 16 17 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #333333",
+ "4 c #663300",
+ "5 c #663333",
+ "6 c #666633",
+ "7 c #666666",
+ "8 c #996600",
+ "9 c #999999",
+ "A c #CC6600",
+ "B c #CC9900",
+ "C c #CCCCCC",
+ "D c #FFFFFF",
+ "E c #C0C0C0",
+ "F c #808080",
+ " 1B ",
+ " 0 82B 000 ",
+ " 84 85033303 ",
+ " B446FF397793 ",
+ " B39DF3977DC3 ",
+ " 7DDF3977DDF3",
+ "88A5EDDF3977DDC3",
+ "4443CDDF3977DDD0",
+ "BBB3CDDF3977DDD3",
+ "1000EDDF3977DDC3",
+ "BBB49DDF3977DDE3",
+ " B3CDF3977DD3 ",
+ " B483CF3977CF3 ",
+ " 84 837373330 ",
+ " 0B82B03330 ",
+ " 04B "};
+
+static char *turntable_x24[] = {
+ "24 24 17 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #333333",
+ "4 c #663300",
+ "5 c #666600",
+ "6 c #666633",
+ "7 c #666666",
+ "8 c #996600",
+ "9 c #999999",
+ "A c #CC6600",
+ "B c #CC9900",
+ "C c #CCCCCC",
+ "D c #FFFFFF",
+ "E c #C0C0C0",
+ "F c #808080",
+ " 0 B ",
+ " 48 ",
+ " 0 B20B 000 ",
+ " 2A 48300000030 ",
+ " B1 B8397799939F3 ",
+ " 467CD779993EDE3 ",
+ " B83CDD779993EDDC3 ",
+ " 3CDDD779993EDDD93 ",
+ " 0FDDDD779993EDDDD3 ",
+ " B B3EDDDD779993EDDDD90",
+ "040243CDDDD779993EDDDDC3",
+ " A 8A0DDDDD779993EDDDDC3",
+ " B BB3DDDDD779993EDDDDC3",
+ " A 8A3CDDDD779993EDDDDE3",
+ "040243CDDDD779993EDDDD90",
+ " B B39DDDD779993EDDDD7 ",
+ " 3CDDD779993EDDDC3 ",
+ " B2FDDD779993EDDD3 ",
+ " 443EDD779993EDDF3 ",
+ " B40 B37C779993EC73 ",
+ " 24 B41333777073 ",
+ " 0 B 08B 0300330 ",
+ " 48 ",
+ " 04B "};
+
+static char *turntable_x32[] = {
+ "32 32 16 1",
+ " c None",
+ "0 c #000000",
+ "1 c #330000",
+ "2 c #333300",
+ "3 c #333333",
+ "4 c #663300",
+ "5 c #663333",
+ "6 c #666666",
+ "7 c #996600",
+ "8 c #999999",
+ "9 c #CC6600",
+ "A c #CC9900",
+ "B c #CCCCCC",
+ "C c #FFFFFF",
+ "D c #C0C0C0",
+ "E c #808080",
+ " 0 ",
+ " 04A ",
+ " 72 ",
+ " 0 AA 00AA 0000 ",
+ " 04A 47 3000000033 ",
+ " A71 A903D668888E3D33 ",
+ " A 02AA38BC668888E3CC83 ",
+ " 443BCCC668888E3CCCB6 ",
+ " A 08CCCC668888E3CCCCB3 ",
+ " 3ECCCCC668888E3CCCCCD3 ",
+ " 3BCCCCC668888E3CCCCCC6 ",
+ " 08CCCCCC668888E3CCCCCCD3 ",
+ " AA A 3BCCCCCC668888E3CCCCCCB3 ",
+ " 77 903CCCCCCC668888E3CCCCCCC6 ",
+ "04400403CCCCCCC668888E3CCCCCCC80",
+ " AA A0ECCCCCCC668888E3CCCCCCC83",
+ " AA A0ECCCCCCC668888E3CCCCCCCD3",
+ " AA A 6CCCCCCC668888E3CCCCCCC80",
+ "04400403CCCCCCC668888E3CCCCCCC80",
+ " 77 9 3BCCCCCC668888E3CCCCCCC6 ",
+ " AA A 3DCCCCCC668888E3CCCCCCB3 ",
+ " 6CCCCCC668888E3CCCCCC83 ",
+ " 3BCCCCC668888E3CCCCCB3 ",
+ " A13BCCCC668888E3CCCCC6 ",
+ " 743ECCCC668888E3CCCC83 ",
+ " A 09A5EBCC668888E3CCC86 ",
+ " 91 AA33DC668888E3CB63 ",
+ " 2A 74 363366666363 ",
+ " 0 A 09A 03000033 ",
+ " 90 ",
+ " 29 ",
+ " 0 AA "};
+
+static char **turntable_xpm[3] = { turntable_x16, turntable_x24, turntable_x32 };
+
diff --git a/app/bin/bitmaps/turntbl.xpm b/app/bin/bitmaps/turntbl.xpm
deleted file mode 100644
index ca6f359..0000000
--- a/app/bin/bitmaps/turntbl.xpm
+++ /dev/null
@@ -1,21 +0,0 @@
-/* XPM */
-static char * turntbl_xpm[] = {
-"16 16 2 1",
-" c None",
-". c #000000000000",
-" . ",
-". .. ",
-" . .. ..... ",
-" . .. . . . ",
-" . . . . . . ",
-" . . . . ",
-" . . . . .",
-".... . . .",
-" . . . . .",
-".... . . .",
-" . . . . .",
-" . . . . ",
-" . . . . . . ",
-" . .. . . . ",
-" . .. ..... ",
-" .. "};
diff --git a/app/bin/bitmaps/undo.xpm b/app/bin/bitmaps/undo.xpm
new file mode 100644
index 0000000..2450967
--- /dev/null
+++ b/app/bin/bitmaps/undo.xpm
@@ -0,0 +1,103 @@
+static char *undo_x16[] = {
+ "16 16 6 1",
+ " c None",
+ "0 c #000000",
+ "1 c #996600",
+ "2 c #CC6600",
+ "3 c #CC9900",
+ "4 c #FFCC00",
+ " ",
+ " 1 ",
+ " 11 ",
+ " 13411 ",
+ " 134443311 ",
+ " 1344444432 ",
+ " 1342114431 ",
+ " 11 1443 ",
+ " 1 1441 ",
+ " 141 ",
+ " 1331 ",
+ " 131 ",
+ " 131 ",
+ " 131 ",
+ " 11 ",
+ " "};
+
+static char *undo_x24[] = {
+ "24 24 7 1",
+ " c None",
+ "0 c #000000",
+ "1 c #996600",
+ "2 c #CC6600",
+ "3 c #CC9900",
+ "4 c #FF9900",
+ "5 c #FFCC00",
+ " ",
+ " ",
+ " 1 ",
+ " 11 ",
+ " 12531 ",
+ " 1355311 ",
+ " 135555533311 ",
+ " 15555555555411 ",
+ " 13555555555531 ",
+ " 13553113555531 ",
+ " 2531 135552 ",
+ " 111 135551 ",
+ " 1 3553 ",
+ " 13551 ",
+ " 1551 ",
+ " 1353 ",
+ " 1531 ",
+ " 1551 ",
+ " 1351 ",
+ " 151 ",
+ " 151 ",
+ " 131 ",
+ " 11 ",
+ " "};
+
+static char *undo_x32[] = {
+ "32 32 7 1",
+ " c None",
+ "0 c #000000",
+ "1 c #996600",
+ "2 c #CC6600",
+ "3 c #CC9900",
+ "4 c #FF9900",
+ "5 c #FFCC00",
+ " ",
+ " ",
+ " ",
+ " 1 ",
+ " 121 ",
+ " 12531 ",
+ " 135531 ",
+ " 13555551111 ",
+ " 135555555433211 ",
+ " 15555555555555531 ",
+ " 1355555555555555531 ",
+ " 255555555555555531 ",
+ " 135555112355555531 ",
+ " 125551 113555552 ",
+ " 1351 12555551 ",
+ " 121 2555531 ",
+ " 11 255551 ",
+ " 35552 ",
+ " 135531 ",
+ " 15551 ",
+ " 13551 ",
+ " 15531 ",
+ " 14531 ",
+ " 3551 ",
+ " 1551 ",
+ " 1551 ",
+ " 1351 ",
+ " 1351 ",
+ " 151 ",
+ " 111 ",
+ " ",
+ " "};
+
+static char **undo_xpm[3] = { undo_x16, undo_x24, undo_x32 };
+
diff --git a/app/bin/bitmaps/zoom-choose.xpm b/app/bin/bitmaps/zoom-choose.xpm
new file mode 100644
index 0000000..4066455
--- /dev/null
+++ b/app/bin/bitmaps/zoom-choose.xpm
@@ -0,0 +1,127 @@
+static char *zoom_choose_x16[] = {
+ "16 16 13 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #333366",
+ "3 c #336666",
+ "4 c #666666",
+ "5 c #669999",
+ "6 c #6699CC",
+ "7 c #9999CC",
+ "8 c #99CCCC",
+ "9 c #99CCFF",
+ "A c #99FFFF",
+ "B c #CCFFFF",
+ " ",
+ " 13421 ",
+ " 249BBB93 ",
+ " 3BBBBBB92 ",
+ " 18500000650 ",
+ " 19934443981 ",
+ " 19B73438B81 ",
+ " 18BB415BB50 ",
+ " 3BBA5BBA3 ",
+ " 15ABBB931 ",
+ " 014431141 ",
+ " 0140 ",
+ " 0140 ",
+ " 0110 ",
+ " 010 ",
+ " "};
+
+static char *zoom_choose_x24[] = {
+ "24 24 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #666666",
+ "6 c #666699",
+ "7 c #669999",
+ "8 c #6699CC",
+ "9 c #9999CC",
+ "A c #99CCCC",
+ "B c #99CCFF",
+ "C c #99FFFF",
+ "D c #CCFFFF",
+ " ",
+ " 02220 ",
+ " 227ABA832 ",
+ " 37DDDDDDC93 ",
+ " 29DDDDDDDDDA3 ",
+ " 4DDDDDDDDDDD72 ",
+ " 2AD755555556CB2 ",
+ " 2CD725555525DD2 ",
+ " 0DDD4555554BDD4 ",
+ " 2DDDB45554ADDD4 ",
+ " 2BDDDA4557DDDD1 ",
+ " 2ADDDD754CDDDB2 ",
+ " 4DDDDC4BDDDD72 ",
+ " 27DDDDDDDDDA2 ",
+ " 37CDDDDDD7350 ",
+ " 0279AA6222520 ",
+ " 00220 05520 ",
+ " 05520 ",
+ " 2552 ",
+ " 2552 ",
+ " 02550 ",
+ " 0220 ",
+ " 0 ",
+ " "};
+
+static char *zoom_choose_x32[] = {
+ "32 32 16 1",
+ " c None",
+ "0 c #000000",
+ "1 c #000033",
+ "2 c #003333",
+ "3 c #333333",
+ "4 c #333366",
+ "5 c #336666",
+ "6 c #666666",
+ "7 c #666699",
+ "8 c #669999",
+ "9 c #6699CC",
+ "A c #9999CC",
+ "B c #99CCCC",
+ "C c #99CCFF",
+ "D c #99FFFF",
+ "E c #CCFFFF",
+ " ",
+ " ",
+ " 31560130 ",
+ " 36BEEEEEC83 ",
+ " 3AEEEEEEEEEC64 ",
+ " 4CEEEEEEEEEEEE83 ",
+ " 4BEEEEEEEEEEEEED5 ",
+ " 5EEEEEEEEEEEEEEEC3 ",
+ " 3CEDAAAAAAAAAAABEE5 ",
+ " 2EED333333333339EEB3 ",
+ " 4EEEC4666666666EEEB3 ",
+ " 6EEEE956666665CEEEC3 ",
+ " 08EEEEE6666665BEEEEC3 ",
+ " 5EEEEEC566668EEEEEB3 ",
+ " 3EEEEEEB5665EEEEEE80 ",
+ " 3BEEEEEE865CEEEEEE5 ",
+ " 5EEEEEEE5AEEEEEEB3 ",
+ " 38EEEEEEDEEEEEED3 ",
+ " 4BEEEEEEEEEEED530 ",
+ " 38DEEEEEEEEB36630 ",
+ " 33BCCEECB7336663 ",
+ " 33300330 036660 ",
+ " 036660 ",
+ " 036663 ",
+ " 066630 ",
+ " 066630 ",
+ " 366630 ",
+ " 36660 ",
+ " 03630 ",
+ " 000 ",
+ " ",
+ " "};
+
+static char **zoom_choose_xpm[3] = { zoom_choose_x16, zoom_choose_x24, zoom_choose_x32 };
+
diff --git a/app/bin/bitmaps/zoom-extent.xpm b/app/bin/bitmaps/zoom-extent.xpm
new file mode 100644
index 0000000..17688da
--- /dev/null
+++ b/app/bin/bitmaps/zoom-extent.xpm
@@ -0,0 +1,125 @@
+static char *zoom_extent_x16[] = {
+ "16 16 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #666666",
+ "6 c #669999",
+ "7 c #990000",
+ "8 c #9999CC",
+ "9 c #99CCCC",
+ "A c #99CCFF",
+ "B c #CC0000",
+ "C c #CCFFFF",
+ "D c #800000",
+ " B BBB ",
+ "BBBBB BBBBB",
+ "BBB BBB",
+ "BB B B BB",
+ " B B B BB",
+ " D2523 ",
+ " 2ACC60 ",
+ " 06CCC92 ",
+ " 4CCC81 ",
+ " 36A93 ",
+ " 2220 ",
+ " B 00 B ",
+ "BB BB 000 B BB",
+ "BBBB 00 BBB",
+ "BBB BBB",
+ "BBBBB BBBBB"};
+
+static char *zoom_extent_x24[] = {
+ "24 24 12 1",
+ " c None",
+ "0 c #000000",
+ "1 c #333333",
+ "2 c #336666",
+ "3 c #666666",
+ "4 c #666699",
+ "5 c #669999",
+ "6 c #99CCCC",
+ "7 c #99CCFF",
+ "8 c #99FFFF",
+ "9 c #CC0000",
+ "A c #CCFFFF",
+ " ",
+ " 999999 999999 ",
+ " 999 99 ",
+ " 999 9 9 ",
+ " 9 9 9 9 ",
+ " 9 9 9 9 ",
+ " 9 9 9 9 ",
+ " 9 111 9 ",
+ " 1267621 ",
+ " 28AAA82 ",
+ " 16AAAAA61 ",
+ " 17AAAAA71 ",
+ " 16AAAAA61 ",
+ " 3AAAAA50 ",
+ " 147A752 ",
+ " 01010 ",
+ " 010 ",
+ " 9 99 010 9 9 ",
+ " 9 99 01 9 9 ",
+ " 9 99 010 9 9 ",
+ " 9 99 000 9 9 ",
+ " 999 99 ",
+ " 999999 999999 ",
+ " "};
+
+static char *zoom_extent_x32[] = {
+ "32 32 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #000033",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #666666",
+ "6 c #666699",
+ "7 c #669999",
+ "8 c #6699CC",
+ "9 c #99CCCC",
+ "A c #99CCFF",
+ "B c #99FFFF",
+ "C c #CC0000",
+ "D c #CCFFFF",
+ " ",
+ " CCCCCCCC CCCCCCCC ",
+ " CCCCCCCC CCCCCCCC ",
+ " CCCCC CCCC ",
+ " CCCCC CCCCC ",
+ " CCCCCC CCC CC ",
+ " CC CCC CCC CC ",
+ " CC CCC CCC CC ",
+ " CC CCC CCC CC ",
+ " CC CC ",
+ " 20012 ",
+ " 369DDD94 ",
+ " 06DDDDDDA4 ",
+ " 2ADDDDDDD82 ",
+ " 4DDDDDDDDA2 ",
+ " 5DDDDDDDDA2 ",
+ " 3DDDDDDDDA2 ",
+ " 2ADDDDDDD72 ",
+ " 4BDDDDDA3 ",
+ " 49DDA84 ",
+ " 210210 ",
+ " 050 ",
+ " CC 0220 CC ",
+ " CC CCC 050 CCC CC ",
+ " CC CCC 050 CCC CC ",
+ " CC CCC 0220 CCC CC ",
+ " CC CCC 020 CCC CC ",
+ " CCCCC 00 CCCCC ",
+ " CCCC CCCC ",
+ " CCCCCCCC CCCCCCCC ",
+ " CCCCCCCC CCCCCCCC ",
+ " "};
+
+static char **zoom_extent_xpm[3] = { zoom_extent_x16, zoom_extent_x24, zoom_extent_x32 };
+
diff --git a/app/bin/bitmaps/zoom-in.xpm b/app/bin/bitmaps/zoom-in.xpm
new file mode 100644
index 0000000..8f66a29
--- /dev/null
+++ b/app/bin/bitmaps/zoom-in.xpm
@@ -0,0 +1,128 @@
+static char *zoom_in_x16[] = {
+ "16 16 15 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #666666",
+ "6 c #666699",
+ "7 c #669999",
+ "8 c #6699CC",
+ "9 c #9999CC",
+ "A c #99CCCC",
+ "B c #99CCFF",
+ "C c #99FFFF",
+ "D c #CCFFFF",
+ " 00 ",
+ " 227752 ",
+ " 37DB9CB5 ",
+ " 5DDA0BDC3 ",
+ " 2ADDA0BDD70 ",
+ " 2B6000007A2 ",
+ " 2BA97089AA1 ",
+ " 2ADDA0BDD70 ",
+ " 4CDA0BDB2 ",
+ " 4ADDCA22 ",
+ " 20022252 ",
+ " 0250 ",
+ " 0250 ",
+ " 0520 ",
+ " 022 ",
+ " 0 "};
+
+static char *zoom_in_x24[] = {
+ "24 24 14 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #666666",
+ "6 c #666699",
+ "7 c #669999",
+ "8 c #9999CC",
+ "9 c #99CCCC",
+ "A c #99CCFF",
+ "B c #99FFFF",
+ "C c #CCFFFF",
+ " ",
+ " 0220220 ",
+ " 379BCA962 ",
+ " 39CCAAACC93 ",
+ " 2ACCC706CCC93 ",
+ " 27CCCC706CCCC70 ",
+ " 2ACCCC706CCCC92 ",
+ " 0CA888504888AB1 ",
+ " 3CA0000000009C3 ",
+ " 2CA6664026669C1 ",
+ " 2ACCCC706CCCCA2 ",
+ " 29CCCC706CCCC93 ",
+ " 3ACCC706CCCB4 ",
+ " 5CCCAAACCB52 ",
+ " 329CCCCB93250 ",
+ " 225541205520 ",
+ " 05520 ",
+ " 2552 ",
+ " 2552 ",
+ " 02550 ",
+ " 02550 ",
+ " 0520 ",
+ " 00 ",
+ " "};
+
+static char *zoom_in_x32[] = {
+ "32 32 16 1",
+ " c None",
+ "0 c #000000",
+ "1 c #000033",
+ "2 c #003333",
+ "3 c #333333",
+ "4 c #333366",
+ "5 c #336666",
+ "6 c #666666",
+ "7 c #666699",
+ "8 c #669999",
+ "9 c #6699CC",
+ "A c #9999CC",
+ "B c #99CCCC",
+ "C c #99CCFF",
+ "D c #99FFFF",
+ "E c #CCFFFF",
+ " ",
+ " 0000 ",
+ " 338AA9653 ",
+ " 4BEEEEEEEB53 ",
+ " 35CEEEEEEEEEEB4 ",
+ " 07EEEEE700CEEEE83 ",
+ " 3CEEEEE700CEEEEE7 ",
+ " 38EEEEEE700CEEEEEC3 ",
+ " 1EEEEEEE700CEEEEEE5 ",
+ " 4EEEEEEE700CEEEEEE90 ",
+ " 6EE8000000000000CEB3 ",
+ " 08EE8000000000000CEB3 ",
+ " 08EE8000000000000CEB3 ",
+ " 5EEEEEEE700CEEEEEEA2 ",
+ " 3DEEEEEE700CEEEEEE6 ",
+ " 3BEEEEEE700CEEEEEC4 ",
+ " 4CEEEEE700CEEEEE5 ",
+ " 6EEEEE977CEEEEB3 ",
+ " 38DEEEEEEEEEE8330 ",
+ " 33BEEEEEEEC63663 ",
+ " 3469AA853036663 ",
+ " 0000 036660 ",
+ " 036660 ",
+ " 066630 ",
+ " 066630 ",
+ " 36663 ",
+ " 36660 ",
+ " 036660 ",
+ " 03660 ",
+ " 030 ",
+ " 0 ",
+ " "};
+
+static char **zoom_in_xpm[3] = { zoom_in_x16, zoom_in_x24, zoom_in_x32 };
+
diff --git a/app/bin/bitmaps/zoom-out.xpm b/app/bin/bitmaps/zoom-out.xpm
new file mode 100644
index 0000000..c37242d
--- /dev/null
+++ b/app/bin/bitmaps/zoom-out.xpm
@@ -0,0 +1,127 @@
+static char *zoom_out_x16[] = {
+ "16 16 14 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #666666",
+ "6 c #666699",
+ "7 c #669999",
+ "8 c #9999CC",
+ "9 c #99CCCC",
+ "A c #99CCFF",
+ "B c #99FFFF",
+ "C c #CCFFFF",
+ " 00 ",
+ " 227752 ",
+ " 37CCCCA5 ",
+ " 5CCCCCCB3 ",
+ " 29CCCCCCC70 ",
+ " 2A600000792 ",
+ " 2A988888991 ",
+ " 29CCCCCCC70 ",
+ " 4BCCCCCA2 ",
+ " 49CCB922 ",
+ " 20022252 ",
+ " 0250 ",
+ " 0250 ",
+ " 0520 ",
+ " 022 ",
+ " 0 "};
+
+static char *zoom_out_x24[] = {
+ "24 24 14 1",
+ " c None",
+ "0 c #000000",
+ "1 c #003333",
+ "2 c #333333",
+ "3 c #333366",
+ "4 c #336666",
+ "5 c #666666",
+ "6 c #666699",
+ "7 c #669999",
+ "8 c #9999CC",
+ "9 c #99CCCC",
+ "A c #99CCFF",
+ "B c #99FFFF",
+ "C c #CCFFFF",
+ " ",
+ " 0220220 ",
+ " 379BCA962 ",
+ " 39CCCCCCC93 ",
+ " 2ACCCCCCCCC93 ",
+ " 27CCCCCCCCCCC70 ",
+ " 2ACCCCCCCCCCC92 ",
+ " 0CA888888888AB1 ",
+ " 3CA0000000009C3 ",
+ " 2CA6666666669C1 ",
+ " 2ACCCCCCCCCCCA2 ",
+ " 29CCCCCCCCCCC93 ",
+ " 3ACCCCCCCCCB4 ",
+ " 5CCCCCCCCB52 ",
+ " 329CCCCB93250 ",
+ " 225541205520 ",
+ " 05520 ",
+ " 2552 ",
+ " 2552 ",
+ " 02550 ",
+ " 02550 ",
+ " 0520 ",
+ " 00 ",
+ " "};
+
+static char *zoom_out_x32[] = {
+ "32 32 16 1",
+ " c None",
+ "0 c #000000",
+ "1 c #000033",
+ "2 c #003333",
+ "3 c #333333",
+ "4 c #333366",
+ "5 c #336666",
+ "6 c #666666",
+ "7 c #666699",
+ "8 c #669999",
+ "9 c #6699CC",
+ "A c #9999CC",
+ "B c #99CCCC",
+ "C c #99CCFF",
+ "D c #99FFFF",
+ "E c #CCFFFF",
+ " ",
+ " 0000 ",
+ " 338AA9653 ",
+ " 4BEEEEEEEB53 ",
+ " 35CEEEEEEEEEEB4 ",
+ " 07EEEEEEEEEEEEE83 ",
+ " 3CEEEEEEEEEEEEEE7 ",
+ " 38EEEEEEEEEEEEEEEC3 ",
+ " 1EEEEEEEEEEEEEEEEE5 ",
+ " 4EEEEEEEEEEEEEEEEE90 ",
+ " 6EE8000000000000CEB3 ",
+ " 08EE8000000000000CEB3 ",
+ " 08EE8000000000000CEB3 ",
+ " 5EEEEEEEEEEEEEEEEEA2 ",
+ " 3DEEEEEEEEEEEEEEEE6 ",
+ " 3BEEEEEEEEEEEEEEEC4 ",
+ " 4CEEEEEEEEEEEEEE5 ",
+ " 6EEEEEEEEEEEEEB3 ",
+ " 38DEEEEEEEEEE8330 ",
+ " 33BEEEEEEEC63663 ",
+ " 3469AA853036663 ",
+ " 0000 036660 ",
+ " 036660 ",
+ " 066630 ",
+ " 066630 ",
+ " 36663 ",
+ " 36660 ",
+ " 036660 ",
+ " 03660 ",
+ " 030 ",
+ " 0 ",
+ " "};
+
+static char **zoom_out_xpm[3] = { zoom_out_x16, zoom_out_x24, zoom_out_x32 };
+
diff --git a/app/bin/bitmaps/zoom.xpm b/app/bin/bitmaps/zoom.xpm
deleted file mode 100644
index 6b845a5..0000000
--- a/app/bin/bitmaps/zoom.xpm
+++ /dev/null
@@ -1,24 +0,0 @@
-/* XPM */
-static char * zoom_xpm[] = {
-"16 16 5 1",
-" c None",
-"- c #FFFFFFFFFFFF",
-". c #000000000000",
-"X c #0000FFFFFFFF",
-"o c #FFFF7DF70000",
-" ..... ",
-" ..-XXXX.. ",
-" .----XXX. ",
-".--.---.--. ",
-".-...-.---. ",
-".--.-.----. ",
-".---.-...-. ",
-".XX.------. ",
-" .XXX----. ",
-" ..XXX--... ",
-" ..... .o. ",
-" .o. ",
-" .o. ",
-" .o. ",
-" .. ",
-" "};
diff --git a/app/bin/bitmaps/zoomin.xpm b/app/bin/bitmaps/zoomin.xpm
deleted file mode 100644
index 4b6f8d5..0000000
--- a/app/bin/bitmaps/zoomin.xpm
+++ /dev/null
@@ -1,24 +0,0 @@
-/* XPM */
-static char * zoomin_xpm[] = {
-"16 16 5 1",
-" c None",
-"- c #FFFFFFFFFFFF",
-". c #000000000000",
-"X c #0000FFFFFFFF",
-"o c #FFFF7DF70000",
-" ..... ",
-" ..-XXXX.. ",
-" .----XXX. ",
-".-.--.--.-. ",
-"........... . ",
-".-.--.--.-. ....",
-"........... . ",
-".X.--.--.-. ",
-" .XXX----. ",
-" ..XXX--.o. ",
-" ..... .o. ",
-" .o. ",
-" .o. ",
-" .o. ",
-" .. ",
-" "};
diff --git a/app/bin/bitmaps/zoomout.xpm b/app/bin/bitmaps/zoomout.xpm
deleted file mode 100644
index 8d8d442..0000000
--- a/app/bin/bitmaps/zoomout.xpm
+++ /dev/null
@@ -1,24 +0,0 @@
-/* XPM */
-static char * zoomout_xpm[] = {
-"16 16 5 1",
-" c None",
-"- c #FFFFFFFFFFFF",
-". c #000000000000",
-"X c #0000FFFFFFFF",
-"o c #FFFF7DF70000",
-" ..... ",
-" ..-XXXX.. ",
-" .----XXX. ",
-".---------. . ",
-".-.--.--.-. ....",
-"........... . ",
-".-.--.--.-. ....",
-".XX-------. . ",
-" .XXX----. ",
-" ..XXX--... ",
-" ..... .o. ",
-" .o. ",
-" .o. ",
-" .o. ",
-" .. ",
-" "};
diff --git a/app/bin/cJSON.c b/app/bin/cJSON.c
index 1733811..ee641fc 100755
--- a/app/bin/cJSON.c
+++ b/app/bin/cJSON.c
@@ -1,4 +1,4 @@
-/*
+/**
Copyright (c) 2009-2017 Dave Gamble and cJSON contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
diff --git a/app/bin/cJSON.h b/app/bin/cJSON.h
index 8d45390..291d694 100755
--- a/app/bin/cJSON.h
+++ b/app/bin/cJSON.h
@@ -1,4 +1,4 @@
-/*
+/**
Copyright (c) 2009-2017 Dave Gamble and cJSON contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
diff --git a/app/bin/cbezier.c b/app/bin/cbezier.c
index 7f90a27..22c95ba 100644
--- a/app/bin/cbezier.c
+++ b/app/bin/cbezier.c
@@ -42,7 +42,7 @@
*/
-#include "track.h"
+#include "common.h"
#include "draw.h"
#include "ccurve.h"
#include "cbezier.h"
@@ -50,15 +50,14 @@
#include "cstraigh.h"
#include "drawgeom.h"
#include "cjoin.h"
-#include "i18n.h"
#include "common.h"
+#include "track.h"
#include "wcolors.h"
-#include "math.h"
-#include "utility.h"
#include "param.h"
#include "fileio.h"
#include "layout.h"
#include "cundo.h"
+#include "compound.h"
extern drawCmd_t tempD;
@@ -385,7 +384,7 @@ EXPORT BOOL_T ConvertToArcs (coOrd pos[4], dynArr_t * segs, BOOL_T track, wDrawC
end_point = getPoint(pos, t_e); //End of trial Arc
PlotCurve( crvCmdFromChord, start_point, end_point, mid_point,
- &(arc.curveData), TRUE ); //Find Arc through three points
+ &(arc.curveData), FALSE, 0.0 ); //Find Arc through three points
arc.start = t_s; //remember start
arc.end = t_e; //remember end
@@ -615,7 +614,7 @@ EXPORT STATUS_T AdjustBezCurve(
case C_DOWN:
if (Da.state != PICK_POINT) return C_CONTINUE;
- dd = 10000.0;
+ dd = DIST_INF;
Da.selectPoint = -1;
for (int i=0;i<4;i++) {
d = FindDistance(Da.pos[i],pos);
@@ -803,10 +802,6 @@ EXPORT STATUS_T AdjustBezCurve(
}
-struct extraData {
- BezierData_t bezierData;
- };
-
/*
* CmdBezModify
*
@@ -825,13 +820,12 @@ struct extraData {
*/
STATUS_T CmdBezModify (track_p trk, wAction_t action, coOrd pos, DIST_T trackG) {
BOOL_T track = TRUE;
- track_p t;
double width = 1.0;
long mode = 0;
long cmd;
- struct extraData *xx = GetTrkExtraData(trk);
- cmd = (long)commandContext;
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
+ cmd = VP2L(commandContext);
Da.trackGauge = trackG;
switch (action&0xFF) {
@@ -854,30 +848,30 @@ STATUS_T CmdBezModify (track_p trk, wAction_t action, coOrd pos, DIST_T trackG)
Da.selectTrack = trk;
- for (int i=0;i<4;i++) Da.pos[i] = xx->bezierData.pos[i]; //Copy parms from old trk
+ for (int i=0;i<4;i++) Da.pos[i] = xx->pos[i]; //Copy parms from old trk
InfoMessage(_("%s picked - now select a Point"),track?"Track":"Line");
Da.state = TRACK_SELECTED;
DrawTrack(Da.selectTrack,&mainD,wDrawColorWhite); //Wipe out real track, draw replacement
- return AdjustBezCurve(C_START, pos, Da.track, xx->bezierData.segsColor, xx->bezierData.segsWidth, InfoMessage);
+ return AdjustBezCurve(C_START, pos, Da.track, xx->segsColor, xx->segsWidth, InfoMessage);
case wActionMove:
if (Da.state == NONE) return C_CONTINUE;
- return AdjustBezCurve(wActionMove, pos, Da.track, xx->bezierData.segsColor, xx->bezierData.segsWidth, InfoMessage);
+ return AdjustBezCurve(wActionMove, pos, Da.track, xx->segsColor, xx->segsWidth, InfoMessage);
case C_DOWN:
if (Da.state == TRACK_SELECTED) return C_CONTINUE; //Ignore until first up
UndrawNewTrack( Da.selectTrack );
- return AdjustBezCurve(C_DOWN, pos, Da.track, xx->bezierData.segsColor, xx->bezierData.segsWidth, InfoMessage);
+ return AdjustBezCurve(C_DOWN, pos, Da.track, xx->segsColor, xx->segsWidth, InfoMessage);
case C_MOVE:
if (Da.state == TRACK_SELECTED) return C_CONTINUE; //Ignore until first up and down
- return AdjustBezCurve(C_MOVE, pos, Da.track, xx->bezierData.segsColor, xx->bezierData.segsWidth, InfoMessage);
+ return AdjustBezCurve(C_MOVE, pos, Da.track, xx->segsColor, xx->segsWidth, InfoMessage);
case C_UP:
if (Da.state == TRACK_SELECTED) {
Da.state = PICK_POINT; //First time up, next time pick a point
}
- return AdjustBezCurve(C_UP, pos, Da.track, xx->bezierData.segsColor, xx->bezierData.segsWidth, InfoMessage); //Run Adjust
+ return AdjustBezCurve(C_UP, pos, Da.track, xx->segsColor, xx->segsWidth, InfoMessage); //Run Adjust
case C_TEXT:
if ((action>>8) != 32)
@@ -890,22 +884,18 @@ STATUS_T CmdBezModify (track_p trk, wAction_t action, coOrd pos, DIST_T trackG)
return C_CANCEL;
}
UndoStart( _("Modify Bezier"), "newBezier - CR" );
- if (Da.track) t = NewBezierTrack( Da.pos, (trkSeg_p)Da.crvSegs_da.ptr, Da.crvSegs_da.cnt);
- else t = NewBezierLine(Da.pos, (trkSeg_p)Da.crvSegs_da.ptr, Da.crvSegs_da.cnt,xx->bezierData.segsColor,xx->bezierData.segsWidth);
-
- if (Da.track) CopyAttributes( trk, t );
+ UndoModify( trk );
- Da.state = NONE; //Must do before Delete for redraw
- DeleteTrack(trk, TRUE);
-
- if (Da.track) {
- for (int i=0;i<2;i++) { //Attach new track
- if (Da.trk[i] != NULL && Da.ep[i] != -1) { //Like the old track
- ConnectAbuttingTracks(t,i,Da.trk[i],Da.ep[i]);
- }
- }
+ Da.state = NONE;
+ wDrawColor color = wDrawColorBlack;
+ DIST_T width = 0;
+ if ( !Da.track ) {
+ color = xx->segsColor;
+ width = xx->segsWidth;
}
- DrawNewTrack( t );
+ SetBezierData( trk, Da.pos, xx->segsColor, xx->segsWidth );
+
+ DrawNewTrack( trk );
UndoEnd();
InfoMessage(_("Modify Bezier Complete"));
return C_TERMINATE;
@@ -916,7 +906,7 @@ STATUS_T CmdBezModify (track_p trk, wAction_t action, coOrd pos, DIST_T trackG)
return C_TERMINATE;
case C_REDRAW:
- return AdjustBezCurve(C_REDRAW, pos, Da.track, xx->bezierData.segsColor, xx->bezierData.segsWidth, InfoMessage);
+ return AdjustBezCurve(C_REDRAW, pos, Da.track, xx->segsColor, xx->segsWidth, InfoMessage);
}
return C_CONTINUE;
@@ -961,7 +951,7 @@ DIST_T BezierOffsetLength(dynArr_t segs, double offset) {
DIST_T BezierMinRadius(coOrd pos[4],dynArr_t segs) {
- DIST_T r = 100000.0, rr;
+ DIST_T r = DIST_INF, rr;
if (segs.cnt == 0 ) return r;
for (int i = 0;i<segs.cnt;i++) {
trkSeg_t t = DYNARR_N(trkSeg_t, segs, i);
@@ -969,7 +959,7 @@ DIST_T BezierMinRadius(coOrd pos[4],dynArr_t segs) {
rr = fabs(t.u.c.radius);
} else if (t.type == SEG_BEZLIN || t.type == SEG_BEZTRK) {
rr = BezierMinRadius(t.u.b.pos, t.bezSegs);
- } else rr = 100000.00;
+ } else rr = DIST_INF;
if (rr<r) r = rr;
}
return r;
@@ -1003,12 +993,14 @@ STATUS_T CmdBezCurve( wAction_t action, coOrd pos )
{
track_p t;
static int segCnt;
+ static BOOL_T lock;
+ static coOrd movePos;
STATUS_T rc = C_CONTINUE;
long curveMode = 0;
long cmd;
if (action>>8) {
cmd = action>>8;
- } else cmd = (long)commandContext;
+ } else cmd = VP2L(commandContext);
Da.width = (double)lineWidth/mainD.dpi;
@@ -1047,7 +1039,8 @@ STATUS_T CmdBezCurve( wAction_t action, coOrd pos )
int end = Da.state==POS_1?0:1;
EPINX_T ep;
if (Da.track) {
- if ((MyGetKeyState() & (WKEY_SHIFT|WKEY_CTRL|WKEY_ALT)) == 0) { //Snap Track
+ if (lock) {
+ pos = movePos;
if ((t = OnTrack(&p, FALSE, TRUE)) != NULL) {
ep = PickUnconnectedEndPointSilent(p, t);
if (ep != -1) {
@@ -1066,16 +1059,9 @@ STATUS_T CmdBezCurve( wAction_t action, coOrd pos )
}
}
} else { //Snap Bez Line to Lines
- if ((MyGetKeyState() & (WKEY_SHIFT|WKEY_CTRL|WKEY_ALT)) == 0) {
- if ((t = OnTrack(&p,FALSE, FALSE)) != NULL) {
- if (GetClosestEndPt(t,&p)) {
- pos = p;
- found = TRUE;
- }
- }
- }
+ if (lock)
+ pos = movePos;
}
- if (!found) SnapPos( &pos );
if (Da.state == POS_1) {
Da.pos[0] = pos;
Da.pos[1] = pos;
@@ -1101,12 +1087,15 @@ STATUS_T CmdBezCurve( wAction_t action, coOrd pos )
case wActionMove:
DYNARR_RESET(trkSeg_t,anchors_da);
- if ( Da.state != POS_1 && Da.state != POS_2) return C_CONTINUE;
+ lock = FALSE;
+ if ( Da.state != POS_1 && Da.state != POS_2) return C_CONTINUE; //Don't snap CPs
if (Da.track) {
- if ((MyGetKeyState() & (WKEY_SHIFT|WKEY_CTRL|WKEY_ALT)) == 0) {
+ if (((MyGetKeyState() & WKEY_ALT) == 0) == magneticSnap) {
if ((t = OnTrack(&pos, FALSE, TRUE)) != NULL) {
EPINX_T ep = PickUnconnectedEndPointSilent(pos, t);
if (ep != -1) {
+ lock = TRUE;
+ movePos = pos;
if (GetTrkGauge(t) == GetScaleTrackGauge(GetLayoutCurScale())) {
pos = GetTrkEndPos(t, ep);
CreateEndAnchor(pos,FALSE);
@@ -1115,15 +1104,21 @@ STATUS_T CmdBezCurve( wAction_t action, coOrd pos )
}
}
} else {
- if ((MyGetKeyState() & (WKEY_SHIFT|WKEY_CTRL|WKEY_ALT)) == 0) {
+ if (((MyGetKeyState() & WKEY_ALT) == 0) == magneticSnap) {
if ((t = OnTrack(&pos,FALSE, FALSE)) != NULL) {
CreateEndAnchor(pos,TRUE);
+ lock = TRUE;
+ movePos = pos;
}
}
}
- if (anchors_da.cnt)
- return C_CONTINUE;
-
+ if (!lock && SnapPos(&pos)) {
+ CreateEndAnchor(pos,TRUE);
+ lock = TRUE;
+ movePos = pos;
+ }
+ if (anchors_da.cnt) return C_CONTINUE;
+ /* no break */
case C_MOVE:
if (Da.state == POS_1) {
InfoMessage( _("Place 1st endpoint of Bezier - snap to %s"), Da.track?"unconnected track":"line" );
@@ -1224,8 +1219,8 @@ void UpdateParms(wDrawColor color,long width) {
}
-#include "bitmaps/bezier.xpm"
-#include "bitmaps/dbezier.xpm"
+#include "bitmaps/bezier-track.xpm"
+#include "bitmaps/bezier-line.xpm"
EXPORT void InitCmdBezier( wMenu_p menu )
{
diff --git a/app/bin/cbezier.h b/app/bin/cbezier.h
index 49b818f..74ef51f 100644
--- a/app/bin/cbezier.h
+++ b/app/bin/cbezier.h
@@ -21,8 +21,6 @@
*/
#include "common.h"
-#include "wlib.h"
-#include "utility.h"
extern dynArr_t tempEndPts_da;
@@ -37,16 +35,16 @@ extern dynArr_t tempEndPts_da;
extern wDrawColor lineColor;
extern long lineWidth;
-typedef void (*bezMessageProc)( char *, ... );
+typedef void (*bezMessageProc)( const char *, ... );
STATUS_T CmdBezCurve( wAction_t, coOrd);
STATUS_T CmdBezModify(track_p, wAction_t, coOrd, DIST_T);
STATUS_T CreateBezier( wAction_t, coOrd, BOOL_T, wDrawColor, DIST_T, long, bezMessageProc );
DIST_T BezierDescriptionDistance( coOrd, track_p, coOrd *, BOOL_T, BOOL_T * );
STATUS_T BezierDescriptionMove( track_p, wAction_t, coOrd );
-BOOL_T GetBezierMiddle( track_p, coOrd * );
+
BOOL_T ConvertToArcs (coOrd[4], dynArr_t *, BOOL_T, wDrawColor, DIST_T);
-track_p NewBezierTrack(coOrd[4], trkSeg_t *, int);
+track_p NewBezierTrack(coOrd[4], trkSeg_p, int);
double BezierLength(coOrd[4], dynArr_t);
double BezierOffsetLength(dynArr_t,double offset);
double BezierMinRadius(coOrd[4],dynArr_t);
diff --git a/app/bin/cblock.c b/app/bin/cblock.c
index b395306..0291b4a 100644
--- a/app/bin/cblock.c
+++ b/app/bin/cblock.c
@@ -46,24 +46,19 @@
* $Header: /home/dmarkle/xtrkcad-fork-cvs/xtrkcad/app/bin/cblock.c,v 1.5 2009-11-23 19:46:16 rheller Exp $
*/
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-
+#include "common.h"
#include "compound.h"
#include "cundo.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
#include "trackx.h"
-#include "utility.h"
+#include "common-ui.h"
-#ifdef WINDOWS
+#ifdef UTFCONVERT
#include "include/utf8convert.h"
-#endif // WINDOWS
+#endif // UTFCONVERT
EXPORT TRKTYP_T T_BLOCK = -1;
@@ -78,19 +73,20 @@ static void NoDrawString( drawCmd_p d, coOrd p, ANGLE_T a, char * s,
wFont_p fp, FONTSIZE_T fontSize, wDrawColor color ) {}
static void NoDrawBitMap( drawCmd_p d, coOrd p, wDrawBitMap_p bm,
wDrawColor color) {}
-static void NoDrawFillPoly( drawCmd_p d, int cnt, coOrd * pts, int * types,
- wDrawColor color, wDrawWidth width, int fill, int open) {}
+static void NoDrawPoly( drawCmd_p d, int cnt, coOrd * pts, int * types,
+ wDrawColor color, wDrawWidth width, drawFill_e eFillOpt ) {}
static void NoDrawFillCircle( drawCmd_p d, coOrd p, DIST_T r,
wDrawColor color ) {}
+static void NoDrawRectangle( drawCmd_p d, coOrd orig, coOrd size, wDrawColor color, drawFill_e eFill ) {}
static drawFuncs_t noDrawFuncs = {
- 0,
NoDrawLine,
NoDrawArc,
NoDrawString,
NoDrawBitMap,
- NoDrawFillPoly,
- NoDrawFillCircle };
+ NoDrawPoly,
+ NoDrawFillCircle,
+ NoDrawRectangle};
static drawCmd_t blockD = {
NULL,
@@ -108,10 +104,10 @@ static track_p first_block;
static track_p last_block;
static paramData_t blockPLs[] = {
-/*0*/ { PD_STRING, blockName, "name", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)200, N_("Name"), 0, 0, sizeof( blockName )},
-/*1*/ { PD_STRING, blockScript, "script", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)350, N_("Script"), 0, 0, sizeof( blockScript)}
+/*0*/ { PD_STRING, blockName, "name", PDO_NOPREF | PDO_NOTBLANK, I2VP(200), N_("Name"), 0, 0, sizeof( blockName )},
+/*1*/ { PD_STRING, blockScript, "script", PDO_NOPREF, I2VP(350), N_("Script"), 0, 0, sizeof( blockScript)}
};
-static paramGroup_t blockPG = { "block", 0, blockPLs, sizeof blockPLs/sizeof blockPLs[0] };
+static paramGroup_t blockPG = { "block", 0, blockPLs, COUNT( blockPLs ) };
static wWin_p blockW;
static char blockEditName[STR_SHORT_SIZE];
@@ -120,11 +116,11 @@ static char blockEditSegs[STR_LONG_SIZE];
static track_p blockEditTrack;
static paramData_t blockEditPLs[] = {
-/*0*/ { PD_STRING, blockEditName, "name", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)200, N_("Name"), 0, 0, sizeof(blockEditName)},
-/*1*/ { PD_STRING, blockEditScript, "script", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)350, N_("Script"), 0, 0, sizeof(blockEditScript)},
-/*2*/ { PD_STRING, blockEditSegs, "segments", PDO_NOPREF, (void*)350, N_("Segments"), BO_READONLY },
+/*0*/ { PD_STRING, blockEditName, "name", PDO_NOPREF | PDO_NOTBLANK, I2VP(200), N_("Name"), 0, 0, sizeof(blockEditName)},
+/*1*/ { PD_STRING, blockEditScript, "script", PDO_NOPREF, I2VP(350), N_("Script"), 0, 0, sizeof(blockEditScript)},
+/*2*/ { PD_STRING, blockEditSegs, "segments", PDO_NOPREF, I2VP(350), N_("Segments"), BO_READONLY, 0, sizeof(blockEditSegs) },
};
-static paramGroup_t blockEditPG = { "block", 0, blockEditPLs, sizeof blockEditPLs/sizeof blockEditPLs[0] };
+static paramGroup_t blockEditPG = { "block", 0, blockEditPLs, COUNT( blockEditPLs ) };
static wWin_p blockEditW;
typedef struct btrackinfo_t {
@@ -133,12 +129,14 @@ typedef struct btrackinfo_t {
} btrackinfo_t, *btrackinfo_p;
static dynArr_t blockTrk_da;
+
#define blockTrk(N) DYNARR_N( btrackinfo_t , blockTrk_da, N )
#define tracklist(N) (&(xx->trackList))[N]
typedef struct blockData_t {
+ extraDataBase_t base;
char * name;
char * script;
BOOL_T IsHilite;
@@ -149,7 +147,7 @@ typedef struct blockData_t {
static blockData_p GetblockData ( track_p trk )
{
- return (blockData_p) GetTrkExtraData(trk);
+ return GET_EXTRA_DATA( trk, T_BLOCK, blockData_t );
}
static void DrawBlock (track_p t, drawCmd_p d, wDrawColor color )
@@ -393,9 +391,9 @@ static BOOL_T WriteBlock ( track_p t, FILE * f )
blockData_p xx = GetblockData(t);
char *blockName = MyStrdup(xx->name);
-#ifdef WINDOWS
+#ifdef UTFCONVERT
blockName = Convert2UTF8(blockName);
-#endif // WINDOWS
+#endif // UTFCONVERT
rc &= fprintf(f, "BLOCK %d \"%s\" \"%s\"\n",
GetTrkIndex(t), blockName, xx->script)>0;
@@ -426,11 +424,12 @@ static BOOL_T ReadBlock ( char * line )
return FALSE;
}
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem(name);
-#endif // WINDOWS
+#endif // UTFCONVERT
+
- DYNARR_RESET( btrackinfo_p , blockTrk_da );
+ DYNARR_RESET( btrackinfo_t , blockTrk_da );
while ( (cp = GetNextLine()) != NULL ) {
if ( IsEND( END_BLOCK ) ) {
break;
@@ -442,12 +441,12 @@ static BOOL_T ReadBlock ( char * line )
if ( strncmp( cp, "TRK", 3 ) == 0 ) {
if (!GetArgs(cp+4,"d",&trkindex)) return FALSE;
/*trk = FindTrack(trkindex);*/
- DYNARR_APPEND( btrackinfo_p *, blockTrk_da, 10 );
- blockTrk(blockTrk_da.cnt-1).i = trkindex;
+ DYNARR_APPEND( btrackinfo_t, blockTrk_da, 10 );
+ DYNARR_LAST( btrackinfo_t, blockTrk_da ).i = trkindex;
}
}
/*blockCheckContigiousPath(); save for ResolveBlockTracks */
- trk = NewTrack(index, T_BLOCK, tempEndPts_da.cnt, sizeof(blockData_t)+(sizeof(btrackinfo_t)*(blockTrk_da.cnt-1))+1);
+ trk = NewTrack(index, T_BLOCK, tempEndPts_da.cnt, sizeof(blockData_t)+(sizeof(btrackinfo_t)*(blockTrk_da.cnt))+1);
for ( ep=0; ep<tempEndPts_da.cnt; ep++) {
endPtP = &tempEndPts(ep);
SetTrkEndPoint( trk, ep, endPtP->pos, endPtP->angle );
@@ -771,7 +770,7 @@ static STATUS_T CmdBlock (wAction_t action, coOrd pos )
{
LOG( log_block, 1, ("*** CmdBlock(%08x,{%f,%f})\n",action,pos.x,pos.y))
- switch ((long)commandContext) {
+ switch (VP2L(commandContext)) {
case BLOCK_CREATE: return CmdBlockCreate(action,pos);
case BLOCK_EDIT: return CmdBlockEdit(action,pos);
case BLOCK_DELETE: return CmdBlockDelete(action,pos);
@@ -857,13 +856,10 @@ static POS_T blkhiliteBorder;
static wDrawColor blkhiliteColor = 0;
static void DrawBlockTrackHilite( void )
{
- wPos_t x, y, w, h;
if (blkhiliteColor==0)
blkhiliteColor = wDrawColorGray(87);
- w = (wPos_t)((blkhiliteSize.x/mainD.scale)*mainD.dpi+0.5);
- h = (wPos_t)((blkhiliteSize.y/mainD.scale)*mainD.dpi+0.5);
- mainD.CoOrd2Pix(&mainD,blkhiliteOrig,&x,&y);
- wDrawFilledRectangle( mainD.d, x, y, w, h, blkhiliteColor, wDrawOptTemp|wDrawOptTransparent );
+ // This is incomplete. We should be in temp drawing mode and clearing temp draw on UN_HILIGHT
+ DrawRectangle( &tempD, blkhiliteOrig, blkhiliteSize, blkhiliteColor, DRAW_TRANSPARENT );
}
@@ -984,11 +980,11 @@ EXPORT void BlockMgmLoad( void )
static wIcon_p blockI = NULL;
if ( blockI == NULL)
- blockI = wIconCreatePixMap( block_xpm );
+ blockI = wIconCreatePixMap( block_xpm[iconSize] );
TRK_ITERATE(trk) {
if (GetTrkType(trk) != T_BLOCK) continue;
- ContMgmLoad( blockI, BlockMgmProc, (void *)trk );
+ ContMgmLoad( blockI, BlockMgmProc, trk );
}
}
@@ -998,7 +994,7 @@ EXPORT void InitCmdBlock( wMenu_p menu )
blockName[0] = '\0';
blockScript[0] = '\0';
AddMenuButton( menu, CmdBlockCreate, "cmdBlockCreate", _("Block"),
- wIconCreatePixMap( block_xpm ), LEVEL0_50,
+ wIconCreatePixMap( block_xpm[iconSize] ), LEVEL0_50,
IC_STICKY|IC_POPUP2, ACCL_BLOCK1, NULL );
ParamRegister( &blockPG );
}
@@ -1008,6 +1004,10 @@ EXPORT void InitTrkBlock( void )
{
T_BLOCK = InitObject ( &blockCmds );
log_block = LogFindIndex ( "block" );
+ blockTrk_da.max = 0;
+ blockTrk_da.cnt = 0;
+ blockTrk_da.ptr = NULL;
+ last_block = NULL;
}
diff --git a/app/bin/ccontrol.c b/app/bin/ccontrol.c
index 793acc3..a4f9b27 100644
--- a/app/bin/ccontrol.c
+++ b/app/bin/ccontrol.c
@@ -46,23 +46,19 @@
static const char rcsid[] = "@(#) : $Id$";
-#include <ctype.h>
-#include <string.h>
-
#include "compound.h"
+#include "cselect.h"
#include "cundo.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
#include "param.h"
#include "track.h"
#include "trackx.h"
-#ifdef WINDOWS
+#include "common-ui.h"
+#ifdef UTFCONVERT
#include "include/utf8convert.h"
-#endif // WINDOWS
-#include "utility.h"
-#include "messages.h"
+#endif // UTFCONVERT
EXPORT TRKTYP_T T_CONTROL = -1;
@@ -85,6 +81,7 @@ static char controlOffScript[STR_LONG_SIZE];
#endif
typedef struct controlData_t {
+ extraDataBase_t base;
coOrd orig;
BOOL_T IsHilite;
char * name;
@@ -94,7 +91,7 @@ typedef struct controlData_t {
static controlData_p GetcontrolData ( track_p trk )
{
- return (controlData_p) GetTrkExtraData(trk);
+ return GET_EXTRA_DATA( trk, T_CONTROL, controlData_t );
}
#define RADIUS 6
@@ -310,9 +307,9 @@ static BOOL_T WriteControl ( track_p t, FILE * f )
controlData_p xx = GetcontrolData(t);
char *controlName = MyStrdup(xx->name);
-#ifdef WINDOWS
+#ifdef UTFCONVERT
controlName = Convert2UTF8(controlName);
-#endif // WINDOWS
+#endif // UTFCONVERT
rc &= fprintf(f, "CONTROL %d %u %s %d %0.6f %0.6f \"%s\" \"%s\" \"%s\"\n",
GetTrkIndex(t), GetTrkLayer(t), GetTrkScaleName(t),
@@ -340,9 +337,9 @@ static BOOL_T ReadControl ( char * line )
return FALSE;
}
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem(name);
-#endif // WINDOWS
+#endif // UTFCONVERT
trk = NewTrack(index, T_CONTROL, 0, sizeof(controlData_t));
SetTrkVisible(trk, visible);
@@ -422,18 +419,18 @@ static char controlEditOffScript[STR_LONG_SIZE];
static paramFloatRange_t r_1000_1000 = { -1000.0, 1000.0, 80 };
static paramData_t controlEditPLs[] = {
#define I_CONTROLNAME (0)
- /*0*/ { PD_STRING, controlEditName, "name", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)200, N_("Name"), 0, 0, sizeof(controlEditName) },
+ /*0*/ { PD_STRING, controlEditName, "name", PDO_NOPREF | PDO_NOTBLANK, I2VP(200), N_("Name"), 0, 0, sizeof(controlEditName) },
#define I_ORIGX (1)
/*1*/ { PD_FLOAT, &controlEditOrig.x, "origx", PDO_DIM, &r_1000_1000, N_("Origin X") },
#define I_ORIGY (2)
/*2*/ { PD_FLOAT, &controlEditOrig.y, "origy", PDO_DIM, &r_1000_1000, N_("Origin Y") },
#define I_CONTROLONSCRIPT (3)
- /*3*/ { PD_STRING, controlEditOnScript, "script", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)350, N_("On Script"), 0, 0, sizeof(controlEditOnScript)},
+ /*3*/ { PD_STRING, controlEditOnScript, "script", PDO_NOPREF, I2VP(350), N_("On Script"), 0, 0, sizeof(controlEditOnScript)},
#define I_CONTROLOFFSCRIPT (4)
- /*4*/ { PD_STRING, controlEditOffScript, "script", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)350, N_("Off Script"), 0, 0, sizeof(controlEditOffScript)},
+ /*4*/ { PD_STRING, controlEditOffScript, "script", PDO_NOPREF, I2VP(350), N_("Off Script"), 0, 0, sizeof(controlEditOffScript)},
};
-static paramGroup_t controlEditPG = { "controlEdit", 0, controlEditPLs, sizeof controlEditPLs/sizeof controlEditPLs[0] };
+static paramGroup_t controlEditPG = { "controlEdit", 0, controlEditPLs, COUNT( controlEditPLs ) };
static wWin_p controlEditW;
static void ControlEditOk ( void * junk )
@@ -524,6 +521,7 @@ static STATUS_T CmdControl ( wAction_t action, coOrd pos )
switch (action) {
case C_START:
InfoMessage(_("Place control"));
+ SetAllTrackSelect( FALSE );
create = FALSE;
return C_CONTINUE;
case C_DOWN:
@@ -553,13 +551,9 @@ static POS_T ctlhiliteBorder;
static wDrawColor ctlhiliteColor = 0;
static void DrawControlTrackHilite( void )
{
- wPos_t x, y, w, h;
if (ctlhiliteColor==0)
ctlhiliteColor = wDrawColorGray(87);
- w = (wPos_t)((ctlhiliteSize.x/mainD.scale)*mainD.dpi+0.5);
- h = (wPos_t)((ctlhiliteSize.y/mainD.scale)*mainD.dpi+0.5);
- mainD.CoOrd2Pix(&mainD,ctlhiliteOrig,&x,&y);
- wDrawFilledRectangle( mainD.d, x, y, w, h, ctlhiliteColor, wDrawOptTemp|wDrawOptTransparent );
+ DrawRectangle( &tempD, ctlhiliteOrig, ctlhiliteSize, ctlhiliteColor, DRAW_TRANSPARENT );
}
static int ControlMgmProc ( int cmd, void * data )
@@ -624,12 +618,12 @@ EXPORT void ControlMgmLoad ( void )
static wIcon_p controlI = NULL;
if (controlI == NULL) {
- controlI = wIconCreatePixMap( control_xpm );
+ controlI = wIconCreatePixMap( control_xpm[iconSize] );
}
TRK_ITERATE(trk) {
if (GetTrkType(trk) != T_CONTROL) continue;
- ContMgmLoad (controlI, ControlMgmProc, (void *) trk );
+ ContMgmLoad (controlI, ControlMgmProc, trk );
}
}
@@ -638,7 +632,7 @@ EXPORT void ControlMgmLoad ( void )
EXPORT void InitCmdControl ( wMenu_p menu )
{
AddMenuButton( menu, CmdControl, "cmdControl", _("Control"),
- wIconCreatePixMap( control_xpm ), LEVEL0_50, IC_STICKY|IC_POPUP2, ACCL_CONTROL, NULL );
+ wIconCreatePixMap( control_xpm[iconSize] ), LEVEL0_50, IC_STICKY|IC_POPUP2, ACCL_CONTROL, NULL );
}
EXPORT void InitTrkControl ( void )
diff --git a/app/bin/ccornu.c b/app/bin/ccornu.c
index fd51755..f447d64 100644
--- a/app/bin/ccornu.c
+++ b/app/bin/ccornu.c
@@ -79,18 +79,13 @@
#include "cstraigh.h"
#include "drawgeom.h"
#include "cjoin.h"
-#include "i18n.h"
#include "common.h"
-#include "utility.h"
-#include "math.h"
#include "param.h"
#include "layout.h"
#include "cundo.h"
-#include "messages.h"
#include "cselect.h"
#include "fileio.h"
-
-#include <stdint.h>
+#include "common-ui.h"
extern drawCmd_t tempD;
extern TRKTYP_T T_BEZIER;
@@ -194,7 +189,7 @@ static char * CmdCornuHotBarProc(
case HB_SELECT:
CmdCornu( C_CANCEL, zero );
curCornu = trkseg;
- DoCommandB( (void*)(intptr_t)cornuHotBarCmdInx );
+ DoCommandB( I2VP(cornuHotBarCmdInx) );
return NULL;
case HB_LISTTITLE:
sprintf(message,_("%s FlexTrack"),GetScaleName(GetLayoutCurScale()));
@@ -253,7 +248,7 @@ EXPORT void AddHotBarCornu( void )
hotB.txt.u.t.boxed = TRUE;
hotB.txt.u.t.string = MyStrdup(_(" FLEX "));
hotB.txt.u.t.fontP = NULL;
- hotB.txt.u.t.fontSize = 160.0*ratio;
+ hotB.txt.u.t.fontSize = 160*mainD.dpi/72.0*ratio;
hotB.txt.u.t.angle = 0.0;
char * label = MyMalloc(256);
@@ -342,7 +337,7 @@ int createEndPoint(
endHandle->end_curve = zero;
endHandle->end_valid = TRUE;
endHandle->mid_disp = 0.0;
- DIST_T end_length = 20*trackGauge;
+ DIST_T end_length = tempD.scale*2.0;
Translate(&endHandle->end_curve,pos0,angle,end_length);
Translate(&endHandle->end_center,pos0,angle,end_length/2);
if (radius>0.0) {
@@ -358,7 +353,7 @@ int createEndPoint(
Rotate(&cm,endHandle->end_curve,-a );
endHandle->mid_disp = cm.x-endHandle->end_curve.x;
curveData_t curveData;
- PlotCurve(crvCmdFromCenter,pos0,endHandle->end_center, endHandle->end_curve, &curveData, FALSE);
+ PlotCurve(crvCmdFromCenter,pos0,endHandle->end_center, endHandle->end_curve, &curveData, FALSE, 0.0);
if (curveData.type == curveTypeStraight) {
coOrd pos_line[2];
Translate(&pos_line[0],pos0,FindAngle(pos0,endHandle->end_curve)+90,trackGauge/2);
@@ -486,7 +481,6 @@ static void CreateCornuEndAnchor(coOrd p, wBool_t lock) {
anchors(i).u.c.a0 = 0.0;
anchors(i).u.c.a1 = 360.0;
anchors(i).width = 0;
-
}
static void CreateCornuExtendAnchor(coOrd p, ANGLE_T a, wBool_t selected) {
@@ -992,9 +986,6 @@ track_p CreateCornuFromPoints(coOrd pos[2],BOOL_T track_end[2]) {
}
-struct extraData {
- cornuData_t cornuData;
- };
ANGLE_T GetOpenAngle(coOrd pos[2],ANGLE_T angle[2],int moved) {
ANGLE_T a = FindAngle(pos[1-moved],pos[moved]);
@@ -1017,12 +1008,12 @@ static paramData_t cornuModPLs[] = {
#define cornuModEndAnglePD (cornuModPLs[0])
#define cornuModEndAngle 0
- { PD_FLOAT, &cornuModCmdContext.angle, "End Angle", PDO_NORECORD|BO_ENTER, &r0_360, N_("End Angle") },
+ { PD_FLOAT, &cornuModCmdContext.angle, "endangle", PDO_NORECORD|BO_ENTER, &r0_360, N_("End Angle") },
#define cornuModEndRadiusPD (cornuModPLs[1])
#define cornuModEndRadius 1
- { PD_FLOAT, &cornuModCmdContext.radius, "End Radius", PDO_DIM|PDO_NORECORD|BO_ENTER, &r10000_10000, N_("End Radius") },
+ { PD_FLOAT, &cornuModCmdContext.radius, "endradius", PDO_DIM|PDO_NORECORD|BO_ENTER, &r10000_10000, N_("End Radius") },
};
-static paramGroup_t cornuModPG = { "cornuMod", 0, cornuModPLs, sizeof cornuModPLs/sizeof cornuModPLs[0] };
+static paramGroup_t cornuModPG = { "cornuMod", 0, cornuModPLs, COUNT( cornuModPLs ) };
/*
* AdjustCornuCurve
@@ -1050,7 +1041,7 @@ EXPORT STATUS_T AdjustCornuCurve(
wControl_p controls[5]; //Always needs a NULL last entry
char * labels[4];
- Da.cmdType = (long)commandContext;
+ Da.cmdType = VP2L(commandContext);
if (Da.state != PICK_POINT && Da.state != POINT_PICKED && Da.state != TRACK_SELECTED) return C_CONTINUE;
@@ -1095,6 +1086,7 @@ EXPORT STATUS_T AdjustCornuCurve(
case wActionMove:
if (Da.state == NONE || Da.state == PICK_POINT) {
+ wSetCursor(mainD.d,defaultCursor);
DYNARR_RESET(trkSeg_t,anchors_da);
for(int i=0;i<2;i++) {
if (IsClose(FindDistance(pos,Da.pos[i]))) {
@@ -1113,6 +1105,7 @@ EXPORT STATUS_T AdjustCornuCurve(
d = FindDistance(DYNARR_N(coOrd,Da.mid_points,i),pos);
if (IsClose(d)) {
CreateCornuAnchor(DYNARR_N(coOrd,Da.mid_points,i),FALSE);
+ wSetCursor(mainD.d,wCursorNone);
return C_CONTINUE;
}
}
@@ -1121,6 +1114,7 @@ EXPORT STATUS_T AdjustCornuCurve(
d = FindDistance(Da.endHandle[i].end_center,pos);
if (IsClose(d)) {
CreateCornuAnchor(Da.endHandle[i].end_center, FALSE);
+ wSetCursor(mainD.d,wCursorNone);
return C_CONTINUE;
}
}
@@ -1129,13 +1123,14 @@ EXPORT STATUS_T AdjustCornuCurve(
d = FindDistance(Da.endHandle[i].end_curve,pos);
if (IsClose(d)) {
CreateCornuAnchor(Da.endHandle[i].end_curve, FALSE);
+ wSetCursor(mainD.d,wCursorNone);
return C_CONTINUE;
}
}
coOrd temp_pos = pos;
if (IsClose(DistanceSegs(zero,0.0,Da.crvSegs_da.cnt,(trkSeg_p)Da.crvSegs_da.ptr,&temp_pos,NULL))) {
CreateCornuAnchor(temp_pos, TRUE);
- }
+ } else wSetCursor(mainD.d,defaultCursor);
}
return C_CONTINUE;
@@ -1371,7 +1366,6 @@ EXPORT STATUS_T AdjustCornuCurve(
if (((MyGetKeyState() & WKEY_SHIFT) != 0) && Da.selectTrack) { //Extend end locked
SetUpCornuParms(&cp);
CallCornuM(Da.mid_points,Da.ends,Da.pos,&cp,&Da.crvSegs_da,FALSE);
- struct extraData *xx = GetTrkExtraData(Da.selectTrack);
if (Da.radius[sel] == 0) { //Straight
Da.extendSeg[sel].type = SEG_STRTRK;
Da.extendSeg[sel].width = 0;
@@ -1786,6 +1780,7 @@ EXPORT STATUS_T AdjustCornuCurve(
if (anchors_da.cnt) {
DrawSegs( &tempD, zero, 0.0, &anchors(0), anchors_da.cnt, trackGauge, wDrawColorBlack );
}
+ if (Da.state == POINT_PICKED) wSetCursor(mainD.d,wCursorNone);
return C_CONTINUE;
case C_CANCEL:
case C_FINISH:
@@ -1826,7 +1821,6 @@ static void cornuModDlgUpdate(
*
*/
STATUS_T CmdCornuModify (track_p trk, wAction_t action, coOrd pos, DIST_T trackG ) {
- struct extraData *xx = GetTrkExtraData(trk);
Da.trackGauge = trackG;
@@ -1871,11 +1865,11 @@ STATUS_T CmdCornuModify (track_p trk, wAction_t action, coOrd pos, DIST_T trackG
else Da.ep[0] = -1;
}
if (prior) {
- struct extraData *xx0 = GetTrkExtraData(prior);
- Da.pos[0] = xx0->cornuData.pos[ep0]; //Copy parms from FIRST CORNU trk
- Da.radius[0] = xx0->cornuData.r[ep0];
- Da.angle[0] = xx0->cornuData.a[ep0];
- Da.center[0] = xx0->cornuData.c[ep0];
+ struct extraDataCornu_t *xx0 = GET_EXTRA_DATA(prior, T_CORNU, extraDataCornu_t);
+ Da.pos[0] = xx0->pos[ep0]; //Copy parms from FIRST CORNU trk
+ Da.radius[0] = xx0->r[ep0];
+ Da.angle[0] = xx0->a[ep0];
+ Da.center[0] = xx0->c[ep0];
}
//Move to RHS
@@ -1897,11 +1891,11 @@ STATUS_T CmdCornuModify (track_p trk, wAction_t action, coOrd pos, DIST_T trackG
}
if (next) {
- struct extraData *xx1 = GetTrkExtraData(next);
- Da.pos[1] = xx1->cornuData.pos[ep1]; //Copy parms from LAST CORNU trk
- Da.radius[1] = xx1->cornuData.r[ep1];
- Da.angle[1] = xx1->cornuData.a[ep1];
- Da.center[1] = xx1->cornuData.c[ep1];
+ struct extraDataCornu_t *xx1 = GET_EXTRA_DATA(next, T_CORNU, extraDataCornu_t);
+ Da.pos[1] = xx1->pos[ep1]; //Copy parms from LAST CORNU trk
+ Da.radius[1] = xx1->r[ep1];
+ Da.angle[1] = xx1->a[ep1];
+ Da.center[1] = xx1->c[ep1];
}
InfoMessage(_("Now Select or Add (+Shift) a Point"));
@@ -1987,7 +1981,7 @@ STATUS_T CmdCornuModify (track_p trk, wAction_t action, coOrd pos, DIST_T trackG
Da.state = NONE;
return C_TERMINATE;
}
-
+ CopyAttributes(Da.selectTrack,Da.trk[i]);
}
}
BOOL_T end_point[2];
@@ -2008,7 +2002,7 @@ STATUS_T CmdCornuModify (track_p trk, wAction_t action, coOrd pos, DIST_T trackG
Da.center[1].x,Da.center[1].y,
Da.angle[0],Da.angle[1],
FormatDistance(Da.radius[0]),FormatDistance(Da.radius[1]));
- UndoUndo();
+ UndoUndo(NULL);
Da.state = NONE;
return C_TERMINATE;
}
@@ -2038,7 +2032,7 @@ STATUS_T CmdCornuModify (track_p trk, wAction_t action, coOrd pos, DIST_T trackG
Da.center[1].x,Da.center[1].y,
Da.angle[0],Da.angle[1],
FormatDistance(Da.radius[0]),FormatDistance(Da.radius[1]));
- UndoUndo();
+ UndoUndo(NULL);
Da.state = NONE;
return C_TERMINATE;
}
@@ -2073,7 +2067,7 @@ STATUS_T CmdCornuModify (track_p trk, wAction_t action, coOrd pos, DIST_T trackG
if (Da.ep[i]>= 0)
ConnectTracks(i==0?first_trk:trk1,i,Da.trk[i],Da.ep[i]);
} else {
- UndoUndo();
+ UndoUndo(NULL);
wBeep();
InfoMessage(_("Connected Track End Adjust for end %d failed"),i);
return C_TERMINATE;
@@ -2140,7 +2134,7 @@ DIST_T CornuOffsetLength(dynArr_t segs, double offset) {
}
DIST_T CornuMinRadius(coOrd pos[4],dynArr_t segs) {
- DIST_T r = 100000.0, rr;
+ DIST_T r = DIST_INF, rr;
if (segs.cnt == 0 ) return r;
for (int i = 0;i<segs.cnt;i++) {
trkSeg_t t = DYNARR_N(trkSeg_t, segs, i);
@@ -2148,7 +2142,7 @@ DIST_T CornuMinRadius(coOrd pos[4],dynArr_t segs) {
rr = fabs(t.u.c.radius);
} else if (t.type == SEG_BEZLIN || t.type == SEG_BEZTRK) {
rr = CornuMinRadius(t.u.b.pos, t.bezSegs);
- } else rr = 100000.00;
+ } else rr = DIST_INF;
if (rr<r) r = rr;
}
return r;
@@ -2208,6 +2202,8 @@ STATUS_T CmdCornu( wAction_t action, coOrd pos )
track_p t = NULL;
cornuParm_t cp;
+ static BOOL_T lock;
+
Da.commandType = CORNU_CREATE;
Da.width = (double)lineWidth/mainD.dpi;
@@ -2218,7 +2214,8 @@ STATUS_T CmdCornu( wAction_t action, coOrd pos )
switch (action&0xFF) {
case C_START:
- Da.cmdType = (long)commandContext;
+ lock = FALSE;
+ Da.cmdType = VP2L(commandContext);
Da.state = NONE;
Da.selectEndPoint = -1;
Da.selectMidPoint = -1;
@@ -2298,7 +2295,7 @@ STATUS_T CmdCornu( wAction_t action, coOrd pos )
Da.angle[end] = GetTrkEndAngle(t,ep);
} else if (t == NULL) { //end not on Track, OK for CreateCornu -> empty end point
pos = p; //Reset to initial
- SnapPos( &pos );
+ if (lock) SnapPos( &pos ); //Only snap if snapped in move
if (Da.cmdType == cornuCmdCreateTrack || Da.cmdType == cornuCmdHotBar) {
Da.trk[end] = NULL;
Da.pos[end] = pos;
@@ -2385,6 +2382,7 @@ STATUS_T CmdCornu( wAction_t action, coOrd pos )
return C_CONTINUE;
case wActionMove:
+ lock = FALSE;
DYNARR_RESET(trkSeg_t,anchors_da);
if (Da.state != NONE && Da.state != LOC_2) return C_CONTINUE;
if (Da.trk[0] && Da.trk[1]) return C_CONTINUE;
@@ -2421,6 +2419,9 @@ STATUS_T CmdCornu( wAction_t action, coOrd pos )
Translate(&pos,tp.ttcenter,a,tp.ttradius);
CreateCornuEndAnchor(pos,TRUE);
} else CreateCornuEndAnchor(pos,TRUE);
+ } else if (SnapPos(&pos)) {
+ CreateCornuEndAnchor(pos,FALSE);
+ lock = TRUE;
}
return C_CONTINUE;
@@ -2542,10 +2543,14 @@ STATUS_T CmdCornu( wAction_t action, coOrd pos )
Da.pos[i] = zero;
Da.endHandle[i].end_valid = FALSE;
}
+ SetAllTrackSelect( FALSE );
}
return rc;
case C_REDRAW:
+ wSetCursor(mainD.d,defaultCursor);
+ DrawHighlightBoxes(FALSE,FALSE,NULL);
+ HighlightSelectedTracks(NULL, TRUE, TRUE);
if ( Da.state != NONE ) {
DrawCornuCurve(NULL,Da.ep1Segs,Da.ep1Segs_da_cnt,Da.ep2Segs,Da.ep2Segs_da_cnt,(trkSeg_t *)Da.crvSegs_da.ptr,Da.crvSegs_da_cnt, NULL,
Da.extend[0]?&Da.extendSeg[0]:NULL,Da.extend[1]?&Da.extendSeg[1]:NULL,(trkSeg_t *)Da.midSegs.ptr,Da.midSegs.cnt,wDrawColorBlack);
@@ -2554,6 +2559,8 @@ STATUS_T CmdCornu( wAction_t action, coOrd pos )
DrawSegs( &tempD, zero, 0.0, &anchors(0), anchors_da.cnt, trackGauge, wDrawColorBlack );
if (MyGetKeyState()&WKEY_SHIFT) DrawHighlightBoxes(FALSE,FALSE,NULL);
+ if (Da.state == POINT_PICKED) wSetCursor(mainD.d,wCursorNone);
+
return C_CONTINUE;
case C_CANCEL:
@@ -2572,6 +2579,7 @@ STATUS_T CmdCornu( wAction_t action, coOrd pos )
}
//DYNARR_FREE(trkSeg_t,Da.crvSegs_da);
}
+ SetAllTrackSelect( FALSE );
Da.state = NONE;
if (infoSubst) {
InfoSubstituteControls( NULL, NULL );
@@ -2589,12 +2597,12 @@ STATUS_T CmdCornu( wAction_t action, coOrd pos )
BOOL_T GetTracksFromCornuTrack(track_p trk, track_p newTracks[2]) {
track_p trk_old = NULL;
newTracks[0] = NULL, newTracks[1] = NULL;
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataCornu_t * xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
if (!IsTrack(trk)) return FALSE;
- for (int i=0; i<xx->cornuData.arcSegs.cnt;i++) {
+ for (int i=0; i<xx->arcSegs.cnt;i++) {
track_p bezTrack[2];
bezTrack[0] = NULL, bezTrack[1] = NULL;
- trkSeg_p seg = &DYNARR_N(trkSeg_t,xx->cornuData.arcSegs,i);
+ trkSeg_p seg = &DYNARR_N(trkSeg_t,xx->arcSegs,i);
if (seg->type == SEG_BEZTRK) {
DYNARR_RESET(trkSeg_t,seg->bezSegs);
FixUpBezierSeg(seg->u.b.pos,seg,TRUE);
@@ -2690,7 +2698,7 @@ static STATUS_T cmdCornuCreate(
/* no break */
case C_START:
createState = 0;
- commandContext = (void *)cornuCmdHotBar;
+ commandContext = I2VP(cornuCmdHotBar);
rc = CmdCornu(C_START, pos);
Da.prevSelected = -1;
Da.selectEndHandle = -1;
@@ -3039,14 +3047,14 @@ static STATUS_T CmdConvertFrom(
}
}
-#include "bitmaps/convertto.xpm"
-#include "bitmaps/convertfr.xpm"
+#include "bitmaps/convert-to.xpm"
+#include "bitmaps/convert-from.xpm"
EXPORT void InitCmdCornu( wMenu_p menu )
{
ButtonGroupBegin( _("Convert"), "cmdConvertSetCmd", _("Convert") );
- AddMenuButton( menu, CmdConvertTo, "cmdConvertTo", _("Convert To Cornu"), wIconCreatePixMap(convertto_xpm), LEVEL0_50, IC_STICKY|IC_LCLICK|IC_POPUP3|IC_WANT_MOVE,ACCL_CONVERTTO, NULL );
- AddMenuButton( menu, CmdConvertFrom, "cmdConvertFrom", _("Convert From Cornu"), wIconCreatePixMap(convertfr_xpm), LEVEL0_50, IC_STICKY|IC_LCLICK|IC_POPUP3|IC_WANT_MOVE,ACCL_CONVERTFR, NULL );
+ AddMenuButton( menu, CmdConvertTo, "cmdConvertTo", _("Convert To Cornu"), wIconCreatePixMap(convert_to_xpm[iconSize]), LEVEL0_50, IC_STICKY|IC_LCLICK|IC_POPUP3|IC_WANT_MOVE,ACCL_CONVERTTO, NULL );
+ AddMenuButton( menu, CmdConvertFrom, "cmdConvertFrom", _("Convert From Cornu"), wIconCreatePixMap(convert_from_xpm[iconSize]), LEVEL0_50, IC_STICKY|IC_LCLICK|IC_POPUP3|IC_WANT_MOVE,ACCL_CONVERTFR, NULL );
cornuHotBarCmdInx = AddMenuButton(menu, cmdCornuCreate, "cmdCornuCreate", "", NULL, LEVEL0_50, IC_STICKY|IC_POPUP3|IC_WANT_MOVE, 0, NULL);
ButtonGroupEnd();
ParamCreateControls( &cornuModPG, cornuModDlgUpdate) ;
diff --git a/app/bin/ccornu.h b/app/bin/ccornu.h
index 2bd1f49..29b6171 100644
--- a/app/bin/ccornu.h
+++ b/app/bin/ccornu.h
@@ -7,9 +7,9 @@
#ifndef APP_BIN_CCORNU_H_
#define APP_BIN_CCORNU_H_
+#include "common.h"
-
-typedef void (*cornuMessageProc)( char *, ... );
+typedef void (*cornuMessageProc)( const char *, ... );
#define cornuCmdNone (0)
#define cornuJoinTrack (1)
diff --git a/app/bin/ccurve.c b/app/bin/ccurve.c
index e119610..2308bd1 100644
--- a/app/bin/ccurve.c
+++ b/app/bin/ccurve.c
@@ -20,9 +20,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
-#include <string.h>
-
#include "ccurve.h"
#include "cjoin.h"
@@ -30,17 +27,14 @@
#include "cundo.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
+#include "cselect.h"
-#include "messages.h"
-#include "param.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
-#include "wlib.h"
#include "cbezier.h"
#include "ccornu.h"
#include "layout.h"
+#include "common-ui.h"
/*
* STATE INFO
@@ -213,7 +207,7 @@ EXPORT STATUS_T CreateCurve(
}
}
} else {
- if ((t = OnTrack(&p, FALSE, FALSE)) != NULL) {
+ if (((t = OnTrack(&p, FALSE, FALSE)) != NULL) && IsClose(FindDistance(p,pos))) {
if (!IsTrack(t)) {
pos = p;
found = TRUE;
@@ -221,7 +215,8 @@ EXPORT STATUS_T CreateCurve(
}
}
Da.down = TRUE;
- if (!found) SnapPos( &pos );
+ if (!found && !track) SnapPos( &pos );
+ if (mode == crvCmdFromCenter) SnapPos( &pos );
Da.lock0 = found;
if (Da.create_state == NOCURVE)
@@ -279,7 +274,7 @@ EXPORT STATUS_T CreateCurve(
DYNARR_RESET(trkSeg_t,*anchor_array);
DYNARR_APPEND(trkSeg_t,*anchor_array,1);
if (!Da.down) return C_CONTINUE;
- if (Da.trk && !(MyGetKeyState() & WKEY_SHIFT)) { //Shift inhibits direction lock
+ if (Da.trk && track && !(MyGetKeyState() & WKEY_SHIFT)) { //Shift inhibits direction lock
angle1 = NormalizeAngle(GetTrkEndAngle(Da.trk, Da.ep));
angle2 = NormalizeAngle(FindAngle(pos, Da.pos0)-angle1);
if (mode ==crvCmdFromEP1 ) {
@@ -302,7 +297,7 @@ EXPORT STATUS_T CreateCurve(
DIST_T dp = FindDistance(Da.pos0, pos)*sin(D2R(angle2));
Translate( &pos, Da.pos0, angle1-90.0, dp );
}
- } else SnapPos(&pos);
+ } else if (track) SnapPos(&pos);
tempSegs_da.cnt =1;
if (Da.trk && mode == crvCmdFromChord) {
tempSegs(0).type = SEG_CRVTRK;
@@ -400,7 +395,7 @@ EXPORT STATUS_T CreateCurve(
}
break;
}
- message( _("Drag on Red arrows to adjust curve") );
+ //message( _("Drag on Red arrows to adjust curve") );
return C_CONTINUE;
default:
@@ -409,7 +404,16 @@ EXPORT STATUS_T CreateCurve(
}
}
+static DIST_T desired_radius = 0.0;
+static BOOL_T infoSubst = FALSE;
+static paramFloatRange_t r_0_10000 = { 0.0, 100000.0 };
+static paramData_t curvePLs[] = {
+#define curveRadPD (curvePLs[0])
+#define curveRadI 0
+ { PD_FLOAT, &desired_radius, "radius", PDO_DIM, &r_0_10000, N_("Desired Radius") }
+};
+static paramGroup_t curvePG = { "curvefixed", 0, curvePLs, COUNT( curvePLs ) };
static STATUS_T CmdCurve( wAction_t action, coOrd pos )
{
@@ -417,39 +421,32 @@ static STATUS_T CmdCurve( wAction_t action, coOrd pos )
DIST_T d;
static int segCnt;
STATUS_T rc = C_CONTINUE;
+ wControl_p controls[2];
+ char * labels[1];
+ static BOOL_T lock;
+ static coOrd movePos;
+
switch (action) {
case C_START:
- curveMode = (long)commandContext;
+ lock = FALSE;
+ curveMode = VP2L(commandContext);
Da.state = -1;
Da.pos0 = pos;
tempSegs_da.cnt = 0;
segCnt = 0;
STATUS_T rcode;
DYNARR_RESET(trkSeg_t,anchors_da);
+ if (curvePLs[0].control==NULL) {
+ ParamCreateControls(&curvePG, NULL);
+ }
+ SetAllTrackSelect(FALSE);
return CreateCurve( action, pos, TRUE, wDrawColorBlack, 0, curveMode, &anchors_da, InfoMessage );
case C_DOWN:
if (Da.state == -1) {
- BOOL_T found = FALSE;
- if (curveMode != crvCmdFromCenter ) {
- if (((MyGetKeyState() & WKEY_ALT)==0) == magneticSnap) {
- if ((t = OnTrack(&pos,FALSE,TRUE))!=NULL) {
- EPINX_T ep = PickUnconnectedEndPointSilent(pos, t);
- if (ep != -1) {
- if (GetTrkGauge(t) != GetScaleTrackGauge(GetLayoutCurScale())) {
- wBeep();
- InfoMessage(_("Track is different gauge"));
- return C_CONTINUE;
- }
- pos = GetTrkEndPos(t, ep);
- found = TRUE;
- }
- }
- }
- }
- if (!found) SnapPos( &pos );
+ if (lock) pos = movePos;
Da.pos0 = Da.pos1 = pos;
Da.state = 0;
rcode = CreateCurve( action, pos, TRUE, wDrawColorBlack, 0, curveMode, &anchors_da, InfoMessage );
@@ -458,12 +455,19 @@ static STATUS_T CmdCurve( wAction_t action, coOrd pos )
return rcode;
//Da.pos0 = pos;
}
+ if (infoSubst) {
+ sprintf(message, "desired_radius-%s", curScaleName);
+ wPrefSetFloat("misc", message, desired_radius);
+ InfoSubstituteControls(NULL, NULL);
+ }
+ infoSubst = FALSE;
//This is where the user could adjust - if we allow that?
tempSegs_da.cnt = segCnt;
return C_CONTINUE;
case wActionMove:
+ lock = FALSE;
if ((Da.state<0) && (curveMode != crvCmdFromCenter)) {
DYNARR_RESET(trkSeg_t,anchors_da);
if (((MyGetKeyState() & WKEY_ALT)==0) == magneticSnap) {
@@ -473,10 +477,17 @@ static STATUS_T CmdCurve( wAction_t action, coOrd pos )
if (ep != -1) {
pos = GetTrkEndPos(t, ep);
CreateEndAnchor(pos,&anchors_da,FALSE);
+ lock = TRUE;
+ movePos = pos;
}
}
}
}
+ if (!lock && SnapPos(&pos)) {
+ CreateEndAnchor(pos,&anchors_da,FALSE);
+ lock = TRUE;
+ movePos = pos;
+ }
}
return C_CONTINUE;
@@ -490,8 +501,8 @@ static STATUS_T CmdCurve( wAction_t action, coOrd pos )
DYNARR_RESET(trkSeg_t,anchors_da);
// SnapPos( &pos );
tempSegs_da.cnt = segCnt;
- if (Da.trk) PlotCurve( curveMode, Da.pos0, Da.pos1, pos, &Da.curveData, FALSE );
- else PlotCurve( curveMode, Da.pos0, Da.pos1, pos, &Da.curveData, TRUE );
+ if (Da.trk) PlotCurve( curveMode, Da.pos0, Da.pos1, pos, &Da.curveData, FALSE, desired_radius );
+ else PlotCurve( curveMode, Da.pos0, Da.pos1, pos, &Da.curveData, TRUE, desired_radius );
if (Da.curveData.type == curveTypeStraight) {
tempSegs(0).type = SEG_STRTRK;
tempSegs(0).u.l.pos[0] = Da.pos0;
@@ -514,14 +525,15 @@ static STATUS_T CmdCurve( wAction_t action, coOrd pos )
tempSegs(0).u.c.a1 = Da.curveData.a1;
tempSegs_da.cnt = 1;
segCnt = 1;
+
d = D2R(Da.curveData.a1);
+
if (d < 0.0)
d = 2*M_PI+d;
if ( d*Da.curveData.curveRadius > mapD.size.x+mapD.size.y ) {
ErrorMessage( MSG_CURVE_TOO_LARGE );
tempSegs_da.cnt = 0;
Da.curveData.type = curveTypeNone;
- mainD.funcs->options = 0;
return C_CONTINUE;
}
InfoMessage( _("Curved Track: Radius=%s Angle=%0.3f Length=%s"),
@@ -532,13 +544,18 @@ static STATUS_T CmdCurve( wAction_t action, coOrd pos )
if (curveMode == crvCmdFromEP1 || curveMode == crvCmdFromChord)
DrawArrowHeadsArray(&anchors_da,pos,FindAngle(Da.curveData.curvePos,pos),TRUE,wDrawColorRed);
else if (curveMode == crvCmdFromTangent || curveMode == crvCmdFromCenter) {
- CreateEndAnchor(Da.curveData.pos2,&anchors_da,FALSE);
+ if (Da.curveData.curveRadius == desired_radius)
+ CreateEndAnchor(Da.curveData.pos2,&anchors_da,TRUE);
+ else
+ CreateEndAnchor(Da.curveData.pos2,&anchors_da,FALSE);
DrawArrowHeadsArray(&anchors_da,Da.curveData.pos2,FindAngle(Da.curveData.curvePos,Da.curveData.pos2)+90,TRUE,wDrawColorRed);
}
- CreateEndAnchor(Da.curveData.curvePos,&anchors_da,TRUE);
+ if (Da.curveData.curveRadius == desired_radius)
+ CreateEndAnchor(Da.curveData.curvePos,&anchors_da,TRUE);
+ else
+ CreateEndAnchor(Da.curveData.curvePos,&anchors_da,FALSE);
}
}
- mainD.funcs->options = 0;
return rc;
case C_TEXT:
if ( Da.state == 0 )
@@ -547,8 +564,8 @@ static STATUS_T CmdCurve( wAction_t action, coOrd pos )
case C_UP:
if (Da.state<0) return C_CONTINUE;
if (Da.state == 0 && ((curveMode != crvCmdFromChord) || (curveMode == crvCmdFromChord && !Da.trk))) {
- SnapPos( &pos );
- Da.pos1 = pos;
+ //SnapPos( &pos );
+ //Da.pos1 = pos;
if ((d = FindDistance(Da.pos0,Da.pos1))<minLength) {
ErrorMessage( MSG_TRK_TOO_SHORT, "Curved ", PutDim(fabs(minLength-d)) );
return C_TERMINATE;
@@ -556,9 +573,20 @@ static STATUS_T CmdCurve( wAction_t action, coOrd pos )
Da.state = 1;
CreateCurve( action, pos, TRUE, wDrawColorBlack, 0, curveMode, &anchors_da, InfoMessage );
tempSegs_da.cnt = 1;
- mainD.funcs->options = 0;
segCnt = tempSegs_da.cnt;
- InfoMessage( _("Drag on Red arrows to adjust curve") );
+
+ sprintf(message, "desired_radius-%s", curScaleName);
+ wPrefGetFloat("misc", message, &desired_radius, desired_radius);
+ controls[0] = curveRadPD.control;
+ controls[1] = NULL;
+ labels[0] = N_("Desired Radius");
+ InfoSubstituteControls(controls, labels);
+ infoSubst = TRUE;
+ curveRadPD.option |= PDO_NORECORD;
+ ParamLoadControls(&curvePG);
+ ParamGroupRecord(&curvePG);
+ //InfoMessage( _("Drag on Red arrows to adjust curve") );
+
return C_CONTINUE;
} else if ((curveMode == crvCmdFromChord && Da.state == 0 && Da.trk)) {
pos = Da.middle;
@@ -566,9 +594,8 @@ static STATUS_T CmdCurve( wAction_t action, coOrd pos )
ErrorMessage( MSG_TRK_TOO_SHORT, "Curved ", PutDim(fabs(minLength-d)) );
return C_TERMINATE;
}
- PlotCurve( curveMode, Da.pos0, Da.pos1, Da.middle, &Da.curveData, TRUE );
+ PlotCurve( curveMode, Da.pos0, Da.pos1, Da.middle, &Da.curveData, TRUE, desired_radius );
}
- mainD.funcs->options = 0;
tempSegs_da.cnt = 0;
segCnt = 0;
Da.state = -1;
@@ -590,6 +617,7 @@ static STATUS_T CmdCurve( wAction_t action, coOrd pos )
ErrorMessage( MSG_TRK_TOO_SHORT, "Curved ", PutDim(fabs(minLength-d)) );
return C_TERMINATE;
}
+
UndoStart( _("Create Curved Track"), "newCurve - curve" );
t = NewCurvedTrack( Da.curveData.curvePos, Da.curveData.curveRadius,
Da.curveData.a0, Da.curveData.a1, 0 );
@@ -607,7 +635,6 @@ static STATUS_T CmdCurve( wAction_t action, coOrd pos )
case C_REDRAW:
if ( Da.state >= 0 ) {
DrawSegs( &tempD, zero, 0.0, &tempSegs(0), tempSegs_da.cnt, trackGauge, wDrawColorBlack );
- mainD.funcs->options = 0;
}
if (anchors_da.cnt)
DrawSegs( &tempD, zero, 0.0, &anchors(0), anchors_da.cnt, trackGauge, wDrawColorBlack );
@@ -668,12 +695,12 @@ static paramData_t helixPLs[] = {
{ PD_FLOAT, &helixGrade, "grade", 0, &r0_100, N_("Grade") },
{ PD_FLOAT, &helixVertSep, "vertSep", PDO_DIM, &r0_1000000, N_("Vertical Separation") },
#define I_HELIXMSG (6)
- { PD_MESSAGE, N_("Total Length"), NULL, PDO_DLGRESETMARGIN, (void*)200 } };
-static paramGroup_t helixPG = { "helix", PGO_PREFMISCGROUP, helixPLs, sizeof helixPLs/sizeof helixPLs[0] };
+ { PD_MESSAGE, N_("Total Length"), NULL, PDO_DLGRESETMARGIN, I2VP(200) } };
+static paramGroup_t helixPG = { "helix", PGO_PREFMISCGROUP, helixPLs, COUNT( helixPLs ) };
static paramData_t circleRadiusPLs[] = {
{ PD_FLOAT, &circleRadius, "radius", PDO_DIM, &r1_10000 } };
-static paramGroup_t circleRadiusPG = { "circle", 0, circleRadiusPLs, sizeof circleRadiusPLs/sizeof circleRadiusPLs[0] };
+static paramGroup_t circleRadiusPG = { "circle", 0, circleRadiusPLs, COUNT( circleRadiusPLs ) };
static void ComputeHelix(
@@ -684,7 +711,7 @@ static void ComputeHelix(
DIST_T totTurns;
DIST_T length;
long updates = 0;
- if ( h_inx < 0 || h_inx >= sizeof h_orders/sizeof h_orders[0] )
+ if ( h_inx < 0 || h_inx >= COUNT( h_orders ) )
return;
ParamLoadData( &helixPG );
totTurns = helixTurns + helixAngSep/360.0;
@@ -809,6 +836,7 @@ static STATUS_T CmdCircleCommon( wAction_t action, coOrd pos, BOOL_T helix )
break;
}
}
+ SetAllTrackSelect( FALSE );
tempSegs_da.cnt = 0;
return C_CONTINUE;
@@ -932,7 +960,7 @@ static STATUS_T CmdCircleCommon( wAction_t action, coOrd pos, BOOL_T helix )
static STATUS_T CmdCircle( wAction_t action, coOrd pos )
{
if ( action == C_START ) {
- circleMode = (long)commandContext;
+ circleMode = VP2L(commandContext);
}
return CmdCircleCommon( action, pos, FALSE );
}
@@ -943,32 +971,31 @@ static STATUS_T CmdHelix( wAction_t action, coOrd pos )
return CmdCircleCommon( action, pos, TRUE );
}
-#include "bitmaps/curve1.xpm"
-#include "bitmaps/curve2.xpm"
-#include "bitmaps/curve3.xpm"
-#include "bitmaps/curve4.xpm"
-#include "bitmaps/bezier.xpm"
+#include "bitmaps/curved-end.xpm"
+#include "bitmaps/curved-tangent.xpm"
+#include "bitmaps/curved-middle.xpm"
+#include "bitmaps/curved-chord.xpm"
+#include "bitmaps/bezier-track.xpm"
#include "bitmaps/cornu.xpm"
-#include "bitmaps/circle1.xpm"
-#include "bitmaps/circle2.xpm"
-#include "bitmaps/circle3.xpm"
+#include "bitmaps/circle.xpm"
+#include "bitmaps/circle-tangent.xpm"
+#include "bitmaps/circle-center.xpm"
EXPORT void InitCmdCurve( wMenu_p menu )
{
- AddMenuButton( menu, CmdCornu, "cmdCornu", _("Cornu Curve"), wIconCreatePixMap(cornu_xpm), LEVEL0_50, IC_STICKY|IC_POPUP2|IC_WANT_MOVE, ACCL_CORNU, (void*)cornuCmdCreateTrack);
-
- ButtonGroupBegin( _("Curve Track"), "cmdCircleSetCmd", _("Curve Tracks") );
- AddMenuButton( menu, CmdCurve, "cmdCurveEndPt", _("Curve from End-Pt"), wIconCreatePixMap( curve1_xpm ), LEVEL0_50, IC_STICKY|IC_POPUP2|IC_WANT_MOVE, ACCL_CURVE1, (void*)0 );
- AddMenuButton( menu, CmdCurve, "cmdCurveTangent", _("Curve from Tangent"), wIconCreatePixMap( curve2_xpm ), LEVEL0_50, IC_STICKY|IC_POPUP2|IC_WANT_MOVE, ACCL_CURVE2, (void*)1 );
- AddMenuButton( menu, CmdCurve, "cmdCurveCenter", _("Curve from Center"), wIconCreatePixMap( curve3_xpm ), LEVEL0_50, IC_STICKY|IC_POPUP2|IC_WANT_MOVE, ACCL_CURVE3, (void*)2 );
- AddMenuButton( menu, CmdCurve, "cmdCurveChord", _("Curve from Chord"), wIconCreatePixMap( curve4_xpm ), LEVEL0_50, IC_STICKY|IC_POPUP2|IC_WANT_MOVE, ACCL_CURVE4, (void*)3 );
- AddMenuButton( menu, CmdBezCurve, "cmdBezier", _("Bezier Curve"), wIconCreatePixMap(bezier_xpm), LEVEL0_50, IC_STICKY|IC_POPUP2|IC_WANT_MOVE, ACCL_BEZIER, (void*)bezCmdCreateTrack );
+ ButtonGroupBegin( _("Curve Track"), "cmdCurveSetCmd", _("Curve Tracks") );
+ AddMenuButton( menu, CmdCurve, "cmdCurveEndPt", _("Curve from End-Pt"), wIconCreatePixMap( curved_end_xpm[iconSize] ), LEVEL0_50, IC_STICKY|IC_POPUP2|IC_WANT_MOVE, ACCL_CURVE1, I2VP(0) );
+ AddMenuButton( menu, CmdCurve, "cmdCurveTangent", _("Curve from Tangent"), wIconCreatePixMap( curved_tangent_xpm[iconSize] ), LEVEL0_50, IC_STICKY|IC_POPUP2|IC_WANT_MOVE, ACCL_CURVE2, I2VP(1) );
+ AddMenuButton( menu, CmdCurve, "cmdCurveCenter", _("Curve from Center"), wIconCreatePixMap( curved_middle_xpm[iconSize] ), LEVEL0_50, IC_STICKY|IC_POPUP2|IC_WANT_MOVE, ACCL_CURVE3, I2VP(2) );
+ AddMenuButton( menu, CmdCurve, "cmdCurveChord", _("Curve from Chord"), wIconCreatePixMap( curved_chord_xpm[iconSize] ), LEVEL0_50, IC_STICKY|IC_POPUP2|IC_WANT_MOVE, ACCL_CURVE4, I2VP(3) );
+ AddMenuButton( menu, CmdBezCurve, "cmdBezier", _("Bezier Curve"), wIconCreatePixMap( bezier_track_xpm[iconSize] ), LEVEL0_50, IC_STICKY|IC_POPUP2|IC_WANT_MOVE, ACCL_BEZIER, I2VP(bezCmdCreateTrack) );
+ AddMenuButton( menu, CmdCornu, "cmdCornu", _("Cornu Curve"), wIconCreatePixMap( cornu_xpm[iconSize] ), LEVEL0_50, IC_STICKY|IC_POPUP2|IC_WANT_MOVE, ACCL_CORNU, I2VP(cornuCmdCreateTrack));
ButtonGroupEnd();
- ButtonGroupBegin( _("Circle Track"), "cmdCurveSetCmd", _("Circle Tracks") );
- AddMenuButton( menu, CmdCircle, "cmdCircleFixedRadius", _("Fixed Radius Circle"), wIconCreatePixMap( circle1_xpm ), LEVEL0_50, IC_STICKY|IC_POPUP2, ACCL_CIRCLE1, (void*)0 );
- AddMenuButton( menu, CmdCircle, "cmdCircleTangent", _("Circle from Tangent"), wIconCreatePixMap( circle2_xpm ), LEVEL0_50, IC_STICKY|IC_POPUP2, ACCL_CIRCLE2, (void*)1 );
- AddMenuButton( menu, CmdCircle, "cmdCircleCenter", _("Circle from Center"), wIconCreatePixMap( circle3_xpm ), LEVEL0_50, IC_STICKY|IC_POPUP2, ACCL_CIRCLE3, (void*)2 );
+ ButtonGroupBegin( _("Circle Track"), "cmdCircleSetCmd", _("Circle Tracks") );
+ AddMenuButton( menu, CmdCircle, "cmdCircleFixedRadius", _("Fixed Radius Circle"), wIconCreatePixMap( circle_xpm[iconSize] ), LEVEL0_50, IC_STICKY|IC_POPUP2, ACCL_CIRCLE1, I2VP(0) );
+ AddMenuButton( menu, CmdCircle, "cmdCircleTangent", _("Circle from Tangent"), wIconCreatePixMap( circle_tangent_xpm[iconSize] ), LEVEL0_50, IC_STICKY|IC_POPUP2, ACCL_CIRCLE2, I2VP(1) );
+ AddMenuButton( menu, CmdCircle, "cmdCircleCenter", _("Circle from Center"), wIconCreatePixMap( circle_center_xpm[iconSize] ), LEVEL0_50, IC_STICKY|IC_POPUP2, ACCL_CIRCLE3, I2VP(2) );
ButtonGroupEnd();
ParamRegister( &circleRadiusPG );
diff --git a/app/bin/ccurve.h b/app/bin/ccurve.h
index 0c00c46..7ae4227 100644
--- a/app/bin/ccurve.h
+++ b/app/bin/ccurve.h
@@ -23,10 +23,8 @@
#ifndef HAVE_CCURVE_H
#define HAVE_CCURVE_H
-#include "draw.h"
-#include "track.h"
-#include "wlib.h"
-#include "utility.h"
+#include "common.h"
+#include "track.h" //- curveType_e
typedef struct {
curveType_e type;
@@ -48,10 +46,10 @@ typedef struct {
#define circleCmdFromTangent (1)
#define circleCmdFromCenter (2)
-typedef void (*curveMessageProc)( char *, ... );
+typedef void (*curveMessageProc)( const char *, ... );
STATUS_T CreateCurve( wAction_t, coOrd, BOOL_T, wDrawColor, DIST_T, long, dynArr_t *,curveMessageProc );
int IsCurveCircle( track_p );
-void PlotCurve( long, coOrd, coOrd, coOrd, curveData_t *, BOOL_T );
+void PlotCurve( long, coOrd, coOrd, coOrd, curveData_t *, BOOL_T, DIST_T );
track_p NewCurvedTrack( coOrd, DIST_T, ANGLE_T, ANGLE_T, long );
DIST_T CurveDescriptionDistance( coOrd, track_p, coOrd *, BOOL_T, BOOL_T * );
STATUS_T CurveDescriptionMove( track_p, wAction_t, coOrd );
diff --git a/app/bin/cdraw.c b/app/bin/cdraw.c
index 6bb4c4a..b6cc035 100644
--- a/app/bin/cdraw.c
+++ b/app/bin/cdraw.c
@@ -20,22 +20,16 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
-#include <stdint.h>
-#include <string.h>
-#include "wlib.h"
-
+#include "common.h"
#include "ccurve.h"
#include "cbezier.h"
#include "drawgeom.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
#include "misc.h"
-
+#include "cselect.h"
+#include "common-ui.h"
extern TRKTYP_T T_BZRLIN;
static wMenu_p drawModDelMI;
@@ -76,23 +70,23 @@ EXPORT void LoadFontSizeList(
wIndex_t curInx = 0, inx1;
int inx;
wListClear(list);
- for (inx = 0; inx < sizeof fontSizeList / sizeof fontSizeList[0]; inx++)
+ for (inx = 0; inx < COUNT( fontSizeList ); inx++)
{
if ((inx == 0 || curFontSize > fontSizeList[inx - 1]) &&
(curFontSize < fontSizeList[inx]))
{
sprintf(message, "%ld", curFontSize);
- curInx = wListAddValue(list, message, NULL, (void*)curFontSize);
+ curInx = wListAddValue(list, message, NULL, I2VP(curFontSize));
}
sprintf(message, "%ld", fontSizeList[inx]);
- inx1 = wListAddValue(list, message, NULL, (void*)fontSizeList[inx]);
+ inx1 = wListAddValue(list, message, NULL, I2VP(fontSizeList[inx]));
if (curFontSize == fontSizeList[inx])
curInx = inx1;
}
- if (curFontSize > fontSizeList[(sizeof fontSizeList / sizeof fontSizeList[0]) - 1])
+ if (curFontSize > fontSizeList[ COUNT( fontSizeList ) - 1])
{
sprintf(message, "%ld", curFontSize);
- curInx = wListAddValue(list, message, NULL, (void*)curFontSize);
+ curInx = wListAddValue(list, message, NULL, I2VP(curFontSize));
}
wListSetIndex(list, curInx);
wFlush();
@@ -106,7 +100,7 @@ long GetFontSize(wIndex_t inx)
long GetFontSizeIndex(long size)
{
int i;
- for (i = 0; i < sizeof fontSizeList / sizeof fontSizeList[0]; i++)
+ for (i = 0; i < COUNT( fontSizeList ); i++)
{
if (fontSizeList[i] == size)
return(i);
@@ -122,7 +116,7 @@ EXPORT void UpdateFontSizeList(
long fontSize;
if ( listInx >= 0 ) {
- *fontSizeR = (long)wListGetItemContext( list, listInx );
+ *fontSizeR = VP2L( wListGetItemContext( list, listInx ));
} else {
wListGetValues( list, message, sizeof message, NULL, NULL );
if ( message[0] != '\0' ) {
@@ -154,13 +148,14 @@ EXPORT void UpdateFontSizeList(
*/
-struct extraData {
+typedef struct extraDataDraw_t {
+ extraDataBase_t base;
coOrd orig;
ANGLE_T angle;
drawLineType_e lineType;
wIndex_t segCnt;
trkSeg_t segs[1];
- };
+ } extraDataDraw_t;
static TRKTYP_T T_DRAW = -1;
static track_p ignoredTableEdge;
@@ -169,7 +164,7 @@ static track_p ignoredDraw;
static void ComputeDrawBoundingBox( track_p t )
{
- struct extraData * xx = GetTrkExtraData(t);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(t, T_DRAW, extraDataDraw_t);
coOrd lo, hi;
GetSegBounds( xx->orig, xx->angle, xx->segCnt, xx->segs, &lo, &hi );
@@ -185,12 +180,12 @@ static track_p MakeDrawFromSeg1(
ANGLE_T angle,
trkSeg_p sp )
{
- struct extraData * xx;
+ struct extraDataDraw_t * xx;
track_p trk;
if ( sp->type == ' ' )
return NULL;
trk = NewTrack( index, T_DRAW, 0, sizeof *xx );
- xx = GetTrkExtraData( trk );
+ xx = GET_EXTRA_DATA( trk, T_DRAW, extraDataDraw_t );
xx->orig = pos;
xx->angle = angle;
xx->segCnt = 1;
@@ -230,10 +225,10 @@ EXPORT track_p MakePolyLineFromSegs(
ANGLE_T angle,
dynArr_t * segsArr)
{
- struct extraData * xx;
+ struct extraDataDraw_t * xx;
track_p trk;
trk = NewTrack( 0, T_DRAW, 0, sizeof *xx );
- xx = GetTrkExtraData( trk );
+ xx = GET_EXTRA_DATA( trk, T_DRAW, extraDataDraw_t );
xx->orig = pos;
xx->angle = angle;
xx->lineType = DRAWLINESOLID;
@@ -458,7 +453,7 @@ void static CreateOriginAnchor(coOrd origin, wBool_t trans_selected) {
EXPORT void DrawOriginAnchor(track_p trk) {
if (!trk || GetTrkType(trk) != T_DRAW) return;
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
if ((xx->orig.x != 0.0) || (xx->orig.y !=0.0) ) {
DYNARR_RESET(trkSeg_t,anchors_da);
CreateOriginAnchor(xx->orig,FALSE);
@@ -470,11 +465,11 @@ EXPORT void DrawOriginAnchor(track_p trk) {
static DIST_T DistanceDraw( track_p t, coOrd * p )
{
- struct extraData * xx = GetTrkExtraData(t);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(t, T_DRAW, extraDataDraw_t);
if ( ignoredTableEdge == t && xx->segs[0].type == SEG_TBLEDGE )
- return 100000.0;
+ return DIST_INF;
if ( ignoredDraw == t )
- return 100000.0;
+ return DIST_INF;
return DistanceSegs( xx->orig, xx->angle, xx->segCnt, xx->segs, p, NULL );
}
@@ -507,26 +502,25 @@ static struct {
wIndex_t dimenSize;
descPivot_t pivot;
wIndex_t fontSizeInx;
- char text[STR_LONG_SIZE];
+ char text[STR_HUGE_SIZE];
unsigned int layer;
wIndex_t lineType;
} drawData;
-typedef enum { E0, E1, PP, CE, AL, A1, A2, RD, LN, HT, WT, LK, OI, RA, VC, LW, LT, CO, FL, OP, BX, BE, OR, DS, TP, TA, TS, TX, PV, LY } drawDesc_e;
+typedef enum { E0, E1, PP, CE, AL, LA, A1, A2, RD, LN, HT, WT, PV, VC, LW, LT, CO, FL, OP, BX, BE, OR, DS, TP, TA, TS, TX, LK, OI, RA, LY } drawDesc_e;
static descData_t drawDesc[] = {
/*E0*/ { DESC_POS, N_("End Pt 1: X,Y"), &drawData.endPt[0] },
/*E1*/ { DESC_POS, N_("End Pt 2: X,Y"), &drawData.endPt[1] },
/*PP*/ { DESC_POS, N_("First Point: X,Y"), &drawData.endPt[0] },
/*CE*/ { DESC_POS, N_("Center: X,Y"), &drawData.center },
-/*AL*/ { DESC_FLOAT, N_("Angle"), &drawData.angle },
+/*AL*/ { DESC_FLOAT, N_("Angular Length"), &drawData.angle },
+/*LA*/ { DESC_FLOAT, N_("Line Angle"), &drawData.angle },
/*A1*/ { DESC_ANGLE, N_("CCW Angle"), &drawData.angle0 },
/*A2*/ { DESC_ANGLE, N_("CW Angle"), &drawData.angle1 },
/*RD*/ { DESC_DIM, N_("Radius"), &drawData.radius },
/*LN*/ { DESC_DIM, N_("Length"), &drawData.length },
/*HT*/ { DESC_DIM, N_("Height"), &drawData.height },
/*WT*/ { DESC_DIM, N_("Width"), &drawData.width },
-/*LK*/ { DESC_BOXED, N_("Keep Origin Relative"), &drawData.lock_origin},
-/*OI*/ { DESC_POS, N_("Rot Origin: X,Y"), &drawData.origin },
-/*RA*/ { DESC_FLOAT, N_("Rotate Angle"), &drawData.angle },
+/*PV*/ { DESC_PIVOT, N_("Pivot"), &drawData.pivot },
/*VC*/ { DESC_LONG, N_("Point Count"), &drawData.pointCount },
/*LW*/ { DESC_LONG, N_("Line Width"), &drawData.lineWidth },
/*LT*/ { DESC_LIST, N_("Line Type"), &drawData.lineType },
@@ -537,11 +531,13 @@ static descData_t drawDesc[] = {
/*BE*/ { DESC_LIST, N_("Lumber"), &drawData.benchChoice },
/*OR*/ { DESC_LIST, N_("Orientation"), &drawData.benchOrient },
/*DS*/ { DESC_LIST, N_("Size"), &drawData.dimenSize },
-/*TP*/ { DESC_POS, N_("Origin: X,Y"), &drawData.endPt[0] },
-/*TA*/ { DESC_FLOAT, N_("Angle"), &drawData.angle },
+/*TP*/ { DESC_POS, N_("Text Origin: X,Y"), &drawData.endPt[0] },
+/*TA*/ { DESC_FLOAT, N_("Text Angle"), &drawData.angle },
/*TS*/ { DESC_EDITABLELIST, N_("Font Size"), &drawData.fontSizeInx },
/*TX*/ { DESC_TEXT, N_("Text"), &drawData.text },
-/*PV*/ { DESC_PIVOT, N_("Pivot"), &drawData.pivot },
+/*LK*/ { DESC_BOXED, N_("Lock To Origin"), &drawData.lock_origin},
+/*OI*/ { DESC_POS, N_("Rot Origin: X,Y"), &drawData.origin },
+/*RA*/ { DESC_FLOAT, N_("Rotate By"), &drawData.rotate_angle },
/*LY*/ { DESC_LAYER, N_("Layer"), &drawData.layer },
{ DESC_NULL } };
static int drawSegInx;
@@ -567,13 +563,16 @@ static int drawSegInx;
* so that the object remains at the same place as the user specifies.
* If the edit starts with origin {0,0}, it will be set unlocked, otherwise set locked.
*
- * AL- Angle will be set to 0.0 when the object is modified. The points of the objects will be rotated so that
+ * RA - Rotate By Angle will only be active if the Origin is locked.
+ * It will be set to 0.0 whenever the object is modified.
+ *
+ * At the end of the operations, the points of the objects will be rotated so that
* rotated and adjusted so they don't need rotation to lie where the user left them.
*
*/
static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataDraw_t *xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
trkSeg_p segPtr;
coOrd mid;
long fontSize;
@@ -590,7 +589,10 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
coOrd off;
switch ( inx ) {
case LW:
- segPtr->width = drawData.lineWidth/mainD.dpi;
+ if (drawData.lineWidth<0)
+ segPtr->width = drawData.lineWidth;
+ else
+ segPtr->width = drawData.lineWidth/75.0; //Replace with absolute pixel
break;
case CO:
segPtr->color = drawData.color;
@@ -601,61 +603,42 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
coOrd off;
off.x = drawData.endPt[0].x - drawData.oldE0.x;
off.y = drawData.endPt[0].y - drawData.oldE0.y;
- if (drawData.lock_origin) {
- xx->orig.x +=off.x;
- xx->orig.y +=off.y;
- drawDesc[OI].mode |= DESC_CHANGE;
- } else {
- switch(segPtr->type) { //E0 does not alter length - translates
- case SEG_STRLIN:
- case SEG_DIMLIN:
- case SEG_BENCH:
- case SEG_TBLEDGE:
- UNREORIGIN( segPtr->u.l.pos[0], drawData.endPt[0], xx->angle, xx->orig );
- drawData.endPt[1].x = off.x+drawData.endPt[1].x;
- drawData.endPt[1].y = off.y+drawData.endPt[1].y;
- UNREORIGIN( segPtr->u.l.pos[1], drawData.endPt[1], xx->angle, xx->orig );
- drawDesc[E1].mode |= DESC_CHANGE;
- break;
- case SEG_CRVLIN:
- case SEG_FILCRCL:
- UNREORIGIN( segPtr->u.c.center, drawData.endPt[0], xx->angle, xx->orig );
- break;
- case SEG_TEXT:
- UNREORIGIN( segPtr->u.t.pos, drawData.endPt[0], xx->angle, xx->orig );
- break;
- case SEG_POLY:
- case SEG_FILPOLY:
- break; //Note not used by POLYGONS
- default:;
- }
- }
- } else { //E1 - alters length
- off.x = drawData.endPt[1].x - drawData.oldE1.x;
- off.y = drawData.endPt[1].y - drawData.oldE1.y;
- drawDesc[E1].mode |= DESC_CHANGE;
- if (drawData.lock_origin) {
- xx->orig.x +=off.x;
- xx->orig.y +=off.y;
- drawDesc[OI].mode |= DESC_CHANGE;
- } else {
- UNREORIGIN( segPtr->u.l.pos[1], drawData.endPt[1], xx->angle, xx->orig );
+ switch(segPtr->type) { //E0 does not alter length - translates
+ case SEG_STRLIN:
+ case SEG_DIMLIN:
+ case SEG_BENCH:
+ case SEG_TBLEDGE:
+ UNREORIGIN( segPtr->u.l.pos[0], drawData.endPt[0], 0.0, xx->orig );
+ drawData.endPt[1].x = off.x+drawData.endPt[1].x;
+ drawData.endPt[1].y = off.y+drawData.endPt[1].y;
+ UNREORIGIN( segPtr->u.l.pos[1], drawData.endPt[1], 0.0, xx->orig );
+ drawDesc[E1].mode |= DESC_CHANGE;
+ break;
+ case SEG_CRVLIN:
+ case SEG_FILCRCL:
+ UNREORIGIN( segPtr->u.c.center, drawData.endPt[0], 0.0, xx->orig );
+ break;
+ case SEG_POLY:
+ case SEG_FILPOLY:
+ break; //Note not used by POLYGONS
+ default:;
}
+ } else {
+ UNREORIGIN( segPtr->u.l.pos[1], drawData.endPt[1], 0.0, xx->orig );
}
drawData.length = FindDistance( drawData.endPt[0], drawData.endPt[1] );
drawDesc[LN].mode |= DESC_CHANGE;
break;
- case OI:
- off.x = drawData.origin.x - drawData.oldOrigin.x;
- off.y = drawData.origin.y - drawData.oldOrigin.y;
+ case OI: ;
+ off.x = drawData.origin.x-xx->orig.x;
+ off.y = drawData.origin.y-xx->orig.y;
xx->orig = drawData.origin;
- if (!drawData.lock_origin) {
+ if (!drawData.lock_origin) { //Move the points so that the object is not moved
switch(segPtr->type) {
case SEG_POLY:
case SEG_FILPOLY:
for (int i=0;i<segPtr->u.p.cnt;i++) {
- REORIGIN( pt, segPtr->u.p.pts[i].pt, xx->angle, drawData.oldOrigin);
- UNREORIGIN( segPtr->u.p.pts[i].pt, pt, xx->angle, xx->orig );
+ UNREORIGIN( segPtr->u.p.pts[i].pt, segPtr->u.p.pts[i].pt, 0.0, off );
}
break;
case SEG_STRLIN:
@@ -663,50 +646,40 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
case SEG_BENCH:
case SEG_TBLEDGE:
for (int i=0;i<2;i++) {
- UNREORIGIN( segPtr->u.l.pos[i], drawData.endPt[i], xx->angle, xx->orig );
+ UNREORIGIN( segPtr->u.l.pos[i], segPtr->u.l.pos[i], 0.0, off );
}
break;
case SEG_CRVLIN:
case SEG_FILCRCL:
- UNREORIGIN( segPtr->u.c.center, drawData.center, xx->angle, xx->orig );
+ UNREORIGIN( segPtr->u.c.center, segPtr->u.c.center, 0.0, off );
break;
case SEG_TEXT:
- UNREORIGIN( segPtr->u.t.pos, drawData.endPt[0], xx->angle, xx->orig );
- break;
+ UNREORIGIN( segPtr->u.t.pos, segPtr->u.t.pos, 0.0, off );
default:;
}
} else {
- drawData.endPt[0].x += off.x;
- drawData.endPt[0].y += off.y;
switch(segPtr->type) {
case SEG_STRLIN:
case SEG_DIMLIN:
case SEG_BENCH:
case SEG_TBLEDGE:
+ REORIGIN( drawData.endPt[0], segPtr->u.l.pos[0], 0.0, xx->orig );
+ REORIGIN( drawData.endPt[1], segPtr->u.l.pos[1], 0.0, xx->orig );
drawDesc[E0].mode |= DESC_CHANGE;
- UNREORIGIN( segPtr->u.l.pos[0], drawData.endPt[0], xx->angle, xx->orig );
- drawData.endPt[1].x = off.x+drawData.endPt[1].x;
- drawData.endPt[1].y = off.y+drawData.endPt[1].y;
- UNREORIGIN( segPtr->u.l.pos[1], drawData.endPt[1], xx->angle, xx->orig );
drawDesc[E1].mode |= DESC_CHANGE;
break;
case SEG_CRVLIN:
case SEG_FILCRCL:
- UNREORIGIN( segPtr->u.c.center, drawData.endPt[0], xx->angle, xx->orig );
- drawDesc[E0].mode |= DESC_CHANGE;
+ REORIGIN( drawData.center, segPtr->u.c.center, 0.0, xx->orig );
+ drawDesc[CE].mode |= DESC_CHANGE;
break;
case SEG_TEXT:
- UNREORIGIN( segPtr->u.t.pos, drawData.endPt[0], xx->angle, xx->orig );
- drawDesc[E0].mode |= DESC_CHANGE;
+ REORIGIN( drawData.endPt[0], segPtr->u.t.pos, 0.0, xx->orig );
+ drawDesc[TP].mode |= DESC_CHANGE;
break;
case SEG_POLY:
case SEG_FILPOLY:
- for (int i=0;i<segPtr->u.p.cnt;i++) {
- REORIGIN( pt, segPtr->u.p.pts[i].pt, xx->angle, drawData.oldOrigin);
- pt.x += off.x;
- pt.y += off.y;
- UNREORIGIN( segPtr->u.p.pts[i].pt, pt, xx->angle, xx->orig );
- }
+ REORIGIN(drawData.endPt[0], segPtr->u.p.pts[0].pt, 0.0, xx->orig);
drawDesc[PP].mode |= DESC_CHANGE;
break;
default:;
@@ -734,15 +707,16 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
}
}
break;
- case RA:;
- ANGLE_T angle = NormalizeAngle(drawData.rotate_angle);
- switch(segPtr->type) {
+ case RA:; //Only applies if "Lock" has been set
+ if (drawData.lock_origin) {
+ ANGLE_T angle = NormalizeAngle(drawData.rotate_angle);
+ switch(segPtr->type) {
case SEG_POLY:
case SEG_FILPOLY:
for (int i=0;i<segPtr->u.p.cnt;i++) {
- REORIGIN(pt,segPtr->u.p.pts[i].pt, angle, xx->orig);
+ UNREORIGIN(pt, segPtr->u.p.pts[i].pt, angle, drawData.origin);
+ REORIGIN(segPtr->u.p.pts[i].pt, pt, 0.0, drawData.origin);
if (i == 0) drawData.endPt[0] = pt;
- UNREORIGIN(segPtr->u.p.pts[i].pt, pt, 0.0, xx->orig);
}
drawDesc[PP].mode |= DESC_CHANGE;
break;
@@ -750,18 +724,18 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
coOrd end0, end1;
Translate(&end0,segPtr->u.c.center,segPtr->u.c.a0,segPtr->u.c.radius);
Translate(&end1,segPtr->u.c.center,segPtr->u.c.a0+segPtr->u.c.a1,segPtr->u.c.radius);
- REORIGIN(end0, end0, angle, xx->orig );
- REORIGIN(end1, end1, angle, xx->orig );
- REORIGIN( drawData.center,segPtr->u.c.center, angle, xx->orig );
- drawData.angle0 = FindAngle( drawData.center, end0);
+ REORIGIN(drawData.center, segPtr->u.c.center, angle, drawData.origin);
+ REORIGIN(end0, end0, angle, drawData.origin);
+ REORIGIN(end1, end1, angle, drawData.origin);
+ segPtr->u.c.a0 = drawData.angle0 = FindAngle( drawData.center, end0);
drawData.angle1 = FindAngle( drawData.center, end1);
+ UNREORIGIN(segPtr->u.c.center,drawData.center,0.0,drawData.origin);
drawDesc[CE].mode |= DESC_CHANGE;
drawDesc[A1].mode |= DESC_CHANGE;
- drawDesc[A2].mode |= DESC_CHANGE;
/*no break*/
case SEG_FILCRCL:
- REORIGIN( drawData.center,segPtr->u.c.center, angle, xx->orig );
- UNREORIGIN( segPtr->u.c.center, drawData.center, 0.0, xx->orig); //Remove angle
+ REORIGIN(drawData.center, segPtr->u.c.center, angle, drawData.origin); //Remove angle
+ UNREORIGIN(segPtr->u.c.center, drawData.center, 0.0, drawData.origin);
drawDesc[CE].mode |= DESC_CHANGE;
break;
case SEG_STRLIN:
@@ -769,27 +743,36 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
case SEG_BENCH:
case SEG_TBLEDGE:
for (int i=0;i<2;i++) {
- REORIGIN( drawData.endPt[i], segPtr->u.l.pos[i], angle, xx->orig );
- UNREORIGIN(segPtr->u.l.pos[i], drawData.endPt[i], 0.0, xx->orig );
+ REORIGIN( drawData.endPt[i], segPtr->u.l.pos[i], angle, drawData.origin );
+ UNREORIGIN( segPtr->u.l.pos[i], drawData.endPt[i], 0.0, drawData.origin );
}
drawDesc[E0].mode |= DESC_CHANGE;
drawDesc[E1].mode |= DESC_CHANGE;
break;
- case SEG_TEXT:
-
+ case SEG_TEXT:;
+ coOrd tp;
+ REORIGIN( tp, segPtr->u.t.pos, angle, drawData.origin );
+ UNREORIGIN( segPtr->u.t.pos, tp, 0.0, drawData.origin );
+ drawData.endPt[0] = tp;
+ drawData.angle = segPtr->u.t.angle += angle;
+ drawDesc[TA].mode |= DESC_CHANGE;
+ drawDesc[TP].mode |= DESC_CHANGE;
break;
default:;
+ }
}
xx->angle = drawData.rotate_angle = 0.0;
+ if (!drawData.lock_origin) drawDesc[RA].mode = DESC_RO;
drawDesc[RA].mode |= DESC_CHANGE;
break;
- case AL:;
- angle = NormalizeAngle(drawData.angle);
+ case AL: //Uses Pivot Point
+ case LA:;
+ ANGLE_T angle = NormalizeAngle(drawData.angle);
switch(segPtr->type) {
case SEG_POLY:
case SEG_FILPOLY:
break; //Doesn't Use
- case SEG_CRVLIN:
+ case SEG_CRVLIN: //Uses as swept angle
switch ( drawData.pivot ) {
case DESC_PIVOT_FIRST:
segPtr->u.c.a1 = drawData.angle;
@@ -799,7 +782,7 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
case DESC_PIVOT_SECOND:
segPtr->u.c.a0 = NormalizeAngle( segPtr->u.c.a1+segPtr->u.c.a0-drawData.angle);
segPtr->u.c.a1 = drawData.angle;
- drawData.angle0 = NormalizeAngle( segPtr->u.c.a0+xx->angle );
+ drawData.angle0 = NormalizeAngle( segPtr->u.c.a0 );
drawData.angle1 = NormalizeAngle( drawData.angle0+segPtr->u.c.a1 );
drawDesc[A1].mode |= DESC_CHANGE;
drawDesc[A2].mode |= DESC_CHANGE;
@@ -807,7 +790,7 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
case DESC_PIVOT_MID:
segPtr->u.c.a0 = NormalizeAngle( segPtr->u.c.a0+segPtr->u.c.a1/2.0-drawData.angle/2.0);
segPtr->u.c.a1 = drawData.angle;
- drawData.angle0 = NormalizeAngle( segPtr->u.c.a0+xx->angle );
+ drawData.angle0 = NormalizeAngle( segPtr->u.c.a0 );
drawData.angle1 = NormalizeAngle( drawData.angle0+segPtr->u.c.a1 );
drawDesc[A1].mode |= DESC_CHANGE;
drawDesc[A2].mode |= DESC_CHANGE;
@@ -815,6 +798,8 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
default:
break;
}
+ drawData.length = 2*M_PI*segPtr->u.c.radius*segPtr->u.c.a1/360;
+ drawDesc[LN].mode = DESC_RO|DESC_CHANGE;
break;
case SEG_FILCRCL:
break; //Doesn't Use
@@ -822,9 +807,31 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
case SEG_DIMLIN:
case SEG_BENCH:
case SEG_TBLEDGE:
- Translate(&drawData.endPt[1],drawData.endPt[0],angle,drawData.length);
- UNREORIGIN(segPtr->u.l.pos[1], drawData.endPt[1], xx->angle, xx->orig );
- drawDesc[E1].mode |= DESC_CHANGE;
+ switch ( drawData.pivot ) {
+ case DESC_PIVOT_FIRST:
+ Translate(&drawData.endPt[1],drawData.endPt[0],angle,drawData.length);
+ UNREORIGIN(segPtr->u.l.pos[1], drawData.endPt[1], 0.0, xx->orig );
+ drawDesc[E1].mode |= DESC_CHANGE;
+ break;
+ case DESC_PIVOT_MID:;
+ coOrd middle;
+ middle.x = (drawData.endPt[1].x+drawData.endPt[0].x)/2;
+ middle.y = (drawData.endPt[1].y+drawData.endPt[0].y)/2;
+ Translate(&drawData.endPt[0],middle,NormalizeAngle(angle+180),drawData.length/2);
+ Translate(&drawData.endPt[1],middle,angle,drawData.length/2);
+ UNREORIGIN(segPtr->u.l.pos[0], drawData.endPt[0], 0.0, xx->orig );
+ UNREORIGIN(segPtr->u.l.pos[1], drawData.endPt[1], 0.0, xx->orig );
+ drawDesc[E0].mode |= DESC_CHANGE;
+ drawDesc[E1].mode |= DESC_CHANGE;
+ break;
+ case DESC_PIVOT_SECOND:
+ Translate(&drawData.endPt[0],drawData.endPt[1],NormalizeAngle(angle+180),drawData.length);
+ UNREORIGIN(segPtr->u.l.pos[0], drawData.endPt[0], 0.0, xx->orig );
+ drawDesc[E0].mode |= DESC_CHANGE;
+ break;
+ default:
+ break;
+ }
break;
case SEG_TEXT:
break; //Doesnt Use
@@ -834,11 +841,7 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
case LN:
if ( drawData.length <= minLength ) {
ErrorMessage( MSG_OBJECT_TOO_SHORT );
- if ( segPtr->type != SEG_CRVLIN ) {
- drawData.length = FindDistance( drawData.endPt[0], drawData.endPt[1] );
- } else {
- drawData.length = fabs(segPtr->u.c.radius)*2*M_PI*segPtr->u.c.a1/360.0;
- }
+ drawData.length = fabs(segPtr->u.c.radius)*2*M_PI*segPtr->u.c.a1/360.0;
drawDesc[LN].mode |= DESC_CHANGE;
break;
}
@@ -846,12 +849,12 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
switch ( drawData.pivot ) {
case DESC_PIVOT_FIRST:
Translate( &drawData.endPt[1], drawData.endPt[0], drawData.angle, drawData.length );
- UNREORIGIN( segPtr->u.l.pos[1], drawData.endPt[1], xx->angle, xx->orig );
+ UNREORIGIN( segPtr->u.l.pos[1], drawData.endPt[1], 0.0, xx->orig );
drawDesc[E1].mode |= DESC_CHANGE;
break;
case DESC_PIVOT_SECOND:
Translate( &drawData.endPt[0], drawData.endPt[1], drawData.angle+180.0, drawData.length );
- UNREORIGIN( segPtr->u.l.pos[0], drawData.endPt[0], xx->angle, xx->orig );
+ UNREORIGIN( segPtr->u.l.pos[0], drawData.endPt[0], 0.0, xx->orig );
drawDesc[E0].mode |= DESC_CHANGE;
break;
case DESC_PIVOT_MID:
@@ -859,32 +862,18 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
mid.y = (drawData.endPt[0].y+drawData.endPt[1].y)/2.0;
Translate( &drawData.endPt[0], mid, drawData.angle+180.0, drawData.length/2.0 );
Translate( &drawData.endPt[1], mid, drawData.angle, drawData.length/2.0 );
- UNREORIGIN( segPtr->u.l.pos[0], drawData.endPt[0], xx->angle, xx->orig );
- UNREORIGIN( segPtr->u.l.pos[1], drawData.endPt[1], xx->angle, xx->orig );
+ UNREORIGIN( segPtr->u.l.pos[0], drawData.endPt[0], 0.0, xx->orig );
+ UNREORIGIN( segPtr->u.l.pos[1], drawData.endPt[1], 0.0, xx->orig );
drawDesc[E0].mode |= DESC_CHANGE;
drawDesc[E1].mode |= DESC_CHANGE;
break;
default:
break;
}
- } else {
-
- if ( drawData.angle < 0.0 || drawData.angle >= 360.0 ) {
- ErrorMessage( MSG_CURVE_OUT_OF_RANGE );
- drawData.angle = segPtr->u.c.a1;
- drawDesc[AL].mode |= DESC_CHANGE;
- } else {
- segPtr->u.c.a0 = NormalizeAngle( segPtr->u.c.a0+segPtr->u.c.a1/2.0-drawData.angle/2.0);
- segPtr->u.c.a1 = drawData.angle;
- drawData.angle0 = NormalizeAngle( segPtr->u.c.a0+xx->angle );
- drawData.angle1 = NormalizeAngle( drawData.angle0+segPtr->u.c.a1 );
- drawDesc[A1].mode |= DESC_CHANGE;
- drawDesc[A2].mode |= DESC_CHANGE;
- }
}
break;
case CE:
- UNREORIGIN( segPtr->u.c.center, drawData.center, xx->angle, xx->orig );
+ UNREORIGIN( segPtr->u.c.center, drawData.center, 0.0, xx->orig );
break;
case RD:
if ( drawData.pivot == DESC_PIVOT_FIRST ) {
@@ -896,82 +885,51 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
}
drawDesc[CE].mode |= DESC_CHANGE;
segPtr->u.c.radius = drawData.radius;
- drawDesc[LN].mode |= DESC_CHANGE;
+ drawData.length = 2*M_PI*segPtr->u.c.radius*(segPtr->type==SEG_CRVLIN?segPtr->u.c.a1/360:1.0);
+ drawDesc[LN].mode = DESC_RO|DESC_CHANGE;
break;
- case A1:
- switch ( drawData.pivot ) {
- case DESC_PIVOT_FIRST:
- segPtr->u.c.a1 = drawData.angle;
- drawData.angle1 = NormalizeAngle( drawData.angle0+segPtr->u.c.a1 );
- drawDesc[A2].mode |= DESC_CHANGE;
- break;
- case DESC_PIVOT_SECOND:
- segPtr->u.c.a0 = NormalizeAngle( segPtr->u.c.a1+segPtr->u.c.a0-drawData.angle);
- segPtr->u.c.a1 = drawData.angle;
- drawData.angle0 = NormalizeAngle( segPtr->u.c.a0+xx->angle );
- drawData.angle1 = NormalizeAngle( drawData.angle0+segPtr->u.c.a1 );
- drawDesc[A1].mode |= DESC_CHANGE;
- drawDesc[A2].mode |= DESC_CHANGE;
- break;
- case DESC_PIVOT_MID:
- segPtr->u.c.a0 = NormalizeAngle( segPtr->u.c.a0+segPtr->u.c.a1/2.0-drawData.angle/2.0);
- segPtr->u.c.a1 = drawData.angle;
- drawData.angle0 = NormalizeAngle( segPtr->u.c.a0+xx->angle );
- drawData.angle1 = NormalizeAngle( drawData.angle0+segPtr->u.c.a1 );
- drawDesc[A1].mode |= DESC_CHANGE;
- drawDesc[A2].mode |= DESC_CHANGE;
- break;
- default:
- break;
- }
+ case A1: //Angle of first point of curve
+ segPtr->u.c.a0 = NormalizeAngle(drawData.angle0);
+ drawData.angle1 = NormalizeAngle(segPtr->u.c.a0+segPtr->u.c.a1);
+ drawDesc[A2].mode |= DESC_CHANGE;
break;
case A2:
- segPtr->u.c.a0 = NormalizeAngle( drawData.angle1-segPtr->u.c.a1-xx->angle );
- drawData.angle0 = NormalizeAngle( segPtr->u.c.a0+xx->angle );
+ segPtr->u.c.a0 = NormalizeAngle( drawData.angle1-segPtr->u.c.a1);
+ drawData.angle0 = NormalizeAngle( segPtr->u.c.a0 );
drawDesc[A1].mode |= DESC_CHANGE;
break;
case BE:
- BenchUpdateOrientationList( (long)wListGetItemContext((wList_p)drawDesc[BE].control0, drawData.benchChoice ), (wList_p)drawDesc[OR].control0 );
+ BenchUpdateOrientationList( VP2L( wListGetItemContext((wList_p)drawDesc[BE].control0, drawData.benchChoice)), (wList_p)drawDesc[OR].control0 );
if ( drawData.benchOrient < wListGetCount( (wList_p)drawDesc[OR].control0 ) )
wListSetIndex( (wList_p)drawDesc[OR].control0, drawData.benchOrient );
else
drawData.benchOrient = 0;
- segPtr->u.l.option = GetBenchData( (long)wListGetItemContext((wList_p)drawDesc[BE].control0, drawData.benchChoice ), drawData.benchOrient );
+ segPtr->u.l.option = GetBenchData( VP2L(wListGetItemContext((wList_p)drawDesc[BE].control0, drawData.benchChoice)), drawData.benchOrient );
break;
case OR:
- segPtr->u.l.option = GetBenchData( (long)wListGetItemContext((wList_p)drawDesc[BE].control0, drawData.benchChoice ), drawData.benchOrient );
+ segPtr->u.l.option = GetBenchData( VP2L(wListGetItemContext((wList_p)drawDesc[BE].control0, drawData.benchChoice)), drawData.benchOrient );
break;
case DS:
segPtr->u.l.option = drawData.dimenSize;
break;
- case TP:
- UNREORIGIN( segPtr->u.t.pos, drawData.endPt[0], xx->angle, xx->orig );
+ case TP:;
+ UNREORIGIN(segPtr->u.t.pos, drawData.endPt[0], 0.0, xx->orig );
break;
case PP:
off.x = drawData.endPt[0].x - drawData.oldE0.x;
off.y = drawData.endPt[0].y - drawData.oldE0.y;
- if (drawData.lock_origin) {
- xx->orig.x +=off.x;
- xx->orig.y +=off.y;
- drawData.origin = xx->orig;
- drawDesc[OI].mode |= DESC_CHANGE;
- drawDesc[E0].mode |= DESC_CHANGE;
- break;
- } else {
- for (int i=0;i<segPtr->u.p.cnt;i++) {
- REORIGIN( pt, segPtr->u.p.pts[i].pt, xx->angle, xx->orig );
- pt.x += off.x;
- pt.y += off.y;
- if (i<5) drawData.endPt[i] = pt;
- UNREORIGIN( segPtr->u.p.pts[i].pt, pt, 0.0, xx->orig );
+ for (int i=0;i<segPtr->u.p.cnt;i++) {
+ REORIGIN( pt, segPtr->u.p.pts[i].pt, 0.0, xx->orig );
+ pt.x += off.x;
+ pt.y += off.y;
+ if (i<5) {
+ drawData.endPt[i] = pt;
}
- xx->angle = 0.0;
- drawDesc[AL].mode |= DESC_CHANGE;
+ UNREORIGIN( segPtr->u.p.pts[i].pt, pt, 0.0, xx->orig );
}
break;
case TA:
- //segPtr->u.t.angle = NormalizeAngle( drawData.angle );
- xx->angle = NormalizeAngle( drawData.angle );
+ segPtr->u.t.angle = NormalizeAngle( drawData.angle );
break;
case TS:
fontSize = (long)segPtr->u.t.fontSize;
@@ -980,19 +938,36 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
break;
case FL:
if (segPtr->type == SEG_POLY && drawData.open) {
+ segPtr->u.p.polyType = POLYLINE;
drawData.filled = FALSE;
- drawDesc[FL].mode |= DESC_CHANGE;
+ drawDesc[FL].mode = DESC_RO|DESC_CHANGE;
break;
}
if(drawData.filled) {
- if (segPtr->type == SEG_POLY) segPtr->type = SEG_FILPOLY;
- if (segPtr->type == SEG_CRVLIN) segPtr->type = SEG_FILCRCL;
+ if (segPtr->type == SEG_POLY) {
+ segPtr->type = SEG_FILPOLY;
+ segPtr->u.p.polyType = FREEFORM;
+ drawData.open = FALSE;
+ drawDesc[OP].mode = DESC_RO|DESC_CHANGE;
+ }
+ if (segPtr->type == SEG_CRVLIN) {
+ segPtr->type = SEG_FILCRCL;
+ drawData.length = 0.0;
+ drawDesc[LN].mode = DESC_RO|DESC_CHANGE;
+ }
} else {
- if (segPtr->type == SEG_FILPOLY) segPtr->type = SEG_POLY;
+ if (segPtr->type == SEG_FILPOLY) {
+ segPtr->type = SEG_POLY;
+ segPtr->u.p.polyType = FREEFORM;
+ drawData.open = FALSE;
+ drawDesc[OP].mode = DESC_CHANGE;
+ }
if (segPtr->type == SEG_FILCRCL) {
segPtr->type = SEG_CRVLIN;
segPtr->u.c.a0 = 0.0;
segPtr->u.c.a1 = 360.0;
+ drawData.length = 2*M_PI*segPtr->u.c.radius;
+ drawDesc[LN].mode = DESC_RO|DESC_CHANGE;
}
}
break;
@@ -1003,9 +978,17 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
break;
}
if (drawData.open) {
- if (segPtr->type == SEG_POLY && segPtr->u.p.polyType == FREEFORM) segPtr->u.p.polyType = POLYLINE;
+ if (segPtr->type == SEG_POLY && segPtr->u.p.polyType == FREEFORM) {
+ segPtr->u.p.polyType = POLYLINE;
+ drawData.filled = FALSE;
+ drawDesc[FL].mode = DESC_RO|DESC_CHANGE;
+ }
} else {
- if (segPtr->type == SEG_POLY && segPtr->u.p.polyType == POLYLINE) segPtr->u.p.polyType = FREEFORM;
+ if (segPtr->type == SEG_POLY && segPtr->u.p.polyType == POLYLINE) {
+ segPtr->u.p.polyType = FREEFORM;
+ drawData.filled = FALSE;
+ drawDesc[FL].mode = DESC_CHANGE;
+ }
}
break;
case BX:
@@ -1015,6 +998,10 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
if ( wTextGetModified((wText_p)drawDesc[TX].control0 )) {
int len = wTextGetSize((wText_p)drawDesc[TX].control0);
MyFree( segPtr->u.t.string );
+ if (len>STR_HUGE_SIZE-8) { //Truncate string to max
+ len = STR_HUGE_SIZE-8;
+ ErrorMessage( MSG_TEXT_TOO_LONG );
+ }
segPtr->u.t.string = (char *)MyMalloc(len+1);
wTextGetText((wText_p)drawDesc[TX].control0, segPtr->u.t.string, len+1);
segPtr->u.t.string[len] = '\0'; //Make sure of null term
@@ -1025,6 +1012,13 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
SetTrkLayer( trk, drawData.layer);
break;
case LK:
+ if (drawData.lock_origin) {
+ drawDesc[RA].mode = 0;
+ } else {
+ drawDesc[RA].mode = DESC_RO;
+ }
+ drawData.rotate_angle = 0.0;
+ drawDesc[RA].mode |= DESC_CHANGE;
break;
case LT:
xx->lineType = drawData.lineType;
@@ -1034,7 +1028,7 @@ static void UpdateDraw( track_p trk, int inx, descData_p descUpd, BOOL_T final )
}
drawData.oldE0 = drawData.endPt[0];
drawData.oldE1 = drawData.endPt[1];
- drawData.oldAngle = drawData.angle;
+ drawData.oldAngle = drawData.rotate_angle;
drawData.oldOrigin = drawData.origin;
ComputeDrawBoundingBox( trk );
DrawNewTrack( trk );
@@ -1045,7 +1039,7 @@ extern BOOL_T inDescribeCmd;
static void DescribeDraw( track_p trk, char * str, CSIZE_T len )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataDraw_t *xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
coOrd pos = oldMarker;
trkSeg_p segPtr;
int inx;
@@ -1057,14 +1051,17 @@ static void DescribeDraw( track_p trk, char * str, CSIZE_T len )
if ( drawSegInx==-1 )
return;
segPtr = &xx->segs[drawSegInx];
- for ( inx=0; inx<sizeof drawDesc/sizeof drawDesc[0]; inx++ ) {
+ for ( inx=0; inx<COUNT( drawDesc ); inx++ ) {
drawDesc[inx].mode = DESC_IGNORE;
drawDesc[inx].control0 = NULL;
}
drawData.color = segPtr->color;
drawData.layer = GetTrkLayer(trk);
drawDesc[CO].mode = 0;
- drawData.lineWidth = (long)floor(segPtr->width*mainD.dpi+0.5);
+ if (drawData.lineWidth<0)
+ drawData.lineWidth = (long)segPtr->width;
+ else
+ drawData.lineWidth = (long)floor(segPtr->width*75.0+0.5);
drawDesc[LW].mode = 0;
drawDesc[LY].mode = DESC_NOREDRAW;
drawDesc[BE].mode =
@@ -1076,7 +1073,7 @@ static void DescribeDraw( track_p trk, char * str, CSIZE_T len )
if ((xx->orig.x == 0.0) && (xx->orig.y == 0.0)) drawData.lock_origin = FALSE;
else drawData.lock_origin = TRUE;
- drawData.rotate_angle = xx->angle;
+ drawData.rotate_angle = 0.0;
drawDesc[LK].mode = 0;
@@ -1090,13 +1087,19 @@ static void DescribeDraw( track_p trk, char * str, CSIZE_T len )
drawData.length = FindDistance( drawData.endPt[0], drawData.endPt[1] );
drawData.angle = FindAngle( drawData.endPt[0], drawData.endPt[1] );
drawData.origin = xx->orig;
+ //Remove input Angle (if any)
+ UNREORIGIN(segPtr->u.l.pos[0], drawData.endPt[0], 0.0, xx->orig);
+ UNREORIGIN(segPtr->u.l.pos[1], drawData.endPt[1], 0.0, xx->orig);
+ xx->angle = 0.0;
drawDesc[LN].mode =
- drawDesc[AL].mode =
+ drawDesc[LA].mode =
drawDesc[PV].mode = 0;
drawDesc[E0].mode =
drawDesc[OI].mode = 0;
drawDesc[E1].mode = 0;
drawDesc[RA].mode = 0;
+ if (!drawData.lock_origin) drawDesc[RA].mode = DESC_RO;
+ else drawDesc[RA].mode = 0;
switch (segPtr->type) {
case SEG_STRLIN:
title = _("Straight Line");
@@ -1136,22 +1139,30 @@ static void DescribeDraw( track_p trk, char * str, CSIZE_T len )
break;
case SEG_CRVLIN:
REORIGIN( drawData.center, segPtr->u.c.center, xx->angle, xx->orig );
+ //Remove input Angle (if any)
+ UNREORIGIN(segPtr->u.c.center, drawData.center, 0.0, xx->orig);
+ xx->angle = 0.0;
drawData.radius = fabs(segPtr->u.c.radius);
drawData.origin = xx->orig;
drawDesc[OI].mode = 0;
- drawDesc[RA].mode =
drawDesc[CE].mode =
drawDesc[RD].mode = 0;
+ if (!drawData.lock_origin) drawDesc[RA].mode = DESC_RO;
+ else drawDesc[RA].mode = 0;
drawDesc[LT].mode = 0;
drawData.lineType = (wIndex_t)xx->lineType;
if ( segPtr->u.c.a1 >= 360.0 ) {
title = _("Circle");
drawDesc[FL].mode = 0;
drawData.filled = FALSE;
+ drawDesc[LN].mode = DESC_RO;
+ drawData.length = 2*M_PI*segPtr->u.c.radius;
} else {
drawData.angle = segPtr->u.c.a1;
drawData.angle0 = NormalizeAngle( segPtr->u.c.a0+xx->angle );
drawData.angle1 = NormalizeAngle( drawData.angle0+drawData.angle );
+ drawDesc[LN].mode = DESC_RO;
+ drawData.length = 2*M_PI*segPtr->u.c.radius*segPtr->u.c.a1/360;
drawDesc[AL].mode =
drawDesc[A1].mode =
drawDesc[A2].mode = 0;
@@ -1161,12 +1172,18 @@ static void DescribeDraw( track_p trk, char * str, CSIZE_T len )
break;
case SEG_FILCRCL:
REORIGIN( drawData.center, segPtr->u.c.center, xx->angle, xx->orig );
+ //Remove input Angle (if any)
+ UNREORIGIN(segPtr->u.c.center, drawData.center, 0.0, xx->orig);
+ xx->angle = 0.0;
drawData.radius = fabs(segPtr->u.c.radius);
drawData.origin = xx->orig;
drawDesc[OI].mode =
- drawDesc[RA].mode =
drawDesc[FL].mode = 0;
+ if (!drawData.lock_origin) drawDesc[RA].mode = DESC_RO;
+ else drawDesc[RA].mode = 0;
drawData.filled = TRUE;
+ drawData.length = 0.0;
+ drawDesc[LN].mode = DESC_RO;
drawDesc[CE].mode =
drawDesc[RD].mode = 0;
drawDesc[PV].mode = 0;
@@ -1175,23 +1192,34 @@ static void DescribeDraw( track_p trk, char * str, CSIZE_T len )
title = _("Filled Circle");
break;
case SEG_POLY:
+ case SEG_FILPOLY:;
+ BOOL_T filled = FALSE;
+ if (segPtr->type == SEG_FILPOLY) filled = TRUE;
REORIGIN(drawData.endPt[0],segPtr->u.p.pts[0].pt, xx->angle, xx->orig);
+ //Remove input Angle (if any)
+ for (int i=0;i<segPtr->u.p.cnt;i++) {
+ coOrd pt;
+ REORIGIN(pt,segPtr->u.p.pts[i].pt, xx->angle, xx->orig);
+ UNREORIGIN(segPtr->u.p.pts[i].pt, pt, 0.0, xx->orig);
+ }
+ xx->angle = 0.0;
drawDesc[PP].mode = 0;
drawData.pointCount = segPtr->u.p.cnt;
drawDesc[VC].mode = DESC_RO;
- drawData.filled = FALSE;
+ drawData.filled = filled;
drawDesc[FL].mode = 0;
drawData.angle = 0.0;
- drawDesc[RA].mode = 0;
+ if (!drawData.lock_origin) drawDesc[RA].mode = DESC_RO;
+ else drawDesc[RA].mode = 0;
drawData.origin = xx->orig;
drawDesc[OI].mode = 0;
- drawData.open=FALSE;
- drawDesc[OP].mode = 0;
+ drawData.open= FALSE;
+ drawDesc[OP].mode = filled?DESC_RO:0;
drawDesc[LT].mode = 0;
drawData.lineType = (wIndex_t)xx->lineType;
switch (segPtr->u.p.polyType) {
case RECTANGLE:
- title = _("Rectangle");
+ title = filled?_("Filled Rectangle"):_("Rectangle");
drawDesc[OP].mode = DESC_IGNORE;
drawDesc[VC].mode = DESC_IGNORE;
drawData.width = FindDistance(segPtr->u.p.pts[0].pt, segPtr->u.p.pts[1].pt);
@@ -1207,57 +1235,33 @@ static void DescribeDraw( track_p trk, char * str, CSIZE_T len )
case POLYLINE:
title = _("Polyline");
drawData.open=TRUE;
+ drawData.filled= FALSE;
+ drawDesc[FL].mode = DESC_RO;
+ drawDesc[OP].mode = 0;
break;
default:
- title = _("Polygon");
- }
- break;
- case SEG_FILPOLY:
- REORIGIN(drawData.endPt[0],segPtr->u.p.pts[0].pt, xx->angle, xx->orig);
- drawDesc[PP].mode = 0;
- drawData.pointCount = segPtr->u.p.cnt;
- drawDesc[VC].mode = DESC_RO;
- drawData.filled = TRUE;
- drawDesc[FL].mode = 0;
- drawDesc[LW].mode = DESC_IGNORE;
- drawData.angle = xx->angle;
- drawDesc[RA].mode = 0;
- drawData.origin = xx->orig;
- drawDesc[OI].mode = DESC_RO;
- drawData.open = FALSE;
- switch (segPtr->u.p.polyType) {
- case RECTANGLE:
- title =_("Filled Rectangle");
- drawDesc[VC].mode = DESC_IGNORE;
- drawData.width = FindDistance(segPtr->u.p.pts[0].pt, segPtr->u.p.pts[1].pt);
- drawDesc[WT].mode = 0;
- drawData.height = FindDistance(segPtr->u.p.pts[0].pt, segPtr->u.p.pts[3].pt);
- drawDesc[HT].mode = 0;
- for(int i=0;i<4;i++) {
- REORIGIN( drawData.endPt[i], segPtr->u.p.pts[i].pt, xx->angle, xx->orig );
- }
- drawDesc[E0].mode = DESC_IGNORE;
- drawData.origin = xx->orig;
- break;
- default:
- title = _("Filled Polygon");
+ title = filled?_("Filled Polygon"):_("Polygon");
}
break;
case SEG_TEXT:
REORIGIN( drawData.endPt[0], segPtr->u.t.pos, xx->angle, xx->orig );
- drawData.angle = NormalizeAngle( xx->angle );
+ UNREORIGIN( segPtr->u.t.pos, drawData.endPt[0], 0.0, xx->orig );
+ xx->angle = 0.0;
+ drawData.angle = segPtr->u.t.angle; //Text Angle
+ drawData.origin = xx->orig;
strncpy( drawData.text, segPtr->u.t.string, sizeof drawData.text );
drawData.text[sizeof drawData.text-1] ='\0';
drawData.boxed = segPtr->u.t.boxed;
- drawData.origin = xx->orig;
- drawDesc[E0].mode =
drawDesc[TP].mode =
drawDesc[TS].mode =
drawDesc[TX].mode =
drawDesc[TA].mode =
- drawDesc[BX].mode =
- drawDesc[RA].mode =
- drawDesc[OI].mode = 0;
+ drawDesc[LK].mode =
+ drawDesc[OI].mode =
+ drawDesc[BX].mode = 0;
+ if (!drawData.lock_origin) drawDesc[RA].mode = DESC_RO;
+ else drawDesc[RA].mode = 0;
+ drawDesc[E0].mode = DESC_IGNORE;
drawDesc[CO].mode = 0; /*Allow Text color setting*/
drawDesc[LW].mode = DESC_IGNORE;
title = _("Text");
@@ -1272,7 +1276,7 @@ static void DescribeDraw( track_p trk, char * str, CSIZE_T len )
drawData.oldE0 = drawData.endPt[0];
drawData.oldE1 = drawData.endPt[1];
- drawData.oldAngle = drawData.angle;
+ drawData.oldAngle = drawData.rotate_angle;
drawData.oldOrigin = drawData.origin;
@@ -1281,26 +1285,26 @@ static void DescribeDraw( track_p trk, char * str, CSIZE_T len )
if ( segPtr->type==SEG_BENCH && drawDesc[BE].control0!=NULL && drawDesc[OR].control0!=NULL) {
BenchLoadLists( (wList_p)drawDesc[BE].control0, (wList_p)drawDesc[OR].control0 );
wListSetIndex( (wList_p)drawDesc[BE].control0, drawData.benchChoice );
- BenchUpdateOrientationList( (long)wListGetItemContext((wList_p)drawDesc[BE].control0, drawData.benchChoice ), (wList_p)drawDesc[OR].control0 );
+ BenchUpdateOrientationList( VP2L(wListGetItemContext((wList_p)drawDesc[BE].control0, drawData.benchChoice)), (wList_p)drawDesc[OR].control0 );
wListSetIndex( (wList_p)drawDesc[OR].control0, drawData.benchOrient );
}
if ( (segPtr->type==SEG_STRLIN || segPtr->type==SEG_CRVLIN || segPtr->type==SEG_POLY) && drawDesc[LT].control0!=NULL) {
wListClear( (wList_p)drawDesc[LT].control0 );
- wListAddValue( (wList_p)drawDesc[LT].control0, _("Solid"), NULL, (void*)0 );
- wListAddValue( (wList_p)drawDesc[LT].control0, _("Dash"), NULL, (void*)1 );
- wListAddValue( (wList_p)drawDesc[LT].control0, _("Dot"), NULL, (void*)2 );
- wListAddValue( (wList_p)drawDesc[LT].control0, _("DashDot"), NULL, (void*)3 );
- wListAddValue( (wList_p)drawDesc[LT].control0, _("DashDotDot"), NULL, (void*)4 );
- wListAddValue( (wList_p)drawDesc[LT].control0, _("CenterDot"), NULL, (void*)5 );
- wListAddValue( (wList_p)drawDesc[LT].control0, _("PhantomDot"), NULL, (void*)6 );
+ wListAddValue( (wList_p)drawDesc[LT].control0, _("Solid"), NULL, I2VP(0 ));
+ wListAddValue( (wList_p)drawDesc[LT].control0, _("Dash"), NULL, I2VP(1 ));
+ wListAddValue( (wList_p)drawDesc[LT].control0, _("Dot"), NULL, I2VP(2 ));
+ wListAddValue( (wList_p)drawDesc[LT].control0, _("DashDot"), NULL, I2VP(3 ));
+ wListAddValue( (wList_p)drawDesc[LT].control0, _("DashDotDot"), NULL, I2VP(4 ));
+ wListAddValue( (wList_p)drawDesc[LT].control0, _("CenterDot"), NULL, I2VP(5 ));
+ wListAddValue( (wList_p)drawDesc[LT].control0, _("PhantomDot"), NULL, I2VP(6 ));
wListSetIndex( (wList_p)drawDesc[LT].control0, drawData.lineType );
}
if ( segPtr->type==SEG_DIMLIN && drawDesc[DS].control0!=NULL ) {
wListClear( (wList_p)drawDesc[DS].control0 );
- wListAddValue( (wList_p)drawDesc[DS].control0, _("Tiny"), NULL, (void*)0 );
- wListAddValue( (wList_p)drawDesc[DS].control0, _("Small"), NULL, (void*)1 );
- wListAddValue( (wList_p)drawDesc[DS].control0, _("Medium"), NULL, (void*)2 );
- wListAddValue( (wList_p)drawDesc[DS].control0, _("Large"), NULL, (void*)3 );
+ wListAddValue( (wList_p)drawDesc[DS].control0, _("Tiny"), NULL, I2VP(0 ));
+ wListAddValue( (wList_p)drawDesc[DS].control0, _("Small"), NULL, I2VP(1 ));
+ wListAddValue( (wList_p)drawDesc[DS].control0, _("Medium"), NULL, I2VP(2 ));
+ wListAddValue( (wList_p)drawDesc[DS].control0, _("Large"), NULL, I2VP(3 ));
wListSetIndex( (wList_p)drawDesc[DS].control0, drawData.dimenSize );
}
if ( segPtr->type==SEG_TEXT && drawDesc[TS].control0!=NULL ) {
@@ -1311,7 +1315,7 @@ static void DescribeDraw( track_p trk, char * str, CSIZE_T len )
static void DrawDraw( track_p t, drawCmd_p d, wDrawColor color )
{
- struct extraData * xx = GetTrkExtraData(t);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(t, T_DRAW, extraDataDraw_t);
unsigned long NotSolid = ~(DC_NOTSOLIDLINE);
d->options &= NotSolid;
if (xx->lineType == DRAWLINESOLID) {}
@@ -1329,7 +1333,7 @@ static void DrawDraw( track_p t, drawCmd_p d, wDrawColor color )
static void DeleteDraw( track_p t )
{
/* Get rid of points if specified */
- struct extraData * xx = GetTrkExtraData(t);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(t, T_DRAW, extraDataDraw_t);
if (xx->segs[0].type == SEG_POLY ||
xx->segs[0].type == SEG_FILPOLY) {
MyFree(xx->segs[0].u.p.pts);
@@ -1340,7 +1344,7 @@ static void DeleteDraw( track_p t )
static BOOL_T WriteDraw( track_p t, FILE * f )
{
- struct extraData * xx = GetTrkExtraData(t);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(t, T_DRAW, extraDataDraw_t);
BOOL_T rc = TRUE;
rc &= fprintf(f, "DRAW %d %d %d 0 0 %0.6f %0.6f 0 %0.6f\n", GetTrkIndex(t), GetTrkLayer(t),
xx->lineType,
@@ -1359,7 +1363,7 @@ static BOOL_T ReadDraw( char * header )
ANGLE_T angle;
wIndex_t layer;
int lineType;
- struct extraData * xx;
+ struct extraDataDraw_t * xx;
if ( !GetArgs( header+5, paramVersion<3?"dXXpYf":paramVersion<9?"dLX00pYf":"dLd00pff",
&index, &layer, &lineType, &orig, &elev, &angle ) )
@@ -1368,11 +1372,13 @@ static BOOL_T ReadDraw( char * header )
return FALSE;
if (tempSegs_da.cnt == 1) {
trk = MakeDrawFromSeg1( index, orig, angle, &tempSegs(0) );
+ xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
+ xx->lineType = lineType;
SetTrkLayer( trk, layer );
} else {
trk = NewTrack( index, T_DRAW, 0, sizeof *xx + (tempSegs_da.cnt-1) * sizeof *(trkSeg_p)0 );
SetTrkLayer( trk, layer );
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
xx->orig = orig;
xx->angle = angle;
xx->segCnt = tempSegs_da.cnt;
@@ -1384,27 +1390,88 @@ static BOOL_T ReadDraw( char * header )
}
-static void MoveDraw( track_p trk, coOrd orig )
+static void MoveDraw( track_p trk, coOrd off )
{
- struct extraData * xx = GetTrkExtraData(trk);
- xx->orig.x += orig.x;
- xx->orig.y += orig.y;
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
+
+ trkSeg_p segPtr = &xx->segs[0];
+
+ if (xx->orig.x == 0.0 && xx->orig.y == 0.0) { //No origin set
+ switch(segPtr->type) {
+ case SEG_POLY:
+ case SEG_FILPOLY:
+ for (int i=0;i<segPtr->u.p.cnt;i++) {
+ REORIGIN( segPtr->u.p.pts[i].pt, segPtr->u.p.pts[i].pt, 0.0, off );
+ }
+ break;
+ case SEG_STRLIN:
+ case SEG_DIMLIN:
+ case SEG_BENCH:
+ case SEG_TBLEDGE:
+ for (int i=0;i<2;i++) {
+ REORIGIN( segPtr->u.l.pos[i], segPtr->u.l.pos[i], 0.0, off );
+ }
+ break;
+ case SEG_CRVLIN:
+ case SEG_FILCRCL:
+ REORIGIN( segPtr->u.c.center, segPtr->u.c.center, 0.0, off );
+ break;
+ case SEG_TEXT:
+ REORIGIN( segPtr->u.t.pos, segPtr->u.t.pos, 0.0, off );
+ break;
+ default:;
+ }
+
+ } else {
+ xx->orig.x += off.x;
+ xx->orig.y += off.y;
+ }
ComputeDrawBoundingBox( trk );
}
static void RotateDraw( track_p trk, coOrd orig, ANGLE_T angle )
{
- struct extraData * xx = GetTrkExtraData(trk);
- Rotate( &xx->orig, orig, angle );
- xx->angle = NormalizeAngle( xx->angle + angle );
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
+ trkSeg_p segPtr = &xx->segs[0];
+ if (xx->orig.x == 0.0 && xx->orig.y == 0.0) { //No origin set
+ switch(segPtr->type) {
+ case SEG_POLY:
+ case SEG_FILPOLY:
+ for (int i=0;i<segPtr->u.p.cnt;i++) {
+ Rotate(&segPtr->u.p.pts[i].pt, orig, angle );
+ }
+ break;
+ case SEG_STRLIN:
+ case SEG_DIMLIN:
+ case SEG_BENCH:
+ case SEG_TBLEDGE:
+ for (int i=0;i<2;i++) {
+ Rotate( &segPtr->u.l.pos[i], orig, angle );
+ }
+ break;
+ case SEG_CRVLIN:
+ case SEG_FILCRCL:
+ Rotate( &segPtr->u.c.center, orig, angle );
+ segPtr->u.c.a0 = NormalizeAngle(segPtr->u.c.a0 + angle);
+ break;
+ case SEG_TEXT:
+ Rotate( &segPtr->u.t.pos, orig, angle );
+ segPtr->u.t.angle = NormalizeAngle(segPtr->u.t.angle+angle+xx->angle);
+ break;
+ default:;
+ }
+ } else {
+ Rotate( &xx->orig, orig, angle );
+ xx->angle = NormalizeAngle( xx->angle + angle );
+ }
ComputeDrawBoundingBox( trk );
}
static void RescaleDraw( track_p trk, FLOAT_T ratio )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
xx->orig.x *= ratio;
xx->orig.y *= ratio;
RescaleSegs( xx->segCnt, xx->segs, ratio, ratio, ratio );
@@ -1422,7 +1489,8 @@ static drawModContext_t drawModCmdContext = {
static BOOL_T infoSubst = FALSE;
-static paramIntegerRange_t i0_100 = { 0, 100, 25 };
+static paramIntegerRange_t i100_100 = { -100, 100, 25 }; //Allow negative numbers
+static paramFloatRange_t r0d001_10000 = { 0.001, 10000 };
static paramFloatRange_t r1_10000 = { 1, 10000 };
static paramFloatRange_t r0_10000 = { 0, 10000 };
static paramFloatRange_t r10000_10000 = {-10000, 10000};
@@ -1431,31 +1499,31 @@ static paramFloatRange_t r0_360 = { 0, 360, 80 };
static paramData_t drawModPLs[] = {
#define drawModLengthPD (drawModPLs[0])
- { PD_FLOAT, &drawModCmdContext.length, "Length", PDO_DIM|PDO_NORECORD|BO_ENTER, &r0_10000, N_("Length") },
+ { PD_FLOAT, &drawModCmdContext.length, "Length", PDO_NOPREF|PDO_DIM|PDO_NORECORD|BO_ENTER, &r0_10000, N_("Length") },
#define drawModAnglePD (drawModPLs[1])
- { PD_FLOAT, &drawModCmdContext.abs_angle, "Angle", PDO_NORECORD|BO_ENTER, &r360_360, N_("Angle") },
+ { PD_FLOAT, &drawModCmdContext.abs_angle, "Angle", PDO_NOPREF|PDO_NORECORD|BO_ENTER, &r360_360, N_("Angle") },
#define drawModRelAnglePD (drawModPLs[2])
#define drawModRelAngle 2
- { PD_FLOAT, &drawModCmdContext.rel_angle, "Rel Angle", PDO_NORECORD|BO_ENTER, &r360_360, N_("Relative Angle") },
+ { PD_FLOAT, &drawModCmdContext.rel_angle, "RelAngle", PDO_NOPREF|PDO_NORECORD|BO_ENTER, &r360_360, N_("Relative Angle") },
#define drawModWidthPD (drawModPLs[3])
- { PD_FLOAT, &drawModCmdContext.width, "Width", PDO_DIM|PDO_NORECORD|BO_ENTER, &r0_10000, N_("Width") },
+ { PD_FLOAT, &drawModCmdContext.width, "Width", PDO_NOPREF|PDO_DIM|PDO_NORECORD|BO_ENTER, &r0_10000, N_("Width") },
#define drawModHeightPD (drawModPLs[4])
- { PD_FLOAT, &drawModCmdContext.height, "Height", PDO_DIM|PDO_NORECORD|BO_ENTER, &r0_10000, N_("Height") },
+ { PD_FLOAT, &drawModCmdContext.height, "Height", PDO_NOPREF|PDO_DIM|PDO_NORECORD|BO_ENTER, &r0_10000, N_("Height") },
#define drawModRadiusPD (drawModPLs[5])
#define drawModRadius 5
- { PD_FLOAT, &drawModCmdContext.radius, "Radius", PDO_DIM|PDO_NORECORD|BO_ENTER, &r10000_10000, N_("Radius") },
+ { PD_FLOAT, &drawModCmdContext.radius, "Radius", PDO_NOPREF|PDO_DIM|PDO_NORECORD|BO_ENTER, &r0d001_10000, N_("Radius") },
#define drawModArcAnglePD (drawModPLs[6])
- { PD_FLOAT, &drawModCmdContext.arc_angle, "ArcAngle", PDO_NORECORD|BO_ENTER, &r360_360, N_("Arc Angle") },
+ { PD_FLOAT, &drawModCmdContext.arc_angle, "ArcAngle", PDO_NOPREF|PDO_NORECORD|BO_ENTER, &r360_360, N_("Arc Angle") },
#define drawModRotAnglePD (drawModPLs[7)
- { PD_FLOAT, &drawModCmdContext.rot_angle, "Rot Angle", PDO_NORECORD|BO_ENTER, &r0_360, N_("Rotate Angle") },
+ { PD_FLOAT, &drawModCmdContext.rot_angle, "RotAngle", PDO_NOPREF|PDO_NORECORD|BO_ENTER, &r0_360, N_("Rotate Angle") },
#define drawModRotCenterXPD (drawModPLs[8])
#define drawModRotCenterInx 8
- { PD_FLOAT, &drawModCmdContext.rot_center.x, "Rot Center X,Y", PDO_NORECORD|BO_ENTER, &r0_10000, N_("Rot Center X") },
+ { PD_FLOAT, &drawModCmdContext.rot_center.x, "RotCenterx", PDO_NOPREF|PDO_NORECORD|BO_ENTER, &r0_10000, N_("Rot Center X,Y") },
#define drawModRotCenterYPD (drawModPLs[9])
- { PD_FLOAT, &drawModCmdContext.rot_center.y, " ", PDO_NORECORD|BO_ENTER, &r0_10000, N_("Rot Center Y") },
+ { PD_FLOAT, &drawModCmdContext.rot_center.y, "RotCentery", PDO_NOPREF|PDO_NORECORD|BO_ENTER, &r0_10000, NULL },
};
-static paramGroup_t drawModPG = { "drawMod", 0, drawModPLs, sizeof drawModPLs/sizeof drawModPLs[0] };
+static paramGroup_t drawModPG = { "drawMod", 0, drawModPLs, COUNT( drawModPLs ) };
static void DrawModDlgUpdate(
paramGroup_p pg,
@@ -1472,7 +1540,7 @@ static void DrawModDlgUpdate(
static STATUS_T ModifyDraw( track_p trk, wAction_t action, coOrd pos )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
STATUS_T rc = C_CONTINUE;
wControl_p controls[5]; //Always needs a NULL last entry
@@ -1649,6 +1717,7 @@ static STATUS_T ModifyDraw( track_p trk, wAction_t action, coOrd pos )
wMenuPushEnable( drawModLast,drawModCmdContext.rotate_state && (drawModCmdContext.prev_inx>=0));
wMenuPushEnable( drawModCenter,drawModCmdContext.rotate_state);
break;
+ case wActionExtKey:
case C_TEXT:
ignoredDraw = trk ;
rc = DrawGeomModify( action, pos, &drawModCmdContext );
@@ -1665,19 +1734,25 @@ static STATUS_T ModifyDraw( track_p trk, wAction_t action, coOrd pos )
xx->angle = drawModCmdContext.angle;
xx->orig = drawModCmdContext.orig;
ignoredDraw = NULL;
+ DrawNewTrack( trk );
ComputeDrawBoundingBox( trk );
- DYNARR_RESET(trkSeg_t,tempSegs_da);
if ( infoSubst ) {
InfoSubstituteControls( NULL, NULL );
infoSubst = FALSE;
}
break;
- case C_CANCEL:
case C_CONFIRM:
- case C_TERMINATE:
+ case C_OK:
+ rc = DrawGeomModify( action, pos, &drawModCmdContext );
+ ComputeDrawBoundingBox( trk );
+ if ( infoSubst ) {
+ InfoSubstituteControls( NULL, NULL );
+ infoSubst = FALSE;
+ }
+ break;
+ case C_CANCEL:
rc = DrawGeomModify( action, pos, &drawModCmdContext );
drawModCmdContext.state = MOD_NONE;
- DYNARR_RESET(trkSeg_t,tempSegs_da);
if ( infoSubst ) {
InfoSubstituteControls( NULL, NULL );
infoSubst = FALSE;
@@ -1694,7 +1769,7 @@ static STATUS_T ModifyDraw( track_p trk, wAction_t action, coOrd pos )
static void UngroupDraw( track_p trk )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
int inx;
if ( xx->segCnt <= 1 )
return;
@@ -1715,7 +1790,7 @@ static ANGLE_T GetAngleDraw(
EPINX_T * ep0,
EPINX_T * ep1 )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
ANGLE_T angle;
pos.x -= xx->orig.x;
@@ -1732,20 +1807,23 @@ static ANGLE_T GetAngleDraw(
static BOOL_T EnumerateDraw(
track_p trk )
{
- struct extraData * xx;
+ struct extraDataDraw_t * xx;
int inx;
trkSeg_p segPtr;
if ( trk ) {
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
if ( xx->segCnt < 1 )
- return TRUE;
+ return FALSE;
+ BOOL_T content = FALSE;
for ( inx=0; inx<xx->segCnt; inx++ ) {
segPtr = &xx->segs[inx];
if ( segPtr->type == SEG_BENCH ) {
CountBench( segPtr->u.l.option, FindDistance( segPtr->u.l.pos[0], segPtr->u.l.pos[1] ) );
+ content = TRUE;
}
}
+ return content;
} else {
TotalBench();
}
@@ -1758,10 +1836,47 @@ static void FlipDraw(
coOrd orig,
ANGLE_T angle )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
+
+ trkSeg_p segPtr = &xx->segs[0];
+ BOOL_T reorigin = FALSE;
+ if (xx->orig.x == 0.0 && xx->orig.y == 0.0) {
+ reorigin = TRUE;
+ }
FlipPoint( &xx->orig, orig, angle );
xx->angle = NormalizeAngle( 2*angle - xx->angle + 180.0 );
FlipSegs( xx->segCnt, xx->segs, zero, angle );
+
+
+ if (reorigin) {
+ switch(segPtr->type) {
+ case SEG_POLY:
+ case SEG_FILPOLY:
+ for (int i=0;i<segPtr->u.p.cnt;i++) {
+ REORIGIN( segPtr->u.p.pts[i].pt, segPtr->u.p.pts[i].pt, xx->angle, xx->orig);
+ }
+ break;
+ case SEG_STRLIN:
+ case SEG_DIMLIN:
+ case SEG_BENCH:
+ case SEG_TBLEDGE:
+ for (int i=0;i<2;i++) {
+ REORIGIN( segPtr->u.l.pos[i], segPtr->u.l.pos[i], xx->angle, xx->orig);
+ }
+ break;
+ case SEG_CRVLIN:
+ case SEG_FILCRCL:
+ REORIGIN( segPtr->u.c.center, segPtr->u.c.center, xx->angle, xx->orig);
+ segPtr->u.c.a0 = NormalizeAngle(segPtr->u.c.a0 + xx->angle);
+ break;
+ case SEG_TEXT:
+ REORIGIN( segPtr->u.t.pos, segPtr->u.t.pos, xx->angle, xx->orig );
+ break;
+ default:;
+ }
+ xx->orig.x = 0.0, xx->orig.y = 0.0, xx->angle = 0.0;
+ }
+
ComputeDrawBoundingBox( trk );
}
@@ -1770,7 +1885,7 @@ static BOOL_T StoreDraw(
void **data,
long * len)
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
if (xx->segs[0].type == SEG_POLY ||
xx->segs[0].type == SEG_FILPOLY) {
*data = xx->segs[0].u.p.pts;
@@ -1785,7 +1900,7 @@ static BOOL_T ReplayDraw(
void * data,
long len)
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
if (xx->segs[0].type == SEG_POLY ||
xx->segs[0].type == SEG_FILPOLY) {
xx->segs[0].u.p.pts = MyMalloc(len);
@@ -1797,7 +1912,7 @@ static BOOL_T ReplayDraw(
static BOOL_T QueryDraw( track_p trk, int query )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
switch(query) {
case Q_IS_DRAW:
return TRUE;
@@ -1813,9 +1928,16 @@ static BOOL_T QueryDraw( track_p trk, int query )
case Q_GET_NODES:
return TRUE;
case Q_CAN_PARALLEL:
- if ((xx->segs[0].type == SEG_STRLIN) || (xx->segs[0].type == SEG_CRVLIN ||
- ((xx->segs[0].type == SEG_POLY) && (xx->segs[0].u.p.polyType == POLYLINE))
- )) return TRUE;
+ case Q_MODIFY_CAN_SPLIT:
+ if ((xx->segs[0].type == SEG_STRLIN) ||
+ (xx->segs[0].type == SEG_CRVLIN) ||
+ (xx->segs[0].type == SEG_BEZLIN) ||
+ (xx->segs[0].type == SEG_FILCRCL) ||
+ (xx->segs[0].type == SEG_FILPOLY) ||
+ (xx->segs[0].type == SEG_POLY) ||
+ (xx->segs[0].type == SEG_BENCH) ||
+ (xx->segs[0].type == SEG_TBLEDGE)
+ ) return TRUE;
else return FALSE;
default:
return FALSE;
@@ -1824,8 +1946,8 @@ static BOOL_T QueryDraw( track_p trk, int query )
static wBool_t CompareDraw( track_cp trk1, track_cp trk2 )
{
- struct extraData *xx1 = GetTrkExtraData( trk1 );
- struct extraData *xx2 = GetTrkExtraData( trk2 );
+ struct extraDataDraw_t *xx1 = GET_EXTRA_DATA( trk1, T_DRAW, extraDataDraw_t );
+ struct extraDataDraw_t *xx2 = GET_EXTRA_DATA( trk2, T_DRAW, extraDataDraw_t );
char * cp = message + strlen(message);
REGRESS_CHECK_POS( "Orig", xx1, xx2, orig )
REGRESS_CHECK_ANGLE( "Angle", xx1, xx2, angle )
@@ -1835,7 +1957,7 @@ static wBool_t CompareDraw( track_cp trk1, track_cp trk2 )
static BOOL_T GetParamsDraw( int inx, track_p trk, coOrd pos, trackParams_t * params ) {
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
if (inx != PARAMS_NODES ) return FALSE;
DYNARR_RESET(coOrd,params->nodes);
BOOL_T back = FALSE;
@@ -1845,6 +1967,7 @@ static BOOL_T GetParamsDraw( int inx, track_p trk, coOrd pos, trackParams_t * pa
if (xx->segs[0].u.p.polyType != POLYLINE) return FALSE;
REORIGIN(start,xx->segs[0].u.p.pts[0].pt,xx->angle,xx->orig);
REORIGIN(end,xx->segs[0].u.p.pts[xx->segs[0].u.p.cnt-1].pt,xx->angle,xx->orig);
+ params->ep = 1;
if (FindDistance(pos,start)>FindDistance(pos,end)) back = TRUE;
for (int i=0;i<xx->segs[0].u.p.cnt;i++) {
DYNARR_APPEND(coOrd,params->nodes,xx->segs[0].u.p.cnt);
@@ -1861,7 +1984,10 @@ static BOOL_T GetParamsDraw( int inx, track_p trk, coOrd pos, trackParams_t * pa
case SEG_STRLIN:;
REORIGIN(start,xx->segs[0].u.l.pos[0],xx->angle,xx->orig);
REORIGIN(end,xx->segs[0].u.l.pos[1],xx->angle,xx->orig);
- if (FindDistance(pos,start)>FindDistance(pos,end)) back = TRUE;
+ params->ep = 1;
+ if (FindDistance(pos,start)>FindDistance(pos,end)) {
+ back = TRUE;
+ }
for (int i=0;i<2;i++) {
DYNARR_APPEND(coOrd,params->nodes,2);
REORIGIN(DYNARR_LAST(coOrd,params->nodes),xx->segs[0].u.l.pos[back?1-i:i],xx->angle,xx->orig);
@@ -1896,6 +2022,7 @@ static BOOL_T GetParamsDraw( int inx, track_p trk, coOrd pos, trackParams_t * pa
}
params->lineOrig = DYNARR_N(coOrd,params->nodes,0);
params->lineEnd = DYNARR_LAST(coOrd,params->nodes);
+ params->ep = 1;
return TRUE;
case SEG_BEZLIN:
@@ -1962,6 +2089,309 @@ static BOOL_T GetParamsDraw( int inx, track_p trk, coOrd pos, trackParams_t * pa
}
+static BOOL_T SplitDraw( track_p trk, coOrd pos, EPINX_T ep, track_p *leftover, EPINX_T * ep0, EPINX_T * ep1 )
+{
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
+
+ coOrd p0,p1;
+ DIST_T d;
+ BOOL_T polyline_trim = FALSE, new_last = ep;
+
+
+ DYNARR_SET(trkSeg_t, tempSegs_da, 1);
+
+ tempSegs(0).type = -1;
+
+ switch (xx->segs[0].type) {
+ case SEG_STRLIN:
+ case SEG_BENCH:
+ case SEG_TBLEDGE:
+ REORIGIN(p0,xx->segs[0].u.l.pos[0],xx->angle,xx->orig);
+ REORIGIN(p1,xx->segs[0].u.l.pos[1],xx->angle,xx->orig);
+ tempSegs(0).color = xx->segs[0].color;
+ tempSegs(0).width = xx->segs[0].width;
+ tempSegs_da.cnt = 1;
+ tempSegs(0).type = xx->segs[0].type;
+ tempSegs(0).u.l.pos[0] = 1-ep?p0:pos;
+ tempSegs(0).u.l.pos[1] = 1-ep?pos:p1;
+ xx->segs[0].u.l.pos[0] = 1-ep?pos:p0;
+ xx->segs[0].u.l.pos[1] = 1-ep?p1:pos;
+ break;
+ case SEG_CRVLIN:
+ case SEG_FILCRCL: ;
+ coOrd c;
+ REORIGIN(c, xx->segs[0].u.c.center, xx->angle, xx->orig);
+ coOrd c0,c1;
+ if (xx->segs[0].type == SEG_FILCRCL ||
+ (xx->segs[0].type == SEG_CRVLIN && xx->segs[0].u.c.a1 >= 360.0)) {
+ Translate(&c0,c,FindAngle(c,pos),xx->segs[0].u.c.radius);
+ c1 = c0;
+ xx->segs[0].type = SEG_CRVLIN;
+ xx->segs[0].u.c.a0 = FindAngle(c,c0);
+ xx->segs[0].u.c.a1 = 355.0;
+ } else {
+ Translate(&c0,c,xx->segs[0].u.c.a0+xx->angle,xx->segs[0].u.c.radius);
+ Translate(&c1,c,xx->segs[0].u.c.a1+xx->segs[0].u.c.a0+xx->angle,xx->segs[0].u.c.radius);
+ tempSegs(0).color = xx->segs[0].color;
+ tempSegs(0).width = xx->segs[0].width;
+ tempSegs_da.cnt = 1;
+ tempSegs(0).type = SEG_CRVLIN;
+ tempSegs(0).u.c.center = c;
+ tempSegs(0).u.c.radius = xx->segs[0].u.c.radius;
+ if (ep) {
+ tempSegs(0).u.c.a0 = FindAngle(c,c0);
+ tempSegs(0).u.c.a1 = NormalizeAngle(FindAngle(c,pos)-tempSegs(0).u.c.a0);
+ } else {
+ tempSegs(0).u.c.a0 = FindAngle(c,pos);
+ tempSegs(0).u.c.a1 = NormalizeAngle(FindAngle(c,c1)-tempSegs(0).u.c.a0);
+ }
+ xx->segs[0].u.c.center = c;
+ if (ep) {
+ xx->segs[0].u.c.a0 = FindAngle(c,pos);
+ xx->segs[0].u.c.a1 = NormalizeAngle(FindAngle(c,c1)-xx->segs[0].u.c.a0);
+ } else {
+ xx->segs[0].u.c.a0 = FindAngle(c,c0);
+ xx->segs[0].u.c.a1 = NormalizeAngle(FindAngle(c,pos)-xx->segs[0].u.c.a0);
+ }
+ }
+ break;
+ case SEG_POLY:
+ case SEG_FILPOLY:
+ d = DIST_INF;
+ DIST_T dd;
+ BOOL_T onPoint = FALSE;
+ BOOL_T closeSeg = FALSE;
+ coOrd end;
+ int polyInx = -1;
+ for ( int inx=0; inx<xx->segs[0].u.p.cnt-1; inx++ ) {
+ p0 = pos;
+ coOrd pl0,pl1;
+ REORIGIN(pl0,xx->segs[0].u.p.pts[inx].pt,xx->angle,xx->orig);
+ REORIGIN(pl1,xx->segs[0].u.p.pts[inx+1].pt,xx->angle,xx->orig);
+ dd = LineDistance( &p0, pl0, pl1 );
+ if ( d > dd ) {
+ d = dd;
+ if (IsClose(FindDistance(pos,pl1))) {
+ polyInx = inx;
+ REORIGIN(pos,xx->segs[0].u.p.pts[inx].pt,xx->angle,xx->orig);
+ onPoint = TRUE;
+ break;
+ } else if (IsClose(FindDistance(pos,pl1))) {
+ polyInx = inx+1;
+ REORIGIN(pos,xx->segs[0].u.p.pts[inx+1].pt,xx->angle,xx->orig);
+ onPoint=TRUE;
+ break;
+ } else {
+ if (!IsClose(d)) continue;
+ polyInx = inx;
+ pos = p0;
+ break;
+ }
+ }
+ }
+ //If Closed, look at closing line
+ if ( !onPoint && (xx->segs[0].u.p.polyType != POLYLINE)) {
+ coOrd pl0,pl1;
+ p0 = pos;
+ REORIGIN(pl0,xx->segs[0].u.p.pts[xx->segs[0].u.p.cnt-1].pt,xx->angle,xx->orig);
+ REORIGIN(pl1,xx->segs[0].u.p.pts[0].pt,xx->angle,xx->orig);
+ dd = LineDistance( &p0, pl0, pl1 );
+ if (d > dd) {
+ d = dd;
+ if (IsClose(d)) {
+ polyInx = xx->segs[0].u.p.cnt-1;
+ closeSeg=TRUE;
+ pos = p0;
+ }
+ }
+ }
+ //If Closed, split into a PolyLine
+ if (xx->segs[0].u.p.polyType != POLYLINE) {
+ if (!IsClose(d)) {
+ *leftover = NULL;
+ return FALSE;
+ }
+ end = pos;
+ REORIGIN(end,end,xx->angle,xx->orig);
+
+ trkSeg_t temp; //Buffer for expanded array
+ temp.u.p.cnt = xx->segs[0].u.p.cnt + 2 - onPoint;
+ temp.u.p.pts = MyMalloc(temp.u.p.cnt*sizeof(pts_t));
+ int j = 0;
+ temp.u.p.pts[j].pt = end;
+ temp.u.p.pts[j].pt_type = wPolyLineStraight;
+ j++;
+ /* After split */
+ for (int i=polyInx+1;i<=xx->segs[0].u.p.cnt-1;i++,j++) {
+ temp.u.p.pts[j] = xx->segs[0].u.p.pts[i];
+ REORIGIN(temp.u.p.pts[j].pt,temp.u.p.pts[j].pt,xx->angle,xx->orig);
+ }
+ /* Before split */
+ for (int i=0;i<=polyInx;i++,j++) {
+ temp.u.p.pts[j] = xx->segs[0].u.p.pts[i];
+ REORIGIN(temp.u.p.pts[j].pt,temp.u.p.pts[j].pt,xx->angle,xx->orig);
+ }
+ if (!onPoint) {
+ temp.u.p.pts[temp.u.p.cnt-1].pt = end;
+ }
+ temp.u.p.pts[temp.u.p.cnt-1].pt_type = wPolyLineStraight;
+
+ //Swap Pts Array into existing track
+ MyFree(xx->segs[0].u.p.pts);
+ xx->segs[0].u.p.pts = temp.u.p.pts;
+ xx->segs[0].u.p.cnt = temp.u.p.cnt;
+ xx->segs[0].u.p.polyType = POLYLINE;
+ break;
+ }
+ //Check if on an end-point -> reject
+ if ((polyInx <= 0 || polyInx >= xx->segs[0].u.p.cnt-1) && onPoint ) {
+ *leftover = NULL;
+ return FALSE;
+ }
+ if (polyInx == 0 || (polyInx == 1 && onPoint )) {
+ //Between First End and Next -> Trim end
+ end = xx->segs[0].u.p.pts[0].pt;
+ REORIGIN(end,end,xx->angle,xx->orig);
+ if (onPoint) {
+ for (int i=0;i< xx->segs[0].u.p.cnt-1;i++) {
+ xx->segs[0].u.p.pts[i] = xx->segs[0].u.p.pts[i+1];
+ REORIGIN(xx->segs[0].u.p.pts[i].pt,xx->segs[0].u.p.pts[i].pt,xx->angle,xx->orig);
+ }
+ --xx->segs[0].u.p.cnt;
+ } else {
+ xx->segs[0].u.p.pts[0].pt = pos;
+ for (int i=1;i< xx->segs[0].u.p.cnt;i++) {
+ REORIGIN(xx->segs[0].u.p.pts[i].pt,xx->segs[0].u.p.pts[i].pt,xx->angle,xx->orig);
+ }
+ }
+ tempSegs(0).color = xx->segs[0].color;
+ tempSegs(0).width = xx->segs[0].width;
+ tempSegs_da.cnt = 1;
+ tempSegs(0).type = SEG_STRLIN;
+ tempSegs(0).u.l.pos[0] = pos;
+ tempSegs(0).u.l.pos[1] = end;
+ polyline_trim = TRUE;
+ new_last = FALSE;
+ } else if (polyInx == xx->segs[0].u.p.cnt-2) {
+ //Between second last and last -> Trim the other end
+ end = xx->segs[0].u.p.pts[xx->segs[0].u.p.cnt-1].pt;
+ REORIGIN(end,end,xx->angle,xx->orig);
+ if (onPoint) {
+ --xx->segs[0].u.p.cnt;
+ for (int i=0;i<xx->segs[0].u.p.cnt;i++) {
+ REORIGIN(xx->segs[0].u.p.pts[i].pt,xx->segs[0].u.p.pts[i].pt,xx->angle,xx->orig);
+ }
+ } else {
+ xx->segs[0].u.p.pts[xx->segs[0].u.p.cnt-1].pt = pos;
+ for (int i=0;i<xx->segs[0].u.p.cnt;i++) {
+ REORIGIN(xx->segs[0].u.p.pts[i].pt,xx->segs[0].u.p.pts[i].pt,xx->angle,xx->orig);
+ }
+ }
+ tempSegs(0).color = xx->segs[0].color;
+ tempSegs(0).width = xx->segs[0].width;
+ tempSegs_da.cnt = 1;
+ tempSegs(0).type = SEG_STRLIN;
+ tempSegs(0).u.l.pos[0] = end;
+ tempSegs(0).u.l.pos[1] = pos;
+ polyline_trim = TRUE;
+ new_last = TRUE;
+ } else {
+ //Check that new line will have >=3 spots if not -> reject
+ if (xx->segs[0].u.p.cnt >3) {
+ tempSegs(0).color = xx->segs[0].color;
+ tempSegs(0).width = xx->segs[0].width;
+ tempSegs_da.cnt = 1;
+ tempSegs(0).type = SEG_POLY;
+ tempSegs(0).u.p.polyType = POLYLINE;
+ if (1-ep)
+ tempSegs(0).u.p.cnt = xx->segs[0].u.p.cnt - polyInx;
+ else
+ tempSegs(0).u.p.cnt = polyInx + 2 - onPoint;
+ tempSegs(0).u.p.pts = MyMalloc(tempSegs(0).u.p.cnt*sizeof(pts_t));
+ int j = 0;
+ if (1-ep) {
+ tempSegs(0).u.p.pts[0].pt=pos;
+ tempSegs(0).u.p.pts[0].pt_type = wPolyLineStraight;
+ j = 1;
+ for (int i=polyInx+1;i<xx->segs[0].u.p.cnt;i++,j++) {
+ tempSegs(0).u.p.pts[j] = xx->segs[0].u.p.pts[i];
+ REORIGIN(tempSegs(0).u.p.pts[j].pt,tempSegs(0).u.p.pts[j].pt,xx->angle,xx->orig);
+ }
+ } else {
+ for (int i=0;i<=polyInx+1;i++,j++) {
+ tempSegs(0).u.p.pts[j] = xx->segs[0].u.p.pts[i];
+ REORIGIN(tempSegs(0).u.p.pts[j].pt,tempSegs(0).u.p.pts[j].pt,xx->angle,xx->orig);
+ }
+ if (!onPoint) {
+ tempSegs(0).u.p.pts[tempSegs(0).u.p.cnt-1].pt = pos;
+ tempSegs(0).u.p.pts[tempSegs(0).u.p.cnt-1].pt_type = wPolyLineStraight;
+ }
+ }
+ } else {
+ *leftover = NULL;
+ return FALSE;
+ }
+ polyline_trim = TRUE;
+ new_last = 1-ep;
+ int new_cnt, old_cnt = xx->segs[0].u.p.cnt;
+ if (1-ep)
+ new_cnt = polyInx + 2 - onPoint;
+ else
+ new_cnt = xx->segs[0].u.p.cnt-polyInx;
+ pts_t * newpts = MyMalloc(new_cnt*sizeof(pts_t));
+ int j = 0;
+ if (1-ep) {
+ for (int i = 0; i<polyInx+1; i++,j++) {
+ newpts[j] = xx->segs[0].u.p.pts[i];
+ REORIGIN(newpts[j].pt,newpts[i].pt,xx->angle,xx->orig);
+ }
+ if (!onPoint) {
+ newpts[new_cnt-1].pt = pos;
+ newpts[new_cnt-1].pt_type = wPolyLineStraight;
+ }
+ } else {
+ newpts[0].pt = pos;
+ newpts[0].pt_type = wPolyLineStraight;
+ j = 1;
+ for (int i=polyInx+1;i<old_cnt;i++,j++) {
+ newpts[j] = xx->segs[0].u.p.pts[i];
+ REORIGIN(newpts[j].pt,newpts[j].pt,xx->angle,xx->orig);
+ }
+ }
+ MyFree(xx->segs[0].u.p.pts);
+ xx->segs[0].u.p.cnt = new_cnt;
+ xx->segs[0].u.p.pts = newpts;
+ }
+ break;
+ default:
+ return FALSE;
+ }
+ *leftover = NULL;
+ if (tempSegs(0).type != -1) {
+ *leftover = MakeDrawFromSeg( zero, 0.0, &tempSegs(0) );
+ struct extraDataDraw_t * yy = GET_EXTRA_DATA(*leftover, T_DRAW, extraDataDraw_t);
+ yy->lineType = xx->lineType;
+ if (tempSegs(0).type == SEG_POLY && tempSegs(0).u.p.pts) {
+ MyFree(tempSegs(0).u.p.pts);
+ tempSegs(0).u.p.cnt = 0;
+ tempSegs(0).u.p.pts = NULL;
+ }
+ }
+
+ if (*leftover) {
+ //Polyline sets new_last to the end of the extra
+ if (polyline_trim && (ep != new_last)) {
+ *leftover = trk;
+ }
+ }
+ xx->orig = zero;
+ xx->angle = 0.0;
+ ComputeDrawBoundingBox(trk);
+ *ep0 = 1-ep;
+ *ep1 = ep;
+ return TRUE;
+}
+
static BOOL_T MakeParallelDraw(
track_p trk,
coOrd pos,
@@ -1973,21 +2403,25 @@ static BOOL_T MakeParallelDraw(
BOOL_T track)
{
if (track) return FALSE;
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
ANGLE_T angle;
DIST_T rad;
- coOrd p0,p1;
+
+ DYNARR_SET(trkSeg_t, tempSegs_da, 1);
switch (xx->segs[0].type) {
case SEG_STRLIN:
- angle = FindAngle(xx->segs[0].u.l.pos[0],xx->segs[0].u.l.pos[1]);
+ angle = NormalizeAngle(FindAngle(xx->segs[0].u.l.pos[0],xx->segs[0].u.l.pos[1])+xx->angle);
if ( NormalizeAngle( FindAngle( xx->segs[0].u.l.pos[0], pos ) - angle ) < 180.0 )
angle += 90;
else
angle -= 90;
- Translate(&p0,xx->segs[0].u.l.pos[0], angle, sep);
- Translate(&p1,xx->segs[0].u.l.pos[1], angle, sep);
+ coOrd p0,p1;
+ REORIGIN(p0,xx->segs[0].u.l.pos[0],xx->angle,xx->orig);
+ REORIGIN(p1,xx->segs[0].u.l.pos[1],xx->angle,xx->orig);
+ Translate(&p0,p0, angle, sep);
+ Translate(&p1,p1, angle, sep);
tempSegs(0).color = xx->segs[0].color;
tempSegs(0).width = xx->segs[0].width;
tempSegs_da.cnt = 1;
@@ -1996,7 +2430,7 @@ static BOOL_T MakeParallelDraw(
tempSegs(0).u.l.pos[1] = p1;
if (newTrkR) {
*newTrkR = MakeDrawFromSeg( zero, 0.0, &tempSegs(0) );
- struct extraData * yy = GetTrkExtraData(*newTrkR);
+ struct extraDataDraw_t * yy = GET_EXTRA_DATA(*newTrkR, T_DRAW, extraDataDraw_t);
yy->lineType = xx->lineType;
}
@@ -2005,7 +2439,10 @@ static BOOL_T MakeParallelDraw(
return TRUE;
break;
case SEG_CRVLIN:
- rad = FindDistance( pos, xx->segs[0].u.c.center );
+ case SEG_FILCRCL:;
+ coOrd c;
+ REORIGIN(c, xx->segs[0].u.c.center, xx->angle, xx->orig);
+ rad = FindDistance( pos, c );
if ( rad > xx->segs[0].u.c.radius )
rad = xx->segs[0].u.c.radius + sep;
else
@@ -2014,13 +2451,13 @@ static BOOL_T MakeParallelDraw(
tempSegs(0).width = xx->segs[0].width;
tempSegs_da.cnt = 1;
tempSegs(0).type = SEG_CRVLIN;
- tempSegs(0).u.c.center = xx->segs[0].u.c.center;
+ tempSegs(0).u.c.center = c;
tempSegs(0).u.c.radius = rad;
- tempSegs(0).u.c.a0 = xx->segs[0].u.c.a0;
+ tempSegs(0).u.c.a0 = xx->segs[0].u.c.a0 + xx->angle;
tempSegs(0).u.c.a1 = xx->segs[0].u.c.a1;
if (newTrkR) {
*newTrkR = MakeDrawFromSeg( zero, 0.0, &tempSegs(0) );
- struct extraData * yy = GetTrkExtraData(*newTrkR);
+ struct extraDataDraw_t * yy = GET_EXTRA_DATA(*newTrkR, T_DRAW, extraDataDraw_t);
yy->lineType = xx->lineType;
}
if ( p0R ) PointOnCircle( p0R, xx->segs[0].u.c.center, rad, xx->segs[0].u.c.a0 );
@@ -2028,30 +2465,63 @@ static BOOL_T MakeParallelDraw(
return TRUE;
break;
case SEG_POLY:
- if (xx->segs[0].u.p.polyType != POLYLINE) return FALSE;
- int inx2;
+ case SEG_FILPOLY:
+ pos.x -= xx->orig.x;
+ pos.y -= xx->orig.y;
+ Rotate( &pos, zero, -xx->angle );
coOrd p = pos;
- angle = GetAngleSegs(1,&xx->segs[0],&p,NULL,NULL,NULL,&inx2,NULL);
+ int inx2;
+ angle = NormalizeAngle(GetAngleSegs(1,&xx->segs[0],&p,NULL,NULL,NULL,&inx2,NULL)+xx->angle);
if ( NormalizeAngle( FindAngle( p, pos ) - angle ) < 180.0 ) {
- sep = sep*1.0;
- angle += 90;
+ angle = +90.0;
} else {
- angle -= 90;
- sep = sep*1.0;
+ angle = -90.0;
}
tempSegs(0).color = xx->segs[0].color;
tempSegs(0).width = xx->segs[0].width;
tempSegs_da.cnt = 1;
tempSegs(0).type = SEG_POLY;
- tempSegs(0).u.p.polyType = POLYLINE;
+ tempSegs(0).u.p.polyType = xx->segs[0].type==SEG_POLY?xx->segs[0].u.p.polyType:POLYLINE;
tempSegs(0).u.p.pts = memdup( xx->segs[0].u.p.pts, xx->segs[0].u.p.cnt*sizeof (pts_t) );
tempSegs(0).u.p.cnt = xx->segs[0].u.p.cnt;
+ ANGLE_T a,b;
for (int i=0;i<xx->segs[0].u.p.cnt;i++) {
- Translate(&tempSegs(0).u.p.pts[i].pt,tempSegs(0).u.p.pts[i].pt,angle,sep);
+ REORIGIN(tempSegs(0).u.p.pts[i].pt,tempSegs(0).u.p.pts[i].pt,xx->angle, xx->orig);
+ }
+ for (int i=0;i<xx->segs[0].u.p.cnt;i++) {
+ if (xx->segs[0].u.p.polyType == POLYLINE) {
+ if (i==0) {
+ a = FindAngle(tempSegs(0).u.p.pts[0].pt,tempSegs(0).u.p.pts[1].pt);
+ b = 0;
+ } else if (i==xx->segs[0].u.p.cnt-1) {
+ a = NormalizeAngle(FindAngle(tempSegs(0).u.p.pts[i].pt,tempSegs(0).u.p.pts[i-1].pt)+180.0);
+ b = 0;
+ } else {
+ a = FindAngle(tempSegs(0).u.p.pts[i].pt,tempSegs(0).u.p.pts[i+1].pt);
+ b = DifferenceBetweenAngles(a,FindAngle(tempSegs(0).u.p.pts[i].pt,tempSegs(0).u.p.pts[i-1].pt)+180.0)/2;
+ a = a + b;
+ }
+ } else {
+ if (i==0) {
+ a = FindAngle(tempSegs(0).u.p.pts[i].pt,tempSegs(0).u.p.pts[i+1].pt);
+ b = DifferenceBetweenAngles(a,FindAngle(tempSegs(0).u.p.pts[i].pt,tempSegs(0).u.p.pts[xx->segs[0].u.p.cnt-1].pt)+180.0)/2;
+ a = a+b;
+ } else if (i==xx->segs[0].u.p.cnt-1) {
+ a = FindAngle(tempSegs(0).u.p.pts[i].pt,tempSegs(0).u.p.pts[0].pt);
+ b = DifferenceBetweenAngles(a,FindAngle(tempSegs(0).u.p.pts[i].pt,tempSegs(0).u.p.pts[i-1].pt)+180.0)/2;
+ a = a+b;
+ } else {
+ a = FindAngle(tempSegs(0).u.p.pts[i].pt,tempSegs(0).u.p.pts[i+1].pt);
+ b = DifferenceBetweenAngles(a,FindAngle(tempSegs(0).u.p.pts[i].pt,tempSegs(0).u.p.pts[i-1].pt)+180.0)/2;
+ a = a+b;
+ }
+ }
+
+ Translate(&tempSegs(0).u.p.pts[i].pt,tempSegs(0).u.p.pts[i].pt,a+angle,fabs(sep/cos(D2R(b))));
}
if (newTrkR) {
*newTrkR = MakeDrawFromSeg( zero, 0.0, &tempSegs(0) );
- struct extraData * yy = GetTrkExtraData(*newTrkR);
+ struct extraDataDraw_t * yy = GET_EXTRA_DATA(*newTrkR, T_DRAW, extraDataDraw_t);
yy->lineType = xx->lineType;
if (tempSegs(0).u.p.pts) MyFree(tempSegs(0).u.p.pts);
}
@@ -2078,7 +2548,7 @@ static trackCmd_t drawCmds = {
RescaleDraw,
NULL,
GetAngleDraw, /* getAngle */
- NULL, /* split */
+ SplitDraw, /* split */
NULL, /* traverse */
EnumerateDraw,
NULL, /* redraw */
@@ -2106,14 +2576,14 @@ static trackCmd_t drawCmds = {
EXPORT BOOL_T OnTableEdgeEndPt( track_p trk, coOrd * pos )
{
track_p trk1;
- struct extraData *xx;
+ struct extraDataDraw_t *xx;
coOrd pos1 = *pos;
ignoredTableEdge = trk;
if ((trk1 = OnTrack( &pos1, FALSE, FALSE )) != NULL &&
GetTrkType(trk1) == T_DRAW) {
ignoredTableEdge = NULL;
- xx = GetTrkExtraData(trk1);
+ xx = GET_EXTRA_DATA(trk1, T_DRAW, extraDataDraw_t);
if (xx->segCnt < 1)
return FALSE;
if (xx->segs[0].type == SEG_TBLEDGE) {
@@ -2132,11 +2602,11 @@ EXPORT BOOL_T OnTableEdgeEndPt( track_p trk, coOrd * pos )
EXPORT BOOL_T GetClosestEndPt( track_p trk, coOrd * pos)
{
- struct extraData *xx;
+ struct extraDataDraw_t *xx;
if (GetTrkType(trk) == T_DRAW) {
ignoredTableEdge = NULL;
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
if (xx->segCnt < 1)
return FALSE;
DIST_T dd0,dd1;
@@ -2176,7 +2646,7 @@ EXPORT BOOL_T GetClosestEndPt( track_p trk, coOrd * pos)
Rotate(&p1,xx->orig,xx->angle);
} else if (GetTrkType(trk) == T_BZRLIN) {
coOrd p0,p1;
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
p0 = xx->segs[0].u.b.pos[0];
p1 = xx->segs[0].u.b.pos[3];
dd0 = FindDistance(p00,p0);
@@ -2212,38 +2682,38 @@ static wDrawColor benchColor;
static paramData_t drawPLs[] = {
#define drawLineWidthPD (drawPLs[0])
- { PD_LONG, &drawCmdContext.line_Width, "linewidth", PDO_NORECORD, &i0_100, N_("Line Width") },
+ { PD_LONG, &drawCmdContext.line_Width, "linewidth", PDO_NORECORD, &i100_100, N_("Line Width") },
#define drawColorPD (drawPLs[1])
{ PD_COLORLIST, &lineColor, "linecolor", PDO_NORECORD, NULL, N_("Color") },
#define drawBenchColorPD (drawPLs[2])
{ PD_COLORLIST, &benchColor, "benchcolor", PDO_NORECORD, NULL, N_("Color") },
#define drawBenchChoicePD (drawPLs[3])
#ifdef WINDOWS
- { PD_DROPLIST, &benchChoice, "benchlist", PDO_NOPREF|PDO_NORECORD|PDO_LISTINDEX, (void*)120, N_("Lumber Type") },
+ { PD_DROPLIST, &benchChoice, "benchlist", PDO_NOPREF|PDO_NORECORD|PDO_LISTINDEX, I2VP(120), N_("Lumber Type") },
#else
- { PD_DROPLIST, &benchChoice, "benchlist", PDO_NOPREF|PDO_NORECORD|PDO_LISTINDEX, (void*)145, N_("Lumber Type") },
+ { PD_DROPLIST, &benchChoice, "benchlist", PDO_NOPREF|PDO_NORECORD|PDO_LISTINDEX, I2VP(145), N_("Lumber Type") },
#endif
#define drawBenchOrientPD (drawPLs[4])
#ifdef WINDOWS
- { PD_DROPLIST, &benchOrient, "benchorient", PDO_NOPREF|PDO_NORECORD|PDO_LISTINDEX, (void*)45, "", 0 },
+ { PD_DROPLIST, &benchOrient, "benchorient", PDO_NOPREF|PDO_NORECORD|PDO_LISTINDEX, I2VP(45), "", 0 },
#else
- { PD_DROPLIST, &benchOrient, "benchorient", PDO_NOPREF|PDO_NORECORD|PDO_LISTINDEX, (void*)105, "", 0 },
+ { PD_DROPLIST, &benchOrient, "benchorient", PDO_NOPREF|PDO_NORECORD|PDO_LISTINDEX, I2VP(105), "", 0 },
#endif
#define drawDimArrowSizePD (drawPLs[5])
- { PD_DROPLIST, &dimArrowSize, "arrowsize", PDO_NORECORD|PDO_LISTINDEX, (void*)80, N_("Size") },
+ { PD_DROPLIST, &dimArrowSize, "arrowsize", PDO_NORECORD|PDO_LISTINDEX, I2VP(80), N_("Size") },
#define drawLengthPD (drawPLs[6])
- { PD_FLOAT, &drawCmdContext.length, "Length", PDO_DIM|PDO_NORECORD|BO_ENTER, &r0_10000, N_("Length") },
+ { PD_FLOAT, &drawCmdContext.length, "length", PDO_DIM|PDO_NORECORD|BO_ENTER, &r0_10000, N_("Length") },
#define drawWidthPD (drawPLs[7])
- { PD_FLOAT, &drawCmdContext.width, "BoxWidth", PDO_DIM|PDO_NORECORD|BO_ENTER, &r0_10000, N_("Width") },
+ { PD_FLOAT, &drawCmdContext.width, "width", PDO_DIM|PDO_NORECORD|BO_ENTER, &r0_10000, N_("Width") },
#define drawAnglePD (drawPLs[8])
#define drawAngleInx 8
- { PD_FLOAT, &drawCmdContext.angle, "Angle", PDO_NORECORD|BO_ENTER, &r360_360, N_("Angle") },
+ { PD_FLOAT, &drawCmdContext.angle, "angle", PDO_NORECORD|BO_ENTER, &r360_360, N_("Angle") },
#define drawRadiusPD (drawPLs[9])
- { PD_FLOAT, &drawCmdContext.radius, "Radius", PDO_DIM|PDO_NORECORD|BO_ENTER, &r0_10000, N_("Radius") },
+ { PD_FLOAT, &drawCmdContext.radius, "radius", PDO_DIM|PDO_NORECORD|BO_ENTER, &r0_10000, N_("Radius") },
#define drawLineTypePD (drawPLs[10])
- { PD_DROPLIST, &drawCmdContext.lineType, "Type", PDO_DIM|PDO_NORECORD|BO_ENTER, (void*)0, N_("Line Type") },
+ { PD_DROPLIST, &drawCmdContext.lineType, "type", PDO_DIM|PDO_NORECORD|BO_ENTER, I2VP(0), N_("Line Type") },
};
-static paramGroup_t drawPG = { "draw", 0, drawPLs, sizeof drawPLs/sizeof drawPLs[0] };
+static paramGroup_t drawPG = { "draw", 0, drawPLs, COUNT( drawPLs ) };
static char * objectName[] = {
N_("Straight"),
@@ -2289,12 +2759,13 @@ static STATUS_T CmdDraw( wAction_t action, coOrd pos )
drawBenchChoicePD.option |= PDO_NORECORD;
drawBenchOrientPD.option |= PDO_NORECORD;
drawDimArrowSizePD.option |= PDO_NORECORD;
- drawCmdContext.Op = (wIndex_t)(long)commandContext;
+ drawCmdContext.Op = (wIndex_t)VP2L(commandContext);
if ( drawCmdContext.Op < 0 || drawCmdContext.Op > OP_LAST ) {
NoticeMessage( "cmdDraw: Op %d", _("Ok"), NULL, drawCmdContext.Op );
drawCmdContext.Op = OP_LINE;
}
- /*DrawGeomOp( (void*)(drawCmdContext.Op>=0?drawCmdContext.Op:OP_LINE) );*/
+ SetAllTrackSelect( FALSE );
+ /*DrawGeomOp( (drawCmdContext.Op>=0?drawCmdContext.Op:OP_LINE) );*/
infoSubst = TRUE;
switch( drawCmdContext.Op ) {
case OP_LINE:
@@ -2352,7 +2823,7 @@ static STATUS_T CmdDraw( wAction_t action, coOrd pos )
BenchLoadLists( (wList_p)drawBenchChoicePD.control, (wList_p)drawBenchOrientPD.control );
ParamLoadControls( &drawPG );
- BenchUpdateOrientationList( (long)wListGetItemContext( (wList_p)drawBenchChoicePD.control, benchChoice ), (wList_p)drawBenchOrientPD.control );
+ BenchUpdateOrientationList( VP2L(wListGetItemContext( (wList_p)drawBenchChoicePD.control, benchChoice )), (wList_p)drawBenchOrientPD.control );
wListSetIndex( (wList_p)drawBenchOrientPD.control, benchOrient );
InfoSubstituteControls( controls, labels );
drawBenchColorPD.option &= ~PDO_NORECORD;
@@ -2393,7 +2864,7 @@ static STATUS_T CmdDraw( wAction_t action, coOrd pos )
return CmdBezCurve(act2, pos);
}
if ( drawCmdContext.Op == OP_BENCH ) {
- drawCmdContext.benchOption = GetBenchData( (long)wListGetItemContext((wList_p)drawBenchChoicePD.control, benchChoice ), benchOrient );
+ drawCmdContext.benchOption = GetBenchData( VP2L(wListGetItemContext((wList_p)drawBenchChoicePD.control, benchChoice )), benchOrient );
drawCmdContext.Color = benchColor;
} else if ( drawCmdContext.Op == OP_DIMLINE ) {
@@ -2416,19 +2887,14 @@ static STATUS_T CmdDraw( wAction_t action, coOrd pos )
case wActionRDown:
case wActionRDrag:
if (drawCmdContext.Op == OP_BEZLIN) return CmdBezCurve(act2, pos);
- if (!((MyGetKeyState() & WKEY_ALT) != magneticSnap)) {
- SnapPos( &pos );
- }
return DrawGeomMouse( action, pos, &drawCmdContext);
case wActionLUp:
case wActionRUp:
if (drawCmdContext.Op == OP_BEZLIN) return CmdBezCurve(act2, pos);
- //if (!((MyGetKeyState() & WKEY_SHIFT) != 0)) {
- // SnapPos( &pos ); Remove Snap at end of action - it will have been imposed in Geom if needed
- //}
+ drawCmdContext.show = TRUE;
int rc = DrawGeomMouse( action, pos, &drawCmdContext);
// Put up text entry boxes ready for updates if the result was continue
- if (rc == C_CONTINUE) {
+ if (rc == C_CONTINUE && drawCmdContext.show) {
switch( drawCmdContext.Op ) {
case OP_CIRCLE1:
case OP_CIRCLE2:
@@ -2519,8 +2985,9 @@ static STATUS_T CmdDraw( wAction_t action, coOrd pos )
case C_OK:
if (drawCmdContext.Op == OP_BEZLIN) return CmdBezCurve(act2, pos);
return DrawGeomMouse( (0x0D<<8|wActionText), pos, &drawCmdContext);
-
- /*DrawOk( NULL );*/
+ case C_CONFIRM:
+ if (drawCmdContext.Op == OP_BEZLIN) return CmdBezCurve(act2, pos);
+ return DrawGeomMouse( (0x0D<<8|wActionText), pos, &drawCmdContext);
case C_FINISH:
if (drawCmdContext.Op == OP_BEZLIN) return CmdBezCurve(act2, pos);
@@ -2540,29 +3007,32 @@ static STATUS_T CmdDraw( wAction_t action, coOrd pos )
}
}
-#include "bitmaps/dline.xpm"
-#include "bitmaps/ddimlin.xpm"
-#include "bitmaps/dbench.xpm"
-#include "bitmaps/dtbledge.xpm"
-#include "bitmaps/dcurve1.xpm"
-#include "bitmaps/dcurve2.xpm"
-#include "bitmaps/dcurve3.xpm"
-#include "bitmaps/dcurve4.xpm"
+#include "bitmaps/straight-line.xpm"
+#include "bitmaps/dimension.xpm"
+#include "bitmaps/benchwork.xpm"
+#include "bitmaps/table-edge.xpm"
+
+#include "bitmaps/curved-line-end.xpm"
+#include "bitmaps/curved-line-tangent.xpm"
+#include "bitmaps/curved-line-middle.xpm"
+#include "bitmaps/curved-line-chord.xpm"
+
/*#include "bitmaps/dcircle1.xpm"*/
-#include "bitmaps/dcircle2.xpm"
-#include "bitmaps/dcircle3.xpm"
+#include "bitmaps/circle-line-center.xpm"
+#include "bitmaps/circle-line-tangent.xpm"
/*#include "bitmaps/dflcrcl1.xpm"*/
-#include "bitmaps/dflcrcl2.xpm"
-#include "bitmaps/dflcrcl3.xpm"
-#include "bitmaps/dbox.xpm"
-#include "bitmaps/dfilbox.xpm"
-#include "bitmaps/dpoly.xpm"
-#include "bitmaps/dfilpoly.xpm"
-#include "bitmaps/dbezier.xpm"
-#include "bitmaps/dpolyline.xpm"
+#include "bitmaps/circle-filled-center.xpm"
+#include "bitmaps/circle-filled-tangent.xpm"
+
+#include "bitmaps/box.xpm"
+#include "bitmaps/filled-box.xpm"
+#include "bitmaps/polygon.xpm"
+#include "bitmaps/filled-polygon.xpm"
+#include "bitmaps/bezier-line.xpm"
+#include "bitmaps/polyline.xpm"
typedef struct {
- char **xpm;
+ char ***xpm;
int OP;
char * shortName;
char * cmdName;
@@ -2571,29 +3041,29 @@ typedef struct {
} drawData_t;
static drawData_t dlineCmds[] = {
- { dline_xpm, OP_LINE, N_("Line"), N_("Draw Line"), "cmdDrawLine", ACCL_DRAWLINE },
- { ddimlin_xpm, OP_DIMLINE, N_("Dimension Line"), N_("Draw Dimension Line"), "cmdDrawDimLine", ACCL_DRAWDIMLINE },
- { dbench_xpm, OP_BENCH, N_("Benchwork"), N_("Draw Benchwork"), "cmdDrawBench", ACCL_DRAWBENCH },
- { dtbledge_xpm, OP_TBLEDGE, N_("Table Edge"), N_("Draw Table Edge"), "cmdDrawTableEdge", ACCL_DRAWTBLEDGE } };
+ { straight_line_xpm, OP_LINE, N_("Line"), N_("Draw Line"), "cmdDrawLine", ACCL_DRAWLINE },
+ { dimension_xpm, OP_DIMLINE, N_("Dimension Line"), N_("Draw Dimension Line"), "cmdDrawDimLine", ACCL_DRAWDIMLINE },
+ { benchwork_xpm, OP_BENCH, N_("Benchwork"), N_("Draw Benchwork"), "cmdDrawBench", ACCL_DRAWBENCH },
+ { table_edge_xpm, OP_TBLEDGE, N_("Table Edge"), N_("Draw Table Edge"), "cmdDrawTableEdge", ACCL_DRAWTBLEDGE } };
static drawData_t dcurveCmds[] = {
- { dcurve1_xpm, OP_CURVE1, N_("Curve End"), N_("Draw Curve from End"), "cmdDrawCurveEndPt", ACCL_DRAWCURVE1 },
- { dcurve2_xpm, OP_CURVE2, N_("Curve Tangent"), N_("Draw Curve from Tangent"), "cmdDrawCurveTangent", ACCL_DRAWCURVE2 },
- { dcurve3_xpm, OP_CURVE3, N_("Curve Center"), N_("Draw Curve from Center"), "cmdDrawCurveCenter", ACCL_DRAWCURVE3 },
- { dcurve4_xpm, OP_CURVE4, N_("Curve Chord"), N_("Draw Curve from Chord"), "cmdDrawCurveChord", ACCL_DRAWCURVE4 },
- { dbezier_xpm, OP_BEZLIN, N_("Bezier Curve"), N_("Draw Bezier"), "cmdDrawBezierCurve", ACCL_DRAWBEZLINE } };
+ { curved_line_end_xpm, OP_CURVE1, N_("Curve End"), N_("Draw Curve from End"), "cmdDrawCurveEndPt", ACCL_DRAWCURVE1 },
+ { curved_line_tangent_xpm, OP_CURVE2, N_("Curve Tangent"), N_("Draw Curve from Tangent"), "cmdDrawCurveTangent", ACCL_DRAWCURVE2 },
+ { curved_line_middle_xpm, OP_CURVE3, N_("Curve Center"), N_("Draw Curve from Center"), "cmdDrawCurveCenter", ACCL_DRAWCURVE3 },
+ { curved_line_chord_xpm, OP_CURVE4, N_("Curve Chord"), N_("Draw Curve from Chord"), "cmdDrawCurveChord", ACCL_DRAWCURVE4 },
+ { bezier_line_xpm, OP_BEZLIN, N_("Bezier Curve"), N_("Draw Bezier"), "cmdDrawBezierCurve", ACCL_DRAWBEZLINE } };
static drawData_t dcircleCmds[] = {
/*{ dcircle1_xpm, OP_CIRCLE1, "Circle Fixed Radius", "Draw Fixed Radius Circle", "cmdDrawCircleFixedRadius", ACCL_DRAWCIRCLE1 },*/
- { dcircle3_xpm, OP_CIRCLE3, N_("Circle Tangent"), N_("Draw Circle from Tangent"), "cmdDrawCircleTangent", ACCL_DRAWCIRCLE2 },
- { dcircle2_xpm, OP_CIRCLE2, N_("Circle Center"), N_("Draw Circle from Center"), "cmdDrawCircleCenter", ACCL_DRAWCIRCLE3 },
+ { circle_line_center_xpm, OP_CIRCLE3, N_("Circle Center"), N_("Draw Circle from Center"), "cmdDrawCircleCenter", ACCL_DRAWCIRCLE2 },
+ { circle_line_tangent_xpm, OP_CIRCLE2, N_("Circle Tangent"), N_("Draw Circle from Tangent"), "cmdDrawCircleTangent", ACCL_DRAWCIRCLE3 },
/*{ dflcrcl1_xpm, OP_FILLCIRCLE1, "Circle Filled Fixed Radius", "Draw Fixed Radius Filled Circle", "cmdDrawFilledCircleFixedRadius", ACCL_DRAWFILLCIRCLE1 },*/
- { dflcrcl3_xpm, OP_FILLCIRCLE3, N_("Circle Filled Tangent"), N_("Draw Filled Circle from Tangent"), "cmdDrawFilledCircleTangent", ACCL_DRAWFILLCIRCLE2 },
- { dflcrcl2_xpm, OP_FILLCIRCLE2, N_("Circle Filled Center"), N_("Draw Filled Circle from Center"), "cmdDrawFilledCircleCenter", ACCL_DRAWFILLCIRCLE3 } };
+ { circle_filled_center_xpm, OP_FILLCIRCLE3, N_("Circle Filled Center"), N_("Draw Filled Circle from Center"), "cmdDrawFilledCircleCenter", ACCL_DRAWFILLCIRCLE2 },
+ { circle_filled_tangent_xpm, OP_FILLCIRCLE2, N_("Circle Filled Tangent"), N_("Draw Filled Circle from Tangent"), "cmdDrawFilledCircleTangent", ACCL_DRAWFILLCIRCLE3 } };
static drawData_t dshapeCmds[] = {
- { dbox_xpm, OP_BOX, N_("Box"), N_("Draw Box"), "cmdDrawBox", ACCL_DRAWBOX },
- { dfilbox_xpm, OP_FILLBOX, N_("Filled Box"), N_("Draw Filled Box"), "cmdDrawFilledBox", ACCL_DRAWFILLBOX },
- { dpoly_xpm, OP_POLY, N_("Polygon"), N_("Draw Polygon"), "cmdDrawPolygon", ACCL_DRAWPOLY },
- { dfilpoly_xpm, OP_FILLPOLY, N_("Filled Polygon"), N_("Draw Filled Polygon"), "cmdDrawFilledPolygon", ACCL_DRAWFILLPOLYGON },
- { dpolyline_xpm, OP_POLYLINE, N_("PolyLine"), N_("Draw PolyLine"), "cmdDrawPolyline", ACCL_DRAWPOLYLINE },
+ { box_xpm, OP_BOX, N_("Box"), N_("Draw Box"), "cmdDrawBox", ACCL_DRAWBOX },
+ { filled_box_xpm, OP_FILLBOX, N_("Filled Box"), N_("Draw Filled Box"), "cmdDrawFilledBox", ACCL_DRAWFILLBOX },
+ { polygon_xpm, OP_POLY, N_("Polygon"), N_("Draw Polygon"), "cmdDrawPolygon", ACCL_DRAWPOLY },
+ { filled_polygon_xpm, OP_FILLPOLY, N_("Filled Polygon"), N_("Draw Filled Polygon"), "cmdDrawFilledPolygon", ACCL_DRAWFILLPOLYGON },
+ { polyline_xpm, OP_POLYLINE, N_("PolyLine"), N_("Draw PolyLine"), "cmdDrawPolyline", ACCL_DRAWPOLYLINE },
};
typedef struct {
@@ -2692,7 +3162,7 @@ static void DrawDlgUpdate(
}
if ( inx >= 0 && pg->paramPtr[inx].valueP == &benchChoice )
- BenchUpdateOrientationList( (long)wListGetItemContext( (wList_p)drawBenchChoicePD.control, (wIndex_t)*(long*)valueP ), (wList_p)drawBenchOrientPD.control );
+ BenchUpdateOrientationList( VP2L(wListGetItemContext( (wList_p)drawBenchChoicePD.control, (wIndex_t)*(long*)valueP )), (wList_p)drawBenchOrientPD.control );
}
EXPORT void InitCmdDraw( wMenu_p menu )
@@ -2714,8 +3184,8 @@ EXPORT void InitCmdDraw( wMenu_p menu )
ButtonGroupBegin( _(dsp->menuTitle), dsp->helpKey, _(dsp->stickyLabel) );
for ( inx2=0; inx2<dsp->cnt; inx2++ ) {
ddp = &dsp->data[inx2];
- icon = wIconCreatePixMap( ddp->xpm );
- AddMenuButton( menu, CmdDraw, ddp->helpKey, _(ddp->cmdName), icon, LEVEL0_50, IC_STICKY|IC_POPUP2|IC_WANT_MOVE, ddp->acclKey, (void *)(intptr_t)ddp->OP );
+ icon = wIconCreatePixMap( ddp->xpm[iconSize] );
+ AddMenuButton( menu, CmdDraw, ddp->helpKey, _(ddp->cmdName), icon, LEVEL0_50, IC_STICKY|IC_POPUP2|IC_WANT_MOVE, ddp->acclKey, I2VP(ddp->OP) );
}
ButtonGroupEnd();
}
@@ -2772,13 +3242,13 @@ EXPORT track_p NewText(
tempSeg.type = SEG_TEXT;
tempSeg.color = color;
tempSeg.width = 0;
- tempSeg.u.t.pos = zero;
+ tempSeg.u.t.pos = pos;
tempSeg.u.t.angle = angle;
tempSeg.u.t.fontP = NULL;
tempSeg.u.t.fontSize = textSize;
tempSeg.u.t.string = MyStrdup( text );
tempSeg.u.t.boxed = boxed;
- trk = MakeDrawFromSeg1( index, pos, angle, &tempSeg );
+ trk = MakeDrawFromSeg1( index, zero, 0.0, &tempSeg );
return trk;
}
@@ -2809,7 +3279,9 @@ EXPORT BOOL_T ReadText( char * line )
return TRUE;
}
-void MenuMode(int mode) {
+void MenuMode(void * modeVP )
+{
+ int mode = (int)VP2L(modeVP);
if ( infoSubst ) {
InfoSubstituteControls( NULL, NULL );
infoSubst = FALSE;
@@ -2823,7 +3295,9 @@ void MenuMode(int mode) {
}
}
-void MenuEnter(int key) {
+void MenuEnter( void * keyVP )
+{
+ int key = (int)VP2L(keyVP);
int action;
action = C_TEXT;
action |= key<<8;
@@ -2833,8 +3307,10 @@ void MenuEnter(int key) {
DrawGeomModify(action,zero,&drawModCmdContext);
}
-void MenuLine(int key) {
- struct extraData * xx = GetTrkExtraData(drawModCmdContext.trk);
+void MenuLine( void * keyVP )
+{
+ int key = (int)VP2L(keyVP);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(drawModCmdContext.trk, T_DRAW, extraDataDraw_t);
if ( drawModCmdContext.type==SEG_STRLIN || drawModCmdContext.type==SEG_CRVLIN || drawModCmdContext.type==SEG_POLY ) {
switch(key) {
case '0':
@@ -2865,7 +3341,7 @@ void MenuLine(int key) {
EXPORT void SetLineType( track_p trk, int width ) {
if (QueryTrack(trk, Q_IS_DRAW)) {
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataDraw_t * xx = GET_EXTRA_DATA(trk, T_DRAW, extraDataDraw_t);
if ( xx->segs[0].type==SEG_STRLIN || xx->segs[0].type==SEG_CRVLIN || xx->segs[0].type==SEG_POLY) {
switch(width) {
case 0:
@@ -2901,29 +3377,29 @@ EXPORT void InitTrkDraw( void )
AddParam( "TEXT", ReadText );
drawModDelMI = MenuRegister( "Modify Draw Edit Menu" );
- drawModClose = wMenuPushCreate( drawModDelMI, "", _("Close Polygon - 'g'"), 0, (wMenuCallBack_p)MenuEnter, (void*) 'g');
- drawModOpen = wMenuPushCreate( drawModDelMI, "", _("Make PolyLine - 'l'"), 0, (wMenuCallBack_p)MenuEnter, (void*) 'l');
- drawModFill = wMenuPushCreate( drawModDelMI, "", _("Fill Polygon - 'f'"), 0, (wMenuCallBack_p)MenuEnter, (void*) 'f');
- drawModEmpty = wMenuPushCreate( drawModDelMI, "", _("Empty Polygon - 'u'"), 0, (wMenuCallBack_p)MenuEnter, (void*) 'u');
+ drawModClose = wMenuPushCreate( drawModDelMI, "", _("Close Polygon - 'g'"), 0, MenuEnter, I2VP( 'g'));
+ drawModOpen = wMenuPushCreate( drawModDelMI, "", _("Make PolyLine - 'l'"), 0, MenuEnter, I2VP( 'l'));
+ drawModFill = wMenuPushCreate( drawModDelMI, "", _("Fill Polygon - 'f'"), 0, MenuEnter, I2VP( 'f'));
+ drawModEmpty = wMenuPushCreate( drawModDelMI, "", _("Empty Polygon - 'u'"), 0, MenuEnter, I2VP( 'u'));
wMenuSeparatorCreate( drawModDelMI );
- drawModPointsMode = wMenuPushCreate( drawModDelMI, "", _("Points Mode - 'p'"), 0, (wMenuCallBack_p)MenuMode, (void*) 0 );
- drawModDel = wMenuPushCreate( drawModDelMI, "", _("Delete Selected Point - 'Del'"), 0, (wMenuCallBack_p)MenuEnter, (void*) 127 );
- drawModVertex = wMenuPushCreate( drawModDelMI, "", _("Vertex Point - 'v'"), 0, (wMenuCallBack_p)MenuEnter, (void*) 'v' );
- drawModRound = wMenuPushCreate( drawModDelMI, "", _("Round Corner - 'r'"), 0, (wMenuCallBack_p)MenuEnter, (void*) 'r' );
- drawModSmooth = wMenuPushCreate( drawModDelMI, "", _("Smooth Corner - 's'"), 0, (wMenuCallBack_p)MenuEnter, (void*) 's' );
+ drawModPointsMode = wMenuPushCreate( drawModDelMI, "", _("Points Mode - 'p'"), 0, MenuMode, I2VP( 0 ));
+ drawModDel = wMenuPushCreate( drawModDelMI, "", _("Delete Selected Point - 'Del'"), 0, MenuEnter, I2VP( 127 ));
+ drawModVertex = wMenuPushCreate( drawModDelMI, "", _("Vertex Point - 'v'"), 0, MenuEnter, I2VP( 'v' ));
+ drawModRound = wMenuPushCreate( drawModDelMI, "", _("Round Corner - 'r'"), 0, MenuEnter, I2VP( 'r' ));
+ drawModSmooth = wMenuPushCreate( drawModDelMI, "", _("Smooth Corner - 's'"), 0, MenuEnter, I2VP( 's' ));
wMenuSeparatorCreate( drawModDelMI );
drawModLinMI = wMenuMenuCreate( drawModDelMI, "", _("LineType...") );
- drawModSolid = wMenuPushCreate( drawModLinMI, "", _("Solid Line"), 0, (wMenuCallBack_p)MenuLine, (void*) '0' );
- drawModDot = wMenuPushCreate( drawModLinMI, "", _("Dashed Line"), 0, (wMenuCallBack_p)MenuLine, (void*) '1' );
- drawModDash = wMenuPushCreate( drawModLinMI, "", _("Dotted Line"), 0, (wMenuCallBack_p)MenuLine, (void*) '2' );
- drawModDashDot = wMenuPushCreate( drawModLinMI, "", _("Dash-Dot Line"), 0, (wMenuCallBack_p)MenuLine, (void*) '3' );
- drawModDashDotDot = wMenuPushCreate( drawModLinMI, "", _("Dash-Dot-Dot Line"), 0, (wMenuCallBack_p)MenuLine, (void*) '4' );
- drawModCenterDot = wMenuPushCreate( drawModLinMI, "", _("Center-Dot Line"), 0, (wMenuCallBack_p)MenuLine, (void*) '5' );
- drawModPhantom = wMenuPushCreate( drawModLinMI, "", _("Phantom-Dot Line"), 0, (wMenuCallBack_p)MenuLine, (void*) '6' );
+ drawModSolid = wMenuPushCreate( drawModLinMI, "", _("Solid Line"), 0, MenuLine, I2VP( '0' ));
+ drawModDot = wMenuPushCreate( drawModLinMI, "", _("Dashed Line"), 0, MenuLine, I2VP( '1' ));
+ drawModDash = wMenuPushCreate( drawModLinMI, "", _("Dotted Line"), 0, MenuLine, I2VP( '2' ));
+ drawModDashDot = wMenuPushCreate( drawModLinMI, "", _("Dash-Dot Line"), 0, MenuLine, I2VP( '3' ));
+ drawModDashDotDot = wMenuPushCreate( drawModLinMI, "", _("Dash-Dot-Dot Line"), 0, MenuLine, I2VP( '4' ));
+ drawModCenterDot = wMenuPushCreate( drawModLinMI, "", _("Center-Dot Line"), 0, MenuLine, I2VP( '5' ));
+ drawModPhantom = wMenuPushCreate( drawModLinMI, "", _("Phantom-Dot Line"), 0, MenuLine, I2VP( '6' ));
wMenuSeparatorCreate( drawModDelMI );
- drawModriginMode = wMenuPushCreate( drawModDelMI, "", _("Origin Mode - 'o'"), 0, (wMenuCallBack_p)MenuMode, (void*) 1 );
- drawModOrigin = wMenuPushCreate( drawModDelMI, "", _("Reset Origin - '0'"), 0, (wMenuCallBack_p)MenuEnter, (void*) '0' );
- drawModLast = wMenuPushCreate( drawModDelMI, "", _("Origin to Selected - 'l'"), 0, (wMenuCallBack_p)MenuEnter, (void*) 'l' );
- drawModCenter = wMenuPushCreate( drawModDelMI, "", _("Origin to Middle - 'm'"), 0, (wMenuCallBack_p)MenuEnter, (void*) 'm');
+ drawModriginMode = wMenuPushCreate( drawModDelMI, "", _("Origin Mode - 'o'"), 0, MenuMode, I2VP( 1 ));
+ drawModOrigin = wMenuPushCreate( drawModDelMI, "", _("Reset Origin - '0'"), 0, MenuEnter, I2VP( '0' ));
+ drawModLast = wMenuPushCreate( drawModDelMI, "", _("Origin to Selected - 'l'"), 0, MenuEnter, I2VP( 'l' ));
+ drawModCenter = wMenuPushCreate( drawModDelMI, "", _("Origin to Middle - 'm'"), 0, MenuEnter, I2VP( 'm'));
}
diff --git a/app/bin/celev.c b/app/bin/celev.c
index 1da4b22..b80874f 100644
--- a/app/bin/celev.c
+++ b/app/bin/celev.c
@@ -19,18 +19,14 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
-#include <string.h>
#include "cselect.h"
#include "cundo.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
#include "param.h"
#include "track.h"
#include "ccurve.h"
-#include "utility.h"
static wWin_p elevW;
@@ -53,12 +49,12 @@ static paramData_t elevationPLs[] = {
#define I_HEIGHT (1)
{ PD_FLOAT, &elevHeightV, "value", PDO_DIM|PDO_DLGNEWCOLUMN, &r_1000_1000 },
#define I_COMPUTED (2)
- { PD_MESSAGE, NULL, "computed", 0, (void*)80 },
+ { PD_MESSAGE, NULL, "computed", 0, I2VP(80) },
#define I_GRADE (3)
- { PD_MESSAGE, NULL, "grade", 0, (void*)80 },
+ { PD_MESSAGE, NULL, "grade", 0, I2VP(80) },
#define I_STATION (4)
- { PD_STRING, elevStationV, "station", PDO_DLGUNDERCMDBUTT|PDO_STRINGLIMITLENGTH, (void*)200, NULL, 0, 0, sizeof(elevStationV)} };
-static paramGroup_t elevationPG = { "elev", 0, elevationPLs, sizeof elevationPLs/sizeof elevationPLs[0] };
+ { PD_STRING, elevStationV, "station", PDO_DLGUNDERCMDBUTT|PDO_STRINGLIMITLENGTH, I2VP(200), NULL, 0, 0, sizeof(elevStationV)} };
+static paramGroup_t elevationPG = { "elev", 0, elevationPLs, COUNT( elevationPLs ) };
static dynArr_t anchors_da;
#define anchors(N) DYNARR_N(trkSeg_t,anchors_da,N)
@@ -129,14 +125,14 @@ void static CreateMoveAnchor(coOrd pos) {
static void LayoutElevW(
paramData_t * pd,
int inx,
- wPos_t colX,
- wPos_t * x,
- wPos_t * y )
+ wWinPix_t colX,
+ wWinPix_t * x,
+ wWinPix_t * y )
{
- static wPos_t h = 0;
+ static wWinPix_t h = 0;
switch ( inx ) {
case I_HEIGHT:
- h = wControlGetHeight( elevationPLs[I_MODE].control )/((sizeof elevModeLabels/sizeof elevModeLabels[0])-1);
+ h = wControlGetHeight( elevationPLs[I_MODE].control )/(COUNT( elevModeLabels )-1);
#ifndef WINDOWS
h += 3;
#endif
@@ -243,7 +239,6 @@ static void ElevSelect( track_p trk, EPINX_T ep )
int mode;
DIST_T elevX, grade, elev, dist;
long radio;
- BOOL_T computedOk;
BOOL_T gradeOk = TRUE;
track_p trk1;
EPINX_T ep1;
@@ -296,69 +291,55 @@ static void ElevSelect( track_p trk, EPINX_T ep )
elevModeV = radio;
ParamLoadControl( &elevationPG, I_MODE );
gradeOk = ComputeElev( trk, ep, FALSE, &elevX, &grade, TRUE );
- computedOk = TRUE;
- if (oldElevationEvaluation || computedOk) {
- sprintf( message, "%0.2f%s", round(PutDim( elevX )*100.0)/100.0, (units==UNITS_METRIC?"cm":"\"") );
- ParamLoadMessage( &elevationPG, I_COMPUTED, message );
- if (gradeOk) {
- sprintf( message, "%0.1f%%", fabs(round(grade*1000.0)/10.0) );
- } else {
- if ( EndPtIsDefinedElev(trk,ep) ) {
- elev = GetElevation(trk);
- dist = GetTrkLength(trk,ep,-1);
+ sprintf( message, "%0.2f%s", round(PutDim( elevX )*100.0)/100.0, (units==UNITS_METRIC?"cm":"\"") );
+ ParamLoadMessage( &elevationPG, I_COMPUTED, message );
+ if (gradeOk) {
+ sprintf( message, "%0.1f%%", fabs(round(grade*1000.0)/10.0) );
+ } else {
+ if ( EndPtIsDefinedElev(trk,ep) ) {
+ elev = GetElevation(trk);
+ dist = GetTrkLength(trk,ep,-1);
+ if (dist>0.1)
+ sprintf( message, "%0.1f%%", fabs(round(((elev-elevX)/dist)*1000.0))/10.0 );
+ else
+ sprintf( message, _("Undefined") );
+ if ( (trk1=GetTrkEndTrk(trk,ep)) && (ep1=GetEndPtConnectedToMe(trk1,trk))>=0 ) {
+ elev = GetElevation(trk1);
+ dist = GetTrkLength(trk1,ep1,-1);
if (dist>0.1)
- sprintf( message, "%0.1f%%", fabs(round((elev-elevX)/dist)*1000.0)/10.0 );
+ sprintf( message+strlen(message), " - %0.1f%%", fabs(round(((elev-elevX)/dist)*1000.0))/10.0 );
else
- sprintf( message, _("Undefined") );
- if ( (trk1=GetTrkEndTrk(trk,ep)) && (ep1=GetEndPtConnectedToMe(trk1,trk))>=0 ) {
- elev = GetElevation(trk1);
- dist = GetTrkLength(trk1,ep1,-1);
- if (dist>0.1)
- sprintf( message+strlen(message), " - %0.1f%%", fabs(round((elev-elevX)/dist)*1000.0)/10.0 );
- else
- sprintf( message+strlen(message), " - %s", _("Undefined") );
- }
- } else {
- strcpy( message, _("Undefined") );
+ sprintf( message+strlen(message), " - %s", _("Undefined") );
}
- }
- ParamLoadMessage( &elevationPG, I_GRADE, message );
- if ( (mode&ELEV_MASK)!=ELEV_DEF ) {
- elevHeightV = elevX;
- ParamLoadControl( &elevationPG, I_HEIGHT );
+ } else {
+ strcpy( message, _("Undefined") );
}
}
+ ParamLoadMessage( &elevationPG, I_GRADE, message );
+ if ( (mode&ELEV_MASK)!=ELEV_DEF ) {
+ elevHeightV = elevX;
+ ParamLoadControl( &elevationPG, I_HEIGHT );
+ }
wShow(elevW);
}
static BOOL_T GetPointElev(track_p trk, coOrd pos, DIST_T * height) {
- DIST_T len, len1, elev0, elev1, dist0, dist1;
+ DIST_T elev0, elev1, dist0, dist1;
if ( IsTrack( trk ) && GetTrkEndPtCnt(trk) == 2 ) {
+ if ( GetTrkLength( trk, 0, 1 ) < 0.1 )
+ return FALSE;
dist0 = FindDistance(pos,GetTrkEndPos(trk,0));
dist1 = FindDistance(pos,GetTrkEndPos(trk,1));
- if (EndPtIsDefinedElev(trk,0))
- elev0 = GetTrkEndElevHeight(trk,0);
- else {
- if (!GetTrkEndElevCachedHeight(trk,0,&elev0,&len)) {
- if (GetTrkLength( trk, 0, 1 )<0.1) return FALSE;
- ComputeElev( trk, 0, FALSE, &elev0, NULL, TRUE );
- }
- }
- if (EndPtIsDefinedElev(trk,1))
- elev1 = GetTrkEndElevHeight(trk,1);
- else {
- if (!GetTrkEndElevCachedHeight(trk,1,&elev1,&len1)) {
- if (GetTrkLength( trk, 0, 1 )<0.1) return FALSE;
- ComputeElev( trk, 0, FALSE, &elev0, NULL, TRUE );
- }
- }
- if (dist1+dist0 < 0.1) {
+ ComputeElev( trk, 0, FALSE, &elev0, NULL, FALSE );
+ ComputeElev( trk, 1, FALSE, &elev1, NULL, FALSE );
+ if (dist1+dist0 <= 0.1) {
*height = elev0;
return TRUE;
}
*height = ((elev1-elev0)*(dist0/(dist0+dist1)))+elev0;
return TRUE;
- } else if (GetTrkEndPtCnt(trk) == 1 && GetTrkEndElevCachedHeight(trk,0,&elev0,&len)) {
+ } else if (GetTrkEndPtCnt(trk) == 1 &&
+ ComputeElev( trk, 0, FALSE, &elev0, NULL, FALSE ) ) {
*height = elev0;
return TRUE;
}
@@ -387,7 +368,7 @@ static STATUS_T CmdElevation( wAction_t action, coOrd pos )
ParamControlActive( &elevationPG, I_STATION, FALSE );
ParamLoadMessage( &elevationPG, I_COMPUTED, "" );
ParamLoadMessage( &elevationPG, I_GRADE, "" );
- InfoMessage( _("Click on end, +Shift to split, +Ctrl to move description") );
+ InfoMessage( _("Click on end, +Shift to split, +Ctrl to move description, +Alt to show elevation") );
elevTrk = NULL;
elevUndo = FALSE;
CmdMoveDescription( action, pos );
@@ -396,7 +377,7 @@ static STATUS_T CmdElevation( wAction_t action, coOrd pos )
case wActionMove:
DYNARR_RESET(trkSeg_t,anchors_da);
if (MyGetKeyState()&WKEY_CTRL) {
- commandContext = (void*) 1; //Just end points
+ commandContext = I2VP(1); //Just end points
CmdMoveDescription( action, pos );
return C_CONTINUE;
}
@@ -414,43 +395,46 @@ static STATUS_T CmdElevation( wAction_t action, coOrd pos )
InfoMessage( _("Move to end or track crossing") );
return C_CONTINUE;
}
- if ((trk1 = OnTrack2(&p2,FALSE, TRUE, FALSE, trk0)) != NULL) {
- if (IsClose(FindDistance(p0,p2))) {
- if (GetEndPtConnectedToMe(trk0,trk1) == -1) { //Not simply connected to each other!!!
- if (GetTrkEndPtCnt(trk1) == 2) {
- if (GetPointElev(trk1,p2,&elev1)) {
- if (MyGetKeyState()&WKEY_SHIFT) {
- InfoMessage (_("Crossing - First %0.3f, Second %0.3f, Clearance %0.3f - Click to Split"), PutDim(elev0), PutDim(elev1), PutDim(fabs(elev0-elev1)));
- } else
- InfoMessage (_("Crossing - First %0.3f, Second %0.3f, Clearance %0.3f"), PutDim(elev0), PutDim(elev1), PutDim(fabs(elev0-elev1)));
+ if (((MyGetKeyState()&WKEY_ALT))) { //Add square with Alt
+ if ((trk1 = OnTrack2(&p2,FALSE, TRUE, FALSE, trk0)) != NULL) {
+ if (IsClose(FindDistance(p0,p2))) {
+ if (GetEndPtConnectedToMe(trk0,trk1) == -1) { //Not simply connected to each other!!!
+ if (GetTrkEndPtCnt(trk1) == 2) {
+ if (GetPointElev(trk1,p2,&elev1)) {
+ if (MyGetKeyState()&WKEY_SHIFT) {
+ InfoMessage (_("Crossing - First %0.3f, Second %0.3f, Clearance %0.3f - Click to Split"), PutDim(elev0), PutDim(elev1), PutDim(fabs(elev0-elev1)));
+ } else
+ InfoMessage (_("Crossing - First %0.3f, Second %0.3f, Clearance %0.3f"), PutDim(elev0), PutDim(elev1), PutDim(fabs(elev0-elev1)));
+ }
+ CreateSquareAnchor(p2);
+ return C_CONTINUE;
}
- CreateSquareAnchor(p2);
- return C_CONTINUE;
}
}
}
}
if ((ep0 = PickEndPoint( p0, trk0 )) != -1) {
- if (IsClose(FindDistance(GetTrkEndPos(trk0,ep0),pos))) {
- CreateEndAnchor(GetTrkEndPos(trk0,ep0),FALSE);
- InfoMessage (_("Track End elevation %0.3f"), PutDim(elev0));
- } else if ((MyGetKeyState()&WKEY_SHIFT) && QueryTrack(trk0,Q_MODIFY_CAN_SPLIT)
+ if ((MyGetKeyState()&WKEY_SHIFT) && QueryTrack(trk0,Q_MODIFY_CAN_SPLIT)
&& !(QueryTrack(trk0,Q_IS_TURNOUT))) {
InfoMessage( _("Click to split here - elevation %0.3f"), PutDim(elev0));
CreateSplitAnchor(p0,trk0);
- } else {
- InfoMessage( _("Track Point elevation %0.3f"), PutDim(elev0));
+ } else if ((IsClose(FindDistance(GetTrkEndPos(trk0,ep0),p0))
+ || (FindDistance(GetTrkEndPos(trk0,ep0),p0)<minLength))) {
+ CreateEndAnchor(GetTrkEndPos(trk0,ep0),FALSE);
+ InfoMessage (_("Track End elevation %0.3f - snap End Pt"), PutDim(elev0));
+ } else if (MyGetKeyState()&WKEY_ALT) {
CreateEndAnchor(p0,TRUE);
+ InfoMessage (_("Track End elevation %0.3f"), PutDim(elev0));
}
- } else InfoMessage( _("Click on end, +Shift to split, +Ctrl to move description") );
+ } else InfoMessage( _("Click on End Pt, +Shift to split, +Ctrl to move description, +Alt show Elevation") );
} else
- InfoMessage( _("Click on end, +Shift to split, +Ctrl to move description") );
+ InfoMessage( _("Click on End Pt, +Shift to split, +Ctrl to move description, +Alt show Elevation") );
return C_CONTINUE;
case C_DOWN:
case C_MOVE:
case C_UP:
if (MyGetKeyState()&WKEY_CTRL) {
- commandContext = (void*) 1; //Just end points
+ commandContext = I2VP(1); //Just end points
CmdMoveDescription( action, pos );
DYNARR_RESET(trkSeg_t,anchors_da);
elevTrk = NULL;
@@ -466,10 +450,7 @@ static STATUS_T CmdElevation( wAction_t action, coOrd pos )
InfoMessage( _("Click on end, +Shift to split, +Ctrl to move description") );
} else {
ep0 = PickEndPoint( p0, trk0 );
- if (IsClose(FindDistance(GetTrkEndPos(trk0,ep0),pos))) {
- InfoMessage( _("Point selected!") );
- ElevSelect( trk0, ep0 );
- } else if ( (MyGetKeyState()&WKEY_SHIFT) ) {
+ if ( (MyGetKeyState()&WKEY_SHIFT) ) {
UndoStart( _("Split track"), "SplitTrack( T%d[%d] )", GetTrkIndex(trk0), ep0 );
oldTrackCount = trackCount;
if (!QueryTrack(trk0,Q_IS_TURNOUT) &&
@@ -479,6 +460,10 @@ static STATUS_T CmdElevation( wAction_t action, coOrd pos )
ElevSelect( trk0, ep0 );
UndoEnd();
elevUndo = FALSE;
+ } else if (IsClose(FindDistance(GetTrkEndPos(trk0,ep0),p0)) ||
+ (FindDistance(GetTrkEndPos(trk0,ep0),p0)<minLength)) { //Snap if close visually or track
+ InfoMessage( _("Point selected!") );
+ ElevSelect( trk0, ep0 );
}
}
DYNARR_RESET(trkSeg_t,anchors_da);
@@ -493,10 +478,13 @@ static STATUS_T CmdElevation( wAction_t action, coOrd pos )
InfoMessage( "" );
return C_TERMINATE;
case C_REDRAW:
+ wSetCursor(mainD.d,defaultCursor);
DoElevHilight( NULL );
HilightSelectedEndPt( TRUE, elevTrk, elevEp );
- if (anchors_da.cnt)
+ if (anchors_da.cnt) {
DrawSegs( &tempD, zero, 0.0, &anchors(0), anchors_da.cnt, trackGauge, wDrawColorBlack );
+ wSetCursor(mainD.d,wCursorNone);
+ }
CmdMoveDescription( action, pos );
return C_CONTINUE;
}
@@ -506,11 +494,11 @@ static STATUS_T CmdElevation( wAction_t action, coOrd pos )
-#include "bitmaps/elev.xpm"
+#include "bitmaps/elevation.xpm"
EXPORT void InitCmdElevation( wMenu_p menu )
{
ParamRegister( &elevationPG );
- AddMenuButton( menu, CmdElevation, "cmdElevation", _("Elevation"), wIconCreatePixMap(elev_xpm), LEVEL0_50, IC_POPUP|IC_LCLICK|IC_RCLICK|IC_WANT_MOVE, ACCL_ELEVATION, NULL );
+ AddMenuButton( menu, CmdElevation, "cmdElevation", _("Elevation"), wIconCreatePixMap(elevation_xpm[iconSize]), LEVEL0_50, IC_POPUP|IC_LCLICK|IC_RCLICK|IC_WANT_MOVE, ACCL_ELEVATION, NULL );
}
diff --git a/app/bin/cgroup.c b/app/bin/cgroup.c
index 1183e76..d30481f 100644
--- a/app/bin/cgroup.c
+++ b/app/bin/cgroup.c
@@ -21,23 +21,18 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <ctype.h>
-#include <math.h>
-#include <string.h>
-
+#include "cselect.h"
#include "compound.h"
#include "cundo.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
#include "tbezier.h"
#include "tcornu.h"
#include "common.h"
-#include "messages.h"
#include "param.h"
#include "shrtpath.h"
#include "track.h"
-#include "utility.h"
+#include "common-ui.h"
/*****************************************************************************
@@ -54,13 +49,19 @@ static dynArr_t pathPtr_da;
static char groupManuf[STR_SIZE];
static char groupDesc[STR_SIZE];
static char groupPartno[STR_SIZE];
-static char groupTitle[STR_SIZE];
+static char groupTitle[STR_LONG_SIZE];
static int groupCompoundCount = 0;
extern TRKTYP_T T_BZRTRK;
extern TRKTYP_T T_BZRLIN;
extern TRKTYP_T T_CORNU;
+/*****************************************************************************
+ *
+ * Ungroup
+ *
+ */
+
typedef struct {
int segInx;
EPINX_T segEP;
@@ -168,8 +169,8 @@ static void GroupCopyTitle(
EXPORT void UngroupCompound(
track_p trk )
{
- struct extraData *xx = GetTrkExtraData(trk);
- struct extraData *xx1;
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataCompound_t);
+ struct extraDataCompound_t *xx1;
trkSeg_p sp;
track_p trk0, trk1;
int segCnt, segInx, segInx1;
@@ -219,8 +220,13 @@ EXPORT void UngroupCompound(
LOG( log_group, 1, ( "Ungroup( T%d )\n", GetTrkIndex(trk) ) );
epCnt = GetTrkEndPtCnt(trk);
- for ( segCnt=0; segCnt<xx->segCnt&&IsSegTrack(&xx->segs[segCnt]); segCnt++ );
- ASSERT( (epCnt==0) == (segCnt==0) );
+ segCnt = xx->segCnt;
+ int trackCount = 0;
+ for ( sp=xx->segs; sp<&xx->segs[xx->segCnt]; sp++ ) {
+ if (IsSegTrack(sp)) trackCount++;
+ }
+ //ASSERT( (epCnt==0) == (segCnt==0) );
+ ASSERT( (epCnt==0) == (trackCount==0) );
turnoutChanged = FALSE;
if ( epCnt > 0 ) {
turnoutChanged = TRUE;
@@ -253,7 +259,7 @@ LOG( log_group, 1, ( " EP%d = [%0.3f %0.3f] A%0.3f T%d.%d\n", ep, epp->pos.x, ep
*/
DYNARR_SET( int, refCount_da, segCnt+epCnt );
memset( refCount_da.ptr, 0, refCount_da.cnt * sizeof *(int*)0 );
- cp = (char *)xx->paths;
+ cp = (char *)GetPaths( trk );
while ( cp[0] ) {
cp += strlen(cp)+1;
while ( cp[0] ) {
@@ -262,6 +268,10 @@ LOG( log_group, 1, ( " EP%d = [%0.3f %0.3f] A%0.3f T%d.%d\n", ep, epp->pos.x, ep
segInx1 = FindEP( tempEndPts_da.cnt, &tempEndPts(0), pos );
if ( segInx1 >= 0 ) {
segInx1 += segCnt;
+ if ( segInx1 >= refCount_da.cnt ) {
+ InputError( "Invalid segInx1 %d", TRUE, segInx1 );
+ return;
+ }
refCount(segInx1)++;
} else {
DYNARR_APPEND( trkEndPt_t, tempEndPts_da, 10 );
@@ -275,6 +285,10 @@ LOG( log_group, 1, ( " EP%d = [%0.3f %0.3f] A%0.3f T%d.%d\n", ep, epp->pos.x, ep
segEP1 = 0;
while ( cp[0] ) {
GetSegInxEP( cp[0], &segInx, &segEP );
+ if ( segInx1 >= refCount_da.cnt ) {
+ InputError( "Invalid segInx1 %d", TRUE, segInx1 );
+ return;
+ }
refCount(segInx)++;
if ( refCount(segInx) > refCount(segInx1) )
AddMergePt( segInx, segEP );
@@ -314,7 +328,7 @@ LOG( log_group, 1, ( " EP%d = [%0.3f %0.3f] A%0.3f T%d.%d\n", ep, epp->pos.x, ep
*/
DYNARR_SET( int, refCount_da, segCnt );
memset( refCount_da.ptr, -1, segCnt * sizeof *(int*)0 );
- cp = (char *)xx->paths;
+ cp = (char *)GetPaths( trk );
while ( cp[0] ) {
cp += strlen(cp)+1;
while ( cp[0] ) {
@@ -472,9 +486,11 @@ LOG( log_group, 1, ( " EP%d = [%0.3f %0.3f] A%0.3f T%d.%d\n", ep, epp->pos.x, ep
Rotate( &orig, zero, xx->angle );
orig.x = xx->orig.x - orig.x;
orig.y = xx->orig.y - orig.y;
- trk1 = NewCompound( T_TURNOUT, 0, orig, xx->angle, xx->title, tempEndPts_da.cnt-epCnt1, &tempEndPts(epCnt1), NULL, pathPtr_da.cnt, &pathPtr(0), tempSegs_da.cnt, &tempSegs(0) );
- xx1 = GetTrkExtraData(trk1);
+ trk1 = NewCompound( T_TURNOUT, 0, orig, xx->angle, xx->title, tempEndPts_da.cnt-epCnt1, &tempEndPts(epCnt1), (PATHPTR_T)&pathPtr(0), tempSegs_da.cnt, &tempSegs(0) );
+ xx1 = GET_EXTRA_DATA(trk1, T_TURNOUT, extraDataCompound_t);
xx1->ungrouped = TRUE;
+ xx1->pathOverRide = xx->pathOverRide;
+ xx1->pathNoCombine = xx->pathNoCombine;
SetTrkVisible( trk1, TRUE );
SetTrkNoTies( trk1, FALSE );
@@ -491,6 +507,8 @@ LOG( log_group, 1, ( " EP%d = [%0.3f %0.3f] A%0.3f T%d.%d\n", ep, epp->pos.x, ep
*/
for ( segInx=0; segInx<segCnt; segInx++ ) {
if ( refCount(segInx) >= 0 ) continue;
+ if ( ! IsSegTrack( xx->segs+segInx ) )
+ continue;
SegProc( SEGPROC_NEWTRACK, xx->segs+segInx, &segProcData );
SetTrkScale( segProcData.newTrack.trk, GetTrkScale(trk) );
SetTrkBits( segProcData.newTrack.trk, TB_SELECTED );
@@ -503,7 +521,7 @@ LOG( log_group, 1, ( " EP%d = [%0.3f %0.3f] A%0.3f T%d.%d\n", ep, epp->pos.x, ep
/* 9: reconnect tracks
*/
- cp = (char *)xx->paths;
+ cp = (char *)GetPaths( trk );
while ( cp[0] ) {
cp += strlen(cp)+1;
while ( cp[0] ) {
@@ -566,7 +584,8 @@ LOG( log_group, 1, ( " EP%d = [%0.3f %0.3f] A%0.3f T%d.%d\n", ep, epp->pos.x, ep
mp->trk = NULL;
}
} else {
- DrawNewTrack( segTrack(segInx).trk );
+ if ( segTrack(segInx).trk )
+ DrawNewTrack( segTrack(segInx).trk );
}
}
wDrawDelayUpdate( mainD.d, FALSE );
@@ -575,7 +594,7 @@ LOG( log_group, 1, ( " EP%d = [%0.3f %0.3f] A%0.3f T%d.%d\n", ep, epp->pos.x, ep
-EXPORT void DoUngroup( void )
+EXPORT void DoUngroup( void * unused )
{
track_p trk = NULL;
int ungroupCnt;
@@ -612,6 +631,7 @@ static drawCmd_t groupD = {
NULL, &tempSegDrawFuncs, DC_SEGTRACK, 1, 0.0, {0.0, 0.0}, {0.0, 0.0}, Pix2CoOrd, CoOrd2Pix };
static long groupSegCnt;
static long groupReplace;
+static long groupNoCombine;
static double groupOriginX;
static double groupOriginY;
char * groupReplaceLabels[] = { N_("Replace with new group?"), NULL };
@@ -620,21 +640,23 @@ static wWin_p groupW;
static paramIntegerRange_t r0_999999 = { 0, 999999 };
static paramFloatRange_t r_1000_1000 = { -1000.0, 1000.0, 80 };
static paramData_t groupPLs[] = {
-/*0*/ { PD_STRING, groupManuf, "manuf", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)350, N_("Manufacturer"), 0, 0, sizeof(groupManuf)},
-/*1*/ { PD_STRING, groupDesc, "desc", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)230, N_("Description"), 0, 0, sizeof(groupDesc)},
-/*2*/ { PD_STRING, groupPartno, "partno", PDO_NOPREF|PDO_DLGHORZ|PDO_DLGIGNORELABELWIDTH|PDO_STRINGLIMITLENGTH, (void*)100, N_("#"), 0, 0, sizeof(groupPartno)},
+/*0*/ { PD_STRING, groupManuf, "manuf", PDO_NOPREF | PDO_NOTBLANK, I2VP(350), N_("Manufacturer"), 0, 0, sizeof(groupManuf)},
+/*1*/ { PD_STRING, groupDesc, "desc", PDO_NOPREF | PDO_NOTBLANK, I2VP(230), N_("Description"), 0, 0, sizeof(groupDesc)},
+/*2*/ { PD_STRING, groupPartno, "partno", PDO_NOPREF|PDO_DLGHORZ|PDO_DLGIGNORELABELWIDTH|PDO_NOTBLANK, I2VP(100), N_("#"), 0, 0, sizeof(groupPartno)},
/*3*/ { PD_LONG, &groupSegCnt, "segcnt", PDO_NOPREF, &r0_999999, N_("# Segments"), BO_READONLY },
#define I_GROUP_ORIGIN_OFFSET 4 /* Need to change if add above */
/*4*/ { PD_FLOAT, &groupOriginX, "orig", PDO_DIM, &r_1000_1000, N_("Offset X,Y:")},
/*5*/ { PD_FLOAT, &groupOriginY, "origy",PDO_DIM | PDO_DLGHORZ, &r_1000_1000, ""},
/*6*/ { PD_TOGGLE, &groupReplace, "replace", 0, groupReplaceLabels, "", BC_HORZ|BC_NOBORDER } };
-static paramGroup_t groupPG = { "group", 0, groupPLs, sizeof groupPLs/sizeof groupPLs[0] };
+static paramGroup_t groupPG = { "group", 0, groupPLs, COUNT( groupPLs ) };
typedef struct {
track_p trk;
int segStart;
int segEnd;
+ int totalSegStart; //Where we are overall
+ int totalSegEnd;
} groupTrk_t, * groupTrk_p;
static dynArr_t groupTrk_da;
#define groupTrk(N) DYNARR_N( groupTrk_t, groupTrk_da, N )
@@ -673,7 +695,6 @@ static char * FindPathBtwEP(
EPINX_T ep2,
BOOL_T * flip )
{
- struct extraData * xx = GetTrkExtraData( trk );
char * cp;
coOrd trkPos[2];
@@ -690,7 +711,8 @@ LOG( log_group, 2, ( " Group: Cornu path:%s \n", cp ) )
LOG( log_group, 3, (" Flip:%s Path= Seg=%d-\n", *flip?"T":"F", *cp ) );
return cp;
}
- cp = (char *)xx->paths;
+ struct extraDataCompound_t * xx = GET_EXTRA_DATA( trk, T_TURNOUT, extraDataCompound_t );
+ cp = (char *)GetPaths( trk );
trkPos[0] = GetTrkEndPos(trk,ep1);
Rotate( &trkPos[0], xx->orig, -xx->angle );
trkPos[0].x -= xx->orig.x;
@@ -889,6 +911,10 @@ static int ConflictPaths(
path_p path0,
path_p path1 )
{
+ if ( groupNoCombine != 0 ) {
+ // No grouping
+ return TRUE;
+ }
/* do these paths share an EP? */
if ( path0->ep1 == path1->ep1 ) return TRUE;
if ( path0->ep1 == path1->ep2 ) return TRUE;
@@ -903,7 +929,7 @@ static BOOL_T CheckPathEndPt(
char cc,
EPINX_T ep )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(trk, T_TURNOUT, extraDataCompound_t);
wIndex_t segInx;
EPINX_T segEP, epCnt;
DIST_T d;
@@ -925,9 +951,8 @@ static BOOL_T CheckPathEndPt(
static BOOL_T CheckForBumper(
track_p trk )
{
- struct extraData *xx = GetTrkExtraData(trk);
char * cp;
- cp = (char *)xx->paths;
+ cp = (char *)GetPaths( trk );
while ( cp[0] ) {
cp += strlen(cp)+1;
while ( cp[0] ) {
@@ -942,36 +967,10 @@ static BOOL_T CheckForBumper(
return TRUE;
}
-typedef struct {
- int inx;
- wBool_t track;
-} segInMap_t;
-static dynArr_t segInMap_da;
-#define segInMap(N) DYNARR_N( segInMap_t, segInMap_da, N)
-
-void AddToSegMap(int inx,wBool_t track) {
- DYNARR_APPEND(segInMap_t,segInMap_da,10);
- DYNARR_LAST(segInMap_t,segInMap_da).inx = inx;
- DYNARR_LAST(segInMap_t,segInMap_da).track = track;
-}
-
-void AddSegsToSegMap(int start, int end, wBool_t track) {
- for (int i = start; i<= end; i++) {
- AddToSegMap(i,track);
- }
-}
-
static dynArr_t trackSegs_da;
#define trackSegs(N) DYNARR_N( trkSeg_t, trackSegs_da, N )
-trkSeg_p GetSegFromSegMap(int index) {
- if (DYNARR_N( segInMap_t, segInMap_da, index).track) {
- return &DYNARR_N(trkSeg_t,trackSegs_da,DYNARR_N( segInMap_t, segInMap_da, index).inx);
- } else
- return &DYNARR_N(trkSeg_t,tempSegs_da,DYNARR_N( segInMap_t, segInMap_da, index).inx);
-}
-
static dynArr_t outputSegs_da;
#define outputSegs(N) DYNARR_N( trkSeg_t, outputSegs_da, N)
@@ -1004,10 +1003,12 @@ static void LogSeg(
LogPrintf( "%c:\n", segP->type );
}
}
+
+
/*
* GroupOk: create a TURNOUT or STRUCTURE from the selected objects
* 1 - Add selected tracks to groupTrk[]
- * - Add each group trk's segments to trackSeg[] or tempSegs[]
+ * - Add each group trk's segments to trackSeg[]
* - Add all segs to segInMap[]
* - if no track segments goto step 9
* 2 - Collect boundary endPts and sort them in tempEndPts[]
@@ -1017,16 +1018,16 @@ static void LogSeg(
* 4 - Flip tracks so sub-path elements match up
* 5 - Create conflict map
* 6 - Flip paths to minimize the number of flipped segments
- * 7 - Build the path ('P') string
+ * 7 - Build the path ('P') string (new-P)
* 8 - Build segment list, adjust endPts in tempEndPts[]
- * 9 - create new TURNOUT/STRUCTURE definition
+ * 9 - create new TURNOUT/STRUCTURE definition
* 10 - write defn to xtrkcad.cus
* 11 - optionally replace grouped tracks with new defn
*/
-static void GroupOk( void * junk )
+static void GroupOk( void * unused )
{
- struct extraData *xx = NULL;
+ struct extraDataCompound_t *xx = NULL;
turnoutInfo_t * to;
int inx;
EPINX_T ep, epCnt, epN;
@@ -1055,10 +1056,7 @@ static void GroupOk( void * junk )
int groupCnt;
int pinx, pinx2, ginx, ginx2, gpinx2;
trkEndPt_p endPtP;
- PATHPTR_T path;
- int pathLen;
signed char pathChar;
- char *oldLocale = NULL;
DYNARR_RESET( trkSeg_t, trackSegs_da );
DYNARR_RESET( trkSeg_t, tempSegs_da );
@@ -1068,8 +1066,6 @@ static void GroupOk( void * junk )
DYNARR_RESET( trkEndPt_t, tempEndPts_da );
DYNARR_RESET( char, pathPtr_da );
- DYNARR_RESET( segInMap_t, segInMap_da);
-
ParamUpdate( &groupPG );
if ( groupManuf[0]==0 || groupDesc[0]==0 || groupPartno[0]==0 ) {
NoticeMessage2( 0, MSG_GROUP_NONBLANK, _("Ok"), NULL );
@@ -1089,98 +1085,83 @@ static void GroupOk( void * junk )
*/
trk = NULL;
int InInx = -1;
+ BOOL_T hasTracks = FALSE;
while ( TrackIterate( &trk ) ) {
if ( GetTrkSelected( trk ) ) {
- if ( IsTrack(trk) ) {
- DYNARR_APPEND( groupTrk_t, groupTrk_da, 10 );
- groupP = &groupTrk(groupTrk_da.cnt-1);
- groupP->trk = trk;
- groupP->segStart = trackSegs_da.cnt;
- if ( GetTrkType(trk) == T_TURNOUT ) {
- xx = GetTrkExtraData(trk);
- for ( pinx=0; pinx<xx->segCnt; pinx++ ) {
- segPtr = &xx->segs[pinx];
- if ( IsSegTrack(segPtr) ) {
- DYNARR_APPEND( trkSeg_t, trackSegs_da, 10 );
- trackSegs(trackSegs_da.cnt-1) = *segPtr;
-
- AddToSegMap(trackSegs_da.cnt-1,TRUE); /* Single Track Seg - Note no Cornu*/
-
- RotateSegs( 1, &trackSegs(trackSegs_da.cnt-1), zero, xx->angle );
- MoveSegs( 1, &trackSegs(trackSegs_da.cnt-1), xx->orig );
-
- } else {
- int start = tempSegs_da.cnt;
- DrawSegs( &groupD, xx->orig, xx->angle, segPtr, 1, trackGauge, wDrawColorBlack );
-
- AddSegsToSegMap(start,tempSegs_da.cnt-1,FALSE); /* Multiple Non-Track Segs */
- }
- }
- } else if (GetTrkType(trk) == T_BEZIER || GetTrkType(trk) == T_BZRLIN ) {
- DYNARR_APPEND(trkSeg_t, trackSegs_da, 10);
- segPtr = &trackSegs(trackSegs_da.cnt-1);
+ DYNARR_APPEND( groupTrk_t, groupTrk_da, 10 );
+ groupP = &groupTrk(groupTrk_da.cnt-1);
+ groupP->trk = trk;
+ groupP->segStart = trackSegs_da.cnt;
+ groupP->totalSegStart = tempSegs_da.cnt+trackSegs_da.cnt;
+ if (IsTrack(trk)) hasTracks = TRUE;
+ if ( GetTrkType(trk) == T_TURNOUT || GetTrkType(trk) == T_STRUCTURE) {
+ xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataCompound_t);
+ for ( pinx=0; pinx<xx->segCnt; pinx++ ) {
+ segPtr = &xx->segs[pinx];
+ if ( IsSegTrack(segPtr) ) {
+ DYNARR_APPEND( trkSeg_t, trackSegs_da, 10 );
+ trackSegs(trackSegs_da.cnt-1) = *segPtr;
+ hasTracks = TRUE;
+ RotateSegs( 1, &trackSegs(trackSegs_da.cnt-1), zero, xx->angle );
+ MoveSegs( 1, &trackSegs(trackSegs_da.cnt-1), xx->orig );
+
+ } else {
+ DYNARR_APPEND( trkSeg_t, trackSegs_da, 10 );
+ trackSegs(trackSegs_da.cnt-1) = *segPtr;
+
+ RotateSegs( 1, &trackSegs(trackSegs_da.cnt-1), zero, xx->angle );
+ MoveSegs( 1, &trackSegs(trackSegs_da.cnt-1), xx->orig );
- GetBezierSegmentFromTrack(trk,segPtr);
-
- AddToSegMap(trackSegs_da.cnt-1,TRUE); // Add Single Bezier Track
-
- } else if (GetTrkType(trk) == T_CORNU) {
+ }
+ }
+ } else if (GetTrkType(trk) == T_BEZIER || GetTrkType(trk) == T_BZRLIN ) {
+ DYNARR_APPEND(trkSeg_t, trackSegs_da, 10);
+ segPtr = &trackSegs(trackSegs_da.cnt-1);
- int start = trackSegs_da.cnt;
+ GetBezierSegmentFromTrack(trk,segPtr);
- GetBezierSegmentsFromCornu(trk,&trackSegs_da,TRUE); //Only give back Bezier - cant be undone
+ } else if (GetTrkType(trk) == T_CORNU) {
- AddSegsToSegMap(start,trackSegs_da.cnt-1,TRUE); /* Add Multiple Track Segs */
+ int start = trackSegs_da.cnt;
- } else {
- segCnt = tempSegs_da.cnt;
- DrawTrack( trk, &groupD, wDrawColorBlack );
- DYNARR_APPEND( trkSeg_t, trackSegs_da, 10 );
- segPtr = &trackSegs(trackSegs_da.cnt-1);
- *segPtr = tempSegs( segCnt );
-
- AddToSegMap(trackSegs_da.cnt-1,TRUE); // Add One Track
-
- if ( tempSegs_da.cnt != segCnt+1 ||
- !IsSegTrack(segPtr) ) {
- NoticeMessage2( 0, MSG_CANNOT_GROUP_TRACK, _("Ok"), NULL );
- wHide( groupW );
- return;
- }
+ GetBezierSegmentsFromCornu(trk,&trackSegs_da,TRUE); //Only give back Bezier - cant be undone
- tempSegs_da.cnt = segCnt;
- }
- groupP->segEnd = trackSegs_da.cnt-1;
} else {
- int start = tempSegs_da.cnt;
-
+ if (IsTrack(trk)) hasTracks=TRUE;
+ segCnt = tempSegs_da.cnt;
DrawTrack( trk, &groupD, wDrawColorBlack );
+ DYNARR_APPEND( trkSeg_t, trackSegs_da, 10 );
+ segPtr = &trackSegs(trackSegs_da.cnt-1);
+ *segPtr = tempSegs( segCnt );
+
+ if ( tempSegs_da.cnt != segCnt+1 ) {
+ NoticeMessage2( 0, MSG_CANNOT_GROUP_TRACK, _("Ok"), NULL, GetTrkTypeName(trk));
+ wHide( groupW );
+ return;
+ }
- AddSegsToSegMap(start,tempSegs_da.cnt-1,FALSE); /* Multiple Non-Track Segs */
}
+ groupP->segEnd = trackSegs_da.cnt-1;
}
}
if ( log_group >= 1 && logTable(log_group).level >= 4 ) {
LogPrintf( "Track Segs:\n");
for ( int inx = 0; inx < trackSegs_da.cnt; inx++ ) {
- LogPrintf( " %d: ", inx+1 );
- LogSeg( &trackSegs(inx) );
+ if (IsSegTrack(&trackSegs(inx))) {
+ LogPrintf( " %d: ", inx+1 );
+ LogSeg( &trackSegs(inx) );
+ }
}
LogPrintf( "Other Segs:\n");
- for ( int inx = 0; inx < tempSegs_da.cnt; inx++ ) {
- LogPrintf( " %d: ", inx+1 );
- LogSeg( &tempSegs(inx) );
- }
-}
-if ( log_group >= 1 && logTable(log_group).level >= 3 ) {
- LogPrintf( "Combined Segs:\n" );
- for ( int inx = 0; inx<segInMap_da.cnt; inx++ ) {
- LogPrintf( "%d: %s X%d - ", inx+1, segInMap(inx).track?"Track":"Other", segInMap(inx).inx );
- LogSeg( GetSegFromSegMap( inx ) );
+ for ( int inx = 0; inx < trackSegs_da.cnt; inx++ ) {
+ if (!IsSegTrack(&trackSegs(inx))) {
+ LogPrintf( " %d: ", inx+1 );
+ LogSeg( &tempSegs(inx) );
+ }
}
}
- if ( groupTrk_da.cnt>0 ) {
+ if ( groupTrk_da.cnt>0 && hasTracks) {
if ( groupTrk_da.cnt > 128 ) {
NoticeMessage( MSG_TOOMANYSEGSINGROUP, _("Ok"), NULL );
wDrawDelayUpdate( mainD.d, FALSE );
@@ -1237,11 +1218,6 @@ if ( log_group >= 1 && logTable(log_group).level >= 4 ) {
wHide( groupW );
return;
}
- if ( groupTrk_da.cnt == 1 && GetTrkType( groupTrk(0).trk ) == T_TURNOUT ) {
- path = xx->paths;
- pathLen = xx->pathLen;
- goto groupSimpleTurnout;
- }
/* Make sure no turnouts in groupTrk list have a path end which is not an EndPt */
//TODO Add Trap Points (which are Turnouts with a bumper track)
@@ -1493,13 +1469,13 @@ if ( log_group >= 1 && logTable(log_group).level >= 3 ) {
memset( &segFlip(0), 0, trackSegs_da.cnt * sizeof segFlip(0) );
for ( pinx=0; pinx<pathElem_da.cnt; pinx++ ) {
ppp = &pathElem(pinx);
- for ( path=ppp->path; *path; path++ ) {
- inx = *path;
+ for ( PATHPTR_T pPaths=ppp->path; *pPaths; pPaths++ ) {
+ inx = *pPaths;
if ( inx<0 )
inx = - inx;
if ( inx > trackSegs_da.cnt )
AbortProg( "inx > trackSegs_da.cnt" );
- flip = *path<0;
+ flip = *pPaths<0;
if ( ppp->flip )
flip = !flip;
inx += groupTrk(ppp->groupInx).segStart - 1;
@@ -1537,14 +1513,14 @@ LOG( log_group, 3, ( "\n" ) );
ppp = &pathElem( pinx2 );
LOG( log_group, 3, (" PE %d: GI %d, EP %d %d, Flip %d =", pinx2, ppp->groupInx, ppp->ep1, ppp->ep2, ppp->flip ));
groupP = &groupTrk( ppp->groupInx );
- path = ppp->path;
+ PATHPTR_T pPaths = ppp->path;
flip = ppp->flip;
- if ( path == NULL )
+ if ( pPaths == NULL )
AbortProg( "Missing Path T%d:%d.%d", GetTrkIndex(groupP->trk), ppp->ep2, ppp->ep1 );
- if ( flip ) path += strlen((char *)path)-1;
- while ( *path && (path >= ppp->path) ) { //Add Guard for flip backwards
+ if ( flip ) pPaths += strlen((char *)pPaths)-1;
+ while ( *pPaths && (pPaths >= ppp->path) ) { //Add Guard for flip backwards
DYNARR_APPEND( char, pathPtr_da, 10 );
- pathChar = *path;
+ pathChar = *pPaths;
flip1 = flip;
if ( pathChar < 0 ) {
flip1 = !flip;
@@ -1555,7 +1531,7 @@ LOG( log_group, 3, ( "\n" ) );
flip1 = ! flip1;
if ( flip1 ) pathChar = - pathChar;
pathPtr(pathPtr_da.cnt-1) = pathChar;
- path += (flip?-1:1);
+ pPaths += (flip?-1:1);
LOG( log_group, 3, (" %d", pathChar ) );
}
LOG( log_group, 3, ("\n") );
@@ -1568,21 +1544,18 @@ LOG( log_group, 3, ( "\n" ) );
}
DYNARR_APPEND( char, pathPtr_da, 10 );
pathPtr(pathPtr_da.cnt-1) = 0;
- path = (PATHPTR_T)&pathPtr(0);
- pathLen = pathPtr_da.cnt;
-groupSimpleTurnout:
/*
* 8: Copy and Reorigin Segments - Start by putting them out in the original order
*/
DYNARR_RESET(trkSeg_t, outputSegs_da);
- for (int i=0; i<segInMap_da.cnt;i++) {
+ for (int i=0; i<trackSegs_da.cnt;i++) {
DYNARR_APPEND(trkSeg_t,outputSegs_da,10);
- trkSeg_p from_p = GetSegFromSegMap(i);
+ trkSeg_p from_p = &trackSegs(i);
trkSeg_p to_p = &DYNARR_LAST(trkSeg_t, outputSegs_da);
- memcpy((void *)to_p,(void *)from_p,sizeof( trkSeg_t));
+ memcpy(to_p,from_p,sizeof( trkSeg_t));
}
CloneFilledDraw( outputSegs_da.cnt, outputSegs_da.ptr, FALSE );
@@ -1599,18 +1572,23 @@ groupSimpleTurnout:
* 9: Final: create new definition
*/
- CheckPaths( outputSegs_da.cnt, &outputSegs(0), path );
+ PATHPTR_T pPaths = (PATHPTR_T)&pathPtr(0);
+ CheckPaths( outputSegs_da.cnt, &outputSegs(0), pPaths );
- to = CreateNewTurnout( curScaleName, groupTitle, outputSegs_da.cnt, &outputSegs(0), pathLen, path, tempEndPts_da.cnt, &tempEndPts(0), NULL, TRUE );
+ long options = 0;
+ if ( groupNoCombine != 0 )
+ options |= COMPOUND_OPTION_PATH_NOCOMBINE;
+ to = CreateNewTurnout( curScaleName, groupTitle, outputSegs_da.cnt, &outputSegs(0), pPaths, tempEndPts_da.cnt, &tempEndPts(0), TRUE, options );
/*
* 10: Write defn to xtrkcad.cus
*/
f = OpenCustom("a");
if (f && to) {
- oldLocale = SaveLocale("C");
- rc &= fprintf( f, "TURNOUT %s \"%s\"\n", curScaleName, PutTitle(to->title) )>0;
- rc &= WriteCompoundPathsEndPtsSegs( f, path, outputSegs_da.cnt, &outputSegs(0), tempEndPts_da.cnt, &tempEndPts(0) );
+ SetCLocale();
+ rc &= fprintf( f, "TURNOUT %s \"%s\" %ld\n", curScaleName, PutTitle(to->title), options )>0;
+ rc &= WriteCompoundPathsEndPtsSegs( f, pPaths, outputSegs_da.cnt, &outputSegs(0), tempEndPts_da.cnt, &tempEndPts(0) );
+ SetUserLocale();
}
if ( groupReplace ) {
/*
@@ -1639,7 +1617,11 @@ groupSimpleTurnout:
trackCount--;
}
}
- trk = NewCompound( T_TURNOUT, 0, orig, 0.0, to->title, tempEndPts_da.cnt, &tempEndPts(0), NULL, pathLen, (char *)path, outputSegs_da.cnt, &outputSegs(0) );
+ SelectRecount();
+ trk = NewCompound( T_TURNOUT, 0, orig, 0.0, to->title, tempEndPts_da.cnt, &tempEndPts(0), pPaths, outputSegs_da.cnt, &outputSegs(0) );
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(trk, T_TURNOUT, extraDataCompound_t);
+ xx->pathOverRide = FALSE;
+ xx->pathNoCombine = groupNoCombine;
SetTrkVisible( trk, TRUE );
for ( ep=0; ep<tempEndPts_da.cnt; ep++ ) {
@@ -1652,18 +1634,19 @@ groupSimpleTurnout:
EnableCommands();
}
} else {
- CloneFilledDraw( tempSegs_da.cnt, &tempSegs(0), TRUE );
- GetSegBounds( zero, 0, tempSegs_da.cnt, &tempSegs(0), &orig, &size );
+ CloneFilledDraw( trackSegs_da.cnt, &trackSegs(0), TRUE );
+ GetSegBounds( zero, 0, trackSegs_da.cnt, &trackSegs(0), &orig, &size );
orig.x = - orig.x-groupOriginX; //Include orig offset
orig.y = - orig.y-groupOriginY;
- MoveSegs( tempSegs_da.cnt, &tempSegs(0), orig );
- to = CreateNewStructure( curScaleName, groupTitle, tempSegs_da.cnt, &tempSegs(0), TRUE );
+ MoveSegs( trackSegs_da.cnt, &trackSegs(0), orig );
+ to = CreateNewStructure( curScaleName, groupTitle, trackSegs_da.cnt, &trackSegs(0), TRUE );
f = OpenCustom("a");
if (f && to) {
- oldLocale = SaveLocale("C");
+ SetCLocale();
rc &= fprintf( f, "STRUCTURE %s \"%s\"\n", curScaleName, PutTitle(groupTitle) )>0;
- rc &= WriteSegs( f, tempSegs_da.cnt, &tempSegs(0) );
+ rc &= WriteSegs( f, trackSegs_da.cnt, &trackSegs(0) );
+ SetUserLocale();
}
if ( groupReplace ) {
UndoStart( _("Group Tracks"), "group" );
@@ -1675,16 +1658,16 @@ groupSimpleTurnout:
trackCount--;
}
}
+ SelectRecount();
orig.x = - orig.x;
orig.y = - orig.y;
- trk = NewCompound( T_STRUCTURE, 0, orig, 0.0, groupTitle, 0, NULL, NULL, 0, "", tempSegs_da.cnt, &tempSegs(0) );
+ trk = NewCompound( T_STRUCTURE, 0, orig, 0.0, groupTitle, 0, NULL, NULL, trackSegs_da.cnt, &trackSegs(0) );
SetTrkVisible( trk, TRUE );
DrawNewTrack( trk );
EnableCommands();
}
}
if (f) fclose(f);
- RestoreLocale(oldLocale);
DoChangeNotification( CHANGE_PARAMS );
wHide( groupW );
wDrawDelayUpdate( mainD.d, FALSE );
@@ -1693,10 +1676,10 @@ groupSimpleTurnout:
}
-EXPORT void DoGroup( void )
+EXPORT void DoGroup( void * unused )
{
track_p trk = NULL;
- struct extraData *xx;
+ struct extraDataCompound_t *xx;
TRKTYP_T trkType;
xx = NULL;
groupSegCnt = 0;
@@ -1705,14 +1688,17 @@ EXPORT void DoGroup( void )
groupOriginY = 0.0;
BOOL_T isTurnout = FALSE;
+ groupNoCombine = FALSE;
while ( TrackIterate( &trk ) ) {
if ( GetTrkSelected( trk ) ) {
trkType = GetTrkType(trk);
if ( IsTrack(trk) ) isTurnout = TRUE;
if ( trkType == T_TURNOUT || trkType == T_STRUCTURE ) {
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, trkType, extraDataCompound_t);
groupSegCnt += xx->segCnt;
GroupCopyTitle( xtitle(xx) );
+ if ( trkType == T_TURNOUT && GetTrkEndPtCnt(trk) > 2 && xx->pathNoCombine != 0 )
+ groupNoCombine = TRUE;
} else
groupSegCnt += 1;
}
diff --git a/app/bin/chndldto.c b/app/bin/chndldto.c
index a0f2d6b..abb6e32 100644
--- a/app/bin/chndldto.c
+++ b/app/bin/chndldto.c
@@ -21,17 +21,14 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
-
#include "ccurve.h"
#include "cjoin.h"
#include "compound.h"
#include "cstraigh.h"
#include "cundo.h"
-#include "i18n.h"
-#include "messages.h"
#include "track.h"
-#include "utility.h"
+#include "draw.h"
+#include "common-ui.h"
#define PTRACE(X)
@@ -351,9 +348,9 @@ PTRACE(( " a2=%0.1f rA1=%0.1f\n", angle2, reverseA1 ))
}
-#include "bitmaps/hndldto.xpm"
+#include "bitmaps/turnout-designer.xpm"
EXPORT void InitCmdHandLaidTurnout( wMenu_p menu )
{
- AddMenuButton( menu, CmdHandLaidTurnout, "cmdHandLaidTurnout", _("HandLaidTurnout"), wIconCreatePixMap(hndldto_xpm), LEVEL0_50, IC_STICKY|IC_INITNOTSTICKY|IC_POPUP2, ACCL_HNDLDTO, NULL );
+ AddMenuButton( menu, CmdHandLaidTurnout, "cmdHandLaidTurnout", _("HandLaidTurnout"), wIconCreatePixMap(turnout_designer_xpm[iconSize]), LEVEL0_50, IC_STICKY|IC_INITNOTSTICKY|IC_POPUP2, ACCL_HNDLDTO, NULL );
}
diff --git a/app/bin/chotbar.c b/app/bin/chotbar.c
index 0b9a327..379f31a 100644
--- a/app/bin/chotbar.c
+++ b/app/bin/chotbar.c
@@ -20,22 +20,21 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <ctype.h>
-#include <stdint.h>
-#include <string.h>
-
#include "compound.h"
#include "fileio.h"
-#include "messages.h"
#include "ccornu.h"
#include "track.h"
+#include "draw.h"
EXPORT DIST_T curBarScale = -1;
EXPORT long hotBarLabels = 0;
+EXPORT wWinPix_t hotBarHeight = 32;
#include "bitmaps/hotbarl.xbm"
#include "bitmaps/hotbarr.xbm"
+#define HOTBAR_LEFT 2
+
static wButton_p hotBarLeftB = NULL;
static wButton_p hotBarRightB = NULL;
static wMenu_p hotbarPopupM;
@@ -49,8 +48,8 @@ static drawCmd_t hotBarD = {
0.0,
{0.0, 0.0}, {0.0, 0.0},
Pix2CoOrd, CoOrd2Pix };
-static wPos_t hotBarDrawHeight = 28;
-static wPos_t hotBarHeight = 28;
+static wWinPix_t hotBarDrawHeight[] = {26, 32, 40};
+static wFontSize_t hotBarFontSize[] = {7, 8, 9};
typedef struct {
DIST_T x;
DIST_T w;
@@ -75,23 +74,35 @@ static DIST_T hotBarWidth = 0.0;
static void HotBarHighlight( int inx, DIST_T fixed_x )
{
- wPos_t x0;
- if ( inx == 0 && hotBarMap_da.cnt>0 && hotBarMap(0).isFixed) {
- x0 = (wPos_t)0;
- wDrawFilledRectangle( hotBarD.d, x0, 0, (wPos_t)(hotBarMap(0).w*hotBarD.dpi-2), hotBarHeight, wDrawColorBlack, wDrawOptTransparent );
- } else if ( inx >= hotBarCurrStart && inx < hotBarCurrEnd ) {
- x0 = (wPos_t)((hotBarMap(inx).x-hotBarMap((int)hotBarCurrStart).x + (inx>0?fixed_x:0))*hotBarD.dpi);
- wDrawFilledRectangle( hotBarD.d, x0, 0, (wPos_t)(hotBarMap(inx).w*hotBarD.dpi-2), hotBarHeight, wDrawColorBlack, wDrawOptTransparent );
- }
+ if ( inx > 0 && ( inx < hotBarCurrStart || inx >= hotBarCurrEnd ) )
+ return;
+ coOrd orig, size;
+ hotBarD.scale = 1;
+ if ( inx == 0 && hotBarMap_da.cnt>0 && hotBarMap(0).isFixed)
+ orig.x = 0;
+ else
+ orig.x = hotBarMap(inx).x-hotBarMap(hotBarCurrStart).x + (inx>0?fixed_x:0);
+ orig.y = 0;
+ size.x = hotBarMap(inx).w - 2.0/hotBarD.dpi;
+ size.y = toolbarHeight;
+#ifdef LATER
+ printf( "HotBarHilite fixed_x:%0.3f X0:%d/%0.3f X:%d/%0.3f+%0.3f X=%0.3f\n",
+ fixed_x,
+ hotBarCurrStart, hotBarMap(hotBarCurrStart).x,
+ inx, hotBarMap(inx).x, hotBarMap(inx).w,
+ orig.x );
+#endif
+ DrawRectangle( &hotBarD, orig, size, wDrawColorBlack, DRAW_TRANSPARENT );
}
static wFont_p hotBarFp = NULL;
static wFontSize_t hotBarFs = 8;
+static wWinPix_t hotBarTextHeight = 11;
-static void RedrawHotBar( wDraw_p dd, void * data, wPos_t w, wPos_t h )
+static void RedrawHotBar( wDraw_p dd, void * data, wWinPix_t w, wWinPix_t h )
{
- DIST_T hh = (double)hotBarDrawHeight/hotBarD.dpi;
+ DIST_T hh = (double)(hotBarHeight + 1)/hotBarD.dpi;
coOrd orig;
int inx;
hotBarMap_t * tbm;
@@ -101,22 +112,29 @@ static void RedrawHotBar( wDraw_p dd, void * data, wPos_t w, wPos_t h )
DIST_T x;
wDrawClear( hotBarD.d );
- wControlActive( (wControl_p)hotBarLeftB, hotBarCurrStart > 0 );
+ if (hotBarCurrStart >0)
+ wControlActive( (wControl_p)hotBarLeftB, TRUE );
+ else {
+ wButtonSetBusy(hotBarLeftB, FALSE);
+ wControlActive( (wControl_p)hotBarLeftB, FALSE );
+ }
+
if (hotBarCurrStart < 0) {
+ wButtonSetBusy(hotBarRightB, FALSE);
wControlActive( (wControl_p)hotBarRightB, FALSE );
return;
}
if ( hotBarLabels && !hotBarFp )
hotBarFp = wStandardFont( F_HELV, FALSE, FALSE );
- wPos_t textSize = wMessageGetHeight(0L);
+
DIST_T fixed_x = 0.0;
if (hotBarCurrStart>0 && hotBarMap_da.cnt>0 && hotBarMap(0).isFixed) { //Do fixed element first - Cornu
tbm = &hotBarMap(0);
barScale = tbm->barScale;
x = 0.0;
- orig.y = hh/2.0*barScale - tbm->size.y/2.0 - tbm->orig.y;
+ orig.y = barScale/hotBarD.dpi + hh/2.0*barScale - tbm->size.y/2.0 - tbm->orig.y;
if ( hotBarLabels ) {
- orig.y += textSize/hotBarD.dpi*barScale;
+ orig.y += hotBarTextHeight/hotBarD.dpi*barScale;
if ( tbm->labelW > tbm->objectW ) {
fixed_x = tbm->labelW;
x += (tbm->labelW-tbm->objectW)/2;
@@ -139,13 +157,13 @@ static void RedrawHotBar( wDraw_p dd, void * data, wPos_t w, wPos_t h )
for ( inx=hotBarCurrStart; inx < hotBarMap_da.cnt; inx++ ) {
tbm = &hotBarMap(inx);
barScale = tbm->barScale;
- x = tbm->x - hotBarMap(hotBarCurrStart).x + fixed_x; //Add space for fixed at start
- if ( x + tbm->w + fixed_x > barWidth ) {
+ x = tbm->x - hotBarMap(hotBarCurrStart).x + fixed_x;
+ if ( x + tbm->w > barWidth ) {
break;
}
- orig.y = hh/2.0*barScale - tbm->size.y/2.0 - tbm->orig.y;
+ orig.y = barScale/hotBarD.dpi + hh/2.0*barScale - tbm->size.y/2.0 - tbm->orig.y;
if ( hotBarLabels ) {
- orig.y += textSize/hotBarD.dpi*barScale;
+ orig.y += hotBarTextHeight/hotBarD.dpi*barScale;
if ( tbm->labelW > tbm->objectW ) {
x += (tbm->labelW-tbm->objectW)/2;
}
@@ -170,7 +188,12 @@ static void RedrawHotBar( wDraw_p dd, void * data, wPos_t w, wPos_t h )
HotBarHighlight( hotBarCurrSelect, fixed_x );
/* else
hotBarCurrSelect = -1;*/
- wControlActive( (wControl_p)hotBarRightB, hotBarCurrEnd < hotBarMap_da.cnt );
+ if (hotBarCurrEnd < hotBarMap_da.cnt)
+ wControlActive( (wControl_p)hotBarRightB, TRUE );
+ else {
+ wButtonSetBusy(hotBarRightB, FALSE);
+ wControlActive( (wControl_p)hotBarRightB, FALSE );
+ }
wPrefSetInteger( "misc", "hotbar-start", hotBarCurrStart );
}
@@ -187,7 +210,11 @@ static void DoHotBarRight( void * data )
}
if ( inx >= hotBarMap_da.cnt )
inx = hotBarMap_da.cnt-1;
- while ( inx > 1 && lastX - hotBarMap(inx-1).x <= barWidth )
+ DIST_T fixed_x = 0.0;
+ if (hotBarCurrStart>0 && hotBarMap(0).isFixed) {
+ fixed_x = hotBarMap(0).w;
+ }
+ while ( (inx > 1) && ((lastX - hotBarMap(inx-1).x) < (barWidth - fixed_x)) )
inx--;
if ( inx != hotBarCurrStart ) {
hotBarCurrStart = inx;
@@ -237,12 +264,12 @@ static void DoHotBarJump( int inx )
}
-static void SelectHotBar( wDraw_p d, void * context, wAction_t action, wPos_t w, wPos_t h )
+static void SelectHotBar( wDraw_p d, void * context, wAction_t action, wDrawPix_t w, wDrawPix_t h )
{
int inx;
coOrd pos;
DIST_T x;
- wPos_t px;
+ wWinPix_t px;
hotBarMap_t * tbm;
char * titleP;
@@ -279,11 +306,11 @@ static void SelectHotBar( wDraw_p d, void * context, wAction_t action, wPos_t w,
return;
tbm = &hotBarMap(inx);
if (inx==0) {
- px = (wPos_t)((tbm->x-hotBarMap(0).x)*hotBarD.dpi);
+ px = (wWinPix_t)((tbm->x-hotBarMap(0).x)*hotBarD.dpi);
} else {
- px = (wPos_t)(((tbm->x-hotBarMap(hotBarCurrStart).x)+fixed_x)*hotBarD.dpi);
+ px = (wWinPix_t)(((tbm->x-hotBarMap(hotBarCurrStart).x)+fixed_x)*hotBarD.dpi);
}
- px += (wPos_t)(tbm->w*hotBarD.dpi/2);
+ px += (wWinPix_t)(tbm->w*hotBarD.dpi/2);
titleP = tbm->proc( HB_LISTTITLE, tbm->context, NULL, NULL );
px -= wLabelWidth( titleP ) / 2;
wControlSetBalloon( (wControl_p)hotBarD.d, px, -20, titleP );
@@ -386,7 +413,7 @@ static BOOL_T HotBarSelectPlayback( char * line )
static void HotbarJump( int inx, const char * name, void * arg )
{
- hotBarCurrStart = (int)(long)arg;
+ hotBarCurrStart = (int)VP2L(arg);
RedrawHotBar( hotBarD.d, NULL, 0, 0 );
}
@@ -412,19 +439,22 @@ EXPORT void AddHotBarElement(
hotBarMap_t * tbm;
coOrd textsize;
- if ( contentsLabel && strncmp(contentsLabel, curContentsLabel, sizeof curContentsLabel) != 0 ) {
- wMenuListAdd( hotBarML, hotBarMLcnt++, contentsLabel, (void*)(intptr_t)hotBarMap_da.cnt );
+ if ( contentsLabel && strncmp(contentsLabel, curContentsLabel, sizeof curContentsLabel) != 0 && !isFixed ) {
+ wMenuListAdd( hotBarML, hotBarMLcnt++, contentsLabel, I2VP(hotBarMap_da.cnt) );
strncpy( curContentsLabel, contentsLabel, sizeof curContentsLabel );
}
-
if (barScale <= 0) {
if (!isTrack)
- barScale = size.y/((double)hotBarDrawHeight/hotBarD.dpi);
+ barScale = size.y/(((double)hotBarHeight-2.0)/hotBarD.dpi);
else if (isTrack) {
- barScale = (trackGauge>0.1)?trackGauge*24:10;
- if (size.y >= size.x)
- barScale = size.y/((double)hotBarDrawHeight/hotBarD.dpi);
+ // size.y += 2.0 * trackGauge;
+ barScale = (trackGauge>0.1)?trackGauge*(36-hotBarHeight/2):10.0;
+ // barScale = 2.0 / ((hotBarHeight-2.0) / hotBarD.dpi);
+ //if (size.y >= size.x)
+ if (size.y/barScale > ((double)hotBarHeight-2.0)/hotBarD.dpi)
+ barScale = (size.y+2.0*trackGauge)/(((double)hotBarHeight-2.0)/hotBarD.dpi);
}
+ // orig.y += 1.0/hotBarD.dpi;
}
DYNARR_APPEND( hotBarMap_t, hotBarMap_da, 10 );
tbm = &hotBarMap(hotBarMap_da.cnt-1);
@@ -465,27 +495,27 @@ static void ChangeHotBar( long changes )
if ( hotBarLabels && !hotBarFp )
hotBarFp = wStandardFont( F_HELV, FALSE, FALSE );
if (hotBarLeftB != NULL && curScaleName) {
- hotBarWidth = 0.0;
- hotBarMLcnt = 0;
- wMenuListClear( hotBarML );
- DYNARR_RESET( hotBarMap_t, hotBarMap_da );
- curContentsLabel[0] = '\0';
- if ( programMode == MODE_DESIGN ) {
- if (showFlexTrack)
- AddHotBarCornu();
- AddHotBarTurnouts();
- AddHotBarStructures();
- } else {
- AddHotBarCarDesc();
- }
+ hotBarWidth = 0.0;
+ hotBarMLcnt = 0;
+ wMenuListClear( hotBarML );
+ DYNARR_RESET( hotBarMap_t, hotBarMap_da );
+ curContentsLabel[0] = '\0';
+ if ( programMode == MODE_DESIGN ) {
+ if (showFlexTrack)
+ AddHotBarCornu();
+ AddHotBarTurnouts();
+ AddHotBarStructures();
+ } else {
+ AddHotBarCarDesc();
+ }
- if ( programModeOld != programMode ) {
- hotBarCurrSelects[0] = hotBarCurrSelects[1] = -1;
- programModeOld = programMode;
- }
- if (hotBarMap_da.cnt > 0 && (hotBarCurrStart >= hotBarMap_da.cnt||hotBarCurrStart < 0))
- hotBarCurrStart = 0;
- RedrawHotBar( NULL, NULL, 0, 0 );
+ if ( programModeOld != programMode ) {
+ hotBarCurrSelects[0] = hotBarCurrSelects[1] = -1;
+ programModeOld = programMode;
+ }
+ if (hotBarMap_da.cnt > 0 && (hotBarCurrStart >= hotBarMap_da.cnt||hotBarCurrStart < 0))
+ hotBarCurrStart = 0;
+ RedrawHotBar( NULL, NULL, 0, 0 );
}
}
@@ -501,45 +531,52 @@ EXPORT void InitHotBar( void )
hotBarCurrStart = (int)v;
hotbarPopupM = MenuRegister( "Hotbar Select" );
hotBarML = wMenuListCreate( hotbarPopupM, "", -1, HotbarJump );
+ hotBarHeight = hotBarDrawHeight[iconSize];
+ hotBarFs = hotBarFontSize[iconSize];
}
EXPORT void LayoutHotBar( void * redraw )
{
- wPos_t buttonWidth, winWidth, winHeight;
+ wWinPix_t buttonHeight, buttonWidth, winWidth, winHeight;
+ wWinPix_t hbHeight = hotBarHeight;
BOOL_T initialize = FALSE;
wWinGetSize( mainW, &winWidth, &winHeight );
- hotBarHeight = hotBarDrawHeight;
+ /** @prefs [Preference] LargeIcons=1.5 Sets Icon scaling limits 1.0 to 2.0 */
double scaleicon;
wPrefGetFloat(PREFSECTION, LARGEICON, &scaleicon, 1.0);
if (scaleicon<1.0) scaleicon=1.0;
if (scaleicon>2.0) scaleicon=2.0;
- if (scaleicon>1.0) {
- hotBarHeight = hotBarHeight*scaleicon;
- }
+ //if (scaleicon>1.0) {
+ // hotBarHeight = (wWinPix_t)(hotBarHeight);
+ //}
+ hotBarTextHeight = (wWinPix_t)round(wMessageGetHeight(0L) * (0.5 + (double)iconSize / 10.0));
+
if ( hotBarLabels) {
- hotBarHeight += wMessageGetHeight(0L);
+ hbHeight += hotBarTextHeight;
}
if (hotBarLeftB == NULL) {
wIcon_p bm_p;
if (winWidth < 50)
return;
bm_p = wIconCreateBitMap( 16, 16, turnbarl_bits, wDrawColorBlack );
- hotBarLeftB = wButtonCreate( mainW, 0, 0, "hotBarLeft", (char*)bm_p, BO_ICON, 0, DoHotBarLeft, NULL );
+ hotBarLeftB = wButtonCreate( mainW, 0, 0, "hotBarLeft", (char*)bm_p, BO_ICON|BO_REPEAT, 0, DoHotBarLeft, NULL );
bm_p = wIconCreateBitMap( 16, 16, turnbarr_bits, wDrawColorBlack );
- hotBarRightB = wButtonCreate( mainW, 0, 0, "hotBarRight", (char*)bm_p, BO_ICON, 0, DoHotBarRight, NULL );
- hotBarD.d = wDrawCreate( mainW, 0, 0, NULL, BD_NOCAPTURE|BD_NOFOCUS, 100, hotBarHeight, NULL, RedrawHotBar, SelectHotBar );
+ hotBarRightB = wButtonCreate( mainW, 0, 0, "hotBarRight", (char*)bm_p, BO_ICON|BO_REPEAT, 0, DoHotBarRight, NULL );
+ hotBarD.d = wDrawCreate( mainW, 0, 0, NULL, BD_NOCAPTURE|BD_NOFOCUS, 100, hbHeight, NULL, RedrawHotBar, SelectHotBar );
hotBarD.dpi = wDrawGetDPI( hotBarD.d );
hotBarD.scale = 1.0;
+ wSetCursor(hotBarD.d,wCursorNormal);
initialize = TRUE;
}
buttonWidth = wControlGetWidth((wControl_p)hotBarLeftB);
- wControlSetPos( (wControl_p)hotBarLeftB, 0, toolbarHeight );
- wControlSetPos( (wControl_p)hotBarRightB, winWidth-20-buttonWidth, toolbarHeight );
- wControlSetPos( (wControl_p)hotBarD.d, buttonWidth, toolbarHeight );
- wDrawSetSize( hotBarD.d, winWidth-20-buttonWidth*2, hotBarHeight+2, redraw );
+ buttonHeight = wControlGetHeight((wControl_p)hotBarLeftB);
+ wControlSetPos( (wControl_p)hotBarLeftB, HOTBAR_LEFT, toolbarHeight+(hbHeight-buttonHeight)/2 );
+ wControlSetPos( (wControl_p)hotBarRightB, winWidth-20-buttonWidth+HOTBAR_LEFT+1, toolbarHeight+(hbHeight-buttonHeight)/2 );
+ wControlSetPos( (wControl_p)hotBarD.d, buttonWidth+HOTBAR_LEFT+1, toolbarHeight );
+ wDrawSetSize( hotBarD.d, winWidth-20-buttonWidth*2, hbHeight+2, redraw );
hotBarD.size.x = ((double)(winWidth-20-buttonWidth*2))/hotBarD.dpi*hotBarD.scale;
- hotBarD.size.y = (double)hotBarDrawHeight/hotBarD.dpi*hotBarD.scale; //Exclude Label from calc
+ hotBarD.size.y = (double)hotBarHeight/hotBarD.dpi*hotBarD.scale; //Exclude Label from calc
wControlShow( (wControl_p)hotBarLeftB, TRUE );
wControlShow( (wControl_p)hotBarRightB, TRUE );
wControlShow( (wControl_p)hotBarD.d, TRUE );
@@ -547,7 +584,7 @@ EXPORT void LayoutHotBar( void * redraw )
ChangeHotBar( CHANGE_PARAMS );
else if (!redraw)
RedrawHotBar( NULL, NULL, 0, 0 );
- toolbarHeight += hotBarHeight+3;
+ toolbarHeight += hbHeight+3;
}
void HideHotBar( void )
diff --git a/app/bin/cjoin.c b/app/bin/cjoin.c
index 71f4dae..a027327 100644
--- a/app/bin/cjoin.c
+++ b/app/bin/cjoin.c
@@ -30,16 +30,14 @@
#include "cstraigh.h"
#include "cjoin.h"
#include "ccornu.h"
-#include "i18n.h"
-#include "utility.h"
-#include "math.h"
-#include "messages.h"
#include "param.h"
#include "cundo.h"
#include "cselect.h"
#include "fileio.h"
+#include "common-ui.h"
static BOOL_T debug = 0;
+/** @logcmd @showrefby join=n cjoin.c */
static int log_join = 0;
typedef struct {
curveType_e type;
@@ -101,7 +99,7 @@ LOG( log_join, 2, (
/* 3 - cases: */
if (b >= 360.0-connectAngle/2.0 || b <= connectAngle/2.0) {
/* CASE 1: antiparallel */
- FindPos( &off, NULL, pos1, pos0, a0, 10000.0 );
+ FindPos( &off, NULL, pos1, pos0, a0, DIST_INF );
res->arcR = off.y/2.0;
res->arcA1 = 180.0;
LOG( log_join, 3, ("JwL: parallel: off.y=%0.3f\n", off.y ) )
@@ -115,7 +113,7 @@ LOG( log_join, 3, ("JwL: parallel: off.y=%0.3f\n", off.y ) )
}
} else if (b >= 180.0-connectAngle/2.0 && b <= 180.0+connectAngle/2.0) {
/* CASE 2: parallel, possibly colinear? */
- FindPos( &off, &beyond, pos0, pos1, a0, 100000.0 );
+ FindPos( &off, &beyond, pos0, pos1, a0, DIST_INF );
LOG( log_join, 3, ("JwL: colinear? off.y=%0.3f\n", off.y ) )
if (off.y > -connectDistance && off.y < connectDistance) {
res->type = curveTypeStraight;
@@ -389,8 +387,8 @@ static STATUS_T DoMoveToJoin( coOrd pos )
}
if ( (Dj.inp[Dj.joinMoveState].trk = OnTrack( &pos, TRUE, TRUE )) == NULL )
return C_CONTINUE;
- if (!CheckTrackLayer( Dj.inp[Dj.joinMoveState].trk ) )
- return C_CONTINUE;
+ // if (Dj.joinMoveState == 0 && !CheckTrackLayerSilent( Dj.inp[Dj.joinMoveState].trk ) )
+ // return C_CONTINUE;
Dj.inp[Dj.joinMoveState].params.ep = PickUnconnectedEndPoint( pos, Dj.inp[Dj.joinMoveState].trk ); /* CHECKME */
if ( Dj.inp[Dj.joinMoveState].params.ep == -1 ) {
#ifdef LATER
@@ -477,6 +475,7 @@ static STATUS_T CmdJoinLine(
tempSegs_da.cnt = 0;
DYNARR_RESET(trkSeg_t,Dl.newLine);
Dl.curr_line = NULL;
+ SetAllTrackSelect( FALSE );
return C_CONTINUE;
case wActionMove:
DYNARR_RESET(trkSeg_t,Dl.anchors_da);
@@ -527,10 +526,18 @@ static STATUS_T CmdJoinLine(
DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.polyType = POLYLINE;
DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.pts = MyMalloc(sizeof(pts_t)*Dl.params.nodes.cnt);
DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.cnt = Dl.params.nodes.cnt;
- //Copy in reverse as we want this point to be last
- for (int i=0;i<Dl.params.nodes.cnt;i++) {
- DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.pts[i].pt = DYNARR_N(coOrd,Dl.params.nodes,Dl.params.nodes.cnt-1-i);
- DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.pts[i].pt_type = wPolyLineStraight;
+ if (Dl.params.ep) {
+ //Copy in reverse as we want this point to be last
+ for (int i=Dl.params.nodes.cnt-1,j=0;i>=0;i--,j++) {
+ DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.pts[j].pt = DYNARR_N(coOrd,Dl.params.nodes,i);
+ DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.pts[j].pt_type = wPolyLineStraight;
+ }
+ } else {
+ //Copy forwards to end up with this point last
+ for (int i=0; i<Dl.params.nodes.cnt;i++) {
+ DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.pts[i].pt = DYNARR_N(coOrd,Dl.params.nodes,i);
+ DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.pts[i].pt_type = wPolyLineStraight;
+ }
}
InfoMessage( _("Left click - Select second object end") );
} else {
@@ -562,10 +569,18 @@ static STATUS_T CmdJoinLine(
if (IsClose(FindDistance(Dl.inp[0].pos,Dl.inp[1].pos)))
join_near = TRUE;
DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.pts = MyRealloc(DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.pts,sizeof(pts_t)*(old_cnt+Dl.params.nodes.cnt-join_near));
- //Copy forwards as this point is first
- for (int i=join_near;i<Dl.params.nodes.cnt;i++) {
- DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.pts[i-join_near+old_cnt].pt = DYNARR_N(coOrd,Dl.params.nodes,i);
- DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.pts[i-join_near+old_cnt].pt_type = wPolyLineStraight;
+ if (Dl.params.ep) {
+ //Copy forwards as this point is first
+ for (int i=join_near,j=old_cnt;i<Dl.params.nodes.cnt;i++,j++) {
+ DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.pts[j].pt = DYNARR_N(coOrd,Dl.params.nodes,i);
+ DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.pts[j].pt_type = wPolyLineStraight;
+ }
+ } else {
+ //Copy backwards as this point is last
+ for (int i=Dl.params.nodes.cnt-join_near-1,j=old_cnt;i>=0;i--,j++) {
+ DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.pts[j].pt = DYNARR_N(coOrd,Dl.params.nodes,i);
+ DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.pts[j].pt_type = wPolyLineStraight;
+ }
}
DYNARR_LAST(trkSeg_t,Dl.newLine).u.p.cnt += Dl.params.nodes.cnt-join_near;
}
@@ -653,7 +668,7 @@ static paramData_t joinPLs[] = {
#define joinRadI 0
{ PD_FLOAT, &desired_radius, "radius", PDO_DIM, &r_0_10000, N_("Desired Radius") }
};
-static paramGroup_t joinPG = { "join-fixed", 0, joinPLs, sizeof joinPLs/sizeof joinPLs[0] };
+static paramGroup_t joinPG = { "joinfixed", 0, joinPLs, COUNT( joinPLs ) };
@@ -849,6 +864,11 @@ static STATUS_T CmdJoin(
trackParams_t moveParams;
if (!GetTrackParams( PARAMS_1ST_JOIN, trk, pos, &moveParams ))
return C_CONTINUE;
+ if (moveParams.type == curveTypeBezier || moveParams.type == curveTypeCornu) {
+ if (!(easementVal<0)) {
+ return C_CONTINUE;
+ }
+ }
ep = PickUnconnectedEndPointSilent(pos,trk);
if (ep <0) return C_CONTINUE;
if (IsClose(FindDistance(GetTrkEndPos(trk,ep),pos)))
@@ -888,10 +908,17 @@ LOG( log_join, 1, ("JOIN: 1st track %d @[%0.3f %0.3f]\n",
GetTrkIndex(Dj.inp[0].trk), Dj.inp[0].pos.x, Dj.inp[1].pos.y ) )
if (!GetTrackParams( PARAMS_1ST_JOIN, Dj.inp[0].trk, pos, &Dj.inp[0].params ))
return C_CONTINUE;
+ if (Dj.inp[0].params.type == curveTypeBezier || Dj.inp[0].params.type == curveTypeCornu) {
+ if (!(easementVal<0 && Dj.cornuMode)) {
+ ErrorMessage( MSG_JOIN_NOTBEZIERORCORNU);
+ return C_CONTINUE;
+ }
+ }
Dj.inp[0].realType = GetTrkType(Dj.inp[0].trk);
InfoMessage( _("Select 2nd track") );
Dj.state = 1;
- wPrefGetFloat("misc", "desired_radius", &desired_radius, desired_radius);
+ sprintf(message, "desired_radius-%s", curScaleName);
+ wPrefGetFloat("misc", message, &desired_radius, desired_radius);
controls[0] = joinRadPD.control;
controls[1] = NULL;
labels[0] = N_("Desired Radius");
@@ -944,6 +971,12 @@ LOG( log_join, 1, ("P1=[%0.3f %0.3f]\n", pos.x, pos.y ) )
return C_CONTINUE;
}
}
+ if (Dj.inp[1].params.type == curveTypeBezier || Dj.inp[1].params.type == curveTypeCornu) {
+ if (!(easementVal<0 && Dj.cornuMode)) {
+ ErrorMessage( MSG_JOIN_NOTBEZIERORCORNU);
+ return C_CONTINUE;
+ }
+ }
rc = C_CONTINUE;
if ( MergeTracks( Dj.inp[0].trk, Dj.inp[0].params.ep,
Dj.inp[1].trk, Dj.inp[1].params.ep ) ) {
@@ -1027,6 +1060,8 @@ LOG( log_join, 3, ("P1=[%0.3f %0.3f]\n", pos.x, pos.y ) )
}
coOrd pos1 = pos;
if (AdjustPosToRadius(&pos1,desired_radius+(Dj.jointD[0].x), na0, na1)) {
+ // Make sure this is initialized
+ beyond = 1.0;
if (Dj.inp[1].params.type == curveTypeStraight) {
FindPos( &off, &beyond, pos1, Dj.inp[1].params.lineOrig, Dj.inp[1].params.angle,
FindDistance(Dj.inp[1].params.lineOrig,Dj.inp[1].params.lineEnd) );
@@ -1079,7 +1114,7 @@ LOG( log_join, 3, ("P1=[%0.3f %0.3f]\n", pos.x, pos.y ) )
break;
case curveTypeStraight:
FindPos( &off, &beyond, pos, Dj.inp[1].params.lineOrig, Dj.inp[1].params.angle,
- 100000 );
+ DIST_INF );
Translate( &Dj.inp[1].pos, Dj.inp[1].params.lineOrig, Dj.inp[1].params.angle,
off.x );
normalAngle = NormalizeAngle( Dj.inp[1].params.angle +
@@ -1142,7 +1177,7 @@ LOG( log_join, 3, (" -E POS0=[%0.3f %0.3f] POS1=[%0.3f %0.3f]\n",
switch ( Dj.inp[0].params.type ) {
case curveTypeStraight:
FindPos( &off, &beyond, Dj.inp_pos[0], Dj.inp[0].params.lineOrig,
- Dj.inp[0].params.angle, 100000.0 );
+ Dj.inp[0].params.angle, DIST_INF );
if (beyond < 0.0) {
InfoMessage(_("Beyond end of 1st track"));
goto errorReturn;
@@ -1153,7 +1188,7 @@ LOG( log_join, 3, (" -E POS0=[%0.3f %0.3f] POS1=[%0.3f %0.3f]\n",
break;
case curveTypeCurve:
if (IsCurveCircle(Dj.inp[0].trk)) {
- d = 10000.0;
+ d = DIST_INF;
} else {
a = FindAngle( Dj.inp[0].params.arcP, Dj.inp_pos[0] );
if (Dj.inp[0].params.ep == 0)
@@ -1185,7 +1220,7 @@ LOG( log_join, 3, (" -E POS0=[%0.3f %0.3f] POS1=[%0.3f %0.3f]\n",
break;
case curveTypeCurve:
if (IsCurveCircle(Dj.inp[1].trk)) {
- d = 10000.0;
+ d = DIST_INF;
} else {
a = FindAngle( Dj.inp[1].params.arcP, Dj.inp_pos[1] );
if (Dj.inp[1].params.ep == 0)
@@ -1332,8 +1367,10 @@ errorReturn:
Dj.state = 0;
DYNARR_RESET(trkSeg_t,Dj.anchors);
rc = C_TERMINATE;
- if (easementVal == 0.0)
- wPrefSetFloat("misc", "desired_radius", desired_radius);
+ if (easementVal == 0.0) {
+ sprintf(message, "desired_radius-%s", curScaleName);
+ wPrefSetFloat("misc", message, desired_radius);
+ }
if ( (!JoinTracks( Dj.inp[0].trk, Dj.inp[0].params.ep, Dj.inp_pos[0],
trk, ep, Dj.jRes.pos[0], &Dj.jointD[0] ) ) ||
(!JoinTracks( Dj.inp[1].trk, Dj.inp[1].params.ep, Dj.inp_pos[1],
@@ -1350,12 +1387,15 @@ errorReturn:
return rc;
case C_CANCEL:
+ SetAllTrackSelect( FALSE );
if (infoSubst)
InfoSubstituteControls(NULL, NULL);
infoSubst = FALSE;
break;
case C_REDRAW:
+ DrawHighlightBoxes(FALSE,FALSE,NULL);
+ HighlightSelectedTracks(NULL, TRUE, TRUE);
if ( Dj.joinMoveState == 1 || Dj.state == 1 ) {
DrawFillCircle( &tempD, Dj.inp[0].pos, 0.10*mainD.scale, selectedColor );
} else if (easementVal<0 && Dj.joinMoveState == 0)
@@ -1367,6 +1407,7 @@ errorReturn:
case C_TEXT:
case C_OK:
+ SetAllTrackSelect( FALSE );
if (easementVal<0 && Dj.cornuMode)
return CmdCornu(action,pos);
if (infoSubst)
@@ -1387,14 +1428,15 @@ errorReturn:
*/
#include "bitmaps/join.xpm"
-#include "bitmaps/joinline.xpm"
+#include "bitmaps/join-line.xpm"
void InitCmdJoin( wMenu_p menu )
{
ButtonGroupBegin( _("Join"), "cmdJoinSetCmd", _("Join") );
- joinCmdInx = AddMenuButton( menu, CmdJoin, "cmdJoinTrack", _("Join Track"), wIconCreatePixMap(join_xpm), LEVEL0_50, IC_STICKY|IC_POPUP|IC_WANT_MOVE, ACCL_JOIN, NULL );
- AddMenuButton( menu, CmdJoinLine, "cmdJoinLine", _("Join Lines"), wIconCreatePixMap(joinline_xpm), LEVEL0_50, IC_STICKY|IC_POPUP|IC_WANT_MOVE, ACCL_JOIN, NULL );
+ joinCmdInx = AddMenuButton( menu, CmdJoin, "cmdJoinTrack", _("Join Track"), wIconCreatePixMap(join_xpm[iconSize]), LEVEL0_50, IC_STICKY|IC_POPUP|IC_WANT_MOVE, ACCL_JOIN, NULL );
+ AddMenuButton( menu, CmdJoinLine, "cmdJoinLine", _("Join Lines"), wIconCreatePixMap(join_line_xpm[iconSize]), LEVEL0_50, IC_STICKY|IC_POPUP|IC_WANT_MOVE, ACCL_JOIN, NULL );
ButtonGroupEnd();
+ /** @logcmd @showrefby join=n cjoin.c Log Join Lines and Tracks command */
log_join = LogFindIndex( "join" );
}
diff --git a/app/bin/cjoin.h b/app/bin/cjoin.h
index 8d9c7e3..eabdce0 100644
--- a/app/bin/cjoin.h
+++ b/app/bin/cjoin.h
@@ -23,8 +23,6 @@
#define HAVE_CJOIN_H
#include "common.h"
-#include "wlib.h"
-#include "track.h"
#define E_NOTREQ (0)
#define E_REQ (1)
@@ -48,6 +46,7 @@ void UndoJoint( track_p, EPINX_T, track_p, EPINX_T );
void DrawJointTrack( drawCmd_p, coOrd, ANGLE_T, DIST_T, DIST_T, DIST_T, DIST_T, BOOL_T, BOOL_T, BOOL_T, track_p, EPINX_T, EPINX_T, DIST_T, wDrawColor, long );
DIST_T JointDistance( coOrd *, coOrd, ANGLE_T, DIST_T, DIST_T, DIST_T, DIST_T, BOOL_T, BOOL_T );
coOrd GetJointSegEndPos( coOrd, ANGLE_T, DIST_T, DIST_T, DIST_T, DIST_T, BOOL_T, BOOL_T, BOOL_T, EPINX_T, ANGLE_T * );
+DIST_T JointDescriptionDistance(coOrd pos, track_p trk, coOrd * dpos, BOOL_T show_hidden, BOOL_T * hidden);
#endif // !HAVE_CJOIN_H
diff --git a/app/bin/cmisc.c b/app/bin/cmisc.c
index b41ae42..9685503 100644
--- a/app/bin/cmisc.c
+++ b/app/bin/cmisc.c
@@ -20,15 +20,13 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdint.h>
-
#include "common.h"
-#include "utility.h"
#include "cundo.h"
-#include "i18n.h"
-#include "messages.h"
#include "param.h"
+#include "fileio.h"
+#include "cselect.h"
#include "track.h"
+#include "common-ui.h"
EXPORT wIndex_t describeCmdInx;
EXPORT BOOL_T inDescribeCmd;
@@ -45,8 +43,8 @@ static POS_T descBorder;
static wDrawColor descColor = 0;
static BOOL_T descUndoStarted;
static BOOL_T descNeedDrawHilite;
-static wPos_t describeW_posy;
-static wPos_t describeCmdButtonEnd;
+static wWinPix_t describeW_posy;
+static wWinPix_t describeCmdButtonEnd;
static wMenu_p descPopupM;
@@ -60,65 +58,65 @@ static char * pivotLabels[] = { N_("First"), N_("Middle"), N_("End"), NULL };
static char * boxLabels[] = { "", NULL };
static paramData_t describePLs[] = {
#define I_FLOAT_0 (0)
- { PD_FLOAT, NULL, "F1", 0, &rdata },
- { PD_FLOAT, NULL, "F2", 0, &rdata },
- { PD_FLOAT, NULL, "F3", 0, &rdata },
- { PD_FLOAT, NULL, "F4", 0, &rdata },
- { PD_FLOAT, NULL, "F5", 0, &rdata },
- { PD_FLOAT, NULL, "F6", 0, &rdata },
- { PD_FLOAT, NULL, "F7", 0, &rdata },
- { PD_FLOAT, NULL, "F8", 0, &rdata },
- { PD_FLOAT, NULL, "F9", 0, &rdata },
- { PD_FLOAT, NULL, "F10", 0, &rdata },
- { PD_FLOAT, NULL, "F11", 0, &rdata },
- { PD_FLOAT, NULL, "F12", 0, &rdata },
- { PD_FLOAT, NULL, "F13", 0, &rdata },
- { PD_FLOAT, NULL, "F14", 0, &rdata },
- { PD_FLOAT, NULL, "F15", 0, &rdata },
- { PD_FLOAT, NULL, "F16", 0, &rdata },
- { PD_FLOAT, NULL, "F17", 0, &rdata },
- { PD_FLOAT, NULL, "F18", 0, &rdata },
- { PD_FLOAT, NULL, "F19", 0, &rdata },
- { PD_FLOAT, NULL, "F20", 0, &rdata },
- { PD_FLOAT, NULL, "F21", 0, &rdata },
- { PD_FLOAT, NULL, "F22", 0, &rdata },
- { PD_FLOAT, NULL, "F23", 0, &rdata },
- { PD_FLOAT, NULL, "F24", 0, &rdata },
- { PD_FLOAT, NULL, "F25", 0, &rdata },
- { PD_FLOAT, NULL, "F26", 0, &rdata },
- { PD_FLOAT, NULL, "F27", 0, &rdata },
- { PD_FLOAT, NULL, "F28", 0, &rdata },
- { PD_FLOAT, NULL, "F29", 0, &rdata },
- { PD_FLOAT, NULL, "F30", 0, &rdata },
- { PD_FLOAT, NULL, "F31", 0, &rdata },
- { PD_FLOAT, NULL, "F32", 0, &rdata },
- { PD_FLOAT, NULL, "F33", 0, &rdata },
- { PD_FLOAT, NULL, "F34", 0, &rdata },
- { PD_FLOAT, NULL, "F35", 0, &rdata },
- { PD_FLOAT, NULL, "F36", 0, &rdata },
- { PD_FLOAT, NULL, "F37", 0, &rdata },
- { PD_FLOAT, NULL, "F38", 0, &rdata },
- { PD_FLOAT, NULL, "F39", 0, &rdata },
- { PD_FLOAT, NULL, "F40", 0, &rdata },
+ { PD_FLOAT, NULL, "F1", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F2", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F3", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F4", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F5", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F6", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F7", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F8", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F9", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F10", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F11", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F12", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F13", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F14", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F15", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F16", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F17", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F18", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F19", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F20", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F21", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F22", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F23", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F24", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F25", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F26", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F27", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F28", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F29", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F30", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F31", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F32", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F33", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F34", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F35", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F36", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F37", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F38", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F39", PDO_NOPREF, &rdata },
+ { PD_FLOAT, NULL, "F40", PDO_NOPREF, &rdata },
#define I_FLOAT_N I_FLOAT_0+40
#define I_LONG_0 I_FLOAT_N
- { PD_LONG, NULL, "I1", 0, &idata },
- { PD_LONG, NULL, "I2", 0, &idata },
- { PD_LONG, NULL, "I3", 0, &idata },
- { PD_LONG, NULL, "I4", 0, &idata },
- { PD_LONG, NULL, "I5", 0, &idata },
+ { PD_LONG, NULL, "I1", PDO_NOPREF, &idata },
+ { PD_LONG, NULL, "I2", PDO_NOPREF, &idata },
+ { PD_LONG, NULL, "I3", PDO_NOPREF, &idata },
+ { PD_LONG, NULL, "I4", PDO_NOPREF, &idata },
+ { PD_LONG, NULL, "I5", PDO_NOPREF, &idata },
#define I_LONG_N I_LONG_0+5
#define I_STRING_0 I_LONG_N
- { PD_STRING, NULL, "S1", 0, (void*)300 },
- { PD_STRING, NULL, "S2", 0, (void*)300 },
- { PD_STRING, NULL, "S3", 0, (void*)300 },
- { PD_STRING, NULL, "S4", 0, (void*)300 },
+ { PD_STRING, NULL, "S1", PDO_NOPREF, I2VP(300) },
+ { PD_STRING, NULL, "S2", PDO_NOPREF, I2VP(300) },
+ { PD_STRING, NULL, "S3", PDO_NOPREF, I2VP(300) },
+ { PD_STRING, NULL, "S4", PDO_NOPREF, I2VP(300) },
#define I_STRING_N I_STRING_0+4
#define I_LAYER_0 I_STRING_N
- { PD_DROPLIST, NULL, "Y1", 0, (void*)150, NULL, 0 },
+ { PD_DROPLIST, NULL, "Y1", PDO_NOPREF, I2VP(150), NULL, 0 },
#define I_LAYER_N I_LAYER_0+1
#define I_COLOR_0 I_LAYER_N
@@ -126,22 +124,22 @@ static paramData_t describePLs[] = {
#define I_COLOR_N I_COLOR_0+1
#define I_LIST_0 I_COLOR_N
- { PD_DROPLIST, NULL, "L1", 0, (void*)150, NULL, 0 },
- { PD_DROPLIST, NULL, "L2", 0, (void*)150, NULL, 0 },
- { PD_DROPLIST, NULL, "L3", 0, (void*)150, NULL, 0 },
- { PD_DROPLIST, NULL, "L4", 0, (void*)150, NULL, 0 },
+ { PD_DROPLIST, NULL, "L1", PDO_NOPREF, I2VP(150), NULL, 0 },
+ { PD_DROPLIST, NULL, "L2", PDO_NOPREF, I2VP(150), NULL, 0 },
+ { PD_DROPLIST, NULL, "L3", PDO_NOPREF, I2VP(150), NULL, 0 },
+ { PD_DROPLIST, NULL, "L4", PDO_NOPREF, I2VP(150), NULL, 0 },
#define I_LIST_N I_LIST_0+4
#define I_EDITLIST_0 I_LIST_N
- { PD_DROPLIST, NULL, "LE1", 0, (void*)150, NULL, BL_EDITABLE },
+ { PD_DROPLIST, NULL, "LE1", PDO_NOPREF, I2VP(150), NULL, BL_EDITABLE },
#define I_EDITLIST_N I_EDITLIST_0+1
#define I_TEXT_0 I_EDITLIST_N
- { PD_TEXT, NULL, "T1", 0, &tdata, NULL, BT_HSCROLL },
+ { PD_TEXT, NULL, "T1", PDO_NOPREF, &tdata, NULL, BT_HSCROLL },
#define I_TEXT_N I_TEXT_0+1
#define I_PIVOT_0 I_TEXT_N
- { PD_RADIO, NULL, "P1", 0, pivotLabels, N_("Pivot"), BC_HORZ|BC_NOBORDER, 0 },
+ { PD_RADIO, NULL, "P1", PDO_NOPREF, pivotLabels, N_("Lock"), BC_HORZ|BC_NOBORDER, 0 },
#define I_PIVOT_N I_PIVOT_0+1
#define I_TOGGLE_0 I_PIVOT_N
@@ -152,7 +150,7 @@ static paramData_t describePLs[] = {
#define I_TOGGLE_N I_TOGGLE_0+4
};
-static paramGroup_t describePG = { "describe", 0, describePLs, sizeof describePLs/sizeof describePLs[0] };
+static paramGroup_t describePG = { "describe", 0, describePLs, COUNT( describePLs ) };
/**
* A mapping table is used to map the index in the dropdown list to the layer
@@ -198,8 +196,6 @@ SearchEditableLayerList(unsigned int layer)
static void DrawDescHilite(BOOL_T selected)
{
- wPos_t x, y, w, h;
-
if (descNeedDrawHilite == FALSE) {
return;
}
@@ -207,11 +203,7 @@ static void DrawDescHilite(BOOL_T selected)
if (descColor==0) {
descColor = wDrawColorGray(87);
}
-
- w = (wPos_t)((descSize.x/mainD.scale)*mainD.dpi+0.5);
- h = (wPos_t)((descSize.y/mainD.scale)*mainD.dpi+0.5);
- mainD.CoOrd2Pix(&mainD,descOrig,&x,&y);
- wDrawFilledRectangle(tempD.d, x, y, w, h, selected?descColor:wDrawColorBlue, wDrawOptTemp|wDrawOptTransparent);
+ DrawRectangle(&tempD, descOrig, descSize, selected?descColor:wDrawColorBlue, DRAW_TRANSPARENT);
}
@@ -248,26 +240,27 @@ static void DescribeUpdate(
}
UndoModify(descTrk);
- descUpdateFunc(descTrk, ddp-descData, descData, FALSE);
+ descUpdateFunc(descTrk, (int)(ddp-descData), descData, FALSE);
if (descTrk) {
GetBoundingBox(descTrk, &hi, &lo);
+ if ((ddp->mode&DESC_NOREDRAW) == 0) {
+ descOrig = lo;
+ descSize = hi;
+ descOrig.x -= descBorder;
+ descOrig.y -= descBorder;
+ descSize.x -= descOrig.x-descBorder;
+ descSize.y -= descOrig.y-descBorder;
+ }
+
if (OFF_D(mapD.orig, mapD.size, descOrig, descSize)) {
ErrorMessage(MSG_MOVE_OUT_OF_BOUNDS);
}
}
- if ((ddp->mode&DESC_NOREDRAW) == 0) {
- descOrig = lo;
- descSize = hi;
- descOrig.x -= descBorder;
- descOrig.y -= descBorder;
- descSize.x -= descOrig.x-descBorder;
- descSize.y -= descOrig.y-descBorder;
- }
- for (inx = 0; inx < sizeof describePLs/sizeof describePLs[0]; inx++) {
+ for (inx = 0; inx < COUNT( describePLs ); inx++) {
if ((describePLs[inx].option & PDO_DLGIGNORE) != 0) {
continue;
}
@@ -283,6 +276,12 @@ static void DescribeUpdate(
continue;
}
+ if (ddp->mode&DESC_RO) {
+ wControlActive(ddp->control0, FALSE);
+ } else {
+ wControlActive(ddp->control0, TRUE);
+ }
+
ddp->mode &= ~DESC_CHANGE;
if (ddp->type == DESC_POS) { //POS Has two fields
if (ddp->mode&DESC_CHANGE2) {
@@ -291,6 +290,7 @@ static void DescribeUpdate(
ddp->mode |= DESC_CHANGE2; //First time
}
}
+
ParamLoadControl(&describePG, inx);
}
}
@@ -351,7 +351,7 @@ static struct {
*/
static wControl_p AssignParamToDescribeDialog(descData_p ddp, void * valueP, char * label,
- wPos_t sep)
+ wWinPix_t sep)
{
int inx;
@@ -393,12 +393,12 @@ static wControl_p AssignParamToDescribeDialog(descData_p ddp, void * valueP, cha
static void DescribeLayout(
paramData_t * pd,
int inx,
- wPos_t colX,
- wPos_t * x,
- wPos_t * y)
+ wWinPix_t colX,
+ wWinPix_t * x,
+ wWinPix_t * y)
{
descData_p ddp;
- wPos_t w, h;
+ wWinPix_t w, h;
if (inx < 0) {
return;
@@ -463,7 +463,7 @@ void DoDescribe(char * title, track_p trk, descData_p data, descUpdate_t update)
describeCmdButtonEnd = wControlBelow((wControl_p)describePG.helpB);
}
- for (inx=0; inx<sizeof describePLs/sizeof describePLs[0]; inx++) {
+ for (inx=0; inx<COUNT( describePLs ); inx++) {
describePLs[inx].option = PDO_DLGIGNORE;
wControlShow(describePLs[inx].control, FALSE);
}
@@ -476,7 +476,7 @@ void DoDescribe(char * title, track_p trk, descData_p data, descUpdate_t update)
continue;
}
- ddp->mode |= ro_mode;
+ ddp->mode |= DESC_RO;
}
for (ddp=data; ddp->type != DESC_NULL; ddp++) {
@@ -488,7 +488,8 @@ void DoDescribe(char * title, track_p trk, descData_p data, descUpdate_t update)
ddp->posy = describeW_posy;
ddp->control0 = AssignParamToDescribeDialog(ddp, ddp->valueP, label,
(ddp->type == DESC_POS?3:3));
- wControlActive(ddp->control0, ((ddp->mode|ro_mode)&DESC_RO)==0);
+ if (ddp->type != DESC_LAYER)
+ wControlActive(ddp->control0, (!(ddp->mode&DESC_RO)));
switch (ddp->type) {
case DESC_POS:
@@ -496,21 +497,33 @@ void DoDescribe(char * title, track_p trk, descData_p data, descUpdate_t update)
&((coOrd*)(ddp->valueP))->y,
NULL,
0);
- wControlActive(ddp->control1, ((ddp->mode|ro_mode)&DESC_RO)==0);
+ wControlActive(ddp->control1, (!(ddp->mode&DESC_RO)));
break;
case DESC_LAYER:
- wListClear((wList_p)ddp->control0); // Rebuild list on each invovation
+ wListClear((wList_p)ddp->control0); // Rebuild list on each invocation
- for (inx = 0; inx<NUM_LAYERS; inx++) {
- char *layerFormattedName;
- layerFormattedName = FormatLayerName(editableLayerList[inx]);
- wListAddValue((wList_p)ddp->control0, layerFormattedName, NULL, (void*)(long)inx);
+ if (ro_mode) {
+ char *layerFormattedName;
+ layerFormattedName = FormatLayerName(*(int *)(ddp->valueP));
+ wListAddValue((wList_p)ddp->control0, layerFormattedName, NULL, I2VP(inx));
free(layerFormattedName);
+ *(int *)(ddp->valueP) = 0;
+ layerValue = (int *)(ddp->valueP);
+ wControlActive(ddp->control0, FALSE);
+ } else {
+ for (inx = 0; inx<NUM_LAYERS; inx++) {
+ char *layerFormattedName;
+ layerFormattedName = FormatLayerName(editableLayerList[inx]);
+ wListAddValue((wList_p)ddp->control0, layerFormattedName, NULL, I2VP(inx));
+ free(layerFormattedName);
+ }
+
+ *(int *)(ddp->valueP) = SearchEditableLayerList(*(int *)(ddp->valueP));
+ layerValue = (int *)(ddp->valueP);
+ wControlActive(ddp->control0, TRUE);
}
- *(int *)(ddp->valueP) = SearchEditableLayerList(*(int *)(ddp->valueP));
- layerValue = (int *)(ddp->valueP);
break;
default:
@@ -528,7 +541,7 @@ void DoDescribe(char * title, track_p trk, descData_p data, descUpdate_t update)
static void DescChange(long changes)
{
- if ((changes&CHANGE_UNITS) && describePG.win && wWinIsVisible(describePG.win)) {
+ if ((changes&CHANGE_UNITS) && describePG.win && wWinIsVisible(describePG.win)) {
ParamLoadControls(&describePG);
}
}
@@ -544,8 +557,8 @@ EXPORT void DescribeCancel(void)
{
if (describePG.win && wWinIsVisible(describePG.win)) {
if (descTrk) {
- if (!IsTrackDeleted(descTrk))
- descUpdateFunc(descTrk, -1, descData, TRUE);
+ ASSERT(!IsTrackDeleted(descTrk));
+ descUpdateFunc(descTrk, -1, descData, TRUE);
descTrk = NULL;
}
@@ -569,7 +582,7 @@ EXPORT STATUS_T CmdDescribe(wAction_t action, coOrd pos)
switch (action) {
case C_START:
- InfoMessage(_("Select track to describe"));
+ InfoMessage(_("Select track to describe +Shift for Frozen"));
wSetCursor(mainD.d,wCursorQuestion);
descUndoStarted = FALSE;
trk = NULL;
@@ -577,11 +590,20 @@ EXPORT STATUS_T CmdDescribe(wAction_t action, coOrd pos)
case wActionMove:
trk = OnTrack(&pos, FALSE, FALSE);
+ if (trk && GetLayerFrozen(GetTrkLayer(trk)) && !(MyGetKeyState() & WKEY_SHIFT)) {
+ trk = NULL;
+ return C_CONTINUE;
+ }
return C_CONTINUE;
case C_DOWN:
if ((trk = OnTrack(&pos, FALSE, FALSE)) != NULL) {
+ if (GetLayerFrozen(GetTrkLayer(trk)) && !(MyGetKeyState()& WKEY_SHIFT)) {
+ InfoMessage("Track is Frozen, Add Shift to Describe");
+ trk = NULL;
+ return C_CONTINUE;
+ }
if (describePG.win && wWinIsVisible(describePG.win) && descTrk) {
descUpdateFunc(descTrk, -1, descData, TRUE);
descTrk = NULL;
@@ -613,7 +635,18 @@ EXPORT STATUS_T CmdDescribe(wAction_t action, coOrd pos)
case C_REDRAW:
if (describePG.win && wWinIsVisible(describePG.win) && descTrk) {
+ descNeedDrawHilite = TRUE;
+ coOrd lo,hi;
+ GetBoundingBox(descTrk,&hi,&lo);
+ descOrig = lo;
+ descSize = hi;
+ descOrig.x -= descBorder;
+ descOrig.y -= descBorder;
+ descSize.x -= descOrig.x-descBorder;
+ descSize.y -= descOrig.y-descBorder;
+
DrawDescHilite(TRUE);
+
if (descTrk && QueryTrack(descTrk, Q_IS_DRAW)) {
DrawOriginAnchor(descTrk);
}
@@ -650,7 +683,7 @@ extern wIndex_t panCmdInx;
void InitCmdDescribe(wMenu_p menu)
{
describeCmdInx = AddMenuButton(menu, CmdDescribe, "cmdDescribe",
- _("Properties"), wIconCreatePixMap(describe_xpm),
+ _("Properties"), wIconCreatePixMap(describe_xpm[iconSize]),
LEVEL0, IC_CANCEL|IC_POPUP|IC_WANT_MOVE|IC_CMDMENU, ACCL_DESCRIBE, NULL);
RegisterChangeNotification(DescChange);
ParamRegister(&describePG);
@@ -658,8 +691,8 @@ void InitCmdDescribe(wMenu_p menu)
void InitCmdDescribe2(wMenu_p menu)
{
descPopupM = MenuRegister( "Describe Context Menu" );
- wMenuPushCreate(descPopupM, "cmdSelectMode", GetBalloonHelpStr("cmdSelectMode"), 0, DoCommandB, (void*) (intptr_t) selectCmdInx);
- wMenuPushCreate(descPopupM, "cmdModifyMode", GetBalloonHelpStr("cmdModifyMode"), 0, DoCommandB, (void*) (intptr_t) modifyCmdInx);
- wMenuPushCreate(descPopupM, "cmdPanMode", GetBalloonHelpStr("cmdPanMode"), 0, DoCommandB, (void*) (intptr_t) panCmdInx);
+ wMenuPushCreate(descPopupM, "cmdSelectMode", GetBalloonHelpStr("cmdSelectMode"), 0, DoCommandB, I2VP(selectCmdInx));
+ wMenuPushCreate(descPopupM, "cmdModifyMode", GetBalloonHelpStr("cmdModifyMode"), 0, DoCommandB, I2VP(modifyCmdInx));
+ wMenuPushCreate(descPopupM, "cmdPanMode", GetBalloonHelpStr("cmdPanMode"), 0, DoCommandB, I2VP(panCmdInx));
}
diff --git a/app/bin/cmisc2.c b/app/bin/cmisc2.c
index c9daad2..128e52b 100644
--- a/app/bin/cmisc2.c
+++ b/app/bin/cmisc2.c
@@ -20,8 +20,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
+#include "common.h"
#include "track.h"
-#include "i18n.h"
/*****************************************************************************
*
diff --git a/app/bin/cmodify.c b/app/bin/cmodify.c
index 8f82012..1e66e74 100644
--- a/app/bin/cmodify.c
+++ b/app/bin/cmodify.c
@@ -20,8 +20,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
-
#include "cjoin.h"
#include "ccurve.h"
#include "cbezier.h"
@@ -29,14 +27,13 @@
#include "cstraigh.h"
#include "cundo.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
#include "drawgeom.h"
#include "common.h"
#include "layout.h"
+#include "cselect.h"
+#include "common-ui.h"
static struct {
track_p Trk;
@@ -64,6 +61,7 @@ static BOOL_T modifyBezierMode;
static BOOL_T modifyCornuMode;
static BOOL_T modifyDrawMode;
static BOOL_T modifyRulerMode;
+static BOOL_T modifyProtractorMode;
static BOOL_T modifyExtendMode;
@@ -79,6 +77,7 @@ static void CreateEndAnchor(coOrd p, wBool_t lock) {
anchors(i).u.c.a0 = 0.0;
anchors(i).u.c.a1 = 360.0;
anchors(i).width = 0;
+ wSetCursor(mainD.d,wCursorNone);
}
static void CreateCornuAnchor(coOrd p, wBool_t lock) {
@@ -102,6 +101,7 @@ static void CreateCornuAnchor(coOrd p, wBool_t lock) {
anchors(i).u.c.a0 = 0.0;
anchors(i).u.c.a1 = 360.0;
anchors(i).width = 0;
+ wSetCursor(mainD.d,wCursorNone);
}
@@ -172,7 +172,7 @@ static STATUS_T ModifyCornu(wAction_t action, coOrd pos) {
}
/*
- * Picking a DRAW will allow point modifications until terminated with "Enter"
+ * Picking a DRAW will allow point modifications until terminated with "Enter"/"Space"
*/
static STATUS_T ModifyDraw(wAction_t action, coOrd pos) {
STATUS_T rc = C_CONTINUE;
@@ -189,21 +189,22 @@ static STATUS_T ModifyDraw(wAction_t action, coOrd pos) {
break;
case C_TEXT:
//Delete or '0' - continues
- if ((action>>8 !=32) && (action >>8 !=13))
+ if ((action>>8 !=32) && (action >>8 !=13) && (action >>8 !=9))
return ModifyTrack( Dex.Trk, action, pos );
- //Enter/Space does not
- if ((action>>8 !=32) && (action>>8 != 13)) return C_CONTINUE;
+ //Enter/Space/Tab does not
+ if ((action>>8 !=32) && (action>>8 != 13) && (action>>8 != 9)) return C_CONTINUE;
+ if (((action>>8) == 9 && (MyGetKeyState()&WKEY_SHIFT))) return C_TERMINATE;
/*no break*/
case C_OK:
- UndoStart( _("Modify Track"), "Modify( T%d[%d] )", GetTrkIndex(Dex.Trk), Dex.params.ep );
- UndoModify( Dex.Trk );
- rc = ModifyTrack( Dex.Trk, C_TEXT | (13<<8), pos );
+ rc = ModifyTrack( Dex.Trk, C_OK, pos );
if (rc != C_CONTINUE) modifyDrawMode = FALSE;
UndoEnd();
break;
+ case C_CONFIRM:
+ rc = ModifyTrack( Dex.Trk, action, pos );
+ break;
case C_CANCEL:
case C_FINISH:
- case C_CONFIRM:
case C_TERMINATE:
rc = ModifyTrack( Dex.Trk, action, pos );
Dex.Trk = NULL;
@@ -218,6 +219,9 @@ static STATUS_T ModifyDraw(wAction_t action, coOrd pos) {
menuPos = pos;
rc = ModifyTrack( Dex.Trk, action, pos );
break;
+ case wActionExtKey:
+ rc = ModifyTrack( Dex.Trk, action, pos );
+ break;
default:
break;
}
@@ -269,35 +273,46 @@ STATUS_T CmdModify(
modifyCornuMode = FALSE;
modifyDrawMode = FALSE;
modifyExtendMode = FALSE;
+ modifyRulerMode = FALSE;
+ modifyProtractorMode = FALSE;
+ SetAllTrackSelect( FALSE );
return C_CONTINUE;
case C_DOWN:
+ case C_LDOUBLE:
DYNARR_RESET(trkSeg_t,anchors_da);
+ if (modifyProtractorMode)
+ return ModifyProtractor(C_DOWN, pos);
if (modifyBezierMode)
return ModifyBezier(C_DOWN, pos);
if (modifyCornuMode)
return ModifyCornu(C_DOWN, pos);
if (modifyDrawMode)
return ModifyDraw(C_DOWN, pos);
- /*no break*/
- case C_LDOUBLE:
+
DYNARR_SET( trkSeg_t, tempSegs_da, 2 );
tempSegs(0).color = wDrawColorBlack;
tempSegs(0).width = 0;
tempSegs(1).color = wDrawColorBlack;
tempSegs(1).width = 0;
tempSegs_da.cnt = 0;
- Dex.Trk = OnTrack( &pos, TRUE, FALSE );
+ Dex.Trk = OnTrack( &pos, FALSE, FALSE );
//Dex.Trk = trk;
if (Dex.Trk == NULL) {
- if ( ModifyRuler( C_DOWN, pos ) == C_CONTINUE )
+ if ( ModifyRuler( C_DOWN, pos ) == C_CONTINUE ) {
modifyRulerMode = TRUE;
+ } else if (ModifyProtractor( C_DOWN, pos ) == C_CONTINUE ) {
+ modifyProtractorMode = TRUE;
+ } else {
+ InfoMessage("Not on object, or Ruler, or Protractor");
+ wBeep();
+ }
return C_CONTINUE;
}
if (!CheckTrackLayer( Dex.Trk ) ) {
Dex.Trk = NULL;
- return C_CONTINUE;
+ return C_ERROR;
}
trackGauge = (IsTrack(Dex.Trk)?GetTrkGauge(Dex.Trk):0.0);
if (QueryTrack( Dex.Trk, Q_CAN_MODIFY_CONTROL_POINTS )) { //Bezier
@@ -374,6 +389,7 @@ STATUS_T CmdModify(
if (modifyDrawMode) return ModifyDraw(wActionMove,pos);
if (modifyBezierMode) return ModifyBezier(wActionMove, pos);
track_p t;
+ wSetCursor(mainD.d,defaultCursor);
if (((t=OnTrack(&pos,FALSE,TRUE))!= NULL) && CheckTrackLayerSilent( t )) {
EPINX_T ep = PickUnconnectedEndPointSilent(pos, t);
if (QueryTrack( t, Q_IS_CORNU )) {
@@ -387,6 +403,7 @@ STATUS_T CmdModify(
ANGLE_T a = tp.angle;
Translate(&pos,tp.ttcenter,a,tp.ttradius);
CreateRadiusAnchor(pos,a,FALSE);
+ wSetCursor(mainD.d,wCursorNone);
} else if (QueryTrack(t,Q_CAN_EXTEND)) {
if (ep != -1) {
if (MyGetKeyState()&WKEY_CTRL) {
@@ -418,15 +435,19 @@ STATUS_T CmdModify(
}
}
} else if (((t=OnTrack(&pos,FALSE,FALSE))!= NULL)
- && (!(GetLayerFrozen(GetTrkLayer(t)) && GetLayerModule(GetTrkLayer(t))))
+ && (!(GetLayerFrozen(GetTrkLayer(t)) || GetLayerModule(GetTrkLayer(t))))
&& (QueryTrack(t, Q_IS_DRAW ) && !QueryTrack(t, Q_IS_TEXT)) ) {
CreateEndAnchor(pos,FALSE);
+ } else {
+ ModifyRuler (wActionMove, pos);
}
return C_CONTINUE;
case C_MOVE:
if ( modifyRulerMode )
return ModifyRuler( C_MOVE, pos );
+ if ( modifyProtractorMode )
+ return ModifyProtractor( C_MOVE, pos );
if (Dex.Trk == NULL)
return C_CONTINUE;
if ( modifyBezierMode )
@@ -439,7 +460,7 @@ STATUS_T CmdModify(
goto extendTrackMove;
tempSegs_da.cnt = 0;
- SnapPos( &pos );
+ if ((MyGetKeyState() & WKEY_ALT) == 0) SnapPos( &pos );
rc = ModifyTrack( Dex.Trk, C_MOVE, pos );
if ( rc != C_CONTINUE ) {
rc = C_CONTINUE;
@@ -453,6 +474,8 @@ STATUS_T CmdModify(
return C_CONTINUE;
if ( modifyRulerMode )
return ModifyRuler( C_MOVE, pos );
+ if ( modifyProtractorMode)
+ return ModifyProtractor( C_UP, pos);
if ( modifyBezierMode )
return ModifyBezier( C_UP, pos);
if (modifyCornuMode)
@@ -463,7 +486,7 @@ STATUS_T CmdModify(
tempSegs_da.cnt = 0;
- SnapPos( &pos );
+ if ((MyGetKeyState() & WKEY_ALT) == 0) SnapPos( &pos );
UndoStart( _("Modify Track"), "Modify( T%d[%d] )", GetTrkIndex(Dex.Trk), Dex.params.ep );
UndoModify( Dex.Trk );
rc = ModifyTrack( Dex.Trk, C_UP, pos );
@@ -477,6 +500,7 @@ extendTrack:
changeTrackMode = TRUE;
modifyExtendMode = TRUE;
modifyRulerMode = FALSE;
+ modifyProtractorMode = FALSE;
modifyBezierMode = FALSE;
modifyCornuMode = FALSE;
modifyDrawMode = FALSE;
@@ -486,7 +510,7 @@ extendTrack:
if (Dex.Trk) {
if (!CheckTrackLayer( Dex.Trk ) ) {
Dex.Trk = NULL;
- return C_CONTINUE;
+ return C_ERROR;
}
trackGauge = GetTrkGauge( Dex.Trk );
Dex.pos00 = pos;
@@ -525,7 +549,7 @@ extendTrackMove:
tempSegs_da.cnt = 0;
Dex.valid = FALSE;
if (Dex.Trk == NULL) return C_CONTINUE;
- SnapPos( &pos );
+ if ((MyGetKeyState() & WKEY_ALT) == 0) SnapPos( &pos );
if ( Dex.first && FindDistance( pos, Dex.pos00 ) <= minLength )
return C_CONTINUE;
Dex.first = FALSE;
@@ -543,9 +567,9 @@ extendTrackMove:
Rotate(&pos,Dex.params.cornuCenter[Dex.params.ep],angle);
}
} else pos = Dex.pos00; //Only out from end
- PlotCurve( crvCmdFromCornu, Dex.pos00, Dex.pos00x, pos, &Dex.curveData, FALSE );
+ PlotCurve( crvCmdFromCornu, Dex.pos00, Dex.pos00x, pos, &Dex.curveData, FALSE, 0.0 );
} else
- PlotCurve( crvCmdFromEP1, Dex.pos00, Dex.pos00x, pos, &Dex.curveData, TRUE );
+ PlotCurve( crvCmdFromEP1, Dex.pos00, Dex.pos00x, pos, &Dex.curveData, TRUE, 0.0 );
curveType = Dex.curveData.type;
if ( curveType == curveTypeStraight ) {
Dex.r1 = 0.0;
@@ -724,14 +748,17 @@ LOG( log_modify, 1, ("R = %0.3f, A0 = %0.3f, A1 = %0.3f\n",
if ((action>>8) == 'c') {
panCenter = pos;
LOG( log_pan, 2, ( "PanCenter:Mod-%d %0.3f %0.3f\n", __LINE__, panCenter.x, panCenter.y ) );
- PanHere((void*)0);
+ PanHere(I2VP(0));
return C_CONTINUE;
}
if ((action>>8) == 'e') {
- DoZoomExtents(0);
+ DoZoomExtents(I2VP(0));
+ }
+ if ((action>>8) == 's') {
+ DoZoomExtents(I2VP(1));
}
if ((action>>8) == '0' || (action>>8 == 'o')) {
- PanMenuEnter('o');
+ PanMenuEnter(I2VP('o'));
}
if ( !Dex.Trk )
return C_CONTINUE;
@@ -792,14 +819,15 @@ extern wIndex_t describeCmdInx;
void InitCmdModify( wMenu_p menu )
{
- modifyCmdInx = AddMenuButton( menu, CmdModify, "cmdModify", _("Modify"), wIconCreatePixMap(extend_xpm), LEVEL0_50, IC_STICKY|IC_POPUP|IC_WANT_MOVE|IC_CMDMENU, ACCL_MODIFY, NULL );
+ modifyCmdInx = AddMenuButton( menu, CmdModify, "cmdModify", _("Modify"), wIconCreatePixMap(extend_xpm[iconSize]), LEVEL0_50, IC_STICKY|IC_POPUP|IC_WANT_MOVE|IC_CMDMENU, ACCL_MODIFY, NULL );
+ /** @logcmd @showrefby modify=n cmodify.c Log Modify command */
log_modify = LogFindIndex( "modify" );
modPopupM = MenuRegister( "Modify Context Menu" );
- wMenuPushCreate(modPopupM, "cmdSelectMode", GetBalloonHelpStr("cmdSelectMode"), 0, DoCommandB, (void*) (intptr_t) selectCmdInx);
- wMenuPushCreate(modPopupM, "cmdDescribeMode", GetBalloonHelpStr("cmdDescribeMode"), 0, DoCommandB, (void*) (intptr_t) describeCmdInx);
- wMenuPushCreate(modPopupM, "cmdPanMode", GetBalloonHelpStr("cmdPanMode"), 0, DoCommandB, (void*) (intptr_t) panCmdInx);
+ wMenuPushCreate(modPopupM, "cmdSelectMode", GetBalloonHelpStr("cmdSelectMode"), 0, DoCommandB, I2VP(selectCmdInx));
+ wMenuPushCreate(modPopupM, "cmdDescribeMode", GetBalloonHelpStr("cmdDescribeMode"), 0, DoCommandB, I2VP(describeCmdInx));
+ wMenuPushCreate(modPopupM, "cmdPanMode", GetBalloonHelpStr("cmdPanMode"), 0, DoCommandB, I2VP(panCmdInx));
wMenuSeparatorCreate(modPopupM);
- wMenuPushCreate(modPopupM, "", _("Zoom In"), 0,(wMenuCallBack_p) DoZoomUp, (void*) 1);
- wMenuPushCreate(modPopupM, "", _("Zoom Out"), 0, (wMenuCallBack_p) DoZoomDown, (void*) 1);
- wMenuPushCreate(modPopupM, "", _("Pan center - 'c'"), 0, (wMenuCallBack_p) PanHere, (void*) 3);
+ wMenuPushCreate(modPopupM, "", _("Zoom In"), 0, DoZoomUp, I2VP(1));
+ wMenuPushCreate(modPopupM, "", _("Zoom Out"), 0, DoZoomDown, I2VP(1));
+ wMenuPushCreate(modPopupM, "", _("Pan center - 'c'"), 0, PanHere, I2VP(3));
}
diff --git a/app/bin/cnote.c b/app/bin/cnote.c
index 0a015f1..7e4c0f9 100644
--- a/app/bin/cnote.c
+++ b/app/bin/cnote.c
@@ -19,12 +19,10 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <string.h>
#include "custom.h"
#include "dynstring.h"
#include "fileio.h"
-#include "i18n.h"
#include "misc.h"
#include "param.h"
#include "include/utf8convert.h"
@@ -38,7 +36,7 @@ static paramData_t notePLs[] = {
#define noteT ((wText_p)notePLs[I_NOTETEXT].control)
{ PD_TEXT, NULL, "text", PDO_DLGRESIZE, &noteTextData }
};
-static paramGroup_t notePG = { "note", 0, notePLs, sizeof notePLs/sizeof notePLs[0] };
+static paramGroup_t notePG = { "note", 0, notePLs, COUNT( notePLs ) };
void ClearNote(void)
@@ -49,7 +47,7 @@ void ClearNote(void)
}
}
-static void NoteOk(void * junk)
+static void NoteOk(void * unused)
{
if (wTextGetModified(noteT)) {
int len;
@@ -63,7 +61,7 @@ static void NoteOk(void * junk)
}
-void DoNote(void)
+void DoNote(void * unused)
{
if (noteW == NULL) {
noteW = ParamCreateDialog(&notePG, MakeWindowTitle(_("Note")), _("Ok"), NoteOk,
@@ -84,26 +82,26 @@ BOOL_T WriteMainNote(FILE* f)
char *noteText = mainText;
if (noteText && *noteText) {
-#ifdef WINDOWS
+#ifdef UTFCONVERT
char *out = NULL;
if (RequiresConvToUTF8(mainText)) {
- unsigned cnt = strlen(mainText) * 2 + 1;
+ size_t cnt = strlen(mainText) * 2 + 1;
out = MyMalloc(cnt);
- wSystemToUTF8(mainText, out, cnt);
+ wSystemToUTF8(mainText, out, (unsigned int)cnt);
noteText = out;
}
-#endif // WINDOWS
+#endif // UTFCONVERT
char * sText = ConvertToEscapedText( noteText );
rc &= fprintf(f, "NOTE MAIN 0 0 0 0 0 \"%s\"\n", sText )>0;
MyFree( sText );
-#ifdef WINDOWS
+#ifdef UTFCONVERT
if (out) {
MyFree(out);
}
-#endif // WINDOWS
+#endif // UTFCONVERT
}
return rc;
}
@@ -121,7 +119,7 @@ BOOL_T ReadMainNote(char *line)
if (!GetArgs(line + 9,
paramVersion < 3 ? "l" :
- paramVersion < 12 ? "0000l":
+ paramVersion < VERSION_INLINENOTE ? "0000l":
"0000lq", &size, &sNote)) {
return FALSE;
}
@@ -130,7 +128,7 @@ BOOL_T ReadMainNote(char *line)
MyFree(mainText);
}
- if ( paramVersion < 12 )
+ if ( paramVersion < VERSION_INLINENOTE )
mainText = ReadMultilineText();
else
mainText = sNote;
diff --git a/app/bin/cnvdsgn.c b/app/bin/cnvdsgn.c
index 6f75b11..fc4a827 100644
--- a/app/bin/cnvdsgn.c
+++ b/app/bin/cnvdsgn.c
@@ -1,12 +1,3 @@
-#include <stdio.h>
-#include <math.h>
-#include "common.h"
-#include "utility.h"
-
-#include <string.h>
-#include <stdlib.h>
-
-
/* XTrkCad - Model Railroad CAD
* Copyright (C) 2005 Dave Bullis
*
@@ -25,6 +16,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
+#include "utility.h"
+
#define GETMAXY \
if (lp->y0 > maxY) maxY = lp->y0; \
if (lp->y1 > maxY) maxY = lp->y1
diff --git a/app/bin/common-ui.h b/app/bin/common-ui.h
new file mode 100644
index 0000000..893dbc7
--- /dev/null
+++ b/app/bin/common-ui.h
@@ -0,0 +1,31 @@
+/** \file common-ui.h
+ * Defnitions of message and other UI types
+ */
+
+/* XTrkCad - Model Railroad CAD
+ * Copyright (C) 2021 Dave Bullis
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+/* Do not include this file in header (.h) files */
+
+#ifndef COMMON_UI_H
+#define COMMON_UI_H
+
+#include "messages.h"
+
+#endif
+
diff --git a/app/bin/common.h b/app/bin/common.h
index 2db961f..92620f2 100644
--- a/app/bin/common.h
+++ b/app/bin/common.h
@@ -1,5 +1,5 @@
/** \file common.h
- * Defnitions of basic types
+ * Defnitions of basic types
*/
/* XTrkCad - Model Railroad CAD
@@ -23,16 +23,98 @@
#ifndef COMMON_H
#define COMMON_H
-#include <stdlib.h>
+// INCLUDES
+#include <assert.h>
+#include <ctype.h>
+#include <errno.h>
+#include <locale.h>
+#include <math.h>
+#include <stdarg.h>
#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <time.h>
+
+#ifdef HAVE_MALLOC_H
+#include <malloc.h>
+#endif
+
+#include "wlib.h"
+
+#ifndef WINDOWS
+// Unix/Mac
+#include <dirent.h>
+#include <unistd.h>
+
+#define PATH_SEPARATOR "/"
+
+#else
+// Windows
+#include <io.h>
+#include <process.h>
+#include "include/dirent.h"
+#include "direct.h"
+#include "getopt.h"
+
+// DEFINES
+#define UTFCONVERT
+#define M_PI 3.14159265358979323846
+
+#define F_OK (00)
+#define W_OK (02)
+#define R_OK (04)
+#define PATH_SEPARATOR "\\"
+
+// ALIASES for WINDOWS
+#define access _access
+#define unlink(a) _unlink((a))
+#define rmdir(a) _rmdir((a))
+#define open(name, flag, mode) _open((name), (flag), (mode))
+#define close(file) _close((file))
+#define getpid() _getpid()
+#define strcasecmp _stricmp
+#define strncasecmp _strnicmp
+#define mkdir( DIR, MODE ) _mkdir( (DIR) )
+#if _MSC_VER >1300
+#define strnicmp _strnicmp
+#define stricmp _stricmp
+#define strdup _strdup
+#endif
+// starting from Visual Studio 2015 round is in the runtime library, fake otherwise
+#if ( _MSC_VER < 1900 )
+#define round(x) floor((x)+0.5)
+#endif
+
+/* suppress warning from *.bmp about conversion of int to char */
+#pragma warning( disable : 4305 )
+/* suppress warning about array references */
+#pragma warning( disable : 6385 )
+#endif
+
+// We need to pass integer values via void* objects
+// typically context vars (declared as void*) which sometimes pass pointers and some times integers
+// For example see paramData_t.context.
+// Also some wlib calls take a generic parameter, declared as void* but somethings used to pass integers
+// These are used in logical pairs; VP=I2VP(INTEGER); ...a lot of code...; INTEGER=VP2L(VP);
+// Note: we never use VP2L to manipulate integer-ized values of a pointer and all integer values we use fit in a long
+#define I2VP(VAL) ((void*)(intptr_t)(VAL))
+#define VP2L(VAL) ((long)(intptr_t)(VAL))
+
#ifndef TRUE
#define TRUE (1)
#define FALSE (0)
#endif
+#define DIST_INF 2.0E9
+
#define NUM_LAYERS (99)
+// TYPEDEFS
+
typedef double FLOAT_T;
typedef double POS_T;
typedef double DIST_T;
@@ -72,19 +154,15 @@ enum paramFileState { PARAMFILE_UNLOADED = 0, PARAMFILE_NOTUSABLE, PARAMFILE_COM
#define SCALE_ANY (-2)
#define SCALE_DEMO (-1)
+// DYNARRAY
+
typedef struct {
int cnt;
int max;
void * ptr;
} dynArr_t;
-#if defined(WINDOWS) && ! defined(WIN32)
-#define CHECK_SIZE(T,DA) \
- if ( (long)((DA).max) * (long)(sizeof *(T*)NULL) > 65500L ) \
- AbortProg( "Dynamic array too large at %s:%d", __FILE__, __LINE__ );
-#else
#define CHECK_SIZE(T,DA)
-#endif
#define DYNARR_APPEND(T,DA,INCR) \
{ if ((DA).cnt >= (DA).max) { \
@@ -130,16 +208,42 @@ typedef struct {
if ((DA.cnt)>=I) (DA).cnt--; \
}
-
-#ifdef WINDOWS
-#define M_PI 3.14159
-#define strcasecmp _stricmp
-#define strncasecmp _strnicmp
-#endif
-
-#if _MSC_VER >1300
- #define strdup _strdup
-#endif
+// Base DotsPerInch
+#define BASE_DPI (75.0)
+
+// FILE VERSIONS - non-backward file format changes
+// Descriptions added for Bezier, Cornu, Joint
+#define VERSION_DESCRIPTION2 (12)
+// Inline quoted text replaces multiline text in Notes and Cars
+#define VERSION_INLINENOTE (12)
+// END is replaced by END$SEGS, END$TRK, ...
+#define VERSION_NONAKEDENDS (12)
+
+
+// FORWARD TYPE DECLS
+typedef struct drawCmd_t * drawCmd_p;
+typedef struct track_t * track_p;
+typedef struct trkSeg_t * trkSeg_p;
+typedef struct traverseTrack_t * traverseTrack_p;
+typedef struct trkEndPt_t * trkEndPt_p;
+
+// base class for extraData*_t: each of which must include this struct as the first element
+typedef struct extraDataBase_t {
+ TRKTYP_T trkType;
+ } extraDataBase_t;
+// We check if TRKTYP_T in trk, trk->extraDataBase and the code context (TRKTYP) match.
+// If TRKTYP is T_NOTRACK then we are dealing with T_TURNOUT/T_STRUCTURE or T_BEZIER/T_BEZLIN which
+// share a log of code and have the same extraData*_t structure.
+#define GET_EXTRA_DATA(TRK,TRKTYP,TYPE) \
+ ((TYPE*)GetTrkExtraData( (TRK), (TRKTYP) ))
+extraDataBase_t * GetTrkExtraData( track_p, TRKTYP_T );
+
+// COMMON INCLUDES
+// If you add includes here, please remove them elsewhere
+
+#include "i18n.h"
+#include "utility.h"
+#include "misc.h"
#endif
diff --git a/app/bin/compound.c b/app/bin/compound.c
index 627d2ef..b6d5847 100644
--- a/app/bin/compound.c
+++ b/app/bin/compound.c
@@ -21,11 +21,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <ctype.h>
-#include <math.h>
-#include <string.h>
-
-
#include "tbezier.h"
#include "cjoin.h"
#include "common.h"
@@ -33,39 +28,173 @@
#include "cundo.h"
#include "dynstring.h"
#include "fileio.h"
-#include "i18n.h"
#include "shrtpath.h"
#include "track.h"
-#include "utility.h"
-#include "messages.h"
+#include "draw.h"
#include "include/paramfile.h"
+#include "common-ui.h"
/*****************************************************************************
*
- * Misc
+ * Paths
*
*/
-//Convert the internal path segment into the external one - which is based on the index count of only the track segments
-char ConvertPathSegToExternal(char signed pp, int segCnt,trkSeg_p segs) {
+#ifndef NEWPATH
+/* GetPaths()
+ *
+ * Return the paths for 'trk'.
+ *
+ * \param trk IN Get paths for track 'trk'
+ */
+EXPORT PATHPTR_T GetPaths( track_p trk )
+{
+ struct extraDataCompound_t * xx = GET_EXTRA_DATA( trk, T_NOTRACK, extraDataCompound_t );
+ if ( GetTrkType(trk) == T_STRUCTURE && xx->paths != NULL ) {
+ LogPrintf( "GetPaths( STRUCTURE, paths!=NULL )\n" );
+ }
+ if ( GetTrkType(trk) == T_TURNOUT && xx->paths == NULL ) {
+ LogPrintf( "GetPaths( TURNOUT, paths==NULL )\n" );
+ }
+ return xx->paths;
+}
+#endif
- char signed new_pp;
- int old_inx;
- EPINX_T old_EP;
- GetSegInxEP(pp,&old_inx,&old_EP);
- int j = old_inx;
- for (int i=0;i<old_inx;i++) {
- if ( !IsSegTrack(&segs[i]) ) {
- j--;
- }
+/* GetPathsLength()
+ *
+ * Return the length of the paths object
+ *
+ * \param paths IN paths object
+ */
+EXPORT wIndex_t GetPathsLength( PATHPTR_T paths )
+{
+ PATHPTR_T pp;
+ ASSERT( paths != NULL );
+ for ( pp = paths; pp[0]; pp+=2 )
+ for ( pp += strlen( (char*)pp ); pp[0] || pp[1]; pp++ );
+ return (wIndex_t)(pp - paths + 1);
+}
+
+
+#ifndef NEWPATH
+/* SetPaths()
+ *
+ * Set the paths for 'trk'.
+ * Called when paths are read from a layout file, copied from a param def'n or
+ * from a Spilt turnout.
+ *
+ * \param trk IN
+ * \param paths IN
+ */
+EXPORT void SetPaths( track_p trk, PATHPTR_T paths )
+{
+ if ( GetTrkType(trk) == T_STRUCTURE && paths != NULL ) {
+ LogPrintf( "SetPaths( STRUCTURE, paths!=NULL )\n" );
+ }
+ if ( GetTrkType(trk) == T_TURNOUT && paths == NULL ) {
+ LogPrintf( "SetPaths( TURNOUT, paths==NULL )\n" );
}
- SetSegInxEP(&new_pp,j,old_EP);
- return new_pp;
+ struct extraDataCompound_t * xx = GET_EXTRA_DATA( trk, T_NOTRACK, extraDataCompound_t );
+ if ( xx->paths )
+ MyFree( xx->paths );
+ if ( paths == NULL ) {
+ xx->paths = NULL;
+ } else {
+ wIndex_t pathLen = GetPathsLength( paths );
+ xx->paths = memdup( paths, pathLen * sizeof *xx->paths );
+ }
+ xx->currPath = NULL;
+ xx->currPathIndex = 0;
+}
+#endif
+
+
+/* GetCurrPath()
+ *
+ * Return the current path for 'trk'.
+ * Current path is the .currPathIndex'th path
+ * If the .currPathIndex is greater then the number of paths, return the first
+ *
+ * \param trk IN
+ */
+EXPORT PATHPTR_T GetCurrPath( track_p trk )
+{
+ struct extraDataCompound_t * xx = GET_EXTRA_DATA( trk, T_TURNOUT, extraDataCompound_t );
+ if ( xx->currPath )
+ return xx->currPath;
+ PATHPTR_T path = GetPaths( trk );
+ for ( wIndex_t position = xx->currPathIndex;
+ position > 0 && path[0];
+ path+=2, position-- ) {
+ for ( path += strlen( (char*)path ); path[0] || path[1]; path++ );
+ }
+ if ( !path[0] ) {
+ xx->currPathIndex = 0;
+ path = GetPaths( trk );
+ }
+ xx->currPath = path;
+ return xx->currPath;
}
-BOOL_T WriteCompoundPathsEndPtsSegs(
+
+EXPORT long GetCurrPathIndex( track_p trk )
+{
+ if ( GetTrkType( trk ) != T_TURNOUT )
+ return 0;
+ struct extraDataCompound_t * xx = GET_EXTRA_DATA( trk, T_TURNOUT, extraDataCompound_t );
+ return xx->currPathIndex;
+}
+
+
+EXPORT void SetCurrPathIndex( track_p trk, long position )
+{
+ if ( GetTrkType( trk ) != T_TURNOUT )
+ return;
+ struct extraDataCompound_t * xx = GET_EXTRA_DATA( trk, T_TURNOUT, extraDataCompound_t );
+ xx->currPathIndex = position;
+ xx->currPath = NULL;
+}
+
+#ifndef NEWPATH
+/* GetParamPaths()
+ *
+ * Return the paths for turnout parameter 'to'.
+ *
+ * \param to IN
+ */
+PATHPTR_T GetParamPaths( turnoutInfo_t * to )
+{
+ return to->paths;
+}
+
+/* SetParamPaths()
+ *
+ * Set paths for a Turnout Parameter 'to'
+ * Used when creating a new turnout def'n
+ *
+ * \param to IN
+ * \param paths IN
+ */
+void SetParamPaths( turnoutInfo_t * to, PATHPTR_T paths )
+{
+ if ( paths ) {
+ wIndex_t len = GetPathsLength(paths);
+ to->paths = (PATHPTR_T)memdup( paths, len * ( sizeof * to->paths ) );
+ } else {
+ to->paths = NULL;
+ }
+}
+#endif
+
+/*****************************************************************************
+ *
+ *
+ *
+ */
+
+EXPORT BOOL_T WriteCompoundPathsEndPtsSegs(
FILE * f,
PATHPTR_T paths,
wIndex_t segCnt,
@@ -77,11 +206,13 @@ BOOL_T WriteCompoundPathsEndPtsSegs(
PATHPTR_T pp;
BOOL_T rc = TRUE;
- for ( pp=paths; *pp; pp+=2 ) {
- rc &= fprintf( f, "\tP \"%s\"", pp )>0;
- for ( pp+=strlen((char *)pp)+1; pp[0]!=0 || pp[1]!=0; pp++ )
- rc &= fprintf( f, " %d", ConvertPathSegToExternal(pp[0],segCnt,segs) )>0;
- rc &= fprintf( f, "\n" )>0;
+ if ( paths ) {
+ for ( pp=paths; *pp; pp+=2 ) {
+ rc &= fprintf( f, "\tP \"%s\"", pp )>0;
+ for ( pp+=strlen((char *)pp)+1; pp[0]!=0 || pp[1]!=0; pp++ )
+ rc &= fprintf( f, " %d", pp[0] )>0;
+ rc &= fprintf( f, "\n" )>0;
+ }
}
for ( i=0; i<endPtCnt; i++ )
rc &= fprintf( f, "\tE %0.6f %0.6f %0.6f\n",
@@ -101,7 +232,7 @@ EXPORT void ParseCompoundTitle(
int * partnoL )
{
char * cp1, *cp2;
- int len;
+ size_t len;
*manufP = *nameP = *partnoP = NULL;
*manufL = *nameL = *partnoL = 0;
len = strlen( title );
@@ -111,17 +242,17 @@ EXPORT void ParseCompoundTitle(
if ( cp2 ) {
cp2++;
*partnoP = cp2;
- *partnoL = title+len-cp2;
+ *partnoL = (int)(title+len-cp2);
len = cp2-title-1;
}
cp1++;
*nameP = cp1;
- *nameL = title+len-cp1;
+ *nameL = (int)(title+len-cp1);
*manufP = title;
- *manufL = cp1-title-1;
+ *manufL = (int)(cp1-title-1);
} else {
*nameP = title;
- *nameL = len;
+ *nameL = (int)len;
}
}
@@ -131,7 +262,7 @@ void FormatCompoundTitle(
char * title )
{
char *cp1, *cp2=NULL, *cq;
- int len;
+ size_t len;
FLOAT_T price;
BOOL_T needSep;
cq = message;
@@ -210,10 +341,10 @@ void FormatCompoundTitle(
void ComputeCompoundBoundingBox(
track_p trk )
{
- struct extraData *xx;
+ struct extraDataCompound_t *xx;
coOrd hi, lo;
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataCompound_t);
GetSegBounds( xx->orig, xx->angle, xx->segCnt, xx->segs, &lo, &hi );
hi.x += lo.x;
@@ -290,7 +421,7 @@ EXPORT void CompoundClearDemoDefns( void )
void SetDescriptionOrig(
track_p trk )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataCompound_t);
int i, j;
coOrd p0, p1;
@@ -328,7 +459,7 @@ void DrawCompoundDescription(
{
wFont_p fp;
coOrd p1;
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataCompound_t);
char * desc;
long layoutLabelsOption = layoutLabels;
@@ -336,24 +467,30 @@ void DrawCompoundDescription(
return;
if ((labelEnable&LABELENABLE_TRKDESC)==0)
return;
- if ( (d->options&DC_SIMPLE) )
+ if ( (d->options&(DC_SIMPLE|DC_SEGTRACK)) )
return;
- if ( xx->special == TOpier ) {
- desc = xx->u.pier.name;
- } else {
- if ( xx->flipped )
- layoutLabelsOption |= LABEL_FLIPPED;
- if ( xx->ungrouped )
- layoutLabelsOption |= LABEL_UNGROUPED;
- if ( xx->split )
- layoutLabelsOption |= LABEL_SPLIT;
- FormatCompoundTitle( layoutLabelsOption, xtitle(xx) );
- desc = message;
- }
- p1 = xx->descriptionOrig;
- Rotate( &p1, zero, xx->angle );
- p1.x += xx->orig.x + xx->descriptionOff.x;
- p1.y += xx->orig.y + xx->descriptionOff.y;
+ if ( xx->special == TOpier ) {
+ desc = xx->u.pier.name;
+ } else {
+ if ( xx->flipped )
+ layoutLabelsOption |= LABEL_FLIPPED;
+ if ( xx->ungrouped )
+ layoutLabelsOption |= LABEL_UNGROUPED;
+ if ( xx->split )
+ layoutLabelsOption |= LABEL_SPLIT;
+ FormatCompoundTitle( layoutLabelsOption, xtitle(xx) );
+ desc = message;
+ }
+ p1 = xx->descriptionOrig;
+ Rotate( &p1, zero, xx->angle );
+ coOrd p0;
+ p0.x = p1.x+xx->orig.x;
+ p0.y = p1.y+xx->orig.y;
+ p1.x += xx->orig.x + xx->descriptionOff.x;
+ p1.y += xx->orig.y + xx->descriptionOff.y;
+ if (color == drawColorPreviewSelected) {
+ DrawLine( d, p0, p1, 0, color );
+ }
fp = wStandardFont( F_TIMES, FALSE, FALSE );
DrawBoxedString( (xx->special==TOpier)?BOX_INVERT:BOX_NONE, d, p1, desc, fp, (wFontSize_t)descriptionFontSize, color, 0.0 );
}
@@ -366,12 +503,12 @@ DIST_T CompoundDescriptionDistance(
BOOL_T show_hidden,
BOOL_T * hidden)
{
- struct extraData *xx = GetTrkExtraData(trk);
coOrd p1;
if (GetTrkType(trk) != T_TURNOUT && GetTrkType(trk) != T_STRUCTURE)
- return 100000;
+ return DIST_INF;
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataCompound_t);
if ( ((GetTrkBits( trk ) & TB_HIDEDESC) != 0 ) && !show_hidden)
- return 100000;
+ return DIST_INF;
p1 = xx->descriptionOrig;
coOrd offset = xx->descriptionOff;
if ( (GetTrkBits( trk ) & TB_HIDEDESC) != 0 ) offset = zero;
@@ -380,6 +517,10 @@ DIST_T CompoundDescriptionDistance(
p1.y += xx->orig.y + offset.y;
if (hidden) *hidden = (GetTrkBits( trk ) & TB_HIDEDESC);
*dpos = p1;
+
+ coOrd tpos = pos;
+ if (DistanceCompound(trk,&tpos)<FindDistance( p1, pos ))
+ return DistanceCompound(trk,&pos);
return FindDistance( p1, pos );
}
@@ -389,7 +530,7 @@ STATUS_T CompoundDescriptionMove(
wAction_t action,
coOrd pos )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataCompound_t);
static coOrd p0, p1;
static BOOL_T editMode;
wDrawColor color;
@@ -470,7 +611,7 @@ DIST_T DistanceCompound(
track_p t,
coOrd * p )
{
- struct extraData *xx = GetTrkExtraData(t);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(t, T_NOTRACK, extraDataCompound_t);
EPINX_T ep;
DIST_T d0, d1;
coOrd p0, p2;
@@ -483,7 +624,7 @@ DIST_T DistanceCompound(
d0 = DistanceSegs( xx->orig, xx->angle, xx->segCnt, xx->segs, p, NULL );
} else if ( programMode != MODE_TRAIN || GetTrkEndPtCnt(t) <= 0 ) {
d0 = DistanceSegs( xx->orig, xx->angle, xx->segCnt, xx->segs, p, NULL );
- if (programMode != MODE_TRAIN && GetTrkEndPtCnt(t) > 0 && d0 < 10000.0) {
+ if (programMode != MODE_TRAIN && GetTrkEndPtCnt(t) > 0 && d0 < DIST_INF) {
ep = PickEndPoint( *p, t );
*p = GetTrkEndPos(t,ep);
}
@@ -492,11 +633,11 @@ DIST_T DistanceCompound(
Rotate( &p0, xx->orig, -xx->angle );
p0.x -= xx->orig.x;
p0.y -= xx->orig.y;
- d0 = 1000000.0;
- path = xx->pathCurr;
- for ( path=xx->pathCurr+strlen((char *)xx->pathCurr)+1; path[0] || path[1]; path++ ) {
+ d0 = DIST_INF;
+ path = GetCurrPath( t );
+ for ( path += strlen((char *)path)+1; path[0] || path[1]; path++ ) {
if ( path[0] != 0 ) {
- d1 = 1000000.0;
+ d1 = DIST_INF;
GetSegInxEP( *path, &segInx, &segEP );
segProcData.distance.pos1 = p0;
SegProc( SEGPROC_DISTANCE, &xx->segs[segInx], &segProcData );
@@ -506,7 +647,7 @@ DIST_T DistanceCompound(
}
}
}
- if ( d0 < 1000000.0 ) {
+ if ( d0 < DIST_INF ) {
p2.x += xx->orig.x;
p2.y += xx->orig.y;
Rotate( &p2, xx->orig, xx->angle );
@@ -575,7 +716,7 @@ static descData_t compoundDesc[] = {
static void UpdateCompound( track_p trk, int inx, descData_p descUpd, BOOL_T needUndoStart )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataCompound_t);
const char * manufS, * nameS, * partnoS;
char * mP, *nP, *pP;
int mL, nL, pL;
@@ -806,7 +947,7 @@ void DescribeCompound(
char * str,
CSIZE_T len )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataCompound_t);
int fix;
EPINX_T ep, epCnt;
char * mP, *nP, *pP, *cnP;
@@ -953,13 +1094,13 @@ void DescribeCompound(
if ( compoundDesc[LT].control0!=NULL) {
wListClear( (wList_p)compoundDesc[LT].control0 );
- wListAddValue( (wList_p)compoundDesc[LT].control0, _("Solid"), NULL, (void*)0 );
- wListAddValue( (wList_p)compoundDesc[LT].control0, _("Dash"), NULL, (void*)1 );
- wListAddValue( (wList_p)compoundDesc[LT].control0, _("Dot"), NULL, (void*)2 );
- wListAddValue( (wList_p)compoundDesc[LT].control0, _("DashDot"), NULL, (void*)3 );
- wListAddValue( (wList_p)compoundDesc[LT].control0, _("DashDotDot"), NULL, (void*)4 );
- wListAddValue( (wList_p)compoundDesc[LT].control0, _("CenterDot"), NULL, (void*)5 );
- wListAddValue( (wList_p)compoundDesc[LT].control0, _("PhantomDot"), NULL, (void*)6 );
+ wListAddValue( (wList_p)compoundDesc[LT].control0, _("Solid"), NULL, I2VP(0) );
+ wListAddValue( (wList_p)compoundDesc[LT].control0, _("Dash"), NULL, I2VP(1) );
+ wListAddValue( (wList_p)compoundDesc[LT].control0, _("Dot"), NULL, I2VP(2) );
+ wListAddValue( (wList_p)compoundDesc[LT].control0, _("DashDot"), NULL, I2VP(3) );
+ wListAddValue( (wList_p)compoundDesc[LT].control0, _("DashDotDot"), NULL, I2VP(4) );
+ wListAddValue( (wList_p)compoundDesc[LT].control0, _("CenterDot"), NULL, I2VP(5) );
+ wListAddValue( (wList_p)compoundDesc[LT].control0, _("PhantomDot"), NULL, I2VP(6) );
wListSetIndex( (wList_p)compoundDesc[LT].control0, compoundData.linetype );
}
@@ -969,9 +1110,9 @@ void DescribeCompound(
void DeleteCompound(
track_p t )
{
- struct extraData *xx = GetTrkExtraData(t);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(t, T_NOTRACK, extraDataCompound_t);
FreeFilledDraw( xx->segCnt, xx->segs );
- MyFree( xx->segs );
+ if (xx->segCnt>0) MyFree( xx->segs );
xx->segs = NULL;
}
@@ -980,42 +1121,34 @@ BOOL_T WriteCompound(
track_p t,
FILE * f )
{
- struct extraData *xx = GetTrkExtraData(t);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(t, T_NOTRACK, extraDataCompound_t);
EPINX_T ep, epCnt;
long options;
long position = 0;
drawLineType_e lineType = 0;
- PATHPTR_T path;
BOOL_T rc = TRUE;
options = (long)GetTrkWidth(t);
if (xx->handlaid)
- options |= 0x08;
+ options |= COMPOUND_OPTION_HANDLAID;
if (xx->flipped)
- options |= 0x10;
+ options |= COMPOUND_OPTION_FLIPPED;
if (xx->ungrouped)
- options |= 0x20;
+ options |= COMPOUND_OPTION_UNGROUPED;
if (xx->split)
- options |= 0x40;
+ options |= COMPOUND_OPTION_SPLIT;
+ if (xx->pathOverRide)
+ options |= COMPOUND_OPTION_PATH_OVERRIDE;
+ if (xx->pathNoCombine)
+ options |= COMPOUND_OPTION_PATH_NOCOMBINE;
if ( ( GetTrkBits( t ) & TB_HIDEDESC ) != 0 )
- options |= 0x80;
+ options |= COMPOUND_OPTION_HIDEDESC;
epCnt = GetTrkEndPtCnt(t);
- if ( epCnt > -0 ) {
- path = xx->paths;
- while ( path != xx->pathCurr ) {
- path += strlen((char*)path)+1;
- while ( path[0] || path[1] )
- path++;
- path += 2;
- if ( *path == 0 )
- break;
- position++;
- }
- }
lineType = xx->lineType;
rc &= fprintf(f, "%s %d %d %ld %ld %d %s %d %0.6f %0.6f 0 %0.6f \"%s\"\n",
GetTrkTypeName(t),
- GetTrkIndex(t), GetTrkLayer(t), options, position, lineType,
+ GetTrkIndex(t), GetTrkLayer(t), options,
+ GetCurrPathIndex(t), lineType,
GetTrkScaleName(t), GetTrkVisible(t)|(GetTrkNoTies(t)?1<<2:0)|(GetTrkBridge(t)?1<<3:0),
xx->orig.x, xx->orig.y, xx->angle,
PutTitle(xtitle(xx)) )>0;
@@ -1034,7 +1167,7 @@ BOOL_T WriteCompound(
;
}
rc &= fprintf( f, "\tD %0.6f %0.6f\n", xx->descriptionOff.x, xx->descriptionOff.y )>0;
- rc &= WriteCompoundPathsEndPtsSegs( f, xpaths(xx), xx->segCnt, xx->segs, 0, NULL );
+ rc &= WriteCompoundPathsEndPtsSegs( f, GetPaths( t ), xx->segCnt, xx->segs, 0, NULL );
return rc;
}
@@ -1048,7 +1181,7 @@ BOOL_T WriteCompound(
*/
EXPORT void SetCompoundLineType( track_p trk, int width ) {
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t * xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataCompound_t);
switch(width) {
case 0:
xx->lineType = DRAWLINESOLID;
@@ -1084,18 +1217,16 @@ EXPORT track_p NewCompound(
char * title,
EPINX_T epCnt,
trkEndPt_t * epp,
- DIST_T * radii,
- int pathLen,
- char * paths,
+ PATHPTR_T paths,
wIndex_t segCnt,
trkSeg_p segs )
{
track_p trk;
- struct extraData * xx;
+ struct extraDataCompound_t * xx;
EPINX_T ep;
trk = NewTrack( index, trkType, epCnt, sizeof (*xx) + 1 );
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, trkType, extraDataCompound_t);
xx->orig = pos;
xx->angle = angle;
xx->handlaid = FALSE;
@@ -1107,12 +1238,7 @@ EXPORT track_p NewCompound(
xx->title = MyStrdup( title );
xx->customInfo = NULL;
xx->special = TOnormal;
- if ( pathLen > 0 )
- xx->paths = memdup( paths, pathLen );
- else
- xx->paths = (PATHPTR_T)"";
- xx->pathLen = pathLen;
- xx->pathCurr = xx->paths;
+ SetPaths( trk, paths );
xx->segCnt = segCnt;
xx->segs = memdup( segs, segCnt * sizeof *segs );
trkSeg_p p = xx->segs;
@@ -1120,17 +1246,8 @@ EXPORT track_p NewCompound(
FixUpBezierSegs(xx->segs,xx->segCnt);
ComputeCompoundBoundingBox( trk );
SetDescriptionOrig( trk );
-// if (radii) {
-// xx->special = TOcurved;
-// xx->u.curved.radii.max = 0;
-// xx->u.curved.radii.cnt = 0;
-// DYNARR_SET(DIST_T,xx->u.curved.radii,epCnt);
-// }
for ( ep=0; ep<epCnt; ep++ ) {
SetTrkEndPoint( trk, ep, epp[ep].pos, epp[ep].angle );
-// if (radii) {
-// DYNARR_N(DIST_T,xx->u.curved.radii,ep) = radii[ep];
-// }
}
return trk;
}
@@ -1141,7 +1258,7 @@ BOOL_T ReadCompound(
TRKTYP_T trkType )
{
track_p trk;
- struct extraData *xx;
+ struct extraDataCompound_t *xx;
TRKINX_T index;
BOOL_T visible;
coOrd orig;
@@ -1154,7 +1271,6 @@ BOOL_T ReadCompound(
long options = 0;
long position = 0;
long lineType = 0;
- PATHPTR_T path=NULL;
if (paramVersion<3) {
if ( !GetArgs( line, "dXsdpfq",
@@ -1175,10 +1291,15 @@ BOOL_T ReadCompound(
pathCnt = 0;
if ( !ReadSegs() )
return FALSE;
- path = pathPtr;
- if ( tempEndPts_da.cnt > 0 && pathCnt <= 1 ) {
- pathCnt = 10;
- path = (PATHPTR_T)"Normal\01\0\0";
+ if ( trkType == T_TURNOUT ) {
+ if ( tempEndPts_da.cnt <= 0 ) {
+ InputError( "Turnout defn without EndPoints", TRUE );
+ return FALSE;
+ }
+ if ( pathCnt <= 1 ) {
+ InputError( "Turnout defn without a Path", TRUE );
+ return FALSE;
+ }
}
if (paramVersion<6 && strlen( title ) > 2) {
cp = strchr( title, '\t' );
@@ -1189,7 +1310,9 @@ BOOL_T ReadCompound(
UpdateTitleMark( title, LookupScale(scale) );
}
}
- trk = NewCompound( trkType, index, orig, angle, title, 0, NULL, NULL, pathCnt, (char *)path, tempSegs_da.cnt, &tempSegs(0) );
+ trk = NewCompound( trkType, index, orig, angle, title, 0, NULL,
+ pathCnt > 1 ? pathPtr : NULL,
+ tempSegs_da.cnt, &tempSegs(0) );
SetEndPts( trk, 0 );
if ( paramVersion < 3 ) {
SetTrkVisible(trk, visible!=0);
@@ -1203,14 +1326,16 @@ BOOL_T ReadCompound(
SetTrkScale(trk, LookupScale( scale ));
SetTrkLayer(trk, layer);
SetTrkWidth(trk, (int)(options&3));
- xx = GetTrkExtraData(trk);
- xx->handlaid = (int)((options&0x08)!=0);
- xx->flipped = (int)((options&0x10)!=0);
- xx->ungrouped = (int)((options&0x20)!=0);
- xx->split = (int)((options&0x40)!=0);
+ xx = GET_EXTRA_DATA(trk, trkType, extraDataCompound_t);
+ xx->handlaid = (int)((options&COMPOUND_OPTION_HANDLAID)!=0);
+ xx->flipped = (int)((options&COMPOUND_OPTION_FLIPPED)!=0);
+ xx->ungrouped = (int)((options&COMPOUND_OPTION_UNGROUPED)!=0);
+ xx->split = (int)((options&COMPOUND_OPTION_SPLIT)!=0);
+ xx->pathOverRide = (int)((options&COMPOUND_OPTION_PATH_OVERRIDE)!=0);
+ xx->pathNoCombine = (int)((options&COMPOUND_OPTION_PATH_NOCOMBINE)!=0);
xx->lineType = lineType;
xx->descriptionOff = descriptionOff;
- if ( ( options & 0x80 ) != 0 )
+ if ( ( options & COMPOUND_OPTION_HIDEDESC ) != 0 )
SetTrkBits( trk, TB_HIDEDESC );
if (tempSpecial[0] != '\0') {
@@ -1231,18 +1356,7 @@ BOOL_T ReadCompound(
return FALSE;
}
}
- if (pathCnt > 0) {
- path = xx->pathCurr;
- while ( position-- ) {
- path += strlen((char *)path)+1;
- while ( path[0] || path[1] )
- path++;
- path += 2;
- if ( *path == 0 )
- path = xx->paths;
- }
- }
- xx->pathCurr = path;
+ SetCurrPathIndex( trk, position );
return TRUE;
}
@@ -1250,7 +1364,7 @@ void MoveCompound(
track_p trk,
coOrd orig )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataCompound_t);
xx->orig.x += orig.x;
xx->orig.y += orig.y;
ComputeCompoundBoundingBox( trk );
@@ -1262,7 +1376,7 @@ void RotateCompound(
coOrd orig,
ANGLE_T angle )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataCompound_t);
Rotate( &xx->orig, orig, angle );
xx->angle = NormalizeAngle( xx->angle + angle );
Rotate( &xx->descriptionOff, zero, angle );
@@ -1274,7 +1388,7 @@ void RescaleCompound(
track_p trk,
FLOAT_T ratio )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataCompound_t);
xx->orig.x *= ratio;
xx->orig.y *= ratio;
xx->descriptionOff.x *= ratio;
@@ -1290,7 +1404,7 @@ void FlipCompound(
coOrd orig,
ANGLE_T angle )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataCompound_t);
EPINX_T ep, epCnt;
char * mP, *nP, *pP;
int mL, nL, pL;
@@ -1405,19 +1519,21 @@ typedef struct {
char * type;
char * name;
FLOAT_T price;
+ DynString indexes;
} enumCompound_t;
static dynArr_t enumCompound_da;
#define EnumCompound(N) DYNARR_N( enumCompound_t,enumCompound_da,N)
BOOL_T EnumerateCompound( track_p trk )
{
- struct extraData *xx;
+ struct extraDataCompound_t *xx;
INT_T inx, inx2;
int cmp;
long listLabelsOption = listLabels;
+ char * index = MyMalloc(10);
if ( trk != NULL ) {
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataCompound_t);
if ( xx->flipped )
listLabelsOption |= LABEL_FLIPPED;
#ifdef LATER
@@ -1428,11 +1544,14 @@ BOOL_T EnumerateCompound( track_p trk )
#endif
FormatCompoundTitle( listLabelsOption, xtitle(xx) );
if (message[0] == '\0')
- return TRUE;
+ return FALSE; //No content
for (inx = 0; inx < enumCompound_da.cnt; inx++ ) {
cmp = strcmp( EnumCompound(inx).name, message );
if ( cmp == 0 ) {
EnumCompound(inx).count++;
+ sprintf(index,",%d",GetTrkIndex(trk));
+ DynStringCatCStr(&(EnumCompound(inx).indexes),index);
+ MyFree(index);
return TRUE;
} else if ( cmp > 0 ) {
break;
@@ -1443,9 +1562,11 @@ BOOL_T EnumerateCompound( track_p trk )
EnumCompound(inx2) = EnumCompound(inx2-1);
EnumCompound(inx).name = MyStrdup( message );
if (strlen(message) > (size_t)enumerateMaxDescLen)
- enumerateMaxDescLen = strlen(message);
+ enumerateMaxDescLen = (int)strlen(message);
EnumCompound(inx).type = GetTrkTypeName( trk );
EnumCompound(inx).count = 1;
+ DynStringMalloc(&(EnumCompound(inx).indexes),100);
+ DynStringPrintf(&(EnumCompound(inx).indexes),"%d",GetTrkIndex(trk));
FormatCompoundTitle( LABEL_MANUF|LABEL_DESCR|LABEL_PARTNO, xtitle(xx) );
wPrefGetFloat( "price list", message, &(EnumCompound(inx).price), 0.0 );
} else {
@@ -1455,12 +1576,15 @@ BOOL_T EnumerateCompound( track_p trk )
if (EnumCompound(inx).type[0] == *type) {
EnumerateList( EnumCompound(inx).count,
EnumCompound(inx).price,
- EnumCompound(inx).name );
+ EnumCompound(inx).name,
+ DynStringSize(&(EnumCompound(inx).indexes))?DynStringToCStr(&(EnumCompound(inx).indexes)):NULL);
}
+ DynStringFree(&(EnumCompound(inx).indexes));
}
}
DYNARR_RESET( enumCompound_t, enumCompound_da );
}
+ MyFree(index);
return TRUE;
}
diff --git a/app/bin/compound.h b/app/bin/compound.h
index b4c63ca..edcbb66 100644
--- a/app/bin/compound.h
+++ b/app/bin/compound.h
@@ -24,9 +24,9 @@
#define COMPOUND_H
#include "common.h"
-#include "track.h"
+#include "track.h" //- PATHPTR_T drawLineType_e
-typedef enum { TOnormal, TOadjustable, TOpierInfo, TOpier, TOcarDesc, TOlast, TOcurved } TOspecial_e;
+typedef enum { TOnormal, TOadjustable, TOpierInfo, TOpier, TOcarDesc, TOlast } TOspecial_e;
typedef struct {
char * name;
@@ -44,9 +44,6 @@ typedef union {
FLOAT_T height;
char * name;
} pier;
- struct {
- dynArr_t radii;
- } curved;
} turnoutInfo_u;
typedef struct turnoutInfo_t{
@@ -57,31 +54,32 @@ typedef struct turnoutInfo_t{
wIndex_t segCnt;
trkSeg_p segs;
wIndex_t endCnt;
- trkEndPt_t * endPt;
- wIndex_t pathLen;
+ trkEndPt_p endPt;
PATHPTR_T paths;
int paramFileIndex;
char * customInfo;
DIST_T barScale;
TOspecial_e special;
turnoutInfo_u u;
+ wBool_t pathOverRide;
+ wBool_t pathNoCombine;
char * contentsLabel;
} turnoutInfo_t;
-#define xpaths(X) \
- (X->paths)
#define xtitle(X) \
(X->title)
-#ifndef PRIVATE_EXTRADATA
-struct extraData {
+typedef struct extraDataCompound_t {
+ extraDataBase_t base;
coOrd orig;
ANGLE_T angle;
BOOL_T handlaid;
BOOL_T flipped;
BOOL_T ungrouped;
BOOL_T split;
+ BOOL_T pathOverRide;
+ BOOL_T pathNoCombine;
coOrd descriptionOrig;
coOrd descriptionOff;
coOrd descriptionSize;
@@ -90,14 +88,12 @@ struct extraData {
TOspecial_e special;
turnoutInfo_u u;
PATHPTR_T paths;
- wIndex_t pathLen;
- PATHPTR_T pathCurr;
+ PATHPTR_T currPath;
+ long currPathIndex;
wIndex_t segCnt;
- trkSeg_t * segs;
- DIST_T * radii;
+ trkSeg_p segs;
drawLineType_e lineType;
- };
-#endif
+ } extraDataCompound_t;
extern TRKTYP_T T_TURNOUT;
extern TRKTYP_T T_STRUCTURE;
@@ -118,11 +114,29 @@ extern turnoutInfo_t * curStructure;
#define PIER "pier"
#define CURVED "curvedends"
+#define COMPOUND_OPTION_HANDLAID (0x0008)
+#define COMPOUND_OPTION_FLIPPED (0x0010)
+#define COMPOUND_OPTION_UNGROUPED (0x0020)
+#define COMPOUND_OPTION_SPLIT (0x0040)
+#define COMPOUND_OPTION_HIDEDESC (0x0080)
+#define COMPOUND_OPTION_PATH_OVERRIDE (0x0100)
+#define COMPOUND_OPTION_PATH_NOCOMBINE (0x0200)
+
+
/* compound.c */
+PATHPTR_T GetPaths( track_p trk );
+wIndex_t GetPathsLength( PATHPTR_T paths );
+void SetPaths( track_p trk, PATHPTR_T paths );
+PATHPTR_T GetCurrPath( track_p trk );
+long GetCurrPathIndex( track_p trk );
+void SetCurrPathIndex( track_p trk, long position );
+PATHPTR_T GetParamPaths( turnoutInfo_t * to );
+void SetParamPaths( turnoutInfo_t * to, PATHPTR_T paths );
+
#define FIND_TURNOUT (1<<11)
#define FIND_STRUCT (1<<12)
void FormatCompoundTitle( long, char *);
-BOOL_T WriteCompoundPathsEndPtsSegs( FILE *, PATHPTR_T, wIndex_t, trkSeg_p, EPINX_T, trkEndPt_t *);
+BOOL_T WriteCompoundPathsEndPtsSegs( FILE *, PATHPTR_T, wIndex_t, trkSeg_p, EPINX_T, trkEndPt_p);
void ParseCompoundTitle( char *, char **, int *, char **, int *, char **, int * );
void FormatCompoundTitle( long, char *);
void ComputeCompoundBoundingBox( track_p);
@@ -135,7 +149,7 @@ void DrawCompoundDescription( track_p, drawCmd_p, wDrawColor );
DIST_T DistanceCompound( track_p, coOrd * );
void DescribeCompound( track_p, char *, CSIZE_T );
void DeleteCompound( track_p );
-track_p NewCompound( TRKTYP_T, TRKINX_T, coOrd, ANGLE_T, char *, EPINX_T, trkEndPt_t *, DIST_T *, int, char *, wIndex_t, trkSeg_p );
+track_p NewCompound( TRKTYP_T, TRKINX_T, coOrd, ANGLE_T, char *, EPINX_T, trkEndPt_p, PATHPTR_T, wIndex_t, trkSeg_p );
BOOL_T WriteCompound( track_p, FILE * );
BOOL_T ReadCompound( char *, TRKTYP_T );
void MoveCompound( track_p, coOrd );
@@ -147,8 +161,8 @@ void SetCompoundLineType( track_p trk, int width );
/* cgroup.c */
void UngroupCompound( track_p );
-void DoUngroup( void );
-void DoGroup( void );
+void DoUngroup( void * unused );
+void DoGroup( void * unused );
/* dcmpnd.c */
void UpdateTitleMark( char *, SCALEINX_T );
@@ -163,7 +177,7 @@ BOOL_T SplitTurnoutCheck(track_p,coOrd,EPINX_T ep,track_p *,EPINX_T *,EPINX_T *,
void GetSegInxEP( signed char, int *, EPINX_T * );
void SetSegInxEP( signed char *, int, EPINX_T) ;
wIndex_t CheckPaths( wIndex_t, trkSeg_p, PATHPTR_T );
-turnoutInfo_t * CreateNewTurnout( char *, char *, wIndex_t, trkSeg_p, wIndex_t, PATHPTR_T, EPINX_T, trkEndPt_t *, DIST_T *, wBool_t );
+turnoutInfo_t * CreateNewTurnout( char *, char *, wIndex_t, trkSeg_p, PATHPTR_T, EPINX_T, trkEndPt_p, wBool_t, long );
void DeleteTurnoutParams(int fileInx);
turnoutInfo_t * TurnoutAdd( long, SCALEINX_T, wList_p, coOrd *, EPINX_T );
STATUS_T CmdTurnoutAction( wAction_t, coOrd );
diff --git a/app/bin/cparalle.c b/app/bin/cparalle.c
index 27276b1..6825aea 100644
--- a/app/bin/cparalle.c
+++ b/app/bin/cparalle.c
@@ -20,17 +20,14 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
-
#include "ccurve.h"
#include "cstraigh.h"
+#include "cselect.h"
#include "cundo.h"
-#include "i18n.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
#include "layout.h"
+#include "common-ui.h"
static struct {
track_p Trk;
@@ -54,7 +51,7 @@ static paramData_t parSepPLs[] = {
#define parFactorI 1
{ PD_FLOAT, &parSepFactor, "factor", 0, &r_0_10, N_("Radius Factor") }
};
-static paramGroup_t parSepPG = { "parallel", 0, parSepPLs, sizeof parSepPLs/sizeof parSepPLs[0] };
+static paramGroup_t parSepPG = { "parallel", 0, parSepPLs, COUNT( parSepPLs ) };
static STATUS_T CmdParallel(wAction_t action, coOrd pos)
@@ -71,7 +68,7 @@ static STATUS_T CmdParallel(wAction_t action, coOrd pos)
char * labels[3];
static DIST_T parRFactor;
- parType = (long)commandContext;
+ parType = VP2L(commandContext);
switch (action&0xFF) {
@@ -104,6 +101,7 @@ static STATUS_T CmdParallel(wAction_t action, coOrd pos)
parFactorPD.option &= ~PDO_NORECORD;
Dpa.anchor_Trk = NULL;
tempSegs_da.cnt = 0;
+ SetAllTrackSelect( FALSE );
return C_CONTINUE;
case wActionMove:
@@ -201,7 +199,7 @@ static STATUS_T CmdParallel(wAction_t action, coOrd pos)
tempSegs_da.cnt = 0;
if ((t0=OnTrack(&p, FALSE, TRUE)) != NULL) {
ep0 = PickEndPoint(p, t0);
- if (GetTrkEndTrk(t0,ep0) != NULL) {
+ if (ep0 < 0 || GetTrkEndTrk(t0,ep0) != NULL) {
t0 = NULL;
} else {
p = GetTrkEndPos(t0, ep0);
@@ -214,7 +212,7 @@ static STATUS_T CmdParallel(wAction_t action, coOrd pos)
p = p1;
if ((t1=OnTrack(&p, FALSE, TRUE)) != NULL) {
ep1 = PickEndPoint(p, t1);
- if (GetTrkEndTrk(t1,ep1) != NULL) {
+ if (ep1 < 0 || GetTrkEndTrk(t1,ep1) != NULL) {
t1 = NULL;
} else {
p = GetTrkEndPos(t1, ep1);
@@ -296,8 +294,8 @@ static STATUS_T CmdParallel(wAction_t action, coOrd pos)
EXPORT void InitCmdParallel( wMenu_p menu )
{
ButtonGroupBegin( _("Parallel"), "cmdParallelSetCmd", _("Parallel") );
- AddMenuButton( menu, CmdParallel, "cmdParallelTrack", _("Parallel Track"), wIconCreatePixMap(parallel_xpm), LEVEL0_50, IC_STICKY|IC_POPUP|IC_WANT_MOVE, ACCL_PARALLEL, (void*)0 );
- AddMenuButton( menu, CmdParallel, "cmdParallelLine", _("Parallel Line"), wIconCreatePixMap(parallel_line_xpm), LEVEL0_50, IC_STICKY|IC_POPUP|IC_WANT_MOVE, ACCL_PARALLEL, (void*)1 );
+ AddMenuButton( menu, CmdParallel, "cmdParallelTrack", _("Parallel Track"), wIconCreatePixMap(parallel_xpm[iconSize]), LEVEL0_50, IC_STICKY|IC_POPUP|IC_WANT_MOVE, ACCL_PARALLEL, I2VP(0) );
+ AddMenuButton( menu, CmdParallel, "cmdParallelLine", _("Parallel Line"), wIconCreatePixMap(parallel_line_xpm[iconSize]), LEVEL0_50, IC_STICKY|IC_POPUP|IC_WANT_MOVE, ACCL_PARALLEL, I2VP(1) );
ButtonGroupEnd();
ParamRegister( &parSepPG );
}
diff --git a/app/bin/cprint.c b/app/bin/cprint.c
index 066e649..a8ae0c1 100644
--- a/app/bin/cprint.c
+++ b/app/bin/cprint.c
@@ -20,22 +20,13 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <sys/types.h>
-#include <time.h>
-#include <string.h>
-#include <ctype.h>
-#include <math.h>
-#include <stdbool.h>
-
#include "custom.h"
#include "dynstring.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
+#include "common-ui.h"
#define PRINT_GAUDY (0)
#define PRINT_PLAIN (1)
@@ -57,13 +48,20 @@ static bitmap_t bm, bm0;
#define BITMAP( BM, X, Y ) \
(BM).bm[ (X)-(BM).x0 + ((Y)-(BM).y0) * ((BM).x1-(BM).x0) ]
-struct {
+static struct {
coOrd size;
coOrd orig;
ANGLE_T angle;
} currPrintGrid, newPrintGrid;
+EXPORT coOrd GetPrintOrig() {
+ return currPrintGrid.orig;
+}
+
+EXPORT ANGLE_T GetPrintAngle() {
+ return currPrintGrid.angle;
+}
/*
* GUI VARS
*/
@@ -104,7 +102,7 @@ static void PrintClear( void );
static void PrintMaxPageSize( void );
static void SelectAllPages(void);
static void DoPrintMargin(void);
-static bool PrintPageNumber( wPos_t x, wPos_t y, DIST_T width, DIST_T height );
+static bool PrintPageNumber( int x, int y, DIST_T width, DIST_T height );
static bool PrintNextPageNumbers(int x, int y, DIST_T pageW, DIST_T pageH);
static char * printFormatLabels[] = { N_("Portrait"), N_("Landscape"), NULL };
@@ -114,25 +112,26 @@ static char * printRegistrationMarksLabels[] = { N_("Registration Marks (in 1:1
static char * printPageNumberLabels[] = { N_("Page Numbers"), NULL };
static char * printPhysSizeLabels[] = { N_("Ignore Page Margins"), NULL };
static char * printGridLabels[] = { N_("Snap Grid"), NULL };
-static char * printRulerLabels[] = { N_("Rulers"), NULL };
+static char * printRulerLabels[] = { N_("Layout Edge"), N_("Every Page"), N_("None"), NULL };
static char * printRoadbedLabels[] = { N_("Roadbed Outline"), NULL };
static char * printCenterLineLabels[] = { N_("Centerline below Scale 1:1"), NULL };
static paramIntegerRange_t rminScale_999 = { 1, 999, 0, PDO_NORANGECHECK_HIGH };
static paramFloatRange_t r0_ = { 0, 0, 0, PDO_NORANGECHECK_HIGH };
-static paramFloatRange_t r1_ = { 1, 0, 0, PDO_NORANGECHECK_HIGH };
-static paramFloatRange_t r_10_99999 = { -10, 99999, 0, PDO_NORANGECHECK_HIGH };
+static paramFloatRange_t r1_pgsz_x = { 1, 0, 0, 0 };
+static paramFloatRange_t r1_pgsz_y = { 1, 0, 0, 0 };
+static paramFloatRange_t r_100_99999 = { -100, 99999, 0, PDO_NORANGECHECK_HIGH };
static paramFloatRange_t r0_360 = { 0, 360 };
static paramData_t printPLs[] = {
-/*0*/ { PD_LONG, &iPrintScale, "scale", 0, &rminScale_999, N_("Print Scale"), 0, (void*)1 },
-/*1*/ { PD_FLOAT, &newPrintGrid.size.x, "pagew", PDO_DIM|PDO_SMALLDIM|PDO_NORECORD|PDO_NOPREF, &r1_, N_("Page Width"), 0, (void*)2 },
-/*2*/ { PD_BUTTON, (void*)PrintMaxPageSize, "max", PDO_DLGHORZ, NULL, N_("Max") },
-/*3*/ { PD_FLOAT, &newPrintGrid.size.y, "pageh", PDO_DIM|PDO_SMALLDIM|PDO_NORECORD|PDO_NOPREF, &r1_, N_("Height"), 0, (void*)2 },
-/*4*/ { PD_BUTTON, (void*)PrintSnapShot, "snapshot", PDO_DLGHORZ, NULL, N_("Snap Shot") },
-/*5*/ { PD_RADIO, &printFormat, "format", 0, printFormatLabels, N_("Page Format"), BC_HORZ|BC_NOBORDER, (void*)1 },
+/*0*/ { PD_LONG, &iPrintScale, "scale", 0, &rminScale_999, N_("Print Scale"), 0, I2VP(1) },
+/*1*/ { PD_FLOAT, &newPrintGrid.size.x, "pagew", PDO_DIM|PDO_SMALLDIM|PDO_NORECORD|PDO_NOPREF, &r1_pgsz_x, N_("Page Width"), 0, I2VP(2) },
+/*2*/ { PD_BUTTON, PrintMaxPageSize, "max", PDO_DLGHORZ, NULL, N_("Max") },
+/*3*/ { PD_FLOAT, &newPrintGrid.size.y, "pageh", PDO_DIM|PDO_SMALLDIM|PDO_NORECORD|PDO_NOPREF, &r1_pgsz_y, N_("Height"), 0, I2VP(2) },
+/*4*/ { PD_BUTTON, PrintSnapShot, "snapshot", PDO_DLGHORZ, NULL, N_("Snap Shot") },
+/*5*/ { PD_RADIO, &printFormat, "format", 0, printFormatLabels, N_("Page Format"), BC_HORZ|BC_NOBORDER, I2VP(1) },
/*6*/ { PD_RADIO, &printOrder, "order", PDO_DLGBOXEND, printOrderLabels, N_("Print Order"), BC_HORZ|BC_NOBORDER },
-/*7*/ { PD_MESSAGE, N_("Print "), NULL, PDO_DLGRESETMARGIN| PDO_DLGNOLABELALIGN, (void*)0 },
-/*8*/ { PD_TOGGLE, &printGaudy, "style", PDO_DLGNOLABELALIGN, printGaudyLabels, NULL, BC_HORZ|BC_NOBORDER, (void*)1 },
+/*7*/ { PD_MESSAGE, N_("Print "), NULL, PDO_DLGRESETMARGIN| PDO_DLGNOLABELALIGN, I2VP(0) },
+/*8*/ { PD_TOGGLE, &printGaudy, "style", PDO_DLGNOLABELALIGN, printGaudyLabels, NULL, BC_HORZ|BC_NOBORDER, I2VP(1) },
#define I_REGMARKS (9)
/*9*/ { PD_TOGGLE, &printRegistrationMarks, "registrationMarks", PDO_DLGNOLABELALIGN, printRegistrationMarksLabels, NULL, BC_HORZ|BC_NOBORDER },
#define I_PAGENUMBERS (10)
@@ -140,28 +139,28 @@ static paramData_t printPLs[] = {
#define I_GRID (11)
/*11*/ { PD_TOGGLE, &printGrid, "grid", PDO_DLGNOLABELALIGN, printGridLabels, NULL, BC_HORZ|BC_NOBORDER },
#define I_RULER (12)
-/*12*/ { PD_TOGGLE, &printRuler, "ruler", PDO_DLGNOLABELALIGN, printRulerLabels, NULL, BC_HORZ|BC_NOBORDER },
+/*12*/ { PD_RADIO, &printRuler, "ruler", 0, printRulerLabels, N_("Rulers:"), BC_HORZ|BC_NOBORDER },
#define I_CENTERLINE (13)
/*13*/ { PD_TOGGLE, &printCenterLine, "centerLine", PDO_DLGNOLABELALIGN, printCenterLineLabels, NULL, BC_HORZ|BC_NOBORDER },
#define I_ROADBED (14)
/*14*/{ PD_TOGGLE, &printRoadbed, "roadbed", PDO_DLGNOLABELALIGN, printRoadbedLabels, NULL, BC_HORZ|BC_NOBORDER },
#define I_ROADBEDWIDTH (15)
/*15*/{ PD_FLOAT, &printRoadbedWidth, "roadbedWidth", PDO_DIM , &r0_, N_(" Width") },
-/*16*/ { PD_TOGGLE, &printPhysSize, "physsize", PDO_DLGNOLABELALIGN, printPhysSizeLabels, NULL, BC_HORZ | BC_NOBORDER, (void*)1 },
-/*17*/ { PD_BUTTON, (void*)DoPrintMargin, "margin", PDO_DLGHORZ|PDO_DLGBOXEND, NULL, N_("Margins") },
-/*18*/{ PD_FLOAT, &newPrintGrid.orig.x, "origx", PDO_DIM|PDO_DLGRESETMARGIN, &r_10_99999, N_("Origin: X"), 0, (void*)2 },
-/*19*/ { PD_FLOAT, &newPrintGrid.orig.y, "origy", PDO_DIM, &r_10_99999, N_("Y"), 0, (void*)2 },
-/*20*/ { PD_BUTTON, (void*)DoResetGrid, "reset", PDO_DLGHORZ, NULL, N_("Reset") },
-/*21*/ { PD_FLOAT, &newPrintGrid.angle, "origa", PDO_ANGLE|PDO_DLGBOXEND, &r0_360, N_("Angle"), 0, (void*)2 },
-/*22*/ { PD_BUTTON, (void*)DoPrintSetup, "setup", PDO_DLGCMDBUTTON, NULL, N_("Setup") },
-/*23*/ { PD_BUTTON, (void*)SelectAllPages, "selall", 0, NULL, N_("Select All") },
-/*24*/ { PD_BUTTON, (void*)PrintClear, "clear", 0, NULL, N_("Clear") },
+/*16*/ { PD_TOGGLE, &printPhysSize, "physsize", PDO_DLGNOLABELALIGN, printPhysSizeLabels, NULL, BC_HORZ | BC_NOBORDER, I2VP(1) },
+/*17*/ { PD_BUTTON, DoPrintMargin, "margin", PDO_DLGHORZ|PDO_DLGBOXEND, NULL, N_("Margins") },
+/*18*/{ PD_FLOAT, &newPrintGrid.orig.x, "origx", PDO_DIM|PDO_DLGRESETMARGIN, &r_100_99999, N_("Origin: X"), 0, I2VP(2) },
+/*19*/ { PD_FLOAT, &newPrintGrid.orig.y, "origy", PDO_DIM, &r_100_99999, N_("Y"), 0, I2VP(2) },
+/*20*/ { PD_BUTTON, DoResetGrid, "reset", PDO_DLGHORZ, NULL, N_("Reset") },
+/*21*/ { PD_FLOAT, &newPrintGrid.angle, "origa", PDO_ANGLE|PDO_DLGBOXEND, &r0_360, N_("Angle"), 0, I2VP(2) },
+/*22*/ { PD_BUTTON, DoPrintSetup, "setup", PDO_DLGCMDBUTTON, NULL, N_("Setup") },
+/*23*/ { PD_BUTTON, SelectAllPages, "selall", 0, NULL, N_("Select All") },
+/*24*/ { PD_BUTTON, PrintClear, "clear", 0, NULL, N_("Clear") },
#define I_PAGECNT (25)
-/*25*/ { PD_MESSAGE, N_("0 pages"), NULL, 0, (void*)80 },
-/*26*/ { PD_MESSAGE, N_("selected"), NULL, 0, (void*)80 }
+/*25*/ { PD_MESSAGE, N_("0 pages"), NULL, 0, I2VP(80) },
+/*26*/ { PD_MESSAGE, N_("selected"), NULL, 0, I2VP(80) }
};
-static paramGroup_t printPG = { "print", PGO_PREFMISCGROUP, printPLs, sizeof printPLs/sizeof printPLs[0] };
+static paramGroup_t printPG = { "print", PGO_PREFMISCGROUP, printPLs, COUNT( printPLs ) };
static struct {
double top, right, bottom, left;
@@ -416,8 +415,8 @@ static void PrintGaudyBox(
static void PrintPlainBox(
- wPos_t x,
- wPos_t y,
+ int x,
+ int y,
coOrd *corners )
{
coOrd p00, p01, p10, p11;
@@ -507,11 +506,6 @@ static void PrintUpdate( int inx0 )
ParamLoadData( &printPG );
- if (newPrintGrid.size.x > maxPageSize.x+0.01 ||
- newPrintGrid.size.y > maxPageSize.y+0.01) {
- NoticeMessage( MSG_PRINT_MAX_SIZE, _("Ok"), NULL,
- FormatSmallDistance(maxPageSize.x), FormatSmallDistance(maxPageSize.y) );
- }
if (newPrintGrid.size.x > maxPageSize.x) {
newPrintGrid.size.x = maxPageSize.x;
ParamLoadControl( &printPG, 1 );
@@ -521,8 +515,8 @@ static void PrintUpdate( int inx0 )
ParamLoadControl( &printPG, 3 );
}
currPrintGrid = newPrintGrid;
- for ( inx = 0; inx < sizeof printPLs/sizeof printPLs[0]; inx++ ) {
- if ( inx != inx0 && printPLs[inx].context == (void*)2 )
+ for ( inx = 0; inx < COUNT( printPLs ); inx++ ) {
+ if ( inx != inx0 && printPLs[inx].context == I2VP(2) )
ParamLoadControl( &printPG, inx );
}
ChangeDim();
@@ -554,6 +548,8 @@ static void SetPageSize( BOOL_T doScale )
maxPageSize.x *= printScale;
maxPageSize.y *= printScale;
}
+ r1_pgsz_x.high = maxPageSize.x+0.0001;
+ r1_pgsz_y.high = maxPageSize.y+0.0001;
}
/**
@@ -617,8 +613,8 @@ static paramData_t printMarginPLs[] = {
#define I_PM_MESSAGE (4)
{ PD_MESSAGE, NULL, NULL, 0, NULL },
#define I_PM_RESET (5)
- { PD_BUTTON, (void*) PrintMarginReset, "marginReset", PDO_DLGCMDBUTTON, NULL, N_("Reset") } };
-static paramGroup_t printMarginPG = { "printMargin", PGO_PREFMISCGROUP|PGO_NODEFAULTPROC, printMarginPLs, sizeof printMarginPLs/sizeof printMarginPLs[0] };
+ { PD_BUTTON, PrintMarginReset, "marginReset", PDO_DLGCMDBUTTON, NULL, N_("Reset") } };
+static paramGroup_t printMarginPG = { "printMargin", PGO_PREFMISCGROUP|PGO_NODEFAULTPROC, printMarginPLs, COUNT( printMarginPLs ) };
static wLines_t aPmLines[] = {
{ 1, 25, 11, 94, 11 },
@@ -631,9 +627,9 @@ static int pmyoff=5;
static void PrintMarginLayout(
paramData_t * pd,
int index,
- wPos_t colX,
- wPos_t * w,
- wPos_t * h )
+ wWinPix_t colX,
+ wWinPix_t * w,
+ wWinPix_t * h )
{
if ( index < I_PM_FIRST || index > (I_PM_MESSAGE) )
return;
@@ -641,7 +637,7 @@ static void PrintMarginLayout(
*h = wControlGetPosY( printMarginPLs[I_PM_FIRST+2].control ) + wControlGetHeight( printMarginPLs[I_PM_FIRST+2].control );
return;
}
- wPos_t x0, y0;
+ wWinPix_t x0, y0;
x0 = (aPmLines[index-I_PM_FIRST].x0+aPmLines[index-I_PM_FIRST].x1)/2;
y0 = (aPmLines[index-I_PM_FIRST].y0+aPmLines[index-I_PM_FIRST].y1)/2;
x0 -= pmxoff;
@@ -690,8 +686,8 @@ static void DoPrintMarginOk( void * context )
sprintf( message, "%s-marginL", sPrinterName );
wPrefSetFloat( "printer", message, printMargin.left );
SetPageSize( TRUE );
- for ( int inx = 0; inx < sizeof printPLs/sizeof printPLs[0]; inx++ ) {
- if ( printPLs[inx].context == (void*)2 )
+ for ( int inx = 0; inx < COUNT( printPLs ); inx++ ) {
+ if ( printPLs[inx].context == I2VP(2) )
ParamLoadControl( &printPG, inx );
}
DoPrintScale();
@@ -719,17 +715,17 @@ static void DoPrintMargin( void )
DoPrintSetup();
}
if ( printMarginWin == NULL ) {
- wPos_t x=10, y=10;
+ int x=10, y=10;
printMarginWin = ParamCreateDialog( &printMarginPG, MakeWindowTitle(_("Print Margins")), _("Ok"), DoPrintMarginOk, NULL, TRUE, PrintMarginLayout, F_BLOCK, PrintMarginDlgUpdate );
if ( printMarginWin == NULL )
return;
- for ( int i=0; i<sizeof aPmLines / sizeof aPmLines[0]; i++ ) {
+ for ( int i=0; i<COUNT( aPmLines ); i++ ) {
aPmLines[i].x0 += x;
aPmLines[i].x1 += x;
aPmLines[i].y0 += y;
aPmLines[i].y1 += y;
}
- wLineCreate( printMarginWin, NULL, sizeof aPmLines / sizeof aPmLines[0], aPmLines );
+ wLineCreate( printMarginWin, NULL, COUNT( aPmLines ), aPmLines );
}
wMessageSetValue( (wMessage_p)printMarginPLs[I_PM_MESSAGE].control, sPrinterName );
// Enable Reset button if we've changed anything
@@ -794,8 +790,8 @@ static void PrintSnapShot( void )
scaleH = 1;
for (i=0;i<3;i++) {
size = mapD.size;
- size.x += 0.75*scaleH;
- size.y += 0.75*scaleH;
+ size.x += 2*0.5*scaleH;
+ size.y += 2*0.5*scaleH;
if (printGaudy)
size.y += 1.0*scaleH;
scaleX = size.x/pageSize.x;
@@ -806,8 +802,8 @@ static void PrintSnapShot( void )
scaleV = 1;
for (i=0;i<3;i++) {
size = mapD.size;
- size.x += 0.75*scaleV;
- size.y += 0.75*scaleV;
+ size.x += 2*0.5*scaleV;
+ size.y += 2*0.5*scaleV;
if (printGaudy)
size.y += 1.0*scaleV;
scaleX = size.x/pageSize.y;
@@ -830,8 +826,8 @@ static void PrintSnapShot( void )
currPrintGrid.orig.y = maxPageSize.x-0.5*printScale;
currPrintGrid.angle = 90.0;
} else {*/
- currPrintGrid.orig.x = -0.5*printScale;
- currPrintGrid.orig.y = -0.5*printScale;
+ currPrintGrid.orig.x = -0.5*printScale; //Bigger rulers
+ currPrintGrid.orig.y = -0.5*printScale; //Bigger rules
currPrintGrid.angle = 0.0;
/* }*/
currPrintGrid.size = maxPageSize;
@@ -854,7 +850,7 @@ static void DrawRegistrationMarks( drawCmd_p d )
long x, y, delta, divisor;
coOrd p0, p1, qq, q0, q1;
POS_T len;
- char msg[10];
+ char msg[STR_SIZE];
wFont_p fp;
wFontSize_t fs;
fp = wStandardFont( F_TIMES, FALSE, FALSE );
@@ -921,7 +917,9 @@ FormatPageNumber(int x, int y)
char *result;
DynStringMalloc(&formatted, 16);
- if (x > 0 && x <= bm.x1 && y > 0 && y <= bm.y1) {
+ x -= bm.x0-1;
+ y -= bm.y0-1;
+ if (x > 0 && x <= bm.x1-bm.x0 && y > 0 && y <= bm.y1-bm.y0) {
DynStringPrintf(&formatted, "(%d/%d)", x, y);
} else {
DynStringCatCStr(&formatted, "(-/-)");
@@ -944,7 +942,7 @@ FormatPageNumber(int x, int y)
*/
static bool
-PrintPageNumber(wPos_t x, wPos_t y, DIST_T width, DIST_T height)
+PrintPageNumber(int x, int y, DIST_T width, DIST_T height)
{
coOrd printPosition;
coOrd textSize;
@@ -953,23 +951,26 @@ PrintPageNumber(wPos_t x, wPos_t y, DIST_T width, DIST_T height)
wFont_p fp = wStandardFont(F_HELV, TRUE, FALSE);
wFontSize_t fs = 64.0;
- positionText = FormatPageNumber(x + 1, y + 1);
+ positionText = FormatPageNumber(x, y);
- // even though we're printing into page_d, mainD must be used here
- DrawTextSize(&mainD, positionText, fp, fs, TRUE, &textSize);
+ if (strcmp(positionText,"(-/-)") != 0) {
+ // even though we're printing into page_d, mainD must be used here
+ DrawTextSize(&mainD, positionText, fp, fs, TRUE, &textSize);
- if (printFormat == PORTRAIT) {
- printPosition.x = (width - textSize.x) / 2;
- printPosition.y = (height - textSize.y) / 2;
- } else {
- printPosition.x = (height - textSize.x) / 2;
- printPosition.y = (width - textSize.y) / 2;
- }
+ if (printFormat == PORTRAIT) {
+ printPosition.x = (width - textSize.x) / 2;
+ printPosition.y = (height - textSize.y) / 2;
+ } else {
+ printPosition.x = (height - textSize.x) / 2;
+ printPosition.y = (width - textSize.y) / 2;
+ }
- page_d.funcs->options |= wDrawOutlineFont;
- DrawString(&page_d, printPosition, 0.0, positionText, fp, fs,
- wDrawColorGray(70));
- page_d.funcs->options &= ~wDrawOutlineFont;
+ unsigned long options = page_d.options;
+ page_d.options |= DC_OUTLINE;
+ DrawString(&page_d, printPosition, 0.0, positionText, fp, fs,
+ wDrawColorGray(70));
+ page_d.options = options;
+ }
free(positionText);
@@ -992,7 +993,9 @@ PrintNextPageNumberAt(int x, int y, coOrd position)
wFontSize_t fs = 8.0;
pageNumber = FormatPageNumber(x, y);
- DrawString(&page_d, position, 0.0, pageNumber, fp, fs, wDrawColorBlack);
+ //Suppress garbage page numbers
+ if (strcmp(pageNumber,"(-/-)") != 0)
+ DrawString(&page_d, position, 0.0, pageNumber, fp, fs, wDrawColorBlack);
free(pageNumber);
}
@@ -1020,7 +1023,7 @@ PrintNextPageNumbers(int x, int y, DIST_T pageW, DIST_T pageH)
p00.x = pageH / 2.0 - 20.0 / 72.0;
p00.y = pageW - 10.0 / 72.0;
}
- PrintNextPageNumberAt(x + 1, y + 2, p00);
+ PrintNextPageNumberAt(x, y + 1, p00);
// below
if (printFormat == PORTRAIT) {
@@ -1028,7 +1031,7 @@ PrintNextPageNumbers(int x, int y, DIST_T pageW, DIST_T pageH)
} else {
p00.y = 10.0 / 72.0;
}
- PrintNextPageNumberAt(x + 1, y, p00);
+ PrintNextPageNumberAt(x, y-1, p00);
// right
if (printFormat == PORTRAIT) {
@@ -1038,7 +1041,7 @@ PrintNextPageNumbers(int x, int y, DIST_T pageW, DIST_T pageH)
p00.y = pageW / 2 + 10.0 / 72.0;
p00.x = pageH - 20.0 / 72.0;
}
- PrintNextPageNumberAt(x + 2, y + 1, p00);
+ PrintNextPageNumberAt(x+1, y, p00);
// left
if (printFormat == PORTRAIT) {
@@ -1046,7 +1049,7 @@ PrintNextPageNumbers(int x, int y, DIST_T pageW, DIST_T pageH)
} else {
p00.x = 10.0 / 72.0;
}
- PrintNextPageNumberAt(x, y + 1, p00);
+ PrintNextPageNumberAt(x-1, y, p00);
return (TRUE);
}
@@ -1142,22 +1145,31 @@ static BOOL_T PrintPage(
}
}
if (printRotate) {
- wPrintClip( (wPos_t)(clipOrig.y*print_d.dpi), (wPos_t)(clipOrig.x*print_d.dpi),
- (wPos_t)(clipSize.y*print_d.dpi), (wPos_t)(clipSize.x*print_d.dpi) );
+ wPrintClip( (clipOrig.y*print_d.dpi), (clipOrig.x*print_d.dpi),
+ (clipSize.y*print_d.dpi), (clipSize.x*print_d.dpi) );
} else {
- wPrintClip( (wPos_t)(clipOrig.x*print_d.dpi), (wPos_t)(clipOrig.y*print_d.dpi),
- (wPos_t)(clipSize.x*print_d.dpi), (wPos_t)(clipSize.y*print_d.dpi) );
+ wPrintClip( (clipOrig.x*print_d.dpi), (clipOrig.y*print_d.dpi),
+ (clipSize.x*print_d.dpi), (clipSize.y*print_d.dpi) );
}
p[0].x = p[3].x = 0.0;
p[1].x = p[2].x = roomSize.x;
p[0].y = p[1].y = 0.0;
p[2].y = p[3].y = roomSize.y;
- DrawRuler( &print_d, p[0], p[1], 0.0, TRUE, FALSE, wDrawColorBlack );
- DrawRuler( &print_d, p[0], p[3], 0.0, TRUE, TRUE, wDrawColorBlack );
- DrawRuler( &print_d, p[1], p[2], 0.0, FALSE, FALSE, wDrawColorBlack );
- DrawRuler( &print_d, p[3], p[2], 0.0, FALSE, TRUE, wDrawColorBlack );
- if ( printRuler && currPrintGrid.angle == 0 ) {
+ BOOL_T left_clear = FALSE, right_clear = FALSE, base_clear = FALSE, top_clear = FALSE;
+
+ if (currPrintGrid.orig.x <= -0.5*printScale) left_clear = TRUE;
+ if (currPrintGrid.orig.y <= -0.5*printScale) base_clear = TRUE;
+ if (clipOrig.x + clipSize.x > roomSize.x + 0.5*printScale) right_clear = TRUE;
+ if (clipOrig.y + clipSize.y > roomSize.y + 0.5*printScale) top_clear = TRUE;
+
+ if (printRuler != 2) { /* Not None so Edge or Every */
+ DrawRuler( &print_d, p[0], p[1], 0.0, TRUE, !base_clear, wDrawColorBlack );
+ DrawRuler( &print_d, p[0], p[3], 0.0, TRUE, left_clear, wDrawColorBlack );
+ DrawRuler( &print_d, p[1], p[2], 0.0, TRUE, right_clear, wDrawColorBlack );
+ DrawRuler( &print_d, p[3], p[2], 0.0, TRUE, !top_clear, wDrawColorBlack );
+ }
+ if ( printRuler==1 && currPrintGrid.angle == 0 ) { /* Every Page and not rotated origin */
if ( !printRotate ) {
p[2] = p[3] = print_d.orig;
p[3].x += print_d.size.x;
@@ -1174,47 +1186,51 @@ static BOOL_T PrintPage(
p[3].y = print_d.orig.y;
}
if ( p[2].x > 0 )
- minP.x = p[2].x + 0.4 * print_d.scale;
+ minP.x = p[2].x + 0.5 * print_d.scale;
else
minP.x = 0.0;
if ( p[3].x < roomSize.x )
- maxP.x = p[3].x - 0.2 * print_d.scale;
+ maxP.x = p[3].x - 0.5 * print_d.scale;
else
maxP.x = roomSize.x;
- if ( p[2].y > 0 )
- minP.y = p[2].y + 0.4 * print_d.scale;
+ if ( p[2].y > 0 )
+ minP.y = p[2].y + 0.5 * print_d.scale;
else
minP.y = 0.0;
if ( p[3].y < roomSize.y )
- maxP.y = p[3].y - 0.2 * print_d.scale;
+ maxP.y = p[3].y - 0.5 * print_d.scale;
else
maxP.y = roomSize.y;
p[0].y = 0.0;
p[1].y = maxP.y - minP.y;
- if ( p[2].x > 0 ) {
- p[0].x = p[1].x = p[2].x + 0.4 * print_d.scale;
+ if ( p[2].x > 0.5* print_d.scale ) {
+ p[0].x = p[1].x = p[2].x + 0.5* print_d.scale;
DrawRuler( &print_d, p[0], p[1], minP.y, TRUE, TRUE, wDrawColorBlack );
}
- if ( p[3].x < roomSize.x ) {
- p[0].x = p[1].x = p[3].x - 0.2 * print_d.scale;
- DrawRuler( &print_d, p[0], p[1], minP.y, FALSE, FALSE, wDrawColorBlack );
+ if ( p[3].x < roomSize.x - 0.5 * print_d.scale ) {
+ p[0].x = p[1].x = p[3].x - 0.5 * print_d.scale;
+ DrawRuler( &print_d, p[0], p[1], minP.y, TRUE, FALSE, wDrawColorBlack );
}
p[0].x = 0;
p[1].x = maxP.x - minP.x;
- if ( p[2].y > 0 ) {
- p[0].y = p[1].y = p[2].y + 0.4 * print_d.scale;
+ if ( p[2].y > 0.5 * print_d.scale ) {
+ p[0].y = p[1].y = p[2].y + 0.5 * print_d.scale;
DrawRuler( &print_d, p[0], p[1], minP.x, TRUE, FALSE, wDrawColorBlack );
}
- if ( p[3].y < roomSize.y ) {
- p[0].y = p[1].y = p[3].y - 0.2 * print_d.scale;
- DrawRuler( &print_d, p[0], p[1], minP.x, FALSE, TRUE, wDrawColorBlack );
+ if ( p[3].y < roomSize.y - 0.5 * print_d.scale) {
+ p[0].y = p[1].y = p[3].y - 0.5 * print_d.scale;
+ DrawRuler( &print_d, p[0], p[1], minP.x, TRUE, TRUE, wDrawColorBlack );
}
}
if (printGrid)
DrawSnapGrid( &print_d, mapD.size, FALSE );
roadbedWidth = printRoadbed?printRoadbedWidth:0.0;
- printCenterLines = printCenterLine;
+ if (printCenterLine) {
+ print_d.options |= DC_CENTERLINE;
+ } else {
+ print_d.options &= ~DC_CENTERLINE;
+ }
DrawTracks( &print_d, print_d.scale, minP, maxP );
if (printRegistrationMarks && printScale == 1)
DrawRegistrationMarks( &print_d );
@@ -1296,7 +1312,7 @@ static void DoResetGrid( void )
static void PrintGridRotate( void * pangle )
{
- ANGLE_T angle = (ANGLE_T)(long)pangle;
+ ANGLE_T angle = (ANGLE_T)VP2L(pangle);
currPrintGrid.orig = cmdMenuPos;
currPrintGrid.angle += angle/1000;
newPrintGrid = currPrintGrid;
@@ -1330,9 +1346,9 @@ static void PrintDlgUpdate(
void * valueP )
{
if ( inx < 0 ) return;
- if ( pg->paramPtr[inx].context == (void*)1 )
+ if ( pg->paramPtr[inx].context == I2VP(1) )
DoPrintScale();
- else if ( pg->paramPtr[inx].context == (void*)2 )
+ else if ( pg->paramPtr[inx].context == I2VP(2) )
PrintUpdate( inx );
ParamControlActive( &printPG, I_RULER, currPrintGrid.angle == 0 );
TempRedraw(); // PrintDlgUpdate
@@ -1474,6 +1490,9 @@ LOG( log_print, 2, ( "Page size = %0.3f %0.3f\n", currPrintGrid.size.x, currPrin
}
}
+
+#include "bitmaps/doc-print.xpm"
+
EXPORT wIndex_t InitCmdPrint( wMenu_p menu )
{
ParamRegister( &printPG );
@@ -1483,7 +1502,7 @@ EXPORT wIndex_t InitCmdPrint( wMenu_p menu )
printGridPopupM = MenuRegister( "Print Grid Rotate" );
AddRotateMenu( printGridPopupM, PrintGridRotate );
ParamRegister( &printMarginPG );
- return InitCommand( menu, CmdPrint, N_("Print..."), NULL, LEVEL0, IC_LCLICK|IC_POPUP3|IC_CMDMENU, ACCL_PRINT );
+ return AddMenuButton( menu, CmdPrint, "cmdPrint", N_("Print..."), wIconCreatePixMap(doc_print_xpm[iconSize]), LEVEL0, IC_LCLICK|IC_POPUP3|IC_CMDMENU, ACCL_PRINT, NULL );
}
/*****************************************************************************
@@ -1495,10 +1514,6 @@ EXPORT wIndex_t InitCmdPrint( wMenu_p menu )
wDrawable_t printD, mainD;
-void wDrawHilight( void * d, coOrd orig, coOrd size )
-{
- lprintf( "wDrawHilight (%0.3f %0.3f) (%0.3f %0.3f)\n", orig.x, orig.y, size.x, size.y );
-}
void PrintPage( void * d, wIndex_t mode , wIndex_t x, wIndex_t y )
{
lprintf( "printPage %dx%d at (%0.3f %0.3f)\n", x, y, orig.x, orig.y );
@@ -1563,7 +1578,7 @@ main( INT_T argc, char * argv[] )
mapD.size.x = 4*12;
mapD.size.y = 3*12;
printD.scale = 1.0;
- for (i=0; i<(sizeof cmds)/(sizeof cmds[0]); i++) {
+ for (i=0; i<COUNT( cmds ); i++) {
switch (cmds[i].cmd) {
case C_START:
CmdPrint( cmds[i].cmd );
diff --git a/app/bin/cprofile.c b/app/bin/cprofile.c
index 4f375ed..433e1d5 100644
--- a/app/bin/cprofile.c
+++ b/app/bin/cprofile.c
@@ -20,18 +20,14 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
-#include <stdbool.h>
-
#include "custom.h"
#include "cselect.h"
#include "cundo.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "param.h"
#include "shrtpath.h"
#include "track.h"
+#include "common-ui.h"
/*
@@ -268,7 +264,7 @@ static void DrawProfile(drawCmd_p D, wFontSize_t fontSize, BOOL_T printVert)
DYNARR_APPEND(pts_t, points_da, 10);
pb.x = 0;
points(points_da.cnt-1) = pb;
- DrawPoly(D, points_da.cnt, points_da.ptr, NULL, profileColorFill, 1, 1, 0);
+ DrawPoly(D, points_da.cnt, points_da.ptr, NULL, profileColorFill, 1, DRAW_FILL);
}
pt.y = prof.minE-(2*LABELH+3.0/mainD.dpi)/prof.scaleY*D->scale;
@@ -386,8 +382,8 @@ static void DrawProfile(drawCmd_p D, wFontSize_t fontSize, BOOL_T printVert)
-static void ProfilePix2CoOrd(drawCmd_p, wPos_t, wPos_t, coOrd *);
-static void ProfileCoOrd2Pix(drawCmd_p, coOrd, wPos_t*, wPos_t*);
+static void ProfilePix2CoOrd(drawCmd_p, wDrawPix_t, wDrawPix_t, coOrd *);
+static void ProfileCoOrd2Pix(drawCmd_p, coOrd, wDrawPix_t*, wDrawPix_t*);
static drawCmd_t screenProfileD = {
NULL,
&screenDrawFuncs,
@@ -400,8 +396,8 @@ static drawCmd_t screenProfileD = {
static void ProfilePix2CoOrd(
drawCmd_p d,
- wPos_t xx,
- wPos_t yy,
+ wDrawPix_t xx,
+ wDrawPix_t yy,
coOrd * pos)
{
pos->x = (xx/d->dpi+d->orig.x)/prof.scaleX;
@@ -412,12 +408,12 @@ static void ProfilePix2CoOrd(
static void ProfileCoOrd2Pix(
drawCmd_p d,
coOrd pos,
- wPos_t *xx,
- wPos_t *yy)
+ wDrawPix_t *xx,
+ wDrawPix_t *yy)
{
- wPos_t x, y;
- x = (wPos_t)((((pos.x*prof.scaleX)/d->scale-d->orig.x)*d->dpi+0.5));
- y = (wPos_t)(((((pos.y-prof.minE)*prof.scaleY)/d->scale-d->orig.y)*d->dpi+0.5));
+ wDrawPix_t x, y;
+ x = ((((pos.x*prof.scaleX)/d->scale-d->orig.x)*d->dpi+0.5));
+ y = (((((pos.y-prof.minE)*prof.scaleY)/d->scale-d->orig.y)*d->dpi+0.5));
if (d->angle == 0) {
*xx = x;
*yy = y;
@@ -436,9 +432,9 @@ static void ProfileCoOrd2Pix(
* Redraw profile window
*/
-static void RedrawProfileW(void)
+static void RedrawProfileW( wDraw_p d, void * context, wWinPix_t x, wWinPix_t y )
{
- wPos_t ww, hh;
+ wWinPix_t ww, hh;
coOrd size;
int divC;
DIST_T maxE, rngE;
@@ -676,10 +672,7 @@ static void DoProfilePrint(void * junk)
p[1].x = p[2].x = PRINT_ABS2PAGEX(size.x+(printVert?PBR(
printProfileFontSize)/4.0:PBR(printProfileFontSize)));
p[2].y = p[3].y = PRINT_ABS2PAGEY(size.y+(printVert?PBT*2:PBT));
- DrawLine(&printProfileD, p[0], p[1], 0, drawColorBlack);
- DrawLine(&printProfileD, p[1], p[2], 0, drawColorBlack);
- DrawLine(&printProfileD, p[2], p[3], 0, drawColorBlack);
- DrawLine(&printProfileD, p[3], p[0], 0, drawColorBlack);
+ DrawPoly( &printProfileD, 4, p, NULL, drawColorBlack, 0, DRAW_CLOSED );
DrawProfile(&printProfileD, printProfileFontSize, printVert);
wPrintPageEnd(printProfileD.d);
@@ -697,28 +690,28 @@ static wWin_p profileW;
static BOOL_T profileUndo = FALSE;
static void DoProfileChange(void *junk);
static void DoProfileReset(void *junk);
-static void DoProfileDone(void *);
-static void DoProfileClear(void *);
-static void DoProfilePrint(void *);
-static void DoProfileChangeMode(void *);
+static void DoProfileDone(void * junk);
+static void DoProfileClear(void * junk);
+static void DoProfilePrint(void * junk);
+static void DoProfileChangeMode(void * junk);
static void SelProfileW(wIndex_t, coOrd);
static void CloseProfileWindow(paramGroup_p pg, int event, void *data);
-static paramDrawData_t profileDrawData = { 300, 150, (wDrawRedrawCallBack_p)RedrawProfileW, SelProfileW, &screenProfileD };
+static paramDrawData_t profileDrawData = { 300, 150, RedrawProfileW, SelProfileW, &screenProfileD };
static paramData_t profilePLs[] = {
{ PD_DRAW, NULL, "canvas", PDO_DLGRESIZE, &profileDrawData },
#define I_PROFILEMSG (1)
- { PD_MESSAGE, NULL, NULL, PDO_DLGIGNOREX, (void*)300 },
+ { PD_MESSAGE, NULL, NULL, PDO_DLGIGNOREX, I2VP(300) },
#define I_CHANGEBUTTON 2
- { PD_BUTTON, (void*)DoProfileChange, "change", PDO_DLGCMDBUTTON, NULL, N_("Change") },
+ { PD_BUTTON, DoProfileChange, "change", PDO_DLGCMDBUTTON, NULL, N_("Change") },
#define I_RESETBUTTON 3
- { PD_BUTTON, (void*)DoProfileReset, "reset", PDO_DLGCMDBUTTON, NULL, N_("Reset") },
+ { PD_BUTTON, DoProfileReset, "reset", PDO_DLGCMDBUTTON, NULL, N_("Reset") },
#define I_CLEARBUTTON 4
- { PD_BUTTON, (void*)DoProfileClear, "clear", PDO_DLGCMDBUTTON, NULL, N_("Clear") },
+ { PD_BUTTON, DoProfileClear, "clear", PDO_DLGCMDBUTTON, NULL, N_("Clear") },
#define I_PRINTBUTTON 5
- { PD_BUTTON, (void*)DoProfilePrint, "print", 0, NULL, N_("Print") }
+ { PD_BUTTON, DoProfilePrint, "print", 0, NULL, N_("Print") }
};
-static paramGroup_t profilePG = { "profile", 0, profilePLs, sizeof profilePLs/sizeof profilePLs[0] };
+static paramGroup_t profilePG = { "profile", 0, profilePLs, COUNT( profilePLs ) };
#define CHANGEBUTTON ((wButton_p)profilePLs[I_CHANGEBUTTON].control)
#define RESETBUTTON ((wButton_p)profilePLs[I_RESETBUTTON].control)
@@ -742,6 +735,9 @@ static void SelProfileW(
elev = pos.y;
switch (action&0xFF) {
+ case C_START:
+ profileUndo = FALSE;
+ break;
case C_DOWN:
for (inx=0; inx<profElem_da.cnt; inx++) {
if (dist <= profElem(inx).dist) {
@@ -757,7 +753,7 @@ static void SelProfileW(
sprintf(message, _("Elev = %0.1f"), round(PutDim(elev)*10.0)/10.0);
ParamLoadMessage(&profilePG, I_PROFILEMSG, message);
oldElev = elev;
- RedrawProfileW();
+ RedrawProfileW( screenProfileD.d, NULL, 0, 0 );
break;
case C_MOVE:
if (inx < 0) {
@@ -786,7 +782,7 @@ static void SelProfileW(
ParamLoadMessage(&profilePG, I_PROFILEMSG, message);
oldElev = elev;
profElem(inx).elev = oldElev;
- RedrawProfileW();
+ RedrawProfileW( screenProfileD.d, NULL, 0, 0 );
wPause(500l);
break;
case C_UP:
@@ -799,7 +795,7 @@ static void SelProfileW(
oldElev, NULL);
}
profElem(inx).elev = oldElev;
- RedrawProfileW();
+ RedrawProfileW( screenProfileD.d, NULL, 0, 0 );
ParamLoadMessage(&profilePG, I_PROFILEMSG, _("Drag to change Elevation"));
inx = -1;
break;
@@ -864,7 +860,7 @@ DoProfileReset(void *junk)
UndoStart(_("Profile Command"), "Profile");
}
ResetChanges();
- RedrawProfileW();
+ RedrawProfileW( screenProfileD.d, NULL, 0, 0 );
TempRedraw();
}
@@ -895,7 +891,7 @@ static void DoProfileClear(void * junk)
station_da.cnt = 0;
ClrAllTrkBitsRedraw(TB_PROFILEPATH, TRUE);
pathStartTrk = pathEndTrk = NULL;
- RedrawProfileW();
+ RedrawProfileW( screenProfileD.d, NULL, 0, 0 );
}
@@ -1371,7 +1367,7 @@ static void ProfileSelect(track_p trkN, EPINX_T epN)
ComputeProfElem();
CreateCopyProfileElements();
- RedrawProfileW();
+ RedrawProfileW( screenProfileD.d, NULL, 0, 0 );
DoProfileChangeMode(NULL);
if (log_profile>=1) {
lprintf(" = ");
@@ -1383,9 +1379,9 @@ static void ProfileSelect(track_p trkN, EPINX_T epN)
-static void ProfileSubCommand(wBool_t set, void* pcmd)
+static void ProfileSubCommand(void* pcmd)
{
- long cmd = (long)pcmd;
+ long cmd = VP2L(pcmd);
int mode;
coOrd pos = oldMarker;
DIST_T elev;
@@ -1425,7 +1421,7 @@ static void ProfileSubCommand(wBool_t set, void* pcmd)
}
UpdateTrkEndElev(profilePopupTrk, profilePopupEp, mode, elev, NULL);
ComputeProfElem();
- RedrawProfileW();
+ RedrawProfileW( screenProfileD.d, NULL, 0, 0 );
TempRedraw(); // ProfileSubCommand
}
@@ -1454,7 +1450,7 @@ static STATUS_T CmdProfile(wAction_t action, coOrd pos)
ParamLoadMessage(&profilePG, I_PROFILEMSG, _("Drag to change Elevation"));
profElem_da.cnt = 0;
station_da.cnt = 0;
- RedrawProfileW();
+ RedrawProfileW( screenProfileD.d, NULL, 0, 0 );
ClrAllTrkBitsRedraw(TB_PROFILEPATH, TRUE);
pathStartTrk = NULL;
SetAllTrackSelect(FALSE);
@@ -1514,7 +1510,7 @@ static STATUS_T CmdProfile(wAction_t action, coOrd pos)
static void ProfileChange(long changes)
{
if ((changes & CHANGE_UNITS) && screenProfileD.d) {
- RedrawProfileW();
+ RedrawProfileW( screenProfileD.d, NULL, 0, 0 );
}
}
@@ -1526,14 +1522,14 @@ EXPORT void InitCmdProfile(wMenu_p menu)
ParamRegister(&profilePG);
AddMenuButton(menu, CmdProfile, "cmdProfile", _("Profile"),
- wIconCreatePixMap(profile_xpm), LEVEL0_50, IC_LCLICK|IC_CMDMENU|IC_POPUP3,
+ wIconCreatePixMap(profile_xpm[iconSize]), LEVEL0_50, IC_LCLICK|IC_CMDMENU|IC_POPUP3,
ACCL_PROFILE, NULL);
profilePopupM = MenuRegister("Profile Mode");
profilePopupToggles[0] = wMenuToggleCreate(profilePopupM, "", _("Define"), 0,
- FALSE, ProfileSubCommand, (void*)0);
+ FALSE, ProfileSubCommand, I2VP(0));
profilePopupToggles[1] = wMenuToggleCreate(profilePopupM, "", _("Ignore"), 0,
- FALSE, ProfileSubCommand, (void*)1);
+ FALSE, ProfileSubCommand, I2VP(1));
profilePopupToggles[2] = wMenuToggleCreate(profilePopupM, "", _("None"), 0,
- FALSE, ProfileSubCommand, (void*)2);
+ FALSE, ProfileSubCommand, I2VP(2));
RegisterChangeNotification(ProfileChange);
}
diff --git a/app/bin/cpull.c b/app/bin/cpull.c
index 7f27864..afdf834 100644
--- a/app/bin/cpull.c
+++ b/app/bin/cpull.c
@@ -20,16 +20,13 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
-
#include "cselect.h"
#include "compound.h"
#include "cundo.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "track.h"
-#include "utility.h"
+#include "draw.h"
+#include "common-ui.h"
int debugPull = 0;
@@ -816,6 +813,8 @@ static STATUS_T CmdPull(
return C_CONTINUE;
case C_REDRAW:
+ DrawHighlightBoxes(FALSE,FALSE,NULL);
+ HighlightSelectedTracks(NULL, TRUE, TRUE);
if (anchors_da.cnt)
DrawSegs( &tempD, zero, 0.0, &anchors(0), anchors_da.cnt, trackGauge, wDrawColorBlack );
if (t1 && t_turn1)
@@ -856,11 +855,13 @@ static STATUS_T CmdPull(
-#include "bitmaps/pull.xpm"
+#include "bitmaps/connect.xpm"
wMenuPush_p pullConnectMultiple;
-void pullMenuEnter(int key) {
+void pullMenuEnter( void * keyVP )
+{
+ int key = (int)VP2L(keyVP);
int action;
action = C_TEXT;
action |= key<<8;
@@ -869,7 +870,7 @@ void pullMenuEnter(int key) {
void InitCmdPull( wMenu_p menu )
{
- AddMenuButton( menu, CmdPull, "cmdConnect", _("Connect Two Tracks"), wIconCreatePixMap(pull_xpm), LEVEL0_50, IC_STICKY|IC_INITNOTSTICKY|IC_LCLICK|IC_POPUP3|IC_CMDMENU|IC_WANT_MOVE, ACCL_CONNECT, NULL );
+ AddMenuButton( menu, CmdPull, "cmdConnect", _("Connect Two Tracks"), wIconCreatePixMap(connect_xpm[iconSize]), LEVEL0_50, IC_STICKY|IC_INITNOTSTICKY|IC_LCLICK|IC_POPUP3|IC_CMDMENU|IC_WANT_MOVE, ACCL_CONNECT, NULL );
pullPopupM = MenuRegister( "Connect Options" );
- pullConnectMultiple = wMenuPushCreate( pullPopupM, "", _("Connect All Selected - 'S'"), 0, (wMenuCallBack_p)pullMenuEnter, (void*) 'S');
+ pullConnectMultiple = wMenuPushCreate( pullPopupM, "", _("Connect All Selected - 'S'"), 0, pullMenuEnter, I2VP('S') );
}
diff --git a/app/bin/cruler.c b/app/bin/cruler.c
index d3f2926..eb6a77d 100644
--- a/app/bin/cruler.c
+++ b/app/bin/cruler.c
@@ -21,11 +21,216 @@
*/
#include "cundo.h"
+#include "cselect.h"
#include "fileio.h"
-#include "i18n.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
+#include "misc.h"
+
+#define AN_OFF (0)
+#define AN_FIRST (1)
+#define AN_SECOND (2)
+#define AN_ON (3)
+
+
+static struct {
+ STATE_T state;
+ coOrd pos0;
+ coOrd pos1;
+ coOrd pos2;
+ BOOL_T isClose;
+ int modifyingEnd;
+ } An = { AN_OFF, { 0,0 }, { 0,0 } };
+
+
+void DrawAngle(drawCmd_p d, coOrd p0, coOrd p1, coOrd p2, wDrawColor color) {
+ char msg[512];
+ trkSeg_t seg;
+ if ((An.state != AN_OFF) && !IsClose(FindDistance(p0,p1))) {
+ seg.type = SEG_STRLIN;
+ seg.width = 0;
+ seg.color = wDrawColorBlack;
+ seg.u.l.pos[0] = p0;
+ seg.u.l.pos[1] = p1;
+ DrawSegs(d,zero,0.0,&seg,1,trackGauge,color);
+
+ if (!(IsClose(FindDistance(p0,p2)))) {
+ seg.type = SEG_STRLIN;
+ seg.width = 0;
+ seg.color = wDrawColorBlack;
+ seg.u.l.pos[0] = p0;
+ seg.u.l.pos[1] = p2;
+ DrawSegs(d,zero,0.0,&seg,1,trackGauge,color);
+
+ DIST_T r = min(FindDistance(p0,p2),FindDistance(p0,p1))/2;
+ ANGLE_T a = DifferenceBetweenAngles(FindAngle(p0,p1),FindAngle(p0,p2));
+ ANGLE_T a0;
+
+ if (a>=0)
+ a0 = FindAngle(p0,p1);
+ else
+ a0 = FindAngle(p0,p2);
+ ANGLE_T a1 = fabs(DifferenceBetweenAngles(FindAngle(p0,p1),FindAngle(p0,p2)));
+ seg.type = SEG_CRVLIN;
+ seg.u.c.center = p0;
+ seg.u.c.radius = r;
+ seg.u.c.a0 = a0;
+ seg.u.c.a1 = a1;
+ DrawSegs(d,zero,0.0,&seg,1,trackGauge,color);
+
+ coOrd p;
+ Translate(&p, p0, a1/2+a0, r );
+ seg.type = SEG_TEXT;
+ seg.u.t.angle = 0.0;
+ sprintf(msg,"RA: %0.3f",a1);
+ seg.u.t.string = msg;
+ seg.u.t.pos = p;
+ seg.u.t.fontSize = 10.0*d->scale;
+ seg.u.t.fontP = NULL;
+ seg.u.t.boxed = FALSE;
+ DrawSegs(d,zero,0.0,&seg,1,trackGauge,color);
+ }
+ }
+
+}
+
+
+static STATUS_T CmdAngle( wAction_t action, coOrd pos )
+{
+ switch (action) {
+
+ case C_START:
+ switch (An.state) {
+ case AN_OFF:
+ An.state = AN_ON;
+ break;
+ case AN_ON:
+ An.state = AN_OFF;
+ case AN_FIRST:
+ case AN_SECOND:
+ An.state = AN_OFF;
+ break;
+ }
+ return C_CONTINUE;
+
+ case C_DOWN:
+ switch (An.state) {
+ case AN_OFF:
+ case AN_ON:
+ An.pos0 = An.pos1 = An.pos2 = pos;
+ An.state = AN_FIRST;
+ InfoMessage( "Drag out base line" );
+ break;
+ case AN_FIRST:
+ An.pos2 = pos;
+ An.state = AN_SECOND;
+ InfoMessage( "Drag Angle" );
+ break;
+ }
+ return C_CONTINUE;
+
+ case C_MOVE:
+ //Lock to 90 degrees with CTRL
+ if (MyGetKeyState()&WKEY_CTRL) {
+ ANGLE_T line_angle;
+ if (An.state == AN_FIRST) line_angle = 0.0;
+ else line_angle = FindAngle(An.pos0,An.pos1);
+ DIST_T l = FindDistance(An.pos0, pos);
+ if (!IsClose(l)) {
+ ANGLE_T angle2 = NormalizeAngle(FindAngle(An.pos0, pos)-line_angle);
+ int oct = (int)((angle2 + 22.5) / 45.0);
+ l = fabs(l*cos(D2R(angle2-oct*45)));
+ Translate( &pos, An.pos0, oct*45.0+line_angle, l );
+ }
+ }
+ switch (An.state) {
+ case AN_FIRST:
+ An.pos1 = An.pos2 = pos;
+ break;
+ case AN_SECOND:
+ An.pos2 = pos;
+ break;
+ default:;
+ }
+ if (An.state == AN_FIRST)
+ InfoMessage( "Base Angle %0.3f",FindAngle(An.pos0,An.pos1));
+ if (An.state == AN_SECOND)
+ InfoMessage( "Base Angle %0.3f, Relative Angle %0.3f",FindAngle(An.pos0,An.pos1),
+ fabs(DifferenceBetweenAngles(FindAngle(An.pos0,An.pos1),FindAngle(An.pos0,An.pos2))));
+ return C_CONTINUE;
+
+ case C_UP:
+ if (An.state == AN_SECOND) return C_TERMINATE;
+ return C_CONTINUE;
+
+ case C_REDRAW:
+ DrawHighlightBoxes(FALSE,FALSE,NULL);
+ HighlightSelectedTracks(NULL, TRUE, TRUE);
+ if (An.state != AN_OFF) {
+ if (!IsClose(FindDistance(An.pos1,An.pos2))) {
+ DrawAngle( &tempD, An.pos0, An.pos1, An.pos2, wDrawColorBlack );
+ }
+ }
+ return C_CONTINUE;
+
+ case C_CANCEL:
+ return C_TERMINATE;
+
+ }
+ return C_CONTINUE;
+
+}
+
+STATUS_T ModifyProtractor(
+ wAction_t action,
+ coOrd pos )
+{
+ switch (action&0xFF) {
+ case C_DOWN:
+ An.modifyingEnd = -1;
+ An.isClose = FALSE;
+ if ( An.state == AN_OFF )
+ return C_ERROR;
+ if ( IsClose(FindDistance( pos, An.pos0 ))) {
+ An.modifyingEnd = 0;
+ } else if ( IsClose(FindDistance( pos, An.pos1 ))) {
+ An.modifyingEnd = 1;
+ } else if ( IsClose(FindDistance( pos, An.pos2 ))) {
+ An.modifyingEnd = 2;
+ } else
+ return C_ERROR;
+ break;
+ case C_MOVE:
+ if ( An.modifyingEnd == 0 ) {
+ An.pos0 = pos;
+ } else if (An.modifyingEnd == 1) {
+ An.pos1 = pos;
+ } else if (An.modifyingEnd == 2) {
+ An.pos2 = pos;
+ }
+ InfoMessage( "Base Angle %0.3f, Relative Angle %0.3f",FindAngle(An.pos0,An.pos1),
+ fabs(DifferenceBetweenAngles(FindAngle(An.pos0,An.pos1),FindAngle(An.pos0,An.pos2))));
+ return C_CONTINUE;
+ case C_UP:
+ return C_CONTINUE;
+ case C_REDRAW:
+ DrawAngle( &tempD, An.pos0, An.pos1, An.pos2, An.isClose?wDrawColorBlue:wDrawColorBlack );
+ break;
+ case wActionMove:
+ if ( IsClose(FindDistance( pos, An.pos0 )) ||
+ IsClose(FindDistance( pos, An.pos1 )) ||
+ IsClose(FindDistance( pos, An.pos2 )) ) {
+ An.isClose = TRUE;
+ } else
+ An.isClose = FALSE;
+ break;
+ default:
+ return C_ERROR;
+ }
+ return C_CONTINUE;
+}
+
+
/*****************************************************************************
@@ -44,15 +249,23 @@ static struct {
STATE_T state;
coOrd pos0;
coOrd pos1;
+ BOOL_T isClose;
int modifyingEnd;
} Dr = { DR_OFF, { 0,0 }, { 0,0 } };
+
void RulerRedraw( BOOL_T demo )
{
+ if (programMode == MODE_TRAIN) return;
if (Dr.state == DR_ON)
- DrawRuler( &tempD, Dr.pos0, Dr.pos1, 0.0, TRUE, TRUE, wDrawColorBlack );
- if (demo)
+ DrawRuler( &tempD, Dr.pos0, Dr.pos1, 0.0, TRUE, TRUE, Dr.isClose?wDrawColorBlue:wDrawColorBlack );
+ if (demo) {
Dr.state = DR_OFF;
+ An.state = AN_OFF;
+ }
+ if (An.state != AN_OFF)
+ DrawAngle( &tempD, An.pos0, An.pos1, An.pos2, An.isClose?wDrawColorBlue:wDrawColorBlack);
+
}
static STATUS_T CmdRuler( wAction_t action, coOrd pos )
@@ -60,6 +273,7 @@ static STATUS_T CmdRuler( wAction_t action, coOrd pos )
switch (action) {
case C_START:
+ Dr.isClose = FALSE;
switch (Dr.state) {
case DR_OFF:
Dr.state = DR_ON;
@@ -87,19 +301,22 @@ static STATUS_T CmdRuler( wAction_t action, coOrd pos )
return C_TERMINATE;
case C_REDRAW:
+ DrawHighlightBoxes(FALSE,FALSE,NULL);
+ HighlightSelectedTracks(NULL, TRUE, TRUE);
if (Dr.state == DR_ON) {
- DrawRuler( &tempD, Dr.pos0, Dr.pos1, 0.0, TRUE, TRUE, wDrawColorBlack );
+ DrawRuler( &tempD, Dr.pos0, Dr.pos1, 0.0, TRUE, TRUE, Dr.isClose?wDrawColorBlue:wDrawColorBlack );
}
return C_CONTINUE;
case C_CANCEL:
return C_TERMINATE;
-
}
+
return C_CONTINUE;
}
+
STATUS_T ModifyRuler(
wAction_t action,
coOrd pos )
@@ -109,25 +326,36 @@ STATUS_T ModifyRuler(
Dr.modifyingEnd = -1;
if ( Dr.state != DR_ON )
return C_ERROR;
- if ( FindDistance( pos, Dr.pos0 ) < mainD.scale*0.25 ) {
+ if ( IsClose(FindDistance( pos, Dr.pos0 ))) {
Dr.modifyingEnd = 0;
- } else if ( FindDistance( pos, Dr.pos1 ) < mainD.scale*0.25 ) {
+ } else if ( IsClose(FindDistance( pos, Dr.pos1 ))) {
Dr.modifyingEnd = 1;
} else {
return C_ERROR;
}
+ break;
case C_MOVE:
if ( Dr.modifyingEnd == 0 ) {
Dr.pos0 = pos;
- } else {
+ } else if ( Dr.modifyingEnd == 1) {
Dr.pos1 = pos;
- }
+ } else return C_ERROR;
InfoMessage( "%s", FormatDistance( FindDistance( Dr.pos0, Dr.pos1 ) ) );
return C_CONTINUE;
case C_UP:
return C_CONTINUE;
case C_REDRAW:
- DrawRuler( &tempD, Dr.pos0, Dr.pos1, 0.0, TRUE, TRUE, wDrawColorBlack );
+ DrawRuler( &tempD, Dr.pos0, Dr.pos1, 0.0, TRUE, TRUE, Dr.isClose?wDrawColorBlue:wDrawColorBlack );
+ break;
+ case wActionMove:
+ if ( IsClose(FindDistance( pos, Dr.pos0 )) ||
+ IsClose(FindDistance( pos, Dr.pos1 ))) {
+ Dr.isClose = TRUE;
+ An.isClose = FALSE;
+ } else {
+ Dr.isClose = FALSE;
+ ModifyProtractor(wActionMove,pos);
+ }
break;
default:
return C_ERROR;
@@ -137,8 +365,12 @@ STATUS_T ModifyRuler(
#include "bitmaps/ruler.xpm"
+#include "bitmaps/protractor.xpm"
void InitCmdRuler( wMenu_p menu )
{
- AddMenuButton( menu, CmdRuler, "cmdRuler", _("Ruler"), wIconCreatePixMap(ruler_xpm), LEVEL0, IC_STICKY|IC_NORESTART, ACCL_RULER, NULL );
+ ButtonGroupBegin( _("Measurement"), "cmdMeasureSetCmd", _("Measurement") );
+ AddMenuButton( menu, CmdRuler, "cmdRuler", _("Ruler"), wIconCreatePixMap(ruler_xpm[iconSize]), LEVEL0, IC_STICKY|IC_POPUP|IC_NORESTART, ACCL_RULER, NULL );
+ AddMenuButton( menu, CmdAngle, "cmdAngle", _("Protractor"), wIconCreatePixMap(protractor_xpm[iconSize]), LEVEL0, IC_STICKY|IC_POPUP|IC_NORESTART, ACCL_ANGLE, NULL );
+ ButtonGroupEnd();
}
diff --git a/app/bin/cselect.c b/app/bin/cselect.c
index 4e4e8eb..1b153b9 100644
--- a/app/bin/cselect.c
+++ b/app/bin/cselect.c
@@ -20,29 +20,25 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
-#include <string.h>
-
+#include "common.h"
#include "draw.h"
#include "ccurve.h"
#include "tcornu.h"
#include "tbezier.h"
#include "track.h"
-#define PRIVATE_EXTRADATA
#include "compound.h"
#include "cselect.h"
#include "cundo.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
+#include "cjoin.h"
#include "draw.h"
#include "misc.h"
#include "trackx.h"
+#include "common-ui.h"
#include "bitmaps/bmendpt.xbm"
@@ -56,12 +52,12 @@
EXPORT wIndex_t selectCmdInx;
EXPORT wIndex_t moveCmdInx;
EXPORT wIndex_t rotateCmdInx;
+EXPORT wIndex_t flipCmdInx;
#define MAXMOVEMODE (3)
static long moveMode = MAXMOVEMODE;
static BOOL_T enableMoveDraw = TRUE;
static BOOL_T move0B;
-struct extraData { char junk[2000]; };
static wDrawBitMap_p endpt_bm;
static wDrawBitMap_p angle_bm[4];
@@ -70,8 +66,8 @@ track_p IsInsideABox(coOrd pos);
static track_p moveDescTrk;
static coOrd moveDescPos;
-int incrementalDrawLimit = 20;
- static int microCount = 0;
+int incrementalDrawLimit = 0;
+static int microCount = 0;
static dynArr_t tlist_da;
@@ -128,6 +124,7 @@ void CreateArrowAnchor(coOrd pos,ANGLE_T a,DIST_T len) {
anchors(i).u.l.pos[0] = pos;
Translate(&anchors(i).u.l.pos[1],pos,NormalizeAngle(a-135),len);
anchors(i).color = wDrawColorBlue;
+ wSetCursor(mainD.d,wCursorNone);
}
void static CreateRotateAnchor(coOrd pos) {
@@ -146,6 +143,16 @@ void static CreateRotateAnchor(coOrd pos) {
Translate(&head,pos,j*120,d*2);
CreateArrowAnchor(head,NormalizeAngle((j*120)+90),d);
}
+ DYNARR_APPEND(trkSeg_t,anchors_da,1);
+ i = anchors_da.cnt-1;
+ anchors(i).type = SEG_CRVLIN;
+ anchors(i).width = d/8;
+ anchors(i).u.c.center = pos;
+ anchors(i).u.c.a0 = 180.0;
+ anchors(i).u.c.a1 = 360.0;
+ anchors(i).u.c.radius = d/16;
+ anchors(i).color = wDrawColorAqua;
+ wSetCursor(mainD.d,wCursorNone);
}
void static CreateModifyAnchor(coOrd pos) {
@@ -168,6 +175,7 @@ void static CreateModifyAnchor(coOrd pos) {
anchors(i).u.c.a1 = 360.0;
anchors(i).u.c.radius = d;
anchors(i).color = wDrawColorPowderedBlue;
+ wSetCursor(mainD.d,wCursorNone);
}
@@ -193,6 +201,7 @@ void CreateDescribeAnchor(coOrd pos) {
Translate(&anchors(i).u.l.pos[1],pos,180.0,d*1.5);
anchors(i).color = wDrawColorPowderedBlue;
}
+ wSetCursor(mainD.d,wCursorNone);
}
void CreateActivateAnchor(coOrd pos) {
@@ -218,6 +227,7 @@ void CreateActivateAnchor(coOrd pos) {
anchors(i).u.c.a1 = 360.0;
anchors(i).u.c.radius = d;
anchors(i).color = wDrawColorPowderedBlue;
+ wSetCursor(mainD.d,wCursorNone);
}
void static CreateMoveAnchor(coOrd pos) {
@@ -225,6 +235,7 @@ void static CreateMoveAnchor(coOrd pos) {
DrawArrowHeads(&DYNARR_N(trkSeg_t,anchors_da,anchors_da.cnt-5),pos,0,TRUE,wDrawColorBlue);
DYNARR_SET(trkSeg_t,anchors_da,anchors_da.cnt+5);
DrawArrowHeads(&DYNARR_N(trkSeg_t,anchors_da,anchors_da.cnt-5),pos,90,TRUE,wDrawColorBlue);
+ wSetCursor(mainD.d,wCursorNone);
}
void CreateEndAnchor(coOrd p, wBool_t lock) {
@@ -382,7 +393,7 @@ EXPORT void SetAllTrackSelect( BOOL_T select )
selectedTrackCount = 0;
trk = NULL;
while ( TrackIterate( &trk ) ) {
- if ((!select) || GetLayerVisible( GetTrkLayer( trk ))) {
+ if ((!select) || (GetLayerVisible( GetTrkLayer( trk )) && !GetLayerFrozen(GetTrkLayer( trk )) )) {
if (select)
selectedTrackCount++;
if ((GetTrkSelected(trk)!=0) != select) {
@@ -392,7 +403,7 @@ EXPORT void SetAllTrackSelect( BOOL_T select )
ClrTrkBits( trk, TB_SELECTED );
if (!doRedraw)
SetTrkBits( trk, TB_SELREDRAW );
- DrawTrackAndEndPts( trk, wDrawColorBlack );
+ DrawTrackAndEndPts( trk, wDrawColorBlack );
}
}
}
@@ -405,20 +416,20 @@ EXPORT void SetAllTrackSelect( BOOL_T select )
}
}
-/* Invert selected state of all visible non-module objects.
+/* Invert selected state of all visible non-module, non-frozen objects.
*
* \param none
* \return none
*/
-EXPORT void InvertTrackSelect( void *ptr )
+EXPORT void InvertTrackSelect( void * unused )
{
track_p trk;
trk = NULL;
while ( TrackIterate( &trk ) ) {
if (GetLayerVisible( GetTrkLayer( trk )) &&
- !GetLayerModule(GetTrkLayer( trk ))) {
+ !GetLayerModule(GetTrkLayer( trk )) && !GetLayerFrozen(GetTrkLayer( trk )) ) {
SelectOneTrack( trk, GetTrkSelected(trk)==0 );
}
}
@@ -428,7 +439,7 @@ EXPORT void InvertTrackSelect( void *ptr )
MainRedraw(); // InvertTrackSelect
}
-/* Select orphaned (ie single) track pieces.
+/* Select orphaned (ie single) track pieces (ignore frozen and module)
*
* \param none
* \return none
@@ -444,7 +455,7 @@ EXPORT void OrphanedTrackSelect( void *ptr )
while( TrackIterate( &trk ) ) {
cnt = 0;
- if( GetLayerVisible( GetTrkLayer( trk ) && !GetLayerModule(GetTrkLayer(trk)))) {
+ if( GetLayerVisible( GetTrkLayer( trk ) && !GetLayerModule(GetTrkLayer(trk)) && !GetLayerFrozen(GetTrkLayer(trk)))) {
for( ep = 0; ep < GetTrkEndPtCnt( trk ); ep++ ) {
if( GetTrkEndTrk( trk, ep ) )
cnt++;
@@ -480,12 +491,11 @@ static void SelectOneTrack(
selectedTrackCount--;
}
SelectedTrackCountChange();
- DrawTrackAndEndPts( trk, wDrawColorBlack );
}
-static void HighlightSelectedTracks(
- track_p trk_ignore, BOOL_T box, BOOL_T invert )
+EXPORT void HighlightSelectedTracks(
+ track_p trk_ignore, BOOL_T keep, BOOL_T invert )
{
track_p trk = NULL;
if ( selectedTrackCount == 0 )
@@ -494,7 +504,9 @@ static void HighlightSelectedTracks(
if (trk == trk_ignore) continue;
if(GetTrkSelected(trk)) {
if (!GetLayerVisible( GetTrkLayer( trk ))) continue;
- if (invert)
+ if (keep)
+ DrawTrack(trk,&tempD,selectedColor);
+ else if (invert)
DrawTrack(trk,&tempD,wDrawColorPreviewUnselected);
else
DrawTrack(trk,&tempD,wDrawColorPreviewSelected );
@@ -503,6 +515,11 @@ static void HighlightSelectedTracks(
}
+/*
+ * Select all tracks connected walking the tree until hitting ends or already selected tracks
+ *
+ * Ignore Frozen Tracks
+ */
static void SelectConnectedTracks(
track_p trk, BOOL_T display_only )
{
@@ -517,15 +534,17 @@ static void SelectConnectedTracks(
if ( inx > 0 && (selectedTrackCount == 0) && !display_only )
return;
trk = Tlist(inx);
- if (inx!=0 &&
- GetTrkSelected(trk)) {
- if (display_only)
- DrawTrack(trk,&tempD,wDrawColorPreviewSelected );
- continue;
- } else if (GetTrkSelected(trk)) {
- if (display_only)
- DrawTrack(trk,&tempD,wDrawColorPreviewUnselected);
- continue;
+ if (!GetLayerFrozen(GetTrkLayer(trk))) {
+ if (inx!=0 &&
+ GetTrkSelected(trk)) {
+ if (display_only)
+ DrawTrack(trk,&tempD,wDrawColorPreviewSelected );
+ continue;
+ } else if (GetTrkSelected(trk)) {
+ if (display_only)
+ DrawTrack(trk,&tempD,wDrawColorPreviewUnselected);
+ continue;
+ }
}
for (ep=0; ep<GetTrkEndPtCnt(trk); ep++) {
trk1 = GetTrkEndTrk( trk, ep );
@@ -535,10 +554,12 @@ static void SelectConnectedTracks(
} else TlistAppend( trk1 );
}
}
- if (display_only) DrawTrack(trk,&tempD,wDrawColorPreviewSelected );
+ if (display_only && !GetLayerFrozen(GetTrkLayer(trk))) DrawTrack(trk,&tempD,wDrawColorPreviewSelected );
else if (!GetTrkSelected(trk)) {
if (GetLayerModule(GetTrkLayer(trk))) {
continue;
+ } else if (GetLayerFrozen(GetTrkLayer(trk))) {
+ continue;
} else {
SelectOneTrack( trk, TRUE );
InfoCount( inx+1 );
@@ -572,7 +593,25 @@ static void DrawSingleTrack(track_p trk, BOOL_T bit) {
DrawTrack(trk,&tempD,bit?wDrawColorPreviewSelected:wDrawColorPreviewUnselected);
}
+typedef BOOL_T (*testSelectedTrackCallBack_t)(track_p, int);
+
+
+static BOOL_T TestAllSelectedTracks( testSelectedTrackCallBack_t testit, int value)
+{
+ track_p trk;
+ trk = NULL;
+ while ( TrackIterate( &trk ) ) {
+ if (GetTrkSelected(trk)) {
+ if ( !testit( trk, value ) ) {
+ return FALSE;
+ }
+ }
+ }
+ return TRUE;
+}
+
typedef BOOL_T (*doSelectedTrackCallBack_t)(track_p, BOOL_T);
+
static void DoSelectedTracks( doSelectedTrackCallBack_t doit )
{
track_p trk;
@@ -619,7 +658,7 @@ EXPORT void SelectTrackWidth( void* width )
if (GetTrkSelected(trk)) {
DrawTrackAndEndPts( trk, wDrawColorWhite );
UndoModify( trk );
- SetTrkWidth( trk, (int)(long)width );
+ SetTrkWidth( trk, (int)VP2L(width) );
DrawTrackAndEndPts( trk, wDrawColorBlack );
}
}
@@ -627,8 +666,9 @@ EXPORT void SelectTrackWidth( void* width )
UndoEnd();
}
-EXPORT void SelectLineType( void* width )
+static void SelectLineType( void* widthVP )
{
+ int width = (int)VP2L(widthVP);
track_p trk;
if (SelectedTracksAreFrozen())
return;
@@ -643,11 +683,11 @@ EXPORT void SelectLineType( void* width )
if (GetTrkSelected(trk)) {
UndoModify( trk );
if (QueryTrack(trk, Q_CAN_MODIFY_CONTROL_POINTS))
- SetBezierLineType(trk, (int) (long) width);
+ SetBezierLineType(trk, width);
else if (QueryTrack(trk, Q_IS_DRAW))
- SetLineType( trk, (int)(long)width );
+ SetLineType( trk, width );
else if (QueryTrack(trk, Q_IS_STRUCTURE)) {
- SetCompoundLineType(trk, (int)(long)width);
+ SetCompoundLineType(trk, width);
}
}
}
@@ -657,15 +697,26 @@ EXPORT void SelectLineType( void* width )
static BOOL_T doingDouble;
-EXPORT void SelectDelete( void )
+EXPORT int SelectDelete( void )
{
- if (GetCurrentCommand() != selectCmdInx) return;
- if (doingDouble) return;
+ if (GetCurrentCommand() != selectCmdInx ) {
+ if (GetCurrentCommand() != modifyCmdInx ) {
+ InfoMessage(_("Delete only works in Select Mode"));
+ wBeep();
+ return -1;
+ }
+ }
+
+ if (doingDouble || (GetCurrentCommand() == modifyCmdInx)) return 1;
if (SelectedTracksAreFrozen())
- return;
+ return 0;
if (selectedTrackCount>0) {
- UndoStart( _("Delete Tracks"), "delete" );
+ BOOL_T UndoStarted = FALSE;
+ if (!TestAllSelectedTracks(QueryTrack,(int)Q_ISTRAIN)) { // If all Cars, don't bother with UndoStart as there will be nothing to delete
+ UndoStarted = TRUE;
+ UndoStart( _("Delete Tracks"), "delete" );
+ }
wDrawDelayUpdate( mainD.d, TRUE );
wDrawDelayUpdate( mapD.d, TRUE );
DoSelectedTracks( DeleteTrack );
@@ -674,15 +725,26 @@ EXPORT void SelectDelete( void )
wDrawDelayUpdate( mapD.d, FALSE );
selectedTrackCount = 0;
SelectedTrackCountChange();
- UndoEnd();
+ if (UndoStarted)
+ UndoEnd();
} else {
ErrorMessage( MSG_NO_SELECTED_TRK );
}
+ return 0;
+}
+
+/*
+ * Called By Windows directly with Delete Key. We first try a simple Delete, and if that doesn't work saying "In Modify" we call Modify with a Text key for Delete
+ */
+EXPORT void TrySelectDelete( void ) {
+ if(SelectDelete() == 1) {
+ CmdModify((C_TEXT+(int)(127<<8)),zero);
+ }
}
BOOL_T flipHiddenDoSelectRecount;
-static BOOL_T FlipHidden( track_p trk, BOOL_T junk )
+static BOOL_T FlipHidden( track_p trk, BOOL_T unused )
{
EPINX_T i;
track_p trk2;
@@ -713,7 +775,7 @@ static BOOL_T FlipHidden( track_p trk, BOOL_T junk )
return TRUE;
}
-static BOOL_T FlipBridge( track_p trk, BOOL_T junk )
+static BOOL_T FlipBridge( track_p trk, BOOL_T unused )
{
UndoModify( trk );
if (GetTrkBridge(trk)) {
@@ -725,7 +787,7 @@ static BOOL_T FlipBridge( track_p trk, BOOL_T junk )
return TRUE;
}
-static BOOL_T FlipTies( track_p trk, BOOL_T junk )
+static BOOL_T FlipTies( track_p trk, BOOL_T unused )
{
UndoModify( trk );
if (GetTrkNoTies(trk)) {
@@ -737,7 +799,7 @@ static BOOL_T FlipTies( track_p trk, BOOL_T junk )
return TRUE;
}
-EXPORT void SelectTunnel( void )
+EXPORT void SelectTunnel( void * unused )
{
if (SelectedTracksAreFrozen())
return;
@@ -755,7 +817,7 @@ EXPORT void SelectTunnel( void )
SelectRecount();
}
-EXPORT void SelectBridge( void )
+EXPORT void SelectBridge( void * unused )
{
if (SelectedTracksAreFrozen())
return;
@@ -772,7 +834,7 @@ EXPORT void SelectBridge( void )
MainRedraw(); // SelectBridge
}
-EXPORT void SelectTies( void )
+EXPORT void SelectTies( void * unused )
{
if (SelectedTracksAreFrozen())
return;
@@ -803,14 +865,14 @@ void SelectRecount( void )
}
-static BOOL_T SetLayer( track_p trk, BOOL_T junk )
+static BOOL_T SetLayer( track_p trk, BOOL_T unused )
{
UndoModify( trk );
SetTrkLayer( trk, curLayer );
return TRUE;
}
-EXPORT void MoveSelectedTracksToCurrentLayer( void )
+EXPORT void MoveSelectedTracksToCurrentLayer( void * unused )
{
if (SelectedTracksAreFrozen())
return;
@@ -823,20 +885,32 @@ EXPORT void MoveSelectedTracksToCurrentLayer( void )
}
}
-EXPORT void SelectCurrentLayer( void )
+EXPORT void SelectCurrentLayer( void * unused )
{
track_p trk;
trk = NULL;
+ if (GetLayerFrozen(curLayer)) return;
while ( TrackIterate( &trk ) ) {
- if ((!GetTrkSelected(trk)) && GetTrkLayer(trk) == curLayer ) {
+ if ((!GetTrkSelected(trk)) && GetTrkLayer(trk) == curLayer) {
SelectOneTrack( trk, TRUE );
}
}
RedrawSelectedTracksBoundary();
}
+EXPORT void DeselectLayer( unsigned int layer ) {
+ track_p trk;
+ trk = NULL;
+ while ( TrackIterate( &trk ) ) {
+ if ((GetTrkSelected(trk)) && GetTrkLayer(trk) == layer) {
+ SelectOneTrack( trk, FALSE );
+ }
+ }
+ RedrawSelectedTracksBoundary();
+}
+
-static BOOL_T ClearElevation( track_p trk, BOOL_T junk )
+static BOOL_T ClearElevation( track_p trk, BOOL_T unused )
{
EPINX_T ep;
for ( ep=0; ep<GetTrkEndPtCnt(trk); ep++ ) {
@@ -850,7 +924,7 @@ static BOOL_T ClearElevation( track_p trk, BOOL_T junk )
return TRUE;
}
-EXPORT void ClearElevations( void )
+EXPORT void ClearElevations( void * unused )
{
if (SelectedTracksAreFrozen())
return;
@@ -866,7 +940,7 @@ EXPORT void ClearElevations( void )
static DIST_T elevDelta;
-static BOOL_T AddElevation( track_p trk, BOOL_T junk )
+static BOOL_T AddElevation( track_p trk, BOOL_T unused )
{
track_p trk1;
EPINX_T ep, ep1;
@@ -909,7 +983,7 @@ EXPORT void AddElevations( DIST_T delta )
}
-EXPORT void DoRefreshCompound( void )
+EXPORT void DoRefreshCompound( void * unused )
{
if (SelectedTracksAreFrozen())
return;
@@ -961,11 +1035,11 @@ static paramData_t rescalePLs[] = {
#define I_RESCALE_MODE (0)
{ PD_RADIO, &rescaleMode, "toggle", PDO_NOPREF, &rescaleToggleLabels, N_("Rescale by:"), BC_HORZ|BC_NOBORDER },
#define I_RESCALE_FROM_SCALE (1)
- { PD_STRING, rescaleFromScale, "fromS", PDO_NOPREF|PDO_STRINGLIMITLENGTH, (void*)100, N_("From:"),0, 0, sizeof(rescaleFromScale)},
+ { PD_STRING, rescaleFromScale, "fromS", PDO_NOPREF|PDO_STRINGLIMITLENGTH, I2VP(100), N_("From:"),0, 0, sizeof(rescaleFromScale)},
#define I_RESCALE_FROM_GAUGE (2)
- { PD_STRING, rescaleFromGauge, "fromG", PDO_NOPREF|PDO_DLGHORZ | PDO_STRINGLIMITLENGTH, (void*)100, " / ", 0, 0, sizeof(rescaleFromGauge)},
+ { PD_STRING, rescaleFromGauge, "fromG", PDO_NOPREF|PDO_DLGHORZ | PDO_STRINGLIMITLENGTH, I2VP(100), " / ", 0, 0, sizeof(rescaleFromGauge)},
#define I_RESCALE_TO_SCALE (3)
- { PD_DROPLIST, &rescaleToScaleInx, "toS", PDO_NOPREF|PDO_LISTINDEX, (void *)100, N_("To: ") },
+ { PD_DROPLIST, &rescaleToScaleInx, "toS", PDO_NOPREF|PDO_LISTINDEX, I2VP(100), N_("To: ") },
#define I_RESCALE_TO_GAUGE (4)
{ PD_DROPLIST, &rescaleToGaugeInx, "toG", PDO_NOPREF|PDO_LISTINDEX|PDO_DLGHORZ, NULL, " / " },
#define I_RESCALE_CHANGE (5)
@@ -973,13 +1047,13 @@ static paramData_t rescalePLs[] = {
#define I_RESCALE_PERCENT (6)
{ PD_FLOAT, &rescalePercent, "ratio", 0, &r0o001_10000, N_("Ratio") },
{ PD_MESSAGE, "%", NULL, PDO_DLGHORZ } };
-static paramGroup_t rescalePG = { "rescale", 0, rescalePLs, sizeof rescalePLs/sizeof rescalePLs[0] };
+static paramGroup_t rescalePG = { "rescale", 0, rescalePLs, COUNT( rescalePLs ) };
static long getboundsCount;
static coOrd getboundsLo, getboundsHi;
-static BOOL_T GetboundsDoIt( track_p trk, BOOL_T junk )
+static BOOL_T GetboundsDoIt( track_p trk, BOOL_T unused )
{
coOrd hi, lo;
@@ -998,7 +1072,7 @@ static BOOL_T GetboundsDoIt( track_p trk, BOOL_T junk )
}
static coOrd rescaleShift;
-static BOOL_T RescaleDoIt( track_p trk, BOOL_T junk )
+static BOOL_T RescaleDoIt( track_p trk, BOOL_T unused )
{
EPINX_T ep, ep1;
track_p trk1;
@@ -1026,7 +1100,7 @@ static BOOL_T RescaleDoIt( track_p trk, BOOL_T junk )
static void RescaleDlgOk(
- void * junk )
+ void * unused )
{
coOrd center, size;
DIST_T d;
@@ -1073,6 +1147,19 @@ static void RescaleDlgOk(
rescaleToInx = GetScaleInx( rescaleToScaleInx, rescaleToGaugeInx );
DoSelectedTracks( RescaleDoIt );
+
+ // rescale the background if it exists and the layout is resized
+ if (HasBackGround() && ratio != 1.0) {
+ coOrd pos = GetLayoutBackGroundPos();
+ double size = GetLayoutBackGroundSize();
+ pos.x = ratio * pos.x + rescaleShift.x;
+ pos.y = ratio * pos.y + rescaleShift.y;
+ SetLayoutBackGroundPos(pos);
+
+ size *= ratio;
+ SetLayoutBackGroundSize(size);
+ }
+ DoRedraw();
wHide( rescalePG.win );
}
@@ -1126,11 +1213,11 @@ static void RescaleDlgUpdate(
* FIXME: special cases like tracks pieces with different gauges or scale need to be handled
*
* \param IN trk track element
- * \param IN junk
+ * \param IN unused
* \return TRUE;
*/
-static BOOL_T SelectedScaleGauge( track_p trk, BOOL_T junk )
+static BOOL_T SelectedScaleGauge( track_p trk, BOOL_T unused )
{
char *scaleName;
SCALEINX_T scale;
@@ -1159,7 +1246,7 @@ static BOOL_T SelectedScaleGauge( track_p trk, BOOL_T junk )
* RescaleDlgUpdate()
*/
-EXPORT void DoRescale( void )
+EXPORT void DoRescale( void * unused )
{
if ( rescalePG.win == NULL ) {
ParamCreateDialog( &rescalePG, MakeWindowTitle(_("Rescale")), _("Ok"), RescaleDlgOk, wHide, TRUE, NULL, F_BLOCK, RescaleDlgUpdate );
@@ -1200,21 +1287,35 @@ static void DrawSelectedTracksD( drawCmd_p d, wDrawColor color )
}
if (color != wDrawColorWhite)
ClrTrkBits(trk, TB_UNDRAWN);
- DrawTrack( trk, d, color );
if (color == wDrawColorWhite)
SetTrkBits( trk, TB_UNDRAWN );
}
+ MainRedraw(); //Omitting all the tracks with TB_UNDRAWN set
/*wDrawDelayUpdate( d->d, FALSE );*/
}
static BOOL_T AddSelectedTrack(
- track_p trk, BOOL_T junk )
+ track_p trk, BOOL_T unused )
{
DYNARR_APPEND( track_p, tlist_da, 10 );
DYNARR_LAST( track_p, tlist_da ) = trk;
return TRUE;
}
+static BOOL_T RemoveSelectedTrack(track_p trk) {
+
+ for(int i=0;i<tlist_da.cnt; i++) {
+ if (DYNARR_N(track_p,tlist_da,i) == trk) {
+ for (int j=i;j<tlist_da.cnt-1;j++) {
+ DYNARR_N(track_p,tlist_da,j) = DYNARR_N(track_p,tlist_da,j+1);
+ }
+ tlist_da.cnt--;
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
static coOrd moveOrig;
static ANGLE_T moveAngle;
@@ -1257,6 +1358,8 @@ static void AccumulateTracks( void )
/*wDrawDelayUpdate( moveD.d, FALSE );*/
}
+static dynArr_t auto_select_da;
+
static void AddEndCornus() {
for (int i=0;i<tlist_da.cnt;i++) {
track_p trk = DYNARR_N(track_p,tlist_da,i);
@@ -1267,11 +1370,23 @@ static void AddEndCornus() {
SelectOneTrack( tc, TRUE );
DYNARR_APPEND(track_p,tlist_da,1); //Add to selected list
DYNARR_LAST(track_p,tlist_da) = tc;
+ DYNARR_APPEND(track_p,auto_select_da,1);
+ DYNARR_LAST(track_p,auto_select_da) = tc;
}
}
}
}
+static void RemoveEndCornus() {
+ track_p tc;
+ for (int i=0;i<auto_select_da.cnt;i++) {
+ tc = DYNARR_N(track_p,auto_select_da,i);
+ SelectOneTrack( tc, FALSE );
+ RemoveSelectedTrack(tc);
+ }
+ DYNARR_RESET(track_p,auto_select_da);
+}
+
static void GetMovedTracks( BOOL_T undraw )
{
@@ -1343,7 +1458,7 @@ static void DrawMovedTracks( void )
dynArr_t cornu_segs;
DrawSegs( &tempD, moveOrig, moveAngle, &tempSegs(0), tempSegs_da.cnt,
- 0.0, wDrawColorBlack );
+ 0.0, selectedColor );
for ( inx=0; inx<tlist_da.cnt; inx++ ) {
trk = Tlist(inx);
@@ -1377,7 +1492,7 @@ static void DrawMovedTracks( void )
trkSeg_p cornu_p = &DYNARR_N(trkSeg_t,cornu_segs,0);
DrawSegsO(&tempD, trk, zero, 0.0, cornu_p,cornu_segs.cnt,
- GetTrkGauge(trk), wDrawColorBlack, DTS_LEFT|DTS_RIGHT );
+ GetTrkGauge(trk), selectedColor, DTS_LEFT|DTS_RIGHT );
}
}
@@ -1413,20 +1528,37 @@ static void MoveTracks(
DrawSelectedTracksD( &mapD, wDrawColorWhite );
}
}
+ //Do non-Cornu first to establish new end-points
+ for ( inx=0; inx<tlist_da.cnt; inx++ ) {
+ trk = Tlist(inx);
+ UndoModify( trk );
+ if (QueryTrack(trk, Q_IS_CORNU)) continue;
+ if (move)
+ MoveTrack( trk, base );
+ if (rotate)
+ RotateTrack( trk, orig, angle );
+ for (ep=0; ep<GetTrkEndPtCnt(trk); ep++) {
+ if ((trk1 = GetTrkEndTrk(trk,ep)) != NULL &&
+ !GetTrkSelected(trk1)) {
+ ep1 = GetEndPtConnectedToMe( trk1, trk );
+ DisconnectTracks( trk, ep, trk1, ep1 );
+ DrawEndPt( &mainD, trk1, ep1, wDrawColorBlack );
+ }
+ }
+ }
+ //Now do the just Cornus - to reset to where the fixed parts ended up
for ( inx=0; inx<tlist_da.cnt; inx++ ) {
trk = Tlist(inx);
UndoModify( trk );
BOOL_T fixed_end;
fixed_end = FALSE;
- if (QueryTrack(trk, Q_IS_CORNU)) {
- for (int i=0;i<2;i++) {
- track_p te;
- if ((te = GetTrkEndTrk(trk,i)) && !GetTrkSelected(te)) {
- fixed_end = TRUE;
- }
+ if (!QueryTrack(trk, Q_IS_CORNU)) continue;
+ for (int i=0;i<2;i++) {
+ track_p te;
+ if ((te = GetTrkEndTrk(trk,i)) && !GetTrkSelected(te)) {
+ fixed_end = TRUE;
}
}
-
if (!fixed_end) {
if (move)
MoveTrack( trk, base );
@@ -1441,65 +1573,64 @@ static void MoveTracks(
}
}
} else {
- if (QueryTrack(trk, Q_IS_CORNU)) { //Cornu will be at the end of selected set
- for (int i=0;i<2;i++) {
- if ((trk1 = GetTrkEndTrk(trk,i)) && GetTrkSelected(trk1)) {
- ep1 = GetEndPtConnectedToMe( trk1, trk );
- DisconnectTracks(trk,i,trk1,ep1);
- GetTrackParams(PARAMS_CORNU,trk1,GetTrkEndPos(trk1,ep1),&trackParms);
- if (trackParms.type == curveTypeStraight) {
- endRadius = 0;
- endCenter = zero;
- } else {
- endRadius = trackParms.arcR;
- endCenter = trackParms.arcP;
- }
- DrawTrack(trk,&mainD,wDrawColorWhite);
- DrawTrack(trk,&mapD,wDrawColorWhite);
- endAngle = NormalizeAngle(GetTrkEndAngle(trk1,ep1)+180);
- if (SetCornuEndPt(trk,i,GetTrkEndPos(trk1,ep1),endCenter,endAngle,endRadius)) {
- ConnectTracks(trk,i,trk1,ep1);
- DrawTrack(trk,&mainD,wDrawColorBlack);
- DrawTrack(trk,&mapD,wDrawColorBlack);
- } else {
- DeleteTrack(trk,TRUE);
- ErrorMessage(_("Cornu too tight - it was deleted"));
- DoRedraw(); // MoveTracks: Cornu/delete
- return;
- }
- } else if (!trk1) { //No end track
- DrawTrack(trk,&mainD,wDrawColorWhite);
- DrawTrack(trk,&mapD,wDrawColorWhite);
- GetTrackParams(PARAMS_CORNU,trk,GetTrkEndPos(trk,i),&trackParms);
- if (move) {
- coOrd end_pos, end_center;
- end_pos = trackParms.cornuEnd[i];
- end_pos.x += base.x;
- end_pos.y += base.y;
- end_center = trackParms.cornuCenter[i];
- end_center.x += base.x;
- end_center.y += base.y;
- SetCornuEndPt(trk,i,end_pos,end_center,trackParms.cornuAngle[i],trackParms.cornuRadius[i]);
- }
- if (rotate) {
- coOrd end_pos, end_center;
- ANGLE_T end_angle;
- end_pos = trackParms.cornuEnd[i];
- end_center = trackParms.cornuCenter[i];
- Rotate(&end_pos, orig, angle);
- Rotate(&end_center, orig, angle);
- end_angle = NormalizeAngle( trackParms.cornuAngle[i] + angle );
- SetCornuEndPt(trk,i,end_pos,end_center,end_angle,trackParms.cornuRadius[i]);
- }
+ for (int i=0;i<2;i++) {
+ if ((trk1 = GetTrkEndTrk(trk,i)) && GetTrkSelected(trk1)) {
+ ep1 = GetEndPtConnectedToMe( trk1, trk );
+ DisconnectTracks(trk,i,trk1,ep1);
+ GetTrackParams(PARAMS_CORNU,trk1,GetTrkEndPos(trk1,ep1),&trackParms);
+ if (trackParms.type == curveTypeStraight) {
+ endRadius = 0;
+ endCenter = zero;
+ } else {
+ endRadius = trackParms.arcR;
+ endCenter = trackParms.arcP;
+ }
+ DrawTrack(trk,&mainD,wDrawColorWhite);
+ DrawTrack(trk,&mapD,wDrawColorWhite);
+ endAngle = NormalizeAngle(GetTrkEndAngle(trk1,ep1)+180);
+ if (SetCornuEndPt(trk,i,GetTrkEndPos(trk1,ep1),endCenter,endAngle,endRadius)) {
+ ConnectTracks(trk,i,trk1,ep1);
DrawTrack(trk,&mainD,wDrawColorBlack);
DrawTrack(trk,&mapD,wDrawColorBlack);
+ } else {
+ DeleteTrack(trk,TRUE);
+ ErrorMessage(_("Cornu too tight - it was deleted"));
+ DoRedraw(); // MoveTracks: Cornu/delete
+ continue;
+ }
+ } else if (!trk1) { //No end track
+ DrawTrack(trk,&mainD,wDrawColorWhite);
+ DrawTrack(trk,&mapD,wDrawColorWhite);
+ GetTrackParams(PARAMS_CORNU,trk,GetTrkEndPos(trk,i),&trackParms);
+ if (move) {
+ coOrd end_pos, end_center;
+ end_pos = trackParms.cornuEnd[i];
+ end_pos.x += base.x;
+ end_pos.y += base.y;
+ end_center = trackParms.cornuCenter[i];
+ end_center.x += base.x;
+ end_center.y += base.y;
+ SetCornuEndPt(trk,i,end_pos,end_center,trackParms.cornuAngle[i],trackParms.cornuRadius[i]);
}
+ if (rotate) {
+ coOrd end_pos, end_center;
+ ANGLE_T end_angle;
+ end_pos = trackParms.cornuEnd[i];
+ end_center = trackParms.cornuCenter[i];
+ Rotate(&end_pos, orig, angle);
+ Rotate(&end_center, orig, angle);
+ end_angle = NormalizeAngle( trackParms.cornuAngle[i] + angle );
+ SetCornuEndPt(trk,i,end_pos,end_center,end_angle,trackParms.cornuRadius[i]);
+ }
+ DrawTrack(trk,&mainD,wDrawColorBlack);
+ DrawTrack(trk,&mapD,wDrawColorBlack);
}
}
}
InfoCount( inx );
}
+ RemoveEndCornus();
ClrAllTrkBits(TB_UNDRAWN);
DoRedraw();
wSetCursor( mainD.d, defaultCursor );
@@ -1534,6 +1665,7 @@ void MoveToJoin(
ConnectTracks( trk0, ep0, trk1, ep1 );
DrawNewTrack( trk0 );
DrawNewTrack( trk1 );
+ RemoveEndCornus();
}
void FreeTempStrings() {
@@ -1627,23 +1759,22 @@ void DrawHighlightLayer(int layer) {
if (layer_lo.y > lo.y ) layer_lo.y = lo.y;
}
}
- wPos_t margin = (wPos_t)(10.5*mainD.scale/mainD.dpi);
+ wDrawPix_t margin = (10.5*mainD.scale/mainD.dpi);
layer_hi.x +=margin;
layer_hi.y +=margin;
layer_lo.x -=margin;
layer_lo.y -=margin;
- wPos_t rect[4][2];
int type[4];
- coOrd top_left, bot_right;
- top_left.x = layer_lo.x; top_left.y = layer_hi.y;
- bot_right.x = layer_hi.x; bot_right.y = layer_lo.y;
type[0] = type[1] = type[2] = type[3] = 0;
- mainD.CoOrd2Pix(&mainD,layer_lo,&rect[0][0],&rect[0][1]);
- mainD.CoOrd2Pix(&mainD,top_left,&rect[1][0],&rect[1][1]);
- mainD.CoOrd2Pix(&mainD,layer_hi,&rect[2][0],&rect[2][1]);
- mainD.CoOrd2Pix(&mainD,bot_right,&rect[3][0],&rect[3][1]);
- wDrawPolygon(tempD.d,rect,(wPolyLine_e *)type,4,wDrawColorPowderedBlue,0,wDrawLineDash,wDrawOptTemp,0,0);
+ coOrd rect[4];
+ // r3 r2
+ // r0 r1
+ rect[0].x = rect[3].x = layer_lo.x;
+ rect[1].x = rect[2].x = layer_hi.x;
+ rect[0].y = rect[1].y = layer_lo.y;
+ rect[2].y = rect[3].y = layer_hi.y;
+ DrawPoly(&tempD,4,rect,type,wDrawColorPowderedBlue,wDrawLineDash,DRAW_CLOSED);
}
void SetUpMenu2(coOrd pos, track_p trk) {
@@ -1734,7 +1865,7 @@ static STATUS_T CmdMove(
UndoStart( _("Move Tracks"), "move" );
base = zero;
orig = pos;
-
+ DYNARR_RESET(track_p,auto_select_da);
GetMovedTracks(TRUE);
SetMoveD( TRUE, base, 0.0 );
drawCount = 0;
@@ -1747,7 +1878,7 @@ static STATUS_T CmdMove(
drawEnable = enableMoveDraw;
base.x = pos.x - orig.x;
base.y = pos.y - orig.y;
- SnapPos( &base );
+ if ((MyGetKeyState() & WKEY_ALT) == 0) SnapPos( &base );
SetMoveD( TRUE, base, 0.0 );
if (((MyGetKeyState()&(WKEY_ALT)) == 0) == magneticSnap) { // ALT
if (FindEndIntersection(base,zero,0.0,&t1,&ep1,&t2,&ep2)) {
@@ -1776,6 +1907,7 @@ static STATUS_T CmdMove(
}
ep1 = -1;
ep2 = -1;
+ RemoveEndCornus();
tlist_da.cnt = 0;
return C_TERMINATE;
@@ -1805,17 +1937,25 @@ static STATUS_T CmdMove(
if ((action>>8) == 'c') {
panCenter = pos;
LOG( log_pan, 2, ( "PanCenter:Sel-%d %0.3f %0.3f\n", __LINE__, panCenter.x, panCenter.y ) );
- PanHere((void*)0);
+ PanHere(I2VP(0));
}
if ((action>>8) == 'e') {
- DoZoomExtents(0);
+ DoZoomExtents(I2VP(0));
+ }
+ if ((action>>8 == 's')) {
+ DoZoomExtents(I2VP(1));
}
if ((action>>8) == '0' || (action>>8 == 'o')) {
- PanMenuEnter('o');
+ PanMenuEnter(I2VP('o'));
}
+ if ((action>>8) == 127 || (action>>8) == 8)
+ SelectDelete();
break;
case C_REDRAW:
/* DO_REDRAW */
+ //Draw all existing highlight boxes only
+ DrawHighlightBoxes(FALSE, FALSE, NULL);
+ HighlightSelectedTracks(NULL, TRUE, TRUE);
if (anchors_da.cnt)
DrawSegs( &tempD, zero, 0.0, &anchors(0), anchors_da.cnt, trackGauge, wDrawColorBlack );
if ( state == 0 )
@@ -1860,6 +2000,7 @@ static STATUS_T CmdMove(
microCount = 0;
MainRedraw(); // Micro step move
}
+ RemoveEndCornus();
return C_CONTINUE;
}
break;
@@ -1869,14 +2010,16 @@ static STATUS_T CmdMove(
doingMove = FALSE;
UndoEnd();
}
+ RemoveEndCornus();
tlist_da.cnt = 0;
break;
case C_CONFIRM:
case C_CANCEL:
if (doingMove) {
doingMove = FALSE;
- UndoUndo();
+ UndoUndo(NULL);
}
+ RemoveEndCornus();
tlist_da.cnt = 0;
break;
default:
@@ -1889,8 +2032,9 @@ static STATUS_T CmdMove(
static int rotateAlignState = 0;
-static void RotateAlign( BOOL_T align )
+static void RotateAlign( void * alignVP )
{
+ BOOL_T align = (BOOL_T)VP2L(alignVP);
rotateAlignState = 0;
if (align) {
rotateAlignState = 1;
@@ -1951,6 +2095,7 @@ static STATUS_T CmdRotate(
return C_TERMINATE;
}
UndoStart( _("Rotate Tracks"), "rotate" );
+ DYNARR_RESET(track_p,auto_select_da);
if ( rotateAlignState == 0 ) {
drawnAngle = FALSE;
angle = 0.0;
@@ -2044,7 +2189,7 @@ static STATUS_T CmdRotate(
ANGLE_T diff_angle = 0.0;
base = pos;
drawEnable = enableMoveDraw;
- if ( FindDistance( orig, pos ) > (20.0/75.0)*mainD.scale ) {
+ if ( FindDistance( orig, pos ) > (20.0/BASE_DPI)*mainD.scale ) {
ANGLE_T old_angle = angle;
angle = FindAngle( orig, pos );
if (!drawnAngle) {
@@ -2079,7 +2224,7 @@ static STATUS_T CmdRotate(
angle = baseAngle+diff_angle;
}
Translate( &base, orig, angle, FindDistance(orig,pos) ); //Line one
- Translate( &orig_base,orig, baseAngle, FindDistance(orig,pos)<=(60.0/75.00*mainD.scale)?FindDistance(orig,pos):60.0/75.00*mainD.scale ); //Line two
+ Translate( &orig_base,orig, baseAngle, FindDistance(orig,pos)<=(60.0/BASE_DPI*mainD.scale)?FindDistance(orig,pos):60.0/BASE_DPI*mainD.scale ); //Line two
SetMoveD( FALSE, orig, NormalizeAngle( angle-baseAngle ) );
if (((MyGetKeyState()&(WKEY_ALT)) == WKEY_ALT) != magneticSnap) { //Just Shift
if (FindEndIntersection(zero,orig,NormalizeAngle( angle-baseAngle ),&t1,&ep1,&t2,&ep2)) {
@@ -2127,6 +2272,7 @@ static STATUS_T CmdRotate(
}
}
UndoEnd();
+ RemoveEndCornus();
tlist_da.cnt = 0;
return C_TERMINATE;
@@ -2154,30 +2300,35 @@ static STATUS_T CmdRotate(
if ((action>>8) == 'd') {
panCenter = pos;
LOG( log_pan, 2, ( "PanCenter:Sel-%d %0.3f %0.3f\n", __LINE__, panCenter.x, panCenter.y ) );
- PanHere((void*)0);
+ PanHere(I2VP(0));
}
if ((action>>8) == 'e') {
- DoZoomExtents(0);
+ DoZoomExtents(I2VP(0));
+ }
+ if ((action>>8) == 's') {
+ DoZoomExtents(I2VP(1));
}
if ((action>>8) == '0' || (action>>8 == 'o')) {
- PanMenuEnter('o');
+ PanMenuEnter(I2VP('o'));
}
break;
case C_REDRAW:
+ DrawHighlightBoxes(FALSE,FALSE,NULL);
+ HighlightSelectedTracks(NULL, TRUE, TRUE);
if (anchors_da.cnt)
DrawSegs( &tempD, zero, 0.0, &anchors(0), anchors_da.cnt, trackGauge, wDrawColorBlack );
/* DO_REDRAW */
if ( state == 0 )
break;
if ( rotateAlignState != 2 ) {
- DIST_T width = mainD.scale*0.5;
+ DIST_T width = tempD.scale*0.15;
DrawLine( &tempD, base, orig, 0, wDrawColorBlue );
if (drawnAngle) {
- DrawLine( &tempD, orig_base, orig, (wDrawWidth)width, wDrawColorBlue );
+ DrawLine( &tempD, orig_base, orig, (wDrawWidth)width/2, wDrawColorBlue );
ANGLE_T a = DifferenceBetweenAngles(FindAngle(orig, orig_base),FindAngle(orig, base));
DIST_T dist = FindDistance(orig,base);
- if (dist>(60.0/75.0)*mainD.scale) dist = (60.0/75.0)*mainD.scale;
+ if (dist>(60.0/BASE_DPI)*mainD.scale) dist = (60.0/BASE_DPI)*mainD.scale;
if (direction_set) {
if (clockwise) {
@@ -2211,6 +2362,7 @@ static STATUS_T CmdRotate(
static void QuickMove( void* pos) {
coOrd move_pos = *(coOrd*)pos;
+ DYNARR_RESET(track_p,auto_select_da);
if ( SelectedTracksAreFrozen() )
return;
wDrawDelayUpdate( mainD.d, TRUE );
@@ -2220,9 +2372,67 @@ static void QuickMove( void* pos) {
wDrawDelayUpdate( mainD.d, FALSE );
}
+static track_p SelectTrackByIndex(TRKINX_T ti, char * message ) {
+ track_p trk = FindTrack(ti);
+ if (trk) {
+ if (!GetLayerFrozen( GetTrkLayer( trk ) ) ) {
+ if (GetLayerModule(GetTrkLayer(trk))) {
+ DoModuleTracks(GetTrkLayer(trk),DrawSingleTrack,TRUE);
+ snprintf(message, STR_LONG_SIZE, "%s %d",_("In module layer:"),GetTrkLayer(trk)+1);
+ } else {
+ if (!GetLayerVisible(GetTrkLayer(trk))) FlipLayer(I2VP(GetTrkLayer(trk)));
+ if (!GetTrkVisible(trk) && drawTunnel==0 ) drawTunnel = 1; //Force DRAW_TUNNEL_DASH
+ SelectOneTrack(trk,TRUE);
+ }
+ } else {
+ snprintf(message, STR_LONG_SIZE, "%s %d",_("Frozen Layer:"),GetTrkLayer(trk)+1);
+ trk = NULL;
+ }
+ } else {
+ snprintf(message, STR_LONG_SIZE, "%s",_("Not found"));
+ }
+ return trk;
+}
+
+EXPORT void SelectByIndex( void* string) {
+ char result[STR_LONG_SIZE] = "";
+ char * message;
+ SetAllTrackSelect(FALSE);
+ char * cp = (char *)string;
+ cp = strtok(cp,",");
+ BOOL_T single = TRUE;
+ track_p trk = NULL;
+ while (cp) {
+ long ti = strtol(cp,&cp,0);
+ if (ti>0) {
+ message = MyMalloc(STR_LONG_SIZE);
+ trk = SelectTrackByIndex(ti, message);
+ if (!trk || message[0]) {
+ size_t len = strlen(result);
+ snprintf(result+len,(sizeof(result) - len),"I:%ld %s", ti, message);
+ MyFree(message);
+ }
+ }
+ cp = strtok(NULL,",");
+ if (cp) single = FALSE;
+ }
+
+ DoZoomExtents(I2VP(1));
+ if (strlen(result))
+ InfoMessage(result);
+ else if (single && trk) {
+ char msg[STR_SIZE];
+ DescribeTrack( trk, msg, sizeof msg );
+ InfoMessage( msg );
+ } else if (!single) {
+ InfoMessage(_("Multiple Selected"));
+ }
+}
+
static void QuickRotate( void* pangle )
{
- ANGLE_T angle = (ANGLE_T)(long)pangle;
+ ANGLE_T angle = (ANGLE_T)VP2L(pangle);
+ DYNARR_RESET(track_p,auto_select_da);
if ( SelectedTracksAreFrozen() )
return;
wDrawDelayUpdate( mainD.d, TRUE );
@@ -2236,8 +2446,24 @@ static void QuickRotate( void* pangle )
static wMenu_p moveDescM;
static wMenuToggle_p moveDescMI;
+static wMenuToggle_p moveDetailDescMI;
+
+static void ChangeDetailedFlag( void * mode )
+{
+ wDrawDelayUpdate( mainD.d, TRUE );
+ UndoStart( _("Toggle Detail"), "Modedetail( T%d )", GetTrkIndex(moveDescTrk) );
+ UndoModify( moveDescTrk );
+ UndrawNewTrack( moveDescTrk );
+ if ( ( GetTrkBits( moveDescTrk ) & TB_DETAILDESC ) == 0 ) {
+ ClrTrkBits( moveDescTrk, TB_HIDEDESC );
+ SetTrkBits( moveDescTrk, TB_DETAILDESC );
+ } else
+ ClrTrkBits( moveDescTrk, TB_DETAILDESC );
+ DrawNewTrack( moveDescTrk );
+ wDrawDelayUpdate( mainD.d, FALSE );
+}
-static void ChangeDescFlag( wBool_t set, void * mode )
+static void ChangeDescFlag( void * mode )
{
wDrawDelayUpdate( mainD.d, TRUE );
UndoStart( _("Toggle Label"), "Modedesc( T%d )", GetTrkIndex(moveDescTrk) );
@@ -2251,9 +2477,13 @@ static void ChangeDescFlag( wBool_t set, void * mode )
wDrawDelayUpdate( mainD.d, FALSE );
}
+/*
+ * Mode_o -1 = everything, 0 = elevations only, 1 = descriptions only
+ */
+
track_p FindTrackDescription(coOrd pos, EPINX_T * ep_o, int * mode_o, BOOL_T show_hidden, BOOL_T * hidden_o) {
track_p trk = NULL;
- DIST_T d, dd = 10000;
+ DIST_T d, dd = DIST_INF;
track_p trk1 = NULL;
EPINX_T ep1=-1, ep=-1;
BOOL_T hidden_t, hidden;
@@ -2265,6 +2495,8 @@ track_p FindTrackDescription(coOrd pos, EPINX_T * ep_o, int * mode_o, BOOL_T sho
continue;
if ( (!GetTrkVisible(trk1)) && drawTunnel==0 )
continue;
+ if ( GetLayerFrozen( GetTrkLayer( trk1 ) ))
+ continue;
if ( (labelEnable&LABELENABLE_ENDPT_ELEV)!=0 && *mode_o <= 0) {
for ( ep1=0; ep1<GetTrkEndPtCnt(trk1); ep1++ ) {
d = EndPtDescriptionDistance( pos, trk1, ep1, &dpos, FALSE, NULL ); //No hidden
@@ -2278,7 +2510,8 @@ track_p FindTrackDescription(coOrd pos, EPINX_T * ep_o, int * mode_o, BOOL_T sho
}
}
}
- if ( !QueryTrack( trk1, Q_HAS_DESC ) && (mode <0 || mode > 0) )
+ if (IsClose(dd)) break;
+ if ( *mode_o == 0 || !QueryTrack( trk1, Q_HAS_DESC ) )
continue;
if ((labelEnable&LABELENABLE_TRKDESC)==0)
continue;
@@ -2321,15 +2554,47 @@ track_p FindTrackDescription(coOrd pos, EPINX_T * ep_o, int * mode_o, BOOL_T sho
hidden = hidden_t;
cpos = dpos;
}
+ d = StraightDescriptionDistance( pos, trk1, &dpos, show_hidden, &hidden_t );
+ if (d < dd ) {
+ dd = d;
+ trk = trk1;
+ ep = -1;
+ mode = 5;
+ hidden = hidden_t;
+ cpos = dpos;
+ }
+ d = JointDescriptionDistance( pos, trk1, &dpos, show_hidden, &hidden_t );
+ if (d < dd ) {
+ dd = d;
+ trk = trk1;
+ ep = -1;
+ mode = 6;
+ hidden = hidden_t;
+ cpos = dpos;
+ }
+
}
- if ((trk != NULL && (trk == OnTrack(&pos, FALSE, FALSE))) ||
- IsClose(d) || IsClose(FindDistance( pos, cpos) )) { //Only when close to a label or the track - not anywhere on layout!
+
+ coOrd pos1 = pos;
+
+ if ((trk != NULL) && IsClose(dd) ) {
if (ep_o) *ep_o = ep;
if (mode_o) *mode_o = mode;
if (hidden_o) *hidden_o = hidden;
return trk;
+ } else { // Return other track for description (not near to description but nearest to track)
+ if ((trk1 = OnTrack(&pos1, FALSE, FALSE))==NULL) return NULL;
+ if (!QueryTrack( trk1, Q_HAS_DESC )) return NULL;
+ if (GetLayerFrozen(GetTrkLayer(trk1))) return NULL;
+ if (IsClose(FindDistance(pos,pos1))) {
+ if (mode_o) *mode_o = -1;
+ if (ep_o) *ep_o = -1;
+ if (hidden_o) *hidden_o = GetTrkBits( trk1 ) & TB_HIDEDESC;
+ return trk1;
+ }
}
- else return NULL;
+
+ return NULL;
}
static long moveDescMode;
@@ -2338,31 +2603,55 @@ STATUS_T CmdMoveDescription(
wAction_t action,
coOrd pos )
{
- static track_p trk;
static EPINX_T ep;
static BOOL_T hidden;
static int mode;
BOOL_T bChanged;
- moveDescMode = (long)commandContext; //Context 0 = everything, 1 means elevations, 2 means descriptions
+ moveDescMode = VP2L(commandContext); //Context 0 = everything, 1 means elevations, 2 means descriptions
bChanged = FALSE;
switch (action&0xFF) {
case C_START:
moveDescTrk = NULL;
moveDescPos = zero;
- trk = NULL;
hidden = FALSE;
mode = -1;
if ( labelWhen < 2 || mainD.scale > labelScale ||
(labelEnable&(LABELENABLE_TRKDESC|LABELENABLE_ENDPT_ELEV))==0 ) {
ErrorMessage( MSG_DESC_NOT_VISIBLE );
- return C_TERMINATE;
+ return C_ERROR;
}
- InfoMessage( _("Select and drag a description") );
- break;
+ SetAllTrackSelect( FALSE );
+ /* no break */
+ case wActionMove:
+ if ( labelWhen < 2 || mainD.scale > labelScale ) return C_CONTINUE;
+ mode = moveDescMode-1; // -1 means everything, 0 means elevations only, 1 means descriptions only
+ if ((moveDescTrk=FindTrackDescription(pos,&ep,&mode,TRUE,&hidden))!=NULL) {
+ if (mode==0) {
+ InfoMessage(_("Elevation description"));
+ } else {
+ if (moveDescMode == 1) {
+ moveDescTrk = NULL;
+ return C_CONTINUE; //Ignore other tracks if only looking for elevations
+ }
+ if (hidden) {
+ InfoMessage(_("Hidden description - 's' to Show, 'd' Details"));
+ moveDescPos = pos;
+ } else {
+ InfoMessage(_("Shown description - 'h' to Hide"));
+ moveDescPos = pos;
+ }
+ }
+ return C_CONTINUE;
+ } else {
+ moveDescTrk = NULL;
+ }
+ InfoMessage( _("Select and drag a description") );
+ break;
case C_TEXT:
if (!moveDescTrk) return C_CONTINUE;
+ if (mode == 0) return C_CONTINUE;
bChanged = FALSE;
if (action>>8 == 's') {
if ( ( GetTrkBits( moveDescTrk ) & TB_HIDEDESC) != 0 )
@@ -2372,97 +2661,105 @@ STATUS_T CmdMoveDescription(
if ( ( GetTrkBits( moveDescTrk ) & TB_HIDEDESC) == 0 )
bChanged = TRUE;
SetTrkBits( moveDescTrk, TB_HIDEDESC );
+ ClrTrkBits( moveDescTrk, TB_DETAILDESC );
+ } else if (action>>8 == 'd') { //Toggle Detailed
+ bChanged = TRUE;
+ if ((GetTrkBits( moveDescTrk ) & TB_DETAILDESC) != 0)
+ ClrTrkBits( moveDescTrk, TB_DETAILDESC);
+ else {
+ ClrTrkBits( moveDescTrk, TB_HIDEDESC );
+ SetTrkBits( moveDescTrk, TB_DETAILDESC );
+ }
}
if ( bChanged ) {
- // We should push the draw/undraw of the description down
- // but there is no clear way to do that
- MainRedraw(); // CmdMoveDescription
- }
- /*no break*/
- case wActionMove:
- if ( labelWhen < 2 || mainD.scale > labelScale ) return C_CONTINUE;
- mode = moveDescMode-1; // -1 means everything, 0 means elevations only, 1 means descriptions only
- if ((trk=FindTrackDescription(pos,&ep,&mode,TRUE,&hidden))!=NULL) {
- if (mode==0) {
- InfoMessage(_("Elevation description"));
- } else {
- if (hidden) {
- InfoMessage(_("Hidden description - 's' to Show"));
- moveDescTrk = trk;
- moveDescPos = pos;
- } else {
- InfoMessage(_("Shown description - 'h' to Hide"));
- moveDescTrk = trk;
- moveDescPos = pos;
- }
- }
- return C_CONTINUE;
+ return C_TERMINATE;
}
- InfoMessage( _("Select and drag a description") );
break;
case C_DOWN:
if (( labelWhen < 2 || mainD.scale > labelScale ) ||
(labelEnable&(LABELENABLE_TRKDESC|LABELENABLE_ENDPT_ELEV))==0 ) {
ErrorMessage( MSG_DESC_NOT_VISIBLE );
- return C_TERMINATE;
+ return C_ERROR;
}
mode = moveDescMode-1;
- trk = FindTrackDescription(pos,&ep,&mode,TRUE,&hidden);
- if (trk == NULL )
+ moveDescTrk = FindTrackDescription(pos,&ep,&mode,TRUE,&hidden);
+ if (moveDescTrk == NULL )
return C_CONTINUE;
if (hidden) {
- ClrTrkBits( trk, TB_HIDEDESC );
InfoMessage(_("Hidden Label - Drag to reveal"));
} else {
InfoMessage(_("Drag label"));
}
- UndoStart( _("Move Label"), "Modedesc( T%d )", GetTrkIndex(trk) );
- UndoModify( trk );
+ if (ep == -1 )
+ DrawTrack( moveDescTrk, &mainD, wDrawColorWhite );
/* no break */
case C_MOVE:
+ if (moveDescTrk == NULL )
+ return C_CONTINUE;
+ UndoStart( _("Move Label"), "Modedesc( T%d )", GetTrkIndex(moveDescTrk) );
+ UndoModify( moveDescTrk );
+ ClrTrkBits( moveDescTrk, TB_HIDEDESC );
+ hidden = FALSE;
+ /* no break */
case C_UP:
- case C_REDRAW:
if ( labelWhen < 2 || mainD.scale > labelScale )
- return C_TERMINATE;
- if ( trk == NULL )
return C_CONTINUE;
- STATUS_T status = C_ERROR;
- if ( action == C_REDRAW ) {
- if (mode==0) {
- DrawEndPt2( &tempD, trk, ep, wDrawColorBlue );
- } else {
- if (hidden) {
- DrawTrack( trk,&tempD,wDrawColorAqua);
- } else {
- DrawTrack( trk,&tempD,wDrawColorBlue);
- }
- }
- }
+ if ( moveDescTrk == NULL )
+ return C_CONTINUE;
+ int rc = C_CONTINUE;
switch (mode) {
case 0:
- return EndPtDescriptionMove( trk, ep, action, pos );
+ rc = EndPtDescriptionMove( moveDescTrk, ep, action, pos );
+ break;
case 1:
- return CompoundDescriptionMove( trk, action, pos );
+ rc = CompoundDescriptionMove( moveDescTrk, action, pos );
+ break;
case 2:
- return CurveDescriptionMove( trk, action, pos );
+ rc = CurveDescriptionMove( moveDescTrk, action, pos );
+ break;
case 3:
- return CornuDescriptionMove( trk, action, pos );
+ rc = CornuDescriptionMove( moveDescTrk, action, pos );
+ break;
case 4:
- return BezierDescriptionMove( trk, action, pos );
+ rc = BezierDescriptionMove( moveDescTrk, action, pos );
+ break;
+ case 5:
+ rc = StraightDescriptionMove( moveDescTrk, action, pos);
+ break;
+ case 6:
+ rc = JointDescriptionMove( moveDescTrk, action, pos);
+ break;
}
hidden = FALSE;
if ( action == C_UP ) {
- trk = NULL;
+ moveDescTrk = NULL;
InfoMessage(_("To Hide, use Context Menu"));
+ return C_TERMINATE;
+ }
+ break;
+ case C_REDRAW:
+ if ( labelWhen < 2 || mainD.scale > labelScale )
+ return C_CONTINUE;
+ if ( moveDescTrk ) {
+ if (mode==0) {
+ DrawEndPt2( &tempD, moveDescTrk, ep, drawColorPreviewSelected );
+ } else {
+ if (hidden) {
+ DrawTrack( moveDescTrk,&tempD,wDrawColorAqua);
+ } else {
+ DrawTrack( moveDescTrk,&tempD,drawColorPreviewSelected);
+ }
+ }
}
break;
-
case C_CMDMENU:
- if (trk == NULL) {
- moveDescTrk = OnTrack( &pos, TRUE, FALSE );
+ if (moveDescTrk != NULL && mode !=0) {
+ if ( GetLayerFrozen( GetTrkLayer( moveDescTrk ) ) ) {
+ moveDescTrk = NULL;
+ break;
+ }
moveDescPos = pos;
} else {
- moveDescTrk = trk;
moveDescPos = pos;
}
if ( moveDescTrk == NULL ) break;
@@ -2470,8 +2767,10 @@ STATUS_T CmdMoveDescription(
if ( moveDescM == NULL ) {
moveDescM = MenuRegister( "Move Desc Toggle" );
moveDescMI = wMenuToggleCreate( moveDescM, "", _("Show/Hide Description"), 0, TRUE, ChangeDescFlag, NULL );
+ moveDetailDescMI = wMenuToggleCreate( moveDescM, "", _("Toggle Detailed Description"), 0, TRUE, ChangeDetailedFlag, NULL );
}
- wMenuToggleSet( moveDescMI, ( GetTrkBits( moveDescTrk ) & TB_HIDEDESC ) == 0 );
+ wMenuToggleSet( moveDescMI, !( GetTrkBits( moveDescTrk ) & TB_HIDEDESC ) );
+ wMenuToggleSet( moveDetailDescMI, ( GetTrkBits( moveDescTrk ) & TB_DETAILDESC ) );
menuPos = pos;
wMenuPopupShow( moveDescM );
break;
@@ -2572,6 +2871,8 @@ static STATUS_T CmdFlip(
case C_CANCEL:
#endif
case C_REDRAW:
+ DrawHighlightBoxes(FALSE,FALSE,NULL);
+ HighlightSelectedTracks(NULL, TRUE, TRUE);
if ( state == 0 )
return C_CONTINUE;
DrawLine( &tempD, pos0, pos1, 0, wDrawColorBlack );
@@ -2654,7 +2955,9 @@ static BOOL_T SelectArea(
lo.x >= base.x && hi.x <= base.x+size.x &&
lo.y >= base.y && hi.y <= base.y+size.y) {
if ( (GetTrkSelected( trk )==0) == (action==C_UP) ) {
- if (GetLayerModule(GetTrkLayer(trk))) {
+ if (GetLayerFrozen(GetTrkLayer(trk))) {
+ continue;
+ } else if (GetLayerModule(GetTrkLayer(trk))) {
if (add)
DoModuleTracks(GetTrkLayer(trk),SelectOneTrack,TRUE);
else
@@ -2693,12 +2996,14 @@ static BOOL_T SelectArea(
break;
//Draw to-be selected tracks versus not.
trk = NULL;
- if (selectMode == 0 && add) HighlightSelectedTracks(NULL, TRUE, TRUE);
+ if (selectMode == 1 && add) HighlightSelectedTracks(NULL, TRUE, TRUE);
while ( TrackIterate( &trk ) ) {
GetBoundingBox( trk, &hi, &lo );
if (GetLayerVisible( GetTrkLayer( trk ) ) &&
lo.x >= base.x && hi.x <= base.x+size.x &&
lo.y >= base.y && hi.y <= base.y+size.y) {
+ if (GetLayerFrozen(GetTrkLayer(trk)))
+ continue;
if (GetLayerModule(GetTrkLayer(trk))) {
if (add)
DoModuleTracks(GetTrkLayer(trk),DrawSingleTrack,TRUE);
@@ -2745,6 +3050,13 @@ static STATUS_T SelectTrack(
return C_CONTINUE;
}
if (trk == NULL) return C_CONTINUE;
+ if (!CheckTrackLayerSilent( trk ) ) {
+ if (GetLayerFrozen(GetTrkLayer(trk)) ) {
+ trk = NULL;
+ InfoMessage(_("Track is in Frozen Layer"));
+ return C_CONTINUE;
+ }
+ }
inDescribeCmd = FALSE;
DescribeTrack( trk, msg, sizeof msg );
InfoMessage( msg );
@@ -2830,12 +3142,11 @@ void DrawHighlightBoxes(BOOL_T highlight_selected, BOOL_T select, track_p not_th
coOrd size;
size.x = max.x-origin.x;
size.y = max.y-origin.y;
- wPos_t w,h;
- w = (wPos_t)((size.x/mainD.scale)*mainD.dpi+0.5+10);
- h = (wPos_t)((size.y/mainD.scale)*mainD.dpi+0.5+10);
- wPos_t x, y;
- tempD.CoOrd2Pix(&tempD,origin,&x,&y);
- wDrawFilledRectangle(tempD.d, x-5, y-5, w, h, wDrawColorPowderedBlue, wDrawOptTemp|wDrawOptTransparent);
+ origin.x -= 5*tempD.scale/tempD.dpi;
+ origin.y -= 5*tempD.scale/tempD.dpi;
+ size.x += 10*tempD.scale/tempD.dpi;
+ size.y += 10*tempD.scale/tempD.dpi;
+ DrawRectangle( &tempD, origin, size, wDrawColorPowderedBlue, DRAW_TRANSPARENT );
}
}
@@ -2853,7 +3164,7 @@ static STATUS_T CallDescribe(wAction_t action, coOrd pos) {
return rc;
}
-static void CallPushDescribe(void * func) {
+static void CallPushDescribe(void * unused) {
if (moveDescTrk) {
CallDescribe(C_START, moveDescPos);
CallDescribe(C_DOWN, moveDescPos);
@@ -2864,7 +3175,7 @@ static void CallPushDescribe(void * func) {
static STATUS_T CmdSelect(wAction_t,coOrd);
-static void CallPushModify(void * func) {
+static void CallPushModify(void * unused) {
if (moveDescTrk) {
CmdSelect(C_LDOUBLE, moveDescPos);
}
@@ -2900,7 +3211,6 @@ static STATUS_T CmdSelect(
}
}
-
switch (action&0xFF) {
case C_START:
InfoMessage( _("Select track") );
@@ -2949,13 +3259,14 @@ static STATUS_T CmdSelect(
CreateModifyAnchor(pos);
showMode = SHOWMODIFY;
} else {
- if (QueryTrack(ht,Q_IS_ACTIVATEABLE))
+ if (QueryTrack(ht,Q_IS_ACTIVATEABLE)) {
CreateActivateAnchor(pos);
showMode = SHOWACTIVATE;
+ } else wSetCursor(mainD.d,defaultCursor);
}
- }
- }
- }
+ } else wSetCursor(mainD.d,defaultCursor);
+ } else wSetCursor(mainD.d,defaultCursor);
+ } else wSetCursor(mainD.d,defaultCursor);
break;
case C_DOWN:
@@ -2965,7 +3276,6 @@ static STATUS_T CmdSelect(
}
DYNARR_RESET(trkSeg_t,anchors_da);
switch (mode) {
- rc = C_CONTINUE;
case MOVE:
if (SelectedTracksAreFrozen() || (selectedTrackCount==0)) {
rc = C_TERMINATE;
@@ -2973,7 +3283,7 @@ static STATUS_T CmdSelect(
} else if ((MyGetKeyState()&(WKEY_CTRL|WKEY_SHIFT))==WKEY_CTRL) {
doingRotate = TRUE;
doingMove = FALSE;
- RotateAlign( FALSE );
+ RotateAlign( I2VP(FALSE) );
rc = CmdRotate( action, pos );
} else if ((MyGetKeyState()&(WKEY_SHIFT|WKEY_CTRL))==WKEY_SHIFT) {
doingMove = TRUE;
@@ -2992,6 +3302,11 @@ static STATUS_T CmdSelect(
return rc;
break;
case wActionExtKey:
+ if ((action>>8)==wAccelKey_Del) {
+ SelectDelete();
+ break;
+ }
+ /* No Break */
case C_RMOVE:
case C_MOVE:
if (doingDouble) {
@@ -3010,7 +3325,7 @@ static STATUS_T CmdSelect(
doingMove = FALSE;
doingRotate = FALSE;
} else if (doingRotate == TRUE) {
- RotateAlign( FALSE );
+ RotateAlign( I2VP(FALSE) );
rc = CmdRotate( action, pos );
} else if (doingMove == TRUE) {
rc = CmdMove( action, pos );
@@ -3040,7 +3355,7 @@ static STATUS_T CmdSelect(
doingMove = FALSE;
doingRotate = FALSE;
} else if (doingRotate == TRUE) {
- RotateAlign( FALSE );
+ RotateAlign( I2VP(FALSE) );
rc = CmdRotate( action, pos );
} else if (doingMove == TRUE) {
rc = CmdMove( action, pos );
@@ -3061,6 +3376,11 @@ static STATUS_T CmdSelect(
break;
case C_REDRAW:
+ if ( trk != NULL && IsTrackDeleted(trk) ) {
+ // If the track is deleted, then trk should be cleared
+ // TODO: This should be done at the point trk is deleted
+ trk = NULL;
+ }
if (doingDouble) {
return CallModify(action,pos);
}
@@ -3097,20 +3417,26 @@ static STATUS_T CmdSelect(
DrawHighlightBoxes(FALSE, FALSE, trk);
// If not on a track, show all tracks as going to be de-selected if selectZero on
- if (!trk && selectZero ) {
- HighlightSelectedTracks(NULL, TRUE, TRUE);
- //Handle the SHIFT+ which means SelectAllConnected case
- } else if ( trk && !IsTrackDeleted(trk)) {
+ if (!trk) {
+ if ( selectZero ) {
+ HighlightSelectedTracks(NULL, FALSE, TRUE);
+ } else {
+ HighlightSelectedTracks(trk, TRUE, FALSE);
+ }
+ } else {
+ //Handle the SHIFT+ which means SelectAllConnected case
if ((MyGetKeyState() & WKEY_SHIFT) )
SelectConnectedTracks(trk, TRUE); //Highlight all connected
//Normal case - handle track we are hovering over
- else {
+ else {
//Select=Add
if (selectMode == 1) {
if ((MyGetKeyState() & (WKEY_CTRL|WKEY_SHIFT)) == WKEY_CTRL) {
- //Only Highlight if adding
+ //Only Highlight if adding otherwise show already selected
if (!GetTrkSelected(trk))
DrawTrack(trk,&tempD,wDrawColorPreviewSelected);
+ else
+ DrawTrack(trk,&tempD,selectedColor);
} else {
if (GetTrkSelected(trk))
DrawTrack(trk,&tempD,wDrawColorPreviewUnselected); //Toggle
@@ -3128,6 +3454,8 @@ static STATUS_T CmdSelect(
//Only Highlight if adding
if (!GetTrkSelected(trk))
DrawTrack(trk,&tempD,wDrawColorPreviewSelected );
+ else
+ DrawTrack(trk,&tempD,selectedColor);
}
}
}
@@ -3138,20 +3466,19 @@ static STATUS_T CmdSelect(
else
DoModuleTracks(GetTrkLayer(trk),DrawSingleTrack,TRUE);
DrawHighlightLayer(GetTrkLayer(trk));
+ }
+ //Select=Add
+ if (selectMode == 1) {
+ if (((MyGetKeyState() & (WKEY_CTRL|WKEY_SHIFT)) == WKEY_CTRL))
+ HighlightSelectedTracks(trk, FALSE, TRUE);
+ else
+ HighlightSelectedTracks(trk, TRUE, FALSE); // Highlight all others selected
+ //Select=Only
} else {
- //Select=Add
- if (selectMode == 1) {
- if (((MyGetKeyState() & (WKEY_CTRL|WKEY_SHIFT)) == WKEY_CTRL))
- HighlightSelectedTracks(trk, TRUE, TRUE);
- //else
- // HighlightSelectedTracks(trk, TRUE, FALSE); Highlight all selected
- //Select=Only
- } else {
- if (((MyGetKeyState() & (WKEY_CTRL|WKEY_SHIFT)) != WKEY_CTRL))
- HighlightSelectedTracks(trk, TRUE, TRUE);
- //else
- // HighlightSelectedTracks(trk, TRUE, TRUE); Highlight all selected
- }
+ if (((MyGetKeyState() & (WKEY_CTRL|WKEY_SHIFT)) != WKEY_CTRL))
+ HighlightSelectedTracks(trk, FALSE, TRUE);
+ else
+ HighlightSelectedTracks(trk, TRUE, FALSE); // Highlight all others selected
}
}
//Finally add the anchors for any actions or snaps
@@ -3222,28 +3549,41 @@ static STATUS_T CmdSelect(
if (doingDouble) {
return CallModify(action,pos);
}
+ if ((action>>8) == 127 || (action>>8) == 8) { //Backspace or Delete key
+ SelectDelete();
+ break;
+ }
if ((action>>8) == 'c') {
panCenter = pos;
LOG( log_pan, 2, ( "PanCenter:Sel-%d %0.3f %0.3f\n", __LINE__, panCenter.x, panCenter.y ) );
- PanHere((void*)0);
+ PanHere(I2VP(0));
}
if ((action>>8) == 'e') {
DoZoomExtents(0);
}
if ((action>>8) == '0' || (action>>8 == 'o')) {
- PanMenuEnter('o');
+ PanMenuEnter(I2VP('o'));
}
if ((action>>8) == '?') {
if((moveDescTrk = OnTrack(&pos,FALSE,FALSE)) != NULL)
moveDescPos = pos;
- CallPushDescribe((void*)0);
+ CallPushDescribe(I2VP(0));
wSetCursor(mainD.d,defaultCursor);
moveDescTrk = NULL;
}
break;
+ case C_CONFIRM:
+ if (doingDouble)
+ return CallModify(action,pos);
+ return C_CONTINUE;
case C_FINISH:
+ if (doingDouble) {
+ CallModify(C_OK,pos);
+ CallModify(C_FINISH,pos);
+ }
if (doingMove) UndoEnd();
doingDouble = FALSE;
+ wSetCursor(mainD.d,defaultCursor);
break;
default:
if (doingDouble) return CallModify(action, pos);
@@ -3259,8 +3599,8 @@ static STATUS_T CmdSelect(
#include "bitmaps/bridge.xpm"
#include "bitmaps/move.xpm"
#include "bitmaps/rotate.xpm"
-#include "bitmaps/flip.xpm"
-#include "bitmaps/movedesc.xpm"
+#include "bitmaps/reflect.xpm"
+#include "bitmaps/description.xpm"
static void SetMoveMode( char * line )
@@ -3272,19 +3612,20 @@ static void SetMoveMode( char * line )
enableMoveDraw = ((tmp&0x10) == 0);
}
-static void moveDescription( void ) {
+static void moveDescription( void * unused ) {
if (!moveDescTrk) return;
int hidden = GetTrkBits( moveDescTrk) &TB_HIDEDESC ;
if (hidden)
ClrTrkBits( moveDescTrk, TB_HIDEDESC );
else
SetTrkBits( moveDescTrk, TB_HIDEDESC );
+ MainRedraw();
}
EXPORT void InitCmdSelect( wMenu_p menu )
{
- selectCmdInx = AddMenuButton( menu, CmdSelect, "cmdSelect", _("Select"), wIconCreatePixMap(select_xpm),
+ selectCmdInx = AddMenuButton( menu, CmdSelect, "cmdSelect", _("Select"), wIconCreatePixMap(select_xpm[iconSize]),
LEVEL0, IC_CANCEL|IC_POPUP|IC_LCLICK|IC_CMDMENU|IC_WANT_MOVE|IC_WANT_MODKEYS, ACCL_SELECT, NULL );
}
@@ -3303,68 +3644,72 @@ EXPORT void InitCmdSelect2( wMenu_p menu ) {
if (moveMode > MAXMOVEMODE || moveMode < 0)
moveMode = MAXMOVEMODE;
selectPopup1M = MenuRegister( "Select Mode Menu" );
- wMenuPushCreate(selectPopup1M, "", _("Undo"), 0,(wMenuCallBack_p) UndoUndo, (void *) 0);
- wMenuPushCreate(selectPopup1M, "", _("Redo"), 0,(wMenuCallBack_p) UndoRedo, (void *) 0);
+ wMenuPushCreate(selectPopup1M, "", _("Undo"), 0, UndoUndo, NULL);
+ wMenuPushCreate(selectPopup1M, "", _("Redo"), 0, UndoRedo, NULL);
wMenuSeparatorCreate( selectPopup1M );
- wMenuPushCreate(selectPopup1M, "cmdDescribeMode", GetBalloonHelpStr("cmdModifyMode"), 0, DoCommandB, (void*) (intptr_t) modifyCmdInx);
- wMenuPushCreate(selectPopup1M, "cmdPanMode", GetBalloonHelpStr("cmdPanMode"), 0, DoCommandB, (void*) (intptr_t) panCmdInx);
- wMenuPushCreate(selectPopup1M, "cmdTrainMode", GetBalloonHelpStr("cmdTrainMode"), 0, DoCommandB, (void*) (intptr_t) trainCmdInx);
+ wMenuPushCreate(selectPopup1M, "cmdDescribeMode", GetBalloonHelpStr("cmdModifyMode"), 0, DoCommandB, I2VP(modifyCmdInx));
+ wMenuPushCreate(selectPopup1M, "cmdPanMode", GetBalloonHelpStr("cmdPanMode"), 0, DoCommandB, I2VP(panCmdInx));
+ wMenuPushCreate(selectPopup1M, "cmdTrainMode", GetBalloonHelpStr("cmdTrainMode"), 0, DoCommandB, I2VP(trainCmdInx));
wMenuSeparatorCreate( selectPopup1M );
- wMenuPushCreate(selectPopup1M, "", _("Zoom In"), 0,(wMenuCallBack_p) DoZoomUp, (void*) 1);
- wMenuPushCreate( selectPopup1M, "", _("Zoom to extents - 'e'"), 0, (wMenuCallBack_p)DoZoomExtents, (void*) 0);
+ wMenuPushCreate(selectPopup1M, "", _("Zoom In"), 0, DoZoomUp, I2VP(1));
+ wMenuPushCreate( selectPopup1M, "", _("Zoom to extents - 'e'"), 0, DoZoomExtents, I2VP(0) );
wMenu_p zoomPop1 = wMenuMenuCreate(selectPopup1M, "", _("&Zoom"));
InitCmdZoom(NULL, NULL, zoomPop1, NULL);
- wMenuPushCreate(selectPopup1M, "", _("Zoom Out"), 0, (wMenuCallBack_p) DoZoomDown, (void*) 1);
- wMenuPushCreate(selectPopup1M, "", _("Pan to Origin - 'o'/'0'"), 0, (wMenuCallBack_p) PanMenuEnter, (void*) 'o');
- wMenuPushCreate(selectPopup1M, "", _("Pan Center Here - 'c'"), 0, (wMenuCallBack_p) PanHere, (void*) 3);
+ wMenuPushCreate(selectPopup1M, "", _("Zoom Out"), 0, DoZoomDown, I2VP(1));
+ wMenuPushCreate(selectPopup1M, "", _("Pan to Origin - 'o'/'0'"), 0, PanMenuEnter, I2VP( 'o'));
+ wMenuPushCreate(selectPopup1M, "", _("Pan Center Here - 'c'"), 0, PanHere, I2VP( 3));
wMenuSeparatorCreate( selectPopup1M );
- wMenuPushCreate(selectPopup1M, "", _("Select All"), 0,(wMenuCallBack_p) SetAllTrackSelect, (void *) 1);
- wMenuPushCreate(selectPopup1M, "",_("Select Current Layer"), 0,(wMenuCallBack_p) SelectCurrentLayer, (void *) 0);
+ wMenuPushCreate(selectPopup1M, "", _("Select All"), 0,(wMenuCallBack_p) SetAllTrackSelect, I2VP( 1));
+ wMenuPushCreate(selectPopup1M, "",_("Select Current Layer"), 0, SelectCurrentLayer, I2VP( 0));
+ AddIndexMenu( selectPopup1M, SelectByIndex);
wMenuSeparatorCreate( selectPopup1M );
selectPopup2M = MenuRegister( "Track Selected Menu " );
- wMenuPushCreate(selectPopup2M, "", _("Undo"), 0,(wMenuCallBack_p) UndoUndo, (void *) 0);
- wMenuPushCreate(selectPopup2M, "", _("Redo"), 0,(wMenuCallBack_p) UndoRedo, (void *) 0);
+ wMenuPushCreate(selectPopup2M, "", _("Undo"), 0, UndoUndo , NULL);
+ wMenuPushCreate(selectPopup2M, "", _("Redo"), 0, UndoRedo , NULL);
wMenuSeparatorCreate( selectPopup2M );
- wMenuPushCreate(selectPopup2M, "", _("Zoom In"), 0,(wMenuCallBack_p) DoZoomUp, (void*) 1);
- wMenuPushCreate(selectPopup2M, "", _("Zoom Out"), 0, (wMenuCallBack_p) DoZoomDown, (void*) 1);
- wMenuPushCreate(selectPopup2M, "", _("Pan Center Here - 'c'"), 0, (wMenuCallBack_p) PanHere, (void*) 3);
+ wMenuPushCreate(selectPopup2M, "", _("Zoom In"), 0, DoZoomUp, I2VP( 1));
+ wMenuPushCreate(selectPopup2M, "", _("Zoom Out"), 0, DoZoomDown, I2VP( 1));
+ wMenuPushCreate( selectPopup2M, "", _("Zoom to extents - 'e'"), 0, DoZoomExtents, I2VP( 0));
+ wMenuPushCreate( selectPopup2M, "", _("Zoom to selected - 's'"), 0, DoZoomExtents, I2VP( 1));
+ wMenuPushCreate(selectPopup2M, "", _("Pan Center Here - 'c'"), 0, PanHere, I2VP( 3));
wMenuSeparatorCreate( selectPopup2M );
- wMenuPushCreate(selectPopup2M, "", _("Deselect All"), 0, (wMenuCallBack_p) SetAllTrackSelect, (void *) 0);
+ AddIndexMenu( selectPopup2M, SelectByIndex);
+ wMenuPushCreate(selectPopup2M, "", _("Deselect All"), 0, (wMenuCallBack_p) SetAllTrackSelect, I2VP( 0));
wMenuSeparatorCreate( selectPopup2M );
- wMenuPushCreate(selectPopup2M, "", _("Properties -'?'"), 0,(wMenuCallBack_p) CallPushDescribe, (void*)0);
- menuPushModify = wMenuPushCreate(selectPopup2M, "", _("Modify/Activate Track"), 0,(wMenuCallBack_p) CallPushModify, (void*)0);
+ wMenuPushCreate(selectPopup2M, "", _("Properties -'?'"), 0, CallPushDescribe, I2VP(0));
+ menuPushModify = wMenuPushCreate(selectPopup2M, "", _("Modify/Activate Track"), 0, CallPushModify, I2VP(0));
wMenuSeparatorCreate( selectPopup2M );
- wMenuPushCreate(selectPopup2M, "", _("Cut"), 0,(wMenuCallBack_p) EditCut, (void *) 0);
- wMenuPushCreate(selectPopup2M, "", _("Copy"), 0,(wMenuCallBack_p) EditCopy, (void *) 0);
- wMenuPushCreate(selectPopup2M, "", _("Paste"), 0, (wMenuCallBack_p) EditPaste, (void *) 0);
- wMenuPushCreate(selectPopup2M, "", _("Clone"), 0, (wMenuCallBack_p) EditClone, (void *) 0);
+ wMenuPushCreate(selectPopup2M, "", _("Cut"), 0, EditCut, I2VP( 0));
+ wMenuPushCreate(selectPopup2M, "", _("Copy"), 0, EditCopy, I2VP( 0));
+ wMenuPushCreate(selectPopup2M, "", _("Paste"), 0, EditPaste, I2VP( 0));
+ wMenuPushCreate(selectPopup2M, "", _("Clone"), 0, EditClone, I2VP( 0));
AddMoveMenu( selectPopup2M, QuickMove);
selectPopup2RM = wMenuMenuCreate(selectPopup2M, "", _("Rotate..."));
AddRotateMenu( selectPopup2RM, QuickRotate );
- rotateAlignMI = wMenuPushCreate( selectPopup2RM, "", _("Align"), 0, (wMenuCallBack_p)RotateAlign, (void* ) 1 );
+ rotateAlignMI = wMenuPushCreate( selectPopup2RM, "", _("Align"), 0, RotateAlign, I2VP(1) );
wMenuSeparatorCreate( selectPopup2M );
- descriptionMI = wMenuPushCreate(selectPopup2M, "cmdMoveLabel", _("Show/Hide Description"), 0, (wMenuCallBack_p)moveDescription, (void*) 0);
+ descriptionMI = wMenuPushCreate(selectPopup2M, "cmdMoveLabel", _("Show/Hide Description"), 0, moveDescription, I2VP(0));
wMenuSeparatorCreate( selectPopup2M );
- hideMI = wMenuPushCreate(selectPopup2M, "", _("Hide/NoHide"), 0,(wMenuCallBack_p) SelectTunnel, (void *) 0);
- bridgeMI = wMenuPushCreate(selectPopup2M, "", _("Bridge/NoBridge"), 0,(wMenuCallBack_p) SelectBridge, (void *) 0);
- tiesMI = wMenuPushCreate(selectPopup2M, "", _("NoTies/Ties"), 0,(wMenuCallBack_p) SelectTies, (void *) 0);
+ hideMI = wMenuPushCreate(selectPopup2M, "", _("Hide/NoHide"), 0, SelectTunnel, I2VP( 0));
+ bridgeMI = wMenuPushCreate(selectPopup2M, "", _("Bridge/NoBridge"), 0, SelectBridge, I2VP( 0));
+ tiesMI = wMenuPushCreate(selectPopup2M, "", _("NoTies/Ties"), 0, SelectTies, I2VP( 0));
selectPopup2TM = wMenuMenuCreate(selectPopup2M, "", _("Thickness..."));
- wMenuPushCreate( selectPopup2TM, "", _("Thin Tracks"), 0, (void*)(wMenuCallBack_p)SelectTrackWidth, (void *)0 );
- wMenuPushCreate( selectPopup2TM, "", _("Medium Tracks"), 0, (void*)(wMenuCallBack_p)SelectTrackWidth, (void *)2 );
- wMenuPushCreate( selectPopup2TM, "", _("Thick Tracks"), 0, (void*)(wMenuCallBack_p)SelectTrackWidth, (void *)3 );
+ wMenuPushCreate( selectPopup2TM, "", _("Thin Tracks"), 0, SelectTrackWidth, I2VP(0 ));
+ wMenuPushCreate( selectPopup2TM, "", _("Medium Tracks"), 0, SelectTrackWidth, I2VP(2 ));
+ wMenuPushCreate( selectPopup2TM, "", _("Thick Tracks"), 0, SelectTrackWidth, I2VP(3 ));
selectPopup2TYM = wMenuMenuCreate( selectPopup2M, "", _("LineType...") );
- wMenuPushCreate( selectPopup2TYM, "", _("Solid Line"), 0, (wMenuCallBack_p)SelectLineType, (void*)0 );
- wMenuPushCreate( selectPopup2TYM, "", _("Dashed Line"), 0, (wMenuCallBack_p)SelectLineType, (void*)1 );
- wMenuPushCreate( selectPopup2TYM, "", _("Dotted Line"), 0, (wMenuCallBack_p)SelectLineType, (void*)2 );
- wMenuPushCreate( selectPopup2TYM, "", _("Dash-Dotted Line"), 0, (wMenuCallBack_p)SelectLineType, (void*)3 );
- wMenuPushCreate( selectPopup2TYM, "", _("Dash-Dot-Dotted Line"), 0, (wMenuCallBack_p)SelectLineType, (void*)4 );
+ wMenuPushCreate( selectPopup2TYM, "", _("Solid Line"), 0, SelectLineType, I2VP(0 ));
+ wMenuPushCreate( selectPopup2TYM, "", _("Dashed Line"), 0, SelectLineType, I2VP(1 ));
+ wMenuPushCreate( selectPopup2TYM, "", _("Dotted Line"), 0, SelectLineType, I2VP(2 ));
+ wMenuPushCreate( selectPopup2TYM, "", _("Dash-Dotted Line"), 0, SelectLineType, I2VP(3 ));
+ wMenuPushCreate( selectPopup2TYM, "", _("Dash-Dot-Dotted Line"), 0, SelectLineType, I2VP(4 ));
wMenuSeparatorCreate( selectPopup2M );
- wMenuPushCreate(selectPopup2M, "", _("Move To Front"), 0,(wMenuCallBack_p) SelectAbove,(void *) 0);
- wMenuPushCreate(selectPopup2M, "", _("Move To Back"), 0,(wMenuCallBack_p) SelectBelow, (void *) 0);
+ wMenuPushCreate(selectPopup2M, "", _("Move To Front"), 0, SelectAbove,I2VP( 0));
+ wMenuPushCreate(selectPopup2M, "", _("Move To Back"), 0, SelectBelow, I2VP( 0));
wMenuSeparatorCreate( selectPopup2M );
- wMenuPushCreate(selectPopup2M, "", _("Group"), 0,(wMenuCallBack_p) DoGroup, (void *) 0);
- wMenuPushCreate(selectPopup2M, "", _("UnGroup"), 0,(wMenuCallBack_p) DoUngroup, (void *) 0);
+ wMenuPushCreate(selectPopup2M, "", _("Group"), 0, DoGroup, I2VP( 0));
+ wMenuPushCreate(selectPopup2M, "", _("UnGroup"), 0, DoUngroup, I2VP( 0));
wMenuSeparatorCreate( selectPopup2M );
ParamRegister( &rescalePG );
@@ -3375,41 +3720,38 @@ EXPORT void InitCmdSelect2( wMenu_p menu ) {
EXPORT void InitCmdDelete( void )
{
wIcon_p icon;
- icon = wIconCreatePixMap( delete_xpm );
+ icon = wIconCreatePixMap( delete_xpm[iconSize] );
AddToolbarButton( "cmdDelete", icon, IC_SELECTED, (wButtonCallBack_p)SelectDelete, 0 );
-#ifdef WINDOWS
- wAttachAccelKey( wAccelKey_Del, 0, (wAccelKeyCallBack_p)SelectDelete, NULL );
-#endif
}
EXPORT void InitCmdTunnel( void )
{
wIcon_p icon;
- icon = wIconCreatePixMap( tunnel_xpm );
- AddToolbarButton( "cmdTunnel", icon, IC_SELECTED|IC_POPUP, (addButtonCallBack_t)SelectTunnel, NULL );
+ icon = wIconCreatePixMap( tunnel_xpm[iconSize] );
+ AddToolbarButton( "cmdTunnel", icon, IC_SELECTED|IC_POPUP, SelectTunnel, NULL );
}
EXPORT void InitCmdBridge( void)
{
wIcon_p icon;
- icon = wIconCreatePixMap( bridge_xpm );
- AddToolbarButton( "cmdBridge", icon, IC_SELECTED|IC_POPUP, (addButtonCallBack_t)SelectBridge, NULL );
+ icon = wIconCreatePixMap( bridge_xpm[iconSize] );
+ AddToolbarButton( "cmdBridge", icon, IC_SELECTED|IC_POPUP, SelectBridge, NULL );
}
EXPORT void InitCmdMoveDescription( wMenu_p menu )
{
- AddMenuButton( menu, CmdMoveDescription, "cmdMoveLabel", _("Move Description"), wIconCreatePixMap(movedesc_xpm),
- LEVEL0, IC_STICKY|IC_POPUP3|IC_CMDMENU|IC_WANT_MOVE, ACCL_MOVEDESC, (void*) 0 );
+ AddMenuButton( menu, CmdMoveDescription, "cmdMoveLabel", _("Move Description"), wIconCreatePixMap(description_xpm[iconSize]),
+ LEVEL0, IC_STICKY|IC_POPUP3|IC_CMDMENU|IC_WANT_MOVE, ACCL_MOVEDESC, I2VP( 0 ));
}
EXPORT void InitCmdMove( wMenu_p menu )
{
- moveCmdInx = AddMenuButton( menu, CmdMove, "cmdMove", _("Move"), wIconCreatePixMap(move_xpm),
+ moveCmdInx = AddMenuButton( menu, CmdMove, "cmdMove", _("Move"), wIconCreatePixMap(move_xpm[iconSize]),
LEVEL0, IC_STICKY|IC_SELECTED|IC_CMDMENU|IC_WANT_MOVE, ACCL_MOVE, NULL );
- rotateCmdInx = AddMenuButton( menu, CmdRotate, "cmdRotate", _("Rotate"), wIconCreatePixMap(rotate_xpm),
+ rotateCmdInx = AddMenuButton( menu, CmdRotate, "cmdRotate", _("Rotate"), wIconCreatePixMap(rotate_xpm[iconSize]),
LEVEL0, IC_STICKY|IC_SELECTED|IC_CMDMENU|IC_WANT_MOVE, ACCL_ROTATE, NULL );
- /*flipCmdInx =*/ AddMenuButton( menu, CmdFlip, "cmdFlip", _("Flip"), wIconCreatePixMap(flip_xpm),
+ flipCmdInx = AddMenuButton( menu, CmdFlip, "cmdFlip", _("Flip"), wIconCreatePixMap(reflect_xpm[iconSize]),
LEVEL0, IC_STICKY|IC_SELECTED|IC_CMDMENU, ACCL_FLIP, NULL );
}
diff --git a/app/bin/cselect.h b/app/bin/cselect.h
index a9913bf..0f36cfd 100644
--- a/app/bin/cselect.h
+++ b/app/bin/cselect.h
@@ -23,7 +23,8 @@
#define CSELECT_H
#include "common.h"
-#include "track.h"
+
+#define defaultCursor wCursorCross
extern wIndex_t selectCmdInx;
extern wIndex_t moveCmdInx;
@@ -31,24 +32,28 @@ extern wIndex_t rotateCmdInx;
extern int incrementalDrawLimit;
extern long selectedTrackCount;
-void InvertTrackSelect( void * );
-void OrphanedTrackSelect( void * );
+void InvertTrackSelect( void * unused );
+void OrphanedTrackSelect( void * unused );
void SetAllTrackSelect( BOOL_T );
-void SelectTunnel( void );
-void SelectBridge( void );
-void SelectTies( void );
+void SelectTunnel( void * unused );
+void SelectBridge( void * unused );
+void SelectTies( void * unused );
void SelectRecount( void );
void SelectTrackWidth( void* );
-void SelectDelete( void );
+int SelectDelete( void );
+void TrySelectDelete( void );
void MoveToJoin( track_p, EPINX_T, track_p, EPINX_T );
-void MoveSelectedTracksToCurrentLayer( void );
-void SelectCurrentLayer( void );
-void ClearElevations( void );
+void MoveSelectedTracksToCurrentLayer( void * unused );
+void SelectCurrentLayer( void * unused );
+void DeselectLayer( unsigned int );
+void SelectByIndex( void* string);
+void ClearElevations( void * unused );
void AddElevations( DIST_T );
-void DoRefreshCompound( void );
+void DoRefreshCompound( void * unused );
void WriteSelectedTracksToTempSegs( void );
-void DoRescale( void );
+void DoRescale( void *unused );
STATUS_T CmdMoveDescription( wAction_t, coOrd );
void DrawHighlightBoxes(BOOL_T, BOOL_T,track_p);
+void HighlightSelectedTracks(track_p trk_ignore, BOOL_T keep, BOOL_T invert );
#endif
diff --git a/app/bin/csensor.c b/app/bin/csensor.c
index 4f395c2..b6f2224 100644
--- a/app/bin/csensor.c
+++ b/app/bin/csensor.c
@@ -46,23 +46,19 @@
static const char rcsid[] = "@(#) : $Id$";
-#include <ctype.h>
-#include <string.h>
-
#include "compound.h"
+#include "cselect.h"
#include "cundo.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
#include "param.h"
#include "track.h"
#include "trackx.h"
-#ifdef WINDOWS
+#include "common-ui.h"
+#ifdef UTFCONVERT
#include "include/utf8convert.h"
-#endif // WINDOWS
-#include "utility.h"
-#include "messages.h"
+#endif // UTFCONVERT
EXPORT TRKTYP_T T_SENSOR = -1;
@@ -84,6 +80,7 @@ static char sensorScript[STR_LONG_SIZE];
#endif
typedef struct sensorData_t {
+ extraDataBase_t base;
coOrd orig;
BOOL_T IsHilite;
char * name;
@@ -92,7 +89,7 @@ typedef struct sensorData_t {
static sensorData_p GetsensorData ( track_p trk )
{
- return (sensorData_p) GetTrkExtraData(trk);
+ return GET_EXTRA_DATA( trk, T_SENSOR, sensorData_t );
}
#define RADIUS 6
@@ -275,9 +272,9 @@ static BOOL_T WriteSensor ( track_p t, FILE * f )
sensorData_p xx = GetsensorData(t);
char *sensorName = MyStrdup(xx->name);
-#ifdef WINDOWS
+#ifdef UTFCONVERT
sensorName = Convert2UTF8(sensorName);
-#endif // WINDOWS
+#endif // UTFCONVERT
rc &= fprintf(f, "SENSOR %d %u %s %d %0.6f %0.6f \"%s\" \"%s\"\n",
GetTrkIndex(t), GetTrkLayer(t), GetTrkScaleName(t),
@@ -305,9 +302,9 @@ static BOOL_T ReadSensor ( char * line )
return FALSE;
}
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem(name);
-#endif // WINDOWS
+#endif // UTFCONVERT
trk = NewTrack(index, T_SENSOR, 0, sizeof(sensorData_t));
SetTrkVisible(trk, visible);
@@ -386,16 +383,16 @@ static char sensorEditScript[STR_LONG_SIZE];
static paramFloatRange_t r_1000_1000 = { -1000.0, 1000.0, 80 };
static paramData_t sensorEditPLs[] = {
#define I_SENSORNAME (0)
- /*0*/ { PD_STRING, sensorEditName, "name", PDO_NOPREF|PDO_STRINGLIMITLENGTH, (void*)200, N_("Name"), 0, 0, sizeof(sensorEditName)},
+ /*0*/ { PD_STRING, sensorEditName, "name", PDO_NOPREF|PDO_NOTBLANK, I2VP(200), N_("Name"), 0, 0, sizeof(sensorEditName)},
#define I_ORIGX (1)
- /*1*/ { PD_FLOAT, &sensorEditOrig.x, "origx", PDO_DIM, &r_1000_1000, N_("Orgin X") },
+ /*1*/ { PD_FLOAT, &sensorEditOrig.x, "origx", PDO_DIM, &r_1000_1000, N_("Origin X") },
#define I_ORIGY (2)
/*2*/ { PD_FLOAT, &sensorEditOrig.y, "origy", PDO_DIM, &r_1000_1000, N_("Origin Y") },
#define I_SENSORSCRIPT (3)
- /*3*/ { PD_STRING, sensorEditScript, "script", PDO_NOPREF|PDO_STRINGLIMITLENGTH, (void*)350, N_("Script"), 0, 0, sizeof(sensorEditScript)},
+ /*3*/ { PD_STRING, sensorEditScript, "script", PDO_NOPREF, I2VP(350), N_("Script"), 0, 0, sizeof(sensorEditScript)},
};
-static paramGroup_t sensorEditPG = { "sensorEdit", 0, sensorEditPLs, sizeof sensorEditPLs/sizeof sensorEditPLs[0] };
+static paramGroup_t sensorEditPG = { "sensorEdit", 0, sensorEditPLs, COUNT( sensorEditPLs ) };
static wWin_p sensorEditW;
static void SensorEditOk ( void * junk )
@@ -479,6 +476,7 @@ static STATUS_T CmdSensor ( wAction_t action, coOrd pos )
switch (action) {
case C_START:
InfoMessage(_("Place sensor"));
+ SetAllTrackSelect( FALSE );
create = FALSE;
return C_CONTINUE;
case C_DOWN:
@@ -509,13 +507,9 @@ static POS_T ctlhiliteBorder;
static wDrawColor ctlhiliteColor = 0;
static void DrawSensorTrackHilite( void )
{
- wPos_t x, y, w, h;
if (ctlhiliteColor==0)
ctlhiliteColor = wDrawColorGray(87);
- w = (wPos_t)((ctlhiliteSize.x/mainD.scale)*mainD.dpi+0.5);
- h = (wPos_t)((ctlhiliteSize.y/mainD.scale)*mainD.dpi+0.5);
- mainD.CoOrd2Pix(&mainD,ctlhiliteOrig,&x,&y);
- wDrawFilledRectangle( tempD.d, x, y, w, h, ctlhiliteColor, wDrawOptTemp|wDrawOptTransparent );
+ DrawRectangle( &tempD, ctlhiliteOrig, ctlhiliteSize, ctlhiliteColor, DRAW_TRANSPARENT );
}
static int SensorMgmProc ( int cmd, void * data )
@@ -580,12 +574,12 @@ EXPORT void SensorMgmLoad ( void )
static wIcon_p sensorI = NULL;
if (sensorI == NULL) {
- sensorI = wIconCreatePixMap( sensor_xpm );
+ sensorI = wIconCreatePixMap( sensor_xpm[iconSize] );
}
TRK_ITERATE(trk) {
if (GetTrkType(trk) != T_SENSOR) continue;
- ContMgmLoad (sensorI, SensorMgmProc, (void *) trk );
+ ContMgmLoad (sensorI, SensorMgmProc, trk );
}
}
@@ -594,7 +588,7 @@ EXPORT void SensorMgmLoad ( void )
EXPORT void InitCmdSensor ( wMenu_p menu )
{
AddMenuButton( menu, CmdSensor, "cmdSensor", _("Sensor"),
- wIconCreatePixMap( sensor_xpm ), LEVEL0_50, IC_STICKY|IC_POPUP2, ACCL_SENSOR, NULL );
+ wIconCreatePixMap( sensor_xpm[iconSize] ), LEVEL0_50, IC_STICKY|IC_POPUP2, ACCL_SENSOR, NULL );
}
EXPORT void InitTrkSensor ( void )
diff --git a/app/bin/csignal.c b/app/bin/csignal.c
index 0fc09e6..83609e1 100644
--- a/app/bin/csignal.c
+++ b/app/bin/csignal.c
@@ -47,23 +47,19 @@
static const char rcsid[] = "@(#) : $Id$";
-#include <ctype.h>
-#include <string.h>
-
#include "compound.h"
+#include "cselect.h"
#include "cundo.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
#include "param.h"
#include "track.h"
#include "trackx.h"
-#ifdef WINDOWS
+#include "common-ui.h"
+#ifdef UTFCONVERT
#include "include/utf8convert.h"
-#endif // WINDOWS
-#include "utility.h"
-#include "messages.h"
+#endif // UTFCONVERT
EXPORT TRKTYP_T T_SIGNAL = -1;
@@ -93,6 +89,7 @@ static dynArr_t signalAspect_da;
#define signalAspect(N) DYNARR_N( signalAspect_t, signalAspect_da, N )
typedef struct signalData_t {
+ extraDataBase_t base;
coOrd orig;
ANGLE_T angle;
char * name;
@@ -104,7 +101,7 @@ typedef struct signalData_t {
static signalData_p GetsignalData ( track_p trk )
{
- return (signalData_p) GetTrkExtraData(trk);
+ return GET_EXTRA_DATA( trk, T_SIGNAL, signalData_t );
}
#define BASEX 6
@@ -343,9 +340,9 @@ static BOOL_T WriteSignal ( track_p t, FILE * f )
signalData_p xx = GetsignalData(t);
char *signalName = MyStrdup(xx->name);
-#ifdef WINDOWS
+#ifdef UTFCONVERT
signalName = Convert2UTF8(signalName);
-#endif // WINDOWS
+#endif // UTFCONVERT
rc &= fprintf(f, "SIGNAL %d %u %s %d %0.6f %0.6f %0.6f %d \"%s\"\n",
GetTrkIndex(t), GetTrkLayer(t), GetTrkScaleName(t),
@@ -383,9 +380,9 @@ static BOOL_T ReadSignal ( char * line )
return FALSE;
}
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem(name);
-#endif // WINDOWS
+#endif // UTFCONVERT
DYNARR_RESET( signalAspect_p, signalAspect_da );
while ( (cp = GetNextLine()) != NULL ) {
@@ -494,7 +491,7 @@ static char signalAspectEditScript[STR_LONG_SIZE];
static long signalAspectEditIndex;
static paramIntegerRange_t r1_3 = {1, 3};
-static wPos_t aspectListWidths[] = { STR_SHORT_SIZE, 150 };
+static wWinPix_t aspectListWidths[] = { STR_SHORT_SIZE, 150 };
static const char * aspectListTitles[] = { N_("Name"), N_("Script") };
static paramListData_t aspectListData = {10, 400, 2, aspectListWidths, aspectListTitles};
@@ -506,9 +503,9 @@ static paramFloatRange_t r_1000_1000 = { -1000.0, 1000.0, 80 };
static paramFloatRange_t r0_360 = { 0.0, 360.0, 80 };
static paramData_t signalEditPLs[] = {
#define I_SIGNALNAME (0)
- /*0*/ { PD_STRING, signalEditName, "name", PDO_NOPREF|PDO_STRINGLIMITLENGTH, (void*)200, N_("Name"), 0, 0, sizeof(signalEditName)},
+ /*0*/ { PD_STRING, signalEditName, "name", PDO_NOPREF|PDO_NOTBLANK, I2VP(200), N_("Name"), 0, 0, sizeof(signalEditName)},
#define I_ORIGX (1)
- /*1*/ { PD_FLOAT, &signalEditOrig.x, "origx", PDO_DIM, &r_1000_1000, N_("Orgin X") },
+ /*1*/ { PD_FLOAT, &signalEditOrig.x, "origx", PDO_DIM, &r_1000_1000, N_("Origin X") },
#define I_ORIGY (2)
/*2*/ { PD_FLOAT, &signalEditOrig.y, "origy", PDO_DIM, &r_1000_1000, N_("Origin Y") },
#define I_ANGLE (3)
@@ -519,27 +516,27 @@ static paramData_t signalEditPLs[] = {
#define aspectSelL ((wList_p)signalEditPLs[I_SIGNALASPECTLIST].control)
/*5*/ { PD_LIST, NULL, "inx", PDO_DLGRESETMARGIN|PDO_DLGRESIZE, &aspectListData, NULL, BL_MANY },
#define I_SIGNALASPECTEDIT (6)
- /*6*/ { PD_BUTTON, (void*)AspectEdit, "edit", PDO_DLGCMDBUTTON, NULL, N_("Edit Aspect") },
+ /*6*/ { PD_BUTTON, AspectEdit, "edit", PDO_DLGCMDBUTTON, NULL, N_("Edit Aspect") },
#define I_SIGNALASPECTADD (7)
- /*7*/ { PD_BUTTON, (void*)AspectAdd, "add", PDO_DLGCMDBUTTON, NULL, N_("Add Aspect") },
+ /*7*/ { PD_BUTTON, AspectAdd, "add", PDO_DLGCMDBUTTON, NULL, N_("Add Aspect") },
#define I_SIGNALASPECTDELETE (8)
- /*8*/ { PD_BUTTON, (void*)AspectDelete, "delete", 0, NULL, N_("Delete Aspect") },
+ /*8*/ { PD_BUTTON, AspectDelete, "delete", 0, NULL, N_("Delete Aspect") },
};
-static paramGroup_t signalEditPG = { "signalEdit", 0, signalEditPLs, sizeof signalEditPLs/sizeof signalEditPLs[0] };
+static paramGroup_t signalEditPG = { "signalEdit", 0, signalEditPLs, COUNT( signalEditPLs ) };
static wWin_p signalEditW;
static paramIntegerRange_t rm1_999999 = { -1, 999999 };
static paramData_t aspectEditPLs[] = {
#define I_ASPECTNAME (0)
- /*0*/ { PD_STRING, signalAspectEditName, "name", PDO_NOPREF|PDO_STRINGLIMITLENGTH, (void*)200, N_("Name"), 0, 0, sizeof(signalAspectEditName)},
+ /*0*/ { PD_STRING, signalAspectEditName, "name", PDO_NOPREF|PDO_NOTBLANK, I2VP(200), N_("Name"), 0, 0, sizeof(signalAspectEditName)},
#define I_ASPECTSCRIPT (1)
- /*1*/ { PD_STRING, signalAspectEditScript, "script", PDO_NOPREF|PDO_STRINGLIMITLENGTH, (void*)350, N_("Script"), 0, 0, sizeof(signalAspectEditScript)},
+ /*1*/ { PD_STRING, signalAspectEditScript, "script", PDO_NOPREF, I2VP(350), N_("Script"), 0, 0, sizeof(signalAspectEditScript)},
#define I_ASPECTINDEX (2)
/*2*/ { PD_LONG, &signalAspectEditIndex, "index", PDO_NOPREF, &rm1_999999, N_("Aspect Index"), BO_READONLY },
};
-static paramGroup_t aspectEditPG = { "aspectEdit", 0, aspectEditPLs, sizeof aspectEditPLs/sizeof aspectEditPLs[0] };
+static paramGroup_t aspectEditPG = { "aspectEdit", 0, aspectEditPLs, COUNT( aspectEditPLs ) };
static wWin_p aspectEditW;
@@ -794,6 +791,7 @@ static STATUS_T CmdSignal ( wAction_t action, coOrd pos )
case C_START:
InfoMessage(_("Place base of signal"));
create = FALSE;
+ SetAllTrackSelect( FALSE );
return C_CONTINUE;
case C_DOWN:
SnapPos(&pos);
@@ -827,13 +825,9 @@ static POS_T sighiliteBorder;
static wDrawColor sighiliteColor = 0;
static void DrawSignalTrackHilite( void )
{
- wPos_t x, y, w, h;
if (sighiliteColor==0)
sighiliteColor = wDrawColorGray(87);
- w = (wPos_t)((sighiliteSize.x/mainD.scale)*mainD.dpi+0.5);
- h = (wPos_t)((sighiliteSize.y/mainD.scale)*mainD.dpi+0.5);
- mainD.CoOrd2Pix(&mainD,sighiliteOrig,&x,&y);
- wDrawFilledRectangle( tempD.d, x, y, w, h, sighiliteColor, wDrawOptTemp|wDrawOptTransparent );
+ DrawRectangle( &tempD, sighiliteOrig, sighiliteSize, sighiliteColor, DRAW_TRANSPARENT );
}
static int SignalMgmProc ( int cmd, void * data )
@@ -898,12 +892,12 @@ EXPORT void SignalMgmLoad ( void )
static wIcon_p signalI = NULL;
if (signalI == NULL) {
- signalI = wIconCreatePixMap( signal_xpm );
+ signalI = wIconCreatePixMap( signal_xpm[iconSize] );
}
TRK_ITERATE(trk) {
if (GetTrkType(trk) != T_SIGNAL) continue;
- ContMgmLoad (signalI, SignalMgmProc, (void *) trk );
+ ContMgmLoad (signalI, SignalMgmProc, trk );
}
}
@@ -912,7 +906,7 @@ EXPORT void SignalMgmLoad ( void )
EXPORT void InitCmdSignal ( wMenu_p menu )
{
AddMenuButton( menu, CmdSignal, "cmdSignal", _("Signal"),
- wIconCreatePixMap( signal_xpm ), LEVEL0_50, IC_STICKY|IC_POPUP2, ACCL_SIGNAL, NULL );
+ wIconCreatePixMap( signal_xpm[iconSize] ), LEVEL0_50, IC_STICKY|IC_POPUP2, ACCL_SIGNAL, NULL );
}
EXPORT void InitTrkSignal ( void )
diff --git a/app/bin/csnap.c b/app/bin/csnap.c
index eb58bc4..5c437fa 100644
--- a/app/bin/csnap.c
+++ b/app/bin/csnap.c
@@ -20,17 +20,14 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
-
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
+#include "common-ui.h"
-#define bigdot_width 3
+#define bigdot_width 2
+int log_timedrawgrid = 0;
/*****************************************************************************
*
@@ -97,7 +94,7 @@ EXPORT void MapGrid(
static DIST_T Gdx, Gdy, Ddx, Ddy;
static coOrd GDorig;
-static wPos_t lborder, bborder;
+static wDrawPix_t lborder, bborder;
void static DrawGridPoint(
drawCmd_p D,
@@ -108,7 +105,7 @@ void static DrawGridPoint(
coOrd p0,
BOOL_T bigdot )
{
- wPos_t x0, y0;
+ // Map Grid index to Layout pos
POS_T x;
x = (p0.x*Gdx + p0.y*Gdy) + orig.x;
p0.y = (p0.y*Gdx - p0.x*Gdy) + orig.y;
@@ -117,20 +114,14 @@ void static DrawGridPoint(
( p0.x < 0.0 || p0.x > size->x ||
p0.y < 0.0 || p0.y > size->y ) )
return;
- p0.x -= D->orig.x;
- p0.y -= D->orig.y;
- x = (p0.x*Ddx + p0.y*Ddy);
- p0.y = (p0.y*Ddx - p0.x*Ddy);
- p0.x = x;
- if ( p0.x < 0.0 || p0.x > D->size.x ||
- p0.y < 0.0 || p0.y > D->size.y )
- return;
- x0 = (wPos_t)(p0.x*dpi+0.5) + lborder;
- y0 = (wPos_t)(p0.y*dpi+0.5) + bborder;
- if ( bigdot )
- wDrawFilledCircle(D->d, x0, y0, (wPos_t)(bigdot_width+0.5)/2, Color, (wDrawOpts)D->funcs->options );
- else
- wDrawPoint( D->d, x0, y0, Color, (wDrawOpts)D->funcs->options );
+ DIST_T r;
+ if ( bigdot ) {
+ r = (bigdot_width+0.5)/2 - 0.5;
+ } else {
+ r = 0.75;
+ }
+ r /= dpi;
+ DrawFillCircle( D, p0, r, Color );
}
@@ -144,7 +135,6 @@ static void DrawGridLine(
coOrd p0,
coOrd p1 )
{
- wPos_t x0, y0, x1, y1;
POS_T x;
x = (p0.x*Gdx + p0.y*Gdy) + orig.x;
p0.y = (p0.y*Gdx - p0.x*Gdy) + orig.y;
@@ -154,32 +144,10 @@ static void DrawGridLine(
p1.x = x;
if (size && clip && !ClipLine( &p0, &p1, zero, 0.0, *size ))
return;
- p0.x -= D->orig.x;
- p0.y -= D->orig.y;
- p1.x -= D->orig.x;
- p1.y -= D->orig.y;
- x = (p0.x*Ddx + p0.y*Ddy);
- p0.y = (p0.y*Ddx - p0.x*Ddy);
- p0.x = x;
- x = (p1.x*Ddx + p1.y*Ddy);
- p1.y = (p1.y*Ddx - p1.x*Ddy);
- p1.x = x;
- if (clip && !ClipLine( &p0, &p1, zero, 0.0, D->size ))
- return;
- x0 = (wPos_t)(p0.x*dpi+0.5) + lborder;
- y0 = (wPos_t)(p0.y*dpi+0.5) + bborder;
- x1 = (wPos_t)(p1.x*dpi+0.5) + lborder;
- y1 = (wPos_t)(p1.y*dpi+0.5) + bborder;
- wDrawLine( D->d, x0, y0, x1, y1, 0, wDrawLineSolid, Color, (wDrawOpts)D->funcs->options );
+ DrawLine( D, p0, p1, 0, Color );
}
-#ifdef WINDOWS
-#define WONE (1)
-#else
-#define WONE (0)
-#endif
-
EXPORT void DrawGrid(
drawCmd_p D,
coOrd * size,
@@ -209,6 +177,7 @@ EXPORT void DrawGrid(
cross0_bm = wDrawBitMapCreate( mainD.d, cross0_width, cross0_height, 2, 2, cross0_bits );
#endif
+ unsigned long time0 = wGetTimer();
wSetCursor( mainD.d, wCursorWait );
dpi = D->dpi/D->scale;
Gdx = cos(D2R(Gangle));
@@ -330,6 +299,7 @@ EXPORT void DrawGrid(
done:
wSetCursor( mainD.d, defaultCursor );
+ LOG( log_timedrawgrid, 1, ( "DrawGrid time = %lu mS\n", wGetTimer()-time0 ) );
}
@@ -431,12 +401,14 @@ typedef struct {
static gridHVData grid = { { 1.0, 0, 1 },
{ 1.0, 0, 1 } };
-EXPORT void SnapPos( coOrd * pos )
+EXPORT BOOL_T SnapPos( coOrd * pos )
{
coOrd p;
DIST_T spacing;
+ if ((MyGetKeyState() & WKEY_ALT) != 0)
+ return FALSE;
if ( grid.Vert.Enable == FALSE && grid.Horz.Enable == FALSE )
- return;
+ return FALSE;
p = *pos;
p.x -= grid.Orig.x;
p.y -= grid.Orig.y;
@@ -460,6 +432,7 @@ EXPORT void SnapPos( coOrd * pos )
REORIGIN1( p, grid.Angle, grid.Orig );
*pos = p;
InfoPos( p );
+ return TRUE;
}
@@ -513,7 +486,7 @@ static paramFloatRange_t r_1000_1000 = { -1000.0, 1000.0, 80 };
static paramFloatRange_t r0_360 = { 0.0, 360.0, 80 };
static char *gridLabels[] = { "", NULL };
static paramData_t gridPLs[] = {
- { PD_MESSAGE, N_("Horz"), NULL, 0, (void*)60 },
+ { PD_MESSAGE, N_("Horz"), NULL, 0, I2VP(60) },
#define I_HORZSPACING (1)
{ PD_FLOAT, &grid.Horz.Spacing, "horzspacing", PDO_DIM, &r0_999999, N_("Spacing") },
#define I_HORZDIVISION (2)
@@ -521,7 +494,7 @@ static paramData_t gridPLs[] = {
#define I_HORZENABLE (3)
#define gridHorzEnableT ((wChoice_p)gridPLs[I_HORZENABLE].control)
{ PD_TOGGLE, &grid.Horz.Enable, "horzenable", 0, gridLabels, N_("Enable"), BC_HORZ|BC_NOBORDER },
- { PD_MESSAGE, N_("Vert"), NULL, PDO_DLGNEWCOLUMN|PDO_DLGWIDE, (void*)60},
+ { PD_MESSAGE, N_("Vert"), NULL, PDO_DLGNEWCOLUMN|PDO_DLGWIDE, I2VP(60) },
#define I_VERTSPACING (5)
{ PD_FLOAT, &grid.Vert.Spacing, "vertspacing", PDO_DIM, &r0_999999, NULL },
#define I_VERTDIVISION (6)
@@ -539,7 +512,7 @@ static paramData_t gridPLs[] = {
#define gridShowT ((wChoice_p)gridPLs[I_SHOW].control)
{ PD_TOGGLE, &grid.Show, "show", PDO_DLGIGNORELABELWIDTH, gridLabels, N_("Show"), BC_HORZ|BC_NOBORDER } };
-static paramGroup_t gridPG = { "grid", PGO_RECORD, gridPLs, sizeof gridPLs/sizeof gridPLs[0] };
+static paramGroup_t gridPG = { "grid", PGO_RECORD, gridPLs, COUNT( gridPLs ) };
static BOOL_T GridChanged( void )
@@ -566,7 +539,7 @@ static void RedrawGrid( void )
}
-static void GridOk( void * junk )
+static void GridOk( void * unused )
{
long changes;
@@ -678,7 +651,7 @@ static void GridDlgUpdate(
static void SnapGridRotate( void * pangle )
{
- ANGLE_T angle = (ANGLE_T)(long)pangle;
+ ANGLE_T angle = (ANGLE_T)VP2L(pangle);
wDrawDelayUpdate( tempD.d, TRUE );
grid.Orig = cmdMenuPos;
grid.Angle += angle/1000;
@@ -694,9 +667,6 @@ EXPORT STATUS_T CmdGrid(
coOrd pos )
{
STATUS_T rc;
-#ifdef TIMEDRAWGRID
- unsigned long time0, time1, time2;
-#endif
switch (action) {
@@ -741,20 +711,10 @@ EXPORT STATUS_T CmdGrid(
return rc;
case C_UP:
case C_RUP:
-#ifdef TIMEDRAWGRID
- time0 = wGetTimer();
-#endif
-#ifdef TIMEDRAWGRID
- time1 = wGetTimer();
-#endif
rc = GridAction( action, pos, &grid.Orig, &grid.Angle );
ParamLoadControls( &gridPG );
RedrawGrid();
oldGrid = grid;
-#ifdef TIMEDRAWGRID
- time2 = wGetTimer();
- InfoMessage( "undraw %ld, draw %ld", (long)(time1-time0), (long)(time2-time1) );
-#endif
return rc;
case C_CMDMENU:
@@ -788,28 +748,29 @@ EXPORT wIndex_t InitGrid( wMenu_p menu )
snapGridPopupM = MenuRegister( "Snap Grid Rotate" );
AddRotateMenu( snapGridPopupM, SnapGridRotate );
GridButtonUpdate( 0 );
+ log_timedrawgrid = LogFindIndex( "timedrawgrid" );
return InitCommand( menu, CmdGrid, N_("Change Grid..."), NULL, LEVEL0, IC_CMDMENU, ACCL_GRIDW );
}
-EXPORT void SnapGridEnable( void )
+EXPORT void SnapGridEnable( void * unused )
{
grid.Vert.Enable = grid.Horz.Enable = !( grid.Vert.Enable || grid.Horz.Enable );
GridButtonUpdate( (CHK_HENABLE|CHK_VENABLE) );
}
-EXPORT void SnapGridShow( void )
+EXPORT void SnapGridShow( void * unused )
{
grid.Show = !grid.Show;
GridButtonUpdate( CHK_SHOW );
}
-#include "bitmaps/snapcurs.xbm"
-#include "bitmaps/snapvis.xbm"
+#include "bitmaps/snap-curs.xpm"
+#include "bitmaps/snap-grid.xpm"
EXPORT void InitSnapGridButtons( void )
{
- snapGridEnable_b = AddToolbarButton( "cmdGridEnable", wIconCreateBitMap(snapcurs_width, snapcurs_height, snapcurs_bits, wDrawColorBlack), 0, (addButtonCallBack_t)SnapGridEnable, NULL );
- snapGridShow_b = AddToolbarButton( "cmdGridShow", wIconCreateBitMap(snapvis_width, snapvis_height, snapvis_bits, wDrawColorBlack), IC_MODETRAIN_TOO, (addButtonCallBack_t)SnapGridShow, NULL );
+ snapGridEnable_b = AddToolbarButton( "cmdGridEnable", wIconCreatePixMap(snap_curs_xpm[iconSize] ), 0, SnapGridEnable, NULL );
+ snapGridShow_b = AddToolbarButton( "cmdGridShow", wIconCreatePixMap(snap_grid_xpm[iconSize] ), IC_MODETRAIN_TOO, SnapGridShow, NULL );
}
diff --git a/app/bin/csplit.c b/app/bin/csplit.c
index c2b516a..49b87ce 100644
--- a/app/bin/csplit.c
+++ b/app/bin/csplit.c
@@ -22,11 +22,11 @@
#include "cundo.h"
#include "compound.h"
-#include "i18n.h"
-#include "messages.h"
+#include "cselect.h"
#include "track.h"
-#include "utility.h"
+#include "draw.h"
#include "fileio.h"
+#include "common-ui.h"
static wMenu_p splitPopupM[2];
static wMenuToggle_p splitPopupMI[2][4];
@@ -36,9 +36,9 @@ static BOOL_T splitTrkFlip;
static dynArr_t anchors_da;
#define anchors(N) DYNARR_N(trkSeg_t,anchors_da,N)
-static void ChangeSplitEPMode( wBool_t set, void * mode )
+static void ChangeSplitEPMode( void * mode )
{
- long imode = (long)mode;
+ long imode = VP2L(mode);
long option;
int inx0, inx;
@@ -59,7 +59,7 @@ static void ChangeSplitEPMode( wBool_t set, void * mode )
DrawEndPt( &mainD, splitTrkTrk[1], splitTrkEP[1], wDrawColorBlack );
}
-static void CreateSplitAnchorAngle(coOrd pos, track_p t, BOOL_T end, ANGLE_T a) {
+static void CreateSplitAnchorAngle(coOrd pos, track_p t, BOOL_T end, ANGLE_T a, BOOL_T trim) {
DIST_T d = tempD.scale*0.1;
DIST_T w = tempD.scale/tempD.dpi*4;
int i;
@@ -68,8 +68,8 @@ static void CreateSplitAnchorAngle(coOrd pos, track_p t, BOOL_T end, ANGLE_T a)
i = anchors_da.cnt-1;
anchors(i).type = SEG_STRLIN;
anchors(i).color = wDrawColorBlue;
- Translate(&anchors(i).u.l.pos[0],pos,a,GetTrkGauge(t));
- Translate(&anchors(i).u.l.pos[1],pos,a,-GetTrkGauge(t));
+ Translate(&anchors(i).u.l.pos[0],pos,a,trim?2*GetTrkGauge(t):GetTrkGauge(t));
+ Translate(&anchors(i).u.l.pos[1],pos,a,trim?2*-GetTrkGauge(t):-GetTrkGauge(t));
anchors(i).width = w;
} else {
DYNARR_APPEND(trkSeg_t,anchors_da,1);
@@ -95,13 +95,34 @@ static void CreateSplitAnchorAngle(coOrd pos, track_p t, BOOL_T end, ANGLE_T a)
static void CreateSplitAnchor(coOrd pos, track_p t, BOOL_T end) {
ANGLE_T a = NormalizeAngle(GetAngleAtPoint(t,pos,NULL,NULL)+90.0);
- CreateSplitAnchorAngle(pos,t,end,a);
+ CreateSplitAnchorAngle(pos,t,end,a,FALSE);
+}
+
+static void CreateTrimAnchorLeg(coOrd pos, ANGLE_T a, track_p t) {
+ DIST_T d = tempD.scale*0.1;
+ DIST_T w = tempD.scale/tempD.dpi*4;
+ DYNARR_APPEND(trkSeg_t,anchors_da,1);
+ int i = anchors_da.cnt-1;
+ anchors(i).type = SEG_STRLIN;
+ anchors(i).color = wDrawColorBlue;
+ anchors(i).u.l.pos[0] = pos;
+ Translate(&anchors(i).u.l.pos[1],pos,a,GetTrkGauge(t)*2);
+ anchors(i).width = w;
+
+}
+
+static void CreateTrimAnchor(coOrd pos, track_p t, track_p s, coOrd cursor) {
+ ANGLE_T a = NormalizeAngle(GetAngleAtPoint(s,pos,NULL,NULL));
+ CreateSplitAnchorAngle(pos,t,FALSE,a,TRUE);
+ ANGLE_T aa = FindAngle(pos,cursor);
+ ANGLE_T d = DifferenceBetweenAngles(a,aa);
+ CreateTrimAnchorLeg(pos,a+(d>0?90:-90),t);
}
static STATUS_T CmdSplitTrack( wAction_t action, coOrd pos )
{
track_p trk0, trk1;
- EPINX_T ep0;
+ EPINX_T ep0 = 0;
int oldTrackCount;
int inx, mode, quad;
ANGLE_T angle;
@@ -110,6 +131,7 @@ static STATUS_T CmdSplitTrack( wAction_t action, coOrd pos )
case C_START:
InfoMessage( _("Select track to split") );
DYNARR_RESET(trkSeg_t,anchors_da);
+ SetAllTrackSelect( FALSE );
/* no break */
case C_DOWN:
case C_MOVE:
@@ -117,7 +139,7 @@ static STATUS_T CmdSplitTrack( wAction_t action, coOrd pos )
break;
case C_UP:
onTrackInSplit = TRUE;
- trk0 = OnTrack( &pos, TRUE, TRUE );
+ trk0 = OnTrack( &pos, FALSE, TRUE );
if ( trk0 != NULL) {
if (!CheckTrackLayer( trk0 ) ) {
onTrackInSplit = FALSE;
@@ -127,9 +149,10 @@ static STATUS_T CmdSplitTrack( wAction_t action, coOrd pos )
if (IsClose(FindDistance(GetTrkEndPos(trk0,ep0),pos)) && (GetTrkEndTrk(trk0,ep0)!=NULL)) {
pos = GetTrkEndPos(trk0,ep0);
} else {
- if (!QueryTrack(trk0,Q_MODIFY_CAN_SPLIT)) {
+ if (!IsTrack(trk0) ||
+ !QueryTrack(trk0,Q_MODIFY_CAN_SPLIT)) {
onTrackInSplit = FALSE;
- InfoMessage(_("Can't Split that Track"));
+ InfoMessage(_("Can't Split that Track Object"));
return C_CONTINUE;
}
}
@@ -142,6 +165,21 @@ static STATUS_T CmdSplitTrack( wAction_t action, coOrd pos )
SplitTrack( trk0, pos, ep0, &trk1, FALSE );
UndoEnd();
return C_TERMINATE;
+ } else if ((trk0 = OnTrack( &pos, FALSE, FALSE))!=NULL && CheckTrackLayerSilent( trk0 )) {
+ if (!QueryTrack(trk0,Q_MODIFY_CAN_SPLIT)) {
+ onTrackInSplit = FALSE;
+ InfoMessage(_("Can't Split that Draw Object"));
+ return C_CONTINUE;
+ }
+ onTrackInSplit = FALSE;
+ UndoStart( _("Split Track"), "SplitTrack( T%d[%d] )", GetTrkIndex(trk0), ep0 );
+ oldTrackCount = trackCount;
+ SplitTrack( trk0, pos, ep0, &trk1, FALSE );
+ UndoEnd();
+ return C_TERMINATE;
+ } else {
+ InfoMessage(_("No Track to Split"));
+ wBeep();
}
onTrackInSplit = FALSE;
return C_TERMINATE;
@@ -152,15 +190,15 @@ static STATUS_T CmdSplitTrack( wAction_t action, coOrd pos )
return C_CONTINUE;
if ( splitPopupM[0] == NULL ) {
splitPopupM[0] = MenuRegister( "End Point Mode R-L" );
- splitPopupMI[0][0] = wMenuToggleCreate( splitPopupM[0], "", _("None"), 0, TRUE, ChangeSplitEPMode, (void*)0 );
- splitPopupMI[0][1] = wMenuToggleCreate( splitPopupM[0], "", _("Left"), 0, FALSE, ChangeSplitEPMode, (void*)1 );
- splitPopupMI[0][2] = wMenuToggleCreate( splitPopupM[0], "", _("Right"), 0, FALSE, ChangeSplitEPMode, (void*)2 );
- splitPopupMI[0][3] = wMenuToggleCreate( splitPopupM[0], "", _("Both"), 0, FALSE, ChangeSplitEPMode, (void*)3 );
+ splitPopupMI[0][0] = wMenuToggleCreate( splitPopupM[0], "", _("None"), 0, TRUE, ChangeSplitEPMode, I2VP(0) );
+ splitPopupMI[0][1] = wMenuToggleCreate( splitPopupM[0], "", _("Left"), 0, FALSE, ChangeSplitEPMode, I2VP(1) );
+ splitPopupMI[0][2] = wMenuToggleCreate( splitPopupM[0], "", _("Right"), 0, FALSE, ChangeSplitEPMode, I2VP(2) );
+ splitPopupMI[0][3] = wMenuToggleCreate( splitPopupM[0], "", _("Both"), 0, FALSE, ChangeSplitEPMode, I2VP(3) );
splitPopupM[1] = MenuRegister( "End Point Mode T-B" );
- splitPopupMI[1][0] = wMenuToggleCreate( splitPopupM[1], "", _("None"), 0, TRUE, ChangeSplitEPMode, (void*)0 );
- splitPopupMI[1][1] = wMenuToggleCreate( splitPopupM[1], "", _("Top"), 0, FALSE, ChangeSplitEPMode, (void*)1 );
- splitPopupMI[1][2] = wMenuToggleCreate( splitPopupM[1], "", _("Bottom"), 0, FALSE, ChangeSplitEPMode, (void*)2 );
- splitPopupMI[1][3] = wMenuToggleCreate( splitPopupM[1], "", _("Both"), 0, FALSE, ChangeSplitEPMode, (void*)3 );
+ splitPopupMI[1][0] = wMenuToggleCreate( splitPopupM[1], "", _("None"), 0, TRUE, ChangeSplitEPMode, I2VP(0) );
+ splitPopupMI[1][1] = wMenuToggleCreate( splitPopupM[1], "", _("Top"), 0, FALSE, ChangeSplitEPMode, I2VP(1) );
+ splitPopupMI[1][2] = wMenuToggleCreate( splitPopupM[1], "", _("Bottom"), 0, FALSE, ChangeSplitEPMode, I2VP(2) );
+ splitPopupMI[1][3] = wMenuToggleCreate( splitPopupM[1], "", _("Both"), 0, FALSE, ChangeSplitEPMode, I2VP(3) );
}
splitTrkEP[0] = PickEndPoint( pos, splitTrkTrk[0] );
angle = NormalizeAngle(GetTrkEndAngle( splitTrkTrk[0], splitTrkEP[0] ));
@@ -195,13 +233,15 @@ static STATUS_T CmdSplitTrack( wAction_t action, coOrd pos )
onTrackInSplit = TRUE;
if ((trk0 = OnTrack( &pos, FALSE, TRUE ))!=NULL && CheckTrackLayerSilent( trk0 )) {
ep0 = PickEndPoint( pos, trk0 );
+ if ( ep0 < 0 )
+ break;
if (IsClose(FindDistance(GetTrkEndPos(trk0,ep0),pos)) && (GetTrkEndTrk(trk0,ep0)!=NULL)) {
CreateSplitAnchor(GetTrkEndPos(trk0,ep0),trk0,TRUE);
} else if (QueryTrack(trk0,Q_IS_TURNOUT)) {
if ((MyGetKeyState()&WKEY_SHIFT) != 0 ) {
if (SplitTurnoutCheck(trk0,pos,ep0,NULL,NULL,NULL,TRUE,&pos,&angle)) {
angle = NormalizeAngle(angle+90);
- CreateSplitAnchorAngle(pos,trk0,FALSE,angle);
+ CreateSplitAnchorAngle(pos,trk0,FALSE,angle,FALSE);
}
} else {
CreateSplitAnchor(GetTrkEndPos(trk0,ep0),trk0,TRUE);
@@ -210,6 +250,71 @@ static STATUS_T CmdSplitTrack( wAction_t action, coOrd pos )
} else if (QueryTrack(trk0,Q_MODIFY_CAN_SPLIT)) {
CreateSplitAnchor(pos,trk0,FALSE);
}
+ } else {
+ if ((trk0 = OnTrack( &pos, FALSE, FALSE))!=NULL && CheckTrackLayerSilent( trk0 )) {
+ if (QueryTrack(trk0,Q_MODIFY_CAN_SPLIT)) {
+ CreateSplitAnchor(pos,trk0, FALSE);
+ }
+ }
+ }
+ onTrackInSplit = FALSE;
+
+ break;
+ case C_REDRAW:
+ if (anchors_da.cnt)
+ DrawSegs( &tempD, zero, 0.0, &anchors(0), anchors_da.cnt, trackGauge, wDrawColorBlack );
+ break;
+ }
+
+ return C_CONTINUE;
+}
+
+static STATUS_T CmdSplitDraw( wAction_t action, coOrd pos )
+{
+ track_p trk0, trk1;
+ EPINX_T ep0 = 0;
+ int oldTrackCount;
+
+ switch (action) {
+ case C_START:
+ InfoMessage( _("Select draw to split") );
+ DYNARR_RESET(trkSeg_t,anchors_da);
+ SetAllTrackSelect( FALSE );
+ /* no break */
+ case C_DOWN:
+ case C_MOVE:
+ return C_CONTINUE;
+ break;
+ case C_UP:
+ onTrackInSplit = TRUE;
+ if ((trk0 = OnTrack( &pos, FALSE, FALSE))!=NULL && CheckTrackLayerSilent( trk0 )) {
+ if (IsTrack(trk0)) return C_CONTINUE;
+ if (!QueryTrack(trk0,Q_MODIFY_CAN_SPLIT)) {
+ onTrackInSplit = FALSE;
+ InfoMessage(_("Can't Split that Draw Object"));
+ return C_CONTINUE;
+ }
+ onTrackInSplit = FALSE;
+ UndoStart( _("Split Draw"), "SplitDraw( T%d[%d] )", GetTrkIndex(trk0), ep0 );
+ oldTrackCount = trackCount;
+ SplitTrack( trk0, pos, ep0, &trk1, FALSE );
+ UndoEnd();
+ return C_TERMINATE;
+ } else {
+ InfoMessage(_("No Draw to Split"));
+ wBeep();
+ }
+ onTrackInSplit = FALSE;
+ return C_TERMINATE;
+ break;
+ case wActionMove:
+ DYNARR_RESET(trkSeg_t,anchors_da);
+ onTrackInSplit = TRUE;
+ if ((trk0 = OnTrack( &pos, FALSE, FALSE))!=NULL && CheckTrackLayerSilent( trk0 )) {
+ if (IsTrack(trk0)) break;
+ if (QueryTrack(trk0,Q_MODIFY_CAN_SPLIT)) {
+ CreateSplitAnchor(pos,trk0, FALSE);
+ }
}
onTrackInSplit = FALSE;
break;
@@ -222,13 +327,153 @@ static STATUS_T CmdSplitTrack( wAction_t action, coOrd pos )
return C_CONTINUE;
}
+typedef enum {TRIM_NONE, TRIM_LINE} TrimState_e;
+
+static STATUS_T CmdTrimDraw( wAction_t action, coOrd pos )
+{
+ track_p trk0, trk1, trk2;
+ EPINX_T ep0 = 0;
+ static TrimState_e trimState;
+ static track_p trimLine;
+ static track_p trk;
+ switch (action&0xFF) {
+ case C_START:
+ InfoMessage( _("Select the draw object to Trim to") );
+ DYNARR_RESET(trkSeg_t,anchors_da);
+ trimState = TRIM_NONE;
+ trimLine = NULL;
+ trk = NULL;
+ SetAllTrackSelect( FALSE );
+ /* no break */
+ case C_DOWN:
+ case C_MOVE:
+ return C_CONTINUE;
+ break;
+ case C_UP:
+ if (trimState == TRIM_NONE) {
+ if ((trk0 = OnTrack( &pos, FALSE, FALSE))!=NULL && CheckTrackLayerSilent( trk0 )) {
+ if (IsTrack(trk0)) {
+ InfoMessage(_("Can't Trim with a Track"));
+ return C_CONTINUE;
+ }
+ trimState = TRIM_LINE;
+ trimLine = trk0;
+ InfoMessage( _("Select an intersecting draw object to Trim") );
+ return C_CONTINUE;
+ }
+ else return C_CONTINUE;
+ }
+ if (!trimLine) {
+ InfoMessage(_("No Draw to Trim with"));
+ wBeep();
+ return C_TERMINATE;
+ }
+ coOrd pos1 = pos;
+ if ((trk1 = OnTrackIgnore(&pos1,FALSE,FALSE,trimLine))!=NULL) {
+ if (IsTrack(trk1)) {
+ InfoMessage(_("Can't Split a track object"));
+ wBeep();
+ return C_CONTINUE;
+ }
+ if (!QueryTrack(trk1,Q_MODIFY_CAN_SPLIT)) {
+ onTrackInSplit = FALSE;
+ InfoMessage(_("Can't Split that Draw Object"));
+ return C_CONTINUE;
+ }
+ pos1 = pos;
+ if (IsClose(GetTrkDistance(trimLine,&pos1)*4)) {
+ if ( IsClose(GetTrkDistance(trk1,&pos1)*4)) {
+ //Iterate twice
+ for (int i=0; i<2;i++) {
+ GetTrkDistance(trimLine,&pos1);
+ GetTrkDistance(trk1,&pos1);
+ }
+ } else return C_CONTINUE;
+ } else {
+ return C_CONTINUE;
+ }
+ } else return C_CONTINUE;
+
+ ANGLE_T a = GetAngleAtPoint(trk1,pos1,NULL,NULL);
+ ANGLE_T aa = DifferenceBetweenAngles(a,FindAngle(pos1,pos));
+ if (fabs(aa)<90 ) ep0 = 1;
+ else ep0 = 0;
+
+ UndoStart( _("Trim Draw"), "TrimDraw( T%d[%d] )", GetTrkIndex(trimLine), ep0 );
+ SplitTrack( trk1, pos1, ep0, &trk2, FALSE );
+ if (trk2 ) DeleteTrack(trk2, FALSE);
+ UndoEnd();
+ MainRedraw();
+ InfoMessage( _("Select another draw object to Trim, or Space to Deselect") );
+ return C_CONTINUE;
+ break;
+ case wActionMove:
+ DYNARR_RESET(trkSeg_t,anchors_da);
+ trk = NULL;
+ if (trimState == TRIM_NONE) {
+ if ((trk0 = OnTrack( &pos, FALSE, FALSE))!=NULL && CheckTrackLayerSilent( trk0 )) {
+ if (IsTrack(trk0)) break;
+ if (QueryTrack(trk0,Q_MODIFY_CAN_SPLIT)) {
+ trk = trk0;
+ }
+ }
+ }
+ if (trimState == TRIM_LINE) {
+ coOrd pos1=pos;
+ if ((trk1 = OnTrackIgnore(&pos1,FALSE,FALSE,trimLine))!=NULL) {
+ if (IsTrack(trk1)) {
+ return C_CONTINUE;
+ }
+ pos1 = pos;
+ if (IsClose(GetTrkDistance(trimLine,&pos1)*4)) {
+ if (IsClose(GetTrkDistance(trk1,&pos1)*4)) {
+ //Iterate Twice
+ for (int i=0; i<2;i++) {
+ GetTrkDistance(trimLine,&pos1);
+ GetTrkDistance(trk1,&pos1);
+ }
+ CreateTrimAnchor(pos1, trk1, trimLine, pos);
+ }
+ }
+ }
+ }
+ break;
+ case C_REDRAW:
+ if (trk) {
+ DrawTrack(trk,&tempD,wDrawColorPreviewSelected);
+ }
+ if (trimLine) {
+ DrawTrack(trimLine,&tempD,selectedColor);
+ }
+ if (anchors_da.cnt)
+ DrawSegs( &tempD, zero, 0.0, &anchors(0), anchors_da.cnt, trackGauge, wDrawColorBlack );
+ break;
+ case C_TEXT:
+ if (action>>8 != ' ' && action>>8 != 13 )
+ return C_CONTINUE;
+ trimLine = NULL;
+ trk = NULL;
+ trimState = TRIM_NONE;
+ InfoMessage("");
+ return C_TERMINATE;
+ default: ;
+ }
+
+ return C_CONTINUE;
+}
-#include "bitmaps/splittrk.xpm"
+#include "bitmaps/split.xpm"
+#include "bitmaps/split-draw.xpm"
+#include "bitmaps/trim.xpm"
void InitCmdSplit( wMenu_p menu )
{
- AddMenuButton( menu, CmdSplitTrack, "cmdSplitTrack", _("Split Track"), wIconCreatePixMap(splittrk_xpm), LEVEL0_50, IC_STICKY|IC_POPUP|IC_CMDMENU|IC_WANT_MOVE, ACCL_SPLIT, NULL );
+ ButtonGroupBegin( _("Split"), "cmdSplitSetCmd", _("Split") );
+ AddMenuButton( menu, CmdSplitTrack, "cmdSplitTrack", _("Split Track"), wIconCreatePixMap(split_xpm[iconSize]), LEVEL0_50, IC_STICKY|IC_POPUP|IC_CMDMENU|IC_WANT_MOVE, ACCL_SPLIT, NULL);
+ AddMenuButton( menu, CmdSplitDraw, "cmdSplitDraw", _("Split Draw"), wIconCreatePixMap(split_draw_xpm[iconSize]), LEVEL0_50, IC_STICKY|IC_POPUP|IC_WANT_MOVE, ACCL_SPLITDRAW, NULL);
+ AddMenuButton( menu, CmdTrimDraw, "cmdTrimDraw", _("Trim Draw"), wIconCreatePixMap(trim_xpm[iconSize]), LEVEL0_50, IC_STICKY|IC_POPUP|IC_WANT_MOVE, ACCL_TRIMDRAW, NULL);
+ ButtonGroupEnd();
}
diff --git a/app/bin/cstraigh.c b/app/bin/cstraigh.c
index 464f16e..277db96 100644
--- a/app/bin/cstraigh.c
+++ b/app/bin/cstraigh.c
@@ -19,17 +19,15 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
#include "cstraigh.h"
+#include "cselect.h"
#include "cundo.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
#include "layout.h"
+#include "common-ui.h"
/*
* STATE INFO
@@ -75,6 +73,7 @@ static STATUS_T CmdStraight( wAction_t action, coOrd pos )
Dl.ep=-1;
Dl.down = FALSE;
InfoMessage( _("Place 1st endpoint of straight track, snap to unconnected endpoint") );
+ SetAllTrackSelect( FALSE );
return C_CONTINUE;
case C_DOWN:
@@ -113,6 +112,7 @@ static STATUS_T CmdStraight( wAction_t action, coOrd pos )
case C_MOVE:
case wActionMove:
DYNARR_RESET(trkSeg_t,anchors_da);
+ found = FALSE;
if (!Dl.down) {
if (((MyGetKeyState() & WKEY_ALT) == 0) == magneticSnap) {
p = pos;
@@ -120,12 +120,18 @@ static STATUS_T CmdStraight( wAction_t action, coOrd pos )
if (GetTrkGauge(t) == GetScaleTrackGauge(GetLayoutCurScale())) {
EPINX_T ep = PickUnconnectedEndPointSilent(pos, t);
if (ep != -1) {
- if (GetTrkGauge(t) == GetScaleTrackGauge(GetLayoutCurScale()))
+ if (GetTrkGauge(t) == GetScaleTrackGauge(GetLayoutCurScale())) {
CreateEndAnchor(GetTrkEndPos(t,ep),FALSE);
+ found = TRUE;
+ }
}
}
}
}
+ if (!found && SnapPos( &pos )) {
+ CreateEndAnchor(pos,FALSE);
+ found = TRUE;
+ }
return C_CONTINUE;
}
ANGLE_T angle, angle2;
@@ -135,7 +141,10 @@ static STATUS_T CmdStraight( wAction_t action, coOrd pos )
if (angle2 > 90.0 && angle2 < 270.0)
Translate( &pos, Dl.pos0, angle, FindDistance( Dl.pos0, pos ) );
else pos = Dl.pos0;
- } else SnapPos( &pos );
+ } else if (SnapPos( &pos )) {
+ CreateEndAnchor(pos,FALSE);
+ found = TRUE;
+ }
InfoMessage( _("Straight Track Length=%s Angle=%0.3f"),
FormatDistance(FindDistance( Dl.pos0, pos )),
@@ -188,5 +197,5 @@ static STATUS_T CmdStraight( wAction_t action, coOrd pos )
void InitCmdStraight( wMenu_p menu )
{
- AddMenuButton( menu, CmdStraight, "cmdStraight", _("Straight Track"), wIconCreatePixMap(straight_xpm), LEVEL0_50, IC_STICKY|IC_POPUP2|IC_WANT_MOVE, ACCL_STRAIGHT, NULL );
+ AddMenuButton( menu, CmdStraight, "cmdStraight", _("Straight Track"), wIconCreatePixMap(straight_xpm[iconSize]), LEVEL0_50, IC_STICKY|IC_POPUP2|IC_WANT_MOVE, ACCL_STRAIGHT, NULL );
}
diff --git a/app/bin/cstraigh.h b/app/bin/cstraigh.h
index 30d1539..1231546 100644
--- a/app/bin/cstraigh.h
+++ b/app/bin/cstraigh.h
@@ -24,7 +24,6 @@
#define HAVE_CSTRAIGH_H
#include "common.h"
-#include "track.h"
void AdjustStraightEndPt( track_p t, EPINX_T ep, coOrd pos );
track_p NewStraightTrack( coOrd p0, coOrd p1 );
diff --git a/app/bin/cstruct.c b/app/bin/cstruct.c
index 6907e2c..fc13924 100644
--- a/app/bin/cstruct.c
+++ b/app/bin/cstruct.c
@@ -20,30 +20,23 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <ctype.h>
-#include <math.h>
-#include <stdint.h>
-#include <string.h>
-
#include "compound.h"
+#include "cselect.h"
#include "cundo.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "param.h"
+#include "cselect.h"
#include "include/paramfile.h"
#include "track.h"
-#include "utility.h"
#include "ccurve.h"
+#include "common-ui.h"
EXPORT TRKTYP_T T_STRUCTURE = -1;
EXPORT dynArr_t structureInfo_da;
-typedef struct compoundData extraData;
-
static wIndex_t pierListInx;
EXPORT turnoutInfo_t * curStructure = NULL;
@@ -63,13 +56,13 @@ static drawCmd_t structureD = {
static wIndex_t structureHotBarCmdInx;
static wIndex_t structureInx;
static long hideStructureWindow;
-static void RedrawStructure(void);
+static void RedrawStructure( wDraw_p d, void * context, wWinPix_t x, wWinPix_t y );
-static wPos_t structureListWidths[] = { 80, 80, 220 };
+static wWinPix_t structureListWidths[] = { 80, 80, 220 };
static const char * structureListTitles[] = { N_("Manufacturer"), N_("Part No"), N_("Description") };
static paramListData_t listData = { 13, 400, 3, structureListWidths, structureListTitles };
static const char * hideLabels[] = { N_("Hide"), NULL };
-static paramDrawData_t structureDrawData = { 490, 200, (wDrawRedrawCallBack_p)RedrawStructure, NULL, &structureD };
+static paramDrawData_t structureDrawData = { 490, 200, RedrawStructure, NULL, &structureD };
static paramData_t structurePLs[] = {
#define I_LIST (0)
#define structureListL ((wList_p)structurePLs[I_LIST].control)
@@ -77,14 +70,14 @@ static paramData_t structurePLs[] = {
#define I_DRAW (1)
{ PD_DRAW, NULL, "canvas", PDO_NOPSHUPD|PDO_DLGUNDERCMDBUTT|PDO_DLGRESIZE, &structureDrawData, NULL, 0 },
#define I_HIDE (2)
- { PD_TOGGLE, &hideStructureWindow, "hide", PDO_DLGCMDBUTTON, /*CAST_AWAY_CONST*/(void*)hideLabels, NULL, BC_NOBORDER },
+ { PD_TOGGLE, &hideStructureWindow, "hide", PDO_DLGCMDBUTTON, hideLabels, NULL, BC_NOBORDER },
#define I_MSGSCALE (3)
- { PD_MESSAGE, NULL, NULL, 0, (void*)80 },
+ { PD_MESSAGE, NULL, NULL, 0, I2VP(80) },
#define I_MSGWIDTH (4)
- { PD_MESSAGE, NULL, NULL, 0, (void*)80 },
+ { PD_MESSAGE, NULL, NULL, 0, I2VP(80) },
#define I_MSGHEIGHT (5)
- { PD_MESSAGE, NULL, NULL, 0, (void*)80 } };
-static paramGroup_t structurePG = { "structure", 0, structurePLs, sizeof structurePLs/sizeof structurePLs[0] };
+ { PD_MESSAGE, NULL, NULL, 0, I2VP(80) } };
+static paramGroup_t structurePG = { "structure", 0, structurePLs, COUNT( structurePLs ) };
@@ -136,8 +129,7 @@ EXPORT turnoutInfo_t * CreateNewStructure(
else
to->contentsLabel = curSubContents;
to->endCnt = 0;
- to->pathLen = 0;
- to->paths = (PATHPTR_T)"";
+ SetParamPaths( to, NULL );
if (updateList && structureListL != NULL) {
FormatCompoundTitle( LABEL_TABBED|LABEL_MANUF|LABEL_PARTNO|LABEL_DESCR, to->title );
if (message[0] != '\0')
@@ -162,6 +154,25 @@ StructureDelete(void *structure)
MyFree(to->title);
MyFree(to->segs);
+ if (to->special) {
+ switch(to->special) {
+ case TOpier:
+ MyFree(to->u.pier.name);
+ to->u.pier.name = NULL;
+ break;
+ case TOpierInfo:
+ for(int pierInx=0;pierInx<to->u.pierInfo.cnt;pierInx++) {
+ if (to->u.pierInfo.info[pierInx].name)
+ MyFree(to->u.pierInfo.info[pierInx].name);
+ to->u.pierInfo.info[pierInx].name = NULL;
+ }
+ MyFree(to->u.pierInfo.info);
+ to->u.pierInfo.cnt = 0;
+ break;
+ default:;
+ }
+ }
+
MyFree(to);
return(TRUE);
}
@@ -207,6 +218,17 @@ DeleteStructures(int fileIndex)
structureInfo_da.cnt -= cnt;
}
+/**
+ * Check to find out to what extent the contents of the parameter file can be used with
+ * the current layout scale / gauge.
+ *
+ * If parameter scale == layout we have an exact fit.
+ * If parameter scale == layout scale +/15% we have compatible track.
+ *
+ * \param paramFileIndex
+ * \param scaleIndex
+ * \return
+ */
enum paramFileState
GetStructureCompatibility(int paramFileIndex, SCALEINX_T scaleIndex)
{
@@ -218,14 +240,22 @@ GetStructureCompatibility(int paramFileIndex, SCALEINX_T scaleIndex)
return(PARAMFILE_UNLOADED);
}
+ //Loop over all entries until an exact fit is found if none return if compatibles were found
+
for (i = 0; i < structureInfo_da.cnt; i++) {
turnoutInfo_t *to = structureInfo(i);
if (to->paramFileIndex == paramFileIndex) {
- if (GetScaleRatio(to->scaleInx) == ratio || to->scaleInx == SCALE_ANY) {
+ SCALE_FIT_T fit = CompatibleScale(FIT_STRUCTURE,to->scaleInx,scaleIndex);
+ if (fit == FIT_EXACT) {
ret = PARAMFILE_FIT;
break;
- }
+ }
+ //Within 15% of scale
+ if (fit == FIT_COMPATIBLE) {
+ ret = PARAMFILE_COMPATIBLE;
+ }
}
+
}
return(ret);
}
@@ -281,7 +311,7 @@ EXPORT turnoutInfo_t * StructAdd( long mode, SCALEINX_T scale, wList_p list, coO
to = structureInfo(inx);
if ( IsParamValid(to->paramFileIndex) &&
to->segCnt > 0 &&
- CompatibleScale( FALSE, to->scaleInx, scale ) &&
+ (FIT_NONE != CompatibleScale( FIT_STRUCTURE, to->scaleInx, scale )) &&
to->segCnt != 0 ) {
if (to1 == NULL)
to1 = to;
@@ -316,7 +346,7 @@ static void DrawStructure(
drawCmd_p d,
wDrawColor color )
{
- struct extraData *xx = GetTrkExtraData(t);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(t, T_STRUCTURE, extraDataCompound_t);
d->options &= ~DC_NOTSOLIDLINE;
switch(xx->lineType) {
@@ -365,7 +395,7 @@ static ANGLE_T GetAngleStruct(
EPINX_T * ep0,
EPINX_T * ep1 )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t * xx = GET_EXTRA_DATA(trk, T_STRUCTURE, extraDataCompound_t);
ANGLE_T angle;
pos.x -= xx->orig.x;
@@ -393,8 +423,8 @@ static BOOL_T QueryStructure( track_p trk, int query )
static wBool_t CompareStruct( track_cp trk1, track_cp trk2 )
{
- struct extraData *xx1 = GetTrkExtraData( trk1 );
- struct extraData *xx2 = GetTrkExtraData( trk2 );
+ struct extraDataCompound_t *xx1 = GET_EXTRA_DATA( trk1, T_STRUCTURE, extraDataCompound_t );
+ struct extraDataCompound_t *xx2 = GET_EXTRA_DATA( trk2, T_STRUCTURE, extraDataCompound_t );
char * cp = message + strlen(message);
REGRESS_CHECK_POS( "Orig", xx1, xx2, orig )
REGRESS_CHECK_ANGLE( "Angle", xx1, xx2, angle )
@@ -446,8 +476,8 @@ static trackCmd_t structureCmds = {
CompareStruct };
static paramData_t pierPLs[] = {
- { PD_DROPLIST, &pierListInx, "inx", 0, (void*)50, N_("Pier Number") } };
-static paramGroup_t pierPG = { "structure-pier", 0, pierPLs, sizeof pierPLs/sizeof pierPLs[0] };
+ { PD_DROPLIST, &pierListInx, "inx", 0, I2VP(50), N_("Pier Number") } };
+static paramGroup_t pierPG = { "structure-pier", 0, pierPLs, COUNT( pierPLs ) };
#define pierL ((wList_p)pierPLs[0].control)
static void ShowPierL( void )
@@ -495,7 +525,7 @@ static wWin_p structureW;
static void RescaleStructure( void )
{
DIST_T xscale, yscale;
- wPos_t ww, hh;
+ wWinPix_t ww, hh;
DIST_T w, h;
wDrawGetSize( structureD.d, &ww, &hh );
w = ww/structureD.dpi - 0.2;
@@ -540,13 +570,13 @@ static void structureChange( long changes )
maxStructureDim.x += 2*trackGauge;
maxStructureDim.y += 2*trackGauge;
/*RescaleStructure();*/
- RedrawStructure();
+ RedrawStructure( structureD.d, NULL, 0, 0 );
return;
}
-static void RedrawStructure()
+static void RedrawStructure( wDraw_p d, void * context, wWinPix_t x, wWinPix_t y )
{
RescaleStructure();
LOG( log_structure, 2, ( "SelStructure(%s)\n", (curStructure?curStructure->title:"<NULL>") ) )
@@ -578,8 +608,8 @@ static void StructureDlgUpdate(
NewStructure();
curStructure = to;
ShowPierL();
- RedrawStructure();
- ParamDialogOkActive( &structurePG, FALSE );
+ RedrawStructure( structureD.d, NULL, 0, 0 );
+ /* ParamDialogOkActive( &structurePG, FALSE ); */
}
@@ -689,8 +719,7 @@ static ANGLE_T PlaceStructure(
static void NewStructure( void )
{
track_p trk;
- struct extraData *xx;
- wIndex_t titleLen;
+ struct extraDataCompound_t *xx;
wIndex_t pierInx;
if (curStructure->segCnt < 1) {
@@ -704,23 +733,8 @@ static void NewStructure( void )
return;
}
UndoStart( _("Place Structure"), "newStruct" );
- titleLen = strlen( curStructure->title );
- trk = NewCompound( T_STRUCTURE, 0, Dst.pos, Dst.angle, curStructure->title, 0, NULL, NULL, 0, "", curStructure->segCnt, curStructure->segs );
- xx = GetTrkExtraData(trk);
-#ifdef LATER
- trk = NewTrack( 0, T_STRUCTURE, 0, sizeof (*xx) + 1 );
- xx->orig = Dst.pos;
- xx->angle = Dst.angle;
- xx->segs = MyMalloc( (curStructure->segCnt)*sizeof curStructure->segs[0] );
-
- /*
- * copy data */
- xx->segCnt = curStructure->segCnt;
- memcpy( xx->segs, curStructure->segs, xx->segCnt * sizeof *(trkSeg_p)0 );
- xx->title = curStructure->title;
- xx->pathLen = 0;
- xx->paths = "";
-#endif
+ trk = NewCompound( T_STRUCTURE, 0, Dst.pos, Dst.angle, curStructure->title, 0, NULL, NULL, curStructure->segCnt, curStructure->segs );
+ xx = GET_EXTRA_DATA(trk, T_STRUCTURE, extraDataCompound_t);
switch(curStructure->special) {
case TOnormal:
xx->special = TOnormal;
@@ -747,13 +761,6 @@ static void NewStructure( void )
SetTrkVisible( trk, TRUE );
SetTrkNoTies( trk, FALSE);
SetTrkBridge( trk, FALSE);
-#ifdef LATER
- ComputeCompoundBoundingBox( trk );
-
- SetDescriptionOrig( trk );
- xx->descriptionOff = zero;
- xx->descriptionSize = zero;
-#endif
DrawNewTrack( trk );
/*DrawStructure( trk, &mainD, wDrawColorBlack, 0 );*/
@@ -768,7 +775,7 @@ static void StructRotate( void * pangle )
{
if (Dst.state == 0)
return;
- ANGLE_T angle = (ANGLE_T)(long)pangle;
+ ANGLE_T angle = (ANGLE_T)VP2L(pangle);
angle /= 1000.0;
Dst.pos = cmdMenuPos;
Rotate( &Dst.pos, cmdMenuPos, angle );
@@ -796,7 +803,7 @@ EXPORT STATUS_T CmdStructureAction(
Dst.state = 0;
Dst.angle = 00.0;
ShowPierL();
- InfoMessage(_("Left-Drag to place, Ctrl+Left-Drag or Right-Drag to Rotate, Space or Enter to accept, Esc to Cancel"));
+ SetAllTrackSelect( FALSE );
return C_CONTINUE;
case wActionMove:
@@ -849,7 +856,7 @@ EXPORT STATUS_T CmdStructureAction(
DYNARR_RESET(trkSeg_t,anchors_da);
if ( curStructure == NULL ) return C_CONTINUE;
rot1 = pos;
- if ( FindDistance( rot0, rot1 ) > (6.0/75.0)*mainD.scale ) {
+ if ( FindDistance( rot0, rot1 ) > (6.0/BASE_DPI)*mainD.scale ) {
angle = FindAngle( rot0, rot1 );
if (!validAngle) {
baseAngle = angle;
@@ -880,16 +887,25 @@ EXPORT STATUS_T CmdStructureAction(
return C_CONTINUE;
case C_REDRAW:
+ wSetCursor(mainD.d,defaultCursor);
if (Dst.state)
DrawSegs( &tempD, Dst.pos, Dst.angle,
- curStructure->segs, curStructure->segCnt, 0.0, wDrawColorBlue );
+ curStructure->segs, curStructure->segCnt, 0.0, selectedColor );
if (anchors_da.cnt>0) {
DrawSegs( &tempD, zero, 0.0, &anchors(0), anchors_da.cnt, trackGauge, wDrawColorBlack );
+ wSetCursor(mainD.d,wCursorNone);
}
if (Dst.state == 2)
DrawLine( &tempD, rot0, rot1, 0, wDrawColorBlack );
return C_CONTINUE;
+ case C_LCLICK:
+ DYNARR_RESET(trkSeg_t,anchors_da);
+ if ( curStructure == NULL ) return C_CONTINUE;
+ CmdStructureAction( C_DOWN, pos );
+ CmdStructureAction( C_UP, pos );
+ return C_CONTINUE;
+
case C_CANCEL:
DYNARR_RESET(trkSeg_t,anchors_da);
Dst.state = 0;
@@ -934,7 +950,7 @@ static STATUS_T CmdStructure(
case C_START:
if (structureW == NULL) {
- structureW = ParamCreateDialog( &structurePG, MakeWindowTitle(_("Structure")), _("Ok"), (paramActionOkProc)DoStructOk, (paramActionCancelProc)Reset, TRUE, NULL, F_RESIZE, StructureDlgUpdate );
+ structureW = ParamCreateDialog( &structurePG, MakeWindowTitle(_("Structure")), _("Close"), (paramActionOkProc)DoStructOk, wHide, TRUE, NULL, F_RESIZE, StructureDlgUpdate );
RegisterChangeNotification( structureChange );
}
ParamDialogOkActive( &structurePG, FALSE );
@@ -949,11 +965,12 @@ static STATUS_T CmdStructure(
if (structureIndex > 0 && structurePtr) {
curStructure = structurePtr;
wListSetIndex( structureListL, structureIndex );
- RedrawStructure();
+ RedrawStructure( structureD.d, NULL, 0, 0 );
}
InfoMessage( _("Select Structure and then drag to place"));
ParamLoadControls( &structurePG );
ParamGroupRecord( &structurePG );
+ SetAllTrackSelect( FALSE );
return CmdStructureAction( action, pos );
case wActionMove:
@@ -993,6 +1010,10 @@ static STATUS_T CmdStructure(
return CmdStructureAction( action, pos );
return C_CONTINUE;
+ case C_LCLICK:
+ CmdStructureAction( action, pos );
+ return C_CONTINUE;
+
case C_CANCEL:
wHide( structureW );
/*no break*/
@@ -1021,7 +1042,7 @@ static char * CmdStructureHotBarProc(
case HB_SELECT:
CmdStructureAction( C_FINISH, zero );
curStructure = to;
- DoCommandB( (void*)(intptr_t)structureHotBarCmdInx );
+ DoCommandB( I2VP(structureHotBarCmdInx) );
return NULL;
case HB_LISTTITLE:
FormatCompoundTitle( listLabels, to->title );
@@ -1034,8 +1055,8 @@ static char * CmdStructureHotBarProc(
case HB_FULLTITLE:
return to->title;
case HB_DRAW:
- origP->x -= to->orig.x;
- origP->y -= to->orig.y;
+ //origP->x -= to->orig.x;
+ //origP->y -= to->orig.y;
DrawSegs( d, *origP, 0.0, to->segs, to->segCnt, trackGauge, wDrawColorBlack );
return NULL;
}
@@ -1051,7 +1072,7 @@ EXPORT void AddHotBarStructures( void )
to = structureInfo(inx);
if ( !( IsParamValid(to->paramFileIndex) &&
to->segCnt > 0 &&
- CompatibleScale( FALSE, to->scaleInx, GetLayoutCurScale()) ) )
+ (FIT_NONE != CompatibleScale( FIT_STRUCTURE, to->scaleInx, GetLayoutCurScale())) ) )
/*( (strcmp( to->scale, "*" ) == 0 && strcasecmp( curScaleName, "DEMO" ) != 0 ) ||
strncasecmp( to->scale, curScaleName, strlen(to->scale) ) == 0 ) ) )*/
continue;
@@ -1066,7 +1087,7 @@ static STATUS_T CmdStructureHotBar(
switch (action & 0xFF) {
case C_START:
- structureChange( CHANGE_PARAMS );
+ //structureChange( CHANGE_PARAMS );
if (curStructure == NULL) {
NoticeMessage( MSG_STRUCT_NO_STRUCTS, _("Ok"), NULL );
return C_TERMINATE;
@@ -1074,10 +1095,10 @@ static STATUS_T CmdStructureHotBar(
FormatCompoundTitle( listLabels|LABEL_DESCR, curStructure->title );
InfoMessage( _("Place %s and draw into position"), message );
wIndex_t listIndex = FindListItemByContext( structureListL, curStructure );
- if ( listIndex > 0 )
+ if ( listIndex >= 0 )
structureInx = listIndex;
- //ParamLoadControls( &structurePG );
- //ParamGroupRecord( &structurePG );
+ ParamLoadControls( &structurePG );
+ ParamGroupRecord( &structurePG );
return CmdStructureAction( action, pos );
case wActionMove:
@@ -1121,11 +1142,11 @@ static STATUS_T CmdStructureHotBar(
}
}
-#include "bitmaps/struct.xpm"
+#include "bitmaps/building.xpm"
EXPORT void InitCmdStruct( wMenu_p menu )
{
- AddMenuButton( menu, CmdStructure, "cmdStructure", _("Structure"), wIconCreatePixMap(struct_xpm), LEVEL0_50, IC_WANT_MOVE|IC_STICKY|IC_CMDMENU|IC_POPUP2, ACCL_STRUCTURE, NULL );
+ AddMenuButton( menu, CmdStructure, "cmdStructure", _("Structure"), wIconCreatePixMap(building_xpm[iconSize]), LEVEL0_50, IC_WANT_MOVE|IC_STICKY|IC_CMDMENU|IC_POPUP2, ACCL_STRUCTURE, NULL );
structureHotBarCmdInx = AddMenuButton( menu, CmdStructureHotBar, "cmdStructureHotBar", "", NULL, LEVEL0_50, IC_WANT_MOVE|IC_STICKY|IC_CMDMENU|IC_POPUP2, 0, NULL );
ParamRegister( &structurePG );
if ( structPopupM == NULL ) {
diff --git a/app/bin/cswitchmotor.c b/app/bin/cswitchmotor.c
index a8e1c54..563e4b8 100644
--- a/app/bin/cswitchmotor.c
+++ b/app/bin/cswitchmotor.c
@@ -49,22 +49,18 @@
*
*/
-#include <ctype.h>
-#include <string.h>
-
#include "compound.h"
+#include "cselect.h"
#include "cundo.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
#include "param.h"
#include "track.h"
#include "trackx.h"
-#ifdef WINDOWS
+#include "common-ui.h"
+#ifdef UTFCONVERT
#include "include/utf8convert.h"
-#endif // WINDOWS
-#include "utility.h"
-#include "messages.h"
+#endif // UTFCONVERT
EXPORT TRKTYP_T T_SWITCHMOTOR = -1;
@@ -90,13 +86,13 @@ static track_p last_motor;
static track_p first_motor;
static paramData_t switchmotorPLs[] = {
-/*0*/ { PD_STRING, switchmotorName, "name", PDO_NOPREF|PDO_STRINGLIMITLENGTH, (void*)200, N_("Name"), 0, 0, sizeof(switchmotorName)},
-/*1*/ { PD_STRING, switchmotorNormal, "normal", PDO_NOPREF|PDO_STRINGLIMITLENGTH, (void*)350, N_("Normal"), 0, 0, sizeof(switchmotorNormal)},
-/*2*/ { PD_STRING, switchmotorReverse, "reverse", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)350, N_("Reverse"), 0, 0, sizeof(switchmotorReverse)},
-/*3*/ { PD_STRING, switchmotorPointSense, "pointSense", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)350, N_("Point Sense"), 0, 0, sizeof(switchmotorPointSense)}
+/*0*/ { PD_STRING, switchmotorName, "name", PDO_NOPREF|PDO_NOTBLANK, I2VP(200), N_("Name"), 0, 0, sizeof(switchmotorName)},
+/*1*/ { PD_STRING, switchmotorNormal, "normal", PDO_NOPREF, I2VP(350), N_("Normal"), 0, 0, sizeof(switchmotorNormal)},
+/*2*/ { PD_STRING, switchmotorReverse, "reverse", PDO_NOPREF, I2VP(350), N_("Reverse"), 0, 0, sizeof(switchmotorReverse)},
+/*3*/ { PD_STRING, switchmotorPointSense, "pointSense", PDO_NOPREF, I2VP(350), N_("Point Sense"), 0, 0, sizeof(switchmotorPointSense)}
};
-static paramGroup_t switchmotorPG = { "switchmotor", 0, switchmotorPLs, sizeof switchmotorPLs/sizeof switchmotorPLs[0] };
+static paramGroup_t switchmotorPG = { "switchmotor", 0, switchmotorPLs, COUNT( switchmotorPLs ) };
static wWin_p switchmotorW;
static char switchmotorEditName[STR_SHORT_SIZE];
@@ -109,14 +105,14 @@ static track_p switchmotorEditTrack;
static paramIntegerRange_t r0_999999 = { 0, 999999 };
static paramData_t switchmotorEditPLs[] = {
- /*0*/ { PD_STRING, switchmotorEditName, "name", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)200, N_("Name"), 0, 0, sizeof(switchmotorEditName)},
-/*1*/ { PD_STRING, switchmotorEditNormal, "normal", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)350, N_("Normal"), 0, 0, sizeof(switchmotorEditNormal)},
-/*2*/ { PD_STRING, switchmotorEditReverse, "reverse", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)350, N_("Reverse"), 0, 0, sizeof(switchmotorEditReverse)},
-/*3*/ { PD_STRING, switchmotorEditPointSense, "pointSense", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)350, N_("Point Sense"), 0, 0, sizeof(switchmotorEditPointSense)},
+ /*0*/ { PD_STRING, switchmotorEditName, "name", PDO_NOPREF | PDO_NOTBLANK, I2VP(200), N_("Name"), 0, 0, sizeof(switchmotorEditName)},
+/*1*/ { PD_STRING, switchmotorEditNormal, "normal", PDO_NOPREF, I2VP(350), N_("Normal"), 0, 0, sizeof(switchmotorEditNormal)},
+/*2*/ { PD_STRING, switchmotorEditReverse, "reverse", PDO_NOPREF, I2VP(350), N_("Reverse"), 0, 0, sizeof(switchmotorEditReverse)},
+/*3*/ { PD_STRING, switchmotorEditPointSense, "pointSense", PDO_NOPREF, I2VP(350), N_("Point Sense"), 0, 0, sizeof(switchmotorEditPointSense)},
/*4*/ { PD_LONG, &switchmotorEditTonum, "turnoutNumber", PDO_NOPREF, &r0_999999, N_("Turnout Number"), BO_READONLY },
};
-static paramGroup_t switchmotorEditPG = { "switchmotorEdit", 0, switchmotorEditPLs, sizeof switchmotorEditPLs/sizeof switchmotorEditPLs[0] };
+static paramGroup_t switchmotorEditPG = { "switchmotorEdit", 0, switchmotorEditPLs, COUNT( switchmotorEditPLs ) };
static wWin_p switchmotorEditW;
/*
@@ -125,6 +121,7 @@ static dynArr_t switchmotorTrk_da;
*/
typedef struct switchmotorData_t {
+ extraDataBase_t base;
char * name;
char * normal;
char * reverse;
@@ -137,7 +134,7 @@ typedef struct switchmotorData_t {
static switchmotorData_p GetswitchmotorData ( track_p trk )
{
- return (switchmotorData_p) GetTrkExtraData(trk);
+ return GET_EXTRA_DATA( trk, T_SWITCHMOTOR, switchmotorData_t );
}
#if 0
@@ -148,14 +145,14 @@ static wDrawBitMap_p switchmotormark_bm = NULL;
static coOrd switchmotorPoly_Pix[] = {
{6,0}, {6,13}, {4,13}, {4,19}, {6,19}, {6,23}, {9,23}, {9,19}, {13,19},
{13,23}, {27,23}, {27,10}, {13,10}, {13,13}, {9,13}, {9,0}, {6,0} };
-#define switchmotorPoly_CNT (sizeof(switchmotorPoly_Pix)/sizeof(switchmotorPoly_Pix[0]))
+#define switchmotorPoly_CNT (COUNT(switchmotorPoly_Pix))
#define switchmotorPoly_SF (3.0)
static void ComputeSwitchMotorBoundingBox (track_p t)
{
coOrd hi, lo, p;
switchmotorData_p data_p = GetswitchmotorData(t);
- struct extraData *xx = GetTrkExtraData(data_p->turnout);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(data_p->turnout, T_TURNOUT, extraDataCompound_t);
coOrd orig = xx->orig;
ANGLE_T angle = xx->angle;
SCALEINX_T s = GetTrkScale(data_p->turnout);
@@ -190,7 +187,7 @@ static void DrawSwitchMotor (track_p t, drawCmd_p d, wDrawColor color )
{
coOrd p[switchmotorPoly_CNT];
switchmotorData_p data_p = GetswitchmotorData(t);
- struct extraData *xx = GetTrkExtraData(data_p->turnout);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(data_p->turnout, T_TURNOUT, extraDataCompound_t);
coOrd orig = xx->orig;
ANGLE_T angle = xx->angle;
SCALEINX_T s = GetTrkScale(data_p->turnout);
@@ -208,7 +205,7 @@ static void DrawSwitchMotor (track_p t, drawCmd_p d, wDrawColor color )
Translate (&p[iPoint], orig, x_angle, switchmotorPoly_Pix[iPoint].x * switchmotorPoly_SF / scaleRatio );
Translate (&p[iPoint], p[iPoint], y_angle, (10+switchmotorPoly_Pix[iPoint].y) * switchmotorPoly_SF / scaleRatio );
}
- DrawPoly(d, switchmotorPoly_CNT, p, NULL, color, 0, 1, 0);
+ DrawPoly(d, switchmotorPoly_CNT, p, NULL, color, 0, DRAW_FILL);
}
static struct {
@@ -411,9 +408,9 @@ static BOOL_T WriteSwitchMotor ( track_p t, FILE * f )
switchmotorData_p xx = GetswitchmotorData(t);
char *switchMotorName = MyStrdup(xx->name);
-#ifdef WINDOWS
+#ifdef UTFCONVERT
switchMotorName = Convert2UTF8(switchMotorName);
-#endif // WINDOWS
+#endif // UTFCONVERT
if (xx->turnout == NULL)
return FALSE;
@@ -437,9 +434,9 @@ static BOOL_T ReadSwitchMotor ( char * line )
if (!GetArgs(line+12,"ddqqqq",&index,&trkindex,&name,&normal,&reverse,&pointsense)) {
return FALSE;
}
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem(name);
-#endif // WINDOWS
+#endif // UTFCONVERT
trk = NewTrack(index, T_SWITCHMOTOR, 0, sizeof(switchmotorData_t)+1);
xx = GetswitchmotorData( trk );
xx->name = name;
@@ -592,6 +589,7 @@ static STATUS_T CmdSwitchMotorCreate( wAction_t action, coOrd pos )
switch (action & 0xFF) {
case C_START:
InfoMessage( _("Select a turnout") );
+ SetAllTrackSelect( FALSE );
return C_CONTINUE;
case C_DOWN:
if ((trk = OnTrack(&pos, TRUE, TRUE )) == NULL) {
@@ -694,7 +692,7 @@ static STATUS_T CmdSwitchMotor (wAction_t action, coOrd pos )
LOG( log_switchmotor, 1, ("*** CmdSwitchMotor(%08x,{%f,%f})\n",action,pos.x,pos.y))
- switch ((long)commandContext) {
+ switch (VP2L(commandContext)) {
case SWITCHMOTOR_CREATE: return CmdSwitchMotorCreate(action,pos);
case SWITCHMOTOR_EDIT: return CmdSwitchMotorEdit(action,pos);
case SWITCHMOTOR_DELETE: return CmdSwitchMotorDelete(action,pos);
@@ -757,13 +755,9 @@ static POS_T swmhiliteBorder;
static wDrawColor swmhiliteColor = 0;
static void DrawSWMotorTrackHilite( void )
{
- wPos_t x, y, w, h;
if (swmhiliteColor==0)
swmhiliteColor = wDrawColorGray(87);
- w = (wPos_t)((swmhiliteSize.x/mainD.scale)*mainD.dpi+0.5);
- h = (wPos_t)((swmhiliteSize.y/mainD.scale)*mainD.dpi+0.5);
- mainD.CoOrd2Pix(&mainD,swmhiliteOrig,&x,&y);
- wDrawFilledRectangle( mainD.d, x, y, w, h, swmhiliteColor, wDrawOptTemp|wDrawOptTransparent );
+ DrawRectangle( &tempD, swmhiliteOrig, swmhiliteSize, swmhiliteColor, DRAW_TRANSPARENT );
}
static int SwitchmotorMgmProc ( int cmd, void * data )
@@ -844,7 +838,7 @@ EXPORT void SwitchmotorMgmLoad( void )
TRK_ITERATE(trk) {
if (GetTrkType(trk) != T_SWITCHMOTOR) continue;
- ContMgmLoad( switchmI, SwitchmotorMgmProc, (void *)trk );
+ ContMgmLoad( switchmI, SwitchmotorMgmProc, trk );
}
}
diff --git a/app/bin/ctext.c b/app/bin/ctext.c
index c292d1c..3ab301c 100644
--- a/app/bin/ctext.c
+++ b/app/bin/ctext.c
@@ -22,13 +22,11 @@
#include "cundo.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
-#include "wlib.h"
#include "draw.h"
#include "misc.h"
+#include "common-ui.h"
track_p NewText( wIndex_t index, coOrd p, ANGLE_T angle, char * text, CSIZE_T textSize, wDrawColor color, BOOL_T boxed );
@@ -55,7 +53,7 @@ static struct {
ANGLE_T angle;
long size;
wIndex_t fontSizeInx;
- char text[STR_LONG_SIZE];
+ char text[STR_HUGE_SIZE];
wDrawColor color;
BOOL_T boxed;
} Dt;
@@ -63,13 +61,13 @@ static struct {
static char * boxLabels[] = { "", NULL };
static paramData_t textPLs[] = {
#define textPD (textPLs[0])
- { PD_DROPLIST, &Dt.fontSizeInx, "Fontsize", 0, NULL, N_("Font Size"), BL_EDITABLE },
+ { PD_DROPLIST, &Dt.fontSizeInx, "fontsize", 0, NULL, N_("Font Size"), BL_EDITABLE },
#define colorPD (textPLs[1])
- { PD_COLORLIST, &Dt.color, "Color", PDO_NORECORD, NULL, N_("Color") },
+ { PD_COLORLIST, &Dt.color, "color", PDO_NORECORD, NULL, N_("Color") },
#define boxPD (textPLs[2])
- { PD_TOGGLE, &Dt.boxed, "Boxed", 0, boxLabels, N_("Boxed"), 0 }
+ { PD_TOGGLE, &Dt.boxed, "boxed", 0, boxLabels, N_("Boxed"), 0 }
};
-static paramGroup_t textPG = { "text", 0, textPLs, sizeof textPLs/sizeof textPLs[0] };
+static paramGroup_t textPG = { "text", 0, textPLs, COUNT( textPLs ) };
enum TEXT_POSITION
{
@@ -206,6 +204,12 @@ static STATUS_T CmdText( wAction_t action, coOrd pos )
Dt.text[Dt.len] = '\000';
}
}
+ if (Dt.len>sizeof(Dt.text)-8) {
+ Dt.len=sizeof(Dt.text)-8;
+ Dt.text[Dt.len] = '\0';
+ InfoMessage("Text too long - truncated");
+ wBeep();
+ }
DrawMultiLineTextSize( &mainD, Dt.text, NULL, Dt.size, TRUE, &size, &lastline);
Dt.textLen = size.x;
Dt.lastLineLen = lastline.x;
@@ -261,9 +265,9 @@ static STATUS_T CmdText( wAction_t action, coOrd pos )
void InitCmdText( wMenu_p menu )
{
- AddMenuButton( menu, CmdText, "cmdText", _("Text"), wIconCreatePixMap(text_xpm), LEVEL0_50, IC_STICKY|IC_CMDMENU|IC_POPUP2, ACCL_TEXT, NULL );
+ AddMenuButton( menu, CmdText, "cmdText", _("Text"), wIconCreatePixMap(text_xpm[iconSize]), LEVEL0_50, IC_STICKY|IC_CMDMENU|IC_POPUP2, ACCL_TEXT, NULL );
textPopupM = MenuRegister( "Text Font" );
- wMenuPushCreate( textPopupM, "", _("Fonts..."), 0, (wMenuCallBack_p)SelectFont, NULL );
+ wMenuPushCreate( textPopupM, "", _("Fonts..."), 0, SelectFont, NULL );
Dt.size = (CSIZE_T)wSelectedFontSize();
Dt.color = wDrawColorBlack;
}
diff --git a/app/bin/ctodesgn.c b/app/bin/ctodesgn.c
index dc118a1..ea124cf 100644
--- a/app/bin/ctodesgn.c
+++ b/app/bin/ctodesgn.c
@@ -21,29 +21,18 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#ifdef WINDOWS
-#include <stdlib.h>
-#endif
-
-#include <stdint.h>
-#include <ctype.h>
-#include <math.h>
-#include <string.h>
-#include "messages.h"
-
#include "ccurve.h"
#include "compound.h"
#include "cstraigh.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
#include "ccornu.h"
#include "cbezier.h"
#include "misc.h"
+#include "common-ui.h"
dynArr_t tempSegs_da;
dynArr_t tempEndPts_da;
@@ -53,6 +42,8 @@ char tempCustom[4096];
dynArr_t tempSegs_da;
+// Minimum Track Segment length
+#define MIN_TRACK_LENGTH (0.20)
/*****************************************
*
@@ -84,7 +75,7 @@ dynArr_t tempSegs_da;
typedef struct {
struct {
- wPos_t x, y;
+ wWinPix_t x, y;
} pos;
int index;
char * winLabel;
@@ -148,13 +139,16 @@ static long newTurnRoadbedLineWidth = 0;
static wDrawColor roadbedColor;
static DIST_T newTurnTrackGauge;
static char * newTurnScaleName;
+static paramFloatRange_t r0d001_10000 = { 0.001, 10000, 80 };
+static paramFloatRange_t r0d300_10000 = { 0.300, 10000, 80 };
static paramFloatRange_t r0_10000 = { 0, 10000, 80 };
-static paramFloatRange_t r_10000_10000 = {-10000, 10000, 80 };
-static paramFloatRange_t r0_360 = { 0, 360, 80 };
+static paramFloatRange_t r_10000_10000 = { -1000, 10000, 80 };
+static paramFloatRange_t r0d001_90 = { 0.001, 90, 80 };
+static paramFloatRange_t r_90_90 = { -90, 90, 80 };
static paramFloatRange_t r0_100 = { 0, 100, 80 };
static paramIntegerRange_t i0_100 = { 0, 100, 40 };
-static void NewTurnOk( void * );
-static void ShowTurnoutDesigner( void * );
+static void NewTurnOk( void * context );
+static void ShowTurnoutDesigner( void * context );
static coOrd points[20];
@@ -166,48 +160,48 @@ static DIST_T radii[10];
static double angles[10];
-#define POSX(X) ((wPos_t)((X)*newTurnout_d.dpi))
-#define POSY(Y) ((wPos_t)((Y)*newTurnout_d.dpi))
+#define POSX(X) ((wWinPix_t)((X)*newTurnout_d.dpi))
+#define POSY(Y) ((wWinPix_t)((Y)*newTurnout_d.dpi))
static paramData_t turnDesignPLs[] = {
#define I_TOLENGTH (0)
#define I_TO_FIRST_FLOAT (0)
- { PD_FLOAT, &newTurnLen0, "len0", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r0_10000, N_("Length") },
- { PD_FLOAT, &newTurnLen1, "len1", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r0_10000, N_("Length") },
- { PD_FLOAT, &newTurnLen2, "len2", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r0_10000, N_("Length") },
- { PD_FLOAT, &newTurnLen3, "len3", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r0_10000, N_("Length") },
+ { PD_FLOAT, &newTurnLen0, "len0", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r0d001_10000, N_("Length") },
+ { PD_FLOAT, &newTurnLen1, "len1", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r0d001_10000, N_("Length") },
+ { PD_FLOAT, &newTurnLen2, "len2", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r0d001_10000, N_("Length") },
+ { PD_FLOAT, &newTurnLen3, "len3", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r0d001_10000, N_("Length") },
#define I_TOOFFSET (4)
- { PD_FLOAT, &newTurnOff0, "off0", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r_10000_10000, N_("Offset") },
- { PD_FLOAT, &newTurnOff1, "off1", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r_10000_10000, N_("Offset") },
- { PD_FLOAT, &newTurnOff2, "off2", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r_10000_10000, N_("Offset") },
- { PD_FLOAT, &newTurnOff3, "off3", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r_10000_10000, N_("Offset") },
+ { PD_FLOAT, &newTurnOff0, "off0", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r0d001_10000, N_("Offset") },
+ { PD_FLOAT, &newTurnOff1, "off1", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r0d001_10000, N_("Offset") },
+ { PD_FLOAT, &newTurnOff2, "off2", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r0d001_10000, N_("Offset") },
+ { PD_FLOAT, &newTurnOff3, "off3", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r0d001_10000, N_("Offset") },
#define I_TORAD (8)
{ PD_FLOAT, &newTurnRad0, "rad0", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r_10000_10000, N_("Radius") },
{ PD_FLOAT, &newTurnRad1, "rad1", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r_10000_10000, N_("Radius") },
- { PD_FLOAT, &newTurnRad2, "rad2", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r_10000_10000, N_("Radius") },
+ { PD_FLOAT, &newTurnRad2, "rad2", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r_10000_10000, N_("Radius") },
{ PD_FLOAT, &newTurnRad3, "rad3", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r_10000_10000, N_("Radius") },
#define I_TOTOELENGTH (12)
- { PD_FLOAT, &newTurnToeL, "toeL", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r0_10000, N_("Length") },
- { PD_FLOAT, &newTurnToeR, "toeR", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r0_10000, N_("Length") },
+ { PD_FLOAT, &newTurnToeL, "toeL", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r0d300_10000, N_("Length") },
+ { PD_FLOAT, &newTurnToeR, "toeR", PDO_DIM|PDO_DLGIGNORELABELWIDTH, &r0d300_10000, N_("Length") },
#define I_TOANGLE (14)
- { PD_FLOAT, &newTurnAngle0, "angle0", PDO_DLGIGNORELABELWIDTH, &r0_360, N_("Angle") },
- { PD_FLOAT, &newTurnAngle1, "angle1", PDO_DLGIGNORELABELWIDTH, &r0_360, N_("Angle") },
- { PD_FLOAT, &newTurnAngle2, "angle2", PDO_DLGIGNORELABELWIDTH, &r0_360, N_("Angle") },
+ { PD_FLOAT, &newTurnAngle0, "angle0", PDO_DLGIGNORELABELWIDTH, &r0d001_90, N_("Angle") },
+ { PD_FLOAT, &newTurnAngle1, "angle1", PDO_DLGIGNORELABELWIDTH, &r0d001_90, N_("Angle") },
+ { PD_FLOAT, &newTurnAngle2, "angle2", PDO_DLGIGNORELABELWIDTH, &r0d001_90, N_("Angle") },
#define I_TO_LAST_FLOAT (17)
- { PD_FLOAT, &newTurnAngle3, "angle3", PDO_DLGIGNORELABELWIDTH, &r0_360, N_("Angle") },
+ { PD_FLOAT, &newTurnAngle3, "angle3", PDO_DLGIGNORELABELWIDTH, &r0d001_90, N_("Angle") },
#define I_TOMANUF (18)
- { PD_STRING, &newTurnManufacturer, "manuf", PDO_STRINGLIMITLENGTH, NULL, N_("Manufacturer"), 0, 0, sizeof(newTurnManufacturer)},
+ { PD_STRING, &newTurnManufacturer, "manuf", PDO_NOTBLANK, NULL, N_("Manufacturer"), 0, 0, sizeof(newTurnManufacturer)},
#define I_TOLDESC (19)
- { PD_STRING, &newTurnLeftDesc, "desc1", PDO_STRINGLIMITLENGTH, NULL, N_("Left Description"), 0, 0, sizeof(newTurnLeftDesc)},
- { PD_STRING, &newTurnLeftPartno, "partno1", PDO_DLGHORZ | PDO_STRINGLIMITLENGTH, NULL, N_(" #"), 0, 0, sizeof(newTurnLeftPartno)},
+ { PD_STRING, &newTurnLeftDesc, "desc1", PDO_NOTBLANK, NULL, N_("Left Description"), 0, 0, sizeof(newTurnLeftDesc)},
+ { PD_STRING, &newTurnLeftPartno, "partno1", PDO_DLGHORZ | PDO_NOTBLANK, NULL, N_(" #"), 0, 0, sizeof(newTurnLeftPartno)},
#define I_TORDESC (21)
- { PD_STRING, &newTurnRightDesc, "desc2", PDO_STRINGLIMITLENGTH, NULL, N_("Right Description"),0, 0, sizeof(newTurnRightDesc)},
- { PD_STRING, &newTurnRightPartno, "partno2", PDO_DLGHORZ | PDO_STRINGLIMITLENGTH, NULL, N_(" #"),0, 0, sizeof(newTurnRightPartno)},
+ { PD_STRING, &newTurnRightDesc, "desc2", PDO_NOTBLANK, NULL, N_("Right Description"),0, 0, sizeof(newTurnRightDesc)},
+ { PD_STRING, &newTurnRightPartno, "partno2", PDO_DLGHORZ | PDO_NOTBLANK, NULL, N_(" #"),0, 0, sizeof(newTurnRightPartno)},
{ PD_FLOAT, &newTurnRoadbedWidth, "roadbedWidth", PDO_DIM, &r0_100, N_("Roadbed Width") },
{ PD_LONG, &newTurnRoadbedLineWidth, "roadbedLineWidth", PDO_DLGHORZ, &i0_100, N_("Line Width") },
{ PD_COLORLIST, &roadbedColor, "color", PDO_DLGHORZ|PDO_DLGBOXEND, NULL, N_("Color") },
- { PD_BUTTON, (void*)NewTurnOk, "done", PDO_DLGCMDBUTTON, NULL, N_("Ok") },
- { PD_BUTTON, (void*)wPrintSetup, "printsetup", 0, NULL, N_("Print Setup") },
+ { PD_BUTTON, NewTurnOk, "done", PDO_DLGCMDBUTTON, NULL, N_("Ok") },
+ { PD_BUTTON, wPrintSetup, "printsetup", 0, NULL, N_("Print Setup") },
#define I_TOANGMODE (28)
{ PD_RADIO, &newTurnAngleMode, "angleMode", 0, newTurnAngleModeLabels },
#define I_TOSLIPMODE (29)
@@ -215,7 +209,7 @@ static paramData_t turnDesignPLs[] = {
};
#ifndef MKTURNOUT
-static paramGroup_t turnDesignPG = { "turnoutNew", 0, turnDesignPLs, sizeof turnDesignPLs/sizeof turnDesignPLs[0] };
+static paramGroup_t turnDesignPG = { "turnoutNew", 0, turnDesignPLs, COUNT( turnDesignPLs ) };
static turnoutInfo_t * customTurnout1, * customTurnout2;
static BOOL_T includeNontrackSegments;
@@ -253,8 +247,8 @@ static toDesignDesc_t RegDesc = {
NTO_REGULAR,
N_("Regular Turnout"),
2,
- sizeof RegLines/sizeof RegLines[0], RegLines,
- sizeof RegFloats/sizeof RegFloats[0], RegFloats,
+ COUNT( RegLines ), RegLines,
+ COUNT( RegFloats ), RegFloats,
&RegSchema, 1 };
static wLines_t CrvLines[] = {
@@ -290,8 +284,8 @@ static toDesignDesc_t CrvDesc = {
NTO_CURVED,
N_("Curved Turnout"),
2,
- sizeof CrvLines/sizeof CrvLines[0], CrvLines,
- sizeof CrvFloats/sizeof CrvFloats[0], CrvFloats,
+ COUNT( CrvLines ), CrvLines,
+ COUNT( CrvFloats ), CrvFloats,
&Crv1Schema, 1 };
static wLines_t CornuLines[] = {
@@ -319,8 +313,8 @@ static toDesignDesc_t CornuDesc = {
NTO_CORNU,
N_("Cornu Curved Turnout"),
2,
- sizeof CornuLines/sizeof CornuLines[0], CornuLines,
- sizeof CornuFloats/sizeof CornuFloats[0], CornuFloats,
+ COUNT( CornuLines ), CornuLines,
+ COUNT( CornuFloats ), CornuFloats,
&CornuSchema, 1 };
static wLines_t WyeLines[] = {
@@ -356,8 +350,8 @@ static toDesignDesc_t WyeDesc = {
NTO_WYE,
N_("Wye Turnout"),
1,
- sizeof WyeLines/sizeof WyeLines[0], WyeLines,
- sizeof WyeFloats/sizeof WyeFloats[0], WyeFloats,
+ COUNT( WyeLines ), WyeLines,
+ COUNT( WyeFloats ), WyeFloats,
NULL, 1 };
static wLines_t CornuWyeLines[] = {
@@ -385,8 +379,8 @@ static toDesignDesc_t CornuWyeDesc = {
NTO_CORNUWYE,
N_("Cornu Wye Turnout"),
1,
- sizeof CornuWyeLines/sizeof CornuWyeLines[0], CornuWyeLines,
- sizeof CornuWyeFloats/sizeof CornuWyeFloats[0], CornuWyeFloats,
+ COUNT( CornuWyeLines ), CornuWyeLines,
+ COUNT( CornuWyeFloats ), CornuWyeFloats,
NULL, 1 };
static wLines_t ThreewayLines[] = {
@@ -426,8 +420,8 @@ static toDesignDesc_t ThreewayDesc = {
NTO_3WAY,
N_("3-way Turnout"),
1,
- sizeof ThreewayLines/sizeof ThreewayLines[0], ThreewayLines,
- sizeof ThreewayFloats/sizeof ThreewayFloats[0], ThreewayFloats,
+ COUNT( ThreewayLines ), ThreewayLines,
+ COUNT( ThreewayFloats ), ThreewayFloats,
NULL, 1 };
static wLines_t CornuThreewayLines[] = {
@@ -461,8 +455,8 @@ static toDesignDesc_t CornuThreewayDesc = {
NTO_CORNU3WAY,
N_("Cornu 3-way Turnout"),
1,
- sizeof CornuThreewayLines/sizeof CornuThreewayLines[0], CornuThreewayLines,
- sizeof CornuThreewayFloats/sizeof CornuThreewayFloats[0], CornuThreewayFloats,
+ COUNT( CornuThreewayLines ), CornuThreewayLines,
+ COUNT( CornuThreewayFloats ), CornuThreewayFloats,
NULL, 1 };
static wLines_t CrossingLines[] = {
@@ -481,8 +475,8 @@ static toDesignDesc_t CrossingDesc = {
NTO_CROSSING,
N_("Crossing"),
1,
- sizeof CrossingLines/sizeof CrossingLines[0], CrossingLines,
- sizeof CrossingFloats/sizeof CrossingFloats[0], CrossingFloats,
+ COUNT( CrossingLines ), CrossingLines,
+ COUNT( CrossingFloats ), CrossingFloats,
&CrossingSchema, 1 };
static wLines_t SingleSlipLines[] = {
@@ -502,8 +496,8 @@ static toDesignDesc_t SingleSlipDesc = {
NTO_S_SLIP,
N_("Single Slipswitch"),
1,
- sizeof SingleSlipLines/sizeof SingleSlipLines[0], SingleSlipLines,
- sizeof SingleSlipFloats/sizeof SingleSlipFloats[0], SingleSlipFloats,
+ COUNT( SingleSlipLines ), SingleSlipLines,
+ COUNT( SingleSlipFloats ), SingleSlipFloats,
&SingleSlipSchema, 1 };
static wLines_t DoubleSlipLines[] = {
@@ -531,8 +525,8 @@ static toDesignDesc_t DoubleSlipDesc = {
NTO_D_SLIP,
N_("Double Slipswitch"),
1,
- sizeof DoubleSlipLines/sizeof DoubleSlipLines[0], DoubleSlipLines,
- sizeof DoubleSlipFloats/sizeof DoubleSlipFloats[0], DoubleSlipFloats,
+ COUNT( DoubleSlipLines ), DoubleSlipLines,
+ COUNT( DoubleSlipFloats ), DoubleSlipFloats,
&DoubleSlipSchema, 1 };
static wLines_t RightCrossoverLines[] = {
@@ -551,8 +545,8 @@ static toDesignDesc_t RightCrossoverDesc = {
NTO_R_CROSSOVER,
N_("Right Crossover"),
1,
- sizeof RightCrossoverLines/sizeof RightCrossoverLines[0], RightCrossoverLines,
- sizeof RightCrossoverFloats/sizeof RightCrossoverFloats[0], RightCrossoverFloats,
+ COUNT( RightCrossoverLines ), RightCrossoverLines,
+ COUNT( RightCrossoverFloats ), RightCrossoverFloats,
&RightCrossoverSchema, 0 };
static wLines_t LeftCrossoverLines[] = {
@@ -571,8 +565,8 @@ static toDesignDesc_t LeftCrossoverDesc = {
NTO_L_CROSSOVER,
N_("Left Crossover"),
1,
- sizeof LeftCrossoverLines/sizeof LeftCrossoverLines[0], LeftCrossoverLines,
- sizeof LeftCrossoverFloats/sizeof LeftCrossoverFloats[0], LeftCrossoverFloats,
+ COUNT( LeftCrossoverLines ), LeftCrossoverLines,
+ COUNT( LeftCrossoverFloats ), LeftCrossoverFloats,
&LeftCrossoverSchema, 0 };
static wLines_t DoubleCrossoverLines[] = {
@@ -591,8 +585,8 @@ static toDesignDesc_t DoubleCrossoverDesc = {
NTO_D_CROSSOVER,
N_("Double Crossover"),
1,
- sizeof DoubleCrossoverLines/sizeof DoubleCrossoverLines[0], DoubleCrossoverLines,
- sizeof DoubleCrossoverFloats/sizeof DoubleCrossoverFloats[0], DoubleCrossoverFloats,
+ COUNT( DoubleCrossoverLines ), DoubleCrossoverLines,
+ COUNT( DoubleCrossoverFloats ), DoubleCrossoverFloats,
&DoubleCrossoverSchema, 0 };
static wLines_t StrSectionLines[] = {
@@ -609,8 +603,8 @@ static toDesignDesc_t StrSectionDesc = {
NTO_STR_SECTION,
N_("Straight Section"),
1,
- sizeof StrSectionLines/sizeof StrSectionLines[0], StrSectionLines,
- sizeof StrSectionFloats/sizeof StrSectionFloats[0], StrSectionFloats,
+ COUNT( StrSectionLines ), StrSectionLines,
+ COUNT( StrSectionFloats ), StrSectionFloats,
&StrSectionSchema, 0 };
static wLines_t CrvSectionLines[] = {
@@ -628,8 +622,8 @@ static toDesignDesc_t CrvSectionDesc = {
NTO_CRV_SECTION,
N_("Curved Section"),
1,
- sizeof CrvSectionLines/sizeof CrvSectionLines[0], CrvSectionLines,
- sizeof CrvSectionFloats/sizeof CrvSectionFloats[0], CrvSectionFloats,
+ COUNT( CrvSectionLines ), CrvSectionLines,
+ COUNT( CrvSectionFloats ), CrvSectionFloats,
&CrvSectionSchema, 0 };
#ifdef LATER
@@ -647,8 +641,8 @@ static toDesignDesc_t BumperDesc = {
NTO_BUMPER,
N_("Bumper Section"),
1,
- sizeof StrSectionLines/sizeof StrSectionLines[0], StrSectionLines,
- sizeof BumperFloats/sizeof BumperFloats[0], BumperFloats,
+ COUNT( BumberLines ), BumperLines,
+ COUNT( BumperFloats ), BumperFloats,
&BumperSchema, 0 };
static wLines_t TurntableLines[] = {
@@ -739,8 +733,8 @@ static toDesignDesc_t TurntableDesc = {
NTO_TURNTABLE,
N_("Turntable Section"),
1,
- sizeof StrSectionLines/sizeof StrSectionLines[0], StrSectionLines,
- sizeof TurntableFloats/sizeof TurntableFloats[0], TurntableFloats,
+ COUNT( TurntableLines ), TurntableLines,
+ COUNT( TurntableFloats ), TurntableFLoats,
&TurntableSchema, 0 };
#endif
@@ -900,7 +894,7 @@ BOOL_T HittestTurnoutRoadbed(
d -= roadbedWidth/2.0;
PointOnCircle( &p0, sp->u.c.center, d, a );
}
- dd = 100000.0;
+ dd = DIST_INF;
closest = -1;
for (inx=0; inx<segCnt; inx++) {
sp = &segPtr[inx];
@@ -953,7 +947,7 @@ EXPORT long ComputeTurnoutRoadbedSide(
rbw = (int)(roadbedWidth/length*32/2);
/*printf( "L=%0.3f G=%0.3f [%0.3f %0.3f] RBW=%d\n", length, gapWidth, first, last, rbw );*/
res = 0xFF0000FF;
- for ( p=searchTable; p<&searchTable[sizeof searchTable/sizeof searchTable[0]]; p++) {
+ for ( p=searchTable; p<&searchTable[COUNT( searchTable )]; p++) {
if ( (p->width < rbw && res==0xFFFFFFFF) || res==0 )
break;
res1 = (p->mask & res);
@@ -1043,7 +1037,7 @@ if ( debugComputeRoadbed>=3 ) printf( " res=%lx\n", res );
hit0 = hit1;
}
if ( debugComputeRoadbed>=2 ) printf( "S%d %c res=%lx\n", segInx, side>0?'+':'-', res );
- return res;
+ return (0xFFFFFFFF)&res;
}
@@ -1286,11 +1280,10 @@ BOOL_T CallCornuNoBez(coOrd pos[2], coOrd center[2], ANGLE_T angle[2], DIST_T ra
static toDesignSchema_t * LoadSegs(
toDesignDesc_t * dp,
- wBool_t loadPoints,
- wIndex_t * pathLenP )
+ wBool_t loadPoints )
{
wIndex_t s;
- int i, p, p0, p1;
+ int p, p0, p1;
DIST_T d;
#ifndef MKTURNOUT
wIndex_t pathLen;
@@ -1332,15 +1325,15 @@ static toDesignSchema_t * LoadSegs(
pp = dp->paths;
if (loadPoints) {
DYNARR_RESET( trkEndPt_t, tempEndPts_da );
- for ( i=0; i<dp->floatCnt; i++ )
- if ( *(FLOAT_T*)(turnDesignPLs[dp->floats[i].index].valueP) == 0.0 )
- if (dp->type != NTO_CORNU &&
- dp->type != NTO_CORNUWYE &&
- dp->type != NTO_CORNU3WAY
- ) {
- NoticeMessage( MSG_TODSGN_VALUES_GTR_0, _("Ok"), NULL );
- return NULL;
- }
+// for ( i=0; i<dp->floatCnt; i++ )
+// if ( *(FLOAT_T*)(turnDesignPLs[dp->floats[i].index].valueP) == 0.0 )
+// if (dp->type != NTO_CORNU &&
+// dp->type != NTO_CORNUWYE &&
+// dp->type != NTO_CORNU3WAY
+// ) {
+// NoticeMessage( MSG_TODSGN_VALUES_GTR_0, _("Ok"), NULL );
+// return NULL;
+// }
switch (dp->type) {
case NTO_REGULAR:
@@ -1367,9 +1360,9 @@ static toDesignSchema_t * LoadSegs(
(newTurnLen1), fabs(newTurnOff1), angle1 ) )
return NULL;
d = points[3].x - points[5].x;
- if ( d < -0.10 )
+ if ( d < -MIN_TRACK_LENGTH )
pp = &Crv3Schema;
- else if ( d > 0.10 )
+ else if ( d > MIN_TRACK_LENGTH )
pp = &Crv2Schema;
else
pp = &Crv1Schema;
@@ -1422,9 +1415,9 @@ static toDesignSchema_t * LoadSegs(
points[7].y = 0;
points[7].x = (newTurnLen2);
d = points[3].x - points[5].x;
- if ( d < -0.10 ) {
+ if ( d < -MIN_TRACK_LENGTH ) {
pp = (dp->type==NTO_3WAY ? &Tri3Schema : &Wye3Schema );
- } else if ( d > 0.10 ) {
+ } else if ( d > MIN_TRACK_LENGTH ) {
pp = (dp->type==NTO_3WAY ? &Tri2Schema : &Wye2Schema );
} else {
pp = (dp->type==NTO_3WAY ? &Tri1Schema : &Wye1Schema );
@@ -1499,21 +1492,32 @@ static toDesignSchema_t * LoadSegs(
}
}
- DIST_T end_length = minLength/2;
+ DIST_T end_length = MIN_TRACK_LENGTH;
for (int i=0;i<((dp->type==NTO_CORNU3WAY)?4:3);i++) {
if (radii[i] == 0.0) {
- Translate(&end_points[i], points[i], 90-angles[i]+(i==0?0:180), end_length);
+ if (i==2)
+ Translate(&end_points[i], points[i], NormalizeAngle(90.0+angles[i]+180), end_length);
+ else
+ Translate(&end_points[i], points[i], NormalizeAngle(90.0-angles[i]+(i==0?0.0:180.0)), end_length);
end_angles[i] = angles[i];
} else {
- if (((i==0) && radii[0]>0.0) || ((i==1 || i==3) && radii[i]>0.0)|| ((i==2) && radii[i]<0.0))
- Translate(&end_centers[i], points[i], -angles[i], fabs(radii[i]));
- else
- Translate(&end_centers[i], points[i], angles[i], fabs(radii[i]));
- end_arcs[i] = (radii[i]>=0?1:-1)*R2D(end_length/fabs(radii[i]));
+ if (i!=2) {
+ if (((i==0) && radii[0]>0.0) || ((i==1 || i==3) && radii[i]>0.0))
+ Translate(&end_centers[i], points[i], -angles[i], fabs(radii[i]));
+ else
+ Translate(&end_centers[i], points[i], angles[i]+180, fabs(radii[i]));
+ end_arcs[i] = (radii[i]>=0?1:-1)*R2D(end_length/fabs(radii[i]));
+ } else {
+ if (radii[2]>0.0)
+ Translate(&end_centers[i], points[i], angles[i]+180, fabs(radii[i]));
+ else
+ Translate(&end_centers[i], points[i], -angles[i], fabs(radii[i]));
+ end_arcs[i] = (radii[i]>=0?-1:1)*R2D(end_length/fabs(radii[i]));
+ }
end_points[i] = points[i];
- Rotate(&end_points[i],end_centers[i],((i==0||i==3)?-1:1)*end_arcs[i]);
- end_angles[i] = angles[i]-((i==0||i==3)?-1:1)*end_arcs[i];
+ Rotate(&end_points[i],end_centers[i],end_arcs[i]);
+ end_angles[i] = angles[i]+end_arcs[i];
}
LogPrintf( "ctoDes0-%d: EP(%f,%f) NEP(%f,%f) EA(%f) NEA(%f) R(%f) ARC(%f) EC(%f,%f) \n",
i+1,points[i].x,points[i].y,end_points[i].x,end_points[i].y,angles[i],end_angles[i],radii[i],end_arcs[i],
@@ -1620,20 +1624,18 @@ LogPrintf( "ctoDes0-%d: EP(%f,%f) NEP(%f,%f) EA(%f) NEA(%f) R(%f) ARC(%f) EC(%f,
int inx,subSeg;
wBool_t back, neg;
- CallCornu0(&cornuData.pos[0],&cornuData.center[0],&cornuData.angle[0],&cornuData.radius[0],&tempSegs_da, FALSE);
-
/* Override if a "Y" has zero radius at base to be a straight until the Toe
* We set the start of the curve to be at the Toe position */
if (cornuData.radius[0] == 0.0) {
- pos.x = end_points[0].x+(LH_first?newTurnToeL:newTurnToeR);
- pos.y = 0.0;
+ pos.x = end_points[0].x+(LH_first?newTurnToeL:newTurnToeR)-MIN_TRACK_LENGTH;
+ pos.y = end_points[0].y;
angle = 90.0;
radius = 0.0;
center = zero;
} else {
-
/*Find Toe 1 from curve */
+ CallCornu0(&cornuData.pos[0],&cornuData.center[0],&cornuData.angle[0],&cornuData.radius[0],&tempSegs_da, FALSE);
/*Get ToeAngle/Radius/Center for first toe */
pos.x = end_points[0].x+(LH_first?newTurnToeL:newTurnToeR);
@@ -1692,22 +1694,30 @@ LogPrintf( "ctoDes0-%d: EP(%f,%f) NEP(%f,%f) EA(%f) NEA(%f) R(%f) ARC(%f) EC(%f,
if (dp->type == NTO_CORNU3WAY) {
if (newTurnToeR!=newTurnToeL) {
/* Second Toe */
- pos.x = end_points[0].x+(LH_first?newTurnToeR:newTurnToeL);
- pos.y = end_points[0].y; /* This will be close to but not on the curve */
- angle = GetAngleSegs(tempSegs_da.cnt,(trkSeg_t *)(tempSegs_da.ptr),&pos,&inx,NULL,&back,&subSeg,&neg);
- segPtr = &DYNARR_N(trkSeg_t, tempSegs_da, inx);
-
- if (segPtr->type == SEG_BEZTRK) {
- segPtr = &DYNARR_N(trkSeg_t,segPtr->bezSegs,subSeg);
- }
-
- if (segPtr->type == SEG_STRTRK) {
+ if (cornuData.radius[0] == 0.0) {
+ pos.x = end_points[0].x+(LH_first?newTurnToeR:newTurnToeL)-MIN_TRACK_LENGTH;
+ pos.y = 0.0;
+ angle = 90.0;
radius = 0.0;
center = zero;
- } else if (segPtr->type == SEG_CRVTRK) {
- center = segPtr->u.c.center;
- radius = fabs(segPtr->u.c.radius);
- }
+ } else {
+ pos.x = end_points[0].x+(LH_first?newTurnToeR:newTurnToeL);
+ pos.y = end_points[0].y; /* This will be close to but not on the curve */
+ angle = GetAngleSegs(tempSegs_da.cnt,(trkSeg_t *)(tempSegs_da.ptr),&pos,&inx,NULL,&back,&subSeg,&neg);
+ segPtr = &DYNARR_N(trkSeg_t, tempSegs_da, inx);
+
+ if (segPtr->type == SEG_BEZTRK) {
+ segPtr = &DYNARR_N(trkSeg_t,segPtr->bezSegs,subSeg);
+ }
+
+ if (segPtr->type == SEG_STRTRK) {
+ radius = 0.0;
+ center = zero;
+ } else if (segPtr->type == SEG_CRVTRK) {
+ center = segPtr->u.c.center;
+ radius = fabs(segPtr->u.c.radius);
+ }
+ }
cornuData.pos[3] = pos;
cornuData.center[3] = center;
cornuData.angle[3] = angle;
@@ -1786,16 +1796,36 @@ LogPrintf( "ctoDes1: R(%f) A0(%f) A1(%f) C(%f,%f) P(%f,%f), EP(%f,%f) RP0(%f,%f)
points[0].x,points[0].y,end_points[0].x,end_points[0].y,
rp0.x,rp0.y,rp1.x,rp1.y);
}
-
- if ((cornuData.pos[0].x != cornuData.pos[1].x) ||
- (cornuData.pos[0].y != cornuData.pos[1].y) )
+ //If Radius zero, just a straight to the First Toe if offset
+ if (cornuData.radius[0] == 0.0) {
+ if ((cornuData.pos[0].x != cornuData.pos[1].x) ||
+ (cornuData.pos[0].y != cornuData.pos[1].y)) {
+ DYNARR_APPEND(trkSeg_t,tempSegs_da,1);
+ temp_p = &DYNARR_LAST(trkSeg_t,tempSegs_da);
+ temp_p->type = SEG_STRTRK;
+ temp_p->color = wDrawColorBlack;
+ temp_p->width = 0.0;
+ temp_p->u.l.pos[0] = cornuData.pos[0];
+ temp_p->u.l.pos[1] = cornuData.pos[1];
+ }
+ } else if ((cornuData.pos[0].x != cornuData.pos[1].x) ||
+ (cornuData.pos[0].y != cornuData.pos[1].y) )
CallCornuNoBez(&cornuData.pos[0],&cornuData.center[0],&cornuData.angle[0],&cornuData.radius[0],&tempSegs_da);
+
Toe1Seg = tempSegs_da.cnt;
if (dp->type == NTO_CORNU3WAY) {
if (newTurnToeR!=newTurnToeL) {
/* Toe1 to Toe2 in tempSegs array */
- if ((cornuData.pos[2].x != cornuData.pos[3].x) ||
+ if (cornuData.radius[0] == 0.0) {
+ DYNARR_APPEND(trkSeg_t,cornuSegs_da,1);
+ temp_p = &DYNARR_LAST(trkSeg_t,cornuSegs_da);
+ temp_p->type = SEG_STRTRK;
+ temp_p->color = wDrawColorBlack;
+ temp_p->width = 0.0;
+ temp_p->u.l.pos[0] = cornuData.pos[2];
+ temp_p->u.l.pos[1] = cornuData.pos[3];
+ } else if ((cornuData.pos[2].x != cornuData.pos[3].x) ||
(cornuData.pos[2].y != cornuData.pos[3].y) )
CallCornuNoBez(&cornuData.pos[2],&cornuData.center[2],&cornuData.angle[2],&cornuData.radius[2],&cornuSegs_da);
@@ -1817,7 +1847,7 @@ LogPrintf( "ctoDes1: R(%f) A0(%f) A1(%f) C(%f,%f) P(%f,%f), EP(%f,%f) RP0(%f,%f)
temp_p->color = wDrawColorBlack;
temp_p->width = 0.0;
temp_p->u.l.pos[0] = cornuData.pos[5];
- temp_p->u.l.pos[1] = end_points[3];
+ temp_p->u.l.pos[1] = points[3];
LogPrintf( "ctoDes2: P0(%f,%f) P1(%f,%f) \n",
temp_p->u.l.pos[0].x,temp_p->u.l.pos[0].y,temp_p->u.l.pos[1].x,temp_p->u.l.pos[1].y );
} else {
@@ -1826,7 +1856,7 @@ LogPrintf( "ctoDes1: R(%f) A0(%f) A1(%f) C(%f,%f) P(%f,%f), EP(%f,%f) RP0(%f,%f)
temp_p->type = SEG_CRVTRK;
temp_p->color = wDrawColorBlack;
temp_p->width = 0.0;
- temp_p->u.c.radius = fabs(radii[3]);
+ temp_p->u.c.radius = -radii[3]; //Assumed Left
if (radii[3]>0)
temp_p->u.c.a0 = FindAngle(end_centers[3],points[3]);
else
@@ -1861,7 +1891,7 @@ LogPrintf( "ctoDes1: R(%f) A0(%f) A1(%f) C(%f,%f) P(%f,%f), EP(%f,%f) RP0(%f,%f)
temp_p->color = wDrawColorBlack;
temp_p->width = 0.0;
temp_p->u.l.pos[0] = cornuData.pos[7];
- temp_p->u.l.pos[1] = end_points[1];
+ temp_p->u.l.pos[1] = points[1];
LogPrintf( "ctoDes2: P0(%f,%f) P1(%f,%f) \n",
temp_p->u.l.pos[0].x,temp_p->u.l.pos[0].y,temp_p->u.l.pos[1].x,temp_p->u.l.pos[1].y );
} else {
@@ -1870,7 +1900,7 @@ LogPrintf( "ctoDes2: P0(%f,%f) P1(%f,%f) \n",
temp_p->type = SEG_CRVTRK;
temp_p->color = wDrawColorBlack;
temp_p->width = 0.0;
- temp_p->u.c.radius = fabs(radii[1]);
+ temp_p->u.c.radius = -radii[1]; //Negative relative to left
if (radii[1]>0)
temp_p->u.c.a0 = FindAngle(end_centers[1],points[1]);
else
@@ -1903,7 +1933,7 @@ LogPrintf( "ctoDes2: R(%f) A0(%f) A1(%f) C(%f,%f) P(%f,%f) EP(%f,%f) RP0(%f,%f)
temp_p->color = wDrawColorBlack;
temp_p->width = 0.0;
temp_p->u.l.pos[0] = cornuData.pos[9];
- temp_p->u.l.pos[1] = end_points[2];
+ temp_p->u.l.pos[1] = points[2];
LogPrintf( "ctoDes2: P0(%f,%f) P1(%f,%f) \n",
temp_p->u.l.pos[0].x,temp_p->u.l.pos[0].y,temp_p->u.l.pos[1].x,temp_p->u.l.pos[1].y );
} else {
@@ -1912,9 +1942,9 @@ LogPrintf( "ctoDes2: P0(%f,%f) P1(%f,%f) \n",
temp_p->type = SEG_CRVTRK;
temp_p->color = wDrawColorBlack;
temp_p->width = 0.0;
- temp_p->u.c.radius = fabs(radii[2]);
- if (radii[2]<0)
- temp_p->u.c.a0 = FindAngle(end_centers[2],points[2]);
+ temp_p->u.c.radius = radii[2];
+ if (radii[2]>0)
+ temp_p->u.c.a0 = FindAngle(end_centers[2],cornuData.pos[9]);
else
temp_p->u.c.a0 = FindAngle(end_centers[2],end_points[2]);
temp_p->u.c.a1 = fabs(end_arcs[2]);
@@ -1945,7 +1975,7 @@ LogPrintf( "ctoDes2: R(%f) A0(%f) A1(%f) C(%f,%f) P(%f,%f) EP(%f,%f) RP0(%f,%f)
static char pathChar[512];
if (dp->type == NTO_CORNU3WAY) {
strcpy(pathChar,"Normal"); /* Also resets array */
- pathLen = strlen(pathChar)+1;
+ pathLen = (wIndex_t)strlen(pathChar)+1;
for (uint8_t i=0;i<CenterEndSeg;i++) {
pathChar[pathLen] = i+1;
pathLen++;
@@ -1955,10 +1985,10 @@ LogPrintf( "ctoDes2: R(%f) A0(%f) A1(%f) C(%f,%f) P(%f,%f) EP(%f,%f) RP0(%f,%f)
pathChar[pathLen] = 0;
pathLen++;
sprintf(&pathChar[pathLen],"%s","Left");
- pathLen += strlen(&pathChar[pathLen])+1;
+ pathLen += (wIndex_t)strlen(&pathChar[pathLen])+1;
} else {
strcpy(pathChar,"Left");
- pathLen = strlen(pathChar)+1;
+ pathLen = (wIndex_t)strlen(pathChar)+1;
}
for (uint8_t i=0;i<Toe1Seg;i++) {
pathChar[pathLen] = i+1;
@@ -1982,7 +2012,7 @@ LogPrintf( "ctoDes2: R(%f) A0(%f) A1(%f) C(%f,%f) P(%f,%f) EP(%f,%f) RP0(%f,%f)
pathLen++;
sprintf(&pathChar[pathLen],"%s","Right");
- pathLen += strlen(&pathChar[pathLen])+1;
+ pathLen += (wIndex_t)strlen(&pathChar[pathLen])+1;
for (uint8_t i=0;i<Toe1Seg;i++) {
pathChar[pathLen] = i+1;
@@ -2107,9 +2137,9 @@ LogPrintf( "ctoDes2: R(%f) A0(%f) A1(%f) C(%f,%f) P(%f,%f) EP(%f,%f) RP0(%f,%f)
switch (dp->type) {
case NTO_CURVED:
d = points[3].x - points[5].x;
- if ( d < -0.10 )
+ if ( d < -MIN_TRACK_LENGTH )
pp = &Crv3Schema;
- else if ( d > 0.10 )
+ else if ( d > MIN_TRACK_LENGTH )
pp = &Crv2Schema;
else
pp = &Crv1Schema;
@@ -2121,7 +2151,7 @@ LogPrintf( "ctoDes2: R(%f) A0(%f) A1(%f) C(%f,%f) P(%f,%f) EP(%f,%f) RP0(%f,%f)
if(dp->type == NTO_CORNU) {
DYNARR_SET( trkEndPt_t, tempEndPts_da, 3 );
- DIST_T end_length = minLength/2;
+ DIST_T end_length = MIN_TRACK_LENGTH;
// Adjust end_points to impose small fixed end segments
@@ -2173,7 +2203,7 @@ LogPrintf( "ctoDes0-%d: EP(%f,%f) NEP(%f,%f) EA(%f) NEA(%f) R(%f) ARC(%f) EC(%f,
cornuData.radius[0] = fabs(radii[0]);
cornuData.radius[1] = fabs(radii[2]);
cornuData.radius[3] = fabs(radii[2]);
- cornuData.radius[5] = fabs(radii[1]); /*Inner*/
+ cornuData.radius[5] = fabs(radii[1]); /*Inner*/
DYNARR_RESET( trkSeg_t, tempSegs_da );
trkSeg_t * temp_p, * cornu_p;
@@ -2188,7 +2218,7 @@ LogPrintf( "ctoDes0-%d: EP(%f,%f) NEP(%f,%f) EA(%f) NEA(%f) R(%f) ARC(%f) EC(%f,
wBool_t back, neg;
DIST_T radius;
coOrd center;
- pos.x = end_points[0].x+newTurnToeL;
+ pos.x = end_points[0].x+newTurnToeL-MIN_TRACK_LENGTH;
pos.y = end_points[0].y; /* This will be close to but not on the curve */
ANGLE_T angle = GetAngleSegs(tempSegs_da.cnt,(trkSeg_t *)(tempSegs_da.ptr),&pos,&inx,NULL,&back,&subSeg,&neg);
segPtr = &DYNARR_N(trkSeg_t, tempSegs_da, inx);
@@ -2239,7 +2269,7 @@ LogPrintf( "ctoDes1: P0(%f,%f) P1(%f,%f) \n",
temp_p->type = SEG_CRVTRK;
temp_p->color = wDrawColorBlack;
temp_p->width = 0.0;
- temp_p->u.c.radius = fabs(radii[0]);;
+ temp_p->u.c.radius = -radii[0];
if (radii[0]>0.0)
temp_p->u.c.a0 = FindAngle(end_centers[0],end_points[0]);
else
@@ -2281,7 +2311,7 @@ LogPrintf( "ctoDes2: P0(%f,%f) P1(%f,%f) \n",
temp_p->type = SEG_CRVTRK;
temp_p->color = wDrawColorBlack;
temp_p->width = 0.0;
- temp_p->u.c.radius = fabs(radii[2]);
+ temp_p->u.c.radius = -radii[2];
if (radii[2]>0)
temp_p->u.c.a0 = FindAngle(end_centers[2],points[2]);
else
@@ -2324,7 +2354,7 @@ LogPrintf( "ctoDes3: P0(%f,%f) P1(%f,%f) \n",
temp_p->type = SEG_CRVTRK;
temp_p->color = wDrawColorBlack;
temp_p->width = 0.0;
- temp_p->u.c.radius = fabs(radii[1]);
+ temp_p->u.c.radius = -radii[1];
if (radii[1]>0)
temp_p->u.c.a0 = FindAngle(end_centers[1],points[1]);
else
@@ -2357,7 +2387,7 @@ LogPrintf( "ctoDes3: R(%f) A0(%f) A1(%f) C(%f,%f) P(%f,%f) EP(%f,%f) RP0(%f,%f)
static char pathChar[512];
strcpy(pathChar,"Normal"); /* Also resets array */
- pathLen = strlen(pathChar)+1;
+ pathLen = (wIndex_t)strlen(pathChar)+1;
for (uint8_t i=0;i<OuterEndSeg;i++) {
pathChar[pathLen] = i+1;
@@ -2370,7 +2400,7 @@ LogPrintf( "ctoDes3: R(%f) A0(%f) A1(%f) C(%f,%f) P(%f,%f) EP(%f,%f) RP0(%f,%f)
sprintf(&pathChar[pathLen],"%s","Reverse");
- pathLen += strlen(&pathChar[pathLen])+1;
+ pathLen += (wIndex_t)strlen(&pathChar[pathLen])+1;
for (uint8_t i=0;i<ToeSeg;i++) {
pathChar[pathLen] = i+1;
pathLen++;
@@ -2393,7 +2423,7 @@ LogPrintf( "ctoDes3: R(%f) A0(%f) A1(%f) C(%f,%f) P(%f,%f) EP(%f,%f) RP0(%f,%f)
if (!( (dp->type== NTO_CORNU) || (dp->type == NTO_CORNUWYE) || (dp->type == NTO_CORNU3WAY))) {
segOrder = pp->segOrder;
- segCnt = strlen( segOrder );
+ segCnt = (wIndex_t)strlen( segOrder );
if (segCnt%3 != 0)
AbortProg( dp->label );
segCnt /= 3;
@@ -2429,11 +2459,8 @@ LogPrintf( "ctoDes3: R(%f) A0(%f) A1(%f) C(%f,%f) P(%f,%f) EP(%f,%f) RP0(%f,%f)
AddRoadbed();
#ifndef MKTURNOUT
- if ( (pathLen=CheckPaths( segCnt, &tempSegs(0), pp->paths )) < 0 )
+ if ( CheckPaths( segCnt, &tempSegs(0), pp->paths ) < 0 )
return NULL;
-
- if (pathLenP)
- *pathLenP = pathLen;
#endif
return pp;
}
@@ -2474,7 +2501,7 @@ static void NewTurnPrint(
{ 0.0, 0.0 },
Pix2CoOrd, CoOrd2Pix };
- if ((pp=LoadSegs( curDesign, TRUE, NULL )) == NULL)
+ if ((pp=LoadSegs( curDesign, TRUE )) == NULL)
return;
if (includeNontrackSegments && customTurnout1)
CopyNonTracks( customTurnout1 );
@@ -2529,26 +2556,25 @@ static void NewTurnPrint(
#endif
orig.x = - ( size.y + orig.x + newTurnTrackGauge/2.0 + 0.5 );
orig.y -= (0.5);
+ coOrd strPos;
for ( i=0, newTurnout_d.orig.x=orig.x; i<ii;
i++, newTurnout_d.orig.x+=newTurnout_d.size.x ) {
for ( j=0, newTurnout_d.orig.y=orig.y; j<jj;
j++, newTurnout_d.orig.y+=newTurnout_d.size.y ) {
newTurnout_d.d = wPrintPageStart();
newTurnout_d.dpi = wDrawGetDPI(newTurnout_d.d);
+ strPos.x = newTurnout_d.orig.x + 3.0;
sprintf( message, "%s", sProdName );
- wDrawString( newTurnout_d.d, POSX(3.0),
- POSY(6.75), 0.0, message, fp, 40,
- wDrawColorBlack, 0 );
+ strPos.y = newTurnout_d.orig.y + 6.75;
+ DrawString( &newTurnout_d, strPos, 0.0, message, fp, 40, wDrawColorBlack );
sprintf( message, _("%s Designer"), _(curDesign->label) );
- wDrawString( newTurnout_d.d, POSX(3.0),
- POSY(6.25), 0.0, message, fp, 30,
- wDrawColorBlack, 0 );
+ strPos.y -= 0.5;
+ DrawString( &newTurnout_d, strPos, 0.0, message, fp, 20, wDrawColorBlack );
sprintf( message, _("%s %d x %d (of %d x %d)"), _("Page"), i+1, j+1, ii, jj );
- wDrawString( newTurnout_d.d, POSX(3.0),
- POSY(5.75), 0.0, message, fp, 20,
- wDrawColorBlack, 0 );
-
+ strPos.y -= 0.5;
+ DrawString( &newTurnout_d, strPos, 0.0, message, fp, 20, wDrawColorBlack );
+ strPos.y -= 0.10;
for ( p=0; p<curDesign->floatCnt; p++ ) {
tmpR = *(FLOAT_T*)(turnDesignPLs[curDesign->floats[p].index].valueP);
sprintf( message, "%s: %s",
@@ -2556,34 +2582,21 @@ static void NewTurnPrint(
curDesign->floats[p].mode==Dim_e?
FormatDistance(tmpR):
FormatFloat(tmpR) );
- wDrawString( newTurnout_d.d, POSX(3.0),
- POSY(5.50-p*0.25), 0.0,
- message, fp, 20, wDrawColorBlack, 0 );
+ strPos.y -= 0.25;
+ DrawString( &newTurnout_d, strPos, 0.0, message, fp, 16, wDrawColorBlack );
}
if (newTurnLeftDesc[0] || newTurnLeftPartno[0]) {
sprintf( message, "%s %s %s", newTurnManufacturer, newTurnLeftPartno, newTurnLeftDesc );
- wDrawString( newTurnout_d.d, POSX(3.0),
- POSY(5.50-curDesign->floatCnt*0.25), 0.0,
- message, fp, 20, wDrawColorBlack, 0 );
+ strPos.y -= 0.25;
+ DrawString( &newTurnout_d, strPos, 0.0, message, fp, 16, wDrawColorBlack );
}
if (newTurnRightDesc[0] || newTurnRightPartno[0]) {
sprintf( message, "%s %s %s", newTurnManufacturer, newTurnRightPartno, newTurnRightDesc );
- wDrawString( newTurnout_d.d, POSX(3.0),
- POSY(5.50-curDesign->floatCnt*0.25-0.25), 0.0,
- message, fp, 20, wDrawColorBlack, 0 );
+ strPos.y -= 0.25;
+ DrawString( &newTurnout_d, strPos, 0.0, message, fp, 16, wDrawColorBlack );
}
- wDrawLine( newTurnout_d.d, POSX(0), POSY(0),
- POSX(newTurnout_d.size.x), POSY(0), 0, wDrawLineSolid,
- wDrawColorBlack, 0 );
- wDrawLine( newTurnout_d.d, POSX(newTurnout_d.size.x), POSY(0.0),
- POSX(newTurnout_d.size.x), POSY(newTurnout_d.size.y), 0,
- wDrawLineSolid, wDrawColorBlack, 0 );
- wDrawLine( newTurnout_d.d, POSX(newTurnout_d.size.x), POSY(newTurnout_d.size.y),
- POSX(0.0), POSY(newTurnout_d.size.y), 0, wDrawLineSolid,
- wDrawColorBlack, 0 );
- wDrawLine( newTurnout_d.d, POSX(0.0), POSY(newTurnout_d.size.y),
- POSX(0.0), POSX(0.0), 0, wDrawLineSolid, wDrawColorBlack, 0 );
+ DrawRectangle( &newTurnout_d, newTurnout_d.orig, newTurnout_d.size, wDrawColorBlack, DRAW_CLOSED );
DrawSegs( &newTurnout_d, zero, 270.0, &tempSegs(0), tempSegs_da.cnt, newTurnTrackGauge, wDrawColorBlack );
@@ -2615,7 +2628,6 @@ static void NewTurnOk( void * context )
{
FILE * f;
toDesignSchema_t * pp;
- wIndex_t pathLen;
int i;
BOOL_T foundR=FALSE;
char * cp;
@@ -2625,16 +2637,20 @@ static void NewTurnOk( void * context )
FLOAT_T flt;
wIndex_t segCnt;
char * customInfoP;
- char *oldLocale = NULL;
- if ((pp=LoadSegs( curDesign, TRUE, &pathLen )) == NULL)
+#ifndef MKTURNOUT
+ if ( ! ParamCheckInputs( &turnDesignPG, (wControl_p)turnDesignPG.okB ) )
return;
+#endif
- if ( (curDesign->strCnt >= 1 && newTurnLeftDesc[0] == 0) ||
- (curDesign->strCnt >= 2 && newTurnRightDesc[0] == 0) ) {
- NoticeMessage( MSG_TODSGN_DESC_NONBLANK, _("Ok"), NULL );
+ if ((pp=LoadSegs( curDesign, TRUE )) == NULL)
return;
- }
+
+// if ( (curDesign->strCnt >= 1 && newTurnLeftDesc[0] == 0) ||
+// (curDesign->strCnt >= 2 && newTurnRightDesc[0] == 0) ) {
+// NoticeMessage( MSG_TODSGN_DESC_NONBLANK, _("Ok"), NULL );
+// return;
+// }
BuildTrimedTitle( message, "\t", newTurnManufacturer, newTurnLeftDesc, newTurnLeftPartno );
#ifndef MKTURNOUT
@@ -2643,7 +2659,7 @@ static void NewTurnOk( void * context )
if ( !NoticeMessage( MSG_TODSGN_REPLACE, _("Yes"), _("No") ) )
return;
}
- oldLocale = SaveLocale("C");
+ SetCLocale();
#endif
f = OpenCustom("a");
@@ -2695,6 +2711,9 @@ static void NewTurnOk( void * context )
strcpy( tempCustom, message );
segCnt = tempSegs_da.cnt;
+ long options = 0;
+ if ( curDesign->type == NTO_D_SLIP && newTurnSlipMode == 1)
+ options |= COMPOUND_OPTION_PATH_NOCOMBINE;
#ifndef MKTURNOUT
if (includeNontrackSegments && customTurnout1)
CopyNonTracks( customTurnout1 );
@@ -2708,13 +2727,12 @@ static void NewTurnOk( void * context )
(curDesign->type == NTO_CORNU3WAY)) {
radii_ends = &radii[0];
}
-
to = CreateNewTurnout( newTurnScaleName, tempCustom, tempSegs_da.cnt, &tempSegs(0),
- pathLen, pp->paths, tempEndPts_da.cnt, &tempEndPts(0), radii, FALSE );
+ pp->paths, tempEndPts_da.cnt, &tempEndPts(0), FALSE, options );
to->customInfo = customInfoP;
#endif
if (f) {
- fprintf( f, "TURNOUT %s \"%s\"\n", newTurnScaleName, PutTitle(tempCustom) );
+ fprintf( f, "TURNOUT %s \"%s\" %ld\n", newTurnScaleName, PutTitle(tempCustom), options );
#ifdef MKTURNOUT
if (doCustomInfoLine)
#endif
@@ -2729,7 +2747,7 @@ static void NewTurnOk( void * context )
points[3].y = - points[3].y;
points[4].y = - points[4].y;
radii[0] = - radii[0];
- LoadSegs( curDesign, FALSE, &pathLen );
+ LoadSegs( curDesign, FALSE );
tempEndPts(2).pos.y = - tempEndPts(2).pos.y;
tempEndPts(2).angle = 180.0 - tempEndPts(2).angle;
BuildTrimedTitle( tempCustom, "\t", newTurnManufacturer, newTurnRightDesc, newTurnRightPartno );
@@ -2740,11 +2758,11 @@ static void NewTurnOk( void * context )
if ( customTurnout2 )
customTurnout2->segCnt = 0;
to = CreateNewTurnout( newTurnScaleName, tempCustom, tempSegs_da.cnt, &tempSegs(0),
- pathLen, pp->paths, tempEndPts_da.cnt, &tempEndPts(0), NULL, FALSE );
+ pp->paths, tempEndPts_da.cnt, &tempEndPts(0), FALSE, options );
to->customInfo = customInfoP;
#endif
if (f) {
- fprintf( f, "TURNOUT %s \"%s\"\n", newTurnScaleName, PutTitle(tempCustom) );
+ fprintf( f, "TURNOUT %s \"%s\" %ld\n", newTurnScaleName, PutTitle(tempCustom), options );
#ifdef MKTURNOUT
if (doCustomInfoLine)
#endif
@@ -2774,7 +2792,7 @@ static void NewTurnOk( void * context )
angles[4] = -angles[4];
angles[5] = -angles[5];
angles[6] = -angles[6];
- LoadSegs( curDesign, FALSE, &pathLen );
+ LoadSegs( curDesign, FALSE );
tempEndPts(1).pos.y = - tempEndPts(1).pos.y;
tempEndPts(1).angle = 180.0 - tempEndPts(1).angle;
tempEndPts(2).pos.y = - tempEndPts(2).pos.y;
@@ -2787,11 +2805,11 @@ static void NewTurnOk( void * context )
if ( customTurnout2 )
customTurnout2->segCnt = 0;
to = CreateNewTurnout( newTurnScaleName, tempCustom, tempSegs_da.cnt, &tempSegs(0),
- pathLen, pp->paths, tempEndPts_da.cnt, &tempEndPts(0), NULL, FALSE );
+ pp->paths, tempEndPts_da.cnt, &tempEndPts(0), FALSE, options );
to->customInfo = customInfoP;
#endif
if (f) {
- fprintf( f, "TURNOUT %s \"%s\"\n", newTurnScaleName, PutTitle(tempCustom) );
+ fprintf( f, "TURNOUT %s \"%s\" %ld\n", newTurnScaleName, PutTitle(tempCustom), options );
#ifdef MKTURNOUT
if (doCustomInfoLine)
#endif
@@ -2807,7 +2825,7 @@ static void NewTurnOk( void * context )
#ifndef MKTURNOUT
if (f)
fclose(f);
- RestoreLocale(oldLocale);
+ SetUserLocale();
includeNontrackSegments = TRUE;
wHide( newTurnW );
DoChangeNotification( CHANGE_PARAMS );
@@ -2826,17 +2844,17 @@ static void NewTurnCancel( wWin_p win )
-static wPos_t turnDesignWidth;
-static wPos_t turnDesignHeight;
+static wWinPix_t turnDesignWidth;
+static wWinPix_t turnDesignHeight;
static void TurnDesignLayout(
paramData_t * pd,
int index,
- wPos_t colX,
- wPos_t * w,
- wPos_t * h )
+ wWinPix_t colX,
+ wWinPix_t * w,
+ wWinPix_t * h )
{
- wPos_t inx;
+ wIndex_t inx;
if ( curDesign == NULL )
return;
if ( index >= I_TO_FIRST_FLOAT && index <= I_TO_LAST_FLOAT ) {
@@ -2856,18 +2874,18 @@ static void TurnDesignLayout(
static void SetupTurnoutDesignerW( toDesignDesc_t * newDesign )
{
- static wPos_t partnoWidth;
+ static wWinPix_t partnoWidth;
int inx;
- wPos_t w, h, ctlH;
+ wWinPix_t w, h, ctlH;
if ( newTurnW == NULL ) {
partnoWidth = wLabelWidth( "999-99999-9999" );
turnDesignPLs[I_TOLDESC+1].winData =
turnDesignPLs[I_TORDESC+1].winData =
- (void*)(intptr_t)partnoWidth;
+ I2VP(partnoWidth);
partnoWidth += wLabelWidth( " # " );
newTurnW = ParamCreateDialog( &turnDesignPG, _("Turnout Designer"), _("Print"), NewTurnPrint, NewTurnCancel, TRUE, TurnDesignLayout, F_BLOCK, NULL );
- for ( inx=0; inx<(sizeof designDescs/sizeof designDescs[0]); inx++ ) {
+ for ( inx=0; inx<COUNT( designDescs ); inx++ ) {
designDescs[inx]->lineC = wLineCreate( turnDesignPG.win, NULL, designDescs[inx]->lineCnt, designDescs[inx]->lines );
wControlShow( (wControl_p)designDescs[inx]->lineC, FALSE );
}
@@ -2944,6 +2962,27 @@ static void SetupTurnoutDesignerW( toDesignDesc_t * newDesign )
w -= partnoWidth;
wStringSetWidth( (wString_p)turnDesignPLs[I_TOLDESC].control, w );
wStringSetWidth( (wString_p)turnDesignPLs[I_TORDESC].control, w );
+ if ( curDesign->type == NTO_CORNU ||
+ curDesign->type == NTO_CORNUWYE ||
+ curDesign->type == NTO_CORNU3WAY ) {
+ turnDesignPLs[I_TOOFFSET+0].winData =
+ turnDesignPLs[I_TOOFFSET+1].winData =
+ turnDesignPLs[I_TOOFFSET+2].winData =
+ turnDesignPLs[I_TOOFFSET+3].winData = &r_10000_10000;
+ turnDesignPLs[I_TOANGLE+0].winData =
+ turnDesignPLs[I_TOANGLE+1].winData =
+ turnDesignPLs[I_TOANGLE+2].winData =
+ turnDesignPLs[I_TOANGLE+3].winData = &r_90_90;
+ } else {
+ turnDesignPLs[I_TOOFFSET+0].winData =
+ turnDesignPLs[I_TOOFFSET+1].winData =
+ turnDesignPLs[I_TOOFFSET+2].winData =
+ turnDesignPLs[I_TOOFFSET+3].winData = &r0d001_10000;
+ turnDesignPLs[I_TOANGLE+0].winData =
+ turnDesignPLs[I_TOANGLE+1].winData =
+ turnDesignPLs[I_TOANGLE+2].winData =
+ turnDesignPLs[I_TOANGLE+3].winData = &r0d001_90;
+ }
ParamLayoutDialog( &turnDesignPG );
}
}
@@ -2989,7 +3028,6 @@ EXPORT void EditCustomTurnout( turnoutInfo_t * to, turnoutInfo_t * to1 )
int i;
toDesignDesc_t * dp;
char * type, * name, *cp, *mfg, *descL, *partL, *descR, *partR;
- wIndex_t pathLen;
long rgb;
trkSeg_p sp0, sp1;
BOOL_T segsDiff;
@@ -2997,13 +3035,13 @@ EXPORT void EditCustomTurnout( turnoutInfo_t * to, turnoutInfo_t * to1 )
if ( ! GetArgs( to->customInfo, "qqqqqc", &type, &name, &mfg, &descL, &partL, &cp ) )
return;
- for ( i=0; i<(sizeof designDescs/sizeof designDescs[0]); i++ ) {
+ for ( i=0; i<COUNT( designDescs ); i++ ) {
dp = designDescs[i];
if ( strcmp( type, dp->label ) == 0 ) {
break;
}
}
- if ( i >= (sizeof designDescs/sizeof designDescs[0]) )
+ if ( i >= COUNT( designDescs ) )
return;
SetupTurnoutDesignerW(dp);
@@ -3054,7 +3092,7 @@ EXPORT void EditCustomTurnout( turnoutInfo_t * to, turnoutInfo_t * to1 )
segsDiff = FALSE;
if ( to ) {
- LoadSegs( dp, TRUE, &pathLen );
+ LoadSegs( dp, TRUE );
segsDiff = FALSE;
if ( to->segCnt == tempSegs_da.cnt ) {
for ( sp0=to->segs,sp1=&tempSegs(0); (!segsDiff) && sp0<&to->segs[to->segCnt]; sp0++,sp1++ ) {
@@ -3112,7 +3150,7 @@ EXPORT void EditCustomTurnout( turnoutInfo_t * to, turnoutInfo_t * to1 )
radii[0] = - radii[0];
radii[1] = - radii[1];
}
- LoadSegs( dp, FALSE, &pathLen );
+ LoadSegs( dp, FALSE );
if ( dp->type==NTO_REGULAR ) {
points[2].y = - points[2].y;
radii[0] = - radii[0];
@@ -3190,9 +3228,9 @@ EXPORT void InitNewTurn( wMenu_p m )
{
int i;
ParamRegister( &turnDesignPG );
- for ( i=0; i<(sizeof designDescs/sizeof designDescs[0]); i++ ) {
+ for ( i=0; i<COUNT( designDescs ); i++ ) {
wMenuPushCreate( m, NULL, _(designDescs[i]->label), 0,
- ShowTurnoutDesigner, (void*)designDescs[i] );
+ ShowTurnoutDesigner, designDescs[i] );
sprintf( message, "%s SHOW %s", TURNOUTDESIGNER, designDescs[i]->label );
AddPlaybackProc( message, (playbackProc_p)ShowTurnoutDesigner, designDescs[i] );
}
@@ -3204,10 +3242,6 @@ EXPORT void InitNewTurn( wMenu_p m )
#ifdef MKTURNOUT
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdarg.h>
-
char message[STR_HUGE_SIZE];
char * curScaleName;
double trackGauge;
@@ -3216,7 +3250,7 @@ wDrawColor drawColorBlack;
long roadbedColorRGB = 0;
EXPORT void AbortProg(
- char * msg,
+ const char * msg,
... )
{
static BOOL_T abort2 = FALSE;
@@ -3229,7 +3263,7 @@ EXPORT void AbortProg(
abort();
}
-void * MyRealloc( void * ptr, long size )
+void * MyRealloc( void * ptr, size_t size )
{
return realloc( ptr, size );
}
@@ -3243,7 +3277,7 @@ EXPORT char * MyStrdup( const char * str )
}
-int NoticeMessage( char * msg, char * yes, char * no, ... )
+int NoticeMessage( const char * msg, const char * yes, const char * no, ... )
{
/*fprintf( stderr, "%s\n", msg );*/
return 0;
@@ -3284,9 +3318,9 @@ EXPORT void ComputeCurvedSeg(
}
}
-EXPORT char * Strcpytrimed( char * dst, char * src, BOOL_T double_quotes )
+EXPORT char * Strcpytrimed( char * dst, const char * src, BOOL_T double_quotes )
{
- char * cp;
+ const char * cp;
while (*src && isspace((unsigned char)*src) ) src++;
if (!*src)
return dst;
@@ -3302,7 +3336,7 @@ EXPORT char * Strcpytrimed( char * dst, char * src, BOOL_T double_quotes )
}
-EXPORT char * BuildTrimedTitle( char * cp, char * sep, char * mfg, char * desc, char * partno )
+EXPORT char * BuildTrimedTitle( char * cp, const char * sep, const char * mfg, const char * desc, const char * partno )
{
cp = Strcpytrimed( cp, mfg, FALSE );
strcpy( cp, sep );
@@ -3502,7 +3536,7 @@ int main ( int argc, char * argv[] )
newTurnScaleName = curScaleName = *argv++;
trackGauge = 0.0;
- for ( inx=0; inx<sizeof scaleMap/sizeof scaleMap[0]; inx++ ) {
+ for ( inx=0; inx<COUNT( scaleMap ); inx++ ) {
if (strcmp( curScaleName, scaleMap[inx].scale ) == 0 ) {
newTurnTrackGauge = trackGauge = scaleMap[inx].trackGauge;
break;
diff --git a/app/bin/ctrain.c b/app/bin/ctrain.c
index b15cb91..f113ee5 100644
--- a/app/bin/ctrain.c
+++ b/app/bin/ctrain.c
@@ -20,27 +20,17 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#ifndef WINDOWS
-#include <errno.h>
-#endif
-#include <ctype.h>
-#include <math.h>
-#include <string.h>
-
-#define PRIVATE_EXTRADATA
-
#include "compound.h"
+#include "cselect.h"
#include "ctrain.h"
#include "cundo.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
#include "trackx.h"
-#include "utility.h"
+#include "common-ui.h"
long programMode;
long maxCouplingSpeed = 100;
@@ -53,7 +43,8 @@ static TRKTYP_T T_CAR = -1;
typedef enum { ST_NotOnTrack, ST_StopManual, ST_EndOfTrack, ST_OpenTurnout, ST_NoRoom, ST_Crashed } trainStatus_e;
-struct extraData {
+typedef struct extraDataCar_t {
+ extraDataBase_t base;
traverseTrack_t trvTrk;
long state;
carItem_p item;
@@ -65,7 +56,7 @@ struct extraData {
DIST_T distance;
coOrd couplerPos[2];
unsigned int trkLayer;
-};
+} extraDataCar_t;
#define NOTALAYER (127)
#define CAR_STATE_IGNORED (1L<<17)
@@ -88,6 +79,15 @@ struct extraData {
#define SetProcessed( XX ) (XX)->state |= CAR_STATE_PROCESSED
#define ClrProcessed( XX ) (XX)->state &= ~CAR_STATE_PROCESSED
+// Scroll the window before the train hits the edge
+#define OFF_F( ORIG, SIZE, LO, HI ) \
+ ( ( (HI).x < (ORIG).x+((SIZE).x)*0.2 && (ORIG).x > 0.0 ) || \
+ ( (LO).x > (ORIG).x+((SIZE).x)*0.8 && (ORIG).x+(SIZE).x < mapD.size.x ) || \
+ ( (HI).y < (ORIG).y+((SIZE).y)*0.2 && (ORIG).y > 0.0 ) || \
+ ( (LO).y > (ORIG).y+((SIZE).y)*0.8 && (ORIG).y+(SIZE).y < mapD.size.y ) )
+#define OFF_FOLLOW( LO, HI ) \
+ OFF_F( mainD.orig, mainD.size, LO, HI )
+
static wButton_p newcarB;
static void ControllerDialogSyncAll(void);
@@ -99,6 +99,7 @@ static coOrd followCenter;
static BOOL_T trainsTimeoutPending;
static enum { TRAINS_STOP, TRAINS_RUN, TRAINS_IDLE, TRAINS_PAUSE } trainsState;
static wIcon_p stopI, goI;
+static wIcon_p stopB, goB;
static void RestartTrains(void);
static void DrawAllCars(void);
static void UncoupleCars(track_p, track_p);
@@ -113,7 +114,7 @@ static void PlaceCar(track_p);
#define WALK_CARS_START( CAR, XX, DIR ) \
while (1) { \
- (XX) = GetTrkExtraData(CAR);\
+ (XX) = GET_EXTRA_DATA(CAR, T_CAR, extraDataCar_t);\
{ \
#define WALK_CARS_END( CAR, XX, DIR ) \
@@ -136,7 +137,7 @@ void CarGetPos(
coOrd * posR,
ANGLE_T * angleR)
{
- struct extraData * xx = GetTrkExtraData(car);
+ struct extraDataCar_t * xx = GET_EXTRA_DATA(car, T_CAR, extraDataCar_t);
if (GetTrkType(car) != T_CAR) {
AbortProg("getCarPos");
@@ -149,7 +150,7 @@ void CarGetPos(
void CarSetVisible(
track_p car)
{
- struct extraData * xx;
+ struct extraDataCar_t * xx;
int dir;
dir = 0;
WALK_CARS_START(car, xx, dir)
@@ -243,7 +244,7 @@ static void DescribeCar(
char * str,
CSIZE_T len)
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCar_t *xx = GET_EXTRA_DATA(trk, T_CAR, extraDataCar_t);
char * cp;
coOrd size;
CarItemSize(xx->item, &size);
@@ -320,7 +321,7 @@ EXPORT void CheckCarTraverse(track_p track) {
track_p car;
for (car=NULL; TrackIterate(&car);) {
if (GetTrkType(car) == T_CAR) {
- struct extraData * xx = GetTrkExtraData(car);
+ struct extraDataCar_t * xx = GET_EXTRA_DATA(car, T_CAR, extraDataCar_t);
if (xx->trvTrk.trk == track) {
xx->trvTrk.trk=NULL;
xx->status = ST_NotOnTrack;
@@ -340,10 +341,10 @@ static void DrawCar(
drawCmd_p d,
wDrawColor color)
{
- struct extraData * xx = GetTrkExtraData(car);
+ struct extraDataCar_t * xx = GET_EXTRA_DATA(car, T_CAR, extraDataCar_t);
int dir;
vector_t coupler[2];
- struct extraData * xx1;
+ struct extraDataCar_t * xx1;
int dir1;
if (drawCarEnable == FALSE) {
@@ -369,7 +370,7 @@ static void DrawCar(
coupler[dir].pos = xx->couplerPos[dir];
if ((car1 = GetTrkEndTrk(car,dir))) {
- xx1 = GetTrkExtraData(car1);
+ xx1 = GET_EXTRA_DATA(car1, T_CAR, extraDataCar_t);
dir1 = (GetTrkEndTrk(car1,0)==car)?0:1;
coupler[dir].angle = FindAngle(xx->couplerPos[dir], xx1->couplerPos[dir1]);
} else {
@@ -387,13 +388,13 @@ static DIST_T DistanceCar(
track_p trk,
coOrd * pos)
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataCar_t * xx = GET_EXTRA_DATA(trk, T_CAR, extraDataCar_t);
DIST_T dist;
coOrd pos1;
coOrd size;
if (IsIgnored(xx)) {
- return 10000.0;
+ return DIST_INF;
}
CarItemSize(xx->item,
@@ -420,7 +421,7 @@ static DIST_T DistanceCar(
static void SetCarBoundingBox(
track_p car)
{
- struct extraData * xx = GetTrkExtraData(car);
+ struct extraDataCar_t * xx = GET_EXTRA_DATA(car, T_CAR, extraDataCar_t);
coOrd lo, hi, p[4];
int inx;
coOrd size;
@@ -464,10 +465,10 @@ track_p NewCar(
ANGLE_T angle)
{
track_p trk;
- struct extraData * xx;
+ struct extraDataCar_t * xx;
trk = NewTrack(index, T_CAR, 2, sizeof(*xx));
/*SetEndPts( trk, 0 );*/
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, T_CAR, extraDataCar_t);
/*SetTrkVisible( trk, IsVisible(xx) );*/
xx->item = item;
xx->trvTrk.pos = pos;
@@ -483,7 +484,7 @@ track_p NewCar(
static void DeleteCar(
track_p trk)
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataCar_t * xx = GET_EXTRA_DATA(trk, T_CAR, extraDataCar_t);
CarItemSetTrack(xx->item, NULL);
}
@@ -508,7 +509,7 @@ static void MoveCar(
track_p car,
coOrd pos)
{
- struct extraData *xx = GetTrkExtraData(car);
+ struct extraDataCar_t *xx = GET_EXTRA_DATA(car, T_CAR, extraDataCar_t);
xx->trvTrk.pos.x += pos.x;
xx->trvTrk.pos.y += pos.y;
xx->trvTrk.trk = NULL;
@@ -522,7 +523,7 @@ static void RotateCar(
coOrd pos,
ANGLE_T angle)
{
- struct extraData *xx = GetTrkExtraData(car);
+ struct extraDataCar_t *xx = GET_EXTRA_DATA(car, T_CAR, extraDataCar_t);
Rotate(&xx->trvTrk.pos, pos, angle);
xx->trvTrk.angle = NormalizeAngle(xx->trvTrk.angle + angle);
xx->trvTrk.trk = NULL;
@@ -536,6 +537,8 @@ static BOOL_T QueryCar(track_p trk, int query)
switch (query) {
case Q_NODRAWENDPT:
return TRUE;
+ case Q_ISTRAIN:
+ return TRUE;
default:
return FALSE;
@@ -547,14 +550,14 @@ static BOOL_T StoreCar(
void **data,
long * len) {
- struct extraData *xx = GetTrkExtraData(car);
+ struct extraDataCar_t *xx = GET_EXTRA_DATA(car, T_CAR, extraDataCar_t);
return StoreCarItem(xx->item,data,len);
}
static BOOL_T ReplayCar (track_p car, void *data,long len) {
- struct extraData *xx = GetTrkExtraData(car);
+ struct extraDataCar_t *xx = GET_EXTRA_DATA(car, T_CAR, extraDataCar_t);
return ReplayCarItem(xx->item,data,len);
}
@@ -633,10 +636,10 @@ typedef struct {
static trainControlDlg_t * curTrainDlg;
-static void SpeedRedraw(wDraw_p, void *, wPos_t, wPos_t);
+static void SpeedRedraw(wDraw_p, void *, wWinPix_t, wWinPix_t);
static void SpeedAction(wAction_t, coOrd);
static void LocoListChangeEntry(track_p, track_p);
-static void CmdTrainExit(void *);
+static void CmdTrainExit(void * unused);
drawCmd_t speedD = {
NULL,
@@ -658,18 +661,18 @@ static char * trainAutoReverseLabels[] = { N_("Auto Reverse"), NULL };
static paramData_t trainPLs[] = {
#define I_LIST (0)
#ifdef WINDOWS
- /*0*/ { PD_DROPLIST, NULL, "list", PDO_NOPREF|PDO_NOPSHUPD, (void*)120, NULL, 0 },
+ /*0*/ { PD_DROPLIST, NULL, "list", PDO_NOPREF|PDO_NOPSHUPD, I2VP(120), NULL, 0 },
#else
/*0*/ { PD_LIST, NULL, "list", PDO_NOPREF|PDO_NOPSHUPD, &listData, NULL, 0 },
#endif
#define I_STATUS (1)
- { PD_MESSAGE, NULL, NULL, 0, (void*)120 },
+ { PD_MESSAGE, NULL, NULL, 0, I2VP(120) },
#define I_POS (2)
- { PD_MESSAGE, NULL, NULL, 0, (void*)120 },
+ { PD_MESSAGE, NULL, NULL, 0, I2VP(120) },
#define I_SLIDER (3)
{ PD_DRAW, NULL, "speed", PDO_NOPSHUPD|PDO_DLGSETY, &speedParamData },
#define I_DIST (4)
- { PD_STRING, NULL, "distance", PDO_DLGNEWCOLUMN, (void*)(100-SLIDER_WIDTH), NULL, BO_READONLY },
+ { PD_STRING, NULL, "distance", PDO_DLGNEWCOLUMN, I2VP(100-SLIDER_WIDTH), NULL, BO_READONLY },
#define I_ZERO (5)
{ PD_BUTTON, NULL, "zeroDistance", PDO_NOPSHUPD|PDO_NOPREF|PDO_DLGHORZ, NULL, NULL, BO_ICON },
#define I_GOTO (6)
@@ -683,10 +686,10 @@ static paramData_t trainPLs[] = {
#define I_STOP (10)
{ PD_BUTTON, NULL, "stop", PDO_DLGWIDE, NULL, N_("Stop") },
#define I_SPEED (11)
- { PD_MESSAGE, NULL, NULL, PDO_DLGIGNOREX, (void *)120 }
+ { PD_MESSAGE, NULL, NULL, PDO_DLGIGNOREX, I2VP(120) }
};
-static paramGroup_t trainPG = { "train", 0, trainPLs, sizeof trainPLs/sizeof trainPLs[0] };
+static paramGroup_t trainPG = { "train", 0, trainPLs, COUNT( trainPLs ) };
typedef struct {
@@ -723,12 +726,12 @@ static wIndex_t FindLoco(
static void SpeedRedraw(
wDraw_p d,
void * context,
- wPos_t w,
- wPos_t h)
+ wWinPix_t w,
+ wWinPix_t h)
{
- wPos_t y, pts[4][2];
+ wDrawPix_t y;
trainControlDlg_p dlg = (trainControlDlg_p)context;
- struct extraData * xx;
+ struct extraDataCar_t * xx;
wDrawColor drawColor;
wDrawClear(d);
@@ -736,7 +739,7 @@ static void SpeedRedraw(
return;
}
- xx = GetTrkExtraData(dlg->train);
+ xx = GET_EXTRA_DATA(dlg->train, T_CAR, extraDataCar_t);
if (xx->speed > MAX_SPEED) {
xx->speed = MAX_SPEED;
@@ -746,25 +749,23 @@ static void SpeedRedraw(
xx->speed = 0;
}
- y = (wPos_t)(xx->speed/MAX_SPEED*((SLIDER_HEIGHT-SLIDER_THICKNESS))
+ y = (xx->speed/MAX_SPEED*((SLIDER_HEIGHT-SLIDER_THICKNESS))
+SLIDER_THICKNESS/2);
drawColor = wDrawFindColor(wRGB(160, 160, 160));
- pts[0][1] = pts[1][1] = y-SLIDER_THICKNESS/2;
- pts[2][1] = pts[3][1] = y+SLIDER_THICKNESS/2;
- pts[0][0] = pts[3][0] = 0;
- pts[1][0] = pts[2][0] = SLIDER_WIDTH;
- wDrawPolygon(d, pts, NULL, 4, drawColor, 0, 0, 0, 1, 0);
- drawColor = wDrawFindColor(wRGB(220, 220, 220));
- pts[0][1] = pts[1][1] = y+SLIDER_THICKNESS/2;
- pts[2][1] = pts[3][1] = y;
- pts[0][0] = pts[3][0] = 0;
- pts[1][0] = pts[2][0] = SLIDER_WIDTH;
- wDrawPolygon(d, pts, NULL, 4, drawColor, 0, 0, 0, 1, 0);
- wDrawLine(d, 0, y, SLIDER_WIDTH, y, 1, wDrawLineSolid, drawColorRed, 0);
- wDrawLine(d, 0, y+SLIDER_THICKNESS/2, SLIDER_WIDTH, y+SLIDER_THICKNESS/2, 1,
- wDrawLineSolid, drawColorBlack, 0);
- wDrawLine(d, 0, y-SLIDER_THICKNESS/2, SLIDER_WIDTH, y-SLIDER_THICKNESS/2, 1,
- wDrawLineSolid, drawColorBlack, 0);
+ coOrd pos0, pos1, siz;
+ y /= speedD.dpi;
+ siz.x = SLIDER_WIDTH/speedD.dpi;
+ siz.y = SLIDER_THICKNESS/speedD.dpi;
+ pos0.x = 0.0;
+ pos0.y = y - siz.y/2.0;
+ DrawRectangle( &speedD, pos0, siz, drawColor, DRAW_FILL );
+ pos1.x = siz.x;
+ pos1.y = pos0.y;
+ DrawLine( &speedD, pos0, pos1, 1, drawColorBlack );
+ pos0.y = pos1.y = y;
+ DrawLine( &speedD, pos0, pos1, 3, drawColorRed );
+ pos0.y = pos1.y = y + siz.y/2.0;
+ DrawLine( &speedD, pos0, pos1, 1, drawColorBlack );
sprintf(dlg->speedS, "%3d %s",
(int)(units==UNITS_ENGLISH?xx->speed:xx->speed*1.6),
(units==UNITS_ENGLISH?"mph":"km/h"));
@@ -778,7 +779,7 @@ static void SpeedAction(
coOrd pos)
{
trainControlDlg_p dlg = curTrainDlg;
- struct extraData * xx;
+ struct extraDataCar_t * xx;
FLOAT_T speed;
BOOL_T startStop;
@@ -786,7 +787,7 @@ static void SpeedAction(
return;
}
- xx = GetTrkExtraData(dlg->train);
+ xx = GET_EXTRA_DATA(dlg->train, T_CAR, extraDataCar_t);
switch (action) {
case C_DOWN:
@@ -841,7 +842,7 @@ static void SpeedAction(
static void ControllerDialogSync(
trainControlDlg_p dlg)
{
- struct extraData * xx=NULL;
+ struct extraDataCar_t * xx=NULL;
wIndex_t inx;
BOOL_T dir;
BOOL_T followMe;
@@ -870,7 +871,7 @@ static void ControllerDialogSync(
if (dlg->train) {
char * statusMsg;
DIST_T speed;
- xx = GetTrkExtraData(dlg->train);
+ xx = GET_EXTRA_DATA(dlg->train, T_CAR, extraDataCar_t);
dir = xx->direction==0?0:1;
speed = xx->speed;
pos = xx->trvTrk.pos;
@@ -996,7 +997,7 @@ static void LocoListChangeEntry(
track_p newLoco)
{
wIndex_t inx = -1;
- struct extraData * xx;
+ struct extraDataCar_t * xx;
if (curTrainDlg == NULL) {
return;
@@ -1005,7 +1006,7 @@ static void LocoListChangeEntry(
if (oldLoco && (inx=FindLoco(oldLoco))>=0) {
if (newLoco) {
locoList(inx).loco = newLoco;
- xx = GetTrkExtraData(newLoco);
+ xx = GET_EXTRA_DATA(newLoco, T_CAR, extraDataCar_t);
locoList(inx).running = IsOnTrack(xx) && xx->speed > 0;
wListSetValues((wList_p)curTrainDlg->trainPGp->paramPtr[I_LIST].control, inx,
CarItemNumber(xx->item), locoList(inx).running?goI:stopI, newLoco);
@@ -1026,7 +1027,7 @@ static void LocoListChangeEntry(
inx = locoList_da.cnt;
DYNARR_APPEND(locoList_t, locoList_da, 10);
locoList(inx).loco = newLoco;
- xx = GetTrkExtraData(newLoco);
+ xx = GET_EXTRA_DATA(newLoco, T_CAR, extraDataCar_t);
locoList(inx).running = IsOnTrack(xx) && xx->speed > 0;
wListAddValue((wList_p)curTrainDlg->trainPGp->paramPtr[I_LIST].control,
CarItemNumber(xx->item), locoList(inx).running?goI:stopI, newLoco);
@@ -1048,7 +1049,7 @@ static void LocoListChangeEntry(
static void LocoListInit(void)
{
track_p train;
- struct extraData * xx;
+ struct extraDataCar_t * xx;
locoList_da.cnt = 0;
for (train=NULL; TrackIterate(&train);) {
@@ -1056,7 +1057,7 @@ static void LocoListInit(void)
continue;
}
- xx = GetTrkExtraData(train);
+ xx = GET_EXTRA_DATA(train, T_CAR, extraDataCar_t);
if (!CarItemIsLoco(xx->item)) {
continue;
@@ -1083,13 +1084,13 @@ static void StopTrain(
track_p train,
trainStatus_e status)
{
- struct extraData * xx;
+ struct extraDataCar_t * xx;
if (train == NULL) {
return;
}
- xx = GetTrkExtraData(train);
+ xx = GET_EXTRA_DATA(train, T_CAR, extraDataCar_t);
xx->speed = 0;
xx->status = status;
LocoListChangeEntry(train, train);
@@ -1133,7 +1134,7 @@ static void MoveMainWindow(
static void SetTrainDirection(
track_p train)
{
- struct extraData *xx, *xx0=GetTrkExtraData(train);
+ struct extraDataCar_t *xx, *xx0=GET_EXTRA_DATA(train, T_CAR, extraDataCar_t);
int dir0;
track_p car;
car = train;
@@ -1161,7 +1162,7 @@ static void ControllerDialogUpdate(
{
trainControlDlg_p dlg = curTrainDlg;
track_p train;
- struct extraData * xx;
+ struct extraDataCar_t * xx;
if (dlg == NULL) {
return;
@@ -1188,7 +1189,7 @@ static void ControllerDialogUpdate(
}
TrainTimeEndPause();
- xx = GetTrkExtraData(dlg->train);
+ xx = GET_EXTRA_DATA(dlg->train, T_CAR, extraDataCar_t);
xx->distance = 0.0;
ParamLoadMessage(dlg->trainPGp, I_DIST, FormatDistance(xx->distance));
ParamLoadControl(curTrainDlg->trainPGp, I_DIST);
@@ -1201,7 +1202,7 @@ static void ControllerDialogUpdate(
}
TrainTimeEndPause();
- xx = GetTrkExtraData(dlg->train);
+ xx = GET_EXTRA_DATA(dlg->train, T_CAR, extraDataCar_t);
followTrain = NULL;
dlg->followMe = FALSE;
ParamLoadControl(curTrainDlg->trainPGp, I_FOLLOW);
@@ -1217,7 +1218,7 @@ static void ControllerDialogUpdate(
if (*(long*)valueP) {
followTrain = dlg->train;
- xx = GetTrkExtraData(dlg->train);
+ xx = GET_EXTRA_DATA(dlg->train, T_CAR, extraDataCar_t);
if (OFF_MAIND(xx->trvTrk.pos, xx->trvTrk.pos)) {
MoveMainWindow(xx->trvTrk.pos, xx->trvTrk.angle);
@@ -1235,7 +1236,7 @@ static void ControllerDialogUpdate(
return;
}
- xx = GetTrkExtraData(dlg->train);
+ xx = GET_EXTRA_DATA(dlg->train, T_CAR, extraDataCar_t);
xx->autoReverse = *(long*)valueP!=0;
break;
@@ -1244,7 +1245,7 @@ static void ControllerDialogUpdate(
return;
}
- xx = GetTrkExtraData(dlg->train);
+ xx = GET_EXTRA_DATA(dlg->train, T_CAR, extraDataCar_t);
dlg->direction = xx->direction = !xx->direction;
wButtonSetLabel((wButton_p)pg->paramPtr[I_DIR].control,
(dlg->direction?_("Reverse"):_("Forward")));
@@ -1303,6 +1304,8 @@ static trainControlDlg_p CreateTrainControlDlg(void)
dlg->trainPGp = &trainPG;
dlg->win = ParamCreateDialog(dlg->trainPGp, _("Train Control"), NULL, NULL,
NULL, FALSE, NULL, 0, ControllerDialogUpdate);
+ speedD.size.x = SLIDER_WIDTH/speedD.dpi;
+ speedD.size.y = SLIDER_HEIGHT/speedD.dpi;
return dlg;
}
@@ -1323,7 +1326,7 @@ static track_p followTrain = NULL;
static void DrawAllCars(void)
{
track_p car;
- struct extraData * xx;
+ struct extraDataCar_t * xx;
coOrd size, lo, hi;
BOOL_T drawCarEnable1 = drawCarEnable;
drawCarEnable = TRUE;
@@ -1333,7 +1336,7 @@ static void DrawAllCars(void)
for (car=NULL; TrackIterate(&car);) {
if (GetTrkType(car) == T_CAR) {
- xx = GetTrkExtraData(car);
+ xx = GET_EXTRA_DATA(car, T_CAR, extraDataCar_t);
CarItemSize(xx->item,
&size); /* TODO assumes xx->trvTrk.pos is the car center */
lo.x = xx->trvTrk.pos.x - size.x/2.0;
@@ -1357,7 +1360,7 @@ static DIST_T GetTrainLength2(
BOOL_T * dir)
{
DIST_T length = 0, carLength;
- struct extraData * xx;
+ struct extraDataCar_t * xx;
WALK_CARS_START(*car0, xx, *dir)
carLength = CarItemCoupledLength(xx->item);
@@ -1383,7 +1386,7 @@ static DIST_T GetTrainLength(
static void PlaceCar(
track_p car)
{
- struct extraData *xx = GetTrkExtraData(car);
+ struct extraDataCar_t *xx = GET_EXTRA_DATA(car, T_CAR, extraDataCar_t);
DIST_T dists[2];
CarItemPlace(xx->item, &xx->trvTrk, dists);
@@ -1414,13 +1417,13 @@ static track_p FindCar(
{
coOrd pos0, pos1;
track_p trk, trk1;
- DIST_T dist1 = 100000, dist;
- struct extraData * xx;
+ DIST_T dist1 = DIST_INF, dist;
+ struct extraDataCar_t * xx;
trk1 = NULL;
for (trk=NULL; TrackIterate(&trk);) {
if (GetTrkType(trk) == T_CAR) {
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, T_CAR, extraDataCar_t);
if (IsIgnored(xx)) {
continue;
@@ -1450,7 +1453,7 @@ static track_p FindMasterLoco(
track_p train,
int * dirR)
{
- struct extraData *xx0;
+ struct extraDataCar_t *xx0;
int dir;
for (dir = 0; dir<2; dir++) {
@@ -1480,7 +1483,7 @@ static track_p PickMasterLoco(
int dir)
{
track_p loco=NULL;
- struct extraData *xx;
+ struct extraDataCar_t *xx;
WALK_CARS_START(car, xx, dir)
if (CarItemIsLoco(xx->item)) {
@@ -1499,7 +1502,7 @@ static track_p PickMasterLoco(
return NULL;
}
- xx = GetTrkExtraData(loco);
+ xx = GET_EXTRA_DATA(loco, T_CAR, extraDataCar_t);
SetLocoMaster(xx);
xx->speed = 0;
LOG(log_trainMove, 1, ("%s becomes master\n", CarItemNumber(xx->item)))
@@ -1558,12 +1561,12 @@ static void CoupleCars(
track_p car2,
int dir2)
{
- struct extraData * xx1, * xx2;
+ struct extraDataCar_t * xx1, * xx2;
track_p loco1, loco2;
track_p car;
int dir;
- xx1 = GetTrkExtraData(car1);
- xx2 = GetTrkExtraData(car2);
+ xx1 = GET_EXTRA_DATA(car1, T_CAR, extraDataCar_t);
+ xx2 = GET_EXTRA_DATA(car2, T_CAR, extraDataCar_t);
if (GetTrkEndTrk(car1,dir1) != NULL || GetTrkEndTrk(car2,dir2) != NULL) {
LOG(log_trainMove, 1, ("coupleCars - already coupled\n"))
@@ -1604,8 +1607,8 @@ static void CoupleCars(
}
if ((loco1 != NULL && loco2 != NULL)) {
- xx1 = GetTrkExtraData(loco1);
- xx2 = GetTrkExtraData(loco2);
+ xx1 = GET_EXTRA_DATA(loco1, T_CAR, extraDataCar_t);
+ xx2 = GET_EXTRA_DATA(loco2, T_CAR, extraDataCar_t);
if (xx1->speed == 0) {
ClrLocoMaster(xx1);
@@ -1651,7 +1654,7 @@ static void PlaceCars(
long crashSpeed,
BOOL_T crashFlip)
{
- struct extraData *xx0 = GetTrkExtraData(car0), *xx;
+ struct extraDataCar_t *xx0 = GET_EXTRA_DATA(car0, T_CAR, extraDataCar_t), *xx;
int dir;
traverseTrack_t trvTrk;
DIST_T length;
@@ -1715,14 +1718,14 @@ static void CrashTrain(
BOOL_T flip)
{
track_p loco;
- struct extraData *xx;
+ struct extraDataCar_t *xx;
loco = FindMasterLoco(car,NULL);
if (loco != NULL) {
StopTrain(loco, ST_Crashed);
}
- xx = GetTrkExtraData(car);
+ xx = GET_EXTRA_DATA(car, T_CAR, extraDataCar_t);
xx->trvTrk = *trvTrkP;
if (dir) {
@@ -1751,13 +1754,13 @@ static BOOL_T CheckCoupling(
BOOL_T doCheckCrash)
{
track_p car1;
- struct extraData *xx0, *xx1;
+ struct extraDataCar_t *xx0, *xx1;
coOrd pos1;
- DIST_T dist0, distc, dist=100000.0;
+ DIST_T dist0, distc, dist=DIST_INF;
int dir0, dir1, dirl;
ANGLE_T angle;
traverseTrack_t trvTrk0, trvTrk1;
- xx0 = xx1 = GetTrkExtraData(car0);
+ xx0 = xx1 = GET_EXTRA_DATA(car0, T_CAR, extraDataCar_t);
/* find length of train from loco to start and end */
dir0 = dir00;
dist0 = GetTrainLength2(&car0, &dir0);
@@ -1775,7 +1778,7 @@ static BOOL_T CheckCoupling(
return TRUE;
}
- xx1 = GetTrkExtraData(car1);
+ xx1 = GET_EXTRA_DATA(car1, T_CAR, extraDataCar_t);
if (!IsOnTrack(xx1)) {
return TRUE;
@@ -1866,7 +1869,7 @@ static BOOL_T CheckCoupling(
xx1 = NULL;
if (loco1) {
- xx1 = GetTrkExtraData(loco1);
+ xx1 = GET_EXTRA_DATA(loco1, T_CAR, extraDataCar_t);
speed1 = (long)xx1->speed;
if (car1 == loco1) {
@@ -1908,9 +1911,9 @@ static void PlaceTrain(
BOOL_T doCheckCoupling)
{
track_p car_curr;
- struct extraData *xx0;
+ struct extraDataCar_t *xx0;
int dir0;
- xx0 = GetTrkExtraData(car0);
+ xx0 = GET_EXTRA_DATA(car0, T_CAR, extraDataCar_t);
LOG(log_trainMove, 2, (" placeTrain: %s [%0.3f %0.3f] A%0.3f",
CarItemNumber(xx0->item), xx0->trvTrk.pos.x, xx0->trvTrk.pos.y,
xx0->trvTrk.angle))
@@ -1918,7 +1921,7 @@ static void PlaceTrain(
for (dir0=0; dir0<2; dir0++) {
int dir;
- struct extraData *xx;
+ struct extraDataCar_t *xx;
car_curr = car0;
dir = dir0;
xx = xx0;
@@ -1955,7 +1958,7 @@ static void PlaceTrainInit(
ANGLE_T angle0,
BOOL_T doCheckCoupling)
{
- struct extraData * xx = GetTrkExtraData(car0);
+ struct extraDataCar_t * xx = GET_EXTRA_DATA(car0, T_CAR, extraDataCar_t);
xx->trvTrk.trk = trk0;
xx->trvTrk.dist = xx->trvTrk.length = -1;
xx->trvTrk.pos = pos0;
@@ -1968,7 +1971,7 @@ static void FlipTrain(
track_p train)
{
DIST_T d0, d1;
- struct extraData * xx;
+ struct extraDataCar_t * xx;
if (train == NULL) {
return;
@@ -1976,7 +1979,7 @@ static void FlipTrain(
d0 = GetTrainLength(train, 0);
d1 = GetTrainLength(train, 1);
- xx = GetTrkExtraData(train);
+ xx = GET_EXTRA_DATA(train, T_CAR, extraDataCar_t);
TraverseTrack2(&xx->trvTrk, d0-d1);
FlipTraverseTrack(&xx->trvTrk);
xx->trvTrk.length = -1;
@@ -1989,7 +1992,7 @@ static BOOL_T MoveTrain(
long timeD)
{
DIST_T ips, dist0, dist1;
- struct extraData *xx, *xx1;
+ struct extraDataCar_t *xx, *xx1;
traverseTrack_t trvTrk;
DIST_T length;
track_p car1;
@@ -2000,7 +2003,7 @@ static BOOL_T MoveTrain(
return FALSE;
}
- xx = GetTrkExtraData(train);
+ xx = GET_EXTRA_DATA(train, T_CAR, extraDataCar_t);
if (xx->speed <= 0) {
return FALSE;
@@ -2086,7 +2089,7 @@ static BOOL_T MoveTrain(
}
followTrain = NULL;
- } else if (OFF_MAIND(xx->trvTrk.pos, xx->trvTrk.pos)) {
+ } else if (OFF_FOLLOW(xx->trvTrk.pos, xx->trvTrk.pos)) {
MoveMainWindow(xx->trvTrk.pos,
NormalizeAngle(xx->trvTrk.angle+(xx->direction?180.0:0.0)));
followCenter = mainCenter;
@@ -2102,14 +2105,14 @@ static BOOL_T MoveTrains(long timeD)
{
BOOL_T trains_moved = FALSE;
track_p train;
- struct extraData * xx;
+ struct extraDataCar_t * xx;
for (train=NULL; TrackIterate(&train);) {
if (GetTrkType(train) != T_CAR) {
continue;
}
- xx = GetTrkExtraData(train);
+ xx = GET_EXTRA_DATA(train, T_CAR, extraDataCar_t);
if (!CarItemIsLoco(xx->item)) {
continue;
@@ -2298,7 +2301,7 @@ void AttachTrains(void)
{
track_p car;
track_p loco;
- struct extraData * xx;
+ struct extraDataCar_t * xx;
coOrd pos;
track_p trk;
ANGLE_T angle;
@@ -2312,7 +2315,7 @@ void AttachTrains(void)
continue;
}
- xx = GetTrkExtraData(car);
+ xx = GET_EXTRA_DATA(car, T_CAR, extraDataCar_t);
ClrProcessed(xx);
}
@@ -2321,7 +2324,7 @@ void AttachTrains(void)
continue;
}
- xx = GetTrkExtraData(car);
+ xx = GET_EXTRA_DATA(car, T_CAR, extraDataCar_t);
if (IsProcessed(xx)) {
continue;
@@ -2330,7 +2333,7 @@ void AttachTrains(void)
loco = FindMasterLoco(car, NULL);
if (loco != NULL) {
- xx = GetTrkExtraData(loco);
+ xx = GET_EXTRA_DATA(loco, T_CAR, extraDataCar_t);
} else {
loco = car;
}
@@ -2390,7 +2393,7 @@ void AttachTrains(void)
continue;
}
- xx = GetTrkExtraData(car);
+ xx = GET_EXTRA_DATA(car, T_CAR, extraDataCar_t);
ClrProcessed(xx);
}
}
@@ -2399,7 +2402,7 @@ void AttachTrains(void)
static void UpdateTrainAttachment(void)
{
track_p trk;
- struct extraData * xx;
+ struct extraDataCar_t * xx;
for (trk=NULL; TrackIterate(&trk);) {
ClrTrkBits(trk, TB_CARATTACHED);
@@ -2407,7 +2410,7 @@ static void UpdateTrainAttachment(void)
for (trk=NULL; TrackIterate(&trk);) {
if (GetTrkType(trk) == T_CAR) {
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, T_CAR, extraDataCar_t);
if (xx->trvTrk.trk != NULL) {
SetTrkBits(xx->trvTrk.trk, TB_CARATTACHED);
@@ -2422,7 +2425,7 @@ static BOOL_T TrainOnMovableTrack(
track_p *trainR)
{
track_p train;
- struct extraData * xx;
+ struct extraDataCar_t * xx;
int dir;
for (train=NULL; TrackIterate(&train);) {
@@ -2430,7 +2433,7 @@ static BOOL_T TrainOnMovableTrack(
continue;
}
- xx = GetTrkExtraData(train);
+ xx = GET_EXTRA_DATA(train, T_CAR, extraDataCar_t);
if (IsOnTrack(xx)) {
if (xx->trvTrk.trk == trk) {
@@ -2493,8 +2496,8 @@ static STATUS_T CmdTrain(wAction_t action, coOrd pos)
ANGLE_T angle1;
EPINX_T ep0, ep1;
int dir;
- struct extraData * xx=NULL;
- wPos_t w, h;
+ struct extraDataCar_t * xx=NULL;
+ wWinPix_t w, h;
switch (action) {
case C_START:
@@ -2507,11 +2510,11 @@ static STATUS_T CmdTrain(wAction_t action, coOrd pos)
if (CarAvailableCount() <= 0) {
if (NoticeMessage(MSG_NO_CARS, _("Yes"), _("No")) > 0) {
- DoCarDlg();
+ DoCarDlg(NULL);
DoChangeNotification(CHANGE_PARAMS);
}
}
-
+ SetAllTrackSelect( FALSE );
EnableCommands();
if (curTrainDlg == NULL) {
@@ -2525,7 +2528,7 @@ static STATUS_T CmdTrain(wAction_t action, coOrd pos)
tempSegs_da.cnt = 0;
DYNARR_SET(trkSeg_t, tempSegs_da, 8);
RestartTrains();
- wButtonSetLabel(trainPauseB, (char*)goI);
+ wButtonSetLabel(trainPauseB, (char*)goB);
trainTime0 = 0;
AttachTrains();
curTrainDlg->train = NULL;
@@ -2534,7 +2537,7 @@ static STATUS_T CmdTrain(wAction_t action, coOrd pos)
LocoListInit();
ControllerDialogSync(curTrainDlg);
wShow(curTrainDlg->win);
- wControlShow((wControl_p)newcarB, (toolbarSet&(1<<BG_HOTBAR)) == 0);
+ wControlShow((wControl_p)newcarB, (toolbarSet&(1<<BG_TRAIN)));
currCarItemPtr = NULL;
TempRedraw(); // CmdTrain C_START
return C_CONTINUE;
@@ -2568,7 +2571,7 @@ static STATUS_T CmdTrain(wAction_t action, coOrd pos)
return C_CONTINUE;
}
- xx = GetTrkExtraData(currCar);
+ xx = GET_EXTRA_DATA(currCar, T_CAR, extraDataCar_t);
xx->pencils = FALSE;
dist = CarItemCoupledLength(xx->item)/2.0;
Translate(&pos, xx->trvTrk.pos, xx->trvTrk.angle, dist);
@@ -2605,13 +2608,13 @@ static STATUS_T CmdTrain(wAction_t action, coOrd pos)
if (logTable(log_trainMove).level >= 1) {
if (currCar) {
- xx = GetTrkExtraData(currCar);
+ xx = GET_EXTRA_DATA(currCar, T_CAR, extraDataCar_t);
LogPrintf("selected %s\n", CarItemNumber(xx->item));
for (dir=0; dir<2; dir++) {
int dir1 = dir;
track_p car1 = currCar;
- struct extraData * xx1 = GetTrkExtraData(car1);
+ struct extraDataCar_t * xx1 = GET_EXTRA_DATA(car1, T_CAR, extraDataCar_t);
LogPrintf("dir=%d\n", dir1);
WALK_CARS_START(car1, xx1, dir1)
LogPrintf(" %s [%0.3f,%d]\n", CarItemNumber(xx1->item), xx1->trvTrk.angle,
@@ -2642,7 +2645,7 @@ static STATUS_T CmdTrain(wAction_t action, coOrd pos)
pos.x += delta.x;
pos.y += delta.y;
pos0 = pos;
- xx = GetTrkExtraData(currCar);
+ xx = GET_EXTRA_DATA(currCar, T_CAR, extraDataCar_t);
trk0 = OnTrack(&pos0, FALSE, TRUE);
if (/*currCarItemPtr != NULL &&*/ trk0) {
@@ -2672,7 +2675,7 @@ static STATUS_T CmdTrain(wAction_t action, coOrd pos)
trk0 = FindMasterLoco(currCar, NULL);
if (trk0) {
- xx = GetTrkExtraData(trk0);
+ xx = GET_EXTRA_DATA(trk0, T_CAR, extraDataCar_t);
if (!IsOnTrack(xx) || xx->speed <= 0) {
StopTrain(trk0, ST_StopManual);
@@ -2703,7 +2706,7 @@ static STATUS_T CmdTrain(wAction_t action, coOrd pos)
QueryTrack(trk0, Q_CAN_NEXT_POSITION) &&
TrainOnMovableTrack(trk0, &trk1)) {
if (trk1) {
- xx = GetTrkExtraData(trk1);
+ xx = GET_EXTRA_DATA(trk1, T_CAR, extraDataCar_t);
pos1 = xx->trvTrk.pos;
angle1 = xx->trvTrk.angle;
} else {
@@ -2750,7 +2753,7 @@ static STATUS_T CmdTrain(wAction_t action, coOrd pos)
return C_CONTINUE;
}
- xx = GetTrkExtraData(trainFuncCar);
+ xx = GET_EXTRA_DATA(trainFuncCar, T_CAR, extraDataCar_t);
if (xx->pencils) {
wMenuPushEnable(trainPopupMI[DO_PENCILS_OFF], TRUE);
wMenuPushEnable(trainPopupMI[DO_PENCILS_ON], FALSE);
@@ -2768,7 +2771,7 @@ static STATUS_T CmdTrain(wAction_t action, coOrd pos)
!IsLocoMaster(xx));
if (trk0) {
- xx = GetTrkExtraData(trk0);
+ xx = GET_EXTRA_DATA(trk0, T_CAR, extraDataCar_t);
}
wMenuPushEnable(trainPopupMI[DO_CHANGEDIR], trk0!=NULL);
@@ -2853,22 +2856,24 @@ STATUS_T CmdCarDescAction(
#include "bitmaps/train.xpm"
#include "bitmaps/exit.xpm"
-#include "bitmaps/newcar.xpm"
+#include "bitmaps/new-car.xpm"
#include "bitmaps/zero.xpm"
-#include "bitmaps/ballgreen.xpm"
-#include "bitmaps/ballred.xpm"
+#include "bitmaps/go.xpm"
+#include "bitmaps/stop.xpm"
+#include "bitmaps/greendot.xpm"
+#include "bitmaps/reddot.xpm"
-static void CmdTrainStopGo(void * junk)
+static void CmdTrainStopGo(void * unused)
{
wIcon_p icon;
if (trainsState == TRAINS_STOP) {
- icon = goI;
+ icon = goB;
RestartTrains();
} else {
trainsState = TRAINS_STOP;
- icon = stopI;
+ icon = stopB;
TrainTimeEndPause();
}
@@ -2894,7 +2899,7 @@ static BOOL_T TrainStopGoPlayback(char * line)
}
-static void CmdTrainExit(void * junk)
+static void CmdTrainExit(void * unused)
{
Reset();
InfoSubstituteControls(NULL, NULL);
@@ -2904,7 +2909,7 @@ static void CmdTrainExit(void * junk)
static void TrainFunc(
void * action)
{
- struct extraData * xx, *xx1;
+ struct extraDataCar_t * xx, *xx1;
ANGLE_T angle;
int dir;
track_p loco;
@@ -2918,12 +2923,12 @@ static void TrainFunc(
return;
}
- xx = GetTrkExtraData(trainFuncCar);
+ xx = GET_EXTRA_DATA(trainFuncCar, T_CAR, extraDataCar_t);
angle = FindAngle(xx->trvTrk.pos, trainFuncPos);
angle = NormalizeAngle(angle-xx->trvTrk.angle);
dir = (angle>90&&angle<270);
- switch ((int)(long)action) {
+ switch (VP2L(action)) {
case DO_UNCOUPLE:
if (GetTrkEndTrk(trainFuncCar,dir)) {
UncoupleCars(trainFuncCar, GetTrkEndTrk(trainFuncCar,dir));
@@ -3010,7 +3015,7 @@ static void TrainFunc(
WALK_CARS_START(trainFuncCar, xx, dir)
if (temp0) {
- xx1 = GetTrkExtraData(temp0);
+ xx1 = GET_EXTRA_DATA(temp0, T_CAR, extraDataCar_t);
temp0->deleted = TRUE;
/*DeleteTrack( temp0, FALSE );*/
CarItemUpdate(xx1->item);
@@ -3020,7 +3025,7 @@ static void TrainFunc(
WALK_CARS_END(trainFuncCar, xx, dir)
if (temp0) {
- xx1 = GetTrkExtraData(temp0);
+ xx1 = GET_EXTRA_DATA(temp0, T_CAR, extraDataCar_t);
temp0->deleted = TRUE;
/*DeleteTrack( temp0, FALSE );*/
CarItemUpdate(xx1->item);
@@ -3043,7 +3048,7 @@ static void TrainFunc(
LOG(log_trainMove, 1, ("%s gets master\n", CarItemNumber(xx->item)))
if (loco) {
- xx1 = GetTrkExtraData(loco);
+ xx1 = GET_EXTRA_DATA(loco, T_CAR, extraDataCar_t);
ClrLocoMaster(xx1);
LOG(log_trainMove, 1, ("%s looses master\n", CarItemNumber(xx1->item)))
xx->speed = xx1->speed;
@@ -3060,7 +3065,7 @@ static void TrainFunc(
loco = FindMasterLoco(trainFuncCar, NULL);
if (loco) {
- xx = GetTrkExtraData(loco);
+ xx = GET_EXTRA_DATA(loco, T_CAR, extraDataCar_t);
xx->direction = !xx->direction;
SetTrainDirection(loco);
ControllerDialogSync(curTrainDlg);
@@ -3095,40 +3100,43 @@ void InitCmdTrain(wMenu_p menu)
log_trainPlayback = LogFindIndex("trainPlayback");
trainPLs[I_ZERO].winLabel = (char*)wIconCreatePixMap(zero_xpm);
ParamRegister(&trainPG);
- trainCmdInx = AddMenuButton(menu, CmdTrain, "cmdTrain", _("Train"),
- wIconCreatePixMap(train_xpm), LEVEL0_50, IC_POPUP3|IC_LCLICK|IC_RCLICK, 0,
+ trainCmdInx = AddMenuButton(menu, CmdTrain, "cmdTrain", _("Run Trains"),
+ wIconCreatePixMap(train_xpm[iconSize]), LEVEL0_50, IC_POPUP3|IC_LCLICK|IC_RCLICK, 0,
NULL);
- stopI = wIconCreatePixMap(ballred);
- goI = wIconCreatePixMap(ballgreen);
- trainPauseB = AddToolbarButton("cmdTrainPause", stopI, IC_MODETRAIN_ONLY,
+ stopI = wIconCreatePixMap(reddot);
+ goI = wIconCreatePixMap(greendot);
+ stopB = wIconCreatePixMap(stop_xpm[iconSize]);
+ goB = wIconCreatePixMap(go_xpm[iconSize]);
+ trainPauseB = AddToolbarButton("cmdTrainPause", stopB, IC_MODETRAIN_ONLY,
CmdTrainStopGo, NULL);
- AddToolbarButton("cmdTrainExit", wIconCreatePixMap(exit_xpm), IC_MODETRAIN_ONLY,
+ AddToolbarButton("cmdTrainExit", wIconCreatePixMap(exit_xpm[iconSize]), IC_MODETRAIN_ONLY,
CmdTrainExit, NULL);
- newcarB = AddToolbarButton("cmdTrainNewCar", wIconCreatePixMap(newcar_xpm),
+ newcarB = AddToolbarButton("cmdTrainNewCar", wIconCreatePixMap(new_car_xpm[iconSize]),
IC_MODETRAIN_ONLY, CarItemLoadList, NULL);
T_CAR = InitObject(&carCmds);
- trainPopupM = MenuRegister("Train Commands");
+
+ trainPopupM = MenuRegister("Train Commands");
trainPopupMI[DO_UNCOUPLE] = wMenuPushCreate(trainPopupM, "", _("Uncouple"), 0,
- TrainFunc, (void*)DO_UNCOUPLE);
+ TrainFunc, I2VP(DO_UNCOUPLE));
trainPopupMI[DO_FLIPCAR] = wMenuPushCreate(trainPopupM, "", _("Flip Car"), 0,
- TrainFunc, (void*)DO_FLIPCAR);
+ TrainFunc, I2VP(DO_FLIPCAR));
trainPopupMI[DO_PENCILS_ON] = wMenuPushCreate(trainPopupM, "", _("Clearance Lines On"), 0,
- TrainFunc, (void*)DO_PENCILS_ON);
+ TrainFunc, I2VP(DO_PENCILS_ON));
trainPopupMI[DO_PENCILS_OFF] = wMenuPushCreate(trainPopupM, "", _("Clearance Lines Off"), 0,
- TrainFunc, (void*)DO_PENCILS_OFF);
+ TrainFunc, I2VP(DO_PENCILS_OFF));
trainPopupMI[DO_FLIPTRAIN] = wMenuPushCreate(trainPopupM, "", _("Flip Train"),
- 0, TrainFunc, (void*)DO_FLIPTRAIN);
+ 0, TrainFunc, I2VP(DO_FLIPTRAIN));
trainPopupMI[DO_MUMASTER] = wMenuPushCreate(trainPopupM, "", _("MU Master"),
- 0, TrainFunc, (void*)DO_MUMASTER);
+ 0, TrainFunc, I2VP(DO_MUMASTER));
trainPopupMI[DO_CHANGEDIR] = wMenuPushCreate(trainPopupM, "",
- _("Change Direction"), 0, TrainFunc, (void*)DO_CHANGEDIR);
+ _("Change Direction"), 0, TrainFunc, I2VP(DO_CHANGEDIR));
trainPopupMI[DO_STOP] = wMenuPushCreate(trainPopupM, "", _("Stop"), 0,
- TrainFunc, (void*)DO_STOP);
+ TrainFunc, I2VP(DO_STOP));
wMenuSeparatorCreate(trainPopupM);
trainPopupMI[DO_DELCAR] = wMenuPushCreate(trainPopupM, "", _("Remove Car"),
- 0, TrainFunc, (void*)DO_DELCAR);
+ 0, TrainFunc, I2VP(DO_DELCAR));
trainPopupMI[DO_DELTRAIN] = wMenuPushCreate(trainPopupM, "",
- _("Remove Train"), 0, TrainFunc, (void*)DO_DELTRAIN);
+ _("Remove Train"), 0, TrainFunc, I2VP(DO_DELTRAIN));
AddPlaybackProc("TRAINSTOPGO", (playbackProc_p)TrainStopGoPlayback, NULL);
AddPlaybackProc("TRAINPAUSE", (playbackProc_p)TrainTimeDoPause, NULL);
AddPlaybackProc("TRAINMOVIE", (playbackProc_p)TrainDoMovie, NULL);
diff --git a/app/bin/ctrain.h b/app/bin/ctrain.h
index 858860b..f11ba81 100644
--- a/app/bin/ctrain.h
+++ b/app/bin/ctrain.h
@@ -24,8 +24,7 @@
#define HAVE_CTRAIN_H
#include "common.h"
-#include "include/paramfile.h"
-#include "track.h"
+#include "track.h" //- traverseTrack
extern wIndex_t trainCmdInx;
@@ -39,7 +38,7 @@ typedef struct {
extern carItem_p currCarItemPtr;
extern wControl_p newCarControls[2];
-void DoCarDlg( void );
+void DoCarDlg( void * unused );
BOOL_T CarItemRead( char * );
track_p NewCar( wIndex_t, carItem_p, coOrd, ANGLE_T );
void CarGetPos( track_p, coOrd *, ANGLE_T * );
diff --git a/app/bin/cturnout.c b/app/bin/cturnout.c
index 150f381..02eadef 100644
--- a/app/bin/cturnout.c
+++ b/app/bin/cturnout.c
@@ -1,30 +1,26 @@
/** \file cturnout.c
- * T_TURNOUT
+ * Turnout object handling and drawing
*/
-/* XTrkCad - Model Railroad CAD
- * Copyright (C) 2005 Dave Bullis
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include <ctype.h>
-#include <math.h>
-#include <stdint.h>
-#include <string.h>
-
+ /* XTrkCad - Model Railroad CAD
+ * Copyright (C) 2005 Dave Bullis
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include "common.h"
#include "ccurve.h"
#include "tbezier.h"
#include "tcornu.h"
@@ -34,14 +30,13 @@
#include "cundo.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "param.h"
+#include "cselect.h"
#include "include/paramfile.h"
#include "track.h"
#include "trackx.h"
-#include "utility.h"
+#include "common-ui.h"
EXPORT TRKTYP_T T_TURNOUT = -1;
@@ -51,13 +46,17 @@ EXPORT TRKTYP_T T_TURNOUT = -1;
EXPORT dynArr_t turnoutInfo_da;
-EXPORT turnoutInfo_t * curTurnout = NULL;
+EXPORT turnoutInfo_t* curTurnout = NULL;
EXPORT long curTurnoutEp = 0;
static int curTurnoutInx = -1;
+/** @logcmd @showrefby turnout=n cturnout.c */
static int log_turnout = 0;
+/** @logcmd @showrefby traverseTurnout=n cturnout.c */
static int log_traverseTurnout = 0;
+/** @logcmd @showrefby suppresscheckpaths=n cturnout.c */
static int log_suppressCheckPaths = 0;
+/** @logcmd @showrefby splitturnout=n cturnout.c */
static int log_splitturnout = 0;
static wMenu_p turnoutPopupM;
@@ -75,33 +74,99 @@ static drawCmd_t turnoutD = {
static wIndex_t turnoutHotBarCmdInx;
static wIndex_t turnoutInx;
static long hideTurnoutWindow;
-static void RedrawTurnout(void);
-static void SelTurnoutEndPt( wIndex_t, coOrd );
-static void HilightEndPt( void );
+static void RedrawTurnout( wDraw_p d, void * context, wWinPix_t x, wWinPix_t y );
+static void SelTurnoutEndPt(wIndex_t, coOrd);
+static void HilightEndPt(void);
-static wPos_t turnoutListWidths[] = { 80, 80, 220 };
-static const char * turnoutListTitles[] = { N_("Manufacturer"), N_("Part No"), N_("Description") };
+static wWinPix_t turnoutListWidths[] = { 80, 80, 220 };
+static const char* turnoutListTitles[] = { N_("Manufacturer"), N_("Part No"), N_("Description") };
static paramListData_t listData = { 13, 400, 3, turnoutListWidths, turnoutListTitles };
-static const char * hideLabels[] = { N_("Hide"), NULL };
-static paramDrawData_t turnoutDrawData = { 490, 200, (wDrawRedrawCallBack_p)RedrawTurnout, SelTurnoutEndPt, &turnoutD };
+static const char* hideLabels[] = { N_("Hide"), NULL };
+static paramDrawData_t turnoutDrawData = { 490, 200, RedrawTurnout, SelTurnoutEndPt, &turnoutD };
static paramData_t turnoutPLs[] = {
#define I_LIST (0)
#define turnoutListL ((wList_p)turnoutPLs[I_LIST].control)
- { PD_LIST, &turnoutInx, "list", PDO_NOPREF|PDO_DLGRESIZEW, &listData, NULL, BL_DUP },
+ { PD_LIST, &turnoutInx, "list", PDO_NOPREF | PDO_DLGRESIZEW, &listData, NULL, BL_DUP },
#define I_DRAW (1)
#define turnoutDrawD ((wDraw_p)turnoutPLs[I_DRAW].control)
- { PD_DRAW, NULL, "canvas", PDO_NOPSHUPD|PDO_DLGUNDERCMDBUTT|PDO_DLGRESIZE, &turnoutDrawData, NULL, 0 },
+ { PD_DRAW, NULL, "canvas", PDO_NOPSHUPD | PDO_DLGUNDERCMDBUTT | PDO_DLGRESIZE, &turnoutDrawData, NULL, 0 },
#define I_NEW (2)
#define turnoutNewM ((wMenu_p)turnoutPLs[I_NEW].control)
{ PD_MENU, NULL, "new", PDO_DLGCMDBUTTON, NULL, N_("New") },
#define I_HIDE (3)
#define turnoutHideT ((wChoice_p)turnoutPLs[I_HIDE].control)
- { PD_TOGGLE, &hideTurnoutWindow, "hide", PDO_DLGCMDBUTTON, /*CAST_AWAY_CONST*/(void*)hideLabels, NULL, BC_NOBORDER } };
-static paramGroup_t turnoutPG = { "turnout", 0, turnoutPLs, sizeof turnoutPLs/sizeof turnoutPLs[0] };
+ { PD_TOGGLE, &hideTurnoutWindow, "hide", PDO_DLGCMDBUTTON, hideLabels, NULL, BC_NOBORDER } };
+static paramGroup_t turnoutPG = { "turnout", 0, turnoutPLs, COUNT( turnoutPLs ) };
#endif
+/* Draw turnout data */
+
+/**
+ * The types of turnouts that get enhanced drawing methods
+ */
+enum dtoType {
+ DTO_INVALID,
+ DTO_NORMAL,
+ DTO_THREE,
+ DTO_WYE,
+
+ DTO_CURVED,
+
+ DTO_XING,
+ DTO_XNG9,
+ DTO_SSLIP,
+ DTO_DSLIP,
+
+ DTO_LCROSS,
+ DTO_RCROSS,
+ DTO_DCROSS
+};
+
+// Define to plot control points (DTO_NORMAL, DTO_CURVED, DTO_XING, DTO_LCROSS)
+// #define DTO_DEBUG DTO_XING
+
+#define DTO_DIM 4 // Maximum number of paths
+#define DTO_SEGS 24 // Maximum number of control points
+
+static struct DrawToData_t {
+ TRKINX_T index;
+ enum dtoType toType;
+ track_p trk;
+ int bridge;
+ int endCnt;
+ int pathCnt;
+ int routeCnt;
+ int strCnt;
+ int crvCnt;
+ int rgtCnt;
+ int lftCnt;
+ int strPath;
+ int str2Path;
+ int crvPath;
+ int crv2Path;
+ int origCnt;
+ int origins[DTO_DIM];
+ coOrd midPt;
+ struct extraDataCompound_t* xx;
+} dtod;
+
+struct DrawTo_t {
+ int n;
+ trkSeg_p trkSeg[DTO_SEGS];
+ coOrd base[DTO_SEGS];
+ coOrd baseLast;
+ DIST_T dy[DTO_SEGS];
+ ANGLE_T angle;
+ ANGLE_T crvAngle;
+ coOrd pts[DTO_SEGS];
+ coOrd ptsLast;
+ char type;
+};
+
+static struct DrawTo_t dto[DTO_DIM];
+
+
-
/****************************************
*
* TURNOUT LIST MANAGEMENT
@@ -109,47 +174,49 @@ static paramGroup_t turnoutPG = { "turnout", 0, turnoutPLs, sizeof turnoutPLs/si
*/
-EXPORT turnoutInfo_t * CreateNewTurnout(
- char * scale,
- char * title,
- wIndex_t segCnt,
- trkSeg_p segData,
- wIndex_t pathLen,
- PATHPTR_T paths,
- EPINX_T endPtCnt,
- trkEndPt_t * endPts,
- DIST_T * radii,
- wBool_t updateList )
+EXPORT turnoutInfo_t* CreateNewTurnout(
+ char* scale,
+ char* title,
+ wIndex_t segCnt,
+ trkSeg_p segData,
+ PATHPTR_T paths,
+ EPINX_T endPtCnt,
+ trkEndPt_t* endPts,
+ wBool_t updateList,
+ long options)
{
- turnoutInfo_t * to;
- long changes=0;
+ turnoutInfo_t* to;
+ long changes = 0;
- to = FindCompound( FIND_TURNOUT, scale, title );
+ to = FindCompound(FIND_TURNOUT, scale, title);
if (to == NULL) {
- DYNARR_APPEND( turnoutInfo_t *, turnoutInfo_da, 10 );
- to = (turnoutInfo_t*)MyMalloc( sizeof *to );
- turnoutInfo(turnoutInfo_da.cnt-1) = to;
- to->title = MyStrdup( title );
- to->scaleInx = LookupScale( scale );
+ DYNARR_APPEND(turnoutInfo_t*, turnoutInfo_da, 10);
+ to = (turnoutInfo_t*)MyMalloc(sizeof * to);
+ turnoutInfo(turnoutInfo_da.cnt - 1) = to;
+ to->title = MyStrdup(title);
+ to->scaleInx = LookupScale(scale);
changes = CHANGE_PARAMS;
}
to->segCnt = segCnt;
trkSeg_p seg_p;
- to->segs = (trkSeg_p)memdup( segData, (sizeof (*segData) * segCnt ));
+ to->segs = (trkSeg_p)memdup(segData, (sizeof(*segData) * segCnt));
seg_p = to->segs;
- for (int i=0;i<segCnt;i++) {
+ for (int i = 0; i < segCnt; i++) {
seg_p[i].bezSegs.ptr = NULL;
seg_p[i].bezSegs.cnt = 0;
seg_p[i].bezSegs.max = 0;
}
- CopyPoly(to->segs,segCnt);
- FixUpBezierSegs(to->segs,to->segCnt);
- GetSegBounds( zero, 0.0, segCnt, to->segs, &to->orig, &to->size );
+ CopyPoly(to->segs, segCnt);
+ FixUpBezierSegs(to->segs, to->segCnt);
+ GetSegBounds(zero, 0.0, segCnt, to->segs, &to->orig, &to->size);
to->endCnt = endPtCnt;
- to->endPt = (trkEndPt_t*)memdup( endPts, (sizeof *endPts) * to->endCnt );
+ to->endPt = (trkEndPt_t*)memdup(endPts, (sizeof * endPts) * to->endCnt);
- to->pathLen = pathLen;
- to->paths = (PATHPTR_T)memdup( paths, (sizeof *to->paths) * to->pathLen );
+ if (options & COMPOUND_OPTION_PATH_OVERRIDE)
+ to->pathOverRide = TRUE;
+ if (options & COMPOUND_OPTION_PATH_NOCOMBINE)
+ to->pathNoCombine = TRUE;
+ SetParamPaths( to, paths );
to->paramFileIndex = curParamFileIndex;
if (curParamFileIndex == PARAM_CUSTOM)
to->contentsLabel = MyStrdup("Custom Turnouts");
@@ -157,42 +224,40 @@ EXPORT turnoutInfo_t * CreateNewTurnout(
to->contentsLabel = curSubContents;
#ifdef TURNOUTCMD
if (updateList && turnoutListL != NULL) {
- FormatCompoundTitle( LABEL_TABBED|LABEL_MANUF|LABEL_PARTNO|LABEL_DESCR, title );
+ FormatCompoundTitle(LABEL_TABBED | LABEL_MANUF | LABEL_PARTNO | LABEL_DESCR, title);
if (message[0] != '\0')
- wListAddValue( turnoutListL, message, NULL, to );
+ wListAddValue(turnoutListL, message, NULL, to);
}
#endif
- to->barScale = curBarScale>0?curBarScale:-1;
+ to->barScale = curBarScale > 0 ? curBarScale : -1;
to->special = TOnormal;
- if (radii) {
- to->special = TOcurved;
- DYNARR_SET(DIST_T,to->u.curved.radii,to->endCnt);
- for (int i=0;i<to->endCnt;i++) {
- DYNARR_N(DIST_T,to->u.curved.radii,i) = radii[i];
- }
- }
if (updateList && changes)
- DoChangeNotification( changes );
+ DoChangeNotification(changes);
return to;
}
/**
* Delete a turnout parameter from the list and free the related memory
*
- * \param [IN] to turnout definition to be deleted
+ * \param [IN] toInfo turnout definition to be deleted
+ *
+ * \returns True if it succeeds
*/
BOOL_T
-DeleteTurnout(void *toInfo)
+DeleteTurnout(void* toInfo)
{
- turnoutInfo_t * to = (turnoutInfo_t *)toInfo;
+ turnoutInfo_t* to = (turnoutInfo_t*)toInfo;
MyFree(to->title);
MyFree(to->segs);
MyFree(to->endPt);
MyFree(to->paths);
if (to->special) {
- DYNARR_FREE(DIST_T, to->u.curved.radii);
+ switch (to->special) {
+ case TOadjustable:
+ default:;
+ }
}
MyFree(to);
@@ -200,62 +265,62 @@ DeleteTurnout(void *toInfo)
}
/**
- * Delete all turnout definitions that came from a specific parameter file.
- * Due to the way the definitions are loaded from file it is safe to
+ * Delete all turnout definitions that came from a specific parameter file.
+ * Due to the way the definitions are loaded from file it is safe to
* assume that they form a contiguous block in the array.
- *
+ *
* \param [IN] fileIndex parameter file
*/
void
DeleteTurnoutParams(int fileIndex)
{
- int inx=0;
- int startInx = -1;
- int cnt = 0;
-
- // go to the start of the block
- while (inx < turnoutInfo_da.cnt &&
- turnoutInfo(inx)->paramFileIndex != fileIndex) {
- startInx = inx++;
- }
+ int inx = 0;
+ int startInx = -1;
+ int cnt = 0;
+
+ // go to the start of the block
+ while (inx < turnoutInfo_da.cnt &&
+ turnoutInfo(inx)->paramFileIndex != fileIndex) {
+ startInx = inx++;
+ }
- // delete them
- for (; inx < turnoutInfo_da.cnt &&
- turnoutInfo(inx)->paramFileIndex == fileIndex; inx++) {
- turnoutInfo_t * to = turnoutInfo(inx);
- if (to->paramFileIndex == fileIndex) {
- DeleteTurnout(to);
- cnt++;
- }
- }
+ // delete them
+ for (; inx < turnoutInfo_da.cnt &&
+ turnoutInfo(inx)->paramFileIndex == fileIndex; inx++) {
+ turnoutInfo_t* to = turnoutInfo(inx);
+ if (to->paramFileIndex == fileIndex) {
+ DeleteTurnout(to);
+ cnt++;
+ }
+ }
- // copy down the rest of the list to fill the gap
- startInx++;
- while (inx < turnoutInfo_da.cnt) {
- turnoutInfo(startInx++) = turnoutInfo(inx++);
- }
+ // copy down the rest of the list to fill the gap
+ startInx++;
+ while (inx < turnoutInfo_da.cnt) {
+ turnoutInfo(startInx++) = turnoutInfo(inx++);
+ }
- // and reduce the actual number
- turnoutInfo_da.cnt -= cnt;
+ // and reduce the actual number
+ turnoutInfo_da.cnt -= cnt;
}
-/**
- * Check to find out to what extent the contents of the parameter file can be used with
- * the current layout scale / gauge.
- *
+/**
+ * Check to find out to what extent the contents of the parameter file can be used with
+ * the current layout scale / gauge.
+ *
* If parameter scale == layout and parameter gauge == layout we have an exact fit.
- * If parameter gauge == layout we have compatible track.
- * OO scale is special cased. If the layout is in OO scale track in HO is considered
+ * If parameter gauge == layout we have compatible track.
+ * OO, O and N scales are special cased. If the layout is in OO scale track in HO is considered
* an exact fit in spite of scale differences.
- *
+ *
* \param paramFileIndex
* \param scaleIndex
- * \return
+ * \return enum paraFileState
*/
-enum paramFileState
-GetTrackCompatibility(int paramFileIndex, SCALEINX_T scaleIndex)
+enum paramFileState
+ GetTrackCompatibility(int paramFileIndex, SCALEINX_T scaleIndex)
{
int i;
enum paramFileState ret = PARAMFILE_NOTUSABLE;
@@ -267,224 +332,182 @@ GetTrackCompatibility(int paramFileIndex, SCALEINX_T scaleIndex)
// loop over all parameter entries or until a exact fit is found
for (i = 0; i < turnoutInfo_da.cnt && ret < PARAMFILE_FIT; i++) {
- turnoutInfo_t *to = turnoutInfo( i );
- if (to->paramFileIndex == paramFileIndex ) {
- if (to->scaleInx == scaleIndex ) {
+ turnoutInfo_t* to = turnoutInfo(i);
+ if (to->paramFileIndex == paramFileIndex) {
+ SCALE_FIT_T fit = CompatibleScale(FIT_TURNOUT, to->scaleInx, scaleIndex);
+ if (fit == FIT_EXACT) {
ret = PARAMFILE_FIT;
break;
- } else {
- if (GetScaleTrackGauge(to->scaleInx) == gauge &&
- ret < PARAMFILE_COMPATIBLE) {
- ret = PARAMFILE_COMPATIBLE;
- // handle special cases
- // if layout is OO scale, HO scale track is considered exact
- char *layoutScaleName = GetScaleName(scaleIndex);
- char *paramScaleName = GetScaleName(to->scaleInx);
- if (!strcmp(layoutScaleName, "OO") &&
- !strcmp(paramScaleName, "HO")) {
- ret = PARAMFILE_FIT;
- }
- //if layout is in Japanese or British N scale, N scale is exact
- if ((!strcmp(layoutScaleName, "N(UK)") ||
- !strcmp(layoutScaleName, "N(JP)")) &&
- !strcmp(paramScaleName, "N")) {
- ret = PARAMFILE_FIT;
- }
- }
+ }
+ else if (fit == FIT_COMPATIBLE) {
+ ret = PARAMFILE_COMPATIBLE;
}
}
}
return(ret);
}
-
+/**
+ * Check Paths verifies that each track segment is on at least one path.
+ * It will assume new-P or old-P order is possible and does not change it.
+ *
+ * \param segCnt
+ * \param segs
+ * \param paths
+ *
+ * \returns -1 if a track segment is not on a path
+ */
EXPORT wIndex_t CheckPaths(
- wIndex_t segCnt,
- trkSeg_p segs,
- PATHPTR_T paths )
+ wIndex_t segCnt,
+ trkSeg_p segs,
+ PATHPTR_T paths)
{
if ((segCnt == 0) || !segs) return -1;
+ if (!paths) return -1;
int pc, ps;
PATHPTR_T pp = 0;
- int inx;
- static dynArr_t segMap_da;
+
int segInx[2], segEp[2];
int segTrkLast = -1;
-
+
// Check that each track segment is on at least one path
+ // Note - In new-P the tracks may be preceded by draws (or interspersed by them)
int suppressCheckPaths = log_suppressCheckPaths > 0 ? logTable(log_suppressCheckPaths).level : 0;
- if ( suppressCheckPaths == 0 ) {
- char trkSegInx = 0;
- for ( int inx = 0; inx<segCnt; inx++ ) {
- if ( IsSegTrack( &segs[inx] ) ) {
- trkSegInx++;
+ if (suppressCheckPaths == 0) {
+ for (int inx = 0; inx < segCnt; inx++) {
+ if (IsSegTrack(&segs[inx])) {
PATHPTR_T cp = paths;
- while ( *cp ) {
- // path is: 'N' 'A' 'M' 'E' 0 1 2 0 3 4 0 0
- // skip name
- for ( ; *cp; cp++ );
- cp++;
+ while (*cp) {
+ // 0-9 are x00 to x09 or the negative equivalent (backwards)
+ // Pathlist is: Path00Path000
+ // Path is: NAME01203400
+ for (; *cp; cp++); //Skip Name
+ cp++; //Skip 0 after name
// check each path component
- for ( ; cp[0] || cp[1]; cp++ )
- if ( abs(*cp) == trkSegInx )
- break;
- if ( *cp ) // we broke early
- break;
- cp += 2;; // Skip 2nd 0
+ for (; cp[0] || cp[1]; cp++) { //keeps going even if there are two or more parts
+ if (!cp[0]) continue; //ignore the 0 between parts of the same PATH!!
+ GetSegInxEP(cp[0], &segInx[0], &segEp[0]); //GetSegInxEP subtracts one to match inx
+ if (segInx[0] == inx) break; //Found it!
+ }
+ if (*cp) // we broke early
+ break; // get out - we found it
+ cp++;
+ cp++; // Go to next path - past two 0s
}
- if ( !*cp ) { // we looked and didn't find
- InputError( "Track segment %d not on Path", FALSE, inx+1 );
+ if (!*cp) { // we looked through all the paths and didn't find it
+ InputError("Track segment %d not on Path", FALSE, inx + 1);
return -1;;
}
}
}
}
-typedef struct {
- trkSeg_p seg;
- int indx;
-} segMap_t, * segMap_p;
-
-#define segMap(N) DYNARR_N( segMap_t, segMap_da, N )
- segMap_p sg;
- DYNARR_RESET( segMap_t, segMap_da );
- // Don't reshuffle segs, but build an offset map instead just of the tracks
- // Use the map to set up the paths to point at the correct segs in the Turnout
- for ( inx=0; inx<segCnt; inx++ ) {
- if ( IsSegTrack(&segs[inx]) ) {
- DYNARR_APPEND( segMap_t, segMap_da, 10 );
- sg = &DYNARR_LAST(segMap_t,segMap_da);
- sg->seg = &segs[inx];
- sg->indx = inx;
- }
- }
-
- for ( pc=0,pp=paths; *pp; pp+=2,pc++ ) {
- for ( ps=0,pp+=strlen((char *)pp)+1; pp[0]!=0 || pp[1]!=0; pp++,ps++ ) {
-#ifdef LATER
- if (*pp >= '0' && *pp <= '9')
- *pp -= '0';
- else if (*pp >= 'A' && *pp <= 'Z')
- *pp -= 'A' - 10;
- if (*pp < 0 || *pp > segCnt) {
- InputError( _("Turnout path[%d:%d] out of bounds: %d"),
- FALSE, pc, ps, *pp);
- return -1;
+ for (pc = 0, pp = paths; *pp; pp += 2, pc++) {
+ for (ps = 0, pp += strlen((char*)pp) + 1; pp[0] != 0 || pp[1] != 0; pp++, ps++) {
+ if (pp[0] != 0 && ps == 0) { // First or only one
}
-#endif
- //Rewrite the Path to point to the nth Track seg using the Map
- int old_inx;
- EPINX_T old_EP;
- if (pp[0]!=0 && ps==0) { // First or only one
- GetSegInxEP( pp[0], &old_inx, &old_EP );
- if (old_inx<0 || old_inx>= segMap_da.cnt) {
- InputError( _("Turnout path[%d] %d is not a valid track segment"),
- FALSE, pc, ps );
- return -1;
- }
- SetSegInxEP( &pp[0], DYNARR_N(segMap_t,segMap_da,old_inx).indx, old_EP);
- }
- if (pp[0]!=0 && pp[1]!=0 ) {
- //Rewrite the Path to point to the nth Track seg using the Map
- GetSegInxEP( pp[1], &old_inx, &old_EP );
- if (old_inx<0 || old_inx>= segMap_da.cnt) {
- InputError( _("Turnout path[%d] %d is not a valid track segment"),
- FALSE, pc, ps );
- return -1;
- }
- SetSegInxEP( &pp[1], DYNARR_N(segMap_t,segMap_da,old_inx).indx, old_EP);
+ if (pp[0] != 0 && pp[1] != 0) {
/* check connectivity */
DIST_T d;
- GetSegInxEP( pp[0], &segInx[0], &segEp[0] );
- GetSegInxEP( pp[1], &segInx[1], &segEp[1] );
- if ( !IsSegTrack( &segs[segInx[0]] ) ) {
- InputError( _("Turnout path[%d] %d is not a track segment"),
- FALSE, pc, pp[0] );
+ GetSegInxEP(pp[0], &segInx[0], &segEp[0]);
+ GetSegInxEP(pp[1], &segInx[1], &segEp[1]);
+ if (!IsSegTrack(&segs[segInx[0]])) {
+ InputError(_("CheckPath: Turnout path[%d] %d is not a track segment"),
+ FALSE, pc, pp[0]);
return -1;
}
- if ( !IsSegTrack( &segs[segInx[1]] ) ) {
- InputError( _("Turnout path[%d] %d is not a track segment"),
- FALSE, pc, pp[1] );
+ if (!IsSegTrack(&segs[segInx[1]])) {
+ InputError(_("CheckPath: Turnout path[%d] %d is not a track segment"),
+ FALSE, pc, pp[1]);
return -1;
}
- coOrd p0 = GetSegEndPt( &segs[segInx[0]], 1-segEp[0], FALSE, NULL );
- coOrd p1 = GetSegEndPt( &segs[segInx[1]], segEp[1], FALSE, NULL );
- d = FindDistance(p0,p1);
+ coOrd p0 = GetSegEndPt(&segs[segInx[0]], 1 - segEp[0], FALSE, NULL);
+ coOrd p1 = GetSegEndPt(&segs[segInx[1]], segEp[1], FALSE, NULL);
+ d = FindDistance(p0, p1);
if (d > MIN_TURNOUT_SEG_CONNECT_DIST) {
- InputError( _("Turnout path[%d] %d-%d not connected: %0.3f P0(%f,%f) P1(%f,%f)"),
- FALSE, pc, pp[0], pp[1], d, p0.x, p0.y, p1.x, p1.y );
+ InputError(_("CheckPath: Turnout path[%d] %d-%d not connected: %0.3f P0(%f,%f) P1(%f,%f)"),
+ FALSE, pc, pp[0], pp[1], d, p0.x, p0.y, p1.x, p1.y);
return -1;
}
}
}
}
- return pp-paths+1;
+ return (wIndex_t)(pp - paths + 1);
}
static BOOL_T ReadTurnoutParam(
- char * firstLine )
+ char* firstLine)
{
char scale[10];
- char *title;
- turnoutInfo_t * to;
+ char* title;
+ turnoutInfo_t* to;
+ PATHPTR_T cp;
+ long options = 0;
- if ( !GetArgs( firstLine+8, "sq", scale, &title ) )
+ if (!GetArgs(firstLine + 8, "sqc", scale, &title, &cp))
return FALSE;
- DYNARR_RESET( trkEndPt_t, tempEndPts_da );
+ if (cp != NULL)
+ if (!GetArgs((char*)cp, "l", &options))
+ return FALSE;
+ DYNARR_RESET(trkEndPt_t, tempEndPts_da);
pathCnt = 0;
- if ( !ReadSegs() )
+ if (!ReadSegs())
return FALSE;
- CheckPaths( tempSegs_da.cnt, &tempSegs(0), pathPtr );
- to = CreateNewTurnout( scale, title, tempSegs_da.cnt, &tempSegs(0),
- pathCnt, pathPtr, tempEndPts_da.cnt, &tempEndPts(0), NULL, FALSE );
- MyFree( title );
+ PATHPTR_T pPaths = NULL;
+ if ( pathPtr && pathPtr[0] && pathCnt > 0 )
+ pPaths = pathPtr;
+ CheckPaths( tempSegs_da.cnt, &tempSegs(0), pPaths );
+ to = CreateNewTurnout(scale, title, tempSegs_da.cnt, &tempSegs(0),
+ pPaths, tempEndPts_da.cnt, &tempEndPts(0), FALSE, options );
+ MyFree(title);
if (to == NULL)
return FALSE;
if (tempSpecial[0] != '\0') {
- if (strncmp( tempSpecial, ADJUSTABLE, strlen(ADJUSTABLE) ) == 0) {
+ if (strncmp(tempSpecial, ADJUSTABLE, strlen(ADJUSTABLE)) == 0) {
to->special = TOadjustable;
- if ( !GetArgs( tempSpecial+strlen(ADJUSTABLE), "ff",
- &to->u.adjustable.minD, &to->u.adjustable.maxD ) )
+ if (!GetArgs(tempSpecial + strlen(ADJUSTABLE), "ff",
+ &to->u.adjustable.minD, &to->u.adjustable.maxD))
return FALSE;
- } else {
+ }
+ else {
InputError(_("Unknown special case"), TRUE);
return FALSE;
}
}
if (tempCustom[0] != '\0') {
- to->customInfo = MyStrdup( tempCustom );
+ to->customInfo = MyStrdup(tempCustom);
}
return TRUE;
}
-EXPORT turnoutInfo_t * TurnoutAdd( long mode, SCALEINX_T scale, wList_p list, coOrd * maxDim, EPINX_T epCnt )
+EXPORT turnoutInfo_t* TurnoutAdd(long mode, SCALEINX_T scale, wList_p list, coOrd* maxDim, EPINX_T epCnt)
{
wIndex_t inx;
- turnoutInfo_t * to, * to1 = NULL;
+ turnoutInfo_t* to, * to1 = NULL;
turnoutInx = 0;
- for ( inx = 0; inx < turnoutInfo_da.cnt; inx++ ) {
+ for (inx = 0; inx < turnoutInfo_da.cnt; inx++) {
to = turnoutInfo(inx);
- if ( IsParamValid(to->paramFileIndex) &&
- to->segCnt > 0 &&
- CompatibleScale( TRUE, to->scaleInx, scale ) &&
- /*strcasecmp( to->scale, scaleName ) == 0 && */
- ( epCnt <= 0 || epCnt == to->endCnt ) ) {
- if (to1==NULL)
+ if (IsParamValid(to->paramFileIndex) &&
+ to->segCnt > 0 &&
+ (FIT_NONE != CompatibleScale(FIT_TURNOUT, to->scaleInx, scale)) &&
+ /*strcasecmp( to->scale, scaleName ) == 0 && */
+ (epCnt <= 0 || epCnt == to->endCnt)) {
+ if (to1 == NULL)
to1 = to;
- if ( to == curTurnout ) {
+ if (to == curTurnout) {
to1 = to;
- turnoutInx = wListGetCount( list );
+ turnoutInx = wListGetCount(list);
}
- FormatCompoundTitle( mode, to->title );
+ FormatCompoundTitle(mode, to->title);
if (message[0] != '\0') {
- wListAddValue( list, message, NULL, to );
+ wListAddValue(list, message, NULL, to);
if (maxDim) {
- if (to->size.x > maxDim->x)
+ if (to->size.x > maxDim->x)
maxDim->x = to->size.x;
- if (to->size.y > maxDim->y)
+ if (to->size.y > maxDim->y)
maxDim->y = to->size.y;
}
}
@@ -492,7 +515,7 @@ EXPORT turnoutInfo_t * TurnoutAdd( long mode, SCALEINX_T scale, wList_p list, co
}
return to1;
}
-
+
/****************************************
*
* Adjustable Track Support
@@ -501,20 +524,20 @@ EXPORT turnoutInfo_t * TurnoutAdd( long mode, SCALEINX_T scale, wList_p list, co
static void ChangeAdjustableEndPt(
- track_p trk,
- EPINX_T ep,
- DIST_T d )
+ track_p trk,
+ EPINX_T ep,
+ DIST_T d)
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t* xx = GET_EXTRA_DATA(trk, T_TURNOUT, extraDataCompound_t);
coOrd pos;
trkSeg_p segPtr;
- ANGLE_T angle = GetTrkEndAngle( trk, ep );
- Translate( &pos, GetTrkEndPos( trk, 1-ep ), angle, d );
+ ANGLE_T angle = GetTrkEndAngle(trk, ep);
+ Translate(&pos, GetTrkEndPos(trk, 1 - ep), angle, d);
UndoModify(trk);
- SetTrkEndPoint( trk, ep, pos, angle );
- if ( ep == 0 )
+ SetTrkEndPoint(trk, ep, pos, angle);
+ if (ep == 0)
xx->orig = pos;
- for ( segPtr=xx->segs; segPtr<&xx->segs[xx->segCnt]; segPtr++ ) {
+ for (segPtr = xx->segs; segPtr < &xx->segs[xx->segCnt]; segPtr++) {
switch (segPtr->type) {
case SEG_STRLIN:
case SEG_STRTRK:
@@ -524,19 +547,19 @@ static void ChangeAdjustableEndPt(
;
}
}
- ComputeBoundingBox( trk );
- DrawNewTrack( trk );
+ ComputeBoundingBox(trk);
+ DrawNewTrack(trk);
}
EXPORT BOOL_T ConnectAdjustableTracks(
- track_p trk1,
- EPINX_T ep1,
- track_p trk2,
- EPINX_T ep2 )
+ track_p trk1,
+ EPINX_T ep1,
+ track_p trk2,
+ EPINX_T ep2)
{
- struct extraData * xx1;
- struct extraData * xx2;
+ struct extraDataCompound_t* xx1;
+ struct extraDataCompound_t* xx2;
BOOL_T adj1, adj2;
coOrd p1, p2;
ANGLE_T a, a1, a2;
@@ -545,65 +568,74 @@ EXPORT BOOL_T ConnectAdjustableTracks(
coOrd off;
DIST_T beyond;
- xx1 = GetTrkExtraData(trk1);
- xx2 = GetTrkExtraData(trk2);
+ if ((GetTrkType(trk1) != T_TURNOUT) && (GetTrkType(trk2) != T_TURNOUT)) return FALSE;
+
adj1 = adj2 = FALSE;
- if (GetTrkType(trk1) == T_TURNOUT && xx1->special == TOadjustable)
- adj1 = TRUE;
- if (GetTrkType(trk2) == T_TURNOUT && xx2->special == TOadjustable)
- adj2 = TRUE;
+
+ if (GetTrkType(trk1) == T_TURNOUT) {
+ xx1 = GET_EXTRA_DATA(trk1, T_TURNOUT, extraDataCompound_t);
+ if (xx1->special == TOadjustable)
+ adj1 = TRUE;
+ }
+ if (GetTrkType(trk2) == T_TURNOUT) {
+ xx2 = GET_EXTRA_DATA(trk2, T_TURNOUT, extraDataCompound_t);
+ if (xx2->special == TOadjustable)
+ adj2 = TRUE;
+ }
if (adj1 == FALSE && adj2 == FALSE)
return FALSE;
- a1 = GetTrkEndAngle( trk1, ep1 );
- a2 = GetTrkEndAngle( trk2, ep2 );
- a = NormalizeAngle( a1 - a2 + 180.0 + connectAngle/2.0);
- if (a>connectAngle)
+ a1 = GetTrkEndAngle(trk1, ep1);
+ a2 = GetTrkEndAngle(trk2, ep2);
+ a = NormalizeAngle(a1 - a2 + 180.0 + connectAngle / 2.0);
+ if (a > connectAngle)
return FALSE;
- UndoStart( _("Connect Adjustable Tracks"), "changeAdjustableEndPt" );
+ UndoStart(_("Connect Adjustable Tracks"), "changeAdjustableEndPt");
maxD = 0.0;
if (adj1) {
- p1 = GetTrkEndPos( trk1, 1-ep1 );
- Translate( &p1, p1, a1, xx1->u.adjustable.minD );
- maxD += xx1->u.adjustable.maxD-xx1->u.adjustable.minD;
- } else {
- p1 = GetTrkEndPos( trk1, ep1 );
+ p1 = GetTrkEndPos(trk1, 1 - ep1);
+ Translate(&p1, p1, a1, xx1->u.adjustable.minD);
+ maxD += xx1->u.adjustable.maxD - xx1->u.adjustable.minD;
+ }
+ else {
+ p1 = GetTrkEndPos(trk1, ep1);
}
if (adj2) {
- p2 = GetTrkEndPos( trk2, 1-ep2 );
- Translate( &p2, p2, a2, xx2->u.adjustable.minD );
- maxD += xx2->u.adjustable.maxD-xx2->u.adjustable.minD;
- } else {
- p2 = GetTrkEndPos( trk2, ep2 );
+ p2 = GetTrkEndPos(trk2, 1 - ep2);
+ Translate(&p2, p2, a2, xx2->u.adjustable.minD);
+ maxD += xx2->u.adjustable.maxD - xx2->u.adjustable.minD;
+ }
+ else {
+ p2 = GetTrkEndPos(trk2, ep2);
}
- d = FindDistance( p1, p2 );
+ d = FindDistance(p1, p2);
rc = TRUE;
if (d > maxD) {
d = maxD;
rc = FALSE;
}
- FindPos( &off, &beyond, p1, p2, a1, 10000.0 );
+ FindPos(&off, &beyond, p1, p2, a1, DIST_INF);
if (fabs(off.y) > connectDistance)
rc = FALSE;
if (adj1) {
- UndrawNewTrack( trk1 );
- d1 = d * (xx1->u.adjustable.maxD-xx1->u.adjustable.minD)/maxD + xx1->u.adjustable.minD;
- ChangeAdjustableEndPt( trk1, ep1, d1 );
+ UndrawNewTrack(trk1);
+ d1 = d * (xx1->u.adjustable.maxD - xx1->u.adjustable.minD) / maxD + xx1->u.adjustable.minD;
+ ChangeAdjustableEndPt(trk1, ep1, d1);
}
if (adj2) {
- UndrawNewTrack( trk2 );
- d2 = d * (xx2->u.adjustable.maxD-xx2->u.adjustable.minD)/maxD + xx2->u.adjustable.minD;
- ChangeAdjustableEndPt( trk2, ep2, d2 );
+ UndrawNewTrack(trk2);
+ d2 = d * (xx2->u.adjustable.maxD - xx2->u.adjustable.minD) / maxD + xx2->u.adjustable.minD;
+ ChangeAdjustableEndPt(trk2, ep2, d2);
}
if (rc) {
- DrawEndPt( &mainD, trk1, ep1, wDrawColorWhite );
- DrawEndPt( &mainD, trk2, ep2, wDrawColorWhite );
- ConnectTracks( trk1, ep1, trk2, ep2 );
- DrawEndPt( &mainD, trk1, ep1, wDrawColorBlack );
- DrawEndPt( &mainD, trk2, ep2, wDrawColorBlack );
+ DrawEndPt(&mainD, trk1, ep1, wDrawColorWhite);
+ DrawEndPt(&mainD, trk2, ep2, wDrawColorWhite);
+ ConnectTracks(trk1, ep1, trk2, ep2);
+ DrawEndPt(&mainD, trk1, ep1, wDrawColorBlack);
+ DrawEndPt(&mainD, trk2, ep2, wDrawColorBlack);
}
return rc;
}
-
+
/****************************************
*
* Draw Turnout Roadbed
@@ -613,81 +645,84 @@ EXPORT BOOL_T ConnectAdjustableTracks(
int roadbedOnScreen = 0;
-void DrawTurnoutRoadbedSide( drawCmd_p d, wDrawColor color, coOrd orig, ANGLE_T angle, trkSeg_p sp, ANGLE_T side, int first, int last )
+void DrawTurnoutRoadbedSide(drawCmd_p d, wDrawColor color, coOrd orig, ANGLE_T angle, trkSeg_p sp, ANGLE_T side, int first, int last)
{
segProcData_t data;
- if (last<=first)
+ if (last <= first)
return;
data.drawRoadbedSide.first = first;
data.drawRoadbedSide.last = last;
data.drawRoadbedSide.side = side;
data.drawRoadbedSide.roadbedWidth = roadbedWidth;
- data.drawRoadbedSide.rbw = (wDrawWidth)floor(roadbedLineWidth*(d->dpi/d->scale)+0.5);
+ data.drawRoadbedSide.rbw = (wDrawWidth)floor(roadbedLineWidth * (d->dpi / d->scale) + 0.5);
data.drawRoadbedSide.orig = orig;
data.drawRoadbedSide.angle = angle;
data.drawRoadbedSide.color = color;
data.drawRoadbedSide.d = d;
- SegProc( SEGPROC_DRAWROADBEDSIDE, sp, &data );
+ SegProc(SEGPROC_DRAWROADBEDSIDE, sp, &data);
}
static void ComputeAndDrawTurnoutRoadbedSide(
- drawCmd_p d,
- wDrawColor color,
- coOrd orig,
- ANGLE_T angle,
- trkSeg_p segPtr,
- int segCnt,
- int segInx,
- ANGLE_T side )
+ drawCmd_p d,
+ wDrawColor color,
+ coOrd orig,
+ ANGLE_T angle,
+ trkSeg_p segPtr,
+ int segCnt,
+ int segInx,
+ ANGLE_T side)
{
unsigned long res, res1;
int b0, b1;
- res = ComputeTurnoutRoadbedSide( segPtr, segCnt, segInx, side, roadbedWidth );
+ res = ComputeTurnoutRoadbedSide(segPtr, segCnt, segInx, side, roadbedWidth);
if (res == 0L) {
- } else if (res == 0xFFFFFFFF) {
- DrawTurnoutRoadbedSide( d, color, orig, angle, &segPtr[segInx], side, 0, 32 );
- } else {
- for ( b0=0, res1=0x00000001; res1&&(res1&res); b0++,res1<<=1 );
- for ( b1=32,res1=0x80000000; res1&&(res1&res); b1--,res1>>=1 );
- DrawTurnoutRoadbedSide( d, color, orig, angle, &segPtr[segInx], side, 0, b0 );
- DrawTurnoutRoadbedSide( d, color, orig, angle, &segPtr[segInx], side, b1, 32 );
+ }
+ else if (res == 0xFFFFFFFF) {
+ DrawTurnoutRoadbedSide(d, color, orig, angle, &segPtr[segInx], side, 0, 32);
+ }
+ else {
+ for (b0 = 0, res1 = 0x00000001; res1 && (res1 & res); b0++, res1 <<= 1);
+ for (b1 = 32, res1 = 0x80000000; res1 && (res1 & res); b1--, res1 >>= 1);
+ DrawTurnoutRoadbedSide(d, color, orig, angle, &segPtr[segInx], side, 0, b0);
+ DrawTurnoutRoadbedSide(d, color, orig, angle, &segPtr[segInx], side, b1, 32);
}
}
static void DrawTurnoutRoadbed(
- drawCmd_p d,
- wDrawColor color,
- coOrd orig,
- ANGLE_T angle,
- trkSeg_p segPtr,
- int segCnt )
-{
- int inx, trkCnt=0, segInx=0;
- for (inx=0;inx<segCnt;inx++) {
- if ( IsSegTrack(&segPtr[inx]) ) {
+ drawCmd_p d,
+ wDrawColor color,
+ coOrd orig,
+ ANGLE_T angle,
+ trkSeg_p segPtr,
+ int segCnt)
+{
+ int inx, trkCnt = 0, segInx = 0;
+ for (inx = 0; inx < segCnt; inx++) {
+ if (IsSegTrack(&segPtr[inx])) {
segInx = inx;
trkCnt++;
- if (trkCnt>1)
+ if (trkCnt > 1)
break;
}
}
- if (trkCnt==0)
+ if (trkCnt == 0)
return;
if (trkCnt == 1) {
- DrawTurnoutRoadbedSide( d, color, orig, angle, &segPtr[segInx], +90, 0, 32 );
- DrawTurnoutRoadbedSide( d, color, orig, angle, &segPtr[segInx], -90, 0, 32 );
- } else {
- for (inx=0;inx<segCnt;inx++) {
- if ( IsSegTrack(&segPtr[inx]) ) {
- ComputeAndDrawTurnoutRoadbedSide( d, color, orig, angle, segPtr, segCnt, inx, +90 );
- ComputeAndDrawTurnoutRoadbedSide( d, color, orig, angle, segPtr, segCnt, inx, -90 );
+ DrawTurnoutRoadbedSide(d, color, orig, angle, &segPtr[segInx], +90, 0, 32);
+ DrawTurnoutRoadbedSide(d, color, orig, angle, &segPtr[segInx], -90, 0, 32);
+ }
+ else {
+ for (inx = 0; inx < segCnt; inx++) {
+ if (IsSegTrack(&segPtr[inx])) {
+ ComputeAndDrawTurnoutRoadbedSide(d, color, orig, angle, segPtr, segCnt, inx, +90);
+ ComputeAndDrawTurnoutRoadbedSide(d, color, orig, angle, segPtr, segCnt, inx, -90);
}
}
}
}
-
+
/****************************************
*
* HAND LAID TURNOUTS
@@ -695,47 +730,47 @@ static void DrawTurnoutRoadbed(
*/
track_p NewHandLaidTurnout(
- coOrd p0,
- ANGLE_T a0,
- coOrd p1,
- ANGLE_T a1,
- coOrd p2,
- ANGLE_T a2,
- ANGLE_T frogA )
+ coOrd p0,
+ ANGLE_T a0,
+ coOrd p1,
+ ANGLE_T a1,
+ coOrd p2,
+ ANGLE_T a2,
+ ANGLE_T frogA)
{
track_p trk;
- struct extraData * xx;
+ struct extraDataCompound_t* xx;
trkSeg_t segs[2];
- sprintf( message, "\tHand Laid Turnout, Angle=%0.1f\t", frogA );
- DYNARR_SET( trkEndPt_t, tempEndPts_da, 2 );
- memset( &tempEndPts(0), 0, tempEndPts_da.cnt * sizeof tempEndPts(0) );
+ sprintf(message, "\tHand Laid Turnout, Angle=%0.1f\t", frogA);
+ DYNARR_SET(trkEndPt_t, tempEndPts_da, 2);
+ memset(&tempEndPts(0), 0, tempEndPts_da.cnt * sizeof tempEndPts(0));
tempEndPts(0).pos = p0;
tempEndPts(0).angle = a0;
tempEndPts(1).pos = p1;
tempEndPts(1).angle = a1;
tempEndPts(2).pos = p2;
tempEndPts(2).angle = a2;
- Rotate( &p1, p0, -a0 );
+ Rotate(&p1, p0, -a0);
p1.x -= p0.x;
p1.y -= p0.y;
segs[0].type = SEG_STRTRK;
segs[0].color = wDrawColorBlack;
segs[0].u.l.pos[0] = zero;
segs[0].u.l.pos[1] = p1;
- Rotate( &p2, p0, -a0 );
+ Rotate(&p2, p0, -a0);
p2.x -= p0.x;
p2.y -= p0.y;
segs[1].type = SEG_STRTRK;
segs[1].color = wDrawColorBlack;
segs[1].u.l.pos[0] = zero;
segs[1].u.l.pos[1] = p2;
- trk = NewCompound( T_TURNOUT, 0, p0, a0, message, 3, &tempEndPts(0), NULL, 22, "Normal\0\1\0\0Reverse\0\2\0\0\0", 2, segs );
- xx = GetTrkExtraData(trk);
+ trk = NewCompound(T_TURNOUT, 0, p0, a0, message, 3, &tempEndPts(0), (PATHPTR_T)"Normal\0\1\0\0Reverse\0\2\0\0\0", 2, segs);
+ xx = GET_EXTRA_DATA(trk, T_TURNOUT, extraDataCompound_t);
xx->handlaid = TRUE;
return trk;
}
-
+
/****************************************
*
* GENERIC FUNCTIONS
@@ -743,136 +778,1982 @@ track_p NewHandLaidTurnout(
*/
static coOrd MapPathPos(
- struct extraData * xx,
- signed char segInx,
- EPINX_T ep )
+ struct extraDataCompound_t* xx,
+ signed char segInx,
+ EPINX_T ep)
{
trkSeg_p segPtr;
coOrd pos;
- if ( segInx < 0 ) {
- segInx = - segInx;
- ep = 1-ep;
+ if (segInx < 0) {
+ segInx = -segInx;
+ ep = 1 - ep;
}
- segPtr=xx->segs+(segInx-1);
+ segPtr = xx->segs + (segInx - 1);
if (!IsSegTrack(segPtr)) {
- fprintf( stderr, "mapPathPos: bad segInx: %d\n", segInx );
+ fprintf(stderr, "mapPathPos: bad segInx: %d\n", segInx);
return zero;
}
- pos = GetSegEndPt( segPtr, ep, FALSE, NULL );
- REORIGIN1( pos, xx->angle, xx->orig );
+ pos = GetSegEndPt(segPtr, ep, FALSE, NULL);
+ REORIGIN1(pos, xx->angle, xx->orig);
return pos;
}
+static trkSeg_p MapPathSeg(
+ struct extraDataCompound_t* xx,
+ signed char segInx) {
+ if (segInx < 0) {
+ segInx = -segInx;
+ }
+ return xx->segs + (segInx - 1);
+}
+
+
+/****************************************
+ *
+ * TURNOUT DRAWING
+ *
+ */
+
+ /**
+ * Get the paths from the turnout definition. Puts the results into static dto structure.
+ * Curved segments are broken up into short sections of the lesser of 5 degrees or 5 * tie spacing.
+ *
+ * \param trk track_p pointer to a track
+ * \param xx pointer to the extraDataCompound struct
+ *
+ * \returns the number of paths
+ */
+int GetTurnoutPaths(track_p trk, struct extraDataCompound_t* xx) {
+ wIndex_t segInx;
+ wIndex_t segEP;
+
+ SCALEINX_T scaleInx = GetTrkScale(trk);
+ tieData_p td = GetScaleTieData(scaleInx);
+
+ int i;
+ ANGLE_T a0, a1, aa0, aa1;
+ DIST_T r, len;
+ coOrd p0, p1;
+
+ PATHPTR_T pp;
+ int pathCnt = 0, routeCnt = 0;
+
+ for (i = 0; i < DTO_DIM; i++)
+ dto[i].n = 0;
+
+ dtod.trk = trk;
+ dtod.index = trk->index;
+ dtod.xx = xx;
+
+ // Validate that the first segment starts at (0, 0)
+ // and if STR p1.y == 0, if CRV angle == 0 or angle == 180
+ GetSegInxEP(1, &segInx, &segEP);
+ trkSeg_p segPtr = &xx->segs[segInx];
+ switch (segPtr->type) {
+ case SEG_STRTRK:
+ p0 = segPtr->u.l.pos[0];
+ p1 = segPtr->u.l.pos[1];
+ if ((FindDistance(p0, zero) > EPSILON) || (fabs(p1.y) > EPSILON))
+ return -1;
+ break;
+ case SEG_CRVTRK:
+ r = fabs(segPtr->u.c.radius);
+ a0 = segPtr->u.c.a0;
+ a1 = segPtr->u.c.a1;
+
+ if (segPtr->u.c.radius > 0) {
+ aa0 = a0;
+ }
+ else {
+ aa0 = a0 + a1;
+ }
+ PointOnCircle(&p0, segPtr->u.c.center, r, aa0);
+ if ((FindDistance(p0, zero) > EPSILON)
+ || ((fabs(aa0 - 180) > EPSILON) && (fabs(aa0) > EPSILON)))
+ return -1;
+ break;
+ }
+
+ pp = GetPaths(trk);
+ while (pp[0]) {
+ pp += strlen((char*)pp) + 1;
+
+ ANGLE_T angle = 0;
+ while (pp[0]) {
+ if (pathCnt < DTO_DIM)
+ dto[pathCnt].type = 'S';
+ while (pp[0]) {
+ GetSegInxEP(pp[0], &segInx, &segEP);
+ // trkSeg_p
+ segPtr = &xx->segs[segInx];
+ switch (segPtr->type) {
+ case SEG_STRTRK:
+ p0 = segPtr->u.l.pos[0];
+ p1 = segPtr->u.l.pos[1];
+
+ wIndex_t n = dto[pathCnt].n;
+ dto[pathCnt].trkSeg[n] = segPtr;
+ dto[pathCnt].base[n] = p0;
+ n++;
+ dto[pathCnt].trkSeg[n] = segPtr;
+ dto[pathCnt].base[n] = p1;
+ // n++;
+ dto[pathCnt].n = n;
+
+ if (n >= DTO_SEGS - 1) return -1;
+
+ break;
+ case SEG_CRVTRK:
+ r = fabs(segPtr->u.c.radius);
+
+ dto[pathCnt].type = segPtr->u.c.center.y < 0 ? 'R' : 'L';
+
+ a0 = segPtr->u.c.a0;
+ a1 = segPtr->u.c.a1;
+
+ angle += a1;
+
+ len = D2R(a1) * r;
+ // Every 5 degrees or 5 * tie spacing
+ int cnt = (int)floor(a1 / 5.0);
+ int cnt2 = (int)floor(len / 5 / td->spacing);
+ if (cnt2 > cnt) cnt = cnt2;
+ if (cnt <= 0) cnt = 1;
+
+ aa1 = a1 / cnt;
+ if (dto[pathCnt].type == 'R') {
+ aa0 = a0;
+ }
+ else {
+ aa0 = a0 + a1;
+ aa1 = -aa1;
+ }
+ PointOnCircle(&p0, segPtr->u.c.center, r, aa0);
+ n = dto[pathCnt].n;
+ dto[pathCnt].trkSeg[n] = segPtr;
+ dto[pathCnt].base[n] = p0;
+ n++;
+ dto[pathCnt].n = n;
+
+ while (cnt > 0) {
+ aa0 += aa1;
+ PointOnCircle(&p0, segPtr->u.c.center, r, aa0);
+
+ // n = dto[pathCnt].n;
+ dto[pathCnt].trkSeg[n] = segPtr;
+ dto[pathCnt].base[n] = p0;
+ n++;
+
+ if (n >= DTO_SEGS - 1) return -1;
+
+ cnt--;
+ }
+ n--; // remove that last point count
+ dto[pathCnt].n = n;
+ }
+ pp++;
+ }
+ // Include the last point
+ dto[pathCnt].crvAngle = angle;
+ dto[pathCnt].n++;
+
+ pathCnt++;
+ if (pathCnt > DTO_DIM) return -1;
+ pp++;
+ }
+ routeCnt++;
+ pp++;
+ }
+ dtod.pathCnt = pathCnt;
+ dtod.routeCnt = routeCnt;
+ dtod.endCnt = trk->endCnt;
+
+ // Guard value: n < DTO_SEGS - 2
+ for (i = 0; i < pathCnt; i++)
+ dto[i].pts[dto[i].n].x = DIST_INF;
+
+ return pathCnt;
+}
+
+/**
+* Sets the turnout type if compatible with enhanced drawing methods. The data is
+* from the path data saved in dtod and dto by GetTurnoutPaths. The turnout type is
+* stored in the dtod.toType. DTO_INVALID (0) if the enhanced methods cannot handle
+* it.
+*/
+void GetTurnoutType() {
+ dtod.strPath = -1;
+ dtod.str2Path = -1;
+ dtod.crvPath = -1;
+ dtod.crv2Path = -1;
+
+ dtod.toType = DTO_INVALID;
+
+ int strCnt = 0, crvCnt = 0, lftCnt = 0, rgtCnt = 0;
+ enum dtoType toType = DTO_INVALID;
+ int i, j;
+
+ // Count path origins
+ dtod.origCnt = 1;
+ dtod.origins[0] = 0;
+
+ for (i = 1; i < dtod.pathCnt; i++) {
+ int eq = 0;
+ for (j = 0; j < i; j++) {
+ if (CoOrdEqual(dto[dtod.origins[j]].base[0], dto[i].base[0]))
+ eq++;
+ }
+ if (eq == 0) {
+ dtod.origins[dtod.origCnt] = i;
+ dtod.origCnt++;
+ }
+
+ if (dtod.origCnt > 4)
+ return;
+ }
+
+ // Determine the path type
+ for (i = 0; i < dtod.pathCnt; i++) {
+ switch (dto[i].type) {
+ case 'S':
+ strCnt++;
+ if (strCnt == 1)
+ dtod.strPath = i;
+ else
+ dtod.str2Path = i;
+ break;
+ case 'L':
+ lftCnt++;
+ crvCnt++;
+ if (crvCnt == 1)
+ dtod.crvPath = i;
+ else
+ dtod.crv2Path = i;
+ break;
+ case 'R':
+ rgtCnt++;
+ crvCnt++;
+ if (crvCnt == 1)
+ dtod.crvPath = i;
+ else
+ dtod.crv2Path = i;
+ break;
+ }
+ }
+
+ dtod.strCnt = strCnt;
+ dtod.crvCnt = crvCnt;
+ dtod.lftCnt = lftCnt;
+ dtod.rgtCnt = rgtCnt;
+
+ // Normal two- or three-way turnout, or a curved turnout
+ if (dtod.origCnt == 1) {
+ if (dtod.pathCnt == 2) {
+ if (strCnt == 1 && crvCnt == 1) {
+ dtod.toType = DTO_NORMAL;
+ }
+ else if ((strCnt == 0) && ((lftCnt == 2) || (rgtCnt == 2))) {
+ // Assumes outer curve is [0] and inner is [1]
+ if ((dto[0].crvAngle <= 20) && (dto[1].crvAngle - dto[0].crvAngle <= 15))
+ dtod.toType = DTO_CURVED;
+ }
+ else if (lftCnt == 1 && rgtCnt == 1) {
+ dtod.toType = DTO_WYE;
+ }
+ }
+ else if ((dtod.pathCnt == 3) && (strCnt == 1)
+ && (lftCnt == 1) && (rgtCnt == 1)) {
+ dtod.toType = DTO_THREE;
+ }
+ }
+ else
+ // Crossing, single- and double-slip
+ if ((dtod.origCnt == 2) && (dtod.endCnt == 4)
+ && strCnt == 2) {
+
+ ANGLE_T a0, a1, a2;
+ a1 = FindAngle(dto[dtod.strPath].base[0], dto[dtod.strPath].base[1]);
+ a2 = FindAngle(dto[dtod.str2Path].base[0], dto[dtod.str2Path].base[1]);
+ // Swap the ends of the strPath if large angle
+ if((a1 > 180.0) && (dto[dtod.strPath].n == 2))
+ {
+ coOrd tmp = dto[dtod.strPath].base[0];
+ dto[dtod.strPath].base[0] = dto[dtod.strPath].base[1];
+ dto[dtod.strPath].base[1] = tmp;
+
+ i = dto[dtod.strPath].n - 1;
+ tmp = dto[dtod.strPath].pts[0];
+ dto[dtod.strPath].pts[0] = dto[dtod.strPath].pts[i];
+ dto[dtod.strPath].pts[i] = tmp;
+
+ a1 = a1 - 180.0;
+ dto[dtod.strPath].angle = a1;
+ }
+ // Swap the ends of the str2Path if large angle
+ if((a2 > 180.0) && (dto[dtod.str2Path].n == 2))
+ {
+ coOrd tmp = dto[dtod.str2Path].base[0];
+ dto[dtod.str2Path].base[0] = dto[dtod.str2Path].base[1];
+ dto[dtod.str2Path].base[1] = tmp;
+
+ i = dto[dtod.str2Path].n - 1;
+ tmp = dto[dtod.str2Path].pts[0];
+ dto[dtod.str2Path].pts[0] = dto[dtod.str2Path].pts[i];
+ dto[dtod.str2Path].pts[i] = tmp;
+
+ a2 = a2 - 180.0;
+ dto[dtod.str2Path].angle = a2;
+ }
+ a0 = DifferenceBetweenAngles(a1, a2);
+ if(a0 < 0)
+ {
+ int tmp = dtod.strPath;
+ dtod.strPath = dtod.str2Path;
+ dtod.str2Path = tmp;
+ a0 = NormalizeAngle(-a0);
+ }
+ if ((a0 > 90.0) || (a0 < 0.0))
+ return;
+
+ coOrd p1 = dto[dtod.strPath].base[0];
+ coOrd p2 = dto[dtod.str2Path].base[0];
+ coOrd pos = zero;
+ int intersect = FindIntersection(&pos, p1, a1, p2, a2);
+
+ if (intersect) {
+ if(strCnt == 2 && dtod.pathCnt == 2){
+ if((a0 <= 61) && (a0 >= -61))
+ dtod.toType = DTO_XING;
+ else
+ dtod.toType = DTO_XNG9;
+ }
+ else if(dtod.pathCnt == 3 && (lftCnt == 1 || rgtCnt == 1)){
+ dtod.toType = DTO_SSLIP;
+ }
+ else if(dtod.pathCnt == 4 && lftCnt == 1 && rgtCnt == 1){
+ dtod.toType = DTO_DSLIP;
+ }
+ }
+ // No intersect, it could be a crossover
+ else if (strCnt == 2) {
+ if (dtod.pathCnt == 4 && lftCnt == 1 && rgtCnt == 1) {
+ dtod.toType = DTO_DCROSS;
+ }
+ else if(dtod.pathCnt == 3){
+ // Perverse test because the cross paths go Left then Right, for example
+ if(lftCnt == 1){
+ dtod.toType = DTO_RCROSS;
+ }
+ else if(rgtCnt == 1){
+ dtod.toType = DTO_LCROSS;
+ }
+ else{
+ dtod.toType = DTO_INVALID;
+ }
+ }
+ }
+ }
+}
+
+/**
+ * Draw Layout lines and points
+ *
+ * \param d The drawing object
+ * \param scaleInx The layout/track scale index
+ */
+static void DrawDtoLayout(
+ drawCmd_p d,
+ SCALEINX_T scaleInx
+)
+{
+ tieData_p td;
+ td = GetScaleTieData(scaleInx);
+
+ // Draw the points and lines from dto
+ double r = td->width / 2;
+ // if (r < 1) r = 1;
+
+ int i, j;
+ for (i = 0; i < DTO_DIM; i++) {
+ for (j = 0; j < dto[i].n; j++) {
+ DrawFillCircle(d, dto[i].pts[j], r, drawColorPurple);
+ if (j < dto[i].n - 1)
+ DrawLine(d, dto[i].pts[j], dto[i].pts[j + 1], 0, drawColorPurple);
+ }
+ }
+}
+
+/**
+* Use the coOrds to build a polygon and draw the bridge fill. Note that the coordinates are
+* passed as pairs, and rearranged into a polygon with the 1,2,4,3 order.
+*
+* \param d The drawing object
+* \param b1 The first coordinate
+* \param b2 The second coordinate
+* \param b3 The third coordinate
+* \param b4 The fourth coordinate
+*/
+static void DrawBridgeFill(
+ drawCmd_p d,
+ coOrd b1,
+ coOrd b2,
+ coOrd b3,
+ coOrd b4
+ )
+{
+ coOrd p[4] = {b1, b2, b4, b3};
+ DrawPoly(d,4,p,NULL,drawColorGrey90,0,DRAW_FILL );
+}
+
+/**
+* Draw Bridge parapets and background for a turnout
+*
+* \param d The drawing object
+* \param path1 The first path
+* \param path2 The second path
+*/
+static void DrawTurnoutBridge(
+ drawCmd_p d,
+ int path1,
+ int path2
+)
+{
+ DIST_T trackGauge = GetTrkGauge(dtod.trk);
+ wDrawWidth width2 = (wDrawWidth)round((2.0 * d->dpi) / BASE_DPI);
+ if (d->options&DC_PRINT)
+ width2 = (wDrawWidth)round(d->dpi / BASE_DPI);
+
+ coOrd b1,b2,b3,b4,b5,b6;
+ ANGLE_T angle = dtod.xx->angle,a = 0.0;
+ int i,j,i1,i2;
+ i1 = path1;
+ i2 = path2;
+ if(dto[i1].base[dto[i1].n - 1].y < dto[i2].base[dto[i2].n - 1].y) {
+ i1 = path2;
+ i2 = path1;
+ // a = -a;
+ }
+
+ if(dtod.toType == DTO_THREE) {
+ i = dtod.strPath;
+ DIST_T dy = fabs(dto[i].dy[0]) + trackGauge * 1.5;
+ b1 = dto[i].pts[0];
+ Translate(&b3,b1,(angle + a),dy);
+ b1 = dto[i].pts[dto[i].n - 1];
+ Translate(&b4,b1,(angle + a),dy);
+ b2 = dto[i].pts[0];
+ Translate(&b5,b2,(angle + a),-dy);
+ b2 = dto[i].pts[dto[i].n - 1];
+ Translate(&b6,b2,(angle + a),-dy);
+
+ // Draw the bridge background
+ DrawBridgeFill(d,b3,b4,b5,b6);
+ }
+
+ for(i = i1; 1; i = i2,a = 180.0) {
+ DIST_T dy = fabs(dto[i].dy[0]) + trackGauge * 1.5;
+ b1 = dto[i].pts[0];
+ Translate(&b3,b1,(angle + a),dy);
+ Translate(&b5,b1,(angle + a),-(dy * 0.75));
+ for(j = 1; j < dto[i].n; j++) {
+ dy = fabs(dto[i].dy[j]) + trackGauge * 1.5;
+ b2 = dto[i].pts[j];
+ Translate(&b4,b2,(angle + a),dy);
+ Translate(&b6,b2,(angle + a),-(dy * 0.75));
+
+ // Draw the bridge background
+ DrawBridgeFill(d,b3,b4,b5,b6);
+
+ // Draw the bridge edge
+ DrawLine(d,b3,b4,width2,drawColorBlack);
+
+ b1 = b2;
+ b3 = b4;
+ b5 = b6;
+ }
+
+ if(i == i2)
+ break;
+ }
+
+ EPINX_T ep;
+ coOrd p;
+ track_p trk1;
+ coOrd p0,p1;
+
+ for(ep = 0; ep < 3; ep++) {
+ trk1 = GetTrkEndTrk(dtod.trk,ep);
+
+ if((trk1) && (!GetTrkBridge(trk1))) {
+
+ p = GetTrkEndPos(dtod.trk,ep);
+ a = GetTrkEndAngle(dtod.trk,ep) + 90.0;
+
+ int i = (dtod.lftCnt > 0) && (dtod.rgtCnt == 0) ? 2 : 1;
+ if(ep != i) {
+ Translate(&p0,p,a,trackGauge * 1.5);
+ Translate(&p1,p0,a - 45.0,trackGauge * 1.5);
+ DrawLine(d,p0,p1,width2,drawColorBlack);
+ }
+ if(ep != (3 - i)) {
+ Translate(&p0,p,a,-trackGauge * 1.5);
+ Translate(&p1,p0,a + 45.0,-trackGauge * 1.5);
+ DrawLine(d,p0,p1,width2,drawColorBlack);
+ }
+ }
+ }
+}
+
+/**
+* Draw Bridge parapets and background for a cross-over
+*
+* \param d The drawing object
+* \param path1 The first path, straight
+* \param path2 The second path, straight
+*/
+static void DrawCrossBridge(
+ drawCmd_p d,
+ int path1,
+ int path2
+)
+{
+ DIST_T trackGauge = GetTrkGauge(dtod.trk);
+ wDrawWidth width2 = (wDrawWidth)round((2.0 * d->dpi)/BASE_DPI);
+ if (d->options&DC_PRINT)
+ width2 = (wDrawWidth)round(d->dpi / BASE_DPI);
+
+ coOrd b1, b2, b3, b4, b5, b6;
+ ANGLE_T angle = dtod.xx->angle, a = 0.0;
+ int i1, i2;
+ i1 = path1;
+ i2 = path2;
+ if(dto[i1].base[dto[i1].n - 1].y < dto[i2].base[dto[i2].n - 1].y) {
+ i1 = path2;
+ i2 = path1;
+ // a = -a;
+ }
+
+ DIST_T dy = fabs(dto[i1].dy[0]) + trackGauge * 1.5;
+ b1 = dto[i1].pts[0];
+ Translate(&b3,b1,(angle + a),dy);
+ b1 = dto[i1].pts[dto[i1].n-1];
+ Translate(&b4,b1,(angle + a),dy);
+ b2 = dto[i2].pts[0];
+ Translate(&b5,b2,(angle + a),-dy);
+ b2 = dto[i2].pts[dto[i2].n-1];
+ Translate(&b6,b2,(angle + a),-dy);
+
+ // Draw the bridge background
+ DrawBridgeFill(d, b3, b4, b5, b6);
+
+ // Draw the bridge edges
+ DrawLine(d,b3,b4,width2,drawColorBlack);
+ DrawLine(d,b5,b6,width2,drawColorBlack);
+
+ EPINX_T ep;
+ coOrd p;
+ track_p trk1;
+ coOrd p0,p1;
+
+ for(ep = 0; ep < 4; ep++) {
+ trk1 = GetTrkEndTrk(dtod.trk,ep);
+
+ if((trk1) && (!GetTrkBridge(trk1))) {
+ p = GetTrkEndPos(dtod.trk,ep);
+ a = GetTrkEndAngle(dtod.trk,ep) + 90.0;
+
+ if((ep == 1) || (ep == 2)) {
+ Translate(&p0,p,a,trackGauge * 1.5);
+ Translate(&p1,p0,a - 45.0,trackGauge * 1.5);
+ DrawLine(d,p0,p1,width2,drawColorBlack);
+ }
+ if((ep == 0) || (ep == 3)) {
+ Translate(&p0,p,a,-trackGauge * 1.5);
+ Translate(&p1,p0,a + 45.0,-trackGauge * 1.5);
+ DrawLine(d,p0,p1,width2,drawColorBlack);
+ }
+ }
+ }
+}
+
+/**
+* Draw Bridge parapets and background for a crossing
+*
+* \param d The drawing object
+* \param path1 The first path
+* \param path2 The second path
+*/
+static void DrawXingBridge(
+ drawCmd_p d,
+ int path1,
+ int path2
+)
+{
+ DIST_T trackGauge = GetTrkGauge(dtod.trk);
+ wDrawWidth width2 = (wDrawWidth)round((2.0 * d->dpi)/BASE_DPI);
+ if (d->options&DC_PRINT)
+ width2 = (wDrawWidth)round(d->dpi / BASE_DPI);
+
+ coOrd b0, b1, b2, b3, b4, b5, b6;
+ int i, j, i1, i2;
+ i1 = dtod.strPath;
+ i2 = dtod.str2Path;
+
+ // Bridge fill both straight sections
+ wDrawWidth width3 = (wDrawWidth)round(trackGauge * 3 * d->dpi/d->scale);
+ b1 = dto[i1].pts[0];
+ b2 = dto[i1].pts[dto[i1].n-1];
+ DrawLine(d,b1,b2,width3,wDrawColorGrey90);
+ b1 = dto[i2].pts[0];
+ b2 = dto[i2].pts[dto[i1].n-1];
+ DrawLine(d,b1,b2,width3,wDrawColorGrey90);
+
+ i1 = path1;
+ i2 = path2;
+ if(dto[i1].base[dto[i1].n - 1].y < dto[i2].base[dto[i2].n - 1].y) {
+ i1 = path2;
+ i2 = path1;
+ }
+
+ // Handle curved sections for slips
+ BOOL_T hasLeft = 0, hasRgt = 0;
+ ANGLE_T angle = dtod.xx->angle, a = 0.0;
+ for(i = i1; 1; i = i2,a = 180.0) {
+ DIST_T dy = fabs(dto[i].dy[0]) + trackGauge * 1.5;
+ b1 = dto[i].pts[0];
+ Translate(&b3,b1,(angle + a),dy);
+ Translate(&b5,b1,(angle + a),-(dy * 0.75));
+ if(dto[i].type != 'S') {
+ if(dto[i].type == 'L')
+ hasLeft = 1;
+ else if(dto[i].type == 'R')
+ hasRgt = 1;
+ for(j = 1; j < dto[i].n; j++) {
+ dy = fabs(dto[i].dy[j]) + trackGauge * 1.5;
+ b2 = dto[i].pts[j];
+ Translate(&b4,b2,(angle + a),dy);
+ Translate(&b6,b2,(angle + a),-(dy * 0.75));
+
+ // Draw the bridge background
+ DrawBridgeFill(d,b3,b4,b5,b6);
+
+ // Draw the bridge edge
+ DrawLine(d,b3,b4,width2,drawColorBlack);
+ b1 = b2;
+ b3 = b4;
+ b5 = b6;
+ }
+ }
+ if(i == i2)
+ break;
+ }
+
+ if(dtod.strPath >= 0 && dtod.str2Path >= 0) {
+ i1 = dtod.strPath;
+ i2 = dtod.str2Path;
+ if(!hasRgt) {
+ DIST_T dy = trackGauge * 1.5;
+ ANGLE_T a1, a2;
+ b1 = dto[i1].pts[0];
+ a1 = dto[i1].angle + 90;
+ Translate(&b3,b1,a1,dy);
+
+ b2 = dto[i2].pts[dto[i2].n - 1];
+ a2 = dto[i2].angle + 90;
+ Translate(&b4,b2,a2,dy);
+
+ FindIntersection(&b0, b3, a1-90.0, b4, a2-90.0);
+
+ // Draw the bridge edge
+ DrawLine(d,b3,b0,width2,drawColorBlack);
+ DrawLine(d,b0,b4,width2,drawColorBlack);
+ }
+
+ if(!hasLeft) {
+ DIST_T dy = trackGauge * 1.5;
+ ANGLE_T a1, a2;
+ b1 = dto[i2].pts[0];
+ a1 = dto[i2].angle - 90;
+ Translate(&b3,b1,a1,dy);
+
+ b2 = dto[i1].pts[dto[i1].n - 1];
+ a2 = dto[i1].angle - 90;
+ Translate(&b4,b2,a2,dy);
+
+ FindIntersection(&b0, b3, a1+90.0, b4, a2+90.0);
+
+ // Draw the bridge edge
+ DrawLine(d,b3,b0,width2,drawColorBlack);
+ DrawLine(d,b0,b4,width2,drawColorBlack);
+ }
+
+ if(dtod.toType == DTO_XNG9) {
+ DIST_T dy = trackGauge * 1.5;
+ ANGLE_T a1, a2;
+ b1 = dto[i1].pts[dto[i1].n - 1];
+ a1 = dto[i1].angle + 90;
+ Translate(&b3,b1,a1,dy);
+
+ b2 = dto[i2].pts[dto[i2].n - 1];
+ a2 = dto[i2].angle - 90;
+ Translate(&b4,b2,a2,dy);
+
+ FindIntersection(&b0, b3, a1-90.0, b4, a2+90.0);
+
+ // Draw the bridge edge
+ DrawLine(d,b3,b0,width2,drawColorBlack);
+ DrawLine(d,b0,b4,width2,drawColorBlack);
+
+ b1 = dto[i1].pts[0];
+ a1 = dto[i1].angle - 90;
+ Translate(&b3,b1,a1,dy);
+
+ b2 = dto[i2].pts[0];
+ a2 = dto[i2].angle + 90;
+ Translate(&b4,b2,a2,dy);
+
+ FindIntersection(&b0, b3, a1+90.0, b4, a2-90.0);
+
+ // Draw the bridge edge
+ DrawLine(d,b3,b0,width2,drawColorBlack);
+ DrawLine(d,b0,b4,width2,drawColorBlack);
+ }
+ }
+
+ // Bridge wings
+ EPINX_T ep;
+ coOrd p;
+ track_p trk1;
+ coOrd p0,p1;
+
+ for(ep = 0; ep < 4; ep++) {
+ trk1 = GetTrkEndTrk(dtod.trk,ep);
+
+ if((trk1) && (!GetTrkBridge(trk1))) {
+ p = GetTrkEndPos(dtod.trk,ep);
+ a = GetTrkEndAngle(dtod.trk,ep) + 90.0;
+
+ if((dtod.toType == DTO_XNG9) || (ep == 2) || (ep == 3)) {
+ Translate(&p0,p,a,trackGauge * 1.5);
+ Translate(&p1,p0,a - 45.0,trackGauge * 1.5);
+ DrawLine(d,p0,p1,width2,drawColorBlack);
+ }
+ if((dtod.toType == DTO_XNG9) || (ep == 0) || (ep == 1)) {
+ Translate(&p0,p,a,-trackGauge * 1.5);
+ Translate(&p1,p0,a + 45.0,-trackGauge * 1.5);
+ DrawLine(d,p0,p1,width2,drawColorBlack);
+ }
+ }
+ }
+}
+
+/**
+ * Init Normal Turnout data structure
+ * Calculates the dy value of each segment
+ * Sets pts values REORIGIN base to actual position and angle
+ * Save often used last base and last point coOrd
+ */
+static void DrawDtoInit()
+{
+ struct extraDataCompound_t* xx = dtod.xx;
+ coOrd p1;
+ int i, j;
+
+ for(i = 0; i < DTO_DIM; i++) {
+ int n = dto[i].n;
+ for(j = 0; j < n; j++) {
+ REORIGIN(p1,dto[i].base[j],xx->angle,xx->orig);
+ dto[i].pts[j] = p1;
+ if(j < n - 1)
+ dto[i].dy[j] = (dto[i].base[j + 1].y - dto[i].base[j].y) / (dto[i].base[j + 1].x - dto[i].base[j].x);
+ }
+ dto[i].ptsLast = dto[i].pts[n - 1];
+ dto[i].baseLast = dto[i].base[n - 1];
+ }
+}
+
+/**
+ * Draw Normal (Single Origin) Turnout Bridge and Ties. Uses the static dto and dtod structures.
+ *
+ * \param d The drawing object
+ * \param scaleInx The layout/track scale index
+ * \param color The tie color. If black the color is read from the global tieColor.
+ */
+static void DrawNormalTurnout(
+ drawCmd_p d,
+ SCALEINX_T scaleInx,
+ BOOL_T omitTies,
+ wDrawColor color)
+{
+ tieData_p td;
+ DIST_T len;
+ coOrd pos;
+ int cnt;
+ ANGLE_T angle;
+ coOrd s1, s2, p1, p2, q1, q2;
+ int s0, p0, q0;
+ ANGLE_T a0;
+
+ if (color == wDrawColorBlack)
+ color = tieColor;
+
+ DIST_T trackGauge = GetTrkGauge(dtod.trk);
+
+ DrawDtoInit();
+
+ // draw the points
+#ifdef DTO_DEBUG
+ if (DTO_DEBUG == DTO_NORMAL) DrawDtoLayout(d, scaleInx);
+#endif
+
+ int strPath = dtod.strPath, othPath = 0, secPath = 1;
+ int toType = dtod.toType;
+ int first = 1;
+
+ switch (toType) {
+ case DTO_NORMAL:
+ othPath = 1 - strPath;
+ secPath = strPath;
+ break;
+ case DTO_WYE:
+ // strPath = 2;
+ othPath = 0; secPath = 1;
+ break;
+ case DTO_THREE:
+ switch (strPath) {
+ case 0:
+ othPath = 1; secPath = 2;
+ break;
+ case 1:
+ othPath = 0; secPath = 2;
+ break;
+ case 2:
+ othPath = 0; secPath = 1;
+ break;
+ }
+ break;
+ }
+
+ if(dtod.bridge) {
+ DrawTurnoutBridge(d,othPath,secPath);
+ }
+ if (omitTies)
+ return;
+
+ // Straight vector for tie angle
+ if (toType == DTO_WYE) {
+ s1 = dto[othPath].pts[0];
+ s2 = MidPtCoOrd(dto[othPath].ptsLast, dto[secPath].ptsLast);
+ }
+ else {
+ s1 = dto[strPath].pts[0];
+ s2 = dto[strPath].ptsLast;
+ }
+ // Diverging vector(s)
+ p1 = dto[othPath].pts[0];
+ p2 = dto[othPath].ptsLast;
+ q1 = dto[secPath].pts[0];
+ q2 = dto[secPath].ptsLast;
+
+ td = GetScaleTieData(scaleInx);
+ len = FindDistance(s1, s2);
+ angle = FindAngle(s1, s2); // The straight segment
+
+ cnt = (int)floor(len / td->spacing + 0.5);
+ if (cnt > 0) {
+ int pn = dto[othPath].n;
+ int qn = dto[secPath].n;
+ DIST_T dx = len / cnt;
+ s0 = p0 = q0 = 0;
+ DIST_T tdlen = td->length;
+ DIST_T tdmax = (toType == DTO_WYE) ? 2.0 * tdlen : 2.5 * tdlen;
+ DIST_T px = len, dlenx = dx / 2;
+
+ cnt = cnt > 1 ? cnt - 1 : 1;
+ for (px = dlenx; cnt; cnt--, px += dx) {
+ if (px >= dto[othPath].base[p0 + 1].x) p0++;
+ if (px >= dto[secPath].base[q0 + 1].x) q0++;
+ if (p0 >= pn || q0 >= qn)
+ break;
+
+ if ((px + dx >= dto[othPath].baseLast.x) || (px + dx >= dto[secPath].baseLast.x)) {
+ break;
+ }
+
+ DIST_T dy1 = dto[othPath].base[p0].y + (px - dto[othPath].base[p0].x) * dto[othPath].dy[p0];
+ DIST_T dy2 = dto[secPath].base[q0].y + (px - dto[secPath].base[q0].x) * dto[secPath].dy[q0];
+ tdlen = td->length + fabs(dy1) + fabs(dy2);
+ if (tdlen > tdmax)
+ break;
+
+ DIST_T dy = dy1 + dy2;
+ Translate(&pos, s1, angle, px);
+ Translate(&pos, pos, (angle - 90.0), dy / 2);
+
+ DrawTie(d, pos, angle, tdlen, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+ }
+
+ // Asymmetric? Use longer ties for remaining two tracks (strPath, othPath)
+ DIST_T sx = px; // Save these values for second code block
+ int s0 = p0;
+ if((dtod.toType == DTO_THREE) && (px + dx >= dto[secPath].baseLast.x)){
+ for ( ; cnt; cnt--, px += dx) {
+ if (px >= dto[othPath].base[p0 + 1].x) p0++;
+ // if (px >= dto[secPath].base[q0 + 1].x) q0++;
+ if (p0 >= pn)
+ break;
+
+ if (px + dx >= dto[othPath].baseLast.x) {
+ break;
+ }
+
+ DIST_T dy1 = dto[othPath].base[p0].y + (px - dto[othPath].base[p0].x) * dto[othPath].dy[p0];
+ tdlen = td->length + fabs(dy1);
+ if (tdlen > tdmax)
+ break;
+
+ DIST_T dy = dy1;
+ Translate(&pos, s1, angle, px);
+ Translate(&pos, pos, (angle - 90.0), dy / 2);
+
+ DrawTie(d, pos, angle, tdlen, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+ }
+ }
+
+ // Draw remaining ties, if any
+ if (px + dx < dto[othPath].baseLast.x){
+ p1 = dto[othPath].pts[p0];
+ p2 = dto[othPath].ptsLast;
+ angle = FindAngle(p1, p2);
+ a0 = FindAngle(dto[othPath].base[p0], dto[othPath].baseLast);
+ DIST_T lenr = (dto[othPath].baseLast.x - px + dlenx) / cos(D2R(90.0 - a0));
+ Translate(&p1, p2, angle, -lenr);
+ DrawStraightTies(d, scaleInx, p1, p2, color);
+ }
+ else {
+ p1 = dto[othPath].pts[pn - 2];
+ a0 = FindAngle(p1, p2);
+ Translate(&pos, p2, a0, -dx / 2);
+ DrawTie(d, pos, a0, td->length, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+ }
+ // Restore saved values
+ if(dtod.toType == DTO_THREE){
+ px = sx;
+ p0 = s0;
+ }
+
+ // Asymmetric? Use longer ties for remaining two tracks (strPath, secPath)
+ if((dtod.toType == DTO_THREE) && (px + dx >= dto[othPath].baseLast.x)){
+ for ( ; cnt; cnt--, px += dx) {
+ // if (px >= dto[othPath].base[p0 + 1].x) p0++;
+ if (px >= dto[secPath].base[q0 + 1].x) q0++;
+ if (q0 >= qn)
+ break;
+
+ if (px + dx >= dto[secPath].baseLast.x) {
+ break;
+ }
+
+ DIST_T dy1 = dto[secPath].base[q0].y + (px - dto[secPath].base[q0].x) * dto[secPath].dy[q0];
+ tdlen = td->length + fabs(dy1);
+ if (tdlen > tdmax)
+ break;
+
+ DIST_T dy = dy1;
+ Translate(&pos, s1, angle, px);
+ Translate(&pos, pos, (angle - 90.0), dy / 2);
+
+ DrawTie(d, pos, angle, tdlen, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+ }
+ }
+ if (px + dx < dto[secPath].baseLast.x) {
+ q1 = dto[secPath].pts[q0];
+ q2 = dto[secPath].ptsLast;
+ angle = FindAngle(q1, q2);
+ a0 = FindAngle(dto[secPath].base[q0], dto[secPath].baseLast);
+ DIST_T lenr = (dto[secPath].baseLast.x - px + dlenx) / cos(D2R(90.0 - a0));
+ Translate(&q1, q2, angle, -lenr);
+ DrawStraightTies(d, scaleInx, q1, q2, color);
+ }
+ else {
+ q1 = dto[secPath].pts[qn - 2];
+ a0 = FindAngle(q1, q2);
+ Translate(&pos, q2, a0, -dx / 2);
+ DrawTie(d, pos, a0, td->length, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+ }
+
+ // Final ties at end
+ if (dtod.toType == DTO_THREE) {
+
+ int n = (int)(dto[strPath].baseLast.x);
+ if (px + dx < len) {
+ angle = FindAngle(s1, s2);
+ DIST_T lenr = len - px + dlenx;
+ Translate(&s1, s2, angle, -lenr);
+ DrawStraightTies(d, scaleInx, s1, s2, color);
+ }
+ else {
+ n = dto[strPath].n;
+ s1 = dto[strPath].pts[n - 2];
+ a0 = FindAngle(s1, s2);
+ Translate(&pos, s2, a0, -dx / 2);
+ DrawTie(d, pos, a0, td->length, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+ }
+ }
+ }
+}
+
+/**
+ * Draw Curved (Single Origin) Turnout Bridge and Ties. Uses the static dto and dtod structures.
+ *
+ * \param d The drawing object
+ * \param scaleInx The layout/track scale index
+ * \param color The tie color. If black the color is read from the global tieColor.
+ */
+static void DrawCurvedTurnout(
+ drawCmd_p d,
+ SCALEINX_T scaleInx,
+ BOOL_T omitTies,
+ wDrawColor color)
+{
+ tieData_p td;
+ DIST_T len, r;
+ coOrd pos;
+ int cnt;
+ ANGLE_T angle, dang;
+ coOrd center;
+ coOrd p1, p2, q1, q2;
+ ANGLE_T a0, a1, a2;
+ struct extraDataCompound_t* xx = dtod.xx;
+
+ if (color == wDrawColorBlack)
+ color = tieColor;
+
+ DrawDtoInit();
+
+ // draw the points
+#ifdef DTO_DEBUG
+ if (DTO_DEBUG == DTO_CURVED) DrawDtoLayout(d, scaleInx);
+#endif
+
+ int othPath = 0, secPath = 1;
+ int toType = dtod.toType;
+
+ if(dtod.bridge) {
+ DrawTurnoutBridge(d,othPath,secPath);
+ }
+ if (omitTies)
+ return;
+
+ td = GetScaleTieData(scaleInx);
+
+ // Save the ending coordinates
+ coOrd othEnd = zero, secEnd = zero;
+
+ trkSeg_p trk;
+ DIST_T tdlen = td->length, tdmax = tdlen * 2.5;
+ DIST_T tdspc = td->spacing, tdspc2 = tdspc / 2.0;
+ double rdot = td->width / 2;
+
+ int pn = dto[othPath].n;
+ int qn = dto[secPath].n;
+ int p0 = 0, q0 = 0;
+ DIST_T px = 0, qx = 0, dy = 0, dy1 = 0, dy2 = 0;
+
+ double cosAdj = 1.0;
+
+ angle = 0;
+ px = tdspc2;
+ qx = tdspc2;
+ int segs = max(dto[othPath].n, dto[secPath].n);
+ for (; segs > 0; segs--) {
+
+ if (px >= dto[othPath].base[p0 + 1].x)
+ p0++;
+ if (qx >= dto[secPath].base[q0 + 1].x)
+ q0++;
+ if ((p0 >= pn - 1) || (q0 >= qn - 1)) {
+ break;
+ }
+
+ trk = dto[othPath].trkSeg[p0];
+ if (trk->type == SEG_CRVTRK) {
+
+ center = trk->u.c.center;
+ r = fabs(trk->u.c.radius);
+ a0 = NormalizeAngle(trk->u.c.a0 + dtod.xx->angle);
+ a1 = trk->u.c.a1;
+
+ pos = center;
+ REORIGIN(center, pos, xx->angle, xx->orig);
+
+ len = r * D2R(a1);
+ cnt = (int)floor(len / tdspc + 0.5);
+ if (len - tdspc * cnt >= tdspc2) {
+ cnt++;
+ }
+ DIST_T tdlen = td->length;
+ DIST_T dx = len / cnt, dx2 = dx / 2;
+
+ if (cnt != 0) {
+ dang = (len / cnt) * 360 / (2 * M_PI * r);
+ DIST_T dx = len / cnt, dx2 = dx / 2;
+
+ if (dto[othPath].type == 'R') {
+ a2 = a0 + dang / 2;
+ }
+ else {
+ a2 = a0 + a1 - dang / 2;
+ dang = -dang;
+ }
+ angle += fabs(dang / 2);
+
+ cosAdj = fabs(cos(D2R(angle)));
+ px += dx2 * cosAdj;
+ qx += dx2 * cosAdj;
+
+ for (; cnt; cnt--, a2 += dang, angle += dang) {
+ if (px >= dto[othPath].base[p0 + 1].x)
+ p0++;
+ if (qx >= dto[secPath].base[q0 + 1].x)
+ q0++;
+ if ((p0 >= pn - 1) || (q0 >= qn - 1)) {
+ break;
+ }
+
+ coOrd e1, e2;
+ PointOnCircle(&e1, center, r, a2);
+
+ q1 = dto[secPath].pts[q0];
+ q2 = dto[secPath].pts[q0 + 1];
+ FindIntersection(&e2, e1, a2, q1, FindAngle(q1, q2));
+
+ dy = FindDistance(e1, e2);
+ DIST_T tlen = tdlen + dy;
+
+ if (tlen > tdmax) {
+ break;
+ }
+
+ Translate(&pos, e1, a2, -dy / 2);
+ DrawTie(d, pos, angle + xx->angle + 90, tlen, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+
+ // Assures that these ends are the last point drawn before break
+ othEnd = e1;
+ secEnd = e2;
+
+ cosAdj = fabs(cos(D2R(angle)));
+ if (cnt > 1) {
+ px += dx * cosAdj;
+ qx += dx * cosAdj;
+ }
+ else {
+ px += dx2 * cosAdj;
+ qx += dx2 * cosAdj;
+ }
+ }
+ }
+ }
+ else {
+ cosAdj = fabs(cos(D2R(angle)));
+
+ p1 = dto[othPath].base[p0];
+ p2 = dto[othPath].base[p0 + 1];
+ len = FindDistance(p1, p2);
+ cnt = (int)floor(len / tdspc + 0.6);
+ if (cnt > 0) {
+ DIST_T dx = len / cnt, dx2 = dx / 2;
+
+ for (; cnt; cnt--) {
+ if (px >= dto[othPath].base[p0 + 1].x)
+ p0++;
+ if (qx >= dto[secPath].base[q0 + 1].x)
+ q0++;
+ if ((p0 >= pn - 1) || (q0 >= qn - 1)) {
+ break;
+ }
+
+ p1 = dto[othPath].base[p0];
+ p2 = dto[othPath].base[p0 + 1];
+
+ if ((px >= dto[othPath].baseLast.x)
+ || (qx >= dto[secPath].baseLast.x)) {
+ break;
+ }
+
+ dy1 = dto[secPath].base[q0].y + (qx - dto[secPath].base[q0].x) * dto[secPath].dy[q0];
+ dy2 = dto[othPath].base[p0].y + (px - dto[othPath].base[p0].x) * dto[othPath].dy[p0];
+ dy = dy1 - dy2;
+ DIST_T tlen = tdlen + fabs(cosAdj * dy);
+ if (tlen > tdmax) {
+ break;
+ }
+
+ q1 = dto[secPath].pts[q0];
+ q2 = dto[secPath].pts[q0 + 1];
+ a1 = FindAngle(q1, q2);
+ DIST_T xlen = qx - dto[secPath].base[q0].x;
+ Translate(&pos, q1, a1, xlen);
+ secEnd = pos;
+
+ q1 = dto[othPath].pts[p0];
+ q2 = dto[othPath].pts[p0 + 1];
+ a1 = FindAngle(q1, q2);
+ xlen = px - dto[othPath].base[p0].x;
+ Translate(&pos, q1, a1, xlen);
+ othEnd = pos;
+
+ Translate(&pos, pos, (a1 - 90.0), dy / 2);
+ DrawTie(d, pos, a1, tlen, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+
+ cosAdj = fabs(cos(D2R(angle)));
+ px += dx * cosAdj;
+ qx += dx * cosAdj;
+ }
+ }
+ else {
+ break;
+ }
+ }
+ }
+
+#ifdef DTO_DEBUG
+ if (DTO_DEBUG == DTO_CURVED) {
+ DrawFillCircle(d, othEnd, rdot, drawColorGreen);
+ DrawFillCircle(d, secEnd, rdot, drawColorGreen);
+
+ DrawFillCircle(d, dto[othPath].pts[p0], rdot, drawColorBlue);
+ DrawFillCircle(d, dto[secPath].pts[q0], rdot, drawColorBlue);
+ }
+#endif
+
+ // Draw remaining ties, if any
+ p1 = othEnd;
+ p2 = dto[othPath].ptsLast;
+ a0 = FindAngle(p1, p2);
+ len = FindDistance(p1, p2);
+ if (len >= 2 * tdspc) {
+ Translate(&p1, p1, a0, tdspc2);
+ DrawStraightTies(d, scaleInx, p1, p2, color);
+ }
+ else if (len > tdspc2) {
+ Translate(&p2, p2, a0, -tdspc2);
+ DrawTie(d, p2, a0, td->length, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+ }
+
+ q1 = secEnd;
+ q2 = dto[secPath].ptsLast;
+ a0 = FindAngle(q1, q2);
+ len = FindDistance(q1, q2);
+ if (len >= 2 * tdspc) {
+ Translate(&q1, q1, a0, tdspc2);
+ DrawStraightTies(d, scaleInx, q1, q2, color);
+ }
+ else if (len > tdspc2) {
+ Translate(&q2, q2, a0, -tdspc2);
+ DrawTie(d, q2, a0, td->length, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+ }
+}
+
+/**
+ * Draw Crossing and Slip Turnout Bridge and Ties - Uses the static dto and dtod structures.
+ *
+ * \param d The drawing object
+ * \param scaleInx The layout/track scale index
+ * \param color The tie color. If black the color is read from the global tieColor.
+ */
+static void DrawXingTurnout(
+ drawCmd_p d,
+ SCALEINX_T scaleInx,
+ BOOL_T omitTies,
+ wDrawColor color)
+{
+ tieData_p td;
+ DIST_T len;
+ coOrd pos;
+ int cnt;
+ ANGLE_T cAngle;
+
+ if (color == wDrawColorBlack)
+ color = tieColor;
+
+ coOrd c1, c2, s1, s2, p1, p2, q1;
+ int p0, q0;
+ ANGLE_T a0, a1, a2;
+ int strPath = dtod.strPath, str2Path = dtod.str2Path;
+
+ struct extraDataCompound_t* xx = dtod.xx;
+
+ DrawDtoInit();
+
+ dto[strPath].angle = FindAngle(dto[strPath].pts[0], dto[strPath].ptsLast);
+ dto[str2Path].angle = FindAngle(dto[str2Path].pts[0], dto[str2Path].ptsLast);
+
+ int othPath = strPath, secPath = str2Path;
+ int toType = dtod.toType;
+
+ int i, j;
+ switch (toType) {
+ case DTO_XING:
+ case DTO_XNG9:
+ break;
+ case DTO_SSLIP:
+ for (i = 0; i < dtod.pathCnt; i++) {
+ if (dto[i].type == 'L' || dto[i].type == 'R') {
+ secPath = i;
+ break;
+ }
+ }
+ break;
+ case DTO_DSLIP:
+ for (i = 0; i < dtod.pathCnt; i++) {
+ if (dto[i].type == 'L') {
+ othPath = i;
+ }
+ else if (dto[i].type == 'R') {
+ secPath = i;
+ }
+ }
+ break;
+ }
+
+ if(dtod.bridge) {
+ DrawXingBridge(d,othPath,secPath);
+ }
+ // draw the points
+#ifdef DTO_DEBUG
+ if (DTO_DEBUG == DTO_XING) DrawDtoLayout(d, scaleInx);
+#endif
+
+ if (omitTies)
+ return;
+
+ td = GetScaleTieData(scaleInx);
+ DIST_T tdlen = td->length, tdmax = 2.0 * tdlen;
+ DIST_T tdspc = td->spacing, tdspc2 = tdspc / 2;
+
+ // Midpoint
+ p1 = dto[strPath].pts[0];
+ a1 = dto[strPath].angle;
+
+ q1 = dto[str2Path].pts[0];
+ a2 = dto[str2Path].angle;
+
+ FindIntersection(&pos, p1, a1, q1, a2);
+ dtod.midPt = pos;
+
+#ifdef DTO_DEBUG
+ if(DTO_DEBUG == DTO_XING)
+ {
+ double r = td->width / 2;
+ DrawFillCircle(d,p1,r,drawColorPurple);
+ DrawFillCircle(d,q1,r,drawColorPurple);
+ DrawFillCircle(d,dtod.midPt,r,drawColorPurple);
+ }
+#endif
+
+ // Tie length adjust
+ double dAngle = fabs(DifferenceBetweenAngles(a1, a2));
+ double magic = 1.0;
+
+ // Short circuit the complex code for this simple case
+ if (toType == DTO_XNG9) {
+ p1 = dto[strPath].pts[0];
+ p2 = dto[strPath].ptsLast;
+ DrawStraightTies(d, scaleInx, p1, p2, color);
+
+ p1 = dto[str2Path].pts[0];
+ p2 = dto[str2Path].ptsLast;
+
+ // Omit the center ties
+ magic = 1 / cos(D2R(90 - dAngle));
+ DIST_T tdadj = (tdlen / 2) * magic;
+ DIST_T tdadj2 = tdspc2 * magic;
+
+ dAngle = (dAngle - 90) / 2;
+ Translate(&pos, dtod.midPt, a2, -tdadj - tdadj2);
+ DrawTie(d, pos, a2 - dAngle, tdlen, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+
+ Translate(&pos, dtod.midPt, a2, -tdadj - tdspc);
+ DrawStraightTies(d, scaleInx, p1, pos, color);
+
+ Translate(&pos, dtod.midPt, a2, tdadj + tdadj2);
+ DrawTie(d, pos, a2 - dAngle, tdlen, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+
+ Translate(&pos, dtod.midPt, a2, tdadj + tdspc);
+ DrawStraightTies(d, scaleInx, pos, p2, color);
+ return;
+ }
+
+ // Straight vector for tie angle
+ s1 = MidPtCoOrd(dto[strPath].base[0], dto[str2Path].base[0]);
+ s2 = MidPtCoOrd(dto[strPath].baseLast, dto[str2Path].baseLast);
+
+ // Rotate base coordinates so that the tie line is aligned with x-axis and origin is at zero
+ cAngle = FindAngle(s1, s2);
+ for (i = 0; i < DTO_DIM; i++)
+ for (j = 0; j < dto[i].n; j++) {
+ dto[i].base[j].x -= s1.x;
+ dto[i].base[j].y -= s1.y;
+ Rotate(&dto[i].base[j], zero, (90.0 - cAngle));
+ }
+
+ for (i = 0; i < DTO_DIM; i++) {
+ for (j = 0; j < dto[i].n - 1; j++) {
+ dto[i].dy[j] = (dto[i].base[j + 1].y - dto[i].base[j].y) / (dto[i].base[j + 1].x - dto[i].base[j].x);
+ }
+ if (dto[i].type == 'S')
+ dto[i].angle = FindAngle(dto[i].pts[0], dto[i].ptsLast);
+ }
+
+ // Tie center line in drawing coordinates
+ REORIGIN(c1, s1, xx->angle, xx->orig);
+ REORIGIN(c2, s2, xx->angle, xx->orig);
+ cAngle = FindAngle(c1, c2);
+
+ int pn = dto[othPath].n;
+ int qn = dto[secPath].n;
+
+ // Tie length adjust
+ magic = 1 / cos(0.5 * D2R(dAngle));
+ // Extra ties length adjust
+ double magic2 = 1.0 / cos(0.5 * D2R(dAngle));
+
+ // Draw right half
+ len = FindDistance(dtod.midPt, c2);
+ cnt = (int)floor(len / td->spacing + 0.5);
+ if (cnt <= 0)
+ return;
+
+ DIST_T dx = len / cnt;
+ p0 = q0 = 0;
+ DIST_T dx2 = dx / 2;
+ DIST_T px = len + dx2;
+ DIST_T lenx = 0;
+
+ while (p0 < pn && px > dto[othPath].base[p0 + 1].x) p0++;
+ while (q0 < qn && px > dto[secPath].base[q0 + 1].x) q0++;
+ while (p0 < pn && q0 < qn) {
+ if (px > dto[othPath].base[p0 + 1].x) p0++;
+ if (px > dto[secPath].base[q0 + 1].x) q0++;
+ if (p0 >= pn || q0 >= qn)
+ break;
+ // Dont use baseLast, as base coOrds have been rotated
+ if ((px + dx >= dto[othPath].base[pn - 1].x)
+ || (px + dx >= dto[secPath].base[qn - 1].x)) {
+ break;
+ }
+
+ DIST_T dy1 = dto[othPath].base[p0].y + (px - dto[othPath].base[p0].x) * dto[othPath].dy[p0];
+ DIST_T dy2 = dto[secPath].base[q0].y + (px - dto[secPath].base[q0].x) * dto[secPath].dy[q0];
+ tdlen = (td->length + fabs(dy1) + fabs(dy2)) * magic;
+ if(tdlen > tdmax)
+ {
+ if(dAngle >= 30)
+ {
+ DIST_T dy = (dy1 + dy2) / 2;
+ Translate(&pos,dtod.midPt,cAngle,px - len);
+ Translate(&pos,pos,(cAngle - 90.0),dy);
+ DrawTie(d,pos,cAngle,tdlen - td->length * magic,td->width,color,tieDrawMode == TIEDRAWMODE_SOLID);
+ lenx += dx2 * magic2;
+ }
+ break;
+ }
+
+ DIST_T dy = (dy1 + dy2) / 2;
+ Translate(&pos, dtod.midPt, cAngle, px - len);
+ Translate(&pos, pos, (cAngle - 90.0), dy);
+ DrawTie(d, pos, cAngle, tdlen, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+
+ px += dx;
+ lenx += dx;
+ }
+
+ p1 = dtod.midPt;
+ p2 = dto[strPath].ptsLast;
+ DIST_T lenr = FindDistance(p1, p2) - lenx * magic2;
+ a0 = dto[strPath].angle;
+ if (lenr > dx) {
+ Translate(&pos, p2, a0, -lenr);
+ DrawStraightTies(d, scaleInx, pos, p2, color);
+ }
+ else {
+ Translate(&pos, p2, a0, -dx2);
+ DrawTie(d, pos, a0, td->length, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+ }
+
+ // p1 = dtod.midPt;
+ p2 = dto[str2Path].ptsLast;
+ lenr = FindDistance(p1, p2) - lenx * magic2;
+ a0 = dto[str2Path].angle;
+ if (lenr > dx) {
+ Translate(&pos, p2, a0, -lenr);
+ DrawStraightTies(d, scaleInx, pos, p2, color);
+ }
+ else {
+ Translate(&pos, p2, a0, -dx2);
+ DrawTie(d, pos, a0, td->length, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+ }
+
+ // Draw left half
+ // Change the straight path used
+ if (dtod.toType == DTO_SSLIP) {
+ othPath = str2Path;
+ }
+
+ len = FindDistance(c1, dtod.midPt);
+ cnt = (int)floor(len / td->spacing + 0.5);
+ if (cnt <= 0)
+ return;
+
+ p0 = q0 = 0;
+ tdlen = td->length;
+
+ dx = len / cnt;
+ dx2 = dx / 2;
+ px = len - dx2;
+ lenx = 0;
+
+ while (p0 < pn && px > dto[othPath].base[p0 + 1].x) p0++;
+ while (q0 < qn && px > dto[secPath].base[q0 + 1].x) q0++;
+ while (p0 >= 0 && q0 >= 0) {
+ if (px < dto[othPath].base[p0].x) p0--;
+ if (px < dto[secPath].base[q0].x) q0--;
+ if (p0 < 0 || q0 < 0)
+ break;
+
+ if ((px - dx < dto[othPath].base[0].x)
+ || (px - dx < dto[secPath].base[0].x)) {
+ break;
+ }
+
+ DIST_T dy1 = dto[othPath].base[p0].y + (px - dto[othPath].base[p0].x) * dto[othPath].dy[p0];
+ DIST_T dy2 = dto[secPath].base[q0].y + (px - dto[secPath].base[q0].x) * dto[secPath].dy[q0];
+ tdlen = (td->length + fabs(dy1) + fabs(dy2)) * magic;
+ if(tdlen > tdmax)
+ {
+ if(dAngle >= 30)
+ {
+ DIST_T dy = (dy1 + dy2) / 2;
+ Translate(&pos,dtod.midPt,cAngle,px - len);
+ Translate(&pos,pos,(cAngle - 90.0),dy);
+ DrawTie(d,pos,cAngle,tdlen - td->length * magic,td->width,color,tieDrawMode == TIEDRAWMODE_SOLID);
+ lenx += dx2 * magic2;
+ }
+ break;
+ }
+
+ DIST_T dy = (dy1 + dy2) / 2;
+ Translate(&pos, dtod.midPt, cAngle, px - len);
+ Translate(&pos, pos, (cAngle - 90.0), dy);
+ DrawTie(d, pos, cAngle, tdlen, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+
+ px -= dx;
+ lenx += dx;
+ }
+
+ p1 = dto[strPath].pts[0];
+ p2 = dtod.midPt;
+ a0 = dto[strPath].angle;
+ lenr = FindDistance(p1, p2) - lenx * magic2;
+ if (lenr > dx) {
+ Translate(&pos, p1, a0, lenr);
+ DrawStraightTies(d, scaleInx, p1, pos, color);
+ }
+ else {
+ Translate(&pos, p1, a0, dx2);
+ DrawTie(d, pos, a0, td->length, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+ }
+ p1 = dto[str2Path].pts[0];
+ // p2 = dtod.midPt;
+ a0 = dto[str2Path].angle;
+ lenr = FindDistance(p1, p2) - lenx * magic2;
+ if (lenr > dx) {
+ Translate(&pos, p1, a0, lenr);
+ DrawStraightTies(d, scaleInx, p1, pos, color);
+ }
+ else {
+ Translate(&pos, p1, a0, dx2);
+ DrawTie(d, pos, a0, td->length, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+ }
+}
+
+/**
+ * Draw Crossover (Two Origin) Turnout Bridge and Ties. Uses the static dto and dtod structures.
+ *
+ * \param d The drawing object
+ * \param scaleInx The layout/track scale index
+ * \param color The tie color. If black the color is read from the global tieColor.
+ */
+static void DrawCrossTurnout(
+ drawCmd_p d,
+ SCALEINX_T scaleInx,
+ BOOL_T omitTies,
+ wDrawColor color)
+{
+ tieData_p td;
+ DIST_T len, dx;
+ coOrd pos;
+ int cnt;
+ ANGLE_T angle;
+
+ if (color == wDrawColorBlack)
+ color = tieColor;
+
+ struct extraDataCompound_t* xx = dtod.xx;
+
+ DrawDtoInit();
+
+ // draw the points
+#ifdef DTO_DEBUG
+ if (DTO_DEBUG == DTO_LCROSS) DrawDtoLayout(d, scaleInx);
+#endif
+
+ int strPath = dtod.strPath, str2Path = dtod.str2Path;
+ // Bad assumption
+ int othPath = 2, secPath = 2;
+ if (dtod.pathCnt == 4) secPath = 3;
+
+ dto[strPath].angle = FindAngle(dto[strPath].pts[0], dto[strPath].ptsLast);
+ dto[str2Path].angle = FindAngle(dto[str2Path].pts[0], dto[str2Path].ptsLast);
+
+ if(dtod.bridge) {
+ DrawCrossBridge(d,strPath,str2Path);
+ }
+ if (omitTies)
+ return;
+
+ td = GetScaleTieData(scaleInx);
+
+ coOrd s1, s2, t1, t2, p1, p2, q1, q2;
+ int s0, t0, p0, q0;
+
+ int sn = dto[strPath].n;
+ int tn = dto[str2Path].n;
+ int pn = dto[othPath].n;
+ int qn = dto[secPath].n;
+
+ s1 = dto[strPath].pts[0];
+ s2 = dto[strPath].ptsLast;
+ t1 = dto[str2Path].pts[0];
+ t2 = dto[str2Path].ptsLast;
+ angle = dto[strPath].angle;
+
+ p1 = dto[othPath].base[0];
+ p2 = dto[othPath].baseLast;
+ q1 = dto[secPath].base[0];
+ q2 = dto[secPath].baseLast;
+
+ td = GetScaleTieData(scaleInx);
+ len = FindDistance(s1, s2);
+ angle = dto[strPath].angle;
+
+ cnt = (int)floor(len / td->spacing + 0.5);
+ if (cnt > 0) {
+ DIST_T px = 0;
+ DIST_T dy, dy1, dy2;
+ int cflag = 0;
+ dy = dto[str2Path].base[0].y - dto[strPath].base[0].y;
+
+ dx = len / cnt;
+ s0 = t0 = p0 = q0 = 0;
+ DIST_T tdlen = td->length;
+ DIST_T dlenx = dx / 2;
+
+ DIST_T px1 = len / 2 - dlenx * 5,
+ px2 = len / 2 + dlenx * 4;
+
+ for (px = dlenx; cnt; cnt--, px += dx) {
+ if (px >= dto[strPath].base[s0 + 1].x) s0++;
+ if (px >= dto[str2Path].base[t0 + 1].x) t0++;
+ if (px >= dto[othPath].base[p0 + 1].x) p0++;
+ if (px >= dto[secPath].base[q0 + 1].x) q0++;
+ if (s0 >= sn || t0 >= tn || p0 >= pn || q0 >= qn)
+ break;
+
+ if ((px >= dto[strPath].baseLast.x)
+ || (px >= dto[str2Path].baseLast.x)) {
+ break;
+ }
+
+ dy1 = dy2 = 0;
+ cflag = 0;
+ if (px < px1) {
+ switch (dtod.toType) {
+ case DTO_DCROSS:
+ dy1 = dto[othPath].base[p0].y + (px - dto[othPath].base[p0].x) * dto[othPath].dy[p0];
+ dy2 = dy - dto[secPath].base[q0].y - (px - dto[secPath].base[q0].x) * dto[secPath].dy[q0];
+ break;
+ case DTO_LCROSS:
+ dy1 = dto[othPath].base[p0].y + (px - dto[othPath].base[p0].x) * dto[othPath].dy[p0];
+ dy2 = 0;
+ break;
+ case DTO_RCROSS:
+ dy1 = 0;
+ dy2 = dy - dto[secPath].base[q0].y - (px - dto[secPath].base[q0].x) * dto[secPath].dy[q0];
+ break;
+ default:
+ break;
+ }
+ }
+ else if (px < px2) {
+ dy1 = (dto[str2Path].base[s0].y - dto[strPath].base[t0].y);
+ dy2 = 0;
+ cflag = 1;
+ }
+ else {
+ switch (dtod.toType) {
+ case DTO_DCROSS:
+ dy1 = dto[secPath].base[q0].y + (px - dto[secPath].base[q0].x) * dto[secPath].dy[q0];
+ dy2 = dy - dto[othPath].base[p0].y - (px - dto[othPath].base[p0].x) * dto[othPath].dy[p0];
+ break;
+ case DTO_LCROSS:
+ dy1 = 0;
+ dy2 = dy - dto[secPath].base[q0].y - (px - dto[secPath].base[q0].x) * dto[secPath].dy[q0];
+ break;
+ case DTO_RCROSS:
+ dy1 = dto[othPath].base[p0].y + (px - dto[othPath].base[p0].x) * dto[othPath].dy[p0];
+ dy2 = 0;
+ break;
+ default:
+ break;
+ }
+ }
+
+ if (fabs(dy1) + fabs(dy2) >= dy) {
+ dy1 = (dto[str2Path].base[s0].y - dto[strPath].base[t0].y);
+ dy2 = 0;
+ cflag = 1;
+ }
+
+ tdlen = td->length + fabs(dy1);
+ Translate(&pos, s1, angle, px);
+ Translate(&pos, pos, (angle - 90.0), dy1 / 2);
+ DrawTie(d, pos, angle, tdlen, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+
+ if (!cflag) {
+ tdlen = td->length + fabs(dy2);
+ Translate(&pos, t1, angle, px);
+ Translate(&pos, pos, (angle - 90.0), -dy2 / 2);
+ DrawTie(d, pos, angle, tdlen, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+ }
+ }
+ return;
+
+ // Draw remaining ties, if any
+ // Currently by definition, there won't be any
+ /*
+ if (px + dx < dto[strPath].baseLast.x) {
+ p1 = dto[strPath].pts[p0];
+ p2 = dto[strPath].ptsLast;
+ angle = FindAngle(p1, p2);
+ a0 = FindAngle(dto[strPath].base[p0], dto[strPath].baseLast);
+ DIST_T lenr = (dto[strPath].baseLast.x - px + dlenx) / cos(D2R(90.0 - a0));
+ Translate(&p1, p2, angle, -lenr);
+ DrawStraightTies(d, scaleInx, p1, p2, color);
+ }
+ else {
+ p1 = dto[strPath].pts[pn - 2];
+ a0 = FindAngle(p1, p2);
+ Translate(&pos, p2, a0, -dx / 2);
+ DrawTie(d, pos, a0, td->length, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+ }
+
+ if (px + dx < dto[str2Path].baseLast.x) {
+ q1 = dto[str2Path].pts[q0];
+ q2 = dto[str2Path].ptsLast;
+ angle = FindAngle(q1, q2);
+ a0 = FindAngle(dto[str2Path].base[q0], dto[str2Path].baseLast);
+ DIST_T lenr = (dto[str2Path].baseLast.x - px + dlenx) / cos(D2R(90.0 - a0));
+ Translate(&q1, q2, angle, -lenr);
+ DrawStraightTies(d, scaleInx, q1, q2, color);
+ }
+ else {
+ q1 = dto[str2Path].pts[qn - 2];
+ a0 = FindAngle(q1, q2);
+ Translate(&pos, q2, a0, -dx / 2);
+ DrawTie(d, pos, a0, td->length, td->width, color, tieDrawMode == TIEDRAWMODE_SOLID);
+ }
+ */
+ }
+}
+
+/**
+ * Draw all turnout components: ties, rail, roadbed, etc. The turnout is checked
+ * to see if the enhanced methods can be used. If so the ties are drawn and the
+ * TB_NOTIES bit is set so that the rails and such are drawn on top of the ties.
+ * That bit is restored to its previous state before return.
+ *
+ * \param trk Pointer to the track object
+ * \param d The drawing object
+ * \param color The turnout color.
+ */
static void DrawTurnout(
- track_p trk,
- drawCmd_p d,
- wDrawColor color )
+ track_p trk,
+ drawCmd_p d,
+ wDrawColor color)
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t* xx = GET_EXTRA_DATA(trk, T_TURNOUT, extraDataCompound_t);
wIndex_t i;
long widthOptions = 0;
- DIST_T scale2rail;
+ SCALEINX_T scaleInx = GetTrkScale(trk);
+ DIST_T scale2rail = (d->options & DC_PRINT) ? (twoRailScale * 2 + 1) : twoRailScale;
+ BOOL_T omitTies = !DoDrawTies(d, trk) || (d->scale > scale2rail) || ((d->options & DC_SIMPLE) != 0); // || (scaleInx == 0);
+
+ widthOptions = DTS_LEFT | DTS_RIGHT;
+
+ int noTies = GetTrkNoTies(trk);
+ int bridge = GetTrkBridge(trk);
+
+ long skip = 0;
+ /** @prefs [Preference] NormalTurnoutDraw=1 to skip enhanced drawing methods */
+ wPrefGetInteger("Preference", "NormalTurnoutDraw", (long *) &skip, 0);
+
+ int pathCnt = (skip == 0 ? GetTurnoutPaths(trk, xx) : 0);
+
+ if ( (pathCnt > 1) && (pathCnt <= DTO_DIM)
+ && (trk->endCnt <= 4)
+ && (xx->special == TOnormal) )
+ {
+
+ dtod.bridge = bridge;
+
+ int strPath = -1;
+ GetTurnoutType();
+
+ if (dtod.toType != DTO_INVALID) {
+
+ switch (dtod.toType)
+ {
+ case DTO_NORMAL:
+ case DTO_THREE:
+ case DTO_WYE:
+ DrawNormalTurnout(d, scaleInx, omitTies, color);
+ break;
+ case DTO_CURVED:
+ DrawCurvedTurnout(d, scaleInx, omitTies, color);
+ break;
+ case DTO_XING:
+ case DTO_XNG9:
+ case DTO_SSLIP:
+ case DTO_DSLIP:
+ DrawXingTurnout(d, scaleInx, omitTies, color);
+ break;
+ case DTO_LCROSS:
+ case DTO_RCROSS:
+ case DTO_DCROSS:
+ DrawCrossTurnout(d, scaleInx, omitTies, color);
+ break;
+ default:
+ break;
+ }
+ SetTrkNoTies(trk, 1);
+ ClrTrkBits(trk, TB_BRIDGE);
+ }
+ }
- widthOptions = DTS_LEFT|DTS_RIGHT;
-
- scale2rail = (d->options&DC_PRINT)?(twoRailScale*2+1):twoRailScale;
- DrawSegsO( d, trk, xx->orig, xx->angle, xx->segs, xx->segCnt, GetTrkGauge(trk), color, widthOptions | DTS_NOCENTER ); // no curve center for turnouts
+ // Begin standard DrawTurnout code to draw rails or centerline
+ DrawSegsO(d, trk, xx->orig, xx->angle, xx->segs, xx->segCnt, GetTrkGauge(trk), color, widthOptions | DTS_NOCENTER); // no curve center for turnouts
- for (i=0; i<GetTrkEndPtCnt(trk); i++) {
- DrawEndPt( d, trk, i, color );
+ for (i = 0; i < GetTrkEndPtCnt(trk); i++) {
+ DrawEndPt(d, trk, i, color);
}
- if ( (d->options & DC_SIMPLE) == 0 &&
- (labelWhen == 2 || (labelWhen == 1 && (d->options&DC_PRINT))) &&
- labelScale >= d->scale &&
- ( GetTrkBits( trk ) & TB_HIDEDESC ) == 0 ) {
- DrawCompoundDescription( trk, d, color );
+ if ((d->options & DC_SIMPLE) == 0 &&
+ (labelWhen == 2 || (labelWhen == 1 && (d->options & DC_PRINT))) &&
+ labelScale >= d->scale &&
+ (GetTrkBits(trk) & TB_HIDEDESC) == 0) {
+ DrawCompoundDescription(trk, d, color);
if (!xx->handlaid)
- LabelLengths( d, trk, color );
+ LabelLengths(d, trk, color);
}
- if ( roadbedWidth > GetTrkGauge(trk) &&
- ( ((d->options&DC_PRINT) && d->scale <= (twoRailScale*2+1)/2.0) ||
- (roadbedOnScreen && d->scale <= twoRailScale) ) )
- DrawTurnoutRoadbed( d, color, xx->orig, xx->angle, xx->segs, xx->segCnt );
-
+ if (roadbedWidth > GetTrkGauge(trk) &&
+ (((d->options & DC_PRINT) && d->scale <= (twoRailScale * 2 + 1) / 2.0) ||
+ (roadbedOnScreen && d->scale <= twoRailScale)))
+ DrawTurnoutRoadbed(d, color, xx->orig, xx->angle, xx->segs, xx->segCnt);
+
+ // Restore these settings
+ if (noTies == 0) ClrTrkBits(trk, TB_NOTIES);
+ if (bridge) SetTrkBits(trk, TB_BRIDGE);
}
static BOOL_T ReadTurnout(
- char * line )
+ char* line)
{
- if ( !ReadCompound( line+8, T_TURNOUT ) )
+ if (!ReadCompound(line + 8, T_TURNOUT))
return FALSE;
return TRUE;
}
static ANGLE_T GetAngleTurnout(
- track_p trk,
- coOrd pos,
- EPINX_T *ep0,
- EPINX_T *ep1 )
+ track_p trk,
+ coOrd pos,
+ EPINX_T* ep0,
+ EPINX_T* ep1)
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t* xx = GET_EXTRA_DATA(trk, T_TURNOUT, extraDataCompound_t);
wIndex_t segCnt, segInx;
ANGLE_T angle;
- if ( ep0 && ep1 )
- *ep0 = *ep1 = PickEndPoint( pos, trk );
- coOrd pos0=pos;
- double dd = 10000.0;
+ if (ep0 && ep1)
+ *ep0 = *ep1 = PickEndPoint(pos, trk);
+ coOrd pos0 = pos;
+ double dd = DIST_INF;
int found = -1;
//Cope with tracks not being first
- for (segCnt =0; segCnt<xx->segCnt ; segCnt++ ) {
+ for (segCnt = 0; segCnt < xx->segCnt; segCnt++) {
if (IsSegTrack(&xx->segs[segCnt])) {
- double d = DistanceSegs( xx->orig, xx->angle, 1, &xx->segs[segCnt], &pos0, NULL );
- if (d<dd) {
+ double d = DistanceSegs(xx->orig, xx->angle, 1, &xx->segs[segCnt], &pos0, NULL);
+ if (d < dd) {
dd = d;
found = segCnt;
}
}
pos0 = pos;
}
- if (found>=0) {
+ if (found >= 0) {
pos.x -= xx->orig.x;
pos.y -= xx->orig.y;
- Rotate( &pos, zero, -xx->angle );
- angle = GetAngleSegs( 1, &xx->segs[found], &pos, &segInx, NULL, NULL, NULL, NULL );
- return NormalizeAngle( angle+xx->angle );
- } else return 0.0;
+ Rotate(&pos, zero, -xx->angle);
+ angle = GetAngleSegs(1, &xx->segs[found], &pos, &segInx, NULL, NULL, NULL, NULL);
+ return NormalizeAngle(angle + xx->angle);
+ }
+ else return 0.0;
}
static BOOL_T SplitTurnoutCheckPath(
- wIndex_t segInxEnd,
- PATHPTR_T pp1,
- int dir1,
- PATHPTR_T pp2,
- int dir2,
- trkSeg_p segs,
- coOrd epPos )
+ wIndex_t segInxEnd,
+ PATHPTR_T pp1,
+ int dir1,
+ PATHPTR_T pp2,
+ int dir2,
+ trkSeg_p segs,
+ coOrd epPos)
{
wIndex_t segInx1, segInx2;
EPINX_T segEP;
coOrd pos;
DIST_T dist;
- GetSegInxEP( pp2[0], &segInx2, &segEP );
- if ( dir2 < 0 ) segEP = 1-segEP;
- pos = GetSegEndPt( &segs[segInx2], segEP, FALSE, NULL );
- dist = FindDistance( pos, epPos );
- if ( dist>connectDistance )
+ GetSegInxEP(pp2[0], &segInx2, &segEP);
+ if (dir2 < 0) segEP = 1 - segEP;
+ pos = GetSegEndPt(&segs[segInx2], segEP, FALSE, NULL);
+ dist = FindDistance(pos, epPos);
+ if (dist > connectDistance)
return TRUE;
- while ( pp2[0] ) {
- GetSegInxEP( pp1[0], &segInx1, &segEP );
- GetSegInxEP( pp2[0], &segInx2, &segEP );
- if ( segInx1 != segInx2 )
+ while (pp2[0]) {
+ GetSegInxEP(pp1[0], &segInx1, &segEP);
+ GetSegInxEP(pp2[0], &segInx2, &segEP);
+ if (segInx1 != segInx2)
break;
- if ( segInxEnd == segInx2 )
+ if (segInxEnd == segInx2)
return TRUE;
pp1 += dir1;
pp2 += dir2;
@@ -882,21 +2763,21 @@ static BOOL_T SplitTurnoutCheckPath(
static BOOL_T SplitTurnoutCheckEP(
- wIndex_t segInx0,
- coOrd epPos,
- PATHPTR_T pp1,
- int dir1,
- PATHPTR_T pp,
- trkSeg_p segs )
-{
- while ( pp[0] ) {
- pp += strlen((char *)pp)+1;
- while ( pp[0] ) {
- if (!SplitTurnoutCheckPath( segInx0, pp1, dir1, pp, 1, segs, epPos ))
+ wIndex_t segInx0,
+ coOrd epPos,
+ PATHPTR_T pp1,
+ int dir1,
+ PATHPTR_T pp,
+ trkSeg_p segs)
+{
+ while (pp[0]) {
+ pp += strlen((char*)pp) + 1;
+ while (pp[0]) {
+ if (!SplitTurnoutCheckPath(segInx0, pp1, dir1, pp, 1, segs, epPos))
return FALSE;
- while ( pp[0] )
+ while (pp[0])
pp++;
- if (!SplitTurnoutCheckPath( segInx0, pp1, dir1, pp-1, -1, segs, epPos ))
+ if (!SplitTurnoutCheckPath(segInx0, pp1, dir1, pp - 1, -1, segs, epPos))
return FALSE;
pp++;
}
@@ -907,11 +2788,11 @@ static BOOL_T SplitTurnoutCheckEP(
EXPORT EPINX_T TurnoutPickEndPt(
- coOrd epPos,
- track_p trk )
+ coOrd epPos,
+ track_p trk)
{
- struct extraData * xx = GetTrkExtraData(trk);
- wIndex_t segCnt, segInx, segInx0;
+ struct extraDataCompound_t* xx = GET_EXTRA_DATA(trk, T_TURNOUT, extraDataCompound_t);
+ wIndex_t segInx, segInx0;
EPINX_T segEP;
PATHPTR_T cp, cq, pps[2];
coOrd pos;
@@ -920,38 +2801,37 @@ EXPORT EPINX_T TurnoutPickEndPt(
EPINX_T ep, epCnt, eps[2];
BOOL_T unique_eps[2];
- for ( segCnt=0; segCnt<xx->segCnt && IsSegTrack(&xx->segs[segCnt]); segCnt++ );
- DistanceSegs( xx->orig, xx->angle, segCnt, xx->segs, &epPos, &segInx0 );
- Rotate( &epPos, xx->orig, xx->angle );
+ DistanceSegs(xx->orig, xx->angle, xx->segCnt, xx->segs, &epPos, &segInx0);
+ Rotate(&epPos, xx->orig, xx->angle);
epPos.x -= xx->orig.x;
epPos.y -= xx->orig.y;
epCnt = GetTrkEndPtCnt(trk);
- cp = xx->paths;
+ cp = GetPaths(trk);
eps[0] = eps[1] = -1;
unique_eps[0] = unique_eps[1] = TRUE;
- while ( cp[0] ) {
- cp += strlen((char *)cp)+1;
- while ( cp[0] ) {
- while ( cp[0] ) {
- GetSegInxEP( cp[0], &segInx, &segEP );
- if ( segInx == segInx0 ) {
- for ( dir=0; dir<2; dir++ ) {
- for ( cq=cp; cq[dir?-1:1]; cq += (dir?-1:1) );
- GetSegInxEP( cq[0], &segInx, &segEP );
- if ( dir==0 ) segEP = 1-segEP;
- pos = GetSegEndPt( &xx->segs[segInx], segEP, FALSE, NULL );
- dist = FindDistance( pos, epPos );
- if ( eps[dir] < 0 || dist < dists[dir] ) {
+ while (cp[0]) {
+ cp += strlen((char*)cp) + 1;
+ while (cp[0]) {
+ while (cp[0]) {
+ GetSegInxEP(cp[0], &segInx, &segEP);
+ if (segInx == segInx0) {
+ for (dir = 0; dir < 2; dir++) {
+ for (cq = cp; cq[dir ? -1 : 1]; cq += (dir ? -1 : 1));
+ GetSegInxEP(cq[0], &segInx, &segEP);
+ if (dir == 0) segEP = 1 - segEP;
+ pos = GetSegEndPt(&xx->segs[segInx], segEP, FALSE, NULL);
+ dist = FindDistance(pos, epPos);
+ if (eps[dir] < 0 || dist < dists[dir]) {
dists[dir] = dist;
pos.x += xx->orig.x;
pos.y += xx->orig.y;
- Rotate( &pos, xx->orig, xx->angle );
- for ( ep=0; ep<epCnt; ep++ ) {
- if ( FindDistance( pos, GetTrkEndPos(trk,ep) ) < connectDistance )
+ Rotate(&pos, xx->orig, xx->angle);
+ for (ep = 0; ep < epCnt; ep++) {
+ if (FindDistance(pos, GetTrkEndPos(trk, ep)) < connectDistance)
break;
}
- if ( ep<epCnt ) {
- if ( eps[dir] >= 0 && eps[dir] != ep )
+ if (ep < epCnt) {
+ if (eps[dir] >= 0 && eps[dir] != ep)
unique_eps[dir] = FALSE;
eps[dir] = ep;
dists[dir] = dist;
@@ -967,27 +2847,27 @@ EXPORT EPINX_T TurnoutPickEndPt(
cp++;
}
- for ( dir=0; dir<2; dir++ ) {
- if ( unique_eps[dir] && eps[dir] >= 0 ) {
- GetSegInxEP( pps[dir][0], &segInx, &segEP );
- if ( dir == 0 ) segEP = 1-segEP;
- epPos = GetSegEndPt( &xx->segs[segInx], segEP, FALSE, NULL );
- if ( ! SplitTurnoutCheckEP( segInx0, epPos, pps[dir], dir?1:-1, xx->paths, xx->segs ) )
- unique_eps[dir] = FALSE;
+ for (dir = 0; dir < 2; dir++) {
+ if (unique_eps[dir] && eps[dir] >= 0) {
+ GetSegInxEP(pps[dir][0], &segInx, &segEP);
+ if (dir == 0) segEP = 1 - segEP;
+ epPos = GetSegEndPt(&xx->segs[segInx], segEP, FALSE, NULL);
+ if (!SplitTurnoutCheckEP(segInx0, epPos, pps[dir], dir ? 1 : -1, GetPaths(trk), xx->segs))
+ unique_eps[dir] = FALSE;
}
}
- if ( unique_eps[0] == unique_eps[1] ) {
- if ( eps[0] >= 0 && eps[1] >= 0 )
- return ( dists[0] < dists[1] ) ? eps[0] : eps[1] ;
+ if (unique_eps[0] == unique_eps[1]) {
+ if (eps[0] >= 0 && eps[1] >= 0)
+ return (dists[0] < dists[1]) ? eps[0] : eps[1];
}
- if ( unique_eps[0] && eps[0] >= 0 )
+ if (unique_eps[0] && eps[0] >= 0)
return eps[0];
- if ( unique_eps[1] && eps[1] >= 0 )
+ if (unique_eps[1] && eps[1] >= 0)
return eps[1];
- if ( eps[0] >= 0 && eps[1] >= 0 )
- return ( dists[0] < dists[1] ) ? eps[0] : eps[1] ;
- return eps[0] >= 0 ? eps[0] : eps[1] ;
+ if (eps[0] >= 0 && eps[1] >= 0)
+ return (dists[0] < dists[1]) ? eps[0] : eps[1];
+ return eps[0] >= 0 ? eps[0] : eps[1];
}
@@ -996,11 +2876,11 @@ static PATHPTR_T splitTurnoutRoot;
static int splitTurnoutDir;
static void SplitTurnoutCheckEndPt(
- PATHPTR_T path,
- int dir,
- trkSeg_p segs,
- coOrd epPos,
- coOrd splitPos )
+ PATHPTR_T path,
+ int dir,
+ trkSeg_p segs,
+ coOrd epPos,
+ coOrd splitPos)
{
PATHPTR_T path0;
wIndex_t segInx;
@@ -1009,21 +2889,21 @@ static void SplitTurnoutCheckEndPt(
DIST_T dist, minDist;
path0 = path;
- GetSegInxEP( path[0], &segInx, &segEP );
- if ( dir < 0 ) segEP = 1-segEP;
- pos = GetSegEndPt( &segs[segInx], segEP, FALSE, NULL );
- dist = FindDistance( pos, epPos );
- LOG( log_splitturnout, 1, ( " SPTChkEp P%d DIR:%d SegInx:%d SegEP:%d POS[%0.3f %0.3f] DIST:%0.3f\n", *path, dir, segInx, segEP, pos.x, pos.y, dist ) );
- if ( dist>connectDistance )
+ GetSegInxEP(path[0], &segInx, &segEP);
+ if (dir < 0) segEP = 1 - segEP;
+ pos = GetSegEndPt(&segs[segInx], segEP, FALSE, NULL);
+ dist = FindDistance(pos, epPos);
+ LOG(log_splitturnout, 1, (" SPTChkEp P%d DIR:%d SegInx:%d SegEP:%d POS[%0.3f %0.3f] DIST:%0.3f\n", *path, dir, segInx, segEP, pos.x, pos.y, dist));
+ if (dist > connectDistance)
return;
minDist = trackGauge;
- while ( path[0] ) {
- GetSegInxEP( path[0], &segInx, &segEP );
- if ( dir < 0 ) segEP = 1-segEP;
+ while (path[0]) {
+ GetSegInxEP(path[0], &segInx, &segEP);
+ if (dir < 0) segEP = 1 - segEP;
pos = splitPos;
- dist = DistanceSegs( zero, 0.0, 1, &segs[segInx], &pos, NULL );
- LOG( log_splitturnout, 1, ( " - P:%d SegInx:%d SegEP:%d DIST:%0.3f\n", path[0], segInx, segEP, dist ) );
- if ( dist < minDist ) {
+ dist = DistanceSegs(zero, 0.0, 1, &segs[segInx], &pos, NULL);
+ LOG(log_splitturnout, 1, (" - P:%d SegInx:%d SegEP:%d DIST:%0.3f\n", path[0], segInx, segEP, dist));
+ if (dist < minDist) {
minDist = dist;
splitTurnoutPath = path;
splitTurnoutDir = -dir;
@@ -1034,26 +2914,26 @@ static void SplitTurnoutCheckEndPt(
}
EXPORT BOOL_T SplitTurnoutCheck(
- track_p trk,
- coOrd pos,
- EPINX_T ep,
- track_p *leftover,
- EPINX_T * ep0,
- EPINX_T * ep1,
- BOOL_T check,
- coOrd * outPos,
- ANGLE_T * outAngle )
- {
- struct extraData * xx = GetTrkExtraData( trk );
+ track_p trk,
+ coOrd pos,
+ EPINX_T ep,
+ track_p* leftover,
+ EPINX_T* ep0,
+ EPINX_T* ep1,
+ BOOL_T check,
+ coOrd* outPos,
+ ANGLE_T* outAngle)
+{
+ struct extraDataCompound_t* xx = GET_EXTRA_DATA(trk, T_TURNOUT, extraDataCompound_t);
wIndex_t segInx0, segInx, segCnt;
- EPINX_T segEP, epCnt, ep2=0, epN;
+ EPINX_T segEP, epCnt, ep2 = 0, epN;
PATHPTR_T pp, pp1, pp2;
unsigned char c;
- char * cp;
+ char* cp;
int negCnt, posCnt, pathCnt, dir;
segProcData_t segProcDataSplit;
segProcData_t segProcDataNewTrack;
- track_p trk2=NULL;
+ track_p trk2 = NULL;
static dynArr_t segIndexMap_da;
#define segIndexMap(N) DYNARR_N( int, segIndexMap_da, N )
static dynArr_t newPath_da;
@@ -1064,9 +2944,9 @@ EXPORT BOOL_T SplitTurnoutCheck(
int s0, s1;
trkSeg_t newSeg;
- if ( (MyGetKeyState()&WKEY_SHIFT) == 0 ) {
+ if ((MyGetKeyState() & WKEY_SHIFT) == 0) {
if (!check)
- ErrorMessage( MSG_CANT_SPLIT_TRK, _("Turnout") );
+ ErrorMessage(MSG_CANT_SPLIT_TRK, _("Turnout"));
return FALSE;
}
@@ -1074,62 +2954,62 @@ EXPORT BOOL_T SplitTurnoutCheck(
* 1. Find segment on path that ends at 'ep'
*/
epCnt = GetTrkEndPtCnt(trk);
- epPos = GetTrkEndPos( trk, ep );
- for ( segCnt=0; segCnt<xx->segCnt && IsSegTrack(&xx->segs[segCnt]); segCnt++ );
- Rotate( &pos, xx->orig, -xx->angle );
+ epPos = GetTrkEndPos(trk, ep);
+ for (segCnt = 0; segCnt < xx->segCnt && IsSegTrack(&xx->segs[segCnt]); segCnt++);
+ Rotate(&pos, xx->orig, -xx->angle);
pos.x -= xx->orig.x;
pos.y -= xx->orig.y;
- Rotate( &epPos, xx->orig, -xx->angle );
+ Rotate(&epPos, xx->orig, -xx->angle);
epPos.x -= xx->orig.x;
epPos.y -= xx->orig.y;
splitTurnoutPath = NULL;
- pp = xx->paths;
- LOG( log_splitturnout, 1, ( "SplitTurnoutCheck T%d POS[%0.3f %0.3f] EP:%d CHK:%d EPPOS[%0.3f %0.3f]\n", trk?trk->index:0, pos.x, pos.y, ep, check, epPos.x, epPos.y ) );
- while ( pp[0] ) {
- pp += strlen((char *)pp)+1;
- while ( pp[0] ) {
- SplitTurnoutCheckEndPt( pp, 1, xx->segs, epPos, pos );
- if ( splitTurnoutPath != NULL )
+ pp = GetPaths(trk);
+ LOG(log_splitturnout, 1, ("SplitTurnoutCheck T%d POS[%0.3f %0.3f] EP:%d CHK:%d EPPOS[%0.3f %0.3f]\n", trk ? trk->index : 0, pos.x, pos.y, ep, check, epPos.x, epPos.y));
+ while (pp[0]) {
+ pp += strlen((char*)pp) + 1;
+ while (pp[0]) {
+ SplitTurnoutCheckEndPt(pp, 1, xx->segs, epPos, pos);
+ if (splitTurnoutPath != NULL)
goto foundSeg;
- while ( pp[0] )
+ while (pp[0])
pp++;
- SplitTurnoutCheckEndPt( pp-1, -1, xx->segs, epPos, pos );
- if ( splitTurnoutPath != NULL )
+ SplitTurnoutCheckEndPt(pp - 1, -1, xx->segs, epPos, pos);
+ if (splitTurnoutPath != NULL)
goto foundSeg;
pp++;
}
pp++;
}
if (!check)
- ErrorMessage( _("splitTurnout: can't find segment") );
+ ErrorMessage(_("splitTurnout: can't find segment"));
return FALSE;
foundSeg:
/*
* 2a. Check that all other paths thru found segment are the same
*/
- GetSegInxEP( splitTurnoutPath[0], &segInx0, &segEP );
- LOG( log_splitturnout, 1, (" Found Seg: %d SEG:%d EP:%d\n", *splitTurnoutPath, segInx0, segEP ) );
- pp = xx->paths;
+ GetSegInxEP(splitTurnoutPath[0], &segInx0, &segEP);
+ LOG(log_splitturnout, 1, (" Found Seg: %d SEG:%d EP:%d\n", *splitTurnoutPath, segInx0, segEP));
+ pp = GetPaths(trk);
pathCnt = 0;
- while ( pp[0] ) {
- pp += strlen((char *)pp)+1;
- while ( pp[0] ) {
- while ( pp[0] ) {
- GetSegInxEP( pp[0], &segInx, &segEP );
- if ( segInx == segInx0 ) {
+ while (pp[0]) {
+ pp += strlen((char*)pp) + 1;
+ while (pp[0]) {
+ while (pp[0]) {
+ GetSegInxEP(pp[0], &segInx, &segEP);
+ if (segInx == segInx0) {
pp1 = splitTurnoutPath;
pp2 = pp;
- dir = (pp2[0]>0?1:-1) * splitTurnoutDir;
- while ( pp1[0] && pp2[0] ) {
- if ( splitTurnoutDir * pp1[0] != dir * pp2[0] )
+ dir = (pp2[0] > 0 ? 1 : -1) * splitTurnoutDir;
+ while (pp1[0] && pp2[0]) {
+ if (splitTurnoutDir * pp1[0] != dir * pp2[0])
break;
pp1 += splitTurnoutDir;
pp2 += dir;
}
- if ( pp1[0]!='\0' || pp2[0]!='\0' ) {
+ if (pp1[0] != '\0' || pp2[0] != '\0') {
if (!check)
- ErrorMessage( MSG_SPLIT_POS_BTW_MERGEPTS );
+ ErrorMessage(MSG_SPLIT_POS_BTW_MERGEPTS);
return FALSE;
}
}
@@ -1143,20 +3023,20 @@ foundSeg:
/*
* 2b. Check that all paths from ep pass thru segInx0
*/
- if ( !SplitTurnoutCheckEP( segInx0, epPos, splitTurnoutRoot, -splitTurnoutDir, xx->paths, xx->segs ) ) {
+ if (!SplitTurnoutCheckEP(segInx0, epPos, splitTurnoutRoot, -splitTurnoutDir, GetPaths(trk), xx->segs)) {
if (!check)
- ErrorMessage( MSG_SPLIT_PATH_NOT_UNIQUE );
+ ErrorMessage(MSG_SPLIT_PATH_NOT_UNIQUE);
return FALSE;
}
if (check) {
segProcDataSplit.getAngle.pos = pos;
- SegProc( SEGPROC_GETANGLE, xx->segs+segInx0, &segProcDataSplit );
- *outAngle = NormalizeAngle(segProcDataSplit.getAngle.angle+xx->angle);
+ SegProc(SEGPROC_GETANGLE, xx->segs + segInx0, &segProcDataSplit);
+ *outAngle = NormalizeAngle(segProcDataSplit.getAngle.angle + xx->angle);
*outPos = segProcDataSplit.getAngle.pos;
(*outPos).x += xx->orig.x;
(*outPos).y += xx->orig.y;
- Rotate( outPos, xx->orig, xx->angle );
+ Rotate(outPos, xx->orig, xx->angle);
return TRUE;
}
@@ -1165,53 +3045,56 @@ foundSeg:
*/
segProcDataSplit.split.pos = pos;
s0 = (splitTurnoutPath[0] > 0) != (splitTurnoutDir > 0);
- s1 = 1-s0;
- SegProc( SEGPROC_SPLIT, xx->segs+segInx0, &segProcDataSplit );
- if ( segProcDataSplit.split.length[s1] <= minLength ) {
- if ( splitTurnoutPath[splitTurnoutDir] == '\0' )
+ s1 = 1 - s0;
+ SegProc(SEGPROC_SPLIT, xx->segs + segInx0, &segProcDataSplit);
+ if (segProcDataSplit.split.length[s1] <= minLength) {
+ if (splitTurnoutPath[splitTurnoutDir] == '\0')
return FALSE;
segProcDataSplit.split.length[s0] += segProcDataSplit.split.length[s1];
segProcDataSplit.split.length[s1] = 0;
segProcDataSplit.split.newSeg[s0] = xx->segs[segInx0];
- epPos = GetSegEndPt( &segProcDataSplit.split.newSeg[s0], s1, FALSE, &epAngle );
- } else if ( segProcDataSplit.split.length[s0] <= minLength ) {
+ epPos = GetSegEndPt(&segProcDataSplit.split.newSeg[s0], s1, FALSE, &epAngle);
+ }
+ else if (segProcDataSplit.split.length[s0] <= minLength) {
segProcDataSplit.split.length[s1] += segProcDataSplit.split.length[s0];
segProcDataSplit.split.length[s0] = 0;
segProcDataSplit.split.newSeg[s1] = xx->segs[segInx0];
- epPos = GetSegEndPt( &segProcDataSplit.split.newSeg[s1], s0, FALSE, &epAngle );
+ epPos = GetSegEndPt(&segProcDataSplit.split.newSeg[s1], s0, FALSE, &epAngle);
epAngle += 180.0;
- } else {
- epPos = GetSegEndPt( &segProcDataSplit.split.newSeg[s1], s0, FALSE, &epAngle );
+ }
+ else {
+ epPos = GetSegEndPt(&segProcDataSplit.split.newSeg[s1], s0, FALSE, &epAngle);
epAngle += 180.0;
}
/*
* 4. Map the old segments to new
*/
- DYNARR_SET( int, segIndexMap_da, xx->segCnt );
- for ( segInx=0; segInx<xx->segCnt; segInx++ )
- segIndexMap(segInx) = segInx+1;
+ DYNARR_SET(int, segIndexMap_da, xx->segCnt);
+ for (segInx = 0; segInx < xx->segCnt; segInx++)
+ segIndexMap(segInx) = segInx + 1;
pp = splitTurnoutPath;
- if ( segProcDataSplit.split.length[s0] > minLength )
+ if (segProcDataSplit.split.length[s0] > minLength)
pp += splitTurnoutDir;
negCnt = 0;
- while ( *pp ) {
- GetSegInxEP( *pp, &segInx, &segEP );
- segIndexMap(segInx) = - segIndexMap(segInx);
+ while (*pp) {
+ GetSegInxEP(*pp, &segInx, &segEP);
+ segIndexMap(segInx) = -segIndexMap(segInx);
negCnt++;
pp += splitTurnoutDir;
}
- for ( segInx=posCnt=0; segInx<xx->segCnt; segInx++ ) {
- if ( segIndexMap(segInx) > 0 )
+ for (segInx = posCnt = 0; segInx < xx->segCnt; segInx++) {
+ if (segIndexMap(segInx) > 0)
segIndexMap(segInx) = ++posCnt;
}
- DYNARR_SET( trkSeg_t, tempSegs_da, posCnt );
- for ( segInx=posCnt=0; segInx<xx->segCnt; segInx++ ) {
- if ( segIndexMap(segInx) > 0 ) {
- if ( segInx == segInx0 ) {
- tempSegs(segIndexMap(segInx)-1) = segProcDataSplit.split.newSeg[s0];
- } else {
- tempSegs(segIndexMap(segInx)-1) = xx->segs[segInx];
+ DYNARR_SET(trkSeg_t, tempSegs_da, posCnt);
+ for (segInx = posCnt = 0; segInx < xx->segCnt; segInx++) {
+ if (segIndexMap(segInx) > 0) {
+ if (segInx == segInx0) {
+ tempSegs(segIndexMap(segInx) - 1) = segProcDataSplit.split.newSeg[s0];
+ }
+ else {
+ tempSegs(segIndexMap(segInx) - 1) = xx->segs[segInx];
}
posCnt++;
}
@@ -1220,19 +3103,19 @@ foundSeg:
/*
* 5. Remap paths by removing trailing segments
*/
- DYNARR_SET( char, newPath_da, xx->pathLen );
- pp = xx->paths;
+ pp = GetPaths(trk);
+ DYNARR_SET(char, newPath_da, GetPathsLength(pp));
pp1 = (PATHPTR_T)&newPath(0);
- while ( *pp ) {
- strcpy( (char *)pp1, (char *)pp );
- pp += strlen( (char *)pp )+1;
- pp1 += strlen( (char *)pp1 )+1;
- while ( *pp ) {
- while ( *pp ) {
- GetSegInxEP( *pp, &segInx, &segEP );
- if ( segIndexMap(segInx) > 0 ) {
+ while (*pp) {
+ strcpy((char*)pp1, (char*)pp);
+ pp += strlen((char*)pp) + 1;
+ pp1 += strlen((char*)pp1) + 1;
+ while (*pp) {
+ while (*pp) {
+ GetSegInxEP(*pp, &segInx, &segEP);
+ if (segIndexMap(segInx) > 0) {
c = segIndexMap(segInx);
- if ( *pp<0 )
+ if (*pp < 0)
c = -c;
*pp1++ = c;
}
@@ -1249,23 +3132,25 @@ foundSeg:
/*
* 6. Reorigin segments
*/
- GetSegBounds( zero, 0, tempSegs_da.cnt, &tempSegs(0), &orig, &size );
+ GetSegBounds(zero, 0, tempSegs_da.cnt, &tempSegs(0), &orig, &size);
orig.x = -orig.x;
orig.y = -orig.y;
- MoveSegs( tempSegs_da.cnt, &tempSegs(0), orig );
+ MoveSegs(tempSegs_da.cnt, &tempSegs(0), orig);
epPos.x += orig.x;
epPos.y += orig.y;
- cp = strchr( xx->title, '\t' );
- if ( cp ) {
- if ( strncmp( cp+1, "Split ", 6 ) != 0 ) {
- memcpy( message, xx->title, cp-xx->title+1 );
- strcpy( message+(cp-xx->title+1), "Split " );
- strcat( message, cp+1 );
- } else {
- strcpy( message, xx->title );
+ cp = strchr(xx->title, '\t');
+ if (cp) {
+ if (strncmp(cp + 1, "Split ", 6) != 0) {
+ memcpy(message, xx->title, cp - xx->title + 1);
+ strcpy(message + (cp - xx->title + 1), "Split ");
+ strcat(message, cp + 1);
+ }
+ else {
+ strcpy(message, xx->title);
}
- } else {
- sprintf( message, "Split %s", xx->title );
+ }
+ else {
+ sprintf(message, "Split %s", xx->title);
}
/*
@@ -1273,28 +3158,30 @@ foundSeg:
*/
int trks = 0;
path = splitTurnoutPath;
- if ( segProcDataSplit.split.length[s1] < minLength )
+ if (segProcDataSplit.split.length[s1] < minLength)
path += splitTurnoutDir;
- while ( path[0] ) {
- GetSegInxEP( path[0], &segInx, &segEP );
+ while (path[0]) {
+ GetSegInxEP(path[0], &segInx, &segEP);
s0 = (path[0] > 0) != (splitTurnoutDir > 0);
- if ( segInx0 != segInx ) {
+ if (segInx0 != segInx) {
newSeg = xx->segs[segInx];
- } else {
+ }
+ else {
newSeg = segProcDataSplit.split.newSeg[s1];
}
- MoveSegs( 1, &newSeg, xx->orig );
- RotateSegs( 1, &newSeg, xx->orig, xx->angle );
- SegProc( SEGPROC_NEWTRACK, &newSeg, &segProcDataNewTrack );
- if ( *leftover == NULL ) {
+ MoveSegs(1, &newSeg, xx->orig);
+ RotateSegs(1, &newSeg, xx->orig, xx->angle);
+ SegProc(SEGPROC_NEWTRACK, &newSeg, &segProcDataNewTrack);
+ if (*leftover == NULL) {
*ep0 = segProcDataNewTrack.newTrack.ep[s0];
*leftover = trk2 = segProcDataNewTrack.newTrack.trk;
- ep2 = 1-*ep0;
- } else {
+ ep2 = 1 - *ep0;
+ }
+ else {
epN = segProcDataNewTrack.newTrack.ep[s0];
- ConnectTracks( trk2, ep2, segProcDataNewTrack.newTrack.trk, epN );
+ ConnectTracks(trk2, ep2, segProcDataNewTrack.newTrack.trk, epN);
trk2 = segProcDataNewTrack.newTrack.trk;
- ep2 = 1-epN;
+ ep2 = 1 - epN;
}
++trks;
path += splitTurnoutDir;
@@ -1304,40 +3191,39 @@ foundSeg:
* 8. Replace segments, paths, and endPt in original turnout
*/
xx->split = TRUE;
- Rotate( &orig, zero, xx->angle );
+ Rotate(&orig, zero, xx->angle);
xx->orig.x -= orig.x;
xx->orig.y -= orig.y;
xx->segCnt = tempSegs_da.cnt;
- xx->segs = (trkSeg_p)memdup( &tempSegs(0), tempSegs_da.cnt * sizeof tempSegs(0) );
- CloneFilledDraw( xx->segCnt, xx->segs, TRUE );
- xx->pathLen = pp1-(PATHPTR_T)&newPath(0);
- xx->pathCurr = xx->paths = memdup( &newPath(0), xx->pathLen );
- epAngle = NormalizeAngle( xx->angle+epAngle );
+ xx->segs = (trkSeg_p)memdup(&tempSegs(0), tempSegs_da.cnt * sizeof tempSegs(0));
+ CloneFilledDraw(xx->segCnt, xx->segs, TRUE);
+ SetPaths(trk, (PATHPTR_T)&newPath(0));
+ epAngle = NormalizeAngle(xx->angle + epAngle);
epPos.x += xx->orig.x;
epPos.y += xx->orig.y;
- Rotate( &epPos, xx->orig, xx->angle );
- SetTrkEndPoint( trk, ep, epPos, epAngle );
- ComputeCompoundBoundingBox( trk );
+ Rotate(&epPos, xx->orig, xx->angle);
+ SetTrkEndPoint(trk, ep, epPos, epAngle);
+ ComputeCompoundBoundingBox(trk);
return TRUE;
}
static BOOL_T SplitTurnout(
- track_p trk,
- coOrd pos,
- EPINX_T ep,
- track_p *leftover,
- EPINX_T * ep0,
- EPINX_T * ep1 )
+ track_p trk,
+ coOrd pos,
+ EPINX_T ep,
+ track_p* leftover,
+ EPINX_T* ep0,
+ EPINX_T* ep1)
{
- return SplitTurnoutCheck(trk,pos,ep,leftover,ep0,ep1,FALSE,NULL,NULL);
+ return SplitTurnoutCheck(trk, pos, ep, leftover, ep0, ep1, FALSE, NULL, NULL);
}
static BOOL_T CheckTraverseTurnout(
- track_p trk,
- coOrd pos )
+ track_p trk,
+ coOrd pos)
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t* xx = GET_EXTRA_DATA(trk, T_TURNOUT, extraDataCompound_t);
coOrd pos1;
#ifdef LATER
int inx, foundInx = 0;
@@ -1348,65 +3234,67 @@ static BOOL_T CheckTraverseTurnout(
int segInx;
EPINX_T segEP;
-LOG( log_traverseTurnout, 1, ( "CheckTraverseTurnout( T%d, [%0.3f %0.3f])\n", GetTrkIndex(trk), pos.x, pos.y ) )
- Rotate( &pos, xx->orig, -xx->angle );
+ LOG(log_traverseTurnout, 1, ("CheckTraverseTurnout( T%d, [%0.3f %0.3f])\n", GetTrkIndex(trk), pos.x, pos.y))
+ Rotate(&pos, xx->orig, -xx->angle);
pos.x -= xx->orig.x;
pos.y -= xx->orig.y;
-LOG( log_traverseTurnout, 1, ( "After rotation = [%0.3f %0.3f])\n", pos.x, pos.y ) )
-
+ LOG(log_traverseTurnout, 1, ("After rotation = [%0.3f %0.3f])\n", pos.x, pos.y))
+
#ifdef LATER
- for ( inx=0; inx<xx->segCnt; inx++ ) {
- switch ( xx->segs[inx].type ) {
- case SEG_STRTRK:
- case SEG_CRVTRK:
- pos1 = GetSegEndPt( &xx->segs[inx], 0, FALSE, NULL );
- d = FindDistance( pos, pos1 );
- if ( foundInx == 0 || d < foundD ) {
- foundInx = inx+1;
- foundD = d;
- }
- pos1 = GetSegEndPt( &xx->segs[inx], 1, FALSE, NULL );
- d = FindDistance( pos, pos1 );
- if ( foundInx == 0 || d < foundD ) {
- foundInx = -(inx+1);
- foundD = d;
+ for (inx = 0; inx < xx->segCnt; inx++) {
+ switch (xx->segs[inx].type) {
+ case SEG_STRTRK:
+ case SEG_CRVTRK:
+ pos1 = GetSegEndPt(&xx->segs[inx], 0, FALSE, NULL);
+ d = FindDistance(pos, pos1);
+ if (foundInx == 0 || d < foundD) {
+ foundInx = inx + 1;
+ foundD = d;
+ }
+ pos1 = GetSegEndPt(&xx->segs[inx], 1, FALSE, NULL);
+ d = FindDistance(pos, pos1);
+ if (foundInx == 0 || d < foundD) {
+ foundInx = -(inx + 1);
+ foundD = d;
+ }
+ break;
}
- break;
}
- }
- if ( foundInx == 0 )
+ if (foundInx == 0)
return FALSE;
#endif
- for ( pathCurr = xx->pathCurr+strlen((char*)xx->pathCurr)+1; pathCurr[0] || pathCurr[1]; pathCurr++ ) {
-LOG( log_traverseTurnout, 1, ( "P[%d] = %d ", pathCurr-xx->paths, pathCurr[0] ) )
- if ( pathCurr[-1] == 0 ) {
- GetSegInxEP( pathCurr[0], &segInx, &segEP );
- pos1 = GetSegEndPt( &xx->segs[segInx], segEP, FALSE, NULL );
- d = FindDistance( pos, pos1 );
-LOG( log_traverseTurnout, 1, ( "d=%0.3f\n", d ) )
- if ( d < connectDistance )
- return TRUE;
- }
- if ( pathCurr[1] == 0 ) {
- GetSegInxEP( pathCurr[0], &segInx, &segEP );
- pos1 = GetSegEndPt( &xx->segs[segInx], 1-segEP, FALSE, NULL );
- d = FindDistance( pos, pos1 );
-LOG( log_traverseTurnout, 1, ( "d=%0.3f\n", d ) )
- if ( d < connectDistance )
- return TRUE;
- }
- }
-LOG( log_traverseTurnout, 1, ( " not found\n" ) )
- return FALSE;
+ PATHPTR_T pathName = GetCurrPath(trk);
+ for (pathCurr = pathName + strlen((char*)pathName) + 1;
+ pathCurr[0] || pathCurr[1]; pathCurr++) {
+ LOG(log_traverseTurnout, 1, ("P[%d] = %d ", pathCurr - GetPaths(trk), pathCurr[0]))
+ if (pathCurr[-1] == 0) {
+ GetSegInxEP(pathCurr[0], &segInx, &segEP);
+ pos1 = GetSegEndPt(&xx->segs[segInx], segEP, FALSE, NULL);
+ d = FindDistance(pos, pos1);
+ LOG(log_traverseTurnout, 1, ("d=%0.3f\n", d))
+ if (d < connectDistance)
+ return TRUE;
+ }
+ if (pathCurr[1] == 0) {
+ GetSegInxEP(pathCurr[0], &segInx, &segEP);
+ pos1 = GetSegEndPt(&xx->segs[segInx], 1 - segEP, FALSE, NULL);
+ d = FindDistance(pos, pos1);
+ LOG(log_traverseTurnout, 1, ("d=%0.3f\n", d))
+ if (d < connectDistance)
+ return TRUE;
+ }
+ }
+ LOG(log_traverseTurnout, 1, (" not found\n"))
+ return FALSE;
}
static BOOL_T TraverseTurnout(
- traverseTrack_p trvTrk,
- DIST_T * distR )
+ traverseTrack_p trvTrk,
+ DIST_T* distR)
{
track_p trk = trvTrk->trk;
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t* xx = GET_EXTRA_DATA(trk, T_TURNOUT, extraDataCompound_t);
coOrd pos0, pos1, pos2;
DIST_T d, dist;
PATHPTR_T path, pathCurr;
@@ -1416,37 +3304,38 @@ static BOOL_T TraverseTurnout(
EPINX_T segEP;
segProcData_t segProcData;
- d = 10000;
+ d = DIST_INF;
pos0 = trvTrk->pos;
- Rotate( &pos0, xx->orig, -xx->angle );
+ Rotate(&pos0, xx->orig, -xx->angle);
pos0.x -= xx->orig.x;
pos0.y -= xx->orig.y;
dist = *distR;
-LOG( log_traverseTurnout, 1, ( "TraverseTurnout( T%d, [%0.3f %0.3f] [%0.3f %0.3f], A%0.3f, D%0.3f\n", GetTrkIndex(trk), trvTrk->pos.x, trvTrk->pos.y, pos0.x, pos0.y, trvTrk->angle, *distR ) )
- pathCurr = 0;
- for ( path = xx->pathCurr+strlen((char*)xx->pathCurr)+1; path[0] || path[1]; path++ ) {
- if ( path[0] == 0 )
+ LOG(log_traverseTurnout, 1, ("TraverseTurnout( T%d, [%0.3f %0.3f] [%0.3f %0.3f], A%0.3f, D%0.3f\n", GetTrkIndex(trk), trvTrk->pos.x, trvTrk->pos.y, pos0.x, pos0.y, trvTrk->angle, *distR))
+ pathCurr = 0;
+ path = GetCurrPath(trk);
+ for (path += strlen((char*)path) + 1; path[0] || path[1]; path++) {
+ if (path[0] == 0)
continue;
- GetSegInxEP( path[0], &segInx, &segEP );
- segPtr = xx->segs+segInx;
+ GetSegInxEP(path[0], &segInx, &segEP);
+ segPtr = xx->segs + segInx;
segProcData.distance.pos1 = pos0;
- SegProc( SEGPROC_DISTANCE, segPtr, &segProcData );
- if ( segProcData.distance.dd < d ) {
+ SegProc(SEGPROC_DISTANCE, segPtr, &segProcData);
+ if (segProcData.distance.dd < d) {
d = segProcData.distance.dd;
pos2 = segProcData.distance.pos1;
pathCurr = path;
}
}
- if ( d > 10 || pathCurr == 0 ) {
- ErrorMessage( "traverseTurnout: Not near: %0.3f", d );
+ if (d > 10 || pathCurr == 0) {
+ ErrorMessage("traverseTurnout: Not near: %0.3f", d);
return FALSE;
}
-LOG( log_traverseTurnout, 1, ( " PC=%d ", pathCurr[0] ) )
- GetSegInxEP( pathCurr[0], &segInx, &segEP );
- segPtr = xx->segs+segInx;
+ LOG(log_traverseTurnout, 1, (" PC=%d ", pathCurr[0]))
+ GetSegInxEP(pathCurr[0], &segInx, &segEP);
+ segPtr = xx->segs + segInx;
segProcData.traverse1.pos = pos2;
- segProcData.traverse1.angle = -xx->angle+trvTrk->angle;
- SegProc( SEGPROC_TRAVERSE1, segPtr, &segProcData );
+ segProcData.traverse1.angle = -xx->angle + trvTrk->angle;
+ SegProc(SEGPROC_TRAVERSE1, segPtr, &segProcData);
dist += segProcData.traverse1.dist;
//Get ready for Traverse2 - copy all Traverse1 first
BOOL_T backwards = segProcData.traverse1.backwards;
@@ -1461,111 +3350,112 @@ LOG( log_traverseTurnout, 1, ( " PC=%d ", pathCurr[0] ) )
BOOL_T turnout_backwards = backwards;
if (segEP) turnout_backwards = !turnout_backwards; //direction modified if path reversed
-LOG( log_traverseTurnout, 2, ( " SI%d TB%d SP%d B%d SB%d N%d BSI%d D%0.3f\n", segInx, turnout_backwards, segEP, backwards, segs_backwards, neg, BezSegInx, dist ) )
- while ( *pathCurr ) {
- //Set up Traverse2
- GetSegInxEP( pathCurr[0], &segInx, &segEP );
- segPtr = xx->segs+segInx;
- segProcData.traverse2.segDir = backwards;
- segProcData.traverse2.dist = dist;
- segProcData.traverse2.BezSegInx = BezSegInx;
- segProcData.traverse2.segs_backwards = segs_backwards;
- SegProc( SEGPROC_TRAVERSE2, segPtr, &segProcData );
- if ( segProcData.traverse2.dist <= 0 ) {
- *distR = 0;
- REORIGIN( trvTrk->pos, segProcData.traverse2.pos, xx->angle, xx->orig );
- trvTrk->angle = NormalizeAngle( xx->angle+segProcData.traverse2.angle );
-LOG( log_traverseTurnout, 2, ( " -> [%0.3f %0.3f] A%0.3f D%0.3f\n", trvTrk->pos.x, trvTrk->pos.y, trvTrk->angle, *distR ))
- return TRUE;
+ LOG(log_traverseTurnout, 2, (" SI%d TB%d SP%d B%d SB%d N%d BSI%d D%0.3f\n", segInx, turnout_backwards, segEP, backwards, segs_backwards, neg, BezSegInx, dist))
+ while (*pathCurr) {
+ //Set up Traverse2
+ GetSegInxEP(pathCurr[0], &segInx, &segEP);
+ segPtr = xx->segs + segInx;
+ segProcData.traverse2.segDir = backwards;
+ segProcData.traverse2.dist = dist;
+ segProcData.traverse2.BezSegInx = BezSegInx;
+ segProcData.traverse2.segs_backwards = segs_backwards;
+ SegProc(SEGPROC_TRAVERSE2, segPtr, &segProcData);
+ if (segProcData.traverse2.dist <= 0) {
+ *distR = 0;
+ REORIGIN(trvTrk->pos, segProcData.traverse2.pos, xx->angle, xx->orig);
+ trvTrk->angle = NormalizeAngle(xx->angle + segProcData.traverse2.angle);
+ LOG(log_traverseTurnout, 2, (" -> [%0.3f %0.3f] A%0.3f D%0.3f\n", trvTrk->pos.x, trvTrk->pos.y, trvTrk->angle, *distR))
+ return TRUE;
+ }
+ dist = segProcData.traverse2.dist; //Remainder after segment
+ pathCurr += (turnout_backwards ? -1 : 1); //Use master direction for turnout
+ //Redrive Traverse 1 for each segment for Bezier - to pick up backwards elements
+ if (pathCurr[0] == '\0') continue; //
+ //Set up Traverse1 - copy all of Traverse2 values first
+ GetSegInxEP(pathCurr[0], &segInx, &segEP);
+ segPtr = xx->segs + segInx;
+ ANGLE_T angle = segProcData.traverse2.angle;
+ coOrd pos = segProcData.traverse2.pos;
+ LOG(log_traverseTurnout, 1, (" Loop2-1 SI%d SP%d [%0.3f %0.3f] A%0.3f D%0.3f\n", segInx, segEP, pos.x, pos.y, angle, dist))
+ segProcData.traverse1.pos = pos;
+ segProcData.traverse1.angle = angle;
+ SegProc(SEGPROC_TRAVERSE1, segPtr, &segProcData);
+ // dist += segProcData.traverse1.dist; //Add distance from end to pos (could be zero or whole length if backwards)
+ backwards = segProcData.traverse1.backwards;
+ segs_backwards = segProcData.traverse1.segs_backwards;
+ neg = segProcData.traverse1.negative;
+ BezSegInx = segProcData.traverse1.BezSegInx;
+ LOG(log_traverseTurnout, 1, (" Loop1-2 B%d SB%d N%d BSI%d D%0.3f\n", backwards, segs_backwards, neg, BezSegInx, dist))
}
- dist = segProcData.traverse2.dist; //Remainder after segment
- pathCurr += (turnout_backwards?-1:1); //Use master direction for turnout
- //Redrive Traverse 1 for each segment for Bezier - to pick up backwards elements
- if (pathCurr[0] == '\0') continue; //
- //Set up Traverse1 - copy all of Traverse2 values first
- GetSegInxEP( pathCurr[0], &segInx, &segEP );
- segPtr = xx->segs+segInx;
- ANGLE_T angle = segProcData.traverse2.angle;
- coOrd pos = segProcData.traverse2.pos;
-LOG( log_traverseTurnout, 1, ( " Loop2-1 SI%d SP%d [%0.3f %0.3f] A%0.3f D%0.3f\n", segInx, segEP, pos.x, pos.y, angle, dist ) )
- segProcData.traverse1.pos = pos;
- segProcData.traverse1.angle = angle;
- SegProc( SEGPROC_TRAVERSE1, segPtr, &segProcData );
- // dist += segProcData.traverse1.dist; //Add distance from end to pos (could be zero or whole length if backwards)
- backwards = segProcData.traverse1.backwards;
- segs_backwards = segProcData.traverse1.segs_backwards;
- neg = segProcData.traverse1.negative;
- BezSegInx = segProcData.traverse1.BezSegInx;
-LOG( log_traverseTurnout, 1, ( " Loop1-2 B%d SB%d N%d BSI%d D%0.3f\n", backwards, segs_backwards, neg, BezSegInx, dist ) )
- }
-
- pathCurr += (turnout_backwards?1:-1);
- pos1 = MapPathPos( xx, pathCurr[0], (turnout_backwards?0:1) );
+
+ pathCurr += (turnout_backwards ? 1 : -1);
+ pos1 = MapPathPos(xx, pathCurr[0], (turnout_backwards ? 0 : 1));
*distR = dist;
epCnt = GetTrkEndPtCnt(trk);
ep = 0;
- dist = FindDistance( pos1, GetTrkEndPos(trk,0) );
- for ( ep2=1; ep2<epCnt; ep2++ ) {
- d = FindDistance( pos1, GetTrkEndPos(trk,ep2) );
- if ( d < dist ) {
+ dist = FindDistance(pos1, GetTrkEndPos(trk, 0));
+ for (ep2 = 1; ep2 < epCnt; ep2++) {
+ d = FindDistance(pos1, GetTrkEndPos(trk, ep2));
+ if (d < dist) {
dist = d;
ep = ep2;
}
}
- if ( dist > connectDistance ) {
+ if (dist > connectDistance) {
trk = NULL;
trvTrk->pos = pos1;
- } else {
- trvTrk->pos = GetTrkEndPos( trk, ep );
- trvTrk->angle = GetTrkEndAngle( trk, ep );
- trk = GetTrkEndTrk( trk, ep );
- }
- dist = FindDistance( trvTrk->pos, pos1 );
-LOG( log_traverseTurnout, 1, ( " -> [%0.3f %0.3f] A%0.3f D%0.3f\n", trvTrk->pos.x, trvTrk->pos.y, trvTrk->angle, *distR ) )
- trvTrk->trk = trk;
+ }
+ else {
+ trvTrk->pos = GetTrkEndPos(trk, ep);
+ trvTrk->angle = GetTrkEndAngle(trk, ep);
+ trk = GetTrkEndTrk(trk, ep);
+ }
+ dist = FindDistance(trvTrk->pos, pos1);
+ LOG(log_traverseTurnout, 1, (" -> [%0.3f %0.3f] A%0.3f D%0.3f\n", trvTrk->pos.x, trvTrk->pos.y, trvTrk->angle, *distR))
+ trvTrk->trk = trk;
return TRUE;
}
-static STATUS_T ModifyTurnout( track_p trk, wAction_t action, coOrd pos )
+static STATUS_T ModifyTurnout(track_p trk, wAction_t action, coOrd pos)
{
- struct extraData *xx;
+ struct extraDataCompound_t* xx;
static EPINX_T ep;
static wBool_t curved;
DIST_T d;
- xx = GetTrkExtraData(trk);
- if ( xx->special == TOadjustable ) {
- switch ( action ) {
+ xx = GET_EXTRA_DATA(trk, T_TURNOUT, extraDataCompound_t);
+ if (xx->special == TOadjustable) {
+ switch (action) {
case C_START:
ep = -1;
curved = FALSE;
return C_CONTINUE;
case C_DOWN:
- ep = PickUnconnectedEndPoint( pos, trk );
+ ep = PickUnconnectedEndPoint(pos, trk);
if (ep == -1)
return C_ERROR;
- UndrawNewTrack( trk );
+ UndrawNewTrack(trk);
tempSegs(0).type = SEG_STRTRK;
tempSegs(0).width = 0;
- tempSegs(0).u.l.pos[0] = GetTrkEndPos( trk, 1-ep );
+ tempSegs(0).u.l.pos[0] = GetTrkEndPos(trk, 1 - ep);
tempSegs_da.cnt = 1;
- InfoMessage( _("Drag to change track length") );
+ InfoMessage(_("Drag to change track length"));
return C_CONTINUE;
case C_MOVE:
- d = FindDistance( tempSegs(0).u.l.pos[0], pos );
- if ( d < xx->u.adjustable.minD )
+ d = FindDistance(tempSegs(0).u.l.pos[0], pos);
+ if (d < xx->u.adjustable.minD)
d = xx->u.adjustable.minD;
- else if ( d > xx->u.adjustable.maxD )
+ else if (d > xx->u.adjustable.maxD)
d = xx->u.adjustable.maxD;
- Translate( &tempSegs(0).u.l.pos[1], tempSegs(0).u.l.pos[0], GetTrkEndAngle( trk, ep ), d );
+ Translate(&tempSegs(0).u.l.pos[1], tempSegs(0).u.l.pos[0], GetTrkEndAngle(trk, ep), d);
tempSegs_da.cnt = 1;
if (action == C_MOVE)
- InfoMessage( _("Length=%s"), FormatDistance( d ) );
+ InfoMessage(_("Length=%s"), FormatDistance(d));
return C_CONTINUE;
case C_UP:
- d = FindDistance( tempSegs(0).u.l.pos[0],tempSegs(0).u.l.pos[1] );
- ChangeAdjustableEndPt( trk, ep, d );
+ d = FindDistance(tempSegs(0).u.l.pos[0], tempSegs(0).u.l.pos[1]);
+ ChangeAdjustableEndPt(trk, ep, d);
return C_TERMINATE;
default:
return C_CONTINUE;
@@ -1576,141 +3466,130 @@ static STATUS_T ModifyTurnout( track_p trk, wAction_t action, coOrd pos )
}
-static BOOL_T GetParamsTurnout( int inx, track_p trk, coOrd pos, trackParams_t * params )
+static BOOL_T GetParamsTurnout(int inx, track_p trk, coOrd pos, trackParams_t* params)
{
- struct extraData *xx;
- xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t* xx;
+ xx = GET_EXTRA_DATA(trk, T_TURNOUT, extraDataCompound_t);
params->type = curveTypeStraight;
- if (inx == PARAMS_TURNOUT) {
- params->len = 0.0;
- int epCnt = GetTrkEndPtCnt(trk);
- if (epCnt < 3) {
- double d = 10000.0;
- params->centroid = zero;
- //calculate path length from endPt (either to end or to other end)
- segProcData_t segProcData;
- trkSeg_p seg;
- int segInx;
- int segEP;
- trkSeg_p segPtr;
- PATHPTR_T path,pathCurr;
- //Find starting seg on path (nearest to end Pt)
- for ( path = xx->pathCurr+strlen((char*)xx->pathCurr)+1; path[0] || path[1]; path++ ) {
- if ( path[0] == 0 )
- continue;
- GetSegInxEP( path[0], &segInx, &segEP );
- segPtr = xx->segs+segInx;
- segProcData.distance.pos1 = pos;
- SegProc( SEGPROC_DISTANCE, segPtr, &segProcData );
- if ( segProcData.distance.dd < d ) {
- d = segProcData.distance.dd;
- pathCurr = path;
- }
- }
- GetSegInxEP( pathCurr[0], &segInx, &segEP );
- seg = xx->segs+segInx;
- d = 0.0;
- //Loop through segs on path from endPt adding
- while (pathCurr[0]) {
- GetSegInxEP( pathCurr[0], &segInx, &segEP );
- seg = xx->segs+segInx;
- SegProc(SEGPROC_LENGTH, seg, &segProcData );
- d += segProcData.length.length;
- pathCurr += segEP?1:-1;
- }
- params->len = d;
- } else {
- double x, y;
- x = 0; y = 0;
- for (int i=0;i<epCnt; i++) {
- coOrd cpos = GetTrkEndPos(trk,i);
- x += cpos.x;
- y += cpos.y;
- }
- params->centroid.x = x/epCnt;
- params->centroid.y = y/epCnt;
- params->len = FindDistance(params->centroid,pos)*2; //Times two because it will be halved by track.c
- }
- return TRUE;
- }
- if ((inx == PARAMS_CORNU) || (inx == PARAMS_EXTEND)) {
+ if (inx == PARAMS_TURNOUT) {
+ params->len = 0.0;
+ int epCnt = GetTrkEndPtCnt(trk);
+ if (epCnt < 3) {
+ double d = DIST_INF;
+ params->centroid = zero;
+ //calculate path length from endPt (either to end or to other end)
+ segProcData_t segProcData;
+ trkSeg_p seg;
+ int segInx;
+ int segEP;
+ trkSeg_p segPtr;
+ PATHPTR_T path, pathCurr;
+ //Find starting seg on path (nearest to end Pt)
+ path = GetCurrPath(trk);
+ pathCurr = path;
+ for (path += strlen((char*)path) + 1; path[0] || path[1]; path++) {
+ if (path[0] == 0)
+ continue;
+ GetSegInxEP(path[0], &segInx, &segEP);
+ segPtr = xx->segs + segInx;
+ segProcData.distance.pos1 = pos;
+ SegProc(SEGPROC_DISTANCE, segPtr, &segProcData);
+ if (segProcData.distance.dd < d) {
+ d = segProcData.distance.dd;
+ pathCurr = path;
+ }
+ }
+ GetSegInxEP(pathCurr[0], &segInx, &segEP);
+ seg = xx->segs + segInx;
+ d = 0.0;
+ //Loop through segs on path from endPt adding
+ while (pathCurr[0]) {
+ GetSegInxEP(pathCurr[0], &segInx, &segEP);
+ seg = xx->segs + segInx;
+ SegProc(SEGPROC_LENGTH, seg, &segProcData);
+ d += segProcData.length.length;
+ pathCurr += segEP ? 1 : -1;
+ }
+ params->len = d;
+ }
+ else {
+ // Centroid is middle of bounding box
+ params->centroid.x = (trk->lo.x + trk->hi.x) / 2.0;
+ params->centroid.y = (trk->lo.y + trk->hi.y) / 2.0;
+ params->len = FindDistance(params->centroid, pos) * 2; //Times two because it will be halved by track.c
+ }
+ return TRUE;
+ }
+ if ((inx == PARAMS_CORNU) || (inx == PARAMS_EXTEND)) {
params->type = curveTypeStraight;
params->arcR = 0.0;
params->arcP = zero;
- params->ep = PickEndPoint(pos, trk);
+ params->ep = PickEndPoint(pos, trk);
params->circleOrHelix = FALSE;
- if (params->ep>=0) {
- params->angle = GetTrkEndAngle(trk,params->ep);
- params->track_angle = params->angle + params->ep?0:180;
- } else {
- params->angle = params-> track_angle = 0;
+ if (params->ep >= 0) {
+ params->angle = GetTrkEndAngle(trk, params->ep);
+ params->track_angle = params->angle + params->ep ? 0 : 180;
+ }
+ else {
+ params->angle = params->track_angle = 0;
return FALSE;
}
- /* Use end radii if we have them */
- //if (xx->special == TOcurved) {
- // params->type = curveTypeCurve;
- // params->arcR = fabs(DYNARR_N(DIST_T,xx->u.curved.radii,params->ep));
- // if (params->arcR != 0.0)
- // Translate(&params->arcP,pos,params->track_angle-90.0,params->arcR);
- // else
- // params->type = curveTypeStraight;
- // return TRUE;
- //}
/* Find the path we are closest to */
PATHPTR_T pathCurr = 0;
int segInx, subSegInx;
trkSeg_p segPtr;
- double d = 10000;
- struct extraData * xx = GetTrkExtraData(trk);
+ DIST_T d = DIST_INF;
+ struct extraDataCompound_t* xx = GET_EXTRA_DATA(trk, T_TURNOUT, extraDataCompound_t);
/* Get parms from that seg */
- wBool_t back,negative;
+ wBool_t back, negative;
coOrd segPos = pos;
- Rotate(&segPos,xx->orig,-xx->angle);
+ Rotate(&segPos, xx->orig, -xx->angle);
segPos.x -= xx->orig.x;
segPos.y -= xx->orig.y;
params->track_angle = GetAngleSegs( //Find correct subSegment
- xx->segCnt,xx->segs,
- &segPos, &segInx, &d , &back, &subSegInx, &negative );
- if (segInx ==- 1) return FALSE;
- segPtr = xx->segs+segInx;
+ xx->segCnt, xx->segs,
+ &segPos, &segInx, &d, &back, &subSegInx, &negative);
+ if (segInx == -1) return FALSE;
+ segPtr = xx->segs + segInx;
switch (segPtr->type) {
- case SEG_BEZTRK:
- if ( negative != back ) params->track_angle = NormalizeAngle(params->track_angle+180); //Bezier is in reverse
- segPtr = xx->segs + segInx;
- trkSeg_p subSegPtr = (trkSeg_p)segPtr->bezSegs.ptr+subSegInx;
- if (subSegPtr->type == SEG_CRVTRK) {
- params->type = curveTypeCurve;
- params->arcR = fabs(subSegPtr->u.c.radius);
- params->arcP = subSegPtr->u.c.center;
- params->arcP.x += xx->orig.x;
- params->arcP.y += xx->orig.y;
- Rotate(&params->arcP,xx->orig,xx->angle);
- params->arcA0 = subSegPtr->u.c.a0;
- params->arcA1 = subSegPtr->u.c.a1;
- }
- return TRUE;
- break;
- case SEG_CRVTRK:
+ case SEG_BEZTRK:
+ if (negative != back) params->track_angle = NormalizeAngle(params->track_angle + 180); //Bezier is in reverse
+ segPtr = xx->segs + segInx;
+ trkSeg_p subSegPtr = (trkSeg_p)segPtr->bezSegs.ptr + subSegInx;
+ if (subSegPtr->type == SEG_CRVTRK) {
params->type = curveTypeCurve;
- params->arcR = fabs(segPtr->u.c.radius);
- params->arcP = segPtr->u.c.center;
+ params->arcR = fabs(subSegPtr->u.c.radius);
+ params->arcP = subSegPtr->u.c.center;
params->arcP.x += xx->orig.x;
params->arcP.y += xx->orig.y;
- Rotate(&params->arcP,xx->orig,xx->angle);
- params->arcA0 = segPtr->u.c.a0;
- params->arcA1 = segPtr->u.c.a1;
- return TRUE;
- break;
- }
- params->arcR = 0.0;
+ Rotate(&params->arcP, xx->orig, xx->angle);
+ params->arcA0 = subSegPtr->u.c.a0;
+ params->arcA1 = subSegPtr->u.c.a1;
+ }
+ return TRUE;
+ break;
+ case SEG_CRVTRK:
+ params->type = curveTypeCurve;
+ params->arcR = fabs(segPtr->u.c.radius);
+ params->arcP = segPtr->u.c.center;
+ params->arcP.x += xx->orig.x;
+ params->arcP.y += xx->orig.y;
+ Rotate(&params->arcP, xx->orig, xx->angle);
+ params->arcA0 = segPtr->u.c.a0;
+ params->arcA1 = segPtr->u.c.a1;
+ return TRUE;
+ break;
+ }
+ params->arcR = 0.0;
params->arcP = zero;
- params->ep = PickEndPoint(pos,trk); //Nearest
- if (params->ep>=0) {
- params->angle = GetTrkEndAngle(trk,params->ep);
- params->track_angle = params->angle + params->ep?0:180;
- } else {
- params->angle = params-> track_angle = 0;
+ params->ep = PickEndPoint(pos, trk); //Nearest
+ if (params->ep >= 0) {
+ params->angle = GetTrkEndAngle(trk, params->ep);
+ params->track_angle = params->angle + params->ep ? 0 : 180;
+ }
+ else {
+ params->angle = params->track_angle = 0;
return FALSE;
}
return TRUE;
@@ -1718,49 +3597,49 @@ static BOOL_T GetParamsTurnout( int inx, track_p trk, coOrd pos, trackParams_t *
if ((inx == PARAMS_1ST_JOIN) || (inx == PARAMS_2ND_JOIN))
params->ep = PickEndPoint(pos, trk);
else
- params->ep = PickUnconnectedEndPointSilent( pos, trk );
+ params->ep = PickUnconnectedEndPointSilent(pos, trk);
if (params->ep == -1)
- return FALSE;
- params->lineOrig = GetTrkEndPos(trk,params->ep);
+ return FALSE;
+ params->lineOrig = GetTrkEndPos(trk, params->ep);
params->lineEnd = params->lineOrig;
params->len = 0.0;
- params->angle = GetTrkEndAngle(trk,params->ep);
+ params->angle = GetTrkEndAngle(trk, params->ep);
params->arcR = 0.0;
return TRUE;
}
-static BOOL_T MoveEndPtTurnout( track_p *trk, EPINX_T *ep, coOrd pos, DIST_T d0 )
+static BOOL_T MoveEndPtTurnout(track_p* trk, EPINX_T* ep, coOrd pos, DIST_T d0)
{
ANGLE_T angle0;
DIST_T d;
track_p trk1;
- angle0 = GetTrkEndAngle(*trk,*ep);
- d = FindDistance( GetTrkEndPos(*trk,*ep), pos);
+ angle0 = GetTrkEndAngle(*trk, *ep);
+ d = FindDistance(GetTrkEndPos(*trk, *ep), pos);
if (d0 > 0.0) {
d -= d0;
if (d < 0.0) {
- ErrorMessage( MSG_MOVED_BEFORE_END_TURNOUT );
+ ErrorMessage(MSG_MOVED_BEFORE_END_TURNOUT);
return FALSE;
}
- Translate( &pos, pos, angle0+180, d0 );
+ Translate(&pos, pos, angle0 + 180, d0);
}
if (d > minLength) {
- trk1 = NewStraightTrack( GetTrkEndPos(*trk,*ep), pos );
- CopyAttributes( *trk, trk1 );
- ConnectTracks( *trk, *ep, trk1, 0 );
+ trk1 = NewStraightTrack(GetTrkEndPos(*trk, *ep), pos);
+ CopyAttributes(*trk, trk1);
+ ConnectTracks(*trk, *ep, trk1, 0);
*trk = trk1;
*ep = 1;
- DrawNewTrack( *trk );
+ DrawNewTrack(*trk);
}
return TRUE;
}
-static BOOL_T QueryTurnout( track_p trk, int query )
+static BOOL_T QueryTurnout(track_p trk, int query)
{
- switch ( query ) {
+ switch (query) {
case Q_IGNORE_EASEMENT_ON_EXTEND:
case Q_DRAWENDPTV_1:
case Q_CAN_GROUP:
@@ -1774,12 +3653,16 @@ static BOOL_T QueryTurnout( track_p trk, int query )
case Q_IS_TURNOUT:
return TRUE;
case Q_CAN_PARALLEL:
- if( GetTrkEndPtCnt( trk ) == 2 && fabs( GetTrkEndAngle( trk, 0 ) - GetTrkEndAngle( trk, 1 )) == 180.0 )
+ if (GetTrkEndPtCnt(trk) == 2 && fabs(GetTrkEndAngle(trk, 0) - GetTrkEndAngle(trk, 1)) == 180.0)
return TRUE;
else
return FALSE;
case Q_CAN_NEXT_POSITION:
- return ( GetTrkEndPtCnt(trk) > 2 );
+ {
+ PATHPTR_T path = GetPaths( trk ); // QueryTurnout
+ for ( path += strlen((char*)path) + 1; path[0] || path[1]; path++ );
+ return ( path[2] != 0 );
+ }
case Q_CORNU_CAN_MODIFY:
return FALSE;
default:
@@ -1789,54 +3672,70 @@ static BOOL_T QueryTurnout( track_p trk, int query )
EXPORT int doDrawTurnoutPosition = 1;
-static wIndex_t drawTurnoutPositionWidth=3;
+static wIndex_t drawTurnoutPositionWidth = 3;
static void DrawTurnoutPositionIndicator(
- track_p trk,
- wDrawColor color )
+ track_p trk,
+ wDrawColor color)
{
- struct extraData * xx = GetTrkExtraData(trk);
- PATHPTR_T path = xx->pathCurr;
- coOrd pos0, pos1;
+ struct extraDataCompound_t* xx = GET_EXTRA_DATA(trk, T_TURNOUT, extraDataCompound_t);
+ PATHPTR_T path, path1;
+ coOrd pos0 = zero, pos1;
+ trkSeg_p seg;
+ BOOL_T multiPart = FALSE;
- if ( xx->pathCurr == xx->paths ) {
- for ( path=xx->pathCurr+strlen((char *)xx->pathCurr); path[0] || path[1]; path++ );
- if ( path[2] == 0 )
- return;
- }
- for ( path=xx->pathCurr+strlen((char *)xx->pathCurr); path[0] || path[1]; path++ ) {
- if ( path[0] == 0 ) {
- pos0 = MapPathPos( xx, path[1], 0 );
- } else if ( path[1] == 0 ) {
- pos1 = MapPathPos( xx, path[0], 1 );
- DrawLine( &tempD, pos0, pos1, drawTurnoutPositionWidth, color );
+ // Only 1 path? Don't draw
+ if ( ! QueryTurnout( trk, Q_CAN_NEXT_POSITION ) )
+ return;
+
+ path = GetCurrPath(trk);
+
+ //Is this a multi-part path?
+ path1 = path;
+ for (path1 += strlen((char*)path1) + 1; path1[0]; path1++);
+ if (path1[1] != 0) multiPart = TRUE;
+
+
+ for (path += strlen((char*)path); path[0] || path[1]; path++) {
+
+ if (path[0] == 0) {
+ pos0 = MapPathPos(xx, path[1], 0);
+ if ((tempD.scale <= 10) || !multiPart) {
+ seg = MapPathSeg(xx, path[1]);
+ DrawSegsO(&tempD, trk, xx->orig, xx->angle, seg, 1, GetTrkGauge(trk), color, DTS_CENTERONLY);
+ }
+ }
+ else if (path[1] == 0) {
+ pos1 = MapPathPos(xx, path[0], 1);
+ if ((tempD.scale > 10) && multiPart)
+ DrawLine(&tempD, pos0, pos1, drawTurnoutPositionWidth, color);
+ else {
+ seg = MapPathSeg(xx, path[0]);
+ DrawSegsO(&tempD, trk, xx->orig, xx->angle, seg, 1, GetTrkGauge(trk), color, DTS_CENTERONLY);
+ }
+ }
+ else if ((tempD.scale <= 10) || !multiPart) {
+ seg = MapPathSeg(xx, path[0]);
+ DrawSegsO(&tempD, trk, xx->orig, xx->angle, seg, 1, GetTrkGauge(trk), color, DTS_CENTERONLY);
}
}
}
EXPORT void AdvanceTurnoutPositionIndicator(
- track_p trk,
- coOrd pos,
- coOrd *posR,
- ANGLE_T *angleR )
+ track_p trk,
+ coOrd pos,
+ coOrd* posR,
+ ANGLE_T* angleR)
{
- struct extraData * xx = GetTrkExtraData(trk);
- PATHPTR_T path;
traverseTrack_t trvtrk;
DIST_T dist;
- if ( GetTrkType(trk) != T_TURNOUT )
- AbortProg( "nextTurnoutPosition" );
-
- path = xx->pathCurr;
- path += strlen((char *)path)+1;
- while ( path[0] || path[1] )
- path++;
- path += 2;
- if ( *path == 0 )
- path = xx->paths;
- xx->pathCurr = path;
- if ( angleR == NULL || posR == NULL )
+ if (GetTrkType(trk) != T_TURNOUT)
+ AbortProg("nextTurnoutPosition");
+
+ SetCurrPathIndex(trk, GetCurrPathIndex(trk) + 1);
+ InfoMessage(_("Turnout %d Path: %s"), GetTrkIndex(trk), GetCurrPath(trk));
+ if (angleR == NULL || posR == NULL)
return;
trvtrk.trk = trk;
trvtrk.length = 0;
@@ -1844,17 +3743,17 @@ EXPORT void AdvanceTurnoutPositionIndicator(
trvtrk.pos = *posR;
trvtrk.angle = *angleR;
dist = 0;
- if ( !TraverseTurnout( &trvtrk, &dist ) )
+ if (!TraverseTurnout(&trvtrk, &dist))
return;
- if ( NormalizeAngle( trvtrk.angle-*angleR+90.0 ) > 180 )
- trvtrk.angle = NormalizeAngle( trvtrk.angle+180.0 );
+ if (NormalizeAngle(trvtrk.angle - *angleR + 90.0) > 180)
+ trvtrk.angle = NormalizeAngle(trvtrk.angle + 180.0);
*posR = trvtrk.pos;
*angleR = trvtrk.angle;
}
/**
* Create a parallel track for a turnout.
- *
+ *
*
* \param trk IN existing track
* \param pos IN ??
@@ -1866,60 +3765,56 @@ EXPORT void AdvanceTurnoutPositionIndicator(
*/
static BOOL_T MakeParallelTurnout(
- track_p trk,
- coOrd pos,
- DIST_T sep,
- DIST_T factor,
- track_p * newTrk,
- coOrd * p0R,
- coOrd * p1R,
- BOOL_T track)
-{
- ANGLE_T angle = GetTrkEndAngle(trk,1);
- struct extraData *xx, *yy;
- coOrd *endPts;
+ track_p trk,
+ coOrd pos,
+ DIST_T sep,
+ DIST_T factor,
+ track_p* newTrk,
+ coOrd* p0R,
+ coOrd* p1R,
+ BOOL_T track)
+{
+ ANGLE_T angle = GetTrkEndAngle(trk, 1);
+ struct extraDataCompound_t* xx, * yy;
+ coOrd* endPts;
trkEndPt_p endPt;
int i;
int option;
DIST_T d;
- if ( NormalizeAngle( FindAngle( GetTrkEndPos(trk,0), pos ) - GetTrkEndAngle(trk,1) ) < 180.0 )
+ if (NormalizeAngle(FindAngle(GetTrkEndPos(trk, 0), pos) - GetTrkEndAngle(trk, 1)) < 180.0)
angle += 90;
else
- angle -= 90;
+ angle -= 90;
/*
* get all endpoints of current piece and translate them for the new piece
*/
- endPts = MyMalloc( GetTrkEndPtCnt( trk ) * sizeof( coOrd ));
- for( i = 0; i < GetTrkEndPtCnt( trk ); i++) {
- Translate( &(endPts[ i ]), GetTrkEndPos( trk, i ), angle, sep );
+ endPts = MyMalloc(GetTrkEndPtCnt(trk) * sizeof(coOrd));
+ for (i = 0; i < GetTrkEndPtCnt(trk); i++) {
+ Translate(&(endPts[i]), GetTrkEndPos(trk, i), angle, sep);
}
/*
- * get information about the current piece and copy data
+ * get information about the current piece and copy data
*/
- if( newTrk ) {
+ if (newTrk) {
if (track) {
- endPt = MyMalloc( GetTrkEndPtCnt( trk ) * sizeof( trkEndPt_t ));
- endPt[ 0 ].pos = endPts[ 0 ];
- endPt[ 0 ].angle = GetTrkEndAngle( trk, 0 );
- endPt[ 1 ].pos = endPts[ 1 ];
- endPt[ 1 ].angle = GetTrkEndAngle( trk, 1 );
-
- yy = GetTrkExtraData(trk);
-
- DIST_T * radii = NULL;
- if (yy->special == TOcurved) {
- radii = MyMalloc(GetTrkEndPtCnt(trk) * sizeof(DIST_T));
- for (int i=0;i<GetTrkEndPtCnt( trk );i++) {
- radii[i] = DYNARR_N(DIST_T,yy->u.curved.radii,i);
- }
- }
+ endPt = MyMalloc(GetTrkEndPtCnt(trk) * sizeof(trkEndPt_t));
+ endPt[0].pos = endPts[0];
+ endPt[0].angle = GetTrkEndAngle(trk, 0);
+ endPt[1].pos = endPts[1];
+ endPt[1].angle = GetTrkEndAngle(trk, 1);
- *newTrk = NewCompound( T_TURNOUT, 0, endPt[ 0 ].pos, endPt[ 0 ].angle + 90.0, yy->title, 2, endPt, radii, yy->pathLen, (char *)yy->paths, yy->segCnt, yy->segs );
- xx = GetTrkExtraData(*newTrk);
+ yy = GET_EXTRA_DATA(trk, T_TURNOUT, extraDataCompound_t);
+
+
+ PATHPTR_T paths = GetPaths(trk); // MakeParallelTurnout
+ *newTrk = NewCompound(T_TURNOUT, 0, endPt[0].pos, endPt[0].angle + 90.0,
+ yy->title, 2, endPt, paths,
+ yy->segCnt, yy->segs);
+ xx = GET_EXTRA_DATA(*newTrk, T_TURNOUT, extraDataCompound_t);
xx->customInfo = yy->customInfo;
/* if (connection((int)curTurnoutEp).trk) {
@@ -1927,62 +3822,66 @@ static BOOL_T MakeParallelTurnout(
SetTrkScale( newTrk, curScaleInx );
} */
xx->special = yy->special;
+ xx->pathOverRide = yy->pathOverRide;
+ xx->pathNoCombine = yy->pathNoCombine;
xx->u = yy->u;
- SetDescriptionOrig( *newTrk );
+ SetDescriptionOrig(*newTrk);
xx->descriptionOff = zero;
xx->descriptionSize = zero;
SetTrkElev(*newTrk, GetTrkElevMode(trk), GetTrkElev(trk));
- GetTrkEndElev( trk, 0, &option, &d );
- SetTrkEndElev( *newTrk, 0, option, d, NULL );
- GetTrkEndElev( trk, 1, &option, &d );
- SetTrkEndElev( *newTrk, 1, option, d, NULL );
+ GetTrkEndElev(trk, 0, &option, &d);
+ SetTrkEndElev(*newTrk, 0, option, d, NULL);
+ GetTrkEndElev(trk, 1, &option, &d);
+ SetTrkEndElev(*newTrk, 1, option, d, NULL);
- MyFree( endPt );
- } else {
+ MyFree(endPt);
+ }
+ else {
tempSegs(0).color = wDrawColorBlack;
tempSegs(0).width = 0;
tempSegs_da.cnt = 1;
- tempSegs(0).type = track?SEG_STRTRK:SEG_STRLIN;
- tempSegs(0).u.l.pos[0] = endPts[ 0 ];
- tempSegs(0).u.l.pos[1] = endPts[ 1 ];
- *newTrk = MakeDrawFromSeg( zero, 0.0, &tempSegs(0) );
+ tempSegs(0).type = track ? SEG_STRTRK : SEG_STRLIN;
+ tempSegs(0).u.l.pos[0] = endPts[0];
+ tempSegs(0).u.l.pos[1] = endPts[1];
+ *newTrk = MakeDrawFromSeg(zero, 0.0, &tempSegs(0));
}
- } else {
+ }
+ else {
/* draw some temporary track while command is in process */
tempSegs(0).color = wDrawColorBlack;
tempSegs(0).width = 0;
tempSegs_da.cnt = 1;
- tempSegs(0).type = track?SEG_STRTRK:SEG_STRLIN;
- tempSegs(0).u.l.pos[0] = endPts[ 0 ];
- tempSegs(0).u.l.pos[1] = endPts[ 1 ];
+ tempSegs(0).type = track ? SEG_STRTRK : SEG_STRLIN;
+ tempSegs(0).u.l.pos[0] = endPts[0];
+ tempSegs(0).u.l.pos[1] = endPts[1];
}
- if ( p0R ) *p0R = endPts[ 0 ];
- if ( p1R ) *p1R = endPts[ 1 ];
+ if (p0R) *p0R = endPts[0];
+ if (p1R) *p1R = endPts[1];
- MyFree( endPts );
+ MyFree(endPts);
return TRUE;
}
-static wBool_t CompareTurnout( track_cp trk1, track_cp trk2 )
+static wBool_t CompareTurnout(track_cp trk1, track_cp trk2)
{
- struct extraData *xx1 = GetTrkExtraData( trk1 );
- struct extraData *xx2 = GetTrkExtraData( trk2 );
- char * cp = message + strlen(message);
- REGRESS_CHECK_POS( "Orig", xx1, xx2, orig )
- REGRESS_CHECK_ANGLE( "Angle", xx1, xx2, angle )
- REGRESS_CHECK_INT( "Handlaid", xx1, xx2, handlaid )
- REGRESS_CHECK_INT( "Flipped", xx1, xx2, flipped )
- REGRESS_CHECK_INT( "Ungrouped", xx1, xx2, ungrouped )
- REGRESS_CHECK_INT( "Split", xx1, xx2, split )
- /* desc orig is not stable
- REGRESS_CHECK_POS( "DescOrig", xx1, xx2, descriptionOrig ) */
- REGRESS_CHECK_POS( "DescOff", xx1, xx2, descriptionOff )
- REGRESS_CHECK_POS( "DescSize", xx1, xx2, descriptionSize )
- return CompareSegs( xx1->segs, xx1->segCnt, xx1->segs, xx1->segCnt );
+ struct extraDataCompound_t* xx1 = GET_EXTRA_DATA(trk1, T_TURNOUT, extraDataCompound_t);
+ struct extraDataCompound_t* xx2 = GET_EXTRA_DATA(trk2, T_TURNOUT, extraDataCompound_t);
+ char* cp = message + strlen(message);
+ REGRESS_CHECK_POS("Orig", xx1, xx2, orig)
+ REGRESS_CHECK_ANGLE("Angle", xx1, xx2, angle)
+ REGRESS_CHECK_INT("Handlaid", xx1, xx2, handlaid)
+ REGRESS_CHECK_INT("Flipped", xx1, xx2, flipped)
+ REGRESS_CHECK_INT("Ungrouped", xx1, xx2, ungrouped)
+ REGRESS_CHECK_INT("Split", xx1, xx2, split)
+ /* desc orig is not stable
+ REGRESS_CHECK_POS( "DescOrig", xx1, xx2, descriptionOrig ) */
+ REGRESS_CHECK_POS("DescOff", xx1, xx2, descriptionOff)
+ REGRESS_CHECK_POS("DescSize", xx1, xx2, descriptionSize)
+ return CompareSegs(xx1->segs, xx1->segCnt, xx1->segs, xx1->segCnt);
}
static trackCmd_t turnoutCmds = {
@@ -2022,7 +3921,7 @@ static trackCmd_t turnoutCmds = {
NULL,
CompareTurnout };
-
+
#ifdef TURNOUTCMD
/*****************************************
*
@@ -2032,84 +3931,84 @@ static trackCmd_t turnoutCmds = {
static coOrd maxTurnoutDim;
-static void AddTurnout( void );
+static void AddTurnout(void);
static wWin_p turnoutW;
-static void RescaleTurnout( void )
+static void RescaleTurnout(void)
{
DIST_T xscale, yscale;
- wPos_t ww, hh;
+ wWinPix_t ww, hh;
DIST_T w, h;
- wDrawGetSize( turnoutD.d, &ww, &hh );
- w = ww/turnoutD.dpi;
- h = hh/turnoutD.dpi;
- xscale = maxTurnoutDim.x/w;
- yscale = maxTurnoutDim.y/h;
- turnoutD.scale = max(xscale,yscale);
+ wDrawGetSize(turnoutD.d, &ww, &hh);
+ w = ww / turnoutD.dpi;
+ h = hh / turnoutD.dpi;
+ xscale = maxTurnoutDim.x / w;
+ yscale = maxTurnoutDim.y / h;
+ turnoutD.scale = max(xscale, yscale);
if (turnoutD.scale == 0.0)
turnoutD.scale = 1.0;
- turnoutD.size.x = w*turnoutD.scale;
- turnoutD.size.y = h*turnoutD.scale;
+ turnoutD.size.x = w * turnoutD.scale;
+ turnoutD.size.y = h * turnoutD.scale;
return;
}
-static void TurnoutChange( long changes )
+static void TurnoutChange(long changes)
{
- static char * lastScaleName = NULL;
+ static char* lastScaleName = NULL;
if (turnoutW == NULL)
return;
- wListSetIndex( turnoutListL, 0 );
- if ( (!wWinIsVisible(turnoutW)) ||
- ( ((changes&CHANGE_SCALE) == 0 || lastScaleName == curScaleName) &&
- (changes&CHANGE_PARAMS) == 0 ) )
+ wListSetIndex(turnoutListL, 0);
+ if ((!wWinIsVisible(turnoutW)) ||
+ (((changes & CHANGE_SCALE) == 0 || lastScaleName == curScaleName) &&
+ (changes & CHANGE_PARAMS) == 0))
return;
lastScaleName = curScaleName;
//curTurnout = NULL;
curTurnoutEp = 0;
- wControlShow( (wControl_p)turnoutListL, FALSE );
- wListClear( turnoutListL );
+ wControlShow((wControl_p)turnoutListL, FALSE);
+ wListClear(turnoutListL);
maxTurnoutDim.x = maxTurnoutDim.y = 0.0;
if (turnoutInfo_da.cnt <= 0)
return;
- curTurnout = TurnoutAdd( LABEL_TABBED|LABEL_MANUF|LABEL_PARTNO|LABEL_DESCR, GetLayoutCurScale(), turnoutListL, &maxTurnoutDim, -1 );
- wListSetIndex( turnoutListL, turnoutInx );
- wControlShow( (wControl_p)turnoutListL, TRUE );
+ curTurnout = TurnoutAdd(LABEL_TABBED | LABEL_MANUF | LABEL_PARTNO | LABEL_DESCR, GetLayoutCurScale(), turnoutListL, &maxTurnoutDim, -1);
+ wListSetIndex(turnoutListL, turnoutInx);
+ wControlShow((wControl_p)turnoutListL, TRUE);
if (curTurnout == NULL) {
- wDrawClear( turnoutD.d );
+ wDrawClear(turnoutD.d);
return;
}
turnoutD.orig.x = -trackGauge;
turnoutD.orig.y = -trackGauge;
- maxTurnoutDim.x += 2*trackGauge;
- maxTurnoutDim.y += 2*trackGauge;
+ maxTurnoutDim.x += 2 * trackGauge;
+ maxTurnoutDim.y += 2 * trackGauge;
/*RescaleTurnout();*/
- RedrawTurnout();
+ RedrawTurnout( turnoutD.d, NULL, 0, 0 );
return;
}
-static void RedrawTurnout()
+static void RedrawTurnout( wDraw_p d, void * context, wWinPix_t x, wWinPix_t y )
{
RescaleTurnout();
-LOG( log_turnout, 2, ( "SelTurnout(%s)\n", (curTurnout?curTurnout->title:"<NULL>") ) )
+ LOG(log_turnout, 2, ("SelTurnout(%s)\n", (curTurnout ? curTurnout->title : "<NULL>")))
- wDrawClear( turnoutD.d );
+ wDrawClear(turnoutD.d);
if (curTurnout == NULL) {
return;
}
turnoutD.orig.x = curTurnout->orig.x - trackGauge;
turnoutD.orig.y = (curTurnout->size.y + curTurnout->orig.y) - turnoutD.size.y + trackGauge;
- DrawSegs( &turnoutD, zero, 0.0, curTurnout->segs, curTurnout->segCnt,
- trackGauge, wDrawColorBlack );
+ DrawSegs(&turnoutD, zero, 0.0, curTurnout->segs, curTurnout->segCnt,
+ trackGauge, wDrawColorBlack);
curTurnoutEp = 0;
HilightEndPt();
}
-static void TurnoutOk( void )
+static void TurnoutOk(void)
{
AddTurnout();
Reset();
@@ -2117,33 +4016,33 @@ static void TurnoutOk( void )
static void TurnoutDlgUpdate(
- paramGroup_p pg,
- int inx,
- void * valueP )
+ paramGroup_p pg,
+ int inx,
+ void* valueP)
{
- turnoutInfo_t * to;
- if ( inx != I_LIST ) return;
- to = (turnoutInfo_t*)wListGetItemContext( (wList_p)pg->paramPtr[inx].control, (wIndex_t)*(long*)valueP );
+ turnoutInfo_t* to;
+ if (inx != I_LIST) return;
+ to = (turnoutInfo_t*)wListGetItemContext((wList_p)pg->paramPtr[inx].control, (wIndex_t) * (long*)valueP);
AddTurnout();
curTurnout = to;
- RedrawTurnout();
-/* ParamDialogOkActive( &turnoutPG, FALSE ); */
+ RedrawTurnout( turnoutD.d, NULL, 0, 0 );
+ /* ParamDialogOkActive( &turnoutPG, FALSE ); */
}
static wIndex_t TOpickEndPoint(
- coOrd p,
- turnoutInfo_t *to )
+ coOrd p,
+ turnoutInfo_t* to)
{
wIndex_t inx, i;
DIST_T d, dd;
coOrd posI;
- d = FindDistance( p, to->endPt[0].pos );
+ d = FindDistance(p, to->endPt[0].pos);
inx = 0;
- for ( i=1; i<to->endCnt; i++ ) {
+ for (i = 1; i < to->endCnt; i++) {
posI = to->endPt[i].pos;
- if ((dd=FindDistance(p, posI)) < d) {
+ if ((dd = FindDistance(p, posI)) < d) {
d = dd;
inx = i;
}
@@ -2152,57 +4051,55 @@ static wIndex_t TOpickEndPoint(
}
-static void HilightEndPt( void )
+static void HilightEndPt(void)
{
coOrd p, s;
p.x = curTurnout->endPt[(int)curTurnoutEp].pos.x - trackGauge;
p.y = curTurnout->endPt[(int)curTurnoutEp].pos.y - trackGauge;
- s.x = s.y = trackGauge*2.0 /*+ turnoutD.minSize*/;
- wDrawSetTempMode( turnoutD.d, TRUE );
- DrawHilight( &turnoutD, p, s, FALSE );
- wDrawSetTempMode( turnoutD.d, FALSE );
+ s.x = s.y = trackGauge * 2.0 /*+ turnoutD.minSize*/;
+ DrawHilight(&turnoutD, p, s, FALSE);
}
static void SelTurnoutEndPt(
- wIndex_t action,
- coOrd pos )
+ wIndex_t action,
+ coOrd pos)
{
if (action != C_DOWN) return;
- curTurnoutEp = TOpickEndPoint( pos, curTurnout );
+ curTurnoutEp = TOpickEndPoint(pos, curTurnout);
HilightEndPt();
-LOG( log_turnout, 3, (" selected (action=%d) %ld\n", action, curTurnoutEp ) )
+ LOG(log_turnout, 3, (" selected (action=%d) %ld\n", action, curTurnoutEp))
}
#endif
-
+
/****************************************
*
* GRAPHICS COMMANDS
*
*/
-/*
- * STATE INFO
- */
+ /*
+ * STATE INFO
+ */
static struct {
- int state;
- coOrd pos;
- coOrd place;
- track_p trk;
- ANGLE_T angle;
- coOrd rot0, rot1;
- } Dto;
+ int state;
+ coOrd pos;
+ coOrd place;
+ track_p trk;
+ ANGLE_T angle;
+ coOrd rot0, rot1;
+} Dto;
static dynArr_t vector_da;
#define vector(N) DYNARR_N( vector_t, vector_da, N )
typedef struct {
- DIST_T off;
- ANGLE_T angle;
- EPINX_T ep;
- track_p trk;
- } vector_t;
+ DIST_T off;
+ ANGLE_T angle;
+ EPINX_T ep;
+ track_p trk;
+} vector_t;
/*
* PlaceTurnoutTrial
@@ -2216,13 +4113,13 @@ typedef struct {
* OUT Vector - An array of end points positions and offsets
*/
static void PlaceTurnoutTrial(
- track_p *trkR,
- coOrd *posR,
- ANGLE_T *angle1R,
- ANGLE_T *angle2R,
- int *connCntR,
- DIST_T *maxDR,
- vector_t *v )
+ track_p* trkR,
+ coOrd* posR,
+ ANGLE_T* angle1R,
+ ANGLE_T* angle2R,
+ int* connCntR,
+ DIST_T* maxDR,
+ vector_t* v)
{
coOrd pos = *posR;
ANGLE_T aa;
@@ -2235,82 +4132,86 @@ static void PlaceTurnoutTrial(
DIST_T d, maxD = 0;
coOrd testP = pos;
- if (*trkR && (GetTrkDistance(*trkR,&testP)<trackGauge)) { //Have Track, stick with it unless outside bounds
+ if (*trkR && (GetTrkDistance(*trkR, &testP) < trackGauge)) { //Have Track, stick with it unless outside bounds
trk = *trkR;
pos = testP;
- } else *trkR = trk = OnTrack( &pos, FALSE, TRUE );
- if ( (trk) != NULL &&
- !QueryTrack(trk,Q_CANNOT_PLACE_TURNOUT) &&
- (ep0 = PickEndPoint( pos, trk )) >= 0 &&
- ! ( GetTrkType(trk) == T_TURNOUT &&
- (trk1=GetTrkEndTrk(trk,ep0)) &&
- GetTrkType(trk1) == T_TURNOUT) &&
- ! GetLayerFrozen(GetTrkLayer(trk)) &&
- ! GetLayerModule(GetTrkLayer(trk))) {
- epPos = GetTrkEndPos( trk, ep0 );
- d = FindDistance( pos, epPos );
+ }
+ else *trkR = trk = OnTrack(&pos, FALSE, TRUE);
+ if ((trk) != NULL &&
+ !QueryTrack(trk, Q_CANNOT_PLACE_TURNOUT) &&
+ (ep0 = PickEndPoint(pos, trk)) >= 0 &&
+ !(GetTrkType(trk) == T_TURNOUT &&
+ (trk1 = GetTrkEndTrk(trk, ep0)) &&
+ GetTrkType(trk1) == T_TURNOUT) &&
+ !GetLayerFrozen(GetTrkLayer(trk)) &&
+ !GetLayerModule(GetTrkLayer(trk))) {
+ epPos = GetTrkEndPos(trk, ep0);
+ d = FindDistance(pos, epPos);
if (d <= minLength)
pos = epPos;
- if ( GetTrkType(trk) == T_TURNOUT ) { //Only on the end
- ep0 = ep1 = PickEndPoint( pos, trk );
- angle = GetTrkEndAngle( trk, ep0 );
- } else {
- angle = GetAngleAtPoint( trk, pos, &ep0, &ep1 );
- if (ep0==1) angle = NormalizeAngle(angle+180); //Reverse if curve backwards
- }
- angle = NormalizeAngle( angle + 180.0 );
- if ( NormalizeAngle( FindAngle( pos, *posR ) - angle ) < 180.0 && ep0 != ep1 )
- angle = NormalizeAngle( angle + 180 );
+ if (GetTrkType(trk) == T_TURNOUT) { //Only on the end
+ ep0 = ep1 = PickEndPoint(pos, trk);
+ angle = GetTrkEndAngle(trk, ep0);
+ }
+ else {
+ angle = GetAngleAtPoint(trk, pos, &ep0, &ep1);
+ if (ep0 == 1) angle = NormalizeAngle(angle + 180); //Reverse if curve backwards
+ }
+ angle = NormalizeAngle(angle + 180.0);
+ if (NormalizeAngle(FindAngle(pos, *posR) - angle) < 180.0 && ep0 != ep1)
+ angle = NormalizeAngle(angle + 180);
*angle2R = angle;
epPos = curTurnout->endPt[(int)curTurnoutEp].pos;
- *angle1R = angle = NormalizeAngle( angle - curTurnout->endPt[(int)curTurnoutEp].angle );
- Rotate( &epPos, zero, angle );
+ *angle1R = angle = NormalizeAngle(angle - curTurnout->endPt[(int)curTurnoutEp].angle);
+ Rotate(&epPos, zero, angle);
pos.x -= epPos.x;
pos.y -= epPos.y;
*posR = pos; //The place the Turnout end sits
-LOG( log_turnout, 3, ( "placeTurnout T%d (%0.3f %0.3f) A%0.3f\n",
- GetTrkIndex(trk), pos.x, pos.y, angle ) )
- /*InfoMessage( "Turnout(%d): Angle=%0.3f", GetTrkIndex(trk), angle );*/
- track_p ctrk = NULL;
+ LOG(log_turnout, 3, ("placeTurnout T%d (%0.3f %0.3f) A%0.3f\n",
+ GetTrkIndex(trk), pos.x, pos.y, angle))
+ /*InfoMessage( "Turnout(%d): Angle=%0.3f", GetTrkIndex(trk), angle );*/
+ track_p ctrk = NULL;
int ccnt = 0;
- DIST_T clarge = 100000;
- for (i=0;i<curTurnout->endCnt;i++) {
+ DIST_T clarge = DIST_INF;
+ for (i = 0; i < curTurnout->endCnt; i++) {
posI = curTurnout->endPt[i].pos;
- epPos = AddCoOrd( pos, posI, angle );
- epAngle = NormalizeAngle( curTurnout->endPt[i].angle + angle );
+ epPos = AddCoOrd(pos, posI, angle);
+ epAngle = NormalizeAngle(curTurnout->endPt[i].angle + angle);
conPos = epPos;
if ((trk = OnTrack(&conPos, FALSE, TRUE)) != NULL &&
!GetLayerFrozen(GetTrkLayer(trk)) &&
!GetLayerModule(GetTrkLayer(trk))) {
- v->off = FindDistance( epPos, conPos );
- v->angle = FindAngle( epPos, conPos );
- if ( GetTrkType(trk) == T_TURNOUT ) {
- ep0 = ep1 = PickEndPoint( conPos, trk );
- aa = GetTrkEndAngle( trk, ep0 );
- } else {
- aa = GetAngleAtPoint( trk, conPos, &ep0, &ep1 );
+ v->off = FindDistance(epPos, conPos);
+ v->angle = FindAngle(epPos, conPos);
+ if (GetTrkType(trk) == T_TURNOUT) {
+ ep0 = ep1 = PickEndPoint(conPos, trk);
+ aa = GetTrkEndAngle(trk, ep0);
+ }
+ else {
+ aa = GetAngleAtPoint(trk, conPos, &ep0, &ep1);
if (ep0) //Backwards - so reverse
- aa = NormalizeAngle(aa+180);
+ aa = NormalizeAngle(aa + 180);
}
v->ep = i;
- aa = fabs(DifferenceBetweenAngles( aa, epAngle ));
- if (QueryTrack(trk,Q_IS_CORNU) ) { //Make sure only two conns to each Cornu
- int k=0;
+ aa = fabs(DifferenceBetweenAngles(aa, epAngle));
+ if (QueryTrack(trk, Q_IS_CORNU)) { //Make sure only two conns to each Cornu
+ int k = 0;
v->trk = trk;
- for (int j=0; j<i;j++) {
+ for (int j = 0; j < i; j++) {
if (vector(j).trk == trk) k++;
}
- if (k<2) { //Already two conns to this track
+ if (k < 2) { //Already two conns to this track
connCnt++;
if (v->off > maxD)
maxD = v->off;
v++;
}
- } else if (( IsClose(v->off) && (aa<connectAngle || aa>180-connectAngle) &&
- !( GetTrkType(trk) == T_TURNOUT &&
- (trk1=GetTrkEndTrk(trk,ep0)) &&
- GetTrkType(trk1) == T_TURNOUT )) ) {
+ }
+ else if ((IsClose(v->off) && (aa < connectAngle || aa>180 - connectAngle) &&
+ !(GetTrkType(trk) == T_TURNOUT &&
+ (trk1 = GetTrkEndTrk(trk, ep0)) &&
+ GetTrkType(trk1) == T_TURNOUT))) {
if (v->off > maxD)
maxD = v->off;
connCnt++;
@@ -2318,7 +4219,8 @@ LOG( log_turnout, 3, ( "placeTurnout T%d (%0.3f %0.3f) A%0.3f\n",
}
}
}
- } else {
+ }
+ else {
trk = NULL;
*trkR = NULL;
}
@@ -2328,51 +4230,51 @@ LOG( log_turnout, 3, ( "placeTurnout T%d (%0.3f %0.3f) A%0.3f\n",
static void PlaceTurnout(
- coOrd pos, track_p trk )
+ coOrd pos, track_p trk)
{
coOrd p, pos1, pos2;
track_p trk1, trk2;
ANGLE_T a, a1, a2, a3;
int i, connCnt1, connCnt2;
DIST_T d, maxD1, maxD2, sina;
- vector_t *V, * maxV;
+ vector_t* V, * maxV;
+
-
pos1 = Dto.place = Dto.pos = pos;
-LOG( log_turnout, 1, ( "Place Turnout @ %0.3fx%0.3f\n", Dto.pos.x, Dto.pos.y ) );
+ LOG(log_turnout, 1, ("Place Turnout @ %0.3fx%0.3f\n", Dto.pos.x, Dto.pos.y));
if (curTurnoutEp >= (long)curTurnout->endCnt)
curTurnoutEp = 0;
- DYNARR_SET( vector_t, vector_da, curTurnout->endCnt );
+ DYNARR_SET(vector_t, vector_da, curTurnout->endCnt);
if (trk) trk1 = trk;
else trk1 = NULL;
- PlaceTurnoutTrial( &trk1, &pos1, &a1, &a2, &connCnt1, &maxD1, &vector(0) );
+ PlaceTurnoutTrial(&trk1, &pos1, &a1, &a2, &connCnt1, &maxD1, &vector(0));
if (connCnt1 > 0) {
Dto.pos = pos1; //First track pos
-LOG( log_turnout, 1, ( " trial 1 @ %0.3fx%0.3f\n", Dto.pos.x, Dto.pos.y ) );
+ LOG(log_turnout, 1, (" trial 1 @ %0.3fx%0.3f\n", Dto.pos.x, Dto.pos.y));
Dto.trk = trk1; //Track
Dto.angle = a1; //Angle of track to put down
- if ( ((MyGetKeyState()&WKEY_SHIFT)==0) && (connCnt1 > 1) && (maxD1 >= 0.001) ) { //Adjust if not Shift
+ if (((MyGetKeyState() & WKEY_SHIFT) == 0) && (connCnt1 > 1) && (maxD1 >= 0.001)) { //Adjust if not Shift
maxV = &vector(0);
- for ( i=1; i<connCnt1; i++ ) { //Ignore first point
+ for (i = 1; i < connCnt1; i++) { //Ignore first point
V = &vector(i);
- if ( V->off > maxV->off ) {
+ if (V->off > maxV->off) {
maxV = V;
}
}
- a3 = NormalizeAngle( Dto.angle + curTurnout->endPt[maxV->ep].angle );
- a = NormalizeAngle( a2 - a3 );
+ a3 = NormalizeAngle(Dto.angle + curTurnout->endPt[maxV->ep].angle);
+ a = NormalizeAngle(a2 - a3);
sina = sin(D2R(a));
if (fabs(sina) > 0.01) {
- d = maxV->off/sina;
- if (NormalizeAngle( maxV->angle - a3) > 180)
+ d = maxV->off / sina;
+ if (NormalizeAngle(maxV->angle - a3) > 180)
d = -d;
- Translate( &pos2, pos, a2, d );
+ Translate(&pos2, pos, a2, d);
trk2 = trk1;
- PlaceTurnoutTrial( &trk2, &pos2, &a2, &a, &connCnt2, &maxD2, &vector(0) );
- if ( connCnt2 >= connCnt1 && maxD2 < maxD1 ) {
+ PlaceTurnoutTrial(&trk2, &pos2, &a2, &a, &connCnt2, &maxD2, &vector(0));
+ if (connCnt2 >= connCnt1 && maxD2 < maxD1) {
Dto.pos = pos2;
-LOG( log_turnout, 1, ( " trial 2 @ %0.3fx%0.3f\n", Dto.pos.x, Dto.pos.y ) );
+ LOG(log_turnout, 1, (" trial 2 @ %0.3fx%0.3f\n", Dto.pos.x, Dto.pos.y));
Dto.trk = trk2;
Dto.angle = a2;
maxD1 = maxD2;
@@ -2381,37 +4283,37 @@ LOG( log_turnout, 1, ( " trial 2 @ %0.3fx%0.3f\n", Dto.pos.x, Dto.pos.y ) );
}
}
}
- if ( connCnt1 > 0 ) {
- FormatCompoundTitle( listLabels, curTurnout->title );
- InfoMessage( _("%d connections, max distance %0.3f (%s)"),
- connCnt1, PutDim(maxD1), message );
- } else {
+ if (connCnt1 > 0) {
+ FormatCompoundTitle(listLabels, curTurnout->title);
+ InfoMessage(_("%d connections, max distance %0.3f (%s)"),
+ connCnt1, PutDim(maxD1), message);
+ }
+ else {
Dto.trk = NULL;
- FormatCompoundTitle( listLabels, curTurnout->title );
- InfoMessage( _("0 connections (%s)"), message );
+ FormatCompoundTitle(listLabels, curTurnout->title);
+ InfoMessage(_("0 connections (%s)"), message);
p = curTurnout->endPt[(int)curTurnoutEp].pos;
- Rotate( &p, zero, Dto.angle );
+ Rotate(&p, zero, Dto.angle);
Dto.pos.x = pos.x - p.x;
Dto.pos.y = pos.y - p.y;
-LOG( log_turnout, 1, ( " final @ %0.3fx%0.3f\n", Dto.pos.x, Dto.pos.y ) );
+ LOG(log_turnout, 1, (" final @ %0.3fx%0.3f\n", Dto.pos.x, Dto.pos.y));
}
}
-static void AddTurnout( void )
+static void AddTurnout(void)
{
track_p newTrk;
track_p trk, trk1;
- struct extraData *xx;
+ struct extraDataCompound_t* xx;
coOrd epPos;
DIST_T d;
ANGLE_T a, aa;
EPINX_T ep0, ep1, epx, epy;
- wIndex_t i,j;
- wIndex_t titleLen;
+ wIndex_t i, j;
typedef struct {
track_p trk;
EPINX_T ep;
- } junk_t;
+ } junk_t;
static dynArr_t connection_da;
static dynArr_t leftover_da;
#define connection(N) DYNARR_N( junk_t, connection_da, N )
@@ -2425,27 +4327,26 @@ static void AddTurnout( void )
return;
if (curTurnout->segCnt < 1 || curTurnout->endCnt < 1) {
- AbortProg( "addTurnout: bad cnt" );
+ AbortProg("addTurnout: bad cnt");
}
- UndoStart( _("Place New Turnout"), "addTurnout" );
- titleLen = strlen( curTurnout->title );
+ UndoStart(_("Place New Turnout"), "addTurnout");
- DYNARR_SET( trkEndPt_t, tempEndPts_da, curTurnout->endCnt );
- DYNARR_SET( junk_t, connection_da, curTurnout->endCnt );
- DYNARR_SET( junk_t, leftover_da, curTurnout->endCnt );
+ DYNARR_SET(trkEndPt_t, tempEndPts_da, curTurnout->endCnt);
+ DYNARR_SET(junk_t, connection_da, curTurnout->endCnt);
+ DYNARR_SET(junk_t, leftover_da, curTurnout->endCnt);
- for (i=0; i<curTurnout->endCnt; i++ ) {
+ for (i = 0; i < curTurnout->endCnt; i++) {
coOrd posI;
posI = curTurnout->endPt[i].pos;
- tempEndPts(i).pos = AddCoOrd( Dto.pos, posI, Dto.angle );
- tempEndPts(i).angle = NormalizeAngle( curTurnout->endPt[i].angle + Dto.angle );
+ tempEndPts(i).pos = AddCoOrd(Dto.pos, posI, Dto.angle);
+ tempEndPts(i).angle = NormalizeAngle(curTurnout->endPt[i].angle + Dto.angle);
}
- AuditTracks( "addTurnout begin" );
+ AuditTracks("addTurnout begin");
- for (i=0;i<curTurnout->endCnt;i++) {
- AuditTracks( "addTurnout [%d]", i );
+ for (i = 0; i < curTurnout->endCnt; i++) {
+ AuditTracks("addTurnout [%d]", i);
connection(i).trk = leftover(i).trk = NULL;
connection(i).ep = -1;
leftover(i).ep = -1;
@@ -2453,70 +4354,72 @@ static void AddTurnout( void )
epPos = tempEndPts(i).pos;
if ((trk = OnTrack(&epPos, FALSE, TRUE)) != NULL && //Adjust epPos onto existing track
(!GetLayerFrozen(GetTrkLayer(trk))) &&
- (!GetLayerModule(GetTrkLayer(trk))) &&
- (!QueryTrack(trk,Q_CANNOT_PLACE_TURNOUT)) ) {
-LOG( log_turnout, 1, ( "ep[%d] on T%d @(%0.3f %0.3f)\n",
- i, GetTrkIndex(trk), epPos.x, epPos.y ) )
- DIST_T dd = 10000.0;
+ (!GetLayerModule(GetTrkLayer(trk))) &&
+ (!QueryTrack(trk, Q_CANNOT_PLACE_TURNOUT))) {
+ LOG(log_turnout, 1, ("ep[%d] on T%d @(%0.3f %0.3f)\n",
+ i, GetTrkIndex(trk), epPos.x, epPos.y))
+ DIST_T dd = DIST_INF;
int nearest = -1;
- for (int j=0;j<curTurnout->endCnt;j++) {
- if (j<i && (connection(j).trk == trk)) {
+ for (int j = 0; j < curTurnout->endCnt; j++) {
+ if (j < i && (connection(j).trk == trk)) {
nearest = -1;
goto nextEnd; //Track already chosen in use
}
- if (dd>FindDistance(epPos,tempEndPts(j).pos)) {
- dd = FindDistance(epPos,tempEndPts(j).pos);
+ if (dd > FindDistance(epPos, tempEndPts(j).pos)) {
+ dd = FindDistance(epPos, tempEndPts(j).pos);
nearest = j;
}
}
if (nearest != i) continue; //Not this one
- d = FindDistance( tempEndPts(i).pos, epPos );
- if ( GetTrkType(trk) == T_TURNOUT ) {
- ep0 = ep1 = PickEndPoint( epPos, trk );
- a = GetTrkEndAngle( trk, ep0 );
- } else {
- a = GetAngleAtPoint( trk, epPos, &ep0, &ep1 );
- }
- aa = fabs(DifferenceBetweenAngles( a , tempEndPts(i).angle));
- if ((QueryTrack(trk,Q_IS_CORNU) && (d<trackGauge*2)) ||
- (( IsClose(d) && ( ((ep0!=ep1) && (aa<=connectAngle)) || ((aa<=connectAngle) || (aa>180-connectAngle)) ) &&
- ! ( GetTrkType(trk) == T_TURNOUT &&
- (trk1=GetTrkEndTrk(trk,ep0)) &&
- GetTrkType(trk1) == T_TURNOUT )) ) ) {
+ d = FindDistance(tempEndPts(i).pos, epPos);
+ if (GetTrkType(trk) == T_TURNOUT) {
+ ep0 = ep1 = PickEndPoint(epPos, trk);
+ a = GetTrkEndAngle(trk, ep0);
+ }
+ else {
+ a = GetAngleAtPoint(trk, epPos, &ep0, &ep1);
+ }
+ aa = fabs(DifferenceBetweenAngles(a, tempEndPts(i).angle));
+ if ((QueryTrack(trk, Q_IS_CORNU) && (d < trackGauge * 2)) ||
+ ((IsClose(d) && (((ep0 != ep1) && (aa <= connectAngle)) || ((aa <= connectAngle) || (aa > 180 - connectAngle))) &&
+ !(GetTrkType(trk) == T_TURNOUT &&
+ (trk1 = GetTrkEndTrk(trk, ep0)) &&
+ GetTrkType(trk1) == T_TURNOUT)))) {
/* ... if they are close enough to a track and line up */
- if (aa<90) {
- epx = ep1;
- epy = ep0;
- } else {
- epx = ep0;
- epy = ep1;
+ if (aa < 90) {
+ epx = ep1;
+ epy = ep0;
}
-LOG( log_turnout, 1, ( " Attach! epx=%d\n", epx ) )
- if ( (epx != epy) &&
- ((d=FindDistance(GetTrkEndPos(trk,epy), epPos)) < minLength) &&
- ((trk1=GetTrkEndTrk(trk,epy)) != NULL) ) {
- epx = GetEndPtConnectedToMe( trk1, trk );
- trk = trk1;
+ else {
+ epx = ep0;
+ epy = ep1;
}
+ LOG(log_turnout, 1, (" Attach! epx=%d\n", epx))
+ if ((epx != epy) &&
+ ((d = FindDistance(GetTrkEndPos(trk, epy), epPos)) < minLength) &&
+ ((trk1 = GetTrkEndTrk(trk, epy)) != NULL)) {
+ epx = GetEndPtConnectedToMe(trk1, trk);
+ trk = trk1;
+ }
/* split the track at the intersection point */
- AuditTracks( "addTurnout [%d] before splitTrack", i );
- if (SplitTrack( trk, epPos, epx, &leftover(i).trk, TRUE )) {
- AuditTracks( "addTurnout [%d], after splitTrack", i );
+ AuditTracks("addTurnout [%d] before splitTrack", i);
+ if (SplitTrack(trk, epPos, epx, &leftover(i).trk, TRUE)) {
+ AuditTracks("addTurnout [%d], after splitTrack", i);
/* remember so we can fix up connection later */
connection(i).trk = trk;
connection(i).ep = epx;
if (leftover(i).trk != NULL) {
- leftover(i).ep = 1-epx;
+ leftover(i).ep = 1 - epx;
/* did we already split this track? */
- for (j=0;j<i;j++) {
- if ( connection(i).trk == leftover(j).trk ) {
+ for (j = 0; j < i; j++) {
+ if (connection(i).trk == leftover(j).trk) {
/* yes. Remove the latest leftover piece */
-LOG( log_turnout, 1, ( " deleting leftover T%d\n",
- GetTrkIndex(leftover(i).trk) ) )
- AuditTracks( "addTurnout [%d] before delete", i );
- UndrawNewTrack( leftover(i).trk );
- DeleteTrack( leftover(i).trk, FALSE );
- AuditTracks( "addTurnout [%d] before delete", i );
+ LOG(log_turnout, 1, (" deleting leftover T%d\n",
+ GetTrkIndex(leftover(i).trk)))
+ AuditTracks("addTurnout [%d] before delete", i);
+ UndrawNewTrack(leftover(i).trk);
+ DeleteTrack(leftover(i).trk, FALSE);
+ AuditTracks("addTurnout [%d] before delete", i);
leftover(i).trk = NULL;
leftover(i).ep = -1;
leftover(j).trk = NULL; //Forget this leftover
@@ -2528,112 +4431,110 @@ LOG( log_turnout, 1, ( " deleting leftover T%d\n",
}
}
}
-nextEnd:;
+ nextEnd:;
}
- AuditTracks( "addTurnout after loop" );
+ AuditTracks("addTurnout after loop");
/*
* copy data */
- newTrk = NewCompound( T_TURNOUT, 0, Dto.pos, Dto.angle, curTurnout->title, tempEndPts_da.cnt, &tempEndPts(0), NULL, curTurnout->pathLen, (char *)curTurnout->paths, curTurnout->segCnt, curTurnout->segs );
- xx = GetTrkExtraData(newTrk);
+ newTrk = NewCompound(T_TURNOUT, 0, Dto.pos, Dto.angle, curTurnout->title, tempEndPts_da.cnt, &tempEndPts(0), GetParamPaths(curTurnout), curTurnout->segCnt, curTurnout->segs);
+ xx = GET_EXTRA_DATA(newTrk, T_TURNOUT, extraDataCompound_t);
xx->customInfo = curTurnout->customInfo;
if (connection((int)curTurnoutEp).trk) {
- CopyAttributes( connection((int)curTurnoutEp).trk, newTrk );
- SetTrkScale( newTrk, GetLayoutCurScale());
+ CopyAttributes(connection((int)curTurnoutEp).trk, newTrk);
+ SetTrkScale(newTrk, GetLayoutCurScale());
}
xx->special = curTurnout->special;
- if (xx->special == TOcurved) {
- DYNARR_SET(DIST_T,xx->u.curved.radii,curTurnout->endCnt);
- for (int i=0;i<curTurnout->endCnt;i++) {
- DYNARR_N(DIST_T,xx->u.curved.radii,i) = DYNARR_N(DIST_T,curTurnout->u.curved.radii,i);
- }
- }
xx->u = curTurnout->u;
+ xx->pathOverRide = curTurnout->pathOverRide;
+ xx->pathNoCombine = curTurnout->pathNoCombine;
/* Make the connections */
visible = FALSE;
no_ties = FALSE;
noConnections = TRUE;
- AuditTracks( "addTurnout T%d before connection", GetTrkIndex(newTrk) );
- for (i=0;i<curTurnout->endCnt;i++) {
- if ( connection(i).trk != NULL ) {
- if (GetTrkEndTrk(connection(i).trk,connection(i).ep)) continue;
- p0 = GetTrkEndPos( newTrk, i );
- p1 = GetTrkEndPos( connection(i).trk, connection(i).ep );
- ANGLE_T a0 = GetTrkEndAngle( newTrk, i);
- ANGLE_T a1 = GetTrkEndAngle( connection(i).trk, connection(i).ep );
- ANGLE_T a = fabs(DifferenceBetweenAngles(a0+180,a1));
- d = FindDistance( p0, p1 );
- if (QueryTrack(connection(i).trk,Q_IS_CORNU)) {
- ANGLE_T a = DifferenceBetweenAngles(FindAngle(p0,p1),a0);
- if (IsClose(d) || fabs(a)<=90.0) {
+ AuditTracks("addTurnout T%d before connection", GetTrkIndex(newTrk));
+ for (i = 0; i < curTurnout->endCnt; i++) {
+ if (connection(i).trk != NULL) {
+ if (GetTrkEndTrk(connection(i).trk, connection(i).ep)) continue;
+ p0 = GetTrkEndPos(newTrk, i);
+ p1 = GetTrkEndPos(connection(i).trk, connection(i).ep);
+ ANGLE_T a0 = GetTrkEndAngle(newTrk, i);
+ ANGLE_T a1 = GetTrkEndAngle(connection(i).trk, connection(i).ep);
+ ANGLE_T a = fabs(DifferenceBetweenAngles(a0 + 180, a1));
+ d = FindDistance(p0, p1);
+ if (QueryTrack(connection(i).trk, Q_IS_CORNU)) {
+ ANGLE_T a = DifferenceBetweenAngles(FindAngle(p0, p1), a0);
+ if (IsClose(d) || fabs(a) <= 90.0) {
trk1 = connection(i).trk;
ep0 = connection(i).ep;
- if (GetTrkEndTrk(trk1,ep0)) continue;
- DrawEndPt( &mainD, trk1, ep0, wDrawColorWhite );
+ if (GetTrkEndTrk(trk1, ep0)) continue;
+ DrawEndPt(&mainD, trk1, ep0, wDrawColorWhite);
trackParams_t params;
- GetTrackParams( PARAMS_EXTEND, newTrk, GetTrkEndPos(newTrk,i), &params);
- SetCornuEndPt(trk1, ep0, GetTrkEndPos(newTrk,i), params.arcP, NormalizeAngle(params.angle+180.0), params.arcR);
- ConnectTracks(newTrk,i,trk1,ep0);
- DrawEndPt( &mainD, trk1, ep0, wDrawColorBlack );
+ GetTrackParams(PARAMS_EXTEND, newTrk, GetTrkEndPos(newTrk, i), &params);
+ SetCornuEndPt(trk1, ep0, GetTrkEndPos(newTrk, i), params.arcP, NormalizeAngle(params.angle + 180.0), params.arcR);
+ ConnectTracks(newTrk, i, trk1, ep0);
+ DrawEndPt(&mainD, trk1, ep0, wDrawColorBlack);
}
- } else if ( d < connectDistance && (a<=connectAngle)) {
+ }
+ else if (d < connectDistance && (a <= connectAngle)) {
noConnections = FALSE;
trk1 = connection(i).trk;
ep0 = connection(i).ep;
- DrawEndPt( &mainD, trk1, ep0, wDrawColorWhite );
- ConnectTracks( newTrk, i, trk1, ep0 );
+ DrawEndPt(&mainD, trk1, ep0, wDrawColorWhite);
+ ConnectTracks(newTrk, i, trk1, ep0);
visible |= GetTrkVisible(trk1);
no_ties |= GetTrkNoTies(trk1);
- DrawEndPt( &mainD, trk1, ep0, wDrawColorBlack );
+ DrawEndPt(&mainD, trk1, ep0, wDrawColorBlack);
}
}
}
if (noConnections)
visible = TRUE;
- SetTrkVisible( newTrk, visible);
+ SetTrkVisible(newTrk, visible);
SetTrkNoTies(newTrk, no_ties);
SetTrkBridge(newTrk, FALSE);
- AuditTracks( "addTurnout T%d before dealing with leftovers", GetTrkIndex(newTrk) );
+ AuditTracks("addTurnout T%d before dealing with leftovers", GetTrkIndex(newTrk));
/* deal with the leftovers */
- for (i=0;i<curTurnout->endCnt;i++) {
- if ( (trk=leftover(i).trk) != NULL && !IsTrackDeleted(trk) ) {
+ for (i = 0; i < curTurnout->endCnt; i++) {
+ if ((trk = leftover(i).trk) != NULL) {
+ ASSERT( !IsTrackDeleted(trk) );
/* move endPt beyond the turnout */
/* it it is short then delete it */
coOrd off;
DIST_T maxX;
track_p lt = leftover(i).trk;
- if (QueryTrack(lt,Q_IS_CORNU)) {
+ if (QueryTrack(lt, Q_IS_CORNU)) {
UndrawNewTrack(lt);
- DeleteTrack(lt,TRUE);
+ DeleteTrack(lt, TRUE);
leftover(i).trk = NULL;
continue;
}
- EPINX_T ep, le = leftover(i).ep, nearest_ep =-1;
+ EPINX_T ep, le = leftover(i).ep, nearest_ep = -1;
coOrd pos, nearest_pos = zero;
ANGLE_T nearest_angle = 0.0;
DIST_T nearest_radius = 0.0;
coOrd nearest_center = zero;
trackParams_t params;
maxX = 0.0;
- DIST_T dd = 10000.0;
- a = NormalizeAngle( GetTrkEndAngle(lt,le) + 180.0 );
- for (ep=0; ep<curTurnout->endCnt; ep++) {
- FindPos( &off, NULL, GetTrkEndPos(newTrk,ep), GetTrkEndPos(lt,le), a, 100000.0 );
- pos = GetTrkEndPos(newTrk,ep);
+ DIST_T dd = DIST_INF;
+ a = NormalizeAngle(GetTrkEndAngle(lt, le) + 180.0);
+ for (ep = 0; ep < curTurnout->endCnt; ep++) {
+ FindPos(&off, NULL, GetTrkEndPos(newTrk, ep), GetTrkEndPos(lt, le), a, DIST_INF);
+ pos = GetTrkEndPos(newTrk, ep);
DIST_T d = GetTrkDistance(lt, &pos);
- if ((d<dd) && ( d<trackGauge/2)) {
- ANGLE_T a = GetTrkEndAngle( lt, le );
- ANGLE_T a2 = fabs(DifferenceBetweenAngles(GetTrkEndAngle(newTrk,ep),a+180));
- if (GetTrkEndTrk(newTrk,ep)==NULL) { //Not if joined already
- if (a2<90 && QueryTrack(lt,Q_IS_CORNU)) { //And Cornu in the right direction
- GetTrackParams( PARAMS_EXTEND, newTrk, GetTrkEndPos(newTrk,ep), &params);
- nearest_pos = GetTrkEndPos(newTrk,ep);
- nearest_angle = NormalizeAngle(params.angle+180.0);
+ if ((d < dd) && (d < trackGauge / 2)) {
+ ANGLE_T a = GetTrkEndAngle(lt, le);
+ ANGLE_T a2 = fabs(DifferenceBetweenAngles(GetTrkEndAngle(newTrk, ep), a + 180));
+ if (GetTrkEndTrk(newTrk, ep) == NULL) { //Not if joined already
+ if (a2 < 90 && QueryTrack(lt, Q_IS_CORNU)) { //And Cornu in the right direction
+ GetTrackParams(PARAMS_EXTEND, newTrk, GetTrkEndPos(newTrk, ep), &params);
+ nearest_pos = GetTrkEndPos(newTrk, ep);
+ nearest_angle = NormalizeAngle(params.angle + 180.0);
nearest_radius = params.arcR;
nearest_center = params.arcP;
nearest_ep = ep;
@@ -2646,30 +4547,33 @@ nextEnd:;
}
maxX += trackGauge;
pos = Dto.pos;
- if (QueryTrack(lt,Q_IS_CORNU)) {
- if (nearest_ep >=0) {
+ if (QueryTrack(lt, Q_IS_CORNU)) {
+ if (nearest_ep >= 0) {
SetCornuEndPt(lt, le, nearest_pos, nearest_center, nearest_angle, nearest_radius);
- ConnectTracks(newTrk,nearest_ep,lt,le);
- } else {
+ ConnectTracks(newTrk, nearest_ep, lt, le);
+ }
+ else {
UndrawNewTrack(lt);
- DeleteTrack(lt,TRUE);
+ DeleteTrack(lt, TRUE);
+ leftover(i).trk = NULL;
}
- } else {
- AuditTracks( "addTurnout T%d[%d] before trimming L%d[%d]", GetTrkIndex(newTrk), i, GetTrkIndex(lt), le );
- wBool_t rc = TrimTrack( lt, le, maxX, nearest_pos, nearest_angle, nearest_radius, nearest_center );
- AuditTracks( "addTurnout T%d[%d] after trimming L%d[%d]", GetTrkIndex(newTrk), i, GetTrkIndex(lt), le );
+ }
+ else {
+ AuditTracks("addTurnout T%d[%d] before trimming L%d[%d]", GetTrkIndex(newTrk), i, GetTrkIndex(lt), le);
+ wBool_t rc = TrimTrack(lt, le, maxX, nearest_pos, nearest_angle, nearest_radius, nearest_center);
+ AuditTracks("addTurnout T%d[%d] after trimming L%d[%d]", GetTrkIndex(newTrk), i, GetTrkIndex(lt), le);
}
}
}
- SetDescriptionOrig( newTrk );
+ SetDescriptionOrig(newTrk);
xx->descriptionOff = zero;
xx->descriptionSize = zero;
- DrawNewTrack( newTrk );
+ DrawNewTrack(newTrk);
- AuditTracks( "addTurnout T%d returns", GetTrkIndex(newTrk) );
+ AuditTracks("addTurnout T%d returns", GetTrkIndex(newTrk));
UndoEnd();
Dto.state = 0;
Dto.trk = NULL;
@@ -2677,14 +4581,14 @@ nextEnd:;
}
-static void TurnoutRotate( void * pangle )
+static void TurnoutRotate(void* pangle)
{
if (Dto.state == 0)
return;
- ANGLE_T angle = (ANGLE_T)(long)pangle;
+ ANGLE_T angle = (ANGLE_T)VP2L(pangle);
angle /= 1000.0;
Dto.pos = cmdMenuPos;
- Rotate( &Dto.pos, cmdMenuPos, angle );
+ Rotate(&Dto.pos, cmdMenuPos, angle);
Dto.angle += angle;
TempRedraw(); // TurnoutRotate
}
@@ -2692,59 +4596,59 @@ static void TurnoutRotate( void * pangle )
static dynArr_t anchors_da;
#define anchors(N) DYNARR_N(trkSeg_t,anchors_da,N)
-void static CreateArrowAnchor(coOrd pos,ANGLE_T a,DIST_T len) {
- DYNARR_APPEND(trkSeg_t,anchors_da,1);
- int i = anchors_da.cnt-1;
+void static CreateArrowAnchor(coOrd pos, ANGLE_T a, DIST_T len) {
+ DYNARR_APPEND(trkSeg_t, anchors_da, 1);
+ int i = anchors_da.cnt - 1;
anchors(i).type = SEG_STRLIN;
anchors(i).width = 0;
anchors(i).u.l.pos[0] = pos;
- Translate(&anchors(i).u.l.pos[1],pos,NormalizeAngle(a+135),len);
+ Translate(&anchors(i).u.l.pos[1], pos, NormalizeAngle(a + 135), len);
anchors(i).color = wDrawColorBlue;
- DYNARR_APPEND(trkSeg_t,anchors_da,1);
- i = anchors_da.cnt-1;
+ DYNARR_APPEND(trkSeg_t, anchors_da, 1);
+ i = anchors_da.cnt - 1;
anchors(i).type = SEG_STRLIN;
anchors(i).width = 0;
anchors(i).u.l.pos[0] = pos;
- Translate(&anchors(i).u.l.pos[1],pos,NormalizeAngle(a-135),len);
+ Translate(&anchors(i).u.l.pos[1], pos, NormalizeAngle(a - 135), len);
anchors(i).color = wDrawColorBlue;
}
void static CreateRotateAnchor(coOrd pos) {
- DIST_T d = tempD.scale*0.15;
- DYNARR_APPEND(trkSeg_t,anchors_da,1);
- int i = anchors_da.cnt-1;
+ DIST_T d = tempD.scale * 0.15;
+ DYNARR_APPEND(trkSeg_t, anchors_da, 1);
+ int i = anchors_da.cnt - 1;
anchors(i).type = SEG_CRVLIN;
anchors(i).width = 0.5;
anchors(i).u.c.center = pos;
anchors(i).u.c.a0 = 180.0;
anchors(i).u.c.a1 = 360.0;
- anchors(i).u.c.radius = d*2;
+ anchors(i).u.c.radius = d * 2;
anchors(i).color = wDrawColorAqua;
coOrd head; //Arrows
- for (int j=0;j<3;j++) {
- Translate(&head,pos,j*120,d*2);
- CreateArrowAnchor(head,NormalizeAngle((j*120)+90),d);
+ for (int j = 0; j < 3; j++) {
+ Translate(&head, pos, j * 120, d * 2);
+ CreateArrowAnchor(head, NormalizeAngle((j * 120) + 90), d);
}
}
void static CreateMoveAnchor(coOrd pos) {
- DYNARR_SET(trkSeg_t,anchors_da,anchors_da.cnt+5);
- DrawArrowHeads(&DYNARR_N(trkSeg_t,anchors_da,anchors_da.cnt-5),pos,0,TRUE,wDrawColorBlue);
- DYNARR_SET(trkSeg_t,anchors_da,anchors_da.cnt+5);
- DrawArrowHeads(&DYNARR_N(trkSeg_t,anchors_da,anchors_da.cnt-5),pos,90,TRUE,wDrawColorBlue);
+ DYNARR_SET(trkSeg_t, anchors_da, anchors_da.cnt + 5);
+ DrawArrowHeads(&DYNARR_N(trkSeg_t, anchors_da, anchors_da.cnt - 5), pos, 0, TRUE, wDrawColorBlue);
+ DYNARR_SET(trkSeg_t, anchors_da, anchors_da.cnt + 5);
+ DrawArrowHeads(&DYNARR_N(trkSeg_t, anchors_da, anchors_da.cnt - 5), pos, 90, TRUE, wDrawColorBlue);
}
-
+
/**
* Process the mouse events for laying track.
*
* \param action IN event type
- * \param pos IN mouse position
+ * \param pos IN mouse position
* \return next state
*/
EXPORT STATUS_T CmdTurnoutAction(
- wAction_t action,
- coOrd pos )
+ wAction_t action,
+ coOrd pos)
{
ANGLE_T angle;
static BOOL_T validAngle;
@@ -2760,155 +4664,154 @@ EXPORT STATUS_T CmdTurnoutAction(
Dto.state = 0;
Dto.trk = NULL;
Dto.angle = 0.0;
- DYNARR_RESET(trkSeg_t,anchors_da);
+ DYNARR_RESET(trkSeg_t, anchors_da);
+ SetAllTrackSelect(FALSE);
return C_CONTINUE;
case wActionMove:
- DYNARR_RESET(trkSeg_t,anchors_da);
- if (Dto.state && (MyGetKeyState()&WKEY_CTRL)) {
+ DYNARR_RESET(trkSeg_t, anchors_da);
+ if (Dto.state && (MyGetKeyState() & WKEY_CTRL)) {
CreateRotateAnchor(pos);
- } else {
+ }
+ else {
CreateMoveAnchor(pos);
}
return C_CONTINUE;
break;
case C_DOWN:
- DYNARR_RESET(trkSeg_t,anchors_da);
- if ( curTurnout == NULL ) return C_CONTINUE;
- PlaceTurnout( pos, NULL );
+ DYNARR_RESET(trkSeg_t, anchors_da);
+ if (curTurnout == NULL) return C_CONTINUE;
+ PlaceTurnout(pos, NULL);
Dto.state = 1;
- CreateMoveAnchor(pos);
return C_CONTINUE;
case C_MOVE:
- DYNARR_RESET(trkSeg_t,anchors_da);
- if ( curTurnout == NULL ) return C_CONTINUE;
- if ( curTurnoutEp >= (long)curTurnout->endCnt )
+ DYNARR_RESET(trkSeg_t, anchors_da);
+ if (curTurnout == NULL) return C_CONTINUE;
+ if (curTurnoutEp >= (long)curTurnout->endCnt)
curTurnoutEp = 0;
Dto.state = 1;
- PlaceTurnout( pos, Dto.trk );
- CreateMoveAnchor(pos);
+ PlaceTurnout(pos, Dto.trk);
return C_CONTINUE;
case C_UP:
- DYNARR_RESET(trkSeg_t,anchors_da);
- CreateMoveAnchor(pos);
- InfoMessage( _("Left-Drag to place, Ctrl+Left-Drag or Right-Drag to Rotate, Space or Enter to accept, Esc to Cancel") );
+ DYNARR_RESET(trkSeg_t, anchors_da);
+ InfoMessage(_("Left-Drag to place, Ctrl+Left-Drag or Right-Drag to Rotate, Space or Enter to accept, Esc to Cancel"));
return C_CONTINUE;
case C_RDOWN:
- DYNARR_RESET(trkSeg_t,anchors_da);
- if ( curTurnout == NULL ) return C_CONTINUE;
+ DYNARR_RESET(trkSeg_t, anchors_da);
+ if (curTurnout == NULL) return C_CONTINUE;
if (Dto.state == 0) {
Dto.pos = pos; // If first, use pos, otherwise use current
-LOG( log_turnout, 1, ( "RDOWN @ %0.3fx%0.3f\n", Dto.pos.x, Dto.pos.y ) );
+ LOG(log_turnout, 1, ("RDOWN @ %0.3fx%0.3f\n", Dto.pos.x, Dto.pos.y));
}
Dto.rot0 = Dto.rot1 = pos;
- CreateRotateAnchor(pos);
Dto.state = 2;
origPos = Dto.pos;
#ifdef NEWROTATE
origAngle = Dto.angle;
#else
- Rotate( &origPos, Dto.rot0, -(Dto.angle + curTurnout->endPt[(int)curTurnoutEp].angle) );
+ Rotate(&origPos, Dto.rot0, -(Dto.angle + curTurnout->endPt[(int)curTurnoutEp].angle));
#endif
validAngle = FALSE;
return C_CONTINUE;
case C_RMOVE:
- DYNARR_RESET(trkSeg_t,anchors_da);
- if ( curTurnout == NULL ) return C_CONTINUE;
+ DYNARR_RESET(trkSeg_t, anchors_da);
+ if (curTurnout == NULL) return C_CONTINUE;
Dto.rot1 = pos;
- if ( FindDistance(Dto.rot0, Dto.rot1) > 0.1*mainD.scale ) {
- angle = FindAngle( Dto.rot0, Dto.rot1 );
+ if (FindDistance(Dto.rot0, Dto.rot1) > 0.1 * mainD.scale) {
+ angle = FindAngle(Dto.rot0, Dto.rot1);
if (!validAngle) {
baseAngle = angle/* - Dto.angle*/;
validAngle = TRUE;
}
Dto.pos = origPos;
-LOG( log_turnout, 1, ( "RMOVE pre @ %0.3fx%0.3f\n", Dto.pos.x, Dto.pos.y ) );
+ LOG(log_turnout, 1, ("RMOVE pre @ %0.3fx%0.3f\n", Dto.pos.x, Dto.pos.y));
#ifdef NEWROTATE
angle -= baseAngle;
- Dto.angle = NormalizeAngle( origAngle + angle );
+ Dto.angle = NormalizeAngle(origAngle + angle);
#else
angle += 180.0;
Dto.angle = angle - curTurnout->endPt[(int)curTurnoutEp].angle;
#endif
- Rotate( &Dto.pos, Dto.rot0, angle );
-LOG( log_turnout, 1, ( "RMOVE post @ %0.3fx%0.3f\n", Dto.pos.x, Dto.pos.y ) );
+ Rotate(&Dto.pos, Dto.rot0, angle);
+ LOG(log_turnout, 1, ("RMOVE post @ %0.3fx%0.3f\n", Dto.pos.x, Dto.pos.y));
}
- FormatCompoundTitle( listLabels, curTurnout->title );
- InfoMessage( _("Angle = %0.3f (%s)"), PutAngle( NormalizeAngle(Dto.angle + 90.0) ), message );
+ FormatCompoundTitle(listLabels, curTurnout->title);
+ InfoMessage(_("Angle = %0.3f (%s)"), PutAngle(NormalizeAngle(Dto.angle + 90.0)), message);
Dto.state = 2;
- CreateRotateAnchor(Dto.rot0);
return C_CONTINUE;
case C_RUP:
- DYNARR_RESET(trkSeg_t,anchors_da);
- if ( curTurnout == NULL ) return C_CONTINUE;
+ DYNARR_RESET(trkSeg_t, anchors_da);
+ if (curTurnout == NULL) return C_CONTINUE;
Dto.state = 1;
- CreateMoveAnchor(pos);
- InfoMessage( _("Left-Drag to place, Ctrl+Left-Drag or Right-Drag to Rotate, Space or Enter to accept, Esc to Cancel") );
+ InfoMessage(_("Left-Drag to place, Ctrl+Left-Drag or Right-Drag to Rotate, Space or Enter to accept, Esc to Cancel"));
return C_CONTINUE;
case C_LCLICK:
- DYNARR_RESET(trkSeg_t,anchors_da);
- if ( curTurnout == NULL ) return C_CONTINUE;
- if ( MyGetKeyState() & WKEY_SHIFT ) {
+ DYNARR_RESET(trkSeg_t, anchors_da);
+ if (curTurnout == NULL) return C_CONTINUE;
+ if (MyGetKeyState() & WKEY_SHIFT) {
angle = curTurnout->endPt[(int)curTurnoutEp].angle;
curTurnoutEp++;
if (curTurnoutEp >= (long)curTurnout->endCnt)
curTurnoutEp = 0;
if (Dto.trk == NULL)
- Dto.angle = NormalizeAngle( Dto.angle + (angle - curTurnout->endPt[(int)curTurnoutEp].angle ) );
- PlaceTurnout( Dto.place, Dto.trk );
- } else {
- CmdTurnoutAction( C_DOWN, pos );
- CmdTurnoutAction( C_UP, pos );
+ Dto.angle = NormalizeAngle(Dto.angle + (angle - curTurnout->endPt[(int)curTurnoutEp].angle));
+ PlaceTurnout(Dto.place, Dto.trk);
+ }
+ else {
+ CmdTurnoutAction(C_DOWN, pos);
+ CmdTurnoutAction(C_UP, pos);
}
return C_CONTINUE;
case C_REDRAW:
+ wSetCursor(mainD.d, defaultCursor);
if (Dto.state) {
- DrawSegs( &tempD, Dto.pos, Dto.angle,
- curTurnout->segs, curTurnout->segCnt, trackGauge, wDrawColorBlue );
+ DrawSegs(&tempD, Dto.pos, Dto.angle,
+ curTurnout->segs, curTurnout->segCnt, trackGauge, selectedColor);
}
- if (anchors_da.cnt>0) {
- DrawSegs( &tempD, zero, 0.0, &anchors(0), anchors_da.cnt, trackGauge, wDrawColorBlack );
+ if (anchors_da.cnt > 0) {
+ DrawSegs(&tempD, zero, 0.0, &anchors(0), anchors_da.cnt, trackGauge, wDrawColorBlack);
+ wSetCursor(mainD.d, wCursorNone);
}
if (Dto.state == 2)
- DrawLine( &tempD, Dto.rot0, Dto.rot1, 0, wDrawColorBlack );
+ DrawLine(&tempD, Dto.rot0, Dto.rot1, 0, wDrawColorBlue);
return C_CONTINUE;
case C_CANCEL:
- DYNARR_RESET(trkSeg_t,anchors_da);
+ DYNARR_RESET(trkSeg_t, anchors_da);
Dto.state = 0;
Dto.trk = NULL;
/*wHide( newTurn.reg.win );*/
return C_TERMINATE;
case C_TEXT:
- if ((action>>8) != ' ')
+ if ((action >> 8) != ' ')
return C_CONTINUE;
/*no break*/
case C_OK:
- DYNARR_RESET(trkSeg_t,anchors_da);
+ DYNARR_RESET(trkSeg_t, anchors_da);
AddTurnout();
- Dto.state=0;
+ Dto.state = 0;
Dto.trk = NULL;
return C_TERMINATE;
case C_FINISH:
- DYNARR_RESET(trkSeg_t,anchors_da);
+ DYNARR_RESET(trkSeg_t, anchors_da);
if (Dto.state != 0 && Dto.trk != NULL)
- CmdTurnoutAction( C_OK, pos );
+ CmdTurnoutAction(C_OK, pos);
else
- CmdTurnoutAction( C_CANCEL, pos );
+ CmdTurnoutAction(C_CANCEL, pos);
return C_TERMINATE;
case C_CMDMENU:
menuPos = pos;
- wMenuPopupShow( turnoutPopupM );
+ wMenuPopupShow(turnoutPopupM);
return C_CONTINUE;
default:
@@ -2919,83 +4822,84 @@ LOG( log_turnout, 1, ( "RMOVE post @ %0.3fx%0.3f\n", Dto.pos.x, Dto.pos.y ) );
#ifdef TURNOUTCMD
static STATUS_T CmdTurnout(
- wAction_t action,
- coOrd pos )
+ wAction_t action,
+ coOrd pos)
{
wIndex_t turnoutIndex;
- turnoutInfo_t * turnoutPtr;
+ turnoutInfo_t* turnoutPtr;
switch (action & 0xFF) {
case C_START:
if (turnoutW == NULL) {
-/* turnoutW = ParamCreateDialog( &turnoutPG, MakeWindowTitle("Turnout"), "Ok", , (paramActionCancelProc)Reset, TRUE, NULL, F_RESIZE|F_RECALLSIZE, TurnoutDlgUpdate ); */
- turnoutW = ParamCreateDialog( &turnoutPG, MakeWindowTitle(_("Turnout")), _("Close"), (paramActionOkProc)TurnoutOk, wHide, TRUE, NULL, F_RESIZE|F_RECALLSIZE|PD_F_ALT_CANCELLABEL, TurnoutDlgUpdate );
- InitNewTurn( turnoutNewM );
+ /* turnoutW = ParamCreateDialog( &turnoutPG, MakeWindowTitle("Turnout"), "Ok", , (paramActionCancelProc)Reset, TRUE, NULL, F_RESIZE|F_RECALLSIZE, TurnoutDlgUpdate ); */
+ turnoutW = ParamCreateDialog(&turnoutPG, MakeWindowTitle(_("Turnout")), _("Close"), (paramActionOkProc)TurnoutOk, wHide, TRUE, NULL, F_RESIZE | F_RECALLSIZE | PD_F_ALT_CANCELLABEL, TurnoutDlgUpdate);
+ InitNewTurn(turnoutNewM);
}
-/* ParamDialogOkActive( &turnoutPG, FALSE ); */
- turnoutIndex = wListGetIndex( turnoutListL );
+ /* ParamDialogOkActive( &turnoutPG, FALSE ); */
+ turnoutIndex = wListGetIndex(turnoutListL);
turnoutPtr = curTurnout;
- wShow( turnoutW );
- TurnoutChange( CHANGE_PARAMS|CHANGE_SCALE );
+ wShow(turnoutW);
+ TurnoutChange(CHANGE_PARAMS | CHANGE_SCALE);
if (curTurnout == NULL) {
- NoticeMessage2( 0, MSG_TURNOUT_NO_TURNOUT, _("Ok"), NULL );
+ NoticeMessage2(0, MSG_TURNOUT_NO_TURNOUT, _("Ok"), NULL);
return C_TERMINATE;
}
if (turnoutIndex > 0 && turnoutPtr) {
curTurnout = turnoutPtr;
- wListSetIndex( turnoutListL, turnoutIndex );
- RedrawTurnout();
+ wListSetIndex(turnoutListL, turnoutIndex);
+ RedrawTurnout( turnoutD.d, NULL, 0, 0 );
}
- InfoMessage( _("Pick turnout and active End Point, then place on the layout"));
- ParamLoadControls( &turnoutPG );
- ParamGroupRecord( &turnoutPG );
- return CmdTurnoutAction( action, pos );
+ InfoMessage(_("Pick turnout and active End Point, then place on the layout"));
+ ParamLoadControls(&turnoutPG);
+ ParamGroupRecord(&turnoutPG);
+ SetAllTrackSelect(FALSE);
+ return CmdTurnoutAction(action, pos);
case wActionMove:
- return CmdTurnoutAction( action, pos );
+ return CmdTurnoutAction(action, pos);
case C_DOWN:
case C_RDOWN:
- ParamDialogOkActive( &turnoutPG, TRUE );
+ ParamDialogOkActive(&turnoutPG, TRUE);
if (hideTurnoutWindow)
- wHide( turnoutW );
- if (((action&0xFF) == C_DOWN) && (MyGetKeyState()&WKEY_CTRL))
+ wHide(turnoutW);
+ if (((action & 0xFF) == C_DOWN) && (MyGetKeyState() & WKEY_CTRL))
return CmdTurnoutAction(C_RDOWN, pos); //Convert CTRL into Right
/*no break*/
case C_MOVE:
- if (MyGetKeyState()&WKEY_CTRL)
- return CmdTurnoutAction (C_RMOVE, pos);
+ if (MyGetKeyState() & WKEY_CTRL)
+ return CmdTurnoutAction(C_RMOVE, pos);
/*no break*/
case C_RMOVE:
- return CmdTurnoutAction( action, pos );
+ return CmdTurnoutAction(action, pos);
case C_UP:
case C_RUP:
if (hideTurnoutWindow)
- wShow( turnoutW );
+ wShow(turnoutW);
- InfoMessage( _("Left-Drag to place, Ctrl+Left-Drag or Right-Drag to Rotate, Space or Enter to accept, Esc to Cancel") );
- if (((action&0xFF) == C_UP) && (MyGetKeyState()&WKEY_CTRL))
- return CmdTurnoutAction (C_RUP, pos);
- return CmdTurnoutAction( action, pos );
+ InfoMessage(_("Left-Drag to place, Ctrl+Left-Drag or Right-Drag to Rotate, Space or Enter to accept, Esc to Cancel"));
+ if (((action & 0xFF) == C_UP) && (MyGetKeyState() & WKEY_CTRL))
+ return CmdTurnoutAction(C_RUP, pos);
+ return CmdTurnoutAction(action, pos);
case C_LCLICK:
- CmdTurnoutAction( action, pos );
+ CmdTurnoutAction(action, pos);
HilightEndPt();
return C_CONTINUE;
case C_CANCEL:
- wHide( turnoutW );
- return CmdTurnoutAction( action, pos );
+ wHide(turnoutW);
+ return CmdTurnoutAction(action, pos);
case C_TEXT:
- CmdTurnoutAction( action, pos );
+ CmdTurnoutAction(action, pos);
return C_CONTINUE;
case C_OK:
case C_FINISH:
case C_CMDMENU:
case C_REDRAW:
- return CmdTurnoutAction( action, pos );
+ return CmdTurnoutAction(action, pos);
default:
return C_CONTINUE;
@@ -3003,59 +4907,59 @@ static STATUS_T CmdTurnout(
}
#endif
-
+
/**
* Event procedure for the hotbar.
*
* \param op IN requested function
- * \param data IN pointer to info on selected element
+ * \param data IN pointer to info on selected element
* \param d IN
* \param origP IN
- * \return
+ * \return
*/
-static char * CmdTurnoutHotBarProc(
- hotBarProc_e op,
- void * data,
- drawCmd_p d,
- coOrd * origP )
+static char* CmdTurnoutHotBarProc(
+ hotBarProc_e op,
+ void* data,
+ drawCmd_p d,
+ coOrd* origP)
{
- turnoutInfo_t * to = (turnoutInfo_t*)data;
- switch ( op ) {
+ turnoutInfo_t* to = (turnoutInfo_t*)data;
+ switch (op) {
case HB_SELECT: /* new element is selected */
- CmdTurnoutAction( C_FINISH, zero ); /* finish current operation */
+ CmdTurnoutAction(C_FINISH, zero); /* finish current operation */
curTurnout = to;
- DoCommandB( (void*)(intptr_t)turnoutHotBarCmdInx ); /* continue with new turnout / structure */
+ DoCommandB(I2VP(turnoutHotBarCmdInx)); /* continue with new turnout / structure */
return NULL;
case HB_LISTTITLE:
- FormatCompoundTitle( listLabels, to->title );
+ FormatCompoundTitle(listLabels, to->title);
if (message[0] == '\0')
- FormatCompoundTitle( listLabels|LABEL_DESCR, to->title );
+ FormatCompoundTitle(listLabels | LABEL_DESCR, to->title);
return message;
case HB_BARTITLE:
- FormatCompoundTitle( hotBarLabels<<1, to->title );
+ FormatCompoundTitle(hotBarLabels << 1, to->title);
return message;
case HB_FULLTITLE:
return to->title;
case HB_DRAW:
- DrawSegs( d, *origP, 0.0, to->segs, to->segCnt, trackGauge, wDrawColorBlack );
+ DrawSegs(d, *origP, 0.0, to->segs, to->segCnt, trackGauge, wDrawColorBlack);
return NULL;
}
return NULL;
}
-EXPORT void AddHotBarTurnouts( void )
+EXPORT void AddHotBarTurnouts(void)
{
wIndex_t inx;
- turnoutInfo_t * to;
- for ( inx=0; inx < turnoutInfo_da.cnt; inx ++ ) {
+ turnoutInfo_t* to;
+ for (inx = 0; inx < turnoutInfo_da.cnt; inx++) {
to = turnoutInfo(inx);
- if ( !( IsParamValid(to->paramFileIndex) &&
- to->segCnt > 0 &&
- CompatibleScale( TRUE, to->scaleInx, GetLayoutCurScale()) ) )
- continue;
- AddHotBarElement( to->contentsLabel, to->size, to->orig, TRUE, FALSE, to->barScale, to, CmdTurnoutHotBarProc );
+ if (!(IsParamValid(to->paramFileIndex) &&
+ to->segCnt > 0 &&
+ (FIT_NONE != CompatibleScale(FIT_TURNOUT, to->scaleInx, GetLayoutCurScale()))))
+ continue;
+ AddHotBarElement(to->contentsLabel, to->size, to->orig, TRUE, FALSE, to->barScale, to, CmdTurnoutHotBarProc);
}
}
@@ -3068,8 +4972,8 @@ EXPORT void AddHotBarTurnouts( void )
*/
static STATUS_T CmdTurnoutHotBar(
- wAction_t action,
- coOrd pos )
+ wAction_t action,
+ coOrd pos)
{
switch (action & 0xFF) {
@@ -3077,61 +4981,61 @@ static STATUS_T CmdTurnoutHotBar(
case C_START:
//TurnoutChange( CHANGE_PARAMS|CHANGE_SCALE );
if (curTurnout == NULL) {
- NoticeMessage2( 0, MSG_TURNOUT_NO_TURNOUT, _("Ok"), NULL );
+ NoticeMessage2(0, MSG_TURNOUT_NO_TURNOUT, _("Ok"), NULL);
return C_TERMINATE;
}
- FormatCompoundTitle( listLabels|LABEL_DESCR, curTurnout->title );
- InfoMessage( _("Place %s and draw into position"), message );
- wIndex_t listIndex = FindListItemByContext( turnoutListL, curTurnout );
- if ( listIndex > 0 )
- turnoutInx = listIndex;
- ParamLoadControls( &turnoutPG );
- ParamGroupRecord( &turnoutPG );
- return CmdTurnoutAction( action, pos );
+ FormatCompoundTitle(listLabels | LABEL_DESCR, curTurnout->title);
+ InfoMessage(_("Place %s and draw into position"), message);
+ wIndex_t listIndex = FindListItemByContext(turnoutListL, curTurnout);
+ if (listIndex >= 0)
+ turnoutInx = listIndex;
+ ParamLoadControls(&turnoutPG);
+ ParamGroupRecord(&turnoutPG);
+ return CmdTurnoutAction(action, pos);
case wActionMove:
- return CmdTurnoutAction( action, pos );
+ return CmdTurnoutAction(action, pos);
case C_DOWN:
- if (MyGetKeyState()&WKEY_CTRL) {
- return CmdTurnoutAction( C_RDOWN, pos );
+ if (MyGetKeyState() & WKEY_CTRL) {
+ return CmdTurnoutAction(C_RDOWN, pos);
}
/*no break*/
case C_RDOWN:
- return CmdTurnoutAction( action, pos );
+ return CmdTurnoutAction(action, pos);
case C_MOVE:
- if (MyGetKeyState()&WKEY_CTRL) {
- return CmdTurnoutAction( C_RMOVE, pos );
+ if (MyGetKeyState() & WKEY_CTRL) {
+ return CmdTurnoutAction(C_RMOVE, pos);
}
/*no break*/
case C_RMOVE:
- return CmdTurnoutAction( action, pos );
+ return CmdTurnoutAction(action, pos);
case C_UP:
- if (MyGetKeyState()&WKEY_CTRL) {
- return CmdTurnoutAction( C_RUP, pos );
+ if (MyGetKeyState() & WKEY_CTRL) {
+ return CmdTurnoutAction(C_RUP, pos);
}
/*no break*/
case C_RUP:
- InfoMessage( _("Left-Drag to place, Ctrl+Left-Drag or Right-Drag to Rotate, Space or Enter to accept, Esc to Cancel") );
- return CmdTurnoutAction( action, pos );
+ InfoMessage(_("Left-Drag to place, Ctrl+Left-Drag or Right-Drag to Rotate, Space or Enter to accept, Esc to Cancel"));
+ return CmdTurnoutAction(action, pos);
case C_REDRAW:
- return CmdTurnoutAction( action, pos );
+ return CmdTurnoutAction(action, pos);
case C_TEXT:
- if ((action>>8) != ' ')
+ if ((action >> 8) != ' ')
return C_CONTINUE;
/* no break*/
case C_OK:
- CmdTurnoutAction( action, pos );
+ CmdTurnoutAction(action, pos);
return C_CONTINUE;
case C_CANCEL:
HotBarCancel();
/*no break*/
default:
- return CmdTurnoutAction( action, pos );
+ return CmdTurnoutAction(action, pos);
}
}
@@ -3139,96 +5043,96 @@ static STATUS_T CmdTurnoutHotBar(
#include "bitmaps/turnout.xpm"
-EXPORT void InitCmdTurnout( wMenu_p menu )
+EXPORT void InitCmdTurnout(wMenu_p menu)
{
- AddMenuButton( menu, CmdTurnout, "cmdTurnout", _("Predefined Track"), wIconCreatePixMap(turnout_xpm), LEVEL0_50, IC_WANT_MOVE|IC_STICKY|IC_LCLICK|IC_CMDMENU|IC_POPUP2, ACCL_TURNOUT, NULL );
- turnoutHotBarCmdInx = AddMenuButton( menu, CmdTurnoutHotBar, "cmdTurnoutHotBar", "", NULL, LEVEL0_50, IC_WANT_MOVE|IC_STICKY|IC_LCLICK|IC_CMDMENU|IC_POPUP2, 0, NULL );
- RegisterChangeNotification( TurnoutChange );
- ParamRegister( &turnoutPG );
- log_turnout = LogFindIndex( "turnout" );
- log_traverseTurnout = LogFindIndex( "traverseTurnout" );
- log_suppressCheckPaths = LogFindIndex( "suppresscheckpaths" );
- log_splitturnout = LogFindIndex( "splitturnout" );
- if ( turnoutPopupM == NULL ) {
- turnoutPopupM = MenuRegister( "Turnout Rotate" );
- AddRotateMenu( turnoutPopupM, TurnoutRotate );
+ AddMenuButton(menu, CmdTurnout, "cmdTurnout", _("Predefined Track"), wIconCreatePixMap(turnout_xpm[iconSize]), LEVEL0_50, IC_WANT_MOVE | IC_STICKY | IC_LCLICK | IC_CMDMENU | IC_POPUP2, ACCL_TURNOUT, NULL);
+ turnoutHotBarCmdInx = AddMenuButton(menu, CmdTurnoutHotBar, "cmdTurnoutHotBar", "", NULL, LEVEL0_50, IC_WANT_MOVE | IC_STICKY | IC_LCLICK | IC_CMDMENU | IC_POPUP2, 0, NULL);
+ RegisterChangeNotification(TurnoutChange);
+ ParamRegister(&turnoutPG);
+ log_turnout = LogFindIndex("turnout");
+ log_traverseTurnout = LogFindIndex("traverseTurnout");
+ log_suppressCheckPaths = LogFindIndex("suppresscheckpaths");
+ log_splitturnout = LogFindIndex("splitturnout");
+ if (turnoutPopupM == NULL) {
+ turnoutPopupM = MenuRegister("Turnout Rotate");
+ AddRotateMenu(turnoutPopupM, TurnoutRotate);
}
}
#endif
-EXPORT void InitTrkTurnout( void )
+EXPORT void InitTrkTurnout(void)
{
- T_TURNOUT = InitObject( &turnoutCmds );
+ T_TURNOUT = InitObject(&turnoutCmds);
/*InitDebug( "Turnout", &debugTurnout );*/
- AddParam( "TURNOUT ", ReadTurnoutParam);
+ AddParam("TURNOUT ", ReadTurnoutParam);
}
-
+
#ifdef TEST
wDrawable_t turnoutD;
-void wListAddValue( wList_p bl, char * val, wIcon_p, void * listData, void * itemData )
+void wListAddValue(wList_p bl, char* val, wIcon_p, void* listData, void* itemData)
{
}
-void wListClear( wList_p bl )
+void wListClear(wList_p bl)
{
}
-void wDrawSetScale( wDrawable_p d )
+void wDrawSetScale(wDrawable_p d)
{
d->scale = 1.0;
}
-void wDrawClear( wDrawable_p d )
+void wDrawClear(wDrawable_p d)
{
}
-void GetTrkCurveCenter( track_p t, coOrd *pos, DIST_T *radius )
+void GetTrkCurveCenter(track_p t, coOrd* pos, DIST_T* radius)
{
}
#ifdef NOTRACK_C
-track_p NewTrack( wIndex_t index, TRKTYP_T type, EPINX_T endCnt, SIZE_T extraSize )
+track_p NewTrack(wIndex_t index, TRKTYP_T type, EPINX_T endCnt, SIZE_T extraSize)
{
return NULL;
}
-track_p OnTrack( coOrd *pos )
+track_p OnTrack(coOrd* pos)
{
return NULL;
}
-void ErrorMessage( char * msg, ... )
+void ErrorMessage(char* msg, ...)
{
- lprintf( "ERROR : %s\n", msg );
+ lprintf("ERROR : %s\n", msg);
}
-void DeleteTrack( track_p t )
+void DeleteTrack(track_p t)
{
}
-void ConnectTracks( track_p t0, EPINX_T ep0, track_p t1, EPINX_T ep1 )
+void ConnectTracks(track_p t0, EPINX_T ep0, track_p t1, EPINX_T ep1)
{
}
#endif
-main( INT_T argc, char * argv[] )
+main(INT_T argc, char* argv[])
{
- FILE * f;
+ FILE* f;
char line[STR_SIZE];
wIndex_t lineCnt = 0;
/*debugTurnout = 3;*/
- if ((f = fopen("turnout.params", "r" )) == NULL ) {
- Perror( "turnout.params" );
+ if ((f = fopen("turnout.params", "r")) == NULL) {
+ Perror("turnout.params");
Exit(1);
}
- while ( fgets( line, sizeof line, f ) != NULL ) {
+ while (fgets(line, sizeof line, f) != NULL) {
lineCnt++;
- ReadTurnoutParam( &lineCnt );
+ ReadTurnoutParam(&lineCnt);
}
}
#endif
diff --git a/app/bin/cturntbl.c b/app/bin/cturntbl.c
index f15aeff..2ef49d1 100644
--- a/app/bin/cturntbl.c
+++ b/app/bin/cturntbl.c
@@ -20,27 +20,24 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
-#include <string.h>
-
#include "cstraigh.h"
#include "cundo.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
+#include "cselect.h"
+#include "common-ui.h"
static TRKTYP_T T_TURNTABLE = -1;
-struct extraData {
+typedef struct extraDataTurntable_t {
+ extraDataBase_t base;
coOrd pos;
DIST_T radius;
EPINX_T currEp;
BOOL_T reverse;
- };
+ } extraDataTurntable_t;
static DIST_T turntableDiameter = 1.0;
@@ -50,17 +47,17 @@ static paramFloatRange_t r1_100 = { 1.0, 100.0, 100 };
static paramData_t turntablePLs[] = {
#define turntableDiameterPD (turntablePLs[0])
{ PD_FLOAT, &turntableDiameter, "diameter", PDO_DIM|PDO_NOPREF, &r1_100, N_("Diameter") } };
-static paramGroup_t turntablePG = { "turntable", 0, turntablePLs, sizeof turntablePLs/sizeof turntablePLs[0] };
+static paramGroup_t turntablePG = { "turntable", 0, turntablePLs, COUNT( turntablePLs ) };
static BOOL_T ValidateTurntablePosition(
track_p trk )
{
- struct extraData * xx = GetTrkExtraData(trk);
EPINX_T ep, epCnt = GetTrkEndPtCnt(trk);
if ( epCnt <= 0 )
return FALSE;
+ struct extraDataTurntable_t * xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
ep = xx->currEp;
do {
if ( GetTrkEndTrk(trk,ep) ) {
@@ -77,8 +74,8 @@ static BOOL_T ValidateTurntablePosition(
static void ComputeTurntableBoundingBox( track_p trk )
{
- struct extraData *xx = GetTrkExtraData(trk);
coOrd hi, lo;
+ struct extraDataTurntable_t *xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
hi.x = xx->pos.x+xx->radius;
lo.x = xx->pos.x-xx->radius;
hi.y = xx->pos.y+xx->radius;
@@ -89,9 +86,9 @@ static void ComputeTurntableBoundingBox( track_p trk )
static track_p NewTurntable( coOrd p, DIST_T r )
{
track_p t;
- struct extraData *xx;
+ struct extraDataTurntable_t *xx;
t = NewTrack( 0, T_TURNTABLE, 0, sizeof *xx );
- xx = GetTrkExtraData(t);
+ xx = GET_EXTRA_DATA(t, T_TURNTABLE, extraDataTurntable_t);
xx->pos = p;
xx->radius = r;
xx->currEp = 0;
@@ -122,7 +119,7 @@ static track_p NewTurntable( coOrd p, DIST_T r )
static ANGLE_T ConstrainTurntableAngle( track_p trk, coOrd pos )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataTurntable_t *xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
ANGLE_T a, al, ah, aa, aaa;
EPINX_T inx, cnt;
@@ -161,7 +158,7 @@ static ANGLE_T ConstrainTurntableAngle( track_p trk, coOrd pos )
static EPINX_T NewTurntableEndPt( track_p trk, ANGLE_T angle )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataTurntable_t *xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
EPINX_T ep = -1;
/* Reuse an old empty ep if it exists */
for (int i =0;i< GetTrkEndPtCnt(trk)-1;i++) {
@@ -182,14 +179,14 @@ static EPINX_T NewTurntableEndPt( track_p trk, ANGLE_T angle )
static void TurntableGetCenter( track_p trk, coOrd * center, DIST_T * radius)
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataTurntable_t *xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
*center = xx->pos;
*radius = xx->radius;
}
static void DrawTurntable( track_p t, drawCmd_p d, wDrawColor color )
{
- struct extraData *xx = GetTrkExtraData(t);
+ struct extraDataTurntable_t *xx = GET_EXTRA_DATA(t, T_TURNTABLE, extraDataTurntable_t);
coOrd p0, p1;
EPINX_T ep;
long widthOptions = DTS_LEFT|DTS_RIGHT;
@@ -220,7 +217,7 @@ static void DrawTurntable( track_p t, drawCmd_p d, wDrawColor color )
static DIST_T DistanceTurntable( track_p trk, coOrd * p )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataTurntable_t *xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
DIST_T d;
ANGLE_T a;
coOrd pos0, pos1;
@@ -231,7 +228,7 @@ static DIST_T DistanceTurntable( track_p trk, coOrd * p )
Translate( p, xx->pos, a, d+xx->radius );
} else {
if ( !ValidateTurntablePosition(trk) )
- return 100000.0;
+ return DIST_INF;
pos0 = GetTrkEndPos(trk,xx->currEp);
Translate( &pos1, xx->pos, GetTrkEndAngle(trk,xx->currEp)+180.0, xx->radius );
LineDistance( p, pos0, pos1 );
@@ -256,7 +253,7 @@ static descData_t trntblDesc[] = {
static void UpdateTurntable( track_p trk, int inx, descData_p descUpd, BOOL_T final )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataTurntable_t *xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
if ( inx == -1 )
return;
@@ -282,7 +279,7 @@ static void UpdateTurntable( track_p trk, int inx, descData_p descUpd, BOOL_T fi
static void DescribeTurntable( track_p trk, char * str, CSIZE_T len )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataTurntable_t *xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
sprintf( str, _("Turntable(%d): Layer=%d Center=[%s %s] Diameter=%s #EP=%d"),
GetTrkIndex(trk), GetTrkLayer(trk)+1,
FormatDistance(xx->pos.x), FormatDistance(xx->pos.y),
@@ -290,7 +287,11 @@ static void DescribeTurntable( track_p trk, char * str, CSIZE_T len )
trntblData.orig = xx->pos;
trntblData.diameter = xx->radius*2.0;
- trntblData.epCnt = GetTrkEndPtCnt(trk);
+ int j=0;
+ for (int i=0;i<GetTrkEndPtCnt(trk);i++) {
+ if (GetTrkEndTrk(trk,i)) j++; //Only count if track
+ }
+ trntblData.epCnt = j;
trntblData.layerNumber = GetTrkLayer(trk);
trntblDesc[OR].mode =
@@ -307,14 +308,20 @@ static void DeleteTurntable( track_p t )
static BOOL_T WriteTurntable( track_p t, FILE * f )
{
- struct extraData *xx = GetTrkExtraData(t);
+ struct extraDataTurntable_t *xx = GET_EXTRA_DATA(t, T_TURNTABLE, extraDataTurntable_t);
EPINX_T ep;
BOOL_T rc = TRUE;
+ int j = -1, k = 0;
+ for (ep=0; ep<GetTrkEndPtCnt(t); ep++) {
+ if (GetTrkEndTrk(t,ep)) j++;
+ if (ep == xx->currEp) k=j; //Write out the curr->Ep reset to real endPts
+ }
rc &= fprintf(f, "TURNTABLE %d %d 0 0 0 %s %d %0.6f %0.6f 0 %0.6f %d\n",
GetTrkIndex(t), GetTrkLayer(t), GetTrkScaleName(t), GetTrkVisible(t),
- xx->pos.x, xx->pos.y, xx->radius, xx->currEp )>0;
- for (ep=0; ep<GetTrkEndPtCnt(t); ep++)
- rc &= WriteEndPt( f, t, ep );
+ xx->pos.x, xx->pos.y, xx->radius, k )>0;
+ for (ep=0; ep<GetTrkEndPtCnt(t); ep++) {
+ if (GetTrkEndTrk(t,ep)) rc &= WriteEndPt( f, t, ep ); //Only write if there is a track
+ }
rc &= fprintf(f, "\t%s\n", END_SEGS)>0;
return rc;
}
@@ -322,7 +329,7 @@ static BOOL_T WriteTurntable( track_p t, FILE * f )
static BOOL_T ReadTurntable( char * line )
{
track_p trk;
- struct extraData *xx;
+ struct extraDataTurntable_t *xx;
TRKINX_T index;
BOOL_T visible;
DIST_T r;
@@ -343,7 +350,7 @@ static BOOL_T ReadTurntable( char * line )
return FALSE;
trk = NewTrack( index, T_TURNTABLE, 0, sizeof *xx );
SetEndPts( trk, 0 );
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
if ( paramVersion < 3 ) {
SetTrkVisible(trk, visible!=0);
} else {
@@ -354,6 +361,7 @@ static BOOL_T ReadTurntable( char * line )
xx->pos = p;
xx->radius = r;
xx->currEp = currEp;
+ if (xx->currEp > GetTrkEndPtCnt(trk)) xx->currEp = 0;
xx->reverse = 0;
ComputeTurntableBoundingBox( trk );
return TRUE;
@@ -361,7 +369,7 @@ static BOOL_T ReadTurntable( char * line )
static void MoveTurntable( track_p trk, coOrd orig )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataTurntable_t *xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
xx->pos.x += orig.x;
xx->pos.y += orig.y;
ComputeTurntableBoundingBox( trk );
@@ -369,21 +377,21 @@ static void MoveTurntable( track_p trk, coOrd orig )
static void RotateTurntable( track_p trk, coOrd orig, ANGLE_T angle )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataTurntable_t *xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
Rotate( &xx->pos, orig, angle );
ComputeTurntableBoundingBox( trk );
}
static void RescaleTurntable( track_p trk, FLOAT_T ratio )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataTurntable_t *xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
xx->pos.x *= ratio;
xx->pos.y *= ratio;
}
static ANGLE_T GetAngleTurntable( track_p trk, coOrd pos, EPINX_T * ep0, EPINX_T * ep1 )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataTurntable_t *xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
if ( programMode == MODE_DESIGN ) {
return FindAngle( xx->pos, pos );
} else {
@@ -444,12 +452,46 @@ static BOOL_T FindTurntableEndPt(
}
+static EPINX_T FindTurntableNextEndPt(
+ track_p trk,
+ coOrd pos) {
+
+ EPINX_T ep,epfound=-1,epCnt;
+ struct extraDataTurntable_t * xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
+ ANGLE_T a = FindAngle(xx->pos,pos);
+ ANGLE_T foundangle = 370.0;
+ ANGLE_T diff = DifferenceBetweenAngles(GetTrkEndAngle(trk,xx->currEp),a);
+ BOOL_T forward = TRUE;
+ if (diff>90) {
+ forward = FALSE;
+ }
+ if (diff<0 && diff>-90) {
+ forward = FALSE;
+ }
+ ANGLE_T currdiff, angle1;
+ for (ep=0,epCnt=GetTrkEndPtCnt(trk); ep<epCnt; ep++) {
+ if ( (GetTrkEndTrk(trk,ep)) == NULL )
+ continue;
+ angle1 = GetTrkEndAngle(trk,ep);
+ if (forward)
+ currdiff = NormalizeAngle(angle1-a);
+ else
+ currdiff = NormalizeAngle(a-angle1);
+ if (currdiff<foundangle) {
+ foundangle = currdiff;
+ epfound = ep;
+ }
+ }
+ return epfound;
+}
+
+
static BOOL_T CheckTraverseTurntable(
track_p trk,
coOrd pos )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataTurntable_t * xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
ANGLE_T angle;
if ( !ValidateTurntablePosition( trk ) )
@@ -467,7 +509,7 @@ static BOOL_T TraverseTurntable(
DIST_T * distR )
{
track_p trk = trvTrk->trk;
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataTurntable_t * xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
coOrd pos0;
DIST_T dist, dist1;
ANGLE_T angle, angle1;
@@ -522,27 +564,30 @@ static BOOL_T TraverseTurntable(
static BOOL_T EnumerateTurntable( track_p trk )
{
- struct extraData *xx;
+ struct extraDataTurntable_t *xx;
static dynArr_t turntables_da;
#define turntables(N) DYNARR_N( FLOAT_T, turntables_da, N )
- int inx;
+ size_t inx;
char tmp[40];
+ BOOL_T content = FALSE;
if ( trk != NULL ) {
- xx = GetTrkExtraData(trk);
+ content = TRUE;
+ xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
DYNARR_APPEND( FLOAT_T, turntables_da, 10 );
turntables(turntables_da.cnt-1) = xx->radius*2.0;
sprintf( tmp, "Turntable, diameter %s", FormatDistance(turntables(turntables_da.cnt-1)) );
inx = strlen( tmp );
- if ( inx > (int)enumerateMaxDescLen )
- enumerateMaxDescLen = inx;
+ if ( inx > enumerateMaxDescLen )
+ enumerateMaxDescLen = (int)inx;
} else {
for (inx=0; inx<turntables_da.cnt; inx++) {
+ content = TRUE;
sprintf( tmp, "Turntable, diameter %s", FormatDistance(turntables(inx)) );
- EnumerateList( 1, 0.0, tmp );
+ EnumerateList( 1, 0.0, tmp, NULL );
}
DYNARR_RESET( FLOAT_T, turntables_da );
}
- return TRUE;
+ return content;
}
@@ -620,7 +665,7 @@ EXPORT BOOL_T ConnectTurntableTracks(
UndoModify(trk1);
EPINX_T ep = NewTurntableEndPt(trk1,angle);
if (ConnectTracks( trk1, ep, trk2, ep2 )) {
- UndoUndo();
+ UndoUndo(NULL);
return FALSE;
}
return TRUE;
@@ -687,7 +732,7 @@ static BOOL_T MoveEndPtTurntable( track_p *trk, EPINX_T *ep, coOrd pos, DIST_T d
if (!found)
*ep = NewTurntableEndPt(*trk,angle0);
else {
- struct extraData *xx = GetTrkExtraData(*trk);
+ struct extraDataTurntable_t *xx = GET_EXTRA_DATA(*trk, T_TURNTABLE, extraDataTurntable_t);
coOrd pos1;
PointOnCircle( &pos1, xx->pos, xx->radius, angle0 );
SetTrkEndPoint(*trk, *ep, pos1, angle0); //Reuse
@@ -730,15 +775,16 @@ static void FlipTurntable(
coOrd orig,
ANGLE_T angle )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataTurntable_t * xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
FlipPoint( &xx->pos, orig, angle );
ComputeBoundingBox( trk );
}
+BOOL_T debug = 0;
static void DrawTurntablePositionIndicator( track_p trk, wDrawColor color )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataTurntable_t * xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
coOrd pos0, pos1;
ANGLE_T angle;
@@ -748,12 +794,22 @@ static void DrawTurntablePositionIndicator( track_p trk, wDrawColor color )
angle = FindAngle( xx->pos, pos0 );
PointOnCircle( &pos1, xx->pos, xx->radius, angle+180.0 );
DrawLine( &tempD, pos0, pos1, 3, color );
+ if (debug) {
+ if (xx->reverse) {
+
+ Rotate(&pos1,xx->pos, 15);
+ DrawFillCircle( &tempD, pos1, 0.5, color);
+ } else {
+ Rotate(&pos0,xx->pos, 10);
+ DrawFillCircle( &tempD, pos0, 0.5, color);
+ }
+ }
}
static wBool_t CompareTurntable( track_cp trk1, track_cp trk2 )
{
- struct extraData *xx1 = GetTrkExtraData( trk1 );
- struct extraData *xx2 = GetTrkExtraData( trk2 );
+ struct extraDataTurntable_t *xx1 = GET_EXTRA_DATA( trk1, T_TURNTABLE, extraDataTurntable_t );
+ struct extraDataTurntable_t *xx2 = GET_EXTRA_DATA( trk2, T_TURNTABLE, extraDataTurntable_t );
char * cp = message + strlen(message);
REGRESS_CHECK_POS( "Pos", xx1, xx2, pos )
REGRESS_CHECK_DIST( "Radius", xx1, xx2, radius )
@@ -768,31 +824,64 @@ static void AdvanceTurntablePositionIndicator(
coOrd * posR,
ANGLE_T * angleR )
{
- struct extraData * xx = GetTrkExtraData(trk);
+
+ struct extraDataTurntable_t * xx = GET_EXTRA_DATA(trk, T_TURNTABLE, extraDataTurntable_t);
EPINX_T ep;
ANGLE_T angle0, angle1;
- BOOL_T reverse;
-
- angle1 = FindAngle( xx->pos, pos );
- if ( !FindTurntableEndPt( trk, &angle1, &ep, &reverse ) )
- return;
+ BOOL_T reverse=FALSE, train_reversed = FALSE;
+ EPINX_T epCnt=GetTrkEndPtCnt(trk);
+ EPINX_T epbest = -1, epfound = -1;
+ coOrd inpos = *posR;
+ ANGLE_T inangle = *angleR;
angle0 = GetTrkEndAngle(trk,xx->currEp);
- if ( ep == xx->currEp ) {
- Rotate( posR, xx->pos, 180.0 );
- if ( xx->reverse ) {
- angle1 = angle0;
- xx->reverse = FALSE;
+ if (fabs(DifferenceBetweenAngles(angle0,*angleR))>90) train_reversed = TRUE;
+ DIST_T dd = DIST_INF;
+ // If on ep, use that
+ for (ep=0; ep<epCnt; ep++) {
+ if ( (GetTrkEndTrk(trk,ep)) == NULL )
+ continue;
+ coOrd end = GetTrkEndPos(trk,ep);
+ DIST_T d = FindDistance(end,pos);
+ if (d<dd) {
+ dd = d;
+ epbest = ep;
+ }
+ }
+ if (epbest>=0 && IsClose(dd)) {
+ epfound = epbest;
+ }
+ // Else find next track in given direction beyond current
+ if (epfound<0) {
+ epfound = FindTurntableNextEndPt( trk, pos );
+ }
+ if (epfound>=0) {
+ if (xx->currEp == epfound ) {
+ reverse = TRUE;
+ xx->reverse = !xx->reverse;
+ train_reversed = !train_reversed;
} else {
- angle1 = NormalizeAngle( angle0+180.0 );
- xx->reverse = TRUE;
+ //If back end moving, flip result
+ if (fabs(DifferenceBetweenAngles(FindAngle(xx->pos,pos),GetTrkEndAngle(trk,xx->currEp)))>90) {
+ if (epfound>=0 && epfound != xx->currEp) {
+ reverse = TRUE;
+ xx->reverse = !xx->reverse;
+ train_reversed = !train_reversed;
+ }
+ }
}
- } else {
- angle1 = GetTrkEndAngle(trk,ep);
- Rotate( posR, xx->pos, angle1-angle0 );
- xx->reverse = FALSE;
+ xx->currEp = epfound;
+ angle1 = GetTrkEndAngle(trk,xx->currEp);
+ if (!reverse) {
+ *angleR = NormalizeAngle(angle1+(train_reversed?180:0));
+ Translate( posR, xx->pos, *angleR, FindDistance(*posR,xx->pos) );
+ } else {
+ *angleR = NormalizeAngle(angle1+(train_reversed?180:0));
+ Translate(posR, xx->pos, *angleR, FindDistance(*posR,xx->pos) );
+ }
+ coOrd outpos = *posR;
+ if (debug)
+ InfoMessage("AO:%0.3f PO:(%0.3f,%0.3f) AI:%0.3f PI:(%0.3f,%0.3f)",*angleR,outpos.x,outpos.y,inangle,inpos.x,inpos.y);
}
- *angleR = angle1;
- xx->currEp = ep;
}
@@ -856,6 +945,7 @@ static STATUS_T CmdTurntable( wAction_t action, coOrd pos )
controls[1] = NULL;
labels[0] = N_("Diameter");
InfoSubstituteControls( controls, labels );
+ SetAllTrackSelect( FALSE );
/*InfoMessage( "Place Turntable");*/
state = 0;
return C_CONTINUE;
@@ -908,12 +998,12 @@ static STATUS_T CmdTurntable( wAction_t action, coOrd pos )
}
-#include "bitmaps/turntbl.xpm"
+#include "bitmaps/turntable.xpm"
EXPORT void InitCmdTurntable( wMenu_p menu )
{
- AddMenuButton( menu, CmdTurntable, "cmdTurntable", _("Custom Turntable"), wIconCreatePixMap(turntbl_xpm), LEVEL0_50, IC_STICKY|IC_INITNOTSTICKY, ACCL_TURNTABLE, NULL );
+ AddMenuButton( menu, CmdTurntable, "cmdTurntable", _("Custom Turntable"), wIconCreatePixMap(turntable_xpm[iconSize]), LEVEL0_50, IC_STICKY|IC_INITNOTSTICKY, ACCL_TURNTABLE, NULL );
}
diff --git a/app/bin/cundo.c b/app/bin/cundo.c
index 1ed5588..fda012f 100644
--- a/app/bin/cundo.c
+++ b/app/bin/cundo.c
@@ -20,21 +20,63 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdlib.h>
-#include <time.h>
-#include <stdarg.h>
-#include <errno.h>
-#include <string.h>
+/*
+ * Implements Undo/Redo
+ *
+ * Each action/change (New/Modify/Delete) is recorded by UndoNew(), UndoModify(), UndoDelete() within an undo transaction (initiated by UndoStart().
+ *
+ * New tracks are added to the end of the tracklist (headed by to_first).
+ *
+ * Modify/Delete generate an undo record (WriteObject) in undoStream.
+ * Each record contains:
+ * - op (ModifyOp or DeleteOp)
+ * - address for the existing track
+ * - copy of the track
+ * - endpts, extradata, extra-extradata
+ *
+ * Undo pulls records from the undoStream (ReadObject) for the current transation
+ * to recreate modified and deleted tracks.
+ * New tracks are snipped from the tracklist
+ *
+ * Undone records can be copied to redoStream for susequent redo ops
+ *
+ * The undo transactions are stored in a circular buffer (undoStack).
+ * When this buffer wraps around, the old transaction is recycled,
+ * At this point, any DeleteOp records in the old transaction are processed
+ * (DeleteInStream) and the deleted track is Free'd
+ *
+ * The streams are expandable ring buffers.
+ * When the transaction buffer wraps, the unreferenced start of the undoStreams is trimmed.
+ * THe redoStream is purged for every transaction.
+ *
+ *
+ * Note on Delete
+ *
+ * UndoDelete does 2 things:
+ * 1 Marks the track's transaction record with DeleteOp
+ * When the transaction record is recycled, the old track object will be Free'd.
+ * 2 Sets the .delete flag in the track object
+ * For the most part (except dcar.c and cundo.c) IsTrackDeleted() is used in ASSERTs
+ * There are a few cases where we have to deal with deleted track.
+ * In general, we do not need to look inside a deleted track and
+ * GET_EXTRA_DATA will complain if we try (FreeTrack is the exception)
+ */
#include "cselect.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "paths.h"
#include "track.h"
#include "trackx.h"
+#include "draw.h"
#include "cundo.h"
+#include "common-ui.h"
+
+#include <inttypes.h>
+
+#include <stdint.h>
+
+#define SLOG_FMT "0x%.12" PRIxPTR
/*****************************************************************************
@@ -53,10 +95,10 @@ typedef struct {
wIndex_t delCnt;
wIndex_t trackCount;
track_p newTrks;
- long undoStart;
- long undoEnd;
- long redoStart;
- long redoEnd;
+ uintptr_t undoStart;
+ uintptr_t undoEnd;
+ uintptr_t redoStart;
+ uintptr_t redoEnd;
BOOL_T needRedo;
track_p * oldTail;
track_p * newTail;
@@ -76,6 +118,8 @@ static BOOL_T recordUndo = 1;
#define UASSERT( ARG, VAL ) \
if (!(ARG)) return UndoFail( #ARG, VAL, __FILE__, __LINE__ )
+#define UASSERT2( ARG, VAL ) \
+ if (!(ARG)) { UndoFail( #ARG, VAL, __FILE__, __LINE__ ); return; }
#define INC_UNDO_INX( INX ) {\
if (++INX >= UNDO_STACK_SIZE) \
@@ -92,8 +136,8 @@ typedef streamBlocks_t *streamBlocks_p;
typedef struct {
dynArr_t stream_da;
long startBInx;
- long end;
- long curr;
+ uintptr_t end;
+ uintptr_t curr;
} stream_t;
typedef stream_t *stream_p;
static stream_t undoStream;
@@ -118,7 +162,7 @@ static void DumpStream( FILE * outf, stream_p stream, char * name )
{
long binx;
long i, j;
- long off;
+ uintptr_t off;
streamBlocks_p blk;
int zeroCnt;
static char zeros[16] = { 0 };
@@ -132,26 +176,26 @@ static void DumpStream( FILE * outf, stream_p stream, char * name )
zeroCnt++;
} else {
if ( zeroCnt == 2 )
- fprintf( outf, "%6.6lx 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n", off-16 );
+ fprintf( outf, "%6.6lx 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n", (unsigned long)off-16 );
zeroCnt = 0;
}
if ( zeroCnt <= 1 ) {
- fprintf( outf, "%6.6lx ", off );
+ fprintf( outf, SLOG_FMT" ", off );
for ( j=0; j<16; j++ ) {
fprintf( outf, "%2.2x ", (unsigned char)((*blk)[i+j]) );
}
fprintf( outf, "\n" );
} else if ( zeroCnt == 3 ) {
- fprintf( outf, "%6.6lx .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..\n", off );
+ fprintf( outf, SLOG_FMT" .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..\n", off );
}
off += 16;
}
}
if ( zeroCnt > 2 )
- fprintf( outf, "%6.6lx 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n", off-16 );
+ fprintf( outf, SLOG_FMT" 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n", off-16 );
}
-static BOOL_T UndoFail( char * cause, long val, char * fileName, int lineNumber )
+static BOOL_T UndoFail( char * cause, uintptr_t val, char * fileName, int lineNumber )
{
int inx, cnt;
undoStack_p us;
@@ -167,9 +211,10 @@ static BOOL_T UndoFail( char * cause, long val, char * fileName, int lineNumber
return FALSE;
}
time( &clock );
+
fprintf(outf, "\nUndo Assert: %s @ %s:%d (%s)\n", cause, fileName, lineNumber, ctime(&clock) );
- fprintf(outf, "Val = %ld(%lx)\n", val, val );
- fprintf(outf, "to_first=%lx, to_last=%lx\n", (long)to_first, (long)to_last );
+ fprintf(outf, "Val = %lld(" SLOG_FMT ")\n", (long long)val, val );
+ fprintf(outf, "to_first="SLOG_FMT", to_last="SLOG_FMT"\n", (uintptr_t)to_first, (uintptr_t)to_last );
fprintf(outf, "undoHead=%d, doCount=%d, undoCount=%d\n", undoHead, doCount, undoCount );
if (undoHead >= 0 && undoHead < UNDO_STACK_SIZE)
inx=undoHead;
@@ -177,15 +222,15 @@ static BOOL_T UndoFail( char * cause, long val, char * fileName, int lineNumber
inx = 0;
for (cnt=0; cnt<UNDO_STACK_SIZE; cnt++) {
us = &undoStack[inx];
- fprintf( outf, "US[%d]: M:%d N:%d D:%d TC:%d NT:%lx OT:%lx NT:%lx US:%lx UE:%lx RS:%lx RE:%lx NR:%d\n",
+ fprintf( outf, "US[%d]: M:%d N:%d D:%d TC:%d NT:"SLOG_FMT" OT:"SLOG_FMT" NT:"SLOG_FMT" US:"SLOG_FMT" UE:"SLOG_FMT" RS:"SLOG_FMT" RE:"SLOG_FMT" NR:%d\n",
inx, us->modCnt, us->newCnt, us->delCnt, us->trackCount,
- (long)us->newTrks, (long)us->oldTail, (long)us->newTail,
+ (uintptr_t)us->newTrks, (uintptr_t)us->oldTail, (uintptr_t)us->newTail,
us->undoStart, us->undoEnd, us->redoStart, us->redoEnd, us->needRedo );
INC_UNDO_INX(inx);
}
- fprintf( outf, "Undo: SBI:%ld E:%lx C:%lx SC:%d SM:%d\n",
+ fprintf( outf, "Undo: SBI:%ld E:"SLOG_FMT" C:"SLOG_FMT" SC:%d SM:%d\n",
undoStream.startBInx, undoStream.end, undoStream.curr, undoStream.stream_da.cnt, undoStream.stream_da.max );
- fprintf( outf, "Redo: SBI:%ld E:%lx C:%lx SC:%d SM:%d\n",
+ fprintf( outf, "Redo: SBI:%ld E:"SLOG_FMT" C:"SLOG_FMT" SC:%d SM:%d\n",
redoStream.startBInx, redoStream.end, redoStream.curr, redoStream.stream_da.cnt, redoStream.stream_da.max );
DumpStream( outf, &undoStream, "undoStream" );
DumpStream( outf, &redoStream, "redoStream" );
@@ -199,13 +244,13 @@ static BOOL_T UndoFail( char * cause, long val, char * fileName, int lineNumber
BOOL_T ReadStream( stream_t * stream, void * ptr, int size )
{
- long binx, boff, brem;
+ size_t binx, boff, brem;
streamBlocks_p blk;
if ( stream->curr+size > stream->end ) {
- UndoFail( "Overrun on stream", (long)(stream->curr+size), __FILE__, __LINE__ );
+ UndoFail( "Overrun on stream", (uintptr_t)(stream->curr+size), __FILE__, __LINE__ );
return FALSE;
}
-LOG( log_undo, 5, ( "ReadStream( , %lx, %d ) %ld %ld %ld\n", (long)ptr, size, stream->startBInx, stream->curr, stream->end ) )
+LOG( log_undo, 5, ( "ReadStream( , "SLOG_FMT", %d ) %ld %ld %ld\n", (uintptr_t)ptr, size, stream->startBInx, stream->curr, stream->end ) )
binx = stream->curr/BSTREAM_SIZE;
boff = stream->curr%BSTREAM_SIZE;
stream->curr += size;
@@ -231,9 +276,9 @@ LOG( log_undo, 5, ( "ReadStream( , %lx, %d ) %ld %ld %ld\n", (long)ptr, size, st
BOOL_T WriteStream( stream_p stream, void * ptr, int size )
{
- long binx, boff, brem;
+ size_t binx, boff, brem;
streamBlocks_p blk;
-LOG( log_undo, 5, ( "WriteStream( , %lx, %d ) %ld %ld %ld\n", (long)ptr, size, stream->startBInx, stream->curr, stream->end ) )
+LOG( log_undo, 5, ( "WriteStream( , "SLOG_FMT", %d ) %ld "SLOG_FMT" "SLOG_FMT"\n", (uintptr_t)ptr, size, stream->startBInx, stream->curr, stream->end ) )
if (size == 0)
return TRUE;
binx = stream->end/BSTREAM_SIZE;
@@ -254,7 +299,7 @@ LOG( log_undo, 5, ( "WriteStream( , %lx, %d ) %ld %ld %ld\n", (long)ptr, size, s
if (size > brem) {
memcpy( &(*blk)[boff], ptr, (size_t)brem );
ptr = (char*)ptr + brem;
- size -= (size_t)brem;
+ size -= (int)brem;
binx++;
boff = 0;
brem = BSTREAM_SIZE;
@@ -266,15 +311,15 @@ LOG( log_undo, 5, ( "WriteStream( , %lx, %d ) %ld %ld %ld\n", (long)ptr, size, s
return TRUE;
}
-BOOL_T TrimStream( stream_p stream, long off )
+BOOL_T TrimStream( stream_p stream, uintptr_t off )
{
- long binx, cnt, inx;
+ size_t binx, cnt, inx;
streamBlocks_p blk;
-LOG( log_undo, 3, ( "TrimStream( , %ld )\n", off ) )
+LOG( log_undo, 3, ( " TrimStream( , %ld )\n", off ) )
binx = off/BSTREAM_SIZE;
cnt = binx-stream->startBInx;
if (recordUndo)
- Rprintf("Trim(%ld) %ld blocks (out of %d)\n", off, cnt, stream->stream_da.cnt);
+ Rprintf("Trim("SLOG_FMT") %ld blocks (out of %d)\n", off, cnt, stream->stream_da.cnt);
UASSERT( cnt >= 0 && cnt <= stream->stream_da.cnt, cnt );
if (cnt == 0)
return TRUE;
@@ -285,7 +330,7 @@ LOG( log_undo, 3, ( "TrimStream( , %ld )\n", off ) )
for (inx=cnt; inx<stream->stream_da.cnt; inx++ ) {
DYNARR_N( streamBlocks_p, stream->stream_da, inx-cnt ) = DYNARR_N( streamBlocks_p, stream->stream_da, inx );
}
- stream->startBInx = binx;
+ stream->startBInx =(long)binx;
stream->stream_da.cnt -= (wIndex_t)cnt;
UASSERT( stream->stream_da.cnt >= 0, stream->stream_da.cnt );
return TRUE;
@@ -301,13 +346,14 @@ void ClearStream( stream_p stream )
MyFree( blk );
}
stream->stream_da.cnt = 0;
- stream->startBInx = stream->end = stream->curr = 0;
+ stream->startBInx = 0;
+ stream->end = stream->curr = 0;
}
-BOOL_T TruncateStream( stream_p stream, long off )
+BOOL_T TruncateStream( stream_p stream, uintptr_t off )
{
- long binx, boff, cnt, inx;
+ size_t binx, boff, cnt, inx;
streamBlocks_p blk;
LOG( log_undo, 3, ( "TruncateStream( , %ld )\n", off ) )
binx = off/BSTREAM_SIZE;
@@ -317,7 +363,7 @@ LOG( log_undo, 3, ( "TruncateStream( , %ld )\n", off ) )
binx -= stream->startBInx;
cnt = stream->stream_da.cnt-binx;
if (recordUndo)
- Rprintf("Truncate(%ld) %ld blocks (out of %d)\n", off, cnt, stream->stream_da.cnt);
+ Rprintf("Truncate("SLOG_FMT") %ld blocks (out of %d)\n", off, cnt, stream->stream_da.cnt);
UASSERT( cnt >= 0 && cnt <= stream->stream_da.cnt, cnt );
if (cnt == 0)
return TRUE;
@@ -343,7 +389,12 @@ BOOL_T WriteObject( stream_p stream, char op, track_p trk )
!WriteStream( stream, trk->extraData, trk->extraSize ))
return FALSE;
/* Add a copy of the any type specific data before it is tampered with, for example */
- StoreTrackData(trk,&buff,&len);
+ if ( !IsTrackDeleted(trk) ) {
+ StoreTrackData(trk,&buff,&len);
+ } else {
+ len = 0;
+ buff = NULL;
+ }
if (!WriteStream( stream, &len, sizeof len ))
return FALSE;
if (len)
@@ -353,6 +404,13 @@ BOOL_T WriteObject( stream_p stream, char op, track_p trk )
}
+/**
+ * Read an object from a stream
+ *
+ * \param stream
+ * \param needRedo copy current object to redoStream
+ *
+ */
static BOOL_T ReadObject( stream_p stream, BOOL_T needRedo )
{
track_p trk;
@@ -362,12 +420,17 @@ static BOOL_T ReadObject( stream_p stream, BOOL_T needRedo )
return FALSE;
if (!ReadStream( stream, &trk, sizeof trk ))
return FALSE;
+ LOG( log_undo, 4, ( " @ " SLOG_FMT " %s\n", stream->curr-1, op==ModifyOp?"Mod":"Del" ) );
if (needRedo) {
- if (!WriteObject( &redoStream, op, trk ))
+ if (!WriteObject( &redoStream, op, trk )) {
return FALSE;
+ }
}
if (!ReadStream( stream, &tempTrk, sizeof tempTrk ))
return FALSE;
+ if (op == ModifyOp)
+ UASSERT( (op==ModifyOp) && !IsTrackDeleted(&tempTrk), GetTrkIndex(&tempTrk) );
+ // op==DeleteOp doesnot imply that tmpTrk.delete == TRUE: SetDeleteOpInStream
if (tempTrk.endCnt != trk->endCnt)
tempTrk.endPt = MyRealloc( trk->endPt, tempTrk.endCnt * sizeof tempTrk.endPt[0] );
else
@@ -375,7 +438,7 @@ static BOOL_T ReadObject( stream_p stream, BOOL_T needRedo )
if (!ReadStream( stream, tempTrk.endPt, tempTrk.endCnt * sizeof tempTrk.endPt[0] ))
return FALSE;
if (tempTrk.extraSize != trk->extraSize)
- tempTrk.extraData = MyRealloc( trk->extraData, tempTrk.extraSize );
+ tempTrk.extraData = (extraDataBase_t*)MyRealloc( trk->extraData, tempTrk.extraSize );
else
tempTrk.extraData = trk->extraData;
if (!ReadStream( stream, tempTrk.extraData, tempTrk.extraSize ))
@@ -389,24 +452,26 @@ static BOOL_T ReadObject( stream_p stream, BOOL_T needRedo )
tempBuff = MyMalloc(Addsize);
if (!ReadStream( stream, tempBuff, Addsize ))
return FALSE;
- ReplayTrackData(&tempTrk, tempBuff, Addsize);
+ if ( ! IsTrackDeleted(&tempTrk) )
+ ReplayTrackData(&tempTrk, tempBuff, Addsize);
MyFree(tempBuff);
}
- RebuildTrackSegs(&tempTrk); //If we had an array of Segs - recreate it
- if (recordUndo) Rprintf( "Restore T%D(%d) @ %lx\n", trk->index, tempTrk.index, (long)trk );
+ if ( ! IsTrackDeleted(&tempTrk) )
+ RebuildTrackSegs(&tempTrk); //If we had an array of Segs - recreate it
+ if (recordUndo) Rprintf( "Restore T%D(%d) @ "SLOG_FMT"\n", trk->index, tempTrk.index, (uintptr_t)trk );
tempTrk.index = trk->index;
tempTrk.next = trk->next;
if ( (tempTrk.bits&TB_CARATTACHED) != 0 )
needAttachTrains = TRUE;
tempTrk.bits &= ~TB_TEMPBITS;
*trk = tempTrk;
- if (!trk->deleted)
+ if (!IsTrackDeleted(trk))
ClrTrkElev( trk );
return TRUE;
}
-static BOOL_T RedrawInStream( stream_p stream, long start, long end, BOOL_T draw )
+static BOOL_T RedrawInStream( stream_p stream, uintptr_t start, uintptr_t end, BOOL_T draw )
{
char op;
track_p trk;
@@ -422,7 +487,7 @@ static BOOL_T RedrawInStream( stream_p stream, long start, long end, BOOL_T draw
if (!ReadStream( stream, &Addsize, sizeof Addsize ))
return FALSE;
stream->curr += Addsize;
- if (!trk->deleted) {
+ if (!IsTrackDeleted(trk)) {
if (draw)
DrawNewTrack( trk );
else
@@ -433,19 +498,30 @@ static BOOL_T RedrawInStream( stream_p stream, long start, long end, BOOL_T draw
}
-static BOOL_T DeleteInStream( stream_p stream, long start, long end )
+/**
+ * Delete unreferenced objects from stream
+ *
+ * \param stream
+ * \param start
+ * \param end
+ *
+ * The current transaction is being recycled:
+ * unlink and free any deleted objects from the old transaction
+ */
+static BOOL_T DeleteInStream( stream_p stream, uintptr_t start, uintptr_t end )
{
char op;
track_p trk;
track_p *ptrk;
track_t tempTrk;
int delCount = 0;
-LOG( log_undo, 3, ( "DeleteInSteam( , %ld, %ld )\n", start, end ) )
+ LOG( log_undo, 3, ( " DeleteInStream( , "SLOG_FMT", "SLOG_FMT" )\n", start, end ) )
stream->curr = start;
while (stream->curr < end ) {
if (!ReadStream( stream, &op, sizeof op ))
return FALSE;
UASSERT( op == ModifyOp || op == DeleteOp, (long)op );
+ LOG( log_undo, 4, ( " @ " SLOG_FMT " %s\n", stream->curr-1, op==ModifyOp?"Mod":"Del" ) );
if (!ReadStream( stream, &trk, sizeof trk ) ||
!ReadStream( stream, &tempTrk, sizeof tempTrk ))
return FALSE;
@@ -455,8 +531,9 @@ LOG( log_undo, 3, ( "DeleteInSteam( , %ld, %ld )\n", start, end ) )
return FALSE;
stream->curr += Addsize;
if (op == DeleteOp) {
- if (recordUndo) Rprintf( " Free T%D(%d) @ %lx\n", trk->index, tempTrk.index, (long)trk );
- UASSERT( IsTrackDeleted(trk), (long)trk );
+ if (recordUndo) Rprintf( " Free T%D(%d) @ "SLOG_FMT"\n", trk->index, tempTrk.index, (uintptr_t)trk );
+ LOG( log_undo, 3, ( " Free T%d @ "SLOG_FMT"\n", GetTrkIndex(trk), (uintptr_t)trk ) );
+ UASSERT( IsTrackDeleted(trk), GetTrkIndex(trk) );
trk->index = -1;
delCount++;
}
@@ -465,8 +542,9 @@ LOG( log_undo, 3, ( "DeleteInSteam( , %ld, %ld )\n", start, end ) )
if (delCount) {
for (ptrk=&to_first; *ptrk; ) {
if ((*ptrk)->index == -1) {
+ // old track to be discarded: Unlink and Free it
trk = *ptrk;
- UASSERT( IsTrackDeleted(trk), (long)trk );
+ UASSERT( IsTrackDeleted(trk), (uintptr_t)trk );
*ptrk = trk->next;
FreeTrack(trk);
} else {
@@ -479,14 +557,25 @@ LOG( log_undo, 3, ( "DeleteInSteam( , %ld, %ld )\n", start, end ) )
}
-static BOOL_T SetDeleteOpInStream( stream_p stream, long start, long end, track_p trk0 )
+/**
+ * Find undo record for 'trk' and change op from Modify to Delete
+ *
+ * \param stream
+ * \param start
+ * \param end
+ * \param trk
+ *
+ * Note: does not set trk->delete flag
+ */
+static BOOL_T SetDeleteOpInStream( stream_p stream, uintptr_t start, uintptr_t end, track_p trk0 )
{
char op;
track_p trk;
track_t tempTrk;
- long binx, boff;
+ size_t binx, boff;
streamBlocks_p blk;
+ LOG( log_undo, 3, ( " SetDeleteOpInStream T%d @ "SLOG_FMT"\n", GetTrkIndex(trk0), (uintptr_t)trk0) );
stream->curr = start;
while (stream->curr < end) {
binx = stream->curr/BSTREAM_SIZE;
@@ -495,16 +584,19 @@ static BOOL_T SetDeleteOpInStream( stream_p stream, long start, long end, track_
if (!ReadStream( stream, &op, sizeof op ))
return FALSE;
UASSERT( op == ModifyOp || op == DeleteOp, (long)op );
+ LOG( log_undo, 4, ( " @ " SLOG_FMT " %s\n", stream->curr-1, op==ModifyOp?"Mod":"Del" ) );
if (!ReadStream( stream, &trk, sizeof trk ) )
return FALSE;
+ if (!ReadStream( stream, &tempTrk, sizeof tempTrk ))
+ return FALSE;
if (trk == trk0) {
UASSERT( op == ModifyOp, (long)op );
blk = DYNARR_N( streamBlocks_p, stream->stream_da, binx );
memcpy( &(*blk)[boff], &DeleteOp, sizeof DeleteOp );
+ // Should set .delete flag in stream
+ LOG( log_undo, 3, ( " -> Delete\n") );
return TRUE;
}
- if (!ReadStream( stream, &tempTrk, sizeof tempTrk ))
- return FALSE;
stream->curr += tempTrk.extraSize + tempTrk.endCnt*sizeof tempTrk.endPt[0];
long Addsize;
if (!ReadStream( stream, &Addsize, sizeof Addsize))
@@ -560,12 +652,21 @@ static track_p * FindParent( track_p trk, int lineNum )
break;
ptrk = &(*ptrk)->next;
}
- UndoFail( "Cannot find trk on list", (long)trk, "cundo.c", lineNum );
+ UndoFail( "Cannot find trk on list", (uintptr_t)trk, "cundo.c", lineNum );
return NULL;
}
static int undoIgnoreEmpty = 0;
+
+/**
+ * Start an Undo transcation
+ *
+ * \param label help text for balloon help
+ * \param format logging info
+ *
+ *
+ */
void UndoStart(
char * label,
char * format,
@@ -578,22 +679,18 @@ void UndoStart(
int inx;
int usp;
-LOG( log_undo, 1, ( "UndoStart(%s) [%d] d:%d u:%d us:%ld\n", label, undoHead, doCount, undoCount, undoStream.end ) )
+LOG( log_undo, 1, ( "UndoStart[%d] (%s) d:%d u:%d us:"SLOG_FMT"\n", undoHead, label, undoHead, doCount, undoCount, undoStream.end ) )
if (recordUndo) {
va_start( ap, format );
vsprintf( buff, format, ap );
va_end( ap );
- Rprintf( "Start(%s)[%d] d:%d u:%d us:%ld\n", buff, undoHead, doCount, undoCount, undoStream.end );
+ Rprintf( "Start(%s)[%d] d:%d u:%d us:"SLOG_FMT"\n", buff, undoHead, doCount, undoCount, undoStream.end );
}
if ( undoHead >= 0 ) {
us = &undoStack[undoHead];
if ( us->modCnt == 0 && us->delCnt == 0 && us->newCnt == 0 ) {
-#ifndef WINDOWS
-#ifdef DEBUG
- printf( "undoStart noop: %s - %s\n", us->label?us->label:"<>", label?label:"<>" );
-#endif
-#endif
+ LOG( log_undo, 1, ( " noop: %s - %s\n", us->label?us->label:"<>", label?label:"<>" ) );
if ( undoIgnoreEmpty ) {
us->label = label;
return;
@@ -603,8 +700,8 @@ LOG( log_undo, 1, ( "UndoStart(%s) [%d] d:%d u:%d us:%ld\n", label, undoHead, do
INC_UNDO_INX(undoHead);
us = &undoStack[undoHead];
- changed++;
- SetWindowTitle();
+
+ SetFileChanged();
if (doCount == UNDO_STACK_SIZE) {
if (recordUndo) Rprintf( " Wrapped N:%d M:%d D:%d\n", us->newCnt, us->modCnt, us->delCnt );
/* wrapped around stack */
@@ -623,8 +720,9 @@ LOG( log_undo, 1, ( "UndoStart(%s) [%d] d:%d u:%d us:%ld\n", label, undoHead, do
us1 = &undoStack[usp];
if (recordUndo) Rprintf(" U[%d] N:%d\n", usp, us1->newCnt );
for (trk=us1->newTrks; trk; trk=next) {
- if (recordUndo) Rprintf( " Free T%d @ %lx\n", trk->index, (long)trk );
- /*ASSERT( IsTrackDeleted(trk) );*/
+ if (recordUndo) Rprintf( " Free T%d @ "SLOG_FMT"\n", trk->index, (uintptr_t)trk );
+ // trk->delete may not be TRUE, see SetDeleteOpInStream
+ LOG( log_undo, 4, (" Free T%d @ "SLOG_FMT"\n", trk->index, (uintptr_t)trk ) );
next = trk->next;
FreeTrack( trk );
}
@@ -659,6 +757,13 @@ LOG( log_undo, 1, ( "UndoStart(%s) [%d] d:%d u:%d us:%ld\n", label, undoHead, do
}
+/**
+ * Record Modify'd track for Undo
+ * \param trk
+ *
+ * If track has not been previously recorded in these Undo transaction
+ * or is not 'new' write the track to the undoStream which a ModifyOp flag
+ */
BOOL_T UndoModify( track_p trk )
{
undoStack_p us;
@@ -667,15 +772,15 @@ BOOL_T UndoModify( track_p trk )
if (trk == NULL) return TRUE;
UASSERT(undoCount==0, undoCount);
UASSERT(undoHead >= 0, undoHead);
- UASSERT(!IsTrackDeleted(trk), (long)trk);
+ UASSERT(!IsTrackDeleted(trk), GetTrkIndex(trk));
if (trk->modified || trk->new)
return TRUE;
-LOG( log_undo, 2, ( " UndoModify( T%d, E%d, X%ld )\n", trk->index, trk->endCnt, trk->extraSize ) )
+LOG( log_undo, 2, ( " UndoModify( T%d, E%d, X%ld @ "SLOG_FMT"\n", trk->index, trk->endCnt, trk->extraSize, (uintptr_t)trk ) )
if ( (GetTrkBits(trk)&TB_CARATTACHED)!=0 )
needAttachTrains = TRUE;
us = &undoStack[undoHead];
if (recordUndo)
- Rprintf( " MOD T%d @ %lx\n", trk->index, (long)trk );
+ Rprintf( " MOD T%d @ "SLOG_FMT"\n", trk->index, (uintptr_t)trk );
if (!WriteObject( &undoStream, ModifyOp, trk ))
return FALSE;
us->undoEnd = undoStream.end;
@@ -685,32 +790,45 @@ LOG( log_undo, 2, ( " UndoModify( T%d, E%d, X%ld )\n", trk->index, trk->endCn
}
+/**
+ * Record that the track has been deleted
+ *
+ * \param trk
+ *
+ * If the track has been Modified, then update undoStream to change op to DeleteOp
+ * If the track is not New, then write the record to the undoSteam with a DeleteOp
+ * When this undo transaction is recycled, DeleteOp records will unlinked and freed.
+ *
+ * Otherwise, we're deleting a New track: remove it from track list and discard it
+ */
BOOL_T UndoDelete( track_p trk )
{
undoStack_p us;
if ( !undoActive ) return TRUE;
-LOG( log_undo, 2, ( " UndoDelete( T%d, E%d, X%ld )\n", trk->index, trk->endCnt, trk->extraSize ) )
+LOG( log_undo, 2, ( " UndoDelete( T%d, E%d, X%ld @ "SLOG_FMT" )\n", trk->index, trk->endCnt, trk->extraSize, (uintptr_t)trk ) )
if ( (GetTrkBits(trk)&TB_CARATTACHED)!=0 )
needAttachTrains = TRUE;
us = &undoStack[undoHead];
if (recordUndo)
- Rprintf( " DEL T%d @ %lx\n", trk->index, (long)trk );
- UASSERT( !IsTrackDeleted(trk), (long)trk );
+ Rprintf( " DEL T%d @ "SLOG_FMT"\n", trk->index, (uintptr_t)trk );
+ UASSERT( !IsTrackDeleted(trk), trk->index );
if ( trk->modified ) {
if (!SetDeleteOpInStream( &undoStream, us->undoStart, us->undoEnd, trk ))
return FALSE;
} else if ( !trk->new ) {
+ LOG( log_undo, 3, ( " Write DeleteOp object\n" ) );
if (!WriteObject( &undoStream, DeleteOp, trk ))
return FALSE;
us->undoEnd = undoStream.end;
} else {
+ LOG( log_undo, 3, ( " Remove New object\n" ) );
track_p * ptrk;
if (us->newTrks == trk)
us->newTrks = trk->next;
if (!(ptrk = FindParent( trk, __LINE__ )))
return FALSE;
if (trk->next == NULL) {
- UASSERT( to_last == &(*ptrk)->next, (long)&(*ptrk)->next );
+ UASSERT( to_last == &(*ptrk)->next, (uintptr_t)&(*ptrk)->next );
to_last = ptrk;
}
*ptrk = trk->next;
@@ -718,22 +836,30 @@ LOG( log_undo, 2, ( " UndoDelete( T%d, E%d, X%ld )\n", trk->index, trk->endCn
us->newCnt--;
return TRUE;
}
+ ClrTrkBits( trk, TB_SELECTED );
trk->deleted = TRUE;
us->delCnt++;
return TRUE;
}
-
+/**
+ * Record a New track for Undo
+ *
+ * \param trk
+ *
+ * New tracks are added to the end of the Track list
+ * Save the begining of New tracks in this Undo transaction in us->newTrks
+ */
BOOL_T UndoNew( track_p trk )
{
undoStack_p us;
if (!undoActive)
return TRUE;
-LOG( log_undo, 2, ( " UndoNew( T%d )\n", trk->index ) )
+LOG( log_undo, 2, ( " UndoNew( T%d @ "SLOG_FMT")\n", trk->index, (uintptr_t)trk ) )
if (recordUndo)
- Rprintf( " NEW T%d @%lx\n", trk->index, (long)trk );
+ Rprintf( " NEW T%d @"SLOG_FMT"\n", trk->index, (uintptr_t)trk );
UASSERT(undoCount==0, undoCount);
UASSERT(undoHead >= 0, undoHead);
us = &undoStack[undoHead];
@@ -746,6 +872,9 @@ LOG( log_undo, 2, ( " UndoNew( T%d )\n", trk->index ) )
}
+/**
+ * End of a Undo transaction
+ */
void UndoEnd( void )
{
if (recordUndo) Rprintf( "End[%d] d:%d\n", undoHead, doCount );
@@ -758,6 +887,9 @@ void UndoEnd( void )
}
+/**
+ * Reset the Undo state
+ */
void UndoClear( void )
{
int inx;
@@ -775,8 +907,19 @@ LOG( log_undo, 2, ( " UndoClear()\n" ) )
}
-BOOL_T UndoUndo( void )
+EXPORT wBool_t undoStatus = TRUE;
+
+/**
+ * Undo the last transaction
+ *
+ * Move any New tracks from the end of the Track list
+ * Cut the Track list at us->newTrks
+ * Read Modified/Deleted tracks from undoSteam
+ * Cleanup: redraw, update elevs, cars, counts, ...
+ */
+void UndoUndo( void * unused )
{
+ undoStatus = FALSE;
undoStack_p us;
track_p trk;
wIndex_t oldCount;
@@ -784,13 +927,13 @@ BOOL_T UndoUndo( void )
if (doCount <= 0) {
ErrorMessage( MSG_NO_UNDO );
- return FALSE;
+ return;
}
- ConfirmReset( FALSE );
+ int rc = ConfirmReset( FALSE );
wDrawDelayUpdate( mainD.d, TRUE );
us = &undoStack[undoHead];
-LOG( log_undo, 1, ( " undoUndo[%d] d:%d u:%d N:%d M:%d D:%d\n", undoHead, doCount, undoCount, us->newCnt, us->modCnt, us->delCnt ) )
+LOG( log_undo, 1, ( " UndoUndo[%d] d:%d u:%d N:%d M:%d D:%d %s\n", undoHead, doCount, undoCount, us->newCnt, us->modCnt, us->delCnt, us->needRedo?"Redo":"" ) )
if (recordUndo) Rprintf( "Undo[%d] d:%d u:%d N:%d M:%d D:%d\n", undoHead, doCount, undoCount, us->newCnt, us->modCnt, us->delCnt );
//redrawAll = (us->newCnt+us->modCnt) > incrementalDrawLimit;
@@ -803,22 +946,16 @@ LOG( log_undo, 1, ( " undoUndo[%d] d:%d u:%d N:%d M:%d D:%d\n", undoHead, doC
if (us->needRedo)
us->redoStart = us->redoEnd = redoStream.end;
- for (trk=us->newTrks; trk; trk=trk->next ) {
- if (recordUndo) Rprintf(" Deleting New Track T%d @ %lx\n", trk->index, (long)trk );
- UASSERT( !IsTrackDeleted(trk), (long)trk );
- trk->deleted = TRUE;
- }
if (!(us->oldTail=FindParent(us->newTrks,__LINE__)))
- return FALSE;
+ return;
us->newTail = to_last;
to_last = us->oldTail;
*to_last = NULL;
-
needAttachTrains = FALSE;
undoStream.curr = us->undoStart;
while ( undoStream.curr < us->undoEnd ) {
if (!ReadObject( &undoStream, us->needRedo ))
- return FALSE;
+ return;
}
if (us->needRedo)
us->redoEnd = redoStream.end;
@@ -847,12 +984,21 @@ LOG( log_undo, 1, ( " undoUndo[%d] d:%d u:%d N:%d M:%d D:%d\n", undoHead, doC
SetButtons( doCount>0, TRUE );
wBalloonHelpUpdate();
wDrawDelayUpdate( mainD.d, FALSE );
- return TRUE;
+ undoStatus = TRUE;
+ return;
}
-BOOL_T UndoRedo( void )
+/**
+ * Undo and last Undo op
+ *
+ * Attach the New tracks to the end of the Track list
+ * Read Modified/Deleted object from redoStream
+ * Cleanup: redraw, update elevs, cars, counts, ...
+ */
+void UndoRedo( void * unused )
{
+ undoStatus = FALSE;
undoStack_p us;
wIndex_t oldCount;
BOOL_T redrawAll;
@@ -860,14 +1006,14 @@ BOOL_T UndoRedo( void )
if (undoCount <= 0) {
ErrorMessage( MSG_NO_REDO );
- return FALSE;
+ return;
}
- ConfirmReset( FALSE );
+ int rc = ConfirmReset( FALSE );
wDrawDelayUpdate( mainD.d, TRUE );
INC_UNDO_INX( undoHead );
us = &undoStack[undoHead];
-LOG( log_undo, 1, ( " undoRedo[%d] d:%d u:%d N:%d M:%d D:%d\n", undoHead, doCount, undoCount, us->newCnt, us->modCnt, us->delCnt ) )
+LOG( log_undo, 1, ( " UndoRedo[%d] d:%d u:%d N:%d M:%d D:%d\n", undoHead, doCount, undoCount, us->newCnt, us->modCnt, us->delCnt ) )
if (recordUndo) Rprintf( "Redo[%d] d:%d u:%d N:%d M:%d D:%d\n", undoHead, doCount, undoCount, us->newCnt, us->modCnt, us->delCnt );
//redrawAll = (us->newCnt+us->modCnt) > incrementalDrawLimit;
@@ -876,22 +1022,17 @@ LOG( log_undo, 1, ( " undoRedo[%d] d:%d u:%d N:%d M:%d D:%d\n", undoHead, doC
RedrawInStream( &redoStream, us->redoStart, us->redoEnd, FALSE );
}
- for (trk=us->newTrks; trk; trk=trk->next ) {
- if (recordUndo) Rprintf(" Undeleting New Track T%d @ %lx\n", trk->index, (long)trk );
- UASSERT( IsTrackDeleted(trk), (long)trk );
- trk->deleted = FALSE;
- }
- UASSERT( us->newTail != NULL, (long)us->newTail );
+ UASSERT2( us->newTail != NULL, (uintptr_t)us->newTail );
*to_last = us->newTrks;
to_last = us->newTail;
- UASSERT( (*to_last) == NULL, (long)*to_last );
+ UASSERT2( (*to_last) == NULL, (uintptr_t)*to_last );
RenumberTracks();
needAttachTrains = FALSE;
redoStream.curr = us->redoStart;
while ( redoStream.curr < us->redoEnd ) {
if (!ReadObject( &redoStream, FALSE ))
- return FALSE;
+ return;
}
if ( needAttachTrains ) {
@@ -919,7 +1060,8 @@ LOG( log_undo, 1, ( " undoRedo[%d] d:%d u:%d N:%d M:%d D:%d\n", undoHead, doC
SetButtons( TRUE, undoCount>0 );
wBalloonHelpUpdate();
wDrawDelayUpdate( mainD.d, FALSE );
- return TRUE;
+ undoStatus = TRUE;
+ return;
}
diff --git a/app/bin/cundo.h b/app/bin/cundo.h
index 89beab3..4b7fca1 100644
--- a/app/bin/cundo.h
+++ b/app/bin/cundo.h
@@ -24,10 +24,10 @@
#define HAVE_CUNDO_H
#include "common.h"
-#include "track.h"
-int UndoUndo( void );
-int UndoRedo( void );
+extern wBool_t undoStatus; // Status of the last Undo/Redo command
+void UndoUndo( void * unused );
+void UndoRedo( void * unused );
void UndoResume( void );
void UndoSuspend( void );
void UndoStart( char *, char *, ... );
diff --git a/app/bin/custom.c b/app/bin/custom.c
index 68a996b..1ec38e0 100644
--- a/app/bin/custom.c
+++ b/app/bin/custom.c
@@ -1,6 +1,6 @@
#define RENAME_H
/** \file custom.c
- *
+ *
*/
/* XTrkCad - Model Railroad CAD
@@ -21,30 +21,10 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdlib.h>
-#include <stdio.h>
-#ifndef WINDOWS
-#include <unistd.h>
-#include <dirent.h>
-#endif
-#include <math.h>
-#include <ctype.h>
-#include <string.h>
-#include <time.h>
-#ifdef WINDOWS
-#include <io.h>
-#include <windows.h>
-#else
-#include <sys/stat.h>
-#endif
-#include <stdarg.h>
-#include <errno.h>
-
#include "cjoin.h"
#include "common.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
#include "misc.h"
#include "track.h"
#include "version.h"
@@ -81,6 +61,7 @@ char * sSaveFilePattern = NULL;
char * sImageFilePattern = NULL;
char * sImportFilePattern = NULL;
char * sDXFFilePattern = NULL;
+char * sSVGFilePattern = NULL;
char * sRecordFilePattern = NULL;
char * sNoteFilePattern = NULL;
char * sLogFilePattern = NULL;
@@ -91,7 +72,6 @@ int iParamVersion = PARAMVERSION;
int iMinParamVersion = MINPARAMVERSION;
long lParamKey = PARAMKEY;
-extern char *userLocale;
EXPORT char * MakeWindowTitle( char * name )
{
@@ -106,7 +86,7 @@ void InitCmdEasement( void )
{
easementP = EasementInit();
}
-void DoEasementRedir( void )
+void DoEasementRedir( void * unused )
{
if (easementP)
easementP(NULL);
@@ -139,7 +119,7 @@ BOOL_T Initialize( void )
InitTrkStruct();
InitTrkText();
InitTrkDraw();
-
+
InitTrkBlock();
InitTrkSwitchMotor();
InitTrkSignal();
@@ -149,12 +129,12 @@ BOOL_T Initialize( void )
InitCmdNote();
memset( message, 0, sizeof message );
-
+
return TRUE;
}
/**
- * Initialize siome localized strings for filename patterns etc.
+ * Initialize siome localized strings for filename patterns etc.
*/
void InitCustom( void )
@@ -177,9 +157,9 @@ void InitCustom( void )
sprintf(buf, _("All %s Files (*.xtc,*.xtce)|*.xtc;*.xtce|"
"%s Trackplan (*.xtc)|*.xtc|"
"%s Extended Trackplan (*.xtce)|*.xtce|"
- "All Files (*)|*"),
+ "All Files (*)|*"),
+ Product,
Product,
- Product,
Product );
sSourceFilePattern = strdup(buf);
}
@@ -206,6 +186,11 @@ void InitCustom( void )
{
sDXFFilePattern = strdup(_("Data Exchange Format Files (*.dxf)|*.dxf"));
}
+ if (sSVGFilePattern == NULL)
+ {
+ sSVGFilePattern = strdup(_("Scalable Vector Graphics Format Files (*.svg)|*.svg" ));
+ }
+
if (sRecordFilePattern == NULL)
{
sprintf(buf, _("%s Record Files (*.xtr)|*.xtr"), Product);
@@ -259,6 +244,10 @@ void CleanupCustom( void )
free(sDXFFilePattern);
sDXFFilePattern = NULL;
}
+ if (sSVGFilePattern) {
+ free(sSVGFilePattern);
+ sSVGFilePattern = NULL;
+ }
if (sRecordFilePattern)
{
free(sRecordFilePattern);
@@ -279,9 +268,4 @@ void CleanupCustom( void )
free(sPartsListFilePattern);
sPartsListFilePattern = NULL;
}
- if (userLocale)
- {
- free(userLocale);
- userLocale = NULL;
- }
}
diff --git a/app/bin/custom.h b/app/bin/custom.h
index 1c4f7b6..abef217 100644
--- a/app/bin/custom.h
+++ b/app/bin/custom.h
@@ -23,8 +23,7 @@
#ifndef CUSTOM_H
#define CUSTOM_H
-#include "wlib.h"
-#include "misc.h"
+#include "common.h"
#define ICON_WIDTH (64)
#define ICON_HEIGHT (64)
@@ -46,6 +45,7 @@
#define BG_FILE (14)
#define BG_CONTROL (15)
#define BG_EXPORTIMPORT (16)
+#define BG_PRINT (17)
#define BG_BIGGAP (1<<8)
extern int cmdGroup;
@@ -72,6 +72,7 @@ extern char * sSaveFilePattern;
extern char * sImageFilePattern;
extern char * sImportFilePattern;
extern char * sDXFFilePattern;
+extern char * sSVGFilePattern;
extern char * sRecordFilePattern;
extern char * sNoteFilePattern;
extern char * sLogFilePattern;
@@ -140,7 +141,7 @@ void InitCmdNote();
void InitCmdUndo( void );
void InitCmdStruct( wMenu_p menu );
void InitCmdAboveBelow( void );
-void InitCmdEnumerate( void );
+//void InitCmdEnumerate( void );
void InitCmdExport( void );
void InitCmdEasement( void );
@@ -151,7 +152,7 @@ void InitLayers( void );
void InitHotBar( void );
void InitCarDlg( void );
BOOL_T Initialize( void );
-void DoEasementRedir( void );
+void DoEasementRedir( void * unused );
void DoStructDesignerRedir( void );
void InitNewTurnRedir( wMenu_p );
diff --git a/app/bin/dbench.c b/app/bin/dbench.c
index c8d944f..7619fcb 100644
--- a/app/bin/dbench.c
+++ b/app/bin/dbench.c
@@ -20,14 +20,9 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "i18n.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
+#include "common.h"
/*****************************************************************************
*
@@ -125,12 +120,13 @@ static dynArr_t benchType_da;
static void AddBenchTypes(
long type,
- char * key,
- char * defvalue )
+ const char * key,
+ const char * defvalue )
{
benchType_p bt;
- char *value, *cp, *cq;
- value = CAST_AWAY_CONST wPrefGetString( "misc", key );
+ const char *value, *cp;
+ char *cq;
+ value = wPrefGetString( "misc", key );
if ( value == NULL ) {
value = defvalue;
wPrefSetString( "misc", key, value );
@@ -140,14 +136,15 @@ static void AddBenchTypes(
DYNARR_APPEND( benchType_t, benchType_da, 10 );
bt = &benchType(benchType_da.cnt-1);
bt->type = type;
- bt->width = strtol( cq=cp, &cp, 10 );
- bt->height0 = strtol( cq=cp, &cp, 10 );
- bt->height1 = strtol( cq=cp, &cp, 10 );
+ bt->width = strtol( cp, &cq, 10 );
+ bt->height0 = strtol( cp=cq, &cq, 10 );
+ bt->height1 = strtol( cp=cq, &cq, 10 );
if ( cp == cq ) {
NoticeMessage( _("Bad BenchType for %s:\n%s"), _("Continue"), NULL, key, value );
benchType_da.cnt--;
return;
}
+ cp = cq;
}
}
@@ -176,7 +173,7 @@ EXPORT void BenchLoadLists( wList_p choiceL, wList_p orientL )
sprintf( cp, "%ld\"x%ld\"", bt->width, height );
else
sprintf( cp, "%ldmm x %ldmm", height*25, bt->width*25 );
- wListAddValue( choiceL, message, NULL, (void*)benchData );
+ wListAddValue( choiceL, message, NULL, I2VP(benchData) );
}
}
BenchUpdateOrientationList( benchType(0).type<<24, orientL );
@@ -257,15 +254,12 @@ EXPORT void DrawBench(
Translate( &pp[1], p0, a-90, width );
Translate( &pp[2], p1, a-90, width );
Translate( &pp[3], p1, a+90, width );
- DrawPoly( d, 4, pp, NULL, color1, 0, 1, 0);
+ DrawPoly( d, 4, pp, NULL, color1, 0, DRAW_FILL );
/* Draw Outline */
if ( /*color1 != color2 &&*/
( ( d->scale < ((d->options&DC_PRINT)?(twoRailScale*2+1):twoRailScale) ) || /* big enough scale */
- ( d->funcs == &tempSegDrawFuncs ) ) ) { /* DrawFillPoly didn't draw */
- DrawLine( d, pp[0], pp[1], 0, color2 );
- DrawLine( d, pp[1], pp[2], 0, color2 );
- DrawLine( d, pp[2], pp[3], 0, color2 );
- DrawLine( d, pp[3], pp[0], 0, color2 );
+ ( d->funcs == &tempSegDrawFuncs ) ) ) {
+ DrawPoly( d, 4, pp, NULL, color2, 0, DRAW_CLOSED );
if ( color1 != color2 && type != B_RECT ) {
oldOptions = d->options;
if ( type == B_LGRIDER || orient == 1 || orient == 2 ) {
@@ -384,9 +378,9 @@ EXPORT void CountBench(
bp->length = length;
foundBenchEnum:
PrintBenchLine( message, bp );
- iwidth = strlen(message);
- if ( iwidth > enumerateMaxDescLen)
- enumerateMaxDescLen = (int)iwidth;
+ size_t width = strlen(message);
+ if ( width > enumerateMaxDescLen)
+ enumerateMaxDescLen = (int)width;
}
static int Cmp_benchEnum(
@@ -413,7 +407,7 @@ EXPORT void TotalBench( void )
bp = &benchEnum(inx);
if ( bp->length > 0 ) {
PrintBenchLine( title, bp );
- EnumerateList( 1, 0, title );
+ EnumerateList( 1, 0, title, NULL );
bp->length = 0;
}
}
diff --git a/app/bin/dbitmap.c b/app/bin/dbitmap.c
index c45c7d0..62c708e 100644
--- a/app/bin/dbitmap.c
+++ b/app/bin/dbitmap.c
@@ -20,119 +20,226 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <assert.h>
-
#include "custom.h"
+#include "dynstring.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "param.h"
#include "paths.h"
#include "track.h"
+#include "common-ui.h"
+
+#ifdef WIN32
+#ifdef _WIN64
+#define BITMAPDIM 50000
+#define BITMAPSIZE 500e6
+#else
+#define BITMAPDIM 32000
+#define BITMAPSIZE 150e6
+#endif
+#else // Not WIN
+#define BITMAPDIM 50000
+#define BITMAPSIZE 500e6
+#endif // WIN32
+
+/** Option flags for bitmap export */
+#define BITMAPDRAWTITLE 1
+#define BITMAPDRAWFRAMEONLY (1<<1)
+#define BITMAPDRAWCENTERLINE (1<<2)
+#define BITMAPDRAWBACKGROUND (1<<3)
+
+#define POINTSTOINCH 72.0
+#define BITMAPEXPORTFONTSIZE 18
+// line height is 20 percent larger than fontsize and converted to inches
+#define LINEHEIGHT (BITMAPEXPORTFONTSIZE * 1.2 / POINTSTOINCH)
+#define DEFAULTMARGIN 0.2
+#define LEFTMARGIN (DEFAULTMARGIN + 0.3)
+#define BOTTOMMARGIN (DEFAULTMARGIN + LINEHEIGHT)
static long outputBitMapTogglesV = 3;
static double outputBitMapDensity = 10;
static struct wFilSel_t * bitmap_fs;
-static long bitmap_w, bitmap_h;
+static wWinPix_t bitmap_w, bitmap_h;
static drawCmd_t bitmap_d = {
- NULL,
- &screenDrawFuncs,
- 0,
- 16.0,
- 0.0,
- {0.0, 0.0}, {1.0,1.0},
- Pix2CoOrd, CoOrd2Pix };
-
-
-static int SaveBitmapFile(
- int files,
- char **fileName,
- void * data )
+ NULL,
+ &screenDrawFuncs,
+ 0,
+ 16.0,
+ 0.0,
+ {0.0, 0.0}, {1.0, 1.0},
+ Pix2CoOrd, CoOrd2Pix
+};
+
+/**
+ * Show string at given y position centered in x direction
+ *
+ * \param [in] string If non-null, the string.
+ * \param font The font.
+ * \param fontSize Size of the font.
+ * \param yPos The position.
+ */
+
+static void DrawTextCenterXPosY( char *string, wFont_p font, wFontSize_t fontSize,
+ POS_T yPos )
+{
+ coOrd textSize;
+ coOrd p;
+
+ DrawTextSize( &mainD, string, font, fontSize * bitmap_d.scale, FALSE,
+ &textSize );
+ p.x = ( bitmap_d.size.x - textSize.x ) / 2.0 + bitmap_d.orig.x;
+ p.y = mapD.size.y + yPos*bitmap_d.scale;
+ DrawString( &bitmap_d, p, 0.0, string, font, fontSize*bitmap_d.scale,
+ wDrawColorBlack );
+}
+
+/**
+* Draw the product info to the bitmap
+*
+* \param [in] preFix preFix to add to product name
+* \param fontSize Size of the font.
+* \param yPos The position.
+*/
+
+static void
+DrawProductInfo( char *preFix, wFontSize_t fontSize, POS_T yPos )
{
- coOrd p[4];
- FLOAT_T y0, y1;
wFont_p fp, fp_bi;
- wFontSize_t fs;
coOrd textsize, textsize1;
+ coOrd textPos;
+
+ fp = wStandardFont( F_TIMES, FALSE, FALSE );
+ fp_bi = wStandardFont( F_TIMES, TRUE, TRUE );
+ DrawTextSize( &mainD, preFix, fp, fontSize * bitmap_d.scale, FALSE, &textsize );
+ DrawTextSize( &mainD, sProdName, fp_bi, fontSize * bitmap_d.scale, FALSE,
+ &textsize1 );
+ textPos.x = ( bitmap_d.size.x - ( textsize.x + textsize1.x ) ) /
+ 2.0 + bitmap_d.orig.x;
+ textPos.y = -LINEHEIGHT*bitmap_d.scale;
+ DrawString( &bitmap_d, textPos, 0.0, preFix, fp,
+ fontSize * bitmap_d.scale, wDrawColorBlack );
+ textPos.x += textsize.x;
+ DrawString( &bitmap_d, textPos, 0.0, sProdName, fp_bi,
+ fontSize * bitmap_d.scale, wDrawColorBlack );
+}
+
+/**
+ * Saves a bitmap file
+ *
+ * \param files number of files, must be 1
+ * \param [in] fileName name of the file
+ * \param [in,out] data unused
+ *
+ * \returns true on success, false otherwise
+ */
+
+static int SaveBitmapFile(
+ int files,
+ char **fileName,
+ void * data )
+{
+ bool result;
assert( fileName != NULL );
assert( files == 1 );
- SetCurrentPath( BITMAPPATHKEY, fileName[ 0 ] );
+ wSetCursor( mainD.d, wCursorWait );
+ InfoMessage( _( "Drawing tracks to bitmap" ) );
+
+ SetCurrentPath( BITMAPPATHKEY, fileName[ 0 ] );
- bitmap_d.d = wBitMapCreate( (wPos_t)bitmap_w, (wPos_t)bitmap_h, 8 );
- if (bitmap_d.d == (wDraw_p)0) {
- NoticeMessage( MSG_WBITMAP_FAILED, _("Ok"), NULL );
- return FALSE;
- }
- y0 = y1 = 0.0;
- p[0].x = p[3].x = 0.0;
- p[1].x = p[2].x = mapD.size.x;
- p[0].y = p[1].y = 0.0;
- p[2].y = p[3].y = mapD.size.y;
- if ( (outputBitMapTogglesV&2) ) {
- DrawRuler( &bitmap_d, p[0], p[1], 0.0, TRUE, FALSE, wDrawColorBlack );
- DrawRuler( &bitmap_d, p[0], p[3], 0.0, TRUE, TRUE, wDrawColorBlack );
- DrawRuler( &bitmap_d, p[1], p[2], 0.0, FALSE, FALSE, wDrawColorBlack );
- DrawRuler( &bitmap_d, p[3], p[2], 0.0, FALSE, TRUE, wDrawColorBlack );
- y0 = 0.37;
- y1 = 0.2;
- }
- if ( (outputBitMapTogglesV&3) == 1) {
- DrawLine( &bitmap_d, p[0], p[1], 2, wDrawColorBlack );
- DrawLine( &bitmap_d, p[0], p[3], 2, wDrawColorBlack );
- DrawLine( &bitmap_d, p[1], p[2], 2, wDrawColorBlack );
- DrawLine( &bitmap_d, p[3], p[2], 2, wDrawColorBlack );
+ bitmap_d.d = wBitMapCreate( bitmap_w, bitmap_h, 8 );
+
+ if( !bitmap_d.d ) {
+ NoticeMessage( MSG_WBITMAP_FAILED, _( "Ok" ), NULL );
+ return false;
}
- if (outputBitMapTogglesV&1) {
- fp = wStandardFont( F_TIMES, FALSE, FALSE );
- fs = 18;
- DrawTextSize( &mainD, GetLayoutTitle(), fp, fs, FALSE, &textsize );
- p[0].x = (bitmap_d.size.x - (textsize.x*bitmap_d.scale))/2.0 + bitmap_d.orig.x;
- p[0].y = mapD.size.y + (y1+0.30)*bitmap_d.scale;
- DrawString( &bitmap_d, p[0], 0.0, GetLayoutTitle(), fp, fs*bitmap_d.scale, wDrawColorBlack );
- DrawTextSize( &mainD, GetLayoutSubtitle(), fp, fs, FALSE, &textsize );
- p[0].x = (bitmap_d.size.x - (textsize.x*bitmap_d.scale))/2.0 + bitmap_d.orig.x;
- p[0].y = mapD.size.y + (y1+0.05)*bitmap_d.scale;
- DrawString( &bitmap_d, p[0], 0.0, GetLayoutSubtitle(), fp, fs*bitmap_d.scale, wDrawColorBlack );
- fp_bi = wStandardFont( F_TIMES, TRUE, TRUE );
- DrawTextSize( &mainD, _("Drawn with "), fp, fs, FALSE, &textsize );
- DrawTextSize( &mainD, sProdName, fp_bi, fs, FALSE, &textsize1 );
- p[0].x = (bitmap_d.size.x - ((textsize.x+textsize1.x)*bitmap_d.scale))/2.0 + bitmap_d.orig.x;
- p[0].y = -(y0+0.23)*bitmap_d.scale;
- DrawString( &bitmap_d, p[0], 0.0, _("Drawn with "), fp, fs*bitmap_d.scale, wDrawColorBlack );
- p[0].x += (textsize.x*bitmap_d.scale);
- DrawString( &bitmap_d, p[0], 0.0, sProdName, fp_bi, fs*bitmap_d.scale, wDrawColorBlack );
+
+ if( outputBitMapTogglesV & ( BITMAPDRAWFRAMEONLY | BITMAPDRAWTITLE ) ) {
+ coOrd p[4];
+
+ p[0].x = p[3].x = 0.0;
+ p[1].x = p[2].x = mapD.size.x;
+ p[0].y = p[1].y = 0.0;
+ p[2].y = p[3].y = mapD.size.y;
+ DrawPoly( &bitmap_d, 4, p, NULL, wDrawColorBlack, 2, DRAW_CLOSED );
+
+ if( ( outputBitMapTogglesV & BITMAPDRAWFRAMEONLY ) ) {
+ DrawRuler( &bitmap_d, p[0], p[1], 0.0, TRUE, FALSE, wDrawColorBlack );
+ DrawRuler( &bitmap_d, p[0], p[3], 0.0, TRUE, TRUE, wDrawColorBlack );
+ DrawRuler( &bitmap_d, p[1], p[2], 0.0, FALSE, FALSE, wDrawColorBlack );
+ DrawRuler( &bitmap_d, p[3], p[2], 0.0, FALSE, TRUE, wDrawColorBlack );
+ //y0 = 0.37;
+ //y1 = 0.2;
+ }
+
+ if( outputBitMapTogglesV & BITMAPDRAWTITLE ) {
+ wFont_p fp;
+
+ fp = wStandardFont( F_TIMES, FALSE, FALSE );
+ DrawTextCenterXPosY( GetLayoutTitle(), fp, BITMAPEXPORTFONTSIZE,
+ 1.4 * LINEHEIGHT );
+ DrawTextCenterXPosY( GetLayoutSubtitle(), fp, BITMAPEXPORTFONTSIZE,
+ 0.4 * LINEHEIGHT );
+ DrawProductInfo( N_( "Drawn with " ), BITMAPEXPORTFONTSIZE, -LINEHEIGHT );
+ }
}
+
wDrawClip( bitmap_d.d,
- (wPos_t)(-bitmap_d.orig.x/bitmap_d.scale*bitmap_d.dpi),
- (wPos_t)(-bitmap_d.orig.y/bitmap_d.scale*bitmap_d.dpi),
- (wPos_t)(mapD.size.x/bitmap_d.scale*bitmap_d.dpi),
- (wPos_t)(mapD.size.y/bitmap_d.scale*bitmap_d.dpi) );
- wSetCursor( mainD.d, wCursorWait );
- InfoMessage( _("Drawing tracks to BitMap") );
+ ( wWinPix_t )( -bitmap_d.orig.x/bitmap_d.scale*bitmap_d.dpi ),
+ ( wWinPix_t )( -bitmap_d.orig.y/bitmap_d.scale*bitmap_d.dpi ),
+ ( wWinPix_t )( mapD.size.x/bitmap_d.scale*bitmap_d.dpi ),
+ ( wWinPix_t )( mapD.size.y/bitmap_d.scale*bitmap_d.dpi ) );
+
DrawSnapGrid( &bitmap_d, mapD.size, TRUE );
- if ( (outputBitMapTogglesV&4) )
+
+ if( outputBitMapTogglesV & BITMAPDRAWBACKGROUND &&
+ GetLayoutBackGroundScreen() < 100.0 ) {
+ wWinPix_t bitmapPosX;
+ wWinPix_t bitmapPosY;
+ wWinPix_t bitmapWidth;
+
+ TranslateBackground( &bitmap_d,
+ bitmap_d.orig.x,
+ bitmap_d.orig.y,
+ &bitmapPosX,
+ &bitmapPosY,
+ &bitmapWidth );
+ wDrawCloneBackground( mainD.d, bitmap_d.d );
+
+ wDrawShowBackground( bitmap_d.d,
+ bitmapPosX,
+ bitmapPosY,
+ bitmapWidth,
+ GetLayoutBackGroundAngle(),
+ GetLayoutBackGroundScreen() );
+ }
+
+ if( outputBitMapTogglesV & BITMAPDRAWCENTERLINE ) {
bitmap_d.options |= DC_CENTERLINE;
- else
+ } else {
bitmap_d.options &= ~DC_CENTERLINE;
+ }
+
DrawTracks( &bitmap_d, bitmap_d.scale, bitmap_d.orig, bitmap_d.size );
- InfoMessage( _("Writing BitMap to file") );
- if ( wBitMapWriteFile( bitmap_d.d, fileName[0] ) == FALSE ) {
- NoticeMessage( MSG_WBITMAP_FAILED, _("Ok"), NULL );
- return FALSE;
+
+ InfoMessage( _( "Writing bitmap to file" ) );
+
+ if( !wBitMapWriteFile( bitmap_d.d, fileName[0] ) ) {
+ NoticeMessage( MSG_WBITMAP_FAILED, _( "Ok" ), NULL );
+ result = false;
+ } else {
+ InfoMessage( "" );
+ result = true;
}
- InfoMessage( "" );
+
wSetCursor( mainD.d, defaultCursor );
wBitMapDelete( bitmap_d.d );
- return TRUE;
+ return result;
}
-
-
/*******************************************************************************
*
* Output BitMap Dialog
@@ -141,112 +248,258 @@ static int SaveBitmapFile(
static wWin_p outputBitMapW;
-static char *bitmapTogglesLabels[] = { N_("Print Titles"), N_("Print Borders"),
- N_("Print Centerline"), NULL };
-static paramFloatRange_t r0o1_100 = { 0.1, 100.0, 60 };
+static char *bitmapTogglesLabels[] = { N_( "Layout Titles" ),
+ N_( "Borders" ),
+ N_( "Centerline of Track" ),
+ N_( "Background Image" ),
+ NULL
+ };
+static paramFloatRange_t dpiRange = { 0.1, 100.0, 60 };
static paramData_t outputBitMapPLs[] = {
#define I_TOGGLES (0)
- { PD_TOGGLE, &outputBitMapTogglesV, "toggles", 0, bitmapTogglesLabels },
+ { PD_TOGGLE, &outputBitMapTogglesV, "toggles", PDO_NOPSHUPD, bitmapTogglesLabels, N_( "Include " ) },
#define I_DENSITY (1)
- { PD_FLOAT, &outputBitMapDensity, "density", PDO_DLGRESETMARGIN, &r0o1_100, N_(" dpi") },
-#define I_MSG1 (2)
- { PD_MESSAGE, N_("Bitmap : 99999 by 99999 pixels"), NULL, PDO_DLGRESETMARGIN|PDO_DLGUNDERCMDBUTT|PDO_DLGWIDE, (void*)180 },
-#define I_MSG2 (3)
- { PD_MESSAGE, N_("Approximate file size: 999.9Mb"), NULL, PDO_DLGUNDERCMDBUTT, (void*)180 } };
+ { PD_FLOAT, &outputBitMapDensity, "density", PDO_NOPSHUPD, &dpiRange, N_( "Resolution " ) },
+ { PD_MESSAGE, N_( "dpi" ), NULL, PDO_DLGHORZ },
+ { PD_MESSAGE, N_( "Bitmap Size " ), NULL, PDO_NOPSHUPD | PDO_DLGRESETMARGIN, 0 },
+#define I_MSG1 (4)
+ { PD_MESSAGE, N_( "99999 by 99999 pixels" ), NULL, PDO_DLGHORZ | PDO_DLGUNDERCMDBUTT /* | PDO_DLGWIDE */, I2VP( 180 )},
+ { PD_MESSAGE, N_( "Approximate File Size " ), NULL, PDO_NOPSHUPD, 0 },
+#define I_MSG2 (6)
+ { PD_MESSAGE, N_( "999.9Mb" ), NULL, PDO_DLGHORZ | PDO_DLGUNDERCMDBUTT | PDO_DLGBOXEND, I2VP( 180 ) },
+};
-static paramGroup_t outputBitMapPG = { "outputbitmap", 0, outputBitMapPLs, sizeof outputBitMapPLs/sizeof outputBitMapPLs[0] };
+static paramGroup_t outputBitMapPG = { "outputbitmap", 0, outputBitMapPLs, COUNT( outputBitMapPLs ) };
+/**
+ * The upper limit for the dpi setting is calculated. The limit is set
+ * to make sute that the number of pixels in any direction is below the
+ * maximum value.
+ *
+ * \param [in] size The size of the layout
+ * \param [in] marginX The total size of margins in X direction
+ * \param [in] marginY The total size of margins in Y direction
+ *
+ * \returns the maximum allowed dpi value
+ */
-static void OutputBitMapComputeSize( void )
+static double CalculateMaxDPI( coOrd size, POS_T marginX, POS_T marginY )
{
- FLOAT_T Lborder=0.0, Rborder=0.0, Tborder=0.0, Bborder=0.0;
- FLOAT_T size;
+ POS_T maxSize;
+ POS_T maxMargin;
+ double maxDpi;
+
+ if( size.x > size.y ) {
+ maxMargin = marginX;
+ maxSize = size.x;
+ } else {
+ maxMargin = marginY;
+ maxSize = size.y;
+ }
+
+ maxDpi = ( BITMAPDIM - maxMargin * mainD.dpi ) / maxSize;
+ return( floor( maxDpi ) );
+}
+
+/**
+ * Display the pixel size of the bitmap
+ */
+
+static void
+OutputBitmapPixelSize( void )
+{
+ DynString message;
+ DynStringMalloc( &message, 16 );
+ ParamLoadData( &outputBitMapPG );
+
+ DynStringPrintf( &message, _( "%ld by %ld pixels" ), bitmap_w, bitmap_h );
+ ParamLoadMessage( &outputBitMapPG, I_MSG1, DynStringToCStr( &message ) );
+ DynStringFree( &message );
+}
+/**
+* Display and return the file size of the bitmap
+*
+* \returns the estimated file size
+*/
+
+static FLOAT_T
+OutputBitmapFileSize( void )
+{
+ DynString message;
+ DynStringMalloc( &message, 16 );
ParamLoadData( &outputBitMapPG );
+ FLOAT_T size;
+
+ size = ( FLOAT_T )bitmap_w * bitmap_h;
+
+ if( size < 1e4 ) {
+ DynStringPrintf( &message, _( "%0.0f" ), size );
+ } else if( size < 1e6 ) {
+ DynStringPrintf( &message, _( "%0.1fKb" ), ( size + 50.0 ) / 1e3 );
+ } else if( size < 1e9 ) {
+ DynStringPrintf( &message, _( "%0.1fMb" ), ( size + 5e4 ) / 1e6 );
+ } else {
+ DynStringPrintf( &message, _( "%0.1fGb" ), ( size + 5e7 ) / 1e9 );
+ }
+
+ ParamLoadMessage( &outputBitMapPG, I_MSG2, DynStringToCStr( &message ) );
+
+ DynStringFree( &message );
+
+ return( size );
+}
+
+/**
+ * Compute pixel size of bitmap
+ */
+
+static void ComputeBitmapSize( void )
+{
+ FLOAT_T Lborder=0.0, Rborder=0.0, Tborder=0.0, Bborder=0.0;
+
bitmap_d.dpi = mainD.dpi;
- bitmap_d.scale = mainD.dpi/outputBitMapDensity;
+ bitmap_d.scale = mainD.dpi / outputBitMapDensity;
- if (outputBitMapTogglesV&2) {
- Lborder = 0.37;
- Rborder = 0.2;
- Tborder = 0.2;
- Bborder = 0.37;
+ if( outputBitMapTogglesV & ( BITMAPDRAWFRAMEONLY | BITMAPDRAWTITLE ) ) {
+ Lborder = LEFTMARGIN;
+ Rborder = DEFAULTMARGIN;
+ Tborder = DEFAULTMARGIN;
+ Bborder = BOTTOMMARGIN;
}
- if (outputBitMapTogglesV&1) {
- Tborder += 0.60;
- Bborder += 0.28;
+
+ if( outputBitMapTogglesV & BITMAPDRAWTITLE ) {
+ Tborder += 2 * LINEHEIGHT;
+ Bborder += LINEHEIGHT;
}
- bitmap_d.orig.x = 0.0-Lborder*bitmap_d.scale;
- bitmap_d.size.x = mapD.size.x + (Lborder+Rborder)*bitmap_d.scale;
- bitmap_d.orig.y = 0.0-Bborder*bitmap_d.scale;
- bitmap_d.size.y = mapD.size.y + (Bborder+Tborder)*bitmap_d.scale;
- bitmap_w = (long)(bitmap_d.size.x/bitmap_d.scale*bitmap_d.dpi)/*+1*/;
- bitmap_h = (long)(bitmap_d.size.y/bitmap_d.scale*bitmap_d.dpi)/*+1*/;
- sprintf( message, _("Bitmap : %ld by %ld pixels"), bitmap_w, bitmap_h );
- ParamLoadMessage( &outputBitMapPG, I_MSG1, message );
- size = bitmap_w * bitmap_h;
- if ( size < 1e4 )
- sprintf( message, _("Approximate file size : %0.0f"), size );
- else if ( size < 1e6 )
- sprintf( message, _("Approximate file size : %0.1fKb"), (size+50.0)/1e3 );
- else
- sprintf( message, _("Approximate file size : %0.1fMb"), (size+5e4)/1e6 );
- ParamLoadMessage( &outputBitMapPG, I_MSG2, message );
+
+ dpiRange.high = CalculateMaxDPI( mapD.size, Lborder + Rborder,
+ Bborder + Tborder );
+
+ bitmap_d.orig.x = -Lborder*bitmap_d.scale;
+ bitmap_d.size.x = mapD.size.x + ( Lborder + Rborder )*bitmap_d.scale;
+ bitmap_d.orig.y = -Bborder*bitmap_d.scale;
+ bitmap_d.size.y = mapD.size.y + ( Bborder + Tborder )*bitmap_d.scale;
+
+ bitmap_w = ( wWinPix_t )( bitmap_d.size.x / bitmap_d.scale*bitmap_d.dpi );
+ bitmap_h = ( wWinPix_t )( bitmap_d.size.y / bitmap_d.scale*bitmap_d.dpi );
}
+/**
+ * Update the dialog for changed bitmap settings. Based on the new dimensions
+ * selected options the bitmap size and and maximum density is calculated and
+ * displayed.
+ */
-static void OutputBitMapOk( void * junk )
+void
+UpdateBitmapDialog( void )
{
- FLOAT_T size;
- if (bitmap_w>32000 || bitmap_h>32000) {
- NoticeMessage( MSG_BITMAP_TOO_LARGE, _("Ok"), NULL );
- return;
+ ParamLoadData( &outputBitMapPG );
+
+ ComputeBitmapSize();
+ ParamLoadControl( &outputBitMapPG, I_DENSITY ); // trigger range check
+
+ if( outputBitMapDensity > dpiRange.high ) {
+ ParamDialogOkActive( &outputBitMapPG, false );
+ } else {
+ ParamDialogOkActive( &outputBitMapPG, true );
}
- size = bitmap_w * bitmap_h;
- if (size >= 1000000) {
- if (NoticeMessage(MSG_BITMAP_SIZE_WARNING, _("Yes"), _("Cancel") )==0)
+
+ OutputBitmapPixelSize();
+ OutputBitmapFileSize();
+}
+
+/**
+ * Check input from bitmap options dialog and trigger file name selection
+ *
+ * \param [in,out] junk If non-null, the junk.
+ */
+
+static void OutputBitMapOk( void * unused )
+{
+ FLOAT_T size;
+
+ size = OutputBitmapFileSize();
+
+ if( size > BITMAPSIZE ) {
+ if( NoticeMessage( MSG_BITMAP_SIZE_WARNING, _( "Continue" ),
+ _( "Cancel" ) )==0 ) {
return;
+ }
}
+
wHide( outputBitMapW );
- if (bitmap_fs == NULL)
- bitmap_fs = wFilSelCreate( mainW, FS_SAVE, 0, _("Save Bitmap"),
-//#ifdef WINDOWS
-// _("Bitmap files (*.bmp)|*.bmp"),
-//#else
- _("Bitmap files (*.png)|*.png"),
-//#endif
- SaveBitmapFile, NULL );
- wFilSelect( bitmap_fs, GetCurrentPath( BITMAPPATHKEY ));
-}
+ if( !bitmap_fs ) {
+ bitmap_fs = wFilSelCreate( mainW, FS_SAVE, 0, _( "Save Bitmap" ),
+ _( "Portable Network Graphics format (*.png)|*.png|" \
+ "JPEG format (*.jpg)|*.jpg" ),
+ SaveBitmapFile, NULL );
+ }
+ wFilSelect( bitmap_fs, GetCurrentPath( BITMAPPATHKEY ) );
+}
+
+/**
+ * Handle changes for bitmap export. Only changes relevant here are
+ * changes to the map.
+ *
+ * \param changes The changes.
+ */
static void OutputBitMapChange( long changes )
{
- if ((changes&(CHANGE_UNITS|CHANGE_MAP))==0 || outputBitMapW==NULL)
- return;
- wControlSetLabel( outputBitMapPLs[I_DENSITY].control, units==UNITS_METRIC?"dpcm":"dpi" );
- ParamLoadControls( &outputBitMapPG );
- OutputBitMapComputeSize();
+ if( ( changes & CHANGE_MAP ) && outputBitMapW ) {
+ ParamLoadControls( &outputBitMapPG );
+ ComputeBitmapSize();
+ }
+
+ return;
}
+/**
+ * Executes the output bit map operation
+ *
+ * \param [in,out] unused.
+ */
-static void DoOutputBitMap( void * junk )
+static void DoOutputBitMap( void* unused )
{
- if (outputBitMapW == NULL) {
- outputBitMapW = ParamCreateDialog( &outputBitMapPG, MakeWindowTitle(_("BitMap")), _("Ok"), OutputBitMapOk, wHide, TRUE, NULL, 0, (paramChangeProc)OutputBitMapComputeSize );
+ if( outputBitMapW == NULL ) {
+ outputBitMapW = ParamCreateDialog( &outputBitMapPG,
+ MakeWindowTitle( _( "Export to bitmap" ) ),
+ _( "Ok" ),
+ OutputBitMapOk,
+ wHide,
+ TRUE,
+ NULL,
+ 0,
+ ( paramChangeProc )UpdateBitmapDialog );
}
+
ParamLoadControls( &outputBitMapPG );
ParamGroupRecord( &outputBitMapPG );
- OutputBitMapComputeSize();
+
+ UpdateBitmapDialog();
+
+ if( dpiRange.high < outputBitMapDensity ) {
+ outputBitMapDensity = dpiRange.high;
+ ParamLoadControl( &outputBitMapPG, I_DENSITY );
+ }
+
wShow( outputBitMapW );
}
+/**
+ * Initialize bitmap output
+ *
+ * \returns entry point for bitmap export
+ */
EXPORT addButtonCallBack_t OutputBitMapInit( void )
{
ParamRegister( &outputBitMapPG );
- RegisterChangeNotification(OutputBitMapChange);
+ RegisterChangeNotification( OutputBitMapChange );
return &DoOutputBitMap;
}
diff --git a/app/bin/dcar.c b/app/bin/dcar.c
index e067e2b..5607738 100644
--- a/app/bin/dcar.c
+++ b/app/bin/dcar.c
@@ -20,26 +20,16 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#ifndef WINDOWS
-#include <errno.h>
-#endif
-#include <assert.h>
-#include <ctype.h>
-#include <math.h>
-#include <stdint.h>
-#include <string.h>
-
#include "cselect.h"
#include "ctrain.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "param.h"
#include "paths.h"
#include "track.h"
-#include "utility.h"
+#include "include/paramfile.h"
+#include "common-ui.h"
static int log_carList;
static int log_carInvList;
@@ -47,6 +37,7 @@ static int log_carDlgState;
static int log_carDlgList;
static paramFloatRange_t r0_99999 = { 0, 99999, 80 };
+static paramFloatRange_t r0d001_99999 = { 0.001, 99999, 80 };
static paramFloatRange_t r9999_9999 = {-99999, 99999, 80};
static paramIntegerRange_t i1_999999999 = { 1, 999999999, 80, PDO_NORANGECHECK_HIGH };
static paramIntegerRange_t i1_9999 = { 1, 9999, 50 };
@@ -144,10 +135,10 @@ static void TabStringExtract(
if ( next )
next = strchr( string, '\t' );
if ( next ) {
- tabs[inx].len = next-string;
+ tabs[inx].len = (int)(next-string);
string = next+1;
} else {
- tabs[inx].len = strlen( string );
+ tabs[inx].len = (int)strlen( string );
string += tabs[inx].len;
}
}
@@ -183,8 +174,8 @@ static int TabStringCmp(
char * src,
tabString_t * tab )
{
- int srclen = strlen(src);
- int len = srclen;
+ size_t srclen = strlen(src);
+ size_t len = srclen;
int rc;
if ( len > tab->len )
len = tab->len;
@@ -284,7 +275,7 @@ static void * LookupListElem(
DYNARR_APPEND( void*, *da, 10 );
for ( mid=da->cnt-1; mid>lo; mid-- )
DYNARR_N(void*,*da,mid) = DYNARR_N(void*,*da,mid-1);
- DYNARR_N(void*,*da,lo) = (void*)MyMalloc(elem_size);
+ DYNARR_N(void*,*da,lo) = MyMalloc(elem_size);
memset( DYNARR_N(void*,*da,lo), 0, elem_size );
lookupListIndex = lo;
return DYNARR_N(void*,*da,lo);
@@ -382,28 +373,28 @@ static void CarProtoDrawTruck(
wDrawColor color = wDrawColorBlack;
memcpy( p, truckOutline, sizeof truckOutline );
- RescalePts( sizeof truckOutline/sizeof truckOutline[0], p, 1.0, width/56.5 );
- RescalePts( sizeof truckOutline/sizeof truckOutline[0], p, ratio, ratio );
- RotatePts( sizeof truckOutline/sizeof truckOutline[0], p, zero, angle );
- MovePts( sizeof truckOutline/sizeof truckOutline[0], p, pos );
- DrawPoly( d, sizeof truckOutline/sizeof truckOutline[0], p, NULL, color, 0, 1, 0);
+ RescalePts( COUNT( truckOutline ), p, 1.0, width/56.5 );
+ RescalePts( COUNT( truckOutline ), p, ratio, ratio );
+ RotatePts( COUNT( truckOutline ), p, zero, angle );
+ MovePts( COUNT( truckOutline ), p, pos );
+ DrawPoly( d, COUNT( truckOutline ), p, NULL, color, 0, DRAW_FILL);
pp.x = -70/2;
pp.y = 0;
memcpy( p, wheelOutline, sizeof wheelOutline );
- RescalePts( sizeof wheelOutline/sizeof wheelOutline[0], p, 1.0, width/56.5 );
- MovePts( sizeof wheelOutline/sizeof wheelOutline[0], p, pp );
- RescalePts( sizeof wheelOutline/sizeof wheelOutline[0], p, ratio, ratio );
- RotatePts( sizeof wheelOutline/sizeof wheelOutline[0], p, zero, angle );
- MovePts( sizeof wheelOutline/sizeof wheelOutline[0], p, pos );
- DrawPoly( d, sizeof wheelOutline/sizeof wheelOutline[0], p, NULL, color, 0, 1, 0);
+ RescalePts( COUNT( wheelOutline ), p, 1.0, width/56.5 );
+ MovePts( COUNT( wheelOutline ), p, pp );
+ RescalePts( COUNT( wheelOutline ), p, ratio, ratio );
+ RotatePts( COUNT( wheelOutline ), p, zero, angle );
+ MovePts( COUNT( wheelOutline ), p, pos );
+ DrawPoly( d, COUNT( wheelOutline ), p, NULL, color, 0, DRAW_FILL);
pp.x = 70/2;
memcpy( p, wheelOutline, sizeof wheelOutline );
- RescalePts( sizeof wheelOutline/sizeof wheelOutline[0], p, 1.0, width/56.5 );
- MovePts( sizeof wheelOutline/sizeof wheelOutline[0], p, pp );
- RescalePts( sizeof wheelOutline/sizeof wheelOutline[0], p, ratio, ratio );
- RotatePts( sizeof wheelOutline/sizeof wheelOutline[0], p, zero, angle );
- MovePts( sizeof wheelOutline/sizeof wheelOutline[0], p, pos );
- DrawPoly( d, sizeof wheelOutline/sizeof wheelOutline[0], p, NULL, color, 0, 1, 0 );
+ RescalePts( COUNT( wheelOutline ), p, 1.0, width/56.5 );
+ MovePts( COUNT( wheelOutline ), p, pp );
+ RescalePts( COUNT( wheelOutline ), p, ratio, ratio );
+ RotatePts( COUNT( wheelOutline ), p, zero, angle );
+ MovePts( COUNT( wheelOutline ), p, pos );
+ DrawPoly( d, COUNT( wheelOutline ), p, NULL, color, 0, DRAW_FILL );
}
@@ -440,11 +431,11 @@ static void CarProtoDrawCoupler(
pp.x = length-12.0;
pp.y = 0;
/* TODO - if length > 6 then draw Sills */
- MovePts( sizeof couplerOutline/sizeof couplerOutline[0], p, pp );
- RescalePts( sizeof couplerOutline/sizeof couplerOutline[0], p, ratio, ratio );
- RotatePts( sizeof couplerOutline/sizeof couplerOutline[0], p, zero, angle-90.0 );
- MovePts( sizeof couplerOutline/sizeof couplerOutline[0], p, pos );
- DrawPoly( d, sizeof couplerOutline/sizeof couplerOutline[0], p, NULL, color, 0, 1 ,0 );
+ MovePts( COUNT( couplerOutline ), p, pp );
+ RescalePts( COUNT( couplerOutline ), p, ratio, ratio );
+ RotatePts( COUNT( couplerOutline ), p, zero, angle-90.0 );
+ MovePts( COUNT( couplerOutline ), p, pos );
+ DrawPoly( d, COUNT( couplerOutline ), p, NULL, color, 0, DRAW_FILL );
}
@@ -597,6 +588,7 @@ static carProto_p CarProtoLookup(
CloneFilledDraw( proto->segCnt, proto->segPtr, FALSE );
GetSegBounds( zero, 0.0, proto->segCnt, proto->segPtr, &proto->orig, &proto->size );
carProtoListChanged = TRUE;
+ // return proto;
}
return proto;
}
@@ -738,9 +730,8 @@ static BOOL_T CarProtoWrite(
carProto_t * proto )
{
BOOL_T rc = TRUE;
- char *oldLocale = NULL;
- oldLocale = SaveLocale("C");
+ SetCLocale();
long longCenterOffset = (long)(proto->dim.truckCenterOffset*1000);
@@ -748,7 +739,7 @@ static BOOL_T CarProtoWrite(
PutTitle(proto->desc), proto->options, proto->type, proto->dim.carLength, proto->dim.carWidth, longCenterOffset, proto->dim.truckCenter, proto->dim.coupledLength )>0;
rc &= WriteSegs( f, proto->segCnt, proto->segPtr );
- RestoreLocale(oldLocale);
+ SetUserLocale();
return rc;
}
@@ -909,7 +900,7 @@ static roadnameMap_p LoadRoadnameList(
cmp_key.name = roadnameTab->ptr;
cmp_key.len = roadnameTab->len;
- roadnameMapP = LookupListElem( &roadnameMap_da, &cmp_key, Cmp_roadnameMap, sizeof roadnameMapP );
+ roadnameMapP = LookupListElem( &roadnameMap_da, &cmp_key, Cmp_roadnameMap, sizeof (roadnameMap_t) );
if ( roadnameMapP->roadname == NULL ) {
roadnameMapP->roadname = TabStringDup(roadnameTab);
roadnameMapP->repmark = TabStringDup(repmarkTab);
@@ -1124,11 +1115,10 @@ static BOOL_T CarPartWrite(
carPart_p partP )
{
BOOL_T rc = TRUE;
- char *oldLocale = NULL;
carPartParent_p parentP=partP->parent;
tabString_t tabs[7];
- oldLocale = SaveLocale("C");
+ SetCLocale();
TabStringExtract( partP->title, 7, tabs );
sprintf( message, "%s\t%s\t%.*s\t%.*s\t%.*s\t%.*s\t%.*s",
@@ -1142,7 +1132,7 @@ static BOOL_T CarPartWrite(
rc &= fprintf( f, " %ld %ld %0.3f %0.3f 0 0 %0.3f %0.3f %ld\n",
partP->options, partP->type, partP->dim.carLength, partP->dim.carWidth, partP->dim.truckCenter, partP->dim.coupledLength, wDrawGetRGB(partP->color) )>0;
- RestoreLocale(oldLocale);
+ SetUserLocale();
return rc;
}
@@ -1269,9 +1259,8 @@ static carItem_p CarItemNew(
}
/**
- * Check the whether the parameter file has CARPARTS that are compatible
- * with the current state. For CARPARTS only the exactly identical scale
- * is accepted as compatible
+ * Check the whether the parameter file has CARPARTS that are a fit or compatible
+ * with the current state.
*
* \param paramFileIndex IN the parameter file
* \param scaleIndex IN the scale to check against
@@ -1283,6 +1272,7 @@ GetCarPartCompatibility(int paramFileIndex, SCALEINX_T scaleIndex)
int i;
enum paramFileState ret = PARAMFILE_NOTUSABLE;
DIST_T ratio = GetScaleRatio(scaleIndex);
+ DIST_T gauge = GetScaleTrackGauge(scaleIndex);
if (!IsParamValid(paramFileIndex)) {
return(PARAMFILE_UNLOADED);
@@ -1290,17 +1280,19 @@ GetCarPartCompatibility(int paramFileIndex, SCALEINX_T scaleIndex)
for (i = 0; i < carPartParent_da.cnt && ret != PARAMFILE_FIT; i++) {
carPartParent_t *carPartParent = carPartParent( i );
-
- if(GetScaleRatio(carPartParent->scale) == ratio ){
- for(int j = 0; j < carPartParent->parts_da.cnt; j++ ){
+ SCALE_FIT_T fit = CompatibleScale(FIT_CAR,carPartParent->scale,scaleIndex);
+ if(fit == FIT_EXACT) {
+ for(int j = 0; j < carPartParent->parts_da.cnt; j++ ) {
carPart_t *carPart = carPart( carPartParent, j );
-
if (carPart->paramFileIndex == paramFileIndex) {
ret = PARAMFILE_FIT;
break;
}
}
}
+ if (fit == FIT_COMPATIBLE) {
+ ret = PARAMFILE_COMPATIBLE;
+ }
}
return(ret);
}
@@ -1335,7 +1327,7 @@ EXPORT BOOL_T CarItemRead(
&purchPrice, &currPrice, &condition, &purchDate, &serviceDate, &cp ) )
return FALSE;
dim.truckCenterOffset = longCenterOffset/1000.0;
- if ( paramVersion < 12 ) {
+ if ( paramVersion < VERSION_INLINENOTE ) {
if ( (options&CAR_ITEM_HASNOTES) ) {
sNote = ReadMultilineText();
}
@@ -1373,10 +1365,9 @@ static BOOL_T CarItemWrite(
coOrd pos;
ANGLE_T angle;
BOOL_T rc = TRUE;
- char *oldLocale = NULL;
long longCenterOffset = (long)(item->dim.truckCenterOffset*1000);
- oldLocale = SaveLocale("C");
+ SetCLocale();
if ( item->data.notes && item->data.notes[0] )
options |= CAR_ITEM_HASNOTES;
@@ -1405,7 +1396,7 @@ static BOOL_T CarItemWrite(
rc &= fprintf( f, "\n" )>0;
}
- RestoreLocale(oldLocale);
+ SetUserLocale();
return rc;
}
@@ -1498,8 +1489,8 @@ static long carHotbarModes[] = { 0x0002, 0x0012, 0x0312, 0x4312, 0x0021, 0x0321,
static long carHotbarContents[] = { 0x0005, 0x0002, 0x0012, 0x0012, 0x0001, 0x0021, 0x0021 };
static long newCarInx;
static paramData_t newCarPLs[] = {
- { PD_DROPLIST, &newCarInx, "index", PDO_DLGWIDE, (void*)400, N_("Item") } };
-static paramGroup_t newCarPG = { "train-newcar", 0, newCarPLs, sizeof newCarPLs/sizeof newCarPLs[0] };
+ { PD_DROPLIST, &newCarInx, "index", PDO_DLGWIDE, I2VP(400), N_("Item") } };
+static paramGroup_t newCarPG = { "train-newcar", 0, newCarPLs, COUNT( newCarPLs ) };
EXPORT wControl_p newCarControls[2];
static char newCarLabel1[STR_SIZE];
static char * newCarLabels[2] = { newCarLabel1, NULL };
@@ -1556,7 +1547,7 @@ static void CarItemHotbarUpdate(
carItemInx = (wIndex_t)*(long*)data;
if ( carItemInx < 0 )
return;
- carItemInx = (wIndex_t)(long)wListGetItemContext( (wList_p)pg->paramPtr[inx].control, carItemInx );
+ carItemInx = (wIndex_t)VP2L(wListGetItemContext( (wList_p)pg->paramPtr[inx].control, carItemInx ));
item = carItemHotbar(carItemInx);
if ( item != NULL )
currCarItemPtr = item;
@@ -1650,12 +1641,12 @@ EXPORT char * CarItemDescribe(
}
-EXPORT void CarItemLoadList( void * junk )
+EXPORT void CarItemLoadList( void * unused )
{
wIndex_t inx;
carItem_p item;
char * cp;
- wPos_t w, h;
+ wWinPix_t w, h;
DYNARR_SET( carItem_t*, carItemHotbar_da, carItemInfo_da.cnt );
memcpy( carItemHotbar_da.ptr, carItemInfo_da.ptr, carItemInfo_da.cnt * sizeof item );
@@ -1665,7 +1656,7 @@ EXPORT void CarItemLoadList( void * junk )
if ( item->car && !IsTrackDeleted(item->car) )
continue;
cp = CarItemDescribe( item, 0, NULL );
- wListAddValue( (wList_p)newCarPLs[0].control, cp, NULL, (void*)(intptr_t)inx );
+ wListAddValue( (wList_p)newCarPLs[0].control, cp, NULL, I2VP(inx) );
}
/*wListSetValue( (wList_p)newCarPLs[0].control, "Select a car" );*/
wListSetIndex( (wList_p)newCarPLs[0].control, 0 );
@@ -1685,12 +1676,12 @@ static char * CarItemHotbarProc(
drawCmd_p d,
coOrd * origP )
{
- wIndex_t carItemInx = (wIndex_t)(long)data;
+ wIndex_t carItemInx = (wIndex_t)VP2L(data);
carItem_p item;
wIndex_t inx;
long mode;
char * cp;
- wPos_t w, h;
+ wWinPix_t w, h;
item = carItemHotbar(carItemInx);
if ( item == NULL )
@@ -1708,11 +1699,11 @@ static char * CarItemHotbarProc(
if ( item->car && !IsTrackDeleted(item->car) )
continue;
cp = CarItemDescribe( item, mode, NULL );
- wListAddValue( (wList_p)newCarPLs[0].control, cp, NULL, (void*)(intptr_t)inx );
+ wListAddValue( (wList_p)newCarPLs[0].control, cp, NULL, I2VP(inx) );
}
/*wListSetValue( (wList_p)newCarPLs[0].control, "Select a car" );*/
wListSetIndex( (wList_p)newCarPLs[0].control, 0 );
- cp = CarItemHotbarProc( HB_BARTITLE, (void*)(intptr_t)carItemInx, NULL, NULL );
+ cp = CarItemHotbarProc( HB_BARTITLE, I2VP(carItemInx), NULL, NULL );
strncpy( newCarLabel1, cp, sizeof newCarLabel1 );
ParamLoadControls( &newCarPG );
ParamGroupRecord( &newCarPG );
@@ -1750,7 +1741,7 @@ EXPORT int CarAvailableCount( void )
carItem_t * item;
for ( inx=0; inx < carItemHotbar_da.cnt; inx ++ ) {
item = carItemHotbar(inx);
- if ( item->scaleInx != GetLayoutCurScale())
+ if (FIT_NONE == CompatibleScale( FIT_CAR, item->scaleInx, GetLayoutCurScale()))
continue;
cnt++;
}
@@ -1772,7 +1763,7 @@ EXPORT void AddHotBarCarDesc( void )
item1 = carItemHotbar(inx);
if ( item1->car && !IsTrackDeleted(item1->car) )
continue;
- if ( item1->scaleInx != GetLayoutCurScale())
+ if ( FIT_NONE == CompatibleScale(FIT_CAR,item1->scaleInx,GetLayoutCurScale()))
continue;
if ( (carHotbarModes[carHotbarModeInx]&0xF000)!=0 || ( item0 == NULL || Cmp_carHotbar( &item0, &item1 ) != 0 ) ) {
#ifdef DESCFIX
@@ -1782,7 +1773,7 @@ EXPORT void AddHotBarCarDesc( void )
orig = zero;
size.x = item1->dim.carLength;
size.y = item1->dim.carWidth;
- AddHotBarElement( FormatCarTitle( item1, carHotbarContents[carHotbarModeInx] ), size, orig, FALSE, FALSE, (60.0*12.0/curScaleRatio), (void*)(intptr_t)inx, CarItemHotbarProc );
+ AddHotBarElement( FormatCarTitle( item1, carHotbarContents[carHotbarModeInx] ), size, orig, FALSE, FALSE, (60.0*12.0/curScaleRatio), I2VP(inx), CarItemHotbarProc );
}
item0 = item1;
}
@@ -2179,8 +2170,9 @@ static drawCmd_t carDlgD = {
0.0,
{ 0, 0 }, { 0, 0 },
Pix2CoOrd, CoOrd2Pix };
-static void CarDlgRedraw(void);
-static paramDrawData_t carDlgDrawData = { 455, 100, (wDrawRedrawCallBack_p)CarDlgRedraw, NULL, &carDlgD };
+static void CarDlgRedraw( wDraw_p d, void * context, wWinPix_t x, wWinPix_t y );
+
+static paramDrawData_t carDlgDrawData = { 455, 100, CarDlgRedraw, NULL, &carDlgD };
static paramTextData_t notesData = { 440, 100 };
static char *multinumLabels[] = { N_("Sequential"), N_("Repeated"), NULL };
static void CarDlgNewProto( void );
@@ -2191,23 +2183,23 @@ static void CarDlgNewProto( void );
static paramData_t carDlgPLs[] = {
#define A (0)
#define I_CD_MANUF_LIST (A+0)
- { PD_DROPLIST, &carDlgManufInx, "manuf", PDO_NOPREF, (void*)350, N_("Manufacturer"), BL_EDITABLE },
+ { PD_DROPLIST, &carDlgManufInx, "manuf", PDO_NOPREF, I2VP(350), N_("Manufacturer"), BL_EDITABLE },
#define I_CD_PROTOTYPE_STR (A+1)
- { PD_STRING, &carDlgProtoStr, "prototype", PDO_NOPREF|PDO_STRINGLIMITLENGTH, (void*)350, N_("Prototype"), 0, 0, sizeof(carDlgProtoStr)},
+ { PD_STRING, &carDlgProtoStr, "prototype", PDO_NOPREF|PDO_NOTBLANK, I2VP(350), N_("Prototype"), 0, 0, sizeof(carDlgProtoStr)},
#define I_CD_PROTOKIND_LIST (A+2)
- { PD_DROPLIST, &carDlgKindInx, "protokind-list", PDO_NOPREF, (void*)125, N_("Prototype"), 0 },
+ { PD_DROPLIST, &carDlgKindInx, "protokind-list", PDO_NOPREF, I2VP(125), N_("Prototype"), 0 },
#define I_CD_PROTOTYPE_LIST (A+3)
- { PD_DROPLIST, &carDlgProtoInx, "prototype-list", PDO_NOPREF|PDO_DLGHORZ, (void*)(225-3), NULL, 0 },
+ { PD_DROPLIST, &carDlgProtoInx, "prototype-list", PDO_NOPREF|PDO_DLGHORZ, I2VP(225-3), NULL, 0 },
#define I_CD_TYPE_LIST (A+4)
- { PD_DROPLIST, &carDlgTypeInx, "type", PDO_NOPREF, (void*)350, N_("Type"), 0 },
+ { PD_DROPLIST, &carDlgTypeInx, "type", PDO_NOPREF, I2VP(350), N_("Type"), 0 },
#define I_CD_PARTNO_LIST (A+5)
- { PD_DROPLIST, &carDlgPartnoInx, "partno-list", PDO_NOPREF, (void*)350, N_("Part"), BL_EDITABLE },
+ { PD_DROPLIST, &carDlgPartnoInx, "partno-list", PDO_NOPREF, I2VP(350), N_("Part"), BL_EDITABLE },
#define I_CD_PARTNO_STR (A+6)
- { PD_STRING, &carDlgPartnoStr, "partno", PDO_NOPREF|PDO_STRINGLIMITLENGTH, (void*)350, N_("Part Number"), 0, 0, sizeof(carDlgPartnoStr)},
+ { PD_STRING, &carDlgPartnoStr, "partno", PDO_NOPREF|PDO_NOTBLANK, I2VP(350), N_("Part Number"), 0, 0, sizeof(carDlgPartnoStr)},
#define I_CD_ISLOCO (A+7)
{ PD_TOGGLE, &carDlgIsLoco, "isLoco", PDO_NOPREF|PDO_DLGWIDE, isLocoLabels, N_("Loco?"), BC_HORZ|BC_NOBORDER },
#define I_CD_DESC_STR (A+8)
- { PD_STRING, &carDlgDescStr, "desc", PDO_NOPREF|PDO_STRINGLIMITLENGTH, (void*)350, N_("Description"), 0, 0, sizeof(carDlgDescStr)},
+ { PD_STRING, &carDlgDescStr, "desc", PDO_NOPREF|PDO_STRINGLIMITLENGTH, I2VP(350), N_("Description"), 0, 0, sizeof(carDlgDescStr)},
#define I_CD_IMPORT (A+9)
{ PD_BUTTON, NULL, "import", 0, 0, N_("Import") },
#define I_CD_RESET (A+10)
@@ -2220,27 +2212,27 @@ static paramData_t carDlgPLs[] = {
#define B (A+13)
#define I_CD_ROADNAME_LIST (B+0)
- { PD_DROPLIST, &carDlgRoadnameInx, "road", PDO_NOPREF|PDO_DLGWIDE, (void*)350, N_("Road"), BL_EDITABLE },
+ { PD_DROPLIST, &carDlgRoadnameInx, "road", PDO_NOPREF|PDO_DLGWIDE, I2VP(350), N_("Road"), BL_EDITABLE },
#define I_CD_REPMARK (B+1)
- { PD_STRING, carDlgRepmarkStr, "repmark", PDO_NOPREF|PDO_STRINGLIMITLENGTH, (void*)60, N_("Reporting Mark"), 0, 0, sizeof(carDlgRepmarkStr)},
+ { PD_STRING, carDlgRepmarkStr, "repmark", PDO_NOPREF|PDO_STRINGLIMITLENGTH, I2VP(60), N_("Reporting Mark"), 0, 0, sizeof(carDlgRepmarkStr)},
#define I_CD_NUMBER (B+2)
- { PD_STRING, carDlgNumberStr, "number", PDO_NOPREF|PDO_DLGWIDE|PDO_DLGHORZ|PDO_STRINGLIMITLENGTH, (void*)80, N_("Number"), 0, 0, sizeof(carDlgNumberStr)},
+ { PD_STRING, carDlgNumberStr, "number", PDO_NOPREF|PDO_DLGWIDE|PDO_DLGHORZ|PDO_STRINGLIMITLENGTH, I2VP(80), N_("Number"), 0, 0, sizeof(carDlgNumberStr)},
#define I_CD_BODYCOLOR (B+3)
{ PD_COLORLIST, &carDlgBodyColor, "bodyColor", PDO_DLGWIDE|PDO_DLGHORZ, NULL, N_("Color") },
#define I_CD_CARLENGTH (B+4)
- { PD_FLOAT, &carDlgDim.carLength, "carLength", PDO_DIM|PDO_NOPREF|PDO_DLGWIDE, &r0_99999, N_("Car Length") },
+ { PD_FLOAT, &carDlgDim.carLength, "carLength", PDO_DIM|PDO_NOPREF|PDO_DLGWIDE, &r0d001_99999, N_("Car Length") },
#define I_CD_CARWIDTH (B+5)
- { PD_FLOAT, &carDlgDim.carWidth, "carWidth", PDO_DIM|PDO_NOPREF|PDO_DLGWIDE|PDO_DLGHORZ, &r0_99999, N_("Width") },
+ { PD_FLOAT, &carDlgDim.carWidth, "carWidth", PDO_DIM|PDO_NOPREF|PDO_DLGWIDE|PDO_DLGHORZ, &r0d001_99999, N_("Width") },
#define I_CD_TRKCENTER (B+6)
- { PD_FLOAT, &carDlgDim.truckCenter, "trkCenter", PDO_DIM|PDO_NOPREF, &r0_99999, N_("Truck Centers") },
+ { PD_FLOAT, &carDlgDim.truckCenter, "trkCenter", PDO_DIM|PDO_NOPREF, &r0d001_99999, N_("Truck Centers") },
#define I_CD_TRKOFFSET (B+7)
{ PD_FLOAT, &carDlgDim.truckCenterOffset, "trkCenterOffset", PDO_DIM|PDO_NOPREF|PDO_DLGHORZ|PDO_DLGWIDE, &r9999_9999, N_("Center Offset") },
#define I_CD_CPLRMNT (B+8)
{ PD_RADIO, &carDlgCouplerMount, "cplrMount", PDO_NOPREF, cplrModeLabels, N_("Coupler Mount"), BC_HORZ|BC_NOBORDER },
#define I_CD_CPLDLEN (B+9)
- { PD_FLOAT, &carDlgDim.coupledLength, "cpldLen", PDO_DIM|PDO_NOPREF, &r0_99999, N_("Coupled Length") },
+ { PD_FLOAT, &carDlgDim.coupledLength, "cpldLen", PDO_DIM|PDO_NOPREF, &r0d001_99999, N_("Coupled Length") },
#define I_CD_CPLRLEN (B+10)
- { PD_FLOAT, &carDlgCouplerLength, "cplrLen", PDO_DIM|PDO_NOPREF|PDO_DLGHORZ, &r0_99999, N_("Coupler Length") },
+ { PD_FLOAT, &carDlgCouplerLength, "cplrLen", PDO_DIM|PDO_NOPREF|PDO_DLGHORZ, &r0d001_99999, N_("Coupler Length") },
#define I_CD_CANVAS (B+11)
{ PD_DRAW, NULL, "canvas", PDO_NOPSHUPD|PDO_DLGWIDE|PDO_DLGNOLABELALIGN|PDO_DLGRESETMARGIN|PDO_DLGBOXEND|PDO_DLGRESIZE, &carDlgDrawData, NULL, 0 },
@@ -2248,15 +2240,15 @@ static paramData_t carDlgPLs[] = {
#define I_CD_ITEMINDEX (C+0)
{ PD_LONG, &carDlgItemIndex, "index", PDO_NOPREF|PDO_DLGWIDE, &i1_999999999, N_("Index"), 0 },
#define I_CD_PURPRC (C+1)
- { PD_STRING, &carDlgPurchPriceStr, "purchPrice", PDO_NOPREF|PDO_DLGWIDE, (void*)50, N_("Purchase Price"), 0, &carDlgPurchPrice },
+ { PD_STRING, &carDlgPurchPriceStr, "purchPrice", PDO_NOPREF|PDO_DLGWIDE|PDO_STRINGLIMITLENGTH, I2VP(50), N_("Purchase Price"), 0, &carDlgPurchPrice, sizeof(carDlgPurchPriceStr) },
#define I_CD_CURPRC (C+2)
- { PD_STRING, &carDlgCurrPriceStr, "currPrice", PDO_NOPREF|PDO_DLGWIDE|PDO_DLGHORZ, (void*)50, N_("Current Price"), 0, &carDlgCurrPrice },
+ { PD_STRING, &carDlgCurrPriceStr, "currPrice", PDO_NOPREF|PDO_DLGWIDE|PDO_DLGHORZ|PDO_STRINGLIMITLENGTH, I2VP(50), N_("Current Price"), 0, &carDlgCurrPrice, sizeof(carDlgCurrPriceStr) },
#define I_CD_COND (C+3)
- { PD_DROPLIST, &carDlgConditionInx, "condition", PDO_NOPREF|PDO_DLGWIDE|PDO_DLGHORZ, (void*)90, N_("Condition") },
+ { PD_DROPLIST, &carDlgConditionInx, "condition", PDO_NOPREF|PDO_DLGWIDE|PDO_DLGHORZ, I2VP(90), N_("Condition") },
#define I_CD_PURDAT (C+4)
- { PD_STRING, &carDlgPurchDateStr, "purchDate", PDO_NOPREF|PDO_DLGWIDE, (void*)80, N_("Purchase Date"), 0, &carDlgPurchDate },
+ { PD_STRING, &carDlgPurchDateStr, "purchDate", PDO_NOPREF|PDO_DLGWIDE|PDO_STRINGLIMITLENGTH, I2VP(80), N_("Purchase Date"), 0, &carDlgPurchDate, sizeof(carDlgPurchDateStr) },
#define I_CD_SRVDAT (C+5)
- { PD_STRING, &carDlgServiceDateStr, "serviceDate", PDO_NOPREF|PDO_DLGWIDE|PDO_DLGHORZ, (void*)80, N_("Service Date"), 0, &carDlgServiceDate },
+ { PD_STRING, &carDlgServiceDateStr, "serviceDate", PDO_NOPREF|PDO_DLGWIDE|PDO_DLGHORZ|PDO_STRINGLIMITLENGTH, I2VP(80), N_("Service Date"), 0, &carDlgServiceDate, sizeof(carDlgServiceDateStr) },
#define I_CD_QTY (C+6)
{ PD_LONG, &carDlgQuantity, "quantity", PDO_NOPREF|PDO_DLGWIDE, &i1_9999, N_("Quantity") },
#define I_CD_MLTNUM (C+7)
@@ -2266,15 +2258,15 @@ static paramData_t carDlgPLs[] = {
#define D (C+9)
#define I_CD_MSG (D+0)
- { PD_MESSAGE, NULL, NULL, PDO_DLGNOLABELALIGN|PDO_DLGRESETMARGIN|PDO_DLGBOXEND, (void*)450 },
+ { PD_MESSAGE, NULL, NULL, PDO_DLGNOLABELALIGN|PDO_DLGRESETMARGIN|PDO_DLGBOXEND, I2VP(450) },
#define I_CD_NEW (D+1)
- { PD_MENU, NULL, "new-menu", PDO_DLGCMDBUTTON, NULL, N_("New"), 0, (void*)0 },
- { PD_MENUITEM, (void*)CarDlgNewDesc, "new-part-mi", 0, NULL, N_("Car Part"), 0, (void*)0 },
- { PD_MENUITEM, (void*)CarDlgNewProto, "new-proto-mi", 0, NULL, N_("Car Prototype"), 0, (void*)0 },
+ { PD_MENU, NULL, "new-menu", PDO_DLGCMDBUTTON, NULL, N_("New"), 0, I2VP(0) },
+ { PD_MENUITEM, CarDlgNewDesc, "new-part-mi", 0, NULL, N_("Car Part"), 0, I2VP(0) },
+ { PD_MENUITEM, CarDlgNewProto, "new-proto-mi", 0, NULL, N_("Car Prototype"), 0, I2VP(0) },
#define I_CD_NEWPROTO (D+4)
- { PD_BUTTON, (void*)CarDlgNewProto, "new", PDO_DLGCMDBUTTON, NULL, N_("New"), 0, (void*)0 } };
+ { PD_BUTTON, CarDlgNewProto, "new", PDO_DLGCMDBUTTON, NULL, N_("New"), 0, I2VP(0) } };
-static paramGroup_t carDlgPG = { "carpart", 0, carDlgPLs, sizeof carDlgPLs/sizeof carDlgPLs[0] };
+static paramGroup_t carDlgPG = { "carpart", 0, carDlgPLs, COUNT( carDlgPLs ) };
static dynArr_t carDlgSegs_da;
@@ -2538,9 +2530,10 @@ static void CarDlgLoadDimsFromProto( carProto_p protoP )
}
-static void CarDlgRedraw( void )
+static void CarDlgRedraw(
+ wDraw_p d, void * context, wWinPix_t x, wWinPix_t y )
{
- wPos_t w, h;
+ wWinPix_t w, h;
DIST_T ww, hh;
DIST_T scale_w, scale_h;
coOrd orig, pos, size;
@@ -2679,7 +2672,7 @@ LOG( log_carDlgList, 3, ( "CarDlgLoadManufList( %s, %s, %d )\n carDlgManufStr
continue;
if ( !CheckAvail(manufP) )
continue;
- listInx = wListAddValue( (wList_p)carDlgPLs[I_CD_MANUF_LIST].control, manufP->manuf, NULL, (void*)manufP );
+ listInx = wListAddValue( (wList_p)carDlgPLs[I_CD_MANUF_LIST].control, manufP->manuf, NULL, manufP );
if ( carDlgManufInx < 0 && ( carDlgManufStr[0] == '\0' || strcasecmp( carDlgManufStr, manufP->manuf ) == 0 ) ) {
LOG( log_carDlgList, 4, ( " found manufStr (inx=%d, listInx=%d)\n", inx, listInx ) )
carDlgManufInx = listInx;
@@ -2690,7 +2683,7 @@ LOG( log_carDlgList, 4, ( " found manufStr (inx=%d, listInx=%d)\n", inx, list
manufP1 = manufP;
}
if ( bInclCustomUnknown ) {
- listInx = wListAddValue( (wList_p)carDlgPLs[I_CD_MANUF_LIST].control, _("Custom"), NULL, (void*)NULL );
+ listInx = wListAddValue( (wList_p)carDlgPLs[I_CD_MANUF_LIST].control, _("Custom"), NULL, NULL );
if ( carDlgManufInx < 0 && ( carDlgManufStr[0] == '\0' || strcasecmp( carDlgManufStr, "Custom" ) == 0 ) ) {
LOG( log_carDlgList, 4, ( " found Cus manufStr (inx=%d, listInx=%d)\n", inx, listInx ) )
carDlgManufInx = listInx;
@@ -2698,7 +2691,7 @@ LOG( log_carDlgList, 4, ( " found Cus manufStr (inx=%d, listInx=%d)\n", inx,
}
if ( firstName == NULL )
firstName = "Custom";
- wListAddValue( (wList_p)carDlgPLs[I_CD_MANUF_LIST].control, _("Unknown"), NULL, (void*)NULL );
+ wListAddValue( (wList_p)carDlgPLs[I_CD_MANUF_LIST].control, _("Unknown"), NULL, NULL );
if ( carDlgManufInx < 0 && ( carDlgManufStr[0] == '\0' || strcasecmp( carDlgManufStr, "Unknown" ) == 0 ) ) {
LOG( log_carDlgList, 4, ( " found Unk manufStr (inx=%d, listInx=%d)\n", inx, listInx ) )
carDlgManufInx = listInx;
@@ -2758,7 +2751,7 @@ LOG( log_carDlgList, 4, ( " found typeinx, reset list (old=%d)\n", listTypeIn
firstName = NULL;
}
if ( currTypeInx != listTypeInx ) continue;
- listInx = wListAddValue( (wList_p)carDlgPLs[I_CD_PROTOTYPE_LIST].control, protoP->desc, NULL, (void*)protoP );
+ listInx = wListAddValue( (wList_p)carDlgPLs[I_CD_PROTOTYPE_LIST].control, protoP->desc, NULL, protoP );
if ( carDlgProtoInx < 0 && carDlgProtoStr[0] && strcasecmp( carDlgProtoStr, protoP->desc ) == 0 ) {
LOG( log_carDlgList, 4, ( " found protoStr (inx=%d, listInx=%d)\n", inx, listInx ) )
carDlgProtoInx = listInx;
@@ -2796,7 +2789,7 @@ LOG( log_carDlgList, 4, ( " found typeinx, reset list (old=%d)\n", listTypeIn
}
if ( !found )
continue;
- listInx = wListAddValue( (wList_p)carDlgPLs[I_CD_PROTOTYPE_LIST].control, parentP->proto, NULL, (void*)parentP );
+ listInx = wListAddValue( (wList_p)carDlgPLs[I_CD_PROTOTYPE_LIST].control, parentP->proto, NULL, parentP );
if ( carDlgProtoInx < 0 && ( carDlgProtoStr[0] == '\0' || strcasecmp( carDlgProtoStr, parentP->proto ) == 0 ) ) {
LOG( log_carDlgList, 4, ( " found protoStr (inx=%d, listInx=%d)\n", inx, listInx ) )
carDlgProtoInx = listInx;
@@ -2825,7 +2818,7 @@ LOG( log_carDlgList, 4, ( " loading typelist\n" ) )
wListClear( (wList_p)carDlgPLs[I_CD_PROTOKIND_LIST].control );
for ( currTypeInx=0; currTypeInx<N_TYPELISTMAP; currTypeInx++ ) {
if ( typeCount[currTypeInx] > 0 ) {
- listInx = wListAddValue( (wList_p)carDlgPLs[I_CD_PROTOKIND_LIST].control, _(typeListMap[currTypeInx].name), NULL, (void*)(intptr_t)currTypeInx );
+ listInx = wListAddValue( (wList_p)carDlgPLs[I_CD_PROTOKIND_LIST].control, _(typeListMap[currTypeInx].name), NULL, I2VP(currTypeInx) );
if ( currTypeInx == listTypeInx ) {
LOG( log_carDlgList, 4, ( " current = %d\n", listInx ) )
carDlgKindInx = listInx;
@@ -2902,7 +2895,7 @@ static BOOL_T CarDlgLoadPartList( carPartParent_p parentP )
lastPart.paramFileIndex = partP->paramFileIndex;
if ( message[0] && IsParamValid(partP->paramFileIndex) &&
( lastPart.title == NULL || Cmp_part( &lastPart, partP ) != 0 ) ) {
- listInx = wListAddValue( (wList_p)carDlgPLs[I_CD_PARTNO_LIST].control, message, NULL, (void*)partP );
+ listInx = wListAddValue( (wList_p)carDlgPLs[I_CD_PARTNO_LIST].control, message, NULL, partP );
if ( carDlgPartnoInx<0 &&
(carDlgPartnoStr[0]?TabStringCmp( carDlgPartnoStr, &tabs[T_PART] ) == 0:TRUE) ) {
carDlgPartnoInx = listInx;
@@ -2976,7 +2969,7 @@ static BOOL_T CarDlgLoadLists(
}
if ( (!CarDlgLoadManufList( !isItem, loadCustomUnknown, scale )) && tabs ) {
TabStringCpy( carDlgManufStr, &tabs[T_MANUF] );
- carDlgManufInx = wListAddValue( (wList_p)carDlgPLs[I_CD_MANUF_LIST].control, carDlgManufStr, NULL, (void*)NULL );
+ carDlgManufInx = wListAddValue( (wList_p)carDlgPLs[I_CD_MANUF_LIST].control, carDlgManufStr, NULL, NULL );
isItem = FALSE;
}
if ( isItem ) {
@@ -3126,7 +3119,7 @@ static void CarDlgDoActions(
DIST_T ratio;
tabString_t tabs[7];
char * cp;
- BOOL_T reload[sizeof carDlgPLs/sizeof carDlgPLs[0]];
+ BOOL_T reload[COUNT( carDlgPLs )];
#define RELOAD_DIMS \
reload[I_CD_CARLENGTH] = reload[I_CD_CARWIDTH] = reload[I_CD_CPLDLEN] = \
reload[I_CD_TRKCENTER] = reload[I_CD_TRKOFFSET] = reload[I_CD_CPLRLEN] = TRUE
@@ -3146,7 +3139,7 @@ static void CarDlgDoActions(
LOG( log_carDlgState, 2, ( "Action = %s\n", carDlgAction_s[*actions] ) )
switch ( *actions++ ) {
case A_Return:
- for ( inx=0; inx<sizeof carDlgPLs/sizeof carDlgPLs[0]; inx++ )
+ for ( inx=0; inx<COUNT( carDlgPLs ); inx++ )
if ( reload[inx] )
ParamLoadControl( &carDlgPG, inx );
return;
@@ -3271,7 +3264,7 @@ LOG( log_carDlgState, 2, ( "Action = %s\n", carDlgAction_s[*actions] ) )
RELOAD_DIMS;
break;
case A_Redraw:
- CarDlgRedraw();
+ CarDlgRedraw( carDlgD.d, NULL, 0, 0 );
break;
case A_ClrManuf:
carDlgManufStr[0] = '\0';
@@ -3397,9 +3390,9 @@ LOG( log_carDlgState, 2, ( "Action = %s\n", carDlgAction_s[*actions] ) )
carDlgScaleInx = carDlgUpdatePartPtr->parent->scale;
TabStringExtract( carDlgUpdatePartPtr->title, 7, tabs );
tabs[T_MANUF].ptr = carDlgUpdatePartPtr->parent->manuf;
- tabs[T_MANUF].len = strlen(carDlgUpdatePartPtr->parent->manuf);
+ tabs[T_MANUF].len = (int)strlen(carDlgUpdatePartPtr->parent->manuf);
tabs[T_PROTO].ptr = carDlgUpdatePartPtr->parent->proto;
- tabs[T_PROTO].len = strlen(carDlgUpdatePartPtr->parent->proto);
+ tabs[T_PROTO].len = (int)strlen(carDlgUpdatePartPtr->parent->proto);
CarDlgLoadLists( FALSE, tabs, carDlgScaleInx );
CarDlgLoadPart( carDlgUpdatePartPtr );
RELOAD_LISTS;
@@ -3479,6 +3472,18 @@ static BOOL_T CheckCarDlgItemIndex( long * index )
}
+void CarDlgError(
+ wBool_t ok,
+ paramData_p p,
+ char * msg )
+{
+ p->bInvalid = !ok;
+ ParamHilite( p->group->win, p->control, !ok );
+ wWinPix_t h = wControlGetHeight(p->control);
+ wControlSetBalloon( p->control, 0, -h*3/4, ok?NULL:msg );
+}
+
+
static void CarDlgUpdate(
paramGroup_p pg,
int inx,
@@ -3489,7 +3494,7 @@ static void CarDlgUpdate(
char * cp, *cq;
long valL, d, m;
FLOAT_T ratio;
- BOOL_T ok;
+ BOOL_T ok = TRUE;
DIST_T len;
BOOL_T checkTruckCenter = FALSE;
cmp_key_t cmp_key;
@@ -3541,7 +3546,7 @@ LOG( log_carDlgState, 3, ( "CarDlgUpdate( %d )\n", inx ) )
case I_CD_PROTOKIND_LIST:
carDlgChanged++;
- carDlgTypeInx = (int)(long)wListGetItemContext( (wList_p)pg->paramPtr[inx].control, carDlgKindInx );
+ carDlgTypeInx = (int)VP2L(wListGetItemContext( (wList_p)pg->paramPtr[inx].control, carDlgKindInx ));
if ( S_PART || (currState==S_ItemEnter) ) {
CarDlgLoadProtoList( NULL, 0, FALSE );
} else {
@@ -3571,6 +3576,12 @@ LOG( log_carDlgState, 3, ( "CarDlgUpdate( %d )\n", inx ) )
break;
case I_CD_DISPMODE:
+
+ if ( !ParamCheckInputs( &carDlgPG, carDlgPLs[I_CD_DISPMODE].control ) ) {
+ carDlgDispMode = 1-carDlgDispMode;
+ ParamLoadControl( &carDlgPG, I_CD_DISPMODE );
+ break;
+ }
for ( inx=B; inx<C; inx++ )
ParamControlShow( &carDlgPG, inx, carDlgDispMode==1 );
for ( inx=C; inx<D; inx++ )
@@ -3594,7 +3605,7 @@ LOG( log_carDlgState, 3, ( "CarDlgUpdate( %d )\n", inx ) )
} else {
wListGetValues( (wList_p)pg->paramPtr[I_CD_ROADNAME_LIST].control, carDlgRoadnameStr, sizeof carDlgRoadnameStr, NULL, NULL );
cmp_key.name = carDlgRoadnameStr;
- cmp_key.len = strlen(carDlgRoadnameStr);
+ cmp_key.len = (int)strlen(carDlgRoadnameStr);
roadnameMapP = LookupListElem( &roadnameMap_da, &cmp_key, Cmp_roadnameMap, 0 );
}
if ( roadnameMapP ) {
@@ -3674,14 +3685,14 @@ LOG( log_carDlgState, 3, ( "CarDlgUpdate( %d )\n", inx ) )
} else if ( carDlgDim.carLength != 0 && ( carDlgDim.coupledLength == 0 || carDlgCarLengthClock >= carDlgCoupledLengthClock ) ) {
len = carDlgDim.carLength+carDlgCouplerLength*2.0;
if ( len > 0 ) {
- carDlgDim.coupledLength = carDlgDim.carLength+carDlgCouplerLength*2.0;
+ carDlgDim.coupledLength = len;
ParamLoadControl( &carDlgPG, I_CD_CPLDLEN );
}
carDlgCouplerLengthClock = ++carDlgClock;
} else if ( carDlgDim.coupledLength != 0 && ( carDlgDim.carLength == 0 || carDlgCoupledLengthClock > carDlgCarLengthClock ) ) {
- len = carDlgCouplerLength-carDlgDim.coupledLength*2.0;
+ len = carDlgDim.coupledLength-carDlgCouplerLength*2.0;
if ( len > 0 ) {
- carDlgDim.carLength = carDlgCouplerLength-carDlgDim.coupledLength*2.0;
+ carDlgDim.carLength = len;
ParamLoadControl( &carDlgPG, I_CD_CARLENGTH );
checkTruckCenter = TRUE;
}
@@ -3723,6 +3734,10 @@ LOG( log_carDlgState, 3, ( "CarDlgUpdate( %d )\n", inx ) )
carDlgTruckOffsetL = 0;
carDlgTruckOffsetR = 0;
}
+ if ( 2*carDlgDim.truckCenterOffset > carDlgDim.carLength - carDlgDim.truckCenter) {
+ ok = FALSE;
+ CarDlgError( ok, &carDlgPLs[I_CD_TRKOFFSET], _("Truck Center Offset plus Truck Centers must be less than Car Length") );
+ }
redraw = TRUE;
break;
@@ -3753,8 +3768,12 @@ LOG( log_carDlgState, 3, ( "CarDlgUpdate( %d )\n", inx ) )
case I_CD_CURPRC:
carDlgChanged++;
*(FLOAT_T*)(pg->paramPtr[inx].context) = strtod( (char*)pg->paramPtr[inx].valueP, &cp );
- if ( cp==NULL || *cp!='\0' )
+ if ( cp==NULL || *cp!='\0' ) {
*(FLOAT_T*)(pg->paramPtr[inx].context) = -1;
+ ok = FALSE;
+ sprintf( message, "%s not valid", pg->paramPtr[inx].winLabel );
+ }
+ CarDlgError( ok, &pg->paramPtr[inx], message );
break;
case I_CD_COND:
@@ -3770,37 +3789,45 @@ LOG( log_carDlgState, 3, ( "CarDlgUpdate( %d )\n", inx ) )
case I_CD_PURDAT:
case I_CD_SRVDAT:
carDlgChanged++;
- cp = (char*)pg->paramPtr[inx].valueP;
+ for ( cp = (char*)pg->paramPtr[inx].valueP; *cp && isspace(*(unsigned char*)cp); cp++ );
if ( *cp ) {
valL = strtol( cp, &cq, 10 );
- if ( cq==NULL || *cq!='\0' ) {
- cp = N_("Enter a 8 digit numeric date");
- } else if ( valL != 0 ) {
- if ( strlen(cp) != 8 ) {
- cp = N_("Enter a 8 digit date");
+ if ( cq==NULL || *cq !='\0' ) {
+ cp = N_("Enter a 8 digit numeric date (yyyymmdd)");
+ ok = FALSE;
+ } else {
+ if ( strlen(cp) != 8 || valL == 0) {
+ cp = N_("Enter a 8 digit numeric date (yyyymmdd)");
+ ok = FALSE;
} else if ( valL < 19000101 || valL > 21991231 ) {
cp = N_("Enter a date between 19000101 and 21991231");
+ ok = FALSE;
} else {
d = valL % 100;
m = (valL / 100) % 100;
if ( m < 1 || m > 12 ) {
cp = N_("Invalid month");
+ ok = FALSE;
} else if ( d < 1 || d > 31 ) {
cp = N_("Invalid day");
+ ok = FALSE;
} else {
cp = NULL;
}
}
}
- if ( cp ) {
- valL = 0;
+ if ( !ok ) {
+ valL = -1;
}
} else {
cp = NULL;
valL = 0;
}
- wControlSetBalloon( pg->paramPtr[inx].control, 0, -5, _(cp) );
- *(long*)(pg->paramPtr[inx].context) = valL;
+ CarDlgError( ok, &pg->paramPtr[inx], cp );
+ if (inx == I_CD_PURDAT)
+ carDlgPurchDate = valL;
+ else
+ carDlgServiceDate = valL;
break;
case I_CD_TYPE_LIST:
@@ -3876,39 +3903,8 @@ LOG( log_carDlgState, 3, ( "CarDlgUpdate( %d )\n", inx ) )
ParamLoadControl( &carDlgPG, I_CD_TRKOFFSET );
}
- ok = FALSE;
- if ( S_PROTO && carDlgProtoStr[0] == '\0' )
- ParamLoadMessage( &carDlgPG, I_CD_MSG, _("Enter a Prototype name") );
- else if ( S_PART && carDlgManufStr[0] == '\0' )
+ if ( S_PART && carDlgManufStr[0] == '\0' )
ParamLoadMessage( &carDlgPG, I_CD_MSG, _("Select or Enter a Manufacturer") );
- else if ( S_PART && carDlgPartnoStr[0] == '\0' )
- ParamLoadMessage( &carDlgPG, I_CD_MSG, _("Enter a Part Number") );
- else if ( carDlgDim.carLength <= 0 )
- ParamLoadMessage( &carDlgPG, I_CD_MSG, _("Enter the Car Length") );
- else if ( carDlgDim.carWidth <= 0 )
- ParamLoadMessage( &carDlgPG, I_CD_MSG, _("Enter the Car Width") );
- else if ( carDlgDim.truckCenter <= 0 )
- ParamLoadMessage( &carDlgPG, I_CD_MSG, _("Enter the Truck Centers") );
- else if ( carDlgDim.truckCenterOffset < 0)
- ParamLoadMessage( &carDlgPG, I_CD_MSG, _("Truck Center Offset must be greater than 0 or 0") );
- else if ( carDlgDim.truckCenter >= carDlgDim.carLength )
- ParamLoadMessage( &carDlgPG, I_CD_MSG, _("Truck Centers must be less than Car Length") );
- else if ( 2*carDlgDim.truckCenterOffset > carDlgDim.carLength - carDlgDim.truckCenter)
- ParamLoadMessage( &carDlgPG, I_CD_MSG, _("Truck Center Offset plus Truck Centers must be less than Car Length") );
- else if ( (!S_PROTO) && ( carDlgDim.coupledLength <= 0 || carDlgCouplerLength <= 0 ) )
- ParamLoadMessage( &carDlgPG, I_CD_MSG, _("Enter the Coupled Length or Coupler Length") );
- else if ( S_PROTO && carDlgDim.coupledLength <= 0 )
- ParamLoadMessage( &carDlgPG, I_CD_MSG, _("Enter the Coupled Length") );
- else if ( S_ITEM && carDlgItemIndex <= 0 )
- ParamLoadMessage( &carDlgPG, I_CD_MSG, _("Enter a item Index") );
- else if ( S_ITEM && carDlgPurchPrice < 0 )
- ParamLoadMessage( &carDlgPG, I_CD_MSG, _("Purchase Price is not valid") );
- else if ( S_ITEM && carDlgCurrPrice < 0 )
- ParamLoadMessage( &carDlgPG, I_CD_MSG, _("Current Price is not valid") );
- else if ( S_ITEM && carDlgPurchDate < 0 )
- ParamLoadMessage( &carDlgPG, I_CD_MSG, _("Purchase Date is not valid") );
- else if ( S_ITEM && carDlgServiceDate < 0 )
- ParamLoadMessage( &carDlgPG, I_CD_MSG, _("Service Date is not valid") );
else if ( S_ITEM && carDlgUpdateItemPtr==NULL &&
( valL = carDlgItemIndex , !CheckCarDlgItemIndex(&carDlgItemIndex) ) ) {
sprintf( message, _("Item Index %ld duplicated an existing item: updated to new value"), valL );
@@ -3921,7 +3917,7 @@ LOG( log_carDlgState, 3, ( "CarDlgUpdate( %d )\n", inx ) )
}
if ( redraw )
- CarDlgRedraw();
+ CarDlgRedraw( carDlgD.d, NULL, 0, 0 );
ParamDialogOkActive( pg, ok );
}
@@ -3991,7 +3987,7 @@ static void CarDlgClose( wWin_p win )
}
-static void CarDlgOk( void * junk )
+static void CarDlgOk( void * unused )
{
long options = 0;
int len;
@@ -4005,10 +4001,11 @@ static void CarDlgOk( void * junk )
carPart_p partP=NULL;
carProto_p protoP;
BOOL_T reloadRoadnameList = FALSE;
- char *oldLocale = NULL;
LOG( log_carDlgState, 3, ( "CarDlgOk()\n" ) )
+ ParamUpdate(&carDlgPG);
+
/*ParamUpdate( &carDlgPG );*/
if ( carDlgDim.carLength <= 0.0 ||
carDlgDim.carWidth <= 0.0 ||
@@ -4018,7 +4015,8 @@ LOG( log_carDlgState, 3, ( "CarDlgOk()\n" ) )
NoticeMessage( MSG_CARDESC_VALUE_ZERO, _("Ok"), NULL );
return;
}
- if ( carDlgDim.carLength <= carDlgDim.carWidth ) {
+ if ( carDlgDim.carLength <= carDlgDim.carWidth ||
+ carDlgDim.truckCenter >= carDlgDim.carLength ) {
NoticeMessage( MSG_CARDESC_BAD_DIM_VALUE, _("Ok"), NULL );
return;
}
@@ -4033,6 +4031,14 @@ LOG( log_carDlgState, 3, ( "CarDlgOk()\n" ) )
return;
}
+ if ( S_ITEM && (carDlgPurchDate<0 || carDlgServiceDate<0 || carDlgPurchPrice <0 || carDlgCurrPrice<0)) return;
+
+ if ( S_PROTO && carDlgProtoStr[0] == '\0' ) return;
+
+ if ( S_PART && (carDlgManufStr[0] == '\0' || carDlgPartnoStr[0] == '\0')) return;
+
+ if ( S_ITEM && carDlgItemIndex <= 0 ) return;
+
if ( (!S_PROTO) && carDlgCouplerMount != 0 )
options |= CAR_DESC_COUPLER_MODE_BODY;
if ( carDlgIsLoco == 1 )
@@ -4043,17 +4049,17 @@ LOG( log_carDlgState, 3, ( "CarDlgOk()\n" ) )
sprintf( title, "%s\t%s\t%s\t%s\t%s\t%s\t%s", carDlgManufStr, carDlgProtoStr, carDlgDescStr, carDlgPartnoStr, carDlgRoadnameStr, carDlgRepmarkStr, carDlgNumberStr );
partP = NULL;
if ( ( carDlgManufInx < 0 || carDlgPartnoInx < 0 ) && carDlgPartnoStr[0] ) {
- partP = CarPartFind( carDlgManufStr, strlen(carDlgManufStr), carDlgPartnoStr, strlen(carDlgPartnoStr), carDlgScaleInx );
+ partP = CarPartFind( carDlgManufStr, (int)strlen(carDlgManufStr), carDlgPartnoStr, (int)strlen(carDlgPartnoStr), carDlgScaleInx );
if ( partP != NULL &&
NoticeMessage( MSG_CARPART_DUPNAME, _("Yes"), _("No") ) <= 0 )
return;
partP = CarPartNew( NULL, PARAM_CUSTOM, carDlgScaleInx, title, options, typeListMap[carDlgTypeInx].value, &carDlgDim, carDlgBodyColor );
if ( partP != NULL ) {
if ( ( f = OpenCustom("a") ) ) {
- oldLocale = SaveLocale("C");
+ SetCLocale();
CarPartWrite( f, partP );
fclose(f);
- RestoreLocale(oldLocale);
+ SetUserLocale();
}
}
}
@@ -4082,10 +4088,10 @@ LOG( log_carDlgState, 3, ( "CarDlgOk()\n" ) )
}
if ( len > 0 ) {
if ( itemP->data.notes )
- itemP->data.notes = MyRealloc( itemP->data.notes, len+2 );
+ itemP->data.notes = MyRealloc( itemP->data.notes, (len+2) * sizeof(wchar_t) );
else
- itemP->data.notes = MyMalloc( len+2 );
- itemP->data.notes = (char*)MyMalloc( len+2 );
+ itemP->data.notes = MyMalloc( (len+2) * sizeof(wchar_t) );
+ // itemP->data.notes = (char*)MyMalloc( (len+2) * sizeof(wchar_t) );
wTextGetText( (wText_p)carDlgPLs[I_CD_NOTES].control, itemP->data.notes, len );
if ( itemP->data.notes[len-1] != '\n' ) {
itemP->data.notes[len] = '\n';
@@ -4102,8 +4108,7 @@ LOG( log_carDlgState, 3, ( "CarDlgOk()\n" ) )
CarInvListAdd( itemP );
else
CarInvListUpdate( itemP );
- changed++;
- SetWindowTitle();
+ SetFileChanged();
reloadRoadnameList = TRUE;
if ( carDlgUpdateItemPtr==NULL ) {
if ( carDlgQuantity > 1 ) {
@@ -4127,7 +4132,7 @@ LOG( log_carDlgState, 3, ( "CarDlgOk()\n" ) )
carDlgRepmarkStr[0] = '\0';
}
if ( carDlgUpdatePartPtr==NULL ) {
- partP = CarPartFind( carDlgManufStr, strlen(carDlgManufStr), carDlgPartnoStr, strlen(carDlgPartnoStr), carDlgScaleInx );
+ partP = CarPartFind( carDlgManufStr, (int)strlen(carDlgManufStr), carDlgPartnoStr, (int)strlen(carDlgPartnoStr), carDlgScaleInx );
if ( partP != NULL &&
NoticeMessage( MSG_CARPART_DUPNAME, _("Yes"), _("No") ) <= 0 )
return;
@@ -4136,10 +4141,10 @@ LOG( log_carDlgState, 3, ( "CarDlgOk()\n" ) )
carDlgNewPartPtr = CarPartNew( carDlgUpdatePartPtr, PARAM_CUSTOM, carDlgScaleInx, message, options, typeListMap[carDlgTypeInx].value,
&carDlgDim, carDlgBodyColor );
if ( carDlgNewPartPtr != NULL && ( f = OpenCustom("a") ) ) {
- oldLocale = SaveLocale("C");
- CarPartWrite( f, carDlgNewPartPtr );
- fclose(f);
- RestoreLocale(oldLocale);
+ SetCLocale();
+ CarPartWrite( f, carDlgNewPartPtr );
+ fclose(f);
+ SetUserLocale();
}
reloadRoadnameList = TRUE;
sprintf( message, _("%s Part: %s %s %s %s %s %s"), carDlgUpdatePartPtr==NULL?_("Added new"):_("Updated"), carDlgManufStr, carDlgPartnoStr, carDlgProtoStr, carDlgDescStr, carDlgRepmarkStr[ 0 ]?carDlgRepmarkStr:carDlgRoadnameStr, carDlgNumberStr );
@@ -4153,10 +4158,10 @@ LOG( log_carDlgState, 3, ( "CarDlgOk()\n" ) )
}
carDlgNewProtoPtr = CarProtoNew( carDlgUpdateProtoPtr, PARAM_CUSTOM, carDlgProtoStr, options, typeListMap[carDlgTypeInx].value, &carDlgDim, carDlgSegs_da.cnt, &carDlgSegs(0) );
if ( (f = OpenCustom("a") ) ) {
- oldLocale = SaveLocale("C");
+ SetCLocale();
CarProtoWrite( f, carDlgNewProtoPtr );
fclose(f);
- RestoreLocale(oldLocale);
+ SetUserLocale();
}
sprintf( message, _("%s Prototype: %s%s."),
carDlgUpdateProtoPtr==NULL?_("Added new"):_("Updated"), carDlgProtoStr,
@@ -4165,9 +4170,9 @@ LOG( log_carDlgState, 3, ( "CarDlgOk()\n" ) )
if ( reloadRoadnameList ) {
tabs[0].ptr = carDlgRoadnameStr;
- tabs[0].len = strlen(carDlgRoadnameStr);
+ tabs[0].len = (int)strlen(carDlgRoadnameStr);
tabs[1].ptr = carDlgRepmarkStr;
- tabs[1].len = strlen(carDlgRepmarkStr);
+ tabs[1].len = (int)strlen(carDlgRepmarkStr);
LoadRoadnameList( &tabs[0], &tabs[1] );
CarDlgLoadRoadnameList();
ParamLoadControl( &carDlgPG, I_CD_ROADNAME_LIST );
@@ -4227,12 +4232,12 @@ LOG( log_carDlgState, 3, ( "CarDlgOk()\n" ) )
static void CarDlgLayout(
paramData_t * pd,
int inx,
- wPos_t currX,
- wPos_t *xx,
- wPos_t *yy )
+ wWinPix_t currX,
+ wWinPix_t *xx,
+ wWinPix_t *yy )
{
- static wPos_t col2pos = 0;
- wPos_t y0, y1;
+ static wWinPix_t col2pos = 0;
+ wWinPix_t y0, y1;
switch (inx) {
case I_CD_PROTOTYPE_STR:
@@ -4295,13 +4300,13 @@ static void DoCarPartDlg( carDlgAction_e *actions )
roadnameMapChanged = TRUE;
for ( inx=0; inx<N_CONDLISTMAP; inx++ )
- wListAddValue( (wList_p)carDlgPLs[I_CD_COND].control, _(condListMap[inx].name), NULL, (void*)condListMap[inx].value );
+ wListAddValue( (wList_p)carDlgPLs[I_CD_COND].control, _(condListMap[inx].name), NULL, I2VP(condListMap[inx].value) );
for ( inx=0; inx<N_TYPELISTMAP; inx++ )
- wListAddValue( (wList_p)carDlgPLs[I_CD_TYPE_LIST].control, _(typeListMap[inx].name), NULL, (void*)typeListMap[inx].value );
+ wListAddValue( (wList_p)carDlgPLs[I_CD_TYPE_LIST].control, _(typeListMap[inx].name), NULL, I2VP(typeListMap[inx].value) );
for ( inx=0; inx<N_TYPELISTMAP; inx++ )
- wListAddValue( (wList_p)carDlgPLs[I_CD_PROTOKIND_LIST].control, _(typeListMap[inx].name), NULL, (void*)typeListMap[inx].value );
+ wListAddValue( (wList_p)carDlgPLs[I_CD_PROTOKIND_LIST].control, _(typeListMap[inx].name), NULL, I2VP(typeListMap[inx].value) );
wTextSetReadonly( (wText_p)carDlgPLs[I_CD_NOTES].control, FALSE );
}
@@ -4314,6 +4319,8 @@ static void DoCarPartDlg( carDlgAction_e *actions )
carDlgScaleInx = GetLayoutCurScale();
carDlgFlipToggle = FALSE;
carDlgChanged = 0;
+ for ( paramData_p p=carDlgPLs; p < carDlgPLs + COUNT( carDlgPLs ); p++ )
+ p->bInvalid = FALSE;
CarDlgDoStateActions( actions );
@@ -4349,7 +4356,7 @@ EXPORT void CarDlgAddDesc( void )
static wIndex_t carInvInx;
static wIndex_t carInvSort[] = { 0, 1, 2, 3 };
-#define N_SORT (sizeof carInvSort/sizeof carInvSort[0])
+#define N_SORT (COUNT( carInvSort ))
static void CarInvDlgAdd( void );
static void CarInvDlgEdit( void );
@@ -4359,7 +4366,7 @@ static void CarInvDlgExportCsv( void );
static void CarInvDlgSaveText( void );
static void CarInvListLoad( void );
-static wPos_t carInvColumnWidths[] = {
+static wWinPix_t carInvColumnWidths[] = {
-40, 30, 100, -50, 50, 130, 120, 100,
-50, -50, 60, 55, 55, 40, 200 };
static const char * carInvColumnTitles[] = {
@@ -4384,29 +4391,29 @@ static char * sortOrders[] = {
#define S_CONDITION (10)
#define S_PURCHDATE (11)
#define S_SRVDATE (12)
-static paramListData_t carInvListData = { 30, 600, sizeof carInvColumnTitles/sizeof carInvColumnTitles[0], carInvColumnWidths, carInvColumnTitles };
+static paramListData_t carInvListData = { 30, 600, COUNT( carInvColumnTitles ), carInvColumnWidths, carInvColumnTitles };
static paramData_t carInvPLs[] = {
#define I_CI_SORT (0)
- { PD_DROPLIST, &carInvSort[0], "sort1", PDO_LISTINDEX|0, (void*)110, N_("Sort By") },
- { PD_DROPLIST, &carInvSort[1], "sort2", PDO_LISTINDEX|PDO_DLGHORZ, (void*)110, "" },
- { PD_DROPLIST, &carInvSort[2], "sort3", PDO_LISTINDEX|PDO_DLGHORZ, (void*)110, "" },
- { PD_DROPLIST, &carInvSort[3], "sort4", PDO_LISTINDEX|PDO_DLGHORZ, (void*)110, "" },
+ { PD_DROPLIST, &carInvSort[0], "sort1", PDO_LISTINDEX|0, I2VP(110), N_("Sort By") },
+ { PD_DROPLIST, &carInvSort[1], "sort2", PDO_LISTINDEX|PDO_DLGHORZ, I2VP(110), "" },
+ { PD_DROPLIST, &carInvSort[2], "sort3", PDO_LISTINDEX|PDO_DLGHORZ, I2VP(110), "" },
+ { PD_DROPLIST, &carInvSort[3], "sort4", PDO_LISTINDEX|PDO_DLGHORZ, I2VP(110), "" },
#define S (4)
#define I_CI_LIST (S+0)
{ PD_LIST, &carInvInx, "list", PDO_LISTINDEX|PDO_DLGRESIZE|PDO_DLGNOLABELALIGN|PDO_DLGRESETMARGIN, &carInvListData, NULL, BO_READONLY|BL_MANY },
#define I_CI_EDIT (S+1)
- { PD_BUTTON, (void*)CarInvDlgEdit, "edit", PDO_DLGCMDBUTTON, NULL, N_("Edit") },
+ { PD_BUTTON, CarInvDlgEdit, "edit", PDO_DLGCMDBUTTON, NULL, N_("Edit") },
#define I_CI_ADD (S+2)
- { PD_BUTTON, (void*)CarInvDlgAdd, "add", 0, NULL, N_("Add"), 0, 0 },
+ { PD_BUTTON, CarInvDlgAdd, "add", 0, NULL, N_("Add"), 0, 0 },
#define I_CI_DELETE (S+3)
- { PD_BUTTON, (void*)CarInvDlgDelete, "delete", PDO_DLGWIDE, NULL, N_("Delete") },
+ { PD_BUTTON, CarInvDlgDelete, "delete", PDO_DLGWIDE, NULL, N_("Delete") },
#define I_CI_IMPORT_CSV (S+4)
- { PD_BUTTON, (void*)CarInvDlgImportCsv, "import", PDO_DLGWIDE, NULL, N_("Import") },
+ { PD_BUTTON, CarInvDlgImportCsv, "import", PDO_DLGWIDE, NULL, N_("Import") },
#define I_CI_EXPORT_CSV (S+5)
- { PD_BUTTON, (void*)CarInvDlgExportCsv, "export", 0, NULL, N_("Export") },
+ { PD_BUTTON, CarInvDlgExportCsv, "export", 0, NULL, N_("Export") },
#define I_CI_PRINT (S+6)
- { PD_BUTTON, (void*)CarInvDlgSaveText, "savetext", 0, NULL, N_("List") } };
-static paramGroup_t carInvPG = { "carinv", 0, carInvPLs, sizeof carInvPLs/sizeof carInvPLs[0] };
+ { PD_BUTTON, CarInvDlgSaveText, "savetext", 0, NULL, N_("List") } };
+static paramGroup_t carInvPG = { "carinv", 0, carInvPLs, COUNT( carInvPLs ) };
static carItem_p CarInvDlgFindCurrentItem( void )
{
@@ -4423,7 +4430,7 @@ static carItem_p CarInvDlgFindCurrentItem( void )
}
-static void CarInvDlgFind( void * junk )
+static void CarInvDlgFind( void * unused )
{
carItem_p item = CarInvDlgFindCurrentItem();
coOrd pos;
@@ -4433,7 +4440,7 @@ static void CarInvDlgFind( void * junk )
CarSetVisible( item->car );
panCenter = pos;
LOG( log_pan, 2, ( "PanCenter:%d %0.3f %0.3f\n", __LINE__, panCenter.x, panCenter.y ) );
- PanHere( (void*)0 ); // CarInvDlgFind
+ PanHere( I2VP(0) ); // CarInvDlgFind
}
@@ -4486,8 +4493,7 @@ static void CarInvDlgDelete( void )
inx--;
cnt--;
}
- changed++;
- SetWindowTitle();
+ SetFileChanged();
carInvInx = -1;
ParamLoadControl( &carInvPG, I_CI_LIST );
ParamControlActive( &carInvPG, I_CI_EDIT, FALSE );
@@ -4525,9 +4531,9 @@ static int CarInvSaveText(
item = carItemInfo(inx);
TabStringExtract( item->title, 7, tabs );
sprintf( message, "%ld", item->index );
- width = strlen( message );
+ width = (int)strlen( message );
if ( width > widths[0] ) widths[0] = width;
- width = strlen(GetScaleName(item->scaleInx)) + 1 + tabs[T_MANUF].len + 1 + tabs[T_PART].len;
+ width = (int)strlen(GetScaleName(item->scaleInx)) + 1 + tabs[T_MANUF].len + 1 + tabs[T_PART].len;
if ( width > widths[1] ) widths[1] = width;
if ( tabs[T_PROTO].len > widths[2] ) widths[2] = tabs[T_PROTO].len;
width = tabs[T_REPMARK].len + tabs[T_NUMBER].len;
@@ -4537,14 +4543,14 @@ static int CarInvSaveText(
if ( item->data.purchDate > 0 ) widths[4] = 8;
if ( item->data.purchPrice > 0 ) {
sprintf( message, "%0.2f", item->data.purchPrice );
- width = strlen(message);
+ width = (int)strlen(message);
if ( width > widths[5] ) widths[5] = width;
}
if ( item->data.condition != 0 )
widths[6] = 5;
if ( item->data.currPrice > 0 ) {
sprintf( message, "%0.2f", item->data.currPrice );
- width = strlen(message);
+ width = (int)strlen(message);
if ( width > widths[7] ) widths[7] = width;
}
if ( item->data.serviceDate > 0 ) widths[8] = 8;
@@ -4614,9 +4620,9 @@ static int CarInvSaveText(
while ( 1 ) {
cp1 = strchr( cp0, '\n' );
if ( cp1 ) {
- len = cp1-cp0;
+ len = (int)(cp1-cp0);
} else {
- len = strlen( cp0 );
+ len = (int)strlen( cp0 );
if ( len == 0 )
break;
}
@@ -4715,11 +4721,11 @@ static int ParseCsvLine(
rc = NoticeMessage( MSG_CARIMP_MISSING_COMMA, _("Continue"), _("Stop"), ptr );
return (rc<1)?-1:elem;
}
- len = cq-ptr;
+ len = (int)(cq-ptr);
} else {
ptr = cp;
while ( *cp && *cp != ',' ) { cp++; }
- len = cp-ptr;
+ len = (int)(cp-ptr);
}
if ( map[elem] >= 0 ) {
tabs[map[elem]].ptr = ptr;
@@ -4752,7 +4758,6 @@ static int CarInvImportCsv(
SCALEINX_T scale;
carPart_p partP;
int requiredCols;
- char *oldLocale = NULL;
assert( fileName != NULL );
assert( files == 1 );
@@ -4764,34 +4769,34 @@ static int CarInvImportCsv(
return FALSE;
}
- oldLocale = SaveLocale("C");
+ SetCLocale();
if ( fgets( message, sizeof message, f ) == NULL ) {
NoticeMessage( MSG_CARIMP_NO_DATA, _("Continue"), NULL );
fclose( f );
- RestoreLocale(oldLocale);
+ SetUserLocale();
return FALSE;
}
for ( j=0; j<40; j++ ) map[j] = j;
numCol = ParseCsvLine( message, 40, tabs, map );
if ( numCol <= 0 ) {
fclose( f );
- RestoreLocale(oldLocale);
+ SetUserLocale();
return FALSE;
}
for ( j=0; j<40; j++ ) map[j] = -1;
requiredCols = 0;
for ( i=0; i<numCol; i++ ) {
- for ( j=0; j<sizeof carCsvColumnTitles/sizeof carCsvColumnTitles[0]; j++ ) {
+ for ( j=0; j<COUNT( carCsvColumnTitles ); j++ ) {
if ( TabStringCmp( carCsvColumnTitles[j], &tabs[i] ) == 0 ) {
if ( map[i] >= 0 ) {
NoticeMessage( MSG_CARIMP_DUP_COLUMNS, _("Continue"), NULL, carCsvColumnTitles[j] );
fclose( f );
- RestoreLocale(oldLocale);
+ SetUserLocale();
return FALSE;
}
map[i] = j;
- /*j = sizeof carCsvColumnTitles/sizeof carCsvColumnTitles[0];*/
+ /*j = COUNT( carCsvColumnTitles );*/
if ( j == M_SCALE || j == M_PROTO || j == M_MANUF || j == M_PARTNO )
requiredCols++;
}
@@ -4805,7 +4810,7 @@ static int CarInvImportCsv(
if ( requiredCols != 4 ) {
NoticeMessage( MSG_CARIMP_MISSING_COLUMNS, _("Continue"), NULL );
fclose( f );
- RestoreLocale(oldLocale);
+ SetUserLocale();
return FALSE;
}
while ( fgets( message, sizeof message, f ) != NULL ) {
@@ -4835,7 +4840,7 @@ static int CarInvImportCsv(
rc = NoticeMessage( MSG_CARIMP_MISSING_PARTNO, _("Continue"), _("Stop"), tabs[M_MANUF].ptr );
if ( rc <= 0 ) {
fclose( f );
- RestoreLocale(oldLocale);
+ SetUserLocale();
return FALSE;
}
continue;
@@ -4863,6 +4868,7 @@ static int CarInvImportCsv(
if ( dim.truckCenter <= 0 ) dim.truckCenter = partP->dim.truckCenter;
if ( dim.truckCenterOffset < 0 ) dim.truckCenterOffset = partP->dim.truckCenterOffset;
}
+ if (dim.truckCenterOffset <0) dim.truckCenterOffset = 0;
cp = TabStringCpy( title, &tabs[M_MANUF] );
*cp++ = '\t';
cp = TabStringCpy( cp, &tabs[M_PROTO] );
@@ -4889,7 +4895,7 @@ static int CarInvImportCsv(
rc = NoticeMessage( MSG_CARIMP_MISSING_DIMS, _("Yes"), _("No"), message );
if ( rc <= 0 ) {
fclose( f );
- RestoreLocale(oldLocale);
+ SetUserLocale();
return FALSE;
}
continue;
@@ -4898,7 +4904,7 @@ static int CarInvImportCsv(
&dim, wDrawFindColor(color),
purchPrice, currPrice, condition, purchDate, srvcDate );
if ( tabs[M_NOTES].len > 0 ) {
- item->data.notes = cp = MyMalloc( tabs[M_NOTES].len+1 );
+ item->data.notes = cp = MyMalloc( (tabs[M_NOTES].len+2) );
for ( cq=tabs[M_NOTES].ptr,len=tabs[M_NOTES].len; *cq&&len; ) {
if ( strncmp( cq, "<NL>", 4 ) == 0 ) {
*cp++ = '\n';
@@ -4910,11 +4916,10 @@ static int CarInvImportCsv(
}
}
}
- changed++;
- SetWindowTitle();
+ SetFileChanged();
}
fclose( f );
- RestoreLocale(oldLocale);
+ SetUserLocale();
CarInvListLoad();
return TRUE;
}
@@ -4988,7 +4993,6 @@ static int CarInvExportCsv(
long inx;
tabString_t tabs[7];
char * sp;
- char *oldLocale = NULL;
assert( fileName != NULL );
assert( files == 1 );
@@ -5000,17 +5004,17 @@ static int CarInvExportCsv(
return FALSE;
}
- oldLocale = SaveLocale("C");
+ SetCLocale();
- for ( inx=0; inx<sizeof carCsvColumnTitles/sizeof carCsvColumnTitles[0]; inx++ ) {
- CsvFormatString( f, carCsvColumnTitles[inx], strlen(carCsvColumnTitles[inx]), inx<(sizeof carCsvColumnTitles/sizeof carCsvColumnTitles[0])-1?",":"\n" );
+ for ( inx=0; inx<COUNT( carCsvColumnTitles ); inx++ ) {
+ CsvFormatString( f, carCsvColumnTitles[inx], (int)strlen(carCsvColumnTitles[inx]), inx<(COUNT( carCsvColumnTitles ))-1?",":"\n" );
}
for ( inx=0; inx<carItemInfo_da.cnt; inx++ ) {
item = carItemInfo( inx );
TabStringExtract( item->title, 7, tabs );
CsvFormatLong( f, item->index, "," );
sp = GetScaleName(item->scaleInx);
- CsvFormatString( f, sp, strlen(sp), "," );
+ CsvFormatString( f, sp, (int)strlen(sp), "," );
CsvFormatString( f, tabs[T_MANUF].ptr, tabs[T_MANUF].len, "," );
CsvFormatLong( f, item->type, "," );
CsvFormatString( f, tabs[T_PART].ptr, tabs[T_PART].len, "," );
@@ -5022,8 +5026,8 @@ static int CarInvExportCsv(
CsvFormatLong( f, item->options, "," );
CsvFormatFloat( f, item->dim.carLength, 3, "," );
CsvFormatFloat( f, item->dim.carWidth, 3, "," );
- CsvFormatFloat( f, item->dim.truckCenterOffset, 3, ",");
CsvFormatFloat( f, item->dim.coupledLength, 3, "," );
+ CsvFormatFloat( f, item->dim.truckCenterOffset, 3, ",");
CsvFormatFloat( f, item->dim.truckCenter, 3, "," );
CsvFormatLong( f, wDrawGetRGB(item->color), "," );
CsvFormatFloat( f, item->data.purchPrice, 2, "," );
@@ -5032,12 +5036,12 @@ static int CarInvExportCsv(
CsvFormatLong( f, item->data.purchDate, "," );
CsvFormatLong( f, item->data.serviceDate, "," );
if ( item->data.notes )
- CsvFormatString( f, item->data.notes, strlen(item->data.notes), "\n" );
+ CsvFormatString( f, item->data.notes, (int)strlen(item->data.notes), "\n" );
else
- CsvFormatString( f, "", strlen(""), "\n" );
+ CsvFormatString( f, "", (int)strlen(""), "\n" );
}
fclose( f );
- RestoreLocale(oldLocale);
+ SetUserLocale();
return TRUE;
}
@@ -5249,13 +5253,13 @@ static void CarInvListUpdate(
}
-EXPORT void DoCarDlg( void )
+EXPORT void DoCarDlg( void * unused )
{
int inx, inx2;
if ( carInvPG.win == NULL ) {
ParamCreateDialog( &carInvPG, MakeWindowTitle(_("Car Inventory")), _("Find"), CarInvDlgFind, wHide, TRUE, NULL, F_BLOCK|F_RESIZE|F_RECALLSIZE|PD_F_ALT_CANCELLABEL, CarInvDlgUpdate );
for ( inx=I_CI_SORT; inx<I_CI_SORT+N_SORT; inx++ ) {
- for ( inx2=0; inx2<sizeof sortOrders/sizeof sortOrders[0]; inx2++ ) {
+ for ( inx2=0; inx2<COUNT( sortOrders ); inx2++ ) {
wListAddValue( (wList_p)carInvPLs[inx].control, _(sortOrders[inx2]), NULL, NULL );
ParamLoadControl( &carInvPG, inx );
}
@@ -5434,7 +5438,7 @@ EXPORT void CarCustMgmLoad( void )
partP = carPart(parentP,partX);
if ( partP->paramFileIndex != PARAM_CUSTOM )
continue;
- CustMgmLoad( carpartI, CarPartCustMgmProc, (void*)partP );
+ CustMgmLoad( carpartI, CarPartCustMgmProc, partP );
}
}
@@ -5443,7 +5447,7 @@ EXPORT void CarCustMgmLoad( void )
if ( carProtoP->paramFileIndex != PARAM_CUSTOM )
continue;
if (carProtoP->paramFileIndex == PARAM_CUSTOM) {
- CustMgmLoad( carprotoI, CarProtoCustMgmProc, (void*)carProtoP );
+ CustMgmLoad( carprotoI, CarProtoCustMgmProc, carProtoP );
}
}
}
diff --git a/app/bin/dcmpnd.c b/app/bin/dcmpnd.c
index 93e73ac..b86ab7b 100644
--- a/app/bin/dcmpnd.c
+++ b/app/bin/dcmpnd.c
@@ -20,20 +20,15 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <ctype.h>
-#include <string.h>
-
#include "compound.h"
#include "cundo.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "param.h"
#include "include/paramfile.h"
#include "shrtpath.h"
#include "track.h"
-#include "utility.h"
+#include "common-ui.h"
/*****************************************************************************
*
@@ -68,14 +63,14 @@ static paramData_t updateTitlePLs[] = {
{ PD_MESSAGE, "You can use the List Labels control on the Preferences dialog to" },
{ PD_MESSAGE, "control the format of the list entries" },
#define I_UPDATESTR (9)
- { PD_STRING, NULL, "old", PDO_NOPREF, (void*)400, NULL, BO_READONLY },
+ { PD_STRING, NULL, "old", PDO_NOPREF, I2VP(400), NULL, BO_READONLY },
#define I_UPDATELIST (10)
#define updateTitleL ((wList_p)updateTitlePLs[I_UPDATELIST].control)
- { PD_DROPLIST, NULL, "sel", PDO_NOPREF, (void*)400 },
- { PD_BUTTON, (void*)UpdateTitleIgnore, "ignore", PDO_DLGCMDBUTTON, NULL, N_("Ignore") },
+ { PD_DROPLIST, NULL, "sel", PDO_NOPREF, I2VP(400) },
+ { PD_BUTTON, UpdateTitleIgnore, "ignore", PDO_DLGCMDBUTTON, NULL, N_("Ignore") },
#define I_UPDATELOAD (12)
{ PD_BUTTON, NULL, "load", 0, NULL, N_("Load") } };
-static paramGroup_t updateTitlePG = { "updatetitle", 0, updateTitlePLs, sizeof updateTitlePLs/sizeof updateTitlePLs[0] };
+static paramGroup_t updateTitlePG = { "updatetitle", 0, updateTitlePLs, COUNT( updateTitlePLs ) };
static void UpdateTitleChange( long changes )
@@ -102,7 +97,7 @@ static void UpdateTitleNext( void )
wIndex_t inx;
wIndex_t cnt;
track_p trk;
- struct extraData *xx;
+ struct extraDataCompound_t *xx;
updateTitleInx++;
if (updateTitleInx >= updateTitles_da.cnt) {
wHide( updateTitleW );
@@ -112,8 +107,9 @@ static void UpdateTitleNext( void )
trk = NULL;
while (TrackIterate( &trk ) ) {
InfoCount(cnt++);
- if (GetTrkType(trk) == T_TURNOUT || GetTrkType(trk) == T_STRUCTURE) {
- xx = GetTrkExtraData(trk);
+ TRKTYP_T trkType = GetTrkType(trk);
+ if (trkType == T_TURNOUT || trkType == T_STRUCTURE) {
+ xx = GET_EXTRA_DATA(trk, trkType, extraDataCompound_t);
for (inx=0; inx<updateTitles_da.cnt; inx++) {
if ( updateTitles(inx).old &&
strcmp( xx->title, updateTitles(inx).old ) == 0 ) {
@@ -126,8 +122,7 @@ static void UpdateTitleNext( void )
DYNARR_RESET( updateTitleElement, updateTitles_da );
InfoMessage("");
InfoCount( trackCount );
- changed++;
- SetWindowTitle();
+ SetFileChanged();
DoChangeNotification( CHANGE_MAIN );
return;
}
@@ -169,7 +164,7 @@ void DoUpdateTitles( void )
return;
if (updateTitleW == NULL) {
ParamRegister( &updateTitlePG );
- updateTitlePLs[I_UPDATELOAD].valueP = (void*)ParamFilesInit();
+ updateTitlePLs[I_UPDATELOAD].valueP = ParamFilesInit();
updateTitleW = ParamCreateDialog( &updateTitlePG, MakeWindowTitle(_("Update Title")), _("Update"), UpdateTitleUpdate, UpdateTitleCancel, TRUE, NULL, 0, NULL );
RegisterChangeNotification( UpdateTitleChange );
}
@@ -218,7 +213,7 @@ static BOOL_T CheckCompoundEndPoint(
BOOL_T flip )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(trk, T_TURNOUT, extraDataCompound_t);
coOrd pos;
DIST_T d;
ANGLE_T a, a2;
@@ -251,7 +246,6 @@ static BOOL_T RefreshCompound1(
track_p trk,
turnoutInfo_t * to )
{
- struct extraData *xx = GetTrkExtraData(trk);
EPINX_T ep, epCnt;
BOOL_T ok;
BOOL_T flip = FALSE;
@@ -286,16 +280,15 @@ static BOOL_T RefreshCompound1(
}
}
UndoModify( trk );
+ struct extraDataCompound_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataCompound_t);
FreeFilledDraw( xx->segCnt, xx->segs );
MyFree( xx->segs );
xx->segCnt = to->segCnt;
xx->segs = (trkSeg_p)MyMalloc( xx->segCnt * sizeof *(trkSeg_p)0 );
memcpy( xx->segs, to->segs, xx->segCnt * sizeof *(trkSeg_p)0 );
- MyFree( xx->paths);
- xx->paths = (signed char*)MyMalloc( to->pathLen * sizeof *xx->paths );
- memcpy( xx->paths, to->paths, to->pathLen * sizeof *xx->paths );
- xx->pathLen = to->pathLen;
- xx->pathCurr = xx->paths;
+ xx->pathOverRide = to->pathOverRide;
+ xx->pathNoCombine = to->pathNoCombine;
+ SetPaths( trk, GetParamPaths(to) );
if ( flip )
FlipSegs( xx->segCnt, xx->segs, zero, 90.0 );
ClrTrkBits( trk, TB_SELECTED );
@@ -313,19 +306,19 @@ static dynArr_t refreshSpecial_da;
#define refreshSpecial(N) DYNARR_N( refreshSpecial_t, refreshSpecial_da, N )
static wIndex_t refreshSpecialInx;
static BOOL_T refreshReturnVal;
-static void RefreshSkip( void * );
+static void RefreshSkip( void * junk );
static paramListData_t refreshSpecialListData = { 30, 600, 0, NULL, NULL };
static paramData_t refreshSpecialPLs[] = {
#define REFRESH_M1 (0)
- { PD_MESSAGE, NULL, NULL, 0/*PDO_DLGRESIZEW*/, (void*)380 },
+ { PD_MESSAGE, NULL, NULL, 0/*PDO_DLGRESIZEW*/, I2VP(380) },
#define REFRESH_M2 (1)
- { PD_MESSAGE, NULL, NULL, 0/*PDO_DLGRESIZEW*/, (void*)380 },
+ { PD_MESSAGE, NULL, NULL, 0/*PDO_DLGRESIZEW*/, I2VP(380) },
#define REFRESH_S (2)
- { PD_MESSAGE, NULL, NULL, 0/*PDO_DLGRESIZEW*/, (void*)380 },
+ { PD_MESSAGE, NULL, NULL, 0/*PDO_DLGRESIZEW*/, I2VP(380) },
#define REFRESH_L (3)
{ PD_LIST, &refreshSpecialInx, "list", PDO_LISTINDEX|PDO_NOPREF|PDO_DLGRESIZE, &refreshSpecialListData, NULL, BO_READONLY },
- { PD_BUTTON, (void*)RefreshSkip, "skip", PDO_DLGCMDBUTTON, NULL, N_("Skip") } };
-static paramGroup_t refreshSpecialPG = { "refreshSpecial", 0, refreshSpecialPLs, sizeof refreshSpecialPLs/sizeof refreshSpecialPLs[0] };
+ { PD_BUTTON, RefreshSkip, "skip", PDO_DLGCMDBUTTON, NULL, N_("Skip") } };
+static paramGroup_t refreshSpecialPG = { "refreshSpecial", 0, refreshSpecialPLs, COUNT( refreshSpecialPLs ) };
static void RefreshSpecialOk(
void * junk )
{
@@ -350,7 +343,7 @@ EXPORT BOOL_T RefreshCompound(
BOOL_T junk )
{
TRKTYP_T trkType;
- struct extraData *xx;
+ struct extraDataCompound_t *xx;
int inx;
turnoutInfo_t *to;
SCALEINX_T scale;
@@ -365,12 +358,12 @@ EXPORT BOOL_T RefreshCompound(
return FALSE;
}
trkType = GetTrkType(trk);
- xx = GetTrkExtraData(trk);
scale = GetTrkScale(trk);
if ( trkType != T_TURNOUT && trkType != T_STRUCTURE ) {
ClrTrkBits( trk, TB_SELECTED );
return TRUE;
}
+ xx = GET_EXTRA_DATA(trk, trkType, extraDataCompound_t);
refreshReturnVal = TRUE;
for ( inx=0; inx<refreshSpecial_da.cnt; inx++ ) {
if ( refreshSpecial(inx).name != NULL &&
@@ -380,7 +373,7 @@ EXPORT BOOL_T RefreshCompound(
return TRUE;
if ( IsParamValid(to->paramFileIndex) &&
to->segCnt > 0 &&
- CompatibleScale( GetTrkEndPtCnt(trk)>0, to->scaleInx, scale ) ) {
+ (FIT_NONE != CompatibleScale( GetTrkEndPtCnt(trk)>0, to->scaleInx, scale ) )) {
if ( RefreshCompound1( trk, refreshSpecial(inx).to ) ) {
if ( strcasecmp( xx->title, to->title ) != 0 ) {
MyFree( xx->title );
@@ -453,10 +446,10 @@ static char renamePartno[STR_SIZE];
static turnoutInfo_t * renameTo;
static paramData_t renamePLs[] = {
-/*0*/ { PD_STRING, renameManuf, "manuf", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)350, N_("Manufacturer"), 0, 0, sizeof(renameManuf)},
-/*1*/ { PD_STRING, renameDesc, "desc", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)230, N_("Description"), 0, 0, sizeof(renameDesc)},
-/*2*/ { PD_STRING, renamePartno, "partno", PDO_NOPREF|PDO_DLGHORZ|PDO_DLGIGNORELABELWIDTH | PDO_STRINGLIMITLENGTH, (void*)100, N_("#"), 0, 0, sizeof(renamePartno)} };
-static paramGroup_t renamePG = { "rename", 0, renamePLs, sizeof renamePLs/sizeof renamePLs[0] };
+/*0*/ { PD_STRING, renameManuf, "manuf", PDO_NOPREF | PDO_NOTBLANK, I2VP(350), N_("Manufacturer"), 0, 0, sizeof(renameManuf)},
+/*1*/ { PD_STRING, renameDesc, "desc", PDO_NOPREF | PDO_NOTBLANK, I2VP(230), N_("Description"), 0, 0, sizeof(renameDesc)},
+/*2*/ { PD_STRING, renamePartno, "partno", PDO_NOPREF|PDO_DLGHORZ|PDO_DLGIGNORELABELWIDTH | PDO_NOTBLANK, I2VP(100), N_("#"), 0, 0, sizeof(renamePartno)} };
+static paramGroup_t renamePG = { "rename", 0, renamePLs, COUNT( renamePLs ) };
EXPORT BOOL_T CompoundCustomSave(
@@ -472,7 +465,7 @@ EXPORT BOOL_T CompoundCustomSave(
rc &= fprintf( f, "TURNOUT %s \"%s\"\n", GetScaleName(to->scaleInx), PutTitle(to->title) )>0;
if ( to->customInfo )
rc &= fprintf( f, "\tU %s\n",to->customInfo )>0;
- rc &= WriteCompoundPathsEndPtsSegs( f, to->paths, to->segCnt, to->segs,
+ rc &= WriteCompoundPathsEndPtsSegs( f, GetParamPaths( to ), to->segCnt, to->segs,
to->endCnt, to->endPt );
}
}
@@ -519,7 +512,8 @@ static int CompoundCustMgmProc(
rc &= fprintf( customMgmF, "TURNOUT %s \"%s\"\n", GetScaleName(to->scaleInx), PutTitle(to->title) )>0;
if ( to->customInfo )
rc &= fprintf( customMgmF, "\tU %s\n",to->customInfo )>0;
- rc &= WriteCompoundPathsEndPtsSegs( customMgmF, to->paths, to->segCnt, to->segs,
+ rc &= WriteCompoundPathsEndPtsSegs( customMgmF,
+ GetParamPaths( to ), to->segCnt, to->segs,
to->endCnt, to->endPt );
} else {
rc &= fprintf( customMgmF, "STRUCTURE %s \"%s\"\n", GetScaleName(to->scaleInx), PutTitle(to->title) )>0;
@@ -573,7 +567,7 @@ static int CompoundCustMgmProc(
#include "bitmaps/turnout.xpm"
-#include "bitmaps/struct.xpm"
+#include "bitmaps/building.xpm"
EXPORT void CompoundCustMgmLoad( void )
{
@@ -583,20 +577,20 @@ EXPORT void CompoundCustMgmLoad( void )
static wIcon_p structI = NULL;
if ( turnoutI == NULL )
- turnoutI = wIconCreatePixMap( turnout_xpm );
+ turnoutI = wIconCreatePixMap( turnout_xpm[0] );
if ( structI == NULL )
- structI = wIconCreatePixMap( struct_xpm );
+ structI = wIconCreatePixMap( building_xpm[0] );
for ( inx=0; inx<turnoutInfo_da.cnt; inx++ ) {
to = turnoutInfo(inx);
if (to->paramFileIndex == PARAM_CUSTOM && to->segCnt > 0) {
- CustMgmLoad( turnoutI, CompoundCustMgmProc, (void*)to );
+ CustMgmLoad( turnoutI, CompoundCustMgmProc, to );
}
}
for ( inx=0; inx<structureInfo_da.cnt; inx++ ) {
to = structureInfo(inx);
if (to->paramFileIndex == PARAM_CUSTOM && to->segCnt > 0) {
- CustMgmLoad( structI, CompoundCustMgmProc, (void*)to );
+ CustMgmLoad( structI, CompoundCustMgmProc, to );
}
}
}
diff --git a/app/bin/dcontmgm.c b/app/bin/dcontmgm.c
index 19abefa..1ffd067 100644
--- a/app/bin/dcontmgm.c
+++ b/app/bin/dcontmgm.c
@@ -60,22 +60,10 @@
static const char rcsid[] = "@(#) : $Id$";
-#include <errno.h>
-#include <math.h>
-
-#ifdef WINDOWS
-#include <io.h>
-#define F_OK (0)
-#define W_OK (2)
-#define access _access
-#endif
-
#include "cundo.h"
#include "custom.h"
-#include "i18n.h"
#include "param.h"
#include "track.h"
-#include "wlib.h"
/*****************************************************************************
@@ -87,7 +75,7 @@ static const char rcsid[] = "@(#) : $Id$";
static void ControlEdit( void * action );
static void ControlDelete( void * action );
static void ControlDone( void * action );
-static wPos_t controlListWidths[] = { 18, 100, 150 };
+static wWinPix_t controlListWidths[] = { 18, 100, 150 };
static const char * controlListTitles[] = { "", N_("Name"),
N_("Tracks") };
static paramListData_t controlListData = { 10, 400, 3, controlListWidths, controlListTitles };
@@ -96,11 +84,11 @@ static paramData_t controlPLs[] = {
#define controlSelL ((wList_p)controlPLs[I_CONTROLLIST].control)
{ PD_LIST, NULL, "inx", PDO_DLGRESETMARGIN|PDO_DLGRESIZE, &controlListData, NULL, BL_MANY },
#define I_CONTROLEDIT (1)
- { PD_BUTTON, (void*)ControlEdit, "edit", PDO_DLGCMDBUTTON, NULL, N_("Edit") },
+ { PD_BUTTON, ControlEdit, "edit", PDO_DLGCMDBUTTON, NULL, N_("Edit") },
#define I_CONTROLDEL (2)
- { PD_BUTTON, (void*)ControlDelete, "delete", 0, NULL, N_("Delete") },
+ { PD_BUTTON, ControlDelete, "delete", 0, NULL, N_("Delete") },
} ;
-static paramGroup_t controlPG = { "contmgm", 0, controlPLs, sizeof controlPLs/sizeof controlPLs[0] };
+static paramGroup_t controlPG = { "contmgm", 0, controlPLs, COUNT( controlPLs ) };
typedef struct {
diff --git a/app/bin/dcustmgm.c b/app/bin/dcustmgm.c
index 39bd085..73de62c 100644
--- a/app/bin/dcustmgm.c
+++ b/app/bin/dcustmgm.c
@@ -20,29 +20,14 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <assert.h>
-#include <errno.h>
-#include <string.h>
-
-#ifdef WINDOWS
-#include <io.h>
-#define F_OK (0)
-#define W_OK (2)
-#define access _access
-#else
-#include <unistd.h>
-#endif
-
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "param.h"
#include "paths.h"
#include "track.h"
-#include "wlib.h"
#include "include/paramfilelist.h"
-#ifdef WINDOWS
+#include "common-ui.h"
+#ifdef UTFCONVERT
#include "include/utf8convert.h"
#endif
@@ -55,7 +40,7 @@ static void CustomNewCar( void * action );
static const char * customTypes[] = { "Car Part", "Car Prototype", NULL };
static wIndex_t selectedType;
-static wPos_t customListWidths[] = { 18, 100, 30, 80, 220 };
+static wWinPix_t customListWidths[] = { 18, 100, 30, 80, 220 };
static const char * customListTitles[] = { "", N_("Manufacturer"),
N_("Scale"), N_("Part No"), N_("Description") };
static paramListData_t customListData = { 10, 400, 5, customListWidths, customListTitles };
@@ -64,17 +49,17 @@ static paramData_t customPLs[] = {
#define customSelL ((wList_p)customPLs[I_CUSTOMLIST].control)
{ PD_LIST, NULL, "inx", PDO_DLGRESETMARGIN|PDO_DLGRESIZE|PDO_DLGBOXEND, &customListData, NULL, BL_MANY },
#define I_CUSTOMNEWTYPE (1)
- { PD_DROPLIST, &selectedType, "newtype", PDO_DLGRESETMARGIN | PDO_LISTINDEX, (void*)150, N_("Create a new ") },
+ { PD_DROPLIST, &selectedType, "newtype", PDO_DLGRESETMARGIN | PDO_LISTINDEX, I2VP(150), N_("Create a new ") },
#define I_CUSTOMNEW (2)
- { PD_BUTTON, (void *)CustomNewCar, "newcar", PDO_DLGHORZ| PDO_DLGBOXEND, NULL, N_("Go") },
+ { PD_BUTTON, CustomNewCar, "newcar", PDO_DLGHORZ| PDO_DLGBOXEND, NULL, N_("Go") },
#define I_CUSTOMEDIT (3)
- { PD_BUTTON, (void*)CustomEdit, "edit", PDO_DLGCMDBUTTON, NULL, N_("Edit") },
+ { PD_BUTTON, CustomEdit, "edit", PDO_DLGCMDBUTTON, NULL, N_("Edit") },
#define I_CUSTOMDEL (4)
- { PD_BUTTON, (void*)CustomDelete, "delete", 0, NULL, N_("Delete") },
+ { PD_BUTTON, CustomDelete, "delete", 0, NULL, N_("Delete") },
#define I_CUSTOMCOPYTO (5)
- { PD_BUTTON, (void*)CustomExport, "export", 0, NULL, N_("Move To") },
+ { PD_BUTTON, CustomExport, "export", 0, NULL, N_("Move To") },
} ;
-static paramGroup_t customPG = { "custmgm", 0, customPLs, sizeof customPLs/sizeof customPLs[0] };
+static paramGroup_t customPG = { "custmgm", 0, customPLs, COUNT( customPLs ) };
typedef struct {
@@ -186,8 +171,8 @@ EXPORT FILE * customMgmF;
static char custMgmContentsStr[STR_SIZE];
static BOOL_T custMgmProceed;
static paramData_t custMgmContentsPLs[] = {
- { PD_STRING, custMgmContentsStr, "label", PDO_STRINGLIMITLENGTH, (void*)400, N_("Label"), 0, 0, sizeof(custMgmContentsStr)} };
-static paramGroup_t custMgmContentsPG = { "contents", 0, custMgmContentsPLs, sizeof custMgmContentsPLs/sizeof custMgmContentsPLs[0] };
+ { PD_STRING, custMgmContentsStr, "label", PDO_NOTBLANK, I2VP(400), N_("Label"), 0, 0, sizeof(custMgmContentsStr)} };
+static paramGroup_t custMgmContentsPG = { "contents", 0, custMgmContentsPLs, COUNT( custMgmContentsPLs ) };
static void CustMgmContentsOk( void * junk )
{
@@ -205,7 +190,6 @@ static int CustomDoExport(
wIndex_t selcnt = wListGetSelectedCount( (wList_p)customPLs[0].control );
wIndex_t inx, cnt;
custMgmContext_p context = NULL;
- char *oldLocale = NULL;
assert( fileName != NULL );
assert( files == 1 );
@@ -237,18 +221,18 @@ static int CustomDoExport(
return FALSE;
}
- oldLocale = SaveLocale("C");
+ SetCLocale();
if (rc == -1)
{
- #ifdef WINDOWS
+ #ifdef UTFCONVERT
char *contents = MyStrdup(custMgmContentsStr);
contents = Convert2UTF8(contents);
fprintf(customMgmF, "CONTENTS %s\n", contents);
MyFree(contents);
#else
fprintf(customMgmF, "CONTENTS %s\n", custMgmContentsStr);
- #endif // WINDOWS
+ #endif // UTFCONVERT
}
cnt = wListGetCount( (wList_p)customPLs[0].control );
@@ -260,7 +244,7 @@ static int CustomDoExport(
if (!context->proc( CUSTMGM_DO_COPYTO, context->data )) {
NoticeMessage( MSG_WRITE_FAILURE, _("Ok"), NULL, strerror(errno), fileName[ 0 ] );
fclose( customMgmF );
- RestoreLocale(oldLocale);
+ SetUserLocale();
return FALSE;
}
context->proc( CUSTMGM_DO_DELETE, context->data );
@@ -270,7 +254,7 @@ static int CustomDoExport(
cnt--;
}
fclose( customMgmF );
- RestoreLocale(oldLocale);
+ SetUserLocale();
LoadParamFile( 1, fileName, NULL );
DoChangeNotification( CHANGE_PARAMS );
return TRUE;
@@ -288,18 +272,17 @@ static void CustomExport( void * junk )
static void CustomDone( void * action )
{
- char *oldLocale = NULL;
FILE * f = OpenCustom("w");
if (f == NULL) {
wHide( customPG.win );
return;
}
- oldLocale = SaveLocale("C");
+ SetCLocale();
CompoundCustomSave(f);
CarCustomSave(f);
fclose(f);
- RestoreLocale(oldLocale);
+ SetUserLocale();
wHide( customPG.win );
}
diff --git a/app/bin/dease.c b/app/bin/dease.c
index d01f0df..2b393db 100644
--- a/app/bin/dease.c
+++ b/app/bin/dease.c
@@ -20,14 +20,11 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
-#include <string.h>
-
+#include "common.h"
#include "ccurve.h"
#include "cjoin.h"
#include "cstraigh.h"
#include "custom.h"
-#include "i18n.h"
#include "fileio.h"
#include "param.h"
#include "track.h"
@@ -67,17 +64,18 @@ static void EasementCancel( void );
static char *easementChoiceLabels[] = { N_("None"), N_("Sharp"), N_("Normal"), N_("Broad"), N_("Cornu"), NULL };
static paramFloatRange_t r0n1_100 = { -1.0, 100.0, 60 };
static paramFloatRange_t r0_100 = { 0.0, 100.0, 60 };
+static paramFloatRange_t r0_200 = { 0.0, 200.0, 60 };
static paramFloatRange_t r0_10 = { 0.0, 10.0, 60 };
static long easeM;
static paramData_t easementPLs[] = {
#define I_EASEVAL (0)
{ PD_FLOAT, &easementVal, "val", PDO_NOPSHUPD, &r0n1_100, N_("Value") },
- { PD_FLOAT, &easeR, "r", PDO_DIM|PDO_DLGRESETMARGIN, &r0_100, N_("R"), BO_READONLY },
+ { PD_FLOAT, &easeR, "r", PDO_DIM|PDO_DLGRESETMARGIN, &r0_200, N_("R"), BO_READONLY },
{ PD_FLOAT, &easeX, "x", PDO_DIM|PDO_DLGHORZ, &r0_10, N_("X"), BO_READONLY },
{ PD_FLOAT, &easeL, "l", PDO_DIM|PDO_DLGHORZ, &r0_100, N_("L"), BO_READONLY },
#define I_EASESEL (4)
{ PD_RADIO, &easeM, "radio", PDO_DIM|PDO_NORECORD|PDO_NOPREF|PDO_DLGRESETMARGIN, easementChoiceLabels, NULL, BC_HORZ|BC_NONE } };
-static paramGroup_t easementPG = { "easement", PGO_RECORD, easementPLs, sizeof easementPLs/sizeof easementPLs[0] };
+static paramGroup_t easementPG = { "easement", PGO_RECORD, easementPLs, COUNT( easementPLs ) };
static void SetEasement(
@@ -164,14 +162,14 @@ static void SetEasement(
static void EasementOk( void )
{
ParamLoadData( &easementPG );
- SetEasement( easementVal, (void*)FALSE );
+ SetEasement( easementVal, I2VP(FALSE) );
wHide( easementW );
}
static void EasementCancel( void )
{
- SetEasement( easementVal = oldEasementVal, (void*)FALSE );
+ SetEasement( easementVal = oldEasementVal, I2VP(FALSE) );
wHide( easementW );
}
@@ -204,7 +202,7 @@ static void EasementSel(
val = 0.0;
break;
}
- SetEasement( val, (void*)FALSE );
+ SetEasement( val, I2VP(FALSE) );
}
@@ -215,7 +213,7 @@ static void EasementDlgUpdate(
{
switch (inx) {
case I_EASEVAL:
- SetEasement( *(FLOAT_T*)valueP, (void*)1 );
+ SetEasement( *(FLOAT_T*)valueP, I2VP(1) );
break;
case I_EASESEL:
EasementSel( *(long*)valueP );
@@ -227,24 +225,24 @@ static void EasementDlgUpdate(
static void LayoutEasementW(
paramData_t * pd,
int inx,
- wPos_t colX,
- wPos_t * x,
- wPos_t * y )
+ wWinPix_t colX,
+ wWinPix_t * x,
+ wWinPix_t * y )
{
if ( inx == 2 )
wControlSetPos( easementPLs[0].control, *x, wControlGetPosY(easementPLs[0].control) );
}
-static void DoEasement( void * junk )
+static void DoEasement( void * unused )
{
if (easementW == NULL) {
easementW = ParamCreateDialog( &easementPG, MakeWindowTitle(_("Easement")), _("Ok"), (paramActionOkProc)EasementOk, (paramActionCancelProc)EasementCancel, TRUE, LayoutEasementW, 0, EasementDlgUpdate );
- SetEasement( easementVal, (void*)TRUE );
+ SetEasement( easementVal, I2VP(TRUE) );
}
oldEasementVal = easementVal;
wShow( easementW );
- SetEasement( easementVal, (void*)TRUE );
+ SetEasement( easementVal, I2VP(TRUE) );
}
@@ -255,36 +253,36 @@ static void EasementChange( long changes )
{
if (changes&(CHANGE_SCALE|CHANGE_UNITS)) {
GetScaleEasementValues( Rvalues, Lvalues );
- SetEasement( easementVal, (void*)TRUE );
+ SetEasement( easementVal, I2VP(TRUE) );
}
}
-#include "bitmaps/enone.xpm"
-#include "bitmaps/esharp.xpm"
-#include "bitmaps/egtsharp.xpm"
-#include "bitmaps/eltsharp.xpm"
-#include "bitmaps/enormal.xpm"
-#include "bitmaps/eltbroad.xpm"
-#include "bitmaps/ebroad.xpm"
-#include "bitmaps/egtbroad.xpm"
-#include "bitmaps/ecornu.xpm"
+#include "bitmaps/ease-none.xpm"
+#include "bitmaps/ease-sharp.xpm"
+#include "bitmaps/ease-gt-sharp.xpm"
+#include "bitmaps/ease-lt-sharp.xpm"
+#include "bitmaps/ease-normal.xpm"
+#include "bitmaps/ease-broad.xpm"
+#include "bitmaps/ease-gt-broad.xpm"
+#include "bitmaps/ease-lt-broad.xpm"
+#include "bitmaps/ease-cornu.xpm"
EXPORT addButtonCallBack_t EasementInit( void )
{
ParamRegister( &easementPG );
- enone_bm = wIconCreatePixMap( enone_xpm );
- eltsharp_bm = wIconCreatePixMap( eltsharp_xpm );
- esharp_bm = wIconCreatePixMap( esharp_xpm );
- egtsharp_bm = wIconCreatePixMap( egtsharp_xpm );
- enormal_bm = wIconCreatePixMap( enormal_xpm );
- eltbroad_bm = wIconCreatePixMap( eltbroad_xpm );
- ebroad_bm = wIconCreatePixMap( ebroad_xpm );
- egtbroad_bm = wIconCreatePixMap( egtbroad_xpm );
- ecornu_bm = wIconCreatePixMap( ecornu_xpm );
- easementB = AddToolbarButton( "cmdEasement", enone_bm, 0, (addButtonCallBack_t)DoEasementRedir, NULL );
+ enone_bm = wIconCreatePixMap( ease_none_xpm[iconSize] );
+ eltsharp_bm = wIconCreatePixMap( ease_ltsharp_xpm[iconSize] );
+ esharp_bm = wIconCreatePixMap( ease_sharp_xpm[iconSize] );
+ egtsharp_bm = wIconCreatePixMap( ease_gtsharp_xpm[iconSize] );
+ enormal_bm = wIconCreatePixMap( ease_normal_xpm[iconSize] );
+ eltbroad_bm = wIconCreatePixMap( ease_ltbroad_xpm[iconSize] );
+ ebroad_bm = wIconCreatePixMap( ease_broad_xpm[iconSize] );
+ egtbroad_bm = wIconCreatePixMap( ease_gtbroad_xpm[iconSize] );
+ ecornu_bm = wIconCreatePixMap( ease_cornu_xpm[iconSize] );
+ easementB = AddToolbarButton( "cmdEasement", enone_bm, 0, DoEasementRedir, NULL );
RegisterChangeNotification( EasementChange );
return &DoEasement;
diff --git a/app/bin/denum.c b/app/bin/denum.c
index b353627..9a83ffb 100644
--- a/app/bin/denum.c
+++ b/app/bin/denum.c
@@ -20,18 +20,12 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <assert.h>
-#include <string.h>
-#include <time.h>
-
#include "custom.h"
#include "fileio.h"
#include "layout.h"
-#include "i18n.h"
#include "param.h"
#include "paths.h"
#include "track.h"
-#include "utility.h"
static wWin_p enumW;
@@ -42,21 +36,26 @@ static wWin_p enumW;
#undef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
-static void DoEnumOp( void * );
+static void DoEnumOp( void * data );
static long enableListPrices;
+static long enableListIndexes;
static paramTextData_t enumTextData = { 80, 24 };
static char * priceLabels[] = { N_("Prices"), NULL };
+static char * indexLabels[] = { N_("Indexes"), NULL };
static paramData_t enumPLs[] = {
#define I_ENUMTEXT (0)
#define enumT ((wText_p)enumPLs[I_ENUMTEXT].control)
{ PD_TEXT, NULL, "text", PDO_DLGRESIZE, &enumTextData, NULL, BT_CHARUNITS|BT_FIXEDFONT },
- { PD_BUTTON, (void*)DoEnumOp, "save", PDO_DLGCMDBUTTON, NULL, N_("Save As ..."), 0, (void*)ENUMOP_SAVE },
- { PD_BUTTON, (void*)DoEnumOp, "print", 0, NULL, N_("Print"), 0, (void*)ENUMOP_PRINT },
- { PD_BUTTON, (void*)wPrintSetup, "printsetup", 0, NULL, N_("Print Setup"), 0, NULL },
+ { PD_BUTTON, DoEnumOp, "save", PDO_DLGCMDBUTTON, NULL, N_("Save As ..."), 0, I2VP(ENUMOP_SAVE) },
+ { PD_BUTTON, DoEnumOp, "print", 0, NULL, N_("Print"), 0, I2VP(ENUMOP_PRINT) },
+ { PD_BUTTON, wPrintSetup, "printsetup", 0, NULL, N_("Print Setup"), 0, NULL },
#define I_ENUMLISTPRICE (4)
- { PD_TOGGLE, &enableListPrices, "list-prices", PDO_DLGRESETMARGIN, priceLabels, NULL, BC_HORZ|BC_NOBORDER } };
-static paramGroup_t enumPG = { "enum", 0, enumPLs, sizeof enumPLs/sizeof enumPLs[0] };
+ { PD_TOGGLE, &enableListPrices, "list-prices", PDO_DLGRESETMARGIN, priceLabels, NULL, BC_HORZ|BC_NOBORDER },
+#define I_ENUMLISTINDEXES (5)
+ { PD_TOGGLE, &enableListIndexes, "list-indexes", PDO_DLGRESETMARGIN, indexLabels, NULL, BC_HORZ|BC_NOBORDER }
+};
+static paramGroup_t enumPG = { "enum", 0, enumPLs, COUNT( enumPLs ) };
static struct wFilSel_t * enumFile_fs;
@@ -86,7 +85,7 @@ static int DoEnumSave(
static void DoEnumOp(
void * data )
{
- switch( (int)(long)data ) {
+ switch( VP2L(data) ) {
case ENUMOP_SAVE:
wFilSelect( enumFile_fs, GetCurrentPath(PARTLISTPATHKEY) );
break;
@@ -105,8 +104,8 @@ static void EnumDlgUpdate(
int inx,
void * valueP )
{
- if ( inx != I_ENUMLISTPRICE ) return;
- EnumerateTracks();
+ if ( inx != I_ENUMLISTPRICE && inx != I_ENUMLISTINDEXES) return;
+ EnumerateTracks( NULL );
}
@@ -116,10 +115,11 @@ static FLOAT_T enumerateTotal;
void EnumerateList(
long count,
FLOAT_T price,
- char * desc )
+ char * desc,
+ char * indexes )
{
char * cp;
- int len;
+ size_t len;
sprintf( message, "%*ld | %s\n", count_utf8_chars(_("Count")), count, desc );
if (enableListPrices) {
cp = message + strlen( message )-1;
@@ -134,6 +134,8 @@ void EnumerateList(
sprintf( cp, " | %-*s |\n", (int) max( 7, count_utf8_chars( _("Each"))), " " );
}
}
+ if (enableListIndexes && indexes)
+ sprintf( message, "%s%s -> %s \n", message, N_("Indexes"), indexes);
wTextAppend( enumT, message );
}
@@ -210,7 +212,7 @@ void EnumerateStart(void)
void EnumerateEnd(void)
{
- int len;
+ size_t len;
char * cp;
ScaleLengthEnd();
diff --git a/app/bin/directory.c b/app/bin/directory.c
index 265485b..991e139 100644
--- a/app/bin/directory.c
+++ b/app/bin/directory.c
@@ -20,27 +20,10 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <errno.h>
-#include <string.h>
-
-#ifdef WINDOWS
- #include "include/dirent.h"
- #include <direct.h>
- #define unlink(a) _unlink((a))
- #define rmdir(a) _rmdir((a))
-#else
- #include <dirent.h>
- #include <unistd.h>
- #include <sys/stat.h>
- #include <sys/types.h>
-#endif
-
-#include <wlib.h>
#include "directory.h"
#include "dynstring.h"
-#include "i18n.h"
-#include "messages.h"
#include "misc.h"
+#include "common-ui.h"
/*****************************************************************************
* Safe Create Dir
@@ -54,11 +37,7 @@ BOOL_T SafeCreateDir(const char *dir)
{
int err;
-#ifdef WINDOWS
- err = _mkdir(dir);
-#else
err = mkdir(dir, 0755);
-#endif
if (err < 0) {
if (errno != EEXIST) {
NoticeMessage(MSG_DIR_CREATE_FAIL,
diff --git a/app/bin/dlayer.c b/app/bin/dlayer.c
index 352dbe1..e5fed61 100644
--- a/app/bin/dlayer.c
+++ b/app/bin/dlayer.c
@@ -20,19 +20,17 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <assert.h>
-#include <stdbool.h>
-#include <stdint.h>
-#include <string.h>
-
+#include "cselect.h"
#include "custom.h"
+#include "paths.h"
#include "dynstring.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
+#include "include/partcatalog.h"
+#include "include/stringxtc.h"
+#include "common-ui.h"
/*****************************************************************************
*
@@ -45,10 +43,13 @@
#define LAYERPREF_ONMAP (2)
#define LAYERPREF_VISIBLE (4)
#define LAYERPREF_MODULE (8)
+#define LAYERPREF_NOBUTTON (16)
#define LAYERPREF_SECTION ("Layers")
#define LAYERPREF_NAME "name"
#define LAYERPREF_COLOR "color"
#define LAYERPREF_FLAGS "flags"
+#define LAYERPREF_LIST "list"
+#define LAYERPREF_SETTINGS "settings"
unsigned int curLayer;
long layerCount = 10;
@@ -73,12 +74,17 @@ typedef struct {
BOOL_T visible; /**< visible flag */
BOOL_T onMap; /**< is layer shown map */
BOOL_T module; /**< is layer a module (all or nothing) */
+ BOOL_T button_off; /**< hide button */
long objCount; /**< number of objects on layer */
+ dynArr_t layerLinkList; /**< other layers that show/hide with this one */
+ char settingsName[STR_SHORT_SIZE]; /**< name of settings file to load when this is current */
} layer_t;
static layer_t layers[NUM_LAYERS];
static layer_t *layers_save = NULL;
+static Catalog * settingsCatalog;
+
static int oldColorMap[][3] = {
{ 255, 255, 255 }, /* White */
@@ -140,7 +146,7 @@ static int oldColorMap[][3] = {
};
static void DoLayerOp(void * data);
-static void UpdateLayerDlg(void);
+void UpdateLayerDlg(unsigned int);
static void InitializeLayers(void LayerInitFunc(void), int newCurrLayer);
static void LayerPrefSave(void);
@@ -148,7 +154,7 @@ static void LayerPrefLoad(void);
int IsLayerValid(unsigned int layer)
{
- return (layer <= NUM_LAYERS);
+ return (layer <= NUM_LAYERS && layer != -1);
}
BOOL_T GetLayerVisible(unsigned int layer)
@@ -160,6 +166,15 @@ BOOL_T GetLayerVisible(unsigned int layer)
}
}
+BOOL_T GetLayerHidden(unsigned int layer)
+{
+ if (!IsLayerValid(layer)) {
+ return TRUE;
+ } else {
+ return layers[layer].button_off;
+ }
+}
+
BOOL_T GetLayerFrozen(unsigned int layer)
{
@@ -227,8 +242,9 @@ static void RedrawLayer( unsigned int l, BOOL_T draw )
}
-static void FlipLayer(unsigned int layer)
+EXPORT void FlipLayer( void * layerVP )
{
+ unsigned int layer = (unsigned int)VP2L(layerVP);
wBool_t visible;
if (!IsLayerValid(layer)) {
@@ -236,7 +252,8 @@ static void FlipLayer(unsigned int layer)
}
if (layer == curLayer && layers[layer].visible) {
- wButtonSetBusy(layer_btns[layer], layers[layer].visible);
+ if (!layers[layer].button_off)
+ wButtonSetBusy(layer_btns[layer], layers[layer].visible);
NoticeMessage(MSG_LAYER_HIDE, _("Ok"), NULL);
return;
}
@@ -246,13 +263,26 @@ static void FlipLayer(unsigned int layer)
layers[layer].visible = visible;
if (layer<NUM_BUTTONS) {
- wButtonSetBusy(layer_btns[layer], visible != 0);
- wButtonSetLabel(layer_btns[layer], (char *)show_layer_bmps[layer]);
+ if (!layers[layer].button_off) {
+ wButtonSetBusy(layer_btns[layer], visible != 0);
+ wButtonSetLabel(layer_btns[layer], (char *)show_layer_bmps[layer]);
+ }
}
+ /* Set visible on related layers other than current */
+ for (int i=0;i<layers[layer].layerLinkList.cnt;i++) {
+ int l = DYNARR_N(int,layers[layer].layerLinkList,i)-1;
+ if ((l != curLayer) && (l >=0) && (l < NUM_LAYERS)) {
+ layers[l].visible = layers[layer].visible;
+ if (!layers[l].button_off)
+ wButtonSetBusy(layer_btns[l], layers[l].visible);
+ }
+ }
+
RedrawLayer(layer, TRUE);
}
+static char lastSettings[STR_SHORT_SIZE];
void SetCurrLayer(wIndex_t inx, const char * name, wIndex_t op,
void * listContext, void * arg)
{
@@ -264,16 +294,44 @@ void SetCurrLayer(wIndex_t inx, const char * name, wIndex_t op,
return;
}
+ char *array[1];
+ if (!layers[inx].settingsName[0] || strcmp(layers[inx].settingsName," ")==0) {
+ if (lastSettings[0]) {
+ DoSettingsRead(1,NULL, NULL);
+ }
+ lastSettings[0] = '\0';
+ } else {
+ if (strcmp(layers[inx].settingsName,lastSettings)!=0) {
+ if (!lastSettings[0]) wPrefFlush(""); // Save Last Settings for no settings file
+ array[0] = layers[inx].settingsName;
+ DoSettingsRead(1,array, NULL);
+ }
+ strcpy(lastSettings,layers[inx].settingsName);
+ }
+
+
curLayer = newLayer;
if (!IsLayerValid(curLayer)) {
- curLayer = 0;
+ curLayer = 0; //Too big or -1
+ layers[curLayer].frozen = FALSE; //Make sure the layer is not frozen
}
+
if (!layers[curLayer].visible) {
- FlipLayer(inx);
+ FlipLayer(I2VP(inx));
}
+ /* Set visible on related layers other than current */
+ for (int i=0;i<layers[curLayer].layerLinkList.cnt;i++) {
+ int l = DYNARR_N(int,layers[curLayer].layerLinkList,i)-1;
+ if (l != curLayer && l >=0 && l < NUM_LAYERS) {
+ layers[l].visible = layers[curLayer].visible;
+ if (!layers[l].button_off)
+ wButtonSetBusy(layer_btns[l], layers[l].visible);
+ }
+ }
+
if (recordF) {
fprintf(recordF, "SETCURRLAYER %d\n", inx);
}
@@ -307,6 +365,17 @@ static void SetLayerColor(unsigned int inx, wDrawColor color)
}
}
+static void SetLayerHideButton(unsigned int inx, wBool_t hide) {
+ if (hide != layers[inx].button_off) {
+ if (inx < NUM_BUTTONS) {
+ wControlShow((wControl_p)layer_btns[inx],!hide);
+ if (!hide) wButtonSetBusy(layer_btns[inx], layers[inx].visible);
+ }
+ layers[inx].button_off = hide;
+ layoutLayerChanged = TRUE;
+ }
+}
+
char *
FormatLayerName(unsigned int layerNumber)
{
@@ -316,13 +385,15 @@ FormatLayerName(unsigned int layerNumber)
DynStringPrintf(&string,
"%2d %c %s",
layerNumber + 1,
- (layers[layerNumber].objCount > 0 ? '+' : '-'),
+ (layers[layerNumber].frozen ? '*': layers[layerNumber].module ? 'm': layers[layerNumber].objCount > 0 ? '+' : '-'),
layers[layerNumber].name);
result = strdup(DynStringToCStr(&string));
DynStringFree(&string);
return result;
}
+static int lbits_width[3] = {14,20,26};
+static int lbits_height[3] = {16,24,32};
#include "bitmaps/l1.xbm"
#include "bitmaps/l2.xbm"
@@ -425,17 +496,37 @@ FormatLayerName(unsigned int layerNumber)
#include "bitmaps/l99.xbm"
-static char * show_layer_bits[NUM_BUTTONS] = {
- l1_bits, l2_bits, l3_bits, l4_bits, l5_bits, l6_bits, l7_bits, l8_bits, l9_bits, l10_bits,
- l11_bits, l12_bits, l13_bits, l14_bits, l15_bits, l16_bits, l17_bits, l18_bits, l19_bits, l20_bits,
- l21_bits, l22_bits, l23_bits, l24_bits, l25_bits, l26_bits, l27_bits, l28_bits, l29_bits, l30_bits,
- l31_bits, l32_bits, l33_bits, l34_bits, l35_bits, l36_bits, l37_bits, l38_bits, l39_bits, l40_bits,
- l41_bits, l42_bits, l43_bits, l44_bits, l45_bits, l46_bits, l47_bits, l48_bits, l49_bits, l50_bits,
- l51_bits, l52_bits, l53_bits, l54_bits, l55_bits, l56_bits, l57_bits, l58_bits, l59_bits, l60_bits,
- l61_bits, l62_bits, l63_bits, l64_bits, l65_bits, l66_bits, l67_bits, l68_bits, l69_bits, l70_bits,
- l71_bits, l72_bits, l73_bits, l74_bits, l75_bits, l76_bits, l77_bits, l78_bits, l79_bits, l80_bits,
- l81_bits, l82_bits, l83_bits, l84_bits, l85_bits, l86_bits, l87_bits, l88_bits, l89_bits, l90_bits,
- l91_bits, l92_bits, l93_bits, l94_bits, l95_bits, l96_bits, l97_bits, l98_bits, l99_bits,
+static char * show_layer_bits[3][NUM_BUTTONS] = {
+ { l1_x16, l2_x16, l3_x16, l4_x16, l5_x16, l6_x16, l7_x16, l8_x16, l9_x16, l10_x16,
+ l11_x16, l12_x16, l13_x16, l14_x16, l15_x16, l16_x16, l17_x16, l18_x16, l19_x16, l20_x16,
+ l21_x16, l22_x16, l23_x16, l24_x16, l25_x16, l26_x16, l27_x16, l28_x16, l29_x16, l30_x16,
+ l31_x16, l32_x16, l33_x16, l34_x16, l35_x16, l36_x16, l37_x16, l38_x16, l39_x16, l40_x16,
+ l41_x16, l42_x16, l43_x16, l44_x16, l45_x16, l46_x16, l47_x16, l48_x16, l49_x16, l50_x16,
+ l51_x16, l52_x16, l53_x16, l54_x16, l55_x16, l56_x16, l57_x16, l58_x16, l59_x16, l60_x16,
+ l61_x16, l62_x16, l63_x16, l64_x16, l65_x16, l66_x16, l67_x16, l68_x16, l69_x16, l70_x16,
+ l71_x16, l72_x16, l73_x16, l74_x16, l75_x16, l76_x16, l77_x16, l78_x16, l79_x16, l80_x16,
+ l81_x16, l82_x16, l83_x16, l84_x16, l85_x16, l86_x16, l87_x16, l88_x16, l89_x16, l90_x16,
+ l91_x16, l92_x16, l93_x16, l94_x16, l95_x16, l96_x16, l97_x16, l98_x16, l99_x16, },
+ { l1_x24, l2_x24, l3_x24, l4_x24, l5_x24, l6_x24, l7_x24, l8_x24, l9_x24, l10_x24,
+ l11_x24, l12_x24, l13_x24, l14_x24, l15_x24, l16_x24, l17_x24, l18_x24, l19_x24, l20_x24,
+ l21_x24, l22_x24, l23_x24, l24_x24, l25_x24, l26_x24, l27_x24, l28_x24, l29_x24, l30_x24,
+ l31_x24, l32_x24, l33_x24, l34_x24, l35_x24, l36_x24, l37_x24, l38_x24, l39_x24, l40_x24,
+ l41_x24, l42_x24, l43_x24, l44_x24, l45_x24, l46_x24, l47_x24, l48_x24, l49_x24, l50_x24,
+ l51_x24, l52_x24, l53_x24, l54_x24, l55_x24, l56_x24, l57_x24, l58_x24, l59_x24, l60_x24,
+ l61_x24, l62_x24, l63_x24, l64_x24, l65_x24, l66_x24, l67_x24, l68_x24, l69_x24, l70_x24,
+ l71_x24, l72_x24, l73_x24, l74_x24, l75_x24, l76_x24, l77_x24, l78_x24, l79_x24, l80_x24,
+ l81_x24, l82_x24, l83_x24, l84_x24, l85_x24, l86_x24, l87_x24, l88_x24, l89_x24, l90_x24,
+ l91_x24, l92_x24, l93_x24, l94_x24, l95_x24, l96_x24, l97_x24, l98_x24, l99_x24, },
+ { l1_x32, l2_x32, l3_x32, l4_x32, l5_x32, l6_x32, l7_x32, l8_x32, l9_x32, l10_x32,
+ l11_x32, l12_x32, l13_x32, l14_x32, l15_x32, l16_x32, l17_x32, l18_x32, l19_x32, l20_x32,
+ l21_x32, l22_x32, l23_x32, l24_x32, l25_x32, l26_x32, l27_x32, l28_x32, l29_x32, l30_x32,
+ l31_x32, l32_x32, l33_x32, l34_x32, l35_x32, l36_x32, l37_x32, l38_x32, l39_x32, l40_x32,
+ l41_x32, l42_x32, l43_x32, l44_x32, l45_x32, l46_x32, l47_x32, l48_x32, l49_x32, l50_x32,
+ l51_x32, l52_x32, l53_x32, l54_x32, l55_x32, l56_x32, l57_x32, l58_x32, l59_x32, l60_x32,
+ l61_x32, l62_x32, l63_x32, l64_x32, l65_x32, l66_x32, l67_x32, l68_x32, l69_x32, l70_x32,
+ l71_x32, l72_x32, l73_x32, l74_x32, l75_x32, l76_x32, l77_x32, l78_x32, l79_x32, l80_x32,
+ l81_x32, l82_x32, l83_x32, l84_x32, l85_x32, l86_x32, l87_x32, l88_x32, l89_x32, l90_x32,
+ l91_x32, l92_x32, l93_x32, l94_x32, l95_x32, l96_x32, l97_x32, l98_x32, l99_x32, }
};
@@ -456,13 +547,16 @@ static wDrawColor layerColorTab[COUNT(layerRawColorTab)];
static wWin_p layerW;
static char layerName[STR_SHORT_SIZE];
+static char layerLinkList[STR_LONG_SIZE];
+static char settingsName[STR_SHORT_SIZE];
static wDrawColor layerColor;
static long layerUseColor = TRUE;
static long layerVisible = TRUE;
static long layerFrozen = FALSE;
static long layerOnMap = TRUE;
static long layerModule = FALSE;
-static void LayerOk(void *);
+static long layerNoButton = FALSE;
+static void LayerOk(void * unused);
static BOOL_T layerRedrawMap = FALSE;
#define ENUMLAYER_RELOAD (1)
@@ -475,12 +569,13 @@ static char *onMapLabels[] = { "", NULL };
static char *moduleLabels[] = { "", NULL };
static char *layerColorLabels[] = { "", NULL };
static paramIntegerRange_t i0_20 = { 0, NUM_BUTTONS };
+static paramListData_t layerUiListData = { 10, 370, 0 };
static paramData_t layerPLs[] = {
#define I_LIST (0)
- { PD_DROPLIST, NULL, "layer", PDO_LISTINDEX|PDO_DLGNOLABELALIGN, (void*)250 },
+ { PD_DROPLIST, NULL, "layer", PDO_LISTINDEX, I2VP(250), N_("Select Layer:") },
#define I_NAME (1)
- { PD_STRING, layerName, "name", PDO_NOPREF|PDO_STRINGLIMITLENGTH, (void*)(250-54), N_("Name"), 0, 0, sizeof(layerName) },
+ { PD_STRING, layerName, "name", PDO_NOPREF|PDO_STRINGLIMITLENGTH, I2VP(250-54), N_("Name"), 0, 0, sizeof(layerName) },
#define I_COLOR (2)
{ PD_COLORLIST, &layerColor, "color", PDO_NOPREF, NULL, N_("Color") },
#define I_USE_COLOR (3)
@@ -493,19 +588,116 @@ static paramData_t layerPLs[] = {
{ PD_TOGGLE, &layerOnMap, "onmap", PDO_NOPREF|PDO_DLGHORZ, onMapLabels, N_("On Map"), BC_HORZ|BC_NOBORDER },
#define I_MOD (7)
{ PD_TOGGLE, &layerModule, "module", PDO_NOPREF|PDO_DLGHORZ, moduleLabels, N_("Module"), BC_HORZ|BC_NOBORDER },
-#define I_COUNT (8)
- { PD_STRING, NULL, "object-count", PDO_NOPREF|PDO_DLGBOXEND, (void*)(80), N_("Count"), BO_READONLY },
- { PD_MESSAGE, N_("Personal Preferences"), NULL, PDO_DLGRESETMARGIN, (void *)180 },
- { PD_BUTTON, (void*)DoLayerOp, "reset", PDO_DLGRESETMARGIN, 0, N_("Load"), 0, (void *)ENUMLAYER_RELOAD },
- { PD_BUTTON, (void*)DoLayerOp, "save", PDO_DLGHORZ, 0, N_("Save"), 0, (void *)ENUMLAYER_SAVE },
- { PD_BUTTON, (void*)DoLayerOp, "clear", PDO_DLGHORZ | PDO_DLGBOXEND, 0, N_("Defaults"), 0, (void *)ENUMLAYER_CLEAR },
+#define I_BUT (8)
+ { PD_TOGGLE, &layerNoButton, "button", PDO_NOPREF|PDO_DLGHORZ, moduleLabels, N_("No Button"), BC_HORZ|BC_NOBORDER },
+#define I_LINKLIST (9)
+ { PD_STRING, layerLinkList, "layerlist", PDO_NOPREF|PDO_STRINGLIMITLENGTH, I2VP(250-54), N_("Linked Layers"), 0, 0, sizeof(layerLinkList) },
+#define I_SETTINGS (10)
+ { PD_DROPLIST, NULL, "settings", PDO_LISTINDEX, I2VP( 250), N_("Settings when Current") },
+#define I_COUNT (11)
+ { PD_MESSAGE, N_("Object Count:"), NULL, PDO_DLGBOXEND|PDO_DLGNOLABELALIGN, I2VP(370) },
+ { PD_MESSAGE, N_("All Layer Preferences"), NULL, PDO_DLGRESETMARGIN, I2VP(180) },
+ { PD_BUTTON, DoLayerOp, "load", PDO_DLGRESETMARGIN, 0, N_("Load"), 0, I2VP(ENUMLAYER_RELOAD) },
+ { PD_BUTTON, DoLayerOp, "save", PDO_DLGHORZ, 0, N_("Save"), 0, I2VP(ENUMLAYER_SAVE) },
+ { PD_BUTTON, DoLayerOp, "clear", PDO_DLGHORZ | PDO_DLGBOXEND, 0, N_("Defaults"), 0, I2VP(ENUMLAYER_CLEAR) },
{ PD_LONG, &newLayerCount, "button-count", PDO_DLGBOXEND|PDO_DLGRESETMARGIN, &i0_20, N_("Number of Layer Buttons") },
};
-static paramGroup_t layerPG = { "layer", 0, layerPLs, sizeof layerPLs/sizeof layerPLs[0] };
+#define settingsListL ((wList_p)layerPLs[I_SETTINGS].control)
+#define MESSAGETEXT ((wMessage_p)layerPLs[I_COUNT].control)
+
+static paramGroup_t layerPG = { "layer", 0, layerPLs, COUNT( layerPLs ) };
+
+/**
+ * Reload the listbox showing the current catalog
+ */
+
+static
+int LoadFileListLoad(Catalog *catalog, char * name)
+{
+ CatalogEntry *currentEntry = catalog->head;
+ DynString description;
+ DynStringMalloc(&description, STR_SHORT_SIZE);
+
+ wControlShow((wControl_p)settingsListL, FALSE);
+ wListClear(settingsListL);
+
+ int currset = 0;
+
+ int i = 0;
+
+ wListAddValue(settingsListL," ",NULL," ");
+
+ while (currentEntry) {
+ i++;
+ DynStringClear(&description);
+ DynStringCatCStr(&description,
+ currentEntry->contents) ;
+ wListAddValue(settingsListL,
+ DynStringToCStr(&description),
+ NULL,
+ currentEntry->fullFileName[0]);
+ if (strcmp(currentEntry->fullFileName[0],name)==0) currset = i;
+ currentEntry = currentEntry->next;
+ }
+
+
+ wListSetIndex(settingsListL,currset);
+
+ wControlShow((wControl_p)settingsListL, TRUE);
+
+ DynStringFree(&description);
+
+ if (currset == 0 && strcmp(" ",name)!=0) return FALSE;
+ return TRUE;
+
+}
#define layerL ((wList_p)layerPLs[I_LIST].control)
+#define layerS ((wList_p)layerPLs[I_SETTINGS].control)
+
+void GetLayerLinkString(int inx,char * list) {
+
+ char * cp = &list[0];
+ cp[0] = '\0';
+ int len = 0;
+ for (int i = 0; i<layers[inx].layerLinkList.cnt && len<STR_LONG_SIZE-5; i++) {
+ int l = DYNARR_N(int,layers[inx].layerLinkList,i);
+ if (i==0)
+ cp += sprintf(cp,"%d",l);
+ else
+ cp += sprintf(cp,";%d",l);
+ cp[0] = '\0';
+ }
+}
+
+void PutLayerListArray(int inx, char * list) {
+ char * cp = &list[0];
+ DYNARR_RESET(int, layers[inx].layerLinkList);
+ while (cp) {
+ cp = strpbrk(list,",; ");
+ if (cp) {
+ cp[0] ='\0';
+ int i = abs((int)strtol(list,&list,0));
+ if (i>0 && i !=inx-1 && i<NUM_LAYERS) {
+ DYNARR_APPEND(int,layers[inx].layerLinkList,1);
+ DYNARR_LAST(int, layers[inx].layerLinkList) = i;
+ }
+ cp[0] = ';';
+ list = cp+1;
+ } else {
+ int i = abs((int)strtol(list,&list,0));
+ if (i>0 && i !=inx-1 && i<NUM_LAYERS) {
+ DYNARR_APPEND(int,layers[inx].layerLinkList,1);
+ DYNARR_LAST(int,layers[inx].layerLinkList) = i;
+ }
+ cp = 0;
+ }
+ }
+}
+
+
/**
* Load the layer settings to hard coded system defaults
*/
@@ -521,7 +713,9 @@ LayerSystemDefaults(void)
layers[inx].frozen = FALSE;
layers[inx].onMap = TRUE;
layers[inx].module = FALSE;
+ layers[inx].button_off = FALSE;
layers[inx].objCount = 0;
+ DYNARR_RESET(int,layers[inx].layerLinkList);
SetLayerColor(inx, layerColorTab[inx%COUNT(layerColorTab)]);
}
}
@@ -540,6 +734,11 @@ void LoadLayerLists(void)
wListClear(layerL);
}
+ if (layerS) {
+ wListClear(layerS);
+ }
+
+
/* add all layers to both lists */
for (inx=0; inx<NUM_LAYERS; inx++) {
char *layerLabel;
@@ -556,9 +755,8 @@ void LoadLayerLists(void)
/* set current layer to selected */
wListSetIndex(setLayerL, curLayer);
- if (layerL) {
- wListSetIndex(layerL, curLayer);
- }
+ if (layerL) wListSetIndex(layerL,curLayer);
+
}
/**
@@ -572,7 +770,7 @@ void LoadLayerLists(void)
static void DoLayerOp(void * data)
{
- switch ((long)data) {
+ switch (VP2L(data)) {
case ENUMLAYER_CLEAR:
InitializeLayers(LayerSystemDefaults, -1);
break;
@@ -586,13 +784,12 @@ static void DoLayerOp(void * data)
break;
}
- UpdateLayerDlg();
+ UpdateLayerDlg(curLayer); //Reset to current Layer
if (layoutLayerChanged) {
MainProc(mainW, wResize_e, NULL, NULL);
layoutLayerChanged = FALSE;
- changed++;
- SetWindowTitle();
+ SetFileChanged();
}
}
@@ -602,35 +799,50 @@ static void DoLayerOp(void * data)
* elements to the new settings.
*/
-static void
-UpdateLayerDlg()
+EXPORT void UpdateLayerDlg(unsigned int layer)
{
- int inx;
+ int inx;
/* update the globals for the layer dialog */
- layerVisible = layers[curLayer].visible;
- layerFrozen = layers[curLayer].frozen;
- layerOnMap = layers[curLayer].onMap;
- layerModule = layers[curLayer].module;
- layerColor = layers[curLayer].color;
- layerUseColor = layers[curLayer].useColor;
- strcpy(layerName, layers[curLayer].name);
- layerCurrent = curLayer;
+ layerVisible = layers[layer].visible;
+ layerFrozen = layers[layer].frozen;
+ layerOnMap = layers[layer].onMap;
+ layerModule = layers[layer].module;
+ layerColor = layers[layer].color;
+ layerUseColor = layers[layer].useColor;
+ layerNoButton = layers[layer].button_off;
+ strcpy(layerName, layers[layer].name);
+ strcpy(settingsName, layers[layer].settingsName);
+ GetLayerLinkString(layer,layerLinkList);
+
+ layerCurrent = layer;
/* now re-load the layer list boxes */
LoadLayerLists();
- sprintf(message, "%ld", layers[curLayer].objCount);
- ParamLoadMessage(&layerPG, I_COUNT, message);
+
+
/* force update of the 'manage layers' dialogbox */
if (layerL) {
+ wListSetIndex(layerL,layer);
ParamLoadControls(&layerPG);
}
- /* finally show the layer buttons with ballon text */
+ if (layerS) {
+ if (!LoadFileListLoad(settingsCatalog,settingsName))
+ layers[layer].settingsName[0] = '\0';
+ }
+
+ sprintf(message, "Object Count: %ld", layers[layer].objCount);
+ if (MESSAGETEXT) wMessageSetValue(MESSAGETEXT, message);
+
+ /* finally show the layer buttons with balloon text */
for (inx = 0; inx < NUM_BUTTONS; inx++) {
- wButtonSetBusy(layer_btns[inx], layers[inx].visible != 0);
- wControlSetBalloonText((wControl_p)layer_btns[inx],
+ if (!layers[inx].button_off) {
+ wButtonSetBusy(layer_btns[inx], layers[inx].visible != 0);
+ wControlSetBalloonText((wControl_p)layer_btns[inx],
(layers[inx].name[0] != '\0' ? layers[inx].name :_("Show/Hide Layer")));
+ }
}
+
}
/**
@@ -648,7 +860,7 @@ FillLayerList( wList_p listLayers)
for (int inx = 0; inx < NUM_LAYERS; inx++) {
char *layerFormattedName;
layerFormattedName = FormatLayerName(inx);
- wListAddValue((wList_p)listLayers, layerFormattedName, NULL, (void*)(long)inx);
+ wListAddValue((wList_p)listLayers, layerFormattedName, NULL, I2VP(inx));
free(layerFormattedName);
}
@@ -670,9 +882,20 @@ InitializeLayers(void LayerInitFunc(void), int newCurrLayer)
/* count the objects on each layer */
LayerSetCounts();
- /* Switch the current layer when requested */
+ /* Switch the current layer when requested or the first above not frozen*/
if (newCurrLayer != -1) {
- curLayer = newCurrLayer;
+ curLayer = -1;
+ for (int i = newCurrLayer; i< NUM_LAYERS; i++) {
+ if (!layers[i].frozen) {
+ curLayer = i;
+ break;
+ }
+ }
+ if (curLayer == -1) {
+ ErrorMessage( MSG_NO_EMPTY_LAYER );
+ layers[0].frozen = FALSE;
+ curLayer = 0;
+ }
}
}
@@ -686,6 +909,7 @@ LayerPrefSave(void)
unsigned int inx;
int flags;
char buffer[ 80 ];
+ char links[STR_LONG_SIZE];
char layersSaved[ 3 * NUM_LAYERS + 1 ]; /* 0..99 plus separator */
/* FIXME: values for layers that are configured to default now should be overwritten in the settings */
layersSaved[ 0 ] = '\0';
@@ -693,8 +917,10 @@ LayerPrefSave(void)
for (inx = 0; inx < NUM_LAYERS; inx++) {
/* if a name is set that is not the default value or a color different from the default has been set,
information about the layer needs to be saved */
- if ((layers[inx].name[0] && inx != 0) ||
+ if ((layers[inx].name[0]) ||
layers[inx].frozen || (!layers[inx].onMap) || (!layers[inx].visible) ||
+ layers[inx].button_off || (layers[inx].layerLinkList.cnt>0) ||
+ layers[inx].module ||
layers[inx].color != layerColorTab[inx%COUNT(layerColorTab)]) {
sprintf(buffer, LAYERPREF_NAME ".%0u", inx);
wPrefSetString(LAYERPREF_SECTION, buffer, layers[inx].name);
@@ -718,9 +944,24 @@ LayerPrefSave(void)
flags |= LAYERPREF_MODULE;
}
+ if (layers[inx].button_off) {
+ flags |= LAYERPREF_NOBUTTON;
+ }
+
sprintf(buffer, LAYERPREF_FLAGS ".%0u", inx);
wPrefSetInteger(LAYERPREF_SECTION, buffer, flags);
+ if (layers[inx].layerLinkList.cnt>0) {
+ sprintf(buffer, LAYERPREF_LIST ".%0u", inx);
+ GetLayerLinkString(inx,links);
+ wPrefSetString(LAYERPREF_SECTION, buffer, links);
+
+ if (settingsName[0] && strcmp(settingsName," ")!=0) {
+ sprintf(buffer, LAYERPREF_SETTINGS ".%0u", inx);
+ wPrefSetString(LAYERPREF_SECTION, buffer, layers[inx].settingsName);
+ }
+ }
+
/* extend the list of layers that are set up via the preferences */
if (layersSaved[ 0 ]) {
strcat(layersSaved, ",");
@@ -758,6 +999,7 @@ LayerPrefLoad(void)
int inx;
char layerOption[20];
const char *layerValue;
+ char listValue[STR_LONG_SIZE];
int color;
inx = atoi(prefString);
sprintf(layerOption, LAYERPREF_NAME ".%d", inx);
@@ -783,9 +1025,40 @@ LayerPrefLoad(void)
layers[inx].onMap = ((flags & LAYERPREF_ONMAP) != 0);
layers[inx].visible = ((flags & LAYERPREF_VISIBLE) != 0);
layers[inx].module = ((flags & LAYERPREF_MODULE) !=0);
+ layers[inx].button_off = ((flags & LAYERPREF_NOBUTTON) !=0);
+
+ sprintf(layerOption, LAYERPREF_LIST ".%d", inx);
+ layerValue = wPrefGetString(LAYERPREF_SECTION,layerOption);
+ if (layerValue) {
+ strcpy(listValue,layerValue);
+ PutLayerListArray(inx,listValue);
+ } else {
+ listValue[0] = '\0';
+ PutLayerListArray(inx,listValue);
+ }
+ sprintf(layerOption, LAYERPREF_SETTINGS ".%d", inx);
+ layerValue = wPrefGetString(LAYERPREF_SECTION,layerOption);
+ if (layerValue) {
+ strcpy(layers[inx].settingsName,layerValue);
+ } else {
+ layers[inx].settingsName[0] = '\0';
+ }
+
prefString = strtok(NULL, ",");
}
}
+ //Make sure curLayer not frozen
+ for (int i=curLayer; i<NUM_LAYERS; i++) {
+ if (!layers[i].frozen) {
+ curLayer = i;
+ break;
+ }
+ }
+ if (layers[curLayer].frozen) {
+ ErrorMessage( MSG_NO_EMPTY_LAYER );
+ layers[0].frozen = FALSE;
+ curLayer = 0;
+ }
}
/**
@@ -852,7 +1125,7 @@ void
DefaultLayerProperties(void)
{
InitializeLayers(LayerPrefLoad, 0);
- UpdateLayerDlg();
+ UpdateLayerDlg(curLayer); //Use Current Layer
if (layoutLayerChanged) {
MainProc(mainW, wResize_e, NULL, NULL);
@@ -892,6 +1165,8 @@ static void LayerUpdate(void)
layerModule = FALSE;
ParamLoadControl(&layerPG, I_MOD);
}
+ char oldLinkList[STR_LONG_SIZE];
+ GetLayerLinkString((int)layerCurrent,oldLinkList);
if (strcmp(layers[(int)layerCurrent].name, layerName) ||
layerColor != layers[(int)layerCurrent].color ||
@@ -899,9 +1174,11 @@ static void LayerUpdate(void)
layers[(int)layerCurrent].visible != (BOOL_T)layerVisible ||
layers[(int)layerCurrent].frozen != (BOOL_T)layerFrozen ||
layers[(int)layerCurrent].onMap != (BOOL_T)layerOnMap ||
- layers[(int)layerCurrent].module != (BOOL_T)layerModule) {
- changed++;
- SetWindowTitle();
+ layers[(int)layerCurrent].module != (BOOL_T)layerModule ||
+ layers[(int)layerCurrent].button_off != (BOOL_T)layerNoButton ||
+ strcmp(layers[(int)layerCurrent].settingsName,settingsName) ||
+ strcmp(oldLinkList,layerLinkList)) {
+ SetFileChanged();
}
if (layerL) {
@@ -912,11 +1189,12 @@ static void LayerUpdate(void)
free(layerFormattedName);
}
+
layerFormattedName = FormatLayerName(layerCurrent);
wListSetValues(setLayerL, layerCurrent, layerFormattedName, NULL, NULL);
free(layerFormattedName);
- if (layerCurrent < NUM_BUTTONS) {
+ if (layerCurrent < NUM_BUTTONS && !layers[(int)layerCurrent].button_off) {
if (strlen(layers[(int)layerCurrent].name)>0) {
wControlSetBalloonText((wControl_p)layer_btns[(int)layerCurrent],
layers[(int)layerCurrent].name);
@@ -937,15 +1215,25 @@ static void LayerUpdate(void)
SetLayerColor(layerCurrent, layerColor);
if (layerCurrent<NUM_BUTTONS &&
- layers[(int)layerCurrent].visible!=(BOOL_T)layerVisible) {
+ layers[(int)layerCurrent].visible!=(BOOL_T)layerVisible && !layers[(int)layerCurrent].button_off) {
wButtonSetBusy(layer_btns[(int)layerCurrent], layerVisible);
}
layers[(int)layerCurrent].useColor = (BOOL_T)layerUseColor;
+ if (layers[(int)layerCurrent].visible != (BOOL_T)layerVisible)
+ FlipLayer(I2VP(layerCurrent));
layers[(int)layerCurrent].visible = (BOOL_T)layerVisible;
layers[(int)layerCurrent].frozen = (BOOL_T)layerFrozen;
+ if (layers[(int)layerCurrent].frozen) DeselectLayer(layerCurrent);
layers[(int)layerCurrent].onMap = (BOOL_T)layerOnMap;
layers[(int)layerCurrent].module = (BOOL_T)layerModule;
+ strcpy(layers[(int)layerCurrent].settingsName,settingsName);
+
+ PutLayerListArray((int)layerCurrent,layerLinkList);
+
+ SetLayerHideButton(layerCurrent,layerNoButton);
+
+ MainProc( mainW, wResize_e, NULL, NULL );
if (layerRedrawMap) {
DoRedraw();
@@ -968,15 +1256,26 @@ static void LayerSelect(
layerCurrent = (unsigned int)inx;
strcpy(layerName, layers[inx].name);
+ strcpy(settingsName, layers[inx].settingsName);
layerVisible = layers[inx].visible;
layerFrozen = layers[inx].frozen;
layerOnMap = layers[inx].onMap;
layerModule = layers[inx].module;
layerColor = layers[inx].color;
layerUseColor = layers[inx].useColor;
+ layerNoButton = layers[inx].button_off;
sprintf(message, "%ld", layers[inx].objCount);
+ GetLayerLinkString(inx,layerLinkList);
ParamLoadMessage(&layerPG, I_COUNT, message);
ParamLoadControls(&layerPG);
+
+ if (layerS) {
+ if (!LoadFileListLoad(settingsCatalog,settingsName)) {
+ settingsName[0] = '\0';
+ layers[inx].settingsName[0] = '\0';
+ }
+
+ }
}
void ResetLayers(void)
@@ -989,9 +1288,13 @@ void ResetLayers(void)
layers[inx].frozen = FALSE;
layers[inx].onMap = TRUE;
layers[inx].module = FALSE;
+ layers[inx].button_off = FALSE;
layers[inx].objCount = 0;
+ strcpy(layers[inx].settingsName,"");
+ DYNARR_RESET(int,layers[inx].layerLinkList);
SetLayerColor(inx, layerColorTab[inx%COUNT(layerColorTab)]);
+
if (inx<NUM_BUTTONS) {
wButtonSetLabel(layer_btns[inx], (char*)show_layer_bmps[inx]);
}
@@ -1003,7 +1306,21 @@ void ResetLayers(void)
wControlSetBalloonText((wControl_p)layer_btns[inx], _("Show/Hide Layer"));
}
- curLayer = 0;
+ curLayer = -1;
+
+ for (int i=0;i<NUM_LAYERS;i++) {
+ if (!layers[i].frozen) {
+ curLayer = i;
+ break;
+ }
+ }
+
+ if (curLayer == -1) {
+ ErrorMessage( MSG_NO_EMPTY_LAYER );
+ layers[0].frozen = FALSE;
+ curLayer = 0;
+ }
+
layerVisible = TRUE;
layerFrozen = FALSE;
layerOnMap = TRUE;
@@ -1011,6 +1328,8 @@ void ResetLayers(void)
layerColor = layers[0].color;
layerUseColor = TRUE;
strcpy(layerName, layers[0].name);
+ strcpy(settingsName, layers[0].settingsName);
+
LoadLayerLists();
if (layerL) {
@@ -1028,6 +1347,10 @@ void SaveLayers(void)
abort();
}
+ for (int i=0;i<NUM_LAYERS;i++) {
+ layers[i].settingsName[0] = '\0';
+ }
+
memcpy(layers_save, layers, NUM_LAYERS * sizeof layers[0]);
ResetLayers();
}
@@ -1075,7 +1398,7 @@ void RestoreLayers(void)
*
*/
-static void LayerOk(void * junk)
+static void LayerOk(void * unused)
{
LayerSelect(layerCurrent);
@@ -1113,30 +1436,135 @@ static void LayerDlgUpdate(
case I_MAP:
layerRedrawMap = TRUE;
- break;
+ /* No Break */
+ case I_VIS:
+ case I_FRZ:
+ case I_MOD:
+ case I_BUT:
+ LayerUpdate();
+ UpdateLayerDlg(layerCurrent);
+ break;
+
+ case I_SETTINGS:
+ if (strcmp((char*)wListGetItemContext(settingsListL,(wIndex_t)*(long*)valueP)," ")==0)
+ settingsName[0] = '\0';
+ else
+ strcpy(settingsName,(char*)wListGetItemContext(settingsListL,(wIndex_t)*(long*)valueP));
+ break;
}
+
+
+
}
+/**
+ * Scan opened directory for the next settings file
+ *
+ * \param dir IN opened directory handle
+ * \param dirName IN name of directory
+ * \param fileName OUT fully qualified filename
+ *
+ * \return TRUE if file found, FALSE if not
+ */
-static void DoLayer(void * junk)
+static bool
+GetNextSettingsFile(DIR *dir, const char *dirName, char **fileName)
+{
+ bool done = false;
+ bool res = false;
+
+ /*
+ * get all files from the directory
+ */
+ while (!done) {
+ struct stat fileState;
+ struct dirent *ent;
+
+ ent = readdir(dir);
+
+ if (ent) {
+ if (!XtcStricmp(FindFileExtension(ent->d_name), "xset")) {
+ /* create full file name and get the state for that file */
+ MakeFullpath(fileName, dirName, ent->d_name, NULL);
+
+ if (stat(*fileName, &fileState) == -1) {
+ fprintf(stderr, "Error getting file state for %s\n", *fileName);
+ continue;
+ }
+
+ /* ignore any directories */
+ if (!(fileState.st_mode & S_IFDIR)) {
+ done = true;
+ res = true;
+ }
+ }
+ } else {
+ done = true;
+ res = false;
+ }
+ }
+ return (res);
+}
+
+
+/*
+ * Get all the settings files in the working directory
+ */
+
+static CatalogEntry *
+ScanSettingsDirectory(Catalog *catalog, const char *dirName)
+{
+ DIR *d;
+ CatalogEntry *newEntry = catalog->head;
+ char contents[STR_SHORT_SIZE];
+
+ d = opendir(dirName);
+ if (d) {
+ char *fileName = NULL;
+
+ while (GetNextSettingsFile(d, dirName, &fileName)) {
+ char *contents_start = strrchr(fileName,PATH_SEPARATOR[0]);
+ if (contents_start[0] == '/') contents_start++;
+ char *contents_end = strchr(contents_start,'.');
+ if (contents_end[0] == '.') contents_end[0] = '\0';
+ strcpy(contents,contents_start);
+ contents_end[0] = '.';
+ newEntry = InsertInOrder(catalog,contents, NULL);
+ UpdateCatalogEntry(newEntry, fileName, contents, NULL);
+ free(fileName);
+ fileName = NULL;
+ }
+ closedir(d);
+ }
+
+ return (newEntry);
+}
+
+static void DoLayer(void * unused)
{
if (layerW == NULL) {
layerW = ParamCreateDialog(&layerPG, MakeWindowTitle(_("Layers")), _("Done"),
LayerOk, wHide, TRUE, NULL, 0, LayerDlgUpdate);
}
+ if (settingsCatalog) CatalogDiscard(settingsCatalog);
+ else settingsCatalog = InitCatalog();
+ ScanSettingsDirectory(settingsCatalog, wGetAppWorkDir());
+
+
/* set the globals to the values for the current layer */
- UpdateLayerDlg();
+ UpdateLayerDlg(curLayer);
layerRedrawMap = FALSE;
wShow(layerW);
layoutLayerChanged = FALSE;
}
+
BOOL_T ReadLayers(char * line)
{
- char * name;
- int inx, visible, frozen, color, onMap, module, dontUseColor, ColorFlags;
+ char * name, *layerLinkList, *layerSettingsName;
+ int inx, visible, frozen, color, onMap, module, dontUseColor, ColorFlags, button_off;
unsigned long rgb;
/* older files didn't support layers */
@@ -1151,9 +1579,15 @@ BOOL_T ReadLayers(char * line)
curLayer = atoi(line+7);
if (!IsLayerValid(curLayer)) {
+
curLayer = 0;
}
+ if (layers[curLayer].frozen) {
+ ErrorMessage( MSG_NOT_UNFROZEN_LAYER );
+ layers[curLayer].frozen = FALSE;
+ }
+
if (layerL) {
wListSetIndex(layerL, curLayer);
}
@@ -1165,15 +1599,33 @@ BOOL_T ReadLayers(char * line)
return TRUE;
}
- /* get the properties for a layer from the file and update the layer accordingly */
+ if (strncmp(line, "LINK", 4) == 0) {
+ if (!GetArgs(line+4, "dq" , &inx, &layerLinkList)) {
+ return FALSE;
+ }
+ PutLayerListArray(inx,layerLinkList);
+ return TRUE;
+ }
- if (!GetArgs(line, "dddduddd0q", &inx, &visible, &frozen, &onMap, &rgb, &module, &dontUseColor, &ColorFlags,
- &name)) {
- return FALSE;
+ if (strncmp(line, "SET", 3) == 0) {
+ if (!GetArgs(line+3, "dq", &inx, &layerSettingsName)) {
+ return FALSE;
+ }
+ strcpy(layers[inx].settingsName,layerSettingsName);
+ return TRUE;
}
+ /* get the properties for a layer from the file and update the layer accordingly */
+
+ if (!GetArgs(line, "dddduddddq", &inx, &visible, &frozen, &onMap, &rgb, &module, &dontUseColor, &ColorFlags, &button_off,
+ &name)) {
+
+ return FALSE;
+ }
+
+
if (paramVersion < 9) {
- if ((int)rgb < sizeof oldColorMap/sizeof oldColorMap[0]) {
+ if ((int)rgb < COUNT( oldColorMap ) ) {
rgb = wRGB(oldColorMap[(int)rgb][0], oldColorMap[(int)rgb][1],
oldColorMap[(int)rgb][2]);
} else {
@@ -1194,15 +1646,15 @@ BOOL_T ReadLayers(char * line)
layers[inx].module = module;
layers[inx].color = color;
layers[inx].useColor = !dontUseColor;
+ layers[inx].button_off = button_off;
colorTrack = ColorFlags&1; //Make sure globals are set
colorDraw = ColorFlags&2;
- if (inx<NUM_BUTTONS) {
+ if (inx<NUM_BUTTONS && !layers[inx].button_off) {
if (strlen(name) > 0) {
wControlSetBalloonText((wControl_p)layer_btns[(int)inx], layers[inx].name);
}
-
wButtonSetBusy(layer_btns[(int)inx], visible);
}
MyFree(name);
@@ -1227,12 +1679,15 @@ IsLayerConfigured(unsigned int layerNumber)
layers[layerNumber].frozen ||
!layers[layerNumber].onMap ||
layers[layerNumber].module ||
+ layers[layerNumber].button_off ||
layers[layerNumber].color !=
layerColorTab[layerNumber % (COUNT(layerColorTab))] ||
layers[layerNumber].name[0] ||
+ layers[layerNumber].layerLinkList.cnt > 0 ||
layers[layerNumber].objCount);
}
+
/**
* Save the layer information to the file.
*
@@ -1259,12 +1714,20 @@ BOOL_T WriteLayers(FILE * f)
wDrawGetRGB(layers[inx].color),
layers[inx].module,
layers[inx].useColor?0:1,
- ColorFlags, 0,
+ ColorFlags, layers[inx].button_off,
PutTitle(layers[inx].name));
}
}
fprintf(f, "LAYERS CURRENT %u\n", curLayer);
+
+ for (inx = 0; inx < NUM_LAYERS; inx++) {
+ GetLayerLinkString(inx,layerLinkList);
+ if (IsLayerConfigured(inx) && strlen(layerLinkList)>0)
+ fprintf(f, "LAYERS LINK %u \"%s\"\n",inx,layerLinkList);
+ if (IsLayerConfigured(inx) && layers[inx].settingsName[0])
+ fprintf(f, "LAYERS SET %u \"%s\"\n",inx, layers[inx].settingsName);
+ }
return TRUE;
}
@@ -1281,8 +1744,10 @@ void InitLayers(void)
/* create the bitmaps for the layer buttons */
/* all bitmaps have to have the same dimensions */
- for (i = 0; i<NUM_BUTTONS; i++) {
- show_layer_bmps[i] = wIconCreateBitMap(l1_width, l1_height, show_layer_bits[i],
+ for (int i = 0;i<NUM_LAYERS; i++) {
+ // char *bits = (show_layer_bits[i] + iconSize * sizeof(char*)));
+ show_layer_bmps[i] = wIconCreateBitMap(lbits_width[iconSize], lbits_height[iconSize],
+ show_layer_bits[iconSize][i],
layerColorTab[i%(COUNT(layerColorTab))]);
layers[i].color = layerColorTab[i%(COUNT(layerColorTab))];
layers[i].useColor = TRUE;
@@ -1294,11 +1759,13 @@ void InitLayers(void)
wControlSetBalloonText((wControl_p)setLayerL, GetBalloonHelpStr("cmdLayerSet"));
AddToolbarControl((wControl_p)setLayerL, IC_MODETRAIN_TOO);
- backgroundB = AddToolbarButton("cmdBackgroundShow", wIconCreatePixMap(background), 0,
- (addButtonCallBack_t)BackgroundToggleShow, NULL);
+ backgroundB = AddToolbarButton("cmdBackgroundShow", wIconCreatePixMap(background_xpm[iconSize]), 0,
+ BackgroundToggleShow, NULL);
+ /* add the help text */
+ wControlSetBalloonText((wControl_p)backgroundB, _("Show/Hide Background"));
wControlActive((wControl_p)backgroundB, FALSE);
- for (i = 0; i<NUM_LAYERS; i++) {
+ for (int i = 0; i<NUM_LAYERS; i++) {
char *layerName;
if (i<NUM_BUTTONS) {
@@ -1306,17 +1773,17 @@ void InitLayers(void)
sprintf(message, "cmdLayerShow%u", i);
layer_btns[i] = wButtonCreate(mainW, 0, 0, message,
(char*)(show_layer_bmps[i]),
- BO_ICON, 0, (wButtonCallBack_p)FlipLayer, (void*)(intptr_t)i);
+ BO_ICON, 0, FlipLayer, I2VP(i) );
/* add the help text */
wControlSetBalloonText((wControl_p)layer_btns[i], _("Show/Hide Layer"));
/* put on toolbar */
- AddToolbarControl((wControl_p)layer_btns[i], IC_MODETRAIN_TOO);
- /* set state of button */
- wButtonSetBusy(layer_btns[i], 1);
+ AddToolbarControl((wControl_p)layer_btns[i], IC_MODETRAIN_TOO);
+ /* set state of button */
+ wButtonSetBusy(layer_btns[i], 1);
}
layerName = FormatLayerName(i);
- wListAddValue(setLayerL, layerName, NULL, (void*)(long)i);
+ wListAddValue(setLayerL, layerName, NULL, I2VP(i));
free(layerName);
}
@@ -1324,7 +1791,6 @@ void InitLayers(void)
AddPlaybackProc("LAYERS", (playbackProc_p)ReadLayers, NULL);
}
-
addButtonCallBack_t InitLayersDialog(void)
{
ParamRegister(&layerPG);
diff --git a/app/bin/doption.c b/app/bin/doption.c
index 3b9ed02..d196558 100644
--- a/app/bin/doption.c
+++ b/app/bin/doption.c
@@ -20,20 +20,18 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <ctype.h>
-
#include "ccurve.h"
#include "cselect.h"
#include "custom.h"
-#include "i18n.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
+#include "common-ui.h"
-static paramIntegerRange_t i0_64 = { 0, 64 };
static paramIntegerRange_t i1_64 = { 1, 64 };
static paramIntegerRange_t i1_100 = { 1, 100 };
+static paramIntegerRange_t i0_256 = { 0, 256 };
static paramIntegerRange_t i1_256 = { 1, 256 };
+static paramIntegerRange_t i1_1024 = { 1, 1024 };
static paramIntegerRange_t i0_10000 = { 0, 10000 };
static paramIntegerRange_t i0_99 = { 0, 99};
static paramIntegerRange_t i1_1000 = { 1, 1000 };
@@ -62,7 +60,7 @@ long GetChanges( paramGroup_p pg )
int inx;
for ( changed=ParamUpdate(pg),inx=0,changes=0; changed; changed>>=1,inx++ ) {
if ( changed&1 )
- changes |= (long)pg->paramPtr[inx].context;
+ changes |= VP2L(pg->paramPtr[inx].context);
}
return changes;
}
@@ -71,45 +69,7 @@ static paramGroup_t prefPG;
-static void OptionDlgUpdate(
- paramGroup_p pg,
- int inx,
- void * valueP )
-{
- if ( inx < 0 ) return;
- if ( pg->paramPtr[inx].valueP == &enableBalloonHelp ) {
- wEnableBalloonHelp((wBool_t)*(long*)valueP);
- } else {
- if (pg->paramPtr[inx].valueP == &units) {
- UpdatePrefD();
- }
- if (pg->paramPtr[inx].valueP == &distanceFormatInx) {
- UpdateMeasureFmt();
- }
- if (pg->paramPtr[inx].valueP == &showFlexTrack) {
- DoChangeNotification(CHANGE_PARAMS|CHANGE_TOOLBAR);
- }
- if (pg->paramPtr[inx].valueP == &checkPtInterval) {
- checkPtInterval = *(long *)valueP;
- if (checkPtInterval == 0 ) {
- wControlSetBalloon( pg->paramPtr[inx].control, 0, -5, _("Turning off AutoSave") );
- UpdateAutoSaveInterval(0);
- } else {
- wControlSetBalloon( pg->paramPtr[inx].control, 0, -5, NULL );
- }
- }
- if (pg->paramPtr[inx].valueP == &autosaveChkPoints) {
- autosaveChkPoints = *(long *)valueP;
- if (checkPtInterval == 0 && autosaveChkPoints>0 ) {
- wControlSetBalloon( pg->paramPtr[inx].control, 0, -5, _("Turning on CheckPointing") );
- UpdateChkPtInterval(10);
- } else {
- wControlSetBalloon( pg->paramPtr[inx].control, 0, -5, NULL );
- }
- }
- }
-}
static void OptionDlgCancel(
wWin_p win )
@@ -141,37 +101,40 @@ static char * colorDrawLabels[] = { N_("Object"), N_("Layer"), NULL };
static char * liveMapLabels[] = { N_("Live Map"), NULL };
static char * hideTrainsInTunnelsLabels[] = { N_("Hide Trains On Hidden Track"), NULL };
static char * constrainMainLabels[] = {N_("Constrain Drawing Area to Room boundaries"), NULL};
+static char * dontHideLabels[] = {N_("Don't Hide System Cursor when program cursor is active"), NULL};
extern long trainPause;
static paramData_t displayPLs[] = {
- { PD_RADIO, &colorTrack, "color-track", PDO_NOPSHUPD|PDO_DRAW, colorTrackLabels, N_("Color Track"), BC_HORZ, (void*)(CHANGE_MAIN) },
- { PD_RADIO, &colorDraw, "color-draw", PDO_NOPSHUPD|PDO_DRAW, colorDrawLabels, N_("Color Draw"), BC_HORZ, (void*)(CHANGE_MAIN) },
- { PD_RADIO, &drawTunnel, "tunnels", PDO_NOPSHUPD|PDO_DRAW, drawTunnelLabels, N_("Draw Tunnel"), BC_HORZ, (void*)(CHANGE_MAIN) },
- { PD_RADIO, &drawEndPtV, "endpt", PDO_NOPSHUPD|PDO_DRAW, drawEndPtLabels3, N_("Draw EndPts"), BC_HORZ, (void*)(CHANGE_MAIN) },
- { PD_RADIO, &drawUnconnectedEndPt, "unconnected-endpt", PDO_NOPSHUPD|PDO_DRAW, drawEndPtUnconnectedSize, N_("Draw Unconnected EndPts"), BC_HORZ, (void*)(CHANGE_MAIN) },
- { PD_RADIO, &tieDrawMode, "tiedraw", PDO_NOPSHUPD|PDO_DRAW, tiedrawLabels, N_("Draw Ties"), BC_HORZ, (void*)(CHANGE_MAIN) },
- { PD_RADIO, &centerDrawMode, "centerdraw", PDO_NOPSHUPD|PDO_DRAW, drawCenterCircle, N_("Draw Centers"), BC_HORZ, (void*)(CHANGE_MAIN | CHANGE_MAP) },
- { PD_LONG, &twoRailScale, "tworailscale", PDO_NOPSHUPD, &i1_64, N_("Two Rail Scale"), 0, (void*)(CHANGE_MAIN) },
- { PD_LONG, &mapScale, "mapscale", PDO_NOPSHUPD, &i1_256, N_("Map Scale"), 0, (void*)(CHANGE_MAP) },
+ { PD_RADIO, &colorTrack, "color-track", PDO_NOPSHUPD|PDO_DRAW, colorTrackLabels, N_("Color Track"), BC_HORZ, I2VP(CHANGE_MAIN) },
+ { PD_RADIO, &colorDraw, "color-draw", PDO_NOPSHUPD|PDO_DRAW, colorDrawLabels, N_("Color Draw"), BC_HORZ, I2VP(CHANGE_MAIN) },
+ { PD_RADIO, &drawTunnel, "tunnels", PDO_NOPSHUPD|PDO_DRAW, drawTunnelLabels, N_("Draw Tunnel"), BC_HORZ, I2VP(CHANGE_MAIN) },
+ { PD_RADIO, &drawEndPtV, "endpt", PDO_NOPSHUPD|PDO_DRAW, drawEndPtLabels3, N_("Draw EndPts"), BC_HORZ, I2VP(CHANGE_MAIN) },
+ { PD_RADIO, &drawUnconnectedEndPt, "unconnected-endpt", PDO_NOPSHUPD|PDO_DRAW, drawEndPtUnconnectedSize, N_("Draw Unconnected EndPts"), BC_HORZ, I2VP(CHANGE_MAIN) },
+ { PD_RADIO, &tieDrawMode, "tiedraw", PDO_NOPSHUPD|PDO_DRAW, tiedrawLabels, N_("Draw Ties"), BC_HORZ, I2VP(CHANGE_MAIN) },
+ { PD_RADIO, &centerDrawMode, "centerdraw", PDO_NOPSHUPD|PDO_DRAW, drawCenterCircle, N_("Draw Centers"), BC_HORZ, I2VP(CHANGE_MAIN | CHANGE_MAP) },
+ { PD_LONG, &twoRailScale, "tworailscale", PDO_NOPSHUPD, &i1_256, N_("Two Rail Scale"), 0, I2VP(CHANGE_MAIN) },
+ { PD_LONG, &mapScale, "mapscale", PDO_NOPSHUPD, &i1_1024, N_("Map Scale"), 0, I2VP(CHANGE_MAP) },
+ { PD_TOGGLE, &dontHideCursor, "donthidecursor", PDO_NOPSHUPD, dontHideLabels, "", BC_HORZ },
{ PD_TOGGLE, &constrainMain, "constrainmain", PDO_NOPSHUPD, constrainMainLabels, "", BC_HORZ },
{ PD_TOGGLE, &liveMap, "livemap", PDO_NOPSHUPD, liveMapLabels, "", BC_HORZ },
{ PD_TOGGLE, &autoPan, "autoPan", PDO_NOPSHUPD, autoPanLabels, "", BC_HORZ },
- { PD_TOGGLE, &labelEnable, "labelenable", PDO_NOPSHUPD, labelEnableLabels, N_("Label Enable"), 0, (void*)(CHANGE_MAIN) },
- { PD_LONG, &labelScale, "labelscale", PDO_NOPSHUPD, &i0_64, N_("Label Scale"), 0, (void*)(CHANGE_MAIN) },
- { PD_LONG, &descriptionFontSize, "description-fontsize", PDO_NOPSHUPD, &i1_1000, N_("Label Font Size"), 0, (void*)(CHANGE_MAIN) },
- { PD_TOGGLE, &hotBarLabels, "hotbarlabels", PDO_NOPSHUPD, hotBarLabelsLabels, N_("Hot Bar Labels"), BC_HORZ, (void*)(CHANGE_TOOLBAR) },
- { PD_TOGGLE, &layoutLabels, "layoutlabels", PDO_NOPSHUPD, listLabelsLabels, N_("Layout Labels"), BC_HORZ, (void*)(CHANGE_MAIN) },
- { PD_TOGGLE, &listLabels, "listlabels", PDO_NOPSHUPD, listLabelsLabels, N_("List Labels"), BC_HORZ, (void*)(CHANGE_PARAMS) },
+#define labelSelect (12)
+ { PD_TOGGLE, &labelEnable, "labelenable", PDO_NOPSHUPD, labelEnableLabels, N_("Label Enable"), 0, I2VP(CHANGE_MAIN) },
+ { PD_LONG, &labelScale, "labelscale", PDO_NOPSHUPD, &i0_256, N_("Label Scale"), 0, I2VP(CHANGE_MAIN) },
+ { PD_LONG, &descriptionFontSize, "description-fontsize", PDO_NOPSHUPD, &i1_1000, N_("Label Font Size"), 0, I2VP(CHANGE_MAIN) },
+ { PD_TOGGLE, &hotBarLabels, "hotbarlabels", PDO_NOPSHUPD, hotBarLabelsLabels, N_("Hot Bar Labels"), BC_HORZ, I2VP(CHANGE_TOOLBAR) },
+ { PD_TOGGLE, &layoutLabels, "layoutlabels", PDO_NOPSHUPD, listLabelsLabels, N_("Layout Labels"), BC_HORZ, I2VP(CHANGE_MAIN) },
+ { PD_TOGGLE, &listLabels, "listlabels", PDO_NOPSHUPD, listLabelsLabels, N_("List Labels"), BC_HORZ, I2VP(CHANGE_PARAMS) },
/* ATTENTION: update the define below if you add entries above */
-#define I_HOTBARLABELS (18)
- { PD_DROPLIST, &carHotbarModeInx, "carhotbarlabels", PDO_NOPSHUPD|PDO_DLGUNDERCMDBUTT|PDO_LISTINDEX, (void*)250, N_("Car Labels"), 0, (void*)CHANGE_SCALE },
+#define I_HOTBARLABELS (19)
+ { PD_DROPLIST, &carHotbarModeInx, "carhotbarlabels", PDO_NOPSHUPD|PDO_DLGUNDERCMDBUTT|PDO_LISTINDEX, I2VP(250), N_("Car Labels"), 0, I2VP(CHANGE_SCALE) },
{ PD_LONG, &trainPause, "trainpause", PDO_NOPSHUPD, &i10_1000 , N_("Train Update Delay"), 0, 0 },
{ PD_TOGGLE, &hideTrainsInTunnels, "hideTrainsInTunnels", PDO_NOPSHUPD, hideTrainsInTunnelsLabels, "", BC_HORZ }
};
-static paramGroup_t displayPG = { "display", PGO_RECORD|PGO_PREFMISC, displayPLs, sizeof displayPLs/sizeof displayPLs[0] };
+static paramGroup_t displayPG = { "display", PGO_RECORD|PGO_PREFMISC, displayPLs, COUNT( displayPLs ) };
static void DisplayOk( void * junk )
@@ -183,27 +146,65 @@ static void DisplayOk( void * junk )
}
-#ifdef LATER
-static void DisplayChange( long changes )
+static void OptionDlgUpdate(
+ paramGroup_p pg,
+ int inx,
+ void * valueP )
{
- if (changes & (CHANGE_SCALE|CHANGE_UNITS))
- if (displayW != NULL && wWinIsVisible(displayW) )
- ParamLoadControls( &displayPG );
-}
-#endif
+ if ( inx < 0 ) return;
+ if ( pg->paramPtr[inx].valueP == &enableBalloonHelp ) {
+ wEnableBalloonHelp((wBool_t)*(long*)valueP);
+ } else {
+ if (pg->paramPtr[inx].valueP == &labelEnable) {
+ long new_labels = wRadioGetValue( (wChoice_p)pg->paramPtr[inx].control );
+ labelEnable = new_labels;
+ ParamLoadControl(&displayPG,labelSelect);
+ }
+ if (pg->paramPtr[inx].valueP == &units) {
+ UpdatePrefD();
+ }
+ if (pg->paramPtr[inx].valueP == &distanceFormatInx) {
+ UpdateMeasureFmt();
+ }
+ if (pg->paramPtr[inx].valueP == &showFlexTrack) {
+ DoChangeNotification(CHANGE_PARAMS|CHANGE_TOOLBAR);
+ }
+ if (pg->paramPtr[inx].valueP == &checkPtInterval) {
+ checkPtInterval = *(long *)valueP;
+ if (checkPtInterval == 0 ) {
+ wWinPix_t h = wControlGetHeight(pg->paramPtr[inx].control);
+ wControlSetBalloon( pg->paramPtr[inx].control, 0, h*3/4, _("Turning off AutoSave") );
+ UpdateAutoSaveInterval(0);
+ } else {
+ wControlSetBalloon( pg->paramPtr[inx].control, 0, 0, NULL );
+ }
+ }
+ if (pg->paramPtr[inx].valueP == &autosaveChkPoints) {
+ autosaveChkPoints = *(long *)valueP;
+ if (checkPtInterval == 0 && autosaveChkPoints>0 ) {
+ wWinPix_t h = wControlGetHeight(pg->paramPtr[inx].control);
+ wControlSetBalloon( pg->paramPtr[inx].control, 0, -h*3/4, _("Turning on CheckPointing") );
+ UpdateChkPtInterval(10);
+ } else {
+ wControlSetBalloon( pg->paramPtr[inx].control, 0, 0, NULL );
+ }
+ }
+
+ }
+}
static void DoDisplay( void * junk )
{
if (displayW == NULL) {
displayW = ParamCreateDialog( &displayPG, MakeWindowTitle(_("Display Options")), _("Ok"), DisplayOk, OptionDlgCancel, TRUE, NULL, 0, OptionDlgUpdate );
- wListAddValue( (wList_p)displayPLs[I_HOTBARLABELS].control, _("Proto"), NULL, (void*)0x0002 );
- wListAddValue( (wList_p)displayPLs[I_HOTBARLABELS].control, _("Proto/Manuf"), NULL, (void*)0x0012 );
- wListAddValue( (wList_p)displayPLs[I_HOTBARLABELS].control, _("Proto/Manuf/Part Number"), NULL, (void*)0x0312 );
- wListAddValue( (wList_p)displayPLs[I_HOTBARLABELS].control, _("Proto/Manuf/Partno/Item"), NULL, (void*)0x4312 );
- wListAddValue( (wList_p)displayPLs[I_HOTBARLABELS].control, _("Manuf/Proto"), NULL, (void*)0x0021 );
- wListAddValue( (wList_p)displayPLs[I_HOTBARLABELS].control, _("Manuf/Proto/Part Number"), NULL, (void*)0x0321 );
- wListAddValue( (wList_p)displayPLs[I_HOTBARLABELS].control, _("Manuf/Proto/Partno/Item"), NULL, (void*)0x4321 );
+ wListAddValue( (wList_p)displayPLs[I_HOTBARLABELS].control, _("Proto"), NULL, I2VP(0x0002) );
+ wListAddValue( (wList_p)displayPLs[I_HOTBARLABELS].control, _("Proto/Manuf"), NULL, I2VP(0x0012) );
+ wListAddValue( (wList_p)displayPLs[I_HOTBARLABELS].control, _("Proto/Manuf/Part Number"), NULL, I2VP(0x0312) );
+ wListAddValue( (wList_p)displayPLs[I_HOTBARLABELS].control, _("Proto/Manuf/Partno/Item"), NULL, I2VP(0x4312) );
+ wListAddValue( (wList_p)displayPLs[I_HOTBARLABELS].control, _("Manuf/Proto"), NULL, I2VP(0x0021) );
+ wListAddValue( (wList_p)displayPLs[I_HOTBARLABELS].control, _("Manuf/Proto/Part Number"), NULL, I2VP(0x0321) );
+ wListAddValue( (wList_p)displayPLs[I_HOTBARLABELS].control, _("Manuf/Proto/Partno/Item"), NULL, I2VP(0x4321) );
}
ParamLoadControls( &displayPG );
@@ -250,7 +251,7 @@ EXPORT paramData_t cmdoptPLs[] = {
{ PD_RADIO, &selectMode, "selectmode", PDO_NOPSHUPD, selectLabels, N_("Select Mode"), 0},
{ PD_TOGGLE, &selectZero, "selectzero", PDO_NOPSHUPD, selectZeroLabels, "", 0 }
};
-static paramGroup_t cmdoptPG = { "cmdopt", PGO_RECORD|PGO_PREFMISC, cmdoptPLs, sizeof cmdoptPLs/sizeof cmdoptPLs[0] };
+static paramGroup_t cmdoptPG = { "cmdopt", PGO_RECORD|PGO_PREFMISC, cmdoptPLs, COUNT( cmdoptPLs ) };
static void CmdoptOk( void * junk )
{
@@ -295,6 +296,7 @@ EXPORT addButtonCallBack_t CmdoptInit( void )
static wWin_p prefW;
static long displayUnits;
+static char * iconSizeLabels[] = { N_("16 px"), N_("24 px"), N_("32 px"), NULL };
static char * unitsLabels[] = { N_("English"), N_("Metric"), NULL };
static char * angleSystemLabels[] = { N_("Polar"), N_("Cartesian"), NULL };
static char * enableBalloonHelpLabels[] = { N_("Balloon Help"), NULL };
@@ -302,10 +304,11 @@ static char * enableFlexTrackLabels[] = { N_("Show FlexTrack in HotBar"), NULL }
static char * startOptions[] = { N_("Load Last Layout"), N_("Start New Layout"), NULL };
static paramData_t prefPLs[] = {
+ { PD_RADIO, &iconSize, "iconsize", PDO_NOPSHUPD, iconSizeLabels, N_("Icon Size"), BC_HORZ, I2VP(CHANGE_ICONSIZE) },
{ PD_RADIO, &angleSystem, "anglesystem", PDO_NOPSHUPD, angleSystemLabels, N_("Angles"), BC_HORZ },
- { PD_RADIO, &units, "units", PDO_NOPSHUPD|PDO_NOUPDACT, unitsLabels, N_("Units"), BC_HORZ, (void*)(CHANGE_MAIN|CHANGE_UNITS) },
-#define I_DSTFMT (2)
- { PD_DROPLIST, &distanceFormatInx, "dstfmt", PDO_DIM|PDO_NOPSHUPD|PDO_LISTINDEX, (void*)150, N_("Length Format"), 0, (void*)(CHANGE_MAIN|CHANGE_UNITS) },
+ { PD_RADIO, &units, "units", PDO_NOPSHUPD|PDO_NOUPDACT, unitsLabels, N_("Units"), BC_HORZ, I2VP(CHANGE_MAIN|CHANGE_UNITS) },
+#define I_DSTFMT (3)
+ { PD_DROPLIST, &distanceFormatInx, "dstfmt", PDO_DIM|PDO_NOPSHUPD|PDO_LISTINDEX, I2VP(150), N_("Length Format"), 0, I2VP(CHANGE_MAIN|CHANGE_UNITS) },
{ PD_FLOAT, &minLength, "minlength", PDO_DIM|PDO_SMALLDIM|PDO_NOPSHUPD, &r0o1_1, N_("Min Track Length") },
{ PD_FLOAT, &connectDistance, "connectdistance", PDO_DIM|PDO_SMALLDIM|PDO_NOPSHUPD, &r0o1_1, N_("Connection Distance"), },
{ PD_FLOAT, &connectAngle, "connectangle", PDO_NOPSHUPD, &r1_10, N_("Connection Angle") },
@@ -316,13 +319,13 @@ static paramData_t prefPLs[] = {
{ PD_LONG, &dragPixels, "dragpixels", PDO_NOPSHUPD|PDO_DRAW, &i1_1000, N_("Drag Distance") },
{ PD_LONG, &dragTimeout, "dragtimeout", PDO_NOPSHUPD|PDO_DRAW, &i1_1000, N_("Drag Timeout") },
{ PD_LONG, &minGridSpacing, "mingridspacing", PDO_NOPSHUPD|PDO_DRAW, &i1_100, N_("Min Grid Spacing"), 0, 0 },
-#define I_CHKPT (13)
+#define I_CHKPT (14)
{ PD_LONG, &checkPtInterval, "checkpoint", PDO_NOPSHUPD|PDO_FILE, &i0_10000, N_("Check Point Frequency") },
-#define I_AUTOSAVE (14)
+#define I_AUTOSAVE (15)
{ PD_LONG, &autosaveChkPoints, "autosave", PDO_NOPSHUPD|PDO_FILE, &i0_99, N_("Autosave Checkpoint Frequency") },
{ PD_RADIO, &onStartup, "onstartup", PDO_NOPSHUPD, startOptions, N_("On Program Startup"), 0, NULL }
};
-static paramGroup_t prefPG = { "pref", PGO_RECORD|PGO_PREFMISC, prefPLs, sizeof prefPLs/sizeof prefPLs[0] };
+static paramGroup_t prefPG = { "pref", PGO_RECORD|PGO_PREFMISC, prefPLs, COUNT( prefPLs ) };
typedef struct {
@@ -394,7 +397,7 @@ static void LoadDstFmtList( void )
int inx;
wListClear( (wList_p)prefPLs[I_DSTFMT].control );
for ( inx=0; dstFmts[units][inx].name; inx++ )
- wListAddValue( (wList_p)prefPLs[I_DSTFMT].control, _(dstFmts[units][inx].name), NULL, (void*)dstFmts[units][inx].fmt );
+ wListAddValue( (wList_p)prefPLs[I_DSTFMT].control, _(dstFmts[units][inx].name), NULL, I2VP(dstFmts[units][inx].fmt) );
}
/**
@@ -416,7 +419,7 @@ static void UpdatePrefD( void )
LoadDstFmtList();
distanceFormatInx = 0;
- for (inx = 0; inx < sizeof prefPLs / sizeof prefPLs[0]; inx++) {
+ for (inx = 0; inx < COUNT( prefPLs ); inx++) {
if ((prefPLs[inx].option&PDO_DIM)) {
ParamLoadControl(&prefPG, inx);
}
@@ -439,7 +442,7 @@ static void UpdateMeasureFmt()
distanceFormatInx = wListGetIndex((wList_p)prefPLs[I_DSTFMT].control);
units = wRadioGetValue((wChoice_p)prefPLs[1].control);
- for (inx = 0; inx < sizeof prefPLs / sizeof prefPLs[0]; inx++) {
+ for (inx = 0; inx < COUNT( prefPLs ); inx++) {
if ((prefPLs[inx].option&PDO_DIM)) {
ParamLoadControl(&prefPG, inx);
}
@@ -479,6 +482,8 @@ static void PrefOk( void * junk )
NoticeMessage2( 0, MSG_CONN_PARAMS_TOO_BIG, _("Ok"), NULL ) ;
}
+ if(changes & CHANGE_ICONSIZE)
+ NoticeMessage( MSG_ICON_SIZE_RESTART, _("Ok"), NULL ) ;
wHide( prefW );
DoChangeNotification(changes);
@@ -527,17 +532,17 @@ EXPORT long GetDistanceFormat( void )
static wWin_p colorW;
static paramData_t colorPLs[] = {
- { PD_COLORLIST, &snapGridColor, "snapgrid", PDO_NOPSHUPD, NULL, N_("Snap Grid"), 0, (void*)(CHANGE_GRID) },
- { PD_COLORLIST, &markerColor, "marker", PDO_NOPSHUPD, NULL, N_("Marker"), 0, (void*)(CHANGE_GRID) },
- { PD_COLORLIST, &borderColor, "border", PDO_NOPSHUPD, NULL, N_("Border"), 0, (void*)(CHANGE_MAIN) },
+ { PD_COLORLIST, &snapGridColor, "snapgrid", PDO_NOPSHUPD, NULL, N_("Snap Grid"), 0, I2VP(CHANGE_GRID) },
+ { PD_COLORLIST, &markerColor, "marker", PDO_NOPSHUPD, NULL, N_("Marker"), 0, I2VP(CHANGE_GRID) },
+ { PD_COLORLIST, &borderColor, "border", PDO_NOPSHUPD, NULL, N_("Border"), 0, I2VP(CHANGE_MAIN) },
{ PD_COLORLIST, &crossMajorColor, "crossmajor", PDO_NOPSHUPD, NULL, N_("Primary Axis"), 0, 0 },
{ PD_COLORLIST, &crossMinorColor, "crossminor", PDO_NOPSHUPD, NULL, N_("Secondary Axis"), 0, 0 },
- { PD_COLORLIST, &normalColor, "normal", PDO_NOPSHUPD, NULL, N_("Normal Track"), 0, (void*)(CHANGE_MAIN|CHANGE_PARAMS) },
- { PD_COLORLIST, &selectedColor, "selected", PDO_NOPSHUPD, NULL, N_("Selected Track"), 0, (void*)(CHANGE_MAIN) },
- { PD_COLORLIST, &profilePathColor, "profile", PDO_NOPSHUPD, NULL, N_("Profile Path"), 0, (void*)(CHANGE_MAIN) },
- { PD_COLORLIST, &exceptionColor, "exception", PDO_NOPSHUPD, NULL, N_("Exception Track"), 0, (void*)(CHANGE_MAIN) },
- { PD_COLORLIST, &tieColor, "tie", PDO_NOPSHUPD, NULL, N_("Track Ties"), 0, (void*)(CHANGE_MAIN) } };
-static paramGroup_t colorPG = { "rgbcolor", PGO_RECORD|PGO_PREFGROUP, colorPLs, sizeof colorPLs/sizeof colorPLs[0] };
+ { PD_COLORLIST, &normalColor, "normal", PDO_NOPSHUPD, NULL, N_("Normal Track"), 0, I2VP(CHANGE_MAIN|CHANGE_PARAMS) },
+ { PD_COLORLIST, &selectedColor, "selected", PDO_NOPSHUPD, NULL, N_("Selected Track"), 0, I2VP(CHANGE_MAIN) },
+ { PD_COLORLIST, &profilePathColor, "profile", PDO_NOPSHUPD, NULL, N_("Profile Path"), 0, I2VP(CHANGE_MAIN) },
+ { PD_COLORLIST, &exceptionColor, "exception", PDO_NOPSHUPD, NULL, N_("Exception Track"), 0, I2VP(CHANGE_MAIN) },
+ { PD_COLORLIST, &tieColor, "tie", PDO_NOPSHUPD, NULL, N_("Track Ties"), 0, I2VP(CHANGE_MAIN) } };
+static paramGroup_t colorPG = { "rgbcolor", PGO_RECORD|PGO_PREFGROUP, colorPLs, COUNT( colorPLs ) };
diff --git a/app/bin/dpricels.c b/app/bin/dpricels.c
index 9d04d6d..ef7025e 100644
--- a/app/bin/dpricels.c
+++ b/app/bin/dpricels.c
@@ -19,13 +19,10 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <string.h>
#include "compound.h"
#include "custom.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
@@ -41,7 +38,7 @@ DIST_T priceListFlexLengthV;
DIST_T priceListFlexCostV;
static paramFloatRange_t priceListCostData = { 0.0, 9999.99, 80 };
-static wPos_t priceListColumnWidths[] = { -60, 200 };
+static wWinPix_t priceListColumnWidths[] = { -60, 200 };
static const char * priceListColumnTitles[] = { N_("Price"), N_("Item") };
static paramListData_t priceListListData = { 10, 400, 2, priceListColumnWidths, priceListColumnTitles };
static paramFloatRange_t priceListFlexData = { 0.0, 999.99, 80 };
@@ -51,7 +48,7 @@ static paramData_t priceListPLs[] = {
{ PD_FLOAT, &priceListCostV, "cost", PDO_NOPREF|PDO_NOPSHUPD, &priceListCostData },
#define I_PRICELSENTRY (1)
#define priceListEntryS ((wString_p)priceListPLs[I_PRICELSENTRY].control)
- { PD_STRING, &priceListEntryV, "entry", PDO_NOPREF|PDO_NOPSHUPD|PDO_DLGHORZ, (void*)(400-80-3), NULL, BO_READONLY },
+ { PD_STRING, &priceListEntryV, "entry", PDO_NOPREF|PDO_NOPSHUPD|PDO_DLGHORZ, I2VP(400-80-3), NULL, BO_READONLY, NULL, sizeof priceListEntryV },
#define I_PRICELSLIST (2)
#define priceListSelL ((wList_p)priceListPLs[I_PRICELSLIST].control)
{ PD_LIST, NULL, "inx", PDO_NOPREF|PDO_NOPSHUPD, &priceListListData },
@@ -60,7 +57,7 @@ static paramData_t priceListPLs[] = {
{ PD_MESSAGE, N_("costs"), NULL, PDO_DLGHORZ },
#define I_PRICELSFLEXCOST (6)
{ PD_FLOAT, &priceListFlexCostV, "flexcost", PDO_NOPREF|PDO_NOPSHUPD|PDO_DLGHORZ, &priceListFlexData } };
-static paramGroup_t priceListPG = { "pricelist", 0, priceListPLs, sizeof priceListPLs/sizeof priceListPLs[0] };
+static paramGroup_t priceListPG = { "pricelist", 0, priceListPLs, COUNT( priceListPLs ) };
static void PriceListUpdate()
diff --git a/app/bin/dprmfile.c b/app/bin/dprmfile.c
index 3bb249e..7fbe337 100644
--- a/app/bin/dprmfile.c
+++ b/app/bin/dprmfile.c
@@ -20,16 +20,9 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <assert.h>
-#include <stdbool.h>
-#include <stdint.h>
-#include <string.h>
-
#include "custom.h"
#include "dynstring.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "param.h"
#include "include/paramfile.h"
#include "include/paramfilelist.h"
@@ -65,9 +58,9 @@ static long paramFileSel = 0;
static void ParamFileFavorite(void * favorite);
static void ParamRefreshSelectedFiles(void * action);
-static void ParamUnloadSelectedFiles(void *);
-static void ParamFileBrowse(void *);
-static void ParamFileSelectAll(void *);
+static void ParamUnloadSelectedFiles(void * action);
+static void ParamFileBrowse(void * junk);
+static void ParamFileSelectAll(void * junk);
static paramListData_t paramFileListData = { 15, 370 };
static char * paramFileLabels[] = { N_("Show File Names"), NULL };
@@ -78,19 +71,19 @@ static paramData_t paramFilePLs[] = {
#define I_PRMFILTOGGLE (1)
{ PD_TOGGLE, &paramFileSel, "mode", 0, paramFileLabels, NULL, BC_HORZ|BC_NOBORDER },
#define I_MESSAGE (2)
- { PD_MESSAGE, "", NULL, 0, (void *)370 },
- { PD_BUTTON, (void *)ParamFileSelectAll, "selectall", PDO_DLGCMDBUTTON, NULL, N_("Select all") },
+ { PD_MESSAGE, "", NULL, 0, I2VP(370) },
+ { PD_BUTTON, ParamFileSelectAll, "selectall", PDO_DLGCMDBUTTON, NULL, N_("Select all") },
#define I_PRMFILEFAVORITE (4)
- { PD_BUTTON, (void *)ParamFileFavorite, "favorite", PDO_DLGCMDBUTTON, (void *)TRUE, N_("Favorite")},
- { PD_BUTTON, (void*)ParamUnloadSelectedFiles, "unload", PDO_DLGCMDBUTTON, NULL, N_(PARAMBUTTON_UNLOAD), 0L, FALSE },
- { PD_BUTTON, (void*)ParamRefreshSelectedFiles, "refresh", PDO_DLGCMDBUTTON, NULL, N_(PARAMBUTTON_REFRESH), 0L, FALSE },
- { PD_BUTTON, (void*)DoSearchParams, "find", 0, NULL, N_("Search Library") },
- { PD_BUTTON, (void*)ParamFileBrowse, "browse", 0, NULL, N_("Browse ...") },
+ { PD_BUTTON, ParamFileFavorite, "favorite", PDO_DLGCMDBUTTON, I2VP(TRUE), N_("Favorite")},
+ { PD_BUTTON, ParamUnloadSelectedFiles, "unload", PDO_DLGCMDBUTTON, NULL, N_(PARAMBUTTON_UNLOAD), 0L, FALSE },
+ { PD_BUTTON, ParamRefreshSelectedFiles, "refresh", PDO_DLGCMDBUTTON, NULL, N_(PARAMBUTTON_REFRESH), 0L, FALSE },
+ { PD_BUTTON, DoSearchParams, "find", 0, NULL, N_("Library...") },
+ { PD_BUTTON, ParamFileBrowse, "browse", 0, NULL, N_("Browse...") },
};
-static paramGroup_t paramFilePG = { "prmfile", 0, paramFilePLs, sizeof paramFilePLs/sizeof paramFilePLs[0] };
+static paramGroup_t paramFilePG = { "prmfile", 0, paramFilePLs, COUNT( paramFilePLs ) };
#define MESSAGETEXT ((wMessage_p)paramFilePLs[I_MESSAGE].control)
@@ -131,12 +124,12 @@ void
SortParamFileList(size_t cnt, dynArr_t *files, int *list)
{
for (size_t i = 0; i < cnt; i++) {
- list[i] = i;
+ list[i] = (int)i;
}
sortFiles = files;
- qsort((void *)list, (size_t)cnt, sizeof(int), CompareParameterFiles);
+ qsort(list, (size_t)cnt, sizeof(int), CompareParameterFiles);
}
@@ -168,7 +161,7 @@ void ParamFileListLoad(int paramFileCnt, dynArr_t *paramFiles)
wListAddValue(paramFileL,
DynStringToCStr(&description),
indicatorIcons[ paramFileInfo.favorite ][paramFileInfo.trackState],
- (void*)(intptr_t)sortedIndex[i]);
+ I2VP(sortedIndex[i]));
LOG1(log_params, ("ParamFileListLoad: = %s: %d\n", paramFileInfo.contents, paramFileInfo.trackState))
}
@@ -214,13 +207,13 @@ static void UpdateParamFileButton(void)
for (inx=0; inx<cnt; inx++) {
if (wListGetItemSelected((wList_p)paramFileL, inx)) {
// if item is selected, get status
- fileInx = (intptr_t)wListGetItemContext(paramFileL, inx);
+ fileInx = (wIndex_t)VP2L(wListGetItemContext(paramFileL, inx));
if (fileInx < 0 || fileInx >= GetParamFileCount()) {
return;
}
if (!IsParamFileFavorite(fileInx)) {
- paramFilePLs[I_PRMFILEFAVORITE].context = (void *)TRUE;
+ paramFilePLs[I_PRMFILEFAVORITE].context = I2VP(TRUE);
}
}
}
@@ -244,7 +237,7 @@ UpdateParamFileProperties( bool newState)
// walk through the whole list box
for (inx = 0; inx < cnt; inx++) {
if (wListGetItemSelected((wList_p)paramFileL, inx)) {
- fileInx = (intptr_t)wListGetItemContext(paramFileL, inx);
+ fileInx = (wIndex_t)VP2L(wListGetItemContext(paramFileL, inx));
SetParamFileFavorite(fileInx, newState);
}
}
@@ -284,7 +277,7 @@ ParamChangeSelectedFiles(unsigned paramFileChange)
for (inx = 0; inx < cnt; inx++) {
if (wListGetItemSelected((wList_p)paramFileL, inx)) {
- fileInx = (intptr_t)wListGetItemContext(paramFileL, inx);
+ fileInx = (wIndex_t)VP2L(wListGetItemContext(paramFileL, inx));
switch (paramFileChange) {
case PARAMFILE_UNLOAD:
diff --git a/app/bin/draw.c b/app/bin/draw.c
index 343ae3f..d7ec0c0 100644
--- a/app/bin/draw.c
+++ b/app/bin/draw.c
@@ -20,37 +20,18 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#ifdef HAVE_MALLOC_C
-#include <malloc.h>
-#endif
-#include <math.h>
-#include <ctype.h>
-#include <string.h>
-#include <time.h>
-#include <stdarg.h>
-#include <sys/types.h>
-#ifndef WINDOWS
-#include <unistd.h>
-#include <sys/time.h>
-#else
-#include <sys/timeb.h>
-#endif
-
#include "cselect.h"
#include "custom.h"
#include "draw.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "misc.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
#include "layout.h"
+#include "common-ui.h"
+
+
+EXPORT wIndex_t panCmdInx;
static void DrawRoomWalls( wBool_t );
static void DrawMarkers( void );
@@ -63,17 +44,16 @@ static void DDrawPoly(
int * types,
wDrawColor color,
wDrawWidth width,
- int fill,
- int open );
+ drawFill_e eFillOpt );
static void DrawMapBoundingBox( BOOL_T set );
static void DrawTicks( drawCmd_p d, coOrd size );
+static void DoZoom( void * pScaleVP );
EXPORT int log_pan = 0;
static int log_zoom = 0;
static int log_mouse = 0;
static int log_redraw = 0;
-
-static BOOL_T hideBox = FALSE;
+static int log_timemainredraw = 0;
static wFontSize_t drawMaxTextFontSize = 100;
@@ -85,7 +65,7 @@ static wFontSize_t drawMaxTextFontSize = 100;
// static char FAR message[STR_LONG_SIZE];
-EXPORT wPos_t closePixels = 10;
+EXPORT wDrawPix_t closePixels = 10;
EXPORT long maxArcSegStraightLen = 100;
EXPORT long drawCount;
EXPORT BOOL_T drawEnable = TRUE;
@@ -125,8 +105,8 @@ EXPORT DIST_T pixelBins = 80;
*
*/
-static wPos_t infoHeight;
-static wPos_t textHeight;
+static wWinPix_t infoHeight;
+static wWinPix_t textHeight;
EXPORT wWin_p mapW;
EXPORT BOOL_T mapVisible;
EXPORT BOOL_T magneticSnap;
@@ -150,10 +130,10 @@ static struct {
wStatus_p posX_m;
wStatus_p posY_m;
wStatus_p info_m;
- wPos_t scale_w;
- wPos_t count_w;
- wPos_t pos_w;
- wPos_t info_w;
+ wWinPix_t scale_w;
+ wWinPix_t count_w;
+ wWinPix_t pos_w;
+ wWinPix_t info_w;
wBox_p scale_b;
wBox_p count_b;
wBox_p posX_b;
@@ -170,7 +150,7 @@ EXPORT BOOL_T inError = FALSE;
typedef enum { mouseNone, mouseLeft, mouseRight, mouseLeftPending } mouseState_e;
static mouseState_e mouseState;
-static int mousePositionx, mousePositiony; /**< position of mouse pointer */
+static wDrawPix_t mousePositionx, mousePositiony; /**< position of mouse pointer */
static int delayUpdate = 1;
@@ -218,9 +198,23 @@ static struct {
{ "48:1", 48.0 },
{ "56:1", 56.0 },
{ "64:1", 64.0 },
+ { "80:1", 80.0 },
+ { "96:1", 96.0 },
+ { "112:1", 112.0 },
{ "128:1", 128.0 },
+ { "160:1", 160.0 },
+ { "192:1", 192.0 },
+ { "224:1", 224.0 },
{ "256:1", 256.0 },
-};
+ { "320:1", 320.0 },
+ { "384:1", 384.0 },
+ { "448:1", 448.0 },
+ { "512:1", 512.0 },
+ { "640:1", 640.0 },
+ { "768:1", 768.0 },
+ { "896:1", 896.0 },
+ { "1024:1", 1024.0 },
+ };
@@ -230,7 +224,7 @@ static struct {
*
*/
-static void MainCoOrd2Pix( drawCmd_p d, coOrd p, wPos_t * x, wPos_t * y )
+static void MainCoOrd2Pix( drawCmd_p d, coOrd p, wDrawPix_t * x, wDrawPix_t * y )
{
DIST_T t;
if (d->angle != 0.0)
@@ -242,13 +236,13 @@ static void MainCoOrd2Pix( drawCmd_p d, coOrd p, wPos_t * x, wPos_t * y )
t += 0.5;
else
t -= 0.5;
- *x = ((wPos_t)t) + ((d->options&DC_TICKS)?LBORDER:0);
+ *x = ((wDrawPix_t)t) + ((d->options&DC_TICKS)?LBORDER:0);
t = p.y*d->dpi;
if ( t > 0.0 )
t += 0.5;
else
t -= 0.5;
- *y = ((wPos_t)t) + ((d->options&DC_TICKS)?BBORDER:0);
+ *y = ((wDrawPix_t)t) + ((d->options&DC_TICKS)?BBORDER:0);
}
@@ -256,8 +250,8 @@ static int Pix2CoOrd_interpolate = 0;
static void MainPix2CoOrd(
drawCmd_p d,
- wPos_t px,
- wPos_t py,
+ wDrawPix_t px,
+ wDrawPix_t py,
coOrd * posR )
{
DIST_T x, y;
@@ -274,7 +268,7 @@ if (Pix2CoOrd_interpolate) {
y1 = (long)(y1*bins)/bins;
if (x == x1) {
x += 1/bins/2;
- printf ("px=%d x1=%0.6f x=%0.6f\n", px, x1, x );
+ printf ("px=%0.1f x1=%0.6f x=%0.6f\n", px, x1, x );
}
if (y == y1)
y += 1/bins/2;
@@ -286,6 +280,8 @@ if (Pix2CoOrd_interpolate) {
}
+#define DRAWOPTS( D ) (((D->options&DC_TEMP)?wDrawOptTemp:0)|((D->options&DC_OUTLINE)?wDrawOutlineFont:0))
+
static void DDrawLine(
drawCmd_p d,
coOrd p0,
@@ -293,7 +289,7 @@ static void DDrawLine(
wDrawWidth width,
wDrawColor color )
{
- wPos_t x0, y0, x1, y1;
+ wDrawPix_t x0, y0, x1, y1;
BOOL_T in0 = FALSE, in1 = FALSE;
coOrd orig, size;
if (d == &mapD && !mapVisible)
@@ -341,7 +337,7 @@ static void DDrawLine(
wDrawLine( d->d, x0, y0, x1, y1,
width,
lineOpt,
- color, (wDrawOpts)d->funcs->options );
+ color, DRAWOPTS(d) );
}
}
@@ -356,7 +352,7 @@ static void DDrawArc(
wDrawWidth width,
wDrawColor color )
{
- wPos_t x, y;
+ wDrawPix_t x, y;
ANGLE_T da;
coOrd p0, p1;
DIST_T rr;
@@ -424,9 +420,10 @@ static void DDrawArc(
lineOpt = wDrawLinePhantom;
if (drawEnable)
{
- wDrawArc(d->d, x, y, (wPos_t)(rr), angle0, angle1, drawCenter,
+ int sizeCenter = (int)(drawCenter ? ((d->options & DC_PRINT) ? (d->dpi / BASE_DPI) : 1) : 0);
+ wDrawArc(d->d, x, y, (wDrawPix_t)(rr), angle0, angle1, sizeCenter,
width, lineOpt,
- color, (wDrawOpts)d->funcs->options);
+ color, DRAWOPTS(d) );
}
}
@@ -440,12 +437,12 @@ static void DDrawString(
FONTSIZE_T fontSize,
wDrawColor color )
{
- wPos_t x, y;
+ wDrawPix_t x, y;
if (d == &mapD && !mapVisible)
return;
d->CoOrd2Pix(d,p,&x,&y);
if ( color == wDrawColorWhite ) {
- wPos_t width, height, descent, ascent;
+ wDrawPix_t width, height, descent, ascent;
coOrd pos[4], size;
double scale = 1.0;
wDrawGetTextSize( &width, &height, &descent, &ascent, d->d, s, fp, fontSize );
@@ -461,10 +458,10 @@ static void DDrawString(
Rotate( &pos[1], pos[0], a );
Rotate( &pos[2], pos[0], a );
Rotate( &pos[3], pos[0], a );
- DDrawPoly( d, 4, pos, NULL, color, 0, 1, 0 );
+ DDrawPoly( d, 4, pos, NULL, color, 0, DRAW_FILL );
} else {
fontSize /= d->scale;
- wDrawString( d->d, x, y, d->angle-a, s, fp, fontSize, color, (wDrawOpts)d->funcs->options );
+ wDrawString( d->d, x, y, d->angle-a, s, fp, fontSize, color, DRAWOPTS(d) );
}
}
@@ -476,14 +473,15 @@ static void DDrawPoly(
int * types,
wDrawColor color,
wDrawWidth width,
- int fill,
- int open )
+ drawFill_e eFillOpt )
{
- typedef wPos_t wPos2[2];
+ typedef wDrawPix_t wPos2[2];
static dynArr_t wpts_da;
static dynArr_t wpts_type_da;
int inx;
- wPos_t x, y;
+ int fill = 0;
+ int open = 0;
+ wDrawPix_t x, y;
DYNARR_SET( wPos2, wpts_da, cnt * 2 );
DYNARR_SET( int, wpts_type_da, cnt);
#define wpts(N) DYNARR_N( wPos2, wpts_da, N )
@@ -512,7 +510,25 @@ static void DDrawPoly(
lineOpt = wDrawLineCenter;
else if (opt == DC_PHANTOM)
lineOpt = wDrawLinePhantom;
- wDrawPolygon( d->d, &wpts(0), &wtype(0), cnt, color, width, lineOpt, (wDrawOpts)d->funcs->options, fill, open );
+
+ wDrawOpts drawOpts = DRAWOPTS(d);
+ switch ( eFillOpt ) {
+ case DRAW_OPEN:
+ open = 1;
+ break;
+ case DRAW_CLOSED:
+ break;
+ case DRAW_FILL:
+ fill = 1;
+ break;
+ case DRAW_TRANSPARENT:
+ fill = 1;
+ drawOpts |= wDrawOptTransparent;
+ break;
+ default:
+ abort();
+ }
+ wDrawPolygon( d->d, &wpts(0), &wtype(0), cnt, color, width, lineOpt, drawOpts, fill, open );
}
@@ -522,70 +538,99 @@ static void DDrawFillCircle(
DIST_T r,
wDrawColor color )
{
- wPos_t x, y;
+ wDrawPix_t x, y;
DIST_T rr;
if (d == &mapD && !mapVisible)
return;
rr = (r / d->scale) * d->dpi + 0.5;
if (rr > wDrawGetMaxRadius(d->d)) {
-#ifdef LATER
- da = (maxArcSegStraightLen * 180) / (M_PI * rr);
- cnt = (int)(angle1/da) + 1;
- da = angle1 / cnt;
- PointOnCircle( &p0, p, r, angle0 );
- for ( i=1; i<=cnt; i++ ) {
- angle0 += da;
- PointOnCircle( &p1, p, r, angle0 );
- DrawLine( d, p0, p1, width, color );
- p0 = p1;
- }
-#endif
+ // Circle too big
return;
}
d->CoOrd2Pix(d,p,&x,&y);
+ wWinPix_t w, h;
+ wDrawGetSize( d->d, &w, &h );
+ if ( d->options & DC_TICKS ) {
+ if ( x+rr < LBORDER || x-rr > w-RBORDER ||
+ y+rr < BBORDER || y-rr > h-TBORDER )
+ return;
+ } else {
+ if ( x+rr < 0 || x-rr > w ||
+ y+rr < 0 || y-rr > h )
+ return;
+ }
drawCount++;
if (drawEnable) {
- wDrawFilledCircle( d->d, x, y, (wPos_t)(rr),
- color, (wDrawOpts)d->funcs->options );
+ wDrawFilledCircle( d->d, x, y, (wDrawPix_t)(rr),
+ color, DRAWOPTS(d) );
}
}
-EXPORT void DrawHilight( drawCmd_p d, coOrd p, coOrd s, BOOL_T add )
+static void DDrawRectangle(
+ drawCmd_p d,
+ coOrd orig,
+ coOrd size,
+ wDrawColor color,
+ drawFill_e eFillOpt )
{
- wPos_t x, y, w, h;
+ wDrawPix_t x, y, w, h;
+
if (d == &mapD && !mapVisible)
- return;
- w = (wPos_t)((s.x/d->scale)*d->dpi+0.5);
- h = (wPos_t)((s.y/d->scale)*d->dpi+0.5);
- d->CoOrd2Pix(d,p,&x,&y);
- if ( add )
- wDrawFilledRectangle( d->d, x, y, w, h, drawColorPowderedBlue, wDrawOptTemp|wDrawOptTransparent );
- else
- wDrawFilledRectangle( d->d, x, y, w, h, selectedColor, wDrawOptTemp|wDrawOptTransparent );
+ return;
+ d->CoOrd2Pix(d,orig,&x,&y);
+ w = (wDrawPix_t)((size.x/d->scale)*d->dpi+0.5);
+ h = (wDrawPix_t)((size.y/d->scale)*d->dpi+0.5);
+ drawCount++;
+ if (drawEnable) {
+ wDrawOpts opts = DRAWOPTS(d);
+ coOrd p1, p2;
+ switch (eFillOpt) {
+ case DRAW_CLOSED:
+ // 1 2
+ // 0 3
+ p1.x = orig.x;
+ p1.y = orig.y+size.y;
+ DrawLine( d, orig, p1, 0, color );
+ p2.x = orig.x+size.x;
+ p2.y = p1.y;
+ DrawLine( d, p1, p2, 0, color );
+ p1.x = p2.x;
+ p1.y = orig.y;
+ DrawLine( d, p2, p1, 0, color );
+ DrawLine( d, p1, orig, 0, color );
+ break;
+ case DRAW_TRANSPARENT:
+ opts |= wDrawOptTransparent;
+ // Fallthru
+ case DRAW_FILL:
+ wDrawFilledRectangle( d->d, x, y, w, h, color, opts );
+ break;
+ default:
+ abort();
+ }
+ }
+}
+
+EXPORT void DrawHilight( drawCmd_p d, coOrd p, coOrd s, BOOL_T add )
+{
+ unsigned long options = d->options;
+ d->options |= DC_TEMP;
+ wBool_t bTemp = wDrawSetTempMode( d->d, TRUE );
+ DrawRectangle( d, p, s, add?drawColorPowderedBlue:selectedColor, DRAW_TRANSPARENT );
+ wDrawSetTempMode( d->d, bTemp );
+ d->options = options;
}
EXPORT void DrawHilightPolygon( drawCmd_p d, coOrd *p, int cnt )
{
- wPos_t q[4][2];
- int i;
-#ifdef LATER
- if (d->options&DC_TEMPSEGS) {
- return;
- }
- if (d->options&DC_PRINT)
- return;
-#endif
ASSERT( cnt <= 4 );
- for (i=0; i<cnt; i++) {
- d->CoOrd2Pix(d,p[i],&q[i][0],&q[i][1]);
- }
static wDrawColor color = 0;
if ( color == 0 )
color = wDrawColorGray( 70 );
- wDrawPolygon( d->d, q, NULL, cnt, color, 0, 0, wDrawOptTemp|wDrawOptTransparent, 1, 0 );
+ DrawPoly( d, cnt, p, NULL, color, 0, DRAW_TRANSPARENT );
}
@@ -662,10 +707,7 @@ EXPORT void DrawMultiString(
for (int i=0;i<4;i++) {
Rotate( &p[i], orig, a);
}
- DrawLine( d, p[0], p[1], 0, color );
- DrawLine( d, p[1], p[2], 0, color );
- DrawLine( d, p[2], p[3], 0, color );
- DrawLine( d, p[3], p[0], 0, color );
+ DrawPoly( d, 4, p, NULL, color, 0, DRAW_CLOSED );
}
free(line);
@@ -691,8 +733,8 @@ EXPORT void DrawBoxedString(
return;
#ifndef WINDOWS
if ( ( d->options & DC_PRINT) != 0 ) {
- double scale = ((FLOAT_T)fs)/((FLOAT_T)drawMaxTextFontSize)/72.0;
- wPos_t w, h, d, a;
+ double scale = ((FLOAT_T)fs)/((FLOAT_T)drawMaxTextFontSize)/mainD.dpi;
+ wDrawPix_t w, h, d, a;
wDrawGetTextSize( &w, &h, &d, &a, mainD.d, text, fp, drawMaxTextFontSize );
size.x = w*scale;
size.y = h*scale;
@@ -713,38 +755,51 @@ EXPORT void DrawBoxedString(
size.x += bw*d->scale/d->dpi;
size.y += bh*d->scale/d->dpi;
p[0] = p0;
- p[0].x -= br*d->scale/d->dpi;
- p[0].y -= (bb*d->scale/d->dpi+descent);
+ p[0].x -= br*d->scale/d->dpi; //Top of box
+ p[0].y += (bb*d->scale/d->dpi+ascent);
p[1].y = p[0].y;
- p[2].y = p[3].y = p[0].y + size.y;
+ p[2].y = p[3].y = p[0].y-size.y-descent; //Bottom of box
p[1].x = p[2].x = p[0].x + size.x;
p[3].x = p[0].x;
d->options &= ~DC_DASH;
switch (style) {
case BOX_ARROW:
+ case BOX_ARROW_BACKGROUND:
+ // Reset size to actual size of the box
+ size.x = p[2].x-p[0].x;
+ size.y = p[0].y-p[2].y;
+ // Pick a point (p1) outside of Box in arrow direction
Translate( &p1, pos, a, size.x+size.y );
- ClipLine( &pos, &p1, p[0], 0.0, size );
+ // Find point on edge of Box (p1)
+ ClipLine( &pos, &p1, p[3], 0.0, size );
+ // Draw line from edge (p1) to Arrow head (p2)
Translate( &p2, p1, a, size.y*arrowScale );
DrawLine( d, p1, p2, 0, color );
+ // Draw Arrow edges
Translate( &p1, p2, a+150, size.y*0.7*arrowScale );
DrawLine( d, p1, p2, 0, color );
Translate( &p1, p2, a-150, size.y*0.7*arrowScale );
DrawLine( d, p1, p2, 0, color );
+ /* no break */
case BOX_BOX:
+ case BOX_BOX_BACKGROUND:
+ if (style == BOX_ARROW_BACKGROUND || style == BOX_BOX_BACKGROUND)
+ DrawPoly( d, 4, p, NULL, wDrawColorWhite, 0, DRAW_FILL ); //Clear background for box and box-arrow
DrawLine( d, p[1], p[2], 0, color );
DrawLine( d, p[2], p[3], 0, color );
DrawLine( d, p[3], p[0], 0, color );
+ /* no break */
case BOX_UNDERLINE:
DrawLine( d, p[0], p[1], 0, color );
DrawString( d, p0, 0.0, text, fp, fs, color );
break;
case BOX_INVERT:
- DrawPoly( d, 4, p, NULL, color, 0, 1, 0);
+ DrawPoly( d, 4, p, NULL, color, 0, DRAW_FILL );
if ( color != wDrawColorWhite )
DrawString( d, p0, 0.0, text, fp, fs, wDrawColorGray( 94 ) );
break;
case BOX_BACKGROUND:
- DrawPoly( d, 4, p, NULL, wDrawColorWhite, 0, 1, 0 );
+ DrawPoly( d, 4, p, NULL, wDrawColorWhite, 0, DRAW_FILL );
DrawString( d, p0, 0.0, text, fp, fs, color );
break;
}
@@ -762,7 +817,7 @@ EXPORT void DrawTextSize2(
POS_T * descent,
POS_T * ascent)
{
- wPos_t w, h, d, a;
+ wDrawPix_t w, h, d, a;
FLOAT_T scale = 1.0;
if ( relative )
fs /= dp->scale;
@@ -847,16 +902,9 @@ EXPORT void DrawMultiLineTextSize(
static void DDrawBitMap( drawCmd_p d, coOrd p, wDrawBitMap_p bm, wDrawColor color)
{
- wPos_t x, y;
-#ifdef LATER
- if (d->options&DC_TEMPSEGS) {
- return;
- }
- if (d->options&DC_PRINT)
- return;
-#endif
+ wDrawPix_t x, y;
d->CoOrd2Pix( d, p, &x, &y );
- wDrawBitMap( d->d, bm, x, y, color, (wDrawOpts)d->funcs->options );
+ wDrawBitMap( d->d, bm, x, y, color, DRAWOPTS(d) );
}
@@ -872,6 +920,8 @@ static void TempSegLine(
tempSegs(tempSegs_da.cnt-1).color = color;
if (d->options&DC_SIMPLE)
tempSegs(tempSegs_da.cnt-1).width = 0;
+ else if (width<0)
+ tempSegs(tempSegs_da.cnt-1).width = width;
else
tempSegs(tempSegs_da.cnt-1).width = width*d->scale/d->dpi;
tempSegs(tempSegs_da.cnt-1).u.l.pos[0] = p0;
@@ -894,6 +944,8 @@ static void TempSegArc(
tempSegs(tempSegs_da.cnt-1).color = color;
if (d->options&DC_SIMPLE)
tempSegs(tempSegs_da.cnt-1).width = 0;
+ else if (width<0)
+ tempSegs(tempSegs_da.cnt-1).width = width;
else
tempSegs(tempSegs_da.cnt-1).width = width*d->scale/d->dpi;
tempSegs(tempSegs_da.cnt-1).u.c.center = p;
@@ -932,14 +984,32 @@ static void TempSegPoly(
int * types,
wDrawColor color,
wDrawWidth width,
- int fill,
- int open )
+ drawFill_e eFillOpt )
{
+ int fill = 0;
+ int open = 0;
+ switch (eFillOpt) {
+ case DRAW_OPEN:
+ open = 1;
+ break;
+ case DRAW_CLOSED:
+ break;
+ case DRAW_FILL:
+ fill = 1;
+ break;
+ case DRAW_TRANSPARENT:
+ fill = 1;
+ break;
+ default:
+ abort();
+ }
DYNARR_APPEND( trkSeg_t, tempSegs_da, 1);
tempSegs(tempSegs_da.cnt-1).type = fill?SEG_FILPOLY:SEG_POLY;
tempSegs(tempSegs_da.cnt-1).color = color;
if (d->options&DC_SIMPLE)
tempSegs(tempSegs_da.cnt-1).width = 0;
+ else if (width<0)
+ tempSegs(tempSegs_da.cnt-1).width = width;
else
tempSegs(tempSegs_da.cnt-1).width = width*d->scale/d->dpi;
tempSegs(tempSegs_da.cnt-1).u.p.polyType = open?POLYLINE:FREEFORM;
@@ -949,9 +1019,8 @@ static void TempSegPoly(
tempSegs(tempSegs_da.cnt-1).u.p.pts = (pts_t *)MyMalloc(cnt*sizeof(pts_t));
for (int i=0;i<=cnt-1;i++) {
tempSegs(tempSegs_da.cnt-1).u.p.pts[i].pt = pts[i];
- tempSegs(tempSegs_da.cnt-1).u.p.pts[i].pt_type = (d->options&DC_SIMPLE)==0?types[i]:wPolyLineStraight;
+ tempSegs(tempSegs_da.cnt-1).u.p.pts[i].pt_type = ((d->options&DC_SIMPLE)==0 && (types!=0))?types[i]:wPolyLineStraight;
}
-
}
@@ -972,6 +1041,24 @@ static void TempSegFillCircle(
}
+static void TempSegRectangle(
+ drawCmd_p d,
+ coOrd orig,
+ coOrd size,
+ wDrawColor color,
+ drawFill_e eOpts )
+{
+ coOrd p[4];
+ // p1 p2
+ // p0 p3
+ p[0].x = p[1].x = orig.x;
+ p[2].x = p[3].x = orig.x+size.x;
+ p[0].y = p[3].y = orig.y;
+ p[1].y = p[2].y = orig.y+size.y;
+ TempSegPoly( d, 4, p, NULL, color, 0, eOpts );
+}
+
+
static void NoDrawBitMap( drawCmd_p d, coOrd p, wDrawBitMap_p bm, wDrawColor color )
{
}
@@ -979,49 +1066,41 @@ static void NoDrawBitMap( drawCmd_p d, coOrd p, wDrawBitMap_p bm, wDrawColor col
EXPORT drawFuncs_t screenDrawFuncs = {
- 0,
DDrawLine,
DDrawArc,
DDrawString,
DDrawBitMap,
DDrawPoly,
- DDrawFillCircle };
-
-EXPORT drawFuncs_t tempDrawFuncs = {
- wDrawOptTemp,
- DDrawLine,
- DDrawArc,
- DDrawString,
- DDrawBitMap,
- DDrawPoly,
- DDrawFillCircle };
+ DDrawFillCircle,
+ DDrawRectangle};
EXPORT drawFuncs_t printDrawFuncs = {
- 0,
DDrawLine,
DDrawArc,
DDrawString,
NoDrawBitMap,
DDrawPoly,
- DDrawFillCircle };
+ DDrawFillCircle,
+ DDrawRectangle};
EXPORT drawFuncs_t tempSegDrawFuncs = {
- 0,
TempSegLine,
TempSegArc,
TempSegString,
NoDrawBitMap,
TempSegPoly,
- TempSegFillCircle };
+ TempSegFillCircle,
+ TempSegRectangle};
+
EXPORT drawCmd_t mainD = {
- NULL, &screenDrawFuncs, DC_TICKS, INIT_MAIN_SCALE, 0.0, {0.0,0.0}, {0.0,0.0}, MainPix2CoOrd, MainCoOrd2Pix };
+ NULL, &screenDrawFuncs, DC_TICKS, INIT_MAIN_SCALE, 0.0, {0.0,0.0}, {0.0,0.0}, MainPix2CoOrd, MainCoOrd2Pix, 96.0};
EXPORT drawCmd_t tempD = {
- NULL, &tempDrawFuncs, DC_TICKS, INIT_MAIN_SCALE, 0.0, {0.0,0.0}, {0.0,0.0}, MainPix2CoOrd, MainCoOrd2Pix };
+ NULL, &screenDrawFuncs, DC_TICKS|DC_TEMP, INIT_MAIN_SCALE, 0.0, {0.0,0.0}, {0.0,0.0}, MainPix2CoOrd, MainCoOrd2Pix, 96.0};
EXPORT drawCmd_t mapD = {
- NULL, &screenDrawFuncs, DC_SIMPLE, INIT_MAP_SCALE, 0.0, {0.0,0.0}, {96.0,48.0}, Pix2CoOrd, CoOrd2Pix };
+ NULL, &screenDrawFuncs, DC_SIMPLE, INIT_MAP_SCALE, 0.0, {0.0,0.0}, {96.0,48.0}, Pix2CoOrd, CoOrd2Pix, 96.0};
/*****************************************************************************
@@ -1031,24 +1110,23 @@ EXPORT drawCmd_t mapD = {
*/
-static wPos_t info_yb_offset = 2;
-static wPos_t info_ym_offset = 3;
-static wPos_t six = 2;
-static wPos_t info_xm_offset = 2;
-static wPos_t messageOrControlX = 0;
-static wPos_t messageOrControlY = 0;
+static wWinPix_t info_yb_offset = 2;
+static wWinPix_t six = 2;
+static wWinPix_t info_xm_offset = 2;
+static wWinPix_t messageOrControlX = 0;
+static wWinPix_t messageOrControlY = 0;
#define NUM_INFOCTL (4)
static wControl_p curInfoControl[NUM_INFOCTL];
-static wPos_t curInfoLabelWidth[NUM_INFOCTL];
+static wWinPix_t curInfoLabelWidth[NUM_INFOCTL];
/**
* Determine the width of a mouse pointer position string ( coordinate plus label ).
*
* \return width of position string
*/
-static wPos_t GetInfoPosWidth( void )
+static wWinPix_t GetInfoPosWidth( void )
{
- wPos_t labelWidth;
+ wWinPix_t labelWidth;
DIST_T dist;
if ( mapD.size.x > mapD.size.y )
@@ -1084,7 +1162,7 @@ static wPos_t GetInfoPosWidth( void )
EXPORT void InitInfoBar( void )
{
- wPos_t width, height, y, yb, ym, x, boxH;
+ wWinPix_t width, height, y, yb, ym, x, boxH;
wWinGetSize( mainW, &width, &height );
infoHeight = 2 + wStatusGetHeight( COMBOBOX ) + 2 ;
textHeight = wStatusGetHeight(0L);
@@ -1125,7 +1203,7 @@ EXPORT void InitInfoBar( void )
static void SetInfoBar( void )
{
- wPos_t width, height, y, yb, ym, x, boxH;
+ wWinPix_t width, height, y, yb, ym, x, boxH;
int inx;
static long oldDistanceFormat = -1;
long newDistanceFormat;
@@ -1166,7 +1244,7 @@ static void SetInfoBar( void )
if (curInfoControl[0]) {
for ( inx=0; curInfoControl[inx]; inx++ ) {
x += curInfoLabelWidth[inx];
- int y_this = ym + (textHeight/2) - (wControlGetHeight( curInfoControl[inx] )/2);
+ wWinPix_t y_this = ym + (textHeight/2) - (wControlGetHeight( curInfoControl[inx] )/2);
wControlSetPos( curInfoControl[inx], x, y_this );
x += wControlGetWidth( curInfoControl[inx] )+3;
wControlShow( curInfoControl[inx], TRUE );
@@ -1210,7 +1288,7 @@ EXPORT void InfoSubstituteControls(
wControl_p * controls,
char ** labels )
{
- wPos_t x, y;
+ wWinPix_t x, y;
int inx;
for ( inx=0; inx<NUM_INFOCTL; inx++ ) {
if (curInfoControl[inx]) {
@@ -1238,9 +1316,9 @@ EXPORT void InfoSubstituteControls(
curInfoLabelWidth[inx] = wLabelWidth(_(labels[inx]));
x += curInfoLabelWidth[inx];
#ifdef WINDOWS
- int y_this = y + (infoHeight/2) - (textHeight / 2 );
+ wWinPix_t y_this = y + (infoHeight/2) - (textHeight / 2 );
#else
- int y_this = y + (infoHeight / 2) - (wControlGetHeight(controls[inx]) / 2) - 2;
+ wWinPix_t y_this = y + (infoHeight / 2) - (wControlGetHeight(controls[inx]) / 2) - 2;
#endif
wControlSetPos( controls[inx], x, y_this );
x += wControlGetWidth( controls[inx] );
@@ -1262,16 +1340,16 @@ EXPORT void SetMessage( char * msg )
static void ChangeMapScale( BOOL_T reset )
{
- wPos_t w, h;
- wPos_t dw, dh;
+ wWinPix_t w, h;
+ wWinPix_t dw, dh;
FLOAT_T fw, fh;
fw = (((mapD.size.x/mapD.scale)*mapD.dpi) + 0.5)+2;
fh = (((mapD.size.y/mapD.scale)*mapD.dpi) + 0.5)+2;
- w = (wPos_t)fw;
- h = (wPos_t)fh;
+ w = (wWinPix_t)fw;
+ h = (wWinPix_t)fh;
if (reset) {
wGetDisplaySize( &dw, &dh );
wSetGeometry(mapW, 50, dw, 50, dh, -1, -1, mapD.size.x/mapD.size.y);
@@ -1283,6 +1361,7 @@ static void ChangeMapScale( BOOL_T reset )
EXPORT BOOL_T SetRoomSize( coOrd size )
{
+ SetLayoutRoomSize(size);
if (size.x < 12.0)
size.x = 12.0;
if (size.y < 12.0)
@@ -1307,7 +1386,8 @@ EXPORT void GetRoomSize( coOrd * froomSize )
}
-static void MapRedraw()
+static void MapRedraw(
+ wDraw_p bd, void * pContex, wWinPix_t px, wWinPix_t py )
{
if (inPlaybackQuit)
return;
@@ -1318,10 +1398,14 @@ static void MapRedraw()
if (delayUpdate)
wDrawDelayUpdate( mapD.d, TRUE );
//wSetCursor( mapD.d, wCursorWait );
+ wBool_t bTemp = wDrawSetTempMode( mapD.d, FALSE );
+ if ( bTemp )
+ printf( "MapRedraw TempMode\n" );
wDrawClear( mapD.d );
DrawTracks( &mapD, mapD.scale, mapD.orig, mapD.size );
DrawMapBoundingBox( TRUE );
//wSetCursor( mapD.d, defaultCursor );
+ wDrawSetTempMode( mapD.d, bTemp );
wDrawDelayUpdate( mapD.d, FALSE );
}
@@ -1330,37 +1414,13 @@ static void MapResize( void )
{
mapD.scale = mapScale;
ChangeMapScale(TRUE);
- MapRedraw();
+ MapRedraw( mapD.d, NULL, 0, 0 );
}
-#ifdef LATER
-static void MapProc( wWin_p win, winProcEvent e, void * data )
-{
- switch( e ) {
- case wResize_e:
- if (mapD.d == NULL)
- return;
- DrawMapBoundingBox( FALSE );
- ChangeMapScale();
- break;
- case wClose_e:
- mapVisible = FALSE;
- break;
- /*case wRedraw_e:
- if (mapD.d == NULL)
- break;
- MapRedraw();
- break;*/
- default:
- break;
- }
-}
-#endif
-
EXPORT void SetMainSize( void )
{
- wPos_t ww, hh;
+ wWinPix_t ww, hh;
DIST_T w, h;
wDrawGetSize( mainD.d, &ww, &hh );
ww -= LBORDER+RBORDER;
@@ -1396,6 +1456,34 @@ if (wDrawDoTempDraw == FALSE) {
}
}
+/**
+ * Calculate position and size of background bitmap
+ *
+ * \param [in] drawP destination drawing area
+ * \param [in] origX x origin of drawing area
+ * \param [in] origY y origin of drawing area
+ * \param [out] posX x position of bitmap
+ * \param [out] posY y position of bitmap
+ * \param [out] pWidth width of bitmap in destination coordinates
+ *
+ * \returns true on success, false otherwise
+ */
+
+void
+TranslateBackground(drawCmd_p drawP, POS_T origX, POS_T origY, wWinPix_t* posX,
+ wWinPix_t* posY, wWinPix_t* pWidth)
+{
+ coOrd back_pos = GetLayoutBackGroundPos();
+
+ *pWidth = (wWinPix_t)(GetLayoutBackGroundSize() / drawP->scale *
+ drawP->dpi);
+
+ *posX = (wWinPix_t)((back_pos.x - origX) / drawP->scale *
+ drawP->dpi);
+ *posY = (wWinPix_t)((back_pos.y - origY) / drawP->scale *
+ drawP->dpi);
+}
+
/*
* Redraw contents on main window
*/
@@ -1405,29 +1493,36 @@ EXPORT void MainRedraw( void )
static int cMR = 0;
LOG( log_redraw, 1, ( "MainRedraw: %d\n", cMR++ ) );
+ unsigned long time0 = wGetTimer();
if (delayUpdate)
wDrawDelayUpdate( mainD.d, TRUE );
+ wDrawSetTempMode( mainD.d, FALSE );
wDrawClear( mainD.d );
- //mainD.d->option = 0;
- //mainD.options = 0;
- mainD.funcs->options = 0; //Force MainD back from Temp
-
orig = mainD.orig;
size = mainD.size;
orig.x -= LBORDER/mainD.dpi*mainD.scale;
orig.y -= BBORDER/mainD.dpi*mainD.scale;
- wPos_t back_x,back_y;
- coOrd back_pos = GetLayoutBackGroundPos();
- back_x = (wPos_t)((back_pos.x-orig.x)/mainD.scale*mainD.dpi);
- back_y = (wPos_t)((back_pos.y-orig.y)/mainD.scale*mainD.dpi);
- wPos_t back_width = (wPos_t)(GetLayoutBackGroundSize()/mainD.scale*mainD.dpi);
DrawRoomWalls( TRUE );
if (GetLayoutBackGroundScreen() < 100.0 && GetLayoutBackGroundVisible()) {
- wDrawShowBackground( mainD.d, back_x, back_y, back_width, GetLayoutBackGroundAngle(), GetLayoutBackGroundScreen());
+ wWinPix_t bitmapPosX;
+ wWinPix_t bitmapPosY;
+ wWinPix_t bitmapWidth;
+
+ TranslateBackground(&mainD, orig.x, orig.y, &bitmapPosX, &bitmapPosY,
+ &bitmapWidth);
+
+ wDrawShowBackground(mainD.d,
+ bitmapPosX,
+ bitmapPosY,
+ bitmapWidth,
+ GetLayoutBackGroundAngle(),
+ GetLayoutBackGroundScreen());
}
+ DrawSnapGrid( &mainD, mapD.size, TRUE );
+
orig = mainD.orig;
size = mainD.size;
orig.x -= RBORDER/mainD.dpi*mainD.scale;
@@ -1436,12 +1531,13 @@ EXPORT void MainRedraw( void )
size.y += (BBORDER+TBORDER)/mainD.dpi*mainD.scale;
DrawTracks( &mainD, mainD.scale, orig, size );
- DrawRoomWalls( FALSE );
+ DrawRoomWalls( FALSE ); //No background, just rulers
+
currRedraw++;
- DrawSnapGrid( &mainD, mapD.size, TRUE );
//wSetCursor( mainD.d, defaultCursor );
InfoScale();
+ LOG( log_timemainredraw, 1, ( "MainRedraw time = %lu mS\n", wGetTimer()-time0 ) );
// The remainder is from TempRedraw
wDrawSetTempMode( tempD.d, TRUE );
DrawMarkers();
@@ -1462,46 +1558,34 @@ EXPORT void MainLayout(
wBool_t bRedraw,
wBool_t bNoBorder )
{
-#ifdef LATER
- wPos_t ww, hh;
- DIST_T w, h;
-#endif
-
DIST_T t1;
if (inPlaybackQuit)
return;
static int cML = 0;
LOG( log_redraw, 1, ( "MainLayout: %d\n", cML++ ) );
-#ifdef LATER
- wDrawGetSize( mainD.d, &ww, &hh );
- w = ww/mainD.dpi;
- h = hh/mainD.dpi;
-#endif
SetMainSize();
-#ifdef LATER
- /*wDrawClip( mainD.d, 0, 0, w, h );*/
-#endif
t1 = mainD.dpi/mainD.scale;
if (units == UNITS_ENGLISH) {
t1 /= 2.0;
for ( pixelBins=0.25; pixelBins<t1; pixelBins*=2.0 );
} else {
- pixelBins = 50.8;
- if (pixelBins >= t1)
- while (1) {
- if ( pixelBins <= t1 )
+ t1 /= 2.0;
+ pixelBins = 0.127;
+ while (1) {
+ pixelBins *= 2.0;
+ if ( pixelBins >= t1 )
break;
- pixelBins /= 2.0;
- if ( pixelBins <= t1 )
+ pixelBins *= 2.0;
+ if ( pixelBins >= t1 )
break;
- pixelBins /= 2.5;
- if ( pixelBins <= t1 )
+ pixelBins *= 2.5;
+ if ( pixelBins >= t1 )
break;
- pixelBins /= 2.0;
}
}
- ConstraintOrig( &mainD.orig, mainD.size, bNoBorder, FALSE );
+ LOG( log_pan, 2, ( "PixelBins=%0.6f\n", pixelBins ) );
+ ConstraintOrig( &mainD.orig, mainD.size, bNoBorder, TRUE );
tempD.orig = mainD.orig;
tempD.size = mainD.size;
mainCenter.x = mainD.orig.x + mainD.size.x/2.0;
@@ -1539,7 +1623,7 @@ EXPORT void MainLayout(
void MainProc( wWin_p win, winProcEvent e, void * refresh, void * data )
{
- wPos_t width, height;
+ wWinPix_t width, height;
switch( e ) {
case wResize_e:
if (mainD.d == NULL)
@@ -1548,6 +1632,9 @@ void MainProc( wWin_p win, winProcEvent e, void * refresh, void * data )
LayoutToolBar(refresh);
height -= (toolbarHeight+max(infoHeight,textHeight)+10);
if (height >= 0) {
+ wBool_t bTemp = wDrawSetTempMode(mainD.d, FALSE );
+if ( bTemp )
+ printf( "MainProc TempMode\n" );
wDrawSetSize( mainD.d, width-20, height, refresh );
wControlSetPos( (wControl_p)mainD.d, 0, toolbarHeight );
SetMainSize();
@@ -1556,8 +1643,9 @@ void MainProc( wWin_p win, winProcEvent e, void * refresh, void * data )
panCenter.y = mainD.orig.y + mainD.size.y/2.0;
LOG( log_pan, 2, ( "PanCenter:%d %0.3f %0.3f\n", __LINE__, panCenter.x, panCenter.y ) );
MainLayout( !refresh, TRUE ); // MainProc: wResize_e event
- wPrefSetInteger( "draw", "mainwidth", width );
- wPrefSetInteger( "draw", "mainheight", height );
+ wPrefSetInteger( "draw", "mainwidth", (int)width );
+ wPrefSetInteger( "draw", "mainheight", (int)height );
+ wDrawSetTempMode( mainD.d, bTemp );
} else DrawMapBoundingBox( TRUE );
break;
case wState_e:
@@ -1568,7 +1656,7 @@ void MainProc( wWin_p win, winProcEvent e, void * refresh, void * data )
break;
case wClose_e:
/* shutdown the application via "close window" button */
- DoQuit();
+ DoQuit(NULL);
break;
default:
break;
@@ -1576,38 +1664,10 @@ void MainProc( wWin_p win, winProcEvent e, void * refresh, void * data )
}
-#ifdef WINDOWS
-int profRedraw = 0;
-void
-#ifndef WIN32
-_far _pascal
-#endif
-ProfStart( void );
-void
-#ifndef WIN32
-_far _pascal
-#endif
-ProfStop( void );
-#endif
-
EXPORT void DoRedraw( void )
{
-#ifdef WINDOWS
-#ifndef WIN32
- if (profRedraw)
- ProfStart();
-#endif
-#endif
- MapRedraw();
+ MapRedraw( mapD.d, NULL, 0, 0 );
MainRedraw(); // DoRedraw
-#ifdef WINDOWS
-#ifndef WIN32
- if (profRedraw)
- ProfStop();
-#endif
-#endif
-
-
}
/*****************************************************************************
@@ -1619,53 +1679,35 @@ EXPORT void DoRedraw( void )
static void DrawRoomWalls( wBool_t drawBackground )
{
- coOrd p00, p01, p11, p10;
- int p0,p1,p2,p3;
-
if (mainD.d == NULL)
return;
if (drawBackground) {
- mainD.CoOrd2Pix(&mainD,mainD.orig,&p0,&p1);
- coOrd end;
- end.x = mainD.orig.x + mainD.size.x;
- end.y = mainD.orig.y + mainD.size.y;
- mainD.CoOrd2Pix(&mainD,end,&p2,&p3);
- p2 -= p0;
- p3 -= p1;
- wDrawFilledRectangle( mainD.d, p0, p1, p2, p3, drawColorGrey80, 0 );
-
- mainD.CoOrd2Pix(&mainD,zero,&p0,&p1);
- mainD.CoOrd2Pix(&mainD,mapD.size,&p2,&p3);
- p2 -= p0;
- p3 -= p1;
- wDrawFilledRectangle( mainD.d, p0, p1, p2, p3, drawColorWhite, 0 );
+ DrawRectangle( &mainD, mainD.orig, mainD.size, drawColorGrey80, DRAW_FILL );
+ DrawRectangle( &mainD, zero, mapD.size, wDrawColorWhite, DRAW_FILL );
} else {
-
+ coOrd p[4];
DrawTicks( &mainD, mapD.size );
-
- p00.x = 0.0; p00.y = 0.0;
- p01.x = p10.y = 0.0;
- p11.x = p10.x = mapD.size.x;
- p01.y = p11.y = mapD.size.y;
-
- DrawLine( &mainD, p01, p11, 3, borderColor );
- DrawLine( &mainD, p11, p10, 3, borderColor );
- DrawLine( &mainD, p00, p01, 3, borderColor );
- DrawLine( &mainD, p00, p10, 3, borderColor );
+ p[0].x = p[0].y = p[1].x = p[3].y = 0.0;
+ p[2].x = p[3].x = mapD.size.x;
+ p[1].y = p[2].y = mapD.size.y;
+ DrawPoly( &mainD, 4, p, NULL, borderColor, 3, DRAW_CLOSED );
}
}
static void DrawMarkers( void )
{
- wPos_t x, y;
- mainD.CoOrd2Pix(&mainD,oldMarker,&x,&y);
- wDrawLine( tempD.d, 0, y, (wPos_t)LBORDER, y,
- 0, wDrawLineSolid, markerColor, wDrawOptTemp );
- wDrawLine( tempD.d, x, 0, x, (wPos_t)BBORDER,
- 0, wDrawLineSolid, markerColor, wDrawOptTemp );
+ coOrd p0, p1;
+ p0.x = p1.x = oldMarker.x;
+ p0.y = mainD.orig.y;
+ p1.y = mainD.orig.y-BBORDER*mainD.scale/mainD.dpi;
+ DrawLine( &tempD, p0, p1, 0, markerColor );
+ p0.y = p1.y = oldMarker.y;
+ p0.x = mainD.orig.x;
+ p1.x = mainD.orig.x-LBORDER*mainD.scale/mainD.dpi;
+ DrawLine( &tempD, p0, p1, 0, markerColor );
}
static DIST_T rulerFontSize = 12.0;
@@ -1684,35 +1726,32 @@ EXPORT void DrawRuler(
wAngle_t a, aa;
DIST_T start, end;
long inch, lastInch;
- wPos_t len;
+ DIST_T len;
int digit;
char quote;
- char message[10];
+ char message[STR_SHORT_SIZE];
coOrd d_orig, d_size;
wFontSize_t fs;
- long mm, mm0, mm1, power;
- wPos_t x0, y0, x1, y1;
+ long mm, mm0, mm1, power, skip;
- static double lengths[16] = {
- 0, 2.0, 4.0, 2.0, 6.0, 2.0, 4.0, 2.0, 8.0, 2.0, 4.0, 2.0, 6.0, 2.0, 4.0, 2.0 };
+ static double lengths[] = {
+ 0, 2.0, 4.0, 2.0, 6.0, 2.0, 4.0, 2.0, 8.0, 2.0, 4.0, 2.0, 6.0, 2.0, 4.0, 2.0, 0.0 };
int fraction, incr, firstFraction, lastFraction;
int majorLength;
coOrd p0, p1;
- FLOAT_T sin_aa;
a = FindAngle( pos0, pos1 );
Translate( &pos0, pos0, a, offset );
Translate( &pos1, pos1, a, offset );
aa = NormalizeAngle(a+(tickSide==0?+90:-90));
- sin_aa = sin(D2R(aa));
end = FindDistance( pos0, pos1 );
if (end < 0.1)
return;
- d_orig.x = d->orig.x - 0.001;
- d_orig.y = d->orig.y - 0.001;
- d_size.x = d->size.x + 0.002;
- d_size.y = d->size.y + 0.002;
+ d_orig.x = d->orig.x - 0.1;
+ d_orig.y = d->orig.y - 0.1;
+ d_size.x = d->size.x + 0.2;
+ d_size.y = d->size.y + 0.2;
if (!ClipLine( &pos0, &pos1, d_orig, d->angle, d_size ))
return;
@@ -1721,10 +1760,7 @@ EXPORT void DrawRuler(
start = -start;
end = FindDistance( orig, pos1 );
- d->CoOrd2Pix( d, pos0, &x0, &y0 );
- d->CoOrd2Pix( d, pos1, &x1, &y1 );
- wDrawLine( d->d, x0, y0, x1, y1,
- 0, wDrawLineSolid, color, (wDrawOpts)d->funcs->options );
+ DrawLine( d, pos0, pos1, 0, color );
if (units == UNITS_METRIC) {
mm0 = (int)ceil(start*25.4-0.5);
@@ -1739,6 +1775,18 @@ EXPORT void DrawRuler(
} else {
power = 1000;
}
+
+ // Label interval for scale > 40
+ if (d->scale <= 200) {
+ skip = 2000;
+ }
+ else if (d->scale <= 400) {
+ skip = 5000;
+ }
+ else {
+ skip = 10000;
+ }
+
for ( ; power<=1000; power*=10,len+=3 ) {
if (power == 1000)
len = 10;
@@ -1746,12 +1794,8 @@ EXPORT void DrawRuler(
if (power==1000 || mm%(power*10) != 0) {
Translate( &p0, orig, a, mm/25.4 );
Translate( &p1, p0, aa, len*d->scale/mainD.dpi );
- d->CoOrd2Pix( d, p0, &x0, &y0 );
- d->CoOrd2Pix( d, p1, &x1, &y1 );
- wDrawLine( d->d, x0, y0, x1, y1,
- 0, wDrawLineSolid, color, (wDrawOpts)d->funcs->options );
-
- if (!number || (d->scale>40 && mm != 0.0))
+ DrawLine( d, p0, p1, 0, color );
+ if (!number || (d->scale > 40 && mm % skip != 0.0))
continue;
if ( (power>=1000) ||
(d->scale<=8 && power>=100) ||
@@ -1760,22 +1804,18 @@ EXPORT void DrawRuler(
sprintf(message, "%ld", mm/10%10 );
fs = rulerFontSize*2/3;
Translate( &p0, p0, aa, (fs/2.0+len)*d->scale/mainD.dpi );
- Translate( &p0, p0, 225, fs*d->scale/mainD.dpi );
+ Translate( &p0, p0, 225, fs*d->scale/mainD.dpi );
//p0.x = p1.x+4*dxn/10*d->scale/mainD.dpi;
//p0.y = p1.y+dyn*d->scale/mainD.dpi;
} else {
sprintf(message, "%0.1f", mm/1000.0 );
fs = rulerFontSize;
Translate( &p0, p0, aa, (fs/2.0+len)*d->scale/mainD.dpi );
- Translate( &p0, p0, 225, 1.5*fs*d->scale/mainD.dpi );
+ Translate( &p0, p0, 225, 1.5*fs*d->scale/mainD.dpi );
//p0.x = p0.x+((-(LBORDER-2)/2)+((LBORDER-2)/2+2)*sin_aa)*d->scale/mainD.dpi;
//p0.y = p1.y+dyn*d->scale/mainD.dpi;
}
- d->CoOrd2Pix( d, p0, &x0, &y0 );
- if (x0<0) x0 = 0;
- if (y0<0) y0 = 0;
- wDrawString( d->d, x0, y0, d->angle, message, rulerFp,
- fs, color, (wDrawOpts)d->funcs->options );
+ DrawString( d, p0, 0.0, message, rulerFp, fs*d->scale, color );
}
}
}
@@ -1793,6 +1833,7 @@ EXPORT void DrawRuler(
incr = 32;
else
incr = 16; //Inches
+
lastInch = (int)floor(end);
lastFraction = 16;
inch = (int)ceil(start);
@@ -1802,19 +1843,19 @@ EXPORT void DrawRuler(
firstFraction = 16 - firstFraction;
}
for ( ; inch<=lastInch; inch++){
- if (inch % 12 == 0) {
+ if(inch % 12 == 0) {
lengths[0] = 12;
majorLength = 16;
digit = (int)(inch/12);
fs = rulerFontSize;
quote = '\'';
- } else if (d->scale <= 8) {
+ } else if (d->scale <= 12) { // 8
lengths[0] = 12;
majorLength = 16;
digit = (int)(inch%12);
fs = rulerFontSize*(2.0/3.0);
quote = '"';
- } else if (d->scale <= 16){
+ } else if (d->scale <= 24){ // 16
lengths[0] = 10;
majorLength = 12;
digit = (int)(inch%12);
@@ -1824,31 +1865,52 @@ EXPORT void DrawRuler(
}
if (inch == lastInch)
lastFraction = (((int)((end - lastInch)*16)) / incr) * incr;
- for ( fraction = firstFraction; fraction<=lastFraction; fraction += incr ) {
- Translate( &p0, orig, a, inch+fraction/16.0 );
- Translate( &p1, p0, aa, lengths[fraction]*d->scale/72.0 );
- d->CoOrd2Pix( d, p0, &x0, &y0 );
- d->CoOrd2Pix( d, p1, &x1, &y1 );
- wDrawLine( d->d, x0, y0, x1, y1,
- 0, wDrawLineSolid, color,
- (wDrawOpts)d->funcs->options );
-#ifdef KLUDGEWINDOWS
- /* KLUDGE: can't draw invertable strings on windows */
- if ( (opts&DO_TEMP) == 0)
-#endif
- if (fraction == 0) {
- if ( (number == TRUE && d->scale<40) || (digit==0)) {
- if (inch % 12 == 0 || d->scale <= 2) {
- Translate( &p0, p0, aa, majorLength*d->scale/mainD.dpi );
- Translate( &p0, p0, 225, fs*d->scale/mainD.dpi );
- sprintf(message, "%d%c", digit, quote );
- d->CoOrd2Pix( d, p0, &x0, &y0 );
- if (x0<0) x0 = 0;
- if (y0<0) y0 = 0;
- wDrawString( d->d, x0, y0, d->angle, message, rulerFp, fs, color, (wDrawOpts)d->funcs->options );
+ for ( fraction = firstFraction; fraction <= lastFraction; fraction += incr ) {
+ // Tick interval for scale > 128
+ skip = 0;
+ if(d->scale > 512) {
+ skip = (inch % 120 != 0);
+ }
+ else if(d->scale > 256) {
+ skip = (inch % 60 != 0);
+ }
+ else if(d->scale > 128) {
+ skip = (inch % 24 != 0);
+ }
+ else if(d->scale > 64) {
+ skip = (inch % 12 != 0);
+ }
+ if(!skip){
+ Translate( &p0, orig, a, inch+fraction/16.0 );
+ Translate( &p1, p0, aa, lengths[fraction]*d->scale/mainD.dpi );
+ DrawLine( d, p0, p1, 0, color );
+ }
+ if (fraction == 0) {
+ // Label interval for scale > 40
+ if (d->scale <= 80) {
+ skip = 2;
+ }
+ else if (d->scale <= 120) {
+ skip = 5;
+ }
+ else if (d->scale <= 240) {
+ skip = 10;
+ }
+ else if (d->scale <= 480) {
+ skip = 20;
+ }
+ else {
+ skip = 50;
+ }
+ if ( (number == TRUE && d->scale <= 40) || (digit % skip == 0)) {
+ if (inch % 12 == 0 || d->scale <= 2) {
+ Translate( &p0, p0, aa, majorLength*d->scale/mainD.dpi );
+ Translate( &p0, p0, 225, fs*d->scale/mainD.dpi );
+ sprintf(message, "%d%c", digit, quote );
+ DrawString( d, p0, 0.0, message, rulerFp, fs*d->scale, color );
+ }
}
}
- }
firstFraction = 0;
}
}
@@ -1863,7 +1925,7 @@ static void DrawTicks( drawCmd_p d, coOrd size )
offset = 0.0;
- double blank_zone = 40*d->scale/72.0;
+ double blank_zone = 40*d->scale/mainD.dpi;
if ( d->orig.x<0.0-blank_zone ) {
p0.y = 0.0; p1.y = mapD.size.y;
@@ -1910,20 +1972,19 @@ static void DrawTicks( drawCmd_p d, coOrd size )
EXPORT coOrd mainCenter;
-
static void DrawMapBoundingBox( BOOL_T set )
{
if (mainD.d == NULL || mapD.d == NULL)
+ abort();
+ if (!mapVisible)
return;
- wDrawSetTempMode( mapD.d, TRUE );
DrawHilight( &mapD, mainD.orig, mainD.size, TRUE );
- wDrawSetTempMode( mapD.d, FALSE );
}
-static void ConstraintOrig( coOrd * orig, coOrd size, wBool_t bNoBorder, wBool_t round )
+static void ConstraintOrig( coOrd * orig, coOrd size, wBool_t bNoBorder, wBool_t bRound )
{
-LOG( log_pan, 2, ( "ConstraintOrig [ %0.3f, %0.3f ] RoomSize(%0.3f %0.3f), WxH=%0.3fx%0.3f",
+LOG( log_pan, 2, ( "ConstraintOrig [ %0.6f, %0.6f ] RoomSize(%0.3f %0.3f), WxH=%0.3fx%0.3f",
orig->x, orig->y, mapD.size.x, mapD.size.y,
size.x, size.y ) )
@@ -1957,28 +2018,11 @@ LOG( log_pan, 2, ( "ConstraintOrig [ %0.3f, %0.3f ] RoomSize(%0.3f %0.3f), WxH=%
if (orig->y < (0-bound.y))
orig->y = 0-bound.y;
- if (round) {
- if (mainD.scale >= 1.0) {
- if (units == UNITS_ENGLISH) {
- orig->x = floor(orig->x*4)/4; //>1:1 = 1/4 inch
- orig->y = floor(orig->y*4)/4;
- } else {
- orig->x = floor(orig->x*2.54*2)/(2.54*2); //>1:1 = 0.5 cm
- orig->y = floor(orig->y*2.54*2)/(2.54*2);
- }
- } else {
- if (units == UNITS_ENGLISH) {
- orig->x = floor(orig->x*64)/64; //<1:1 = 1/64 inch
- orig->y = floor(orig->y*64)/64;
- } else {
- orig->x = floor(orig->x*25.4*2)/(25.4*2); //>1:1 = 0.5 mm
- orig->y = floor(orig->y*25.4*2)/(25.4*2);
- }
- }
+ if (bRound) {
+ orig->x = round(orig->x*pixelBins)/pixelBins;
+ orig->y = round(orig->y*pixelBins)/pixelBins;
}
- //orig->x = (long)(orig->x*pixelBins+0.5)/pixelBins;
- //orig->y = (long)(orig->y*pixelBins+0.5)/pixelBins;
- LOG( log_pan, 2, ( " = [ %0.3f %0.3f ]\n", orig->y, orig->y ) )
+ LOG( log_pan, 2, ( " = [ %0.6f %0.6f ]\n", orig->x, orig->y ) )
}
/**
@@ -1995,20 +2039,20 @@ EXPORT void InitCmdZoom( wMenu_p zoomM, wMenu_p zoomSubM, wMenu_p ctxMenu1, wMen
{
int inx;
- for ( inx=0; inx<sizeof zoomList/sizeof zoomList[0]; inx++ ) {
+ for ( inx=0; inx<COUNT( zoomList ); inx++ ) {
if( (zoomList[ inx ].value >= 1.0 && zoomList[ inx ].value<=10 ) ||
(ceil(log2(zoomList[ inx ].value)) == floor(log2(zoomList[ inx ].value))))
{
if (zoomM)
- zoomList[inx].btRadio = wMenuRadioCreate( zoomM, "cmdZoom", zoomList[inx].name, 0, (wMenuCallBack_p)DoZoom, (void *)(&(zoomList[inx].value)));
+ zoomList[inx].btRadio = wMenuRadioCreate( zoomM, "cmdZoom", zoomList[inx].name, 0, DoZoom, (&(zoomList[inx].value)));
if( zoomSubM )
- zoomList[inx].pdRadio = wMenuRadioCreate( zoomSubM, "cmdZoom", zoomList[inx].name, 0, (wMenuCallBack_p)DoZoom, (void *)(&(zoomList[inx].value)));
+ zoomList[inx].pdRadio = wMenuRadioCreate( zoomSubM, "cmdZoom", zoomList[inx].name, 0, DoZoom, (&(zoomList[inx].value)));
if (panMenu)
- zoomList[inx].panRadio = wMenuRadioCreate( panMenu, "cmdZoom", zoomList[inx].name, 0, (wMenuCallBack_p)DoZoom, (void *)(&(zoomList[inx].value)));
+ zoomList[inx].panRadio = wMenuRadioCreate( panMenu, "cmdZoom", zoomList[inx].name, 0, DoZoom, (&(zoomList[inx].value)));
}
if ((zoomList[inx].value >=1.0 && zoomList[inx].value <= 10.0) || (ceil(log2(zoomList[ inx ].value)) == floor(log2(zoomList[ inx ].value)))) {
if (ctxMenu1)
- zoomList[inx].ctxRadio1 = wMenuRadioCreate( ctxMenu1, "cmdZoom", zoomList[inx].name, 0, (wMenuCallBack_p)DoZoom, (void *)(&(zoomList[inx].value)));
+ zoomList[inx].ctxRadio1 = wMenuRadioCreate( ctxMenu1, "cmdZoom", zoomList[inx].name, 0, DoZoom, (&(zoomList[inx].value)));
}
}
}
@@ -2025,7 +2069,7 @@ static void SetZoomRadio( DIST_T scale )
int inx;
long curScale = (long)scale;
- for ( inx=0; inx<sizeof zoomList/sizeof zoomList[0]; inx++ ) {
+ for ( inx=0; inx<COUNT( zoomList ); inx++ ) {
if( curScale == zoomList[inx].value ) {
if (zoomList[inx].btRadio)
wMenuRadioSetActive( zoomList[inx].btRadio );
@@ -2037,7 +2081,7 @@ static void SetZoomRadio( DIST_T scale )
wMenuRadioSetActive( zoomList[inx].panRadio );
/* activate / deactivate zoom buttons when appropriate */
wControlLinkedActive( (wControl_p)zoomUpB, ( inx != 0 ) );
- wControlLinkedActive( (wControl_p)zoomDownB, ( inx < (sizeof zoomList/sizeof zoomList[0] - 1)));
+ wControlLinkedActive( (wControl_p)zoomDownB, ( inx < (COUNT( zoomList ) - 1)));
}
}
}
@@ -2054,7 +2098,7 @@ static int ScaleInx( DIST_T scale )
{
int inx;
- for ( inx=0; inx<sizeof zoomList/sizeof zoomList[0]; inx++ ) {
+ for ( inx=0; inx<COUNT( zoomList); inx++ ) {
if( scale == zoomList[inx].value ) {
return inx;
}
@@ -2069,7 +2113,7 @@ static int ScaleInx( DIST_T scale )
static int NearestScaleInx ( DIST_T scale, BOOL_T larger ) {
int inx;
- for ( inx=0; inx<sizeof zoomList/sizeof zoomList[0]; inx++ ) {
+ for ( inx=0; inx<COUNT( zoomList ); inx++ ) {
if( scale == zoomList[inx].value ) {
return inx;
}
@@ -2094,9 +2138,7 @@ static void DoNewScale( DIST_T scale )
tempD.scale = mainD.scale = scale;
mainD.dpi = wDrawGetDPI( mainD.d );
- if ( mainD.dpi == 75 ) {
- mainD.dpi = 72.0;
- } else if ( scale > 1.0 && scale <= 12.0 ) {
+ if ( scale > 1.0 && scale <= 12.0 ) {
mainD.dpi = floor( (mainD.dpi + scale/2)/scale) * scale;
}
tempD.dpi = mainD.dpi;
@@ -2104,7 +2146,7 @@ static void DoNewScale( DIST_T scale )
SetZoomRadio( scale );
InfoScale();
SetMainSize();
- PanHere( (void*)1 );
+ PanHere( I2VP(1) );
LOG( log_zoom, 1, ( "center = [%0.3f %0.3f]\n", mainCenter.x, mainCenter.y ) )
sprintf( tmp, "%0.3f", mainD.scale );
wPrefSetString( "draw", "zoom", tmp );
@@ -2156,17 +2198,53 @@ EXPORT void DoZoomUp( void * mode )
}
}
+/*
+ * Mode - 0 = Extents are Map size
+ * Mode - 1 = Extents are Selected size
+ */
EXPORT void DoZoomExtents( void * mode) {
DIST_T scale_x, scale_y;
- scale_x = mapD.size.x/(mainD.size.x/mainD.scale);
- scale_y = mapD.size.y/(mainD.size.y/mainD.scale);
+ if ( 1 == VP2L(mode) ) {
+ if ( selectedTrackCount == 0 )
+ return;
+ track_p trk = NULL;
+ coOrd bot, top;
+ BOOL_T first = TRUE;
+ while ( TrackIterate( &trk ) ) {
+ if(GetTrkSelected(trk)) {
+ coOrd hi, lo;
+ GetBoundingBox(trk,&hi,&lo);
+ if (first) {
+ first = FALSE;
+ bot = lo;
+ top = hi;
+ } else {
+ if (lo.x < bot.x) bot.x = lo.x;
+ if (lo.y < bot.y) bot.y = lo.y;
+ if (hi.x > top.x) top.x = hi.x;
+ if (hi.y > top.y) top.y = hi.y;
+ }
+ }
+ }
+ panCenter.x = (top.x/2)+(bot.x)/2;
+ panCenter.y = (top.y/2)+(bot.y)/2;
+ PanHere(I2VP(1));
+ scale_x = (top.x-bot.x)*1.5/(mainD.size.x/mainD.scale);
+ scale_y = (top.y-bot.y)*1.5/(mainD.size.y/mainD.scale);
+ } else {
+ scale_x = mapD.size.x/(mainD.size.x/mainD.scale);
+ scale_y = mapD.size.y/(mainD.size.y/mainD.scale);
+ }
+
+
if (scale_x<scale_y)
scale_x = scale_y;
scale_x = ceil(scale_x);
if (scale_x < 1) scale_x = 1;
if (scale_x > MAX_MAIN_SCALE) scale_x = MAX_MAIN_SCALE;
- mainD.orig = zero;
+ if (1 != (intptr_t)1)
+ mainD.orig = zero;
DoNewScale(scale_x);
MainLayout(TRUE,TRUE);
@@ -2188,7 +2266,7 @@ EXPORT void DoZoomDown( void * mode)
if ( mode != NULL || (MyGetKeyState()&WKEY_SHIFT) == 0 ) {
i = ScaleInx( mainD.scale );
if (i < 0) i = NearestScaleInx(mainD.scale, TRUE);
- if( i>= 0 && i < ( sizeof zoomList/sizeof zoomList[0] - 1 )) {
+ if( i>= 0 && i < ( COUNT( zoomList ) - 1 )) {
InfoMessage("");
DoNewScale( zoomList[ i + 1 ].value );
} else
@@ -2212,9 +2290,9 @@ EXPORT void DoZoomDown( void * mode)
* \param IN scale current pScale
*
*/
-
-EXPORT void DoZoom( DIST_T *pScale )
+static void DoZoom( void * pScaleVP )
{
+ DIST_T *pScale = pScaleVP;
DIST_T scale = *pScale;
if( scale != mainD.scale )
@@ -2222,11 +2300,10 @@ EXPORT void DoZoom( DIST_T *pScale )
}
-
EXPORT void Pix2CoOrd(
drawCmd_p d,
- wPos_t x,
- wPos_t y,
+ wDrawPix_t x,
+ wDrawPix_t y,
coOrd * pos )
{
pos->x = (((DIST_T)x)/d->dpi)*d->scale+d->orig.x;
@@ -2236,11 +2313,11 @@ EXPORT void Pix2CoOrd(
EXPORT void CoOrd2Pix(
drawCmd_p d,
coOrd pos,
- wPos_t * x,
- wPos_t * y )
+ wDrawPix_t * x,
+ wDrawPix_t * y )
{
- *x = (wPos_t)((pos.x-d->orig.x)/d->scale*d->dpi);
- *y = (wPos_t)((pos.y-d->orig.y)/d->scale*d->dpi);
+ *x = (wDrawPix_t)((pos.x-d->orig.x)/d->scale*d->dpi);
+ *y = (wDrawPix_t)((pos.y-d->orig.y)/d->scale*d->dpi);
}
/*
@@ -2254,30 +2331,29 @@ EXPORT void CoOrd2Pix(
* - 3: Take position from menuPos
*/
EXPORT void PanHere(void * mode) {
- if ( 3 == (long)mode) {
+ if ( 3 == VP2L(mode ) ) {
panCenter = menuPos;
LOG( log_pan, 2, ( "MCenter:Mod-%d %0.3f %0.3f\n", __LINE__, panCenter.x, panCenter.y ) );
}
mainD.orig.x = panCenter.x - mainD.size.x/2.0;
mainD.orig.y = panCenter.y - mainD.size.y/2.0;
wBool_t bNoBorder = (constrainMain != 0);
- if ( 1 != (long)mode )
+ if ( 1 != VP2L(mode) )
if ( (MyGetKeyState()&WKEY_CTRL)!= 0 )
bNoBorder = !bNoBorder;
wBool_t bLiveMap = TRUE;
- if ( 2 == (long)mode )
+ if ( 2 == VP2L(mode) )
bLiveMap = liveMap;
MainLayout( bLiveMap, bNoBorder ); // PanHere
}
-static void DoPanKeyAction( wAction_t action )
+static int DoPanKeyAction( wAction_t action )
{
- switch ((wAccelKey_e)(action>>8)) {
+ switch ((wAccelKey_e)(action>>8)&0xFF) {
case wAccelKey_Del:
- SelectDelete();
- return;
+ return SelectDelete();
#ifndef WINDOWS
case wAccelKey_Pgdn:
DoZoomUp(NULL);
@@ -2294,7 +2370,7 @@ static void DoPanKeyAction( wAction_t action )
else
panCenter.x += mainD.size.x/2;
LOG( log_pan, 2, ( "PanCenter:%d %0.3f %0.3f\n", __LINE__, panCenter.x, panCenter.y ) );
- PanHere((void*)0);
+ PanHere(I2VP(0));
break;
case wAccelKey_Left:
@@ -2305,7 +2381,7 @@ static void DoPanKeyAction( wAction_t action )
else
panCenter.x -= mainD.size.x/2;
LOG( log_pan, 2, ( "PanCenter:%d %0.3f %0.3f\n", __LINE__, panCenter.x, panCenter.y ) );
- PanHere((void*)0);
+ PanHere(I2VP(0));
break;
case wAccelKey_Up:
@@ -2316,7 +2392,7 @@ static void DoPanKeyAction( wAction_t action )
else
panCenter.y += mainD.size.y/2;
LOG( log_pan, 2, ( "PanCenter:%d %0.3f %0.3f\n", __LINE__, panCenter.x, panCenter.y ) );
- PanHere((void*)0);
+ PanHere(I2VP(0));
break;
case wAccelKey_Down:
@@ -2327,12 +2403,13 @@ static void DoPanKeyAction( wAction_t action )
else
panCenter.y -= mainD.size.y/2;
LOG( log_pan, 2, ( "PanCenter:%d %0.3f %0.3f\n", __LINE__, panCenter.x, panCenter.y ) );
- PanHere((void*)0);
+ PanHere(I2VP(0));
break;
default:
- return;
+ return 0;
}
+ return 0;
}
@@ -2342,7 +2419,7 @@ static void DoMapPan( wAction_t action, coOrd pos )
static coOrd size;
static DIST_T xscale, yscale;
static enum { noPan, movePan, resizePan } mode = noPan;
- wPos_t x, y;
+ wDrawPix_t x, y;
switch (action & 0xFF) {
@@ -2358,13 +2435,13 @@ static void DoMapPan( wAction_t action, coOrd pos )
// mainD.orig.y = pos.y - mainD.size.y/2.0;
panCenter = pos;
LOG( log_pan, 1, ( "%s = [ %0.3f, %0.3f ]\n", action == C_DOWN? "START":"MOVE", mainD.orig.x, mainD.orig.y ) )
- PanHere( (void*)2 );
+ PanHere( I2VP(2));
break;
case C_UP:
if ( mode != movePan )
break;
panCenter = pos;
- PanHere( (void*)0 );
+ PanHere( I2VP(0));
LOG( log_pan, 1, ( "FINAL = [ %0.3f, %0.3f ]\n", mainD.orig.x, mainD.orig.y ) )
mode = noPan;
break;
@@ -2410,7 +2487,7 @@ LOG( log_pan, 1, ( "START %0.3fx%0.3f %0.3f+%0.3f\n", mapOrig.x, mapOrig.y, size
mainD.orig.x = mapOrig.x - mainD.size.x / 2.0;
mainD.orig.y = mapOrig.y - mainD.size.y / 2.0;
tempD.scale = mainD.scale = xscale;
- PanHere( (void*)2 );
+ PanHere( I2VP(2));
LOG( log_pan, 1, ( "MOVE SCL:%0.3f %0.3fx%0.3f %0.3f+%0.3f\n", xscale, mainD.orig.x, mainD.orig.y, mainD.size.x, mainD.size.y ) )
InfoScale();
break;
@@ -2435,11 +2512,15 @@ LOG( log_pan, 1, ( "MOVE SCL:%0.3f %0.3fx%0.3f %0.3f+%0.3f\n", xscale, mainD.ori
}
+/*
+* IsClose
+* is distance smaller than 10 pixels at 72 DPI?
+*/
EXPORT BOOL_T IsClose(
DIST_T d )
{
- wPos_t pd;
- pd = (wPos_t)(d/mainD.scale * mainD.dpi);
+ wDrawPix_t pd;
+ pd = (wDrawPix_t)(d/mainD.scale * mainD.dpi);
return pd <= closePixels;
}
@@ -2471,7 +2552,7 @@ EXPORT void FakeDownMouseState( void )
*/
void
-GetMousePosition( int *x, int *y )
+GetMousePosition( wDrawPix_t *x, wDrawPix_t *y )
{
if( x && y ) {
*x = mousePositionx;
@@ -2508,7 +2589,7 @@ static void DoMouse( wAction_t action, coOrd pos )
{
BOOL_T rc;
- wPos_t x, y;
+ wDrawPix_t x, y;
static BOOL_T ignoreCommands;
LOG( log_mouse, 2, ( "DoMouse( %d, %0.3f, %0.3f )\n", action, pos.x, pos.y ) )
@@ -2595,8 +2676,9 @@ static void DoMouse( wAction_t action, coOrd pos )
action = C_TEXT+((int)(0x0A<<8));
break;
}
- DoPanKeyAction( action );
- return;
+ int rc = DoPanKeyAction(action);
+ if (rc!=1) return;
+ break;
case C_TEXT:
if ((action>>8) == 0x0D) {
action = C_OK;
@@ -2604,6 +2686,7 @@ static void DoMouse( wAction_t action, coOrd pos )
ConfirmReset( TRUE );
return;
}
+ /*no break */
case C_MODKEY:
case C_MOVE:
case C_UP:
@@ -2614,30 +2697,30 @@ static void DoMouse( wAction_t action, coOrd pos )
/*DrawTempTrack();*/
break;
case C_WUP:
- DoZoomUp((void *)1L);
+ DoZoomUp(I2VP(1L));
break;
case C_WDOWN:
- DoZoomDown((void *)1L);
+ DoZoomDown(I2VP(1L));
break;
case C_SCROLLUP:
panCenter.y = panCenter.y + ((mainD.size.y/20>min.y)?mainD.size.y/20:min.y);
LOG( log_pan, 2, ( "PanCenter:%d %0.3f %0.3f\n", __LINE__, panCenter.x, panCenter.y ) );
- PanHere((void*)1);
+ PanHere(I2VP(1));
break;
case C_SCROLLDOWN:
panCenter.y = panCenter.y - ((mainD.size.y/20>min.y)?mainD.size.y/20:min.y);
LOG( log_pan, 2, ( "PanCenter:%d %0.3f %0.3f\n", __LINE__, panCenter.x, panCenter.y ) );
- PanHere((void*)1);
+ PanHere(I2VP(1));
break;
case C_SCROLLLEFT:
panCenter.x = panCenter.x - ((mainD.size.x/20>min.x)?mainD.size.x/20:min.x);
LOG( log_pan, 2, ( "PanCenter:%d %0.3f %0.3f\n", __LINE__, panCenter.x, panCenter.y ) );
- PanHere((void*)1);
+ PanHere(I2VP(1));
break;
case C_SCROLLRIGHT:
panCenter.x = panCenter.x + ((mainD.size.x/20>min.x)?mainD.size.x/20:min.x);
LOG( log_pan, 2, ( "PanCenter:%d %0.3f %0.3f\n", __LINE__, panCenter.x, panCenter.y ) );
- PanHere((void*)1);
+ PanHere(I2VP(1));
break;
default:
NoticeMessage( MSG_DOMOUSE_BAD_OP, _("Ok"), NULL, action&0xFF );
@@ -2668,17 +2751,16 @@ static void DoMouse( wAction_t action, coOrd pos )
}
-wPos_t autoPanFactor = 10;
-static void DoMousew( wDraw_p d, void * context, wAction_t action, wPos_t x, wPos_t y )
+wDrawPix_t autoPanFactor = 10;
+static void DoMousew( wDraw_p d, void * context, wAction_t action, wDrawPix_t x, wDrawPix_t y )
{
coOrd pos;
coOrd orig;
- wPos_t w, h;
- static wPos_t lastX, lastY;
+ wWinPix_t w, h;
+ static wDrawPix_t lastX, lastY;
DIST_T minDist;
-
+ wDrawGetSize( mainD.d, &w, &h );
if ( autoPan && !inPlayback ) {
- wDrawGetSize( mainD.d, &w, &h );
if ( action == wActionLDown || action == wActionRDown ||
(action == wActionLDrag && mouseState == mouseLeftPending ) /*||
(action == wActionRDrag && mouseState == mouseRightPending ) */ ) {
@@ -2748,6 +2830,10 @@ static void DoMousew( wDraw_p d, void * context, wAction_t action, wPos_t x, wPo
}
DoMouse( action, pos );
+
+ if (( x < 20 ) || ( x > w-20 ) || ( y < 20 ) || ( y > h-20 ) ) {
+ wSetCursor(mainD.d,defaultCursor); //Add system cursor if close to edges
+ }
}
static wBool_t PlaybackMain( char * line )
@@ -2755,17 +2841,16 @@ static wBool_t PlaybackMain( char * line )
int rc;
int action;
coOrd pos;
- char *oldLocale = NULL;
- oldLocale = SaveLocale("C");
+ SetCLocale();
rc=sscanf( line, "%d " SCANF_FLOAT_FORMAT SCANF_FLOAT_FORMAT, &action, &pos.x, &pos.y);
- RestoreLocale(oldLocale);
+ SetUserLocale();
if (rc != 3) {
SyntaxError( "MOUSE", rc, 3 );
} else {
- PlaybackMouse( DoMouse, &mainD, (wAction_t)action, pos, wDrawColorBlack );
+ PlaybackMouse( DoMouse, &tempD, (wAction_t)action, pos, wDrawColorBlack );
}
return TRUE;
}
@@ -2775,18 +2860,17 @@ static wBool_t PlaybackKey( char * line )
int rc;
int action = C_TEXT;
coOrd pos;
- char *oldLocale = NULL;
int c;
- oldLocale = SaveLocale("C");
+ SetCLocale();
rc=sscanf( line, "%d " SCANF_FLOAT_FORMAT SCANF_FLOAT_FORMAT, &c, &pos.x, &pos.y );
- RestoreLocale(oldLocale);
+ SetUserLocale();
if (rc != 3) {
SyntaxError( "MOUSE", rc, 3 );
} else {
- action = action||c<<8;
- PlaybackMouse( DoMouse, &mainD, (wAction_t)action, pos, wDrawColorBlack );
+ action = action|c<<8;
+ PlaybackMouse( DoMouse, &tempD, (wAction_t)action, pos, wDrawColorBlack );
}
return TRUE;
}
@@ -2797,17 +2881,17 @@ static wBool_t PlaybackKey( char * line )
*
*/
-static paramDrawData_t mapDrawData = { 100, 100, (wDrawRedrawCallBack_p)MapRedraw, DoMapPan, &mapD };
+static paramDrawData_t mapDrawData = { 100, 100, MapRedraw, DoMapPan, &mapD };
static paramData_t mapPLs[] = {
{ PD_DRAW, NULL, "canvas", 0, &mapDrawData } };
-static paramGroup_t mapPG = { "map", PGO_NODEFAULTPROC, mapPLs, sizeof mapPLs/sizeof mapPLs[0] };
+static paramGroup_t mapPG = { "map", PGO_NODEFAULTPROC, mapPLs, COUNT( mapPLs ) };
static void MapDlgUpdate(
paramGroup_p pg,
int inx,
void * valueP )
{
- int width,height;
+ wWinPix_t width,height;
switch(inx) {
case wResize_e:
if (mapD.d == NULL)
@@ -2822,8 +2906,8 @@ static void MapDlgUpdate(
if (scaleX<scaleY) scale = scaleX;
else scale = scaleY;
- if (scale > 256.0) scale = 256.0;
- if (scale < 0.01) scale = 0.01;
+ if (scale > MAX_MAIN_SCALE) scale = MAX_MAIN_SCALE;
+ if (scale < MIN_MAIN_MACRO) scale = MIN_MAIN_MACRO;
mapScale = (long)scale;
@@ -2831,7 +2915,7 @@ static void MapDlgUpdate(
ChangeMapScale(FALSE);
if (mapVisible) {
- MapRedraw();
+ MapRedraw( mapD.d, NULL, 0, 0 );
}
wPrefSetInteger( "draw", "mapscale", (long)mapD.scale );
}
@@ -2858,7 +2942,7 @@ static void DrawChange( long changes )
static void MainLayoutCB(
- wDraw_p bd, void * pContex, wPos_t px, wPos_t py )
+ wDraw_p bd, void * pContex, wWinPix_t px, wWinPix_t py )
{
MainLayout( TRUE, FALSE );
}
@@ -2866,7 +2950,7 @@ static void MainLayoutCB(
EXPORT void DrawInit( int initialZoom )
{
- wPos_t w, h;
+ wWinPix_t w, h;
wWinGetSize( mainW, &w, &h );
@@ -2876,7 +2960,7 @@ EXPORT void DrawInit( int initialZoom )
if ( h <= 0 ) h = 1;
tempD.d = mainD.d = wDrawCreate( mainW, 0, toolbarHeight, "", BD_TICKS|BD_MODKEYS,
w, h, &mainD,
- (wDrawRedrawCallBack_p)MainLayoutCB, DoMousew );
+ MainLayoutCB, DoMousew );
if (initialZoom == 0) {
WDOUBLE_T tmpR;
@@ -2894,9 +2978,7 @@ EXPORT void DrawInit( int initialZoom )
}
tempD.scale = mainD.scale;
mainD.dpi = wDrawGetDPI( mainD.d );
- if ( mainD.dpi == 75 ) {
- mainD.dpi = 72.0;
- } else if ( mainD.scale > 1.0 && mainD.scale <= 12.0 ) {
+ if ( mainD.scale > 1.0 && mainD.scale <= 12.0 ) {
mainD.dpi = floor( (mainD.dpi + mainD.scale/2)/mainD.scale) * mainD.scale;
}
tempD.dpi = mainD.dpi;
@@ -2905,8 +2987,8 @@ EXPORT void DrawInit( int initialZoom )
panCenter.x = mainD.size.x/2 +mainD.orig.x;
panCenter.y = mainD.size.y/2 +mainD.orig.y;
mapD.scale = mapScale;
- /*w = (wPos_t)((mapD.size.x/mapD.scale)*mainD.dpi + 0.5)+2;*/
- /*h = (wPos_t)((mapD.size.y/mapD.scale)*mainD.dpi + 0.5)+2;*/
+ /*w = (wWinPix_t)((mapD.size.x/mapD.scale)*mainD.dpi + 0.5)+2;*/
+ /*h = (wWinPix_t)((mapD.size.y/mapD.scale)*mainD.dpi + 0.5)+2;*/
ParamRegister( &mapPG );
mapW = ParamCreateDialog( &mapPG, MakeWindowTitle(_("Map")), NULL, NULL, NULL, FALSE, NULL, F_RESIZE, MapDlgUpdate );
ChangeMapScale(TRUE);
@@ -2915,6 +2997,8 @@ EXPORT void DrawInit( int initialZoom )
log_zoom = LogFindIndex( "zoom" );
log_mouse = LogFindIndex( "mouse" );
log_redraw = LogFindIndex( "redraw" );
+ log_timemainredraw = LogFindIndex( "timemainredraw" );
+
AddPlaybackProc( "MOUSE ", (playbackProc_p)PlaybackMain, NULL );
AddPlaybackProc( "KEY ", (playbackProc_p)PlaybackKey, NULL );
@@ -2925,13 +3009,9 @@ EXPORT void DrawInit( int initialZoom )
SetInfoBar();
InfoPos( zero );
RegisterChangeNotification( DrawChange );
-#ifdef LATER
- wAttachAccelKey( wAccelKey_Pgup, 0, (wAccelKeyCallBack_p)doZoomUp, NULL );
- wAttachAccelKey( wAccelKey_Pgdn, 0, (wAccelKeyCallBack_p)doZoomDown, NULL );
-#endif
}
-#include "bitmaps/pan.xpm"
+#include "bitmaps/pan-zoom.xpm"
EXPORT static wMenu_p panPopupM;
@@ -2994,7 +3074,7 @@ static STATUS_T CmdPan(
mainD.orig.x -= (pos.x - start_pos.x);
mainD.orig.y -= (pos.y - start_pos.y);
if ((MyGetKeyState()&WKEY_SHIFT) != 0)
- ConstraintOrig(&mainD.orig,mainD.size,TRUE,FALSE);
+ ConstraintOrig(&mainD.orig,mainD.size,TRUE,TRUE);
if ((oldOrig.x == mainD.orig.x) && (oldOrig.y == mainD.orig.y))
InfoMessage(_("Can't move any further in that direction"));
else
@@ -3016,15 +3096,13 @@ static STATUS_T CmdPan(
}
panCenter.x = mainD.orig.x + mainD.size.x/2.0;
panCenter.y = mainD.orig.y + mainD.size.y/2.0;
- PanHere( (void*)0 );
+ PanHere( I2VP(0));
break;
case C_UP:
if (panmode == ZOOM) {
scale_x = size.x/mainD.size.x*mainD.scale;
scale_y = size.y/mainD.size.y*mainD.scale;
- DIST_T oldScale = mainD.scale;
-
if (scale_x<scale_y)
scale_x = scale_y;
if (scale_x>1) scale_x = ceil( scale_x );
@@ -3061,7 +3139,9 @@ static STATUS_T CmdPan(
panmode = NONE;
if ((action>>8) == 'e') { //"e"
- DoZoomExtents(0);
+ DoZoomExtents(I2VP(0));
+ } else if((action>>8) == 's') {
+ DoZoomExtents(I2VP(1));
} else if (((action>>8) == '0') || ((action>>8) == 'o')) { //"0" or "o"
mainD.orig = zero;
panCenter.x = mainD.size.x/2.0;
@@ -3074,7 +3154,7 @@ static STATUS_T CmdPan(
} else if ((action>>8) == 'c') { // "c"
panCenter = pos;
LOG( log_pan, 2, ( "PanCenter:%d %0.3f %0.3f\n", __LINE__, panCenter.x, panCenter.y ) );
- PanHere( (void*)0 ); // CmdPan C_TEXT 'c'
+ PanHere( I2VP(0)); // CmdPan C_TEXT 'c'
}
if ((action>>8) == 0x0D) {
@@ -3097,7 +3177,9 @@ static STATUS_T CmdPan(
static wMenuPush_p zoomExtents,panOrig,panHere;
static wMenuPush_p zoomLvl1,zoomLvl2,zoomLvl3,zoomLvl4,zoomLvl5,zoomLvl6,zoomLvl7,zoomLvl8,zoomLvl9;
-EXPORT void PanMenuEnter(int key) {
+EXPORT void PanMenuEnter( void * keyVP )
+{
+ int key = (int)VP2L(keyVP);
int action;
action = C_TEXT;
action |= key<<8;
@@ -3111,28 +3193,28 @@ extern wIndex_t modifyCmdInx;
EXPORT void InitCmdPan( wMenu_p menu )
{
- panCmdInx = AddMenuButton( menu, CmdPan, "cmdPan", _("Pan/Zoom"), wIconCreatePixMap(pan_xpm),
+ panCmdInx = AddMenuButton( menu, CmdPan, "cmdPan", _("Pan/Zoom"), wIconCreatePixMap(pan_zoom_xpm[iconSize]),
LEVEL0, IC_CANCEL|IC_POPUP|IC_LCLICK|IC_CMDMENU, ACCL_PAN, NULL );
}
EXPORT void InitCmdPan2( wMenu_p menu )
{
panPopupM = MenuRegister( "Pan Options" );
- wMenuPushCreate(panPopupM, "cmdSelectMode", GetBalloonHelpStr("cmdSelectMode"), 0, DoCommandB, (void*) (intptr_t) selectCmdInx);
- wMenuPushCreate(panPopupM, "cmdDescribeMode", GetBalloonHelpStr("cmdDescribeMode"), 0, DoCommandB, (void*) (intptr_t) describeCmdInx);
- wMenuPushCreate(panPopupM, "cmdModifyMode", GetBalloonHelpStr("cmdModifyMode"), 0, DoCommandB, (void*) (intptr_t) modifyCmdInx);
+ wMenuPushCreate(panPopupM, "cmdSelectMode", GetBalloonHelpStr("cmdSelectMode"), 0, DoCommandB, I2VP(selectCmdInx));
+ wMenuPushCreate(panPopupM, "cmdDescribeMode", GetBalloonHelpStr("cmdDescribeMode"), 0, DoCommandB, I2VP(describeCmdInx));
+ wMenuPushCreate(panPopupM, "cmdModifyMode", GetBalloonHelpStr("cmdModifyMode"), 0, DoCommandB, I2VP(modifyCmdInx));
wMenuSeparatorCreate(panPopupM);
- zoomExtents = wMenuPushCreate( panPopupM, "", _("Zoom to extents - 'e'"), 0, (wMenuCallBack_p)PanMenuEnter, (void*) 'e');
- zoomLvl1 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:1 - '1'"), 0, (wMenuCallBack_p)PanMenuEnter, (void*) '1');
- zoomLvl2 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:2 - '2'"), 0, (wMenuCallBack_p)PanMenuEnter, (void*) '2');
- zoomLvl3 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:3 - '3'"), 0, (wMenuCallBack_p)PanMenuEnter, (void*) '3');
- zoomLvl4 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:4 - '4'"), 0, (wMenuCallBack_p)PanMenuEnter, (void*) '4');
- zoomLvl5 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:5 - '5'"), 0, (wMenuCallBack_p)PanMenuEnter, (void*) '5');
- zoomLvl6 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:6 - '6'"), 0, (wMenuCallBack_p)PanMenuEnter, (void*) '6');
- zoomLvl7 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:7 - '7'"), 0, (wMenuCallBack_p)PanMenuEnter, (void*) '7');
- zoomLvl8 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:8 - '8'"), 0, (wMenuCallBack_p)PanMenuEnter, (void*) '8');
- zoomLvl9 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:9 - '9'"), 0, (wMenuCallBack_p)PanMenuEnter, (void*) '9');
- panOrig = wMenuPushCreate( panPopupM, "", _("Pan to Origin - 'o'/'0'"), 0, (wMenuCallBack_p)PanMenuEnter, (void*) 'o');
+ zoomExtents = wMenuPushCreate( panPopupM, "", _("Zoom to extents - 'e'"), 0, PanMenuEnter, I2VP( 'e'));
+ zoomLvl1 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:1 - '1'"), 0, PanMenuEnter, I2VP( '1'));
+ zoomLvl2 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:2 - '2'"), 0, PanMenuEnter, I2VP( '2'));
+ zoomLvl3 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:3 - '3'"), 0, PanMenuEnter, I2VP( '3'));
+ zoomLvl4 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:4 - '4'"), 0, PanMenuEnter, I2VP( '4'));
+ zoomLvl5 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:5 - '5'"), 0, PanMenuEnter, I2VP( '5'));
+ zoomLvl6 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:6 - '6'"), 0, PanMenuEnter, I2VP( '6'));
+ zoomLvl7 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:7 - '7'"), 0, PanMenuEnter, I2VP( '7'));
+ zoomLvl8 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:8 - '8'"), 0, PanMenuEnter, I2VP( '8'));
+ zoomLvl9 = wMenuPushCreate( panPopupM, "", _("Zoom to 1:9 - '9'"), 0, PanMenuEnter, I2VP( '9'));
+ panOrig = wMenuPushCreate( panPopupM, "", _("Pan to Origin - 'o'/'0'"), 0, PanMenuEnter, I2VP( 'o'));
wMenu_p zoomPanM = wMenuMenuCreate(panPopupM, "", _("&Zoom"));
InitCmdZoom(NULL, NULL, NULL, zoomPanM);
- panHere = wMenuPushCreate( panPopupM, "", _("Pan center here - 'c'"), 0, (wMenuCallBack_p)PanHere, (void*) 3);
+ panHere = wMenuPushCreate( panPopupM, "", _("Pan center here - 'c'"), 0, PanHere, I2VP( 3));
}
diff --git a/app/bin/draw.h b/app/bin/draw.h
index dc01695..4942b8d 100644
--- a/app/bin/draw.h
+++ b/app/bin/draw.h
@@ -24,7 +24,6 @@
#define DRAW_H
#include "common.h"
-#include "wlib.h"
// drawCmd_t.options
//
@@ -41,8 +40,13 @@
#define DC_CENTERLINE (1<<4)
// TICKS: draw rulers on edges
#define DC_TICKS (1<<5)
+// TEMP: temp mode draws
+#define DC_TEMP (1<<6)
+// OUTLINE: use outline font
+#define DC_OUTLINE (1<<7)
+
// Line styles
-#define DC_THICK (1<<7)
+#define DC_THICK (1<<9)
#define DC_DASH (1<<12)
#define DC_DOT (1<<13)
#define DC_DASHDOT (1<<14)
@@ -54,27 +58,28 @@
#define INIT_MAIN_SCALE (8.0)
#define INIT_MAP_SCALE (64.0)
-#define MAX_MAIN_SCALE (256.0)
+#define MAX_MAIN_SCALE (1024.0)
#define MIN_MAIN_SCALE (1.0)
#define MIN_MAIN_MACRO (0.10)
+typedef enum { DRAW_OPEN, DRAW_CLOSED, DRAW_FILL, DRAW_TRANSPARENT } drawFill_e;
+
typedef struct drawCmd_t * drawCmd_p;
typedef struct {
- long options;
void (*drawLine)(drawCmd_p, coOrd, coOrd, wDrawWidth, wDrawColor);
void (*drawArc)(drawCmd_p, coOrd, DIST_T, ANGLE_T, ANGLE_T, BOOL_T, wDrawWidth,
wDrawColor);
void (*drawString)(drawCmd_p, coOrd, ANGLE_T, char *, wFont_p, FONTSIZE_T,
wDrawColor);
void (*drawBitMap)(drawCmd_p, coOrd, wDrawBitMap_p, wDrawColor);
- void (*drawPoly)(drawCmd_p, int, coOrd *, int *, wDrawColor, wDrawWidth, int,
- int);
+ void (*drawPoly)(drawCmd_p, int, coOrd *, int *, wDrawColor, wDrawWidth, drawFill_e);
void (*drawFillCircle)(drawCmd_p, coOrd, DIST_T, wDrawColor);
+ void (*drawRectangle)(drawCmd_p, coOrd, coOrd, wDrawColor, drawFill_e);
} drawFuncs_t;
-typedef void (*drawConvertPix2CoOrd)(drawCmd_p, wPos_t, wPos_t, coOrd *);
-typedef void (*drawConvertCoOrd2Pix)(drawCmd_p, coOrd, wPos_t *, wPos_t *);
+typedef void (*drawConvertPix2CoOrd)(drawCmd_p, wDrawPix_t, wDrawPix_t, coOrd *);
+typedef void (*drawConvertCoOrd2Pix)(drawCmd_p, coOrd, wDrawPix_t *, wDrawPix_t *);
typedef struct drawCmd_t {
wDraw_p d;
drawFuncs_t * funcs;
@@ -101,8 +106,8 @@ typedef struct drawCmd_t {
#define RBORDER (9)
#define TBORDER (8)
-void Pix2CoOrd(drawCmd_p, wPos_t, wPos_t, coOrd *);
-void CoOrd2Pix(drawCmd_p, coOrd, wPos_t *, wPos_t *);
+void Pix2CoOrd(drawCmd_p, wDrawPix_t, wDrawPix_t, coOrd *);
+void CoOrd2Pix(drawCmd_p, coOrd, wDrawPix_t *, wDrawPix_t *);
extern BOOL_T inError;
extern DIST_T pixelBins;
@@ -115,7 +120,7 @@ extern drawCmd_t mapD;
extern drawCmd_t tempD;
#define RoomSize (mapD.size)
extern coOrd oldMarker;
-extern wPos_t closePixels;
+extern wDrawPix_t closePixels;
#define dragDistance (dragPixels*mainD.scale / mainD.dpi)
extern long dragPixels;
extern long dragTimeout;
@@ -190,8 +195,9 @@ extern drawFuncs_t printDrawFuncs;
#define DrawArc( D, P, R, A0, A1, F, W, C ) (D)->funcs->drawArc( D, P, R, A0, A1, F, W, C )
#define DrawString( D, P, A, S, FP, FS, C ) (D)->funcs->drawString( D, P, A, S, FP, FS, C )
#define DrawBitMap( D, P, B, C ) (D)->funcs->drawBitMap( D, P, B, C )
-#define DrawPoly( D, N, P, T, C, W, F, O ) (D)->funcs->drawPoly( D, N, P, T, C, W, F, O );
+#define DrawPoly( D, N, P, T, C, W, O ) (D)->funcs->drawPoly( D, N, P, T, C, W, O );
#define DrawFillCircle( D, P, R, C ) (D)->funcs->drawFillCircle( D, P, R, C );
+#define DrawRectangle( D, P, S, C, O ) (D)->funcs->drawRectangle( D, P, S, C, O )
#define REORIGIN( Q, P, A, O ) { \
(Q) = (P); \
@@ -219,6 +225,8 @@ void DrawHilightPolygon(drawCmd_p, coOrd *, int);
#define BOX_INVERT (3)
#define BOX_ARROW (4)
#define BOX_BACKGROUND (5)
+#define BOX_ARROW_BACKGROUND (6)
+#define BOX_BOX_BACKGROUND (7)
void DrawBoxedString(int, drawCmd_p, coOrd, char *, wFont_p, wFontSize_t,
wDrawColor, ANGLE_T);
void DrawMultiLineTextSize(drawCmd_p dp, char * text, wFont_p fp,
@@ -229,6 +237,9 @@ void DrawTextSize(drawCmd_p, char *, wFont_p, wFontSize_t, BOOL_T, coOrd *);
void DrawMultiString(drawCmd_p d, coOrd pos, char * text, wFont_p fp,
wFontSize_t fs, wDrawColor color, ANGLE_T a, coOrd * lo, coOrd * hi,
BOOL_T boxed);
+void TranslateBackground(drawCmd_p drawP, POS_T origX, POS_T origY,
+ wWinPix_t* posX,
+ wWinPix_t* posY, wWinPix_t* pWidth);
BOOL_T SetRoomSize(coOrd);
void GetRoomSize(coOrd *);
void DoRedraw(void);
@@ -240,12 +251,11 @@ void DrawRuler(drawCmd_p, coOrd, coOrd, DIST_T, int, int, wDrawColor);
void MainProc(wWin_p, winProcEvent, void *, void *);
void InitInfoBar(void);
void DrawInit(int);
-void DoZoomUp(void *);
-void DoZoomDown(void *);
-void DoZoomExtents( void *);
-void DoZoom(DIST_T *);
-void PanHere(void *);
-void PanMenuEnter(int);
+void DoZoomUp(void * modeVP);
+void DoZoomDown(void * modeVP);
+void DoZoomExtents( void * modeVP);
+void PanHere(void * modeVP);
+void PanMenuEnter(void * modeVP);
void InitCmdZoom(wMenu_p, wMenu_p, wMenu_p, wMenu_p);
@@ -253,7 +263,7 @@ void InfoPos(coOrd);
void InfoCount(wIndex_t);
void SetMessage(char *);
-wIndex_t panCmdInx;
+extern wIndex_t panCmdInx;
void InfoSubstituteControls(wControl_p *, char * *);
@@ -265,10 +275,10 @@ STATUS_T GridAction(wAction_t, coOrd, coOrd *, DIST_T *);
void ResetMouseState(void);
void FakeDownMouseState(void);
-void GetMousePosition(int *x, int *y);
+void GetMousePosition(wDrawPix_t *x, wDrawPix_t *y);
void RecordMouse(char *, wAction_t, POS_T, POS_T);
extern long playbackDelay;
-void MovePlaybackCursor(drawCmd_p, wPos_t, wPos_t, wBool_t, wControl_p);
+void MovePlaybackCursor(drawCmd_p, coOrd pos, wBool_t, wControl_p);
typedef void (*playbackProc)(wAction_t, coOrd);
void PlaybackMouse(playbackProc, drawCmd_p, wAction_t, coOrd, wDrawColor);
void RedrawPlaybackCursor();
diff --git a/app/bin/drawgeom.c b/app/bin/drawgeom.c
index d23031f..f249ff0 100644
--- a/app/bin/drawgeom.c
+++ b/app/bin/drawgeom.c
@@ -17,21 +17,15 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
-#include <stdarg.h>
-#include <string.h>
-
#include "ccurve.h"
#include "cbezier.h"
#include "compound.h"
#include "cundo.h"
#include "drawgeom.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
+#include "common-ui.h"
static long drawGeomCurveMode;
@@ -81,14 +75,15 @@ static void EndPoly( drawContext_t * context, int cnt, wBool_t open)
-static void DrawGeomOk( void )
+static void DrawGeomOk( BOOL_T started )
{
track_p trk;
int inx;
if (tempSegs_da.cnt <= 0)
return;
- UndoStart( _("Create Lines"), "newDraw" );
+ if (!started)
+ UndoStart( _("Create Lines"), "newDraw" );
for ( inx=0; inx<tempSegs_da.cnt; inx++ ) {
trk = MakeDrawFromSeg( zero, 0.0, &tempSegs(inx) );
DrawNewTrack( trk );
@@ -150,7 +145,7 @@ static void CreateSquareAnchor(coOrd p) {
BOOL_T FindTempNear(drawContext_t *context, coOrd *p) {
if (context->State == 2) {
- if (context->Op >= OP_CURVE1 && context->Op <= OP_CURVE4) {
+ if ((context->Op >= OP_CURVE1) && (context->Op <= OP_CURVE4)) {
if (context->ArcData.type == curveTypeCurve) {
ANGLE_T a = FindAngle(context->ArcData.curvePos,*p);
if (IsClose(FindDistance(context->ArcData.curvePos,*p)-context->ArcData.curveRadius) &&
@@ -162,7 +157,7 @@ BOOL_T FindTempNear(drawContext_t *context, coOrd *p) {
if (IsClose(LineDistance(p,tempSegs(0).u.l.pos[0],tempSegs(0).u.l.pos[1])))
return TRUE;
}
- } else if ( context->Op >=OP_LINE && context->Op <= OP_BENCH) {
+ } else if ( (context->Op >=OP_LINE) && (context->Op <= OP_BENCH)) {
if (IsClose(LineDistance(p,tempSegs(0).u.l.pos[0],tempSegs(0).u.l.pos[1])))
return TRUE;
}
@@ -190,8 +185,8 @@ STATUS_T DrawGeomMouse(
drawContext_t *context)
{
static int lastValid = FALSE;
- static wBool_t lock;
- static coOrd pos0, pos0x, pos1, lastPos;
+ static BOOL_T locked;
+ static coOrd pos0, pos0x, pos1, lastPos, movePos;
trkSeg_p segPtr;
pts_t *pts;
int inx;
@@ -275,6 +270,7 @@ STATUS_T DrawGeomMouse(
default:
break;
}
+ context->Changed = TRUE; //Update made
MainRedraw();
anchors_da.cnt = 0;
return C_CONTINUE;
@@ -286,41 +282,67 @@ STATUS_T DrawGeomMouse(
CleanSegs(&tempSegs_da);
DYNARR_RESET( trkSeg_t, tempSegs_da );
DYNARR_RESET( trkSeg_t, anchors_da );
- lock = FALSE;
+ locked = FALSE;
if (!magneticSnap)
- InfoMessage(_("+Shift to lock to nearby objects"));
+ InfoMessage(_("+Alt for Magnetic Snap"));
else
- InfoMessage(_("+Shift to not lock to nearby objects"));
+ InfoMessage(_("+Alt to inhibit Magnetic Snap"));
+ wSetCursor(mainD.d,defaultCursor);
+ movePos = zero;
+ context->UndoStarted = FALSE;
return C_CONTINUE;
case wActionMove:
- if (context->State == 0 || context->State ==2 ) {
+ locked = FALSE;
+ wSetCursor(mainD.d,defaultCursor);
+ if ((context->State == 0 &&
+ context->Op != OP_FILLCIRCLE2 && context->Op != OP_CIRCLE2) ||
+ context->State ==2 ||
+ (context->State == 1 &&
+ (context->Op == OP_POLY || context->Op == OP_FILLPOLY || context->Op == OP_POLYLINE))) {
DYNARR_RESET( trkSeg_t, anchors_da );
- switch (context->Op) { //Snap pos to nearest line if this is end and just shift is depressed for lines and some curves
+ wSetCursor(mainD.d,defaultCursor);
+ switch (context->Op) { //Snap pos to nearest line for lines and some curves
case OP_CURVE1:
case OP_CURVE2:
case OP_CURVE3:
case OP_CURVE4:
+ case OP_CIRCLE2:
+ case OP_CIRCLE3:
+ case OP_FILLCIRCLE2:
+ case OP_FILLCIRCLE3:
case OP_LINE:
case OP_DIMLINE:
case OP_BENCH:
+ case OP_TBLEDGE:
+ case OP_BOX:
+ case OP_FILLBOX:
case OP_POLY:
case OP_FILLPOLY:
- case OP_POLYLINE:
- if (((MyGetKeyState() & WKEY_ALT) == 0) == magneticSnap ) {
+ case OP_POLYLINE:;
+ if (((MyGetKeyState() & WKEY_ALT)==0) == magneticSnap ) {
coOrd p = pos;
track_p t;
- if ((t=OnTrack(&p,FALSE,FALSE))!=NULL) {
+ if (((t=OnTrack(&p,FALSE,FALSE))!=NULL) && (IsClose(FindDistance(p,pos))) ) {
if (context->Op == OP_DIMLINE ) {
CreateEndAnchor(p,FALSE);
- } else if (!IsTrack(t)) CreateEndAnchor(p,FALSE);
- } else {
- p = pos;
- if (FindTempNear(context,&p)) {
+ wSetCursor(mainD.d,wCursorNone);
+ movePos = p;
+ locked = TRUE;
+ } else if (!IsTrack(t)) {
CreateEndAnchor(p,FALSE);
+ wSetCursor(mainD.d,wCursorNone);
+ movePos = p;
+ locked = TRUE;
}
}
}
+ if (!locked && SnapPos(&pos)) {
+ CreateEndAnchor(pos,FALSE);
+ wSetCursor(mainD.d,wCursorNone);
+ movePos = pos;
+ locked = TRUE;
+ }
break;
default:
;
@@ -328,18 +350,22 @@ STATUS_T DrawGeomMouse(
}
return C_CONTINUE;
+ case wActionRDown:
case wActionLDown:
DYNARR_RESET( trkSeg_t, anchors_da );
+ wSetCursor(mainD.d,defaultCursor);
if (context->State == 2) {
tempSegs_da.cnt = segCnt;
if ((context->Op == OP_POLY || context->Op == OP_FILLPOLY || context->Op == OP_POLYLINE)) {
EndPoly(context, segCnt, context->Op==OP_POLYLINE);
} else {
- DrawGeomOk();
+ DrawGeomOk(TRUE);
}
+ context->UndoStarted = FALSE;
segCnt = 0;
anchors_da.cnt = 0;
context->State = 0;
+ TryCheckPoint();
}
context->Started = TRUE;
line_angle = 90.0;
@@ -347,22 +373,15 @@ STATUS_T DrawGeomMouse(
(context->Op == OP_CURVE2 && context->State == 0) ||
(context->Op == OP_CURVE3 && context->State != 0) ||
(context->Op == OP_CURVE4 && context->State != 2) ||
+ (context->Op == OP_CIRCLE2 && context->State != 0) ||
+ (context->Op == OP_CIRCLE3 && context->State == 0) ||
+ (context->Op == OP_FILLCIRCLE2 && context->State != 0) ||
+ (context->Op == OP_FILLCIRCLE3 && context->State == 0) ||
(context->Op == OP_LINE) || (context->Op == OP_DIMLINE) ||
- (context->Op == OP_BENCH) ) {
- BOOL_T found = FALSE;
- if (((MyGetKeyState() & WKEY_ALT) ==0) == magneticSnap ) {
- coOrd p = pos;
- track_p t;
- if ((t=OnTrack(&p,FALSE,FALSE))!=NULL) {
- if (!IsTrack(t)) {
- EPINX_T ep1,ep2;
- line_angle = GetAngleAtPoint(t,pos,&ep1,&ep2);
- pos = p;
- found = TRUE;
- }
- }
- }
- if (!found) SnapPos( &pos );
+ (context->Op == OP_BENCH) || (context->Op == OP_TBLEDGE) ||
+ (context->Op == OP_BOX) || (context->Op == OP_FILLBOX) ||
+ (context->Op == OP_POLY) || (context->Op == OP_POLYLINE) || (context->Op == OP_FILLPOLY) ) {
+ if (locked) pos = movePos;
}
if ((context->Op == OP_CURVE1 || context->Op == OP_CURVE2 || context->Op == OP_CURVE3 || context->Op == OP_CURVE4) && context->State == 1) {
;
@@ -390,7 +409,7 @@ STATUS_T DrawGeomMouse(
tempSegs(0).u.l.option = 0;
}
tempSegs_da.cnt = 0;
- context->message( _("Drag to next point, +Shift to lock to object, +Ctrl to lock to 90deg") );
+ context->message( _("Drag next point, +Alt reverse Magnetic Snap or +Ctrl lock to 90 deg") );
break;
case OP_TBLEDGE:
OnTableEdgeEndPt( NULL, &pos );
@@ -399,8 +418,9 @@ STATUS_T DrawGeomMouse(
tempSegs(0).color = context->Color;
tempSegs(0).width = (mainD.scale<=16)?(3/context->D->dpi*context->D->scale):0;
tempSegs(0).u.l.pos[0] = tempSegs(0).u.l.pos[1] = pos;
+ tempSegs(0).u.l.option = 0;
tempSegs_da.cnt = 0;
- context->message( _("Drag to place next end point") );
+ context->message( _("Drag next point, +Alt reverse Magnetic Snap, or +Ctrl to lock to 90 degrees") );
break;
case OP_CURVE1: case OP_CURVE2: case OP_CURVE3: case OP_CURVE4:
if (context->State == 0) {
@@ -432,6 +452,7 @@ STATUS_T DrawGeomMouse(
tempSegs(0).u.c.radius = 0;
tempSegs(0).u.c.center = pos;
context->message( _("Drag to set radius") );
+ context->State = 1;
break;
case OP_FILLBOX:
width = 0;
@@ -485,36 +506,59 @@ STATUS_T DrawGeomMouse(
segPtr->u.l.pos[1] = pos;
context->State = 1;
segCnt = tempSegs_da.cnt;
- context->message(_("+Shift - lock to close object, +Ctrl - lock to 90 deg"));
+ context->message(_("+Alt - reverse Magnetic Snap or +Ctrl - lock to 90 deg"));
break;
}
return C_CONTINUE;
+ case wActionRDrag:
case wActionLDrag:
DYNARR_RESET(trkSeg_t, anchors_da );
+ coOrd p = pos1 = pos;
+ BOOL_T locked = FALSE, poslocked = FALSE;
if ((context->Op == OP_CURVE1 && context->State == 1) ||
(context->Op == OP_CURVE2 && context->State == 0) ||
- (context->Op == OP_CURVE4 && context->State != 2) ||
- (context->Op == OP_LINE) ||
- (context->Op == OP_BENCH) ) {
- if (( (MyGetKeyState() & WKEY_ALT)==0) == magneticSnap) {
- if (OnTrack( &pos, FALSE, FALSE )!=NULL)
- CreateEndAnchor(pos,TRUE);
- }
- } else if (context->Op == OP_DIMLINE) {
- if (OnTrack( &pos, FALSE, FALSE )!=NULL) CreateEndAnchor(pos,TRUE);
- }
+ (context->Op == OP_CURVE4 && context->State != 1) ||
+ (context->Op == OP_CIRCLE2 && context->State != 0) ||
+ (context->Op == OP_CIRCLE3 && context->State == 0) ||
+ (context->Op == OP_FILLCIRCLE2 && context->State != 0) ||
+ (context->Op == OP_FILLCIRCLE3 && context->State == 0) ||
+ (context->Op == OP_BOX ) ||
+ (context->Op == OP_FILLBOX ) ||
+ (context->Op == OP_DIMLINE ) || (context->Op == OP_TBLEDGE) ||
+ (context->Op == OP_LINE ) || (context->Op == OP_BENCH) ||
+ (context->Op == OP_POLY) || (context->Op == OP_POLYLINE) || (context->Op == OP_FILLPOLY) ) {
+ if ( ( (MyGetKeyState() & WKEY_ALT)==0) == magneticSnap) {
+ p = pos;
+ if ((OnTrack( &p, FALSE, FALSE )!=NULL) && (IsClose(FindDistance(p,pos)))) {
+ poslocked = TRUE;
+ pos1 = p;
- pos1 = pos;
+ }
+ }
+ if (!poslocked) { //Set up poslock and pos1 for later
+ p = pos;
+ if (SnapPos(&p)) {
+ poslocked = TRUE;
+ pos1 = p;
+ }
+ }
+ }
switch (context->Op) {
case OP_TBLEDGE:
- OnTableEdgeEndPt( NULL, &pos1 );
+ if ((MyGetKeyState() & WKEY_CTRL) == WKEY_CTRL) { //If +Ctrl, snap to table edge end
+ p = pos;
+ if (OnTableEdgeEndPt( NULL, &p )) {
+ locked = TRUE;
+ pos1 = p;
+ }
+ }
/* no break */
case OP_LINE:
case OP_DIMLINE:
case OP_BENCH:
- if ((MyGetKeyState() & (WKEY_SHIFT|WKEY_CTRL|WKEY_ALT)) == WKEY_CTRL ) {
+ if (!locked && ((MyGetKeyState() & WKEY_CTRL) == WKEY_CTRL )) { //If not found already +Ctl = Right Angle
//Snap to Right-Angle from previous or from 0
DIST_T l = FindDistance(pos0, pos);
ANGLE_T angle2 = NormalizeAngle(FindAngle(pos0, pos)-line_angle);
@@ -537,12 +581,12 @@ STATUS_T DrawGeomMouse(
FormatDistance(FindDistance( pos0, pos1 )),
PutAngle(FindAngle( pos0, pos1 )) );
tempSegs_da.cnt = 1;
- if (anchors_da.cnt == 0) CreateEndAnchor(pos, FALSE);
+ if (anchors_da.cnt == 0) CreateEndAnchor(pos1, FALSE);
break;
case OP_POLY:
case OP_FILLPOLY:
case OP_POLYLINE:
- if ((MyGetKeyState() & (WKEY_SHIFT|WKEY_CTRL|WKEY_ALT)) == WKEY_CTRL ) {
+ if ((MyGetKeyState() & WKEY_CTRL) == WKEY_CTRL ) {
coOrd last_point = zero;
ANGLE_T last_angle, initial_angle;
if (tempSegs_da.cnt == 1) {
@@ -571,22 +615,23 @@ STATUS_T DrawGeomMouse(
}
CreateEndAnchor(pos,TRUE);
if (FindDistance(pos,last_point)>0.0) CreateLineAnchor(pos,last_point);
- }
- //If there is any point on this line that will give a 90 degree return to the first point, show it
- if (tempSegs_da.cnt > 1) {
- coOrd intersect;
- ANGLE_T an_this = FindAngle(tempSegs(tempSegs_da.cnt-2).u.l.pos[1],pos);
- if (FindIntersection(&intersect,tempSegs(0).u.l.pos[0],an_this+90.0,tempSegs(tempSegs_da.cnt-2).u.l.pos[1],an_this)) {
- ANGLE_T an_inter = FindAngle(tempSegs(tempSegs_da.cnt-2).u.l.pos[1],intersect);
- if (fabs(DifferenceBetweenAngles(an_inter,an_this))<90.0) {
- CreateSquareAnchor(intersect);
- d = FindDistance(intersect,pos);
- if (IsClose(d)) {
- pos = intersect;
+ //If there is any point on this line that will give a 90 degree return to the first point, show it
+ if (tempSegs_da.cnt > 1) {
+ coOrd intersect;
+ ANGLE_T an_this = FindAngle(tempSegs(tempSegs_da.cnt-2).u.l.pos[1],pos);
+ if (FindIntersection(&intersect,tempSegs(0).u.l.pos[0],an_this+90.0,tempSegs(tempSegs_da.cnt-2).u.l.pos[1],an_this)) {
+ ANGLE_T an_inter = FindAngle(tempSegs(tempSegs_da.cnt-2).u.l.pos[1],intersect);
+ if (fabs(DifferenceBetweenAngles(an_inter,an_this))<90.0) {
+ CreateSquareAnchor(intersect);
+ d = FindDistance(intersect,pos);
+ if (IsClose(d)) {
+ pos = intersect;
+ }
}
}
}
- }
+ } else if (poslocked) pos = pos1;
+
tempSegs(tempSegs_da.cnt-1).type = SEG_STRLIN;
tempSegs(tempSegs_da.cnt-1).u.l.pos[1] = pos;
context->message( _("Length = %s, Angle = %0.2f"),
@@ -596,10 +641,10 @@ STATUS_T DrawGeomMouse(
break;
case OP_CURVE1: case OP_CURVE2: case OP_CURVE3: case OP_CURVE4:
if (context->State == 0) {
- pos0x = pos;
+ pos0x = pos1;
CreateCurve( C_MOVE, pos, FALSE, context->Color, width, drawGeomCurveMode, &anchors_da, context->message );
} else {
- PlotCurve( drawGeomCurveMode, pos0, pos0x, pos1, &context->ArcData, FALSE );
+ PlotCurve( drawGeomCurveMode, pos0, pos0x, pos1, &context->ArcData, FALSE, 0.0 );
tempSegs(0).color = context->Color;
tempSegs(0).width = width;
DYNARR_SET(trkSeg_t,tempSegs_da,1);
@@ -636,7 +681,7 @@ STATUS_T DrawGeomMouse(
FormatDistance(context->ArcData.curveRadius), context->ArcData.a1,
FormatDistance(context->ArcData.curveRadius*d) );
if (context->Op == OP_CURVE1 || context->Op == OP_CURVE4 )
- DrawArrowHeadsArray(&anchors_da,pos,FindAngle(context->ArcData.curvePos,pos),TRUE,wDrawColorRed);
+ DrawArrowHeadsArray(&anchors_da,pos1,FindAngle(context->ArcData.curvePos,pos),TRUE,wDrawColorRed);
else if (context->Op == OP_CURVE2 || context->Op == OP_CURVE3 ) {
CreateEndAnchor(context->ArcData.pos2,FALSE);
DrawArrowHeadsArray(&anchors_da,context->ArcData.pos2,FindAngle(context->ArcData.curvePos,context->ArcData.pos2)+90,TRUE,wDrawColorRed);
@@ -652,9 +697,16 @@ STATUS_T DrawGeomMouse(
case OP_CIRCLE2:
case OP_FILLCIRCLE2:
tempSegs(0).u.c.center = pos1;
- /* no break */
+ if (context->State == 1 && locked) CreateEndAnchor(pos1, FALSE);
+ else wSetCursor(mainD.d,defaultCursor);
+ tempSegs(0).u.c.radius = FindDistance( pos0, pos1 );
+ context->message( _("Radius = %s"),
+ FormatDistance(FindDistance( pos0, pos1 )) );
+ break;
case OP_CIRCLE3:
case OP_FILLCIRCLE3:
+ if (context->State == 1) CreateEndAnchor(pos0, TRUE);
+ wSetCursor(mainD.d,defaultCursor);
tempSegs(0).u.c.radius = FindDistance( pos0, pos1 );
context->message( _("Radius = %s"),
FormatDistance(FindDistance( pos0, pos1 )) );
@@ -663,55 +715,51 @@ STATUS_T DrawGeomMouse(
case OP_FILLBOX:
tempSegs_da.cnt = 4;
tempSegs(0).u.l.pos[1].x = tempSegs(1).u.l.pos[0].x =
- tempSegs(1).u.l.pos[1].x = tempSegs(2).u.l.pos[0].x = pos.x;
+ tempSegs(1).u.l.pos[1].x = tempSegs(2).u.l.pos[0].x = pos1.x;
tempSegs(1).u.l.pos[1].y = tempSegs(2).u.l.pos[0].y =
- tempSegs(2).u.l.pos[1].y = tempSegs(3).u.l.pos[0].y = pos.y;
+ tempSegs(2).u.l.pos[1].y = tempSegs(3).u.l.pos[0].y = pos1.y;
+ if (locked) CreateEndAnchor(pos1,FALSE);
context->message( _("Width = %s, Height = %s"),
FormatDistance(fabs(pos1.x - pos0.x)), FormatDistance(fabs(pos1.y - pos0.y)) );
break;
}
+ wSetCursor(mainD.d,wCursorNone);
return C_CONTINUE;
case wActionLUp:
+ case wActionRUp:
lastValid = FALSE;
createTrack = FALSE;
- if ((context->Op == OP_CURVE1 && context->State == 1) ||
- (context->Op == OP_CURVE2 && context->State == 0) ||
- (context->Op == OP_CURVE3 && context->State != 0) ||
- (context->Op == OP_CURVE4 && context->State != 2) ||
- (context->Op == OP_LINE) || (context->Op == OP_DIMLINE) ||
- (context->Op == OP_BENCH) ) {
- if (((MyGetKeyState() & WKEY_ALT)==0) == magneticSnap ) {
- coOrd p = pos1;
- track_p t;
- if ((t=OnTrack(&p,FALSE,FALSE))) {
- pos1 = p;
- if (context->Op == OP_LINE || context->Op == OP_DIMLINE || context->Op == OP_BENCH) {
- tempSegs(0).u.l.pos[1] = p;
- } else {
- PlotCurve( drawGeomCurveMode, pos0, pos0x, pos1, &context->ArcData, FALSE );
- if (context->ArcData.type == curveTypeStraight) {
- DYNARR_RESET(trkSeg_t,tempSegs_da);
- DYNARR_APPEND(trkSeg_t,tempSegs_da,1);
- tempSegs(0).type = SEG_STRLIN;
- tempSegs(0).u.l.pos[0] = pos0;
- tempSegs(0).u.l.pos[1] = context->ArcData.pos1;
- tempSegs_da.cnt = 1;
- } else if (context->ArcData.type == curveTypeNone) {
- DYNARR_RESET(trkSeg_t,tempSegs_da);
- } else if (context->ArcData.type == curveTypeCurve) {
- DYNARR_RESET(trkSeg_t,tempSegs_da);
- DYNARR_APPEND(trkSeg_t,tempSegs_da,1);
- tempSegs(0).type = SEG_CRVLIN;
- tempSegs(0).u.c.center = context->ArcData.curvePos;
- tempSegs(0).u.c.radius = context->ArcData.curveRadius;
- tempSegs(0).u.c.a0 = context->ArcData.a0;
- tempSegs(0).u.c.a1 = context->ArcData.a1;
- tempSegs_da.cnt = 1;
- }
- }
-
- }
+ //Note - pos1 is last drag point
+ wSetCursor(mainD.d,defaultCursor);
+ if ((context->Op == OP_POLY) || (context->Op == OP_POLYLINE) || (context->Op == OP_FILLPOLY )
+ || (context->Op == OP_BOX) || (context->Op == OP_FILLBOX) ){ ;
+ } else if (context->Op == OP_LINE || context->Op == OP_DIMLINE ||
+ context->Op == OP_BENCH || context->Op == OP_TBLEDGE ) {
+ tempSegs(0).u.l.pos[1] = pos1;
+ } else if ((context->Op>=OP_FILLCIRCLE1 && context->Op<=OP_FILLCIRCLE3) ||
+ (context->Op>=OP_CIRCLE1 && context->Op<=OP_CIRCLE3)) {
+ ;
+ } else {
+ PlotCurve( drawGeomCurveMode, pos0, pos0x, pos1, &context->ArcData, FALSE, 0.0 );
+ if (context->ArcData.type == curveTypeStraight) {
+ DYNARR_RESET(trkSeg_t,tempSegs_da);
+ DYNARR_APPEND(trkSeg_t,tempSegs_da,1);
+ tempSegs(0).type = SEG_STRLIN;
+ tempSegs(0).u.l.pos[0] = pos0;
+ tempSegs(0).u.l.pos[1] = context->ArcData.pos1;
+ tempSegs_da.cnt = 1;
+ } else if (context->ArcData.type == curveTypeNone) {
+ DYNARR_RESET(trkSeg_t,tempSegs_da);
+ } else if (context->ArcData.type == curveTypeCurve) {
+ DYNARR_RESET(trkSeg_t,tempSegs_da);
+ DYNARR_APPEND(trkSeg_t,tempSegs_da,1);
+ tempSegs(0).type = SEG_CRVLIN;
+ tempSegs(0).u.c.center = context->ArcData.curvePos;
+ tempSegs(0).u.c.radius = context->ArcData.curveRadius;
+ tempSegs(0).u.c.a0 = context->ArcData.a0;
+ tempSegs(0).u.c.a1 = context->ArcData.a1;
+ tempSegs_da.cnt = 1;
}
}
switch ( context->Op ) {
@@ -733,6 +781,7 @@ STATUS_T DrawGeomMouse(
pos0x = pos1;
CreateCurve( C_UP, pos, FALSE, context->Color, width, drawGeomCurveMode, &anchors_da, context->message );
context->message( _("Drag on Red arrows to adjust curve") );
+ context->show = FALSE;
return C_CONTINUE;
} else {
DYNARR_SET(trkSeg_t,tempSegs_da,1);
@@ -761,8 +810,15 @@ STATUS_T DrawGeomMouse(
lastValid = TRUE;
lastPos = pos1;
context->State = 2;
+ if (context->Op == OP_CURVE1 || context->Op == OP_CURVE4 )
+ DrawArrowHeadsArray(&anchors_da,pos1,FindAngle(context->ArcData.curvePos,pos),TRUE,wDrawColorRed);
+ else if (context->Op == OP_CURVE2 || context->Op == OP_CURVE3 ) {
+ CreateEndAnchor(context->ArcData.pos2,FALSE);
+ DrawArrowHeadsArray(&anchors_da,context->ArcData.pos2,FindAngle(context->ArcData.curvePos,context->ArcData.pos2)+90,TRUE,wDrawColorRed);
+ }
+ CreateEndAnchor(context->ArcData.curvePos,TRUE);
/*drawContext = context;
- DrawGeomOp( (void*)context->Op );*/
+ DrawGeomOp( I2VP(context->Op) );*/
}
break;
case OP_CIRCLE1:
@@ -792,7 +848,7 @@ STATUS_T DrawGeomMouse(
tempSegs(0).u.p.polyType = RECTANGLE;
tempSegs_da.cnt = 1;
/*drawContext = context;
- DrawGeomOp( (void*)context->Op );*/
+ DrawGeomOp( I2VP(context->Op) );*/
context->length = FindDistance(pts[0].pt,pts[1].pt);
context->width = FindDistance(pts[3].pt,pts[0].pt);
context->State = 2;
@@ -842,13 +898,14 @@ STATUS_T DrawGeomMouse(
return C_CONTINUE;
}
context->Started = FALSE;
- context->Changed = TRUE; //Update screen shown
/*CheckOk();*/
if (context->State == 2 && IsCurCommandSticky()) {
segCnt = tempSegs_da.cnt;
+ UndoStart("Create Lines","Sticky Draw");
+ context->UndoStarted = TRUE;
return C_CONTINUE;
}
- DrawGeomOk();
+ DrawGeomOk(FALSE);
context->State = 0;
context->Changed = FALSE;
context->message("");
@@ -856,8 +913,10 @@ STATUS_T DrawGeomMouse(
case wActionText:
DYNARR_RESET(trkSeg_t, anchors_da );
- if ( ((action>>8)&0xFF) == 0x0D ||
- ((action>>8)&0xFF) == ' ' ) {
+ int key = (action>>8&0xFF);
+ if ( key == 0x0D ||
+ key == ' ' ||
+ (key == 0x09 && ((MyGetKeyState() & (WKEY_SHIFT|WKEY_CTRL|WKEY_ALT)) != WKEY_SHIFT))) { //Tab continue
if ((context->Op == OP_POLY) || (context->Op == OP_FILLPOLY) || (context->Op == OP_POLYLINE)) {
tempSegs_da.cnt = segCnt;
//If last segment wasn't just a point, add another starting on its end
@@ -872,22 +931,32 @@ STATUS_T DrawGeomMouse(
DYNARR_RESET(pts_t, points_da);
DYNARR_RESET(trkSeg_t,tempSegs_da);
} else {
- if (context->State == 2)
+ if (context->State == 2) {
tempSegs_da.cnt = segCnt;
- DrawGeomOk();
+ DrawGeomOk(context->UndoStarted);
+ context->UndoStarted = FALSE;
+
+ }
}
+ context->State = 0;
+ segCnt = 0;
+ if (key == 0x0D) return C_CONTINUE; //Esc - go to Reset
+ else return C_TERMINATE; //Space/Enter/Tab - end command
+ } else if (key == 0x09 && ((MyGetKeyState() & (WKEY_SHIFT|WKEY_CTRL|WKEY_ALT)) == WKEY_SHIFT)) { //Tab plus shift - abandon
+ context->State = 0;
+ segCnt = 0;
+ return C_TERMINATE;
}
- context->State = 0;
- segCnt = 0;
- return C_TERMINATE;
+ return C_CONTINUE;
- case C_CANCEL:
- if (context->Changed) { //If the update values were shown
- if (context->State == 2) {
- tempSegs_da.cnt = segCnt;
- DrawGeomOk();
- }
+ case C_CONFIRM:
+ if (context->State==2 && IsCurCommandSticky()) {
+ DrawGeomOk(context->UndoStarted);
}
+ context->Changed = FALSE;
+ return C_CONTINUE;
+
+ case C_CANCEL:
DYNARR_RESET(trkSeg_t, anchors_da );
tempSegs_da.cnt = 0;
context->message( "" );
@@ -949,12 +1018,14 @@ void static CreateLineAnchors(int index, coOrd p0, coOrd p1) {
anchors(1).color = wDrawColorBlue;
anchors(1).u.c.radius = d/2;
anchors(1).u.c.center = p1;
+ if (index>=0) wSetCursor(mainD.d,wCursorNone);
}
void static CreateBoxAnchors(int index, pts_t pt[4]) {
DYNARR_RESET(trkSeg_t,anchors_da);
double d = tempD.scale*0.15;
ANGLE_T a = FindAngle(pt[0].pt,pt[1].pt);
ANGLE_T diag = FindAngle(pt[0].pt,pt[2].pt);
+ if (index>=0) wSetCursor(mainD.d,wCursorNone);
for (int i=0;i<4;i++) {
DYNARR_SET(trkSeg_t,anchors_da,anchors_da.cnt+5);
DrawArrowHeads(&DYNARR_N(trkSeg_t,anchors_da,anchors_da.cnt-5),pt[i].pt,(diag>a?45.0:-45.0)+a+(90.0*(i)),TRUE,i==index?wDrawColorRed:wDrawColorBlue);
@@ -979,7 +1050,7 @@ void static CreateOriginAnchor(coOrd origin, wBool_t trans_selected) {
anchors(i).type = SEG_STRLIN;
anchors(i).u.l.pos[0] = p0;
anchors(i).u.l.pos[1] = p1;
- anchors(i).color = wDrawColorBlue;
+ anchors(i).color = trans_selected?wDrawColorAqua:wDrawColorBlue;
anchors(i).width = 0;
DYNARR_APPEND(trkSeg_t,anchors_da,1);
Translate(&p0,origin,90,d*4);
@@ -990,6 +1061,7 @@ void static CreateOriginAnchor(coOrd origin, wBool_t trans_selected) {
anchors(i).u.l.pos[1] = p1;
anchors(i).color = wDrawColorBlue;
anchors(i).width = 0;
+ if (trans_selected) wSetCursor(mainD.d,wCursorNone);
}
void static CreateCurveAnchors(int index, coOrd pm, coOrd pc, coOrd p0, coOrd p1) {
@@ -1011,6 +1083,8 @@ void static CreateCurveAnchors(int index, coOrd pm, coOrd pc, coOrd p0, coOrd p1
anchors(1).width = 0;
DYNARR_SET(trkSeg_t,anchors_da,anchors_da.cnt+5);
DrawArrowHeads(&DYNARR_N(trkSeg_t,anchors_da,anchors_da.cnt-5),pm,FindAngle(pm,pc),TRUE,index==2?wDrawColorAqua:wDrawColorBlue);
+ if (index>=0) wSetCursor(mainD.d,wCursorNone);
+ else wSetCursor(mainD.d,defaultCursor);
}
void static CreatePolyAnchors(int index) {
@@ -1065,6 +1139,7 @@ void CreateMovingAnchor(coOrd pos,BOOL_T fill) {
anchors(inx).color = wDrawColorBlue;
anchors(inx).u.c.radius = d/4;
anchors(inx).u.c.center = pos;
+ wSetCursor(mainD.d,wCursorNone);
}
/*
@@ -1142,9 +1217,10 @@ STATUS_T DrawGeomPolyModify(
return C_CONTINUE;
}
}
+ wSetCursor(mainD.d,defaultCursor);
int pInx=0;
coOrd pm0,pm1;
- DIST_T dm = 10000.0;
+ DIST_T dm = DIST_INF;
for ( int inx=0; inx<points_da.cnt; inx++ ) {
pm0 = pos;
DIST_T ddm = LineDistance( &pm0, points( inx==0?points_da.cnt-1:inx-1).pt, points(inx).pt );
@@ -1169,7 +1245,7 @@ STATUS_T DrawGeomPolyModify(
return C_CONTINUE;
break;
case C_DOWN:
- d = 10000.0;
+ d = DIST_INF;
polyInx = -1;
coOrd p0;
double dd;
@@ -1329,7 +1405,7 @@ STATUS_T DrawGeomPolyModify(
next_inx = first_inx+1;
}
//Lock to 90 degrees first/last point
- if ((MyGetKeyState() & (WKEY_SHIFT|WKEY_CTRL|WKEY_ALT)) == WKEY_SHIFT ) {
+ if ((MyGetKeyState() & (WKEY_SHIFT|WKEY_CTRL|WKEY_ALT)) == WKEY_CTRL ) {
ANGLE_T last_angle,next_angle;
coOrd last_point,next_point;
if (first_inx == 0) {
@@ -1388,7 +1464,7 @@ STATUS_T DrawGeomPolyModify(
FormatDistance(FindDistance(pos_lock,last_point)),
PutAngle(FindAngle(pos_lock,last_point)));
- }
+ } else SnapPos(&pos); //If not using CTL and snap enabled
}
context->prev_inx = first_inx;
coOrd diff;
@@ -1463,24 +1539,24 @@ STATUS_T DrawGeomPolyModify(
break;
case C_TEXT:
if (action>>8 == 'o') { //"o" -> origin mode
- MenuMode(1);
+ MenuMode(I2VP(1));
InfoMessage("Move Origin Mode: Place Origin, p for Points, Enter or Esc");
return C_CONTINUE;
}
- if (((prev_inx>=0 && tempSegs(0).u.p.polyType != POLYLINE) || (prev_inx>=1 && prev_inx<=points_da.cnt-2)) &&
+ if (((prev_inx>=0 && tempSegs(0).u.p.polyType != POLYLINE) ||
+ ((tempSegs(0).u.p.polyType == POLYLINE) && (prev_inx>=1) && (prev_inx<=points_da.cnt-2)) ) &&
((action>>8 == 's') || (action>>8 == 'v') || (action>>8 == 'r'))) {
switch(action>>8) {
case 's':
points(context->prev_inx).pt_type = wPolyLineSmooth;
- break;
+ return C_CONTINUE;
case 'v':
points(context->prev_inx).pt_type = wPolyLineStraight;
- break;
+ return C_CONTINUE;
case 'r':
points(context->prev_inx).pt_type = wPolyLineRound;
- break;
- default:
return C_CONTINUE;
+ default:;
}
}
if ((action>>8 == 'g') && (tempSegs(0).type == SEG_POLY) && (tempSegs(0).u.p.polyType == POLYLINE) ) {
@@ -1499,14 +1575,18 @@ STATUS_T DrawGeomPolyModify(
}
if ((action>>8 == 'f') && (tempSegs(0).type == SEG_POLY) && (tempSegs(0).u.p.polyType != POLYLINE )) {
tempSegs(0).type = SEG_FILPOLY;
+ tempSegs(0).u.p.polyType = FREEFORM;
context->type = SEG_FILPOLY;
+ context->subtype=FREEFORM;
context->filled = TRUE;
CreatePolyAnchors( -1);
return C_CONTINUE;
}
if ((action>>8 == 'u') && (tempSegs(0).type == SEG_FILPOLY) ) {
tempSegs(0).type = SEG_POLY;
+ tempSegs(0).u.p.polyType = FREEFORM;
context->type = SEG_POLY;
+ context->subtype=FREEFORM;
context->filled = FALSE;
CreatePolyAnchors( -1);
return C_CONTINUE;
@@ -1532,6 +1612,8 @@ STATUS_T DrawGeomPolyModify(
selected_count=0;
tempSegs(0).u.p.cnt = points_da.cnt;
context->max_inx = points_da.cnt-1;
+ } else {
+ ErrorMessage( MSG_POLY_NOTHING_SELECTED );
}
prev_inx = -1;
context->prev_inx = -1;
@@ -1541,15 +1623,35 @@ STATUS_T DrawGeomPolyModify(
InfoMessage(_("Point Deleted"));
return C_CONTINUE;
}
- if (action>>8 != 32 && action>>8 != 13) return C_CONTINUE;
+ if (action>>8 != 32 && action>>8 != 13 && action>>8 !=9) return C_CONTINUE;
+ if (action>>8 == 9 && (MyGetKeyState() & WKEY_SHIFT) != 0) return C_TERMINATE;
/* no break */
+ case C_CONFIRM:
+ case C_OK:
case C_FINISH:
//copy changes back into track
- if (polyState != POLY_SELECTED) return C_TERMINATE;
+ if (polyState != POLY_SELECTED) {
+ polyState = POLY_NONE;
+ DYNARR_RESET(trkSeg_t,anchors_da);
+ DYNARR_RESET(trkSeg_t,tempSegs_da);
+ return C_TERMINATE;
+ }
+ //If ends overlap precisely remove last segment and close if >3 points
+ DIST_T dist = FindDistance(points(0).pt,points(points_da.cnt-1).pt);
+ if (IsClose(dist*4) && points_da.cnt>3 && tempSegs(0).u.p.polyType == POLYLINE) {
+ tempSegs(0).u.p.polyType = FREEFORM;
+ context->subtype=FREEFORM;
+ context->open = FALSE;
+ points_da.cnt--;
+ select_da.cnt--;
+ selected_count=0;
+ tempSegs(0).u.p.cnt = points_da.cnt;
+ context->max_inx = points_da.cnt-1;
+ }
pts_t * oldPts = context->segPtr[segInx].u.p.pts;
void * newPts = (pts_t*)MyMalloc( points_da.cnt * sizeof (pts_t) );
context->segPtr[segInx].u.p.pts = newPts;
- context->segPtr->u.p.cnt = points_da.cnt;
+ context->segPtr[segInx].u.p.cnt = points_da.cnt;
context->orig = rotate_origin;
context->angle = rotate_angle;
for (int i=0; i<points_da.cnt; i++) {
@@ -1561,12 +1663,12 @@ STATUS_T DrawGeomPolyModify(
context->segPtr[segInx].u.p.pts[i].pt_type = points(i).pt_type;
}
MyFree(oldPts);
- oldPts = NULL;
polyState = POLY_NONE;
DYNARR_RESET(trkSeg_t,anchors_da);
+ DYNARR_RESET(trkSeg_t,points_da);
DYNARR_RESET(trkSeg_t,tempSegs_da);
- DrawNewTrack( context->trk );
- return C_TERMINATE;
+ if ((action&0xFF)==C_CONFIRM) return C_CONTINUE;
+ else return C_TERMINATE;
case C_REDRAW:
if (polyState == POLY_NONE) return C_CONTINUE;
DrawSegs( &tempD, zero, 0.0, &tempSegs(0), tempSegs_da.cnt,trackGauge, wDrawColorBlack);
@@ -1644,7 +1746,7 @@ STATUS_T DrawGeomOriginMove(
return C_CONTINUE;
break;
case wActionMove:
- CreateOriginAnchor(context->rot_center, TRUE);
+ CreateOriginAnchor(context->rot_center, FALSE);
if ((tempSegs(0).type == SEG_POLY || tempSegs(0).type == SEG_FILPOLY) && (context->prev_inx>=0)) {
CreateSelectedAnchor(points(context->prev_inx).pt);
}
@@ -1724,7 +1826,7 @@ STATUS_T DrawGeomOriginMove(
}
}
if (action>>8 == 'p') { //"p" - points mode
- MenuMode(0);
+ MenuMode(I2VP(0));
return C_CONTINUE;
}
context->rel_center = context->rot_center;
@@ -1803,6 +1905,7 @@ STATUS_T DrawGeomModify(
tempSegs(0).u.l.pos[1] = p1;
tempSegs(0).width = 0;
tempSegs_da.cnt = 1;
+ tempSegs(0).u.l.option = context->segPtr[segInx].u.l.option;
context->p0 = p0;
context->p1 = p1;
CreateLineAnchors(-1,p0,p1);
@@ -1861,6 +1964,7 @@ STATUS_T DrawGeomModify(
if (context->rotate_state) return DrawGeomOriginMove(action,pos,context);
if (polyMode) return DrawGeomPolyModify(action,pos,context);
DYNARR_RESET(trkSeg_t,anchors_da);
+ wSetCursor(mainD.d,defaultCursor);
switch( context->type) {
case SEG_TBLEDGE:
case SEG_STRLIN:
@@ -1881,19 +1985,28 @@ STATUS_T DrawGeomModify(
case SEG_CRVLIN:
case SEG_FILCRCL:
DYNARR_RESET(trkSeg_t,anchors_da);
- if (tempSegs(0).u.c.a1 < 360.0)
- CreateCurveAnchors(curveInx,context->pm,context->pc,context->p0,context->p1);
- dd = FindDistance( context->p0, pos );
- if ( IsClose(dd)) {
- CreateMovingAnchor(context->p0,TRUE);
+ if (tempSegs(0).u.c.a1 >= 360.0) {
+ if (IsClose(FindDistance(context->pc,pos)-context->radius)) {
+ coOrd p;
+ Translate(&p,context->pc,FindAngle(context->pc,pos),context->radius);
+ CreateMovingAnchor(p,TRUE);
+ DYNARR_SET(trkSeg_t,anchors_da,anchors_da.cnt+5);
+ DrawArrowHeads(&DYNARR_N(trkSeg_t,anchors_da,anchors_da.cnt-5),p,FindAngle(context->pc,pos),TRUE,wDrawColorBlue);
+ }
} else {
- dd = FindDistance( context->p1, pos );
+ CreateCurveAnchors(curveInx,context->pm,context->pc,context->p0,context->p1);
+ dd = FindDistance( context->p0, pos );
if ( IsClose(dd)) {
- CreateMovingAnchor(context->p1,TRUE);
+ CreateMovingAnchor(context->p0,TRUE);
} else {
- dd = FindDistance( context->pm, pos );
+ dd = FindDistance( context->p1, pos );
if ( IsClose(dd)) {
- CreateMovingAnchor(context->pm,TRUE);
+ CreateMovingAnchor(context->p1,TRUE);
+ } else {
+ dd = FindDistance( context->pm, pos );
+ if ( IsClose(dd)) {
+ CreateMovingAnchor(context->pm,TRUE);
+ }
}
}
}
@@ -1916,8 +2029,6 @@ STATUS_T DrawGeomModify(
tempSegs(0).color = context->segPtr[segInx].color;
switch ( context->type ) {
case SEG_TBLEDGE:
- if ( MyGetKeyState() & WKEY_CTRL )
- OnTableEdgeEndPt( NULL, &pos );
case SEG_STRLIN:
case SEG_DIMLIN:
case SEG_BENCH:
@@ -1936,7 +2047,10 @@ STATUS_T DrawGeomModify(
if (lineInx < 0 ) {
InfoMessage( _("Not close to end of line"));
} else {
- InfoMessage("End selected, drag to reposition");
+ if (context->type == SEG_TBLEDGE)
+ InfoMessage("End selected, drag to move +Ctl to lock to other edge end, +Shift lock to line");
+ else
+ InfoMessage("End selected, drag to reposition +Shift lock to line");
context->state = MOD_SELECTED_PT;
}
tempSegs(0).color = wDrawColorBlack;
@@ -2005,6 +2119,7 @@ STATUS_T DrawGeomModify(
case SEG_FILPOLY:
d = 10000;
polyInx = 0;
+ wSetCursor(mainD.d,wCursorNone);
for ( inx=0; inx<4; inx++ ) {
if (IsClose(FindDistance(pos,points(inx).pt))) {
corner_mode = TRUE;
@@ -2071,21 +2186,36 @@ STATUS_T DrawGeomModify(
UndrawNewTrack( context->trk );
return C_CONTINUE;
case C_MOVE:
- if (context->rotate_state) return DrawGeomOriginMove(action,pos,context);
+ if (context->rotate_state) return DrawGeomOriginMove(action,pos,context);
if (polyMode) return DrawGeomPolyModify(action,pos,context);
if (context->state != MOD_SELECTED_PT) return C_CONTINUE;
+ BOOL_T locked = FALSE;
switch (tempSegs(0).type) {
+ case SEG_TBLEDGE:
+ if ( (MyGetKeyState() & WKEY_CTRL) == WKEY_CTRL ) { //Special Snap to Table End Point if Ctrl
+ if (OnTableEdgeEndPt( NULL, &pos )) {
+ locked = TRUE;
+ }
+ }
+ /* No Break*/
case SEG_STRLIN:
case SEG_DIMLIN:
case SEG_BENCH:
- case SEG_TBLEDGE:
- if ( (MyGetKeyState() & WKEY_SHIFT) != 0) {
- d = FindDistance( pos, tempSegs(0).u.l.pos[1-lineInx] );
- Translate( &pos, tempSegs(0).u.l.pos[1-lineInx], segA1, d );
- } else if ((MyGetKeyState() & (WKEY_SHIFT|WKEY_CTRL|WKEY_ALT)) == WKEY_SHIFT ) {
- OnTrack( &pos, FALSE, FALSE );
- CreateEndAnchor(pos,TRUE);
+ if (!locked) {
+ if ((MyGetKeyState() & WKEY_SHIFT) != 0) { //Shift is on same line
+ d = FindDistance( pos, tempSegs(0).u.l.pos[1-lineInx] );
+ Translate( &pos, tempSegs(0).u.l.pos[1-lineInx], segA1, d );
+ locked = TRUE;
+ } else if (((MyGetKeyState() & WKEY_ALT) == 0) == magneticSnap ) { //M.S. Either on or Off
+ if (OnTrack( &pos, FALSE, FALSE )!=NULL) {
+ CreateEndAnchor(pos,TRUE);
+ locked = TRUE;
+ }
+ }
+ };
+ if (!locked) {
+ if (SnapPos(&pos)) locked = TRUE;
}
break;
default:
@@ -2096,9 +2226,6 @@ STATUS_T DrawGeomModify(
tempSegs_da.cnt = 1;
switch (tempSegs(0).type) {
case SEG_TBLEDGE:
- if ( MyGetKeyState() & WKEY_CTRL )
- OnTableEdgeEndPt( NULL, &pos );
- /* no break */
case SEG_STRLIN:
case SEG_DIMLIN:
case SEG_BENCH:
@@ -2120,6 +2247,7 @@ STATUS_T DrawGeomModify(
} else {
if (context->state != MOD_SELECTED_PT) return C_CONTINUE;
if (curveInx < 0 || curveInx > 2) return C_CONTINUE;
+ wSetCursor(mainD.d,wCursorNone);
p0 = context->p0;
p1 = context->p1;
pc = context->pc;
@@ -2227,6 +2355,7 @@ STATUS_T DrawGeomModify(
break;
case SEG_POLY:
case SEG_FILPOLY:
+ wSetCursor(mainD.d,wCursorNone);
if (!corner_mode) {
/* Constrain movement to be perpendicular */
d = FindDistance(start_pos, pos);
@@ -2267,9 +2396,7 @@ STATUS_T DrawGeomModify(
}
return C_CONTINUE;
case C_UP:
-
if (context->rotate_state) return DrawGeomOriginMove(action, pos, context);
-
if (polyMode) {
int rc;
rc = DrawGeomPolyModify(action,pos,context);
@@ -2277,7 +2404,7 @@ STATUS_T DrawGeomModify(
context->state = MOD_AFTER_PT;
return rc;
}
-
+ wSetCursor(mainD.d,defaultCursor);
if (segInx == -1)
return C_CONTINUE;
switch (tempSegs(0).type) {
@@ -2428,22 +2555,36 @@ STATUS_T DrawGeomModify(
}
}
break;
+ case wActionExtKey:
+ if ((((action>>8)&0xFF)== wAccelKey_Del) && polyMode) //Convert Del key to be BackSpace in PolyModify
+ return DrawGeomPolyModify(C_TEXT+((int)(127<<8)),pos,context);
+ break;
case C_TEXT:
if (context->rotate_state) DrawGeomOriginMove(action, pos, context);
if (polyMode) return DrawGeomPolyModify(action,pos,context);
if (action>>8 == 'o') {
- MenuMode(1);
+ MenuMode(I2VP(1));
}
if (action>>8 != 32 && action>>8 != 13) return C_CONTINUE;
/* no break */
+ case C_CONFIRM:
+ return C_CONTINUE;
+ /* no break*/
+ case C_OK:
case C_FINISH:
+ UndoStart("Modify Draw", "OK");
+ UndoModify(context->trk);
if (polyMode) {
DrawGeomPolyModify(action,pos,context);
context->segPtr[segInx].type = context->type;
context->segPtr[segInx].u.p.polyType = context->subtype;
+ if (context->segPtr[segInx].type == SEG_FILPOLY)
+ context->segPtr[segInx].u.p.polyType = FREEFORM; //Ensure Filled is closed
+ context->state = MOD_NONE;
+ DrawNewTrack( context->trk );
return C_TERMINATE;
}
//copy changes back into track
@@ -2496,8 +2637,6 @@ STATUS_T DrawGeomModify(
context->rotate_state = FALSE;
context->last_inx = -1;
DYNARR_RESET(trkSeg_t,anchors_da);
- DYNARR_RESET(trkSeg_t,tempSegs_da);
- DrawNewTrack( context->trk );
return C_TERMINATE;
case C_REDRAW:
if (polyMode) return DrawGeomPolyModify(action,pos,context);
@@ -2506,13 +2645,12 @@ STATUS_T DrawGeomModify(
DrawSegs( &tempD, zero, 0.0, &anchors(0), anchors_da.cnt, trackGauge, wDrawColorBlack );
break;
case C_CANCEL:
- case C_CONFIRM:
- case C_TERMINATE:
context->state = MOD_NONE;
context->rotate_state = FALSE;
context->rot_moved = FALSE;
+ polyMode = FALSE;
DYNARR_RESET(trkSeg_t,anchors_da);
- DYNARR_RESET(trkSeg_t,tempSegs_da);
+ DrawNewTrack( context->trk );
break;
default:
;
diff --git a/app/bin/drawgeom.h b/app/bin/drawgeom.h
index 45814d7..19a982d 100644
--- a/app/bin/drawgeom.h
+++ b/app/bin/drawgeom.h
@@ -22,11 +22,9 @@
#ifndef HAVE_DRAWGEOM_H
#define HAVE_DRAWGEOM_H
-#include "ccurve.h"
#include "common.h"
-#include "draw.h"
-#include "track.h"
-#include "wlib.h"
+#include "track.h" //- drawLineType_e PolyType_e
+#include "ccurve.h" //- curveData_t
#define OP_LINE (0)
#define OP_DIMLINE (1)
@@ -51,9 +49,9 @@
#define OP_LAST (OP_POLYLINE)
typedef struct {
- void (*message)( char *, ... );
+ void (*message)( const char *, ... );
void (*Redraw)( void );
- drawCmd_t *D;
+ drawCmd_p D;
long Op;
wDrawColor Color;
long line_Width;
@@ -69,15 +67,17 @@ typedef struct {
ANGLE_T ArcAngle;
int Started;
BOOL_T Changed;
+ BOOL_T show;
+ BOOL_T UndoStarted;
} drawContext_t;
typedef enum {MOD_NONE, MOD_STARTED, MOD_SELECTED_PT, MOD_AFTER_PT,
MOD_ORIGIN, MOD_AFTER_ORIG } ModState_e;
typedef struct {
- void (*message)( char *, ... );
+ void (*message)( const char *, ... );
void (*Redraw)( void );
- drawCmd_t *D;
+ drawCmd_p D;
double length;
ANGLE_T rel_angle;
double radius;
diff --git a/app/bin/dxfformat.c b/app/bin/dxfformat.c
index 3b79c7e..3adc1b7 100644
--- a/app/bin/dxfformat.c
+++ b/app/bin/dxfformat.c
@@ -19,12 +19,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdarg.h>
-#include <string.h>
-#include <stdio.h>
-#ifdef HAVE_MALLOC_H
-#include <malloc.h>
-#endif
#include <dynstring.h>
#include "dxfformat.h"
diff --git a/app/bin/dxfoutput.c b/app/bin/dxfoutput.c
index 214f63c..957110e 100644
--- a/app/bin/dxfoutput.c
+++ b/app/bin/dxfoutput.c
@@ -20,19 +20,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdio.h>
-#include <string.h>
-#include <time.h>
-#ifdef WINDOWS
- #include <io.h>
- #include <windows.h>
-#else
- #include <errno.h>
-#endif
-
#include <xtrkcad-config.h>
-#include <locale.h>
-#include <assert.h>
#include <dynstring.h>
@@ -40,11 +28,10 @@
#include "custom.h"
#include "dxfformat.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "paths.h"
#include "track.h"
-#include "utility.h"
+#include "draw.h"
+#include "common-ui.h"
static struct wFilSel_t * exportDXFFile_fs;
@@ -131,22 +118,21 @@ static void DxfBitMap(
{
}
-static void DxfFillPoly(
+static void DxfPoly(
drawCmd_p d,
int cnt,
coOrd * pts,
int * types,
wDrawColor color,
wDrawWidth width,
- int fill,
- int open )
+ drawFill_e eOpts )
{
int inx;
for (inx=1; inx<cnt; inx++) {
DxfLine(d, pts[inx-1], pts[inx], width, color);
}
- if (!open)
+ if (eOpts != DRAW_OPEN)
DxfLine(d, pts[cnt-1], pts[0], width, color);
}
@@ -157,14 +143,27 @@ static void DxfFillCircle(drawCmd_p d, coOrd center, DIST_T radius,
}
+static void DxfRectangle(drawCmd_p d, coOrd orig, coOrd size, wDrawColor color, drawFill_e eOpts)
+{
+ coOrd p[4];
+ // p1 p2
+ // p0 p3
+ p[0].x = p[1].x = orig.x;
+ p[2].x = p[3].x = orig.x+size.x;
+ p[0].y = p[3].y = orig.y;
+ p[1].y = p[2].y = orig.y+size.y;
+ DxfPoly( d, 4, p, NULL, color, 0, eOpts );
+}
+
+
static drawFuncs_t dxfDrawFuncs = {
- 0,
DxfLine,
DxfArc,
DxfString,
DxfBitMap,
- DxfFillPoly,
- DxfFillCircle
+ DxfPoly,
+ DxfFillCircle,
+ DxfRectangle
};
static drawCmd_t dxfD = {
@@ -177,7 +176,6 @@ static int DoExportDXFTracks(
void * data)
{
time_t clock;
- char *oldLocale;
DynString command = NaS;
FILE * dxfF;
@@ -195,7 +193,7 @@ static int DoExportDXFTracks(
return FALSE;
}
- oldLocale = SaveLocale("C");
+ SetCLocale();
wSetCursor(mainD.d, wCursorWait);
time(&clock);
@@ -210,7 +208,7 @@ static int DoExportDXFTracks(
fputs(DynStringToCStr(&command), dxfF);
fclose(dxfF);
- RestoreLocale(oldLocale);
+ SetUserLocale();
Reset();
wSetCursor(mainD.d, defaultCursor);
return TRUE;
@@ -220,7 +218,7 @@ static int DoExportDXFTracks(
* Create and show the dialog for selected the DXF export filename
*/
-void DoExportDXF(void)
+void DoExportDXF(void* unused )
{
//if (selectedTrackCount <= 0) {
// ErrorMessage(MSG_NO_SELECTED_TRK);
diff --git a/app/bin/elev.c b/app/bin/elev.c
index a9e5fee..ff987cc 100644
--- a/app/bin/elev.c
+++ b/app/bin/elev.c
@@ -19,19 +19,19 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
#include "ccurve.h"
+#include "tbezier.h"
+#include "tcornu.h"
#include "cundo.h"
-#include "messages.h"
#include "param.h"
#include "shrtpath.h"
#include "track.h"
-#include "utility.h"
-#include "string.h"
+#include "common-ui.h"
-EXPORT long oldElevationEvaluation = 0;
+/** @logcmd @showrefby fillElev=n elev.c */
static int log_fillElev = 0;
+/** @logcmd @showrefby dumpElev=n elev.c */
static int log_dumpElev = 0;
static BOOL_T log_fillElev_initted;
static int checkTrk = 0;
@@ -140,86 +140,53 @@ BOOL_T ComputeElev(
DIST_T *gradeR,
BOOL_T force )
{
- DIST_T grade;
- DIST_T elev0, elev1, dist0, dist1;
+ DIST_T grade = 0.0;
+ DIST_T elev0;
BOOL_T rc = FALSE;
-if (oldElevationEvaluation) {
- int rc0, rc1;
- if (GetTrkEndElevMode(trk,ep) == ELEV_DEF) {
- if (elevR)
- *elevR = GetTrkEndElevHeight(trk,ep);
- if (gradeR)
- *gradeR = 0.0;
- return TRUE;
- }
- rc0 = FindDefinedElev( trk, ep, 0, onpath, &elev0, &dist0 );
- rc1 = FindDefinedElev( trk, ep, 1, onpath, &elev1, &dist1 );
- if ( rc0 == FDE_DEF && rc1 == FDE_DEF ) {
- if (dist0+dist1 > 0.1)
- grade = (elev1-elev0)/(dist0+dist1);
- else
- grade = 0.0;
- elev0 += grade*dist0;
- rc = TRUE;
- } else if ( rc0 == FDE_DEF && rc1 == FDE_END ) {
- grade = 0.0;
- rc = TRUE;
- } else if ( rc1 == FDE_DEF && rc0 == FDE_END ) {
- grade = 0.0;
- elev0 = elev1;
- rc = TRUE;
- } else if ( rc0 == FDE_END && rc1 == FDE_END ) {
- grade = 0.0;
- elev0 = 0.0;
- rc = TRUE;
- } else {
- grade = 0.0;
- elev0 = 0.0;
- }
-} else {
track_p trk1;
EPINX_T ep1;
- grade = -1;
rc = TRUE;
if ( EndPtIsDefinedElev(trk,ep) ) {
elev0 = GetTrkEndElevHeight(trk,ep);
rc = FALSE;
- } else {
- if (force || (!GetTrkEndElevCachedHeight(trk,ep,&elev0,&dist0))) {
- elev0 = GetElevation( trk );
- dist0 = GetTrkLength( trk, ep, -1 );
- }
- SetTrkEndElevCachedHeight(trk,ep,elev0,dist0);
+ } else if (force || (!GetTrkEndElevCachedHeight(trk,ep,&elev0,&grade))) {
trk1 = GetTrkEndTrk( trk, ep );
if (trk1!=NULL) {
+ // Compute weighted average of the 2 track elevation
ep1 = GetEndPtConnectedToMe(trk1,trk);
- if (force || (!GetTrkEndElevCachedHeight(trk1,ep1,&elev1,&dist1))) {
+ if (force || (!GetTrkEndElevCachedHeight(trk1,ep1,&elev0,&grade))) {
+ // Not cached, need to compute
+ DIST_T elev1, dist0, dist1;
+ elev0 = GetElevation( trk );
+ dist0 = GetTrkLength( trk, ep, -1 );
elev1 = GetElevation( trk1 );
dist1 = GetTrkLength( trk1, ep1, -1 );
- }
- SetTrkEndElevCachedHeight(trk1,ep1,elev1,dist1);
- if (dist0+dist1>0.1) {
- grade = (elev1-elev0)/(dist0+dist1);
- elev0 += grade*dist0;
+ if (dist0+dist1>0.1) {
+ grade = (elev1-elev0)/(dist0+dist1);
+ elev0 += grade*dist0;
+ } else {
+ elev0 = (elev0+elev1)/2.0;
+ rc = FALSE;
+ }
+ SetTrkEndElevCachedHeight(trk,ep,elev0,grade);
+ SetTrkEndElevCachedHeight(trk1,ep1,elev0,-grade);
} else {
- elev0 = (elev0+elev1)/2.0;
- rc = FALSE;
- SetTrkEndElevCachedHeight(trk,ep,elev0,dist0);
- SetTrkEndElevCachedHeight(trk1,ep1,elev0,dist1);
+ // flip grade from connected EP
+ grade = - grade;
}
} else {
- grade = 0.0;
+ // Not connected - use track elevation
+ elev0 = GetElevation( trk );
+ SetTrkEndElevCachedHeight(trk,ep,elev0,0.0);
}
-
}
-}
-if ( elevR )
- *elevR = elev0;
-if ( gradeR )
- *gradeR = grade;
-return rc;
+ if ( elevR )
+ *elevR = elev0;
+ if ( gradeR )
+ *gradeR = grade;
+ return rc;
}
@@ -988,7 +955,7 @@ LOG( log_fillElev, 1, ( "%s: findIslandElevs [%d] (%ld)\n", elevPrefix, islandCn
*
*/
-EXPORT void RecomputeElevations( void )
+EXPORT void RecomputeElevations( void * unused )
{
long time0 = wGetTimer();
elevPrefix = "RECELV";
@@ -1011,19 +978,17 @@ LOG( log_fillElev, 1, ( "%s: Total (%ld)\n", elevPrefix, wGetTimer()-time0 ) )
printf( "%d:%0.2f\n", GetTrkElevMode(trk), elev );
else
printf( "noelev\n" );
-#ifdef LATER
- EPINX_T ep;
- int mode;
+ EPINX_T ep;
+ int mode;
for ( ep=0; ep<GetTrkEndPtCnt(trk); ep++ ) {
mode = GetTrkEndElevMode( trk, ep );
- ComputeElev( trk, ep, FALSE, &elev, NULL );
+ ComputeElev( trk, ep, FALSE, &elev, NULL, FALSE );
printf( "T%4.4d[%2.2d] = %s:%0.3f\n",
GetTrkIndex(trk), ep,
mode==ELEV_NONE?"None":mode==ELEV_DEF?"Def":mode==ELEV_COMP?"Comp":
mode==ELEV_GRADE?"Grade":mode==ELEV_IGNORE?"Ignore":mode==ELEV_STATION?"Station":"???",
elev );
}
-#endif
}
}
}
@@ -1303,7 +1268,7 @@ EXPORT void DrawTrackElev( track_cp trk, drawCmd_p d, BOOL_T drawIt )
(d->options & DC_SIMPLE) != 0 )
return;
- if ( !GetCurveMiddle( trk, &pos ) ) {
+ if ( !GetCurveMiddle( trk, &pos ) && !GetCornuMiddle(trk, &pos) && !GetBezierMiddle(trk, &pos)) {
GetBoundingBox( trk, &hi, &lo );
pos.x = (hi.x+lo.x)/2.0;
pos.y = (hi.y+lo.y)/2.0;
diff --git a/app/bin/file2uri.c b/app/bin/file2uri.c
index a9d8f4f..dd690cc 100644
--- a/app/bin/file2uri.c
+++ b/app/bin/file2uri.c
@@ -20,9 +20,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <string.h>
-#include <stdio.h>
-#include "wlib.h"
+#include "common.h"
static char *reservedChars = "?#[]@!$&'()*+,;= ";
@@ -51,7 +49,7 @@ File2URI(char *fileName, unsigned resultLen, char *resultBuffer)
}
*currentDest = '\0';
- return(strlen(resultBuffer));
+ return((unsigned)strlen(resultBuffer));
}
unsigned
@@ -79,5 +77,5 @@ URI2File(char *encodedFileName, unsigned resultLen, char *resultBuffer)
}
}
*currentDest = '\0';
- return(strlen(resultBuffer));
+ return((unsigned)strlen(resultBuffer));
}
diff --git a/app/bin/fileio.c b/app/bin/fileio.c
index cb0c8de..0a2e576 100644
--- a/app/bin/fileio.c
+++ b/app/bin/fileio.c
@@ -20,32 +20,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdlib.h>
-#include <stdio.h>
-#ifndef WINDOWS
-#include <unistd.h>
-#include <dirent.h>
-#include <errno.h>
-#endif
-#include <math.h>
-#include <ctype.h>
-#include <string.h>
-#include <time.h>
-#include <ctype.h>
-#ifdef WINDOWS
- #include <io.h>
- #define W_OK (2)
- #define access _access
- #include <windows.h>
-#endif
-#include <sys/stat.h>
-#include <stdarg.h>
-#include <locale.h>
-
-#include <stdint.h>
-
-#include <assert.h>
-
#include <cJSON.h>
#include "archive.h"
@@ -58,25 +32,22 @@
#include "draw.h"
#include "fileio.h"
#include "fcntl.h"
-#include "i18n.h"
#include "layout.h"
#include "manifest.h"
-#include "messages.h"
#include "misc.h"
#include "param.h"
#include "include/paramfile.h"
#include "paths.h"
#include "track.h"
-#include "utility.h"
#include "version.h"
#include "dynstring.h"
+#include "common-ui.h"
-#ifdef WINDOWS
+#ifdef UTFCONVERT
#include "include/utf8convert.h"
-#endif // WINDOWS
-
+#endif // UTFCONVERT
-/*#define TIME_READTRACKFILE*/
+EXPORT dynArr_t paramProc_da;
#define COPYBLOCKSIZE 1024
@@ -92,7 +63,6 @@ EXPORT wBool_t bExample = FALSE;
EXPORT wBool_t bReadOnly = FALSE;
-
#ifdef WINDOWS
#define rename( F1, F2 ) Copyfile( F1, F2 )
@@ -116,43 +86,46 @@ static int Copyfile( char * fn1, char * fn2 )
}
#endif
-/**
- * Save the old locale and set to new.
- *
- * \param newlocale IN the new locale to set
- * \return pointer to the old locale
- */
-
-char *
-SaveLocale( char *newLocale )
+//
+// Locale handling
+// SetCLocale is called before reading/writing any data files (.xtc, .xti, .xtq, .cus...)
+// SetUserLocale is called after
+// Calls can be nested: C, C, User, User
+//
+static char * sUserLocale = NULL; // current user locale
+static long lCLocale = 0; // locale state: > 0 C locale, <= 0 user locale
+static long nCLocale = 0; // total # of setlocals calls
+static int log_locale = 0; // logging
+static int log_timereadfile = 0;
+
+EXPORT void SetCLocale()
{
- char *oldLocale;
- char *saveLocale = NULL;
-
- /* get old locale setting */
- oldLocale = setlocale(LC_ALL, NULL);
-
- /* allocate memory to save */
- if (oldLocale)
- saveLocale = strdup( oldLocale );
-
- setlocale(LC_ALL, newLocale );
-
- return( saveLocale );
+ if ( sUserLocale == NULL ) {
+ sUserLocale = MyStrdup( setlocale( LC_ALL, NULL ) );
+ }
+ if ( lCLocale == 0 ) {
+ LOG( log_locale, 1, ( "Set C Locale: %ld\n", ++nCLocale ) );
+ setlocale( LC_ALL, "C" );
+ }
+ lCLocale++;
+ if ( lCLocale > 1 ) {
+ LOG( log_locale, 3, ( "SetClocale - C! %ld\n", nCLocale) );
+ } else if ( lCLocale < 1 ) {
+ LOG( log_locale, 2, ( "SetClocale - User! %ld\n", nCLocale) );
+ }
}
-/**
- * Restore a previously saved locale.
- *
- * \param locale IN return value from earlier call to SaveLocale
- */
-
-void
-RestoreLocale( char * locale )
+EXPORT void SetUserLocale()
{
- if( locale ) {
- setlocale( LC_ALL, locale );
- free( locale );
+ if ( lCLocale == 1 ) {
+ LOG( log_locale, 1, ( "Set %s Locale: %ld\n", sUserLocale, ++nCLocale ) );
+ setlocale( LC_ALL, sUserLocale );
+ }
+ lCLocale--;
+ if ( lCLocale < 0 ) {
+ LOG( log_locale, 2, ("SetUserLocale - User! %ld\n", nCLocale) );
+ } else if ( lCLocale > 0 ) {
+ LOG( log_locale, 3, ("SetUserLocale - C! %ld\n", nCLocale) );
}
}
@@ -304,10 +277,10 @@ EXPORT BOOL_T GetArgs(
char * ps;
char ** qp;
va_list ap;
- char *oldLocale = NULL;
char * sError = NULL;
- oldLocale = SaveLocale("C");
+ if ( lCLocale < 1 )
+ LOG( log_locale, 1, ( "GetArgs: not in C locale\n" ) );
cp = line;
va_start( ap, format );
@@ -453,7 +426,7 @@ EXPORT BOOL_T GetArgs(
} else {
message[0] = '\0';
}
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem(message);
#endif
*qp = (char*)ConvertFromEscapedText(message);
@@ -471,7 +444,6 @@ EXPORT BOOL_T GetArgs(
}
}
va_end( ap );
- RestoreLocale(oldLocale);
if ( sError ) {
InputError( sError, TRUE, cp );
return FALSE;
@@ -484,7 +456,7 @@ EXPORT BOOL_T GetArgs(
wBool_t IsEND( char * sEnd )
{
char * cp;
- wBool_t bAllowNakedENDs = paramVersion < 12;
+ wBool_t bAllowNakedENDs = paramVersion < VERSION_NONAKEDENDS;
for( cp = paramLine; *cp && (isspace( *cp ) || *cp == '\t'); cp++ );
if ( strncmp( cp, sEnd, strlen(sEnd) ) == 0 )
cp += strlen( sEnd );
@@ -526,11 +498,11 @@ ReadMultilineText()
string = MyStrdup(DynStringToCStr(&noteText));
string[strlen(string) - 1] = '\0';
-#ifdef WINDOWS
+#ifdef UTFCONVERT
if (wIsUTF8(string)) {
ConvertUTF8ToSystem(string);
}
-#endif // WINDOWS
+#endif // UTFCONVERT
DynStringFree(&noteText);
return(string);
@@ -585,7 +557,7 @@ EXPORT char * PutTitle( char * cp )
{
static char *title;
char * tp;
- unsigned cnt = strlen(cp) * 2 + 3; // add 3 for quotes and terminating \0
+ size_t cnt = strlen(cp) * 2 + 3; // add 3 for quotes and terminating \0
if (!title) {
title = MyMalloc(cnt);
@@ -608,14 +580,14 @@ EXPORT char * PutTitle( char * cp )
NoticeMessage( _("putTitle: title too long: %s"), _("Ok"), NULL, title );
*tp = '\0';
-#ifdef WINDOWS
+#ifdef UTFCONVERT
if(RequiresConvToUTF8(title)) {
char *out = MyMalloc(cnt);
- wSystemToUTF8(title, out, cnt);
+ wSystemToUTF8(title, out, (unsigned int)cnt);
strcpy(title, out);
MyFree(out);
}
-#endif // WINDOWS
+#endif // UTFCONVERT
return title;
}
@@ -654,11 +626,6 @@ static struct wFilSel_t * loadFile_fs = NULL;
static struct wFilSel_t * saveFile_fs = NULL;
static struct wFilSel_t * examplesFile_fs = NULL;
-static wWin_p checkPointingW;
-static paramData_t checkPointingPLs[] = {
- { PD_MESSAGE, N_("Check Pointing") } };
-static paramGroup_t checkPointingPG = { "checkpoint", 0, checkPointingPLs, sizeof checkPointingPLs/sizeof checkPointingPLs[0] };
-
static char * checkPtFileName1;
static char * checkPtFileName2;
static char * checkPtFileNameBackup;
@@ -685,22 +652,17 @@ static BOOL_T ReadTrackFile(
coOrd roomSize;
long scale;
char * cp;
- char *oldLocale = NULL;
int ret = TRUE;
- oldLocale = SaveLocale( "C" );
-
paramFile = fopen( pathName, "r" );
if (paramFile == NULL) {
- /* Reset the locale settings */
- RestoreLocale( oldLocale );
-
if ( complain )
NoticeMessage( MSG_OPEN_FAIL, _("Continue"), NULL, sProdName, pathName, strerror(errno) );
-
return FALSE;
}
+ SetCLocale();
+ checkPtFileNameBackup = NULL;
paramLineNum = 0;
paramFileName = strdup( fileName );
@@ -754,14 +716,14 @@ static BOOL_T ReadTrackFile(
if( !(ret = InputError( "unknown command", TRUE )))
break;
} else if (strncmp( paramLine, "TITLE1 ", 7 ) == 0) {
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem(paramLine + 7);
-#endif // WINDOWS
+#endif // UTFCONVERT
SetLayoutTitle(paramLine + 7);
} else if (strncmp( paramLine, "TITLE2 ", 7 ) == 0) {
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem(paramLine + 7);
-#endif // WINDOWS
+#endif // UTFCONVERT
SetLayoutSubtitle(paramLine + 7);
} else if (strncmp( paramLine, "ROOMSIZE", 8 ) == 0) {
if ( ParseRoomSize( paramLine+8, &roomSize ) ) {
@@ -812,10 +774,9 @@ static BOOL_T ReadTrackFile(
if (skipLines>0)
NoticeMessage( MSG_LAYOUT_LINES_SKIPPED, _("Ok"), NULL, paramFileName, skipLines);
- RestoreLocale( oldLocale );
-
paramFile = NULL;
+ SetUserLocale();
free(paramFileName);
paramFileName = NULL;
InfoMessage( "%d", count );
@@ -827,9 +788,6 @@ int LoadTracks(
char **fileName,
void * data)
{
-#ifdef TIME_READTRACKFILE
- long time0, time1;
-#endif
char *nameOfFile = NULL;
char *extOfFile;
@@ -837,6 +795,15 @@ int LoadTracks(
assert( fileName != NULL );
assert( cnt == 1 );
+ nameOfFile = FindFilename(fileName[0]);
+
+ // Make sure it exists and it is readable
+ if (access(fileName[0], R_OK) != 0)
+ {
+ NoticeMessage(MSG_OPEN_FAIL, _("Continue"), NULL, _("Track"), nameOfFile, _("Not Found"));
+ return FALSE;
+ }
+
if ( ! bExample )
SetCurrentPath(LAYOUTPATHKEY, fileName[0]);
bReadOnly = bExample;
@@ -846,13 +813,10 @@ int LoadTracks(
ClearTracks();
ResetLayers();
checkPtMark = changed = 0;
- LayoutBackGroundInit(TRUE); //Keep values of background -> will be overriden my archive
+ if (!data)
+ LayoutBackGroundInit(TRUE); //Keep values of background -> will be overriden by archive
UndoSuspend();
useCurrentLayer = FALSE;
-#ifdef TIME_READTRACKFILE
- time0 = wGetTimer();
-#endif
- nameOfFile = FindFilename( fileName[ 0 ] );
/*
* Support zipped filetype
@@ -952,6 +916,7 @@ int LoadTracks(
char *copyOfFileName = MyStrdup(fileName[0]);
+ unsigned long time0 = wGetTimer();
if (loadXTC && ReadTrackFile( full_path, FindFilename( fileName[0]), TRUE, TRUE, TRUE )) {
nameOfFile = NULL;
@@ -968,15 +933,11 @@ int LoadTracks(
ResolveIndex();
-#ifdef TIME_READTRACKFILE
- time1 = wGetTimer();
- printf( "time= %ld ms \n", time1-time0 );
-#endif
- RecomputeElevations();
+ LOG( log_timereadfile, 1, ( "Read time (%s) = %lu mS \n", fileName[0], wGetTimer()-time0 ) );
+ RecomputeElevations(NULL);
AttachTrains();
DoChangeNotification( CHANGE_ALL );
DoUpdateTitles();
- LoadLayerLists();
LayerSetCounts();
}
@@ -984,6 +945,8 @@ int LoadTracks(
free(full_path);
full_path = NULL;
+ UpdateLayerDlg(curLayer);
+
UndoResume();
Reset();
wSetCursor( mainD.d, defaultCursor );
@@ -994,7 +957,7 @@ int LoadTracks(
* Load the layout specified by data. Filename may contain a full
* path.
* \param index IN ignored
- * \param label IN ignored
+ * \param label IN if not NULL - during startup - set flag to not load background
* \param data IN path and filename
*/
@@ -1005,28 +968,26 @@ EXPORT void DoFileList(
{
char *pathName = (char*)data;
bExample = FALSE;
- LoadTracks( 1, &pathName, NULL );
+ if (label)
+ LoadTracks( 1, &pathName, I2VP(1));
+ else
+ LoadTracks( 1, &pathName, NULL );
}
-
static BOOL_T DoSaveTracks(
const char * fileName )
{
FILE * f;
time_t clock;
BOOL_T rc = TRUE;
- char *oldLocale = NULL;
- oldLocale = SaveLocale( "C" );
f = fopen( fileName, "w" );
if (f==NULL) {
- RestoreLocale( oldLocale );
-
NoticeMessage( MSG_OPEN_FAIL, _("Continue"), NULL, _("Track"), fileName, strerror(errno) );
-
return FALSE;
}
+ SetCLocale();
wSetCursor( mainD.d, wCursorWait );
time(&clock);
rc &= fprintf(f,"#%s Version: %s, Date: %s\n", sProdName, sVersion, ctime(&clock) )>0;
@@ -1047,10 +1008,9 @@ static BOOL_T DoSaveTracks(
fclose(f);
bReadOnly = FALSE;
- RestoreLocale( oldLocale );
-
checkPtMark = changed;
wSetCursor( mainD.d, defaultCursor );
+ SetUserLocale();
return rc;
}
@@ -1160,7 +1120,7 @@ static int SaveTracks(
CopyDependency(background,DependencyDir);
//The details are stored into the manifest - TODO use arrays for files, locations
- char *oldLocale = SaveLocale("C");
+ SetCLocale();
char* json_Manifest = CreateManifest(nameOfFile, background, "includes");
char * manifest_file;
@@ -1174,7 +1134,7 @@ static int SaveTracks(
} else {
NoticeMessage( MSG_MANIFEST_FAIL, _("Continue"), NULL, manifest_file );
}
- RestoreLocale(oldLocale);
+ SetUserLocale();
free(manifest_file);
free(json_Manifest);
@@ -1203,33 +1163,46 @@ static int SaveTracks(
return TRUE;
}
+EXPORT void SetAutoSave() {
+ if (saveFile_fs == NULL)
+ saveFile_fs = wFilSelCreate( mainW, FS_SAVE, 0, _("AutoSave Tracks As"),
+ sSourceFilePattern, SaveTracks, NULL );
+ wFilSelect( saveFile_fs, GetCurrentPath(LAYOUTPATHKEY));
+ checkPtMark = 1;
+ SetWindowTitle();
+ CleanupFiles(); //Remove old checkpoint
+ SaveState();
+
+}
-EXPORT void DoSave( doSaveCallBack_p after )
+EXPORT void DoSave( void * doAfterSaveVP )
{
- doAfterSave = after;
+ doAfterSave = doAfterSaveVP;
if ( bReadOnly || *(GetLayoutFilename()) == '\0') {
if (saveFile_fs == NULL)
saveFile_fs = wFilSelCreate( mainW, FS_SAVE, 0, _("Save Tracks"),
sSourceFilePattern, SaveTracks, NULL );
wFilSelect( saveFile_fs, GetCurrentPath(LAYOUTPATHKEY));
- changed = checkPtMark = 1;
+ checkPtMark = 1;
} else {
char *temp = GetLayoutFullPath();
SaveTracks( 1, &temp, NULL );
}
SetWindowTitle();
+ CleanupFiles(); //Remove old checkpoint
SaveState();
}
-EXPORT void DoSaveAs( doSaveCallBack_p after )
+EXPORT void DoSaveAs( void * doAfterSaveVP )
{
- doAfterSave = after;
+ doAfterSave = doAfterSaveVP;
if (saveFile_fs == NULL)
saveFile_fs = wFilSelCreate( mainW, FS_SAVE, 0, _("Save Tracks As"),
sSaveFilePattern, SaveTracks, NULL );
wFilSelect( saveFile_fs, GetCurrentPath(LAYOUTPATHKEY));
- changed = checkPtMark = 1;
+ checkPtMark = 1;
SetWindowTitle();
+ CleanupFiles(); //Remove old checkpoint
SaveState();
}
@@ -1242,6 +1215,7 @@ EXPORT void DoLoad( void )
wFilSelect( loadFile_fs, GetCurrentPath(LAYOUTPATHKEY));
paste_offset = zero;
cursor_offset = zero;
+ CleanupFiles(); //Remove old checkpoint
SaveState();
}
@@ -1251,11 +1225,12 @@ EXPORT void DoExamples( void )
if (examplesFile_fs == NULL) {
static wBool_t bExample = TRUE;
examplesFile_fs = wFilSelCreate( mainW, FS_LOAD, 0, _("Example Tracks"),
- sSourceFilePattern, LoadTracks, &bExample );
+ sSourceFilePattern, LoadTracks, NULL );
}
bExample = TRUE;
sprintf( message, "%s" FILE_SEP_CHAR "examples" FILE_SEP_CHAR, libDir );
wFilSelect( examplesFile_fs, message );
+ CleanupFiles(); //Remove old checkpoint
SaveState();
}
@@ -1273,12 +1248,8 @@ EXPORT void DoCheckPoint( void )
MakeFullpath(&checkPtFileNameBackup, workingDir, sCheckPointBF, NULL);
}
- if (checkPointingW == NULL) {
- ParamRegister( &checkPointingPG );
- checkPointingW = ParamCreateDialog( &checkPointingPG, MakeWindowTitle(_("Check Pointing")), NULL, NULL, NULL, FALSE, NULL, F_TOP|F_CENTER, NULL );
- }
rename( checkPtFileName1, checkPtFileName2 );
- //wShow( checkPointingW );
+
rc = DoSaveTracks( checkPtFileName1 );
/* could the check point file be written ok? */
@@ -1305,7 +1276,6 @@ EXPORT void DoCheckPoint( void )
rename( checkPtFileName2, checkPtFileName1 );
}
- //wHide( checkPointingW );
wShow( mainW );
}
@@ -1398,12 +1368,16 @@ EXPORT int LoadCheckpoint( BOOL_T sameName )
}
} else SetLayoutFullPath("");
- RecomputeElevations();
+ RecomputeElevations(NULL);
AttachTrains();
DoChangeNotification( CHANGE_ALL );
DoUpdateTitles();
+
} else SetLayoutFullPath("");
+ LayerSetCounts();
+ UpdateLayerDlg(curLayer);
+
Reset();
UndoResume();
@@ -1474,14 +1448,14 @@ static int ImportTracks(
EnableCommands();
wSetCursor( mainD.d, defaultCursor );
paramVersion = paramVersionOld;
- DoCommandB( (void*)(intptr_t)selectCmdInx );
+ DoCommandB( I2VP(selectCmdInx) );
SelectRecount();
return TRUE;
}
EXPORT void DoImport( void * type )
{
- importAsModule = (int)(long)type;
+ importAsModule = (int)VP2L(type);
if (importFile_fs == NULL)
importFile_fs = wFilSelCreate( mainW, FS_LOAD, 0, _("Import Tracks"),
sImportFilePattern, ImportTracks, NULL );
@@ -1506,7 +1480,6 @@ static int DoExportTracks(
{
FILE * f;
time_t clock;
- char *oldLocale = NULL;
assert( fileName != NULL );
assert( cnt == 1 );
@@ -1518,7 +1491,7 @@ static int DoExportTracks(
return FALSE;
}
- oldLocale = SaveLocale("C");
+ SetCLocale();
wSetCursor( mainD.d, wCursorWait );
time(&clock);
@@ -1529,7 +1502,7 @@ static int DoExportTracks(
fprintf(f, "%s\n", END_TRK_FILE);
fclose(f);
- RestoreLocale( oldLocale );
+ SetUserLocale();
Reset();
wSetCursor( mainD.d, defaultCursor );
@@ -1538,7 +1511,7 @@ static int DoExportTracks(
}
-EXPORT void DoExport( void )
+EXPORT void DoExport( void * unused )
{
if (selectedTrackCount <= 0) {
ErrorMessage( MSG_NO_SELECTED_TRK );
@@ -1552,42 +1525,43 @@ EXPORT void DoExport( void )
}
-EXPORT BOOL_T EditCopy( void )
+EXPORT wBool_t editStatus = TRUE;
+
+EXPORT void EditCopy( void * unused )
{
+ editStatus = FALSE;
FILE * f;
time_t clock;
- char *oldLocale = NULL;
if (selectedTrackCount <= 0) {
ErrorMessage( MSG_NO_SELECTED_TRK );
- return FALSE;
+ return;
}
f = fopen( clipBoardN, "w" );
if (f == NULL) {
NoticeMessage( MSG_OPEN_FAIL, _("Continue"), NULL, _("Clipboard"), clipBoardN, strerror(errno) );
- return FALSE;
+ return;
}
- oldLocale = SaveLocale("C");
+ SetCLocale();
time(&clock);
fprintf(f,"#%s Version: %s, Date: %s\n", sProdName, sVersion, ctime(&clock) );
fprintf(f, "VERSION %d %s\n", iParamVersion, PARAMVERSIONVERSION );
ExportTracks(f, &paste_offset);
fprintf(f, "%s\n", END_TRK_FILE );
- RestoreLocale(oldLocale);
+ SetUserLocale();
fclose(f);
- return TRUE;
+ editStatus = TRUE;
}
-EXPORT BOOL_T EditCut( void )
+EXPORT void EditCut( void * unused )
{
- if (!EditCopy())
- return FALSE;
+ EditCopy(NULL);
+ if ( !editStatus ) return;
SelectDelete();
- return TRUE;
}
@@ -1598,13 +1572,10 @@ EXPORT BOOL_T EditCut( void )
* \return TRUE if success, FALSE on error (file not found)
*/
-BOOL_T EditPastePlace( wBool_t inPlace )
+static BOOL_T EditPastePlace( wBool_t inPlace )
{
BOOL_T rc = TRUE;
- char *oldLocale = NULL;
-
- oldLocale = SaveLocale("C");
wSetCursor( mainD.d, wCursorWait );
Reset();
@@ -1631,23 +1602,21 @@ BOOL_T EditPastePlace( wBool_t inPlace )
/*DoRedraw();*/
EnableCommands();
wSetCursor( mainD.d, defaultCursor );
- DoCommandB( (void*)(intptr_t)selectCmdInx );
+ DoCommandB( I2VP(selectCmdInx) );
SelectRecount();
UpdateAllElevations();
- RestoreLocale(oldLocale);
return rc;
}
-EXPORT BOOL_T EditPaste( void) {
- return EditPastePlace(FALSE);
+EXPORT void EditPaste( void * unused ) {
+ editStatus = EditPastePlace(FALSE);
}
-
-EXPORT BOOL_T EditClone( void ) {
- BOOL_T rc = TRUE;
- if (!EditCopy()) return FALSE;
- if (!EditPastePlace(TRUE)) return FALSE;
- return rc;
+
+EXPORT void EditClone( void * unused ) {
+ EditCopy( NULL );
+ if ( !editStatus ) return;
+ editStatus = EditPastePlace(TRUE);
}
/*****************************************************************************
@@ -1667,4 +1636,6 @@ EXPORT void FileInit( void )
SetLayoutFullPath("");
MakeFullpath(&clipBoardN, workingDir, sClipboardF, NULL);
+ log_locale = LogFindIndex( "locale" );
+ log_timereadfile = LogFindIndex( "timereadfile" );
}
diff --git a/app/bin/fileio.h b/app/bin/fileio.h
index 13761bf..a037063 100644
--- a/app/bin/fileio.h
+++ b/app/bin/fileio.h
@@ -22,10 +22,7 @@
#ifndef FILEIO_H
#define FILEIO_H
-#include <stdio.h>
-
#include "common.h"
-#include "misc.h"
extern FILE * paramFile;
extern char *paramFileName;
@@ -69,6 +66,7 @@ extern wMenuList_p fileList_ml;
#define BITMAPPATHKEY "bitmap"
#define BACKGROUNDPATHKEY "images"
#define DXFPATHKEY "dxf"
+#define SVGPATHKEY "svg"
#define PARTLISTPATHKEY "parts"
#define CARSPATHKEY "cars"
#define PARAMETERPATHKEY "params"
@@ -81,7 +79,7 @@ typedef struct {
char * name;
readParam_t proc;
} paramProc_t;
-dynArr_t paramProc_da;
+extern dynArr_t paramProc_da;
#define paramProc(N) DYNARR_N( paramProc_t, paramProc_da, N )
void Stripcr( char * );
@@ -104,21 +102,18 @@ void AddParam( char *name, readParam_t proc );
FILE * OpenCustom( char * );
-#ifdef WINDOWS
-#define fopen( FN, MODE ) wFileOpen( FN, MODE )
-#endif
-
void SetWindowTitle( void );
char * PutTitle( char * cp );
void ParamFileListLoad(int paramFileCnt, dynArr_t *paramFiles);
-void DoParamFiles(void * junk);
+void DoParamFiles(void * unused);
int LoadTracks( int cnt, char **fileName, void *data );
typedef void (*doSaveCallBack_p)( void );
-void DoSave( doSaveCallBack_p );
-void DoSaveAs( doSaveCallBack_p );
+void SetAutoSave(void);
+void DoSave( void * doAfterSaveVP );
+void DoSaveAs( void * doAfterSaveVP );
void DoLoad( void );
void DoExamples( void );
void DoFileList( int, char *, void * );
@@ -126,18 +121,20 @@ void DoCheckPoint( void );
void CleanupFiles( void );
int ExistsCheckpoint( void );
int LoadCheckpoint( BOOL_T );
-void DoImport( void * );
-void DoExport( void );
-void DoExportDXF( void );
-BOOL_T EditCopy( void );
-BOOL_T EditCut( void );
-BOOL_T EditPaste( void );
-BOOL_T EditClone( void );
+void DoImport( void * typeVP );
+void DoExport( void * unused );
+void DoExportDXF( void * unused );
+void DoExportSVG(void);
+extern wBool_t editStatus; // Status of last Edit* command
+void EditCopy( void * unused );
+void EditCut( void * unused );
+void EditPaste( void * unused );
+void EditClone( void * unused );
void DoRecord( void * );
void AddPlaybackProc( char *, playbackProc_p, void * );
-EXPORT void TakeSnapshot( drawCmd_t * );
+EXPORT void TakeSnapshot( drawCmd_p );
void PlaybackMessage( char * );
void DoPlayBack( void * );
int MyGetKeyState( void );
@@ -150,10 +147,10 @@ void FileInit( void );
BOOL_T MacroInit( void );
-char *SaveLocale( char *newLocale );
-void RestoreLocale( char * locale );
+void SetCLocale();
+void SetUserLocale();
// Parameter file search
-void DoSearchParams(void * junk);
+void DoSearchParams(void * unused);
#endif
diff --git a/app/bin/filenoteui.c b/app/bin/filenoteui.c
index 5ffddd1..2470836 100644
--- a/app/bin/filenoteui.c
+++ b/app/bin/filenoteui.c
@@ -20,26 +20,15 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <string.h>
-#include <stdbool.h>
-#ifdef WINDOWS
- #include <io.h>
- #define access(path,mode) _access(path,mode)
- #define F_OK (0)
-#else
- #include <unistd.h>
-#endif
#include "custom.h"
#include "dynstring.h"
#include "file2uri.h"
-#include "i18n.h"
#include "misc.h"
#include "note.h"
#include "param.h"
#include "paths.h"
#include "include/stringxtc.h"
#include "track.h"
-#include "wlib.h"
extern BOOL_T inDescribeCmd;
@@ -48,7 +37,7 @@ extern BOOL_T inDescribeCmd;
#define DOCUMENTFILEPATTERN "All Files (*.*)|*.*"
#define DOCUMENTPATHKEY "document"
-static struct extraDataNote noteDataInUI;
+static struct extraDataNote_t noteDataInUI;
static struct wFilSel_t * documentFile_fs;
static void NoteFileOpenExternal(void * junk);
@@ -63,26 +52,26 @@ static paramData_t fileEditPLs[] = {
#define I_ORIGY (1)
/*1*/ { PD_FLOAT, &noteDataInUI.pos.y, "origy", PDO_DIM, &r_1000_1000, N_("Position Y") },
#define I_LAYER (2)
- /*2*/ { PD_DROPLIST, &noteDataInUI.layer, "layer", 0, (void*)150, "Layer", 0 },
+ /*2*/ { PD_DROPLIST, &noteDataInUI.layer, "layer", 0, I2VP(150), "Layer", 0 },
#define I_TITLE (3)
- /*3*/ { PD_STRING, NULL, "title", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)200, N_("Title"), 0, 0, TITLEMAXIMUMLENGTH-1 },
+ /*3*/ { PD_STRING, NULL, "title", PDO_NOPREF | PDO_STRINGLIMITLENGTH, I2VP(200), N_("Title"), 0, 0, TITLEMAXIMUMLENGTH-1 },
#define I_PATH (4)
- { PD_STRING, NULL, "filename", PDO_NOPSHUPD, (void*)200, N_("Document"), BO_READONLY, (void *)0L },
+ { PD_STRING, NULL, "filename", PDO_NOPSHUPD, I2VP(200), N_("Document"), BO_READONLY, I2VP(0L), PATHMAXIMUMLENGTH-1 },
#define I_BROWSE (5)
- { PD_BUTTON, (void *)NoteFileBrowse, "browse", 0L, NULL, N_("Select...") },
+ { PD_BUTTON, NoteFileBrowse, "browse", 0L, NULL, N_("Select...") },
#define I_OPEN (6)
- { PD_BUTTON, (void*)NoteFileOpenExternal, "openfile", PDO_DLGHORZ, NULL, N_("Open...") },
+ { PD_BUTTON, NoteFileOpenExternal, "openfile", PDO_DLGHORZ, NULL, N_("Open...") },
//#define I_ARCHIVE (7)
// { PD_TOGGLE, &noteFileData.inArchive, "archive", 0, toggleLabels, NULL },
};
-static paramGroup_t fileEditPG = { "fileEdit", 0, fileEditPLs, sizeof fileEditPLs / sizeof fileEditPLs[0] };
+static paramGroup_t fileEditPG = { "fileEdit", 0, fileEditPLs, COUNT( fileEditPLs ) };
static wWin_p fileEditW;
BOOL_T IsFileNote(track_p trk)
{
- struct extraDataNote * xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t * xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
return(xx->op == OP_NOTEFILE );
}
@@ -223,7 +212,7 @@ FileEditOK(void *junk)
UpdateFile(&noteDataInUI, OK_FILE, FALSE);
wHide(fileEditW);
ResetIfNotSticky();
- FileIsChanged();
+ SetFileChanged();
}
/**
@@ -235,9 +224,9 @@ FileEditOK(void *junk)
void CreateEditFileDialog(track_p trk, char * windowTitle)
{
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(trk);
if (!fileEditW) {
+ noteDataInUI.base.trkType = T_NOTE;
noteDataInUI.noteData.fileData.path = MyMalloc(PATHMAXIMUMLENGTH);
noteDataInUI.noteData.fileData.title = MyMalloc(TITLEMAXIMUMLENGTH);
fileEditPLs[I_TITLE].valueP = noteDataInUI.noteData.fileData.title;
@@ -254,6 +243,7 @@ void CreateEditFileDialog(track_p trk, char * windowTitle)
wWinSetTitle(fileEditPG.win, MakeWindowTitle(windowTitle));
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
noteDataInUI.pos = xx->pos;
noteDataInUI.layer = xx->layer;
noteDataInUI.trk = trk;
@@ -273,7 +263,7 @@ void CreateEditFileDialog(track_p trk, char * windowTitle)
void ActivateFileNote(track_p trk)
{
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
NoteFileOpen(xx->noteData.fileData.path);
}
@@ -288,7 +278,7 @@ void ActivateFileNote(track_p trk)
void DescribeFileNote(track_p trk, char * str, CSIZE_T len)
{
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
DynString statusLine;
DynStringMalloc(&statusLine, 80);
@@ -319,7 +309,7 @@ void DescribeFileNote(track_p trk, char * str, CSIZE_T len)
void NewFileNoteUI(track_p trk)
{
- struct extraDataNote * xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t * xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
char *tmpPtrText = _("Describe the file");
xx->noteData.fileData.title = MyStrdup(tmpPtrText);
diff --git a/app/bin/i18n.c b/app/bin/i18n.c
index a8ed631..e6abe70 100644
--- a/app/bin/i18n.c
+++ b/app/bin/i18n.c
@@ -20,7 +20,6 @@
*/
#include <locale.h>
-#include <stdio.h>
#include <stdlib.h>
#include "i18n.h"
@@ -43,19 +42,11 @@ void InitGettext( void )
setlocale(LC_ALL, "");
-#ifdef WINDOWS
// build the correct directory path
strcpy(directory, wGetAppLibDir());
strcat( directory, "/../locale" );
+#ifdef WINDOWS
_fullpath( directory, directory, 2048 );
-#else
- #ifdef XTRKCAD_CMAKE_BUILD
- strcpy(directory, XTRKCAD_INSTALL_PREFIX);
- strcat(directory, "/share");
- #else
- strcpy(directory, wGetAppLibDir());
- #endif
- strcat(directory, "/locale");
#endif
// initialize gettext
bindtextdomain(XTRKCAD_PACKAGE, directory);
diff --git a/app/bin/include/dirent.h b/app/bin/include/dirent.h
index fdfbe5b..2ebf703 100644
--- a/app/bin/include/dirent.h
+++ b/app/bin/include/dirent.h
@@ -1125,7 +1125,7 @@ extern "C" {
/* Pointer to string to convert */ mbstr,
/* Size of multi-byte string */ (int)len,
/* Pointer to output buffer */ wcstr,
- /* Size of output buffer */ sizeInWords - 1
+ /* Size of output buffer */ (int)sizeInWords - 1
);
/* Ensure that output buffer is zero-terminated */
@@ -1208,7 +1208,7 @@ extern "C" {
/* Pointer to unicode string */ wcstr,
/* Length of unicode string */ (int)len,
/* Pointer to output buffer */ mbstr,
- /* Size of output buffer */ sizeInBytes - 1,
+ /* Size of output buffer */ (int)sizeInBytes - 1,
/* Default character */ NULL,
/* Whether default character was used or not */ pflag
);
diff --git a/app/bin/include/levenshtein.h b/app/bin/include/levenshtein.h
new file mode 100644
index 0000000..b3e0111
--- /dev/null
+++ b/app/bin/include/levenshtein.h
@@ -0,0 +1,24 @@
+#ifndef LEVENSHTEIN_H
+#define LEVENSHTEIN_H
+
+// `levenshtein.h` - levenshtein
+// MIT licensed.
+// Copyright (c) 2015 Titus Wormer <tituswormer@gmail.com>
+
+// Returns a size_t, depicting the difference between `a` and `b`.
+// See <https://en.wikipedia.org/wiki/Levenshtein_distance> for more information.
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+size_t
+levenshtein(const char *a, const char *b);
+
+size_t
+levenshtein_n (const char *a, const size_t length, const char *b, const size_t bLength);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // LEVENSHTEIN_H
diff --git a/app/bin/include/paramfile.h b/app/bin/include/paramfile.h
index b177b15..97f635a 100644
--- a/app/bin/include/paramfile.h
+++ b/app/bin/include/paramfile.h
@@ -23,4 +23,13 @@
#define CONTENTSCOMMAND "CONTENTS"
char *GetParameterFileContent(char *file);
+
+ #define TURNOUTCOMMAND "TURNOUT"
+ #define STRUCTURECOMMAND "STRUCTURE"
+ #define CARCOMMAND "CARPART"
+ #define CARPROTOCOMMAND "CARPROTO"
+
+ char * GetParameterFileScale(char *file);
+
+
#endif // !HAVE_PARAMFILE_H
diff --git a/app/bin/include/paramfilelist.h b/app/bin/include/paramfilelist.h
index a1c081d..0ad7523 100644
--- a/app/bin/include/paramfilelist.h
+++ b/app/bin/include/paramfilelist.h
@@ -6,10 +6,12 @@
typedef struct {
char * name; /** < name of parameter file */
char * contents;
- bool deleted;
- bool valid; /** < FALSE for dropped file */
+ int deleted;
+ int deletedShadow;
+ int valid; /** < FALSE for dropped file */
bool favorite;
enum paramFileState trackState;
+ enum paramFileState structureState;
} paramFileInfo_t;
typedef paramFileInfo_t * paramFileInfo_p;
@@ -18,12 +20,15 @@
char *GetParamFileDir(void);
void SetParamFileDir(char *fullPath);
void LoadParamFileList(void);
- BOOL_T ReadDefaultParams(const char * dirName);
+ //BOOL_T ReadDefaultParams(const char * dirName);
void SaveParamFileList(void);
int GetParamFileCount();
void UpdateParamFileList(void);
void ParamFilesChange(long changes);
int LoadParamFile(int files, char ** fileName, void * data);
+// void InitializeParamDir(void);
+ void ParamFileListConfirmChange(void);
+ void ParamFileListCancelChange(void);
BOOL_T ParamFileListInit(void);
void SearchUiOk(void * junk);
diff --git a/app/bin/include/partcatalog.h b/app/bin/include/partcatalog.h
index eec9d1e..e1ea110 100644
--- a/app/bin/include/partcatalog.h
+++ b/app/bin/include/partcatalog.h
@@ -1,7 +1,7 @@
/** \file partcatalog.h
* Manage the catalog of track parameter files
*/
-/* XTrkCad - Model Railroad CAD
+/* XTrackCad - Model Railroad CAD
* Copyright (C) 2019 Martin Fischer
*
* This program is free software; you can redistribute it and/or modify
@@ -23,48 +23,83 @@
#define HAVE_TRACKCATALOG_H
#include <stdbool.h>
+#include "include/utlist.h"
#define MAXFILESPERCONTENT 10 /**< count of files with the same content header */
-#define ESTIMATED_CONTENTS_WORDS 10 /**< average count of words in CONTENTS header */
struct sCatalogEntry {
- struct sCatalogEntry *next;
+ struct sCatalogEntry *next, *prev;
unsigned files; /**< current count of files */
char *fullFileName[MAXFILESPERCONTENT]; /**< fully qualified file name */
char *contents; /**< content field of parameter file */
- struct sCatalogEntry *indirect; /**< pointer to another catalog entry */
+ char *tag; /**< data about the file */
};
-
typedef struct sCatalogEntry CatalogEntry;
+struct sCatalog {
+ CatalogEntry *head; /**< The entries */
+};
+typedef struct sCatalog Catalog;
+
+
+/**
+An index entry. This struct holds a keyword pointer and an array of pointers to
+CatalogEntry
+It is managed as a linked list
+*/
struct sIndexEntry {
- CatalogEntry *value; /**< catalog entry having the key word in contents */
+ struct sIndexEntry *next;
+ struct sIndexEntry *prev;
char *keyWord; /**< keyword */
+ dynArr_t *references; /**< references to the CatalogEntry */
};
-
typedef struct sIndexEntry IndexEntry;
-struct sTrackLibrary {
- CatalogEntry *catalog; /**< list of files cataloged */
+
+struct sParameterLib {
+ Catalog *catalog; /**< list of files cataloged */
IndexEntry *index; /**< Index for lookup */
unsigned wordCount; /**< How many words indexed */
- void * words_array; /**< The array of words */
- unsigned trackTypeCount; /**< */
+ unsigned parameterFileCount; /**< */
+ char *words;
};
+typedef struct sParameterLib
+ ParameterLib; /**< core data structure for the catalog */
-typedef struct sTrackLibrary
- TrackLibrary; /**< core data structure for the catalog */
+enum WORDSTATE {
+ SEARCHED,
+ DISCARDED,
+ NOTFOUND,
+ CLOSE,
+ STATE_COUNT
+};
+
+struct sSearchResult {
+ Catalog subCatalog;
+ unsigned totalFound;
+ unsigned words; /**< no of words in search string */
+ struct sSingleResult {
+ char *keyWord;
+ unsigned count;
+ enum WORDSTATE state;
+ } *kw;
+};
+typedef struct sSearchResult SearchResult;
-CatalogEntry *InitCatalog(void);
-TrackLibrary *InitLibrary(void);
-TrackLibrary *CreateLibrary(char *directory);
-void DeleteLibrary(TrackLibrary *tracklib);
-bool GetTrackFiles(TrackLibrary *trackLib, char *directory);
-int GetParameterFileInfo(int files, char ** fileName, void * data);
-unsigned CreateLibraryIndex(TrackLibrary *trackLib);
-unsigned SearchLibrary(TrackLibrary *library, char *searchExpression, CatalogEntry *resultEntries);
-unsigned CountCatalogEntries(CatalogEntry *listHeader);
-void EmptyCatalog(CatalogEntry *listHeader);
-unsigned SearchLibrary(TrackLibrary *library, char *searchExpression, CatalogEntry *resultEntries);
+Catalog *InitCatalog(void);
+void DestroyCatalog(Catalog *catalog);
+CatalogEntry * InsertInOrder(Catalog *catalog, const char *contents, const char *tag);
+void UpdateCatalogEntry(CatalogEntry *entry, char *path, char *contents, char *tag);
+ParameterLib *InitLibrary(void);
+ParameterLib *CreateLibrary(char *directory);
+void DestroyLibrary(ParameterLib *tracklib);
+bool CreateCatalogFromDir(ParameterLib *trackLib, char *directory);
+unsigned CreateLibraryIndex(ParameterLib *trackLib);
+unsigned SearchLibrary(ParameterLib *library, char *searchExpression, SearchResult *totalResult);
+char *SearchStatistics(SearchResult *result);
+void SearchDiscardResult(SearchResult *res);
+unsigned CountCatalogEntries(Catalog *catalog);
+void DiscardCatalog(ParameterLib *library);
+EXPORT void CatalogDiscard(Catalog *catalog);
bool FilterKeyword(char *word);
#endif // !HAVE_TRACKCATALOG_H
diff --git a/app/bin/include/svgformat.h b/app/bin/include/svgformat.h
new file mode 100644
index 0000000..7cf5c85
--- /dev/null
+++ b/app/bin/include/svgformat.h
@@ -0,0 +1,55 @@
+/** \file svgformat.h
+ * Definitions and prototypes for SVG export
+ */
+
+/* XTrkCad - Model Railroad CAD
+ * Copyright (C) 2005 Dave Bullis
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef HAVE_SVGFORMAT_H
+#define HAVE_SVGFORMAT_H
+#include <stdbool.h>
+#include <mxml.h>
+
+#define MININMUMLINEWIDTH 3.0
+
+typedef mxml_node_t SVGParent;
+typedef mxml_node_t SVGDocument;
+
+void SvgAddCSSStyle(SVGParent *svg);
+void SvgLineCommand(SVGParent *svg, double x0, double y0, double x1, double y1,
+ double w, long c, unsigned lineOpt);
+void SvgPolyLineCommand(SVGParent *svg, int cnt, double *points, int color,
+ double width, bool fill, unsigned lineStyle);
+void SvgRectCommand(SVGParent *svg, double x0, double y0, double x1, double y1,
+ int color, unsigned linestyle);
+void SvgCircleCommand(SVGParent *svg, double x, double y, double r, double w,
+ long c, bool fill, unsigned lineStyle);
+void SvgArcCommand(SVGParent *svg, double x, double y, double r, double a0,
+ double a1, bool center, double w, long c, unsigned lineStyle);
+void SvgTextCommand(SVGParent *svg, double x, double y, double size, long c,
+ char *text);
+void SvgAddTitle(SVGParent *svg, char *title);
+
+SVGDocument *SvgCreateDocument(void);
+SVGParent *SvgPrologue(SVGDocument *result, char *id, int layerCount, double x0,
+ double y0, double x1, double y1);
+
+bool SvgSaveFile(SVGDocument *svg, char *filename);
+void SvgDestroyDocument(SVGDocument *svg);
+#endif // !HAVE_SVGFORMAT_H
+
diff --git a/app/bin/include/utlist.h b/app/bin/include/utlist.h
new file mode 100644
index 0000000..5bb1ac9
--- /dev/null
+++ b/app/bin/include/utlist.h
@@ -0,0 +1,1073 @@
+/*
+Copyright (c) 2007-2018, Troy D. Hanson http://troydhanson.github.com/uthash/
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#ifndef UTLIST_H
+#define UTLIST_H
+
+#define UTLIST_VERSION 2.1.0
+
+#include <assert.h>
+
+/*
+ * This file contains macros to manipulate singly and doubly-linked lists.
+ *
+ * 1. LL_ macros: singly-linked lists.
+ * 2. DL_ macros: doubly-linked lists.
+ * 3. CDL_ macros: circular doubly-linked lists.
+ *
+ * To use singly-linked lists, your structure must have a "next" pointer.
+ * To use doubly-linked lists, your structure must "prev" and "next" pointers.
+ * Either way, the pointer to the head of the list must be initialized to NULL.
+ *
+ * ----------------.EXAMPLE -------------------------
+ * struct item {
+ * int id;
+ * struct item *prev, *next;
+ * }
+ *
+ * struct item *list = NULL:
+ *
+ * int main() {
+ * struct item *item;
+ * ... allocate and populate item ...
+ * DL_APPEND(list, item);
+ * }
+ * --------------------------------------------------
+ *
+ * For doubly-linked lists, the append and delete macros are O(1)
+ * For singly-linked lists, append and delete are O(n) but prepend is O(1)
+ * The sort macro is O(n log(n)) for all types of single/double/circular lists.
+ */
+
+/* These macros use decltype or the earlier __typeof GNU extension.
+ As decltype is only available in newer compilers (VS2010 or gcc 4.3+
+ when compiling c++ source) this code uses whatever method is needed
+ or, for VS2008 where neither is available, uses casting workarounds. */
+#if !defined(LDECLTYPE) && !defined(NO_DECLTYPE)
+#if defined(_MSC_VER) /* MS compiler */
+#if _MSC_VER >= 1600 && defined(__cplusplus) /* VS2010 or newer in C++ mode */
+#define LDECLTYPE(x) decltype(x)
+#else /* VS2008 or older (or VS2010 in C mode) */
+#define NO_DECLTYPE
+#endif
+#elif defined(__BORLANDC__) || defined(__ICCARM__) || defined(__LCC__) || defined(__WATCOMC__)
+#define NO_DECLTYPE
+#else /* GNU, Sun and other compilers */
+#define LDECLTYPE(x) __typeof(x)
+#endif
+#endif
+
+/* for VS2008 we use some workarounds to get around the lack of decltype,
+ * namely, we always reassign our tmp variable to the list head if we need
+ * to dereference its prev/next pointers, and save/restore the real head.*/
+#ifdef NO_DECLTYPE
+#define IF_NO_DECLTYPE(x) x
+#define LDECLTYPE(x) char*
+#define UTLIST_SV(elt,list) _tmp = (char*)(list); {char **_alias = (char**)&(list); *_alias = (elt); }
+#define UTLIST_NEXT(elt,list,next) ((char*)((list)->next))
+#define UTLIST_NEXTASGN(elt,list,to,next) { char **_alias = (char**)&((list)->next); *_alias=(char*)(to); }
+/* #define UTLIST_PREV(elt,list,prev) ((char*)((list)->prev)) */
+#define UTLIST_PREVASGN(elt,list,to,prev) { char **_alias = (char**)&((list)->prev); *_alias=(char*)(to); }
+#define UTLIST_RS(list) { char **_alias = (char**)&(list); *_alias=_tmp; }
+#define UTLIST_CASTASGN(a,b) { char **_alias = (char**)&(a); *_alias=(char*)(b); }
+#else
+#define IF_NO_DECLTYPE(x)
+#define UTLIST_SV(elt,list)
+#define UTLIST_NEXT(elt,list,next) ((elt)->next)
+#define UTLIST_NEXTASGN(elt,list,to,next) ((elt)->next)=(to)
+/* #define UTLIST_PREV(elt,list,prev) ((elt)->prev) */
+#define UTLIST_PREVASGN(elt,list,to,prev) ((elt)->prev)=(to)
+#define UTLIST_RS(list)
+#define UTLIST_CASTASGN(a,b) (a)=(b)
+#endif
+
+/******************************************************************************
+ * The sort macro is an adaptation of Simon Tatham's O(n log(n)) mergesort *
+ * Unwieldy variable names used here to avoid shadowing passed-in variables. *
+ *****************************************************************************/
+#define LL_SORT(list, cmp) \
+ LL_SORT2(list, cmp, next)
+
+#define LL_SORT2(list, cmp, next) \
+do { \
+ LDECLTYPE(list) _ls_p; \
+ LDECLTYPE(list) _ls_q; \
+ LDECLTYPE(list) _ls_e; \
+ LDECLTYPE(list) _ls_tail; \
+ IF_NO_DECLTYPE(LDECLTYPE(list) _tmp;) \
+ int _ls_insize, _ls_nmerges, _ls_psize, _ls_qsize, _ls_i, _ls_looping; \
+ if (list) { \
+ _ls_insize = 1; \
+ _ls_looping = 1; \
+ while (_ls_looping) { \
+ UTLIST_CASTASGN(_ls_p,list); \
+ (list) = NULL; \
+ _ls_tail = NULL; \
+ _ls_nmerges = 0; \
+ while (_ls_p) { \
+ _ls_nmerges++; \
+ _ls_q = _ls_p; \
+ _ls_psize = 0; \
+ for (_ls_i = 0; _ls_i < _ls_insize; _ls_i++) { \
+ _ls_psize++; \
+ UTLIST_SV(_ls_q,list); _ls_q = UTLIST_NEXT(_ls_q,list,next); UTLIST_RS(list); \
+ if (!_ls_q) break; \
+ } \
+ _ls_qsize = _ls_insize; \
+ while (_ls_psize > 0 || (_ls_qsize > 0 && _ls_q)) { \
+ if (_ls_psize == 0) { \
+ _ls_e = _ls_q; UTLIST_SV(_ls_q,list); _ls_q = \
+ UTLIST_NEXT(_ls_q,list,next); UTLIST_RS(list); _ls_qsize--; \
+ } else if (_ls_qsize == 0 || !_ls_q) { \
+ _ls_e = _ls_p; UTLIST_SV(_ls_p,list); _ls_p = \
+ UTLIST_NEXT(_ls_p,list,next); UTLIST_RS(list); _ls_psize--; \
+ } else if (cmp(_ls_p,_ls_q) <= 0) { \
+ _ls_e = _ls_p; UTLIST_SV(_ls_p,list); _ls_p = \
+ UTLIST_NEXT(_ls_p,list,next); UTLIST_RS(list); _ls_psize--; \
+ } else { \
+ _ls_e = _ls_q; UTLIST_SV(_ls_q,list); _ls_q = \
+ UTLIST_NEXT(_ls_q,list,next); UTLIST_RS(list); _ls_qsize--; \
+ } \
+ if (_ls_tail) { \
+ UTLIST_SV(_ls_tail,list); UTLIST_NEXTASGN(_ls_tail,list,_ls_e,next); UTLIST_RS(list); \
+ } else { \
+ UTLIST_CASTASGN(list,_ls_e); \
+ } \
+ _ls_tail = _ls_e; \
+ } \
+ _ls_p = _ls_q; \
+ } \
+ if (_ls_tail) { \
+ UTLIST_SV(_ls_tail,list); UTLIST_NEXTASGN(_ls_tail,list,NULL,next); UTLIST_RS(list); \
+ } \
+ if (_ls_nmerges <= 1) { \
+ _ls_looping=0; \
+ } \
+ _ls_insize *= 2; \
+ } \
+ } \
+} while (0)
+
+
+#define DL_SORT(list, cmp) \
+ DL_SORT2(list, cmp, prev, next)
+
+#define DL_SORT2(list, cmp, prev, next) \
+do { \
+ LDECLTYPE(list) _ls_p; \
+ LDECLTYPE(list) _ls_q; \
+ LDECLTYPE(list) _ls_e; \
+ LDECLTYPE(list) _ls_tail; \
+ IF_NO_DECLTYPE(LDECLTYPE(list) _tmp;) \
+ int _ls_insize, _ls_nmerges, _ls_psize, _ls_qsize, _ls_i, _ls_looping; \
+ if (list) { \
+ _ls_insize = 1; \
+ _ls_looping = 1; \
+ while (_ls_looping) { \
+ UTLIST_CASTASGN(_ls_p,list); \
+ (list) = NULL; \
+ _ls_tail = NULL; \
+ _ls_nmerges = 0; \
+ while (_ls_p) { \
+ _ls_nmerges++; \
+ _ls_q = _ls_p; \
+ _ls_psize = 0; \
+ for (_ls_i = 0; _ls_i < _ls_insize; _ls_i++) { \
+ _ls_psize++; \
+ UTLIST_SV(_ls_q,list); _ls_q = UTLIST_NEXT(_ls_q,list,next); UTLIST_RS(list); \
+ if (!_ls_q) break; \
+ } \
+ _ls_qsize = _ls_insize; \
+ while ((_ls_psize > 0) || ((_ls_qsize > 0) && _ls_q)) { \
+ if (_ls_psize == 0) { \
+ _ls_e = _ls_q; UTLIST_SV(_ls_q,list); _ls_q = \
+ UTLIST_NEXT(_ls_q,list,next); UTLIST_RS(list); _ls_qsize--; \
+ } else if ((_ls_qsize == 0) || (!_ls_q)) { \
+ _ls_e = _ls_p; UTLIST_SV(_ls_p,list); _ls_p = \
+ UTLIST_NEXT(_ls_p,list,next); UTLIST_RS(list); _ls_psize--; \
+ } else if (cmp(_ls_p,_ls_q) <= 0) { \
+ _ls_e = _ls_p; UTLIST_SV(_ls_p,list); _ls_p = \
+ UTLIST_NEXT(_ls_p,list,next); UTLIST_RS(list); _ls_psize--; \
+ } else { \
+ _ls_e = _ls_q; UTLIST_SV(_ls_q,list); _ls_q = \
+ UTLIST_NEXT(_ls_q,list,next); UTLIST_RS(list); _ls_qsize--; \
+ } \
+ if (_ls_tail) { \
+ UTLIST_SV(_ls_tail,list); UTLIST_NEXTASGN(_ls_tail,list,_ls_e,next); UTLIST_RS(list); \
+ } else { \
+ UTLIST_CASTASGN(list,_ls_e); \
+ } \
+ UTLIST_SV(_ls_e,list); UTLIST_PREVASGN(_ls_e,list,_ls_tail,prev); UTLIST_RS(list); \
+ _ls_tail = _ls_e; \
+ } \
+ _ls_p = _ls_q; \
+ } \
+ UTLIST_CASTASGN((list)->prev, _ls_tail); \
+ UTLIST_SV(_ls_tail,list); UTLIST_NEXTASGN(_ls_tail,list,NULL,next); UTLIST_RS(list); \
+ if (_ls_nmerges <= 1) { \
+ _ls_looping=0; \
+ } \
+ _ls_insize *= 2; \
+ } \
+ } \
+} while (0)
+
+#define CDL_SORT(list, cmp) \
+ CDL_SORT2(list, cmp, prev, next)
+
+#define CDL_SORT2(list, cmp, prev, next) \
+do { \
+ LDECLTYPE(list) _ls_p; \
+ LDECLTYPE(list) _ls_q; \
+ LDECLTYPE(list) _ls_e; \
+ LDECLTYPE(list) _ls_tail; \
+ LDECLTYPE(list) _ls_oldhead; \
+ LDECLTYPE(list) _tmp; \
+ int _ls_insize, _ls_nmerges, _ls_psize, _ls_qsize, _ls_i, _ls_looping; \
+ if (list) { \
+ _ls_insize = 1; \
+ _ls_looping = 1; \
+ while (_ls_looping) { \
+ UTLIST_CASTASGN(_ls_p,list); \
+ UTLIST_CASTASGN(_ls_oldhead,list); \
+ (list) = NULL; \
+ _ls_tail = NULL; \
+ _ls_nmerges = 0; \
+ while (_ls_p) { \
+ _ls_nmerges++; \
+ _ls_q = _ls_p; \
+ _ls_psize = 0; \
+ for (_ls_i = 0; _ls_i < _ls_insize; _ls_i++) { \
+ _ls_psize++; \
+ UTLIST_SV(_ls_q,list); \
+ if (UTLIST_NEXT(_ls_q,list,next) == _ls_oldhead) { \
+ _ls_q = NULL; \
+ } else { \
+ _ls_q = UTLIST_NEXT(_ls_q,list,next); \
+ } \
+ UTLIST_RS(list); \
+ if (!_ls_q) break; \
+ } \
+ _ls_qsize = _ls_insize; \
+ while (_ls_psize > 0 || (_ls_qsize > 0 && _ls_q)) { \
+ if (_ls_psize == 0) { \
+ _ls_e = _ls_q; UTLIST_SV(_ls_q,list); _ls_q = \
+ UTLIST_NEXT(_ls_q,list,next); UTLIST_RS(list); _ls_qsize--; \
+ if (_ls_q == _ls_oldhead) { _ls_q = NULL; } \
+ } else if (_ls_qsize == 0 || !_ls_q) { \
+ _ls_e = _ls_p; UTLIST_SV(_ls_p,list); _ls_p = \
+ UTLIST_NEXT(_ls_p,list,next); UTLIST_RS(list); _ls_psize--; \
+ if (_ls_p == _ls_oldhead) { _ls_p = NULL; } \
+ } else if (cmp(_ls_p,_ls_q) <= 0) { \
+ _ls_e = _ls_p; UTLIST_SV(_ls_p,list); _ls_p = \
+ UTLIST_NEXT(_ls_p,list,next); UTLIST_RS(list); _ls_psize--; \
+ if (_ls_p == _ls_oldhead) { _ls_p = NULL; } \
+ } else { \
+ _ls_e = _ls_q; UTLIST_SV(_ls_q,list); _ls_q = \
+ UTLIST_NEXT(_ls_q,list,next); UTLIST_RS(list); _ls_qsize--; \
+ if (_ls_q == _ls_oldhead) { _ls_q = NULL; } \
+ } \
+ if (_ls_tail) { \
+ UTLIST_SV(_ls_tail,list); UTLIST_NEXTASGN(_ls_tail,list,_ls_e,next); UTLIST_RS(list); \
+ } else { \
+ UTLIST_CASTASGN(list,_ls_e); \
+ } \
+ UTLIST_SV(_ls_e,list); UTLIST_PREVASGN(_ls_e,list,_ls_tail,prev); UTLIST_RS(list); \
+ _ls_tail = _ls_e; \
+ } \
+ _ls_p = _ls_q; \
+ } \
+ UTLIST_CASTASGN((list)->prev,_ls_tail); \
+ UTLIST_CASTASGN(_tmp,list); \
+ UTLIST_SV(_ls_tail,list); UTLIST_NEXTASGN(_ls_tail,list,_tmp,next); UTLIST_RS(list); \
+ if (_ls_nmerges <= 1) { \
+ _ls_looping=0; \
+ } \
+ _ls_insize *= 2; \
+ } \
+ } \
+} while (0)
+
+/******************************************************************************
+ * singly linked list macros (non-circular) *
+ *****************************************************************************/
+#define LL_PREPEND(head,add) \
+ LL_PREPEND2(head,add,next)
+
+#define LL_PREPEND2(head,add,next) \
+do { \
+ (add)->next = (head); \
+ (head) = (add); \
+} while (0)
+
+#define LL_CONCAT(head1,head2) \
+ LL_CONCAT2(head1,head2,next)
+
+#define LL_CONCAT2(head1,head2,next) \
+do { \
+ LDECLTYPE(head1) _tmp; \
+ if (head1) { \
+ _tmp = (head1); \
+ while (_tmp->next) { _tmp = _tmp->next; } \
+ _tmp->next=(head2); \
+ } else { \
+ (head1)=(head2); \
+ } \
+} while (0)
+
+#define LL_APPEND(head,add) \
+ LL_APPEND2(head,add,next)
+
+#define LL_APPEND2(head,add,next) \
+do { \
+ LDECLTYPE(head) _tmp; \
+ (add)->next=NULL; \
+ if (head) { \
+ _tmp = (head); \
+ while (_tmp->next) { _tmp = _tmp->next; } \
+ _tmp->next=(add); \
+ } else { \
+ (head)=(add); \
+ } \
+} while (0)
+
+#define LL_INSERT_INORDER(head,add,cmp) \
+ LL_INSERT_INORDER2(head,add,cmp,next)
+
+#define LL_INSERT_INORDER2(head,add,cmp,next) \
+do { \
+ LDECLTYPE(head) _tmp; \
+ if (head) { \
+ LL_LOWER_BOUND2(head, _tmp, add, cmp, next); \
+ LL_APPEND_ELEM2(head, _tmp, add, next); \
+ } else { \
+ (head) = (add); \
+ (head)->next = NULL; \
+ } \
+} while (0)
+
+#define LL_LOWER_BOUND(head,elt,like,cmp) \
+ LL_LOWER_BOUND2(head,elt,like,cmp,next)
+
+#define LL_LOWER_BOUND2(head,elt,like,cmp,next) \
+ do { \
+ if ((head) == NULL || (cmp(head, like)) >= 0) { \
+ (elt) = NULL; \
+ } else { \
+ for ((elt) = (head); (elt)->next != NULL; (elt) = (elt)->next) { \
+ if (cmp((elt)->next, like) >= 0) { \
+ break; \
+ } \
+ } \
+ } \
+ } while (0)
+
+#define LL_DELETE(head,del) \
+ LL_DELETE2(head,del,next)
+
+#define LL_DELETE2(head,del,next) \
+do { \
+ LDECLTYPE(head) _tmp; \
+ if ((head) == (del)) { \
+ (head)=(head)->next; \
+ } else { \
+ _tmp = (head); \
+ while (_tmp->next && (_tmp->next != (del))) { \
+ _tmp = _tmp->next; \
+ } \
+ if (_tmp->next) { \
+ _tmp->next = (del)->next; \
+ } \
+ } \
+} while (0)
+
+#define LL_COUNT(head,el,counter) \
+ LL_COUNT2(head,el,counter,next) \
+
+#define LL_COUNT2(head,el,counter,next) \
+do { \
+ (counter) = 0; \
+ LL_FOREACH2(head,el,next) { ++(counter); } \
+} while (0)
+
+#define LL_FOREACH(head,el) \
+ LL_FOREACH2(head,el,next)
+
+#define LL_FOREACH2(head,el,next) \
+ for ((el) = (head); el; (el) = (el)->next)
+
+#define LL_FOREACH_SAFE(head,el,tmp) \
+ LL_FOREACH_SAFE2(head,el,tmp,next)
+
+#define LL_FOREACH_SAFE2(head,el,tmp,next) \
+ for ((el) = (head); (el) && ((tmp) = (el)->next, 1); (el) = (tmp))
+
+#define LL_SEARCH_SCALAR(head,out,field,val) \
+ LL_SEARCH_SCALAR2(head,out,field,val,next)
+
+#define LL_SEARCH_SCALAR2(head,out,field,val,next) \
+do { \
+ LL_FOREACH2(head,out,next) { \
+ if ((out)->field == (val)) break; \
+ } \
+} while (0)
+
+#define LL_SEARCH(head,out,elt,cmp) \
+ LL_SEARCH2(head,out,elt,cmp,next)
+
+#define LL_SEARCH2(head,out,elt,cmp,next) \
+do { \
+ LL_FOREACH2(head,out,next) { \
+ if ((cmp(out,elt))==0) break; \
+ } \
+} while (0)
+
+#define LL_REPLACE_ELEM2(head, el, add, next) \
+do { \
+ LDECLTYPE(head) _tmp; \
+ assert((head) != NULL); \
+ assert((el) != NULL); \
+ assert((add) != NULL); \
+ (add)->next = (el)->next; \
+ if ((head) == (el)) { \
+ (head) = (add); \
+ } else { \
+ _tmp = (head); \
+ while (_tmp->next && (_tmp->next != (el))) { \
+ _tmp = _tmp->next; \
+ } \
+ if (_tmp->next) { \
+ _tmp->next = (add); \
+ } \
+ } \
+} while (0)
+
+#define LL_REPLACE_ELEM(head, el, add) \
+ LL_REPLACE_ELEM2(head, el, add, next)
+
+#define LL_PREPEND_ELEM2(head, el, add, next) \
+do { \
+ if (el) { \
+ LDECLTYPE(head) _tmp; \
+ assert((head) != NULL); \
+ assert((add) != NULL); \
+ (add)->next = (el); \
+ if ((head) == (el)) { \
+ (head) = (add); \
+ } else { \
+ _tmp = (head); \
+ while (_tmp->next && (_tmp->next != (el))) { \
+ _tmp = _tmp->next; \
+ } \
+ if (_tmp->next) { \
+ _tmp->next = (add); \
+ } \
+ } \
+ } else { \
+ LL_APPEND2(head, add, next); \
+ } \
+} while (0) \
+
+#define LL_PREPEND_ELEM(head, el, add) \
+ LL_PREPEND_ELEM2(head, el, add, next)
+
+#define LL_APPEND_ELEM2(head, el, add, next) \
+do { \
+ if (el) { \
+ assert((head) != NULL); \
+ assert((add) != NULL); \
+ (add)->next = (el)->next; \
+ (el)->next = (add); \
+ } else { \
+ LL_PREPEND2(head, add, next); \
+ } \
+} while (0) \
+
+#define LL_APPEND_ELEM(head, el, add) \
+ LL_APPEND_ELEM2(head, el, add, next)
+
+#ifdef NO_DECLTYPE
+/* Here are VS2008 / NO_DECLTYPE replacements for a few functions */
+
+#undef LL_CONCAT2
+#define LL_CONCAT2(head1,head2,next) \
+do { \
+ char *_tmp; \
+ if (head1) { \
+ _tmp = (char*)(head1); \
+ while ((head1)->next) { (head1) = (head1)->next; } \
+ (head1)->next = (head2); \
+ UTLIST_RS(head1); \
+ } else { \
+ (head1)=(head2); \
+ } \
+} while (0)
+
+#undef LL_APPEND2
+#define LL_APPEND2(head,add,next) \
+do { \
+ if (head) { \
+ (add)->next = head; /* use add->next as a temp variable */ \
+ while ((add)->next->next) { (add)->next = (add)->next->next; } \
+ (add)->next->next=(add); \
+ } else { \
+ (head)=(add); \
+ } \
+ (add)->next=NULL; \
+} while (0)
+
+#undef LL_INSERT_INORDER2
+#define LL_INSERT_INORDER2(head,add,cmp,next) \
+do { \
+ if ((head) == NULL || (cmp(head, add)) >= 0) { \
+ (add)->next = (head); \
+ (head) = (add); \
+ } else { \
+ char *_tmp = (char*)(head); \
+ while ((head)->next != NULL && (cmp((head)->next, add)) < 0) { \
+ (head) = (head)->next; \
+ } \
+ (add)->next = (head)->next; \
+ (head)->next = (add); \
+ UTLIST_RS(head); \
+ } \
+} while (0)
+
+#undef LL_DELETE2
+#define LL_DELETE2(head,del,next) \
+do { \
+ if ((head) == (del)) { \
+ (head)=(head)->next; \
+ } else { \
+ char *_tmp = (char*)(head); \
+ while ((head)->next && ((head)->next != (del))) { \
+ (head) = (head)->next; \
+ } \
+ if ((head)->next) { \
+ (head)->next = ((del)->next); \
+ } \
+ UTLIST_RS(head); \
+ } \
+} while (0)
+
+#undef LL_REPLACE_ELEM2
+#define LL_REPLACE_ELEM2(head, el, add, next) \
+do { \
+ assert((head) != NULL); \
+ assert((el) != NULL); \
+ assert((add) != NULL); \
+ if ((head) == (el)) { \
+ (head) = (add); \
+ } else { \
+ (add)->next = head; \
+ while ((add)->next->next && ((add)->next->next != (el))) { \
+ (add)->next = (add)->next->next; \
+ } \
+ if ((add)->next->next) { \
+ (add)->next->next = (add); \
+ } \
+ } \
+ (add)->next = (el)->next; \
+} while (0)
+
+#undef LL_PREPEND_ELEM2
+#define LL_PREPEND_ELEM2(head, el, add, next) \
+do { \
+ if (el) { \
+ assert((head) != NULL); \
+ assert((add) != NULL); \
+ if ((head) == (el)) { \
+ (head) = (add); \
+ } else { \
+ (add)->next = (head); \
+ while ((add)->next->next && ((add)->next->next != (el))) { \
+ (add)->next = (add)->next->next; \
+ } \
+ if ((add)->next->next) { \
+ (add)->next->next = (add); \
+ } \
+ } \
+ (add)->next = (el); \
+ } else { \
+ LL_APPEND2(head, add, next); \
+ } \
+} while (0) \
+
+#endif /* NO_DECLTYPE */
+
+/******************************************************************************
+ * doubly linked list macros (non-circular) *
+ *****************************************************************************/
+#define DL_PREPEND(head,add) \
+ DL_PREPEND2(head,add,prev,next)
+
+#define DL_PREPEND2(head,add,prev,next) \
+do { \
+ (add)->next = (head); \
+ if (head) { \
+ (add)->prev = (head)->prev; \
+ (head)->prev = (add); \
+ } else { \
+ (add)->prev = (add); \
+ } \
+ (head) = (add); \
+} while (0)
+
+#define DL_APPEND(head,add) \
+ DL_APPEND2(head,add,prev,next)
+
+#define DL_APPEND2(head,add,prev,next) \
+do { \
+ if (head) { \
+ (add)->prev = (head)->prev; \
+ (head)->prev->next = (add); \
+ (head)->prev = (add); \
+ (add)->next = NULL; \
+ } else { \
+ (head)=(add); \
+ (head)->prev = (head); \
+ (head)->next = NULL; \
+ } \
+} while (0)
+
+#define DL_INSERT_INORDER(head,add,cmp) \
+ DL_INSERT_INORDER2(head,add,cmp,prev,next)
+
+#define DL_INSERT_INORDER2(head,add,cmp,prev,next) \
+do { \
+ LDECLTYPE(head) _tmp; \
+ if (head) { \
+ DL_LOWER_BOUND2(head, _tmp, add, cmp, next); \
+ DL_APPEND_ELEM2(head, _tmp, add, prev, next); \
+ } else { \
+ (head) = (add); \
+ (head)->prev = (head); \
+ (head)->next = NULL; \
+ } \
+} while (0)
+
+#define DL_LOWER_BOUND(head,elt,like,cmp) \
+ DL_LOWER_BOUND2(head,elt,like,cmp,next)
+
+#define DL_LOWER_BOUND2(head,elt,like,cmp,next) \
+do { \
+ if ((head) == NULL || (cmp(head, like)) >= 0) { \
+ (elt) = NULL; \
+ } else { \
+ for ((elt) = (head); (elt)->next != NULL; (elt) = (elt)->next) { \
+ if ((cmp((elt)->next, like)) >= 0) { \
+ break; \
+ } \
+ } \
+ } \
+} while (0)
+
+#define DL_CONCAT(head1,head2) \
+ DL_CONCAT2(head1,head2,prev,next)
+
+#define DL_CONCAT2(head1,head2,prev,next) \
+do { \
+ LDECLTYPE(head1) _tmp; \
+ if (head2) { \
+ if (head1) { \
+ UTLIST_CASTASGN(_tmp, (head2)->prev); \
+ (head2)->prev = (head1)->prev; \
+ (head1)->prev->next = (head2); \
+ UTLIST_CASTASGN((head1)->prev, _tmp); \
+ } else { \
+ (head1)=(head2); \
+ } \
+ } \
+} while (0)
+
+#define DL_DELETE(head,del) \
+ DL_DELETE2(head,del,prev,next)
+
+#define DL_DELETE2(head,del,prev,next) \
+do { \
+ assert((head) != NULL); \
+ assert((del)->prev != NULL); \
+ if ((del)->prev == (del)) { \
+ (head)=NULL; \
+ } else if ((del)==(head)) { \
+ (del)->next->prev = (del)->prev; \
+ (head) = (del)->next; \
+ } else { \
+ (del)->prev->next = (del)->next; \
+ if ((del)->next) { \
+ (del)->next->prev = (del)->prev; \
+ } else { \
+ (head)->prev = (del)->prev; \
+ } \
+ } \
+} while (0)
+
+#define DL_COUNT(head,el,counter) \
+ DL_COUNT2(head,el,counter,next) \
+
+#define DL_COUNT2(head,el,counter,next) \
+do { \
+ (counter) = 0; \
+ DL_FOREACH2(head,el,next) { ++(counter); } \
+} while (0)
+
+#define DL_FOREACH(head,el) \
+ DL_FOREACH2(head,el,next)
+
+#define DL_FOREACH2(head,el,next) \
+ for ((el) = (head); el; (el) = (el)->next)
+
+/* this version is safe for deleting the elements during iteration */
+#define DL_FOREACH_SAFE(head,el,tmp) \
+ DL_FOREACH_SAFE2(head,el,tmp,next)
+
+#define DL_FOREACH_SAFE2(head,el,tmp,next) \
+ for ((el) = (head); (el) && ((tmp) = (el)->next, 1); (el) = (tmp))
+
+/* these are identical to their singly-linked list counterparts */
+#define DL_SEARCH_SCALAR LL_SEARCH_SCALAR
+#define DL_SEARCH LL_SEARCH
+#define DL_SEARCH_SCALAR2 LL_SEARCH_SCALAR2
+#define DL_SEARCH2 LL_SEARCH2
+
+#define DL_REPLACE_ELEM2(head, el, add, prev, next) \
+do { \
+ assert((head) != NULL); \
+ assert((el) != NULL); \
+ assert((add) != NULL); \
+ if ((head) == (el)) { \
+ (head) = (add); \
+ (add)->next = (el)->next; \
+ if ((el)->next == NULL) { \
+ (add)->prev = (add); \
+ } else { \
+ (add)->prev = (el)->prev; \
+ (add)->next->prev = (add); \
+ } \
+ } else { \
+ (add)->next = (el)->next; \
+ (add)->prev = (el)->prev; \
+ (add)->prev->next = (add); \
+ if ((el)->next == NULL) { \
+ (head)->prev = (add); \
+ } else { \
+ (add)->next->prev = (add); \
+ } \
+ } \
+} while (0)
+
+#define DL_REPLACE_ELEM(head, el, add) \
+ DL_REPLACE_ELEM2(head, el, add, prev, next)
+
+#define DL_PREPEND_ELEM2(head, el, add, prev, next) \
+do { \
+ if (el) { \
+ assert((head) != NULL); \
+ assert((add) != NULL); \
+ (add)->next = (el); \
+ (add)->prev = (el)->prev; \
+ (el)->prev = (add); \
+ if ((head) == (el)) { \
+ (head) = (add); \
+ } else { \
+ (add)->prev->next = (add); \
+ } \
+ } else { \
+ DL_APPEND2(head, add, prev, next); \
+ } \
+} while (0) \
+
+#define DL_PREPEND_ELEM(head, el, add) \
+ DL_PREPEND_ELEM2(head, el, add, prev, next)
+
+#define DL_APPEND_ELEM2(head, el, add, prev, next) \
+do { \
+ if (el) { \
+ assert((head) != NULL); \
+ assert((add) != NULL); \
+ (add)->next = (el)->next; \
+ (add)->prev = (el); \
+ (el)->next = (add); \
+ if ((add)->next) { \
+ (add)->next->prev = (add); \
+ } else { \
+ (head)->prev = (add); \
+ } \
+ } else { \
+ DL_PREPEND2(head, add, prev, next); \
+ } \
+} while (0) \
+
+#define DL_APPEND_ELEM(head, el, add) \
+ DL_APPEND_ELEM2(head, el, add, prev, next)
+
+#ifdef NO_DECLTYPE
+/* Here are VS2008 / NO_DECLTYPE replacements for a few functions */
+
+#undef DL_INSERT_INORDER2
+#define DL_INSERT_INORDER2(head,add,cmp,prev,next) \
+do { \
+ if ((head) == NULL) { \
+ (add)->prev = (add); \
+ (add)->next = NULL; \
+ (head) = (add); \
+ } else if ((cmp(head, add)) >= 0) { \
+ (add)->prev = (head)->prev; \
+ (add)->next = (head); \
+ (head)->prev = (add); \
+ (head) = (add); \
+ } else { \
+ char *_tmp = (char*)(head); \
+ while ((head)->next && (cmp((head)->next, add)) < 0) { \
+ (head) = (head)->next; \
+ } \
+ (add)->prev = (head); \
+ (add)->next = (head)->next; \
+ (head)->next = (add); \
+ UTLIST_RS(head); \
+ if ((add)->next) { \
+ (add)->next->prev = (add); \
+ } else { \
+ (head)->prev = (add); \
+ } \
+ } \
+} while (0)
+#endif /* NO_DECLTYPE */
+
+/******************************************************************************
+ * circular doubly linked list macros *
+ *****************************************************************************/
+#define CDL_APPEND(head,add) \
+ CDL_APPEND2(head,add,prev,next)
+
+#define CDL_APPEND2(head,add,prev,next) \
+do { \
+ if (head) { \
+ (add)->prev = (head)->prev; \
+ (add)->next = (head); \
+ (head)->prev = (add); \
+ (add)->prev->next = (add); \
+ } else { \
+ (add)->prev = (add); \
+ (add)->next = (add); \
+ (head) = (add); \
+ } \
+} while (0)
+
+#define CDL_PREPEND(head,add) \
+ CDL_PREPEND2(head,add,prev,next)
+
+#define CDL_PREPEND2(head,add,prev,next) \
+do { \
+ if (head) { \
+ (add)->prev = (head)->prev; \
+ (add)->next = (head); \
+ (head)->prev = (add); \
+ (add)->prev->next = (add); \
+ } else { \
+ (add)->prev = (add); \
+ (add)->next = (add); \
+ } \
+ (head) = (add); \
+} while (0)
+
+#define CDL_INSERT_INORDER(head,add,cmp) \
+ CDL_INSERT_INORDER2(head,add,cmp,prev,next)
+
+#define CDL_INSERT_INORDER2(head,add,cmp,prev,next) \
+do { \
+ LDECLTYPE(head) _tmp; \
+ if (head) { \
+ CDL_LOWER_BOUND2(head, _tmp, add, cmp, next); \
+ CDL_APPEND_ELEM2(head, _tmp, add, prev, next); \
+ } else { \
+ (head) = (add); \
+ (head)->next = (head); \
+ (head)->prev = (head); \
+ } \
+} while (0)
+
+#define CDL_LOWER_BOUND(head,elt,like,cmp) \
+ CDL_LOWER_BOUND2(head,elt,like,cmp,next)
+
+#define CDL_LOWER_BOUND2(head,elt,like,cmp,next) \
+do { \
+ if ((head) == NULL || (cmp(head, like)) >= 0) { \
+ (elt) = NULL; \
+ } else { \
+ for ((elt) = (head); (elt)->next != (head); (elt) = (elt)->next) { \
+ if ((cmp((elt)->next, like)) >= 0) { \
+ break; \
+ } \
+ } \
+ } \
+} while (0)
+
+#define CDL_DELETE(head,del) \
+ CDL_DELETE2(head,del,prev,next)
+
+#define CDL_DELETE2(head,del,prev,next) \
+do { \
+ if (((head)==(del)) && ((head)->next == (head))) { \
+ (head) = NULL; \
+ } else { \
+ (del)->next->prev = (del)->prev; \
+ (del)->prev->next = (del)->next; \
+ if ((del) == (head)) (head)=(del)->next; \
+ } \
+} while (0)
+
+#define CDL_COUNT(head,el,counter) \
+ CDL_COUNT2(head,el,counter,next) \
+
+#define CDL_COUNT2(head, el, counter,next) \
+do { \
+ (counter) = 0; \
+ CDL_FOREACH2(head,el,next) { ++(counter); } \
+} while (0)
+
+#define CDL_FOREACH(head,el) \
+ CDL_FOREACH2(head,el,next)
+
+#define CDL_FOREACH2(head,el,next) \
+ for ((el)=(head);el;(el)=(((el)->next==(head)) ? NULL : (el)->next))
+
+#define CDL_FOREACH_SAFE(head,el,tmp1,tmp2) \
+ CDL_FOREACH_SAFE2(head,el,tmp1,tmp2,prev,next)
+
+#define CDL_FOREACH_SAFE2(head,el,tmp1,tmp2,prev,next) \
+ for ((el) = (head), (tmp1) = (head) ? (head)->prev : NULL; \
+ (el) && ((tmp2) = (el)->next, 1); \
+ (el) = ((el) == (tmp1) ? NULL : (tmp2)))
+
+#define CDL_SEARCH_SCALAR(head,out,field,val) \
+ CDL_SEARCH_SCALAR2(head,out,field,val,next)
+
+#define CDL_SEARCH_SCALAR2(head,out,field,val,next) \
+do { \
+ CDL_FOREACH2(head,out,next) { \
+ if ((out)->field == (val)) break; \
+ } \
+} while (0)
+
+#define CDL_SEARCH(head,out,elt,cmp) \
+ CDL_SEARCH2(head,out,elt,cmp,next)
+
+#define CDL_SEARCH2(head,out,elt,cmp,next) \
+do { \
+ CDL_FOREACH2(head,out,next) { \
+ if ((cmp(out,elt))==0) break; \
+ } \
+} while (0)
+
+#define CDL_REPLACE_ELEM2(head, el, add, prev, next) \
+do { \
+ assert((head) != NULL); \
+ assert((el) != NULL); \
+ assert((add) != NULL); \
+ if ((el)->next == (el)) { \
+ (add)->next = (add); \
+ (add)->prev = (add); \
+ (head) = (add); \
+ } else { \
+ (add)->next = (el)->next; \
+ (add)->prev = (el)->prev; \
+ (add)->next->prev = (add); \
+ (add)->prev->next = (add); \
+ if ((head) == (el)) { \
+ (head) = (add); \
+ } \
+ } \
+} while (0)
+
+#define CDL_REPLACE_ELEM(head, el, add) \
+ CDL_REPLACE_ELEM2(head, el, add, prev, next)
+
+#define CDL_PREPEND_ELEM2(head, el, add, prev, next) \
+do { \
+ if (el) { \
+ assert((head) != NULL); \
+ assert((add) != NULL); \
+ (add)->next = (el); \
+ (add)->prev = (el)->prev; \
+ (el)->prev = (add); \
+ (add)->prev->next = (add); \
+ if ((head) == (el)) { \
+ (head) = (add); \
+ } \
+ } else { \
+ CDL_APPEND2(head, add, prev, next); \
+ } \
+} while (0)
+
+#define CDL_PREPEND_ELEM(head, el, add) \
+ CDL_PREPEND_ELEM2(head, el, add, prev, next)
+
+#define CDL_APPEND_ELEM2(head, el, add, prev, next) \
+do { \
+ if (el) { \
+ assert((head) != NULL); \
+ assert((add) != NULL); \
+ (add)->next = (el)->next; \
+ (add)->prev = (el); \
+ (el)->next = (add); \
+ (add)->next->prev = (add); \
+ } else { \
+ CDL_PREPEND2(head, add, prev, next); \
+ } \
+} while (0)
+
+#define CDL_APPEND_ELEM(head, el, add) \
+ CDL_APPEND_ELEM2(head, el, add, prev, next)
+
+#ifdef NO_DECLTYPE
+/* Here are VS2008 / NO_DECLTYPE replacements for a few functions */
+
+#undef CDL_INSERT_INORDER2
+#define CDL_INSERT_INORDER2(head,add,cmp,prev,next) \
+do { \
+ if ((head) == NULL) { \
+ (add)->prev = (add); \
+ (add)->next = (add); \
+ (head) = (add); \
+ } else if ((cmp(head, add)) >= 0) { \
+ (add)->prev = (head)->prev; \
+ (add)->next = (head); \
+ (add)->prev->next = (add); \
+ (head)->prev = (add); \
+ (head) = (add); \
+ } else { \
+ char *_tmp = (char*)(head); \
+ while ((char*)(head)->next != _tmp && (cmp((head)->next, add)) < 0) { \
+ (head) = (head)->next; \
+ } \
+ (add)->prev = (head); \
+ (add)->next = (head)->next; \
+ (add)->next->prev = (add); \
+ (head)->next = (add); \
+ UTLIST_RS(head); \
+ } \
+} while (0)
+#endif /* NO_DECLTYPE */
+
+#endif /* UTLIST_H */
diff --git a/app/bin/layout.c b/app/bin/layout.c
index a77cbb2..4bf1936 100644
--- a/app/bin/layout.c
+++ b/app/bin/layout.c
@@ -20,19 +20,15 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <string.h>
#include <dynstring.h>
#include "custom.h"
-#include "i18n.h"
#include "layout.h"
#include "misc2.h"
#include "param.h"
#include "paths.h"
#include "track.h"
-#include "wlib.h"
#include "fileio.h"
-#include "utility.h"
#define MINTRACKRADIUSPREFS "minTrackRadius"
@@ -64,13 +60,19 @@ static struct sDataLayout thisLayout = {
NULL,
};
+EXPORT wIndex_t changed = 0;
+
static paramFloatRange_t r0_90 = { 0, 90 };
-static paramFloatRange_t r1_10000 = { 1, 10000 };
+static paramFloatRange_t r0_10000 = { 0, 10000 };
+static paramFloatRange_t r0_9999999 = { 0, 9999999 };
static paramFloatRange_t r1_9999999 = { 1, 9999999 };
static paramFloatRange_t r360_360 = { -360, 360 };
static paramFloatRange_t rN_9999999 = { -99999, 99999 };
static paramIntegerRange_t i0_100 = { 0, 100 };
+static void SettingsWrite( void );
+static void SettingsRead( void );
+
static void LayoutDlgUpdate(paramGroup_p pg, int inx, void * valueP);
/**
@@ -122,6 +124,18 @@ CopyLayoutTitle(char* dest, char *src)
*(dest + TITLEMAXLEN - 1) = '\0';
}
+
+/**
+* Set the file's changed flag and update the window title.
+*/
+
+void
+SetFileChanged(void)
+{
+ changed++;
+ SetWindowTitle();
+}
+
void
SetLayoutTitle(char *title)
{
@@ -307,6 +321,18 @@ int GetLayoutBackGroundScreen()
return (thisLayout.props.backgroundScreen);
}
+/**
+ * Gets layout room size
+ *
+ * \param [out] roomSize size of the room.
+ */
+
+void
+GetLayoutRoomSize(coOrd *roomSize)
+{
+ *roomSize = thisLayout.props.roomSize;
+}
+
/****************************************************************************
*
* Layout Dialog
@@ -343,13 +369,13 @@ static paramData_p layout_p;
static paramGroup_t * layout_pg_p;
static wBool_t file_changed;
-EXPORT BOOL_T haveBackground = FALSE;
+bool haveBackground = false;
BOOL_T backgroundVisible = TRUE;
char * noname = "";
void
-BackgroundToggleShow()
+BackgroundToggleShow( void * unused )
{
backgroundVisible = !backgroundVisible;
wButtonSetBusy(backgroundB, backgroundVisible);
@@ -361,6 +387,11 @@ int GetLayoutBackGroundVisible()
return(backgroundVisible);
}
+bool HasBackGround()
+{
+ return(haveBackground);
+}
+
/*****************************************
* Try to load the background image file
*/
@@ -373,6 +404,9 @@ LoadBackGroundImage(void)
NoticeMessage(_("Unable to load Image File - %s"),_("Ok"),NULL,error);
return FALSE;
}
+ wControlActive((wControl_p)backgroundB, backgroundVisible);
+ wButtonSetBusy(backgroundB, backgroundVisible);
+
return TRUE;
}
@@ -425,13 +459,13 @@ void LayoutBackGroundSave(void) {
wPrefSetInteger("layout", "BackgroundScreen", thisLayout.props.backgroundScreen);
wPrefSetFloat("layout", "BackgroundSize", thisLayout.props.backgroundSize);
- wPrefFlush();
+ wPrefFlush("");
}
/************************************************************
* Run File Select for the Background Image File
*/
-static void ImageFileBrowse( void * junk )
+static void ImageFileBrowse( void * unused )
{
imageFile_fs = wFilSelCreate( mainW, FS_LOAD, FS_PICTURES, _("Load Background"), sImageFilePattern, LoadImageFile, NULL );
@@ -442,7 +476,7 @@ static void ImageFileBrowse( void * junk )
/************************************************************
* Remove the background Image File
*/
-static void ImageFileClear( void * junk)
+static void ImageFileClear( void * unused)
{
char * noname = "";
SetLayoutBackGroundFullPath(noname);
@@ -450,49 +484,48 @@ static void ImageFileClear( void * junk)
SetName();
wControlActive((wControl_p)backgroundB, FALSE);
file_changed = TRUE;
+ haveBackground = false;
ParamLoadControl(layout_pg_p, 8);
MainRedraw();
}
static paramData_t layoutPLs[] = {
- { PD_FLOAT, &thisLayout.props.roomSize.x, "roomsizeX", PDO_NOPREF | PDO_DIM | PDO_NOPSHUPD | PDO_DRAW, &r1_9999999, N_("Room Width"), 0, (void*)(CHANGE_MAIN | CHANGE_MAP) },
- { PD_FLOAT, &thisLayout.props.roomSize.y, "roomsizeY", PDO_NOPREF | PDO_DIM | PDO_NOPSHUPD | PDO_DRAW | PDO_DLGHORZ, &r1_9999999, N_(" Height"), 0, (void*)(CHANGE_MAIN | CHANGE_MAP) },
+ { PD_FLOAT, &thisLayout.props.roomSize.x, "roomsizeX", PDO_NOPREF | PDO_DIM | PDO_NOPSHUPD | PDO_DRAW, &r1_9999999, N_("Room Width"), 0, I2VP(CHANGE_MAIN | CHANGE_MAP) },
+ { PD_FLOAT, &thisLayout.props.roomSize.y, "roomsizeY", PDO_NOPREF | PDO_DIM | PDO_NOPSHUPD | PDO_DRAW | PDO_DLGHORZ, &r1_9999999, N_(" Height"), 0, I2VP(CHANGE_MAIN | CHANGE_MAP) },
{ PD_STRING, &thisLayout.props.title1, "title1", PDO_NOPSHUPD | PDO_STRINGLIMITLENGTH, NULL, N_("Layout Title"), 0, 0, sizeof(thisLayout.props.title1)},
{ PD_STRING, &thisLayout.props.title2, "title2", PDO_NOPSHUPD | PDO_STRINGLIMITLENGTH, NULL, N_("Subtitle"), 0, 0, sizeof(thisLayout.props.title2)},
#define SCALEINX (4)
- { PD_DROPLIST, &thisLayout.props.curScaleDescInx, "scale", PDO_NOPREF | PDO_NOPSHUPD | PDO_NORECORD | PDO_NOUPDACT, (void *)120, N_("Scale"), 0, (void*)(CHANGE_SCALE) },
+ { PD_DROPLIST, &thisLayout.props.curScaleDescInx, "scale", PDO_NOPREF | PDO_NOPSHUPD | PDO_NORECORD | PDO_NOUPDACT, I2VP(180), N_("Scale"), 0, I2VP(CHANGE_SCALE) },
#define GAUGEINX (5)
- { PD_DROPLIST, &thisLayout.props.curGaugeInx, "gauge", PDO_NOPREF | PDO_NOPSHUPD | PDO_NORECORD | PDO_NOUPDACT | PDO_DLGHORZ, (void *)120, N_(" Gauge"), 0, (void *)(CHANGE_SCALE) },
+ { PD_DROPLIST, &thisLayout.props.curGaugeInx, "gauge", PDO_NOPREF | PDO_NOPSHUPD | PDO_NORECORD | PDO_NOUPDACT | PDO_DLGHORZ, I2VP(180), N_(" Gauge"), 0, I2VP(CHANGE_SCALE) },
#define MINRADIUSENTRY (6)
- { PD_FLOAT, &thisLayout.props.minTrackRadius, "mintrackradius", PDO_DIM | PDO_NOPSHUPD | PDO_NOPREF, &r1_10000, N_("Min Track Radius"), 0, (void*)(CHANGE_MAIN | CHANGE_LIMITS) },
- { PD_FLOAT, &thisLayout.props.maxTrackGrade, "maxtrackgrade", PDO_NOPSHUPD | PDO_DLGHORZ, &r0_90, N_(" Max Track Grade (%)"), 0, (void*)(CHANGE_MAIN) },
+ { PD_FLOAT, &thisLayout.props.minTrackRadius, "mintrackradius", PDO_DIM | PDO_NOPSHUPD | PDO_NOPREF, &r0_10000, N_("Min Track Radius"), 0, I2VP(CHANGE_MAIN | CHANGE_LIMITS) },
+ { PD_FLOAT, &thisLayout.props.maxTrackGrade, "maxtrackgrade", PDO_NOPSHUPD | PDO_DLGHORZ, &r0_90, N_(" Max Track Grade (%)"), 0, I2VP(CHANGE_MAIN) },
#define BACKGROUNDFILEENTRY (8) //Note this value used in the file section routines above - if it chnages, they will need to change
- { PD_STRING, &backgroundFileName, "backgroundfile", PDO_NOPSHUPD, NULL, N_("Background File Path"), 0, (void *)(CHANGE_BACKGROUND) },
- { PD_BUTTON, (void*)ImageFileBrowse, "browse", PDO_DLGHORZ, NULL, N_("Browse ...") },
- { PD_BUTTON, (void*)ImageFileClear, "clear", PDO_DLGHORZ, NULL, N_("Clear") },
+ { PD_STRING, &backgroundFileName, "backgroundfile", PDO_NOPSHUPD | PDO_NORECORD|PDO_STRINGLIMITLENGTH, NULL, N_("Background File Path"), 0, I2VP(CHANGE_BACKGROUND),sizeof(backgroundFileName) },
+ { PD_BUTTON, ImageFileBrowse, "browse", PDO_DLGHORZ, NULL, N_("Browse ...") },
+ { PD_BUTTON, ImageFileClear, "clear", PDO_DLGHORZ, NULL, N_("Clear") },
#define BACKGROUNDPOSX (11)
- { PD_FLOAT, &thisLayout.props.backgroundPos.x, "backgroundposX", PDO_DIM | PDO_NOPSHUPD | PDO_DRAW, &rN_9999999, N_("Background PosX,Y"), 0, (void*)(CHANGE_BACKGROUND) },
+ { PD_FLOAT, &thisLayout.props.backgroundPos.x, "backgroundposX", PDO_DIM | PDO_NOPSHUPD | PDO_DRAW, &rN_9999999, N_("Background PosX,Y"), 0, I2VP(CHANGE_BACKGROUND) },
#define BACKGROUNDPOSY (12)
- { PD_FLOAT, &thisLayout.props.backgroundPos.y, "backgroundposY", PDO_DIM | PDO_NOPSHUPD | PDO_DRAW | PDO_DLGHORZ, &rN_9999999, NULL, 0, (void*)(CHANGE_BACKGROUND) },
+ { PD_FLOAT, &thisLayout.props.backgroundPos.y, "backgroundposY", PDO_DIM | PDO_NOPSHUPD | PDO_DRAW | PDO_DLGHORZ, &rN_9999999, NULL, 0, I2VP(CHANGE_BACKGROUND) },
#define BACKGROUNDWIDTH (13)
- { PD_FLOAT, &thisLayout.props.backgroundSize, "backgroundWidth", PDO_DIM | PDO_NOPSHUPD | PDO_DRAW, &r1_9999999, N_("Background Size"), 0, (void*)(CHANGE_BACKGROUND) },
+ { PD_FLOAT, &thisLayout.props.backgroundSize, "backgroundWidth", PDO_DIM | PDO_NOPSHUPD | PDO_DRAW, &r0_9999999, N_("Background Size"), 0, I2VP(CHANGE_BACKGROUND) },
#define BACKGROUNDSCREEN (14)
- { PD_LONG, &thisLayout.props.backgroundScreen, "backgroundScreen", PDO_NOPSHUPD | PDO_DRAW, &i0_100, N_("Background Screen %"), 0, (void*)(CHANGE_BACKGROUND) },
+ { PD_LONG, &thisLayout.props.backgroundScreen, "backgroundScreen", PDO_NOPSHUPD | PDO_DRAW, &i0_100, N_("Background Screen %"), 0, I2VP(CHANGE_BACKGROUND) },
#define BACKGROUNDANGLE (15)
- { PD_FLOAT, &thisLayout.props.backgroundAngle, "backgroundAngle", PDO_NOPSHUPD | PDO_DRAW, &r360_360, N_("Background Angle"), 0, (void*)(CHANGE_BACKGROUND) }
+ { PD_FLOAT, &thisLayout.props.backgroundAngle, "backgroundAngle", PDO_NOPSHUPD | PDO_DRAW | PDO_DLGBOXEND, &r360_360, N_("Background Angle"), 0, I2VP(CHANGE_BACKGROUND) },
+ { PD_MESSAGE, N_("Named Settings File"), NULL, PDO_DLGRESETMARGIN, I2VP(180) },
+ { PD_BUTTON, SettingsWrite, "write", PDO_DLGHORZ, 0, N_("Write"), 0, I2VP(0) },
+ { PD_BUTTON, SettingsRead, "read", PDO_DLGHORZ | PDO_DLGBOXEND, 0, N_("Read"), 0, I2VP(0) }
};
-static paramGroup_t layoutPG = { "layout", PGO_RECORD | PGO_PREFMISC, layoutPLs, sizeof layoutPLs / sizeof layoutPLs[0] };
+static paramGroup_t layoutPG = { "layout", PGO_RECORD | PGO_PREFMISC, layoutPLs, COUNT( layoutPLs ) };
-/**
-* Apply the changes entered to settings
-*
-* \param junk IN unused
-*/
-static void LayoutOk(void * junk)
-{
+static void ChangeLayout() {
+
long changes;
changes = GetChanges(&layoutPG);
@@ -500,13 +533,15 @@ static void LayoutOk(void * junk)
/* [mf Nov. 15, 2005] Get the gauge/scale settings */
if (changes & CHANGE_SCALE) {
SetScaleGauge(thisLayout.props.curScaleDescInx, thisLayout.props.curGaugeInx);
- }
+ file_changed = TRUE;
+ }
/* [mf Nov. 15, 2005] end */
if (changes & CHANGE_MAP) {
SetRoomSize(thisLayout.props.roomSize);
- }
+ file_changed = TRUE;
+ }
DoChangeNotification(changes);
@@ -515,13 +550,29 @@ static void LayoutOk(void * junk)
// now set the minimum track radius
sprintf(prefString, "minTrackRadius-%s", curScaleName);
wPrefSetFloat("misc", prefString, thisLayout.props.minTrackRadius);
- }
+ file_changed = TRUE;
+ }
- if ((changes & CHANGE_BACKGROUND) || file_changed) {
+ if (changes & CHANGE_BACKGROUND) {
LayoutBackGroundSave();
- file_changed = FALSE;
+ file_changed = TRUE;
}
+}
+
+/**
+* Apply the changes entered to settings
+*
+* \param unused IN unused
+*/
+
+static void LayoutOk(void * unused)
+{
+ ChangeLayout();
+ if(file_changed){
+ SetFileChanged();
+ file_changed = FALSE;
+ }
free(thisLayout.copyOfLayoutProps);
wHide(layoutW);
@@ -534,14 +585,14 @@ static void LayoutOk(void * junk)
/**
* Discard the changes entered and replace with earlier values
*
-* \param junk IN unused
+* \param unused IN unused
*/
-static void LayoutCancel(struct wWin_t *junk)
+static void LayoutCancel(struct wWin_t *unused)
{
thisLayout.props = *(thisLayout.copyOfLayoutProps);
ParamLoadControls(&layoutPG);
- LayoutOk(junk);
+ LayoutOk(unused);
}
static void LayoutChange(long changes)
@@ -552,7 +603,7 @@ static void LayoutChange(long changes)
}
}
-void DoLayout(void * junk)
+void DoLayout(void * unused)
{
SetLayoutRoomSize(mapD.size);
@@ -692,16 +743,84 @@ LayoutBackGroundInit(BOOL_T clear) {
}
char * str = GetLayoutBackGroundFullPath();
if (str && str[0]) {
- if (!LoadBackGroundImage()) { //Failed -> Wipe Out
+ haveBackground = true;
+ if (!LoadBackGroundImage()) { //Failed -> Wipe Out
SetLayoutBackGroundFullPath(noname);
SetLayoutBackGroundPos(zero);
SetLayoutBackGroundAngle(0.0);
SetLayoutBackGroundScreen(0);
SetLayoutBackGroundSize(0.0);
LayoutBackGroundSave();
+ haveBackground = false;
}
} else {
+ haveBackground = false;
wDrawSetBackground( mainD.d, NULL, NULL);
}
+}
+EXPORT int DoSettingsRead(
+ int files,
+ char ** fileName,
+ void * data )
+{
+ char * pref;
+ assert( files == 1 );
+ if (fileName == NULL) wPrefsLoad(NULL);
+ else wPrefsLoad(fileName[0]);
+ // get the preferred scale from the new configuration file
+ pref = wPrefGetString("misc", "scale");
+ if (pref) {
+ char buffer[STR_SHORT_SIZE];
+ strcpy(buffer, pref);
+ DoSetScale(buffer);
+ }
+ //Get command options
+ wPrefGetInteger("DialogItem","cmdopt-preselect",&preSelect,preSelect);
+ wPrefGetInteger("DialogItem","cmdopt-rightclickmode",&rightClickMode,rightClickMode);
+ wPrefGetInteger("DialogItem","cmdopt-selectmode",&selectMode,selectMode);
+ wPrefGetInteger("DialogItem","cmdopt-selectzero",&selectZero,selectZero);
+
+ //Get Toolbar showing
+ wPrefGetInteger( "misc", "toolbarset",&toolbarSet,toolbarSet);
+
+ //Redraw the screen to reflect changes
+ MainProc( mainW, wResize_e, NULL, NULL );
+ return TRUE;
}
+
+static struct wFilSel_t * settingsRead_fs;
+
+static void SettingsRead( void )
+{
+ if (settingsRead_fs == NULL)
+ settingsRead_fs = wFilSelCreate( mainW, FS_LOAD, 0, _("Read Settings"),
+ _("Settings File (*.xset)|*.xset"), DoSettingsRead, NULL );
+ bExample = FALSE;
+ wFilSelect( settingsRead_fs, wGetAppWorkDir());
+}
+
+static int DoSettingsWrite(
+ int files,
+ char ** fileName,
+ void * data )
+{
+ assert( fileName != NULL );
+ assert( files == 1 );
+ wPrefFlush(fileName[0]);
+ return TRUE;
+}
+
+static struct wFilSel_t * settingsWrite_fs;
+
+static void SettingsWrite( void )
+{
+ ChangeLayout();
+ if ( settingsWrite_fs == NULL )
+ settingsWrite_fs = wFilSelCreate( mainW, FS_UPDATE, 0, _("Write Settings"),
+ _("Settings File (*.xset)|*.xset"), DoSettingsWrite, NULL );
+ wFilSelect( settingsWrite_fs, wGetAppWorkDir());
+}
+
+
+
diff --git a/app/bin/layout.h b/app/bin/layout.h
index fcb5160..6e9496d 100644
--- a/app/bin/layout.h
+++ b/app/bin/layout.h
@@ -24,7 +24,6 @@
#define HAVE_LAYOUT_H
#include "common.h"
-#include "misc.h"
void SetLayoutFullPath(const char *fileName);
@@ -44,6 +43,8 @@ void SetLayoutBackGroundPos(coOrd pos);
void SetLayoutBackGroundAngle(ANGLE_T angle);
void SetLayoutBackGroundScreen(int screen);
+int DoSettingsRead(int files, char ** fileName, void * data );
+
char *GetLayoutFullPath(void);
char *GetLayoutFilename(void);
char *GetLayoutTitle(void);
@@ -52,6 +53,7 @@ DIST_T GetLayoutMinTrackRadius(void);
SCALEINX_T GetLayoutCurScale(void );
SCALEDESCINX_T GetLayoutCurScaleDesc(void);
//GAUGEINX_T GetLayoutCurGauge(void);
+void GetLayoutRoomSize(coOrd *roomSize);
ANGLE_T GetLayoutMaxTrackGrade(void);
SCALEDESCINX_T GetLayoutCurScaleDesc(void);
@@ -61,10 +63,11 @@ coOrd GetLayoutBackGroundPos(void);
ANGLE_T GetLayoutBackGroundAngle(void);
int GetLayoutBackGroundScreen(void);
int GetLayoutBackGroundVisible(void);
+bool HasBackGround(void);
void LayoutBackGroundInit(BOOL_T clear);
void LayoutBackGroundLoad(void);
void LayoutBackGroundSave(void);
-void BackgroundToggleShow(void);
-void DoLayout(void * junk);
+void BackgroundToggleShow(void * unused);
+void DoLayout(void * unused);
int LoadImageFile(int files,char ** fileName,void * data );
#endif
diff --git a/app/bin/levenshtein.c b/app/bin/levenshtein.c
new file mode 100644
index 0000000..8dc56aa
--- /dev/null
+++ b/app/bin/levenshtein.c
@@ -0,0 +1,72 @@
+// `levenshtein.c` - levenshtein
+// MIT licensed.
+// Copyright (c) 2015 Titus Wormer <tituswormer@gmail.com>
+
+#include <string.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include "include/levenshtein.h"
+
+// Returns a size_t, depicting the difference between `a` and `b`.
+// See <https://en.wikipedia.org/wiki/Levenshtein_distance> for more information.
+size_t
+levenshtein_n(const char *a, const size_t length, const char *b, const size_t bLength) {
+ // Shortcut optimizations / degenerate cases.
+ if (a == b) {
+ return 0;
+ }
+
+ if (length == 0) {
+ return bLength;
+ }
+
+ if (bLength == 0) {
+ return length;
+ }
+
+ size_t *cache = calloc(length, sizeof(size_t));
+ size_t index = 0;
+ size_t bIndex = 0;
+ size_t distance;
+ size_t bDistance;
+ size_t result;
+ char code;
+
+ // initialize the vector.
+ while (index < length) {
+ cache[index] = index + 1;
+ index++;
+ }
+
+ // Loop.
+ while (bIndex < bLength) {
+ code = b[bIndex];
+ result = distance = bIndex++;
+ index = SIZE_MAX;
+
+ while (++index < length) {
+ bDistance = code == a[index] ? distance : distance + 1;
+ distance = cache[index];
+
+ cache[index] = result = distance > result
+ ? bDistance > result
+ ? result + 1
+ : bDistance
+ : bDistance > distance
+ ? distance + 1
+ : bDistance;
+ }
+ }
+
+ free(cache);
+
+ return result;
+}
+
+size_t
+levenshtein(const char *a, const char *b) {
+ const size_t length = strlen(a);
+ const size_t bLength = strlen(b);
+
+ return levenshtein_n(a, length, b, bLength);
+}
diff --git a/app/bin/linknoteui.c b/app/bin/linknoteui.c
index daa3ccf..cb98686 100644
--- a/app/bin/linknoteui.c
+++ b/app/bin/linknoteui.c
@@ -20,26 +20,21 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <string.h>
-#include <stdbool.h>
-
#include "custom.h"
#include "dynstring.h"
-#include "i18n.h"
#include "misc.h"
#include "note.h"
#include "param.h"
#include "include/stringxtc.h"
#include "track.h"
#include "validator.h"
-#include "wlib.h"
extern BOOL_T inDescribeCmd;
#define DEFAULTLINKURL "http://www.xtrkcad.org/"
#define DEFAULTLINKTITLE "The XTrackCAD Homepage"
-static struct extraDataNote noteDataInUI;
+static struct extraDataNote_t noteDataInUI;
static void NoteLinkBrowse(void *junk);
static void NoteLinkOpen(char *url );
@@ -51,22 +46,22 @@ static paramData_t linkEditPLs[] = {
#define I_ORIGY (1)
/*1*/ { PD_FLOAT, &noteDataInUI.pos.y, "origy", PDO_DIM, &r_1000_1000, N_("Position Y") },
#define I_LAYER (2)
- /*2*/ { PD_DROPLIST, &noteDataInUI.layer, "layer", 0, (void*)150, "Layer", 0 },
+ /*2*/ { PD_DROPLIST, &noteDataInUI.layer, "layer", 0, I2VP(150), "Layer", 0 },
#define I_TITLE (3)
- /*3*/ { PD_STRING, NULL, "title", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)200, N_("Title"), 0, 0, TITLEMAXIMUMLENGTH-1 },
+ /*3*/ { PD_STRING, NULL, "title", PDO_NOPREF | PDO_STRINGLIMITLENGTH, I2VP(200), N_("Title"), 0, 0, TITLEMAXIMUMLENGTH-1 },
#define I_URL (4)
- /*4*/ { PD_STRING, NULL, "name", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)200, N_("URL"), 0, 0, URLMAXIMUMLENGTH-1 },
+ /*4*/ { PD_STRING, NULL, "name", PDO_NOPREF | PDO_STRINGLIMITLENGTH, I2VP(200), N_("URL"), 0, 0, URLMAXIMUMLENGTH-1 },
#define I_OPEN (5)
- /*5*/{ PD_BUTTON, (void*)NoteLinkBrowse, "openlink", PDO_DLGHORZ, NULL, N_("Open...") },
+ /*5*/{ PD_BUTTON, NoteLinkBrowse, "openlink", PDO_DLGHORZ, NULL, N_("Open...") },
};
-static paramGroup_t linkEditPG = { "linkEdit", 0, linkEditPLs, sizeof linkEditPLs / sizeof linkEditPLs[0] };
+static paramGroup_t linkEditPG = { "linkEdit", 0, linkEditPLs, COUNT( linkEditPLs ) };
static wWin_p linkEditW;
BOOL_T
IsLinkNote(track_p trk)
{
- struct extraDataNote * xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t * xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
return(xx->op == OP_NOTELINK);
}
@@ -161,17 +156,17 @@ LinkEditOK(void *junk)
UpdateLink(&noteDataInUI, OK_LINK, FALSE);
wHide(linkEditW);
ResetIfNotSticky();
- FileIsChanged();
+ SetFileChanged();
}
static void
CreateEditLinkDialog(track_p trk, char *title)
{
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(trk);
// create the dialog if necessary
if (!linkEditW) {
+ noteDataInUI.base.trkType = T_NOTE;
noteDataInUI.noteData.linkData.url = MyMalloc(URLMAXIMUMLENGTH);
noteDataInUI.noteData.linkData.title = MyMalloc(TITLEMAXIMUMLENGTH);
linkEditPLs[I_TITLE].valueP = noteDataInUI.noteData.linkData.title;
@@ -188,6 +183,7 @@ CreateEditLinkDialog(track_p trk, char *title)
wWinSetTitle(linkEditPG.win, MakeWindowTitle(title));
// initialize the dialog fields
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
noteDataInUI.pos = xx->pos;
noteDataInUI.layer = xx->layer;
noteDataInUI.trk = trk;
@@ -208,7 +204,7 @@ CreateEditLinkDialog(track_p trk, char *title)
void ActivateLinkNote(track_p trk)
{
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
NoteLinkOpen(xx->noteData.linkData.url);
}
@@ -223,7 +219,7 @@ void ActivateLinkNote(track_p trk)
void DescribeLinkNote(track_p trk, char * str, CSIZE_T len)
{
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
DynString statusLine;
DynStringMalloc(&statusLine, 80);
@@ -251,7 +247,7 @@ void DescribeLinkNote(track_p trk, char * str, CSIZE_T len)
void NewLinkNoteUI(track_p trk)
{
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
xx->noteData.linkData.url = MyStrdup( DEFAULTLINKURL );
xx->noteData.linkData.title = MyStrdup( DEFAULTLINKTITLE );
diff --git a/app/bin/lprintf.c b/app/bin/lprintf.c
index 23cc44a..802fa24 100644
--- a/app/bin/lprintf.c
+++ b/app/bin/lprintf.c
@@ -20,23 +20,11 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#ifndef WINDOWS
-#include <time.h>
-#else
-#include <time.h>
-#include <sys/timeb.h>
-#endif
-
#include "custom.h"
#include "fileio.h"
-#include "messages.h"
#include "paths.h"
#include "track.h"
+#include "common-ui.h"
/****************************************************************************
@@ -117,7 +105,7 @@ EXPORT void LogSet( char * name, int level )
}
-EXPORT int LogFindIndex( char * name )
+EXPORT int LogFindIndex( const char * name )
{
int inx;
for ( inx=0; inx<logTable_da.cnt; inx++ )
@@ -127,7 +115,7 @@ EXPORT int LogFindIndex( char * name )
}
EXPORT void LogPrintf(
- char * format,
+ const char * format,
... )
{
va_list ap;
diff --git a/app/bin/macro.c b/app/bin/macro.c
index 8db996d..1c38dd2 100644
--- a/app/bin/macro.c
+++ b/app/bin/macro.c
@@ -21,54 +21,23 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <assert.h>
-#include <stdlib.h>
-#include <stdio.h>
-#ifndef WINDOWS
-#include <unistd.h>
-#include <dirent.h>
-#include <errno.h>
-#endif
-#include <math.h>
-#include <ctype.h>
-#include <string.h>
-#include <time.h>
-#ifdef WINDOWS
-#include <io.h>
-#include <windows.h>
-#else
-#include <sys/stat.h>
-#endif
-#include <stdarg.h>
-#ifndef WINDOWS
-#include <sys/time.h>
-#else
-#include <sys/timeb.h>
-#endif
-#include <locale.h>
-
-#include <stdint.h>
-
#include "common.h"
#include "compound.h"
#include "cundo.h"
#include "custom.h"
#include "draw.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "misc.h"
#include "param.h"
#include "paths.h"
#include "track.h"
#include "trackx.h"
-#include "utility.h"
#include "version.h"
+#include "common-ui.h"
EXPORT long adjTimer;
static void DemoInitValues( void );
-extern char *userLocale;
static int log_playbackCursor = 0;
@@ -89,20 +58,22 @@ static paramTextData_t recordTextData = { 50, 16 };
static paramData_t recordPLs[] = {
#define I_RECSTOP (0)
#define recStopB ((wButton_p)recordPLs[I_RECSTOP].control)
- { PD_BUTTON, (void*)DoRecordButton, "stop", PDO_NORECORD, NULL, N_("Stop"), 0, (void*)0 },
+ { PD_BUTTON, DoRecordButton, "stop", PDO_NORECORD, NULL, N_("Stop"), 0, I2VP(0) },
#define I_RECMESSAGE (1)
#define recMsgB ((wButton_p)recordPLs[I_RECMESSAGE].control)
- { PD_BUTTON, (void*)DoRecordButton, "message", PDO_NORECORD|PDO_DLGHORZ, NULL, N_("Message"), 0, (void*)2 },
+ { PD_BUTTON, DoRecordButton, "message", PDO_NORECORD|PDO_DLGHORZ, NULL, N_("Message"), 0, I2VP(2) },
#define I_RECEND (2)
#define recEndB ((wButton_p)recordPLs[I_RECEND].control)
- { PD_BUTTON, (void*)DoRecordButton, "end", PDO_NORECORD|PDO_DLGHORZ, NULL, N_("End"), BO_DISABLED, (void*)4 },
+ { PD_BUTTON, DoRecordButton, "end", PDO_NORECORD|PDO_DLGHORZ, NULL, N_("End"), BO_DISABLED, I2VP(4) },
#define I_RECTEXT (3)
#define recordT ((wText_p)recordPLs[I_RECTEXT].control)
{ PD_TEXT, NULL, "text", PDO_NORECORD|PDO_DLGRESIZE, &recordTextData, NULL, BT_CHARUNITS|BO_READONLY} };
-static paramGroup_t recordPG = { "record", 0, recordPLs, sizeof recordPLs/sizeof recordPLs[0] };
+static paramGroup_t recordPG = { "record", 0, recordPLs, COUNT( recordPLs ) };
#ifndef WINDOWS
+#include <sys/time.h>
+
static struct timeval lastTim = {0,0};
static void ComputePause( void )
{
@@ -121,6 +92,8 @@ static void ComputePause( void )
lastTim = tim;
}
#else
+#include <sys/timeb.h>
+
static struct _timeb lastTim;
static void ComputePause( void )
{
@@ -208,7 +181,7 @@ static void DoRecordButton( void * context )
char * cp;
int len;
- switch( (int)(long)context ){
+ switch( (int)VP2L(context) ){
case 0: /* Stop */
fprintf( recordF, "CLEAR\nMESSAGE\n");
fprintf( recordF, N_("End of Playback. Hit Step to exit\n"));
@@ -292,7 +265,7 @@ EXPORT void DoRecord( void * context )
static drawCmd_p playbackD = NULL;
static wDrawBitMap_p playbackBm = NULL;
static wDrawColor playbackColor;
-static wPos_t playbackX, playbackY;
+static coOrd playbackPos;
static wBool_t bDoFlash = FALSE;
static wDrawColor flashColor;
@@ -369,18 +342,17 @@ char * DrawBitMapToString(DrawBitMap_e dbm) {
static void MacroDrawBitMap(
DrawBitMap_e dbm,
wDrawBitMap_p bm,
- wPos_t x,
- wPos_t y,
+ coOrd pos,
wDrawColor color )
{
- wDrawBitMap( playbackD->d, bm, x, y, color, wDrawOptTemp|wDrawOptNoClip );
- wFlush();
+ DrawBitMap( playbackD, pos, bm, color );
+// wFlush();
- LOG( log_playbackCursor, 1, ("%s %d DrawBitMap( %p %p %d %d %d %d )\n", DrawBitMapToString(dbm), DBMCount++, playbackD->d, bm, x, y, color, wDrawOptTemp|wDrawOptNoClip ) );
+ LOG( log_playbackCursor, 2, ("%s %d DrawBitMap( %p %p [%0.3f %0.3f] %d )\n", DrawBitMapToString(dbm), DBMCount++, playbackD->d, bm, pos, color ) );
}
-static void Flash( drawCmd_p d, wPos_t x, wPos_t y, wDrawColor color )
+static void Flash( wDrawColor color )
{
bDoFlash = TRUE;
flashColor = color;
@@ -408,21 +380,26 @@ static void SetPlaybackSpeed(
EXPORT void RedrawPlaybackCursor() {
if ( playbackD && playbackBm && inPlayback) {
- wBool_t ret;
- if ( playbackD->d != mainD.d )
- ret = wDrawSetTempMode( playbackD->d, TRUE );
+ unsigned long options = playbackD->options;
+ playbackD->options |= DC_TEMP;
+ wBool_t bTemp = wDrawSetTempMode( playbackD->d, TRUE );
if ( bDoFlash && playbackTimer == 0 ) {
- MacroDrawBitMap( FLASH_PLUS, flash_bm, playbackX, playbackY, flashColor );
+ MacroDrawBitMap( FLASH_PLUS, flash_bm, playbackPos, flashColor );
+ wDrawSetTempMode( playbackD->d, FALSE );
wPause( flashTO*2 );
+ wDrawSetTempMode( playbackD->d, TRUE );
if ( flashTwice ) {
- MacroDrawBitMap( FLASH_PLUS, flash_bm, playbackX, playbackY, flashColor );
+ MacroDrawBitMap( FLASH_PLUS, flash_bm, playbackPos, flashColor );
+ wDrawSetTempMode( playbackD->d, FALSE );
wPause( flashTO*2 );
+ wDrawSetTempMode( playbackD->d, TRUE );
}
bDoFlash = FALSE;
}
- MacroDrawBitMap( DRAW, playbackBm, playbackX, playbackY, playbackColor );
- if ( playbackD->d != mainD.d )
- wDrawSetTempMode( playbackD->d, ret );
+ MacroDrawBitMap( DRAW, playbackBm, playbackPos, playbackColor );
+ wDrawSetTempMode( playbackD->d, bTemp );
+ playbackD->options = options;
+ wFlush();
}
}
@@ -434,46 +411,33 @@ static void MoveCursor(
wDrawBitMap_p bm,
wDrawColor color )
{
- DIST_T dist, dx, dy;
- coOrd pos1, dpos;
+ DIST_T dist;
+ coOrd dpos;
int i, steps;
- wPos_t x, y;
- wPos_t x0=playbackX;
- wPos_t y0=playbackY;
if (d == NULL)
return;
- d->CoOrd2Pix( d, pos, &x, &y );
-
if (playbackTimer == 0 /*&& !didPause*/) {
playbackBm = bm;
playbackColor = color;
- dx = (DIST_T)(x-x0);
- dy = (DIST_T)(y-y0);
- dist = sqrt( dx*dx + dy*dy );
- steps = (int)(dist / PixelsPerStep ) + 1;
- dx /= steps;
- dy /= steps;
- d->Pix2CoOrd( d, x0, y0, &pos1 );
- dpos.x = (pos.x-pos1.x)/steps;
- dpos.y = (pos.y-pos1.y)/steps;
+ dist = FindDistance( playbackPos, pos );
+ steps = (int)(dist / (PixelsPerStep*d->scale/d->dpi)) + 1;
+ LOG( log_playbackCursor, 1, ( "PBC: [%0.3f %0.3f] - [%0.3f %0.3f] Dist:%0.3f Steps:%d\n", playbackPos.x, playbackPos.y, pos.x, pos.y, dist, steps ) );
- for ( i=1; i<=steps; i++ ) {
-
- playbackX = x0+(wPos_t)(i*dx);
- playbackY = y0+(wPos_t)(i*dy);
+ dpos.x = (pos.x-playbackPos.x)/steps;
+ dpos.y = (pos.y-playbackPos.y)/steps;
- pos1.x += dpos.x;
- pos1.y += dpos.y;
+ for ( i=1; i<=steps; i++ ) {
+ playbackPos.x += dpos.x;
+ playbackPos.y += dpos.y;
if ( proc != NULL ) {
- proc( action, pos1 );
+ proc( action, playbackPos );
} else {
TempRedraw();
}
-// DrawPlaybackCursor( d, bm, xx, yy, color );
if ( d->d == mainD.d ) {
- InfoPos( pos1 );
+ InfoPos( playbackPos );
wFlush();
}
// Simple mouse moves happen twice as fast
@@ -484,10 +448,8 @@ static void MoveCursor(
return;
}
}
- } else {
- playbackX = x;
- playbackY = y;
}
+ playbackPos = pos;
}
@@ -500,15 +462,10 @@ static void PlaybackCursor(
{
wDrawBitMap_p bm = playbackBm;
playbackD = d;
- wPos_t x, y;
long time0, time1;
time0 = wGetTimer();
- d->CoOrd2Pix( d, pos, &x, &y );
-
-
-
switch( action&0xFF ) {
case wActionMove:
@@ -520,7 +477,7 @@ static void PlaybackCursor(
bm = ((MyGetKeyState()&WKEY_SHIFT)?arrow0_shift_bm:(MyGetKeyState()&WKEY_CTRL)?arrow0_ctl_bm:arrow0_bm);
MoveCursor( d, proc, wActionMove, pos, bm, wDrawColorBlack ); //Go to spot
bm = ((MyGetKeyState()&WKEY_SHIFT)?arrow3_shift_bm:(MyGetKeyState()&WKEY_CTRL)?arrow3_ctl_bm:arrow3_bm);
- Flash( d, x, y, playbackColor=rightDragColor );
+ Flash( playbackColor=rightDragColor );
proc( action, pos );
/* no break */
@@ -532,7 +489,7 @@ static void PlaybackCursor(
case C_UP:
bm = ((MyGetKeyState()&WKEY_SHIFT)?arrow3_shift_bm:(MyGetKeyState()&WKEY_CTRL)?arrow3_ctl_bm:arrow0_bm);
MoveCursor( d, proc, C_MOVE, pos, bm, rightDragColor );
- Flash( d, x, y, rightDragColor );
+ Flash( rightDragColor );
proc( action, pos );
bm = ((MyGetKeyState()&WKEY_SHIFT)?arrow0_shift_bm:(MyGetKeyState()&WKEY_CTRL)?arrow0_ctl_bm:arrow0_bm);
MoveCursor( d, NULL, 0, pos, bm, wDrawColorBlack );
@@ -542,7 +499,7 @@ static void PlaybackCursor(
bm = ((MyGetKeyState()&WKEY_SHIFT)?arrow0_shift_bm:(MyGetKeyState()&WKEY_CTRL)?arrow0_ctl_bm:arrow0_bm);
MoveCursor( d, proc, wActionMove, pos, bm, wDrawColorBlack ); //Go to spot
bm = ((MyGetKeyState()&WKEY_SHIFT)?arrowr3_shift_bm:(MyGetKeyState()&WKEY_CTRL)?arrowr3_ctl_bm:arrowr3_bm);
- Flash( d, x, y, playbackColor=leftDragColor );
+ Flash( playbackColor=leftDragColor );
proc( action, pos );
/* no break */
@@ -554,7 +511,7 @@ static void PlaybackCursor(
case C_RUP:
bm = ((MyGetKeyState()&WKEY_SHIFT)?arrowr3_shift_bm:(MyGetKeyState()&WKEY_CTRL)?arrowr3_ctl_bm:arrowr3_bm);
MoveCursor( d, proc, C_RMOVE, pos, bm, leftDragColor );
- Flash( d, x, y, leftDragColor );
+ Flash( leftDragColor );
proc( action, pos );
bm = ((MyGetKeyState()&WKEY_SHIFT)?arrow0_shift_bm:(MyGetKeyState()&WKEY_CTRL)?arrow0_ctl_bm:arrow0_bm);
MoveCursor( d, NULL, 0, pos, bm, wDrawColorBlack );
@@ -563,7 +520,8 @@ static void PlaybackCursor(
case C_REDRAW:
proc( action, pos ); //Send Redraw to functions
playbackD = &tempD;
- MacroDrawBitMap( REDRAW, playbackBm, playbackX, playbackY, playbackColor );
+ playbackPos = pos;
+ MacroDrawBitMap( REDRAW, playbackBm, playbackPos, playbackColor );
break;
case C_TEXT:
@@ -597,30 +555,42 @@ EXPORT void PlaybackMouse(
EXPORT void MovePlaybackCursor(
drawCmd_p d,
- wPos_t x,
- wPos_t y, wBool_t direct, wControl_p control)
+ coOrd pos,
+ wBool_t direct, wControl_p control)
{
- coOrd pos;
+#ifdef MOVECURSORTOCOMMANDBUTTON
+ // Show the cursor clicking on the command button
+ // Not possile with current structure
playbackD = &tempD;
- d->Pix2CoOrd( d, x, y, &pos );
- d->CoOrd2Pix( d, pos, &x, &y );
if (!direct)
MoveCursor( d, NULL, wActionMove, pos, arrow0_bm, wDrawColorBlack );
- wBool_t ret = wDrawSetTempMode( d->d, TRUE );
- MacroDrawBitMap( MOVE_PLYBCK1, arrow0_bm, x, y, wDrawColorBlack );
- MacroDrawBitMap( MOVE_PLYBCK2, arrow3_bm, x, y, rightDragColor );
-
- Flash( d, x, y, rightDragColor );
+ unsigned long options = d->options;
+ d->options |= DC_TEMP;
+ wBool_t bTemp = wDrawSetTempMode( d->d, TRUE );
+ DoCurCommand( C_REDRAW, zero );
+ MacroDrawBitMap( MOVE_PLYBCK1, arrow0_bm, pos, wDrawColorBlack );
+ MacroDrawBitMap( MOVE_PLYBCK2, arrow3_bm, pos, rightDragColor );
+
+ Flash( rightDragColor );
if (direct) {
wControlHilite(control,TRUE);
}
- MacroDrawBitMap( MOVE_PLYBCK3, arrow3_bm, x, y, rightDragColor );
- MacroDrawBitMap( MOVE_PLYBCK4, arrow0_bm, x, y, wDrawColorBlack );
+ MacroDrawBitMap( MOVE_PLYBCK3, arrow3_bm, pos, rightDragColor );
+ MacroDrawBitMap( MOVE_PLYBCK4, arrow0_bm, pos, wDrawColorBlack );
if (direct) {
wPause(1000);
wControlHilite(control,FALSE);
}
- wDrawSetTempMode( d->d, ret );
+ wDrawSetTempMode( d->d, bTemp );
+ d->options = options;
+#else
+ // Just hilight the button
+ if ( control ) {
+ wControlHilite( control, TRUE );
+ wPause( 1000 );
+ wControlHilite( control, FALSE );
+ }
+#endif
}
/*****************************************************************************
@@ -673,20 +643,20 @@ static paramTextData_t demoTextData = { 50, 16 };
static paramData_t demoPLs[] = {
#define I_DEMOSTEP (0)
#define demoStep ((wButton_p)demoPLs[I_DEMOSTEP].control)
- { PD_BUTTON, (void*)DoDemoButton, "step", PDO_NORECORD, NULL, N_("Step"), BB_DEFAULT, (void*)0 },
+ { PD_BUTTON, DoDemoButton, "step", PDO_NORECORD, NULL, N_("Step"), BB_DEFAULT, I2VP(0) },
#define I_DEMONEXT (1)
#define demoNext ((wButton_p)demoPLs[I_DEMONEXT].control)
- { PD_BUTTON, (void*)DoDemoButton, "next", PDO_NORECORD|PDO_DLGHORZ, NULL, N_("Next"), 0, (void*)1 },
+ { PD_BUTTON, DoDemoButton, "next", PDO_NORECORD|PDO_DLGHORZ, NULL, N_("Next"), 0, I2VP(1) },
#define I_DEMOQUIT (2)
#define demoQuit ((wButton_p)demoPLs[I_DEMOQUIT].control)
- { PD_BUTTON, (void*)DoDemoButton, "quit", PDO_NORECORD|PDO_DLGHORZ, NULL, N_("Quit"), BB_CANCEL, (void*)3 },
+ { PD_BUTTON, DoDemoButton, "quit", PDO_NORECORD|PDO_DLGHORZ, NULL, N_("Quit"), BB_CANCEL, I2VP(3) },
#define I_DEMOSPEED (3)
#define demoSpeedL ((wList_p)demoPLs[I_DEMOSPEED].control)
- { PD_DROPLIST, &playbackSpeed, "speed", PDO_NORECORD|PDO_LISTINDEX|PDO_DLGHORZ, (void*)80, N_("Speed") },
+ { PD_DROPLIST, &playbackSpeed, "speed", PDO_NORECORD|PDO_LISTINDEX|PDO_DLGHORZ, I2VP(80), N_("Speed") },
#define I_DEMOTEXT (4)
#define demoT ((wText_p)demoPLs[I_DEMOTEXT].control)
{ PD_TEXT, NULL, "text", PDO_NORECORD|PDO_DLGRESIZE, &demoTextData, NULL, BT_CHARUNITS|BO_READONLY} };
-static paramGroup_t demoPG = { "demo", 0, demoPLs, sizeof demoPLs/sizeof demoPLs[0] };
+static paramGroup_t demoPG = { "demo", 0, demoPLs, COUNT( demoPLs ) };
EXPORT int MyGetKeyState( void )
{
@@ -764,7 +734,7 @@ static BOOL_T snapshotMouse = FALSE;
EXPORT void TakeSnapshot( drawCmd_t * d )
{
char * cp;
- wPos_t ix, iy;
+ wWinPix_t ix, iy;
if (d->dpi < 0)
d->dpi = mainD.dpi;
if (d->scale < 0)
@@ -773,22 +743,26 @@ EXPORT void TakeSnapshot( drawCmd_t * d )
d->orig = mainD.orig;
if (d->size.x < 0 || d->size.y < 0)
d->size = mainD.size;
- ix = (wPos_t)(d->dpi*d->size.x/d->scale);
- iy = (wPos_t)(d->dpi*d->size.y/d->scale);
+ ix = (wWinPix_t)(d->dpi*d->size.x/d->scale);
+ iy = (wWinPix_t)(d->dpi*d->size.y/d->scale);
d->d = wBitMapCreate( ix, iy, 8 );
if (d->d == (wDraw_p)0) {
return;
}
DrawTracks( d, d->scale, d->orig, d->size );
- if ( snapshotMouse && playbackBm )
- wDrawBitMap( d->d, playbackBm, playbackX, playbackY, playbackColor, 0 );
- wDrawLine( d->d, 0, 0, ix-1, 0, 0, wDrawLineSolid, wDrawColorBlack, 0 );
- wDrawLine( d->d, ix-1, 0, ix-1, iy-1, 0, wDrawLineSolid, wDrawColorBlack, 0 );
- wDrawLine( d->d, ix-1, iy-1, 0, iy-1, 0, wDrawLineSolid, wDrawColorBlack, 0 );
- wDrawLine( d->d, 0, iy-1, 0, 0, 0, wDrawLineSolid, wDrawColorBlack, 0 );
+ if ( snapshotMouse && playbackBm ) {
+ DrawBitMap( d, playbackPos, playbackBm, playbackColor );
+ }
+ coOrd p0, s1;
+ DIST_T off = 0.02;
+ p0.x = off * d->scale;
+ p0.y = off * d->scale;
+ s1.x = d->size.x-off*2 * d->scale;
+ s1.y = d->size.y-off*2 * d->scale;
+ DrawRectangle( d, p0, s1, wDrawColorBlack, DRAW_CLOSED );
strcpy( message, paramFileName );
cp = message+strlen(message)-4;
- sprintf( cp, "-%4.4d.xpm", documentSnapshotNum );
+ sprintf( cp, "-%4.4d.png", documentSnapshotNum );
wBitMapWriteFile( d->d, message );
wBitMapDelete( d->d );
documentSnapshotNum++;
@@ -975,7 +949,7 @@ static void PlaybackSetup( void )
wTextClear( demoT );
wShow( demoW );
wFlush();
- wPrefFlush();
+ wPrefFlush("");
wWinSetBusy( mainW, TRUE );
wWinSetBusy( mapW, TRUE );
ParamSaveAll();
@@ -985,8 +959,7 @@ static void PlaybackSetup( void )
oldMainSize = mainD.size;
oldMainScale = mainD.scale;
oldScaleName = curScaleName;
- playbackX = 0;
- playbackY = 0;
+ playbackPos = zero;
Reset();
paramVersion = -1;
playbackColor=wDrawColorBlack;
@@ -1003,7 +976,7 @@ static void Playback( void )
wIndex_t inx;
long timeout;
static enum { pauseCmd, mouseCmd, otherCmd } thisCmd, lastCmd;
- int len;
+ size_t len;
static wBool_t demoWinOnTop = FALSE;
coOrd roomSize;
char * cp, * cq;
@@ -1018,8 +991,7 @@ static void Playback( void )
wWinTop( mainW );
demoWinOnTop = FALSE;
}
- char * oldLocale = NULL;
- oldLocale = SaveLocale( "C" );
+ SetCLocale();
while (TRUE) {
if ( ! inPlayback )
// User pressed Quit
@@ -1043,11 +1015,12 @@ static void Playback( void )
paramFile = fopen( demoFileName, "r" );
if ( paramFile == NULL ) {
NoticeMessage( MSG_OPEN_FAIL, _("Continue"), NULL, _("Demo"), demoFileName, strerror(errno) );
- RestoreLocale( oldLocale );
inPlayback = FALSE;
+ SetUserLocale();
return;
}
+ paramFileName = strdup( demoFileName );
playbackColor=wDrawColorBlack;
paramLineNum = 0;
wWinSetTitle( demoW, demoList( curDemo ).title );
@@ -1062,8 +1035,8 @@ static void Playback( void )
NoticeMessage( MSG_CANT_READ_DEMO, _("Continue"), NULL, sProdName, demoFileName );
fclose( paramFile );
paramFile = NULL;
- RestoreLocale( oldLocale );
inPlayback = FALSE;
+ SetUserLocale();
return;
}
free(demoFileName);
@@ -1111,8 +1084,8 @@ static void Playback( void )
wPause( 1000 );
EnableButtons( FALSE );
} else {
- RestoreLocale( oldLocale );
inPlayback = FALSE;
+ SetUserLocale();
return;
}
} else if (strncmp( paramLine, "CLEAR", 5 ) == 0) {
@@ -1129,8 +1102,8 @@ static void Playback( void )
wWinTop( demoW );
demoWinOnTop = TRUE;
EnableButtons( TRUE );
- RestoreLocale( oldLocale );
inPlayback = FALSE;
+ SetUserLocale();
return;
}
PlaybackMessage( paramLine );
@@ -1142,7 +1115,7 @@ static void Playback( void )
DoSetScale( paramLine+6 );
} else if (strncmp( paramLine, "REDRAW", 6 ) == 0) {
ResolveIndex();
- RecomputeElevations();
+ RecomputeElevations(NULL);
DoRedraw();
/*DoChangeNotification( CHANGE_ALL );*/
} else if (strncmp( paramLine, "COMMAND ", 8 ) == 0) {
@@ -1212,7 +1185,17 @@ static void Playback( void )
wPause( timeout );
}
} else if (strncmp( paramLine, "KEYSTATE ", 9 ) == 0 ) {
- playbackKeyState = atoi( paramLine+9 );
+ if ( strchr( "0123456789", paramLine[9] ) ) {
+ playbackKeyState = atoi( paramLine+9 );
+ } else {
+ playbackKeyState = 0;
+ if ( strchr( paramLine+9, 'S' ) )
+ playbackKeyState |= WKEY_SHIFT;
+ if ( strchr( paramLine+9, 'C' ) )
+ playbackKeyState |= WKEY_CTRL;
+ if ( strchr( paramLine+9, 'A' ) )
+ playbackKeyState |= WKEY_ALT;
+ }
} else if (strncmp( paramLine, "TIMESTART", 9 ) == 0 ) {
playbackTimer = wGetTimer();
} else if (strncmp( paramLine, "TIMEEND", 7 ) == 0 ) {
@@ -1294,8 +1277,8 @@ static void Playback( void )
if (pauseDemo) {
EnableButtons( TRUE );
pauseDemo = FALSE;
- RestoreLocale( oldLocale );
inPlayback = FALSE;
+ SetUserLocale();
return;
}
}
@@ -1309,7 +1292,7 @@ static void Playback( void )
}
inPlayback = FALSE;
PlaybackQuit();
- RestoreLocale( oldLocale );
+ SetUserLocale();
}
@@ -1341,7 +1324,7 @@ static int StartPlayback( int cnt, char **pathName, void * context )
static void DoDemoButton( void * command )
{
- switch( (int)(long)command ) {
+ switch( VP2L(command) ) {
case 0:
/* step */
playbackNonStop = (wGetKeyState() & WKEY_SHIFT) != 0;
@@ -1403,12 +1386,12 @@ static void CreateDemoW( void )
char * title = MakeWindowTitle(_("Demo"));
demoW = ParamCreateDialog( &demoPG, title, NULL, NULL, NULL, FALSE, NULL, F_RESIZE, DemoDlgUpdate );
- wListAddValue( demoSpeedL, _("Slowest"), NULL, (void*)0 );
- wListAddValue( demoSpeedL, _("Slow"), NULL, (void*)1 );
- wListAddValue( demoSpeedL, _("Normal"), NULL, (void*)2 );
- wListAddValue( demoSpeedL, _("Fast"), NULL, (void*)3 );
- wListAddValue( demoSpeedL, _("Faster"), NULL, (void*)4 );
- wListAddValue( demoSpeedL, _("Fastest"), NULL, (void*)5 );
+ wListAddValue( demoSpeedL, _("Slowest"), NULL, I2VP(0) );
+ wListAddValue( demoSpeedL, _("Slow"), NULL, I2VP(1) );
+ wListAddValue( demoSpeedL, _("Normal"), NULL, I2VP(2) );
+ wListAddValue( demoSpeedL, _("Fast"), NULL, I2VP(3) );
+ wListAddValue( demoSpeedL, _("Faster"), NULL, I2VP(4) );
+ wListAddValue( demoSpeedL, _("Fastest"), NULL, I2VP(5) );
wListSetIndex( demoSpeedL, (wIndex_t)playbackSpeed );
playbackFile_fs = wFilSelCreate( mainW, FS_LOAD, 0, title, sRecordFilePattern, StartPlayback, NULL );
}
@@ -1498,6 +1481,7 @@ static char * demoInitParams[] = {
"grid show 0",
"GROUP grid",
"misc toolbarset 65535",
+ "misc cur-turnout-ep 0",
"GROUP misc",
"sticky set 67108479", /* 0x3fffe7f - all but Helix and Turntable */
"GROUP sticky",
@@ -1529,8 +1513,10 @@ static void DemoInitValues( void )
wNoticeEx( NT_INFORMATION, _("Can not find PARAMETER playback proc"), _("Ok"), NULL );
return;
}
+ paramHiliteFast = TRUE;
for ( cpp = demoInitParams; *cpp; cpp++ )
paramPlaybackProc( *cpp );
+ paramHiliteFast = FALSE;
// Have to do this manually
oldMagneticSnap = MagneticSnap( TRUE );
}
@@ -1542,7 +1528,7 @@ static void DoDemo( void * demoNumber )
if (demoW == NULL)
CreateDemoW();
wButtonSetLabel( demoNext, _("Next") );
- curDemo = (int)(long)demoNumber;
+ curDemo = (int)VP2L(demoNumber);
if ( curDemo < 0 || curDemo >= demoList_da.cnt ) {
NoticeMessage( MSG_DEMO_BAD_NUM, _("Ok"), NULL, curDemo );
return;
@@ -1559,18 +1545,14 @@ static BOOL_T ReadDemo(
{
static wMenu_p m;
char * cp;
- char *oldLocale = NULL;
char *path;
if ( m == NULL )
m = demoM;
if ( strncmp( line, "DEMOGROUP ", 10 ) == 0 ) {
- if (userLocale)
- oldLocale = SaveLocale(userLocale);
m = wMenuMenuCreate( demoM, NULL, _(line+10) );
- if (oldLocale)
- RestoreLocale(oldLocale);
+
} else if ( strncmp( line, "DEMO ", 5 ) == 0 ) {
if (line[5] != '"')
goto error;
@@ -1583,14 +1565,10 @@ static BOOL_T ReadDemo(
if ( strlen(cp)==0 )
goto error;
DYNARR_APPEND( demoList_t, demoList_da, 10 );
- if (userLocale)
- oldLocale = SaveLocale(userLocale);
demoList( demoList_da.cnt-1 ).title = MyStrdup( _(line+6) );
MakeFullpath(&path, libDir, "demos", cp, NULL);
demoList(demoList_da.cnt - 1).fileName = path;
- wMenuPushCreate( m, NULL, _(line+6), 0, DoDemo, (void*)(intptr_t)(demoList_da.cnt-1) );
- if (oldLocale)
- RestoreLocale(oldLocale);
+ wMenuPushCreate( m, NULL, _(line+6), 0, DoDemo, I2VP(demoList_da.cnt-1) );
}
return TRUE;
error:
diff --git a/app/bin/manifest.c b/app/bin/manifest.c
index 1652996..5fd9b5a 100644
--- a/app/bin/manifest.c
+++ b/app/bin/manifest.c
@@ -56,9 +56,9 @@ char* CreateManifest(char* nameOfLayout, char* background,
char *copyOfFileName = MyStrdup(nameOfLayout);
cJSON* a_object = cJSON_CreateObject();
cJSON_AddItemToObject(manifest, "layout", a_object);
-#ifdef WINDOWS
+#ifdef UTFCONVERT
copyOfFileName = Convert2UTF8(copyOfFileName);
-#endif // WINDOWS
+#endif // UTFCONVERT
cJSON_AddStringToObject(a_object, "name", copyOfFileName);
MyFree(copyOfFileName);
@@ -69,16 +69,16 @@ char* CreateManifest(char* nameOfLayout, char* background,
cJSON_AddStringToObject(b_object, "name", "background");
backg = MyStrdup(FindFilename(background));
-#ifdef WINDOWS
+#ifdef UTFCONVERT
backg = Convert2UTF8(backg);
#endif
cJSON_AddStringToObject(b_object, "filename", backg);
MyFree(backg);
backg = MyStrdup(background);
-#ifdef WINDOWS
+#ifdef UTFCONVERT
backg = Convert2UTF8(backg);
ConvertPathForward(backg);
-#endif // WINDOWS
+#endif // UTFCONVERT
cJSON_AddStringToObject(b_object, "copy-path", backg);
cJSON_AddStringToObject(b_object, "arch-path", dependencyDir);
MyFree(backg);
@@ -108,16 +108,16 @@ char* ParseManifest(char* manifest, char* zip_directory)
char* background_file[1] = { NULL };
char* layoutname;
- char *oldLocale = SaveLocale("C");
+ SetCLocale();
cJSON* json_manifest = cJSON_Parse(manifest);
- RestoreLocale(oldLocale);
+ SetUserLocale();
cJSON* layout = cJSON_GetObjectItemCaseSensitive(json_manifest, "layout");
cJSON* name = cJSON_GetObjectItemCaseSensitive(layout, "name");
layoutname = cJSON_GetStringValue(name);
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem(layoutname);
-#endif // WINDOWS
+#endif // UTFCONVERT
LOG(log_zip, 1, ("Zip-Manifest %s \n", layoutname))
#if DEBUG
@@ -136,7 +136,7 @@ char* ParseManifest(char* manifest, char* zip_directory)
cJSON* archpath = cJSON_GetObjectItemCaseSensitive(dependency, "arch-path");
file = MyStrdup(cJSON_GetStringValue(filename));
path = MyStrdup(cJSON_GetStringValue(archpath));
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem(file);
ConvertUTF8ToSystem(path);
#endif
diff --git a/app/bin/misc.c b/app/bin/misc.c
index 2ac1e2f..e976481 100644
--- a/app/bin/misc.c
+++ b/app/bin/misc.c
@@ -20,34 +20,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdlib.h>
-#include <stdio.h>
-#ifndef WINDOWS
-#include <unistd.h>
-#include <dirent.h>
-#endif
-#ifdef HAVE_MALLOC_H
-#include <malloc.h>
-#endif
-#include <math.h>
-#include <ctype.h>
-#include <string.h>
-#include <time.h>
-#ifdef WINDOWS
-#include <io.h>
-#include <windows.h>
-#include "getopt.h"
-#define R_OK (02)
-#define access _access
-#if _MSC_VER >1300
-#define strdup _strdup
-#endif
-#else
-#include <sys/stat.h>
-#endif
-#include <locale.h>
-#include <stdarg.h>
-#include <stdint.h>
+
#include "cjoin.h"
#include "common.h"
@@ -57,20 +30,22 @@
#include "custom.h"
#include "draw.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "misc.h"
#include "param.h"
#include "include/paramfilelist.h"
#include "paths.h"
#include "smalldlg.h"
#include "track.h"
-#include "utility.h"
+#include "common-ui.h"
+#include "ctrain.h"
+
+#include <inttypes.h>
+
+#include <stdint.h>
#define DEFAULT_SCALE ("N")
-char *userLocale = NULL;
extern wBalloonHelp_t balloonHelp[];
@@ -84,7 +59,6 @@ static wMenuToggle_p magnetsMI;
#ifdef CHECK_UNUSED_BALLOONHELP
static void ShowUnusedBalloonHelp(void);
#endif
-void DoCarDlg(void);
/****************************************************************************
*
@@ -92,6 +66,8 @@ void DoCarDlg(void);
*
*/
+EXPORT int iconSize = 0;
+
EXPORT int foobar = 0;
EXPORT int log_error;
@@ -99,8 +75,6 @@ static int log_command;
EXPORT wWin_p mainW;
-EXPORT wIndex_t changed = 0;
-
EXPORT char message[STR_HUGE_SIZE];
static char message2[STR_LONG_SIZE];
@@ -119,6 +93,7 @@ EXPORT wButton_p redoB;
EXPORT wButton_p zoomUpB;
EXPORT wButton_p zoomDownB;
+EXPORT wButton_p zoomExtentsB;
wButton_p mapShowB;
wButton_p magnetsB;
wButton_p backgroundB;
@@ -143,17 +118,17 @@ EXPORT DIST_T easeR = 0.0;
EXPORT DIST_T easeL = 0.0;
EXPORT coOrd cmdMenuPos;
-EXPORT wPos_t DlgSepLeft = 12;
-EXPORT wPos_t DlgSepMid = 18;
-EXPORT wPos_t DlgSepRight = 12;
-EXPORT wPos_t DlgSepTop = 12;
-EXPORT wPos_t DlgSepBottom = 12;
-EXPORT wPos_t DlgSepNarrow = 6;
-EXPORT wPos_t DlgSepWide = 12;
-EXPORT wPos_t DlgSepFrmLeft = 4;
-EXPORT wPos_t DlgSepFrmRight = 4;
-EXPORT wPos_t DlgSepFrmTop = 4;
-EXPORT wPos_t DlgSepFrmBottom = 4;
+EXPORT wWinPix_t DlgSepLeft = 12;
+EXPORT wWinPix_t DlgSepMid = 18;
+EXPORT wWinPix_t DlgSepRight = 12;
+EXPORT wWinPix_t DlgSepTop = 12;
+EXPORT wWinPix_t DlgSepBottom = 12;
+EXPORT wWinPix_t DlgSepNarrow = 6;
+EXPORT wWinPix_t DlgSepWide = 12;
+EXPORT wWinPix_t DlgSepFrmLeft = 4;
+EXPORT wWinPix_t DlgSepFrmRight = 4;
+EXPORT wWinPix_t DlgSepFrmTop = 4;
+EXPORT wWinPix_t DlgSepFrmBottom = 4;
static int verbose = 0;
@@ -162,11 +137,11 @@ static BOOL_T inMainW = TRUE;
static long stickySet = 0;
static long stickyCnt = 0;
-static char * stickyLabels[33];
+static const char * stickyLabels[33];
#define TOOLBARSET_INIT (0xFFFF)
EXPORT long toolbarSet = TOOLBARSET_INIT;
-EXPORT wPos_t toolbarHeight = 0;
-static wPos_t toolbarWidth = 0;
+EXPORT wWinPix_t toolbarHeight = 0;
+static wWinPix_t toolbarWidth = 0;
static wMenuList_p messageList_ml;
static BOOL_T messageListEmpty = TRUE;
@@ -189,53 +164,121 @@ extern wBool_t wDrawDoTempDraw;
*
*/
-EXPORT long totalMallocs = 0;
-EXPORT long totalMalloced = 0;
-EXPORT long totalRealloced = 0;
-EXPORT long totalReallocs = 0;
-EXPORT long totalFreeed = 0;
-EXPORT long totalFrees = 0;
+EXPORT size_t totalMallocs = 0;
+EXPORT size_t totalMalloced = 0;
+EXPORT size_t totalRealloced = 0;
+EXPORT size_t totalReallocs = 0;
+EXPORT size_t totalFreeed = 0;
+EXPORT size_t totalFrees = 0;
+
+static void * StorageLog;
+
+typedef struct slog_t {
+ void * storage_p;
+ size_t storage_size;
+ BOOL_T freed;
+} slog_t, * slog_p;
+
+static int StorageLogCurrent = 0;
+
+
+#define LOG_SIZE 1000000
+
static unsigned long guard0 = 0xDEADBEEF;
static unsigned long guard1 = 0xAF00BA8A;
static int log_malloc;
-EXPORT void * MyMalloc(long size) {
+static void RecordMalloc(void * p, size_t size) {
+
+
+ if (!StorageLog) StorageLog = malloc(sizeof(slog_t)*LOG_SIZE);
+ slog_p log_p = StorageLog;
+ if (StorageLogCurrent<LOG_SIZE) {
+ log_p[StorageLogCurrent].storage_p = p;
+ log_p[StorageLogCurrent].storage_size = size;
+ StorageLogCurrent++;
+ } else {
+ printf("Storage Log size exceeded, wrapped\n");
+ log_p[0].storage_p = p;
+ log_p[0].storage_size = size;
+ StorageLogCurrent = 1;
+ }
+}
+
+static void RecordMyFree(void *p) {
+ slog_p log_p = StorageLog;
+ if (log_p) {
+ for (int i=0;i<StorageLogCurrent;i++) {
+ if (!log_p[i].freed && log_p[i].storage_p == p) {
+ log_p[i].freed = TRUE;
+ }
+ }
+ }
+}
+
+#define SLOG_FMT "0x%.12" PRIxPTR
+
+EXPORT BOOL_T TestMallocs() {
+ size_t oldSize;
+ size_t testedMallocs = 0;
+ void * old;
+ slog_p log_p = StorageLog;
+ BOOL_T rc = TRUE;
+ if (log_p) {
+ for (int i=0;i<StorageLogCurrent;i++) {
+ if (log_p[i].freed) continue;
+ old = log_p[i].storage_p;
+ oldSize = log_p[i].storage_size;
+ if (*(unsigned long*) ((char*) old - sizeof(unsigned long)) != guard0) {
+ LogPrintf("Guard 0 hosed, " SLOG_FMT " size: %llu \n", (uintptr_t)old, oldSize);
+ rc = FALSE;
+ }
+ if (*(unsigned long*) ((char*) old + oldSize) != guard1) {
+ LogPrintf("Guard 1 hosed, " SLOG_FMT " size: %llu \n", (uintptr_t)old, oldSize);
+ rc = FALSE;
+ }
+ testedMallocs++;
+ }
+ }
+ LogPrintf("Tested: %llu Mallocs: %llu Total Malloced: %llu Freed: %llu Total Freed: %llu \n",
+ testedMallocs, totalMallocs, totalMalloced, totalFrees, totalFreeed);
+ return rc;
+}
+
+
+EXPORT void * MyMalloc(size_t size) {
void * p;
totalMallocs++;
totalMalloced += size;
-#if defined(WINDOWS) && ! defined(WIN32)
- if ( size > 65500L ) {
- AbortProg( "mallocing > 65500 bytes" );
- }
-#endif
p = malloc((size_t) size + sizeof(size_t) + 2 * sizeof(unsigned long));
if (p == NULL)
AbortProg("No memory");
LOG1(log_malloc,
- ( "Malloc(%ld) = %lx (%lx-%lx)\n", size, (long)((char*)p+sizeof (size_t) + sizeof (unsigned long)), (long)p, (long)((char*)p+size+sizeof (size_t) + 2 * sizeof(unsigned long)) ));
+ ( " Malloc(%ld) = " SLOG_FMT " (" SLOG_FMT "-" SLOG_FMT ")\n",
+ size, (size_t)((char*)p+sizeof (size_t) + sizeof (unsigned long)),
+ (size_t)p,
+ (size_t)((char*)p+size+sizeof (size_t) + 2 * sizeof(unsigned long))));
+
*(size_t*) p = (size_t) size;
p = (char*) p + sizeof(size_t);
*(unsigned long*) p = guard0;
p = (char*) p + sizeof(unsigned long);
*(unsigned long*) ((char*) p + size) = guard1;
memset(p, 0, (size_t )size);
+ if (extraButtons)
+ RecordMalloc(p,size);
return p;
}
-EXPORT void * MyRealloc(void * old, long size) {
+EXPORT void * MyRealloc(void * old, size_t size) {
size_t oldSize;
void * new;
if (old == NULL)
return MyMalloc(size);
totalReallocs++;
totalRealloced += size;
-#if defined(WINDOWS) && ! defined(WIN32)
- if ( size > 65500L ) {
- AbortProg( "reallocing > 65500 bytes" );
- }
-#endif
if (*(unsigned long*) ((char*) old - sizeof(unsigned long)) != guard0) {
AbortProg("Guard0 is hosed");
}
@@ -243,7 +286,9 @@ EXPORT void * MyRealloc(void * old, long size) {
if (*(unsigned long*) ((char*) old + oldSize) != guard1) {
AbortProg("Guard1 is hosed");
}
- LOG1(log_malloc, ("Realloc(%lx,%ld) was %d\n", (long)old, size, oldSize ))
+
+ LOG1(log_malloc, (" Realloc (" SLOG_FMT ",%ld) was %d\n", (size_t)old, size, oldSize ))
+
if ((long) oldSize == size) {
return old;
}
@@ -271,10 +316,18 @@ EXPORT void MyFree(void * ptr) {
if (*(unsigned long*) ((char*) ptr + oldSize) != guard1) {
AbortProg("Guard1 is hosed");
}
+
LOG1(log_malloc,
- ("Free %d at %lx (%lx-%lx)\n", oldSize, (long)ptr, (long)((char*)ptr-sizeof *(size_t*)0-sizeof *(long*)0), (long)((char*)ptr+oldSize+sizeof *(long*)0)))
+ (" Free %d at " SLOG_FMT " (" SLOG_FMT "-" SLOG_FMT ")\n",
+ oldSize,
+ (size_t)ptr,
+ (size_t)((char*)ptr-sizeof *(size_t*)0-sizeof *(long*)0),
+ (size_t)((char*)ptr+oldSize+sizeof *(long*)0)));
+
totalFreeed += oldSize;
free((char*) ptr - sizeof *(long*) 0 - sizeof *(size_t*) 0);
+ if (extraButtons)
+ RecordMyFree(ptr);
}
}
@@ -323,7 +376,7 @@ EXPORT char * ConvertToEscapedText(const char * text) {
}
text_i++;
}
- unsigned cnt = strlen(text) + 1 + add;
+ size_t cnt = strlen(text) + 1 + add;
#ifdef WINDOWS
cnt *= 2;
#endif
@@ -364,9 +417,9 @@ EXPORT char * ConvertToEscapedText(const char * text) {
text_i++;
}
cout[cout_i] = '\0';
-#ifdef WINDOWS
- wSystemToUTF8(cout, cout, cnt);
-#endif // WINDOWS
+#ifdef UTFCONVERT
+ wSystemToUTF8(cout, cout, (unsigned int)cnt);
+#endif // UTFCONVERT
return cout;
}
@@ -424,7 +477,7 @@ EXPORT char * ConvertFromEscapedText(const char * text) {
return cout;
}
-EXPORT void AbortProg(char * msg, ...) {
+EXPORT void AbortProg(const char * msg, ...) {
static BOOL_T abort2 = FALSE;
int rc;
va_list ap;
@@ -437,15 +490,15 @@ EXPORT void AbortProg(char * msg, ...) {
strcat(message, _("\nDo you want to save your layout?"));
rc = wNoticeEx( NT_ERROR, message, _("Ok"), _("ABORT"));
if (rc) {
- DoSaveAs((doSaveCallBack_p) abort);
+ DoSaveAs(abort);
} else {
abort();
}
}
}
-EXPORT char * Strcpytrimed(char * dst, char * src, BOOL_T double_quotes) {
- char * cp;
+EXPORT char * Strcpytrimed(char * dst, const char * src, BOOL_T double_quotes) {
+ const char * cp;
while (*src && isspace((unsigned char) *src))
src++;
if (!*src)
@@ -464,10 +517,6 @@ EXPORT char * Strcpytrimed(char * dst, char * src, BOOL_T double_quotes) {
static char * directory;
-#ifdef WINDOWS
-#define F_OK (0)
-#endif
-
EXPORT wBool_t CheckHelpTopicExists(const char * topic) {
char * htmlFile;
@@ -501,8 +550,8 @@ EXPORT wBool_t CheckHelpTopicExists(const char * topic) {
}
-EXPORT char * BuildTrimedTitle(char * cp, char * sep, char * mfg, char * desc,
- char * partno) {
+EXPORT char * BuildTrimedTitle(char * cp, const char * sep, const char * mfg, const char * desc,
+ const char * partno) {
cp = Strcpytrimed(cp, mfg, FALSE);
strcpy(cp, sep);
cp += strlen(cp);
@@ -529,7 +578,7 @@ static void ShowMessageHelp(int index, const char * label, void * data) {
wHelp(msgKey);
}
-static char * ParseMessage(char *msgSrc) {
+static const char * ParseMessage(const char *msgSrc) {
char *cp1 = NULL, *cp2 = NULL;
static char shortMsg[STR_SIZE];
cp1 = strchr(_(msgSrc), '\t');
@@ -556,11 +605,11 @@ static char * ParseMessage(char *msgSrc) {
}
}
-EXPORT void InfoMessage(char * format, ...) {
+EXPORT void InfoMessage(const char * format, ...) {
va_list ap;
va_start(ap, format);
format = ParseMessage(format);
- vsprintf(message2, format, ap);
+ vsnprintf(message2, 1020, format, ap);
va_end(ap);
/*InfoSubstituteControl( NULL, NULL );*/
if (inError)
@@ -568,11 +617,11 @@ EXPORT void InfoMessage(char * format, ...) {
SetMessage(message2);
}
-EXPORT void ErrorMessage(char * format, ...) {
+EXPORT void ErrorMessage(const char * format, ...) {
va_list ap;
va_start(ap, format);
format = ParseMessage(format);
- vsprintf(message2, format, ap);
+ vsnprintf(message2, 1020, format, ap);
va_end(ap);
InfoSubstituteControls( NULL, NULL);
SetMessage(message2);
@@ -580,37 +629,27 @@ EXPORT void ErrorMessage(char * format, ...) {
inError = TRUE;
}
-EXPORT int NoticeMessage(char * format, char * yes, char * no, ...) {
+EXPORT int NoticeMessage(const char * format, const char * yes, const char * no, ...) {
va_list ap;
va_start(ap, no);
format = ParseMessage(format);
- vsprintf(message2, format, ap);
+ vsnprintf(message2, 1020, format, ap);
va_end(ap);
return wNotice(message2, yes, no);
}
-EXPORT int NoticeMessage2(int playbackRC, char * format, char * yes, char * no,
+EXPORT int NoticeMessage2(int playbackRC, const char * format, const char * yes, const char * no,
...) {
va_list ap;
if (inPlayback)
return playbackRC;
va_start(ap, no);
format = ParseMessage(format);
- vsprintf(message2, format, ap);
+ vsnprintf(message2, 1020, format, ap);
va_end(ap);
return wNoticeEx( NT_INFORMATION, message2, yes, no);
}
-/**
-* Set the file's changed flag and update the window title.
-*/
-
-void
-FileIsChanged(void)
-{
- changed++;
- SetWindowTitle();
-}
/*****************************************************************************
*
@@ -652,16 +691,16 @@ Confirm(char * label2, doSaveCallBack_p after)
return(rc != 0);
}
-static void ChkLoad(void) {
+static void ChkLoad(void * unused) {
Confirm(_("Load"), DoLoad);
}
-static void ChkExamples( void )
+static void ChkExamples( void * unused )
{
Confirm(_("examples"), DoExamples);
}
-static void ChkRevert(void)
+static void ChkRevert(void * unused)
{
int rc;
@@ -673,7 +712,7 @@ static void ChkRevert(void)
if (rc) {
/* load the file */
char *filename = GetLayoutFullPath();
- LoadTracks(1, &filename, NULL);
+ LoadTracks(1, &filename, I2VP(1)); //Keep background
}
}
}
@@ -693,15 +732,15 @@ static void ChkFileList(int index, const char * label, void * data) {
*/
EXPORT void SaveState(void) {
- wPos_t width, height;
+ wWinPix_t width, height;
const char * fileName;
void * pathName;
char file[6];
int inx;
wWinGetSize(mainW, &width, &height);
- wPrefSetInteger("draw", "mainwidth", width);
- wPrefSetInteger("draw", "mainheight", height);
+ wPrefSetInteger("draw", "mainwidth", (int)width);
+ wPrefSetInteger("draw", "mainheight", (int)height);
SaveParamFileList();
ParamUpdatePrefs();
@@ -720,8 +759,7 @@ EXPORT void SaveState(void) {
}
}
}
- wPrefFlush();
- LogClose();
+ wPrefFlush("");
}
/*
@@ -729,16 +767,15 @@ EXPORT void SaveState(void) {
*/
static void DoQuitAfter(void) {
changed = 0;
+ CleanupFiles(); //Get rid of checkpoint if we quit.
SaveState();
-
- CleanupFiles();
}
/**
* Process shutdown request. This function is called when the user requests
* to close the application. Before shutting down confirmation is gotten to
* prevent data loss.
*/
-void DoQuit(void) {
+void DoQuit(void * unused) {
if (Confirm(_("Quit"), DoQuitAfter)) {
#ifdef CHECK_UNUSED_BALLOONHELP
@@ -765,7 +802,7 @@ static void DoClearAfter(void) {
LayoutBackGroundInit(TRUE);
}
-static void DoClear(void) {
+static void DoClear(void * unused) {
Confirm(_("Clear"), DoClearAfter);
}
@@ -773,7 +810,7 @@ static void DoClear(void) {
* Toggle visibility state of map window.
*/
-void MapWindowToggleShow(void) {
+void MapWindowToggleShow(void * unused) {
MapWindowShow(!mapVisible);
}
@@ -812,7 +849,7 @@ int MagneticSnap(int state)
/**
* Toggle magnets on/off
*/
-void MagneticSnapToggle(void) {
+void MagneticSnapToggle(void * unused) {
MagneticSnap(!magneticSnap);
}
@@ -860,6 +897,7 @@ EXPORT void wHide(wWin_p win) {
if (inMainW && win == aboutW)
return;
wMenuListDelete(winList_mi, wWinGetTitle(win));
+ ParamResetInvalid( win );
if (inPlayback)
for (inx = 0; inx < demoWindows_da.cnt; inx++)
if ( demoWindows(inx) == win)
@@ -890,7 +928,7 @@ EXPORT void DefaultProc(wWin_p win, winProcEvent e, void * data) {
static void NextWindow(void) {
}
-EXPORT void SelectFont(void) {
+EXPORT void SelectFont(void * unused) {
wSelectFont(_("XTrackCAD Font"));
}
@@ -900,14 +938,14 @@ EXPORT void SelectFont(void) {
*
*/
-#define COMMAND_MAX (170)
-#define BUTTON_MAX (170)
+#define COMMAND_MAX (180)
+#define BUTTON_MAX (180)
#define NUM_CMDMENUS (4)
static struct {
wControl_p control;
wBool_t enabled;
- wPos_t x, y;
+ wWinPix_t x, y;
long options;
int group;
wIndex_t cmdInx;
@@ -934,7 +972,7 @@ static int commandCnt = 0;
int * balloonHelpCnts;
#endif
-EXPORT const char * GetBalloonHelpStr(char * helpKey) {
+EXPORT const char * GetBalloonHelpStr(const char * helpKey) {
wBalloonHelp_t * bh;
#ifdef CHECK_UNUSED_BALLOONHELP
if ( balloonHelpCnts == NULL ) {
@@ -1032,6 +1070,26 @@ EXPORT wIndex_t GetCurrentCommand() {
static wIndex_t autosave_count = 0;
+EXPORT void TryCheckPoint() {
+ if (checkPtInterval > 0
+ && changed >= checkPtMark + (wIndex_t) checkPtInterval
+ && !inPlayback) {
+ DoCheckPoint();
+ checkPtMark = changed;
+
+ autosave_count++;
+
+ if ((autosaveChkPoints>0) && (autosave_count>=autosaveChkPoints)) {
+ if ( bReadOnly || *(GetLayoutFilename()) == '\0') {
+ SetAutoSave();
+ } else
+ DoSave(NULL);
+ InfoMessage(_("File AutoSaved"));
+ autosave_count = 0;
+ }
+ }
+}
+
EXPORT void Reset(void) {
if (recordF) {
fprintf(recordF, "RESET\n");
@@ -1052,22 +1110,8 @@ EXPORT void Reset(void) {
(wButton_p) buttonList[commandList[curCommand].buttInx].control,
TRUE);
tempSegs_da.cnt = 0;
- if (checkPtInterval > 0
- && changed >= checkPtMark + (wIndex_t) checkPtInterval
- && !inPlayback) {
- DoCheckPoint();
- checkPtMark = changed;
-
- autosave_count++;
-
- if ((autosaveChkPoints>0) && (autosave_count>=autosaveChkPoints)) {
- DoSave(NULL);
- InfoMessage(_("File AutoSaved"));
- autosave_count = 0;
- }
- }
-
+ TryCheckPoint();
ClrAllTrkBits( TB_UNDRAWN );
DoRedraw(); // Reset
@@ -1238,8 +1282,11 @@ EXPORT wBool_t DoCurCommand(wAction_t action, coOrd pos) {
if (commandList[curCommand].options & IC_NORESTART) {
return C_CONTINUE;
}
+ //Make sure we checkpoint even sticky commands
+ TryCheckPoint();
LOG(log_command, 1,
( "COMMAND START %s\n", commandList[curCommand].helpKey ))
+ wSetCursor(mainD.d,defaultCursor);
rc = commandList[curCommand].cmdProc( C_START, pos);
LOG(log_command, 4, ( " COMMAND returns %d\n", rc ))
switch (rc) {
@@ -1261,9 +1308,12 @@ EXPORT wBool_t DoCurCommand(wAction_t action, coOrd pos) {
return rc;
}
-EXPORT void ConfirmReset(BOOL_T retry) {
+/*
+ * \parm reset says if the user used Esc rather than undo/redo
+ */
+EXPORT int ConfirmReset(BOOL_T retry) {
wAction_t rc;
- if (curCommand != describeCmdInx && curCommand != selectCmdInx) {
+ if (curCommand != describeCmdInx) {
LOG(log_command, 3,
( "COMMAND CONFIRM %s\n", commandList[curCommand].helpKey ))
rc = commandList[curCommand].cmdProc( C_CONFIRM, zero);
@@ -1274,25 +1324,25 @@ EXPORT void ConfirmReset(BOOL_T retry) {
wNotice3(
_(
"Cancelling the current command will undo the changes\n"
- "you are currently making. Do you want to update?"),
+ "you are currently making. Do you want to do the update instead?"),
_("Yes"), _("No"), _("Cancel"));
else
rc =
wNoticeEx( NT_WARNING,
_(
"Cancelling the current command will undo the changes\n"
- "you are currently making. Do you want to update?"),
+ "you are currently making. Do you want to do the update instead?"),
_("Yes"), _("No"));
if (rc == 1) {
LOG(log_command, 3,
( "COMMAND OK %s\n", commandList[curCommand].helpKey ))
commandList[curCommand].cmdProc( C_OK, zero);
- return;
+ return C_OK;
} else if (rc == -1) {
- return;
+ return C_CANCEL;
}
} else if (rc == C_TERMINATE) {
- return;
+ return C_TERMINATE;
}
}
if (retry) {
@@ -1303,6 +1353,7 @@ EXPORT void ConfirmReset(BOOL_T retry) {
LOG(log_command, 1,
( "COMMAND RESET %s\n", commandList[curCommand].helpKey ))
commandList[curCommand].cmdProc( C_START, zero);
+ return C_CONTINUE;
}
EXPORT BOOL_T IsCurCommandSticky(void) {
@@ -1319,7 +1370,7 @@ EXPORT void ResetIfNotSticky(void) {
}
EXPORT void DoCommandB(void * data) {
- wIndex_t inx = (wIndex_t) (long) data;
+ wIndex_t inx = (wIndex_t)VP2L(data);
STATUS_T rc;
static coOrd pos = { 0, 0 };
static int inDoCommandB = FALSE;
@@ -1365,6 +1416,10 @@ EXPORT void DoCommandB(void * data) {
( "COMMAND CANCEL %s\n", commandList[curCommand].helpKey ))
commandList[curCommand].cmdProc( C_CANCEL, pos);
tempSegs_da.cnt = 0;
+ } else {
+ LOG(log_command, 3,
+ ( "COMMAND FINISH %s\n", commandList[curCommand].helpKey ))
+ rc = commandList[curCommand].cmdProc( C_FINISH, zero);
}
if (commandList[curCommand].buttInx >= 0)
wButtonSetBusy(
@@ -1385,7 +1440,7 @@ EXPORT void DoCommandB(void * data) {
wControlSetHelp(buttonList[buttInx].control,
GetBalloonHelpStr(commandList[curCommand].helpKey));
wControlSetContext(buttonList[buttInx].control,
- (void*) (intptr_t) curCommand);
+ I2VP(curCommand));
buttonList[buttInx].cmdInx = curCommand;
}
wButtonSetBusy(
@@ -1394,6 +1449,7 @@ EXPORT void DoCommandB(void * data) {
}
LOG(log_command, 1,
( "COMMAND START %s\n", commandList[curCommand].helpKey ))
+ wSetCursor(mainD.d,defaultCursor);
rc = commandList[curCommand].cmdProc( C_START, pos);
LOG(log_command, 4, ( " COMMAND returns %d\n", rc ))
TempRedraw(); // DoCommandB
@@ -1419,16 +1475,17 @@ EXPORT void DoCommandB(void * data) {
static void DoCommandBIndirect(void * cmdInxP) {
wIndex_t cmdInx;
cmdInx = *(wIndex_t*) cmdInxP;
- DoCommandB((void*) (intptr_t) cmdInx);
+ DoCommandB(I2VP(cmdInx));
}
EXPORT void LayoutSetPos(wIndex_t inx) {
- wPos_t w, h, offset;
- static wPos_t toolbarRowHeight = 0;
- static wPos_t width;
+ wWinPix_t w, h, offset;
+ static wWinPix_t toolbarRowHeight = 0;
+ static wWinPix_t width;
static int lastGroup;
- static wPos_t gap;
+ static wWinPix_t gap;
static int layerButtCnt;
+ static int layerButtNumber;
int currGroup;
if (inx == 0) {
@@ -1437,6 +1494,7 @@ EXPORT void LayoutSetPos(wIndex_t inx) {
gap = 5;
toolbarWidth = width - 20 + 5;
layerButtCnt = 0;
+ layerButtNumber = 0;
toolbarHeight = 0;
}
@@ -1455,7 +1513,7 @@ EXPORT void LayoutSetPos(wIndex_t inx) {
&& (programMode == MODE_TRAIN
|| (buttonList[inx].options & IC_MODETRAIN_ONLY) == 0)
&& ((buttonList[inx].group & ~BG_BIGGAP) != BG_LAYER
- || layerButtCnt++ <= layerCount)) {
+ || layerButtCnt < layerCount)) {
if (currGroup != lastGroup) {
toolbarWidth += gap;
lastGroup = currGroup;
@@ -1473,12 +1531,21 @@ EXPORT void LayoutSetPos(wIndex_t inx) {
toolbarWidth = 0;
toolbarHeight += h + 5;
}
- wControlSetPos(buttonList[inx].control, toolbarWidth,
+ if ((currGroup == BG_LAYER) && layerButtNumber>1 && GetLayerHidden(layerButtNumber-2) ) {
+ wControlShow(buttonList[inx].control, FALSE);
+ layerButtNumber++;
+ } else {
+ if (currGroup == BG_LAYER ) {
+ if (layerButtNumber>1) layerButtCnt++; // Ignore List and Background
+ layerButtNumber++;
+ }
+ wControlSetPos(buttonList[inx].control, toolbarWidth,
toolbarHeight - (h + 5 +offset));
- buttonList[inx].x = toolbarWidth;
- buttonList[inx].y = toolbarHeight - (h + 5 + offset);
- toolbarWidth += wControlGetWidth(buttonList[inx].control);
- wControlShow(buttonList[inx].control, TRUE);
+ buttonList[inx].x = toolbarWidth;
+ buttonList[inx].y = toolbarHeight - (h + 5 + offset);
+ toolbarWidth += wControlGetWidth(buttonList[inx].control);
+ wControlShow(buttonList[inx].control, TRUE);
+ }
} else {
wControlShow(buttonList[inx].control, FALSE);
}
@@ -1518,8 +1585,8 @@ EXPORT BOOL_T CommandEnabled(wIndex_t cmdInx) {
return commandList[cmdInx].enabled;
}
-static wIndex_t AddCommand(procCommand_t cmdProc, char * helpKey,
- char * nameStr, wIcon_p icon, int reqLevel, long options, long acclKey,
+static wIndex_t AddCommand(procCommand_t cmdProc, const char * helpKey,
+ const char * nameStr, wIcon_p icon, int reqLevel, long options, long acclKey,
void * context) {
if (commandCnt >= COMMAND_MAX - 1) {
AbortProg("addCommand: too many commands");
@@ -1557,7 +1624,7 @@ EXPORT void AddToolbarControl(wControl_p control, long options) {
buttonCnt++;
}
-EXPORT wButton_p AddToolbarButton(char * helpStr, wIcon_p icon, long options,
+EXPORT wButton_p AddToolbarButton(const char * helpStr, wIcon_p icon, long options,
wButtonCallBack_p action, void * context) {
wButton_p bb;
wIndex_t inx;
@@ -1565,10 +1632,10 @@ EXPORT wButton_p AddToolbarButton(char * helpStr, wIcon_p icon, long options,
GetBalloonHelpStr(helpStr);
if (context == NULL) {
for (inx = 0; inx < menuPG.paramCnt; inx++) {
- if (action != DoCommandB && menuPLs[inx].valueP == (void*) action) {
+ if (action != DoCommandB && menuPLs[inx].valueP == I2VP(action)) {
context = &menuPLs[inx];
action = ParamMenuPush;
- menuPLs[inx].context = (void*) (intptr_t) buttonCnt;
+ menuPLs[inx].context = I2VP(buttonCnt);
menuPLs[inx].option |= IC_PLAYBACK_PUSH;
break;
}
@@ -1581,7 +1648,8 @@ EXPORT wButton_p AddToolbarButton(char * helpStr, wIcon_p icon, long options,
}
EXPORT void PlaybackButtonMouse(wIndex_t buttInx) {
- wPos_t cmdX, cmdY;
+ wWinPix_t cmdX, cmdY;
+ coOrd pos;
if (buttInx < 0 || buttInx >= buttonCnt)
return;
@@ -1589,9 +1657,10 @@ EXPORT void PlaybackButtonMouse(wIndex_t buttInx) {
return;
cmdX = buttonList[buttInx].x + 17;
cmdY = toolbarHeight - (buttonList[buttInx].y + 17)
- + (wPos_t) (mainD.size.y / mainD.scale * mainD.dpi) + 30;
+ + (wWinPix_t) (mainD.size.y / mainD.scale * mainD.dpi) + 30;
- MovePlaybackCursor(&mainD, cmdX, cmdY,TRUE,buttonList[buttInx].control);
+ mainD.Pix2CoOrd( &mainD, cmdX, cmdY, &pos );
+ MovePlaybackCursor(&mainD, pos, TRUE, buttonList[buttInx].control);
if (playbackTimer == 0) {
wButtonSetBusy((wButton_p) buttonList[buttInx].control, TRUE);
wFlush();
@@ -1601,14 +1670,14 @@ EXPORT void PlaybackButtonMouse(wIndex_t buttInx) {
}
}
-#include "bitmaps/openbutt.xpm"
-static char * buttonGroupMenuTitle;
-static char * buttonGroupHelpKey;
-static char * buttonGroupStickyLabel;
+#include "bitmaps/down.xpm"
+static const char * buttonGroupMenuTitle;
+static const char * buttonGroupHelpKey;
+static const char * buttonGroupStickyLabel;
static wMenu_p buttonGroupPopupM;
-EXPORT void ButtonGroupBegin(char * menuTitle, char * helpKey,
- char * stickyLabel) {
+EXPORT void ButtonGroupBegin(const char * menuTitle, const char * helpKey,
+ const char * stickyLabel) {
buttonGroupMenuTitle = menuTitle;
buttonGroupHelpKey = helpKey;
buttonGroupStickyLabel = stickyLabel;
@@ -1622,7 +1691,7 @@ EXPORT void ButtonGroupEnd(void) {
}
EXPORT wIndex_t AddMenuButton(wMenu_p menu, procCommand_t command,
- char * helpKey, char * nameStr, wIcon_p icon, int reqLevel,
+ const char * helpKey, const char * nameStr, wIcon_p icon, int reqLevel,
long options, long acclKey, void * context) {
wIndex_t buttInx = -1;
wIndex_t cmdInx;
@@ -1639,17 +1708,17 @@ EXPORT wIndex_t AddMenuButton(wMenu_p menu, procCommand_t command,
} else {
buttInx = buttonCnt;
AddToolbarButton(helpKey, icon, options,
- (wButtonCallBack_p) DoCommandB,
- (void*) (intptr_t) commandCnt);
+ DoCommandB,
+ I2VP(commandCnt));
buttonList[buttInx].cmdInx = commandCnt;
}
if (buttonGroupMenuTitle != NULL && buttonGroupPopupM == NULL) {
if (openbuttIcon == NULL)
- openbuttIcon = wIconCreatePixMap(openbutt_xpm);
+ openbuttIcon = wIconCreatePixMap(down_xpm[iconSize]);
buttonGroupPopupM = wMenuPopupCreate(mainW, buttonGroupMenuTitle);
AddToolbarButton(buttonGroupHelpKey, openbuttIcon, IC_ABUT,
(wButtonCallBack_p) wMenuPopupShow,
- (void*) buttonGroupPopupM);
+ buttonGroupPopupM);
newButtonGroup = TRUE;
commandsSubmenu = wMenuMenuCreate(menu, "", buttonGroupMenuTitle);
if (options & IC_POPUP2) {
@@ -1690,7 +1759,7 @@ EXPORT wIndex_t AddMenuButton(wMenu_p menu, procCommand_t command,
if (buttonGroupPopupM) {
commandList[cmdInx].menu[0] = wMenuPushCreate(buttonGroupPopupM,
helpKey, GetBalloonHelpStr(helpKey), 0, DoCommandB,
- (void*) (intptr_t) cmdInx);
+ I2VP(cmdInx));
tm = commandsSubmenu;
p1m = popup1Submenu;
p2m = popup2Submenu;
@@ -1700,21 +1769,21 @@ EXPORT wIndex_t AddMenuButton(wMenu_p menu, procCommand_t command,
p2m = (options & IC_POPUP2) ? popup2aM : (options & IC_POPUP3) ? popup2mM : popup2M;
}
commandList[cmdInx].menu[1] = wMenuPushCreate(tm, helpKey, nameStr, acclKey,
- DoCommandB, (void*) (intptr_t) cmdInx);
+ DoCommandB, I2VP(cmdInx));
if ((options & (IC_POPUP | IC_POPUP2 | IC_POPUP3))) {
if (!(options & IC_SELECTED)) {
commandList[cmdInx].menu[2] = wMenuPushCreate(p1m, helpKey, nameStr,
- 0, DoCommandB, (void*) (intptr_t) cmdInx);
+ 0, DoCommandB, I2VP(cmdInx));
}
commandList[cmdInx].menu[3] = wMenuPushCreate(p2m, helpKey, nameStr, 0,
- DoCommandB, (void*) (intptr_t) cmdInx);
+ DoCommandB, I2VP(cmdInx));
}
return cmdInx;
}
-EXPORT wIndex_t InitCommand(wMenu_p menu, procCommand_t command, char * nameStr,
- char * bits, int reqLevel, long options, long acclKey) {
+EXPORT wIndex_t InitCommand(wMenu_p menu, procCommand_t command, const char * nameStr,
+ const char * bits, int reqLevel, long options, long acclKey) {
char helpKey[STR_SHORT_SIZE];
wIcon_p icon = NULL;
if (bits)
@@ -1727,10 +1796,10 @@ EXPORT wIndex_t InitCommand(wMenu_p menu, procCommand_t command, char * nameStr,
/*--------------------------------------------------------------------*/
-EXPORT void PlaybackCommand(char * line, wIndex_t lineNum) {
- wIndex_t inx;
+EXPORT void PlaybackCommand(const char * line, wIndex_t lineNum) {
+ size_t inx;
wIndex_t buttInx;
- int len1, len2;
+ size_t len1, len2;
len1 = strlen(line + 8);
for (inx = 0; inx < commandCnt; inx++) {
len2 = strlen(commandList[inx].helpKey + 3);
@@ -1743,12 +1812,14 @@ EXPORT void PlaybackCommand(char * line, wIndex_t lineNum) {
fprintf(stderr, "Unknown playback COMMAND command %d : %s\n", lineNum,
line);
} else {
- wPos_t cmdX, cmdY;
+ wWinPix_t cmdX, cmdY;
+ coOrd pos;
if ((buttInx = commandList[inx].buttInx) >= 0) {
cmdX = buttonList[buttInx].x + 17;
cmdY = toolbarHeight - (buttonList[buttInx].y + 17)
- + (wPos_t) (mainD.size.y / mainD.scale * mainD.dpi) + 30;
- MovePlaybackCursor(&mainD, cmdX, cmdY,TRUE,buttonList[buttInx].control);
+ + (wWinPix_t) (mainD.size.y / mainD.scale * mainD.dpi) + 30;
+ mainD.Pix2CoOrd( &mainD, cmdX, cmdY, &pos );
+ MovePlaybackCursor(&mainD, pos,TRUE,buttonList[buttInx].control);
}
if (strcmp(line + 8, "Undo") == 0) {
if (buttInx > 0 && playbackTimer == 0) {
@@ -1758,7 +1829,7 @@ EXPORT void PlaybackCommand(char * line, wIndex_t lineNum) {
wButtonSetBusy((wButton_p) buttonList[buttInx].control, FALSE);
wFlush();
}
- UndoUndo();
+ UndoUndo(NULL);
} else if (strcmp(line + 8, "Redo") == 0) {
if (buttInx >= 0 && playbackTimer == 0) {
wButtonSetBusy((wButton_p) buttonList[buttInx].control, TRUE);
@@ -1767,7 +1838,7 @@ EXPORT void PlaybackCommand(char * line, wIndex_t lineNum) {
wButtonSetBusy((wButton_p) buttonList[buttInx].control, FALSE);
wFlush();
}
- UndoRedo();
+ UndoRedo(NULL);
} else {
if (buttInx >= 0 && playbackTimer == 0) {
wButtonSetBusy((wButton_p) buttonList[buttInx].control, TRUE);
@@ -1776,7 +1847,7 @@ EXPORT void PlaybackCommand(char * line, wIndex_t lineNum) {
wButtonSetBusy((wButton_p) buttonList[buttInx].control, FALSE);
wFlush();
}
- DoCommandB((void*) (intptr_t) inx);
+ DoCommandB(I2VP(inx));
}
}
}
@@ -1798,7 +1869,7 @@ static void DoMenuTrace(wMenu_p menu, const char * label, void * data) {
}
}
-EXPORT wMenu_p MenuRegister(char * label) {
+EXPORT wMenu_p MenuRegister(const char * label) {
wMenu_p m;
menuTrace_p mt;
m = wMenuPopupCreate(mainW, label);
@@ -1813,15 +1884,13 @@ EXPORT wMenu_p MenuRegister(char * label) {
void MenuPlayback(char * line) {
char * menuName, *itemName;
coOrd pos;
- wPos_t x, y;
menuTrace_p mt;
if (!GetArgs(line, "pqq", &pos, &menuName, &itemName))
return;
for (mt = &menuTrace(0); mt < &menuTrace(menuTrace_da.cnt); mt++) {
if (strcmp(mt->label, menuName) == 0) {
- mainD.CoOrd2Pix(&mainD, pos, &x, &y);
- MovePlaybackCursor(&mainD, x, y, FALSE, NULL);
+ MovePlaybackCursor(&mainD, pos, FALSE, NULL);
oldMarker = cmdMenuPos = pos;
wMenuAction(mt->menu, _(itemName));
return;
@@ -1833,17 +1902,17 @@ void MenuPlayback(char * line) {
static wWin_p stickyW;
-static void StickyOk(void *);
+static void StickyOk(void * unused);
static paramData_t stickyPLs[] = { { PD_TOGGLE, &stickySet, "set", 0,
stickyLabels } };
static paramGroup_t stickyPG = { "sticky", PGO_RECORD, stickyPLs,
- sizeof stickyPLs / sizeof stickyPLs[0] };
+ COUNT( stickyPLs ) };
-static void StickyOk(void * junk) {
+static void StickyOk(void * unused) {
wHide(stickyW);
}
-static void DoSticky(void) {
+static void DoSticky(void * unused) {
if (!stickyW)
stickyW = ParamCreateDialog(&stickyPG,
MakeWindowTitle(_("Sticky Commands")), _("Ok"), StickyOk, wHide,
@@ -1859,21 +1928,26 @@ static void DoSticky(void) {
* specified in the following array.
* Note: text and choices must be given in the same order.
*/
-static char *AllToolbarLabels[] = { N_("File Buttons"), N_("Import/Export Buttons"), N_("Zoom Buttons"), N_(
- "Undo Buttons"), N_("Easement Button"), N_("SnapGrid Buttons"), N_(
- "Create Track Buttons"), N_("Layout Control Elements"), N_(
- "Modify Track Buttons"), N_("Properties/Select"), N_(
- "Track Group Buttons"), N_("Train Group Buttons"), N_(
- "Create Misc Buttons"), N_("Ruler Button"), N_("Layer Buttons"), N_(
- "Hot Bar"),
+static char *AllToolbarLabels[] = { N_("File Buttons"), N_("Print Buttons"), N_("Import/Export Buttons"),
+ N_("Zoom Buttons"), N_("Undo Buttons"), N_("Easement Button"), N_("SnapGrid Buttons"),
+ N_("Create Track Buttons"), N_("Layout Control Elements"),
+ N_("Modify Track Buttons"), N_("Properties/Select"),
+ N_("Track Group Buttons"), N_("Train Group Buttons"),
+ N_("Create Misc Buttons"), N_("Ruler Button"),
+ N_("Layer Buttons"), N_("Hot Bar"),
NULL };
-static long AllToolbarMasks[] = { 1 << BG_FILE, 1<< BG_EXPORTIMPORT, 1 << BG_ZOOM, 1 << BG_UNDO, 1
- << BG_EASE, 1 << BG_SNAP, 1 << BG_TRKCRT, 1 << BG_CONTROL, 1
- << BG_TRKMOD, 1 << BG_SELECT, 1 << BG_TRKGRP, 1 << BG_TRAIN, 1
- << BG_MISCCRT, 1 << BG_RULER, 1 << BG_LAYER, 1 << BG_HOTBAR };
-
-static void ToolbarAction(wBool_t set, void * data) {
- long mask = (long) data;
+static long AllToolbarMasks[] = { 1 << BG_FILE, 1<< BG_PRINT, 1<< BG_EXPORTIMPORT,
+ 1<< BG_ZOOM, 1<< BG_UNDO, 1<< BG_EASE, 1 << BG_SNAP, 1 << BG_TRKCRT,
+ 1<< BG_CONTROL, 1<< BG_TRKMOD, 1 << BG_SELECT, 1 << BG_TRKGRP, 1 << BG_TRAIN,
+ 1<< BG_MISCCRT, 1<< BG_RULER, 1 << BG_LAYER, 1 << BG_HOTBAR };
+
+static wMenuToggle_p AllToolbarMI[ COUNT( AllToolbarMasks ) ];
+
+static void ToolbarAction(void * data) {
+ int inx = (int)VP2L(data);
+ ASSERT( inx >=0 && inx < COUNT( AllToolbarMasks ) );
+ wBool_t set = wMenuToggleGet( AllToolbarMI[inx] );
+ long mask = AllToolbarMasks[inx];
if (set)
toolbarSet |= mask;
else
@@ -1898,13 +1972,13 @@ static void CreateToolbarM(wMenu_p toolbarM) {
char **labels;
wBool_t set;
- cnt = sizeof(AllToolbarMasks) / sizeof(AllToolbarMasks[0]);
+ cnt = COUNT(AllToolbarMasks);
masks = AllToolbarMasks;
labels = AllToolbarLabels;
for (inx = 0; inx < cnt; inx++, masks++, labels++) {
set = (toolbarSet & *masks) != 0;
- wMenuToggleCreate(toolbarM, "toolbarM", _(*labels), 0, set,
- ToolbarAction, (void*) *masks);
+ AllToolbarMI[inx] = wMenuToggleCreate(toolbarM, "toolbarM", _(*labels), 0, set,
+ ToolbarAction, I2VP(inx));
}
}
@@ -1913,21 +1987,20 @@ static void CreateToolbarM(wMenu_p toolbarM) {
static wWin_p addElevW;
#define addElevF (wFloat_p)addElevPD.control
EXPORT DIST_T addElevValueV;
-static void DoAddElev(void *);
+static void DoAddElev(void * unused);
static paramFloatRange_t rn1000_1000 = { -1000.0, 1000.0 };
static paramData_t addElevPLs[] = { { PD_FLOAT, &addElevValueV, "value",
- PDO_DIM, &rn1000_1000, NULL, 0 } };
-static paramGroup_t addElevPG = { "addElev", 0, addElevPLs, sizeof addElevPLs
- / sizeof addElevPLs[0] };
+ PDO_NOPREF|PDO_DIM, &rn1000_1000, NULL, 0 } };
+static paramGroup_t addElevPG = { "addElev", 0, addElevPLs, COUNT( addElevPLs ) };
-static void DoAddElev(void * junk) {
+static void DoAddElev(void * unused) {
ParamLoadData(&addElevPG);
AddElevations(addElevValueV);
wHide(addElevW);
}
-static void ShowAddElevations(void) {
+static void ShowAddElevations(void * unused) {
if (selectedTrackCount <= 0) {
ErrorMessage(MSG_NO_SELECTED_TRK);
return;
@@ -1942,29 +2015,36 @@ static void ShowAddElevations(void) {
/*--------------------------------------------------------------------*/
static wWin_p rotateW;
+static wWin_p indexW;
static wWin_p moveW;
static double rotateValue;
+static char trackIndex[STR_LONG_SIZE];
static coOrd moveValue;
static rotateDialogCallBack_t rotateDialogCallBack;
+static indexDialogCallBack_t indexDialogCallBack;
static moveDialogCallBack_t moveDialogCallBack;
-static void RotateEnterOk(void *);
+static void RotateEnterOk(void * unused);
+
+static paramFloatRange_t rn360_360 = { -360.0, 360.0, 80 };
+static paramData_t rotatePLs[] = { { PD_FLOAT, &rotateValue, "rotate", PDO_NOPREF|PDO_ANGLE|PDO_NORECORD, &rn360_360, N_("Angle:") } };
+static paramGroup_t rotatePG = { "rotate", 0, rotatePLs, COUNT( rotatePLs ) };
-static paramFloatRange_t rn360_360 = { -360.0, 360.0, 80.0 };
-static paramData_t rotatePLs[] = { { PD_FLOAT, &rotateValue, "rotate", PDO_ANGLE,
- &rn360_360, N_("Angle:") } };
-static paramGroup_t rotatePG = { "rotate", 0, rotatePLs, sizeof rotatePLs
- / sizeof rotatePLs[0] };
+static void IndexEnterOk(void * unused);
+static paramData_t indexPLs[] = {
+ { PD_STRING, &trackIndex, "select", PDO_NOPREF|PDO_NORECORD|PDO_STRINGLIMITLENGTH, I2VP(STR_SIZE-1), N_("Indexes:"), 0, 0, sizeof(trackIndex) } };
+static paramGroup_t indexPG = { "index", 0, indexPLs, COUNT( indexPLs ) };
static paramFloatRange_t r_1000_1000 = { -1000.0, 1000.0, 80 };
-static void MoveEnterOk(void *);
-static paramData_t movePLs[] = { { PD_FLOAT, &moveValue.x, "moveX", PDO_DIM,
- &r_1000_1000, N_("Move X:") }, { PD_FLOAT, &moveValue.y, "moveY",
- PDO_DIM, &r_1000_1000, N_("Move Y:") } };
-static paramGroup_t movePG = { "move", 0, movePLs, sizeof movePLs
- / sizeof movePLs[0] };
-
-EXPORT void StartRotateDialog(rotateDialogCallBack_t func) {
+static void MoveEnterOk(void * unused);
+static paramData_t movePLs[] = {
+ { PD_FLOAT, &moveValue.x, "moveX", PDO_NOPREF|PDO_DIM|PDO_NORECORD, &r_1000_1000, N_("Move X:") },
+ { PD_FLOAT, &moveValue.y, "moveY", PDO_NOPREF|PDO_DIM|PDO_NORECORD, &r_1000_1000, N_("Move Y:") } };
+static paramGroup_t movePG = { "move", 0, movePLs, COUNT( movePLs ) };
+
+static void StartRotateDialog(void * funcVP)
+{
+ rotateDialogCallBack_t func = funcVP;
if (rotateW == NULL)
rotateW = ParamCreateDialog(&rotatePG, MakeWindowTitle(_("Rotate")),
_("Ok"), RotateEnterOk, wHide, FALSE, NULL, 0, NULL);
@@ -1973,7 +2053,21 @@ EXPORT void StartRotateDialog(rotateDialogCallBack_t func) {
wShow(rotateW);
}
-EXPORT void StartMoveDialog(moveDialogCallBack_t func) {
+static void StartIndexDialog(void * funcVP)
+{
+ indexDialogCallBack_t func = funcVP;
+ if (indexW == NULL)
+ indexW = ParamCreateDialog(&indexPG, MakeWindowTitle(_("Select Index")),
+ _("Ok"), IndexEnterOk, wHide, FALSE, NULL, 0, NULL);
+ ParamLoadControls(&indexPG);
+ indexDialogCallBack = func;
+ trackIndex[0] = '\0';
+ wShow(indexW);
+}
+
+static void StartMoveDialog(void * funcVP)
+{
+ moveDialogCallBack_t func = funcVP;
if (moveW == NULL)
moveW = ParamCreateDialog(&movePG, MakeWindowTitle(_("Move")), _("Ok"),
MoveEnterOk, wHide, FALSE, NULL, 0, NULL);
@@ -1983,18 +2077,24 @@ EXPORT void StartMoveDialog(moveDialogCallBack_t func) {
wShow(moveW);
}
-static void MoveEnterOk(void * junk) {
+static void MoveEnterOk(void * unused) {
ParamLoadData(&movePG);
- moveDialogCallBack((void*) &moveValue);
+ moveDialogCallBack(&moveValue);
wHide(moveW);
}
-static void RotateEnterOk(void * junk) {
+static void IndexEnterOk(void * unused) {
+ ParamLoadData(&indexPG);
+ indexDialogCallBack(trackIndex);
+ wHide(indexW);
+}
+
+static void RotateEnterOk(void * unused) {
ParamLoadData(&rotatePG);
if (angleSystem == ANGLE_POLAR)
- rotateDialogCallBack((void*) (long)(rotateValue*1000));
+ rotateDialogCallBack(I2VP(rotateValue * 1000));
else
- rotateDialogCallBack((void*) (long)(-rotateValue*1000));
+ rotateDialogCallBack(I2VP(rotateValue * 1000));
wHide(rotateW);
}
@@ -2006,24 +2106,33 @@ static void MoveDialogInit(void) {
ParamRegister(&movePG);
}
+static void IndexDialogInit(void) {
+ ParamRegister(&indexPG);
+}
+
EXPORT void AddMoveMenu(wMenu_p m, moveDialogCallBack_t func) {
wMenuPushCreate(m, "", _("Enter Move ..."), 0,
- (wMenuCallBack_p) StartMoveDialog, (void*) func);
+ StartMoveDialog, func);
+}
+
+EXPORT void AddIndexMenu(wMenu_p m, indexDialogCallBack_t func) {
+ wMenuPushCreate(m, "cmdSelectIndex", _("Select Track Index ..."), 0,
+ StartIndexDialog, func);
}
//All values multipled by 100 to support decimal points from PD_FLOAT
EXPORT void AddRotateMenu(wMenu_p m, rotateDialogCallBack_t func) {
- wMenuPushCreate(m, "", _("180 "), 0, func, (void*) 180000);
- wMenuPushCreate(m, "", _("90 CW"), 0, func, (void*) (long) (90000));
- wMenuPushCreate(m, "", _("45 CW"), 0, func, (void*) (long) (45000));
- wMenuPushCreate(m, "", _("30 CW"), 0, func, (void*) (long) (30000));
- wMenuPushCreate(m, "", _("15 CW"), 0, func, (void*) (long) (15000));
- wMenuPushCreate(m, "", _("15 CCW"), 0, func, (void*) (long) (360000 - 15000));
- wMenuPushCreate(m, "", _("30 CCW"), 0, func, (void*) (long) (360000 - 30000));
- wMenuPushCreate(m, "", _("45 CCW"), 0, func, (void*) (long) (360000 - 45000));
- wMenuPushCreate(m, "", _("90 CCW"), 0, func, (void*) (long) (360000 - 90000));
+ wMenuPushCreate(m, "", _("180 "), 0, func, I2VP(180000));
+ wMenuPushCreate(m, "", _("90 CW"), 0, func, I2VP(90000));
+ wMenuPushCreate(m, "", _("45 CW"), 0, func, I2VP(45000));
+ wMenuPushCreate(m, "", _("30 CW"), 0, func, I2VP(30000));
+ wMenuPushCreate(m, "", _("15 CW"), 0, func, I2VP(15000));
+ wMenuPushCreate(m, "", _("15 CCW"), 0, func, I2VP(360000 - 15000));
+ wMenuPushCreate(m, "", _("30 CCW"), 0, func, I2VP(360000 - 30000));
+ wMenuPushCreate(m, "", _("45 CCW"), 0, func, I2VP(360000 - 45000));
+ wMenuPushCreate(m, "", _("90 CCW"), 0, func, I2VP(360000 - 90000));
wMenuPushCreate(m, "", _("Enter Angle ..."), 0,
- (wMenuCallBack_p) StartRotateDialog, (void*) func);
+ StartRotateDialog, func);
}
/*****************************************************************************
@@ -2036,14 +2145,17 @@ static wWin_p debugW;
static int debugCnt = 0;
static paramIntegerRange_t r0_100 = { 0, 100, 80 };
-static void DebugOk(void * junk);
+static void DebugOk(void * unused);
static paramData_t debugPLs[30];
+static paramData_t p0[] = {
+ { PD_BUTTON, TestMallocs, "test", PDO_DLGHORZ, NULL, N_("Test Mallocs") }
+ };
static long debug_values[30];
static int debug_index[30];
static paramGroup_t debugPG = { "debug", 0, debugPLs, 0 };
-static void DebugOk(void * junk) {
+static void DebugOk(void * unused) {
for (int i = 0; i<debugCnt;i++) {
logTable(debug_index[i]).level = debug_values[i];
}
@@ -2051,16 +2163,17 @@ static void DebugOk(void * junk) {
}
static void CreateDebugW(void) {
- debugPG.paramCnt = debugCnt;
+ debugPG.paramCnt = debugCnt+1;
ParamRegister(&debugPG);
debugW = ParamCreateDialog(&debugPG, MakeWindowTitle(_("Debug")), _("Ok"),
DebugOk, wHide, FALSE, NULL, 0, NULL);
wHide(debugW);
}
-EXPORT void DebugInit(void) {
+EXPORT void DebugInit(void * unused) {
if (!debugW) {
+ debugPLs[0] = p0[0];
BOOL_T default_line = FALSE;
debugCnt = 0; //Reset to start building the dynamic dialog over again
int i = 0;
@@ -2080,6 +2193,7 @@ EXPORT void DebugInit(void) {
}
}
}
+
//ParamCreateControls( &debugPG, NULL );
CreateDebugW();
}
@@ -2088,22 +2202,22 @@ EXPORT void DebugInit(void) {
}
-EXPORT void InitDebug(char * label, long * valueP) {
- if (debugCnt >= sizeof debugPLs / sizeof debugPLs[0])
+EXPORT void InitDebug(const char * label, long * valueP) {
+ if (debugCnt+1 >= COUNT( debugPLs ) )
AbortProg("Too many debug flags");
- memset(&debugPLs[debugCnt], 0, sizeof debugPLs[debugCnt]);
- debugPLs[debugCnt].type = PD_LONG;
- debugPLs[debugCnt].valueP = valueP;
- debugPLs[debugCnt].nameStr = label;
- debugPLs[debugCnt].winData = &r0_100;
- debugPLs[debugCnt].winLabel = label;
+ memset(&debugPLs[debugCnt+1], 0, sizeof debugPLs[debugCnt]);
+ debugPLs[debugCnt+1].type = PD_LONG;
+ debugPLs[debugCnt+1].valueP = valueP;
+ debugPLs[debugCnt+1].nameStr = label;
+ debugPLs[debugCnt+1].winData = &r0_100;
+ debugPLs[debugCnt+1].winLabel = label;
debugCnt++;
}
-void RecomputeElevations(void);
+void RecomputeElevations(void * unused );
-static void MiscMenuItemCreate(wMenu_p m1, wMenu_p m2, char * name,
- char * label, long acclKey, void * func, long option, void * context) {
+static void MiscMenuItemCreate(wMenu_p m1, wMenu_p m2, const char * name,
+ const char * label, long acclKey, void * func, long option, void * context) {
wMenuPush_p mp;
mp = wMenuPushCreate(m1, name, label, acclKey, ParamMenuPush,
&menuPLs[menuPG.paramCnt]);
@@ -2122,67 +2236,157 @@ static void MiscMenuItemCreate(wMenu_p m1, wMenu_p m2, char * name,
menuPG.paramCnt++;
}
+
+/*****************************************************************************
+ *
+ * ACCEL KEY
+ *
+ */
+
+enum eAccelAction_t { EA_ZOOMUP, EA_ZOOMDOWN, EA_REDRAW, EA_DELETE, EA_UNDO, EA_COPY, EA_PASTE, EA_CUT, EA_NEXT, EA_HELP };
+struct accelKey_s {
+ const char * sPrefName;
+ wAccelKey_e eKey;
+ int iMode;
+ enum eAccelAction_t iAction;
+ int iContext; } aAccelKeys[] = {
+ { "zoomUp", wAccelKey_Pgdn, 0, EA_ZOOMUP, 1 },
+ { "zoomDown", wAccelKey_Pgup, 0, EA_ZOOMDOWN, 1 },
+ { "redraw", wAccelKey_F5, 0, EA_REDRAW, 0 },
+#ifdef WINDOWS
+ { "delete", wAccelKey_Del, 0, EA_DELETE, 0 },
+#endif
+ { "undo", wAccelKey_Back, WKEY_SHIFT, EA_UNDO, 0 },
+ { "copy", wAccelKey_Ins, WKEY_CTRL, EA_COPY, 0 },
+ { "paste", wAccelKey_Ins, WKEY_SHIFT, EA_PASTE, 0 },
+ { "cut", wAccelKey_Del, WKEY_SHIFT, EA_CUT, 0 },
+ { "nextWindow", wAccelKey_F6, 0, EA_NEXT, 0 },
+ { "zoomUp", wAccelKey_Numpad_Add, WKEY_CTRL, EA_ZOOMUP, 1 },
+ { "zoomDown", wAccelKey_Numpad_Subtract, WKEY_CTRL, EA_ZOOMDOWN, 1 },
+ { "help", wAccelKey_F1, WKEY_SHIFT, EA_HELP, 1 },
+ { "help-context", wAccelKey_F1, 0, EA_HELP, 3 } };
+
+static void AccelKeyDispatch( wAccelKey_e key, void * accelKeyIndexVP )
+{
+ int iAccelKeyIndex = (int)VP2L(accelKeyIndexVP);
+ switch( aAccelKeys[iAccelKeyIndex].iAction ) {
+ case EA_ZOOMUP:
+ DoZoomUp( I2VP(aAccelKeys[iAccelKeyIndex].iContext) );
+ break;
+ case EA_ZOOMDOWN:
+ DoZoomDown( I2VP(aAccelKeys[iAccelKeyIndex].iContext) );
+ break;
+ case EA_REDRAW:
+ MainRedraw();
+ break;
+ case EA_DELETE:
+ TrySelectDelete();
+ break;
+ case EA_UNDO:
+ UndoUndo(NULL);
+ break;
+ case EA_COPY:
+ EditCopy(NULL);
+ break;
+ case EA_PASTE:
+ EditPaste(NULL);
+ break;
+ case EA_CUT:
+ EditCut(NULL);
+ break;
+ case EA_NEXT:
+ NextWindow();
+ break;
+ case EA_HELP:
+ wDoAccelHelp(key, I2VP(aAccelKeys[iAccelKeyIndex].iContext));
+ break;
+ default:
+ abort();
+ }
+}
+
static char * accelKeyNames[] = { "Del", "Ins", "Home", "End", "Pgup", "Pgdn",
"Up", "Down", "Right", "Left", "Back", "F1", "F2", "F3", "F4", "F5",
"F6", "F7", "F8", "F9", "F10", "F11", "F12", "NumpadAdd", "NumpadSub" };
-static void SetAccelKey(char * prefName, wAccelKey_e key, int mode,
- wAccelKeyCallBack_p func, void * context) {
- int mode1 = 0;
- int inx;
- const char * prefValue = wPrefGetString("accelKey", prefName);
- if (prefValue != NULL) {
- while (prefValue[1] == '-') {
- switch (prefValue[0]) {
- case 'S':
- mode1 |= WKEY_SHIFT;
- break;
- case 'C':
- mode1 |= WKEY_CTRL;
- break;
- case 'A':
- mode1 |= WKEY_ALT;
- break;
- default:
- ;
+static void SetAccelKeys()
+{
+ for ( int iAccelKey = 0; iAccelKey < COUNT( aAccelKeys ); iAccelKey++ )
+ {
+ struct accelKey_s * akP = &aAccelKeys[iAccelKey];
+ int eKey = akP->eKey;
+ int iMode = akP->iMode;
+ const char * sPrefValue = wPrefGetString("accelKey", akP->sPrefName);
+ if (sPrefValue != NULL) {
+ int iMode1 = 0;
+ while (sPrefValue[1] == '-') {
+ switch (sPrefValue[0]) {
+ case 'S':
+ iMode1 |= WKEY_SHIFT;
+ break;
+ case 'C':
+ iMode1 |= WKEY_CTRL;
+ break;
+ case 'A':
+ iMode1 |= WKEY_ALT;
+ break;
+ default:
+ ;
+ }
+ sPrefValue += 2;
}
- prefValue += 2;
- }
- for (inx = 0; inx < sizeof accelKeyNames / sizeof accelKeyNames[0];
- inx++) {
- if (strcmp(prefValue, accelKeyNames[inx]) == 0) {
- key = inx + 1;
- mode = mode1;
- break;
+ for (int inx = 0; inx < COUNT( accelKeyNames ); inx++) {
+ if (strcmp(sPrefValue, accelKeyNames[inx]) == 0) {
+ eKey = inx + 1;
+ iMode = iMode1;
+ break;
+ }
}
}
+ wAttachAccelKey(eKey, iMode, AccelKeyDispatch, I2VP(iAccelKey));
}
- wAttachAccelKey(key, mode, func, context);
-}
-
-#include "bitmaps/zoomin.xpm"
-#include "bitmaps/zoom.xpm"
-#include "bitmaps/zoomout.xpm"
-#include "bitmaps/edit-undo.xpm"
-#include "bitmaps/edit-redo.xpm"
-#include "bitmaps/partlist.xpm"
-#include "bitmaps/document-export.xpm"
-#include "bitmaps/document-exportdxf.xpm"
-#include "bitmaps/document-import.xpm"
-#include "bitmaps/document-importmod.xpm"
-#include "bitmaps/document-new.xpm"
-#include "bitmaps/document-save.xpm"
-#include "bitmaps/document-open.xpm"
-#include "bitmaps/document-print.xpm"
+}
+
+
+/*****************************************************************************
+ *
+ * MENUS
+ *
+ */
+
+
+#include "bitmaps/zoom-in.xpm"
+#include "bitmaps/zoom-choose.xpm"
+#include "bitmaps/zoom-out.xpm"
+#include "bitmaps/zoom-extent.xpm"
+#include "bitmaps/undo.xpm"
+#include "bitmaps/redo.xpm"
+#include "bitmaps/partlist.xpm" // unused icon
+#include "bitmaps/doc-export.xpm"
+#include "bitmaps/doc-export-dxf.xpm"
+#include "bitmaps/doc-export-bmap.xpm"
+#include "bitmaps/doc-import.xpm"
+#include "bitmaps/doc-import-xtc.xpm"
+#include "bitmaps/doc-new.xpm"
+#include "bitmaps/doc-save.xpm"
+#include "bitmaps/doc-open.xpm"
+#include "bitmaps/doc-print.xpm"
+#include "bitmaps/doc-setup.xpm"
+#include "bitmaps/parameter.xpm"
#include "bitmaps/map.xpm"
#include "bitmaps/magnet.xpm"
+static wMenu_p toolbarM;
+static addButtonCallBack_t paramFilesCallback;
+
static void CreateMenus(void) {
wMenu_p fileM, editM, viewM, optionM, windowM, macroM, helpM, toolbarM,
messageListM, manageM, addM, changeM, drawM;
wMenu_p zoomM, zoomSubM;
- wMenuPush_p zoomInM, zoomOutM;
+ wMenuPush_p zoomInM, zoomOutM, zoomExtentsM;
+
+ wPrefGetInteger("DialogItem", "pref-iconsize", (long *) &iconSize, 0);
fileM = wMenuBarAdd(mainW, "menuFile", _("&File"));
editM = wMenuBarAdd(mainW, "menuEdit", _("&Edit"));
@@ -2233,57 +2437,65 @@ static void CreateMenus(void) {
popup1M = wMenuPopupCreate(mainW, _("Context Commands"));
popup2M = wMenuPopupCreate(mainW, _("Shift Context Commands"));
MiscMenuItemCreate(popup1M, popup2M, "cmdUndo", _("Undo"), 0,
- (void*) (wMenuCallBack_p) UndoUndo, 0, (void *) 0);
+ UndoUndo, 0, NULL);
MiscMenuItemCreate(popup1M, popup2M, "cmdRedo", _("Redo"), 0,
- (void*) (wMenuCallBack_p) UndoRedo, 0, (void *) 0);
+ UndoRedo, 0, NULL);
/* Zoom */
wMenuPushCreate(popup1M, "cmdZoomIn", _("Zoom In"), 0,
- (wMenuCallBack_p) DoZoomUp, (void*) 1);
+ DoZoomUp, I2VP(1));
wMenuPushCreate(popup2M, "cmdZoomIn", _("Zoom In"), 0,
- (wMenuCallBack_p) DoZoomUp, (void*) 1);
+ DoZoomUp, I2VP(1));
wMenuPushCreate(popup1M, "cmdZoomOut", _("Zoom Out"), 0,
- (wMenuCallBack_p) DoZoomDown, (void*) 1);
+ DoZoomDown, I2VP(1));
wMenuPushCreate(popup2M, "cmdZoomOut", _("Zoom Out"), 0,
- (wMenuCallBack_p) DoZoomDown, (void*) 1);
- /* Display */
+ DoZoomDown, I2VP(1));
+ wMenuPushCreate(popup1M, "cmdZoomExtents", _("Zoom Extents"), 0,
+ DoZoomExtents, I2VP(1));
+ wMenuPushCreate(popup2M, "cmdZoomExtents", _("Zoom Extents"), 0,
+ DoZoomExtents, I2VP(1));
+ /* Display */
MiscMenuItemCreate(popup1M, popup2M, "cmdGridEnable", _("Enable SnapGrid"),
- 0, (void*) (wMenuCallBack_p) SnapGridEnable, 0, (void *) 0);
+ 0, SnapGridEnable, 0, NULL);
MiscMenuItemCreate(popup1M, popup2M, "cmdGridShow", _("SnapGrid Show"), 0,
- (void*) (wMenuCallBack_p) SnapGridShow, 0, (void *) 0);
+ SnapGridShow, 0, NULL);
MiscMenuItemCreate(popup1M, popup2M, "cmdMagneticSnap", _(" Enable Magnetic Snap"), 0,
- (void*) (wMenuCallBack_p) MagneticSnapToggle, 0, (void *) 0);
+ MagneticSnapToggle, 0, NULL);
MiscMenuItemCreate(popup1M, popup2M, "cmdMapShow", _("Show/Hide Map"), 0,
- (void*) (wMenuCallBack_p) MapWindowToggleShow, 0, (void *) 0);
+ MapWindowToggleShow, 0, NULL);
MiscMenuItemCreate(popup1M, popup2M, "cmdBackgroundShow", _("Show/Hide Background"), 0,
- (void*) (wMenuCallBack_p) BackgroundToggleShow, 0, (void *) 0);
+ BackgroundToggleShow, 0, NULL);
wMenuSeparatorCreate(popup1M);
wMenuSeparatorCreate(popup2M);
/* Copy/Paste */
MiscMenuItemCreate(popup2M, NULL, "cmdCut", _("Cut"), 0,
- (void*) (wMenuCallBack_p) EditCut, 0, (void *) 0);
+ EditCut, 0, NULL);
MiscMenuItemCreate(popup2M, NULL, "cmdCopy", _("Copy"), 0,
- (void*) (wMenuCallBack_p) EditCopy, 0, (void *) 0);
+ EditCopy, 0, NULL);
MiscMenuItemCreate(popup1M, popup2M, "cmdPaste", _("Paste"), 0,
- (void*) (wMenuCallBack_p) EditPaste, 0, (void *) 0);
+ EditPaste, 0, NULL);
MiscMenuItemCreate(popup2M, NULL, "cmdClone", _("Clone"), 0,
- (void*) (wMenuCallBack_p) EditClone, 0, (void *) 0);
+ EditClone, 0, NULL);
/*Select*/
MiscMenuItemCreate(popup1M, popup2M, "cmdSelectAll", _("Select All"), 0,
- (void*) (wMenuCallBack_p) SetAllTrackSelect, 0, (void *) 1);
+ (wMenuCallBack_p) SetAllTrackSelect, 0, I2VP(1));
MiscMenuItemCreate(popup1M, popup2M, "cmdSelectCurrentLayer",
_("Select Current Layer"), 0,
- (void*) (wMenuCallBack_p) SelectCurrentLayer, 0, (void *) 0);
+ SelectCurrentLayer, 0, NULL);
MiscMenuItemCreate(popup2M, NULL, "cmdDeselectAll", _("Deselect All"), 0,
- (void*) (wMenuCallBack_p) SetAllTrackSelect, 0, (void *) 0);
+ (wMenuCallBack_p) SetAllTrackSelect, 0, I2VP(FALSE));
+ wMenuPushCreate(popup1M, "cmdSelectIndex", _("Select Track Index..."), 0,
+ StartIndexDialog, &SelectByIndex);
+ wMenuPushCreate(popup2M, "cmdSelectIndex", _("Select Track Index..."), 0,
+ StartIndexDialog, &SelectByIndex);
/* Modify */
wMenuPushCreate(popup2M, "cmdMove", _("Move"), 0,
- (wMenuCallBack_p) DoCommandBIndirect, &moveCmdInx);
+ DoCommandBIndirect, &moveCmdInx);
wMenuPushCreate(popup2M, "cmdRotate", _("Rotate"), 0,
- (wMenuCallBack_p) DoCommandBIndirect, &rotateCmdInx);
+ DoCommandBIndirect, &rotateCmdInx);
wMenuSeparatorCreate(popup1M);
wMenuSeparatorCreate(popup2M);
MiscMenuItemCreate(popup2M, NULL, "cmdDelete", _("Delete"), 0,
- (void*) (wMenuCallBack_p) SelectDelete, 0, (void *) 0);
+ (wMenuCallBack_p) SelectDelete, 0, NULL);
wMenuSeparatorCreate(popup2M);
popup1aM = wMenuMenuCreate(popup1M, "", _("Add..."));
popup2aM = wMenuMenuCreate(popup2M, "", _("Add..."));
@@ -2292,139 +2504,158 @@ static void CreateMenus(void) {
popup1mM = wMenuMenuCreate(popup1M, "", _("More..."));
popup2mM = wMenuMenuCreate(popup2M, "", _("More..."));
- cmdGroup = BG_FILE;
- AddToolbarButton("menuFile-clear", wIconCreatePixMap(document_new),
- IC_MODETRAIN_TOO, (addButtonCallBack_t) DoClear, NULL);
- AddToolbarButton("menuFile-load", wIconCreatePixMap(document_open),
- IC_MODETRAIN_TOO, (addButtonCallBack_t) ChkLoad, NULL);
- AddToolbarButton("menuFile-save", wIconCreatePixMap(document_save),
- IC_MODETRAIN_TOO, (addButtonCallBack_t) DoSave, NULL);
-
- InitCmdExport();
-
- cmdGroup = BG_ZOOM;
- zoomUpB = AddToolbarButton("cmdZoomIn", wIconCreatePixMap(zoomin_xpm),
- IC_MODETRAIN_TOO, (addButtonCallBack_t) DoZoomUp, NULL);
-
- zoomM = wMenuPopupCreate(mainW, "");
- AddToolbarButton("cmdZoom", wIconCreatePixMap(zoom_xpm), IC_MODETRAIN_TOO,
- (wButtonCallBack_p) wMenuPopupShow, zoomM);
-
- zoomDownB = AddToolbarButton("cmdZoomOut", wIconCreatePixMap(zoomout_xpm),
- IC_MODETRAIN_TOO, (addButtonCallBack_t) DoZoomDown, NULL);
-
- cmdGroup = BG_UNDO;
- undoB = AddToolbarButton("cmdUndo", wIconCreatePixMap(edit_undo), 0,
- (addButtonCallBack_t) UndoUndo, NULL);
- redoB = AddToolbarButton("cmdRedo", wIconCreatePixMap(edit_redo), 0,
- (addButtonCallBack_t) UndoRedo, NULL);
-
- wControlActive((wControl_p) undoB, FALSE);
- wControlActive((wControl_p) redoB, FALSE);
-
/*
* FILE MENU
*/
MiscMenuItemCreate(fileM, NULL, "menuFile-clear", _("&New ..."), ACCL_NEW,
- (void*) (wMenuCallBack_p) DoClear, 0, (void *) 0);
+ DoClear, 0, NULL);
wMenuPushCreate(fileM, "menuFile-load", _("&Open ..."), ACCL_OPEN,
- (wMenuCallBack_p) ChkLoad, NULL);
+ ChkLoad, NULL);
wMenuSeparatorCreate(fileM);
wMenuPushCreate(fileM, "menuFile-save", _("&Save"), ACCL_SAVE,
- (wMenuCallBack_p) DoSave, NULL);
+ DoSave, NULL);
wMenuPushCreate(fileM, "menuFile-saveAs", _("Save &As ..."), ACCL_SAVEAS,
- (wMenuCallBack_p) DoSaveAs, NULL);
+ DoSaveAs, NULL);
wMenuPushCreate(fileM, "menuFile-revert", _("Revert"), ACCL_REVERT,
- (wMenuCallBack_p) ChkRevert, NULL);
+ ChkRevert, NULL);
wMenuSeparatorCreate(fileM);
+
+ cmdGroup = BG_FILE;
+ AddToolbarButton("menuFile-clear", wIconCreatePixMap(doc_new_xpm[iconSize]),
+ IC_MODETRAIN_TOO, DoClear, NULL);
+ AddToolbarButton("menuFile-load", wIconCreatePixMap(doc_open_xpm[iconSize]),
+ IC_MODETRAIN_TOO, ChkLoad, NULL);
+ AddToolbarButton("menuFile-save", wIconCreatePixMap(doc_save_xpm[iconSize]),
+ IC_MODETRAIN_TOO, DoSave, NULL);
+
+ cmdGroup = BG_PRINT;
MiscMenuItemCreate(fileM, NULL, "printSetup", _("P&rint Setup ..."),
- ACCL_PRINTSETUP, (void*) (wMenuCallBack_p) wPrintSetup, 0,
- (void *) 0);
+ ACCL_PRINTSETUP, (wMenuCallBack_p) wPrintSetup, 0,
+ I2VP(0));
printCmdInx = InitCmdPrint(fileM);
+ AddToolbarButton("menuFile-setup", wIconCreatePixMap(doc_setup_xpm[iconSize]),
+ IC_MODETRAIN_TOO, (wMenuCallBack_p) wPrintSetup, I2VP(0));
+
wMenuSeparatorCreate(fileM);
MiscMenuItemCreate(fileM, NULL, "cmdImport", _("&Import"), ACCL_IMPORT,
- (void*) (wMenuCallBack_p) DoImport, 0, (void *) 0);
+ DoImport, 0, I2VP(0));
MiscMenuItemCreate(fileM, NULL, "cmdImportModule", _("Import &Module"), ACCL_IMPORT_MOD,
- (void*) (wMenuCallBack_p) DoImport, 0, (void *) 1);
+ DoImport, 0, I2VP(1));
MiscMenuItemCreate(fileM, NULL, "cmdOutputbitmap", _("Export to &Bitmap"),
- ACCL_PRINTBM, (void*) (wMenuCallBack_p) OutputBitMapInit(), 0,
- (void *) 0);
+ ACCL_PRINTBM, OutputBitMapInit(), 0,
+ NULL);
MiscMenuItemCreate(fileM, NULL, "cmdExport", _("E&xport"), ACCL_EXPORT,
- (void*) (wMenuCallBack_p) DoExport, IC_SELECTED, (void *) 0);
+ DoExport, IC_SELECTED, NULL);
MiscMenuItemCreate(fileM, NULL, "cmdExportDXF", _("Export D&XF"),
- ACCL_EXPORTDXF, (void*) (wMenuCallBack_p) DoExportDXF, IC_SELECTED,
- (void *) 0);
+ ACCL_EXPORTDXF, DoExportDXF, IC_SELECTED,
+ NULL);
+#if XTRKCAD_CREATE_SVG
+ MiscMenuItemCreate( fileM, NULL, "cmdExportSVG", _("Export S&VG"), ACCL_EXPORTDXF,
+ DoExportSVG, IC_SELECTED, NULL);
+#endif
wMenuSeparatorCreate(fileM);
+ paramFilesCallback = ParamFilesInit();
MiscMenuItemCreate(fileM, NULL, "cmdPrmfile", _("Parameter &Files ..."),
- ACCL_PARAMFILES, (void*) ParamFilesInit(), 0, (void *) 0);
+ ACCL_PARAMFILES, paramFilesCallback, 0, NULL);
MiscMenuItemCreate(fileM, NULL, "cmdFileNote", _("No&tes ..."), ACCL_NOTES,
- (void*) (wMenuCallBack_p) DoNote, 0, (void *) 0);
+ DoNote, 0, NULL);
wMenuSeparatorCreate(fileM);
fileList_ml = wMenuListCreate(fileM, "menuFileList", NUM_FILELIST,
ChkFileList);
wMenuSeparatorCreate(fileM);
wMenuPushCreate(fileM, "menuFile-quit", _("E&xit"), 0,
- (wMenuCallBack_p) DoQuit, NULL);
+ DoQuit, NULL);
+
+ InitCmdExport();
+
+ AddToolbarButton("menuFile-parameter", wIconCreatePixMap(parameter_xpm[iconSize]),
+ IC_MODETRAIN_TOO, paramFilesCallback, NULL);
+
+ cmdGroup = BG_ZOOM;
+ zoomUpB = AddToolbarButton("cmdZoomIn", wIconCreatePixMap(zoom_in_xpm[iconSize]),
+ IC_MODETRAIN_TOO, DoZoomUp, NULL);
+ zoomM = wMenuPopupCreate(mainW, "");
+ AddToolbarButton("cmdZoom", wIconCreatePixMap(zoom_choose_xpm[iconSize]), IC_MODETRAIN_TOO,
+ (wButtonCallBack_p) wMenuPopupShow, zoomM);
+ zoomDownB = AddToolbarButton("cmdZoomOut", wIconCreatePixMap(zoom_out_xpm[iconSize]),
+ IC_MODETRAIN_TOO, DoZoomDown, NULL);
+ zoomExtentsB = AddToolbarButton("cmdZoomExtent", wIconCreatePixMap(zoom_extent_xpm[iconSize]),
+ IC_MODETRAIN_TOO, DoZoomExtents, NULL);
+
+ cmdGroup = BG_UNDO;
+ undoB = AddToolbarButton("cmdUndo", wIconCreatePixMap(undo_xpm[iconSize]), 0,
+ UndoUndo, NULL);
+ redoB = AddToolbarButton("cmdRedo", wIconCreatePixMap(redo_xpm[iconSize]), 0,
+ UndoRedo, NULL);
+
+ wControlActive((wControl_p) undoB, FALSE);
+ wControlActive((wControl_p) redoB, FALSE);
+ InitCmdUndo();
/*
* EDIT MENU
*/
MiscMenuItemCreate(editM, NULL, "cmdUndo", _("&Undo"), ACCL_UNDO,
- (void*) (wMenuCallBack_p) UndoUndo, 0, (void *) 0);
+ UndoUndo, 0, NULL);
MiscMenuItemCreate(editM, NULL, "cmdRedo", _("R&edo"), ACCL_REDO,
- (void*) (wMenuCallBack_p) UndoRedo, 0, (void *) 0);
+ UndoRedo, 0, NULL);
wMenuSeparatorCreate(editM);
MiscMenuItemCreate(editM, NULL, "cmdCut", _("Cu&t"), ACCL_CUT,
- (void*) (wMenuCallBack_p) EditCut, IC_SELECTED, (void *) 0);
+ EditCut, IC_SELECTED, NULL);
MiscMenuItemCreate(editM, NULL, "cmdCopy", _("&Copy"), ACCL_COPY,
- (void*) (wMenuCallBack_p) EditCopy, IC_SELECTED, (void *) 0);
+ EditCopy, IC_SELECTED, NULL);
MiscMenuItemCreate(editM, NULL, "cmdPaste", _("&Paste"), ACCL_PASTE,
- (void*) (wMenuCallBack_p) EditPaste, 0, (void *) 0);
+ EditPaste, 0, NULL);
MiscMenuItemCreate(editM, NULL, "cmdClone", _("C&lone"), ACCL_CLONE,
- (void*) (wMenuCallBack_p) EditClone, 0, (void *) 0);
+ EditClone, 0, NULL);
MiscMenuItemCreate(editM, NULL, "cmdDelete", _("De&lete"), ACCL_DELETE,
- (void*) (wMenuCallBack_p) SelectDelete, IC_SELECTED, (void *) 0);
+ (wMenuCallBack_p) SelectDelete, IC_SELECTED, NULL);
MiscMenuItemCreate(editM, NULL, "cmdMoveToCurrentLayer",
_("Move To Current Layer"), ACCL_MOVCURLAYER,
- (void*) (wMenuCallBack_p) MoveSelectedTracksToCurrentLayer,
- IC_SELECTED, (void *) 0);
+ MoveSelectedTracksToCurrentLayer,
+ IC_SELECTED, NULL);
wMenuSeparatorCreate( editM );
- menuPLs[menuPG.paramCnt].context = (void*)1;
- MiscMenuItemCreate( editM, NULL, "cmdSelectAll", _("Select &All"), ACCL_SELECTALL, (void*)(wMenuCallBack_p)SetAllTrackSelect, 0, (void *)1 );
- MiscMenuItemCreate( editM, NULL, "cmdSelectCurrentLayer", _("Select Current Layer"), ACCL_SETCURLAYER, (void*)(wMenuCallBack_p)SelectCurrentLayer, 0, (void *)0 );
- MiscMenuItemCreate( editM, NULL, "cmdDeselectAll", _("&Deselect All"), ACCL_DESELECTALL, (void*)(wMenuCallBack_p)SetAllTrackSelect, 0, (void *)0 );
- MiscMenuItemCreate( editM, NULL, "cmdSelectInvert", _("&Invert Selection"), 0L, (void*)(wMenuCallBack_p)InvertTrackSelect, 0, (void *)0 );
- MiscMenuItemCreate( editM, NULL, "cmdSelectOrphaned", _("Select Stranded Track"), 0L, (void*)(wMenuCallBack_p)OrphanedTrackSelect, 0, (void *)0 );
+ menuPLs[menuPG.paramCnt].context = I2VP(1);
+ MiscMenuItemCreate( editM, NULL, "cmdSelectAll", _("Select &All"), ACCL_SELECTALL, (wMenuCallBack_p)SetAllTrackSelect, 0, I2VP(TRUE) );
+ MiscMenuItemCreate( editM, NULL, "cmdSelectCurrentLayer", _("Select Current Layer"), ACCL_SETCURLAYER, SelectCurrentLayer, 0, NULL);
+ MiscMenuItemCreate( editM, NULL, "cmdSelectByIndex", _("Select By Index"), 0L, StartIndexDialog, 0, &SelectByIndex );
+ MiscMenuItemCreate( editM, NULL, "cmdDeselectAll", _("&Deselect All"), ACCL_DESELECTALL, (wMenuCallBack_p)SetAllTrackSelect, 0, I2VP(FALSE) );
+ MiscMenuItemCreate( editM, NULL, "cmdSelectInvert", _("&Invert Selection"), 0L, InvertTrackSelect, 0, NULL);
+ MiscMenuItemCreate( editM, NULL, "cmdSelectOrphaned", _("Select Stranded Track"), 0L, OrphanedTrackSelect, 0, NULL);
wMenuSeparatorCreate( editM );
- MiscMenuItemCreate( editM, NULL, "cmdTunnel", _("Tu&nnel"), ACCL_TUNNEL, (void*)(wMenuCallBack_p)SelectTunnel, IC_SELECTED, (void *)0 );
- MiscMenuItemCreate( editM, NULL, "cmdBridge", _("B&ridge"), ACCL_BRIDGE, (void*)(wMenuCallBack_p)SelectBridge, IC_SELECTED, (void *)0);
- MiscMenuItemCreate( editM, NULL, "cmdTies", _("Ties/NoTies"), ACCL_TIES, (void*)(wMenuCallBack_p)SelectTies, IC_SELECTED, (void *)0);
- MiscMenuItemCreate( editM, NULL, "cmdAbove", _("Move to &Front"), ACCL_ABOVE, (void*)(wMenuCallBack_p)SelectAbove, IC_SELECTED, (void *)0 );
- MiscMenuItemCreate( editM, NULL, "cmdBelow", _("Move to &Back"), ACCL_BELOW, (void*)(wMenuCallBack_p)SelectBelow, IC_SELECTED, (void *)0 );
+ MiscMenuItemCreate( editM, NULL, "cmdTunnel", _("Tu&nnel"), ACCL_TUNNEL, SelectTunnel, IC_SELECTED, NULL);
+ MiscMenuItemCreate( editM, NULL, "cmdBridge", _("B&ridge"), ACCL_BRIDGE, SelectBridge, IC_SELECTED, NULL);
+ MiscMenuItemCreate( editM, NULL, "cmdTies", _("Ties/NoTies"), ACCL_TIES, SelectTies, IC_SELECTED, NULL);
+ MiscMenuItemCreate( editM, NULL, "cmdAbove", _("Move to &Front"), ACCL_ABOVE, SelectAbove, IC_SELECTED, NULL);
+ MiscMenuItemCreate( editM, NULL, "cmdBelow", _("Move to &Back"), ACCL_BELOW, SelectBelow, IC_SELECTED, NULL);
wMenuSeparatorCreate( editM );
- MiscMenuItemCreate( editM, NULL, "cmdWidth0", _("Thin Tracks"), ACCL_THIN, (void*)(wMenuCallBack_p)SelectTrackWidth, IC_SELECTED, (void *)0 );
- MiscMenuItemCreate( editM, NULL, "cmdWidth2", _("Medium Tracks"), ACCL_MEDIUM, (void*)(wMenuCallBack_p)SelectTrackWidth, IC_SELECTED, (void *)2 );
- MiscMenuItemCreate( editM, NULL, "cmdWidth3", _("Thick Tracks"), ACCL_THICK, (void*)(wMenuCallBack_p)SelectTrackWidth, IC_SELECTED, (void *)3 );
+ MiscMenuItemCreate( editM, NULL, "cmdWidth0", _("Thin Tracks"), ACCL_THIN, SelectTrackWidth, IC_SELECTED, I2VP(0) );
+ MiscMenuItemCreate( editM, NULL, "cmdWidth2", _("Medium Tracks"), ACCL_MEDIUM, SelectTrackWidth, IC_SELECTED, I2VP(2) );
+ MiscMenuItemCreate( editM, NULL, "cmdWidth3", _("Thick Tracks"), ACCL_THICK, SelectTrackWidth, IC_SELECTED, I2VP(3) );
/*
* VIEW MENU
*/
+
zoomInM = wMenuPushCreate(viewM, "menuEdit-zoomIn", _("Zoom &In"),
- ACCL_ZOOMIN, (wMenuCallBack_p) DoZoomUp, (void*) 1);
+ ACCL_ZOOMIN, DoZoomUp, I2VP(1));
zoomSubM = wMenuMenuCreate(viewM, "menuEdit-zoomTo", _("&Zoom"));
zoomOutM = wMenuPushCreate(viewM, "menuEdit-zoomOut", _("Zoom &Out"),
- ACCL_ZOOMOUT, (wMenuCallBack_p) DoZoomDown, (void*) 1);
- wMenuSeparatorCreate(viewM);
+ ACCL_ZOOMOUT, DoZoomDown, I2VP(1));
+ zoomExtentsM = wMenuPushCreate(viewM, "menuEdit-zoomExtents", _("Zoom &Extents"),
+ 0, DoZoomExtents, I2VP(0));
+ wMenuSeparatorCreate(viewM);
InitCmdZoom(zoomM, zoomSubM, NULL, NULL);
/* these menu choices and toolbar buttons are synonymous and should be treated as such */
wControlLinkedSet((wControl_p) zoomInM, (wControl_p) zoomUpB);
wControlLinkedSet((wControl_p) zoomOutM, (wControl_p) zoomDownB);
+ wControlLinkedSet((wControl_p) zoomExtentsM, (wControl_p) zoomExtentsB);
wMenuPushCreate(viewM, "menuEdit-redraw", _("&Redraw"), ACCL_REDRAW,
(wMenuCallBack_p) MainRedraw, NULL);
@@ -2434,20 +2665,20 @@ static void CreateMenus(void) {
snapGridEnableMI = wMenuToggleCreate(viewM, "cmdGridEnable",
_("Enable SnapGrid"), ACCL_SNAPENABLE, 0,
- (wMenuToggleCallBack_p) SnapGridEnable, NULL);
+ SnapGridEnable, NULL);
snapGridShowMI = wMenuToggleCreate(viewM, "cmdGridShow", _("Show SnapGrid"),
ACCL_SNAPSHOW,
- FALSE, (wMenuToggleCallBack_p) SnapGridShow, NULL);
+ FALSE, SnapGridShow, NULL);
gridCmdInx = InitGrid(viewM);
// visibility toggle for anchors
// get the start value
long anchors_long;
- wPrefGetInteger("misc", "anchors", (long *)&anchors_long, 1);
+ wPrefGetInteger("misc", "anchors", &anchors_long, 1);
magneticSnap = anchors_long ? TRUE : FALSE;
magnetsMI = wMenuToggleCreate(viewM, "cmdMagneticSnap", _("Enable Magnetic Snap"),
0, magneticSnap,
- (wMenuToggleCallBack_p)MagneticSnapToggle, NULL);
+ MagneticSnapToggle, NULL);
// visibility toggle for map window
// get the start value
@@ -2456,7 +2687,7 @@ static void CreateMenus(void) {
mapVisible = mapVisible_long ? TRUE : FALSE;
mapShowMI = wMenuToggleCreate(viewM, "cmdMapShow", _("Show/Hide Map"),
ACCL_MAPSHOW, mapVisible,
- (wMenuToggleCallBack_p) MapWindowToggleShow, NULL);
+ MapWindowToggleShow, NULL);
wMenuSeparatorCreate(viewM);
@@ -2468,13 +2699,13 @@ static void CreateMenus(void) {
cmdGroup = BG_SNAP;
InitSnapGridButtons();
- magnetsB = AddToolbarButton("cmdMagneticSnap", wIconCreatePixMap(magnet_xpm),
- IC_MODETRAIN_TOO, (addButtonCallBack_t) MagneticSnapToggle, NULL);
+ magnetsB = AddToolbarButton("cmdMagneticSnap", wIconCreatePixMap(magnet_xpm[iconSize]),
+ IC_MODETRAIN_TOO, MagneticSnapToggle, NULL);
wControlLinkedSet((wControl_p) magnetsMI, (wControl_p) magnetsB);
wButtonSetBusy(magnetsB, (wBool_t) magneticSnap);
- mapShowB = AddToolbarButton("cmdMapShow", wIconCreatePixMap(map_xpm),
- IC_MODETRAIN_TOO, (addButtonCallBack_t) MapWindowToggleShow, NULL);
+ mapShowB = AddToolbarButton("cmdMapShow", wIconCreatePixMap(map_xpm[iconSize]),
+ IC_MODETRAIN_TOO, MapWindowToggleShow, NULL);
wControlLinkedSet((wControl_p) mapShowMI, (wControl_p) mapShowB);
wButtonSetBusy(mapShowB, (wBool_t) mapVisible);
@@ -2507,51 +2738,55 @@ static void CreateMenus(void) {
cmdGroup = BG_SELECT;
InitCmdDescribe(changeM);
InitCmdSelect(changeM);
- InitCmdPan(changeM);
+ InitCmdPan(viewM);
+
wMenuSeparatorCreate(changeM);
cmdGroup = BG_TRKGRP;
InitCmdMove(changeM);
+ InitCmdMoveDescription(changeM);
InitCmdDelete();
InitCmdTunnel();
InitCmdBridge();
InitCmdAboveBelow();
cmdGroup = BG_TRKMOD;
- if (extraButtons)
- MiscMenuItemCreate(changeM, NULL, "loosen", _("&Loosen Tracks"),
- ACCL_LOOSEN, (void*) (wMenuCallBack_p) LoosenTracks,
- IC_SELECTED, (void *) 0);
-
InitCmdModify(changeM);
+ InitCmdCornu(changeM);
+
+ MiscMenuItemCreate(changeM, NULL, "cmdRescale", _("Change Scale"), 0,
+ DoRescale, IC_SELECTED, NULL);
+
+
+ wMenuSeparatorCreate(changeM);
+
InitCmdJoin(changeM);
- InitCmdPull(changeM);
InitCmdSplit(changeM);
- InitCmdMoveDescription(changeM);
+
+ wMenuSeparatorCreate(changeM);
+
+ InitCmdPull(changeM);
+ if (extraButtons)
+ MiscMenuItemCreate(changeM, NULL, "loosen", _("&Loosen Tracks"),
+ ACCL_LOOSEN, LoosenTracks,
+ IC_SELECTED, NULL);
+
wMenuSeparatorCreate(changeM);
MiscMenuItemCreate(changeM, NULL, "cmdAddElevations",
_("Raise/Lower Elevations"), ACCL_CHGELEV,
- (void*) (wMenuCallBack_p) ShowAddElevations, IC_SELECTED,
- (void *) 0);
+ ShowAddElevations, IC_SELECTED,
+ NULL);
InitCmdElevation(changeM);
InitCmdProfile(changeM);
MiscMenuItemCreate(changeM, NULL, "cmdClearElevations",
_("Clear Elevations"), ACCL_CLRELEV,
- (void*) (wMenuCallBack_p) ClearElevations, IC_SELECTED, (void *) 0);
+ ClearElevations, IC_SELECTED, NULL);
MiscMenuItemCreate(changeM, NULL, "cmdElevation", _("Recompute Elevations"),
- 0, (void*) (wMenuCallBack_p) RecomputeElevations, 0, (void *) 0);
+ 0, RecomputeElevations, 0, NULL);
ParamRegister(&addElevPG);
- wMenuSeparatorCreate(changeM);
- MiscMenuItemCreate(changeM, NULL, "cmdRescale", _("Change Scale"), 0,
- (void*) (wMenuCallBack_p) DoRescale, IC_SELECTED, (void *) 0);
-
- wMenuSeparatorCreate(changeM);
-
- InitCmdCornu(changeM);
-
/*
* DRAW MENU
*/
@@ -2567,28 +2802,28 @@ static void CreateMenus(void) {
* OPTION MENU
*/
MiscMenuItemCreate(optionM, NULL, "cmdLayout", _("L&ayout ..."),
- ACCL_LAYOUTW, (void*) LayoutInit(), IC_MODETRAIN_TOO, (void *) 0);
+ ACCL_LAYOUTW, LayoutInit(), IC_MODETRAIN_TOO, NULL);
MiscMenuItemCreate(optionM, NULL, "cmdDisplay", _("&Display ..."),
- ACCL_DISPLAYW, (void*) DisplayInit(), IC_MODETRAIN_TOO, (void *) 0);
+ ACCL_DISPLAYW, DisplayInit(), IC_MODETRAIN_TOO, NULL);
MiscMenuItemCreate(optionM, NULL, "cmdCmdopt", _("Co&mmand ..."),
- ACCL_CMDOPTW, (void*) CmdoptInit(), IC_MODETRAIN_TOO, (void *) 0);
+ ACCL_CMDOPTW, CmdoptInit(), IC_MODETRAIN_TOO, NULL);
MiscMenuItemCreate(optionM, NULL, "cmdEasement", _("&Easements ..."),
- ACCL_EASEW, (void*) (wMenuCallBack_p) DoEasementRedir,
- IC_MODETRAIN_TOO, (void *) 0);
+ ACCL_EASEW, DoEasementRedir,
+ IC_MODETRAIN_TOO, NULL);
MiscMenuItemCreate(optionM, NULL, "fontSelW", _("&Fonts ..."), ACCL_FONTW,
- (void*) (wMenuCallBack_p) SelectFont, IC_MODETRAIN_TOO, (void *) 0);
+ SelectFont, IC_MODETRAIN_TOO, NULL);
MiscMenuItemCreate(optionM, NULL, "cmdSticky", _("Stic&ky ..."),
- ACCL_STICKY, (void*) (wMenuCallBack_p) DoSticky, IC_MODETRAIN_TOO,
- (void *) 0);
+ ACCL_STICKY, DoSticky, IC_MODETRAIN_TOO,
+ NULL);
if (extraButtons) {
menuPLs[menuPG.paramCnt].context = debugW;
MiscMenuItemCreate(optionM, NULL, "cmdDebug", _("&Debug ..."), 0,
- (void*) (wMenuCallBack_p) DebugInit, IC_MODETRAIN_TOO, (void *) 0);
+ DebugInit, IC_MODETRAIN_TOO, NULL);
}
MiscMenuItemCreate(optionM, NULL, "cmdPref", _("&Preferences ..."),
- ACCL_PREFERENCES, (void*) PrefInit(), IC_MODETRAIN_TOO, (void *) 0);
+ ACCL_PREFERENCES, PrefInit(), IC_MODETRAIN_TOO, NULL);
MiscMenuItemCreate(optionM, NULL, "cmdColor", _("&Colors ..."), ACCL_COLORW,
- (void*) ColorInit(), IC_MODETRAIN_TOO, (void *) 0);
+ ColorInit(), IC_MODETRAIN_TOO, NULL);
/*
* MACRO MENU
@@ -2622,14 +2857,14 @@ static void CreateMenus(void) {
/* tip of the day */
wMenuSeparatorCreate( helpM );
- wMenuPushCreate( helpM, "cmdTip", _("Tip of the Day..."), 0, (wMenuCallBack_p)ShowTip, (void *)(SHOWTIP_FORCESHOW | SHOWTIP_NEXTTIP));
+ wMenuPushCreate( helpM, "cmdTip", _("Tip of the Day..."), 0, ShowTip, I2VP(SHOWTIP_FORCESHOW | SHOWTIP_NEXTTIP));
demoM = wMenuMenuCreate( helpM, "cmdDemo", _("&Demos") );
- wMenuPushCreate( helpM, "cmdExamples", _("Examples..."), 0, (wMenuCallBack_p)ChkExamples, (void *)0);
+ wMenuPushCreate( helpM, "cmdExamples", _("Examples..."), 0, ChkExamples, NULL);
/* about window */
wMenuSeparatorCreate(helpM);
wMenuPushCreate(helpM, "about", _("About"), 0,
- (wMenuCallBack_p) CreateAboutW, NULL);
+ CreateAboutW, NULL);
/*
* MANAGE MENU
@@ -2645,34 +2880,34 @@ static void CreateMenus(void) {
MiscMenuItemCreate(manageM, NULL, "cmdContmgm",
_("Layout &Control Elements"), ACCL_CONTMGM,
- (void*) ControlMgrInit(), 0, (void*) 0);
+ ControlMgrInit(), 0, NULL);
MiscMenuItemCreate(manageM, NULL, "cmdGroup", _("&Group"), ACCL_GROUP,
- (void*) (wMenuCallBack_p) DoGroup, IC_SELECTED, (void *) 0);
+ DoGroup, IC_SELECTED, NULL);
MiscMenuItemCreate(manageM, NULL, "cmdUngroup", _("&Ungroup"), ACCL_UNGROUP,
- (void*) (wMenuCallBack_p) DoUngroup, IC_SELECTED, (void *) 0);
+ DoUngroup, IC_SELECTED, NULL);
MiscMenuItemCreate(manageM, NULL, "cmdCustmgm",
- _("Custom defined parts..."), ACCL_CUSTMGM, (void*) CustomMgrInit(),
- 0, (void *) 0);
+ _("Custom defined parts..."), ACCL_CUSTMGM, CustomMgrInit(),
+ 0, NULL);
MiscMenuItemCreate(manageM, NULL, "cmdRefreshCompound",
_("Update Turnouts and Structures"), 0,
- (void*) (wMenuCallBack_p) DoRefreshCompound, 0, (void *) 0);
+ DoRefreshCompound, 0, NULL);
MiscMenuItemCreate(manageM, NULL, "cmdCarInventory", _("Car Inventory"),
- ACCL_CARINV, (void*) (wMenuCallBack_p) DoCarDlg, IC_MODETRAIN_TOO,
- (void *) 0);
+ ACCL_CARINV, DoCarDlg, IC_MODETRAIN_TOO,
+ NULL);
wMenuSeparatorCreate(manageM);
MiscMenuItemCreate(manageM, NULL, "cmdLayer", _("Layers ..."), ACCL_LAYERS,
- (void*) InitLayersDialog(), 0, (void *) 0);
+ InitLayersDialog(), 0, NULL);
wMenuSeparatorCreate(manageM);
MiscMenuItemCreate(manageM, NULL, "cmdEnumerate", _("Parts &List ..."),
- ACCL_PARTSLIST, (void*) (wMenuCallBack_p) EnumerateTracks, 0,
- (void *) 0);
+ ACCL_PARTSLIST, EnumerateTracks, 0,
+ NULL);
MiscMenuItemCreate(manageM, NULL, "cmdPricelist", _("Price List..."),
- ACCL_PRICELIST, (void*) PriceListInit(), 0, (void *) 0);
+ ACCL_PRICELIST, PriceListInit(), 0, NULL);
cmdGroup = BG_LAYER | BG_BIGGAP;
@@ -2685,44 +2920,7 @@ static void CreateMenus(void) {
cmdGroup = BG_HOTBAR;
InitHotBar();
-#ifdef LATER
-#ifdef WINDOWS
- wAttachAccelKey( wAccelKey_Pgdn, 0, (wAccelKeyCallBack_p)DoZoomUp, (void*)1 );
- wAttachAccelKey( wAccelKey_Pgup, 0, (wAccelKeyCallBack_p)DoZoomDown, (void*)1 );
- wAttachAccelKey( wAccelKey_F5, 0, (wAccelKeyCallBack_p)MainRedraw, (void*)1 );
-#endif
- wAttachAccelKey( wAccelKey_Ins, WKEY_CTRL, (wAccelKeyCallBack_p)EditCopy, 0 );
- wAttachAccelKey( wAccelKey_Ins, WKEY_SHIFT, (wAccelKeyCallBack_p)EditPaste, 0 );
- wAttachAccelKey( wAccelKey_Back, WKEY_SHIFT, (wAccelKeyCallBack_p)UndoUndo, 0 );
- wAttachAccelKey( wAccelKey_Del, WKEY_SHIFT, (wAccelKeyCallBack_p)EditCut, 0 );
- wAttachAccelKey( wAccelKey_F6, 0, (wAccelKeyCallBack_p)NextWindow, 0 );
-#endif
- SetAccelKey("zoomUp", wAccelKey_Pgdn, 0, (wAccelKeyCallBack_p) DoZoomUp,
- (void*) 1);
- SetAccelKey("zoomDown", wAccelKey_Pgup, 0, (wAccelKeyCallBack_p) DoZoomDown,
- (void*) 1);
- SetAccelKey("redraw", wAccelKey_F5, 0, (wAccelKeyCallBack_p) MainRedraw,
- (void*) 1);
- SetAccelKey("delete", wAccelKey_Del, 0, (wAccelKeyCallBack_p) SelectDelete,
- (void*) 1);
- SetAccelKey("copy", wAccelKey_Ins, WKEY_CTRL,
- (wAccelKeyCallBack_p) EditCopy, 0);
- SetAccelKey("paste", wAccelKey_Ins, WKEY_SHIFT,
- (wAccelKeyCallBack_p) EditPaste, 0);
- SetAccelKey("undo", wAccelKey_Back, WKEY_SHIFT,
- (wAccelKeyCallBack_p) UndoUndo, 0);
- SetAccelKey("cut", wAccelKey_Del, WKEY_SHIFT, (wAccelKeyCallBack_p) EditCut,
- 0);
- SetAccelKey("nextWindow", wAccelKey_F6, 0, (wAccelKeyCallBack_p) NextWindow,
- 0);
- SetAccelKey("zoomUp", wAccelKey_Numpad_Add, WKEY_CTRL,
- (wAccelKeyCallBack_p) DoZoomUp, (void*) 1);
- SetAccelKey("zoomDown", wAccelKey_Numpad_Subtract, WKEY_CTRL,
- (wAccelKeyCallBack_p) DoZoomDown, (void*) 1);
- SetAccelKey("help", wAccelKey_F1, WKEY_SHIFT,
- (wAccelKeyCallBack_p) wDoAccelHelp, (void*) 1);
- SetAccelKey("help-context", wAccelKey_F1, 0,
- (wAccelKeyCallBack_p) wDoAccelHelp, (void*) 3);
+ SetAccelKeys();
InitBenchDialog();
wPrefGetInteger( "DialogItem", "sticky-set", &stickySet, stickySet );
@@ -2748,21 +2946,23 @@ static void LoadFileList(void) {
EXPORT void InitCmdEnumerate(void) {
AddToolbarButton("cmdEnumerate", wIconCreatePixMap(partlist_xpm),
- IC_SELECTED | IC_ACCLKEY, (addButtonCallBack_t) EnumerateTracks,
+ IC_SELECTED | IC_ACCLKEY, EnumerateTracks,
NULL);
}
EXPORT void InitCmdExport(void) {
ButtonGroupBegin( _("Import/Export"), "cmdExportImportSetCmd", _("Import/Export") );
cmdGroup = BG_EXPORTIMPORT;
- AddToolbarButton("cmdExport", wIconCreatePixMap(export_xpm),
- IC_SELECTED | IC_ACCLKEY, (addButtonCallBack_t) DoExport, NULL);
- AddToolbarButton("cmdExportDXF", wIconCreatePixMap(export_dxf_xpm), IC_SELECTED | IC_ACCLKEY,
- (addButtonCallBack_t)DoExportDXF, (void*)1);
- AddToolbarButton("cmdImport", wIconCreatePixMap(import_xpm), IC_ACCLKEY,
- (addButtonCallBack_t) DoImport, (void*)0);
- AddToolbarButton("cmdImportModule", wIconCreatePixMap(importmod_xpm), IC_ACCLKEY,
- (addButtonCallBack_t) DoImport, (void*)1);
+ AddToolbarButton("cmdExport", wIconCreatePixMap(doc_export_xpm[iconSize]),
+ IC_SELECTED | IC_ACCLKEY, DoExport, NULL);
+ AddToolbarButton("cmdExportDXF", wIconCreatePixMap(doc_export_dxf_xpm[iconSize]), IC_SELECTED | IC_ACCLKEY,
+ DoExportDXF, I2VP(1));
+ AddToolbarButton("cmdExportBmap", wIconCreatePixMap(doc_export_bmap_xpm[iconSize]), IC_ACCLKEY,
+ OutputBitMapInit(), NULL);
+ AddToolbarButton("cmdImport", wIconCreatePixMap(doc_import_xpm[iconSize]), IC_ACCLKEY,
+ DoImport, I2VP(0));
+ AddToolbarButton("cmdImportModule", wIconCreatePixMap(doc_import_xtc_xpm[iconSize]), IC_ACCLKEY,
+ DoImport, I2VP(1));
ButtonGroupEnd();
}
@@ -2813,11 +3013,10 @@ EXPORT wWin_p wMain(int argc, char * argv[]) {
long oldToolbarMax;
long newToolbarMax;
char *cp;
- char *oldLocale = NULL;
char buffer[STR_SIZE];
unsigned int i;
- wPos_t displayWidth;
- wPos_t displayHeight;
+ wWinPix_t displayWidth;
+ wWinPix_t displayHeight;
strcpy(buffer, sProdNameLower);
@@ -2828,17 +3027,17 @@ EXPORT wWin_p wMain(int argc, char * argv[]) {
InitGettext();
/* Save user locale */
- oldLocale = setlocale(LC_ALL, NULL);
- if (oldLocale)
- userLocale = strdup(oldLocale);
+ SetCLocale();
+ SetUserLocale();
/*
* ARGUMENTS
*/
opterr = 0;
+ LogSet("dummy",0);
- while ((c = getopt(argc, argv, "vl:d:c:m")) != -1)
+ while ((c = getopt(argc, argv, "vl:d:c:mV")) != -1)
switch (c) {
case 'c': /* configuration name */
/* test for valid filename */
@@ -2883,6 +3082,10 @@ EXPORT wWin_p wMain(int argc, char * argv[]) {
argv[optind - 1]);
exit(1);
break;
+ case 'V': // display version
+ printf("Version: %s\n",XTRKCAD_VERSION);
+ exit(0);
+ break;
default:
abort();
}
@@ -2989,6 +3192,7 @@ EXPORT wWin_p wMain(int argc, char * argv[]) {
RotateDialogInit();
MoveDialogInit();
+ IndexDialogInit();
wSetSplashInfo(_("Initializing commands"));
LOG1(log_init, ( "paramInit\n" ))
@@ -3028,7 +3232,8 @@ EXPORT wWin_p wMain(int argc, char * argv[]) {
if (toolbarSet&(1<<BG_HOTBAR)) {
LayoutHotBar( NULL );
} else {
- HideHotBar();
+ LayoutHotBar( NULL ); /* Must run once to set it up */
+ HideHotBar(); /* Then hide */
}
LOG1(log_init, ( "drawInit\n" ))
DrawInit(initialZoom);
@@ -3041,6 +3246,7 @@ EXPORT wWin_p wMain(int argc, char * argv[]) {
if (!ParamFileListInit())
return NULL;
+ // LOG1(log_init, ("!ParamFileListInit()\n"))
curCommand = describeCmdInx;
LOG1(log_init, ( "Reset\n" ))
@@ -3082,13 +3288,27 @@ EXPORT wWin_p wMain(int argc, char * argv[]) {
/* this has to be called before ShowTip() */
InitSmallDlg();
- ShowTip(SHOWTIP_NEXTTIP);
+ /* Compare the program version and display Beta warning if appropriate */
+ pref = wPrefGetString("misc", "version");
+ if((!pref) || (strcmp(pref,XTRKCAD_VERSION) != 0))
+ {
+ if(strstr(XTRKCAD_VERSION,"Beta") != NULL)
+ {
+ NoticeMessage(MSG_BETA_NOTICE, _("Ok"),NULL, XTRKCAD_VERSION);
+ }
+ //else {
+ // NoticeMessage(_("New version welcome..."),_("Ok"),NULL);
+ //}
+ wPrefSetString("misc", "version", XTRKCAD_VERSION);
+ }
+ else {
+ ShowTip(SHOWTIP_NEXTTIP);
+ }
/* check for existing checkpoint file */
resumeWork = FALSE;
if (ExistsCheckpoint()) {
resumeWork = OfferCheckpoint();
- MainRedraw();
}
if (!resumeWork) {
@@ -3099,15 +3319,17 @@ EXPORT wWin_p wMain(int argc, char * argv[]) {
wPrefGetInteger("misc", "lastlayoutexample", &iExample, 0);
bExample = (iExample == 1);
}
-
if (initialFile && strlen(initialFile)) {
- DoFileList(0, NULL, initialFile); //Will load Background values, if archive
+ DoFileList(0, "1", initialFile); //Will load Background values, if archive, leave
if (onStartup == 1)
LayoutBackGroundInit(TRUE); //Wipe Out Prior Background
else
LayoutBackGroundInit(FALSE); //Get Prior BackGround
- }
+ } else
+ LayoutBackGroundInit(TRUE); // If onStartup==1 and no initial file - Wipe Out Prior Background
+
}
+ MainRedraw();
inMainW = FALSE;
return mainW;
}
diff --git a/app/bin/misc.h b/app/bin/misc.h
index 2be0be2..509f2d8 100644
--- a/app/bin/misc.h
+++ b/app/bin/misc.h
@@ -25,20 +25,11 @@
#define EXPORT
-#include <stdio.h>
-
#include "acclkeys.h"
#include "common.h"
-#include "draw.h"
-#include "wlib.h"
typedef void (*addButtonCallBack_t)(void*);
-#ifdef WINDOWS
-/* suppress warning from *.bmp about conversion of int to char */
-#pragma warning( disable : 4305)
-#endif
-
#define COUNT(A) (sizeof(A)/sizeof(A[0]))
#define STR_SIZE (256)
@@ -54,6 +45,8 @@ typedef void (*addButtonCallBack_t)(void*);
* Globals
*/
+extern int iconSize;
+
extern long adjTimer;
typedef int SCALEINX_T;
@@ -78,6 +71,7 @@ extern ANGLE_T connectAngle;
extern long twoRailScale;
extern long mapScale;
extern long constrainMain;
+extern long dontHideCursor;
extern long checkPtInterval;
extern long autosaveChkPoints;
extern long liveMap;
@@ -178,20 +172,20 @@ typedef STATUS_T (*procCommand_t) (wAction_t, coOrd);
/*
* Windows and buttons
*/
-extern wPos_t DlgSepLeft;
-extern wPos_t DlgSepMid;
-extern wPos_t DlgSepRight;
-extern wPos_t DlgSepTop;
-extern wPos_t DlgSepBottom;
-extern wPos_t DlgSepNarrow;
-extern wPos_t DlgSepWide;
-extern wPos_t DlgSepFrmLeft;
-extern wPos_t DlgSepFrmRight;
-extern wPos_t DlgSepFrmTop;
-extern wPos_t DlgSepFrmBottom;
+extern wWinPix_t DlgSepLeft;
+extern wWinPix_t DlgSepMid;
+extern wWinPix_t DlgSepRight;
+extern wWinPix_t DlgSepTop;
+extern wWinPix_t DlgSepBottom;
+extern wWinPix_t DlgSepNarrow;
+extern wWinPix_t DlgSepWide;
+extern wWinPix_t DlgSepFrmLeft;
+extern wWinPix_t DlgSepFrmRight;
+extern wWinPix_t DlgSepFrmTop;
+extern wWinPix_t DlgSepFrmBottom;
extern wWin_p mainW;
-extern wPos_t toolbarHeight;
+extern wWinPix_t toolbarHeight;
extern wIndex_t changed;
extern char message[STR_HUGE_SIZE];
extern REGION_T curRegion;
@@ -212,30 +206,30 @@ extern wMenu_p popup1M, popup2M;
#define wControlBeside( B ) (wControlGetPosX((wControl_p)(B))+wControlGetWidth((wControl_p)(B)))
typedef void (*rotateDialogCallBack_t) ( void * );
+typedef void (*indexDialogCallBack_t) (void * );
typedef void (*moveDialogCallBack_t) (void *);
extern void AddRotateMenu( wMenu_p, rotateDialogCallBack_t );
extern void AddMoveMenu( wMenu_p, moveDialogCallBack_t );
-extern void StartRotateDialog( rotateDialogCallBack_t );
-extern void StartMoveDialog(moveDialogCallBack_t );
+extern void AddIndexMenu(wMenu_p m, indexDialogCallBack_t func);
/*
* Safe Memory etc
*/
-void * MyMalloc( long );
-void * MyRealloc( void *, long );
+void * MyMalloc( size_t );
+void * MyRealloc( void *, size_t );
void MyFree( void * );
void * memdup( void *, size_t );
char * MyStrdup( const char * );
-void AbortProg( char *, ... );
+void AbortProg( const char *, ... );
#define ASSERT( X ) if ( !(X) ) AbortProg( "%s: %s:%d", #X, __FILE__, __LINE__ )
-char * Strcpytrimed( char *, char *, BOOL_T );
-char * BuildTrimedTitle( char *, char *, char *, char *, char * );
-void ErrorMessage( char *, ... );
-void InfoMessage( char *, ... );
-int NoticeMessage( char *, char*, char *, ... );
-int NoticeMessage2( int, char *, char*, char *, ... );
-void DoQuit( void );
-
-void FileIsChanged(void);
+char * Strcpytrimed( char *, const char *, BOOL_T );
+char * BuildTrimedTitle( char *, const char *, const char *, const char *, const char * );
+void ErrorMessage( const char *, ... );
+void InfoMessage( const char *, ... );
+int NoticeMessage( const char *, const char*, const char *, ... );
+int NoticeMessage2( int, const char *, const char*, const char *, ... );
+void DoQuit( void * unused );
+
+void SetFileChanged(void);
char * ConvertFromEscapedText(const char * text);
char * ConvertToEscapedText(const char * text);
@@ -244,18 +238,19 @@ void wShow( wWin_p );
void wHide( wWin_p );
void CloseDemoWindows( void );
void DefaultProc( wWin_p, winProcEvent, void * );
-void SelectFont();
+void SelectFont( void * unused );
void CheckRoomSize( BOOL_T );
-const char * GetBalloonHelpStr( char* );
+const char * GetBalloonHelpStr( const char* );
const char * GetCurCommandName( void );
void EnableCommands( void );
void Reset( void );
+void TryCheckPoint( void );
wIndex_t GetCurrentCommand(void);
BOOL_T IsCurCommandSticky(void);
void ResetIfNotSticky( void );
wBool_t DoCurCommand( wAction_t, coOrd );
-void ConfirmReset( BOOL_T );
+int ConfirmReset( BOOL_T );
void LayoutToolBar( void * );
#define IC_STICKY (1<<0)
#define IC_INITNOTSTICKY (1<<1)
@@ -276,24 +271,24 @@ void LayoutToolBar( void * );
#define IC_PLAYBACK_PUSH (1<<16)
#define IC_WANT_MODKEYS (1<<17)
#define IC_POPUP3 (1<<18)
-wIndex_t InitCommand( wMenu_p, procCommand_t, char *, char *, int, long, long );
+wIndex_t InitCommand( wMenu_p, procCommand_t, const char *, const char *, int, long, long );
void AddToolbarControl( wControl_p, long );
BOOL_T CommandEnabled( wIndex_t );
-wButton_p AddToolbarButton( char*, wIcon_p, long, wButtonCallBack_p, void * context );
-wIndex_t AddCommandButton( procCommand_t, char*, char*, wIcon_p, int, long, long, void* );
-wIndex_t AddMenuButton( wMenu_p, procCommand_t, char*, char*, wIcon_p, int, long, long, void* );
+wButton_p AddToolbarButton( const char*, wIcon_p, long, wButtonCallBack_p, void * context );
+// RWS not found: wIndex_t AddCommandButton( procCommand_t, char*, char*, wIcon_p, int, long, long, void* );
+wIndex_t AddMenuButton( wMenu_p, procCommand_t, const char*, const char*, wIcon_p, int, long, long, void* );
void PlaybackButtonMouse( wIndex_t );
-void ButtonGroupBegin( char *, char *, char * );
+void ButtonGroupBegin( const char *, const char *, const char * );
void ButtonGroupEnd( void );
void SaveState( void );
-void PlaybackCommand( char *, wIndex_t );
-wMenu_p MenuRegister( char * label );
+void PlaybackCommand( const char *, wIndex_t );
+wMenu_p MenuRegister( const char * label );
void DoCommandB( void * );
-extern void EnumerateTracks( void );
-void InitDebug( char *, long * );
+extern void EnumerateTracks( void * unused );
+void InitDebug( const char *, long * );
#define CHANGE_SCALE (1<<0)
#define CHANGE_PARAMS (1<<1)
@@ -305,6 +300,7 @@ void InitDebug( char *, long * );
#define CHANGE_TOOLBAR (1<<8)
#define CHANGE_CMDOPT (1<<9)
#define CHANGE_LIMITS (1<<10)
+#define CHANGE_ICONSIZE (1<<11)
#define CHANGE_ALL (CHANGE_SCALE|CHANGE_PARAMS|CHANGE_MAIN|CHANGE_MAP|CHANGE_UNITS|CHANGE_TOOLBAR|CHANGE_CMDOPT|CHANGE_BACKGROUND)
typedef void (*changeNotificationCallBack_t)( long );
void RegisterChangeNotification( changeNotificationCallBack_t );
@@ -313,7 +309,6 @@ void DoChangeNotification( long );
wBool_t CheckHelpTopicExists(const char * topic);
/* foreign externs */
-extern drawCmd_t mapD;
extern STATUS_T CmdEnumerate( wAction_t, coOrd );
extern wIndex_t modifyCmdInx;
@@ -326,9 +321,15 @@ void InitNewTurn( wMenu_p m );
/* cnote.c */
void ClearNote( void );
+/* cprintc.c */
+coOrd GetPrintOrig();
+ANGLE_T GetPrintAngle();
+
+
/* cruler.c */
void RulerRedraw( BOOL_T );
STATUS_T ModifyRuler( wAction_t, coOrd );
+STATUS_T ModifyProtractor( wAction_t, coOrd );
/* dialogs */
void OutputBitMap( void );
@@ -336,6 +337,7 @@ void OutputBitMap( void );
extern wDrawColor snapGridColor;
addButtonCallBack_t ColorInit( void );
+addButtonCallBack_t SettingsInit( void );
addButtonCallBack_t PrefInit( void );
addButtonCallBack_t LayoutInit( void );
addButtonCallBack_t DisplayInit( void );
@@ -348,23 +350,23 @@ addButtonCallBack_t ControlMgrInit ( void );
wIndex_t InitGrid( wMenu_p menu );
-void SnapPos( coOrd * );
+BOOL_T SnapPos( coOrd * );
void DrawSnapGrid( drawCmd_p, coOrd, BOOL_T );
BOOL_T GridIsVisible( void );
void InitSnapGridButtons( void );
-void SnapGridEnable( void );
-void SnapGridShow( void );
+void SnapGridEnable( void * unused );
+void SnapGridShow( void * unused );
void MapWindowShow( int state );
extern wMenuToggle_p snapGridEnableMI;
extern wMenuToggle_p snapGridShowMI;
void ScaleLengthEnd( void );
-void EnumerateList( long, FLOAT_T, char * );
+void EnumerateList( long, FLOAT_T, char * , char * );
void EnumerateStart(void);
void EnumerateEnd(void);
/* cnote.c */
-void DoNote( void );
+void DoNote( void * unused );
BOOL_T WriteMainNote( FILE * );
BOOL_T ReadMainNote(char * line);
@@ -448,5 +450,6 @@ void InitCmdSensor ( wMenu_p menu );
/* cmodify.c */
STATUS_T CmdModify(wAction_t action,coOrd pos );
+#include "misc2.h"
#endif
diff --git a/app/bin/misc2.c b/app/bin/misc2.c
index 19226cc..6334bf2 100644
--- a/app/bin/misc2.c
+++ b/app/bin/misc2.c
@@ -20,50 +20,34 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdlib.h>
-#include <stdio.h>
-#ifndef WINDOWS
-#include <unistd.h>
-#include <dirent.h>
-#endif
-#ifdef HAVE_MALLOC_H
-#include <malloc.h>
-#endif
-#include <math.h>
-#include <ctype.h>
-#include <string.h>
-#include <stdarg.h>
-
-#include <stdint.h>
-
#include "cjoin.h"
#include "common.h"
#include "compound.h"
#include "custom.h"
#include "draw.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "misc.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
+#include "common-ui.h"
EXPORT long units = 0; /**< measurement units: 0 = English, 1 = metric */
EXPORT long checkPtInterval = 10;
-EXPORT long autosaveChkPoints = 2;
+EXPORT long autosaveChkPoints = 0;
EXPORT DIST_T curScaleRatio;
EXPORT char * curScaleName;
EXPORT DIST_T trackGauge;
EXPORT long labelScale = 8;
EXPORT long labelEnable = (LABELENABLE_ENDPT_ELEV|LABELENABLE_CARS);
+/** @prefs [draw] label-when=2 Unknown */
EXPORT long labelWhen = 2;
EXPORT long colorTrack = 0;
EXPORT long colorDraw = 0;
EXPORT long constrainMain = 0;
+EXPORT long dontHideCursor = 0;
EXPORT long hideSelectionWindow = 0;
EXPORT long angleSystem = 0;
EXPORT DIST_T minLength = 0.1;
@@ -173,6 +157,17 @@ typedef struct {
EXPORT typedef scaleInfo_t * scaleInfo_p;
static dynArr_t scaleInfo_da;
#define scaleInfo(N) DYNARR_N( scaleInfo_t, scaleInfo_da, N )
+
+typedef struct {
+ char *in_scales;
+ SCALE_FIT_TYPE_T type;
+ char *match_scales;
+ SCALE_FIT_T result;
+} scaleComp_t;
+EXPORT typedef scaleComp_t * scaleComp_p;
+static dynArr_t scaleCompatible_da;
+#define scaleComp(N) DYNARR_N( scaleComp_t, scaleCompatible_da, N )
+
static tieData_t tieData_demo = {
96.0/160.0,
16.0/160.0,
@@ -180,6 +175,7 @@ static tieData_t tieData_demo = {
//EXPORT SCALEINX_T curScaleInx = -1;
static scaleInfo_p curScale;
+/** @prefs [misc] include same gauge turnouts=1 Unknown */
EXPORT long includeSameGaugeTurnouts = FALSE;
static SCALEINX_T demoScaleInx = -1;
@@ -243,12 +239,16 @@ EXPORT SCALEINX_T GetScaleInx( SCALEDESCINX_T scaleInx, GAUGEINX_T gaugeInx )
}
EXPORT DIST_T GetScaleTrackGauge( SCALEINX_T si )
{
- return scaleInfo(si).gauge;
+ if (si >=0 && si<scaleInfo_da.cnt)
+ return scaleInfo(si).gauge;
+ else return 1.0;
}
EXPORT DIST_T GetScaleRatio( SCALEINX_T si )
{
- return scaleInfo(si).ratio;
+ if (si >=0 && si<scaleInfo_da.cnt)
+ return scaleInfo(si).ratio;
+ else return 1.0;
}
EXPORT char * GetScaleName( SCALEINX_T si )
@@ -286,9 +286,15 @@ EXPORT tieData_p GetScaleTieData( SCALEINX_T si )
if ( !s->tieDataValid ) {
sprintf( message, "tiedata-%s", s->scale );
defLength = (96.0-54.0)/s->ratio+s->gauge;
+
+ /** @prefs [tiedata-<SCALE>] length, width, spacing Sets tie drawing data.
+ * Example for 6"x8"x6' ties spaced 20" in HOn3 (slash separates 4 lines):
+ * [tiedata-HOn3] \ length=0.83 \ width=0.07 \ spacing=0.23
+ */
wPrefGetFloat( message, "length", &s->tieData.length, defLength );
wPrefGetFloat( message, "width", &s->tieData.width, 16.0/s->ratio );
wPrefGetFloat( message, "spacing", &s->tieData.spacing, 2*s->tieData.width );
+ s->tieDataValid = TRUE;
}
return &scaleInfo(si).tieData;
}
@@ -315,7 +321,7 @@ SetScaleGauge(SCALEDESCINX_T desc, GAUGEINX_T gauge)
dynArr_t gauges_da;
gauges_da = (scaleDesc(desc)).gauges_da;
- SetLayoutCurScale(((gaugeInfo_p)gauges_da.ptr)[gauge].scale);
+ SetLayoutCurScale( DYNARR_N( gaugeInfo_t, gauges_da, gauge).scale);
}
static BOOL_T
@@ -376,29 +382,91 @@ EXPORT SCALEINX_T LookupScale( const char * name )
return si;
}
+/*
+ * Evaluate the fit of a part scale1 to a definition in scale2 for a type.
+ *
+ * The rules differ by type of object.
+ *
+ * Tracks need to be the same gauge to be a fit. If they are the same scale they are exact.
+ * If the gauge is the same, but the scale is different they are compatible.
+ * There are well known exceptions where the scale is not the same but we call them exact.
+ *
+ * Structures need to be the same scale to be exact. If they are within 15% they are compatible.
+ *
+ * Cars need to be the same gauge and scale to be exact.
+ * If they are the same gauge, but within 15% of the scale they are compatible.
+ *
+ *\param type (FIT_TURNOUT,FIT_STRUCTURE,FIT_CAR)
+ *\param scale1 the input scale
+ *\param scale2 the scale to check against
+ *
+ *\return FIT_EXACT, FIT_COMPATIBLE, FIT_NONE
+ */
-EXPORT BOOL_T CompatibleScale(
- BOOL_T isTurnout,
+EXPORT SCALE_FIT_T CompatibleScale(
+ SCALE_FIT_TYPE_T type,
SCALEINX_T scale1,
SCALEINX_T scale2 )
{
+ SCALE_FIT_T rc;
if ( scale1 == scale2 )
- return TRUE;
+ return FIT_EXACT;
if ( scale1 == SCALE_DEMO || scale2 == SCALE_DEMO )
- return FALSE;
+ return FIT_NONE;
if ( scale1 == demoScaleInx || scale2 == demoScaleInx )
- return FALSE;
- if ( isTurnout ) {
+ return FIT_NONE;
+ switch(type) {
+ case FIT_TURNOUT:
+ if ( scale1 == SCALE_ANY )
+ return FIT_EXACT;
+ if (scaleInfo(scale1).gauge == scaleInfo(scale2).gauge &&
+ scaleInfo(scale1).scale == scaleInfo(scale2).scale)
+ return FIT_EXACT;
+
+ rc = FindScaleCompatible(FIT_TURNOUT, scaleInfo(scale1).scale, scaleInfo(scale2).scale);
+ if (rc != FIT_NONE) return rc;
+
if ( includeSameGaugeTurnouts &&
- scaleInfo(scale1).gauge == scaleInfo(scale2).gauge )
- return TRUE;
- } else {
+ scaleInfo(scale1).gauge == scaleInfo(scale2).gauge )
+ return FIT_COMPATIBLE;
+ break;
+ case FIT_STRUCTURE:
if ( scale1 == SCALE_ANY )
- return TRUE;
+ return FIT_EXACT;
if ( scaleInfo(scale1).ratio == scaleInfo(scale2).ratio )
- return TRUE;
+ return FIT_EXACT;
+
+ rc = FindScaleCompatible(FIT_STRUCTURE, scaleInfo(scale1).scale, scaleInfo(scale2).scale);
+ if (rc != FIT_NONE) return rc;
+
+ //15% scale match is compatible for structures
+ if (scaleInfo(scale1).ratio/scaleInfo(scale2).ratio>=0.85 &&
+ scaleInfo(scale1).ratio/scaleInfo(scale2).ratio<=1.15)
+ return FIT_COMPATIBLE;
+ break;
+ case FIT_CAR:
+ if ( scale1 == SCALE_ANY )
+ return FIT_EXACT;
+ if (scaleInfo(scale1).gauge == scaleInfo(scale2).gauge &&
+ scaleInfo(scale1).scale == scaleInfo(scale2).scale)
+ return FIT_EXACT;
+
+ rc = FindScaleCompatible(FIT_CAR, scaleInfo(scale1).scale, scaleInfo(scale2).scale);
+ if (rc != FIT_NONE) return rc;
+
+ //Same gauge and 15% scale match is compatible for cars
+ if (scaleInfo(scale1).gauge == scaleInfo(scale2).gauge) {
+ if (scaleInfo(scale1).ratio/scaleInfo(scale2).ratio>=0.85 &&
+ scaleInfo(scale1).ratio/scaleInfo(scale2).ratio<=1.15)
+ return FIT_COMPATIBLE;
+ }
+ break;
+
+ default:;
}
- return FALSE;
+
+ return FIT_NONE;
+
}
/** Split the scale and the gauge description for a given combination. Eg HOn3 will be
@@ -451,7 +519,7 @@ GetScaleGauge( SCALEINX_T scaleInx, SCALEDESCINX_T *scaleDescInx, GAUGEINX_T *ga
static void
SetScale( SCALEINX_T newScaleInx )
{
- if (newScaleInx < 0 && newScaleInx >= scaleInfo_da.cnt) {
+ if (newScaleInx < 0 || newScaleInx >= scaleInfo_da.cnt) {
NoticeMessage( MSG_BAD_SCALE_INDEX, _("Ok"), NULL, (int)newScaleInx );
return;
}
@@ -530,7 +598,7 @@ EXPORT BOOL_T DoSetScaleDesc( void )
DIST_T ratio;
BOOL_T found;
char buf[ 80 ];
- int len;
+ size_t len;
for( scaleInx = 0; scaleInx < scaleInfo_da.cnt; scaleInx++ ) {
ratio = DYNARR_N( scaleInfo_t, scaleInfo_da, scaleInx ).ratio;
@@ -629,13 +697,113 @@ static BOOL_T AddScale(
return TRUE;
}
+static BOOL_T AddScaleFit(
+ char * line) {
+ char scales[STR_SIZE], matches[STR_SIZE], type[20], result[20];
+ BOOL_T rc;
+ scaleComp_p s;
+
+ if ( (rc=sscanf( line, "SCALEFIT %s %s %s %s",
+ type, result, scales, matches )) != 4) {
+ SyntaxError( "SCALEFIT", rc, 4 );
+ return FALSE;
+ }
+ DYNARR_APPEND( scaleComp_t, scaleCompatible_da, 10 );
+ s = &scaleComp(scaleCompatible_da.cnt-1);
+ s->in_scales = MyStrdup(scales);
+ s->match_scales = MyStrdup(matches);
+ if (strcmp(type,"STRUCTURE") == 0) {
+ s->type = FIT_STRUCTURE;
+ } else if (strcmp(type,"TURNOUT")==0) {
+ s->type = FIT_TURNOUT;
+ } else if (strcmp(type,"CAR")==0) {
+ s->type = FIT_CAR;
+ } else {
+ InputError( "Invalid SCALEFIT type %s", TRUE, type );
+ return FALSE;
+ }
+ if (strcmp(result,"COMPATIBLE")==0) {
+ s->result = FIT_COMPATIBLE;
+ } else if (strcmp(result,"EXACT")==0) {
+ s->result = FIT_EXACT;
+ } else {
+ InputError( "Invalid SCALEFIT result %s", TRUE, result );
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+EXPORT SCALE_FIT_T FindScaleCompatible(SCALE_FIT_TYPE_T type, char * scale1, char * scale2) {
+
+ char * cp, * cq;
+
+ if (!scale1 || !scale1[0]) return FIT_NONE;
+ if (!scale2 || !scale2[0]) return FIT_NONE;
+
+ for (int i=0; i<scaleCompatible_da.cnt; i++) {
+ scaleComp_p s;
+ s = &scaleComp(i);
+ if (s->type != type) continue;
+ BOOL_T found = FALSE;
+ cp = s->in_scales;
+ //Match input scale
+ while (cp) {
+ //Next instance of needle in haystack
+ cp = strstr(cp,scale2);
+ if (!cp) break;
+ //Check that this is start of csv string
+ if (cp == s->in_scales || cp[-1] == ',') {
+ //Is this end of haystack?
+ if (strlen(cp) == strlen(scale2)) {
+ found = TRUE;
+ break;
+ }
+ //Is it the same until the next ','
+ cq=strstr(cp,",");
+ if (cq && (cq-cp == strlen(scale2))) {
+ found = TRUE;
+ break;
+ }
+ else cp=cq;
+ } else cp=strstr(cp,",");
+ }
+ if (!found) continue;
+ found = FALSE;
+ cp = s->match_scales;
+ //Match output scale
+ while (cp) {
+ //Next instance of needle in haystack
+ cp = strstr(cp,scale1);
+ if (!cp) break;
+ //Check that this is start of csv string
+ if (cp == s->match_scales || cp[-1] == ',') {
+ //Is this end of haystack?
+ if (strlen(cp) == strlen(scale1)) {
+ found = TRUE;
+ break;
+ }
+ //Is it the same until the next ','
+ cq=strstr(cp,",");
+ if (cq && (cq-cp == strlen(scale1))) {
+ found = TRUE;
+ break;
+ }
+ else cp=cq;
+ } else cp=strstr(cp,",");
+ }
+ if (!found) continue;
+ return s->result;
+ }
+ return FIT_NONE;
+}
EXPORT void ScaleLengthIncrement(
SCALEINX_T scale,
DIST_T length )
{
char * cp;
- int len;
+ size_t len;
if (scaleInfo(scale).length == 0.0) {
if (units == UNITS_METRIC)
cp = "999.99m SCALE Flex Track";
@@ -643,7 +811,7 @@ EXPORT void ScaleLengthIncrement(
cp = "999' 11\" SCALE Flex Track";
len = strlen( cp )+1;
if (len > enumerateMaxDescLen)
- enumerateMaxDescLen = len;
+ enumerateMaxDescLen = (int)len;
}
scaleInfo(scale).length += length;
}
@@ -651,7 +819,7 @@ EXPORT void ScaleLengthIncrement(
EXPORT void ScaleLengthEnd( void )
{
wIndex_t si;
- int count;
+ size_t count;
DIST_T length;
char tmp[STR_SIZE];
FLOAT_T flexLen;
@@ -672,7 +840,7 @@ EXPORT void ScaleLengthEnd( void )
if (flexLen > 0.0) {
count = (int)ceil( length / (flexLen/(flexUnit?2.54:1.00)));
}
- EnumerateList( count, flexCost, tmp );
+ EnumerateList( (long)count, flexCost, tmp, NULL );
}
scaleInfo(si).length = 0;
}
@@ -685,7 +853,7 @@ EXPORT void LoadScaleList( wList_p scaleList )
wIndex_t inx;
for (inx=0; inx<scaleDesc_da.cnt-(extraButtons?0:1); inx++) {
scaleDesc(inx).index =
- wListAddValue( scaleList, scaleDesc(inx).scaleDesc, NULL, (void*)(intptr_t)inx );
+ wListAddValue( scaleList, scaleDesc(inx).scaleDesc, NULL, I2VP(inx) );
}
}
@@ -703,7 +871,7 @@ EXPORT void LoadGaugeList( wList_p gaugeList, SCALEDESCINX_T scale )
wListClear( gaugeList ); /* remove old list in case */
for (inx=0; inx<gauges_da_p->cnt; inx++) {
- (g[inx]).index = wListAddValue( gaugeList, (g[inx]).gauge, NULL, (void*)(intptr_t)(g[inx]).scale );
+ (g[inx]).index = wListAddValue( gaugeList, (g[inx]).gauge, NULL, I2VP(g[inx].scale) );
}
}
@@ -723,6 +891,7 @@ static void ScaleChange( long changes )
EXPORT void Misc2Init( void )
{
AddParam( "SCALE ", AddScale );
+ AddParam( "SCALEFIT", AddScaleFit);
wPrefGetInteger( "draw", "label-when", &labelWhen, labelWhen );
RegisterChangeNotification( ScaleChange );
wPrefGetInteger( "misc", "include same gauge turnouts", &includeSameGaugeTurnouts, 1 );
diff --git a/app/bin/misc2.h b/app/bin/misc2.h
index 966f75b..8020696 100644
--- a/app/bin/misc2.h
+++ b/app/bin/misc2.h
@@ -25,7 +25,6 @@
#include "common.h"
#include "misc.h"
-#include "time.h"
#define LABEL_MANUF (1<<0)
#define LABEL_PARTNO (1<<1)
@@ -46,8 +45,8 @@ extern time_t logClock;
void LogOpen( char * );
void LogClose( void );
void LogSet( char *, int );
-int LogFindIndex( char * );
-void LogPrintf( char *, ... );
+int LogFindIndex( const char * );
+void LogPrintf( const char *, ... );
#define LOG( DBINX, DBLVL, DBMSG ) \
if ( DBINX > 0 && logTable( DBINX ).level >= DBLVL ) { \
LogPrintf DBMSG ; \
@@ -64,6 +63,7 @@ typedef struct {
DIST_T width;
DIST_T spacing;
} tieData_t, *tieData_p;
+
DIST_T GetScaleTrackGauge( SCALEINX_T );
DIST_T GetScaleRatio( SCALEINX_T );
DIST_T GetScaleDescRatio( SCALEDESCINX_T sdi );
@@ -82,7 +82,13 @@ BOOL_T DoSetScale( char * );
void ScaleLengthIncrement( SCALEINX_T, DIST_T );
void LoadScaleList( wList_p );
void LoadGaugeList( wList_p, SCALEDESCINX_T );
-BOOL_T CompatibleScale( BOOL_T, SCALEINX_T, SCALEINX_T );
+
+typedef enum {FIT_STRUCTURE, FIT_TURNOUT, FIT_CAR} SCALE_FIT_TYPE_T;
+typedef enum {FIT_NONE, FIT_COMPATIBLE, FIT_EXACT} SCALE_FIT_T;
+SCALE_FIT_T CompatibleScale( SCALE_FIT_TYPE_T, SCALEINX_T, SCALEINX_T );
+
+SCALE_FIT_T FindScaleCompatible(SCALE_FIT_TYPE_T type, char * scale1, char * scale2);
+
BOOL_T DoSetScaleDesc( void );
extern unsigned int curLayer;
@@ -92,9 +98,11 @@ void SetCurrLayer(wIndex_t inx, const char * name, wIndex_t op,
wDrawColor GetLayerColor( unsigned int );
BOOL_T GetLayerUseColor( unsigned int);
BOOL_T GetLayerVisible( unsigned int );
+void FlipLayer( void * layerVP );
BOOL_T GetLayerFrozen( unsigned int );
BOOL_T GetLayerOnMap( unsigned int );
BOOL_T GetLayerModule( unsigned int );
+BOOL_T GetLayerHidden( unsigned int);
void SetLayerModule(unsigned int, BOOL_T);
char * GetLayerName( unsigned int );
void SetLayerName(unsigned int layer, char* name);
@@ -104,6 +112,7 @@ char * FormatLayerName(unsigned int layerNumber);
/* dlayers.c */
void UpdateLayerLists( void );
void DefaultLayerProperties(void);
+void UpdateLayerDlg( unsigned int );
void ResetLayers( void );
void SaveLayers( void );
void RestoreLayers( void );
diff --git a/app/bin/note.h b/app/bin/note.h
index 315823f..2d70176 100644
--- a/app/bin/note.h
+++ b/app/bin/note.h
@@ -22,8 +22,7 @@
#ifndef HAVE_NOTE_H
#define HAVE_NOTE_H
-#include <stdbool.h>
-#include "track.h"
+#include "common.h"
#define URLMAXIMUMLENGTH (512)
#define PATHMAXIMUMLENGTH (2048)
@@ -40,7 +39,8 @@ enum noteCommands {
};
/** hold the data for the note */
-struct extraDataNote {
+typedef struct extraDataNote_t {
+ extraDataBase_t base;
coOrd pos; /**< position */
unsigned int layer;
enum noteCommands op; /**< note type */
@@ -57,7 +57,7 @@ struct extraDataNote {
BOOL_T inArchive;
} fileData; /**< used for file note */
} noteData;
-};
+} extraDataNote_t;
//struct noteTextData {
// coOrd pos;
@@ -102,9 +102,10 @@ void NewTextNoteUI(track_p trk);
void DescribeTextNote(track_p trk, char * str, CSIZE_T len);
/* trknote.c */
+extern TRKTYP_T T_NOTE;
void NoteStateSave(track_p trk);
-void UpdateFile(struct extraDataNote *noteUIData, int inx, BOOL_T needUndoStart);
-void UpdateText(struct extraDataNote *noteUIData, int inx, BOOL_T needUndoStart);
-void UpdateLink(struct extraDataNote *noteUIData, int inx, BOOL_T needUndoStart);
+void UpdateFile(struct extraDataNote_t *noteUIData, int inx, BOOL_T needUndoStart);
+void UpdateText(struct extraDataNote_t *noteUIData, int inx, BOOL_T needUndoStart);
+void UpdateLink(struct extraDataNote_t *noteUIData, int inx, BOOL_T needUndoStart);
#endif // !HAVE_NOTE_H
diff --git a/app/bin/param.c b/app/bin/param.c
index 27a8cf9..67ff7ac 100644
--- a/app/bin/param.c
+++ b/app/bin/param.c
@@ -20,44 +20,16 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdlib.h>
-#include <stdint.h>
-#include <stdio.h>
-#ifndef WINDOWS
-#include <unistd.h>
-#include <dirent.h>
-#endif
-#ifdef HAVE_MALLOC_H
-#include <malloc.h>
-#endif
-#include <math.h>
-#include <ctype.h>
-#include <string.h>
-#include <time.h>
-#ifdef WINDOWS
-#include <io.h>
-#include <windows.h>
-#define R_OK (02)
-#define access _access
-#else
-#include <sys/stat.h>
-#include <errno.h>
-#endif
-#include <stdarg.h>
-#include <locale.h>
-#include <wlib.h>
-
#include "common.h"
#include "compound.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
-#include "messages.h"
#include "misc.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
+#include "common-ui.h"
+EXPORT int paramHiliteFast = FALSE;
/* Bogus reg vars */
EXPORT int paramLevel = 1;
@@ -71,7 +43,8 @@ EXPORT char *PREFSECT = "DialogItem";
static int paramCheckErrorCount = 0;
static BOOL_T paramCheckShowErrors = FALSE;
-static int log_paramLayout;
+static int log_paramLayout = 0;
+static int log_paraminput = 0;
/*****************************************************************************
@@ -81,12 +54,12 @@ static int log_paramLayout;
*/
static char * getNumberError;
-static char decodeErrorStr[STR_SHORT_SIZE];
+static char decodeErrorStr[STR_SIZE];
static int GetDigitStr( char ** cpp, long * numP, int * lenP )
{
char *cp=*cpp, *cq;
- int len;
+ size_t len;
*numP = 0;
if ( cp == NULL ) {
getNumberError = N_("Unexpected End Of String");
@@ -101,7 +74,7 @@ static int GetDigitStr( char ** cpp, long * numP, int * lenP )
}
len = cq-cp;
if ( lenP )
- *lenP = len;
+ *lenP = (int)len;
if ( len > 9 ) {
getNumberError = N_("Overflow");
return FALSE;
@@ -299,7 +272,7 @@ EXPORT FLOAT_T DecodeFloat(
valF = strtod( cp1, &cp2 );
if ( *cp2 != 0 ) {
/*wStringSetHilight( strCtrl, cp2-cp0, -1 );*/
- sprintf( decodeErrorStr, _("Invalid Number") );
+ snprintf( decodeErrorStr, sizeof(decodeErrorStr), _("Invalid Number") );
*validP = FALSE;
return 0.0;
}
@@ -318,6 +291,7 @@ FLOAT_T DecodeDistance(
{
FLOAT_T valF;
char *cp0, *cp1, *cpN, c1;
+ // CAST_AWAY_CONST: we temporarily replace *cpN with a NULL and later restore
cp0 = cp1 = cpN = CAST_AWAY_CONST wStringGetValue(strCtrl);
cpN += strlen(cpN)-1;
@@ -357,7 +331,7 @@ FLOAT_T DecodeDistance(
wStringSetValue(strCtrl, FormatDistance(valF));
}
} else {
- sprintf(decodeErrorStr, "%s @ %s", _(getNumberError),
+ snprintf(decodeErrorStr, sizeof(decodeErrorStr), "%s @ %s", _(getNumberError),
*cp1?cp1:_("End Of String"));
valF = 0.0;
}
@@ -367,8 +341,9 @@ FLOAT_T DecodeDistance(
#define N_STRING (10)
-static char formatStrings[N_STRING][40];
-static int formatStringInx;
+static int formatStringInx; //Index ahead in case of overwrite
+static char formatStrings[N_STRING+1][80]; //Add safety
+
EXPORT char * FormatLong(
long valL )
@@ -507,6 +482,9 @@ EXPORT char * FormatSmallDistance(
*
*/
+static wBool_t ParamIntegerRangeCheck( paramData_p p, long valL );
+static wBool_t ParamFloatRangeCheck( paramData_p p, FLOAT_T valF );
+
EXPORT void ParamControlActive(
paramGroup_p pg,
int inx,
@@ -543,13 +521,17 @@ EXPORT void ParamLoadControl(
FLOAT_T tmpR;
char * valS;
- if ( (p->option&PDO_DLGIGNORE) != 0 )
+ if ( (p->option&PDO_DLGIGNORE) != 0 ) {
+ p->bInvalid = FALSE;
return;
+ }
if (p->control == NULL || p->valueP == NULL)
return;
switch ( p->type ) {
case PD_LONG:
wStringSetValue( (wString_p)p->control, FormatLong( *(long*)p->valueP ) );
+ if ( !ParamIntegerRangeCheck( p, *(long*)p->valueP ) )
+ return;
p->oldD.l = *(long*)p->valueP;
break;
case PD_RADIO:
@@ -583,11 +565,14 @@ EXPORT void ParamLoadControl(
valS = FormatFloat( tmpR );
}
wStringSetValue( (wString_p)p->control, valS );
+ if ( !ParamFloatRangeCheck( p, tmpR ) )
+ break;
p->oldD.f = tmpR;
break;
case PD_STRING:
if (p->oldD.s)
MyFree( p->oldD.s );
+ ASSERT( p->max_string > 0 );
if (p->max_string) {
p->oldD.s = MyMalloc(p->max_string);
strncpy(p->oldD.s, (char*)p->valueP, p->max_string-1);
@@ -598,6 +583,10 @@ EXPORT void ParamLoadControl(
p->oldD.s = MyStrdup((char *)p->valueP);
wStringSetValue((wString_p)p->control, (char*)p->valueP);
}
+ if ( (p->option & PDO_NOTBLANK) && strlen( p->oldD.s ) == 0 ) {
+ ParamHilite( p->group->win, p->control, TRUE );
+ p->bInvalid = TRUE;
+ }
break;
case PD_MESSAGE:
wMessageSetValue( (wMessage_p)p->control, _((char*)p->valueP) );
@@ -623,6 +612,7 @@ EXPORT void ParamLoadControls(
paramGroup_p pg )
{
int inx;
+ LOG( log_paraminput, 1, ( "ParamLoadControls( %s )\n", pg->nameStr ) );
for ( inx=0; inx<pg->paramCnt; inx++ )
ParamLoadControl( pg, inx );
}
@@ -645,13 +635,17 @@ EXPORT long ParamUpdate(
continue;
if ( p->control == NULL )
continue;
+ if ( p->bInvalid == TRUE )
+ break;
switch ( p->type ) {
case PD_LONG:
stringV = wStringGetValue( (wString_p)p->control );
longV = atol( stringV );
+ if ( ! ParamIntegerRangeCheck( p, longV ) )
+ break;
if (longV != p->oldD.l) {
p->oldD.l = longV;
- if ( /*(p->option&PDO_NOUPDUPD)==0 &&*/ p->valueP)
+ if ( p->valueP)
*(long*)p->valueP = longV;
if ( (p->option&PDO_NOUPDACT)==0 && pg->changeProc)
pg->changeProc( pg, inx, &longV );
@@ -662,7 +656,7 @@ EXPORT long ParamUpdate(
longV = wRadioGetValue( (wChoice_p)p->control );
if (longV != p->oldD.l) {
p->oldD.l = longV;
- if ( /*(p->option&PDO_NOUPDUPD)==0 &&*/ p->valueP)
+ if ( p->valueP)
*(long*)p->valueP = longV;
if ( (p->option&PDO_NOUPDACT)==0 && pg->changeProc)
pg->changeProc( pg, inx, &longV );
@@ -673,7 +667,7 @@ EXPORT long ParamUpdate(
longV = wToggleGetValue( (wChoice_p)p->control );
if (longV != p->oldD.l) {
p->oldD.l = longV;
- if ( /*(p->option&PDO_NOUPDUPD)==0 &&*/ p->valueP)
+ if ( p->valueP)
*(long*)p->valueP = longV;
if ( (p->option&PDO_NOUPDACT)==0 && pg->changeProc)
pg->changeProc( pg, inx, &longV );
@@ -686,7 +680,7 @@ EXPORT long ParamUpdate(
longV = wListGetIndex( (wList_p)p->control );
if (longV != p->oldD.l) {
p->oldD.l = longV;
- if ( /*(p->option&PDO_NOUPDUPD)==0 &&*/ p->valueP)
+ if ( p->valueP)
*(wIndex_t*)p->valueP = (wIndex_t)longV;
if ( (p->option&PDO_NOUPDACT)==0 && pg->changeProc)
pg->changeProc( pg, inx, &longV );
@@ -697,7 +691,7 @@ EXPORT long ParamUpdate(
dc = wColorSelectButtonGetColor( (wButton_p)p->control );
if (dc != p->oldD.dc) {
p->oldD.dc = dc;
- if ( /*(p->option&PDO_NOUPDUPD)==0 &&*/ p->valueP)
+ if ( p->valueP)
*(wDrawColor*)p->valueP = dc;
if ( (p->option&PDO_NOUPDACT)==0 && pg->changeProc) {
pg->changeProc( pg, inx, &longV ); /* COLORNOP */
@@ -715,9 +709,11 @@ EXPORT long ParamUpdate(
}
if ( !valid )
break;
+ if ( ! ParamFloatRangeCheck( p, floatV ) )
+ break;
if (floatV != p->oldD.f) {
p->oldD.f = floatV;
- if ( /*(p->option&PDO_NOUPDUPD)==0 &&*/ p->valueP)
+ if ( p->valueP)
*(FLOAT_T*)p->valueP = floatV;
if ( (p->option&PDO_NOUPDACT)==0 && pg->changeProc)
pg->changeProc( pg, inx, &floatV );
@@ -726,24 +722,24 @@ EXPORT long ParamUpdate(
break;
case PD_STRING:
stringV = wStringGetValue( (wString_p)p->control );
+ if ( (p->option & PDO_NOTBLANK) && stringV [0] == '\0' ) {
+ p->bInvalid = TRUE;
+ break;
+ }
if ( strcmp( stringV, p->oldD.s ) != 0 ) {
if (p->oldD.s)
MyFree( p->oldD.s );
p->oldD.s = MyStrdup( stringV );
if ( p->valueP ) {
- if (p->option & PDO_STRINGLIMITLENGTH ) {
- strncpy((char*)p->valueP, stringV, p->max_string-1);
- ((char *)p->valueP)[p->max_string - 1] = '\0';
- if (strlen(stringV) > p->max_string-1) {
- NoticeMessage2(0, MSG_ENTERED_STRING_TRUNCATED, _("Ok"), NULL, p->max_string-1);
- }
- }
- else {
- strcpy((char*)p->valueP, stringV);
+ strncpy((char*)p->valueP, stringV, p->max_string-1);
+ ((char *)p->valueP)[p->max_string - 1] = '\0';
+ if (strlen(stringV) > p->max_string-1) {
+ NoticeMessage2(0, MSG_ENTERED_STRING_TRUNCATED, _("Ok"), NULL, p->max_string-1);
}
}
if ( (p->option&PDO_NOUPDACT)==0 && pg->changeProc)
+ // CAST_AWAY_CONST: param 3 should be const but its a big change
pg->changeProc( pg, inx, CAST_AWAY_CONST stringV );
change |= (1L<<inx);
}
@@ -952,16 +948,10 @@ static long ParamIntRestore(
break;
case PD_STRING:
if ( oldP->s && strcmp((char*)p->valueP,oldP->s) != 0 ) {
- if (p->max_string && (p->option & PDO_STRINGLIMITLENGTH)) {
- ((char*)p->valueP)[0] = '\0';
- strncat((char*)p->valueP,oldP->s,p->max_string-1);
- if (p->control)
- wStringSetValue( (wString_p)p->control, (char*)p->valueP );
- } else {
- strcpy( (char*)p->valueP, oldP->s );
- if (p->control)
- wStringSetValue( (wString_p)p->control, oldP->s );
- }
+ ((char*)p->valueP)[0] = '\0';
+ strncat((char*)p->valueP,oldP->s,p->max_string-1);
+ if (p->control)
+ wStringSetValue( (wString_p)p->control, (char*)p->valueP );
change |= (1L<<inx);
}
break;
@@ -1048,12 +1038,13 @@ static long ParamRestore( paramGroup_p pg )
static dynArr_t paramGroups_da;
#define paramGroups(N) DYNARR_N( paramGroup_p, paramGroups_da, N )
+static BOOL_T paramGroups_init = FALSE;
EXPORT void ParamRegister( paramGroup_p pg )
{
- paramData_p p;
+ paramData_t * p;
const char * cp;
WDOUBLE_T tmpR;
long valL;
@@ -1061,13 +1052,16 @@ EXPORT void ParamRegister( paramGroup_p pg )
char prefName1[STR_SHORT_SIZE];
const char *prefSect2, *prefName2;
+ if (!paramGroups_init) ParamInit();
+
DYNARR_APPEND( paramGroup_p, paramGroups_da, 10 );
paramGroups(paramGroups_da.cnt-1) = pg;
- for ( p=pg->paramPtr; p<&pg->paramPtr[pg->paramCnt]; p++ ) {
+ int i;
+ for ( i=0, p=pg->paramPtr; i<(pg->paramCnt); p++, i++ ) {
p->group = pg;
if ( p->nameStr == NULL )
continue;
- sprintf( prefName1, "%s-%s", pg->nameStr, p->nameStr );
+ snprintf( prefName1, sizeof(prefName1), "%s-%s", pg->nameStr, p->nameStr );
if ( p->type != PD_MENUITEM ) {
(void)GetBalloonHelpStr( prefName1 );
}
@@ -1174,21 +1168,22 @@ EXPORT void ParamUpdatePrefs( void )
paramData_p p;
long rgb;
char prefName[STR_SHORT_SIZE];
- int len;
+ size_t len;
int col;
char * cp;
- static wPos_t * colWidths;
+ static wWinPix_t * colWidths;
static int maxColCnt = 0;
paramListData_t * listDataP;
for ( inx=0; inx<paramGroups_da.cnt; inx++ ) {
pg = paramGroups(inx);
+ if (pg->nameStr == NULL) continue;
for ( p=pg->paramPtr; p<&pg->paramPtr[pg->paramCnt]; p++ ) {
if (p->valueP == NULL || p->nameStr == NULL || (p->option&PDO_NOPREF)!=0 )
continue;
if ( (p->option&PDO_DLGIGNORE) != 0 )
continue;
- sprintf( prefName, "%s-%s", pg->nameStr, p->nameStr );
+ snprintf( prefName, sizeof(prefName), "%s-%s", pg->nameStr, p->nameStr );
switch ( p->type ) {
case PD_LONG:
case PD_RADIO:
@@ -1200,15 +1195,15 @@ EXPORT void ParamUpdatePrefs( void )
if ( p->control && listDataP->colCnt > 0 ) {
if ( maxColCnt < listDataP->colCnt ) {
if ( maxColCnt == 0 )
- colWidths = (wPos_t*)MyMalloc( listDataP->colCnt * sizeof * colWidths );
+ colWidths = (wWinPix_t*)MyMalloc( listDataP->colCnt * sizeof * colWidths );
else
- colWidths = (wPos_t*)MyRealloc( colWidths, listDataP->colCnt * sizeof * colWidths );
+ colWidths = (wWinPix_t*)MyRealloc( colWidths, listDataP->colCnt * sizeof * colWidths );
maxColCnt = listDataP->colCnt;
}
len = wListGetColumnWidths( (wList_p)p->control, listDataP->colCnt, colWidths );
cp = message;
for ( col=0; col<len; col++ ) {
- sprintf( cp, "%d ", colWidths[col] );
+ sprintf( cp, "%ld ", colWidths[col] );
cp += strlen(cp);
}
*cp = '\0';
@@ -1360,7 +1355,7 @@ static void ParamButtonPush( void * dp )
if ( p->valueP )
((wButtonCallBack_p)(p->valueP))( p->context );
else if ( p->group->changeProc)
- p->group->changeProc( p->group, p-p->group->paramPtr, NULL);
+ p->group->changeProc( p->group, (int)(p-p->group->paramPtr), NULL);
}
}
@@ -1376,7 +1371,33 @@ static void ParamChoicePush( long valL, void * dp )
if ( (p->option&PDO_NOPSHUPD)==0 && p->valueP)
*((long*)(p->valueP)) = valL;
if ( (p->option&PDO_NOPSHACT)==0 && p->group->changeProc)
- p->group->changeProc( p->group, p-p->group->paramPtr, &valL);
+ p->group->changeProc( p->group, (int)(p-p->group->paramPtr), &valL);
+}
+
+
+static wBool_t ParamIntegerRangeCheck( paramData_p p, long valL )
+{
+ if ( inPlayback )
+ return TRUE;
+ paramIntegerRange_t * irangeP = (paramIntegerRange_t*)p->winData;
+ wBool_t bInvalid = p->bInvalid;
+ if ( ( (irangeP->rangechecks&PDO_NORANGECHECK_HIGH) == 0 && valL > irangeP->high ) ||
+ ( (irangeP->rangechecks&PDO_NORANGECHECK_LOW) == 0 && valL < irangeP->low ) ) {
+ if ( (irangeP->rangechecks&(PDO_NORANGECHECK_HIGH|PDO_NORANGECHECK_LOW)) == PDO_NORANGECHECK_HIGH )
+ sprintf( message, _("Enter a value > %ld"), irangeP->low );
+ else if ( (irangeP->rangechecks&(PDO_NORANGECHECK_HIGH|PDO_NORANGECHECK_LOW)) == PDO_NORANGECHECK_LOW )
+ sprintf( message, _("Enter a value < %ld"), irangeP->high );
+ else
+ sprintf( message, _("Enter a value between %ld and %ld"), irangeP->low, irangeP->high );
+ wWinPix_t h = wControlGetHeight(p->control);
+ wControlSetBalloon( p->control, 0, -h*3/4, message );
+ p->bInvalid = TRUE;
+ LOG( log_paraminput, 1, ( " -> RangeError\n" ) );
+ ParamHilite( p->group->win, p->control, p->bInvalid );
+ return FALSE;
+ }
+ p->bInvalid = FALSE;
+ return TRUE;
}
@@ -1386,39 +1407,31 @@ static void ParamIntegerPush( const char * val, void * dp )
long valL;
char * cp;
const char * value;
- paramIntegerRange_t * irangeP;
- if (strlen(val) == 1 && val[strlen(val)-1] == '\n' && (p->option & BO_ENTER)) {
+ wBool_t bInvalid = p->bInvalid;
+ if (strlen(val) == 1 && val[strlen(val)-1] == '\n') {
value = wStringGetValue((wString_p)p->control);
p->enter_pressed = TRUE;
} else {
+ value = val;
p->enter_pressed = FALSE;
- value = CAST_AWAY_CONST val;
}
+ LOG( log_paraminput, 1, ( "ParamIntegerPush( %s Enter:%d Val:%s )\n", p->nameStr, p->enter_pressed, value ) );
-
- while ( isspace((unsigned char)*value)) value++;
valL = strtol( value, &cp, 10 );
-
-
- //wControlSetBalloon( p->control, 0, -5, NULL );
- if ( value == cp ) {
- wControlSetBalloon( p->control, 0, -5, _("Invalid Number") );
+ for ( ; isspace( (unsigned char)*cp); cp++ );
+ if ( *cp != '\0' ) {
+ wWinPix_t h = wControlGetHeight(p->control);
+ wControlSetBalloon( p->control, 0, -h*3/4, _("Invalid Number") );
+ p->bInvalid = TRUE;
+ LOG( log_paraminput, 1, ( " -> InvalidNumber\n" ) );
+ ParamHilite( p->group->win, p->control, p->bInvalid );
return;
}
- irangeP = (paramIntegerRange_t*)p->winData;
- if ( ( (irangeP->rangechecks&PDO_NORANGECHECK_HIGH) == 0 && valL > irangeP->high ) ||
- ( (irangeP->rangechecks&PDO_NORANGECHECK_LOW) == 0 && valL < irangeP->low ) ) {
- if ( (irangeP->rangechecks&(PDO_NORANGECHECK_HIGH|PDO_NORANGECHECK_LOW)) == PDO_NORANGECHECK_HIGH )
- sprintf( message, _("Enter a value > %ld"), irangeP->low );
- else if ( (irangeP->rangechecks&(PDO_NORANGECHECK_HIGH|PDO_NORANGECHECK_LOW)) == PDO_NORANGECHECK_LOW )
- sprintf( message, _("Enter a value < %ld"), irangeP->high );
- else
- sprintf( message, _("Enter a value between %ld and %ld"), irangeP->low, irangeP->high );
- wControlSetBalloon( p->control, 0, -5, message );
+ if ( ! ParamIntegerRangeCheck( p, valL ) )
return;
- }
- wControlSetBalloon( p->control, 0, -5, NULL );
+ wControlSetBalloon( p->control, 0, 0, NULL );
+ p->bInvalid = FALSE;
if (recordF && (p->option&PDO_NORECORD)==0 && p->group->nameStr && p->nameStr) {
fprintf( recordF, "PARAMETER %s %s %ld\n", p->group->nameStr, p->nameStr, valL );
@@ -1427,9 +1440,41 @@ static void ParamIntegerPush( const char * val, void * dp )
if ( (p->option&PDO_NOPSHUPD)==0 && p->valueP)
*((long*)(p->valueP)) = valL;
if ( (p->option&PDO_NOPSHACT)==0 && p->group->changeProc)
- p->group->changeProc( p->group, p-p->group->paramPtr, &valL);
+ p->group->changeProc( p->group, (int)(p-p->group->paramPtr), &valL);
+ ParamHilite( p->group->win, p->control, p->bInvalid );
+ LOG( log_paraminput, 1, ( " -> %ld\n", valL ) );
+}
+
+
+static wBool_t ParamFloatRangeCheck( paramData_p p, FLOAT_T valF )
+{
+ if ( inPlayback )
+ return TRUE;
+ paramFloatRange_t * frangeP = (paramFloatRange_t*)p->winData;
+ wBool_t bInvalid = p->bInvalid;
+ if ( ( (frangeP->rangechecks&PDO_NORANGECHECK_HIGH) == 0 && valF > frangeP->high ) ||
+ ( (frangeP->rangechecks&PDO_NORANGECHECK_LOW) == 0 && valF < frangeP->low ) ) {
+ if ( (frangeP->rangechecks&(PDO_NORANGECHECK_HIGH|PDO_NORANGECHECK_LOW)) == PDO_NORANGECHECK_HIGH )
+ sprintf( message, _("Enter a value > %s"),
+ (p->option&PDO_DIM)?FormatDistance(frangeP->low):FormatFloat(frangeP->low) );
+ else if ( (frangeP->rangechecks&(PDO_NORANGECHECK_HIGH|PDO_NORANGECHECK_LOW)) == PDO_NORANGECHECK_LOW )
+ sprintf( message, _("Enter a value < %s"),
+ (p->option&PDO_DIM)?FormatDistance(frangeP->high):FormatFloat(frangeP->high) );
+ else
+ sprintf( message, _("Enter a value between %s and %s"),
+ (p->option&PDO_DIM)?FormatDistance(frangeP->low):FormatFloat(frangeP->low),
+ (p->option&PDO_DIM)?FormatDistance(frangeP->high):FormatFloat(frangeP->high) );
+ wWinPix_t h = wControlGetHeight(p->control);
+ wControlSetBalloon( p->control, 0, -h*3/4, message );
+ p->bInvalid = TRUE;
+ ParamHilite( p->group->win, p->control, p->bInvalid );
+ return FALSE;
+ }
+ p->bInvalid = FALSE;
+ return TRUE;
}
+
/**
* Checks the entered value in a float field. Accepts data entered in the different
* formats for dimensions. Compares the value against limits if specified in that
@@ -1445,14 +1490,16 @@ static void ParamFloatPush( const char * val, void * dp )
FLOAT_T valF;
BOOL_T valid;
const char * value;
- paramFloatRange_t * frangeP;
- if (strlen(val) == 1 && val[strlen(val)-1] == '\n' && (p->option & PDO_ENTER)) {
+
+ wBool_t bInvalid = p->bInvalid;
+ if (strlen(val) == 1 && val[strlen(val)-1] == '\n') {
value = wStringGetValue((wString_p)p->control);
p->enter_pressed = TRUE;
} else {
value = val;
p->enter_pressed = FALSE;
}
+ LOG( log_paraminput, 1, ( "ParamFloatPush( %s: Enter:%d Val:%s )\n", p->nameStr, p->enter_pressed, value ) );
if (p->option & PDO_DIM) {
valF = DecodeDistance( (wString_p)p->control, &valid );
@@ -1461,28 +1508,17 @@ static void ParamFloatPush( const char * val, void * dp )
if (p->option & PDO_ANGLE)
valF = NormalizeAngle( (angleSystem==ANGLE_POLAR)?valF:-valF );
}
- // wControlSetBalloon( p->control, 0, -5, NULL );
if ( !valid ) {
- wControlSetBalloon( p->control, 0, -5, decodeErrorStr );
+ wWinPix_t h = wControlGetHeight(p->control);
+ wControlSetBalloon( p->control, 0, -h*3/4, decodeErrorStr );
+ p->bInvalid = TRUE;
+ ParamHilite( p->group->win, p->control, p->bInvalid );
return;
}
- frangeP = (paramFloatRange_t*)p->winData;
- if ( ( (frangeP->rangechecks&PDO_NORANGECHECK_HIGH) == 0 && valF > frangeP->high ) ||
- ( (frangeP->rangechecks&PDO_NORANGECHECK_LOW) == 0 && valF < frangeP->low ) ) {
- if ( (frangeP->rangechecks&(PDO_NORANGECHECK_HIGH|PDO_NORANGECHECK_LOW)) == PDO_NORANGECHECK_HIGH )
- sprintf( message, _("Enter a value > %s"),
- (p->option&PDO_DIM)?FormatDistance(frangeP->low):FormatFloat(frangeP->low) );
- else if ( (frangeP->rangechecks&(PDO_NORANGECHECK_HIGH|PDO_NORANGECHECK_LOW)) == PDO_NORANGECHECK_LOW )
- sprintf( message, _("Enter a value < %s"),
- (p->option&PDO_DIM)?FormatDistance(frangeP->high):FormatFloat(frangeP->high) );
- else
- sprintf( message, _("Enter a value between %s and %s"),
- (p->option&PDO_DIM)?FormatDistance(frangeP->low):FormatFloat(frangeP->low),
- (p->option&PDO_DIM)?FormatDistance(frangeP->high):FormatFloat(frangeP->high) );
- wControlSetBalloon( p->control, 0, -5, message );
+ if ( !ParamFloatRangeCheck( p, valF ) )
return;
- }
- wControlSetBalloon( p->control, 0, -5, NULL );
+ wControlSetBalloon( p->control, 0, 0, NULL );
+ p->bInvalid = FALSE;
if (recordF && (p->option&PDO_NORECORD)==0 && p->group->nameStr && p->nameStr) {
fprintf( recordF, "PARAMETER %s %s %0.6f\n", p->group->nameStr, p->nameStr, valF );
@@ -1491,7 +1527,8 @@ static void ParamFloatPush( const char * val, void * dp )
if ( (p->option&PDO_NOPSHUPD)==0 && p->valueP)
*((FLOAT_T*)(p->valueP)) = valF;
if ( (p->option&PDO_NOPSHACT)==0 && p->group->changeProc && strlen( value ))
- p->group->changeProc( p->group, p-p->group->paramPtr, &valF );
+ p->group->changeProc( p->group, (int)(p-p->group->paramPtr), &valF );
+ ParamHilite( p->group->win, p->control, p->bInvalid );
}
@@ -1499,22 +1536,36 @@ static void ParamStringPush( const char * val, void * dp )
{
paramData_p p = (paramData_p)dp;
const char * value;
+ wBool_t bInvalid = p->bInvalid;
if (recordF && (p->option&PDO_NORECORD)==0 && p->group->nameStr && p->nameStr) {
fprintf( recordF, "PARAMETER %s %s %s\n", p->group->nameStr, p->nameStr, val );
fflush( recordF );
}
- if (strlen(val) == 1 && val[strlen(val)-1] == '\n' && (p->option & PDO_ENTER)) {
- value = wStringGetValue((wString_p)p->control);
- p->enter_pressed = TRUE;
+ if (strlen(val) == 1 && val[strlen(val)-1] == '\n' ) {
+ value = wStringGetValue((wString_p)p->control);
+ p->enter_pressed = TRUE;
} else {
+ value = val;
p->enter_pressed = FALSE;
- value = CAST_AWAY_CONST val;
}
+ LOG( log_paraminput, 1, ( "ParamStringPush( %s: Enter:%d Val:%s )\n", p->nameStr, p->enter_pressed, value ) );
+ if ( ((!inPlayback) && p->option & PDO_NOTBLANK) && value[0] == '\0' ) {
+ p->bInvalid = TRUE;
+ wControlSetBalloon( p->control, 0, 0, NULL );
+ wWinPix_t h = wControlGetHeight(p->control);
+ wControlSetBalloon( p->control, 0, -h*3/4, _("String cannot be blank") );
+ ParamHilite( p->group->win, p->control, TRUE );
+ return;
+ }
+ wControlSetBalloon( p->control, 0, 0, NULL );
+ p->bInvalid = FALSE;
+ ParamHilite( p->group->win, p->control, FALSE );
if ( (p->option&PDO_NOPSHUPD)==0 && p->valueP)
strcpy( (char*)p->valueP, value );
if ( (p->option&PDO_NOPSHACT)==0 && p->group->changeProc)
- p->group->changeProc( p->group, p-p->group->paramPtr, CAST_AWAY_CONST value );
+ // CAST_AWAY_CONST: param 3 should be const but its a big change
+ p->group->changeProc( p->group, (int)(p-p->group->paramPtr), CAST_AWAY_CONST value );
}
@@ -1535,7 +1586,7 @@ static void ParamListPush( wIndex_t inx, const char * val, wIndex_t op, void * d
*(wIndex_t*)(p->valueP) = inx;
if ( (p->option&PDO_NOPSHACT)==0 && p->group->changeProc ) {
valL = inx;
- p->group->changeProc( p->group, p-p->group->paramPtr, &valL );
+ p->group->changeProc( p->group, (int)(p-p->group->paramPtr), &valL );
}
break;
@@ -1576,11 +1627,11 @@ static void ParamColorSelectPush( void * dp, wDrawColor dc )
if ( (p->option&PDO_NOPSHUPD)==0 && p->valueP)
*(wDrawColor*)(p->valueP) = dc;
if ( (p->option&PDO_NOPSHACT)==0 && p->group->changeProc )
- p->group->changeProc( p->group, p-p->group->paramPtr, &dc );
+ p->group->changeProc( p->group, (int)(p-p->group->paramPtr), &dc );
}
-static void ParamDrawRedraw( wDraw_p d, void * dp, wPos_t w, wPos_t h )
+static void ParamDrawRedraw( wDraw_p d, void * dp, wWinPix_t w, wWinPix_t h )
{
paramData_p p = (paramData_p)dp;
paramDrawData_t * ddp = (paramDrawData_t*)p->winData;
@@ -1589,7 +1640,7 @@ static void ParamDrawRedraw( wDraw_p d, void * dp, wPos_t w, wPos_t h )
}
-static void ParamDrawAction( wDraw_p d, void * dp, wAction_t a, wPos_t w, wPos_t h )
+static void ParamDrawAction( wDraw_p d, void * dp, wAction_t a, wDrawPix_t w, wDrawPix_t h )
{
paramData_p p = (paramData_p)dp;
paramDrawData_t * ddp = (paramDrawData_t*)p->winData;
@@ -1604,21 +1655,55 @@ static void ParamDrawAction( wDraw_p d, void * dp, wAction_t a, wPos_t w, wPos_t
}
-static void ParamButtonOk(
- paramGroup_p group )
+EXPORT wBool_t ParamCheckInputs(
+ paramGroup_p group,
+ wControl_p b )
{
+ wBool_t bInvalid = FALSE;
+ // Check for invalid entries
+ for ( paramData_p p = group->paramPtr; p < &group->paramPtr[group->paramCnt]; p++ ) {
+ ParamHilite( group->win, p->control, p->bInvalid );
+ if ( p->bInvalid == FALSE )
+ continue;
+ LOG( log_paraminput, 1, ( " %s: Invalid\n", p->nameStr ) );
+ bInvalid = TRUE;
+ }
+ if ( bInvalid ) {
+ // At least 1 invalid entry
+ LOG( log_paraminput, 1, ( " Group %s Invalid\n", group->nameStr ) );
+ wControlSetBalloon( b, 0, -29, _("Invalid input(s), please correct the hilighted field(s)") );
+ wFlush();
+ return FALSE;
+ }
+ return TRUE;
+}
+
+
+static void ParamButtonOk( void * groupVP )
+{
+ paramGroup_p group = groupVP;
+ wFlush();
+ LOG( log_paraminput, 1, ( "ParamButtonOk: %s\n", group->nameStr ) );
+ if ( ! ParamCheckInputs( group, (wControl_p)group->okB ) )
+ return;
if ( recordF && group->nameStr )
fprintf( recordF, "PARAMETER %s %s\n", group->nameStr, "ok" ); {
fflush( recordF );
}
+
if ( group->okProc )
- group->okProc( group->okProc==(paramActionOkProc)wHide?((void*)group->win):group );
+ group->okProc( group );
+
+ wControlSetBalloon( (wControl_p)group->okB, 0, 0, NULL );
+ wFlush();
+
+ LOG( log_paraminput, 1, ( "ParamButtonOk -> Ok\n" ) );
}
-static void ParamButtonCancel(
- paramGroup_p group )
+static void ParamButtonCancel( void * groupVP )
{
+ paramGroup_p group = groupVP;
if ( recordF && group->nameStr ) {
fprintf( recordF, "PARAMETER %s %s\n", group->nameStr, "cancel" );
fflush( recordF );
@@ -1710,28 +1795,43 @@ EXPORT void ParamChange( paramData_p p )
#endif
-EXPORT int paramHiliteFast = FALSE;
EXPORT void ParamHilite(
wWin_p win,
wControl_p control,
BOOL_T hilite )
{
- if ( win != NULL && wWinIsVisible(win) == FALSE ) return;
if ( control == NULL ) return;
- if ( !paramTogglePlaybackHilite ) return;
+ LOG(log_paraminput, 2, ("ParamHilite %s\n", hilite?"Set":"Clr" ));
if ( hilite ) {
wControlHilite( control, TRUE );
wFlush();
- if ( !paramHiliteFast )
+ if ( inPlayback && !paramHiliteFast )
wPause(500);
} else {
- if ( !paramHiliteFast )
- wPause(500);
+// if ( inPlayback && !paramHiliteFast )
+// wPause(500);
wControlHilite( control, FALSE );
- wFlush();
}
}
+EXPORT void ParamResetInvalid(
+ wWin_p win )
+{
+ for ( int inx=0; inx<paramGroups_da.cnt; inx++ ) {
+ paramGroup_p pg = paramGroups(inx);
+ if ( pg->win == win ) {
+ LOG( log_paraminput, 1, ( "Reset Invalid: %s\n", pg->nameStr ) );
+ for ( paramData_p p = &pg->paramPtr[0]; p < &pg->paramPtr[pg->paramCnt]; p++ ) {
+ if ( p->bInvalid )
+ LOG( log_paraminput, 1, ( " %s Invalid\n", p->nameStr ) );
+ ParamHilite( win, p->control, FALSE );
+ wControlSetBalloon( p->control, 0, 0, NULL );
+ p->bInvalid = FALSE;
+ }
+ break;
+ }
+ }
+}
static void ParamPlayback( char * line )
{
@@ -1739,7 +1839,7 @@ static void ParamPlayback( char * line )
paramData_p p;
long valL;
FLOAT_T valF, valF1;
- int len, len1, len2;
+ size_t len, len1, len2;
wIndex_t inx;
void * listContext, * itemContext;
long rgb;
@@ -1749,7 +1849,6 @@ static void ParamPlayback( char * line )
wAction_t a;
coOrd pos;
char * valS;
- char *oldLocale = NULL;
if ( strncmp( line, "GROUP ", 6 ) == 0 ) {
#ifdef PGPROC
@@ -1878,9 +1977,9 @@ static void ParamPlayback( char * line )
}
break;
case PD_FLOAT:
- oldLocale = SaveLocale("C");
+ SetCLocale();
valF = valF1 = atof( line+len );
- RestoreLocale(oldLocale);
+ SetUserLocale();
if (p->valueP)
*(FLOAT_T*)p->valueP = valF;
if (p->option&PDO_DIM) {
@@ -1935,7 +2034,7 @@ static void ParamPlayback( char * line )
case PD_MENUITEM:
if (p->valueP) {
if ( (p->option&IC_PLAYBACK_PUSH) != 0 )
- PlaybackButtonMouse( (wIndex_t)(long)p->context );
+ PlaybackButtonMouse( (wIndex_t)VP2L(p->context) );
((wButtonCallBack_p)(p->valueP))( p->context );
}
break;
@@ -1981,7 +2080,7 @@ static void ParamCheck( char * line )
paramData_p p;
long valL;
FLOAT_T valF, diffF;
- int len, len1, len2;
+ size_t len, len1, len2;
wIndex_t inx;
void * listContext, * itemContext;
char * valS;
@@ -2069,7 +2168,7 @@ static void ParamCheck( char * line )
case PD_STRING:
line += len;
while ( *line == ' ' ) line++;
- valS = CAST_AWAY_CONST wStringGetValue( (wString_p)p->control );
+ wStringGetValue( (wString_p)p->control );
if ( strcasecmp( line, (char*)p->valueP ) != 0 ) {
expVal = line;
actVal = (char*)p->valueP;
@@ -2112,20 +2211,20 @@ static void ParamCheck( char * line )
static void ParamCreateControl(
paramData_p pd,
char * helpStr,
- wPos_t xx,
- wPos_t yy )
+ wWinPix_t xx,
+ wWinPix_t yy )
{
- paramFloatRange_t * floatRangeP;
- paramIntegerRange_t * integerRangeP;
- paramDrawData_t * drawDataP;
- paramTextData_t * textDataP;
+ const paramFloatRange_t * floatRangeP;
+ const paramIntegerRange_t * integerRangeP;
+ const paramDrawData_t * drawDataP;
+ const paramTextData_t * textDataP;
paramListData_t * listDataP;
- wIcon_p iconP;
+ const struct wIcon_t * iconP;
wWin_p win;
- wPos_t w;
- wPos_t colWidth;
- static wPos_t *colWidths;
+ wWinPix_t w;
+ wWinPix_t colWidth;
+ static wWinPix_t *colWidths;
static wBool_t *colRightJust;
static wBool_t maxColCnt = 0;
int col;
@@ -2149,7 +2248,7 @@ static void ParamCreateControl(
pd->control = (wControl_p)wStringCreate( win, xx, yy, helpStr, _(pd->winLabel), pd->winOption, w, NULL, 0, ParamIntegerPush, pd );
break;
case PD_STRING:
- w = pd->winData?(wPos_t)(long)pd->winData:(wPos_t)250;
+ w = pd->winData?(wWinPix_t)VP2L(pd->winData):(wWinPix_t)250;
pd->control = (wControl_p)wStringCreate( win, xx, yy, helpStr, _(pd->winLabel), pd->winOption, w, (pd->option&PDO_NOPSHUPD)?NULL:pd->valueP, 0, ParamStringPush, pd );
break;
case PD_RADIO:
@@ -2163,23 +2262,23 @@ static void ParamCreateControl(
if ( listDataP->colCnt > 1 ) {
if ( maxColCnt < listDataP->colCnt ) {
if ( maxColCnt == 0 ) {
- colWidths = (wPos_t*)MyMalloc( listDataP->colCnt * sizeof *colWidths );
+ colWidths = (wWinPix_t*)MyMalloc( listDataP->colCnt * sizeof *colWidths );
colRightJust = (wBool_t*)MyMalloc( listDataP->colCnt * sizeof *colRightJust );
} else {
- colWidths = (wPos_t*)MyRealloc( colWidths, listDataP->colCnt * sizeof *colWidths );
+ colWidths = (wWinPix_t*)MyRealloc( colWidths, listDataP->colCnt * sizeof *colWidths );
colRightJust = (wBool_t*)MyRealloc( colRightJust, listDataP->colCnt * sizeof *colRightJust );
}
maxColCnt = listDataP->colCnt;
}
for ( col=0; col<listDataP->colCnt; col++ ) {
colRightJust[col] = listDataP->colWidths[col]<0;
- colWidths[col] = abs(listDataP->colWidths[col]);
+ colWidths[col] = labs(listDataP->colWidths[col]);
}
sprintf( message, "%s-%s-%s", pd->group->nameStr, pd->nameStr, "columnwidths" );
cp = wPrefGetString( PREFSECT, message );
if ( cp != NULL ) {
for ( col=0; col<listDataP->colCnt; col++ ) {
- colWidth = (wPos_t)strtol( cp, &cq, 10 );
+ colWidth = (wWinPix_t)strtol( cp, &cq, 10 );
if ( cp == cq )
break;
colWidths[col] = colWidth;
@@ -2195,7 +2294,7 @@ static void ParamCreateControl(
listDataP->height = wControlGetHeight( pd->control );
break;
case PD_DROPLIST:
- w = pd->winData?(wPos_t)(long)pd->winData:(wPos_t)100;
+ w = pd->winData?(wWinPix_t)VP2L(pd->winData):(wWinPix_t)100;
pd->control = (wControl_p)wDropListCreate( win, xx, yy, helpStr, _(pd->winLabel), pd->winOption, 10, w, NULL, ParamListPush, pd );
break;
case PD_COMBOLIST:
@@ -2208,7 +2307,7 @@ static void ParamCreateControl(
break;
case PD_MESSAGE:
if ( pd->winData != 0 )
- w = (wPos_t)(long)pd->winData;
+ w = (wWinPix_t)VP2L(pd->winData);
else if (pd->valueP)
w = wLabelWidth( _(pd->valueP) );
else
@@ -2253,13 +2352,13 @@ static void ParamCreateControl(
static void ParamPositionControl(
paramData_p pd,
char * helpStr,
- wPos_t xx,
- wPos_t yy )
+ wWinPix_t xx,
+ wWinPix_t yy )
{
- paramDrawData_t * drawDataP;
- paramTextData_t * textDataP;
- paramListData_t * listDataP;
- wPos_t winW, winH, ctlW, ctlH;
+ const paramDrawData_t * drawDataP;
+ const paramTextData_t * textDataP;
+ const paramListData_t * listDataP;
+ wWinPix_t winW, winH, ctlW, ctlH;
if ( pd->type != PD_MENUITEM )
wControlSetPos( pd->control, xx, yy );
@@ -2270,7 +2369,7 @@ static void ParamPositionControl(
case PD_COMBOLIST:
case PD_DROPLIST:
if ( pd->type == PD_DROPLIST ) {
- ctlW = pd->winData?(wPos_t)(long)pd->winData:(wPos_t)100;
+ ctlW = pd->winData?(wWinPix_t)VP2L(pd->winData):(wWinPix_t)100;
ctlH = wControlGetHeight( pd->control );
} else {
listDataP = (paramListData_t*)pd->winData;
@@ -2316,14 +2415,14 @@ static void ParamPositionControl(
wTextSetSize( (wText_p)pd->control, ctlW, ctlH );
break;
case PD_STRING:
- ctlW = pd->winData?(wPos_t)(long)pd->winData:(wPos_t)250;
+ ctlW = pd->winData?(wWinPix_t)VP2L(pd->winData):(wWinPix_t)250;
if ( (pd->option&PDO_DLGRESIZEW) ) {
ctlW = winW - (pd->group->origW-ctlW);
wStringSetWidth( (wString_p)pd->control, ctlW );
}
break;
case PD_MESSAGE:
- ctlW = pd->winData?(wPos_t)(long)pd->winData:(wPos_t)150;
+ ctlW = pd->winData?(wWinPix_t)VP2L(pd->winData):(wWinPix_t)150;
if ( (pd->option&PDO_DLGRESIZEW) ) {
ctlW = winW - (pd->group->origW-ctlW);
wMessageSetWidth( (wMessage_p)pd->control, ctlW );
@@ -2336,27 +2435,27 @@ static void ParamPositionControl(
}
-typedef void (*layoutControlsProc)(paramData_p, char *, wPos_t, wPos_t );
+typedef void (*layoutControlsProc)(paramData_p, char *, wWinPix_t, wWinPix_t );
static void LayoutControls(
paramGroup_p group,
layoutControlsProc proc,
- wPos_t * retW,
- wPos_t * retH )
+ wWinPix_t * retW,
+ wWinPix_t * retH )
{
struct {
- struct { wPos_t x, y; } orig, term;
+ struct { wWinPix_t x, y; } orig, term;
} controlK, columnK, windowK;
- wPos_t controlSize_x;
- wPos_t controlSize_y;
+ wWinPix_t controlSize_x;
+ wWinPix_t controlSize_y;
paramData_p pd;
- wPos_t w;
+ wWinPix_t w;
BOOL_T hasBox;
- wPos_t boxTop;
- wPos_t boxPos[10];
+ wWinPix_t boxTop;
+ wWinPix_t boxPos[10];
int boxCnt = 0;
int box;
int inx;
- wPos_t labelW[100];
+ wWinPix_t labelW[100];
int lastLabelPos, currLabelPos;
char helpStr[STR_SHORT_SIZE], * helpStrP;
BOOL_T inCmdButtons = FALSE;
@@ -2618,7 +2717,7 @@ wWin_p ParamCreateDialog(
paramChangeProc changeProc )
{
char helpStr[STR_SHORT_SIZE];
- wPos_t w0, h0;
+ wWinPix_t w0, h0;
char * cancelLabel = (winOption&PD_F_ALT_CANCELLABEL?_("Close"):_("Cancel"));
winOption &= ~PD_F_ALT_CANCELLABEL;
@@ -2636,10 +2735,10 @@ wWin_p ParamCreateDialog(
if ( okLabel && okProc ) {
sprintf( helpStr, "%s-ok", group->nameStr );
- group->okB = wButtonCreate( group->win, 0, 0, helpStr, okLabel, BB_DEFAULT, 0, (wButtonCallBack_p)ParamButtonOk, group );
+ group->okB = wButtonCreate( group->win, 0, 0, helpStr, okLabel, BB_DEFAULT, 0, ParamButtonOk, group );
}
if ( group->cancelProc ) {
- group->cancelB = wButtonCreate( group->win, 0, 0, NULL, cancelLabel, BB_CANCEL, 0, (wButtonCallBack_p)ParamButtonCancel, group );
+ group->cancelB = wButtonCreate( group->win, 0, 0, NULL, cancelLabel, BB_CANCEL, 0, ParamButtonCancel, group );
}
if ( needHelpButton ) {
sprintf( helpStr, "cmd%s", group->nameStr );
@@ -2674,7 +2773,7 @@ wWin_p ParamCreateDialog(
EXPORT void ParamLayoutDialog(
paramGroup_p pg )
{
- wPos_t w, h;
+ wWinPix_t w, h;
LayoutControls( pg, ParamPositionControl, &w, &h );
w += DlgSepRight;
h += DlgSepBottom;
@@ -2717,7 +2816,15 @@ EXPORT void ParamCreateControls(
EXPORT void ParamInit( void )
{
+ if (paramGroups_init) return;
+
AddPlaybackProc( "PARAMETER", ParamPlayback, NULL );
AddPlaybackProc( "PARAMCHECK", ParamCheck, NULL );
log_paramLayout = LogFindIndex( "paramlayout" );
+ log_paraminput = LogFindIndex( "paraminput" );
+ paramGroups_da.cnt = 0;
+ paramGroups_da.max = 0;
+ paramGroups_da.ptr = NULL;
+ paramGroups_init = TRUE;
+
}
diff --git a/app/bin/param.h b/app/bin/param.h
index 414dae3..d72553e 100644
--- a/app/bin/param.h
+++ b/app/bin/param.h
@@ -24,8 +24,7 @@
#define PARAM_H
#include "common.h"
-#include "wlib.h"
-#include "draw.h"
+#include "draw.h" //- playbackAction
typedef struct turnoutInfo_t * turnoutInfo_p;
@@ -48,44 +47,55 @@ typedef enum {
PD_BITMAP
} parameterType;
-#define PDO_DIM (1L<<0)
-#define PDO_ANGLE (1L<<1)
-#define PDO_NORECORD (1L<<2)
-#define PDO_NOPSHACT (1L<<3)
-#define PDO_NOPSHUPD (1L<<4)
-#define PDO_NOPREF (1L<<5)
-#define PDO_NOUPDACT (1L<<6)
-#define PDO_MISC (1L<<7)
-#define PDO_DRAW (1L<<8)
-#define PDO_FILE (1L<<9)
-#define PDO_ENTER (1L<<10)
-
-#define PDO_STRINGLIMITLENGTH (1L<<11) /**< context has maximum length for string */
-#define PDO_SMALLDIM (1L<<12)
-
-#define PDO_DLGSTARTBTNS (1L<<13)
-#define PDO_DLGWIDE (1L<<14)
-#define PDO_DLGNARROW (1L<<15)
-#define PDO_DLGBOXEND (1L<<16) /**< draw recessed frame around the controls */
-#define PDO_DLGRESETMARGIN (1L<<17) /**< position control on the left ?*/
-#define PDO_DLGIGNORELABELWIDTH (1L<<18)
-
-#define PDO_DLGHORZ (1L<<20) /**< arrange on same line as previous element */
-#define PDO_DLGNEWCOLUMN (1L<<21)
-#define PDO_DLGNOLABELALIGN (1L<<22)
-#define PDO_LISTINDEX (1L<<23)
-#define PDO_DLGSETY (1L<<24)
-#define PDO_DLGIGNOREX (1L<<25)
-#define PDO_DLGUNDERCMDBUTT (1L<<26)
-#define PDO_DLGCMDBUTTON (1L<<27) /**< arrange button on the right with the default buttons */
-#define PDO_DLGIGNORE (1L<<28)
-
-#define PDO_DLGRESIZEW (1L<<29)
-#define PDO_DLGRESIZEH (1L<<30)
+// PD_FLOAT modifiers
+#define PDO_DIM (1L<<0)
+#define PDO_ANGLE (1L<<1)
+#define PDO_SMALLDIM (1L<<2)
+// PD_STRING modifiers
+#define PDO_NOTBLANK (1L<<3)
+
+#define PDO_NORECORD (1L<<6)
+#define PDO_NOPSHACT (1L<<7)
+#define PDO_NOPSHUPD (1L<<8)
+#define PDO_NOUPDACT (1L<<9)
+#define PDO_NOACT (PDO_NOPSHACT|PDO_NOUPDACT)
+#define PDO_NOUPD (PDO_NORSTUPD|PDO_NOPSHUPD)
+
+// Override paramGroup pref group
+#define PDO_NOPREF (1L<<10)
+#define PDO_MISC (1L<<11)
+#define PDO_DRAW (1L<<12)
+#define PDO_FILE (1L<<13)
+//#define PDO_ENTER (1L<<14)
+#define PDO_ENTER 0
+
+//#define PDO_STRINGLIMITLENGTH (1L<<11) /**< context has maximum length for string */
+#define PDO_STRINGLIMITLENGTH 0 /**< context has maximum length for string */
+
+// Ignore param
+#define PDO_DLGIGNORE (1L<<15)
+
+// Layout options
+#define PDO_DLGSTARTBTNS (1L<<16)
+#define PDO_DLGWIDE (1L<<17)
+#define PDO_DLGNARROW (1L<<18)
+#define PDO_DLGBOXEND (1L<<19) /**< draw recessed frame around the controls */
+#define PDO_DLGRESETMARGIN (1L<<20) /**< position control on the left ?*/
+#define PDO_DLGIGNORELABELWIDTH (1L<<21)
+#define PDO_DLGHORZ (1L<<22) /**< arrange on same line as previous element */
+#define PDO_DLGNEWCOLUMN (1L<<23)
+#define PDO_DLGNOLABELALIGN (1L<<24)
+#define PDO_LISTINDEX (1L<<25)
+#define PDO_DLGSETY (1L<<26)
+#define PDO_DLGIGNOREX (1L<<27)
+#define PDO_DLGUNDERCMDBUTT (1L<<28)
+#define PDO_DLGCMDBUTTON (1L<<29) /**< arrange button on the right with the default buttons */
+#define PDO_DLGRESIZEW (1L<<30)
+#define PDO_DLGRESIZEH (1L<<31)
#define PDO_DLGRESIZE (PDO_DLGRESIZEW|PDO_DLGRESIZEH)
-#define PDO_NOACT (PDO_NOPSHACT|PDO_NOUPDACT)
-#define PDO_NOUPD (PDO_NORSTUPD|PDO_NOPSHUPD|PDO_NOUPDUPD)
+
+
typedef struct paramGroup_t *paramGroup_p;
@@ -94,33 +104,33 @@ typedef struct paramGroup_t *paramGroup_p;
typedef struct {
long low;
long high;
- wPos_t width;
+ wWinPix_t width;
int rangechecks;
} paramIntegerRange_t;
typedef struct {
FLOAT_T low;
FLOAT_T high;
- wPos_t width;
+ wWinPix_t width;
int rangechecks;
} paramFloatRange_t;
typedef struct {
- wPos_t width;
- wPos_t height;
+ wWinPix_t width;
+ wWinPix_t height;
wDrawRedrawCallBack_p redraw;
playbackProc action;
drawCmd_p d;
} paramDrawData_t;
typedef struct {
wIndex_t number;
- wPos_t width;
+ wWinPix_t width;
int colCnt;
- wPos_t * colWidths;
+ wWinPix_t * colWidths;
const char * * colTitles;
- wPos_t height;
+ wWinPix_t height;
} paramListData_t;
typedef struct {
- wPos_t width;
- wPos_t height;
+ wWinPix_t width;
+ wWinPix_t height;
} paramTextData_t;
typedef union {
@@ -133,10 +143,10 @@ typedef union {
typedef struct {
parameterType type;
void * valueP;
- char * nameStr;
+ const char * nameStr;
long option;
- void * winData;
- char * winLabel;
+ const void * winData;
+ const char * winLabel;
long winOption;
void * context;
unsigned int max_string;
@@ -144,6 +154,7 @@ typedef struct {
paramGroup_p group;
paramOldData_t oldD, demoD;
wBool_t enter_pressed;
+ wBool_t bInvalid;
} paramData_t, *paramData_p;
@@ -160,7 +171,7 @@ typedef void (*paramGroupProc_t) ( long, long );
#define PGO_PREFDRAWGROUP (1<<9)
#define PGO_PREFMISC (1<<10)
-typedef void (*paramLayoutProc)( paramData_t *, int, wPos_t, wPos_t *, wPos_t * );
+typedef void (*paramLayoutProc)( paramData_t *, int, wWinPix_t, wWinPix_t *, wWinPix_t * );
typedef void (*paramActionOkProc)( void * );
typedef void (*paramActionCancelProc)( wWin_p );
typedef void (*paramChangeProc)( paramGroup_p, int, void * );
@@ -181,8 +192,8 @@ typedef struct paramGroup_t {
wButton_p okB;
wButton_p cancelB;
wButton_p helpB;
- wPos_t origW;
- wPos_t origH;
+ wWinPix_t origW;
+ wWinPix_t origH;
wBox_p * boxs;
} paramGroup_t;
@@ -213,8 +224,9 @@ void ParamRestoreAll( void );
void ParamSaveAll( void );
void ParamMenuPush( void * );
-int paramHiliteFast;
+extern int paramHiliteFast;
void ParamHilite( wWin_p, wControl_p, BOOL_T );
+wBool_t ParamCheckInputs( paramGroup_p pg, wControl_p b );
void ParamInit( void );
@@ -238,6 +250,8 @@ void ParamLayoutDialog( paramGroup_p );
void ParamDialogOkActive( paramGroup_p, int );
+void ParamResetInvalid( wWin_p win );
+
#define ParamControlShow( PG, INX, SHOW ) \
wControlShow( ((PG)->paramPtr)[INX].control, SHOW )
#endif
diff --git a/app/bin/paramfile.c b/app/bin/paramfile.c
index 2dd9ac7..f72f405 100644
--- a/app/bin/paramfile.c
+++ b/app/bin/paramfile.c
@@ -20,31 +20,18 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <assert.h>
-#include <ctype.h>
-#include <errno.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
#include "common.h"
#include "compound.h"
#include "ctrain.h"
#include "custom.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "misc2.h"
#include "paths.h"
#include "include/paramfile.h"
#include "include/paramfilelist.h"
#include "include/utf8convert.h"
-
-#if _MSC_VER >1300
-#define stricmp( a, b ) _stricmp(a, b )
-#endif
+#include "common-ui.h"
static long paramCheckSum;
@@ -58,7 +45,7 @@ GetCompatibilityFunction GetCompatibility[] = {
GetCarPartCompatibility
};
-#define COMPATIBILITYCHECKSCOUNT (sizeof(GetCompatibility)/sizeof(GetCompatibility[0]))
+#define COMPATIBILITYCHECKSCOUNT COUNT(GetCompatibility)
/**
* Check whether parameter file is still loaded
@@ -147,11 +134,14 @@ void SetParamFileState(int index)
enum paramFileState newState;
SCALEINX_T scale = GetLayoutCurScale();
- for (int i = 0; i < COMPATIBILITYCHECKSCOUNT && state < PARAMFILE_FIT &&
- state != PARAMFILE_UNLOADED; i++) {
- newState = (*GetCompatibility[i])(index, scale);
- if (newState > state || newState == PARAMFILE_UNLOADED) {
- state = newState;
+ //Set yet?
+ if (scale>=0) {
+ for (int i = 0; i < COMPATIBILITYCHECKSCOUNT && state < PARAMFILE_FIT &&
+ state != PARAMFILE_UNLOADED; i++) {
+ newState = (*GetCompatibility[i])(index, scale);
+ if (newState > state || newState == PARAMFILE_UNLOADED) {
+ state = newState;
+ }
}
}
@@ -159,6 +149,24 @@ void SetParamFileState(int index)
}
/**
+ * Check whether file exists and is readable
+ *
+ * \param file The file.
+ *
+ * \returns True if it succeeds, false if it fails.
+ */
+
+static bool
+CheckFileReadable(const char *file)
+{
+ if(!access( file, R_OK )) {
+ return TRUE;
+ } else {
+ return FALSE;
+ }
+}
+
+/**
* Read a single parameter file and update the parameter file list
*
* \param fileName full path for parameter file
@@ -168,15 +176,18 @@ void SetParamFileState(int index)
int
ReadParamFile(const char *fileName)
{
- DYNARR_APPEND(paramFileInfo_t, paramFileInfo_da, 10);
- curParamFileIndex = paramFileInfo_da.cnt - 1;
- paramFileInfo(curParamFileIndex).name = MyStrdup(fileName);
- paramFileInfo(curParamFileIndex).valid = TRUE;
- paramFileInfo(curParamFileIndex).deleted = !ReadParams(0, NULL, fileName);
- paramFileInfo(curParamFileIndex).contents = MyStrdup(curContents);
-
- SetParamFileState(curParamFileIndex);
-
+ if (!CheckFileReadable(fileName)) {
+ return(-1);
+ } else {
+ DYNARR_APPEND(paramFileInfo_t, paramFileInfo_da, 10);
+ curParamFileIndex = paramFileInfo_da.cnt - 1;
+ paramFileInfo(curParamFileIndex).name = MyStrdup(fileName);
+ paramFileInfo(curParamFileIndex).valid = TRUE;
+ paramFileInfo(curParamFileIndex).deleted = !ReadParams(0, NULL, fileName);
+ paramFileInfo(curParamFileIndex).contents = MyStrdup(curContents);
+
+ SetParamFileState(curParamFileIndex);
+ }
return (curParamFileIndex);
}
@@ -223,7 +234,6 @@ bool ReadParams(
long checkSum = 0;
BOOL_T checkSummed;
paramVersion = -1;
- char *oldLocale = NULL;
if (dirName) {
MakeFullpath(&paramFileName, dirName, fileName, NULL);
@@ -237,12 +247,12 @@ bool ReadParams(
//LOG1( log_paramFile, ("ReadParam( %s )\n", fileName ) )
- oldLocale = SaveLocale("C");
+ SetCLocale();
paramFile = fopen(paramFileName, "r");
if (paramFile == NULL) {
/* Reset the locale settings */
- RestoreLocale(oldLocale);
+ SetUserLocale();
NoticeMessage(MSG_OPEN_FAIL, _("Continue"), NULL, _("Parameter"), paramFileName,
strerror(errno));
@@ -254,7 +264,7 @@ bool ReadParams(
checkSummed = FALSE;
BOOL_T skip = false;
int skipLines = 0;
- while (paramFile && (fgets(paramLine, 256, paramFile)) != NULL) {
+ while (paramFile && (fgets(paramLine, 1024, paramFile)) != NULL) {
paramLineNum++;
Stripcr(paramLine);
if (strncmp(paramLine, "CHECKSUM ", 9) == 0) {
@@ -279,15 +289,14 @@ bool ReadParams(
if (paramFile) {
fclose(paramFile);
}
- RestoreLocale(oldLocale);
-
+ SetUserLocale();
return FALSE;
}
oldFile = paramFile;
oldLineNum = paramLineNum;
oldCheckSum = paramCheckSum;
if (!ReadParams(key, dirName, cp)) {
- RestoreLocale(oldLocale);
+ SetUserLocale();
return FALSE;
}
paramFile = oldFile;
@@ -300,20 +309,20 @@ bool ReadParams(
}
skip = FALSE;
} else if (strncmp(paramLine, "CONTENTS ", 9) == 0) {
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem(paramLine + 9);
#endif
curContents = MyStrdup(paramLine + 9);
curSubContents = curContents;
skip = FALSE;
} else if (strncmp(paramLine, "SUBCONTENTS ", 12) == 0) {
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem(paramLine + 12);
-#endif // WINDOWS
+#endif // UTFCONVERT
curSubContents = MyStrdup(paramLine + 12);
skip = FALSE;
} else if (strncmp(paramLine, "PARAM ", 6) == 0) {
- paramVersion = strtol(paramLine + 8, &cp, 10);
+ paramVersion = strtol(paramLine + 6, &cp, 10);
if (cp)
while (*cp && isspace((unsigned char)*cp)) cp++;
if (paramVersion > iParamVersion) {
@@ -358,7 +367,7 @@ bool ReadParams(
free(paramFileName);
paramFileName = NULL;
}
- RestoreLocale(oldLocale);
+ SetUserLocale();
return FALSE;
}
}
@@ -373,7 +382,7 @@ bool ReadParams(
if (paramFile) {
fclose(paramFile);
}
- RestoreLocale(oldLocale);
+ SetUserLocale();
NoticeMessage(MSG_PROG_CORRUPTED, _("Ok"), NULL, paramFileName);
@@ -387,7 +396,7 @@ bool ReadParams(
}
free(paramFileName);
paramFileName = NULL;
- RestoreLocale(oldLocale);
+ SetUserLocale();
return TRUE;
}
diff --git a/app/bin/paramfilelist.c b/app/bin/paramfilelist.c
index 199345c..e922f73 100644
--- a/app/bin/paramfilelist.c
+++ b/app/bin/paramfilelist.c
@@ -21,26 +21,18 @@
*/
-#include <assert.h>
-#include <errno.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
#include "common.h"
#include "compound.h"
#include "ctrain.h"
#include "custom.h"
#include "dynstring.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "misc2.h"
#include "paths.h"
#include "include/paramfile.h"
#include "include/paramfilelist.h"
+#include "common-ui.h"
dynArr_t paramFileInfo_da;
@@ -62,7 +54,24 @@ int GetParamFileCount()
return (paramFileInfo_da.cnt);
}
+/**
+ * Show parameter file error message
+ *
+ * \param [in,out] file If non-null, the file.
+ */
+static void
+ReadParamError(char *file)
+{
+ DynString error_msg;
+ DynStringMalloc(&error_msg, 100);
+ DynStringPrintf(&error_msg,
+ _("The parameter file: %s could not be found and was probably deleted or moved. "
+ "The file is removed from the active parameter file list."),
+ file);
+ wNoticeEx(NT_ERROR, DynStringToCStr(&error_msg), "OK", NULL);
+ DynStringFree(&error_msg);
+}
/**
@@ -194,34 +203,37 @@ void LoadParamFileList(void)
}
char * share;
- // Rewire to the latest system level
- if ((share= strstr(fileName,"/share/xtrkcad/params/"))) {
- share += strlen("/share/xtrkcad/params/");
+ // Rewire to the latest system level
+#define SHAREPARAMS (PATH_SEPARATOR "share" PATH_SEPARATOR "xtrkcad" PATH_SEPARATOR "params" PATH_SEPARATOR)
+ if ((share= strstr(fileName,SHAREPARAMS))) {
+ share += strlen(SHAREPARAMS);
MakeFullpath(&fileName, wGetAppLibDir(), "params", share, NULL);
wPrefSetString("Parameter File Map", contents, fileName);
}
- ReadParamFile(fileName);
-
- if (curContents == NULL) {
- curContents = curSubContents = MyStrdup(contents);
- }
- paramFileInfo(curParamFileIndex).contents = curContents;
- if (favoriteList && fileNo == favoriteList[nextFavorite]) {
- DynString topic;
- long deleted;
- DynStringMalloc(&topic, 16);
- DynStringPrintf(&topic, FAVORITEDELETED, fileNo);
-
- wPrefGetIntegerBasic(FAVORITESECTION, DynStringToCStr(&topic), &deleted, 0L);
- paramFileInfo(curParamFileIndex).favorite = TRUE;
- paramFileInfo(curParamFileIndex).deleted = deleted;
- if (nextFavorite < favorites - 1) {
- nextFavorite++;
- }
- DynStringFree(&topic);
- }
-
+ if (ReadParamFile(fileName) >= 0) {
+
+ if (curContents == NULL) {
+ curContents = curSubContents = MyStrdup(contents);
+ }
+ paramFileInfo(curParamFileIndex).contents = curContents;
+ if (favoriteList && fileNo == favoriteList[nextFavorite]) {
+ DynString topic;
+ long deleted;
+ DynStringMalloc(&topic, 16);
+ DynStringPrintf(&topic, FAVORITEDELETED, fileNo);
+
+ wPrefGetIntegerBasic(FAVORITESECTION, DynStringToCStr(&topic), &deleted, 0L);
+ paramFileInfo(curParamFileIndex).favorite = TRUE;
+ paramFileInfo(curParamFileIndex).deleted = deleted;
+ if (nextFavorite < favorites - 1) {
+ nextFavorite++;
+ }
+ DynStringFree(&topic);
+ }
+ } else {
+ ReadParamError(fileName);
+ }
}
curParamFileIndex = PARAM_CUSTOM;
if (updated) {
@@ -276,10 +288,12 @@ void
UpdateParamFileList(void)
{
for (size_t i = 0; i < (unsigned)paramFileInfo_da.cnt; i++) {
- SetParamFileState(i);
+ SetParamFileState((int)i);
}
}
+
+
/**
* Load the selected parameter files. This is a callback executed when the file selection dialog
* is closed.
@@ -317,21 +331,24 @@ int LoadParamFile(
curContents = curSubContents = NULL;
newIndex = ReadParamFile(fileName[i]);
-
- // in case the contents is already present, make invalid
- for (inx = 0; inx < newIndex; inx++) {
- if (paramFileInfo(inx).valid &&
- strcmp(paramFileInfo(inx).contents, curContents) == 0) {
- paramFileInfo(inx).valid = FALSE;
- break;
- }
- }
-
- wPrefSetString("Parameter File Map", curContents,
- paramFileInfo(curParamFileIndex).name);
+ if (newIndex >= 0) {
+ // in case the contents is already present, make invalid
+ for (inx = 0; inx < newIndex; inx++) {
+ if (paramFileInfo(inx).valid &&
+ strcmp(paramFileInfo(inx).contents, curContents) == 0) {
+ paramFileInfo(inx).valid = FALSE;
+ break;
+ }
+ }
+
+ wPrefSetString("Parameter File Map", curContents,
+ paramFileInfo(curParamFileIndex).name);
+ } else {
+ ReadParamError(fileName[i]);
+ }
}
//Only set the ParamFileDir if not the system directory
- if (!strstr(fileName[i-1],"/share/xtrkcad/params/"))
+ if (!strstr(fileName[i-1],SHAREPARAMS))
SetParamFileDir(fileName[i - 1]);
curParamFileIndex = PARAM_CUSTOM;
DoChangeNotification(CHANGE_PARAMS);
@@ -353,11 +370,8 @@ static void ReadCustom(void)
}
-/*
- * Open the file and then set the locale to "C". Old locale will be copied to
- * oldLocale. After the required file I/O is done, the caller must call
- * CloseCustom() with the same locale value that was returned in oldLocale by
- * this function.
+/**
+ * Open the custom file where user-defined turnouts, cars and such are stored
*/
FILE * OpenCustom(char *mode)
@@ -407,10 +421,15 @@ addButtonCallBack_t ParamFilesInit(void)
*/
BOOL_T ParamFileListInit(void)
{
+ /** @logcmd @showrefby params=n paramfilelist.c Log ReadParams
+ * (including scale file (xtq), custom file (*.cus) and other params (xtp))
+ */
log_params = LogFindIndex("params");
+ SetCLocale();
// get the default definitions
if (ReadParams(lParamKey, libDir, sParamQF) == FALSE) {
+ SetUserLocale();
return FALSE;
}
@@ -421,6 +440,7 @@ BOOL_T ParamFileListInit(void)
ReadCustom();
}
+ SetUserLocale();
return TRUE;
}
diff --git a/app/bin/paramfilesearch_ui.c b/app/bin/paramfilesearch_ui.c
index bf9c47a..15498f8 100644
--- a/app/bin/paramfilesearch_ui.c
+++ b/app/bin/paramfilesearch_ui.c
@@ -2,7 +2,7 @@
* Parameter File Search Dialog
*/
-/* XTrkCad - Model Railroad CAD
+/* XTrackCAD - Model Railroad CAD
* Copyright (C) 2019 Martin Fischer
*
* This program is free software; you can redistribute it and/or modify
@@ -20,106 +20,151 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <assert.h>
-#include <ctype.h>
-#include <stdbool.h>
-#include <stdint.h>
-#include <string.h>
-
#include "custom.h"
#include "dynstring.h"
-#include "i18n.h"
-#include "messages.h"
#include "param.h"
#include "include/partcatalog.h"
#include "paths.h"
#include "include/paramfilelist.h"
+#include "include/paramfile.h"
#include "fileio.h"
#include "directory.h"
+#include "misc2.h"
+#include "layout.h"
-#include "bitmaps/magnifier.xpm"
-
-static CatalogEntry *catalogFileBrowse; /**< current search results */
-static TrackLibrary *trackLibrary; /**< Track Library */
-static CatalogEntry *currentCat; /**< catalog being shown */
+static ParameterLib *trackLibrary; /**< Track Library */
+static Catalog currentCat; /**< catalog being shown */
/* define the search / browse dialog */
-static struct wFilSel_t *searchUi_fs; /**< searchdialog for parameter files */
-
-static void SearchUiBrowse(void *junk);
-static void SearchUiDefault(void * junk);
+static void SearchUiDefault(void);
static void SearchUiApply(wWin_p junk);
static void SearchUiSelectAll(void *junk);
static void SearchUiDoSearch(void *junk);
+static void SearchUiClearFilter(void *ptr);
static long searchUiMode = 0;
+static long searchFitMode = 0;
static paramListData_t searchUiListData = { 10, 370, 0 };
#define MAXQUERYLENGTH 250
static char searchUiQuery[MAXQUERYLENGTH];
static char * searchUiLabels[] = { N_("Show File Names"), NULL };
+// Note these are defined in the same order as FIT_ANY, FIT_COMPATIBLE, FIT_EXACT
+static char * searchFitLabels[] = { N_("Fit Any"), N_("Fit Compatible"), N_("Fit Exact"), NULL};
+
+
+#define QUERYPROMPTSTRING "Enter at least one search word"
static paramData_t searchUiPLs[] = {
#define I_QUERYSTRING (0)
- { PD_STRING, searchUiQuery, "query", PDO_NOPREF | PDO_STRINGLIMITLENGTH, (void*)(340), "", 0, 0, MAXQUERYLENGTH-1 },
+ { PD_STRING, searchUiQuery, "query", PDO_ENTER | PDO_NOPREF | PDO_STRINGLIMITLENGTH | PDO_DLGRESIZE, I2VP(340), "", 0, 0, MAXQUERYLENGTH-1 },
#define I_SEARCHBUTTON (1)
- { PD_BUTTON, (void*)SearchUiDoSearch, "find", PDO_DLGHORZ, 0, NULL, BO_ICON, (void *)NULL },
-#define I_MESSAGE (2)
- { PD_MESSAGE, N_("Enter at least one search word"), NULL, PDO_DLGBOXEND, (void *)370 },
-#define I_RESULTLIST (3)
+ { PD_BUTTON, SearchUiDoSearch, "find", PDO_DLGHORZ, 0, NULL, BO_ICON, NULL },
+#define I_CLEARBUTTON (2)
+ { PD_BUTTON, SearchUiClearFilter, "clearfilter", PDO_DLGHORZ, 0, NULL, BO_ICON, NULL },
+#define I_FITRADIO (3)
+ { PD_RADIO, &searchFitMode, "fit", PDO_NOPREF | PDO_DLGBOXEND, searchFitLabels, NULL, BC_HORZ|BC_NOBORDER },
+#define I_MESSAGE (4)
+ { PD_MESSAGE, N_(QUERYPROMPTSTRING), NULL, 0, I2VP(370) },
+#define I_STATISTICS (5)
+ { PD_MESSAGE, "", NULL, PDO_DLGBOXEND, I2VP(370) },
+#define I_RESULTLIST (6)
{ PD_LIST, NULL, "inx", PDO_NOPREF | PDO_DLGRESIZE, &searchUiListData, NULL, BL_DUP|BL_SETSTAY|BL_MANY },
-#define I_MODETOGGLE (4)
+#define I_MODETOGGLE (7)
{ PD_TOGGLE, &searchUiMode, "mode", PDO_DLGBOXEND, searchUiLabels, NULL, BC_HORZ|BC_NOBORDER },
-#define I_APPLYBUTTON (5)
- { PD_BUTTON, (void *)SearchUiApply, "apply", PDO_DLGCMDBUTTON, NULL, N_("Add") },
-#define I_SELECTALLBUTTON (6)
- { PD_BUTTON, (void*)SearchUiSelectAll, "selectall", PDO_DLGCMDBUTTON, NULL, N_("Select all") },
- { PD_BUTTON, (void*)SearchUiDefault, "default", 0, NULL, N_("Reload Library") },
+#define I_APPLYBUTTON (8)
+ { PD_BUTTON, SearchUiApply, "apply", PDO_DLGCMDBUTTON, NULL, N_("Add") },
+#define I_SELECTALLBUTTON (9)
+ { PD_BUTTON, SearchUiSelectAll, "selectall", PDO_DLGCMDBUTTON, NULL, N_("Select all") },
};
#define SEARCHBUTTON ((wButton_p)searchUiPLs[I_SEARCHBUTTON].control)
+#define CLEARBUTTON ((wButton_p)searchUiPLs[I_CLEARBUTTON].control)
#define RESULTLIST ((wList_p)searchUiPLs[I_RESULTLIST].control)
#define APPLYBUTTON ((wButton_p)searchUiPLs[I_APPLYBUTTON].control)
#define SELECTALLBUTTON ((wButton_p)searchUiPLs[I_SELECTALLBUTTON].control)
#define MESSAGETEXT ((wMessage_p)searchUiPLs[I_MESSAGE].control)
#define QUERYSTRING ((wString_p)searchUiPLs[I_QUERYSTRING].control)
+#define SEARCHSTAT ((wMessage_p)searchUiPLs[I_STATISTICS].control)
+#define FITRADIO ((wChoice_p)searchUiPLs[I_FITRADIO].control)
-static paramGroup_t searchUiPG = { "searchgui", 0, searchUiPLs, sizeof searchUiPLs/sizeof searchUiPLs[0] };
+static paramGroup_t searchUiPG = { "searchgui", 0, searchUiPLs, COUNT( searchUiPLs ) };
static wWin_p searchUiW;
#define FILESECTION "file"
#define PARAMDIRECTORY "paramdir"
+
+/**
+ * Clears the current catalog
+ */
+
+void
+ClearCurrentCatalog(void)
+{
+ if (currentCat.head) {
+ DestroyCatalog(&currentCat);
+ currentCat.head = NULL;
+ }
+}
+
/**
- * Reload the listbox showing the current catalog
+ * Reload the listbox showing the current catalog. The catalog is either the system
+ * default library catalog or a search result
+ *
+ * \param [in] catalog the current catalog.
*/
static
-void SearchFileListLoad(CatalogEntry *catalog)
+int SearchFileListLoad(Catalog *catalog)
+
{
- CatalogEntry *currentEntry = catalog->next;
+ CatalogEntry *head = catalog->head;
+ CatalogEntry *catalogEntry;
+
DynString description;
DynStringMalloc(&description, STR_SHORT_SIZE);
wControlShow((wControl_p)RESULTLIST, FALSE);
wListClear(RESULTLIST);
- while (currentEntry != currentEntry->next) {
- for (unsigned int i=0;i<currentEntry->files;i++) {
- DynStringClear(&description);
- DynStringCatCStr(&description,
- ((!searchUiMode) && currentEntry->contents) ?
- currentEntry->contents :
- currentEntry->fullFileName[i]);
-
- wListAddValue(RESULTLIST,
- DynStringToCStr(&description),
- NULL,
- // indicatorIcons[paramFileInfo.favorite][paramFileInfo.trackState],
- (void*)currentEntry->fullFileName[i]);
+ DL_FOREACH(head, catalogEntry) {
+ for (unsigned int i=0; i<catalogEntry->files; i++) {
+ if (catalogEntry->tag && searchFitMode != 0) {
+ char * type_copy = MyStrdup(catalogEntry->tag);
+ char * cp = type_copy;
+ char * type = strtok(cp, " \t");
+ SCALE_FIT_TYPE_T fit_type;
+ if (strcmp(type,TURNOUTCOMMAND) == 0)
+ fit_type = FIT_TURNOUT;
+ else if (strcmp(type,STRUCTURECOMMAND)==0)
+ fit_type = FIT_STRUCTURE;
+ else if ((strcmp(type,CARCOMMAND)==0) || (strcmp(type,CARPROTOCOMMAND)==0))
+ fit_type = FIT_CAR;
+ char * scale = strtok(NULL, " \t\n");
+ if (scale) {
+ SCALEINX_T scale1 = LookupScale(scale);
+ SCALEINX_T scale2 = GetLayoutCurScale();
+ if (searchFitMode == FIT_COMPATIBLE) {
+ if (CompatibleScale(fit_type,scale1,scale2)<FIT_COMPATIBLE) continue;
+ } else {
+ if (CompatibleScale(fit_type,scale1,scale2)<FIT_EXACT) continue;
+ }
+
+ }
+ MyFree(type_copy);
+ }
+ DynStringClear(&description);
+ DynStringCatCStr(&description,
+ ((!searchUiMode) && catalogEntry->contents) ?
+ catalogEntry->contents :
+ catalogEntry->fullFileName[i]);
+
+ wListAddValue(RESULTLIST,
+ DynStringToCStr(&description),
+ NULL,
+ catalogEntry->fullFileName[i]);
}
-
- currentEntry = currentEntry->next;
}
wControlShow((wControl_p)RESULTLIST, TRUE);
@@ -127,55 +172,27 @@ void SearchFileListLoad(CatalogEntry *catalog)
wListGetCount(RESULTLIST));
DynStringFree(&description);
-
- currentCat = catalog;
-}
-
-/**
- * Find parameter files using the file selector
- *
- * \param junk
- */
-
-static void SearchUiBrowse(void * junk)
-{
-
- //EmptyCatalog(catalogFileBrowse);
-
- wFilSelect(searchUi_fs, GetParamFileDir());
-
- //SearchFileListLoad(catalogFileBrowse);
-
- return;
+ return wListGetCount(RESULTLIST);
}
-
/**
* Reload just the system files into the searchable set
*/
-static void SearchUiDefault(void * junk)
+static void SearchUiDefault(void)
{
+ DynString dsSummary;
- if (!catalogFileBrowse)
- catalogFileBrowse = InitCatalog();
- else {
- EmptyCatalog(catalogFileBrowse);
- }
-
- if (trackLibrary)
- DeleteLibrary(trackLibrary);
-
- char * parms_path;
+ int matches = SearchFileListLoad(trackLibrary->catalog); //Start with system files
+ wStringSetValue(QUERYSTRING, "");
- MakeFullpath(&parms_path, wGetAppLibDir(), "params", NULL);
-
- trackLibrary = CreateLibrary(parms_path);
-
- SearchFileListLoad(trackLibrary->catalog); //Start with system files
-
- free(parms_path);
+ wMessageSetValue(MESSAGETEXT, _(QUERYPROMPTSTRING));
+ DynStringMalloc(&dsSummary, 16);
+ DynStringPrintf(&dsSummary, _("%u parameter files in library. %d Fit Scale."), CountCatalogEntries(trackLibrary->catalog), matches);
+ wMessageSetValue(SEARCHSTAT, DynStringToCStr(&dsSummary));
+ DynStringFree(&dsSummary);
+ wControlActive((wControl_p)CLEARBUTTON, FALSE);
}
/**
@@ -185,12 +202,12 @@ static void SearchUiDefault(void * junk)
void static
SearchUILoadResults(void)
{
- char **fileNames;
int files = wListGetSelectedCount(RESULTLIST);
- int found = 0;
if (files) {
- fileNames = malloc(sizeof(char *)*files);
+ char **fileNames;
+ int found = 0;
+ fileNames = MyMalloc(sizeof(char *)*files);
if (!fileNames) {
AbortProg("Couldn't allocate memory for result list: %s (%d)", __FILE__,
__LINE__, NULL);
@@ -198,13 +215,13 @@ SearchUILoadResults(void)
for (int inx = 0; found < files; inx++) {
if (wListGetItemSelected(RESULTLIST, inx)) {
- fileNames[found++] = (char *)wListGetItemContext(RESULTLIST, inx);
+ fileNames[found++] = (char *)wListGetItemContext(RESULTLIST, inx);
}
}
LoadParamFile(files, fileNames, NULL);
- free(fileNames);
- SearchUiOk((void *) 0);
+ MyFree(fileNames);
+ SearchUiOk(NULL);
}
}
@@ -227,62 +244,95 @@ static void UpdateSearchUiButton(void)
wControlActive((wControl_p)SELECTALLBUTTON, cnt > 0);
}
-// Return a pointer to the (shifted) trimmed string
+/**
+ * Return a pointer to the (shifted) trimmed string
+ *
+ * \param [in,out] s If non-null, a char to process.
+ *
+ * \returns pointer to the trimmed string
+ */
+
char * StringTrim(char *s)
{
- char *original = s;
- size_t len = 0;
-
- while (isspace((unsigned char) *s)) {
- s++;
- }
- if (*s) {
- char *p = s;
- while (*p) p++;
- while (isspace((unsigned char) *(--p)));
- p[1] = '\0';
- len = (size_t) (p - s + 1);
- }
-
- return (s == original) ? s : memmove(original, s, len + 1);
+ char *original = s;
+ size_t len = 0;
+
+ while (isspace((unsigned char) *s)) {
+ s++;
+ }
+ if (*s) {
+ char *p = s;
+ while (*p) {
+ p++;
+ }
+ while (isspace((unsigned char) *(--p)));
+ p[1] = '\0';
+ len = (size_t)(p - s + 1);
+ }
+
+ return (s == original) ? s : memmove(original, s, len + 1);
}
/**
* Perform the search. If successful, the results are loaded into the list
*
- * \param ptr INignored
+ * \param [in,out] ptr ignored.
*/
static void SearchUiDoSearch(void * ptr)
{
unsigned result;
-
+ SearchResult *currentResults = MyMalloc(sizeof(SearchResult));
char * search;
+ ClearCurrentCatalog();
+
+ strcpy(searchUiQuery, wStringGetValue((wString_p)searchUiPG.paramPtr[I_QUERYSTRING].control));
search = StringTrim(searchUiQuery);
- if (catalogFileBrowse) {
- EmptyCatalog(catalogFileBrowse);
- } else
- catalogFileBrowse = InitCatalog();
+ if (search[0]) {
+ result = SearchLibrary(trackLibrary, search, currentResults);
- result = SearchLibrary(trackLibrary, search, catalogFileBrowse);
+ if (result) {
- if (result) {
- DynString hitsMessage;
- DynStringMalloc(&hitsMessage, 16);
- DynStringPrintf(&hitsMessage, _("%d parameter files found."), result);
- wMessageSetValue(MESSAGETEXT, DynStringToCStr(&hitsMessage));
- DynStringFree(&hitsMessage);
+ char *statistics;
- SearchFileListLoad(catalogFileBrowse);
+ statistics = SearchStatistics(currentResults);
+ wMessageSetValue(SEARCHSTAT, statistics);
+ MyFree(statistics);
- } else {
+ int matches = SearchFileListLoad(&(currentResults->subCatalog));
- wListClear(RESULTLIST);
- wControlActive((wControl_p)SELECTALLBUTTON, FALSE);
- wMessageSetValue(MESSAGETEXT, _("No matches found."));
- }
+ DynString hitsMessage;
+ DynStringMalloc(&hitsMessage, 16);
+ DynStringPrintf(&hitsMessage, _("%d parameter files found. %d Fit Scale"), result, matches);
+ wMessageSetValue(MESSAGETEXT, DynStringToCStr(&hitsMessage));
+ DynStringFree(&hitsMessage);
+
+ currentCat = currentResults->subCatalog;
+ wControlActive((wControl_p)CLEARBUTTON, TRUE);
+ } else {
+ wListClear(RESULTLIST);
+ wControlActive((wControl_p)SELECTALLBUTTON, FALSE);
+ wMessageSetValue(MESSAGETEXT, _("No matches found."));
+ }
+ } else {
+ SearchUiDefault();
+ }
+ MyFree(currentResults); //Because SearchFileList also caches the currentResults->subCatalog address as currentCatalog for reuse.
+}
+
+/**
+ * Clear the current filter
+ *
+ * \param [in,out] ptr ignored
+ */
+
+static void
+SearchUiClearFilter(void *ptr)
+{
+ ClearCurrentCatalog();
+ SearchUiDefault();
}
/**
@@ -323,7 +373,7 @@ static void SearchUiApply(wWin_p junk)
}
/**
- * Event handling for the Search dialog. If the 'X' decoration is pressed the
+ * Event handling for the Search dialog. If the 'X' decoration is pressed the
* dialog window is closed.
*
* \param pg IN ignored
@@ -337,20 +387,41 @@ static void SearchUiDlgUpdate(
void * valueP)
{
switch (inx) {
+ case I_QUERYSTRING:
+ if (pg->paramPtr[inx].enter_pressed) {
+ strcpy( searchUiQuery, wStringGetValue((wString_p)pg->paramPtr[inx].control) );
+ SearchUiDoSearch(NULL);
+ }
+ break;
case I_RESULTLIST:
UpdateSearchUiButton();
break;
+ case I_FITRADIO:
+ strcpy( searchUiQuery, wStringGetValue((wString_p)pg->paramPtr[I_QUERYSTRING].control) );
+ SearchUiDoSearch(NULL);
+ break;
case I_MODETOGGLE:
- SearchFileListLoad(currentCat);
+ if (currentCat.head) {
+ SearchFileListLoad(&currentCat);
+ } else {
+ SearchFileListLoad(trackLibrary->catalog);
+ }
+ break;
+ case -1:
+ SearchUiOk(valueP);
break;
- case -1:
- SearchUiOk(valueP);
- break;
}
}
+void
+SearchUiCancel(wWin_p window)
+{
+ ClearCurrentCatalog();
+ wHide(window);
+}
+
/**
- * Get the system default directory for parameter files. First step is to
+ * Get the system default directory for parameter files. First step is to
* check the configuration file for a user specific setting. If that is not
* found, the diretory is based derived from the installation directory.
* The returned string has to be free'd() when no longer needed.
@@ -361,17 +432,21 @@ static void SearchUiDlgUpdate(
static char *
GetParamsPath()
{
- char * params_path;
- char *params_pref;
- params_pref = wPrefGetString(FILESECTION, PARAMDIRECTORY);
+ char * params_path;
+ char *params_pref;
+ params_pref = wPrefGetString(FILESECTION, PARAMDIRECTORY);
- if (!params_pref) {
- MakeFullpath(&params_path, wGetAppLibDir(), "params", NULL);
- } else {
- params_path = strdup(params_pref);
- }
- return(params_path);
+ if (!params_pref) {
+ MakeFullpath(&params_path, wGetAppLibDir(), "params", NULL);
+ } else {
+ params_path = strdup(params_pref);
+ }
+ return (params_path);
}
+
+#include "bitmaps/funnel.xpm"
+#include "bitmaps/funnelclear.xpm"
+
/**
* Create and open the search dialog.
*
@@ -381,45 +456,46 @@ GetParamsPath()
void DoSearchParams(void * junk)
{
if (searchUiW == NULL) {
- catalogFileBrowse = InitCatalog();
//Make the Find menu bound to the System Library initially
- char *paramsDir = GetParamsPath();
+ char *paramsDir = GetParamsPath();
trackLibrary = CreateLibrary(paramsDir);
- free(paramsDir);
+ free(paramsDir);
- searchUiPLs[I_SEARCHBUTTON].winLabel = (char *)wIconCreatePixMap(magnifier_xpm);
+ searchUiPLs[I_SEARCHBUTTON].winLabel = (char *)wIconCreatePixMap(funnel_xpm);
+ searchUiPLs[I_CLEARBUTTON].winLabel = (char *)wIconCreatePixMap(
+ funnelclear_xpm);
+
+ searchFitMode = FIT_COMPATIBLE; //Default to "Any" after startup
ParamRegister(&searchUiPG);
+
+
searchUiW = ParamCreateDialog(&searchUiPG,
- MakeWindowTitle(_("Choose parameter files")), _("Done"), NULL, wHide,
+ MakeWindowTitle(_("Choose parameter files")), _("Done"), NULL, SearchUiCancel,
TRUE, NULL, F_RESIZE | F_RECALLSIZE, SearchUiDlgUpdate);
- if (trackLibrary) {
- SearchFileListLoad(trackLibrary->catalog); //Start with system files
- }
+
+
wControlActive((wControl_p)APPLYBUTTON, FALSE);
wControlActive((wControl_p)SELECTALLBUTTON, FALSE);
-
- searchUi_fs = wFilSelCreate(searchUiW, FS_LOAD, FS_MULTIPLEFILES,
- _("Load Parameters"), _("Parameter files (*.xtp)|*.xtp"), GetParameterFileInfo,
- (void *)catalogFileBrowse);
}
+ wControlActive((wControl_p)FITRADIO, TRUE);
+
ParamLoadControls(&searchUiPG);
ParamGroupRecord(&searchUiPG);
+
if (!trackLibrary) {
wControlActive((wControl_p)SEARCHBUTTON, FALSE);
wControlActive((wControl_p)QUERYSTRING, FALSE);
wMessageSetValue(MESSAGETEXT,
_("No system parameter files found, search is disabled."));
} else {
- wStringSetValue(QUERYSTRING, "");
-
- SearchFileListLoad(trackLibrary->catalog); //Start with system files
-
+ SearchUiDefault();
}
+
wShow(searchUiW);
}
diff --git a/app/bin/partcatalog.c b/app/bin/partcatalog.c
index a1db09c..25ae024 100644
--- a/app/bin/partcatalog.c
+++ b/app/bin/partcatalog.c
@@ -1,7 +1,7 @@
/** \file partcatalog.c
* Manage the catalog of track parameter files
*/
-/* XTrkCad - Model Railroad CAD
+/* XTrackCAD - Model Railroad CAD
* Copyright (C) 2019 Martin Fischer
*
* This program is free software; you can redistribute it and/or modify
@@ -19,41 +19,27 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <assert.h>
-#include <ctype.h>
-#ifdef HAVE_MALLOC_H
-#include <malloc.h>
-#endif
-#include <search.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#ifdef WINDOWS
- #include "include/dirent.h"
-#else
- #include <dirent.h>
-#endif
+#include "dynstring.h"
#include "fileio.h"
+#include "include/levenshtein.h"
#include "misc.h"
+#include "misc2.h"
#include "include/paramfile.h"
#include "include/partcatalog.h"
#include "paths.h"
#include "include/stringxtc.h"
#include "include/utf8convert.h"
-
-#if _MSC_VER > 1300
- #define strnicmp _strnicmp
- #define strdup _strdup
-#endif
+#include "include/utlist.h"
#define PUNCTUATION "+-*/.,&%=#"
+#define SEARCHDELIMITER " \t\n\r/"
+#define LDISTANCELIMIT (2)
+static char *stopwords = {
+ "scale",
+};
+static int log_params;
/**
* Create and initialize the linked list for the catalog entries
@@ -61,22 +47,46 @@
* \return pointer to first element
*/
-CatalogEntry *
+Catalog *
InitCatalog(void)
{
- CatalogEntry *head;
- CatalogEntry *tail;
-
- /* allocate two pseudo nodes for beginning and end of list */
- head = (CatalogEntry *)malloc(sizeof(CatalogEntry));
- tail = (CatalogEntry *)malloc(sizeof(CatalogEntry));
-
- head->next = tail;
- tail->next = tail;
+ Catalog *newCatalog = MyMalloc(sizeof(Catalog));
+ if (newCatalog) {
+ newCatalog->head = NULL;
+ }
+ return (newCatalog);
+}
+/**
+ * Destroys the catalog
+ *
+ * \param [in] catalog
+ */
+void
+DestroyCatalog(Catalog *catalog)
+{
+ CatalogEntry *current = catalog->head;
+ CatalogEntry *entry = NULL;
+ CatalogEntry *tmp = NULL, *old = NULL;
+ DL_FOREACH_SAFE(current, entry, tmp)
+ {
+ //if (old) MyFree(old);
+ old = NULL;
+ for (unsigned int i = 0; i < entry->files; i++) {
+ MyFree(entry->fullFileName[i]);
+ entry->fullFileName[i] = NULL;
+ }
+ entry->files = 0;
+ MyFree(entry->contents);
+ entry->contents = NULL;
+ MyFree(entry->tag);
+ entry->tag = NULL;
+ old = entry;
+ DL_DELETE(catalog->head,entry);
+ }
- return (head);
+ catalog->head = NULL;
}
/**
@@ -90,32 +100,30 @@ InitCatalog(void)
static CatalogEntry *
InsertIntoCatalogAfter(CatalogEntry *entry)
{
- CatalogEntry *newEntry = (CatalogEntry *)malloc(sizeof(CatalogEntry));
+ CatalogEntry *newEntry = (CatalogEntry *)MyMalloc(sizeof(CatalogEntry));
newEntry->next = entry->next;
+ newEntry->prev = entry;
entry->next = newEntry;
newEntry->files = 0;
newEntry->contents = NULL;
+ newEntry->tag = NULL;
return (newEntry);
}
/**
- * Count the elements in the linked list ignoring dummy elements
+ * Count the elements in the linked list
*
- * \param listHeader IN the linked list
- * \return the numberof elements
+ * \param catalog IN
+ * \return the number of elements
*/
unsigned
-CountCatalogEntries(CatalogEntry *listHeader)
+CountCatalogEntries(Catalog *catalog)
{
- CatalogEntry *currentEntry = listHeader->next;
+ CatalogEntry * entry;
unsigned count = 0;
-
- while (currentEntry != currentEntry->next) {
- count++;
- currentEntry = currentEntry->next;
- }
+ DL_COUNT(catalog->head, entry, count);
return (count);
}
@@ -125,70 +133,96 @@ CountCatalogEntries(CatalogEntry *listHeader)
* \param listHeader IN the list
*/
-void
-EmptyCatalog(CatalogEntry *listHeader)
+EXPORT void
+CatalogDiscard(Catalog *catalog)
{
- CatalogEntry *current = listHeader;
-
- while (current->next != current->next->next) {
- CatalogEntry *removedElement;
- removedElement = current->next;
- current->next = current->next->next;
- if (removedElement->contents) {
- free(removedElement->contents);
- }
- for (unsigned int i = 0; i < removedElement->files; i++) {
- free(removedElement->fullFileName[i]);
- }
- free(removedElement);
+ CatalogEntry *current = catalog->head;
+ CatalogEntry *element;
+ CatalogEntry *tmp,*old = NULL;
+
+ DL_FOREACH_SAFE(current, element, tmp) {
+ //if (old) MyFree(old);
+ old = NULL;
+ MyFree(element->contents);
+ element->contents = NULL;
+ MyFree(element->tag);
+ element->tag = NULL;
+ for (unsigned int i = 0; i < element->files; i++) {
+ MyFree(element->fullFileName[i]);
+ element->fullFileName[i] = NULL;
+ }
+ element->files = 0;
+ old = element;
+ DL_DELETE(catalog->head,element);
}
+
+ catalog->head = NULL;
}
/**
- * Find the position in the list and add
+ * Compare entries
*
- * \param listHeader IN start of list
- * \param contents IN contents to include
+ * \param [in] a If non-null, a CatalogEntry to compare.
+ * \param [in] b If non-null, a CatalogEntry to compare.
*
- * \return CatalogEntry if found, NULL otherwise
+ * \returns An int.
*/
-static CatalogEntry *
-InsertInOrder(CatalogEntry *listHeader, const char *contents)
+static int
+CompareEntries(CatalogEntry *a, CatalogEntry *b)
{
- CatalogEntry *currentEntry = listHeader;
+ return XtcStricmp(a->contents, b->contents);
+}
- while (currentEntry->next != currentEntry->next->next) {
- CatalogEntry *nextEntry = currentEntry->next;
- if (XtcStricmp(nextEntry->contents, contents)>0) {
- return InsertIntoCatalogAfter(currentEntry);
- }
- currentEntry = nextEntry;
- }
- return InsertIntoCatalogAfter(currentEntry);
+/**
+ * Create a new CatalogEntry and insert it keeping the list sorted
+ *
+ * \param [in] catalog
+ * \param [in] contents to include.
+ * \param [in] tag
+ *
+ * \returns CatalogEntry
+ */
+
+EXPORT CatalogEntry *
+InsertInOrder(Catalog *catalog, const char *contents, const char *tag)
+{
+ CatalogEntry *newEntry = MyMalloc(sizeof(CatalogEntry));
+ newEntry->files = 0;
+
+ if (contents)
+ newEntry->contents = MyStrdup(contents);
+ if (tag)
+ newEntry->tag = MyStrdup(tag);
+
+ DL_INSERT_INORDER(catalog->head, newEntry, CompareEntries);
+
+ return newEntry;
}
+
/**
- * Get the existing list element for a content
+ * Find an existing list element for a given content
*
- * \param listHeader IN start of list
- * \param contents IN contents to search
- * \param Do we log error messages or not
+ * \param [in] catalog
+ * \param [in] contents contents to search.
+ * \param [in] silent we log error messages or not.
*
- * \return CatalogEntry if found, NULL otherwise
+ * \returns CatalogEntry if found, NULL otherwise.
*/
static CatalogEntry *
-IsExistingContents(CatalogEntry *listHeader, const char *contents, BOOL_T silent)
+IsExistingContents(Catalog *catalog, const char *contents, BOOL_T silent)
{
- CatalogEntry *currentEntry = listHeader->next;
+ CatalogEntry *head = catalog->head;
+ CatalogEntry *currentEntry;
- while (currentEntry != currentEntry->next) {
+ DL_FOREACH(head, currentEntry) {
if (!XtcStricmp(currentEntry->contents, contents)) {
- if (!silent)
- printf("%s already exists in %s\n", contents, currentEntry->fullFileName[0]);
+ if (!silent) {
+ printf("%s already exists in %s\n", contents, currentEntry->fullFileName[0]);
+ }
return (currentEntry);
}
- currentEntry = currentEntry->next;
}
return (NULL);
}
@@ -203,49 +237,36 @@ IsExistingContents(CatalogEntry *listHeader, const char *contents, BOOL_T silent
* \param contents contents description
*/
-static void
-UpdateCatalogEntry(CatalogEntry *entry, char *path, char *contents)
+EXPORT void
+UpdateCatalogEntry(CatalogEntry *entry, char *path, char *contents, char *tag)
{
if (!entry->contents) {
- entry->contents = strdup(contents);
+ MyFree(entry->contents);
+ entry->contents = NULL;
}
+ if (contents)
+ entry->contents = MyStrdup(contents);
+
+ if (!entry->tag) {
+ MyFree(entry->tag);
+ entry->tag = NULL;
+ }
+ if (tag)
+ entry->tag = MyStrdup(tag);
if (entry->files < MAXFILESPERCONTENT) {
- entry->fullFileName[entry->files++] = strdup(path);
+ entry->fullFileName[entry->files++] = MyStrdup(path);
} else {
- AbortProg("Number of file with same content too large!", NULL);
+ AbortProg("Number of files with same content too large!", NULL);
}
}
/**
- * Create the list for the catalog entries
- *
- * \return
- */
-
-static CatalogEntry *
-CreateCatalog()
-{
- CatalogEntry *catalog = InitCatalog();
-
- return (catalog);
-}
-
-
-static IndexEntry *
-CreateIndexTable(unsigned int capacity)
-{
- IndexEntry *index = (IndexEntry *)malloc(capacity * sizeof(IndexEntry));
-
- return (index);
-}
-
-/**
* Scan opened directory for the next parameter file
*
* \param dir IN opened directory handle
* \param dirName IN name of directory
- * \param fileName OUT fully qualified filename
+ * \param fileName OUT fully qualified filename, must be free()'d by caller
*
* \return TRUE if file found, FALSE if not
*/
@@ -289,391 +310,347 @@ GetNextParameterFile(DIR *dir, const char *dirName, char **fileName)
return (res);
}
-/**
- * Scan a directory for parameter files. For each file found the CONTENTS is
- * read and added to the list *
- *
- * \param insertAfter IN starting point for the list of files
- * \param dirName IN directory to be scanned
+/*!
+ * Filter keywords. Current rules:
+ * - single character string that only consist of a punctuation char
*
- * \return pointer to the last element(?)
+ * \param word IN keyword
+ * \return true if any rule applies, false otherwise
*/
-static CatalogEntry *
-ScanDirectory(CatalogEntry *catalog, const char *dirName)
+bool
+FilterKeyword(char *word)
{
- DIR *d;
- CatalogEntry *newEntry = catalog;
-
- d = opendir(dirName);
- if (d) {
- char *fileName = NULL;
+ if (strlen(word) == 1 && strpbrk(word, PUNCTUATION)) {
+ return (true);
+ }
- while (GetNextParameterFile(d, dirName, &fileName)) {
- CatalogEntry *existingEntry;
- char *contents = GetParameterFileContent(fileName);
- if ((existingEntry = IsExistingContents(catalog, contents,FALSE))) {
- printf("Duplicate CONTENTS record in parameter file %s\n", fileName);
- if (strcmp(existingEntry->fullFileName[existingEntry->files-1],fileName))
- UpdateCatalogEntry(existingEntry, fileName, contents);
- } else {
- newEntry = InsertInOrder(catalog,contents);
- UpdateCatalogEntry(newEntry, fileName, contents);
- }
- free(contents);
- free(fileName);
- fileName = NULL;
+ for (int i = 0; i < sizeof(stopwords) / sizeof(char *); i++) {
+ if (!XtcStricmp(word, stopwords+i)) {
+ return (true);
}
- closedir(d);
}
+ return (false);
+}
- return (newEntry);
+int KeyWordCmp(void *a, void *b)
+{
+ return XtcStricmp(((IndexEntry *)a)->keyWord,((IndexEntry *)b)->keyWord);
}
+
/**
- * Comparison function for IndexEntries used by qsort()
+ * Standardize spelling: remove some typical spelling problems. It is assumed that the word
+ * has already been converted to lower case
*
- * \param entry1 IN
- * \param entry2 IN
- * \return per C runtime conventions
+ * \param [in,out] word If non-null, the word.
*/
-static int
-CompareIndex(const void *entry1, const void *entry2)
+void
+StandardizeSpelling(char *word)
{
- IndexEntry index1 = *(IndexEntry *)entry1;
- IndexEntry index2 = *(IndexEntry *)entry2;
- return (strcoll(index1.keyWord, index2.keyWord));
-}
+ char *p = strchr(word, '-');
+ // remove the word 'scale' from combinations like N-scale
+ if (p) {
+ if (!XtcStricmp(p+1, "scale")) {
+ *p = '\0';
+ }
+ }
-/*!
- * Filter keywords. Current rules:
- * - single character string that only consist of a punctuation char
- *
- * \param word IN keyword
- * \return true if any rule applies, false otherwise
- */
+ if (!strncasecmp(word, "h0", 2)) {
+ strncpy(word, "ho", 2);
+ }
-bool
-FilterKeyword(char *word)
-{
- if (strlen(word) == 1 && strpbrk(word, PUNCTUATION )) {
- return(true);
- }
- return(false);
+ if (!strncasecmp(word, "00", 2)) {
+ strncpy(word, "oo", 2);
+ }
+
+ if (word[0] == '0') {
+ word[0] = 'o';
+ }
}
/**
* Create the keyword index from a list of parameter files
*
- * \param catalog IN list of parameter files
- * \param index IN index table to be filled
- * \param pointer IN/OUT array of words that are indexed
- * \param capacityOfIndex IN total maximum of keywords
- * \return number of indexed keywords
+ * \param [in] library initialized library
+ *
+ * \returns number of indexed keywords.
*/
+
static unsigned
-CreateContentsIndex(CatalogEntry *catalog, IndexEntry *index, void** words_array,
- unsigned capacityOfIndex)
+CreateKeywordIndex(ParameterLib *library)
{
- CatalogEntry *currentEntry = catalog->next;
- unsigned totalMemory = 0;
+ CatalogEntry *listOfEntries = library->catalog->head;
+ CatalogEntry *curParamFile;
+ size_t totalMemory = 0;
size_t wordCount = 0;
char *wordList;
char *wordListPtr;
+ IndexEntry *index = library->index;
- while (currentEntry != currentEntry->next) {
- totalMemory += strlen(currentEntry->contents) + 1;
- currentEntry = currentEntry->next;
+ // allocate a buffer for the complete set of keywords
+ DL_FOREACH(listOfEntries, curParamFile) {
+ totalMemory += strlen(curParamFile->contents) + 1;
}
-
- wordList = malloc((totalMemory + 1) * sizeof(char));
- *words_array = (void*)wordList;
+ wordList = MyMalloc((totalMemory + 1) * sizeof(char));
wordListPtr = wordList;
- currentEntry = catalog->next;
- while (currentEntry != currentEntry->next) {
+ DL_FOREACH(listOfEntries, curParamFile) {
char *word;
- char *content = strdup(currentEntry->contents);
+ char *content = strdup(curParamFile->contents);
- word = strtok(content, " \t\n\r");
- while (word && wordCount < capacityOfIndex) {
+ word = strtok(content, SEARCHDELIMITER);
+ while (word) {
strcpy(wordListPtr, word);
- char *p = wordListPtr;
- for (; *p; ++p) {
- *p = tolower(*p);
+ XtcStrlwr(wordListPtr);
+ if (!FilterKeyword(wordListPtr)) {
+ IndexEntry *searchEntry = MyMalloc(sizeof(IndexEntry));
+ IndexEntry *existingEntry = NULL;
+ searchEntry->keyWord = wordListPtr;
+ StandardizeSpelling(wordListPtr);
+
+ if (index) {
+ DL_SEARCH(index, existingEntry, searchEntry, KeyWordCmp);
+ }
+ if (existingEntry) {
+ DYNARR_APPEND(CatalogEntry *, *(existingEntry->references), 5);
+ DYNARR_LAST(CatalogEntry *, *(existingEntry->references)) = curParamFile;
+ MyFree(searchEntry);
+ } else {
+ searchEntry->references = calloc(1, sizeof(dynArr_t));
+ DYNARR_APPEND(CatalogEntry *, *(searchEntry->references), 5);
+ DYNARR_LAST(CatalogEntry *, *(searchEntry->references)) = curParamFile;
+ DL_APPEND(index, searchEntry);
+ LOG1(log_params, ("Index Entry: <%s>\n", searchEntry->keyWord))
+ }
+
+ wordListPtr += strlen(word) + 1;
+ wordCount++;
}
- if (!FilterKeyword(wordListPtr)) {
- index[wordCount].value = currentEntry;
- index[wordCount].keyWord = wordListPtr;
- wordListPtr += strlen(word) + 1;
- wordCount++;
- if (wordCount >= capacityOfIndex) {
- AbortProg("Too many keywords were used!", NULL);
- }
- }
- word = strtok(NULL, " \t\n\r");
+ word = strtok(NULL, SEARCHDELIMITER);
}
free(content);
- currentEntry = currentEntry->next;
}
*wordListPtr = '\0';
- qsort((void*)index, wordCount, sizeof(IndexEntry), CompareIndex);
+ DL_SORT(index, KeyWordCmp);
+ library->index = index;
+ library->words = wordList;
- return (wordCount);
+ IndexEntry *existingEntry;
+ DL_FOREACH(index, existingEntry) {
+ LOG1(log_params, ("Index Entry: <%s> Count: %d\n", existingEntry->keyWord,
+ existingEntry->references->cnt));
+ }
+ return (unsigned)(wordCount);
}
/**
-* A recursive binary search function. It returns location of x in
-* given array arr[l..r] is present, otherwise -1
-* Taken from http://www.geeksforgeeks.org/binary-search/ and modified
-*
-* \param arr IN array to search
-* \param l IN starting index
-* \param r IN highest index in array
-* \param key IN key to search
-* \return index if found, -1 otherwise
-*/
+ * Search the index for a keyword. The index is assumed to be sorted. Each
+ * keyword has one entry in the index list.
+ *
+ * \param [in] index index list.
+ * \param length number of entries index.
+ * \param [in] search search string.
+ * \param [out] entries array of found entry.
+ *
+ * \returns TRUE if found, FALSE otherwise.
+ */
-static int SearchInIndex(IndexEntry arr[], int l, int r, char *key)
+unsigned int
+FindWord(IndexEntry *index, int length, char *search, IndexEntry **entries)
{
- if (r >= l) {
- int mid = l + (r - l) / 2;
- int res = XtcStricmp(key, arr[mid].keyWord);
+ IndexEntry *result = NULL;
- // If the element is present at the middle itself
- if (!res) {
- return mid;
- }
-
- // If the array size is 1
- if (r == 0) {
- return -1;
- }
+ IndexEntry searchWord;
+ searchWord.keyWord = search;
- // If element is smaller than mid, then it can only be present
- // in left subarray
- if (res < 0) {
- return SearchInIndex(arr, l, mid - 1, key);
- }
+ *entries = NULL;
- // Else the element can only be present in right subarray
- return SearchInIndex(arr, mid + 1, r, key);
- }
+ DL_SEARCH(index, result, &searchWord, KeyWordCmp);
+ if (!result) {
+ int maxdistance = 1;
+ while (maxdistance <= LDISTANCELIMIT && !result ) {
+ IndexEntry *current;
+ size_t minDistance = LDISTANCELIMIT + 1;
+ int maxProbability = 0;
+ LOG1(log_params, ("Close match for: <%s> maxdistance: %d\n", search, maxdistance));
+
+ DL_FOREACH(index, current)
+ {
+ size_t ldist = levenshtein(search, current->keyWord);
+ LOG1(log_params, ("Distance of: <%s> is %d\n", current->keyWord, ldist));
+ if (ldist == maxdistance) {
+ if (current->references->cnt > maxProbability) {
+ if (!result) {
+ result = MyMalloc(sizeof(IndexEntry));
+ }
+ memcpy(result, current, sizeof(IndexEntry));
+ maxProbability = current->references->cnt;
+ }
+ }
+ }
- // We reach here when element is not present in array
- return -1;
+ maxdistance++;
+ }
+ }
+
+ *entries = result;
+ return (result != NULL);
}
/**
- * Inserts a key in arr[] of given capacity. n is current
- * size of arr[]. This function returns n+1 if insertion
- * is successful, else n.
- * Taken from http ://www.geeksforgeeks.org/search-insert-and-delete-in-a-sorted-array/ and modified
+ * Create and initialize the data structure for the track library
+ *
+ * \param trackLibrary OUT the newly allocated track library
+ * \return TRUE on success
*/
-int InsertSorted(CatalogEntry *arr[], int n, CatalogEntry *key, int capacity)
+ParameterLib *
+InitLibrary(void)
{
- // Cannot insert more elements if n is already
- // more than or equal to capcity
- if (n >= capacity) {
- return n;
- }
+ ParameterLib *trackLib = MyMalloc(sizeof(ParameterLib));
- int i;
- for (i = n - 1; (i >= 0 && arr[i] > key); i--) {
- arr[i + 1] = arr[i];
+ if (trackLib) {
+ trackLib->catalog = InitCatalog();
+ trackLib->index = NULL;
+ trackLib->wordCount = 0;
+ trackLib->parameterFileCount = 0;
}
- arr[i + 1] = key;
-
- return (n + 1);
+ return (trackLib);
}
/**
- * Comparison function for CatalogEntries used by qsort()
+ * Destroys the library freeing all associated memory
*
- * \param entry1 IN
- * \param entry2 IN
- * \return per C runtime conventions
+ * \param [in] library If non-null, the library.
*/
-static int
-CompareResults(const void *entry1, const void *entry2)
+void
+DestroyLibrary(ParameterLib *library)
{
- CatalogEntry * index1 = *(CatalogEntry **)entry1;
- CatalogEntry * index2 = *(CatalogEntry **)entry2;
- return (strcoll(index1->contents, index2->contents));
+ if (library) {
+ DestroyCatalog(library->catalog);
+ MyFree(library);
+ }
}
/**
- * Search the index for a keyword. The index is assumed to be sorted. So after one entry
- * is found, neighboring entries up and down are checked as well. The total result set
- * is placed into an array and returned. This array has to be free'd by the caller.
- *
- * \param index IN index list
- * \param length IN number of entries index
- * \param search IN search string
- * \param resultCount OUT count of found entries
- * \return array of found catalog entries, NULL if none found
+ * Scan directory and add all parameter files found to the catalog
+ *
+ * \param trackLib IN the catalog
+ * \param directory IN directory to scan
+ * \return number of files found
*/
-static int findAll = 1;
-
-unsigned int
-FindWord(IndexEntry *index, int length, char *search, CatalogEntry ***entries)
+bool
+CreateCatalogFromDir(ParameterLib *paramLib, char *directory)
{
- CatalogEntry **result; //Array of pointers to Catalog Entries
- int found;
- int foundElements = 0;
- *entries = NULL;
-
- //Get all the entries back for generic search or if "generic find"
- if (findAll || !search || (search[0] == '*') || (search[0] == '\0')) {
- result = malloc((length) * sizeof(CatalogEntry *));
- for (int i = 0; i < length; i++) {
- result[i] = index[i].value;
- }
- *entries = result;
- return length;
- }
-
- found = SearchInIndex(index, 0, length, search);
+ DIR *d;
+ Catalog *catalog = paramLib->catalog;
- if (found >= 0) {
- int lower = found;
- int upper = found;
- int i;
+ d = opendir(directory);
+ if (d) {
+ char *fileName = NULL;
- while (lower > 0 && !XtcStricmp(index[lower-1].keyWord, search)) {
- lower--;
- }
+ while (GetNextParameterFile(d, directory, &fileName)) {
+ CatalogEntry *existingEntry;
- while (upper < length - 1 && !XtcStricmp(index[upper + 1].keyWord, search)) {
- upper++;
- }
+ char *contents = GetParameterFileContent(fileName);
- foundElements = 1 + upper - lower;
+ char *scale = GetParameterFileScale(fileName);
- result = malloc((foundElements) * sizeof(CatalogEntry *));
- for (i = 0; i < foundElements; i++) {
- result[i] = index[i+lower].value;
+ if ((existingEntry = IsExistingContents(catalog, contents, FALSE))) {
+ UpdateCatalogEntry(existingEntry, fileName, contents, scale);
+ } else {
+ CatalogEntry *newEntry;
+ newEntry = InsertInOrder(catalog, contents, scale);
+ UpdateCatalogEntry(newEntry, fileName, contents, scale);
+ }
+ MyFree(contents);
+ MyFree(scale);
+ free(fileName);
+ fileName = NULL;
}
-
- qsort((void*)result, foundElements, sizeof(void *), CompareResults);
-
- *entries = result;
+ closedir(d);
}
- return (foundElements);
+ paramLib->parameterFileCount = CountCatalogEntries(paramLib->catalog);
+ return (paramLib->parameterFileCount);
}
/**
- * Create and initialize the data structure for the track library
+ * Discard the complete catalog from a library
*
- * \param trackLibrary OUT the newly allocated track library
- * \return TRUE on success
+ * \param [in] library
*/
-TrackLibrary *
-InitLibrary(void)
+void
+DiscardCatalog(ParameterLib *library)
{
- TrackLibrary *trackLib = malloc(sizeof(TrackLibrary));
-
- if (trackLib) {
- trackLib->catalog = CreateCatalog();
- trackLib->index = NULL;
- trackLib->wordCount = 0;
- trackLib->trackTypeCount = 0;
+ CatalogEntry *entry;
+ CatalogEntry *temp;
+
+ DL_FOREACH_SAFE(library->catalog->head, entry, temp) {
+ MyFree(entry->contents);
+ MyFree(entry->tag);
+ for (unsigned int i = 0; i < entry->files; i++) {
+ MyFree(entry->fullFileName[i]);
+ }
+ DL_DELETE(library->catalog->head, entry);
+ MyFree(entry);
}
- return (trackLib);
}
-/**
- * Scan directory and all parameter files found to the catalog
- *
- * \param trackLib IN the catalog
- * \param directory IN directory to scan
- * \return number of files found
- */
-
-bool
-GetTrackFiles(TrackLibrary *trackLib, char *directory)
-{
- ScanDirectory(trackLib->catalog, directory);
- trackLib->trackTypeCount = CountCatalogEntries(trackLib->catalog);
- return (trackLib->trackTypeCount);
-}
/**
- * Add a list of parameters files to a catalog. This function is
- * called when the user selects files in the file selector.
+ * Create the search index from the contents description for the whole
+ * catalog.
+ *
+ * \param [in] parameterLib IN the catalog.
*
- * \param files IN count of files
- * \param fileName IN array of filenames
- * \param data IN pointer to the catalog
- * \return alwqys TRUE
+ * \returns the number of words indexed.
*/
-int GetParameterFileInfo(
- int files,
- char ** fileName,
- void * data)
+unsigned
+CreateLibraryIndex(ParameterLib *parameterLib)
{
- CatalogEntry *catalog = (CatalogEntry *)data;
+ parameterLib->index = NULL;
- assert(fileName != NULL);
- assert(files > 0);
- assert(data != NULL);
+ parameterLib->wordCount = CreateKeywordIndex(parameterLib);
- for (int i = 0; i < files; i++) {
- CatalogEntry *newEntry;
- char *contents = GetParameterFileContent(fileName[i]);
-
- if (!(newEntry = IsExistingContents(catalog, contents,TRUE))) {
- newEntry = InsertIntoCatalogAfter(catalog);
- }
- UpdateCatalogEntry(newEntry, fileName[i], contents);
- free(contents);
- }
- return (TRUE);
+ return (parameterLib->wordCount);
}
/**
- * Create the search index from the contents description for the whole catalog.
- * A fixed number of words are added to the index. See ESTIMATED_CONTENTS_WORDS
+ * Discard library index freeing all memory used
+ * references were created using MakeFullPath. These were allocated using malloc and
+ * not MyMalloc
*
- * \param trackLib IN the catalog
- * \return the number of words indexed
+ * \param [in] trackLib the track library.
*/
-unsigned
-CreateLibraryIndex(TrackLibrary *trackLib)
-{
- trackLib->index = CreateIndexTable(trackLib->trackTypeCount *
- ESTIMATED_CONTENTS_WORDS);
-
- trackLib->wordCount = CreateContentsIndex(trackLib->catalog, trackLib->index,
- &trackLib->words_array,
- ESTIMATED_CONTENTS_WORDS * trackLib->trackTypeCount);
-
- return (trackLib->wordCount);
-}
-
void
-DeleteLibraryIndex(TrackLibrary *trackLib)
+DiscardLibraryIndex(ParameterLib *trackLib)
{
- free(trackLib->index);
- trackLib->index = NULL;
-
- free(trackLib->words_array);
-
- trackLib->wordCount = 0;
+ IndexEntry *indexEntry;
+ IndexEntry *tmp;
+
+ DL_FOREACH_SAFE(trackLib->index, indexEntry, tmp) {
+ DYNARR_FREE(CatalogEntry *, *(indexEntry->references));
+ free(indexEntry->references);
+ DL_DELETE(trackLib->index, indexEntry);
+ MyFree(indexEntry);
+ }
+ MyFree(trackLib->words);
+ trackLib->index = NULL;
+ trackLib->wordCount = 0;
}
@@ -684,14 +661,16 @@ DeleteLibraryIndex(TrackLibrary *trackLib)
* \return NULL if error or empty directory, else library handle
*/
-TrackLibrary *
+ParameterLib *
CreateLibrary(char *directory)
{
- TrackLibrary *library;
+ ParameterLib *library;
+
+ log_params = LogFindIndex("params");
library = InitLibrary();
if (library) {
- if (!GetTrackFiles(library, directory)) {
+ if (!CreateCatalogFromDir(library, directory)) {
return (NULL);
}
@@ -700,112 +679,288 @@ CreateLibrary(char *directory)
return (library);
}
+/**
+ * Discard library freeing all memory used
+ *
+ * \param [in,out] library If non-null, the library.
+ */
+
void
-DeleteLibrary(TrackLibrary* library)
+DiscardLibrary(ParameterLib* library)
{
- DeleteLibraryIndex(library);
+ CatalogEntry *entry = library->catalog->head;
+ CatalogEntry *element;
+ CatalogEntry *tmp;
+ DiscardLibraryIndex(library);
- free(library);
+ DL_FOREACH_SAFE(entry, element, tmp) {
+ MyFree(element->contents);
+ MyFree(element->tag);
+ for (unsigned int i = 0; i < element->files; i++) {
+ MyFree(element->fullFileName[i]);
+ }
+ DL_DELETE(entry, element);
+ MyFree(element);
+ }
+ MyFree(library->words);
+ MyFree(library);
}
-// Case insensitive comparison
-char* stristr( const char* haystack, const char* needle )
+/**
+ * Create a statistic for a finished search. The returned string has to be MyFreed() after usage
+ *
+ * \param [in] result the finished search
+ *
+ * \returns Null if it fails, else the found statistics.
+ */
+
+char *
+SearchStatistics(SearchResult *result)
{
- int c = tolower((unsigned char)*needle);
- if (c == '\0')
- return (char *)haystack;
- for (; *haystack; haystack++) {
- if (tolower((unsigned char)*haystack) == c) {
- for (size_t i = 0;;) {
- if (needle[++i] == '\0')
- return (char *)haystack;
- if (tolower((unsigned char)haystack[i]) != tolower((unsigned char)needle[i]))
- break;
- }
- }
- }
- return NULL;
+ DynString buffer;
+ DynString subStats[STATE_COUNT];
+
+ unsigned searched = 0;
+ unsigned discarded = 0;
+ unsigned notfound = 0;
+ unsigned close = 0;
+
+ char *resStat;
+ DynStringMalloc(&buffer, 16);
+
+ for (int i = SEARCHED; i < STATE_COUNT; i++) {
+ DynStringMalloc(subStats + i, 16);
+ }
+
+ DynStringCatCStr(subStats + SEARCHED, _("Found: "));
+ DynStringCatCStr(subStats + CLOSE, _("Similar: "));
+ DynStringCatCStr(subStats + DISCARDED, _("Ignored: "));
+ DynStringCatCStr(subStats + NOTFOUND, _("Not found: "));
+
+ for (unsigned int i = 0; i < result->words; i++) {
+ switch (result->kw[i].state) {
+ case SEARCHED:
+ DynStringPrintf(&buffer, "%s (%d) ", result->kw[i].keyWord,
+ result->kw[i].count);
+ searched++;
+ break;
+ case DISCARDED:
+ DynStringPrintf(&buffer, "%s ", result->kw[i].keyWord);
+ discarded++;
+ break;
+ case NOTFOUND:
+ DynStringPrintf(&buffer, "%s ", result->kw[i].keyWord);
+ notfound++;
+ break;
+ case CLOSE:
+ DynStringPrintf(&buffer, "%s ", result->kw[i].keyWord);
+ close++;
+ break;
+ default:
+ break;
+ }
+ DynStringCatStr(subStats + result->kw[i].state, &buffer);
+ }
+
+ DynStringReset(&buffer);
+ if (searched) {
+ DynStringCatStr(&buffer, subStats + SEARCHED);
+ }
+ if (close) {
+ DynStringCatStr(&buffer, subStats + CLOSE);
+ }
+ if (notfound) {
+ DynStringCatStr(&buffer, subStats + NOTFOUND);
+ }
+ if (discarded) {
+ DynStringCatStr(&buffer, subStats + DISCARDED);
+ }
+
+ resStat = MyStrdup(DynStringToCStr(&buffer));
+ DynStringFree(&buffer);
+ for (int i = SEARCHED; i < STATE_COUNT; i++) {
+ DynStringFree(subStats + i);
+ }
+ return (resStat);
}
/**
- * Search the library for a keyword string and return the result list
+ * returns number of words in str.
*
- * First the index is searched for the first word and then each "hit" is matched
- * to the entire search string
+ * \param [in] str the string.
*
- * Null, Blank and "*" match all entries
+ * \returns The total number of words.
+ */
+
+unsigned countWords(char *str)
+{
+ int state = FALSE;
+ unsigned wc = 0; // word count
+
+ // Scan all characters one by one
+ while (*str) {
+ // If next character is a separator, set the
+ // state as FALSE
+ if (*str == ' ' || *str == '\n' || *str == '\t' || *str == '\r' || *str == '/') {
+ state = FALSE;
+ }
+
+ // If next character is not a word separator and
+ // state is OUT, then set the state as IN and
+ // increment word count
+ else if (state == FALSE) {
+ state = TRUE;
+ ++wc;
+ }
+
+ // Move to next character
+ ++str;
+ }
+
+ return wc;
+}
+
+/**
+ * Search the library for a keyword string and return the result list
*
- * The list is de-duped of repeat of filenames as the same file might appear in
- * more than once
+ * Each key word exists only once in the index.
*
* \param library IN the library
* \param searchExpression IN keyword to search for
* \param resultEntries IN list header for result list
* \return number of found entries
*/
+
unsigned
-SearchLibrary(TrackLibrary *library, char *searchExpression,
- CatalogEntry *resultEntries)
+SearchLibrary(ParameterLib *library, char *searchExpression,
+ SearchResult *results)
{
- CatalogEntry **entries;
- CatalogEntry * newEntry = resultEntries;
- unsigned entryCount;
-
- char * word;
-
- word = strdup(searchExpression);
-
- //word = strtok(word," \t");
+ CatalogEntry *element;
+ IndexEntry *entries;
+ unsigned entryCount = 0;
+ char *searchWord;
+ unsigned words = countWords(searchExpression);
+ char *searchExp = MyStrdup(searchExpression);
+ unsigned i = 0;
if (library->index == NULL || library->wordCount == 0) {
return (0);
}
- entryCount = FindWord(library->index, library->wordCount, word,
- &entries);
- int count= 0;
- if (entryCount) {
- unsigned int i = 0;
- while (i < entryCount) {
- char * match;
- //Check if entire String Matches
- if (!searchExpression || !word || (word[0] == '*') || (word[0] == '\0') ||
- (match = stristr(entries[i]->contents,searchExpression))) {
- CatalogEntry * existingEntry;
- existingEntry = IsExistingContents(resultEntries, entries[i]->contents, TRUE);
- //Same FileName already in one of the entries?
- BOOL_T found = FALSE;
- if (existingEntry) {
- for (unsigned int j=0;j<existingEntry->files;j++) {
- if (!strcmp(existingEntry->fullFileName[j],entries[i]->fullFileName[entries[i]->files-1])) {
- found=TRUE;
- break;
- }
- }
- if (found == TRUE ) {
- i++;
- continue;
- }
- UpdateCatalogEntry(existingEntry, entries[i]->fullFileName[(entries[i]->files- 1)],
- entries[i]->contents);
- } else {
- newEntry = InsertInOrder(resultEntries,entries[i]->contents);
- UpdateCatalogEntry(newEntry, entries[i]->fullFileName[(entries[i]->files- 1)],
- entries[i]->contents);
- }
- count++;
- }
+
+ results->kw = MyMalloc(words * sizeof(struct sSingleResult));
+ results->subCatalog.head = NULL;
+
+ searchWord = strtok(searchExp, SEARCHDELIMITER);
+ while (searchWord) {
+ XtcStrlwr(searchWord);
+ if (!FilterKeyword(searchWord)) {
+ StandardizeSpelling(searchWord);
+ results->kw[i].state = SEARCHED;
+ } else {
+ results->kw[i].state = DISCARDED;
+ }
+ results->kw[i++].keyWord = MyStrdup(searchWord);
+ searchWord = strtok(NULL, SEARCHDELIMITER);
+ }
+ results->words = words;
+
+ i = 0;
+ while (i < words) {
+ if (results->kw[i].state == DISCARDED) {
i++;
+ continue;
}
+ FindWord(library->index, library->wordCount, results->kw[i].keyWord, &entries);
+ if (entries) {
+ results->kw[i].count = entries->references->cnt;
+ if (XtcStricmp(results->kw[i].keyWord, entries->keyWord)) {
+ results->kw[i].state = CLOSE;
+ MyFree(results->kw[i].keyWord);
+ results->kw[i].keyWord = MyStrdup(entries->keyWord);
+ }
+
+ if (results->subCatalog.head == NULL) {
+ // if first keyword -> initialize result set
+ for (int j = 0; j < entries->references->cnt; j++) {
+ CatalogEntry *newEntry = MyMalloc(sizeof(CatalogEntry));
+ CatalogEntry *foundEntry = DYNARR_N(CatalogEntry *, *(entries->references), j);
+ newEntry->contents = MyStrdup(foundEntry->contents);
+ newEntry->tag = MyStrdup(foundEntry->tag);
+ newEntry->files = foundEntry->files;
+ for (unsigned int i=0;i<newEntry->files;i++) {
+ newEntry->fullFileName[i] = MyStrdup(foundEntry->fullFileName[i]);
+ }
+
+ DL_APPEND(results->subCatalog.head, newEntry);
+ }
+ } else {
+ // follow up keyword, create intersection with current result set
+ CatalogEntry *current;
+ CatalogEntry *temp;
+
+ DL_FOREACH_SAFE(results->subCatalog.head, current, temp) {
+ int found = 0;
+ for (int j = 0; j < entries->references->cnt; j++) {
+ CatalogEntry *foundEntry = DYNARR_N(CatalogEntry *, *(entries->references), j);
+
+ if (strcmp(foundEntry->contents,current->contents)==0) {
+ found = TRUE;
+ break;
+ }
+ }
+ if (!found) {
+ DL_DELETE(results->subCatalog.head, current);
+ MyFree(current->contents);
+ MyFree(current->tag);
+ for (unsigned int i=0;i<current->files;i++) {
+ MyFree(current->fullFileName[i]);
+ }
+ MyFree(current);
+ }
+ }
+ }
+ } else {
+ // Searches that don't yield a result are ignored
+ results->kw[i].state = NOTFOUND;
+ results->kw[i].count = 0;
+ }
+ i++;
}
- free(word);
- if (entries)
- free(entries); //Clean-up after search
- return (count);
+
+ DL_COUNT(results->subCatalog.head, element, results->totalFound);
+ MyFree(searchExp);
+ return (results->totalFound);
}
/**
- * Get the contents description from a parameter file. Returned string has to be freed after use.
+ * Discard results. The memory allocated with the search is freed
+ *
+ * \param [in] res If non-null, the results.
+ */
+
+void
+SearchDiscardResult(SearchResult *res)
+{
+ if (res) {
+ CatalogEntry *current = res->subCatalog.head;
+ CatalogEntry *element;
+ CatalogEntry *tmp;
+
+ DL_FOREACH_SAFE(current, element, tmp) {
+ DL_DELETE(current, element);
+ MyFree(element);
+ }
+
+ for (unsigned int i = 0; i < res->words; i++) {
+ MyFree(res->kw[i].keyWord);
+ }
+ MyFree(res->kw);
+ }
+}
+
+/**
+ * Get the contents description from a parameter file. Returned string has to be MyFree'd after use.
*
* \param file IN xtpfile
* \return pointer to found contents or NULL if not present
@@ -814,33 +969,132 @@ SearchLibrary(TrackLibrary *library, char *searchExpression,
char *
GetParameterFileContent(char *file)
{
- FILE *fh;
- char *result = NULL;
-
- fh = fopen(file, "rt");
- if (fh) {
- bool found = false;
-
- while (!found) {
- char buffer[512];
- if (fgets(buffer, sizeof(buffer), fh)) {
- char *ptr = strtok(buffer, " \t");
- if (!XtcStricmp(ptr, CONTENTSCOMMAND)) {
- /* if found, store the rest of the line and the filename */
- ptr = ptr+strlen(CONTENTSCOMMAND)+1;
- ptr = strtok(ptr, "\r\n");
- result = strdup(ptr);
-#ifdef WINDOWS
- ConvertUTF8ToSystem(result);
-#endif // WINDOWS
- found = true;
- }
- } else {
- fprintf(stderr, "Nothing found in %s\n", file);
- found = true;
- }
- }
- fclose(fh);
- }
- return(result);
+ FILE *fh;
+ char *result = NULL;
+
+ fh = fopen(file, "rt");
+ if (fh) {
+ bool found = false;
+
+ while (!found) {
+ char buffer[512];
+ if (fgets(buffer, sizeof(buffer), fh)) {
+ char *ptr = strtok(buffer, " \t");
+ if (!XtcStricmp(ptr, CONTENTSCOMMAND)) {
+ /* if found, store the rest of the line and the filename */
+ ptr = ptr+strlen(CONTENTSCOMMAND)+1;
+ ptr = strtok(ptr, "\r\n");
+ result = MyStrdup(ptr);
+#ifdef UTFCONVERT
+ ConvertUTF8ToSystem(result);
+#endif // UTFCONVERT
+ found = true;
+ }
+ } else {
+ fprintf(stderr, "Nothing found in %s\n", file);
+ found = true;
+ }
+ }
+ fclose(fh);
+ }
+ return (result);
+}
+
+/**
+ * Get the first scale values from a parameter file. Returned strings have to be MyFreed after use
+ *
+ * \param file IN xtpfile
+ * \param array of one of three char results (Track, Structure and Car)
+ */
+
+char *
+GetParameterFileScale(char *file)
+{
+ FILE *fh;
+ char *scale = NULL;
+
+
+ fh = fopen(file, "rt");
+ if (fh) {
+ bool found = FALSE, found_Turnout = FALSE, found_Structure = FALSE, found_Car = FALSE;
+
+ while (!found) {
+ char buffer[512];
+ if (fgets(buffer, sizeof(buffer), fh)) {
+ char *ptr = strtok(buffer, " \t");
+ if (!found_Turnout && !XtcStricmp(ptr, TURNOUTCOMMAND)) {
+ /* if found, store the rest of the line and the filename */
+ ptr = ptr+strlen(TURNOUTCOMMAND)+1;
+ ptr = strtok(ptr, " \t");
+ scale = MyMalloc(strlen(TURNOUTCOMMAND)+2+strlen(ptr));
+ strcpy(scale,TURNOUTCOMMAND);
+ char * cp = scale + strlen(TURNOUTCOMMAND);
+ cp[0] = ' ';
+ cp++;
+ strcpy(cp,ptr);
+ found_Turnout = true;
+ } else if (!found_Structure && !XtcStricmp(ptr, STRUCTURECOMMAND)) {
+ /* if found, store the rest of the line and the filename */
+ ptr = ptr+strlen(STRUCTURECOMMAND)+1;
+ ptr = strtok(ptr, " \t");
+ scale = MyMalloc(strlen(STRUCTURECOMMAND)+2+strlen(ptr));
+ strcpy(scale,STRUCTURECOMMAND);
+ char * cp = scale + strlen(STRUCTURECOMMAND)+1;
+ cp[-1] = ' ';
+ strcpy(cp,ptr);
+ found_Structure = true;
+ } else if (!found_Car && !XtcStricmp(ptr, CARCOMMAND)) {
+ /* if found, store the rest of the line and the filename */
+ ptr = ptr+strlen(CARCOMMAND)+1;
+ ptr = strtok(ptr, " \t");
+ scale = MyMalloc(strlen(CARCOMMAND)+2+strlen(ptr));
+ strcpy(scale,CARCOMMAND);
+ char * cp = scale + strlen(CARCOMMAND)+1;
+ cp[-1] = ' ';
+ strcpy(cp,ptr);
+ found_Car = true;
+ } else if (!found_Car && !XtcStricmp(ptr, CARPROTOCOMMAND)) {
+ /* if found, store the rest of the line and the filename */
+ scale = MyMalloc(strlen(CARPROTOCOMMAND)+3);
+ strcpy(scale,CARPROTOCOMMAND);
+ char * cp = scale + strlen(CARPROTOCOMMAND);
+ strcpy(cp," *");
+ found_Car = true;
+ }
+ } else {
+ if (!found_Turnout && !found_Structure && !found_Car) {
+ fprintf(stderr, "Nothing found in %s\n", file);
+ found = true;
+ }
+ }
+ if (found_Turnout || found_Structure || found_Car) found = TRUE;
+ }
+ fclose(fh);
+ }
+ return scale;
+
+}
+
+#ifdef MEMWATCH
+/** this is used to test for memory leaks. It should show no leaks from functions in this source file */
+RunMemoryTest(char *directory)
+{
+ ParameterLib *library;
+ SearchResult *results;
+
+ mwInit();
+ library = InitLibrary();
+ if (library) {
+ CreateCatalogFromDir(library, directory);
+ CreateLibraryIndex(library);
+ results = MyMalloc(sizeof(SearchResult));
+ SearchLibrary(library, "peco", results);
+ SearchDiscardResult(results);
+ MyFree(results);
+ DiscardLibraryIndex(library);
+ DiscardCatalog(library);
+ }
+ DestroyLibrary(library);
+ mwTerm();
}
+#endif //MEMWATCH
diff --git a/app/bin/paths.c b/app/bin/paths.c
index 6c6bb10..4a95a8e 100644
--- a/app/bin/paths.c
+++ b/app/bin/paths.c
@@ -20,22 +20,10 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <stdarg.h>
-
-#ifdef WINDOWS
-#include <windows.h>
-#endif
-
-#include <wlib.h>
#include <dynstring.h>
#include "track.h"
#include "common.h"
-#include "utility.h"
#include "misc.h"
-#include "i18n.h"
#include "uthash.h"
#include "paths.h"
@@ -86,6 +74,10 @@ AddPath(const char *type, char*path)
tableEntry = malloc(sizeof(struct pathTable));
DynStringMalloc(&tableEntry->path, 16);
strcpy(tableEntry->type, type);
+#ifdef WINDOWS
+#pragma warning( disable : 4267)
+#endif
+ // This generates warning C4267 on windows
HASH_ADD_STR(paths, type, tableEntry);
}
diff --git a/app/bin/shortentext.c b/app/bin/shortentext.c
index 6cd16e6..b1b2202 100644
--- a/app/bin/shortentext.c
+++ b/app/bin/shortentext.c
@@ -71,7 +71,9 @@ EllipsizeString(char *source, char *dest, size_t length)
return;
}
- strncpy(resultString, source, length);
+ if ( dest )
+ strncpy(resultString, source, length);
+
resultString[ length ] = '\0';
position = length - 1;
@@ -89,4 +91,5 @@ EllipsizeString(char *source, char *dest, size_t length)
strcpy(resultString + (strlen(resultString) - sizeof(ELLIPSIZE) + 1), ELLIPSIZE);
}
return;
-} \ No newline at end of file
+}
+
diff --git a/app/bin/shrtpath.c b/app/bin/shrtpath.c
index b8fbe1e..da60d0f 100644
--- a/app/bin/shrtpath.c
+++ b/app/bin/shrtpath.c
@@ -20,8 +20,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <string.h>
-
#include "shrtpath.h"
#include "track.h"
@@ -153,7 +151,7 @@ LOG( log_shortPath, 2, ( " AddPath( T%d:%d.%d D=%0.3f B%d ) -> \n", GetTrkIndex
while (1) {
if ( ep2>=0 ) {
AddTrackToNode( trk, ep1, ep2, dist );
- dist += GetTrkLength( trk, ep1, -1 ) + GetTrkLength( trk, ep2, -1 );
+ dist += GetTrkLength( trk, ep1, ep2 );
if ( DoShortPathFunc( func, "MATCH", SPTC_MATCH, trk, ep2, ep1, dist, data ) ) {
trk = NULL;
ep1 = -1;
@@ -237,7 +235,6 @@ int FindShortestPath(
pathNode_p pNext;
int pinx=0;
DIST_T minDist;
- int count;
int rc = 0;
EPINX_T ep2, epCnt, ep3;
static dynArr_t ep_da;
@@ -245,7 +242,6 @@ int FindShortestPath(
DYNARR_RESET( pathNode_t, pathNode_da );
DYNARR_RESET( trackep_t, trackep_da );
- count = 0;
if ( !log_shortPathInitted ) {
log_shortPath = LogFindIndex( "shortPath" );
@@ -265,8 +261,6 @@ LOG( log_shortPath, 1, ( "FindShortestPath( T%d:%d, %s, ... )\n", GetTrkIndex(tr
AddPath( -1, shortPathTrk1, shortPathEP1, -1, 0.0, func, data );
while (1) {
- InfoMessage( "%d", ++count );
-
/* select next final node */
minDist = 0.0;
inxCurr = -1;
diff --git a/app/bin/shrtpath.h b/app/bin/shrtpath.h
index 165717f..c7cb57f 100644
--- a/app/bin/shrtpath.h
+++ b/app/bin/shrtpath.h
@@ -23,7 +23,6 @@
#define HAVE_SHRTPATH_H
#include "common.h"
-#include "track.h"
typedef enum {
SPTC_MATCH, /* trk:ep is end of path? */
diff --git a/app/bin/smalldlg.c b/app/bin/smalldlg.c
index 1fb5965..3d45809 100644
--- a/app/bin/smalldlg.c
+++ b/app/bin/smalldlg.c
@@ -21,39 +21,21 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdio.h>
-#ifdef HAVE_MALLOC_H
-#include <malloc.h>
-#endif
-#include <ctype.h>
-#include <string.h>
-#include <stdlib.h>
-
-#ifndef WINDOWS
-#include <unistd.h>
-#include <dirent.h>
-#endif
-#ifdef WINDOWS
-#include <io.h>
-#include <windows.h>
-#include <FreeImage.h>
-#else
-#include <sys/stat.h>
-#endif
-
#include "common.h"
#include "custom.h"
#include "draw.h"
#include "fileio.h"
-#include "i18n.h"
#include "misc.h"
#include "paths.h"
#include "param.h"
#include "smalldlg.h"
-#include "wlib.h"
+
+#ifdef WINDOWS
+#include <FreeImage.h>
+#endif
extern char *sTipF;
-wWin_p aboutW;
+EXPORT wWin_p aboutW;
static wWin_p tipW; /**< window handle for tip dialog */
static long showTipAtStart = 1; /**< flag for visibility */
@@ -69,11 +51,11 @@ static paramData_t tipPLs[] = {
#define tipT ((wText_p)tipPLs[I_TIPTEXT].control)
{ PD_MESSAGE, N_("Did you know..."), NULL, 0, NULL, NULL, BM_LARGE },
{ PD_TEXT, NULL, "text", 0, &tipTextData, NULL, BO_READONLY|BT_TOP|BT_CHARUNITS },
- { PD_BUTTON, (void*)ShowTip, "prev", PDO_DLGRESETMARGIN, NULL, N_("Previous Tip"), 0L, (void *)(SHOWTIP_FORCESHOW | SHOWTIP_PREVTIP) },
- { PD_BUTTON, (void*)ShowTip, "next", PDO_DLGHORZ, NULL, N_("Next Tip"), 0L, (void *)(SHOWTIP_FORCESHOW | SHOWTIP_NEXTTIP) },
+ { PD_BUTTON, ShowTip, "prev", PDO_DLGRESETMARGIN, NULL, N_("Previous Tip"), 0L, I2VP(SHOWTIP_FORCESHOW | SHOWTIP_PREVTIP) },
+ { PD_BUTTON, ShowTip, "next", PDO_DLGHORZ, NULL, N_("Next Tip"), 0L, I2VP(SHOWTIP_FORCESHOW | SHOWTIP_NEXTTIP) },
{ PD_TOGGLE, &showTipAtStart, "showatstart", PDO_DLGCMDBUTTON, tipLabels, NULL, BC_NOBORDER }};
-static paramGroup_t tipPG = { "tip", 0, tipPLs, sizeof tipPLs/sizeof tipPLs[0] };
+static paramGroup_t tipPG = { "tip", 0, tipPLs, COUNT( tipPLs ) };
/**
* Create and initialize the tip of the day window. The dialog box is created and the list of tips is loaded
@@ -87,7 +69,7 @@ static void CreateTipW( void )
char *filename;
char * cp;
- tipW = ParamCreateDialog( &tipPG, MakeWindowTitle(_("Tip of the Day")), _("Ok"), (paramActionOkProc)wHide, wHide, FALSE, NULL, F_RESIZE|F_CENTER, NULL );
+ tipW = ParamCreateDialog( &tipPG, MakeWindowTitle(_("Tip of the Day")), NULL, NULL, wHide, FALSE, NULL, F_RESIZE|F_CENTER|PD_F_ALT_CANCELLABEL, NULL );
/* open the tip file */
MakeFullpath(&filename, libDir, sTipF, NULL);
@@ -125,7 +107,7 @@ static void CreateTipW( void )
*cp++ = '\n';
/* read a line */
- if (!fgets( cp, (sizeof buff) - (cp-buff), tipF )) {
+ if (!fgets( cp, (int)((sizeof buff) - (cp-buff)), tipF )) {
return;
}
@@ -157,8 +139,9 @@ static void CreateTipW( void )
*
*/
-void ShowTip( long flags )
+void ShowTip( void * flagsVP )
{
+ long flags = VP2L(flagsVP);
long tipNum;
if (showTipAtStart || (flags & SHOWTIP_FORCESHOW))
@@ -206,39 +189,49 @@ static paramData_t aboutPLs[] = {
#define COPYRIGHT_T ((wText_p)aboutPLs[I_COPYRIGHT].control)
{ PD_TEXT, NULL, NULL, PDO_DLGRESIZE, &aboutTextData, NULL, BO_READONLY|BT_TOP|BT_CHARUNITS }
};
-static paramGroup_t aboutPG = { "about", 0, aboutPLs, sizeof aboutPLs/sizeof aboutPLs[0] };
+static paramGroup_t aboutPG = { "about", 0, aboutPLs, COUNT( aboutPLs ) };
/**
* Create and show the About window.
*/
-void CreateAboutW( void *ptr )
+void CreateAboutW(void *ptr)
{
char *copyright = sAboutProd;
-
- if( !aboutW ) {
- aboutPLs[I_ABOUTDRAW].winData = wIconCreatePixMap( xtc_xpm );
- ParamRegister( &aboutPG );
- aboutW = ParamCreateDialog( &aboutPG, MakeWindowTitle(_("About")), _("Ok"), (paramActionOkProc)wHide, wHide, FALSE, NULL, F_TOP|F_CENTER, NULL );
- ParamLoadMessage( &aboutPG, I_ABOUTVERSION, sAboutProd );
- wTextAppend( COPYRIGHT_T, DESCRIPTION );
- wTextAppend( COPYRIGHT_T, "\n\nXTrackCAD is Copyright 2003 by Sillub Technology and 2017 by Bob Blackwell, Martin Fischer and Adam Richards." );
- wTextAppend( COPYRIGHT_T, "\nIcons by: Tango Desktop Project (http://tango.freedesktop.org)");
- wTextAppend(COPYRIGHT_T, "\nSome icons by Yusuke Kamiyamane. Licensed under a Creative Commons Attribution 3.0 License.");
- wTextAppend( COPYRIGHT_T, "\nContributions by: Robert Heller, Mikko Nissinen, Timothy M. Shead, Daniel Luis Spagnol" );
- wTextAppend( COPYRIGHT_T, "\nParameter Files by: Ralph Boyd, Dwayne Ward" );
+
+ if (!aboutW) {
+ aboutPLs[I_ABOUTDRAW].winData = wIconCreatePixMap(xtc_xpm);
+ ParamRegister(&aboutPG);
+ aboutW = ParamCreateDialog(&aboutPG, MakeWindowTitle(_("About")), NULL, NULL, wHide, FALSE, NULL, F_TOP | F_CENTER| PD_F_ALT_CANCELLABEL, NULL);
+ ParamLoadMessage(&aboutPG, I_ABOUTVERSION, sAboutProd);
+ wTextAppend(COPYRIGHT_T, DESCRIPTION);
+ wTextAppend(COPYRIGHT_T, "\n\nXTrackCAD is Copyright 2003 by Sillub Technology and 2017 by Bob Blackwell, Martin Fischer and Adam Richards.\n");
+ wTextAppend(COPYRIGHT_T, "\nIcons by: Tango Desktop Project (http://tango.freedesktop.org)\n");
+ wTextAppend(COPYRIGHT_T, "\nSome icons by Yusuke Kamiyamane. Licensed under a Creative Commons Attribution 3.0 License.\n");
+ wTextAppend(COPYRIGHT_T, "\nContributions by: Robert Heller, Mikko Nissinen, Timothy M. Shead, Russell Shilling, Daniel Luis Spagnol");
+ wTextAppend(COPYRIGHT_T, "\nParameter Files by: Ralph Boyd, Dwayne Ward\n");
+
+ wTextAppend(COPYRIGHT_T, "\nThe following software is distributed with XTrackCAD\n\n");
#ifdef WINDOWS
- wTextAppend(COPYRIGHT_T, "\n");
wTextAppend(COPYRIGHT_T, FreeImage_GetCopyrightMessage());
+ wTextAppend(COPYRIGHT_T, "\n\n");
#endif
- wTextAppend( COPYRIGHT_T, "\nCornu Algorithm and Implementation by: Raph Levien");
- wTextAppend( COPYRIGHT_T, "\nuthash Copyright notice:" );
- wTextAppend( COPYRIGHT_T, "\nCopyright (c) 2005-2015, Troy D. Hanson http://troydhanson.github.com/uthash/");
- wTextAppend( COPYRIGHT_T, "\nAll rights reserved.");
- }
-
- wShow( aboutW );
-}
+ wTextAppend(COPYRIGHT_T, "Cornu Algorithm and Implementation by: Raph Levien");
+ wTextAppend(COPYRIGHT_T, "\n\nuthash, utlist Copyright notice:");
+ wTextAppend(COPYRIGHT_T, "\nCopyright (c) 2005-2015, Troy D. Hanson http://troydhanson.github.com/uthash/");
+ wTextAppend(COPYRIGHT_T, "\nAll rights reserved.");
+
+ wTextAppend(COPYRIGHT_T, "\n\ncJSON: Copyright (c) 2009-2017 Dave Gamble and cJSON contributors");
+ wTextAppend(COPYRIGHT_T, "\n\nlibzip: Copyright(C) 1999 - 2019 Dieter Baron and Thomas Klausner\n" \
+ "The authors can be contacted at libzip@nih.at");
+
+ wTextAppend(COPYRIGHT_T, "\n\nMiniXML: Copyright (c) 2003-2019 by Michael R Sweet.\n" \
+ "The Mini - XML library is licensed under the Apache License Version 2.0 with an\n" \
+ "exception to allow linking against GPL2 / LGPL2 - only software.");
+ }
+
+ wShow(aboutW);
+}
/*--------------------------------------------------------------------*/
diff --git a/app/bin/smalldlg.h b/app/bin/smalldlg.h
index df54063..d3c21a6 100644
--- a/app/bin/smalldlg.h
+++ b/app/bin/smalldlg.h
@@ -23,16 +23,14 @@
#ifndef SMALLDLG_H
#define SMALLDLG_H
-#include "wlib.h"
-
#define SHOWTIP_NEXTTIP (0L)
#define SHOWTIP_PREVTIP (1L)
#define SHOWTIP_FORCESHOW (2L)
-extern wWin_p aboutW;
+extern struct wWin_t * aboutW;
void InitSmallDlg( void );
-void ShowTip( long flags );
+void ShowTip( void * flagsVP );
void CreateAboutW( void *ptr );
#endif
diff --git a/app/bin/svgformat.c b/app/bin/svgformat.c
new file mode 100644
index 0000000..2c57da0
--- /dev/null
+++ b/app/bin/svgformat.c
@@ -0,0 +1,677 @@
+/** \file svgformat.c
+* Formatting of SVG commands and parameters.
+*/
+
+/* XTrkCad - Model Railroad CAD
+* Copyright (C)2021 Martin Fischer
+*
+* This program is free software; you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; either version 2 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+#define _USE_MATH_DEFINES
+#include <math.h>
+#include <stdarg.h>
+#include <string.h>
+#include <stdio.h>
+
+#ifdef HAVE_MALLOC_H
+ #include <malloc.h>
+#endif
+
+#include "dynstring.h"
+#include "mxml.h"
+#include "include/svgformat.h"
+#include "include/utlist.h"
+
+#define SVGDPIFACTOR 90.0 /**< the assumed resolution of the svg, 90 is what Inkscape uses */
+#define ROUND2PIXEL( value ) ((int)floor(value * SVGDPIFACTOR + 0.5))
+
+typedef struct sCssStyle {
+ DynString name;
+ DynString style;
+ struct sCssStyle *next;
+} sCssStyle;
+
+static sCssStyle *styleCache = NULL;
+static unsigned cacheCount;
+
+static char *lineStyleCSS[] = { /**< The css class names for line styles */
+ NULL, // no style needed for solid line
+ "linedash",
+ "linedot",
+ "linedashdot",
+ "linedashdot",
+ "linecenter",
+ "linephantom"
+};
+
+#define LINESTYLECLASSES \
+ ".linedash{ stroke-dasharray: 25px 15px; } \n" \
+ ".linedot{ stroke-dasharray: 5px 10px; } \n" \
+ ".linedashdot{ stroke-dasharray: 25px 10px 5px 10px; } \n" \
+ ".linedashdotdot{ stroke-dasharray: 25px 10px 5px 10px 5px 10px; } \n" \
+ ".linecenter{ stroke-dasharray: 40px 15px 25px 15px; } \n" \
+ ".linephantom{ stroke-dasharray: 40px 15px 25px 15px 25px 15px; } \n"
+
+
+/**
+ * Initialize style cache. Memory is allocated and the default style added
+ */
+
+static void
+SvgInitStyleCache(void)
+{
+ sCssStyle *style;
+
+ style = malloc(sizeof(sCssStyle));
+ DynStringMalloc(&(style->name), 2);
+ DynStringCatCStr(&(style->name), "*");
+
+ DynStringMalloc(&(style->style), 16);
+ DynStringCatCStr(&(style->style), "stroke-width:1; stroke:#000000; fill:none;");
+ LL_APPEND(styleCache, style);
+
+ cacheCount = 1;
+}
+
+static int
+CompareStyle(sCssStyle *a, sCssStyle *b)
+{
+ return (strcmp(DynStringToCStr(&(a->style)), DynStringToCStr(&(b->style))));
+}
+
+/**
+ * Add style to cache. If an identical style definition can be found in the
+ * cache, the class name is returned.
+ * If no previous definition is in the cache, a new one is contructed and
+ * stored in the cache. The new class name is returned
+ *
+ * \param [in] styleDef style definition.
+ *
+ * \returns Null if default style can be used, else the class name
+ */
+
+static char *
+SvgAddStyleToCache(DynString *styleDef)
+{
+ sCssStyle *style;
+ sCssStyle *result;
+
+ style = malloc(sizeof(sCssStyle));
+ style->style = *styleDef;
+
+ LL_SEARCH(styleCache, result, style, CompareStyle);
+ if (result) {
+ if (!strcmp(DynStringToCStr(&(result->name)), "*")) {
+ return (NULL);
+ } else {
+ return (DynStringToCStr(&(result->name)) + 1);
+ }
+ } else {
+ DynString className;
+ DynStringMalloc(&className, 16);
+ DynStringPrintf(&className, ".xtc%u", cacheCount++);
+ style->name = className;
+ LL_APPEND(styleCache, style);
+ return (DynStringToCStr(&className) + 1); //skip leading dot in class name
+ }
+}
+
+/**
+ * destroy style cache freeing all memory allocated
+ */
+
+static void
+SvgDestroyStyleCache(void)
+{
+ sCssStyle *style;
+ sCssStyle *tmp;
+
+ LL_FOREACH_SAFE(styleCache, style, tmp) {
+ DynStringFree(&(style->name));
+ DynStringFree(&(style->style));
+ free(style);
+ }
+
+ styleCache = NULL;
+}
+
+/**
+ * Svg create style, add to the cache and the associated CSS class name to the element
+ *
+ * \param element SVG element
+ * \param colorRGB RGB value
+ * \param width line width
+ * \param fill true to fill
+ */
+
+static void
+SvgCreateStyle(mxml_node_t *element, unsigned long colorRGB, double width,
+ bool fill, unsigned lineStyle)
+{
+ DynString style;
+ char color[10];
+ char *className = NULL;
+ char *classLineStyle = NULL;
+
+ assert(lineStyle < 7);
+
+ sprintf(color, "#%2.2x%2.2x%2.2x", ((unsigned int)colorRGB >> 16) & 0xFF,
+ ((unsigned int)colorRGB >> 8) & 0xFF, (unsigned int)colorRGB & 0xFF);
+
+ DynStringMalloc(&style, 32);
+
+ DynStringPrintf(&style,
+ "stroke-width:%d; stroke:%s; fill:%s;",
+ (int)(width + 0.5),
+ color,
+ (fill ? color: "none"));
+
+ className = SvgAddStyleToCache(&style);
+ classLineStyle = lineStyleCSS[lineStyle];
+
+ if (className && classLineStyle) {
+ mxmlElementSetAttrf(element, "class", "%s %s", className, classLineStyle);
+ } else {
+ if (className || classLineStyle) {
+ mxmlElementSetAttr(element, "class", (className? className:classLineStyle));
+ } else {
+ // strict default, nothing to add
+ }
+ }
+}
+
+/**
+ * add real unit, ie. units that are specified in pixels. Rounding is performed
+ *
+ * \param [in,out] node If non-null, the node.
+ * \param [in,out] name If non-null, the name.
+ * \param value the dimension in pixels
+ */
+
+static void
+SvgAddRealUnit(mxml_node_t *node, char *name, double value)
+{
+ mxmlElementSetAttrf(node, name, "%d", (int)(value+0.5));
+}
+
+/**
+* Format a dimension and add to XML node as an attribute.
+* A fictional value for the resolution is assumed. As final
+* rendering is done by the client, this is not really relevant.
+*
+* \PARAM [in, out] node the XML node
+* \PARAM [in] name name of attribute
+* \param [in] value size
+*/
+
+static void
+SvgAddCoordinate(mxml_node_t *node, char *name, double value)
+{
+ mxmlElementSetAttrf(node, name, "%d", ROUND2PIXEL(value));
+}
+
+/**
+ * Svg line command
+ * \param [in] svg the svg parent.
+ * \param x0 The x coordinate 0.
+ * \param y0 The y coordinate 0.
+ * \param x1 The first x value.
+ * \param y1 The first y value.
+ * \param w A wDrawWidth to process.
+ * \param c RGB color definition.
+ * \param lineStyle line style.
+ */
+
+void
+SvgLineCommand(SVGParent *svg, double x0,
+ double y0, double x1, double y1, double w, long c, unsigned lineStyle)
+{
+ mxml_node_t *xmlData;
+
+ xmlData = mxmlNewElement(svg, "line");
+
+ // line end points
+ SvgAddCoordinate(xmlData, "x1", x0);
+ SvgAddCoordinate(xmlData, "y1", y0);
+ SvgAddCoordinate(xmlData, "x2", x1);
+ SvgAddCoordinate(xmlData, "y2", y1);
+
+ SvgCreateStyle(xmlData, c, w, false, lineStyle);
+}
+
+/**
+ * Svg rectangle command
+ *
+ * \param [in] svg If non-null, the svg.
+ * \param x0 The x coordinate 0.
+ * \param y0 The y coordinate 0.
+ * \param x1 The first x value.
+ * \param y1 The first y value.
+ * \param color The color.
+ * \param fill Specifies the fill options.
+ */
+
+void
+SvgRectCommand(SVGParent *svg, double x0, double y0, double x1, double y1,
+ int color, unsigned lineStyle)
+{
+ mxml_node_t *xmlData;
+
+ xmlData = mxmlNewElement(svg, "rect");
+
+ // line end points
+ SvgAddCoordinate(xmlData, "x1", x0);
+ SvgAddCoordinate(xmlData, "y1", y0);
+ SvgAddCoordinate(xmlData, "x2", x1);
+ SvgAddCoordinate(xmlData, "y2", y1);
+
+ SvgCreateStyle(xmlData, color, 1, false, lineStyle);
+
+}
+
+/**
+ * Svg polygon line command
+ *
+ * \param [in] svg If non-null, the svg.
+ * \param cnt Number of point.
+ * \param [in] points If non-null, the points.
+ * \param color The line and fill color.
+ * \param width The line width.
+ * \param lineStyle The line style.
+ * \param fill True to fill.
+ */
+
+void
+SvgPolyLineCommand(SVGParent *svg, int cnt, double *points, int color,
+ double width, bool fill, unsigned lineStyle)
+{
+ mxml_node_t *xmlData;
+ DynString pointList;
+ DynString pos;
+
+ DynStringMalloc(&pointList, 64);
+ DynStringMalloc(&pos, 20);
+
+
+ for (int i = 0; i < cnt; i++) {
+ DynStringPrintf(&pos,
+ "%d,%d ",
+ (int)floor(points[i * 2] * SVGDPIFACTOR + 0.5),
+ (int)floor(points[ i * 2 + 1] * SVGDPIFACTOR + 0.5));
+
+ DynStringCatStr(&pointList, &pos);
+ DynStringClear(&pos);
+ }
+
+ xmlData = mxmlNewElement(svg, "polyline");
+ mxmlElementSetAttr(xmlData, "points", DynStringToCStr(&pointList));
+
+ SvgCreateStyle(xmlData, color, width, fill, lineStyle);
+
+ DynStringFree(&pos);
+ DynStringFree(&pointList);
+}
+
+/**
+ * Format a complete CIRCLE command
+ *
+ * \param [in] svg OUT buffer for the completed command.
+ * \param x x position of center.
+ * \param y y position of center point.
+ * \param r radius.
+ * \param w width
+ * \param c color
+ * \param lineStyle The line style.
+ * \param fill True to fill.
+ */
+
+void
+SvgCircleCommand(SVGParent *svg, double x,
+ double y, double r, double w, long c, bool fill, unsigned lineStyle)
+{
+ mxml_node_t *xmlData;
+
+ xmlData = mxmlNewElement(svg, "circle");
+
+ // line end points
+ SvgAddCoordinate(xmlData, "cx", x);
+ SvgAddCoordinate(xmlData, "cy", y);
+
+ SvgAddCoordinate(xmlData, "r", r);
+
+ SvgCreateStyle(xmlData, c, w, fill, lineStyle);
+
+}
+
+/**
+ * Polar to cartesian
+ *
+ * \param cx x coordinate of center.
+ * \param cy y coordinate of center
+ * \param radius radius.
+ * \param angle angle.
+ * \param [out] px resulting x coordinate
+ * \param [out] py resulting y coordinate
+ */
+
+static void
+PolarToCartesian(double cx, double cy, double radius, double angle, double *px,
+ double *py)
+{
+ double angleInRadians = ((angle) * M_PI) / 180.0;
+
+ *px = cx + (radius * cos(angleInRadians));
+ *py = cy + (radius * sin(angleInRadians));
+}
+
+/**
+ * Format an arc as a SVG path See
+ * https://stackoverflow.com/questions/5736398/how-to-calculate-the-svg-path-for-an-arc-of-a-circle
+ *
+ * \param [in] svg the svg document.
+ * \param x y IN center point.
+ * \param y The y coordinate.
+ * \param r IN radius.
+ * \param a0 IN starting angle.
+ * \param a1 IN ending angle.
+ * \param center IN draw center mark if true.
+ * \param w line width.
+ * \param c line color.
+ * \param lineStyle line style.
+ */
+
+void
+SvgArcCommand(SVGParent *svg, double x, double y,
+ double r, double a0, double a1, bool center, double w, long c,
+ unsigned lineStyle)
+{
+ double startX;
+ double startY;
+ double endX;
+ double endY;
+ char largeArcFlag = (a1 - a0 <= 180 ? '0' : '1');
+ DynString pathArc;
+ mxml_node_t *xmlData;
+
+ xmlData = mxmlNewElement(svg, "path");
+
+ PolarToCartesian(x, y, r, a0+a1-90, &startX, &startY);
+ PolarToCartesian(x, y, r, a0-90, &endX, &endY);
+
+ DynStringMalloc(&pathArc, 64);
+ DynStringPrintf(&pathArc,
+ "M %d %d A %d %d 0 %c 0 %d %d",
+ ROUND2PIXEL(startX),
+ ROUND2PIXEL(startY),
+ ROUND2PIXEL(r),
+ ROUND2PIXEL(r),
+ largeArcFlag,
+ ROUND2PIXEL(endX),
+ ROUND2PIXEL(endY));
+
+ mxmlElementSetAttr(xmlData, "d", DynStringToCStr(&pathArc));
+
+ DynStringFree(&pathArc);
+
+ SvgCreateStyle(xmlData, c, w, false, lineStyle);
+}
+
+/**
+ * Create SVG text command
+ *
+ * \param [in] svg If non-null, the svg.
+ * \param x The x coordinate.
+ * \param y The y coordinate.
+ * \param size The fontsize.
+ * \param c the text color
+ * \param [in] text text in UTF-8 format
+ */
+
+void
+SvgTextCommand(SVGParent *svg, double x,
+ double y, double size, long c, char *text)
+{
+ mxml_node_t *xmlData;
+
+ xmlData = mxmlNewElement(svg, "text");
+ // starting point
+ SvgAddCoordinate(xmlData, "x", x);
+ SvgAddCoordinate(xmlData, "y", y);
+
+ SvgCreateStyle(xmlData, c, 1, 1, 0);
+
+ SvgAddRealUnit(xmlData, "font-size", size);
+
+ mxmlNewText(xmlData, false, text);
+}
+
+/**
+ * Add title to SVG document
+ *
+ * \param [in] svg svg
+ * \param [in] title If non-null, the title.
+ */
+
+void
+SvgAddTitle(SVGParent *svg, char *title)
+{
+ mxml_node_t *titleNode;
+ if (title) {
+ titleNode = mxmlNewElement(MXML_NO_PARENT, "title");
+ mxmlNewText(titleNode, false, title);
+
+ mxmlAdd(svg, MXML_ADD_BEFORE, MXML_ADD_TO_PARENT, titleNode);
+ }
+}
+
+/**
+ * Add CSS style definitions to the SVG file. CSS definitions are
+ * created from the options of the drawing commands. As a final step
+ * in creation of the SVG file, these definitions have to be added.
+ * For compatibility reasons the styles have to be defined before
+ * first use.
+ *
+ * \param [in] svg the svg.
+ */
+
+void
+SvgAddCSSStyle(SVGParent *svg)
+{
+ mxml_node_t *cssNode;
+ DynString cssDefs;
+ DynString tmp;
+ sCssStyle *style;
+
+ cssNode = mxmlNewElement(MXML_NO_PARENT, "style");
+ mxmlElementSetAttr(cssNode, "type", "text/css");
+
+ DynStringMalloc(&cssDefs, 64);
+ DynStringMalloc(&tmp, 64);
+ LL_FOREACH(styleCache, style) {
+ DynStringPrintf(&tmp, "%s { %s }\n",
+ DynStringToCStr(&(style->name)),
+ DynStringToCStr(&(style->style)));
+
+ DynStringCatStr(&cssDefs, &tmp);
+ }
+
+ DynStringCatCStr(&cssDefs, LINESTYLECLASSES);
+ mxmlNewCDATA(cssNode, DynStringToCStr(&cssDefs));
+
+ mxmlAdd(svg, MXML_ADD_BEFORE, MXML_ADD_TO_PARENT, cssNode);
+ DynStringFree(&tmp);
+ DynStringFree(&cssDefs);
+}
+
+/**
+ * Svg create document
+ *
+ * \returns An XMLDocument.
+ */
+
+SVGDocument *
+SvgCreateDocument()
+{
+ SvgInitStyleCache();
+
+ return ((SVGDocument *)mxmlNewXML("1.0"));
+}
+
+/**
+ * Svg destroy document freeing the memory used by the XML tree
+ *
+ * \param [in] xml the XML document
+ */
+
+void
+SvgDestroyDocument(SVGDocument *xml)
+{
+ mxmlDelete((mxml_node_t *)xml);
+
+ SvgDestroyStyleCache();
+}
+
+/**
+ * Create the complete prologue for a SVG file.
+ *
+ * \param [in] parent the document handle.
+ * \param [in] id If non-null, the identifier.
+ * \param layerCount IN count of defined layers.
+ * \param x0 y0 IN minimum (left bottom) position.
+ * \param y0 y1 IN maximum (top right) position.
+ * \param x1 The first x value.
+ * \param y1 The first y value.
+ *
+ * \returns Null if it fails, else a pointer to a SVGParent.
+ */
+
+SVGParent *
+SvgPrologue(SVGDocument *parent, char *id, int layerCount, double x0, double y0,
+ double x1,
+ double y1)
+{
+ mxml_node_t *xmlData;
+
+ xmlData = mxmlNewElement(parent,
+ "!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\""
+ " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"");
+ xmlData = mxmlNewElement(parent, "svg");
+ mxmlElementSetAttr(xmlData, "xmlns", "http://www.w3.org/2000/svg");
+
+ if (id) {
+ mxmlElementSetAttr(xmlData, "id", id);
+ }
+ SvgAddCoordinate(xmlData, "x", x0);
+ SvgAddCoordinate(xmlData, "y", y0);
+ SvgAddCoordinate(xmlData, "width", x1);
+ SvgAddCoordinate(xmlData, "height", y1);
+
+ return ((SVGParent *)xmlData);
+}
+
+/**
+ * Add formatting to the resulting document by adding whitespace
+ *
+ * \param node to be formatted
+ * \param see minixml docu, position in XML tag
+ *
+ * \returns Null if it no character to add, else a pointer to the additional chars.
+ */
+
+const char *
+whitespace_cb(mxml_node_t *node, int where)
+{
+ const char *element;
+
+ /*
+ * We can conditionally break to a new line before or after
+ * any element. These are just common HTML elements...
+ */
+
+ element = mxmlGetElement(node);
+
+ if (!strcmp(element, "svg") ||
+ !strncmp(element, "!DOCTYPE", strlen("!DOCTYPE"))) {
+ /*
+ * Newlines before open and after close...
+ */
+
+ if (where == MXML_WS_BEFORE_OPEN ||
+ where == MXML_WS_BEFORE_CLOSE) {
+ return ("\n");
+ }
+ } else {
+ if (!strcmp(element, "line") ||
+ !strcmp(element, "circle") ||
+ !strcmp(element, "path") ||
+ !strcmp(element, "polyline")) {
+ if (where == MXML_WS_BEFORE_OPEN ||
+ where == MXML_WS_AFTER_CLOSE) {
+ return ("\n\t");
+ }
+ } else {
+ if (!strcmp(element, "style") ||
+ !strcmp(element, "title") ||
+ !strcmp(element, "text")) {
+ if (where == MXML_WS_BEFORE_OPEN) {
+ return ("\n\t");
+ } else {
+ if (where == MXML_WS_AFTER_OPEN) {
+ return ("\n\t\t");
+ } else {
+ if (where == MXML_WS_AFTER_CLOSE) {
+ return ("");
+ } else {
+ return ("\n\t");
+ }
+ }
+ }
+
+ }
+ }
+ }
+
+ /*
+ * Otherwise return NULL for no added whitespace...
+ */
+
+ return (NULL);
+}
+
+/**
+ * Svg save file
+ *
+ * \param [in] svg the svg document.
+ * \param [in] filename filename of the file.
+ *
+ * \returns True if it succeeds, false if it fails.
+ */
+
+bool
+SvgSaveFile(SVGDocument *svg, char *filename)
+{
+ FILE *svgF;
+
+ svgF = fopen(filename, "w");
+ if (svgF) {
+ mxmlSetWrapMargin(0);
+ mxmlSaveFile(svg, svgF, whitespace_cb);
+ fclose(svgF);
+
+ return (true);
+ }
+ return (false);
+}
diff --git a/app/bin/svgoutput.c b/app/bin/svgoutput.c
new file mode 100644
index 0000000..a8224be
--- /dev/null
+++ b/app/bin/svgoutput.c
@@ -0,0 +1,490 @@
+/** \file svgoutput.c
+ * Exporting SVG files
+*/
+
+/* XTrkCad - Model Railroad CAD
+ * Copyright (C) 2020 Martin Fischer
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <time.h>
+#ifdef WINDOWS
+ #include <io.h>
+ #define UTFCONVERT
+#else
+ #include <errno.h>
+#endif
+
+#include <xtrkcad-config.h>
+#include <locale.h>
+#include <assert.h>
+#include <mxml.h>
+#include <dynstring.h>
+
+#include "cselect.h"
+#include "custom.h"
+#include "draw.h"
+#include "include/svgformat.h"
+#include "fileio.h"
+#include "i18n.h"
+#include "layout.h"
+#include "messages.h"
+#include "paths.h"
+#include "track.h"
+#include "include/utf8convert.h"
+#include "utility.h"
+#include "wlib.h"
+
+static struct wFilSel_t * exportSVGFile_fs;
+static coOrd roomSize;
+
+/**
+ * get line style for element
+ *
+ * \param d drawCmd_p to process.
+ *
+ * \returns the line style
+ */
+
+static unsigned
+SvgDrawGetLineStyle(drawCmd_p d)
+{
+ unsigned long notSolid = DC_NOTSOLIDLINE;
+ unsigned long opt = d->options & notSolid;
+ unsigned lineOpt;
+
+ switch (opt) {
+ case DC_DASH:
+ lineOpt = wDrawLineDash;
+ break;
+ case DC_DOT:
+ lineOpt = wDrawLineDot;
+ break;
+ case DC_DASHDOT:
+ lineOpt = wDrawLineDashDot;
+ break;
+ case DC_DASHDOTDOT:
+ lineOpt = wDrawLineDashDotDot;
+ break;
+ case DC_CENTER:
+ lineOpt = wDrawLineCenter;
+ break;
+ case DC_PHANTOM:
+ lineOpt = wDrawLinePhantom;
+ break;
+ default:
+ lineOpt = wDrawLineSolid;
+ break;
+ }
+
+ return (lineOpt);
+}
+
+/**
+ * Svg draw line
+ *
+ * \param d A drawCmd_p to process.
+ * \param p0 The p 0.
+ * \param p1 The first coOrd.
+ * \param width The width.
+ * \param color The color.
+ */
+
+static void SvgDrawLine(
+ drawCmd_p d,
+ coOrd p0,
+ coOrd p1,
+ wDrawWidth width,
+ wDrawColor color)
+{
+ unsigned lineOpt = SvgDrawGetLineStyle(d);
+
+ width = (wDrawWidth)(width > MININMUMLINEWIDTH ? width : MININMUMLINEWIDTH);
+
+ SvgLineCommand((SVGParent *)(d->d),
+ p0.x, roomSize.y - p0.y,
+ p1.x, roomSize.y - p1.y,
+ (double)width,
+ wDrawGetRGB(color),
+ lineOpt);
+}
+
+/**
+ * Svg draw arc
+ *
+ * \param d A drawCmd_p to process.
+ * \param p A coOrd to process.
+ * \param r A DIST_T to process.
+ * \param angle0 The angle 0.
+ * \param angle1 The first angle.
+ * \param drawCenter The draw center.
+ * \param width The width.
+ * \param color The color.
+ */
+
+static void SvgDrawArc(
+ drawCmd_p d,
+ coOrd p,
+ DIST_T r,
+ ANGLE_T angle0,
+ ANGLE_T angle1,
+ BOOL_T drawCenter,
+ wDrawWidth width,
+ wDrawColor color)
+{
+ unsigned lineOpt = SvgDrawGetLineStyle(d);
+
+ if (angle1 >= 360.0) {
+ SvgCircleCommand((SVGParent *)(d->d),
+ p.x,
+ roomSize.y - p.y,
+ r,
+ (width > MININMUMLINEWIDTH ? width : MININMUMLINEWIDTH),
+ wDrawGetRGB(color),
+ false,
+ lineOpt);
+ } else {
+ SvgArcCommand((SVGParent *)(d->d),
+ p.x,
+ roomSize.y-p.y,
+ r,
+ angle0,
+ angle1,
+ drawCenter,
+ (width > MININMUMLINEWIDTH ? width: MININMUMLINEWIDTH),
+ wDrawGetRGB(color),
+ lineOpt);
+ }
+
+}
+
+/**
+ * Svg draw string. Perform conversion to UTF-8 if required.
+ *
+ * \param d A drawCmd_p to process.
+ * \param p position of text
+ * \param a text angle
+ * \param [in,out] s the string
+ * \param fp font definition (ignored)
+ * \param fontSize Size of the font.
+ * \param color color.
+ */
+
+static void SvgDrawString(
+ drawCmd_p d,
+ coOrd p,
+ ANGLE_T a,
+ char * s,
+ wFont_p fp,
+ FONTSIZE_T fontSize,
+ wDrawColor color)
+{
+ char *text = MyStrdup(s);
+
+#ifdef UTFCONVERT
+ text = Convert2UTF8(text);
+#endif // UTFCONVERT
+
+ SvgTextCommand((SVGParent *)(d->d),
+ p.x,
+ roomSize.y - p.y,
+ fontSize,
+ wDrawGetRGB(color),
+ text);
+
+ MyFree(text);
+}
+
+/**
+ * Svg draw bitmap
+ *
+ * \param d A drawCmd_p to process.
+ * \param p A coOrd to process.
+ * \param bm The bm.
+ * \param color The color.
+ */
+
+static void SvgDrawBitmap(
+ drawCmd_p d,
+ coOrd p,
+ wDrawBitMap_p bm,
+ wDrawColor color)
+{
+}
+
+/**
+ * Svg draw fill polygon
+ *
+ * \param d A drawCmd_p to process.
+ * \param cnt Number of points in polyline.
+ * \param [in,out] pts the coordinates
+ * \param [in,out] pointer If non-null, the pointer.
+ * \param color color.
+ * \param width line width.
+ * \param fillStyle fill style.
+ */
+
+static void SvgDrawFillPoly(
+ drawCmd_p d,
+ int cnt,
+ coOrd * pts,
+ int * pointer,
+ wDrawColor color, wDrawWidth width, drawFill_e fillStyle)
+{
+ int i;
+ double *points = malloc((cnt + 1) * 2 * sizeof(double));
+
+ unsigned lineOpt = SvgDrawGetLineStyle(d);
+
+ if (!points) {
+ puts("memory for poly line coordinates could not be allocated!");
+ abort();
+ }
+ for (i = 0; i < cnt; i++) {
+ points[i * 2] = pts[i].x;
+ points[i * 2 + 1] = roomSize.y - pts[i].y;
+ }
+
+ if (fillStyle == DRAW_CLOSED || fillStyle == DRAW_FILL) {
+ points[i * 2] = points[0];
+ points[i * 2 + 1] = points[1];
+ cnt++;
+ }
+
+ width = (wDrawWidth)(width > MININMUMLINEWIDTH ? width : MININMUMLINEWIDTH);
+ SvgPolyLineCommand((SVGParent *)(d->d), cnt, points, wDrawGetRGB(color),
+ (double)width, fillStyle == DRAW_FILL, lineOpt);
+
+ free(points);
+}
+
+/**
+ * Svg draw filled circle
+ *
+ * \param d A drawCmd_p to process.
+ * \param center The center.
+ * \param radius The radius.
+ * \param color The fill color.
+ */
+
+static void SvgDrawFillCircle(drawCmd_p d, coOrd center, DIST_T radius,
+ wDrawColor color)
+{
+ SvgCircleCommand((SVGParent *)(d->d),
+ center.x,
+ roomSize.y - center.y,
+ radius,
+ 0,
+ wDrawGetRGB(color),
+ true,
+ 0);
+}
+
+/**
+ * Svg draw rectangle
+ *
+ * \param d A drawCmd_p to process.
+ * \param corner1 The first corner.
+ * \param corner2 The second corner.
+ * \param color The color.
+ * \param pattern Specifies the pattern.
+ */
+
+static void
+SvgDrawRectangle(drawCmd_p d, coOrd corner1, coOrd corner2, wDrawColor color,
+ drawFill_e fillOpt)
+{
+ SvgRectCommand((SVGParent *)(d->d),
+ corner1.x, roomSize.y - corner1.y,
+ corner2.x, roomSize.y - corner2.y,
+ wDrawGetRGB(color),
+ fillOpt);
+}
+
+static drawFuncs_t svgDrawFuncs = {
+ SvgDrawLine,
+ SvgDrawArc,
+ SvgDrawString,
+ SvgDrawBitmap,
+ SvgDrawFillPoly,
+ SvgDrawFillCircle,
+ SvgDrawRectangle
+};
+
+static drawCmd_t svgD = {
+ NULL, &svgDrawFuncs, 0, 1.0, 0.0, {0.0,0.0}, {0.0,0.0}, Pix2CoOrd, CoOrd2Pix, 100.0
+};
+
+/**
+ * Creates valid identifier from a string. Whitespaces are removed
+ * and characters are prepended to make sure the i starts with
+ * valid chars.
+ * https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/id
+ *
+ * \param [in,out] base the base for the id.
+ *
+ * \returns Null if it fails, else the new valid identifier.
+ */
+
+static char *
+CreateValidId(char *base)
+{
+ const char *idHead = "id";
+ char *out = MyMalloc(strlen(idHead) + strlen(base) + 1);
+ char *tmp;
+ int j;
+
+ strcpy(out, idHead);
+ j = strlen(out);
+
+ for (unsigned int i = 0; i < strlen(base); i++) {
+ if (isblank(base[i])) {
+ i++;
+ } else {
+ out[j++] = base[i];
+ }
+ }
+
+ out[j] = '\0';
+
+ // strip off the extension
+ tmp = strchr(out, '.');
+ if (tmp) {
+ *tmp = '\0';
+ }
+ return (out);
+}
+
+/**
+ * get a valid identifier for SVG export
+ *
+ * \returns Null if it fails, else a pointer to a char.
+ */
+
+static char * SvgGetId(void)
+{
+ char *fileName = GetLayoutFilename();
+ char *id = NULL;
+
+ if (fileName) {
+ id = CreateValidId(fileName);
+#ifdef UTFCONVERT
+ id = Convert2UTF8(id);
+#endif
+ }
+
+ return (id);
+}
+
+/**
+ * Set title for SVG file
+ * The first title line of the design is used and stored in the SVG file
+ *
+ * \param d A drawCmd_p to process.
+ */
+
+static void SvgSetTitle(drawCmd_p d)
+{
+ char *tmp = GetLayoutTitle();
+ char *title;
+
+ if (tmp) {
+ title = MyStrdup(tmp);
+#ifdef UTFCONVERT
+ title = Convert2UTF8(title);
+#endif
+ SvgAddTitle((SVGParent *)(d->d), title);
+ MyFree(title);
+ }
+
+}
+
+/**
+ * Executes the export tracks to SVG operation
+ *
+ * \param cnt Number of filenames, has to be 1
+ * \param [in] fileName filename of the export file.
+ * \param [in] data If non-null, the data.
+ *
+ * \returns TRUE on success, FALSE on failure
+ */
+
+static int DoExportSVGTracks(
+ int cnt,
+ char ** fileName,
+ void * data)
+{
+ DynString command = NaS;
+ SVGDocument *svg;
+ SVGParent *svgData;
+ char *id;
+
+ assert(fileName != NULL);
+ assert(cnt == 1);
+
+ SetCLocale();
+ GetLayoutRoomSize(&roomSize);
+
+ SetCurrentPath(SVGPATHKEY, fileName[ 0 ]);
+
+ svg = SvgCreateDocument();
+ id = SvgGetId();
+ svgData = SvgPrologue(svg, id, 0, 0.0, 0.0, roomSize.x, roomSize.y);
+ MyFree(id);
+
+ wSetCursor(mainD.d, wCursorWait);
+// time(&clock);
+
+ svgD.d = (wDraw_p)svgData;
+
+ DrawSelectedTracks(&svgD);
+ SvgAddCSSStyle((SVGParent *)svgD.d);
+ SvgSetTitle(&svgD); // make sure this is the last element
+
+ if (!SvgSaveFile(svg, fileName[0])) {
+ NoticeMessage(MSG_OPEN_FAIL, _("Cancel"), NULL, "SVG", fileName[0],
+ strerror(errno));
+
+ SvgDestroyDocument(svg);
+ wSetCursor(mainD.d, wCursorNormal);
+ SetUserLocale();
+ return FALSE;
+ }
+ SvgDestroyDocument(svg);
+ Reset(); /**<TODO: was tut das? */
+ wSetCursor(mainD.d, wCursorNormal);
+ SetUserLocale();
+ return TRUE;
+}
+
+/**
+ * Create and show the dialog for selecting the DXF export filename
+ */
+
+void DoExportSVG(void)
+{
+ assert(selectedTrackCount > 0);
+
+ if (exportSVGFile_fs == NULL)
+ exportSVGFile_fs = wFilSelCreate(mainW, FS_SAVE, 0, _("Export to SVG"),
+ sSVGFilePattern, DoExportSVGTracks, NULL);
+
+ wFilSelect(exportSVGFile_fs, GetCurrentPath(SVGPATHKEY));
+}
+
+
diff --git a/app/bin/tbezier.c b/app/bin/tbezier.c
index fc949a2..53b625e 100644
--- a/app/bin/tbezier.c
+++ b/app/bin/tbezier.c
@@ -41,23 +41,15 @@
#include "ccurve.h"
#include "cstraigh.h"
#include "cjoin.h"
-#include "utility.h"
-#include "i18n.h"
#include "param.h"
-#include "math.h"
-#include "string.h"
#include "cundo.h"
#include "layout.h"
#include "fileio.h"
-#include "assert.h"
+#include "trackx.h"
EXPORT TRKTYP_T T_BEZIER = -1;
EXPORT TRKTYP_T T_BZRLIN = -1;
-struct extraData {
- BezierData_t bezierData;
- };
-
static int log_bezier = 0;
static DIST_T GetLengthBezier( track_p );
@@ -71,15 +63,15 @@ static DIST_T GetLengthBezier( track_p );
/*
* Run after any changes to the Bezier points
*/
-EXPORT void FixUpBezier(coOrd pos[4], struct extraData* xx, BOOL_T track) {
- xx->bezierData.a0 = NormalizeAngle(FindAngle(pos[1], pos[0]));
- xx->bezierData.a1 = NormalizeAngle(FindAngle(pos[2], pos[3]));
-
- ConvertToArcs(pos, &xx->bezierData.arcSegs, track, xx->bezierData.segsColor,
- xx->bezierData.segsWidth);
- xx->bezierData.minCurveRadius = BezierMinRadius(pos,
- xx->bezierData.arcSegs);
- xx->bezierData.length = BezierLength(pos, xx->bezierData.arcSegs);
+EXPORT void FixUpBezier(coOrd pos[4], struct extraDataBezier_t * xx, BOOL_T track) {
+ xx->a0 = NormalizeAngle(FindAngle(pos[1], pos[0]));
+ xx->a1 = NormalizeAngle(FindAngle(pos[2], pos[3]));
+
+ ConvertToArcs(pos, &xx->arcSegs, track, xx->segsColor,
+ xx->segsWidth);
+ xx->minCurveRadius = BezierMinRadius(pos,
+ xx->arcSegs);
+ xx->length = BezierLength(pos, xx->arcSegs);
}
/*
@@ -115,21 +107,22 @@ static void GetBezierAngles( ANGLE_T *a0, ANGLE_T *a1, track_p trk )
}
-static void ComputeBezierBoundingBox( track_p trk, struct extraData * xx )
+static void ComputeBezierBoundingBox( track_p trk, struct extraDataBezier_t * xx )
{
coOrd hi, lo;
- hi.x = lo.x = xx->bezierData.pos[0].x;
- hi.y = lo.y = xx->bezierData.pos[0].y;
+ hi.x = lo.x = xx->pos[0].x;
+ hi.y = lo.y = xx->pos[0].y;
for (int i=1; i<=3;i++) {
- hi.x = hi.x < xx->bezierData.pos[i].x ? xx->bezierData.pos[i].x : hi.x;
- hi.y = hi.y < xx->bezierData.pos[i].y ? xx->bezierData.pos[i].y : hi.y;
- lo.x = lo.x > xx->bezierData.pos[i].x ? xx->bezierData.pos[i].x : lo.x;
- lo.y = lo.y > xx->bezierData.pos[i].y ? xx->bezierData.pos[i].y : lo.y;
+ hi.x = hi.x < xx->pos[i].x ? xx->pos[i].x : hi.x;
+ hi.y = hi.y < xx->pos[i].y ? xx->pos[i].y : hi.y;
+ lo.x = lo.x > xx->pos[i].x ? xx->pos[i].x : lo.x;
+ lo.y = lo.y > xx->pos[i].y ? xx->pos[i].y : lo.y;
}
SetBoundingBox( trk, hi, lo );
}
+static DIST_T DistanceBezier( track_p t, coOrd * p );
DIST_T BezierDescriptionDistance(
coOrd pos,
@@ -138,20 +131,31 @@ DIST_T BezierDescriptionDistance(
BOOL_T show_hidden,
BOOL_T * hidden)
{
- struct extraData *xx = GetTrkExtraData(trk);
coOrd p1;
if (hidden) *hidden = FALSE;
if ( GetTrkType( trk ) != T_BEZIER || ((( GetTrkBits( trk ) & TB_HIDEDESC ) != 0 ) && !show_hidden))
- return 100000;
-
- coOrd offset = xx->bezierData.descriptionOff;
+ return DIST_INF;
+
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(trk, T_BEZIER, extraDataBezier_t);
+ if (( GetTrkBits( trk ) & TB_HIDEDESC ) != 0 ) xx->descriptionOff = zero;
+
+ coOrd end0, end0off, end1, end1off;
+ end0 = xx->pos[0];
+ end1 = xx->pos[3];
+ ANGLE_T a;
+ a = FindAngle(end0,end1);
+ Translate(&end0off,end0,a+90,xx->descriptionOff.y);
+ Translate(&end1off,end1,a+90,xx->descriptionOff.y);
- if (( GetTrkBits( trk ) & TB_HIDEDESC ) != 0 ) offset = zero;
+ p1.x = (end1off.x - end0off.x)*(xx->descriptionOff.x+0.5) + end0off.x;
+ p1.y = (end1off.y - end0off.y)*(xx->descriptionOff.x+0.5) + end0off.y;
- p1.x = xx->bezierData.pos[0].x + ((xx->bezierData.pos[3].x-xx->bezierData.pos[0].x)/2) + offset.x;
- p1.y = xx->bezierData.pos[0].y + ((xx->bezierData.pos[3].y-xx->bezierData.pos[0].y)/2) + offset.y;
if (hidden) *hidden = (GetTrkBits( trk ) & TB_HIDEDESC);
*dpos = p1;
+
+ coOrd tpos = pos;
+ if (DistanceBezier(trk,&tpos)<FindDistance( p1, pos ))
+ return DistanceBezier(trk,&pos);
return FindDistance( p1, pos );
}
@@ -161,22 +165,37 @@ static void DrawBezierDescription(
drawCmd_p d,
wDrawColor color )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
wFont_p fp;
- coOrd pos;
+ coOrd epos0,epos1;
if (layoutLabels == 0)
return;
if ((labelEnable&LABELENABLE_TRKDESC)==0)
return;
- pos.x = xx->bezierData.pos[0].x + ((xx->bezierData.pos[3].x - xx->bezierData.pos[0].x)/2);
- pos.y = xx->bezierData.pos[0].y + ((xx->bezierData.pos[3].y - xx->bezierData.pos[0].y)/2);
- pos.x += xx->bezierData.descriptionOff.x;
- pos.y += xx->bezierData.descriptionOff.y;
+
+
+ epos0 = xx->pos[0];
+ epos1 = xx->pos[3];
+ ANGLE_T a = FindAngle(epos0,epos1);
+ Translate(&epos0,epos0,a+90,xx->descriptionOff.y);
+ Translate(&epos1,epos1,a+90,xx->descriptionOff.y);
fp = wStandardFont( F_TIMES, FALSE, FALSE );
- sprintf( message, _("Bezier: len=%0.2f min_rad=%0.2f"),
- xx->bezierData.length, xx->bezierData.minCurveRadius>10000?0.0:xx->bezierData.minCurveRadius);
- DrawBoxedString( BOX_BOX, d, pos, message, fp, (wFontSize_t)descriptionFontSize, color, 0.0 );
+ sprintf( message, _("Bez: L%s A%0.3f trk_len=%s min_rad=%s"),
+ FormatDistance(FindDistance(xx->pos[0],xx->pos[3])),
+ FindAngle(xx->pos[0],xx->pos[3]),
+ FormatDistance(xx->length), FormatDistance(xx->minCurveRadius>10000?0.0:xx->minCurveRadius));
+ DrawLine(d,xx->pos[0],epos0,0,color);
+ DrawLine(d,xx->pos[3],epos1,0,color);
+ DrawDimLine( d, epos0, epos1, message, (wFontSize_t)descriptionFontSize, xx->descriptionOff.x+0.5, 0, color, 0x00 );
+
+ if (GetTrkBits( trk ) & TB_DETAILDESC) {
+ coOrd details_pos;
+ details_pos.x = (epos1.x - epos0.x)*(xx->descriptionOff.x+0.5) + epos0.x;
+ details_pos.y = (epos1.y - epos0.y)*(xx->descriptionOff.x+0.5) + epos0.y -(2*descriptionFontSize/mainD.dpi);
+ AddTrkDetails(d, trk, details_pos, xx->length, color);
+ }
+
}
@@ -185,37 +204,22 @@ STATUS_T BezierDescriptionMove(
wAction_t action,
coOrd pos )
{
- struct extraData *xx = GetTrkExtraData(trk);
static coOrd p0,p1;
static BOOL_T editState = FALSE;
if (GetTrkType(trk) != T_BEZIER) return C_TERMINATE;
- p0.x = xx->bezierData.pos[0].x + ((xx->bezierData.pos[3].x - xx->bezierData.pos[0].x)/2);
- p0.y = xx->bezierData.pos[0].y + ((xx->bezierData.pos[3].y - xx->bezierData.pos[0].y)/2);
- switch (action) {
- case C_DOWN:
- DrawBezierDescription( trk, &mainD, wDrawColorWhite );
- case C_MOVE:
- case C_UP:
- editState = TRUE;
- p1 = pos;
- xx->bezierData.descriptionOff.x = pos.x - p0.x;
- xx->bezierData.descriptionOff.y = pos.y - p0.y;
- if (action == C_UP) {
- editState = FALSE;
- wDrawColor color = GetTrkColor( trk, &mainD );
- DrawBezierDescription( trk, &mainD, color );
- }
- return action==C_UP?C_TERMINATE:C_CONTINUE;
- case C_REDRAW:
- if (editState) {
- DrawBezierDescription( trk, &tempD, wDrawColorBlue );
- DrawLine( &tempD, p1, p0, 0, wDrawColorBlue );
- }
- break;
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(trk, T_BEZIER, extraDataBezier_t);
+ ANGLE_T ap;
+ coOrd end0, end1;
+ end0 = xx->pos[0];
+ end1 = xx->pos[3];
+ ap = NormalizeAngle(FindAngle(end0,pos)-FindAngle(end0,end1));
+
+ xx->descriptionOff.y = FindDistance(end0,pos)*sin(D2R(ap));
+ xx->descriptionOff.x = -0.5 + FindDistance(end0,pos)*cos(D2R(ap))/FindDistance(end0,end1);
+ if (xx->descriptionOff.x > 0.5) xx->descriptionOff.x = 0.5;
+ if (xx->descriptionOff.x < -0.5) xx->descriptionOff.x = -0.5;
-
- }
return C_CONTINUE;
}
@@ -265,49 +269,60 @@ static descData_t bezDesc[] = {
static void UpdateBezier( track_p trk, int inx, descData_p descUpd, BOOL_T final )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
BOOL_T updateEndPts;
EPINX_T ep;
ANGLE_T angle1, angle2;
+ BOOL_T is_Track = (GetTrkType(trk)==T_BEZIER);
if ( inx == -1 )
return;
updateEndPts = FALSE;
+ UndrawNewTrack( trk );
switch ( inx ) {
case P0:
- if (GetTrkEndTrk(trk,0)) break;
updateEndPts = TRUE;
- xx->bezierData.pos[0] = bezData.pos[0];
+ xx->pos[0] = bezData.pos[0];
+ xx->a0 = bezData.angle[1] = FindAngle(xx->pos[1],xx->pos[0]);
+ bezDesc[A0].mode |= DESC_CHANGE;
bezDesc[P0].mode |= DESC_CHANGE;
/* no break */
case P1:
- if (GetTrkEndTrk(trk,0) && GetTrkEndTrk(trk,1)) break;
updateEndPts = TRUE;
- xx->bezierData.pos[3]= bezData.pos[3];
+ xx->pos[3]= bezData.pos[3];
+ xx->a1 = bezData.angle[1] = FindAngle(xx->pos[2],xx->pos[3]);
+ bezDesc[A1].mode |= DESC_CHANGE;
bezDesc[P1].mode |= DESC_CHANGE;
break;
- case A0:
- case A1:
- break;
case CP1:
- if (GetTrkEndTrk(trk,0)) {
- angle1 = NormalizeAngle(GetTrkEndAngle(trk,0));
- angle2 = NormalizeAngle(FindAngle(bezData.pos[1], xx->bezierData.pos[0])-angle1);
- if (angle2 > 90.0 && angle2 < 270.0)
- Translate( &bezData.pos[1], xx->bezierData.pos[0], angle1, -FindDistance( xx->bezierData.pos[0], bezData.pos[1] )*cos(D2R(angle2)));
+ if (is_Track) {
+ if (GetTrkEndTrk(trk,0)) {
+ angle1 = NormalizeAngle(GetTrkEndAngle(trk,0));
+ angle2 = DifferenceBetweenAngles(FindAngle(bezData.pos[1], xx->pos[0]),angle1);
+ if (fabs(angle2)<90)
+ Translate( &bezData.pos[1], xx->pos[0], angle1, -FindDistance( xx->pos[0], bezData.pos[1] )*cos(D2R(angle2)));
+ else bezData.pos[1] = xx->pos[1];
+ }
}
- xx->bezierData.pos[1] = bezData.pos[1];
+ xx->pos[1] = bezData.pos[1];
+ xx->a0 = bezData.angle[0] = FindAngle(xx->pos[1],xx->pos[0]);
+ bezDesc[A0].mode |= DESC_CHANGE;
bezDesc[CP1].mode |= DESC_CHANGE;
updateEndPts = TRUE;
break;
case CP2:
- if (GetTrkEndTrk(trk,1)) {
- angle1 = NormalizeAngle(GetTrkEndAngle(trk,1));
- angle2 = NormalizeAngle(FindAngle(bezData.pos[2], xx->bezierData.pos[3])-angle1);
- if (angle2 > 90.0 && angle2 < 270.0)
- Translate( &bezData.pos[2], xx->bezierData.pos[3], angle1, -FindDistance( xx->bezierData.pos[3], bezData.pos[0] )*cos(D2R(angle2)));
+ if (is_Track) {
+ if (GetTrkEndTrk(trk,1)) {
+ angle1 = NormalizeAngle(GetTrkEndAngle(trk,1));
+ angle2 = DifferenceBetweenAngles(FindAngle(bezData.pos[2], xx->pos[3]),angle1);
+ if (fabs(angle2)<90)
+ Translate( &bezData.pos[2], xx->pos[3], angle1, -FindDistance( xx->pos[3], bezData.pos[2] )*cos(D2R(angle2)));
+ else bezData.pos[2] = xx->pos[2];
+ }
}
- xx->bezierData.pos[2] = bezData.pos[2];
+ xx->pos[2] = bezData.pos[2];
+ xx->a1 = bezData.angle[1] = FindAngle(xx->pos[2],xx->pos[3]);
+ bezDesc[A1].mode |= DESC_CHANGE;
bezDesc[CP2].mode |= DESC_CHANGE;
updateEndPts = TRUE;
break;
@@ -327,30 +342,30 @@ static void UpdateBezier( track_p trk, int inx, descData_p descUpd, BOOL_T final
SetTrkLayer( trk, bezData.layerNumber);
break;
case WI:
- xx->bezierData.segsWidth = bezData.width/mainD.dpi;
+ xx->segsWidth = bezData.width/75.0;
break;
case CO:
- xx->bezierData.segsColor = bezData.color;
+ xx->segsColor = bezData.color;
break;
case LT:
- xx->bezierData.lineType = bezData.lineType;
+ xx->lineType = bezData.lineType;
break;
default:
AbortProg( "updateBezier: Bad inx %d", inx );
}
- ConvertToArcs(xx->bezierData.pos, &xx->bezierData.arcSegs, IsTrack(trk)?TRUE:FALSE, xx->bezierData.segsColor, xx->bezierData.segsWidth);
+ ConvertToArcs(xx->pos, &xx->arcSegs, IsTrack(trk)?TRUE:FALSE, xx->segsColor, xx->segsWidth);
trackParams_t params;
for (int i=0;i<2;i++) {
- GetTrackParams(0,trk,xx->bezierData.pos[i],&params);
+ GetTrackParams(0,trk,xx->pos[i],&params);
bezData.radius[i] = params.arcR;
bezData.center[i] = params.arcP;
}
- if (updateEndPts) {
+ if (updateEndPts && is_Track) {
if ( GetTrkEndTrk(trk,0) == NULL ) {
SetTrkEndPoint( trk, 0, bezData.pos[0], NormalizeAngle( FindAngle(bezData.pos[1], bezData.pos[0]) ) );
bezData.angle[0] = GetTrkEndAngle(trk,0);
bezDesc[A0].mode |= DESC_CHANGE;
- GetTrackParams(PARAMS_CORNU,trk,xx->bezierData.pos[0],&params);
+ GetTrackParams(PARAMS_CORNU,trk,xx->pos[0],&params);
bezData.radius[0] = params.arcR;
bezData.center[0] = params.arcP;
}
@@ -358,34 +373,33 @@ static void UpdateBezier( track_p trk, int inx, descData_p descUpd, BOOL_T final
SetTrkEndPoint( trk, 1, bezData.pos[3], NormalizeAngle( FindAngle(bezData.pos[2], bezData.pos[3]) ) );
bezData.angle[1] = GetTrkEndAngle(trk,1);
bezDesc[A1].mode |= DESC_CHANGE;
- GetTrackParams(PARAMS_CORNU,trk,xx->bezierData.pos[1],&params);
+ GetTrackParams(PARAMS_CORNU,trk,xx->pos[1],&params);
bezData.radius[1] = params.arcR;
bezData.center[1] = params.arcP;
}
}
-
- FixUpBezier(xx->bezierData.pos, xx, IsTrack(trk));
+ FixUpBezier(xx->pos, xx, IsTrack(trk));
ComputeBezierBoundingBox(trk, xx);
DrawNewTrack( trk );
}
static void DescribeBezier( track_p trk, char * str, CSIZE_T len )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
DIST_T d;
- int fix0, fix1 = 0;
+ int fix0 = 0, fix1 = 0;
- d = xx->bezierData.length;
+ d = xx->length;
sprintf( str, _("Bezier %s(%d): Layer=%u MinRadius=%s Length=%s EP=[%0.3f,%0.3f] [%0.3f,%0.3f] CP1=[%0.3f,%0.3f] CP2=[%0.3f, %0.3f]"),
GetTrkType(trk)==T_BEZIER?"Track":"Line",
GetTrkIndex(trk),
GetTrkLayer(trk)+1,
- FormatDistance(xx->bezierData.minCurveRadius),
+ FormatDistance(xx->minCurveRadius),
FormatDistance(d),
- PutDim(xx->bezierData.pos[0].x),PutDim(xx->bezierData.pos[0].y),
- PutDim(xx->bezierData.pos[3].x),PutDim(xx->bezierData.pos[3].y),
- PutDim(xx->bezierData.pos[1].x),PutDim(xx->bezierData.pos[1].y),
- PutDim(xx->bezierData.pos[2].x),PutDim(xx->bezierData.pos[2].y));
+ PutDim(xx->pos[0].x),PutDim(xx->pos[0].y),
+ PutDim(xx->pos[3].x),PutDim(xx->pos[3].y),
+ PutDim(xx->pos[1].x),PutDim(xx->pos[1].y),
+ PutDim(xx->pos[2].x),PutDim(xx->pos[2].y));
if (GetTrkType(trk) == T_BEZIER) {
fix0 = GetTrkEndTrk(trk,0)!=NULL;
@@ -393,20 +407,20 @@ static void DescribeBezier( track_p trk, char * str, CSIZE_T len )
}
bezData.length = GetLengthBezier(trk);
- bezData.minRadius = xx->bezierData.minCurveRadius;
- if (bezData.minRadius >= 100000.00) bezData.minRadius = 0;
+ bezData.minRadius = xx->minCurveRadius;
+ if (bezData.minRadius >= DIST_INF) bezData.minRadius = 0;
bezData.layerNumber = GetTrkLayer(trk);
- bezData.pos[0] = xx->bezierData.pos[0];
- bezData.pos[1] = xx->bezierData.pos[1];
- bezData.pos[2] = xx->bezierData.pos[2];
- bezData.pos[3] = xx->bezierData.pos[3];
- bezData.angle[0] = xx->bezierData.a0;
- bezData.angle[1] = xx->bezierData.a1;
+ bezData.pos[0] = xx->pos[0];
+ bezData.pos[1] = xx->pos[1];
+ bezData.pos[2] = xx->pos[2];
+ bezData.pos[3] = xx->pos[3];
+ bezData.angle[0] = xx->a0;
+ bezData.angle[1] = xx->a1;
trackParams_t params;
- GetTrackParams(PARAMS_CORNU,trk,xx->bezierData.pos[0],&params);
+ GetTrackParams(PARAMS_CORNU,trk,xx->pos[0],&params);
bezData.radius[0] = params.arcR;
bezData.center[0] = params.arcP;
- GetTrackParams(PARAMS_CORNU,trk,xx->bezierData.pos[3],&params);
+ GetTrackParams(PARAMS_CORNU,trk,xx->pos[3],&params);
bezData.radius[1] = params.arcR;
bezData.center[1] = params.arcP;
@@ -433,7 +447,7 @@ static void DescribeBezier( track_p trk, char * str, CSIZE_T len )
else {
bezDesc[Z0].mode = bezDesc[Z1].mode = DESC_IGNORE;
bezDesc[LT].mode = 0;
- bezData.lineType = xx->bezierData.lineType;
+ bezData.lineType = xx->lineType;
}
bezDesc[A0].mode = DESC_RO;
bezDesc[A1].mode = DESC_RO;
@@ -444,9 +458,9 @@ static void DescribeBezier( track_p trk, char * str, CSIZE_T len )
bezDesc[GR].mode = DESC_RO;
bezDesc[RA].mode = DESC_RO;
bezDesc[LY].mode = DESC_NOREDRAW;
- bezData.width = (long)floor(xx->bezierData.segsWidth*mainD.dpi+0.5);
+ bezData.width = (long)floor(xx->segsWidth*75.0+0.5);
bezDesc[WI].mode = GetTrkType(trk) == T_BEZIER?DESC_IGNORE:0;
- bezData.color = xx->bezierData.segsColor;
+ bezData.color = xx->segsColor;
bezDesc[CO].mode = GetTrkType(trk) == T_BEZIER?DESC_IGNORE:0;
if (GetTrkType(trk) == T_BEZIER)
@@ -455,13 +469,13 @@ static void DescribeBezier( track_p trk, char * str, CSIZE_T len )
DoDescribe( _("Bezier Line"), trk, bezDesc, UpdateBezier );
if (bezDesc[LT].control0!=NULL) {
wListClear( (wList_p)bezDesc[LT].control0 );
- wListAddValue( (wList_p)bezDesc[LT].control0, _("Solid"), NULL, (void*)0 );
- wListAddValue( (wList_p)bezDesc[LT].control0, _("Dash"), NULL, (void*)1 );
- wListAddValue( (wList_p)bezDesc[LT].control0, _("Dot"), NULL, (void*)2 );
- wListAddValue( (wList_p)bezDesc[LT].control0, _("DashDot"), NULL, (void*)3 );
- wListAddValue( (wList_p)bezDesc[LT].control0, _("DashDotDot"), NULL, (void*)4 );
- wListAddValue( (wList_p)bezDesc[LT].control0, _("CenterDot"), NULL, (void*)5);
- wListAddValue( (wList_p)bezDesc[LT].control0, _("PhantomDot"), NULL, (void*)6 );
+ wListAddValue( (wList_p)bezDesc[LT].control0, _("Solid"), NULL, I2VP(0));
+ wListAddValue( (wList_p)bezDesc[LT].control0, _("Dash"), NULL, I2VP(1));
+ wListAddValue( (wList_p)bezDesc[LT].control0, _("Dot"), NULL, I2VP(2));
+ wListAddValue( (wList_p)bezDesc[LT].control0, _("DashDot"), NULL, I2VP(3));
+ wListAddValue( (wList_p)bezDesc[LT].control0, _("DashDotDot"), NULL, I2VP(4));
+ wListAddValue( (wList_p)bezDesc[LT].control0, _("CenterDot"), NULL, I2VP(5));
+ wListAddValue( (wList_p)bezDesc[LT].control0, _("PhantomDot"), NULL, I2VP(6));
wListSetIndex( (wList_p)bezDesc[LT].control0, bezData.lineType );
}
}
@@ -470,28 +484,28 @@ static void DescribeBezier( track_p trk, char * str, CSIZE_T len )
EXPORT void SetBezierLineType( track_p trk, int width ) {
if (GetTrkType(trk) == T_BZRLIN) {
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataBezier_t * xx = GET_EXTRA_DATA(trk, T_BZRLIN, extraDataBezier_t);
switch(width) {
case 0:
- xx->bezierData.lineType = DRAWLINESOLID;
+ xx->lineType = DRAWLINESOLID;
break;
case 1:
- xx->bezierData.lineType = DRAWLINEDASH;
+ xx->lineType = DRAWLINEDASH;
break;
case 2:
- xx->bezierData.lineType = DRAWLINEDOT;
+ xx->lineType = DRAWLINEDOT;
break;
case 3:
- xx->bezierData.lineType = DRAWLINEDASHDOT;
+ xx->lineType = DRAWLINEDASHDOT;
break;
case 4:
- xx->bezierData.lineType = DRAWLINEDASHDOTDOT;
+ xx->lineType = DRAWLINEDASHDOTDOT;
break;
case 5:
- xx->bezierData.lineType = DRAWLINECENTER;
+ xx->lineType = DRAWLINECENTER;
break;
case 6:
- xx->bezierData.lineType = DRAWLINEPHANTOM;
+ xx->lineType = DRAWLINEPHANTOM;
break;
}
}
@@ -499,14 +513,14 @@ EXPORT void SetBezierLineType( track_p trk, int width ) {
static DIST_T DistanceBezier( track_p t, coOrd * p )
{
- struct extraData *xx = GetTrkExtraData(t);
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(t, T_NOTRACK, extraDataBezier_t);
- DIST_T d = 100000.0;
- coOrd p2 = xx->bezierData.pos[0]; //Set initial point
+ DIST_T d = DIST_INF;
+ coOrd p2 = xx->pos[0]; //Set initial point
segProcData_t segProcData;
- for (int i = 0;i<xx->bezierData.arcSegs.cnt;i++) {
+ for (int i = 0;i<xx->arcSegs.cnt;i++) {
segProcData.distance.pos1 = * p;
- SegProc(SEGPROC_DISTANCE,&DYNARR_N(trkSeg_t,xx->bezierData.arcSegs,i),&segProcData);
+ SegProc(SEGPROC_DISTANCE,&DYNARR_N(trkSeg_t,xx->arcSegs,i),&segProcData);
if (segProcData.distance.dd<d) {
d = segProcData.distance.dd;
p2 = segProcData.distance.pos1;
@@ -518,21 +532,21 @@ static DIST_T DistanceBezier( track_p t, coOrd * p )
static void DrawBezier( track_p t, drawCmd_p d, wDrawColor color )
{
- struct extraData *xx = GetTrkExtraData(t);
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(t, T_NOTRACK, extraDataBezier_t);
long widthOptions = DTS_LEFT|DTS_RIGHT;
if (GetTrkType(t) == T_BZRLIN) {
unsigned long NotSolid = ~(DC_NOTSOLIDLINE);
d->options &= NotSolid;
- if (xx->bezierData.lineType == DRAWLINESOLID) {}
- else if (xx->bezierData.lineType == DRAWLINEDASH) d->options |= DC_DASH;
- else if (xx->bezierData.lineType == DRAWLINEDOT) d->options |= DC_DOT;
- else if (xx->bezierData.lineType == DRAWLINEDASHDOT) d->options |= DC_DASHDOT;
- else if (xx->bezierData.lineType == DRAWLINEDASHDOTDOT) d->options |= DC_DASHDOTDOT;
- else if (xx->bezierData.lineType == DRAWLINECENTER) d->options |= DC_CENTER;
- else if (xx->bezierData.lineType == DRAWLINEPHANTOM) d->options |= DC_PHANTOM;
- DrawSegsO(d,t,zero,0.0,xx->bezierData.arcSegs.ptr,xx->bezierData.arcSegs.cnt, 0.0, color, 0);
+ if (xx->lineType == DRAWLINESOLID) {}
+ else if (xx->lineType == DRAWLINEDASH) d->options |= DC_DASH;
+ else if (xx->lineType == DRAWLINEDOT) d->options |= DC_DOT;
+ else if (xx->lineType == DRAWLINEDASHDOT) d->options |= DC_DASHDOT;
+ else if (xx->lineType == DRAWLINEDASHDOTDOT) d->options |= DC_DASHDOTDOT;
+ else if (xx->lineType == DRAWLINECENTER) d->options |= DC_CENTER;
+ else if (xx->lineType == DRAWLINEPHANTOM) d->options |= DC_PHANTOM;
+ DrawSegsO(d,t,zero,0.0,xx->arcSegs.ptr,xx->arcSegs.cnt, 0.0, color, 0);
d->options &= NotSolid;
return;
}
@@ -544,17 +558,17 @@ static void DrawBezier( track_p t, drawCmd_p d, wDrawColor color )
DrawBezierDescription( t, d, color );
}
DIST_T scale2rail = (d->options&DC_PRINT)?(twoRailScale*2+1):twoRailScale;
- DrawSegsO(d,t,zero,0.0,xx->bezierData.arcSegs.ptr,xx->bezierData.arcSegs.cnt, GetTrkGauge(t), color, widthOptions);
+ DrawSegsO(d,t,zero,0.0,xx->arcSegs.ptr,xx->arcSegs.cnt, GetTrkGauge(t), color, widthOptions);
DrawEndPt( d, t, 0, color );
DrawEndPt( d, t, 1, color );
}
static void DeleteBezier( track_p t )
{
- struct extraData *xx = GetTrkExtraData(t);
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(t, T_NOTRACK, extraDataBezier_t);
- for (int i=0;i<xx->bezierData.arcSegs.cnt;i++) {
- trkSeg_t s = DYNARR_N(trkSeg_t,xx->bezierData.arcSegs,i);
+ for (int i=0;i<xx->arcSegs.cnt;i++) {
+ trkSeg_t s = DYNARR_N(trkSeg_t,xx->arcSegs,i);
if (s.type == SEG_BEZTRK || s.type == SEG_BEZLIN) {
if (s.bezSegs.ptr) MyFree(s.bezSegs.ptr);
s.bezSegs.max = 0;
@@ -562,41 +576,41 @@ static void DeleteBezier( track_p t )
s.bezSegs.ptr = NULL;
}
}
- if (xx->bezierData.arcSegs.ptr && !xx->bezierData.arcSegs.max)
- MyFree(xx->bezierData.arcSegs.ptr);
- xx->bezierData.arcSegs.max = 0;
- xx->bezierData.arcSegs.cnt = 0;
- xx->bezierData.arcSegs.ptr = NULL;
+ if (xx->arcSegs.ptr && !xx->arcSegs.max)
+ MyFree(xx->arcSegs.ptr);
+ xx->arcSegs.max = 0;
+ xx->arcSegs.cnt = 0;
+ xx->arcSegs.ptr = NULL;
}
static BOOL_T WriteBezier( track_p t, FILE * f )
{
- struct extraData *xx = GetTrkExtraData(t);
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(t, T_NOTRACK, extraDataBezier_t);
long options;
BOOL_T rc = TRUE;
BOOL_T track =(GetTrkType(t)==T_BEZIER);
options = GetTrkWidth(t) & 0x0F;
if ( ( GetTrkBits(t) & TB_HIDEDESC ) == 0 ) options |= 0x80;
rc &= fprintf(f, "%s %d %u %ld %ld %0.6f %s %d %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f %d %0.6f %0.6f \n",
- track?"BEZIER":"BZRLIN",GetTrkIndex(t), GetTrkLayer(t), (long)options, wDrawGetRGB(xx->bezierData.segsColor), xx->bezierData.segsWidth,
+ track?"BEZIER":"BZRLIN",GetTrkIndex(t), GetTrkLayer(t), (long)options, wDrawGetRGB(xx->segsColor), xx->segsWidth,
GetTrkScaleName(t), GetTrkVisible(t)|(GetTrkNoTies(t)?1<<2:0)|(GetTrkBridge(t)?1<<3:0),
- xx->bezierData.pos[0].x, xx->bezierData.pos[0].y,
- xx->bezierData.pos[1].x, xx->bezierData.pos[1].y,
- xx->bezierData.pos[2].x, xx->bezierData.pos[2].y,
- xx->bezierData.pos[3].x, xx->bezierData.pos[3].y,
- xx->bezierData.lineType,
- xx->bezierData.descriptionOff.x, xx->bezierData.descriptionOff.y )>0;
+ xx->pos[0].x, xx->pos[0].y,
+ xx->pos[1].x, xx->pos[1].y,
+ xx->pos[2].x, xx->pos[2].y,
+ xx->pos[3].x, xx->pos[3].y,
+ xx->lineType,
+ xx->descriptionOff.x, xx->descriptionOff.y )>0;
if (track) {
rc &= WriteEndPt( f, t, 0 );
rc &= WriteEndPt( f, t, 1 );
}
- rc &= WriteSegs( f, xx->bezierData.arcSegs.cnt, xx->bezierData.arcSegs.ptr );
+ rc &= WriteSegs( f, xx->arcSegs.cnt, xx->arcSegs.ptr );
return rc;
}
static BOOL_T ReadBezier( char * line )
{
- struct extraData *xx;
+ struct extraDataBezier_t *xx;
track_p t;
wIndex_t index;
BOOL_T visible;
@@ -617,23 +631,23 @@ static BOOL_T ReadBezier( char * line )
if ( !ReadSegs() )
return FALSE;
t = NewTrack( index, trkTyp, 0, sizeof *xx );
- xx = GetTrkExtraData(t);
+ xx = GET_EXTRA_DATA(t, trkTyp, extraDataBezier_t);
SetTrkVisible(t, visible&2);
SetTrkNoTies(t,visible&4);
SetTrkBridge(t,visible&8);
SetTrkScale(t, LookupScale(scale));
SetTrkLayer(t, layer );
SetTrkWidth(t, (int)(options&0x0F));
- if ( ( options & 0x80 ) == 0 ) SetTrkBits(t,TB_HIDEDESC);
- xx->bezierData.pos[0] = p0;
- xx->bezierData.pos[1] = c1;
- xx->bezierData.pos[2] = c2;
- xx->bezierData.pos[3] = p1;
- xx->bezierData.lineType = lt;
- xx->bezierData.descriptionOff = dp;
- xx->bezierData.segsWidth = width;
- xx->bezierData.segsColor = wDrawFindColor( rgb );
- FixUpBezier(xx->bezierData.pos,xx,GetTrkType(t) == T_BEZIER);
+ if ( paramVersion < VERSION_DESCRIPTION2 || ( options & 0x80 ) == 0 ) SetTrkBits(t,TB_HIDEDESC);
+ xx->pos[0] = p0;
+ xx->pos[1] = c1;
+ xx->pos[2] = c2;
+ xx->pos[3] = p1;
+ xx->lineType = lt;
+ xx->descriptionOff = dp;
+ xx->segsWidth = width;
+ xx->segsColor = wDrawFindColor( rgb );
+ FixUpBezier(xx->pos,xx,GetTrkType(t) == T_BEZIER);
ComputeBezierBoundingBox(t,xx);
if (GetTrkType(t) == T_BEZIER) {
SetEndPts(t,2);
@@ -643,59 +657,59 @@ static BOOL_T ReadBezier( char * line )
static void MoveBezier( track_p trk, coOrd orig )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
for (int i=0;i<4;i++) {
- xx->bezierData.pos[i].x += orig.x;
- xx->bezierData.pos[i].y += orig.y;
+ xx->pos[i].x += orig.x;
+ xx->pos[i].y += orig.y;
}
- FixUpBezier(xx->bezierData.pos,xx,IsTrack(trk));
+ FixUpBezier(xx->pos,xx,IsTrack(trk));
ComputeBezierBoundingBox(trk,xx);
}
static void RotateBezier( track_p trk, coOrd orig, ANGLE_T angle )
{
- struct extraData *xx = GetTrkExtraData(trk);
- for (int i=0;i<5;i++) {
- Rotate( &xx->bezierData.pos[i], orig, angle );
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
+ for (int i=0;i<COUNT(xx->pos);i++) {
+ Rotate( &xx->pos[i], orig, angle );
}
- FixUpBezier(xx->bezierData.pos,xx,IsTrack(trk));
+ FixUpBezier(xx->pos,xx,IsTrack(trk));
ComputeBezierBoundingBox(trk,xx);
}
static void RescaleBezier( track_p trk, FLOAT_T ratio )
{
- struct extraData *xx = GetTrkExtraData(trk);
- xx->bezierData.pos[0].x *= ratio;
- xx->bezierData.pos[0].y *= ratio;
- xx->bezierData.pos[1].x *= ratio;
- xx->bezierData.pos[1].y *= ratio;
- xx->bezierData.pos[2].x *= ratio;
- xx->bezierData.pos[2].y *= ratio;
- xx->bezierData.pos[3].x *= ratio;
- xx->bezierData.pos[3].y *= ratio;
- FixUpBezier(xx->bezierData.pos,xx,IsTrack(trk));
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
+ xx->pos[0].x *= ratio;
+ xx->pos[0].y *= ratio;
+ xx->pos[1].x *= ratio;
+ xx->pos[1].y *= ratio;
+ xx->pos[2].x *= ratio;
+ xx->pos[2].y *= ratio;
+ xx->pos[3].x *= ratio;
+ xx->pos[3].y *= ratio;
+ FixUpBezier(xx->pos,xx,IsTrack(trk));
ComputeBezierBoundingBox(trk,xx);
}
EXPORT void AdjustBezierEndPt( track_p trk, EPINX_T inx, coOrd pos ) {
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
UndoModify(trk);
if (inx ==0 ) {
- xx->bezierData.pos[1].x += -xx->bezierData.pos[0].x+pos.x;
- xx->bezierData.pos[1].y += -xx->bezierData.pos[0].y+pos.y;
- xx->bezierData.pos[0] = pos;
+ xx->pos[1].x += -xx->pos[0].x+pos.x;
+ xx->pos[1].y += -xx->pos[0].y+pos.y;
+ xx->pos[0] = pos;
}
else {
- xx->bezierData.pos[2].x += -xx->bezierData.pos[3].x+pos.x;
- xx->bezierData.pos[2].y += -xx->bezierData.pos[3].y+pos.y;
- xx->bezierData.pos[3] = pos;
+ xx->pos[2].x += -xx->pos[3].x+pos.x;
+ xx->pos[2].y += -xx->pos[3].y+pos.y;
+ xx->pos[3] = pos;
}
- FixUpBezier(xx->bezierData.pos, xx, IsTrack(trk));
+ FixUpBezier(xx->pos, xx, IsTrack(trk));
ComputeBezierBoundingBox(trk,xx);
- SetTrkEndPoint( trk, inx, pos, inx==0?xx->bezierData.a0:xx->bezierData.a1);
+ SetTrkEndPoint( trk, inx, pos, inx==0?xx->a0:xx->a1);
}
@@ -704,7 +718,7 @@ EXPORT void AdjustBezierEndPt( track_p trk, EPINX_T inx, coOrd pos ) {
*/
static BOOL_T SplitBezier( track_p trk, coOrd pos, EPINX_T ep, track_p *leftover, EPINX_T * ep0, EPINX_T * ep1 )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
track_p trk1;
double t;
BOOL_T track;
@@ -715,10 +729,10 @@ static BOOL_T SplitBezier( track_p trk, coOrd pos, EPINX_T ep, track_p *leftover
double dd = DistanceBezier(trk, &pos);
if (dd>minLength) return FALSE;
- BezierMathDistance(&pos, xx->bezierData.pos, 500, &t); //Find t value
+ BezierMathDistance(&pos, xx->pos, 500, &t); //Find t value
for (int i=0;i<4;i++) {
- current[i] = xx->bezierData.pos[i];
+ current[i] = xx->pos[i];
}
BezierSplit(current, newl, newr, t);
@@ -727,18 +741,18 @@ static BOOL_T SplitBezier( track_p trk, coOrd pos, EPINX_T ep, track_p *leftover
trk1 = NewBezierTrack(ep?newr:newl,NULL,0);
//Move elev data from ep
} else
- trk1 = NewBezierLine(ep?newr:newl,NULL,0, xx->bezierData.segsColor,xx->bezierData.segsWidth);
+ trk1 = NewBezierLine(ep?newr:newl,NULL,0, xx->segsColor,xx->segsWidth);
DIST_T height;
int opt;
GetTrkEndElev(trk,ep,&opt,&height);
UpdateTrkEndElev( trk1, ep, opt, height, (opt==ELEV_STATION)?GetTrkEndElevStation(trk,ep):NULL );
UndoModify(trk);
for (int i=0;i<4;i++) {
- xx->bezierData.pos[i] = ep?newl[i]:newr[i];
+ xx->pos[i] = ep?newl[i]:newr[i];
}
- FixUpBezier(xx->bezierData.pos,xx,track);
+ FixUpBezier(xx->pos,xx,track);
ComputeBezierBoundingBox(trk,xx);
- SetTrkEndPoint( trk, ep, xx->bezierData.pos[ep?3:0], ep?xx->bezierData.a1:xx->bezierData.a0);
+ SetTrkEndPoint( trk, ep, xx->pos[ep?3:0], ep?xx->a1:xx->a0);
UpdateTrkEndElev( trk, ep, ELEV_NONE, 0, NULL);
*leftover = trk1;
*ep0 = 1-ep;
@@ -769,20 +783,20 @@ static int log_bezierSegments = 0;
static BOOL_T TraverseBezier( traverseTrack_p trvTrk, DIST_T * distR )
{
track_p trk = trvTrk->trk;
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(trk, T_BEZIER, extraDataBezier_t);
DIST_T dist = *distR;
segProcData_t segProcData;
BOOL_T segs_backwards= FALSE;
- DIST_T d = 10000;
+ DIST_T d = DIST_INF;
coOrd pos2 = trvTrk->pos;
ANGLE_T a1,a2;
int inx,segInx = 0;
EPINX_T ep;
BOOL_T back,neg;
- trkSeg_p segPtr = (trkSeg_p)xx->bezierData.arcSegs.ptr;
+ trkSeg_p segPtr = (trkSeg_p)xx->arcSegs.ptr;
a2 = GetAngleSegs( //Find correct Segment and nearest point in it
- xx->bezierData.arcSegs.cnt,segPtr,
+ xx->arcSegs.cnt,segPtr,
&pos2, &segInx, &d , &back, NULL, &neg ); //d = how far pos2 from old pos2 = trvTrk->pos
if ( d > 10 ) {
@@ -807,8 +821,8 @@ static BOOL_T TraverseBezier( traverseTrack_p trvTrk, DIST_T * distR )
segProcData.traverse1.angle = trvTrk->angle; //direction car is going for Traverse 1 has to be reversed...
LOG( log_traverseBezier, 1, ( " TraverseBezier [%0.3f %0.3f] D%0.3f A%0.3f SB%d \n", trvTrk->pos.x, trvTrk->pos.y, dist, trvTrk->angle, segs_backwards ) )
inx = segInx;
- while (inx >=0 && inx<xx->bezierData.arcSegs.cnt) {
- segPtr = (trkSeg_p)xx->bezierData.arcSegs.ptr+inx; //move in to the identified segment
+ while (inx >=0 && inx<xx->arcSegs.cnt) {
+ segPtr = (trkSeg_p)xx->arcSegs.ptr+inx; //move in to the identified segment
SegProc( SEGPROC_TRAVERSE1, segPtr, &segProcData ); //Backwards or forwards for THIS segment - note that this can differ from segs_backward!!
BOOL_T backwards = segProcData.traverse1.backwards; //Are we going to EP0?
BOOL_T reverse_seg = segProcData.traverse1.reverse_seg; //is it a backwards segment (we don't actually care as Traverse1 takes care of it)
@@ -855,76 +869,57 @@ static BOOL_T MergeBezier(
track_p trk1,
EPINX_T ep1 )
{
- struct extraData *xx0 = GetTrkExtraData(trk0);
- struct extraData *xx1 = GetTrkExtraData(trk1);
- track_p trk2 = NULL;
- EPINX_T ep2=-1;
- BOOL_T tracks = FALSE;
-
- if (IsTrack(trk0) && IsTrack(trk1) ) tracks = TRUE;
- if (GetTrkType(trk0) != GetTrkType(trk1)) return FALSE;
-
- if (ep0 == ep1)
- return FALSE;
-
- UndoStart( _("Merge Bezier"), "MergeBezier( T%d[%d] T%d[%d] )", GetTrkIndex(trk0), ep0, GetTrkIndex(trk1), ep1 );
- UndoModify( trk0 );
- UndrawNewTrack( trk0 );
- if (tracks) {
- trk2 = GetTrkEndTrk( trk1, 1-ep1 );
- if (trk2) {
- ep2 = GetEndPtConnectedToMe( trk2, trk1 );
- DisconnectTracks( trk1, 1-ep1, trk2, ep2 );
- }
- }
- if (ep0 == 0) {
- xx0->bezierData.pos[3] = xx1->bezierData.pos[3];
- xx0->bezierData.pos[2] = xx1->bezierData.pos[2];
- } else {
- xx0->bezierData.pos[0] = xx1->bezierData.pos[0];
- xx0->bezierData.pos[1] = xx1->bezierData.pos[1];
- }
- FixUpBezier(xx0->bezierData.pos,xx0,tracks);
- ComputeBezierBoundingBox(trk0,xx0);
- DeleteTrack( trk1, FALSE );
- if (tracks && trk2) {
- if (ep0 == 1)
- SetTrkEndPoint( trk2, 1, xx0->bezierData.pos[0], xx0->bezierData.a0);
- else
- SetTrkEndPoint( trk2, 2, xx0->bezierData.pos[3], xx0->bezierData.a1);
- ConnectTracks( trk0, ep0, trk2, ep2 );
- }
- DrawNewTrack( trk0 );
-
- return TRUE;
+ return FALSE;
}
static BOOL_T EnumerateBezier( track_p trk )
{
- if (trk != NULL) {
+ if ((trk != NULL) && (GetTrkType(trk) == T_BEZIER)) {
DIST_T d;
- struct extraData *xx = GetTrkExtraData(trk);
- d = max(BezierOffsetLength(xx->bezierData.arcSegs,-GetTrkGauge(trk)/2.0),
- BezierOffsetLength(xx->bezierData.arcSegs,GetTrkGauge(trk)/2.0));
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(trk, T_BEZIER, extraDataBezier_t);
+ d = max(BezierOffsetLength(xx->arcSegs,-GetTrkGauge(trk)/2.0),
+ BezierOffsetLength(xx->arcSegs,GetTrkGauge(trk)/2.0));
ScaleLengthIncrement( GetTrkScale(trk), d );
+ return TRUE;
}
- return TRUE;
+ return FALSE;
}
static DIST_T GetLengthBezier( track_p trk )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
DIST_T length = 0.0;
segProcData_t segProcData;
- for(int i=0;i<xx->bezierData.arcSegs.cnt;i++) {
- SegProc(SEGPROC_LENGTH,&(DYNARR_N(trkSeg_t,xx->bezierData.arcSegs,i)), &segProcData);
+ for(int i=0;i<xx->arcSegs.cnt;i++) {
+ SegProc(SEGPROC_LENGTH,&(DYNARR_N(trkSeg_t,xx->arcSegs,i)), &segProcData);
length += segProcData.length.length;
}
return length;
}
+EXPORT BOOL_T GetBezierMiddle( track_p trk, coOrd * pos) {
+
+ if (GetTrkType(trk) != T_BEZIER)
+ return FALSE;
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(trk, T_BEZIER, extraDataBezier_t);
+ DIST_T length = GetLengthBezier(trk)/2;
+
+ traverseTrack_t tp;
+ tp.pos = GetTrkEndPos(trk,0);
+ tp.angle = NormalizeAngle(GetTrkEndAngle(trk,0)+180.0);
+ tp.trk = trk;
+ tp.length = length;
+
+ TraverseBezier(&tp,&length);
+
+ *pos = tp.pos;
+
+ return TRUE;
+
+}
+
static BOOL_T GetParamsBezier( int inx, track_p trk, coOrd pos, trackParams_t * params )
{
@@ -933,14 +928,14 @@ static BOOL_T GetParamsBezier( int inx, track_p trk, coOrd pos, trackParams_t *
DIST_T d;
params->type = curveTypeBezier;
- struct extraData *xx = GetTrkExtraData(trk);
- for (int i=0;i<4;i++) params->bezierPoints[i] = xx->bezierData.pos[i];
- params->len = xx->bezierData.length;
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
+ for (int i=0;i<4;i++) params->bezierPoints[i] = xx->pos[i];
+ params->len = xx->length;
params->track_angle = GetAngleSegs( //Find correct Segment and nearest point in it
- xx->bezierData.arcSegs.cnt,xx->bezierData.arcSegs.ptr,
+ xx->arcSegs.cnt,xx->arcSegs.ptr,
&pos, &segInx, &d , &back, NULL, &negative );
if ( negative != back ) params->track_angle = NormalizeAngle(params->track_angle+180); //Bezier is in reverse
- trkSeg_p segPtr = &DYNARR_N(trkSeg_t,xx->bezierData.arcSegs,segInx);
+ trkSeg_p segPtr = &DYNARR_N(trkSeg_t,xx->arcSegs,segInx);
if (segPtr->type == SEG_STRLIN) {
params->arcR = 0.0;
} else {
@@ -951,14 +946,16 @@ static BOOL_T GetParamsBezier( int inx, track_p trk, coOrd pos, trackParams_t *
}
if ( inx == PARAMS_NODES ) {
if (GetTrkType(trk) == T_BEZIER) return FALSE;
- if (FindDistance(pos,params->bezierPoints[0]) > FindDistance(pos,params->bezierPoints[3]))
+ //Pos is the place that is the end of the curve (params->ep set to 1 if the curve starts here)
+ if (FindDistance(pos,params->bezierPoints[0]) <= FindDistance(pos,params->bezierPoints[3]))
params->ep = 1;
else params->ep = 0;
- coOrd curr_pos = params->bezierPoints[params->ep*3];
+ coOrd curr_pos = params->bezierPoints[0];
BOOL_T first = TRUE;
DYNARR_RESET(coOrd,params->nodes);
- for (int i = 0; i<xx->bezierData.arcSegs.cnt;i++) {
- trkSeg_p segPtr = &DYNARR_N(trkSeg_t,xx->bezierData.arcSegs,params->ep?xx->bezierData.arcSegs.cnt-1-i:i);
+ // Load out the points in order from bezierPoint[0] to bezierPoint[3]
+ for (int i = 0; i<xx->arcSegs.cnt;i++) {
+ trkSeg_p segPtr = &DYNARR_N(trkSeg_t,xx->arcSegs,i);
if (segPtr->type == SEG_STRLIN) {
BOOL_T eps = FindDistance(segPtr->u.l.pos[0],curr_pos)>FindDistance(segPtr->u.l.pos[1],curr_pos);
if (first) {
@@ -972,34 +969,39 @@ static BOOL_T GetParamsBezier( int inx, track_p trk, coOrd pos, trackParams_t *
coOrd start,end;
Translate(&start,segPtr->u.c.center,segPtr->u.c.a0,fabs(segPtr->u.c.radius));
Translate(&end,segPtr->u.c.center,segPtr->u.c.a0+segPtr->u.c.a1,fabs(segPtr->u.c.radius));
+ //Is this segment reversed in the curve?
BOOL_T back = FindDistance(start,curr_pos)>FindDistance(end,curr_pos);
if (segPtr->u.c.radius > 0.5) {
double min_angle = 360*acos(1.0-(0.1/fabs(segPtr->u.c.radius)))/M_PI; //Error max is 0.1"
double number = ceil(segPtr->u.c.a1/min_angle);
double arc_size = segPtr->u.c.a1/number;
- for (int j=1-first;j<=number;j++) {
- DYNARR_APPEND(coOrd,params->nodes,1);
- if (back == params->ep)
- Translate(&DYNARR_LAST(coOrd,params->nodes),segPtr->u.c.center,segPtr->u.c.a0+segPtr->u.c.a1-(j*arc_size),fabs(segPtr->u.c.radius) );
- else
- Translate(&DYNARR_LAST(coOrd,params->nodes),segPtr->u.c.center,segPtr->u.c.a0+(j*arc_size),fabs(segPtr->u.c.radius) );
+ if (back) {
+ //If back, list sub-points in reverse. If first show first position, else skip
+ for (int j=(((int)number)-(1-first));j>=0;j--) {
+ DYNARR_APPEND(coOrd,params->nodes,((int)number));
+ Translate(&DYNARR_LAST(coOrd,params->nodes),segPtr->u.c.center,segPtr->u.c.a0+j*arc_size,fabs(segPtr->u.c.radius) );
+ }
+ } else {
+ for (int j=(1-first);j<=number;j++) {
+ DYNARR_APPEND(coOrd,params->nodes,((int)number));
+ Translate(&DYNARR_LAST(coOrd,params->nodes),segPtr->u.c.center,segPtr->u.c.a0+j*arc_size,fabs(segPtr->u.c.radius) );
+ }
}
first = FALSE;
} else {
if (first) {
first = FALSE;
DYNARR_APPEND(coOrd,params->nodes,1);
- DYNARR_LAST(coOrd,params->nodes) = start;
+ DYNARR_LAST(coOrd,params->nodes) = back?end:start;
}
DYNARR_APPEND(coOrd,params->nodes,1);
- DYNARR_LAST(coOrd,params->nodes) = end;
-
+ DYNARR_LAST(coOrd,params->nodes) = back?start:end;
}
}
curr_pos = DYNARR_LAST(coOrd,params->nodes);
}
- params->lineOrig = params->bezierPoints[params->ep*3];
- params->lineEnd = params->bezierPoints[(1-params->ep)*3];
+ params->lineOrig = params->bezierPoints[params->ep?0:3];
+ params->lineEnd = params->bezierPoints[params->ep?3:0];
return TRUE;
} else if ((inx == PARAMS_CORNU) || (inx == PARAMS_1ST_JOIN) || (inx == PARAMS_2ND_JOIN)){
params->ep = PickEndPoint( pos, trk);
@@ -1023,17 +1025,19 @@ static BOOL_T TrimBezier( track_p trk, EPINX_T ep, DIST_T dist, coOrd endpos, AN
static BOOL_T QueryBezier( track_p trk, int query )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataBezier_t * xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
switch ( query ) {
case Q_CAN_GROUP:
return FALSE;
break;
case Q_FLIP_ENDPTS:
+ return GetTrkType(trk) == T_BEZIER?TRUE:FALSE;
+ break;
case Q_HAS_DESC:
return TRUE;
break;
case Q_EXCEPTION:
- return GetTrkType(trk) == T_BEZIER?fabs(xx->bezierData.minCurveRadius) < (GetLayoutMinTrackRadius()-EPSILON):FALSE;
+ return GetTrkType(trk) == T_BEZIER?fabs(xx->minCurveRadius) < (GetLayoutMinTrackRadius()-EPSILON):FALSE;
break;
case Q_CAN_MODIFY_CONTROL_POINTS:
return TRUE;
@@ -1048,6 +1052,8 @@ static BOOL_T QueryBezier( track_p trk, int query )
return TRUE;
break;
case Q_MODIFY_CAN_SPLIT:
+ return TRUE;
+ break;
case Q_CORNU_CAN_MODIFY:
return (GetTrkType(trk) == T_BEZIER);
case Q_GET_NODES:
@@ -1063,12 +1069,22 @@ static void FlipBezier(
coOrd orig,
ANGLE_T angle )
{
- struct extraData * xx = GetTrkExtraData(trk);
- FlipPoint( &xx->bezierData.pos[0], orig, angle );
- FlipPoint( &xx->bezierData.pos[1], orig, angle );
- FlipPoint( &xx->bezierData.pos[2], orig, angle );
- FlipPoint( &xx->bezierData.pos[3], orig, angle );
- FixUpBezier(xx->bezierData.pos,xx,IsTrack(trk));
+ struct extraDataBezier_t * xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
+ FlipPoint( &xx->pos[0], orig, angle );
+ FlipPoint( &xx->pos[1], orig, angle );
+ FlipPoint( &xx->pos[2], orig, angle );
+ FlipPoint( &xx->pos[3], orig, angle );
+
+ // Reverse control point order
+ coOrd pos = xx->pos[0];
+ xx->pos[0] = xx->pos[3];
+ xx->pos[3] = pos;
+
+ pos = xx->pos[1];
+ xx->pos[1] = xx->pos[2];
+ xx->pos[2] = pos;
+
+ FixUpBezier(xx->pos,xx,IsTrack(trk));
ComputeBezierBoundingBox(trk,xx);
}
@@ -1079,11 +1095,11 @@ static ANGLE_T GetAngleBezier(
EPINX_T * ep0,
EPINX_T * ep1 )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataBezier_t * xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
ANGLE_T angle;
BOOL_T back, neg;
int indx;
- angle = GetAngleSegs( xx->bezierData.arcSegs.cnt, (trkSeg_p)xx->bezierData.arcSegs.ptr, &pos, &indx, NULL, &back, NULL, &neg );
+ angle = GetAngleSegs( xx->arcSegs.cnt, (trkSeg_p)xx->arcSegs.ptr, &pos, &indx, NULL, &back, NULL, &neg );
if (!back) angle = NormalizeAngle(angle+180); //Make CCW
if ( ep0 ) *ep0 = neg?1:0;
if ( ep1 ) *ep1 = neg?0:1;
@@ -1091,11 +1107,11 @@ static ANGLE_T GetAngleBezier(
}
BOOL_T GetBezierSegmentFromTrack(track_p trk, trkSeg_p seg_p) {
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataBezier_t * xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
seg_p->type = IsTrack(trk)?SEG_BEZTRK:SEG_BEZLIN;
- for (int i=0;i<4;i++) seg_p->u.b.pos[i] = xx->bezierData.pos[i];
- seg_p->color = xx->bezierData.segsColor;
+ for (int i=0;i<4;i++) seg_p->u.b.pos[i] = xx->pos[i];
+ seg_p->color = xx->segsColor;
seg_p->bezSegs.cnt = 0;
if (seg_p->bezSegs.ptr) MyFree(seg_p->bezSegs.ptr);
seg_p->bezSegs.max = 0;
@@ -1124,7 +1140,8 @@ BOOL_T GetTracksFromBezierSegment(trkSeg_p bezSeg, track_p newTracks[2], track_p
if (GetTrkEndTrk(trk_old,i)==NULL) {
coOrd pos = GetTrkEndPos(trk_old,i);
EPINX_T ep_n = PickUnconnectedEndPoint(pos,new_trk);
- if (connectDistance >= FindDistance(GetTrkEndPos(trk_old,i),GetTrkEndPos(new_trk,ep_n))) {
+ if ((connectDistance >= FindDistance(GetTrkEndPos(trk_old,i),GetTrkEndPos(new_trk,ep_n))) &&
+ (connectAngle >= fabs(DifferenceBetweenAngles(GetTrkEndAngle(trk_old,i),GetTrkEndAngle(new_trk,ep_n)+180))) ) {
ConnectTracks(trk_old,i,new_trk,ep_n);
break;
}
@@ -1138,13 +1155,13 @@ BOOL_T GetTracksFromBezierSegment(trkSeg_p bezSeg, track_p newTracks[2], track_p
BOOL_T GetTracksFromBezierTrack(track_p trk, track_p newTracks[2]) {
trkSeg_t seg_temp;
- struct extraData * xx = GetTrkExtraData(trk);
newTracks[0] = NULL, newTracks[1] = NULL;
if (!IsTrack(trk)) return FALSE;
+ struct extraDataBezier_t * xx = GET_EXTRA_DATA(trk, T_BEZIER, extraDataBezier_t);
seg_temp.type = SEG_BEZTRK;
- for (int i=0;i<4;i++) seg_temp.u.b.pos[i] = xx->bezierData.pos[i];
- seg_temp.color = xx->bezierData.segsColor;
+ for (int i=0;i<4;i++) seg_temp.u.b.pos[i] = xx->pos[i];
+ seg_temp.color = xx->segsColor;
seg_temp.bezSegs.cnt = 0;
seg_temp.bezSegs.max = 0;
//if (seg_temp->bezSegs.ptr) MyFree(seg_temp->bezSegs.ptr);
@@ -1159,7 +1176,6 @@ BOOL_T GetTracksFromBezierTrack(track_p trk, track_p newTracks[2]) {
}
-
static BOOL_T MakeParallelBezier(
track_p trk,
coOrd pos,
@@ -1170,35 +1186,37 @@ static BOOL_T MakeParallelBezier(
coOrd * p1R,
BOOL_T track)
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataBezier_t * xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
coOrd np[4], p;
- ANGLE_T a,a2;
+ ANGLE_T a0, a1,a2;
//Produce bezier that is translated parallel to the existing Bezier
// - not a precise result if the bezier end angles are not in the same general direction.
// The expectation is that the user will have to adjust it - unless and until we produce
// a new algo to adjust the control points to be parallel to the endpoints.
- a = FindAngle(xx->bezierData.pos[0],xx->bezierData.pos[3]);
+ a0 = xx->a0;
+ a1 = xx->a1;
p = pos;
DistanceBezier(trk, &p);
- a2 = NormalizeAngle(FindAngle(pos,p)-a);
+ a2 = NormalizeAngle(FindAngle(pos,p)-a0);
+ a2 = NormalizeAngle(FindAngle(pos,p)-a0);
//find parallel move x and y for points
for (int i =0; i<4;i++) {
- np[i] = xx->bezierData.pos[i];
+ np[i] = xx->pos[i];
}
- sep = sep+factor/xx->bezierData.minCurveRadius;
+ sep = sep+factor/xx->minCurveRadius;
// Adjust sep based on radius and factor
if ( a2 > 180 ) {
- Translate(&np[0],np[0],a+90,sep);
- Translate(&np[1],np[1],a+90,sep);
- Translate(&np[2],np[2],a+90,sep);
- Translate(&np[3],np[3],a+90,sep);
+ Translate(&np[0],np[0],a0+90,sep);
+ Translate(&np[1],np[1],a0+90,sep);
+ Translate(&np[2],np[2],a1-90,sep);
+ Translate(&np[3],np[3],a1-90,sep);
} else {
- Translate(&np[0],np[0],a-90,sep);
- Translate(&np[1],np[1],a-90,sep);
- Translate(&np[2],np[2],a-90,sep);
- Translate(&np[3],np[3],a-90,sep);
+ Translate(&np[0],np[0],a0-90,sep);
+ Translate(&np[1],np[1],a0-90,sep);
+ Translate(&np[2],np[2],a1+90,sep);
+ Translate(&np[3],np[3],a1+90,sep);
}
if ( newTrkR ) {
@@ -1217,7 +1235,7 @@ static BOOL_T MakeParallelBezier(
tempSegs(0).bezSegs.max = 0;
tempSegs(0).bezSegs.cnt = 0;
for (int i=0;i<4;i++) tempSegs(0).u.b.pos[i] = np[i];
- FixUpBezierSeg(tempSegs(0).u.b.pos,&tempSegs(0),TRUE);
+ FixUpBezierSeg(tempSegs(0).u.b.pos,&tempSegs(0),track);
}
if ( p0R ) *p0R = np[0];
if ( p1R ) *p1R = np[1];
@@ -1229,28 +1247,31 @@ static BOOL_T MakeParallelBezier(
* ensure
* - that the Segs are restored and
* - other fields reset.
+ * Not called for deleted tracks
*/
BOOL_T RebuildBezier (track_p trk)
{
- struct extraData *xx;
- xx = GetTrkExtraData(trk);
- xx->bezierData.arcSegs.cnt = 0;
- FixUpBezier(xx->bezierData.pos,xx,IsTrack(trk));
+ ASSERT( trk != NULL && !IsTrackDeleted(trk) );
+ struct extraDataBezier_t *xx;
+ xx = GET_EXTRA_DATA(trk, T_NOTRACK, extraDataBezier_t);
+ xx->arcSegs.cnt = 0;
+ FixUpBezier(xx->pos,xx,IsTrack(trk));
ComputeBezierBoundingBox(trk, xx);
return TRUE;
}
+
BOOL_T MoveBezierEndPt ( track_p *trk, EPINX_T *ep, coOrd pos, DIST_T d0 ) {
track_p trk2;
- struct extraData *xx;
+ struct extraDataBezier_t *xx;
if (SplitTrack(*trk,pos,*ep,&trk2,TRUE)) {
if (trk2) {
UndrawNewTrack( trk2 );
DeleteTrack(trk2,TRUE);
}
UndrawNewTrack( *trk );
- xx = GetTrkExtraData(*trk);
- SetTrkEndPoint( *trk, *ep, *ep?xx->bezierData.pos[3]:xx->bezierData.pos[0], *ep?xx->bezierData.a1:xx->bezierData.a0 );
+ xx = GET_EXTRA_DATA(*trk, T_NOTRACK, extraDataBezier_t);
+ SetTrkEndPoint( *trk, *ep, *ep?xx->pos[3]:xx->pos[0], *ep?xx->a1:xx->a0 );
DrawNewTrack( *trk );
return TRUE;
}
@@ -1259,22 +1280,22 @@ BOOL_T MoveBezierEndPt ( track_p *trk, EPINX_T *ep, coOrd pos, DIST_T d0 ) {
static wBool_t CompareBezier( track_cp trk1, track_cp trk2 )
{
- struct extraData *xx1 = GetTrkExtraData( trk1 );
- struct extraData *xx2 = GetTrkExtraData( trk2 );
+ struct extraDataBezier_t *xx1 = GET_EXTRA_DATA( trk1, T_NOTRACK, extraDataBezier_t );
+ struct extraDataBezier_t *xx2 = GET_EXTRA_DATA( trk2, T_NOTRACK, extraDataBezier_t );
char * cp = message + strlen(message);
- REGRESS_CHECK_POS( "Pos[0]", xx1, xx2, bezierData.pos[0] )
- REGRESS_CHECK_POS( "Pos[1]", xx1, xx2, bezierData.pos[1] )
- REGRESS_CHECK_POS( "Pos[2]", xx1, xx2, bezierData.pos[2] )
- REGRESS_CHECK_POS( "Pos[3]", xx1, xx2, bezierData.pos[3] )
- REGRESS_CHECK_DIST( "MinCurveRadius", xx1, xx2, bezierData.minCurveRadius )
- REGRESS_CHECK_ANGLE( "A0", xx1, xx2, bezierData.a0 )
- REGRESS_CHECK_ANGLE( "A1", xx1, xx2, bezierData.a1 )
+ REGRESS_CHECK_POS( "Pos[0]", xx1, xx2, pos[0] )
+ REGRESS_CHECK_POS( "Pos[1]", xx1, xx2, pos[1] )
+ REGRESS_CHECK_POS( "Pos[2]", xx1, xx2, pos[2] )
+ REGRESS_CHECK_POS( "Pos[3]", xx1, xx2, pos[3] )
+ REGRESS_CHECK_DIST( "MinCurveRadius", xx1, xx2, minCurveRadius )
+ REGRESS_CHECK_ANGLE( "A0", xx1, xx2, a0 )
+ REGRESS_CHECK_ANGLE( "A1", xx1, xx2, a1 )
// Check arcSegs
- REGRESS_CHECK_DIST( "Length", xx1, xx2, bezierData.length )
- REGRESS_CHECK_POS( "DescOff", xx1, xx2, bezierData.descriptionOff )
- REGRESS_CHECK_WIDTH( "SegsWidth", xx1, xx2, bezierData.segsWidth )
- REGRESS_CHECK_COLOR( "SegsColor", xx1, xx2, bezierData.segsColor )
- REGRESS_CHECK_INT( "LineType", xx1, xx2, bezierData.lineType )
+ REGRESS_CHECK_DIST( "Length", xx1, xx2, length )
+ REGRESS_CHECK_POS( "DescOff", xx1, xx2, descriptionOff )
+ REGRESS_CHECK_WIDTH( "SegsWidth", xx1, xx2, segsWidth )
+ REGRESS_CHECK_COLOR( "SegsColor", xx1, xx2, segsColor )
+ REGRESS_CHECK_INT( "LineType", xx1, xx2, lineType )
return TRUE;
}
@@ -1307,7 +1328,7 @@ static trackCmd_t bezlinCmds = {
NULL,
NULL,
NULL,
- NULL,
+ MakeParallelBezier,
NULL,
RebuildBezier,
NULL,
@@ -1472,7 +1493,7 @@ LOG( log_bezierSegments, 1, ( " BezTr-Exit2 --> SI%d A%0.3f P[%0.3f %0.3f] D%
case SEGPROC_DISTANCE:
- dd = 100000.00; //Just find one distance
+ dd = DIST_INF; //Just find one distance
p0 = data->distance.pos1;
//initialize p2
@@ -1586,43 +1607,48 @@ LOG( log_bezierSegments, 1, ( " BezGA-Out SI%d A%0.3f P[%0.3f %0.3f] B%d\n",
*/
+EXPORT void SetBezierData( track_p p, coOrd pos[4], wDrawColor color, DIST_T width )
+{
+ BOOL_T bTrack = (GetTrkType(p) == T_BEZIER);
+ struct extraDataBezier_t *xx = GET_EXTRA_DATA(p, T_NOTRACK, extraDataBezier_t);
+ xx->pos[0] = pos[0];
+ xx->pos[1] = pos[1];
+ xx->pos[2] = pos[2];
+ xx->pos[3] = pos[3];
+ xx->a0 = FindAngle(pos[1],pos[0]);
+ xx->a1 = FindAngle(pos[2],pos[3]);
+ xx->segsColor = color;
+ xx->segsWidth = width;
+ FixUpBezier(pos, xx, bTrack);
+ ComputeBezierBoundingBox( p, xx );
+ if ( bTrack ) {
+ // Should call SetTrkEndPoint but we may be already connected
+ p->endPt[0].pos = pos[0];
+ p->endPt[0].angle = xx->a0;
+ p->endPt[1].pos = pos[3];
+ p->endPt[1].angle = xx->a1;
+ CheckTrackLength( p );
+ SetTrkBits( p, TB_HIDEDESC );
+ }
+}
+
+
track_p NewBezierTrack(coOrd pos[4], trkSeg_t * tempsegs, int count)
{
- struct extraData *xx;
track_p p;
- p = NewTrack( 0, T_BEZIER, 2, sizeof *xx );
- xx = GetTrkExtraData(p);
- xx->bezierData.pos[0] = pos[0];
- xx->bezierData.pos[1] = pos[1];
- xx->bezierData.pos[2] = pos[2];
- xx->bezierData.pos[3] = pos[3];
- xx->bezierData.segsColor = wDrawColorBlack;
- xx->bezierData.segsWidth = 0;
- FixUpBezier(pos, xx, TRUE);
+ p = NewTrack( 0, T_BEZIER, 2, sizeof *(extraDataBezier_t*)NULL );
+ SetBezierData( p, pos, wDrawColorBlack, 0 );
LOG( log_bezier, 1, ( "NewBezierTrack( EP1 %0.3f, %0.3f, CP1 %0.3f, %0.3f, CP2 %0.3f, %0.3f, EP2 %0.3f, %0.3f ) = %d\n", pos[0].x, pos[0].y, pos[1].x, pos[1].y, pos[2].x, pos[2].y, pos[3].x, pos[3].y, GetTrkIndex(p) ) )
- ComputeBezierBoundingBox( p, xx );
- SetTrkEndPoint( p, 0, pos[0], xx->bezierData.a0);
- SetTrkEndPoint( p, 1, pos[3], xx->bezierData.a1);
- CheckTrackLength( p );
- SetTrkBits( p, TB_HIDEDESC );
return p;
}
+
EXPORT track_p NewBezierLine( coOrd pos[4], trkSeg_t * tempsegs, int count, wDrawColor color, DIST_T width )
{
- struct extraData *xx;
track_p p;
- p = NewTrack( 0, T_BZRLIN, 2, sizeof *xx );
- xx = GetTrkExtraData(p);
- xx->bezierData.pos[0] = pos[0];
- xx->bezierData.pos[1] = pos[1];
- xx->bezierData.pos[2] = pos[2];
- xx->bezierData.pos[3] = pos[3];
- xx->bezierData.segsColor = color;
- xx->bezierData.segsWidth = width;
- FixUpBezier(pos, xx, FALSE);
+ p = NewTrack( 0, T_BZRLIN, 0, sizeof *(extraDataBezier_t*)NULL ); //No endpoints
+ SetBezierData( p, pos, color, width );
LOG( log_bezier, 1, ( "NewBezierLine( EP1 %0.3f, %0.3f, CP1 %0.3f, %0.3f, CP2 %0.3f, %0.3f, EP2 %0.3f, %0.3f) = %d\n", pos[0].x, pos[0].y, pos[1].x, pos[1].y, pos[2].x, pos[2].y, pos[3].x, pos[3].y, GetTrkIndex(p) ) )
- ComputeBezierBoundingBox( p, xx );
return p;
}
@@ -1672,7 +1698,7 @@ extern coOrd BezierPointByParameter(coOrd p[4], double t)
*/
extern DIST_T BezierMathDistance( coOrd * pos, coOrd p[4], int segments, double * t_value)
{
- DIST_T dd = 10000.0;
+ DIST_T dd = DIST_INF;
double t = 0.0;
coOrd pt;
coOrd save_pt = p[0];
diff --git a/app/bin/tbezier.h b/app/bin/tbezier.h
index 823992e..5699eca 100644
--- a/app/bin/tbezier.h
+++ b/app/bin/tbezier.h
@@ -21,9 +21,10 @@
*/
#include "common.h"
-#include "track.h"
+#include "track.h" //- drawLineType
-typedef struct {
+typedef struct extraDataBezier_t {
+ extraDataBase_t base;
coOrd pos[4];
DIST_T minCurveRadius;
ANGLE_T a0, a1;
@@ -33,7 +34,7 @@ typedef struct {
DIST_T segsWidth;
wDrawColor segsColor;
drawLineType_e lineType;
- } BezierData_t;
+ } extraDataBezier_t;
void BezierSplit(coOrd[4], coOrd[4], coOrd[4] , double );
@@ -45,16 +46,18 @@ double BezierCurvature(coOrd[4], double , coOrd *);
double BezierMaxCurve(coOrd[4]);
double BezierMathMinRadius(coOrd[4]);
coOrd BezierMathFindNearestPoint(coOrd *, coOrd[4] , int );
-track_p NewBezierTrack(coOrd[4], trkSeg_t * , int );
-track_p NewBezierLine(coOrd[4], trkSeg_t * , int, wDrawColor, DIST_T);
+void SetBezierData( track_p p, coOrd pos[4], wDrawColor color, DIST_T width );
+track_p NewBezierTrack(coOrd[4], trkSeg_p , int );
+track_p NewBezierLine(coOrd[4], trkSeg_p , int, wDrawColor, DIST_T);
DIST_T BezierMathDistance( coOrd *, coOrd[4], int , double * );
-void FixUpBezier(coOrd[4], struct extraData*, BOOL_T);
+void FixUpBezier(coOrd[4], struct extraDataBezier_t*, BOOL_T);
void FixUpBezierSeg(coOrd[4], trkSeg_p , BOOL_T);
void FixUpBezierSegs(trkSeg_p p,int segCnt);
BOOL_T GetBezierSegmentFromTrack(track_p, trkSeg_p);
BOOL_T GetTracksFromBezierTrack(track_p trk, track_p newTracks[2]);
BOOL_T GetTracksFromBezierSegment(trkSeg_p bezSeg, track_p newTracks[2], track_p old);
void SetBezierLineType( track_p trk, int width );
+BOOL_T GetBezierMiddle( track_p, coOrd * );
DIST_T BezierDescriptionDistance(coOrd pos,track_p trk, coOrd *, BOOL_T, BOOL_T * );
STATUS_T BezierDescriptionMove(track_p trk,wAction_t action,coOrd pos );
diff --git a/app/bin/tcornu.c b/app/bin/tcornu.c
index dd09cfa..5119a5e 100644
--- a/app/bin/tcornu.c
+++ b/app/bin/tcornu.c
@@ -45,23 +45,14 @@
#include "ccurve.h"
#include "cstraigh.h"
#include "cjoin.h"
-#include "utility.h"
#include "common.h"
-#include "i18n.h"
#include "param.h"
-#include "math.h"
-#include "string.h"
#include "cundo.h"
#include "layout.h"
#include "fileio.h"
-#include "assert.h"
EXPORT TRKTYP_T T_CORNU = -1;
-struct extraData {
- cornuData_t cornuData;
- };
-
static int log_cornu = 0;
static DIST_T GetLengthCornu( track_p );
@@ -75,76 +66,76 @@ static DIST_T GetLengthCornu( track_p );
/*
* Run after any changes to the Cornu points
*/
-void SetUpCornuParmFromTracks(track_p trk[2],cornuParm_t * cp, struct extraData* xx) {
+void SetUpCornuParmFromTracks(track_p trk[2],cornuParm_t * cp, struct extraDataCornu_t* xx) {
if (!trk[0]) {
- cp->center[0] = xx->cornuData.c[0];
- cp->angle[0] = xx->cornuData.a[0];
- cp->radius[0] = xx->cornuData.r[0];
+ cp->center[0] = xx->c[0];
+ cp->angle[0] = xx->a[0];
+ cp->radius[0] = xx->r[0];
}
if (!trk[1]) {
- cp->center[1] = xx->cornuData.c[1];
- cp->angle[1] = xx->cornuData.a[1];
- cp->radius[1] = xx->cornuData.r[1];
+ cp->center[1] = xx->c[1];
+ cp->angle[1] = xx->a[1];
+ cp->radius[1] = xx->r[1];
}
}
-EXPORT BOOL_T FixUpCornu(coOrd pos[2], track_p trk[2], EPINX_T ep[2], struct extraData* xx) {
+EXPORT BOOL_T FixUpCornu(coOrd pos[2], track_p trk[2], EPINX_T ep[2], struct extraDataCornu_t* xx) {
cornuParm_t cp;
SetUpCornuParmFromTracks(trk,&cp,xx);
- if (!CallCornu(pos, trk, ep, &xx->cornuData.arcSegs, &cp)) return FALSE;
+ if (!CallCornu(pos, trk, ep, &xx->arcSegs, &cp)) return FALSE;
- xx->cornuData.r[0] = cp.radius[0];
+ xx->r[0] = cp.radius[0];
if (cp.radius[0]==0) {
- xx->cornuData.a[0] = cp.angle[0];
+ xx->a[0] = cp.angle[0];
} else {
- xx->cornuData.c[0] = cp.center[0];
+ xx->c[0] = cp.center[0];
}
- xx->cornuData.r[1] = cp.radius[1];
+ xx->r[1] = cp.radius[1];
if (cp.radius[1]==0) {
- xx->cornuData.a[1] = cp.angle[1];
+ xx->a[1] = cp.angle[1];
} else {
- xx->cornuData.c[1] = cp.center[1];
+ xx->c[1] = cp.center[1];
}
- xx->cornuData.minCurveRadius = CornuMinRadius(pos,xx->cornuData.arcSegs);
- xx->cornuData.windingAngle = CornuTotalWindingArc(pos,xx->cornuData.arcSegs);
+ xx->minCurveRadius = CornuMinRadius(pos,xx->arcSegs);
+ xx->windingAngle = CornuTotalWindingArc(pos,xx->arcSegs);
DIST_T last_c;
- if (xx->cornuData.r[0] == 0) last_c = 0;
- else last_c = 1/xx->cornuData.r[0];
- xx->cornuData.maxRateofChange = CornuMaxRateofChangeofCurvature(pos,xx->cornuData.arcSegs,&last_c);
- xx->cornuData.length = CornuLength(pos, xx->cornuData.arcSegs);
+ if (xx->r[0] == 0) last_c = 0;
+ else last_c = 1/xx->r[0];
+ xx->maxRateofChange = CornuMaxRateofChangeofCurvature(pos,xx->arcSegs,&last_c);
+ xx->length = CornuLength(pos, xx->arcSegs);
return TRUE;
}
-EXPORT BOOL_T FixUpCornu0(coOrd pos[2],coOrd center[2],ANGLE_T angle[2],DIST_T radius[2],struct extraData* xx) {
+EXPORT BOOL_T FixUpCornu0(coOrd pos[2],coOrd center[2],ANGLE_T angle[2],DIST_T radius[2],struct extraDataCornu_t* xx) {
DIST_T last_c;
- if (!CallCornu0(pos, center, angle, radius,&xx->cornuData.arcSegs,FALSE)) return FALSE;
- xx->cornuData.minCurveRadius = CornuMinRadius(pos,
- xx->cornuData.arcSegs);
- if (xx->cornuData.r[0] == 0) last_c = 0;
- else last_c = 1/xx->cornuData.r[0];
- xx->cornuData.maxRateofChange = CornuMaxRateofChangeofCurvature(pos,xx->cornuData.arcSegs,&last_c);
- xx->cornuData.length = CornuLength(pos, xx->cornuData.arcSegs);
- xx->cornuData.windingAngle = CornuTotalWindingArc(pos,xx->cornuData.arcSegs);
+ if (!CallCornu0(pos, center, angle, radius,&xx->arcSegs,FALSE)) return FALSE;
+ xx->minCurveRadius = CornuMinRadius(pos,
+ xx->arcSegs);
+ if (xx->r[0] == 0) last_c = 0;
+ else last_c = 1/xx->r[0];
+ xx->maxRateofChange = CornuMaxRateofChangeofCurvature(pos,xx->arcSegs,&last_c);
+ xx->length = CornuLength(pos, xx->arcSegs);
+ xx->windingAngle = CornuTotalWindingArc(pos,xx->arcSegs);
return TRUE;
}
EXPORT char * CreateSegPathList(track_p trk) {
char * cp = "\0\0";
if (GetTrkType(trk) != T_CORNU) return cp;
- struct extraData *xx = GetTrkExtraData(trk);
- if (xx->cornuData.cornuPath) MyFree(xx->cornuData.cornuPath);
- xx->cornuData.cornuPath = MyMalloc(xx->cornuData.arcSegs.cnt+2);
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
+ if (xx->cornuPath) MyFree(xx->cornuPath);
+ xx->cornuPath = MyMalloc(xx->arcSegs.cnt+2);
int j= 0;
- for (int i = 0;i<xx->cornuData.arcSegs.cnt;i++,j++) {
- xx->cornuData.cornuPath[j] = i+1;
+ for (int i = 0;i<xx->arcSegs.cnt;i++,j++) {
+ xx->cornuPath[j] = i+1;
}
- xx->cornuData.cornuPath[j] = cp[0];
- xx->cornuData.cornuPath[j+1] = cp[0];
- return xx->cornuData.cornuPath;
+ xx->cornuPath[j] = cp[0];
+ xx->cornuPath[j+1] = cp[0];
+ return xx->cornuPath;
}
@@ -159,11 +150,11 @@ static void GetCornuAngles( ANGLE_T *a0, ANGLE_T *a1, track_p trk )
}
-static void ComputeCornuBoundingBox( track_p trk, struct extraData * xx )
+static void ComputeCornuBoundingBox( track_p trk, struct extraDataCornu_t * xx )
{
coOrd orig, size;
- GetSegBounds(zero,0,xx->cornuData.arcSegs.cnt,xx->cornuData.arcSegs.ptr, &orig, &size);
+ GetSegBounds(zero,0,xx->arcSegs.cnt,xx->arcSegs.ptr, &orig, &size);
coOrd hi, lo;
@@ -183,45 +174,78 @@ DIST_T CornuDescriptionDistance(
BOOL_T show_hidden,
BOOL_T * hidden)
{
- struct extraData *xx = GetTrkExtraData(trk);
coOrd p1;
if (hidden) *hidden = FALSE;
if ( GetTrkType( trk ) != T_CORNU || ((( GetTrkBits( trk ) & TB_HIDEDESC ) != 0) && !show_hidden) )
- return 100000;
+ return DIST_INF;
+
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
+ if (( GetTrkBits( trk ) & TB_HIDEDESC ) != 0) xx->descriptionOff = zero;
- coOrd offset = xx->cornuData.descriptionOff;
+ coOrd end0, end0off, end1, end1off;
+ end0 = xx->pos[0];
+ end1 = xx->pos[1];
+ ANGLE_T a;
+ a = FindAngle(end0,end1);
+ Translate(&end0off,end0,a+90,xx->descriptionOff.y);
+ Translate(&end1off,end1,a+90,xx->descriptionOff.y);
+
+ p1.x = (end1off.x - end0off.x)*(xx->descriptionOff.x+0.5) + end0off.x;
+ p1.y = (end1off.y - end0off.y)*(xx->descriptionOff.x+0.5) + end0off.y;
- if (( GetTrkBits( trk ) & TB_HIDEDESC ) != 0) offset = zero;
- p1.x = xx->cornuData.pos[0].x + ((xx->cornuData.pos[1].x-xx->cornuData.pos[0].x)/2) + offset.x;
- p1.y = xx->cornuData.pos[0].y + ((xx->cornuData.pos[1].y-xx->cornuData.pos[0].y)/2) + offset.y;
if (hidden) *hidden = (GetTrkBits( trk ) & TB_HIDEDESC);
*dpos = p1;
+
+ coOrd tpos = pos;
+ if (DistanceCornu(trk,&tpos)<FindDistance( p1, pos ))
+ return DistanceCornu(trk,&pos);
return FindDistance( p1, pos );
}
+typedef struct {
+ coOrd pos;
+ ANGLE_T angle;
+ } pos_angle_t;
static void DrawCornuDescription(
track_p trk,
drawCmd_p d,
wDrawColor color )
{
- struct extraData *xx = GetTrkExtraData(trk);
wFont_p fp;
- coOrd pos;
+ coOrd epos0, epos1, offpos0, offpos1;
if (layoutLabels == 0)
return;
if ((labelEnable&LABELENABLE_TRKDESC)==0)
return;
- pos.x = xx->cornuData.pos[0].x + ((xx->cornuData.pos[1].x - xx->cornuData.pos[0].x)/2);
- pos.y = xx->cornuData.pos[0].y + ((xx->cornuData.pos[1].y - xx->cornuData.pos[0].y)/2);
- pos.x += xx->cornuData.descriptionOff.x;
- pos.y += xx->cornuData.descriptionOff.y;
+
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
+ epos0 = xx->pos[0];
+ epos1 = xx->pos[1];
+ ANGLE_T a = FindAngle(epos0,epos1);
+ Translate(&offpos0,epos0,a+90,xx->descriptionOff.y);
+ Translate(&offpos1,epos1,a+90,xx->descriptionOff.y);
+
fp = wStandardFont( F_TIMES, FALSE, FALSE );
- sprintf( message, _("Cornu: len=%0.2f min_rad=%0.2f"),
- xx->cornuData.length, (xx->cornuData.minCurveRadius>=10000.00)?0.0:xx->cornuData.minCurveRadius);
- DrawBoxedString( BOX_BOX, d, pos, message, fp, (wFontSize_t)descriptionFontSize, color, 0.0 );
+ sprintf( message, _("Cornu: L %s A %0.3f L %s MinR %s"),
+ FormatDistance(FindDistance(xx->pos[0], xx->pos[1])),
+ FindAngle(xx->pos[0], xx->pos[1]),
+ FormatDistance(xx->length),
+ FormatDistance((xx->minCurveRadius>=DIST_INF)?0.0:xx->minCurveRadius));
+ DrawLine(d,xx->pos[0],offpos0,0,color);
+ DrawLine(d,xx->pos[1],offpos1,0,color);
+ DrawDimLine( d, offpos0, offpos1, message, (wFontSize_t)descriptionFontSize, xx->descriptionOff.x+0.5, 0, color, 0x00 );
+
+ if (GetTrkBits( trk ) & TB_DETAILDESC) {
+ coOrd details_pos;
+ details_pos.x = (offpos1.x - offpos0.x)*(xx->descriptionOff.x+0.5) + offpos0.x;
+ details_pos.y = (offpos1.y - offpos0.y)*(xx->descriptionOff.x+0.5) + offpos0.y-(2*descriptionFontSize/mainD.dpi);
+
+ AddTrkDetails(d, trk, details_pos, xx->length, color);
+ }
+
}
@@ -230,39 +254,23 @@ STATUS_T CornuDescriptionMove(
wAction_t action,
coOrd pos )
{
- struct extraData *xx = GetTrkExtraData(trk);
static coOrd p0,p1;
static BOOL_T editState;
- if (GetTrkType(trk) != T_CORNU) return C_TERMINATE;
-
- p0.x = xx->cornuData.pos[0].x + ((xx->cornuData.pos[1].x - xx->cornuData.pos[0].x)/2);
- p0.y = xx->cornuData.pos[0].y + ((xx->cornuData.pos[1].y - xx->cornuData.pos[0].y)/2);
-
- switch (action) {
- case C_DOWN:
- DrawCornuDescription( trk, &mainD, wDrawColorWhite );
- case C_MOVE:
- case C_UP:
- editState = TRUE;
- p1 = pos;
- xx->cornuData.descriptionOff.x = pos.x - p0.x;
- xx->cornuData.descriptionOff.y = pos.y - p0.y;
- if (action == C_UP) {
- editState = FALSE;
- wDrawColor color = GetTrkColor( trk, &mainD );
- DrawCornuDescription( trk, &mainD, color );
- }
- return action==C_UP?C_TERMINATE:C_CONTINUE;
-
- case C_REDRAW:
- if (editState) {
- DrawCornuDescription( trk, &tempD, wDrawColorBlue );
- DrawLine( &tempD, p1, p0, 0, wDrawColorBlue );
- }
- break;
+ if (GetTrkType(trk) != T_CORNU) return C_CONTINUE;
+
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
+ ANGLE_T ap;
+ coOrd end0, end1;
+ end0 = xx->pos[0];
+ end1 = xx->pos[1];
+ ap = NormalizeAngle(FindAngle(end0,pos)-FindAngle(end0,end1));
+
+ xx->descriptionOff.y = FindDistance(end0,pos)*sin(D2R(ap));
+ xx->descriptionOff.x = -0.5 + FindDistance(end0,pos)*cos(D2R(ap))/FindDistance(end0,end1);
+ if (xx->descriptionOff.x > 0.5) xx->descriptionOff.x = 0.5;
+ if (xx->descriptionOff.x < -0.5) xx->descriptionOff.x = -0.5;
- }
return C_CONTINUE;
}
@@ -312,7 +320,6 @@ static descData_t cornuDesc[] = {
static void UpdateCornu( track_p trk, int inx, descData_p descUpd, BOOL_T final )
{
- struct extraData *xx = GetTrkExtraData(trk);
BOOL_T updateEndPts;
EPINX_T ep;
@@ -321,61 +328,62 @@ static void UpdateCornu( track_p trk, int inx, descData_p descUpd, BOOL_T final
return;
updateEndPts = FALSE;
UndrawNewTrack(trk);
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
switch ( inx ) {
case P0:
if (GetTrkEndTrk(trk,0)) break;
updateEndPts = TRUE;
- xx->cornuData.pos[0] = cornData.pos[0];
- Translate(&xx->cornuData.c[0],xx->cornuData.pos[0],xx->cornuData.a[0]+90,xx->cornuData.r[0]);
- cornData.center[0] = xx->cornuData.c[0];
+ xx->pos[0] = cornData.pos[0];
+ Translate(&xx->c[0],xx->pos[0],xx->a[0]+90,xx->r[0]);
+ cornData.center[0] = xx->c[0];
cornuDesc[P0].mode |= DESC_CHANGE;
cornuDesc[C0].mode |= DESC_CHANGE;
/* no break */
case P1:
if (GetTrkEndTrk(trk,1)) break;
updateEndPts = TRUE;
- xx->cornuData.pos[1]= cornData.pos[1];
- Translate(&xx->cornuData.c[1],xx->cornuData.pos[1],xx->cornuData.a[1]-90,xx->cornuData.r[1]);
- cornData.center[1] = xx->cornuData.c[1];
+ xx->pos[1]= cornData.pos[1];
+ Translate(&xx->c[1],xx->pos[1],xx->a[1]-90,xx->r[1]);
+ cornData.center[1] = xx->c[1];
cornuDesc[P1].mode |= DESC_CHANGE;
cornuDesc[C1].mode |= DESC_CHANGE;
break;
case A0:
if (GetTrkEndTrk(trk,0)) break;
updateEndPts = TRUE;
- xx->cornuData.a[0] = cornData.angle[0];
- Translate(&xx->cornuData.c[0],xx->cornuData.pos[0],xx->cornuData.a[0]+90,xx->cornuData.r[0]);
- cornData.center[0] = xx->cornuData.c[0];
+ xx->a[0] = cornData.angle[0];
+ Translate(&xx->c[0],xx->pos[0],xx->a[0]+90,xx->r[0]);
+ cornData.center[0] = xx->c[0];
cornuDesc[A0].mode |= DESC_CHANGE;
cornuDesc[C0].mode |= DESC_CHANGE;
break;
case A1:
if (GetTrkEndTrk(trk,1)) break;
updateEndPts = TRUE;
- xx->cornuData.a[1]= cornData.angle[1];
- Translate(&xx->cornuData.c[1],xx->cornuData.pos[1],xx->cornuData.a[1]-90,xx->cornuData.r[1]);
- cornData.center[1] = xx->cornuData.c[1];
+ xx->a[1]= cornData.angle[1];
+ Translate(&xx->c[1],xx->pos[1],xx->a[1]-90,xx->r[1]);
+ cornData.center[1] = xx->c[1];
cornuDesc[A1].mode |= DESC_CHANGE;
cornuDesc[C1].mode |= DESC_CHANGE;
break;
case C0:
if (GetTrkEndTrk(trk,0)) break;
//updateEndPts = TRUE;
- //xx->cornuData.c[0] = cornData.center[0];
+ //xx->c[0] = cornData.center[0];
//cornuDesc[C0].mode |= DESC_CHANGE;
break;
case C1:
if (GetTrkEndTrk(trk,1)) break;
//updateEndPts = TRUE;
- //xx->cornuData.c[1] = cornData.center[1];
+ //xx->c[1] = cornData.center[1];
//cornuDesc[C1].mode |= DESC_CHANGE;
break;
case R0:
if (GetTrkEndTrk(trk,0)) break;
updateEndPts = TRUE;
- xx->cornuData.r[0] = fabs(cornData.radius[0]);
- Translate(&xx->cornuData.c[0],xx->cornuData.pos[0],NormalizeAngle(xx->cornuData.a[0]+90),cornData.radius[0]);
- cornData.center[0] = xx->cornuData.c[0];
+ xx->r[0] = fabs(cornData.radius[0]);
+ Translate(&xx->c[0],xx->pos[0],NormalizeAngle(xx->a[0]+90),cornData.radius[0]);
+ cornData.center[0] = xx->c[0];
cornData.radius[0] = fabs(cornData.radius[0]);
cornuDesc[R0].mode |= DESC_CHANGE;
cornuDesc[C0].mode |= DESC_CHANGE;
@@ -383,9 +391,9 @@ static void UpdateCornu( track_p trk, int inx, descData_p descUpd, BOOL_T final
case R1:
if (GetTrkEndTrk(trk,1)) break;
updateEndPts = TRUE;
- xx->cornuData.r[1]= fabs(cornData.radius[1]);
- Translate(&xx->cornuData.c[1],xx->cornuData.pos[1],NormalizeAngle(xx->cornuData.a[1]-90),cornData.radius[1]);
- cornData.center[1] = xx->cornuData.c[1];
+ xx->r[1]= fabs(cornData.radius[1]);
+ Translate(&xx->c[1],xx->pos[1],NormalizeAngle(xx->a[1]-90),cornData.radius[1]);
+ cornData.center[1] = xx->c[1];
cornData.radius[1] = fabs(cornData.radius[1]);
cornuDesc[R1].mode |= DESC_CHANGE;
cornuDesc[C1].mode |= DESC_CHANGE;
@@ -414,11 +422,11 @@ static void UpdateCornu( track_p trk, int inx, descData_p descUpd, BOOL_T final
if (updateEndPts) {
if ( GetTrkEndTrk(trk,0) == NULL ) {
- SetTrkEndPoint( trk, 0, cornData.pos[0], xx->cornuData.a[0]);
+ SetTrkEndPoint( trk, 0, cornData.pos[0], xx->a[0]);
cornuDesc[A0].mode |= DESC_CHANGE;
}
if ( GetTrkEndTrk(trk,1) == NULL ) {
- SetTrkEndPoint( trk, 1, cornData.pos[1], xx->cornuData.a[1]);
+ SetTrkEndPoint( trk, 1, cornData.pos[1], xx->a[1]);
cornuDesc[A1].mode |= DESC_CHANGE;
}
}
@@ -427,7 +435,7 @@ static void UpdateCornu( track_p trk, int inx, descData_p descUpd, BOOL_T final
ts[0] = GetTrkEndTrk(trk,0);
ts[1] = GetTrkEndTrk(trk,1);
SetUpCornuParmFromTracks(ts,&cp,xx);
- CallCornu0(xx->cornuData.pos, xx->cornuData.c, xx->cornuData.a, xx->cornuData.r, &xx->cornuData.arcSegs, FALSE);
+ CallCornu0(xx->pos, xx->c, xx->a, xx->r, &xx->arcSegs, FALSE);
//FixUpCornu(xx->bezierData.pos, xx, IsTrack(trk));
ComputeCornuBoundingBox(trk, xx);
@@ -437,32 +445,32 @@ static void UpdateCornu( track_p trk, int inx, descData_p descUpd, BOOL_T final
static void DescribeCornu( track_p trk, char * str, CSIZE_T len )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
DIST_T d;
- d = xx->cornuData.length;
+ d = xx->length;
sprintf( str, _("Cornu Track(%d): Layer=%u MinRadius=%s Length=%s EP=[%0.3f,%0.3f] [%0.3f,%0.3f]"),
GetTrkIndex(trk),
GetTrkLayer(trk)+1,
- FormatDistance(xx->cornuData.minCurveRadius),
+ FormatDistance(xx->minCurveRadius),
FormatDistance(d),
- PutDim(xx->cornuData.pos[0].x),PutDim(xx->cornuData.pos[0].y),
- PutDim(xx->cornuData.pos[1].x),PutDim(xx->cornuData.pos[1].y)
+ PutDim(xx->pos[0].x),PutDim(xx->pos[0].y),
+ PutDim(xx->pos[1].x),PutDim(xx->pos[1].y)
);
- cornData.length = xx->cornuData.length;
- cornData.minRadius = xx->cornuData.minCurveRadius;
- cornData.maxRateOfChange = xx->cornuData.maxRateofChange*GetScaleRatio(GetLayoutCurScale());
- cornData.windingAngle = xx->cornuData.windingAngle;
+ cornData.length = xx->length;
+ cornData.minRadius = xx->minCurveRadius;
+ cornData.maxRateOfChange = xx->maxRateofChange*GetScaleRatio(GetLayoutCurScale());
+ cornData.windingAngle = xx->windingAngle;
cornData.layerNumber = GetTrkLayer(trk);
- cornData.pos[0] = xx->cornuData.pos[0];
- cornData.pos[1] = xx->cornuData.pos[1];
- cornData.angle[0] = xx->cornuData.a[0];
- cornData.angle[1] = xx->cornuData.a[1];
- cornData.center[0] = xx->cornuData.c[0];
- cornData.center[1] = xx->cornuData.c[1];
- cornData.radius[0] = xx->cornuData.r[0];
- cornData.radius[1] = xx->cornuData.r[1];
+ cornData.pos[0] = xx->pos[0];
+ cornData.pos[1] = xx->pos[1];
+ cornData.angle[0] = xx->a[0];
+ cornData.angle[1] = xx->a[1];
+ cornData.center[0] = xx->c[0];
+ cornData.center[1] = xx->c[1];
+ cornData.radius[0] = xx->r[0];
+ cornData.radius[1] = xx->r[1];
if (GetTrkType(trk) == T_CORNU) {
ComputeElev( trk, 0, FALSE, &cornData.elev[0], NULL, FALSE );
ComputeElev( trk, 1, FALSE, &cornData.elev[1], NULL, FALSE );
@@ -501,14 +509,14 @@ static void DescribeCornu( track_p trk, char * str, CSIZE_T len )
DIST_T DistanceCornu( track_p t, coOrd * p )
{
- struct extraData *xx = GetTrkExtraData(t);
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(t, T_CORNU, extraDataCornu_t);
//return BezierMathDistance(p,xx->bezierData.pos,100, &s);
- DIST_T d = 100000.0;
- coOrd p2 = xx->cornuData.pos[0]; //Set initial point
+ DIST_T d = DIST_INF;
+ coOrd p2 = xx->pos[0]; //Set initial point
segProcData_t segProcData;
- for (int i = 0;i<xx->cornuData.arcSegs.cnt;i++) {
- trkSeg_t seg = DYNARR_N(trkSeg_t,xx->cornuData.arcSegs,i);
+ for (int i = 0;i<xx->arcSegs.cnt;i++) {
+ trkSeg_t seg = DYNARR_N(trkSeg_t,xx->arcSegs,i);
if (seg.type == SEG_FILCRCL) continue;
segProcData.distance.pos1 = * p;
SegProc(SEGPROC_DISTANCE,&seg,&segProcData);
@@ -524,7 +532,6 @@ DIST_T DistanceCornu( track_p t, coOrd * p )
static void DrawCornu( track_p t, drawCmd_p d, wDrawColor color )
{
- struct extraData *xx = GetTrkExtraData(t);
long widthOptions = DTS_LEFT|DTS_RIGHT;
if ( ((d->options&DC_SIMPLE)==0) &&
@@ -534,7 +541,8 @@ static void DrawCornu( track_p t, drawCmd_p d, wDrawColor color )
DrawCornuDescription( t, d, color );
}
DIST_T scale2rail = (d->options&DC_PRINT)?(twoRailScale*2+1):twoRailScale;
- DrawSegsO(d,t,zero,0.0,xx->cornuData.arcSegs.ptr,xx->cornuData.arcSegs.cnt, GetTrkGauge(t), color, widthOptions);
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(t, T_CORNU, extraDataCornu_t);
+ DrawSegsO(d,t,zero,0.0,xx->arcSegs.ptr,xx->arcSegs.cnt, GetTrkGauge(t), color, widthOptions);
DrawEndPt( d, t, 0, color );
DrawEndPt( d, t, 1, color );
}
@@ -552,49 +560,49 @@ void FreeSubSegs(trkSeg_t* s) {
static void DeleteCornu( track_p t )
{
- struct extraData *xx = GetTrkExtraData(t);
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(t, T_CORNU, extraDataCornu_t);
- for (int i=0;i<xx->cornuData.arcSegs.cnt;i++) {
- trkSeg_t s = DYNARR_N(trkSeg_t,xx->cornuData.arcSegs,i);
+ for (int i=0;i<xx->arcSegs.cnt;i++) {
+ trkSeg_t s = DYNARR_N(trkSeg_t,xx->arcSegs,i);
FreeSubSegs(&s);
}
- if (xx->cornuData.arcSegs.ptr)
- MyFree(xx->cornuData.arcSegs.ptr);
- xx->cornuData.arcSegs.max = 0;
- xx->cornuData.arcSegs.cnt = 0;
- xx->cornuData.arcSegs.ptr = NULL;
+ if (xx->arcSegs.ptr)
+ MyFree(xx->arcSegs.ptr);
+ xx->arcSegs.max = 0;
+ xx->arcSegs.cnt = 0;
+ xx->arcSegs.ptr = NULL;
}
static BOOL_T WriteCornu( track_p t, FILE * f )
{
- struct extraData *xx = GetTrkExtraData(t);
long options;
BOOL_T rc = TRUE;
BOOL_T track =(GetTrkType(t)==T_CORNU);
options = GetTrkWidth(t) & 0x0F;
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(t, T_CORNU, extraDataCornu_t);
if ( ( GetTrkBits(t) & TB_HIDEDESC ) == 0 ) options |= 0x80;
rc &= fprintf(f, "%s %d %d %ld 0 0 %s %d %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f %0.6f \n",
"CORNU",GetTrkIndex(t), GetTrkLayer(t), (long)options,
GetTrkScaleName(t), GetTrkVisible(t)|(GetTrkNoTies(t)?1<<2:0)|(GetTrkBridge(t)?1<<3:0),
- xx->cornuData.pos[0].x, xx->cornuData.pos[0].y,
- xx->cornuData.a[0],
- xx->cornuData.r[0],
- xx->cornuData.c[0].x,xx->cornuData.c[0].y,
- xx->cornuData.pos[1].x, xx->cornuData.pos[1].y,
- xx->cornuData.a[1],
- xx->cornuData.r[1],
- xx->cornuData.c[1].x,xx->cornuData.c[1].y )>0;
+ xx->pos[0].x, xx->pos[0].y,
+ xx->a[0],
+ xx->r[0],
+ xx->c[0].x,xx->c[0].y,
+ xx->pos[1].x, xx->pos[1].y,
+ xx->a[1],
+ xx->r[1],
+ xx->c[1].x,xx->c[1].y )>0;
if (track) {
rc &= WriteEndPt( f, t, 0 );
rc &= WriteEndPt( f, t, 1 );
}
- rc &= WriteSegs( f, xx->cornuData.arcSegs.cnt, xx->cornuData.arcSegs.ptr );
+ rc &= WriteSegs( f, xx->arcSegs.cnt, xx->arcSegs.ptr );
return rc;
}
static BOOL_T ReadCornu( char * line )
{
- struct extraData *xx;
+ struct extraDataCornu_t *xx;
track_p t;
wIndex_t index;
BOOL_T visible;
@@ -614,24 +622,24 @@ static BOOL_T ReadCornu( char * line )
return FALSE;
t = NewTrack( index, T_CORNU, 0, sizeof *xx );
- xx = GetTrkExtraData(t);
SetTrkVisible(t, visible&2);
SetTrkNoTies(t, visible&4);
SetTrkBridge(t, visible&8);
SetTrkScale(t, LookupScale(scale));
SetTrkLayer(t, layer );
SetTrkWidth(t, (int)(options&0x0F));
- if ( ( options & 0x80 ) == 0 ) SetTrkBits(t,TB_HIDEDESC);
- xx->cornuData.pos[0] = p0;
- xx->cornuData.pos[1] = p1;
- xx->cornuData.a[0] = a0;
- xx->cornuData.r[0] = r0;
- xx->cornuData.a[1] = a1;
- xx->cornuData.c[0] = c0;
- xx->cornuData.c[1] = c1;
- xx->cornuData.r[1] = r1;
- xx->cornuData.descriptionOff.x = xx->cornuData.descriptionOff.y = 0.0;
- FixUpCornu0(xx->cornuData.pos,xx->cornuData.c,xx->cornuData.a, xx->cornuData.r, xx);
+ if ( paramVersion < VERSION_DESCRIPTION2 || ( options & 0x80 ) == 0 ) SetTrkBits(t,TB_HIDEDESC);
+ xx = GET_EXTRA_DATA(t, T_CORNU, extraDataCornu_t);
+ xx->pos[0] = p0;
+ xx->pos[1] = p1;
+ xx->a[0] = a0;
+ xx->r[0] = r0;
+ xx->a[1] = a1;
+ xx->c[0] = c0;
+ xx->c[1] = c1;
+ xx->r[1] = r1;
+ xx->descriptionOff.x = xx->descriptionOff.y = 0.0;
+ FixUpCornu0(xx->pos,xx->c,xx->a, xx->r, xx);
ComputeCornuBoundingBox(t,xx);
SetEndPts(t,2);
return TRUE;
@@ -639,55 +647,54 @@ static BOOL_T ReadCornu( char * line )
static void MoveCornu( track_p trk, coOrd orig )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
for (int i=0;i<2;i++) {
- xx->cornuData.pos[i].x += orig.x;
- xx->cornuData.pos[i].y += orig.y;
- xx->cornuData.c[i].x += orig.x;
- xx->cornuData.c[i].y += orig.y;
+ xx->pos[i].x += orig.x;
+ xx->pos[i].y += orig.y;
+ xx->c[i].x += orig.x;
+ xx->c[i].y += orig.y;
}
RebuildCornu(trk);
}
static void RotateCornu( track_p trk, coOrd orig, ANGLE_T angle )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
for (int i=0;i<2;i++) {
- Rotate( &xx->cornuData.pos[i], orig, angle );
- Rotate( &xx->cornuData.c[i], orig, angle);
- xx->cornuData.a[i] = NormalizeAngle(xx->cornuData.a[i]+angle);
+ Rotate( &xx->pos[i], orig, angle );
+ Rotate( &xx->c[i], orig, angle);
+ xx->a[i] = NormalizeAngle(xx->a[i]+angle);
}
RebuildCornu(trk);
}
static void RescaleCornu( track_p trk, FLOAT_T ratio )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
for (int i=0;i<2;i++) {
- xx->cornuData.pos[i].x *= ratio;
- xx->cornuData.pos[i].y *= ratio;
- xx->cornuData.c[i].x *= ratio;
- xx->cornuData.c[i].y *= ratio;
- xx->cornuData.r[i] *= ratio;
+ xx->pos[i].x *= ratio;
+ xx->pos[i].y *= ratio;
+ xx->c[i].x *= ratio;
+ xx->c[i].y *= ratio;
+ xx->r[i] *= ratio;
}
RebuildCornu(trk);
}
EXPORT BOOL_T SetCornuEndPt(track_p trk, EPINX_T inx, coOrd pos, coOrd center, ANGLE_T angle, DIST_T radius) {
- struct extraData *xx = GetTrkExtraData(trk);
- xx->cornuData.pos[inx] = pos;
- xx->cornuData.c[inx] = center;
- xx->cornuData.a[inx] = angle;
- xx->cornuData.r[inx] = radius;
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
+ xx->pos[inx] = pos;
+ xx->c[inx] = center;
+ xx->a[inx] = angle;
+ xx->r[inx] = radius;
if (!RebuildCornu(trk)) return FALSE;
- SetTrkEndPoint( trk, inx, xx->cornuData.pos[inx], xx->cornuData.a[inx]);
+ SetTrkEndPoint( trk, inx, xx->pos[inx], xx->a[inx]);
return TRUE;
}
void GetCornuParmsNear(track_p t, int sel, coOrd * pos2, coOrd * center, ANGLE_T * angle2, DIST_T * radius ) {
- struct extraData *xx = GetTrkExtraData(t);
coOrd pos = *pos2;
double dd = DistanceCornu(t, &pos); //Pos adjusted to be on curve
int inx;
@@ -695,13 +702,14 @@ void GetCornuParmsNear(track_p t, int sel, coOrd * pos2, coOrd * center, ANGLE_T
*angle2 = 0.0;
*center = zero;
wBool_t back,neg;
- ANGLE_T angle = GetAngleSegs(xx->cornuData.arcSegs.cnt,(trkSeg_t *)(xx->cornuData.arcSegs.ptr),&pos,&inx,NULL,&back,NULL,&neg);
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(t, T_CORNU, extraDataCornu_t);
+ ANGLE_T angle = GetAngleSegs(xx->arcSegs.cnt,(trkSeg_t *)(xx->arcSegs.ptr),&pos,&inx,NULL,&back,NULL,&neg);
if (inx == -1) {
return; //Error in GetAngle
}
- trkSeg_p segPtr = &DYNARR_N(trkSeg_t, xx->cornuData.arcSegs, inx);
+ trkSeg_p segPtr = &DYNARR_N(trkSeg_t, xx->arcSegs, inx);
if (segPtr->type == SEG_BEZTRK) {
GetAngleSegs(segPtr->bezSegs.cnt,(trkSeg_t *)(segPtr->bezSegs.ptr),&pos,&inx,NULL,&back,NULL,&neg);
@@ -770,11 +778,10 @@ void GetCornuParmsTemp(dynArr_t * array_p, int sel, coOrd * pos2, coOrd * center
*/
static BOOL_T SplitCornu( track_p trk, coOrd pos, EPINX_T ep, track_p *leftover, EPINX_T * ep0, EPINX_T * ep1 )
{
- struct extraData *xx = GetTrkExtraData(trk);
track_p trk1;
DIST_T radius = 0.0;
coOrd center;
- int inx;
+ int inx,subinx;
BOOL_T track;
track = IsTrack(trk);
@@ -784,17 +791,16 @@ static BOOL_T SplitCornu( track_p trk, coOrd pos, EPINX_T ep, track_p *leftover,
if (dd>minLength) return FALSE;
BOOL_T back, neg;
- ANGLE_T angle = GetAngleSegs(xx->cornuData.arcSegs.cnt,(trkSeg_t *)(xx->cornuData.arcSegs.ptr),&pos,&inx,NULL,&back,NULL,&neg);
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
+ ANGLE_T angle = GetAngleSegs(xx->arcSegs.cnt,(trkSeg_t *)(xx->arcSegs.ptr),&pos,&inx,NULL,&back,&subinx,&neg);
if (inx == -1) return FALSE;
- trkSeg_p segPtr = &DYNARR_N(trkSeg_t, xx->cornuData.arcSegs, inx);
-
- GetAngleSegs(segPtr->bezSegs.cnt,(trkSeg_t *)(segPtr->bezSegs.ptr),&pos,&inx,NULL,&back,NULL,&neg);
+ trkSeg_p segPtr = &DYNARR_N(trkSeg_t, xx->arcSegs, inx);
- if (inx == -1) return FALSE;
-
- segPtr = &DYNARR_N(trkSeg_t, segPtr->bezSegs, inx);
+ if (subinx != -1) {
+ segPtr = &DYNARR_N(trkSeg_t, segPtr->bezSegs, subinx);
+ }
if (segPtr->type == SEG_STRTRK) {
radius = 0.0;
@@ -805,22 +811,22 @@ static BOOL_T SplitCornu( track_p trk, coOrd pos, EPINX_T ep, track_p *leftover,
}
if (ep) {
new.pos[0] = pos;
- new.pos[1] = xx->cornuData.pos[1];
+ new.pos[1] = xx->pos[1];
new.angle[0] = NormalizeAngle(angle+(neg==back?180:0));
- new.angle[1] = xx->cornuData.a[1];
+ new.angle[1] = xx->a[1];
new.center[0] = center;
- new.center[1] = xx->cornuData.c[1];
+ new.center[1] = xx->c[1];
new.radius[0] = radius;
- new.radius[1] = xx->cornuData.r[1];
+ new.radius[1] = xx->r[1];
} else {
new.pos[1] = pos;
- new.pos[0] = xx->cornuData.pos[0];
+ new.pos[0] = xx->pos[0];
new.angle[1] = NormalizeAngle(angle+(neg==back?0:180));
- new.angle[0] = xx->cornuData.a[0];
+ new.angle[0] = xx->a[0];
new.center[1] = center;
- new.center[0] = xx->cornuData.c[0];
+ new.center[0] = xx->c[0];
new.radius[1] = radius;
- new.radius[0] = xx->cornuData.r[0];
+ new.radius[0] = xx->r[0];
}
trk1 = NewCornuTrack(new.pos,new.center,new.angle,new.radius,NULL,0);
@@ -843,15 +849,15 @@ static BOOL_T SplitCornu( track_p trk, coOrd pos, EPINX_T ep, track_p *leftover,
UpdateTrkEndElev( trk1, ep, opt, height, (opt==ELEV_STATION)?GetTrkEndElevStation(trk,ep):NULL );
UndoModify(trk);
- xx->cornuData.pos[ep] = pos;
- xx->cornuData.a[ep] = NormalizeAngle(new.angle[1-ep]+180);
- xx->cornuData.r[ep] = new.radius[1-ep];
- xx->cornuData.c[ep] = new.center[1-ep];
+ xx->pos[ep] = pos;
+ xx->a[ep] = NormalizeAngle(new.angle[1-ep]+180);
+ xx->r[ep] = new.radius[1-ep];
+ xx->c[ep] = new.center[1-ep];
//Wipe out old elevation for ep1
RebuildCornu(trk);
- SetTrkEndPoint(trk, ep, xx->cornuData.pos[ep], xx->cornuData.a[ep]);
+ SetTrkEndPoint(trk, ep, xx->pos[ep], xx->a[ep]);
UpdateTrkEndElev( trk, ep, ELEV_NONE, 0, NULL);
*leftover = trk1;
@@ -864,12 +870,12 @@ static BOOL_T SplitCornu( track_p trk, coOrd pos, EPINX_T ep, track_p *leftover,
BOOL_T MoveCornuEndPt ( track_p *trk, EPINX_T *ep, coOrd pos, DIST_T d0 ) {
track_p trk2;
if (SplitTrack(*trk,pos,*ep,&trk2,TRUE)) {
- struct extraData *xx = GetTrkExtraData(*trk);
if (trk2) {
UndrawNewTrack( trk2 );
DeleteTrack(trk2,TRUE);
}
- SetTrkEndPoint( *trk, *ep, *ep?xx->cornuData.pos[1]:xx->cornuData.pos[0], *ep?xx->cornuData.a[1]:xx->cornuData.a[0] );
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(*trk, T_CORNU, extraDataCornu_t);
+ SetTrkEndPoint( *trk, *ep, *ep?xx->pos[1]:xx->pos[0], *ep?xx->a[1]:xx->a[0] );
DrawNewTrack( *trk );
return TRUE;
}
@@ -898,22 +904,22 @@ static int log_traverseCornu = 0;
static BOOL_T TraverseCornu( traverseTrack_p trvTrk, DIST_T * distR )
{
track_p trk = trvTrk->trk;
- struct extraData *xx = GetTrkExtraData(trk);
DIST_T dist = *distR;
segProcData_t segProcData;
BOOL_T cornu_backwards= FALSE;
BOOL_T neg = FALSE;
- DIST_T d = 10000;
+ DIST_T d = DIST_INF;
coOrd pos1 = trvTrk->pos, pos2 = trvTrk->pos;
ANGLE_T a1,a2;
int inx, segInx = 0;
EPINX_T ep;
BOOL_T back;
LOG( log_traverseCornu, 1, ( "TravCornu-In [%0.3f %0.3f] A%0.3f D%0.3f \n", trvTrk->pos.x, trvTrk->pos.y, trvTrk->angle, *distR ))
- trkSeg_p segPtr = (trkSeg_p)xx->cornuData.arcSegs.ptr;
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
+ trkSeg_p segPtr = (trkSeg_p)xx->arcSegs.ptr;
a2 = GetAngleSegs( //Find correct Segment and nearest point in it
- xx->cornuData.arcSegs.cnt,segPtr,
+ xx->arcSegs.cnt,segPtr,
&pos2, &segInx, &d , &back , NULL, &neg); //d = how far pos2 from old pos2 = trvTrk->pos
if ( d > 10 ) {
@@ -937,8 +943,8 @@ LOG( log_traverseCornu, 1, ( "TravCornu-In [%0.3f %0.3f] A%0.3f D%0.3f \n", trvT
segProcData.traverse1.angle = trvTrk->angle; //direction car is going for Traverse 1
LOG( log_traverseCornu, 1, ( " TravCornu-GetSubA A%0.3f I%d N%d B%d CB%d\n", a2, segInx, neg, back, cornu_backwards ))
inx = segInx;
- while (inx >=0 && inx<xx->cornuData.arcSegs.cnt) {
- segPtr = (trkSeg_p)xx->cornuData.arcSegs.ptr+inx; //move in to the identified Bezier segment
+ while (inx >=0 && inx<xx->arcSegs.cnt) {
+ segPtr = (trkSeg_p)xx->arcSegs.ptr+inx; //move in to the identified Bezier segment
SegProc( SEGPROC_TRAVERSE1, segPtr, &segProcData );
BOOL_T backwards = segProcData.traverse1.backwards; //do we process this segment backwards?
BOOL_T reverse_seg = segProcData.traverse1.reverse_seg; //Info only
@@ -989,13 +995,14 @@ static BOOL_T EnumerateCornu( track_p trk )
{
if (trk != NULL) {
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
DIST_T d;
- d = max(CornuOffsetLength(xx->cornuData.arcSegs,-GetTrkGauge(trk)/2.0),
- CornuOffsetLength(xx->cornuData.arcSegs,GetTrkGauge(trk)/2.0));
+ d = max(CornuOffsetLength(xx->arcSegs,-GetTrkGauge(trk)/2.0),
+ CornuOffsetLength(xx->arcSegs,GetTrkGauge(trk)/2.0));
ScaleLengthIncrement( GetTrkScale(trk), d );
+ return TRUE;
}
- return TRUE;
+ return FALSE;
}
static BOOL_T MergeCornu(
@@ -1004,82 +1011,13 @@ static BOOL_T MergeCornu(
track_p trk1,
EPINX_T ep1 )
{
- struct extraData *xx0 = GetTrkExtraData(trk0);
- struct extraData *xx1 = GetTrkExtraData(trk1);
- track_p trk_after,trk_before;
- EPINX_T ep_before,ep_after=-1;
- coOrd p[2];
- coOrd c[2];
- ANGLE_T a[2];
- DIST_T r[2];
-
-
- if (!IsTrack(trk0) || !IsTrack(trk1) ) return FALSE;
- if (GetTrkType(trk0) != GetTrkType(trk1)) return FALSE;
- if (GetEndPtConnectedToMe(trk0,trk1) != ep0) return FALSE;
- if (GetEndPtConnectedToMe(trk1,trk0) != ep1) return FALSE;
-
- if (ep0 == ep1)
- return FALSE;
-
- UndoStart( _("Merge Cornu"), "MergeCornu( T%d[%d] T%d[%d] )", GetTrkIndex(trk0), ep0, GetTrkIndex(trk1), ep1 );
- p[0] = xx0->cornuData.pos[0];
- p[1] = xx1->cornuData.pos[1];
- a[0] = xx0->cornuData.a[0];
- a[1] = xx1->cornuData.a[1];
- c[0] = xx0->cornuData.c[0];
- c[1] = xx1->cornuData.c[1];
- r[0] = xx0->cornuData.r[0];
- r[1] = xx1->cornuData.r[1];
- track_p trk3 = NewCornuTrack(p,c,a,r,NULL,0);
- if (trk3==NULL) {
- wBeep();
- InfoMessage(_("Cornu Create Failed for p1[%0.3f,%0.3f] p2[%0.3f,%0.3f], c1[%0.3f,%0.3f] c2[%0.3f,%0.3f], a1=%0.3f a2=%0.3f, r1=%s r2=%s"),
- p[0].x,p[0].y,
- p[1].x,p[1].y,
- c[0].x,c[0].y,
- c[1].x,c[1].y,
- a[0],a[1],
- FormatDistance(r[0]),FormatDistance(r[1]));
- UndoEnd();
- return FALSE;
- }
-
- UndoModify( trk0 );
- UndoModify( trk1 );
- UndrawNewTrack( trk0 );
- UndrawNewTrack( trk1 );
- trk_after = GetTrkEndTrk( trk1, 1-ep1 );
- if (trk_after) {
- ep_after = GetEndPtConnectedToMe( trk_after, trk1 );
- DisconnectTracks( trk1, 1-ep1, trk_after, ep_after );
- }
- trk_before = GetTrkEndTrk( trk0, 1-ep0 );
- if (trk_before) {
- ep_before = GetEndPtConnectedToMe( trk_before, trk0 );
- DisconnectTracks( trk0, 1-ep1, trk_before, ep_before );
- }
-
- DeleteTrack( trk1, TRUE );
- DeleteTrack( trk0, TRUE );
- if (trk_after) {
- SetTrkEndPoint( trk_after, ep_after, xx0->cornuData.pos[1], NormalizeAngle(xx0->cornuData.a[1]+180));
- ConnectTracks( trk3, 1, trk_after, ep_after);
- }
- if (trk_before) {
- SetTrkEndPoint( trk_before, ep_before, xx0->cornuData.pos[0], NormalizeAngle(xx0->cornuData.a[0]+180));
- ConnectTracks( trk3, 0, trk_before, ep_before);
- }
- DrawNewTrack( trk3 );
- UndoEnd();
-
- return TRUE;
+ return FALSE;
}
BOOL_T GetBezierSegmentsFromCornu(track_p trk, dynArr_t * segs, BOOL_T track) {
- struct extraData * xx = GetTrkExtraData(trk);
- for (int i=0;i<xx->cornuData.arcSegs.cnt;i++) {
- trkSeg_p p = (trkSeg_t *) xx->cornuData.arcSegs.ptr+i;
+ struct extraDataCornu_t * xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
+ for (int i=0;i<xx->arcSegs.cnt;i++) {
+ trkSeg_p p = (trkSeg_t *) xx->arcSegs.ptr+i;
if (p->type == SEG_BEZTRK) {
if (track) {
DYNARR_APPEND(trkSeg_t, * segs, 10);
@@ -1132,11 +1070,11 @@ BOOL_T GetBezierSegmentsFromCornu(track_p trk, dynArr_t * segs, BOOL_T track) {
static DIST_T GetLengthCornu( track_p trk )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
DIST_T length = 0.0;
segProcData_t segProcData;
- for(int i=0;i<xx->cornuData.arcSegs.cnt;i++) {
- trkSeg_t seg = DYNARR_N(trkSeg_t,xx->cornuData.arcSegs,i);
+ for(int i=0;i<xx->arcSegs.cnt;i++) {
+ trkSeg_t seg = DYNARR_N(trkSeg_t,xx->arcSegs,i);
if (seg.type == SEG_FILCRCL) continue;
SegProc(SEGPROC_LENGTH, &seg, &segProcData);
length += segProcData.length.length;
@@ -1144,19 +1082,39 @@ static DIST_T GetLengthCornu( track_p trk )
return length;
}
+EXPORT BOOL_T GetCornuMiddle( track_p trk, coOrd * pos) {
+
+ if (GetTrkType(trk) != T_CORNU)
+ return FALSE;
+ DIST_T length = GetLengthCornu(trk)/2;
+
+ traverseTrack_t tp;
+ tp.pos = GetTrkEndPos(trk,0);
+ tp.angle = NormalizeAngle(GetTrkEndAngle(trk,0)+180.0);
+ tp.trk = trk;
+ tp.length = length;
+
+ TraverseCornu(&tp,&length);
+
+ *pos = tp.pos;
+
+ return TRUE;
+
+}
+
static BOOL_T GetParamsCornu( int inx, track_p trk, coOrd pos, trackParams_t * params )
{
int segInx, segInx2;
BOOL_T back, negative;
DIST_T d;
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCornu_t *xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
params->type = curveTypeCornu;
params->track_angle = GetAngleSegs( //Find correct Segment and nearest point in it
- xx->cornuData.arcSegs.cnt,xx->cornuData.arcSegs.ptr,
+ xx->arcSegs.cnt,xx->arcSegs.ptr,
&pos, &segInx, &d , &back, &segInx2, &negative );
if (segInx ==-1) return FALSE;
- trkSeg_p segPtr = &DYNARR_N(trkSeg_t,xx->cornuData.arcSegs,segInx);
+ trkSeg_p segPtr = &DYNARR_N(trkSeg_t,xx->arcSegs,segInx);
if (negative != back) params->track_angle = NormalizeAngle(params->track_angle+180); //Cornu is in reverse
if (segPtr->type == SEG_STRTRK) {
params->arcR = 0.0;
@@ -1177,12 +1135,12 @@ static BOOL_T GetParamsCornu( int inx, track_p trk, coOrd pos, trackParams_t * p
}
}
for (int i=0;i<2;i++) {
- params->cornuEnd[i] = xx->cornuData.pos[i];
- params->cornuAngle[i] = xx->cornuData.a[i];
- params->cornuRadius[i] = xx->cornuData.r[i];
- params->cornuCenter[i] = xx->cornuData.c[i];
+ params->cornuEnd[i] = xx->pos[i];
+ params->cornuAngle[i] = xx->a[i];
+ params->cornuRadius[i] = xx->r[i];
+ params->cornuCenter[i] = xx->c[i];
}
- params->len = xx->cornuData.length;
+ params->len = xx->length;
if ( inx == PARAMS_NODES ) {
return FALSE;
} else if ((inx == PARAMS_CORNU) || (inx == PARAMS_1ST_JOIN) || (inx == PARAMS_2ND_JOIN) ) {
@@ -1205,7 +1163,6 @@ static BOOL_T GetParamsCornu( int inx, track_p trk, coOrd pos, trackParams_t * p
static BOOL_T QueryCornu( track_p trk, int query )
{
- struct extraData * xx = GetTrkExtraData(trk);
switch ( query ) {
case Q_CAN_GROUP:
return FALSE;
@@ -1214,9 +1171,10 @@ static BOOL_T QueryCornu( track_p trk, int query )
case Q_HAS_DESC:
return TRUE;
break;
- case Q_EXCEPTION:
- return fabs(xx->cornuData.minCurveRadius) < (GetLayoutMinTrackRadius()-EPSILON);
- break;
+ case Q_EXCEPTION: {
+ struct extraDataCornu_t * xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
+ return fabs(xx->minCurveRadius) < (GetLayoutMinTrackRadius()-EPSILON);
+ }
case Q_IS_CORNU:
return TRUE;
break;
@@ -1247,27 +1205,27 @@ static void FlipCornu(
coOrd orig,
ANGLE_T angle )
{
- struct extraData * xx = GetTrkExtraData(trk);
- FlipPoint( &xx->cornuData.pos[0], orig, angle );
- FlipPoint( &xx->cornuData.pos[1], orig, angle );
- FlipPoint( &xx->cornuData.c[0], orig, angle);
- FlipPoint( &xx->cornuData.c[1], orig, angle);
- xx->cornuData.a[0] = NormalizeAngle( 2*angle - xx->cornuData.a[0] );
- xx->cornuData.a[1] = NormalizeAngle( 2*angle - xx->cornuData.a[1] );
+ struct extraDataCornu_t * xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
+ FlipPoint( &xx->pos[0], orig, angle );
+ FlipPoint( &xx->pos[1], orig, angle );
+ FlipPoint( &xx->c[0], orig, angle);
+ FlipPoint( &xx->c[1], orig, angle);
+ xx->a[0] = NormalizeAngle( 2*angle - xx->a[0] );
+ xx->a[1] = NormalizeAngle( 2*angle - xx->a[1] );
/* Reverse internals so that they match the new ends */
- coOrd pos_save = xx->cornuData.pos[0];
- xx->cornuData.pos[0] = xx->cornuData.pos[1];
- xx->cornuData.pos[1] = pos_save;
- ANGLE_T angle_save = xx->cornuData.a[0];
- xx->cornuData.a[0] = xx->cornuData.a[1];
- xx->cornuData.a[1] = angle_save;
- coOrd c_save = xx->cornuData.c[0];
- xx->cornuData.c[0] = xx->cornuData.c[1];
- xx->cornuData.c[1] = c_save;
- DIST_T rad_save = xx->cornuData.r[0];
- xx->cornuData.r[0] = xx->cornuData.r[1];
- xx->cornuData.r[1] = rad_save;
+ coOrd pos_save = xx->pos[0];
+ xx->pos[0] = xx->pos[1];
+ xx->pos[1] = pos_save;
+ ANGLE_T angle_save = xx->a[0];
+ xx->a[0] = xx->a[1];
+ xx->a[1] = angle_save;
+ coOrd c_save = xx->c[0];
+ xx->c[0] = xx->c[1];
+ xx->c[1] = c_save;
+ DIST_T rad_save = xx->r[0];
+ xx->r[0] = xx->r[1];
+ xx->r[1] = rad_save;
RebuildCornu(trk);
@@ -1279,11 +1237,11 @@ static ANGLE_T GetAngleCornu(
EPINX_T * ep0,
EPINX_T * ep1 )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataCornu_t * xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
ANGLE_T angle;
BOOL_T back, neg;
int indx;
- angle = GetAngleSegs( xx->cornuData.arcSegs.cnt, (trkSeg_p)xx->cornuData.arcSegs.ptr, &pos, &indx, NULL, &back, NULL, &neg );
+ angle = GetAngleSegs( xx->arcSegs.cnt, (trkSeg_p)xx->arcSegs.ptr, &pos, &indx, NULL, &back, NULL, &neg );
if (!back) angle = NormalizeAngle(angle+180);
if ( ep0 ) *ep0 = neg?1:0;
if ( ep1 ) *ep1 = neg?0:1;
@@ -1307,7 +1265,6 @@ static BOOL_T MakeParallelCornu(
coOrd * p1R,
BOOL_T track )
{
- struct extraData * xx = GetTrkExtraData(trk);
coOrd np[4], p, nc[2];
ANGLE_T atrk, diff_a, na[2];
DIST_T nr[2];
@@ -1320,36 +1277,37 @@ static BOOL_T MakeParallelCornu(
p = pos;
DistanceCornu(trk, &p); //Find nearest point on curve
- atrk = GetAngleSegs(xx->cornuData.arcSegs.cnt,(trkSeg_t *)(xx->cornuData.arcSegs.ptr),&p,NULL,NULL,NULL,NULL, NULL);
+ struct extraDataCornu_t * xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
+ atrk = GetAngleSegs(xx->arcSegs.cnt,(trkSeg_t *)(xx->arcSegs.ptr),&p,NULL,NULL,NULL,NULL, NULL);
diff_a = NormalizeAngle(FindAngle(pos,p)-atrk); //we know it will be +/-90...
//find parallel move x and y for points
BOOL_T above = FALSE;
if ( diff_a < 180 ) above = TRUE; //Above track
- if (xx->cornuData.a[0] <180) above = !above;
- DIST_T sep0 = sep+((xx->cornuData.r[0]!=0.0)?fabs(factor/xx->cornuData.r[0]):0);
- DIST_T sep1 = sep+((xx->cornuData.r[1]!=0.0)?fabs(factor/xx->cornuData.r[1]):0);
- Translate(&np[0],xx->cornuData.pos[0],xx->cornuData.a[0]+(above?90:-90),sep0);
- Translate(&np[1],xx->cornuData.pos[1],xx->cornuData.a[1]+(above?-90:90),sep1);
- na[0]=xx->cornuData.a[0];
- na[1]=xx->cornuData.a[1];
- if (xx->cornuData.r[0] != 0.0) {
+ if (xx->a[0] <180) above = !above;
+ DIST_T sep0 = sep+((xx->r[0]!=0.0)?fabs(factor/xx->r[0]):0);
+ DIST_T sep1 = sep+((xx->r[1]!=0.0)?fabs(factor/xx->r[1]):0);
+ Translate(&np[0],xx->pos[0],xx->a[0]+(above?90:-90),sep0);
+ Translate(&np[1],xx->pos[1],xx->a[1]+(above?-90:90),sep1);
+ na[0]=xx->a[0];
+ na[1]=xx->a[1];
+ if (xx->r[0] != 0.0) {
//Find angle between center and end angle of track
ANGLE_T ea0 =
- NormalizeAngle(FindAngle(xx->cornuData.c[0],xx->cornuData.pos[0])-xx->cornuData.a[0]);
+ NormalizeAngle(FindAngle(xx->c[0],xx->pos[0])-xx->a[0]);
if (ea0>180) sep0 = -sep0;
- nr[0]=xx->cornuData.r[0]+(above?sep0:-sep0); //Needs adjustment
- nc[0]=xx->cornuData.c[0];
+ nr[0]=xx->r[0]+(above?sep0:-sep0); //Needs adjustment
+ nc[0]=xx->c[0];
} else {
nr[0] = 0.0;
nc[0] = zero;
}
- if (xx->cornuData.r[1] != 0.0) {
+ if (xx->r[1] != 0.0) {
ANGLE_T ea1 =
- NormalizeAngle(FindAngle(xx->cornuData.c[1],xx->cornuData.pos[1])-xx->cornuData.a[1]);
+ NormalizeAngle(FindAngle(xx->c[1],xx->pos[1])-xx->a[1]);
if (ea1<180) sep1 = -sep1;
- nr[1]=xx->cornuData.r[1]+(above?sep1:-sep1); //Needs adjustment
- nc[1]=xx->cornuData.c[1];
+ nr[1]=xx->r[1]+(above?sep1:-sep1); //Needs adjustment
+ nc[1]=xx->c[1];
} else {
nr[1] = 0.0;
nc[1] = zero;
@@ -1424,15 +1382,15 @@ static BOOL_T TrimCornu( track_p trk, EPINX_T ep, DIST_T dist, coOrd endpos, ANG
DeleteTrack(trk, TRUE);
return FALSE;
} else {
- struct extraData *xx;
+ struct extraDataCornu_t *xx;
UndrawNewTrack( trk );
- xx = GetTrkExtraData(trk);
- xx->cornuData.a[ep] = angle;
- xx->cornuData.c[ep] = center;
- xx->cornuData.r[ep] = radius;
- xx->cornuData.pos[ep] = endpos;
+ xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
+ xx->a[ep] = angle;
+ xx->c[ep] = center;
+ xx->r[ep] = radius;
+ xx->pos[ep] = endpos;
RebuildCornu(trk);
- SetTrkEndPoint(trk, ep, xx->cornuData.pos[ep], xx->cornuData.a[ep]);
+ SetTrkEndPoint(trk, ep, xx->pos[ep], xx->a[ep]);
DrawNewTrack( trk );
}
return TRUE;
@@ -1446,13 +1404,13 @@ static BOOL_T TrimCornu( track_p trk, EPINX_T ep, DIST_T dist, coOrd endpos, ANG
*/
EXPORT BOOL_T RebuildCornu (track_p trk)
{
- struct extraData *xx;
- xx = GetTrkExtraData(trk);
- xx->cornuData.arcSegs.max = 0;
- xx->cornuData.arcSegs.cnt = 0;
- //if (xx->cornuData.arcSegs.ptr) MyFree(xx->cornuData.arcSegs.ptr);
- xx->cornuData.arcSegs.ptr = NULL;
- if (!FixUpCornu0(xx->cornuData.pos,xx->cornuData.c,xx->cornuData.a,xx->cornuData.r, xx)) return FALSE;
+ struct extraDataCornu_t *xx;
+ xx = GET_EXTRA_DATA(trk, T_CORNU, extraDataCornu_t);
+ xx->arcSegs.max = 0;
+ xx->arcSegs.cnt = 0;
+ //if (xx->arcSegs.ptr) MyFree(xx->arcSegs.ptr);
+ xx->arcSegs.ptr = NULL;
+ if (!FixUpCornu0(xx->pos,xx->c,xx->a,xx->r, xx)) return FALSE;
ComputeCornuBoundingBox(trk, xx);
return TRUE;
}
@@ -1460,23 +1418,23 @@ EXPORT BOOL_T RebuildCornu (track_p trk)
static wBool_t CompareCornu( track_cp trk1, track_cp trk2 )
{
- struct extraData *xx1 = GetTrkExtraData( trk1 );
- struct extraData *xx2 = GetTrkExtraData( trk2 );
+ struct extraDataCornu_t *xx1 = GET_EXTRA_DATA( trk1, T_CORNU, extraDataCornu_t );
+ struct extraDataCornu_t *xx2 = GET_EXTRA_DATA( trk2, T_CORNU, extraDataCornu_t );
char * cp = message + strlen(message);
- REGRESS_CHECK_POS( "Pos[0]", xx1, xx2, cornuData.pos[0] )
- REGRESS_CHECK_POS( "Pos[1]", xx1, xx2, cornuData.pos[1] )
- REGRESS_CHECK_POS( "C[0]", xx1, xx2, cornuData.c[0] )
- REGRESS_CHECK_POS( "C[1]", xx1, xx2, cornuData.c[1] )
- REGRESS_CHECK_ANGLE( "A[0]", xx1, xx2, cornuData.a[0] )
- REGRESS_CHECK_ANGLE( "A[1]", xx1, xx2, cornuData.a[1] )
- REGRESS_CHECK_DIST( "R[0]", xx1, xx2, cornuData.r[0] )
- REGRESS_CHECK_DIST( "R[1]", xx1, xx2, cornuData.r[1] )
- REGRESS_CHECK_DIST( "MinCurveRadius", xx1, xx2, cornuData.minCurveRadius )
- REGRESS_CHECK_DIST( "MaxRateofChange", xx1, xx2, cornuData.maxRateofChange )
- REGRESS_CHECK_DIST( "Length", xx1, xx2, cornuData.length )
- REGRESS_CHECK_ANGLE( "WindingAngle", xx1, xx2, cornuData.windingAngle )
+ REGRESS_CHECK_POS( "Pos[0]", xx1, xx2, pos[0] )
+ REGRESS_CHECK_POS( "Pos[1]", xx1, xx2, pos[1] )
+ REGRESS_CHECK_POS( "C[0]", xx1, xx2, c[0] )
+ REGRESS_CHECK_POS( "C[1]", xx1, xx2, c[1] )
+ REGRESS_CHECK_ANGLE( "A[0]", xx1, xx2, a[0] )
+ REGRESS_CHECK_ANGLE( "A[1]", xx1, xx2, a[1] )
+ REGRESS_CHECK_DIST( "R[0]", xx1, xx2, r[0] )
+ REGRESS_CHECK_DIST( "R[1]", xx1, xx2, r[1] )
+ REGRESS_CHECK_DIST( "MinCurveRadius", xx1, xx2, minCurveRadius )
+ REGRESS_CHECK_DIST( "MaxRateofChange", xx1, xx2, maxRateofChange )
+ REGRESS_CHECK_DIST( "Length", xx1, xx2, length )
+ REGRESS_CHECK_ANGLE( "WindingAngle", xx1, xx2, windingAngle )
// CHECK arcSegs
- REGRESS_CHECK_POS( "DescOff", xx1, xx2, cornuData.descriptionOff )
+ REGRESS_CHECK_POS( "DescOff", xx1, xx2, descriptionOff )
// CHECK cornuPath
return TRUE;
}
@@ -1534,27 +1492,27 @@ static trackCmd_t cornuCmds = {
track_p NewCornuTrack(coOrd pos[2], coOrd center[2],ANGLE_T angle[2], DIST_T radius[2], trkSeg_t * tempsegs, int count)
{
- struct extraData *xx;
+ struct extraDataCornu_t *xx;
track_p p;
p = NewTrack( 0, T_CORNU, 2, sizeof *xx );
- xx = GetTrkExtraData(p);
- xx->cornuData.pos[0] = pos[0];
- xx->cornuData.pos[1] = pos[1];
- xx->cornuData.a[0] = angle[0];
- xx->cornuData.a[1] = angle[1];
- xx->cornuData.r[0] = radius[0];
- xx->cornuData.r[1] = radius[1];
- xx->cornuData.c[0] = center[0];
- xx->cornuData.c[1] = center[1];
-
- if (!FixUpCornu0(xx->cornuData.pos,xx->cornuData.c,xx->cornuData.a,xx->cornuData.r, xx)) {
+ xx = GET_EXTRA_DATA(p, T_CORNU, extraDataCornu_t);
+ xx->pos[0] = pos[0];
+ xx->pos[1] = pos[1];
+ xx->a[0] = angle[0];
+ xx->a[1] = angle[1];
+ xx->r[0] = radius[0];
+ xx->r[1] = radius[1];
+ xx->c[0] = center[0];
+ xx->c[1] = center[1];
+
+ if (!FixUpCornu0(xx->pos,xx->c,xx->a,xx->r, xx)) {
ErrorMessage("Create Cornu Failed");
return NULL;
}
LOG( log_cornu, 1, ( "NewCornuTrack( EP1 %0.3f, %0.3f, EP2 %0.3f, %0.3f ) = %d\n", pos[0].x, pos[0].y, pos[1].x, pos[1].y, GetTrkIndex(p) ) )
ComputeCornuBoundingBox( p, xx );
- SetTrkEndPoint( p, 0, pos[0], xx->cornuData.a[0]);
- SetTrkEndPoint( p, 1, pos[1], xx->cornuData.a[1]);
+ SetTrkEndPoint( p, 0, pos[0], xx->a[0]);
+ SetTrkEndPoint( p, 1, pos[1], xx->a[1]);
CheckTrackLength( p );
SetTrkBits( p, TB_HIDEDESC );
return p;
diff --git a/app/bin/tcornu.h b/app/bin/tcornu.h
index 5684373..7245dfd 100644
--- a/app/bin/tcornu.h
+++ b/app/bin/tcornu.h
@@ -18,7 +18,10 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-typedef struct {
+#include "common.h"
+
+typedef struct extraDataCornu_t {
+ extraDataBase_t base;
coOrd pos[2];
coOrd c[2];
ANGLE_T a[2];
@@ -30,7 +33,7 @@ typedef struct {
dynArr_t arcSegs;
coOrd descriptionOff;
char * cornuPath;
- } cornuData_t;
+ } extraDataCornu_t;
typedef struct {
coOrd pos[2]; //All values for end if trk[end] = NULL
@@ -44,10 +47,10 @@ typedef struct {
double CornuMaxCurve(coOrd[2],ANGLE_T[2],DIST_T[2]);
double BezierMathMinRadius(coOrd[4]);
coOrd BezierMathFindNearestPoint(coOrd *, coOrd[4] , int );
-track_p NewCornuTrack(coOrd pos[2], coOrd center[2], ANGLE_T angle[2], DIST_T radius[2], trkSeg_t * tempsegs, int count);
-DIST_T CornuDistance( coOrd *, coOrd[2], ANGLE_T[2], DIST_T[2], trkSeg_t * ,int , double * );
-BOOL_T FixUpCornu(coOrd pos[2], track_p [2], EPINX_T ep[2], struct extraData* xx);
-BOOL_T FixUpCornu0(coOrd pos[2], coOrd center[2], ANGLE_T angle[2], DIST_T radius[2], struct extraData* xx);
+track_p NewCornuTrack(coOrd pos[2], coOrd center[2], ANGLE_T angle[2], DIST_T radius[2], trkSeg_p tempsegs, int count);
+DIST_T CornuDistance( coOrd *, coOrd[2], ANGLE_T[2], DIST_T[2], trkSeg_p ,int , double * );
+BOOL_T FixUpCornu(coOrd pos[2], track_p [2], EPINX_T ep[2], struct extraDataCornu_t* xx);
+BOOL_T FixUpCornu0(coOrd pos[2], coOrd center[2], ANGLE_T angle[2], DIST_T radius[2], struct extraDataCornu_t* xx);
BOOL_T GetCornuSegmentsFromTrack(track_p, trkSeg_p);
BOOL_T SetCornuEndPt(track_p trk, EPINX_T inx, coOrd pos, coOrd center, ANGLE_T angle, DIST_T radius);
BOOL_T RebuildCornu (track_p trk);
@@ -65,5 +68,6 @@ BOOL_T GetBezierSegmentsFromCornu(track_p, dynArr_t *, BOOL_T);
char * CreateSegPathList(track_p trk);
+BOOL_T GetCornuMiddle( track_p trk, coOrd * pos);
diff --git a/app/bin/tcurve.c b/app/bin/tcurve.c
index 00d1ef5..f133dc7 100644
--- a/app/bin/tcurve.c
+++ b/app/bin/tcurve.c
@@ -20,34 +20,26 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <assert.h>
-#include <math.h>
-#include <string.h>
-
#include "ccurve.h"
#include "cjoin.h"
#include "cstraigh.h"
#include "cundo.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
+#include "common-ui.h"
static TRKTYP_T T_CURVE = -1;
-struct extraData {
+typedef struct extraDataCurve_t {
+ extraDataBase_t base;
coOrd pos;
DIST_T radius;
BOOL_T circle;
long helixTurns;
coOrd descriptionOff;
- };
-#define xpos extraData->pos
-#define xradius extraData->radius
-#define xcircle extraData->circle
+ } extraDataCurve_t;
static int log_curve = 0;
static int log_curveSegs = 0;
@@ -62,8 +54,8 @@ static DIST_T GetLengthCurve( track_p );
static void GetCurveAngles( ANGLE_T *a0, ANGLE_T *a1, track_p trk )
{
- struct extraData *xx = GetTrkExtraData(trk);
assert( trk != NULL );
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
if (xx->circle != TRUE) {
*a0 = NormalizeAngle( GetTrkEndAngle(trk,0) + 90 );
*a1 = NormalizeAngle(
@@ -75,7 +67,7 @@ static void GetCurveAngles( ANGLE_T *a0, ANGLE_T *a1, track_p trk )
LOG( log_curve, 4, ( "getCurveAngles: = %0.3f %0.3f\n", *a0, *a1 ) )
}
-static void SetCurveAngles( track_p p, ANGLE_T a0, ANGLE_T a1, struct extraData * xx )
+static void SetCurveAngles( track_p p, ANGLE_T a0, ANGLE_T a1, struct extraDataCurve_t * xx )
{
coOrd pos0, pos1;
xx->circle = (a0 == 0.0 && a1 == 0.0);
@@ -85,7 +77,7 @@ static void SetCurveAngles( track_p p, ANGLE_T a0, ANGLE_T a1, struct extraData
SetTrkEndPoint( p, 1, pos1, NormalizeAngle(a0+a1+90.0) );
}
-static void ComputeCurveBoundingBox( track_p trk, struct extraData * xx )
+static void ComputeCurveBoundingBox( track_p trk, struct extraDataCurve_t * xx )
{
coOrd p = xx->pos;
DIST_T r = xx->radius;
@@ -112,7 +104,6 @@ static void ComputeCurveBoundingBox( track_p trk, struct extraData * xx )
static void AdjustCurveEndPt( track_p t, EPINX_T inx, ANGLE_T a )
{
- struct extraData *xx = GetTrkExtraData(t);
coOrd pos;
ANGLE_T aa;
if (GetTrkType(t) != T_CURVE) {
@@ -120,6 +111,7 @@ static void AdjustCurveEndPt( track_p t, EPINX_T inx, ANGLE_T a )
GetTrkIndex(t), inx, GetTrkType(t) );
return;
}
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(t, T_CURVE, extraDataCurve_t);
UndoModify( t );
LOG( log_curve, 1, ( "adjustCurveEndPt T%d[%d] a=%0.3f\n", GetTrkIndex(t), inx, a ) )
aa = a = NormalizeAngle(a);
@@ -140,28 +132,28 @@ LOG( log_curve, 1, ( " E0:[%0.3f %0.3f] A%0.3f, E1:[%0.3f %0.3f] A%0.3f\n",
static void GetTrkCurveCenter( track_p t, coOrd *p, DIST_T *r )
{
- struct extraData *xx = GetTrkExtraData(t);
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(t, T_CURVE, extraDataCurve_t);
*p = xx->pos;
*r = xx->radius;
}
BOOL_T IsCurveCircle( track_p t )
{
- struct extraData *xx;
+ struct extraDataCurve_t *xx;
if ( GetTrkType(t) != T_CURVE )
return FALSE;
- xx = GetTrkExtraData(t);
+ xx = GET_EXTRA_DATA(t, T_CURVE, extraDataCurve_t);
return xx->circle || xx->helixTurns>0;
}
BOOL_T GetCurveMiddle( track_p trk, coOrd * pos )
{
- struct extraData *xx;
+ struct extraDataCurve_t *xx;
ANGLE_T a0, a1;
if ( GetTrkType(trk) != T_CURVE )
return FALSE;
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
if (xx->circle || xx->helixTurns>0) {
PointOnCircle( pos, xx->pos, xx->radius, 0 );
} else {
@@ -171,6 +163,8 @@ BOOL_T GetCurveMiddle( track_p trk, coOrd * pos )
return TRUE;
}
+static DIST_T DistanceCurve( track_p t, coOrd * p );
+
DIST_T CurveDescriptionDistance(
coOrd pos,
track_p trk,
@@ -178,28 +172,41 @@ DIST_T CurveDescriptionDistance(
BOOL_T show_hidden,
BOOL_T * hidden)
{
- struct extraData *xx = GetTrkExtraData(trk);
- coOrd p1;
+ coOrd p0,p1,pd;
FLOAT_T ratio;
ANGLE_T a, a0, a1;
if (hidden) *hidden = FALSE;
- if ( (GetTrkType( trk ) != T_CURVE )|| ((( GetTrkBits( trk ) & TB_HIDEDESC ) != 0) && !show_hidden))
- return 100000;
+ if ( (GetTrkType( trk ) != T_CURVE ) || ((( GetTrkBits( trk ) & TB_HIDEDESC ) != 0) && !show_hidden))
+ return DIST_INF;
+
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
coOrd offset = xx->descriptionOff;
if (( GetTrkBits( trk ) & TB_HIDEDESC ) != 0) offset = zero;
+
if ( xx->helixTurns > 0 ) {
- p1.x = xx->pos.x + offset.x;
- p1.y = xx->pos.y + offset.y;
+ pd.x = xx->pos.x + offset.x;
+ pd.y = xx->pos.y + offset.y;
+ p0 = pd;
+ p1 = pd;
} else {
GetCurveAngles( &a0, &a1, trk );
- ratio = ( offset.x + 1.0 ) / 2.0;
- a = a0 + ratio * a1;
- ratio = ( offset.y + 1.0 ) / 2.0;
- Translate( &p1, xx->pos, a, xx->radius * ratio );
+ ratio = offset.x;
+ if (!IsCurveCircle( trk ))
+ a = NormalizeAngle(a0 + a1/2.0 + ratio * a1/ 2.0);
+ else
+ a = NormalizeAngle(360.0*ratio+a0);
+ ratio = offset.y+0.5;
+ if (ratio<0.0) ratio = 0.0;
+ if (ratio>1.0) ratio = 1.0;
+ Translate( &pd, xx->pos, a, xx->radius * ratio );
}
if (hidden) *hidden = (GetTrkBits( trk ) & TB_HIDEDESC);
- *dpos = p1;
- return FindDistance( p1, pos );
+ *dpos = pd;
+
+ coOrd tpos = pos;
+ if (DistanceCurve(trk, &tpos)<FindDistance(pd, pos))
+ return DistanceCurve(trk, &pos);
+ return FindDistance( pd, pos );
}
@@ -208,7 +215,6 @@ static void DrawCurveDescription(
drawCmd_p d,
wDrawColor color )
{
- struct extraData *xx = GetTrkExtraData(trk);
wFont_p fp;
coOrd pos, p0, p1;
DIST_T elev0, elev1, dist, grade=0, sep=0;
@@ -221,6 +227,7 @@ static void DrawCurveDescription(
if ((labelEnable&LABELENABLE_TRKDESC)==0)
return;
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
if ( xx->helixTurns > 0 ) {
pos = xx->pos;
pos.x += xx->descriptionOff.x;
@@ -240,15 +247,17 @@ static void DrawCurveDescription(
}
fp = wStandardFont( F_TIMES, FALSE, FALSE );
if (elevValid)
- sprintf( message, _("Helix: turns=%ld len=%0.2f grade=%0.1f%% sep=%0.2f"),
+ sprintf( message, _("Helix: Turns %ld L %0.2f Grade %0.1f%% Sep %0.2f"),
xx->helixTurns,
dist,
grade*100.0,
sep );
else
- sprintf( message, _("Helix: turns=%ld len=%0.2f"),
+ sprintf( message, _("Helix: Turns %ld L %0.2f"),
xx->helixTurns,
dist );
+ if (color == drawColorPreviewSelected)
+ DrawLine(d,xx->pos,pos,0,color);
DrawBoxedString( BOX_BOX, d, pos, message, fp, (wFontSize_t)descriptionFontSize, color, 0.0 );
} else {
dist = trackGauge/2.0;
@@ -260,13 +269,36 @@ static void DrawCurveDescription(
Translate( &p1, xx->pos, 180.0, dist );
DrawLine( d, p0, p1, 0, color );
GetCurveAngles( &a0, &a1, trk );
- ratio = ( xx->descriptionOff.x + 1.0 ) / 2.0;
- a = a0 + ratio * a1;
+ ratio = xx->descriptionOff.x; // 1.0 to - 1.0
+ if (! IsCurveCircle( trk ))
+ a = NormalizeAngle(ratio*a1/2.0 + a0 + a1/2.0);
+ else
+ a = NormalizeAngle(ratio*360.0+a0);
PointOnCircle( &p0, xx->pos, xx->radius, a );
- sprintf( message, "R %s", FormatDistance( xx->radius ) );
- ratio = ( xx->descriptionOff.y + 1.0 ) / 2.0;
- DrawDimLine( d, xx->pos, p0, message, (wFontSize_t)descriptionFontSize, ratio, 0, color, 0x11 );
+ coOrd end0, end1;
+ DIST_T off;
+ Translate(&end0,xx->pos,a0,xx->radius);
+ Translate(&end1,xx->pos,a0+a1,xx->radius);
+ off = xx->radius-(cos(D2R(a1/2))*xx->radius);
+ ratio = xx->descriptionOff.y;
+ if (ratio < -0.5) ratio = -0.5;
+ if (ratio > 0.5) ratio = 0.5;
+ if (! IsCurveCircle(trk))
+ sprintf( message, "R %s L %s A %0.3f O %s", FormatDistance( xx->radius ),
+ FormatDistance(FindDistance(end0,end1)),FindAngle(end1,end0), FormatDistance(off));
+ else
+ sprintf( message, "R %s L %s A 360.0", FormatDistance( xx->radius ),FormatDistance(xx->radius*2*M_PI));
+ DrawDimLine( d, xx->pos, p0, message, (wFontSize_t)descriptionFontSize, ratio+0.5, 0, color, 0x00 );
+
+ if (GetTrkBits( trk ) & TB_DETAILDESC) {
+ coOrd details_pos;
+ details_pos.x = (p0.x - xx->pos.x)*(ratio+0.5) + xx->pos.x;
+ details_pos.y = (p0.y - xx->pos.y)*(ratio+0.5) + xx->pos.y-(2*descriptionFontSize/mainD.dpi);
+
+ AddTrkDetails(d, trk, details_pos, a1/180.0*M_PI*xx->radius, color);
+ }
}
+
}
@@ -275,66 +307,47 @@ STATUS_T CurveDescriptionMove(
wAction_t action,
coOrd pos )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
static coOrd p0,p1;
- static BOOL_T editMode;
wDrawColor color;
ANGLE_T a, a0, a1;
DIST_T d;
p0 = xx->pos;
- switch (action) {
- case C_DOWN:
- DrawCurveDescription( trk, &mainD, wDrawColorWhite );
- case C_MOVE:
- case C_UP:
- editMode = TRUE;
- color = GetTrkColor( trk, &mainD );
- if ( xx->helixTurns > 0 ) {
- xx->descriptionOff.x = (pos.x-xx->pos.x);
- xx->descriptionOff.y = (pos.y-xx->pos.y);
- p1 = pos;
- } else {
- p1 = pos;
- GetCurveAngles( &a0, &a1, trk );
- if ( a1 < 1 ) a1 = 1.0;
- a = FindAngle( xx->pos, pos );
- if ( ! IsCurveCircle( trk ) ) {
- a = NormalizeAngle( a - a0 );
- if ( a > a1 ) {
- if ( a < a1 + ( 360.0 - a1 ) / 2 ) {
- a = a1;
- } else {
- a = 0.0;
- }
+ color = GetTrkColor( trk, &mainD );
+ if ( xx->helixTurns > 0 ) {
+ xx->descriptionOff.x = (pos.x-xx->pos.x);
+ xx->descriptionOff.y = (pos.y-xx->pos.y);
+ p1 = pos;
+ } else {
+ p1 = pos;
+ GetCurveAngles( &a0, &a1, trk );
+ if ( a1 < 1 ) a1 = 1.0;
+ a = FindAngle( xx->pos, pos );
+ if ( ! IsCurveCircle( trk ) ) {
+ a = NormalizeAngle( a - a0 );
+ if ( a > a1 ) {
+ if ( a < a1 + ( 360.0 - a1 ) / 2 ) {
+ a = a1;
+ } else {
+ a = 0.0;
}
}
- xx->descriptionOff.x = ( a / a1 ) * 2.0 - 1.0;
- d = FindDistance( xx->pos, pos ) / xx->radius;
- if ( d > 0.9 )
- d = 0.9;
- if ( d < 0.1 )
- d = 0.1;
- xx->descriptionOff.y = d * 2.0 - 1.0;
+ xx->descriptionOff.x = ( a / a1 ) * 2.0 - 1.0; // -1 to 1, 0 in middle
+ } else {
+ a = FindAngle(xx->pos,pos);
GetCurveAngles( &a0, &a1, trk );
- a = a0 + (0.5 * a1);
- PointOnCircle( &p0, xx->pos, xx->radius/2, a );
- }
- if (action == C_UP) {
- editMode = FALSE;
- DrawCurveDescription( trk, &mainD, wDrawColorBlack );
- }
- return action==C_UP?C_TERMINATE:C_CONTINUE;
-
- case C_REDRAW:
- if (editMode) {
- DrawLine( &tempD, p0, p1, 0, wDrawColorBlue );
- DrawCurveDescription( trk, &tempD, wDrawColorBlue );
+ xx->descriptionOff.x = NormalizeAngle((a - a0)/360.0);
}
- break;
-
+ d = FindDistance( xx->pos, pos ) / xx->radius;
+ if ( d > 1.0 )
+ d = 1.0;
+ if ( d < 0.0 )
+ d = 0.0;
+ xx->descriptionOff.y = d-0.5; // -0.5 to 0.5, 0 in the middle
}
+
return C_CONTINUE;
}
@@ -374,22 +387,21 @@ static descData_t crvDesc[] = {
/*A1*/ { DESC_ANGLE, N_("CCW Angle"), &crvData.angle0 },
/*A2*/ { DESC_ANGLE, N_("CW Angle"), &crvData.angle1 },
/*GR*/ { DESC_FLOAT, N_("Grade"), &crvData.grade },
-/*PV*/ { DESC_PIVOT, N_("Pivot"), &crvData.pivot },
+/*PV*/ { DESC_PIVOT, N_("Lock"), &crvData.pivot },
/*LY*/ { DESC_LAYER, N_("Layer"), &crvData.layerNumber },
{ DESC_NULL } };
static void UpdateCurve( track_p trk, int inx, descData_p descUpd, BOOL_T final )
{
- struct extraData *xx = GetTrkExtraData(trk);
BOOL_T updateEndPts;
ANGLE_T a0, a1;
EPINX_T ep;
- struct extraData xx0;
FLOAT_T turns;
if ( inx == -1 )
return;
- xx0 = *xx;
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
+ struct extraDataCurve_t xx0 = *xx;
updateEndPts = FALSE;
GetCurveAngles( &a0, &a1, trk );
switch ( inx ) {
@@ -540,11 +552,11 @@ static void UpdateCurve( track_p trk, int inx, descData_p descUpd, BOOL_T final
static void DescribeCurve( track_p trk, char * str, CSIZE_T len )
{
- struct extraData *xx = GetTrkExtraData(trk);
ANGLE_T a0, a1;
DIST_T d;
int fix0, fix1;
FLOAT_T turns;
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
GetCurveAngles( &a0, &a1, trk );
d = xx->radius * 2.0 * M_PI * a1 / 360.0;
@@ -649,9 +661,9 @@ static void DescribeCurve( track_p trk, char * str, CSIZE_T len )
static DIST_T DistanceCurve( track_p t, coOrd * p )
{
- struct extraData *xx = GetTrkExtraData(t);
ANGLE_T a0, a1;
DIST_T d;
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(t, T_CURVE, extraDataCurve_t);
GetCurveAngles( &a0, &a1, t );
if ( xx->helixTurns > 0 ) {
a0 = 0.0;
@@ -663,10 +675,10 @@ static DIST_T DistanceCurve( track_p t, coOrd * p )
static void DrawCurve( track_p t, drawCmd_p d, wDrawColor color )
{
- struct extraData *xx = GetTrkExtraData(t);
ANGLE_T a0, a1;
track_p tt = t;
long widthOptions = DTS_LEFT|DTS_RIGHT;
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(t, T_CURVE, extraDataCurve_t);
GetCurveAngles( &a0, &a1, t );
if (xx->circle) {
@@ -684,7 +696,6 @@ static void DrawCurve( track_p t, drawCmd_p d, wDrawColor color )
}
DrawCurvedTrack( d, xx->pos, xx->radius, a0, a1,
- GetTrkEndPos(t,0), GetTrkEndPos(t,1),
t, color, widthOptions );
DrawEndPt( d, t, 0, color );
DrawEndPt( d, t, 1, color );
@@ -696,12 +707,13 @@ static void DeleteCurve( track_p t )
static BOOL_T WriteCurve( track_p t, FILE * f )
{
- struct extraData *xx = GetTrkExtraData(t);
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(t, T_CURVE, extraDataCurve_t);
long options;
BOOL_T rc = TRUE;
options = GetTrkWidth(t) & 0x0F;
- if ( ( ( GetTrkBits(t) & TB_HIDEDESC ) != 0 ) == ( xx->helixTurns > 0 ) )
- options |= 0x80;
+ if ( ( GetTrkBits(t) & TB_HIDEDESC ) == 0 )
+ // 0x80 means Show Description
+ options |= 0x80;
rc &= fprintf(f, "CURVE %d %d %ld 0 0 %s %d %0.6f %0.6f 0 %0.6f %ld %0.6f %0.6f\n",
GetTrkIndex(t), GetTrkLayer(t), (long)options,
GetTrkScaleName(t), GetTrkVisible(t)|(GetTrkNoTies(t)?1<<2:0)|(GetTrkBridge(t)?1<<3:0), xx->pos.x, xx->pos.y, xx->radius,
@@ -714,7 +726,7 @@ static BOOL_T WriteCurve( track_p t, FILE * f )
static BOOL_T ReadCurve( char * line )
{
- struct extraData *xx;
+ struct extraDataCurve_t *xx;
track_p t;
wIndex_t index;
BOOL_T visible;
@@ -739,7 +751,7 @@ static BOOL_T ReadCurve( char * line )
if ( !ReadSegs() )
return FALSE;
t = NewTrack( index, T_CURVE, 0, sizeof *xx );
- xx = GetTrkExtraData(t);
+ xx = GET_EXTRA_DATA(t, T_CURVE, extraDataCurve_t);
xx->helixTurns = helixTurns;
xx->descriptionOff = descriptionOff;
if ( paramVersion < 3 ) {
@@ -756,8 +768,15 @@ static BOOL_T ReadCurve( char * line )
SetTrkWidth(t, (int)(options&3));
xx->pos = p;
xx->radius = r;
- if ( ( ( options & 0x80 ) != 0 ) == ( xx->helixTurns > 0 ) )
- SetTrkBits(t,TB_HIDEDESC);
+ if ( paramVersion < VERSION_DESCRIPTION2 ) {
+ if ( xx->helixTurns <= 0 ) {
+ // Descriptions on by default for helix, off for curves
+ SetTrkBits(t,TB_HIDEDESC);
+ }
+ } else {
+ if ( paramVersion < VERSION_DESCRIPTION2 || ( ( options & 0x80 ) == 0 ) )
+ SetTrkBits(t,TB_HIDEDESC);
+ }
SetEndPts(t,2);
if (GetTrkEndAngle( t, 0 ) == 270.0 &&
GetTrkEndAngle( t, 1 ) == 90.0 )
@@ -768,7 +787,7 @@ static BOOL_T ReadCurve( char * line )
static void MoveCurve( track_p trk, coOrd orig )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
xx->pos.x += orig.x;
xx->pos.y += orig.y;
ComputeCurveBoundingBox( trk, xx );
@@ -776,14 +795,14 @@ static void MoveCurve( track_p trk, coOrd orig )
static void RotateCurve( track_p trk, coOrd orig, ANGLE_T angle )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
Rotate( &xx->pos, orig, angle );
ComputeCurveBoundingBox( trk, xx );
}
static void RescaleCurve( track_p trk, FLOAT_T ratio )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
xx->pos.x *= ratio;
xx->pos.y *= ratio;
xx->radius *= ratio;
@@ -801,7 +820,7 @@ static ANGLE_T GetAngleCurve( track_p trk, coOrd pos, EPINX_T *ep0, EPINX_T *ep1
static BOOL_T SplitCurve( track_p trk, coOrd pos, EPINX_T ep, track_p *leftover, EPINX_T * ep0, EPINX_T * ep1 )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
ANGLE_T a, a0, a1;
track_p trk1;
@@ -841,7 +860,7 @@ static BOOL_T SplitCurve( track_p trk, coOrd pos, EPINX_T ep, track_p *leftover,
static BOOL_T TraverseCurve( traverseTrack_p trvTrk, DIST_T * distR )
{
track_p trk = trvTrk->trk;
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
ANGLE_T a, a0, a1, a2, a3;
DIST_T arcDist;
DIST_T circum;
@@ -936,18 +955,19 @@ static BOOL_T TraverseCurve( traverseTrack_p trvTrk, DIST_T * distR )
static BOOL_T EnumerateCurve( track_p trk )
{
- struct extraData *xx;
+ struct extraDataCurve_t *xx;
ANGLE_T a0, a1;
DIST_T d;
if (trk != NULL) {
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
GetCurveAngles( &a0, &a1, trk );
d = (xx->radius + (GetTrkGauge(trk)/2.0))* 2.0 * M_PI * a1 / 360.0;
if (xx->helixTurns > 0)
d += (xx->helixTurns-(xx->circle?1:0)) * (xx->radius+(GetTrkGauge(trk)/2.0)) * 2.0 * M_PI;
ScaleLengthIncrement( GetTrkScale(trk), d );
+ return TRUE;
}
- return TRUE;
+ return FALSE;
}
static BOOL_T TrimCurve( track_p trk, EPINX_T ep, DIST_T dist, coOrd endpos, ANGLE_T angle, DIST_T endradius, coOrd endcenter )
@@ -957,7 +977,7 @@ static BOOL_T TrimCurve( track_p trk, EPINX_T ep, DIST_T dist, coOrd endpos, ANG
ANGLE_T a, aa;
ANGLE_T a0, a1;
coOrd pos, center;
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
if (xx->helixTurns>0) {
ErrorMessage( MSG_CANT_TRIM_HELIX );
return FALSE;
@@ -984,8 +1004,6 @@ static BOOL_T MergeCurve(
track_p trk1,
EPINX_T ep1 )
{
- struct extraData *xx0 = GetTrkExtraData(trk0);
- struct extraData *xx1 = GetTrkExtraData(trk1);
ANGLE_T a00, a01, a10, a11;
DIST_T d;
track_p trk2;
@@ -997,6 +1015,8 @@ static BOOL_T MergeCurve(
if ( IsCurveCircle(trk0) ||
IsCurveCircle(trk1) )
return FALSE;
+ struct extraDataCurve_t *xx0 = GET_EXTRA_DATA(trk0, T_CURVE, extraDataCurve_t);
+ struct extraDataCurve_t *xx1 = GET_EXTRA_DATA(trk1, T_CURVE, extraDataCurve_t);
if ( xx0->helixTurns > 0 ||
xx1->helixTurns > 0 )
return FALSE;
@@ -1034,7 +1054,7 @@ static BOOL_T MergeCurve(
ConnectTracks( trk0, ep0, trk2, ep2 );
}
DrawNewTrack( trk0 );
- ComputeCurveBoundingBox( trk0, GetTrkExtraData(trk0) );
+ ComputeCurveBoundingBox( trk0, GET_EXTRA_DATA(trk0, T_CURVE, extraDataCurve_t) );
return TRUE;
}
@@ -1055,7 +1075,7 @@ static STATUS_T ModifyCurve( track_p trk, wAction_t action, coOrd pos )
ANGLE_T a, aa1, aa2;
DIST_T r, d;
track_p trk1;
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
switch ( action ) {
@@ -1185,7 +1205,7 @@ static DIST_T GetLengthCurve( track_p trk )
DIST_T dist, rad;
ANGLE_T a0, a1;
coOrd cen;
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
GetTrkCurveCenter( trk, &cen, &rad );
if (xx->circle)
@@ -1201,7 +1221,6 @@ static DIST_T GetLengthCurve( track_p trk )
static BOOL_T GetParamsCurve( int inx, track_p trk, coOrd pos, trackParams_t * params )
{
- struct extraData *xx = GetTrkExtraData(trk);
params->type = curveTypeCurve;
GetTrkCurveCenter( trk, &params->arcP, &params->arcR);
GetCurveAngles( &params->arcA0, &params->arcA1, trk );
@@ -1214,6 +1233,7 @@ static BOOL_T GetParamsCurve( int inx, track_p trk, coOrd pos, trackParams_t * p
FormatDistance( params->arcR ), FormatDistance( easeR ) );
return FALSE;
}
+ struct extraDataCurve_t *xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
if ( inx == PARAMS_EXTEND && ( IsCurveCircle(trk) || xx->helixTurns > 0 ) ) {
ErrorMessage( MSG_CANT_EXTEND_HELIX );
return FALSE;
@@ -1262,7 +1282,7 @@ static BOOL_T MoveEndPtCurve( track_p *trk, EPINX_T *ep, coOrd pos, DIST_T d0 )
static BOOL_T QueryCurve( track_p trk, int query )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataCurve_t * xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
switch ( query ) {
case Q_CAN_PARALLEL:
case Q_CAN_MODIFYRADIUS:
@@ -1305,7 +1325,7 @@ static void FlipCurve(
coOrd orig,
ANGLE_T angle )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataCurve_t * xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
FlipPoint( &xx->pos, orig, angle );
ComputeCurveBoundingBox( trk, xx );
}
@@ -1321,8 +1341,8 @@ static BOOL_T MakeParallelCurve(
coOrd * p1R,
BOOL_T track)
{
- struct extraData * xx = GetTrkExtraData(trk);
- struct extraData * xx1;
+ struct extraDataCurve_t * xx = GET_EXTRA_DATA(trk, T_CURVE, extraDataCurve_t);
+ struct extraDataCurve_t * xx1;
DIST_T rad;
ANGLE_T a0, a1;
@@ -1336,7 +1356,7 @@ static BOOL_T MakeParallelCurve(
if ( newTrkR ) {
if (track) {
*newTrkR = NewCurvedTrack( xx->pos, rad, a0, a1, 0 );
- xx1 = GetTrkExtraData(*newTrkR);
+ xx1 = GET_EXTRA_DATA(*newTrkR, T_CURVE, extraDataCurve_t);
xx1->helixTurns = xx->helixTurns;
xx1->circle = xx->circle;
}
@@ -1376,8 +1396,8 @@ static BOOL_T MakeParallelCurve(
static wBool_t CompareCurve( track_cp trk1, track_cp trk2 )
{
- struct extraData * ed1 = GetTrkExtraData( trk1 );
- struct extraData * ed2 = GetTrkExtraData( trk2 );
+ struct extraDataCurve_t * ed1 = GET_EXTRA_DATA( trk1, T_CURVE, extraDataCurve_t );
+ struct extraDataCurve_t * ed2 = GET_EXTRA_DATA( trk2, T_CURVE, extraDataCurve_t );
char * cp = message+strlen(message);
REGRESS_CHECK_POS( "POS", ed1, ed2, pos )
REGRESS_CHECK_DIST( "RADIUS", ed1, ed2, radius )
@@ -1581,7 +1601,8 @@ EXPORT void PlotCurve(
coOrd pos1,
coOrd pos2,
curveData_t * curveData,
- BOOL_T constrain ) //Make the Radius be in steps of radiusGranularity (1/8)
+ BOOL_T constrain, //Make the Radius be in steps of radiusGranularity (1/8)
+ DIST_T desired_r) //Target one radius if close
{
DIST_T d0, d2, r;
ANGLE_T angle, a0, a1, a2;
@@ -1604,19 +1625,36 @@ LOG( log_curve, 3, ( "Straight: %0.3f < %0.3f\n", d0*sin(D2R(a1)), (4.0/75.0)*ma
} else if (a1 >= 179.0 && a1 <= 181.0) {
curveData->type = curveTypeNone;
} else {
+ BOOL_T found = FALSE;
if (a1<180.0) {
a2 = NormalizeAngle( angle + 90.0 );
- if (constrain)
- curveData->curveRadius = ConstrainR( d0/sin(D2R(a1)) );
- else
- curveData->curveRadius = d0/sin(D2R(a1));
+ if (desired_r > 0.0) {
+ if (IsClose(fabs(d0/sin(D2R(a1))-desired_r))) {
+ curveData->curveRadius = desired_r;
+ found = TRUE;
+ }
+ }
+ if (!found) {
+ if (constrain)
+ curveData->curveRadius = ConstrainR( d0/sin(D2R(a1)) );
+ else
+ curveData->curveRadius = d0/sin(D2R(a1));
+ }
} else {
a1 -= 360.0;
a2 = NormalizeAngle( angle - 90.0 );
- if (constrain)
- curveData->curveRadius = ConstrainR( d0/sin(D2R(-a1)) );
- else
- curveData->curveRadius = d0/sin(D2R(-a1));
+ if (desired_r > 0.0) {
+ if (IsClose(fabs(d0/sin(D2R(-a1))-desired_r))) {
+ curveData->curveRadius = desired_r;
+ found = TRUE;
+ }
+ }
+ if (!found){
+ if (constrain)
+ curveData->curveRadius = ConstrainR( d0/sin(D2R(-a1)) );
+ else
+ curveData->curveRadius = d0/sin(D2R(-a1));
+ }
}
if (curveData->curveRadius > 1000) {
LOG( log_curve, 3, ( "Straight %0.3f > 1000\n", curveData->curveRadius ) )
@@ -1702,10 +1740,10 @@ LOG( log_curve, 3, ( "Straight: %0.3f < %0.3f\n", d0*sin(D2R(a1)), (4.0/75.0)*ma
EXPORT track_p NewCurvedTrack( coOrd pos, DIST_T r, ANGLE_T a0, ANGLE_T a1, long helixTurns )
{
- struct extraData *xx;
+ struct extraDataCurve_t *xx;
track_p p;
p = NewTrack( 0, T_CURVE, 2, sizeof *xx );
- xx = GetTrkExtraData(p);
+ xx = GET_EXTRA_DATA(p, T_CURVE, extraDataCurve_t);
xx->pos = pos;
xx->radius = r;
xx->helixTurns = helixTurns;
diff --git a/app/bin/tease.c b/app/bin/tease.c
index dec0801..adfff18 100644
--- a/app/bin/tease.c
+++ b/app/bin/tease.c
@@ -60,8 +60,6 @@ For a better representation of this, build 'testjoin' and
do 'testjoin psplot 10 10 40 1 | lpr -Ppostscript'
*/
-#include <math.h>
-
#include "common.h"
#include "track.h"
#include "tcornu.h"
@@ -71,17 +69,16 @@ do 'testjoin psplot 10 10 40 1 | lpr -Ppostscript'
#include "cjoin.h"
#include "cundo.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "param.h"
-#include "utility.h"
+#include "common-ui.h"
static TRKTYP_T T_EASEMENT = -1;
static ANGLE_T JOINT_ANGLE_INCR = 2.0;
-struct extraData {
+typedef struct extraDataEase_t {
+ extraDataBase_t base;
DIST_T l0, l1; /* curve start and end parameter */
DIST_T R, L; /* curve control parameters */
BOOL_T flip; /* T: endPt[1] - is l0 */
@@ -89,17 +86,9 @@ struct extraData {
BOOL_T Scurve; /* T: is an S-curve */
coOrd pos; /* Pos of origin */
ANGLE_T angle; /* Angle of curve tangent */
- };
-
-#define xl0 extraData->l0
-#define xl1 extraData->l1
-#define xR extraData->R
-#define xL extraData->L
-#define xflip extraData->flip
-#define xnegate extraData->negate
-#define xScurve extraData->Scurve
-#define xpos extraData->pos
-#define xangle extraData->angle
+ coOrd descriptionOff; /* Offset of description */
+ } extraDataEase_t;
+
#define EASE_MIN_X (0.01)
@@ -168,7 +157,7 @@ static void ComputeJoinPos(
DIST_T r;
coOrd pp, pc;
if (l==0.0)
- r = 100000.0;
+ r = DIST_INF;
else
r = (R*L)/l;
pp.y = l;
@@ -406,13 +395,14 @@ static track_p NewJoint(
*/
{
track_p trk;
- struct extraData *xx;
+ struct extraDataEase_t *xx;
coOrd p, p0, p1, q0, q1;
static coOrd qZero = { 0.0, 0.0 };
ANGLE_T az0, a01, b, b01, b1, d, d1;
trk = NewTrack( 0, T_EASEMENT, 2, sizeof *xx );
+ SetTrkBits(trk, TB_HIDEDESC); //Suppress Description for new Joint
SetTrkScale( trk, GetLayoutCurScale() );
- xx = GetTrkExtraData( trk );
+ xx = GET_EXTRA_DATA( trk, T_EASEMENT, extraDataEase_t );
SetTrkEndPoint( trk, 0, pos0, NormalizeAngle(angle0+180.0) );
SetTrkEndPoint( trk, 1, pos1, NormalizeAngle(angle1+180.0) );
xx->R = R;
@@ -474,9 +464,9 @@ LOG( log_ease, 1, ( "NewJoint( [%0.3f %0.3f] A%0.3f, [%0.3f %0.3f] A%0.3f\n B
static DIST_T GetLengthJoint( track_p trk )
{
- struct extraData *xx;
+ struct extraDataEase_t *xx;
DIST_T d0, d1;
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
d0 = JoinD( xx->l0, xx->R, xx->L );
d1 = JoinD( xx->l1, xx->R, xx->L );
if (xx->Scurve)
@@ -487,9 +477,9 @@ static DIST_T GetLengthJoint( track_p trk )
static DIST_T GetFlexLengthJoint( track_p trk )
{
- struct extraData *xx;
+ struct extraDataEase_t *xx;
DIST_T d0, d1, d3;
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
d0 = JoinD( xx->l0, xx->R+(GetTrkGauge(trk)/2.0), xx->L );
d1 = JoinD( xx->l1, xx->R+(GetTrkGauge(trk)/2.0), xx->L );
d3 = JoinD( xx->l1, xx->R-(GetTrkGauge(trk)/2.0), xx->L );
@@ -527,7 +517,7 @@ static descData_t jointDesc[] = {
/*L0*/ { DESC_DIM, N_("l0"), &jointData.l0 },
/*L1*/ { DESC_DIM, N_("l1"), &jointData.l1 },
/*GR*/ { DESC_FLOAT, N_("Grade"), &jointData.grade },
-/*PV*/ { DESC_PIVOT, N_("Pivot"), &jointData.pivot },
+/*PV*/ { DESC_PIVOT, N_("Lock"), &jointData.pivot },
/*LY*/ { DESC_LAYER, N_("Layer"), &jointData.layerNumber },
{ DESC_NULL } };
@@ -564,7 +554,7 @@ static void DescribeJoint(
* Print some interesting info about the track.
*/
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataEase_t *xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
int fix0, fix1;
sprintf( str, _("Joint Track(%d): Layer=%d Length=%0.3f EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"), GetTrkIndex(trk),
@@ -681,7 +671,7 @@ static DIST_T DistanceJoint(
* Determine how close (p) is to (t).
*/
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataEase_t * xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
return JointDistance( p, xx->pos, xx->angle, xx->l0, xx->l1, xx->R, xx->L, xx->negate, xx->Scurve );
}
@@ -710,6 +700,7 @@ static void DrawJointSegment(
coOrd p0, p1;
ANGLE_T a0, a1;
int cnt1;
+ wDrawWidth thick = 3;
ComputeJoinPos( l0, R, L, NULL, &a0, NULL, NULL );
ComputeJoinPos( l1, R, L, NULL, &a1, NULL, NULL );
@@ -723,6 +714,9 @@ static void DrawJointSegment(
a0 += a1;
ll = sqrt( sin(D2R(a0)) * 2 * R * L );
GetJointPos( &p1, NULL, ll, R, L, P, A, N );
+ if (widthOptions&DTS_CENTERONLY) {
+ DrawLine(d,p0,p1,thick,color);
+ }
DrawStraightTrack( d, p0, p1, FindAngle( p1, p0 ), trk,
color, widthOptions );
p0 = p1;
@@ -760,6 +754,95 @@ EXPORT coOrd GetJointSegEndPos(
return p1;
}
+STATUS_T JointDescriptionMove(
+ track_p trk,
+ wAction_t action,
+ coOrd pos )
+{
+ struct extraDataEase_t *xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
+ ANGLE_T ap;
+ coOrd end0, end1;
+ end0 = GetTrkEndPos(trk,0);;
+ end1 = GetTrkEndPos(trk,1);
+ ap = NormalizeAngle(FindAngle(end0,pos)-FindAngle(end0,end1));
+
+ xx->descriptionOff.y = FindDistance(end0,pos)*sin(D2R(ap));
+ xx->descriptionOff.x = -0.5 + FindDistance(end0,pos)*cos(D2R(ap))/FindDistance(end0,end1);
+ if (xx->descriptionOff.x > 0.5) xx->descriptionOff.x = 0.5;
+ if (xx->descriptionOff.x < -0.5) xx->descriptionOff.x = -0.5;
+
+ return C_CONTINUE;
+}
+
+DIST_T JointDescriptionDistance(
+ coOrd pos,
+ track_p trk,
+ coOrd * dpos,
+ BOOL_T show_hidden,
+ BOOL_T * hidden)
+{
+ coOrd p1;
+ if (hidden) *hidden = FALSE;
+ if ( GetTrkType( trk ) != T_EASEMENT || ((( GetTrkBits( trk ) & TB_HIDEDESC ) != 0 ) && !show_hidden))
+ return DIST_INF;
+
+ struct extraDataEase_t *xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
+ coOrd end0, end0off, end1, end1off;
+ end0 = GetTrkEndPos(trk,0);
+ end1 = GetTrkEndPos(trk,1);
+ ANGLE_T a = FindAngle(end0,end1);
+ Translate(&end0off,end0,a+90,xx->descriptionOff.y);
+ Translate(&end1off,end1,a+90,xx->descriptionOff.y);
+
+ p1.x = (end1off.x - end0off.x)*(xx->descriptionOff.x+0.5) + end0off.x;
+ p1.y = (end1off.y - end0off.y)*(xx->descriptionOff.x+0.5) + end0off.y;
+
+ if (hidden) *hidden = (GetTrkBits( trk ) & TB_HIDEDESC);
+ *dpos = p1;
+
+ coOrd tpos = pos;
+ if (DistanceJoint(trk,&tpos)<FindDistance( p1, pos ))
+ return DistanceJoint(trk,&pos);
+ return FindDistance( p1, pos );
+}
+static void DrawJointDescription(
+ track_p trk,
+ drawCmd_p d,
+ wDrawColor color )
+{
+ DIST_T grade=0, sep=0;
+ ANGLE_T a;
+ if (layoutLabels == 0)
+ return;
+ if ((labelEnable&LABELENABLE_TRKDESC)==0 )
+ return;
+
+ coOrd end0, end0off, end1, end1off;
+ end0 = GetTrkEndPos(trk,0);
+ end1 = GetTrkEndPos(trk,1);
+ a = FindAngle(end0,end1);
+ struct extraDataEase_t *xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
+ Translate(&end0off,end0,a+90,xx->descriptionOff.y);
+ Translate(&end1off,end1,a+90,xx->descriptionOff.y);
+
+ sprintf( message, "Joint: L %s A %0.3f, l0 %s l1 %s R %s L %s\n",
+ FormatDistance(FindDistance(end0,end1)),FindAngle(end0,end1),
+ FormatDistance(xx->l0), FormatDistance(xx->l1), FormatDistance(xx->R), FormatDistance(xx->L));
+ DrawLine(d,end0,end0off,0,color);
+ DrawLine(d,end1,end1off,0,color);
+ DrawDimLine( d, end0off, end1off, message, (wFontSize_t)descriptionFontSize, xx->descriptionOff.x+0.5, 0, color, 0x00 );
+
+ if (GetTrkBits( trk ) & TB_DETAILDESC) {
+ coOrd details_pos;
+ details_pos.x = (end1off.x - end0off.x)*(xx->descriptionOff.x+0.5) + end0off.x;
+ details_pos.y = (end1off.y - end0off.y)*(xx->descriptionOff.x+0.5) + end0off.y - (2*descriptionFontSize/mainD.dpi);
+
+ AddTrkDetails(d, trk, details_pos, FindDistance(end0,end1), color);
+ }
+
+
+}
+
EXPORT void DrawJointTrack(
drawCmd_p d,
@@ -801,16 +884,6 @@ EXPORT void DrawJointTrack(
return;
}
LOG( log_ease, 4, ( "DJT( (X%0.3f Y%0.3f A%0.3f) \n", pos.x, pos.y, angle ) )
-#ifdef LATER
- scale2rail = (d->options&DC_PRINT)?(twoRailScale*2+1):twoRailScale;
-
-#ifdef WINDOWS
- width *= (wDrawWidth)(d->dpi/mainD.dpi);
-#else
- if (d->options&DC_PRINT)
- width *= 300/75;
-#endif
-#endif
if (color == wDrawColorBlack)
color = normalColor;
if (!Scurve) {
@@ -833,6 +906,13 @@ LOG( log_ease, 4, ( "DJT( (X%0.3f Y%0.3f A%0.3f) \n", pos.x, pos.y, angle ) )
}
DrawEndPt( d, trk, ep0, color );
DrawEndPt( d, trk, ep1, color );
+ if (((d->options&(DC_SIMPLE|DC_SEGTRACK))==0) &&
+ (labelWhen == 2 || (labelWhen == 1 && (d->options&DC_PRINT))) &&
+ labelScale >= d->scale &&
+ ( GetTrkBits( trk ) & TB_HIDEDESC ) == 0 ) {
+ DrawJointDescription( trk, d, color );
+ }
+
}
@@ -844,7 +924,7 @@ static void DrawJoint(
* Draw a transition-curve.
*/
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataEase_t * xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
long widthOptions = 0;
DrawJointTrack( d, xx->pos, xx->angle, xx->l0, xx->l1, xx->R, xx->L, xx->negate, xx->flip, xx->Scurve, trk, 0, 1, GetTrkGauge(trk), color, widthOptions );
@@ -864,12 +944,16 @@ static BOOL_T WriteJoint(
* Write track data to a file (f).
*/
{
- struct extraData * xx = GetTrkExtraData(t);
+ struct extraDataEase_t * xx = GET_EXTRA_DATA(t, T_EASEMENT, extraDataEase_t);
BOOL_T rc = TRUE;
- rc &= fprintf(f, "JOINT %d %d %ld 0 0 %s %d %0.6f %0.6f %0.6f %0.6f %d %d %d %0.6f %0.6f 0 %0.6f\n",
- GetTrkIndex(t), GetTrkLayer(t), (long)GetTrkWidth(t),
- GetTrkScaleName(t), GetTrkVisible(t), xx->l0, xx->l1, xx->R, xx->L,
- xx->flip, xx->negate, xx->Scurve, xx->pos.x, xx->pos.y, xx->angle )>0;
+ long options = (long)GetTrkWidth(t);
+ if ( ( GetTrkBits(t) & TB_HIDEDESC ) == 0 )
+ // 0x80 means Show Description
+ options |= 0x80;
+ rc &= fprintf(f, "JOINT %d %d %ld 0 0 %s %d %0.6f %0.6f %0.6f %0.6f %d %d %d %0.6f %0.6f 0 %0.6f %0.6f %0.6f\n",
+ GetTrkIndex(t), GetTrkLayer(t), options,
+ GetTrkScaleName(t), GetTrkVisible(t)|(GetTrkNoTies(t)?1<<2:0)|(GetTrkBridge(t)?1<<3:0), xx->l0, xx->l1, xx->R, xx->L,
+ xx->flip, xx->negate, xx->Scurve, xx->pos.x, xx->pos.y, xx->angle, xx->descriptionOff.x, xx->descriptionOff.y )>0;
rc &= WriteEndPt( f, t, 0 );
rc &= WriteEndPt( f, t, 1 );
rc &= fprintf(f, "\t%s\n", END_SEGS )>0;
@@ -885,20 +969,27 @@ static BOOL_T ReadJoint(
track_p trk;
TRKINX_T index;
BOOL_T visible;
- struct extraData e, *xx;
+ struct extraDataEase_t e, *xx;
char scale[10];
wIndex_t layer;
long options;
DIST_T elev;
+ char * cp = NULL;
+ coOrd descriptionOff = {0.0,0.0};
- if ( !GetArgs( line+6, paramVersion<3?"dXZsdffffdddpYf":paramVersion<9?"dLl00sdffffdddpYf":"dLl00sdffffdddpff",
+ if ( !GetArgs( line+6, paramVersion<3?"dXZsdffffdddpYfc":paramVersion<9?"dLl00sdffffdddpYfc":"dLl00sdffffdddpffc",
&index, &layer, &options, scale, &visible, &e.l0, &e.l1, &e.R, &e.L,
- &e.flip, &e.negate, &e.Scurve, &e.pos, &elev, &e.angle) )
+ &e.flip, &e.negate, &e.Scurve, &e.pos, &elev, &e.angle, &cp) )
return FALSE;
+ if (cp) {
+ if (!GetArgs(cp,"p",&descriptionOff))
+ return FALSE;
+ }
if ( !ReadSegs() )
return FALSE;
trk = NewTrack( index, T_EASEMENT, 0, sizeof e );
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
+ xx->descriptionOff = descriptionOff;
if ( paramVersion < 3 ) {
SetTrkVisible(trk, visible!=0);
SetTrkNoTies(trk, FALSE);
@@ -911,6 +1002,9 @@ static BOOL_T ReadJoint(
SetTrkScale(trk, LookupScale(scale));
SetTrkLayer(trk, layer);
SetTrkWidth(trk, (int)(options&3));
+ if ( paramVersion < VERSION_DESCRIPTION2 || ( ( options & 0x80 ) == 0 ) )
+ SetTrkBits(trk,TB_HIDEDESC);
+ e.base.trkType = T_EASEMENT;
*xx = e;
SetEndPts( trk, 2 );
ComputeBoundingBox( trk );
@@ -924,7 +1018,7 @@ static void MoveJoint(
* Move a track.
*/
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataEase_t * xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
xx->pos.x += orig.x;
xx->pos.y += orig.y;
ComputeBoundingBox( trk );
@@ -938,7 +1032,7 @@ static void RotateJoint(
* Rotate a track.
*/
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataEase_t * xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
Rotate( &xx->pos, orig, angle );
xx->angle = NormalizeAngle( xx->angle+angle );
ComputeBoundingBox( trk );
@@ -947,7 +1041,7 @@ static void RotateJoint(
static void RescaleJoint( track_p trk, FLOAT_T ratio )
{
- struct extraData *xx = GetTrkExtraData(trk);
+ struct extraDataEase_t *xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
xx->pos.x *= ratio;
xx->pos.y *= ratio;
xx->R *= ratio;
@@ -959,9 +1053,9 @@ static void RescaleJoint( track_p trk, FLOAT_T ratio )
static ANGLE_T GetAngleJoint( track_p trk, coOrd pos, EPINX_T * ep0, EPINX_T * ep1 )
{
- struct extraData * xx = GetTrkExtraData(trk);
DIST_T l;
ANGLE_T a;
+ struct extraDataEase_t * xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
if ( ep0 && ep1 ) {
if (xx->flip) {
*ep0 = 1;
@@ -990,11 +1084,11 @@ static ANGLE_T GetAngleJoint( track_p trk, coOrd pos, EPINX_T * ep0, EPINX_T * e
static void SplitJointA(
coOrd * posR,
EPINX_T ep,
- struct extraData * xx,
- struct extraData * xx1,
+ struct extraDataEase_t * xx,
+ struct extraDataEase_t * xx1,
ANGLE_T * aR )
{
- struct extraData * xx0;
+ struct extraDataEase_t * xx0;
BOOL_T flip;
DIST_T l;
@@ -1048,13 +1142,13 @@ static void SplitJointA(
static BOOL_T SplitJoint( track_p trk, coOrd pos, EPINX_T ep, track_p * leftover, EPINX_T *ep0, EPINX_T *ep1 )
{
- struct extraData *xx, *xx1;
+ struct extraDataEase_t *xx, *xx1;
track_p trk1;
ANGLE_T a;
- xx = GetTrkExtraData(trk);
+ xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
trk1 = NewTrack( 0, T_EASEMENT, 2, sizeof *xx );
- xx1 = GetTrkExtraData(trk1);
+ xx1 = GET_EXTRA_DATA(trk1, T_EASEMENT, extraDataEase_t);
*xx1 = *xx;
SetTrkEndPoint( trk1, ep, GetTrkEndPos(trk,ep), GetTrkEndAngle(trk,ep) );
*leftover = trk1;
@@ -1169,7 +1263,7 @@ static BOOL_T TraverseJointTrack(
DIST_T * distR )
{
track_p trk = trvTrk->trk;
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataEase_t * xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
BOOL_T rc;
EPINX_T ep;
ANGLE_T angle;
@@ -1196,8 +1290,9 @@ static BOOL_T EnumerateJoint( track_p trk )
{
if (trk != NULL) {
ScaleLengthIncrement( GetTrkScale(trk), GetFlexLengthJoint(trk) );
+ return TRUE;
}
- return TRUE;
+ return FALSE;
}
static BOOL_T TrimJoint( track_p trk, EPINX_T ep, DIST_T maxX, coOrd endpos, ANGLE_T angle, DIST_T radius, coOrd center )
@@ -1217,8 +1312,8 @@ static BOOL_T MergeJoint(
EPINX_T ep2=-1;
coOrd pos;
ANGLE_T a;
- struct extraData *xx0 = GetTrkExtraData(trk0);
- struct extraData *xx1 = GetTrkExtraData(trk1);
+ struct extraDataEase_t *xx0 = GET_EXTRA_DATA(trk0, T_EASEMENT, extraDataEase_t);
+ struct extraDataEase_t *xx1 = GET_EXTRA_DATA(trk1, T_EASEMENT, extraDataEase_t);
if ( ep0 == ep1 )
return FALSE;
@@ -1287,7 +1382,7 @@ static BOOL_T MoveEndPtJoint( track_p *trk, EPINX_T *ep, coOrd pos, DIST_T d )
static BOOL_T QueryJoint( track_p trk, int query )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataEase_t * xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
track_p trk1;
switch ( query ) {
@@ -1304,6 +1399,8 @@ static BOOL_T QueryJoint( track_p trk, int query )
SplitTrack( trk, xx->pos, 0, &trk1, FALSE );
}
return TRUE;
+ case Q_HAS_DESC:
+ return TRUE;
default:
return FALSE;
}
@@ -1315,7 +1412,7 @@ static void FlipJoint(
coOrd orig,
ANGLE_T angle )
{
- struct extraData * xx = GetTrkExtraData(trk);
+ struct extraDataEase_t * xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t);
FlipPoint( &xx->pos, orig, angle );
xx->angle = NormalizeAngle( 2*angle - xx->angle );
xx->negate = !xx->negate;
@@ -1333,7 +1430,7 @@ static BOOL_T MakeParallelJoint(
coOrd * p1R,
BOOL_T track)
{
- struct extraData * xx = GetTrkExtraData(trk), *xx1;
+ struct extraDataEase_t * xx = GET_EXTRA_DATA(trk, T_EASEMENT, extraDataEase_t), *xx1;
ANGLE_T angle, A;
coOrd p0, p1, P, q1, r1;
DIST_T d, d0;
@@ -1385,7 +1482,7 @@ static BOOL_T MakeParallelJoint(
if ( newTrkR ) {
if (track) {
*newTrkR = NewTrack( 0, T_EASEMENT, 2, sizeof *xx );
- xx1 = GetTrkExtraData( *newTrkR );
+ xx1 = GET_EXTRA_DATA( *newTrkR, T_EASEMENT, extraDataEase_t );
*xx1 = *xx;
xx1->angle = A;
xx1->R = R;
@@ -1447,8 +1544,8 @@ static BOOL_T MakeParallelJoint(
static wBool_t CompareJoint( track_cp trk1, track_cp trk2 )
{
- struct extraData *xx1 = GetTrkExtraData( trk1 );
- struct extraData *xx2 = GetTrkExtraData( trk2 );
+ struct extraDataEase_t *xx1 = GET_EXTRA_DATA( trk1, T_EASEMENT, extraDataEase_t );
+ struct extraDataEase_t *xx2 = GET_EXTRA_DATA( trk2, T_EASEMENT, extraDataEase_t );
char * cp = message + strlen(message);
REGRESS_CHECK_DIST( "L0", xx1, xx2, l0 );
REGRESS_CHECK_DIST( "L1", xx1, xx2, l1 );
@@ -1507,7 +1604,7 @@ EXPORT void JointSegProc(
DIST_T l;
ANGLE_T a;
BOOL_T flip;
- struct extraData * xx, xxx[2];
+ struct extraDataEase_t * xx, xxx[2];
coOrd p;
int inx;
EPINX_T ep0;
@@ -1581,7 +1678,7 @@ LOG( log_traverseJoint, 1, ( "TJ0: ?[%0.3f %0.3f] A=%0.3f l=%0.3f J[%0.3f %0.3f]
case SEGPROC_NEWTRACK:
data->newTrack.trk = NewTrack( 0, T_EASEMENT, 2, sizeof *xx );
- xx = GetTrkExtraData(data->newTrack.trk);
+ xx = GET_EXTRA_DATA(data->newTrack.trk, T_EASEMENT, extraDataEase_t);
xx->pos = segPtr->u.j.pos;
xx->angle = segPtr->u.j.angle;
xx->l0 = segPtr->u.j.l0;
@@ -1620,6 +1717,8 @@ LOG( log_traverseJoint, 1, ( "TJ0: ?[%0.3f %0.3f] A=%0.3f l=%0.3f J[%0.3f %0.3f]
break;
case SEGPROC_SPLIT:
+ xxx[0].base.trkType = T_EASEMENT;
+ xxx[1].base.trkType = T_EASEMENT;
xxx[0].pos = segPtr->u.j.pos;
xxx[0].angle = segPtr->u.j.angle;
xxx[0].l0 = segPtr->u.j.l0;
@@ -1759,12 +1858,12 @@ EXPORT void UndoJoint(
track_p trk1,
EPINX_T ep1 )
{
- struct extraData * xx;
+ struct extraDataEase_t * xx;
DIST_T d;
if ( GetTrkType(trk1) != T_EASEMENT )
return;
- xx = GetTrkExtraData(trk1);
+ xx = GET_EXTRA_DATA(trk1, T_EASEMENT, extraDataEase_t);
if ( ep1 == 0 )
d = xx->L/2.0 - xx->l0;
else
diff --git a/app/bin/textnoteui.c b/app/bin/textnoteui.c
index 331cfb5..ba255ea 100644
--- a/app/bin/textnoteui.c
+++ b/app/bin/textnoteui.c
@@ -20,20 +20,15 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <string.h>
-#include <stdbool.h>
-
#include "custom.h"
#include "dynstring.h"
-#include "i18n.h"
#include "misc.h"
#include "note.h"
#include "param.h"
#include "shortentext.h"
#include "track.h"
-#include "wlib.h"
-static struct extraDataNote noteDataInUI;
+static struct extraDataNote_t noteDataInUI;
static paramTextData_t noteTextData = { 300, 150 };
static paramFloatRange_t r_1000_1000 = { -1000.0, 1000.0, 80 };
@@ -43,12 +38,12 @@ static paramData_t textEditPLs[] = {
#define I_ORIGY (1)
/*1*/ { PD_FLOAT, &noteDataInUI.pos.y, "origy", PDO_DIM, &r_1000_1000, N_("Position Y") },
#define I_LAYER (2)
- /*2*/ { PD_DROPLIST, &noteDataInUI.layer, "layer", 0, (void*)150, "Layer", 0 },
+ /*2*/ { PD_DROPLIST, &noteDataInUI.layer, "layer", 0, I2VP(150), "Layer", 0 },
#define I_TEXT (3)
/*3*/ { PD_TEXT, NULL, "text", PDO_NOPREF, &noteTextData, N_("Note") }
};
-static paramGroup_t textEditPG = { "textEdit", 0, textEditPLs, sizeof textEditPLs / sizeof textEditPLs[0] };
+static paramGroup_t textEditPG = { "textEdit", 0, textEditPLs, COUNT( textEditPLs ) };
static wWin_p textEditW;
#define textEntry ((wText_p)textEditPLs[I_TEXT].control)
@@ -147,7 +142,7 @@ TextEditOK(void *junk)
UpdateText(&noteDataInUI, OK_TEXT, FALSE);
wHide(textEditW);
ResetIfNotSticky();
- FileIsChanged();
+ SetFileChanged();
}
@@ -161,7 +156,7 @@ TextEditOK(void *junk)
static void
CreateEditTextNote(track_p trk, char *title)
{
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
// create the dialog if necessary
if (!textEditW) {
@@ -201,7 +196,7 @@ CreateEditTextNote(track_p trk, char *title)
void DescribeTextNote(track_p trk, char * str, CSIZE_T len)
{
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
char *noteText;
DynString statusLine;
@@ -233,7 +228,7 @@ void DescribeTextNote(track_p trk, char * str, CSIZE_T len)
*/
void NewTextNoteUI(track_p trk) {
- struct extraDataNote * xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t * xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
char *tmpPtrText = _("Replace this text with your note");
xx->noteData.text = MyStrdup(tmpPtrText);
diff --git a/app/bin/track.c b/app/bin/track.c
index c9ec7db..7a69160 100644
--- a/app/bin/track.c
+++ b/app/bin/track.c
@@ -20,13 +20,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <assert.h>
-#include <time.h>
-#include <ctype.h>
-#include <stdarg.h>
-#include <math.h>
-#include <string.h>
-
#include "ccurve.h"
#include "cjoin.h"
#include "compound.h"
@@ -36,15 +29,13 @@
#include "custom.h"
#include "draw.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "param.h"
#include "paths.h"
#include "track.h"
-#include "utility.h"
#include "misc.h"
#include "ctrain.h"
+#include "common-ui.h"
#ifndef TRACKDEP
#ifndef FASTTRACK
@@ -52,20 +43,25 @@
#endif
#endif
-#ifndef WINDOWS
-#include <errno.h>
-#else
-// starting from Visual Studio 2015 round is in the runtime library, fake otherwise
-#if ( _MSC_VER < 1900 )
-#define round(x) floor((x)+0.5)
-#endif
-#endif
+#include <inttypes.h>
+
+#include <stdint.h>
+
+#define SLOG_FMT "0x%.12" PRIxPTR
EXPORT char tempSpecial[4096];
+/** @logcmd @showrefby track=n track.c */
static int log_track = 0;
+/** @logcmd @showrefby endPt=n track.c */
static int log_endPt = 0;
+/** @logcmd @showrefby readTracks=n track.c */
static int log_readTracks = 0;
+/** @logcmd @showrefby timedrawtracks=n track.c */
+static int log_timedrawtracks = 0;
+
+// Enable trkType checks on extraData*_t
+#define CHECK_EXTRA_DATA
/*****************************************************************************
*
@@ -83,7 +79,6 @@ EXPORT long drawEndPtV = 2;
EXPORT long drawUnconnectedEndPt = 0; /**< How do we draw Unconnected EndPts */
EXPORT long centerDrawMode = FALSE; /**< flag to control drawing of circle centers */
-EXPORT long printCenterLines = FALSE; /**< flag to control drawing of centerline in Print */
static BOOL_T exportingTracks = FALSE;
@@ -101,7 +96,7 @@ EXPORT unsigned int curTrackLayer;
EXPORT coOrd descriptionOff;
EXPORT DIST_T roadbedWidth = 0.0;
-EXPORT DIST_T roadbedLineWidth = 3.0/75.0;
+EXPORT DIST_T roadbedLineWidth = 3.0/BASE_DPI;
//EXPORT DIST_T minTrackRadius;
//EXPORT DIST_T maxTrackGrade = 5.0;
@@ -116,6 +111,8 @@ static BOOL_T inDrawTracks;
static wBool_t bWriteEndPtDirectIndex = FALSE;
+EXPORT wBool_t bFreeTrack = FALSE;
+
#ifndef TRACKDEP
/*****************************************************************************
@@ -252,20 +249,32 @@ EXPORT BOOL_T CheckTrackLayerSilent( track_p trk )
*/
-EXPORT void EnumerateTracks( void )
+EXPORT void EnumerateTracks( void * unused )
{
track_p trk;
TRKINX_T inx;
- enumerateMaxDescLen = strlen("Description");
+ enumerateMaxDescLen = (int)strlen("Description");
+
+ BOOL_T content = FALSE;
TRK_ITERATE( trk ) {
/*
* process track piece if none are selected (list all) or if it is one of the
* selected pieces (list only selected )
*/
- if ((!selectedTrackCount || GetTrkSelected(trk)) && trackCmds(trk->type)->enumerate != NULL)
- trackCmds(trk->type)->enumerate( trk );
+ if ((!selectedTrackCount || GetTrkSelected(trk)) && trackCmds(trk->type)->enumerate != NULL) {
+ if (trackCmds(trk->type)->enumerate( trk )==TRUE) content = TRUE;
+ }
+ }
+
+ if (content == FALSE) {
+ wBeep();
+ if (selectedTrackCount == 0)
+ InfoMessage(_("No track or structure pieces are present in layout"));
+ else
+ InfoMessage(_("No track or structure pieces are selected"));
+ return;
}
EnumerateStart();
@@ -328,6 +337,7 @@ EXPORT void InitTrkTrack( void )
log_track = LogFindIndex( "track" );
log_endPt = LogFindIndex( "endPt" );
log_readTracks = LogFindIndex( "readTracks" );
+ log_timedrawtracks = LogFindIndex( "timedrawtracks" );
}
/*****************************************************************************
@@ -389,8 +399,24 @@ EXPORT EPINX_T GetTrkEndPtCnt( track_cp trk )
return trk->endCnt;
}
-EXPORT struct extraData * GetTrkExtraData( track_cp trk )
+EXPORT struct extraDataBase_t * GetTrkExtraData( track_cp trk, TRKTYP_T trkType )
{
+//printf( "GTXD T%d TY%d\n", GetTrkIndex(trk), trkType );
+ if ( IsTrackDeleted(trk) ) {
+ // We've been called by FreeTracks() which is called from
+ // - ClearTracks to remove all tracks
+ // - DoRegression to remove expected track
+ // - UndoStart / UndoDelete
+ // Anywhere else: needs investigation
+ if ( bFreeTrack == FALSE )
+ printf( "GetExtraData T%d is deleted!\n", trk->index );
+ return trk->extraData;
+ }
+#ifdef CHECK_EXTRA_DATA
+ ASSERT( trk->extraData );
+ ASSERT( trk->type == trk->extraData->trkType );
+ ASSERT( trkType == T_NOTRACK || trk->type == trkType );
+#endif
return trk->extraData;
}
@@ -455,7 +481,10 @@ EXPORT void SetTrkWidth( track_p trk, int width )
EXPORT int GetTrkBits( track_p trk )
{
- return trk->bits;
+ if (trk)
+ return trk->bits;
+ else
+ return 0;
}
EXPORT int SetTrkBits( track_p trk, int bits )
@@ -530,20 +559,24 @@ EXPORT DIST_T GetTrkEndElevHeight( track_p trk, EPINX_T e )
return trk->endPt[e].elev.u.height;
}
-EXPORT BOOL_T GetTrkEndElevCachedHeight (track_p trk, EPINX_T e, DIST_T * height, DIST_T * length)
+BOOL_T bCacheElev = TRUE;
+
+EXPORT BOOL_T GetTrkEndElevCachedHeight (track_p trk, EPINX_T e, DIST_T * height, DIST_T * grade)
{
+ if ( ! bCacheElev )
+ return FALSE;
if (trk->endPt[e].elev.cacheSet) {
*height = trk->endPt[e].elev.cachedElev;
- *length = trk->endPt[e].elev.cachedLength;
+ *grade = trk->endPt[e].elev.cachedGrade;
return TRUE;
}
return FALSE;
}
-EXPORT void SetTrkEndElevCachedHeight ( track_p trk, EPINX_T e, DIST_T height, DIST_T length)
+EXPORT void SetTrkEndElevCachedHeight ( track_p trk, EPINX_T e, DIST_T height, DIST_T grade)
{
trk->endPt[e].elev.cachedElev = height;
- trk->endPt[e].elev.cachedLength = length;
+ trk->endPt[e].elev.cachedGrade = grade;
trk->endPt[e].elev.cacheSet = TRUE;
}
@@ -767,7 +800,7 @@ EXPORT EPINX_T PickUnconnectedEndPoint( coOrd p, track_cp trk )
EXPORT EPINX_T PickUnconnectedEndPointSilent( coOrd p, track_cp trk )
{
EPINX_T inx, i;
- DIST_T d=10000.0, dd;
+ DIST_T d=DIST_INF, dd;
coOrd pos;
inx = -1;
@@ -798,7 +831,7 @@ EXPORT EPINX_T GetEndPtConnectedToMe( track_p trk, track_p me )
EXPORT EPINX_T GetNearestEndPtConnectedToMe( track_p trk, track_p me, coOrd pos) {
EPINX_T ep, found = -1;
- DIST_T d = 10000;
+ DIST_T d = DIST_INF;
DIST_T dd;
for (ep=0; ep<trk->endCnt; ep++) {
if (trk->endPt[ep].track == me) {
@@ -1051,7 +1084,8 @@ LOG( log_track, 1, ( "NewTrack( T%d, t%d, E%d, X%ld)\n", index, type, endCnt, ex
} else
trk->endPt = NULL;
if (extraSize) {
- trk->extraData = MyMalloc( extraSize );
+ trk->extraData = (struct extraDataBase_t*)MyMalloc( extraSize );
+ trk->extraData->trkType = type;
} else
trk->extraData = NULL;
trk->extraSize = extraSize;
@@ -1065,12 +1099,14 @@ LOG( log_track, 1, ( "NewTrack( T%d, t%d, E%d, X%ld)\n", index, type, endCnt, ex
EXPORT void FreeTrack( track_p trk )
{
- trackCmds(trk->type)->delete( trk );
+ bFreeTrack = TRUE;
+ trackCmds(trk->type)->deleteTrk( trk );
if (trk->endPt)
MyFree(trk->endPt);
if (trk->extraData)
MyFree(trk->extraData);
MyFree(trk);
+ bFreeTrack = FALSE;
}
@@ -1141,6 +1177,21 @@ LOG( log_track, 4, ( "DeleteTrack(T%d)\n", GetTrkIndex(trk) ) )
}
}
}
+ /* If Car, simulate Remove Car -> uncouple and mark deleted (no Undo) */
+ if (QueryTrack(trk,Q_ISTRAIN)) {
+ trk->deleted = TRUE;
+ int dir;
+ for (dir=0; dir<2; dir++) {
+ if (GetTrkEndTrk(trk,dir)) {
+ track_p car = GetTrkEndTrk(trk,dir);
+ for (int dir2=0;dir2<2; dir2++) {
+ if (car->endPt[dir2].track == trk) car->endPt[dir2].track = NULL;
+ }
+ trk->endPt[dir].track = NULL;
+ }
+ }
+ return TRUE;
+ }
for (i=0;i<trk->endCnt;i++) {
if ((trk2=trk->endPt[i].track) != NULL) {
ep2 = GetEndPtConnectedToMe( trk2, trk );
@@ -1228,15 +1279,13 @@ wBool_t IsWidthClose( DIST_T dist1, DIST_T dist2 )
// width is computed by pixels/dpi
// problem is when widths are computed on platforms with differing dpi
DIST_T dist = fabs( dist1 - dist2 );
- if ( dist < 0.01 )
+ if ( dist < 0.05 )
return TRUE;
-#ifdef WINDOWS
- dist1 *= 96.0/72.0;
-#else
- dist1 *= 72.0/96.0;
-#endif
+// TODO: This assumes the demo file was written with DPI=72
+// Note: BASE_DPI is 75 so we fudge on dist (was < 0.01)
+ dist1 *= mainD.dpi/BASE_DPI;
dist = fabs( dist1 - dist2 );
- if ( dist < 0.01 )
+ if ( dist < 0.05 )
return TRUE;
return FALSE;
}
@@ -1304,10 +1353,11 @@ static void ExciseSelectedTracks( track_p * pxtrk, track_p * pltrk )
track_p trk, *ptrk;
for (ptrk=&to_first; *ptrk!=NULL; ) {
trk = *ptrk;
- if (IsTrackDeleted(trk) || !GetTrkSelected(trk)) {
+ if (!GetTrkSelected(trk)) {
ptrk = &(*ptrk)->next;
continue;
}
+ ASSERT( !IsTrackDeleted(trk) );
UndoModify( *ptrk );
UndoModify( trk );
*ptrk = trk->next;
@@ -1319,7 +1369,7 @@ static void ExciseSelectedTracks( track_p * pxtrk, track_p * pltrk )
}
-EXPORT void SelectAbove( void )
+EXPORT void SelectAbove( void * unused )
{
track_p xtrk, ltrk;
if (selectedTrackCount<=0) {
@@ -1338,7 +1388,7 @@ EXPORT void SelectAbove( void )
}
-EXPORT void SelectBelow( void )
+EXPORT void SelectBelow( void * unused )
{
track_p xtrk, ltrk, trk;
coOrd lo, hi, lowest, highest;
@@ -1376,16 +1426,16 @@ EXPORT void SelectBelow( void )
}
-#include "bitmaps/above.xpm"
-#include "bitmaps/below.xpm"
+#include "bitmaps/top.xpm"
+#include "bitmaps/bottom.xpm"
EXPORT void InitCmdAboveBelow( void )
{
wIcon_p bm_p;
- bm_p = wIconCreatePixMap( above_xpm );
- AddToolbarButton( "cmdAbove", bm_p, IC_SELECTED|IC_POPUP, (addButtonCallBack_t)SelectAbove, NULL );
- bm_p = wIconCreatePixMap( below_xpm );
- AddToolbarButton( "cmdBelow", bm_p, IC_SELECTED|IC_POPUP, (addButtonCallBack_t)SelectBelow, NULL );
+ bm_p = wIconCreatePixMap( top_xpm[iconSize] );
+ AddToolbarButton( "cmdAbove", bm_p, IC_SELECTED|IC_POPUP, SelectAbove, NULL );
+ bm_p = wIconCreatePixMap( bottom_xpm[iconSize] );
+ AddToolbarButton( "cmdBelow", bm_p, IC_SELECTED|IC_POPUP, SelectBelow, NULL );
}
/*****************************************************************************
@@ -1485,8 +1535,8 @@ EXPORT void ImportEnd( coOrd offset, wBool_t import, wBool_t inPlace )
wIndex_t trackCountOld;
track_p trk;
coOrd pos;
- wPos_t x, y;
- wPos_t ww, hh;
+ wDrawPix_t x, y;
+ wWinPix_t ww, hh;
wBool_t offscreen = FALSE;
double xmin = 0.0;
@@ -1503,21 +1553,20 @@ EXPORT void ImportEnd( coOrd offset, wBool_t import, wBool_t inPlace )
wDrawGetSize( mainD.d, &ww, &hh );
coOrd middle_screen;
- wPos_t mx,my;
+ wDrawPix_t mx,my;
- mx = ww/2;
- my = hh/2;
+ mx = ww/2.0;
+ my = hh/2.0;
mainD.Pix2CoOrd( &mainD, mx, my, &middle_screen );
for ( trk=*importTrack; trk; trk=trk->next ) {
- if (!IsTrackDeleted(trk)) {
- if (trk->hi.y > ymax ) ymax = trk->hi.y;
- if (trk->lo.y < ymin ) ymin = trk->lo.y;
- if (trk->hi.x > xmax ) xmax = trk->hi.x;
- if (trk->lo.x < xmin ) xmin = trk->lo.x;
- }
+ ASSERT(!IsTrackDeleted(trk)); // Export ignores deleted tracks
+ if (trk->hi.y > ymax ) ymax = trk->hi.y;
+ if (trk->lo.y < ymin ) ymin = trk->lo.y;
+ if (trk->hi.x > xmax ) xmax = trk->hi.x;
+ if (trk->lo.x < xmin ) xmin = trk->lo.x;
}
coOrd size = {xmax-xmin,ymax-ymin};
@@ -1541,7 +1590,7 @@ EXPORT void ImportEnd( coOrd offset, wBool_t import, wBool_t inPlace )
middle_object.x = offset.x + (size.x/2);
middle_object.y = offset.y + (size.y/2);
- wPos_t ox,oy;
+ wDrawPix_t ox,oy;
mainD.CoOrd2Pix( &mainD, middle_object, &ox, &oy );
if ((ox<0) || (ox>ww) || (oy<0) || (oy>hh) ) offscreen = TRUE;
@@ -1554,7 +1603,8 @@ EXPORT void ImportEnd( coOrd offset, wBool_t import, wBool_t inPlace )
RenumberTracks();
// move the imported track into place
- for ( trk=*importTrack; trk; trk=trk->next ) if (!IsTrackDeleted(trk)) {
+ for ( trk=*importTrack; trk; trk=trk->next ) {
+ ASSERT( !IsTrackDeleted(trk) );
coOrd move;
move.x = offset.x;
move.y = offset.y;
@@ -1568,7 +1618,7 @@ EXPORT void ImportEnd( coOrd offset, wBool_t import, wBool_t inPlace )
// Pan screen if needed to center of new
if (offscreen) {
panCenter = middle_object;
- PanHere((void*)0);
+ PanHere(I2VP(0));
}
}
@@ -1585,6 +1635,7 @@ EXPORT BOOL_T ExportTracks( FILE * f, coOrd * offset)
max_index = 0;
TRK_ITERATE(trk) {
if ( GetTrkSelected(trk) ) {
+ if (QueryTrack(trk,Q_ISTRAIN)) continue; //Don't bother with CARs
if (trk->lo.x < orig.x)
orig.x = trk->lo.x;
if (trk->lo.y < orig.y)
@@ -1599,6 +1650,7 @@ EXPORT BOOL_T ExportTracks( FILE * f, coOrd * offset)
xlat.y = - orig.y;
TRK_ITERATE( trk ) {
if ( GetTrkSelected(trk) ) {
+ if (QueryTrack(trk,Q_ISTRAIN)) continue; //Don't bother with CARs
MoveTrack( trk, xlat );
trackCmds(GetTrkType(trk))->write( trk, f );
MoveTrack( trk, orig );
@@ -1697,7 +1749,7 @@ EXPORT void AuditTracks( char * event, ... )
used[i] = 0;
}
if (*to_last) {
- sprintf( msgp, "*to_last is not NULL (%lx)", (long)*to_last );
+ sprintf( msgp, "*to_last is not NULL ("SLOG_FMT")", (uintptr_t)*to_last );
AuditPrint( msg );
}
TRK_ITERATE( trk ) {
@@ -1724,7 +1776,7 @@ EXPORT void AuditTracks( char * event, ... )
}
for (i=0; i<trk->endCnt; i++) {
if ( (tn = trk->endPt[i].track) != NULL ) {
- if (IsTrackDeleted(trk)) {
+ if (IsTrackDeleted(tn)) {
sprintf( msgp, "T%d[%d]: T%d is deleted\n", trk->index, i, tn->index );
AuditPrint( msg );
trk->endPt[i].track = NULL;
@@ -1741,8 +1793,8 @@ nextEndPt:;
}
if (!trk->next) {
if (to_last != &trk->next) {
- sprintf( msgp, "last track (T%d @ %lx) is not to_last (%lx)\n",
- trk->index, (long)trk, (long)to_last );
+ sprintf( msgp, "last track (T%d @ "SLOG_FMT") is not to_last ("SLOG_FMT")\n",
+ trk->index, (uintptr_t)trk, (uintptr_t)to_last );
AuditPrint( msg );
}
}
@@ -1756,12 +1808,15 @@ nextEndPt:;
Rdump( auditFile );
if (strcmp("undoUndo",event)==0) {
fprintf( auditFile, "# failure in undo\n" );
- } else if (UndoUndo()) {
- fprintf( auditFile, "# after undo\n" );
- WriteTracks(auditFile, TRUE);
- Rdump( auditFile );
} else {
- fprintf( auditFile, "# undo stack is empty\n" );
+ UndoUndo( NULL );
+ if ( undoStatus ) {
+ fprintf( auditFile, "# after undo\n" );
+ WriteTracks(auditFile, TRUE);
+ Rdump( auditFile );
+ } else {
+ fprintf( auditFile, "# undo stack is empty\n" );
+ }
}
}
if (NoticeMessage( MSG_AUDIT_ABORT, _("Yes"), _("No"))) {
@@ -1821,21 +1876,24 @@ EXPORT DIST_T EndPtDescriptionDistance(
if (hidden) *hidden = FALSE;
e = &trk->endPt[ep].elev;
if ((e->option&ELEV_MASK)==ELEV_NONE)
- return 100000;
+ return DIST_INF;
if (((e->option&ELEV_VISIBLE)==0) && !show_hidden)
- return 100000;
+ return DIST_INF;
if ((trk1=GetTrkEndTrk(trk,ep)) && GetTrkIndex(trk1)<GetTrkIndex(trk))
- return 100000;
+ return DIST_INF;
if ((e->option&ELEV_VISIBLE)==0) { //Hidden - disregard offset
if (hidden) *hidden = TRUE;
return FindDistance( GetTrkEndPos(trk,ep), pos );
}
/*REORIGIN( pos1, e->doff, GetTrkEndPos(trk,ep), GetTrkEndAngle(trk,ep) );*/
pos1 = GetTrkEndPos(trk,ep);
+ coOrd tpos = pos1;
pos1.x += e->doff.x;
pos1.y += e->doff.y;
*dpos = pos1;
if (hidden) *hidden = !(e->option&ELEV_VISIBLE);
+ if (FindDistance(tpos,pos)<FindDistance( pos1, pos ))
+ return FindDistance(tpos,pos);
return FindDistance( pos1, pos );
}
@@ -1847,7 +1905,6 @@ EXPORT STATUS_T EndPtDescriptionMove(
coOrd pos )
{
static coOrd p0, p1;
- static BOOL_T editState = FALSE;
elev_t *e, *e1;
track_p trk1;
@@ -1861,7 +1918,6 @@ EXPORT STATUS_T EndPtDescriptionMove(
/*no break*/
case C_MOVE:
case C_UP:
- editState = TRUE;
p1 = pos;
e->doff.x = (pos.x-p0.x);
e->doff.y = (pos.y-p0.y);
@@ -1870,17 +1926,13 @@ EXPORT STATUS_T EndPtDescriptionMove(
e1->doff = e->doff;
}
if ( action == C_UP ) {
- editState = FALSE;
wDrawColor color = GetTrkColor( trk, &mainD );
DrawEndElev( &mainD, trk, ep, color );
}
return action==C_UP?C_TERMINATE:C_CONTINUE;
case C_REDRAW:
- DrawEndElev( &tempD, trk, ep, wDrawColorBlue );
- if ( editState ) {
- DrawLine( &tempD, p0, p1, 0, wDrawColorBlue );
- }
+ DrawEndElev( &tempD, trk, ep, drawColorPreviewSelected );
break;
}
return C_CONTINUE;
@@ -1897,7 +1949,7 @@ EXPORT STATUS_T EndPtDescriptionMove(
static DIST_T distanceEpsilon = 0.0;
static ANGLE_T angleEpsilon = 0.0;
-EXPORT void LoosenTracks( void )
+EXPORT void LoosenTracks( void * unused )
{
track_p trk, trk1;
EPINX_T ep0, ep1;
@@ -2038,6 +2090,19 @@ EXPORT BOOL_T SplitTrack( track_p trk, coOrd pos, EPINX_T ep, track_p *leftover,
BOOL_T (*splitCmd)( track_p, coOrd, EPINX_T, track_p *, EPINX_T *, EPINX_T * );
coOrd pos0;
+ if (!IsTrack(trk)) {
+ if ((splitCmd = trackCmds(trk->type)->split) == NULL) return FALSE;
+ UndrawNewTrack( trk );
+ UndoModify( trk );
+ rc = splitCmd( trk, pos, ep, leftover, &epl, &ep1 );
+ if (*leftover) {
+ SetTrkLayer(*leftover,GetTrkLayer( trk ));
+ DrawNewTrack( *leftover );
+ }
+ DrawNewTrack( trk );
+ return rc;
+ }
+
trk0 = trk;
epl = ep;
epCnt = GetTrkEndPtCnt(trk);
@@ -2045,9 +2110,9 @@ EXPORT BOOL_T SplitTrack( track_p trk, coOrd pos, EPINX_T ep, track_p *leftover,
LOG( log_track, 2, ( "SplitTrack( T%d[%d], (%0.3f %0.3f)\n", trk->index, ep, pos.x, pos.y ) )
if (((splitCmd = trackCmds(trk->type)->split) == NULL)) {
- if (!(FindDistance( trk->endPt[ep].pos, pos) <= minLength)) {
- ErrorMessage( MSG_CANT_SPLIT_TRK, trackCmds(trk->type)->name );
- return FALSE;
+ if (!(FindDistance( trk->endPt[ep].pos, pos) <= minLength)) {
+ ErrorMessage( MSG_CANT_SPLIT_TRK, trackCmds(trk->type)->name );
+ return FALSE;
}
}
UndrawNewTrack( trk );
@@ -2296,7 +2361,7 @@ EXPORT STATUS_T ExtendTrackFromOrig( track_p trk, wAction_t action, coOrd pos )
valid = TRUE;
if (action == C_MOVE)
InfoMessage( _("Curve: Length=%s Radius=%0.3f Arc=%0.3f"),
- FormatDistance( d ), FormatDistance(tempSegs(0).u.c.radius), PutAngle( fabs(a) ) );
+ FormatDistance( d ), FormatDistance(tempSegs(0).u.c.radius), PutAngle( tempSegs(0).u.c.a1 ));
return C_CONTINUE;
} else {
d = FindDistance( end_pos, pos );
@@ -2488,7 +2553,7 @@ EXPORT DIST_T GetFlexLength( track_p trk0, EPINX_T ep, coOrd * pos )
d += dd;
trk = trk1;
ep = 1-ep1;
- if (d>1000000.0)
+ if (d>DIST_INF)
break;
}
*pos = GetTrkEndPos( trk, ep );
@@ -2505,7 +2570,7 @@ EXPORT DIST_T GetTrkLength( track_p trk, EPINX_T ep0, EPINX_T ep1 )
else if (trackCmds(trk->type)->getLength != NULL) {
d = trackCmds(trk->type)->getLength(trk);
if (ep1==-1)
- d /= 2.0;
+ d = d/2.0;
return d;
} else {
pos0 = GetTrkEndPos(trk,ep0);
@@ -2550,8 +2615,6 @@ EXPORT DIST_T GetTrkLength( track_p trk, EPINX_T ep0, EPINX_T ep1 )
#define DRAW_TUNNEL_DASH (1)
#define DRAW_TUNNEL_SOLID (2)
EXPORT long drawTunnel = DRAW_TUNNEL_DASH;
-EXPORT long colorTrack;
-EXPORT long colorDraw;
/******************************************************************************
*
@@ -2562,7 +2625,39 @@ EXPORT long colorDraw;
EXPORT long tieDrawMode = TIEDRAWMODE_SOLID;
EXPORT wDrawColor tieColor;
-static wBool_t DoDrawTies( drawCmd_p d, track_cp trk )
+/**
+ * Centerline drawing test
+ *
+ * \param d drawing context
+ * \return true for centerline, false if no centerline to draw
+ */
+
+static bool
+HasTrackCenterline( drawCmd_p d )
+{
+ // for printing, drawing of center line depends on the scale
+ if( d->options & DC_CENTERLINE && d->options & DC_PRINT ) {
+ if( d->scale <= ( twoRailScale * 2.0 + 1.0 ) / 2.0 ) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ // all other cases of explicit centerline option (ie. bitmap)
+ if( d->options & DC_CENTERLINE ) {
+ return true;
+ }
+
+ // if zoomed in beyond 1:1 draw centerline when not doing a simple draw
+ if( ( d->scale <= 1.0 ) && !( d->options & DC_SIMPLE ) ) {
+ return true;
+ }
+
+ return false;
+}
+
+EXPORT wBool_t DoDrawTies( drawCmd_p d, track_cp trk )
{
DIST_T scale2rail = (d->options&DC_PRINT)?(twoRailScale*2+1):twoRailScale;
if ( !trk )
@@ -2622,9 +2717,9 @@ EXPORT void DrawTie(
return;
}
if ( solid ) {
- DrawPoly( d, 4, p, t, color, 0, 1, 0 );
+ DrawPoly( d, 4, p, t, color, 0, DRAW_FILL );
} else {
- DrawPoly( d, 4, p, t, color, 0, 0, 0);
+ DrawPoly( d, 4, p, t, color, 0, DRAW_CLOSED);
}
}
@@ -2668,15 +2763,12 @@ static void DrawCurvedTies(
}
}
-
EXPORT void DrawCurvedTrack(
drawCmd_p d,
coOrd p,
DIST_T r,
ANGLE_T a0,
ANGLE_T a1,
- coOrd p0,
- coOrd p1,
track_p trk,
wDrawColor color,
long options )
@@ -2685,6 +2777,9 @@ EXPORT void DrawCurvedTrack(
DIST_T trackGauge = GetTrkGauge(trk);
wDrawWidth width=0;
trkSeg_p segPtr;
+ long bridge = 0;
+ if(trk)
+ bridge = GetTrkBridge( trk );
if ( (d->options&DC_SEGTRACK) ) {
DYNARR_APPEND( trkSeg_t, tempSegs_da, 10 );
@@ -2705,24 +2800,27 @@ EXPORT void DrawCurvedTrack(
width = 3;
if ( color == wDrawColorPreviewSelected || color == wDrawColorPreviewUnselected )
width = 3;
-#ifdef WINDOWS
- width *= (wDrawWidth)(d->dpi/mainD.dpi);
-#else
- if (d->options&DC_PRINT)
- width *= 300/75;
-#endif
-LOG( log_track, 4, ( "DST( (%0.3f %0.3f) R%0.3f A%0.3f..%0.3f)\n",
+ if ((d->options&DC_PRINT) && (d->dpi>2*BASE_DPI))
+ width = (wDrawWidth)round(width * d->dpi / 2 / BASE_DPI);
+
+ LOG(log_track,4,("DST( (%0.3f %0.3f) R%0.3f A%0.3f..%0.3f)\n",
p.x, p.y, r, a0, a1 ) )
+
+ // Draw a solid background
+ if(bridge) {
+ wDrawWidth width3 = (wDrawWidth)round(trackGauge * 3 * d->dpi/d->scale); // / BASE_DPI);
+ DrawArc( d, p, r, a0, a1, 0, width3, drawColorGrey90 );
+ }
+
if ( DoDrawTies( d, trk ) )
DrawCurvedTies( d, GetTrkScale(trk), p, r, a0, a1, color );
if (color == wDrawColorBlack)
color = normalColor;
if ( d->scale >= scale2rail ) {
- DrawArc( d, p, r, a0, a1, ((d->scale<32) && centerDrawMode && !(options&DTS_NOCENTER)) ? 1 : 0, width, color );
+ DrawArc( d, p, r, a0, a1, (centerDrawMode && !(options&DTS_NOCENTER)) ? 1 : 0, width, color );
} else {
- if ( (d->scale <= 1 && (d->options&DC_SIMPLE)==0) || (d->options&DC_CENTERLINE)!=0
- || (d->scale <= scale2rail/2 && ((d->options&DC_PRINT) && printCenterLines))) { // if printing two rails respect print CenterLine option
+ if ( HasTrackCenterline(d)) {
long options = d->options;
d->options |= DC_DASH;
DrawArc( d, p, r, a0, a1, 0, 0, color );
@@ -2740,42 +2838,19 @@ LOG( log_track, 4, ( "DST( (%0.3f %0.3f) R%0.3f A%0.3f..%0.3f)\n",
}
}
}
- if (trk && GetTrkBridge( trk ) ) {
-
- ANGLE_T a2,a3;
- coOrd pp0,pp1,pp2,pp3;
-
- a2 = a0+R2D(trackGauge*1.0/r);
- a3 = a1-R2D(trackGauge*2.0/r);
+ if (bridge) {
+ wDrawWidth width2 = (wDrawWidth)round((2.0 * d->dpi)/BASE_DPI);
+ if (d->options&DC_PRINT)
+ width2 = (wDrawWidth)round(d->dpi / BASE_DPI);
- wDrawWidth width2 = (wDrawWidth)round((2.0 * d->dpi)/75.0);
-
- DrawArc( d, p, r+(trackGauge*1.5), a2, a3, 0, width2, color );
-
- PointOnCircle(&pp0,p,r+(trackGauge*1.5),a2);
- PointOnCircle(&pp1,p,r+(trackGauge*1.5),a3+a2);
-
- Translate( &pp2,pp0, a2-90+45, trackGauge);
- DrawLine( d, pp0, pp2, width2, color );
- Translate( &pp3,pp1, a2+a3+90-45, trackGauge);
- DrawLine( d, pp1, pp3, width2, color );
-
- DrawArc( d, p, r-(trackGauge*1.5), a2, a3, 0, width2, color );
-
- PointOnCircle(&pp0,p,r-(trackGauge*1.5),a2);
- PointOnCircle(&pp1,p,r-(trackGauge*1.5),a3+a2);
-
- Translate( &pp2,pp0, a2-90-45, trackGauge);
- DrawLine( d, pp0, pp2, width2, color );
- Translate( &pp3,pp1, a2+a3+90+45, trackGauge);
- DrawLine( d, pp1, pp3, width2, color );
-
- }
+ DrawArc( d, p, r+(trackGauge*1.5), a0, a1, 0, width2, color );
+ DrawArc( d, p, r-(trackGauge*1.5), a0, a1, 0, width2, color );
+ }
}
-static void DrawStraightTies(
+EXPORT void DrawStraightTies(
drawCmd_p d,
SCALEINX_T scaleInx,
coOrd p0,
@@ -2815,6 +2890,7 @@ static void DrawStraightTies(
}
+
EXPORT void DrawStraightTrack(
drawCmd_p d,
coOrd p0,
@@ -2827,6 +2903,9 @@ EXPORT void DrawStraightTrack(
coOrd pp0, pp1;
DIST_T scale2rail;
DIST_T trackGauge = GetTrkGauge(trk);
+ long bridge = 0;
+ if ( trk )
+ bridge = GetTrkBridge(trk);
wDrawWidth width=0;
trkSeg_p segPtr;
@@ -2846,18 +2925,24 @@ EXPORT void DrawStraightTrack(
scale2rail = (d->options&DC_PRINT)?(twoRailScale*2+1):twoRailScale;
width = trk ? GetTrkWidth( trk ): 0;
+ if ((d->options&DC_PRINT) && (d->dpi>2*BASE_DPI))
+ width = (wDrawWidth)round(width * d->dpi / 2 / BASE_DPI);
+
if ( d->options&DC_THICK )
width = 3;
if ( color == wDrawColorPreviewSelected || color == wDrawColorPreviewUnselected )
width = 3;
-#ifdef WINDOWS
- width *= (wDrawWidth)(d->dpi/mainD.dpi);
-#else
- if (d->options&DC_PRINT)
- width *= 300/75;
-#endif
-LOG( log_track, 4, ( "DST( (%0.3f %0.3f) .. (%0.3f..%0.3f)\n",
+
+
+ LOG(log_track,4,("DST( (%0.3f %0.3f) .. (%0.3f..%0.3f)\n",
p0.x, p0.y, p1.x, p1.y ) )
+
+ // Draw solid background
+ if(bridge) {
+ wDrawWidth width3 = (wDrawWidth)round(trackGauge * 3 * d->dpi/d->scale);
+ DrawLine(d,p0,p1,width3,wDrawColorGrey90);
+ }
+
if ( DoDrawTies( d, trk ) )
DrawStraightTies( d, GetTrkScale(trk), p0, p1, color );
if (color == wDrawColorBlack)
@@ -2865,8 +2950,7 @@ LOG( log_track, 4, ( "DST( (%0.3f %0.3f) .. (%0.3f..%0.3f)\n",
if ( d->scale >= scale2rail ) {
DrawLine( d, p0, p1, width, color );
} else {
- if ( (d->scale <= 1 && (d->options&DC_SIMPLE)==0) || (d->options&DC_CENTERLINE)!=0
- || (d->scale <= scale2rail/2 && ((d->options&DC_PRINT) && printCenterLines))) { // if printing two rails respect print CenterLine option
+ if ( HasTrackCenterline(d)) {
long options = d->options;
d->options |= DC_DASH;
DrawLine( d, p0, p1, 0, color );
@@ -2875,9 +2959,11 @@ LOG( log_track, 4, ( "DST( (%0.3f %0.3f) .. (%0.3f..%0.3f)\n",
Translate( &pp0, p0, angle+90, trackGauge/2.0 );
Translate( &pp1, p1, angle+90, trackGauge/2.0 );
DrawLine( d, pp0, pp1, width, color );
+
Translate( &pp0, p0, angle-90, trackGauge/2.0 );
Translate( &pp1, p1, angle-90, trackGauge/2.0 );
DrawLine( d, pp0, pp1, width, color );
+
if ( (d->options&DC_PRINT) && roadbedWidth > trackGauge && d->scale <= scale2rail/2.0) {
wDrawWidth rbw = (wDrawWidth)floor(roadbedLineWidth*(d->dpi/d->scale)+0.5);
if ( options&DTS_RIGHT ) {
@@ -2892,51 +2978,34 @@ LOG( log_track, 4, ( "DST( (%0.3f %0.3f) .. (%0.3f..%0.3f)\n",
}
}
}
- if (trk && GetTrkBridge( trk ) ) {
-
- coOrd pp2,pp3;
- wDrawWidth width2 = (wDrawWidth)round((2.0 * d->dpi)/75.0);
- Translate( &pp0, p0, angle+90, trackGauge*1.5 );
- Translate( &pp1, p1, angle+90, trackGauge*1.5 );
- Translate( &pp0, pp0, angle+180, trackGauge*1.5 );
- Translate( &pp1, pp1, angle, trackGauge*1.5 );
- DrawLine( d, pp0, pp1, width2, color );
- Translate( &pp2,pp0, angle+90-45, trackGauge);
- DrawLine( d, pp0, pp2, width2, color );
- Translate( &pp3,pp1, angle+90+45, trackGauge);
- DrawLine( d, pp1, pp3, width2, color );
+ if (bridge) {
+ wDrawWidth width2 = (wDrawWidth)round((2.0 * d->dpi)/BASE_DPI);
+ if (d->options&DC_PRINT)
+ width2 = (wDrawWidth)round(d->dpi / BASE_DPI);
Translate( &pp0, p0, angle-90, trackGauge*1.5 );
Translate( &pp1, p1, angle-90, trackGauge*1.5 );
- Translate( &pp0, pp0, angle+180, trackGauge*1.5 );
- Translate( &pp1, pp1, angle, trackGauge*1.5 );
DrawLine( d, pp0, pp1, width2, color );
- Translate( &pp2,pp0, angle-90+45, trackGauge);
- DrawLine( d, pp0, pp2, width2, color );
- Translate( &pp3,pp1, angle-90-45, trackGauge);
- DrawLine( d, pp1, pp3, width2, color );
+ Translate( &pp0, p0, angle+90, trackGauge*1.5 );
+ Translate( &pp1, p1, angle+90, trackGauge*1.5 );
+ DrawLine( d, pp0, pp1, width2, color);
}
}
EXPORT wDrawColor GetTrkColor( track_p trk, drawCmd_p d )
{
- DIST_T len, len1, elev0, elev1;
+ DIST_T len, elev0, elev1;
ANGLE_T grade = 0.0;
if ( IsTrack( trk ) && GetTrkEndPtCnt(trk) == 2 ) {
- if (GetTrkEndElevCachedHeight(trk,0,&elev0,&len) && GetTrkEndElevCachedHeight(trk,1,&elev1,&len1)) {
- grade = fabs( (elev1-elev0)/(len+len1))*100.0;
- } else {
- len = GetTrkLength( trk, 0, 1 );
- if (len>0.1) {
- ComputeElev( trk, 0, FALSE, &elev0, NULL, FALSE );
- ComputeElev( trk, 1, FALSE, &elev1, NULL, FALSE );
- grade = fabs( (elev1-elev0)/len )*100.0;
- }
- }
+ ComputeElev( trk, 0, FALSE, &elev0, NULL, FALSE );
+ len = GetTrkLength( trk, 0, 1 );
+ ComputeElev( trk, 1, FALSE, &elev1, NULL, FALSE );
+ if (len>0.1)
+ grade = fabs( (elev1-elev0)/len)*100.0;
}
if ( (d->options&(DC_SIMPLE|DC_SEGTRACK)) != 0 )
return wDrawColorBlack;
@@ -2947,7 +3016,7 @@ EXPORT wDrawColor GetTrkColor( track_p trk, drawCmd_p d )
if ( (d->options&(DC_PRINT)) == 0 ) {
if (GetTrkBits(trk)&TB_PROFILEPATH)
return profilePathColor;
- if ((d->options&DC_PRINT)==0 && GetTrkSelected(trk))
+ if ((d->options&DC_PRINT)==0 && GetTrkSelected(trk) && d == &tempD)
return selectedColor;
}
if ( (IsTrack(trk)?(colorTrack):(colorDraw)) ) {
@@ -2986,7 +3055,7 @@ EXPORT void DrawTrack( track_cp trk, drawCmd_p d, wDrawColor color )
if (d == &mapD && !GetLayerOnMap(curTrackLayer))
return;
if ( (IsTrack(trk)?(colorTrack):(colorDraw)) &&
- d != &mapD && color == wDrawColorBlack )
+ (d != &mapD) && (color == wDrawColorBlack) )
if (GetLayerUseColor((unsigned int)curTrackLayer))
color = GetLayerColor((unsigned int)curTrackLayer);
trackCmds(trkTyp)->draw( trk, d, color );
@@ -3108,11 +3177,11 @@ EXPORT void DrawEndElev( drawCmd_p d, track_p trk, EPINX_T ep, wDrawColor color
sprintf( message, "%0.1f%%", round(fabs(grade*100.0)*10)/10 );
elevStr = message;
a = GetTrkEndAngle( trk, ep );
- style = BOX_ARROW;
+ style = BOX_ARROW_BACKGROUND;
if (grade <= -0.001)
a = NormalizeAngle( a+180.0 );
else if ( grade < 0.001 )
- style = BOX_BOX;
+ style = BOX_BOX_BACKGROUND;
elev->u.height = grade;
} else {
elevStr = "????%%";
@@ -3127,9 +3196,15 @@ EXPORT void DrawEndElev( drawCmd_p d, track_p trk, EPINX_T ep, wDrawColor color
default:
return;
}
+ coOrd startLine = pp, endLine = pp;
pp.x += elev->doff.x;
pp.y += elev->doff.y;
+ if (color==drawColorPreviewSelected) {
+ Translate(&endLine,pp,FindAngle(pp,startLine),descriptionFontSize/d->dpi);
+ DrawLine( d, startLine, endLine, 0, color );
+ }
DrawBoxedString( style, d, pp, elevStr, fp, (wFontSize_t)descriptionFontSize, color, a );
+
}
/**
@@ -3144,119 +3219,143 @@ EXPORT void DrawEndElev( drawCmd_p d, track_p trk, EPINX_T ep, wDrawColor color
*/
EXPORT void DrawEndPt(
- drawCmd_p d,
- track_p trk,
- EPINX_T ep,
- wDrawColor color )
+ drawCmd_p d,
+ track_p trk,
+ EPINX_T ep,
+ wDrawColor color)
{
coOrd p;
ANGLE_T a;
track_p trk1;
- coOrd p0, p1, p2;
+ coOrd p0,p1,p2;
BOOL_T sepBoundary;
+ BOOL_T showBridge = 1;
DIST_T trackGauge;
wDrawWidth width;
wDrawWidth width2;
- if ( (d->options & (DC_SIMPLE|DC_SEGTRACK)) != 0)
+ if((d->options & (DC_SIMPLE | DC_SEGTRACK)) != 0)
return;
- if ( trk && QueryTrack( trk, Q_NODRAWENDPT ) )
+ if(trk && QueryTrack(trk,Q_NODRAWENDPT))
return;
- if (trk == NULL || ep < 0)
+ if(trk == NULL || ep < 0)
return;
- // line width for the tunnel portal, make sure it is rounded correctly
- width2 = (wDrawWidth)round((2.0 * d->dpi)/75.0);
+ // line width for the tunnel portal and bridge parapets, make sure it is rounded correctly
+ width2 = (wDrawWidth)round((2.0 * d->dpi) / BASE_DPI);
+ if ((d->options&DC_PRINT) && (d->dpi>2*BASE_DPI))
+ width2 = (wDrawWidth)round(d->dpi / BASE_DPI);
- if (color == wDrawColorBlack)
+
+ if(color == wDrawColorBlack)
color = normalColor;
- if (labelScale >= d->scale)
- DrawEndElev( d, trk, ep, color );
+ if(((d->options & DC_PRINT) ? (labelScale * 2 + 1) : labelScale) >= d->scale)
+ DrawEndElev(d,trk,ep,color);
trk1 = GetTrkEndTrk(trk,ep);
- p = GetTrkEndPos( trk, ep );
- a = GetTrkEndAngle( trk, ep ) + 90.0;
+ p = GetTrkEndPos(trk,ep);
+ a = GetTrkEndAngle(trk,ep) + 90.0;
trackGauge = GetTrkGauge(trk);
- if (trk1 == NULL) {
- DrawUnconnectedEndPt( d, p, a, trackGauge, color );
+ if(trk1 == NULL) {
+ DrawUnconnectedEndPt(d,p,a,trackGauge,color);
return;
}
- if ( d->scale >= ((d->options&DC_PRINT)?(twoRailScale*2+1):twoRailScale) )
- return;
-
sepBoundary = FALSE;
- if ( inDrawTracks && (d->options&DC_PRINT)==0 && importTrack == NULL && GetTrkSelected(trk) && (!GetTrkSelected(trk1))) {
- DIST_T len;
- len = trackGauge*2.0;
- if (len < 0.10*d->scale)
- len = 0.10*d->scale;
- long oldOptions = d->options;
- d->options &= ~DC_NOTSOLIDLINE;
- Translate( &p0, p, a+45, len );
- Translate( &p1, p, a+225, len );
- DrawLine( d, p0, p1, 2, selectedColor );
- Translate( &p0, p, a-45, len );
- Translate( &p1, p, a-225, len );
- DrawLine( d, p0, p1, 2, selectedColor );
- d->options = oldOptions;
- sepBoundary = TRUE;
- } else if ((d->options&DC_PRINT)==0 && importTrack == NULL && (!GetTrkSelected(trk)) && GetTrkSelected(trk1)) {
- sepBoundary = TRUE;
+ if(d->scale < ((d->options & DC_PRINT) ? (twoRailScale * 2 + 1) : twoRailScale))
+ {
+ // return;
+
+ if(inDrawTracks && (d->options & DC_PRINT) == 0 && importTrack == NULL && GetTrkSelected(trk) && (!GetTrkSelected(trk1))) {
+ DIST_T len;
+ len = trackGauge * 2.0;
+ if(len < 0.10 * d->scale)
+ len = 0.10 * d->scale;
+ long oldOptions = d->options;
+ d->options &= ~DC_NOTSOLIDLINE;
+ Translate(&p0,p,a + 45,len);
+ Translate(&p1,p,a + 225,len);
+ DrawLine(d,p0,p1,2,selectedColor);
+ Translate(&p0,p,a - 45,len);
+ Translate(&p1,p,a - 225,len);
+ DrawLine(d,p0,p1,2,selectedColor);
+ d->options = oldOptions;
+ sepBoundary = TRUE;
+ }
+ else if((d->options & DC_PRINT) == 0 && importTrack == NULL && (!GetTrkSelected(trk)) && GetTrkSelected(trk1)) {
+ sepBoundary = TRUE;
+ }
}
// is the endpoint a transition into a tunnel?
- if (GetTrkVisible(trk) && (!GetTrkVisible(trk1))) {
+ if(GetTrkVisible(trk) && (!GetTrkVisible(trk1))) {
// yes, draw tunnel portal
- Translate( &p0, p, a, trackGauge );
- Translate( &p1, p, a+180, trackGauge );
- DrawLine( d, p0, p1, width2, color );
- Translate( &p2, p0, a+45, trackGauge/2.0 );
- DrawLine( d, p0, p2, width2, color );
- Translate( &p2, p1, a+135, trackGauge/2.0 );
- DrawLine( d, p1, p2, width2, color );
- if ( d == &mainD ) {
- width = (wDrawWidth)ceil(trackGauge*d->dpi/2.0/d->scale);
- if ( width > 1 ) {
- if ( (GetTrkEndOption(trk,ep)&EPOPT_GAPPED) != 0 ) {
- Translate( &p0, p, a, trackGauge );
- DrawLine( d, p0, p, width, color );
+ Translate(&p0,p,a,trackGauge);
+ Translate(&p1,p,a + 180,trackGauge);
+ DrawLine(d,p0,p1,width2,color);
+ Translate(&p2,p0,a + 45,trackGauge / 2.0);
+ DrawLine(d,p0,p2,width2,color);
+ Translate(&p2,p1,a + 135,trackGauge / 2.0);
+ DrawLine(d,p1,p2,width2,color);
+ if(d == &mainD) {
+ width = (wDrawWidth)ceil(trackGauge * d->dpi / 2.0 / d->scale);
+ if(width > 1) {
+ if((GetTrkEndOption(trk,ep) & EPOPT_GAPPED) != 0) {
+ Translate(&p0,p,a,trackGauge);
+ DrawLine(d,p0,p,width,color);
}
trk1 = GetTrkEndTrk(trk,ep);
- if ( trk1 ) {
- ep = GetEndPtConnectedToMe( trk1, trk );
- if ( (GetTrkEndOption(trk1,ep)&EPOPT_GAPPED) != 0 ) {
- Translate( &p0, p, a+180.0, trackGauge );
- DrawLine( d, p0, p, width, color );
+ if(trk1) {
+ ep = GetEndPtConnectedToMe(trk1,trk);
+ if((GetTrkEndOption(trk1,ep) & EPOPT_GAPPED) != 0) {
+ Translate(&p0,p,a + 180.0,trackGauge);
+ DrawLine(d,p0,p,width,color);
}
}
}
+ showBridge = 0;
}
- } else if ((!GetTrkVisible(trk)) && GetTrkVisible(trk1)) {
- ;
- } else if ( GetLayerVisible( GetTrkLayer( trk ) ) && !GetLayerVisible( GetTrkLayer( trk1 ) ) ) {
+ }
+ else if((!GetTrkVisible(trk)) && GetTrkVisible(trk1)) {
+ showBridge = 0;
+ }
+ else if(GetLayerVisible(GetTrkLayer(trk)) && !GetLayerVisible(GetTrkLayer(trk1))) {
a -= 90.0;
- Translate( &p, p, a, trackGauge/2.0 );
- Translate( &p0, p, a-135.0, trackGauge*2.0 );
- DrawLine( d, p0, p, width2, color );
- Translate( &p0, p, a+135.0, trackGauge*2.0 );
- DrawLine( d, p0, p, width2, color );
- } else if ( !GetLayerVisible( GetTrkLayer( trk ) ) && GetLayerVisible( GetTrkLayer( trk1 ) ) ) {
- ;
- } else if ( sepBoundary ) {
+ Translate(&p,p,a,trackGauge / 2.0);
+ Translate(&p0,p,a - 135.0,trackGauge * 2.0);
+ DrawLine(d,p0,p,width2,color);
+ Translate(&p0,p,a + 135.0,trackGauge * 2.0);
+ DrawLine(d,p0,p,width2,color);
+
+ showBridge = 0;
+ }
+ else if(!GetLayerVisible(GetTrkLayer(trk)) && GetLayerVisible(GetTrkLayer(trk1))) {
+ showBridge = 0;
+ }
+ else if(sepBoundary) {
;
- } else if ( (drawEndPtV == 1 && (QueryTrack(trk,Q_DRAWENDPTV_1) || QueryTrack(trk1,Q_DRAWENDPTV_1)) ) ||
- (drawEndPtV == 2) ) {
- Translate( &p0, p, a, trackGauge );
+ }
+ else if((drawEndPtV == 1 && (QueryTrack(trk,Q_DRAWENDPTV_1) || QueryTrack(trk1,Q_DRAWENDPTV_1))) || (drawEndPtV == 2)) {
+ Translate(&p0,p,a,trackGauge);
width = 0;
- if ( d != &mapD && d != &tempD && (GetTrkEndOption(trk,ep)&EPOPT_GAPPED) != 0 )
- width = (wDrawWidth)ceil(trackGauge*d->dpi/2.0/d->scale);
- DrawLine( d, p0, p, width, color );
- } else {
+ if(d != &mapD && d != &tempD && (GetTrkEndOption(trk,ep) & EPOPT_GAPPED) != 0)
+ width = (wDrawWidth)ceil(trackGauge * d->dpi / 2.0 / d->scale);
+ DrawLine(d,p0,p,width,color);
+ }
+ else {
;
}
+
+ if(showBridge && GetTrkBridge(trk) && (!GetTrkBridge(trk1))) {
+ Translate(&p0,p,a,trackGauge * 1.5);
+ Translate(&p1,p0,a - 45.0,trackGauge * 1.5);
+ DrawLine(d,p0,p1,width2,color);
+ Translate(&p0,p,a,-trackGauge * 1.5);
+ Translate(&p1,p0,a + 45.0,-trackGauge * 1.5);
+ DrawLine(d,p0,p1,width2,color);
+ }
}
@@ -3284,6 +3383,7 @@ EXPORT void DrawTracks( drawCmd_p d, DIST_T scale, coOrd orig, coOrd size )
wIndex_t count = 0;
coOrd lo, hi;
BOOL_T doSelectRecount = FALSE;
+ unsigned long time0 = wGetTimer();
inDrawTracks = TRUE;
InfoCount( 0 );
@@ -3315,6 +3415,7 @@ EXPORT void DrawTracks( drawCmd_p d, DIST_T scale, coOrd orig, coOrd size )
for (inx=1; inx<trackCmds_da.cnt; inx++)
if (trackCmds(inx)->redraw != NULL)
trackCmds(inx)->redraw();
+ LOG( log_timedrawtracks, 1, ( "DrawTracks time = %lu mS\n", wGetTimer()-time0 ) );
}
InfoCount( trackCount );
inDrawTracks = FALSE;
@@ -3426,3 +3527,57 @@ EXPORT void LabelLengths( drawCmd_p d, track_p trk, wDrawColor color )
DrawString( d, p0, 0.0, msg, fp, fs*d->scale, color );
}
}
+
+EXPORT void AddTrkDetails(drawCmd_p d,track_p trk,coOrd pos, DIST_T length, wDrawColor color) {
+ #define DESC_LENGTH 6.0;
+ double division;
+ division = length/DESC_LENGTH;
+ division = ceil(division);
+ DIST_T dist = length/division, dist1;
+ traverseTrack_t tt;
+ tt.trk = trk;
+ tt.angle = GetTrkEndAngle(trk,0)+180.0;
+ tt.pos = GetTrkEndPos(trk,0);
+
+ dynArr_t pos_array;
+ pos_array.max = 0;
+ pos_array.cnt = 0;
+ pos_array.ptr = NULL;
+
+ typedef struct {
+ coOrd pos;
+ ANGLE_T angle;
+ } pos_angle_t;
+
+ DYNARR_SET(pos_angle_t,pos_array,(int)division+1);
+ DYNARR_N(pos_angle_t,pos_array,0).pos = GetTrkEndPos(trk,0);
+ DYNARR_N(pos_angle_t,pos_array,0).angle = NormalizeAngle(GetTrkEndAngle(trk,0)+180.0);
+ for (int i=1;i<pos_array.cnt;i++) {
+ tt.dist = dist;
+ dist1 = dist;
+ TraverseTrack(&tt,&dist1);
+ if (dist1 > 0 || tt.trk != trk || IsClose(FindDistance(tt.pos,GetTrkEndPos(trk,1)))) {
+ DYNARR_N(pos_angle_t,pos_array,i).pos = GetTrkEndPos(trk,1);
+ DYNARR_N(pos_angle_t,pos_array,i).angle = GetTrkEndAngle(trk,1);
+ pos_array.cnt = i;
+ break;
+ }
+ DYNARR_N(pos_angle_t,pos_array,i).pos = tt.pos;
+ DYNARR_N(pos_angle_t,pos_array,i).angle = tt.angle;
+ }
+ message[0]='\0';
+ for (int i=0;i<pos_array.cnt;i++) {
+ if (i==pos_array.cnt-1)
+ sprintf( message, _("%s[%0.2f,%0.2f] A%0.2f"),message,PutDim(DYNARR_N(pos_angle_t,pos_array,i).pos.x),PutDim(DYNARR_N(pos_angle_t,pos_array,i).pos.y),DYNARR_N(pos_angle_t,pos_array,i).angle );
+ else
+ sprintf( message, _("%s[%0.2f,%0.2f] A%0.2f\n"),message,PutDim(DYNARR_N(pos_angle_t,pos_array,i).pos.x),PutDim(DYNARR_N(pos_angle_t,pos_array,i).pos.y),DYNARR_N(pos_angle_t,pos_array,i).angle);
+ }
+ wFont_p fp = wStandardFont( F_TIMES, FALSE, FALSE );
+ DrawBoxedString(BOX_BOX,d,pos,message,fp,(wFontSize_t)descriptionFontSize,color,0.0);
+ if (pos_array.ptr)
+ MyFree(pos_array.ptr);
+ pos_array.ptr = 0;
+ pos_array.max = 0;
+ pos_array.cnt = 0;
+}
+
diff --git a/app/bin/track.h b/app/bin/track.h
index 4e24280..32626c5 100644
--- a/app/bin/track.h
+++ b/app/bin/track.h
@@ -23,10 +23,7 @@
#ifndef TRACK_H
#define TRACK_H
-#include <string.h>
#include "common.h"
-#include "draw.h"
-#include "misc2.h"
extern TRKTYP_T T_NOTRACK;
@@ -35,6 +32,7 @@ typedef struct track_t * track_p;
typedef struct track_t * track_cp;
extern track_p tempTrack;
extern wIndex_t trackCount;
+extern wBool_t bFreeTrack;
extern long colorTrack;
extern long colorDraw;
extern long drawTunnel;
@@ -48,7 +46,6 @@ extern unsigned int curTrackLayer;
extern coOrd descriptionOff;
extern DIST_T roadbedWidth;
extern DIST_T roadbedLineWidth;
-extern long printCenterLines;
extern long drawElevations;
extern wDrawColor elevColorIgnore;
extern wDrawColor elevColorDefined;
@@ -137,13 +134,14 @@ typedef struct {
#define Q_IS_TURNOUT (31)
#define Q_GET_NODES (32)
-typedef struct {
+typedef struct traverseTrack_t {
track_p trk; // IN Current Track OUT Next Track
DIST_T length; // IN How far to go
DIST_T dist; // OUT how far left = 0 if found
coOrd pos; // IN/OUT - where we are, where we will be // IN/OUT - where we are now
ANGLE_T angle; // IN/OUT - angle now
- } traverseTrack_t, *traverseTrack_p;
+ } traverseTrack_t;
+typedef struct traverseTrack_t *traverseTrack_p;
typedef struct {
@@ -151,7 +149,7 @@ typedef struct {
void (*draw)( track_p, drawCmd_p, wDrawColor );
DIST_T (*distance)( track_p, coOrd * );
void (*describe)( track_p, char * line, CSIZE_T len );
- void (*delete)( track_p );
+ void (*deleteTrk)( track_p );
BOOL_T (*write)( track_p, FILE * );
BOOL_T (*read)( char * );
void (*move)( track_p, coOrd );
@@ -198,17 +196,18 @@ typedef struct {
} u;
BOOL_T cacheSet;
double cachedElev;
- double cachedLength;
+ double cachedGrade;
} elev_t;
#define EPOPT_GAPPED (1L<<0)
-typedef struct {
+typedef struct trkEndPt_t {
coOrd pos;
ANGLE_T angle;
TRKINX_T index;
track_p track;
elev_t elev;
long option;
- } trkEndPt_t, * trkEndPt_p;
+ } trkEndPt_t;
+typedef struct trkEndPt_t * trkEndPt_p;
extern dynArr_t tempEndPts_da;
#define tempEndPts(N) DYNARR_N( trkEndPt_t, tempEndPts_da, N )
@@ -217,7 +216,7 @@ typedef enum { FREEFORM, RECTANGLE, POLYLINE
} PolyType_e;
-typedef struct {
+typedef struct trkSeg_t {
char type;
wDrawColor color;
DIST_T width;
@@ -267,7 +266,8 @@ typedef struct {
PolyType_e polyType;
} p;
} u;
- } trkSeg_t, * trkSeg_p;
+ } trkSeg_t;
+typedef struct trkSeg_t * trkSeg_p;
#define SEG_STRTRK ('S')
#define SEG_CRVTRK ('C')
@@ -423,6 +423,8 @@ wBool_t CompareSegs( trkSeg_p, int, trkSeg_p, int );
/* debug.c */
void SetDebug( char * );
+
+/*Remember to add bits to trackx.h if adding here */
#define TB_SELECTED (1<<0)
#define TB_VISIBLE (1<<1)
#define TB_PROFILEPATH (1<<2)
@@ -435,7 +437,8 @@ void SetDebug( char * );
#define TB_BRIDGE (1<<9)
#define TB_SELREDRAW (1<<10)
// Track has been undrawn, don't draw it on Redraw
-#define TB_UNDRAWN (1<<11)
+#define TB_UNDRAWN (1<<11)
+#define TB_DETAILDESC (1<<12)
#define TB_TEMPBITS (TB_PROFILEPATH|TB_PROCESSED|TB_UNDRAWN)
/* track.c */
@@ -464,10 +467,10 @@ void SetDebug( char * );
#define GetTrkEndAngle( T, I ) ((T)->endPt[I].angle)
#define GetTrkEndOption( T, I ) ((T)->endPt[I].option)
#define SetTrkEndOption( T, I, O ) ((T)->endPt[I].option=O)
-#define GetTrkExtraData( T ) ((T)->extraData)
+#define GetTrkExtraData( T, TT ) ((T)->extraData)
#define GetTrkWidth( T ) (int)((T)->width)
#define SetTrkWidth( T, W ) (T)->width = (unsigned int)(W)
-#define GetTrkBits(T) ((T)->bits)
+#define GetTrkBits(T) ((T)?((T)->bits):0)
#define SetTrkBits(T,V) ((T)->bits|=(V))
#define ClrTrkBits(T,V) ((T)->bits&=~(V))
#define IsTrackDeleted(T) ((T)->deleted)
@@ -490,7 +493,7 @@ coOrd GetTrkEndPos( track_p, EPINX_T );
ANGLE_T GetTrkEndAngle( track_p, EPINX_T );
long GetTrkEndOption( track_p, EPINX_T );
long SetTrkEndOption( track_p, EPINX_T, long );
-struct extraData * GetTrkExtraData( track_p );
+struct extraDataBase_t * GetTrkExtraData( track_p, TRKTYP_T );
int GetTrkWidth( track_p );
void SetTrkWidth( track_p, int );
int GetTrkBits( track_p );
@@ -502,7 +505,7 @@ BOOL_T IsTrackDeleted( track_p );
#define GetTrkSelected(T) (GetTrkBits(T)&TB_SELECTED)
#define GetTrkVisible(T) (GetTrkBits(T)&TB_VISIBLE)
#define GetTrkNoTies(T) (GetTrkBits(T)&TB_NOTIES)
-#define GetTrkBridge(T) (GetTrkBits(T)&TB_BRIDGE)
+#define GetTrkBridge(T) ((T)?GetTrkBits(T)&TB_BRIDGE:0)
#define SetTrkVisible(T,V) ((V)?SetTrkBits(T,TB_VISIBLE):ClrTrkBits(T,TB_VISIBLE))
#define SetTrkNoTies(T,V) ((V)?SetTrkBits(T,TB_NOTIES):ClrTrkBits(T,TB_NOTIES))
#define SetTrkBridge(T,V) ((V)?SetTrkBits(T,TB_BRIDGE):ClrTrkBits(T,TB_BRIDGE))
@@ -514,8 +517,8 @@ void SetTrkEndElev( track_p, EPINX_T, int, DIST_T, char * );
int GetTrkEndElevMode( track_p, EPINX_T );
int GetTrkEndElevUnmaskedMode( track_p, EPINX_T );
DIST_T GetTrkEndElevHeight( track_p, EPINX_T );
-BOOL_T GetTrkEndElevCachedHeight (track_p trk, EPINX_T e, DIST_T *height, DIST_T *length);
-void SetTrkEndElevCachedHeight ( track_p trk, EPINX_T e, DIST_T height, DIST_T length);
+BOOL_T GetTrkEndElevCachedHeight (track_p trk, EPINX_T e, DIST_T *height, DIST_T *grade);
+void SetTrkEndElevCachedHeight ( track_p trk, EPINX_T e, DIST_T height, DIST_T grade);
char * GetTrkEndElevStation( track_p, EPINX_T );
#define EndPtIsDefinedElev( T, E ) (GetTrkEndElevMode(T,E)==ELEV_DEF)
#define EndPtIsIgnoredElev( T, E ) (GetTrkEndElevMode(T,E)==ELEV_IGNORE)
@@ -613,10 +616,15 @@ BOOL_T ComputeElev( track_p trk, EPINX_T ep, BOOL_T on_path, DIST_T * elev, DIST
#define DTS_DASH (1<<8)
#define DTS_DASHDOT (1<<9)
#define DTS_DASHDOTDOT (1<<10)
+#define DTS_CENTERONLY (1<<11)
-void DrawCurvedTrack( drawCmd_p, coOrd, DIST_T, ANGLE_T, ANGLE_T, coOrd, coOrd, track_cp, wDrawColor, long );
+void DrawCurvedTrack( drawCmd_p, coOrd, DIST_T, ANGLE_T, ANGLE_T, track_cp, wDrawColor, long );
void DrawStraightTrack( drawCmd_p, coOrd, coOrd, ANGLE_T, track_cp, wDrawColor, long );
+void DrawStraightTies( drawCmd_p d, SCALEINX_T scaleInx, coOrd p0, coOrd p1, wDrawColor color );
+wBool_t DoDrawTies(drawCmd_p d, track_cp trk);
+void DrawTie(drawCmd_p d, coOrd pos, ANGLE_T angle, DIST_T length, DIST_T width, wDrawColor color, BOOL_T solid);
+
ANGLE_T GetAngleAtPoint( track_p, coOrd, EPINX_T *, EPINX_T * );
DIST_T GetTrkDistance( track_cp, coOrd *);
track_p OnTrack( coOrd *, INT_T, BOOL_T );
@@ -652,7 +660,7 @@ void FreeTrack( track_p );
void ClearTracks( void );
BOOL_T TrackIterate( track_p * );
-void LoosenTracks( void );
+void LoosenTracks( void * unused );
void SaveTrackState( void );
void RestoreTrackState( void );
@@ -686,9 +694,10 @@ BOOL_T ReplayTrackData(track_p, void *, long);
DIST_T GetFlexLength( track_p, EPINX_T, coOrd * );
void LabelLengths( drawCmd_p, track_p, wDrawColor );
DIST_T GetTrkLength( track_p, EPINX_T, EPINX_T );
+void AddTrkDetails(drawCmd_p d, track_p trk, coOrd pos, DIST_T length, wDrawColor color);
-void SelectAbove( void );
-void SelectBelow( void );
+void SelectAbove( void * unused );
+void SelectBelow( void * unused );
void FlipPoint( coOrd*, coOrd, ANGLE_T );
void FlipTrack( track_p, coOrd, ANGLE_T );
@@ -698,8 +707,16 @@ void AdvancePositionIndicator( track_p, coOrd, coOrd *, ANGLE_T * );
BOOL_T MakeParallelTrack( track_p, coOrd, DIST_T, DIST_T, track_p *, coOrd *, coOrd * , BOOL_T);
+/*tstraight.c*/
+DIST_T StraightDescriptionDistance(coOrd pos, track_p trk, coOrd * dpos, BOOL_T show_hidden, BOOL_T * hidden);
+STATUS_T StraightDescriptionMove(track_p trk,wAction_t action,coOrd pos );
+
+/*tease.c*/
+DIST_T JointDescriptionDistance(coOrd pos,track_p trk,coOrd * dpos,BOOL_T show_hidden,BOOL_T * hidden);
+STATUS_T JointDescriptionMove(track_p trk,wAction_t action,coOrd pos );
+
/* cmisc.c */
-wIndex_t describeCmdInx;
+extern wIndex_t describeCmdInx;
typedef enum { DESC_NULL, DESC_POS, DESC_FLOAT, DESC_ANGLE, DESC_LONG, DESC_COLOR, DESC_DIM, DESC_PIVOT, DESC_LAYER, DESC_STRING, DESC_TEXT, DESC_LIST, DESC_EDITABLELIST, DESC_BOXED } descType;
#define DESC_RO (1<<0)
#define DESC_IGNORE (1<<1)
@@ -720,7 +737,7 @@ typedef struct {
int mode;
wControl_p control0;
wControl_p control1;
- wPos_t posy;
+ wWinPix_t posy;
} descData_t, * descData_p;
typedef void (*descUpdate_t)( track_p, int, descData_p, BOOL_T );
void DoDescribe( char *, track_p, descData_p, descUpdate_t );
@@ -743,7 +760,7 @@ extern long oldElevationEvaluation;
EPINX_T GetNextTrkOnPath( track_p trk, EPINX_T ep );
int FindDefinedElev( track_p, EPINX_T, int, BOOL_T, DIST_T *, DIST_T * );
BOOL_T ComputeElev( track_p, EPINX_T, BOOL_T, DIST_T *, DIST_T *, BOOL_T );
-void RecomputeElevations( void );
+void RecomputeElevations( void * unused );
void UpdateAllElevations( void );
DIST_T GetElevation( track_p );
void ClrTrkElev( track_p );
@@ -767,7 +784,7 @@ BOOL_T GetClosestEndPt( track_p, coOrd * );
BOOL_T ReadTableEdge( char * );
BOOL_T ReadText( char * );
void SetLineType( track_p trk, int width );
-void MenuMode(int );
+void MenuMode( void * moveVP );
/* chotbar.c */
extern DIST_T curBarScale;
diff --git a/app/bin/trackx.h b/app/bin/trackx.h
index 50fda1d..e572011 100644
--- a/app/bin/trackx.h
+++ b/app/bin/trackx.h
@@ -27,8 +27,6 @@
#include "common.h"
#include "track.h"
-struct extraData;
-
typedef struct track_t {
struct track_t *next;
TRKINX_T index;
@@ -40,11 +38,11 @@ typedef struct track_t {
BOOL_T new:1;
unsigned int width:2;
unsigned int elevMode:2;
- unsigned int bits:12;
+ unsigned int bits:13;
EPINX_T endCnt;
trkEndPt_p endPt;
struct { float x; float y; } lo, hi;
- struct extraData * extraData;
+ struct extraDataBase_t * extraData;
CSIZE_T extraSize;
DIST_T elev;
} track_t;
diff --git a/app/bin/trknote.c b/app/bin/trknote.c
index f27cf2e..f2462ba 100644
--- a/app/bin/trknote.c
+++ b/app/bin/trknote.c
@@ -20,31 +20,26 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdint.h>
-#include <string.h>
-#include <ctype.h>
-
+#include "common.h"
#include "cundo.h"
#include "custom.h"
#include "dynstring.h"
#include "fileio.h"
-#include "i18n.h"
#include "misc.h"
#include "note.h"
#include "param.h"
#include "track.h"
#include "include/utf8convert.h"
-#include "utility.h"
extern BOOL_T inDescribeCmd;
extern descData_t noteDesc[];
-static TRKTYP_T T_NOTE = -1;
+EXPORT TRKTYP_T T_NOTE = -1;
static wDrawBitMap_p note_bm, link_bm, document_bm;
typedef struct {
- char **xpm;
+ char ***xpm;
int OP;
char * shortName;
char * cmdName;
@@ -52,14 +47,14 @@ typedef struct {
long acclKey;
} trknoteData_t;
-#include "bitmaps/sticky-note-text.xpm"
-#include "bitmaps/sticky-note-chain.xpm"
-#include "bitmaps/sticky-note-clip.xpm"
+#include "bitmaps/sticky-note.xpm"
+#include "bitmaps/sticky-link.xpm"
+#include "bitmaps/sticky-doc.xpm"
static trknoteData_t noteTypes[] = {
- { sticky_note_text_bits, OP_NOTETEXT, N_("Note"), N_("Comment"), "cmdTextNote", 0L },
- { sticky_note_chain_bits, OP_NOTELINK, N_("Link"), N_("Weblink"), "cmdLinkNote", 0L },
- { sticky_note_clip_bits, OP_NOTEFILE, N_("Document"), N_("Document"), "cmdFileNote", 0L },
+ { sticky_note_xpm, OP_NOTETEXT, N_("Note"), N_("Comment"), "cmdTextNote", 0L },
+ { sticky_link_xpm, OP_NOTELINK, N_("Link"), N_("Weblink"), "cmdLinkNote", 0L },
+ { sticky_doc_xpm, OP_NOTEFILE, N_("Document"), N_("Document"), "cmdFileNote", 0L },
};
static long curNoteType;
@@ -67,7 +62,7 @@ static long curNoteType;
static unsigned layerSave;
static coOrd posSave;
-#define NOTETYPESCOUNT (sizeof(noteTypes)/sizeof(trknoteData_t))
+#define NOTETYPESCOUNT COUNT(noteTypes)
/*****************************************************************************
@@ -77,9 +72,9 @@ static coOrd posSave;
static track_p NewNote(wIndex_t index, coOrd p, enum noteCommands command )
{
track_p t;
- struct extraDataNote * xx;
+ struct extraDataNote_t * xx;
t = NewTrack(index, T_NOTE, 0, sizeof *xx);
- xx = (struct extraDataNote *)GetTrkExtraData(t);
+ xx = GET_EXTRA_DATA( t, T_NOTE, extraDataNote_t );
xx->pos = p;
xx->op = command;
SetBoundingBox(t, p, p);
@@ -96,26 +91,29 @@ static track_p NewNote(wIndex_t index, coOrd p, enum noteCommands command )
static void DrawNote(track_p t, drawCmd_p d, wDrawColor color)
{
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(t);
- coOrd p[4];
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( t, T_NOTE, extraDataNote_t );
+ coOrd p[5];
+ int type[5];
- if (d->scale >= 16) {
- return;
- }
- if ((d->options & DC_SIMPLE)) {
- //while the icon is moved, draw a square
+
+ if ((d->options & DC_SIMPLE) || mainD.scale >= 16) {
+ //while the icon is moved, draw a square with a lopped off corner
//because CmdMove draws all selected object into tempSeg and
//tempSegDrawFuncs doesn't have a BitMap drawing func
DIST_T dist;
- dist = 0.1*mainD.scale;
+ dist = 0.8 + 0.1*(mainD.scale-16)/4;
p[0].x = p[1].x = xx->pos.x - dist;
- p[2].x = p[3].x = xx->pos.x + dist;
+ p[2].x = p[3].x = p[4].x = xx->pos.x + dist;
p[1].y = p[2].y = xx->pos.y - dist;
- p[3].y = p[0].y = xx->pos.y + dist;
- DrawLine(d, p[0], p[1], 0, color);
- DrawLine(d, p[1], p[2], 0, color);
- DrawLine(d, p[2], p[3], 0, color);
- DrawLine(d, p[3], p[0], 0, color);
+ p[3].y = p[4].y = p[0].y = xx->pos.y + dist;
+ p[3].y = p[3].y - (dist/2);
+ p[4].x = p[4].x - (dist/2);
+
+ for (int i=0;i<5;i++) {
+ type[i] = 0;
+ }
+ DrawPoly(d, 5, p, type, color, 0, DRAW_CLOSED);
+ DrawPoly(d, 5, p, type, drawColorGold, 0, DRAW_FILL);
} else {
// draw a bitmap for static object
wDrawBitMap_p bm;
@@ -135,7 +133,7 @@ static void DrawNote(track_p t, drawCmd_p d, wDrawColor color)
static DIST_T DistanceNote(track_p t, coOrd * p)
{
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(t);
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( t, T_NOTE, extraDataNote_t );
DIST_T d;
d = FindDistance(*p, xx->pos);
@@ -143,12 +141,12 @@ static DIST_T DistanceNote(track_p t, coOrd * p)
return d;
}
- return 100000.0;
+ return DIST_INF;
}
static void DeleteNote(track_p t)
{
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(t);
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( t, T_NOTE, extraDataNote_t );
switch (xx->op) {
case OP_NOTETEXT:
@@ -180,7 +178,7 @@ static void DeleteNote(track_p t)
void
NoteStateSave(track_p trk)
{
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
layerSave = GetTrkLayer(trk);
posSave = xx->pos;
}
@@ -193,7 +191,7 @@ void
CommonCancelNote(track_p trk)
{
if (inDescribeCmd) {
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
xx->layer = layerSave;
xx->pos = posSave;
SetBoundingBox(trk, xx->pos, xx->pos);
@@ -201,9 +199,9 @@ CommonCancelNote(track_p trk)
}
static void
-CommonUpdateNote(track_p trk, int inx, struct extraDataNote *noteData )
+CommonUpdateNote(track_p trk, int inx, struct extraDataNote_t *noteData )
{
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
switch (inx) {
case OR_NOTE:
@@ -220,10 +218,10 @@ CommonUpdateNote(track_p trk, int inx, struct extraDataNote *noteData )
}
-void UpdateFile(struct extraDataNote *noteUIData, int inx, BOOL_T needUndoStart)
+void UpdateFile(struct extraDataNote_t *noteUIData, int inx, BOOL_T needUndoStart)
{
track_p trk = noteUIData->trk;
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
switch (inx) {
case OR_NOTE:
@@ -253,10 +251,10 @@ void UpdateFile(struct extraDataNote *noteUIData, int inx, BOOL_T needUndoStart
}
}
-void UpdateLink(struct extraDataNote *noteUIData, int inx, BOOL_T needUndoStart)
+void UpdateLink(struct extraDataNote_t *noteUIData, int inx, BOOL_T needUndoStart)
{
track_p trk = noteUIData->trk;
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
switch (inx) {
case OR_NOTE:
@@ -275,10 +273,10 @@ void UpdateLink(struct extraDataNote *noteUIData, int inx, BOOL_T needUndoStart)
}
}
-void UpdateText(struct extraDataNote *noteUIData, int inx, BOOL_T needUndoStart)
+void UpdateText(struct extraDataNote_t *noteUIData, int inx, BOOL_T needUndoStart)
{
track_p trk = noteUIData->trk;
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
switch (inx) {
case OR_NOTE:
@@ -334,8 +332,9 @@ GetNoteMarker(enum noteCommands command )
static BOOL_T WriteNote(track_p t, FILE * f)
{
- struct extraDataNote *xx = (struct extraDataNote *)GetTrkExtraData(t);
+ struct extraDataNote_t *xx = GET_EXTRA_DATA( t, T_NOTE, extraDataNote_t );
BOOL_T rc = TRUE;
+ unsigned strings2convert = 1;
rc &= fprintf(f, "NOTE %d %u 0 0 %0.6f %0.6f 0 %d", GetTrkIndex(t),
GetTrkLayer(t),
@@ -349,16 +348,18 @@ static BOOL_T WriteNote(track_p t, FILE * f)
case OP_NOTELINK:
s[0]=ConvertToEscapedText( xx->noteData.linkData.url );
s[1]=ConvertToEscapedText( xx->noteData.linkData.title );
+ strings2convert = 2;
break;
case OP_NOTEFILE:
s[0]=ConvertToEscapedText( xx->noteData.fileData.path );
s[1]=ConvertToEscapedText( xx->noteData.fileData.title );
+ strings2convert = 2;
break;
default:
AbortProg( "WriteNote: %d", xx->op );
}
-#ifdef WINDOWS
- for ( int inx = 0; inx < 2; inx++ ) {
+#ifdef UTFCONVERT
+ for ( unsigned int inx = 0; inx < strings2convert; inx++ ) {
if ( RequiresConvToUTF8( s[inx] ) ) {
wSystemToUTF8 ( s[inx], message, sizeof message );
MyFree( s[inx] );
@@ -389,7 +390,7 @@ ReadTrackNote(char *line)
track_p t;
int size;
char * cp;
- struct extraDataNote *xx;
+ struct extraDataNote_t *xx;
wIndex_t index;
wIndex_t layer;
coOrd pos;
@@ -404,17 +405,17 @@ ReadTrackNote(char *line)
return FALSE;
}
- if ( paramVersion >= 12 ) {
+ if ( paramVersion >= VERSION_INLINENOTE ) {
noteType = size;
t = NewNote(index, pos, noteType);
SetTrkLayer(t, layer);
- xx = (struct extraDataNote *)GetTrkExtraData(t);
+ xx = GET_EXTRA_DATA( t, T_NOTE, extraDataNote_t );
switch (noteType) {
case OP_NOTETEXT:
if ( !GetArgs( cp, "qc", &sText, &cp ) )
return FALSE;
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem( sText );
#endif
xx->noteData.text = sText;
@@ -422,13 +423,13 @@ ReadTrackNote(char *line)
case OP_NOTELINK:
if ( !GetArgs( cp, "qc", &sText, &cp ) )
return FALSE;
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem( sText );
#endif
xx->noteData.linkData.url = sText;
if ( !GetArgs( cp, "qc", &sText, &cp ) )
return FALSE;
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem( sText );
#endif
xx->noteData.linkData.title = sText;
@@ -436,13 +437,13 @@ ReadTrackNote(char *line)
case OP_NOTEFILE:
if ( !GetArgs( cp, "qc", &sText, &cp ) )
return FALSE;
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem( sText );
#endif
xx->noteData.fileData.path = sText;
if ( !GetArgs( cp, "qc", &sText, &cp ) )
return FALSE;
-#ifdef WINDOWS
+#ifdef UTFCONVERT
ConvertUTF8ToSystem( sText );
#endif
xx->noteData.fileData.title = sText;
@@ -467,7 +468,7 @@ ReadTrackNote(char *line)
t = NewNote(index, pos, noteType);
SetTrkLayer(t, layer);
- xx = (struct extraDataNote *)GetTrkExtraData(t);
+ xx = GET_EXTRA_DATA( t, T_NOTE, extraDataNote_t );
switch (noteType) {
case OP_NOTETEXT:
@@ -515,7 +516,7 @@ ReadNote(char * line)
static void MoveNote(track_p trk, coOrd orig)
{
- struct extraDataNote * xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t * xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
xx->pos.x += orig.x;
xx->pos.y += orig.y;
SetBoundingBox(trk, xx->pos, xx->pos);
@@ -524,14 +525,14 @@ static void MoveNote(track_p trk, coOrd orig)
static void RotateNote(track_p trk, coOrd orig, ANGLE_T angle)
{
- struct extraDataNote * xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t * xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
Rotate(&xx->pos, orig, angle);
SetBoundingBox(trk, xx->pos, xx->pos);
}
static void RescaleNote(track_p trk, FLOAT_T ratio)
{
- struct extraDataNote * xx = (struct extraDataNote *)GetTrkExtraData(trk);
+ struct extraDataNote_t * xx = GET_EXTRA_DATA( trk, T_NOTE, extraDataNote_t );
xx->pos.x *= ratio;
xx->pos.y *= ratio;
}
@@ -574,8 +575,8 @@ static BOOL_T QueryNote( track_p trk, int query )
static wBool_t CompareNote( track_cp trk1, track_cp trk2 )
{
- struct extraDataNote *xx1 = (struct extraDataNote *)GetTrkExtraData( trk1 );
- struct extraDataNote *xx2 = (struct extraDataNote *)GetTrkExtraData( trk2 );
+ struct extraDataNote_t *xx1 = GET_EXTRA_DATA( trk1, T_NOTE, extraDataNote_t );
+ struct extraDataNote_t *xx2 = GET_EXTRA_DATA( trk2, T_NOTE, extraDataNote_t );
char * cp = message + strlen(message);
REGRESS_CHECK_POS( "Pos", xx1, xx2, pos )
REGRESS_CHECK_INT( "Layer", xx1, xx2, layer )
@@ -636,7 +637,7 @@ static STATUS_T CmdNote(wAction_t action, coOrd pos)
switch (action) {
case C_START:
InfoMessage(_("Place a note on the layout"));
- curNoteType = (long)commandContext;
+ curNoteType = VP2L(commandContext);
return C_CONTINUE;
case C_DOWN:
@@ -697,7 +698,7 @@ static STATUS_T CmdNote(wAction_t action, coOrd pos)
#include "bitmaps/note.xbm"
#include "bitmaps/link.xbm"
#include "bitmaps/clip.xbm"
-#include "bitmaps/cnote.xpm"
+// RWS not used #include "bitmaps/note.xpm"
void InitTrkNote(wMenu_p menu)
{
@@ -711,8 +712,8 @@ void InitTrkNote(wMenu_p menu)
wIcon_p icon;
nt = noteTypes + i;
- icon = wIconCreatePixMap(nt->xpm);
- AddMenuButton(menu, CmdNote, nt->helpKey, _(nt->cmdName), icon, LEVEL0_50, IC_STICKY | IC_POPUP2, nt->acclKey, (void *)(intptr_t)nt->OP);
+ icon = wIconCreatePixMap(nt->xpm[iconSize]);
+ AddMenuButton(menu, CmdNote, nt->helpKey, _(nt->cmdName), icon, LEVEL0_50, IC_STICKY | IC_POPUP2, nt->acclKey, I2VP(nt->OP));
}
ButtonGroupEnd();
diff --git a/app/bin/trkseg.c b/app/bin/trkseg.c
index 3e38933..ebe1916 100644
--- a/app/bin/trkseg.c
+++ b/app/bin/trkseg.c
@@ -20,24 +20,14 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <track.h>
-#include <time.h>
-#include <ctype.h>
-#include <math.h>
-#include <stdarg.h>
-#include "track.h"
-#include <common.h>
-#include <cbezier.h>
-#include <string.h>
-
-#include <tbezier.h>
-
-#include "cjoin.h"
+#include "common.h"
#include "fileio.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
#include "misc.h"
+#include "cbezier.h"
+#include "tbezier.h"
+#include "cjoin.h"
/*****************************************************************************
@@ -245,10 +235,26 @@ static void Get1SegBounds( trkSeg_p segPtr, coOrd xlat, ANGLE_T angle, coOrd *lo
case SEG_TBLEDGE:
case SEG_CRVLIN:
case SEG_JNTTRK:
- if ( (segPtr->type == SEG_CRVTRK) ||
- (segPtr->type == SEG_CRVLIN) ) {
+ REORIGIN( p0, GetSegEndPt( segPtr, 0, FALSE, NULL ), angle, xlat )
+ REORIGIN( p1, GetSegEndPt( segPtr, 1, FALSE, NULL ), angle, xlat )
+ if (p0.x < p1.x) {
+ lo->x = p0.x;
+ hi->x = p1.x;
+ } else {
+ lo->x = p1.x;
+ hi->x = p0.x;
+ }
+ if (p0.y < p1.y) {
+ lo->y = p0.y;
+ hi->y = p1.y;
+ } else {
+ lo->y = p1.y;
+ hi->y = p0.y;
+ }
+ if ( (segPtr->type == SEG_CRVTRK) ||
+ (segPtr->type == SEG_CRVLIN) ) {
/* TODO: be more precise about curved line width */
- width.x = width.y = segPtr->width/2.0;
+ width.x = width.y = fabs(segPtr->width)/2.0;
REORIGIN( pc, segPtr->u.c.center, angle, xlat );
a0 = NormalizeAngle( segPtr->u.c.a0 + angle );
a1 = segPtr->u.c.a1;
@@ -260,34 +266,25 @@ static void Get1SegBounds( trkSeg_p segPtr, coOrd xlat, ANGLE_T angle, coOrd *lo
hi->y = pc.y + radius;
break;
}
- if ( a0 + a1 >= 360.0 )
+
+ if ( a0 + a1 >= 360.0 )
hi->y = pc.y + radius;
if ( a0 < 90.0 && a0+a1 >= 90.0 )
hi->x = pc.x + radius;
- if ( a0 < 180 && a0+a1 >= 180.0 )
+ if ( a0 > 90.0 && a0+a1 >= 450.0 )
+ hi->x = pc.x + radius;
+ if ( a0 < 180.0 && a0+a1 >= 180.0 )
+ lo->y = pc.y - radius;
+ if (a0 > 180.0 && a0+a1 >= 540.0 )
lo->y = pc.y - radius;
if ( a0 < 270.0 && a0+a1 >= 270.0 )
lo->x = pc.x - radius;
- }
- REORIGIN( p0, GetSegEndPt( segPtr, 0, FALSE, NULL ), angle, xlat )
- REORIGIN( p1, GetSegEndPt( segPtr, 1, FALSE, NULL ), angle, xlat )
- if (p0.x < p1.x) {
- lo->x = p0.x;
- hi->x = p1.x;
- } else {
- lo->x = p1.x;
- hi->x = p0.x;
- }
- if (p0.y < p1.y) {
- lo->y = p0.y;
- hi->y = p1.y;
- } else {
- lo->y = p1.y;
- hi->y = p0.y;
+ if ( a0 > 270.0 && a0+a1 >= 630.0 )
+ lo->x = pc.x - radius;
}
if ( segPtr->type == SEG_STRLIN ) {
- width.x = segPtr->width * fabs(cos( D2R( FindAngle(p0, p1) ) ) ) / 2.0;
- width.y = segPtr->width * fabs(sin( D2R( FindAngle(p0, p1) ) ) ) / 2.0;
+ width.x = fabs(segPtr->width) * fabs(cos( D2R( FindAngle(p0, p1) ) ) ) / 2.0;
+ width.y = fabs(segPtr->width) * fabs(sin( D2R( FindAngle(p0, p1) ) ) ) / 2.0;
} else if ( segPtr->type == SEG_BENCH ) {
width.x = BenchGetWidth( segPtr->u.l.option ) * fabs(cos( D2R( FindAngle(p0, p1) ) ) ) / 2.0;
width.y = BenchGetWidth( segPtr->u.l.option ) * fabs(sin( D2R( FindAngle(p0, p1) ) ) ) / 2.0;
@@ -295,7 +292,7 @@ static void Get1SegBounds( trkSeg_p segPtr, coOrd xlat, ANGLE_T angle, coOrd *lo
break;
case SEG_POLY:
/* TODO: be more precise about poly line width */
- width.x = width.y = segPtr->width/2.0;
+ width.x = width.y = fabs(segPtr->width)/2.0;
case SEG_FILPOLY:
for (inx=0; inx<segPtr->u.p.cnt; inx++ ) {
REORIGIN( p0, segPtr->u.p.pts[inx].pt, angle, xlat )
@@ -338,7 +335,7 @@ static void Get1SegBounds( trkSeg_p segPtr, coOrd xlat, ANGLE_T angle, coOrd *lo
hi->x = hi->x<pBez[i].x?pBez[i].x:hi->x;
hi->y = hi->y<pBez[i].y?pBez[i].y:hi->y;
}
- width.x = width.y = segPtr->width/2.0;
+ width.x = width.y = fabs(segPtr->width)/2.0;
break;
default:
;
@@ -580,7 +577,8 @@ EXPORT void RescaleSegs(
int inx;
for (s=segs; s<&segs[segCnt]; s++) {
- s->width *= scale_w;
+ if (s->width>0)
+ s->width *= scale_w;
switch (s->type) {
case SEG_STRLIN:
case SEG_DIMLIN:
@@ -722,7 +720,7 @@ EXPORT DIST_T DistanceSegs(
coOrd * pos,
wIndex_t * inx_ret )
{
- DIST_T d, dd = 100000.0, ddd;
+ DIST_T d, dd = DIST_INF, ddd;
coOrd p0, p1, p2, pt, lo, hi;
BOOL_T found = FALSE;
wIndex_t inx, lin;
@@ -753,12 +751,12 @@ EXPORT DIST_T DistanceSegs(
break;
case SEG_POLY:
case SEG_FILPOLY:
- ddd = 100000.0;
+ ddd = DIST_INF;
for (lin=0;lin<segPtr->u.p.cnt;lin++) {
pt = p0;
if (lin < segPtr->u.p.cnt-1 )
ddd = LineDistance( &pt, segPtr->u.p.pts[lin].pt, segPtr->u.p.pts[lin+1].pt );
- else
+ else if (segPtr->u.p.polyType != POLYLINE)
ddd = LineDistance( &pt, segPtr->u.p.pts[lin].pt, segPtr->u.p.pts[0].pt );
if ( ddd < dd ) {
dd = ddd;
@@ -768,7 +766,7 @@ EXPORT DIST_T DistanceSegs(
break;
case SEG_BEZTRK:
case SEG_BEZLIN:
- dd = 100000.0;
+ dd = DIST_INF;
pt = p0;
for (int i = 0;i<segPtr->bezSegs.cnt;i++) {
segProcData2.distance.pos1 = pt;
@@ -814,7 +812,7 @@ EXPORT DIST_T DistanceSegs(
dd = JointDistance( &p1, segPtr->u.j.pos, segPtr->u.j.angle, segPtr->u.j.l0, segPtr->u.j.l1, segPtr->u.j.R, segPtr->u.j.L, segPtr->u.j.negate, segPtr->u.j.Scurve );
break;
default:
- dd = 100000.0;
+ dd = DIST_INF;
}
if (dd < d) {
d = dd;
@@ -1353,6 +1351,7 @@ EXPORT BOOL_T ReadSegs( void )
rc = FALSE;
/*??*/break;
}
+ if (s->type == SEG_FILPOLY) s->u.p.polyType = FREEFORM; //Ensure closed if filled
s->color = wDrawFindColor( rgb );
s->u.p.pts = (pts_t*)MyMalloc( s->u.p.cnt * sizeof (pts_t) );
for ( i=0; i<s->u.p.cnt; i++ ) {
@@ -1691,8 +1690,14 @@ EXPORT void DrawDimLine(
size.x = textsize.x/2.0;
size.y = textsize.y/2.0;
dist1 = FindDistance( zero, size );
- if ( dist <= dist1*2 ) {
+ if ( dist <= dist1*1.5 ) {
DrawLine( d, p0, p1, width, color );
+ coOrd s_pos;
+ s_pos.x = (p1.x-p0.x)*middle+p0.x;
+ s_pos.y = (p1.y-p0.y)*middle+p0.y;
+ ANGLE_T a = FindAngle(p0,p1);
+ Translate(&s_pos,s_pos,a+90,textsize.y/2);
+ DrawString( d, s_pos, 0.0, dimP, fp, fs, color );
return;
}
a1 = FindAngle( zero, size );
@@ -1750,10 +1755,10 @@ EXPORT void DrawSegsO(
DIST_T factor = d->dpi/d->scale;
trkSeg_p tempPtr;
- long option;
+ long option;
wFontSize_t fs;
- wBool_t bFill;
+ wBool_t bFill,bThick;
for (i=0; i<segCnt; i++,segPtr++ ) {
if (color == wDrawColorBlack) {
@@ -1764,7 +1769,7 @@ EXPORT void DrawSegsO(
}
wDrawWidth thick = 3;
#ifdef WINDOWS
- thick *= (wDrawWidth)(d->dpi/mainD.dpi);
+ thick *= (wDrawWidth)(d->dpi/75.0);
#endif
switch (segPtr->type) {
case SEG_STRLIN:
@@ -1780,13 +1785,22 @@ EXPORT void DrawSegsO(
color1 = normalColor;
if ( segPtr->color == wDrawColorWhite )
break;
+ if (options&DTS_CENTERONLY) {
+ DrawLine( d, p0, p1, thick, color1 );
+ break;
+ }
DrawStraightTrack( d,
p0, p1,
FindAngle(p1, p0 ),
trk, color1, options );
break;
- case SEG_STRLIN:
- DrawLine( d, p0, p1, (d->options&DC_THICK)?thick:(wDrawWidth)floor(segPtr->width*factor+0.5), color1 );
+ case SEG_STRLIN:;
+ wDrawWidth w;
+ if (segPtr->width <0)
+ w = (int)floor(fabs(segPtr->width)+0.5);
+ else
+ w = (int)floor(fabs(segPtr->width*factor)+0.5);
+ DrawLine( d, p0, p1, (d->options&DC_THICK)?thick:w, color1 );
break;
case SEG_DIMLIN:
case SEG_BENCH:
@@ -1811,7 +1825,7 @@ EXPORT void DrawSegsO(
DrawBench( d, p0, p1, color1, color2, options, segPtr->u.l.option );
break;
case SEG_TBLEDGE:
- DrawLine( d, p0, p1, (wDrawWidth)floor(3.0/mainD.dpi*d->dpi+0.5) , color );
+ DrawLine( d, p0, p1, (wDrawWidth)floor(3.0/BASE_DPI*d->dpi+0.5) , color );
break;
}
}
@@ -1828,15 +1842,24 @@ EXPORT void DrawSegsO(
if ( segPtr->color == wDrawColorWhite )
break;
p0.x = p0.y = p1.x = p1.y = 0;
+ if (options&DTS_CENTERONLY) {
+ DrawArc( d, c, fabs(segPtr->u.c.radius), a0, segPtr->u.c.a1,
+ FALSE, thick, color1 );
+ break;
+ }
DrawCurvedTrack( d,
c,
fabs(segPtr->u.c.radius),
a0, segPtr->u.c.a1,
- p0, p1,
trk, color1, options );
} else {
+ wDrawWidth w;
+ if (segPtr->width <0)
+ w = (int)floor(fabs(segPtr->width)+0.5);
+ else
+ w = (int)floor(segPtr->width*factor+0.5);
DrawArc( d, c, fabs(segPtr->u.c.radius), a0, segPtr->u.c.a1,
- FALSE, (d->options&DC_THICK)?thick:(wDrawWidth)floor(segPtr->width*factor+0.5), color1 );
+ FALSE, (d->options&DC_THICK)?thick:w, color1 );
}
break;
case SEG_BEZTRK:
@@ -1846,13 +1869,15 @@ EXPORT void DrawSegsO(
color1 = normalColor;
if ( segPtr->color == wDrawColorWhite )
break;
- } else
- REORIGIN(p0, segPtr->u.b.pos[0], angle, orig);
- REORIGIN(p1, segPtr->u.b.pos[1], angle, orig);
- REORIGIN(p2, segPtr->u.b.pos[2], angle, orig);
- REORIGIN(p3, segPtr->u.b.pos[3], angle, orig);
-
- for(int j=0;j<segPtr->bezSegs.cnt;j++) { //Loop through sub Segs
+ }
+ //else {
+ REORIGIN(p0,segPtr->u.b.pos[0],angle,orig);
+ REORIGIN(p1,segPtr->u.b.pos[1],angle,orig);
+ REORIGIN(p2,segPtr->u.b.pos[2],angle,orig);
+ REORIGIN(p3,segPtr->u.b.pos[3],angle,orig);
+ //}
+
+ for(int j=0;j<segPtr->bezSegs.cnt;j++) { //Loop through sub Segs
tempPtr = &DYNARR_N(trkSeg_t,segPtr->bezSegs,j);
switch (tempPtr->type) {
case SEG_CRVTRK:
@@ -1863,15 +1888,24 @@ EXPORT void DrawSegsO(
if (color1 == wDrawColorBlack) color1 = normalColor;
if ( tempPtr->color == wDrawColorWhite ) break;
p0.x = p0.y = p1.x = p1.y = 0;
- DrawCurvedTrack( d,
+ if (options&DTS_CENTERONLY) {
+ DrawArc( d, c, fabs(segPtr->u.c.radius), a0, segPtr->u.c.a1,
+ FALSE, thick, color1 );
+ break;
+ }
+ DrawCurvedTrack( d,
c,
fabs(tempPtr->u.c.radius),
a0, tempPtr->u.c.a1,
- p0, p1,
trk, color1, options );
} else if (tempPtr->type == SEG_CRVLIN) {
+ wDrawWidth w;
+ if (tempPtr->width <0)
+ w = (int)floor(fabs(tempPtr->width)+0.5);
+ else
+ w = (int)floor(tempPtr->width*factor+0.5);
DrawArc( d, c, fabs(tempPtr->u.c.radius), a0, tempPtr->u.c.a1,
- FALSE, (d->options&DC_THICK)?thick:(wDrawWidth)floor(tempPtr->width*factor+0.5), color1 );
+ FALSE, (d->options&DC_THICK)?thick:w, color1 );
}
break;
case SEG_STRTRK:
@@ -1879,14 +1913,23 @@ EXPORT void DrawSegsO(
if ( tempPtr->color == wDrawColorWhite ) break;
REORIGIN(p0,tempPtr->u.l.pos[0], angle, orig);
REORIGIN(p1,tempPtr->u.l.pos[1], angle, orig);
- DrawStraightTrack( d, p0, p1,
- FindAngle(p1, p0 ),
- trk, color1, options );
+ if (options&DTS_CENTERONLY) {
+ DrawLine( d, p0, p1, thick, color1 );
+ break;
+ }
+ DrawStraightTrack( d, p0, p1,
+ FindAngle(p1,p0),
+ trk,color1,options);
break;
case SEG_STRLIN:
REORIGIN(p0,tempPtr->u.l.pos[0], angle, orig);
REORIGIN(p1,tempPtr->u.l.pos[1], angle, orig);
- DrawLine( d, p0, p1, (d->options&DC_THICK)?thick:(wDrawWidth)floor(tempPtr->width*factor+0.5), color1 );
+ wDrawWidth w;
+ if (tempPtr->width <0)
+ w = (int)floor(fabs(tempPtr->width)+0.5);
+ else
+ w = (int)floor(tempPtr->width*factor+0.5);
+ DrawLine( d, p0, p1, (d->options&DC_THICK)?thick:w, color1 );
break;
}
}
@@ -1914,20 +1957,48 @@ EXPORT void DrawSegsO(
bFill = (segPtr->type == SEG_FILPOLY);
if ( (d->options&DC_SIMPLE) && programMode != MODE_TRAIN )
bFill = FALSE;
- DrawPoly( d, segPtr->u.p.cnt, tempPts, tempTypes, color1, (d->options&DC_THICK)?thick:(wDrawWidth)floor(segPtr->width*factor+0.5), bFill?1:0, segPtr->u.p.polyType==POLYLINE?1:0);
+
+ // If we are drawing highlights for Select, don't fill just edges
+ bThick = d->options&DC_THICK;
+ if (&tempD == d && ( color == wDrawColorPreviewSelected || color == wDrawColorPreviewUnselected || color == selectedColor)) {
+ bFill = FALSE;
+ bThick = TRUE;
+ }
+
+ wDrawWidth w;
+ if (segPtr->width <0)
+ w = (int)floor(fabs(segPtr->width)+0.5);
+ else
+ w = (int)floor(segPtr->width*factor+0.5);
+ drawFill_e eOptFill;
+ if ( bFill )
+ eOptFill = DRAW_FILL;
+ else if ( segPtr->u.p.polyType == POLYLINE )
+ eOptFill = DRAW_OPEN;
+ else
+ eOptFill = DRAW_CLOSED;
+ DrawPoly( d, segPtr->u.p.cnt, tempPts, tempTypes, color1, bThick?thick:w, eOptFill );
free(tempPts);
free(tempTypes);
+
break;
case SEG_FILCRCL:
REORIGIN( c, segPtr->u.c.center, angle, orig )
bFill = TRUE;
if ( (d->options&DC_SIMPLE) && programMode != MODE_TRAIN )
bFill = FALSE;
+
+ // If we are drawing highlights for Select, don't fill just edges
+ bThick = d->options&DC_THICK;
+ if (&tempD == d && (color == wDrawColorPreviewSelected || color == wDrawColorPreviewUnselected || color == selectedColor)) {
+ bFill = FALSE;
+ bThick = TRUE;
+ }
if ( bFill ) {
DrawFillCircle( d, c, fabs(segPtr->u.c.radius), color1 );
} else {
DrawArc( d, c, fabs(segPtr->u.c.radius), 0, 360,
- FALSE, (d->options&DC_THICK)?thick:(wDrawWidth)0, color1 );
+ FALSE, bThick?thick:(wDrawWidth)0, color1 );
}
break;
}
@@ -1987,7 +2058,7 @@ EXPORT void AppendSegsToArray(dynArr_t * seg_to, dynArr_t * seg_from) {
for (int i=0; i<seg_from->cnt;i++,j++) {
trkSeg_p from_p = &DYNARR_N(trkSeg_t, * seg_from,j);
trkSeg_p to_p = &DYNARR_N(trkSeg_t, * seg_to,i);
- memcpy((void *)to_p,(void *)from_p,sizeof( trkSeg_t));
+ memcpy(to_p,from_p,sizeof( trkSeg_t));
if (from_p->type == SEG_BEZLIN || from_p->type == SEG_BEZTRK) {
if (from_p->bezSegs.ptr) {
to_p->bezSegs.ptr = memdup(from_p->bezSegs.ptr,from_p->bezSegs.cnt*sizeof(trkSeg_t));
@@ -2008,7 +2079,7 @@ EXPORT void AppendTransformedSegs(dynArr_t * seg_to, dynArr_t * seg_from, coOrd
for (int i=0; i<seg_from->cnt;i++,j++) {
trkSeg_p from_p = &DYNARR_N(trkSeg_t, * seg_from,j);
trkSeg_p to_p = &DYNARR_N(trkSeg_t, * seg_to,i);
- memcpy((void *)to_p,(void *)from_p,sizeof( trkSeg_t));
+ memcpy(to_p,from_p,sizeof( trkSeg_t));
if (from_p->type == SEG_BEZLIN || from_p->type == SEG_BEZTRK) {
if (from_p->bezSegs.ptr) {
to_p->bezSegs.ptr = memdup(from_p->bezSegs.ptr,from_p->bezSegs.cnt*sizeof(trkSeg_t));
diff --git a/app/bin/tstraigh.c b/app/bin/tstraigh.c
index f9b666f..4408023 100644
--- a/app/bin/tstraigh.c
+++ b/app/bin/tstraigh.c
@@ -20,17 +20,13 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
-
#include "cstraigh.h"
#include "cundo.h"
#include "fileio.h"
-#include "i18n.h"
#include "layout.h"
-#include "messages.h"
#include "param.h"
#include "track.h"
-#include "utility.h"
+#include "common-ui.h"
/*******************************************************************************
*
@@ -40,6 +36,11 @@
static TRKTYP_T T_STRAIGHT = -1;
+typedef struct extraDataStraight_t {
+ extraDataBase_t base;
+ coOrd descriptionOff;
+ } extraDataStraight_t;
+
/****************************************
*
@@ -87,7 +88,7 @@ static descData_t strDesc[] = {
/*E1*/ { DESC_POS, N_("End Pt 2: X,Y"), &strData.endPt[1] },
/*Z1*/ { DESC_DIM, N_("Z"), &strData.elev[1] },
/*LN*/ { DESC_DIM, N_("Length"), &strData.length },
-/*AN*/ { DESC_ANGLE, N_("Angle"), &strData.angle },
+/*AN*/ { DESC_ANGLE, N_("Track Angle"), &strData.angle },
/*GR*/ { DESC_FLOAT, N_("Grade"), &strData.grade },
/*PV*/ { DESC_PIVOT, N_("Pivot"), &strData.pivot },
/*LY*/ { DESC_LAYER, N_("Layer"), &strData.layerNumber },
@@ -172,49 +173,6 @@ static void UpdateStraight( track_p trk, int inx, descData_p descUpd, BOOL_T fin
strDesc[inx==Z0?Z1:Z0].mode |= DESC_CHANGE;
/*return;*/
break;
-#ifdef LATER
- update = UpdateDescStraight( 0, &strDesc[E0], &strDesc[E1], &strDesc[LN], &strDesc[AN], strData.pivot );
- break;
- case E1:
- update = UpdateDescStraight( 1, &strDesc[E0], &strDesc[E1], &strDesc[LN], &strDesc[AN], strData.pivot );
- break;
- case E1:
- strData.length = FindDistance( strData.endPt[0], strData.endPt[1] );
- strData.angle = FindAngle( strData.endPt[0], strData.endPt[1] );
- strDesc[1-inx].mode |= DESC_CHANGE;
- strDesc[LN].mode |= DESC_CHANGE;
- strDesc[AN].mode |= DESC_CHANGE;
- break;
- case LN:
- if ( strData.length < minLength ) {
- ErrorMessage( );
- strData.length = FindDistance( strData.endPt[0], strData.endPt[1] );
- strDesc[LN].mode |= DESC_CHANGE;
- break;
- }
- case AN:
- switch (strData.pivot) {
- case DESC_PIVOT_FIRST:
- Translate( &strData.endPt[1], strData.endPt[0], strData.angle, strData.length );
- strDesc[E1].mode |= DESC_CHANGE;
- break;
- case DESC_PIVOT_SECOND:
- Translate( &strData.endPt[0], strData.endPt[1], strData.angle+180.0, strData.length );
- strDesc[E0].mode |= DESC_CHANGE;
- break;
- case DESC_PIVOT_MID:
- mid.x = (strData.endPt[0].x+strData.endPt[1].x)/2.0;
- mid.y = (strData.endPt[0].y+strData.endPt[1].y)/2.0;
- Translate( &strData.endPt[0], mid, strData.angle+180.0, strData.length/2.0 );
- Translate( &strData.endPt[1], mid, strData.angle, strData.length/2.0 );
- strDesc[E0].mode |= DESC_CHANGE;
- strDesc[E1].mode |= DESC_CHANGE;
- break;
- default:
- break;
- }
- break;
-#endif
case LY:
SetTrkLayer( trk, strData.layerNumber);
break;
@@ -272,8 +230,109 @@ static DIST_T DistanceStraight( track_p t, coOrd * p )
return LineDistance( p, GetTrkEndPos(t,0), GetTrkEndPos(t,1) );
}
+STATUS_T StraightDescriptionMove(
+ track_p trk,
+ wAction_t action,
+ coOrd pos )
+{
+ extraDataStraight_t *xx = GET_EXTRA_DATA(trk, T_STRAIGHT, extraDataStraight_t);
+ ANGLE_T a,ap;
+ coOrd end0, end1;
+ end0 = GetTrkEndPos(trk,0);
+ end1 = GetTrkEndPos(trk,1);
+ a = FindAngle(end0,end1);
+ ap = NormalizeAngle(FindAngle(end0,pos)-FindAngle(end0,end1));
+
+ xx->descriptionOff.y = FindDistance(end0,pos)*sin(D2R(ap))-2*GetTrkGauge(trk);
+ xx->descriptionOff.x = -0.5 + FindDistance(end0,pos)*cos(D2R(ap))/FindDistance(end0,end1);
+ if (xx->descriptionOff.x > 0.5) xx->descriptionOff.x = 0.5;
+ if (xx->descriptionOff.x < -0.5) xx->descriptionOff.x = -0.5;
+
+
+ return C_CONTINUE;
+
+}
+
+DIST_T StraightDescriptionDistance(
+ coOrd pos,
+ track_p trk,
+ coOrd * dpos,
+ BOOL_T show_hidden,
+ BOOL_T * hidden)
+{
+ coOrd p1;
+ if (hidden) *hidden = FALSE;
+ if ( GetTrkType( trk ) != T_STRAIGHT || ((( GetTrkBits( trk ) & TB_HIDEDESC ) != 0 ) && !show_hidden))
+ return DIST_INF;
+
+ struct extraDataStraight_t *xx = GET_EXTRA_DATA(trk, T_STRAIGHT, extraDataStraight_t);
+ ANGLE_T a;
+ coOrd end0, end0off, end1, end1off;
+ end0 = GetTrkEndPos(trk,0);
+ end1 = GetTrkEndPos(trk,1);
+ a = FindAngle(end0,end1);
+ Translate(&end0off,end0,a+90,2*GetTrkGauge(trk)+xx->descriptionOff.y);
+ Translate(&end1off,end1,a+90,2*GetTrkGauge(trk)+xx->descriptionOff.y);
+
+ p1.x = (end1off.x - end0off.x)*(xx->descriptionOff.x+0.5) + end0off.x;
+ p1.y = (end1off.y - end0off.y)*(xx->descriptionOff.x+0.5) + end0off.y;
+
+ if (hidden) *hidden = (GetTrkBits( trk ) & TB_HIDEDESC);
+ *dpos = p1;
+ coOrd tpos = pos;
+ if (LineDistance(&tpos,end0,end1)<FindDistance( p1, pos ))
+ return LineDistance(&pos,end0,end1);
+ return FindDistance( p1, pos );
+}
+
+
+static void DrawStraightDescription(
+ track_p trk,
+ drawCmd_p d,
+ wDrawColor color )
+{
+ ANGLE_T a;
+ struct extraDataStraight_t *xx = GET_EXTRA_DATA(trk, T_STRAIGHT, extraDataStraight_t);
+
+ if (layoutLabels == 0)
+ return;
+ if ((labelEnable&LABELENABLE_TRKDESC)==0)
+ return;
+
+ coOrd end0, end0off, end1, end1off;
+ end0 = GetTrkEndPos(trk,0);
+ end1 = GetTrkEndPos(trk,1);
+ a = FindAngle(end0,end1);
+ Translate(&end0off,end0,a+90,2*GetTrkGauge(trk)+xx->descriptionOff.y);
+ DrawLine(d,end0,end0off,0,color);
+ Translate(&end1off,end1,a+90,2*GetTrkGauge(trk)+xx->descriptionOff.y);
+ DrawLine(d,end1,end1off,0,color);
+ sprintf( message, "L%s A%0.3f",
+ FormatDistance(FindDistance(end0,end1)),FindAngle(end0,end1));
+
+ DrawDimLine( d, end0off, end1off, message, (wFontSize_t)descriptionFontSize, xx->descriptionOff.x+0.5, 0, color, 0x00 );
+
+ if ( !(GetTrkBits( trk ) & TB_DETAILDESC) ) return;
+
+ if ( GetTrkBits( trk ) & TB_DETAILDESC ) {
+ coOrd details_pos;
+ details_pos.x = (end1off.x - end0off.x)*(xx->descriptionOff.x+0.5) + end0off.x;
+ details_pos.y = (end1off.y - end0off.y)*(xx->descriptionOff.x+0.5) + end0off.y-(2*descriptionFontSize/mainD.dpi);
+
+ AddTrkDetails(d, trk, details_pos, FindDistance(end0,end1), color);
+ }
+
+}
+
static void DrawStraight( track_p t, drawCmd_p d, wDrawColor color )
{
+ if (((d->options&(DC_SIMPLE|DC_SEGTRACK))==0) &&
+ (labelWhen == 2 || (labelWhen == 1 && (d->options&DC_PRINT))) &&
+ labelScale >= d->scale &&
+ ( GetTrkBits( t ) & TB_HIDEDESC ) == 0 ) {
+ DrawStraightDescription( t, d, color );
+ }
+ long bridge = GetTrkBridge( t );
long widthOptions = DTS_LEFT|DTS_RIGHT;
DrawStraightTrack( d, GetTrkEndPos(t,0), GetTrkEndPos(t,1),
GetTrkEndAngle(t,0),
@@ -288,10 +347,17 @@ static void DeleteStraight( track_p t )
static BOOL_T WriteStraight( track_p t, FILE * f )
{
+ long options;
+ struct extraDataStraight_t *xx = GET_EXTRA_DATA(t, T_STRAIGHT, extraDataStraight_t);
BOOL_T rc = TRUE;
- rc &= fprintf(f, "STRAIGHT %d %d %ld 0 0 %s %d\n",
- GetTrkIndex(t), GetTrkLayer(t), (long)GetTrkWidth(t),
- GetTrkScaleName(t), GetTrkVisible(t)|(GetTrkNoTies(t)?1<<2:0)|(GetTrkBridge(t)?1<<3:0) )>0;
+
+ options = GetTrkWidth(t) & 0x0F;
+ if ( ( GetTrkBits(t) & TB_HIDEDESC ) == 0 )
+ // 0x80 means Show Description
+ options |= 0x80;
+ rc &= fprintf(f, "STRAIGHT %d %d %ld 0 0 %s %d %0.6f %0.6f\n",
+ GetTrkIndex(t), GetTrkLayer(t), options,
+ GetTrkScaleName(t), GetTrkVisible(t)|(GetTrkNoTies(t)?1<<2:0)|(GetTrkBridge(t)?1<<3:0), xx->descriptionOff.x, xx->descriptionOff.y )>0;
rc &= WriteEndPt( f, t, 0 );
rc &= WriteEndPt( f, t, 1 );
rc &= fprintf(f, "\t%s\n", END_SEGS)>0;
@@ -306,12 +372,21 @@ static BOOL_T ReadStraight( char * line )
char scale[10];
wIndex_t layer;
long options;
+ struct extraDataStraight_t *xx;
+ char * cp = NULL;
+ coOrd descriptionOff = { 0.0, 0.0 };
- if ( !GetArgs( line+8, paramVersion<3?"dXZsd":"dLl00sd", &index, &layer, &options, scale, &visible ) )
+ if ( !GetArgs( line+8, paramVersion<3?"dXZsdc":"dLl00sdc", &index, &layer, &options, scale, &visible, &cp ) )
return FALSE;
+ if (cp) {
+ if (!GetArgs(cp,"p",&descriptionOff))
+ return FALSE;
+ }
if ( !ReadSegs() )
return FALSE;
- trk = NewTrack( index, T_STRAIGHT, 0, 0 );
+ trk = NewTrack( index, T_STRAIGHT, 0, sizeof *xx );
+ xx = GET_EXTRA_DATA(trk, T_STRAIGHT, extraDataStraight_t);
+ xx->descriptionOff = descriptionOff;
SetTrkScale( trk, LookupScale(scale) );
if ( paramVersion < 3 ) {
SetTrkVisible(trk, visible!=0);
@@ -323,9 +398,11 @@ static BOOL_T ReadStraight( char * line )
SetTrkBridge(trk, visible&8);
}
SetTrkLayer(trk, layer);
- SetTrkWidth( trk, (int)(options&3) );
+ SetTrkWidth( trk, (int)(options & 0x0F) );
SetEndPts( trk, 2 );
ComputeBoundingBox( trk );
+ if ( paramVersion < VERSION_DESCRIPTION2 || ( ( options & 0x80 ) == 0 ) )
+ SetTrkBits(trk,TB_HIDEDESC);
return TRUE;
}
@@ -418,8 +495,9 @@ static BOOL_T EnumerateStraight( track_p trk )
if (trk != NULL) {
d = FindDistance( GetTrkEndPos( trk, 0 ), GetTrkEndPos( trk, 1 ) );
ScaleLengthIncrement( GetTrkScale(trk), d );
+ return TRUE;
}
- return TRUE;
+ return FALSE;
}
static BOOL_T TrimStraight( track_p trk, EPINX_T ep, DIST_T dist, coOrd endpos, ANGLE_T angle, DIST_T radius, coOrd center )
@@ -606,7 +684,7 @@ static BOOL_T GetParamsStraight( int inx, track_p trk, coOrd pos, trackParams_t
params->lineEnd = GetTrkEndPos(trk,params->ep);
params->len = FindDistance( params->lineOrig, params->lineEnd );
params->track_angle = FindAngle( params->lineOrig, params->lineEnd);
- params->angle = GetTrkEndAngle(trk,params->ep);
+ params->angle = params->track_angle;
params->arcR = 0.0;
return TRUE;
}
@@ -635,6 +713,7 @@ static BOOL_T QueryStraight( track_p trk, int query )
case Q_CORNU_CAN_MODIFY:
case Q_MODIFY_CAN_SPLIT:
case Q_CAN_EXTEND:
+ case Q_HAS_DESC:
return TRUE;
default:
return FALSE;
@@ -680,6 +759,7 @@ static BOOL_T MakeParallelStraight(
tempSegs(0).u.l.pos[0] = p0;
tempSegs(0).u.l.pos[1] = p1;
*newTrkR = MakeDrawFromSeg( zero, 0.0, &tempSegs(0) );
+ SetTrkBits( *newTrkR, TB_HIDEDESC );
}
} else {
@@ -848,13 +928,14 @@ track_p NewStraightTrack( coOrd p0, coOrd p1 )
{
track_p t;
ANGLE_T a;
- t = NewTrack( 0, T_STRAIGHT, 2, 0 );
+ t = NewTrack( 0, T_STRAIGHT, 2, sizeof (struct extraDataStraight_t) );
SetTrkScale( t, GetLayoutCurScale() );
a = FindAngle( p1, p0 );
SetTrkEndPoint( t, 0, p0, a );
SetTrkEndPoint( t, 1, p1, NormalizeAngle( a+180.0 ) );
ComputeBoundingBox( t );
CheckTrackLength( t );
+ SetTrkBits( t, TB_HIDEDESC );
return t;
}
diff --git a/app/bin/unittest/CMakeLists.txt b/app/bin/unittest/CMakeLists.txt
index 7055d0b..d4e237f 100644
--- a/app/bin/unittest/CMakeLists.txt
+++ b/app/bin/unittest/CMakeLists.txt
@@ -56,6 +56,7 @@ add_executable(catalogtest
catalogtest.c
../partcatalog.c
../paths.c
+ ../stringxtc.c
)
target_link_libraries(catalogtest
diff --git a/app/bin/unittest/testfiles/HO-Peco-Code83.xtp b/app/bin/unittest/testfiles/HO-Peco-Code83.xtp
index 09bf426..681e6f5 100644
--- a/app/bin/unittest/testfiles/HO-Peco-Code83.xtp
+++ b/app/bin/unittest/testfiles/HO-Peco-Code83.xtp
@@ -130,8 +130,10 @@ END
SUBCONTENTS Peco Code 83 HO Slip Turnouts
TURNOUT HO "Peco Code 83 #6 Double Slip Switch SL-U8363"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 12.035433 0.000000 90.000000
E 0.082528 0.993201 279.500000
diff --git a/app/bin/utf8convert.c b/app/bin/utf8convert.c
index 0573c93..977a62c 100644
--- a/app/bin/utf8convert.c
+++ b/app/bin/utf8convert.c
@@ -22,9 +22,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <string.h>
-
-#include <wlib.h>
#include "misc.h"
#include "include/utf8convert.h"
@@ -43,9 +40,9 @@ char *
Convert2UTF8( char *string )
{
if (RequiresConvToUTF8(string)) {
- unsigned cnt = strlen(string) * 2 + 2;
+ size_t cnt = strlen(string) * 2 + 2;
unsigned char *out = MyMalloc(cnt);
- wSystemToUTF8(string, out, cnt);
+ wSystemToUTF8(string, out, (unsigned int)cnt);
MyFree(string);
return(out);
} else {
@@ -65,9 +62,9 @@ void
ConvertUTF8ToSystem(unsigned char *in)
{
if (wIsUTF8(in)) {
- unsigned cnt = strlen(in) * 2 + 1;
+ size_t cnt = strlen(in) * 2 + 2;
unsigned char *out = MyMalloc(cnt);
- wUTF8ToSystem(in, out, cnt);
+ wUTF8ToSystem(in, out, (unsigned int)cnt);
strcpy(in, out);
MyFree(out);
}
diff --git a/app/bin/utility.c b/app/bin/utility.c
index 93f9979..93e2ff4 100644
--- a/app/bin/utility.c
+++ b/app/bin/utility.c
@@ -20,13 +20,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdlib.h>
-#include <stdio.h>
-#ifndef WINDOWS
-#include <unistd.h>
-#endif
-#include <math.h>
-#include "common.h"
#include "utility.h"
/*****************************************************************************
@@ -66,6 +59,14 @@ double min( double a, double b )
+int CoOrdEqual(coOrd p0, coOrd p1)
+{
+ double d = fabs(p1.x - p0.x) + fabs(p1.y - p0.y);
+ return (d < EPSILON);
+}
+
+
+
double FindDistance( coOrd p0, coOrd p1 )
{
double dx = p1.x-p0.x, dy = p1.y-p0.y;
@@ -78,7 +79,6 @@ double NormalizeAngle( double a )
{
while (a<0.0) a += 360.0;
while (a>=360.0) a -= 360.0;
- if ( a > 360.0-EPSILON ) a = 0.0;
return a;
}
@@ -155,14 +155,9 @@ void Translate( coOrd *res, coOrd orig, double a, double d )
double FindAngle( coOrd p0, coOrd p1 )
{
double dx = p1.x-p0.x, dy = p1.y-p0.y;
- if (small(dx)) {
- if (dy >=0) return 0.0;
- else return 180.0;
- }
- if (small(dy)) {
- if (dx >=0) return 90.0;
- else return 270.0;
- }
+ if ( dx == 0.0 && dy == 0.0 )
+ // Avoid implementation defined behavior
+ return 0.0;
return R2D(atan2( dx,dy ));
}
@@ -245,85 +240,44 @@ BOOL_T FindArcIntersections ( coOrd *Pc, coOrd *Pc2, coOrd center1, DIST_T radiu
}
/*
- * Find Intersections between a line and a circle
- *
- * |c-x|^2 = r^2
- *
- * 𝑥(𝑡)=𝑎+𝑡𝑏
- *
- * where 𝑎 is a point and 𝑏 is a vector.
- *
- * For a point on this line to satisfy the equation, you need to have
- *
- * (𝑡𝑏+(𝑎−𝑐))⋅(𝑡𝑏+(𝑎−𝑐))=𝑟^2
- *
- * which is a quadratic in 𝑡:
- * |b|^2*t^2 + 2(a-c).bt +(|a-c|^2-r^2) = 0
- *
- * whose solutions are
- *
- * t = (-2(a-c).b +/- SQRT([2(a-c).b]^2 - 4|b|^2(|a-c|^2-r^2)) / 2|b|^2
+ * Find Intersection between arc and line.
+ * First - move arc/circle and line so circle is at origin
+ * Then find nearest point on line to origin
+ * If nearest point is > radius -> no intersect
+ * If nearest point is == radius -> one point (the nearest)
+ * If nearest point is < radius -> two points
+ * Find two intersect points on secant by triangle formed between middle, center and arc point
*
*/
-
-double VectorLength (coOrd v) {
- return sqrt(v.x*v.x+v.y+v.y);
-}
-double VectorDot (coOrd v1, coOrd v2) {
- return (v1.x*v2.x+ v1.y*v2.y);
-}
-coOrd VectorSubtract (coOrd v1, coOrd v2) {
- coOrd result;
- result.x = v1.x-v2.x;
- result.y = v1.y-v2.y;
- return result;
-}
-coOrd VectorAdd (coOrd v1, coOrd v2) {
- coOrd result;
- result.x = v1.x+v2.x;
- result.y = v1.y+v2.y;
- return result;
-}
-
BOOL_T FindArcAndLineIntersections(coOrd *intersection1, coOrd *intersection2, coOrd c, DIST_T radius,
coOrd point1, coOrd point2 )
{
- double dx, dy, cx, cy, A, B, C, det, t;
- dx = point2.x - point1.x;
- dy = point2.y - point1.y;
+ double la, lb, lc; //Line equation
- cx = c.x;
- cy = c.y;
+ la = point1.y - point2.y;
+ lb = point2.x - point1.x;
+ lc = (point1.x-c.x)*(point2.y-c.y) - (point2.x-c.x)*(point1.y-c.y); //Move by c(x,y)
- A = dx * dx + dy * dy;
- B = 2 * (dx * (point1.x - cx) + dy * (point1.x - cy));
- C = (point1.x - cx) * (point1.x - cx) + (point1.y - cy) * (point1.y - cy) - radius * radius;
+ double x0 = -la*lc/(la*la+lb*lb), y0 = -lb*lc/(la*la+lb*lb);
- det = B * B - 4 * A * C;
- if ((A <= 0.0000001) || (det < 0))
- {
+ double dis = radius*radius*(la*la+lb*lb);
+
+ if (lc*lc > dis) {
return FALSE;
- }
- else if (det == 0)
- {
- // One solution.
- t = -B / (2 * A);
- (*intersection1).x = point1.x + t * dx;
- (*intersection1).y = point1.y + t * dy;
- intersection2 = intersection1;
- return TRUE;
- }
- else
- {
- // Two solutions.
- t = (float)((-B + sqrt(det)) / (2 * A));
- (*intersection1).x = point1.x + t * dx;
- (*intersection1).y = point1.y + t * dy;
- t = (float)((-B - sqrt(det)) / (2 * A));
- (*intersection2).x = point1.x + t * dx;
- (*intersection2).y = point1.y + t * dy;
- return TRUE;
+ } else if (fabs(lc*lc - dis) < EPSILON) {
+ (*intersection1).x = x0+c.x;
+ (*intersection1).y = y0+c.y;
+ *intersection2 = *intersection1;
+ return TRUE;
+ } else {
+ double d = radius*radius - lc*lc/(la*la+lb*lb);
+ double mult = sqrt(d/(la*la+lb*lb));
+ (*intersection1).x = x0+lb*mult+c.x;
+ (*intersection2).x = x0-lb*mult+c.x;
+ (*intersection1).y = y0-la*mult+c.y;
+ (*intersection2).y = y0+la*mult+c.y;
+ return TRUE;
}
}
@@ -526,6 +480,14 @@ double CircleDistance( coOrd *p, coOrd c, double r, double a0, double a1 )
+coOrd MidPtCoOrd(coOrd p0, coOrd p1)
+{
+ coOrd res;
+ res.x = (p0.x + p1.x) / 2.0;
+ res.y = (p0.y + p1.y) / 2.0;
+ return res;
+}
+
coOrd AddCoOrd( coOrd p0, coOrd p1, double a )
{
coOrd res, zero;
@@ -665,7 +627,7 @@ BOOL_T ClipLine( coOrd *fp0, coOrd *fp1, coOrd orig, double angle, coOrd size )
}
/* both points without box and cannot intersect */
- if ( (x0==x1 && y0==y1) || /* within same sector (but not the middle one) */
+ if ( (x0==x1 && y0==y1 && x0!=0 && y0!=0) || /* within same sector (but not the middle one) */
(x0!=0 && x0==x1) || /* both right or left */
(y0!=0 && y0==y1) ) /* both above or below */
return 0;
diff --git a/app/bin/utility.h b/app/bin/utility.h
index fad74be..3686ae8 100644
--- a/app/bin/utility.h
+++ b/app/bin/utility.h
@@ -44,6 +44,7 @@ double max( double a, double b );
double min( double a, double b );
#endif
double FindDistance( coOrd p0, coOrd p1 );
+int CoOrdEqual(coOrd p0, coOrd p1);
double NormalizeAngle( double a );
double DifferenceBetweenAngles(double a, double b);
int AngleInRange(double a, double start, double size);
@@ -63,6 +64,7 @@ double LineDistance( coOrd *p, coOrd p0, coOrd p1 );
double CircleDistance( coOrd *p, coOrd c, double r, double a0, double a1 );
int PickArcEndPt( coOrd, coOrd, coOrd );
int PickLineEndPt( coOrd, double, coOrd );
+coOrd MidPtCoOrd(coOrd, coOrd);
coOrd AddCoOrd( coOrd, coOrd, double );
int ClipLine( coOrd *, coOrd *, coOrd, double, coOrd );
coOrd FindCentroid(int vertexCount, pts_t vertices[] );
diff --git a/app/bin/validator.c b/app/bin/validator.c
index c415471..bd481a5 100644
--- a/app/bin/validator.c
+++ b/app/bin/validator.c
@@ -20,7 +20,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdbool.h>
#include "validator.h"
/**
diff --git a/app/cornu/bezctx_xtrkcad.c b/app/cornu/bezctx_xtrkcad.c
index f30e1c2..778e7dd 100644
--- a/app/cornu/bezctx_xtrkcad.c
+++ b/app/cornu/bezctx_xtrkcad.c
@@ -26,6 +26,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
#include "bezctx.h"
#include "bezctx_xtrkcad.h"
#include "track.h"
+#include "draw.h"
#include "tbezier.h"
#include "i18n.h"
#include "math.h"
diff --git a/app/doc/addm.but b/app/doc/addm.but
index f2caf26..3ab07ec 100644
--- a/app/doc/addm.but
+++ b/app/doc/addm.but
@@ -16,91 +16,107 @@
The \f{Add Menu} has all the actions related to adding track pieces to the layout.
-\dd \f{Circle Track} - place a circle of track by selecting radius, tangent and or center (\K{cmdCircle}).
+\dd \i\f{Straight Track} \c{Ctrl+G} - lay straight track pieces of arbitrary lengths
\u000
-\dd \f{Curved Track} - lay curved track pieces using different modes for selecting start and endpoints and radius (\K{cmdCurve}).
+\dd \i\f{Curve Track} - lay curved track pieces using different modes for selecting start and endpoints and radius (\K{cmdCurve}).
+
+\dd \G{png.d/maddcurve.png}
\u000
-\dd \f{Hand-laid Turnout} - lay a turnout in place on the layout. (\K{cmdHandLaidTurnout})
+\dd \i\f{Circle Track} \I{Track, Circle} - place a circle of track by selecting radius, tangent and or center (\K{cmdCircle}).
+
+\dd \G{png.d/maddcircle.png}
\u000
-\dd \f{Helix} - Add a helix. (\K{cmdHelix})
+\dd \i\f{Parallel} - \I{Parallel Track} \I{Track, Parallel} \I{Parallel Line} \I{Line, Parallel}
+create parallel track or line to existing flex-track, straight or curved track. (\K{cmdParallel})
+
+\dd \G{png.d/maddparallel.png}
\u000
-\dd \f{Parallel} - create parallel track or line to existing flex-track, straight or curved track. (\K{cmdParallel})
+\dd \i\f{Predefined Track} \I{Track, Predefined} \c{Ctrl+T} - select a turnout or a piece of fixed track and place on layout.
\u000
-\dd \f{Straight Track} - lay straight track pieces of arbitrary lengths
+\dd \i\f{Hand-laid Turnout} \I{Turnout, Hand-laid} \c{Ctrl+Shift+I} - lay a turnout in place on the layout. (\K{cmdHandLaidTurnout})
\u000
-\dd \f{Structure} - Add a predefined structure to the layout.
+\dd \i\f{Structure} \c{Ctrl+Shift+C} - Add a predefined structure to the layout.
\u000
-\dd \f{Predefined Track} - select a turnout or a piece of fixed track and place on layout.
+\dd \i\f{Helix} \c{Ctrl+Shift+H} - Add a helix. (\K{cmdHelix})
\u000
-\dd \f{Custom Turntable} - Place a turntable. (\K{cmdTurntable})
+\dd \i\f{Custom Turntable} \I{Turntable, Custom} \c{Ctrl+Shift+N} - Place a turntable. (\K{cmdTurntable})
\u000
-\dd \f{Block} - Create a block. (\K{cmdBlock})
+\dd \i\f{Control Element} - Create a control element.
\u000
-\dd \f{Switchmotor} - Create a switchmotor. (\K{cmdSwitchmotor})
+\dd \i\f{Block} \I{Control Element, Block} - Create a block. (\K{cmdBlock})
\u000
-\dd \f{Signal} - Create a signal. (\K{cmdSignal})
+\dd \i\f{Switchmotor} \I{Control Element, Switchmotor} - Create a switchmotor. (\K{cmdSwitchmotor})
\u000
-\dd \f{Control} - Create a control. (\K{cmdControl})
+\dd \i\f{Signal} \I{Control Element, Signal} - Create a signal. (\K{cmdSignal})
\u000
-\dd \f{Sensor} - Create a sensor. (\K{cmdSensor})
+\dd \i\f{Control} \I{Control Element, Control} - Create a control. (\K{cmdControl})
+
+\u000
+
+\dd \i\f{Sensor} \I{Control Element, Sensor} - Create a sensor. (\K{cmdSensor})
+
+\rule
\S{cmdCircle} Circle Track
-\G{png.d/bcircle.png}
+\G{png.d/maddcircle.png}
-A circle track is a special form of a curved track that extends 360\u00B0 and has no endpoints. The three methods (with their Shortcut keys) used to create a Circle Track are:
+A circle track \I{Circle Track} \I{Track, Circle} is a special form of a curved track that extends 360\u00B0 and has no endpoints.
+The drop down menu, which allows selection of the Circle Track creation method, is invoked from the down arrow button located on the right side the Circle track button.
-\u000
+\dd \G{png.d/bcircle.png}
-\dd (\K{cmdCircleFixedRadius}). Use the Fixed Radius specified on the \e{Circle Radius} control displayed on the Status Bar (\K{mainW}).
-\c{Left-Drag} the Circle track into position.
+\dd \G{png.d/bmcircle.png}
-\u000
+\dd \e{Circle Track Button Menu}
-\dd (\K{cmdCircleTangent}). \c{Left-Drag} from tangent point (Edge) of the Circle track to the Center.
+The three methods (with their Icons and Shortcut keys) used to create a Circle Track are:
\u000
-\dd (\K{cmdCircleCenter}). \c{Left-Drag} from the Center of the Circle track to the edge.
+\dd \G{png.d/bcircl1.png} (\K{cmdCircleFixedRadius}) \c{Control+8} - Use the Fixed Radius specified on the \i\e{Circle Radius}
+control displayed on the Status Bar (\K{mainW}). \c{Left-Drag} the Circle track into position.
\u000
-A drop down menu, which allows selection of the Circle Track creation method, is invoked from the down arrow button (\G{png.d/bmenu.png}) located on the right side the Circle track button.
-Dependent upon previous selection, the Circle Track button will look like \G{png.d/bcircl1.png}, \G{png.d/bcircl2.png} or \G{png.d/bcircl3.png}.
+\dd \G{png.d/bcircl2.png} (\K{cmdCircleTangent}) \c{Control+9} - \c{Left-Drag} from tangent point (Edge) of the Circle track to the Center.
-\dd \G{png.d/bmcircle.png}
+\u000
-\dd \e{Circle Track Button Menu}
+\dd \G{png.d/bcircl3.png} (\K{cmdCircleCenter}) \c{Control+0} - \c{Left-Drag} from the Center of the Circle track to the edge.
+
+\u000
If Snap Grid (\K{cmdGrid}) is enabled then circle centers will be constrained to the grid.
-Circle tracks are useful for fitting curves into corners and other tight places. They're also handy when establishing an initial layout and finding out "what will fit".
+Circle tracks are useful for fitting curves into corners and other tight places. They're also handy when establishing an
+initial layout and finding out "what will fit".
You can join to and from circles, after which they become curved tracks.
@@ -110,8 +126,8 @@ You can join to and from circles, after which they become curved tracks.
\G{png.d/bcircl1.png}
-(\c{Control-8}) Use the Fixed Radius specified on the \e{Circle Radius} control displayed on the Status Bar (\K{mainW}).
-\c{Left-Drag} the Circle track into position.
+(\c{Ctrl+8}) Use the Fixed Radius specified on the \i\e{Circle Radius} control displayed on the Status Bar (\K{mainW}).
+\c{Left-Drag} the Circle track into position.
\rule
@@ -119,7 +135,7 @@ You can join to and from circles, after which they become curved tracks.
\G{png.d/bcircl2.png}
-(\c{Control-9}) \c{Left-Drag} from tangent point (Edge) of the Circle track to the Center.
+(\c{Ctrl+9}) \c{Left-Drag} from tangent point (Edge) of the Circle track to the Center.
\rule
@@ -127,142 +143,164 @@ You can join to and from circles, after which they become curved tracks.
\G{png.d/bcircl3.png}
-(\c{Control-0}) \c{Left-Drag} from the Center of the Circle track to the edge.
+(\c{Ctrl+0}) \c{Left-Drag} from the Center of the Circle track to the edge.
\rule
\S{cmdCurve} Curved Track
-\G{png.d/bcurve.png}
+\G{png.d/maddcurve.png}
+
+Creating a curve is a two step operation. You will select a point and then \c{Left-Drag} to specify the control point depending on the drawing method.
-Creating a curve is a two step operation.
+A drop-down menu, which allows selection of the Curved Track creation method, is invoked from the down arrow button
+located on the right side the Curved track button.
-The five methods (with their Shortcut keys) used to create a Curved Track are:
+\dd \G{png.d/bcurve.png}
+
+\dd \G{png.d/bmcurved.png}
+
+\dd \e{Curved Track Button Menu}
+
+The six methods (with their Shortcut keys) used to create a Curved Track are:
\dd
-\dd \K{cmdCurveEndPt}. Drag out the end and then set its radius by dragging the endpoint.
+\dd \G{png.d/bcurve1.png} \K{cmdCurveEndPt} \c{Control+4} - \I{End Point, Curved Track} \I{Curved Track, End Point}
+Drag out the end and then set its radius by dragging the endpoint.
\u000
-\dd \K{cmdCurveTangent}. Drag from the an endpoint to the center and then drag the second enpoint around that center.
+\dd \G{png.d/bcurve2.png} \K{cmdCurveTangent} \c{Control+5} - \I{Tangent, Curved Track} \I{Curved Track, Tangent}
+Drag from the an endpoint to the center and then drag the second enpoint around that center.
\u000
-\dd \K{cmdCurveCenter}. Drag from the Center of the Curved track to one of the endpoints. Position the second endpoint around the center.
+\dd \G{png.d/bcurve3.png} \K{cmdCurveCenter} \c{Control+6} - \I{Center, Curved Track} \I{Curved Track, Center}
+Drag from the Center of the Curved track to one of the endpoints. Position the second endpoint around the center.
\u000
-\dd \K{cmdCurveChord}. Drag from one endpoint to the other endpoint to form the Chord of the Curve. Drag the arc out to form the Curve.
+\dd \G{png.d/bcurve4.png} \K{cmdCurveChord} \c{Control+7} - \I{Chord, Curved Track} \I{Curved Track, Chord}
+Drag from one endpoint to the other endpoint to form the Chord of the Curve. Drag the arc out to form the Curve.
\u000
-\dd \K{cmdBezier}. Construct a Bezier by placing its four control points.
+\dd \G{png.d/bezier.png} \K{cmdBezier} - Construct a \i{Bezier Track} \I{Track, Bezier} by placing its four control points.
\u000
-A drop-down menu, which allows selection of the Curved Track creation method, is invoked from the down arrow button (\G{png.d/bmenu.png}) located on the right side the Curved track button. Dependent upon previous selection, the Curved Track button will look like \G{png.d/bcurve1.png}, \G{png.d/bcurve2.png}, \G{png.d/bcurve3.png}, \G{png.d/bcurve4.png}, \G{png.d/bezier.png} or \G{png.d/bcornu.png}.
+\dd \G{png.d/bcornu.png} \K{cmdCornu} - Construct a \i{Cornu Track} \I{Track, Cornu} curve by selecting the end points and dragging to set the curve values.
-\dd \G{png.d/bmcurved.png}
+\u000
-\dd \e{Curved Track Button Menu}
+For the first four curve mthods, two Red arrow heads will be drawn after the first step to indicate where you can \c{Left-Drag} to complete the second step.
-For all but the Bezier Curve, two Red arrow heads will be drawn after the first step to indicate where you can \c{Left-Drag} to complete the second step.
+A straight track will be created if the second endpoint is lined up with the first endpoint except for Bezier and Cornu tracks.
-A straight track will be created if the second endpoint is lined up with the first endpoint except for Bezier tracks.
+The radius of the curve is designed to be in 1/8" increments unless the \e{desired radius} field is set non-zero and the radius drawn is close to that value, in which case the radius will snap to that value.
If the Snap Grid (\K{cmdGrid}) is enabled then the endpoints will be constrained to the grid if they are not snapped to another object. \c{Shift} ensures that other objects will be ignored.
Optionally, the curve center point and radius can be displayed for the Curve. This is enabled by the Move Label (\K{cmdMoveLabel}) command.
-
-For Beziers, the active control point will be drawn in red and the available endpoints are shown with circles.
+For Beziers and Cornus, the active control point will be drawn in red and the available endpoints are shown with circles.
-\f{Note:} You can also create Straight and Curved tracks using \k{cmdModify} by \c{Left-Drag}ing out extra track from an open end-point.
+\f{Note:} You can also create Straight and Curved tracks using \k{cmdModify} by \c{Left-Drag}ging out extra track from an open end-point.
\rule
\S2{cmdCurveEndPt} Curved Track from End Point
-\G{png.d/bcurve1.png}
+\G{png.d/bcurve1.png}
+
+(\c{Ctrl+4}) Drag from one endpoint in the direction of the Curve at that point and release. \c{Left-Drag} the red arrows to position the second endpoint.
-(\c{Control-4}) Drag from one endpoint in the direction of the Curve at that point and release. \c{Left-Drag} the red arrows to position the second endpoint.
+While the first endpoint is being placed, and \f{MagneticSnap} (\K{cmdMagneticSnap}) is enabled, unless \e{Alt} is held,
+if the cursor is on a track, the new curve end will "Snap" to the nearest open track endpoint and you will drag out the second end in aligned to that track,
+once you are dragging the second end it will be restricted to an arc that has the same end angle as the first endpoint.
+After a track is competed, the new track will be connected to this first track.
+This will also happen with \f{MagneticSnap} set off - if \e{Alt} is held.
-While the first endpoint is being placed, and \f{MagneticSnap} is enabled, unless \e{Alt} is held, if the cursor is on a track, the new curve end will "Snap" to the nearest open track endpoint and you will drag out the second end in aligned to that track, once you are dragging the second end it will be restricted to an arc that has the same end angle as the first endpoint. After a track is competed, the new track will be connected to this first track.
-This will also happen with \f{MagneticSnap} if \e{Alt} is held.
+If Magnetic Snap does not find a end, if \f{SnapGrid} is enabled, the ends will snap to the nearest grid point unless \f{Alt} is held.
\rule
\S2{cmdCurveTangent} Curved track from Tangent
-\G{png.d/bcurve2.png}
+\G{png.d/bcurve2.png}
-(\c{Control-5}) Drag from one of the endpoints (which will behave like the first point in "CurvedTrack From End" to the Center of the Curved track and release.
+(\c{Ctrl+5}) Drag from one of the endpoints (which will behave like the first point in "CurvedTrack From End" to the Center of the Curved track and release.
\c{Left-Drag} on the arrows to position the second endpoint.
-While the endpoints are being placed, if \f{MagneticSnap} is enabled, unless \c{Alt} is held down, they will "Snap" to an open track endpoint of the tracks underneath the cursor and you can only drag out the control point aligned to the end of those tracks.
+While the endpoints are being placed, if \f{MagneticSnap} (\K{cmdMagneticSnap}) is enabled, unless \c{Alt} is held down, they will "Snap" to an open track endpoint of the tracks underneath the cursor and you can only drag out the control point aligned to the end of those tracks.
After the new track is completed, it will be connected to these existing track.
If \f{MagneticSnap} is disabled, the snap will only happen if \e{Alt} is held.
+If Magnetic Snap does not find a end, if \f{SnapGrid} is enabled, the end will snap to the nearest grid point unless \f{Alt} is held.
\rule
\S2{cmdCurveCenter} Curved Track From Center
-\G{png.d/bcurve3.png}
+\G{png.d/bcurve3.png}
-(\c{Control-6}) Drag from the Center of the Curved track to one of the endpoints and release. \c{Left-Drag} to position the second endpoint.
+(\c{Ctrl+6}) Drag from the Center of the Curved track to one of the endpoints and release. \c{Left-Drag} to position the second endpoint.
-While the endpoints are being placed, if \f{MagneticSnap} is enabled, unless \c{Alt} is held down, they will "Snap" to an open track endpoint of the tracks underneath the cursor and you can only drag out the control point aligned to the end of those tracks.
+While the endpoints are being placed, if \f{MagneticSnap} (\K{cmdMagneticSnap}) is enabled, unless \c{Alt} is held down, they will "Snap" to an open track endpoint of the tracks underneath the cursor and you can only drag out the control point aligned to the end of those tracks.
After the new track is completed, it will be connected to these existing track.
If \f{MagneticSnap} is disabled, the snap will only happen if \e{Alt} is held.
+If Magnetic Snap does not find a end, if \f{SnapGrid} is enabled, the end will snap to the nearest grid point unless \f{Alt} is held.
\rule
-\S2{cmdCurveChord} Curved Track from Chord
+\S2{cmdCurveChord} Curved Track from Chord
-\G{png.d/bcurve4.png} (\c{Control-7}) Drag from one endpoint to the other endpoint to form the Chord of the Curve and release. \c{Left-Click} on the center of the track and Drag to form the Curve.
+\G{png.d/bcurve4.png} (\c{Ctrl+7}) Drag from one endpoint to the other endpoint to form the Chord of the Curve and release. \c{Left-Click} on the center of the track and Drag to form the Curve.
The first end point acts like "CurvedTrack From End". If an exitsing track end is selected, the Chord will only move along line orthogonal to the track.
-While the endpoints are being placed, if \f{MagneticSnap} is enabled, unless \c{Alt} is held down, they will "Snap" to an open track endpoint of the tracks underneath the cursor and you can only drag out the control point aligned to the end of those tracks.
+While the endpoints are being placed, if \f{MagneticSnap} (\K{cmdMagneticSnap}) is enabled, unless \c{Alt} is held down, they will "Snap" to an open track endpoint of the tracks underneath the cursor and you can only drag out the control point aligned to the end of those tracks.
After the new track is completed, it will be connected to these existing track.
If \f{MagneticSnap} is disabled, the snap will only happen if \e{Alt} is held.
+If Magnetic Snap does not find a end, if \f{SnapGrid} is enabled, the end will snap to the nearest grid point unless \f{Alt} is held.
\rule
\S2{cmdBezier} Curved Bezier Track
-\G{png.d/bezier.png}
+\G{png.d/bezier.png}
-\c{Left-Click} to place one endpoint and \c{Left-Drag} out the first control point and release, \c{Left-Click} to place the second Endpoint and \c{Left-Drag} out the second control point and release.
-Once all 4 points are placed, you can pick one at a time and drag it to move it.
+\c{Left-Click} to place one endpoint and \c{Left-Drag} out the first control point and release, \c{Left-Click} to place the second Endpoint and \c{Left-Drag} out the second control point and release.
+Once all 4 points are placed, you can pick one at a time and drag it to move it.
Complete the Curve by pressing \c{Enter|, or Reject it with c\{Esc}.
-While the endpoints are being placed, if \f{MagneticSnap} is enabled, unless \c{Alt} is held down, they will "Snap" to an open track endpoint of the tracks underneath the cursor and you can only drag out the control point aligned to the end of those tracks.
+While the endpoints are being placed, if \f{MagneticSnap} (\K{cmdMagneticSnap}) is enabled, unless \c{Alt} is held down, they will "Snap" to an open track endpoint of the tracks underneath the cursor and you can only drag out the control point aligned to the end of those tracks.
After the new track is completed, it will be connected to these existing track.
If \f{MagneticSnap} is disabled, the snap will only happen if \e{Alt} is held.
+If Magnetic Snap does not find a end, if \f{SnapGrid} is enabled, the end will snap to the nearest grid point unless \f{Alt} is held.
\rule
-\S{cmdCornu} Create Cornu Track
+\S2{cmdCornu} Create Cornu Track
\dd \G{png.d/bcornu.png} \c{Left-Click} to place each endpoint on an open track end or just on the layout.
-During the move to the click, if \f{MagneticSnap} is enabled, an anchor will show when the cursor is near an open end point. This can be inhibited with \e{Alt}.
+During the move to the click, if \f{MagneticSnap} (\K{cmdMagneticSnap}) is enabled, an anchor will show when the cursor is near an open end point. This can be inhibited with \e{Alt}.
If \f{MagneticSnap} is disabled this will only happen if \e{Alt} is held.
+If Magnetic Snap does not find a end, if \f{SnapGrid} is enabled, the end will snap to the nearest grid point unless \f{Alt} is held.
-\c{Left-Drag} if the endpoint not on an existing track drags out the end angle of the new track. This is shown by the Cornu endanchor.
+\c{Left-Drag} if the endpoint not on an existing track drags out the end angle of the new track. This is shown by the Cornu endanchor.
\G{png.d/cornuendanchor.png}
-The anchor is only drawn for Cornu ends that are not joined to existing tracks and it shows the position, direction and radius of the track, and has anchors for altering these properties.
-When the Cornu is joined to a track, it uses the properties of the end of that track instead.
+The anchor is only drawn for Cornu ends that are not joined to existing tracks and it shows the position, direction and radius of the track, and has anchors for altering these properties.
+When the Cornu is joined to a track, it uses the properties of the end of that track instead.
Anchor point handles are drawn outside the end of the Cornu track to allow track-pins to be edited on the track itself.
-\c{Left-Click} to place the second Endpoint either on a track endpoint or not. \c{Left-Drag} sets the second end angle like the first for unconnected end-points.
+\c{Left-Click} to place the second Endpoint either on a track endpoint or not. \c{Left-Drag} sets the second end angle like the first for unconnected end-points.
Complete the Curve by pressing \c{Enter}, or Reject it with \c{Esc}.
The radius and angle of the selected open Cornu end can also be set with text entry boxes in the Status Bar.
-When either endpoint is being moved it will "Snap" to an open track endpoint of the tracks underneath the cursor unless \c{Shift} is held.
+When either endpoint is being moved it will "Snap" to an open track endpoint of the tracks underneath the cursor unless \c{Shift} is held.
You can then only move the endpoint along that track if it is splitable, or in an extension of it. After the new track is completed, it will be connected to these existing tracks.
Cornu Track Pins are further explained in \K{joinCornu} - they constrain the Cornu curve to smoothly pass through thier position as well as satisfying the end conditions. You can place them by clicking on the Cornu and select, \e{Drag} to move them around or hit \e{Delete} to remove them.
@@ -311,6 +349,8 @@ In the case where different parameters could be affected (for instance changing
Changing \e{Vertical Separation} affects \e{Turns} which must be an integer value (no fractions), and this in turn affects the \e{Vertical Separation}. When you set \e{Vertical Separation} you are specifying the minimum separation which is adjusted upwards to the actual value.
+The separation is rail-head to rail-head and you need to ensure this is enough to provide clearance when track, sleepers, ballast, baseboard/benchwork is included.
+
Note: only the \e{Radius} and \e{Turns} are used when creating the helix. After joining the helix to other tracks, you will want to establish the heights of the endpoints at each end of the helix. You can use the Elevation (\K{cmdElevation}) command to do this.
A helix is placed the same way as a Circle Track (\K{cmdCircle}) with the addition that you specify the number of turns as well the as the radius of the helix. Then the helix is dragged into position on the layout.
@@ -321,15 +361,15 @@ A label for the helix is drawn at it's the center. If the elevations are set (e
\rule
+\dd \G{png.d/maddparallel.png}
+
\S{cmdParallel} Parallel Track or Line
You can pick between two Parallel Commands:
-\dd
-
\u000
-\dd \K{cmdParallelTrack}. You can create a new track parallel to any straight, curved, bezier, cornu or easement track.
+\dd \K{cmdParallelTrack}. You can create a new track parallel to any straight, curved, bezier, cornu or easement track.
\u000
@@ -339,14 +379,14 @@ You can pick between two Parallel Commands:
\S2{cmdParallelTrack} Parallel Track
-\G{png.d/bparallel.png}
+\G{png.d/bparallel.png}
Select the Track you want to parallel with \c{Left-Click}, and the new parallel track will appear beside it. You control which side the new track will be on by \c{Left-Drag}ging the cursor from one side to the other of the selected track before releasing it.
\G{png.d/statusbarparallel.png}
The \f{Parallel Separation} control (Visible in the Status Bar) displays the intended separation between parallel tracks/line. This value can be changed before selecting a track. The value must be greater than 0.0 if the gauges are equal.
-
+
\b If the gauges are equal, a value of 0.0 means that the rail of the second track is overlaid on the first to simulate dual guage track. The railside that the new track "shares" is set by which side of center the cursor is on when released.
The new track will have NoTies set on.
@@ -360,7 +400,7 @@ This command is very useful for creating sidings and yards as well as dual track
\b No parallel to a turnouts or a non-straight piece of sectional track is created.
-\b It is possible to create tracks that abut (the endpoints are very close and aligned).
+\b It is possible to create tracks that abut (the endpoints are very close and aligned).
These endpoints will be automatically connected.
\rule
@@ -494,12 +534,12 @@ could be code snippets or I/O device address information, etc.
\G{png.d/bsignal.png}
-A signal is created by selecting \f{Create Signal} from either the Add menu \K{cmdAdd} or
-from the hotbar. Use the mouse to select a location (left button) and then
-draging (left button down) the signal to set its orientation. Once the left
-button is released, a Create/Edit Signal dialog box is displayed, and you can
-fill in the signal's properties: name, fine tune the location and orientation,
-number of heads, and the aspects.
+A signal is created by selecting \f{Create Signal} from either the Add menu
+\K{cmdAdd} or from the hotbar. Use the mouse to select a location (left button)
+and then dragging (left button down) the signal to set its orientation. Once
+the left button is released, a Create/Edit Signal dialog box is displayed, and
+you can fill in the signal's properties: name, fine tune the location and
+orientation, number of heads, and the aspects.
\G{png.d/signal.png}
diff --git a/app/doc/changem.but b/app/doc/changem.but
index 97238fb..0e1fc8a 100644
--- a/app/doc/changem.but
+++ b/app/doc/changem.but
@@ -12,85 +12,90 @@
The \f{Change Menu} has all functions related to modifying objects that exist on the layout drawing.
-\dd \f{Change Scale} - change model scale and / or gauge of layout design. (\K{cmdRescale})
+\dd \i\f{Properties} - sets \e{XTrackCAD} into \e{Describe} mode. Whenever an object is clicked on while in this mode, the \f{Properties} dialog is opened. This dialog allows direct manipulation of settings such as the objects length, position or orientation. (\K{cmdDescribe}).
\u000
-\dd \f{Clear Elevations} - remove elevation parameters from selected track(s).
+\dd \i\f{Select} - sets \e{XTrackCAD} into \e{Select} mode. Whenever an object is clicked on while in this mode, this selection state of this object is reversed. If an object was unselected it becomes selected, and vice versa. To unselect all objects press the ESC key, use \f{Deselect All} from the \f{Edit} (\K{editM}) menu or \f{Deselect All} from the \f{Pop-up} menu (\K{mouseBcmd}). (\K{cmdSelect}).
-\u000
+\rule
-\dd \f{Connect Two Tracks} - creates a connection between track pieces with an option to slightly move the select piece(s) and the pieces they connect to. (\K{cmdConnect}).
+\dd \i\f{Move} - move selected object(s). (\K{cmdMove}).
\u000
-\dd \f{Convert Tracks} - chnages fixed tracks (Straight, Curve, Joint, Bezier) into a Smooth Cornu or vice versa. (\K{cmdConvert}).
+\dd \i\f{Rotate} - rotate selected object(s). (\K{cmdRotate}).
\u000
-\dd \f{Elevation} - define an elevation at specified track location (\K{cmdElevation}).
+\dd \i\f{Flip} - turn selected object(s) over or around. (\K{cmdFlip}).
\u000
-\dd \f{Flip} - turn selected object(s) over or around. (\K{cmdFlip}).
+\dd \i\f{Loosen Tracks} \I{Track, Loosen} - this command reverses the effect of Connect Two Tracks as applied to sectional track.
\u000
-\dd \f{Join} - connect two separate pieces of track. This command can be used to move one of the pieces of track to the endpoint of the other or to create a connection by laying a stretch of flex-track. (\K{cmdJoin}).
+\dd \i\f{Modify} - modify an existing track, or lines. (\K{cmdModify}).
\u000
-\dd \f{Modify} - modify an existing track, or lines. (\K{cmdModify}).
+\dd \G{png.d/mjoin.png}
+
+\dd \f{Join} \I{Join Lines} \I{Join Track} \I{Track, Join} - connect two separate pieces of track or two lines. This command can be used to move one of the pieces of track to the endpoint of the other or to create a connection by laying a stretch of flex-track. (\K{cmdJoin}).
\u000
-\dd \f{Move} - move selected object(s). (\K{cmdMove}).
+\dd \i\f{Connect Two Tracks} \I{Track, Connect} - creates a connection between track pieces with an option to slightly move the select piece(s) and the pieces they connect to. (\K{cmdConnect}).
\u000
-\dd \f{Move Description} - move the endpoint description of a track piece to another location. (\K{cmdMoveLabel}).
+\dd \G{png.d/msplit.png}
-\u000
+\dd \i\f{Split} - the \f{Split} commands are used to divide up tracks (\K{cmdSplitTrack}) or split draw objects (\K{cmdSplitDraw}) or use a second Object to Trim (\K{cmdTrimDraw}).
+The (\K{cmdSplitTrack}) command can be used in one of two ways;
-\dd \f{Pan/Zoom} - move or resize the viewport using the mouse.
+\lcont{
\u000
-\dd \f{Profile} - display the elevation profile of a definable stretch of track (\K{cmdProfile}).
+\b split a section of flex-track into two connected pieces at the point where a \e{Left-Click} is invoked or;
-\u000
+\b disconnect turnouts or sectional track pieces at their point of connection.
-\dd \f{Properties} - sets \e{XTrackCAD} into \e{Describe} mode. Whenever an object is clicked on while in this mode, the \f{Properties} dialog is opened. This dialog allows direct manipulation of settings such as the objects length, position or orientation. (\K{cmdDescribe}).
+}
-\u000
+\dd \i\f{Move Description} - move the endpoint description of a track piece to another location. (\K{cmdMoveLabel}).
-\dd \f{Raise/Lower Elevations} - raise or lower elevation of selected tracks. (\K{cmdRaiseElev}).
+\rule
+
+\dd \i\f{Raise/Lower Elevations} - raise or lower elevation of selected tracks. (\K{cmdRaiseElev}).
\u000
-\dd \f{Rotate} - rotate selected object(s). (\K{cmdRotate}).
+\dd \i\f{Elevation} - define an elevation at specified track location (\K{cmdElevation}).
\u000
-\dd \f{Recompute Elevations} - performs a global re-computation of dynamic elevations. It should not be necessary to issue this command as elevations are recomputed as required.
+\dd \i\f{Profile} - display the elevation profile of a definable stretch of track (\K{cmdProfile}).
\u000
-\dd \f{Select} - sets \e{XTrackCAD} into \e{Select} mode. Whenever an object is clicked on while in this mode, this selection state of this object is reversed. If an object was unselected it becomes selected, and vice versa. To unselect all objects press the ESC key, use \f{Deselect All} from the \f{Edit} (\K{editM}) menu or \f{Deselect All} from the \f{Pop-up} menu (\K{mouseBcmd}). (\K{cmdSelect}).
+\dd \i\f{Clear Elevations} - remove elevation parameters from selected track(s).
\u000
-\dd \f{Split Track} - the \f{Split Track} (\K{cmdSplitTrack}) command can be used in one of two ways;
+\dd \i\f{Recompute Elevations} - performs a global re-computation of dynamic elevations. It should not be necessary to issue this command as elevations are recomputed as required.
-\lcont{
+\rule
-\u000
+\dd \i\f{Change Scale} - change model scale and/or gauge of layout design. (\K{cmdRescale})
-\b split a section of flex-track into two connected pieces at the point where a \e{Left-Click} is invoked or;
+\rule
-\b disconnect turnouts or sectional track pieces at their point of connection.
+\dd \G{png.d/mconvert.png}
-}
+\dd \i\f{Convert} - chnages fixed tracks (Straight, Curve, Joint, Bezier) into a Smooth Cornu or vice versa. (\K{cmdConvert}).
\rule
@@ -113,7 +118,6 @@ If resizing by modeling scale then track dimensions, e.g., lengths and radii, wi
\rule
-
\S{clrElev} Clear Elevations
The \f{Clear Elevations} command is used to remove elevation points from selected track on the layout.
@@ -122,12 +126,11 @@ Using the \f{Select} command, select the track that is to have its elevation set
\rule
-
\S{cmdConnect} Connect Tracks
\G{png.d/bconnect.png}
-This command is frequently used with \e{Sectional Track}. But it can be useful to reattach ordinary track which has become disconected or split.
+This command is frequently used with \i\e{Sectional Track}. But it can be useful to reattach ordinary track which has become disconected or split.
When in this connect, ends of tracks that can be selected are highlighted with a blue arrow. With \e{Shift} added, ends that can be tighten are highlighted with a blue "X".
@@ -159,7 +162,7 @@ You can undo the effect of the \f{Connect} command by splitting (\K{splitDisconn
\dd (\K{cmdConvertFrom}). Convert Cornu to Fixed.
-A drop down menu, which allows selection of the Convert Mode, is invoked from the down arrow button (\G{png.d/bmenu.png}) located on the right side the Convert Tracks button.
+A drop down menu, which allows selection of the Convert Mode, is invoked from the down arrow button (\G{png.d/bmenu.png}) located on the right side the Convert Tracks button.
Dependent upon previous selection, the Convert Track button will look like \G{png.d/convertto.png} or \G{png.d/convertfrom.png}.
\rule
@@ -168,11 +171,11 @@ Dependent upon previous selection, the Convert Track button will look like \G{pn
\G{png.d/convertto.png}
-This command will take a pre-selected set of fixed track elements (Straights, Curves, Joint or Bezier) and convert them into a set of Cornu Tracks.
+This command will take a pre-selected set of fixed track elements (Straights, Curves, Joint or Bezier) and convert them into a set of Cornu Tracks.
If there are no selected Tracks, the user can click on a single track.
-The Cornu(s) will smoothly pass through all the end points of the selected tracks and smoothly join to the end-points (if any).
-This may change the internal shape of the resulting track(s) due to smoothing.
+The Cornu(s) will smoothly pass through all the end points of the selected tracks and smoothly join to the end-points (if any).
+This may change the internal shape of the resulting track(s) due to smoothing.
A subsequent \k{cmdModify} can be used to fine tune the Cornu(s) by moving, adding and deleting "pins" in the combined shape.
This command is intended to help conversion of track designs that were made before Cornu Track existed to Cornu.
@@ -193,17 +196,19 @@ The resulting track(s) will mimic the shape of the Cornu/Bezier(s) exactly. This
\G{png.d/belev.png}
-The \f{Elevation} command changes the elevation of track endpoints. After opening this dialog, The Message Bar will show the computed elevation at the cursor. There will be an open blue circle if an endpoint will be selected with \f{Left-Click}. You click on the respective endpoint to set its elevation properties.
+The \f{Elevation} command changes the elevation of track endpoints. After opening this dialog, The Message Bar will show the computed elevation at the cursor. There will be an open blue circle if an endpoint will be selected with \f{Left-Click}. You click on the respective endpoint to set its elevation properties.
+
+The endpoint which you are working on is indicated with a big red dot. Note that when an endpoint is selected, the Elevation Window will have focus. To select a different endpoint without closing this window, two clicks (or a double click) will be needed. The first click restores focus to the main window, the second selects the point.
-The endpoint which you are working on is indicated with a big red dot.
+If you add \f{Shift} as you move the cursor before clicking you will see a blue bar when it is over a track if a \f{Shift+Left-Click} will split the Track at that point (which will give you the opportunity to specify an elevation).
-Moving around the layout will show you the elevation at the point indicated by a blue dot.
+Adding \f{Ctrl} allows you to \f{Ctrl+Left-Click} to Select and \f{Left-Drag} to move existing Elevation Labels if the option is set for them to be displayed and the Zoom level is adequate, Only "Defined" and "Station" endpoint labels can be moved.
-If you hover over a point where two unconnected tracks pass over one another, a blue square will be drawn and the Message Bar will show the two elevations and the Clearance between them.
+If you add \f{Alt}, while moving around the layout close to tracks will show you the elevation at the point indicated by a blue closed dot.
-If you add \f{Shift} as you move the cursor before clicking you will see a blue bar when it is over a track if a \f{Shift-Left-Click} will split the Track at that point (which will give you the opportunity to specify an elevation).
+With \f{Alt} held, if you hover over a point close to where two unconnected tracks pass over one another, a blue square will be drawn and the Message Bar will show the two elevations and the Clearance between them.
-Adding \f{Ctrl} allows you to \f{Ctrl+Left-Click} to Select and \f{Left-Drag} to move Elevation Labels if both the option is set for them to be displayed and the Zoom level is correct,, Only Defined and Station endpoint labels can be moved.
+Clicking with \f{Shift} at this point will split the track, allowing the elevation to be adjusted to provide adequate clearance.
\G{png.d/celev.png}
@@ -211,17 +216,17 @@ An endpoint can have one of several elevation types:
\u000
-\b \f{None} - no elevation defined.
+\b \f{None} - no elevation control defined. This is the default state and the elevation will be computed. It will be shown if the Display Option \K{cmdDisplay} \f{EndPt Elevations} setting is on.
-\b \f{Defined} - a defined elevation at a specified height.
+\b \f{Defined} - the defined elevation is set to a specified height. The elevation will be shown.
-\b \f{Hidden} - a defined elevation but not displayed on the layout.
+\b \f{Hidden} - a defined elevation like \f{Defined} but not displayed on the layout.
-\b \f{Computed} - height is based on height of closest neighbors.
+\b \f{Computed} - height is calculated and displayed even if the Display Option \K{cmdDisplay} \e{EndPt Elevations} is on.
-\b \f{Grade} - grade is based on height of closest neighbors.
+\b \f{Grade} - grade is based on height of closest neighbors and displayed.
-\b \f{Ignored} - endpoint is not considered in computations.
+\b \f{Ignored} - endpoint is not considered in computations. This breaks the flow of the elevation influence from one side to the other, resulting in an elevation that is not dependent on the connected track but on the other connected tracks. A common use would be to ensure a mainline dictates the elevation of the start of a branch.
\b \f{Station} - assigns a name to the endpoint.
@@ -231,9 +236,11 @@ When an endpoint is selected on the layout by \e{Left-Click}, it is highlighted
Additionally, \f{Defined Elevation} endpoints are indicated on the layout by gold colored dots. \f{Ignored Elevation} endpoints are indicated by blue colored dots.
-The grade at the specified endpoint is displayed next to the \f{Grade} radio button. For \f{Defined Elevation} endpoints, the grade on each side of the endpoint is displayed.
+The grade at the specified endpoint is displayed next to the \f{Grade} radio button. For \e{Defined Elevation} endpoints, the grade on each side of the endpoint is displayed.
-\f{Defined Elevation} endpoints are used to specify fixed heights of track endpoints. Typically, this would be where a grade changes or where clearances must be maintained. \f{Computed} Elevations and \f{Grade} markers can place between \f{Defined Elevation} endpoints. These values are not entered directly but are computed dynamically based on \f{Defined Elevations} of connected tracks. This allows labeling of elevations at intermediate endpoints without having the enter specific values. \f{Computed} markers can also placed between a \f{Defined Elevation} point and the end of a track.
+\f{Defined Elevation} endpoints are used to specify fixed heights of track endpoints. Typically, this would be where a grade changes or where clearances must be maintained. \f{Computed} Elevations and \f{Grade} markers can place between \f{Defined Elevation} endpoints.
+These values are not entered directly but are computed dynamically based on \f{Defined Elevations} of connected tracks.
+This allows labeling of elevations at intermediate endpoints without having the enter specific values. \f{Computed} markers can also placed between a \f{Defined Elevation} point and the end of a track.
\f{Stations} are used to provide information for the Profile (\K{cmdProfile}) command.
@@ -246,7 +253,7 @@ All \f{Elevation} labels (including \f{Grade} and \f{Station}) are drawn on the
Elevations of Tracks are computed in following steps. The colors listed in each step are used as the background color of the Track Elevation Markers (if they are enabled (\K{cmdDisplay})).
-\b The Shortest Paths between all \e{Defined Elevations} are computed. A Path stops at \e{Ignored} or \e{Defined} endpoints. The Elevation of any Turnouts on these Paths with more than two connections are computed as the average Elevation inversely weighted by distance along the tracks to the \e{Defined Elevation} points (\e{Blue}).
+\b The Shortest Paths between all \e{Defined Elevations} are computed. A Path stops at \f{Ignored} or \e{Defined} endpoints. The Elevation of any Turnouts on these Paths with more than two connections are computed as the average Elevation inversely weighted by distance along the tracks to the \e{Defined Elevation} points (\e{Blue}).
\u000
@@ -260,7 +267,8 @@ Elevations of Tracks are computed in following steps. The colors listed in each
\b Any remaining tracks are not connected to a \e{Defined Elevation} and do not have an Elevation.
-The elevation computation is performed incrementally every time the layout is changed to keep all elevations in sync. The performance of the computation is affected by the placement of the \e{Defined Elevation} endpoints and the number of Paths between them. Place the \e{Defined Elevations} at points where tracks begin to branch (such as the throat of a yard or at the ends of a siding). Also, use \e{Defined Elevations} to break the layout into areas so recomputation has fewer tracks and Paths to deal with.
+The elevation computation is performed incrementally every time the layout is changed to keep all elevations in sync. The performance of the computation is affected by the placement of the \e{Defined Elevation} endpoints and the number of Paths between them.
+Place the \e{Defined Elevations} at points where tracks begin to branch (such as the throat of a yard or at the ends of a siding). Also, use \e{Defined Elevations} or \e{Ignore Elevations} to break the layout into areas so recomputation has fewer tracks and Paths to deal with.
\rule
@@ -306,9 +314,9 @@ Certain turnouts, such as a Wye's, Three-Way or Crossings are symmetrical and th
\S{cmdJoin} Join Tracks and Lines
-The \f{Join} command has two variatons,
+The \f{Join} command has two variatons,
-\dd (\K{cmdJoinTrack}). Join Tracks by connecting them.
+\dd (\K{cmdJoinTrack}). Join Tracks by connecting them.
\u000
@@ -320,7 +328,7 @@ The \f{Join} command has two variatons,
\G{png.d/bjoinline.png}
-The \f{Join Line} command produces a PolyLine from two Draw objects (Straight Line, Curved Line, Bezier Line or PolyLine). You select the two ends to join and the new Polyline will replace the two Draw objects, filling in any gap with a straight line segment.
+The \f{Join Line} command produces a PolyLine from two Draw objects (Straight Line, Curved Line, Bezier Line or PolyLine). You select the two ends to join and the new Polyline will replace the two Draw objects, filling in any gap with a straight line segment.
If the two ends are of the same PolyLine, an unfilled Polygon will be created.
\rule
@@ -339,7 +347,7 @@ For detail about;
\u000
-\dd Using Normal Easments where tracks are either joined with a straight or a 'simple curve' \k{joinNormalEasment},
+\dd Using Normal Easements where tracks are either joined with a straight or a 'simple curve' \k{joinNormalEasment},
e.g. one which uses a curve in a single direction as opposed to using reverse curves (\K{generalTerms})
\u000
@@ -354,6 +362,8 @@ e.g. one which uses a curve in a single direction as opposed to using reverse cu
\S2{joinNormalEasment} Join with Normal Easement
+This type of join does not work for Bezier or Cornu tracks, use Cornu Easements (\K{joinCornu}) for these tracks instead.
+
\u000
\dd \G{png.d/joincrv1.png}
@@ -384,15 +394,15 @@ e.g. one which uses a curve in a single direction as opposed to using reverse cu
}
-After the first track is selected, an entry field for prefered radius will be shown. A non-zero value will enable the snap anchor for the join radius.
+After the first track is selected, an entry field for prefered radius will be shown. A non-zero value will enable the snap anchor for the join radius.
-\n Move the mouse pointer over the endpoint of the other track then \e{Left-Click} and hold the mouse button down. A track connecting the two endpoints will appear.
+\n Move the mouse pointer over the endpoint of the other track then \e{Left-Click} and hold the mouse button down. A track connecting the two endpoints will appear.
\lcont{
If the track appears in black (and you are happy with the curve as its drawn), release the mouse button.
-If the radius snap-anchor is active, and the position of the cursor is close to a position where the Join is exactly the desired radius, a blue circle will be shown.
+If the radius snap-anchor is active, and the position of the cursor is close to a position where the Join is exactly the desired radius, a blue circle will be shown.
Releasing the button while it shows will snap the Join to the desired radius. If Easements are enabled as well, this fixed radius Join track will be joined to by easements.
@@ -445,11 +455,11 @@ For detail about;
\i{Creating a Cornu} \i{Modifying a Cornu} \i{Cornu Easements}
-A Cornu is a form of curve that uses a mathematical approach to creating a curve between two sets of end conditions.
+A Cornu is a form of curve that uses a mathematical approach to creating a curve between two sets of end conditions.
The curve is designed to change curvature linearly along its length - which is the characteristic of a railway easement because it minimizes sudden changes in acceleration towards the center of curvature.
-The conditions used at each end are the radius, angle and position.
+The conditions used at each end are the radius, angle and position.
Cornus can have added constraints in the form of track "pins" that force the curve to smoothly pass through that point while still respecting the end conditions.
@@ -465,7 +475,7 @@ It is not always the case that the Cornu will be the most efficient way to get f
\S2{cornuTrackPins} Cornu Track Pins
-XTrackCAD Cornu can have "track pins" added that constrain the track to pass through those points in addition to meeting the end-conditions.
+XTrackCAD Cornu can have "track pins" added that constrain the track to pass through those points in addition to meeting the end-conditions.
This allows the track to be skewed or slewed around obstacles, or to suit some other constraint.
The pins can be added when Cornus are created \K{cmdCornu} or during \K{cmdModify} after clicking on the track. They can be selected and then \c{Left-Drag} dragged to alter the curve shape or deleted with \c{Delete}.
@@ -476,7 +486,7 @@ When a Cornu Track with pins is saved, it is split into two Cornu joined at the
\n First, ensure that the Easement type option is set to Cornu - see \k{cmdEasement}
-\n Start the Join Track process by clicking on the Join Track button (\G{png.d/bjoin.png}).
+\n Start the Join Track process by clicking on the Join Track button (\G{png.d/bjoin.png}).
As you move over tracks a blue roundel will indicate the end that will be chosen with \e{Left-Click}.
@@ -486,7 +496,7 @@ As you move over tracks a blue roundel will indicate the end that will be chosen
\u000
-\dd \c{Left-Drag} the endpoint to where you want it and release the button.
+\dd \c{Left-Drag} the endpoint to where you want it and release the button.
The point will only move along the piece of track with the open endpoint (if this track type can be split) as far as the opposite end, or as an extension of that track at the selected end with the same curvature (if this track can be extended). Note that you will be able to fine-tune the end positions later.
\lcont{
@@ -503,8 +513,8 @@ The point will only move along the piece of track with the open endpoint (if thi
\u000
-\dd \c{Left-Drag} the endpoint to where you want it and release the button.
-The second endpoint can only be moved along the second track as far as the other end (if it can be split) or as an extension beyond the end of this track (if it can be extended).
+\dd \c{Left-Drag} the endpoint to where you want it and release the button.
+The second endpoint can only be moved along the second track as far as the other end (if it can be split) or as an extension beyond the end of this track (if it can be extended).
The initial curve will be drawn - it will be red if the minimum radius is smaller than the minimum radius option.
\lcont{
@@ -517,11 +527,11 @@ The initial curve will be drawn - it will be red if the minimum radius is smalle
}
-\dd You are now in "Select Points" mode.
+\dd You are now in "Select Points" mode.
\u000
-\dd You can select one end point at a time with \c{Left-Click} and move it with \c{Left-Drag}. If you drag the end point off the original track it will extend.
+\dd You can select one end point at a time with \c{Left-Click} and move it with \c{Left-Drag}. If you drag the end point off the original track it will extend.
\u000
@@ -677,7 +687,9 @@ Either the left mouse button (for changing length or creating a tangent track) o
\S2{objectModify} Modifying Objects
-\n The endpoints of a \e{Line}, \e{Dimension Line}, \e{Table Edge} or \e{Bench-work} can be dragged to new positions.
+\n The endpoints of a \e{Line}, \e{Dimension Line}, \e{Table Edge} or \e{Benchwork} can be dragged to new positions.
+
+\n The ends of a \e{Ruler} or the ends and origin of a \e{Protractor} can be dragged to new positions
\n A \e{Box} or a \e{FilledBox} can be modified by selecting a corner and dragging in two dimensions, or a side and dragging it orthogonally. This modifications preserve a 4-sided rectangle.
@@ -730,12 +742,15 @@ For more detail about;
\lcont{\u000}
\n With the mouse pointer hovering over the endpoint of the object to be modified, \e{Left+Drag} (\K{windowTerms}) to change the length of the track segment, table edge, bench-work, dimension line or line.
+If \f{MagneticSnap} is enabled, the end will snap to any close draw object. \c{Alt} inverts the MagneticSnap setting. If there is no nearby object and \f{SnapGrid} is enabled, the end will snap to a grid point unless \f{Alt} is added.
\lcont{\u000}
\e{Left+Drag}ging the endpoint of a turnout (or other sectional track) causes a straight length of flex-track to be created from the selected endpoint to the cursor.
-\e{Left+Drag}ging the endpoint of a \f{Table Edge} (\K{cmdDraw}) allows the endpoint to be moved to a new position. If the endpoint is moved close to another \f{Table Edge} then the endpoint will be moved to it.
+\e{Left+Drag}ging the endpoint of a \f{Table Edge} (\K{cmdDraw}) allows the endpoint to be moved to a new position. If \c{Ctrl} is added and the endpoint is moved close to another \f{Table Edge} then the endpoint will be moved to it if not, the line will be a multiple of 90 degrees.
+
+
The length of a curved track can be changed to form an almost complete circle by selecting one endpoint of the curved track then dragging the cursor to the other endpoint. Going past the other endpoint creates a very small curve. Curves greater than 360\u00B0 cannot be created.
@@ -893,7 +908,7 @@ When a Polygon or a PolyLine is modified, open blue circle anchors show the posi
\u000
-\b \f{Delete} will remove a selected node.
+\b \f{Delete} or \f{Backspace} will remove a selected node.
\u000
@@ -1042,7 +1057,7 @@ A move can be achieved using one of the following methods;
\u000
-During a Move of tracks, and \f{MagneticSnap} is enabled, if one of the end-points of the selected objects is close to an open end of a unselected point, two anchors (an open an closed blue ball) will appear.
+During a Move of tracks, and \f{MagneticSnap} (\K{cmdMagneticSnap}) is enabled, if one of the end-points of the selected objects is close to an open end of a unselected point, two anchors (an open an closed blue ball) will appear.
This indicates that the two points will auto-join and that all the moved tracks will align to the unselected point if the Move is stopped.
This behaviour can be suppressed with \e{Alt}. If \f{MagneticSnap} is disabled, the alignment will only occur if \e{Alt} is pressed.
@@ -1097,17 +1112,70 @@ Any amount of precise transalation may be entered by \e{Left-Click}ing the \f{En
\G{png.d/bmovedes.png}
-This command is used to move Elevation, Grade, Station (\K{cmdElevation}), Curved Track (\K{cmdCurve}), Bezier, Cornu, Helix (\K{cmdHelix}) and Structure or Turnout (\K{cmdHotBar}) Labels.
+This command is used to move Elevation, Grade, or Station (\K{cmdElevation}), and to enable/disable and move
+Straight Track (\K{cmdStraight}), Curved Track (\K{cmdCurve}), Bezier (\K{cmdBezier}, Cornu (\K{cmdCornu}), Joint (\K{cmdJoin}), Helix (\K{cmdHelix}) and Structure or Turnout (\K{cmdHotBar}) Labels.
The \f{Move Description} command can be invoked using the \f{Change>Move Description} menu item or the \f{Move Description} button.
-Click the \f{Move Description} button to activate the \f{Move Description} command. As the cursor passes close to an object that can display a label it will be highlighted. A dark blue indicates a label that has "Show Description" set on, a light blue set off.
+Click the \f{Move Description} button to activate the \f{Move Description} command. As the cursor passes close to an object that can display a label it will be highlighted.
+A dark blue indicates a label that has "Show Description" set on, a teal color means it is set to hide.
Use \e{Left+Drag} to move the label to a new position and unhide if hidden. Once moved, the label becomes fixed in a position relative to the object. Subsequent moves of that object will cause the label to move as well.
This operation can also be invoked by \e{Ctrl+Left+Drag} when in Select command (\K{cmdSelect}).
-The letter "\f{h}", can be used to hide display of individual Curved Track, Bezier Track, Cornu, Helix or Turnout Labels. The letter"\f{s} will show a hidden description. There is a \f{Context Menu} Show/Hide Toggle as well.
+Note that labels need to be visible in the Display menu and the layout needs to be zoomed in enough to show labels for them to be moved.
+
+There are keys that control the display of description when hovering over a description or a track.
+
+\b The letter "\f{s}" when hovering over a track will show the hidden description - the teal highlight will show which tracks can have descriptions.
+
+\b The letter "\f{h}", when hovering over the track or description, can be used to hide display of individual Curved Track, Bezier Track, Cornu, Helix, Joint or Turnout Labels.
+
+\b The letter "\f{d}" will enable and disable a detailed description which is intended for tracklaying - it is a table of points and track angles that lie along the track path.
+
+Using these detailed values a curve can be constructed even for complex objects such as Bezier or Cornu.
+
+There is a \f{Context Menu} invoked with \e{Right-Click} or \e{Shift plus Right-Click} to Show/Hide individual descriptions as well as set the description to detailed.
+
+Labels can be moved by hovering the "hot spots" or over the attached track object. \e{Left-Drag} will reposition it. Elevation labels can be selected by hovering of thier centers or the end point they refer to.
+Note that end points with elevation mode "None" are not selectable.
+
+\b Cornu, Bezier, Straight, Curve and Joint (Easement) Labels can be moved along the line between the end-points and also laterally.
+
+\lcont{\u000
+
+\b Cornu and Bezier Tracks show the "chord" length, its absolute angle, and the length of the track and the minimum radius.
+To help lay these variable radius curves out, the detailed description information about track centers and angles selected by \f{'d'} is suggested.
+
+\b Joint/Easement Tracks show the "chord" length and abslute angle and easement curve constructing values of Radius and Lengths.
+For laying out larger easmements, the detailed position and angle description selected by \f{'d'} may be useful.
+
+\b Straight Tracks show the length and the absolute angle.
+For laying out long straights, the detailed track center position and angle descriptions selected by \f{'d'} may be useful.
+
+\b Curved Tracks show the radius, chord length, deflection at the center from the chord and the angular length.
+For laying out curves, the detailed track center position and angle descriptions selected by \f{'d'} may be useful.
+
+}
+
+\u000
+
+\b Curve Track Labels can be moved so that the label is somewhere on a radial line from the center to a position within the arc.
+A Curve label shows the absolute angle of the chord, its length, the Curve Radius and the deflection from the chord at the center of it.
+This enables the curve to be laid out even if the center point of the arc is inaccesible. Note that the detailed description may also be helpful in this case.
+
+\u000
+
+\b Compound (Structure and Turnout) Labels can be moved without restriction. They show the Object's Title information.
+
+\u000
+
+\b Elevation points labels can be moved without restriction - they show the Grade, Elevation, or Station Name as appropriate.
+
+\u000
+
+\b The detailed description setting is not preserved in the saved layout. It is designed for use when transferring a complex part of the plan to a real layout.
Note - existing defined elevation labels can be moved, but controlling thier visbility is done with the \K{cmdElevation} command.
@@ -1199,9 +1267,10 @@ The dialog can be closed with the 'X' button in the window's titlebar.
Clicking on the \f{Properties} (Describe Mode) button cancels all active commands, closes any open dialog windows and places focus on the main window.
Until an object is selected, the object under the cursor that will be selected with \e{Left-Click} is highlighted in blue.
+Objects in Frozen Layers will only be highlighted and selected if \f{Shift} is added.
A \e{Left-Click} on an object while in \f{Properties} mode causes a properties dialog window to appear.
-The properties dialog contains information pertaining to the selected objects position, size, color and layer as appropriate for each type of object.
+The properties dialog contains information pertaining to the selected objects size, position, size, color and layer as appropriate for each type of object.
Certain values can be changed to modify the object. Some values, e.g., endpoint positions, can not be changed if, for example, a Track is joined to another Track.
The values will take effect when \f{Enter}, \f{Tab} is pressed or the cursor leaves the entry field.
@@ -1209,47 +1278,61 @@ The values will take effect when \f{Enter}, \f{Tab} is pressed or the cursor lea
The selected object is highlighted by a grey area.
-If it is a Line, Curve, Circle or Polygon object, and the rotation origin is non-zero, a large blue cross will show its position.
-
\G{png.d/dpropertieshighlight.png}
-\S2{drawDescribe} Draw Object Fields
+\S2{drawDescribe} Draw Object Describe Fields
+
+\S3{drawDescribeCommon} Common Draw Object Fields
+
+If the Object is a Line, Curve, Circle or Polygon object, and the rotation origin is non-zero, a large blue cross will show its position.
+If it is zero, the command starts with the \f{Lock Origin} field unticked and the \f{Rotate By} field greyed out.
Some fields are used by multiple types of objects - these are listed below
\dt Line Width
\dd The width of the line for a line, curve or unfilled object can be set. 0 means a pixel width at all scales.
-Other values are the width of the line in scale units.
+Other values are the width of the line in scale units. If the value is negative, it is the absolute value of pixels wide at all scales.
\dt Pivot
-\dd The Pivot control can be set to the start, or the middle or the end, and it applies to the Length and Angle controls
-
-\dt Rotation Angle
-
-\dd Some Draw objects (Polygon, Polyline, Lines, Curves, Circles) can be rotated about their rotation origin in Describe.
-After the rotation completes, the rotation angle will be set to zero, as all the points of the object will be adjusted to thier absolute position in the layout.
+\dd The Pivot control can be set to fix in place the start, or the middle or the end, and it applies to the Length, Line Angle and Angular Length controls.
+When these are changed the new dimensions are applied so as to keep the locked position in place.
\dt Rotation Origin
\dd By default the rotation origin is the Layout origin \{0,0\}.
-By setting a different Rotation Origin, subsequent Rotations will be about that new point. This may be useful when using Draw objects as part of larger collections.
+If the origin is not at the Layout origin, it will be displayed with a blue cross.
+When the origin is changed with the \f{Lock} off, the object is not moved.
+But if the origin is changed with the \f{Lock} on, the object will be moved as well.
+Enabling the \f{Lock To Origin} allows subsequent Rotations to be about the origin.
+This may be especially useful when using creating larger groups of Draw objects.
+
+\dt Lock To Origin
+
+\dd Locking to the rotation origin makes the distance between the First Point and the origin fixed.
+If this is set on, altering either the First Point or the Rotation Origin will move the both values.
+This value is initially set to locked if the Draw origin is non-zero when the \K{cmdDescribe} command is started
+but can be unset to allow repositioning of the Rotate Origin without moving the object in the layout.
+If the Rotate Origin is set to \{0,0\}, the Object has an \e{Absolute} origin.
-\dt Lock Rotation Origin
+\dt Rotate By
-\dd For ease of use, the rotation origin can be \e{Relative} to the First Point. If this is done, altering either the First Point or the Rotation Origin will move the both values.
-This value is always set to locked if the Draw origin is non-zero when the \K{cmdDescribe} command is started but can be unset to allow repositioning of the Rotate Origin without moving the object. If the Rotate Origin is set to zero, the Object has an \e{Absolute} origin.
+\dd Some Draw objects (Polygon, Polyline, Lines, Curves, Circles, Text) can be rotated about their rotation origin in Describe.
+In order to rotate them, the \f{Lock To Origin} must be enabled.
+After the rotation completes, the rotation angle will be set back to zero and all the points of the object will be adjusted to their absolute position in the layout.
+Negative values of rotation are counter-clockwise.
+Note that for Text objects, the Rotation also changes the \f{Text Angle}.
\dt Layer
-\dd The object can be moved between layers
+\dd The layer of the object. The object can be moved between layers if the layer is not frozen. Only non-frozen layers are listed as options.
\dt Color
\dd The color of the line or the fill can be set
-\S3{drawDescribeStr} Straight Line Objects
+\S3{drawDescribeStr} Straight Line Objects Describe Fields
\dt End Pt 1
@@ -1259,13 +1342,13 @@ This value is always set to locked if the Draw origin is non-zero when the \K{cm
\dd Straight Lines have a second point, altering this, moves just that end of the line, altering its length as needed.
-\dt Angle
+\dt Line Angle
-\dd Straight Lines have an angle - this is the angle between the two points, altering this moves End Pt2.
+\dd Straight Lines have an angle - this is the angle between the two points, altering this moves the ends so as to respect the \f{Pivot} control setting.
\dt Length
-\dd The Length control can add to the start or end or both of a Line object depending on the setting of the Pivot control.
+\dd The Length control can add to the start or end or both of a Line object depending on the setting of the \f{Pivot} control setting.
\S3{drawDescribeDim} Dimension Line Objects
@@ -1273,7 +1356,7 @@ This value is always set to locked if the Draw origin is non-zero when the \K{cm
\dd The size of the arrows and text can be set to Tine, Small, Medium or Large.
-\S3{drawDescribeBench} BenchWork Objects
+\S3{drawDescribeBench} BenchWork Objects Describe Fields
\dt Lumber
@@ -1283,7 +1366,7 @@ This value is always set to locked if the Draw origin is non-zero when the \K{cm
\dd The timber can be orientated "On Edge" which will draw the smaller dimension or "Flat".
-\S3{drawDescribeCurve} Curved and Circle Objects
+\S3{drawDescribeCurve} Curved and Circle Objects Describe Fields
\dt Center
@@ -1291,9 +1374,13 @@ This value is always set to locked if the Draw origin is non-zero when the \K{cm
\dt CW Angle and CCW Angle
-\dd Curved Lines have an angle relative to the center that the arc starts and and one where it ends
+\dd Curved Lines have an angle relative to the center that the arc starts and and one where it ends.
+
+\dt Angular Length
+
+\dd For Curved Lines this is the length of the arc in degrees. If altered it will move the arc to respect the \f{Pivot} control setting.
-\S3{drawDescribePoly} Polygon Objects
+\S3{drawDescribePoly} Polygon Objects Describe Fields
\dt Fill
@@ -1301,7 +1388,7 @@ This value is always set to locked if the Draw origin is non-zero when the \K{cm
\dt Open
-\dd Polygons can be opened to become Polylines or Polylines closed to become Polygons using Describe.
+\dd Unfilled Polygons can be opened to become Polylines or Polylines closed to become Polygons. Note that PolyLines can't be filled, they have to be closed first.
\dt Point Count
@@ -1315,12 +1402,149 @@ This value is always set to locked if the Draw origin is non-zero when the \K{cm
\dd Straight and Curved Lines, PolyLines, Polygons and Structures can be drawn with dotted, dashed, dash-dotted and dash-dot-dotted lines.
-\S3{drawDescribeText} Text Objects
+\S3{drawDescribeText} Text Objects Describe Fields
\dt Text Angle
-\dd For Text objects, the Text Angle determines the angle the text is rendered at. This is independent of the rotation of the starting position which is gained from the Rotation Angle and the Rotation Origin.
+\dd For Text objects, the Text Angle determines the absolute angle the text is rendered at.
+
+This will be set by itself or by rotation of the starting position about the Rotation Origin with \f{Lock to Origin} set.
+
+\dt Boxed
+
+\dd For Text objects, whether a line is drawn around the text.
+
+\S2{DescribeCompound} Structures, Sectional Track and Turnouts Describe Fields
+
+\dt Pivot
+
+\dd The Pivot fixes the point about which the Angle of Rotation will occur to be the Start (Bottom Left) Point, the middle of the object, or End (Top Right) of the object.
+These relative positions are calculated as though the object was rotated by zero degrees.
+
+\dt Angle
+
+\dd The Angle rotates the object about the Pivot point.
+
+\S2{DescribeTrack} Describe Track Fields
+
+\S3{trackDescribeCommon} Common Track Object Fields
+
+\dt End Pt 1
+
+\dd For the starting position (or first point) - altering this value causes the whole object to move relative to the layout origin.
+This can only be changed if the track is unconnected at that end. The elevation is shown beneath the X,Y as a read-only Z value.
+
+\dt End Pt 2
+
+\dd The end position (or second point), altering this, moves just that end of the line, altering its length as needed.
+This can only be changed if the track is unconnected at that end. The elevation is shown beneath the X,Y as a read-only Z value.
+
+\dt Grade
+
+\dd The calculated grade between the two end-points
+
+\dt Layer
+
+\dd The layer of the object. The object can be moved between layers if the layer is not frozen. Only non-frozen layers are listed as options.
+
+\dt Length
+
+\dd The length of the track object. This can be set for a Straight Track if it is not connected, and will respect the value of the \f{Pivot} field.
+
+\dt Pivot
+
+\dd The Pivot control can be set to fix in place the start, or the middle or the end, and it applies to the Length, Track Angle and Angular Length controls.
+When these are changed the new dimensions are applied so as to keep the locked position in place.
+
+\S3{trackDescribeStr} Straight Track Describe Fields
+
+
+\dt Track Angle
+
+\dd The angle of the Track object. This can be set if the track is not connected. It respects the value of the \f{Pivot} field
+
+
+\S3{trackDescribeCurve} Curved Track Describe Fields
+
+\dt Center
+
+\dd The center point of the curve. The center can only be modified if both ends are unconnected.
+\dt Radius
+
+\dd The radius of the curve. The radius can only be modified if one end is not connected.
+
+\dt Angular Length
+
+\dd The length of the curve in degrees. Modifications respect the \f{Pivot} value and are only available if at least one end is disconnected.
+
+\dt CCW Angle
+
+\dd The Counter-Clockwise Angle (the angle from the center to the first position). Can only be modified if the first end of the curve is not connected.
+
+\dt CW Angle
+
+\dd The ClockWise Angle (the angle from the center to the end position). Can only be modified if the second end of the curve is not connected.
+
+
+\S3{trackDescribeCornu} Cornu Track Describe Fields
+
+\dt End Angle
+
+\dd Each end has an angle which helps determine the curve shape. It can only be set if the Track is not joined at that end.
+
+\dt End Radius
+
+\dd Each end has an radius which helps determine the curve shape. It can only be set if the Track is not joined at that end.
+
+\dt End Pt
+
+\dd Each End Point has a position. It can only be set if the Track is not joined at that end.
+
+\dt Center
+
+\dd Each End shows the center of the curve of the end segment - this is a read-only field. If the radius is zero, the field will show \{0,0\}.
+
+\dt Minimum Radius
+
+\dd This is the approximate smallest radius along the curve based on curve fitting to the Cornu.
+
+\dt Maximum Rate of Curvature
+
+\dd The maximum rate that the radius is changing over its length based on curve fitting.
+It gives an idea of the "sharpness" of the curve.
+
+\dt Total Winding Angle
+
+\dd The number of degrees that the curve executes - this number will rise if there are loops in the curve.
+
+\S3{trackDescribeBezier} Cornu Track Describe Fields
+
+\dt Ctl Pt
+
+\dd The positions of the two Bezier control points. These will only be adjustable if the end they control is not attached to another track.
+
+\dt End Angle
+
+\dd Each end has an angle which is set by the control arm at that end - this is a read-only field
+
+\dt End Radius
+
+\dd Each end has an radius which is driven by the curve shape - this is a read-only field
+
+\dt End Pt
+
+\dd Each End Point has a position. It can only be set if the Track is not joined at that end.
+
+\dt Center
+
+\dd Each End shows the center of the curve of the end segment - this is a read-only field. If the radius is zero, the field will show \{0,0\}.
+
+\dt Minimum Radius
+
+\dd This is the approximate smallest radius along the curve based on curve fitting to the Bezier.
+
+\rule
Most commands return to \f{Properties} mode then they terminate unless the command is sticky (\K{cmdSticky}).
@@ -1370,8 +1594,8 @@ Rotation can be achieved using one of the following methods;
\dd Aligning the selected object with another object on the layout. See \K{rotateByAlign} for detail.
-During Rotation of a track, if \f{MagneticSnap} is enabled, if one of the end-points of the selected objects is close to an open end of a unselected point, two anchors (an open an closed blue ball) will appear.
-This indicates that the two points will auto-snap and the moved track will align to the unselected point if the Rotation is stopped. This does not happen if \e{Alt} is used.
+During Rotation of a track, if \f{MagneticSnap} (\K{cmdMagneticSnap}) is enabled, if one of the end-points of the selected objects is close to an open end of a unselected point, two anchors (an open an closed blue ball) will appear.
+This indicates that the two points will auto-snap and the moved track will align to the unselected point if the Rotation is stopped. This does not happen if \e{Alt} is used.
If \f{MagneticSnap} is disabled, the snap will only occur if \e{Alt} is held.
Note that this also applies to \K{cmdMove}.
@@ -1394,19 +1618,19 @@ Rotate An Object Using the Mouse
\lcont{\u000}
-\n Click and hold the left mouse button then drag (\e{Left+Drag}) the mouse away from the axis point to create a "handle". This handle will be used to rotate the object. While continuing to hold the left mouse button, drag (\e{Left+Drag}) the handle in the desired direction of rotation.
+\n Click and hold the left mouse button then drag (\e{Left+Drag}) the mouse away from the axis point to create a "handle". This handle will be used to rotate the object. While continuing to hold the left mouse button, drag (\e{Left+Drag}) the handle in the desired direction of rotation.
\f{Note:} If the \e{Shift+Ctrl} key is pressed in conjunction with \e{Left+Drag}, the object will rotate in increments of 15\u00B0.
\lcont{\u000}
-\n Release the mouse key once desired rotation is obtained.
+\n Release the mouse key once desired rotation is obtained.
\u000
-\n If \f{Magnetic Snap} is enabled and the \e{Alt} button is not pressed, or ifthe \e{Alt} button is pressed when it is disabled, a magnetic anchor will be displayed if an end of the rotated tracks is near an open end.
+\n If \f{Magnetic Snap} is enabled and the \e{Alt} button is not pressed, or ifthe \e{Alt} button is pressed when it is disabled, a magnetic anchor will be displayed if an end of the rotated tracks is near an open end.
If the anchor shows and the rotate is completed, the tracks will Snap to Alignment and Join.
-\u000
+\u000
Rotation can also be achieved through use of one of these alternate methods;
@@ -1535,7 +1759,7 @@ Clicking on the \f{Select} button cancels all active commands, closes any open d
In combination with the mouse, the \f{Select} command can be used as follows;
-\dd Unselected Objects that will be added to the selected set with a \e{Left-Click} are highlighted in Blue as the mouse moves over them. Items that will be deselected are highlighted in Gold.
+\dd Unselected Objects that will be added to the selected set with a \e{Left-Click} are highlighted in Blue as the mouse moves over them. Items that will be deselected are highlighted in Gold.
\u000
@@ -1543,16 +1767,16 @@ In combination with the mouse, the \f{Select} command can be used as follows;
\u000
-\dd \e{Left-Click} - if the \f{SelectMode} in \K{cmdCmdopt} is set to Single Item Mode it selects just an object near the cursor.
-If it is set to Add Item Mode, it will add the nearby object or remove it if is already selected.
-Already selected objects appear in red (unless changed in the \f{Color} (\K{cmdRgbcolor}) dialog) and a blue selection box surrounds all currently selected objects.
+\dd \e{Left-Click} - if the \f{SelectMode} in \K{cmdCmdopt} is set to Single Item Mode it selects just an object near the cursor.
+If it is set to Add Item Mode, it will add the nearby object or remove it if is already selected.
+Already selected objects appear in red (unless changed in the \f{Color} (\K{cmdRgbcolor}) dialog) and a blue selection box surrounds all currently selected objects.
If \f{SelectZero} is selected in \K{cmdCmdopt} and an point that is not near to any object is selected, all objects are deselected.
\u000
\dd \e{Ctrl+Left-Click} - if \f{SelectMode} in \K{cmdCmdopt} is set to Single Item Mode it adds an object near to the cursor to the selected objects, or removes if it is already selected.
-If set to Add Item Mode, it will select only the nearby object and delselect all the others.
-Already selected objects appear in red (unless changed in the \f{Color} (\K{cmdRgbcolor}) dialog) and a blue selection box surrounds all currently selected objects.
+If set to Add Item Mode, it will select only the nearby object and delselect all the others.
+Already selected objects appear in red (unless changed in the \f{Color} (\K{cmdRgbcolor}) dialog) and a blue selection box surrounds all currently selected objects.
If \f{SelectZero} is selected in \K{cmdCmdopt} and an point that is not near to any objects is selected, all objects are deselected.
\u000
@@ -1569,7 +1793,21 @@ If \f{SelectZero} is selected in \K{cmdCmdopt} and an point that is not near to
\u000
-\dd \e{Right-Click} - displays a pop-up menu of commands.
+\dd \e{Right-Click} and \e{Shift-Right-Click} - either display a pop-up menu of commands or a set of context commands for the item under the cursor depending on the setting of "Right-Click" in \K{cmdCmdopt}.
+
+\lcont{
+
+\u000
+
+\G{png.d/mselectcmd.png} or \G{png.d/mselectcontext.png}
+
+\u000
+
+}
+
+\u000
+
+\dd \e{Double-Click} - invokes \K{cmdModify} on the object after selecting it for eligible objects. Otherwise it acts as \e{Left-Click}.
\u000
@@ -1577,27 +1815,38 @@ If \f{SelectZero} is selected in \K{cmdCmdopt} and an point that is not near to
\u000
-\dd \e{"@"} - moves the center of the window (i.e., Pans) to be at the cursor position
+\b \e{"e"} sets the zoom to a value that allows all the room to be shown and moves the origin of bottom left of the window to be 0,0
-\dd \e{Shift+Ctrl} plus the \e{Arrow Keys} will move the selected items a pixel at a time at the current zoom level. No autosnap will occur to permit fine tuning.
+\u000
-\lcont{
+\b \e{"s"} sets the zoom to show the selected set of objects and pans the window to center the highlit area.
\u000
-\G{png.d/mselect.png} or \G{png.d/mselected.png}
+\dd \e{"c"} - moves the center of the window (i.e., Pans) to be at the cursor position
\u000
+\dd Hovering over a selected object (inside the blue highlight area) displays an anchor. The Anchor shows the actions available -
+
+\lcont{
+
+\b If the \e{Shift} key is depressed, a "cross-arrows" anchor shows that a \K{cmdMove} will occur with \e{Left-Click}.
+
+\b If the \e{Ctrl} key is depresesed, a "rotation-circle" anchor shows that a \K{cmdRotate} will occur with \e{Left-Click}.
+
+\b With neither depressed a "target" anchor shows that a \e{Double-Click} will invoke \K{cmdModify} within Select for the object hovered over.
+
}
\u000
-\dd Hovering over a selected object (inside the blue highlight area) with either a \e{Shift} or a \e{Ctrl} button depressed displays an anchor that shows that a Left-Drag will either Move or Rotate the selected items.
+\dd \e{Shift+Ctrl} plus the \e{Arrow Keys} will move the selected items a pixel at a time at the current zoom level. No autosnap will occur to permit fine tuning.
\u000
-\dd \e{Shift+Right-Click} (\K{cmdAcclKeys}) - displays a pop-up menu of options controlling how objects are drawn during moves and rotates (below). If there are selected objects then additional menu items allow you to rotate the selected objects by various angles.
+\dd \e{Shift+Right-Click} or \e{Right-Click} (depending on the setting of \f{Right-Click} in \K{cmdCmdopt}) -
+Shows context menu items that allow you to perform actions on the selected item(s) including rotating them by various angles and moving them fixed amounts.
\u000
@@ -1618,7 +1867,26 @@ Upon release of the button, all the selected tracks will be moved and aligned an
\u000
-The following commands operate on the objects you have selected:
+\dd \e{Double-Click} - on a eligible object such as a Link Object will Activate it, and on a Modifyable object will go into Modify Mode (\K{cmdModify}) within Select.
+
+\u000
+
+\dd \e{Right-Click} and \e{Shift-Right-Click} - either display a pop-up menu of commands or a set of context commands for the items selected depending on the setting of "Right-Click" in \K{cmdCmdopt}.
+The options effects depend on the type of object(s) selected and hovered over.
+
+\lcont{
+\u000
+
+\G{png.d/mselectcmd.png} or \G{png.d/mselectedcontext.png}
+
+\u000
+
+}
+
+Once Objects are
+
+
+Once objects are selected, the following commands operate on them:
\b \f{Move} (\K{cmdMove}) the selected objects.
@@ -1638,7 +1906,7 @@ The following commands operate on the objects you have selected:
\b \f{Export} (\K{cmdExport}) the selected objects.
-\b Creates a structure or turnout definition from \f{Grouped} (\K{cmdGroup}) objects.
+\b \f{Group} Creates a structure or turnout definition (\K{cmdGroup}) from the objects.
\b \f{Rescale} (\K{cmdRescale}) the selected objects.
@@ -1666,12 +1934,15 @@ Notes:
\rule
+\S{cmdSplit} Split Commands
-\S{cmdSplitTrack} Split Track
+There are two split commands, \K{cmdSplitTrack} and \K{cmdSplitDraw}.
+
+\S2{cmdSplitTrack} Split Track
\G{png.d/bsplit.png}
-The \f{Split} command provides several functions. It can be used to disconnect the joint between two sections of connected track, to divide a section of track into two pieces at a selected point or to place block gaps at an existing joint.
+The \f{Split Track} command provides several functions. It can be used to disconnect the joint between two sections of connected track, to divide a section of track into two pieces at a selected point or to place block gaps at an existing joint.
Until a split point is selected, the split point under the cursor will have a blue marker and if it is near a connected end a blue "X" will indicate that a split will occur.
@@ -1733,11 +2004,11 @@ For detail about;
\rule
-\S2{splitDivide} Divide Track
+\S3{splitDivide} Divide Track
Dividing a section of flex track into two connected pieces;
-\n Click the \f{Split} button (\G{png.d/bsplit.png}) to activate the \f{Split} command.
+\n Click the \f{Split Track} button (\G{png.d/bsplit.png}) to activate the \f{Split Track} command.
\n Place the mouse pointer over the point on the track where the it should be divided. A blue anchor bar across the track under the cursor will indicate the current split point. Then \e{Left-Click}.
@@ -1745,7 +2016,7 @@ Dividing a section of flex track into two connected pieces;
\lcont{\u000}
-\dd When the \f{Split} command completes, a connected joint will appear in the track at the point of selection. To split and disconnect at a point, execute the \f{Split} track command twice. The first command will split the track, the second command will disconnect it.
+\dd When the \f{Split Track} command completes, a connected joint will appear in the track at the point of selection. To split and disconnect at a point, execute the \f{Split} track command twice. The first command will split the track, the second command will disconnect it.
\u000
@@ -1780,7 +2051,7 @@ For detail about;
\rule
-\S2{splitBlockGap} Adding \i{Block Gaps}
+\S3{splitBlockGap} Adding \i{Block Gaps}
The \f{Split} command can be used to add block gaps (\K{generalTerms}) at the point where two track endpoints join. Block gaps are drawn as a thick line and can be placed in either of the rails or both if total isolation is required.
@@ -1833,3 +2104,41 @@ For detail about;
\dd Dividing a section of track into two connected pieces see \K{splitDivide}.
\rule
+
+\S2{cmdSplitDraw} Split a Draw Object
+
+The \f{Split Draw} command can be used to split many draw object (Straight Lines, Curved Lines, Circles, Polygons, PolyLines).
+
+Until a split point is selected, the split point under the cursor will have a blue marker.
+
+\n If the object being split is a Polyline, the split will either result in a Straight Line and a PolyLine or two PolyLines depending on where the split is along the line. (PolyLines must always have at least 2 segments).
+
+\n Filled Circles and Polygons will be unfilled after the split.
+
+\n If the split object is a Circle, the result is an circular arc split at the point with a small (5 degree) gap.
+
+\n If the split object is a Polygon, a PolyLine with two end points at the split results.
+
+\rule
+
+\S2{cmdTrimDraw} Trim a Draw Object using another Draw object
+
+The \f{Trim Draw} command can be used to trim many draw objects (Straight Lines, Curved Lines, Circles, Polygons, PolyLines). Polygons and Circles are split into PolyLines and Curves.
+
+\n First a Trimming object (draw object) is selected with \f{Left-Click}. Until the trim draw object is selected, a draw object under the cursor will be highlit in blue. Once it is selected it will be highlit in the current Select Color.
+
+\n Next the point of intersection between the trim object and an object to be trimmed is selected. Until a split point is selected, a suitable split point under the cursor will have a blue trim anchor that is a T shape aligned with the trimming object.
+
+The trim anchor base has an arm that indicates which side of the trimmed object will be deleted. A \f{Left-Click} will trim the object.
+
+\u000
+
+If the trimmed object is a circle or a polygon, the result will be the same as a Split (\K{cmdSplitDraw}), a 355 degree circle and an open polyline with ends at the split will result.
+
+Once a trim has occured, the trimming object remains selected for another trim.
+
+To leave the command use the spacebar. If \e{Sticky} (\K{cmdSticky}) is set for Split commands you will be able to select another trim object.
+
+\rule
+
+
diff --git a/app/doc/drawm.but b/app/doc/drawm.but
index 76335bc..a9555b2 100644
--- a/app/doc/drawm.but
+++ b/app/doc/drawm.but
@@ -32,6 +32,10 @@ Functions for drawing basic shapes and objects like lines and curves can be acce
\u000
+\dd \f{Protractor} - create protractor and set visibility (\K{cmdAngle})
+
+\u000
+
\dd \f{Shapes} - draw boxes, polygons and poly-lines. (\K{cmdDrawShapes})
\u000
@@ -50,6 +54,9 @@ Some commands display controls on the Status Line (\K{mainW}) to change line wid
\G{png.d/mdrawcircles.png}
+Before a Circle is drawn its line width and color can be set. For Filled Circles, the color can be set.
+The \f{Circle Line Width} field is a scaled dimension in inches if >0. If 0 it is a 1 pixel wide line at all zooms. If the value is negative, it is a scale-independent number of pixels wide.
+
\f{Circles} and \f{Filled Circles} are created by selecting either the center position or a point on the edge of the circle and dragging to specify the radius.
\dd \K{cmdDrawCircleTangent}. Draw a Circle from the Edge.
@@ -70,33 +77,33 @@ Some commands display controls on the Status Line (\K{mainW}) to change line wid
\S2{cmdDrawCircleTangent} Draw Circle from Tangent
-\G{png.d/dcircle2.png}
+\G{png.d/dcircle3.png}
-\c{Left-Drag} a point on the edge of the circle to specify the radius.
+\c{Left-Drag} a point from the edge of the circle to the center to specify the radius.
\rule
\S2{cmdDrawCircleCenter} Draw Circle from Center
-\G{png.d/dcircle3.png}
+\G{png.d/dcircle2.png}
-\c{Left-Drag} from the center of the circle to the edge.
+\c{Left-Drag} from the center of the circle to the edge to specify the radius.
\rule
\S2{cmdDrawFilledCircleTangent} Draw Filled Circle from Tangent
-\G{png.d/dflcrcl2.png}
+\G{png.d/dflcrcl3.png}
-\c{Left-Drag} from the center of the circle to the edge.
+\c{Left-Drag} from the edge of the circle to the center to specify the radius.
\rule
\S2{cmdDrawFilledCircleCenter} Draw Filled Circle from Center
-\G{png.d/dflcrcl3.png}
+\G{png.d/dflcrcl2.png}
-\c{Left-Drag} a point on the edge of the circle to specify the radius.
+\c{Left-Drag} a point from the center to the edge of the circle to specify the radius.
\rule
@@ -104,6 +111,9 @@ Some commands display controls on the Status Line (\K{mainW}) to change line wid
\G{png.d/mdrawcurve.png}
+Before a Curved Line is created, its width and color can be set.
+The \f{Curved Line Width} or \f{Bezier Line Width} field is a scaled dimension in inches if >0. If 0 it is a 1 pixel wide line at all zooms. If the value is negative, it is a scale-independent number of pixels wide.
+
\f{Curved Lines} are created in the same manner as curved tracks.
\dd (\K{cmdDrawCurveEndPt}). Drag out the end point and then curve it.
@@ -124,12 +134,17 @@ Some commands display controls on the Status Line (\K{mainW}) to change line wid
\dd (\K{cmdDrawBezierCurve} \G{png.d/dbezier.png} \e{Left-Drag} out control point from one end of the curve and then \e{Left-Drag} out the second control point from the other end.
-If \f{MagneticSnap} is enabled, the curve ends will snap to the nearest part of nearby Draw objects unless \e{Alt} is held.
-If it is disabled, snapping will only occure if \e{Alt} is held.
+If \f{MagneticSnap} (\K{cmdMagneticSnap}) is enabled, the curve ends will snap to the nearest part of nearby Draw objects unless \e{Alt} is held.
+If Magnetic Snap is disabled, snapping to objects will only occur if \e{Alt} is held.
-The precise values of Radius and Arc Length can be set using the text boxes on the bottom rail once the mouse button is released.
+If \f{Grid Snap} is on and magnetic snap does not find a draw object, the curve ends will snap to the grid. \e{Alt} suppresses this snap.
-To adjust the curve, \e{Left-Click} and \e{Left-Drag} an end or a the radius. Hit \e{Enter} or \e{Space} to accept, \e{Esc} to reject.
+If \e{Sticky} is set for curved line objects, after the curve is drawn there will be two text fields on the bottom rail, to allow fine-tuning of the radius and the arc angle.
+Pressing \c{Enter} or \c{Tab} with the cursor in these boxes will apply the new values to the curve. Pressing \c{Space} or \c{Enter} or \c{Tab} on the drawing surface will move to drawing a new curve.
+Pressing \c{Shift+Tab} with the cursor on the drawing surface will remove the current curve, but allow a new curve to be drawn.
+Even if \c{Esc} is pressed, the curve will already exist, it can be removed with \f{Undo}.
+
+To adjust the curve with the mouse, \e{Left-Click} and \e{Left-Drag} an end or a the radius. Hit \e{Enter} or \e{Space} to accept, \e{Esc} to reject.
\rule
@@ -140,8 +155,9 @@ To adjust the curve, \e{Left-Click} and \e{Left-Drag} an end or a the radius. Hi
\c{Left-drag} from the start of the curve and drag in the direction of the curve.
Then \c{left-drag} to form the curve.
-If the cursor is over a Draw object and \f{MagneticSnap} is on, the first position will snap to the nearest part of that object. If \e{Alt} is held the snap will be suppressed.
-If \f{MagneticSnap} is disabled, the snap will happen if \e{Alt} is held. The second end will act similarly.
+If the cursor is over a Draw object and \f{MagneticSnap} (\K{cmdMagneticSnap}) is on, the first position will snap to the nearest part of that object. If \e{Alt} is held the snap will be suppressed.
+If \f{MagneticSnap} is disabled, the snap will happen if \e{Alt} is held. If \f{GridSnap} is enabled and MagneticSnap does not find a postion, the first position will snap to the Grid. This is
+suppressed if \f{Alt} is held. The second end will act similarly.
\rule
@@ -152,7 +168,10 @@ If \f{MagneticSnap} is disabled, the snap will happen if \e{Alt} is held. The s
Select one end of the curve and \c{left-drag} to the center.
Then \c{left-drag} the curve around the center.
-The first and second ends will act like \K{cmdDrawCurveEndPt} with \f{MagneticSnap} unless \e{Alt} is held.
+The first and second ends will act like \K{cmdDrawCurveEndPt} with \f{MagneticSnap} (\K{cmdMagneticSnap}) unless \e{Alt} is held.
+If \f{GridSnap} is enabled and MagneticSnap does not find a postion, the first position will snap to the Grid. This is
+suppressed if \f{Alt} is held.
+
To complete the command, drag on the red arrows to adjust the curve from the initial end.
\rule
@@ -161,7 +180,8 @@ To complete the command, drag on the red arrows to adjust the curve from the ini
\G{png.d/dcurve3.png}
-Select the center of the curve and \c{left-drag} to one end.
+Select the center of the curve and \c{left-drag} to one end. If \f{GridSnap} is enabled, the first position will snap to the Grid. This is
+suppressed if \f{Alt} is held.
\rule
@@ -171,7 +191,7 @@ Select the center of the curve and \c{left-drag} to one end.
\c{Left-drag} from one end of the curve to the other to form the chord of the curve.
-The first and second ends will act like \K{cmdDrawCurveEndPt} with \f{MagneticSnap} unless \e{Alt} is held.
+The first and second ends will act like \K{cmdDrawCurveEndPt} with \f{MagneticSnap} (\K{cmdMagneticSnap}) and \f{SnapGrid} unless \e{Alt} is held.
If the mouse is over a draw object the second position will snap to the nearst part of that object. If \e{Shift} is held the snap will be suppressed.
@@ -186,7 +206,7 @@ To complete the command, drag on the red arrows to adjust the curve.
\e{Left-Drag} out control point from one end of the curve and then \e{Left-Drag} out the second control point from the other end.
Repeat for the other end and control point.
-The first and second ends will act like \K{cmdDrawCurveEndPt} with \f{MagneticSnap} unless \e{Alt} is held.
+The first and second ends will act like \K{cmdDrawCurveEndPt} with \f{MagneticSnap} and \f{SnapGrid} unless \e{Alt} is held.
\rule
@@ -213,6 +233,7 @@ The \f{Note} command allows you to
\G{png.d/bnote.png} \G{png.d/iconnote.png} Click and drag on the Main Canvas (\K{mainW}) to place the note.
When you release, the \e{Note Editor} dialog is displayed. You can enter the note in the text area.
+Text is limited to about 10 thousand characters.
\G{png.d/notetext.png}
@@ -270,6 +291,20 @@ Subsequent clicks on the \f{Ruler} button will hide or display the ruler.
\rule
+\S{cmdAngle} Protractor
+
+\G{png.d/bangle.png}
+
+The \f{Angle} command displays a \e{Protractor} on the layout. Click for the protractor origin and \c{left-drag} the cursor to set the base angle. Adding \c{Ctrl} will snap the angle to a multiple of 90 degrees.
+
+Then \{Left-Drag the second line. Adding \c{Ctrl} will snap the angle to 90 degree relative to the base line. The angle between the lines is displayed.
+
+Sunsequent clicks on the \f{Angle} button will hide or display the \e{Protractor}.
+
+The points of the \e{Protractor} can be modified using the \f{Modify} (\K{cmdModify}) command.
+
+\rule
+
\S{cmdDrawShapes} Shapes
@@ -298,10 +333,9 @@ Shapes are drawn by:
\u000
+If \e{Sticky} is set for many draw line and curve objects, after the object is created, precise dimensions can be entered to alter the new object, before it is completed either with a \c{Space} or \c{Return} or \c{Tab} or by selecting a new operation.
-If \e{Sticky} is set for draw line and curve objects, after the object is created, precise dimensions can be entered to alter the new object, before it is completed either with a \c{Space} or \c{Return} or by selecting a new operation.
-
-The \f{Polygon} and \f{PolyLine} shapes are finished by pressing the \c{Space} or \c{Return} key or by selecting another operation. Before they are finished, precise dimensions can be entered for the last side drawn.
+The \f{Polygon} and \f{PolyLine} shapes are finished by pressing the \c{Space} or \c{Return} \c{Tab} key or by selecting another operation. Before they are finished, precise dimensions can be entered for the last side drawn.
All Polylines and Polygons must have more than 2 corners to be created successfully.
Note that \K{cmdModify} can be used on a Polygon or a Polyline after it has been finished to alter individual points and to make them curved or rounded points.
@@ -312,6 +346,9 @@ Note that \K{cmdModify} can be used on a Polygon or a Polyline after it has been
\G{png.d/dbox.png}
+Before the box is drawn, the line width and color can be specified.
+The \f{Box Line Width} field is a scaled dimension in inches if >0. If 0 it is a 1 pixel wide line at all zooms. If the value is negative, it is a scale-independent number of pixels wide.
+
\f{Boxes} are created by selecting one corner and dragging the opposite corner.
\u000
@@ -332,10 +369,13 @@ Note that \K{cmdModify} can be used on a Polygon or a Polyline after it has been
\G{png.d/dpoly.png}
+Before the polygon is started the line width and color can be set.
+The \f{PolyGon Line Width} field is a scaled dimension in inches if >0. If 0 it is a 1 pixel wide line at all zooms. If the value is negative, it is a scale-independent number of pixels wide.
+
\f{Polygons} are created by either a series for \c{Left-Click}s or \c{Left+Drag}s, and a new "node" is placed for each.
When using \c{Left-drag}, the node will be positioned when you release the button.
-\dd If \f{MagneticSnap} is enabled, An anchor point will be shown on nearby draw objects that the next point will be snapped to unless \c{Alt} is held.
+\dd If \f{MagneticSnap} (\K{cmdMagneticSnap}) is enabled, An anchor point will be shown on nearby draw objects that the next point will be snapped to unless \c{Alt} is held.
\dd If it is disabled, the snap will only occur if \e{Alt} is held.
@@ -352,16 +392,18 @@ On the first polygon side this will be at a multiple of 90 degrees to the axes.
\rule
-\S2{cmdDrawFilledPolygon} Drae Filled Polygon
+\S2{cmdDrawFilledPolygon} Draw Filled Polygon
\G{png.d/dfilbox.png}
+Before the Polygon is started, the fill color can be set.
+
\f{Filled Polygons} are created by either a series for \c{Left-Click}s or \c{Left+Drag}s, and a new "node" is placed for each.
When using \c{Left-drag}, the node will be positioned when you release the button.
\dd The fill color can be adjusted using the color control at the bottom of the window
-\dd If \f{MagneticSnap} is enabled, An anchor point will be shown on nearby draw objects that the next point will be snapped to unless \c{Alt} is held.
+\dd If \f{MagneticSnap} (\K{cmdMagneticSnap}) is enabled, An anchor point will be shown on nearby draw objects that the next point will be snapped to unless \c{Alt} is held.
\dd If it is disabled, the snap will only occur if \e{Alt} is held.
@@ -384,10 +426,13 @@ On the first polygon side this will be at a multiple of 90 degrees to the axes.
\G{png.d/dpolyline}
+Before the polygon is started the line width and color can be set.
+The \f{Polyline Line Width} field is a scaled dimension in inches if >0. If 0 it is a 1 pixel wide line at all zooms. If the value is negative, it is a scale-independent number of pixels wide.
+
\f{PolyLines} are created by either a series for \c{Left-Click}s or \c{Left+Drag}s, and a new "node" is placed for each.
When using \c{left-drag}, the node will be positioned when you release the button.
-\dd If \f{MagneticSnap} is enabled, An anchor point will be shown on nearby draw objects that the next point will be snapped to unless \c{Alt} is held.
+\dd If \f{MagneticSnap} (\K{cmdMagneticSnap}) is enabled, An anchor point will be shown on nearby draw objects that the next point will be snapped to unless \c{Alt} is held.
\dd If it is disabled, the snap will only occur if \e{Alt} is held.
@@ -436,15 +481,22 @@ Straight Objects are created by a \e{Left+Drag} (\K{windowTerms}) on the layout.
\S2{cmdDrawLine} Draw Straight Line
-\G{png.d/dline.png} Creates a \f{Straight Line} of specified color and width.
+\G{png.d/dline.png}
+
+Creates a \f{Straight Line} of specified color and width.
+The \f{Straight Line Width} field is a scaled dimension in 75ths of an inch if >0. If 0 it is a 1 pixel wide line at all zooms. If the value is negative, it is a scale-independent number of pixels wide.
-If \c{Ctrl} is held down during \c{Left+Drag} the line will snap the relative angle of the new side to a multiple of 90 degrees.
+If \c{Ctrl} is held down during \c{Left+Drag} the line will snap the angle of the new side to a multiple of 90 degrees.
-If \e{Sticky} is set for draw line and curve objects, after the object is created, precise dimensions can be entered to alter the new object,
-before it is completed either with a \c{Space} or \c{Return} or \c{Tab} or by selecting a new operation.
+With \f{MagneticSnap} (\K{cmdMagneticSnap}) enabled, the new line start position will snap to the nearest draw object, as shown by the anchor. If \c{Alt} is held down, the magnetic Snap is reversed.
+If \f{GridSnap} is enabled and MagneticSnap does not find a postion, the first position will snap to the Grid. This is suppressed if \f{Alt} is held.
-With \f{MagneticSnap} enabled, the new line start position will snap to the nearest draw object, as shown by the anchor unless \c{Shift} is held down.
-If it is diabled, it will onlt snap if \e{Shift} is held.
+The \f{Width} field is a scaled dimension in inches if >0. If 0 it is a 1 pixel wide line at all zooms. If the value is negative, it is a scale-independent number of pixels wide.
+
+If \e{Sticky} is set for straight draw, after the line is drawn there will be two text fields on the bottom rail, to allow fine-tuning of the angle and the length.
+Pressing \c{Enter} or \c{Tab} with the cursor in these boxes will apply the value to the line. Pressing \c{Space} or \c{Enter} on the drawing surface will move to drawing a new line.
+Pressing \c{Shift+Tab} will remove the current object and allow a new one to drawn.
+Even if \c{Esc} is pressed, the line will already exist, it can be removed with \f{Undo}.
\rule
@@ -454,11 +506,11 @@ If it is diabled, it will onlt snap if \e{Shift} is held.
Creates a \f{Dimension Line} of various sizes.
-With \f{MagneticSnap} enabled, the new line start position will snap to the nearest draw object, as shown by the anchor unless \c{Shift} is held down.
-If it is disabled, it will onlt snap if \e{Shift} is held.
-If \c{Ctrl} is held down during \c{Left+Drag} the line will snap the relative angle of the new side to a multiple of 90 degrees.
-If \e{Sticky} is set for draw line and curve objects, after the object is created, precise dimensions can be entered to alter the new object,
-before it is completed either with a \c{Space} or \c{Return} or \c{Tab} or by selecting a new operation.
+With \f{MagneticSnap} (\K{cmdMagneticSnap}) enabled, the new line start position will snap to the nearest draw object, as shown by the anchor unless \c{Alt} is held down.
+If it is disabled, it will only snap if \e{Alt} is held. If \f{GridSnap} is enabled and MagneticSnap does not find a postion, the first position will snap to the Grid. This is
+suppressed if \f{Alt} is held.
+
+If \c{Ctrl} is held down during \c{Left+Drag} the line will snap the angle of the new side to a multiple of 90 degrees.
\S2{cmdDrawBench} Draw Benchwork.
@@ -478,11 +530,16 @@ Creates \i\f{Bench-work} using different types and orientation of lumber.
\dd When using metric units (\K{cmdPref}), a 1" x 2" is labeled 50mm x 25mm
-With \f{MagneticSnap} enabled, the new line start position will snap to the nearest draw object, as shown by the anchor unless \c{Shift} is held down.
-If it is diabled, it will onlt snap if \e{Shift} is held.
-If \c{Ctrl} is held down during \c{Left+Drag} the line will snap the relative angle of the new side to a multiple of 90 degrees.
-If \e{Sticky} is set for draw line and curve objects, after the object is created, precise dimensions can be entered to alter the new object,
-before it is completed either with a \c{Space} or \c{Return} or \c{Tab} or by selecting a new operation.
+With \f{MagneticSnap} (\K{cmdMagneticSnap}) enabled, the new line start position will snap to the nearest draw object, as shown by the anchor unless \c{Alt} is held down.
+If it is disabled, it will only snap if \e{Alt} is held. If \f{GridSnap} is enabled and MagneticSnap does not find a postion, the first position will snap to the Grid. This is
+suppressed if \f{Alt} is held.
+
+If \c{Ctrl} is held down during \c{Left+Drag} the line will snap the angle of the new side to a multiple of 90 degrees.
+
+If \e{Sticky} is set for straight draw, after the benchwork is drawn there will be two text fields on the bottom rail, to allow fine-tuning of the angle and the length.
+Pressing \c{Enter} or \c{Tab} with the cursor in these boxes will apply the value to the benchwork. Pressing \c{Space} or \c{Enter} or \c{Tab} on the drawing surface will move to drawing a new benchwork line.
+Pressing \c{Shift+Tab} on the drawing surface will remove the current object and allow a new one to be drawn.
+Even if \c{Esc} is pressed, the benchwork will already exist, it can be removed with \f{Undo}.
\S2{cmdDrawTableEdge} Draw Table Edge
@@ -490,21 +547,27 @@ before it is completed either with a \c{Space} or \c{Return} or \c{Tab} or by se
Creates a \f{Table Edge}
-With \f{MagneticSnap} enabled, the new line start position will snap to the nearest draw object, as shown by the anchor unless \c{Shift} is held down.
-If it is diabled, it will onlt snap if \e{Shift} is held.
-If \c{Ctrl} is held down during \c{Left+Drag} the line will snap the relative angle of the new side to a multiple of 90 degrees.
-If \e{Sticky} is set for draw line and curve objects, after the object is created, precise dimensions can be entered to alter the new object,
-before it is completed either with a \c{Space} or \c{Return} or \c{Tab} or by selecting a new operation.
+With \f{MagneticSnap} (\K{cmdMagneticSnap}) enabled, the new line start position will snap to the nearest draw object, as shown by the anchor unless \c{Alt} is held down.
+If it is disabled, it will only snap if \e{Alt} is held. If \f{GridSnap} is enabled and MagneticSnap does not find a postion, the first position will snap to the Grid. This is
+suppressed if \f{Alt} is held.
+
+If \c{Ctrl} is held down during \c{Left+Drag} the edge will to a end point of another table edge or to a multiple of 90 degrees if that isn't available.
+
+If \e{Sticky} is set for straight draw, after the edge is drawn there will be two text fields on the bottom rail, to allow fine-tuning of the angle and the length.
+Pressing \c{Enter} or \c{Tab} with the cursor in these boxes will apply the value to the edge. Pressing \c{Space} or \c{Enter} or \c{Tab} on the drawing surface will move to drawing a new edge.
+Pressing \c{Shift+Tab} on the drawing surface will remove the current object and allow a new one to be drawn.
+Even if \c{Esc} is pressed, the edge will already exist, it can be removed with \f{Undo}.
\rule
\S{DrawOrigin} Draw Objects Origin
-Some objects have a natural rotation point within them. By setting the origin to this point, subsequent rotation will be about that point and not the layout origin.
-This is referred to as a \e{Relative} origin.
-When one of these is moved or rotated, the origin and angle are adjusted but the relative draw point values remain the same.
+Some objects will a natural rotation point within them. By setting the object origin to this point, subsequent rotation will be about that point and not the layout origin.
+This is referred to as a \e{Relative} origin and will be present if the origin is non-zero.
+When an object with a Relative is moved or rotated, the origin and angle are adjusted but the relative draw point values remain the same.
+If an object has a zero origin, it is called Absolute. If it is moved or rotated, the origin and angle remain zero, but all the obect point(s) are adjusted.
-You can choose to set the origin to make it Relative or put it back to Absolute during \K{cmdDrawShapes} or \K{cmdModify} or by using the \K{cmdDescribe} settings.
+You can choose to set the origin to make it Relative or put it back to Absolute (origin zero) during \K{cmdDrawShapes} or \K{cmdModify} or by using the \K{cmdDescribe} settings.
As a practical matter, the object will appear identical until a subsequent rotation value is entered in the \K{cmdDescribe} window in both cases.
@@ -525,17 +588,23 @@ In Origin Mode (entered using \c{'o'} or the Context Menu, there are certain sho
\G{png.d/btext.png}
-The \f{Text} command lets you enter text on the layout at the selected position. You can use the Tab key to format the text to fixed tab positions and CTRL+Enter to enter a newLine character.
+The \f{Text} command lets you enter a Text Draw object on the layout at the selected position. You can use the Tab key to format the text to fixed tab positions and CTRL+Enter to enter a newLine character.
\G{png.d/statustext.png}
-The font size can be changed by the Font Size drop list on the \f{Status-bar} (\K{mainW}). The font size is scaled along with everything else on the layout so text is always the same relative size as other layout objects.
+The font size can be changed by the Font Size drop list on the \f{Status-bar} (\K{mainW}). The font size is scaled along with everything else on the layout so text is always the same relative size as other layout objects.
+
+The color used can be selected by the Color icon on the \f{Status-bar} (\K{mainW}).
+
+The new text object can be "boxed" by having a line drawn around it using the Boxed tick-mark on the \f{Status-bar} (\K{mainW}).
+
+The position where text is to be placed on the layout is selected prior to text entry by \c{Left-Click}ing on the layout at the point where the text is to appear. Desired text is input after the position is selected. If necessary, the location can be changed once text entry begins by \c{Left-Click+Drag}ing the text to any desired postion on the layout.
-The font can be selected by the \f{Font Selection} (\K{fontSelW}) dialog invoked by the \f{Options>Fonts} menu item or by \c{Shift+Right-Click} (\K{cmdAcclKeys}).
+The \f{Properties} (\K{cmdDescribe}) command can be used to modify the contents, color and fontsize of existing \f{Text} objects and to set the boxes property.
-The position where text is to be placed on the layout must be selected prior to text entry. The position is select by \c{Left-Click}ing on the layout at the point where the text is to appear. Desired text is entered after the position is selected. If necessary, the location can be changed once text entry begins by \c{Left-Click+Drag}ing the text to any desired postion on the layout.
+The new Text object is committed when another command is entered (or \e{Enter} is used if the Text command is Sticky).
-The \f{Properties} (\K{cmdDescribe}) command can be used to modify the contents of existing \f{Text} objects and to draw boxes around them.
+The font used for all Text objects can be selected by the \f{Font Selection} (\K{fontSelW}) dialog invoked by the \f{Options>Fonts} menu item or by \c{Shift+Right-Click} (\K{cmdAcclKeys}).
Note: loading fonts (or changing sizes) can take a noticeable amount of time.
diff --git a/app/doc/editm.but b/app/doc/editm.but
index 166ec11..1e1e572 100644
--- a/app/doc/editm.but
+++ b/app/doc/editm.but
@@ -10,85 +10,103 @@
The \f{Edit Menu} shows commands affecting the \f{Main Canvas} (\K{mainW}).
-\dd \f{Above} - Moves selected object to foreground.
+\dd \i\f{Undo} - Reverses the last command. Up to the last ten commands can be undone. If there are no commands that can be undone the \f{Undo} item is disabled. The \f{Undo} command can also be invoked by the \f{Undo} button (\K{cmdUndo}).
\u000
-\dd \f{Below} - Moves selected object to background.
+\dd \i\f{Redo} - Undoes the last Undo command. The \f{Redo} command can also be invoked by the \f{Redo} button (\K{cmdUndo}).
\u000
-\dd \f{Copy} - Copies the selected objects to the clipboard.
+\dd \i\f{Cut} - Moves the selected objects to the clipboard.
\u000
-\dd \f{Clone} - Copies the selected objects to the clipboard and duplicates them offset from the original.
-Repeated Clone commands result in a series of offset copies.
-The new objects are selected and the old ones un-selected.
+\dd \i\f{Copy} - Copies the selected objects to the clipboard.
\u000
-\dd \f{Cut} - Moves the selected objects to the clipboard.
+\dd \i\f{Paste} - Copies the contents of the clipboard to the layout. Using the paste Menu command it will be placed at the center of the screen.
+If the context menu paste is used or the short-cuts \e{Ctrl+v} or \e{Shift+Insert}, the parts will be placed at the cursor position.
+Repeated Pastes without moving the cursor result in overlaid copies.
+The newly pasted parts are in \f{Selected} state and can easily be moved into place. Any previously selected objects are unselected.
\u000
-\dd \f{Delete} - Deletes the selected objects.
+\dd \i\f{Delete} - Deletes the selected objects.
\u000
-\dd \f{Deselect All} - unselects all objects on the layout. The same action can be achieved by pressing the ESC key.
+\dd \i\f{Move To Current Layer} - move all selected objects to the current Layer (\K{cmdLayer}).
\u000
-\dd \f{Invert Selection} - selects all unselected objects and unselects all previously selected objects.
+\dd \i\f{Select All} - Selects all objects on the layout.
\u000
-\dd \f{Move To Current Layer} - move all selected objects to the current Layer (\K{cmdLayer}).
+\dd \i\f{Select Current Layer} - selects all objects in the current Layer (\K{cmdLayer}).
\u000
-\dd \f{Paste} - Copies the contents of the clipboard to the layout. Using the paste Menu command it will be placed at the center of the screen.
-If the context menu paste is used or the short-cuts \e{Ctrl+v} or \e{Shift+Insert}, the parts will be placed at the cursor position.
-Repeated Pastes without moving the cursor result in overlaid copies.
-The newly pasted parts are in \f{Selected} state and can easily be moved into place. Any previously selected objects are unselected.
+\dd \i\f{Select By Index} - selects object by index number (\K{cmdSelectIndex}).
+
+\u000
+
+\dd \i\f{Deselect All} - unselects all objects on the layout. The same action can be achieved by pressing the ESC key.
\u000
-\dd \f{Redo} - Undoes the last Undo command. The \f{Redo} command can also be invoked by the \f{Redo} button (\K{cmdUndo}).
+\dd \i\f{Invert Selection} - selects all unselected objects and unselects all previously selected objects.
\u000
-\dd \f{Select All} - Selects all objects on the layout.
+\dd \i\f{Select Stranded Track} - selects all track pieces that are not connected to any other objects. This helps cleaning up a drawing after many changes have been made.
\u000
-\dd \f{Select Current Layer} - selects all objects in the current Layer (\K{cmdLayer}).
+\dd \i\f{Tunnel}\I{Track, Tunnel} - Hides or reveals selected tracks and adds a tunnel portal symbol where the track passes from one to the other.
\u000
-\dd \f{Select Stranded Track} - selects all track pieces that are not connected to any other objects. This helps cleaning up a drawing after many changes have been made.
+\dd \i\f{Bridge}\I{Track, Bridge} - Adds parapet symbols to the sides of the track.
\u000
-\dd \f{Thin, Medium and Thick Tracks} - set displayed rail width of selected tracks.
+\dd \i\f{Ties/No Ties}\I{Track Ties}\I{Track No Ties} - Hides or reveals the ties on selected tracks.
\u000
-\dd \f{Tunnel} - Hides or reveals selected tracks and adds a tunnel portal symbol where the track passes from one to the other.
+\dd \i\f{Move to Front} - Moves selected object to foreground.
\u000
-\dd \f{Bridge} - Adds parapet symbols to the sides of the track.
+\dd \i\f{Move to Back} - Moves selected object to background.
\u000
-\dd \f{Undo} - Reverses the last command. Up to the last ten commands can be undone. If there are no commands that can be undone the \f{Undo} item is disabled. The \f{Undo} command can also be invoked by the \f{Undo} button (\K{cmdUndo}).
+\dd \i\f{Thin, Medium and Thick Tracks} \I{Thin Tracks}\I{Medium Tracks}
+ \I{Thick Tracks}\I{Tracks, Thin}\I{Tracks, Medium}\I{Tracks, Thick}
+ \I{Track Width}
+ - set displayed rail width of selected tracks.
+
+\u000
For more information on working with selected objects, see the Select (\K{cmdSelect}) command.
\rule
+\S{cmdSelectIndex} Select By Index
+
+An input window allows one or more index numbers to be entered. Multiple indexes are seperated by commas.
+
+The object can not be selected if its Layer is frozen.
+
+If the object is part of a module layer, all objects in the layer will be selected.
+
+If the object is a tunnel object, and the Display Tunnel option is None, it will be set to Dashed. See Display options (\K{cmdDisplay}).
+
+When an individual object is selected, its index number is displayed in the Info Message area, another source is the List Parts (\K{cmdEnum}) command with the \f{List Indexes} option.
\S{cmdAboveBelow} "Move To Front" and "Move to Back"
@@ -107,19 +125,19 @@ Selected objects moved to the \f{Background} become unselected.
Additional Shortcut keys perform the following:
-\dd \c{Shift+Backspace} - Undo
+\dd \c{Ctrl+Z} - Undo
\u000
-\dd \c{Ctrl+Insert} - Copy
+\dd \c{Ctrl+C} - Copy
\u000
-\dd \c{Shift+Insert} - Paste
+\dd \c{Ctrl+V} - Paste
\u000
-\dd \c{Shift+Delete} - Cut
+\dd \c{Ctrl+X} - Cut
\u000
@@ -170,7 +188,7 @@ If you perform this action (or use Tunnel) the bridge is removed.
The \f{Ties} command is used to hide Ties (or reshow them). This may be useful for overlapping track, like dual gauge, or in areas like docks or yards where the track is covered.
-Select the tracks you want to hide or show ties for.
+Select the tracks you want to hide or show ties for.
\rule
diff --git a/app/doc/filem.but b/app/doc/filem.but
index a0cce82..2fa4dba 100644
--- a/app/doc/filem.but
+++ b/app/doc/filem.but
@@ -29,7 +29,7 @@ The \f{File Menu} shows file oriented commands for loading and saving layout fil
\u000
-\dd \f{Export to Bitmap} - Creates a bitmap file (\K{cmdOutputbitmap}) of the layout. The bitmap will be saved in PNG format.
+\dd \f{Export to Bitmap} - Creates a bitmap file (\K{cmdOutputbitmap}) of the layout. The bitmap can be saved in either JPEG or PNG format.
\u000
@@ -37,6 +37,11 @@ The \f{File Menu} shows file oriented commands for loading and saving layout fil
\u000
+\dd \f{Export to SVG} - Exports the selected objects to a file in SVG format. The exported file can then be imported into a vector drawing program like Inkscape
+or used for publishing on the web.
+
+\u000
+
\dd \f{File List} - List of the five most recently used \e{XTrackCAD} files or archives.
\u000
@@ -100,14 +105,21 @@ This menu item creates a bitmap file of the layout.
\G{png.d/bitmap.png}
-The \f{Bitmap} dialog specifies the style and size of the bitmap. The three check-boxes (\f{Print Titles}, \f{Print Borders} and \f{Print Centerline}) control whether the Layout Title (\K{cmdLayout}), the borders or the track centerlines are printed on the bitmap. The size of the bitmap is smaller if these are disabled.
+The \f{Bitmap} dialog specifies the style and size of the bitmap. The check-boxes (\f{Layout Titles}, \f{Borders}, \f{Centerline of Track} and
+\f{Background Image}) control
+whether the Layout Title (\K{cmdLayout}), the borders or the track centerlines are printed on the bitmap. If a background image is used it will be
+printed if the option is set.
+
+ The size of the bitmap is smaller if these are disabled.
Printing the track centerlines (also seen when zoomed in 1:1) is useful when you later print the bitmap
full size for laying out track.
If the Snap Grid (\K{cmdGrid}) is visible then it will be printed on the bitmap.
-The \f{DPI} (or \f{DPCM} if using metric units (\K{cmdPref})) control specifies the number of pixels per inch (or centimeter) in the bitmap. You can enter values from 0.1 to 100. Larger values will result in a larger bitmap file. bitmaps must be less than 32000 pixels in height or width.
+The \f{DPI} control specifies the number of pixels per inch in the bitmap. Bitmaps must be less than 32,000 pixels in height or width.
+The upper value you can enter depends on the size of your trackplan. It is made sure that your bitmap does not exceed these limits.
+Larger values will result in a larger bitmap file.
The bitmap width, height and approximate file size is indicated.
@@ -115,7 +127,8 @@ Note: This command can create a very large file and consume a lot of memory and
Pressing the \f{OK} button invokes a \f{File Save} dialog so you can choose the file name for the Bitmap.
-The format of the file is PNG on all operating systems.
+You can select to create JPEG or PNG files. As a rule of thumb JPEG results in smaller files when you use a backgound image, PNG
+does so for trackplans without an image background.
\rule
@@ -129,6 +142,22 @@ Exported files can then be imported into other CAD programs.
\rule
+\S{ExportSVG} \i{Export to SVG}
+
+This menu item displays a file selection dialog where a file name for exported objects can be entered. All selected (\K{cmdSelect}) objects are exported to the file. The export file will have an \c{svg} extension.
+
+Files in SVG format can be used for different purposes.
+
+\b SVG files can be loaded into many drawing programs. This makes it possible to enhance and resize the image. Vector images have the advantage of
+allowing lossless resizing.
+
+\b Most modern browsers support SVG as an image format. So the resulting file can directly be used to publish your plan on the web. By adding a bit of
+Javascript, zooming and panning can be enabled. Appropiate scripts can easily be found using your favorite search engine.
+The generated SVG uses the layout description as a title that is shown by some browser. Also the drawing has an 'id' for manipulation by Javascript.
+This id is derived from the filename by removing all spaces and sticking the word 'id' in front. Eg exporting \c{stonega.xtc} the resulting id will be \c{idstonega}.
+
+\rule
+
\S{cmdImport} Import
Importing displays a file selection dialog to specify the file to import.
@@ -149,26 +178,27 @@ The dialog contains a list of parameter files. Each file is preceded by a color
are usable in the current scale and gauge.
\G{png.d/greendot.png} \G{png.d/greenstar.png} Definitions from this file are a perfect fit for the current layout options. The file has been loaded and will be visible in the \f{HotBar}. For track this means that gauge and scale of the track elements
-are identical to the layout settings.
+are identical to the layout settings. Prototype definitions (Scale "*") are always a perfect fit. Turnouts and Sectional Track must have the same gauge and usually the same scale unless the scale/gauge combination has been defined to fit.
+OO layouts use HO track as an example.
\G{png.d/yellowdot.png} \G{png.d/yellowstar.png} Definitions from this file can be used with this layout but do not fit perfectly. A typical example is On30 where HO scale track can be used because the
-gauge is the same. But differences in scale may make the track look out of scale.
+gauge is the same. But differences in scale may make the track look out of scale. Structures are considered compatible if the scale is within +/-20%. Cars are compatible if the gauge is the same, but the scale can be +/-20%.
+Exceptions to this can be defined in the scale definitions.
\G{png.d/reddot.png} \G{png.d/redstar.png} This parameter file doesn't contain any usable definitions with current settings. You may want to change the layout options if you want to use elements from
this file (for example altering the Layout Scale).
\G{png.d/greydot.png} \G{png.d/greystar.png} This file is loaded but hidden.
If it is marked as favorite it will be kept on the
-list between runs. Otherwise it will be removed from the list when
-the program is terminated.
+list between runs.
-Definition files can be marked as \e{favorite}. The indicator for favorites is a star.
+Parameter files can be marked as \e{favorite}. The indicator for favorites is a star.
The meaning of the colors isn't changed.
Loaded definition files that are marked with a yellow or a green indicator appear on the \f{Hot Bar} (\K{cmdHotBar}).
If you \e{unload} a file the definitions are removed from the selection lists and the \f{Hot Bar}.
-If the unloaded file was marked as a favorite it can be \e{reloaded} by selecting the \f{Reload} button.
+If the unloaded file was marked as a favorite it can be \e{reloaded} by selecting the \f{Reload} button.
Files that are still loaded can be \e{reloaded} as well. In that case the old definitions are refreshed and extended by the
rereading the file. This can be useful if you want to check changes you made by hand-editing a parameter file.
@@ -189,7 +219,7 @@ It is the equivalent of using \f{Browse} and selecting the file again.
Files can be listed by either their file name or by their contents description.
This is controlled by the \f{Show File Names} check box.
-The \f{Search} button opens the \e{Search Parameter File} dialog (\K{cmdSearchgui}) this
+The \f{Library} button opens the \e{Choose Parameter File} dialog (\K{cmdSearchgui}) this
shows the all files included the system library so they can be added.
The \f{Browse} button opens a file window that allows the user to add additional files
@@ -203,18 +233,23 @@ The order in this list controls the order of turnouts and structures on the
\f{Hot Bar} (\K{cmdHotBar}). You can move a parameter file to the end of the
list by \e{Unloading} it, and then loading it via the \f{Browse} button.
-\S{cmdSearchgui} \i{Search Parameter Files}
+\S{cmdSearchgui} \i{Choose Parameter Files}
Selecting and loading additional parameter files from the System Library is done in the
-\f{Search Parameter Files} dialog.
+\f{Choose Parameter Files} dialog.
\G{png.d/paramsearch.png}
Using the Search function you can find and select parameter files that are
part of the XTrackCAD installation.
-Enter a search string and select the Search button. Search results are
-shown in the list box. A blank search or the value "*" resets the search results to
-show the entire libary.
+Enter a set of one or more words and select the Search button. Search results are
+shown in the list box. Pressing the \i{Clear Filter} button shows the complete
+list again.
+
+You can subset the search to only search for parameter files who start with contents that fit the current Layout Scale using the \f{Fit} Mode.
+The options are "Fit All", "Fit Compatible" and "Fit Exact". Fit Compatible means that structures with
+Note that the code only looks at the first Turnout, Structure or Car entry to decide on the scale for the entire file.
+They will correspond to the color icons on the Parameter Files menu once they are loaded \K{cmdPrmfile} when the same Layout scale is in use.
Select the files you're interested in and press the \f{Add} button to add them to your
parameter list.
@@ -279,7 +314,8 @@ Whether tracks are printed with one or two lines (representing the center line a
\u000
-\dd \f{Page Numbers} - to help positioning the individual pages the page number is printed in the center of the page in the format (x/y). x is the position from left to right, y in from bottom to top, So (1/1) is the page at the bottom left.
+\dd \f{Page Numbers} - to help positioning the individual pages the page number is printed in the center of the page in the format (x/y).
+x is the page position from left to right, y in from bottom to top, So (1/1) is the page at the bottom left.
As an additional aid, the numbers of the next pages are printed on each edge.
\u000
@@ -288,7 +324,7 @@ As an additional aid, the numbers of the next pages are printed on each edge.
\u000
-\dd \f{Rulers} - print rulers on all edges of the page. This option is only enabled if the \f{Angle} is \e{0.000}.
+\dd \f{Rulers} - choose to print rulers at the layout edge, or on all edges of the page, an option is only enabled if the \f{Angle} is \e{0.000}, or None - which means print no rulers.
\u000
@@ -377,6 +413,29 @@ The \f{Printer Setup} window contains:
\dd \f{Cancel} - ends the dialog without update.
+\u000
+
+\e{Note} -
+Printing uses a default of 600ppi. It scales the print and text from a default size of 72dpi.
+This is often the expected value for a standard printer driver to work correctly, but will not work if the driver is not accurately setting the ppi available.
+To override the printer ppi you can use either the configuration file settings for print or environmental variables.
+These values are set in the Preferences section.
+\u000
+
+\n Preferences.PrintScale - The floating point ratio of the real printer dpi to 72.
+
+\n Preferences.PrintTextScale - The floating point ratio of the real printer text support to a dpi of 72. This value has no effect unless PrintScale is set to > 0.0.
+
+\u000
+These values can also be set using environmental variables if the configuration preference values are not set or they are set to <=0.0.
+\u000
+
+\n XTRKCADPRINTSCALE
+
+\n XTRKCADPRINTTEXTSCALE
+
+\u000
+
\rule
\S2{MS-Windows} \i{Microsoft Windows}
@@ -441,7 +500,7 @@ To check your printer's margin:
\u000
-\dd Enable \f{Registration Marks}
+\dd Enable \f{Registration Marks} this prints crosshairs every 6" at scale 1:1.
\u000
diff --git a/app/doc/hotbar.but b/app/doc/hotbar.but
index fcaddce..d6b9cc7 100644
--- a/app/doc/hotbar.but
+++ b/app/doc/hotbar.but
@@ -16,7 +16,9 @@ The arrow buttons on either side of the \e{Hot bar} move the list one object to
A \c{Right-Click} over the \e{Hot Bar} will display a pop-up menu listing the files with contents on the \e{Hot Bar}. Selecting an item from this list causes the \e{Hot Bar} to jump to the relative spot on the whole list.
-Objects on the \e{Hot Bar} are placed on the drawing canvas by first clicking on the object, \e{Dragging} it the Main window, rotating it with \c{Ctrl+Left-Drag} or \c{Right-Drag} positioning it then pressing the \c{Space} key to set it in place.
+Objects on the \e{Hot Bar} are placed on the drawing canvas by first selecting an object by \e{Cicking} it on the \e{Hot Bar}. Then \e{Click} and \e{Drag} on the Main window, rotating it with \c{Right-Drag} to position it, and then pressing the \c{Space} key to set it in place.
+
+For \e{Turnouts}, see below for additional details on the \e{Active EndPoint}.
\rule
@@ -39,7 +41,7 @@ It will be a smooth monotonic curve if the ends are not in a line and the end an
\S{hbStructures} Structures
-\e{Structures} are placed on the layout in the same way as turnouts (\K{hbTurnouts}) except no active endpoint exists and they do not align with existing track.
+\e{Structures} are placed on the layout in the same way as turnouts (\K{hbTurnouts}) except no Active EndPoint exists and they do not align with existing track.
Refer to \K{cmdStructure} for information pertaining to use of the \e{Structure} dialog.
@@ -48,9 +50,9 @@ Refer to \K{cmdStructure} for information pertaining to use of the \e{Structure}
\S{hbTurnouts} Turnouts
-\e{Turnouts} have an active endpoint (\K{generalTerms}) which is the handle used to position the \e{Turnout}. You can change the \e{active endpoint} by a \c{Shift+Left-Click} which causes the next endpoint to become Active.
+\e{Turnouts} have an \e{Active EndPoint} (\K{generalTerms}) which is the handle used to position the \e{Turnout}. You can change the \e{Active EndPoint} by a \c{Shift+Left-Click} which causes the next endpoint to become Active.
-If you \c{Left+Drag} a turnout onto a track, the active endpoint (\K{generalTerms}) is aligned with the selected track. On flex-track, you can flip the turnout by moving the cursor from one side of the track centerline to the other. On another turnout, the new turnout will be placed at the endpoint closest to the cursor.
+If you \c{Left+Drag} a turnout onto a track, the Active EndPoint (\K{generalTerms}) is aligned with the selected track. On flex-track, you can flip the turnout by moving the cursor from one side of the track centerline to the other. On another turnout, the new turnout will be placed at the endpoint closest to the cursor.
\e{XTrackCAD} will automatically connect the turnout's endpoints to any other tracks they are aligned with. The number of endpoints that will be connected is displayed on the Status Bar, as well as the Maximum displacement between these endpoints and the tracks they will be connected to. \e{XTrackCAD} will adjust the position of the Turnout to give you the best fit for locating the turnout. You can override this adjustment by holding down the \e{Shift} key while \e{Dragging}.
diff --git a/app/doc/intro.but.in b/app/doc/intro.but.in
index 1a423f0..90109cc 100644
--- a/app/doc/intro.but.in
+++ b/app/doc/intro.but.in
@@ -6,7 +6,7 @@
\# Identify XTrackCAD Version, Microsoft Windows software installation package name and Copyright information
-\define{XTCVer} Version @XTRKCAD_VERSION@
+\define{XTCVer} Version @XTRKCAD_VERSION@
\define{XTCWinPack} xtrkcad-setup-@XTRKCAD_VERSION@.exe
@@ -61,7 +61,7 @@ Copyright 2020, Martin Fischer, Adam Richards and Dave Bullis
\cfg{html-local-head}{<meta name="AppleTitle" content="org.xtrkcad.help" />}
-\e{XTrackCAD} is a CAD (computer-aided design) program for designing Model Railroad layouts. \e{XTrackCAD} supports any scale, has libraries of popular brands of turnouts and sectional track (plus you add your own easily), can automatically use spiral transition curves when joining track and has extensive on-line help and demonstrations. \e{XTrackCAD} lets you manipulate track much like you would with actual flex-track to modify, extend and join tracks and turnouts. Additional features include tunnels, 'post-it' notes, on-screen ruler, parts list, 99 drawing layers, undo/redo commands, bench-work, 'Print to Bitmap', elevations, train simulation and car inventory.
+\e{XTrackCAD} is a CAD (computer-aided design) program for designing Model Railroad layouts. \e{XTrackCAD} supports any scale, has libraries of popular brands of turnouts and sectional track (plus you add your own easily), can automatically use spiral transition curves when joining track and has extensive on-line help and demonstrations. \e{XTrackCAD} lets you manipulate track much like you would with actual flex-track to modify, extend and join tracks and turnouts. Additional features include tunnels, 'post-it' notes, on-screen ruler, parts list, 99 drawing layers, undo/redo commands, bench-work, 'Print to Bitmap', elevations, train simulation and car inventory.
Using it, you can
@@ -89,7 +89,7 @@ Using it, you can
\u000
-\b Trace tracks and other objects over a background image of a real-world location map, a scanned trackplan, or other image.
+\b Trace tracks and other objects over a background image of a real-world location map, a scanned trackplan, or other image.
\u000
@@ -110,17 +110,17 @@ Be sure to visit the project web page for latest news and updates: \W{http://www
\f{Easy to use}
- \e{XTrackCAD} was designed to operate in a similar way to pencil and paper: You can draw tracks by dragging the mouse, you select and place turnout "templates" anywhere on existing tracks, and you can use fixed radii for initial design.
-
+ \e{XTrackCAD} was designed to operate in a similar way to pencil and paper: You can draw tracks by dragging the mouse, you select and place turnout "templates" anywhere on existing tracks, and you can use fixed radii for initial design.
+
But extra capabilities have been added that give more power by using FlexTracks (Cornu) you have tracks that automatically redraw as you drag turnouts around, creating smooth curves, you can zoom in and out, and of course, undo and deleting tracks are easier!
-You don't have to be an expert CAD user to make the most of \e{XTrackCAD} but the program will ensure that dimensions, radii and angles are accurate.
+You don't have to be an expert CAD user to make the most of \e{XTrackCAD} but the program will ensure that dimensions, radii and angles are accurate.
You don't have to specify line lengths or angles and just draw. But if you want to be more precise, you can enter precise dimensions both in real-world and scale sizes.
-\e{XTrackCAD} is a specialized CAD for railway modelling, it deals with tracks as tracks, not as line segments. Tracks are connected correctly to each other and with endpoints of turnouts and other components.
+\e{XTrackCAD} is a specialized CAD for railway modelling, it deals with tracks as tracks, not as line segments. Tracks are connected correctly to each other and with endpoints of turnouts and other components.
-As you zoom in, the two rails are drawn and then ties are added.
+As you zoom in, the two rails are drawn and then ties are added.
\f{Free}
@@ -132,33 +132,35 @@ On-line demonstrations show the actual operation of many of the program's featur
\f{Packed with features}
-\e{XTrackCAD} is designed from the ground up to be a complete tool for many aspects of Model Railroad layout design.
+\e{XTrackCAD} is designed from the ground up to be a complete tool for many aspects of Model Railroad layout design.
\dt \e{Active UI Prompting}
\dd As the mouse moves over the layout objects, a set of different anchors are shown to indicate what is possible in each command with each modifier key if clicked or double clicked at that location.
+\u000
+
\dt \e{Train Simulation and Car Inventory}
\dd Any number of Cars and Locomotives can be placed on your layout to check clearances, siding capacities and track layout. Trains can be animated to simulate operations and switching on your layout.
\u000
-\dd The Car Inventory dialog records your cars and locomotives and these can be exported and imported from spreadsheets.
+\dd The Car Inventory dialog records your cars and locomotives and these can be exported and imported from spreadsheets.
\u000
\dt \e{Track Manipulation}
-\dd Track segments can be lengthened or shortened by simple click and drag. Tangents to a curve are created by dragging away from the curve. Tracks are extended by dragging from an Endpoint, creating new straight or curved segments. New tracks can be snapped into place or precisely placed and then Joined.
+\dd Track segments can be lengthened or shortened by simple click and drag. Tangents to a curve are created by dragging away from the curve. Tracks are extended by dragging from an Endpoint, creating new straight or curved segments. New tracks can be snapped into place or precisely placed and then Joined.
\u000
-\dd Track circles are especially handy for determining overall designs and seeing what will fit in a given area.
+\dd Track circles are especially handy for determining overall designs and seeing what will fit in a given area.
\u000
-\dd The Cornu flextrack features create dynamically variable tracks that optimise the curvature of tracks to ensure a protypical appearance. They alter as the other tracks are moved just as flextrack will in the 12 inches to the foot world!
+\dd The Cornu flextrack features create dynamically variable tracks that optimise the curvature of tracks to ensure a protypical appearance. They alter as the other tracks are moved just as flextrack will in the 12 inches to the foot world!
\u000
@@ -166,38 +168,40 @@ On-line demonstrations show the actual operation of many of the program's featur
\u000
-\dd The Join command links any two tracks (Straights, Curves, Turnouts or Turntables) with accurate aligned connecting track segments which can be easements including Cornu easements. The connected tracks are trimmed or extended as required.
+\dd The Join command links any two tracks (Straights, Curves, Turnouts or Turntables) with accurate aligned connecting track segments which can be easements including Cornu easements. The connected tracks are trimmed or extended as required.
\u000
-\dd The Helix Track command computes the number of turns, radius, grade and vertical separation based on your criteria.
+\dd The Helix Track command computes the number of turns, radius, grade and vertical separation based on your criteria.
\u000
\dd Turntables can be constructed with any radius and can either have fixed or dynamic bay tracks
+\u000
+
\dt \e{Turnout Select and Placement}
-\dd The Turnout Hot Bar contains a scrolling list of Turnouts, Sectional Tracks and Structures available in the current Scale. Simply click on one and click again drop it onto the layout.
+\dd The Turnout Hot Bar contains a scrolling list of Turnouts, Sectional Tracks and Structures available in the current Scale. Simply click on one and click again drop it onto the layout.
\u000
-\dd As Turnouts are dragged over existing tracks they are automatically aligned. \e{XTrackCAD} searches for any other tracks that align with each of the Turnout's Endpoints, and shows you the number of connections that will be made and the maximum offset as you position the Turnout.
-Just adjust the Turnout's position to minimize the offset to ensure the best fit.
+\dd As Turnouts are dragged over existing tracks they are automatically aligned. \e{XTrackCAD} searches for any other tracks that align with each of the Turnout's Endpoints, and shows you the number of connections that will be made and the maximum offset as you position the Turnout.
+Just adjust the Turnout's position to minimize the offset to ensure the best fit.
\u000
-\dd When a turnout is placed, each Endpoint is examined to see if it aligned to an existing track. If so, the track is split to create a perfect connection to the turnout. Placing Turnouts is a 'snap'.
+\dd When a turnout is placed, each Endpoint is examined to see if it aligned to an existing track. If so, the track is split to create a perfect connection to the turnout. Placing Turnouts is a 'snap'.
\u000
\dt \e{Layers}
-\dd Layers are an important feature for manageing the design for layouts of any complexity. Use one layer for the main-line and others for staging tracks, Bench-work or scenery. Multilevel designs can have groups of layers for each level.
+\dd Layers are an important feature for manageing the design for layouts of any complexity. Use one layer for the main-line and others for staging tracks, Bench-work or scenery. Multilevel designs can have groups of layers for each level.
\u000
-\dd \e{XTrackCAD} allows up to 99 layers layers can have their own button to control visibility. Each layer can have a name which is displayed as the balloon help for the layer button.
+\dd \e{XTrackCAD} allows up to 99 layers layers can have their own button to control visibility. Each layer can have a name which is displayed as the balloon help for the layer button.
\u000
@@ -205,13 +209,13 @@ Just adjust the Turnout's position to minimize the offset to ensure the best fit
\u000
-\dd Tracks and other objects can be colored according to which layer they are in. Also, each layer can be frozen to prevent accidental changes to parts of the layout that are finalized.
+\dd Tracks and other objects can be colored according to which layer they are in. Also, each layer can be frozen to prevent accidental changes to parts of the layout that are finalized.
\u000
\dt \e{Elevations and Profile}
-\dd Elevations are one of the most powerful features of \e{XTrackCAD} they are dynamically recalulated as the layout changes.
+\dd Elevations are one of the most powerful features of \e{XTrackCAD} they are dynamically recalulated as the layout changes.
\u000
@@ -219,21 +223,21 @@ Just adjust the Turnout's position to minimize the offset to ensure the best fit
\u000
-\dd \e{XTrackCAD} lets you define the elevation of any Endpoint on the layout. You can also have \e{XTrackCAD} automatically compute the elevation and grade between defined elevation points. You can define the elevation at the bottom and top of a sloped track, then have \e{XTrackCAD} compute the elevation at each riser position between.
+\dd \e{XTrackCAD} lets you define the elevation of any Endpoint on the layout. You can also have \e{XTrackCAD} automatically compute the elevation and grade between defined elevation points. You can define the elevation at the bottom and top of a sloped track, then have \e{XTrackCAD} compute the elevation at each riser position between.
\u000
-\dd Once you have defined a few elevations, you can display the Elevation Profile for the layout along a path of connected track segments. The Profile display shows the length of the track, the elevation of each defined elevation point and the grades between them. You can even adjust the elevations directly on the Profile display.
+\dd Once you have defined a few elevations, you can display the Elevation Profile for the layout along a path of connected track segments. The Profile display shows the length of the track, the elevation of each defined elevation point and the grades between them. You can even adjust the elevations directly on the Profile display.
\u000
\dt \e{Easements (Cornu Transition Curves)}
-\dd Easements are special sections of gradually curving track used to connect straight and curved tracks (or two curved tracks). Easements reduce the effects of sudden changes in track curves which can cause derailments. They also look great!
+\dd Easements are special sections of gradually curving track used to connect straight and curved tracks (or two curved tracks). Easements reduce the effects of sudden changes in track curves which can cause derailments. They also look great!
\u000
-\dd \e{XTrackCAD} can use Easements anytime the radius of the track changes. The Modify and Join commands will automatically insert Easement Track segments whenever needed. Each Easement is computed based on the radius of the neighboring tracks. You don't even have to think about it!
+\dd \e{XTrackCAD} can use Easements anytime the radius of the track changes. The Modify and Join commands will automatically insert Easement Track segments whenever needed. Each Easement is computed based on the radius of the neighboring tracks. You don't even have to think about it!
\u000
@@ -257,51 +261,51 @@ Just adjust the Turnout's position to minimize the offset to ensure the best fit
\u000
-\dd The Print command lets you scale the printout from a one page overall view (with the handy Snap-Shot button) right up to full size 1:1.
+\dd The Print command lets you scale the printout from a one page overall view (with the handy Snap-Shot button) right up to full size 1:1.
\u000
-\dd Multiple page printouts are easy to do. A gird representing each page is drawn over the layout and you can click on the pages you want to print. The gird can be moved and rotated to any position so the orientation of the printout matches your layout. Pages can be printed in Portrait or Landscape format.
+\dd Multiple page printouts are easy to do. A gird representing each page is drawn over the layout and you can click on the pages you want to print. The gird can be moved and rotated to any position so the orientation of the printout matches your layout. Pages can be printed in Portrait or Landscape format.
\u000
-\dd At 1:1, registration marks can be printed every 3" (or 10cm) to help align different sets of printouts. Also, the roadbed outline can be drawn at a user-specified width to assist cutting the roadbed from sheet material.
+\dd At 1:1, registration marks can be printed every 3" (or 10cm) to help align different sets of printouts. Also, the roadbed outline can be drawn at a user-specified width to assist cutting the roadbed from sheet material.
\u000
\dt \e{Turnout and Structure Creation}
-\dd \e{XTrackCAD} comes with Turnout, Sectional Track and Structure Parameter Files for many brands of tracks and accessories. However, your brand may not supplied. The Turnout Designer dialogs and the Group command make it easy to add your own custom definitions.
+\dd \e{XTrackCAD} comes with Turnout, Sectional Track and Structure Parameter Files for many brands of tracks and accessories. However, your brand may not supplied. The Turnout Designer dialogs and the Group command make it easy to add your own custom definitions.
\u000
-\dd The Turnout Editor has separate screens for designing Turnouts (Regular, Curved, Wye and 3-way), Crossings, Slip-switch, Crossovers and Sectional Track. In each dialog a few measurements are required to create a new definition. Full size printouts can be made directly from the dialog to check your design.
+\dd The Turnout Editor has separate screens for designing Turnouts (Regular, Curved, Wye and 3-way), Crossings, Slip-switch, Crossovers and Sectional Track. In each dialog a few measurements are required to create a new definition. Full size printouts can be made directly from the dialog to check your design.
\u000
-\dd The Group command can create Structure definitions from selected tracks, lines and shapes. You can make structures as simple as a rectangle or highly detailed. You can also modify existing designs to add details or make adjustments.
+\dd The Group command can create Structure definitions from selected tracks, lines and shapes. You can make structures as simple as a rectangle or highly detailed. You can also modify existing designs to add details or make adjustments.
\u000
\dt \e{Lines, Shapes, Table Edges, Text and Notes}
-\dd Layout designs are more than track!
+\dd Layout designs are more than track!
\u000
-\dd The \e{XTrackCAD} Draw command is used to draw lines (straight, curved and circles) and shapes (filled boxes, circles, polylines and polygons). These can be different colors and lines can have different widths. The Polylines and Polygons can have curved sides. These are useful for drawing scenic features (rivers, bridges, mountains).
+\dd The \e{XTrackCAD} Draw command is used to draw lines (straight, curved and circles) and shapes (filled boxes, circles, polylines and polygons). These can be different colors and lines can have different widths. The Polylines and Polygons can have curved sides. These are useful for drawing scenic features (rivers, bridges, mountains).
\u000
-\dd You can add Bench-work and dimension lines too.
+\dd You can add Bench-work and dimension lines too.
\u000
-\dd Special types of lines are drawn by the Table Edge command are used to represent the boundary at the edge of the layout.
+\dd Special types of lines are drawn by the Table Edge command are used to represent the boundary at the edge of the layout.
\u000
-\dd Text can be added to the layout.
+\dd Text can be added to the layout.
\u000
@@ -311,21 +315,21 @@ Just adjust the Turnout's position to minimize the offset to ensure the best fit
\dt \e{Parts and Price Lists}
-\dd The Parts List command generates a list of the number of the different types of Turnouts, Sectional Track and Structures selected on the layout. You can select everything or just the areas you are working on. As well, the total length of flex-track (for each track scale/gauge used on the layout) is listed.
+\dd The Parts List command generates a list of the number of the different types of Turnouts, Sectional Track and Structures selected on the layout. You can select everything or just the areas you are working on. As well, the total length of flex-track (for each track scale/gauge used on the layout) is listed.
\u000
-\dd You can enter the price of each type of Turnout, Sectional Track and Structure, plus the length and price of flex-track. \e{XTrackCAD} will compute the price of each types and the grand total. The total number of flex-track sections is also listed.
+\dd You can enter the price of each type of Turnout, Sectional Track and Structure, plus the length and price of flex-track. \e{XTrackCAD} will compute the price of each types and the grand total. The total number of flex-track sections is also listed.
\u000
\dt \e{Support for Sectional Track}
-\dd Numerous Sectional Track Parameter Files are included with \e{XTrackCAD} (Atlas, Marklin, Peco, ...). The Hot Bar allows easy selection.
+\dd Numerous Sectional Track Parameter Files are included with \e{XTrackCAD} (Atlas, Marklin, Peco, ...). The Hot Bar allows easy selection.
\u000
-\dd The automatic alignment feature of Turnout and Sectional Track placements makes track pieces just 'snap' together.
+\dd The automatic alignment feature of Turnout and Sectional Track placements makes track pieces just 'snap' together.
\u000
@@ -469,9 +473,9 @@ Refer to \K{keyFeatures} and \K{addFeatures} for a listing of \e{XTrackCAD} feat
\H{addFeatures} Additional \e{XTrackCAD} Features
-\e{XTrackCAD} has many other carefully selected features:
+\e{XTrackCAD} has many other carefully selected features:
-\b Sections of track can be hidden, which can be drawn as dashed lines, or completely hidden. A Tunnel Portal is drawn when a hidden track connects with normal track.
+\b Sections of track can be hidden, which can be drawn as dashed lines, or completely hidden. A Tunnel Portal is drawn when a hidden track connects with normal track.
\u000
@@ -519,7 +523,7 @@ Refer to \K{keyFeatures} and \K{addFeatures} for a listing of \e{XTrackCAD} feat
\u000
-\b You can rescale and flip objects, trim turnouts and create block gaps.
+\b You can rescale and flip objects, trim turnouts and create block gaps.
\u000
@@ -586,7 +590,7 @@ Throughout this manual the following typographic conventions are used to make fi
\lcont{\u000}
-\n A program folder named \c{XTrkCad4} will be created during the installation process. The folder contains the program, documentation, parameter and example files.
+\n A program folder named \c{XTrkCad} will be created during the installation process. The folder contains the program, documentation, parameter and example files.
\rule
@@ -594,8 +598,8 @@ Throughout this manual the following typographic conventions are used to make fi
\e{XTrackCAD} for OSX is shipped as a package containing an application.
-\n Start the installation by opening the package and dragging the contained application into the \e{Applications} folder using the shortcut in the package.
-The application includes the program, documentation, parameter and example files within it.
+\n Start the installation by opening the package and dragging the contained application into the \e{Applications} folder using the shortcut in the package.
+The application includes the program, documentation, parameter and example files within it.
\lcont{\u000}
@@ -603,7 +607,7 @@ The application includes the program, documentation, parameter and example files
\lcont{\u000}
-\n \i{OSX Run Security} When the application is first run, it will need to be authorized by OSX. There will be a OSX prompt that asks if it should be opened. And then it will still fail to run.
+\n \i{OSX Run Security} When the application is first run, it will need to be authorized by OSX. There will be a OSX prompt that asks if it should be opened. And then it will still fail to run.
After opening it for the first time, go to \e{System Preferences>Security & Privacy} and you will see that the app is named as having been blocked. Hit the \e{Run Anyway} button and the program should start.
This sequence may be necessary after each OS upgrade.
@@ -613,17 +617,17 @@ This sequence may be necessary after each OS upgrade.
\S{LinuxInstall} \i{Linux Installation}
-\e{XTrackCAD} for LINUX is shipped as a self-extracting archive (executable).
-
+\e{XTrackCAD} for LINUX is shipped as a self-extracting archive (executable).
+
\n Installing from the self-extracting archive.
\lcont{
-\dd After downloading open a command line then
+\dd After downloading open a command line then
-\dd \c{./\XTCStgzPack --prefix=/usr/local --exclude-subdir}
+\dd \c{./\XTCStgzPack --prefix=/usr/local --exclude-subdir}
-\dd This will install the executable in /usr/local/bin. A directory named \c{xtrkcad} will be created in
+\dd This will install the executable in /usr/local/bin. A directory named \c{xtrkcad} will be created in
/usr/local/share and all files will be unpacked into it.
}
@@ -636,7 +640,7 @@ If you install \e{XTrackCAD} into another directory, set the \c{XTRKCADLIB} envi
The \e{XTrackCAD} executable is named xtrkcad.exe on Windows and xtrkcad on Linux and OSX.
-It is usually started by clicking on its icon, or right-click and \f{Open} in OSX Catalina, but there are command line options as well.
+It is usually started by clicking on its icon, or right-click and \f{Open} in OSX Catalina, but there are command line options as well.
\f{Command Line}
@@ -657,19 +661,19 @@ On Linux:
\dt \c{c config}
-\dd configuration to use. This allows you to have several distinct configurations (eg.
+\dd configuration to use. This allows you to have several distinct configurations (eg.
parameter files, display options).
\u000
\dt \c{layoutfile}
-\dd filename for the layout to load.
+\dd filename for the layout to load.
This parameter takes precedence over the option to resume with the last layout (\K{cmdPref}).
\f{Debugging Parameters}
-The following parameters are for debugging purposes and are mainly of interest to the
+The following parameters are for debugging purposes and are mainly of interest to the
developers.
\dt \c{v}
@@ -681,7 +685,7 @@ developers.
\dt \c{d logcontrol}
\dd specifies the amount of logging. The argument logcontrol has the format \c{logmodule[=level]}.
-logmodule defines the functionality that should be logged, the optional level specifies the loglevel. Zero means no logging.
+logmodule defines the functionality that should be logged, the optional level specifies the loglevel. Zero means no logging.
Defaults are no modules are logged and loglevel is 1 if omitted from logonctrol parameter.
\u000
@@ -690,6 +694,12 @@ Defaults are no modules are logged and loglevel is 1 if omitted from logonctrol
\dd set logfile, only needed in conjunction with the debug option.
+\dt \c{V}
+
+\dd Display the xtrkcad version and exit(0).
+
+\u000
+
\H{introQT} Quick Tour
\G{png.d/main.png}
@@ -739,7 +749,7 @@ Under the Tool Bar is the Hot Bar. This contains defined track and drawing objec
The main part of the window is the Drawing Area, this is where the Layout is shown in 2D. The view can be zoomed or panned. The \f{Pan-Zoom} command whise symbol is the crossed arrows allows easiest control, but in \f{Select} command you can pan with the arrow keys and zoom with the trackpad or mousewheel or \f{Ctrl}+"+" or "-" can affect the zoom level.
-\rule
+\rule
At the bottom on the screen are two more areas. The Status Bar contains messages about commands as they are being used, and the Info Bar shows the zoom level and the position of the cursor.
@@ -768,7 +778,7 @@ This section lists some things that can improve the performance of \e{XTrackCAD}
\H{directories} Files and Directories
-Information within this section of the manual identifies installation directory names, file names and directory and file locations.
+Information within this section of the manual identifies installation directory names, file names and directory and file locations.
\rule
@@ -782,15 +792,15 @@ Information within this section of the manual identifies installation directory
\b The \e{XTrackCAD Working} directory, which contains configuration and Check Point files.
-On MS Windows, the \e{Install} directory is set when you install \e{XTrackCAD}. All data files (parameters,
-demos, examples) can be found in the \c{share/xtrkcad} subdirectory underneath the \e{Install} directory.
+On MS Windows, the \e{Install} directory is set when you install \e{XTrackCAD}. All data files (parameters,
+demos, examples) can be found in the \c{share/xtrkcad} subdirectory underneath the \e{Install} directory.
The \e{Working} directory is in your personal profile.
On Linux, the \e{Install} directory is usually \c{/usr/local/lib/xtrkcad/}, but you can change this by defining the \c{XTRKCADLIB} environment variable before starting \e{XTrackCAD}. The working directory is \c{\{HOME\}/.xtrkcad/}.
On Mac OSX, the \e{Install} directory is the application package, usually located in the \c{/Applications} directory.
All the included parameters, demos and examples can be found inside the package under the \c{/Applications/xtrkcad/Contents/Resources/xtrkcad} directory.
-The \e{Working} directory is created as \c{.xtrkcad} - a hidden directory - under the active user's directory in \c{/Users}
+The \e{Working} directory is created as \c{.xtrkcad} - a hidden directory - under the active user's directory in \c{/Users}
Layout files (\c{*.xtc}) and export (\K{cmdExport}) files (\c{*.xti}) can be saved anywhere you wish, as specified in the \f{Save File} and \f{Open File} dialogs.
@@ -863,7 +873,7 @@ On MS-Windows only, you can also use the \f{Uninstall} icon in the \e{XTrackCAD}
\H{bugs_enhancements} Bugs and Enhancements
-This section of the manual describes how and where to report a bug or seek an enhancement.
+This section of the manual describes how and where to report a bug or seek an enhancement.
\rule
@@ -890,7 +900,7 @@ If you encounter an unreported bug please submit detail regarding such to the \f
\u000
-\dd The error can be replicated by opening the file named cascade.xtc. Set the magnification at 4:1. Attempting to move the text label named "Granville Island" located at the approximate grid coordinates of x=8", y=4' 5". Selecting the label causes the error to occur.
+\dd The error can be replicated by opening the file named cascade.xtc. Set the magnification at 4:1. Attempting to move the text label named "Granville Island" located at the approximate grid coordinates of x=8", y=4' 5". Selecting the label causes the error to occur.
\u000
@@ -902,7 +912,7 @@ If you encounter an unreported bug please submit detail regarding such to the \f
\f{Please be brief, but don't leave any important details out.} This is a fine line to walk. But there are some general guidelines:
-Remember the three basics: what you were doing, what you expected to happen, and what happened.
+Remember the three basics: what you were doing, what you expected to happen, and what happened.
If you can recreate the problem the \f{Macro>Record} command can be used to record what happened. Try to isolate the problem by creating a minimal layout and recording as few commands as possible.
diff --git a/app/doc/managem.but b/app/doc/managem.but
index 7996ef1..2a835c3 100644
--- a/app/doc/managem.but
+++ b/app/doc/managem.but
@@ -129,7 +129,7 @@ The \f{Import} and \f{Export} buttons read and write a \e{Comma-Separated-Value
\u000
-\dd \e{PurchPrice}, \e{CurrPrice}, \e{PurchDate} and \e{ServiceDate} - numeric values
+\dd \e{PurchPrice}, \e{CurrPrice}, \e{PurchDate} and \e{ServiceDate} - numeric values - dates are in the form yyyymmdd, where yyyy is the year, mm the month, dd the day
\u000
@@ -215,7 +215,7 @@ This dialog is similar the the \f{Car Item} dialog except that the \f{Car Item I
The middle section contains:
-\dd The \f{Road}, \f{Reporting Mark}, \f{Number} and \f{Color}. You can choose a \f{Road name} from the list of known road names or enter a new value. If known, the \e{reporting mark} (road name abbreviation) is filled in.
+\dd The \f{Road}, \f{Reporting Mark}, \f{Number} and \f{Color}. You can choose a \f{Road name} from the list of known road names or enter a new value. If known, the \e{reporting mark} (road name abbreviation) is filled in. These values control what label content is shown for Cars. If a reporting number is present the rep mark and the rep number will be used if the Cars Label Option is on in \K{cmdDisplay}
\u000
@@ -358,15 +358,18 @@ If you modify a definition from a \e{XTrackCAD} Library parameter file, the new
\S{cmdLayer} Layers Dialog
-Each object is contained in a layer - which is a custom group of objects that do not have a particular visual order, but can be treated as a set for certain commands. Objects which are created independently of other objects (such as straight tracks (\K{cmdStraight}) or text (\K{cmdText})) are created in the current layer. Objects which are associated with other objects (such as tracks created by the \f{Modify} (\K{cmdModify}) or \f{Join} (\K{cmdJoin}) commands) are created in the same layer as the associated object(s).
+Each object is contained in a layer - which is a custom group of objects that do not have a particular visual order, but can be treated as a set for certain commands.
+Objects which are created independently of other objects (such as straight tracks (\K{cmdStraight}) or text (\K{cmdText})) are created in the current layer.
+Objects which are associated with other objects (such as tracks created by the \f{Modify} (\K{cmdModify}) or \f{Join} (\K{cmdJoin}) commands) are created in the same layer as the associated object(s).
The \f{Layers} dialog allows you to change various attributes of each of the 99 possible \f{layers}.
-Attributes associated with a layout are stored within the associated layout file and apply only to the layout that's open at the time of a change. It is possible to apply attributes from one layout file to another using the \f{Load} and \f{Save} buttons.
+Attributes associated with a layout are stored within the associated layout file and apply only to the layout that's open at the time of a change.
+It is possible to apply attributes from one layout file to another using the \f{Load} and \f{Save} buttons.
\G{png.d/dlayers.png}
-The drop down list at the top of the dialog selects the \f{Layer} you are interested in. Non-empty layers are preceded by a \c{+}.
+The drop down list at the top of the dialog selects the \f{Layer} you are interested in. Frozen layers are preceeded by a \c{*}, Module layers are proceeded by a \c{m}, non-empty layers are preceded by a \c{+} and empty layers by a \c{-}.
The \f{Name} edit box contains the name of the \f{Layer}. This name is listed in the \f{Current Layer} drop down list on the \f{Tool-bar} (\K{mainW}). Also the \f{Name} is displayed as the balloon help for the corresponding \f{Layer Button}.
@@ -378,10 +381,19 @@ The \f{Frozen} check-box indicates that tracks in that \f{Layer} can not be modi
The \f{On Map} check-box controls whether the \f{Layer} is drawn on the Map (\K{cmdMap}) window.
-The \f{Module} check-box controls whether the \f{Layer} is selected/deselected and so moved or rotated as a group - this can be used to denote a track module in a modular layout - allowing the modules to be positioned as units. Objects in a Module Layer can not be individually modified. One way of getting a modules in is to build a library with \f{Export} and then \f{Import As Module} - this creates one layer per module, names it and sets the \f{Module} check-box.
+The \f{Module} check-box controls whether the \f{Layer} is selected/deselected and so moved or rotated as a group - this can be used to denote a track module in a modular layout - allowing the modules to be positioned as units.
+Objects in a Module Layer can not be individually modified.
+One way of getting a modules in is to build a library with \f{Export} and then \f{Import As Module} - this creates one layer per module, names it and sets the \f{Module} check-box.
+
+The \f{No Button} check-box selects if the \f{Layer} has a button to hide/show it. You may choose not to have a button if the layer is empty or if it is a sub-layer controlled by another layer.
+
+The \f{Linked Layers} text box can contain a semi-colon-delimited set of layer numbers that will be shown and hidden along with this layer when its show/hidden state is changed. A blank means no layers are linked. The layers can have buttons or not.
You cannot uncheck \f{Visible} or check \f{Frozen} for the \f{Current Layer}.
+The \f{Load Settings} specifies a settings (.xset) filename in the XTrackCAD working directory that is loaded when this layer is made current. Only the values contained in the file will be set.
+If this name is blank the default values (all those in use when any layer that has no Load Settings file value was last used) will be reloaded (or retained). The dropbox contains all the names of files in that directory.
+
The \f{Count} field displays the number of objects in the selected Layer.
The \f{Save} button stores layer attributes in the \c{xtrkcad.ini} file so they may be loaded into an existing or new file. Once saved and unless reset to \e{XTrackCAD} \f{Default}, modified layer information is applied to each new file.
@@ -390,7 +402,7 @@ The \f{Load} button reads layer attributes from the \c{xtrkcad.ini} file then ap
The \f{Defaults} button restores layer attributes to default \e{XTrackCAD} settings.
-The bottom of the dialog contains the \f{Number of Layer Buttons} integer edit box. This controls the number of \f{Layer Buttons} displayed on the \f{Tool-bar} (\K{mainW}). These buttons make it easy to switch between layers. The maximum number of \f{Layer Buttons} that can be displayed is 20. Therefore you should use layers one to twenty for objects which you will be showing and hiding frequently.
+The bottom of the dialog contains the \f{Number of Layer Buttons} integer edit box. This controls the number of \f{Layer Buttons} displayed on the \f{Tool-bar} (\K{mainW}). These buttons make it easy to switch between layers. The maximum number of \f{Layer Buttons} that can be displayed is 99. Layers with "no-button" set do not count towards the Number of Layer Buttons.
\G{png.d/blayer.png}
@@ -414,6 +426,8 @@ Objects are drawn on the map window, if the Layer they are on has \f{On Map} che
The \f{Parts List} command produces a list of all selected (\K{cmdSelect}) turnouts, sectional track and bench-work. It also computes total length of selected flex-track.
+If no objects are selected, all objects are enumerated.
+
\G{png.d/partslist.png}
The \f{Save As...} button opens a \e{File Save} dialog window that's used to name and save the parts list to a file.
@@ -424,7 +438,9 @@ The \f{Close} button terminates the \f{Parts List} command.
The \f{Parts List} dialog will list pricing for selected objects if the \e{Prices} check box is checked. Prices are set using the Price List (\K{cmdPricelist}) dialog.
-Hint: use the \f{Parts List} command to measure the length of selected flex-track.
+The \f{Parts List} dialog will list the index numbers of each type of named track in a comma delimited list on a new line if the \e{Indexes} check box is checked. This list can be used in the Select By Index (\K{cmdSelectIndex}) command.
+
+Hint: you can use the \f{Parts List} command to measure the length of selected flex-track.
\rule
@@ -602,7 +618,7 @@ The Parts List (\K{cmdEnum}) dialog lists prices for selected objects if the \e{
\u000
-\dd Turntables can be turned by using \e{Shift+Left-Click} on the endpoint you want the Turntable to move to. To turn the Turntable 180\u00B0, \e{Shift+Left-Click} on the endpoint again.
+\dd Turntables can be turned by using \e{Shift+Left-Click} on the endpoint you want the Turntable bridge to move to. If you click on the Turntable where there is no endpoint, the Turntable will turn to the next endpoint beyond that point in the direction of the click relative to the nearest end of the turntable bridge. To turn the Turntable 180\u00B0, \e{Shift+Left-Click} on the current endpoint again.
\rule
diff --git a/app/doc/navigation.but b/app/doc/navigation.but
index e0269f4..f648a70 100644
--- a/app/doc/navigation.but
+++ b/app/doc/navigation.but
@@ -245,15 +245,17 @@ Lengths and Distances can be entered in a variety of formats;
\u000
-\dd Pressing the Equal Sign (\c{=}) key after an entry will reformat the value entered to your preferred length format (\K{cmdPref}).
+\dd Adding the Equal Sign (\c{=}) key after an entry will reformat the value entered to your preferred length format (\K{cmdPref}).
\u000
-\dd Pressing the "\c{p}" key after an entry will convert a prototype measurement to a scale measurement by dividing the value entered by the ratio for the current scale.
+\dd Adding the "\c{p}" key after an entry will convert a prototype measurement to a scale measurement by dividing the value entered by the ratio for the current scale.
\u000
-\dd Pressing the "\c{s}" key after an entry will convert a scale measurement to a prototype measurement.
+\dd Adding the "\c{s}" key after an entry will convert a scale measurement to a prototype measurement.
+
+The conversion will happen when the \e{Tab} key is used, or the cursor is moved to a different entry box.
\rule
@@ -300,7 +302,7 @@ Instead of using the menus or the buttons on the \f{Tool-bar} (\K{mainW}), most
\u000
-\dd The \c{DELETE} key invokes the \f{Delete} (\K{cmdDelete}) command.
+\dd The \c{DELETE} or the \c{BackSpace} key invokes the \f{Delete} (\K{cmdDelete}) command.
Several Shortcut key commands are used in conjunction with the mouse. These commands are listed in \K{cmdAcclKeys}.
@@ -1136,6 +1138,10 @@ The Shortcut key for each command is listed after the command name.
\u000
+\dt Angle Command (\K{cmdAngle})
+
+\dd Position Protractor - \e{Left-Drag}
+
\dt Select Command (\K{cmdSelect}) - \e{Ctrl+E}
diff --git a/app/doc/optionm.but b/app/doc/optionm.but
index 8876d96..7e3a69f 100644
--- a/app/doc/optionm.but
+++ b/app/doc/optionm.but
@@ -149,6 +149,10 @@ Setting this option constrains the Main Canvas to minimize these areas (the \f{g
\u000
+\dd \f{Dont Hide System Cursor} - when XTrackCAD substitutes a specialized cursor to show actions that will occur (or are occuring) it will normallly hide the System Cursor. This option suppresses this behaviour and leaves the system cursor in place.
+
+\u000
+
\dd \f{Draw EndPts} - when to draw endpoints between connected track: never, only for turnouts or for all tracks.
\u000
@@ -183,13 +187,13 @@ Setting this option constrains the Main Canvas to minimize these areas (the \f{g
\u000
-\b \e{Cars} - Reporting mark labels on cars.
+\b \e{Cars} - Reporting mark labels on cars - the content shown on the Cars label is either the Repmarks (if the Rep Number is set), or the car index number (with a "#" before it). See the Car Part dialog \K{carpart}.
\b \e{EndPt Elevations} - Elevation markers attached to endpoints.
-\b \e{Lengths} - Length of flex-track attached to ends of turnouts.
+\b \e{Lengths} - Length of flex-track attached to ends of turnouts all the way to the next turnout.
-\b \e{Track Descriptions} - Title of each turnout and sectional track.
+\b \e{Track Descriptions} - Title of each turnout and sectional track, optional details of each piece of Flexible Track. These can be shown or hidden using the Move Description \K{cmdMoveLabel} command.
\b \e{Track Elevations} - Computed elevations at the center of each track.
@@ -201,11 +205,11 @@ Setting this option constrains the Main Canvas to minimize these areas (the \f{g
\u000
-\dd \f{Layout Labels} - controls the format of titles for turnouts and structures displayed on the Layout.
+\dd \f{Layout Labels} - controls the format of titles for Turnouts and Structures displayed on the Layout.
\u000
-\dd \f{Label Scale} - draw labels only when the drawing Scale is smaller or equal to this value.
+\dd \f{Label Scale} - the program will draw labels only when the drawing Scale is smaller or equal to this value.
\u000
@@ -461,6 +465,14 @@ This dialog controls some parameters which likely will not be changed frequently
\dd \f{Units} - choose between English (inches) or Metric (centimeters) measurements.
+\u000
+
+\dd \f{Write Settings} - Save the current settings to a named settings file
+
+\u000
+
+\dd \f{Read Settings} - Load settings from a named settings file
+
\rule
diff --git a/app/doc/png.d/bangle.png b/app/doc/png.d/bangle.png
new file mode 100644
index 0000000..ee50dc6
--- /dev/null
+++ b/app/doc/png.d/bangle.png
Binary files differ
diff --git a/app/doc/png.d/bblock.png b/app/doc/png.d/bblock.png
index ccd90d9..f5d3593 100644
--- a/app/doc/png.d/bblock.png
+++ b/app/doc/png.d/bblock.png
Binary files differ
diff --git a/app/doc/png.d/bcircl1.png b/app/doc/png.d/bcircl1.png
index aa53512..af861ee 100644
--- a/app/doc/png.d/bcircl1.png
+++ b/app/doc/png.d/bcircl1.png
Binary files differ
diff --git a/app/doc/png.d/bcircl2.png b/app/doc/png.d/bcircl2.png
index 1df9bfc..41c6087 100644
--- a/app/doc/png.d/bcircl2.png
+++ b/app/doc/png.d/bcircl2.png
Binary files differ
diff --git a/app/doc/png.d/bcircl3.png b/app/doc/png.d/bcircl3.png
index 4e7a34c..7736f53 100644
--- a/app/doc/png.d/bcircl3.png
+++ b/app/doc/png.d/bcircl3.png
Binary files differ
diff --git a/app/doc/png.d/bcircle.png b/app/doc/png.d/bcircle.png
index 3fecbe3..327a837 100644
--- a/app/doc/png.d/bcircle.png
+++ b/app/doc/png.d/bcircle.png
Binary files differ
diff --git a/app/doc/png.d/bconnect.png b/app/doc/png.d/bconnect.png
index 840fa82..602dc60 100644
--- a/app/doc/png.d/bconnect.png
+++ b/app/doc/png.d/bconnect.png
Binary files differ
diff --git a/app/doc/png.d/bcontrol.png b/app/doc/png.d/bcontrol.png
index 131bb94..4b35f1e 100644
--- a/app/doc/png.d/bcontrol.png
+++ b/app/doc/png.d/bcontrol.png
Binary files differ
diff --git a/app/doc/png.d/bcornu.png b/app/doc/png.d/bcornu.png
index 6844a84..60c632e 100644
--- a/app/doc/png.d/bcornu.png
+++ b/app/doc/png.d/bcornu.png
Binary files differ
diff --git a/app/doc/png.d/bcurve.png b/app/doc/png.d/bcurve.png
index 8cb3ae7..72b852c 100644
--- a/app/doc/png.d/bcurve.png
+++ b/app/doc/png.d/bcurve.png
Binary files differ
diff --git a/app/doc/png.d/bcurve1.png b/app/doc/png.d/bcurve1.png
index f6e594c..c5bebb3 100644
--- a/app/doc/png.d/bcurve1.png
+++ b/app/doc/png.d/bcurve1.png
Binary files differ
diff --git a/app/doc/png.d/bcurve2.png b/app/doc/png.d/bcurve2.png
index 6ad7001..e165b7e 100644
--- a/app/doc/png.d/bcurve2.png
+++ b/app/doc/png.d/bcurve2.png
Binary files differ
diff --git a/app/doc/png.d/bcurve3.png b/app/doc/png.d/bcurve3.png
index 1e84751..766758c 100644
--- a/app/doc/png.d/bcurve3.png
+++ b/app/doc/png.d/bcurve3.png
Binary files differ
diff --git a/app/doc/png.d/bcurve4.png b/app/doc/png.d/bcurve4.png
index 87fb172..81e9856 100644
--- a/app/doc/png.d/bcurve4.png
+++ b/app/doc/png.d/bcurve4.png
Binary files differ
diff --git a/app/doc/png.d/bdelete.png b/app/doc/png.d/bdelete.png
index 75038e7..245596a 100644
--- a/app/doc/png.d/bdelete.png
+++ b/app/doc/png.d/bdelete.png
Binary files differ
diff --git a/app/doc/png.d/bdescrib.png b/app/doc/png.d/bdescrib.png
index f501f13..29e011c 100644
--- a/app/doc/png.d/bdescrib.png
+++ b/app/doc/png.d/bdescrib.png
Binary files differ
diff --git a/app/doc/png.d/bdraw.png b/app/doc/png.d/bdraw.png
index 540cce9..0d282c1 100644
--- a/app/doc/png.d/bdraw.png
+++ b/app/doc/png.d/bdraw.png
Binary files differ
diff --git a/app/doc/png.d/beasement.png b/app/doc/png.d/beasement.png
index 1e4bd1a..b1c456a 100644
--- a/app/doc/png.d/beasement.png
+++ b/app/doc/png.d/beasement.png
Binary files differ
diff --git a/app/doc/png.d/belev.png b/app/doc/png.d/belev.png
index 6ecb86a..9a73e90 100644
--- a/app/doc/png.d/belev.png
+++ b/app/doc/png.d/belev.png
Binary files differ
diff --git a/app/doc/png.d/bfile.png b/app/doc/png.d/bfile.png
index 895f376..6c140fb 100644
--- a/app/doc/png.d/bfile.png
+++ b/app/doc/png.d/bfile.png
Binary files differ
diff --git a/app/doc/png.d/bflip.png b/app/doc/png.d/bflip.png
index cdf548a..6ec7a00 100644
--- a/app/doc/png.d/bflip.png
+++ b/app/doc/png.d/bflip.png
Binary files differ
diff --git a/app/doc/png.d/bgsnap.png b/app/doc/png.d/bgsnap.png
index 1cf93fa..4aebf61 100644
--- a/app/doc/png.d/bgsnap.png
+++ b/app/doc/png.d/bgsnap.png
Binary files differ
diff --git a/app/doc/png.d/bgundo.png b/app/doc/png.d/bgundo.png
index 25dcac1..42d0bce 100644
--- a/app/doc/png.d/bgundo.png
+++ b/app/doc/png.d/bgundo.png
Binary files differ
diff --git a/app/doc/png.d/bgzoom.png b/app/doc/png.d/bgzoom.png
index 9de3726..ce244bd 100644
--- a/app/doc/png.d/bgzoom.png
+++ b/app/doc/png.d/bgzoom.png
Binary files differ
diff --git a/app/doc/png.d/bhelix.png b/app/doc/png.d/bhelix.png
index fab3d1a..c7ce099 100644
--- a/app/doc/png.d/bhelix.png
+++ b/app/doc/png.d/bhelix.png
Binary files differ
diff --git a/app/doc/png.d/bhndldto.png b/app/doc/png.d/bhndldto.png
index 7b362c2..6e13542 100644
--- a/app/doc/png.d/bhndldto.png
+++ b/app/doc/png.d/bhndldto.png
Binary files differ
diff --git a/app/doc/png.d/bitmap.png b/app/doc/png.d/bitmap.png
index 33471c8..28fcabb 100644
--- a/app/doc/png.d/bitmap.png
+++ b/app/doc/png.d/bitmap.png
Binary files differ
diff --git a/app/doc/png.d/bmap.png b/app/doc/png.d/bmap.png
index 7a99724..98b4a6f 100644
--- a/app/doc/png.d/bmap.png
+++ b/app/doc/png.d/bmap.png
Binary files differ
diff --git a/app/doc/png.d/bmcircle.png b/app/doc/png.d/bmcircle.png
index fc26dbf..ca7017f 100644
--- a/app/doc/png.d/bmcircle.png
+++ b/app/doc/png.d/bmcircle.png
Binary files differ
diff --git a/app/doc/png.d/bmcurved.png b/app/doc/png.d/bmcurved.png
index 0feef79..1c76f6a 100644
--- a/app/doc/png.d/bmcurved.png
+++ b/app/doc/png.d/bmcurved.png
Binary files differ
diff --git a/app/doc/png.d/bmenu.png b/app/doc/png.d/bmenu.png
index 75cc557..34ef253 100644
--- a/app/doc/png.d/bmenu.png
+++ b/app/doc/png.d/bmenu.png
Binary files differ
diff --git a/app/doc/png.d/bmodify.png b/app/doc/png.d/bmodify.png
index c33196a..9a534a9 100644
--- a/app/doc/png.d/bmodify.png
+++ b/app/doc/png.d/bmodify.png
Binary files differ
diff --git a/app/doc/png.d/bmove.png b/app/doc/png.d/bmove.png
index 311d9aa..54dc628 100644
--- a/app/doc/png.d/bmove.png
+++ b/app/doc/png.d/bmove.png
Binary files differ
diff --git a/app/doc/png.d/bmovedes.png b/app/doc/png.d/bmovedes.png
index fcff047..b76b878 100644
--- a/app/doc/png.d/bmovedes.png
+++ b/app/doc/png.d/bmovedes.png
Binary files differ
diff --git a/app/doc/png.d/bnewcar.png b/app/doc/png.d/bnewcar.png
index a83f9da..61b8ff9 100644
--- a/app/doc/png.d/bnewcar.png
+++ b/app/doc/png.d/bnewcar.png
Binary files differ
diff --git a/app/doc/png.d/bnote.png b/app/doc/png.d/bnote.png
index da70589..b91518b 100644
--- a/app/doc/png.d/bnote.png
+++ b/app/doc/png.d/bnote.png
Binary files differ
diff --git a/app/doc/png.d/brotate.png b/app/doc/png.d/brotate.png
index b2bdd6e..db7b615 100644
--- a/app/doc/png.d/brotate.png
+++ b/app/doc/png.d/brotate.png
Binary files differ
diff --git a/app/doc/png.d/bruler.png b/app/doc/png.d/bruler.png
index 85184dd..a44a0c3 100644
--- a/app/doc/png.d/bruler.png
+++ b/app/doc/png.d/bruler.png
Binary files differ
diff --git a/app/doc/png.d/bselect.png b/app/doc/png.d/bselect.png
index b47a3f4..f980d62 100644
--- a/app/doc/png.d/bselect.png
+++ b/app/doc/png.d/bselect.png
Binary files differ
diff --git a/app/doc/png.d/bsensor.png b/app/doc/png.d/bsensor.png
index 7d9834b..c573757 100644
--- a/app/doc/png.d/bsensor.png
+++ b/app/doc/png.d/bsensor.png
Binary files differ
diff --git a/app/doc/png.d/bsignal.png b/app/doc/png.d/bsignal.png
index f6b52f8..a1c1ab0 100644
--- a/app/doc/png.d/bsignal.png
+++ b/app/doc/png.d/bsignal.png
Binary files differ
diff --git a/app/doc/png.d/bsplit.png b/app/doc/png.d/bsplit.png
index f9ea955..7185efe 100644
--- a/app/doc/png.d/bsplit.png
+++ b/app/doc/png.d/bsplit.png
Binary files differ
diff --git a/app/doc/png.d/bstraigh.png b/app/doc/png.d/bstraigh.png
index 5b556c0..4c8aac6 100644
--- a/app/doc/png.d/bstraigh.png
+++ b/app/doc/png.d/bstraigh.png
Binary files differ
diff --git a/app/doc/png.d/bstruct.png b/app/doc/png.d/bstruct.png
index 7ec6620..b361450 100644
--- a/app/doc/png.d/bstruct.png
+++ b/app/doc/png.d/bstruct.png
Binary files differ
diff --git a/app/doc/png.d/bswitchmotor.png b/app/doc/png.d/bswitchmotor.png
index 68d9a4a..93333ae 100644
--- a/app/doc/png.d/bswitchmotor.png
+++ b/app/doc/png.d/bswitchmotor.png
Binary files differ
diff --git a/app/doc/png.d/btext.png b/app/doc/png.d/btext.png
index 253a810..530a18e 100644
--- a/app/doc/png.d/btext.png
+++ b/app/doc/png.d/btext.png
Binary files differ
diff --git a/app/doc/png.d/btop_bottom.png b/app/doc/png.d/btop_bottom.png
index 6f3300f..d2fb217 100644
--- a/app/doc/png.d/btop_bottom.png
+++ b/app/doc/png.d/btop_bottom.png
Binary files differ
diff --git a/app/doc/png.d/btrain.png b/app/doc/png.d/btrain.png
index 2e39236..2cdba2d 100644
--- a/app/doc/png.d/btrain.png
+++ b/app/doc/png.d/btrain.png
Binary files differ
diff --git a/app/doc/png.d/btunnel.png b/app/doc/png.d/btunnel.png
index 4f4a81f..d861dde 100644
--- a/app/doc/png.d/btunnel.png
+++ b/app/doc/png.d/btunnel.png
Binary files differ
diff --git a/app/doc/png.d/bturnout.png b/app/doc/png.d/bturnout.png
index a63d6d5..f25a568 100644
--- a/app/doc/png.d/bturnout.png
+++ b/app/doc/png.d/bturnout.png
Binary files differ
diff --git a/app/doc/png.d/bturntbl.png b/app/doc/png.d/bturntbl.png
index 9561901..9f13800 100644
--- a/app/doc/png.d/bturntbl.png
+++ b/app/doc/png.d/bturntbl.png
Binary files differ
diff --git a/app/doc/png.d/cmdopt.png b/app/doc/png.d/cmdopt.png
index b721bbc..992426d 100644
--- a/app/doc/png.d/cmdopt.png
+++ b/app/doc/png.d/cmdopt.png
Binary files differ
diff --git a/app/doc/png.d/colorw.png b/app/doc/png.d/colorw.png
index ffe5347..4d7fa91 100644
--- a/app/doc/png.d/colorw.png
+++ b/app/doc/png.d/colorw.png
Binary files differ
diff --git a/app/doc/png.d/convertto.png b/app/doc/png.d/convertto.png
index 9c16665..bd70934 100644
--- a/app/doc/png.d/convertto.png
+++ b/app/doc/png.d/convertto.png
Binary files differ
diff --git a/app/doc/png.d/dcircle3.png b/app/doc/png.d/dcircle3.png
index 31043e3..70a2d30 100644
--- a/app/doc/png.d/dcircle3.png
+++ b/app/doc/png.d/dcircle3.png
Binary files differ
diff --git a/app/doc/png.d/displayopt.png b/app/doc/png.d/displayopt.png
index be769a1..cf0178a 100644
--- a/app/doc/png.d/displayopt.png
+++ b/app/doc/png.d/displayopt.png
Binary files differ
diff --git a/app/doc/png.d/dlayers.png b/app/doc/png.d/dlayers.png
index a965062..923787c 100644
--- a/app/doc/png.d/dlayers.png
+++ b/app/doc/png.d/dlayers.png
Binary files differ
diff --git a/app/doc/png.d/dprmfile.png b/app/doc/png.d/dprmfile.png
index 7733a1c..ba5170a 100644
--- a/app/doc/png.d/dprmfile.png
+++ b/app/doc/png.d/dprmfile.png
Binary files differ
diff --git a/app/doc/png.d/layout.png b/app/doc/png.d/layout.png
index d5607da..54f35c9 100644
--- a/app/doc/png.d/layout.png
+++ b/app/doc/png.d/layout.png
Binary files differ
diff --git a/app/doc/png.d/madd.png b/app/doc/png.d/madd.png
index e8a664f..bde4a7f 100644
--- a/app/doc/png.d/madd.png
+++ b/app/doc/png.d/madd.png
Binary files differ
diff --git a/app/doc/png.d/maddcircle.png b/app/doc/png.d/maddcircle.png
new file mode 100644
index 0000000..57708a1
--- /dev/null
+++ b/app/doc/png.d/maddcircle.png
Binary files differ
diff --git a/app/doc/png.d/maddcontrol.png b/app/doc/png.d/maddcontrol.png
new file mode 100644
index 0000000..0a0e167
--- /dev/null
+++ b/app/doc/png.d/maddcontrol.png
Binary files differ
diff --git a/app/doc/png.d/maddcurve.png b/app/doc/png.d/maddcurve.png
new file mode 100644
index 0000000..7b63b71
--- /dev/null
+++ b/app/doc/png.d/maddcurve.png
Binary files differ
diff --git a/app/doc/png.d/maddparallel.png b/app/doc/png.d/maddparallel.png
new file mode 100644
index 0000000..c821f4a
--- /dev/null
+++ b/app/doc/png.d/maddparallel.png
Binary files differ
diff --git a/app/doc/png.d/mchange.png b/app/doc/png.d/mchange.png
index f891411..e09079c 100644
--- a/app/doc/png.d/mchange.png
+++ b/app/doc/png.d/mchange.png
Binary files differ
diff --git a/app/doc/png.d/mconvert.png b/app/doc/png.d/mconvert.png
new file mode 100644
index 0000000..879777d
--- /dev/null
+++ b/app/doc/png.d/mconvert.png
Binary files differ
diff --git a/app/doc/png.d/mdraw.png b/app/doc/png.d/mdraw.png
index 46b1f69..24d46ce 100644
--- a/app/doc/png.d/mdraw.png
+++ b/app/doc/png.d/mdraw.png
Binary files differ
diff --git a/app/doc/png.d/mdrawcircles.png b/app/doc/png.d/mdrawcircles.png
index 30f9f00..42e1854 100644
--- a/app/doc/png.d/mdrawcircles.png
+++ b/app/doc/png.d/mdrawcircles.png
Binary files differ
diff --git a/app/doc/png.d/mdrawcurve.png b/app/doc/png.d/mdrawcurve.png
index 20501f0..6a638c3 100644
--- a/app/doc/png.d/mdrawcurve.png
+++ b/app/doc/png.d/mdrawcurve.png
Binary files differ
diff --git a/app/doc/png.d/mdrawmeasure.png b/app/doc/png.d/mdrawmeasure.png
new file mode 100644
index 0000000..e090704
--- /dev/null
+++ b/app/doc/png.d/mdrawmeasure.png
Binary files differ
diff --git a/app/doc/png.d/mdrawnotes.png b/app/doc/png.d/mdrawnotes.png
new file mode 100644
index 0000000..2b0a128
--- /dev/null
+++ b/app/doc/png.d/mdrawnotes.png
Binary files differ
diff --git a/app/doc/png.d/mdrawshapes.png b/app/doc/png.d/mdrawshapes.png
index d7a8a30..7d81c96 100644
--- a/app/doc/png.d/mdrawshapes.png
+++ b/app/doc/png.d/mdrawshapes.png
Binary files differ
diff --git a/app/doc/png.d/mdrawstraight.png b/app/doc/png.d/mdrawstraight.png
index c0767a3..dbf4363 100644
--- a/app/doc/png.d/mdrawstraight.png
+++ b/app/doc/png.d/mdrawstraight.png
Binary files differ
diff --git a/app/doc/png.d/medit.png b/app/doc/png.d/medit.png
index 3b69b83..2ffa681 100644
--- a/app/doc/png.d/medit.png
+++ b/app/doc/png.d/medit.png
Binary files differ
diff --git a/app/doc/png.d/mfile.png b/app/doc/png.d/mfile.png
index 4bbd678..3318d9e 100644
--- a/app/doc/png.d/mfile.png
+++ b/app/doc/png.d/mfile.png
Binary files differ
diff --git a/app/doc/png.d/mhelp.png b/app/doc/png.d/mhelp.png
index e06e37d..158657e 100644
--- a/app/doc/png.d/mhelp.png
+++ b/app/doc/png.d/mhelp.png
Binary files differ
diff --git a/app/doc/png.d/mhelpdemos.png b/app/doc/png.d/mhelpdemos.png
index 1b935bc..f67ee8e 100644
--- a/app/doc/png.d/mhelpdemos.png
+++ b/app/doc/png.d/mhelpdemos.png
Binary files differ
diff --git a/app/doc/png.d/mjoin.png b/app/doc/png.d/mjoin.png
new file mode 100644
index 0000000..29034d6
--- /dev/null
+++ b/app/doc/png.d/mjoin.png
Binary files differ
diff --git a/app/doc/png.d/mmacro.png b/app/doc/png.d/mmacro.png
index 4bb4203..b88580f 100644
--- a/app/doc/png.d/mmacro.png
+++ b/app/doc/png.d/mmacro.png
Binary files differ
diff --git a/app/doc/png.d/mmanage.png b/app/doc/png.d/mmanage.png
index 8ea36f7..34647cc 100644
--- a/app/doc/png.d/mmanage.png
+++ b/app/doc/png.d/mmanage.png
Binary files differ
diff --git a/app/doc/png.d/mmanageturnoutdesign.png b/app/doc/png.d/mmanageturnoutdesign.png
index 9a1fbec..9473414 100644
--- a/app/doc/png.d/mmanageturnoutdesign.png
+++ b/app/doc/png.d/mmanageturnoutdesign.png
Binary files differ
diff --git a/app/doc/png.d/moptions.png b/app/doc/png.d/moptions.png
index 3548abf..c8dbeb5 100644
--- a/app/doc/png.d/moptions.png
+++ b/app/doc/png.d/moptions.png
Binary files differ
diff --git a/app/doc/png.d/mselect.png b/app/doc/png.d/mselect.png
deleted file mode 100644
index 3d0f78a..0000000
--- a/app/doc/png.d/mselect.png
+++ /dev/null
Binary files differ
diff --git a/app/doc/png.d/mselectcmd.png b/app/doc/png.d/mselectcmd.png
new file mode 100644
index 0000000..07a4c20
--- /dev/null
+++ b/app/doc/png.d/mselectcmd.png
Binary files differ
diff --git a/app/doc/png.d/mselectcontext.png b/app/doc/png.d/mselectcontext.png
new file mode 100644
index 0000000..fe6a34c
--- /dev/null
+++ b/app/doc/png.d/mselectcontext.png
Binary files differ
diff --git a/app/doc/png.d/mselected.png b/app/doc/png.d/mselected.png
deleted file mode 100644
index c6ac4a3..0000000
--- a/app/doc/png.d/mselected.png
+++ /dev/null
Binary files differ
diff --git a/app/doc/png.d/mselectedcontext.png b/app/doc/png.d/mselectedcontext.png
new file mode 100644
index 0000000..607398f
--- /dev/null
+++ b/app/doc/png.d/mselectedcontext.png
Binary files differ
diff --git a/app/doc/png.d/msplit.png b/app/doc/png.d/msplit.png
new file mode 100644
index 0000000..2fe2d48
--- /dev/null
+++ b/app/doc/png.d/msplit.png
Binary files differ
diff --git a/app/doc/png.d/mview.png b/app/doc/png.d/mview.png
index 7bf2037..61fff8c 100644
--- a/app/doc/png.d/mview.png
+++ b/app/doc/png.d/mview.png
Binary files differ
diff --git a/app/doc/png.d/paramsearch.png b/app/doc/png.d/paramsearch.png
index ec6b2b8..2aca111 100644
--- a/app/doc/png.d/paramsearch.png
+++ b/app/doc/png.d/paramsearch.png
Binary files differ
diff --git a/app/doc/png.d/pref.png b/app/doc/png.d/pref.png
index e72b459..57940a6 100644
--- a/app/doc/png.d/pref.png
+++ b/app/doc/png.d/pref.png
Binary files differ
diff --git a/app/doc/png.d/statustext.png b/app/doc/png.d/statustext.png
index 6435000..ac9fc02 100644
--- a/app/doc/png.d/statustext.png
+++ b/app/doc/png.d/statustext.png
Binary files differ
diff --git a/app/doc/png.d/sticky.png b/app/doc/png.d/sticky.png
index fbc2316..2683cce 100644
--- a/app/doc/png.d/sticky.png
+++ b/app/doc/png.d/sticky.png
Binary files differ
diff --git a/app/doc/view_winm.but b/app/doc/view_winm.but
index cb115a9..f814c3f 100644
--- a/app/doc/view_winm.but
+++ b/app/doc/view_winm.but
@@ -30,7 +30,7 @@ The \f{View Menu} shows commands affecting the display of the \f{Main Canvas} (\
\u000
-\dd \f{Magnetic Snap On/Off} - Toggles Magnets for Add Operations on and off. The magnets make tracks auto-align and shapes touch when the cursor or object is close. They can be defeated on each operation by holding down \e{Alt}. If the Magnets are off, holding down \e{Alt} will enable them.
+\dd \f{Magnetic Snap On/Off} - Toggles Magnets (\K{cmdMagneticSnap}) for Add Operations on and off. The magnets make tracks auto-align and shapes touch when the cursor or object is close. They can be defeated on each operation by holding down \e{Alt}. If the Magnets are off, holding down \e{Alt} will enable them.
\u000
@@ -42,6 +42,10 @@ The \f{View Menu} shows commands affecting the display of the \f{Main Canvas} (\
\u000
+\dd \f{Pan/Zoom} - move or resize the viewport using the mouse (\K{cmdPan}).
+
+\u000
+
\dd \G{png.d/mzoomscale.png}
\u000
@@ -62,15 +66,34 @@ When zooming in or out, the corresponding highlighted area of the \f{Map Window}
\rule
+\S{cmdMagneticSnap} Magnetic Snap
+
+The \f{MagneticSnap} feature eases constructing and assembling Tracks and Draw objects by "snapping" the end of new objects to existing objects.
+For existing track objects the point snapped to is always an open end point.
+The snap operates when "close" to the object (a few pixels distant) and an anchor point (a blue circle) is displayed when this will occur if the mouse is clicked.
+
+\u000
+When Adding Draw line objects, the snap point is the nearest point on the existing object.
+A snap to the end of a line object can be selected by positioning the cursor close to the end of the line but off it, in the direction of the line. This will ensure the closest point is the end.
+
+\u000
+The \f{MagneticSnap} feature is enabled and disabled using either the magnet icon which is part of the \f{SnapGrid} Toolbar button set, or using the View (\K{viewM}) menu.
+
+For each part of an Add or Move or Rotate operation, the current state of \f{MagneticSnap} can be temporarily inverted using the \f{Alt} key.
+This enables snapping to be inhibited for a single part of an operation (or conversely enabled for just one part).
+
+\rule
+
\S{cmdGrid} Grid Dialog
-The \f{Grid} dialog, displayed by \f{Change Grid} on the View (\K{viewM}) menu, specifies the origin, angle and other parameters of the Snap Grid. The Snap Grid controls the position of the cursor during the \f{Curve} (\K{cmdCurve}), \f{Circle} (\K{cmdCircle}), \f{Modify} (\K{cmdModify}), \f{Straight} (\K{cmdStraight}), \f{Line Drawing} (\K{cmdDraw}) and \f{Turntable} (\K{cmdTurntable}) commands.
+The \f{Grid} dialog, displayed by \f{Change Grid} on the View (\K{viewM}) menu, specifies the origin, angle and other parameters of the Snap Grid.
+The Snap Grid can sbe used to snap the position of the cursor during the \f{Curve} (\K{cmdCurve}), \f{Circle} (\K{cmdCircle}), \f{Cornu} (\K{cmdCornu}), \f{Modify} (\K{cmdModify}), \f{Straight} (\K{cmdStraight}), \f{Draw} (\K{cmdDraw}) and \f{Turntable} (\K{cmdTurntable}) commands.
\G{png.d/grid.png}
The \f{Grid} dialog contains controls affecting the horizontal and vertical snap grid lines. Each dimension can be independently controlled.
-\dd The \f{Spacing} value specifies the distance between major grid lines, which are drawn as solid lines on the layout.
+\dd The \f{Spacing} value specifies the distance between major grid lines, which are drawn as solid lines on the layout. The value of the distance is entered in either inches or centimeters depending on the value of the \f{Units} setting in Options->Preferencecs (\K{cmdPref}) menu.
\u000
@@ -78,7 +101,7 @@ The \f{Grid} dialog contains controls affecting the horizontal and vertical snap
\u000
-\dd The Grid can be enabled or disabled in each dimension via the \f{Enable} check box.
+\dd The Grid can be enabled or disabled in each dimension via the \f{Enable} check box. The action of snapping is secondary to \f{Magnetic Snap} if enabled, and is suppressed if \f{Alt} is held.
\u000
@@ -110,7 +133,6 @@ Command button groups displayed on the \f{Tool-bar} are selected using the Tool-
\rule
-
\S{cmdZoom} \i{Zoom}
\G{png.d/bgzoom.png}
@@ -133,6 +155,10 @@ Holding down the Shift key while clicking the \f{Zoom In} or \f{Zoom Out} button
\u000
+\b Key 's' sets the zoom to show the selected set of objects and pans the window to center the highlit area.
+
+\u000
+
\b Key '0' or 'o' keeps the zoom as is, but moves the origin of the bottom left of the window to 0,0
\u000
@@ -147,6 +173,10 @@ Pressing the middle Zoom button on the Tool Bar pop-ups a list of Zoom factors t
\u000
+\e{Note} - The value of Zoom 1:1 will be set using 96 dpi as a default, it can be overriden using a Configuration Value in the Preferences section of ScreenDPI.
+
+\u000
+
\dd The Pan function can be accessed using the Mouse Wheel with \e{Shift} of the \e{Mouse Middle Button}. Adding \e{Ctrl} as well as \e{Shift} chnages Up to Left and Down to Right.
Pan Left and Right can also be driven by the Horizontal Mouse Wheel (if available) or the Scroll Left/Right Guestures (if mapped by the Operating System).
diff --git a/app/doc/warranty.but b/app/doc/warranty.but
index 357a0cb..d52b7fa 100644
--- a/app/doc/warranty.but
+++ b/app/doc/warranty.but
@@ -150,3 +150,77 @@ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE
\f{END OF TERMS AND CONDITIONS}
\rule
+
+\H{Contributions} \ii{Contributions}
+
+XTrackCAD incorporates the following software:
+
+\c This program uses FreeImage, a free, open source image library supporting all common bitmap formats.
+\e bbbbbbbbb
+\c See http://freeimage.sourceforge.net for details
+
+\u000
+
+\c uthash, utlist
+\e bbbbbb bbbbbb
+\c Copyright (c) 2005-2015, Troy D. Hanson http://troydhanson.github.com/uthash/
+\c All rights reserved.
+
+\u000
+
+\c CJson - https://github.com/DaveGamble/cJSON/blob/master/README.md#license
+\e bbbbb
+\c Copyright (c) 2009-2017 Dave Gamble and cJSON contributors
+
+\u000
+
+\c zlib - https://opensource.org/licenses/zlib-license.php
+\e bbbb
+
+\u000
+
+\c libzip - https://libzip.org/license/
+\e bbbbbb
+\c Copyright (C) 1999-2019 Dieter Baron and Thomas Klausner
+
+\c The authors can be contacted at <libzip@nih.at>
+
+\c Redistribution and use in source and binary forms, with or without
+\c modification, are permitted provided that the following conditions
+\c are met:
+
+\c 1. Redistributions of source code must retain the above copyright
+\c notice, this list of conditions and the following disclaimer.
+
+\c 2. Redistributions in binary form must reproduce the above copyright
+\c notice, this list of conditions and the following disclaimer in
+\c the documentation and/or other materials provided with the
+\c distribution.
+
+\c 3. The names of the authors may not be used to endorse or promote
+\c products derived from this software without specific prior
+\c written permission.
+
+\c THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
+\c OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+\c WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+\c ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+\c DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+\c DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+\c GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+\c INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+\c IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+\c OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+\c IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+\u000
+
+\c minixml - https://github.com/michaelrsweet/mxml/commit/f166ad1977f2f13295689772a5d9e442f73d46f1
+\e bbbbbbb
+
+\c Copyright (C) 2003-2019 by Michael R Sweet.
+\c The Mini-XML library is licensed under the Apache License Version 2.0 with an
+\c exception to allow linking against GPL2/LGPL2-only software.
+
+
+
diff --git a/app/help/genhelp.json b/app/help/genhelp.json
index 1d6f8af..8d75c94 100644
--- a/app/help/genhelp.json
+++ b/app/help/genhelp.json
@@ -1,681 +1,731 @@
-{
- "messages": [
- {"line": "Help", "contents": "Invokes online help for this dialog" },
- {"line": "cancel", "contents": "Cancels this command" },
- {"line": "Close", "contents": "Closes the dialog" },
- {"line": "cmdAbout", "contents": "About program dialog" },
- {"line": "cmdAbove", "contents": "Move selected object to top" },
- {"line": "cmdAddElevations", "contents": "Raise or lower all selected tracks" },
- {"line": "cmdMagneticSnap", "contents": "Turn magnetic snap on or off" },
- {"line": "cmdBelow", "contents": "Move selected object to bottom" },
- {"line": "cmdBlockCreate", "contents": "Create a section of track for automation" },
- {"line": "cmdBlockEdit", "contents": "Edit a block definition " },
- {"line": "cmdCarDesc", "contents": "Create a new Car/Loco description" },
- {"line": "cmdCarInventory", "contents": "Manage your Car and Loco Inventory" },
- {"line": "cmdCircleCenter", "contents": "Create track circle from center" },
- {"line": "cmdCircleFixedRadius", "contents": "Create fixed radius track circle" },
- {"line": "cmdCircleSetCmd", "contents": "Set Circle Track creation mode" },
- {"line": "cmdCircleTangent", "contents": "Create track circle from tangent" },
- {"line": "cmdClearElevations", "contents": "Removes elevation from Selected tracks" },
- {"line": "cmdClone", "contents": "Copy objects to clipboard and duplicate them in exactly the same place" },
- {"line": "cmdCmdopt", "contents": "Command Options dialog" },
- {"line": "cmdColor", "contents": "Controls colors" },
- {"line": "cmdConnect", "contents": "Connect two tracks" },
- {"line": "cmdControl", "contents": "Create a control for layout automation" },
- {"line": "cmdControlElements", "contents": "Select control element to create" },
- {"line": "cmdContmgm", "contents": "Manage control elements" },
- {"line": "cmdConvertSetCmd", "contents": "Set Convert mode" },
- {"line": "cmdConvertTo", "contents": "Convert from Fixed Track to Cornu" },
- {"line": "cmdConvertFrom", "contents": "Convert from Cornu and Bezier to Fixed Track" },
- {"line": "cmdCopy", "contents": "Copy selected objects to clipboard" },
- {"line": "cmdCornu", "contents": "Create Cornu track" },
- {"line": "cmdCurveCenter", "contents": "Create curved track from center" },
- {"line": "cmdCurveChord", "contents": "Create curved track from chord" },
- {"line": "cmdCurveEndPt", "contents": "Create curved track from end-point" },
- {"line": "cmdBezier", "contents": "Create Bezier track" },
- {"line": "cmdCurveSetCmd", "contents": "Set Curve Track creation mode" },
- {"line": "cmdCurveTangent", "contents": "Create curved track from tangent" },
- {"line": "cmdCustmgm", "contents": "Manipulate Custom designer entries" },
- {"line": "cmdCut", "contents": "Moves selected objects to clipboard" },
- {"line": "cmdDelete", "contents": "Delete objects" },
- {"line": "cmdDemo", "contents": "Playback demos" },
- {"line": "cmdDescribe", "contents": "Change Object Properties" },
- {"line": "cmdDescribeMode", "contents": "Change to properties mode" },
- {"line": "cmdDeselectAll", "contents": "Deselect all selected objects" },
- {"line": "cmdDisplay", "contents": "Change Display parameters" },
- {"line": "cmdDrawBench", "contents": "Create benchwork" },
- {"line": "cmdDrawBox", "contents": "Create a box" },
- {"line": "cmdDrawCircleSetCmd", "contents": "Set Circle drawing command" },
- {"line": "cmdDrawCircle", "contents": "Create a circle" },
- {"line": "cmdDrawCircleCenter", "contents": "Draw a circle line from center" },
- {"line": "cmdDrawCircleFixedRadius", "contents": "Draw a fixed radius circle line" },
- {"line": "cmdDrawCircleTangent", "contents": "Draw a circle line from tangent" },
- {"line": "cmdDrawCurveSetCmd", "contents": "Set Curve drawing command" },
- {"line": "cmdDrawCurve", "contents": "Create a curved line" },
- {"line": "cmdDrawCurveEndPt", "contents": "Create a curved line from End" },
- {"line": "cmdDrawCurveCenter", "contents": "Create a curved line from center" },
- {"line": "cmdDrawCurveChord", "contents": "Create a curved line from chord" },
- {"line": "cmdDrawCurveTangent", "contents": "Create a curved line from tangent" },
- {"line": "cmdDrawBezierCurve", "contents": "Create a Bezier line" },
- {"line": "cmdDrawDimLine", "contents": "Create a dimension line" },
- {"line": "cmdDrawFilledBox", "contents": "Create a filled box" },
- {"line": "cmdDrawFilledCurve", "contents": "Create a filled circle" },
- {"line": "cmdDrawFilledCircleCenter", "contents": "Draw a filled circle from center" },
- {"line": "cmdDrawFilledCircleFixedRadius", "contents": "Draw a fixed radius filled circle" },
- {"line": "cmdDrawFilledCircleTangent", "contents": "Draw a filled circle from tangent" },
- {"line": "cmdDrawPolygon", "contents": "Create a polygon" },
- {"line": "cmdDrawFilledPolygon", "contents": "Create a filled polygon" },
- {"line": "cmdDrawPolyline", "contents": "Create a polyline" },
- {"line": "cmdDrawLine", "contents": "Create a straight line" },
- {"line": "cmdDrawLineSetCmd", "contents": "Set Line drawing command" },
- {"line": "cmdDrawShapeSetCmd", "contents": "Set Shape drawing command" },
- {"line": "cmdDrawTableEdge", "contents": "Draw table edge" },
- {"line": "cmdEasement", "contents": "Easement menu" },
- {"line": "cmdElevation", "contents": "Change Elevations" },
- {"line": "cmdEnumerate", "contents": "Generate a Parts List of selected objects" },
- {"line": "cmdExportImportSetCmd", "contents": "Set Import/Export mode" },
- {"line": "cmdExport", "contents": "Export a .xti file" },
- {"line": "cmdExportDXF", "contents": "Export a DXF file" },
- {"line": "cmdFileNote", "contents": "Document" },
- {"line": "cmdFlip", "contents": "Flip selected objects" },
- {"line": "cmdGrid", "contents": "Adjust snap grid" },
- {"line": "cmdGridEnable", "contents": "Enable snap grid" },
- {"line": "cmdGridShow", "contents": "Show snap grid" },
- {"line": "cmdGroup", "contents": "Create a structure from a Group of objects" },
- {"line": "cmdHandLaidTurnout", "contents": "Create a hand-laid turnout" },
- {"line": "cmdHelix", "contents": "Create a track helix" },
- {"line": "cmdImport", "contents": "Import a .xti file" },
- {"line": "cmdImportModule", "contents": "Import an .xti file as a Module" },
- {"line": "cmdJoinTrack", "contents": "Join two tracks" },
- {"line": "cmdJoinLine", "contents": "Join two lines or polylines" },
- {"line": "cmdJoinSetCmd", "contents": "Set Join mode" },
- {"line": "cmdLayer", "contents": "Change Layers" },
- {"line": "cmdLayerSet", "contents": "Selects the current drawing layer" },
- {"line": "cmdLayout", "contents": "Layout parameters" },
- {"line": "cmdLinkNote", "contents": "Weblink" },
- {"line": "cmdMapShow", "contents": "Show/Hide Map Window" },
- {"line": "cmdModify", "contents": "Modify or extend a track" },
- {"line": "cmdModifyMode", "contents": "Change To modify mode" },
- {"line": "cmdMove", "contents": "Move selected objects" },
- {"line": "cmdMoveLabel", "contents": "Move a label" },
- {"line": "cmdMoveToCurrentLayer", "contents": "Move selected objects to current layer" },
- {"line": "cmdNote", "contents": "Place a note on the layout" },
- {"line": "cmdOutputbitmap", "contents": "Print a bitmap" },
- {"line": "cmdPan", "contents": "Pan or zoom the layout" },
- {"line": "cmdPanMode", "contents": "Change to zoom/pan mode" },
- {"line": "cmdParallelTrack", "contents": "Create a parallel track" },
- {"line": "cmdParallelLine", "contents": "Create a parallel line" },
- {"line": "cmdParallelSetCmd", "contents": "Set Parallel mode" },
- {"line": "cmdParameter", "contents": "Register" },
- {"line": "cmdPaste", "contents": "Copy objects from clipboard" },
- {"line": "cmdPref", "contents": "Perferences dialog" },
- {"line": "cmdPricelist", "contents": "Display prices of turnouts, sectional tracks and structures" },
- {"line": "cmdPrint", "contents": "Print the layout" },
- {"line": "cmdPrmfile", "contents": "Loads and unloads parameter files into/from toolbar" },
- {"line": "cmdProfile", "contents": "Elevation Profile Command" },
- {"line": "cmdProfileDraw", "contents": "Profile" },
- {"line": "cmdRecord", "contents": "Command recorder" },
- {"line": "cmdRedo", "contents": "Redo last undo" },
- {"line": "cmdRefreshCompound", "contents": "Update selected Turnout and Structure definitions" },
- {"line": "cmdRescale", "contents": "Rescale selected objects" },
- {"line": "cmdRotate", "contents": "Rotate selected object(s)" },
- {"line": "cmdRuler", "contents": "Show a ruler" },
- {"line": "cmdSelect", "contents": "Select objects" },
- {"line": "cmdSelectMode", "contents": "Change To Select Mode" },
- {"line": "cmdSelectAll", "contents": "Selects all objects on the layout" },
- {"line": "cmdSelectCurrentLayer", "contents": "Selects all objects in the current Layer" },
- {"line": "cmdSelectInvert", "contents": "Invert current selection" },
- {"line": "cmdSplitTrack", "contents": "Split a track" },
- {"line": "cmdSelectOrphaned", "contents": "Select stranded (unconnected) track pieces" },
- {"line": "cmdSensor", "contents": "Create a sensor (ie. a occupancy detector or a toggle switch)" },
- {"line": "cmdSignal", "contents": "Create a signal for train control" },
- {"line": "cmdSticky", "contents": "Choose which commands are sticky" },
- {"line": "cmdStraight", "contents": "Create straight track" },
- {"line": "cmdStructure", "contents": "Place a structure on the layout" },
- {"line": "cmdSwitchMotorCreate", "contents": "Create a switchmotor for turnout control" },
- {"line": "cmdSwitchMotorEdit", "contents": "Edit a switchmotor definition" },
- {"line": "cmdText", "contents": "Enter text on the layout" },
- {"line": "cmdTextSize", "contents": "Controls the size of the entered text" },
- {"line": "cmdTextNote", "contents": "Plain Text"},
- {"line": "cmdTip", "contents": "Tip of the Day window" },
- {"line": "cmdTrain", "contents": "Run Trains" },
- {"line": "cmdTrainMode", "contents": "Change To Run Trains Mode" },
- {"line": "cmdTrainPause", "contents": "Pause/Resume Trains" },
- {"line": "cmdTrainNewCar", "contents": "Place a car on the layout" },
- {"line": "cmdTrainExit", "contents": "Exit Trains" },
- {"line": "cmdTunnel", "contents": "Hide/Unhide a track" },
- {"line": "cmdBridge", "contents": "Make/Unmake a track a bridge" },
- {"line": "cmdTurnout", "contents": "Place a turnout or sectional track" },
- {"line": "cmdTurnoutNew", "contents": "Create a new turnout definition" },
- {"line": "cmdTurntable", "contents": "Place a turntable" },
- {"line": "cmdUpdatetitle", "contents": "Updates old source files with 3 part titles" },
- {"line": "cmdUndo", "contents": "Undo last command" },
- {"line": "cmdUngroup", "contents": "Ungroup objects" },
- {"line": "cmdWidth0", "contents": "Draw tracks with thin lines" },
- {"line": "cmdWidth2", "contents": "Draw tracks with medium lines" },
- {"line": "cmdWidth3", "contents": "Draw tracks with thick lines" },
- {"line": "cmdZoom", "contents": "Change drawing scale" },
- {"line": "cmdZoomIn", "contents": "Zoom in" },
- {"line": "cmdZoomOut", "contents": "Zoom out" },
- {"line": "menuFile", "contents": "File Menu" },
- {"line": "menuFile-save", "contents": "Save layout" },
- {"line": "menuFile-saveAs", "contents": "Save layout under a new name " },
- {"line": "menuFile-clear", "contents": "New layout" },
- {"line": "menuFile-enum", "contents": "Generate parts list" },
- {"line": "menuFile-load", "contents": "Load a layout" },
- {"line": "menuFile-quit", "contents": "Exit the program" },
- {"line": "menuFile-revert", "contents": "Revert to last saved state of layout plan" },
- {"line": "editM", "contents": "Edit menu" },
- {"line": "menuEdit-redraw", "contents": "Redraw layout" },
- {"line": "menuEdit-zoomIn", "contents": "Zoom in" },
- {"line": "menuEdit-zoomOut", "contents": "Zoom out" },
- {"line": "toolsM", "contents": "Tools menu" },
- {"line": "menuView", "contents": "View menu" },
- {"line": "menuToolbar", "contents": "Toolbar configuration" },
- {"line": "menuTools", "contents": "Tools menu" },
- {"line": "menuOption", "contents": "Options menu" },
- {"line": "menuMacro", "contents": "Playback/Record commands" },
- {"line": "menuWindow", "contents": "Window menu" },
- {"line": "menuHelp", "contents": "Help menu" },
- {"line": "menuHelpRecentMessages", "contents": "Recent error messages and explanations" },
- {"line": "hotBarLeft", "contents": "Move Hot Bar left" },
- {"line": "hotBarRight", "contents": "Move Hot Bar right" },
- {"line": "infoBarCount", "contents": "Total track count" },
- {"line": "infoBarPosX", "contents": "X Position of cursor" },
- {"line": "infoBarPosY", "contents": "Y Position of cursor" },
- {"line": "infoBarScale", "contents": "Drawing scale" },
- {"line": "infoBarStatus", "contents": "Message and status line" },
- {"line": "main-draw", "contents": "Main layout canvas" },
- {"line": "mainDraw", "contents": "Main layout canvas" },
- {"line": "main-canvas", "contents": "Main drawing canvas" },
- {"line": "main-commandbar", "contents": "Command buttons" },
- {"line": "main-menubar", "contents": "Menus" },
- {"line": "main-titlebar", "contents": "Tile, Filename and Window Manager buttons" },
- {"line": "main-hotbar", "contents": "Turnout and Structure Hot Bar" },
- {"line": "main-layers", "contents": "Active layer list and layer buttons" },
- {"line": "map-draw", "contents": "Map window" },
- {"line": "map-hilight", "contents": "This is the portion of the layout shown in the Main Window canvas" },
- {"line": "addElev-value", "contents": "Raise or Lower all Selected Track" },
- {"line": "block-name", "contents": "Name of block" },
- {"line": "block-script", "contents": "Script that the block will run" },
- {"line": "block-segments", "contents": "List of tracks in the Block" },
- {"line": "carpart-ok", "contents": "Add or Update car object" },
- {"line": "carpart-manuf", "contents": "Manufacturer name" },
- {"line": "carpart-prototype", "contents": "Car Prototype" },
- {"line": "carpart-prototype-list", "contents": "Car Prototype" },
- {"line": "carpart-isLoco", "contents": "Is the Car a Locomotive?" },
- {"line": "carpart-partno-list", "contents": "Part Number and Description" },
- {"line": "carpart-partno", "contents": "Manufacturer Part Number" },
- {"line": "carpart-import", "contents": "Use the Selected figure as the car image" },
- {"line": "carpart-reset", "contents": "Use the default figure as the car image" },
- {"line": "carpart-desc", "contents": "Optional description of the Car Part" },
- {"line": "carpart-flip", "contents": "Flip car image" },
- {"line": "carpart-dispmode", "contents": "Display Car Item information or reporting marks and dimensions" },
- {"line": "carpart-road", "contents": "Full Roadname" },
- {"line": "carpart-type", "contents": "Car Type" },
- {"line": "carpart-protokind-list", "contents": "Car Type" },
- {"line": "carpart-repmark", "contents": "Reporting Marks (Roadname abbreviation)" },
- {"line": "carpart-number", "contents": "Car Number" },
- {"line": "carpart-bodyColor", "contents": "Car body Color" },
- {"line": "carpart-carLength", "contents": "Length of car body" },
- {"line": "carpart-carWidth", "contents": "Width of car body" },
- {"line": "carpart-trkCenter", "contents": "Distance between Trucks " },
- {"line": "carpart-trkCenterOffset", "contents": "Distance Trucks are displaced along Car" },
- {"line": "carpart-cplrMount", "contents": "Coupler are mounted on body or truck" },
- {"line": "carpart-cpldLen", "contents": "Overall Coupled Length" },
- {"line": "carpart-cplrLen", "contents": "Coupler Length from end of car" },
- {"line": "carpart-canvas", "contents": "Diagram of Car" },
- {"line": "carpart-index", "contents": "Item Index Number" },
- {"line": "carpart-purchPrice", "contents": "Original Purchase Price" },
- {"line": "carpart-currPrice", "contents": "Current Price" },
- {"line": "carpart-condition", "contents": "Condition of car" },
- {"line": "carpart-purchDate", "contents": "Original Purchase Date" },
- {"line": "carpart-serviceDate", "contents": "Last Service Date" },
- {"line": "carpart-quantity", "contents": "Number of identical cars to be entered" },
- {"line": "carpart-multinum", "contents": "Do all the cars have the same Number?" },
- {"line": "carpart-notes", "contents": "Notes about the car" },
- {"line": "carpart-new", "contents": "Create a new car Part or Prototype definitions" },
- {"line": "carpart-new-menu", "contents": "Create a new car Part or Prototype definitions" },
- {"line": "carinv-ok", "contents": "Finds the selected Car Item on the layout" },
- {"line": "carinv-sort1", "contents": "Sort the Item list" },
- {"line": "carinv-sort2", "contents": "Sort the Item list" },
- {"line": "carinv-sort3", "contents": "Sort the Item list" },
- {"line": "carinv-sort4", "contents": "Sort the Item list" },
- {"line": "carinv-list", "contents": "" },
- {"line": "carinv-edit", "contents": "Edit the selected Car Item" },
- {"line": "carinv-add", "contents": "Add a new Car Item" },
- {"line": "carinv-delete", "contents": "Delete the selected Car Items" },
- {"line": "carinv-import", "contents": "Import a Car Item .csv file" },
- {"line": "carinv-export", "contents": "Export a Car Item .csv file" },
- {"line": "carinv-savetext", "contents": "Create a text list of the Car Items" },
- {"line": "circle-radius", "contents": "Specifies the radius of the circle track" },
- {"line": "cmdopt-preselect", "contents": "Default command is Describe or Select" },
- {"line": "cmdopt-rightclickmode", "contents": "Action to invoke on Right-Click" },
- {"line": "cmdopt-selectmode", "contents": "Replace current selection with clicked object or add clicked object to selection" },
- {"line": "cmdopt-selectzero", "contents": "Clicking into an empty area clears selection if select mode is <add>" },
- {"line": "cmdopt-ok", "contents": "" },
- {"line": "contmgm-inx", "contents": "The list of control elements" },
- {"line": "contmgm-edit", "contents": "Edit the element" },
- {"line": "contmgm-delete", "contents": "Delete the element" },
- {"line": "contents-label", "contents": "Contents Label for new Parameter file" },
- {"line": "custmgm-inx", "contents": "List of custom designed turnouts and structures" },
- {"line": "custmgm-edit", "contents": "Invoke designer editor" },
- {"line": "custmgm-delete", "contents": "Remove selected entries" },
- {"line": "custmgm-export", "contents": "Copy selected entries to Parameter File" },
- {"line": "custmgm-new", "contents": "Create a New part or prototype" },
- {"line": "custmgm-ok", "contents": "Update custom file and close" },
- {"line": "demo-step", "contents": "Executes the next step of the demo" },
- {"line": "demo-next", "contents": "Skip to next demo" },
- {"line": "demo-quit", "contents": "Stops the demonstration and returns you to XTrackCAD" },
- {"line": "demo-speed", "contents": "Select speed of Playback" },
- {"line": "demo-text", "contents": "This is where comments about the demo are displayed" },
- {"line": "describe-F1", "contents": "" },
- {"line": "describe-F2", "contents": "" },
- {"line": "describe-F3", "contents": "" },
- {"line": "describe-F4", "contents": "" },
- {"line": "describe-F5", "contents": "" },
- {"line": "describe-F6", "contents": "" },
- {"line": "describe-F7", "contents": "" },
- {"line": "describe-F8", "contents": "" },
- {"line": "describe-F9", "contents": "" },
- {"line": "describe-F10", "contents": "" },
- {"line": "describe-F11", "contents": "" },
- {"line": "describe-F12", "contents": "" },
- {"line": "describe-F13", "contents": "" },
- {"line": "describe-F14", "contents": "" },
- {"line": "describe-F15", "contents": "" },
- {"line": "describe-F16", "contents": "" },
- {"line": "describe-F17", "contents": "" },
- {"line": "describe-F18", "contents": "" },
- {"line": "describe-F19", "contents": "" },
- {"line": "describe-F20", "contents": "" },
- {"line": "describe-I1", "contents": "" },
- {"line": "describe-I2", "contents": "" },
- {"line": "describe-I3", "contents": "" },
- {"line": "describe-I4", "contents": "" },
- {"line": "describe-I5", "contents": "" },
- {"line": "describe-S1", "contents": "" },
- {"line": "describe-S2", "contents": "" },
- {"line": "describe-S3", "contents": "" },
- {"line": "describe-S4", "contents": "" },
- {"line": "describe-Y1", "contents": "" },
- {"line": "describe-C1", "contents": "" },
- {"line": "describe-L1", "contents": "" },
- {"line": "describe-L2", "contents": "" },
- {"line": "describe-LE1", "contents": "" },
- {"line": "describe-T1", "contents": "" },
- {"line": "describe-P1", "contents": "" },
- {"line": "display-autoPan", "contents": "Move the Main canvas if you drag near the edge" },
- {"line": "display-color-track", "contents": "Color tracks by layer or individually" },
- {"line": "display-color-draw", "contents": "Color draw objects by layer or individually" },
- {"line": "display-tunnels", "contents": "Controls the drawing of hidden tracks" },
- {"line": "display-endpt", "contents": "Controls the drawing of End-Points" },
- {"line": "display-tiedraw", "contents": "How to draw track ties" },
- {"line": "display-centerdraw", "contents": "Show crosshair at center of curves" },
- {"line": "display-tworailscale", "contents": "Drawing scale when to draw tracks with 2 rails" },
- {"line": "display-mapscale", "contents": "Drawing scale of the map window" },
- {"line": "display-livemap", "contents": "Whether the main layout is updated while dragging on the Map" },
- {"line": "display-labelenable", "contents": "Enable labels for Turnouts, Flextrack Lengths and Elevations" },
- {"line": "display-labelscale", "contents": "When to label Turnout, Flextrack Lengths and Elevations" },
- {"line": "display-description-fontsize", "contents": "Font size for labels on layout" },
- {"line": "display-hotbarlabels", "contents": "Label elements on the Hot Bar" },
- {"line": "display-layoutlabels", "contents": "Label elements on layout" },
- {"line": "display-listlabels", "contents": "Label elements for lists" },
- {"line": "display-carhotbarlabels", "contents": "How to group cars on the Train Hot Bar" },
- {"line": "display-trainpause", "contents": "Delay (in mS) between updating train movements" },
- {"line": "display-hideTrainsInTunnels", "contents": "Don't show trains in tunnels when tunnels are hidden" },
- {"line": "display-unconnected-endpt", "contents": "Display unconnected endpoints of track with special marks" },
- {"line": "display-constrainmain", "contents": "Whether the Main Drawing Area shows as much of the room as possible" },
- {"line": "display-ok", "contents": "" },
- {"line": "draw-linewidth", "contents": "Width of the lines" },
- {"line": "draw-linecolor", "contents": "Color of the lines" },
- {"line": "draw-benchlist", "contents": "List of types of Lumber" },
- {"line": "draw-benchcolor", "contents": "Color of Benchwork" },
- {"line": "draw-benchorient", "contents": "Orientation of Benchwork" },
- {"line": "draw-arrowsize", "contents": "Size of Dimension Arrows" },
- {"line": "easement-val", "contents": "This controls the sharpness of the easement curve" },
- {"line": "easement-r", "contents": "Minimum radius" },
- {"line": "easement-x", "contents": "Maximum offset" },
- {"line": "easement-l", "contents": "Easement length" },
- {"line": "easement-radio", "contents": "These radio buttons are a short-cut for Values of 0.0, 0.5, 1.0 and 2.0. None turns Easements off" },
- {"line": "easement-ok", "contents": "Complete easement selection" },
- {"line": "elev-mode", "contents": "Type of elevation" },
- {"line": "elev-value", "contents": "Height of End Point" },
- {"line": "elev-computed", "contents": "Compute elevation based on neighbors" },
- {"line": "elev-grade", "contents": "Compute grade based on neighbors" },
- {"line": "elev-station", "contents": "Specify a name for an End-Point" },
- {"line": "elev-ok", "contents": "" },
- {"line": "enum-print", "contents": "Print parts list" },
- {"line": "enum-printsetup", "contents": "Invoke the Print Setup dialog" },
- {"line": "enum-save", "contents": "Save parts list to file" },
- {"line": "enum-text", "contents": "This is the list of parts for the layout" },
- {"line": "enum-list-prices", "contents": "Enable prices on the Parts List" },
- {"line": "grid-horzspacing", "contents": "Spacing between major grid lines" },
- {"line": "grid-horzdivision", "contents": "Allows the spacing to be subdivided" },
- {"line": "grid-horzenable", "contents": "Specifies if positions are snaped in this direction" },
- {"line": "grid-vertspacing", "contents": "Spacing between major grid lines" },
- {"line": "grid-vertdivision", "contents": "Allows the spacing to be subdivided" },
- {"line": "grid-vertenable", "contents": "Specifies if positions are snaped in this direction" },
- {"line": "grid-origx", "contents": "Shows the origin and angle of the grid" },
- {"line": "grid-origy", "contents": "Shows the origin and angle of the grid" },
- {"line": "grid-origa", "contents": "Shows the origin and angle of the grid" },
- {"line": "grid-show", "contents": "Specifies if the grid is shown" },
- {"line": "grid-ok", "contents": "Completes the grid specification" },
- {"line": "group-manuf", "contents": "Manufacturer" },
- {"line": "group-desc", "contents": "Description" },
- {"line": "group-partno", "contents": "Part Number" },
- {"line": "group-segcnt", "contents": "Number of segments in Group" },
- {"line": "group-replace", "contents": "Replace the Selected object with the new definition?" },
- {"line": "group-ok", "contents": "Creates a new Structure (or Turnout)" },
- {"line": "helix-elev", "contents": "Elevation difference of Helix End-Points" },
- {"line": "helix-radius", "contents": "Helix Radius" },
- {"line": "helix-turns", "contents": "Number of turns in the helix" },
- {"line": "helix-angSep", "contents": "Angle betweek helix entrance and exit" },
- {"line": "helix-grade", "contents": "Grade in helix" },
- {"line": "helix-vertSep", "contents": "Separation between helix layers" },
- {"line": "join-fixed-radius", "contents": "Desired curve radius between straight tracks" },
- {"line": "layer-layer", "contents": "Layer list" },
- {"line": "layer-name", "contents": "Layer Name" },
- {"line": "layer-color", "contents": "Color of layer" },
- {"line": "layer-visible", "contents": "Layer is drawn on Main window" },
- {"line": "layer-frozen", "contents": "Layer cannot be changed" },
- {"line": "layer-onmap", "contents": "Layer is drawn on Map window" },
- {"line": "layer-button-count", "contents": "Number of layer buttons to show" },
- {"line": "layer-object-count", "contents": "Number of objects in this layer" },
- {"line": "layer-ok", "contents": "" },
- {"line": "layer-reset", "contents": "Load layer configuration from default" },
- {"line": "layer-save", "contents": "Save current layer configuration as default" },
- {"line": "layer-clear", "contents": "Overwrite layer configuration with system default values" },
- {"line": "layout-roomsizeX", "contents": "Specifies the size of the room (in inches or centimeters)" },
- {"line": "layout-roomsizeY", "contents": "Specifies the size of the room (in inches or centimeters)" },
- {"line": "layout-title1", "contents": "Specifies the layout Title that will appear on printouts" },
- {"line": "layout-title2", "contents": "Specifies the layout Subtitle that will appear on printouts" },
- {"line": "layout-scale", "contents": "Specifies the Modelling Scale" },
- {"line": "layout-gauge", "contents": "Specifies the rail gauge, ie. the distance between the rails" },
- {"line": "layout-mintrackradius", "contents": "Specifies minimum track radius (in inches or centimeters). Tracks with a smaller radius are considered exceptional." },
- {"line": "layout-maxtrackgrade", "contents": "Specifies maximum track elevation expressed as a percent (%). Tracks with a larger elevation are considered exceptional." },
- {"line": "layout-browse", "contents": "Select the background image" },
- {"line": "layout-clear", "contents": "Remove the background image" },
- {"line": "layout-backgroundposX", "contents": "Specifies the x offset of the bottom left of the background image" },
- {"line": "layout-backgroundposY", "contents": "Specifies the y offset of the bottom left of the background image" },
- {"line": "layout-backgroundWidth", "contents": "Specifies how large the bottom edge of the background image should be in model units" },
- {"line": "layout-backgroundScreen", "contents": "Specifies the screening of the background image from 0 (none) to 100% (vanishes)" },
- {"line": "layout-backgroundAngle", "contents": "Specifies the rotation angle of the background image in degrees" },
- {"line": "newcar-road", "contents": "Roadname" },
- {"line": "newcar-number", "contents": "Car Number" },
- {"line": "note-text", "contents": "This is the body of the Note. To change this select Modify from the File Menu" },
- {"line": "note-ok", "contents": "" },
- {"line": "outputbitmap-density", "contents": "Specifies number of pixels per inch (or centimeter)" },
- {"line": "outputbitmap-ok", "contents": "" },
- {"line": "outputbitmap-toggles", "contents": "Specifies whether Layout Titles, Borders or Track Centerlines are printed on the BitMap" },
- {"line": "parallel-separation", "contents": "Specifies the separation between the original track and the parallel track/line" },
- {"line": "parallel-factor", "contents": "Specifies the a factor that increases the seperation as the radius of the original track reduces. 0.0 means no increase." },
- {"line": "parameter-name", "contents": "Enter your name as specified in the XTrackCAD Registration Notice" },
- {"line": "parameter-key", "contents": "Enter the key value as specified in the XTrackCAD Registration Notice" },
- {"line": "parameter-ok", "contents": "Validates the name and key. Terminates the registration command" },
- {"line": "pref-anglesystem", "contents": "0� is up or to the right" },
- {"line": "pref-units", "contents": "Choose english (inches) or metric (centimeters)" },
- {"line": "pref-dstfmt", "contents": "How to display length measurements" },
- {"line": "pref-minlength", "contents": "Do not create tracks to be shorter than this value" },
- {"line": "pref-connectdistance", "contents": "Maximum distance between connected end points" },
- {"line": "pref-connectangle", "contents": "Minimum angle between connected End-Points" },
- {"line": "pref-turntable-angle", "contents": "Specifies the minimum angle between tracks connected to a turntable" },
- {"line": "pref-coupling-speed-max", "contents": "Trains will crash above this speed" },
- {"line": "pref-balloonhelp", "contents": "Enable/Disable balloon popup help windows" },
- {"line": "pref-showflextrack", "contents": "Enable/Disable show of flextrack on hotbar" },
- {"line": "pref-dragpixels", "contents": "How far you can move the mouse before its considered a drag" },
- {"line": "pref-dragtimeout", "contents": "How long you can hold a mouse button down before its considered a drag" },
- {"line": "pref-mingridspacing", "contents": "Minimum distance (in pixels) between grid lines/ticks" },
- {"line": "pref-checkpoint", "contents": "Specifies the Check Point frequency; number of modifications made since the last checkpoint." },
- {"line": "pref-autosave", "contents": "Specifies the number of checkpoints after save before auto-saving." },
- {"line": "pref-onstartup", "contents": "Resume work on last layout or start with new layout" },
- {"line": "pref-ok", "contents": "" },
- {"line": "pricelist-cost", "contents": "Updated cost of current selected item" },
- {"line": "pricelist-entry", "contents": "Item" },
- {"line": "pricelist-inx", "contents": "Selection list for prices" },
- {"line": "pricelist-flexlen", "contents": "Price of specified length of flex-track" },
- {"line": "pricelist-flexunit", "contents": "Price of specified length of flex-track" },
- {"line": "pricelist-flexcost", "contents": "Price of specified length of flex-track" },
- {"line": "pricelist-ok", "contents": "" },
- {"line": "print-centerLine", "contents": "Controls the printing of a centerline of track cmdPrint" },
- {"line": "print-scale", "contents": "Controls the reduction (scale) of the printout" },
- {"line": "print-pagew", "contents": "Scaled page width (Scale times physical page width)" },
- {"line": "print-max", "contents": "Sets page size to the maximum (based on scale and physical page size)" },
- {"line": "print-pageh", "contents": "Scaled page height (Scale times physical page height)" },
- {"line": "print-snapshot", "contents": "Sets scale, origin and angle for a one page printout of the layout" },
- {"line": "print-format", "contents": "Print page in Portrait or Landscape format" },
- {"line": "print-order", "contents": "Order of printing pages" },
- {"line": "print-style", "contents": "Print Title, Date, Author and other information at bottom of page?" },
- {"line": "print-physsize", "contents": "Ignore unprintable page margins?" },
- {"line": "print-registrationMarks", "contents": "Print Registration Marks at 1:1?" },
- {"line": "print-grid", "contents": "Print Snap Grid?" },
- {"line": "print-ruler", "contents": "Print Rulers on all page edges?" },
- {"line": "print-roadbed", "contents": "Print Roadbed Outline?" },
- {"line": "print-roadbedWidth", "contents": "Print Roadbed Outline" },
- {"line": "print-origx", "contents": "Origin of the print grid. This is useful if you want to reprint a set of pages" },
- {"line": "print-origy", "contents": "Origin of the print grid. This is useful if you want to reprint a set of pages" },
- {"line": "print-reset", "contents": "Resets the origin and angle to 0" },
- {"line": "print-origa", "contents": "Origin of the print grid. This is useful if you want to reprint a set of pages" },
- {"line": "print-clear", "contents": "Deselects all pages" },
- {"line": "print-setup", "contents": "Invoke the Print Setup dialog" },
- {"line": "print-ok", "contents": "Print selected pages and terminates the print command" },
- {"line": "prmfile-inx", "contents": "List of loaded, shown or hidden parameter files" },
- {"line": "prmfile-mode", "contents": "Show parameter files by names or descriptions" },
- {"line": "prmfile-action", "contents": "Toggle the shown status of the selected parameter file" },
- {"line": "prmfile-browse", "contents": "Find extra parameter files from the filesystem" },
- {"line": "prmfile-find", "contents": "Find parameter files from the system library" },
- {"line": "prmfile-ok", "contents": "Update parameter file list" },
- {"line": "prmfile-reload", "contents": "Reload parameter file from list" },
- {"line": "prmfile-selectall", "contents": "Select all parameter files shown" },
- {"line": "profile-canvas", "contents": "Profile of specified path" },
- {"line": "profile-clear", "contents": "Clear the profile" },
- {"line": "profile-print", "contents": "Print the profile" },
- {"line": "profile-ok", "contents": "" },
- {"line": "record-stop", "contents": "Stop recording" },
- {"line": "record-message", "contents": "Insert a message" },
- {"line": "record-end", "contents": "End a message" },
- {"line": "record-text", "contents": "Message body" },
- {"line": "refreshSpecial-list", "contents": "Possible turnouts" },
- {"line": "refreshSpecial-skip", "contents": "Skip this turnout" },
- {"line": "refreshSpecial-ok", "contents": "" },
- {"line": "rename-manuf", "contents": "Manufacturer of Object" },
- {"line": "rename-desc", "contents": "Description of Object" },
- {"line": "rename-partno", "contents": "Part Nuber of Object" },
- {"line": "rename-ok", "contents": "" },
- {"line": "rescale-toggle", "contents": "Rescale by Scale Conversion or by Ratio" },
- {"line": "rescale-fromS", "contents": "Original Scale of the selected objects" },
- {"line": "rescale-fromG", "contents": "Original Gauge of the selected objects" },
- {"line": "rescale-toS", "contents": "New Scale of the selected objects" },
- {"line": "rescale-toG", "contents": "New Gauge of the selected objects" },
- {"line": "rescale-change-dim", "contents": "Change track dimensions to new scale" },
- {"line": "rescale-ratio", "contents": "Change size by this amount" },
- {"line": "rescale-ok", "contents": "" },
- {"line": "rgbcolor-snapgrid", "contents": "Snap Grid Line and Division" },
- {"line": "rgbcolor-marker", "contents": "X and Y position markers" },
- {"line": "rgbcolor-border", "contents": "Border rulers, room boundaries and table edges" },
- {"line": "rgbcolor-crossmajor", "contents": "Primary Axis of grid rotation" },
- {"line": "rgbcolor-crossminor", "contents": "Secondary Axis of grid rotation" },
- {"line": "rgbcolor-normal", "contents": "Unselected tracks" },
- {"line": "rgbcolor-selected", "contents": "Selected tracks" },
- {"line": "rgbcolor-profile", "contents": "Color of tracks on the Profile path" },
- {"line": "rgbcolor-exception", "contents": "Color of Exceptional tracks" },
- {"line": "rgbcolor-tie", "contents": "Color of track ties" },
- {"line": "rgbcolor-ok", "contents": "Updates the colors" },
- {"line": "rotate-rotate", "contents": "Angle in degrees" },
- {"line": "rotate-ok", "contents": "Rotate object(s) by specified amount" },
- {"line": "searchgui-query", "contents": "Enter one or more words as search terms '*' means all" },
- {"line": "searchgui-find", "contents": "Find matching file descriptions" },
- {"line": "searchgui-inx", "contents": "Search Results" },
- {"line": "searchgui-mode", "contents": "Show Descriptions or FileNames in results" },
- {"line": "searchgui-apply", "contents": "Add selected entries into parameter file list" },
- {"line": "searchgui-selectall", "contents": "Select All found entries" },
- {"line": "searchgui-default", "contents": "Reload the system library contents for finding" },
- {"line": "sticky-set", "contents": "Choose commands to be sticky" },
- {"line": "sticky-ok", "contents": "Make the commands sticky" },
- {"line": "structure-list", "contents": "List of available structure" },
- {"line": "structure-canvas", "contents": "Diagram of the selected structure" },
- {"line": "structure-hide", "contents": "Hide Selection window when placing Structure" },
- {"line": "structure-stats", "contents": "Drawing scale and size" },
- {"line": "structure-ok", "contents": "Complete structure placement" },
- {"line": "structure-pier-inx", "contents": "Choose a Pier number" },
- {"line": "switchmotor-name", "contents": "Name of the Motor" },
- {"line": "switchmotor-normal", "contents": "Value when switch is normal" },
- {"line": "switchmotor-reverse", "contents": "Value when the switch is reversed" },
- {"line": "switchmotor-pointSense", "contents": "Value for a positive comfirmation of switch position" },
- {"line": "text-fontsize", "contents": "Controls the size of the entered text" },
- {"line": "tip-text", "contents": "Useful information about the program" },
- {"line": "tip-showatstart", "contents": "Show Tip of the Day every time the program starts" },
- {"line": "tip-next", "contents": "Show the next Tip of the Day" },
- {"line": "tip-prev", "contents": "Show the previous Tip of the Day" },
- {"line": "tip-ok", "contents": "" },
- {"line": "toolbarM", "contents": "Controls which Command Buttons are displayed" },
- {"line": "train-newcar-index", "contents": "List of Cars" },
- {"line": "train-list", "contents": "List of active trains" },
- {"line": "train-speed", "contents": "Speed" },
- {"line": "train-distance", "contents": "Train odometer" },
- {"line": "train-zeroDistance", "contents": "Reset odometer to 0" },
- {"line": "train-goto", "contents": "Find train on layout" },
- {"line": "train-follow", "contents": "Follow train around layout" },
- {"line": "train-autoreverse", "contents": "Flip direction at End Of Track" },
- {"line": "train-direction", "contents": "Change direction of train" },
- {"line": "train-stop", "contents": "Stop the train" },
- {"line": "turnout-list", "contents": "List of available turnouts for the current scale" },
- {"line": "turnout-canvas", "contents": "Diagram of the currently selected turnout. Click on a End-Point to select the Active End-Point" },
- {"line": "turnout-new", "contents": "A menu list of various type of turnouts and sectional tracks you can define" },
- {"line": "turnout-hide", "contents": "Hide Selection window when placing Turnout" },
- {"line": "turnout-activeEndPoint", "contents": "The selected Active End-Point" },
- {"line": "turnout-current", "contents": "Current selected turnout, (displayed in the diagram window)" },
- {"line": "turnout-endPoint", "contents": "One the End-Points that can be selected" },
- {"line": "turnout-ok", "contents": "" },
- {"line": "turnoutNew-angle1", "contents": "Angle of the specified track to the center line of the turnout" },
- {"line": "turnoutNew-angle2", "contents": "Angle of the specified track to the center line of the turnout" },
- {"line": "turnoutNew-angleMode", "contents": "Specifies if angles are entered as Frog Numbers or in degrees" },
- {"line": "turnoutNew-desc1", "contents": "Desciption" },
- {"line": "turnoutNew-desc2", "contents": "Desciption" },
- {"line": "turnoutNew-label", "contents": "Turnout description (Manuf., Size, Part Number, etc)" },
- {"line": "turnoutNew-len0", "contents": "Length from the base to the end of the specified track" },
- {"line": "turnoutNew-len1", "contents": "Length from the base to the end of the specified track" },
- {"line": "turnoutNew-len2", "contents": "Length from the base to the end of the specified track" },
- {"line": "turnoutNew-manuf", "contents": "Manufacturer" },
- {"line": "turnoutNew-off1", "contents": "Offset of the track End-Point from the center line of the turnout" },
- {"line": "turnoutNew-off2", "contents": "Offset of the track End-Point from the center line of the turnout" },
- {"line": "turnoutNew-partno1", "contents": "Part Number" },
- {"line": "turnoutNew-partno2", "contents": "Part Number" },
- {"line": "turnoutNew-print", "contents": "Prints a full size diagram of the turnout for checking" },
- {"line": "turnoutNew-ok", "contents": "Prints a full size diagram of the turnout for checking" },
- {"line": "turnoutNew-color", "contents": "Color of Roadbed lines" },
- {"line": "turnoutNew-roadbedLineWidth", "contents": "Width of Roadbed lines" },
- {"line": "turnoutNew-roadbedWidth", "contents": "Width of Roadbed" },
- {"line": "turnoutNew-printsetup", "contents": "Invoke the Print Setup dialog" },
- {"line": "turnoutNew-done", "contents": "Closes the window and returns to the Turnout Selection window" },
- {"line": "turntable-diameter", "contents": "Specifies the diameter of the turntable" },
- {"line": "updatetitle-old", "contents": "Old Turnout title" },
- {"line": "updatetitle-sel", "contents": "List of available titles" },
- {"line": "updatetitle-ignore", "contents": "Leave the Turnouts' title unchanged" },
- {"line": "updatetitle-load", "contents": "Invoke the Parameter Files dialog" },
- {"line": "updatetitle-list", "contents": "List of available turnouts" },
- {"line": "updatetitle-ok", "contents": "Update the Turnouts' title" },
- {"line": "fontSelCancel", "contents": "Cancel" },
- {"line": "fontSelList", "contents": "List" },
- {"line": "fontSelOk", "contents": "Ok" },
- {"line": "fontSelSample", "contents": "Sample" },
- {"line": "fontSelSize", "contents": "Size" },
- {"line": "fontSelSlant", "contents": "Slant" },
- {"line": "fontSelW", "contents": "Font selection dialog" },
- {"line": "fontSelWeight", "contents": "Weight" },
- {"line": "printAbortW", "contents": "Printer Abort Window" },
- {"line": "printFileName", "contents": "Print to filename" },
- {"line": "printFontAlias", "contents": "Specify Postscript font alias mapping" },
- {"line": "printSetup", "contents": "Displays the Print Setup window to change printers, orientation, paper size, etc." },
- {"line": "printSetupCancel", "contents": "Closes this dialog" },
- {"line": "printSetupFormat", "contents": "Page orientation" },
- {"line": "printSetupMargin", "contents": "Unprintable margins" },
- {"line": "printSetupOk", "contents": "Updates and closes this dialog" },
- {"line": "printSetupPaper", "contents": "Choose paper size" },
- {"line": "printSetupPrinter", "contents": "Choose printer" },
- {"line": "printSetupTest", "contents": "Print test page" },
- {"line": "about", "contents": "No Help" },
- {"line": "about-about", "contents": "No Help" },
- {"line": "about-ok", "contents": "" },
- {"line": "cmdDebug", "contents": "No Help" },
- {"line": "loosen", "contents": "No Help" },
- {"line": "misc-cur-turnout-ep", "contents": "" },
- {"line": "misc-toolbarset", "contents": "No Help" },
- {"line": "misc-showlayout", "contents": "No Help" },
- {"line": "misc-showdisplay", "contents": "No Help" },
- {"line": "misc-showcmdopt", "contents": "No Help" },
- {"line": "misc-showeasement", "contents": "No Help" },
- {"line": "misc-showfontSel", "contents": "No Help" },
- {"line": "misc-showgrid", "contents": "No Help" },
- {"line": "misc-showdebug", "contents": "No Help" },
- {"line": "misc-sticky", "contents": "No Help" },
- {"line": "misc-showpref", "contents": "No Help" },
- {"line": "misc-showcolor", "contents": "No Help" },
- {"line": "misc-showfileClear", "contents": "No Help" },
- {"line": "misc-showparamFile", "contents": "No Help" },
- {"line": "misc-showpriceList", "contents": "No Help" },
- {"line": "misc-showprint", "contents": "No Help" },
- {"line": "misc-showprintSetup", "contents": "No Help" },
- {"line": "misc-showprintBitmap", "contents": "No Help" },
- {"line": "misc-showpartsList", "contents": "No Help" },
- {"line": "misc-shownotes", "contents": "No Help" },
- {"line": "misc-showundo", "contents": "No Help" },
- {"line": "misc-showredo", "contents": "No Help" },
- {"line": "misc-showcut", "contents": "No Help" },
- {"line": "misc-showcopy", "contents": "No Help" },
- {"line": "misc-showpaste", "contents": "No Help" },
- {"line": "misc-showdelete", "contents": "No Help" },
- {"line": "misc-showtunnel", "contents": "No Help" },
- {"line": "misc-showabove", "contents": "No Help" },
- {"line": "misc-showbelow", "contents": "No Help" },
- {"line": "misc-showwidth0", "contents": "No Help" },
- {"line": "misc-showwidth2", "contents": "No Help" },
- {"line": "misc-showwidth3", "contents": "No Help" },
- {"line": "misc-showrecompelev", "contents": "No Help" },
- {"line": "misc-showcardesc", "contents": "No Help" },
- {"line": "misc-showcaradd", "contents": "No Help" },
- {"line": "misc-showselectAll", "contents": "No Help" },
- {"line": "misc-showimport", "contents": "No Help" },
- {"line": "misc-showexport", "contents": "No Help" },
- {"line": "misc-showexportDXF", "contents": "No Help" },
- {"line": "misc-showloosen", "contents": "No Help" },
- {"line": "misc-group-objects", "contents": "No Help" },
- {"line": "misc-ungroup-objects", "contents": "No Help" },
- {"line": "misc-showcustomMgm", "contents": "No Help" },
- {"line": "misc-showlayers", "contents": "No Help" },
- {"line": "misc-showmoveToCurrentLayer", "contents": "No Help" },
- {"line": "misc-showselectCurrentLayer", "contents": "No Help" },
- {"line": "misc-showclearElevations", "contents": "No Help" },
- {"line": "misc-showaddElevations", "contents": "No Help" },
- {"line": "debug-Track", "contents": "No Help" },
- {"line": "debug-EndPt", "contents": "No Help" },
- {"line": "debug-ReadTracks", "contents": "No Help" },
- {"line": "debug-Curve", "contents": "No Help" },
- {"line": "debug-Join", "contents": "No Help" },
- {"line": "debug-Turnout", "contents": "No Help" },
- {"line": "debug-Structure", "contents": "No Help" },
- {"line": "debug-Print", "contents": "No Help" },
- {"line": "debug-ok", "contents": "" },
- {"line": "map-canvas", "contents": "No Help" },
- {"line": "cmdLayerShow0", "contents": "Layer" },
- {"line": "cmdLayerShow1", "contents": "Layer" },
- {"line": "cmdLayerShow2", "contents": "Layer" },
- {"line": "cmdLayerShow3", "contents": "Layer" },
- {"line": "cmdLayerShow4", "contents": "Layer" },
- {"line": "cmdLayerShow5", "contents": "Layer" },
- {"line": "cmdLayerShow6", "contents": "Layer" },
- {"line": "cmdLayerShow7", "contents": "Layer" },
- {"line": "cmdLayerShow8", "contents": "Layer" },
- {"line": "cmdLayerShow9", "contents": "Layer" },
- {"line": "cmdLayerShow10", "contents": "Layer" },
- {"line": "cmdLayerShow11", "contents": "Layer" },
- {"line": "cmdLayerShow12", "contents": "Layer" },
- {"line": "cmdLayerShow13", "contents": "Layer" },
- {"line": "cmdLayerShow14", "contents": "Layer" },
- {"line": "cmdLayerShow15", "contents": "Layer" },
- {"line": "cmdLayerShow16", "contents": "Layer" },
- {"line": "cmdLayerShow17", "contents": "Layer" },
- {"line": "cmdLayerShow18", "contents": "Layer" },
- {"line": "cmdLayerShow19", "contents": "Layer" }
- ]
-}
+{
+ "messages": [
+ {"line": "Help", "contents": "Invokes online help for this dialog" },
+ {"line": "cancel", "contents": "Cancels this command" },
+ {"line": "Close", "contents": "Closes the dialog" },
+ {"line": "cmdAbout", "contents": "About program dialog" },
+ {"line": "cmdAbove", "contents": "Move selected object to top" },
+ {"line": "cmdAddElevations", "contents": "Raise or lower all selected tracks" },
+ {"line": "cmdAngle", "contents": "Show a protractor" },
+ {"line": "cmdMagneticSnap", "contents": "Turn magnetic snap on or off" },
+ {"line": "cmdBackgroundShow", "contents": "Show/Hide Background" },
+ {"line": "cmdBelow", "contents": "Move selected object to bottom" },
+ {"line": "cmdBlockCreate", "contents": "Create a section of track for automation" },
+ {"line": "cmdBlockEdit", "contents": "Edit a block definition " },
+ {"line": "cmdCarDesc", "contents": "Create a new Car/Loco description" },
+ {"line": "cmdCarInventory", "contents": "Manage your Car and Loco Inventory" },
+ {"line": "cmdCircleCenter", "contents": "Create track circle from center" },
+ {"line": "cmdCircleFixedRadius", "contents": "Create fixed radius track circle" },
+ {"line": "cmdCircleSetCmd", "contents": "Set Circle Track creation mode" },
+ {"line": "cmdCircleTangent", "contents": "Create track circle from tangent" },
+ {"line": "cmdClearElevations", "contents": "Removes elevation from Selected tracks" },
+ {"line": "cmdClone", "contents": "Copy objects to clipboard and duplicate them in exactly the same place" },
+ {"line": "cmdCmdopt", "contents": "Command Options dialog" },
+ {"line": "cmdColor", "contents": "Controls colors" },
+ {"line": "cmdConnect", "contents": "Connect two tracks" },
+ {"line": "cmdControl", "contents": "Create a control for layout automation" },
+ {"line": "cmdControlElements", "contents": "Select control element to create" },
+ {"line": "cmdContmgm", "contents": "Manage control elements" },
+ {"line": "cmdConvertSetCmd", "contents": "Set Convert mode" },
+ {"line": "cmdConvertTo", "contents": "Convert from Fixed Track to Cornu" },
+ {"line": "cmdConvertFrom", "contents": "Convert from Cornu and Bezier to Fixed Track" },
+ {"line": "cmdCopy", "contents": "Copy selected objects to clipboard" },
+ {"line": "cmdCornu", "contents": "Create Cornu track" },
+ {"line": "cmdCurveCenter", "contents": "Create curved track from center" },
+ {"line": "cmdCurveChord", "contents": "Create curved track from chord" },
+ {"line": "cmdCurveEndPt", "contents": "Create curved track from end-point" },
+ {"line": "cmdBezier", "contents": "Create Bezier track" },
+ {"line": "cmdCurveSetCmd", "contents": "Set Curve Track creation mode" },
+ {"line": "cmdCurveTangent", "contents": "Create curved track from tangent" },
+ {"line": "cmdCustmgm", "contents": "Manipulate Custom designer entries" },
+ {"line": "cmdCut", "contents": "Moves selected objects to clipboard" },
+ {"line": "cmdDelete", "contents": "Delete objects" },
+ {"line": "cmdDemo", "contents": "Playback demos" },
+ {"line": "cmdDescribe", "contents": "Change Object Properties" },
+ {"line": "cmdDescribeMode", "contents": "Change to properties mode" },
+ {"line": "cmdDeselectAll", "contents": "Deselect all selected objects" },
+ {"line": "cmdDisplay", "contents": "Change Display parameters" },
+ {"line": "cmdDrawBench", "contents": "Create benchwork" },
+ {"line": "cmdDrawBox", "contents": "Create a box" },
+ {"line": "cmdDrawCircleSetCmd", "contents": "Set Circle drawing command" },
+ {"line": "cmdDrawCircle", "contents": "Create a circle" },
+ {"line": "cmdDrawCircleCenter", "contents": "Draw a circle line from center" },
+ {"line": "cmdDrawCircleFixedRadius", "contents": "Draw a fixed radius circle line" },
+ {"line": "cmdDrawCircleTangent", "contents": "Draw a circle line from tangent" },
+ {"line": "cmdDrawCurveSetCmd", "contents": "Set Curve drawing command" },
+ {"line": "cmdDrawCurve", "contents": "Create a curved line" },
+ {"line": "cmdDrawCurveEndPt", "contents": "Create a curved line from End" },
+ {"line": "cmdDrawCurveCenter", "contents": "Create a curved line from center" },
+ {"line": "cmdDrawCurveChord", "contents": "Create a curved line from chord" },
+ {"line": "cmdDrawCurveTangent", "contents": "Create a curved line from tangent" },
+ {"line": "cmdDrawBezierCurve", "contents": "Create a Bezier line" },
+ {"line": "cmdDrawDimLine", "contents": "Create a dimension line" },
+ {"line": "cmdDrawFilledBox", "contents": "Create a filled box" },
+ {"line": "cmdDrawFilledCurve", "contents": "Create a filled circle" },
+ {"line": "cmdDrawFilledCircleCenter", "contents": "Draw a filled circle from center" },
+ {"line": "cmdDrawFilledCircleFixedRadius", "contents": "Draw a fixed radius filled circle" },
+ {"line": "cmdDrawFilledCircleTangent", "contents": "Draw a filled circle from tangent" },
+ {"line": "cmdDrawPolygon", "contents": "Create a polygon" },
+ {"line": "cmdDrawFilledPolygon", "contents": "Create a filled polygon" },
+ {"line": "cmdDrawPolyline", "contents": "Create a polyline" },
+ {"line": "cmdDrawLine", "contents": "Create a straight line" },
+ {"line": "cmdDrawLineSetCmd", "contents": "Set Line drawing command" },
+ {"line": "cmdDrawShapeSetCmd", "contents": "Set Shape drawing command" },
+ {"line": "cmdDrawTableEdge", "contents": "Draw table edge" },
+ {"line": "cmdEasement", "contents": "Easement menu" },
+ {"line": "cmdElevation", "contents": "Change Elevations" },
+ {"line": "cmdEnumerate", "contents": "Generate a Parts List of selected objects" },
+ {"line": "cmdExportImportSetCmd", "contents": "Set Import/Export mode" },
+ {"line": "cmdExport", "contents": "Export a .xti file" },
+ {"line": "cmdExportBmap", "contents": "Export a Bitmap image" },
+ {"line": "cmdExportDXF", "contents": "Export a DXF file" },
+ {"line": "cmdFileNote", "contents": "Document" },
+ {"line": "cmdFlip", "contents": "Flip selected objects" },
+ {"line": "cmdGrid", "contents": "Adjust snap grid" },
+ {"line": "cmdGridEnable", "contents": "Enable snap grid" },
+ {"line": "cmdGridShow", "contents": "Show snap grid" },
+ {"line": "cmdGroup", "contents": "Create a structure from a Group of objects" },
+ {"line": "cmdHandLaidTurnout", "contents": "Create a hand-laid turnout" },
+ {"line": "cmdHelix", "contents": "Create a track helix" },
+ {"line": "cmdImport", "contents": "Import a .xti file" },
+ {"line": "cmdImportModule", "contents": "Import an .xti file as a Module" },
+ {"line": "cmdJoinTrack", "contents": "Join two tracks" },
+ {"line": "cmdJoinLine", "contents": "Join two lines or polylines" },
+ {"line": "cmdJoinSetCmd", "contents": "Set Join mode" },
+ {"line": "cmdLayer", "contents": "Change Layers" },
+ {"line": "cmdLayerSet", "contents": "Selects the current drawing layer" },
+ {"line": "cmdLayout", "contents": "Layout parameters" },
+ {"line": "cmdLinkNote", "contents": "Weblink" },
+ {"line": "cmdMapShow", "contents": "Show/Hide Map Window" },
+ {"line": "cmdMeasureSetCmd", "contents": "Select Measurement Tool" },
+ {"line": "cmdModify", "contents": "Modify or extend a track" },
+ {"line": "cmdModifyMode", "contents": "Change To modify mode" },
+ {"line": "cmdMove", "contents": "Move selected objects" },
+ {"line": "cmdMoveLabel", "contents": "Move a label" },
+ {"line": "cmdMoveToCurrentLayer", "contents": "Move selected objects to current layer" },
+ {"line": "cmdNote", "contents": "Place a note on the layout" },
+ {"line": "cmdOutputbitmap", "contents": "Print a bitmap" },
+ {"line": "cmdPan", "contents": "Pan or zoom the layout" },
+ {"line": "cmdPanMode", "contents": "Change to zoom/pan mode" },
+ {"line": "cmdParallelTrack", "contents": "Create a parallel track" },
+ {"line": "cmdParallelLine", "contents": "Create a parallel line" },
+ {"line": "cmdParallelSetCmd", "contents": "Set Parallel mode" },
+ {"line": "cmdParameter", "contents": "Register" },
+ {"line": "cmdPaste", "contents": "Copy objects from clipboard" },
+ {"line": "cmdPref", "contents": "Perferences dialog" },
+ {"line": "cmdPricelist", "contents": "Display prices of turnouts, sectional tracks and structures" },
+ {"line": "cmdPrint", "contents": "Print the layout" },
+ {"line": "cmdPrmfile", "contents": "Loads and unloads parameter files into/from toolbar" },
+ {"line": "cmdProfile", "contents": "Elevation Profile Command" },
+ {"line": "cmdProfileDraw", "contents": "Profile" },
+ {"line": "cmdRecord", "contents": "Command recorder" },
+ {"line": "cmdRedo", "contents": "Redo last undo" },
+ {"line": "cmdRefreshCompound", "contents": "Update selected Turnout and Structure definitions" },
+ {"line": "cmdRescale", "contents": "Rescale selected objects" },
+ {"line": "cmdRotate", "contents": "Rotate selected object(s)" },
+ {"line": "cmdRuler", "contents": "Show a ruler" },
+ {"line": "cmdSelect", "contents": "Select objects" },
+ {"line": "cmdSelectMode", "contents": "Change To Select Mode" },
+ {"line": "cmdSelectAll", "contents": "Selects all objects on the layout" },
+ {"line": "cmdSelectCurrentLayer", "contents": "Selects all objects in the current Layer" },
+ {"line": "cmdSelectIndex", "contents": "Choose objects by Index number" },
+ {"line": "cmdSelectInvert", "contents": "Invert current selection" },
+ {"line": "cmdSetup", "contents": "Configure the Printer" },
+ {"line": "cmdSplitSetCmd", "contents": "Set Split mode" },
+ {"line": "cmdSplitTrack", "contents": "Split a track" },
+ {"line": "cmdSplitDraw", "contents": "Split a straight, curved, circle, polygon or polyline Draw Object " },
+ {"line": "cmdSelectOrphaned", "contents": "Select stranded (unconnected) track pieces" },
+ {"line": "cmdSensor", "contents": "Create a sensor (ie. a occupancy detector or a toggle switch)" },
+ {"line": "cmdSignal", "contents": "Create a signal for train control" },
+ {"line": "cmdSticky", "contents": "Choose which commands are sticky" },
+ {"line": "cmdStraight", "contents": "Create straight track" },
+ {"line": "cmdStructure", "contents": "Place a structure on the layout" },
+ {"line": "cmdSwitchMotorCreate", "contents": "Create a switchmotor for turnout control" },
+ {"line": "cmdSwitchMotorEdit", "contents": "Edit a switchmotor definition" },
+ {"line": "cmdText", "contents": "Enter text on the layout" },
+ {"line": "cmdTextSize", "contents": "Controls the size of the entered text" },
+ {"line": "cmdTextNote", "contents": "Plain Text"},
+ {"line": "cmdTip", "contents": "Tip of the Day window" },
+ {"line": "cmdTrain", "contents": "Run Trains" },
+ {"line": "cmdTrainMode", "contents": "Change To Run Trains Mode" },
+ {"line": "cmdTrainPause", "contents": "Pause/Resume Trains" },
+ {"line": "cmdTrainNewCar", "contents": "Place a car on the layout" },
+ {"line": "cmdTrainExit", "contents": "Exit Trains" },
+ {"line": "cmdTrimDraw", "contents": "Trim a line, circle or polyline Draw Object using a second Object" },
+ {"line": "cmdTunnel", "contents": "Hide/Unhide a track" },
+ {"line": "cmdBridge", "contents": "Make/Unmake a track a bridge" },
+ {"line": "cmdTurnout", "contents": "Place a turnout or sectional track" },
+ {"line": "cmdTurnoutNew", "contents": "Create a new turnout definition" },
+ {"line": "cmdTurntable", "contents": "Place a turntable" },
+ {"line": "cmdUpdatetitle", "contents": "Updates old source files with 3 part titles" },
+ {"line": "cmdUndo", "contents": "Undo last command" },
+ {"line": "cmdUngroup", "contents": "Ungroup objects" },
+ {"line": "cmdWidth0", "contents": "Draw tracks with thin lines" },
+ {"line": "cmdWidth2", "contents": "Draw tracks with medium lines" },
+ {"line": "cmdWidth3", "contents": "Draw tracks with thick lines" },
+ {"line": "cmdZoom", "contents": "Change drawing scale" },
+ {"line": "cmdZoomIn", "contents": "Zoom in" },
+ {"line": "cmdZoomOut", "contents": "Zoom out" },
+ {"line": "cornuMod", "contents": "Modify Cornu" },
+ {"line": "cornuMod-endangle", "contents": "End Angle" },
+ {"line": "cornuMod-endradius", "contents": "End Radius" },
+ {"line": "curvefixed", "contents": "Curved Fixed" },
+ {"line": "curvefixed-radius", "contents": "Preferred Radius" },
+ {"line": "drawMod", "contents": "Modify Draw" },
+ {"line": "drawMod-Angle", "contents": "Angle" },
+ {"line": "drawMod-ArcAngle", "contents": "Arc Angle" },
+ {"line": "drawMod-Height", "contents": "Height" },
+ {"line": "drawMod-Length", "contents": "Length" },
+ {"line": "drawMod-Radius", "contents": "Radius" },
+ {"line": "drawMod-RelAngle", "contents": "Relative Angle" },
+ {"line": "drawMod-RotAngle", "contents": "Rotation Angle" },
+ {"line": "drawMod-RotCenterx", "contents": "Rot Center X" },
+ {"line": "drawMod-RotCentery", "contents": "Rot Center Y" },
+ {"line": "drawMod-Width", "contents": "Width" },
+ {"line": "menuFile", "contents": "File Menu" },
+ {"line": "menuFile-save", "contents": "Save layout" },
+ {"line": "menuFile-saveAs", "contents": "Save layout under a new name " },
+ {"line": "menuFile-clear", "contents": "New layout" },
+ {"line": "menuFile-enum", "contents": "Generate parts list" },
+ {"line": "menuFile-load", "contents": "Load a layout" },
+ {"line": "menuFile-parameter", "contents": "Manage Parameter Files" },
+ {"line": "menuFile-print", "contents": "Print layout" },
+ {"line": "menuFile-quit", "contents": "Exit the program" },
+ {"line": "menuFile-revert", "contents": "Revert to last saved state of layout plan" },
+ {"line": "menuFile-setup", "contents": "Printer Setup" },
+ {"line": "editM", "contents": "Edit menu" },
+ {"line": "menuEdit-redraw", "contents": "Redraw layout" },
+ {"line": "menuEdit-zoomIn", "contents": "Zoom in" },
+ {"line": "menuEdit-zoomOut", "contents": "Zoom out" },
+ {"line": "toolsM", "contents": "Tools menu" },
+ {"line": "menuView", "contents": "View menu" },
+ {"line": "menuToolbar", "contents": "Toolbar configuration" },
+ {"line": "menuTools", "contents": "Tools menu" },
+ {"line": "menuOption", "contents": "Options menu" },
+ {"line": "menuMacro", "contents": "Playback/Record commands" },
+ {"line": "menuWindow", "contents": "Window menu" },
+ {"line": "menuHelp", "contents": "Help menu" },
+ {"line": "menuHelpRecentMessages", "contents": "Recent error messages and explanations" },
+ {"line": "hotBarLeft", "contents": "Move Hot Bar left" },
+ {"line": "hotBarRight", "contents": "Move Hot Bar right" },
+ {"line": "infoBarCount", "contents": "Total track count" },
+ {"line": "infoBarPosX", "contents": "X Position of cursor" },
+ {"line": "infoBarPosY", "contents": "Y Position of cursor" },
+ {"line": "infoBarScale", "contents": "Drawing scale" },
+ {"line": "infoBarStatus", "contents": "Message and status line" },
+ {"line": "main-draw", "contents": "Main layout canvas" },
+ {"line": "mainDraw", "contents": "Main layout canvas" },
+ {"line": "main-canvas", "contents": "Main drawing canvas" },
+ {"line": "main-commandbar", "contents": "Command buttons" },
+ {"line": "main-menubar", "contents": "Menus" },
+ {"line": "main-titlebar", "contents": "Tile, Filename and Window Manager buttons" },
+ {"line": "main-hotbar", "contents": "Turnout and Structure Hot Bar" },
+ {"line": "main-layers", "contents": "Active layer list and layer buttons" },
+ {"line": "map-draw", "contents": "Map window" },
+ {"line": "map-hilight", "contents": "This is the portion of the layout shown in the Main Window canvas" },
+ {"line": "addElev-value", "contents": "Raise or Lower all Selected Track" },
+ {"line": "block-name", "contents": "Name of block" },
+ {"line": "block-script", "contents": "Script that the block will run" },
+ {"line": "block-segments", "contents": "List of tracks in the Block" },
+ {"line": "carpart-ok", "contents": "Add or Update car object" },
+ {"line": "carpart-manuf", "contents": "Manufacturer name" },
+ {"line": "carpart-prototype", "contents": "Car Prototype" },
+ {"line": "carpart-prototype-list", "contents": "Car Prototype" },
+ {"line": "carpart-isLoco", "contents": "Is the Car a Locomotive?" },
+ {"line": "carpart-partno-list", "contents": "Part Number and Description" },
+ {"line": "carpart-partno", "contents": "Manufacturer Part Number" },
+ {"line": "carpart-import", "contents": "Use the Selected figure as the car image" },
+ {"line": "carpart-reset", "contents": "Use the default figure as the car image" },
+ {"line": "carpart-desc", "contents": "Optional description of the Car Part" },
+ {"line": "carpart-flip", "contents": "Flip car image" },
+ {"line": "carpart-dispmode", "contents": "Display Car Item information or reporting marks and dimensions" },
+ {"line": "carpart-road", "contents": "Full Roadname" },
+ {"line": "carpart-type", "contents": "Car Type" },
+ {"line": "carpart-protokind-list", "contents": "Car Type" },
+ {"line": "carpart-repmark", "contents": "Reporting Marks (Roadname abbreviation)" },
+ {"line": "carpart-number", "contents": "Car Number" },
+ {"line": "carpart-bodyColor", "contents": "Car body Color" },
+ {"line": "carpart-carLength", "contents": "Length of car body" },
+ {"line": "carpart-carWidth", "contents": "Width of car body" },
+ {"line": "carpart-trkCenter", "contents": "Distance between Trucks " },
+ {"line": "carpart-trkCenterOffset", "contents": "Distance Trucks are displaced along Car" },
+ {"line": "carpart-cplrMount", "contents": "Coupler are mounted on body or truck" },
+ {"line": "carpart-cpldLen", "contents": "Overall Coupled Length" },
+ {"line": "carpart-cplrLen", "contents": "Coupler Length from end of car" },
+ {"line": "carpart-canvas", "contents": "Diagram of Car" },
+ {"line": "carpart-index", "contents": "Item Index Number" },
+ {"line": "carpart-purchPrice", "contents": "Original Purchase Price" },
+ {"line": "carpart-currPrice", "contents": "Current Price" },
+ {"line": "carpart-condition", "contents": "Condition of car" },
+ {"line": "carpart-purchDate", "contents": "Original Purchase Date - yyyymmdd" },
+ {"line": "carpart-serviceDate", "contents": "Last Service Date - yyyymmdd" },
+ {"line": "carpart-quantity", "contents": "Number of identical cars to be entered" },
+ {"line": "carpart-multinum", "contents": "Do all the cars have the same Number?" },
+ {"line": "carpart-notes", "contents": "Notes about the car" },
+ {"line": "carpart-new", "contents": "Create a new car Part or Prototype definitions" },
+ {"line": "carpart-new-menu", "contents": "Create a new car Part or Prototype definitions" },
+ {"line": "carinv-ok", "contents": "Finds the selected Car Item on the layout" },
+ {"line": "carinv-sort1", "contents": "Sort the Item list" },
+ {"line": "carinv-sort2", "contents": "Sort the Item list" },
+ {"line": "carinv-sort3", "contents": "Sort the Item list" },
+ {"line": "carinv-sort4", "contents": "Sort the Item list" },
+ {"line": "carinv-list", "contents": "" },
+ {"line": "carinv-edit", "contents": "Edit the selected Car Item" },
+ {"line": "carinv-add", "contents": "Add a new Car Item" },
+ {"line": "carinv-delete", "contents": "Delete the selected Car Items" },
+ {"line": "carinv-import", "contents": "Import a Car Item .csv file" },
+ {"line": "carinv-export", "contents": "Export a Car Item .csv file" },
+ {"line": "carinv-savetext", "contents": "Create a text list of the Car Items" },
+ {"line": "circle-radius", "contents": "Specifies the radius of the circle track" },
+ {"line": "cmdopt-preselect", "contents": "Default command is Describe or Select" },
+ {"line": "cmdopt-rightclickmode", "contents": "Action to invoke on Right-Click" },
+ {"line": "cmdopt-selectmode", "contents": "Replace current selection with clicked object or add clicked object to selection" },
+ {"line": "cmdopt-selectzero", "contents": "Clicking into an empty area clears selection if select mode is <add>" },
+ {"line": "cmdopt-ok", "contents": "" },
+ {"line": "contmgm-inx", "contents": "The list of control elements" },
+ {"line": "contmgm-edit", "contents": "Edit the element" },
+ {"line": "contmgm-delete", "contents": "Delete the element" },
+ {"line": "contents-label", "contents": "Contents Label for new Parameter file" },
+ {"line": "curved-fixed-radius", "contents": "Desired curve radius for new track" },
+ {"line": "custmgm-inx", "contents": "List of custom designed turnouts and structures" },
+ {"line": "custmgm-edit", "contents": "Invoke designer editor" },
+ {"line": "custmgm-delete", "contents": "Remove selected entries" },
+ {"line": "custmgm-export", "contents": "Copy selected entries to Parameter File" },
+ {"line": "custmgm-new", "contents": "Create a New part or prototype" },
+ {"line": "custmgm-ok", "contents": "Update custom file and close" },
+ {"line": "demo-step", "contents": "Executes the next step of the demo" },
+ {"line": "demo-next", "contents": "Skip to next demo" },
+ {"line": "demo-quit", "contents": "Stops the demonstration and returns you to XTrackCAD" },
+ {"line": "demo-speed", "contents": "Select speed of Playback" },
+ {"line": "demo-text", "contents": "This is where comments about the demo are displayed" },
+ {"line": "describe-F1", "contents": "" },
+ {"line": "describe-F2", "contents": "" },
+ {"line": "describe-F3", "contents": "" },
+ {"line": "describe-F4", "contents": "" },
+ {"line": "describe-F5", "contents": "" },
+ {"line": "describe-F6", "contents": "" },
+ {"line": "describe-F7", "contents": "" },
+ {"line": "describe-F8", "contents": "" },
+ {"line": "describe-F9", "contents": "" },
+ {"line": "describe-F10", "contents": "" },
+ {"line": "describe-F11", "contents": "" },
+ {"line": "describe-F12", "contents": "" },
+ {"line": "describe-F13", "contents": "" },
+ {"line": "describe-F14", "contents": "" },
+ {"line": "describe-F15", "contents": "" },
+ {"line": "describe-F16", "contents": "" },
+ {"line": "describe-F17", "contents": "" },
+ {"line": "describe-F18", "contents": "" },
+ {"line": "describe-F19", "contents": "" },
+ {"line": "describe-F20", "contents": "" },
+ {"line": "describe-I1", "contents": "" },
+ {"line": "describe-I2", "contents": "" },
+ {"line": "describe-I3", "contents": "" },
+ {"line": "describe-I4", "contents": "" },
+ {"line": "describe-I5", "contents": "" },
+ {"line": "describe-S1", "contents": "" },
+ {"line": "describe-S2", "contents": "" },
+ {"line": "describe-S3", "contents": "" },
+ {"line": "describe-S4", "contents": "" },
+ {"line": "describe-Y1", "contents": "" },
+ {"line": "describe-C1", "contents": "" },
+ {"line": "describe-L1", "contents": "" },
+ {"line": "describe-L2", "contents": "" },
+ {"line": "describe-LE1", "contents": "" },
+ {"line": "describe-T1", "contents": "" },
+ {"line": "describe-P1", "contents": "" },
+ {"line": "display-autoPan", "contents": "Move the Main canvas if you drag near the edge" },
+ {"line": "display-color-track", "contents": "Color tracks by layer or individually" },
+ {"line": "display-color-draw", "contents": "Color draw objects by layer or individually" },
+ {"line": "display-tunnels", "contents": "Controls the drawing of hidden tracks" },
+ {"line": "display-endpt", "contents": "Controls the drawing of End-Points" },
+ {"line": "display-tiedraw", "contents": "How to draw track ties" },
+ {"line": "display-centerdraw", "contents": "Show crosshair at center of curves" },
+ {"line": "display-tworailscale", "contents": "Drawing scale when to draw tracks with 2 rails" },
+ {"line": "display-mapscale", "contents": "Drawing scale of the map window" },
+ {"line": "display-livemap", "contents": "Whether the main layout is updated while dragging on the Map" },
+ {"line": "display-labelenable", "contents": "Enable labels for Turnouts, Flextrack Lengths and Elevations" },
+ {"line": "display-labelscale", "contents": "When to label Turnout, Flextrack Lengths and Elevations" },
+ {"line": "display-description-fontsize", "contents": "Font size for labels on layout" },
+ {"line": "display-hotbarlabels", "contents": "Label elements on the Hot Bar" },
+ {"line": "display-layoutlabels", "contents": "Label elements on layout" },
+ {"line": "display-listlabels", "contents": "Label elements for lists" },
+ {"line": "display-carhotbarlabels", "contents": "How to group cars on the Train Hot Bar" },
+ {"line": "display-trainpause", "contents": "Delay (in mS) between updating train movements" },
+ {"line": "display-hideTrainsInTunnels", "contents": "Don't show trains in tunnels when tunnels are hidden" },
+ {"line": "display-unconnected-endpt", "contents": "Display unconnected endpoints of track with special marks" },
+ {"line": "display-constrainmain", "contents": "Whether the Main Drawing Area shows as much of the room as possible" },
+ {"line": "display-donthidecursor", "contents": "Don't hide system cursor when program cursors are showing" },
+ {"line": "display-ok", "contents": "" },
+ {"line": "draw-linewidth", "contents": "Width of the lines" },
+ {"line": "draw-linecolor", "contents": "Color of the lines" },
+ {"line": "draw-benchlist", "contents": "List of types of Lumber" },
+ {"line": "draw-benchcolor", "contents": "Color of Benchwork" },
+ {"line": "draw-benchorient", "contents": "Orientation of Benchwork" },
+ {"line": "draw-arrowsize", "contents": "Size of Dimension Arrows" },
+ {"line": "draw-width", "contents": "Width of Box" },
+ {"line": "draw-height", "contents": "Height of Box" },
+ {"line": "draw-angle", "contents": "Angle of Line" },
+ {"line": "draw-radius", "contents": "Radius of Curve" },
+ {"line": "draw-type", "contents": "Line Type" },
+ {"line": "easement-val", "contents": "This controls the sharpness of the easement curve" },
+ {"line": "easement-r", "contents": "Minimum radius" },
+ {"line": "easement-x", "contents": "Maximum offset" },
+ {"line": "easement-l", "contents": "Easement length" },
+ {"line": "easement-radio", "contents": "These radio buttons are a short-cut for Values of 0.0, 0.5, 1.0 and 2.0. None turns Easements off" },
+ {"line": "easement-ok", "contents": "Complete easement selection" },
+ {"line": "elev-mode", "contents": "Type of elevation" },
+ {"line": "elev-value", "contents": "Height of End Point" },
+ {"line": "elev-computed", "contents": "Compute elevation based on neighbors" },
+ {"line": "elev-grade", "contents": "Compute grade based on neighbors" },
+ {"line": "elev-station", "contents": "Specify a name for an End-Point" },
+ {"line": "elev-ok", "contents": "" },
+ {"line": "enum-print", "contents": "Print parts list" },
+ {"line": "enum-printsetup", "contents": "Invoke the Print Setup dialog" },
+ {"line": "enum-save", "contents": "Save parts list to file" },
+ {"line": "enum-text", "contents": "This is the list of parts for the layout" },
+ {"line": "enum-list-prices", "contents": "Enable prices on the Parts List" },
+ {"line": "enum-list-indexes", "contents": "Enable index listing on the Parts List" },
+ {"line": "grid-horzspacing", "contents": "Spacing between major grid lines" },
+ {"line": "grid-horzdivision", "contents": "Allows the spacing to be subdivided" },
+ {"line": "grid-horzenable", "contents": "Specifies if positions are snaped in this direction" },
+ {"line": "grid-vertspacing", "contents": "Spacing between major grid lines" },
+ {"line": "grid-vertdivision", "contents": "Allows the spacing to be subdivided" },
+ {"line": "grid-vertenable", "contents": "Specifies if positions are snaped in this direction" },
+ {"line": "grid-origx", "contents": "Shows the origin and angle of the grid" },
+ {"line": "grid-origy", "contents": "Shows the origin and angle of the grid" },
+ {"line": "grid-origa", "contents": "Shows the origin and angle of the grid" },
+ {"line": "grid-show", "contents": "Specifies if the grid is shown" },
+ {"line": "grid-ok", "contents": "Completes the grid specification" },
+ {"line": "group-manuf", "contents": "Manufacturer" },
+ {"line": "group-desc", "contents": "Description" },
+ {"line": "group-partno", "contents": "Part Number" },
+ {"line": "group-segcnt", "contents": "Number of segments in Group" },
+ {"line": "group-replace", "contents": "Replace the Selected object with the new definition?" },
+ {"line": "group-ok", "contents": "Creates a new Structure (or Turnout)" },
+ {"line": "helix-elev", "contents": "Elevation difference of Helix End-Points" },
+ {"line": "helix-radius", "contents": "Helix Radius" },
+ {"line": "helix-turns", "contents": "Number of turns in the helix" },
+ {"line": "helix-angSep", "contents": "Angle betweek helix entrance and exit" },
+ {"line": "helix-grade", "contents": "Grade in helix" },
+ {"line": "helix-vertSep", "contents": "Separation between helix layers including baseboard, track, etc" },
+ {"line": "index-select", "contents": "Index numbers of objects, separated by commas" },
+ {"line": "joinfixed-radius", "contents": "Desired curve radius between straight tracks" },
+ {"line": "layer-layer", "contents": "Layer list" },
+ {"line": "layer-name", "contents": "Layer Name" },
+ {"line": "layer-button", "contents": "Hide Layer Button on MenuBar" },
+ {"line": "layer-color", "contents": "Color of layer" },
+ {"line": "layer-visible", "contents": "Layer is drawn on Main window" },
+ {"line": "layer-frozen", "contents": "Layer cannot be changed" },
+ {"line": "layer-layercolor", "contents": "Use color for this Layer if color-by-layer is set" },
+ {"line": "layer-layerlist", "contents": "Other Layers this Layer also shows/hides" },
+ {"line": "layer-module", "contents": "Layer is a Module" },
+ {"line": "layer-onmap", "contents": "Layer is drawn on Map window" },
+ {"line": "layer-button-count", "contents": "Number of layer buttons to show" },
+ {"line": "layer-object-count", "contents": "Number of objects in this layer" },
+ {"line": "layer-settings", "contents": "Settings File to load when this layer is made current" },
+ {"line": "layer-ok", "contents": "" },
+ {"line": "layer-reset", "contents": "Load layer configuration from default" },
+ {"line": "layer-save", "contents": "Save current layer configuration as default" },
+ {"line": "layer-clear", "contents": "Overwrite layer configuration with system default values" },
+ {"line": "layout-roomsizeX", "contents": "Specifies the size of the room (in inches or centimeters)" },
+ {"line": "layout-roomsizeY", "contents": "Specifies the size of the room (in inches or centimeters)" },
+ {"line": "layout-title1", "contents": "Specifies the layout Title that will appear on printouts" },
+ {"line": "layout-title2", "contents": "Specifies the layout Subtitle that will appear on printouts" },
+ {"line": "layout-scale", "contents": "Specifies the Modelling Scale" },
+ {"line": "layout-gauge", "contents": "Specifies the rail gauge, ie. the distance between the rails" },
+ {"line": "layout-mintrackradius", "contents": "Specifies minimum track radius (in inches or centimeters). Tracks with a smaller radius are considered exceptional." },
+ {"line": "layout-maxtrackgrade", "contents": "Specifies maximum track elevation expressed as a percent (%). Tracks with a larger elevation are considered exceptional." },
+ {"line": "layout-browse", "contents": "Select the background image" },
+ {"line": "layout-clear", "contents": "Remove the background image" },
+ {"line": "layout-backgroundposX", "contents": "Specifies the x offset of the bottom left of the background image" },
+ {"line": "layout-backgroundposY", "contents": "Specifies the y offset of the bottom left of the background image" },
+ {"line": "layout-backgroundWidth", "contents": "Specifies how large the bottom edge of the background image should be in model units" },
+ {"line": "layout-backgroundScreen", "contents": "Specifies the screening of the background image from 0 (none) to 100% (vanishes)" },
+ {"line": "layout-backgroundAngle", "contents": "Specifies the rotation angle of the background image in degrees" },
+ {"line": "layout-write", "contents": "Write a copy of current settings to a named file" },
+ {"line": "layout-read", "contents": "Override current settings from a named file" },
+ {"line": "move-MoveX", "contents": "Move by X" },
+ {"line": "move-MoveY", "contents": "Move by Y" },
+ {"line": "newcar-road", "contents": "Roadname" },
+ {"line": "newcar-number", "contents": "Car Number" },
+ {"line": "note-text", "contents": "This is the body of the Note. To change this select Modify from the File Menu" },
+ {"line": "note-ok", "contents": "" },
+ {"line": "outputbitmap-density", "contents": "Specifies number of pixels per inch (or centimeter)" },
+ {"line": "outputbitmap-ok", "contents": "" },
+ {"line": "outputbitmap-toggles", "contents": "Specifies whether Layout Titles, Borders or Track Centerlines are printed on the BitMap" },
+ {"line": "parallel-separation", "contents": "Specifies the separation between the original track and the parallel track/line" },
+ {"line": "parallel-factor", "contents": "Specifies the a factor that increases the seperation as the radius of the original track reduces. 0.0 means no increase." },
+ {"line": "parameter-name", "contents": "Enter your name as specified in the XTrackCAD Registration Notice" },
+ {"line": "parameter-key", "contents": "Enter the key value as specified in the XTrackCAD Registration Notice" },
+ {"line": "parameter-ok", "contents": "Validates the name and key. Terminates the registration command" },
+ {"line": "pref-anglesystem", "contents": "0 degrees is up or to the right" },
+ {"line": "pref-units", "contents": "Choose english (inches) or metric (centimeters)" },
+ {"line": "pref-dstfmt", "contents": "How to display length measurements" },
+ {"line": "pref-minlength", "contents": "Do not create tracks to be shorter than this value" },
+ {"line": "pref-connectdistance", "contents": "Maximum distance between connected end points" },
+ {"line": "pref-connectangle", "contents": "Minimum angle between connected End-Points" },
+ {"line": "pref-turntable-angle", "contents": "Specifies the minimum angle between tracks connected to a turntable" },
+ {"line": "pref-coupling-speed-max", "contents": "Trains will crash above this speed" },
+ {"line": "pref-balloonhelp", "contents": "Enable/Disable balloon popup help windows" },
+ {"line": "pref-showflextrack", "contents": "Enable/Disable show of flextrack on hotbar" },
+ {"line": "pref-dragpixels", "contents": "How far you can move the mouse before its considered a drag" },
+ {"line": "pref-dragtimeout", "contents": "How long you can hold a mouse button down before its considered a drag" },
+ {"line": "pref-mingridspacing", "contents": "Minimum distance (in pixels) between grid lines/ticks" },
+ {"line": "pref-checkpoint", "contents": "Specifies the Check Point frequency; number of modifications made since the last checkpoint." },
+ {"line": "pref-autosave", "contents": "Specifies the number of checkpoints after save before auto-saving." },
+ {"line": "pref-onstartup", "contents": "Resume work on last layout or start with new layout" },
+ {"line": "pref-ok", "contents": "" },
+ {"line": "pricelist-cost", "contents": "Updated cost of current selected item" },
+ {"line": "pricelist-entry", "contents": "Item" },
+ {"line": "pricelist-inx", "contents": "Selection list for prices" },
+ {"line": "pricelist-flexlen", "contents": "Price of specified length of flex-track" },
+ {"line": "pricelist-flexunit", "contents": "Price of specified length of flex-track" },
+ {"line": "pricelist-flexcost", "contents": "Price of specified length of flex-track" },
+ {"line": "pricelist-ok", "contents": "" },
+ {"line": "print-centerLine", "contents": "Controls the printing of a centerline of track cmdPrint" },
+ {"line": "print-scale", "contents": "Controls the reduction (scale) of the printout" },
+ {"line": "print-pagew", "contents": "Scaled page width (Scale times physical page width)" },
+ {"line": "print-max", "contents": "Sets page size to the maximum (based on scale and physical page size)" },
+ {"line": "print-pageh", "contents": "Scaled page height (Scale times physical page height)" },
+ {"line": "print-snapshot", "contents": "Sets scale, origin and angle for a one page printout of the layout" },
+ {"line": "print-format", "contents": "Print page in Portrait or Landscape format" },
+ {"line": "print-order", "contents": "Order of printing pages" },
+ {"line": "print-style", "contents": "Print Title, Date, Author and other information at bottom of page?" },
+ {"line": "print-physsize", "contents": "Ignore unprintable page margins?" },
+ {"line": "print-registrationMarks", "contents": "Print Registration Marks at 1:1?" },
+ {"line": "print-grid", "contents": "Print Snap Grid?" },
+ {"line": "print-ruler", "contents": "Print Rulers at the layout edge only, or on all page edges, or nowhere?" },
+ {"line": "print-roadbed", "contents": "Print Roadbed Outline?" },
+ {"line": "print-roadbedWidth", "contents": "Print Roadbed Outline" },
+ {"line": "print-origx", "contents": "Origin of the print grid. This is useful if you want to reprint a set of pages" },
+ {"line": "print-origy", "contents": "Origin of the print grid. This is useful if you want to reprint a set of pages" },
+ {"line": "print-reset", "contents": "Resets the origin and angle to 0" },
+ {"line": "print-origa", "contents": "Origin of the print grid. This is useful if you want to reprint a set of pages" },
+ {"line": "print-clear", "contents": "Deselects all pages" },
+ {"line": "print-setup", "contents": "Invoke the Print Setup dialog" },
+ {"line": "print-ok", "contents": "Print selected pages and terminates the print command" },
+ {"line": "prmfile-inx", "contents": "List of loaded, shown or hidden parameter files" },
+ {"line": "prmfile-mode", "contents": "Show parameter files by names or descriptions" },
+ {"line": "prmfile-action", "contents": "Toggle the shown status of the selected parameter file" },
+ {"line": "prmfile-browse", "contents": "Find extra parameter files from the filesystem" },
+ {"line": "prmfile-find", "contents": "Find parameter files from the system library" },
+ {"line": "prmfile-ok", "contents": "Update parameter file list" },
+ {"line": "prmfile-reload", "contents": "Reload parameter file from list" },
+ {"line": "prmfile-selectall", "contents": "Select all parameter files shown" },
+ {"line": "profile-canvas", "contents": "Profile of specified path" },
+ {"line": "profile-clear", "contents": "Clear the profile" },
+ {"line": "profile-print", "contents": "Print the profile" },
+ {"line": "profile-ok", "contents": "" },
+ {"line": "record-stop", "contents": "Stop recording" },
+ {"line": "record-message", "contents": "Insert a message" },
+ {"line": "record-end", "contents": "End a message" },
+ {"line": "record-text", "contents": "Message body" },
+ {"line": "refreshSpecial-list", "contents": "Possible turnouts" },
+ {"line": "refreshSpecial-skip", "contents": "Skip this turnout" },
+ {"line": "refreshSpecial-ok", "contents": "" },
+ {"line": "rename-manuf", "contents": "Manufacturer of Object" },
+ {"line": "rename-desc", "contents": "Description of Object" },
+ {"line": "rename-partno", "contents": "Part Nuber of Object" },
+ {"line": "rename-ok", "contents": "" },
+ {"line": "rescale-toggle", "contents": "Rescale by Scale Conversion or by Ratio" },
+ {"line": "rescale-fromS", "contents": "Original Scale of the selected objects" },
+ {"line": "rescale-fromG", "contents": "Original Gauge of the selected objects" },
+ {"line": "rescale-toS", "contents": "New Scale of the selected objects" },
+ {"line": "rescale-toG", "contents": "New Gauge of the selected objects" },
+ {"line": "rescale-change-dim", "contents": "Change track dimensions to new scale" },
+ {"line": "rescale-ratio", "contents": "Change size by this amount" },
+ {"line": "rescale-ok", "contents": "" },
+ {"line": "rgbcolor-snapgrid", "contents": "Snap Grid Line and Division" },
+ {"line": "rgbcolor-marker", "contents": "X and Y position markers" },
+ {"line": "rgbcolor-border", "contents": "Border rulers, room boundaries and table edges" },
+ {"line": "rgbcolor-crossmajor", "contents": "Primary Axis of grid rotation" },
+ {"line": "rgbcolor-crossminor", "contents": "Secondary Axis of grid rotation" },
+ {"line": "rgbcolor-normal", "contents": "Unselected tracks" },
+ {"line": "rgbcolor-selected", "contents": "Selected tracks" },
+ {"line": "rgbcolor-profile", "contents": "Color of tracks on the Profile path" },
+ {"line": "rgbcolor-exception", "contents": "Color of Exceptional tracks" },
+ {"line": "rgbcolor-tie", "contents": "Color of track ties" },
+ {"line": "rgbcolor-ok", "contents": "Updates the colors" },
+ {"line": "rotate-rotate", "contents": "Angle in degrees" },
+ {"line": "rotate-ok", "contents": "Rotate object(s) by specified amount" },
+ {"line": "searchgui-query", "contents": "Enter one or more words as search terms" },
+ {"line": "searchgui-clearfilter", "contents": "Remove the current filter and show all files" },
+ {"line": "searchgui-find", "contents": "Find matching file descriptions" },
+ {"line": "searchgui-inx", "contents": "Search results" },
+ {"line": "searchgui-mode", "contents": "Show descriptions or filenames in results" },
+ {"line": "searchgui-fit", "contents": "Select how well the definitions must fit the current layout scale"},
+ {"line": "searchgui-apply", "contents": "Add selected entries into parameter file list" },
+ {"line": "searchgui-selectall", "contents": "Select All found entries" },
+ {"line": "searchgui-default", "contents": "Reload the system library contents for finding" },
+ {"line": "sticky-set", "contents": "Choose commands to be sticky" },
+ {"line": "sticky-ok", "contents": "Make the commands sticky" },
+ {"line": "structure-list", "contents": "List of available structure" },
+ {"line": "structure-canvas", "contents": "Diagram of the selected structure" },
+ {"line": "structure-hide", "contents": "Hide Selection window when placing Structure" },
+ {"line": "structure-stats", "contents": "Drawing scale and size" },
+ {"line": "structure-ok", "contents": "Complete structure placement" },
+ {"line": "structure-pier-inx", "contents": "Choose a Pier number" },
+ {"line": "switchmotor-name", "contents": "Name of the Motor" },
+ {"line": "switchmotor-normal", "contents": "Value when switch is normal" },
+ {"line": "switchmotor-reverse", "contents": "Value when the switch is reversed" },
+ {"line": "switchmotor-pointSense", "contents": "Value for a positive comfirmation of switch position" },
+ {"line": "text-fontsize", "contents": "Controls the size of the entered text" },
+ {"line": "text-color", "contents": "Controls the color of the entered text" },
+ {"line": "text-boxed", "contents": "If the text is boxed" },
+ {"line": "tip-text", "contents": "Useful information about the program" },
+ {"line": "tip-showatstart", "contents": "Show Tip of the Day every time the program starts" },
+ {"line": "tip-next", "contents": "Show the next Tip of the Day" },
+ {"line": "tip-prev", "contents": "Show the previous Tip of the Day" },
+ {"line": "tip-ok", "contents": "" },
+ {"line": "toolbarM", "contents": "Controls which Command Buttons are displayed" },
+ {"line": "train-newcar-index", "contents": "List of Cars" },
+ {"line": "train-list", "contents": "List of active trains" },
+ {"line": "train-speed", "contents": "Speed" },
+ {"line": "train-distance", "contents": "Train odometer" },
+ {"line": "train-zeroDistance", "contents": "Reset odometer to 0" },
+ {"line": "train-goto", "contents": "Find train on layout" },
+ {"line": "train-follow", "contents": "Follow train around layout" },
+ {"line": "train-autoreverse", "contents": "Flip direction at End Of Track" },
+ {"line": "train-direction", "contents": "Change direction of train" },
+ {"line": "train-stop", "contents": "Stop the train" },
+ {"line": "turnout-list", "contents": "List of available turnouts for the current scale" },
+ {"line": "turnout-canvas", "contents": "Diagram of the currently selected turnout. Click on a End-Point to select the Active End-Point" },
+ {"line": "turnout-new", "contents": "A menu list of various type of turnouts and sectional tracks you can define" },
+ {"line": "turnout-hide", "contents": "Hide Selection window when placing Turnout" },
+ {"line": "turnout-activeEndPoint", "contents": "The selected Active End-Point" },
+ {"line": "turnout-current", "contents": "Current selected turnout, (displayed in the diagram window)" },
+ {"line": "turnout-endPoint", "contents": "One the End-Points that can be selected" },
+ {"line": "turnout-ok", "contents": "" },
+ {"line": "turnoutNew-angle1", "contents": "Angle of the specified track to the center line of the turnout" },
+ {"line": "turnoutNew-angle2", "contents": "Angle of the specified track to the center line of the turnout" },
+ {"line": "turnoutNew-angleMode", "contents": "Specifies if angles are entered as Frog Numbers or in degrees" },
+ {"line": "turnoutNew-desc1", "contents": "Desciption" },
+ {"line": "turnoutNew-desc2", "contents": "Desciption" },
+ {"line": "turnoutNew-label", "contents": "Turnout description (Manuf., Size, Part Number, etc)" },
+ {"line": "turnoutNew-len0", "contents": "Length from the base to the end of the specified track" },
+ {"line": "turnoutNew-len1", "contents": "Length from the base to the end of the specified track" },
+ {"line": "turnoutNew-len2", "contents": "Length from the base to the end of the specified track" },
+ {"line": "turnoutNew-manuf", "contents": "Manufacturer" },
+ {"line": "turnoutNew-off1", "contents": "Offset of the track End-Point from the center line of the turnout" },
+ {"line": "turnoutNew-off2", "contents": "Offset of the track End-Point from the center line of the turnout" },
+ {"line": "turnoutNew-partno1", "contents": "Part Number" },
+ {"line": "turnoutNew-partno2", "contents": "Part Number" },
+ {"line": "turnoutNew-print", "contents": "Prints a full size diagram of the turnout for checking" },
+ {"line": "turnoutNew-ok", "contents": "Prints a full size diagram of the turnout for checking" },
+ {"line": "turnoutNew-color", "contents": "Color of Roadbed lines" },
+ {"line": "turnoutNew-roadbedLineWidth", "contents": "Width of Roadbed lines" },
+ {"line": "turnoutNew-roadbedWidth", "contents": "Width of Roadbed" },
+ {"line": "turnoutNew-printsetup", "contents": "Invoke the Print Setup dialog" },
+ {"line": "turnoutNew-done", "contents": "Closes the window and returns to the Turnout Selection window" },
+ {"line": "turntable-diameter", "contents": "Specifies the diameter of the turntable" },
+ {"line": "updatetitle-old", "contents": "Old Turnout title" },
+ {"line": "updatetitle-sel", "contents": "List of available titles" },
+ {"line": "updatetitle-ignore", "contents": "Leave the Turnouts' title unchanged" },
+ {"line": "updatetitle-load", "contents": "Invoke the Parameter Files dialog" },
+ {"line": "updatetitle-list", "contents": "List of available turnouts" },
+ {"line": "updatetitle-ok", "contents": "Update the Turnouts' title" },
+ {"line": "fontSelCancel", "contents": "Cancel" },
+ {"line": "fontSelList", "contents": "List" },
+ {"line": "fontSelOk", "contents": "Ok" },
+ {"line": "fontSelSample", "contents": "Sample" },
+ {"line": "fontSelSize", "contents": "Size" },
+ {"line": "fontSelSlant", "contents": "Slant" },
+ {"line": "fontSelW", "contents": "Font selection dialog" },
+ {"line": "fontSelWeight", "contents": "Weight" },
+ {"line": "printAbortW", "contents": "Printer Abort Window" },
+ {"line": "printFileName", "contents": "Print to filename" },
+ {"line": "printFontAlias", "contents": "Specify Postscript font alias mapping" },
+ {"line": "printSetup", "contents": "Displays the Print Setup window to change printers, orientation, paper size, etc." },
+ {"line": "printSetupCancel", "contents": "Closes this dialog" },
+ {"line": "printSetupFormat", "contents": "Page orientation" },
+ {"line": "printSetupMargin", "contents": "Unprintable margins" },
+ {"line": "printSetupOk", "contents": "Updates and closes this dialog" },
+ {"line": "printSetupPaper", "contents": "Choose paper size" },
+ {"line": "printSetupPrinter", "contents": "Choose printer" },
+ {"line": "printSetupTest", "contents": "Print test page" },
+ {"line": "about", "contents": "No Help" },
+ {"line": "about-about", "contents": "No Help" },
+ {"line": "about-ok", "contents": "" },
+ {"line": "cmdDebug", "contents": "No Help" },
+ {"line": "loosen", "contents": "No Help" },
+ {"line": "misc-cur-turnout-ep", "contents": "" },
+ {"line": "misc-toolbarset", "contents": "No Help" },
+ {"line": "misc-showlayout", "contents": "No Help" },
+ {"line": "misc-showdisplay", "contents": "No Help" },
+ {"line": "misc-showcmdopt", "contents": "No Help" },
+ {"line": "misc-showeasement", "contents": "No Help" },
+ {"line": "misc-showfontSel", "contents": "No Help" },
+ {"line": "misc-showgrid", "contents": "No Help" },
+ {"line": "misc-showdebug", "contents": "No Help" },
+ {"line": "misc-sticky", "contents": "No Help" },
+ {"line": "misc-showpref", "contents": "No Help" },
+ {"line": "misc-showcolor", "contents": "No Help" },
+ {"line": "misc-showfileClear", "contents": "No Help" },
+ {"line": "misc-showparamFile", "contents": "No Help" },
+ {"line": "misc-showpriceList", "contents": "No Help" },
+ {"line": "misc-showprint", "contents": "No Help" },
+ {"line": "misc-showprintSetup", "contents": "No Help" },
+ {"line": "misc-showprintBitmap", "contents": "No Help" },
+ {"line": "misc-showpartsList", "contents": "No Help" },
+ {"line": "misc-shownotes", "contents": "No Help" },
+ {"line": "misc-showundo", "contents": "No Help" },
+ {"line": "misc-showredo", "contents": "No Help" },
+ {"line": "misc-showcut", "contents": "No Help" },
+ {"line": "misc-showcopy", "contents": "No Help" },
+ {"line": "misc-showpaste", "contents": "No Help" },
+ {"line": "misc-showdelete", "contents": "No Help" },
+ {"line": "misc-showtunnel", "contents": "No Help" },
+ {"line": "misc-showabove", "contents": "No Help" },
+ {"line": "misc-showbelow", "contents": "No Help" },
+ {"line": "misc-showwidth0", "contents": "No Help" },
+ {"line": "misc-showwidth2", "contents": "No Help" },
+ {"line": "misc-showwidth3", "contents": "No Help" },
+ {"line": "misc-showrecompelev", "contents": "No Help" },
+ {"line": "misc-showcardesc", "contents": "No Help" },
+ {"line": "misc-showcaradd", "contents": "No Help" },
+ {"line": "misc-showselectAll", "contents": "No Help" },
+ {"line": "misc-showimport", "contents": "No Help" },
+ {"line": "misc-showexport", "contents": "No Help" },
+ {"line": "misc-showexportDXF", "contents": "No Help" },
+ {"line": "misc-showloosen", "contents": "No Help" },
+ {"line": "misc-group-objects", "contents": "No Help" },
+ {"line": "misc-ungroup-objects", "contents": "No Help" },
+ {"line": "misc-showcustomMgm", "contents": "No Help" },
+ {"line": "misc-showlayers", "contents": "No Help" },
+ {"line": "misc-showmoveToCurrentLayer", "contents": "No Help" },
+ {"line": "misc-showselectCurrentLayer", "contents": "No Help" },
+ {"line": "misc-showclearElevations", "contents": "No Help" },
+ {"line": "misc-showaddElevations", "contents": "No Help" },
+ {"line": "debug-Track", "contents": "No Help" },
+ {"line": "debug-EndPt", "contents": "No Help" },
+ {"line": "debug-ReadTracks", "contents": "No Help" },
+ {"line": "debug-Curve", "contents": "No Help" },
+ {"line": "debug-Join", "contents": "No Help" },
+ {"line": "debug-Turnout", "contents": "No Help" },
+ {"line": "debug-Structure", "contents": "No Help" },
+ {"line": "debug-Print", "contents": "No Help" },
+ {"line": "debug-ok", "contents": "" },
+ {"line": "map-canvas", "contents": "No Help" },
+ {"line": "cmdLayerShow0", "contents": "Layer" },
+ {"line": "cmdLayerShow1", "contents": "Layer" },
+ {"line": "cmdLayerShow2", "contents": "Layer" },
+ {"line": "cmdLayerShow3", "contents": "Layer" },
+ {"line": "cmdLayerShow4", "contents": "Layer" },
+ {"line": "cmdLayerShow5", "contents": "Layer" },
+ {"line": "cmdLayerShow6", "contents": "Layer" },
+ {"line": "cmdLayerShow7", "contents": "Layer" },
+ {"line": "cmdLayerShow8", "contents": "Layer" },
+ {"line": "cmdLayerShow9", "contents": "Layer" },
+ {"line": "cmdLayerShow10", "contents": "Layer" },
+ {"line": "cmdLayerShow11", "contents": "Layer" },
+ {"line": "cmdLayerShow12", "contents": "Layer" },
+ {"line": "cmdLayerShow13", "contents": "Layer" },
+ {"line": "cmdLayerShow14", "contents": "Layer" },
+ {"line": "cmdLayerShow15", "contents": "Layer" },
+ {"line": "cmdLayerShow16", "contents": "Layer" },
+ {"line": "cmdLayerShow17", "contents": "Layer" },
+ {"line": "cmdLayerShow18", "contents": "Layer" },
+ {"line": "cmdLayerShow19", "contents": "Layer" }
+ ]
+}
diff --git a/app/help/messages.in b/app/help/messages.in
index f5bb62b..8834dcb 100644
--- a/app/help/messages.in
+++ b/app/help/messages.in
@@ -2,6 +2,13 @@
# Various messages with help. Sorted by message content
############################################################
+# misc.c
+MESSAGE MSG_BETA_NOTICE
+XTrackCAD Version %s: Please note that this Beta Version of XTrackCAD is still undergoing final testing before its official release. The sole purpose of this Beta Version is to conduct testing and obtain feedback. Should you encounter any bugs, glitches, lack of functionality or other problems, please let us know immediately so we can rectify these accordingly. Your help in this regard is greatly appreciated!
+HELP
+XTrackCAD Version %s: Please note that this Beta Version of XTrackCAD is still undergoing final testing before its official release. The sole purpose of this Beta Version is to conduct testing and obtain feedback. Should you encounter any bugs, glitches, lack of functionality or other problems, please let us know immediately so we can rectify these accordingly. Your help in this regard is greatly appreciated!
+END
+
# chndldto.c
MESSAGE MSG_CANT_PLACE_FROGPOINTS
A %s cannot be placed on a turnout, circle or helix.
@@ -41,6 +48,13 @@ A large font has been selected. Large fonts (or changing fonts sizes) may take a
Refer to \k{cmdText} for detail.
END
+#cdraw.c
+MESSAGE MSG_TEXT_TOO_LONG
+The entered text was too long for the text object. It was truncated.
+HELP
+Text objects are limited to about 10k characters.
+END
+
# ctodesgn.c
MESSAGE MSG_TODSGN_DESC_NONBLANK
All description fields present in the Turnout
@@ -113,7 +127,7 @@ END
MESSAGE MSG_BITMAP_TOO_LARGE
Bitmap is too large.
HELP
-A Bitmap must be less than 32000 pixels in height or width. Try increasing the DPI (or DPCM) value.
+A Bitmap must be less than 32000 pixels in height or width. Try increasing the DPI (or DPCM) value.
Refer to \k{cmdOutputbitmap} for detail.
END
@@ -154,9 +168,9 @@ END
# cgroup.c:doGroup
MESSAGE MSG_CANNOT_GROUP_TRACK
-Cannot Group selected track.
+Cannot Group selected track type %s.
HELP
-Group objects are formed from Straight, Curved, Turnout or Sectional track. The selected objects include a track which is not one of these. Reselect the objects, including only track segments of these types.
+Group objects are formed from Straight, Curved, Turnout or Sectional track or Structures or Draw elements. The selected objects include an object which is not one of these. Reselect the objects, including only elements of these types.
Refer to \k{cmdGroup} for detail.
END
@@ -226,6 +240,13 @@ You are trying to \f{Join} a section of track with itself. Different tracks must
Refer to \k{cmdJoin} for detail.
END
+#cjoin.c
+MESSAGE MSG_JOIN_NOTBEZIERORCORNU
+Cannot Join Bezier or Cornu track if Easement is not Cornu
+HELP
+You must change the Easement value to Cornu in order to join Bezier or Cornu Tracks
+END
+
# cjoin.c
MESSAGE MSG_SELECTED_TRACKS_PARALLEL
Cannot Join; Selected tracks are parallel.
@@ -533,7 +554,7 @@ No Cars are defined for the current scale.
Do you want to use the Car Inventory dialog?
HELP
-No Cars are defined for the current scale. Use the dialog to select cars of the current scale and add them to the \f{Car Inventory}.
+No Cars are defined for the current layout scale. Either set the scale to the value of already defined cars, or use the dialog to select cars of the current scale and add them to the \f{Car Inventory}.
Refer to \k{cmdCarinv} for detail.
END
@@ -603,6 +624,20 @@ HELP
The import module function needs an empty layer to work with, but none could be found. Clear a layer and retry.
END
+# dlayer.c
+MESSAGE MSG_NO_UNFROZEN_LAYER
+No layer was found that wasn't frozen. Layer 0 is unfrozen.
+HELP
+There has to be one layer that isn't frozen, Layer 0 will be unfrozen
+END
+
+# dlayer.c
+MESSAGE MSG_NOT_UNFROZEN_LAYER
+The current layer was defined as frozen. It is now unfrozen.
+HELP
+The current layer has to be unfrozen
+END
+
# dcmpnd.c:refreshCompound
MESSAGE MSG_NO_TURNOUTS_AVAILABLE
No %s are available.
@@ -700,16 +735,23 @@ END
# drawgeom.c
MESSAGE MSG_POLY_SHAPES_3_SIDES
-Poly shapes must have at least 3 sides.
+Polygons must have at least 3 nodes.
HELP
-Polygons and Poly Lines must have at least 3 sides. You're attempting to create a Poly shape with only 2 sides by deleting the third.
+Polygons and Poly Lines must have at least 3 nodes. You're attempting to create a Polygon with only 2 sides or a PolyLine with one line segment.
END
# drawgeom.c
MESSAGE MSG_POLY_MULTIPLE_SELECTED
Can't delete multiple points at once
HELP
-Polygons and Poly Lines points can only be deleted one at a time.
+Polygons and Poly Lines points can only be deleted one at a time.
+END
+
+# drawgeom.c
+MESSAGE MSG_POLY_NOTHING_SELECTED
+No Point on a Poly shape selected.
+HELP
+Select a Poly shape and a single point in order to be able to delete it.
END
# dcar.c
@@ -731,20 +773,20 @@ HELP
It's not possible to create a Circle or Helix with a radius of 0\u00B0 or less. Specify a positive value in the \f{Radius} field that appears in the Status Bar.
END
-MESSAGE MSG_RADIUS_GTR_10000
+MESSAGE MSG_RADIUS_GTR_10000
Radius must be less than 10000.
HELP
It's not possible to create a Circle or Helix with a radius of 10000\u00B0 or more. Specify a smaller value in the \f{Radius} field.
END
-MESSAGE MSG_RADIUS_TOO_BIG
+MESSAGE MSG_RADIUS_TOO_BIG
The Circle or Helix will not fit within the layouts room parameters (Height and Width).
HELP
The defined circle can not fit within the defined layout parameters. Either specify a smaller value in the \f{Radius} field, or increase the room parameters in the \f{Layout} dialog.
END
#cselect.c
-MESSAGE MSG_RESCALE_TOO_BIG
+MESSAGE MSG_RESCALE_TOO_BIG
Rescaled tracks do not fit within layouts room parameters
(Height and width). The layouts room parameters should be
set to at least %s by %s.
@@ -893,7 +935,7 @@ This error occurs when;
\b no structures are available in the structure selection list or;
-\b the scale setting of the layout and \f{Parameter File}s does not match.
+\b the scale setting of the layout and \f{Parameter File}s does not match.
Using the \f{File>Parameter Files} menu, check which Parameter files are loaded. Ensure the scale of the loaded files match that of the layout. Alternately a new Structure could be created using the \f{Group} command.
@@ -912,7 +954,7 @@ This error occurs when;
\b no turnouts are available in the turnouts selection list or;
-\b the scale setting of the layout and \f{Parameter File}s does not match.
+\b the scale setting of the layout and \f{Parameter File}s does not match.
Using the \f{File>Parameter Files} menu, check which Parameter files are loaded. Ensure the scale of the loaded files match that of the layout. Alternately a new turnout could be created using the \f{Turnout Designer} command.
@@ -1063,7 +1105,7 @@ Critical file damaged!
%s is corrupt.
-Please reinstall software.
+Please reinstall software.
HELP
A critical file is corrupt. Unfortunately it will be necessary to reinstall the software or contact the XTrackCAD project development team at SourceForge in order to overcome this error.
@@ -1072,7 +1114,7 @@ END
# param.c
MESSAGE MSG_ENTERED_STRING_TRUNCATED
-The entered text is too long. Maximum length is %d.
+The entered text is too long. Maximum length is %d.
HELP
The text entered into a field is longer than the maximum allowed length and was truncated. Please check the shortened text and edit as necessary.
END
@@ -1088,7 +1130,7 @@ END
# dbitmap.c
MESSAGE MSG_BITMAP_SIZE_WARNING
-You have specified a large Bitmap.
+You have specified a large bitmap.
Are you sure you want to continue?
HELP
@@ -1097,7 +1139,11 @@ Bitmaps can use a large amount of system resources. They may also take a long ti
Refer to \k{cmdOutputbitmap} for detail.
END
-
+# doption.c
+MESSAGE MSG_ICON_SIZE_RESTART
+Icon Size change will take effect on next program start.
+#NOHELP
+END
############################################################
# Various messages without help or specific origin.
@@ -1124,25 +1170,25 @@ END
# fileio.c
MESSAGE MSG_DIR_OPEN_FAIL
-Cannot open directory: %s
+Cannot open directory: %s
#NOHELP
END
# fileio.c
MESSAGE MSG_NOT_DIR_FAIL
-Path for deletion is not a directory: %s
+Path for deletion is not a directory: %s
#NOHELP
END
# fileio.c
MESSAGE MSG_OPEN_DIR_FAIL
-Open failed for directory: %s
+Open failed for directory: %s
#NOHELP
END
# fileio.c
MESSAGE MSG_ZIP_DIR_ADD_FAIL
-Can't add directory record %s to zip - %s
+Can't add directory record %s to zip - %s
#NOHELP
END
@@ -1196,13 +1242,13 @@ END
# fileio.c
MESSAGE MSG_UNLINK_FAIL
-Unlink failed for: %s
+Unlink failed for: %s
#NOHELP
END
# fileio.c
MESSAGE MSG_RMDIR_FAIL
-Remove Directory failed for: %s
+Remove Directory failed for: %s
#NOHELP
END
@@ -1232,7 +1278,7 @@ END
# fileio.c
MESSAGE MSG_COPY_OPEN_FAIL
-Cannot open file %s
+Cannot open file %s
#NOHELP
END
@@ -1282,7 +1328,7 @@ END
# cgroup.c:doGroup
MESSAGE MSG_CANT_GROUP_BUMPER2
At least one path for the Turnout T%d does not
-terminate on an endpoint. Such a track cannot be grouped.
+terminate on an endpoint. Such a track cannot be grouped.
The track has been unselected.
#NOHELP
END
diff --git a/app/i18n/CMakeLists.txt b/app/i18n/CMakeLists.txt
index e07ed7a..6527af8 100644
--- a/app/i18n/CMakeLists.txt
+++ b/app/i18n/CMakeLists.txt
@@ -2,10 +2,12 @@ PROJECT(i18n)
# List of the supported locales.
SET(XTRKCAD_LOCALE_IDS
+ cy_GB
de_DE
fi
fr_FR
pt_BR
+ ru
)
# Misc variables
diff --git a/app/i18n/cy_GB.po b/app/i18n/cy_GB.po
new file mode 100644
index 0000000..7d5f2b4
--- /dev/null
+++ b/app/i18n/cy_GB.po
@@ -0,0 +1,15263 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# Adam J M Richards <adamjmrichards@gmail.com>, 2021
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-11-14 06:45-0800\n"
+"PO-Revision-Date: 2020-08-27 16:39+0000\n"
+"Last-Translator: Adam J M Richards <adamjmrichards@gmail.com>, 2021\n"
+"Language-Team: Welsh (https://www.transifex.com/xtrackcad/teams/112853/cy/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: cy\n"
+"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n"
+
+#: ../bin/archive.c:154 ../bin/archive.c:161 ../bin/archive.c:190
+#: ../bin/archive.c:215 ../bin/archive.c:270 ../bin/archive.c:283
+#: ../bin/archive.c:291 ../bin/archive.c:341 ../bin/archive.c:376
+#: ../bin/archive.c:392 ../bin/archive.c:402 ../bin/archive.c:425
+#: ../bin/cblock.c:490 ../bin/cswitchmotor.c:472 ../bin/dbench.c:143
+#: ../bin/dbitmap.c:426 ../bin/dcar.c:4525 ../bin/dcar.c:4711
+#: ../bin/dcar.c:4721 ../bin/dcar.c:4768 ../bin/dcar.c:4775 ../bin/dcar.c:4793
+#: ../bin/dcar.c:4806 ../bin/dcar.c:4811 ../bin/dcar.c:4840 ../bin/dcar.c:5003
+#: ../bin/directory.c:44 ../bin/directory.c:79 ../bin/directory.c:86
+#: ../bin/directory.c:117 ../bin/directory.c:133 ../bin/dxfoutput.c:191
+#: ../bin/fileio.c:215 ../bin/fileio.c:660 ../bin/fileio.c:803
+#: ../bin/fileio.c:863 ../bin/fileio.c:987 ../bin/fileio.c:1053
+#: ../bin/fileio.c:1059 ../bin/fileio.c:1135 ../bin/fileio.c:1145
+#: ../bin/fileio.c:1490 ../bin/fileio.c:1542 ../bin/fileio.c:1594
+#: ../bin/macro.c:152 ../bin/macro.c:806 ../bin/macro.c:853 ../bin/macro.c:874
+#: ../bin/macro.c:1017 ../bin/macro.c:1035 ../bin/macro.c:1307
+#: ../bin/param.c:2189 ../bin/paramfile.c:257 ../bin/paramfilelist.c:390
+#: ../bin/track.c:1152 ../bin/track.c:1692 ../bin/track.c:1998
+#: ../bin/track.c:2002 ../bin/track.c:2014 ../bin/track.c:2078
+#: ../wlib/gtklib/wpref.c:260 ../wlib/gtklib/wpref.c:267
+msgid "Continue"
+msgstr "Parhewch"
+
+#: ../bin/cbezier.c:598
+msgid "Select End-Point - Ctrl unlocks end-point"
+msgstr "Dewiswch ddiweddbwynt; +\"ctrl\" yn datgloi pwynt diwedd"
+
+#: ../bin/cbezier.c:600
+msgid "Select End-Point"
+msgstr "Dewiswch ddiweddbwynt"
+
+#: ../bin/cbezier.c:632
+msgid "Not close enough to any valid, selectable point, reselect"
+msgstr "Ddim yn ddigon agos at unrhyw bwynt dilys i ddewis, ail-ddewis"
+
+#: ../bin/cbezier.c:638
+#, c-format
+msgid "Drag point %d to new location and release it"
+msgstr "Pwynt llusgo%di leoliad newydd a'i ryddhau"
+
+#: ../bin/cbezier.c:647 ../bin/cbezier.c:738 ../bin/cbezier.c:740
+msgid "Pick any circle to adjust it - Enter to confirm, ESC to abort"
+msgstr "Dewiswch unrhyw gylch i'w addasu - ENTER i gadarnhau, ESC i erthylu."
+
+#: ../bin/cbezier.c:671
+msgid "Bezier Curve Invalid has identical end points Change End Point"
+msgstr ""
+"Mae gan gromlin Bezier annilys bwyntiau gorffen union yr un fath. Newid "
+"pwynt diwedd"
+
+#: ../bin/cbezier.c:674
+#, c-format
+msgid "Bezier Curve Invalid has %s Change End Point"
+msgstr "Mae gan gromlin Bezier Annilys %s Newid pwynt diwedd"
+
+#: ../bin/cbezier.c:677
+msgid "Bezier Curve Invalid has three co-incident points"
+msgstr "Mae gan gromlin Bezier Annilys dri phwynt cyd-ddigwyddiad"
+
+#: ../bin/cbezier.c:679
+msgid "Bezier is Straight Line"
+msgstr "Mae cromlin Bezier yn llinell syth"
+
+#: ../bin/cbezier.c:681
+#, c-format
+msgid "Bezier %s : Min Radius=%s Length=%s fx=%0.3f fy=%0.3f cusp=%0.3f"
+msgstr "Bezier %s : Radiws lleiaf=%s Hyd=%s fx=%0.3f fy=%0.3f cusp=%0.3f"
+
+#: ../bin/cbezier.c:685
+#, c-format
+msgid "Bezier %s : Min Radius=%s Length=%s"
+msgstr "Bezier %s : Radiws lleiaf=%s Hyd=%s"
+
+#: ../bin/cbezier.c:710
+msgid "No unconnected End Point to lock to"
+msgstr "Dim pwynt terfyn digyswllt i gloi iddo"
+
+#: ../bin/cbezier.c:728
+msgid "Bezier curve invalid has identical end points Change End Point"
+msgstr ""
+"Mae gan gromlin Bezier annilys bwyntiau terfyn union yr un fath. Newid pwynt"
+" diwedd."
+
+#: ../bin/cbezier.c:731
+#, c-format
+msgid "Bezier curve invalid has %s Change End Point"
+msgstr "Mae gan gromlin Bezier annilys. Wedi %s. Newid pwynt diwedd."
+
+#: ../bin/cbezier.c:734
+msgid "Bezier curve invalid has three co-incident points"
+msgstr "Mae cromlin Bezier yn annilys, mae ganddo dri phwynt cyd-ddigwyddiad."
+
+#: ../bin/cbezier.c:736
+msgid "Bezier curve is straight line"
+msgstr "Mae cromlin Bezier yn llinell syth."
+
+#: ../bin/cbezier.c:750 ../bin/cbezier.c:764
+msgid "Invalid Bezier Track - end points are identical"
+msgstr "Trac Bezier annilys. Mae'r pwyntiau gorffen yn union yr un fath."
+
+#: ../bin/cbezier.c:757
+#, c-format
+msgid "Invalid Bezier Curve has a %s - Adjust"
+msgstr "Mae gan gromlin Bezier annilys %s - Addasu"
+
+#: ../bin/cbezier.c:761
+msgid "Invalid Bezier Curve has three coincident points - Adjust"
+msgstr "Mae gan gromlin Bezier annilys dri phwynt cyd-ddigwyddiad. Addasu."
+
+#: ../bin/cbezier.c:769
+msgid "Create Bezier"
+msgstr "Creu Bezier"
+
+#: ../bin/cbezier.c:852
+#, c-format
+msgid "%s picked - now select a Point"
+msgstr "%s wedi'i ddewis - nawr dewis Pwynt"
+
+#: ../bin/cbezier.c:882 ../bin/ccornu.c:1946
+msgid "No changes made"
+msgstr "Ni wnaed unrhyw newidiadau"
+
+#: ../bin/cbezier.c:886
+msgid "Modify Bezier"
+msgstr "Addasu Bezier"
+
+#: ../bin/cbezier.c:900
+msgid "Modify Bezier Complete"
+msgstr "Addasu Bezier yn gyflawn"
+
+#: ../bin/cbezier.c:904
+msgid "Modify Bezier Cancelled"
+msgstr "Addasu Bezier wedi'i ganslo"
+
+#: ../bin/cbezier.c:1030 ../bin/cbezier.c:1124
+#, c-format
+msgid "Place 1st endpoint of Bezier - snap to %s"
+msgstr "Rhowch ddiweddbwynt 1af Bezier - Cadwch at %s"
+
+#: ../bin/cbezier.c:1049 ../bin/ccornu.c:2286 ../bin/ccurve.c:199
+#: ../bin/cstraigh.c:90
+msgid "Track is different gauge"
+msgstr "Mae trac yn fesurydd gwahanol"
+
+#: ../bin/cbezier.c:1070
+msgid "Drag end of first control arm"
+msgstr "Llusgwch ddiwedd y fraich reoli gyntaf"
+
+#: ../bin/cbezier.c:1077
+msgid "Drag end of second control arm"
+msgstr "Llusgwch ddiwedd yr ail fraich reoli"
+
+#: ../bin/cbezier.c:1128 ../bin/cbezier.c:1165
+#, c-format
+msgid "Select other end of Bezier - snap to %s end"
+msgstr "Dewiswch ben arall Bezier - cadwch at %s pen"
+
+#: ../bin/cbezier.c:1160
+msgid "Control Arm 1 is too short, try again"
+msgstr "Mae braich reoli 1 yn rhy fyr. Ceisio eto."
+
+#: ../bin/cblock.c:107 ../bin/cblock.c:119 ../bin/cblock.c:166
+#: ../bin/ccontrol.c:168 ../bin/ccontrol.c:422 ../bin/compound.c:708
+#: ../bin/csensor.c:160 ../bin/csensor.c:386 ../bin/csignal.c:235
+#: ../bin/csignal.c:495 ../bin/csignal.c:506 ../bin/csignal.c:532
+#: ../bin/cswitchmotor.c:89 ../bin/cswitchmotor.c:108
+#: ../bin/cswitchmotor.c:221 ../bin/dcontmgm.c:79 ../bin/dlayer.c:578
+msgid "Name"
+msgstr "Enw"
+
+#: ../bin/cblock.c:108 ../bin/cblock.c:120 ../bin/cblock.c:167
+#: ../bin/csensor.c:162 ../bin/csensor.c:392 ../bin/csignal.c:495
+#: ../bin/csignal.c:534
+msgid "Script"
+msgstr "Sgript"
+
+#: ../bin/cblock.c:121
+msgid "Segments"
+msgstr "Segmentau"
+
+#: ../bin/cblock.c:168 ../bin/cdraw.c:520 ../bin/cdraw.c:1502
+#: ../bin/cdraw.c:1648 ../bin/cdraw.c:2705 ../bin/cdraw.c:2927
+#: ../bin/cdraw.c:2964 ../bin/ctodesgn.c:169 ../bin/ctodesgn.c:170
+#: ../bin/ctodesgn.c:171 ../bin/ctodesgn.c:172 ../bin/ctodesgn.c:184
+#: ../bin/ctodesgn.c:185 ../bin/ctodesgn.c:235 ../bin/ctodesgn.c:238
+#: ../bin/ctodesgn.c:258 ../bin/ctodesgn.c:263 ../bin/ctodesgn.c:295
+#: ../bin/ctodesgn.c:302 ../bin/ctodesgn.c:304 ../bin/ctodesgn.c:324
+#: ../bin/ctodesgn.c:329 ../bin/ctodesgn.c:361 ../bin/ctodesgn.c:368
+#: ../bin/ctodesgn.c:369 ../bin/ctodesgn.c:390 ../bin/ctodesgn.c:393
+#: ../bin/ctodesgn.c:396 ../bin/ctodesgn.c:431 ../bin/ctodesgn.c:435
+#: ../bin/ctodesgn.c:442 ../bin/ctodesgn.c:443 ../bin/ctodesgn.c:444
+#: ../bin/ctodesgn.c:466 ../bin/ctodesgn.c:468 ../bin/ctodesgn.c:486
+#: ../bin/ctodesgn.c:488 ../bin/ctodesgn.c:507 ../bin/ctodesgn.c:509
+#: ../bin/ctodesgn.c:536 ../bin/ctodesgn.c:556 ../bin/ctodesgn.c:576
+#: ../bin/ctodesgn.c:596 ../bin/ctodesgn.c:634 ../bin/ctodesgn.c:653
+#: ../bin/ctodesgn.c:654 ../bin/ctrain.c:186 ../bin/tbezier.c:262
+#: ../bin/tcornu.c:315 ../bin/tcurve.c:385 ../bin/tstraigh.c:90
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:184
+msgid "Length"
+msgstr "Hyd"
+
+#: ../bin/cblock.c:169 ../bin/cdraw.c:511 ../bin/compound.c:683
+#: ../bin/tbezier.c:249 ../bin/tcornu.c:302 ../bin/tcurve.c:377
+#: ../bin/tease.c:509 ../bin/tstraigh.c:86
+msgid "End Pt 1: X,Y"
+msgstr "Diwedd Rhan 1: X,Y"
+
+#: ../bin/cblock.c:170 ../bin/cdraw.c:512 ../bin/compound.c:688
+#: ../bin/tbezier.c:256 ../bin/tcornu.c:307 ../bin/tcurve.c:379
+#: ../bin/tease.c:511 ../bin/tstraigh.c:88
+msgid "End Pt 2: X,Y"
+msgstr "Diwedd Rhan 2: X,Y"
+
+#: ../bin/cblock.c:193 ../bin/cblock.c:205 ../bin/cblock.c:574
+#: ../bin/cblock.c:595 ../bin/cblock.c:603 ../bin/cblock.c:673
+#: ../bin/cblock.c:794 ../bin/cblock.c:806 ../bin/cblock.c:844
+#: ../bin/ccontrol.c:202 ../bin/ccontrol.c:215 ../bin/ccontrol.c:227
+#: ../bin/ccontrol.c:483 ../bin/cdraw.c:125 ../bin/cdraw.c:2764
+#: ../bin/cgroup.c:1071 ../bin/cgroup.c:1138 ../bin/cgroup.c:1166
+#: ../bin/cgroup.c:1216 ../bin/cgroup.c:1238 ../bin/cgroup.c:1326
+#: ../bin/cgroup.c:1715 ../bin/cnote.c:67 ../bin/compound.c:744
+#: ../bin/compound.c:759 ../bin/compound.c:792 ../bin/cprint.c:712
+#: ../bin/cprint.c:719 ../bin/cprint.c:1263 ../bin/cpull.c:508
+#: ../bin/cpull.c:523 ../bin/cpull.c:525 ../bin/cpull.c:527 ../bin/cpull.c:688
+#: ../bin/cselect.c:1143 ../bin/cselect.c:1252 ../bin/cselect.c:2131
+#: ../bin/csensor.c:191 ../bin/csensor.c:203 ../bin/csensor.c:441
+#: ../bin/csignal.c:264 ../bin/csignal.c:663 ../bin/csignal.c:731
+#: ../bin/csnap.c:549 ../bin/csnap.c:675 ../bin/cstruct.c:962
+#: ../bin/cstruct.c:1092 ../bin/cswitchmotor.c:247 ../bin/cswitchmotor.c:259
+#: ../bin/cswitchmotor.c:271 ../bin/cswitchmotor.c:283
+#: ../bin/cswitchmotor.c:541 ../bin/cswitchmotor.c:577
+#: ../bin/cswitchmotor.c:712 ../bin/cswitchmotor.c:743 ../bin/ctext.c:172
+#: ../bin/ctodesgn.c:203 ../bin/ctodesgn.c:1198 ../bin/ctodesgn.c:1969
+#: ../bin/ctodesgn.c:2084 ../bin/ctodesgn.c:2383 ../bin/ctrain.c:206
+#: ../bin/cturnout.c:4845 ../bin/cturnout.c:4984 ../bin/cundo.c:205
+#: ../bin/cundo.c:210 ../bin/dbitmap.c:156 ../bin/dbitmap.c:231
+#: ../bin/dbitmap.c:472 ../bin/dcar.c:3850 ../bin/dcar.c:4015
+#: ../bin/dcar.c:4020 ../bin/dcar.c:4024 ../bin/dcar.c:4029 ../bin/dcar.c:4342
+#: ../bin/dcar.c:4450 ../bin/dcar.c:4830 ../bin/dcmpnd.c:392
+#: ../bin/dcmpnd.c:403 ../bin/dcmpnd.c:536 ../bin/dcustmgm.c:205
+#: ../bin/dcustmgm.c:211 ../bin/dcustmgm.c:220 ../bin/dcustmgm.c:245
+#: ../bin/dease.c:240 ../bin/dlayer.c:257 ../bin/dlayer.c:292
+#: ../bin/dlayer.c:1152 ../bin/dlayer.c:1158 ../bin/dlayer.c:1164
+#: ../bin/doption.c:200 ../bin/doption.c:276 ../bin/doption.c:479
+#: ../bin/doption.c:482 ../bin/doption.c:486 ../bin/doption.c:497
+#: ../bin/doption.c:563 ../bin/dprmfile.c:427 ../bin/draw.c:2726
+#: ../bin/fileio.c:171 ../bin/fileio.c:580 ../bin/fileio.c:705
+#: ../bin/fileio.c:707 ../bin/fileio.c:712 ../bin/fileio.c:775
+#: ../bin/fileio.c:1007 ../bin/layout.c:404 ../bin/layout.c:612
+#: ../bin/macro.c:1131 ../bin/macro.c:1135 ../bin/macro.c:1203
+#: ../bin/macro.c:1272 ../bin/macro.c:1513 ../bin/macro.c:1533
+#: ../bin/misc.c:491 ../bin/misc.c:573 ../bin/misc.c:1918 ../bin/misc.c:2050
+#: ../bin/misc.c:2061 ../bin/misc.c:2072 ../bin/misc.c:2168 ../bin/misc.c:3046
+#: ../bin/misc.c:3055 ../bin/misc.c:3075 ../bin/misc.c:3081 ../bin/misc.c:3293
+#: ../bin/misc2.c:523 ../bin/param.c:737 ../bin/param.c:1947
+#: ../bin/param.c:2070 ../bin/param.c:2073 ../bin/param.c:2196
+#: ../bin/param.c:2202 ../bin/paramfile.c:330 ../bin/paramfile.c:332
+#: ../bin/paramfile.c:337 ../bin/paramfile.c:361 ../bin/paramfile.c:387
+#: ../bin/paramfile.c:393 ../bin/paramfilelist.c:103
+#: ../bin/paramfilelist.c:123 ../bin/paramfilelist.c:137
+#: ../bin/paramfilelist.c:201 ../bin/tease.c:1108 ../bin/track.c:1706
+#: ../wlib/gtklib/wpref.c:131
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:636
+msgid "Ok"
+msgstr "Iawn"
+
+#: ../bin/cblock.c:210
+msgid "Change block"
+msgstr "Newid Bloc"
+
+#: ../bin/cblock.c:262 ../bin/cswitchmotor.c:339
+#, c-format
+msgid "(%d): Layer=%u %s"
+msgstr "(%d): Haen=%u %s"
+
+#: ../bin/cblock.c:286 ../bin/cblock.c:996
+msgid "Block"
+msgstr "Bloc"
+
+#: ../bin/cblock.c:490
+#, c-format
+msgid "resolveBlockTrack: T%d[%d]: T%d doesn't exist"
+msgstr "resolveBlockTrack: T%d[%d]: T%d ddim yn bodoli"
+
+#: ../bin/cblock.c:574 ../bin/cblock.c:806
+msgid "Block must have a name!"
+msgstr "rhaid bod enw ar bloc"
+
+#: ../bin/cblock.c:603
+msgid "Block is discontigious!"
+msgstr "bloc yn amharchus"
+
+#: ../bin/cblock.c:608
+msgid "Create block"
+msgstr "Creu bloc"
+
+#: ../bin/cblock.c:655
+msgid "Non track object skipped!"
+msgstr "Gwrthrych heb fod yn drac"
+
+#: ../bin/cblock.c:659
+msgid "Selected track is already in a block, skipped!"
+msgstr "Trac dethol eisoes mewn bloc - wedi'i hepgor"
+
+#: ../bin/cblock.c:673
+msgid "Create Block"
+msgstr "Creu Bloc"
+
+#: ../bin/cblock.c:703 ../bin/cblock.c:735
+msgid "Select a track"
+msgstr "Dewiswch drac"
+
+#: ../bin/cblock.c:712 ../bin/cblock.c:743
+msgid "Not a block!"
+msgstr "Ddim yn floc!"
+
+#: ../bin/cblock.c:748
+#, c-format
+msgid "Really delete block %s?"
+msgstr "Mewn gwirionedd dileu bloc %s?"
+
+#: ../bin/cblock.c:748 ../bin/ccornu.c:2753 ../bin/ccornu.c:2966
+#: ../bin/cdraw.c:129 ../bin/cgroup.c:1077 ../bin/cpull.c:646
+#: ../bin/csignal.c:709 ../bin/cswitchmotor.c:668 ../bin/ctodesgn.c:2659
+#: ../bin/ctodesgn.c:3213 ../bin/ctrain.c:2512 ../bin/dcar.c:3965
+#: ../bin/dcar.c:4054 ../bin/dcar.c:4137 ../bin/dcar.c:4156 ../bin/dcar.c:4475
+#: ../bin/dcar.c:4895 ../bin/dcontmgm.c:161 ../bin/dcustmgm.c:153
+#: ../bin/misc.c:1328 ../bin/misc.c:1335 ../bin/misc.c:1407
+#: ../bin/track.c:1708 ../bin/track.c:1805 ../bin/track.c:1822
+msgid "Yes"
+msgstr "ie"
+
+#: ../bin/cblock.c:748 ../bin/ccornu.c:2753 ../bin/ccornu.c:2966
+#: ../bin/cdraw.c:129 ../bin/cgroup.c:1077 ../bin/cpull.c:646
+#: ../bin/csignal.c:709 ../bin/cswitchmotor.c:668 ../bin/ctodesgn.c:2659
+#: ../bin/ctodesgn.c:3213 ../bin/ctrain.c:2512 ../bin/dcar.c:3965
+#: ../bin/dcar.c:4054 ../bin/dcar.c:4137 ../bin/dcar.c:4156 ../bin/dcar.c:4475
+#: ../bin/dcar.c:4895 ../bin/dcontmgm.c:161 ../bin/dcustmgm.c:153
+#: ../bin/misc.c:1328 ../bin/misc.c:1335 ../bin/misc.c:1407
+#: ../bin/track.c:1708 ../bin/track.c:1805 ../bin/track.c:1822
+msgid "No"
+msgstr "na"
+
+#: ../bin/cblock.c:749
+msgid "Delete Block"
+msgstr "Dileu bloc"
+
+#: ../bin/cblock.c:794
+#, c-format
+msgid "Deleting block %s"
+msgstr "Dileu bloc %s nawr"
+
+#: ../bin/cblock.c:810
+msgid "Modify Block"
+msgstr "Addasu bloc"
+
+#: ../bin/cblock.c:843
+msgid "Edit block"
+msgstr "Golygu bloc"
+
+#: ../bin/cblock.c:849
+#, c-format
+msgid "Edit block %d"
+msgstr "Golygu bloc %d"
+
+#: ../bin/ccontrol.c:169 ../bin/csensor.c:161 ../bin/csignal.c:236
+#: ../bin/ctrain.c:184
+msgid "Position"
+msgstr "Swydd"
+
+#: ../bin/ccontrol.c:170 ../bin/ccontrol.c:428
+msgid "On Script"
+msgstr "Ar sgript"
+
+#: ../bin/ccontrol.c:171 ../bin/ccontrol.c:430
+msgid "Off Script"
+msgstr "Oddi ar y sgript"
+
+#: ../bin/ccontrol.c:237
+msgid "Change Control"
+msgstr "Rheoli Newid"
+
+#: ../bin/ccontrol.c:279 ../bin/csensor.c:249
+#, c-format
+msgid "(%d [%s]): Layer=%u, at %0.3f,%0.3f"
+msgstr "(%d [%s]): Hean=%u, yn %0.3f,%0.3f"
+
+#: ../bin/ccontrol.c:292 ../bin/ccontrol.c:634
+msgid "Control"
+msgstr "Rheoli"
+
+#: ../bin/ccontrol.c:424 ../bin/csensor.c:388 ../bin/csignal.c:508
+msgid "Origin X"
+msgstr "Tarddiad X"
+
+#: ../bin/ccontrol.c:426 ../bin/csensor.c:390 ../bin/csignal.c:510
+msgid "Origin Y"
+msgstr "Tarddiad Y"
+
+#: ../bin/ccontrol.c:442
+msgid "Create Control"
+msgstr "Creu Rheolaeth"
+
+#: ../bin/ccontrol.c:445
+msgid "Modify Control"
+msgstr "Addasu Rheolaeth"
+
+#: ../bin/ccontrol.c:482
+msgid "Edit control"
+msgstr "Golygu Rheolaeth"
+
+#: ../bin/ccontrol.c:523
+msgid "Place control"
+msgstr "Rhowch Reolaeth"
+
+#: ../bin/ccornu.c:195 ../bin/ccornu.c:198 ../bin/ccornu.c:201
+#: ../bin/ccornu.c:255
+#, c-format
+msgid "%s FlexTrack"
+msgstr "%s Trac Hyblyg"
+
+#: ../bin/ccornu.c:249
+msgid " FLEX "
+msgstr "FLEX"
+
+#: ../bin/ccornu.c:897 ../bin/cjoin.c:962 ../bin/cmisc.c:57
+msgid "First"
+msgstr "Yn gyntaf"
+
+#: ../bin/ccornu.c:904 ../bin/cjoin.c:970
+msgid "Second"
+msgstr "Ail"
+
+#: ../bin/ccornu.c:975 ../bin/ccornu.c:1998 ../bin/ccornu.c:2028
+#: ../bin/tcornu.c:836 ../bin/tcornu.c:1321
+#, c-format
+msgid ""
+"Cornu Create Failed for p1[%0.3f,%0.3f] p2[%0.3f,%0.3f], c1[%0.3f,%0.3f] "
+"c2[%0.3f,%0.3f], a1=%0.3f a2=%0.3f, r1=%s r2=%s"
+msgstr ""
+"Methodd creu Cornu p1[%0.3f,%0.3f] p2[%0.3f,%0.3f], c1[%0.3f,%0.3f] "
+"c2[%0.3f,%0.3f], a1=%0.3f a2=%0.3f, r1=%s r2=%s"
+
+#: ../bin/ccornu.c:1011 ../bin/ccornu.c:1633 ../bin/ccornu.c:1652
+#: ../bin/tbezier.c:250 ../bin/tbezier.c:257 ../bin/tcornu.c:303
+#: ../bin/tcornu.c:308 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:176
+msgid "End Angle"
+msgstr "Ongl ddiwedd"
+
+#: ../bin/ccornu.c:1014 ../bin/ccornu.c:1632 ../bin/ccornu.c:1651
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:177
+msgid "End Radius"
+msgstr "Diwedd radiws"
+
+#: ../bin/ccornu.c:1067
+msgid "Select Point, or Add Point"
+msgstr "Dewis pwynt neu ychwanegu pwynt"
+
+#: ../bin/ccornu.c:1242
+msgid "Not close enough to track or point, reselect"
+msgstr "Ddim yn ddigon agos i dracio na phwyntio, ail-ddewis"
+
+#: ../bin/ccornu.c:1248
+msgid "Drag out end of Cornu"
+msgstr "Llusgwch ddiwedd Cornu"
+
+#: ../bin/ccornu.c:1250
+msgid "Drag along end of track"
+msgstr "Llusgwch ar hyd diwedd y trac"
+
+#: ../bin/ccornu.c:1252
+msgid "Drag to move"
+msgstr "Llusgwch i symud"
+
+#: ../bin/ccornu.c:1255
+msgid "Drag point to new location, Delete to remove"
+msgstr "Llusgwch i leoliad newydd, Dileu i gael gwared"
+
+#: ../bin/ccornu.c:1259
+msgid "Drag to change end radius"
+msgstr "Llusgwch i newid radiws diwedd"
+
+#: ../bin/ccornu.c:1262
+msgid "Drag to change end angle"
+msgstr "Llusgwch i newid ongl ddiwedd"
+
+#: ../bin/ccornu.c:1277
+msgid "Pick any circle to adjust or add - Enter to accept, Esc to cancel"
+msgstr ""
+"Dewiswch unrhyw gylch i'w addasu neu ei ychwanegu - Rhowch i dderbyn, Esc i "
+"ganslo"
+
+#: ../bin/ccornu.c:1289
+msgid "Track can't be split"
+msgstr "Ni ellir rhannu trac"
+
+#: ../bin/ccornu.c:1351
+msgid "Too close to other end of selected Track"
+msgstr "Yn rhy agos at ben arall y trac a ddewiswyd"
+
+#: ../bin/ccornu.c:1359
+msgid "Can't move end inside a turnout"
+msgstr "Can not move end within railway point"
+
+#: ../bin/ccornu.c:1500
+msgid "Can't extend connected Bezier or Cornu"
+msgstr "Ni all ymestyn Bezier neu Cornu cysylltiedig"
+
+#: ../bin/ccornu.c:1572
+#, c-format
+msgid ""
+"Cornu : Min Radius=%s MaxRateofCurveChange/Scale=%s Length=%s Winding Arc=%s"
+msgstr ""
+"Cornu : Radiws lleiaf=%s CyfraddNewidUchafCrymedd/Graddfa=%s Hyd=%s Arc "
+"Troellog=%s"
+
+#: ../bin/ccornu.c:1594 ../bin/ccornu.c:2267
+msgid "Helix Already Connected"
+msgstr "Helix eisoes wedi'i gysylltu"
+
+#: ../bin/ccornu.c:1608
+msgid "No Valid end point on that track"
+msgstr "Dim pwynt gorffen dilys ar y trac hwnnw"
+
+#: ../bin/ccornu.c:1613
+msgid "Track is different scale"
+msgstr "Mae trac ar raddfa wahanol"
+
+#: ../bin/ccornu.c:1666
+msgid ""
+"Pick on point to adjust it along track - Delete to remove, Enter to confirm,"
+" ESC to abort"
+msgstr ""
+"Dewis pwynt i'w addasu ar hyd y trac. Dileu i dynnu. Rhowch i mewn i "
+"gadarnhau. ESC i erthylu"
+
+#: ../bin/ccornu.c:1696
+msgid "Cornu has too complex shape - adjust end pts"
+msgstr "Mae gan Cornu siâp rhy gymhleth - newid pwyntiau gorffen"
+
+#: ../bin/ccornu.c:1707
+#, c-format
+msgid "Cornu point %d too close to other end of connect track - reposition it"
+msgstr "Pwynt Cornu%d yn rhy agos at ben arall y trac cysylltu - ei ail-leoli"
+
+#: ../bin/ccornu.c:1712
+msgid "Create Cornu"
+msgstr "Creu Cornu"
+
+#: ../bin/ccornu.c:1901
+msgid "Now Select or Add (+Shift) a Point"
+msgstr "Nawr Dewiswch neu Ychwanegu (+ Shift) Pwynt"
+
+#: ../bin/ccornu.c:1960
+#, c-format
+msgid "Cornu end %d too close to other end of connect track - reposition it"
+msgstr "Pen Cornu %d yn rhy agos at ben arall y trac cysylltu - ei ail-leoli"
+
+#: ../bin/ccornu.c:1965 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:175
+msgid "Modify Cornu"
+msgstr "Addasu Cornu"
+
+#: ../bin/ccornu.c:1980
+#, c-format
+msgid "Cornu Extension Create Failed for end %d"
+msgstr "Estyniad Cornu creu methwyd ar gyfer diwedd %d"
+
+#: ../bin/ccornu.c:2072
+#, c-format
+msgid "Connected Track End Adjust for end %d failed"
+msgstr "Methodd addasiad trac cysylltiedig ar gyfer diwedd %d "
+
+#: ../bin/ccornu.c:2083
+msgid "Modify Cornu Cancelled"
+msgstr "Addasu Cornu wedi'i ganslo"
+
+#: ../bin/ccornu.c:2243
+msgid "Left click - Start Cornu track"
+msgstr "Cliciwch ar y chwith - dechreuwch Trac Cornu"
+
+#: ../bin/ccornu.c:2245
+msgid "Left click - Place Flextrack"
+msgstr "Cliciwch ar y chwith - rhowch drac hyblyg"
+
+#: ../bin/ccornu.c:2248
+msgid "Left click - join with Cornu track"
+msgstr "Cliciwch ar y chwith - ymunwch â thrac Cornu"
+
+#: ../bin/ccornu.c:2250
+msgid "Left click - join with Cornu track, Shift Left click - move to join"
+msgstr ""
+"Cliciwch ar y chwith - ymunwch â thrac Cornu, Shift Chwith cliciwch - "
+"symudwch i ymuno"
+
+#: ../bin/ccornu.c:2281
+msgid "No valid open endpoint on that track"
+msgstr "Dim pwynt gorffen agored dilys ar y trac hwnnw"
+
+#: ../bin/ccornu.c:2309 ../bin/ccornu.c:2321
+msgid "Drag arm in the direction of track"
+msgstr "Llusgwch fraich i gyfeiriad y trac"
+
+#: ../bin/ccornu.c:2325
+msgid "No Unconnected Track End there"
+msgstr "Nid oes pen trac digyswllt yno"
+
+#: ../bin/ccornu.c:2336 ../bin/ccornu.c:2360
+msgid "No Valid Track End there"
+msgstr "Dim diwedd trac dilys yno"
+
+#: ../bin/ccornu.c:2348
+msgid "Locked - Move 1st end point of Cornu track along track 1"
+msgstr "Wedi'i gloi. Symud pwynt diwedd 1af trac Cornu ar hyd trac 1"
+
+#: ../bin/ccornu.c:2372
+msgid "Locked - Move 2nd end point of Cornu track along track 2"
+msgstr "Wedi'i gloi. Symud 2il bwynt diwedd trac Cornu ar hyd trac 2"
+
+#: ../bin/ccornu.c:2450
+msgid "Track can't be split - so locked to endpoint"
+msgstr "Ni ellir rhannu'r trac - felly wedi'i gloi i'r pwynt olaf"
+
+#: ../bin/ccornu.c:2455
+msgid "Point not on track 1"
+msgstr "Pwyntiwch ddim ar drac 1"
+
+#: ../bin/ccornu.c:2493
+msgid "Pick other end of Cornu"
+msgstr "Dewiswch ben arall Cornu"
+
+#: ../bin/ccornu.c:2495
+msgid ""
+"Select flextrack ends or anchors and drag, Enter to approve, Esc to Cancel"
+msgstr ""
+"Dewiswch draciau neu angorau trac hyblyg a'u llusgo. Rhowch i mewn i "
+"gymeradwyo. Esc i Ganslo"
+
+#: ../bin/ccornu.c:2499
+msgid "Put other end of Cornu on a track with an unconnected end point"
+msgstr "Rhowch ben arall Cornu ar drac gyda man gorffen digyswllt"
+
+#: ../bin/ccornu.c:2741 ../bin/ccornu.c:2955
+msgid "Not on a Track"
+msgstr "Ddim ar drac"
+
+#: ../bin/ccornu.c:2749
+msgid "Select a Track To Convert"
+msgstr "Dewiswch drac i'w drosi"
+
+#: ../bin/ccornu.c:2753
+msgid "Convert all Selected Tracks to Cornu Tracks?"
+msgstr "Trosi pob trac a ddewiswyd yn draciau Cornu?"
+
+#: ../bin/ccornu.c:2758
+msgid "Convert Cornu"
+msgstr "Trosi Cornu"
+
+#: ../bin/ccornu.c:2910
+#, c-format
+msgid "Tracks Counts: %d converted %d unconvertible %d created %d deleted"
+msgstr ""
+"Traciau'n Cyfrif: %d wedi'i drosi %d yn anghildroadwy%d wedi'i greu %d "
+"wedi'i ddileu"
+
+#: ../bin/ccornu.c:2910 ../bin/ccornu.c:3027
+msgid "OK"
+msgstr "Iawn"
+
+#: ../bin/ccornu.c:2962
+msgid "Select a Cornu or Bezier Track To Convert to Fixed"
+msgstr "Dewiswch drac Cornu neu Bezier i'w drawsnewid yn sefydlog"
+
+#: ../bin/ccornu.c:2966
+msgid "Convert all Selected Tracks to Fixed Tracks?"
+msgstr "Trosi'r holl draciau a ddewiswyd yn draciau sefydlog?"
+
+#: ../bin/ccornu.c:2976
+msgid "Convert Bezier and Cornu"
+msgstr "Trosi Bezier a Cornu"
+
+#: ../bin/ccornu.c:3027
+#, c-format
+msgid "Tracks Counts: %d converted %d unconvertible %d deleted"
+msgstr ""
+"Traciau'n Cyfrif: %d wedi'i drosi %d yn anghildroadwy %d wedi'i ddileu"
+
+#: ../bin/ccornu.c:3055
+msgid "Convert"
+msgstr "Trosi"
+
+#: ../bin/ccornu.c:3056
+msgid "Convert To Cornu"
+msgstr "Trosi i Cornu"
+
+#: ../bin/ccornu.c:3057
+msgid "Convert From Cornu"
+msgstr "Trosi o Cornu"
+
+#: ../bin/ccurve.c:163
+msgid "Drag from endpoint in direction of curve - lock to track open endpoint"
+msgstr ""
+"Llusgwch o'r man terfyn i gyfeiriad y gromlin - cloi i olrhain pwynt terfyn "
+"agored."
+
+#: ../bin/ccurve.c:165
+msgid "Drag from endpoint in direction of curve"
+msgstr "Llusgwch o'r man terfyn i gyfeiriad y gromlin"
+
+#: ../bin/ccurve.c:169
+msgid "Drag from endpoint to center - lock to track open endpoint"
+msgstr ""
+"Llusgwch o'r pwynt terfyn i'r canol - cloi i olrhain pwynt terfyn agored"
+
+#: ../bin/ccurve.c:171
+msgid "Drag from endpoint to center"
+msgstr "Llusgwch o'r pwynt terfyn i'r canol"
+
+#: ../bin/ccurve.c:174
+msgid "Drag from center to endpoint"
+msgstr "Llusgwch o'r canol i'r diweddbwynt"
+
+#: ../bin/ccurve.c:177
+msgid "Drag from one to other end of chord"
+msgstr "Llusgwch o un pen i'r llall o gord"
+
+#: ../bin/ccurve.c:236
+msgid "End locked: Drag out curve start"
+msgstr "Diwedd wedi'i gloi. Llusgwch gychwyn cromlin"
+
+#: ../bin/ccurve.c:237 ../bin/ccurve.c:247 ../bin/ccurve.c:265
+msgid "End Position locked: Drag out curve start with Shift"
+msgstr "Safle diwedd wedi'i gloi: Llusgwch y gromlin gan ddechrau gyda Shift"
+
+#: ../bin/ccurve.c:238
+msgid "Drag along curve start"
+msgstr "Llusgwch ar hyd cychwyn cromlin"
+
+#: ../bin/ccurve.c:246
+msgid "End locked: Drag out curve center"
+msgstr "Diwedd wedi'i gloi: Llusgwch y ganolfan gromlin"
+
+#: ../bin/ccurve.c:248
+msgid "Drag out curve center"
+msgstr "Llusgwch y ganolfan gromlin"
+
+#: ../bin/ccurve.c:255
+msgid "Drag out from center to endpoint"
+msgstr "Llusgwch allan o'r canol i'r diweddbwynt"
+
+#: ../bin/ccurve.c:264
+msgid "End locked: Drag to other end of chord"
+msgstr "Diwedd wedi'i gloi: Llusgwch i ben arall y cord"
+
+#: ../bin/ccurve.c:267
+msgid "Drag to other end of chord"
+msgstr "Llusgwch i ben arall y cord"
+
+#: ../bin/ccurve.c:322
+#, c-format
+msgid "Start Locked: Drag out curve start - Angle=%0.3f"
+msgstr "Cychwyn dan glo: Llusgwch gychwyn cromlin - Ongl=%0.3f"
+
+#: ../bin/ccurve.c:323
+#, c-format
+msgid "Drag out curve start - Angle=%0.3f"
+msgstr "Llusgwch gychwyn cromlin - Ongl=%0.3f"
+
+#: ../bin/ccurve.c:329
+#, c-format
+msgid "Tangent locked: Drag out center - Radius=%s Angle=%0.3f"
+msgstr "Tangent wedi'i gloi: Canol llusgo allan - Radiws=%s Ongl=%0.3f"
+
+#: ../bin/ccurve.c:330
+#, c-format
+msgid "Drag out center - Radius=%s Angle=%0.3f"
+msgstr "Canol llusgo allan - Radiws=%s Ongl=%0.3f"
+
+#: ../bin/ccurve.c:336
+#, c-format
+msgid "Drag to Edge: Radius=%s Angle=%0.3f"
+msgstr "Llusgwch i'r Ymyl: Radiws=%s Ongl=%0.3f"
+
+#: ../bin/ccurve.c:342
+#, c-format
+msgid "Start locked: Drag out chord length=%s angle=%0.3f"
+msgstr "Dechreuwch dan glo: Llusgwch hyd cord=%s ongl=%0.3f"
+
+#: ../bin/ccurve.c:343
+#, c-format
+msgid "Drag out chord length=%s angle=%0.3f"
+msgstr "Llusgwch hyd cord=%s ongl=%0.3f"
+
+#: ../bin/ccurve.c:414 ../bin/ccurve.c:582 ../bin/cjoin.c:669
+#: ../bin/cjoin.c:924
+msgid "Desired Radius"
+msgstr "Radiws Dymunol"
+
+#: ../bin/ccurve.c:512 ../bin/cjoin.c:208 ../bin/cmodify.c:600
+#: ../bin/cturntbl.c:625
+#, c-format
+msgid "Straight Track: Length=%s Angle=%0.3f"
+msgstr "Trac Syth: Hyd=%s Ongle=%0.3f"
+
+#: ../bin/ccurve.c:519 ../bin/cmodify.c:605 ../bin/drawgeom.c:663
+#: ../wlib/gtklib/ixhelp.c:235
+msgid "Back"
+msgstr "Yn ôl"
+
+#: ../bin/ccurve.c:539
+#, c-format
+msgid "Curved Track: Radius=%s Angle=%0.3f Length=%s"
+msgstr "Trac Crwm: Radiws=%s Ongl=%0.3f Hyd=%s"
+
+#: ../bin/ccurve.c:608 ../bin/cstraigh.c:171
+msgid "Create Straight Track"
+msgstr "Creu trac syth"
+
+#: ../bin/ccurve.c:621
+msgid "Create Curved Track"
+msgstr "Creu trac crwm"
+
+#: ../bin/ccurve.c:691
+msgid "Elevation Difference"
+msgstr "Gwahaniaeth drychiad"
+
+#: ../bin/ccurve.c:692 ../bin/cdraw.c:519 ../bin/cdraw.c:1514
+#: ../bin/cdraw.c:1660 ../bin/cdraw.c:2712 ../bin/cdraw.c:2907
+#: ../bin/cdraw.c:2921 ../bin/compound.c:686 ../bin/compound.c:691
+#: ../bin/compound.c:696 ../bin/compound.c:701 ../bin/ctodesgn.c:179
+#: ../bin/ctodesgn.c:180 ../bin/ctodesgn.c:181 ../bin/ctodesgn.c:182
+#: ../bin/ctodesgn.c:298 ../bin/ctodesgn.c:301 ../bin/ctodesgn.c:303
+#: ../bin/ctodesgn.c:364 ../bin/ctodesgn.c:365 ../bin/ctodesgn.c:370
+#: ../bin/ctodesgn.c:434 ../bin/ctodesgn.c:438 ../bin/ctodesgn.c:439
+#: ../bin/ctodesgn.c:445 ../bin/ctodesgn.c:614 ../bin/tbezier.c:251
+#: ../bin/tbezier.c:258 ../bin/tcornu.c:309 ../bin/tcurve.c:382
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:185
+msgid "Radius"
+msgstr "Radiws"
+
+#: ../bin/ccurve.c:693 ../bin/tcurve.c:383
+msgid "Turns"
+msgstr "Troi"
+
+#: ../bin/ccurve.c:694
+msgid "Angular Separation"
+msgstr "Gwahaniad Ongl"
+
+#: ../bin/ccurve.c:695 ../bin/celev.c:43 ../bin/compound.c:703
+#: ../bin/tbezier.c:263 ../bin/tcornu.c:316 ../bin/tcurve.c:389
+#: ../bin/tease.c:519 ../bin/tstraigh.c:92
+msgid "Grade"
+msgstr "Llethr"
+
+#: ../bin/ccurve.c:696
+msgid "Vertical Separation"
+msgstr "Atafaeliad fertigol"
+
+#: ../bin/ccurve.c:698
+msgid "Total Length"
+msgstr "Cyfanswm Hyd"
+
+#: ../bin/ccurve.c:774
+#, c-format
+msgid "Total Length %s"
+msgstr "Cyfanswm Hyd %s"
+
+#: ../bin/ccurve.c:812 ../bin/ccurve.c:1016 ../bin/tcurve.c:828
+msgid "Helix"
+msgstr "Helix"
+
+#: ../bin/ccurve.c:826
+msgid "Circle Radius"
+msgstr "Radiws Cylch"
+
+#: ../bin/ccurve.c:831
+msgid "Click on Circle Edge"
+msgstr "Cliciwch ar ymyl cylch"
+
+#: ../bin/ccurve.c:835
+msgid "Click on Circle Center"
+msgstr "Cliciwch ar y ganolfan gylch"
+
+#: ../bin/ccurve.c:867
+msgid "Drag to Center"
+msgstr "Llusgwch i'r canol"
+
+#: ../bin/ccurve.c:871
+msgid "Drag to Edge"
+msgstr "Llusgwch i'r ymyl"
+
+#: ../bin/ccurve.c:891 ../bin/ccurve.c:895
+#, c-format
+msgid "Radius=%s"
+msgstr "Radiws=%s"
+
+#: ../bin/ccurve.c:916
+msgid "Create Helix Track"
+msgstr "Creu trac helix"
+
+#: ../bin/ccurve.c:931
+msgid "Create Circle Track"
+msgstr "Creu trac cylch"
+
+#: ../bin/ccurve.c:986
+msgid "Curve Track"
+msgstr "Trac cromlin"
+
+#: ../bin/ccurve.c:986
+msgid "Curve Tracks"
+msgstr "Traciau cromlin"
+
+#: ../bin/ccurve.c:987
+msgid "Curve from End-Pt"
+msgstr "Cromlin o'r pwynt olaf"
+
+#: ../bin/ccurve.c:988
+msgid "Curve from Tangent"
+msgstr "Cromlin o tangiad"
+
+#: ../bin/ccurve.c:989
+msgid "Curve from Center"
+msgstr "Cromlin o'r canol"
+
+#: ../bin/ccurve.c:990
+msgid "Curve from Chord"
+msgstr "Cromlin o'r cord"
+
+#: ../bin/ccurve.c:991 ../bin/cdraw.c:3053
+msgid "Bezier Curve"
+msgstr "Cromlin Bezier"
+
+#: ../bin/ccurve.c:992
+msgid "Cornu Curve"
+msgstr "Cromlin Cornu"
+
+#: ../bin/ccurve.c:995 ../bin/tcurve.c:655
+msgid "Circle Track"
+msgstr "Trac cylch"
+
+#: ../bin/ccurve.c:995
+msgid "Circle Tracks"
+msgstr "Traciau cylch"
+
+#: ../bin/ccurve.c:996
+msgid "Fixed Radius Circle"
+msgstr "Cylch Radiws sefydlog"
+
+#: ../bin/ccurve.c:997
+msgid "Circle from Tangent"
+msgstr "Cylch o tangiad"
+
+#: ../bin/ccurve.c:998
+msgid "Circle from Center"
+msgstr "Cylch o canol"
+
+#: ../bin/cdraw.c:125
+msgid "Font Size must be > 0"
+msgstr "Rhaid i faint y ffont fod > 0"
+
+#: ../bin/cdraw.c:513
+msgid "First Point: X,Y"
+msgstr "Pwynt cyntaf: X,Y"
+
+#: ../bin/cdraw.c:514 ../bin/tcurve.c:381
+msgid "Center: X,Y"
+msgstr "Canol: X,Y"
+
+#: ../bin/cdraw.c:515 ../bin/tcurve.c:386
+msgid "Angular Length"
+msgstr "Hyd Ongl"
+
+#: ../bin/cdraw.c:516
+msgid "Line Angle"
+msgstr "Ongl Llinell"
+
+#: ../bin/cdraw.c:517 ../bin/tcurve.c:387
+msgid "CCW Angle"
+msgstr "CCW Ongle"
+
+#: ../bin/cdraw.c:518 ../bin/tcurve.c:388
+msgid "CW Angle"
+msgstr "CW Ongle"
+
+#: ../bin/cdraw.c:521 ../bin/cdraw.c:1511 ../bin/cdraw.c:1633
+#: ../bin/cprint.c:129 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:183
+msgid "Height"
+msgstr "Uchder"
+
+#: ../bin/cdraw.c:522 ../bin/cdraw.c:1509 ../bin/cdraw.c:1632
+#: ../bin/cdraw.c:2707 ../bin/cdraw.c:2965 ../bin/ctrain.c:187
+#: ../bin/dcar.c:2225 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:190
+msgid "Width"
+msgstr "Lled"
+
+#: ../bin/cdraw.c:523 ../bin/compound.c:706 ../bin/tstraigh.c:93
+msgid "Pivot"
+msgstr "Phwysbwynt"
+
+#: ../bin/cdraw.c:524
+msgid "Point Count"
+msgstr "Cyfrif Pwynt"
+
+#: ../bin/cdraw.c:525 ../bin/cdraw.c:2685 ../bin/ctodesgn.c:201
+#: ../bin/tbezier.c:265
+msgid "Line Width"
+msgstr "Lled y llinell"
+
+#: ../bin/cdraw.c:526 ../bin/cdraw.c:2714 ../bin/tbezier.c:264
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:376
+msgid "Line Type"
+msgstr "Math o linell"
+
+#: ../bin/cdraw.c:527 ../bin/cdraw.c:2687 ../bin/cdraw.c:2689
+#: ../bin/cdraw.c:2788 ../bin/cdraw.c:2821 ../bin/cmisc.c:123
+#: ../bin/ctext.c:66 ../bin/ctext.c:146 ../bin/ctodesgn.c:202
+#: ../bin/dcar.c:2221 ../bin/dlayer.c:580 ../bin/doption.c:563
+msgid "Color"
+msgstr "Lliw"
+
+#: ../bin/cdraw.c:528
+msgid "Filled"
+msgstr "Wedi'i lenwi"
+
+#: ../bin/cdraw.c:529
+msgid "Open End"
+msgstr "Diwedd Agored"
+
+#: ../bin/cdraw.c:530 ../bin/cmisc.c:146 ../bin/cmisc.c:147 ../bin/cmisc.c:148
+#: ../bin/cmisc.c:149 ../bin/ctext.c:68 ../bin/ctext.c:147
+msgid "Boxed"
+msgstr "Bocsio"
+
+#: ../bin/cdraw.c:531 ../bin/cdraw.c:1120 ../bin/cdraw.c:2721
+msgid "Lumber"
+msgstr "Pren"
+
+#: ../bin/cdraw.c:532
+msgid "Orientation"
+msgstr "Cyfeiriadedd"
+
+#: ../bin/cdraw.c:533 ../bin/cdraw.c:2703
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:638
+msgid "Size"
+msgstr "Maint"
+
+#: ../bin/cdraw.c:534
+msgid "Text Origin: X,Y"
+msgstr "Tarddiad Testun: X,Y"
+
+#: ../bin/cdraw.c:535
+msgid "Text Angle"
+msgstr "Ongl y Testun"
+
+#: ../bin/cdraw.c:536 ../bin/ctext.c:64 ../bin/ctext.c:145
+msgid "Font Size"
+msgstr "Maint y Ffont"
+
+#: ../bin/cdraw.c:537 ../bin/cdraw.c:1267 ../bin/ctext.c:268
+msgid "Text"
+msgstr "Testun"
+
+#: ../bin/cdraw.c:538
+msgid "Lock To Origin"
+msgstr "Cloi i Darddiad"
+
+#: ../bin/cdraw.c:539
+msgid "Rot Origin: X,Y"
+msgstr "Tarddiad cylchdro: X,Y"
+
+#: ../bin/cdraw.c:540
+msgid "Rotate By"
+msgstr "Cylchdroi Erbyn"
+
+#: ../bin/cdraw.c:541 ../bin/compound.c:712 ../bin/cturntbl.c:250
+#: ../bin/doption.c:99 ../bin/doption.c:100 ../bin/tbezier.c:267
+#: ../bin/tcornu.c:317 ../bin/tcurve.c:391 ../bin/tease.c:521
+#: ../bin/tstraigh.c:94 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:716
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:717
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:718
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:719
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:720
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:721
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:722
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:723
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:724
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:725
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:726
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:727
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:728
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:729
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:730
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:731
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:732
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:733
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:734
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:735
+msgid "Layer"
+msgstr "Haen"
+
+#: ../bin/cdraw.c:1105
+msgid "Straight Line"
+msgstr "Llinell syth"
+
+#: ../bin/cdraw.c:1110 ../bin/cdraw.c:3045
+msgid "Dimension Line"
+msgstr "Llinell Dimensiwn"
+
+#: ../bin/cdraw.c:1131 ../bin/cdraw.c:2722 ../bin/cdraw.c:3047
+msgid "Table Edge"
+msgstr "Ymyl bwrdd"
+
+#: ../bin/cdraw.c:1155 ../bin/cdraw.c:2727 ../bin/cdraw.c:2728
+#: ../bin/cdraw.c:2729
+msgid "Circle"
+msgstr "Cylch"
+
+#: ../bin/cdraw.c:1170
+msgid "Curved Line"
+msgstr "Llinell Grom"
+
+#: ../bin/cdraw.c:1192 ../bin/cdraw.c:2732 ../bin/cdraw.c:2733
+#: ../bin/cdraw.c:2734
+msgid "Filled Circle"
+msgstr "Cylch wedi'i Llenwi"
+
+#: ../bin/cdraw.c:1222
+msgid "Filled Rectangle"
+msgstr "Petryal wedi'i lenwi"
+
+#: ../bin/cdraw.c:1222
+msgid "Rectangle"
+msgstr "Petryal"
+
+#: ../bin/cdraw.c:1236 ../bin/cdraw.c:2738
+msgid "Polyline"
+msgstr "Polyline"
+
+#: ../bin/cdraw.c:1243 ../bin/cdraw.c:2736 ../bin/cdraw.c:3065
+msgid "Filled Polygon"
+msgstr "Polygon wedi'i Llenwi"
+
+#: ../bin/cdraw.c:1243 ../bin/cdraw.c:2731 ../bin/cdraw.c:3064
+msgid "Polygon"
+msgstr "Polygon"
+
+#: ../bin/cdraw.c:1273
+#, c-format
+msgid "%s(%d) Layer=%d"
+msgstr "%s(%d) Haen=%d"
+
+#: ../bin/cdraw.c:1293 ../bin/cdraw.c:2791 ../bin/compound.c:1097
+#: ../bin/doption.c:94 ../bin/tbezier.c:472
+msgid "Solid"
+msgstr "Solet"
+
+#: ../bin/cdraw.c:1294 ../bin/cdraw.c:2793 ../bin/compound.c:1098
+#: ../bin/doption.c:91 ../bin/tbezier.c:473
+msgid "Dash"
+msgstr "Dash"
+
+#: ../bin/cdraw.c:1295 ../bin/cdraw.c:2792 ../bin/compound.c:1099
+#: ../bin/tbezier.c:474
+msgid "Dot"
+msgstr "Dot"
+
+#: ../bin/cdraw.c:1296 ../bin/compound.c:1100 ../bin/tbezier.c:475
+msgid "DashDot"
+msgstr "DashDot"
+
+#: ../bin/cdraw.c:1297 ../bin/compound.c:1101 ../bin/tbezier.c:476
+msgid "DashDotDot"
+msgstr "DashDotDot"
+
+#: ../bin/cdraw.c:1298 ../bin/compound.c:1102 ../bin/tbezier.c:477
+msgid "CenterDot"
+msgstr "CenterDot"
+
+#: ../bin/cdraw.c:1299 ../bin/compound.c:1103 ../bin/tbezier.c:478
+msgid "PhantomDot"
+msgstr "PhantomDot"
+
+#: ../bin/cdraw.c:1304 ../bin/cdraw.c:2839
+msgid "Tiny"
+msgstr "Tiny"
+
+#: ../bin/cdraw.c:1305 ../bin/cdraw.c:2840
+msgid "Small"
+msgstr "Bach"
+
+#: ../bin/cdraw.c:1306 ../bin/cdraw.c:2841
+msgid "Medium"
+msgstr "Canolig"
+
+#: ../bin/cdraw.c:1307 ../bin/cdraw.c:2842
+msgid "Large"
+msgstr "Mawr"
+
+#: ../bin/cdraw.c:1504 ../bin/cdraw.c:1649 ../bin/cdraw.c:2710
+#: ../bin/cdraw.c:2928 ../bin/cdraw.c:2948 ../bin/cdraw.c:2952
+#: ../bin/compound.c:684 ../bin/compound.c:689 ../bin/compound.c:694
+#: ../bin/compound.c:699 ../bin/compound.c:705 ../bin/cprint.c:154
+#: ../bin/csignal.c:237 ../bin/csignal.c:512 ../bin/ctodesgn.c:187
+#: ../bin/ctodesgn.c:188 ../bin/ctodesgn.c:189 ../bin/ctodesgn.c:191
+#: ../bin/ctodesgn.c:236 ../bin/ctodesgn.c:259 ../bin/ctodesgn.c:261
+#: ../bin/ctodesgn.c:296 ../bin/ctodesgn.c:299 ../bin/ctodesgn.c:325
+#: ../bin/ctodesgn.c:328 ../bin/ctodesgn.c:362 ../bin/ctodesgn.c:367
+#: ../bin/ctodesgn.c:391 ../bin/ctodesgn.c:395 ../bin/ctodesgn.c:432
+#: ../bin/ctodesgn.c:436 ../bin/ctodesgn.c:441 ../bin/ctodesgn.c:467
+#: ../bin/ctodesgn.c:487 ../bin/ctodesgn.c:508 ../bin/ctodesgn.c:615
+#: ../bin/ctrain.c:185 ../bin/tease.c:514
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:181
+msgid "Angle"
+msgstr "Ongl"
+
+#: ../bin/cdraw.c:1507 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:186
+msgid "Relative Angle"
+msgstr "Ongl gymharol"
+
+#: ../bin/cdraw.c:1516 ../bin/cdraw.c:1664 ../bin/cdraw.c:2922
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:182
+msgid "Arc Angle"
+msgstr "Ongl arc"
+
+#: ../bin/cdraw.c:1518
+msgid "Rotate Angle"
+msgstr "Cylchdroi ongl"
+
+#: ../bin/cdraw.c:1521
+msgid "Rot Center X,Y"
+msgstr "Canolfan Rot X,Y"
+
+#: ../bin/cdraw.c:1620
+msgid "Seg Lth"
+msgstr "Hyd Seg"
+
+#: ../bin/cdraw.c:1621
+msgid "Rel Ang"
+msgstr "Ongl Rel"
+
+#: ../bin/cdraw.c:2692 ../bin/cdraw.c:2694 ../bin/cdraw.c:2819
+msgid "Lumber Type"
+msgstr "Math o bren"
+
+#: ../bin/cdraw.c:2719
+msgid "Straight"
+msgstr "Syth"
+
+#: ../bin/cdraw.c:2720
+msgid "Dimension"
+msgstr "Dimension"
+
+#: ../bin/cdraw.c:2723 ../bin/cdraw.c:2724 ../bin/cdraw.c:2725
+#: ../bin/cdraw.c:2726
+msgid "Curved"
+msgstr "Grom"
+
+#: ../bin/cdraw.c:2730 ../bin/cdraw.c:3062
+msgid "Box"
+msgstr "Blwch"
+
+#: ../bin/cdraw.c:2735 ../bin/cdraw.c:3063
+msgid "Filled Box"
+msgstr "Blwch wedi'i Llenwi"
+
+#: ../bin/cdraw.c:2737 ../bin/tbezier.c:469
+msgid "Bezier Line"
+msgstr "Llinell Bezier"
+
+#: ../bin/cdraw.c:2786
+#, c-format
+msgid "%s Line Width"
+msgstr "%s Lled Llinell"
+
+#: ../bin/cdraw.c:2789 ../bin/dcar.c:2194 ../bin/dcar.c:4373
+#: ../bin/dcar.c:4378
+msgid "Type"
+msgstr "Math"
+
+#: ../bin/cdraw.c:2794
+msgid "Dash-Dot"
+msgstr "Dash-Dot"
+
+#: ../bin/cdraw.c:2795
+msgid "Dash-Dot-Dot"
+msgstr "Dash-Dot-Dot"
+
+#: ../bin/cdraw.c:2808
+#, c-format
+msgid "%s Color"
+msgstr "%s Lliw"
+
+#: ../bin/cdraw.c:2837
+msgid "Dimension Line Size"
+msgstr "Maint Llinell Dimensiwn"
+
+#: ../bin/cdraw.c:2849
+msgid "Drag to create Table Edge"
+msgstr "Llusgwch i greu ymyl bwrdd"
+
+#: ../bin/cdraw.c:2946
+msgid "Seg Length"
+msgstr "Hyd seg"
+
+#: ../bin/cdraw.c:2950
+msgid "Rel Angle"
+msgstr "Ongl Rel"
+
+#: ../bin/cdraw.c:3044
+msgid "Line"
+msgstr "Linell"
+
+#: ../bin/cdraw.c:3044
+msgid "Draw Line"
+msgstr "Tynnu Llinell"
+
+#: ../bin/cdraw.c:3045
+msgid "Draw Dimension Line"
+msgstr "Tynnu Llinell Dimensiwn"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:479
+#: ../bin/cdraw.c:3046 ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1251
+msgid "Benchwork"
+msgstr "Sylfaen"
+
+#: ../bin/cdraw.c:3046
+msgid "Draw Benchwork"
+msgstr "Tynnu Baseboard"
+
+#: ../bin/cdraw.c:3047
+msgid "Draw Table Edge"
+msgstr "Tynnwch ymyl bwrdd"
+
+#: ../bin/cdraw.c:3049
+msgid "Curve End"
+msgstr "Diwedd cromlin"
+
+#: ../bin/cdraw.c:3049
+msgid "Draw Curve from End"
+msgstr "Tynnwch y gromlin o'r diwedd"
+
+#: ../bin/cdraw.c:3050
+msgid "Curve Tangent"
+msgstr "Cyffyrddiad cromlin"
+
+#: ../bin/cdraw.c:3050
+msgid "Draw Curve from Tangent"
+msgstr "Tynnwch y gromlin o'r tangiad"
+
+#: ../bin/cdraw.c:3051
+msgid "Curve Center"
+msgstr "Canolfan gromlin"
+
+#: ../bin/cdraw.c:3051
+msgid "Draw Curve from Center"
+msgstr "Tynnwch y gromlin o'r canol"
+
+#: ../bin/cdraw.c:3052
+msgid "Curve Chord"
+msgstr "Cord cromlin"
+
+#: ../bin/cdraw.c:3052
+msgid "Draw Curve from Chord"
+msgstr "Tynnwch gromlin o'r cord"
+
+#: ../bin/cdraw.c:3053
+msgid "Draw Bezier"
+msgstr "Tynnwch gromlin Bezier"
+
+#: ../bin/cdraw.c:3056
+msgid "Circle Center"
+msgstr "Canolfan Gylch"
+
+#: ../bin/cdraw.c:3056
+msgid "Draw Circle from Center"
+msgstr "Tynnwch gylch o'r canol"
+
+#: ../bin/cdraw.c:3057
+msgid "Circle Tangent"
+msgstr "Tangent Cylch"
+
+#: ../bin/cdraw.c:3057
+msgid "Draw Circle from Tangent"
+msgstr "Tynnwch gylch o Tangent"
+
+#: ../bin/cdraw.c:3059
+msgid "Circle Filled Center"
+msgstr "Canolfan wedi'i llenwi â chylch"
+
+#: ../bin/cdraw.c:3059
+msgid "Draw Filled Circle from Center"
+msgstr "Tynnwch gylch wedi'i lenwi o'r canol"
+
+#: ../bin/cdraw.c:3060
+msgid "Circle Filled Tangent"
+msgstr "Tangent Llenwi Cylch"
+
+#: ../bin/cdraw.c:3060
+msgid "Draw Filled Circle from Tangent"
+msgstr "Tynnwch gylch wedi'i lenwi o tangiad"
+
+#: ../bin/cdraw.c:3062
+msgid "Draw Box"
+msgstr "Blwch tynnu llun"
+
+#: ../bin/cdraw.c:3063
+msgid "Draw Filled Box"
+msgstr "Tynnu blwch wedi'i lenwi"
+
+#: ../bin/cdraw.c:3064
+msgid "Draw Polygon"
+msgstr "Tynnu polygon"
+
+#: ../bin/cdraw.c:3065
+msgid "Draw Filled Polygon"
+msgstr "Tynnu polygon wedi'i lenwi"
+
+#: ../bin/cdraw.c:3066
+msgid "PolyLine"
+msgstr "PolyLine"
+
+#: ../bin/cdraw.c:3066
+msgid "Draw PolyLine"
+msgstr "Tynnu polyline"
+
+#: ../bin/cdraw.c:3083
+msgid "Straight Objects"
+msgstr "Gwrthrychau syth"
+
+#: ../bin/cdraw.c:3083
+msgid "Draw Straight Objects"
+msgstr "Tynnwch luniau syth"
+
+#: ../bin/cdraw.c:3084
+msgid "Curved Lines"
+msgstr "Llinellau Crwm"
+
+#: ../bin/cdraw.c:3084
+msgid "Draw Curved Lines"
+msgstr "Tynnwch linellau crwm"
+
+#: ../bin/cdraw.c:3085
+msgid "Circle Lines"
+msgstr "Llinellau Cylch"
+
+#: ../bin/cdraw.c:3085
+msgid "Draw Circles"
+msgstr "Tynnu cylchoedd"
+
+#: ../bin/cdraw.c:3086
+msgid "Shapes"
+msgstr "Siapiau"
+
+#: ../bin/cdraw.c:3086
+msgid "Draw Shapes"
+msgstr "Tynnu siapiau"
+
+#: ../bin/cdraw.c:3380
+msgid "Close Polygon - 'g'"
+msgstr "Polygon agos - 'g'"
+
+#: ../bin/cdraw.c:3381
+msgid "Make PolyLine - 'l'"
+msgstr "Gwneud polyline - 'l'"
+
+#: ../bin/cdraw.c:3382
+msgid "Fill Polygon - 'f'"
+msgstr "Llenwch polyline - 'f'"
+
+#: ../bin/cdraw.c:3383
+msgid "Empty Polygon - 'u'"
+msgstr "Polyline gwag - 'u'"
+
+#: ../bin/cdraw.c:3385
+msgid "Points Mode - 'p'"
+msgstr "modd pwyntiau - 'p'"
+
+#: ../bin/cdraw.c:3386
+msgid "Delete Selected Point - 'Del'"
+msgstr "Dileu pwynt a ddewiswyd - 'Del'"
+
+#: ../bin/cdraw.c:3387
+msgid "Vertex Point - 'v'"
+msgstr "pwynt fertig - 'v'"
+
+#: ../bin/cdraw.c:3388
+msgid "Round Corner - 'r'"
+msgstr "Cornel gron - 'r'"
+
+#: ../bin/cdraw.c:3389
+msgid "Smooth Corner - 's'"
+msgstr "Cornel esmwyth - 's'"
+
+#: ../bin/cdraw.c:3391 ../bin/cselect.c:3701
+msgid "LineType..."
+msgstr "Math o linell ..."
+
+#: ../bin/cdraw.c:3392 ../bin/cselect.c:3702
+msgid "Solid Line"
+msgstr "Llinell solet"
+
+#: ../bin/cdraw.c:3393 ../bin/cselect.c:3703
+msgid "Dashed Line"
+msgstr "Llinell wedi'i chwalu"
+
+#: ../bin/cdraw.c:3394 ../bin/cselect.c:3704
+msgid "Dotted Line"
+msgstr "Llinell doredig"
+
+#: ../bin/cdraw.c:3395
+msgid "Dash-Dot Line"
+msgstr "Llinell Dash-Dot"
+
+#: ../bin/cdraw.c:3396
+msgid "Dash-Dot-Dot Line"
+msgstr "Llinell Dash-Dot-Dot"
+
+#: ../bin/cdraw.c:3397
+msgid "Center-Dot Line"
+msgstr "Llinell Center-Dot"
+
+#: ../bin/cdraw.c:3398
+msgid "Phantom-Dot Line"
+msgstr "Llinell ffantasi"
+
+#: ../bin/cdraw.c:3400
+msgid "Origin Mode - 'o'"
+msgstr "Modd Tarddiad - 'o'"
+
+#: ../bin/cdraw.c:3401
+msgid "Reset Origin - '0'"
+msgstr "Ailosod tarddiad - '0'"
+
+#: ../bin/cdraw.c:3402
+msgid "Origin to Selected - 'l'"
+msgstr "Tarddiad wedi'i ddewis - 'l'"
+
+#: ../bin/cdraw.c:3403
+msgid "Origin to Middle - 'm'"
+msgstr "Tarddiad i'r canol - 'm'"
+
+#: ../bin/celev.c:42 ../bin/cprint.c:115 ../bin/cprofile.c:1532
+#: ../bin/csplit.c:193 ../bin/csplit.c:198 ../bin/dease.c:64
+#: ../bin/doption.c:92 ../bin/doption.c:94
+msgid "None"
+msgstr "Dim"
+
+#: ../bin/celev.c:42
+msgid "Defined"
+msgstr "Diffiniedig"
+
+#: ../bin/celev.c:42
+msgid "Hidden"
+msgstr "Cudd"
+
+#: ../bin/celev.c:43
+msgid "Computed"
+msgstr "Wedi'i gyfrifo"
+
+#: ../bin/celev.c:43
+msgid "Station"
+msgstr "Gorsaf"
+
+#: ../bin/celev.c:43 ../bin/cprofile.c:1530 ../bin/dcmpnd.c:70
+msgid "Ignore"
+msgstr "Anwybyddu"
+
+#: ../bin/celev.c:215
+msgid "Set Elevation"
+msgstr "Drychiad gosod"
+
+#: ../bin/celev.c:305 ../bin/celev.c:312 ../bin/celev.c:315
+#, c-format
+msgid "Undefined"
+msgstr "Heb ei ddiffinio"
+
+#: ../bin/celev.c:359 ../bin/celev.c:502
+msgid "Elevation"
+msgstr "Drychiad"
+
+#: ../bin/celev.c:359 ../bin/cmisc.c:459 ../bin/dcontmgm.c:287
+#: ../bin/dcustmgm.c:378 ../bin/dlayer.c:1546 ../bin/dpricels.c:151
+#: ../bin/filenoteui.c:238 ../bin/linknoteui.c:177
+#: ../bin/paramfilesearch_ui.c:476 ../bin/textnoteui.c:166
+msgid "Done"
+msgstr "Wedi'i wneud"
+
+#: ../bin/celev.c:371
+msgid ""
+"Click on end, +Shift to split, +Ctrl to move description, +Alt to show "
+"elevation"
+msgstr ""
+"Cliciwch ar y diwedd, + Shift i hollti, + Ctrl i symud disgrifiad, + Alt i "
+"ddangos drychiad"
+
+#: ../bin/celev.c:391
+msgid "Move to end or track crossing +Shift to split"
+msgstr "Symud i ben neu olrhain croesfan + Shift i hollti"
+
+#: ../bin/celev.c:395
+msgid "Move to end or track crossing"
+msgstr "Symud i'r diwedd neu groesi trac"
+
+#: ../bin/celev.c:405
+#, c-format
+msgid "Crossing - First %0.3f, Second %0.3f, Clearance %0.3f - Click to Split"
+msgstr "Croesi - Cyntaf %0.3f, Ail%0.3f, Clirio %0.3f - Cliciwch i Hollti"
+
+#: ../bin/celev.c:407
+#, c-format
+msgid "Crossing - First %0.3f, Second %0.3f, Clearance %0.3f"
+msgstr "Croesi - Cyntaf %0.3f, Ail %0.3f, Clirio %0.3f"
+
+#: ../bin/celev.c:419
+#, c-format
+msgid "Click to split here - elevation %0.3f"
+msgstr "Cliciwch i rannu yma - drychiad %0.3f"
+
+#: ../bin/celev.c:424
+#, c-format
+msgid "Track End elevation %0.3f - snap End Pt"
+msgstr "Drychiad Diwedd y Trac %0.3f - snap Diwedd Pt"
+
+#: ../bin/celev.c:427
+#, c-format
+msgid "Track End elevation %0.3f"
+msgstr "Drychiad diwedd trac %0.3f"
+
+#: ../bin/celev.c:429 ../bin/celev.c:431
+msgid ""
+"Click on End Pt, +Shift to split, +Ctrl to move description, +Alt show "
+"Elevation"
+msgstr ""
+"Cliciwch ar End Pt, + Shift i hollti, + Ctrl i symud disgrifiad, + Alt yn "
+"dangos Drychiad"
+
+#: ../bin/celev.c:450
+msgid "Click on end, +Shift to split, +Ctrl to move description"
+msgstr "Cliciwch ar y diwedd. + Shift i hollti. + Ctrl i symud disgrifiad"
+
+#: ../bin/celev.c:454
+msgid "Split track"
+msgstr "Trac Hollt"
+
+#: ../bin/celev.c:459
+msgid "Track split!"
+msgstr "Hollt Trac!"
+
+#: ../bin/celev.c:465
+msgid "Point selected!"
+msgstr "Pwynt wedi'i ddewis!"
+
+#: ../bin/cgroup.c:611
+msgid "Ungroup Object"
+msgstr "Gwrthrych grwp"
+
+#: ../bin/cgroup.c:623
+#, c-format
+msgid "%d objects ungrouped"
+msgstr "%d gwrthrychau heb eu grwpio"
+
+#: ../bin/cgroup.c:625
+msgid "No objects ungrouped"
+msgstr "Dim gwrthrychau heb eu grwpio"
+
+#: ../bin/cgroup.c:637
+msgid "Replace with new group?"
+msgstr "Amnewid gyda grŵp newydd?"
+
+#: ../bin/cgroup.c:643 ../bin/compound.c:707 ../bin/cstruct.c:62
+#: ../bin/ctodesgn.c:193 ../bin/ctodesgn.c:2939 ../bin/cturnout.c:82
+#: ../bin/dcar.c:2186 ../bin/dcar.c:4373 ../bin/dcar.c:4378
+#: ../bin/dcmpnd.c:449 ../bin/dcustmgm.c:44
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:406
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:615
+msgid "Manufacturer"
+msgstr "Gwneuthurwr"
+
+#: ../bin/cgroup.c:644 ../bin/cmisc.c:459 ../bin/cstruct.c:62
+#: ../bin/ctodesgn.c:2940 ../bin/ctodesgn.c:2941 ../bin/ctrain.c:188
+#: ../bin/cturnout.c:82 ../bin/dcar.c:2202 ../bin/dcar.c:4374
+#: ../bin/dcar.c:4379 ../bin/dcmpnd.c:450 ../bin/dcustmgm.c:45
+#: ../bin/denum.c:184 ../bin/denum.c:185 ../bin/denum.c:188
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:407
+msgid "Description"
+msgstr "Disgrifiad"
+
+#: ../bin/cgroup.c:645 ../bin/dcmpnd.c:451
+msgid "#"
+msgstr "#"
+
+#: ../bin/cgroup.c:646 ../bin/compound.c:711
+msgid "# Segments"
+msgstr "# Segmentau"
+
+#: ../bin/cgroup.c:648
+msgid "Offset X,Y:"
+msgstr "Gwrthbwyso: X,Y"
+
+#: ../bin/cgroup.c:1216
+msgid "No endpts"
+msgstr "Dim pwyntiau diwedd"
+
+#: ../bin/cgroup.c:1326
+msgid "No paths"
+msgstr "Dim llwybrau"
+
+#: ../bin/cgroup.c:1597 ../bin/cgroup.c:1652
+msgid "Group Tracks"
+msgstr "Traciau grŵp"
+
+#: ../bin/cgroup.c:1715
+msgid "Group Objects"
+msgstr "Gwrthrychau grŵp"
+
+#: ../bin/chndldto.c:67
+msgid "Place frog and drag angle"
+msgstr "Rhowch ongl broga a llusgo"
+
+#: ../bin/chndldto.c:84
+msgid "frog"
+msgstr "Broga"
+
+#: ../bin/chndldto.c:90
+msgid "Drag to set angle"
+msgstr "Llusgwch i ongl osod"
+
+#: ../bin/chndldto.c:129
+#, c-format
+msgid "Angle = %0.2f Frog# = %0.2f"
+msgstr "Ongl = %0.2f Broga# = %0.2f"
+
+#: ../bin/chndldto.c:131
+msgid "Frog angle is too close to 0"
+msgstr "Mae ongl broga yn rhy agos at 0"
+
+#: ../bin/chndldto.c:134
+msgid "Select point position"
+msgstr "Dewiswch safle pwynt rheilffordd"
+
+#: ../bin/chndldto.c:146 ../bin/chndldto.c:171
+msgid "points"
+msgstr "Pwyntiau rheilffordd"
+
+#: ../bin/chndldto.c:268
+#, c-format
+msgid "Length = %0.2f Angle = %0.2f Frog# = %0.2f"
+msgstr "Hyd = %0.2f Ongl = %0.2f Broga# = %0.2f"
+
+#: ../bin/chndldto.c:271
+msgid "Create Hand Laid Turnout"
+msgstr "Creu pwyntiau rheilffordd wedi'u gosod â llaw"
+
+#: ../bin/chndldto.c:355
+msgid "HandLaidTurnout"
+msgstr "Pwyntiau rheilffordd wedi'u gosod â llaw"
+
+#: ../bin/cjoin.c:164
+#, c-format
+msgid "Curved Track: Radius=%s Length=%s"
+msgstr "Trac Crwm: Radiws=%s Hyd=%s"
+
+#: ../bin/cjoin.c:250
+#, c-format
+msgid "Curved Track: Radius=%s Length=%s Angle=%0.3f"
+msgstr "Trac Crwm: Radiws=%s Hyd=%s Ongl=%0.3f"
+
+#: ../bin/cjoin.c:346
+#, c-format
+msgid "Track (%d) is too short for transition-curve by %0.3f"
+msgstr "Trac (%d) yn rhy fyr ar gyfer cromlin trosglwyddo gan %0.3f"
+
+#: ../bin/cjoin.c:364
+#, c-format
+msgid "Connecting track is too short by %0.3f"
+msgstr "Mae'r trac cysylltu'n rhy fyr erbyn %0.3f"
+
+#: ../bin/cjoin.c:408
+msgid "Click on an unselected End-Point"
+msgstr "Cliciwch ar ddiweddbwynt heb ei ddewis"
+
+#: ../bin/cjoin.c:409
+msgid "Click on a selected End-Point"
+msgstr "Cliciwch ar ddiweddbwynt dethol"
+
+#: ../bin/cjoin.c:415
+msgid "unselected"
+msgstr "Heb ei ddewis"
+
+#: ../bin/cjoin.c:415 ../bin/cprint.c:160
+msgid "selected"
+msgstr "Wedi'i ddewis"
+
+#: ../bin/cjoin.c:472
+msgid "Left click - Select first draw object end"
+msgstr "Cliciwch ar y chwith - Dewiswch ddiwedd y gwrthrych tynnu cyntaf"
+
+#: ../bin/cjoin.c:512 ../bin/cjoin.c:546
+msgid "Not a line - Try again"
+msgstr "Ddim yn llinell - ceisiwch eto"
+
+#: ../bin/cjoin.c:542
+msgid "Left click - Select second object end"
+msgstr "Cliciwch ar y chwith - Dewiswch ddiwedd yr ail wrthrych"
+
+#: ../bin/cjoin.c:554
+msgid "Same draw object and same endpoint - Try again"
+msgstr "Yr un gwrthrych tynnu a'r un pwynt terfyn - Rhowch gynnig arall arni"
+
+#: ../bin/cjoin.c:596
+msgid "Create PolyLine"
+msgstr "Creu polyline"
+
+#: ../bin/cjoin.c:838
+msgid "Left click - join with track"
+msgstr "Cliciwch ar y chwith - ymunwch â'r trac"
+
+#: ../bin/cjoin.c:840
+msgid "Left click - join with track, Shift Left click - move to join"
+msgstr ""
+"Cliciwch ar y chwith - ymunwch â'r trac, Shift Chwith cliciwch - symudwch i "
+"ymuno"
+
+#: ../bin/cjoin.c:918 ../bin/cjoin.c:1337 ../bin/cjoin.c:1344
+msgid "Select 2nd track"
+msgstr "Dewiswch 2il drac"
+
+#: ../bin/cjoin.c:1147
+msgid "Beyond end of 2nd track"
+msgstr "Y tu hwnt i ddiwedd yr 2il drac"
+
+#: ../bin/cjoin.c:1182
+msgid "Beyond end of 1st track"
+msgstr "Y tu hwnt i ddiwedd y trac 1af"
+
+#: ../bin/cjoin.c:1204
+msgid "First Track Type not supported for non-Cornu Join"
+msgstr "Math o drac cyntaf heb ei gefnogi ar gyfer Ymuno nad yw'n Cornu"
+
+#: ../bin/cjoin.c:1211
+msgid "First "
+msgstr "Yn gyntaf"
+
+#: ../bin/cjoin.c:1236
+msgid "Second Track Type not supported for non-Cornu Join"
+msgstr "Ail fath o drac heb ei gefnogi ar gyfer ymuno nad yw'n Cornu"
+
+#: ../bin/cjoin.c:1243
+msgid "Second "
+msgstr "Ail"
+
+#: ../bin/cjoin.c:1257 ../bin/track.c:2335 ../bin/track.c:2371
+#: ../bin/track.c:2437
+msgid "Connecting "
+msgstr "Cysylltu"
+
+#: ../bin/cjoin.c:1347
+msgid "Join Tracks"
+msgstr "Ymunwch â thraciau"
+
+#: ../bin/cjoin.c:1435
+msgid "Join"
+msgstr "Ymunwch"
+
+#: ../bin/cjoin.c:1436
+msgid "Join Track"
+msgstr "Ymunwch â'r trac"
+
+#: ../bin/cjoin.c:1437
+msgid "Join Lines"
+msgstr "Ymunwch â llinellau"
+
+#: ../bin/cmisc.c:57
+msgid "Middle"
+msgstr "Canol"
+
+#: ../bin/cmisc.c:57 ../bin/macro.c:67
+msgid "End"
+msgstr "Diwedd"
+
+#: ../bin/cmisc.c:142 ../bin/tcurve.c:390 ../bin/tease.c:520
+msgid "Lock"
+msgstr "Clo"
+
+#: ../bin/cmisc.c:234 ../bin/cmodify.c:364 ../bin/compound.c:805
+#: ../bin/ctrain.c:219
+msgid "Change Track"
+msgstr "Newid trac"
+
+#: ../bin/cmisc.c:585
+msgid "Select track to describe +Shift for Frozen"
+msgstr "Dewiswch drac i'w ddisgrifio +Shift ar gyfer rhewi"
+
+#: ../bin/cmisc.c:686 ../bin/doption.c:236
+msgid "Properties"
+msgstr "Priodweddau"
+
+#: ../bin/cmisc2.c:52
+msgid "Bridge"
+msgstr "Pont"
+
+#: ../bin/cmodify.c:266
+msgid ""
+"Select a track to modify, Left-Click change length, Right-Click to add "
+"flextrack"
+msgstr ""
+"Dewiswch drac i'w addasu, Chwith-gliciwch hyd newid, De-gliciwch i ychwanegu"
+" trac hyblyg"
+
+#: ../bin/cmodify.c:490
+msgid "Modify Track"
+msgstr "Addasu trac"
+
+#: ../bin/cmodify.c:532
+msgid "Drag to add flex track"
+msgstr "Llusgwch i ychwanegu trac hyblyg"
+
+#: ../bin/cmodify.c:537
+msgid "No track to extend"
+msgstr "Dim trac i ymestyn"
+
+#: ../bin/cmodify.c:542
+msgid "No track selected"
+msgstr "Dim trac wedi'i ddewis"
+
+#: ../bin/cmodify.c:675
+#, c-format
+msgid "Curve Track: Radius=%s Length=%s Angle=%0.3f"
+msgstr "Trac cromlin: Radiws=%s Hyd=%s Ongl=%0.3f"
+
+#: ../bin/cmodify.c:690
+msgid "Extend Track"
+msgstr "Ymestyn trac"
+
+#: ../bin/cmodify.c:822
+msgid "Modify"
+msgstr "Addasu"
+
+#: ../bin/cmodify.c:830 ../bin/cselect.c:3654 ../bin/cselect.c:3671
+#: ../bin/misc.c:2444 ../bin/misc.c:2446
+msgid "Zoom In"
+msgstr "Chwyddo Mewn"
+
+#: ../bin/cmodify.c:831 ../bin/cselect.c:3658 ../bin/cselect.c:3672
+#: ../bin/misc.c:2448 ../bin/misc.c:2450
+msgid "Zoom Out"
+msgstr "Chwyddo allan"
+
+#: ../bin/cmodify.c:832
+msgid "Pan center - 'c'"
+msgstr "Canolfan sosban - 'c'"
+
+#: ../bin/cnote.c:67 ../bin/textnoteui.c:43 ../bin/trknote.c:55
+msgid "Note"
+msgstr "Nodyn"
+
+#: ../bin/cnote.c:73
+msgid "Replace this text with your layout notes"
+msgstr "Amnewid y testun hwn gyda'ch nodiadau cynllun"
+
+#: ../bin/compound.c:685 ../bin/compound.c:690 ../bin/compound.c:695
+#: ../bin/compound.c:700 ../bin/tbezier.c:252 ../bin/tbezier.c:259
+#: ../bin/tcornu.c:305 ../bin/tcornu.c:310
+msgid "Center X,Y"
+msgstr "Canolfan X,Y"
+
+#: ../bin/compound.c:687 ../bin/tbezier.c:253 ../bin/tcornu.c:306
+msgid "Z1"
+msgstr "Z1"
+
+#: ../bin/compound.c:692 ../bin/tbezier.c:260 ../bin/tcornu.c:311
+msgid "Z2"
+msgstr "Z2"
+
+#: ../bin/compound.c:693
+msgid "End Pt 3: X,Y"
+msgstr "Pwynt Diwedd 3: X,Y"
+
+#: ../bin/compound.c:697
+msgid "Z3"
+msgstr "Z3"
+
+#: ../bin/compound.c:698
+msgid "End Pt 4: X,Y"
+msgstr "Pwynt Diwedd 4: X,Y"
+
+#: ../bin/compound.c:702
+msgid "Z4"
+msgstr "Z4"
+
+#: ../bin/compound.c:704 ../bin/tease.c:513
+msgid "Origin: X,Y"
+msgstr "Tarddiad"
+
+#: ../bin/compound.c:709 ../bin/cstruct.c:62 ../bin/cturnout.c:82
+#: ../bin/dcar.c:4373 ../bin/dcar.c:4378 ../bin/dcustmgm.c:45
+#: ../bin/doption.c:97 ../bin/doption.c:98
+msgid "Part No"
+msgstr "Rhif Rhan"
+
+#: ../bin/compound.c:710
+msgid "LineType"
+msgstr "Math o linell"
+
+#: ../bin/compound.c:971 ../bin/cstruct.c:953 ../bin/cstruct.c:1149
+msgid "Structure"
+msgstr "Strwythur"
+
+#: ../bin/compound.c:973 ../bin/cswitchmotor.c:225 ../bin/cturnout.c:2949
+#: ../bin/cturnout.c:4836
+msgid "Turnout"
+msgstr "Pwynt rheilffordd"
+
+#: ../bin/compound.c:973
+msgid "Sectional Track"
+msgstr "Trac Adrannol"
+
+#: ../bin/compound.c:977
+#, c-format
+msgid "%s (%d) Layer= %d %s"
+msgstr "%s (%d) Haen= %d %s"
+
+#: ../bin/cparalle.c:49 ../bin/cparalle.c:97 ../bin/cparalle.c:138
+#: ../bin/ctodesgn.c:537 ../bin/ctodesgn.c:557 ../bin/ctodesgn.c:577
+#: ../bin/tcurve.c:384
+msgid "Separation"
+msgstr "Gwahanu"
+
+#: ../bin/cparalle.c:52 ../bin/cparalle.c:98
+msgid "Radius Factor"
+msgstr "Ffactor Radiws"
+
+#: ../bin/cparalle.c:139
+msgid "Radius factor"
+msgstr "Ffactor Radiws"
+
+#: ../bin/cparalle.c:152
+msgid " Track/Line doesn't support parallel"
+msgstr "Nid yw Track / Line yn cefnogi'n gyfochrog"
+
+#: ../bin/cparalle.c:226
+msgid "Create Parallel Track"
+msgstr "Creu trac cyfochrog"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:470
+#: ../bin/cparalle.c:296 ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1233
+msgid "Parallel"
+msgstr "Cyfochrog"
+
+#: ../bin/cparalle.c:297
+msgid "Parallel Track"
+msgstr "Trac cyfochrog"
+
+#: ../bin/cparalle.c:298
+msgid "Parallel Line"
+msgstr "Llinell gyfochrog"
+
+#: ../bin/cprint.c:108
+msgid "Portrait"
+msgstr "Portread"
+
+#: ../bin/cprint.c:108
+msgid "Landscape"
+msgstr "Tirwedd"
+
+#: ../bin/cprint.c:109 ../bin/cswitchmotor.c:90 ../bin/cswitchmotor.c:109
+#: ../bin/cswitchmotor.c:222 ../bin/dbench.c:73 ../bin/dease.c:64
+#: ../bin/doption.c:91 ../bin/doption.c:93 ../bin/macro.c:1391
+msgid "Normal"
+msgstr "Arferol"
+
+#: ../bin/cprint.c:109 ../bin/cswitchmotor.c:91 ../bin/cswitchmotor.c:110
+#: ../bin/cswitchmotor.c:223 ../bin/ctrain.c:942 ../bin/ctrain.c:1251
+msgid "Reverse"
+msgstr "Gwrthdroi"
+
+#: ../bin/cprint.c:110
+msgid "Engineering Data"
+msgstr "Data Peirianneg"
+
+#: ../bin/cprint.c:111
+msgid "Registration Marks (in 1:1 scale only)"
+msgstr "Marciau Cofrestru (ar raddfa 1:1 yn unig)"
+
+#: ../bin/cprint.c:112
+msgid "Page Numbers"
+msgstr "Rhif Tudalen"
+
+#: ../bin/cprint.c:113
+msgid "Ignore Page Margins"
+msgstr "Anwybyddu Ymylon Tudalennau"
+
+#: ../bin/cprint.c:114 ../bin/csnap.c:675 ../bin/doption.c:535
+msgid "Snap Grid"
+msgstr "Grid ffon"
+
+#: ../bin/cprint.c:115
+msgid "Layout Edge"
+msgstr "Cynllun Ymyl"
+
+#: ../bin/cprint.c:115
+msgid "Every Page"
+msgstr "Pob Tudalen"
+
+#: ../bin/cprint.c:116
+msgid "Roadbed Outline"
+msgstr "Amlinelliad gwely ffordd"
+
+#: ../bin/cprint.c:117
+msgid "Centerline below Scale 1:1"
+msgstr "Llinell ganol islaw graddfa 1:1"
+
+#: ../bin/cprint.c:126
+msgid "Print Scale"
+msgstr "Graddfa Argraffu"
+
+#: ../bin/cprint.c:127
+msgid "Page Width"
+msgstr "Lled y dudalen"
+
+#: ../bin/cprint.c:128
+msgid "Max"
+msgstr "Mwyafswm"
+
+#: ../bin/cprint.c:130
+msgid "Snap Shot"
+msgstr "Ciplun"
+
+#: ../bin/cprint.c:131
+msgid "Page Format"
+msgstr "Fformat tudalen"
+
+#: ../bin/cprint.c:132
+msgid "Print Order"
+msgstr "Archeb argraffu"
+
+#: ../bin/cprint.c:133
+msgid "Print "
+msgstr "Argraffu"
+
+#: ../bin/cprint.c:142
+msgid "Rulers:"
+msgstr "Rheolwyr:"
+
+#: ../bin/cprint.c:148
+msgid " Width"
+msgstr "Lled"
+
+#: ../bin/cprint.c:150
+msgid "Margins"
+msgstr "Ymylon"
+
+#: ../bin/cprint.c:151 ../bin/cturntbl.c:247
+msgid "Origin: X"
+msgstr "Tarddiad: X"
+
+#: ../bin/cprint.c:152 ../bin/csnap.c:508
+msgid "Y"
+msgstr "Y"
+
+#: ../bin/cprint.c:153 ../bin/cprint.c:616 ../bin/cprofile.c:708
+#: ../bin/dcar.c:2206
+msgid "Reset"
+msgstr "Ail gychwyn"
+
+#: ../bin/cprint.c:155
+msgid "Setup"
+msgstr "Sefydlu"
+
+#: ../bin/cprint.c:156 ../bin/cselect.c:3662 ../bin/misc.c:2479
+msgid "Select All"
+msgstr "Dewiswch y cyfan"
+
+#: ../bin/cprint.c:157 ../bin/cprofile.c:710 ../bin/layout.c:507
+#: ../bin/misc.c:806
+msgid "Clear"
+msgstr "Clir"
+
+#: ../bin/cprint.c:159
+msgid "0 pages"
+msgstr "0 Tudalennau"
+
+#: ../bin/cprint.c:186
+#, c-format
+msgid "%d page"
+msgstr "%d tudalen"
+
+#: ../bin/cprint.c:186
+#, c-format
+msgid "%d pages"
+msgstr "%d tudalennau"
+
+#: ../bin/cprint.c:407
+#, c-format
+msgid "PrintScale 1:%ld Room %s x %s Model Scale %s File %s"
+msgstr ""
+"Graddfa Argraffu 1:%ld Ystafell %s x %s Graddfa Enghreifftiol %s Ffeil "
+"%s"
+
+#: ../bin/cprint.c:712 ../bin/dbitmap.c:427 ../bin/filenoteui.c:147
+#: ../bin/misc.c:1328 ../bin/misc.c:1407 ../bin/param.c:2721
+#: ../bin/svgoutput.c:460 ../wlib/gtklib/browserhelp.c:96
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:634
+msgid "Cancel"
+msgstr "Canslo"
+
+#: ../bin/cprint.c:719
+msgid "Print Margins"
+msgstr "Argraffu Ymylon"
+
+#: ../bin/cprint.c:1383 ../bin/cprofile.c:712 ../bin/ctodesgn.c:2887
+#: ../bin/denum.c:51
+msgid "Print"
+msgstr "Argraffu"
+
+#: ../bin/cprint.c:1404
+msgid "Select pages to print, or drag to move print grid"
+msgstr ""
+"Dewiswch dudalennau i'w hargraffu, neu eu llusgo i symud y grid argraffu"
+
+#: ../bin/cprint.c:1505
+msgid "Print..."
+msgstr "Argraffu..."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:466
+#: ../bin/cprofile.c:610 ../bin/cprofile.c:1444 ../bin/cprofile.c:1524
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:126
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1225
+msgid "Profile"
+msgstr "Proffil"
+
+#: ../bin/cprofile.c:628
+#, c-format
+msgid "%s Profile: %s"
+msgstr "%s Proffil: %s"
+
+#: ../bin/cprofile.c:706 ../bin/misc.c:2010
+msgid "Change"
+msgstr "Newid"
+
+#: ../bin/cprofile.c:753 ../bin/cprofile.c:763
+#, c-format
+msgid "Elev = %0.1f"
+msgstr "Drychiad = %0.1f"
+
+#: ../bin/cprofile.c:765
+#, c-format
+msgid "Elev=%0.2f %0.1f%%"
+msgstr "Drychiad=%0.2f %0.1f%%"
+
+#: ../bin/cprofile.c:770
+#, c-format
+msgid "%0.1f%% Elev = %0.2f"
+msgstr "%0.1f%% Drychiad = %0.2f"
+
+#: ../bin/cprofile.c:775
+#, c-format
+msgid "%0.1f%% Elev = %0.2f %0.1f%%"
+msgstr "%0.1f%% Drychiad = %0.2f %0.1f%%"
+
+#: ../bin/cprofile.c:790 ../bin/cprofile.c:860 ../bin/cprofile.c:1396
+msgid "Profile Command"
+msgstr "Gorchymyn Proffil"
+
+#: ../bin/cprofile.c:799 ../bin/cprofile.c:1450
+msgid "Drag to change Elevation"
+msgstr "Llusgwch i newid drychiad"
+
+#: ../bin/cprofile.c:901
+msgid "Select a Defined Elevation to start Profile"
+msgstr "Dewiswch ddrychiad diffiniedig i gychwyn proffil"
+
+#: ../bin/cprofile.c:903
+msgid "Select a Defined Elevation to extend Profile"
+msgstr "Dewiswch ddrychiad diffiniedig i ymestyn proffil"
+
+#: ../bin/cprofile.c:1458
+msgid "Select a Defined Elevation to start profile"
+msgstr "Dewiswch ddrychiad diffiniedig i gychwyn proffil"
+
+#: ../bin/cprofile.c:1528
+msgid "Define"
+msgstr "Diffinio"
+
+#: ../bin/cpull.c:436 ../bin/cpull.c:592
+#, c-format
+msgid "%d tracks moved"
+msgstr "%d traciau wedi'u symud"
+
+#: ../bin/cpull.c:482
+msgid "Pull Tracks"
+msgstr "Tynnu traciau"
+
+#: ../bin/cpull.c:556
+msgid "Tighten Tracks"
+msgstr "Tynhau traciau"
+
+#: ../bin/cpull.c:643
+msgid "Connect Multiple Tracks - Select multiple tracks to join first"
+msgstr "Cysylltu traciau lluosog. Dewiswch draciau lluosog i ymuno yn gyntaf"
+
+#: ../bin/cpull.c:646
+msgid "Try to Connect all Selected Tracks?"
+msgstr "Ceisiwch gysylltu pob Trac a ddewiswyd?"
+
+#: ../bin/cpull.c:652
+msgid "ReConnect"
+msgstr "Ailgysylltu"
+
+#: ../bin/cpull.c:688
+#, c-format
+msgid ""
+"Round 1 %d and Round 2 %d tracks connected, %d close pairs of end Points "
+"were not connected"
+msgstr ""
+"Rownd 1 %d and Rownd 2 %d traciau wedi'u cysylltu, %d nid oedd parau agos o "
+"bwyntiau gorffen wedi'u cysylltu"
+
+#: ../bin/cpull.c:713
+msgid "Select first endpoint or turntable to connect, +Shift to tighten"
+msgstr ""
+"Dewiswch ddiweddbwynt cyntaf neu drofwrdd i gysylltu, + Shift i dynhau"
+
+#: ../bin/cpull.c:715
+msgid ""
+"Select first endpoint to connect, or Right-Click for connecting selected "
+"tracks (not turntable)"
+msgstr ""
+"Dewiswch ddiweddbwynt cyntaf i'w gysylltu, neu De-gliciwch ar gyfer cysylltu"
+" traciau dethol (nid trofwrdd)"
+
+#: ../bin/cpull.c:774
+msgid "Select second endpoint or turntable to connect"
+msgstr "Dewiswch ail ddiweddbwynt neu drofwrdd i gysylltu"
+
+#: ../bin/cpull.c:781
+msgid "Same Track! - please select another"
+msgstr "Yr un trac! - dewiswch un arall"
+
+#: ../bin/cpull.c:873
+msgid "Connect Two Tracks"
+msgstr "Cysylltu dau drac"
+
+#: ../bin/cpull.c:875
+msgid "Connect All Selected - 'S'"
+msgstr "Cysylltu Pob Dewis - 'S'"
+
+#: ../bin/cruler.c:372
+msgid "Measurement"
+msgstr "Mesur"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:477
+#: ../bin/cruler.c:373 ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1247
+msgid "Ruler"
+msgstr "Phren mesur"
+
+#: ../bin/cruler.c:374
+msgid "Protractor"
+msgstr "Gwrthdystiwr"
+
+#: ../bin/cselect.c:654
+msgid "Change Track Width"
+msgstr "Newid lled y trac"
+
+#: ../bin/cselect.c:679
+msgid "Change Line Type"
+msgstr "Newid math llinell"
+
+#: ../bin/cselect.c:704
+msgid "Delete only works in Select Mode"
+msgstr "Dileu dim ond gweithio yn y Modd Dewis"
+
+#: ../bin/cselect.c:718
+msgid "Delete Tracks"
+msgstr "Dileu traciau"
+
+#: ../bin/cselect.c:808
+msgid "Hide Tracks (Tunnel)"
+msgstr "Cuddio Traciau (Twnnel)"
+
+#: ../bin/cselect.c:826
+msgid "Bridge Tracks "
+msgstr "Traciau pont"
+
+#: ../bin/cselect.c:843
+msgid "Ties Tracks "
+msgstr "Traciau cysgwyr"
+
+#: ../bin/cselect.c:880 ../bin/misc.c:2617
+msgid "Move To Current Layer"
+msgstr "Symud i'r Haen Bresennol"
+
+#: ../bin/cselect.c:932 ../bin/misc.c:2784
+msgid "Clear Elevations"
+msgstr "Drychiadau Clir"
+
+#: ../bin/cselect.c:976
+msgid "Add Elevations"
+msgstr "Ychwanegu Drychiadau"
+
+#: ../bin/cselect.c:991
+msgid "Refresh Compound"
+msgstr "Adnewyddu Cyfansawdd"
+
+#: ../bin/cselect.c:1023 ../bin/dcar.c:4373 ../bin/dcar.c:4378
+#: ../bin/dcustmgm.c:45 ../bin/layout.c:498
+msgid "Scale"
+msgstr "Graddfa"
+
+#: ../bin/cselect.c:1023 ../bin/cselect.c:1048
+msgid "Ratio"
+msgstr "Cymhareb"
+
+#: ../bin/cselect.c:1032
+msgid "Do not resize track"
+msgstr "Peidiwch â newid maint y trac"
+
+#: ../bin/cselect.c:1036
+msgid "Rescale by:"
+msgstr "Ail-lunio gan:"
+
+#: ../bin/cselect.c:1038
+msgid "From:"
+msgstr "O:"
+
+#: ../bin/cselect.c:1042
+msgid "To: "
+msgstr "I:"
+
+#: ../bin/cselect.c:1109
+msgid "Rescale Tracks"
+msgstr "Traciau Ail-lunio"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:473
+#: ../bin/cselect.c:1252 ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1239
+msgid "Rescale"
+msgstr "Ail-lunio"
+
+#: ../bin/cselect.c:1597
+msgid "Cornu too tight - it was deleted"
+msgstr "Cornu yn rhy dynn, cafodd ei ddileu"
+
+#: ../bin/cselect.c:1652
+msgid "Move To Join"
+msgstr "Symud i Ymuno"
+
+#: ../bin/cselect.c:1844
+msgid "Drag to move selected tracks - Shift+Ctrl+Arrow micro-steps the move"
+msgstr ""
+"Llusgwch i symud traciau dethol - mae Shift + Ctrl + Arrow yn cam-symud y "
+"symud"
+
+#: ../bin/cselect.c:1865 ../bin/cselect.c:1994 ../bin/cselect.c:2370
+msgid "Move Tracks"
+msgstr "Symud Traciau"
+
+#: ../bin/cselect.c:2043
+msgid "Align: Click on a selected object to be aligned"
+msgstr "Alinio: Cliciwch ar wrthrych a ddewiswyd i'w alinio"
+
+#: ../bin/cselect.c:2081
+msgid "Drag to rotate selected tracks, Shift+RightClick for QuickRotate Menu"
+msgstr ""
+"Llusgwch i gylchdroi traciau dethol, Shift + De-gliciwch ar gyfer Dewislen "
+"Cylchdroi Cyflym"
+
+#: ../bin/cselect.c:2097 ../bin/cselect.c:2441
+msgid "Rotate Tracks"
+msgstr "Cylchdroi Traciau"
+
+#: ../bin/cselect.c:2111
+msgid "Center of Rotation snapped to Turntable center"
+msgstr "Canolfan Cylchdroi yn sownd i ganolfan Turntable"
+
+#: ../bin/cselect.c:2153 ../bin/cselect.c:2184
+#, c-format
+msgid "Angle %0.3f"
+msgstr "Ongle %0.3f"
+
+#: ../bin/cselect.c:2240
+#, c-format
+msgid "Angle %0.3f #%ld"
+msgstr "Ongle %0.3f #%ld"
+
+#: ../bin/cselect.c:2242
+#, c-format
+msgid "Angle %0.3f %s"
+msgstr "Ongle %0.3f %s"
+
+#: ../bin/cselect.c:2247
+msgid "Origin Set. Drag away to set start angle"
+msgstr "Tarddiad wedi'i osod. Llusgwch i ffwrdd i osod ongl gychwyn"
+
+#: ../bin/cselect.c:2261
+msgid "Align: Click on the 2nd unselected object"
+msgstr "Alinio: Cliciwch ar yr 2il wrthrych nas dewiswyd"
+
+#: ../bin/cselect.c:2381
+msgid "In module layer:"
+msgstr "Yn haen y modiwl:"
+
+#: ../bin/cselect.c:2388
+msgid "Frozen Layer:"
+msgstr "Haen wedi'i rewi"
+
+#: ../bin/cselect.c:2392
+msgid "Not found"
+msgstr "Heb ei ddarganfod"
+
+#: ../bin/cselect.c:2428
+msgid "Multiple Selected"
+msgstr "Dewis Lluosog"
+
+#: ../bin/cselect.c:2454
+msgid "Toggle Detail"
+msgstr "Toglo Manylion"
+
+#: ../bin/cselect.c:2469
+msgid "Toggle Label"
+msgstr "Label Ymlaen / Diffodd"
+
+#: ../bin/cselect.c:2632
+msgid "Elevation description"
+msgstr "Disgrifiad drychiad"
+
+#: ../bin/cselect.c:2639
+msgid "Hidden description - 's' to Show, 'd' Details"
+msgstr "Disgrifiad cudd - 's' i'w Ddangos, 'd' Manylion"
+
+#: ../bin/cselect.c:2642
+msgid "Shown description - 'h' to Hide"
+msgstr "Disgrifiad wedi'i ddangos - 'h' i'w Cuddio"
+
+#: ../bin/cselect.c:2650
+msgid "Select and drag a description"
+msgstr "Dewis a llusgo disgrifiad"
+
+#: ../bin/cselect.c:2689
+msgid "Hidden Label - Drag to reveal"
+msgstr "Label Cudd - Llusgwch i ddatgelu"
+
+#: ../bin/cselect.c:2691
+msgid "Drag label"
+msgstr "Llusgwch label"
+
+#: ../bin/cselect.c:2699
+msgid "Move Label"
+msgstr "Symud label"
+
+#: ../bin/cselect.c:2736
+msgid "To Hide, use Context Menu"
+msgstr "I Guddio, defnyddiwch Ddewislen Cyd-destun"
+
+#: ../bin/cselect.c:2769 ../bin/cselect.c:3692
+msgid "Show/Hide Description"
+msgstr "Dangos / Cuddio Disgrifiad"
+
+#: ../bin/cselect.c:2770
+msgid "Toggle Detailed Description"
+msgstr "Toglo disgrifiad manwl"
+
+#: ../bin/cselect.c:2851
+msgid "Drag to mark mirror line"
+msgstr "Llusgwch i dynnu llinell ddrych"
+
+#: ../bin/cselect.c:2862
+#, c-format
+msgid "Angle %0.2f"
+msgstr "Ongle %0.2f"
+
+#: ../bin/cselect.c:2865
+msgid "Flip Tracks"
+msgstr "Cefn Traciau"
+
+#: ../bin/cselect.c:3056 ../bin/cselect.c:3243
+msgid "Track is in Frozen Layer"
+msgstr "Mae'r trac mewn haen wedi'i rewi"
+
+#: ../bin/cselect.c:3216
+msgid "Select track"
+msgstr "Dewiswch Trac"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:439
+#: ../bin/cselect.c:3628 ../bin/dcar.c:1663 ../bin/doption.c:236
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1171
+msgid "Select"
+msgstr "Dewiswch"
+
+#: ../bin/cselect.c:3647 ../bin/cselect.c:3668 ../bin/misc.c:2439
+msgid "Undo"
+msgstr "Dadwneud"
+
+#: ../bin/cselect.c:3648 ../bin/cselect.c:3669 ../bin/misc.c:2441
+msgid "Redo"
+msgstr "Ail-wneud"
+
+#: ../bin/cselect.c:3655 ../bin/cselect.c:3673 ../bin/draw.c:3206
+msgid "Zoom to extents - 'e'"
+msgstr "Chwyddo i raddau - 'e'"
+
+#: ../bin/cselect.c:3656 ../bin/draw.c:3217 ../bin/misc.c:2646
+msgid "&Zoom"
+msgstr "&Chwyddo"
+
+#: ../bin/cselect.c:3659 ../bin/draw.c:3216
+msgid "Pan to Origin - 'o'/'0'"
+msgstr "Wedi'i osod i darddiad - 'o'/'0'"
+
+#: ../bin/cselect.c:3660 ../bin/cselect.c:3675
+msgid "Pan Center Here - 'c'"
+msgstr "Gosod canol yma - 'c'"
+
+#: ../bin/cselect.c:3663 ../bin/misc.c:2482 ../bin/misc.c:2623
+msgid "Select Current Layer"
+msgstr "Dewiswch haen gyfredol"
+
+#: ../bin/cselect.c:3674
+msgid "Zoom to selected - 's'"
+msgstr "Chwyddo i ddethol - 's'"
+
+#: ../bin/cselect.c:3678 ../bin/misc.c:2484
+msgid "Deselect All"
+msgstr "Dad-ddewiswch bawb"
+
+#: ../bin/cselect.c:3680
+msgid "Properties -'?'"
+msgstr "Priodweddau -'?'"
+
+#: ../bin/cselect.c:3681
+msgid "Modify/Activate Track"
+msgstr "Addasu / Ysgogi trac"
+
+#: ../bin/cselect.c:3683 ../bin/misc.c:2470
+msgid "Cut"
+msgstr "Torri"
+
+#: ../bin/cselect.c:3684 ../bin/misc.c:2472
+msgid "Copy"
+msgstr "Copi"
+
+#: ../bin/cselect.c:3685 ../bin/fileio.c:1591 ../bin/misc.c:2474
+msgid "Paste"
+msgstr "Gludo"
+
+#: ../bin/cselect.c:3686 ../bin/misc.c:2476
+msgid "Clone"
+msgstr "Clôn"
+
+#: ../bin/cselect.c:3688
+msgid "Rotate..."
+msgstr "Cylchdroi .."
+
+#: ../bin/cselect.c:3690
+msgid "Align"
+msgstr "Alinio"
+
+#: ../bin/cselect.c:3694
+msgid "Hide/NoHide"
+msgstr "Cuddio / Sioe"
+
+#: ../bin/cselect.c:3695
+msgid "Bridge/NoBridge"
+msgstr "Pont / Dim Pont"
+
+#: ../bin/cselect.c:3696
+msgid "NoTies/Ties"
+msgstr "Cwsgwyr / Dim Cysgu"
+
+#: ../bin/cselect.c:3697
+msgid "Thickness..."
+msgstr "Trwch..."
+
+#: ../bin/cselect.c:3698 ../bin/misc.c:2636
+msgid "Thin Tracks"
+msgstr "Traciau tenau"
+
+#: ../bin/cselect.c:3699 ../bin/misc.c:2637
+msgid "Medium Tracks"
+msgstr "Traciau canolig"
+
+#: ../bin/cselect.c:3700 ../bin/misc.c:2638
+msgid "Thick Tracks"
+msgstr "Traciau trwchus"
+
+#: ../bin/cselect.c:3705
+msgid "Dash-Dotted Line"
+msgstr "Llinell doredig dot"
+
+#: ../bin/cselect.c:3706
+msgid "Dash-Dot-Dotted Line"
+msgstr "Llinell doredig Dash-Dot"
+
+#: ../bin/cselect.c:3708
+msgid "Move To Front"
+msgstr "Symud i'r blaen"
+
+#: ../bin/cselect.c:3709
+msgid "Move To Back"
+msgstr "Symud yn ôl"
+
+#: ../bin/cselect.c:3711
+msgid "Group"
+msgstr "Grŵp"
+
+#: ../bin/cselect.c:3712
+msgid "UnGroup"
+msgstr "Di-grŵp"
+
+#: ../bin/cselect.c:3744
+msgid "Move Description"
+msgstr "Symud Disgrifiad"
+
+#: ../bin/cselect.c:3751 ../bin/misc.c:2072 ../bin/misc.c:2491
+msgid "Move"
+msgstr "Symud"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:484
+#: ../bin/cselect.c:3753 ../bin/misc.c:2049 ../bin/misc.c:2493
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1261
+msgid "Rotate"
+msgstr "Cylchdroi"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:485
+#: ../bin/cselect.c:3755 ../bin/dcar.c:2208
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1263
+msgid "Flip"
+msgstr "Gwrthdroi"
+
+#: ../bin/csensor.c:213
+msgid "Change Sensor"
+msgstr "Newid Synhwyrydd"
+
+#: ../bin/csensor.c:259 ../bin/csensor.c:590
+msgid "Sensor"
+msgstr "Synhwyrydd"
+
+#: ../bin/csensor.c:404
+msgid "Create Sensor"
+msgstr "Creu Synhwyrydd"
+
+#: ../bin/csensor.c:407
+msgid "Modify Sensor"
+msgstr "Addasu Synhwyrydd"
+
+#: ../bin/csensor.c:440
+msgid "Edit sensor"
+msgstr "Golygu Synhwyrydd"
+
+#: ../bin/csensor.c:478
+msgid "Place sensor"
+msgstr "Rhowch Synhwyrydd"
+
+#: ../bin/csignal.c:238
+msgid "Number Of Heads"
+msgstr "Nifer y Penaethiaid"
+
+#: ../bin/csignal.c:277
+msgid "Change Signal"
+msgstr "Newid Arwydd"
+
+#: ../bin/csignal.c:311
+#, c-format
+msgid "(%d [%s]): Layer=%u, %d heads at %0.3f,%0.3f A%0.3f"
+msgstr "(%d [%s]): Haen=%u, %d pennau yn %0.3f,%0.3f A%0.3f"
+
+#: ../bin/csignal.c:322 ../bin/csignal.c:908
+msgid "Signal"
+msgstr "Arwydd"
+
+#: ../bin/csignal.c:514
+msgid "Number of Heads"
+msgstr "Nifer y Penaethiaid"
+
+#: ../bin/csignal.c:519
+msgid "Edit Aspect"
+msgstr "Golygu Agwedd"
+
+#: ../bin/csignal.c:521
+msgid "Add Aspect"
+msgstr "Ychwanegu Agwedd"
+
+#: ../bin/csignal.c:523
+msgid "Delete Aspect"
+msgstr "Dileu Agwedd"
+
+#: ../bin/csignal.c:536
+msgid "Aspect Index"
+msgstr "Mynegai Agweddau"
+
+#: ../bin/csignal.c:551
+msgid "Create Signal"
+msgstr "Creu Arwydd"
+
+#: ../bin/csignal.c:555
+msgid "Modify Signal"
+msgstr "Addasu Arwydd"
+
+#: ../bin/csignal.c:662
+msgid "Edit aspect"
+msgstr "Golygu Agwedd"
+
+#: ../bin/csignal.c:709
+#, c-format
+msgid "Are you sure you want to delete the %d aspect(s)"
+msgstr "Ydych chi'n siŵr eich bod chi am ddileu'r %d agwedd(au) "
+
+#: ../bin/csignal.c:730
+msgid "Edit signal"
+msgstr "Golygu Arwydd"
+
+#: ../bin/csignal.c:792
+msgid "Place base of signal"
+msgstr "Rhowch sylfaen y signal"
+
+#: ../bin/csignal.c:800
+msgid "Drag to orient signal"
+msgstr "Llusgwch i gyfeiriadu signal"
+
+#: ../bin/csnap.c:489
+msgid "Horz"
+msgstr "Llor"
+
+#: ../bin/csnap.c:491
+msgid "Spacing"
+msgstr "Bylchau"
+
+#: ../bin/csnap.c:493
+msgid "Divisions"
+msgstr "Rhaniadau"
+
+#: ../bin/csnap.c:496
+msgid "Enable"
+msgstr "Galluogi"
+
+#: ../bin/csnap.c:497
+msgid "Vert"
+msgstr "Fertigol"
+
+#: ../bin/csnap.c:506 ../bin/dease.c:74
+msgid "X"
+msgstr "X"
+
+#: ../bin/csnap.c:510
+msgid "A"
+msgstr "A"
+
+#: ../bin/csnap.c:513
+msgid "Show"
+msgstr "Ddangos"
+
+#: ../bin/csnap.c:752
+msgid "Change Grid..."
+msgstr "Newid grid ..."
+
+#: ../bin/csplit.c:45
+msgid "Set Block Gaps"
+msgstr "Gosod bylchau bloc"
+
+#: ../bin/csplit.c:132
+msgid "Select track to split"
+msgstr "Dewiswch drac i'w hollti"
+
+#: ../bin/csplit.c:155
+msgid "Can't Split that Track Object"
+msgstr "Methu rhannu'r trac hwnnw"
+
+#: ../bin/csplit.c:163 ../bin/csplit.c:175 ../bin/csplit.c:474
+msgid "Split Track"
+msgstr "Trac hollt"
+
+#: ../bin/csplit.c:171 ../bin/csplit.c:294 ../bin/csplit.c:381
+msgid "Can't Split that Draw Object"
+msgstr "Methu rhannu'r gwrthrych tynnu hwnnw"
+
+#: ../bin/csplit.c:181
+msgid "No Track to Split"
+msgstr "Dim Trac i'w Hollti"
+
+#: ../bin/csplit.c:194 ../bin/dbench.c:64 ../bin/dbench.c:75
+msgid "Left"
+msgstr "Chwith"
+
+#: ../bin/csplit.c:195 ../bin/dbench.c:65 ../bin/dbench.c:74
+msgid "Right"
+msgstr "Reit"
+
+#: ../bin/csplit.c:196 ../bin/csplit.c:201
+msgid "Both"
+msgstr "Y ddau"
+
+#: ../bin/csplit.c:199
+msgid "Top"
+msgstr "Uchaf"
+
+#: ../bin/csplit.c:200
+msgid "Bottom"
+msgstr "Gwaelod"
+
+#: ../bin/csplit.c:280
+msgid "Select draw to split"
+msgstr "Dewiswch dynnu i'w rannu"
+
+#: ../bin/csplit.c:298 ../bin/csplit.c:475
+msgid "Split Draw"
+msgstr "Tynnu Hollt"
+
+#: ../bin/csplit.c:304
+msgid "No Draw to Split"
+msgstr "Dim Tynnu i'w Hollti"
+
+#: ../bin/csplit.c:342
+msgid "Select the draw object to Trim to"
+msgstr "Dewiswch y gwrthrych tynnu i Trimio ag ef"
+
+#: ../bin/csplit.c:357
+msgid "Can't Trim with a Track"
+msgstr "Methu Trimio gyda thrac"
+
+#: ../bin/csplit.c:362
+msgid "Select an intersecting draw object to Trim"
+msgstr "Dewiswch wrthrych tynnu croestoriadol i Trim"
+
+#: ../bin/csplit.c:368
+msgid "No Draw to Trim with"
+msgstr "Dim Tynnu i Drimio gyda"
+
+#: ../bin/csplit.c:375
+msgid "Can't Split a track object"
+msgstr "Methu Rhannu gwrthrych trac"
+
+#: ../bin/csplit.c:403 ../bin/csplit.c:476
+msgid "Trim Draw"
+msgstr "Tynnu trim"
+
+#: ../bin/csplit.c:408
+msgid "Select another draw object to Trim, or Space to Deselect"
+msgstr "Dewiswch wrthrych tynnu arall i Trim, neu Space to Deselect"
+
+#: ../bin/csplit.c:473
+msgid "Split"
+msgstr "Hollti"
+
+#: ../bin/cstraigh.c:75
+msgid "Place 1st endpoint of straight track, snap to unconnected endpoint"
+msgstr "Rhowch ddiweddbwynt 1af y trac syth, snap i'r pwynt terfyn digyswllt"
+
+#: ../bin/cstraigh.c:103
+msgid "Drag to place 2nd end point"
+msgstr "Llusgwch i osod 2il bwynt gorffen"
+
+#: ../bin/cstraigh.c:149
+#, c-format
+msgid "Straight Track Length=%s Angle=%0.3f"
+msgstr "Hyd Trac Syth=%s Ongle=%0.3f"
+
+#: ../bin/cstraigh.c:200 ../bin/tstraigh.c:225
+msgid "Straight Track"
+msgstr "Trac Syth"
+
+#: ../bin/cstruct.c:64 ../bin/cturnout.c:84 ../bin/doption.c:91
+#: ../bin/doption.c:241
+msgid "Hide"
+msgstr "Cuddio"
+
+#: ../bin/cstruct.c:479 ../bin/cstruct.c:506
+msgid "Pier Number"
+msgstr "Rhif y Pier"
+
+#: ../bin/cstruct.c:591
+#, c-format
+msgid "Scale %d:1"
+msgstr "Graddfa %d:1"
+
+#: ../bin/cstruct.c:593
+#, c-format
+msgid "Width %s"
+msgstr "Lled %s"
+
+#: ../bin/cstruct.c:595
+#, c-format
+msgid "Height %s"
+msgstr "Uchder %s"
+
+#: ../bin/cstruct.c:735
+msgid "Place Structure"
+msgstr "Strwythur Lle"
+
+#: ../bin/cstruct.c:828
+msgid "Drag to place"
+msgstr "Llusgwch i'w le"
+
+#: ../bin/cstruct.c:850
+msgid "Drag to rotate"
+msgstr "Llusgwch i gylchdroi"
+
+#: ../bin/cstruct.c:870
+#, c-format
+msgid "Angle = %0.3f"
+msgstr "Ongle = %0.3f"
+
+#: ../bin/cstruct.c:880 ../bin/cstruct.c:1126 ../bin/cturnout.c:4699
+#: ../bin/cturnout.c:4751 ../bin/cturnout.c:4882 ../bin/cturnout.c:5021
+msgid ""
+"Left-Drag to place, Ctrl+Left-Drag or Right-Drag to Rotate, Space or Enter "
+"to accept, Esc to Cancel"
+msgstr ""
+"Llusg-Chwith i'w gosod, Ctrl + Llusg Chwith neu Llusgwch Dde i Gylchdroi, "
+"Gofod neu Fynd i dderbyn, Esc i Ganslo"
+
+#: ../bin/cstruct.c:953 ../bin/cturnout.c:4836 ../bin/param.c:2721
+msgid "Close"
+msgstr "Caewch"
+
+#: ../bin/cstruct.c:970
+msgid "Select Structure and then drag to place"
+msgstr "Dewiswch Strwythur ac yna llusgwch i'w le"
+
+#: ../bin/cstruct.c:1009
+msgid ""
+"Left drag to move, right drag to rotate, or press Return or click Ok to "
+"finalize"
+msgstr ""
+"Llusgwch chwith i symud, llusgwch y dde i gylchdroi, neu pwyswch Return neu "
+"cliciwch Ok i gwblhau"
+
+#: ../bin/cstruct.c:1096 ../bin/cturnout.c:4988
+#, c-format
+msgid "Place %s and draw into position"
+msgstr "LLe %s a thynnu i'w safle"
+
+#: ../bin/cswitchmotor.c:92 ../bin/cswitchmotor.c:111
+#: ../bin/cswitchmotor.c:224
+msgid "Point Sense"
+msgstr "Synnwyr Pwynt"
+
+#: ../bin/cswitchmotor.c:112
+msgid "Turnout Number"
+msgstr "Rhif Pwynt Rheilffordd"
+
+#: ../bin/cswitchmotor.c:289
+msgid "Change Switch Motor"
+msgstr "Newid modur pwynt"
+
+#: ../bin/cswitchmotor.c:356
+msgid "Switch motor"
+msgstr "Modur pwynt"
+
+#: ../bin/cswitchmotor.c:472
+#, c-format
+msgid "ResolveSwitchmotor: Turnout T%d: T%d doesn't exist"
+msgstr "ResolveSwitchmotor: Pwynt T%d: T%dddim yn bodoli"
+
+#: ../bin/cswitchmotor.c:541 ../bin/cswitchmotor.c:712
+msgid "Switch motor must have a name!"
+msgstr "Rhaid bod enw i fodur pwynt!"
+
+#: ../bin/cswitchmotor.c:545
+msgid "Create Switch Motor"
+msgstr "Creu modur Point"
+
+#: ../bin/cswitchmotor.c:577
+msgid "Create switch motor"
+msgstr "Creu modur Point"
+
+#: ../bin/cswitchmotor.c:591 ../bin/cswitchmotor.c:623
+#: ../bin/cswitchmotor.c:655
+msgid "Select a turnout"
+msgstr "Dewiswch bwynt"
+
+#: ../bin/cswitchmotor.c:599
+msgid "Not a turnout!"
+msgstr "Ddim yn bwynt!"
+
+#: ../bin/cswitchmotor.c:632 ../bin/cswitchmotor.c:663
+msgid "Not a switch motor!"
+msgstr "Ddim yn fodur pwynt!"
+
+#: ../bin/cswitchmotor.c:668
+#, c-format
+msgid "Really delete switch motor %s?"
+msgstr "Dileu modur switsh mewn gwirionedd %s?"
+
+#: ../bin/cswitchmotor.c:669
+msgid "Delete Switch Motor"
+msgstr "Dileu modur pwynt"
+
+#: ../bin/cswitchmotor.c:716
+msgid "Modify Switch Motor"
+msgstr "Addasu modur pwynt"
+
+#: ../bin/cswitchmotor.c:742
+msgid "Edit switch motor"
+msgstr "Golygu modur pwynt"
+
+#: ../bin/cswitchmotor.c:748
+#, c-format
+msgid "Edit switch motor %d"
+msgstr "Golygu modur pwynt %d"
+
+#: ../bin/cswitchmotor.c:852
+msgid "Switch Motor"
+msgstr "Modur pwynt"
+
+#: ../bin/cswitchmotor.c:865
+#, c-format
+msgid "Deleting Switch Motor %s"
+msgstr "Dileu modur pwynt %s"
+
+#: ../bin/ctext.c:194 ../bin/ctext.c:239
+msgid "Create Text"
+msgstr "Creu Testun"
+
+#: ../bin/ctext.c:270
+msgid "Fonts..."
+msgstr "Ffontiau..."
+
+#: ../bin/ctodesgn.c:135
+msgid "Frog #"
+msgstr "Broga #"
+
+#: ../bin/ctodesgn.c:135
+msgid "Degrees"
+msgstr "Graddau"
+
+#: ../bin/ctodesgn.c:136
+msgid "Dual Path"
+msgstr "Llwybr deuol"
+
+#: ../bin/ctodesgn.c:136
+msgid "Quad Path"
+msgstr "Llwybr cwad"
+
+#: ../bin/ctodesgn.c:174 ../bin/ctodesgn.c:175 ../bin/ctodesgn.c:176
+#: ../bin/ctodesgn.c:177 ../bin/ctodesgn.c:237 ../bin/ctodesgn.c:260
+#: ../bin/ctodesgn.c:262 ../bin/ctodesgn.c:297 ../bin/ctodesgn.c:300
+#: ../bin/ctodesgn.c:326 ../bin/ctodesgn.c:327 ../bin/ctodesgn.c:363
+#: ../bin/ctodesgn.c:366 ../bin/ctodesgn.c:392 ../bin/ctodesgn.c:394
+#: ../bin/ctodesgn.c:433 ../bin/ctodesgn.c:437 ../bin/ctodesgn.c:440
+#: ../bin/ctodesgn.c:652
+msgid "Offset"
+msgstr "Gwrthbwyso"
+
+#: ../bin/ctodesgn.c:195 ../bin/ctodesgn.c:2934 ../bin/ctodesgn.c:2935
+msgid "Left Description"
+msgstr "Disgrifiad Chwith"
+
+#: ../bin/ctodesgn.c:196 ../bin/ctodesgn.c:199
+msgid " #"
+msgstr " #"
+
+#: ../bin/ctodesgn.c:198 ../bin/ctodesgn.c:2933
+msgid "Right Description"
+msgstr "Disgrifiad Cywir"
+
+#: ../bin/ctodesgn.c:200
+msgid "Roadbed Width"
+msgstr "Lled gwely ffordd"
+
+#: ../bin/ctodesgn.c:204 ../bin/denum.c:52
+msgid "Print Setup"
+msgstr "Gosodiadau Argraffu"
+
+#: ../bin/ctodesgn.c:235
+msgid "Diverging Length"
+msgstr "Hyd Amrywiol"
+
+#: ../bin/ctodesgn.c:236
+msgid "Diverging Angle"
+msgstr "Ongl Plymio"
+
+#: ../bin/ctodesgn.c:237
+msgid "Diverging Offset"
+msgstr "Gwrthbwyso Amrywiol"
+
+#: ../bin/ctodesgn.c:238
+msgid "Overall Length"
+msgstr "Hyd Cyffredinol"
+
+#: ../bin/ctodesgn.c:248
+msgid "Regular Turnout"
+msgstr "Pwynt Rheolaidd"
+
+#: ../bin/ctodesgn.c:258 ../bin/ctodesgn.c:295
+msgid "Inner Length"
+msgstr "Hyd Mewnol"
+
+#: ../bin/ctodesgn.c:259 ../bin/ctodesgn.c:296
+msgid "Inner Angle"
+msgstr "Ongl Fewnol"
+
+#: ../bin/ctodesgn.c:260 ../bin/ctodesgn.c:297
+msgid "Inner Offset"
+msgstr "Gwrthbwyso Mewnol"
+
+#: ../bin/ctodesgn.c:261 ../bin/ctodesgn.c:299
+msgid "Outer Angle"
+msgstr "Ongl Allanol"
+
+#: ../bin/ctodesgn.c:262 ../bin/ctodesgn.c:300
+msgid "Outer Offset"
+msgstr "Gwrthbwyso Allanol"
+
+#: ../bin/ctodesgn.c:263 ../bin/ctodesgn.c:302
+msgid "Outer Length"
+msgstr "Hyd Allanol"
+
+#: ../bin/ctodesgn.c:285
+msgid "Curved Turnout"
+msgstr "Pwynt Crwm"
+
+#: ../bin/ctodesgn.c:298
+msgid "Inner Radius"
+msgstr "Radiws Mewnol"
+
+#: ../bin/ctodesgn.c:301
+msgid "Outer Radius"
+msgstr "Radiws Allanol"
+
+#: ../bin/ctodesgn.c:303 ../bin/ctodesgn.c:370 ../bin/ctodesgn.c:445
+msgid "Toe Radius"
+msgstr "Radiws bysedd traed"
+
+#: ../bin/ctodesgn.c:304 ../bin/ctodesgn.c:369
+msgid "Toe Length"
+msgstr "Hyd bysedd traed"
+
+#: ../bin/ctodesgn.c:314
+msgid "Cornu Curved Turnout"
+msgstr "Pwynt crwm Cornu"
+
+#: ../bin/ctodesgn.c:324 ../bin/ctodesgn.c:361 ../bin/ctodesgn.c:390
+#: ../bin/ctodesgn.c:431
+msgid "Left Length"
+msgstr "Hyd Chwith"
+
+#: ../bin/ctodesgn.c:325 ../bin/ctodesgn.c:362 ../bin/ctodesgn.c:391
+#: ../bin/ctodesgn.c:432
+msgid "Left Angle"
+msgstr "Ongle Chwith"
+
+#: ../bin/ctodesgn.c:326 ../bin/ctodesgn.c:363 ../bin/ctodesgn.c:392
+#: ../bin/ctodesgn.c:433
+msgid "Left Offset"
+msgstr "Gwrthbwyso Chwith"
+
+#: ../bin/ctodesgn.c:327 ../bin/ctodesgn.c:366 ../bin/ctodesgn.c:394
+#: ../bin/ctodesgn.c:440
+msgid "Right Offset"
+msgstr "Gwrthbwyso Iawn"
+
+#: ../bin/ctodesgn.c:328 ../bin/ctodesgn.c:367 ../bin/ctodesgn.c:395
+#: ../bin/ctodesgn.c:441
+msgid "Right Angle"
+msgstr "Ongl Dde"
+
+#: ../bin/ctodesgn.c:329 ../bin/ctodesgn.c:368 ../bin/ctodesgn.c:396
+#: ../bin/ctodesgn.c:442
+msgid "Right Length"
+msgstr "Hyd Iawn"
+
+#: ../bin/ctodesgn.c:351
+msgid "Wye Turnout"
+msgstr "Pwynt Gwy"
+
+#: ../bin/ctodesgn.c:364 ../bin/ctodesgn.c:434
+msgid "Left Radius"
+msgstr "Radiws Chwith"
+
+#: ../bin/ctodesgn.c:365 ../bin/ctodesgn.c:439
+msgid "Right Radius"
+msgstr "Radiws Cywir"
+
+#: ../bin/ctodesgn.c:380
+msgid "Cornu Wye Turnout"
+msgstr "Pwynt Gwy Cornu"
+
+#: ../bin/ctodesgn.c:421
+msgid "3-way Turnout"
+msgstr "Pwynt 3-ffordd"
+
+#: ../bin/ctodesgn.c:435
+msgid "Center Length"
+msgstr "Hyd y Ganolfan"
+
+#: ../bin/ctodesgn.c:436
+msgid "Center Angle"
+msgstr "Ongl y Ganolfan"
+
+#: ../bin/ctodesgn.c:437 ../bin/dcar.c:2229
+msgid "Center Offset"
+msgstr "Gwrthbwyso'r Ganolfan"
+
+#: ../bin/ctodesgn.c:438
+msgid "Center Radius"
+msgstr "Radiws y Ganolfan"
+
+#: ../bin/ctodesgn.c:443
+msgid "Toe Length Left"
+msgstr "Hyd y Toe Chwith"
+
+#: ../bin/ctodesgn.c:444
+msgid "Toe Length Right"
+msgstr "Hyd y Toe yn iawn"
+
+#: ../bin/ctodesgn.c:456
+msgid "Cornu 3-way Turnout"
+msgstr "Pwynt 3-ffordd Cornu"
+
+#: ../bin/ctodesgn.c:476
+msgid "Crossing"
+msgstr "Groesfan"
+
+#: ../bin/ctodesgn.c:497
+msgid "Single Slipswitch"
+msgstr "Pwynt Llithro Sengl"
+
+#: ../bin/ctodesgn.c:526
+msgid "Double Slipswitch"
+msgstr "Pwynt Llithro Dwbl"
+
+#: ../bin/ctodesgn.c:546
+msgid "Right Crossover"
+msgstr "Croesfan dde"
+
+#: ../bin/ctodesgn.c:566
+msgid "Left Crossover"
+msgstr "Croesfan chwith"
+
+#: ../bin/ctodesgn.c:586
+msgid "Double Crossover"
+msgstr "Croesfan ddwbl"
+
+#: ../bin/ctodesgn.c:604
+msgid "Straight Section"
+msgstr "Adran Syth"
+
+#: ../bin/ctodesgn.c:615
+msgid "Angle (Degrees)"
+msgstr "Ongl (Graddau)"
+
+#: ../bin/ctodesgn.c:623
+msgid "Curved Section"
+msgstr "Adran Grom"
+
+#: ../bin/ctodesgn.c:642
+msgid "Bumper Section"
+msgstr "Adran Clustogi"
+
+#: ../bin/ctodesgn.c:652 ../bin/denum.c:123 ../bin/denum.c:188
+#: ../bin/denum.c:220 ../bin/denum.c:221
+msgid "Count"
+msgstr "Cyfrif"
+
+#: ../bin/ctodesgn.c:653
+msgid "Radius1"
+msgstr "Radiws1"
+
+#: ../bin/ctodesgn.c:654
+msgid "Radius2"
+msgstr "Radiws2"
+
+#: ../bin/ctodesgn.c:734
+msgid "Turntable Section"
+msgstr "Adran Trofwrdd "
+
+#: ../bin/ctodesgn.c:2571
+#, c-format
+msgid "%s Designer"
+msgstr "%s Dylunydd"
+
+#: ../bin/ctodesgn.c:2574
+#, c-format
+msgid "%s %d x %d (of %d x %d)"
+msgstr "%s %d x %d (o %d x %d)"
+
+#: ../bin/ctodesgn.c:2574
+msgid "Page"
+msgstr "Tudalen"
+
+#: ../bin/ctodesgn.c:2581
+msgid "Frog Number"
+msgstr "Rhif broga"
+
+#: ../bin/ctodesgn.c:2887
+msgid "Turnout Designer"
+msgstr "Dylunydd Pwynt"
+
+#: ../bin/ctodesgn.c:2897
+#, c-format
+msgid "%s %s Designer"
+msgstr "%s %s Dylunydd"
+
+#: ../bin/ctrain.c:183 ../bin/dcar.c:2241 ../bin/dcar.c:4373
+#: ../bin/dcar.c:4378
+msgid "Index"
+msgstr "Mynegai"
+
+#: ../bin/ctrain.c:189 ../bin/dcar.c:4374
+msgid "Rep Marks"
+msgstr "Marciau Cynrychiolwyr"
+
+#: ../bin/ctrain.c:273
+msgid "Car"
+msgstr "Car"
+
+#: ../bin/ctrain.c:659
+msgid "Follow"
+msgstr "Dilynwch"
+
+#: ../bin/ctrain.c:660
+msgid "Auto Reverse"
+msgstr "Gwrthdroi Awtomatig"
+
+#: ../bin/ctrain.c:679 ../bin/dcar.c:5260
+msgid "Find"
+msgstr "Chwilio"
+
+#: ../bin/ctrain.c:685 ../bin/ctrain.c:942 ../bin/ctrain.c:1251
+#: ../wlib/gtklib/ixhelp.c:239
+msgid "Forward"
+msgstr "Ymlaen"
+
+#: ../bin/ctrain.c:687 ../bin/ctrain.c:3133 ../bin/dcar.c:4711
+#: ../bin/dcar.c:4721 ../bin/dcar.c:4840 ../bin/fileio.c:215 ../bin/macro.c:61
+#: ../bin/macro.c:874
+msgid "Stop"
+msgstr "Stopiaf"
+
+#: ../bin/ctrain.c:883 ../bin/ctrain.c:912
+msgid "Crashed"
+msgstr "Damwain"
+
+#: ../bin/ctrain.c:885
+msgid "Not on Track"
+msgstr "Ddim ar y trywydd iawn"
+
+#: ../bin/ctrain.c:889
+msgid "Trains Paused"
+msgstr "Trenau wedi oedi"
+
+#: ../bin/ctrain.c:891
+msgid "Running"
+msgstr "Rhedeg"
+
+#: ../bin/ctrain.c:896
+msgid "End of Track"
+msgstr "Diwedd y Trac"
+
+#: ../bin/ctrain.c:900
+msgid "Open Turnout"
+msgstr "Pwynt Agored"
+
+#: ../bin/ctrain.c:904
+msgid "Manual Stop"
+msgstr "Stop â Llaw"
+
+#: ../bin/ctrain.c:908
+msgid "No Room"
+msgstr "Dim Lle"
+
+#: ../bin/ctrain.c:916
+msgid "Unknown Status"
+msgstr "Statws Anhysbys"
+
+#: ../bin/ctrain.c:926
+msgid "No trains"
+msgstr "Dim Trenau"
+
+#: ../bin/ctrain.c:1302
+msgid "Train Control XXX"
+msgstr "Rheoli Trên XXX"
+
+#: ../bin/ctrain.c:1303
+#, c-format
+msgid "Train Control %d"
+msgstr "Rheoli Trên %d"
+
+#: ../bin/ctrain.c:1305
+msgid "Train Control"
+msgstr "Rheoli Trên"
+
+#: ../bin/ctrain.c:3103 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:155
+msgid "Run Trains"
+msgstr "Rhedeg Trenau"
+
+#: ../bin/ctrain.c:3119
+msgid "Uncouple"
+msgstr "Ddadfachwyf"
+
+#: ../bin/ctrain.c:3121
+msgid "Flip Car"
+msgstr "Gwrthdroi Car"
+
+#: ../bin/ctrain.c:3123
+msgid "Clearance Lines On"
+msgstr "Llinellau Clirio Ymlaen"
+
+#: ../bin/ctrain.c:3125
+msgid "Clearance Lines Off"
+msgstr "Llinellau Clirio i ffwrdd"
+
+#: ../bin/ctrain.c:3127
+msgid "Flip Train"
+msgstr "Trên Gwrthdroi"
+
+#: ../bin/ctrain.c:3129
+msgid "MU Master"
+msgstr "MU Meistr"
+
+#: ../bin/ctrain.c:3132
+msgid "Change Direction"
+msgstr "Newid Cyfeiriad"
+
+#: ../bin/ctrain.c:3136
+msgid "Remove Car"
+msgstr "Tynnwch y Car"
+
+#: ../bin/ctrain.c:3139
+msgid "Remove Train"
+msgstr "Tynnwch y Trên"
+
+#: ../bin/cturnout.c:95 ../bin/dcar.c:2263 ../bin/dcar.c:2267
+msgid "New"
+msgstr "Newydd"
+
+#: ../bin/cturnout.c:415 ../bin/cturnout.c:420
+#, c-format
+msgid "CheckPath: Turnout path[%d] %d is not a track segment"
+msgstr "Llwybr Talu: Llwybr pwynt[%d] %d nid yw'n segment trac"
+
+#: ../bin/cturnout.c:428
+#, c-format
+msgid ""
+"CheckPath: Turnout path[%d] %d-%d not connected: %0.3f P0(%f,%f) P1(%f,%f)"
+msgstr ""
+"Llwybr Talu: Llwybr pwynt[%d] %d-%d heb gysylltiad: %0.3f P0(%f,%f) "
+"P1(%f,%f)"
+
+#: ../bin/cturnout.c:475
+msgid "Unknown special case"
+msgstr "Achos arbennig anhysbys"
+
+#: ../bin/cturnout.c:592
+msgid "Connect Adjustable Tracks"
+msgstr "Cysylltu traciau addasadwy"
+
+#: ../bin/cturnout.c:2984
+msgid "splitTurnout: can't find segment"
+msgstr "Methu dod o hyd i segment"
+
+#: ../bin/cturnout.c:3443 ../bin/track.c:2324 ../bin/track.c:2430
+#: ../bin/tstraigh.c:632
+msgid "Drag to change track length"
+msgstr "Llusgwch i newid hyd trac"
+
+#: ../bin/cturnout.c:3454
+#, c-format
+msgid "Length=%s"
+msgstr "Hyd=%s"
+
+#: ../bin/cturnout.c:3737
+#, c-format
+msgid "Turnout %d Path: %s"
+msgstr "Pwynt %d Llwybr: %s"
+
+#: ../bin/cturnout.c:4288
+#, c-format
+msgid "%d connections, max distance %0.3f (%s)"
+msgstr "%d cysylltiadau, pellter mwyaf %0.3f (%s)"
+
+#: ../bin/cturnout.c:4294
+#, c-format
+msgid "0 connections (%s)"
+msgstr "0 cysylltiadau (%s)"
+
+#: ../bin/cturnout.c:4333
+msgid "Place New Turnout"
+msgstr "Rhowch bwynt newydd"
+
+#: ../bin/cturnout.c:4743
+#, c-format
+msgid "Angle = %0.3f (%s)"
+msgstr "Ongle = %0.3f (%s)"
+
+#: ../bin/cturnout.c:4853
+msgid "Pick turnout and active End Point, then place on the layout"
+msgstr "Dewis pwynt a diweddbwynt gweithredol, yna ei roi ar y cynllun"
+
+#: ../bin/cturnout.c:5048
+msgid "Predefined Track"
+msgstr "Trac Rhagddiffiniedig"
+
+#: ../bin/cturntbl.c:49 ../bin/cturntbl.c:248 ../bin/cturntbl.c:946
+#: ../bin/cturntbl.c:961
+msgid "Diameter"
+msgstr "Diamedr"
+
+#: ../bin/cturntbl.c:249
+msgid "# EndPt"
+msgstr "# Diweddbwynt"
+
+#: ../bin/cturntbl.c:283
+#, c-format
+msgid "Turntable(%d): Layer=%d Center=[%s %s] Diameter=%s #EP=%d"
+msgstr "Trofwrdd(%d): Haen=%d Canol=[%s %s] Diamedr=%s #EP=%d"
+
+#: ../bin/cturntbl.c:302
+msgid "Turntable"
+msgstr "Trofwrdd"
+
+#: ../bin/cturntbl.c:610
+msgid "Drag to create stall track"
+msgstr "Llusgwch i greu trac stondinau"
+
+#: ../bin/cturntbl.c:663
+msgid "Connect Turntable Tracks"
+msgstr "Cysylltu traciau trofwrdd"
+
+#: ../bin/cturntbl.c:975
+msgid "Create Turntable"
+msgstr "Creu Trofwrdd"
+
+#: ../bin/cturntbl.c:1006
+msgid "Custom Turntable"
+msgstr "Pwrpasol Trofwrdd"
+
+#: ../bin/cundo.c:210
+msgid "Undo Trace"
+msgstr "Dadwneud Olrhain"
+
+#: ../bin/cundo.c:628
+#, c-format
+msgid "Undo: %s"
+msgstr "Dadwneud: %s"
+
+#: ../bin/cundo.c:631 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:167
+msgid "Undo last command"
+msgstr "Dadwneud y gorchymyn olaf"
+
+#: ../bin/cundo.c:636
+#, c-format
+msgid "Redo: %s"
+msgstr "Ail-wneud: %s"
+
+#: ../bin/cundo.c:639 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:128
+msgid "Redo last undo"
+msgstr "Ail-wneud olaf dadwneud"
+
+#: ../bin/custom.c:147
+#, c-format
+msgid "%s Turnout Designer"
+msgstr "%s Dylunydd Pwynt"
+
+#: ../bin/custom.c:152
+#, c-format
+msgid "%s Version %s"
+msgstr "%s Fersiwn %s"
+
+#: ../bin/custom.c:157
+#, c-format
+msgid ""
+"All %s Files (*.xtc,*.xtce)|*.xtc;*.xtce|%s Trackplan (*.xtc)|*.xtc|%s "
+"Extended Trackplan (*.xtce)|*.xtce|All Files (*)|*"
+msgstr ""
+"I gyd %s Ffeiliau (*.xtc,*.xtce)|*.xtc;*.xtce|%s Cynllun trac "
+"(*.xtc)|*.xtc|%s Cynllun Trac Estynedig (*.xtce)|*.xtce|I gyd Ffeiliau (*)|*"
+
+#: ../bin/custom.c:168
+#, c-format
+msgid ""
+"%s Trackplan (*.xtc)|*.xtc|%s Extended Trackplan (*.xtce)|*.xtce|All Files "
+"(*)|*"
+msgstr ""
+"%s Cynllun trac (*.xtc)|*.xtc|%s Cynllun Trac Estynedig (*.xtce)|*.xtce|I "
+"gyd Ffeiliau (*)|*"
+
+#: ../bin/custom.c:177
+#, c-format
+msgid "All Files (*)|*"
+msgstr "I gyd Ffeiliau (*)|*"
+
+#: ../bin/custom.c:182
+#, c-format
+msgid "%s Import Files (*.xti)|*.xti"
+msgstr "%s Mewnforio ffeiliau (*.xti)|*.xti"
+
+#: ../bin/custom.c:187
+msgid "Data Exchange Format Files (*.dxf)|*.dxf"
+msgstr "Ffeiliau Fformat Cyfnewid Data (*.dxf)|*.dxf"
+
+#: ../bin/custom.c:191
+msgid "Scalable Vector Graphics Format Files (*.svg)|*.svg"
+msgstr "Ffeiliau Fformat Graffeg Fector Scalable (*.svg)|*.svg"
+
+#: ../bin/custom.c:196
+#, c-format
+msgid "%s Record Files (*.xtr)|*.xtr"
+msgstr "%s Ffeiliau Cofnodi (*.xtr)|*.xtr"
+
+#: ../bin/custom.c:201
+#, c-format
+msgid "%s Note Files (*.not)|*.not"
+msgstr "%s Nodwch Ffeiliau (*.not)|*.not"
+
+#: ../bin/custom.c:206
+#, c-format
+msgid "%s Log Files (*.log)|*.log"
+msgstr "%s Ffeiliau Log (*.log)|*.log"
+
+#: ../bin/custom.c:211
+#, c-format
+msgid "%s PartsList Files (*.txt)|*.txt"
+msgstr "%s Ffeiliau Rhestr Rhannau (*.txt)|*.txt"
+
+#: ../bin/dbench.c:38
+msgid " L-Girder"
+msgstr "L-trawst"
+
+#: ../bin/dbench.c:38
+msgid " T-Girder"
+msgstr "T-trawst"
+
+#: ../bin/dbench.c:61
+msgid "On Edge"
+msgstr "Ar yr ymyl"
+
+#: ../bin/dbench.c:62
+msgid "Flat"
+msgstr "Gwastad"
+
+#: ../bin/dbench.c:66
+msgid "Left-Down"
+msgstr "Wedi'i adael i lawr"
+
+#: ../bin/dbench.c:67
+msgid "Right-Down"
+msgstr "I lawr"
+
+#: ../bin/dbench.c:68
+msgid "Left-Up"
+msgstr "Chwith i fyny"
+
+#: ../bin/dbench.c:69
+msgid "Right-Up"
+msgstr "I fyny"
+
+#: ../bin/dbench.c:70
+msgid "Left-Inverted"
+msgstr "Chwith Gwrthdro"
+
+#: ../bin/dbench.c:71
+msgid "Right-Inverted"
+msgstr "Gwrthdroi i'r dde"
+
+#: ../bin/dbench.c:76
+msgid "Inverted"
+msgstr "Gwrthdro"
+
+#: ../bin/dbench.c:143
+#, c-format
+msgid ""
+"Bad BenchType for %s:\n"
+"%s"
+msgstr ""
+"Math Mainc Drwg ar gyfer %s:\n"
+"%s"
+
+#: ../bin/dbitmap.c:149
+msgid "Drawing tracks to bitmap"
+msgstr "Tynnu traciau i BitMap"
+
+#: ../bin/dbitmap.c:186
+msgid "Drawn with "
+msgstr "Wedi'i dynnu gyda"
+
+#: ../bin/dbitmap.c:228
+msgid "Writing bitmap to file"
+msgstr "Ysgrifennu BitMap i'w ffeilio"
+
+#: ../bin/dbitmap.c:251
+msgid "Layout Titles"
+msgstr "Teitlau Cynllun"
+
+#: ../bin/dbitmap.c:252
+msgid "Borders"
+msgstr "Ffiniau"
+
+#: ../bin/dbitmap.c:253
+msgid "Centerline of Track"
+msgstr "Canolbwynt y Trac"
+
+#: ../bin/dbitmap.c:254
+msgid "Background Image"
+msgstr "Delwedd Cefndir"
+
+#: ../bin/dbitmap.c:261
+msgid "Include "
+msgstr "Gynnwys"
+
+#: ../bin/dbitmap.c:263
+msgid "Resolution "
+msgstr "Graddfa Datrysiad"
+
+#: ../bin/dbitmap.c:264
+msgid "dpi"
+msgstr "Dotiau y fodfedd"
+
+#: ../bin/dbitmap.c:265
+msgid "Bitmap Size "
+msgstr "Maint didfap"
+
+#: ../bin/dbitmap.c:267
+msgid "99999 by 99999 pixels"
+msgstr "99999 gan 99999 picsel"
+
+#: ../bin/dbitmap.c:268
+msgid "Approximate File Size "
+msgstr "Bras ffeilliau"
+
+#: ../bin/dbitmap.c:270
+msgid "999.9Mb"
+msgstr "999.9Mb"
+
+#: ../bin/dbitmap.c:316
+#, c-format
+msgid "%ld by %ld pixels"
+msgstr "%ld gan %ld picsel"
+
+#: ../bin/dbitmap.c:338
+#, c-format
+msgid "%0.0f"
+msgstr "%0.0f"
+
+#: ../bin/dbitmap.c:340
+#, c-format
+msgid "%0.1fKb"
+msgstr "%0.1f Kb"
+
+#: ../bin/dbitmap.c:342
+#, c-format
+msgid "%0.1fMb"
+msgstr "%0.1fMb"
+
+#: ../bin/dbitmap.c:344
+#, c-format
+msgid "%0.1fGb"
+msgstr "%0.1fGb"
+
+#: ../bin/dbitmap.c:435
+msgid "Save Bitmap"
+msgstr "Arbedwch BitMap"
+
+#: ../bin/dbitmap.c:436
+msgid ""
+"Portable Network Graphics format (*.png)|*.png|JPEG format (*.jpg)|*.jpg"
+msgstr ""
+"Fformat Graffeg Rhwydwaith Cludadwy (*.png)|*.png|Fformat JPEG (*.jpg)|*.jpg"
+
+#: ../bin/dbitmap.c:471
+msgid "Export to bitmap"
+msgstr "Allforio i BitMap"
+
+#: ../bin/dcar.c:45
+msgid "Truck"
+msgstr "Tryc"
+
+#: ../bin/dcar.c:45
+msgid "Body"
+msgstr "Corff"
+
+#: ../bin/dcar.c:147 ../bin/dcar.c:2694 ../bin/dcar.c:2698
+msgid "Unknown"
+msgstr "Anhysbys"
+
+#: ../bin/dcar.c:469
+msgid "Diesel Loco"
+msgstr "Locomotif Diesel"
+
+#: ../bin/dcar.c:470
+msgid "Steam Loco"
+msgstr "Locomotif Stêm"
+
+#: ../bin/dcar.c:471
+msgid "Elect Loco"
+msgstr "Locomotif Trydan"
+
+#: ../bin/dcar.c:472
+msgid "Freight Car"
+msgstr "Wagen cludo nwyddau"
+
+#: ../bin/dcar.c:473
+msgid "Psngr Car"
+msgstr "Cerbyd Teithwyr"
+
+#: ../bin/dcar.c:474
+msgid "M-O-W"
+msgstr "Cerbyd Lluosog"
+
+#: ../bin/dcar.c:475
+msgid "Other"
+msgstr "Arall"
+
+#: ../bin/dcar.c:1173 ../bin/dcar.c:5081
+msgid "N/A"
+msgstr "Amherthnasol"
+
+#: ../bin/dcar.c:1174 ../bin/dcar.c:5086
+msgid "Mint"
+msgstr "Cyflwr mintys"
+
+#: ../bin/dcar.c:1175 ../bin/dcar.c:5085
+msgid "Excellent"
+msgstr "Cyflwr rhagorol"
+
+#: ../bin/dcar.c:1176 ../bin/dcar.c:5084
+msgid "Good"
+msgstr "Cyflwr da"
+
+#: ../bin/dcar.c:1177 ../bin/dcar.c:5083
+msgid "Fair"
+msgstr "Cyflwr teg"
+
+#: ../bin/dcar.c:1178 ../bin/dcar.c:5082
+msgid "Poor"
+msgstr "Cyflwr gwael"
+
+#: ../bin/dcar.c:1492 ../bin/dpricels.c:42
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:486
+msgid "Item"
+msgstr "Eitem"
+
+#: ../bin/dcar.c:2164 ../wlib/gtklib/notice.c:96 ../wlib/mswlib/mswmisc.c:2129
+msgid "Information"
+msgstr "Gwybodaeth"
+
+#: ../bin/dcar.c:2164
+msgid "Customize"
+msgstr "Addasu"
+
+#: ../bin/dcar.c:2177
+msgid "Sequential"
+msgstr "Dilyniannol"
+
+#: ../bin/dcar.c:2177
+msgid "Repeated"
+msgstr "Ailadroddwyd"
+
+#: ../bin/dcar.c:2188 ../bin/dcar.c:2190 ../bin/dcar.c:5411
+msgid "Prototype"
+msgstr "Prototeip"
+
+#: ../bin/dcar.c:2196
+msgid "Part"
+msgstr "Rhan"
+
+#: ../bin/dcar.c:2198 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:408
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:618
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:619
+msgid "Part Number"
+msgstr "Rhan rhif"
+
+#: ../bin/dcar.c:2200
+msgid "Loco?"
+msgstr "Loco?"
+
+#: ../bin/dcar.c:2204 ../bin/dcar.c:4411
+msgid "Import"
+msgstr "mewnforio"
+
+#: ../bin/dcar.c:2211
+msgid "Mode"
+msgstr "Modd"
+
+#: ../bin/dcar.c:2215
+msgid "Road"
+msgstr "Ffordd"
+
+#: ../bin/dcar.c:2217
+msgid "Reporting Mark"
+msgstr "Marc Adrodd"
+
+#: ../bin/dcar.c:2219
+msgid "Number"
+msgstr "Rhif"
+
+#: ../bin/dcar.c:2223
+msgid "Car Length"
+msgstr "Hyd Car"
+
+#: ../bin/dcar.c:2227
+msgid "Truck Centers"
+msgstr "Canolfannau Tryciau"
+
+#: ../bin/dcar.c:2231
+msgid "Coupler Mount"
+msgstr "Ymlyniad Cwplwr"
+
+#: ../bin/dcar.c:2233
+msgid "Coupled Length"
+msgstr "Hyd Cypledig"
+
+#: ../bin/dcar.c:2235 ../bin/dcar.c:4256
+msgid "Coupler Length"
+msgstr "Hyd y Cwplwr"
+
+#: ../bin/dcar.c:2243
+msgid "Purchase Price"
+msgstr "Pris Prynu"
+
+#: ../bin/dcar.c:2245 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:264
+msgid "Current Price"
+msgstr "Pris Cyfredol"
+
+#: ../bin/dcar.c:2247 ../bin/dcar.c:4375 ../bin/dcar.c:4380
+msgid "Condition"
+msgstr "Cyflwr"
+
+#: ../bin/dcar.c:2249
+msgid "Purchase Date"
+msgstr "Dyddiad Prynu"
+
+#: ../bin/dcar.c:2251 ../bin/dcar.c:4380
+msgid "Service Date"
+msgstr "Dyddiad Gwasanaeth"
+
+#: ../bin/dcar.c:2253
+msgid "Quantity"
+msgstr "Nifer"
+
+#: ../bin/dcar.c:2255
+msgid "Numbers"
+msgstr "Rhifau"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:487
+#: ../bin/dcar.c:2257 ../bin/dcar.c:4376 ../bin/trknote.c:709
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1267
+msgid "Notes"
+msgstr "Nodiadau"
+
+#: ../bin/dcar.c:2264
+msgid "Car Part"
+msgstr "Rhan Car"
+
+#: ../bin/dcar.c:2265 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:238
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:239
+msgid "Car Prototype"
+msgstr "Prototeip Car"
+
+#: ../bin/dcar.c:2628 ../bin/dcar.c:2945
+msgid "Undecorated"
+msgstr "Heb addurn"
+
+#: ../bin/dcar.c:2686 ../bin/dcar.c:2690 ../bin/paramfilelist.c:390
+msgid "Custom"
+msgstr "Wedi'i addasu"
+
+#: ../bin/dcar.c:2855
+msgid "Undecorated "
+msgstr "Heb addurn"
+
+#: ../bin/dcar.c:3077
+#, c-format
+msgid "New %s Scale Car"
+msgstr "Newydd %s Car Graddfa"
+
+#: ../bin/dcar.c:3078 ../bin/dcar.c:3087 ../bin/dcar.c:3096 ../bin/dcar.c:4289
+#: ../bin/dcar.c:4407 ../bin/paramfilesearch_ui.c:76
+msgid "Add"
+msgstr "Ychwanegu"
+
+#: ../bin/dcar.c:3080
+#, c-format
+msgid "Update %s Scale Car"
+msgstr "Diweddariad %s Car Graddfa"
+
+#: ../bin/dcar.c:3081 ../bin/dcar.c:3090 ../bin/dcar.c:3099
+#: ../bin/dcmpnd.c:168
+msgid "Update"
+msgstr "Diweddariad"
+
+#: ../bin/dcar.c:3086
+#, c-format
+msgid "New %s Scale Car Part"
+msgstr "Newydd %s Rhan Car Graddfa"
+
+#: ../bin/dcar.c:3089
+#, c-format
+msgid "Update %s Scale Car Part"
+msgstr "Diweddariad %s Rhan Car Graddfa"
+
+#: ../bin/dcar.c:3095
+msgid "New Prototype"
+msgstr "Newydd Prototeip"
+
+#: ../bin/dcar.c:3098
+msgid "Update Prototype"
+msgstr "Diweddariad Prototeip"
+
+#: ../bin/dcar.c:3739
+msgid "Truck Center Offset plus Truck Centers must be less than Car Length"
+msgstr ""
+"Rhaid i Wrthbwyso Canolfan Truck ynghyd â Chanolfannau Tryciau fod yn llai "
+"na Hyd Car"
+
+#: ../bin/dcar.c:3796 ../bin/dcar.c:3800
+msgid "Enter a 8 digit numeric date (yyyymmdd)"
+msgstr "Rhowch ddyddiad rhifol 8 digid (yyyymmdd)"
+
+#: ../bin/dcar.c:3803
+msgid "Enter a date between 19000101 and 21991231"
+msgstr "Rhowch ddyddiad rhwng 19000101 a 21991231"
+
+#: ../bin/dcar.c:3809
+msgid "Invalid month"
+msgstr "Mis Annilys"
+
+#: ../bin/dcar.c:3812
+msgid "Invalid day"
+msgstr "Diwrnod Annilys"
+
+#: ../bin/dcar.c:3907
+msgid "Select or Enter a Manufacturer"
+msgstr "Dewiswch neu Rhowch wneuthurwr"
+
+#: ../bin/dcar.c:3910
+#, c-format
+msgid "Item Index %ld duplicated an existing item: updated to new value"
+msgstr ""
+"Mynegai Eitem %ld dyblygu eitem sy'n bodoli eisoes: wedi'i ddiweddaru i "
+"werth newydd"
+
+#: ../bin/dcar.c:4115
+#, c-format
+msgid "Added %ld new Cars"
+msgstr "Wedi adio %ld ceir newydd"
+
+#: ../bin/dcar.c:4117
+msgid "Added new Car"
+msgstr "Ychwanegwyd car newydd"
+
+#: ../bin/dcar.c:4120
+msgid "Updated Car"
+msgstr "Car wedi'i ddiweddaru"
+
+#: ../bin/dcar.c:4123
+msgid " and Part"
+msgstr "A rhan"
+
+#: ../bin/dcar.c:4150
+#, c-format
+msgid "%s Part: %s %s %s %s %s %s"
+msgstr "%s Rhan: %s %s %s %s %s %s"
+
+#: ../bin/dcar.c:4150 ../bin/dcar.c:4167
+msgid "Added new"
+msgstr "Ychwanegwyd newydd"
+
+#: ../bin/dcar.c:4150 ../bin/dcar.c:4167
+msgid "Updated"
+msgstr "Wedi'i ddiweddaru"
+
+#: ../bin/dcar.c:4166
+#, c-format
+msgid "%s Prototype: %s%s."
+msgstr "%s Prototeip: %s%s."
+
+#: ../bin/dcar.c:4168
+msgid ". Enter new values or press Close"
+msgstr ". Rhowch werthoedd newydd neu pwyswch Close"
+
+#: ../bin/dcar.c:4289
+msgid "New Car Part"
+msgstr "Rhan Car Newydd"
+
+#: ../bin/dcar.c:4374 ../bin/dcar.c:4379
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:456
+msgid "Roadname"
+msgstr "Enw'r Ffordd"
+
+#: ../bin/dcar.c:4374
+msgid "Purc Price"
+msgstr "Pris Prynu"
+
+#: ../bin/dcar.c:4375 ../bin/dcar.c:4380
+msgid "Curr Price"
+msgstr "Pris Cyfredol"
+
+#: ../bin/dcar.c:4375
+msgid "Purc Date"
+msgstr "Dyddiad Prynu"
+
+#: ../bin/dcar.c:4375
+msgid "Srvc Date"
+msgstr "Dyddiad Gwasanaeth"
+
+#: ../bin/dcar.c:4376
+msgid "Locat'n"
+msgstr "Lleoliad"
+
+#: ../bin/dcar.c:4379
+msgid "RepMarks"
+msgstr "Marciau Adrodd"
+
+#: ../bin/dcar.c:4379
+msgid "Purch Price"
+msgstr "Pris prynu"
+
+#: ../bin/dcar.c:4380
+msgid "Purch Date"
+msgstr "Dyddiad prynu"
+
+#: ../bin/dcar.c:4397
+msgid "Sort By"
+msgstr "Trefnu yn ôl"
+
+#: ../bin/dcar.c:4405 ../bin/dcontmgm.c:87 ../bin/dcustmgm.c:56
+#: ../bin/dcustmgm.c:93
+msgid "Edit"
+msgstr "Golygu"
+
+#: ../bin/dcar.c:4409 ../bin/dcontmgm.c:89 ../bin/dcustmgm.c:58
+#: ../bin/misc.c:2497
+msgid "Delete"
+msgstr "Dileu"
+
+#: ../bin/dcar.c:4413 ../bin/fileio.c:1490
+msgid "Export"
+msgstr "Allforio"
+
+#: ../bin/dcar.c:4415 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:635
+msgid "List"
+msgstr "Rhestr"
+
+#: ../bin/dcar.c:4525 ../bin/dcar.c:5260 ../bin/misc.c:2896
+msgid "Car Inventory"
+msgstr "Rhestr Car"
+
+#: ../bin/dcar.c:4645
+msgid "List Cars"
+msgstr "Rhestrwch geir"
+
+#: ../bin/dcar.c:4768 ../bin/dcar.c:4933
+msgid "Import Cars"
+msgstr "Mewnforio Ceir"
+
+#: ../bin/dcar.c:4934 ../bin/dcar.c:5056
+msgid "Comma-Separated-Values (*.csv)|*.csv"
+msgstr "Gwerthoedd ar wahân coma (*.csv)|*.csv"
+
+#: ../bin/dcar.c:5003 ../bin/dcar.c:5055
+msgid "Export Cars"
+msgstr "Allforio ceir"
+
+#: ../bin/dcar.c:5089
+msgid "Layout"
+msgstr "Cynllun"
+
+#: ../bin/dcar.c:5091
+msgid "Shelf"
+msgstr "Silff"
+
+#: ../bin/dcmpnd.c:72 ../bin/dlayer.c:600 ../bin/misc.c:695 ../bin/misc.c:727
+msgid "Load"
+msgstr "Llwyth"
+
+#: ../bin/dcmpnd.c:105
+msgid "Updating definitions, please wait"
+msgstr "Diweddaru diffiniadau, arhoswch"
+
+#: ../bin/dcmpnd.c:168
+msgid "Update Title"
+msgstr "Diweddariad Teitl"
+
+#: ../bin/dcmpnd.c:228
+#, c-format
+msgid "End-Point #%d of the selected and actual turnouts are not close"
+msgstr ""
+"Diweddbwynt #%d nid yw'r pwyntiau a ddewiswyd a rhai gwirioneddol yn agos"
+
+#: ../bin/dcmpnd.c:237
+#, c-format
+msgid "End-Point #%d of the selected and actual turnouts are not aligned"
+msgstr ""
+"Diweddbwynt #%d nid yw'r pwyntiau a ddewiswyd a rhai gwirioneddol wedi'u "
+"halinio"
+
+#: ../bin/dcmpnd.c:255
+msgid "The selected Turnout had a differing number of End-Points"
+msgstr "Roedd gan y Pwynt a ddewiswyd nifer wahanol o Bwyntiau Diwedd"
+
+#: ../bin/dcmpnd.c:320
+msgid "Skip"
+msgstr "Neidio"
+
+#: ../bin/dcmpnd.c:352
+#, c-format
+msgid "%d Track(s) refreshed"
+msgstr "%d Trac(iau) adnewyddu"
+
+#: ../bin/dcmpnd.c:392
+msgid "Refresh Turnout/Structure"
+msgstr "Adnewyddu Pwynt / Strwythur"
+
+#: ../bin/dcmpnd.c:394
+msgid "Choose a Turnout/Structure to replace:"
+msgstr "Dewiswch Bwynt / Strwythur i'w ddisodli"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:457
+#: ../bin/dcmpnd.c:404 ../bin/doption.c:92
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1207
+msgid "Turnouts"
+msgstr "Pwyntiau"
+
+#: ../bin/dcmpnd.c:404
+msgid "Structures"
+msgstr "Strwythurau"
+
+#: ../bin/dcmpnd.c:433
+msgid "Choose another Turnout/Structure to replace:"
+msgstr "Dewiswch Bwynt / Strwythur arall yn lle:"
+
+#: ../bin/dcmpnd.c:536
+msgid "Rename Object"
+msgstr "Ail-enwi Gwrthrych"
+
+#: ../bin/dcontmgm.c:80
+msgid "Tracks"
+msgstr "Traciau"
+
+#: ../bin/dcontmgm.c:161
+#, c-format
+msgid "Are you sure you want to delete the %d control element(s)"
+msgstr "Ydych chi'n siŵr eich bod chi am ddileu'r se%d elfen(nau) rheoli?"
+
+#: ../bin/dcontmgm.c:164
+msgid "Control Elements"
+msgstr "Elfennau Rheoli"
+
+#: ../bin/dcontmgm.c:287
+msgid "Manage Layout Control Elements"
+msgstr "Rheoli elfennau rheoli cynllun"
+
+#: ../bin/dcustmgm.c:52
+msgid "Create a new "
+msgstr "Creu newydd"
+
+#: ../bin/dcustmgm.c:54
+msgid "Go"
+msgstr "Ewch"
+
+#: ../bin/dcustmgm.c:60
+msgid "Move To"
+msgstr "Symud i"
+
+#: ../bin/dcustmgm.c:93
+msgid "Rename"
+msgstr "Ail-enwi"
+
+#: ../bin/dcustmgm.c:174
+msgid "Label"
+msgstr "Label"
+
+#: ../bin/dcustmgm.c:211
+msgid "Contents Label"
+msgstr "Label Cynnwys"
+
+#: ../bin/dcustmgm.c:267
+msgid "Move To XTP"
+msgstr "Symud i XTP"
+
+#: ../bin/dcustmgm.c:268
+msgid "Parameter File (*.xtp)|*.xtp"
+msgstr "Ffeil Paramedr (*.xtp)|*.xtp"
+
+#: ../bin/dcustmgm.c:378
+msgid "Manage custom designed parts"
+msgstr "Rheoli rhannau wedi'u cynllunio'n benodol"
+
+#: ../bin/dease.c:64
+msgid "Sharp"
+msgstr "Miniog"
+
+#: ../bin/dease.c:64
+msgid "Broad"
+msgstr "Eang"
+
+#: ../bin/dease.c:64
+msgid "Cornu"
+msgstr "Cornu"
+
+#: ../bin/dease.c:72
+msgid "Value"
+msgstr "Gwerth"
+
+#: ../bin/dease.c:73 ../bin/tease.c:515
+msgid "R"
+msgstr "R"
+
+#: ../bin/dease.c:75 ../bin/tease.c:516
+msgid "L"
+msgstr "L"
+
+#: ../bin/dease.c:240
+msgid "Easement"
+msgstr "Hawddfraint"
+
+#: ../bin/denum.c:44
+msgid "Prices"
+msgstr "Prisiau"
+
+#: ../bin/denum.c:45 ../bin/denum.c:138
+msgid "Indexes"
+msgstr "Mynegeion"
+
+#: ../bin/denum.c:50
+msgid "Save As ..."
+msgstr "Arbed fel"
+
+#: ../bin/denum.c:134 ../bin/denum.c:191 ../bin/denum.c:226
+msgid "Each"
+msgstr "yr un"
+
+#: ../bin/denum.c:150 ../bin/denum.c:151
+msgid "Parts List"
+msgstr "Rhestr Rhannau"
+
+#: ../bin/denum.c:156
+#, c-format
+msgid ""
+"%s Parts List\n"
+"\n"
+msgstr ""
+"%s Rhestr Rhannau\n"
+"\n"
+
+#: ../bin/denum.c:191 ../bin/denum.c:228 ../bin/denum.c:237
+msgid "Extended"
+msgstr "Estynedig"
+
+#: ../bin/denum.c:237 ../bin/denum.c:240
+msgid "Total"
+msgstr "Cyfanswm"
+
+#: ../bin/dlayer.c:576
+msgid "Select Layer:"
+msgstr "Dewiswch Haen:"
+
+#: ../bin/dlayer.c:582
+msgid "Use Color"
+msgstr "Defnyddiwch Lliw"
+
+#: ../bin/dlayer.c:584
+msgid "Visible"
+msgstr "Gweladwy"
+
+#: ../bin/dlayer.c:586
+msgid "Frozen"
+msgstr "Rhewedig"
+
+#: ../bin/dlayer.c:588
+msgid "On Map"
+msgstr "Ar y Map"
+
+#: ../bin/dlayer.c:590
+msgid "Module"
+msgstr "Modiwl"
+
+#: ../bin/dlayer.c:592
+msgid "No Button"
+msgstr "Dim Botwm"
+
+#: ../bin/dlayer.c:594
+msgid "Linked Layers"
+msgstr "Haenau Cysylltiedig"
+
+#: ../bin/dlayer.c:596
+msgid "Settings when Current"
+msgstr "Gosodiadau pan fyddant yn Gyfredol"
+
+#: ../bin/dlayer.c:598
+msgid "Object Count:"
+msgstr "Cyfrif Gwrthrychau"
+
+#: ../bin/dlayer.c:599
+msgid "All Layer Preferences"
+msgstr "Pob Dewis Haen"
+
+#: ../bin/dlayer.c:601 ../bin/macro.c:1404
+msgid "Save"
+msgstr "Arbed"
+
+#: ../bin/dlayer.c:602
+msgid "Defaults"
+msgstr "Diffygion"
+
+#: ../bin/dlayer.c:603
+msgid "Number of Layer Buttons"
+msgstr "Nifer y Botymau Haen"
+
+#: ../bin/dlayer.c:711 ../bin/dlayer.c:1286 ../bin/dlayer.c:1303
+#: ../bin/dlayer.c:1374
+msgid "Main"
+msgstr "Prif"
+
+#: ../bin/dlayer.c:842 ../bin/dlayer.c:1203 ../bin/dlayer.c:1306
+#: ../bin/dlayer.c:1376 ../bin/dlayer.c:1778
+msgid "Show/Hide Layer"
+msgstr "Dangos / Cuddio Haen"
+
+#: ../bin/dlayer.c:1546
+msgid "Layers"
+msgstr "Haenau"
+
+#: ../bin/dlayer.c:1765 ../bin/misc.c:2465
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:17
+msgid "Show/Hide Background"
+msgstr "Dangos / Cuddio Cefndir"
+
+#: ../bin/doption.c:90
+msgid "Auto Pan"
+msgstr "Padell Auto"
+
+#: ../bin/doption.c:92
+msgid "All"
+msgstr "I gyd"
+
+#: ../bin/doption.c:93
+msgid "Thick"
+msgstr "Trwchus"
+
+#: ../bin/doption.c:93
+msgid "Exception"
+msgstr "Eithriad"
+
+#: ../bin/doption.c:94
+msgid "Outline"
+msgstr "Amlinelliad"
+
+#: ../bin/doption.c:95
+msgid "Off"
+msgstr "Bant"
+
+#: ../bin/doption.c:95
+msgid "On"
+msgstr "Ymlaen"
+
+#: ../bin/doption.c:96
+msgid "Track Descriptions"
+msgstr "Disgrifiadau trac"
+
+#: ../bin/doption.c:96
+msgid "Lengths"
+msgstr "Hyd"
+
+#: ../bin/doption.c:96
+msgid "EndPt Elevations"
+msgstr "Drychiadau pwynt diwedd"
+
+#: ../bin/doption.c:96
+msgid "Track Elevations"
+msgstr "Drychiadau trac"
+
+#: ../bin/doption.c:96
+msgid "Cars"
+msgstr "Ceir"
+
+#: ../bin/doption.c:97 ../bin/doption.c:98
+msgid "Descr"
+msgstr "Disgrifiad"
+
+#: ../bin/doption.c:98
+msgid "Manuf"
+msgstr "Gwneuthurwr"
+
+#: ../bin/doption.c:99 ../bin/doption.c:100
+msgid "Object"
+msgstr "Gwrthrych"
+
+#: ../bin/doption.c:101
+msgid "Live Map"
+msgstr "Map Byw"
+
+#: ../bin/doption.c:102
+msgid "Hide Trains On Hidden Track"
+msgstr "Cuddio Trenau ar Drac Cudd"
+
+#: ../bin/doption.c:103
+msgid "Constrain Drawing Area to Room boundaries"
+msgstr "Cyfyngu Ardal Arlunio i ffiniau Ystafelloedd"
+
+#: ../bin/doption.c:104
+msgid "Don't Hide System Cursor when program cursor is active"
+msgstr "Peidiwch â Chuddio Cyrchwr System"
+
+#: ../bin/doption.c:111
+msgid "Color Track"
+msgstr "Trac Lliw"
+
+#: ../bin/doption.c:112
+msgid "Color Draw"
+msgstr "Llun Lliw"
+
+#: ../bin/doption.c:113
+msgid "Draw Tunnel"
+msgstr "Twnnel Tynnu"
+
+#: ../bin/doption.c:114
+msgid "Draw EndPts"
+msgstr "Tynnu Pwyntiau Diwedd"
+
+#: ../bin/doption.c:115
+msgid "Draw Unconnected EndPts"
+msgstr "Tynnu Pwyntiau Diwedd Heb eu Cysylltu"
+
+#: ../bin/doption.c:116
+msgid "Draw Ties"
+msgstr "Tynnu Clymiadau"
+
+#: ../bin/doption.c:117
+msgid "Draw Centers"
+msgstr "Canolfannau Lluniadu"
+
+#: ../bin/doption.c:118
+msgid "Two Rail Scale"
+msgstr "Graddfa Dwy Reilffordd"
+
+#: ../bin/doption.c:119
+msgid "Map Scale"
+msgstr "Graddfa Map"
+
+#: ../bin/doption.c:125
+msgid "Label Enable"
+msgstr "Galluogi Label"
+
+#: ../bin/doption.c:126
+msgid "Label Scale"
+msgstr "Graddfa Label"
+
+#: ../bin/doption.c:127
+msgid "Label Font Size"
+msgstr "Maint Ffont Label"
+
+#: ../bin/doption.c:128
+msgid "Hot Bar Labels"
+msgstr "Label Bar Poeth"
+
+#: ../bin/doption.c:129
+msgid "Layout Labels"
+msgstr "Labeli Cynllun"
+
+#: ../bin/doption.c:130
+msgid "List Labels"
+msgstr "Labeli Rhestr"
+
+#: ../bin/doption.c:133
+msgid "Car Labels"
+msgstr "Labeli Ceir"
+
+#: ../bin/doption.c:134
+msgid "Train Update Delay"
+msgstr "Oedi Diweddaru Trên"
+
+#: ../bin/doption.c:176
+msgid "Turning off AutoSave"
+msgstr "Diffodd Auto-Save"
+
+#: ../bin/doption.c:186
+msgid "Turning on CheckPointing"
+msgstr "Troi ar Checkpointing"
+
+#: ../bin/doption.c:200
+msgid "Display Options"
+msgstr "Dewisiadau Arddangos"
+
+#: ../bin/doption.c:201
+msgid "Proto"
+msgstr "Prototeip"
+
+#: ../bin/doption.c:202
+msgid "Proto/Manuf"
+msgstr "Prototeip / Gwneuthurwr "
+
+#: ../bin/doption.c:203
+msgid "Proto/Manuf/Part Number"
+msgstr "Prototeip / Gwneuthurwr / Rhif Rhan"
+
+#: ../bin/doption.c:204
+msgid "Proto/Manuf/Partno/Item"
+msgstr "Prototeip / Gwneuthurwr / Rhif Rhan / Eitem"
+
+#: ../bin/doption.c:205
+msgid "Manuf/Proto"
+msgstr "Gwneuthurwr / Prototeip "
+
+#: ../bin/doption.c:206
+msgid "Manuf/Proto/Part Number"
+msgstr "Gwneuthurwr / Prototeip / Rhif Rhan"
+
+#: ../bin/doption.c:207
+msgid "Manuf/Proto/Partno/Item"
+msgstr "Gwneuthurwr / Prototeip / Rhif Rhan / Eitem"
+
+#: ../bin/doption.c:237
+msgid "Single item selected, +Ctrl Add to selection"
+msgstr "Eitem sengl wedi'i dewis, + Ctrl Ychwanegu at y dewis"
+
+#: ../bin/doption.c:237
+msgid "Add to selection, +Ctrl Single item selected"
+msgstr "Ychwanegu at y dewis, + Ctrl Eitem sengl wedi'i dewis"
+
+#: ../bin/doption.c:238
+msgid "Deselect all on select nothing"
+msgstr "Dad-ddewiswch bawb wrth ddewis dim"
+
+#: ../bin/doption.c:243
+msgid "Normal: Command List, Shift: Command Options"
+msgstr "Arferol: Rhestr Reoli, Shift: Dewisiadau Gorchymyn"
+
+#: ../bin/doption.c:243
+msgid "Normal: Command Options, Shift: Command List"
+msgstr "Arferol: Dewisiadau Gorchymyn, Sifft: Rhestr Reoli"
+
+#: ../bin/doption.c:246
+msgid "Default Command"
+msgstr "Gorchymyn Diofyn"
+
+#: ../bin/doption.c:248
+msgid "Hide Selection Window"
+msgstr "Cuddio Ffenestr Dewis"
+
+#: ../bin/doption.c:250
+msgid "Right Click"
+msgstr "Cliciwch ar y dde"
+
+#: ../bin/doption.c:251
+msgid "Select Mode"
+msgstr "Dewiswch Modd"
+
+#: ../bin/doption.c:276
+msgid "Command Options"
+msgstr "Dewisiadau Gorchymyn"
+
+#: ../bin/doption.c:299
+msgid "16 px"
+msgstr "16 px"
+
+#: ../bin/doption.c:299
+msgid "24 px"
+msgstr "24 px"
+
+#: ../bin/doption.c:299
+msgid "32 px"
+msgstr "32 px"
+
+#: ../bin/doption.c:300
+msgid "English"
+msgstr "Ymerodrol"
+
+#: ../bin/doption.c:300
+msgid "Metric"
+msgstr "Metrig"
+
+#: ../bin/doption.c:301
+msgid "Polar"
+msgstr "Pegynol"
+
+#: ../bin/doption.c:301
+msgid "Cartesian"
+msgstr "Cartesaidd"
+
+#: ../bin/doption.c:302
+msgid "Balloon Help"
+msgstr "Cymorth Balŵn"
+
+#: ../bin/doption.c:303
+msgid "Show FlexTrack in HotBar"
+msgstr "Dangos Trac Hyblyg yn HotBar"
+
+#: ../bin/doption.c:304
+msgid "Load Last Layout"
+msgstr "Llwythwch y Cynllun Diwethaf"
+
+#: ../bin/doption.c:304
+msgid "Start New Layout"
+msgstr "Dechreuwch Gynllun Newydd"
+
+#: ../bin/doption.c:307
+msgid "Icon Size"
+msgstr "Maint eicon"
+
+#: ../bin/doption.c:308
+msgid "Angles"
+msgstr "Onglau"
+
+#: ../bin/doption.c:309
+msgid "Units"
+msgstr "Unedau mesur"
+
+#: ../bin/doption.c:311
+msgid "Length Format"
+msgstr "Fformat Hyd"
+
+#: ../bin/doption.c:312
+msgid "Min Track Length"
+msgstr "Hyd Trac Lleiaf"
+
+#: ../bin/doption.c:313
+msgid "Connection Distance"
+msgstr "Pellter Cysylltiad"
+
+#: ../bin/doption.c:314
+msgid "Connection Angle"
+msgstr "Ongl Cysylltiad"
+
+#: ../bin/doption.c:315
+msgid "Turntable Angle"
+msgstr "Ongl Trofwrdd"
+
+#: ../bin/doption.c:316
+msgid "Max Coupling Speed"
+msgstr "Cyflymder Cyplu Uchaf"
+
+#: ../bin/doption.c:319
+msgid "Drag Distance"
+msgstr "Pellter Llusgo"
+
+#: ../bin/doption.c:320
+msgid "Drag Timeout"
+msgstr "Llusgwch Amserlen"
+
+#: ../bin/doption.c:321
+msgid "Min Grid Spacing"
+msgstr "Lleiafswm Grid"
+
+#: ../bin/doption.c:323
+msgid "Check Point Frequency"
+msgstr "Amledd Checkpoint"
+
+#: ../bin/doption.c:325
+msgid "Autosave Checkpoint Frequency"
+msgstr "Amledd pwynt gwirio autosave"
+
+#: ../bin/doption.c:326
+msgid "On Program Startup"
+msgstr "Ar gychwyn rhaglen"
+
+#: ../bin/doption.c:336 ../bin/doption.c:340 ../bin/doption.c:357
+msgid "999.999"
+msgstr "999.999"
+
+#: ../bin/doption.c:337
+msgid "999.999999"
+msgstr "999.999999"
+
+#: ../bin/doption.c:338
+msgid "999.99999"
+msgstr "999.99999"
+
+#: ../bin/doption.c:339
+msgid "999.9999"
+msgstr "999.9999"
+
+#: ../bin/doption.c:341 ../bin/doption.c:358
+msgid "999.99"
+msgstr "999.99"
+
+#: ../bin/doption.c:342 ../bin/doption.c:359
+msgid "999.9"
+msgstr "999.9"
+
+#: ../bin/doption.c:343
+msgid "999 7/8"
+msgstr "999 7/8"
+
+#: ../bin/doption.c:344
+msgid "999 63/64"
+msgstr "999 63/64"
+
+#: ../bin/doption.c:345
+msgid "999' 11.999\""
+msgstr "999' 11.999\""
+
+#: ../bin/doption.c:346
+msgid "999' 11.99\""
+msgstr "999' 11.99\""
+
+#: ../bin/doption.c:347
+msgid "999' 11.9\""
+msgstr "999' 11.9\""
+
+#: ../bin/doption.c:348
+msgid "999' 11 7/8\""
+msgstr "999' 11 7/8\""
+
+#: ../bin/doption.c:349
+msgid "999' 11 63/64\""
+msgstr "999' 11 63/64\""
+
+#: ../bin/doption.c:350
+msgid "999ft 11.999in"
+msgstr "999ft 11.999in"
+
+#: ../bin/doption.c:351
+msgid "999ft 11.99in"
+msgstr "999ft 11.99in"
+
+#: ../bin/doption.c:352
+msgid "999ft 11.9in"
+msgstr "999ft 11.9in"
+
+#: ../bin/doption.c:353
+msgid "999ft 11 7/8in"
+msgstr "999ft 11 7/8in"
+
+#: ../bin/doption.c:354
+msgid "999ft 11 63/64in"
+msgstr "999ft 11 63/64in"
+
+#: ../bin/doption.c:360
+msgid "999.999mm"
+msgstr "999.999mm"
+
+#: ../bin/doption.c:361
+msgid "999.99mm"
+msgstr "999.99mm"
+
+#: ../bin/doption.c:362
+msgid "999.9mm"
+msgstr "999.9mm"
+
+#: ../bin/doption.c:363
+msgid "999.999cm"
+msgstr "999.999cm"
+
+#: ../bin/doption.c:364
+msgid "999.99cm"
+msgstr "999.99cm"
+
+#: ../bin/doption.c:365
+msgid "999.9cm"
+msgstr "999.9cm"
+
+#: ../bin/doption.c:366
+msgid "999.999m"
+msgstr "999.999m"
+
+#: ../bin/doption.c:367
+msgid "999.99m"
+msgstr "999.99m"
+
+#: ../bin/doption.c:368
+msgid "999.9m"
+msgstr "999.9m"
+
+#: ../bin/doption.c:497
+msgid "Preferences"
+msgstr "Dewisiadau"
+
+#: ../bin/doption.c:536
+msgid "Marker"
+msgstr "Marciwr"
+
+#: ../bin/doption.c:537
+msgid "Border"
+msgstr "Ffin"
+
+#: ../bin/doption.c:538
+msgid "Primary Axis"
+msgstr "Echel Cynradd"
+
+#: ../bin/doption.c:539
+msgid "Secondary Axis"
+msgstr "Echel Eilaidd"
+
+#: ../bin/doption.c:540
+msgid "Normal Track"
+msgstr "Trac Arferol"
+
+#: ../bin/doption.c:541
+msgid "Selected Track"
+msgstr "Trac Dethol"
+
+#: ../bin/doption.c:542
+msgid "Profile Path"
+msgstr "Llwybr Proffil"
+
+#: ../bin/doption.c:543
+msgid "Exception Track"
+msgstr "Trac Eithriad"
+
+#: ../bin/doption.c:544
+msgid "Track Ties"
+msgstr "Cysgwyr rheilffordd"
+
+#: ../bin/dpricels.c:42
+msgid "Price"
+msgstr "Pris"
+
+#: ../bin/dpricels.c:56
+msgid "Flex Track"
+msgstr "Trac Hyblyg"
+
+#: ../bin/dpricels.c:57
+msgid "costs"
+msgstr "costau"
+
+#: ../bin/dpricels.c:151
+msgid "Price List"
+msgstr "Rhestr pris"
+
+#: ../bin/dprmfile.c:66 ../bin/paramfilesearch_ui.c:51
+msgid "Show File Names"
+msgstr "Dangos Enwau Ffeil"
+
+#: ../bin/dprmfile.c:75 ../bin/paramfilesearch_ui.c:78
+msgid "Select all"
+msgstr "Dewiswch Bawb"
+
+#: ../bin/dprmfile.c:77
+msgid "Favorite"
+msgstr "Hoff"
+
+#: ../bin/dprmfile.c:80
+msgid "Library..."
+msgstr "Llyfrgell ..."
+
+#: ../bin/dprmfile.c:81
+msgid "Browse..."
+msgstr "Porwch ..."
+
+#: ../bin/dprmfile.c:324
+#, c-format
+msgid "%d parameter files reloaded."
+msgstr "%d ffeiliau paramedr wedi'u hail-lwytho."
+
+#: ../bin/dprmfile.c:326
+msgid "One parameter file reloaded."
+msgstr "ail-lwythwyd un ffeil baramedr."
+
+#: ../bin/dprmfile.c:427
+msgid "Parameter Files"
+msgstr "Ffeiliau paramedr"
+
+#: ../bin/dprmfile.c:430
+msgid "Load Parameters"
+msgstr "Paramedrau llwyth"
+
+#: ../bin/dprmfile.c:430
+msgid "Parameter files (*.xtp)|*.xtp"
+msgstr "Ffeiliau paramedr (*.xtp)|*.xtp"
+
+#: ../bin/draw.c:2182
+msgid "Macro Zoom Mode"
+msgstr "Modd Chwyddo Macro"
+
+#: ../bin/draw.c:2189
+msgid "Scale 1:1 - Use Ctrl+ to go to Macro Zoom Mode"
+msgstr "Graddfa 1: 1 - Defnyddiwch Ctrl + i fynd i'r Modd Chwyddo Macro"
+
+#: ../bin/draw.c:2193
+msgid "Preset Zoom In Value selected. Shift+Ctrl+PageDwn to reset value"
+msgstr "Dewis Chwyddo Rhagosodedig. Shift + Ctrl + PageDwn i ailosod gwerth"
+
+#: ../bin/draw.c:2197
+#, c-format
+msgid "Zoom In Program Value %ld:1, Shift+PageDwn to use"
+msgstr "Chwyddo Mewn Gwerth Rhaglen %ld: 1, Shift+PageDwn i'w ddefnyddio"
+
+#: ../bin/draw.c:2273
+msgid "At Maximum Zoom Out"
+msgstr "Ar y Chwyddo Uchaf Uchaf"
+
+#: ../bin/draw.c:2278
+msgid "Preset Zoom Out Value selected. Shift+Ctrl+PageUp to reset value"
+msgstr ""
+"Gwerth Chwyddo Allan Rhagosodedig wedi'i ddewis. Shift+Ctrl+PageUp i ailosod"
+" gwerth"
+
+#: ../bin/draw.c:2282
+#, c-format
+msgid "Zoom Out Program Value %ld:1 set, Shift+PageUp to use"
+msgstr "Gwerth Rhaglen Chwyddo Allan %ld: 1 set, Shift+PageUp i'w ddefnyddio"
+
+#: ../bin/draw.c:2993
+msgid "Map"
+msgstr "Map"
+
+#: ../bin/draw.c:3039
+msgid ""
+"Left-Drag to pan, Ctrl+Left-Drag to zoom, 0 to set origin to zero, 1-9 to "
+"zoom#, e to set to extents"
+msgstr ""
+"Chwith-Llusgwch i badell, Ctrl+Chwith-Llusgwch i chwyddo, '0' i osod "
+"tarddiad i sero, '1-9' i chwyddo#, 'e' i'w osod i raddau"
+
+#: ../bin/draw.c:3046
+msgid "Pan Mode - drag point to new position"
+msgstr "Modd Pan - pwynt llusgo i'w safle newydd"
+
+#: ../bin/draw.c:3053
+msgid "Zoom Mode - drag area to zoom"
+msgstr "Modd Chwyddo - llusgo ardal i chwyddo"
+
+#: ../bin/draw.c:3079
+msgid "Can't move any further in that direction"
+msgstr "Methu symud ymhellach i'r cyfeiriad hwnnw"
+
+#: ../bin/draw.c:3081
+msgid ""
+"Left click to pan, right click to zoom, 'o' for origin, 'e' for extents"
+msgstr ""
+"Cliciwch ar y chwith i badell, cliciwch ar y dde i chwyddo, 'o' am darddiad,"
+" 'e' am raddau"
+
+#: ../bin/draw.c:3118
+msgid ""
+"Left Drag to Pan, +CTRL to Zoom, 0 to set Origin to 0,0, 1-9 to Zoom#, e to "
+"set to Extent"
+msgstr ""
+"Llusgwch i'r chwith i Pan, +CTRL i Zoom, '0' i osod Origin i 0,0, '1-9' i "
+"Zoom#, 'e' i'w osod i Faint"
+
+#: ../bin/draw.c:3196
+msgid "Pan/Zoom"
+msgstr "Pan / Chwyddo "
+
+#: ../bin/draw.c:3207
+msgid "Zoom to 1:1 - '1'"
+msgstr "Chwyddo i 1:1 - '1'"
+
+#: ../bin/draw.c:3208
+msgid "Zoom to 1:2 - '2'"
+msgstr "Chwyddo i 1:2 - '2'"
+
+#: ../bin/draw.c:3209
+msgid "Zoom to 1:3 - '3'"
+msgstr "Chwyddo i 1:3 - '3'"
+
+#: ../bin/draw.c:3210
+msgid "Zoom to 1:4 - '4'"
+msgstr "Chwyddo i 1:4 - '4'"
+
+#: ../bin/draw.c:3211
+msgid "Zoom to 1:5 - '5'"
+msgstr "Chwyddo i 1:5 - '5'"
+
+#: ../bin/draw.c:3212
+msgid "Zoom to 1:6 - '6'"
+msgstr "Chwyddo i 1:6 - '6'"
+
+#: ../bin/draw.c:3213
+msgid "Zoom to 1:7 - '7'"
+msgstr "Chwyddo i 1:7 - '7'"
+
+#: ../bin/draw.c:3214
+msgid "Zoom to 1:8 - '8'"
+msgstr "Chwyddo i 1:8 - '8'"
+
+#: ../bin/draw.c:3215
+msgid "Zoom to 1:9 - '9'"
+msgstr "Chwyddo i 1:9 - '9'"
+
+#: ../bin/draw.c:3219
+msgid "Pan center here - 'c'"
+msgstr "Canolfan sosban yma - 'c'"
+
+#: ../bin/drawgeom.c:70 ../bin/drawgeom.c:86
+msgid "Create Lines"
+msgstr "Creu Llinellau"
+
+#: ../bin/drawgeom.c:287
+msgid "+Alt for Magnetic Snap"
+msgstr "+Alt ar gyfer Snap Magnetig"
+
+#: ../bin/drawgeom.c:289
+msgid "+Alt to inhibit Magnetic Snap"
+msgstr "+Alt i atal Snap Magnetig"
+
+#: ../bin/drawgeom.c:412
+msgid "Drag next point, +Alt reverse Magnetic Snap or +Ctrl lock to 90 deg"
+msgstr ""
+"Llusgwch y pwynt nesaf, +Alt gwrthdroi Snap Magnetig neu +Ctrl clo i 90 "
+"gradd"
+
+#: ../bin/drawgeom.c:423
+msgid ""
+"Drag next point, +Alt reverse Magnetic Snap, or +Ctrl to lock to 90 degrees"
+msgstr ""
+"Llusgwch y pwynt nesaf, + Alt gwrthdroi Snap Magnetig, neu +Ctrl i gloi i 90"
+" gradd"
+
+#: ../bin/drawgeom.c:454
+msgid "Drag to set radius"
+msgstr "Llusgwch i osod radiws"
+
+#: ../bin/drawgeom.c:468
+msgid "Drag set box size"
+msgstr "Llusgwch faint blwch gosod"
+
+#: ../bin/drawgeom.c:509
+msgid "+Alt - reverse Magnetic Snap or +Ctrl - lock to 90 deg"
+msgstr "+Alt - Snap Magnetig gwrthdroi neu +Ctrl - cloi i 90 gradd"
+
+#: ../bin/drawgeom.c:580 ../bin/drawgeom.c:637
+#, c-format
+msgid "Length = %s, Angle = %0.2f"
+msgstr "Hyd = %s, Ongle = %0.2f"
+
+#: ../bin/drawgeom.c:658
+#, c-format
+msgid "Straight Line: Length=%s Angle=%0.3f"
+msgstr "Llinell syth: Hyd=%s Ongle=%0.3f"
+
+#: ../bin/drawgeom.c:680
+#, c-format
+msgid "Curved Line: Radius=%s Angle=%0.3f Length=%s"
+msgstr "Llinell Grom: Radiws=%s Ongle=%0.3f Hyd=%s"
+
+#: ../bin/drawgeom.c:703 ../bin/drawgeom.c:711
+#, c-format
+msgid "Radius = %s"
+msgstr "Radiws = %s"
+
+#: ../bin/drawgeom.c:722
+#, c-format
+msgid "Width = %s, Height = %s"
+msgstr "Lled = %s, Uchder = %s"
+
+#: ../bin/drawgeom.c:783
+msgid "Drag on Red arrows to adjust curve"
+msgstr "Llusgwch saethau coch i addasu'r gromlin"
+
+#: ../bin/drawgeom.c:1207
+msgid "Select points or use context menu"
+msgstr "Dewis pwyntiau neu ddefnyddio dewislen cyd-destun"
+
+#: ../bin/drawgeom.c:1463
+#, c-format
+msgid "Length = %s, Last angle = %0.2f"
+msgstr "Hyd = %s, Ongl olaf = %0.2f"
+
+#: ../bin/drawgeom.c:1623
+msgid "Point Deleted"
+msgstr "Pwynt wedi'i ddileu"
+
+#: ../bin/drawgeom.c:2048
+msgid "Not close to end of line"
+msgstr "Ddim yn agos at ddiwedd y llinell"
+
+#: ../bin/drawgeom.c:2104
+msgid "Not close to ends or middle of mine, reselect"
+msgstr "Not close to ends or middle of line, reselect"
+
+#: ../bin/drawgeom.c:2153 ../bin/drawgeom.c:2389
+msgid "Drag to Move Corner Point"
+msgstr "Llusgwch i Symud Pwynt Cornel"
+
+#: ../bin/drawgeom.c:2160
+msgid "Drag to Move Edge "
+msgstr "Llusgwch i Symud Ymyl"
+
+#: ../bin/drawgeom.c:2234
+#, c-format
+msgid "Length = %0.3f Angle = %0.3f"
+msgstr "Hyd = %0.3f Ongle = %0.3f"
+
+#: ../bin/drawgeom.c:2384
+msgid "Drag to Move Edge"
+msgstr "Llusgwch i Symud Ymyl"
+
+#: ../bin/dxfoutput.c:230
+msgid "Export to DXF"
+msgstr "Allforio i DXF"
+
+#: ../bin/fileio.c:214
+msgid ""
+"\n"
+"Do you want to continue?"
+msgstr ""
+"\n"
+"Ydych chi am barhau?"
+
+#: ../bin/fileio.c:580
+#, c-format
+msgid "putTitle: title too long: %s"
+msgstr "putTitle: teitl yn rhy hir: %s"
+
+#: ../bin/fileio.c:610
+msgid "Unnamed Trackplan"
+msgstr "Cynllun Trac Dienw"
+
+#: ../bin/fileio.c:611
+msgid " (R/O)"
+msgstr " (R/O)"
+
+#: ../bin/fileio.c:751
+msgid "Unknown layout file object - skip until next good object?"
+msgstr "Gwrthrych ffeil cynllun anhysbys - sgipiwch tan y gwrthrych da nesaf?"
+
+#: ../bin/fileio.c:803 ../bin/fileio.c:987
+msgid "Track"
+msgstr "Trac"
+
+#: ../bin/fileio.c:803
+msgid "Not Found"
+msgstr "Heb ei ddarganfod"
+
+#: ../bin/fileio.c:1168
+msgid "AutoSave Tracks As"
+msgstr "Traciau AutoSave Fel"
+
+#: ../bin/fileio.c:1183
+msgid "Save Tracks"
+msgstr "Arbed Traciau"
+
+#: ../bin/fileio.c:1200
+msgid "Save Tracks As"
+msgstr "Arbed Traciau Fel"
+
+#: ../bin/fileio.c:1212
+msgid "Open Tracks"
+msgstr "Traciau Agored"
+
+#: ../bin/fileio.c:1227
+msgid "Example Tracks"
+msgstr "Traciau Enghreifftiol"
+
+#: ../bin/fileio.c:1435
+#, c-format
+msgid "Module - %s"
+msgstr "Modiwl - %s"
+
+#: ../bin/fileio.c:1440 ../bin/fileio.c:1460
+msgid "Import Tracks"
+msgstr "Traciau Mewnforio"
+
+#: ../bin/fileio.c:1521
+msgid "Export Tracks"
+msgstr "Traciau Allforio"
+
+#: ../bin/fileio.c:1542
+msgid "Clipboard"
+msgstr "Clipfwrdd"
+
+#: ../bin/filenoteui.c:51 ../bin/linknoteui.c:45 ../bin/textnoteui.c:37
+msgid "Position X"
+msgstr "Swydd X"
+
+#: ../bin/filenoteui.c:53 ../bin/linknoteui.c:47 ../bin/textnoteui.c:39
+msgid "Position Y"
+msgstr "Swydd Y"
+
+#: ../bin/filenoteui.c:57 ../bin/linknoteui.c:51
+msgid "Title"
+msgstr "Teitl"
+
+#: ../bin/filenoteui.c:59 ../bin/trknote.c:57
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:88
+msgid "Document"
+msgstr "Dogfen"
+
+#: ../bin/filenoteui.c:61
+msgid "Select..."
+msgstr "Dewiswch ..."
+
+#: ../bin/filenoteui.c:63 ../bin/linknoteui.c:55
+msgid "Open..."
+msgstr "Ar agor .."
+
+#: ../bin/filenoteui.c:125
+msgid "Add Document"
+msgstr "Ychwanegu Dogfen"
+
+#: ../bin/filenoteui.c:147
+msgid "The file doesn't exist or cannot be read!"
+msgstr "Nid yw'r ffeil yn bodoli neu ni ellir ei darllen!"
+
+#: ../bin/filenoteui.c:287
+#, c-format
+msgid "Document(%d) Layer=%d %-.80s [%s]"
+msgstr "Dogfen(%d) Haed=%d %-.80s [%s]"
+
+#: ../bin/filenoteui.c:299
+msgid "Update document"
+msgstr "Dogfen Ddiweddaru"
+
+#: ../bin/filenoteui.c:313
+msgid "Describe the file"
+msgstr "Disgrifiwch y ffeil"
+
+#: ../bin/filenoteui.c:319
+msgid "Attach document"
+msgstr "Atodwch y ddogfen"
+
+#: ../bin/i18n.c:57
+#, c-format
+msgid "Gettext initialized (PACKAGE=%s, LOCALEDIR=%s, LC_ALL=%s).\n"
+msgstr "Gettext ymgychwyn (PACKAGE=%s, LOCALEDIR=%s, LC_ALL=%s).\n"
+
+#: ../bin/layout.c:404
+#, c-format
+msgid "Unable to load Image File - %s"
+msgstr "Methu llwytho Ffeil Delwedd - %s"
+
+#: ../bin/layout.c:470
+msgid "Load Background"
+msgstr "Cefndir Llwyth"
+
+#: ../bin/layout.c:493
+msgid "Room Width"
+msgstr "Lled Ystafell"
+
+#: ../bin/layout.c:494
+msgid " Height"
+msgstr " Uchder"
+
+#: ../bin/layout.c:495
+msgid "Layout Title"
+msgstr "Teitl y Cynllun"
+
+#: ../bin/layout.c:496
+msgid "Subtitle"
+msgstr "Is-deitl"
+
+#: ../bin/layout.c:500
+msgid " Gauge"
+msgstr " Medrydd"
+
+#: ../bin/layout.c:502
+msgid "Min Track Radius"
+msgstr "Radiws Trac Lleiaf"
+
+#: ../bin/layout.c:503
+msgid " Max Track Grade (%)"
+msgstr " Gradd Trac Uchaf (%)"
+
+#: ../bin/layout.c:505
+msgid "Background File Path"
+msgstr "Llwybr Ffeil Cefndir"
+
+#: ../bin/layout.c:506
+msgid "Browse ..."
+msgstr "Porwch ..."
+
+#: ../bin/layout.c:509
+msgid "Background PosX,Y"
+msgstr "Sefyllfa Gefndir X,Y"
+
+#: ../bin/layout.c:513
+msgid "Background Size"
+msgstr "Maint Cefndir"
+
+#: ../bin/layout.c:515
+msgid "Background Screen %"
+msgstr "Sgrin Cefndir %"
+
+#: ../bin/layout.c:517
+msgid "Background Angle"
+msgstr "Ongle Cefndir"
+
+#: ../bin/layout.c:518
+msgid "Named Settings File"
+msgstr "Ffeil Gosodiadau a Enwyd"
+
+#: ../bin/layout.c:519
+msgid "Write"
+msgstr "Ysgrifennu"
+
+#: ../bin/layout.c:520
+msgid "Read"
+msgstr "Darllenwch"
+
+#: ../bin/layout.c:611
+msgid "Layout Options"
+msgstr "Opsiynau Cynllun"
+
+#: ../bin/layout.c:797
+msgid "Read Settings"
+msgstr "Darllenwch Gosodiadau"
+
+#: ../bin/layout.c:798 ../bin/layout.c:821
+msgid "Settings File (*.xset)|*.xset"
+msgstr "Ffeil Gosodiadau (*.xset)|*.xset"
+
+#: ../bin/layout.c:820
+msgid "Write Settings"
+msgstr "Ysgrifennwch Gosodiadau"
+
+#: ../bin/linknoteui.c:53
+msgid "URL"
+msgstr "URL"
+
+#: ../bin/linknoteui.c:102
+#, c-format
+msgid ""
+"The entered URL is too long. The maximum allowed length is %d. Please edit "
+"the entered value."
+msgstr ""
+"Mae'r URL a gofnodwyd yn rhy hir. Yr hyd mwyaf a ganiateir yw %d. Golygwch y"
+" gwerth a gofnodwyd."
+
+#: ../bin/linknoteui.c:105
+msgid "Re-edit"
+msgstr "Ail-olygu"
+
+#: ../bin/linknoteui.c:237
+msgid "Update link"
+msgstr "Diweddariad Dolen"
+
+#: ../bin/linknoteui.c:255
+msgid "Create link"
+msgstr "Creu Cyswllt"
+
+#: ../bin/macro.c:64
+msgid "Message"
+msgstr "Neges"
+
+#: ../bin/macro.c:152
+msgid "Recording"
+msgstr "Recordio"
+
+#: ../bin/macro.c:187
+#, c-format
+msgid "End of Playback. Hit Step to exit\n"
+msgstr "Diwedd y Chwarae. Taro Cam i adael\n"
+
+#: ../bin/macro.c:251
+msgid "Record"
+msgstr "Cofnod"
+
+#: ../bin/macro.c:646
+msgid "Step"
+msgstr "Cam"
+
+#: ../bin/macro.c:649 ../bin/macro.c:1530
+msgid "Next"
+msgstr "Nesaf"
+
+#: ../bin/macro.c:652 ../bin/misc.c:779 ../bin/track.c:1152
+msgid "Quit"
+msgstr "Adael"
+
+#: ../bin/macro.c:655 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:590
+msgid "Speed"
+msgstr "Cyflymder"
+
+#: ../bin/macro.c:806 ../bin/macro.c:853
+msgid "Regression"
+msgstr "Atchweliad"
+
+#: ../bin/macro.c:1017 ../bin/macro.c:1386
+msgid "Demo"
+msgstr "Arddangos"
+
+#: ../bin/macro.c:1206
+#, c-format
+msgid "Elapsed time %lu\n"
+msgstr "Amser a aeth heibio %lu\n"
+
+#: ../bin/macro.c:1307
+msgid "Playback"
+msgstr "Chwarae"
+
+#: ../bin/macro.c:1389
+msgid "Slowest"
+msgstr "Mwyaf Araf"
+
+#: ../bin/macro.c:1390
+msgid "Slow"
+msgstr "Araf"
+
+#: ../bin/macro.c:1392
+msgid "Fast"
+msgstr "Cyflym"
+
+#: ../bin/macro.c:1393
+msgid "Faster"
+msgstr "Cyflymach"
+
+#: ../bin/macro.c:1394
+msgid "Fastest"
+msgstr "Cyflymaf"
+
+#: ../bin/macro.c:1513
+msgid "Can not find PARAMETER playback proc"
+msgstr "Methu dod o hyd i proc chwarae PARAMETER"
+
+#: ../bin/misc.c:148
+msgid "No Messages"
+msgstr "Dim Negeseuon"
+
+#: ../bin/misc.c:488 ../bin/misc.c:491
+msgid "ABORT"
+msgstr "Erthyliad"
+
+#: ../bin/misc.c:490
+msgid ""
+"\n"
+"Do you want to save your layout?"
+msgstr ""
+"\n"
+"Ydych chi am arbed eich cynllun?"
+
+#: ../bin/misc.c:572
+#, c-format
+msgid "No help for %s"
+msgstr "Dim help ar gyfer %s"
+
+#: ../bin/misc.c:674
+msgid ""
+"Save changes to the layout design before closing?\n"
+"\n"
+"If you don't save now, your unsaved changes will be discarded."
+msgstr ""
+"Arbedwch newidiadau i ddyluniad y cynllun cyn cau?\n"
+"\n"
+"Os na arbedwch nawr, bydd eich newidiadau heb eu cadw yn cael eu taflu."
+
+#: ../bin/misc.c:676 ../bin/misc.c:2516
+msgid "&Save"
+msgstr "&Arbedwch"
+
+#: ../bin/misc.c:676 ../bin/misc.c:711
+msgid "&Cancel"
+msgstr "&Canslo"
+
+#: ../bin/misc.c:676
+msgid "&Don't Save"
+msgstr "&Peidiwch ag Arbed"
+
+#: ../bin/misc.c:700
+msgid "examples"
+msgstr "Enghreifftiau"
+
+#: ../bin/misc.c:709
+msgid ""
+"Do you want to return to the last saved state?\n"
+"\n"
+"Revert will cause all changes done since last save to be lost."
+msgstr ""
+"Ydych chi eisiau dychwelyd i'r wladwriaeth ddiwethaf a arbedwyd?\n"
+"\n"
+"Bydd dychwelyd yn achosi i'r holl newidiadau a wnaed ers yr arbediad diwethaf gael eu colli. "
+
+#: ../bin/misc.c:711
+msgid "&Revert"
+msgstr "&Dychwelwch"
+
+#: ../bin/misc.c:932
+msgid "XTrackCAD Font"
+msgstr "XTrackCAD Ffont"
+
+#: ../bin/misc.c:993
+#, c-format
+msgid "No balloon help for %s\n"
+msgstr "Dim help balŵn ar gyfer %s\n"
+
+#: ../bin/misc.c:995 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:653
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:654
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:656
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:657
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:659
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:660
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:661
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:662
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:663
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:664
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:665
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:666
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:667
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:668
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:669
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:670
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:671
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:672
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:673
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:674
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:675
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:676
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:677
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:678
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:679
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:680
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:681
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:682
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:683
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:684
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:685
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:686
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:687
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:688
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:689
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:690
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:691
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:692
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:693
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:694
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:695
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:696
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:697
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:698
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:699
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:700
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:701
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:702
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:703
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:704
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:705
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:706
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:707
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:708
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:709
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:710
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:711
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:712
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:713
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:715
+msgid "No Help"
+msgstr "Dim Cymorth"
+
+#: ../bin/misc.c:1087
+msgid "File AutoSaved"
+msgstr "Ffeil Auto-Saved"
+
+#: ../bin/misc.c:1326 ../bin/misc.c:1333
+msgid ""
+"Cancelling the current command will undo the changes\n"
+"you are currently making. Do you want to do the update instead?"
+msgstr ""
+"Bydd canslo'r gorchymyn cyfredol yn dadwneud y newidiadau\n"
+"rydych chi'n ei wneud ar hyn o bryd. Ydych chi am wneud y diweddariad yn lle?"
+
+#: ../bin/misc.c:1405
+msgid ""
+"Cancelling the current command will undo the changes\n"
+"you are currently making. Do you want to update?"
+msgstr ""
+"Bydd canslo'r gorchymyn cyfredol yn dadwneud y newidiadau\n"
+"rydych chi'n ei wneud ar hyn o bryd. Ydych chi am ddiweddaru?"
+
+#: ../bin/misc.c:1918
+msgid "Sticky Commands"
+msgstr "Gorchmynion gludiog"
+
+#: ../bin/misc.c:1931
+msgid "File Buttons"
+msgstr "Botymau ffeil"
+
+#: ../bin/misc.c:1931
+msgid "Print Buttons"
+msgstr "Botymau Argraffu"
+
+#: ../bin/misc.c:1931
+msgid "Import/Export Buttons"
+msgstr "Botymau Mewnforio / Allforio"
+
+#: ../bin/misc.c:1932
+msgid "Zoom Buttons"
+msgstr "Botymau Chwyddo"
+
+#: ../bin/misc.c:1932
+msgid "Undo Buttons"
+msgstr "Dadwneud Botymau"
+
+#: ../bin/misc.c:1932
+msgid "Easement Button"
+msgstr "Botwm Rhwyddineb"
+
+#: ../bin/misc.c:1932
+msgid "SnapGrid Buttons"
+msgstr "Botwm Snap-Grid"
+
+#: ../bin/misc.c:1933
+msgid "Create Track Buttons"
+msgstr "Creu Botymau Trac"
+
+#: ../bin/misc.c:1933
+msgid "Layout Control Elements"
+msgstr "Elfennau Rheoli Cynllun"
+
+#: ../bin/misc.c:1934
+msgid "Modify Track Buttons"
+msgstr "Addasu Botymau Trac"
+
+#: ../bin/misc.c:1934
+msgid "Properties/Select"
+msgstr "Priodweddau / Dewis"
+
+#: ../bin/misc.c:1935
+msgid "Track Group Buttons"
+msgstr "Botymau Grŵp Trac "
+
+#: ../bin/misc.c:1935
+msgid "Train Group Buttons"
+msgstr "Botymau Grŵp Trên"
+
+#: ../bin/misc.c:1936
+msgid "Create Misc Buttons"
+msgstr "Creu Botymau Amrywiol"
+
+#: ../bin/misc.c:1936
+msgid "Ruler Button"
+msgstr "Creu Botymau Amrywiol"
+
+#: ../bin/misc.c:1937
+msgid "Layer Buttons"
+msgstr "Botymau Haen"
+
+#: ../bin/misc.c:1937
+msgid "Hot Bar"
+msgstr "Bar Poeth"
+
+#: ../bin/misc.c:2010 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:82
+msgid "Change Elevations"
+msgstr "Newid Drychiadau"
+
+#: ../bin/misc.c:2030
+msgid "Angle:"
+msgstr "Ongle:"
+
+#: ../bin/misc.c:2035
+msgid "Indexes:"
+msgstr "Mynegeion:"
+
+#: ../bin/misc.c:2041
+msgid "Move X:"
+msgstr "Symud X:"
+
+#: ../bin/misc.c:2042
+msgid "Move Y:"
+msgstr "Symud Y:"
+
+#: ../bin/misc.c:2060
+msgid "Select Index"
+msgstr "Dewis Mynegai"
+
+#: ../bin/misc.c:2114
+msgid "Enter Move ..."
+msgstr "Rhowch Symud ..."
+
+#: ../bin/misc.c:2119
+msgid "Select Track Index ..."
+msgstr "Dewiswch Mynegai Trac"
+
+#: ../bin/misc.c:2125
+msgid "180 "
+msgstr "180 "
+
+#: ../bin/misc.c:2126
+msgid "90 CW"
+msgstr "90 CW"
+
+#: ../bin/misc.c:2127
+msgid "45 CW"
+msgstr "45 CW"
+
+#: ../bin/misc.c:2128
+msgid "30 CW"
+msgstr "30 CW"
+
+#: ../bin/misc.c:2129
+msgid "15 CW"
+msgstr "15 CW"
+
+#: ../bin/misc.c:2130
+msgid "15 CCW"
+msgstr "15 CCW"
+
+#: ../bin/misc.c:2131
+msgid "30 CCW"
+msgstr "30 CCW"
+
+#: ../bin/misc.c:2132
+msgid "45 CCW"
+msgstr "45 CCW"
+
+#: ../bin/misc.c:2133
+msgid "90 CCW"
+msgstr "90 CCW"
+
+#: ../bin/misc.c:2134
+msgid "Enter Angle ..."
+msgstr "Rhowch Ongle ..."
+
+#: ../bin/misc.c:2151
+msgid "Test Mallocs"
+msgstr "Prawf Mallocs"
+
+#: ../bin/misc.c:2168
+msgid "Debug"
+msgstr "Debug"
+
+#: ../bin/misc.c:2391
+msgid "&File"
+msgstr "&Ffile"
+
+#: ../bin/misc.c:2392
+msgid "&Edit"
+msgstr "&Golygu"
+
+#: ../bin/misc.c:2393
+msgid "&View"
+msgstr "G&weld"
+
+#: ../bin/misc.c:2394
+msgid "&Add"
+msgstr "&Ychwanegu"
+
+#: ../bin/misc.c:2395
+msgid "&Change"
+msgstr "&Newid"
+
+#: ../bin/misc.c:2396
+msgid "&Draw"
+msgstr "&Tynnu"
+
+#: ../bin/misc.c:2397
+msgid "&Manage"
+msgstr "&Rheoli"
+
+#: ../bin/misc.c:2398
+msgid "&Options"
+msgstr "&Opsiynau"
+
+#: ../bin/misc.c:2399
+msgid "&Macro"
+msgstr "&Macro"
+
+#: ../bin/misc.c:2400
+msgid "&Window"
+msgstr "Ff&enestr"
+
+#: ../bin/misc.c:2401
+msgid "&Help"
+msgstr "&Helpu"
+
+#: ../bin/misc.c:2437
+msgid "Context Commands"
+msgstr "Gorchmynion Cyd-destun"
+
+#: ../bin/misc.c:2438
+msgid "Shift Context Commands"
+msgstr "Gorchmynion Cyd-destun Sifft"
+
+#: ../bin/misc.c:2452 ../bin/misc.c:2454
+msgid "Zoom Extents"
+msgstr "Maint Chwyddo"
+
+#: ../bin/misc.c:2457 ../bin/misc.c:2667
+msgid "Enable SnapGrid"
+msgstr "Galluogi Snap-Grid"
+
+#: ../bin/misc.c:2459
+msgid "SnapGrid Show"
+msgstr "Dangos Snap-Grid"
+
+#: ../bin/misc.c:2461
+msgid " Enable Magnetic Snap"
+msgstr "Galluogi Snap Magnetig"
+
+#: ../bin/misc.c:2463 ../bin/misc.c:2688
+msgid "Show/Hide Map"
+msgstr "Dangos / Cuddio Map"
+
+#: ../bin/misc.c:2486 ../bin/misc.c:2488
+msgid "Select Track Index..."
+msgstr "Dewiswch Mynegai Trac..."
+
+#: ../bin/misc.c:2500 ../bin/misc.c:2501
+msgid "Add..."
+msgstr "Ychwanegu ..."
+
+#: ../bin/misc.c:2504 ../bin/misc.c:2505
+msgid "More..."
+msgstr "Mwy ..."
+
+#: ../bin/misc.c:2510
+msgid "&New ..."
+msgstr "&Newydd"
+
+#: ../bin/misc.c:2512
+msgid "&Open ..."
+msgstr "&Agor"
+
+#: ../bin/misc.c:2518
+msgid "Save &As ..."
+msgstr "Arbed &Fel"
+
+#: ../bin/misc.c:2520
+msgid "Revert"
+msgstr "Dychwelwch"
+
+#: ../bin/misc.c:2533
+msgid "P&rint Setup ..."
+msgstr "&Gosodiad Argraffu"
+
+#: ../bin/misc.c:2541
+msgid "&Import"
+msgstr "&Mewnforio"
+
+#: ../bin/misc.c:2543
+msgid "Import &Module"
+msgstr "Modiwl Mewnforio"
+
+#: ../bin/misc.c:2545
+msgid "Export to &Bitmap"
+msgstr "Export to &Bitmap"
+
+#: ../bin/misc.c:2548
+msgid "E&xport"
+msgstr "Allforio"
+
+#: ../bin/misc.c:2550
+msgid "Export D&XF"
+msgstr "Allforio DXF"
+
+#: ../bin/misc.c:2554
+msgid "Export S&VG"
+msgstr "Allforio S&VG"
+
+#: ../bin/misc.c:2560
+msgid "Parameter &Files ..."
+msgstr "&Ffeiliau Paramedr ..."
+
+#: ../bin/misc.c:2562
+msgid "No&tes ..."
+msgstr "Nodiadau"
+
+#: ../bin/misc.c:2569
+msgid "E&xit"
+msgstr "Allanfa"
+
+#: ../bin/misc.c:2601
+msgid "&Undo"
+msgstr "Dadwneud"
+
+#: ../bin/misc.c:2603
+msgid "R&edo"
+msgstr "Ail-wneud"
+
+#: ../bin/misc.c:2606
+msgid "Cu&t"
+msgstr "Torri"
+
+#: ../bin/misc.c:2608
+msgid "&Copy"
+msgstr "Copi"
+
+#: ../bin/misc.c:2610
+msgid "&Paste"
+msgstr "Gludo"
+
+#: ../bin/misc.c:2612
+msgid "C&lone"
+msgstr "Clôn"
+
+#: ../bin/misc.c:2614
+msgid "De&lete"
+msgstr "Dileu"
+
+#: ../bin/misc.c:2622
+msgid "Select &All"
+msgstr "Dewiswch Bawb"
+
+#: ../bin/misc.c:2624
+msgid "Select By Index"
+msgstr "Dewiswch yn ôl Mynegai"
+
+#: ../bin/misc.c:2625
+msgid "&Deselect All"
+msgstr "Dad-ddewis Pawb"
+
+#: ../bin/misc.c:2626
+msgid "&Invert Selection"
+msgstr "Dewis Gwrthdro"
+
+#: ../bin/misc.c:2627
+msgid "Select Stranded Track"
+msgstr "Dewiswch Trac sownd"
+
+#: ../bin/misc.c:2629
+msgid "Tu&nnel"
+msgstr "Twnnel"
+
+#: ../bin/misc.c:2630
+msgid "B&ridge"
+msgstr "Pont"
+
+#: ../bin/misc.c:2631
+msgid "Ties/NoTies"
+msgstr "Cwsgwyr / Dim Cysgu"
+
+#: ../bin/misc.c:2632
+msgid "Move to &Front"
+msgstr "Symud i'r Blaen"
+
+#: ../bin/misc.c:2633
+msgid "Move to &Back"
+msgstr "Symud Yn Ôl"
+
+#: ../bin/misc.c:2644
+msgid "Zoom &In"
+msgstr "Chwyddo i mewn"
+
+#: ../bin/misc.c:2647
+msgid "Zoom &Out"
+msgstr "Chwyddo allan"
+
+#: ../bin/misc.c:2649
+msgid "Zoom &Extents"
+msgstr "Maint Chwyddo"
+
+#: ../bin/misc.c:2660
+msgid "&Redraw"
+msgstr "Ail-lunio"
+
+#: ../bin/misc.c:2662
+msgid "Redraw All"
+msgstr "Ail-lunio Pawb"
+
+#: ../bin/misc.c:2669
+msgid "Show SnapGrid"
+msgstr "Dangos SnapGrid"
+
+#: ../bin/misc.c:2679
+msgid "Enable Magnetic Snap"
+msgstr "Enable Magnetic Snap"
+
+#: ../bin/misc.c:2694
+msgid "&Tool Bar"
+msgstr "Bar offer"
+
+#: ../bin/misc.c:2727
+msgid "Control Element"
+msgstr "Elfen Reoli"
+
+#: ../bin/misc.c:2757
+msgid "Change Scale"
+msgstr "Graddfa Newid"
+
+#: ../bin/misc.c:2770
+msgid "&Loosen Tracks"
+msgstr "Traciau Llaciedig"
+
+#: ../bin/misc.c:2777
+msgid "Raise/Lower Elevations"
+msgstr "Codi / Drychiadau Is"
+
+#: ../bin/misc.c:2786
+msgid "Recompute Elevations"
+msgstr "Ailgyfrifo Drychiadau"
+
+#: ../bin/misc.c:2804
+msgid "L&ayout ..."
+msgstr "Cynllun ..."
+
+#: ../bin/misc.c:2806
+msgid "&Display ..."
+msgstr "Arddangos ..."
+
+#: ../bin/misc.c:2808
+msgid "Co&mmand ..."
+msgstr "Gorchymyn ..."
+
+#: ../bin/misc.c:2810
+msgid "&Easements ..."
+msgstr "Rhwyddinebau ..."
+
+#: ../bin/misc.c:2813
+msgid "&Fonts ..."
+msgstr "Ffontiau ..."
+
+#: ../bin/misc.c:2815
+msgid "Stic&ky ..."
+msgstr "Gludiog ..."
+
+#: ../bin/misc.c:2820
+msgid "&Debug ..."
+msgstr "Debug"
+
+#: ../bin/misc.c:2823
+msgid "&Preferences ..."
+msgstr "Dewisiadau ..."
+
+#: ../bin/misc.c:2825
+msgid "&Colors ..."
+msgstr "Lliwiau ..."
+
+#: ../bin/misc.c:2831
+msgid "&Record ..."
+msgstr "Cofnod ..."
+
+#: ../bin/misc.c:2833
+msgid "&Play Back ..."
+msgstr "Ailchwarae ..."
+
+#: ../bin/misc.c:2839
+msgid "Main window"
+msgstr "Prif Ffenestr"
+
+#: ../bin/misc.c:2853
+msgid "Recent Messages"
+msgstr "Negeseuon Diweddar"
+
+#: ../bin/misc.c:2860
+msgid "Tip of the Day..."
+msgstr "Blaen y Dydd ..."
+
+#: ../bin/misc.c:2861
+msgid "&Demos"
+msgstr "Demos"
+
+#: ../bin/misc.c:2862
+msgid "Examples..."
+msgstr "Enghreifftiau ..."
+
+#: ../bin/misc.c:2866 ../bin/smalldlg.c:205
+msgid "About"
+msgstr "Ynghylch"
+
+#: ../bin/misc.c:2879
+msgid "Tur&nout Designer..."
+msgstr "Dylunydd Pwynt"
+
+#: ../bin/misc.c:2882
+msgid "Layout &Control Elements"
+msgstr "Elfennau Rheoli Cynllun"
+
+#: ../bin/misc.c:2884
+msgid "&Group"
+msgstr "Grŵp"
+
+#: ../bin/misc.c:2886
+msgid "&Ungroup"
+msgstr "Di-grŵp"
+
+#: ../bin/misc.c:2890
+msgid "Custom defined parts..."
+msgstr "Rhannau wedi'u diffinio'n benodol"
+
+#: ../bin/misc.c:2893
+msgid "Update Turnouts and Structures"
+msgstr "Diweddaru pwyntiau a strwythurau"
+
+#: ../bin/misc.c:2902
+msgid "Layers ..."
+msgstr "Haenau ..."
+
+#: ../bin/misc.c:2906
+msgid "Parts &List ..."
+msgstr "Rhestr Rhannau ..."
+
+#: ../bin/misc.c:2909
+msgid "Price List..."
+msgstr "Rhestr pris ..."
+
+#: ../bin/misc.c:2954
+msgid "Import/Export"
+msgstr "Mewnforio / Allforio"
+
+#: ../bin/misc.c:2986
+msgid ""
+"Program was not terminated properly. Do you want to resume working on the "
+"previous trackplan?"
+msgstr ""
+"Ni ddaeth y rhaglen i ben yn iawn. Ydych chi am ailddechrau gweithio ar y "
+"cynllun blaenorol?"
+
+#: ../bin/misc.c:2987
+msgid "Resume"
+msgstr "Ail-ddechrau"
+
+#: ../bin/misc.c:2987
+msgid "Resume with New Name"
+msgstr "Ail-ddechrau gydag enw newydd"
+
+#: ../bin/misc.c:2987
+msgid "Ignore Checkpoint"
+msgstr "Anwybyddu pwynt gwirio"
+
+#: ../bin/misc.c:2990
+#, c-format
+msgid "Reload Checkpoint Selected\n"
+msgstr "Pwynt Gwirio Ail-lwytho wedi'i Ddethol\n"
+
+#: ../bin/misc.c:2992
+#, c-format
+msgid "Reload Checkpoint With New Name Selected\n"
+msgstr "Pwynt Gwirio Ail-lwytho gyda'r Enw Newydd wedi'i Ddethol\n"
+
+#: ../bin/misc.c:2994
+#, c-format
+msgid "Ignore Checkpoint Selected\n"
+msgstr "Anwybyddu Checkpoint a ddewiswyd\n"
+
+#: ../bin/misc.c:3106
+#, c-format
+msgid "Unnamed Trackplan - %s(%s)"
+msgstr "Cynllun dienw - %s(%s)"
+
+#: ../bin/misc.c:3193
+msgid "Initializing commands"
+msgstr "Cychwyn Gorchmynion"
+
+#: ../bin/misc.c:3202
+msgid "Initializing menus"
+msgstr "Cychwyn Bwydlenni"
+
+#: ../bin/misc.c:3238
+msgid "Reading parameter files"
+msgstr "Darllen Ffeiliau Paramedr"
+
+#: ../bin/misc.c:3276
+msgid "Initialization complete"
+msgstr "Daeth y Cychwyn i ben"
+
+#: ../bin/param.c:65
+msgid "Unexpected End Of String"
+msgstr "Diwedd annisgwyl y llinyn"
+
+#: ../bin/param.c:72
+msgid "Expected digit"
+msgstr "Nifer disgwyliedig"
+
+#: ../bin/param.c:79
+msgid "Overflow"
+msgstr "Gorlif"
+
+#: ../bin/param.c:127
+msgid "Divide by 0"
+msgstr "Rhannwch â 0"
+
+#: ../bin/param.c:135
+msgid "Expected /"
+msgstr "Disgwyliedig /"
+
+#: ../bin/param.c:221
+msgid "Invalid Units Indicator"
+msgstr "Dangosydd Unedau Annilys"
+
+#: ../bin/param.c:249
+msgid "Expected End Of String"
+msgstr "Diwedd disgwyliedig y Llinyn"
+
+#: ../bin/param.c:275 ../bin/param.c:1425
+#, c-format
+msgid "Invalid Number"
+msgstr "Rhif Annilys"
+
+#: ../bin/param.c:335
+msgid "End Of String"
+msgstr "Diwedd y Llinyn"
+
+#: ../bin/param.c:1387
+#, c-format
+msgid "Enter a value > %ld"
+msgstr "Rhowch werth > %ld"
+
+#: ../bin/param.c:1389
+#, c-format
+msgid "Enter a value < %ld"
+msgstr "Rhowch werth < %ld"
+
+#: ../bin/param.c:1391
+#, c-format
+msgid "Enter a value between %ld and %ld"
+msgstr "Rhowch werth rhwng %ld a %ld"
+
+#: ../bin/param.c:1458
+#, c-format
+msgid "Enter a value > %s"
+msgstr "Rhowch werth > %s"
+
+#: ../bin/param.c:1461
+#, c-format
+msgid "Enter a value < %s"
+msgstr "Rhowch werth < %s"
+
+#: ../bin/param.c:1464
+#, c-format
+msgid "Enter a value between %s and %s"
+msgstr "Rhowch werth rhwng %s a %s"
+
+#: ../bin/param.c:1556
+msgid "String cannot be blank"
+msgstr "Ni all llinyn fod yn wag"
+
+#: ../bin/param.c:1674
+msgid "Invalid input(s), please correct the hilighted field(s)"
+msgstr "Mewnbwn (au) annilys, cywirwch y maes (meysydd) hilighted"
+
+#: ../bin/param.c:2746
+msgid "Help"
+msgstr "Help"
+
+#: ../bin/paramfile.c:257
+msgid "Parameter"
+msgstr "Paramedr"
+
+#: ../bin/paramfile.c:354
+msgid "Unknown param file line - skip until next good object?"
+msgstr "Llinell ffeiliau param anhysbys - sgipiwch tan y gwrthrych da nesaf?"
+
+#: ../bin/paramfilelist.c:69
+#, c-format
+msgid ""
+"The parameter file: %s could not be found and was probably deleted or moved."
+" The file is removed from the active parameter file list."
+msgstr ""
+"Y ffeil baramedr: %s ni ellid dod o hyd iddo ac mae'n debyg iddo gael ei "
+"ddileu neu ei symud. Mae'r ffeil yn cael ei thynnu o'r rhestr ffeiliau "
+"paramedr gweithredol."
+
+#: ../bin/paramfilelist.c:119
+#, c-format
+msgid "Updating %s"
+msgstr "Diweddaru %s"
+
+#: ../bin/paramfilesearch_ui.c:53
+msgid "Fit Any"
+msgstr "Ffitiwch Unrhyw"
+
+#: ../bin/paramfilesearch_ui.c:53
+msgid "Fit Compatible"
+msgstr "Ffit Cydnaws"
+
+#: ../bin/paramfilesearch_ui.c:53
+msgid "Fit Exact"
+msgstr "Ffit Union"
+
+#: ../bin/paramfilesearch_ui.c:191
+#, c-format
+msgid "%u parameter files in library. %d Fit Scale."
+msgstr "%u ffeiliau paramedr yn y llyfrgell. %d Graddfa Ffit."
+
+#: ../bin/paramfilesearch_ui.c:308
+#, c-format
+msgid "%d parameter files found. %d Fit Scale"
+msgstr "%d ffeiliau paramedr wedi'u darganfod. %d Graddfa Ffit"
+
+#: ../bin/paramfilesearch_ui.c:317
+msgid "No matches found."
+msgstr "Ni ddarganfuwyd gemau."
+
+#: ../bin/paramfilesearch_ui.c:476
+msgid "Choose parameter files"
+msgstr "Dewiswch ffeiliau paramedr"
+
+#: ../bin/paramfilesearch_ui.c:494
+msgid "No system parameter files found, search is disabled."
+msgstr ""
+"Ni ddarganfuwyd ffeiliau paramedr system, mae'r chwiliad wedi'i anablu."
+
+#: ../bin/partcatalog.c:736
+msgid "Found: "
+msgstr "Wedi'i ddarganfod:"
+
+#: ../bin/partcatalog.c:737
+msgid "Similar: "
+msgstr "Tebyg:"
+
+#: ../bin/partcatalog.c:738
+msgid "Ignored: "
+msgstr "Anwybyddwyd:"
+
+#: ../bin/partcatalog.c:739
+msgid "Not found: "
+msgstr "Heb ei ddarganfod:"
+
+#: ../bin/smalldlg.c:46
+msgid "Show tips at start"
+msgstr "Dangos awgrymiadau ar y dechrau"
+
+#: ../bin/smalldlg.c:52
+msgid "Did you know..."
+msgstr "Oeddet ti'n gwybod..."
+
+#: ../bin/smalldlg.c:54
+msgid "Previous Tip"
+msgstr "Awgrym Blaenorol"
+
+#: ../bin/smalldlg.c:55
+msgid "Next Tip"
+msgstr "Awgrym Nesaf"
+
+#: ../bin/smalldlg.c:72
+msgid "Tip of the Day"
+msgstr "Blaen y Dydd"
+
+#: ../bin/smalldlg.c:81
+msgid "No tips are available"
+msgstr "Nid oes unrhyw awgrymiadau ar gael"
+
+#: ../bin/smalldlg.c:182
+msgid ""
+"XTrackCAD is a CAD (computer-aided design) program for designing model "
+"railroad layouts."
+msgstr ""
+"Rhaglen CAD (dylunio gyda chymorth cyfrifiadur) yw XTrackCAD ar gyfer "
+"dylunio cynlluniau model rheilffyrdd."
+
+#: ../bin/svgoutput.c:484
+msgid "Export to SVG"
+msgstr "Allforio i SVG"
+
+#: ../bin/tbezier.c:184
+#, c-format
+msgid "Bez: L%s A%0.3f trk_len=%s min_rad=%s"
+msgstr "Bez: H%s O%0.3f trk_hyd=%s mun_rad=%s"
+
+#: ../bin/tbezier.c:254
+msgid "Ctl Pt 1: X,Y"
+msgstr "Ctl Pt 1: X,Y"
+
+#: ../bin/tbezier.c:255
+msgid "Ctl Pt 2: X,Y"
+msgstr "Ctl Pt 2: X,Y"
+
+#: ../bin/tbezier.c:261
+msgid "MinRadius"
+msgstr "Radiws Min"
+
+#: ../bin/tbezier.c:266
+msgid "Line Color"
+msgstr "Lliw Llinell"
+
+#: ../bin/tbezier.c:393
+#, c-format
+msgid ""
+"Bezier %s(%d): Layer=%u MinRadius=%s Length=%s EP=[%0.3f,%0.3f] "
+"[%0.3f,%0.3f] CP1=[%0.3f,%0.3f] CP2=[%0.3f, %0.3f]"
+msgstr ""
+"Bezier %s(%d): Hean=%u MinRadiws=%s Hyd=%s EP=[%0.3f,%0.3f] [%0.3f,%0.3f] "
+"CP1=[%0.3f,%0.3f] CP2=[%0.3f, %0.3f]"
+
+#: ../bin/tbezier.c:467
+msgid "Bezier Track"
+msgstr "Bezier Trac"
+
+#: ../bin/tcornu.c:232
+#, c-format
+msgid "Cornu: L %s A %0.3f L %s MinR %s"
+msgstr "Cornu: L %s A %0.3f L %s MinR %s"
+
+#: ../bin/tcornu.c:304
+msgid "Radius "
+msgstr "Radiws "
+
+#: ../bin/tcornu.c:312
+msgid "Minimum Radius"
+msgstr "Radiws Lleiaf"
+
+#: ../bin/tcornu.c:313
+msgid "Max Rate Of Curve Change/Scale"
+msgstr "Cyfradd Uchaf Newid/Graddfa Cromlin"
+
+#: ../bin/tcornu.c:314
+msgid "Total Winding Angle"
+msgstr "Cyfanswm Ongl Dirwyn"
+
+#: ../bin/tcornu.c:452
+#, c-format
+msgid ""
+"Cornu Track(%d): Layer=%u MinRadius=%s Length=%s EP=[%0.3f,%0.3f] "
+"[%0.3f,%0.3f]"
+msgstr ""
+"Cornu Trac(%d): Hean=%u MinRadiws=%s Hyd=%s EP=[%0.3f,%0.3f] [%0.3f,%0.3f]"
+
+#: ../bin/tcornu.c:505
+msgid "Cornu Track"
+msgstr "Cornu Trac"
+
+#: ../bin/tcurve.c:250
+#, c-format
+msgid "Helix: Turns %ld L %0.2f Grade %0.1f%% Sep %0.2f"
+msgstr "Helix: Troi %ld L %0.2f Gradd %0.1f%% Gwahanu%0.2f"
+
+#: ../bin/tcurve.c:256
+#, c-format
+msgid "Helix: Turns %ld L %0.2f"
+msgstr "Helix: Troi %ld L %0.2f"
+
+#: ../bin/tcurve.c:378 ../bin/tcurve.c:380 ../bin/tease.c:510
+#: ../bin/tease.c:512 ../bin/tstraigh.c:87 ../bin/tstraigh.c:89
+msgid "Z"
+msgstr "Z"
+
+#: ../bin/tcurve.c:565
+#, c-format
+msgid ""
+"Helix Track(%d): Layer=%d Radius=%s Turns=%ld Length=%s Center=[%s,%s] "
+"EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
+msgstr ""
+"Helix Trac(%d): Haen=%d Radiws=%s Turns=%ld Hyd=%s Canol=[%s,%s] "
+"EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
+
+#: ../bin/tcurve.c:575
+#, c-format
+msgid ""
+"Curved Track(%d): Layer=%d Radius=%s Length=%s Center=[%s,%s] "
+"EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
+msgstr ""
+"Trac Crwm(%d): Hean=%d Radiws=%s Hyd=%s Canol=[%s,%s] EP=[%0.3f,%0.3f "
+"A%0.3f] [%0.3f,%0.3f A%0.3f]"
+
+#: ../bin/tcurve.c:652
+msgid "Helix Track"
+msgstr "Trac Helix"
+
+#: ../bin/tcurve.c:658
+msgid "Curved Track"
+msgstr "Trac Crwm"
+
+#: ../bin/tcurve.c:1033
+msgid "Merge Curves"
+msgstr "Cyfuno Cromliniau"
+
+#: ../bin/tcurve.c:1102
+msgid "Drag to change angle or create tangent"
+msgstr "Llusgwch i newid ongl neu greu tangiad"
+
+#: ../bin/tcurve.c:1135 ../bin/tcurve.c:1167
+msgid "Curved "
+msgstr "Yn grwm"
+
+#: ../bin/tcurve.c:1141
+msgid "Tangent "
+msgstr "Tangiad"
+
+#: ../bin/tcurve.c:1150
+#, c-format
+msgid "Tangent track: Length %s Angle %0.3f"
+msgstr "Trac Tangiad: Hyd %s Ongle %0.3f"
+
+#: ../bin/tcurve.c:1172
+#, c-format
+msgid "Curved: Radius=%s Length=%s Angle=%0.3f"
+msgstr "Yn grwm: Radiws=%s Hyd=%s Ongle=%0.3f"
+
+#: ../bin/tease.c:517
+msgid "l0"
+msgstr "l0"
+
+#: ../bin/tease.c:518
+msgid "l1"
+msgstr "l1"
+
+#: ../bin/tease.c:560
+#, c-format
+msgid ""
+"Joint Track(%d): Layer=%d Length=%0.3f EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f "
+"A%0.3f]"
+msgstr ""
+"Trac ar y cyd(%d): Haen=%d Hyd=%0.3f EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f "
+"A%0.3f]"
+
+#: ../bin/tease.c:605
+msgid "Easement Track"
+msgstr "Trac Hawddfraint"
+
+#: ../bin/tease.c:1330
+msgid "Merge Easements"
+msgstr "Uno Rhwyddinebau"
+
+#: ../bin/tease.c:1398
+msgid "Split Easement Curve"
+msgstr "Cromlin Rhwyddineb Hollti"
+
+#: ../bin/textnoteui.c:209
+#, c-format
+msgid "Note: Layer=%d %-.80s"
+msgstr "Dogfen: Haen=%d %-.80s"
+
+#: ../bin/textnoteui.c:220
+msgid "Update comment"
+msgstr "Diweddariad Sylw"
+
+#: ../bin/textnoteui.c:232
+msgid "Replace this text with your note"
+msgstr "Amnewid y testun hwn gyda'ch nodyn"
+
+#: ../bin/textnoteui.c:236
+msgid "Create Text Note"
+msgstr "Creu nodyn testun"
+
+#: ../bin/track.c:274
+msgid "No track or structure pieces are present in layout"
+msgstr "Nid oes unrhyw ddarnau trac na strwythur yn bresennol yn y cynllun"
+
+#: ../bin/track.c:276
+msgid "No track or structure pieces are selected"
+msgstr "Ni ddewisir unrhyw ddarnau trac na strwythur"
+
+#: ../bin/track.c:1379
+msgid "Move Objects Above"
+msgstr "Symud gwrthrychau uwchben"
+
+#: ../bin/track.c:1399
+msgid "Mode Objects Below"
+msgstr "Symud gwrthrychau isod"
+
+#: ../bin/track.c:1692
+msgid "Audit"
+msgstr "Archwilio"
+
+#: ../bin/track.c:1981
+#, c-format
+msgid "%d Track(s) loosened"
+msgstr "%d Trac(iau) llacio"
+
+#: ../bin/track.c:1988
+msgid "No tracks loosened"
+msgstr "Dim traciau wedi llacio"
+
+#: ../bin/track.c:1998 ../bin/track.c:2002
+#, c-format
+msgid "Connecting a non-track(%d) to (%d)"
+msgstr "Cysylltu trac nad yw'n drac(%d) a (%d)"
+
+#: ../bin/track.c:2057
+msgid "Join Abutting Tracks"
+msgstr "Ymunwch â thraciau cyffiniol"
+
+#: ../bin/track.c:2345 ../bin/track.c:2380
+msgid "Inside turnout track"
+msgstr "Trac pwynt y tu mewn"
+
+#: ../bin/track.c:2363
+#, c-format
+msgid "Curve: Length=%s Radius=%0.3f Arc=%0.3f"
+msgstr "Cromlin: Hyd=%s Radiws=%0.3f Arc=%0.3f"
+
+#: ../bin/track.c:2386 ../bin/track.c:2444 ../bin/tstraigh.c:646
+#, c-format
+msgid "Straight: Length=%s Angle=%0.3f"
+msgstr "Syth: Hyd=%s Ongle=%0.3f"
+
+#: ../bin/track.c:3571
+#, c-format
+msgid "%s[%0.2f,%0.2f] A%0.2f"
+msgstr "%s[%0.2f,%0.2f] O%0.2f"
+
+#: ../bin/track.c:3573
+#, c-format
+msgid "%s[%0.2f,%0.2f] A%0.2f\n"
+msgstr "%s[%0.2f,%0.2f] O%0.2f\n"
+
+#: ../bin/trknote.c:55
+msgid "Comment"
+msgstr "Sylw"
+
+#: ../bin/trknote.c:56
+msgid "Link"
+msgstr "Dolen"
+
+#: ../bin/trknote.c:56 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:104
+msgid "Weblink"
+msgstr "Dolen we"
+
+#: ../bin/trknote.c:639 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:112
+msgid "Place a note on the layout"
+msgstr "Rhowch nodyn ar y cynllun"
+
+#: ../bin/trknote.c:653
+msgid "New Note"
+msgstr "Nodyn newydd"
+
+#: ../bin/trknote.c:709
+msgid "Add notes"
+msgstr "Ychwanegu nodiadau"
+
+#: ../bin/tstraigh.c:91
+msgid "Track Angle"
+msgstr "Ongl y Trac"
+
+#: ../bin/tstraigh.c:194
+#, c-format
+msgid ""
+"Straight Track(%d): Layer=%d Length=%s EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f "
+"A%0.3f]"
+msgstr ""
+"Trac Syth(%d): Haen=%d Hyd=%s EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
+
+#: ../bin/tstraigh.c:559
+msgid "Extending Straight Track"
+msgstr "Ymestyn Trac Syth"
+
+#: ../bin/tstraigh.c:639
+msgid "Straight "
+msgstr "Syth"
+
+#: ../wlib/gtklib/filesel.c:94
+msgid "Save format:"
+msgstr "Arbed fformat:"
+
+#: ../wlib/gtklib/filesel.c:187
+msgid "Image files"
+msgstr "Ffeiliau delwedd"
+
+#: ../wlib/gtklib/font.c:282
+msgid "Font Select"
+msgstr "Ffont dewis"
+
+#: ../wlib/gtklib/help.c:84 ../wlib/mswlib/mswmisc.c:2274
+msgid "&Contents"
+msgstr "Cynnwys"
+
+#: ../wlib/gtklib/help.c:85
+msgid "Co&mmand Context help"
+msgstr "Cymorth Cyd-destun Gorchymyn"
+
+#: ../wlib/gtklib/ixhelp.c:243
+msgid "Home"
+msgstr "Hafan"
+
+#: ../wlib/gtklib/ixhelp.c:247
+msgid "Contents"
+msgstr "Cynnwys"
+
+#: ../wlib/gtklib/menu.c:541
+msgid "<Empty List>"
+msgstr "<Empty List>"
+
+#: ../wlib/gtklib/notice.c:101 ../wlib/mswlib/mswmisc.c:2134
+#: ../wlib/mswlib/mswmisc.c:2177
+msgid "Warning"
+msgstr "Rhybudd"
+
+#: ../wlib/gtklib/notice.c:106 ../wlib/mswlib/mswmisc.c:2139
+msgid "Error"
+msgstr "Gwall"
+
+#: ../wlib/gtklib/text.c:300
+#, c-format
+msgid "%d of %d"
+msgstr "%d i %d"
+
+#: ../wlib/gtklib/wpref.c:123
+#, c-format
+msgid ""
+"The required configuration files could not be located in the expected location.\n"
+"\n"
+"Usually this is an installation problem. Make sure that these files are installed in either \n"
+" ../share/xtrkcad or\n"
+" /usr/share/%s or\n"
+" /usr/local/share/%s\n"
+"If this is not possible, the environment variable %s must contain the name of the correct directory."
+msgstr ""
+"Ni ellid lleoli'r ffeiliau cyfluniad gofynnol yn y lleoliad disgwyliedig.\n"
+"\n"
+"Fel arfer mae hon yn broblem gosod. Sicrhewch fod y ffeiliau hyn wedi'u gosod yn y naill neu'r llall \n"
+" ../share/xtrkcad neu\n"
+" /usr/share/%s neu\n"
+" /usr/local/share/%s\n"
+"Os nad yw hyn yn bosibl, bydd yr amgylchedd yn newid %s rhaid iddo gynnwys enw'r cyfeiriadur cywir."
+
+#: ../wlib/gtklib/wpref.c:157 ../wlib/gtklib/wpref.c:202
+msgid "HOME is not set"
+msgstr "nid yw HOME wedi'i osod"
+
+#: ../wlib/gtklib/wpref.c:157 ../wlib/gtklib/wpref.c:166
+#: ../wlib/gtklib/wpref.c:202
+msgid "Exit"
+msgstr "Allanfa"
+
+#: ../wlib/gtklib/wpref.c:165
+#, c-format
+msgid "Cannot create %s"
+msgstr "Methu creu %s"
+
+#: ../wlib/mswlib/backgnd.c:104
+msgid "Image file is invalid or cannot be read."
+msgstr "Mae'r ffeil ddelwedd yn annilys neu ni ellir ei darllen."
+
+#: ../wlib/mswlib/mswmenu.c:888
+msgid "Ctrl+"
+msgstr "Ctrl+"
+
+#: ../wlib/mswlib/mswmenu.c:893
+msgid "Alt+"
+msgstr "Alt+"
+
+#: ../wlib/mswlib/mswmenu.c:898
+msgid "Shift+"
+msgstr "Shift+"
+
+#: ../wlib/mswlib/mswmenu.c:904
+msgid "Space"
+msgstr "Gofod"
+
+#: ../wlib/mswlib/mswmisc.c:195
+msgid "All image files"
+msgstr "Pob ffeil ddelwedd"
+
+#: ../wlib/mswlib/mswmisc.c:197
+msgid "GIF files (*.gif)"
+msgstr "GIF ffeiliau (*.gif)"
+
+#: ../wlib/mswlib/mswmisc.c:199
+msgid "JPEG files (*.jpeg,*.jpg)"
+msgstr "JPEG ffeiliau (*.jpeg,*.jpg)"
+
+#: ../wlib/mswlib/mswmisc.c:201
+msgid "PNG files (*.png)"
+msgstr "PNG ffeiliau (*.png)"
+
+#: ../wlib/mswlib/mswmisc.c:203
+msgid "TIFF files (*.tiff, *.tif)"
+msgstr "TIFF ffeiliau (*.tiff, *.tif)"
+
+#: ../wlib/mswlib/mswmisc.c:205
+msgid "All files (*)"
+msgstr "Pob Ffeil (*)"
+
+#: ../wlib/mswlib/mswmisc.c:2275
+msgid "&Search for Help on..."
+msgstr "Chwilio am help ar ..."
+
+#: ../wlib/mswlib/mswmisc.c:2276
+msgid "Co&mmand Context Help"
+msgstr "Cymorth Cyd-destun Gorchymyn"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:9
+#, c-format
+msgid ""
+"MSG_BETA_NOTICE\tXTrackCAD Version %s: Please note that this Beta Version of"
+" XTrackCAD is still undergoing final testing before its official release. "
+"The sole purpose of this Beta Version is to conduct testing and obtain "
+"feedback. Should you encounter any bugs, glitches, lack of functionality or "
+"other problems, please let us know immediately so we can rectify these "
+"accordingly. Your help in this regard is greatly appreciated!"
+msgstr ""
+"MSG_BETA_NOTICE\tXTrackCAD Version %s: Sylwch fod y Fersiwn Beta hon o "
+"XTrackCAD yn dal i gael ei phrofi'n derfynol cyn ei rhyddhau'n swyddogol. "
+"Unig bwrpas y Fersiwn Beta hon yw cynnal profion a chael adborth. Os byddwch"
+" chi'n dod ar draws unrhyw chwilod, bylchau, diffyg ymarferoldeb neu "
+"broblemau eraill, rhowch wybod i ni ar unwaith er mwyn i ni allu cywiro'r "
+"rhain yn unol â hynny. Gwerthfawrogir eich help yn hyn o beth yn fawr!"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:10
+#, c-format
+msgid ""
+"MSG_CANT_PLACE_FROGPOINTS\tFrog|Points cannot be placed on a turnout, circle"
+" or helix.\tA %s cannot be placed on a turnout, circle or helix."
+msgstr ""
+"MSG_CANT_PLACE_FROGPOINTS\tNi ellir gosod FrogPoints ar bwynt, cylch na "
+"helics\tNi ellir gosod %s ar y nifer sy'n pleidleisio, cylch na helics."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:11
+msgid ""
+"MSG_SEL_TRK_FROZEN\tA frozen layer contains selected track. Command cannot "
+"be executed."
+msgstr ""
+"MSG_SEL_TRK_FROZEN\tMae haen wedi'i rewi yn cynnwys trac dethol. Ni ellir "
+"gweithredu gorchymyn."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:12
+msgid "MSG_HELIX_TURNS_GTR_0\tA Helix must have one or more loops of track."
+msgstr "MSG_HELIX_TURNS_GTR_0\tRhaid bod gan Helix un dolen neu fwy o drac."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:13
+msgid ""
+"MSG_LARGE_FONT\tA large font has been selected....\tA large font has been selected.\n"
+"Large fonts may a take a while to load.\n"
+"\n"
+"Do you wish to continue?"
+msgstr ""
+"MSG_LARGE_FONT\tMae ffont fawr wedi'i dewis ....\tMae ffont fawr wedi'i dewis..\n"
+"Gall ffontiau mawr gymryd amser i'w llwytho.\n"
+"\n"
+"Ydych chi am barhau?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:14
+msgid ""
+"MSG_TEXT_TOO_LONG\tThe entered text was too long for the text object. It was"
+" truncated."
+msgstr ""
+"MSG_TEXT_TOO_LONG\tRoedd y testun a gofnodwyd yn rhy hir ar gyfer gwrthrych "
+"y testun. Cafodd ei gwtogi."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:15
+msgid ""
+"MSG_TODSGN_DESC_NONBLANK\tAll description fields present in the Turnout...\tAll description fields present in the Turnout\n"
+"Designer must contain appropriate information.\n"
+"Correct inappropriate values and try again."
+msgstr ""
+"MSG_TODSGN_DESC_NONBLANK\tPob maes disgrifio sy'n bresennol yn y Pwynt ...\tPob maes disgrifio sy'n bresennol yn y Pwynt\n"
+"Rhaid i'r dylunydd gynnwys gwybodaeth briodol.\n"
+"Cywiro gwerthoedd amhriodol a rhoi cynnig arall arni."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:16
+msgid ""
+"MSG_GROUP_NONBLANK\tAll fields listed in the Group dialog must contain data....\tAll fields listed in the Group dialog must contain data.\n"
+"Please enter missing values and try again."
+msgstr ""
+"MSG_GROUP_NONBLANK\tRhaid i'r holl feysydd a restrir yn y dialog Grŵp gynnwys data\tRhaid i'r holl feysydd a restrir yn y dialog Grŵp gynnwys data.\n"
+"Rhowch werthoedd coll a rhoi cynnig arall arni."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:17
+msgid ""
+"MSG_TODSGN_VALUES_GTR_0\tAll values specified in the Turnout Designer must be...\tAll values specified in the Turnout Designer must be\n"
+"greater than 0. Correct inappropriate values and try again."
+msgstr ""
+"MSG_TODSGN_VALUES_GTR_0\tRhaid i'r holl werthoedd a bennir yn y Dylunydd Pwynt fod yn ...\tRhaid i'r holl werthoedd a bennir yn y Dylunydd Pwynt fod\n"
+"yn fwy na 0. Cywiro gwerthoedd amhriodol a rhoi cynnig arall arni."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:18
+msgid "MSG_CURVE_OUT_OF_RANGE\tAngle must be between 0\\u00B0 and 360\\u00B0."
+msgstr "MSG_CURVE_OUT_OF_RANGE\tRhaid i ongl fod rhwng 0\\u00B0 a 360\\u00B0."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:19
+msgid ""
+"MSG_TODSGN_CORNU_TOO_COMPLEX\tThe curves created by the Turnout Designer for a cornu curve have more than 128 segments....\tThe curves created by the Turnout Designer for a cornu curve have more than 128 segments.\n"
+"Try adjusting the end angles and radii to be closer in values."
+msgstr ""
+"MSG_TODSGN_CORNU_TOO_COMPLEX\tMae gan y cromliniau a grëwyd gan y Dylunydd Pwynt ar gyfer cromlin Cornu fwy na 128 segment ....\tMae gan y cromliniau a grëwyd gan y Dylunydd Pwynt ar gyfer cromlin Cornu fwy na 128 segment.\n"
+"Ceisiwch addasu'r onglau diwedd a'r radiws i fod yn agosach o ran gwerthoedd."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:20
+#, c-format
+msgid ""
+"MSG_CUSTMGM_DELETE_CONFIRM\tAre you sure you want to delete the NNN definition(s)?\tAre you sure you want to delete the\n"
+"%d definition(s)?"
+msgstr ""
+"MSG_CUSTMGM_DELETE_CONFIRM\tYdych chi'n siŵr eich bod chi am ddileu'r diffiniad (au) NNN?\tYdych chi'n siŵr eich bod chi am ddileu'r diffiniad(au)\n"
+"%d?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:21
+msgid "MSG_WBITMAP_FAILED\tBitmap create or write function failed."
+msgstr "MSG_WBITMAP_FAILED\tMethodd swyddogaeth creu neu ysgrifennu didfap."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:22
+msgid "MSG_BITMAP_TOO_LARGE\tBitmap is too large."
+msgstr "Mae didfap yn rhy fawr"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:23
+msgid "MSG_CHANGE_ELEV_MODE\tCannot change elevation mode."
+msgstr "MSG_CHANGE_ELEV_MODE\tMethu newid modd drychiad."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:24
+msgid ""
+"MSG_GRID_ENABLE_SPACE_GTR_0\tCannot Enable Grid; spacing must be greater "
+"than 0"
+msgstr ""
+"MSG_GRID_ENABLE_SPACE_GTR_0\tCannot Enable Grid; spacing must be greater "
+"than 0"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:25
+msgid "MSG_LAYER_FREEZE\tCannot freeze current layer"
+msgstr "MSG_LAYER_FREEZE\tNi all rewi'r haen gyfredol"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:26
+msgid ""
+"MSG_CANT_GROUP_BUMPER1\tCannot Group Bumper Track. The track has been "
+"unselected."
+msgstr ""
+"MSG_CANT_GROUP_BUMPER1\tMethu Trac Bumper Grŵp. Mae'r trac wedi'i ddewis."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:27
+#, c-format
+msgid "MSG_CANNOT_GROUP_TRACK\tCannot Group selected track type %s."
+msgstr "MSG_CANNOT_GROUP_TRACK\tMethu Grŵp dewis math o drac %s."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:28
+msgid "MSG_LAYER_HIDE\tCannot hide current layer"
+msgstr "MSG_LAYER_HIDE\tNi all guddio'r haen gyfredol"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:29
+msgid "MSG_LAYER_MODULE\tCannot turn current layer into a Module"
+msgstr "MSG_LAYER_MODULE\tCannot turn current layer into a Module"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:30
+msgid "MSG_JOIN_EASEMENTS\tCannot Join; Easements do not align or abut."
+msgstr ""
+"MSG_JOIN_EASEMENTS\tMethu Ymuno; Nid yw rhwyddinebau yn alinio nac yn "
+"ffinio."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:31
+#, c-format
+msgid ""
+"MSG_TRK_ALREADY_CONN\tFirst|Second track is already connected.\tCannot Join;"
+" %s track is already connected."
+msgstr ""
+"MSG_TRK_ALREADY_CONN\tMae trac cyntaf | Ail drac eisoes wedi'i "
+"gysylltu.\tMethu Ymuno; %s trac eisoes wedi'i gysylltu."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:32
+msgid "MSG_JOIN_TURNTABLE\tCannot join from a turntable, try to a turntable"
+msgstr "MSG_JOIN_TURNTABLE\tNi all ymuno o drofwrdd, ceisiwch drofwrdd"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:33
+msgid "MSG_JOIN_CORNU_SAME\tCannot Join; Selected endpoints are on same track."
+msgstr "MSG_JOIN_CORNU_SAME\tMethu Ymuno; Mae endpoints dethol ar yr un trac."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:34
+msgid "MSG_JOIN_SAME\tCannot Join; Selected endpoints are on same track."
+msgstr "MSG_JOIN_SAME\tMethu Ymuno; Mae endpoints dethol ar yr un trac."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:35
+msgid ""
+"MSG_JOIN_NOTBEZIERORCORNU\tCannot Join Bezier or Cornu track if Easement is "
+"not Cornu"
+msgstr ""
+"MSG_JOIN_NOTBEZIERORCORNU\tMethu Ymuno â thrac Bezier neu Cornu os nad yw "
+"Easement yn Cornu"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:36
+msgid "MSG_SELECTED_TRACKS_PARALLEL\tCannot Join; Selected tracks are parallel."
+msgstr ""
+"MSG_SELECTED_TRACKS_PARALLEL\tMethu Ymuno; Mae traciau dethol yn gyfochrog."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:37
+#, c-format
+msgid ""
+"MSG_PRMFIL_OPEN_NEW\tCannot open New Parameter File: FILENAME\tCannot open "
+"New Parameter File: %s"
+msgstr ""
+"MSG_PRMFIL_OPEN_NEW\tMethu agor Ffeil Paramedr Newydd: FILENAME\tMethu agor "
+"Ffeil Paramedr Newydd:%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:38
+msgid "MSG_LAYER_SEL_FROZEN\tCannot select a frozen layer"
+msgstr "MSG_LAYER_SEL_FROZEN\tMethu dewis haen wedi'i rewi"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:39
+msgid ""
+"MSG_GRID_SHOW_SPACE_GTR_0\tCannot Show Grid; spacing must be greater than 0"
+msgstr ""
+"MSG_GRID_SHOW_SPACE_GTR_0\tMethu Dangos Grid; rhaid i'r bylchau fod yn fwy "
+"na 0"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:40
+#, c-format
+msgid "MSG_CANT_SPLIT_TRK\tCannot split TYPE track\tCannot split %s track"
+msgstr "MSG_CANT_SPLIT_TRK\tMethu rhannu trac TYPE \tMethu hollti %s trac"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:41
+#, c-format
+msgid ""
+"MSG_CUSTMGM_CANT_WRITE\tCannot write to parameter file: FILENAME\tCannot "
+"write to parameter file: %s"
+msgstr ""
+"MSG_CUSTMGM_CANT_WRITE\tMethu ysgrifennu at ffeil paramedr: FILENAME\tMethu "
+"ysgrifennu at ffeil paramedr: %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:42
+msgid "MSG_CARIMP_DUP_INDEX\tCar Index number duplicated."
+msgstr "MSG_CARIMP_DUP_INDEX\tRhif Mynegai Car wedi'i ddyblygu."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:43
+msgid ""
+"MSG_CONN_PARAMS_TOO_SMALL\tConnection parameters reset to minimum values."
+msgstr ""
+"MSG_CONN_PARAMS_TOO_SMALL\tMae paramedrau cysylltiad yn cael eu hailosod i'r"
+" gwerthoedd lleiaf."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:44
+msgid "MSG_CONN_PARAMS_TOO_BIG\tConnection parameters reset to maximum values."
+msgstr "Mae paramedrau cysylltiad yn ailosod i'r gwerthoedd uchaf."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:45
+msgid "MSG_CANT_PASTE\tCopy/Paste buffer is empty. There is nothing to Paste."
+msgstr ""
+"MSG_CANT_PASTE\tMae byffer Copi / Gludo yn wag. Nid oes unrhyw beth i'w "
+"Gludo."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:46
+msgid ""
+"MSG_TODSGN_CROSSOVER_TOO_SHORT\tCrossover length is too short. Correct...\tCrossover length is too short. Correct\n"
+"inappropriate value(s) and try again."
+msgstr ""
+"MSG_TODSGN_CROSSOVER_TOO_SHORT\tMae hyd croesi yn rhy fyr. Cywir ... \t Mae hyd y trosglwyddiad yn rhy fyr. Cywir\n"
+"gwerth(au) amhriodol a rhoi cynnig arall arni."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:47
+msgid "MSG_CURVE_TOO_LARGE\tCurved track is too large."
+msgstr "MSG_CURVE_TOO_LARGE\tMae'r trac crwm yn rhy fawr."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:48
+msgid ""
+"MSG_TODSGN_REPLACE\tDefinition name is already in use. Saving this...\tDefinition name is already in use. Saving this\n"
+"definition replaces the existing definition.\n"
+"\n"
+"Do you want to continue?"
+msgstr ""
+"MSG_TODSGN_REPLACE\tMae enw'r diffiniad eisoes yn cael ei ddefnyddio. Arbed hwn ... Mae enw'r diffiniad eisoes yn cael ei ddefnyddio. Arbed hyn\n"
+"mae'r diffiniad yn disodli'r diffiniad presennol.\n"
+"\n"
+"Ydych chi am barhau?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:49
+msgid "MSG_SAVE_CHANGES\tDo you want to save the changes made to your Layout?"
+msgstr "MSG_SAVE_CHANGES\tYdych chi am arbed y newidiadau a wnaed i'ch Cynllun?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:50
+msgid ""
+"MSG_CARIMP_DUP_COLUMNS\tDuplicate column headers found in Car Import file."
+msgstr ""
+"MSG_CARIMP_DUP_COLUMNS\tPenawdau colofn dyblyg a geir yn ffeil Mewnforio "
+"Car."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:51
+msgid "MSG_EP_ON_PATH\tEndpoint already on Path."
+msgstr "MSG_EP_ON_PATH\tEndpoint eisoes ar y Llwybr."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:52
+#, c-format
+msgid ""
+"MSG_UPGRADE_VERSION1\tFile version %ld is greater than supported...\tFile version %ld is greater than supported\n"
+"version %d. You need to upgrade %s\n"
+"to at least version %s."
+msgstr ""
+"MSG_UPGRADE_VERSION1\tFersiwn ffeil %ld yn fwy na'r hyn a gefnogir...\tFersiwn ffeil %ld yn fwy na'r hyn a gefnogir\n"
+"fersiwn %d. Mae angen i chi uwchraddio %s\n"
+"i fersiwn o leiaf %s."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:53
+#, c-format
+msgid ""
+"MSG_UPGRADE_VERSION2\tFile version %ld is greater than supported...\tFile version %ld is greater than supported\n"
+"version %d. You need to upgrade your\n"
+"version of %s"
+msgstr ""
+"MSG_UPGRADE_VERSION2\tFersiwn ffeil %ld yn fwy na'r hyn a gefnogir...\tFersiwn ffeil %ld yn fwy na'r hyn a gefnogir.\n"
+"fersiwn %d. Mae angen i chi uwchraddio\n"
+"fersiwn o %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:54
+#, c-format
+msgid ""
+"MSG_LAYOUT_LINES_SKIPPED\tWhile processing Layout file %s, %d lines were "
+"skipped because they were not recognized."
+msgstr ""
+"MSG_LAYOUT_LINES_SKIPPED\tWrth brosesu'r ffeil Cynllun %s, %d hepgorwyd "
+"llinellau oherwydd na chawsant eu cydnabod."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:55
+#, c-format
+msgid ""
+"MSG_PARAM_UPGRADE_VERSION1\tFile version %ld is greater than supported...\tFile version %ld is greater than supported\n"
+"version %d. You need to upgrade %s\n"
+"to at least version %s."
+msgstr ""
+"MSG_PARAM_UPGRADE_VERSION1\tFersiwn ffeil %ld yn fwy na'r hyn a gefnogir...\tFersiwn ffeil %ld yn fwy na'r hyn a gefnogir.\n"
+"fersiwn %d. Mae angen i chi uwchraddio %s\n"
+"i fersiwn o leiaf %s."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:56
+#, c-format
+msgid ""
+"MSG_PARAM_UPGRADE_VERSION2\tFile version %ld is greater than supported...\tFile version %ld is greater than supported\n"
+"version %d. You need to upgrade your\n"
+"version of %s"
+msgstr ""
+"MSG_PARAM_UPGRADE_VERSION2\tFersiwn ffeil %ld yn fwy na'r hyn a gefnogir...\tFersiwn ffeil %ldyn fwy na'r hyn a gefnogir.\n"
+"fersiwn %d. Mae angen i chi uwchraddio\n"
+"fersiwn o %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:57
+#, c-format
+msgid ""
+"MSG_PARAM_LINES_SKIPPED\tWhile processing Parameter file %s, %d lines were "
+"skipped because they were not recognized."
+msgstr ""
+"MSG_PARAM_LINES_SKIPPED\tWrth brosesu'r ffeil Paramedr %s, %d hepgorwyd "
+"llinellau oherwydd na chawsant eu cydnabod."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:58
+msgid ""
+"MSG_MOVE_POINTS_OTHER_SIDE\tFrog angle prevents placement of points. Move "
+"points to opposite side of frog."
+msgstr ""
+"MSG_MOVE_POINTS_OTHER_SIDE\tMae ongl broga yn atal gosod pwyntiau. Symud "
+"pwyntiau i ochr arall y broga."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:59
+msgid "MSG_NO_ROOM_BTW_TRKS\tInsufficient space between existing stall tracks."
+msgstr ""
+"MSG_NO_ROOM_BTW_TRKS\tDim digon o le rhwng y traciau stondinau presennol."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:60
+#, c-format
+msgid ""
+"MSG_JOIN_DIFFER_ELEV\tJoining tracks with differing elevations "
+"(N.NNN)\tJoining tracks with differing elevations (%0.2f)"
+msgstr ""
+"MSG_JOIN_DIFFER_ELEV\tYmuno traciau gyda gwahanol ddrychiadau (N.NNN)\tYmuno"
+" traciau gyda gwahanol ddrychiadau (%0.2f)"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:61
+msgid "MSG_TRK_DESC_NOT_VISIBLE\tLabel description is hidden"
+msgstr "MSG_TRK_DESC_NOT_VISIBLE\tMae disgrifiad label wedi'i guddio"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:62
+msgid "MSG_DESC_NOT_VISIBLE\tLabel descriptions not visible"
+msgstr "MSG_DESC_NOT_VISIBLE\tNid yw disgrifiadau label yn weladwy"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:63
+msgid "MSG_OBJECT_TOO_SHORT\tLength of object is too short."
+msgstr "MSG_OBJECT_TOO_SHORT\tMae hyd y gwrthrych yn rhy fyr."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:64
+#, c-format
+msgid ""
+"MSG_PRINT_MAX_SIZE\tMaximum allowed page size is W x H\tMaximum allowed page"
+" size is %s x %s"
+msgstr ""
+"MSG_PRINT_MAX_SIZE\tUchafswm maint y dudalen a ganiateir yw W x H\tUchafswm "
+"maint y dudalen a ganiateir yw %s x %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:65
+msgid ""
+"MSG_NO_PRINTER_SELECTED\tPlease select a printer from the Print Setup "
+"dialog."
+msgstr ""
+"MSG_NO_PRINTER_SELECTED\tDewiswch argraffydd o'r ymgom Gosod Argraffydd."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:66
+#, c-format
+msgid ""
+"MSG_PRMFIL_NO_CONTENTS\tNew Parameter File has no CONTENTS line: "
+"FILENAME.\tNew Parameter File has no CONTENTS line: %s"
+msgstr ""
+"MSG_PRMFIL_NO_CONTENTS\tNid oes gan Ffeil Paramedr Newydd CONTENTS llinell: "
+"FILENAME.\tNid oes gan Ffeil Paramedr Newydd CONTENTS llinell: %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:67
+msgid ""
+"MSG_NO_CARS\tNo Cars are defined for the current scale....\tNo Cars are defined for the current scale.\n"
+"\n"
+"Do you want to use the Car Inventory dialog?"
+msgstr ""
+"MSG_NO_CARS\tNid oes unrhyw geir wedi'u diffinio ar gyfer y raddfa gyfredol ....\tNid oes unrhyw geir wedi'u diffinio ar gyfer y raddfa gyfredol.\n"
+"\n"
+"Ydych chi am ddefnyddio'r ymgom Rhestr Car?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:68
+msgid ""
+"MSG_NO_CARPROTO\tNo Car Prototypes are defined....\tNo Car Prototypes are defined.\n"
+"Load a Prototype definition file using the\n"
+"Parameter Files dialog or create a Prototype\n"
+"definition using the Car Prototype dialog."
+msgstr ""
+"MSG_NO_CARPROTO\tNid oes unrhyw Brototeipiau Car wedi'u diffinio ....\tNid oes unrhyw Brototeipiau Car wedi'u diffini.\n"
+"Llwythwch ffeil diffiniad Prototeip gan ddefnyddio'r\n"
+"Deialog Ffeiliau Paramedr neu greu Prototeip\n"
+"diffiniad gan ddefnyddio'r ymgom Prototeip Car."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:69
+msgid "MSG_CARIMP_NO_DATA\tNo data present in Car Import file."
+msgstr ""
+"MSG_CARIMP_NO_DATA\tNid oes unrhyw ddata yn bresennol yn y ffeil Mewnforio "
+"Car."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:70
+msgid "MSG_PRINT_NO_PAGES\tNo pages selected for printing."
+msgstr "MSG_PRINT_NO_PAGES\tDim tudalennau wedi'u dewis i'w hargraffu."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:71
+msgid "MSG_NO_PATH_TO_EP\tNo path between Profile and selected endpoint."
+msgstr "MSG_NO_PATH_TO_EP\tDim llwybr rhwng Proffil a diweddbwynt dethol."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:72
+#, c-format
+msgid ""
+"MSG_PRMFIL_NO_MAP\tNo Parameter File Map for CONTENTS\tNo Parameter File Map"
+" for %s"
+msgstr ""
+"MSG_PRMFIL_NO_MAP\tDim Map Ffeil Paramedr ar gyfer CONTENTS\tDim Map Ffeil "
+"Paramedr ar gyfer %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:73
+msgid "MSG_NO_SELECTED_TRK\tNo track(s) selected!"
+msgstr "MSG_NO_SELECTED_TRK\tDim trac(au) wedi'u dewis!"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:74
+msgid ""
+"MSG_NO_EMPTY_LAYER\tNo layer was found that has no contents, so the module "
+"can not be imported"
+msgstr ""
+"MSG_NO_EMPTY_LAYER\tNi ddarganfuwyd haen nad oes ganddo gynnwys, felly ni "
+"ellir mewnforio'r modiwl"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:75
+msgid ""
+"MSG_NO_UNFROZEN_LAYER\tNo layer was found that wasn't frozen. Layer 0 is "
+"unfrozen."
+msgstr ""
+"MSG_NO_UNFROZEN_LAYER\tNi ddarganfuwyd haen nad oedd wedi'i rhewi. Mae haen "
+"0 heb ei rewi."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:76
+msgid ""
+"MSG_NOT_UNFROZEN_LAYER\tThe current layer was defined as frozen. It is now "
+"unfrozen."
+msgstr ""
+"MSG_NOT_UNFROZEN_LAYER\tDiffiniwyd yr haen gyfredol fel un wedi'i rewi. Mae "
+"bellach heb ei rewi."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:77
+#, c-format
+msgid ""
+"MSG_NO_TURNOUTS_AVAILABLE\tNo Turnouts|Structures are available.\tNo %s are "
+"available."
+msgstr ""
+"MSG_NO_TURNOUTS_AVAILABLE\tDim Pwyntiau | Mae strwythurau ar gael.\tDim %s "
+"ar gael."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:78
+msgid ""
+"MSG_CARDESC_VALUE_ZERO\tNumeric values on the Car Description...\tNumeric values on the Car Description\n"
+"dialog must be greater than 0."
+msgstr ""
+"MSG_CARDESC_VALUE_ZERO\tGwerthoedd rhifol ar y Disgrifiad Car...\tGwerthoedd rhifol ar y Disgrifiad Car\n"
+"rhaid i'r ymgom fod yn fwy na 0."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:79
+msgid "MSG_MOVE_OUT_OF_BOUNDS\tObject has moved beyond room boundaries."
+msgstr ""
+"MSG_MOVE_OUT_OF_BOUNDS\tMae'r gwrthrych wedi symud y tu hwnt i ffiniau "
+"ystafelloedd."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:80
+msgid ""
+"MSG_PARALLEL_SEP_GTR_0\tParallel separation must be greater than 0, or the "
+"new guage must be different than the old."
+msgstr ""
+"MSG_PARALLEL_SEP_GTR_0\tRhaid i wahaniad cyfochrog fod yn fwy na 0, neu "
+"rhaid i'r mesurydd newydd fod yn wahanol na'r hen."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:81
+msgid ""
+"MSG_CARPART_DUPNAME\tPart Number for this Manufacturer already exists....\tPart Number for this Manufacturer already exists.\n"
+"\n"
+"Do you want to update it?"
+msgstr ""
+"MSG_CARPART_DUPNAME\tMae Rhan Rhan ar gyfer y Gwneuthurwr hwn eisoes yn bodoli ....\tMae Rhan Rhan ar gyfer y Gwneuthurwr hwn eisoes yn bodoli.\n"
+"Ydych chi am ei ddiweddaru?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:82
+#, c-format
+msgid ""
+"MSG_PLAYBACK_LISTENTRY\tPlayback: Cannot find list entry: NAME\tPlayback: "
+"Cannot find list entry: %s"
+msgstr ""
+"MSG_PLAYBACK_LISTENTRY\tChwarae: Methu dod o hyd i gofnod "
+"rhestr:NAME\tChwarae: Methu dod o hyd i gofnod rhestr: %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:83
+#, c-format
+msgid ""
+"MSG_PLAYBACK_VERSION_UPGRADE\tPlayback file version %ld is...\tPlayback file version %ld is\n"
+"greater than supported version %d\n"
+"You need to upgrade your version of %s"
+msgstr ""
+"MSG_PLAYBACK_VERSION_UPGRADE\tFersiwn ffeil chwarae %ld yw ...\tFersiwn ffeil chwarae %ld yw\n"
+"yn fwy na'r fersiwn a gefnogir %d\n"
+"Mae angen i chi uwchraddio'ch fersiwn o %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:84
+#, c-format
+msgid ""
+"MSG_DOMOUSE_BAD_OP\tPlayback: unknown action NNN\tPlayback: unknown action "
+"%d"
+msgstr ""
+"MSG_DOMOUSE_BAD_OP\tChwarae: gweithredu anhysbys NNN\tChwarae: gweithredu "
+"anhysbys %d"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:85
+msgid "MSG_MOVE_POINTS_AWAY_CLOSE\tPoints are to close to frog; move away."
+msgstr ""
+"MSG_MOVE_POINTS_AWAY_CLOSE\tMae'r pwyntiau i gau at y broga; symud i ffwrdd."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:86
+msgid "MSG_POLY_SHAPES_3_SIDES\tPolygons must have at least 3 nodes."
+msgstr "MSG_POLY_SHAPES_3_SIDES\tRhaid i bolygonau fod ag o leiaf 3 nod."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:87
+msgid "MSG_POLY_MULTIPLE_SELECTED\tCan't delete multiple points at once"
+msgstr "MSG_POLY_MULTIPLE_SELECTED\tMethu dileu pwyntiau lluosog ar unwaith"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:88
+msgid "MSG_POLY_NOTHING_SELECTED\tNo Point on a Poly shape selected."
+msgstr "MSG_POLY_NOTHING_SELECTED\tDim Pwynt ar siâp Poly wedi'i ddewis."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:89
+msgid ""
+"MSG_CARPROTO_DUPNAME\tPrototype name already exists....\tPrototype name already exists.\n"
+"\n"
+"Do you want to update it?"
+msgstr ""
+"MSG_CARPROTO_DUPNAME\tMae enw prototeip yn bodoli eisoes ....\tMae enw prototeip yn bodoli eisoes.\n"
+"\n"
+"Ydych chi am ei ddiweddaru?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:90
+msgid "MSG_RADIUS_GTR_0\tRadius must be greater than 0."
+msgstr "MSG_RADIUS_GTR_0\tRhaid i radiws fod yn fwy na 0."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:91
+msgid "MSG_RADIUS_GTR_10000\tRadius must be less than 10000."
+msgstr "MSG_RADIUS_GTR_10000\tRhaid i radiws fod yn llai na 10000."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:92
+msgid ""
+"MSG_RADIUS_TOO_BIG\tThe Circle or Helix will not fit within the layouts room"
+" parameters (Height and Width)."
+msgstr ""
+"MSG_RADIUS_TOO_BIG\tNi fydd y Cylch neu'r Helix yn ffitio o fewn "
+"paramedrau'r ystafell gynlluniau (Uchder a Lled)."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:93
+#, c-format
+msgid ""
+"MSG_RESCALE_TOO_BIG\tRescaled tracks do not fit within layouts room parameters...\tRescaled tracks do not fit within layouts room parameters\n"
+"(Height and width). The layouts room parameters should be\n"
+"set to at least %s by %s."
+msgstr ""
+"MSG_RESCALE_TOO_BIG\tNid yw traciau wedi'u hail-lunio yn ffitio o fewn paramedrau ystafelloedd cynllun ...\tNid yw traciau wedi'u hail-lunio yn ffitio o fewn paramedrau ystafelloedd cynllun\n"
+"(Uchder a lled). Dylai paramedrau'r ystafell osod fod\n"
+"gosod i o leiaf %s gan %s."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:94
+msgid ""
+"MSG_CARIMP_MISSING_COLUMNS\tRequired column headers missing from Car Import "
+"file."
+msgstr ""
+"MSG_CARIMP_MISSING_COLUMNS\tPenawdau colofn gofynnol ar goll o'r ffeil "
+"Mewnforio Car."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:95
+#, c-format
+msgid ""
+"MSG_2ND_TRK_NOT_SEL_UNSEL\tSecond track must be selected|unselected\tSecond "
+"track must be %s."
+msgstr ""
+"MSG_2ND_TRK_NOT_SEL_UNSEL\tRhaid dewis ail drac | heb ei ddewis\t Rhaid i "
+"drac arbennig fod %s."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:96
+msgid "MSG_OUT_OF_BOUNDS\tSelected page is out of bounds."
+msgstr "MSG_OUT_OF_BOUNDS\tMae'r dudalen a ddewiswyd allan o ffiniau."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:97
+msgid "MSG_SEL_POS_FIRST\tSelect position prior to entering Text."
+msgstr "MSG_SEL_POS_FIRST\tDewiswch y safle cyn nodi'r Testun."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:98
+msgid ""
+"MSG_CARPROTO_BADSEGS\tSelected shapes must define a rectangular area ...\tSelected shapes must define a rectangular\n"
+"area with length greater than height."
+msgstr ""
+"MSG_CARPROTO_BADSEGS\tRhaid i siapiau dethol ddiffinio ardal hirsgwar ... must Rhaid i siapiau dethol ddewis petryal\n"
+"arwynebedd â hyd yn fwy na'r uchder."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:99
+msgid ""
+"MSG_TOO_FAR_APART_DIVERGE\tSelected tracks deviate too much or are too far "
+"apart from each other."
+msgstr ""
+"MSG_TOO_FAR_APART_DIVERGE\tMae traciau dethol yn gwyro gormod neu'n rhy bell"
+" oddi wrth ei gilydd."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:100
+msgid "MSG_COMMAND_DISABLED\tSpecified command disabled."
+msgstr "MSG_COMMAND_DISABLED\tGorchymyn penodedig yn anabl."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:101
+msgid "MSG_SPLIT_POS_BTW_MERGEPTS\tSplit position between Turnout Points"
+msgstr "MSG_SPLIT_POS_BTW_MERGEPTS\tSafle wedi'i rannu rhwng Pwyntiau Pwynt"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:102
+msgid "MSG_SPLIT_PATH_NOT_UNIQUE\tSplit position not on unique path"
+msgstr "MSG_SPLIT_PATH_NOT_UNIQUE\tSafle hollt ddim ar lwybr unigryw"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:103
+#, c-format
+msgid ""
+"MSG_CARIMP_MISSING_DIMS\tThe following car has no dimensions and a...\tThe following car has no dimensions and a\n"
+"Car Part description can not be found.\n"
+"\n"
+"%s\n"
+"\n"
+"Do you wish to continue importing other Cars?"
+msgstr ""
+"MSG_CARIMP_MISSING_DIMS\tNid oes gan y car canlynol unrhyw ddimensiynau ac ... \t Nid oes gan y car canlynol ddim dimensiynau ac a\n"
+"Ni ellir dod o hyd i ddisgrifiad Rhan Car.\n"
+"\n"
+"%s\n"
+"\n"
+"Ydych chi am barhau i fewnforio Ceir eraill?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:104
+#, c-format
+msgid ""
+"MSG_CARIMP_MISSING_PARTNO\tThe following car has no Part Number...\tThe following car has no Part Number\n"
+"\n"
+"%s\n"
+"\n"
+"Do you wish to continue importing other Cars?"
+msgstr ""
+"MSG_CARIMP_MISSING_PARTNO\tNid oes Rhif Rhan ar y car canlynol ...\tNid oes Rhif Rhan ar y car canlynol\n"
+"\n"
+"%s\n"
+"\n"
+"Ydych chi am barhau i fewnforio Ceir eraill?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:105
+#, c-format
+msgid ""
+"MSG_CARIMP_IGNORED_COLUMN\tThe following column in the Car Import file will be ignored:...\tThe following column in the Car Import file will be ignored:\n"
+"\n"
+"%s"
+msgstr ""
+"MSG_CARIMP_IGNORED_COLUMN\tAnwybyddir y golofn ganlynol yn y ffeil Mewnforio Car: ...\tAnwybyddir y golofn ganlynol yn y ffeil Mewnforio Car:\n"
+"\n"
+"%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:106
+msgid ""
+"MSG_CANT_MOVE_UNDER_TRAIN\tThe position of a turnout or turntable cannot be "
+"changed while occupied by a train."
+msgstr ""
+"MSG_CANT_MOVE_UNDER_TRAIN\tNi ellir newid lleoliad y nifer sy'n pleidleisio "
+"na throfwrdd wrth i drên feddiannu."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:107
+msgid ""
+"MSG_STRUCT_NO_STRUCTS\tThere are no structures to choose from in the structure...\tThere are no structures to choose from in the structure\n"
+"selection list. Please check your SCALE, select the\n"
+"<File|Parameter Files> menu to load a Parameter File or\n"
+"create a new Structure with the Group command."
+msgstr ""
+"MSG_STRUCT_NO_STRUCTS\tNid oes unrhyw strwythurau i ddewis ohonynt yn y strwythur ... \t Nid oes unrhyw strwythurau i ddewis ohonynt yn y strwythur\n"
+"rhestr ddethol. Gwiriwch eich SCALE, dewiswch y\n"
+"Dewislen <File | Ffeiliau Paramedr> i lwytho Ffeil Paramedr neu\n"
+"creu Strwythur newydd gyda'r gorchymyn Grŵp."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:108
+msgid ""
+"MSG_TURNOUT_NO_TURNOUT\tThere are no turnouts to choose from in the turnout...\tThere are no turnouts to choose from in the turnout\n"
+"selection list. Please check your SCALE, select the\n"
+"<Manage|Turnout Designer> menu to enter a new turnout\n"
+"or select the <File|Parameter Files> menu to load a\n"
+"Parameter File"
+msgstr ""
+"MSG_TURNOUT_NO_TURNOUT\tNid oes unrhyw bwyntiau i ddewis ohonynt yn y pwynt ... \t Nid oes unrhyw bwyntiau i ddewis ohonynt yn y pwynt\n"
+"rhestr ddethol. Gwiriwch eich Graddfa, dewiswch y\n"
+"Dewislen < Rheoli | Dylunydd Pwynt > i fynd i mewn i'r nifer sy'n pleidleisio\n"
+"neu dewiswch y ddewislen < Ffile | Paramedr Ffiles > i lwytho a\n"
+"Ffeil Paramedr"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:109
+msgid "MSG_NO_UNCONN_EP\tThere are no unconnected end points for this track"
+msgstr ""
+"MSG_NO_UNCONN_EP\tNid oes unrhyw bwyntiau gorffen digyswllt ar gyfer y trac "
+"hwn"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:110
+msgid "MSG_PULL_FEW_SECTIONS\tThere are too few sections in this loop."
+msgstr "MSG_PULL_FEW_SECTIONS\tMae rhy ychydig o adrannau yn y ddolen hon."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:111
+msgid "MSG_NO_REDO\tThere is nothing to redo!"
+msgstr "MSG_NO_REDO\tNid oes unrhyw beth i'w ail-wneud!"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:112
+msgid "MSG_NO_UNDO\tThere is nothing to undo!"
+msgstr "MSG_NO_UNDO\tNid oes unrhyw beth i'w ddadwneud!"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:113
+msgid "MSG_TOOMANYSEGSINGROUP\tToo many segments in Group."
+msgstr "MSG_TOOMANYSEGSINGROUP\tGormod o segmentau yn y Grŵp."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:114
+msgid "MSG_CANNOT_CHANGE\tTrack cannot be changed."
+msgstr "MSG_CANNOT_CHANGE\tNi ellir newid trac .."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:115
+msgid "MSG_POINT_INSIDE_TURNTABLE\tTrack endpoint is within turntable radius."
+msgstr ""
+"MSG_POINT_INSIDE_TURNTABLE\tMae pwynt terfyn y trac o fewn radiws trofwrdd."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:116
+msgid ""
+"MSG_MOVE_POINTS_AWAY_NO_INTERSECTION\tTrack intersection not possible; move "
+"points away from frog."
+msgstr ""
+"MSG_MOVE_POINTS_AWAY_NO_INTERSECTION\tNid yw croestoriad trac yn bosibl; "
+"symud pwyntiau i ffwrdd o'r broga."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:117
+#, c-format
+msgid ""
+"MSG_TRK_TOO_SHORT\tTrack is too short by N.NNN\t%strack is too short by "
+"%0.3f"
+msgstr ""
+"MSG_TRK_TOO_SHORT\tMae'r trac yn rhy fyr erbyn N.NNN\t%sMae'r trac yn rhy "
+"fyr erbyn %0.3f"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:118
+#, c-format
+msgid ""
+"MSG_RADIUS_LSS_EASE_MIN\tTrack radius (N.NNN) is smaller than easement "
+"minimum (N.NNN).\tTrack radius (%s) is smaller than easement minimum (%s)."
+msgstr ""
+"MSG_RADIUS_LSS_EASE_MIN\tRadiws trac (N.NNN) yn llai na'r isafswm "
+"hawddfraint(N.NNN).\tRadiws trac (%s) yn llai na'r isafswm hawddfraint "
+"(%s)."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:119
+msgid "MSG_CANT_MODIFY_FROZEN_TRK\tTracks in a frozen layer cannot be modified."
+msgstr ""
+"MSG_CANT_MODIFY_FROZEN_TRK\tNi ellir addasu traciau mewn haen wedi'i rewi."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:120
+msgid "MSG_CANT_MODIFY_MODULE_TRK\tTracks in a module cannot be modified."
+msgstr "MSG_CANT_MODIFY_MODULE_TRK\tNi ellir addasu traciau mewn modiwl."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:121
+msgid ""
+"MSG_SEGMENTS_DIFFER\tTurnout definition contains non-track segments....\tTurnout definition contains non-track segments.\n"
+"\n"
+"Do you want to include them in this update?"
+msgstr ""
+"MSG_SEGMENTS_DIFFER\tMae diffiniad pwynt yn cynnwys segmentau heblaw trac ....\tMae diffiniad pwynt yn cynnwys segmentau heblaw trac.\n"
+"\n"
+"Ydych chi am eu cynnwys yn y diweddariad hwn?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:122
+msgid "MSG_TURNTABLE_DIAM_GTR_0\tTurntable diameter must greater than 0."
+msgstr "MSG_TURNTABLE_DIAM_GTR_0\tRhaid i ddiamedr trofwrdd fod yn fwy na 0."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:123
+#, c-format
+msgid ""
+"MSG_UNDO_ASSERT\tUndo assertion failure %s:%d...\tUndo assertion failure %s:%d\n"
+"Val = %ld(%lx)\n"
+"%s\n"
+"Please report this error to the XTrackCAD project development team at SourceForge."
+msgstr ""
+"MSG_UNDO_ASSERT\tDadwneud methiant haeriad %s:%d...\tDadwneud methiant haeriad %s:%d\n"
+"Val = %ld(%lx)\n"
+"%s\n"
+"Rhowch wybod i'r tîm datblygu prosiect XTrackCAD yn SourceForge."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:124
+#, c-format
+msgid ""
+"MSG_PROG_CORRUPTED\tCritical file damaged!...\tCritical file damaged!\n"
+"\n"
+"%s is corrupt.\n"
+"\n"
+"Please reinstall software."
+msgstr ""
+"MSG_PROG_CORRUPTED\tFfeil feirniadol wedi'i difrodi! ...\tFfeil feirniadol wedi'i difrodi! ...\n"
+"%s yn llygredig.\n"
+"\n"
+"Ailosod meddalwedd os gwelwch yn dda."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:125
+#, c-format
+msgid ""
+"MSG_ENTERED_STRING_TRUNCATED\tThe entered text is too long. Maximum length "
+"is %d."
+msgstr ""
+"MSG_ENTERED_STRING_TRUNCATED\tMae'r testun a gofnodwyd yn rhy hir. Uchafswm "
+"hyd%d."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:126
+#, c-format
+msgid "MSG_PT_IS_NOT_TRK\t[X Y] is not a track\t[%s %s] is not a track."
+msgstr "MSG_PT_IS_NOT_TRK\t[X Y] ddim yn drac\t[%s %s] ddim yn drac."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:127
+msgid ""
+"MSG_BITMAP_SIZE_WARNING\tYou have specified a large bitmap....\tYou have specified a large bitmap.\n"
+"\n"
+"Are you sure you want to continue?"
+msgstr ""
+"MSG_BITMAP_SIZE_WARNING\tRydych chi wedi nodi Bitmap mawr ....\tRydych chi wedi nodi Bitmap mawr.\n"
+"\n"
+"Ydych chi'n siŵr eich bod chi eisiau parhau?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:128
+msgid "Icon Size change will take effect on next program start."
+msgstr "Bydd newid Maint Eicon yn dod i rym ar ddechrau'r rhaglen nesaf."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:129
+#, c-format
+msgid "Are you sure you want to delete these %d car(s)?"
+msgstr "Ydych chi'n siŵr eich bod chi am ddileu'r rhain %d car(iau)?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:130
+#, c-format
+msgid ""
+"Cannot open %s file:\n"
+"%s:%s"
+msgstr ""
+"Ni all agor %s ffile:\n"
+"%s:%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:131
+#, c-format
+msgid "Cannot create directory: %s - %s"
+msgstr "Methu creu cyfeiriadur: %s - %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:132
+#, c-format
+msgid "Cannot open directory: %s"
+msgstr "Methu agor cyfeiriadur:%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:133
+#, c-format
+msgid "Path for deletion is not a directory: %s"
+msgstr "Nid yw'r llwybr ar gyfer dileu yn gyfeiriadur:%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:134
+#, c-format
+msgid "Open failed for directory: %s"
+msgstr "Methwyd agored ar gyfer cyfeiriadur: %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:135
+#, c-format
+msgid "Can't add directory record %s to zip - %s"
+msgstr "Methu ychwanegu cofnod cyfeiriadur%s a zip - %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:136
+#, c-format
+msgid "Can't add file record %s to zip at %s - %s"
+msgstr "Methu ychwanegu cofnod ffeil%s i zip yn %s - %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:137
+#, c-format
+msgid "Can't create zip %s - %s"
+msgstr "Methu creu zip%s - %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:138
+#, c-format
+msgid "Close failure for zip %s - %s"
+msgstr "Methiant agos am zip %s - %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:139
+#, c-format
+msgid "Rename failure for zip from %s to %s - %s"
+msgstr "Ail-enwi methiant am zip o %s i %s - %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:140
+#, c-format
+msgid "Open failure for zip %s - %s"
+msgstr "Methiant agored am zip %s - %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:141
+#, c-format
+msgid "Index failure for zip %s - %s"
+msgstr "Methiant mynegai ar gyferzip %s - %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:142
+#, c-format
+msgid "Open read file failure %s %s"
+msgstr "Methiant ffeil darllen agored %s %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:143
+#, c-format
+msgid "Open file in zip failure %s %s"
+msgstr "Agor ffeil mewn methiant zip%s %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:144
+#, c-format
+msgid "Unlink failed for: %s"
+msgstr "Methodd Unlink am: %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:145
+#, c-format
+msgid "Remove Directory failed for: %s"
+msgstr "Methodd Dileu Cyfeiriadur ar gyfer:%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:146
+#, c-format
+msgid "Cannot save archive to %s from directory: %s"
+msgstr "Methu arbed archif i %s o'r cyfeiriadur: %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:147
+#, c-format
+msgid "Cannot save manifest file to %s"
+msgstr "Methu cadw ffeil amlwg i %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:148
+#, c-format
+msgid "Cannot open manifest file %s"
+msgstr "Methu agor ffeil amlwg%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:149
+#, c-format
+msgid "Cannot unpack file: %s for file: %s in directory: %s"
+msgstr "Methu dadbacio ffeil: %s ar gyfer ffeil: %s yn y cyfeiriadur:%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:150
+#, c-format
+msgid "Cannot open file %s"
+msgstr "Methu agor ffeil %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:151
+#, c-format
+msgid "Cannot copy file %s into directory %s"
+msgstr "Methu copïo ffeil %s i mewn i gyfeiriadur%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:152
+#, c-format
+msgid "Unrecognized Option: %s"
+msgstr "Opsiwn heb ei gydnabod:%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:153
+#, c-format
+msgid ""
+"End-Of-Line is unexpected in a quoted field.\n"
+"%s\n"
+"\n"
+"Do you want to continue reading the file?"
+msgstr ""
+"Mae End-Of-Line yn annisgwyl mewn maes a ddyfynnir.\n"
+"%s\n"
+"\n"
+"Ydych chi am barhau i ddarllen y ffeil?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:154
+#, c-format
+msgid ""
+"A comma was expected after this quoted field.\n"
+"%s\n"
+"\n"
+"Do you want to continue reading the file?"
+msgstr ""
+"Roedd disgwyl coma ar ôl y maes hwn a ddyfynnwyd.\n"
+"%s\n"
+"\n"
+"Ydych chi am barhau i ddarllen y ffeil?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:155
+#, c-format
+msgid ""
+"Error \\\\\"%s\\\\\" occurred while writing %s.\n"
+"Please check disk space and system status."
+msgstr ""
+"Gwall \\\\\"%s\\\\\" digwydd wrth ysgrifennu %s.\n"
+"Gwiriwch ofod disg a statws system."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:156
+#, c-format
+msgid ""
+"At least one path for the Turnout T%d does not\n"
+"terminate on an endpoint. Such a track cannot be grouped.\n"
+"The track has been unselected."
+msgstr ""
+"O leiaf un llwybr ar gyfer y Pwynt T%d Dim yn\n"
+"terfynu ar ddiweddbwynt. Ni ellir grwpio trac o'r fath.\n"
+"Mae'r trac wedi'i ddewis."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:157
+msgid "inv-pathEndTrk on Path."
+msgstr "inv-pathEndTrk ar Lwybr."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:158
+msgid "inv-pathStartTrk on Path"
+msgstr "inv-pathStartTrk ar Lwybr"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:159
+#, c-format
+msgid "%s:%d- %s"
+msgstr "%s:%d- %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:160
+msgid "pathEndTrk not on Path."
+msgstr "pathEndTrk nid ar y Llwybr."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:161
+msgid "pathStartTrk not on Path."
+msgstr "pathStartTrk nid ar y Llwybr."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:162
+msgid ""
+"The tracks cannot be connected together.\n"
+"\n"
+"Try changing some tracks for a closer fit\n"
+"or increase the Connection Angle value on\n"
+"the Preferences dialog."
+msgstr ""
+"Ni ellir cysylltu'r traciau gyda'i gilydd.\n"
+"\n"
+"Ceisiwch newid rhai traciau i gael ffit agosach\n"
+"neu gynyddu gwerth Angle Cysylltiad ar\n"
+"y dialog Dewisiadau."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:163
+msgid ""
+"The tracks cannot be connected together.\n"
+"\n"
+"Try changing some tracks for a closer fit\n"
+"or increase the Connection Distance and\n"
+"Angle values on the Preferences dialog"
+msgstr ""
+"Ni ellir cysylltu'r traciau gyda'i gilydd.\n"
+"\n"
+"Ceisiwch newid rhai traciau i gael ffit agosach\n"
+"neu gynyddu'r Pellter Cysylltiad a\n"
+"Gwerthoedd ongl ar y dialog Dewisiadau"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:164
+msgid ""
+"The tracks cannot be connected together.\n"
+"\n"
+"Try changing some tracks for a closer fit\n"
+"or increase the Connection Distance"
+msgstr ""
+"Ni ellir cysylltu'r traciau gyda'i gilydd.\n"
+"\n"
+"Ceisiwch newid rhai traciau i gael ffit agosach\n"
+"neu gynyddu'r Pellter Cysylltiad"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:165
+msgid ""
+"The first track for the Align\n"
+"Rotate command must be Selected."
+msgstr ""
+"Y trac cyntaf ar gyfer yr Alin\n"
+"Rhaid Dewis gorchymyn cylchdroi."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:166
+msgid ""
+"The second track for the Align\n"
+"Rotate command must be Unselected."
+msgstr ""
+"Yr ail drac ar gyfer yr Align\n"
+"Rhaid i orchymyn cylchdroi fod heb ei ddewis."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:167
+msgid "Too many selected tracks, drawing tracks as End Point."
+msgstr "Gormod o draciau dethol, gan dynnu traciau fel diweddbwynt."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:168
+msgid "Select an endpoint between two tracks."
+msgstr "Dewiswch ddiweddbwynt rhwng dau drac."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:169
+msgid ""
+"According to values that have been entered the diverging\n"
+"track does not connect with the tangent track. Please\n"
+"check the values entered and try again. Check the angle\n"
+"is entered as a frog number or in degrees as specified\n"
+"by Angle Mode radio buttons."
+msgstr ""
+"Yn ôl gwerthoedd sydd wedi cael eu nodi mae'r dargyfeiriol\n"
+"nid yw'r trac yn cysylltu â'r trac tangiad. Os gwelwch yn dda\n"
+"gwiriwch y gwerthoedd a gofnodwyd a cheisiwch eto. Gwiriwch yr ongl\n"
+"yn cael ei nodi fel rhif broga neu mewn graddau fel y nodir\n"
+"gan fotymau radio Ongle Mode."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:170
+msgid "Moved before the end of the turnout"
+msgstr "Wedi'i symud cyn diwedd y nifer a bleidleisiodd"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:171
+msgid ""
+"The Coupled Length must be greater than the Car Length,\n"
+"and the Coupler Length must be greater than 0."
+msgstr ""
+"Rhaid i'r Hyd Cypledig fod yn fwy na Hyd y Car,\n"
+"a rhaid i'r Hyd Coupler fod yn fwy na 0."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:172
+msgid ""
+"The Car Length value must be greater\n"
+"than the Car Width value."
+msgstr ""
+"Rhaid i'r gwerth Hyd Car fod yn fwy\n"
+"na gwerth Lled Car."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:173
+msgid ""
+"The specified Index is already in use.\n"
+"The Index will be updated to the next available value."
+msgstr ""
+"Mae'r Mynegai penodedig eisoes yn cael ei ddefnyddio.\n"
+"Bydd y Mynegai yn cael ei ddiweddaru i'r gwerth nesaf sydd ar gael."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:174
+msgid ""
+"You have changed values for this object.\n"
+"\n"
+"Are you sure you want to Close?"
+msgstr ""
+"Rydych wedi newid gwerthoedd ar gyfer y gwrthrych hwn.\n"
+"\n"
+"Ydych chi'n siŵr eich bod chi am gau?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:175
+#, c-format
+msgid ""
+"File version %ld is lower than the minimum\n"
+"supported version %d. You need to update your\n"
+"layout file using an older version of %s"
+msgstr ""
+"Fersiwn ffeil %ld yn is na'r isafswm\n"
+"fersiwn â chymorth %d. Mae angen i chi ddiweddaru eich\n"
+"ffeil cynllun gan ddefnyddio fersiwn hŷn o %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:176
+#, c-format
+msgid ""
+"File version %ld is lower than the minimum\n"
+"supported version %d.This parameter file will only work using an older version of %s"
+msgstr ""
+"Fersiwn ffile %ld yn is na'r isafswm\n"
+"fersiwn â chymorth %d. Dim ond gan ddefnyddio fersiwn hŷn o %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:177
+#, c-format
+msgid ""
+"%s cannot read the demo file:\n"
+"%s"
+msgstr ""
+"%s methu darllen y ffeil demo:\n"
+"%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:178
+#, c-format
+msgid "doDemo: bad number (%d)"
+msgstr "doDemo: rhif drwg (%d)"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:179
+msgid "Playback TIMEEND without TIMESTART"
+msgstr "Chwarae TIMEEND heb TIMESTART"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:180
+#, c-format
+msgid ""
+"Unknown playback command (%d)\n"
+"%s"
+msgstr ""
+"Gorchymyn chwarae anhysbys (%d)\n"
+"%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:181
+#, c-format
+msgid ""
+"Playback file version %ld is lower than the\n"
+"minimum supported version %d.\n"
+"You need to update your layout file using an\n"
+"older version of %s"
+msgstr ""
+"Fersiwn ffeil chwarae %ld yn is na'r\n"
+"fersiwn leiaf â chymorth %d.\n"
+"Mae angen i chi ddiweddaru'ch ffeil cynllun gan ddefnyddio\n"
+"fersiwn hŷn o %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:182
+#, c-format
+msgid "Scale index (%d) is not valid"
+msgstr "Mynegai graddfa (%d) ddim yn ddilys"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:183
+#, c-format
+msgid ""
+"Scale %s is not valid\n"
+"Please check your %s.xtq file"
+msgstr ""
+"Graddfa %s ddim yn ddilys\n"
+"Gwiriwch eich %s.xtq ffile"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:184
+msgid "Cannot extend a helix"
+msgstr "Ni all estyn helics"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:185
+msgid "Cannot trim a helix"
+msgstr "Methu trimio helics"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:186
+msgid "Ignore further audit notices?"
+msgstr "Anwybyddu hysbysiadau archwilio pellach?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:187
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:188
+msgid "Audit Abort?"
+msgstr "Erthyliad Archwilio?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:189
+msgid "Write Audit File?"
+msgstr "Ysgrifennu Ffeil Archwilio?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:190
+#, c-format
+msgid "checkTrackLength: Short track length = %0.3f"
+msgstr "checkTrackLength: Hyd trac byr = %0.3f"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:191
+#, c-format
+msgid "checkTrackLength: unknown type: %d"
+msgstr "checkTrackLength: math anhysbys: %d"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:192
+#, c-format
+msgid "connectTracks: T%d[%d] T%d[%d] d=%0.3f a=%0.3f"
+msgstr "connectTracks: T%d[%d] T%d[%d] d=%0.3f a=%0.3f"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:193
+#, c-format
+msgid "GetAngleAtPoint: bad type(%d) for T(%d)"
+msgstr "GetAngleAtPoint: math drwg (%d) canys T(%d)"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:194
+#, c-format
+msgid "joinTracks: invalid track type=%d"
+msgstr "joinTracks: math trac annilys=%d"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:195
+#, c-format
+msgid "resolveIndex: T%d[%d]: T%d doesn\\\\'t exist"
+msgstr "resolveIndex: T%d[%d]: T%d ddim yn bodoli"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:196
+msgid "Moved beyond the end of the track"
+msgstr "Wedi symud y tu hwnt i ddiwedd y trac"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:9
+msgid "Invokes online help for this dialog"
+msgstr "Yn gofyn am gymorth ar-lein ar gyfer y deialog hon"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:10
+msgid "Cancels this command"
+msgstr "Yn canslo'r gorchymyn hwn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:11
+msgid "Closes the dialog"
+msgstr "Yn cau'r ymgom"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:12
+msgid "About program dialog"
+msgstr "Ynglŷn â deialog y rhaglen "
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:13
+msgid "Move selected object to top"
+msgstr "Symudwch wrthrych a ddewiswyd i'r brig"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:14
+msgid "Raise or lower all selected tracks"
+msgstr "Codi neu ostwng yr holl draciau a ddewiswyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:15
+msgid "Show a protractor"
+msgstr "Dangos onglydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:16
+msgid "Turn magnetic snap on or off"
+msgstr "Trowch snap magnetig ymlaen neu i ffwrdd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:18
+msgid "Move selected object to bottom"
+msgstr "Symud gwrthrych a ddewiswyd i'r gwaelod"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:19
+msgid "Create a section of track for automation"
+msgstr "Creu darn o drac ar gyfer awtomeiddio"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:20
+msgid "Edit a block definition "
+msgstr "Golygu diffiniad bloc"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:21
+msgid "Create a new Car/Loco description"
+msgstr "Creu disgrifiad Car / Loco newydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:22
+msgid "Manage your Car and Loco Inventory"
+msgstr "Rheoli eich Rhestr Car a Loco"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:23
+msgid "Create track circle from center"
+msgstr "Creu cylch trac o'r canol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:24
+msgid "Create fixed radius track circle"
+msgstr "Creu cylch trac radiws sefydlog"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:25
+msgid "Set Circle Track creation mode"
+msgstr "Gosod modd creu Trac Cylch"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:26
+msgid "Create track circle from tangent"
+msgstr "Creu cylch trac o tangiad"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:27
+msgid "Removes elevation from Selected tracks"
+msgstr "Yn tynnu drychiad o draciau dethol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:28
+msgid "Copy objects to clipboard and duplicate them in exactly the same place"
+msgstr "Copïwch wrthrychau i'r clipfwrdd a'u dyblygu yn yr un lle yn union"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:29
+msgid "Command Options dialog"
+msgstr "Deialog Opsiynau Gorchymyn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:30
+msgid "Controls colors"
+msgstr "Yn rheoli lliwiau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:31
+msgid "Connect two tracks"
+msgstr "Cysylltu dau drac"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:32
+msgid "Create a control for layout automation"
+msgstr "Creu rheolydd ar gyfer awtomeiddio cynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:33
+msgid "Select control element to create"
+msgstr "Dewiswch elfen reoli i'w chreu"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:34
+msgid "Manage control elements"
+msgstr "Rheoli elfennau rheoli"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:35
+msgid "Set Convert mode"
+msgstr "Gosod modd Trosi"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:36
+msgid "Convert from Fixed Track to Cornu"
+msgstr "Trosi o Drac Sefydlog i Cornu"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:37
+msgid "Convert from Cornu and Bezier to Fixed Track"
+msgstr "Trosi o Cornu a Bezier i Drac Sefydlog"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:38
+msgid "Copy selected objects to clipboard"
+msgstr "Copïwch wrthrychau dethol i'r clipfwrdd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:39
+msgid "Create Cornu track"
+msgstr "Creu trac Cornu"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:40
+msgid "Create curved track from center"
+msgstr "Creu trac crwm o'r canol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:41
+msgid "Create curved track from chord"
+msgstr "Creu trac crwm o'r cord"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:42
+msgid "Create curved track from end-point"
+msgstr "Creu trac crwm o'r pwynt olaf"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:43
+msgid "Create Bezier track"
+msgstr "Creu trac Bezier"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:44
+msgid "Set Curve Track creation mode"
+msgstr "Gosod modd creu Trac Crwm"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:45
+msgid "Create curved track from tangent"
+msgstr "Creu trac crwm o tangiad"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:46
+msgid "Manipulate Custom designer entries"
+msgstr "Trin cofnodion dylunwyr Custom"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:47
+msgid "Moves selected objects to clipboard"
+msgstr "Symud gwrthrychau dethol i glipfwrdd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:48
+msgid "Delete objects"
+msgstr "Dileu gwrthrychau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:49
+msgid "Playback demos"
+msgstr "Demos chwarae"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:50
+msgid "Change Object Properties"
+msgstr "Newid Priodweddau Gwrthrych"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:51
+msgid "Change to properties mode"
+msgstr "Newid i'r modd priodweddau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:52
+msgid "Deselect all selected objects"
+msgstr "Dad-ddewiswch yr holl wrthrychau a ddewiswyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:53
+msgid "Change Display parameters"
+msgstr "Newid paramedrau Arddangos"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:54
+msgid "Create benchwork"
+msgstr "Creu byrddau sylfaen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:55
+msgid "Create a box"
+msgstr "Creu blwch"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:56
+msgid "Set Circle drawing command"
+msgstr "Gosod gorchymyn lluniadu Cylch"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:57
+msgid "Create a circle"
+msgstr "Creu cylch"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:58
+msgid "Draw a circle line from center"
+msgstr "Tynnwch linell gylch o'r canol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:59
+msgid "Draw a fixed radius circle line"
+msgstr "Tynnwch linell gylch radiws sefydlog"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:60
+msgid "Draw a circle line from tangent"
+msgstr "Tynnwch linell gylch o tangiad"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:61
+msgid "Set Curve drawing command"
+msgstr "Gosod gorchymyn lluniadu Curve"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:62
+msgid "Create a curved line"
+msgstr "Creu llinell grom"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:63
+msgid "Create a curved line from End"
+msgstr "Creu llinell grom o End"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:64
+msgid "Create a curved line from center"
+msgstr "Creu llinell grom o'r canol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:65
+msgid "Create a curved line from chord"
+msgstr "Creu llinell grom o'r cord"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:66
+msgid "Create a curved line from tangent"
+msgstr "Creu llinell grom o tangiad"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:67
+msgid "Create a Bezier line"
+msgstr "Creu llinell Bezier"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:68
+msgid "Create a dimension line"
+msgstr "Creu llinell ddimensiwn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:69
+msgid "Create a filled box"
+msgstr "Creu blwch wedi'i lenwi"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:70
+msgid "Create a filled circle"
+msgstr "Creu cylch wedi'i lenwi"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:71
+msgid "Draw a filled circle from center"
+msgstr "Tynnwch gylch wedi'i lenwi o'r canol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:72
+msgid "Draw a fixed radius filled circle"
+msgstr "Lluniwch gylch sefydlog wedi'i lenwi â radiws"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:73
+msgid "Draw a filled circle from tangent"
+msgstr "Tynnwch gylch wedi'i lenwi o tangiad"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:74
+msgid "Create a polygon"
+msgstr "Creu polygon"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:75
+msgid "Create a filled polygon"
+msgstr "Creu polygon wedi'i lenwi"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:76
+msgid "Create a polyline"
+msgstr "Creu polyline"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:77
+msgid "Create a straight line"
+msgstr "Creu llinell syth"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:78
+msgid "Set Line drawing command"
+msgstr "Gosod gorchymyn lluniadu Llinell"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:79
+msgid "Set Shape drawing command"
+msgstr "Gosod gorchymyn lluniadu Siâp"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:80
+msgid "Draw table edge"
+msgstr "Tynnwch ymyl bwrdd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:81
+msgid "Easement menu"
+msgstr "Dewislen rhwyddineb"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:83
+msgid "Generate a Parts List of selected objects"
+msgstr "Cynhyrchu Rhestr Rhannau o wrthrychau dethol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:84
+msgid "Set Import/Export mode"
+msgstr "Gosod modd Mewnforio / Allforio"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:85
+msgid "Export a .xti file"
+msgstr "Allforio a .xti ffile"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:86
+msgid "Export a Bitmap image"
+msgstr "Allforio delwedd Bitmap"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:87
+msgid "Export a DXF file"
+msgstr "Allforio a DXF ffile"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:89
+msgid "Flip selected objects"
+msgstr "Fflipio gwrthrychau dethol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:90
+msgid "Adjust snap grid"
+msgstr "Addasu grid snap"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:91
+msgid "Enable snap grid"
+msgstr "Galluogi grid snap"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:92
+msgid "Show snap grid"
+msgstr "Dangos grid snap"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:93
+msgid "Create a structure from a Group of objects"
+msgstr "Creu strwythur o Grŵp o wrthrychau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:94
+msgid "Create a hand-laid turnout"
+msgstr "Creu pwynt wedi'i osod â llaw"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:95
+msgid "Create a track helix"
+msgstr "Creu helics trac"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:96
+msgid "Import a .xti file"
+msgstr "Mewnforio a .xti ffile"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:97
+msgid "Import an .xti file as a Module"
+msgstr "Mewnforio a .xti ffile fel Modiwl"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:98
+msgid "Join two tracks"
+msgstr "Ymunwch â dau drac"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:99
+msgid "Join two lines or polylines"
+msgstr "Ymunwch â dwy linell neu polylines"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:100
+msgid "Set Join mode"
+msgstr "Modd Ymunwch modd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:101
+msgid "Change Layers"
+msgstr "Newid Haenau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:102
+msgid "Selects the current drawing layer"
+msgstr "Yn dewis yr haen arlunio gyfredol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:103
+msgid "Layout parameters"
+msgstr "Paramedrau cynllun "
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:105
+msgid "Show/Hide Map Window"
+msgstr "Dangos / Cuddio Ffenestr Map"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:106
+msgid "Select Measurement Tool"
+msgstr "Dewiswch Offeryn Mesur"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:107
+msgid "Modify or extend a track"
+msgstr "Addasu neu ymestyn trac"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:108
+msgid "Change To modify mode"
+msgstr "Newid I addasu'r modd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:109
+msgid "Move selected objects"
+msgstr "Symud gwrthrychau dethol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:110
+msgid "Move a label"
+msgstr "Symud label"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:111
+msgid "Move selected objects to current layer"
+msgstr "Symud gwrthrychau dethol i'r haen gyfredol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:113
+msgid "Print a bitmap"
+msgstr "Argraffu Bitmap"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:114
+msgid "Pan or zoom the layout"
+msgstr "Pan neu chwyddo'r cynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:115
+msgid "Change to zoom/pan mode"
+msgstr "Newid i'r modd chwyddo / padell"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:116
+msgid "Create a parallel track"
+msgstr "Creu trac cyfochrog"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:117
+msgid "Create a parallel line"
+msgstr "Creu llinell gyfochrog"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:118
+msgid "Set Parallel mode"
+msgstr "Gosod modd Cyfochrog"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:119
+msgid "Register"
+msgstr "Cofrestrwch"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:120
+msgid "Copy objects from clipboard"
+msgstr "Copïwch wrthrychau o'r clipfwrdd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:121
+msgid "Perferences dialog"
+msgstr "Deialog dewisiadau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:122
+msgid "Display prices of turnouts, sectional tracks and structures"
+msgstr "Arddangos prisiau pwyntiau, traciau adrannol a strwythurau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:123
+msgid "Print the layout"
+msgstr "Argraffwch y cynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:124
+msgid "Loads and unloads parameter files into/from toolbar"
+msgstr "Llwythi a dadlwytho ffeiliau paramedr i mewn / allan o'r bar offer"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:125
+msgid "Elevation Profile Command"
+msgstr "Gorchymyn Proffil Drychiad"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:127
+msgid "Command recorder"
+msgstr "Recordydd gorchymyn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:129
+msgid "Update selected Turnout and Structure definitions"
+msgstr "Diweddarwch y diffiniadau a bleidleisiodd a Strwythur a ddewiswyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:130
+msgid "Rescale selected objects"
+msgstr "Ail-lunio gwrthrychau dethol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:131
+msgid "Rotate selected object(s)"
+msgstr "Cylchdroi gwrthrych(au) dethol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:132
+msgid "Show a ruler"
+msgstr "Dangos pren mesur"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:133
+msgid "Select objects"
+msgstr "Dewiswch wrthrychau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:134
+msgid "Change To Select Mode"
+msgstr "Newid I Ddethol Modd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:135
+msgid "Selects all objects on the layout"
+msgstr "Yn dewis yr holl wrthrychau ar y cynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:136
+msgid "Selects all objects in the current Layer"
+msgstr "Yn dewis yr holl wrthrychau yn yr Haen gyfredol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:137
+msgid "Choose objects by Index number"
+msgstr "Dewiswch wrthrychau yn ôl rhif Mynegai"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:138
+msgid "Invert current selection"
+msgstr "Gwrthdroi dewis cyfredol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:139
+msgid "Configure the Printer"
+msgstr "Ffurfweddwch yr Argraffydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:140
+msgid "Set Split mode"
+msgstr "Gosod modd Hollti"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:141
+msgid "Split a track"
+msgstr "Rhannwch drac"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:142
+msgid "Split a straight, curved, circle, polygon or polyline Draw Object "
+msgstr "Rhannwch Wrthrych Tynnu syth, crwm, cylch, polygon neu polyline"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:143
+msgid "Select stranded (unconnected) track pieces"
+msgstr "Dewiswch ddarnau trac sownd (digyswllt)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:144
+msgid "Create a sensor (ie. a occupancy detector or a toggle switch)"
+msgstr "Creu synhwyrydd (h.y. synhwyrydd deiliadaeth neu switsh togl)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:145
+msgid "Create a signal for train control"
+msgstr "Creu signal ar gyfer rheoli trên"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:146
+msgid "Choose which commands are sticky"
+msgstr "Dewiswch pa orchmynion sy'n ludiog"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:147
+msgid "Create straight track"
+msgstr "Creu trac syth"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:148
+msgid "Place a structure on the layout"
+msgstr "Rhowch strwythur ar y cynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:149
+msgid "Create a switchmotor for turnout control"
+msgstr "Creu pwyntmotor ar gyfer rheoli pwyntiau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:150
+msgid "Edit a switchmotor definition"
+msgstr "Golygu diffiniad pwynt-modur"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:151
+msgid "Enter text on the layout"
+msgstr "Rhowch destun ar y cynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:152
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:579
+msgid "Controls the size of the entered text"
+msgstr "Mae'n rheoli maint y testun a gofnodwyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:153
+msgid "Plain Text"
+msgstr "Testun plaen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:154
+msgid "Tip of the Day window"
+msgstr "ffenestr blaen y dydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:156
+msgid "Change To Run Trains Mode"
+msgstr "Newid I Rhedeg Modd Trenau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:157
+msgid "Pause/Resume Trains"
+msgstr "Trenau Saib / Ail-ddechrau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:158
+msgid "Place a car on the layout"
+msgstr "Rhowch gar ar y cynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:159
+msgid "Exit Trains"
+msgstr "Trenau Ymadael"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:160
+msgid "Trim a line, circle or polyline Draw Object using a second Object"
+msgstr ""
+"Trimiwch linell, cylch neu polyline Gwrthrych Tynnu gan ddefnyddio ail "
+"Wrthrych"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:161
+msgid "Hide/Unhide a track"
+msgstr "Cuddio / Dad-guddio trac"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:162
+msgid "Make/Unmake a track a bridge"
+msgstr "Gwneud / Dad-wneud trac yn bont"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:163
+msgid "Place a turnout or sectional track"
+msgstr "Rhowch bwynt neu drac adrannol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:164
+msgid "Create a new turnout definition"
+msgstr "Creu diffiniad pwynt newydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:165
+msgid "Place a turntable"
+msgstr "Rhowch drofwrdd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:166
+msgid "Updates old source files with 3 part titles"
+msgstr "Yn diweddaru hen ffeiliau ffynhonnell gyda theitlau 3 rhan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:168
+msgid "Ungroup objects"
+msgstr "Gwrthrychau heb grwp"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:169
+msgid "Draw tracks with thin lines"
+msgstr "Tynnwch draciau gyda llinellau tenau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:170
+msgid "Draw tracks with medium lines"
+msgstr "Tynnwch draciau gyda llinellau canolig"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:171
+msgid "Draw tracks with thick lines"
+msgstr "Tynnwch draciau gyda llinellau trwchus"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:172
+msgid "Change drawing scale"
+msgstr "Newid graddfa arlunio"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:173
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:204
+msgid "Zoom in"
+msgstr "Chwyddo i mewn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:174
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:205
+msgid "Zoom out"
+msgstr "Chwyddo allan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:178
+msgid "Curved Fixed"
+msgstr "Crwm Sefydlog"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:179
+msgid "Preferred Radius"
+msgstr "Radiws a Ffefrir"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:180
+msgid "Modify Draw"
+msgstr "Addasu Draw"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:187
+msgid "Rotation Angle"
+msgstr "Ongl Cylchdroi"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:188
+msgid "Rot Center X"
+msgstr "Canolfan cylchdroi X"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:189
+msgid "Rot Center Y"
+msgstr "Canolfan cylchdroi Y"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:191
+msgid "File Menu"
+msgstr "Dewislen Ffeil"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:192
+msgid "Save layout"
+msgstr "Cadw cynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:193
+msgid "Save layout under a new name "
+msgstr "Cadw cynllun o dan enw newydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:194
+msgid "New layout"
+msgstr "Cynllun newydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:195
+msgid "Generate parts list"
+msgstr "Cynhyrchu rhestr rhannau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:196
+msgid "Load a layout"
+msgstr "Llwythwch gynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:197
+msgid "Manage Parameter Files"
+msgstr "Rheoli Ffeiliau Paramedr"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:198
+msgid "Print layout"
+msgstr "Cynllun argraffu"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:199
+msgid "Exit the program"
+msgstr "Ymadael â'r rhaglen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:200
+msgid "Revert to last saved state of layout plan"
+msgstr "Dychwelwch i'r cynllun cynllun cyflwr olaf a arbedwyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:201
+msgid "Printer Setup"
+msgstr "Gosod Argraffydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:202
+msgid "Edit menu"
+msgstr "Golygu dewislen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:203
+msgid "Redraw layout"
+msgstr "Cynllun ail-lunio"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:206
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:209
+msgid "Tools menu"
+msgstr "Dewislen offer"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:207
+msgid "View menu"
+msgstr "Gweld y ddewislen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:208
+msgid "Toolbar configuration"
+msgstr "Cyfluniad bar offer"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:210
+msgid "Options menu"
+msgstr "Dewislen opsiynau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:211
+msgid "Playback/Record commands"
+msgstr "Gorchmynion Chwarae / Cofnodi"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:212
+msgid "Window menu"
+msgstr "Dewislen ffenestr"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:213
+msgid "Help menu"
+msgstr "Dewislen help"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:214
+msgid "Recent error messages and explanations"
+msgstr "Negeseuon gwall ac esboniadau diweddar"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:215
+msgid "Move Hot Bar left"
+msgstr "Symudwch Bar Poeth i'r chwith"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:216
+msgid "Move Hot Bar right"
+msgstr "Symudwch Bar Poeth i'r dde"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:217
+msgid "Total track count"
+msgstr "Cyfanswm cyfrif y trac"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:218
+msgid "X Position of cursor"
+msgstr "X Safle cyrchwr"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:219
+msgid "Y Position of cursor"
+msgstr "Y Safle cyrchwr"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:220
+msgid "Drawing scale"
+msgstr "Graddfa arlunio"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:221
+msgid "Message and status line"
+msgstr "Llinell neges a statws"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:222
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:223
+msgid "Main layout canvas"
+msgstr "Cynfas y prif gynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:224
+msgid "Main drawing canvas"
+msgstr "Cynfas prif lun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:225
+msgid "Command buttons"
+msgstr "Botymau gorchymyn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:226
+msgid "Menus"
+msgstr "Bwydlenni"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:227
+msgid "Tile, Filename and Window Manager buttons"
+msgstr "Botymau Rheolwr Teils, Enw Ffeil a Ffenestr"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:228
+msgid "Turnout and Structure Hot Bar"
+msgstr "Bar Poeth Pwynt a Strwythur"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:229
+msgid "Active layer list and layer buttons"
+msgstr "Rhestr haenau gweithredol a botymau haen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:230
+msgid "Map window"
+msgstr "Ffenestr map"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:231
+msgid "This is the portion of the layout shown in the Main Window canvas"
+msgstr "Dyma'r gyfran o'r cynllun a ddangosir yn gynfas y Brif Ffenestr"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:232
+msgid "Raise or Lower all Selected Track"
+msgstr "Codi neu Gostwng yr holl Drac a Ddetholwyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:233
+msgid "Name of block"
+msgstr "Enw'r bloc"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:234
+msgid "Script that the block will run"
+msgstr "Sgript y bydd y bloc yn rhedeg"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:235
+msgid "List of tracks in the Block"
+msgstr "Rhestr o draciau yn y Bloc"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:236
+msgid "Add or Update car object"
+msgstr "Ychwanegu neu Ddiweddaru Gwrthrych Car"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:237
+msgid "Manufacturer name"
+msgstr "Enw'r gwneuthurwr"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:240
+msgid "Is the Car a Locomotive?"
+msgstr "A yw'r Car yn Locomotif?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:241
+msgid "Part Number and Description"
+msgstr "Rhif Rhan a Disgrifiad"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:242
+msgid "Manufacturer Part Number"
+msgstr "Gwneuthurwr Rhan Rhif"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:243
+msgid "Use the Selected figure as the car image"
+msgstr "Defnyddiwch y ffigur Dethol fel delwedd y car"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:244
+msgid "Use the default figure as the car image"
+msgstr "Defnyddiwch y ffigur diofyn fel delwedd y car"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:245
+msgid "Optional description of the Car Part"
+msgstr "Disgrifiad dewisol o'r Rhan Car"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:246
+msgid "Flip car image"
+msgstr "Delwedd car troi"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:247
+msgid "Display Car Item information or reporting marks and dimensions"
+msgstr "Arddangos gwybodaeth Eitem Car neu farciau a dimensiynau adrodd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:248
+msgid "Full Roadname"
+msgstr "Enw Ffordd Llawn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:249
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:250
+msgid "Car Type"
+msgstr "Math o Gar"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:251
+msgid "Reporting Marks (Roadname abbreviation)"
+msgstr "Marciau Adrodd (Talfyriad Enw Ffordd)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:252
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:457
+msgid "Car Number"
+msgstr "Rhif Car"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:253
+msgid "Car body Color"
+msgstr "Lliw corff car"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:254
+msgid "Length of car body"
+msgstr "Hyd corff y car"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:255
+msgid "Width of car body"
+msgstr "Lled corff y car"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:256
+msgid "Distance between Trucks "
+msgstr "Pellter rhwng Tryciau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:257
+msgid "Distance Trucks are displaced along Car"
+msgstr "Mae Tryciau Pellter yn cael eu dadleoli ar hyd Car"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:258
+msgid "Coupler are mounted on body or truck"
+msgstr "Mae cwpller wedi'u gosod ar gorff neu lori"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:259
+msgid "Overall Coupled Length"
+msgstr "Hyd Cypledig Cyffredinol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:260
+msgid "Coupler Length from end of car"
+msgstr "Hyd y cwplwr o ddiwedd y car"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:261
+msgid "Diagram of Car"
+msgstr "Diagram o Gar"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:262
+msgid "Item Index Number"
+msgstr "Rhif Mynegai Eitem"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:263
+msgid "Original Purchase Price"
+msgstr "Pris Prynu Gwreiddiol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:265
+msgid "Condition of car"
+msgstr "Cyflwr y car"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:266
+msgid "Original Purchase Date - yyyymmdd"
+msgstr "Dyddiad Prynu Gwreiddiol - yyyymmdd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:267
+msgid "Last Service Date - yyyymmdd"
+msgstr "Dyddiad Gwasanaeth Olaf - yyyymmdd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:268
+msgid "Number of identical cars to be entered"
+msgstr "Nifer y ceir union yr un fath i'w nodi"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:269
+msgid "Do all the cars have the same Number?"
+msgstr "Oes gan yr holl geir yr un Rhif?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:270
+msgid "Notes about the car"
+msgstr "Nodiadau am y car"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:271
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:272
+msgid "Create a new car Part or Prototype definitions"
+msgstr "Creu diffiniadau Rhan neu Brototeip car newydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:273
+msgid "Finds the selected Car Item on the layout"
+msgstr "Yn dod o hyd i'r Eitem Car a ddewiswyd ar y cynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:274
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:275
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:276
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:277
+msgid "Sort the Item list"
+msgstr "Trefnwch y rhestr Eitem"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:279
+msgid "Edit the selected Car Item"
+msgstr "Golygu'r Eitem Car a ddewiswyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:280
+msgid "Add a new Car Item"
+msgstr "Ychwanegwch Eitem Car newydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:281
+msgid "Delete the selected Car Items"
+msgstr "Dileu'r Eitemau Car a ddewiswyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:282
+msgid "Import a Car Item .csv file"
+msgstr "Mewnforio Eitem Car .csv ffile"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:283
+msgid "Export a Car Item .csv file"
+msgstr "Allforio Eitem Car .csv ffile"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:284
+msgid "Create a text list of the Car Items"
+msgstr "Creu rhestr destun o'r Eitemau Car"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:285
+msgid "Specifies the radius of the circle track"
+msgstr "Yn nodi radiws y trac cylch"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:286
+msgid "Default command is Describe or Select"
+msgstr "Gorchymyn diofyn yw Disgrifio neu Dewis"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:287
+msgid "Action to invoke on Right-Click"
+msgstr "Camau i weithredu ar De-gliciwch"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:288
+msgid ""
+"Replace current selection with clicked object or add clicked object to "
+"selection"
+msgstr ""
+"Amnewid y dewis cyfredol gyda gwrthrych wedi'i glicio neu ychwanegu "
+"gwrthrych wedi'i glicio at y dewis"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:289
+msgid "Clicking into an empty area clears selection if select mode is <add>"
+msgstr ""
+"Mae clicio i mewn i ardal wag yn clirio'r dewis os yw'r modd dethol <add>"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:291
+msgid "The list of control elements"
+msgstr "Y rhestr o elfennau rheoli"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:292
+msgid "Edit the element"
+msgstr "Golygu'r elfen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:293
+msgid "Delete the element"
+msgstr "Golygu'r elfen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:294
+msgid "Contents Label for new Parameter file"
+msgstr "Label Cynnwys ar gyfer ffeil Paramedr newydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:295
+msgid "Desired curve radius for new track"
+msgstr "Radiws cromlin dymunol ar gyfer trac newydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:296
+msgid "List of custom designed turnouts and structures"
+msgstr "Rhestr o bwyntiau a strwythurau wedi'u cynllunio'n benodol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:297
+msgid "Invoke designer editor"
+msgstr "Galw golygydd dylunydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:298
+msgid "Remove selected entries"
+msgstr "Dileu cofnodion dethol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:299
+msgid "Copy selected entries to Parameter File"
+msgstr "Copïwch gofnodion dethol i Ffeil Paramedr"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:300
+msgid "Create a New part or prototype"
+msgstr "Creu rhan neu brototeip newydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:301
+msgid "Update custom file and close"
+msgstr "Diweddarwch y ffeil arfer a'i chau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:302
+msgid "Executes the next step of the demo"
+msgstr "Yn gweithredu cam nesaf y demo"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:303
+msgid "Skip to next demo"
+msgstr "Neidio i'r demo nesaf"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:304
+msgid "Stops the demonstration and returns you to XTrackCAD"
+msgstr "Yn stopio'r arddangosiad ac yn eich dychwelyd iddo XTrackCAD"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:305
+msgid "Select speed of Playback"
+msgstr "Dewiswch gyflymder Chwarae"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:306
+msgid "This is where comments about the demo are displayed"
+msgstr "Dyma lle mae sylwadau am y demo yn cael eu harddangos"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:343
+msgid "Move the Main canvas if you drag near the edge"
+msgstr "Symudwch y Prif gynfas os ydych chi'n llusgo ger yr ymyl"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:344
+msgid "Color tracks by layer or individually"
+msgstr "Llwybrau lliw yn ôl haen neu'n unigol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:345
+msgid "Color draw objects by layer or individually"
+msgstr "Lliwiwch wrthrychau lliw fesul haen neu'n unigol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:346
+msgid "Controls the drawing of hidden tracks"
+msgstr "Yn rheoli lluniadu traciau cudd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:347
+msgid "Controls the drawing of End-Points"
+msgstr "Mae'n rheoli lluniadu pwyntiau diwedd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:348
+msgid "How to draw track ties"
+msgstr "Sut i dynnu llun cysgu"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:349
+msgid "Show crosshair at center of curves"
+msgstr "Dangos crosshair yng nghanol y cromliniau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:350
+msgid "Drawing scale when to draw tracks with 2 rails"
+msgstr "Graddfa dynnu pryd i dynnu traciau gyda 2 reilen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:351
+msgid "Drawing scale of the map window"
+msgstr "Graddfa dynnu ffenestr y map"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:352
+msgid "Whether the main layout is updated while dragging on the Map"
+msgstr "P'un a yw'r prif gynllun yn cael ei ddiweddaru wrth lusgo ar y Map"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:353
+msgid "Enable labels for Turnouts, Flextrack Lengths and Elevations"
+msgstr "Galluogi labeli ar gyfer Pwyntiau, Hyd Trac Hyblyg ac Drychiadau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:354
+msgid "When to label Turnout, Flextrack Lengths and Elevations"
+msgstr "Pryd i labelu Pwyntiau, Hyd Trac Flex ac Drychiadau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:355
+msgid "Font size for labels on layout"
+msgstr "Maint y ffont ar gyfer labeli ar y cynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:356
+msgid "Label elements on the Hot Bar"
+msgstr "Labelwch elfennau ar y Bar Poeth"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:357
+msgid "Label elements on layout"
+msgstr "Labelu elfennau ar y cynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:358
+msgid "Label elements for lists"
+msgstr "Labelwch elfennau ar gyfer rhestrau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:359
+msgid "How to group cars on the Train Hot Bar"
+msgstr "Sut i grwpio ceir ar y Bar Poeth Trên"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:360
+msgid "Delay (in mS) between updating train movements"
+msgstr "Oedi (yn msec) rhwng diweddaru symudiadau trenau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:361
+msgid "Don't show trains in tunnels when tunnels are hidden"
+msgstr "Peidiwch â dangos trenau mewn twneli pan fydd twneli wedi'u cuddio"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:362
+msgid "Display unconnected endpoints of track with special marks"
+msgstr "Arddangos pwyntiau terfyn digyswllt â marciau arbennig"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:363
+msgid "Whether the Main Drawing Area shows as much of the room as possible"
+msgstr ""
+"P'un a yw'r Prif Ardal Arlunio yn dangos cymaint o'r ystafell â phosibl"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:364
+msgid "Don't hide system cursor when program cursors are showing"
+msgstr ""
+"Peidiwch â chuddio cyrchwr system pan fydd cyrchwyr rhaglenni'n dangos"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:366
+msgid "Width of the lines"
+msgstr "Lled y llinellau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:367
+msgid "Color of the lines"
+msgstr "Lliw y llinellau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:368
+msgid "List of types of Lumber"
+msgstr "Rhestr o'r mathau o bren"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:369
+msgid "Color of Benchwork"
+msgstr "Lliw y Byrddau Sylfaen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:370
+msgid "Orientation of Benchwork"
+msgstr "Cyfeiriadedd y Bwrdd Sylfaen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:371
+msgid "Size of Dimension Arrows"
+msgstr "Maint y Saethau Dimensiwn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:372
+msgid "Width of Box"
+msgstr "Lled y Blwch"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:373
+msgid "Height of Box"
+msgstr "Uchder y Blwch"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:374
+msgid "Angle of Line"
+msgstr "Ongl y Llinell"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:375
+msgid "Radius of Curve"
+msgstr "Radiws y Gromlin"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:377
+msgid "This controls the sharpness of the easement curve"
+msgstr "Mae hyn yn rheoli miniogrwydd cromlin yr hawddfraint"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:378
+msgid "Minimum radius"
+msgstr "Radiws lleiaf"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:379
+msgid "Maximum offset"
+msgstr "Gwrthbwyso uchaf"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:380
+msgid "Easement length"
+msgstr "Hyd rhwyddineb"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:381
+msgid ""
+"These radio buttons are a short-cut for Values of 0.0, 0.5, 1.0 and 2.0. "
+"None turns Easements off"
+msgstr ""
+"Mae'r botymau radio hyn yn llwybr byr ar gyfer Gwerthoedd o 0.0, 0.5, 1.0 a "
+"2.0. Nid oes yr un yn troi Rhwyddinebau i ffwrdd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:382
+msgid "Complete easement selection"
+msgstr "Dewis hawddfraint cyflawn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:383
+msgid "Type of elevation"
+msgstr "Math o ddrychiad"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:384
+msgid "Height of End Point"
+msgstr "Uchder y pwynt gorffen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:385
+msgid "Compute elevation based on neighbors"
+msgstr "Drychiad cyfrifiadurol yn seiliedig ar gymdogion"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:386
+msgid "Compute grade based on neighbors"
+msgstr "Gradd gyfrifiannu yn seiliedig ar gymdogion"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:387
+msgid "Specify a name for an End-Point"
+msgstr "Nodwch enw ar gyfer pwynt gorffen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:389
+msgid "Print parts list"
+msgstr "Argraffu rhestr rhannau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:390
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:512
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:625
+msgid "Invoke the Print Setup dialog"
+msgstr "Galw ar y ddewislen gosod Argraffu"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:391
+msgid "Save parts list to file"
+msgstr "Cadw rhestr rhannau i'w ffeilio"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:392
+msgid "This is the list of parts for the layout"
+msgstr "Dyma'r rhestr o rannau ar gyfer y cynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:393
+msgid "Enable prices on the Parts List"
+msgstr "Galluogi prisiau ar y Rhestr Rhannau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:394
+msgid "Enable index listing on the Parts List"
+msgstr "Galluogi rhestru mynegai ar y Rhestr Rhannau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:395
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:398
+msgid "Spacing between major grid lines"
+msgstr "Bylchau rhwng prif linellau grid"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:396
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:399
+msgid "Allows the spacing to be subdivided"
+msgstr "Yn caniatáu i'r bylchau gael eu hisrannu"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:397
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:400
+msgid "Specifies if positions are snaped in this direction"
+msgstr "Yn nodi a yw swyddi'n cael eu bachu i'r cyfeiriad hwn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:401
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:402
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:403
+msgid "Shows the origin and angle of the grid"
+msgstr "Yn dangos tarddiad ac ongl y grid"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:404
+msgid "Specifies if the grid is shown"
+msgstr "Yn nodi a yw'r grid yn cael ei ddangos"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:405
+msgid "Completes the grid specification"
+msgstr "Yn cwblhau manyleb y grid"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:409
+msgid "Number of segments in Group"
+msgstr "Nifer y segmentau yn y Grŵp"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:410
+msgid "Replace the Selected object with the new definition?"
+msgstr "Amnewid y gwrthrych Dethol gyda'r diffiniad newydd?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:411
+msgid "Creates a new Structure (or Turnout)"
+msgstr "Yn creu Strwythur (neu Bwynt) newydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:412
+msgid "Elevation difference of Helix End-Points"
+msgstr "Gwahaniaeth drychiad pwyntiau terfyn Helix"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:413
+msgid "Helix Radius"
+msgstr "Radiws Helix"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:414
+msgid "Number of turns in the helix"
+msgstr "Nifer y troadau yn yr helics"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:415
+msgid "Angle betweek helix entrance and exit"
+msgstr "Ongl rhwng mynedfa helix ac allanfa"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:416
+msgid "Grade in helix"
+msgstr "Gradd mewn helics"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:417
+msgid "Separation between helix layers including baseboard, track, etc"
+msgstr "Gwahanu rhwng haenau helics gan gynnwys bwrdd sylfaen, trac, ac ati"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:418
+msgid "Index numbers of objects, separated by commas"
+msgstr "Mynegai niferoedd y gwrthrychau, wedi'u gwahanu gan atalnodau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:419
+msgid "Desired curve radius between straight tracks"
+msgstr "Radiws cromlin dymunol rhwng traciau syth"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:420
+msgid "Layer list"
+msgstr "Rhestr haenau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:421
+msgid "Layer Name"
+msgstr "Enw Haen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:422
+msgid "Hide Layer Button on MenuBar"
+msgstr "Cuddio Botwm Haen ar Bar Dewislen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:423
+msgid "Color of layer"
+msgstr "Lliw haen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:424
+msgid "Layer is drawn on Main window"
+msgstr "Tynnir yr haen ar y Brif ffenestr"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:425
+msgid "Layer cannot be changed"
+msgstr "Ni ellir newid haen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:426
+msgid "Use color for this Layer if color-by-layer is set"
+msgstr "Defnyddiwch liw ar gyfer yr Haen hon os yw lliw-wrth-haen wedi'i osod"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:427
+msgid "Other Layers this Layer also shows/hides"
+msgstr "Haenau Eraill mae'r Haen hon hefyd yn eu dangos / cuddio"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:428
+msgid "Layer is a Module"
+msgstr "Modiwl yw haen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:429
+msgid "Layer is drawn on Map window"
+msgstr "Tynnir yr haen ar ffenestr Map"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:430
+msgid "Number of layer buttons to show"
+msgstr "Nifer y botymau haen i'w dangos"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:431
+msgid "Number of objects in this layer"
+msgstr "Nifer y gwrthrychau yn yr haen hon"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:432
+msgid "Settings File to load when this layer is made current"
+msgstr "Gosodiadau Ffeil i'w lwytho pan fydd yr haen hon yn gyfredol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:434
+msgid "Load layer configuration from default"
+msgstr "Llwythwch ffurfweddiad haen yn ddiofyn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:435
+msgid "Save current layer configuration as default"
+msgstr "Cadw cyfluniad haen cyfredol yn ddiofyn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:436
+msgid "Overwrite layer configuration with system default values"
+msgstr "Gor-ysgrifennu cyfluniad haen gyda gwerthoedd diofyn system"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:437
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:438
+msgid "Specifies the size of the room (in inches or centimeters)"
+msgstr "Yn nodi maint yr ystafell (mewn modfeddi neu centimetrau)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:439
+msgid "Specifies the layout Title that will appear on printouts"
+msgstr "Yn nodi'r Teitl cynllun a fydd yn ymddangos ar allbrintiau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:440
+msgid "Specifies the layout Subtitle that will appear on printouts"
+msgstr "Yn nodi'r cynllun Is-deitl a fydd yn ymddangos ar allbrintiau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:441
+msgid "Specifies the Modelling Scale"
+msgstr "Yn nodi'r Raddfa Modelu"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:442
+msgid "Specifies the rail gauge, ie. the distance between the rails"
+msgstr "Yn nodi'r mesurydd rheilffordd, h.y. y pellter rhwng y cledrau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:443
+msgid ""
+"Specifies minimum track radius (in inches or centimeters). Tracks with a "
+"smaller radius are considered exceptional."
+msgstr ""
+"Yn nodi'r radiws trac lleiaf (mewn modfeddi neu centimetrau). Mae traciau â "
+"radiws llai yn cael eu hystyried yn eithriadol."
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:444
+msgid ""
+"Specifies maximum track elevation expressed as a percent (%). Tracks with a "
+"larger elevation are considered exceptional."
+msgstr ""
+"Yn nodi'r drychiad trac uchaf a fynegir fel cant (%). Mae traciau â drychiad"
+" mwy yn cael eu hystyried yn eithriadol."
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:445
+msgid "Select the background image"
+msgstr "Dewiswch y ddelwedd gefndir"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:446
+msgid "Remove the background image"
+msgstr "Tynnwch y ddelwedd gefndir"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:447
+msgid "Specifies the x offset of the bottom left of the background image"
+msgstr "Yn nodi gwrthbwyso x gwaelod chwith y ddelwedd gefndir"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:448
+msgid "Specifies the y offset of the bottom left of the background image"
+msgstr "Yn nodi gwrthbwyso y chwith isaf y ddelwedd gefndir"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:449
+msgid ""
+"Specifies how large the bottom edge of the background image should be in "
+"model units"
+msgstr ""
+"Yn nodi pa mor fawr y dylai ymyl waelod y ddelwedd gefndir fod mewn unedau "
+"model"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:450
+msgid ""
+"Specifies the screening of the background image from 0 (none) to 100% "
+"(vanishes)"
+msgstr "Yn nodi sgrinio'r ddelwedd gefndir o 0 (dim) i 100% (diflannu)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:451
+msgid "Specifies the rotation angle of the background image in degrees"
+msgstr "Yn nodi ongl cylchdroi'r ddelwedd gefndir mewn graddau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:452
+msgid "Write a copy of current settings to a named file"
+msgstr "Ysgrifennwch gopi o'r gosodiadau cyfredol i ffeil a enwir"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:453
+msgid "Override current settings from a named file"
+msgstr "Diystyru gosodiadau cyfredol o ffeil a enwir"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:454
+msgid "Move by X"
+msgstr "Symud heibio X"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:455
+msgid "Move by Y"
+msgstr "Symud heibio Y"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:458
+msgid ""
+"This is the body of the Note. To change this select Modify from the File "
+"Menu"
+msgstr "Dyma gorff y Nodyn. I newid hyn, dewiswch Addasu o'r Ddewislen Ffeil"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:460
+msgid "Specifies number of pixels per inch (or centimeter)"
+msgstr "Yn nodi nifer y picseli fesul modfedd (neu centimetr)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:462
+msgid ""
+"Specifies whether Layout Titles, Borders or Track Centerlines are printed on"
+" the BitMap"
+msgstr ""
+"Yn nodi a yw Teitlau Cynllun, Ffiniau neu Track Centerlines wedi'u hargraffu"
+" ar y BitMap"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:463
+msgid ""
+"Specifies the separation between the original track and the parallel "
+"track/line"
+msgstr ""
+"Yn nodi'r gwahaniad rhwng y trac gwreiddiol a'r trac / llinell gyfochrog"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:464
+msgid ""
+"Specifies the a factor that increases the seperation as the radius of the "
+"original track reduces. 0.0 means no increase."
+msgstr ""
+"Yn nodi'r ffactor sy'n cynyddu'r trawiad wrth i radiws y trac gwreiddiol "
+"leihau. Mae 0.0 yn golygu dim cynnydd."
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:465
+msgid "Enter your name as specified in the XTrackCAD Registration Notice"
+msgstr "Rhowch eich enw fel y nodir yn Hysbysiad Cofrestru XTrackCAD"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:466
+msgid "Enter the key value as specified in the XTrackCAD Registration Notice"
+msgstr ""
+"Rhowch y gwerth allweddol fel y nodir yn Hysbysiad Cofrestru XTrackCAD"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:467
+msgid "Validates the name and key. Terminates the registration command"
+msgstr "Yn dilysu'r enw a'r allwedd. Yn terfynu'r gorchymyn cofrestru"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:468
+msgid "0 degrees is up or to the right"
+msgstr "Mae 0 gradd i fyny ac i'r dde"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:469
+msgid "Choose english (inches) or metric (centimeters)"
+msgstr "Dewiswch saesneg (modfedd) neu fetrig (centimetrau)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:470
+msgid "How to display length measurements"
+msgstr "Sut i arddangos mesuriadau hyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:471
+msgid "Do not create tracks to be shorter than this value"
+msgstr "Peidiwch â chreu traciau i fod yn fyrrach na'r gwerth hwn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:472
+msgid "Maximum distance between connected end points"
+msgstr "Y pellter mwyaf rhwng pwyntiau gorffen cysylltiedig"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:473
+msgid "Minimum angle between connected End-Points"
+msgstr "Ongl leiaf rhwng pwyntiau terfyn cysylltiedig"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:474
+msgid "Specifies the minimum angle between tracks connected to a turntable"
+msgstr "Yn nodi'r ongl leiaf rhwng traciau sydd wedi'u cysylltu â throfwrdd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:475
+msgid "Trains will crash above this speed"
+msgstr "Bydd trenau'n chwalu uwchlaw'r cyflymder hwn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:476
+msgid "Enable/Disable balloon popup help windows"
+msgstr "Galluogi / Analluogi ffenestri cymorth popup balŵn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:477
+msgid "Enable/Disable show of flextrack on hotbar"
+msgstr "Galluogi / Analluogi sioe o rac fflecs ar far poeth"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:478
+msgid "How far you can move the mouse before its considered a drag"
+msgstr ""
+"Pa mor bell y gallwch chi symud y llygoden cyn iddi gael ei hystyried yn "
+"llusgo"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:479
+msgid "How long you can hold a mouse button down before its considered a drag"
+msgstr ""
+"Pa mor hir y gallwch chi ddal botwm llygoden i lawr cyn iddo gael ei "
+"ystyried yn lusgo"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:480
+msgid "Minimum distance (in pixels) between grid lines/ticks"
+msgstr "Y pellter lleiaf (mewn picseli) rhwng llinellau grid / trogod"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:481
+msgid ""
+"Specifies the Check Point frequency; number of modifications made since the "
+"last checkpoint."
+msgstr ""
+"Yn nodi'r amledd Pwynt Gwirio; nifer yr addasiadau a wnaed ers y pwynt "
+"gwirio diwethaf."
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:482
+msgid "Specifies the number of checkpoints after save before auto-saving."
+msgstr ""
+"Yn nodi nifer y pwyntiau gwirio ar ôl eu harbed cyn cynilo'n awtomatig."
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:483
+msgid "Resume work on last layout or start with new layout"
+msgstr ""
+"Ail-ddechrau gwaith ar y cynllun diwethaf neu ddechrau gyda gosodiad newydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:485
+msgid "Updated cost of current selected item"
+msgstr "Cost wedi'i diweddaru ar gyfer yr eitem a ddewiswyd ar hyn o bryd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:487
+msgid "Selection list for prices"
+msgstr "Rhestr ddethol ar gyfer prisiau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:488
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:489
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:490
+msgid "Price of specified length of flex-track"
+msgstr "Pris hyd penodol y trac fflecs"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:492
+msgid "Controls the printing of a centerline of track cmdPrint"
+msgstr "Mae'n rheoli argraffu llinell ganol trac cmdPrint"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:493
+msgid "Controls the reduction (scale) of the printout"
+msgstr "Mae'n rheoli gostyngiad (graddfa) yr allbrint"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:494
+msgid "Scaled page width (Scale times physical page width)"
+msgstr "Lled tudalen ar raddfa (Graddfa amseroedd lled tudalen gorfforol)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:495
+msgid "Sets page size to the maximum (based on scale and physical page size)"
+msgstr ""
+"Yn gosod maint tudalen i'r eithaf (yn seiliedig ar raddfa a maint tudalen "
+"gorfforol)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:496
+msgid "Scaled page height (Scale times physical page height)"
+msgstr ""
+"Uchder tudalen ar raddfa (Amseroedd graddfa uchder corfforol y dudalen)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:497
+msgid "Sets scale, origin and angle for a one page printout of the layout"
+msgstr ""
+"Yn gosod graddfa, tarddiad ac ongl ar gyfer allbrint un dudalen o'r cynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:498
+msgid "Print page in Portrait or Landscape format"
+msgstr "Argraffu tudalen ar ffurf Portread neu Dirwedd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:499
+msgid "Order of printing pages"
+msgstr "Trefn y tudalennau argraffu"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:500
+msgid "Print Title, Date, Author and other information at bottom of page?"
+msgstr ""
+"Argraffu Teitl, Dyddiad, Awdur a gwybodaeth arall ar waelod y dudalen?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:501
+msgid "Ignore unprintable page margins?"
+msgstr "Anwybyddu ymylon tudalennau na ellir eu hargraffu?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:502
+msgid "Print Registration Marks at 1:1?"
+msgstr "Argraffu Marciau Cofrestru yn 1:1?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:503
+msgid "Print Snap Grid?"
+msgstr "Argraffu Grid Snap?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:504
+msgid ""
+"Print Rulers at the layout edge only, or on all page edges, or nowhere?"
+msgstr ""
+"Argraffu Rheolwyr ar ymyl y cynllun yn unig, neu ar bob ymyl tudalen, neu yn"
+" unman?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:505
+msgid "Print Roadbed Outline?"
+msgstr "Argraffu Amlinelliad Gwely Ffordd?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:506
+msgid "Print Roadbed Outline"
+msgstr "Argraffu Amlinelliad Gwely Ffordd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:507
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:508
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:510
+msgid ""
+"Origin of the print grid. This is useful if you want to reprint a set of "
+"pages"
+msgstr ""
+"Tarddiad y grid argraffu. Mae hyn yn ddefnyddiol os ydych chi am ailargraffu"
+" set o dudalennau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:509
+msgid "Resets the origin and angle to 0"
+msgstr "Ailosod y tarddiad a'r ongl i 0"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:511
+msgid "Deselects all pages"
+msgstr "Yn dad-ddewis pob tudalen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:513
+msgid "Print selected pages and terminates the print command"
+msgstr "Argraffu tudalennau a ddewiswyd ac yn terfynu'r gorchymyn argraffu"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:514
+msgid "List of loaded, shown or hidden parameter files"
+msgstr "Rhestr o ffeiliau paramedr wedi'u llwytho, eu dangos neu eu cuddio"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:515
+msgid "Show parameter files by names or descriptions"
+msgstr "Dangos ffeiliau paramedr yn ôl enwau neu ddisgrifiadau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:516
+msgid "Toggle the shown status of the selected parameter file"
+msgstr "Toglo statws a ddangosir y ffeil baramedr a ddewiswyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:517
+msgid "Find extra parameter files from the filesystem"
+msgstr "Dewch o hyd i ffeiliau paramedr ychwanegol o'r system ffeiliau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:518
+msgid "Find parameter files from the system library"
+msgstr "Dewch o hyd i ffeiliau paramedr o lyfrgell y system"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:519
+msgid "Update parameter file list"
+msgstr "Diweddaru rhestr ffeiliau paramedr"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:520
+msgid "Reload parameter file from list"
+msgstr "Ail-lwytho ffeil paramedr o'r rhestr"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:521
+msgid "Select all parameter files shown"
+msgstr "Dewiswch yr holl ffeiliau paramedr a ddangosir"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:522
+msgid "Profile of specified path"
+msgstr "Proffil llwybr penodol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:523
+msgid "Clear the profile"
+msgstr "Cliriwch y proffil"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:524
+msgid "Print the profile"
+msgstr "Argraffwch y proffil"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:526
+msgid "Stop recording"
+msgstr "Stopiwch recordio"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:527
+msgid "Insert a message"
+msgstr "Mewnosod neges"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:528
+msgid "End a message"
+msgstr "Gorffennwch neges"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:529
+msgid "Message body"
+msgstr "Corff neges"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:530
+msgid "Possible turnouts"
+msgstr "Pwyntiau posib"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:531
+msgid "Skip this turnout"
+msgstr "Hepgor y pwynt hwn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:533
+msgid "Manufacturer of Object"
+msgstr "Gwneuthurwr Gwrthrych"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:534
+msgid "Description of Object"
+msgstr "Disgrifiad o'r Gwrthrych"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:535
+msgid "Part Nuber of Object"
+msgstr "Rhan Nifer y Gwrthrych"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:537
+msgid "Rescale by Scale Conversion or by Ratio"
+msgstr "Ail-raddfa yn ôl Trosi Graddfa neu yn ôl Cymhareb"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:538
+msgid "Original Scale of the selected objects"
+msgstr "Graddfa Wreiddiol y gwrthrychau a ddewiswyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:539
+msgid "Original Gauge of the selected objects"
+msgstr "Mesurydd gwreiddiol y gwrthrychau a ddewiswyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:540
+msgid "New Scale of the selected objects"
+msgstr "Graddfa Newydd y gwrthrychau a ddewiswyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:541
+msgid "New Gauge of the selected objects"
+msgstr "Mesurydd newydd o'r gwrthrychau a ddewiswyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:542
+msgid "Change track dimensions to new scale"
+msgstr "Newid dimensiynau'r trac i raddfa newydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:543
+msgid "Change size by this amount"
+msgstr "Newid maint yn ôl y swm hwn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:545
+msgid "Snap Grid Line and Division"
+msgstr "Llinell a Rhaniad Grid Snap"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:546
+msgid "X and Y position markers"
+msgstr "X a Y marcwyr safle"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:547
+msgid "Border rulers, room boundaries and table edges"
+msgstr "Rheolwyr ffiniau, ffiniau ystafelloedd ac ymylon bwrdd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:548
+msgid "Primary Axis of grid rotation"
+msgstr "Echel Cynradd cylchdroi'r grid"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:549
+msgid "Secondary Axis of grid rotation"
+msgstr "Echel Eilaidd cylchdroi'r grid"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:550
+msgid "Unselected tracks"
+msgstr "Traciau heb eu dethol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:551
+msgid "Selected tracks"
+msgstr "Traciau dethol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:552
+msgid "Color of tracks on the Profile path"
+msgstr "Lliw y traciau ar y llwybr Proffil"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:553
+msgid "Color of Exceptional tracks"
+msgstr "Lliw y traciau eithriadol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:554
+msgid "Color of track ties"
+msgstr "Lliw y rhai sy'n cysgu"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:555
+msgid "Updates the colors"
+msgstr "Yn diweddaru'r lliwiau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:556
+msgid "Angle in degrees"
+msgstr "Ongl mewn graddau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:557
+msgid "Rotate object(s) by specified amount"
+msgstr "Cylchdroi gwrthrych (ion) yn ôl swm penodol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:558
+msgid "Enter one or more words as search terms"
+msgstr "Rhowch un neu fwy o eiriau fel termau chwilio"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:559
+msgid "Remove the current filter and show all files"
+msgstr "Tynnwch yr hidlydd cyfredol a dangoswch yr holl ffeiliau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:560
+msgid "Find matching file descriptions"
+msgstr "Dewch o hyd i ddisgrifiadau ffeiliau sy'n cyfateb"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:561
+msgid "Search results"
+msgstr "Canlyniadau chwilio"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:562
+msgid "Show descriptions or filenames in results"
+msgstr "Dangos disgrifiadau neu enwau ffeiliau mewn canlyniadau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:563
+msgid "Select how well the definitions must fit the current layout scale"
+msgstr ""
+"Dewiswch pa mor dda y mae'n rhaid i'r diffiniadau gyd-fynd â'r raddfa "
+"gynllun gyfredol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:564
+msgid "Add selected entries into parameter file list"
+msgstr "Ychwanegwch gofnodion dethol i restr ffeiliau paramedr"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:565
+msgid "Select All found entries"
+msgstr "Dewiswch Pob cofnod a ddarganfuwyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:566
+msgid "Reload the system library contents for finding"
+msgstr "Ail-lwytho cynnwys llyfrgell y system i ddod o hyd iddo"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:567
+msgid "Choose commands to be sticky"
+msgstr "Dewiswch orchmynion i fod yn ludiog"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:568
+msgid "Make the commands sticky"
+msgstr "Make the commands sticky"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:569
+msgid "List of available structure"
+msgstr "Rhestr o'r strwythurau sydd ar gael"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:570
+msgid "Diagram of the selected structure"
+msgstr "Diagram o'r strwythur a ddewiswyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:571
+msgid "Hide Selection window when placing Structure"
+msgstr "Cuddio ffenestr Dewis wrth osod Strwythur"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:572
+msgid "Drawing scale and size"
+msgstr "Graddfa a maint lluniadu"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:573
+msgid "Complete structure placement"
+msgstr "Lleoliad strwythur cyflawn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:574
+msgid "Choose a Pier number"
+msgstr "Dewiswch rif Pier"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:575
+msgid "Name of the Motor"
+msgstr "Enw'r Modur"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:576
+msgid "Value when switch is normal"
+msgstr "Gwerth pan fydd y switsh yn normal"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:577
+msgid "Value when the switch is reversed"
+msgstr "Gwerth pan fydd y switsh yn cael ei wrthdroi"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:578
+msgid "Value for a positive comfirmation of switch position"
+msgstr "Gwerth am gadarnhad cadarnhaol o safle'r switsh "
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:580
+msgid "Controls the color of the entered text"
+msgstr "Mae'n rheoli lliw y testun a gofnodwyd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:581
+msgid "If the text is boxed"
+msgstr "Os yw'r testun mewn blwch"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:582
+msgid "Useful information about the program"
+msgstr "Gwybodaeth ddefnyddiol am y rhaglen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:583
+msgid "Show Tip of the Day every time the program starts"
+msgstr "Dangos Tip y Dydd bob tro mae'r rhaglen yn cychwyn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:584
+msgid "Show the next Tip of the Day"
+msgstr "Dangoswch Awgrym nesaf y Dydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:585
+msgid "Show the previous Tip of the Day"
+msgstr "Dangoswch Awgrym blaenorol y Dydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:587
+msgid "Controls which Command Buttons are displayed"
+msgstr "Rheolaethau pa Botymau Gorchymyn sy'n cael eu harddangos"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:588
+msgid "List of Cars"
+msgstr "Rhestr o geir"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:589
+msgid "List of active trains"
+msgstr "Rhestr o drenau actif"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:591
+msgid "Train odometer"
+msgstr "Odomedr trên"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:592
+msgid "Reset odometer to 0"
+msgstr "Ailosod odomedr i 0"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:593
+msgid "Find train on layout"
+msgstr "Dewch o hyd i drên ar y cynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:594
+msgid "Follow train around layout"
+msgstr "Dilynwch y trên o amgylch cynllun"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:595
+msgid "Flip direction at End Of Track"
+msgstr "Cyfeiriad troi ar ddiwedd y Trac"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:596
+msgid "Change direction of train"
+msgstr "Newid cyfeiriad y trên"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:597
+msgid "Stop the train"
+msgstr "Stopiwch y trên"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:598
+msgid "List of available turnouts for the current scale"
+msgstr ""
+"Rhestr o'r nifer a bleidleisiodd sydd ar gael ar gyfer y raddfa gyfredol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:599
+msgid ""
+"Diagram of the currently selected turnout. Click on a End-Point to select "
+"the Active End-Point"
+msgstr ""
+"Diagram o'r nifer a ddewiswyd ar hyn o bryd. Cliciwch ar ddiweddbwynt i "
+"ddewis y pwynt gorffen gweithredol"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:600
+msgid ""
+"A menu list of various type of turnouts and sectional tracks you can define"
+msgstr ""
+"Rhestr ddewislen o wahanol fathau o bwyntiau a thraciau adrannol y gallwch "
+"eu diffinio"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:601
+msgid "Hide Selection window when placing Turnout"
+msgstr "Cuddio ffenestr Dewis wrth osod pwyntiau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:602
+msgid "The selected Active End-Point"
+msgstr "The selected active end-point"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:603
+msgid "Current selected turnout, (displayed in the diagram window)"
+msgstr "Pwynt dethol cyfredol, (wedi'i arddangos yn ffenestr y diagram)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:604
+msgid "One the End-Points that can be selected"
+msgstr "Un y pwyntiau gorffen y gellir eu dewis"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:606
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:607
+msgid "Angle of the specified track to the center line of the turnout"
+msgstr "Ongl y trac penodedig i linell ganol y pwynt"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:608
+msgid "Specifies if angles are entered as Frog Numbers or in degrees"
+msgstr "Yn nodi a yw onglau yn cael eu nodi fel Rhifau Broga neu mewn graddau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:609
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:610
+msgid "Desciption"
+msgstr "Disgrifiad"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:611
+msgid "Turnout description (Manuf., Size, Part Number, etc)"
+msgstr "Disgrifiad pwynt (Manu., Maint, Rhan Rhif, ac ati)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:612
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:613
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:614
+msgid "Length from the base to the end of the specified track"
+msgstr "Hyd o'r sylfaen i ddiwedd y trac penodedig"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:616
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:617
+msgid "Offset of the track End-Point from the center line of the turnout"
+msgstr "Gwrthbwyso pwynt terfyn y trac o linell ganol y pwynt"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:620
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:621
+msgid "Prints a full size diagram of the turnout for checking"
+msgstr "Yn argraffu diagram maint llawn o'r pwynt i'w wirio"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:622
+msgid "Color of Roadbed lines"
+msgstr "Lliw y llinellau gwely ffordd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:623
+msgid "Width of Roadbed lines"
+msgstr "Lled llinellau gwely ffordd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:624
+msgid "Width of Roadbed"
+msgstr "Lled y Ffordd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:626
+msgid "Closes the window and returns to the Turnout Selection window"
+msgstr "Yn cau'r ffenestr ac yn dychwelyd i'r ffenestr Dewis Pwynt"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:627
+msgid "Specifies the diameter of the turntable"
+msgstr "Yn nodi diamedr y trofwrdd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:628
+msgid "Old Turnout title"
+msgstr "Teitl hen bwynt"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:629
+msgid "List of available titles"
+msgstr "Rhestr o'r teitlau sydd ar gael"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:630
+msgid "Leave the Turnouts' title unchanged"
+msgstr "Gadewch deitl y pwyntiau yn ddigyfnewid"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:631
+msgid "Invoke the Parameter Files dialog"
+msgstr "Galw ar y dialog Ffeiliau Paramedr"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:632
+msgid "List of available turnouts"
+msgstr "Rhestr o'r pwyntiau sydd ar gael"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:633
+msgid "Update the Turnouts' title"
+msgstr "Diweddarwch deitl y pwyntiau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:637
+msgid "Sample"
+msgstr "Sampl"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:639
+msgid "Slant"
+msgstr "Llethr"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:640
+msgid "Font selection dialog"
+msgstr "Deialog dewis ffont"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:641
+msgid "Weight"
+msgstr "Pwysau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:642
+msgid "Printer Abort Window"
+msgstr "Ffenestr Erthylu Argraffydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:643
+msgid "Print to filename"
+msgstr "Argraffu i enw ffeil"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:644
+msgid "Specify Postscript font alias mapping"
+msgstr "Nodwch fapio alias ffont Ôl-nodyn"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:645
+msgid ""
+"Displays the Print Setup window to change printers, orientation, paper size,"
+" etc."
+msgstr ""
+"Yn arddangos y ffenestr Gosod Print i newid argraffwyr, cyfeiriadedd, maint "
+"papur, ac ati."
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:646
+msgid "Closes this dialog"
+msgstr "Yn cau'r ymgom hon"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:647
+msgid "Page orientation"
+msgstr "Cyfeiriadedd tudalen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:648
+msgid "Unprintable margins"
+msgstr "Ymylon na ellir ei argraffu"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:649
+msgid "Updates and closes this dialog"
+msgstr "Yn diweddaru ac yn cau'r ymgom hon"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:650
+msgid "Choose paper size"
+msgstr "Dewiswch faint papur"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:651
+msgid "Choose printer"
+msgstr "Dewiswch argraffydd"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:652
+msgid "Print test page"
+msgstr "Argraffu tudalen prawf"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:1
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:8
+msgid ""
+"XTrackCAD provides demonstrations on most of the program's features. The "
+"demos can be run by clicking on the Help menu on the Main window and then "
+"selecting Demos."
+msgstr ""
+"Mae XTrackCAD yn darparu arddangosiadau ar y rhan fwyaf o nodweddion y "
+"rhaglen. Gellir rhedeg y demos trwy glicio ar y ddewislen Help ar y Brif "
+"ffenestr ac yna dewis Demos."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:3
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:10
+msgid ""
+"The notation \"Menu|Item\" is used in the documentation (and the on-line demos and tips) to indicate the selection of a menu item.\n"
+"For example, \"File|Open\" means to open the menu by clicking on File on the menu bar of the Main window and then selecting the Open item from that menu."
+msgstr ""
+"Defnyddir y nodiant \"Dewislen | Eitem\" yn y ddogfennaeth (a'r demos a'r awgrymiadau ar-lein) i nodi'r dewis o eitem ar y fwydlen.\n"
+"Er enghraifft, ystyr \"Ffeil | Agored\" yw agor y ddewislen trwy glicio ar Ffeil ar far dewislen y Brif ffenestr ac yna dewis yr eitem Agored o'r ddewislen honno."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:12
+msgid ""
+"Set your modeling scale on the \"Options|Layout\" dialog. This controls the"
+" Turnouts and Structures that are available, Easement values and track "
+"gauge."
+msgstr ""
+"Gosodwch eich graddfa fodelu ar y dialog \"Options | Layout\". Mae hyn yn "
+"rheoli'r Pwyntiau a'r Strwythurau sydd ar gael, gwerthoedd Rhwyddineb a "
+"mesurydd trac."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:8
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:14
+msgid ""
+"A number of example layouts are provided. These files can be accessed by "
+"\"Help|Examples\"."
+msgstr ""
+"Darperir nifer o gynlluniau enghreifftiol. Gellir cyrchu'r ffeiliau hyn trwy"
+" \"Help | Enghreifftiau\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:10
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:16
+msgid ""
+"When installed, the length units are set based on your contry: inches for "
+"United States or Canada and centimeters elsewhere. You can change this on "
+"the \"Options|Preferences\" dialog by choosing between Metric and English."
+msgstr ""
+"Pan fyddant wedi'u gosod, mae'r unedau hyd wedi'u gosod yn seiliedig ar eich"
+" gwlad: modfedd ar gyfer yr Unol Daleithiau neu Ganada a centimetrau mewn "
+"mannau eraill. Gallwch newid hyn ar y deialog \"Options | Preferences\" trwy"
+" ddewis rhwng Metric a Saesneg."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:12
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:18
+msgid ""
+"You can change the overall size of your layout on the \"Options|Layout\" "
+"dialog."
+msgstr ""
+"Gallwch newid maint cyffredinol eich cynllun ar y dialog \"Dewisiadau | "
+"Cynllun\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:20
+msgid ""
+"When installed, the default command is the Select command. You might want to"
+" change this to the Decribe command. You can do this on the "
+"\"Options|Command Options\" dialog."
+msgstr ""
+"Pan fydd wedi'i osod, y gorchymyn diofyn yw'r gorchymyn Dewis. Efallai yr "
+"hoffech chi newid hyn i'r gorchymyn Disgrifio. Gallwch wneud hyn ar y dialog"
+" \"Options | Command Options\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:22
+msgid ""
+"When Selecting tracks, the connection between Selected and Unselected tracks"
+" is marked by a Red X. This indicates points where the connection between "
+"tracks will be broken if you Move or Rotate the Selected tracks."
+msgstr ""
+"Wrth Dewis traciau, mae'r cysylltiad rhwng traciau Dethol a Heb eu Dewis yn "
+"cael ei farcio gan Goch X. Mae hyn yn nodi pwyntiau lle bydd y cysylltiad "
+"rhwng traciau yn cael ei dorri os byddwch chi'n Symud neu'n Cylchdroi'r "
+"traciau Dethol."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:18
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:24
+msgid ""
+"You can change orientation of the pages on the Print command by moving or rotating the Print Grid.\n"
+"Shift-Left-Drag moves the grid and Shift-Right-Drag rotates the grid."
+msgstr ""
+"Gallwch newid cyfeiriadedd y tudalennau ar y gorchymyn Argraffu trwy symud neu gylchdroi'r Grid Argraffu.\n"
+"Mae Shift-Left-Drag yn symud y grid ac mae Shift-Right-Drag yn cylchdroi'r grid."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:21
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:26
+msgid ""
+"You can add track to any unconnected End-Point with the Modify command.\n"
+"Hold down the Shift key and click on the End-Point and drag away to create a new track segment attached to the End-Point.\n"
+"Repeat with the new End-Point to create flowing tracks."
+msgstr ""
+"Gallwch ychwanegu trac at unrhyw End-Point digyswllt gyda'r gorchymyn Addasu.\n"
+"Daliwch y fysell Shift i lawr a chlicio ar y End-Point a llusgo i ffwrdd i greu segment trac newydd ynghlwm wrth y End-Point.\n"
+"Ailadroddwch gyda'r End-Point newydd i greu traciau sy'n llifo."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:25
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:28
+msgid ""
+"You can create curved tracks in four ways by dragging from:\n"
+" the 1st endpoint in the direction of the curve\n"
+" center of the curve to the 1st endpoint\n"
+" endpoint to the center\n"
+" the 1st to 2nd endpoint\n"
+"Then drag on one of the Red arrows to create the final shape of the curve.\n"
+"\n"
+"You can click on the small button to the right of the Curve command button to change the method."
+msgstr ""
+"Gallwch greu traciau crwm mewn pedair ffordd trwy lusgo o:\n"
+"y pwynt olaf 1af i gyfeiriad y gromlin\n"
+"canol y gromlin i'r pwynt olaf 1af\n"
+"endpoint i'r ganolfan\n"
+"y pwynt olaf 1af i 2il\n"
+"Yna llusgwch ar un o'r saethau Coch i greu siâp terfynol y gromlin.\n"
+"\n"
+"Gallwch glicio ar y botwm bach i'r dde o'r botwm gorchymyn Curve i newid y dull."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:34
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:30
+msgid ""
+"When creating a straight or a curved track by dragging from the 1st End Point, you can snap the new track to an existing open end point by holding down Shift while you click.\n"
+"The new track will be joined to the old when you create it."
+msgstr ""
+"Wrth greu trac syth neu grom trwy lusgo o'r Pwynt Diwedd 1af, gallwch chi snapio'r trac newydd i bwynt pen agored sy'n bodoli trwy ddal Shift i lawr wrth i chi glicio.\n"
+"Bydd y trac newydd yn cael ei gysylltu â'r hen pan fyddwch chi'n ei greu."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:37
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:32
+msgid ""
+"Track Circles provide a quick way to see what arrangement of tracks will fit in your layout spaces. Create Circles with your typical radius and place them in corners and other locations where your main-line will make changes of direction. This will give you an overall idea of how your layout will look.\n"
+"\n"
+"You can create Circles by:\n"
+" using a fixed radius\n"
+" dragging from the Center to edge\n"
+" dragging from an edge to the Center\n"
+"You can click on the small button to the left of the Circle command button to change the method."
+msgstr ""
+"Mae Cylchoedd Trac yn darparu ffordd gyflym o weld pa drefniant o draciau fydd yn ffitio yn eich lleoedd cynllun. Creu Cylchoedd gyda'ch radiws nodweddiadol a'u rhoi mewn corneli a lleoliadau eraill lle bydd eich prif reilffordd yn newid cyfeiriad. Bydd hyn yn rhoi syniad cyffredinol i chi o sut y bydd eich cynllun yn edrych.\n"
+"\n"
+"Gallwch greu Cylchoedd trwy:\n"
+"gan ddefnyddio radiws sefydlog\n"
+"llusgo o'r Ganolfan i ymyl\n"
+"llusgo o ymyl i'r Ganolfan\n"
+"Gallwch glicio ar y botwm bach i'r chwith o'r botwm gorchymyn Circle i newid y dull."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:45
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:34
+msgid ""
+"Easements (spiral transition curves) are used when track changes from straight to curved by gradually changing the radius. This improves operation and appearance.\n"
+"Easements are created with Joining or Extending Tracks.\n"
+"The Easement dialog is used to control easements."
+msgstr ""
+"Defnyddir rhwyddiadau (cromliniau pontio troellog) pan fydd trac yn newid o syth i grwm trwy newid y radiws yn raddol. Mae hyn yn gwella gweithrediad ac ymddangosiad.\n"
+"Mae rhwyddinebau'n cael eu creu gyda Join neu Ymestyn Traciau.\n"
+"Defnyddir y dialog Easement i reoli hawddfreintiau."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:49
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:36
+msgid ""
+"\"Help|Recent Messages\" shows the last error and warning messages that were"
+" generated by the program. Also an explanation of each message is "
+"displayed."
+msgstr ""
+"Mae \"Help | Negeseuon Diweddar\" yn dangos y gwall olaf a'r negeseuon "
+"rhybuddio a gynhyrchwyd gan y rhaglen. Hefyd dangosir esboniad o bob neges."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:51
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:38
+msgid ""
+"When creating stall tracks for a turntable, you usually want the the stall tracks to be spaced evenly.\n"
+"The \"Turntable Angle\" item on \"Options|Preferences\" dialog can be used specify the minimum angle between stall tracks."
+msgstr ""
+"Wrth greu traciau stondinau ar gyfer trofwrdd, rydych chi fel arfer am i'r traciau stondinau gael eu gosod yn gyfartal.\n"
+"Gellir defnyddio'r eitem \"Ongl Turntable\" ar y dialog \"Options | Preferences\" i nodi'r ongl leiaf rhwng traciau stondinau."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:40
+msgid ""
+"XTrackCAD periodically saves the current layout in a check point file. The 'Check Point' item on the 'Options|Preferences' dialog controls how often the file is saved.\n"
+"You can recover your working file after a system crash by copying the checkpoint file (xtrkcad.ckp in the XTrackCAD Working directory) to file.xtc"
+msgstr ""
+"Mae XTrackCAD o bryd i'w gilydd yn arbed y cynllun cyfredol mewn ffeil pwynt gwirio. Mae'r eitem 'Check Point' ar y dialog 'Options | Preferences' yn rheoli pa mor aml mae'r ffeil yn cael ei chadw.\n"
+"Gallwch adfer eich ffeil weithio ar ôl damwain system trwy gopïo'r ffeil bwynt gwirio (xtrkcad.ckp yng nghyfeiriadur Gweithio XTrackCAD) i file.xtc"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:57
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:42
+msgid ""
+"The Parallel command is helpful to layout yards and sidings. If the "
+"Parallel track abuts with an existing track, it is automatically connected."
+msgstr ""
+"Mae'r gorchymyn Cyfochrog yn ddefnyddiol i osod iardiau a seidins. Os yw'r "
+"trac Cyfochrog yn ffinio â thrac sy'n bodoli eisoes, caiff ei gysylltu'n "
+"awtomatig."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:59
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:44
+msgid ""
+"You can use Shift-Drag in Select command to move and rotate selected tracks.\n"
+"Shift-Left-Drag moves tracks and Shift-Right-Drag rotates them.\n"
+"Control-Left-Drag can move labels."
+msgstr ""
+"Gallwch ddefnyddio gorchymyn Shift-Drag in Select i symud a chylchdroi traciau dethol.\n"
+"Mae Shift-Left-Drag yn symud traciau ac mae Shift-Right-Drag yn eu cylchdroi.\n"
+"Gall Control-Left-Drag symud labeli."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:46
+msgid ""
+"You can move and rotate the Snap Grid to align with existing track or "
+"benchwork."
+msgstr ""
+"Gallwch symud a chylchdroi'r Grid Snap i alinio â'r trac neu'r gwaith meinc "
+"presennol."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:65
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:48
+msgid ""
+"Use the Parts List command to measure track length.\n"
+"Select the tracks you want to measure and then click on the Parts List button. The report will list the total of length of the selected flex-track. You will have to add in the length of any Turnouts."
+msgstr ""
+"Defnyddiwch y gorchymyn Rhestr Rhannau i fesur hyd trac.\n"
+"Dewiswch y traciau rydych chi am eu mesur ac yna cliciwch ar y botwm Rhestr Rhannau. Bydd yr adroddiad yn rhestru cyfanswm hyd y trac fflecs a ddewiswyd. Bydd yn rhaid i chi ychwanegu hyd unrhyw Bwyntiau."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:68
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:50
+msgid ""
+"The length of flex-track attached to each Turnout is displayed on layout near the end-points of the Turnouts.\n"
+"Make sure 'Lengths' option of the 'Label Enable' toggle button on the Display dialog is selected."
+msgstr ""
+"Mae hyd y trac fflecs sydd ynghlwm wrth bob un sy'n pleidleisio yn cael ei arddangos ar y cynllun ger pwyntiau diwedd y rhai sy'n pleidleisio.\n"
+"Sicrhewch fod opsiwn 'Hyd' y botwm toglo 'Galluogi Label' ar y dialog Arddangos yn cael ei ddewis."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:71
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:52
+msgid ""
+"The Profile command can be used to find the length of a continous section of track.\n"
+"Select the track at the beginning and end of the section. The total length of track will be displayed on the Profile window in the lower right corner.\n"
+"Note: the Profile selects the shortest path between the two selected tracks, which might not be the path you are interested in. In this case, select the first track and then select other tracks along the path."
+msgstr ""
+"Gellir defnyddio'r gorchymyn Proffil i ddarganfod hyd darn parhaus o drac.\n"
+"Dewiswch y trac ar ddechrau a diwedd yr adran. Bydd cyfanswm hyd y trac yn cael ei arddangos ar y ffenestr Proffil yn y gornel dde isaf.\n"
+"Sylwch: mae'r Proffil yn dewis y llwybr byrraf rhwng y ddau drac a ddewiswyd, ac efallai nad dyna'r llwybr y mae gennych ddiddordeb ynddo. Yn yr achos hwn, dewiswch y trac cyntaf ac yna dewiswch draciau eraill ar hyd y llwybr."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:75
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:54
+msgid ""
+"Layers can be used to contain different groups of tracks or other features."
+" You might use one layer for the main-line, another of staging tracks and "
+"another of benchwork.\n"
+msgstr ""
+"Gellir defnyddio haenau i gynnwys gwahanol grwpiau o draciau neu nodweddion "
+"eraill. Efallai y byddwch chi'n defnyddio un haen ar gyfer y brif "
+"reilffordd, un arall o lwybrau llwyfannu ac un arall o waith meinciau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:77
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:56
+msgid ""
+"You can give each layer a name (by using the \"Manage|Layer\" dialog). This"
+" name will be displayed as the Balloon Help for the corresponding Layer "
+"button, if you have Balloon Help enabled on the \"Options|Display\" dialog."
+msgstr ""
+"Gallwch chi roi enw i bob haen (trwy ddefnyddio'r ymgom \"Rheoli | Haen\"). "
+"Bydd yr enw hwn yn cael ei arddangos fel y Cymorth Balŵn ar gyfer y botwm "
+"Haen cyfatebol, os oes gennych Gymorth Balŵn wedi'i alluogi ar y dialog "
+"\"Dewisiadau | Arddangos\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:79
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:58
+msgid ""
+"You can remove groups of buttons or the Hot Bar from the Main window to give"
+" you more room if you are not using some features. Also, the number of "
+"Layer buttons displayed is controlled by the \"Manage|Layers\" dialog."
+msgstr ""
+"Gallwch chi dynnu grwpiau o fotymau neu'r Bar Poeth o'r Brif ffenestr i roi "
+"mwy o le i chi os nad ydych chi'n defnyddio rhai nodweddion. Hefyd, rheolir "
+"nifer y botymau Haen sy'n cael eu harddangos gan y dialog \"Rheoli | "
+"Haenau\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:81
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:60
+msgid ""
+"The size of the map window is controlled by the overall size of the room (specified on the layout dialog) and the map scale (on the display dialog). You can make the Map window larger (or smaller) by decreasing (or increasing) the map scale.\n"
+"XTrackCad will prevent you from making the map window too small or too large."
+msgstr ""
+"Mae maint ffenestr y map yn cael ei reoli gan faint cyffredinol yr ystafell (a nodir ar y dialog cynllun) a graddfa'r map (ar y dialog arddangos). Gallwch wneud ffenestr y Map yn fwy (neu'n llai) trwy ostwng (neu gynyddu) graddfa'r map.\n"
+"Bydd XTrackCad yn eich atal rhag gwneud ffenestr y map yn rhy fach neu'n rhy fawr."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:84
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:62
+msgid ""
+"You can unload parameter files you are not using by the Parameter Files "
+"dialog. This removes unused Turnout and Structure definitions from the Hot "
+"Bar and makes the program start faster."
+msgstr ""
+"Gallwch ddadlwytho ffeiliau paramedr nad ydych yn eu defnyddio gan y dialog "
+"Parameter Files. Mae hyn yn dileu diffiniadau Pwynt a Strwythur nas "
+"defnyddiwyd o'r Bar Poeth ac yn gwneud i'r rhaglen gychwyn yn gyflymach."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:86
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:64
+msgid ""
+"Right-Click on the Main window displays a menu list of commands as an "
+"alternative to pressing the buttons on the tool bar or using the menu "
+"accelerator keys."
+msgstr ""
+"De-gliciwch ar y Brif ffenestr yn dangos rhestr ddewislen o orchmynion fel "
+"dewis arall yn lle pwyso'r botymau ar y bar offer neu ddefnyddio'r bysellau "
+"cyflymydd dewislen."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:87
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:66
+msgid ""
+"Holding down the Shift key while you Right-Click will display options for "
+"the current command (if any)."
+msgstr ""
+"Bydd dal y fysell Shift i lawr tra'ch De-gliciwch yn dangos opsiynau ar "
+"gyfer y gorchymyn cyfredol (os oes rhai)."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:89
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:68
+msgid ""
+"Right-Click on the Hot Bar displays a menu of the different groups of objects which you can use to jump to the group you are interested in.\n"
+"Pressing a numeric key (1-9 and 0) moves the Hot Bar to corresponding position (1 is the start, 5 is half way, 0 is the end)."
+msgstr ""
+"Mae De-gliciwch ar y Bar Poeth yn dangos bwydlen o'r gwahanol grwpiau o wrthrychau y gallwch eu defnyddio i neidio i'r grŵp y mae gennych ddiddordeb ynddo.\n"
+"Mae gwasgu allwedd rifol (1-9 a 0) yn symud y Bar Poeth i'r safle cyfatebol (1 yw'r dechrau, 5 yn hanner ffordd, 0 yw'r diwedd)."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:92
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:70
+msgid ""
+"Right-Drag on the Map window sets the origin and scale of the Main window.\n"
+"The Main window will be centered on the spot where you started the Draw and how far you Drag will control how large an area you can see on the Main window."
+msgstr ""
+"Mae ffenestr Right-Drag on the Map yn gosod tarddiad a graddfa'r Brif ffenestr.\n"
+"Bydd y Brif ffenestr wedi'i chanoli yn y fan a'r lle y gwnaethoch chi ddechrau'r Draw a pha mor bell y byddwch chi'n Llusgo fydd yn rheoli pa mor fawr y gallwch chi weld ardal ar y Brif ffenestr."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:95
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:72
+msgid ""
+"To refresh the Main window, press Control-L (hold down the 'Ctrl' key and "
+"then press the 'l' key)."
+msgstr ""
+"I adnewyddu'r Brif ffenestr, pwyswch Control-L (daliwch y fysell 'Ctrl' i "
+"lawr ac yna pwyswch y fysell 'l')."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:97
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:74
+msgid ""
+"The File menu contains a list of the last 5 layouts you were working on."
+msgstr ""
+"Mae'r ddewislen Ffeil yn cynnwys rhestr o'r 5 cynllun diwethaf yr oeddech "
+"chi'n gweithio arnyn nhw."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:99
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:76
+msgid ""
+"The Print command can optionally print lines representing the roadbed for "
+"all tracks. This is useful when printing full size (1:1) for cutting "
+"roadbed."
+msgstr ""
+"Gall y gorchymyn Argraffu argraffu llinellau sy'n cynrychioli'r gwely ffordd"
+" ar gyfer pob trac yn ddewisol. Mae hyn yn ddefnyddiol wrth argraffu maint "
+"llawn (1: 1) ar gyfer torri gwely ffordd."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:101
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:78
+msgid ""
+"Pressing the 'Esc' key cancels the current command and invokes the default "
+"command, (which is either Describe or Select)."
+msgstr ""
+"Mae gwasgu'r allwedd 'Esc' yn canslo'r gorchymyn cyfredol ac yn galw'r "
+"gorchymyn diofyn, (sydd naill ai'n Disgrifio neu'n Dewis)."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:103
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:80
+msgid ""
+"When moving or rotating tracks on slow machines or with a large number of tracks, you can improve performance by changing the way tracks are drawn while being moved.\n"
+"Shift-Right click will display a menu containing options to draw tracks normally, as simple lines or just draw end-points."
+msgstr ""
+"Wrth symud neu gylchdroi traciau ar beiriannau araf neu gyda nifer fawr o draciau, gallwch wella perfformiad trwy newid y ffordd y mae traciau'n cael eu tynnu wrth gael eu symud.\n"
+"Bydd Shift-Right click yn dangos bwydlen sy'n cynnwys opsiynau i dynnu traciau fel arfer, fel llinellau syml neu ddim ond tynnu pwyntiau gorffen."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:106
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:82
+msgid ""
+"The colors of different parts of the Main window can be changed with the "
+"Colors dialog. In particular, the Snap Grid color can be changed to make it"
+" more visible when printed."
+msgstr ""
+"Gellir newid lliwiau gwahanol rannau o'r Brif ffenestr gyda'r ymgom Lliwiau."
+" Yn benodol, gellir newid lliw Snap Grid i'w wneud yn fwy gweladwy wrth ei "
+"argraffu."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:108
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:84
+msgid ""
+"By default objects are drawn in their normal colors. Tracks will be drawn in Black. Objects can also be drawn in the color according to their Layer. The color of a Layer is displayed on the corresponding Layer button.\n"
+"The Display dialog 'Color Layers' item has separate toggles for Tracks and non-Tracks."
+msgstr ""
+"Yn ddiofyn tynnir gwrthrychau yn eu lliwiau arferol. Bydd traciau'n cael eu tynnu mewn Du. Gellir tynnu gwrthrychau hefyd yn y lliw yn ôl eu Haen. Arddangosir lliw Haen ar y botwm Haen cyfatebol.\n"
+"Mae gan yr eitem deialog Arddangos 'Haenau Lliw' toglau ar wahân ar gyfer Traciau a rhai nad ydynt yn Draciau."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:111
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:86
+msgid ""
+"Each Layer can be drawn or hidden by the 'Visible' toggle on the Layers "
+"dialog."
+msgstr ""
+"Gellir tynnu neu guddio pob Haen gan y togl 'Gweladwy' ar y dialog Haenau."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:112
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:88
+msgid ""
+"Short cut Layer buttons can also be displayed on the tool bar for up to the first 20 layers.\n"
+"This buttons allow to Show or Hide the layers."
+msgstr ""
+"Gellir arddangos botymau Haen wedi'u torri'n fyr hefyd ar y bar offer ar gyfer hyd at yr 20 haen gyntaf.\n"
+"Mae'r botymau hyn yn caniatáu i Ddangos neu Guddio'r haenau."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:115
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:90
+msgid "The name of the Layer is the Balloon Help for the Layer button."
+msgstr "Enw'r Haen yw'r botwm Cymorth Balŵn ar gyfer yr Haen."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:117
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:92
+msgid ""
+"The playback speed of the Demos can be changed by using Speed drop down list"
+" on the Demo window."
+msgstr ""
+"Gellir newid cyflymder chwarae'r Demos trwy ddefnyddio rhestr ostwng Speed "
+"​​ar y ffenestr Demo."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:119
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:94
+msgid ""
+"Many of the commands and dialogs can be invoked by special key combinations "
+"called Menu-Accelerators. These are listed on the Menus next to the command"
+" name. For example, Control-P will invoke the Print command."
+msgstr ""
+"Gellir defnyddio llawer o'r gorchmynion a'r deialogau gan gyfuniadau "
+"allweddol arbennig o'r enw Cyflymyddion Dewislen. Rhestrir y rhain ar y "
+"Bwydlenni wrth ymyl yr enw gorchymyn. Er enghraifft, bydd Control-P yn "
+"galw'r gorchymyn Argraffu."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:121
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:96
+msgid ""
+"The Connect command is used to join Sectional track pieces that don't quite fit together.\n"
+"This command works by adding small gaps between other tracks to move the selected End-Points closer together."
+msgstr ""
+"Defnyddir y gorchymyn Connect i ymuno â darnau trac Adrannol nad ydyn nhw'n cyd-fynd â'i gilydd.\n"
+"Mae'r gorchymyn hwn yn gweithio trwy ychwanegu bylchau bach rhwng traciau eraill i symud y Pwyntiau Diwedd a ddewiswyd yn agosach at ei gilydd."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:124
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:98
+msgid ""
+"To copy a group of objects: Select the objects, press Control-c (or select Copy from the Edit menu), press Control-v (or select Paste from the Edit menu).\n"
+"The selected tracks will be copied to the layout and you can Move or Rotate them into position."
+msgstr ""
+"I gopïo grŵp o wrthrychau: Dewiswch y gwrthrychau, pwyswch Control-c (neu dewiswch Copi o'r ddewislen Golygu), pwyswch Control-v (neu dewiswch Gludo o'r ddewislen Golygu).\n"
+"Bydd y traciau a ddewiswyd yn cael eu copïo i'r cynllun a gallwch eu Symud neu eu Cylchdroi i'w safle."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:127
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:100
+msgid ""
+"In the Rotate (or Select) commands you can press Shift-Right-Click to "
+"display the Rotate menu which allows you to rotate the selected objects by a"
+" specific angle."
+msgstr ""
+"Yn y gorchmynion Cylchdroi (neu Dewis) gallwch bwyso Shift-Right-Click i "
+"arddangos y ddewislen Cylchdroi sy'n eich galluogi i gylchdroi'r gwrthrychau"
+" a ddewiswyd ar ongl benodol."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:129
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:102
+msgid ""
+"You can use the Move-To-Join option of the Join command (hold down the Shift"
+" key) to move a group of Selected tracks to attach with some unselected End-"
+"Point."
+msgstr ""
+"Gallwch ddefnyddio'r opsiwn Symud-i-Ymuno o'r gorchymyn Ymuno (dal y fysell "
+"Shift i lawr) i symud grŵp o draciau Dethol i'w atodi gyda rhywfaint o End-"
+"Point heb ei ddewis."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:131
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:104
+msgid ""
+"The Price List dialog (on the File Menu) is used to specify the prices of each type of Turnout, Sectional Track and Structure. Also, the length and price of flex-track pieces can be specified for each scale.\n"
+"This values will be used on the Parts List report to generate total cost of the selected objects."
+msgstr ""
+"Defnyddir deialog y Rhestr Brisiau (ar y Ddewislen Ffeil) i nodi prisiau pob math o Bwynt, Trac Adrannol a Strwythur. Hefyd, gellir nodi hyd a phris darnau trac hyblyg ar gyfer pob graddfa.\n"
+"Defnyddir y gwerthoedd hyn yn yr adroddiad Rhestr Rhannau i gynhyrchu cyfanswm cost y gwrthrychau a ddewiswyd."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:134
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:106
+msgid ""
+"Areas of water can represented by a Polygon (use the Draw command) of the appropiate color.\n"
+"By using the Modify command, you can move, add or remove corners of the Polygon to fit the shape of the water.\n"
+"You use the Below command to place the Polygon below (or behind) other objects.\n"
+"\n"
+"You can also use a Polygon to represent aisles."
+msgstr ""
+"Gall ardaloedd o ddŵr gael eu cynrychioli gan Polygon (defnyddiwch y gorchymyn Draw) o'r lliw priodol.\n"
+"Trwy ddefnyddio'r gorchymyn Addasu, gallwch symud, ychwanegu neu dynnu corneli o'r Polygon i ffitio siâp y dŵr.\n"
+"Rydych chi'n defnyddio'r gorchymyn Isod i osod y Polygon o dan (neu y tu ôl) gwrthrychau eraill.\n"
+"\n"
+"Gallwch hefyd ddefnyddio Polygon i gynrychioli eiliau."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:140
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:108
+msgid ""
+"When you create Benchwork you can move it below other objects by Selecting the Benchwork and use the Below command.\n"
+"Also, put Benchwork in a separate Layer so you can hide it if desired."
+msgstr ""
+"Pan fyddwch chi'n creu Baseboards gallwch ei symud o dan wrthrychau eraill trwy Dewis y Byrddau Sylfaen a defnyddio'r gorchymyn Isod.\n"
+"Hefyd, rhowch Benchwork mewn Haen ar wahân fel y gallwch ei guddio os dymunir."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:143
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:110
+msgid ""
+"You can enter Distances and Lengths using any format regardless of the "
+"Length Format on the Preferences dialog."
+msgstr ""
+"Gallwch nodi Pellteroedd a Hyd gan ddefnyddio unrhyw fformat waeth beth yw'r"
+" Fformat Hyd ar y dialog Dewisiadau."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:144
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:112
+msgid ""
+"You can enter Metric values when English is the default Units and vice "
+"versa."
+msgstr ""
+"Gallwch nodi gwerthoedd Metric pan mai'r Saesneg yw'r Unedau diofyn ac i'r "
+"gwrthwyneb."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:146
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:114
+msgid ""
+"When entering Distances and Lengths you can press the '=' key to redisplay "
+"the value in the default format."
+msgstr ""
+"Wrth nodi Pellteroedd a Hyd gallwch bwyso'r fysell '=' i ailddangos y gwerth"
+" yn y fformat diofyn."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:147
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:116
+msgid ""
+"You can also press the 's' key to convert a Prototype measurement to a Scale"
+" measurement by dividing by the ratio for the current scale."
+msgstr ""
+"Gallwch hefyd wasgu'r allwedd 's' i drosi mesuriad Prototeip i fesuriad "
+"Graddfa trwy rannu â'r gymhareb ar gyfer y raddfa gyfredol."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:148
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:118
+msgid ""
+"The 'p' key will convert a Scale measurement to a Prototype measurement."
+msgstr "Bydd yr allwedd 'p' yn trosi mesuriad Graddfa i fesuriad Prototeip."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:150
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:120
+msgid ""
+"You can place cars on the layout using the Train Simulation command to check"
+" clearance points, track to track separation and coupling."
+msgstr ""
+"Gallwch chi osod ceir ar y cynllun gan ddefnyddio'r gorchymyn Efelychu Trên "
+"i wirio pwyntiau clirio, olrhain i olrhain gwahanu a chyplu."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:152
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:122
+msgid ""
+"Use the MoveTo button on the Custom Management dialog to move your custom "
+"Turnout, Structure and Car definitions to a .XTP parameter file."
+msgstr ""
+"Defnyddiwch y botwm MoveTo ar y dialog Rheoli Custom i symud eich "
+"diffiniadau Pwynt, Strwythur a Char arferol i ffeil paramedr .XTP."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:154
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:124
+msgid ""
+"If you are printing multiple pages on a continuous feed printer (such a Dot "
+"Matrix) you can change the Page Order if necessary to print pages out in "
+"proper order."
+msgstr ""
+"Os ydych chi'n argraffu sawl tudalen ar argraffydd porthiant parhaus (Dot "
+"Matrix o'r fath) gallwch newid y Gorchymyn Tudalen os oes angen i argraffu "
+"tudalennau mewn trefn gywir."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:156
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:126
+msgid ""
+"On the Car Item and Car Part dialogs, you can enter custom values for "
+"Manufacturer, Part and Road by typing the new value directly into the Drop "
+"Down List."
+msgstr ""
+"Ar y deialogau Eitem Car a Rhan Car, gallwch nodi gwerthoedd arfer ar gyfer "
+"Gwneuthurwr, Rhan a Ffordd trwy deipio'r gwerth newydd yn uniongyrchol i'r "
+"Rhestr Gostwng."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:158
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:128
+msgid ""
+"On the Car Item dialog, you can change the Road, Number, Color and other values for a Car. This is useful if you repaint or renumber a car. \n"
+"You can also change the Coupler Mounting and Coupler Length if you change the couplers."
+msgstr ""
+"Ar y dialog Eitem Car, gallwch newid y Ffordd, Rhif, Lliw a gwerthoedd eraill ar gyfer Car. Mae hyn yn ddefnyddiol os ydych chi'n ail-baentio neu'n ail-rifo car.\n"
+"Gallwch hefyd newid Hyd y Coupler Mounting and Coupler Hyd os byddwch chi'n newid y cwplwyr."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:161
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:130
+msgid ""
+"You can Export your Car Inventory to a file in Comma-Separated-Value format "
+"which can be read by most spread-sheet programs."
+msgstr ""
+"Gallwch Allforio eich Rhestr Car i ffeil ar ffurf Gwerth Coma-Separated-"
+"Value y gellir ei ddarllen gan y mwyafrif o raglenni taenlen."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:163
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:132
+msgid "Use the Train Odometer to measure distances along the track."
+msgstr "Defnyddiwch yr Odomedr Trên i fesur pellteroedd ar hyd y trac."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:165
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:134
+msgid ""
+"Holding down the Shift key when clicking the Zoom In or Zoom Out button will zoom to a programmed Drawing Scale. \n"
+"Holding down the Shift and Control keys when clicking a Zoom button will set it's program Zoom to the current Drawing Scale."
+msgstr ""
+"Bydd dal y fysell Shift i lawr wrth glicio ar y botwm Zoom In neu Zoom Out yn chwyddo i Raddfa Lluniadu wedi'i rhaglennu.\n"
+"Bydd dal y bysellau Shift and Control i lawr wrth glicio botwm Zoom yn gosod ei raglen Chwyddo i'r Raddfa Lluniadu gyfredol."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:168
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:136
+msgid ""
+"You can trim the ends of turnouts by holding down the Shift key when using "
+"the Split command."
+msgstr ""
+"Gallwch docio pennau'r nifer sy'n pleidleisio trwy ddal y fysell Shift i "
+"lawr wrth ddefnyddio'r gorchymyn Hollti."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:170
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:138
+msgid ""
+"The Split command can be used to create Block Gaps at end points between two tracks. \n"
+"Either rail or both rails can be gapped, which are drawn as thick lines."
+msgstr ""
+"Gellir defnyddio'r gorchymyn Hollti i greu Bylchau Bloc ar bwyntiau diwedd rhwng dau drac.\n"
+"Gellir tapio naill ai rheilen neu'r ddwy reilffordd, sy'n cael eu tynnu fel llinellau trwchus."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:173
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:140
+msgid ""
+"Trains will 'crash' if they hit another car when travelling faster than the 'Max Coupling Speed' (on the Command Options dialog). \n"
+"They will also 'crash' if they hit the end of the track or an open turnout. \n"
+"Crashed trains must be manually moved back onto the track."
+msgstr ""
+"Bydd trenau'n 'damwain' os ydyn nhw'n taro car arall wrth deithio'n gyflymach na'r 'Max Coupling Speed' (ar y dialog Dewisiadau Gorchymyn).\n"
+"Byddant hefyd yn 'damwain' os byddant yn taro pen y trac neu bwynt agored.\n"
+"Rhaid symud trenau sydd wedi cwympo yn ôl i'r trac â llaw."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:177
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:142
+msgid ""
+"You can add new track segments to a turnout definition or create a "
+"definition from individual tracks using the Group command."
+msgstr ""
+"Gallwch ychwanegu segmentau trac newydd at ddiffiniad a bleidleisiodd neu "
+"greu diffiniad o draciau unigol gan ddefnyddio'r gorchymyn Grŵp."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:179
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:144
+msgid ""
+"The center point and radius of Curved and Circle tracks can optionally be drawn. \n"
+"This feature is toggled by using the Move Label command and doing a Shift-Left-Click on the track."
+msgstr ""
+"Gellir dewis canolbwynt a radiws traciau Crwm a Chylch yn ddewisol.\n"
+"Mae'r nodwedd hon wedi'i thynnu trwy ddefnyddio'r gorchymyn Move Label a gwneud Shift-Left-Click ar y trac."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:182
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:146
+msgid ""
+"Turnout, Curved and Helix track labels can be individually turned on and off"
+" by doing a Shift-Right-Click on the track when using the Move Label "
+"command."
+msgstr ""
+"Gellir troi labeli trac Pwynt, Crwm a Helix ymlaen ac i ffwrdd yn unigol "
+"trwy wneud Shift-Right-Click ar y trac wrth ddefnyddio'r gorchymyn Move "
+"Label."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:184
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:148
+msgid ""
+"You can use the Describe command to change the font size of Text objects."
+msgstr ""
+"Gallwch ddefnyddio'r gorchymyn Disgrifio i newid maint ffont gwrthrychau "
+"Testun."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:186
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:150
+msgid ""
+"You can use the Describe command to change the size of Dimension Line "
+"labels."
+msgstr ""
+"Gallwch ddefnyddio'r gorchymyn Disgrifio i newid maint labeli Llinell "
+"Dimensiwn."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:188
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:152
+msgid ""
+"Normally Right-Click displays a popup menu of commands and Shift-Right-Click displays options for the current command. \n"
+"This can reversed by using the Right Click toggle button on the Command Options dialog."
+msgstr ""
+"Fel rheol mae De-gliciwch yn dangos dewislen naidlen o orchmynion ac opsiynau arddangos Shift-Right-Click ar gyfer y gorchymyn cyfredol.\n"
+"Gellir gwrthdroi hyn trwy ddefnyddio'r botwm tocio Cliciwch ar y Dde ar y dialog Dewisiadau Gorchymyn."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:191
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:154
+msgid ""
+"The Align item on the Rotate command options menu will let you Align selected objects with any unselected object. \n"
+"The selected objects are rotated so the first point is parallel to the second point you selected."
+msgstr ""
+"Bydd yr eitem Alinio ar ddewislen opsiynau gorchymyn Cylchdroi yn caniatáu ichi Alinio gwrthrychau dethol gydag unrhyw wrthrych nas dewiswyd.\n"
+"Mae'r gwrthrychau a ddewiswyd yn cylchdroi felly mae'r pwynt cyntaf yn gyfochrog â'r ail bwynt a ddewisoch."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:194
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:156
+msgid ""
+"Print To Bitmap allows you to print the track center line. \n"
+"This is useful if you later print the bitmap full size as a template when laying track."
+msgstr ""
+"mae argraffu i Bitmap yn caniatáu ichi argraffu llinell ganol y trac.\n"
+"Mae hyn yn ddefnyddiol os byddwch chi'n argraffu'r map did maint llawn yn ddiweddarach fel templed wrth osod trac."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:197
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:158
+msgid ""
+"You can export the selected tracks to a DXF file which can be read by most "
+"CAD programs."
+msgstr ""
+"Gallwch allforio'r traciau a ddewiswyd i ffeil DXF y gall y mwyafrif o "
+"raglenni CAD eu darllen."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:199
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:160
+msgid ""
+"Lengths and distances can be displayed in a variety of units and formats "
+"such as 1' 10 3/4\", 1ft 10.75in or 22.750. In Metric mode, distances can "
+"be displayed as millimeters, centimeters or meters. See the Length Format "
+"item on the Preferences dialog."
+msgstr ""
+"Gellir arddangos hyd a phellteroedd mewn amrywiaeth o unedau a fformatau fel"
+" 1 '10 3/4 \", 1 troedfedd 10.75in neu 22.750. Yn y modd metrig, gellir "
+"arddangos pellteroedd fel milimetrau, centimetrau neu fetrau. Gweler yr "
+"eitem Fformat Hyd ar y dialog Dewisiadau."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:201
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:162
+msgid ""
+"Tracks that are too steep or curve too tightly are drawn in the Exception color (Yellow by default). \n"
+"This helps to identify potential problem areas. \n"
+"The maximum grade and minimum radius are set on the Preferences dialog."
+msgstr ""
+"Mae traciau sy'n rhy serth neu'n gromlin yn rhy dynn yn cael eu tynnu yn y lliw Eithriad (Melyn yn ddiofyn).\n"
+"Mae hyn yn helpu i nodi meysydd problem posibl.\n"
+"Mae'r radd uchaf a'r radiws lleiaf wedi'u gosod ar y dialog Dewisiadau."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:205
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:164
+msgid ""
+"The Flip command produces a mirror-image of the selected tracks. \n"
+"If possible, right-hand turnouts are relabeled as left-hand turnouts (and vice versa)."
+msgstr ""
+"Mae'r gorchymyn Fflipio yn cynhyrchu delwedd ddrych o'r traciau a ddewiswyd.\n"
+"Os yn bosibl, mae pleidleiswyr ar y dde yn cael eu hail-labelu fel pleidleiswyr ar y chwith (ac i'r gwrthwyneb)."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:208
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:166
+msgid ""
+"Then Ungroup command will break turnouts and structures into individual track, line and shape segments. \n"
+"You can modify each segment and add new ones. \n"
+"Then use the Group command to update the definition."
+msgstr ""
+"Yna bydd gorchymyn Ungroup yn torri'r nifer a bleidleisiodd a strwythurau yn segmentau trac, llinell a siâp unigol.\n"
+"Gallwch addasu pob segment ac ychwanegu rhai newydd.\n"
+"Yna defnyddiwch y gorchymyn Grŵp i ddiweddaru'r diffiniad."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:212
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:168
+msgid "Dimension lines show the distance between two points."
+msgstr "Mae llinellau dimensiwn yn dangos y pellter rhwng dau bwynt."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:214
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:170
+msgid ""
+"A variety of Benchwork (rectangular, L-girder and T-girder) can be drawn. \n"
+"Use the Below command to move the Benchwork below the track for proper display."
+msgstr ""
+"Gellir tynnu amrywiaeth o Baseboard (hirsgwar, L-girder a T-girder).\n"
+"Defnyddiwch y gorchymyn Isod i symud y BaseBoard o dan y trac i'w arddangos yn iawn."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:217
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:172
+msgid ""
+"The Turnout Designer dialogs allow you to specify the width of any attached roadbed. \n"
+"As well, the color and thickness of the lines used to represent the roadbed can be specified."
+msgstr ""
+"Mae'r deialogau Dylunydd Pwynt yn caniatáu ichi nodi lled unrhyw wely ffordd ynghlwm.\n"
+"Yn ogystal, gellir nodi lliw a thrwch y llinellau a ddefnyddir i gynrychioli'r gwely ffordd."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:220
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:174
+msgid ""
+"The Color dialog (on the Options menu) is used to change the color of different objects on the display. \n"
+"You can change the color of the Snap Grid and Borders, as well as Normal, Selected and Exception tracks."
+msgstr ""
+"Defnyddir y dialog Lliw (ar y ddewislen Opsiynau) i newid lliw gwahanol wrthrychau ar yr arddangosfa.\n"
+"Gallwch newid lliw y Grid Snap a'r Ffiniau, yn ogystal â thraciau Arferol, Dethol ac Eithriad."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:223
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:176
+msgid ""
+"You can set the elevation (height) of track end-points. \n"
+"Elevations of intermediate end points can be computed automatically based on the distance to the nearest end points with defined elevations. \n"
+"Grades can also be displayed at selected end points. \n"
+"Please see the Elevations help and demo."
+msgstr ""
+"Gallwch chi osod drychiad (uchder) pwyntiau diwedd y trac.\n"
+"Gellir cyfrifo drychiadau pwyntiau diwedd canolradd yn awtomatig yn seiliedig ar y pellter i'r pwyntiau gorffen agosaf gyda drychiadau diffiniedig.\n"
+"Gellir arddangos graddau hefyd mewn mannau gorffen penodol.\n"
+"Os gwelwch yn dda gweler yr help a demo Elevations."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:228
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:178
+msgid ""
+"Once you have elevations on some endpoints, you can use the Profile command to produce an elevation graph. \n"
+"The graph shows the selected elevations, grades and distances. \n"
+"Please see the Profile help and demo for details."
+msgstr ""
+"Ar ôl i chi gael drychiadau ar rai pwyntiau terfyn, gallwch ddefnyddio'r gorchymyn Proffil i gynhyrchu graff drychiad.\n"
+"Mae'r graff yn dangos y drychiadau, y graddau a'r pellteroedd a ddewiswyd.\n"
+"Gweler y cymorth Proffil a'r demo am fanylion."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:232
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:180
+msgid ""
+"You can draw tracks with wider lines for rails. \n"
+"Select the tracks and use Medium or Thick Tracks on the Edit menu."
+msgstr ""
+"Gallwch dynnu traciau gyda llinellau ehangach ar gyfer rheiliau.\n"
+"Dewiswch y traciau a defnyddio Traciau Canolig neu Drwchus ar y ddewislen Golygu."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:235
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:182
+msgid ""
+"The Helix command is used to create a Helix track. \n"
+"You specify some parameters: height, radius, number of turns, grade and vertical separation between layers. \n"
+"These values are interrelated so changing one value will affect ohers. \n"
+"Then you can place the Helix and join to other tracks as you would a Circle track."
+msgstr ""
+"Defnyddir y gorchymyn Helix i greu trac Helix.\n"
+"Rydych chi'n nodi rhai paramedrau: uchder, radiws, nifer y troadau, gradd a gwahaniad fertigol rhwng haenau.\n"
+"Mae'r gwerthoedd hyn yn gysylltiedig â'i gilydd felly bydd newid un gwerth yn effeithio ar ohers.\n"
+"Yna gallwch chi osod yr Helix ac ymuno â thraciau eraill fel y byddech chi'n ei wneud ar drac Circle."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:240
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:184
+msgid ""
+"Many objects on the layout have labels: Turnouts/Helix/Curved Titles, Track Lenghts, End-Point Elevations, Track Elevations and Cars. \n"
+"You can turn these labels on or off with the Label Enable toggle buttons on the Display options dialog."
+msgstr ""
+"Mae labeli ar lawer o wrthrychau ar y cynllun: Turnouts / Helix / Teitlau Crwm, Lenghts Trac, Drychiadau End-Point, Drychiadau Trac a Cheir.\n"
+"Gallwch droi’r labeli hyn ymlaen neu i ffwrdd gyda’r botymau Label Enable toggle ar y dialog opsiynau Arddangos."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:243
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:186
+msgid ""
+"If you hold down the Control key when using the Rotate command, the rotation"
+" will be done in increments of 15ᅵ."
+msgstr ""
+"Os ydych chi'n dal y fysell Reoli i lawr wrth ddefnyddio'r gorchymyn "
+"Cylchdroi, bydd y cylchdro yn cael ei wneud mewn cynyddrannau o 15 gradd."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:245
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:188
+msgid ""
+"When using the Rotate command, Shift-Right-Click displays a menu allowing "
+"you to rotate by specific amounts or to align the selected objects with "
+"another object."
+msgstr ""
+"Wrth ddefnyddio'r gorchymyn Cylchdroi, mae Shift-Right-Click yn dangos "
+"dewislen sy'n eich galluogi i gylchdroi yn ôl symiau penodol neu alinio'r "
+"gwrthrychau a ddewiswyd â gwrthrych arall."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:247
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:190
+msgid ""
+"This is last tip. If you have any additions or comments, please let us "
+"know."
+msgstr ""
+"Dyma'r domen olaf. Os oes gennych unrhyw ychwanegiadau neu sylwadau, rhowch "
+"wybod i ni."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:25
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:192
+msgid ""
+"The unconnected endpoints of a straight or curved track can be changed with "
+"the 'Modify Track' command.\n"
+msgstr ""
+"Gellir newid pwyntiau terfyn digyswllt trac syth neu grwm gyda'r gorchymyn "
+"'Modify Track'..\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:31
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:194
+msgid ""
+"The endpoint of a straight track is selected and then Left-Dragged to change"
+" its length. A blue anchor shows that the length can be extended.\n"
+msgstr ""
+"Dewisir pwynt terfyn trac syth ac yna Chwith-Llusgir i newid ei hyd. Mae "
+"angor glas yn dangos y gellir ymestyn y hyd..\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:48
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:196
+msgid ""
+"If you try to drag the selected endpoint beyond the far endpoint, the track "
+"extends in the opposite direction.\n"
+msgstr ""
+"Os ceisiwch lusgo'r pwynt terfyn a ddewiswyd y tu hwnt i'r man pellaf, mae'r"
+" trac yn ymestyn i'r cyfeiriad arall.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:68
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:73
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:199
+msgid ""
+"A curved track is selected and it's new endpoint is determined by the angle "
+"to the cursor. \n"
+msgstr ""
+"Dewisir trac crwm ac mae ei ddiweddbwynt newydd yn cael ei bennu gan yr ongl"
+" i'r cyrchwr. \n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:105
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:201
+msgid "It's possible to almost create a complete circle.\n"
+msgstr "Mae'n bosib bron creu cylch cyflawn.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:202
+msgid ""
+"If you drag the mouse beyond the start of the curve the track becomes very "
+"short.\n"
+msgstr ""
+"Os llusgwch y llygoden y tu hwnt i ddechrau'r gromlin, bydd y trac yn fyr "
+"iawn.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:113
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:204
+msgid "Here you are warned that the track will be too short.\n"
+msgstr "Yma fe'ch rhybuddir y bydd y trac yn rhy fyr..\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:147
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:206
+msgid ""
+"If you move the cursor away from the curve, you will create a straight track"
+" tangent to the curve.\n"
+msgstr ""
+"Os symudwch y cyrchwr i ffwrdd o'r gromlin, byddwch yn creu tangiad trac "
+"syth i'r gromlin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:169
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:174
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:209
+msgid ""
+"If you adjust the endpoint of a turnout or sectional track the track is "
+"extended by a similar track segment. The extension can be \n"
+msgstr ""
+"Os ydych chi'n addasu pwynt terfyn pwynt neu drac adrannol, mae'r trac yn "
+"cael ei estyn gan segment trac tebyg. Gall yr estyniad fod \n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:210
+msgid "a straight or a curve.\n"
+msgstr "cromlin syth neu gromlin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:190
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:195
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:213
+msgid ""
+"You can change the radius of a straight or curved track that is connected at"
+" one endpoint by holding down the Shift key while Left-dragging on it.\n"
+msgstr ""
+"Gallwch newid radiws trac syth neu grwm sydd wedi'i gysylltu ar un pwynt "
+"trwy ddal y fysell Shift i lawr wrth i'r chwith lusgo arno.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:214
+msgid ""
+"The blue cross anchor shows that this is possible when shift is held down "
+"with no buttons.\n"
+msgstr ""
+"Mae'r angor croes glas yn dangos bod hyn yn bosibl pan fydd sifft yn cael ei"
+" ddal i lawr heb unrhyw fotymau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:209
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:216
+msgid ""
+"This lets you change a straight track into a curved track (and vice versa) "
+"as well as changing the radius of a curved track.\n"
+msgstr ""
+"Mae hyn yn caniatáu ichi newid trac syth yn drac crwm (ac i'r gwrthwyneb) yn"
+" ogystal â newid radiws trac crwm.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:252
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:218
+msgid ""
+"You can form an extension of a straight or curved Track that is connected at"
+" one endpoint using an easement by holding down the Ctrl key while Left-"
+"dragging on it.\n"
+msgstr ""
+"Gallwch ffurfio estyniad o Drac syth neu grwm sydd wedi'i gysylltu ar un "
+"pwynt terfyn gan ddefnyddio hawddfraint trwy ddal y fysell Ctrl i lawr wrth "
+"i'r chwith lusgo arno.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:219
+msgid ""
+"The blue half cross anchor shows that this is possible when the Ctrl key is "
+"held down with no mouse button.\n"
+msgstr ""
+"Mae'r angor croes glas hanner yn dangos bod hyn yn bosibl pan fydd yr "
+"allwedd Ctrl yn cael ei dal i lawr heb unrhyw botwm llygoden.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:267
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmbench.xtr:9
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:222
+msgid "You can draw a variety of different types of benchwork:\n"
+msgstr "Gallwch dynnu llun amrywiaeth o wahanol fathau o waith meinc:\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:223
+msgid "- rectangular (1x2, 2x4 etc)\n"
+msgstr "- petryal (1x2, 2x4 ac ati)\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:224
+msgid "- L girders\n"
+msgstr "- L gwregysau\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:225
+msgid "- T girders\n"
+msgstr "- T gwregysau\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:226
+msgid "You can also draw them in different orientations.\n"
+msgstr "Gallwch hefyd eu tynnu mewn gwahanol gyfeiriadau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmbench.xtr:25
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:228
+msgid "We will draw two 3x6 inch L-girders.\n"
+msgstr "Byddwn yn tynnu dau wregys L 3x6 modfedd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmbench.xtr:43
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:230
+msgid ""
+"The flange of the top L-Girders is on the outside edge of the girders. We "
+"want to change the girder so both flanges are on the inside.\n"
+msgstr ""
+"Mae fflans y L-Girders uchaf ar ymyl allanol y gwregysau. Rydyn ni am newid "
+"y girder fel bod y ddwy flanges ar y tu mewn.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:231
+msgid "We will use the <Describe> command for this.\n"
+msgstr "Byddwn yn defnyddio'r <Describe> gorchymyn ar gyfer hyn.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmbench.xtr:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:233
+msgid "Change the Orientation to Right.\n"
+msgstr "Newid y Cyfeiriadedd i'r Dde.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmbench.xtr:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:235
+msgid "Now both flanges are on the inside of the two girders.\n"
+msgstr "Nawr mae'r ddwy flanges ar du mewn y ddau wregys.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:34
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:237
+msgid ""
+"Pushing the <Describe> button will cancel any other command in progress.\n"
+msgstr ""
+"Bydd gwthio'r botwm <Describe> yn canslo unrhyw orchymyn arall sydd ar y "
+"gweill.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:238
+msgid ""
+"Here we will begin to create a curved track which is a two step process.\n"
+msgstr "Yma byddwn yn dechrau creu trac crwm sy'n broses dau gam.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:47
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:240
+msgid ""
+"When we clicked on the <Describe> button, the current command was "
+"cancelled.\n"
+msgstr ""
+"Pan wnaethon ni glicio ar y botwm <Describe> cafodd y gorchymyn cyfredol ei "
+"ganslo.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:241
+msgid ""
+"When in <Describe> mode, selecting any object will print a description in "
+"the Status Bar and display a dialog showing properties of the clicked-on "
+"object.\n"
+msgstr ""
+"Pan fydd mewn <Describe> Pan fydd mewn 1 modd, bydd dewis unrhyw wrthrych yn"
+" argraffu disgrifiad yn y Bar Statws ac yn arddangos deialog yn dangos "
+"priodweddau'r gwrthrych sydd wedi'i glicio arno.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:57
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:243
+msgid ""
+"Certain parameters of the object can be changed. In this case we'll change "
+"the length\n"
+msgstr ""
+"Gellir newid rhai paramedrau'r gwrthrych. Yn yr achos hwn, byddwn yn newid y"
+" hyd\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:65
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:245
+msgid "Let's look at the Turnout...\n"
+msgstr "Gadewch i ni edrych ar y Point / Turnout ...\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:73
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:247
+msgid "and change the turnout name and part no.\n"
+msgstr "a newid enw'r nifer sy'n pleidleisio a rhan rhif.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:84
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:249
+msgid "You can change the contents of text...\n"
+msgstr "Gallwch newid cynnwys testun ...\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:93
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:251
+msgid "and its size.\n"
+msgstr "a'i faint.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:100
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:253
+msgid ""
+"If you select a note, the Description dialog appears which displays the "
+"contents of the note.\n"
+msgstr ""
+"Os dewiswch nodyn, mae'r ymgom Disgrifiad yn ymddangos sy'n dangos cynnwys y"
+" nodyn.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:112
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcircle.xtr:7
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:256
+msgid ""
+"Like the <Curve> track command, there are several ways to create a Circle "
+"track.\n"
+msgstr "Fel y gorchymyn <Curve> trac, mae yna sawl ffordd i greu trac Cylch.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:257
+msgid ""
+"The first is to specify a fixed radius and simply drag the Circle into "
+"position.\n"
+msgstr "Y cyntaf yw nodi radiws sefydlog a llusgo'r Cylch i'w safle.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:258
+msgid "We will change the Radius before proceeding.\n"
+msgstr "Byddwn yn newid y Radiws cyn bwrw ymlaen.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcircle.xtr:24
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:260
+msgid "The next method is to drag from the edge of the Circle to the center.\n"
+msgstr "Y dull nesaf yw llusgo o ymyl y Cylch i'r canol.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcircle.xtr:37
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:262
+msgid ""
+"The last is similar, but you drag from the center of the Circle to the "
+"edge.\n"
+msgstr ""
+"Mae'r olaf yn debyg, ond rydych chi'n llusgo o ganol y Cylch i'r ymyl.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcircle.xtr:50
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:157
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:265
+msgid ""
+"We have built a siding using Sectional track and have 2 End-Points that "
+"don't line up and are not connected automatically when placing the sectional"
+" track.\n"
+msgstr ""
+"Rydym wedi adeiladu seidin gan ddefnyddio trac Adrannol ac mae gennym 2 "
+"Bwynt Diwedd nad ydynt yn llinellu ac nad ydynt wedi'u cysylltu'n awtomatig "
+"wrth osod y trac adrannol.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:162
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:267
+msgid ""
+"We use the <Connect> command to adjust neighboring tracks so the gap is "
+"closed.\n"
+msgstr ""
+"Rydym yn defnyddio'r <Connect> gorchymyn i addasu traciau cyfagos fel bod y "
+"bwlch ar gau.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:268
+msgid ""
+"Note: the adjustments are only done on tracks which have only 1 or 2 "
+"connections. In this example the Turnouts would not be affected.\n"
+msgstr ""
+"Sylwch: dim ond ar draciau sydd â 1 neu 2 gysylltiad yn unig y mae'r "
+"addasiadau'n cael eu gwneud. Yn yr enghraifft hon, ni fyddai'r Pwyntiau'n "
+"cael eu heffeithio.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:175
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:270
+msgid "And now the gap is closed.\n"
+msgstr "Ac yn awr mae'r bwlch ar gau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:181
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:272
+msgid "Other tracks have been shifted slightly to close the gap.\n"
+msgstr "Mae traciau eraill wedi'u symud ychydig i gau'r bwlch.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:188
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:274
+msgid "You can see these slight mis-alignments.\n"
+msgstr "Gallwch weld y cam-aliniadau bach hyn.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:275
+msgid "But they will have no effect when the layout is actually built.\n"
+msgstr ""
+"Ond ni fyddant yn cael unrhyw effaith pan fydd y cynllun wedi'i adeiladu "
+"mewn gwirionedd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:196
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:353
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:278
+msgid ""
+"After working with Sectional track you might get to point where these mis-"
+"alignments have accumulated and you wish to remove them.\n"
+msgstr ""
+"Ar ôl gweithio gyda thrac Adrannol efallai y byddwch chi'n cyrraedd pwynt "
+"lle mae'r cam-aliniadau hyn wedi cronni ac rydych chi am gael gwared arnyn "
+"nhw.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:279
+msgid ""
+"You can remove these slight mis-alignments by tightening the tracks starting"
+" from a unconnected End-Point. Use Shift-Left-Click with the <Connect> "
+"command.\n"
+msgstr ""
+"Gallwch chi gael gwared ar y cam-aliniadau bach hyn trwy dynhau'r traciau "
+"gan ddechrau o End-Point heb gysylltiad. Defnyddiwch Shift-Left-Click gyda'r"
+" <Connect> gorchymyn.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:280
+msgid "First use the <Split> command to disconnect the tracks.\n"
+msgstr "Yn gyntaf, defnyddiwch y <Split> gorchymyn i ddatgysylltu'r traciau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:363
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:282
+msgid "Then with the <Connect> command, Shift-Left-Click on the 2 End-Points.\n"
+msgstr "Yna gyda'r <Connect> gorchymyn, Shift-Left-Click ar y 2 End-Points.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:378
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn2.xtr:199
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:285
+msgid "In example shows a simple figure-8 layout using Sectional track.\n"
+msgstr ""
+"Imae enghraifft yn dangos cynllun ffigur-8 syml gan ddefnyddio trac "
+"Adrannol.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:286
+msgid ""
+"You will notice that the tracks do not line up exactly in one location.\n"
+msgstr "Fe sylwch nad yw'r traciau'n llinellu'n union mewn un lleoliad.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn2.xtr:211
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:288
+msgid ""
+"We can use the <Connect> command to move the connecting tracks slightly and "
+"connect the 2 End-Points.\n"
+msgstr ""
+"Gallwn ddefnyddio'r <Connect>gorchymyn i symud y traciau cysylltu ychydig a "
+"chysylltu'r 2 Bwynt Diwedd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn2.xtr:224
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:290
+msgid "The two End-Points are now aligned and connected.\n"
+msgstr "Mae'r ddau Bwynt Diwedd bellach wedi'u halinio a'u cysylltu.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn2.xtr:231
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:292
+msgid "The connection was made by adding small gaps in other tracks.\n"
+msgstr "Gwnaed y cysylltiad trwy ychwanegu bylchau bach mewn traciau eraill.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn2.xtr:238
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:7
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:295
+msgid "There are several ways to create a Curved track.\n"
+msgstr "Mae yna sawl ffordd i greu trac Crwm.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:296
+msgid ""
+"You can choose which to use by clicking on the small button to the left of "
+"<Curve> command button if the current Curve command is not the one you "
+"want.\n"
+msgstr ""
+"Gallwch ddewis pa un i'w ddefnyddio trwy glicio ar y botwm bach i'r chwith o"
+" <Curve> botwm gorchymyn os nad y gorchymyn Cromlin cyfredol yw'r un rydych "
+"chi ei eisiau.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:297
+msgid ""
+"The first is by clicking on the first End-Point and dragging in the "
+"direction of the Curve.\n"
+msgstr ""
+"Y cyntaf yw trwy glicio ar y End-Point cyntaf a llusgo i gyfeiriad y "
+"Gromlin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:20
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:299
+msgid ""
+"You will see a straight track with a double ended Red arrow at the end.\n"
+msgstr "Fe welwch drac syth gyda saeth Goch â dau ben ar y diwedd.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:300
+msgid "Click and drag on one of the Red arrows to complete the Curve.\n"
+msgstr "Cliciwch a llusgwch ar un o'r saethau Coch i gwblhau'r Gromlin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:39
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:302
+msgid ""
+"The next method is to click at one End-Point and drag to the center of the "
+"Curve.\n"
+msgstr "Y dull nesaf yw clicio ar un End-Point a llusgo i ganol y Gromlin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:50
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:304
+msgid ""
+"Now you will see the double ended Red arrow connected to the center of the "
+"Curve marked by a small circle.\n"
+msgstr ""
+"Nawr fe welwch y saeth Goch â dau ben wedi'i chysylltu â chanol y Gromlin "
+"wedi'i nodi gan gylch bach.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:305
+msgid "As before, drag on one of the Red arrows to complete the Curve.\n"
+msgstr "Fel o'r blaen, llusgwch ar un o'r saethau Coch i gwblhau'r Gromlin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:307
+msgid ""
+"The next method is similar to the last except that you drag first from the "
+"center of the Curve to one End-Point.\n"
+msgstr ""
+"Mae'r dull nesaf yn debyg i'r olaf ac eithrio eich bod chi'n llusgo gyntaf o"
+" ganol y Gromlin i un Pwynt Diwedd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:80
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:309
+msgid "Once again, drag on a Red arrow to complete the Curve.\n"
+msgstr "Unwaith eto, llusgwch saeth goch i gwblhau'r Gromlin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:90
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:311
+msgid ""
+"The last method begins by drawing a line between the two End-Points of the "
+"Curve. This forms the Chord of the Curve.\n"
+msgstr ""
+"Mae'r dull olaf yn dechrau trwy dynnu llinell rhwng dau Bwynt Diwedd y "
+"Gromlin. Mae hyn yn ffurfio Cord y Gromlin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:108
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:313
+msgid "Now drag on a Red arrow to complete the Curve.\n"
+msgstr "Nawr llusgwch saeth goch i gwblhau'r Gromlin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:118
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:112
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:316
+msgid "This demo will construct a control panel for part of a bigger layout.\n"
+msgstr "Bydd y demo hwn yn adeiladu panel rheoli ar gyfer rhan o gynllun mwy.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:117
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:318
+msgid "For our control panel we will use Œ\" lines. \n"
+msgstr "Ar gyfer ein panel rheoli byddwn yn defnyddio llinellau 1/2\". \n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:319
+msgid "Also, we will use a 1/8\" grid to lay out our controls.\n"
+msgstr "Hefyd, byddwn yn defnyddio grid 1/8\" i osod ein rheolyddion.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:320
+msgid "First, we will set up the Snap Grid for 1\" grid lines and 8 divisions.\n"
+msgstr ""
+"Yn gyntaf, byddwn yn sefydlu'r Grid Snap ar gyfer llinellau grid 1 \" ac 8 "
+"rhaniad.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:132
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:322
+msgid "Now, clear the layout and turn on the Snap Grid.\n"
+msgstr "Nawr, cliriwch y cynllun a throwch y Grid Snap ymlaen.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:147
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:324
+msgid "First step: draw the lines representing the tracks.\n"
+msgstr "Cam cyntaf: lluniwch y llinellau sy'n cynrychioli'r traciau.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:325
+msgid "We specify the line width in pixels when at 1:1 zoom.\n"
+msgstr ""
+"Rydym yn nodi lled y llinell mewn picseli pan fyddant yn chwyddo 1: 1.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:326
+msgid ""
+"To create a 1/4\" line, divide the dots-per-inch (DPI) of your display by "
+"4.\n"
+msgstr ""
+"I greu llinell 1/4\", rhannwch ddotiau-fesul-modfedd (DPI) eich arddangosfa "
+"â 4.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:327
+msgid ""
+"For MS-Windows the DPI is usually 98, so choose: 98/4 = 24 "
+"(approximately).\n"
+msgstr ""
+"Ar gyfer MS-Windows mae'r DPI fel arfer yn 98, felly dewiswch: 98/4 = 24 "
+"(tua).\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:328
+msgid "For Linux, the DPI is usually 72, so choose: 72/4 = 18.\n"
+msgstr ""
+"Ar gyfer Mac / Linux, y DPI fel arfer yw 72, felly dewiswch: 72/4 = 18.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:495
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:330
+msgid ""
+"Notice how the Snap Grid keeps the main line and siding track parallel and "
+"the connecting tracks and spur at a 45° angle.\n"
+msgstr ""
+"Sylwch ar sut mae'r Grid Snap yn cadw'r brif linell a'r trac seidin yn "
+"gyfochrog a'r traciau cysylltu a'r sbardun ar ongl 45°.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:503
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:332
+msgid "Second step: add LEDs for the turnout position indicators.\n"
+msgstr "Ail gam: ychwanegu LEDs ar gyfer y dangosyddion sefyllfa pleidleisio.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:333
+msgid "We will use T1 red and green LEDs.\n"
+msgstr "We will use T1 red and green LEDs.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:334
+msgid "We will zoom in to show positioning.\n"
+msgstr "Byddwn yn chwyddo i mewn i ddangos lleoliad.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:513
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:336
+msgid ""
+"Notice that when we are in the correct position (on the 1/8\" grid), the "
+"Marker lines on the bottom and left rulers will high-light the tick marks. "
+"When both ticks are high-lighted, press the space bar to finalize the LED.\n"
+msgstr ""
+"Sylwch, pan fyddwn yn y safle cywir (ar y grid 1/8\"), y bydd y llinellau "
+"Marciwr ar y pren mesur isaf a chwith yn goleuo'r marciau ticio yn uchel. "
+"Pan fydd y ddau dic yn goleuo'n uchel, pwyswch y bar gofod i gwblhau. y "
+"LED.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:558
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:338
+msgid "Now we'll add push buttons to control the turnouts.\n"
+msgstr ""
+"Nawr byddwn yn ychwanegu botymau gwthio i reoli'r nifer sy'n pleidleisio.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:595
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:340
+msgid "Let's add signals to our siding.\n"
+msgstr "Gadewch i ni ychwanegu signalau at ein seidin.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:341
+msgid "The entrance to the siding will be protected by double headed signals.\n"
+msgstr "Bydd y fynedfa i'r seidin yn cael ei amddiffyn gan signalau pen dwbl.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:342
+msgid "We'll select a signal from the HotBar and place it into position.\n"
+msgstr "Byddwn yn dewis signal o'r HotBar a'i roi yn ei le.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:608
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:344
+msgid ""
+"We rotate the signals by Shift-Right-Click and select 90° CW on the popup "
+"menu. We can not show the popup menu in demo mode, but will simulate the "
+"effect.\n"
+msgstr ""
+"Rydym yn cylchdroi'r signalau trwy Shift-Right-Click ac yn dewis 90° CW ar y"
+" ddewislen naidlen. Ni allwn ddangos y ddewislen naidlen yn y modd demo, ond"
+" byddwn yn efelychu'r effaith.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:657
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:346
+msgid "The exits from the siding will be protected by single headed signals.\n"
+msgstr ""
+"Bydd yr allanfeydd o'r seidin yn cael eu gwarchod gan signalau pennawd "
+"sengl.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:711
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:348
+msgid "Now for some touch-ups.\n"
+msgstr "Nawr ar gyfer rhai cyffyrddiadau.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:349
+msgid "Notice when the line meet at an angle there is a gap.\n"
+msgstr "Sylwch pan fydd y llinell yn cwrdd ar ongl mae yna fwlch.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:350
+msgid "We will fill this gap with the Œ\" dot.\n"
+msgstr "Byddwn yn llenwi'r bwlch hwn gyda'r dot 1/2\".\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:351
+msgid ""
+"Note: Win95/Win98/WinME does not support drawing lines with flat end-caps, "
+"but only with round end-caps.\n"
+msgstr ""
+"Nodyn: Nid yw Win95 / Win98 / WinME yn cefnogi tynnu llinellau gyda chapiau "
+"pen gwastad, ond dim ond gyda chapiau pen crwn.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:352
+msgid "Users on those platforms will not see the gap.\n"
+msgstr "Ni fydd defnyddwyr ar y llwyfannau hynny yn gweld y bwlch.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:734
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:354
+msgid ""
+"Add an arrow head to indicate the tracks that connect to the rest of the "
+"layout.\n"
+msgstr ""
+"Ychwanegwch ben saeth i nodi'r traciau sy'n cysylltu â gweddill y cynllun.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:355
+msgid "The second arrow will be flipped 180°\"\n"
+msgstr "Bydd yr ail saeth yn cael ei fflipio 180°\"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:772
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:357
+msgid "And add some labels.\n"
+msgstr "Ac ychwanegwch rai labeli.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:833
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:359
+msgid ""
+"We want to print our control panel onto a 8œx11 page, but the control panel "
+"is a bit too wide.\n"
+msgstr ""
+"Rydyn ni eisiau argraffu ein panel rheoli ar dudalen 8 1/2 x 11, ond mae'r "
+"panel rheoli ychydig yn rhy eang.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:360
+msgid "Lets tighten it up a bit.\n"
+msgstr "Gadewch i ni ei dynhau ychydig.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:361
+msgid ""
+"First turn the Snap Grid on again so any moves we make will keep objects on "
+"the grid.\n"
+msgstr ""
+"Yn gyntaf trowch y Grid Snap ymlaen eto felly bydd unrhyw symudiadau a wnawn"
+" yn cadw gwrthrychau ar y grid.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:842
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:363
+msgid "Lets move the spur track to the left 3/4\"\n"
+msgstr "Gadewch i ni symud y trac sbardun i'r chwith 3/4\"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:864
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:365
+msgid "Now move the right side of the siding over.\n"
+msgstr "Nawr symudwch ochr dde'r seidin drosodd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:884
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:367
+msgid "Now, adjust the ends of the mainline and siding tracks.\n"
+msgstr "Nawr, addaswch bennau'r brif reilffordd a'r traciau seidin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:904
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:369
+msgid "And move the title over as well.\n"
+msgstr "A symud y teitl drosodd hefyd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:921
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:371
+msgid "Now you can print it.\n"
+msgstr "Nawr gallwch chi ei argraffu.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:372
+msgid "The cross-hairs on the LEDs and switch show the centers for drilling.\n"
+msgstr ""
+"Mae'r croes-flew ar y LEDs a'r switsh yn dangos y canolfannau ar gyfer "
+"drilio.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdelund.xtr:33
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:374
+msgid ""
+"Pressing the <Delete> button lets you delete selected tracks from the "
+"layout.\n"
+msgstr ""
+"Mae pwyso'r botwm <Delete> yn caniatáu ichi ddileu traciau dethol o'r "
+"cynllun.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:375
+msgid ""
+"First you select the tracks you want to delete, and then press the <Delete> "
+"button.\n"
+msgstr ""
+"Yn gyntaf rydych chi'n dewis y traciau rydych chi am eu dileu, ac yna'n "
+"pwyso'r botwm <Delete>.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdelund.xtr:47
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:377
+msgid ""
+"If you delete a track connected to an easement curve, then the easement "
+"curve is deleted as well.\n"
+msgstr ""
+"Os ydych chi'n dileu trac sy'n gysylltiedig â chromlin hawddfraint, yna "
+"mae'r gromlin hawddfraint yn cael ei dileu hefyd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdelund.xtr:57
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:379
+msgid "You can use the <Undo> command to undelete tracks.\n"
+msgstr "Gallwch ddefnyddio'r <Undo> gorchymyn i danseilio traciau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdelund.xtr:67
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:381
+msgid ""
+"If you Left-Drag on the layout you can select all tracks within an area.\n"
+msgstr ""
+"Os ydych chi'n Chwith-Llusgo ar y cynllun gallwch ddewis pob trac o fewn "
+"ardal.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:382
+msgid ""
+"Note, only tracks within the selected area are deleted. Since the easement "
+"curve is connected to a deleted track, it is deleted as well.\n"
+msgstr ""
+"Sylwch, dim ond traciau yn yr ardal a ddewiswyd sy'n cael eu dileu. Gan fod "
+"cromlin yr hawddfraint wedi'i chysylltu â thrac wedi'i ddileu, caiff ei "
+"ddileu hefyd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdelund.xtr:80
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:385
+msgid ""
+"The demo also simulates entering values and selecting options on various "
+"dialogs.\n"
+msgstr ""
+"Mae'r demo hefyd yn efelychu gwerthoedd mewnbynnu a dewis opsiynau ar "
+"ddeialogau amrywiol.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:386
+msgid ""
+"This is simulated by drawing a rectangle around the control when values are "
+"entered or changed.\n"
+msgstr ""
+"Mae hyn yn cael ei efelychu trwy dynnu petryal o amgylch y rheolaeth pan "
+"fydd gwerthoedd yn cael eu nodi neu eu newid.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:13
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:388
+msgid ""
+"Here we are going to make some changes to the Display dialog. Notice how "
+"this is simulated.\n"
+msgstr ""
+"Yma, rydyn ni'n mynd i wneud rhai newidiadau i'r ymgom Arddangos. Sylwch ar "
+"sut mae hyn yn cael ei efelychu.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:389
+msgid "First we are setting 'Draw Tunnel' to 'Normal'\n"
+msgstr "Yn gyntaf rydyn ni'n gosod 'Twnnel Draw' yn 'Normal'\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:21
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:391
+msgid "Now we're changing 'Label Font Size' to '56'\n"
+msgstr "Nawr rydyn ni'n newid 'Maint Ffont Label' i '56'\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:26
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:393
+msgid "We'll change some other options\n"
+msgstr "Byddwn yn newid rhai opsiynau eraill\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:38
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:395
+msgid ""
+"This effect is only used in demonstration mode. During normal operation you"
+" will not see this.\n"
+msgstr ""
+"Dim ond yn y modd arddangos y defnyddir yr effaith hon. Yn ystod "
+"gweithrediad arferol ni welwch hyn.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:45
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdimlin.xtr:117
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:398
+msgid "Dimension Lines are used to mark the distances between two points.\n"
+msgstr "Defnyddir Llinellau Dimensiwn i nodi'r pellteroedd rhwng dau bwynt.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:399
+msgid ""
+"Here we will create a Dimension Line to show the separation between two "
+"tracks.\n"
+msgstr ""
+"Yma byddwn yn creu Llinell Dimensiwn i ddangos y gwahaniad rhwng dau drac.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdimlin.xtr:132
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:401
+msgid ""
+"We might also want to measure the distance between two structures. In this "
+"case we will use a larger dimension line.\n"
+msgstr ""
+"Efallai y byddem hefyd eisiau mesur y pellter rhwng dau strwythur. Yn yr "
+"achos hwn byddwn yn defnyddio llinell ddimensiwn fwy.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdimlin.xtr:144
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:403
+msgid ""
+"We can use the <Describe> command to change the position of the Dimension "
+"Line and the size of the numbers.\n"
+msgstr ""
+"Gallwn ddefnyddio'r <Describe> gorchymyn i newid lleoliad y Llinell "
+"Dimensiwn a maint y rhifau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdimlin.xtr:162
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:406
+msgid ""
+"This example will show the effect of using easements while joining tracks.\n"
+msgstr ""
+"Bydd yr enghraifft hon yn dangos effaith defnyddio hawddfreintiau wrth ymuno"
+" â thraciau.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:407
+msgid "First, we will enable Cornu Easements and select Join\n"
+msgstr "Yn gyntaf, byddwn yn galluogi Hawddfreintiau Cornu ac yn dewis Ymuno\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:28
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:409
+msgid "First select one end of the track\n"
+msgstr "Yn gyntaf dewiswch un pen o'r trac\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:39
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:411
+msgid "Now the end of different track\n"
+msgstr "Nawr diwedd trac gwahanol\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:49
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:413
+msgid "You can reposition the ends by dragging them \n"
+msgstr "Gallwch ail-leoli'r pennau trwy eu llusgo \n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:65
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:415
+msgid "When you are happy, Hit Enter or Space, if not use Esc\n"
+msgstr ""
+"Pan fyddwch chi'n hapus, defnyddiwch Enter neu Space, os na, defnyddiwch "
+"Esc\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:73
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:417
+msgid ""
+"The Curve is made up of Beziers parts that smooth the shape the best way it "
+"can be in the space available\n"
+msgstr ""
+"Mae'r gromlin yn cynnwys rhannau Beziers sy'n llyfnhau'r siâp y ffordd orau "
+"y gall fod yn y gofod sydd ar gael\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:87
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:419
+msgid "Now, we'll show traditional easements instead.\n"
+msgstr "Nawr, byddwn yn dangos hawddfreintiau traddodiadol yn lle.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:142
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:421
+msgid ""
+"We've selected sharp easements. The minimum radius curve we can use will be"
+" 9.75\"\n"
+msgstr ""
+"Rydyn ni wedi dewis hawddfreintiau miniog. Y gromlin radiws lleiaf y gallwn "
+"ei ddefnyddio fydd 9.75\"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:422
+msgid "Notice the label on the Easement button has changed to 'Sharp'.\n"
+msgstr "Sylwch fod y label ar y botwm Rhwyddineb wedi newid i 'Sharp'.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:157
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:424
+msgid ""
+"Note the connecting curve does not quite meet the straight tracks. This the"
+" 'Offset'.\n"
+msgstr ""
+"Sylwch nad yw'r gromlin gysylltu yn cwrdd â'r traciau syth yn llwyr. Dyma'r "
+"'Gwrthbwyso'.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:165
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:426
+msgid "Here the connecting curve is too small.\n"
+msgstr "Yma mae'r gromlin gysylltu yn rhy fach.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:175
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:428
+msgid ""
+"The connecting curve is made of three tracks, the curve and two easement "
+"segments on each end.\n"
+msgstr ""
+"Mae'r gromlin gysylltu wedi'i gwneud o dri thrac, y gromlin a dau segment "
+"hawddfraint ar bob pen.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:112
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:430
+msgid ""
+"We have designed part of the layout with a siding, 2 branches and a spiral "
+"loop. We want to set elevations.\n"
+msgstr ""
+"Rydym wedi dylunio rhan o'r cynllun gyda seidin, 2 gangen a dolen troellog. "
+"Rydym am osod drychiadau.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:431
+msgid "Note: make sure you set endpoint elevations on the Display dialog.\n"
+msgstr ""
+"Nodyn: gwnewch yn siŵr eich bod chi'n gosod drychiadau endpoint ar y dialog "
+"Arddangos.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:122
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:433
+msgid "First we will set elevations at the end of the branches.\n"
+msgstr "Yn gyntaf byddwn yn gosod drychiadau ar ddiwedd y canghennau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:132
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:435
+msgid "We'll select the end of the top branch and set the Elevation to 4\"\n"
+msgstr "Byddwn yn dewis diwedd y gangen uchaf ac yn gosod y Drychiad i 4\"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:436
+msgid "First, click on the End-Point.\n"
+msgstr "Yn gyntaf, cliciwch ar y End-Point.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:142
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:438
+msgid "Next, pick Defined on the Elevation dialog Radio box.\n"
+msgstr "Nesaf, dewiswch Diffiniedig ar y blwch deialog Drychiad Drych.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:148
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:440
+msgid "And set the Elevation to 4.\n"
+msgstr "A gosod yr Drychiad i 4.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:156
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:442
+msgid "Now, select the other branch and set it's elevation to 2\"\n"
+msgstr "Nawr, dewiswch y gangen arall a gosod ei drychiad i 2\"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:170
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:444
+msgid "We can move the Elevation label by using Ctrl-Left-Drag\n"
+msgstr "Gallwn symud y label Drychiad trwy ddefnyddio Ctrl-Left-Drag\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:182
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:446
+msgid "Now, we set the Elevation at one end of the Siding.\n"
+msgstr "Nawr, rydyn ni'n gosod yr Drychiad ar un pen i'r seidin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:209
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:215
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:449
+msgid "We want to find the elevations where the 2 tracks cross.\n"
+msgstr "Rydyn ni am ddod o hyd i'r drychiadau lle mae'r 2 drac yn croesi.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:224
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:451
+msgid "We picked an End-Point on the upper track.\n"
+msgstr "Fe wnaethon ni ddewis End-Point ar y trac uchaf.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:452
+msgid ""
+"XTrackCAD has computed the Elevation (2.33\") at this point based on the "
+"Elevation at the siding and a combination of the of the first Elevations.\n"
+msgstr ""
+"Mae XTrackCAD wedi cyfrifo'r Drychiad (2.33\") ar y pwynt hwn yn seiliedig "
+"ar y Drychiad wrth y seidin a chyfuniad o'r Drychiadau cyntaf.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:453
+msgid ""
+"We create a Computed Elevation here that will be automatically adjusted "
+"whenever the other Elevations are changed.\n"
+msgstr ""
+"Rydym yn creu Drychiad Cyfrifedig yma a fydd yn cael ei addasu'n awtomatig "
+"pryd bynnag y bydd yr Drychiadau eraill yn cael eu newid.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:243
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:455
+msgid ""
+"The Compute Elevation is based on Elevations at end of both of the branches."
+" We may want to base the Elevation on only one branch. For example if one "
+"branch was the mainline we don't want the other branch affecting this "
+"Computed Elevation.\n"
+msgstr ""
+"Mae'r Drychiad Cyfrifiadurol yn seiliedig ar Drychiadau ar ddiwedd y ddwy "
+"gangen. Efallai y byddwn am seilio'r Drychiad ar un gangen yn unig. Er "
+"enghraifft, os mai un gangen oedd y brif reilffordd nid ydym am i'r gangen "
+"arall effeithio ar y Drychiad Cyfrifedig hwn.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:456
+msgid "We do this by Ignoring the branch we don't want.\n"
+msgstr "Rydyn ni'n gwneud hyn trwy Anwybyddu'r gangen nad ydyn ni ei eisiau.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:457
+msgid "We'll ignore the lower branch.\n"
+msgstr "Byddwn yn anwybyddu'r gangen isaf.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:258
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:459
+msgid ""
+"Notice at the endpoint where the tracks cross, we see the elevation has "
+"changed from 2.33 to 2.64.\n"
+msgstr ""
+"Sylwch ar y man terfyn lle mae'r traciau'n croesi, gwelwn fod y drychiad "
+"wedi newid o 2.33 i 2.64.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:264
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:461
+msgid "Now we want to know the elevation of the lower track.\n"
+msgstr "Nawr rydyn ni eisiau gwybod drychiad y trac isaf.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:274
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:463
+msgid "There is no endpoint on the lower track here.\n"
+msgstr "Nid oes diweddbwynt ar y trac isaf yma.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:464
+msgid ""
+"Use Shift-Left-Click to Split the track and create an endpoint we can use "
+"for an elevation,\n"
+msgstr ""
+"Defnyddiwch Shift-Left-Click i Rhannu'r trac a chreu pwynt terfyn y gallwn "
+"ei ddefnyddio ar gyfer drychiad,\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:287
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:466
+msgid "and create another Computed Elevation point.\n"
+msgstr "a chreu pwynt Drychiad Cyfrifedig arall.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:302
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:468
+msgid "Now we want to label the grade on this section of track.\n"
+msgstr "Nawr rydyn ni am labelu'r llethr ar y rhan hon o'r trac.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:311
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:470
+msgid ""
+"Again, since there is no endpoint nearby, we split the track to create an "
+"endpoint we can use,\n"
+msgstr ""
+"Unwaith eto, gan nad oes pwynt terfyn gerllaw, rydym yn rhannu'r trac i greu"
+" pwynt terfyn y gallwn ei ddefnyddio,\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:321
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:472
+msgid "and create a grade marker.\n"
+msgstr "a chreu marciwr llethr.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:335
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:474
+msgid "Note the marker has an arrow pointing in the upwards direction.\n"
+msgstr "Sylwch fod gan y marciwr saeth yn pwyntio i'r cyfeiriad i fyny.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:344
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:476
+msgid ""
+"The last thing we want to do is to create a Station label that we'll use in "
+"the <Profile> command.\n"
+msgstr ""
+"Y peth olaf yr ydym am ei wneud yw creu label Gorsaf y byddwn yn ei "
+"defnyddio yn yr <Profile> gorchymyn.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:358
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:478
+msgid "Now, set the Elevation to Station and enter the its name.\n"
+msgstr "Nawr, gosodwch y Drychiad i'r Orsaf a nodi'r enw.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:376
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:31
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:481
+msgid ""
+"XTrackCAD can help find tracks that are curved too sharply or are too steep."
+" These tracks are Exception tracks and are drawn in the Exception track "
+"color.\n"
+msgstr ""
+"Gall XTrackCAD helpu i ddod o hyd i draciau sy'n grwm yn rhy sydyn neu sy'n "
+"rhy serth. Traciau Eithriad yw'r traciau hyn ac fe'u tynnir yn lliw trac "
+"Eithriad.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:482
+msgid ""
+"In this example we have a curved track with radius of 9\" and a straight "
+"track with a grade of 3.8%.\n"
+msgstr ""
+"Yn yr enghraifft hon mae gennym drac crwm gyda radiws o 9\" a thrac syth "
+"gyda llethr o 3.8%.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:483
+msgid " \n"
+msgstr " \n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:39
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:485
+msgid ""
+"The Layout dialog shows the Minimum Track Radius is 9\" and the Maximum "
+"Track Grade is 5%.\n"
+msgstr ""
+"Mae'r ymgom Cynllun yn dangos mai'r Radiws Trac Isaf yw 9\" a'r Llethr Trac "
+"Uchaf yw 5%.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:48
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:487
+msgid ""
+"If we make the curved track sharper it will be drawn in the Exception "
+"color.\n"
+msgstr ""
+"Os gwnawn y trac crwm yn fwy craff bydd yn cael ei dynnu yn y lliw "
+"Eithriad.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:61
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:489
+msgid ""
+"If we make the straight track steeper it will also be drawn in the Exception"
+" color.\n"
+msgstr ""
+"Os gwnawn y trac syth yn fwy serth bydd hefyd yn cael ei dynnu yn y lliw "
+"Eithriad.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:78
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:491
+msgid ""
+"You can change the Exception color on the Colors dialog from the Options "
+"menu.\n"
+msgstr ""
+"Gallwch newid y lliw Eithriad ar y dialog Lliwiau o'r ddewislen Opsiynau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:85
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:21
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:494
+msgid ""
+"The unconnected endpoint of any track can also be extended with the <Modify>"
+" command using Right-Drag.\n"
+msgstr ""
+"Gellir ymestyn pwynt terfyn digyswllt unrhyw drac hefyd gyda'r <Modify> "
+"gorchymyn gan ddefnyddio Lusgo-Dde.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:26
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:496
+msgid "Select the endoint and Right-Drag.\n"
+msgstr "Dewiswch y diweddbwynt a'r Lusgo-Dde.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:34
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:498
+msgid "The extending track can be straight...\n"
+msgstr "Gall y trac ymestyn fod yn syth...\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:44
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:500
+msgid "... or curved.\n"
+msgstr "... neu grwm.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:51
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:502
+msgid ""
+"If you extend a straight or curved flex track and enable Easements then an "
+"Easement curve will be automatically generated when you extend the track.\n"
+msgstr ""
+"Os ydych chi'n ymestyn trac fflecs syth neu grwm ac yn galluogi Rhwyddinebau"
+" yna bydd cromlin Rhwyddineb yn cael ei chynhyrchu'n awtomatig pan fyddwch "
+"chi'n ymestyn y trac.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:65
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:124
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:505
+msgid "The <Flip> command will create a mirror image of the selected objects.\n"
+msgstr ""
+"Bydd y <Flip> gorchymyn yn creu delwedd ddrych o'r gwrthrychau a "
+"ddewiswyd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:131
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:507
+msgid "After selecting the object, drag a line which will form the mirror.\n"
+msgstr "Ar ôl dewis y gwrthrych, llusgwch linell a fydd yn ffurfio'r drych.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:140
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:509
+msgid "The mirror line does not have to be vertical or horizontal.\n"
+msgstr "Nid oes rhaid i'r llinell ddrych fod yn fertigol neu'n llorweddol.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:149
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:511
+msgid "You can also flip any number of objects.\n"
+msgstr "Gallwch hefyd fflipio unrhyw nifer o wrthrychau.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:512
+msgid "Watch what happens to the structure and turnout titles.\n"
+msgstr "Gwyliwch beth sy'n digwydd i'r strwythur a theitlau pwyntiau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:163
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:514
+msgid ""
+"Note that the turnout title has been changed from the Medium Right to Medium"
+" Left. When turnouts are flipped, XTrackCAD will try to find a matching "
+"turnout and if found will change the name.\n"
+msgstr ""
+"Sylwch fod teitl y pwynt wedi'i newid o'r Dde Canolig i'r Chwith Ganolig. "
+"Pan fydd y nifer sy'n pleidleisio yn cael eu fflipio, bydd XTrackCAD yn "
+"ceisio dod o hyd i'r nifer sy'n pleidleisio ac, os canfyddir, bydd yn newid "
+"yr enw.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:170
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:516
+msgid ""
+"Structures do not have Right and Left hand versions. Their title is changed"
+" to indicate that they were flipped.\n"
+msgstr ""
+"Nid oes gan strwythurau fersiynau llaw dde a chwith. Mae eu teitl yn cael ei"
+" newid i nodi iddynt gael eu fflipio.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:517
+msgid "You can use the <Describe> command to change their title.\n"
+msgstr "Gallwch ddefnyddio'r <Describe> gorchymyn i newid eu teitl.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:187
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:21
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:520
+msgid ""
+"The <Group> and <Ungroup> commands (on the Tools menu) are a powerful way to"
+" manipulate Turnout and Structure definitions.\n"
+msgstr ""
+"Mae'r gorchmynion <Group> a <Ungroup> (ar y ddewislen Offer) yn ffordd "
+"bwerus o drin diffiniadau Pwynt a Strwythur.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:521
+msgid "We'll start with a simple turnout and add a switch machine.\n"
+msgstr "Byddwn yn dechrau gyda phwynt syml ac yn ychwanegu modur pwynt.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:55
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:523
+msgid ""
+"Now that we have drawn a rough outline of a switch machine we will group it "
+"with the turnout definition.\n"
+msgstr ""
+"Nawr ein bod wedi tynnu amlinelliad bras o fodur pwynt byddwn yn ei grwpio "
+"gyda'r diffiniad pwynt.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:524
+msgid "First we Select the objects in the new definition.\n"
+msgstr "Yn gyntaf rydyn ni'n Dewis y gwrthrychau yn y diffiniad newydd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:68
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:526
+msgid "Now do the <Group> command.\n"
+msgstr "Nawr gwnewch y <Group> gorchymyn.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:75
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:528
+msgid ""
+"The <Group> command dialog shows the Title (Manufacturer, Description and "
+"Part Number) of the new definition. This information is taken from the "
+"Selected objects you are grouping.\n"
+msgstr ""
+"Mae'r ymgom <Group> gorchymyn yn dangos Teitl (Gwneuthurwr, Disgrifiad a "
+"Rhan Rhif) y diffiniad newydd. Daw'r wybodaeth hon o'r gwrthrychau Dethol "
+"rydych chi'n eu grwpio.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:81
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:530
+msgid ""
+"The 'Replace with new group?' toggle will replace the Selected objects with "
+"the new definition.\n"
+msgstr ""
+"Mae'r 'Amnewid gyda grŵp newydd?' bydd toggle yn disodli'r gwrthrychau "
+"Dethol gyda'r diffiniad newydd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:88
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:532
+msgid ""
+"If we don't change the Title then the new definition will replace the "
+"existing definition.\n"
+msgstr ""
+"Os na fyddwn yn newid y Teitl yna bydd y diffiniad newydd yn disodli'r "
+"diffiniad presennol.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:533
+msgid "We'll give this definition a new Description.\n"
+msgstr "Byddwn yn rhoi Disgrifiad newydd i'r diffiniad hwn.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:99
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:535
+msgid "We're done with this definition. Press Ok.\n"
+msgstr "Rydym wedi gwneud gyda'r diffiniad hwn. Pwyswch Ok.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:106
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:537
+msgid "You will see the updated image on the HotBar.\n"
+msgstr "Fe welwch y ddelwedd wedi'i diweddaru ar y Bar Poeth.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:113
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:539
+msgid ""
+"The <Ungroup> command replaces any Selected turnouts or structures with "
+"their parts.\n"
+msgstr ""
+"Mae'r <Ungroup> gorchymyn yn disodli unrhyw bwyntiau neu strwythurau Dethol "
+"â'u rhannau.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:540
+msgid ""
+"Structures and non-track segements of turnouts are composed of Lines, "
+"Circles and other shapes. In this turnout these are the two lines and the "
+"two squares.\n"
+msgstr ""
+"Mae strwythurau a rhaniadau pwyntiau nad ydynt yn drac yn cynnwys Llinellau,"
+" Cylchoedd a siapiau eraill. Yn y pwynt hwn dyma'r ddwy linell a'r ddwy "
+"sgwâr.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:541
+msgid ""
+"We will Ungroup this turnout and see how the individual parts can be "
+"changed.\n"
+msgstr ""
+"Byddwn yn Dadgrwpio'r pwynt hwn ac yn gweld sut y gellir newid y rhannau "
+"unigol.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:542
+msgid "First Select the turnout and then Ungroup it.\n"
+msgstr "Yn gyntaf Dewiswch y pwynt ac yna Dadgrwpiwch ef.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:128
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:544
+msgid "Notice that the Title now indicates the turnout is Ungrouped.\n"
+msgstr "Sylwch fod y Teitl bellach yn nodi bod y pwynt heb ei grwpio.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:545
+msgid "Hit Escape to deselect everything.\n"
+msgstr "Taro Esc i ddad-ddewis popeth.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:138
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:547
+msgid "Now Select the lines and squares.\n"
+msgstr "Nawr Dewiswch y llinellau a'r sgwariau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:163
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:549
+msgid ""
+"We could modify these object or add new ones. For now we'll just delete "
+"them.\n"
+msgstr ""
+"Gallem addasu'r gwrthrych hwn neu ychwanegu rhai newydd. Am y tro, byddwn yn"
+" eu dileu.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:170
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:551
+msgid "And move the Label out of the way.\n"
+msgstr "A symud y Label allan o'r ffordd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:181
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:553
+msgid "Notice that the turnout has been broken into three parts.\n"
+msgstr "Sylwch fod y pwynt wedi'i rannu'n dair rhan.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:203
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:555
+msgid ""
+"Two ends of the turnout, from the frog to the end of the diverging leg and "
+"from the points to the left, are now straight track sections.\n"
+msgstr ""
+"Mae dau ben y pwynt, o'r broga hyd at ddiwedd y goes sy'n dargyfeirio ac o'r"
+" pwyntiau i'r chwith, bellach yn adrannau trac syth.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:556
+msgid ""
+"The a turnout is made of a number of individual straight and curved track "
+"segements. This turnout had four segments:\n"
+msgstr ""
+"Gwneir y pwynt o nifer o segmentau trac syth a chrom. Roedd pedair segment "
+"i'r pwynt hwn:\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:557
+msgid " 1 a short straight segment to the left of the points\n"
+msgstr " 1 segment syth byr i'r chwith o'r pwyntiau\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:558
+msgid " 2 a long straight segment to the right of the points\n"
+msgstr " 2 segment hir syth i'r dde o'r pwyntiau\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:559
+msgid " 3 a curved segment from the points to the frog\n"
+msgstr " 3 segment crwm o'r pwyntiau i'r broga\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:560
+msgid " 4 a straight segment from the frog to the end of the diverging leg.\n"
+msgstr " 4 segment syth o'r broga hyd at ddiwedd y goes sy'n dargyfeirio.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:561
+msgid "The first and last segments have be converted to straight tracks.\n"
+msgstr "Mae'r segmentau cyntaf a'r olaf wedi'u trosi'n draciau syth.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:562
+msgid ""
+"The second and third segments form the the body of the turnout and can not "
+"be ungrouped further.\n"
+msgstr ""
+"Mae'r ail a'r drydedd segment yn ffurfio corff y pwynt ac ni ellir eu grwpio"
+" ymhellach.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:563
+msgid ""
+"You can later Group this turnout with the straight segments to recreate the "
+"turnout definition. You can also add other track segments to turnout "
+"definitions.\n"
+msgstr ""
+"Yn nes ymlaen, gallwch chi Grwpio'r pwynt hwn gyda'r segmentau syth i ail-"
+"greu'r diffiniad pwynt. Gallwch hefyd ychwanegu segmentau trac eraill at "
+"ddiffiniadau pwynt.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:247
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:565
+msgid "Now, create a track and place the new turnout on it.\n"
+msgstr "Nawr, crëwch drac a gosod y pwynt newydd arno.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:265
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:567
+msgid "Now suppose we want to replace the black squares with green circles.\n"
+msgstr ""
+"Nawr mae'n debyg ein bod ni eisiau disodli'r sgwariau du gyda chylchoedd "
+"gwyrdd.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:568
+msgid "First we Select the turnout.\n"
+msgstr "Yn gyntaf rydyn ni'n Dewis y pwynt.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:277
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:570
+msgid "And now Ungroup it (from the Tools Menu)\n"
+msgstr "Ac yn awr Dadgrwpiwch ef (o'r Ddewislen Offer)\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:282
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:572
+msgid ""
+"Notice that the name has changed to indicate the turnout was Ungrouped.\n"
+msgstr "Sylwch fod yr enw wedi newid i nodi bod y pwynt heb ei grwpio.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:288
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:574
+msgid ""
+"Now, hit escape to deselect everything and then Select the 2 squares and "
+"delete them.\n"
+msgstr ""
+"Nawr, tarwch Esc i ddad-ddewis popeth ac yna Dewiswch y 2 sgwâr a'u "
+"dileu..\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:305
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:576
+msgid "Now draw the green circles...\n"
+msgstr "Nawr lluniwch y cylchoedd gwyrdd...\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:326
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:578
+msgid "and Group the new definition.\n"
+msgstr "a Grwpio'r diffiniad newydd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:345
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:580
+msgid ""
+"Notice that the turnout in the HotBar is angled the same as the turnout on "
+"the layout. Make sure your new definition is rotated the way you want it.\n"
+msgstr ""
+"Sylwch fod y pwynt yn y HotBar yn ongl yr un peth â'r nifer a bleidleisiodd "
+"ar y cynllun. Sicrhewch fod eich diffiniad newydd yn cylchdroi yn y ffordd "
+"rydych chi ei eisiau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:384
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:582
+msgid "We can also create turnouts from simple straight and curved tracks.\n"
+msgstr "Gallwn hefyd greu pwyntiau o draciau syth syth a chrom.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:583
+msgid "We'll create two tracks that have a common endpoint.\n"
+msgstr "Byddwn yn creu dau drac sydd â diweddbwynt cyffredin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:395
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:585
+msgid ""
+"When we create the curve from the straight track endpoint we need to hold "
+"down the <Shift> key to prevent XTrackCAD from trying to join the two "
+"tracks.\n"
+msgstr ""
+"Pan fyddwn yn creu'r gromlin o ddiweddbwynt y trac syth mae angen i ni ddal "
+"i lawr y<Shift> allwedd i atal XTrackCAD rhag ceisio ymuno â'r ddau drac.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:413
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:587
+msgid "At this point we can modify the tracks if necessary.\n"
+msgstr "Ar y pwynt hwn gallwn addasu'r traciau os oes angen.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:588
+msgid "We will use the <Describe> command to change the tracks.\n"
+msgstr "Byddwn yn defnyddio'r <Describe> gorchymyn i newid y traciau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:425
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:590
+msgid "We'll make the Length 7.5\".\n"
+msgstr "Fe wnawn ni'r Hyd 7.5 \".\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:591
+msgid ""
+"If we change the Length, each End-Point will be moved to shorten the track."
+" We want to just move the Right End-Point. To control this, change the "
+"Lock to First which means the Left End-Point will be unchanged when we "
+"change the length (or angle) of the track.\n"
+msgstr ""
+"Os byddwn yn newid y Hyd, bydd pob End-Point yn cael ei symud i fyrhau'r "
+"trac. Rydym am symud y End End Point yn unig. I reoli hyn, newidiwch y Lock "
+"to First sy'n golygu na fydd y Pwynt Diwedd Chwith yn ddigyfnewid pan fyddwn"
+" yn newid hyd (neu ongl) y trac.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:435
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:593
+msgid "Now when change the Length only the Right End-Point will move.\n"
+msgstr "Nawr pan newidiwch y Hyd dim ond y Pwynt Diwedd Iawn fydd yn symud.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:446
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:595
+msgid "Now let's look at the curved track.\n"
+msgstr "Nawr, gadewch i ni edrych ar y trac crwm.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:456
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:597
+msgid ""
+"Here the Left End-Point (which we don't want to move) is the Second End-"
+"Point, so we'll make that the Lock.\n"
+msgstr ""
+"Yma y Pwynt Terfyn Chwith (nad ydym am ei symud) yw'r Ail Bwynt Diwedd, "
+"felly byddwn yn gwneud y Clo.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:464
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:599
+msgid "We want the curve to have a radius of 20\" and an angle of 17.5ᅵ.\n"
+msgstr "Rydym am i'r gromlin gael radiws o 20\" ac ongl o 17.5 gradd.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:600
+msgid "First change the Radius...\n"
+msgstr "Newid y Radiws yn gyntaf...\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:473
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:602
+msgid "and the the Angular Length.\n"
+msgstr "a'r Hyd Ongl.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:481
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:604
+msgid "Now Select both tracks...\n"
+msgstr "Nawr Dewiswch y ddau drac...\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:497
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:606
+msgid "and Group them.\n"
+msgstr "a'u Grwpio.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:508
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:608
+msgid ""
+"If the two tracks have a common End-Point then they will form a Turnout and "
+"can be switched with the <Train> command. Otherwise they will just be two "
+"track segments grouped together.\n"
+msgstr ""
+"Os oes gan y ddau drac Bwynt Diwedd cyffredin yna byddant yn ffurfio Pwynt a"
+" gellir eu newid gyda'r <Train> gorchymyn. Fel arall, dim ond dau segment "
+"trac fyddan nhw wedi'u grwpio gyda'i gilydd\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:515
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:610
+msgid ""
+"We have created a left hand turnout and we also want a right hand version.\n"
+msgstr ""
+"Rydym wedi creu nifer sy'n pleidleisio ar y chwith ac rydym hefyd eisiau "
+"fersiwn ar y dde.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:611
+msgid "We'll use the <Flip> command.\n"
+msgstr "Byddwn yn defnyddio'r <Flip> gorchymyn.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:528
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:613
+msgid "Drag a horizontal line that will be the mirror for the <Flip> command.\n"
+msgstr ""
+"Llusgwch linell lorweddol a fydd yn ddrych ar gyfer y <Flip> gorchymyn.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:538
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:615
+msgid "Notice the title has changed to Flipped Left.\n"
+msgstr "Sylwch fod y teitl wedi newid i Flipped Left.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:616
+msgid "Now Group the turnout.\n"
+msgstr "Nawr Grwpiwch y pwynt.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:547
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:618
+msgid "We'll change the Title and Part No for the new defintion.\n"
+msgstr "Byddwn yn newid y Teitl a Rhan Rhif ar gyfer y diffiniad newydd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:560
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:620
+msgid ""
+"To Remove the definitions, use the Custom Management dialog on the Tools "
+"menu.\n"
+msgstr ""
+"I Dileu'r diffiniadau, defnyddiwch y dialog Rheoli Custom ar y ddewislen "
+"Offer.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:565
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:622
+msgid "Select the definitions you added and Delete them.\n"
+msgstr "Dewiswch y diffiniadau y gwnaethoch chi eu hychwanegu a'u Dileu.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:578
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:625
+msgid ""
+"Now we will create a helix in the corner of the layout connected to 2 "
+"tracks.\n"
+msgstr ""
+"Nawr byddwn yn creu helics yng nghornel y cynllun wedi'i gysylltu â 2 "
+"drac.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:28
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:627
+#, c-format
+msgid ""
+"We will be creating a helix with a Elevation Difference of 12\", Grade of "
+"1.5% and limit the Vertical Separation to at least 2\".\n"
+msgstr ""
+"Byddwn yn creu helics gyda Gwahaniaeth Drychiad o 12\", Llethr o 1.5% ac yn "
+"cyfyngu'r Gwahaniad Fertigol i o leiaf 2\".\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:34
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:629
+msgid "First set the Elevation Difference to 12\"\n"
+msgstr "Yn gyntaf, gosodwch y Gwahaniaeth Drychiad i 12\"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:43
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:631
+msgid "Next set the Vertical Separation to 2\"\n"
+msgstr "Nesaf, gosodwch y Gwahaniad Fertigol i 2\"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:632
+msgid "Notice how this causes the number of Turns to be set to 6\n"
+msgstr "Sylwch ar sut mae hyn yn achosi i nifer y Troi gael eu gosod i 6\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:52
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:634
+msgid "Next set the Grade to 1.5%\n"
+msgstr "Nesaf gosodwch y Llethr i 1.5%\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:635
+msgid "Notice how this causes the Radius to change.\n"
+msgstr "Sylwch ar sut mae hyn yn achosi i'r Radiws newid.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:60
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:637
+msgid ""
+"Setting these values changes the Radius to 21.2\" and the number of Turns to"
+" 6.\n"
+msgstr ""
+"Mae gosod y gwerthoedd hyn yn newid y Radiws i 21.2\" a nifer y Troi i 6.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:66
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:639
+msgid ""
+"Now we specify the Angular Separation between the enterance and exit to the "
+"helix.\n"
+msgstr ""
+"Nawr rydym yn nodi'r Gwahaniad Ongl rhwng y fynedfa a'r allanfa i'r "
+"helics.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:640
+msgid "Note: this will decrease the Radius slightly.\n"
+msgstr "Sylwch: bydd hyn yn lleihau'r Radiws ychydig.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:76
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:642
+msgid "Next we can fine tune the helix by decreasing the Radius to 15\".\n"
+msgstr "Nesaf gallwn fireinio’r helics trwy ostwng y Radiws i 15\".\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:643
+msgid "Note the change to the Grade.\n"
+msgstr "Sylwch ar y newid i'r Llethr.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:85
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:645
+msgid ""
+"Lastly change the Vertical Separation to 2.5\". The number of Turns will "
+"change to 4 and the grade increase to almost 3%.\n"
+msgstr ""
+"Yn olaf, newidiwch y Gwahaniad Fertigol i 2.5 \". Bydd nifer y Troi yn newid"
+" i 4 a bydd y llethr yn cynyddu i bron i 3%.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:646
+msgid ""
+"Note: the Vertical Separation will be increased. This value is the "
+"Elevation Difference (12.0) divided by the total number of turns. The total"
+" number of turns is 4.25: 4 whole Turns plus a quarter turn for the Angular "
+"Separation.\n"
+msgstr ""
+"Sylwch: bydd y Gwahaniad Fertigol yn cynyddu. Y gwerth hwn yw'r Gwahaniaeth "
+"Drychiad (12.0) wedi'i rannu â chyfanswm y troadau. Cyfanswm y troadau yw "
+"4.25: 4 Troi cyfan ynghyd â chwarter tro ar gyfer y Gwahaniad Ongl.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:94
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:99
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:649
+msgid ""
+"Now that the helix parameters are set we can place the helix on the "
+"layout.\n"
+msgstr ""
+"Nawr bod paramedrau'r helics wedi'u gosod gallwn ni osod yr helics ar y "
+"cynllun.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:112
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:651
+msgid ""
+"Next, join the 2 straight tracks to the helix in the same way we join to a "
+"circle.\n"
+msgstr ""
+"Nesaf, ymunwch â'r 2 drac syth i'r helics yn yr un ffordd ag yr ydym yn "
+"ymuno â chylch.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:145
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:653
+msgid ""
+"Notice that the length has increased because we have more than 4 turns in "
+"the helix. It is closer to 4.25 turns.\n"
+msgstr ""
+"Sylwch fod y hyd wedi cynyddu oherwydd bod gennym fwy na 4 tro yn yr helics."
+" Mae'n agosach at 4.25 tro.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:155
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:655
+msgid ""
+"Next, we assign elevations to the 2 End-Points of the helix. This will "
+"determine the grade and separation between the helix coils.\n"
+msgstr ""
+"Nesaf, rydyn ni'n neilltuo drychiadau i 2 Bwynt Diwedd yr helics. Bydd hyn "
+"yn pennu'r llethr a'r gwahaniad rhwng y coiliau helics.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:656
+msgid ""
+"Note: we could set the elevations anywhere along the connecting tracks "
+"instead. XTrackCAD treats a helix as a single length of track for "
+"elevations.\n"
+msgstr ""
+"Sylwch: gallem osod y drychiadau yn unrhyw le ar hyd y traciau cysylltu yn "
+"lle. Mae XTrackCAD yn trin helics fel un darn o drac ar gyfer drychiadau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:176
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:658
+msgid ""
+"We have set the elevations to 1\" and 13\" to produce a grade of 3.0% with "
+"2.8\" between coils.\n"
+msgstr ""
+"Rydym wedi gosod y drychiadau i 1\" a 13\" i gynhyrchu llethr o 3.0% gyda "
+"2.8\" rhwng coiliau.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:659
+msgid ""
+"You can use the <Describe> command to change the number of Turns or the "
+"Elevations at either end of the Helix. This will affect the Grade and "
+"Vertical Separation.\n"
+msgstr ""
+"Gallwch ddefnyddio'r <Describe> gorchymyn i newid nifer y Troi neu'r "
+"Drychiadau ar bob pen i'r Helix. Bydd hyn yn effeithio ar y Llethr a Gwahanu"
+" Fertigol.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:184
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:661
+msgid "The helix description can be moved by the <Move Label> command.\n"
+msgstr "Gellir symud y disgrifiad helics gan y <Move Label> gorchymyn.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:194
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:664
+msgid ""
+"In addition to using the turnout definitions you can create 'Hand Laid "
+"Turnout'.\n"
+msgstr ""
+"Yn ogystal â defnyddio'r diffiniadau pwynt gallwch greu 'Pwynt Laid Llaw'.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:665
+msgid "This is two step process:\n"
+msgstr "Mae hon yn broses dau gam:\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:23
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:667
+msgid "1 - click on the frog and drag away to set the frog angle\n"
+msgstr "1 - cliciwch ar y broga a llusgwch i osod ongl y broga\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:29
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:669
+msgid ""
+" Hint: the further you drag from the frog, the more accurate the angle.\n"
+msgstr ""
+" Awgrym: po bellaf y byddwch chi'n llusgo o'r broga, y mwyaf cywir yw'r "
+"ongl.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:34
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:671
+msgid "2 - click and drag to set the position of the points\n"
+msgstr "2 - cliciwch a llusgwch i osod lleoliad y pwyntiau\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:42
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:673
+msgid "We can create Hand Laid Turnouts on curved tracks.\n"
+msgstr "Gallwn greu Pwyntiau wedi'u Gosod â Llaw ar draciau crwm.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:58
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:675
+msgid "A Hand Laid Turnout is composed of several parts.\n"
+msgstr "Mae Pwynt Laid â Llaw yn cynnwys sawl rhan.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:67
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:677
+msgid "The actual Turnout is a short portion at the points.\n"
+msgstr "Mae'r Pwynt go iawn yn gyfran fer ar y pwyntiau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:77
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:679
+msgid "The other parts are various straight and curved segments.\n"
+msgstr "Mae'r rhannau eraill yn wahanol segmentau syth a chrom.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:81
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:681
+msgid "The new curved turnout is also composed of several segments.\n"
+msgstr "Mae'r pwynt crwm newydd hefyd yn cynnwys sawl segment.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:107
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:7
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:684
+msgid "Welcome to the XTrackCAD demonstration.\n"
+msgstr "Croeso i arddangosiad XTrackCAD.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:685
+msgid ""
+"This will show some the features of XTrackCAD in an automated presentation."
+" This window contains a number of controls and a message area (which I hope"
+" you are reading now). \n"
+msgstr ""
+"Bydd hyn yn dangos rhai o nodweddion XTrackCAD mewn cyflwyniad awtomataidd. "
+"Mae'r ffenestr hon yn cynnwys nifer o reolaethau ac ardal neges (yr wyf yn "
+"gobeithio eich bod yn eu darllen nawr). \n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:686
+msgid "The controls are:\n"
+msgstr "Mae'r rheolaethau yn:\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:687
+msgid "Step - advances to the next step of the demo.\n"
+msgstr "Cam - symud ymlaen i gam nesaf y demo.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:688
+msgid "Next - skips ahead to the next demo.\n"
+msgstr "Nesaf - sgipiwch ymlaen i'r demo nesaf.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:689
+msgid "Quit - exits the demo and returns to XTrackCAD.\n"
+msgstr "Ymadael - yn gadael y demo ac yn dychwelyd i XTrackCAD.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:690
+msgid "Speed - controls the speed of the demo.\n"
+msgstr "Cyflymder - mae'n rheoli cyflymder y demo.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:691
+msgid "Click Step now for the next message.\n"
+msgstr "Cliciwch Cam nawr am y neges nesaf.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:23
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:693
+msgid ""
+"If this is the first time you have used the demo you may want to rearrange "
+"the windows so the demo window does not obscure the main window.\n"
+msgstr ""
+"Os mai hwn yw'r tro cyntaf i chi ddefnyddio'r demo efallai y byddwch am "
+"aildrefnu'r ffenestri fel nad yw'r ffenestr arddangos yn cuddio'r brif "
+"ffenestr.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:694
+msgid ""
+"You can move the demo window now by dragging on the title bar at the top of "
+"the window. I suggest you move it to the top of your screen.\n"
+msgstr ""
+"Gallwch chi symud y ffenestr arddangos nawr trwy lusgo ar y bar teitl ar ben"
+" y ffenestr. Rwy'n awgrymu eich bod chi'n ei symud i ben eich sgrin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:31
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:696
+msgid ""
+"The various controls are disabled when it would be inappropiate to click on "
+"them. When the demo is running the Step button is disabled. When the demo "
+"is paused the Step button is enabled and you can click it when you are ready"
+" to view the next part of the demo.\n"
+msgstr ""
+"Mae'r rheolyddion amrywiol yn anabl pan fyddai'n amhriodol clicio arnynt. "
+"Pan fydd y demo yn rhedeg mae'r botwm Step yn anabl. Pan fydd y demo wedi'i "
+"oedi mae'r botwm Step wedi'i alluogi a gallwch ei glicio pan fyddwch chi'n "
+"barod i weld rhan nesaf y demo.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:697
+msgid "You can click on Quit to return to XTrackCAD at any time.\n"
+msgstr "Gallwch glicio ar Quit i ddychwelyd i XTrackCAD ar unrhyw adeg.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:698
+msgid "You can adjust the speed of the demonstration with the Speed control.\n"
+msgstr "Gallwch addasu cyflymder yr arddangosiad gyda'r rheolaeth Cyflymder.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:60
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:700
+msgid "The demos are designed to fit within a certain sized window.\n"
+msgstr ""
+"Mae'r demos wedi'u cynllunio i ffitio o fewn ffenestr o faint penodol.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:701
+msgid ""
+"For best results, change the size of the main XTrackCAD window so the box "
+"shape is completely visible.\n"
+msgstr ""
+"I gael y canlyniadau gorau, newid maint prif ffenestr XTrackCAD fel bod siâp"
+" y blwch yn gwbl weladwy.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:702
+msgid "You can do this by clicking and dragging on a corner of the window.\n"
+msgstr "Gallwch wneud hyn trwy glicio a llusgo ar gornel o'r ffenestr.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:67
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:72
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:705
+msgid "This is the end of the introductory demo.\n"
+msgstr "Dyma ddiwedd y demo rhagarweiniol.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:706
+msgid ""
+"Please click Step for the next demo or click Quit to return to XTrackCAD.\n"
+msgstr ""
+"Cliciwch Cam ar gyfer y demo nesaf neu cliciwch ar Quit i ddychwelyd i "
+"XTrackCAD.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjcir.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:708
+msgid ""
+"You can also join to and from circles. This will change the circles to "
+"curves.\n"
+msgstr ""
+"Gallwch hefyd ymuno â chylchoedd ac oddi yno. Bydd hyn yn newid y cylchoedd "
+"i gromliniau.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:709
+msgid "In this example we will join two circles.\n"
+msgstr "Yn yr enghraifft hon, byddwn yn ymuno â dau gylch.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjcir.xtr:24
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:711
+msgid ""
+"Here we've selected points on the two circles. The direction of the "
+"connections (whether clockwise or counter clockwise) is controlled by where "
+"on the circle you select the connection points.\n"
+msgstr ""
+"Dyma ni wedi dewis pwyntiau ar y ddau gylch. Mae cyfeiriad y cysylltiadau "
+"(boed yn glocwedd neu'n wrthglocwedd) yn cael ei reoli gan ble ar y cylch "
+"rydych chi'n dewis y pwyntiau cysylltu.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjcir.xtr:133
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjcir.xtr:152
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:714
+msgid "Now let's try a cross connection.\n"
+msgstr "Nawr, gadewch i ni roi cynnig ar groes-gysylltiad.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjcir.xtr:246
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:716
+msgid ""
+"Note that the connection is from different 'ends' of the circle than in the "
+"last example.\n"
+msgstr ""
+"Sylwch fod y cysylltiad o wahanol 'bennau' y cylch nag yn yr enghraifft "
+"ddiwethaf.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnabut.xtr:22
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:718
+msgid "This examples shows joining tracks whose End-Points are aligned.\n"
+msgstr ""
+"Mae'r enghreifftiau hyn yn dangos traciau ymuno y mae eu pwyntiau diwedd "
+"wedi'u halinio.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:719
+msgid ""
+"Note the 2 pairs of tracks have End-Points that are close and aligned but "
+"not connected.\n"
+msgstr ""
+"Sylwch fod gan y 2 bâr o draciau Bwyntiau Terfyn sy'n agos ac wedi'u halinio"
+" ond heb gysylltiad.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnabut.xtr:30
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:721
+msgid "The first case joins the curve and straight track.\n"
+msgstr "Mae'r achos cyntaf yn ymuno â'r gromlin a'r trac syth.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnabut.xtr:40
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:723
+msgid "The second case will join the two straight tracks.\n"
+msgstr "Bydd yr ail achos yn ymuno â'r ddau drac syth.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnabut.xtr:50
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:725
+msgid "Note that the two straight tracks were combined to form one track.\n"
+msgstr "Sylwch fod y ddau drac syth wedi'u cyfuno i ffurfio un trac.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnabut.xtr:55
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjncs.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:728
+msgid ""
+"The <Join> command can also join straight and curved tracks (in either "
+"order).\n"
+msgstr ""
+"Gall yr <Join> gorchymyn hefyd ymuno â thraciau syth a chrom (yn y naill "
+"drefn neu'r llall).\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:729
+msgid "We will enable Cornu easements\n"
+msgstr "Byddwn yn galluogi hawddfreintiau Cornu\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjncs.xtr:32
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:731
+msgid "A connecting cornu track is drawn between the two tracks.\n"
+msgstr "Tynnir trac cornu cysylltiol rhwng y ddau drac.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjncs.xtr:41
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:733
+msgid ""
+"Notice that the curved track is extended as the connection point moves past "
+"the End-Point.\n"
+msgstr ""
+"Sylwch fod y trac crwm yn cael ei estyn wrth i'r pwynt cysylltu symud "
+"heibio'r End-Point.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjncs.xtr:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:735
+msgid ""
+"Here the connection makes the curved track wrap around. This is not a "
+"useful shape, there is a discontinuity at the end. \n"
+msgstr ""
+"Yma mae'r cysylltiad yn gwneud i'r trac crwm lapio o gwmpas. Nid yw hwn yn "
+"siâp defnyddiol, mae diffyg parhad ar y diwedd. \n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:736
+msgid "Adjusting the end point will fix it. \n"
+msgstr "Bydd addasu'r pwynt gorffen yn ei drwsio. \n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjncs.xtr:64
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnmove.xtr:18
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:739
+msgid "The <Join> command can move one group of tracks to join with another.\n"
+msgstr "Gall y <Join> gorchymyn symud un grŵp o draciau i ymuno ag un arall.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:740
+msgid ""
+"First <Select> the tracks you want to move with Ctrl so that they are both "
+"selected.\n"
+msgstr ""
+"Yn gyntaf <Select> y traciau rydych chi am eu symud gyda Ctrl fel bod y ddau"
+" ohonyn nhw'n cael eu dewis.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnmove.xtr:36
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:742
+msgid "Click <Join> and Shift-Left-Click on the two End-Points.\n"
+msgstr "Cliciwch <Join> a Shift-Left-Click ar y ddau Bwynt Diwedd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnmove.xtr:51
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:744
+msgid "The selected tracks are moved into position.\n"
+msgstr "Mae'r traciau a ddewiswyd yn cael eu symud i'w safle.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:746
+msgid ""
+"Two straight tracks can be joined by selecting the two endoints. The "
+"selected endpoints will be those closest to the cursor when the track is "
+"selected.\n"
+msgstr ""
+"Gellir ymuno â dau drac syth trwy ddewis y ddau bwynt terfyn. Y pwyntiau "
+"terfyn a ddewisir fydd y rhai agosaf at y cyrchwr pan ddewisir y trac.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:747
+msgid "First, we will select Easements None and then select Join\n"
+msgstr "Yn gyntaf, byddwn yn dewis Easements None ac yna'n dewis Ymunwch\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:26
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:749
+msgid "Now we select two points on the tracks\n"
+msgstr "Nawr rydyn ni'n dewis dau bwynt ar y cledrau\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:36
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:751
+msgid ""
+"A connecting track is drawn between the two tracks. Notice how it moves as "
+"the cursor is dragged along the second track.\n"
+msgstr ""
+"Tynnir trac cysylltu rhwng y ddau drac. Sylwch ar sut mae'n symud wrth i'r "
+"cyrchwr gael ei lusgo ar hyd yr ail drac.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:47
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:753
+msgid ""
+"Note that two tracks are extended if you move past the end of the track.\n"
+msgstr ""
+"Sylwch fod dau drac yn cael eu hymestyn os byddwch chi'n symud heibio i "
+"ddiwedd y trac.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:55
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:755
+msgid ""
+"Notice what happens if you drag past the intersection points of the two "
+"tracks.\n"
+msgstr ""
+"Sylwch ar yr hyn sy'n digwydd os llusgwch heibio i bwyntiau croestoriad y "
+"ddau drac.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:757
+msgid "This is probably not a very useful thing to do.\n"
+msgstr "Mae'n debyg nad yw hyn yn beth defnyddiol iawn i'w wneud.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:70
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:90
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:760
+msgid "Now we will do this with Cornu Easements \n"
+msgstr "Nawr byddwn yn gwneud hyn gyda Cornu Easements \n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:761
+msgid "First, we will select Easements Cornu and then select Join\n"
+msgstr "Yn gyntaf, byddwn yn dewis Easements Cornu ac yna'n dewis Ymunwch\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:102
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:763
+msgid "Now we again select two points on the tracks\n"
+msgstr "Nawr rydyn ni'n dewis dau bwynt ar y cledrau eto\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:112
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:765
+msgid ""
+"A connecting cornu is drawn between the two tracks. Notice how it behaves "
+"as the cursor is dragged along the second track.\n"
+msgstr ""
+"Tynnir cornu cysylltiol rhwng y ddau drac. Sylwch ar sut mae'n ymddwyn wrth "
+"i'r cyrchwr gael ei lusgo ar hyd yr ail drac.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:123
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:767
+msgid ""
+"Note that either tracks can be extended if you move past the end of it.\n"
+msgstr ""
+"Sylwch y gellir ymestyn y naill drac neu'r llall os byddwch chi'n symud "
+"heibio'r diwedd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:131
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:769
+msgid ""
+"Notice this time what happens if you drag past the intersection points of "
+"the two tracks.\n"
+msgstr ""
+"Sylwch y tro hwn beth sy'n digwydd os llusgwch heibio pwyntiau croestoriad y"
+" ddau drac.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:139
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:771
+msgid "This is more useful because you can move the other end as well.\n"
+msgstr ""
+"Mae hyn yn fwy defnyddiol oherwydd gallwch chi symud y pen arall hefyd..\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:150
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:773
+msgid "You can add a pin to constrain the Cornu Curve to pass through it.\n"
+msgstr "Gallwch ychwanegu pin i gyfyngu ar Gromlin Cornu i basio trwyddo.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:161
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:776
+msgid "You can connect from any track to a turntable\n"
+msgstr "Gallwch gysylltu o unrhyw drac i drofwrdd\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:777
+msgid "With a Cornu Easement you can have a turntable as the first point.\n"
+msgstr "Gyda Rhwyddineb Cornu gallwch gael trofwrdd fel y pwynt cyntaf.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:38
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:779
+msgid ""
+"You cannot place the connecting track too close to an existing stall track."
+" How close you can get is controlled by the Turntable Angle on the Setup "
+"dialog.\n"
+msgstr ""
+"Ni allwch osod y trac cysylltu yn rhy agos at drac stondin sy'n bodoli "
+"eisoes. Mae pa mor agos y gallwch ei gael yn cael ei reoli gan yr Ongl "
+"Turntable ar y dialog Setup.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:780
+msgid "In this example it is set to 15 degrees.\n"
+msgstr "Yn yr enghraifft hon mae wedi'i osod i 15 gradd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:782
+msgid "You can drag the connecting point all round the turntable.\n"
+msgstr "Gallwch lusgo'r pwynt cysylltu o amgylch y trofwrdd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:103
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:784
+msgid ""
+"As you drag away from the turntable a straight track will be drawn to the "
+"cursor postion and a curve will be drawn from the cursor to the connecting "
+"track.\n"
+msgstr ""
+"Wrth i chi lusgo i ffwrdd o'r trofwrdd tynnir trac syth at ystum y cyrchwr a"
+" thynnir cromlin o'r cyrchwr i'r trac cysylltu.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:111
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:786
+msgid ""
+"Now the cursor will be moved within the turntable, but the end stays on the "
+"edge of the well.\n"
+msgstr ""
+"Nawr bydd y cyrchwr yn cael ei symud o fewn y trofwrdd, ond mae'r diwedd yn "
+"aros ar ymyl y trofwrdd yn dda.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:161
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:788
+msgid "All done.\n"
+msgstr "Pawb wedi ei wneud.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:169
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:38
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:791
+msgid ""
+"The Draw Commands are used to draw straight and curved lines on the "
+"layout.\n"
+msgstr ""
+"Defnyddir y Gorchmynion Draw i dynnu llinellau syth a chrom ar y cynllun.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:46
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:793
+msgid ""
+"Lines are drawn by clicking at the starting postion and dragging to the "
+"final position.\n"
+msgstr ""
+"Tynnir llinellau trwy glicio ar y sefyllfa gychwyn a llusgo i'r safle "
+"terfynol.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:794
+msgid ""
+"By default, the new line will snap to existing objects. Hold down the <Alt>"
+" keys to prevent this from happening.\n"
+msgstr ""
+"Yn ddiofyn, bydd y llinell newydd yn snapio i wrthrychau sy'n bodoli eisoes."
+" Daliwch i lawr y <Alt> allweddi i atal hyn rhag digwydd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:91
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:796
+msgid "You also draw in various colors and line widths.\n"
+msgstr "Rydych hefyd yn tynnu lliwiau a lledau llinell amrywiol i mewn.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:110
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:798
+msgid "Like Curved Tracks, Curved Lines can be drawn by a variety of methods.\n"
+msgstr "Fel Traciau Crwm, gellir tynnu Llinellau Crwm trwy amryw o ddulliau.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:799
+msgid ""
+"Here we will draw a Curve by dragging from one End-Point to the other to "
+"define the chord of the Curve. Then we will drag from the center to shape "
+"the curve.\n"
+msgstr ""
+"Yma byddwn yn tynnu Cromlin trwy lusgo o un Pwynt Diwedd i'r llall i "
+"ddiffinio cord y Gromlin. Yna byddwn yn llusgo o'r canol i siapio'r "
+"gromlin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:185
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:801
+msgid "Boxes are useful for drawing rectangular shapes.\n"
+msgstr "Mae blychau yn ddefnyddiol ar gyfer llunio siapiau hirsgwar.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:195
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:803
+msgid ""
+"Circles can be drawn by clicking on the center or edge and dragging to set "
+"the radius.\n"
+msgstr ""
+"Gellir tynnu cylchoedd trwy glicio ar y canol neu'r ymyl a llusgo i osod y "
+"radiws.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:804
+msgid "Here we will drag from the edge to the Center.\n"
+msgstr "Yma byddwn yn llusgo o'r ymyl i'r Ganolfan.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:205
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:806
+msgid "Lines and Shapes can be deleted by Selecting and Deleting.\n"
+msgstr "Gellir dileu Llinellau a Siapiau trwy Dewis a Dileu.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:228
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:91
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:809
+msgid "We also draw Polylines and filled shapes.\n"
+msgstr "Rydym hefyd yn darlunio Polylines a siapiau wedi'u llenwi.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:98
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:811
+msgid ""
+"A Polyline is drawn by dragging to place each of the point in the "
+"Polyline.\n"
+msgstr "Tynnir Polyline trwy lusgo i osod pob un o'r pwynt yn y Polyline.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:125
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:813
+msgid ""
+"To finish off the Polyline press the <Space> key or choose another drawing "
+"type.\n"
+msgstr ""
+"I orffen y Polyline, pwyswch yr <Space> allwedd neu dewiswch fath llun "
+"arall.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:132
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:815
+msgid "A filled Polygon is drawn in the same way.\n"
+msgstr "Mae Polygon wedi'i lenwi yn cael ei dynnu yn yr un modd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:158
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:817
+msgid "When you are finished, press the <Space> key to complete the polygon.\n"
+msgstr ""
+"Pan fyddwch wedi gorffen, pwyswch yr <Space> allwedd i gwblhau'r polygon.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:165
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:819
+msgid ""
+"You can use the Above and Below Commands to move lines and shapes to the "
+"front or back of the drawing.\n"
+msgstr ""
+"Gallwch ddefnyddio'r Gorchmynion Uchod ac Isod i symud llinellau a siapiau i"
+" flaen neu gefn y llun.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:182
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:821
+msgid "Filled Boxes and Circles work the same as line Boxes and Circles.\n"
+msgstr ""
+"Mae Blychau a Chylchoedd wedi'u Llenwi yn gweithio yr un fath â Blychau a "
+"Chylchoedd llinell.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:199
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:8
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:824
+msgid ""
+"In the drawing area of the main window you can see an hollow upwards arrow "
+"which represents the mouse cursor. In this demo the mouse will move about "
+"to show you the actions of different commands.\n"
+msgstr ""
+"Yn ardal lunio'r brif ffenestr gallwch weld saeth wag tuag i fyny sy'n "
+"cynrychioli cyrchwr y llygoden. Yn y demo hwn bydd y llygoden yn symud o "
+"gwmpas i ddangos gweithredoedd gwahanol orchmynion i chi.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:825
+msgid ""
+"The hollow arrow represents the mouse cursor without a mouse button being "
+"pressed.\n"
+msgstr ""
+"Mae'r saeth wag yn cynrychioli cyrchwr y llygoden heb i botwm llygoden gael "
+"ei wasgu.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:827
+msgid ""
+"When the left mouse button would be pressed, the mouse cursor appears to "
+"flash and the hollow arrow is replaced by a solid left-pointing red arrow "
+"while the button is pressed.\n"
+msgstr ""
+"Pan fyddai botwm chwith y llygoden yn cael ei wasgu, mae'n ymddangos bod "
+"cyrchwr y llygoden yn fflachio a saeth goch sy'n pwyntio i'r chwith yn lle'r"
+" saeth wag wrth i'r botwm gael ei wasgu.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:828
+msgid ""
+"Note: these color changes occur only during the demo to simulate mouse "
+"button presses.\n"
+msgstr ""
+"Sylwch: dim ond yn ystod y demo i efelychu gweisg botwm llygoden y mae'r "
+"newidiadau lliw hyn yn digwydd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:24
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:830
+msgid "Moving the mouse while a mouse button is pressed is called 'dragging'.\n"
+msgstr ""
+"Yr enw ar symud y llygoden tra bod botwm llygoden yn cael ei wasgu yw "
+"'llusgo'.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:32
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:832
+msgid ""
+"When the left mouse button is released, the mouse cursor flashes and the "
+"hollow up black arrow is restored.\n"
+msgstr ""
+"Pan fydd botwm chwith y llygoden yn cael ei ryddhau, mae cyrchwr y llygoden "
+"yn fflachio ac mae'r saeth ddu wag i fyny yn cael ei hadfer.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:40
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:834
+msgid ""
+"Dragging with the right button is simulated by a blue right-facing solid "
+"cursor.\n"
+msgstr ""
+"Mae llusgo gyda'r botwm cywir yn cael ei efelychu gan gyrchwr solet glas "
+"sy'n wynebu'r dde.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:49
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:836
+msgid "Release Right Click\n"
+msgstr "Rhyddhau De-gliciwch\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:57
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:62
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:839
+msgid "Sometimes the Shift key is held down while using the mouse \n"
+msgstr ""
+"Weithiau mae'r allwedd Shift yn cael ei dal i lawr wrth ddefnyddio'r "
+"llygoden \n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:840
+msgid ""
+"This is indicated by an outlined arrow with the letter S near the arrow.\n"
+msgstr "Nodir hyn gan saeth wedi'i amlinellu gyda'r llythyren S ger y saeth.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:71
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:842
+msgid ""
+"The left mouse button is held down with the Shift and dragged for a Left-"
+"Shift-Drag. \n"
+msgstr ""
+"Mae botwm chwith y llygoden yn cael ei ddal i lawr gyda'r Shift a'i lusgo am"
+" Drag-Shift-Drag. \n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:86
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:844
+msgid "Sometimes the Control key is held down while using the mouse. \n"
+msgstr ""
+"Weithiau mae'r allwedd Rheoli yn cael ei dal i lawr wrth ddefnyddio'r "
+"llygoden. \n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:845
+msgid ""
+"This is indicated with an upward filled arrow head with the letter C near "
+"the arrow \n"
+msgstr ""
+"Nodir hyn gyda phen saeth wedi'i lenwi ar i fyny gyda'r llythyren C ger y "
+"saeth \n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:98
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:847
+msgid ""
+"If while the Control is held the Left mouse button is held down it is a "
+"Ctrl-Move and a Ctrl-Left-Drag. \n"
+msgstr ""
+"Er bod botwm chwith y llygoden yn cael ei ddal i lawr, mae'n Ctrl-Move ac yn"
+" Ctrl-Left-Drag-Drag. \n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:848
+msgid ""
+"This is indicated by an an left-facing open-headed arrow with the letter C "
+"near it.\n"
+msgstr ""
+"Dynodir hyn gan saeth pen agored sy'n wynebu'r chwith gyda'r llythyren C yn "
+"agos ati.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:114
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:850
+msgid "You can also use the Control key with the Right mouse button. \n"
+msgstr "Gallwch hefyd ddefnyddio'r allwedd Rheoli gyda botwm De'r llygoden. \n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:851
+msgid ""
+"This is indicated with a right-facing filled arrow with an open arrow head "
+"and the letter C near the arrow \n"
+msgstr ""
+"Nodir hyn gyda saeth wedi'i llenwi ar yr ochr dde gyda phen saeth agored a'r"
+" llythyren C ger y saeth \n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:130
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:23
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:854
+msgid ""
+"The main drawing area shows a portion of total layout. You can zoom in or "
+"zoom out by choosing 'Zoom In' or 'Zoom Out' in the 'Edit' menu, by using "
+"the Zoom buttons on the toolbar or by using the 'Page Down' and 'Page Up' "
+"keys.\n"
+msgstr ""
+"Mae'r brif ardal arlunio yn dangos cyfran o gyfanswm y cynllun. Gallwch chi "
+"chwyddo i mewn neu chwyddo allan trwy ddewis 'Zoom In' neu 'Zoom Out' yn y "
+"ddewislen 'Edit', trwy ddefnyddio'r botymau Zoom ar y bar offer neu trwy "
+"ddefnyddio'r bysellau 'Page Down' a 'Page Up'.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:855
+msgid "You can see the entire layout in the Map window.\n"
+msgstr "Gallwch weld y cynllun cyfan yn ffenestr y Map.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:33
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:857
+msgid "As you Zoom Out tracks are drawn with one line instead of two.\n"
+msgstr ""
+"Wrth i chi Chwyddo Mae traciau'n cael eu tynnu gydag un llinell yn lle "
+"dwy.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:49
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:860
+msgid ""
+"You can change what portion of the layout is shown by using the 'Map' window"
+" which shows a compressed version of the entire layout. A hilighted area of"
+" the 'Map' (in blue highlight) shows what portion of the layout is displayed"
+" in the main drawing area.\n"
+msgstr ""
+"Gallwch newid pa ran o'r cynllun a ddangosir trwy ddefnyddio'r ffenestr "
+"'Map' sy'n dangos fersiwn gywasgedig o'r cynllun cyfan. Mae rhan hiliol o'r "
+"'Map' (mewn uchafbwynt glas) yn dangos pa ran o'r cynllun sy'n cael ei "
+"harddangos yn y brif ardal arlunio.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:861
+msgid ""
+"You can Left-Drag the hilighted area in the Map window to change the "
+"displayed portion of the layout.\n"
+msgstr ""
+"Gallwch Chwith-Llusgwch yr ardal hilighted yn ffenestr y Map i newid y rhan "
+"o'r cynllun sydd wedi'i harddangos.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:863
+msgid ""
+"You can also Right-Drag on the Map window to set the scale and position of "
+"the Main window.\n"
+msgstr ""
+"Gallwch hefyd Dde-Llusgo ar ffenestr y Map i osod graddfa a lleoliad y Brif "
+"ffenestr.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:72
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmnotes.xtr:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:866
+msgid ""
+"The <Note> command lets you attach notes to various spots on the layout.\n"
+msgstr ""
+"Mae'r <Note> gorchymyn yn caniatáu ichi atodi nodiadau i wahanol smotiau ar "
+"y cynllun.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmnotes.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:868
+msgid ""
+"When you place a note, the Note editor window is displayed which lets you "
+"enter the note.\n"
+msgstr ""
+"Pan osodwch nodyn, arddangosir ffenestr golygydd y Nodyn sy'n caniatáu ichi "
+"nodi'r nodyn.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmnotes.xtr:22
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:870
+msgid ""
+"If you click on a note in <Describe> mode the Note editor displays the "
+"note.\n"
+msgstr ""
+"Os cliciwch ar nodyn mewn <Describe> modd, mae golygydd y Nodyn yn arddangos"
+" y nodyn.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmnotes.xtr:39
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:872
+msgid "This is the end of the XTrackCAD Demos.\n"
+msgstr "Dyma ddiwedd y Demos XTrackCAD.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:873
+msgid "Click Step to return to XTrackCAD.\n"
+msgstr "Cliciwch Step i ddychwelyd i XTrackCAD.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:874
+msgid "Thanks for watching.\n"
+msgstr "Diolch am wylio.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:32
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:876
+msgid "This example shows how to create parallel tracks.\n"
+msgstr "Mae'r enghraifft hon yn dangos sut i greu traciau cyfochrog.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:37
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:878
+msgid ""
+"The separation is set in the <Parallel Separation> window. You should set "
+"this value before you begin to select tracks.\n"
+msgstr ""
+"Mae'r gwahaniad wedi'i osod yn yr <Parallel Separation> ffenestr. Dylech "
+"osod y gwerth hwn cyn i chi ddechrau dewis traciau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:49
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:880
+msgid ""
+"You control which side the parallel track will be on by moving the cursor "
+"from one side of the track centerline to the other.\n"
+msgstr ""
+"Chi sy'n rheoli ar ba ochr y bydd y trac cyfochrog ymlaen trwy symud y "
+"cyrchwr o un ochr i linell ganol y trac i'r llall.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:81
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:882
+msgid "When you release the mouse button the new parallel track is created.\n"
+msgstr ""
+"Pan fyddwch chi'n rhyddhau botwm y llygoden mae'r trac cyfochrog newydd yn "
+"cael ei greu.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:883
+msgid ""
+"Note that the <Parallel> command remains active after you created the track."
+" This is controlled by the Sticky dialog in the Options menu.\n"
+msgstr ""
+"Sylwch fod y <Parallel> gorchymyn yn parhau i fod yn weithredol ar ôl i chi "
+"greu'r trac. Rheolir hyn gan y dialog Gludiog yn y ddewislen Opsiynau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:92
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:885
+msgid "You cannot create a track parallel to a turnout.\n"
+msgstr "Ni allwch greu trac yn gyfochrog â'r nifer sy'n pleidleisio.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:172
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:887
+msgid ""
+"Note that the new curved track is automatically connected to the short "
+"parallel track.\n"
+msgstr ""
+"Sylwch fod y trac crwm newydd wedi'i gysylltu'n awtomatig â'r trac cyfochrog"
+" byr.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:180
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:19
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:890
+msgid ""
+"Polylines and polygons (created with the <Draw> command) can be modified by "
+"dragging on their corners or edges.\n"
+msgstr ""
+"Gellir addasu polylines a pholygonau (a grëwyd gyda'r <Draw> gorchymyn) trwy"
+" lusgo ar eu corneli neu eu hymylon.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:891
+msgid "First Left Click on the shape you want to modify.\n"
+msgstr "Cliciwch ar y Chwith Gyntaf ar y siâp rydych chi am ei addasu.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:29
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:893
+msgid "Then drag on the point you want to move\n"
+msgstr "Yna llusgwch ar y pwynt rydych chi am ei symud\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:39
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:895
+msgid "And finally press the Space bar to finish the change\n"
+msgstr "Ac yn olaf, pwyswch y bar Gofod i orffen y newid\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:897
+msgid "If you select the middle of an Edge a new Corner is created.\n"
+msgstr "Os dewiswch ganol Ymyl mae Cornel newydd yn cael ei chreu.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:72
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:899
+msgid "To delete a corner, select and then press Delete or Backspace\n"
+msgstr "I ddileu cornel, dewiswch ac yna pwyswch Delete or Backspace\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:98
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:901
+msgid "But you cannot have a Poly-shape with less than 3 sides.\n"
+msgstr "Ond ni allwch gael siâp Poly gyda llai na 3 ochr.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:126
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:126
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:904
+msgid ""
+"To use the <Profile> command you first need to define Elevations on your "
+"layout.\n"
+msgstr ""
+"I ddefnyddio'r <Profile> gorchymyn, yn gyntaf mae angen i chi ddiffinio "
+"Drychiadau ar eich cynllun.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:905
+msgid "In this example we'll use the Elevations defined in the last example.\n"
+msgstr ""
+"Yn yr enghraifft hon, byddwn yn defnyddio'r Drychiadau a ddiffiniwyd yn yr "
+"enghraifft ddiwethaf.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:906
+msgid "You can move or resize the Profile dialog now if you want.\n"
+msgstr ""
+"Gallwch chi symud neu newid maint y dialog Proffil nawr os ydych chi "
+"eisiau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:135
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:908
+msgid ""
+"To show the Profile you need to select a Path on the tracks of your "
+"layout.\n"
+msgstr ""
+"I ddangos y Proffil mae angen i chi ddewis Llwybr ar draciau eich cynllun.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:909
+msgid "Select a Defined Elevation point (marked by Gold dots).\n"
+msgstr "Dewiswch bwynt Drychiad Diffiniedig (wedi'i farcio gan ddotiau Aur).\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:910
+msgid "We will start with the right end of the siding.\n"
+msgstr "Byddwn yn dechrau gyda phen dde'r seidin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:148
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:912
+msgid ""
+"The second Point is at the left end of the siding. The Path will be drawn "
+"in Purple on the layout.\n"
+msgstr ""
+"Mae'r ail Bwynt ar ben chwith y seidin. Bydd y Llwybr yn cael ei dynnu mewn "
+"Porffor ar y cynllun.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:160
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:914
+msgid "Now select the end of one of the Branches\n"
+msgstr "Nawr dewiswch ddiwedd un o'r Canghennau\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:169
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:916
+msgid ""
+"The Profile line is drawn in Red. This indicates that there some turnouts "
+"on that section of the Path which have more than 2 connections.\n"
+msgstr ""
+"Mae'r llinell Proffil wedi'i thynnu mewn Coch. Mae hyn yn dangos bod rhai yn"
+" pleidleisio ar y rhan honno o'r Llwybr sydd â mwy na 2 gysylltiad.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:917
+msgid ""
+"The grade on this part of the Path is the average and may be affected by "
+"other Elevations, such the end of the lower branch.\n"
+msgstr ""
+"Y llethr ar y rhan hon o'r Llwybr yw'r cyfartaledd a gall Drychiadau eraill "
+"effeithio arno, megis diwedd y gangen isaf.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:178
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:919
+msgid "Now try to select the End-Point of the other branch.\n"
+msgstr "Nawr ceisiwch ddewis End-Point y gangen arall.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:920
+msgid ""
+"You will get an error message because there is no route to one of the ends "
+"of the existing Path.\n"
+msgstr ""
+"Fe gewch neges gwall oherwydd nad oes llwybr i un o bennau'r Llwybr "
+"presennol.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:187
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:922
+msgid ""
+"In this case remove the last part of the Path by clicking on current end of "
+"the Path and reselect the End-Point.\n"
+msgstr ""
+"Yn yr achos hwn, tynnwch ran olaf y Llwybr trwy glicio ar ben cyfredol y "
+"Llwybr ac ail-ddewis y End End.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:198
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:924
+msgid "Notice that the Grade has changed on the Profile.\n"
+msgstr "Sylwch fod y Radd wedi newid ar y Proffil.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:205
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:926
+msgid ""
+"You can Ignore End-Points on the Path by using Shift-Right-Click to display "
+"the Profile Options popup menu and chosing Ignore.\n"
+msgstr ""
+"Gallwch Anwybyddu Pwyntiau Terfynol ar y Llwybr trwy ddefnyddio Shift-Right-"
+"Click i arddangos y ddewislen naidlen Opsiynau Proffil a dewis Anwybyddu.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:927
+msgid ""
+"Note: We can't show the menu in demo mode but we will show the effect of a "
+"Shift Right Click and selecting ignore. We will be Ignoring the End-Point "
+"of the Turnout that is not on the Path.\n"
+msgstr ""
+"Nodyn: Ni allwn ddangos y ddewislen yn y modd demo ond byddwn yn dangos "
+"effaith Cliciwch ar y Dde a dewis anwybyddu. Byddwn yn Anwybyddu Pwynt "
+"Diwedd y nifer a bleidleisiodd nad yw ar y Llwybr.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:217
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:929
+msgid "Notice that part of the Profile line is redrawn in Blue.\n"
+msgstr "Sylwch fod rhan o'r llinell Proffil wedi'i hail-lunio mewn Glas.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:930
+msgid ""
+"Also, the Computed Elevations and Grade marker on the right side of the "
+"layout have been updated.\n"
+msgstr ""
+"Hefyd, mae'r Drychiadau Cyfrifedig a'r marciwr Gradd ar ochr dde'r cynllun "
+"wedi'u diweddaru.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:225
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:932
+msgid ""
+"You can set additional Defined Elevation points using the Profile Options "
+"popup menu. These points are added to the Profile if they are on the "
+"Path.\n"
+msgstr ""
+"Gallwch chi osod pwyntiau Drychiad Diffiniedig ychwanegol gan ddefnyddio'r "
+"ddewislen naidlen Opsiynau Proffil. Ychwanegir y pwyntiau hyn at y Proffil "
+"os ydynt ar y Llwybr.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:933
+msgid ""
+"We do this by Shift Right Click to display the Profile Options popup menu "
+"and selecting Define.\n"
+msgstr ""
+"Rydym yn gwneud hyn trwy Shift Right Click i arddangos y ddewislen naidlen "
+"Opsiynau Proffil a dewis Diffinio.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:237
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:935
+msgid ""
+"We've just added a Defined Elevation point to the middle of the lower "
+"branch. Notice the addition on the Profile dialog.\n"
+msgstr ""
+"Rydyn ni newydd ychwanegu pwynt Drychiad Diffiniedig i ganol y gangen isaf. "
+"Sylwch ar yr ychwanegiad ar y dialog Proffil.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:246
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:937
+msgid ""
+"For the siding we defined a Station name but it's not on the Path, since the"
+" Path takes the shortest distance between points.\n"
+msgstr ""
+"Ar gyfer y seidin, gwnaethom ddiffinio enw Gorsaf ond nid yw ar y Llwybr, "
+"gan fod y Llwybr yn cymryd y pellter byrraf rhwng pwyntiau.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:938
+msgid ""
+"We can Ignore one of the End-Points on a Turnout to force the Path to take "
+"the other route.\n"
+msgstr ""
+"Gallwn Anwybyddu un o'r Pwyntiau Terfynol ar y nifer sy'n pleidleisio i "
+"orfodi'r Llwybr i gymryd y llwybr arall.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:939
+msgid ""
+"Again we use Shift-Right-Click to display the Profile Options menu and "
+"select ignore.\n"
+msgstr ""
+"Unwaith eto rydym yn defnyddio Shift-Right-Click i arddangos y ddewislen "
+"Opsiynau Proffil a dewis anwybyddu.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:258
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:941
+msgid "Now remove the First section of the Path,\n"
+msgstr "Nawr tynnwch ran gyntaf y Llwybr,\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:268
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:943
+msgid "and reselect it.\n"
+msgstr "a'i ail-ddewis.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:277
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:945
+msgid ""
+"Now the Path goes through the Station End-Point and the name appears on the "
+"Profile dialog.\n"
+msgstr ""
+"Nawr mae'r Llwybr yn mynd trwy End-Point yr Orsaf ac mae'r enw'n ymddangos "
+"ar y dialog Proffil.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:286
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:947
+msgid "Now we need to increase the separation where the tracks cross.\n"
+msgstr "Nawr mae angen i ni gynyddu'r gwahaniad lle mae'r traciau'n croesi.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:948
+msgid ""
+"The two Elevations you see here are Computed Elevations which means "
+"XTrackCAD dynamically computes the Elevation based on the Elevations of "
+"connecting tracks.\n"
+msgstr ""
+"Y ddau Ddrychiad a welwch yma yw Drychiadau Cyfrifedig sy'n golygu bod "
+"XTrackCAD yn cyfrifo'r Drychiad yn ddeinamig yn seiliedig ar Ddrychiadau "
+"traciau cysylltu.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:949
+msgid ""
+"First make the lower End-Point a Defined Elevation point using Shift-Right-"
+"Click and the Profile Options menu. You will see the End-Point marked by a "
+"Gold dot and a new line is added to the Profile dialog.\n"
+msgstr ""
+"Yn gyntaf gwnewch y End-Point isaf yn bwynt Drychiad Diffiniedig gan "
+"ddefnyddio Shift-Right-Click a'r ddewislen Opsiynau Proffil. Fe welwch y "
+"End-Point wedi'i farcio â dot Aur ac ychwanegir llinell newydd at y dialog "
+"Proffil.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:297
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:951
+msgid "Now, drag the point on the Profile Dialog to change the Elevation.\n"
+msgstr "Nawr, llusgwch y pwynt ar y Dialog Proffil i newid y Drychiad.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:952
+msgid ""
+"Note the grade on each side of the point will be displayed at the bottom of "
+"the Profile dialog.\n"
+msgstr ""
+"Sylwch y bydd y llethr ar bob ochr i'r pwynt yn cael ei arddangos ar waelod "
+"y dialog Proffil.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:319
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:954
+msgid ""
+"After we release the Profile is updated to show the new Elevation and "
+"Grade.\n"
+msgstr ""
+"Ar ôl i ni ryddhau mae'r Proffil yn cael ei ddiweddaru i ddangos y Drychiad "
+"a'r Llethr newydd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:326
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:119
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:957
+msgid "The <Rescale> command will change the size of the selected objects.\n"
+msgstr "Bydd y <Rescale> gorchymyn yn newid maint y gwrthrychau a ddewiswyd.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:958
+msgid "First we will try rescaling by ratio.\n"
+msgstr "Yn gyntaf byddwn yn ceisio ail-raddio yn ôl cymhareb.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:126
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:960
+msgid "We are going to make everything 150% bigger.\n"
+msgstr "Rydyn ni'n mynd i wneud popeth 150% yn fwy.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:136
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:962
+msgid "Note the track gauge did not change.\n"
+msgstr "Sylwch na newidiodd mesurydd y trac.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:143
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:964
+msgid "Let's try that again.\n"
+msgstr "Gadewch i ni roi cynnig ar hynny eto.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:965
+msgid "Now we are going to convert from one scale to another.\n"
+msgstr "Nawr rydyn ni'n mynd i drosi o un raddfa i'r llall.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:154
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:967
+msgid "We will convert everything from N scale to HO scale...\n"
+msgstr "Byddwn yn trosi popeth o raddfa N i raddfa HO ...\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:161
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:969
+msgid "and change the track gauge as well.\n"
+msgstr "a newid mesurydd y trac hefyd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:169
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:971
+msgid "Note that the Title of the turnout did not change.\n"
+msgstr "Sylwch na newidiodd Teitl y nifer a bleidleisiodd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:177
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrotate.xtr:72
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:974
+msgid ""
+"The <Rotate> command will pivot the Selected objects. First Click on the "
+"pivot point and then drag to Rotate the objects.\n"
+msgstr ""
+"Bydd yr <Rotate> gorchymyn yn colynio'r gwrthrychau Dethol. Yn gyntaf "
+"Cliciwch ar y pwynt colyn ac yna llusgwch i Gylchdroi'r gwrthrychau.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:975
+msgid ""
+"In this example we will rotate the selected structure about it's center.\n"
+msgstr ""
+"Yn yr enghraifft hon, byddwn yn cylchdroi'r strwythur a ddewiswyd ynghylch "
+"ei ganol.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrotate.xtr:135
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:977
+msgid ""
+"The <Rotate> command will restrict the rotation to increments of 15° if you "
+"hold down the <Shift> and <Ctrl> keys.\n"
+msgstr ""
+"Bydd yr <Rotate> gorchymyn yn cyfyngu'r cylchdro i gynyddrannau o 15° os "
+"ydych chi'n dal y bysellau <Shift> a <Ctrl> i lawr.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrotate.xtr:316
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:979
+msgid ""
+"There are Rotate options that you can access by Shift-Right-Click command "
+"menu and choosing 'Rotate...'.\n"
+msgstr ""
+"Mae yna opsiynau Cylchdroi y gallwch eu cyrchu trwy ddewislen gorchymyn "
+"Shift-Right-Click a dewis 'Rotate ...'.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:980
+msgid ""
+"You can rotate the selected object by a fixed rotatation (15, 30, 45, 90, "
+"180) either clockwise or counter-clockwise, or by manually entering any "
+"angle.\n"
+msgstr ""
+"Gallwch chi gylchdroi'r gwrthrych a ddewiswyd trwy gylchdroi sefydlog (15, "
+"30, 45, 90, 180) naill ai'n glocwedd neu'n wrthglocwedd, neu trwy fynd i "
+"mewn i unrhyw ongl â llaw.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:981
+msgid ""
+"The other option is 'Align' which allows you align selected objects with an "
+"unselected object. This is useful to align railside buildings with track.\n"
+msgstr ""
+"Y dewis arall yw 'Alinio' sy'n eich galluogi i alinio gwrthrychau dethol â "
+"gwrthrych heb ei ddewis. Mae hyn yn ddefnyddiol i alinio adeiladau ar ochr y"
+" rheilffordd â'r trac.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:982
+msgid "Unfortunately, we can not currently demonstrate these features.\n"
+msgstr "Yn anffodus, ni allwn arddangos y nodweddion hyn ar hyn o bryd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrotate.xtr:529
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmruler.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:985
+msgid ""
+"The <Ruler> command draws a Ruler on the layout you can use to measure "
+"distances.\n"
+msgstr ""
+"Mae'r <Ruler> gorchymyn yn tynnu Pren mesur ar y cynllun y gallwch ei "
+"ddefnyddio i fesur pellteroedd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmruler.xtr:24
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:987
+msgid "If you press the <Ruler> command again the Ruler is removed.\n"
+msgstr "Os gwasgwch y <Ruler> gorchymyn eto tynnir y Pren mesur.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmruler.xtr:32
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:989
+msgid "But you can place it somewhere else.\n"
+msgstr "Ond gallwch chi ei osod yn rhywle arall.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmruler.xtr:42
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:173
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:992
+msgid "The <Select> command is used to select tracks.\n"
+msgstr "Defnyddir y <Select> gorchymyn i ddewis trac.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:993
+msgid "Selected tracks can be moved or rotated during the <Select> command.\n"
+msgstr ""
+"Gellir symud neu gylchdroi traciau dethol yn ystod y <Select> gorchymyn.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:994
+msgid "Selected tracks can also be deleted, hidden, listed and exported.\n"
+msgstr "Gellir dileu, cuddio, rhestru ac allforio traciau dethol hefyd.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:995
+msgid ""
+"When you move the cursor near a track that could be selected, the track is "
+"drawn with think blue lines.\n"
+msgstr ""
+"Pan symudwch y cyrchwr ger trac y gellid ei ddewis, tynnir y trac gyda "
+"llinellau meddwl glas.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:184
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:997
+msgid "A Left-Click selects a track\n"
+msgstr "Mae Clic Chwith yn dewis trac\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:192
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:999
+msgid ""
+"The selected track will have red X's drawn where it is connected to "
+"unselected tracks. This indicates where the track will be disconnected if "
+"the selected tracks are moved, rotated or deleted.\n"
+msgstr ""
+"Bydd gan y trac a ddewiswyd X coch wedi'u tynnu lle mae wedi'i gysylltu â "
+"thraciau heb eu dethol. Mae hyn yn nodi lle bydd y trac yn cael ei "
+"ddatgysylltu os bydd y traciau a ddewiswyd yn cael eu symud, eu cylchdroi "
+"neu eu dileu.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1000
+msgid "A Ctrl-Left-Click adds tracks to the selection\n"
+msgstr "Mae Ctrl-Chwith-Clic yn ychwanegu traciau at y dewis\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:211
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1002
+msgid "Selecting a selected track re-selects only it.\n"
+msgstr "Mae dewis trac a ddewiswyd yn ei ail-ddewis yn unig.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:219
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1004
+msgid "Selecting off all tracks de-selects them.\n"
+msgstr "Mae dewis pob trac yn eu dad-ddewis.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:227
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:232
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1007
+msgid ""
+"To demonstrate Select Connected, first select two tracks at the end of a "
+"part to be selected \n"
+msgstr ""
+"I arddangos Select Connected, dewiswch ddau drac yn gyntaf ar ddiwedd rhan "
+"i'w dewis \n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:248
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1009
+msgid ""
+"Shift-Left-Click on a track will select all unselected tracks connected to "
+"the track. Selection stops at a previously selected track.\n"
+msgstr ""
+"Bydd Shift-Left-Click ar drac yn dewis pob trac heb ei ddewis sy'n "
+"gysylltiedig â'r trac. Mae'r dewis yn stopio ar drac a ddewiswyd o'r "
+"blaen.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:260
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1011
+msgid ""
+"Be careful with this because its very easy to select all tracks this way\n"
+msgstr ""
+"Byddwch yn ofalus gyda hyn oherwydd ei bod yn hawdd iawn dewis pob trac fel "
+"hyn\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:274
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1013
+msgid "The <esc> key will deselect all objects.\n"
+msgstr "Bydd yr <esc> allwedd yn dad-ddewis pob gwrthrych.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:282
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:287
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1016
+msgid "Left-Drag is used to select all objects within an area.\n"
+msgstr "Defnyddir Left-Drag i ddewis yr holl wrthrychau o fewn ardal.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:295
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1018
+msgid "Shift-Left-Drag is used to move selected tracks.\n"
+msgstr "Defnyddir Shift-Left-Drag i symud traciau dethol.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1019
+msgid ""
+"When you move selected tracks that are connected to unselected tracks, the "
+"tracks will be disconnected. These points are marked by a Red cross on the "
+"layout.\n"
+msgstr ""
+"Pan fyddwch chi'n symud traciau dethol sydd wedi'u cysylltu â thraciau heb "
+"eu dethol, bydd y traciau'n cael eu datgysylltu. Mae'r pwyntiau hyn wedi'u "
+"marcio gan groes Goch ar y layout.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1020
+msgid ""
+"If the unconnected end point of a track and one being moved are close "
+"enough, two circles are displayed, showing where the tracks will be snapped "
+"together. \n"
+msgstr ""
+"Os yw pwynt gorffen digyswllt trac ac un sy'n cael ei symud yn ddigon agos, "
+"arddangosir dau gylch, sy'n dangos lle bydd y traciau'n cael eu cydio yn ei "
+"gilydd. \n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:313
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1022
+msgid "Let's move the Main window to see what's going on next\n"
+msgstr "Gadewch i ni symud y Brif ffenestr i weld beth sy'n digwydd nesaf\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:320
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1024
+msgid ""
+"Ctrl-Left-Drag rotates the selected tracks about the pivot point (which is "
+"where you started the drag)\n"
+msgstr ""
+"Mae Ctrl-Left-Drag yn cylchdroi'r traciau a ddewiswyd am y pwynt colyn (dyna"
+" lle gwnaethoch chi ddechrau'r llusgo)\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:382
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:387
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1027
+msgid "Next we select the <Join Tracks> command to demonstrate \"Move To Join\" \n"
+msgstr ""
+"Nesaf byddwn yn dewis y <Join Tracks> gorchymyn i ddangos \"Symud i Ymuno\""
+" \n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:392
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1029
+msgid ""
+"You can use Shift-Left-Click to select an open endpoint of a selected track "
+"to join with an unselected track. \n"
+msgstr ""
+"Gallwch ddefnyddio Shift-Left-Click i ddewis pwynt terfyn agored o drac "
+"dethol i ymuno â thrac heb ei ddewis. \n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1030
+msgid "We'll move the Main window again.\n"
+msgstr "Byddwn yn symud y Brif ffenestr eto.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:415
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1032
+msgid ""
+"You then Left-Click on an endpoint of a unselected track to move the "
+"selected tracks to join. \n"
+msgstr ""
+"Yna byddwch yn Chwith-gliciwch ar ddiweddbwynt trac heb ei ddewis i symud y "
+"traciau a ddewiswyd i ymuno. \n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:430
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:30
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1035
+msgid "The <Split> command is used to split and disconnect tracks.\n"
+msgstr "Defnyddir yr<Split> gorchymyn i rannu a datgysylltu traciau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:35
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1037
+msgid "Simply select the spot on the track you want to split.\n"
+msgstr "Dewiswch y fan a'r lle ar y trac rydych chi am ei rannu.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1038
+msgid "You cannot split turnouts (unless you hold down the Shift key).\n"
+msgstr ""
+"Ni allwch rannu pwyntiau (oni bai eich bod yn dal y fysell Shift i lawr).\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:48
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1040
+msgid ""
+"If you split at spot that is already an End-Point between two tracks, or "
+"split twice at the same spot, the track is disconnected.\n"
+msgstr ""
+"Os ydych chi'n hollti yn y fan a'r lle sydd eisoes yn End-Point rhwng dau "
+"drac, neu'n rhannu ddwywaith yn yr un fan, mae'r trac wedi'i ddatgysylltu.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:60
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:65
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1043
+msgid "The <Tunnel> command marks selected tracks as hidden.\n"
+msgstr "Mae'r <Tunnel> gorchymyn yn nodi traciau dethol fel rhai cudd.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1044
+msgid ""
+"A tunnel portal is drawn at the boundary between hidden and normal track.\n"
+msgstr "Tynnir porth twnnel ar y ffin rhwng trac cudd a thrac arferol.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1045
+msgid ""
+"How the hidden tracks are drawn (solid, dashed or invisible) is controlled "
+"by the Draw EndPts radio button group on the Setup dialog.\n"
+msgstr ""
+"Mae sut mae'r traciau cudd yn cael eu tynnu (solid, wedi'u chwalu neu "
+"anweledig) yn cael eu rheoli gan y grŵp botwm radio Draw EndPts ar y dialog "
+"Setup.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:86
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1047
+msgid "To 'un-hide' a track just Select it again and click the Tunnel button.\n"
+msgstr "I 'ddad-guddio' trac, Dewiswch ef eto a chliciwch ar y botwm Twnnel.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:100
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmstrtrk.xtr:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1050
+msgid ""
+"Straight tracks are created by selecting the first End-Point of the track.\n"
+msgstr "Mae traciau syth yn cael eu creu trwy ddewis End-Point cyntaf y trac.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmstrtrk.xtr:12
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1052
+msgid "Then the other End-Point is dragged to its final postion.\n"
+msgstr "Yna mae'r End-Point arall yn cael ei lusgo i'w safle olaf.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmstrtrk.xtr:20
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1054
+msgid "The left mouse button is released at the final end postion.\n"
+msgstr "Mae botwm chwith y llygoden yn cael ei ryddhau yn y sefyllfa olaf.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmstrtrk.xtr:27
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtbledg.xtr:23
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1057
+msgid ""
+"Table Edges are used to mark the edges of the layout, either for aisles or "
+"room walls.\n"
+msgstr ""
+"Defnyddir Ymylon Tabl i farcio ymylon y cynllun, naill ai ar gyfer eiliau "
+"neu waliau ystafell.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtbledg.xtr:47
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1059
+msgid ""
+"A Table Edge is attracted to other objects, unless you hold down the Alt "
+"key.\n"
+msgstr ""
+"Mae Edge Table yn cael ei ddenu at wrthrychau eraill, oni bai eich bod yn "
+"dal y fysell Alt i lawr.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtbledg.xtr:145
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1061
+msgid "Table Edges can be modified by dragging on their ends.\n"
+msgstr "Gellir addasu Ymylon Tabl trwy lusgo ar eu pennau.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtbledg.xtr:193
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1063
+msgid ""
+"Unless you hold down the Alt key while dragging then the Table Edge will be "
+"attracted to other objects.\n"
+msgstr ""
+"Oni bai eich bod yn dal y fysell Alt i lawr wrth lusgo yna bydd y Table Edge"
+" yn cael ei ddenu at wrthrychau eraill.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtbledg.xtr:231
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtodes.xtr:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1066
+msgid ""
+"These examples shows some of the various Turnout Designer windows. Each "
+"window defines a different type of turnout.\n"
+msgstr ""
+"Mae'r enghreifftiau hyn yn dangos rhai o'r ffenestri Dylunydd Pwynt "
+"amrywiol. Mae pob ffenestr yn diffinio pwynt gwahanol.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1067
+msgid ""
+"In each window there are a number of parameters to fill in and one or two "
+"description lines.\n"
+msgstr ""
+"Ymhob ffenestr mae yna nifer o baramedrau i'w llenwi ac un neu ddwy linell "
+"ddisgrifio.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1068
+msgid "You can print the design to check the dimensions before saving them.\n"
+msgstr "Gallwch argraffu'r dyluniad i wirio'r dimensiynau cyn eu cadw.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtodes.xtr:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1070
+msgid "This is the regular turnout.\n"
+msgstr "Dyma'r pwynt rheolaidd.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1071
+msgid ""
+"In addition to the dimensions, you also enter the Title (Manufacturer, "
+"Description and Part Number). For Turnouts with Left and Right hand "
+"versions there are separate Descriptions and Part Numbers.\n"
+msgstr ""
+"Yn ogystal â'r dimensiynau, rydych hefyd yn nodi'r Teitl (Gwneuthurwr, "
+"Disgrifiad a Rhan Rhif). Ar gyfer Pwyntiau gyda fersiynau Chwith a De, mae "
+"Disgrifiadau a Rhifau Rhan ar wahân.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1072
+msgid ""
+"Some Turnouts and Sectional track are pre-mounted on roadbed. For these "
+"parts you can specify the width of the roadbed, the thickness of the lines "
+"drawn for the edge of the roadbed and the color.\n"
+msgstr ""
+"Mae rhai Pwyntiau a thrac Adrannol wedi'u gosod ymlaen llaw ar wely ffordd. "
+"Ar gyfer y rhannau hyn gallwch nodi lled y gwely ffordd, trwch y llinellau a"
+" dynnir ar gyfer ymyl y gwely ffordd a'r lliw.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtodes.xtr:30
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1074
+msgid "The double slip switch is described by only a few parameters.\n"
+msgstr "Dim ond ychydig o baramedrau sy'n disgrifio'r switsh slip dwbl.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtodes.xtr:40
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1076
+msgid "The double crossover only needs length and track separation.\n"
+msgstr "Dim ond gwahanu hyd a thrac sydd ei angen ar y croesiad dwbl.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtodes.xtr:48
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:30
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1079
+msgid ""
+"Pressing the turnout button displays the Turnout Selection window to let you"
+" choose a turnout to place.\n"
+msgstr ""
+"Mae pwyso'r botwm pwynt yn dangos y ffenestr Dewis Pwynt i adael i chi "
+"ddewis y nifer sy'n pleidleisio i'w gosod.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1080
+msgid ""
+"Note that once you start to place the turnout on the Main window the Turnout"
+" Selection window disappears. This feature is enabled by the Hide toggle "
+"button on the dialog.\n"
+msgstr ""
+"Sylwch, ar ôl i chi ddechrau gosod y nifer a bleidleisiodd ar y Brif "
+"ffenestr, mae'r ffenestr Dewis Pwynt yn diflannu. Mae'r nodwedd hon wedi'i "
+"galluogi gan y botwm Cuddio toggle ar y dialog.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:38
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1082
+msgid ""
+"You can place the turnout on a arbitrary position on the layout. Left-drag "
+"the turnout into place...\n"
+msgstr ""
+"Gallwch chi roi'r pwynt ar safle mympwyol ar y cynllun. Chwith-llusgwch y "
+"pwynt i'w le ......\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:85
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1084
+msgid "Then you can rotate the turnout by Right dragging.\n"
+msgstr "Yna gallwch chi gylchdroi'r pwynt trwy lusgo Iawn.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1085
+msgid ""
+"You can also use Shift-Right-Click to display a popup menu that lets you "
+"rotate the Turnout by specific angles.\n"
+msgstr ""
+"Gallwch hefyd ddefnyddio Shift-Right-Click i arddangos dewislen naidlen sy'n"
+" caniatáu ichi gylchdroi'r Pwynt yn ôl onglau penodol.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:136
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1087
+msgid ""
+"When you are satisfied with the position and orientation of the turnout "
+"press Space bar or the Return key on the keyboard to finish placing the "
+"turnout.\n"
+msgstr ""
+"Pan fyddwch chi'n fodlon â lleoliad a chyfeiriadedd y pwynt, pwyswch Bar "
+"Gofod neu'r allwedd Dychwelyd ar y bysellfwrdd i orffen gosod y pwynt.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1088
+msgid ""
+"Pressing the Close button on the Turnout dialog will end the <Turnout> "
+"command as well as placing the turnout.\n"
+msgstr ""
+"Bydd pwyso'r botwm Close ar y dialog Point yn dod â'r <Turnout> gorchymyn i "
+"ben yn ogystal â gosod y pwynt.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:146
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:189
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1091
+msgid ""
+"If you drag along an existing track the new turnout will be attached to the "
+"track.\n"
+msgstr ""
+"Os llusgwch ar hyd trac sy'n bodoli eisoes bydd y pwynt newydd ynghlwm wrth "
+"y trac.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1092
+msgid ""
+"Note that the status line tells you the number of End-Points that would be "
+"connected and, the maximum displacement of the End-Points. This will be "
+"useful when building complex track, as we will see later.\n"
+msgstr ""
+"Sylwch fod y llinell statws yn dweud wrthych nifer y Pwyntiau Diwedd a "
+"fyddai wedi'u cysylltu ac uchafswm dadleoliad y Pwyntiau Terfynol. Bydd hyn "
+"yn ddefnyddiol wrth adeiladu trac cymhleth, fel y gwelwn yn nes ymlaen.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:220
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1094
+msgid ""
+"By moving the cursor from one side to the other of the track centerline you "
+"can flip the turnout 180ᅵ.\n"
+msgstr ""
+"Trwy symud y cyrchwr o un ochr i'r llall o linell ganol y trac gallwch "
+"fflipio'r pwynt 180 gradd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:236
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1096
+msgid ""
+"If you try to drag across another turnout the new turnout will placed at the"
+" nearest End-Point of the existing turnout.\n"
+msgstr ""
+"Os ceisiwch lusgo ar draws pwynt arall bydd y pwynt newydd yn cael ei osod "
+"yn y Pwynt Diwedd agosaf at y pwynt presennol.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:299
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1098
+msgid ""
+"When you press Space or Return while the turnout is on a track, the track "
+"will be split and the new turnout attached automatically.\n"
+msgstr ""
+"Pan fyddwch yn pwyso Gofod neu Ddychweliad tra bod y pwynt ar drac, bydd y "
+"trac yn cael ei rannu a bydd y pwynt newydd yn cael ei atodi'n awtomatig.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:307
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:366
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1101
+msgid "Pressing Close ends the <Turnout> command.\n"
+msgstr "Mae Pressing Close yn dod â'r <Turnout> gorchymyn i ben.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:372
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:21
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1104
+msgid "Sometimes it's useful to modify turnouts triming one of the ends.\n"
+msgstr "Weithiau mae'n ddefnyddiol addasu pwyntiau gan docio un o'r pennau.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1105
+msgid "We use the <Split> command for this.\n"
+msgstr "Rydym yn defnyddio'r <Split> gorchymyn ar gyfer hyn.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:28
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1107
+msgid "Normally, if we try to Split a turnout we get an error message.\n"
+msgstr "Fel rheol, os ceisiwn Hollti pwynt rydym yn cael neges gwall.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:37
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1109
+msgid "Hold down the Shift key and try again.\n"
+msgstr "Daliwch y fysell Shift i lawr a rhoi cynnig arall arni.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:52
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1111
+msgid ""
+"The end of the turnout has been replaced by a piece of straight flex track "
+"which we can modify.\n"
+msgstr ""
+"Mae diwedd y pwynt wedi'i ddisodli gan ddarn o drac fflecs syth y gallwn ei "
+"addasu.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1113
+msgid "We can try splitting the diverging leg.\n"
+msgstr "Gallwn geisio rhannu'r goes sy'n dargyfeirio.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:74
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1115
+msgid ""
+"Notice that the tail of the diverging leg has been changed to a curved "
+"track...\n"
+msgstr ""
+"Sylwch fod cynffon y goes sy'n dargyfeirio wedi'i newid i drac crwm...\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:84
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1117
+msgid "and a straight track.\n"
+msgstr "a thrac syth.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:92
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:12
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1120
+msgid ""
+"This example show how to layout a yard using the <Turnout> and <Parallel> "
+"commands.\n"
+msgstr ""
+"Mae'r enghraifft hon yn dangos sut i osod iard gan ddefnyddio'r gorchmynion "
+"<Turnout> a<Parallel>.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:17
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1122
+msgid ""
+"You can resize and move the Turnout Selection dialog if it obscures the "
+"other windows.\n"
+msgstr ""
+"Gallwch newid maint a symud y dialog Dewis Pwynt os yw'n cuddio'r ffenestri "
+"eraill.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1123
+msgid "First we place a turnout on the main line.\n"
+msgstr "Yn gyntaf rydyn ni'n gosod pwynt ar y brif reilffordd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:35
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1125
+msgid "Next extend the turnout with the <Modify> command.\n"
+msgstr "Nesaf, estynnwch y nifer sy'n pleidleisio gyda'r <Modify> gorchymyn.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:46
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1127
+msgid ""
+"Now create a track parallel to the main line. Make sure the separation is "
+"reasonable for your scale.\n"
+msgstr ""
+"Nawr crëwch drac sy'n gyfochrog â'r brif linell. Sicrhewch fod y gwahaniad "
+"yn rhesymol ar gyfer eich graddfa.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:62
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1129
+msgid "And place a turnout to connect the new track.\n"
+msgstr "A gosod pwynt i gysylltu'r trac newydd.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1130
+msgid "We'll zoom in here to see what's going on.\n"
+msgstr "Byddwn yn chwyddo i mewn yma i weld beth sy'n digwydd.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:78
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1132
+msgid ""
+"Notice how we control which way the turnout is facing by moving the mouse "
+"across the center line of the track.\n"
+msgstr ""
+"Sylwch ar sut rydyn ni'n rheoli pa ffordd mae'r pwynt yn wynebu trwy symud y"
+" llygoden ar draws llinell ganol y trac.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:94
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1134
+msgid ""
+"The Status bar displays the number of auto-connections that will be made and"
+" the maximum offset.\n"
+msgstr ""
+"Mae'r bar Statws yn dangos nifer y cysylltiadau auto a fydd yn cael eu "
+"gwneud a'r gwrthbwyso uchaf.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1135
+msgid ""
+"XTrackCAD adjusts the turnout position for the best fit to minimize any "
+"connection offset\n"
+msgstr ""
+"Mae XTrackCAD yn addasu'r safle pwynt ar gyfer y ffit orau i leihau unrhyw "
+"gysylltiadau i ffwrddet\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:106
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1137
+msgid "Note that placing the turnout splits the parallel track.\n"
+msgstr "Sylwch fod gosod y pwynt yn hollti'r trac cyfochrog..\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1138
+msgid "We have to delete the leftover piece by Selecting and Deleting it.\n"
+msgstr "Mae'n rhaid i ni ddileu'r darn dros ben trwy Ei Ddethol a'i Ddileu..\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:120
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1140
+msgid "Repeat the process for the other tracks in the yard.\n"
+msgstr "Ailadroddwch y broses ar gyfer y traciau eraill yn yr iard.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:149
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1142
+msgid "For the last track we will join with a curve instead of a turnout.\n"
+msgstr "Ar gyfer y trac olaf byddwn yn ymuno â chromlin yn lle pwynt.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:185
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrkwid.xtr:91
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1145
+msgid "We can indicate the mainline by making the rails wider.\n"
+msgstr "Gallwn nodi'r brif reilffordd trwy wneud y cledrau'n lletach.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1146
+msgid "First we select the mainline tracks...\n"
+msgstr "Yn gyntaf rydyn ni'n dewis y traciau prif reilffordd ...\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrkwid.xtr:128
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1148
+msgid "And then select Medium Tracks from the Edit menu.\n"
+msgstr "Ac yna dewiswch Traciau Canolig o'r ddewislen Golygu.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1149
+msgid "We can't show the Edit menu, but we can show the effect.\n"
+msgstr "Ni allwn ddangos y ddewislen Golygu, ond gallwn ddangos yr effaith..\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrkwid.xtr:137
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1151
+msgid "We can make the rail thicker by selecting Thick Tracks.\n"
+msgstr ""
+"Gallwn wneud y rheilffordd yn fwy trwchus trwy ddewis Traciau Trwchus.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrkwid.xtr:148
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrntab.xtr:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1154
+msgid ""
+"Turntables are created by specifying the radius in a dialog box on the "
+"Status Bar. The radius in the dialog can be changed before proceeding.\n"
+msgstr ""
+"Mae trofyrddau'n cael eu creu trwy nodi'r radiws mewn blwch deialog ar y Bar"
+" Statws. Gellir newid y radiws yn y dialog cyn bwrw ymlaen.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrntab.xtr:15
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1156
+msgid "Then the turntable is dragged to its final location.\n"
+msgstr "Yna mae'r trofwrdd yn cael ei lusgo i'w leoliad olaf.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrntab.xtr:22
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:433
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1159
+msgid "Introduction"
+msgstr "Cyflwyniad"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:434
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1161
+msgid "Mouse Actions"
+msgstr "Camau Llygoden"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:435
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1163
+msgid "Dialogs"
+msgstr "Deialogau"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:436
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1165
+msgid "Moving about"
+msgstr "Symud o gwmpas"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:437
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1167
+msgid "Describe and Select"
+msgstr "Disgrifio a Dewis"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:438
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1169
+msgid "Describe"
+msgstr "Disgrifiwch"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:440
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1173
+msgid "Simple tracks"
+msgstr "Traciau syml"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:441
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1175
+msgid "Straight tracks"
+msgstr "Traciau syth"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:442
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1177
+msgid "Curved tracks"
+msgstr "Traciau crwm"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:443
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1179
+msgid "Circles"
+msgstr "Cylchoedd"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:444
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1181
+msgid "Turntables"
+msgstr "Trofyrddau"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:445
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1183
+msgid "Modifying tracks"
+msgstr "Addasu traciau"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:446
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1185
+msgid "Modifying end points "
+msgstr "Addasu pwyntiau gorffen"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:447
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1187
+msgid "Extending"
+msgstr "Ymestyn"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:448
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1189
+msgid "Medium and Thick Tracks"
+msgstr "Traciau Canolig a Thiubh"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:449
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1191
+msgid "Joining Tracks"
+msgstr "Ymuno Traciau"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:450
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1193
+msgid "Straight to straight"
+msgstr "Syth i syth"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:451
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1195
+msgid "Curve to straight"
+msgstr "Cromlin i syth"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:452
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1197
+msgid "Circle to circle"
+msgstr "Cylchwch i gylch"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:453
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1199
+msgid "Joining to turntables"
+msgstr "Ymuno â throfyrddau"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:454
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1201
+msgid "Easements"
+msgstr "Rhwyddinebau"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:455
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1203
+msgid "Abutting tracks"
+msgstr "Traciau cyffiniol"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:456
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1205
+msgid "Move to Join"
+msgstr "Symud i Ymuno"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:458
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1209
+msgid "Select and Placement"
+msgstr "Dewis a Lleoli"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:459
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1211
+msgid "Building a yard throat."
+msgstr "Adeiladu gwddf iard.."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:460
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1213
+msgid "Designing turnouts"
+msgstr "Dylunio pwyntiau"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:461
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1215
+msgid "Group and Ungroup"
+msgstr "Grŵp ac Ungroup"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:462
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1217
+msgid "Triming Turnout Ends"
+msgstr "Diwedd Pwynt Trimio"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:463
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1219
+msgid "Handlaid Turnouts"
+msgstr "Pwyntiau wedi'u Llawio"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:464
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1221
+msgid "Elevations and Profile"
+msgstr "Drychiadau a Phroffil"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:465
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1223
+msgid "Elevations"
+msgstr "Drychiadau"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:467
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1227
+msgid "Misc track commands"
+msgstr "Gorchmynion trac amrywiol"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:468
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1229
+msgid "Delete and Undo"
+msgstr "Dileu a Dadwneud"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:469
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1231
+msgid "Splitting and Tunnels"
+msgstr "Hollti a Thwneli"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:471
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1235
+msgid "Helix tracks"
+msgstr "Traciau Helix"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:472
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1237
+msgid "Exception Tracks"
+msgstr "Traciau Eithriad"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:474
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1241
+msgid "Connect and Tighten - a siding"
+msgstr "Cysylltu a Thynhau - seidin"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:475
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1243
+msgid "Connect and Tighten - figure-8"
+msgstr "Cysylltu a Thynhau - ffigur-8"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:476
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1245
+msgid "Other commands"
+msgstr "Gorchmynion eraill"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:478
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1249
+msgid "Table Edges"
+msgstr "Ymylon Tabl"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:480
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1253
+msgid "Dimension Lines"
+msgstr "Llinellau Dimensiwn"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:481
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1255
+msgid "Lines"
+msgstr "Llinellau"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:482
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1257
+msgid "Poly-Shapes"
+msgstr "Siapiau Poly"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:483
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1259
+msgid "Modifying Poly-Shapes"
+msgstr "Addasu Siapiau Poly"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:486
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1265
+msgid "Control Panels"
+msgstr "Paneli Rheoli"
diff --git a/app/i18n/de_DE.po b/app/i18n/de_DE.po
index b04c92d..c5f91d9 100644
--- a/app/i18n/de_DE.po
+++ b/app/i18n/de_DE.po
@@ -1,1895 +1,1942 @@
-#
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# Adam J M Richards <adamjmrichards@gmail.com>, 2021
+# Martin Fischer <m_fischer@users.sourceforge.net>, 2021
+#
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: XTrackCAD 5.2.0\n"
+"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-07-23 19:08+0200\n"
-"PO-Revision-Date: 2020-07-23 19:11+0200\n"
-"Last-Translator: \n"
-"Language-Team: German <m_fischer@users.sourceforge.net>\n"
+"POT-Creation-Date: 2021-11-14 06:45-0800\n"
+"PO-Revision-Date: 2020-08-27 16:39+0000\n"
+"Last-Translator: Martin Fischer <m_fischer@users.sourceforge.net>, 2021\n"
+"Language-Team: German (Germany) (https://www.transifex.com/xtrackcad/teams/112853/de_DE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: de\n"
-"X-Generator: Poedit 2.4\n"
-
-#: ../bin/archive.c:178 ../bin/archive.c:185 ../bin/archive.c:214
-#: ../bin/archive.c:239 ../bin/archive.c:294 ../bin/archive.c:307
-#: ../bin/archive.c:315 ../bin/archive.c:365 ../bin/archive.c:400
-#: ../bin/archive.c:416 ../bin/archive.c:426 ../bin/archive.c:449
-#: ../bin/cblock.c:491 ../bin/cswitchmotor.c:475 ../bin/dbench.c:147
-#: ../bin/dcar.c:4519 ../bin/dcar.c:4705 ../bin/dcar.c:4715 ../bin/dcar.c:4763
-#: ../bin/dcar.c:4770 ../bin/dcar.c:4788 ../bin/dcar.c:4801 ../bin/dcar.c:4806
-#: ../bin/dcar.c:4835 ../bin/dcar.c:4999 ../bin/directory.c:65
-#: ../bin/directory.c:100 ../bin/directory.c:107 ../bin/directory.c:138
-#: ../bin/directory.c:154 ../bin/dxfoutput.c:193 ../bin/fileio.c:242
-#: ../bin/fileio.c:699 ../bin/fileio.c:899 ../bin/fileio.c:1026
-#: ../bin/fileio.c:1093 ../bin/fileio.c:1099 ../bin/fileio.c:1175
-#: ../bin/fileio.c:1185 ../bin/fileio.c:1517 ../bin/fileio.c:1567
-#: ../bin/fileio.c:1623 ../bin/macro.c:179 ../bin/macro.c:832
-#: ../bin/macro.c:879 ../bin/macro.c:900 ../bin/macro.c:1045
-#: ../bin/macro.c:1062 ../bin/macro.c:1324 ../bin/param.c:2090
-#: ../bin/paramfile.c:250 ../bin/paramfilelist.c:376 ../bin/track.c:1116
-#: ../bin/track.c:1640 ../bin/track.c:1946 ../bin/track.c:1950
-#: ../bin/track.c:1962 ../bin/track.c:2026 ../wlib/gtklib/wpref.c:248
-#: ../wlib/gtklib/wpref.c:255
+"Language: de_DE\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../bin/archive.c:154 ../bin/archive.c:161 ../bin/archive.c:190
+#: ../bin/archive.c:215 ../bin/archive.c:270 ../bin/archive.c:283
+#: ../bin/archive.c:291 ../bin/archive.c:341 ../bin/archive.c:376
+#: ../bin/archive.c:392 ../bin/archive.c:402 ../bin/archive.c:425
+#: ../bin/cblock.c:490 ../bin/cswitchmotor.c:472 ../bin/dbench.c:143
+#: ../bin/dbitmap.c:426 ../bin/dcar.c:4525 ../bin/dcar.c:4711
+#: ../bin/dcar.c:4721 ../bin/dcar.c:4768 ../bin/dcar.c:4775 ../bin/dcar.c:4793
+#: ../bin/dcar.c:4806 ../bin/dcar.c:4811 ../bin/dcar.c:4840 ../bin/dcar.c:5003
+#: ../bin/directory.c:44 ../bin/directory.c:79 ../bin/directory.c:86
+#: ../bin/directory.c:117 ../bin/directory.c:133 ../bin/dxfoutput.c:191
+#: ../bin/fileio.c:215 ../bin/fileio.c:660 ../bin/fileio.c:803
+#: ../bin/fileio.c:863 ../bin/fileio.c:987 ../bin/fileio.c:1053
+#: ../bin/fileio.c:1059 ../bin/fileio.c:1135 ../bin/fileio.c:1145
+#: ../bin/fileio.c:1490 ../bin/fileio.c:1542 ../bin/fileio.c:1594
+#: ../bin/macro.c:152 ../bin/macro.c:806 ../bin/macro.c:853 ../bin/macro.c:874
+#: ../bin/macro.c:1017 ../bin/macro.c:1035 ../bin/macro.c:1307
+#: ../bin/param.c:2189 ../bin/paramfile.c:257 ../bin/paramfilelist.c:390
+#: ../bin/track.c:1152 ../bin/track.c:1692 ../bin/track.c:1998
+#: ../bin/track.c:2002 ../bin/track.c:2014 ../bin/track.c:2078
+#: ../wlib/gtklib/wpref.c:260 ../wlib/gtklib/wpref.c:267
msgid "Continue"
msgstr "Weiter"
-#: ../bin/cbezier.c:599
+#: ../bin/cbezier.c:598
msgid "Select End-Point - Ctrl unlocks end-point"
msgstr "Endpunkt auswählen - Strg entsperrt den Endpunkt"
-#: ../bin/cbezier.c:601
+#: ../bin/cbezier.c:600
msgid "Select End-Point"
msgstr "Endpunkt auswählen"
-#: ../bin/cbezier.c:633
+#: ../bin/cbezier.c:632
msgid "Not close enough to any valid, selectable point, reselect"
msgstr ""
"Nicht nahe genug an einem gültigen, wählbaren Punkt, bitte einen anderen "
"auswählen"
-#: ../bin/cbezier.c:639
+#: ../bin/cbezier.c:638
#, c-format
msgid "Drag point %d to new location and release it"
msgstr "Den Punkt %d an die neue Stelle verschieben und loslassen"
-#: ../bin/cbezier.c:648 ../bin/cbezier.c:739 ../bin/cbezier.c:741
+#: ../bin/cbezier.c:647 ../bin/cbezier.c:738 ../bin/cbezier.c:740
msgid "Pick any circle to adjust it - Enter to confirm, ESC to abort"
msgstr ""
"Einen beliebeigen Kreis zum Ändern auswählen - Mit der Eingabetaste "
"bestätigen, mit ESC abbrechen"
-#: ../bin/cbezier.c:672
+#: ../bin/cbezier.c:671
msgid "Bezier Curve Invalid has identical end points Change End Point"
msgstr ""
-"Die Endpunkte der Bezierkurve sind identisch. Bitte einen Endpunkt ändern"
+"Die Bezierkurve ist ungültig, da die Endpunkte identisch sind identisch. "
+"Bitte einen Endpunkt ändern. "
-#: ../bin/cbezier.c:675
+#: ../bin/cbezier.c:674
#, c-format
msgid "Bezier Curve Invalid has %s Change End Point"
-msgstr "Ungültige Bezier-Curve (%s). Bitte den Endpunkt ändern"
+msgstr "Ungültige Bezier-Kurve: %s. Bitte den Endpunkt ändern"
-#: ../bin/cbezier.c:678
+#: ../bin/cbezier.c:677
msgid "Bezier Curve Invalid has three co-incident points"
msgstr ""
-"Die ungültige Bezier-Kurve hat drei übereinstimmende Punkte - bitte anpassen"
+"Die Bezier-Kurve ist ungültig, da sie drei übereinstimmende Punkte hat."
-#: ../bin/cbezier.c:680
+#: ../bin/cbezier.c:679
msgid "Bezier is Straight Line"
-msgstr "Bezier ist eine gerade Linie"
+msgstr "Die Auswahl ergibt eine gerade Linie anstelle einer Bezier-Kurve. "
-#: ../bin/cbezier.c:682
+#: ../bin/cbezier.c:681
#, c-format
msgid "Bezier %s : Min Radius=%s Length=%s fx=%0.3f fy=%0.3f cusp=%0.3f"
msgstr ""
"Bezier %s: Kleinester Radius=%s, Länge=%s, fx=%0.3f fy=%0.3f cusp=%0.3f"
-#: ../bin/cbezier.c:686
+#: ../bin/cbezier.c:685
#, c-format
msgid "Bezier %s : Min Radius=%s Length=%s"
msgstr "Bezier %s : Mindestradius=%s Länge=%s"
-#: ../bin/cbezier.c:711
+#: ../bin/cbezier.c:710
msgid "No unconnected End Point to lock to"
-msgstr "Es gibt keinen unverbundenen Endpunkt für das Anschliessen"
+msgstr "Anschließen nicht möglich, da kein offener Endpunkt existiert"
-#: ../bin/cbezier.c:729
+#: ../bin/cbezier.c:728
msgid "Bezier curve invalid has identical end points Change End Point"
msgstr ""
"Die Endpunkte der Bezierkurve sind identisch. Bitte einen Endpunkt ändern"
-#: ../bin/cbezier.c:732
+#: ../bin/cbezier.c:731
#, c-format
msgid "Bezier curve invalid has %s Change End Point"
-msgstr "Ungültige Bezier-Curve (%s). Bitte den Endpunkt ändern"
+msgstr "Ungültige Bezier-Kurve: %s. Bitte den Endpunkt ändern"
-#: ../bin/cbezier.c:735
+#: ../bin/cbezier.c:734
msgid "Bezier curve invalid has three co-incident points"
msgstr ""
"Die ungültige Bezier-Kurve hat drei übereinstimmende Punkte - bitte anpassen"
-#: ../bin/cbezier.c:737
+#: ../bin/cbezier.c:736
msgid "Bezier curve is straight line"
msgstr "Bezier Kurve ist eine gerade Linie"
-#: ../bin/cbezier.c:751 ../bin/cbezier.c:765
+#: ../bin/cbezier.c:750 ../bin/cbezier.c:764
msgid "Invalid Bezier Track - end points are identical"
msgstr "Die Bezier-Kurve ist ungültig, da sie identische Endpunkte hat"
-#: ../bin/cbezier.c:758
+#: ../bin/cbezier.c:757
#, c-format
msgid "Invalid Bezier Curve has a %s - Adjust"
msgstr "Die ungültige Bezier-Kurve hat %s - bitte anpassen"
-#: ../bin/cbezier.c:762
+#: ../bin/cbezier.c:761
msgid "Invalid Bezier Curve has three coincident points - Adjust"
msgstr ""
"Die ungültige Bezier-Kurve hat drei übereinstimmende Punkte - bitte anpassen"
-#: ../bin/cbezier.c:770
+#: ../bin/cbezier.c:769
msgid "Create Bezier"
msgstr "Bezier erstellen"
-#: ../bin/cbezier.c:858
+#: ../bin/cbezier.c:852
#, c-format
msgid "%s picked - now select a Point"
msgstr "%s ausgewählt - jetzt einen Punkt auswählen"
-#: ../bin/cbezier.c:888 ../bin/ccornu.c:1952
+#: ../bin/cbezier.c:882 ../bin/ccornu.c:1946
msgid "No changes made"
msgstr "Keine Änderungen durchgeführt"
-#: ../bin/cbezier.c:892
+#: ../bin/cbezier.c:886
msgid "Modify Bezier"
msgstr "Bezier ändern"
-#: ../bin/cbezier.c:910
+#: ../bin/cbezier.c:900
msgid "Modify Bezier Complete"
msgstr "Ändern der Bezier-Kurve abgeschlossen"
-#: ../bin/cbezier.c:914
+#: ../bin/cbezier.c:904
msgid "Modify Bezier Cancelled"
msgstr "Ändern der Bezier-Kurve abgebrochen"
-#: ../bin/cbezier.c:1038 ../bin/cbezier.c:1129
+#: ../bin/cbezier.c:1030 ../bin/cbezier.c:1124
#, c-format
msgid "Place 1st endpoint of Bezier - snap to %s"
msgstr "Ersten Endpunkt der Bezierkurve festlegen, an %s fangen"
-#: ../bin/cbezier.c:1056 ../bin/ccornu.c:2289 ../bin/ccurve.c:205
-#: ../bin/ccurve.c:443 ../bin/cstraigh.c:91
+#: ../bin/cbezier.c:1049 ../bin/ccornu.c:2286 ../bin/ccurve.c:199
+#: ../bin/cstraigh.c:90
msgid "Track is different gauge"
msgstr "Gleis hat andere Spurweite"
-#: ../bin/cbezier.c:1084
+#: ../bin/cbezier.c:1070
msgid "Drag end of first control arm"
msgstr "Das Ende des ersten Kontrolllinie ziehen"
-#: ../bin/cbezier.c:1091
+#: ../bin/cbezier.c:1077
msgid "Drag end of second control arm"
msgstr "Das Ende der zweiten Kontrolllinie ziehen"
-#: ../bin/cbezier.c:1133 ../bin/cbezier.c:1170
+#: ../bin/cbezier.c:1128 ../bin/cbezier.c:1165
#, c-format
msgid "Select other end of Bezier - snap to %s end"
msgstr "Das andere Ende der Bezierkurve auswählen, am Ende von %s fangen"
-#: ../bin/cbezier.c:1165
+#: ../bin/cbezier.c:1160
msgid "Control Arm 1 is too short, try again"
msgstr "Steuer-Arms 1 ist zu kurz, bitte nochmal versuchen"
-#: ../bin/cblock.c:111 ../bin/cblock.c:123 ../bin/cblock.c:168
-#: ../bin/ccontrol.c:171 ../bin/ccontrol.c:425 ../bin/compound.c:567
-#: ../bin/csensor.c:163 ../bin/csensor.c:389 ../bin/csignal.c:238
-#: ../bin/csignal.c:498 ../bin/csignal.c:509 ../bin/csignal.c:535
-#: ../bin/cswitchmotor.c:93 ../bin/cswitchmotor.c:112 ../bin/cswitchmotor.c:224
-#: ../bin/dcontmgm.c:91 ../bin/dlayer.c:483
+#: ../bin/cblock.c:107 ../bin/cblock.c:119 ../bin/cblock.c:166
+#: ../bin/ccontrol.c:168 ../bin/ccontrol.c:422 ../bin/compound.c:708
+#: ../bin/csensor.c:160 ../bin/csensor.c:386 ../bin/csignal.c:235
+#: ../bin/csignal.c:495 ../bin/csignal.c:506 ../bin/csignal.c:532
+#: ../bin/cswitchmotor.c:89 ../bin/cswitchmotor.c:108
+#: ../bin/cswitchmotor.c:221 ../bin/dcontmgm.c:79 ../bin/dlayer.c:578
msgid "Name"
msgstr "Name"
-#: ../bin/cblock.c:112 ../bin/cblock.c:124 ../bin/cblock.c:169
-#: ../bin/csensor.c:165 ../bin/csensor.c:395 ../bin/csignal.c:498
-#: ../bin/csignal.c:537
+#: ../bin/cblock.c:108 ../bin/cblock.c:120 ../bin/cblock.c:167
+#: ../bin/csensor.c:162 ../bin/csensor.c:392 ../bin/csignal.c:495
+#: ../bin/csignal.c:534
msgid "Script"
msgstr "Befehlsskript"
-#: ../bin/cblock.c:125
+#: ../bin/cblock.c:121
msgid "Segments"
msgstr "Segmente"
-#: ../bin/cblock.c:170 ../bin/cdraw.c:523 ../bin/cdraw.c:1433
-#: ../bin/cdraw.c:1579 ../bin/cdraw.c:2234 ../bin/cdraw.c:2460
-#: ../bin/cdraw.c:2497 ../bin/ctodesgn.c:175 ../bin/ctodesgn.c:176
-#: ../bin/ctodesgn.c:177 ../bin/ctodesgn.c:178 ../bin/ctodesgn.c:190
-#: ../bin/ctodesgn.c:191 ../bin/ctodesgn.c:241 ../bin/ctodesgn.c:244
-#: ../bin/ctodesgn.c:264 ../bin/ctodesgn.c:269 ../bin/ctodesgn.c:301
-#: ../bin/ctodesgn.c:308 ../bin/ctodesgn.c:310 ../bin/ctodesgn.c:330
-#: ../bin/ctodesgn.c:335 ../bin/ctodesgn.c:367 ../bin/ctodesgn.c:374
-#: ../bin/ctodesgn.c:375 ../bin/ctodesgn.c:396 ../bin/ctodesgn.c:399
-#: ../bin/ctodesgn.c:402 ../bin/ctodesgn.c:437 ../bin/ctodesgn.c:441
-#: ../bin/ctodesgn.c:448 ../bin/ctodesgn.c:449 ../bin/ctodesgn.c:450
-#: ../bin/ctodesgn.c:472 ../bin/ctodesgn.c:474 ../bin/ctodesgn.c:492
-#: ../bin/ctodesgn.c:494 ../bin/ctodesgn.c:513 ../bin/ctodesgn.c:515
-#: ../bin/ctodesgn.c:542 ../bin/ctodesgn.c:562 ../bin/ctodesgn.c:582
-#: ../bin/ctodesgn.c:602 ../bin/ctodesgn.c:640 ../bin/ctodesgn.c:659
-#: ../bin/ctodesgn.c:660 ../bin/ctrain.c:185 ../bin/tbezier.c:258
-#: ../bin/tcornu.c:307 ../bin/tcurve.c:372 ../bin/tstraigh.c:89
+#: ../bin/cblock.c:168 ../bin/cdraw.c:520 ../bin/cdraw.c:1502
+#: ../bin/cdraw.c:1648 ../bin/cdraw.c:2705 ../bin/cdraw.c:2927
+#: ../bin/cdraw.c:2964 ../bin/ctodesgn.c:169 ../bin/ctodesgn.c:170
+#: ../bin/ctodesgn.c:171 ../bin/ctodesgn.c:172 ../bin/ctodesgn.c:184
+#: ../bin/ctodesgn.c:185 ../bin/ctodesgn.c:235 ../bin/ctodesgn.c:238
+#: ../bin/ctodesgn.c:258 ../bin/ctodesgn.c:263 ../bin/ctodesgn.c:295
+#: ../bin/ctodesgn.c:302 ../bin/ctodesgn.c:304 ../bin/ctodesgn.c:324
+#: ../bin/ctodesgn.c:329 ../bin/ctodesgn.c:361 ../bin/ctodesgn.c:368
+#: ../bin/ctodesgn.c:369 ../bin/ctodesgn.c:390 ../bin/ctodesgn.c:393
+#: ../bin/ctodesgn.c:396 ../bin/ctodesgn.c:431 ../bin/ctodesgn.c:435
+#: ../bin/ctodesgn.c:442 ../bin/ctodesgn.c:443 ../bin/ctodesgn.c:444
+#: ../bin/ctodesgn.c:466 ../bin/ctodesgn.c:468 ../bin/ctodesgn.c:486
+#: ../bin/ctodesgn.c:488 ../bin/ctodesgn.c:507 ../bin/ctodesgn.c:509
+#: ../bin/ctodesgn.c:536 ../bin/ctodesgn.c:556 ../bin/ctodesgn.c:576
+#: ../bin/ctodesgn.c:596 ../bin/ctodesgn.c:634 ../bin/ctodesgn.c:653
+#: ../bin/ctodesgn.c:654 ../bin/ctrain.c:186 ../bin/tbezier.c:262
+#: ../bin/tcornu.c:315 ../bin/tcurve.c:385 ../bin/tstraigh.c:90
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:184
msgid "Length"
msgstr "Länge"
-#: ../bin/cblock.c:171 ../bin/cdraw.c:515 ../bin/compound.c:542
-#: ../bin/tbezier.c:245 ../bin/tcornu.c:294 ../bin/tcurve.c:364
-#: ../bin/tease.c:519 ../bin/tstraigh.c:85
+#: ../bin/cblock.c:169 ../bin/cdraw.c:511 ../bin/compound.c:683
+#: ../bin/tbezier.c:249 ../bin/tcornu.c:302 ../bin/tcurve.c:377
+#: ../bin/tease.c:509 ../bin/tstraigh.c:86
msgid "End Pt 1: X,Y"
msgstr "Endpunkt 1: X,Y"
-#: ../bin/cblock.c:172 ../bin/cdraw.c:516 ../bin/compound.c:547
-#: ../bin/tbezier.c:252 ../bin/tcornu.c:299 ../bin/tcurve.c:366
-#: ../bin/tease.c:521 ../bin/tstraigh.c:87
+#: ../bin/cblock.c:170 ../bin/cdraw.c:512 ../bin/compound.c:688
+#: ../bin/tbezier.c:256 ../bin/tcornu.c:307 ../bin/tcurve.c:379
+#: ../bin/tease.c:511 ../bin/tstraigh.c:88
msgid "End Pt 2: X,Y"
msgstr "Endpunkt 2: X,Y"
-#: ../bin/cblock.c:195 ../bin/cblock.c:207 ../bin/cblock.c:575
-#: ../bin/cblock.c:596 ../bin/cblock.c:604 ../bin/cblock.c:674
-#: ../bin/cblock.c:795 ../bin/cblock.c:807 ../bin/cblock.c:845
-#: ../bin/ccontrol.c:205 ../bin/ccontrol.c:218 ../bin/ccontrol.c:230
-#: ../bin/ccontrol.c:486 ../bin/cdraw.c:130 ../bin/cdraw.c:2293
-#: ../bin/cgroup.c:1075 ../bin/cgroup.c:1146 ../bin/cgroup.c:1185
-#: ../bin/cgroup.c:1235 ../bin/cgroup.c:1262 ../bin/cgroup.c:1350
-#: ../bin/cgroup.c:1729 ../bin/cnote.c:69 ../bin/compound.c:603
-#: ../bin/compound.c:618 ../bin/compound.c:651 ../bin/cprint.c:512
-#: ../bin/cprint.c:716 ../bin/cprint.c:723 ../bin/cprint.c:1247
-#: ../bin/cpull.c:511 ../bin/cpull.c:526 ../bin/cpull.c:528 ../bin/cpull.c:530
-#: ../bin/cpull.c:691 ../bin/cselect.c:1067 ../bin/cselect.c:1163
-#: ../bin/cselect.c:1984 ../bin/csensor.c:194 ../bin/csensor.c:206
-#: ../bin/csensor.c:444 ../bin/csignal.c:267 ../bin/csignal.c:666
-#: ../bin/csignal.c:734 ../bin/csnap.c:576 ../bin/csnap.c:705
-#: ../bin/cstruct.c:937 ../bin/cstruct.c:946 ../bin/cstruct.c:1071
-#: ../bin/cswitchmotor.c:250 ../bin/cswitchmotor.c:262
-#: ../bin/cswitchmotor.c:274 ../bin/cswitchmotor.c:286
-#: ../bin/cswitchmotor.c:544 ../bin/cswitchmotor.c:580
-#: ../bin/cswitchmotor.c:714 ../bin/cswitchmotor.c:745 ../bin/ctext.c:173
-#: ../bin/ctodesgn.c:209 ../bin/ctodesgn.c:1204 ../bin/ctodesgn.c:1341
-#: ../bin/ctodesgn.c:1939 ../bin/ctodesgn.c:2054 ../bin/ctodesgn.c:2353
-#: ../bin/ctodesgn.c:2635 ../bin/ctrain.c:205 ../bin/cturnout.c:2942
-#: ../bin/cturnout.c:3080 ../bin/cundo.c:161 ../bin/cundo.c:166
-#: ../bin/dbitmap.c:68 ../bin/dbitmap.c:125 ../bin/dbitmap.c:203
-#: ../bin/dbitmap.c:238 ../bin/dcar.c:3823 ../bin/dcar.c:4018
-#: ../bin/dcar.c:4022 ../bin/dcar.c:4026 ../bin/dcar.c:4031 ../bin/dcar.c:4335
-#: ../bin/dcar.c:4443 ../bin/dcar.c:4825 ../bin/dcmpnd.c:399
-#: ../bin/dcmpnd.c:410 ../bin/dcmpnd.c:542 ../bin/dcustmgm.c:221
-#: ../bin/dcustmgm.c:227 ../bin/dcustmgm.c:236 ../bin/dcustmgm.c:261
-#: ../bin/dease.c:242 ../bin/dlayer.c:240 ../bin/dlayer.c:262
-#: ../bin/dlayer.c:879 ../bin/dlayer.c:885 ../bin/dlayer.c:891
-#: ../bin/doption.c:199 ../bin/doption.c:275 ../bin/doption.c:476
-#: ../bin/doption.c:479 ../bin/doption.c:492 ../bin/doption.c:558
-#: ../bin/dprmfile.c:434 ../bin/draw.c:2643 ../bin/fileio.c:198
-#: ../bin/fileio.c:608 ../bin/fileio.c:743 ../bin/fileio.c:745
-#: ../bin/fileio.c:750 ../bin/fileio.c:813 ../bin/fileio.c:1046
-#: ../bin/layout.c:373 ../bin/layout.c:561 ../bin/macro.c:1158
-#: ../bin/macro.c:1162 ../bin/macro.c:1220 ../bin/macro.c:1289
-#: ../bin/macro.c:1529 ../bin/macro.c:1547 ../bin/misc.c:438 ../bin/misc.c:485
-#: ../bin/misc.c:1810 ../bin/misc.c:1931 ../bin/misc.c:1939 ../bin/misc.c:2017
-#: ../bin/misc.c:2808 ../bin/misc.c:2817 ../bin/misc.c:2837 ../bin/misc.c:2843
-#: ../bin/misc2.c:455 ../bin/param.c:738 ../bin/param.c:1848
-#: ../bin/param.c:1971 ../bin/param.c:1974 ../bin/param.c:2097
-#: ../bin/param.c:2103 ../bin/paramfile.c:324 ../bin/paramfile.c:326
-#: ../bin/paramfile.c:331 ../bin/paramfile.c:355 ../bin/paramfile.c:381
-#: ../bin/paramfile.c:387 ../bin/paramfilelist.c:94 ../bin/paramfilelist.c:114
-#: ../bin/paramfilelist.c:128 ../bin/paramfilelist.c:192 ../bin/smalldlg.c:90
-#: ../bin/smalldlg.c:222 ../bin/tease.c:1014 ../bin/track.c:1654
-#: ../wlib/gtklib/wpref.c:122 ../../../../build/work/app/bin/bllnhlp.c:586
+#: ../bin/cblock.c:193 ../bin/cblock.c:205 ../bin/cblock.c:574
+#: ../bin/cblock.c:595 ../bin/cblock.c:603 ../bin/cblock.c:673
+#: ../bin/cblock.c:794 ../bin/cblock.c:806 ../bin/cblock.c:844
+#: ../bin/ccontrol.c:202 ../bin/ccontrol.c:215 ../bin/ccontrol.c:227
+#: ../bin/ccontrol.c:483 ../bin/cdraw.c:125 ../bin/cdraw.c:2764
+#: ../bin/cgroup.c:1071 ../bin/cgroup.c:1138 ../bin/cgroup.c:1166
+#: ../bin/cgroup.c:1216 ../bin/cgroup.c:1238 ../bin/cgroup.c:1326
+#: ../bin/cgroup.c:1715 ../bin/cnote.c:67 ../bin/compound.c:744
+#: ../bin/compound.c:759 ../bin/compound.c:792 ../bin/cprint.c:712
+#: ../bin/cprint.c:719 ../bin/cprint.c:1263 ../bin/cpull.c:508
+#: ../bin/cpull.c:523 ../bin/cpull.c:525 ../bin/cpull.c:527 ../bin/cpull.c:688
+#: ../bin/cselect.c:1143 ../bin/cselect.c:1252 ../bin/cselect.c:2131
+#: ../bin/csensor.c:191 ../bin/csensor.c:203 ../bin/csensor.c:441
+#: ../bin/csignal.c:264 ../bin/csignal.c:663 ../bin/csignal.c:731
+#: ../bin/csnap.c:549 ../bin/csnap.c:675 ../bin/cstruct.c:962
+#: ../bin/cstruct.c:1092 ../bin/cswitchmotor.c:247 ../bin/cswitchmotor.c:259
+#: ../bin/cswitchmotor.c:271 ../bin/cswitchmotor.c:283
+#: ../bin/cswitchmotor.c:541 ../bin/cswitchmotor.c:577
+#: ../bin/cswitchmotor.c:712 ../bin/cswitchmotor.c:743 ../bin/ctext.c:172
+#: ../bin/ctodesgn.c:203 ../bin/ctodesgn.c:1198 ../bin/ctodesgn.c:1969
+#: ../bin/ctodesgn.c:2084 ../bin/ctodesgn.c:2383 ../bin/ctrain.c:206
+#: ../bin/cturnout.c:4845 ../bin/cturnout.c:4984 ../bin/cundo.c:205
+#: ../bin/cundo.c:210 ../bin/dbitmap.c:156 ../bin/dbitmap.c:231
+#: ../bin/dbitmap.c:472 ../bin/dcar.c:3850 ../bin/dcar.c:4015
+#: ../bin/dcar.c:4020 ../bin/dcar.c:4024 ../bin/dcar.c:4029 ../bin/dcar.c:4342
+#: ../bin/dcar.c:4450 ../bin/dcar.c:4830 ../bin/dcmpnd.c:392
+#: ../bin/dcmpnd.c:403 ../bin/dcmpnd.c:536 ../bin/dcustmgm.c:205
+#: ../bin/dcustmgm.c:211 ../bin/dcustmgm.c:220 ../bin/dcustmgm.c:245
+#: ../bin/dease.c:240 ../bin/dlayer.c:257 ../bin/dlayer.c:292
+#: ../bin/dlayer.c:1152 ../bin/dlayer.c:1158 ../bin/dlayer.c:1164
+#: ../bin/doption.c:200 ../bin/doption.c:276 ../bin/doption.c:479
+#: ../bin/doption.c:482 ../bin/doption.c:486 ../bin/doption.c:497
+#: ../bin/doption.c:563 ../bin/dprmfile.c:427 ../bin/draw.c:2726
+#: ../bin/fileio.c:171 ../bin/fileio.c:580 ../bin/fileio.c:705
+#: ../bin/fileio.c:707 ../bin/fileio.c:712 ../bin/fileio.c:775
+#: ../bin/fileio.c:1007 ../bin/layout.c:404 ../bin/layout.c:612
+#: ../bin/macro.c:1131 ../bin/macro.c:1135 ../bin/macro.c:1203
+#: ../bin/macro.c:1272 ../bin/macro.c:1513 ../bin/macro.c:1533
+#: ../bin/misc.c:491 ../bin/misc.c:573 ../bin/misc.c:1918 ../bin/misc.c:2050
+#: ../bin/misc.c:2061 ../bin/misc.c:2072 ../bin/misc.c:2168 ../bin/misc.c:3046
+#: ../bin/misc.c:3055 ../bin/misc.c:3075 ../bin/misc.c:3081 ../bin/misc.c:3293
+#: ../bin/misc2.c:523 ../bin/param.c:737 ../bin/param.c:1947
+#: ../bin/param.c:2070 ../bin/param.c:2073 ../bin/param.c:2196
+#: ../bin/param.c:2202 ../bin/paramfile.c:330 ../bin/paramfile.c:332
+#: ../bin/paramfile.c:337 ../bin/paramfile.c:361 ../bin/paramfile.c:387
+#: ../bin/paramfile.c:393 ../bin/paramfilelist.c:103
+#: ../bin/paramfilelist.c:123 ../bin/paramfilelist.c:137
+#: ../bin/paramfilelist.c:201 ../bin/tease.c:1108 ../bin/track.c:1706
+#: ../wlib/gtklib/wpref.c:131
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:636
msgid "Ok"
msgstr "Ok"
-#: ../bin/cblock.c:212
+#: ../bin/cblock.c:210
msgid "Change block"
msgstr "Block ändern"
-#: ../bin/cblock.c:264 ../bin/cswitchmotor.c:342
+#: ../bin/cblock.c:262 ../bin/cswitchmotor.c:339
#, c-format
msgid "(%d): Layer=%u %s"
msgstr "(%d): Ebene=%u %s"
-#: ../bin/cblock.c:288 ../bin/cblock.c:1000
+#: ../bin/cblock.c:286 ../bin/cblock.c:996
msgid "Block"
msgstr "Block"
-#: ../bin/cblock.c:491
+#: ../bin/cblock.c:490
#, c-format
msgid "resolveBlockTrack: T%d[%d]: T%d doesn't exist"
msgstr "resolveBlockTrack: T%d[%d]: T%d existiert nicht"
-#: ../bin/cblock.c:575 ../bin/cblock.c:807
+#: ../bin/cblock.c:574 ../bin/cblock.c:806
msgid "Block must have a name!"
msgstr "Der Gleisabschnitt benötigt einen Namen!"
-#: ../bin/cblock.c:604
+#: ../bin/cblock.c:603
msgid "Block is discontigious!"
msgstr "Der Block ist nicht zusammenhängend!"
-#: ../bin/cblock.c:609
+#: ../bin/cblock.c:608
msgid "Create block"
msgstr "Block erstellen"
-#: ../bin/cblock.c:656
+#: ../bin/cblock.c:655
msgid "Non track object skipped!"
msgstr "Objekt ist kein Gleis, übersprungen!"
-#: ../bin/cblock.c:660
+#: ../bin/cblock.c:659
msgid "Selected track is already in a block, skipped!"
msgstr "Übersprungen, da das ausgewählte Gleis bereits in einem Block ist!"
-#: ../bin/cblock.c:674
+#: ../bin/cblock.c:673
msgid "Create Block"
-msgstr "Gleisabschnitt erstellen"
+msgstr "Block erstellen"
-#: ../bin/cblock.c:704 ../bin/cblock.c:736
+#: ../bin/cblock.c:703 ../bin/cblock.c:735
msgid "Select a track"
msgstr "Gleis auswählen"
-#: ../bin/cblock.c:713 ../bin/cblock.c:744
+#: ../bin/cblock.c:712 ../bin/cblock.c:743
msgid "Not a block!"
msgstr "Kein Block!"
-#: ../bin/cblock.c:749
+#: ../bin/cblock.c:748
#, c-format
msgid "Really delete block %s?"
msgstr "Soll der Block %s wirklich gelöscht werden?"
-#: ../bin/cblock.c:749 ../bin/ccornu.c:2745 ../bin/ccornu.c:2956
-#: ../bin/cdraw.c:134 ../bin/cgroup.c:1081 ../bin/cpull.c:649
-#: ../bin/csignal.c:712 ../bin/cswitchmotor.c:670 ../bin/ctodesgn.c:2643
-#: ../bin/ctodesgn.c:3175 ../bin/ctrain.c:2509 ../bin/dbitmap.c:208
-#: ../bin/dcar.c:3969 ../bin/dcar.c:4048 ../bin/dcar.c:4132 ../bin/dcar.c:4151
-#: ../bin/dcar.c:4468 ../bin/dcar.c:4889 ../bin/dcontmgm.c:173
-#: ../bin/dcustmgm.c:168 ../bin/misc.c:1239 ../bin/misc.c:1246
-#: ../bin/misc.c:1317 ../bin/track.c:1656 ../bin/track.c:1753
-#: ../bin/track.c:1767
+#: ../bin/cblock.c:748 ../bin/ccornu.c:2753 ../bin/ccornu.c:2966
+#: ../bin/cdraw.c:129 ../bin/cgroup.c:1077 ../bin/cpull.c:646
+#: ../bin/csignal.c:709 ../bin/cswitchmotor.c:668 ../bin/ctodesgn.c:2659
+#: ../bin/ctodesgn.c:3213 ../bin/ctrain.c:2512 ../bin/dcar.c:3965
+#: ../bin/dcar.c:4054 ../bin/dcar.c:4137 ../bin/dcar.c:4156 ../bin/dcar.c:4475
+#: ../bin/dcar.c:4895 ../bin/dcontmgm.c:161 ../bin/dcustmgm.c:153
+#: ../bin/misc.c:1328 ../bin/misc.c:1335 ../bin/misc.c:1407
+#: ../bin/track.c:1708 ../bin/track.c:1805 ../bin/track.c:1822
msgid "Yes"
msgstr "Ja"
-#: ../bin/cblock.c:749 ../bin/ccornu.c:2745 ../bin/ccornu.c:2956
-#: ../bin/cdraw.c:134 ../bin/cgroup.c:1081 ../bin/cpull.c:649
-#: ../bin/csignal.c:712 ../bin/cswitchmotor.c:670 ../bin/ctodesgn.c:2643
-#: ../bin/ctodesgn.c:3175 ../bin/ctrain.c:2509 ../bin/dcar.c:3969
-#: ../bin/dcar.c:4048 ../bin/dcar.c:4132 ../bin/dcar.c:4151 ../bin/dcar.c:4468
-#: ../bin/dcar.c:4889 ../bin/dcontmgm.c:173 ../bin/dcustmgm.c:168
-#: ../bin/misc.c:1239 ../bin/misc.c:1246 ../bin/misc.c:1317 ../bin/track.c:1656
-#: ../bin/track.c:1753 ../bin/track.c:1767
+#: ../bin/cblock.c:748 ../bin/ccornu.c:2753 ../bin/ccornu.c:2966
+#: ../bin/cdraw.c:129 ../bin/cgroup.c:1077 ../bin/cpull.c:646
+#: ../bin/csignal.c:709 ../bin/cswitchmotor.c:668 ../bin/ctodesgn.c:2659
+#: ../bin/ctodesgn.c:3213 ../bin/ctrain.c:2512 ../bin/dcar.c:3965
+#: ../bin/dcar.c:4054 ../bin/dcar.c:4137 ../bin/dcar.c:4156 ../bin/dcar.c:4475
+#: ../bin/dcar.c:4895 ../bin/dcontmgm.c:161 ../bin/dcustmgm.c:153
+#: ../bin/misc.c:1328 ../bin/misc.c:1335 ../bin/misc.c:1407
+#: ../bin/track.c:1708 ../bin/track.c:1805 ../bin/track.c:1822
msgid "No"
msgstr "Nein"
-#: ../bin/cblock.c:750
+#: ../bin/cblock.c:749
msgid "Delete Block"
-msgstr "Gleisabschnitt löschen"
+msgstr "Block löschen"
-#: ../bin/cblock.c:795
+#: ../bin/cblock.c:794
#, c-format
msgid "Deleting block %s"
-msgstr "Gleisabschnitt %s löschen"
+msgstr "Block%s löschen"
-#: ../bin/cblock.c:811
+#: ../bin/cblock.c:810
msgid "Modify Block"
-msgstr "Gleisabschnitt bearbeiten"
+msgstr "Block bearbeiten"
-#: ../bin/cblock.c:844
+#: ../bin/cblock.c:843
msgid "Edit block"
msgstr "Block bearbeiten"
-#: ../bin/cblock.c:850
+#: ../bin/cblock.c:849
#, c-format
msgid "Edit block %d"
-msgstr "Gleisabschnitt %d bearbeiten"
+msgstr "Block%d bearbeiten"
-#: ../bin/ccontrol.c:172 ../bin/csensor.c:164 ../bin/csignal.c:239
-#: ../bin/ctrain.c:183
+#: ../bin/ccontrol.c:169 ../bin/csensor.c:161 ../bin/csignal.c:236
+#: ../bin/ctrain.c:184
msgid "Position"
msgstr "Position"
-#: ../bin/ccontrol.c:173 ../bin/ccontrol.c:431
+#: ../bin/ccontrol.c:170 ../bin/ccontrol.c:428
msgid "On Script"
msgstr "Befehlsskript An"
-#: ../bin/ccontrol.c:174 ../bin/ccontrol.c:433
+#: ../bin/ccontrol.c:171 ../bin/ccontrol.c:430
msgid "Off Script"
msgstr "Befehlsskript Aus"
-#: ../bin/ccontrol.c:240
+#: ../bin/ccontrol.c:237
msgid "Change Control"
msgstr "Steuerung ändern"
-#: ../bin/ccontrol.c:282 ../bin/csensor.c:252
+#: ../bin/ccontrol.c:279 ../bin/csensor.c:249
#, c-format
msgid "(%d [%s]): Layer=%u, at %0.3f,%0.3f"
msgstr "(%d [%s]): Ebene=%u, bei %0.3f,%0.3f"
-#: ../bin/ccontrol.c:295 ../bin/ccontrol.c:640
+#: ../bin/ccontrol.c:292 ../bin/ccontrol.c:634
msgid "Control"
msgstr "Steuerung"
-#: ../bin/ccontrol.c:427
+#: ../bin/ccontrol.c:424 ../bin/csensor.c:388 ../bin/csignal.c:508
msgid "Origin X"
msgstr "Ausgangspunkt X"
-#: ../bin/ccontrol.c:429 ../bin/csensor.c:393 ../bin/csignal.c:513
+#: ../bin/ccontrol.c:426 ../bin/csensor.c:390 ../bin/csignal.c:510
msgid "Origin Y"
msgstr "Ausgangspunkt: Y"
-#: ../bin/ccontrol.c:445
+#: ../bin/ccontrol.c:442
msgid "Create Control"
msgstr "Steuerung erstellen"
-#: ../bin/ccontrol.c:448
+#: ../bin/ccontrol.c:445
msgid "Modify Control"
msgstr "Steuerung ändern"
-#: ../bin/ccontrol.c:485
+#: ../bin/ccontrol.c:482
msgid "Edit control"
msgstr "Steuerung bearbeiten"
-#: ../bin/ccontrol.c:526
+#: ../bin/ccontrol.c:523
msgid "Place control"
msgstr "Steuerung setzen"
-#: ../bin/ccornu.c:200 ../bin/ccornu.c:203 ../bin/ccornu.c:206
-#: ../bin/ccornu.c:260
+#: ../bin/ccornu.c:195 ../bin/ccornu.c:198 ../bin/ccornu.c:201
+#: ../bin/ccornu.c:255
#, c-format
msgid "%s FlexTrack"
msgstr "%s Flexgleis"
-#: ../bin/ccornu.c:254
+#: ../bin/ccornu.c:249
msgid " FLEX "
msgstr " FLEX "
-#: ../bin/ccornu.c:903 ../bin/cjoin.c:936 ../bin/cmisc.c:59
+#: ../bin/ccornu.c:897 ../bin/cjoin.c:962 ../bin/cmisc.c:57
msgid "First"
msgstr "Erste"
-#: ../bin/ccornu.c:910 ../bin/cjoin.c:944
+#: ../bin/ccornu.c:904 ../bin/cjoin.c:970
msgid "Second"
msgstr "Zweite"
-#: ../bin/ccornu.c:981 ../bin/ccornu.c:2004 ../bin/ccornu.c:2034
-#: ../bin/tcornu.c:830 ../bin/tcornu.c:1037 ../bin/tcornu.c:1363
+#: ../bin/ccornu.c:975 ../bin/ccornu.c:1998 ../bin/ccornu.c:2028
+#: ../bin/tcornu.c:836 ../bin/tcornu.c:1321
#, c-format
msgid ""
"Cornu Create Failed for p1[%0.3f,%0.3f] p2[%0.3f,%0.3f], c1[%0.3f,%0.3f] "
"c2[%0.3f,%0.3f], a1=%0.3f a2=%0.3f, r1=%s r2=%s"
msgstr ""
-"Erstellen der mit p1[%0.3f,%0.3f] p2[%0.3f,%0.3f], c1[%0.3f,%0.3f] c2[%0.3f,"
-"%0.3f], a1=%0.3f a2=%0.3f, r1=%s r2=%s nicht möglich"
+"Erstellen der mit p1[%0.3f,%0.3f] p2[%0.3f,%0.3f], c1[%0.3f,%0.3f] "
+"c2[%0.3f,%0.3f], a1=%0.3f a2=%0.3f, r1=%s r2=%s nicht möglich"
-#: ../bin/ccornu.c:1020 ../bin/ccornu.c:1639 ../bin/ccornu.c:1658
-#: ../bin/tbezier.c:246 ../bin/tbezier.c:253 ../bin/tcornu.c:295
-#: ../bin/tcornu.c:300
+#: ../bin/ccornu.c:1011 ../bin/ccornu.c:1633 ../bin/ccornu.c:1652
+#: ../bin/tbezier.c:250 ../bin/tbezier.c:257 ../bin/tcornu.c:303
+#: ../bin/tcornu.c:308 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:176
msgid "End Angle"
msgstr "Endwinkel"
-#: ../bin/ccornu.c:1023 ../bin/ccornu.c:1638 ../bin/ccornu.c:1657
+#: ../bin/ccornu.c:1014 ../bin/ccornu.c:1632 ../bin/ccornu.c:1651
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:177
msgid "End Radius"
msgstr "Endradius"
-#: ../bin/ccornu.c:1076
+#: ../bin/ccornu.c:1067
msgid "Select Point, or Add Point"
msgstr "Punkt auswählen oder neuen Punkt hinzufügen"
-#: ../bin/ccornu.c:1247
+#: ../bin/ccornu.c:1242
msgid "Not close enough to track or point, reselect"
msgstr "Kein Gleis oder Endpunkt in der Nähe, bitte wiederholen"
-#: ../bin/ccornu.c:1253
+#: ../bin/ccornu.c:1248
msgid "Drag out end of Cornu"
msgstr "Ende der Cornu ziehen"
-#: ../bin/ccornu.c:1255
+#: ../bin/ccornu.c:1250
msgid "Drag along end of track"
msgstr "Entlang des Ende des Gleises ziehen"
-#: ../bin/ccornu.c:1257
+#: ../bin/ccornu.c:1252
msgid "Drag to move"
msgstr "Ziehen zum Verschieben"
-#: ../bin/ccornu.c:1260
+#: ../bin/ccornu.c:1255
msgid "Drag point to new location, Delete to remove"
msgstr "Den Punkt an die neue Position verschieben, mit Entf löschen"
-#: ../bin/ccornu.c:1264
+#: ../bin/ccornu.c:1259
msgid "Drag to change end radius"
msgstr "Radius durch Ziehen ändern"
-#: ../bin/ccornu.c:1267
+#: ../bin/ccornu.c:1262
msgid "Drag to change end angle"
msgstr "Ziehen um den Abschlußwinkel zu ändern"
-#: ../bin/ccornu.c:1282
+#: ../bin/ccornu.c:1277
msgid "Pick any circle to adjust or add - Enter to accept, Esc to cancel"
msgstr ""
"Um Anzupassen einen beliebigen Kreis auswählen -Eingabe zum Bestätigen, Esc "
"zum Abbrechen"
-#: ../bin/ccornu.c:1294
+#: ../bin/ccornu.c:1289
msgid "Track can't be split"
msgstr "Das Gleis kann nicht getrennt werden"
-#: ../bin/ccornu.c:1356
+#: ../bin/ccornu.c:1351
msgid "Too close to other end of selected Track"
msgstr "Zu nahe am anderen Ende des ausgewählten Gleises"
-#: ../bin/ccornu.c:1364
+#: ../bin/ccornu.c:1359
msgid "Can't move end inside a turnout"
msgstr "Ende kann nicht in ein festes Gleis hinein verschoben werden"
-#: ../bin/ccornu.c:1506
+#: ../bin/ccornu.c:1500
msgid "Can't extend connected Bezier or Cornu"
msgstr "Bezier- oder Cornu-Kurve kann nicht erweitert werden"
-#: ../bin/ccornu.c:1578
+#: ../bin/ccornu.c:1572
#, c-format
msgid ""
"Cornu : Min Radius=%s MaxRateofCurveChange/Scale=%s Length=%s Winding Arc=%s"
msgstr ""
"Cornu: Mindestradius =%s Max. Änderungsrate des Radius=%s Länge=%s Bogen=%s"
-#: ../bin/ccornu.c:1600 ../bin/ccornu.c:2270
+#: ../bin/ccornu.c:1594 ../bin/ccornu.c:2267
msgid "Helix Already Connected"
msgstr "Gleiswendel ist bereits verbunden"
-#: ../bin/ccornu.c:1614
+#: ../bin/ccornu.c:1608
msgid "No Valid end point on that track"
msgstr "Kein gültiger Endpunkt auf diesem Gleis"
-#: ../bin/ccornu.c:1619
+#: ../bin/ccornu.c:1613
msgid "Track is different scale"
msgstr "Das Gleis hat einen anderen Maßstab"
-#: ../bin/ccornu.c:1672
+#: ../bin/ccornu.c:1666
msgid ""
-"Pick on point to adjust it along track - Delete to remove, Enter to confirm, "
-"ESC to abort"
+"Pick on point to adjust it along track - Delete to remove, Enter to confirm,"
+" ESC to abort"
msgstr ""
"Einen Punkt auswählen und verschieben - Bestätigen mit Eingabe, Abbrechen "
"mit Esc"
-#: ../bin/ccornu.c:1702
+#: ../bin/ccornu.c:1696
msgid "Cornu has too complex shape - adjust end pts"
msgstr "Die Form der Cornu-Kurve ist zu komplex, Endpunkte anpassen"
-#: ../bin/ccornu.c:1713
+#: ../bin/ccornu.c:1707
#, c-format
msgid "Cornu point %d too close to other end of connect track - reposition it"
msgstr ""
"Cornu-Punkt %d zu dicht am anderen Ende des Gleises - Position verändern"
-#: ../bin/ccornu.c:1718
+#: ../bin/ccornu.c:1712
msgid "Create Cornu"
msgstr "Cornu-Kurve erstellen"
-#: ../bin/ccornu.c:1907
+#: ../bin/ccornu.c:1901
msgid "Now Select or Add (+Shift) a Point"
msgstr "Jetzt einen Punkt auswählen oder (+Umschalttaste) hinzufügen"
-#: ../bin/ccornu.c:1966
+#: ../bin/ccornu.c:1960
#, c-format
msgid "Cornu end %d too close to other end of connect track - reposition it"
msgstr ""
-"Cornu-Ende %d zu dicht am anderen Ende des Gleises - anderere Position setzen"
+"Cornu-Ende %d zu dicht am anderen Ende des Gleises - anderere Position "
+"setzen"
-#: ../bin/ccornu.c:1971
+#: ../bin/ccornu.c:1965 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:175
msgid "Modify Cornu"
msgstr "Cornu-Kurve ändern"
-#: ../bin/ccornu.c:1986
+#: ../bin/ccornu.c:1980
#, c-format
msgid "Cornu Extension Create Failed for end %d"
msgstr "Das Erzeugen einer Klothide aus dem Endpunkt %d ist nicht möglich"
-#: ../bin/ccornu.c:2078
+#: ../bin/ccornu.c:2072
#, c-format
msgid "Connected Track End Adjust for end %d failed"
msgstr "Ende %d des Gleis ist verbunden und kann nicht angepasst werden"
-#: ../bin/ccornu.c:2089
+#: ../bin/ccornu.c:2083
msgid "Modify Cornu Cancelled"
msgstr "Änderung der Cornu-Kurve abbrechen"
-#: ../bin/ccornu.c:2246
+#: ../bin/ccornu.c:2243
msgid "Left click - Start Cornu track"
msgstr "Durch Drücken der linken Maustaste mit einer Cornu beginnen"
-#: ../bin/ccornu.c:2248
+#: ../bin/ccornu.c:2245
msgid "Left click - Place Flextrack"
msgstr "Linke Maustaste - Flexgleis setzen"
-#: ../bin/ccornu.c:2251
+#: ../bin/ccornu.c:2248
msgid "Left click - join with Cornu track"
msgstr "Durch Drücken der linken Maustaste mit einer Cornu-Kurve verbinden"
-#: ../bin/ccornu.c:2253
+#: ../bin/ccornu.c:2250
msgid "Left click - join with Cornu track, Shift Left click - move to join"
msgstr ""
"Linke Maustaste - Verbinden mit Cornu-Gleis, Umschalten + linke Maustaste - "
"Verschieben zum Verbinden"
-#: ../bin/ccornu.c:2284
+#: ../bin/ccornu.c:2281
msgid "No valid open endpoint on that track"
msgstr "Kein gültiger und unbenutzter Endpunkt auf diesem Gleis"
-#: ../bin/ccornu.c:2312 ../bin/ccornu.c:2324
+#: ../bin/ccornu.c:2309 ../bin/ccornu.c:2321
msgid "Drag arm in the direction of track"
msgstr "Kontrollarm in Richtung des Gleises ziehen"
-#: ../bin/ccornu.c:2328
+#: ../bin/ccornu.c:2325
msgid "No Unconnected Track End there"
msgstr "Hier ist kein offenes Gleisende"
-#: ../bin/ccornu.c:2339 ../bin/ccornu.c:2363
+#: ../bin/ccornu.c:2336 ../bin/ccornu.c:2360
msgid "No Valid Track End there"
msgstr "Hier ist kein gültiges Gleisende"
-#: ../bin/ccornu.c:2351
+#: ../bin/ccornu.c:2348
msgid "Locked - Move 1st end point of Cornu track along track 1"
msgstr ""
"Fixiert - verschiebe den ersten Endpunkt des Cornu-Gleis entlang des ersten "
"Gleises"
-#: ../bin/ccornu.c:2375
+#: ../bin/ccornu.c:2372
msgid "Locked - Move 2nd end point of Cornu track along track 2"
msgstr ""
-"Fixiert, verschiebe den zweiten Endpunkt des Cornu-Gleis entlang des zweiten "
-"Gleises"
+"Fixiert, verschiebe den zweiten Endpunkt des Cornu-Gleis entlang des zweiten"
+" Gleises"
-#: ../bin/ccornu.c:2449
+#: ../bin/ccornu.c:2450
msgid "Track can't be split - so locked to endpoint"
msgstr "Das Gleis kann nicht getrennt werden - daher am Endpunkt fixiert"
-#: ../bin/ccornu.c:2454
+#: ../bin/ccornu.c:2455
msgid "Point not on track 1"
msgstr "Der Punkt ist nicht auf Gleis 1"
-#: ../bin/ccornu.c:2492
+#: ../bin/ccornu.c:2493
msgid "Pick other end of Cornu"
msgstr "Anderes Ende der Cornu setzen"
-#: ../bin/ccornu.c:2494
+#: ../bin/ccornu.c:2495
msgid ""
"Select flextrack ends or anchors and drag, Enter to approve, Esc to Cancel"
msgstr ""
"Wählen Sie Flextrack-Enden oder Anker aus und ziehen Sie, Enter zum "
"Bestätigen, Esc zum Abbrechen"
-#: ../bin/ccornu.c:2498
+#: ../bin/ccornu.c:2499
msgid "Put other end of Cornu on a track with an unconnected end point"
msgstr ""
"Setze den aneren Endpunkt des Cornu-Gleis auf ein Gleis mit einem "
"unverbundenen Endpunkt"
-#: ../bin/ccornu.c:2733 ../bin/ccornu.c:2946
+#: ../bin/ccornu.c:2741 ../bin/ccornu.c:2955
msgid "Not on a Track"
msgstr "Nicht auf einem Gleis"
-#: ../bin/ccornu.c:2741
+#: ../bin/ccornu.c:2749
msgid "Select a Track To Convert"
msgstr "Gleis für das Umwandeln auswählen"
-#: ../bin/ccornu.c:2745
+#: ../bin/ccornu.c:2753
msgid "Convert all Selected Tracks to Cornu Tracks?"
msgstr "Sollen alle ausgewählten Gleise in Cornu umgewandelt werden?"
-#: ../bin/ccornu.c:2750
+#: ../bin/ccornu.c:2758
msgid "Convert Cornu"
msgstr "Cornu umwandeln"
-#: ../bin/ccornu.c:2902
+#: ../bin/ccornu.c:2910
#, c-format
msgid "Tracks Counts: %d converted %d unconvertible %d created %d deleted"
msgstr ""
"Anzahl der Gleise: %d umgewandelt, %d nicht umwandelbar, %d erstellt, %d "
"entfernt"
-#: ../bin/ccornu.c:2902 ../bin/ccornu.c:3016
+#: ../bin/ccornu.c:2910 ../bin/ccornu.c:3027
msgid "OK"
msgstr "Ok"
-#: ../bin/ccornu.c:2952
+#: ../bin/ccornu.c:2962
msgid "Select a Cornu or Bezier Track To Convert to Fixed"
msgstr ""
"Wählen Sie eine Cornu- oder ein Bezier-Gleis um es festes Gleis zu wandeln"
-#: ../bin/ccornu.c:2956
+#: ../bin/ccornu.c:2966
msgid "Convert all Selected Tracks to Fixed Tracks?"
msgstr "Sollen alle ausgewählten Gleise in feste Gleise umgewandelt werden?"
-#: ../bin/ccornu.c:2965
+#: ../bin/ccornu.c:2976
msgid "Convert Bezier and Cornu"
msgstr "Bezier-Kurve oder Cornu umwandeln"
-#: ../bin/ccornu.c:3016
+#: ../bin/ccornu.c:3027
#, c-format
msgid "Tracks Counts: %d converted %d unconvertible %d deleted"
msgstr "Anzahl der Gleise: %d umgewandelt, %d nicht umwandelbar, %d entfernt"
-#: ../bin/ccornu.c:3044
+#: ../bin/ccornu.c:3055
msgid "Convert"
msgstr "Umwandeln"
-#: ../bin/ccornu.c:3045
+#: ../bin/ccornu.c:3056
msgid "Convert To Cornu"
msgstr "In Cornu erstellen"
-#: ../bin/ccornu.c:3046
+#: ../bin/ccornu.c:3057
msgid "Convert From Cornu"
msgstr "Aus Cornu umwandeln"
-#: ../bin/ccurve.c:169
+#: ../bin/ccurve.c:163
msgid "Drag from endpoint in direction of curve - lock to track open endpoint"
msgstr ""
"Vom Endpunkt in Richtung der Kurve ziehen, an unverbundenen Endpunkt "
"verbinden"
-#: ../bin/ccurve.c:171
+#: ../bin/ccurve.c:165
msgid "Drag from endpoint in direction of curve"
msgstr "Vom Endpunkt in Richtung der Kurve ziehen"
-#: ../bin/ccurve.c:175
+#: ../bin/ccurve.c:169
msgid "Drag from endpoint to center - lock to track open endpoint"
msgstr ""
"Vom Endpunkt zum Mittelpunkt ziehen, an unverbundenen Endpunkt verbinden"
-#: ../bin/ccurve.c:177
+#: ../bin/ccurve.c:171
msgid "Drag from endpoint to center"
msgstr "Vom Endpunkt zum Mittelpunkt ziehen"
-#: ../bin/ccurve.c:180
+#: ../bin/ccurve.c:174
msgid "Drag from center to endpoint"
msgstr "Vom Mittelpunkt zum Endpunkt ziehen"
-#: ../bin/ccurve.c:183
+#: ../bin/ccurve.c:177
msgid "Drag from one to other end of chord"
msgstr "Vom einen zum anderen Ende der Sehne ziehen"
-#: ../bin/ccurve.c:241
+#: ../bin/ccurve.c:236
msgid "End locked: Drag out curve start"
msgstr "Ende fixiert, Anfang der Kurve ziehen"
-#: ../bin/ccurve.c:242 ../bin/ccurve.c:252 ../bin/ccurve.c:270
+#: ../bin/ccurve.c:237 ../bin/ccurve.c:247 ../bin/ccurve.c:265
msgid "End Position locked: Drag out curve start with Shift"
msgstr "Ende fixiert, Anfang der Kurve mit Umschalt-Taste ziehen"
-#: ../bin/ccurve.c:243
+#: ../bin/ccurve.c:238
msgid "Drag along curve start"
msgstr "Entlang der Anfangs der Kurve ziehen"
-#: ../bin/ccurve.c:251
+#: ../bin/ccurve.c:246
msgid "End locked: Drag out curve center"
msgstr "Ende fixiert, Mittelpunkt der Kurve ziehen"
-#: ../bin/ccurve.c:253
+#: ../bin/ccurve.c:248
msgid "Drag out curve center"
msgstr "Zum Mittelpunkt der Kurve ziehen"
-#: ../bin/ccurve.c:260
+#: ../bin/ccurve.c:255
msgid "Drag out from center to endpoint"
msgstr "Vom Mittelpunkt zum Endpunkt ziehen"
-#: ../bin/ccurve.c:269
+#: ../bin/ccurve.c:264
msgid "End locked: Drag to other end of chord"
msgstr "Ende fixiert, zum anderen Ende der Sehne ziehen"
-#: ../bin/ccurve.c:272
+#: ../bin/ccurve.c:267
msgid "Drag to other end of chord"
msgstr "Zum anderen Ende der Sehne ziehen"
-#: ../bin/ccurve.c:327
+#: ../bin/ccurve.c:322
#, c-format
msgid "Start Locked: Drag out curve start - Angle=%0.3f"
msgstr "Anfang fixiert, Anfangspunkt der Kurve ziehen - Winkel=%0.3f"
-#: ../bin/ccurve.c:328
+#: ../bin/ccurve.c:323
#, c-format
msgid "Drag out curve start - Angle=%0.3f"
msgstr "Anfangspunkt der Kurve ziehen - Winkel=%0.3f"
-#: ../bin/ccurve.c:334
+#: ../bin/ccurve.c:329
#, c-format
msgid "Tangent locked: Drag out center - Radius=%s Angle=%0.3f"
msgstr "Gleistangente gesetzt: Ziehe zum Mittelpunkt - Radius=%s Winkel=%0.3f"
-#: ../bin/ccurve.c:335
+#: ../bin/ccurve.c:330
#, c-format
msgid "Drag out center - Radius=%s Angle=%0.3f"
msgstr "Ziehe zum Mittelpunkt - Radius=%s Winkel=%0.3f"
-#: ../bin/ccurve.c:341
+#: ../bin/ccurve.c:336
#, c-format
msgid "Drag to Edge: Radius=%s Angle=%0.3f"
msgstr "Ziehe zur Kante - Radius=%s Winkel=%0.3f"
-#: ../bin/ccurve.c:347
+#: ../bin/ccurve.c:342
#, c-format
msgid "Start locked: Drag out chord length=%s angle=%0.3f"
msgstr ""
"Anfang fixiert, zum anderen Ende der Sehne ziehen Länge=%s Winkel=%0.3f"
-#: ../bin/ccurve.c:348
+#: ../bin/ccurve.c:343
#, c-format
msgid "Drag out chord length=%s angle=%0.3f"
msgstr "Sehne ziehen Länge=%s Winkel=%0.3f"
-#: ../bin/ccurve.c:403 ../bin/ccurve.c:561 ../bin/drawgeom.c:735
-msgid "Drag on Red arrows to adjust curve"
-msgstr "An den roten Pfeilen ziehen, um die Kurve anzupassen"
+#: ../bin/ccurve.c:414 ../bin/ccurve.c:582 ../bin/cjoin.c:669
+#: ../bin/cjoin.c:924
+msgid "Desired Radius"
+msgstr "Gewünschter Radius"
-#: ../bin/ccurve.c:501 ../bin/cjoin.c:210 ../bin/cmodify.c:576
-#: ../bin/cturntbl.c:580
+#: ../bin/ccurve.c:512 ../bin/cjoin.c:208 ../bin/cmodify.c:600
+#: ../bin/cturntbl.c:625
#, c-format
msgid "Straight Track: Length=%s Angle=%0.3f"
msgstr "Gleisgerade: Länge=%s Winkel=%0.3f"
-#: ../bin/ccurve.c:508 ../bin/cmodify.c:581 ../bin/drawgeom.c:618
+#: ../bin/ccurve.c:519 ../bin/cmodify.c:605 ../bin/drawgeom.c:663
#: ../wlib/gtklib/ixhelp.c:235
msgid "Back"
msgstr "Zurück"
-#: ../bin/ccurve.c:527
+#: ../bin/ccurve.c:539
#, c-format
msgid "Curved Track: Radius=%s Angle=%0.3f Length=%s"
msgstr "Gleisbogen: Radius=%s Winkel=%0.3f Länge=%s"
-#: ../bin/ccurve.c:581 ../bin/cstraigh.c:162
+#: ../bin/ccurve.c:608 ../bin/cstraigh.c:171
msgid "Create Straight Track"
msgstr "Erstelle gerades Gleis"
-#: ../bin/ccurve.c:593
+#: ../bin/ccurve.c:621
msgid "Create Curved Track"
msgstr "Erstelle Gleisbogen"
-#: ../bin/ccurve.c:664
+#: ../bin/ccurve.c:691
msgid "Elevation Difference"
msgstr "Höhenunterschied"
-#: ../bin/ccurve.c:665 ../bin/cdraw.c:522 ../bin/cdraw.c:1445
-#: ../bin/cdraw.c:1591 ../bin/cdraw.c:2241 ../bin/cdraw.c:2440
-#: ../bin/cdraw.c:2454 ../bin/compound.c:545 ../bin/compound.c:550
-#: ../bin/compound.c:555 ../bin/compound.c:560 ../bin/ctodesgn.c:185
-#: ../bin/ctodesgn.c:186 ../bin/ctodesgn.c:187 ../bin/ctodesgn.c:188
-#: ../bin/ctodesgn.c:304 ../bin/ctodesgn.c:307 ../bin/ctodesgn.c:309
-#: ../bin/ctodesgn.c:370 ../bin/ctodesgn.c:371 ../bin/ctodesgn.c:376
-#: ../bin/ctodesgn.c:440 ../bin/ctodesgn.c:444 ../bin/ctodesgn.c:445
-#: ../bin/ctodesgn.c:451 ../bin/ctodesgn.c:620 ../bin/tbezier.c:247
-#: ../bin/tbezier.c:254 ../bin/tcornu.c:301 ../bin/tcurve.c:369
+#: ../bin/ccurve.c:692 ../bin/cdraw.c:519 ../bin/cdraw.c:1514
+#: ../bin/cdraw.c:1660 ../bin/cdraw.c:2712 ../bin/cdraw.c:2907
+#: ../bin/cdraw.c:2921 ../bin/compound.c:686 ../bin/compound.c:691
+#: ../bin/compound.c:696 ../bin/compound.c:701 ../bin/ctodesgn.c:179
+#: ../bin/ctodesgn.c:180 ../bin/ctodesgn.c:181 ../bin/ctodesgn.c:182
+#: ../bin/ctodesgn.c:298 ../bin/ctodesgn.c:301 ../bin/ctodesgn.c:303
+#: ../bin/ctodesgn.c:364 ../bin/ctodesgn.c:365 ../bin/ctodesgn.c:370
+#: ../bin/ctodesgn.c:434 ../bin/ctodesgn.c:438 ../bin/ctodesgn.c:439
+#: ../bin/ctodesgn.c:445 ../bin/ctodesgn.c:614 ../bin/tbezier.c:251
+#: ../bin/tbezier.c:258 ../bin/tcornu.c:309 ../bin/tcurve.c:382
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:185
msgid "Radius"
msgstr "Radius"
-#: ../bin/ccurve.c:666 ../bin/tcurve.c:370
+#: ../bin/ccurve.c:693 ../bin/tcurve.c:383
msgid "Turns"
msgstr "Windungen"
-#: ../bin/ccurve.c:667
+#: ../bin/ccurve.c:694
msgid "Angular Separation"
msgstr "Winkelabstand"
-#: ../bin/ccurve.c:668 ../bin/celev.c:47 ../bin/compound.c:562
-#: ../bin/tbezier.c:259 ../bin/tcornu.c:308 ../bin/tcurve.c:376
-#: ../bin/tease.c:529 ../bin/tstraigh.c:91
+#: ../bin/ccurve.c:695 ../bin/celev.c:43 ../bin/compound.c:703
+#: ../bin/tbezier.c:263 ../bin/tcornu.c:316 ../bin/tcurve.c:389
+#: ../bin/tease.c:519 ../bin/tstraigh.c:92
msgid "Grade"
msgstr "Steigung"
-#: ../bin/ccurve.c:669
+#: ../bin/ccurve.c:696
msgid "Vertical Separation"
msgstr "Vertikaler Abstand"
-#: ../bin/ccurve.c:671
+#: ../bin/ccurve.c:698
msgid "Total Length"
msgstr "Gesamtlänge"
-#: ../bin/ccurve.c:747
+#: ../bin/ccurve.c:774
#, c-format
msgid "Total Length %s"
msgstr "Gesamtlänge %s"
-#: ../bin/ccurve.c:785 ../bin/ccurve.c:989 ../bin/tcurve.c:809
+#: ../bin/ccurve.c:812 ../bin/ccurve.c:1016 ../bin/tcurve.c:828
msgid "Helix"
msgstr "Gleiswendel"
-#: ../bin/ccurve.c:799
+#: ../bin/ccurve.c:826
msgid "Circle Radius"
msgstr "Kreisradius"
-#: ../bin/ccurve.c:804
+#: ../bin/ccurve.c:831
msgid "Click on Circle Edge"
msgstr "Auf den Rand des Kreis klicken"
-#: ../bin/ccurve.c:808
+#: ../bin/ccurve.c:835
msgid "Click on Circle Center"
msgstr "Auf den Mittelpunkt des Kreises klicken"
-#: ../bin/ccurve.c:839
+#: ../bin/ccurve.c:867
msgid "Drag to Center"
msgstr "Zum Mittelpunkt ziehen"
-#: ../bin/ccurve.c:843
+#: ../bin/ccurve.c:871
msgid "Drag to Edge"
msgstr "Zum Rand ziehen"
-#: ../bin/ccurve.c:863 ../bin/ccurve.c:867
+#: ../bin/ccurve.c:891 ../bin/ccurve.c:895
#, c-format
msgid "Radius=%s"
msgstr "Radius=%s"
-#: ../bin/ccurve.c:888
+#: ../bin/ccurve.c:916
msgid "Create Helix Track"
msgstr "Erstelle Gleiswendel"
-#: ../bin/ccurve.c:903
+#: ../bin/ccurve.c:931
msgid "Create Circle Track"
msgstr "Erstelle Gleiskreis"
-#: ../bin/ccurve.c:958
-msgid "Cornu Curve"
-msgstr "Cornu"
-
-#: ../bin/ccurve.c:960
+#: ../bin/ccurve.c:986
msgid "Curve Track"
msgstr "Gleisbogen"
-#: ../bin/ccurve.c:960
+#: ../bin/ccurve.c:986
msgid "Curve Tracks"
msgstr "Gleisbögen"
-#: ../bin/ccurve.c:961
+#: ../bin/ccurve.c:987
msgid "Curve from End-Pt"
msgstr "Bogen aus Endpunkten"
-#: ../bin/ccurve.c:962
+#: ../bin/ccurve.c:988
msgid "Curve from Tangent"
msgstr "Bogen an Tangente"
-#: ../bin/ccurve.c:963
+#: ../bin/ccurve.c:989
msgid "Curve from Center"
msgstr "Bogen um Mittelpunkt"
-#: ../bin/ccurve.c:964
+#: ../bin/ccurve.c:990
msgid "Curve from Chord"
msgstr "Bogen aus Sehne"
-#: ../bin/ccurve.c:965 ../bin/cdraw.c:2582
+#: ../bin/ccurve.c:991 ../bin/cdraw.c:3053
msgid "Bezier Curve"
msgstr "Bezierkurve"
-#: ../bin/ccurve.c:968 ../bin/tcurve.c:643
+#: ../bin/ccurve.c:992
+msgid "Cornu Curve"
+msgstr "Cornu"
+
+#: ../bin/ccurve.c:995 ../bin/tcurve.c:655
msgid "Circle Track"
msgstr "Gleiskreis"
-#: ../bin/ccurve.c:968
+#: ../bin/ccurve.c:995
msgid "Circle Tracks"
msgstr "Gleiskreise"
-#: ../bin/ccurve.c:969
+#: ../bin/ccurve.c:996
msgid "Fixed Radius Circle"
msgstr "Kreis mit festem Radius"
-#: ../bin/ccurve.c:970
+#: ../bin/ccurve.c:997
msgid "Circle from Tangent"
msgstr "Kreis an Tangente"
-#: ../bin/ccurve.c:971
+#: ../bin/ccurve.c:998
msgid "Circle from Center"
msgstr "Kreis um Mittelpunkt"
-#: ../bin/cdraw.c:130
+#: ../bin/cdraw.c:125
msgid "Font Size must be > 0"
msgstr "Schriftgröße muss größer als 0 sein"
-#: ../bin/cdraw.c:517
+#: ../bin/cdraw.c:513
msgid "First Point: X,Y"
msgstr "Erster Punkt: X,Y"
-#: ../bin/cdraw.c:518 ../bin/tcurve.c:368
+#: ../bin/cdraw.c:514 ../bin/tcurve.c:381
msgid "Center: X,Y"
msgstr "Mittelpunkt: X,Y"
-#: ../bin/cdraw.c:519 ../bin/cdraw.c:540 ../bin/cdraw.c:1435
-#: ../bin/cdraw.c:1580 ../bin/cdraw.c:2239 ../bin/cdraw.c:2461
-#: ../bin/cdraw.c:2481 ../bin/cdraw.c:2485 ../bin/compound.c:543
-#: ../bin/compound.c:548 ../bin/compound.c:553 ../bin/compound.c:558
-#: ../bin/compound.c:564 ../bin/cprint.c:155 ../bin/csignal.c:240
-#: ../bin/csignal.c:515 ../bin/ctodesgn.c:193 ../bin/ctodesgn.c:194
-#: ../bin/ctodesgn.c:195 ../bin/ctodesgn.c:197 ../bin/ctodesgn.c:242
-#: ../bin/ctodesgn.c:265 ../bin/ctodesgn.c:267 ../bin/ctodesgn.c:302
-#: ../bin/ctodesgn.c:305 ../bin/ctodesgn.c:331 ../bin/ctodesgn.c:334
-#: ../bin/ctodesgn.c:368 ../bin/ctodesgn.c:373 ../bin/ctodesgn.c:397
-#: ../bin/ctodesgn.c:401 ../bin/ctodesgn.c:438 ../bin/ctodesgn.c:442
-#: ../bin/ctodesgn.c:447 ../bin/ctodesgn.c:473 ../bin/ctodesgn.c:493
-#: ../bin/ctodesgn.c:514 ../bin/ctodesgn.c:621 ../bin/ctrain.c:184
-#: ../bin/tease.c:524 ../bin/tstraigh.c:90
-msgid "Angle"
-msgstr "Winkel"
+#: ../bin/cdraw.c:515 ../bin/tcurve.c:386
+msgid "Angular Length"
+msgstr "Winkellänge"
+
+#: ../bin/cdraw.c:516
+msgid "Line Angle"
+msgstr "Linienwinkel"
-#: ../bin/cdraw.c:520 ../bin/tcurve.c:374
+#: ../bin/cdraw.c:517 ../bin/tcurve.c:387
msgid "CCW Angle"
-msgstr "Winkel (gegen Uhrzeigersinn)"
+msgstr "Winkel gegen Uhrzeigersinn"
-#: ../bin/cdraw.c:521 ../bin/tcurve.c:375
+#: ../bin/cdraw.c:518 ../bin/tcurve.c:388
msgid "CW Angle"
-msgstr "Winkel (im Uhrzeigersinn)"
+msgstr "Winkel im Uhrzeigersinn"
-#: ../bin/cdraw.c:524 ../bin/cdraw.c:1442 ../bin/cdraw.c:1564
-#: ../bin/cprint.c:130
+#: ../bin/cdraw.c:521 ../bin/cdraw.c:1511 ../bin/cdraw.c:1633
+#: ../bin/cprint.c:129 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:183
msgid "Height"
msgstr "Seitenhöhe"
-#: ../bin/cdraw.c:525 ../bin/cdraw.c:1440 ../bin/cdraw.c:1563
-#: ../bin/cdraw.c:2236 ../bin/cdraw.c:2498 ../bin/ctrain.c:186
-#: ../bin/dcar.c:2233
+#: ../bin/cdraw.c:522 ../bin/cdraw.c:1509 ../bin/cdraw.c:1632
+#: ../bin/cdraw.c:2707 ../bin/cdraw.c:2965 ../bin/ctrain.c:187
+#: ../bin/dcar.c:2225 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:190
msgid "Width"
msgstr "Breite"
-#: ../bin/cdraw.c:526
-msgid "Keep Origin Relative"
-msgstr "Relativer Bezugspunkt"
-
-#: ../bin/cdraw.c:527
-msgid "Rot Origin: X,Y"
-msgstr "Drehzentrum: X,Y"
-
-#: ../bin/cdraw.c:528 ../bin/cdraw.c:1449
-msgid "Rotate Angle"
-msgstr "Drehwinkel"
+#: ../bin/cdraw.c:523 ../bin/compound.c:706 ../bin/tstraigh.c:93
+msgid "Pivot"
+msgstr "Drehpunkt"
-#: ../bin/cdraw.c:529
+#: ../bin/cdraw.c:524
msgid "Point Count"
msgstr "Anzahl der Punkte"
-#: ../bin/cdraw.c:530 ../bin/cdraw.c:2214 ../bin/ctodesgn.c:207
-#: ../bin/tbezier.c:261
+#: ../bin/cdraw.c:525 ../bin/cdraw.c:2685 ../bin/ctodesgn.c:201
+#: ../bin/tbezier.c:265
msgid "Line Width"
msgstr "Strichdicke"
-#: ../bin/cdraw.c:531 ../bin/cdraw.c:2243 ../bin/tbezier.c:260
+#: ../bin/cdraw.c:526 ../bin/cdraw.c:2714 ../bin/tbezier.c:264
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:376
msgid "Line Type"
msgstr "Linienart"
-#: ../bin/cdraw.c:532 ../bin/cdraw.c:2216 ../bin/cdraw.c:2218
-#: ../bin/cdraw.c:2316 ../bin/cdraw.c:2349 ../bin/cmisc.c:125 ../bin/ctext.c:68
-#: ../bin/ctext.c:147 ../bin/ctodesgn.c:208 ../bin/dcar.c:2229
-#: ../bin/dlayer.c:485 ../bin/doption.c:558
+#: ../bin/cdraw.c:527 ../bin/cdraw.c:2687 ../bin/cdraw.c:2689
+#: ../bin/cdraw.c:2788 ../bin/cdraw.c:2821 ../bin/cmisc.c:123
+#: ../bin/ctext.c:66 ../bin/ctext.c:146 ../bin/ctodesgn.c:202
+#: ../bin/dcar.c:2221 ../bin/dlayer.c:580 ../bin/doption.c:563
msgid "Color"
msgstr "Farbe"
-#: ../bin/cdraw.c:533
+#: ../bin/cdraw.c:528
msgid "Filled"
msgstr "Gefüllt"
-#: ../bin/cdraw.c:534
+#: ../bin/cdraw.c:529
msgid "Open End"
msgstr "Offenes Ende"
-#: ../bin/cdraw.c:535 ../bin/cmisc.c:148 ../bin/cmisc.c:149 ../bin/cmisc.c:150
-#: ../bin/cmisc.c:151 ../bin/ctext.c:70 ../bin/ctext.c:148
+#: ../bin/cdraw.c:530 ../bin/cmisc.c:146 ../bin/cmisc.c:147 ../bin/cmisc.c:148
+#: ../bin/cmisc.c:149 ../bin/ctext.c:68 ../bin/ctext.c:147
msgid "Boxed"
msgstr "Eingerahmt"
-#: ../bin/cdraw.c:536 ../bin/cdraw.c:1116 ../bin/cdraw.c:2250
+#: ../bin/cdraw.c:531 ../bin/cdraw.c:1120 ../bin/cdraw.c:2721
msgid "Lumber"
msgstr "Holzleiste"
-#: ../bin/cdraw.c:537
+#: ../bin/cdraw.c:532
msgid "Orientation"
msgstr "Ausrichtung"
-#: ../bin/cdraw.c:538 ../bin/cdraw.c:2232
-#: ../../../../build/work/app/bin/bllnhlp.c:588
+#: ../bin/cdraw.c:533 ../bin/cdraw.c:2703
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:638
msgid "Size"
msgstr "Größe"
-#: ../bin/cdraw.c:539 ../bin/compound.c:563 ../bin/tease.c:523
-msgid "Origin: X,Y"
-msgstr "Ausgangspunkt: X,Y"
+#: ../bin/cdraw.c:534
+msgid "Text Origin: X,Y"
+msgstr "Textursprung: X,Y"
-#: ../bin/cdraw.c:541 ../bin/ctext.c:66 ../bin/ctext.c:146
+#: ../bin/cdraw.c:535
+msgid "Text Angle"
+msgstr "Textwinkel"
+
+#: ../bin/cdraw.c:536 ../bin/ctext.c:64 ../bin/ctext.c:145
msgid "Font Size"
msgstr "Schriftgröße"
-#: ../bin/cdraw.c:542 ../bin/cdraw.c:1262 ../bin/ctext.c:263
+#: ../bin/cdraw.c:537 ../bin/cdraw.c:1267 ../bin/ctext.c:268
msgid "Text"
msgstr "Text"
-#: ../bin/cdraw.c:543 ../bin/cmisc.c:144 ../bin/compound.c:565
-#: ../bin/tcurve.c:377 ../bin/tease.c:530 ../bin/tstraigh.c:92
-msgid "Pivot"
-msgstr "Drehpunkt"
+#: ../bin/cdraw.c:538
+msgid "Lock To Origin"
+msgstr "Am Ursprung sperren"
-#: ../bin/cdraw.c:544 ../bin/compound.c:571 ../bin/cturntbl.c:253
-#: ../bin/doption.c:139 ../bin/doption.c:140 ../bin/tbezier.c:263
-#: ../bin/tcornu.c:309 ../bin/tcurve.c:378 ../bin/tease.c:531
-#: ../bin/tstraigh.c:93 ../../../../build/work/app/bin/bllnhlp.c:666
-#: ../../../../build/work/app/bin/bllnhlp.c:667
-#: ../../../../build/work/app/bin/bllnhlp.c:668
-#: ../../../../build/work/app/bin/bllnhlp.c:669
-#: ../../../../build/work/app/bin/bllnhlp.c:670
-#: ../../../../build/work/app/bin/bllnhlp.c:671
-#: ../../../../build/work/app/bin/bllnhlp.c:672
-#: ../../../../build/work/app/bin/bllnhlp.c:673
-#: ../../../../build/work/app/bin/bllnhlp.c:674
-#: ../../../../build/work/app/bin/bllnhlp.c:675
-#: ../../../../build/work/app/bin/bllnhlp.c:676
-#: ../../../../build/work/app/bin/bllnhlp.c:677
-#: ../../../../build/work/app/bin/bllnhlp.c:678
-#: ../../../../build/work/app/bin/bllnhlp.c:679
-#: ../../../../build/work/app/bin/bllnhlp.c:680
-#: ../../../../build/work/app/bin/bllnhlp.c:681
-#: ../../../../build/work/app/bin/bllnhlp.c:682
-#: ../../../../build/work/app/bin/bllnhlp.c:683
-#: ../../../../build/work/app/bin/bllnhlp.c:684
-#: ../../../../build/work/app/bin/bllnhlp.c:685
+#: ../bin/cdraw.c:539
+msgid "Rot Origin: X,Y"
+msgstr "Drehzentrum: X,Y"
+
+#: ../bin/cdraw.c:540
+msgid "Rotate By"
+msgstr "Drehen um"
+
+#: ../bin/cdraw.c:541 ../bin/compound.c:712 ../bin/cturntbl.c:250
+#: ../bin/doption.c:99 ../bin/doption.c:100 ../bin/tbezier.c:267
+#: ../bin/tcornu.c:317 ../bin/tcurve.c:391 ../bin/tease.c:521
+#: ../bin/tstraigh.c:94 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:716
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:717
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:718
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:719
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:720
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:721
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:722
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:723
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:724
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:725
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:726
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:727
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:728
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:729
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:730
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:731
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:732
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:733
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:734
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:735
msgid "Layer"
msgstr "Ebene"
-#: ../bin/cdraw.c:1101
+#: ../bin/cdraw.c:1105
msgid "Straight Line"
msgstr "Gerade Linie"
-#: ../bin/cdraw.c:1106 ../bin/cdraw.c:2574
+#: ../bin/cdraw.c:1110 ../bin/cdraw.c:3045
msgid "Dimension Line"
msgstr "Maßlinie"
-#: ../bin/cdraw.c:1127 ../bin/cdraw.c:2251 ../bin/cdraw.c:2576
+#: ../bin/cdraw.c:1131 ../bin/cdraw.c:2722 ../bin/cdraw.c:3047
msgid "Table Edge"
msgstr "Tischkante"
-#: ../bin/cdraw.c:1147 ../bin/cdraw.c:2256 ../bin/cdraw.c:2257
-#: ../bin/cdraw.c:2258
+#: ../bin/cdraw.c:1155 ../bin/cdraw.c:2727 ../bin/cdraw.c:2728
+#: ../bin/cdraw.c:2729
msgid "Circle"
msgstr "Kreis"
-#: ../bin/cdraw.c:1158
+#: ../bin/cdraw.c:1170
msgid "Curved Line"
msgstr "Gebogene Linie"
-#: ../bin/cdraw.c:1174 ../bin/cdraw.c:2261 ../bin/cdraw.c:2262
-#: ../bin/cdraw.c:2263
+#: ../bin/cdraw.c:1192 ../bin/cdraw.c:2732 ../bin/cdraw.c:2733
+#: ../bin/cdraw.c:2734
msgid "Filled Circle"
msgstr "Gefüllter Kreis"
-#: ../bin/cdraw.c:1193
+#: ../bin/cdraw.c:1222
+msgid "Filled Rectangle"
+msgstr "Gefülltes Rechteck"
+
+#: ../bin/cdraw.c:1222
msgid "Rectangle"
msgstr "Rechteck"
-#: ../bin/cdraw.c:1207 ../bin/cdraw.c:2267
+#: ../bin/cdraw.c:1236 ../bin/cdraw.c:2738
msgid "Polyline"
msgstr "Polylinie"
-#: ../bin/cdraw.c:1211 ../bin/cdraw.c:2260 ../bin/cdraw.c:2593
-msgid "Polygon"
-msgstr "Vieleck"
-
-#: ../bin/cdraw.c:1229
-msgid "Filled Rectangle"
-msgstr "Gefülltes Rechteck"
-
-#: ../bin/cdraw.c:1242 ../bin/cdraw.c:2265 ../bin/cdraw.c:2594
+#: ../bin/cdraw.c:1243 ../bin/cdraw.c:2736 ../bin/cdraw.c:3065
msgid "Filled Polygon"
msgstr "Gefülltes Ploygon"
-#: ../bin/cdraw.c:1268
+#: ../bin/cdraw.c:1243 ../bin/cdraw.c:2731 ../bin/cdraw.c:3064
+msgid "Polygon"
+msgstr "Vieleck"
+
+#: ../bin/cdraw.c:1273
#, c-format
msgid "%s(%d) Layer=%d"
msgstr "%s (%d) Ebene=%d"
-#: ../bin/cdraw.c:1288 ../bin/cdraw.c:2319 ../bin/compound.c:956
-#: ../bin/doption.c:134 ../bin/tbezier.c:458
+#: ../bin/cdraw.c:1293 ../bin/cdraw.c:2791 ../bin/compound.c:1097
+#: ../bin/doption.c:94 ../bin/tbezier.c:472
msgid "Solid"
msgstr "Gefüllt"
-#: ../bin/cdraw.c:1289 ../bin/cdraw.c:2321 ../bin/compound.c:957
-#: ../bin/doption.c:131 ../bin/tbezier.c:459
+#: ../bin/cdraw.c:1294 ../bin/cdraw.c:2793 ../bin/compound.c:1098
+#: ../bin/doption.c:91 ../bin/tbezier.c:473
msgid "Dash"
msgstr "Gestrichelt"
-#: ../bin/cdraw.c:1290 ../bin/cdraw.c:2320 ../bin/compound.c:958
-#: ../bin/tbezier.c:460
+#: ../bin/cdraw.c:1295 ../bin/cdraw.c:2792 ../bin/compound.c:1099
+#: ../bin/tbezier.c:474
msgid "Dot"
msgstr "Punkt"
-#: ../bin/cdraw.c:1291 ../bin/compound.c:959 ../bin/tbezier.c:461
+#: ../bin/cdraw.c:1296 ../bin/compound.c:1100 ../bin/tbezier.c:475
msgid "DashDot"
msgstr "Strich Punkt"
-#: ../bin/cdraw.c:1292 ../bin/compound.c:960 ../bin/tbezier.c:462
+#: ../bin/cdraw.c:1297 ../bin/compound.c:1101 ../bin/tbezier.c:476
msgid "DashDotDot"
msgstr "Strich Punkt Punkt"
-#: ../bin/cdraw.c:1293 ../bin/compound.c:961 ../bin/tbezier.c:463
+#: ../bin/cdraw.c:1298 ../bin/compound.c:1102 ../bin/tbezier.c:477
msgid "CenterDot"
msgstr "Mittellinie"
-#: ../bin/cdraw.c:1294 ../bin/compound.c:962 ../bin/tbezier.c:464
+#: ../bin/cdraw.c:1299 ../bin/compound.c:1103 ../bin/tbezier.c:478
msgid "PhantomDot"
msgstr "Verborgene Linie"
-#: ../bin/cdraw.c:1299 ../bin/cdraw.c:2367
+#: ../bin/cdraw.c:1304 ../bin/cdraw.c:2839
msgid "Tiny"
msgstr "Winzig"
-#: ../bin/cdraw.c:1300 ../bin/cdraw.c:2368
+#: ../bin/cdraw.c:1305 ../bin/cdraw.c:2840
msgid "Small"
msgstr "Klein"
-#: ../bin/cdraw.c:1301 ../bin/cdraw.c:2369
+#: ../bin/cdraw.c:1306 ../bin/cdraw.c:2841
msgid "Medium"
msgstr "Mittel"
-#: ../bin/cdraw.c:1302 ../bin/cdraw.c:2370
+#: ../bin/cdraw.c:1307 ../bin/cdraw.c:2842
msgid "Large"
msgstr "Groß"
-#: ../bin/cdraw.c:1438
+#: ../bin/cdraw.c:1504 ../bin/cdraw.c:1649 ../bin/cdraw.c:2710
+#: ../bin/cdraw.c:2928 ../bin/cdraw.c:2948 ../bin/cdraw.c:2952
+#: ../bin/compound.c:684 ../bin/compound.c:689 ../bin/compound.c:694
+#: ../bin/compound.c:699 ../bin/compound.c:705 ../bin/cprint.c:154
+#: ../bin/csignal.c:237 ../bin/csignal.c:512 ../bin/ctodesgn.c:187
+#: ../bin/ctodesgn.c:188 ../bin/ctodesgn.c:189 ../bin/ctodesgn.c:191
+#: ../bin/ctodesgn.c:236 ../bin/ctodesgn.c:259 ../bin/ctodesgn.c:261
+#: ../bin/ctodesgn.c:296 ../bin/ctodesgn.c:299 ../bin/ctodesgn.c:325
+#: ../bin/ctodesgn.c:328 ../bin/ctodesgn.c:362 ../bin/ctodesgn.c:367
+#: ../bin/ctodesgn.c:391 ../bin/ctodesgn.c:395 ../bin/ctodesgn.c:432
+#: ../bin/ctodesgn.c:436 ../bin/ctodesgn.c:441 ../bin/ctodesgn.c:467
+#: ../bin/ctodesgn.c:487 ../bin/ctodesgn.c:508 ../bin/ctodesgn.c:615
+#: ../bin/ctrain.c:185 ../bin/tease.c:514
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:181
+msgid "Angle"
+msgstr "Winkel"
+
+#: ../bin/cdraw.c:1507 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:186
msgid "Relative Angle"
msgstr "Relativer Winkel"
-#: ../bin/cdraw.c:1447 ../bin/cdraw.c:1595 ../bin/cdraw.c:2455
+#: ../bin/cdraw.c:1516 ../bin/cdraw.c:1664 ../bin/cdraw.c:2922
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:182
msgid "Arc Angle"
msgstr "Bogenwinkel"
-#: ../bin/cdraw.c:1452
-msgid "Rot Center X"
-msgstr "Drehzentrum X"
+#: ../bin/cdraw.c:1518
+msgid "Rotate Angle"
+msgstr "Drehwinkel"
-#: ../bin/cdraw.c:1454
-msgid "Rot Center Y"
-msgstr "Drehzentrum Y"
+#: ../bin/cdraw.c:1521
+msgid "Rot Center X,Y"
+msgstr "Drehpunkt X, Y"
-#: ../bin/cdraw.c:1551
+#: ../bin/cdraw.c:1620
msgid "Seg Lth"
msgstr "Segment Länge"
-#: ../bin/cdraw.c:1552
+#: ../bin/cdraw.c:1621
msgid "Rel Ang"
msgstr "Rel. Winkel"
-#: ../bin/cdraw.c:2221 ../bin/cdraw.c:2223 ../bin/cdraw.c:2347
+#: ../bin/cdraw.c:2692 ../bin/cdraw.c:2694 ../bin/cdraw.c:2819
msgid "Lumber Type"
msgstr "Leistenart"
-#: ../bin/cdraw.c:2248
+#: ../bin/cdraw.c:2719
msgid "Straight"
msgstr "Gerade"
-#: ../bin/cdraw.c:2249
+#: ../bin/cdraw.c:2720
msgid "Dimension"
msgstr "Abmessung"
-#: ../bin/cdraw.c:2252 ../bin/cdraw.c:2253 ../bin/cdraw.c:2254
-#: ../bin/cdraw.c:2255
+#: ../bin/cdraw.c:2723 ../bin/cdraw.c:2724 ../bin/cdraw.c:2725
+#: ../bin/cdraw.c:2726
msgid "Curved"
msgstr "Gebogen"
-#: ../bin/cdraw.c:2259 ../bin/cdraw.c:2591
+#: ../bin/cdraw.c:2730 ../bin/cdraw.c:3062
msgid "Box"
msgstr "Rechteck"
-#: ../bin/cdraw.c:2264 ../bin/cdraw.c:2592
+#: ../bin/cdraw.c:2735 ../bin/cdraw.c:3063
msgid "Filled Box"
msgstr "Gefülltes Rechteck"
-#: ../bin/cdraw.c:2266 ../bin/tbezier.c:455
+#: ../bin/cdraw.c:2737 ../bin/tbezier.c:469
msgid "Bezier Line"
msgstr "Bezierlinie"
-#: ../bin/cdraw.c:2314
+#: ../bin/cdraw.c:2786
#, c-format
msgid "%s Line Width"
msgstr "%s Strichdicke"
-#: ../bin/cdraw.c:2317 ../bin/dcar.c:2202 ../bin/dcar.c:4366 ../bin/dcar.c:4371
+#: ../bin/cdraw.c:2789 ../bin/dcar.c:2194 ../bin/dcar.c:4373
+#: ../bin/dcar.c:4378
msgid "Type"
msgstr "Typ"
-#: ../bin/cdraw.c:2322
+#: ../bin/cdraw.c:2794
msgid "Dash-Dot"
msgstr "Strichpunktiert"
-#: ../bin/cdraw.c:2323
+#: ../bin/cdraw.c:2795
msgid "Dash-Dot-Dot"
msgstr "Strich-Punkt-Punkt"
-#: ../bin/cdraw.c:2336
+#: ../bin/cdraw.c:2808
#, c-format
msgid "%s Color"
msgstr "%s Farbe"
-#: ../bin/cdraw.c:2365
+#: ../bin/cdraw.c:2837
msgid "Dimension Line Size"
msgstr "Maßliniengröße"
-#: ../bin/cdraw.c:2377
+#: ../bin/cdraw.c:2849
msgid "Drag to create Table Edge"
msgstr "Durch Ziehen die Tischkante erstellen"
-#: ../bin/cdraw.c:2479
+#: ../bin/cdraw.c:2946
msgid "Seg Length"
msgstr "Segmentlänge"
-#: ../bin/cdraw.c:2483
+#: ../bin/cdraw.c:2950
msgid "Rel Angle"
msgstr "Relativer Winkel"
-#: ../bin/cdraw.c:2573
+#: ../bin/cdraw.c:3044
msgid "Line"
msgstr "Linie"
-#: ../bin/cdraw.c:2573
+#: ../bin/cdraw.c:3044
msgid "Draw Line"
msgstr "Zeichne Linie"
-#: ../bin/cdraw.c:2574
+#: ../bin/cdraw.c:3045
msgid "Draw Dimension Line"
msgstr "Zeichne Maßlinie"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:363
-#: ../bin/cdraw.c:2575 ../../../../build/work/app/i18n/custmsg.h:1251
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:479
+#: ../bin/cdraw.c:3046 ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1251
msgid "Benchwork"
msgstr "Unterbau"
-#: ../bin/cdraw.c:2575
+#: ../bin/cdraw.c:3046
msgid "Draw Benchwork"
msgstr "Zeichne Unterbau"
-#: ../bin/cdraw.c:2576
+#: ../bin/cdraw.c:3047
msgid "Draw Table Edge"
msgstr "Zeichne Tischkante"
-#: ../bin/cdraw.c:2578
+#: ../bin/cdraw.c:3049
msgid "Curve End"
msgstr "Kurvenenden"
-#: ../bin/cdraw.c:2578
+#: ../bin/cdraw.c:3049
msgid "Draw Curve from End"
msgstr "Zeichne Kurve durch Enden"
-#: ../bin/cdraw.c:2579
+#: ../bin/cdraw.c:3050
msgid "Curve Tangent"
msgstr "Kurve Tangente"
-#: ../bin/cdraw.c:2579
+#: ../bin/cdraw.c:3050
msgid "Draw Curve from Tangent"
msgstr "Zeichne Kurve an Tangente"
-#: ../bin/cdraw.c:2580
+#: ../bin/cdraw.c:3051
msgid "Curve Center"
msgstr "Kurve um Mittelpunkt"
-#: ../bin/cdraw.c:2580
+#: ../bin/cdraw.c:3051
msgid "Draw Curve from Center"
msgstr "Zeichne Kurve um Mittelpunkt"
-#: ../bin/cdraw.c:2581
+#: ../bin/cdraw.c:3052
msgid "Curve Chord"
msgstr "Kurve durch Sehne"
-#: ../bin/cdraw.c:2581
+#: ../bin/cdraw.c:3052
msgid "Draw Curve from Chord"
msgstr "Zeichne Kurve durch Sehne"
-#: ../bin/cdraw.c:2582
+#: ../bin/cdraw.c:3053
msgid "Draw Bezier"
msgstr "Zeichne Bezier"
-#: ../bin/cdraw.c:2585
-msgid "Circle Tangent"
-msgstr "Kreis an Tangente"
-
-#: ../bin/cdraw.c:2585
-msgid "Draw Circle from Tangent"
-msgstr "Zeichne Kreis an Tangente"
-
-#: ../bin/cdraw.c:2586
+#: ../bin/cdraw.c:3056
msgid "Circle Center"
msgstr "Kreismittelpunkt"
-#: ../bin/cdraw.c:2586
+#: ../bin/cdraw.c:3056
msgid "Draw Circle from Center"
msgstr "Zeichne Kreis um Mittelpunkt"
-#: ../bin/cdraw.c:2588
-msgid "Circle Filled Tangent"
-msgstr "Gefüllter Kreis an Tangente"
+#: ../bin/cdraw.c:3057
+msgid "Circle Tangent"
+msgstr "Kreis an Tangente"
-#: ../bin/cdraw.c:2588
-msgid "Draw Filled Circle from Tangent"
-msgstr "Gefüllter Kreis an Tangente"
+#: ../bin/cdraw.c:3057
+msgid "Draw Circle from Tangent"
+msgstr "Zeichne Kreis an Tangente"
-#: ../bin/cdraw.c:2589
+#: ../bin/cdraw.c:3059
msgid "Circle Filled Center"
msgstr "Gefüllter Kreis Mittelpunkt"
-#: ../bin/cdraw.c:2589
+#: ../bin/cdraw.c:3059
msgid "Draw Filled Circle from Center"
msgstr "Gefüllter Kreis von Mittelpunkt"
-#: ../bin/cdraw.c:2591
+#: ../bin/cdraw.c:3060
+msgid "Circle Filled Tangent"
+msgstr "Gefüllter Kreis an Tangente"
+
+#: ../bin/cdraw.c:3060
+msgid "Draw Filled Circle from Tangent"
+msgstr "Gefüllter Kreis an Tangente"
+
+#: ../bin/cdraw.c:3062
msgid "Draw Box"
msgstr "Zeichne Rechteck"
-#: ../bin/cdraw.c:2592
+#: ../bin/cdraw.c:3063
msgid "Draw Filled Box"
msgstr "Zeichne gefülltes Rechteck"
-#: ../bin/cdraw.c:2593
+#: ../bin/cdraw.c:3064
msgid "Draw Polygon"
msgstr "Zeichne Vieleck"
-#: ../bin/cdraw.c:2594
+#: ../bin/cdraw.c:3065
msgid "Draw Filled Polygon"
msgstr "Gefülltes Polygon zeichnen"
-#: ../bin/cdraw.c:2595
+#: ../bin/cdraw.c:3066
msgid "PolyLine"
msgstr "Polylinie"
-#: ../bin/cdraw.c:2595
+#: ../bin/cdraw.c:3066
msgid "Draw PolyLine"
msgstr "Zeichne Polylinie"
-#: ../bin/cdraw.c:2612
+#: ../bin/cdraw.c:3083
msgid "Straight Objects"
msgstr "Gerade Objekte"
-#: ../bin/cdraw.c:2612
+#: ../bin/cdraw.c:3083
msgid "Draw Straight Objects"
msgstr "Zeichne gerade Objekte"
-#: ../bin/cdraw.c:2613
+#: ../bin/cdraw.c:3084
msgid "Curved Lines"
msgstr "Gebogene Linien"
-#: ../bin/cdraw.c:2613
+#: ../bin/cdraw.c:3084
msgid "Draw Curved Lines"
msgstr "Zeichne gebogene Linien"
-#: ../bin/cdraw.c:2614
+#: ../bin/cdraw.c:3085
msgid "Circle Lines"
msgstr "Kreislinien"
-#: ../bin/cdraw.c:2614
+#: ../bin/cdraw.c:3085
msgid "Draw Circles"
msgstr "Zeichne Kreise"
-#: ../bin/cdraw.c:2615
+#: ../bin/cdraw.c:3086
msgid "Shapes"
msgstr "Formen"
-#: ../bin/cdraw.c:2615
+#: ../bin/cdraw.c:3086
msgid "Draw Shapes"
msgstr "Zeichne Formen"
-#: ../bin/cdraw.c:2903
+#: ../bin/cdraw.c:3380
msgid "Close Polygon - 'g'"
msgstr "Schliesse Ploygon - 'g'"
-#: ../bin/cdraw.c:2904
+#: ../bin/cdraw.c:3381
msgid "Make PolyLine - 'l'"
msgstr "Erstelle PolyLine - 'I'"
-#: ../bin/cdraw.c:2905
+#: ../bin/cdraw.c:3382
msgid "Fill Polygon - 'f'"
msgstr "Gefülltes Polygon - 'f'"
-#: ../bin/cdraw.c:2906
+#: ../bin/cdraw.c:3383
msgid "Empty Polygon - 'u'"
msgstr "Leeres Polygon - 'u'."
-#: ../bin/cdraw.c:2908
+#: ../bin/cdraw.c:3385
msgid "Points Mode - 'p'"
msgstr "Punkte-Modus - 'p"
-#: ../bin/cdraw.c:2909
+#: ../bin/cdraw.c:3386
msgid "Delete Selected Point - 'Del'"
msgstr "Ausgewählten Punkt löschen - 'Entf'."
-#: ../bin/cdraw.c:2910
+#: ../bin/cdraw.c:3387
msgid "Vertex Point - 'v'"
msgstr "Eckpunkt - 'v"
-#: ../bin/cdraw.c:2911
+#: ../bin/cdraw.c:3388
msgid "Round Corner - 'r'"
msgstr "Runde Ecke - 'r'."
-#: ../bin/cdraw.c:2912
+#: ../bin/cdraw.c:3389
msgid "Smooth Corner - 's'"
msgstr "Abgerundete Ecke - 's"
-#: ../bin/cdraw.c:2914 ../bin/cselect.c:3354
+#: ../bin/cdraw.c:3391 ../bin/cselect.c:3701
msgid "LineType..."
msgstr "Linienart..."
-#: ../bin/cdraw.c:2915 ../bin/cselect.c:3355
+#: ../bin/cdraw.c:3392 ../bin/cselect.c:3702
msgid "Solid Line"
msgstr "Durchgezogene Linie"
-#: ../bin/cdraw.c:2916 ../bin/cselect.c:3356
+#: ../bin/cdraw.c:3393 ../bin/cselect.c:3703
msgid "Dashed Line"
msgstr "Gestrichelte Linie"
-#: ../bin/cdraw.c:2917 ../bin/cselect.c:3357
+#: ../bin/cdraw.c:3394 ../bin/cselect.c:3704
msgid "Dotted Line"
msgstr "Gepunktete Linie"
-#: ../bin/cdraw.c:2918
+#: ../bin/cdraw.c:3395
msgid "Dash-Dot Line"
msgstr "Strich-Punkt Linie"
-#: ../bin/cdraw.c:2919
+#: ../bin/cdraw.c:3396
msgid "Dash-Dot-Dot Line"
msgstr "Strich-Punkt-Punkt Linie"
-#: ../bin/cdraw.c:2920
+#: ../bin/cdraw.c:3397
msgid "Center-Dot Line"
msgstr "Mittellinie"
-#: ../bin/cdraw.c:2921
+#: ../bin/cdraw.c:3398
msgid "Phantom-Dot Line"
msgstr "Verborgene Linie"
-#: ../bin/cdraw.c:2923
+#: ../bin/cdraw.c:3400
msgid "Origin Mode - 'o'"
msgstr "Bezugs-Modus - \"o\"."
-#: ../bin/cdraw.c:2924
+#: ../bin/cdraw.c:3401
msgid "Reset Origin - '0'"
msgstr "Bezugspunkt zurücksetzen - '0'."
-#: ../bin/cdraw.c:2925
+#: ../bin/cdraw.c:3402
msgid "Origin to Selected - 'l'"
msgstr "Ausgewählter als Bezugspunkt - 'l'."
-#: ../bin/cdraw.c:2926
+#: ../bin/cdraw.c:3403
msgid "Origin to Middle - 'm'"
msgstr "Bezugs-Modus - \"m\"."
-#: ../bin/celev.c:46 ../bin/cprofile.c:1536 ../bin/csplit.c:155
-#: ../bin/csplit.c:160 ../bin/dease.c:67 ../bin/doption.c:132
-#: ../bin/doption.c:134
+#: ../bin/celev.c:42 ../bin/cprint.c:115 ../bin/cprofile.c:1532
+#: ../bin/csplit.c:193 ../bin/csplit.c:198 ../bin/dease.c:64
+#: ../bin/doption.c:92 ../bin/doption.c:94
msgid "None"
msgstr "Kein"
-#: ../bin/celev.c:46
+#: ../bin/celev.c:42
msgid "Defined"
msgstr "Fest"
-#: ../bin/celev.c:46
+#: ../bin/celev.c:42
msgid "Hidden"
msgstr "Versteckt"
-#: ../bin/celev.c:47
+#: ../bin/celev.c:43
msgid "Computed"
msgstr "Berechnet"
-#: ../bin/celev.c:47
+#: ../bin/celev.c:43
msgid "Station"
msgstr "Bahnhof"
-#: ../bin/celev.c:47 ../bin/cprofile.c:1534 ../bin/dcmpnd.c:75
+#: ../bin/celev.c:43 ../bin/cprofile.c:1530 ../bin/dcmpnd.c:70
msgid "Ignore"
msgstr "Ignorieren"
-#: ../bin/celev.c:219
+#: ../bin/celev.c:215
msgid "Set Elevation"
msgstr "Höhe festlegen"
-#: ../bin/celev.c:312 ../bin/celev.c:319 ../bin/celev.c:322
+#: ../bin/celev.c:305 ../bin/celev.c:312 ../bin/celev.c:315
#, c-format
msgid "Undefined"
msgstr "Undefiniert"
-#: ../bin/celev.c:378 ../bin/celev.c:514
+#: ../bin/celev.c:359 ../bin/celev.c:502
msgid "Elevation"
msgstr "Höhe"
-#: ../bin/celev.c:378 ../bin/cmisc.c:459 ../bin/dcontmgm.c:299
-#: ../bin/dcustmgm.c:395 ../bin/dlayer.c:1124 ../bin/dpricels.c:154
-#: ../bin/filenoteui.c:249 ../bin/linknoteui.c:182
-#: ../bin/paramfilesearch_ui.c:396 ../bin/textnoteui.c:171
+#: ../bin/celev.c:359 ../bin/cmisc.c:459 ../bin/dcontmgm.c:287
+#: ../bin/dcustmgm.c:378 ../bin/dlayer.c:1546 ../bin/dpricels.c:151
+#: ../bin/filenoteui.c:238 ../bin/linknoteui.c:177
+#: ../bin/paramfilesearch_ui.c:476 ../bin/textnoteui.c:166
msgid "Done"
msgstr "Fertig"
-#: ../bin/celev.c:390 ../bin/celev.c:445 ../bin/celev.c:447 ../bin/celev.c:466
-msgid "Click on end, +Shift to split, +Ctrl to move description"
+#: ../bin/celev.c:371
+msgid ""
+"Click on end, +Shift to split, +Ctrl to move description, +Alt to show "
+"elevation"
msgstr ""
-"Klicken Sie auf ein Ende, +Umschalten zum Teilen, +Strg zum Verschieben der "
-"Beschreibung"
+"Auf den Endpunkt klicken, mit Umschalt um zu trennen, mit Strg um die "
+"Beschreibung zu verschieben, mit Alt um die Höhe anzuzeigen"
-#: ../bin/celev.c:410
+#: ../bin/celev.c:391
msgid "Move to end or track crossing +Shift to split"
msgstr "Zum Ende oder einer Kreuzung bewegen,, +Umschalten zum Teilen"
-#: ../bin/celev.c:414
+#: ../bin/celev.c:395
msgid "Move to end or track crossing"
msgstr "Zum Ende oder einer Kreuzung bewegen"
-#: ../bin/celev.c:423
+#: ../bin/celev.c:405
#, c-format
msgid "Crossing - First %0.3f, Second %0.3f, Clearance %0.3f - Click to Split"
msgstr ""
"Kreuzung - Erstes %0.3f, Zweites %0.3f, Abstand %0.3f - Klicken Sie zum "
"Teilen"
-#: ../bin/celev.c:425
+#: ../bin/celev.c:407
#, c-format
msgid "Crossing - First %0.3f, Second %0.3f, Clearance %0.3f"
msgstr "Kreuzung - Erstes %0.3f, Zweites %0.3f, Abstand %0.3f"
-#: ../bin/celev.c:436
-#, c-format
-msgid "Track End elevation %0.3f"
-msgstr "Höhe des Gleisendpunktes %0.3f"
-
-#: ../bin/celev.c:439
+#: ../bin/celev.c:419
#, c-format
msgid "Click to split here - elevation %0.3f"
msgstr "Klicken Sie um hier zu teilen - Höhe %0.3f"
-#: ../bin/celev.c:442
+#: ../bin/celev.c:424
#, c-format
-msgid "Track Point elevation %0.3f"
-msgstr "Höhe der Gleisposition %0.3f"
+msgid "Track End elevation %0.3f - snap End Pt"
+msgstr "Höhe des Endpunkt %0.3f - fange Endpunkt"
-#: ../bin/celev.c:470
-msgid "Point selected!"
-msgstr "Punkt ausgewählt!"
+#: ../bin/celev.c:427
+#, c-format
+msgid "Track End elevation %0.3f"
+msgstr "Höhe des Gleisendpunktes %0.3f"
+
+#: ../bin/celev.c:429 ../bin/celev.c:431
+msgid ""
+"Click on End Pt, +Shift to split, +Ctrl to move description, +Alt show "
+"Elevation"
+msgstr ""
+"Auf den Endpunkt klicken, mit Umschalt um zu trennen, mit Strg um die "
+"Beschreibung zu verschieben, mit Alt um die Höhe anzuzeigen"
-#: ../bin/celev.c:473
+#: ../bin/celev.c:450
+msgid "Click on end, +Shift to split, +Ctrl to move description"
+msgstr ""
+"Klicken Sie auf ein Ende, +Umschalten zum Teilen, +Strg zum Verschieben der "
+"Beschreibung"
+
+#: ../bin/celev.c:454
msgid "Split track"
-msgstr "Gleis trennen"
+msgstr "Gleis auftrennen"
-#: ../bin/celev.c:478
+#: ../bin/celev.c:459
msgid "Track split!"
msgstr "Gleis aufgetrennt!"
-#: ../bin/cgroup.c:592
+#: ../bin/celev.c:465
+msgid "Point selected!"
+msgstr "Punkt ausgewählt!"
+
+#: ../bin/cgroup.c:611
msgid "Ungroup Object"
msgstr "Gruppierung aufheben"
-#: ../bin/cgroup.c:604
+#: ../bin/cgroup.c:623
#, c-format
msgid "%d objects ungrouped"
msgstr "%d Gruppierungen aufgelöst"
-#: ../bin/cgroup.c:606
+#: ../bin/cgroup.c:625
msgid "No objects ungrouped"
msgstr "Keine Gruppierungen aufgelöst"
-#: ../bin/cgroup.c:617
+#: ../bin/cgroup.c:637
msgid "Replace with new group?"
msgstr "Durch neue Gruppe ersetzen?"
-#: ../bin/cgroup.c:623 ../bin/compound.c:566 ../bin/cstruct.c:69
-#: ../bin/ctodesgn.c:199 ../bin/ctodesgn.c:2921 ../bin/cturnout.c:83
-#: ../bin/dcar.c:2194 ../bin/dcar.c:4366 ../bin/dcar.c:4371 ../bin/dcmpnd.c:456
-#: ../bin/dcustmgm.c:59 ../../../../build/work/app/bin/bllnhlp.c:370
-#: ../../../../build/work/app/bin/bllnhlp.c:565
+#: ../bin/cgroup.c:643 ../bin/compound.c:707 ../bin/cstruct.c:62
+#: ../bin/ctodesgn.c:193 ../bin/ctodesgn.c:2939 ../bin/cturnout.c:82
+#: ../bin/dcar.c:2186 ../bin/dcar.c:4373 ../bin/dcar.c:4378
+#: ../bin/dcmpnd.c:449 ../bin/dcustmgm.c:44
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:406
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:615
msgid "Manufacturer"
msgstr "Hersteller"
-#: ../bin/cgroup.c:624 ../bin/cmisc.c:459 ../bin/cstruct.c:69
-#: ../bin/ctodesgn.c:2922 ../bin/ctodesgn.c:2923 ../bin/ctrain.c:187
-#: ../bin/cturnout.c:83 ../bin/dcar.c:2210 ../bin/dcar.c:4367
-#: ../bin/dcar.c:4372 ../bin/dcmpnd.c:457 ../bin/dcustmgm.c:60
-#: ../bin/denum.c:182 ../bin/denum.c:183 ../bin/denum.c:186
-#: ../../../../build/work/app/bin/bllnhlp.c:371
+#: ../bin/cgroup.c:644 ../bin/cmisc.c:459 ../bin/cstruct.c:62
+#: ../bin/ctodesgn.c:2940 ../bin/ctodesgn.c:2941 ../bin/ctrain.c:188
+#: ../bin/cturnout.c:82 ../bin/dcar.c:2202 ../bin/dcar.c:4374
+#: ../bin/dcar.c:4379 ../bin/dcmpnd.c:450 ../bin/dcustmgm.c:45
+#: ../bin/denum.c:184 ../bin/denum.c:185 ../bin/denum.c:188
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:407
msgid "Description"
msgstr "Beschreibung"
-#: ../bin/cgroup.c:625 ../bin/dcmpnd.c:458
+#: ../bin/cgroup.c:645 ../bin/dcmpnd.c:451
msgid "#"
msgstr "Nr."
-#: ../bin/cgroup.c:626 ../bin/compound.c:570
+#: ../bin/cgroup.c:646 ../bin/compound.c:711
msgid "# Segments"
msgstr "Anzahl Segmente"
-#: ../bin/cgroup.c:628
+#: ../bin/cgroup.c:648
msgid "Offset X,Y:"
msgstr "Abstand X,Y:"
-#: ../bin/cgroup.c:1235
+#: ../bin/cgroup.c:1216
msgid "No endpts"
msgstr "Keine Endpunkte"
-#: ../bin/cgroup.c:1350
+#: ../bin/cgroup.c:1326
msgid "No paths"
msgstr "Keine Wege"
-#: ../bin/cgroup.c:1619 ../bin/cgroup.c:1669
+#: ../bin/cgroup.c:1597 ../bin/cgroup.c:1652
msgid "Group Tracks"
msgstr "Gleise gruppieren"
-#: ../bin/cgroup.c:1729
+#: ../bin/cgroup.c:1715
msgid "Group Objects"
msgstr "Objekte gruppieren"
-#: ../bin/chndldto.c:70
+#: ../bin/chndldto.c:67
msgid "Place frog and drag angle"
msgstr "Herzstück festlegen und auf Winkel ziehen"
-#: ../bin/chndldto.c:87
+#: ../bin/chndldto.c:84
msgid "frog"
msgstr "Herzstück"
-#: ../bin/chndldto.c:93
+#: ../bin/chndldto.c:90
msgid "Drag to set angle"
msgstr "Durch Ziehen den Winkel festlegen"
-#: ../bin/chndldto.c:132
+#: ../bin/chndldto.c:129
#, c-format
msgid "Angle = %0.2f Frog# = %0.2f"
msgstr "Winkel = %0.2f Steigung = %0.2f"
-#: ../bin/chndldto.c:134
+#: ../bin/chndldto.c:131
msgid "Frog angle is too close to 0"
msgstr "Herzstückwinkel ist zu nahe bei 0"
-#: ../bin/chndldto.c:137
+#: ../bin/chndldto.c:134
msgid "Select point position"
msgstr "Position des Punktes auswählen"
-#: ../bin/chndldto.c:149 ../bin/chndldto.c:174
+#: ../bin/chndldto.c:146 ../bin/chndldto.c:171
msgid "points"
msgstr "Punkte"
-#: ../bin/chndldto.c:271
+#: ../bin/chndldto.c:268
#, c-format
msgid "Length = %0.2f Angle = %0.2f Frog# = %0.2f"
msgstr "Länge = %0.2f Winkel = %0.2f Steigung=%0.2f"
-#: ../bin/chndldto.c:274
+#: ../bin/chndldto.c:271
msgid "Create Hand Laid Turnout"
msgstr "Erstelle eine Selbstbauweiche"
-#: ../bin/chndldto.c:358
+#: ../bin/chndldto.c:355
msgid "HandLaidTurnout"
msgstr "Selbstbauweiche"
-#: ../bin/cjoin.c:166
+#: ../bin/cjoin.c:164
#, c-format
msgid "Curved Track: Radius=%s Length=%s"
msgstr "Gleisbogen: Radius=%s Länge=%s"
-#: ../bin/cjoin.c:252
+#: ../bin/cjoin.c:250
#, c-format
msgid "Curved Track: Radius=%s Length=%s Angle=%0.3f"
msgstr "Gleisbogen: Radius=%s Länge=%s Winkel=%0.3f"
-#: ../bin/cjoin.c:348
+#: ../bin/cjoin.c:346
#, c-format
msgid "Track (%d) is too short for transition-curve by %0.3f"
msgstr "Gleis (%d) ist für den Übergangsbogen um %0.3f zu kurz"
-#: ../bin/cjoin.c:366
+#: ../bin/cjoin.c:364
#, c-format
msgid "Connecting track is too short by %0.3f"
msgstr "Verbindungsgleis ist um %0.3f zu kurz"
-#: ../bin/cjoin.c:410
+#: ../bin/cjoin.c:408
msgid "Click on an unselected End-Point"
msgstr "Einen nicht ausgewählten Endpunkt anklicken"
-#: ../bin/cjoin.c:411
+#: ../bin/cjoin.c:409
msgid "Click on a selected End-Point"
msgstr "Einen ausgewählten Endpunkt anclicken"
-#: ../bin/cjoin.c:417
+#: ../bin/cjoin.c:415
msgid "unselected"
msgstr "nicht ausgewählt"
-#: ../bin/cjoin.c:417 ../bin/cprint.c:161
+#: ../bin/cjoin.c:415 ../bin/cprint.c:160
msgid "selected"
msgstr "ausgewählt"
-#: ../bin/cjoin.c:474
+#: ../bin/cjoin.c:472
msgid "Left click - Select first draw object end"
msgstr "Linksklick - Ende des ersten Zeichenobjektes auswählen"
-#: ../bin/cjoin.c:513 ../bin/cjoin.c:539
+#: ../bin/cjoin.c:512 ../bin/cjoin.c:546
msgid "Not a line - Try again"
msgstr "Keine Linie - Versuchen Sie es erneut"
-#: ../bin/cjoin.c:535
+#: ../bin/cjoin.c:542
msgid "Left click - Select second object end"
msgstr "Linksklick - Ende des zweite Objektes auswählen"
-#: ../bin/cjoin.c:547
+#: ../bin/cjoin.c:554
msgid "Same draw object and same endpoint - Try again"
-msgstr "Gleiches Zeichenobjekt und gleicher Endpunkt - Versuchen Sie es erneut"
+msgstr ""
+"Gleiches Zeichenobjekt und gleicher Endpunkt - Versuchen Sie es erneut"
-#: ../bin/cjoin.c:581
+#: ../bin/cjoin.c:596
msgid "Create PolyLine"
msgstr "Erstelle Polylinie"
-#: ../bin/cjoin.c:654 ../bin/cjoin.c:901
-msgid "Desired Radius"
-msgstr "Gewünschter Radius"
-
-#: ../bin/cjoin.c:823
+#: ../bin/cjoin.c:838
msgid "Left click - join with track"
msgstr "Linke Maustaste - Verbinden mit neuem Gleis"
-#: ../bin/cjoin.c:825
+#: ../bin/cjoin.c:840
msgid "Left click - join with track, Shift Left click - move to join"
msgstr ""
"Linke Maustaste - Verbinden mit neuem Gleis, Umschalten + linke Maustaste - "
"Verschieben zum Verbinden"
-#: ../bin/cjoin.c:896 ../bin/cjoin.c:1304 ../bin/cjoin.c:1311
+#: ../bin/cjoin.c:918 ../bin/cjoin.c:1337 ../bin/cjoin.c:1344
msgid "Select 2nd track"
msgstr "Zweites Gleis auswählen"
-#: ../bin/cjoin.c:1113
+#: ../bin/cjoin.c:1147
msgid "Beyond end of 2nd track"
msgstr "Außerhalb des zweiten Gleises"
-#: ../bin/cjoin.c:1148
+#: ../bin/cjoin.c:1182
msgid "Beyond end of 1st track"
msgstr "Außerhalb des ersten Gleises"
-#: ../bin/cjoin.c:1170
+#: ../bin/cjoin.c:1204
msgid "First Track Type not supported for non-Cornu Join"
msgstr "Das erste Gleis kann nur über Cornu-Kurven verbunden werden"
-#: ../bin/cjoin.c:1177
+#: ../bin/cjoin.c:1211
msgid "First "
msgstr "Erste "
-#: ../bin/cjoin.c:1202
+#: ../bin/cjoin.c:1236
msgid "Second Track Type not supported for non-Cornu Join"
msgstr "Das zweite Gleis kann nur über Cornu-Kurven verbunden werden"
-#: ../bin/cjoin.c:1209
+#: ../bin/cjoin.c:1243
msgid "Second "
msgstr "Zweite "
-#: ../bin/cjoin.c:1223 ../bin/track.c:2270 ../bin/track.c:2306
-#: ../bin/track.c:2372
+#: ../bin/cjoin.c:1257 ../bin/track.c:2335 ../bin/track.c:2371
+#: ../bin/track.c:2437
msgid "Connecting "
msgstr "Verbinde "
-#: ../bin/cjoin.c:1314
+#: ../bin/cjoin.c:1347
msgid "Join Tracks"
msgstr "Gleise zusammenfügen"
-#: ../bin/cjoin.c:1396
+#: ../bin/cjoin.c:1435
msgid "Join"
msgstr "Verbinden"
-#: ../bin/cjoin.c:1397
+#: ../bin/cjoin.c:1436
msgid "Join Track"
msgstr "Gleise zusammenfügen"
-#: ../bin/cjoin.c:1398
+#: ../bin/cjoin.c:1437
msgid "Join Lines"
msgstr "Linien zusammenfügen"
-#: ../bin/cmisc.c:59
+#: ../bin/cmisc.c:57
msgid "Middle"
msgstr "Mittel"
-#: ../bin/cmisc.c:59 ../bin/macro.c:98
+#: ../bin/cmisc.c:57 ../bin/macro.c:67
msgid "End"
msgstr "Ende"
-#: ../bin/cmisc.c:242 ../bin/cmodify.c:349 ../bin/compound.c:664
-#: ../bin/ctrain.c:218
+#: ../bin/cmisc.c:142 ../bin/tcurve.c:390 ../bin/tease.c:520
+msgid "Lock"
+msgstr "Sperren"
+
+#: ../bin/cmisc.c:234 ../bin/cmodify.c:364 ../bin/compound.c:805
+#: ../bin/ctrain.c:219
msgid "Change Track"
msgstr "Gleis ändern"
-#: ../bin/cmisc.c:572
-msgid "Select track to describe"
-msgstr "Zu beschreibendes Gleis auswählen"
+#: ../bin/cmisc.c:585
+msgid "Select track to describe +Shift for Frozen"
+msgstr ""
+"Zu beschreibendes Gleis auswählen, mit Umschalt-Taste für fixierte Elemente"
-#: ../bin/cmisc.c:653 ../bin/doption.c:235
+#: ../bin/cmisc.c:686 ../bin/doption.c:236
msgid "Properties"
msgstr "Eigenschaften"
@@ -1897,11 +1944,7 @@ msgstr "Eigenschaften"
msgid "Bridge"
msgstr "Brücke"
-#: ../bin/cmodify.c:198 ../bin/cmodify.c:467
-msgid "Modify Track"
-msgstr "Gleis bearbeiten"
-
-#: ../bin/cmodify.c:262
+#: ../bin/cmodify.c:266
msgid ""
"Select a track to modify, Left-Click change length, Right-Click to add "
"flextrack"
@@ -1909,389 +1952,406 @@ msgstr ""
"Wählen Sie ein Gleis zum Verändern aus, ändern Sie mit der linken Maustaste "
"die Länge, fügen Sie mit der rechten Maustaste ein Flexgleis hinzu"
-#: ../bin/cmodify.c:508
+#: ../bin/cmodify.c:490
+msgid "Modify Track"
+msgstr "Gleis bearbeiten"
+
+#: ../bin/cmodify.c:532
msgid "Drag to add flex track"
msgstr "Ziehen um Flexgleis zu erstellen"
-#: ../bin/cmodify.c:513
+#: ../bin/cmodify.c:537
msgid "No track to extend"
msgstr "Keine Gleise zu erweitern"
-#: ../bin/cmodify.c:518
+#: ../bin/cmodify.c:542
msgid "No track selected"
msgstr "Keine Gleise ausgewählt"
-#: ../bin/cmodify.c:651
+#: ../bin/cmodify.c:675
#, c-format
msgid "Curve Track: Radius=%s Length=%s Angle=%0.3f"
msgstr "Gleisbogen: Radius=%s Länge=%s Winkel=%0.3f"
-#: ../bin/cmodify.c:666
+#: ../bin/cmodify.c:690
msgid "Extend Track"
msgstr "Gleis verlängern"
-#: ../bin/cmodify.c:795
+#: ../bin/cmodify.c:822
msgid "Modify"
msgstr "Verändern"
-#: ../bin/cmodify.c:802 ../bin/cselect.c:3311 ../bin/cselect.c:3327
-#: ../bin/misc.c:2201 ../bin/misc.c:2203
+#: ../bin/cmodify.c:830 ../bin/cselect.c:3654 ../bin/cselect.c:3671
+#: ../bin/misc.c:2444 ../bin/misc.c:2446
msgid "Zoom In"
msgstr "Zoom größer"
-#: ../bin/cmodify.c:803 ../bin/cselect.c:3315 ../bin/cselect.c:3328
-#: ../bin/misc.c:2205 ../bin/misc.c:2207
+#: ../bin/cmodify.c:831 ../bin/cselect.c:3658 ../bin/cselect.c:3672
+#: ../bin/misc.c:2448 ../bin/misc.c:2450
msgid "Zoom Out"
msgstr "Zoom kleiner"
-#: ../bin/cmodify.c:804
+#: ../bin/cmodify.c:832
msgid "Pan center - 'c'"
msgstr "Ausschnitt hier zentrieren - 'c'."
-#: ../bin/cnote.c:69 ../bin/textnoteui.c:48 ../bin/trknote.c:60
+#: ../bin/cnote.c:67 ../bin/textnoteui.c:43 ../bin/trknote.c:55
msgid "Note"
msgstr "Notiz"
-#: ../bin/cnote.c:75
+#: ../bin/cnote.c:73
msgid "Replace this text with your layout notes"
msgstr "Ersetzen Sie diesen Text durch Ihre Notizen"
-#: ../bin/compound.c:544 ../bin/compound.c:549 ../bin/compound.c:554
-#: ../bin/compound.c:559 ../bin/tbezier.c:248 ../bin/tbezier.c:255
-#: ../bin/tcornu.c:297 ../bin/tcornu.c:302
+#: ../bin/compound.c:685 ../bin/compound.c:690 ../bin/compound.c:695
+#: ../bin/compound.c:700 ../bin/tbezier.c:252 ../bin/tbezier.c:259
+#: ../bin/tcornu.c:305 ../bin/tcornu.c:310
msgid "Center X,Y"
msgstr "Mittelpunkt: X,Y"
-#: ../bin/compound.c:546 ../bin/tbezier.c:249 ../bin/tcornu.c:298
+#: ../bin/compound.c:687 ../bin/tbezier.c:253 ../bin/tcornu.c:306
msgid "Z1"
msgstr "Z1"
-#: ../bin/compound.c:551 ../bin/tbezier.c:256 ../bin/tcornu.c:303
+#: ../bin/compound.c:692 ../bin/tbezier.c:260 ../bin/tcornu.c:311
msgid "Z2"
msgstr "Z2"
-#: ../bin/compound.c:552
+#: ../bin/compound.c:693
msgid "End Pt 3: X,Y"
msgstr "Endpunkt 3: X,Y"
-#: ../bin/compound.c:556
+#: ../bin/compound.c:697
msgid "Z3"
msgstr "Z3"
-#: ../bin/compound.c:557
+#: ../bin/compound.c:698
msgid "End Pt 4: X,Y"
msgstr "Endpunkt 4: X,Y"
-#: ../bin/compound.c:561
+#: ../bin/compound.c:702
msgid "Z4"
msgstr "Z4"
-#: ../bin/compound.c:568 ../bin/cstruct.c:69 ../bin/cturnout.c:83
-#: ../bin/dcar.c:4366 ../bin/dcar.c:4371 ../bin/dcustmgm.c:60
-#: ../bin/doption.c:137 ../bin/doption.c:138
+#: ../bin/compound.c:704 ../bin/tease.c:513
+msgid "Origin: X,Y"
+msgstr "Ausgangspunkt: X,Y"
+
+#: ../bin/compound.c:709 ../bin/cstruct.c:62 ../bin/cturnout.c:82
+#: ../bin/dcar.c:4373 ../bin/dcar.c:4378 ../bin/dcustmgm.c:45
+#: ../bin/doption.c:97 ../bin/doption.c:98
msgid "Part No"
msgstr "Teilenr"
-#: ../bin/compound.c:569
+#: ../bin/compound.c:710
msgid "LineType"
msgstr "Linienart"
-#: ../bin/compound.c:830 ../bin/cstruct.c:937 ../bin/cstruct.c:1128
+#: ../bin/compound.c:971 ../bin/cstruct.c:953 ../bin/cstruct.c:1149
msgid "Structure"
msgstr "Gebäude"
-#: ../bin/compound.c:832 ../bin/cswitchmotor.c:228 ../bin/cturnout.c:1069
-#: ../bin/cturnout.c:2933
+#: ../bin/compound.c:973 ../bin/cswitchmotor.c:225 ../bin/cturnout.c:2949
+#: ../bin/cturnout.c:4836
msgid "Turnout"
msgstr "Weiche"
-#: ../bin/compound.c:832
+#: ../bin/compound.c:973
msgid "Sectional Track"
msgstr "Festgleise"
-#: ../bin/compound.c:836
+#: ../bin/compound.c:977
#, c-format
msgid "%s (%d) Layer= %d %s"
msgstr "%s (%d): Ebene=%d %s"
-#: ../bin/cparalle.c:52 ../bin/cparalle.c:100 ../bin/cparalle.c:140
-#: ../bin/ctodesgn.c:543 ../bin/ctodesgn.c:563 ../bin/ctodesgn.c:583
-#: ../bin/tcurve.c:371
+#: ../bin/cparalle.c:49 ../bin/cparalle.c:97 ../bin/cparalle.c:138
+#: ../bin/ctodesgn.c:537 ../bin/ctodesgn.c:557 ../bin/ctodesgn.c:577
+#: ../bin/tcurve.c:384
msgid "Separation"
msgstr "Zwischenraum"
-#: ../bin/cparalle.c:55 ../bin/cparalle.c:101
+#: ../bin/cparalle.c:52 ../bin/cparalle.c:98
msgid "Radius Factor"
msgstr "Radius Faktor"
-#: ../bin/cparalle.c:141
+#: ../bin/cparalle.c:139
msgid "Radius factor"
msgstr "Radius-Faktor"
-#: ../bin/cparalle.c:154
+#: ../bin/cparalle.c:152
msgid " Track/Line doesn't support parallel"
msgstr " Zu diesem Gleis oder Linie kann keine Parallele erstellt werden"
-#: ../bin/cparalle.c:228
+#: ../bin/cparalle.c:226
msgid "Create Parallel Track"
msgstr "Erzeuge paralleles Gleis"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:354
-#: ../bin/cparalle.c:298 ../../../../build/work/app/i18n/custmsg.h:1233
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:470
+#: ../bin/cparalle.c:296 ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1233
msgid "Parallel"
msgstr "Parallel"
-#: ../bin/cparalle.c:299
+#: ../bin/cparalle.c:297
msgid "Parallel Track"
msgstr "Paralleles Gleis"
-#: ../bin/cparalle.c:300
+#: ../bin/cparalle.c:298
msgid "Parallel Line"
msgstr "Parallele Linie"
-#: ../bin/cprint.c:110
+#: ../bin/cprint.c:108
msgid "Portrait"
msgstr "Hochformat"
-#: ../bin/cprint.c:110
+#: ../bin/cprint.c:108
msgid "Landscape"
msgstr "Querformat"
-#: ../bin/cprint.c:111 ../bin/cswitchmotor.c:94 ../bin/cswitchmotor.c:113
-#: ../bin/cswitchmotor.c:225 ../bin/dbench.c:78 ../bin/dease.c:67
-#: ../bin/doption.c:131 ../bin/doption.c:133 ../bin/macro.c:1408
+#: ../bin/cprint.c:109 ../bin/cswitchmotor.c:90 ../bin/cswitchmotor.c:109
+#: ../bin/cswitchmotor.c:222 ../bin/dbench.c:73 ../bin/dease.c:64
+#: ../bin/doption.c:91 ../bin/doption.c:93 ../bin/macro.c:1391
msgid "Normal"
msgstr "Normal"
-#: ../bin/cprint.c:111 ../bin/cswitchmotor.c:95 ../bin/cswitchmotor.c:114
-#: ../bin/cswitchmotor.c:226 ../bin/ctrain.c:941 ../bin/ctrain.c:1250
+#: ../bin/cprint.c:109 ../bin/cswitchmotor.c:91 ../bin/cswitchmotor.c:110
+#: ../bin/cswitchmotor.c:223 ../bin/ctrain.c:942 ../bin/ctrain.c:1251
msgid "Reverse"
msgstr "Rückwärts"
-#: ../bin/cprint.c:112
+#: ../bin/cprint.c:110
msgid "Engineering Data"
msgstr "Zeichnungsinformationen"
-#: ../bin/cprint.c:113
+#: ../bin/cprint.c:111
msgid "Registration Marks (in 1:1 scale only)"
msgstr "Positionierungshilfen (nur im 1:1 Maßstab)"
-#: ../bin/cprint.c:114
+#: ../bin/cprint.c:112
msgid "Page Numbers"
msgstr "Seitennummern"
-#: ../bin/cprint.c:115
+#: ../bin/cprint.c:113
msgid "Ignore Page Margins"
msgstr "Übergehe Seitenränder"
-#: ../bin/cprint.c:116 ../bin/csnap.c:705 ../bin/doption.c:530
+#: ../bin/cprint.c:114 ../bin/csnap.c:675 ../bin/doption.c:535
msgid "Snap Grid"
msgstr "Fangraster"
-#: ../bin/cprint.c:117
-msgid "Rulers"
-msgstr "Lineale"
+#: ../bin/cprint.c:115
+msgid "Layout Edge"
+msgstr "Anlagenrand"
-#: ../bin/cprint.c:118
+#: ../bin/cprint.c:115
+msgid "Every Page"
+msgstr "Jede Seite"
+
+#: ../bin/cprint.c:116
msgid "Roadbed Outline"
msgstr "Rand des Gleisbett"
-#: ../bin/cprint.c:119
+#: ../bin/cprint.c:117
msgid "Centerline below Scale 1:1"
msgstr "Mittellinie bei Maßstab<1:1"
-#: ../bin/cprint.c:127
+#: ../bin/cprint.c:126
msgid "Print Scale"
msgstr "Druckmaßstab"
-#: ../bin/cprint.c:128
+#: ../bin/cprint.c:127
msgid "Page Width"
msgstr "Seitenbreite"
-#: ../bin/cprint.c:129
+#: ../bin/cprint.c:128
msgid "Max"
msgstr "Max."
-#: ../bin/cprint.c:131
+#: ../bin/cprint.c:130
msgid "Snap Shot"
msgstr "Schnappschuss"
-#: ../bin/cprint.c:132
+#: ../bin/cprint.c:131
msgid "Page Format"
msgstr "Seitenformat"
-#: ../bin/cprint.c:133
+#: ../bin/cprint.c:132
msgid "Print Order"
msgstr "Druckreihenfolge"
-#: ../bin/cprint.c:134
+#: ../bin/cprint.c:133
msgid "Print "
msgstr "Drucken "
-#: ../bin/cprint.c:149
+#: ../bin/cprint.c:142
+msgid "Rulers:"
+msgstr "Lineale:"
+
+#: ../bin/cprint.c:148
msgid " Width"
msgstr " Breite"
-#: ../bin/cprint.c:151
+#: ../bin/cprint.c:150
msgid "Margins"
msgstr "Ränder"
-#: ../bin/cprint.c:152 ../bin/cturntbl.c:250
+#: ../bin/cprint.c:151 ../bin/cturntbl.c:247
msgid "Origin: X"
msgstr "Ausgangspunkt: X"
-#: ../bin/cprint.c:153 ../bin/csnap.c:535
+#: ../bin/cprint.c:152 ../bin/csnap.c:508
msgid "Y"
msgstr "Y"
-#: ../bin/cprint.c:154 ../bin/cprint.c:620 ../bin/cprofile.c:715
-#: ../bin/dcar.c:2214
+#: ../bin/cprint.c:153 ../bin/cprint.c:616 ../bin/cprofile.c:708
+#: ../bin/dcar.c:2206
msgid "Reset"
msgstr "Zurücksetzen"
-#: ../bin/cprint.c:156
+#: ../bin/cprint.c:155
msgid "Setup"
msgstr "Einstellungen"
-#: ../bin/cprint.c:157 ../bin/cselect.c:3319 ../bin/misc.c:2232
+#: ../bin/cprint.c:156 ../bin/cselect.c:3662 ../bin/misc.c:2479
msgid "Select All"
msgstr "Alles auswählen"
-#: ../bin/cprint.c:158 ../bin/cprofile.c:717 ../bin/layout.c:472
-#: ../bin/misc.c:730
+#: ../bin/cprint.c:157 ../bin/cprofile.c:710 ../bin/layout.c:507
+#: ../bin/misc.c:806
msgid "Clear"
msgstr "Löschen"
-#: ../bin/cprint.c:160
+#: ../bin/cprint.c:159
msgid "0 pages"
msgstr "0 Seiten"
-#: ../bin/cprint.c:187
+#: ../bin/cprint.c:186
#, c-format
msgid "%d page"
msgstr "Seite %d"
-#: ../bin/cprint.c:187
+#: ../bin/cprint.c:186
#, c-format
msgid "%d pages"
msgstr "%d Seiten"
-#: ../bin/cprint.c:408
+#: ../bin/cprint.c:407
#, c-format
msgid "PrintScale 1:%ld Room %s x %s Model Scale %s File %s"
msgstr "Druckmaßstab 1:%ld Raum %s x %s Modellmaßstab %s Datei %s"
-#: ../bin/cprint.c:716 ../bin/dbitmap.c:208 ../bin/filenoteui.c:158
-#: ../bin/misc.c:1239 ../bin/misc.c:1317 ../bin/param.c:2622
-#: ../wlib/gtklib/browserhelp.c:88 ../../../../build/work/app/bin/bllnhlp.c:584
+#: ../bin/cprint.c:712 ../bin/dbitmap.c:427 ../bin/filenoteui.c:147
+#: ../bin/misc.c:1328 ../bin/misc.c:1407 ../bin/param.c:2721
+#: ../bin/svgoutput.c:460 ../wlib/gtklib/browserhelp.c:96
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:634
msgid "Cancel"
msgstr "Abbruch"
-#: ../bin/cprint.c:723
+#: ../bin/cprint.c:719
msgid "Print Margins"
msgstr "Druckbegrenzungen"
-#: ../bin/cprint.c:1367 ../bin/cprofile.c:719 ../bin/ctodesgn.c:2869
-#: ../bin/denum.c:55
+#: ../bin/cprint.c:1383 ../bin/cprofile.c:712 ../bin/ctodesgn.c:2887
+#: ../bin/denum.c:51
msgid "Print"
msgstr "Drucken"
-#: ../bin/cprint.c:1388
+#: ../bin/cprint.c:1404
msgid "Select pages to print, or drag to move print grid"
msgstr ""
"Zu druckende Seiten auswählen oder ziehen um das Druckraster zu verschieben"
-#: ../bin/cprint.c:1486
+#: ../bin/cprint.c:1505
msgid "Print..."
msgstr "Drucken..."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:350
-#: ../bin/cprofile.c:614 ../bin/cprofile.c:1448 ../bin/cprofile.c:1528
-#: ../../../../build/work/app/bin/bllnhlp.c:122
-#: ../../../../build/work/app/i18n/custmsg.h:1225
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:466
+#: ../bin/cprofile.c:610 ../bin/cprofile.c:1444 ../bin/cprofile.c:1524
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:126
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1225
msgid "Profile"
msgstr "Höhenprofil"
-#: ../bin/cprofile.c:632
+#: ../bin/cprofile.c:628
#, c-format
msgid "%s Profile: %s"
msgstr "%s Höhenprofil: %s"
-#: ../bin/cprofile.c:713 ../bin/misc.c:1898
+#: ../bin/cprofile.c:706 ../bin/misc.c:2010
msgid "Change"
msgstr "Ändern"
-#: ../bin/cprofile.c:757 ../bin/cprofile.c:767
+#: ../bin/cprofile.c:753 ../bin/cprofile.c:763
#, c-format
msgid "Elev = %0.1f"
msgstr "Höhe = %0.1f"
-#: ../bin/cprofile.c:769
+#: ../bin/cprofile.c:765
#, c-format
msgid "Elev=%0.2f %0.1f%%"
msgstr "Höhe=%0.2f %0.1f%%"
-#: ../bin/cprofile.c:774
+#: ../bin/cprofile.c:770
#, c-format
msgid "%0.1f%% Elev = %0.2f"
msgstr "%0.1f%% Höhe = %0.2f"
-#: ../bin/cprofile.c:779
+#: ../bin/cprofile.c:775
#, c-format
msgid "%0.1f%% Elev = %0.2f %0.1f%%"
msgstr "%0.1f%% Höhe = %0.2f %0.1f%%"
-#: ../bin/cprofile.c:794 ../bin/cprofile.c:864 ../bin/cprofile.c:1400
+#: ../bin/cprofile.c:790 ../bin/cprofile.c:860 ../bin/cprofile.c:1396
msgid "Profile Command"
msgstr "Höhenprofil bearbeiten"
-#: ../bin/cprofile.c:803 ../bin/cprofile.c:1454
+#: ../bin/cprofile.c:799 ../bin/cprofile.c:1450
msgid "Drag to change Elevation"
msgstr "Ziehen um die Höhe zu ändern"
-#: ../bin/cprofile.c:905
+#: ../bin/cprofile.c:901
msgid "Select a Defined Elevation to start Profile"
msgstr "Eine festgelegte Höhe auswählen, um das Höhenprofil zu beginnen"
-#: ../bin/cprofile.c:907
+#: ../bin/cprofile.c:903
msgid "Select a Defined Elevation to extend Profile"
msgstr "Eine festgelegte Höhe auswählen, um das Höhenprofil zu erweitern"
-#: ../bin/cprofile.c:1462
+#: ../bin/cprofile.c:1458
msgid "Select a Defined Elevation to start profile"
msgstr "Eine festgelegte Höhe auswählen, um das Höhenprofil zu beginnen"
-#: ../bin/cprofile.c:1532
+#: ../bin/cprofile.c:1528
msgid "Define"
msgstr "Festlegen"
-#: ../bin/cpull.c:439 ../bin/cpull.c:595
+#: ../bin/cpull.c:436 ../bin/cpull.c:592
#, c-format
msgid "%d tracks moved"
msgstr "%d Gleise verschoben"
-#: ../bin/cpull.c:485
+#: ../bin/cpull.c:482
msgid "Pull Tracks"
msgstr "Gleise ziehen"
-#: ../bin/cpull.c:559
+#: ../bin/cpull.c:556
msgid "Tighten Tracks"
msgstr "Gleise zusammendrücken"
-#: ../bin/cpull.c:646
+#: ../bin/cpull.c:643
msgid "Connect Multiple Tracks - Select multiple tracks to join first"
msgstr ""
"Verbinde mehrere Gleise - zuerst mehrere Gleise für die Verbindung auswählen"
-#: ../bin/cpull.c:649
+#: ../bin/cpull.c:646
msgid "Try to Connect all Selected Tracks?"
msgstr "Sollen alle ausgewählten Gleise verbunden werden?"
-#: ../bin/cpull.c:655
+#: ../bin/cpull.c:652
msgid "ReConnect"
msgstr "Wiederverbinden"
-#: ../bin/cpull.c:691
+#: ../bin/cpull.c:688
#, c-format
msgid ""
"Round 1 %d and Round 2 %d tracks connected, %d close pairs of end Points "
@@ -2300,13 +2360,13 @@ msgstr ""
"In Durchgang 1 %d und in Durchgang 2 %d Gleise verbunden, %d nahe "
"beieinander liegene Punkte wurden nicht verbunden"
-#: ../bin/cpull.c:716
+#: ../bin/cpull.c:713
msgid "Select first endpoint or turntable to connect, +Shift to tighten"
msgstr ""
"Wählen Sie den ersten anzuschließenden Endpunkt oder eine Drehscheibe, "
"+Umschalten zum Festziehen"
-#: ../bin/cpull.c:718
+#: ../bin/cpull.c:715
msgid ""
"Select first endpoint to connect, or Right-Click for connecting selected "
"tracks (not turntable)"
@@ -2315,492 +2375,529 @@ msgstr ""
"mit der rechten Maustaste, um ausgewählte Gleise zu verbinden (nicht "
"Drehscheibe)"
-#: ../bin/cpull.c:777
+#: ../bin/cpull.c:774
msgid "Select second endpoint or turntable to connect"
-msgstr "Wählen Sie den zweiten anzuschließenden Endpunkt oder eine Drehscheibe"
+msgstr ""
+"Wählen Sie den zweiten anzuschließenden Endpunkt oder eine Drehscheibe"
-#: ../bin/cpull.c:784
+#: ../bin/cpull.c:781
msgid "Same Track! - please select another"
msgstr "Gleiches Gleis! - Bitte wählen Sie ein anderes aus"
-#: ../bin/cpull.c:872
+#: ../bin/cpull.c:873
msgid "Connect Two Tracks"
msgstr "Zwei Gleise zusammenfügen"
-#: ../bin/cpull.c:874
+#: ../bin/cpull.c:875
msgid "Connect All Selected - 'S'"
msgstr "Alle ausgewählten Gleise verbinden - 'S'"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:361
-#: ../bin/cruler.c:143 ../../../../build/work/app/i18n/custmsg.h:1247
+#: ../bin/cruler.c:372
+msgid "Measurement"
+msgstr "Abmessung"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:477
+#: ../bin/cruler.c:373 ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1247
msgid "Ruler"
msgstr "Lineal"
-#: ../bin/cselect.c:615
+#: ../bin/cruler.c:374
+msgid "Protractor"
+msgstr "Winkelmesser"
+
+#: ../bin/cselect.c:654
msgid "Change Track Width"
msgstr "Gleisbreite ändern"
-#: ../bin/cselect.c:639
+#: ../bin/cselect.c:679
msgid "Change Line Type"
msgstr "Linienstil ändern"
-#: ../bin/cselect.c:668
+#: ../bin/cselect.c:704
+msgid "Delete only works in Select Mode"
+msgstr "Löschen funktioniert nur im Auswahlmodus"
+
+#: ../bin/cselect.c:718
msgid "Delete Tracks"
msgstr "Gleise löschen"
-#: ../bin/cselect.c:744
+#: ../bin/cselect.c:808
msgid "Hide Tracks (Tunnel)"
msgstr "Gleise verbergen (Tunnel)"
-#: ../bin/cselect.c:762
+#: ../bin/cselect.c:826
msgid "Bridge Tracks "
msgstr "Brückengleise "
-#: ../bin/cselect.c:779
+#: ../bin/cselect.c:843
msgid "Ties Tracks "
msgstr "Schwellengleise "
-#: ../bin/cselect.c:816 ../bin/misc.c:2352
+#: ../bin/cselect.c:880 ../bin/misc.c:2617
msgid "Move To Current Layer"
msgstr "Auf aktuelle Ebene verschieben"
-#: ../bin/cselect.c:856 ../bin/misc.c:2502
+#: ../bin/cselect.c:932 ../bin/misc.c:2784
msgid "Clear Elevations"
msgstr "Höhen löschen"
-#: ../bin/cselect.c:900
+#: ../bin/cselect.c:976
msgid "Add Elevations"
msgstr "Höhen hinzufügen"
-#: ../bin/cselect.c:915
+#: ../bin/cselect.c:991
msgid "Refresh Compound"
msgstr "Zusammenstellung aktualisieren"
-#: ../bin/cselect.c:947 ../bin/dcar.c:4366 ../bin/dcar.c:4371
-#: ../bin/dcustmgm.c:60 ../bin/layout.c:463
+#: ../bin/cselect.c:1023 ../bin/dcar.c:4373 ../bin/dcar.c:4378
+#: ../bin/dcustmgm.c:45 ../bin/layout.c:498
msgid "Scale"
msgstr "Maßstab"
-#: ../bin/cselect.c:947 ../bin/cselect.c:972
+#: ../bin/cselect.c:1023 ../bin/cselect.c:1048
msgid "Ratio"
msgstr "Verhältnis"
-#: ../bin/cselect.c:956
+#: ../bin/cselect.c:1032
msgid "Do not resize track"
msgstr "Gleismaße nicht ändern"
-#: ../bin/cselect.c:960
+#: ../bin/cselect.c:1036
msgid "Rescale by:"
msgstr "Skalieren um:"
-#: ../bin/cselect.c:962
+#: ../bin/cselect.c:1038
msgid "From:"
msgstr "Von:"
-#: ../bin/cselect.c:966
+#: ../bin/cselect.c:1042
msgid "To: "
msgstr "Nach:"
-#: ../bin/cselect.c:1033
+#: ../bin/cselect.c:1109
msgid "Rescale Tracks"
msgstr "Gleise skalieren"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:357
-#: ../bin/cselect.c:1163 ../../../../build/work/app/i18n/custmsg.h:1239
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:473
+#: ../bin/cselect.c:1252 ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1239
msgid "Rescale"
msgstr "Maßstab ändern"
-#: ../bin/cselect.c:1464
+#: ../bin/cselect.c:1597
msgid "Cornu too tight - it was deleted"
msgstr "Cornu ist zu eng und wurde gelöscht"
-#: ../bin/cselect.c:1519
+#: ../bin/cselect.c:1652
msgid "Move To Join"
msgstr "Verbinde durch Verschieben"
-#: ../bin/cselect.c:1711
+#: ../bin/cselect.c:1844
msgid "Drag to move selected tracks - Shift+Ctrl+Arrow micro-steps the move"
msgstr ""
-"Ziehen um die ausgewählten Gleise zu verschieben - mit Umschalt+Str"
-"+Pfeiltasten umd feine Stufen verschieben"
+"Ziehen um die ausgewählten Gleise zu verschieben - mit "
+"Umschalt+Str+Pfeiltasten umd feine Stufen verschieben"
-#: ../bin/cselect.c:1732 ../bin/cselect.c:1852 ../bin/cselect.c:2216
+#: ../bin/cselect.c:1865 ../bin/cselect.c:1994 ../bin/cselect.c:2370
msgid "Move Tracks"
msgstr "Gleise verschieben"
-#: ../bin/cselect.c:1897
+#: ../bin/cselect.c:2043
msgid "Align: Click on a selected object to be aligned"
msgstr ""
"Ausrichten: Auf ausgewähltes Objekt klicken, das ausgerichtet werden soll"
-#: ../bin/cselect.c:1935
+#: ../bin/cselect.c:2081
msgid "Drag to rotate selected tracks, Shift+RightClick for QuickRotate Menu"
msgstr ""
"Ziehen um die ausgewählten Gleise zu rotieren, Umschalt-Taste und "
"Rechtsklich das Schnellauswahlmenu öffnen"
-#: ../bin/cselect.c:1951 ../bin/cselect.c:2229
+#: ../bin/cselect.c:2097 ../bin/cselect.c:2441
msgid "Rotate Tracks"
msgstr "Gleise drehen"
-#: ../bin/cselect.c:1964
+#: ../bin/cselect.c:2111
msgid "Center of Rotation snapped to Turntable center"
msgstr ""
"Der Mittelpunkt der Drehscheibe wird als Mittelpunkt der Rotation genutt"
-#: ../bin/cselect.c:2006 ../bin/cselect.c:2037
+#: ../bin/cselect.c:2153 ../bin/cselect.c:2184
#, c-format
msgid "Angle %0.3f"
msgstr "Winkel %0.3f"
-#: ../bin/cselect.c:2093
+#: ../bin/cselect.c:2240
#, c-format
msgid "Angle %0.3f #%ld"
msgstr "Winkel %0.3f #%ld"
-#: ../bin/cselect.c:2095
+#: ../bin/cselect.c:2242
#, c-format
msgid "Angle %0.3f %s"
msgstr "Winkel %0.3f %s"
-#: ../bin/cselect.c:2100
+#: ../bin/cselect.c:2247
msgid "Origin Set. Drag away to set start angle"
msgstr "Ausgangspunkt gesetzt. Zum Einstellen des Startwinkels wegziehen"
-#: ../bin/cselect.c:2114
+#: ../bin/cselect.c:2261
msgid "Align: Click on the 2nd unselected object"
msgstr "Ausrichten: Klicken Sie auf das zweite, nicht ausgewählte Objekt"
-#: ../bin/cselect.c:2241
+#: ../bin/cselect.c:2381
+msgid "In module layer:"
+msgstr "In Modulebene:"
+
+#: ../bin/cselect.c:2388
+msgid "Frozen Layer:"
+msgstr "Fixierte Ebene:"
+
+#: ../bin/cselect.c:2392
+msgid "Not found"
+msgstr "Nicht gefunden"
+
+#: ../bin/cselect.c:2428
+msgid "Multiple Selected"
+msgstr "Mehrfachauswahl"
+
+#: ../bin/cselect.c:2454
+msgid "Toggle Detail"
+msgstr "Detail umschalten"
+
+#: ../bin/cselect.c:2469
msgid "Toggle Label"
msgstr "Beschriftung umschalten"
-#: ../bin/cselect.c:2360 ../bin/cselect.c:2399
-msgid "Select and drag a description"
-msgstr "Beschreibung auswählen und verschieben"
-
-#: ../bin/cselect.c:2385
+#: ../bin/cselect.c:2632
msgid "Elevation description"
msgstr "Beschreibung der Höhe"
-#: ../bin/cselect.c:2388
-msgid "Hidden description - 's' to Show"
-msgstr "Verborgene Beschreibung - 's' zum Anzeigen"
+#: ../bin/cselect.c:2639
+msgid "Hidden description - 's' to Show, 'd' Details"
+msgstr "Verborgene Beschreibung - 's' zum Anzeigen, 'd' für Details"
-#: ../bin/cselect.c:2392
+#: ../bin/cselect.c:2642
msgid "Shown description - 'h' to Hide"
msgstr "Sichtbare Beschreibung - Verbergen mit 'h'"
-#: ../bin/cselect.c:2413
+#: ../bin/cselect.c:2650
+msgid "Select and drag a description"
+msgstr "Beschreibung auswählen und verschieben"
+
+#: ../bin/cselect.c:2689
msgid "Hidden Label - Drag to reveal"
msgstr "Verborgene Beschriftung - Ziehen zum Aufdecken"
-#: ../bin/cselect.c:2415
+#: ../bin/cselect.c:2691
msgid "Drag label"
msgstr "Beschriftung ziehen"
-#: ../bin/cselect.c:2417
+#: ../bin/cselect.c:2699
msgid "Move Label"
msgstr "Beschreibung verschieben"
-#: ../bin/cselect.c:2454
+#: ../bin/cselect.c:2736
msgid "To Hide, use Context Menu"
msgstr "Zum Verbergen verwenden Sie das Kontextmenü"
-#: ../bin/cselect.c:2470 ../bin/cselect.c:3345
+#: ../bin/cselect.c:2769 ../bin/cselect.c:3692
msgid "Show/Hide Description"
msgstr "Beschreibung anzeigen/verbergen"
-#: ../bin/cselect.c:2550
+#: ../bin/cselect.c:2770
+msgid "Toggle Detailed Description"
+msgstr "Detaillierte Beschreibung umschalten"
+
+#: ../bin/cselect.c:2851
msgid "Drag to mark mirror line"
msgstr "Ziehen um die Spiegelachse zu erstellen"
-#: ../bin/cselect.c:2561
+#: ../bin/cselect.c:2862
#, c-format
msgid "Angle %0.2f"
msgstr "Winkel %0.2f"
-#: ../bin/cselect.c:2564
+#: ../bin/cselect.c:2865
msgid "Flip Tracks"
msgstr "Gleise spiegeln"
-#: ../bin/cselect.c:2904
-msgid "Select track"
-msgstr "Gleis auswählen"
-
-#: ../bin/cselect.c:2931
+#: ../bin/cselect.c:3056 ../bin/cselect.c:3243
msgid "Track is in Frozen Layer"
msgstr "Das Gleis ist auf einer fixierten Ebene"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:323
-#: ../bin/cselect.c:3285 ../bin/dcar.c:1672 ../bin/doption.c:235
-#: ../../../../build/work/app/i18n/custmsg.h:1171
+#: ../bin/cselect.c:3216
+msgid "Select track"
+msgstr "Gleis auswählen"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:439
+#: ../bin/cselect.c:3628 ../bin/dcar.c:1663 ../bin/doption.c:236
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1171
msgid "Select"
msgstr "Auswählen"
-#: ../bin/cselect.c:3304 ../bin/cselect.c:3324 ../bin/misc.c:2196
+#: ../bin/cselect.c:3647 ../bin/cselect.c:3668 ../bin/misc.c:2439
msgid "Undo"
msgstr "Rückgängig"
-#: ../bin/cselect.c:3305 ../bin/cselect.c:3325 ../bin/misc.c:2198
+#: ../bin/cselect.c:3648 ../bin/cselect.c:3669 ../bin/misc.c:2441
msgid "Redo"
msgstr "Wiederholen"
-#: ../bin/cselect.c:3312 ../bin/draw.c:3124
+#: ../bin/cselect.c:3655 ../bin/cselect.c:3673 ../bin/draw.c:3206
msgid "Zoom to extents - 'e'"
msgstr "Auf Fenstergröße anpassen- 'e'"
-#: ../bin/cselect.c:3313 ../bin/draw.c:3135 ../bin/misc.c:2379
+#: ../bin/cselect.c:3656 ../bin/draw.c:3217 ../bin/misc.c:2646
msgid "&Zoom"
msgstr "&Zoom"
-#: ../bin/cselect.c:3316 ../bin/draw.c:3134
+#: ../bin/cselect.c:3659 ../bin/draw.c:3216
msgid "Pan to Origin - 'o'/'0'"
msgstr "Ausschnitt auf Ursprung zurücksetzen - 'o'/'0'"
-#: ../bin/cselect.c:3317 ../bin/cselect.c:3329
+#: ../bin/cselect.c:3660 ../bin/cselect.c:3675
msgid "Pan Center Here - 'c'"
msgstr "Hier zentrieren - 'c'."
-#: ../bin/cselect.c:3320 ../bin/misc.c:2235 ../bin/misc.c:2358
+#: ../bin/cselect.c:3663 ../bin/misc.c:2482 ../bin/misc.c:2623
msgid "Select Current Layer"
msgstr "Aktuelle Ebene auswählen"
-#: ../bin/cselect.c:3331 ../bin/misc.c:2237
+#: ../bin/cselect.c:3674
+msgid "Zoom to selected - 's'"
+msgstr "Zoom auf Auswahl - 's'"
+
+#: ../bin/cselect.c:3678 ../bin/misc.c:2484
msgid "Deselect All"
msgstr "Alles Abwählen"
-#: ../bin/cselect.c:3333
+#: ../bin/cselect.c:3680
msgid "Properties -'?'"
msgstr "Eigenschaften -'?'"
-#: ../bin/cselect.c:3334
+#: ../bin/cselect.c:3681
msgid "Modify/Activate Track"
msgstr "Gleis bearbeiten"
-#: ../bin/cselect.c:3336 ../bin/misc.c:2223
+#: ../bin/cselect.c:3683 ../bin/misc.c:2470
msgid "Cut"
msgstr "Ausschneiden"
-#: ../bin/cselect.c:3337 ../bin/misc.c:2225
+#: ../bin/cselect.c:3684 ../bin/misc.c:2472
msgid "Copy"
msgstr "Kopiere"
-#: ../bin/cselect.c:3338 ../bin/fileio.c:1620 ../bin/misc.c:2227
+#: ../bin/cselect.c:3685 ../bin/fileio.c:1591 ../bin/misc.c:2474
msgid "Paste"
msgstr "Einfügen"
-#: ../bin/cselect.c:3339 ../bin/misc.c:2229
+#: ../bin/cselect.c:3686 ../bin/misc.c:2476
msgid "Clone"
msgstr "Klonen"
-#: ../bin/cselect.c:3341
+#: ../bin/cselect.c:3688
msgid "Rotate..."
msgstr "Drehen..."
-#: ../bin/cselect.c:3343
+#: ../bin/cselect.c:3690
msgid "Align"
msgstr "Ausrichten"
-#: ../bin/cselect.c:3347
+#: ../bin/cselect.c:3694
msgid "Hide/NoHide"
msgstr "Zeigen/Verbergen"
-#: ../bin/cselect.c:3348
+#: ../bin/cselect.c:3695
msgid "Bridge/NoBridge"
msgstr "Brücke"
-#: ../bin/cselect.c:3349
+#: ../bin/cselect.c:3696
msgid "NoTies/Ties"
msgstr "Ohne / mit Schwellen"
-#: ../bin/cselect.c:3350
+#: ../bin/cselect.c:3697
msgid "Thickness..."
msgstr "Dicke..."
-#: ../bin/cselect.c:3351 ../bin/misc.c:2370
+#: ../bin/cselect.c:3698 ../bin/misc.c:2636
msgid "Thin Tracks"
msgstr "Dünne Gleise"
-#: ../bin/cselect.c:3352 ../bin/misc.c:2371
+#: ../bin/cselect.c:3699 ../bin/misc.c:2637
msgid "Medium Tracks"
msgstr "Mittlere Gleise"
-#: ../bin/cselect.c:3353 ../bin/misc.c:2372
+#: ../bin/cselect.c:3700 ../bin/misc.c:2638
msgid "Thick Tracks"
msgstr "Dicke Gleise"
-#: ../bin/cselect.c:3358
+#: ../bin/cselect.c:3705
msgid "Dash-Dotted Line"
msgstr "Gestrichelte Linie"
-#: ../bin/cselect.c:3359
+#: ../bin/cselect.c:3706
msgid "Dash-Dot-Dotted Line"
msgstr "Strich-Punkt-gestrichelte Linie"
-#: ../bin/cselect.c:3361
+#: ../bin/cselect.c:3708
msgid "Move To Front"
msgstr "Nach vorne"
-#: ../bin/cselect.c:3362
+#: ../bin/cselect.c:3709
msgid "Move To Back"
msgstr "Nach hinten"
-#: ../bin/cselect.c:3364
+#: ../bin/cselect.c:3711
msgid "Group"
msgstr "Gruppieren"
-#: ../bin/cselect.c:3365
+#: ../bin/cselect.c:3712
msgid "UnGroup"
msgstr "Gruppierung auflösen"
-#: ../bin/cselect.c:3400
+#: ../bin/cselect.c:3744
msgid "Move Description"
msgstr "Beschreibungen verschieben"
-#: ../bin/cselect.c:3407 ../bin/misc.c:1939 ../bin/misc.c:2240
+#: ../bin/cselect.c:3751 ../bin/misc.c:2072 ../bin/misc.c:2491
msgid "Move"
msgstr "Verschieben"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:368
-#: ../bin/cselect.c:3409 ../bin/misc.c:1930 ../bin/misc.c:2242
-#: ../../../../build/work/app/i18n/custmsg.h:1261
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:484
+#: ../bin/cselect.c:3753 ../bin/misc.c:2049 ../bin/misc.c:2493
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1261
msgid "Rotate"
msgstr "Drehen"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:369
-#: ../bin/cselect.c:3411 ../bin/dcar.c:2216
-#: ../../../../build/work/app/i18n/custmsg.h:1263
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:485
+#: ../bin/cselect.c:3755 ../bin/dcar.c:2208
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1263
msgid "Flip"
msgstr "Spiegeln"
-#: ../bin/csensor.c:216
+#: ../bin/csensor.c:213
msgid "Change Sensor"
msgstr "Sensor ändern"
-#: ../bin/csensor.c:262 ../bin/csensor.c:596
+#: ../bin/csensor.c:259 ../bin/csensor.c:590
msgid "Sensor"
msgstr "Sensor"
-#: ../bin/csensor.c:391 ../bin/csignal.c:511
-msgid "Orgin X"
-msgstr "Ausgangspunkt: X"
-
-#: ../bin/csensor.c:407
+#: ../bin/csensor.c:404
msgid "Create Sensor"
msgstr "Sensor erstellen"
-#: ../bin/csensor.c:410
+#: ../bin/csensor.c:407
msgid "Modify Sensor"
msgstr "Sensor ändern"
-#: ../bin/csensor.c:443
+#: ../bin/csensor.c:440
msgid "Edit sensor"
msgstr "Sensor bearbeiten"
-#: ../bin/csensor.c:481
+#: ../bin/csensor.c:478
msgid "Place sensor"
msgstr "Sensor setzen"
-#: ../bin/csignal.c:241
+#: ../bin/csignal.c:238
msgid "Number Of Heads"
msgstr "Anzahl der Köpfe"
-#: ../bin/csignal.c:280
+#: ../bin/csignal.c:277
msgid "Change Signal"
msgstr "Signal ändern"
-#: ../bin/csignal.c:314
+#: ../bin/csignal.c:311
#, c-format
msgid "(%d [%s]): Layer=%u, %d heads at %0.3f,%0.3f A%0.3f"
msgstr "(%d [%s]): Ebene=%u, %d Köpfe bei %0.3f,%0.3f A%0.3f"
-#: ../bin/csignal.c:325 ../bin/csignal.c:914
+#: ../bin/csignal.c:322 ../bin/csignal.c:908
msgid "Signal"
msgstr "Signal"
-#: ../bin/csignal.c:517
+#: ../bin/csignal.c:514
msgid "Number of Heads"
msgstr "Anzahl der Köpfe"
-#: ../bin/csignal.c:522
+#: ../bin/csignal.c:519
msgid "Edit Aspect"
msgstr "Signalbild bearbeiten"
-#: ../bin/csignal.c:524
+#: ../bin/csignal.c:521
msgid "Add Aspect"
msgstr "Signalanzeige"
-#: ../bin/csignal.c:526
+#: ../bin/csignal.c:523
msgid "Delete Aspect"
msgstr "Signalbild löschen"
-#: ../bin/csignal.c:539
+#: ../bin/csignal.c:536
msgid "Aspect Index"
msgstr "Nummer der Signalanzeige"
-#: ../bin/csignal.c:554
+#: ../bin/csignal.c:551
msgid "Create Signal"
msgstr "Signal erstellen"
-#: ../bin/csignal.c:558
+#: ../bin/csignal.c:555
msgid "Modify Signal"
msgstr "Signal ändern"
-#: ../bin/csignal.c:665
+#: ../bin/csignal.c:662
msgid "Edit aspect"
msgstr "Signalbild bearbeiten"
-#: ../bin/csignal.c:712
+#: ../bin/csignal.c:709
#, c-format
msgid "Are you sure you want to delete the %d aspect(s)"
msgstr "Sind Sie sicher, dass Sie %d Signalbilder löschen wollen?"
-#: ../bin/csignal.c:733
+#: ../bin/csignal.c:730
msgid "Edit signal"
msgstr "Signal bearbeiten"
-#: ../bin/csignal.c:795
+#: ../bin/csignal.c:792
msgid "Place base of signal"
msgstr "Basis des Signals festlegen"
-#: ../bin/csignal.c:802
+#: ../bin/csignal.c:800
msgid "Drag to orient signal"
msgstr "Durch Ziehen das Signal ausrichten"
-#: ../bin/csnap.c:516
+#: ../bin/csnap.c:489
msgid "Horz"
msgstr "Horiz."
-#: ../bin/csnap.c:518
+#: ../bin/csnap.c:491
msgid "Spacing"
msgstr "Abstand"
-#: ../bin/csnap.c:520
+#: ../bin/csnap.c:493
msgid "Divisions"
msgstr "Zwischenmarkierungen"
-#: ../bin/csnap.c:523
+#: ../bin/csnap.c:496
msgid "Enable"
msgstr "Einschalten"
-#: ../bin/csnap.c:524
+#: ../bin/csnap.c:497
msgid "Vert"
msgstr "Vert."
-#: ../bin/csnap.c:533 ../bin/dease.c:76
+#: ../bin/csnap.c:506 ../bin/dease.c:74
msgid "X"
msgstr "X"
-#: ../bin/csnap.c:537
+#: ../bin/csnap.c:510
msgid "A"
msgstr "A"
-#: ../bin/csnap.c:540
+#: ../bin/csnap.c:513
msgid "Show"
msgstr "Zeige"
-#: ../bin/csnap.c:791
+#: ../bin/csnap.c:752
msgid "Change Grid..."
msgstr "Raster anpassen..."
@@ -2808,113 +2905,171 @@ msgstr "Raster anpassen..."
msgid "Set Block Gaps"
msgstr "Setze Trennstellen"
-#: ../bin/csplit.c:111
+#: ../bin/csplit.c:132
msgid "Select track to split"
msgstr "Zu trennendes Gleis auswählen"
-#: ../bin/csplit.c:132
-msgid "Can't Split that Track"
-msgstr "Dieses Gleis kann nicht getrennt werden"
+#: ../bin/csplit.c:155
+msgid "Can't Split that Track Object"
+msgstr "Dieses Gleisobjekt kann nicht auf geteilt werden"
-#: ../bin/csplit.c:140 ../bin/csplit.c:232
+#: ../bin/csplit.c:163 ../bin/csplit.c:175 ../bin/csplit.c:474
msgid "Split Track"
msgstr "Gleis auftrennen"
-#: ../bin/csplit.c:156 ../bin/dbench.c:69 ../bin/dbench.c:80
+#: ../bin/csplit.c:171 ../bin/csplit.c:294 ../bin/csplit.c:381
+msgid "Can't Split that Draw Object"
+msgstr "Dieses Zeichenobjekt kann nicht aufgeteilt werden"
+
+#: ../bin/csplit.c:181
+msgid "No Track to Split"
+msgstr "Kein aufteilbares Gleis"
+
+#: ../bin/csplit.c:194 ../bin/dbench.c:64 ../bin/dbench.c:75
msgid "Left"
msgstr "Links"
-#: ../bin/csplit.c:157 ../bin/dbench.c:70 ../bin/dbench.c:79
+#: ../bin/csplit.c:195 ../bin/dbench.c:65 ../bin/dbench.c:74
msgid "Right"
msgstr "Rechts"
-#: ../bin/csplit.c:158 ../bin/csplit.c:163
+#: ../bin/csplit.c:196 ../bin/csplit.c:201
msgid "Both"
msgstr "Beides"
-#: ../bin/csplit.c:161
+#: ../bin/csplit.c:199
msgid "Top"
msgstr "Oben"
-#: ../bin/csplit.c:162
+#: ../bin/csplit.c:200
msgid "Bottom"
msgstr "Unten"
-#: ../bin/cstraigh.c:77
+#: ../bin/csplit.c:280
+msgid "Select draw to split"
+msgstr "Zu trennendes Zeichenelement auswählen"
+
+#: ../bin/csplit.c:298 ../bin/csplit.c:475
+msgid "Split Draw"
+msgstr "Zeichenobjekt auftrennen"
+
+#: ../bin/csplit.c:304
+msgid "No Draw to Split"
+msgstr "Kein aufteilbares Zeichenobjekt"
+
+#: ../bin/csplit.c:342
+msgid "Select the draw object to Trim to"
+msgstr "Wählen Sie das begrenzende Zeichenobjekt aus"
+
+#: ../bin/csplit.c:357
+msgid "Can't Trim with a Track"
+msgstr "Kann nicht mit einem Gleis abschneiden"
+
+#: ../bin/csplit.c:362
+msgid "Select an intersecting draw object to Trim"
+msgstr ""
+"Wählen Sie ein sich überschneidendes Zeichenobjekt zum Abschneiden aus"
+
+#: ../bin/csplit.c:368
+msgid "No Draw to Trim with"
+msgstr "Kein begrenzendes Zeichenobjeckt vorhanden"
+
+#: ../bin/csplit.c:375
+msgid "Can't Split a track object"
+msgstr "Ein Gleis kann nicht geteilt werden"
+
+#: ../bin/csplit.c:403 ../bin/csplit.c:476
+msgid "Trim Draw"
+msgstr "Trimmzeichnung"
+
+#: ../bin/csplit.c:408
+msgid "Select another draw object to Trim, or Space to Deselect"
+msgstr ""
+"Wählen Sie ein anderes Zeichenobjekt zum Zuschneiden oder brechmi mit der "
+"Leertaste ab"
+
+#: ../bin/csplit.c:473
+msgid "Split"
+msgstr "Auftrennen"
+
+#: ../bin/cstraigh.c:75
msgid "Place 1st endpoint of straight track, snap to unconnected endpoint"
msgstr ""
"Platzieren Sie den 1. Endpunkt des geraden Gleis, wird an einen "
"unverbundenen Endpunkt fixiert"
-#: ../bin/cstraigh.c:104
+#: ../bin/cstraigh.c:103
msgid "Drag to place 2nd end point"
msgstr "Ziehen um den zweiten Endpunkt zu setzen"
-#: ../bin/cstraigh.c:140
+#: ../bin/cstraigh.c:149
#, c-format
msgid "Straight Track Length=%s Angle=%0.3f"
msgstr "Gleisgerade: Länge=%s Winkel=%0.3f"
-#: ../bin/cstraigh.c:191 ../bin/tstraigh.c:267
+#: ../bin/cstraigh.c:200 ../bin/tstraigh.c:225
msgid "Straight Track"
msgstr "Gleisgerade"
-#: ../bin/cstruct.c:71 ../bin/cturnout.c:85 ../bin/doption.c:131
-#: ../bin/doption.c:240
+#: ../bin/cstruct.c:64 ../bin/cturnout.c:84 ../bin/doption.c:91
+#: ../bin/doption.c:241
msgid "Hide"
msgstr "Verstecken"
-#: ../bin/cstruct.c:449 ../bin/cstruct.c:476
+#: ../bin/cstruct.c:479 ../bin/cstruct.c:506
msgid "Pier Number"
msgstr "Gleisanschluß"
-#: ../bin/cstruct.c:561
+#: ../bin/cstruct.c:591
#, c-format
msgid "Scale %d:1"
msgstr "Maßstab 1:%d"
-#: ../bin/cstruct.c:563
+#: ../bin/cstruct.c:593
#, c-format
msgid "Width %s"
msgstr "Breite %s"
-#: ../bin/cstruct.c:565
+#: ../bin/cstruct.c:595
#, c-format
msgid "Height %s"
msgstr "Höhe %s"
-#: ../bin/cstruct.c:706
+#: ../bin/cstruct.c:735
msgid "Place Structure"
msgstr "Gebäude plazieren"
-#: ../bin/cstruct.c:799 ../bin/cstruct.c:873 ../bin/cstruct.c:1105
-#: ../bin/cturnout.c:2796 ../bin/cturnout.c:2851 ../bin/cturnout.c:2978
-#: ../bin/cturnout.c:3117
-msgid ""
-"Left-Drag to place, Ctrl+Left-Drag or Right-Drag to Rotate, Space or Enter "
-"to accept, Esc to Cancel"
-msgstr ""
-"Ziehen mit linker Maustaste zum Verschieben, mit Strg-Links oderrechter zum "
-"Drehen, Leerzeichen oder Eingabetaste zum Festlegen, Esc zum Abbrechen"
-
-#: ../bin/cstruct.c:821
+#: ../bin/cstruct.c:828
msgid "Drag to place"
msgstr "Zur Position ziehen"
-#: ../bin/cstruct.c:843
+#: ../bin/cstruct.c:850
msgid "Drag to rotate"
msgstr "Ziehen zum rotieren"
-#: ../bin/cstruct.c:863
+#: ../bin/cstruct.c:870
#, c-format
msgid "Angle = %0.3f"
msgstr "Winkel = %0.3f"
-#: ../bin/cstruct.c:954
+#: ../bin/cstruct.c:880 ../bin/cstruct.c:1126 ../bin/cturnout.c:4699
+#: ../bin/cturnout.c:4751 ../bin/cturnout.c:4882 ../bin/cturnout.c:5021
+msgid ""
+"Left-Drag to place, Ctrl+Left-Drag or Right-Drag to Rotate, Space or Enter "
+"to accept, Esc to Cancel"
+msgstr ""
+"Ziehen mit linker Maustaste zum Verschieben, mit Strg-Links oderrechter zum "
+"Drehen, Leerzeichen oder Eingabetaste zum Festlegen, Esc zum Abbrechen"
+
+#: ../bin/cstruct.c:953 ../bin/cturnout.c:4836 ../bin/param.c:2721
+msgid "Close"
+msgstr "Schliessen"
+
+#: ../bin/cstruct.c:970
msgid "Select Structure and then drag to place"
msgstr "Gebäued auswählen und in die Piosition ziehen"
-#: ../bin/cstruct.c:992
+#: ../bin/cstruct.c:1009
msgid ""
"Left drag to move, right drag to rotate, or press Return or click Ok to "
"finalize"
@@ -2922,648 +3077,642 @@ msgstr ""
"Ziehen mit linker Maustaste zum Verschieben, mit rechter zum Drehen, oder "
"Eingabetaste oder OK zum Abschliessen"
-#: ../bin/cstruct.c:1075 ../bin/cturnout.c:3084
+#: ../bin/cstruct.c:1096 ../bin/cturnout.c:4988
#, c-format
msgid "Place %s and draw into position"
msgstr "%s setzen und in Position ziehen"
-#: ../bin/cswitchmotor.c:96 ../bin/cswitchmotor.c:115 ../bin/cswitchmotor.c:227
+#: ../bin/cswitchmotor.c:92 ../bin/cswitchmotor.c:111
+#: ../bin/cswitchmotor.c:224
msgid "Point Sense"
msgstr "Richtung der Weichenzungen"
-#: ../bin/cswitchmotor.c:116
+#: ../bin/cswitchmotor.c:112
msgid "Turnout Number"
msgstr "Weichennummer"
-#: ../bin/cswitchmotor.c:292
+#: ../bin/cswitchmotor.c:289
msgid "Change Switch Motor"
msgstr "Weichenantrieb ändern"
-#: ../bin/cswitchmotor.c:359
+#: ../bin/cswitchmotor.c:356
msgid "Switch motor"
msgstr "Weichenantrieb"
-#: ../bin/cswitchmotor.c:475
+#: ../bin/cswitchmotor.c:472
#, c-format
msgid "ResolveSwitchmotor: Turnout T%d: T%d doesn't exist"
msgstr "ResolveSwitchmotor: Weiche T%d: T%d existiert nicht"
-#: ../bin/cswitchmotor.c:544 ../bin/cswitchmotor.c:714
+#: ../bin/cswitchmotor.c:541 ../bin/cswitchmotor.c:712
msgid "Switch motor must have a name!"
msgstr "Der Weichenantrieb benötigt einen Namen!"
-#: ../bin/cswitchmotor.c:548
+#: ../bin/cswitchmotor.c:545
msgid "Create Switch Motor"
msgstr "Weichenantrieb erstellen"
-#: ../bin/cswitchmotor.c:580
+#: ../bin/cswitchmotor.c:577
msgid "Create switch motor"
msgstr "Weichenantrieb erstellen"
-#: ../bin/cswitchmotor.c:594 ../bin/cswitchmotor.c:625
-#: ../bin/cswitchmotor.c:657
+#: ../bin/cswitchmotor.c:591 ../bin/cswitchmotor.c:623
+#: ../bin/cswitchmotor.c:655
msgid "Select a turnout"
msgstr "Wählen Sie eine Weiche aus"
-#: ../bin/cswitchmotor.c:601
+#: ../bin/cswitchmotor.c:599
msgid "Not a turnout!"
msgstr "Keine Weiche!"
-#: ../bin/cswitchmotor.c:634 ../bin/cswitchmotor.c:665
+#: ../bin/cswitchmotor.c:632 ../bin/cswitchmotor.c:663
msgid "Not a switch motor!"
msgstr "Kein Weichenantrieb!"
-#: ../bin/cswitchmotor.c:670
+#: ../bin/cswitchmotor.c:668
#, c-format
msgid "Really delete switch motor %s?"
msgstr "Soll der Weichenantrieb %s wirklich gelöscht werden?"
-#: ../bin/cswitchmotor.c:671
+#: ../bin/cswitchmotor.c:669
msgid "Delete Switch Motor"
msgstr "Weichenantrieb löschen"
-#: ../bin/cswitchmotor.c:718
+#: ../bin/cswitchmotor.c:716
msgid "Modify Switch Motor"
msgstr "Weichenantrieb ändern"
-#: ../bin/cswitchmotor.c:744
+#: ../bin/cswitchmotor.c:742
msgid "Edit switch motor"
msgstr "Weichenantrieb bearbeiten"
-#: ../bin/cswitchmotor.c:750
+#: ../bin/cswitchmotor.c:748
#, c-format
msgid "Edit switch motor %d"
msgstr "Weichenantrieb %d bearbeiten"
-#: ../bin/cswitchmotor.c:858
+#: ../bin/cswitchmotor.c:852
msgid "Switch Motor"
msgstr "Weichenantrieb"
-#: ../bin/cswitchmotor.c:871
+#: ../bin/cswitchmotor.c:865
#, c-format
msgid "Deleting Switch Motor %s"
msgstr "Weichenantrieb %s löschen"
-#: ../bin/ctext.c:195 ../bin/ctext.c:234
+#: ../bin/ctext.c:194 ../bin/ctext.c:239
msgid "Create Text"
msgstr "Erstelle Text"
-#: ../bin/ctext.c:265
+#: ../bin/ctext.c:270
msgid "Fonts..."
msgstr "Schriftarten..."
-#: ../bin/ctodesgn.c:144
+#: ../bin/ctodesgn.c:135
msgid "Frog #"
msgstr "Herzstück Steigung"
-#: ../bin/ctodesgn.c:144
+#: ../bin/ctodesgn.c:135
msgid "Degrees"
msgstr "Grad"
-#: ../bin/ctodesgn.c:145
+#: ../bin/ctodesgn.c:136
msgid "Dual Path"
msgstr "Zwei Positionen"
-#: ../bin/ctodesgn.c:145
+#: ../bin/ctodesgn.c:136
msgid "Quad Path"
msgstr "Vier Positionen"
-#: ../bin/ctodesgn.c:180 ../bin/ctodesgn.c:181 ../bin/ctodesgn.c:182
-#: ../bin/ctodesgn.c:183 ../bin/ctodesgn.c:243 ../bin/ctodesgn.c:266
-#: ../bin/ctodesgn.c:268 ../bin/ctodesgn.c:303 ../bin/ctodesgn.c:306
-#: ../bin/ctodesgn.c:332 ../bin/ctodesgn.c:333 ../bin/ctodesgn.c:369
-#: ../bin/ctodesgn.c:372 ../bin/ctodesgn.c:398 ../bin/ctodesgn.c:400
-#: ../bin/ctodesgn.c:439 ../bin/ctodesgn.c:443 ../bin/ctodesgn.c:446
-#: ../bin/ctodesgn.c:658
+#: ../bin/ctodesgn.c:174 ../bin/ctodesgn.c:175 ../bin/ctodesgn.c:176
+#: ../bin/ctodesgn.c:177 ../bin/ctodesgn.c:237 ../bin/ctodesgn.c:260
+#: ../bin/ctodesgn.c:262 ../bin/ctodesgn.c:297 ../bin/ctodesgn.c:300
+#: ../bin/ctodesgn.c:326 ../bin/ctodesgn.c:327 ../bin/ctodesgn.c:363
+#: ../bin/ctodesgn.c:366 ../bin/ctodesgn.c:392 ../bin/ctodesgn.c:394
+#: ../bin/ctodesgn.c:433 ../bin/ctodesgn.c:437 ../bin/ctodesgn.c:440
+#: ../bin/ctodesgn.c:652
msgid "Offset"
msgstr "Abstand"
-#: ../bin/ctodesgn.c:201 ../bin/ctodesgn.c:2916 ../bin/ctodesgn.c:2917
+#: ../bin/ctodesgn.c:195 ../bin/ctodesgn.c:2934 ../bin/ctodesgn.c:2935
msgid "Left Description"
msgstr "Beschreibung, links"
-#: ../bin/ctodesgn.c:202 ../bin/ctodesgn.c:205
+#: ../bin/ctodesgn.c:196 ../bin/ctodesgn.c:199
msgid " #"
msgstr " Nr."
-#: ../bin/ctodesgn.c:204 ../bin/ctodesgn.c:2915
+#: ../bin/ctodesgn.c:198 ../bin/ctodesgn.c:2933
msgid "Right Description"
msgstr "Beschreibung, rechts"
-#: ../bin/ctodesgn.c:206
+#: ../bin/ctodesgn.c:200
msgid "Roadbed Width"
msgstr "Breite des Gleisbetts"
-#: ../bin/ctodesgn.c:210 ../bin/denum.c:56
+#: ../bin/ctodesgn.c:204 ../bin/denum.c:52
msgid "Print Setup"
msgstr "Druckeinstellungen"
-#: ../bin/ctodesgn.c:241
+#: ../bin/ctodesgn.c:235
msgid "Diverging Length"
msgstr "Länge des Abzweigs"
-#: ../bin/ctodesgn.c:242
+#: ../bin/ctodesgn.c:236
msgid "Diverging Angle"
msgstr "Winkel des Abzweigs"
-#: ../bin/ctodesgn.c:243
+#: ../bin/ctodesgn.c:237
msgid "Diverging Offset"
msgstr "Abstand des Abzweigs"
-#: ../bin/ctodesgn.c:244
+#: ../bin/ctodesgn.c:238
msgid "Overall Length"
msgstr "Gesamtlänge"
-#: ../bin/ctodesgn.c:254
+#: ../bin/ctodesgn.c:248
msgid "Regular Turnout"
msgstr "Normale Weiche"
-#: ../bin/ctodesgn.c:264 ../bin/ctodesgn.c:301
+#: ../bin/ctodesgn.c:258 ../bin/ctodesgn.c:295
msgid "Inner Length"
msgstr "Innenlänge"
-#: ../bin/ctodesgn.c:265 ../bin/ctodesgn.c:302
+#: ../bin/ctodesgn.c:259 ../bin/ctodesgn.c:296
msgid "Inner Angle"
msgstr "Innenwinkel"
-#: ../bin/ctodesgn.c:266 ../bin/ctodesgn.c:303
+#: ../bin/ctodesgn.c:260 ../bin/ctodesgn.c:297
msgid "Inner Offset"
msgstr "Innenabstand"
-#: ../bin/ctodesgn.c:267 ../bin/ctodesgn.c:305
+#: ../bin/ctodesgn.c:261 ../bin/ctodesgn.c:299
msgid "Outer Angle"
msgstr "Außenwinkel"
-#: ../bin/ctodesgn.c:268 ../bin/ctodesgn.c:306
+#: ../bin/ctodesgn.c:262 ../bin/ctodesgn.c:300
msgid "Outer Offset"
msgstr "Außenabstand"
-#: ../bin/ctodesgn.c:269 ../bin/ctodesgn.c:308
+#: ../bin/ctodesgn.c:263 ../bin/ctodesgn.c:302
msgid "Outer Length"
msgstr "Außenlänge"
-#: ../bin/ctodesgn.c:291
+#: ../bin/ctodesgn.c:285
msgid "Curved Turnout"
msgstr "Bogenweiche"
-#: ../bin/ctodesgn.c:304
+#: ../bin/ctodesgn.c:298
msgid "Inner Radius"
msgstr "Innenradius"
-#: ../bin/ctodesgn.c:307
+#: ../bin/ctodesgn.c:301
msgid "Outer Radius"
msgstr "Außenradius"
-#: ../bin/ctodesgn.c:309 ../bin/ctodesgn.c:376 ../bin/ctodesgn.c:451
+#: ../bin/ctodesgn.c:303 ../bin/ctodesgn.c:370 ../bin/ctodesgn.c:445
msgid "Toe Radius"
msgstr "Anfangsradius"
-#: ../bin/ctodesgn.c:310 ../bin/ctodesgn.c:375
+#: ../bin/ctodesgn.c:304 ../bin/ctodesgn.c:369
msgid "Toe Length"
msgstr "Anfangslänge"
-#: ../bin/ctodesgn.c:320
+#: ../bin/ctodesgn.c:314
msgid "Cornu Curved Turnout"
msgstr "Cornu-Bogenweiche"
-#: ../bin/ctodesgn.c:330 ../bin/ctodesgn.c:367 ../bin/ctodesgn.c:396
-#: ../bin/ctodesgn.c:437
+#: ../bin/ctodesgn.c:324 ../bin/ctodesgn.c:361 ../bin/ctodesgn.c:390
+#: ../bin/ctodesgn.c:431
msgid "Left Length"
msgstr "Linke Länge"
-#: ../bin/ctodesgn.c:331 ../bin/ctodesgn.c:368 ../bin/ctodesgn.c:397
-#: ../bin/ctodesgn.c:438
+#: ../bin/ctodesgn.c:325 ../bin/ctodesgn.c:362 ../bin/ctodesgn.c:391
+#: ../bin/ctodesgn.c:432
msgid "Left Angle"
msgstr "Linker Winkel"
-#: ../bin/ctodesgn.c:332 ../bin/ctodesgn.c:369 ../bin/ctodesgn.c:398
-#: ../bin/ctodesgn.c:439
+#: ../bin/ctodesgn.c:326 ../bin/ctodesgn.c:363 ../bin/ctodesgn.c:392
+#: ../bin/ctodesgn.c:433
msgid "Left Offset"
msgstr "Linker Abstand"
-#: ../bin/ctodesgn.c:333 ../bin/ctodesgn.c:372 ../bin/ctodesgn.c:400
-#: ../bin/ctodesgn.c:446
+#: ../bin/ctodesgn.c:327 ../bin/ctodesgn.c:366 ../bin/ctodesgn.c:394
+#: ../bin/ctodesgn.c:440
msgid "Right Offset"
msgstr "Rechter Abstand"
-#: ../bin/ctodesgn.c:334 ../bin/ctodesgn.c:373 ../bin/ctodesgn.c:401
-#: ../bin/ctodesgn.c:447
+#: ../bin/ctodesgn.c:328 ../bin/ctodesgn.c:367 ../bin/ctodesgn.c:395
+#: ../bin/ctodesgn.c:441
msgid "Right Angle"
msgstr "Rechter Winkel"
-#: ../bin/ctodesgn.c:335 ../bin/ctodesgn.c:374 ../bin/ctodesgn.c:402
-#: ../bin/ctodesgn.c:448
+#: ../bin/ctodesgn.c:329 ../bin/ctodesgn.c:368 ../bin/ctodesgn.c:396
+#: ../bin/ctodesgn.c:442
msgid "Right Length"
msgstr "Rechte Länge"
-#: ../bin/ctodesgn.c:357
+#: ../bin/ctodesgn.c:351
msgid "Wye Turnout"
msgstr "Außenbogenweiche"
-#: ../bin/ctodesgn.c:370 ../bin/ctodesgn.c:440
+#: ../bin/ctodesgn.c:364 ../bin/ctodesgn.c:434
msgid "Left Radius"
msgstr "Linker Radius"
-#: ../bin/ctodesgn.c:371 ../bin/ctodesgn.c:445
+#: ../bin/ctodesgn.c:365 ../bin/ctodesgn.c:439
msgid "Right Radius"
msgstr "Rechter Radius"
-#: ../bin/ctodesgn.c:386
+#: ../bin/ctodesgn.c:380
msgid "Cornu Wye Turnout"
msgstr "Cornu-Außenbogenweiche"
-#: ../bin/ctodesgn.c:427
+#: ../bin/ctodesgn.c:421
msgid "3-way Turnout"
msgstr "Dreiwegweiche"
-#: ../bin/ctodesgn.c:441
+#: ../bin/ctodesgn.c:435
msgid "Center Length"
msgstr "Länge des Mittelgleis"
-#: ../bin/ctodesgn.c:442
+#: ../bin/ctodesgn.c:436
msgid "Center Angle"
msgstr "Winkel des Mittelgleis"
-#: ../bin/ctodesgn.c:443 ../bin/dcar.c:2237
+#: ../bin/ctodesgn.c:437 ../bin/dcar.c:2229
msgid "Center Offset"
msgstr "Abstand des Mittelgleis"
-#: ../bin/ctodesgn.c:444
+#: ../bin/ctodesgn.c:438
msgid "Center Radius"
msgstr "Radius des Mittelgleis"
-#: ../bin/ctodesgn.c:449
+#: ../bin/ctodesgn.c:443
msgid "Toe Length Left"
msgstr "Anfangslänge links"
-#: ../bin/ctodesgn.c:450
+#: ../bin/ctodesgn.c:444
msgid "Toe Length Right"
msgstr "Anfangslänge rechts"
-#: ../bin/ctodesgn.c:462
+#: ../bin/ctodesgn.c:456
msgid "Cornu 3-way Turnout"
msgstr "Cornu-Dreiwegweiche"
-#: ../bin/ctodesgn.c:482
+#: ../bin/ctodesgn.c:476
msgid "Crossing"
msgstr "Kreuzung"
-#: ../bin/ctodesgn.c:503
+#: ../bin/ctodesgn.c:497
msgid "Single Slipswitch"
msgstr "Einfache Kreuzungsweiche"
-#: ../bin/ctodesgn.c:532
+#: ../bin/ctodesgn.c:526
msgid "Double Slipswitch"
msgstr "Doppelte Kreuzungsweiche"
-#: ../bin/ctodesgn.c:552
+#: ../bin/ctodesgn.c:546
msgid "Right Crossover"
msgstr "Rechter Gleiswechsel"
-#: ../bin/ctodesgn.c:572
+#: ../bin/ctodesgn.c:566
msgid "Left Crossover"
msgstr "Linker Gleiswechsel"
-#: ../bin/ctodesgn.c:592
+#: ../bin/ctodesgn.c:586
msgid "Double Crossover"
msgstr "Doppelter Gleiswechsel"
-#: ../bin/ctodesgn.c:610
+#: ../bin/ctodesgn.c:604
msgid "Straight Section"
msgstr "Gerader Abschnitt"
-#: ../bin/ctodesgn.c:621
+#: ../bin/ctodesgn.c:615
msgid "Angle (Degrees)"
msgstr "Winkel (Grad)"
-#: ../bin/ctodesgn.c:629
+#: ../bin/ctodesgn.c:623
msgid "Curved Section"
msgstr "Gebogener Abschnitt"
-#: ../bin/ctodesgn.c:648
+#: ../bin/ctodesgn.c:642
msgid "Bumper Section"
msgstr "Prellbock"
-#: ../bin/ctodesgn.c:658 ../bin/denum.c:123 ../bin/denum.c:186
-#: ../bin/denum.c:218 ../bin/denum.c:219 ../bin/dlayer.c:497
+#: ../bin/ctodesgn.c:652 ../bin/denum.c:123 ../bin/denum.c:188
+#: ../bin/denum.c:220 ../bin/denum.c:221
msgid "Count"
msgstr "Anzahl"
-#: ../bin/ctodesgn.c:659
+#: ../bin/ctodesgn.c:653
msgid "Radius1"
msgstr "Radius 1"
-#: ../bin/ctodesgn.c:660
+#: ../bin/ctodesgn.c:654
msgid "Radius2"
msgstr "Radius 2"
-#: ../bin/ctodesgn.c:740
+#: ../bin/ctodesgn.c:734
msgid "Turntable Section"
msgstr "Drehscheibenabschnitt"
-#: ../bin/ctodesgn.c:2543
+#: ../bin/ctodesgn.c:2571
#, c-format
msgid "%s Designer"
msgstr "%s Designer"
-#: ../bin/ctodesgn.c:2547
+#: ../bin/ctodesgn.c:2574
#, c-format
msgid "%s %d x %d (of %d x %d)"
msgstr "%s %d x %d (von %d x %d)"
-#: ../bin/ctodesgn.c:2547
+#: ../bin/ctodesgn.c:2574
msgid "Page"
msgstr "Seite"
-#: ../bin/ctodesgn.c:2555
+#: ../bin/ctodesgn.c:2581
msgid "Frog Number"
msgstr "Herzstücksteigung"
-#: ../bin/ctodesgn.c:2869
+#: ../bin/ctodesgn.c:2887
msgid "Turnout Designer"
msgstr "Weichendesigner"
-#: ../bin/ctodesgn.c:2879
+#: ../bin/ctodesgn.c:2897
#, c-format
msgid "%s %s Designer"
msgstr "%s %s Designer"
-#: ../bin/ctrain.c:182 ../bin/dcar.c:2249 ../bin/dcar.c:4366 ../bin/dcar.c:4371
+#: ../bin/ctrain.c:183 ../bin/dcar.c:2241 ../bin/dcar.c:4373
+#: ../bin/dcar.c:4378
msgid "Index"
msgstr "Verzeichnis"
-#: ../bin/ctrain.c:188 ../bin/dcar.c:4367
+#: ../bin/ctrain.c:189 ../bin/dcar.c:4374
msgid "Rep Marks"
msgstr "Wagennummer"
-#: ../bin/ctrain.c:272
+#: ../bin/ctrain.c:273
msgid "Car"
msgstr "Wagen"
-#: ../bin/ctrain.c:656
+#: ../bin/ctrain.c:659
msgid "Follow"
msgstr "Folgen"
-#: ../bin/ctrain.c:657
+#: ../bin/ctrain.c:660
msgid "Auto Reverse"
msgstr "Automat. Wenden"
-#: ../bin/ctrain.c:676 ../bin/dcar.c:5256
+#: ../bin/ctrain.c:679 ../bin/dcar.c:5260
msgid "Find"
msgstr "Finden"
-#: ../bin/ctrain.c:682 ../bin/ctrain.c:941 ../bin/ctrain.c:1250
+#: ../bin/ctrain.c:685 ../bin/ctrain.c:942 ../bin/ctrain.c:1251
#: ../wlib/gtklib/ixhelp.c:239
msgid "Forward"
msgstr "Vorwärts"
-#: ../bin/ctrain.c:684 ../bin/ctrain.c:3125 ../bin/dcar.c:4705
-#: ../bin/dcar.c:4715 ../bin/dcar.c:4835 ../bin/fileio.c:242 ../bin/macro.c:92
-#: ../bin/macro.c:900
+#: ../bin/ctrain.c:687 ../bin/ctrain.c:3133 ../bin/dcar.c:4711
+#: ../bin/dcar.c:4721 ../bin/dcar.c:4840 ../bin/fileio.c:215 ../bin/macro.c:61
+#: ../bin/macro.c:874
msgid "Stop"
msgstr "Anhalten"
-#: ../bin/ctrain.c:882 ../bin/ctrain.c:911
+#: ../bin/ctrain.c:883 ../bin/ctrain.c:912
msgid "Crashed"
msgstr "Entgleist"
-#: ../bin/ctrain.c:884
+#: ../bin/ctrain.c:885
msgid "Not on Track"
msgstr "Nicht auf einem Gleis"
-#: ../bin/ctrain.c:888
+#: ../bin/ctrain.c:889
msgid "Trains Paused"
msgstr "Züge angehalten"
-#: ../bin/ctrain.c:890
+#: ../bin/ctrain.c:891
msgid "Running"
msgstr "Fährt"
-#: ../bin/ctrain.c:895
+#: ../bin/ctrain.c:896
msgid "End of Track"
msgstr "Ende des Gleis"
-#: ../bin/ctrain.c:899
+#: ../bin/ctrain.c:900
msgid "Open Turnout"
msgstr "Weiche ist gesperrt"
-#: ../bin/ctrain.c:903
+#: ../bin/ctrain.c:904
msgid "Manual Stop"
msgstr "Von Hand angehalten"
-#: ../bin/ctrain.c:907
+#: ../bin/ctrain.c:908
msgid "No Room"
msgstr "Kein Platz"
-#: ../bin/ctrain.c:915
+#: ../bin/ctrain.c:916
msgid "Unknown Status"
msgstr "Unbekannter Zustand"
-#: ../bin/ctrain.c:925
+#: ../bin/ctrain.c:926
msgid "No trains"
msgstr "Keine Züge"
-#: ../bin/ctrain.c:1301
+#: ../bin/ctrain.c:1302
msgid "Train Control XXX"
msgstr "Zugsteuerung XXX"
-#: ../bin/ctrain.c:1302
+#: ../bin/ctrain.c:1303
#, c-format
msgid "Train Control %d"
msgstr "Zugsteuerung %d"
-#: ../bin/ctrain.c:1304
+#: ../bin/ctrain.c:1305
msgid "Train Control"
msgstr "Zugsteuerung"
-#: ../bin/ctrain.c:3098
-msgid "Train"
-msgstr "Zug"
+#: ../bin/ctrain.c:3103 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:155
+msgid "Run Trains"
+msgstr "Zugbetrieb"
-#: ../bin/ctrain.c:3111
+#: ../bin/ctrain.c:3119
msgid "Uncouple"
msgstr "Entkuppeln"
-#: ../bin/ctrain.c:3113
+#: ../bin/ctrain.c:3121
msgid "Flip Car"
msgstr "Wagen umdrehen"
-#: ../bin/ctrain.c:3115
+#: ../bin/ctrain.c:3123
msgid "Clearance Lines On"
msgstr "Begrenzungslinien an"
-#: ../bin/ctrain.c:3117
+#: ../bin/ctrain.c:3125
msgid "Clearance Lines Off"
msgstr "Begrenzungslinien aus"
-#: ../bin/ctrain.c:3119
+#: ../bin/ctrain.c:3127
msgid "Flip Train"
msgstr "Zug umdrehen"
-#: ../bin/ctrain.c:3121
+#: ../bin/ctrain.c:3129
msgid "MU Master"
msgstr "Mehrtraktionssteuerung"
-#: ../bin/ctrain.c:3124
+#: ../bin/ctrain.c:3132
msgid "Change Direction"
msgstr "Richtung ändern"
-#: ../bin/ctrain.c:3128
+#: ../bin/ctrain.c:3136
msgid "Remove Car"
msgstr "Wagen entfernen"
-#: ../bin/ctrain.c:3131
+#: ../bin/ctrain.c:3139
msgid "Remove Train"
msgstr "Zug entfernen"
-#: ../bin/cturnout.c:96 ../bin/dcar.c:2271 ../bin/dcar.c:2275
+#: ../bin/cturnout.c:95 ../bin/dcar.c:2263 ../bin/dcar.c:2267
msgid "New"
msgstr "Neu"
-#: ../bin/cturnout.c:370
+#: ../bin/cturnout.c:415 ../bin/cturnout.c:420
#, c-format
-msgid "Turnout path[%d:%d] out of bounds: %d"
-msgstr "Weg durch Weiche[%d:%d] ausserhalb der Grenzen: %d"
+msgid "CheckPath: Turnout path[%d] %d is not a track segment"
+msgstr "CheckPath: Weichenpfad[%d] %d ist kein Gleissegment"
-#: ../bin/cturnout.c:381 ../bin/cturnout.c:391
+#: ../bin/cturnout.c:428
#, c-format
-msgid "Turnout path[%d] %d is not a valid track segment"
-msgstr "Weg durch Weiche[%d] %d ist kein gültiger Gleisabschnitt"
-
-#: ../bin/cturnout.c:401 ../bin/cturnout.c:406
-#, c-format
-msgid "Turnout path[%d] %d is not a track segment"
-msgstr "Weg durch Weiche[%d] % ist kein Gleisabschnitt"
-
-#: ../bin/cturnout.c:414
-#, c-format
-msgid "Turnout path[%d] %d-%d not connected: %0.3f P0(%f,%f) P1(%f,%f)"
+msgid ""
+"CheckPath: Turnout path[%d] %d-%d not connected: %0.3f P0(%f,%f) P1(%f,%f)"
msgstr ""
-"Weg durch Weiche[%d] %d-%d ist nicht verbunden: %0.3f P0(%f,%f) P1(%f,%f)"
+"CheckPath: Weichenpfad[%d] %d-%d nicht verbunden: %0.3f P0(%f,%f) P1(%f,%f)"
-#: ../bin/cturnout.c:452
+#: ../bin/cturnout.c:475
msgid "Unknown special case"
msgstr "Unbekannter Sonderfall"
-#: ../bin/cturnout.c:562
+#: ../bin/cturnout.c:592
msgid "Connect Adjustable Tracks"
msgstr "Veränderbare Gleise verbinden"
-#: ../bin/cturnout.c:1104
+#: ../bin/cturnout.c:2984
msgid "splitTurnout: can't find segment"
msgstr "Weiche auftrennen: Gleissegment nicht gefunden"
-#: ../bin/cturnout.c:1553 ../bin/track.c:2259 ../bin/track.c:2365
-#: ../bin/tstraigh.c:554
+#: ../bin/cturnout.c:3443 ../bin/track.c:2324 ../bin/track.c:2430
+#: ../bin/tstraigh.c:632
msgid "Drag to change track length"
msgstr "Ziehen um die Gleislänge zu ändern"
-#: ../bin/cturnout.c:1564
+#: ../bin/cturnout.c:3454
#, c-format
msgid "Length=%s"
msgstr "Länge=%s"
-#: ../bin/cturnout.c:2386
+#: ../bin/cturnout.c:3737
+#, c-format
+msgid "Turnout %d Path: %s"
+msgstr "Weiche%d Pfad: %s"
+
+#: ../bin/cturnout.c:4288
#, c-format
msgid "%d connections, max distance %0.3f (%s)"
msgstr "%d Verbindungen, max. Abstand %0.3f (%s)"
-#: ../bin/cturnout.c:2391
+#: ../bin/cturnout.c:4294
#, c-format
msgid "0 connections (%s)"
msgstr "Keine Verbindungen (%s)"
-#: ../bin/cturnout.c:2431
+#: ../bin/cturnout.c:4333
msgid "Place New Turnout"
msgstr "Neue Weiche setzen"
-#: ../bin/cturnout.c:2841
+#: ../bin/cturnout.c:4743
#, c-format
msgid "Angle = %0.3f (%s)"
msgstr "Winkel = %0.3f (%s)"
-#: ../bin/cturnout.c:2933 ../bin/param.c:2622
-msgid "Close"
-msgstr "Schliessen"
-
-#: ../bin/cturnout.c:2950
+#: ../bin/cturnout.c:4853
msgid "Pick turnout and active End Point, then place on the layout"
msgstr ""
"Weiche und aktiven Endpunkt auswählen und dann auf den Gleisplan setzen"
-#: ../bin/cturnout.c:3144
+#: ../bin/cturnout.c:5048
msgid "Predefined Track"
msgstr "Vordefiniertes Gleis"
-#: ../bin/cturntbl.c:52 ../bin/cturntbl.c:251 ../bin/cturntbl.c:857
-#: ../bin/cturntbl.c:871
+#: ../bin/cturntbl.c:49 ../bin/cturntbl.c:248 ../bin/cturntbl.c:946
+#: ../bin/cturntbl.c:961
msgid "Diameter"
msgstr "Durchmesser"
-#: ../bin/cturntbl.c:252
+#: ../bin/cturntbl.c:249
msgid "# EndPt"
msgstr "Anzahl Endpunkte"
-#: ../bin/cturntbl.c:286
+#: ../bin/cturntbl.c:283
#, c-format
msgid "Turntable(%d): Layer=%d Center=[%s %s] Diameter=%s #EP=%d"
msgstr ""
"Drehscheibe(%d): Ebene=%d Mittelpunkt=[%s %s] Durchmesser=%s Anzahl "
"Endpunkte=%d"
-#: ../bin/cturntbl.c:301
+#: ../bin/cturntbl.c:302
msgid "Turntable"
msgstr "Drehscheibe"
-#: ../bin/cturntbl.c:565
+#: ../bin/cturntbl.c:610
msgid "Drag to create stall track"
msgstr "Ziehen um Schuppengleis zu erstellen"
-#: ../bin/cturntbl.c:618
+#: ../bin/cturntbl.c:663
msgid "Connect Turntable Tracks"
msgstr "Drehscheibengleise verbinden"
-#: ../bin/cturntbl.c:885
+#: ../bin/cturntbl.c:975
msgid "Create Turntable"
msgstr "Drehscheibe setzen"
-#: ../bin/cturntbl.c:916
+#: ../bin/cturntbl.c:1006
msgid "Custom Turntable"
msgstr "Drehscheibe entwerfen"
-#: ../bin/cundo.c:166
+#: ../bin/cundo.c:210
msgid "Undo Trace"
msgstr "Undo Trace"
-#: ../bin/cundo.c:536
+#: ../bin/cundo.c:628
#, c-format
msgid "Undo: %s"
msgstr "Rückgängig: %s"
-#: ../bin/cundo.c:539 ../../../../build/work/app/bin/bllnhlp.c:158
+#: ../bin/cundo.c:631 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:167
msgid "Undo last command"
msgstr "Letzten Befehl rückgängig machen"
-#: ../bin/cundo.c:544
+#: ../bin/cundo.c:636
#, c-format
msgid "Redo: %s"
msgstr "Wiederholen: %s"
-#: ../bin/cundo.c:547 ../../../../build/work/app/bin/bllnhlp.c:124
+#: ../bin/cundo.c:639 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:128
msgid "Redo last undo"
msgstr "Rückgängig gemachten Befehl wiederholen"
-#: ../bin/custom.c:167
+#: ../bin/custom.c:147
#, c-format
msgid "%s Turnout Designer"
msgstr "%s Weichendesigner"
-#: ../bin/custom.c:172
+#: ../bin/custom.c:152
#, c-format
msgid "%s Version %s"
msgstr "%s Version %s"
-#: ../bin/custom.c:177
+#: ../bin/custom.c:157
#, c-format
msgid ""
"All %s Files (*.xtc,*.xtce)|*.xtc;*.xtce|%s Trackplan (*.xtc)|*.xtc|%s "
@@ -3572,7 +3721,7 @@ msgstr ""
"Alle %s-Dateien (*.xtc,*.xtce)|*.xtc;*.xtce|%s Gleisplan (*.xtc)|*.xtc|%s "
"Erweiterter Gleisplan (*.xtce)|*.xtce|Alle Dateien (*)|*"
-#: ../bin/custom.c:188
+#: ../bin/custom.c:168
#, c-format
msgid ""
"%s Trackplan (*.xtc)|*.xtc|%s Extended Trackplan (*.xtce)|*.xtce|All Files "
@@ -3581,85 +3730,89 @@ msgstr ""
"%s Gleisplan (*.xtc)|*.xtc|%s Erweiterter Gleisplan (*.xtce)|*.xtce|Alle "
"Dateien (*)|*"
-#: ../bin/custom.c:197
+#: ../bin/custom.c:177
#, c-format
msgid "All Files (*)|*"
msgstr "Alle Dateien (*)|*"
-#: ../bin/custom.c:202
+#: ../bin/custom.c:182
#, c-format
msgid "%s Import Files (*.xti)|*.xti"
msgstr "%s-Importdateien(*.xti)|*.xti"
-#: ../bin/custom.c:207
+#: ../bin/custom.c:187
msgid "Data Exchange Format Files (*.dxf)|*.dxf"
msgstr "Data Exchange Format Dateien(*.dxf)|*.dxf"
-#: ../bin/custom.c:211
+#: ../bin/custom.c:191
+msgid "Scalable Vector Graphics Format Files (*.svg)|*.svg"
+msgstr "Scalable Vector Graphics Format Dateien (*.svg)|*.svg"
+
+#: ../bin/custom.c:196
#, c-format
msgid "%s Record Files (*.xtr)|*.xtr"
msgstr "%s-Aufzeichnungsdateien (*.xtr)|*.xtr"
-#: ../bin/custom.c:216
+#: ../bin/custom.c:201
#, c-format
msgid "%s Note Files (*.not)|*.not"
msgstr "%s-Notizen (*.not)|*.not"
-#: ../bin/custom.c:221
+#: ../bin/custom.c:206
#, c-format
msgid "%s Log Files (*.log)|*.log"
msgstr "%s-Protokolldateien (*.log)|*.log"
-#: ../bin/custom.c:226
+#: ../bin/custom.c:211
#, c-format
msgid "%s PartsList Files (*.txt)|*.txt"
msgstr "%s-Stücklisten (*.txt)|*.txt"
-#: ../bin/dbench.c:43
+#: ../bin/dbench.c:38
msgid " L-Girder"
msgstr " L-Träger"
-#: ../bin/dbench.c:43
+#: ../bin/dbench.c:38
msgid " T-Girder"
msgstr " T-Träger"
-#: ../bin/dbench.c:66
+#: ../bin/dbench.c:61
msgid "On Edge"
msgstr "Hochkant"
-#: ../bin/dbench.c:67
+#: ../bin/dbench.c:62
msgid "Flat"
msgstr "Flach"
-#: ../bin/dbench.c:71
+#: ../bin/dbench.c:66
msgid "Left-Down"
msgstr "Links unten"
-#: ../bin/dbench.c:72
+#: ../bin/dbench.c:67
msgid "Right-Down"
msgstr "Rechts unten"
-#: ../bin/dbench.c:73
+#: ../bin/dbench.c:68
msgid "Left-Up"
msgstr "Links oben"
-#: ../bin/dbench.c:74
+#: ../bin/dbench.c:69
msgid "Right-Up"
msgstr "Rechts oben"
-#: ../bin/dbench.c:75
+#: ../bin/dbench.c:70
msgid "Left-Inverted"
msgstr "Links umgekehrt"
-#: ../bin/dbench.c:76
+#: ../bin/dbench.c:71
msgid "Right-Inverted"
msgstr "Rechts umgekehrt"
-#: ../bin/dbench.c:81
+#: ../bin/dbench.c:76
msgid "Inverted"
msgstr "Umgekehrt"
-#: ../bin/dbench.c:147
+#: ../bin/dbench.c:143
#, c-format
msgid ""
"Bad BenchType for %s:\n"
@@ -3668,693 +3821,665 @@ msgstr ""
"Falscher Trägertyp %s:\n"
"%s"
-#: ../bin/dbitmap.c:102 ../bin/dbitmap.c:106
+#: ../bin/dbitmap.c:149
+msgid "Drawing tracks to bitmap"
+msgstr "Gleisplan als Grafik ausgeben"
+
+#: ../bin/dbitmap.c:186
msgid "Drawn with "
msgstr "Gezeichnet mit "
-#: ../bin/dbitmap.c:116
-msgid "Drawing tracks to BitMap"
-msgstr "Gleisplan als Grafik ausgeben"
-
-#: ../bin/dbitmap.c:123
-msgid "Writing BitMap to file"
+#: ../bin/dbitmap.c:228
+msgid "Writing bitmap to file"
msgstr "Grafik in Datei speichern"
-#: ../bin/dbitmap.c:144
-msgid "Print Titles"
-msgstr "Überschriften ausgeben"
+#: ../bin/dbitmap.c:251
+msgid "Layout Titles"
+msgstr "Gleisplantitel"
+
+#: ../bin/dbitmap.c:252
+msgid "Borders"
+msgstr "Rahmen"
-#: ../bin/dbitmap.c:144
-msgid "Print Borders"
-msgstr "Rahmen ausgeben"
+#: ../bin/dbitmap.c:253
+msgid "Centerline of Track"
+msgstr "Mittellinie des Gleises"
-#: ../bin/dbitmap.c:145
-msgid "Print Centerline"
-msgstr "Mittellinie ausgeben"
+#: ../bin/dbitmap.c:254
+msgid "Background Image"
+msgstr "Hintergrundbild"
-#: ../bin/dbitmap.c:152
-msgid " dpi"
-msgstr " dpi"
+#: ../bin/dbitmap.c:261
+msgid "Include "
+msgstr "Einfügen"
-#: ../bin/dbitmap.c:154
-msgid "Bitmap : 99999 by 99999 pixels"
-msgstr "Grafik : 99999 auf 99999 Bildpunkte"
+#: ../bin/dbitmap.c:263
+msgid "Resolution "
+msgstr "Auflösung"
-#: ../bin/dbitmap.c:156
-msgid "Approximate file size: 999.9Mb"
-msgstr "Ungefähre Dateigrösse : 999.9Mb"
+#: ../bin/dbitmap.c:264
+msgid "dpi"
+msgstr "Punkte pro Zoll"
-#: ../bin/dbitmap.c:186
+#: ../bin/dbitmap.c:265
+msgid "Bitmap Size "
+msgstr "Bitmap-Größe"
+
+#: ../bin/dbitmap.c:267
+msgid "99999 by 99999 pixels"
+msgstr "99999 auf 99999 Bildpunkte"
+
+#: ../bin/dbitmap.c:268
+msgid "Approximate File Size "
+msgstr "Ungefähre Dateigröße"
+
+#: ../bin/dbitmap.c:270
+msgid "999.9Mb"
+msgstr "999,9Mb"
+
+#: ../bin/dbitmap.c:316
#, c-format
-msgid "Bitmap : %ld by %ld pixels"
-msgstr "Grafik : %ld auf %ld Bildpunkte"
+msgid "%ld by %ld pixels"
+msgstr "%ld auf %ld Pixel"
-#: ../bin/dbitmap.c:190
+#: ../bin/dbitmap.c:338
#, c-format
-msgid "Approximate file size : %0.0f"
-msgstr "Ungefähre Dateigrösse : %0.0f"
+msgid "%0.0f"
+msgstr "%0.0f"
-#: ../bin/dbitmap.c:192
+#: ../bin/dbitmap.c:340
#, c-format
-msgid "Approximate file size : %0.1fKb"
-msgstr "Ungefähre Dateigrösse : %0.1fKb"
+msgid "%0.1fKb"
+msgstr "%0.1fKb"
-#: ../bin/dbitmap.c:194
+#: ../bin/dbitmap.c:342
#, c-format
-msgid "Approximate file size : %0.1fMb"
-msgstr "Ungefähre Dateigrösse : %0.1fMb"
+msgid "%0.1fMb"
+msgstr "%0.1fMb"
-#: ../bin/dbitmap.c:213
+#: ../bin/dbitmap.c:344
+#, c-format
+msgid "%0.1fGb"
+msgstr "%0.1fGb"
+
+#: ../bin/dbitmap.c:435
msgid "Save Bitmap"
msgstr "Grafik speichern"
-#: ../bin/dbitmap.c:217
-msgid "Bitmap files (*.png)|*.png"
-msgstr "Portable Network Graphics (*.png)|*.png"
+#: ../bin/dbitmap.c:436
+msgid ""
+"Portable Network Graphics format (*.png)|*.png|JPEG format (*.jpg)|*.jpg"
+msgstr ""
+"Portables Netzwerkgrafikformat (*.png)|*.png|JPEG grafikformat (*.jpg)|*.jpg"
-#: ../bin/dbitmap.c:238
-msgid "BitMap"
-msgstr "Grafik"
+#: ../bin/dbitmap.c:471
+msgid "Export to bitmap"
+msgstr "Als Bitmap exportieren"
-#: ../bin/dcar.c:54
+#: ../bin/dcar.c:45
msgid "Truck"
msgstr "Drehgestell"
-#: ../bin/dcar.c:54
+#: ../bin/dcar.c:45
msgid "Body"
msgstr "Aufbau"
-#: ../bin/dcar.c:156 ../bin/dcar.c:2701 ../bin/dcar.c:2705
+#: ../bin/dcar.c:147 ../bin/dcar.c:2694 ../bin/dcar.c:2698
msgid "Unknown"
msgstr "Unbekannt"
-#: ../bin/dcar.c:478
+#: ../bin/dcar.c:469
msgid "Diesel Loco"
msgstr "Diesellok"
-#: ../bin/dcar.c:479
+#: ../bin/dcar.c:470
msgid "Steam Loco"
msgstr "Dampflok"
-#: ../bin/dcar.c:480
+#: ../bin/dcar.c:471
msgid "Elect Loco"
msgstr "Elektrolok"
-#: ../bin/dcar.c:481
+#: ../bin/dcar.c:472
msgid "Freight Car"
msgstr "Güterwagen"
-#: ../bin/dcar.c:482
+#: ../bin/dcar.c:473
msgid "Psngr Car"
msgstr "Personenwagen"
-#: ../bin/dcar.c:483
+#: ../bin/dcar.c:474
msgid "M-O-W"
msgstr "Arbeitswagen"
-#: ../bin/dcar.c:484
+#: ../bin/dcar.c:475
msgid "Other"
msgstr "Sonstige"
-#: ../bin/dcar.c:1183 ../bin/dcar.c:5077
+#: ../bin/dcar.c:1173 ../bin/dcar.c:5081
msgid "N/A"
msgstr "Keine Angabe"
-#: ../bin/dcar.c:1184 ../bin/dcar.c:5082
+#: ../bin/dcar.c:1174 ../bin/dcar.c:5086
msgid "Mint"
msgstr "Neuwertig"
-#: ../bin/dcar.c:1185 ../bin/dcar.c:5081
+#: ../bin/dcar.c:1175 ../bin/dcar.c:5085
msgid "Excellent"
msgstr "Exzellent"
-#: ../bin/dcar.c:1186 ../bin/dcar.c:5080
+#: ../bin/dcar.c:1176 ../bin/dcar.c:5084
msgid "Good"
msgstr "Gut"
-#: ../bin/dcar.c:1187 ../bin/dcar.c:5079
+#: ../bin/dcar.c:1177 ../bin/dcar.c:5083
msgid "Fair"
msgstr "In Ordnung"
-#: ../bin/dcar.c:1188 ../bin/dcar.c:5078
+#: ../bin/dcar.c:1178 ../bin/dcar.c:5082
msgid "Poor"
msgstr "Schlecht"
-#: ../bin/dcar.c:1501 ../bin/dpricels.c:45
-#: ../../../../build/work/app/bin/bllnhlp.c:440
+#: ../bin/dcar.c:1492 ../bin/dpricels.c:42
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:486
msgid "Item"
msgstr "Gegenstand"
-#: ../bin/dcar.c:2173 ../wlib/gtklib/notice.c:96 ../wlib/mswlib/mswmisc.c:2097
+#: ../bin/dcar.c:2164 ../wlib/gtklib/notice.c:96 ../wlib/mswlib/mswmisc.c:2129
msgid "Information"
msgstr "Information"
-#: ../bin/dcar.c:2173
+#: ../bin/dcar.c:2164
msgid "Customize"
msgstr "Anpassen"
-#: ../bin/dcar.c:2185
+#: ../bin/dcar.c:2177
msgid "Sequential"
msgstr "Aufsteigend"
-#: ../bin/dcar.c:2185
+#: ../bin/dcar.c:2177
msgid "Repeated"
msgstr "Wiederholend"
-#: ../bin/dcar.c:2196 ../bin/dcar.c:2198 ../bin/dcar.c:5407
+#: ../bin/dcar.c:2188 ../bin/dcar.c:2190 ../bin/dcar.c:5411
msgid "Prototype"
msgstr "Vorbild"
-#: ../bin/dcar.c:2204
+#: ../bin/dcar.c:2196
msgid "Part"
msgstr "Teil"
-#: ../bin/dcar.c:2206 ../../../../build/work/app/bin/bllnhlp.c:372
-#: ../../../../build/work/app/bin/bllnhlp.c:568
-#: ../../../../build/work/app/bin/bllnhlp.c:569
+#: ../bin/dcar.c:2198 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:408
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:618
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:619
msgid "Part Number"
msgstr "Bestellnummer"
-#: ../bin/dcar.c:2208
+#: ../bin/dcar.c:2200
msgid "Loco?"
msgstr "Lok?"
-#: ../bin/dcar.c:2212 ../bin/dcar.c:4404
+#: ../bin/dcar.c:2204 ../bin/dcar.c:4411
msgid "Import"
msgstr "Import"
-#: ../bin/dcar.c:2219
+#: ../bin/dcar.c:2211
msgid "Mode"
msgstr "Modus"
-#: ../bin/dcar.c:2223
+#: ../bin/dcar.c:2215
msgid "Road"
msgstr "Gesellschaft"
-#: ../bin/dcar.c:2225
+#: ../bin/dcar.c:2217
msgid "Reporting Mark"
msgstr "Wagennummer"
-#: ../bin/dcar.c:2227
+#: ../bin/dcar.c:2219
msgid "Number"
msgstr "Nummer"
-#: ../bin/dcar.c:2231
+#: ../bin/dcar.c:2223
msgid "Car Length"
msgstr "Wagenlänge"
-#: ../bin/dcar.c:2235
+#: ../bin/dcar.c:2227
msgid "Truck Centers"
msgstr "Drehgestellabstand"
-#: ../bin/dcar.c:2239
+#: ../bin/dcar.c:2231
msgid "Coupler Mount"
msgstr "Kupplungsbefestigung"
-#: ../bin/dcar.c:2241
+#: ../bin/dcar.c:2233
msgid "Coupled Length"
msgstr "Gekuppelte Länge"
-#: ../bin/dcar.c:2243 ../bin/dcar.c:4251
+#: ../bin/dcar.c:2235 ../bin/dcar.c:4256
msgid "Coupler Length"
msgstr "Kupplungslänge"
-#: ../bin/dcar.c:2251
+#: ../bin/dcar.c:2243
msgid "Purchase Price"
msgstr "Kaufpreis"
-#: ../bin/dcar.c:2253 ../../../../build/work/app/bin/bllnhlp.c:236
+#: ../bin/dcar.c:2245 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:264
msgid "Current Price"
msgstr "Aktueller Preis"
-#: ../bin/dcar.c:2255 ../bin/dcar.c:4368 ../bin/dcar.c:4373
+#: ../bin/dcar.c:2247 ../bin/dcar.c:4375 ../bin/dcar.c:4380
msgid "Condition"
msgstr "Zustand"
-#: ../bin/dcar.c:2257
+#: ../bin/dcar.c:2249
msgid "Purchase Date"
msgstr "Kaufdatum"
-#: ../bin/dcar.c:2259 ../bin/dcar.c:4373
+#: ../bin/dcar.c:2251 ../bin/dcar.c:4380
msgid "Service Date"
msgstr "Servicedatum"
-#: ../bin/dcar.c:2261
+#: ../bin/dcar.c:2253
msgid "Quantity"
msgstr "Anzahl"
-#: ../bin/dcar.c:2263
+#: ../bin/dcar.c:2255
msgid "Numbers"
msgstr "Nummern"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:371
-#: ../bin/dcar.c:2265 ../bin/dcar.c:4369 ../bin/trknote.c:708
-#: ../../../../build/work/app/i18n/custmsg.h:1267
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:487
+#: ../bin/dcar.c:2257 ../bin/dcar.c:4376 ../bin/trknote.c:709
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1267
msgid "Notes"
msgstr "Notizen"
-#: ../bin/dcar.c:2272
+#: ../bin/dcar.c:2264
msgid "Car Part"
msgstr "Wagenvorlage"
-#: ../bin/dcar.c:2273 ../../../../build/work/app/bin/bllnhlp.c:210
-#: ../../../../build/work/app/bin/bllnhlp.c:211
+#: ../bin/dcar.c:2265 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:238
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:239
msgid "Car Prototype"
msgstr "Wagenvorbild"
-#: ../bin/dcar.c:2635 ../bin/dcar.c:2952
+#: ../bin/dcar.c:2628 ../bin/dcar.c:2945
msgid "Undecorated"
msgstr "Unbeschriftet"
-#: ../bin/dcar.c:2693 ../bin/dcar.c:2697 ../bin/paramfilelist.c:376
+#: ../bin/dcar.c:2686 ../bin/dcar.c:2690 ../bin/paramfilelist.c:390
msgid "Custom"
msgstr "Individual"
-#: ../bin/dcar.c:2862
+#: ../bin/dcar.c:2855
msgid "Undecorated "
msgstr "Unbeschriftet "
-#: ../bin/dcar.c:3084
+#: ../bin/dcar.c:3077
#, c-format
msgid "New %s Scale Car"
msgstr "Neuer Wagen in %s"
-#: ../bin/dcar.c:3085 ../bin/dcar.c:3094 ../bin/dcar.c:3103 ../bin/dcar.c:4284
-#: ../bin/dcar.c:4400 ../bin/paramfilesearch_ui.c:74
+#: ../bin/dcar.c:3078 ../bin/dcar.c:3087 ../bin/dcar.c:3096 ../bin/dcar.c:4289
+#: ../bin/dcar.c:4407 ../bin/paramfilesearch_ui.c:76
msgid "Add"
msgstr "Hinzufügen"
-#: ../bin/dcar.c:3087
+#: ../bin/dcar.c:3080
#, c-format
msgid "Update %s Scale Car"
msgstr "Aktualisiere Wagen in Maßstab %s"
-#: ../bin/dcar.c:3088 ../bin/dcar.c:3097 ../bin/dcar.c:3106 ../bin/dcmpnd.c:173
+#: ../bin/dcar.c:3081 ../bin/dcar.c:3090 ../bin/dcar.c:3099
+#: ../bin/dcmpnd.c:168
msgid "Update"
msgstr "Aktualisieren"
-#: ../bin/dcar.c:3093
+#: ../bin/dcar.c:3086
#, c-format
msgid "New %s Scale Car Part"
msgstr "Neue Wagenvorlage in %s"
-#: ../bin/dcar.c:3096
+#: ../bin/dcar.c:3089
#, c-format
msgid "Update %s Scale Car Part"
msgstr "Wagenvorlage in %s aktualisieren"
-#: ../bin/dcar.c:3102
+#: ../bin/dcar.c:3095
msgid "New Prototype"
msgstr "Neues Vorbild"
-#: ../bin/dcar.c:3105
+#: ../bin/dcar.c:3098
msgid "Update Prototype"
msgstr "Aktualisiere Vorbild"
-#: ../bin/dcar.c:3777
-msgid "Enter a 8 digit numeric date"
-msgstr "Geben Sie ein 8-stelliges numerisches Datum ein"
+#: ../bin/dcar.c:3739
+msgid "Truck Center Offset plus Truck Centers must be less than Car Length"
+msgstr ""
+"Abstand der Drehgestelle vom Ende und deren Abstand muss kleiner als die "
+"Wagenlänge sein"
-#: ../bin/dcar.c:3780
-msgid "Enter a 8 digit date"
-msgstr "Geben Sie ein 8-stelliges Datum ein"
+#: ../bin/dcar.c:3796 ../bin/dcar.c:3800
+msgid "Enter a 8 digit numeric date (yyyymmdd)"
+msgstr "Geben Sie das Datum in 8-stelligem numerischen Format ein (jjjjmmdd)"
-#: ../bin/dcar.c:3782
+#: ../bin/dcar.c:3803
msgid "Enter a date between 19000101 and 21991231"
msgstr "Geben Sie ein Datum zwischen 19000101 und 21991231 ein"
-#: ../bin/dcar.c:3787
+#: ../bin/dcar.c:3809
msgid "Invalid month"
msgstr "Ungültiger Monat"
-#: ../bin/dcar.c:3789
+#: ../bin/dcar.c:3812
msgid "Invalid day"
msgstr "Ungültiger Kalendertag"
-#: ../bin/dcar.c:3881
-msgid "Enter a Prototype name"
-msgstr "Geben Sie den Namen des Vorbild ein"
-
-#: ../bin/dcar.c:3883
+#: ../bin/dcar.c:3907
msgid "Select or Enter a Manufacturer"
msgstr "Hersteller auswählen oder eingeben"
-#: ../bin/dcar.c:3885
-msgid "Enter a Part Number"
-msgstr "Bestellnummer eingeben"
-
-#: ../bin/dcar.c:3887
-msgid "Enter the Car Length"
-msgstr "Länge des Wagen eingeben"
-
-#: ../bin/dcar.c:3889
-msgid "Enter the Car Width"
-msgstr "Breite des Wagen eingeben"
-
-#: ../bin/dcar.c:3891
-msgid "Enter the Truck Centers"
-msgstr "Drehgestellabstand eingeben"
-
-#: ../bin/dcar.c:3893
-msgid "Truck Center Offset must be greater than 0 or 0"
-msgstr "Abstand der Drehgestelle vom Ende muss größer oder gleich 0 sein"
-
-#: ../bin/dcar.c:3895
-msgid "Truck Centers must be less than Car Length"
-msgstr "Abstand der Drehgestelle muss kleiner als die Wagenlänge sein"
-
-#: ../bin/dcar.c:3897
-msgid "Truck Center Offset plus Truck Centers must be less than Car Length"
-msgstr ""
-"Abstand der Drehgestelle vom Ende und deren Abstand muss kleiner als die "
-"Wagenlänge sein"
-
-#: ../bin/dcar.c:3899
-msgid "Enter the Coupled Length or Coupler Length"
-msgstr "Geben Sie die gekuppelte Länge oder die Kupplungslänge ein"
-
-#: ../bin/dcar.c:3901
-msgid "Enter the Coupled Length"
-msgstr "Geben Sie die gekuppelte Länge ein"
-
-#: ../bin/dcar.c:3903
-msgid "Enter a item Index"
-msgstr "Geben Sie eine Kennnummer ein"
-
-#: ../bin/dcar.c:3905
-msgid "Purchase Price is not valid"
-msgstr "Kaufpreis ist nicht gültig"
-
-#: ../bin/dcar.c:3907
-msgid "Current Price is not valid"
-msgstr "Aktueller Preis ist nicht gültig"
-
-#: ../bin/dcar.c:3909
-msgid "Purchase Date is not valid"
-msgstr "Kaufdatum ist nicht gültig"
-
-#: ../bin/dcar.c:3911
-msgid "Service Date is not valid"
-msgstr "Servicedatum ist nicht gültig"
-
-#: ../bin/dcar.c:3914
+#: ../bin/dcar.c:3910
#, c-format
msgid "Item Index %ld duplicated an existing item: updated to new value"
msgstr "Kennnummer %ld existiert bereits: mit neuem Wert aktualisiert"
-#: ../bin/dcar.c:4110
+#: ../bin/dcar.c:4115
#, c-format
msgid "Added %ld new Cars"
msgstr "%ld neue Wagen hinzugefügt"
-#: ../bin/dcar.c:4112
+#: ../bin/dcar.c:4117
msgid "Added new Car"
msgstr "Neuen Wagen hinzugefügt"
-#: ../bin/dcar.c:4115
+#: ../bin/dcar.c:4120
msgid "Updated Car"
msgstr "Wagen aktualisiert"
-#: ../bin/dcar.c:4118
+#: ../bin/dcar.c:4123
msgid " and Part"
msgstr " und Teil"
-#: ../bin/dcar.c:4145
+#: ../bin/dcar.c:4150
#, c-format
msgid "%s Part: %s %s %s %s %s %s"
msgstr "%s Teil: %s %s %s %s %s %s"
-#: ../bin/dcar.c:4145 ../bin/dcar.c:4162
+#: ../bin/dcar.c:4150 ../bin/dcar.c:4167
msgid "Added new"
msgstr "Neu hinzugefügt"
-#: ../bin/dcar.c:4145 ../bin/dcar.c:4162
+#: ../bin/dcar.c:4150 ../bin/dcar.c:4167
msgid "Updated"
msgstr "Aktualisiert"
-#: ../bin/dcar.c:4161
+#: ../bin/dcar.c:4166
#, c-format
msgid "%s Prototype: %s%s."
msgstr "%s Vorbild: %s%s."
-#: ../bin/dcar.c:4163
+#: ../bin/dcar.c:4168
msgid ". Enter new values or press Close"
msgstr ". Neue Werte eingeben oder Abbruch drücken"
-#: ../bin/dcar.c:4284
+#: ../bin/dcar.c:4289
msgid "New Car Part"
msgstr "Neues Wagenmuster"
-#: ../bin/dcar.c:4367 ../bin/dcar.c:4372
-#: ../../../../build/work/app/bin/bllnhlp.c:410
+#: ../bin/dcar.c:4374 ../bin/dcar.c:4379
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:456
msgid "Roadname"
msgstr "Gesellschaft"
-#: ../bin/dcar.c:4367
+#: ../bin/dcar.c:4374
msgid "Purc Price"
msgstr "Kaufpreis"
-#: ../bin/dcar.c:4368 ../bin/dcar.c:4373
+#: ../bin/dcar.c:4375 ../bin/dcar.c:4380
msgid "Curr Price"
msgstr "Akt. Preis"
-#: ../bin/dcar.c:4368
+#: ../bin/dcar.c:4375
msgid "Purc Date"
msgstr "Kaufdaum"
-#: ../bin/dcar.c:4368
+#: ../bin/dcar.c:4375
msgid "Srvc Date"
msgstr "Servicedatum"
-#: ../bin/dcar.c:4369
+#: ../bin/dcar.c:4376
msgid "Locat'n"
msgstr "Ort"
-#: ../bin/dcar.c:4372
+#: ../bin/dcar.c:4379
msgid "RepMarks"
msgstr "Wagennummer"
-#: ../bin/dcar.c:4372
+#: ../bin/dcar.c:4379
msgid "Purch Price"
msgstr "Kaufpreis"
-#: ../bin/dcar.c:4373
+#: ../bin/dcar.c:4380
msgid "Purch Date"
msgstr "Kaufdatum"
-#: ../bin/dcar.c:4390
+#: ../bin/dcar.c:4397
msgid "Sort By"
msgstr "Sortierung"
-#: ../bin/dcar.c:4398 ../bin/dcontmgm.c:99 ../bin/dcustmgm.c:71
-#: ../bin/dcustmgm.c:108
+#: ../bin/dcar.c:4405 ../bin/dcontmgm.c:87 ../bin/dcustmgm.c:56
+#: ../bin/dcustmgm.c:93
msgid "Edit"
msgstr "Bearbeiten"
-#: ../bin/dcar.c:4402 ../bin/dcontmgm.c:101 ../bin/dcustmgm.c:73
-#: ../bin/misc.c:2246
+#: ../bin/dcar.c:4409 ../bin/dcontmgm.c:89 ../bin/dcustmgm.c:58
+#: ../bin/misc.c:2497
msgid "Delete"
msgstr "Löschen"
-#: ../bin/dcar.c:4406 ../bin/fileio.c:1517
+#: ../bin/dcar.c:4413 ../bin/fileio.c:1490
msgid "Export"
msgstr "Export"
-#: ../bin/dcar.c:4408 ../../../../build/work/app/bin/bllnhlp.c:585
+#: ../bin/dcar.c:4415 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:635
msgid "List"
msgstr "Auflisten"
-#: ../bin/dcar.c:4519 ../bin/dcar.c:5256 ../bin/misc.c:2622
+#: ../bin/dcar.c:4525 ../bin/dcar.c:5260 ../bin/misc.c:2896
msgid "Car Inventory"
msgstr "Wagenverzeichnis"
-#: ../bin/dcar.c:4639
+#: ../bin/dcar.c:4645
msgid "List Cars"
msgstr "Wagen auflisten"
-#: ../bin/dcar.c:4763 ../bin/dcar.c:4928
+#: ../bin/dcar.c:4768 ../bin/dcar.c:4933
msgid "Import Cars"
msgstr "Wagen importieren"
-#: ../bin/dcar.c:4929 ../bin/dcar.c:5052
+#: ../bin/dcar.c:4934 ../bin/dcar.c:5056
msgid "Comma-Separated-Values (*.csv)|*.csv"
msgstr "Durch-Kommata getrennte Werte(*.csv)|*.csv"
-#: ../bin/dcar.c:4999 ../bin/dcar.c:5051
+#: ../bin/dcar.c:5003 ../bin/dcar.c:5055
msgid "Export Cars"
msgstr "Wagen exportieren"
-#: ../bin/dcar.c:5085
+#: ../bin/dcar.c:5089
msgid "Layout"
msgstr "Anlage"
-#: ../bin/dcar.c:5087
+#: ../bin/dcar.c:5091
msgid "Shelf"
msgstr "Regal"
-#: ../bin/dcmpnd.c:77 ../bin/dlayer.c:499 ../bin/misc.c:617 ../bin/misc.c:649
+#: ../bin/dcmpnd.c:72 ../bin/dlayer.c:600 ../bin/misc.c:695 ../bin/misc.c:727
msgid "Load"
msgstr "Laden"
-#: ../bin/dcmpnd.c:110
+#: ../bin/dcmpnd.c:105
msgid "Updating definitions, please wait"
msgstr "Bitte warten, Definitionen werden aktualisiert"
-#: ../bin/dcmpnd.c:173
+#: ../bin/dcmpnd.c:168
msgid "Update Title"
msgstr "Ãœberschrift aktualisieren"
-#: ../bin/dcmpnd.c:233
+#: ../bin/dcmpnd.c:228
#, c-format
msgid "End-Point #%d of the selected and actual turnouts are not close"
msgstr ""
"Endpunkte #%d der ausgewählten und der aktuellen Weiche sind nicht "
"beieinander"
-#: ../bin/dcmpnd.c:242
+#: ../bin/dcmpnd.c:237
#, c-format
msgid "End-Point #%d of the selected and actual turnouts are not aligned"
msgstr ""
"Endpunkte #%d der ausgewählten und der aktuellen Weiche sind nicht "
"ausgerichtet"
-#: ../bin/dcmpnd.c:261
+#: ../bin/dcmpnd.c:255
msgid "The selected Turnout had a differing number of End-Points"
msgstr "Die ausgewählte Weiche hatte eine andere Anzahl von Endpunkten"
-#: ../bin/dcmpnd.c:327
+#: ../bin/dcmpnd.c:320
msgid "Skip"
msgstr "Überspringen"
-#: ../bin/dcmpnd.c:359
+#: ../bin/dcmpnd.c:352
#, c-format
msgid "%d Track(s) refreshed"
msgstr "%d Gleise bearbeitet"
-#: ../bin/dcmpnd.c:399
+#: ../bin/dcmpnd.c:392
msgid "Refresh Turnout/Structure"
msgstr "Weichen/Gebäude neu laden"
-#: ../bin/dcmpnd.c:401
+#: ../bin/dcmpnd.c:394
msgid "Choose a Turnout/Structure to replace:"
msgstr "Zu ersetzende Weiche / Gebäude auswählen:"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:341
-#: ../bin/dcmpnd.c:411 ../bin/doption.c:132
-#: ../../../../build/work/app/i18n/custmsg.h:1207
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:457
+#: ../bin/dcmpnd.c:404 ../bin/doption.c:92
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1207
msgid "Turnouts"
msgstr "Weichen"
-#: ../bin/dcmpnd.c:411
+#: ../bin/dcmpnd.c:404
msgid "Structures"
msgstr "Gebäude"
-#: ../bin/dcmpnd.c:440
+#: ../bin/dcmpnd.c:433
msgid "Choose another Turnout/Structure to replace:"
msgstr "Eine andere zu ersetzende Weiche / zu ersetzendes Gebäude auswählen:"
-#: ../bin/dcmpnd.c:542
+#: ../bin/dcmpnd.c:536
msgid "Rename Object"
msgstr "Objekt umbenennen"
-#: ../bin/dcontmgm.c:92
+#: ../bin/dcontmgm.c:80
msgid "Tracks"
msgstr "Gleise"
-#: ../bin/dcontmgm.c:173
+#: ../bin/dcontmgm.c:161
#, c-format
msgid "Are you sure you want to delete the %d control element(s)"
msgstr "Sind Sie sicher, dass Sie diese %d Steuerungselemente löschen wollen?"
-#: ../bin/dcontmgm.c:176
+#: ../bin/dcontmgm.c:164
msgid "Control Elements"
msgstr "Steuerungselemente"
-#: ../bin/dcontmgm.c:299
+#: ../bin/dcontmgm.c:287
msgid "Manage Layout Control Elements"
msgstr "Steuerungselemente verwalten"
-#: ../bin/dcustmgm.c:67
+#: ../bin/dcustmgm.c:52
msgid "Create a new "
msgstr "Erstelle neue(n) "
-#: ../bin/dcustmgm.c:69
+#: ../bin/dcustmgm.c:54
msgid "Go"
msgstr "Los"
-#: ../bin/dcustmgm.c:75
+#: ../bin/dcustmgm.c:60
msgid "Move To"
msgstr "Verschieben nach"
-#: ../bin/dcustmgm.c:108
+#: ../bin/dcustmgm.c:93
msgid "Rename"
msgstr "Umbenennen"
-#: ../bin/dcustmgm.c:189
+#: ../bin/dcustmgm.c:174
msgid "Label"
msgstr "Beschriftung"
-#: ../bin/dcustmgm.c:227
+#: ../bin/dcustmgm.c:211
msgid "Contents Label"
msgstr "Inhaltsbeschriftung"
-#: ../bin/dcustmgm.c:283
+#: ../bin/dcustmgm.c:267
msgid "Move To XTP"
msgstr "\"In Paramterdatei verschieben"
-#: ../bin/dcustmgm.c:284
+#: ../bin/dcustmgm.c:268
msgid "Parameter File (*.xtp)|*.xtp"
msgstr "Parameterdateien (*.xtp)|*.xtp"
-#: ../bin/dcustmgm.c:395
+#: ../bin/dcustmgm.c:378
msgid "Manage custom designed parts"
msgstr "Eigene Teile verwalten"
-#: ../bin/dease.c:67
+#: ../bin/dease.c:64
msgid "Sharp"
msgstr "Eng"
-#: ../bin/dease.c:67
+#: ../bin/dease.c:64
msgid "Broad"
msgstr "Weit"
-#: ../bin/dease.c:67
+#: ../bin/dease.c:64
msgid "Cornu"
msgstr "Cornu"
-#: ../bin/dease.c:74
+#: ../bin/dease.c:72
msgid "Value"
msgstr "Wert"
-#: ../bin/dease.c:75 ../bin/tease.c:525
+#: ../bin/dease.c:73 ../bin/tease.c:515
msgid "R"
msgstr "R"
-#: ../bin/dease.c:77 ../bin/tease.c:526
+#: ../bin/dease.c:75 ../bin/tease.c:516
msgid "L"
msgstr "L"
-#: ../bin/dease.c:242
+#: ../bin/dease.c:240
msgid "Easement"
msgstr "Übergangsbogen"
-#: ../bin/denum.c:49
+#: ../bin/denum.c:44
msgid "Prices"
msgstr "Preise"
-#: ../bin/denum.c:54
+#: ../bin/denum.c:45 ../bin/denum.c:138
+msgid "Indexes"
+msgstr "Verzeichnisse"
+
+#: ../bin/denum.c:50
msgid "Save As ..."
msgstr "Speichern unter..."
-#: ../bin/denum.c:134 ../bin/denum.c:189 ../bin/denum.c:224
+#: ../bin/denum.c:134 ../bin/denum.c:191 ../bin/denum.c:226
msgid "Each"
msgstr "Je"
-#: ../bin/denum.c:148 ../bin/denum.c:149
+#: ../bin/denum.c:150 ../bin/denum.c:151
msgid "Parts List"
msgstr "Teileliste"
-#: ../bin/denum.c:154
+#: ../bin/denum.c:156
#, c-format
msgid ""
"%s Parts List\n"
@@ -4363,645 +4488,691 @@ msgstr ""
"%s Teileliste\n"
"\n"
-#: ../bin/denum.c:189 ../bin/denum.c:226 ../bin/denum.c:235
+#: ../bin/denum.c:191 ../bin/denum.c:228 ../bin/denum.c:237
msgid "Extended"
msgstr "Erweitert"
-#: ../bin/denum.c:235 ../bin/denum.c:238
+#: ../bin/denum.c:237 ../bin/denum.c:240
msgid "Total"
msgstr "Summe"
-#: ../bin/dlayer.c:487
+#: ../bin/dlayer.c:576
+msgid "Select Layer:"
+msgstr "Ebene auswählen:"
+
+#: ../bin/dlayer.c:582
msgid "Use Color"
msgstr "Farbe benutzen"
-#: ../bin/dlayer.c:489
+#: ../bin/dlayer.c:584
msgid "Visible"
msgstr "Sichtbar"
-#: ../bin/dlayer.c:491
+#: ../bin/dlayer.c:586
msgid "Frozen"
msgstr "Fixiert"
-#: ../bin/dlayer.c:493
+#: ../bin/dlayer.c:588
msgid "On Map"
msgstr "Auf der Karte"
-#: ../bin/dlayer.c:495
+#: ../bin/dlayer.c:590
msgid "Module"
msgstr "Modul"
-#: ../bin/dlayer.c:498
-msgid "Personal Preferences"
-msgstr "Persönliche Einstellungen"
+#: ../bin/dlayer.c:592
+msgid "No Button"
+msgstr "Kein Knopf"
+
+#: ../bin/dlayer.c:594
+msgid "Linked Layers"
+msgstr "Verknüpfte Ebenen"
-#: ../bin/dlayer.c:500 ../bin/macro.c:1421
+#: ../bin/dlayer.c:596
+msgid "Settings when Current"
+msgstr "Einstellungen wenn aktiv"
+
+#: ../bin/dlayer.c:598
+msgid "Object Count:"
+msgstr "Anzahl der Objekte"
+
+#: ../bin/dlayer.c:599
+msgid "All Layer Preferences"
+msgstr "Einstellungen für alle Ebenen"
+
+#: ../bin/dlayer.c:601 ../bin/macro.c:1404
msgid "Save"
msgstr "Speichern"
-#: ../bin/dlayer.c:501
+#: ../bin/dlayer.c:602
msgid "Defaults"
msgstr "Standardwerte"
-#: ../bin/dlayer.c:502
+#: ../bin/dlayer.c:603
msgid "Number of Layer Buttons"
msgstr "Anzahl der Ebenenknöpfe"
-#: ../bin/dlayer.c:519 ../bin/dlayer.c:987 ../bin/dlayer.c:1000
-#: ../bin/dlayer.c:1051
+#: ../bin/dlayer.c:711 ../bin/dlayer.c:1286 ../bin/dlayer.c:1303
+#: ../bin/dlayer.c:1374
msgid "Main"
msgstr "Haupt"
-#: ../bin/dlayer.c:632 ../bin/dlayer.c:925 ../bin/dlayer.c:1003
-#: ../bin/dlayer.c:1053 ../bin/dlayer.c:1311
+#: ../bin/dlayer.c:842 ../bin/dlayer.c:1203 ../bin/dlayer.c:1306
+#: ../bin/dlayer.c:1376 ../bin/dlayer.c:1778
msgid "Show/Hide Layer"
msgstr "Ebene anzeigen/verbergen"
-#: ../bin/dlayer.c:1124
+#: ../bin/dlayer.c:1546
msgid "Layers"
msgstr "Ebenen"
-#: ../bin/doption.c:95
-msgid "Turning off AutoSave"
-msgstr "Automatisches Sichern aus"
-
-#: ../bin/doption.c:104
-msgid "Turning on CheckPointing"
-msgstr "Sicherungskopien aktivieren"
+#: ../bin/dlayer.c:1765 ../bin/misc.c:2465
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:17
+msgid "Show/Hide Background"
+msgstr "Hintergrund zeigen"
-#: ../bin/doption.c:130
+#: ../bin/doption.c:90
msgid "Auto Pan"
msgstr "Automatischer Ausschnitt"
-#: ../bin/doption.c:132
+#: ../bin/doption.c:92
msgid "All"
msgstr "Alle"
-#: ../bin/doption.c:133
+#: ../bin/doption.c:93
msgid "Thick"
msgstr "Dick"
-#: ../bin/doption.c:133
+#: ../bin/doption.c:93
msgid "Exception"
msgstr "Ausnahmegleis"
-#: ../bin/doption.c:134
+#: ../bin/doption.c:94
msgid "Outline"
msgstr "Umriss"
-#: ../bin/doption.c:135
+#: ../bin/doption.c:95
msgid "Off"
msgstr "Aus"
-#: ../bin/doption.c:135
+#: ../bin/doption.c:95
msgid "On"
msgstr "An"
-#: ../bin/doption.c:136
+#: ../bin/doption.c:96
msgid "Track Descriptions"
msgstr "Gleisbeschreibungen"
-#: ../bin/doption.c:136
+#: ../bin/doption.c:96
msgid "Lengths"
msgstr "Längen"
-#: ../bin/doption.c:136
+#: ../bin/doption.c:96
msgid "EndPt Elevations"
msgstr "Endpunkthöhen"
-#: ../bin/doption.c:136
+#: ../bin/doption.c:96
msgid "Track Elevations"
msgstr "Gleishöhen"
-#: ../bin/doption.c:136
+#: ../bin/doption.c:96
msgid "Cars"
msgstr "Wagen"
-#: ../bin/doption.c:137 ../bin/doption.c:138
+#: ../bin/doption.c:97 ../bin/doption.c:98
msgid "Descr"
msgstr "Beschreibung"
-#: ../bin/doption.c:138
+#: ../bin/doption.c:98
msgid "Manuf"
msgstr "Hersteller"
-#: ../bin/doption.c:139 ../bin/doption.c:140
+#: ../bin/doption.c:99 ../bin/doption.c:100
msgid "Object"
msgstr "Objekt"
-#: ../bin/doption.c:141
+#: ../bin/doption.c:101
msgid "Live Map"
msgstr "Dynamische Karte"
-#: ../bin/doption.c:142
+#: ../bin/doption.c:102
msgid "Hide Trains On Hidden Track"
msgstr "Verberge Züge auf verborgenem Gleis"
-#: ../bin/doption.c:143
+#: ../bin/doption.c:103
msgid "Constrain Drawing Area to Room boundaries"
msgstr "Den Zeichenbereich auf die Raumgröße beschränken"
-#: ../bin/doption.c:150
+#: ../bin/doption.c:104
+msgid "Don't Hide System Cursor when program cursor is active"
+msgstr "Systemcursor nicht verbergen, wenn der Anwendungscursor aktiv ist"
+
+#: ../bin/doption.c:111
msgid "Color Track"
msgstr "Farbiges Gleis"
-#: ../bin/doption.c:151
+#: ../bin/doption.c:112
msgid "Color Draw"
msgstr "Farbige Objekte"
-#: ../bin/doption.c:152
+#: ../bin/doption.c:113
msgid "Draw Tunnel"
msgstr "Zeichne Tunnel"
-#: ../bin/doption.c:153
+#: ../bin/doption.c:114
msgid "Draw EndPts"
msgstr "Zeichne Endpunkte"
-#: ../bin/doption.c:154
+#: ../bin/doption.c:115
msgid "Draw Unconnected EndPts"
msgstr "Zeichne offene Endpunkte"
-#: ../bin/doption.c:155
+#: ../bin/doption.c:116
msgid "Draw Ties"
msgstr "Schwellen zeichnen"
-#: ../bin/doption.c:156
+#: ../bin/doption.c:117
msgid "Draw Centers"
msgstr "Mittelpunkt zeichnen"
-#: ../bin/doption.c:157
+#: ../bin/doption.c:118
msgid "Two Rail Scale"
msgstr "Maßstab für Gleis"
-#: ../bin/doption.c:158
+#: ../bin/doption.c:119
msgid "Map Scale"
msgstr "Kartenmaßstab"
-#: ../bin/doption.c:162
+#: ../bin/doption.c:125
msgid "Label Enable"
msgstr "Beschriftungen zeigen"
-#: ../bin/doption.c:163
+#: ../bin/doption.c:126
msgid "Label Scale"
msgstr "Maßstab der Beschriftungen"
-#: ../bin/doption.c:164
+#: ../bin/doption.c:127
msgid "Label Font Size"
msgstr "Grösse für Beschriftungen"
-#: ../bin/doption.c:165
+#: ../bin/doption.c:128
msgid "Hot Bar Labels"
msgstr "Teilekatalog Beschriftungen"
-#: ../bin/doption.c:166
+#: ../bin/doption.c:129
msgid "Layout Labels"
msgstr "Anlagenbeschriftungen"
-#: ../bin/doption.c:167
+#: ../bin/doption.c:130
msgid "List Labels"
msgstr "Listenüberschriften"
-#: ../bin/doption.c:170
+#: ../bin/doption.c:133
msgid "Car Labels"
msgstr "Wagenbeschriftungen"
-#: ../bin/doption.c:171
+#: ../bin/doption.c:134
msgid "Train Update Delay"
msgstr "Aktualisierungsintervalle"
-#: ../bin/doption.c:199
+#: ../bin/doption.c:176
+msgid "Turning off AutoSave"
+msgstr "Automatisches Sichern aus"
+
+#: ../bin/doption.c:186
+msgid "Turning on CheckPointing"
+msgstr "Sicherungskopien aktivieren"
+
+#: ../bin/doption.c:200
msgid "Display Options"
msgstr "Anzeigeoptionen"
-#: ../bin/doption.c:200
+#: ../bin/doption.c:201
msgid "Proto"
msgstr "Vorbild"
-#: ../bin/doption.c:201
+#: ../bin/doption.c:202
msgid "Proto/Manuf"
msgstr "Vorbild/Hersteller"
-#: ../bin/doption.c:202
+#: ../bin/doption.c:203
msgid "Proto/Manuf/Part Number"
msgstr "Vorbild/Hersteller/Bestellnr."
-#: ../bin/doption.c:203
+#: ../bin/doption.c:204
msgid "Proto/Manuf/Partno/Item"
msgstr "Vorbild/Hersteller/Bestellnr. /lfd. Nr."
-#: ../bin/doption.c:204
+#: ../bin/doption.c:205
msgid "Manuf/Proto"
msgstr "Hersteller/Vorbild"
-#: ../bin/doption.c:205
+#: ../bin/doption.c:206
msgid "Manuf/Proto/Part Number"
msgstr "Hersteller/Vorbild/Bestellnr."
-#: ../bin/doption.c:206
+#: ../bin/doption.c:207
msgid "Manuf/Proto/Partno/Item"
msgstr "Hersteller/Vorbild/Bestellnr./lfd. Nr."
-#: ../bin/doption.c:236
+#: ../bin/doption.c:237
msgid "Single item selected, +Ctrl Add to selection"
msgstr "Nur aktuelles Element ausgewählt, +Strg Auswahl erweitern"
-#: ../bin/doption.c:236
+#: ../bin/doption.c:237
msgid "Add to selection, +Ctrl Single item selected"
msgstr "Auswahl erweitern, +Strg Nur aktuelles Element"
-#: ../bin/doption.c:237
+#: ../bin/doption.c:238
msgid "Deselect all on select nothing"
msgstr "Auswahl durch Klick auf leere Fläche rücksetzen"
-#: ../bin/doption.c:242
+#: ../bin/doption.c:243
msgid "Normal: Command List, Shift: Command Options"
msgstr "Normal: Befehlsliste, Umschalt: Befehlsoptionen"
-#: ../bin/doption.c:242
+#: ../bin/doption.c:243
msgid "Normal: Command Options, Shift: Command List"
msgstr "Normal: Befehlsoptionen, Umschalt: Befehlsliste"
-#: ../bin/doption.c:245
+#: ../bin/doption.c:246
msgid "Default Command"
msgstr "Standardbefehl"
-#: ../bin/doption.c:247
+#: ../bin/doption.c:248
msgid "Hide Selection Window"
msgstr "Verberge Auswahlfenster"
-#: ../bin/doption.c:249
+#: ../bin/doption.c:250
msgid "Right Click"
msgstr "Rechte Mausetaste"
-#: ../bin/doption.c:250
+#: ../bin/doption.c:251
msgid "Select Mode"
msgstr "Auswahlmodus"
-#: ../bin/doption.c:275
+#: ../bin/doption.c:276
msgid "Command Options"
msgstr "Befehlsoptionen"
-#: ../bin/doption.c:298
+#: ../bin/doption.c:299
+msgid "16 px"
+msgstr "16 px"
+
+#: ../bin/doption.c:299
+msgid "24 px"
+msgstr "24 px"
+
+#: ../bin/doption.c:299
+msgid "32 px"
+msgstr "32 px"
+
+#: ../bin/doption.c:300
msgid "English"
msgstr "Englisch"
-#: ../bin/doption.c:298
+#: ../bin/doption.c:300
msgid "Metric"
msgstr "Metrisch"
-#: ../bin/doption.c:299
+#: ../bin/doption.c:301
msgid "Polar"
msgstr "Polar"
-#: ../bin/doption.c:299
+#: ../bin/doption.c:301
msgid "Cartesian"
msgstr "Kartesisch"
-#: ../bin/doption.c:300
+#: ../bin/doption.c:302
msgid "Balloon Help"
msgstr "Sprechblasen"
-#: ../bin/doption.c:301
+#: ../bin/doption.c:303
msgid "Show FlexTrack in HotBar"
msgstr "Flexgleis in der Auswahlleiste anzeigen"
-#: ../bin/doption.c:302
+#: ../bin/doption.c:304
msgid "Load Last Layout"
msgstr "Letzten Gleisplan laden"
-#: ../bin/doption.c:302
+#: ../bin/doption.c:304
msgid "Start New Layout"
msgstr "Neuen Gleisplan beginnen"
-#: ../bin/doption.c:305
+#: ../bin/doption.c:307
+msgid "Icon Size"
+msgstr "Icon Größe"
+
+#: ../bin/doption.c:308
msgid "Angles"
msgstr "Winkel"
-#: ../bin/doption.c:306
+#: ../bin/doption.c:309
msgid "Units"
msgstr "Einheiten"
-#: ../bin/doption.c:308
+#: ../bin/doption.c:311
msgid "Length Format"
msgstr "Längenformat"
-#: ../bin/doption.c:309
+#: ../bin/doption.c:312
msgid "Min Track Length"
msgstr "Mindestgleislänge"
-#: ../bin/doption.c:310
+#: ../bin/doption.c:313
msgid "Connection Distance"
msgstr "Verbindungs Abstand"
-#: ../bin/doption.c:311
+#: ../bin/doption.c:314
msgid "Connection Angle"
msgstr "Verbindungs Winkel"
-#: ../bin/doption.c:312
+#: ../bin/doption.c:315
msgid "Turntable Angle"
msgstr "Drehscheibenwinkel"
-#: ../bin/doption.c:313
+#: ../bin/doption.c:316
msgid "Max Coupling Speed"
msgstr "Max. Ankuppelgeschwindigkeit"
-#: ../bin/doption.c:316
+#: ../bin/doption.c:319
msgid "Drag Distance"
msgstr "Zeichne Entfernung"
-#: ../bin/doption.c:317
+#: ../bin/doption.c:320
msgid "Drag Timeout"
msgstr "Abriss Zeitverzögerung"
-#: ../bin/doption.c:318
+#: ../bin/doption.c:321
msgid "Min Grid Spacing"
msgstr "Mindestrasterabstand"
-#: ../bin/doption.c:320
+#: ../bin/doption.c:323
msgid "Check Point Frequency"
msgstr "Häufigkeit der Sicherungskopie"
-#: ../bin/doption.c:322
+#: ../bin/doption.c:325
msgid "Autosave Checkpoint Frequency"
msgstr "Häufigkeit der automatischen Sicherung"
-#: ../bin/doption.c:323
+#: ../bin/doption.c:326
msgid "On Program Startup"
msgstr "Beim Programmstart"
-#: ../bin/doption.c:333 ../bin/doption.c:337 ../bin/doption.c:354
+#: ../bin/doption.c:336 ../bin/doption.c:340 ../bin/doption.c:357
msgid "999.999"
msgstr "999.999"
-#: ../bin/doption.c:334
+#: ../bin/doption.c:337
msgid "999.999999"
msgstr "999.999999"
-#: ../bin/doption.c:335
+#: ../bin/doption.c:338
msgid "999.99999"
msgstr "999,999999"
-#: ../bin/doption.c:336
+#: ../bin/doption.c:339
msgid "999.9999"
-msgstr "999,999"
+msgstr "999,9999"
-#: ../bin/doption.c:338 ../bin/doption.c:355
+#: ../bin/doption.c:341 ../bin/doption.c:358
msgid "999.99"
msgstr "999.99"
-#: ../bin/doption.c:339 ../bin/doption.c:356
+#: ../bin/doption.c:342 ../bin/doption.c:359
msgid "999.9"
msgstr "999.9"
-#: ../bin/doption.c:340
+#: ../bin/doption.c:343
msgid "999 7/8"
msgstr "999 7/8"
-#: ../bin/doption.c:341
+#: ../bin/doption.c:344
msgid "999 63/64"
msgstr "999 63/64"
-#: ../bin/doption.c:342
+#: ../bin/doption.c:345
msgid "999' 11.999\""
msgstr "999' 11.999\""
-#: ../bin/doption.c:343
+#: ../bin/doption.c:346
msgid "999' 11.99\""
msgstr "999' 11.99\""
-#: ../bin/doption.c:344
+#: ../bin/doption.c:347
msgid "999' 11.9\""
msgstr "999' 11.9\""
-#: ../bin/doption.c:345
+#: ../bin/doption.c:348
msgid "999' 11 7/8\""
msgstr "999' 11 7/8\""
-#: ../bin/doption.c:346
+#: ../bin/doption.c:349
msgid "999' 11 63/64\""
msgstr "999' 11 63/64\""
-#: ../bin/doption.c:347
+#: ../bin/doption.c:350
msgid "999ft 11.999in"
msgstr "999ft 11.999in"
-#: ../bin/doption.c:348
+#: ../bin/doption.c:351
msgid "999ft 11.99in"
msgstr "999ft 11.99in"
-#: ../bin/doption.c:349
+#: ../bin/doption.c:352
msgid "999ft 11.9in"
msgstr "999ft 11.9in"
-#: ../bin/doption.c:350
+#: ../bin/doption.c:353
msgid "999ft 11 7/8in"
msgstr "999ft 11 7/8in"
-#: ../bin/doption.c:351
+#: ../bin/doption.c:354
msgid "999ft 11 63/64in"
msgstr "999ft 11 63/64in"
-#: ../bin/doption.c:357
+#: ../bin/doption.c:360
msgid "999.999mm"
msgstr "999.999mm"
-#: ../bin/doption.c:358
+#: ../bin/doption.c:361
msgid "999.99mm"
msgstr "999.99mm"
-#: ../bin/doption.c:359
+#: ../bin/doption.c:362
msgid "999.9mm"
msgstr "999.9mm"
-#: ../bin/doption.c:360
+#: ../bin/doption.c:363
msgid "999.999cm"
msgstr "999.999cm"
-#: ../bin/doption.c:361
+#: ../bin/doption.c:364
msgid "999.99cm"
msgstr "999.99cm"
-#: ../bin/doption.c:362
+#: ../bin/doption.c:365
msgid "999.9cm"
msgstr "999.9cm"
-#: ../bin/doption.c:363
+#: ../bin/doption.c:366
msgid "999.999m"
msgstr "999.999m"
-#: ../bin/doption.c:364
+#: ../bin/doption.c:367
msgid "999.99m"
msgstr "999.99m"
-#: ../bin/doption.c:365
+#: ../bin/doption.c:368
msgid "999.9m"
msgstr "999.9m"
-#: ../bin/doption.c:492
+#: ../bin/doption.c:497
msgid "Preferences"
msgstr "Einstellungen"
-#: ../bin/doption.c:531
+#: ../bin/doption.c:536
msgid "Marker"
msgstr "Markierung"
-#: ../bin/doption.c:532
+#: ../bin/doption.c:537
msgid "Border"
msgstr "Rahmen"
-#: ../bin/doption.c:533
+#: ../bin/doption.c:538
msgid "Primary Axis"
msgstr "Hauptachse"
-#: ../bin/doption.c:534
+#: ../bin/doption.c:539
msgid "Secondary Axis"
msgstr "Nebenachse"
-#: ../bin/doption.c:535
+#: ../bin/doption.c:540
msgid "Normal Track"
msgstr "Normales Gleis"
-#: ../bin/doption.c:536
+#: ../bin/doption.c:541
msgid "Selected Track"
msgstr "Ausgewähltes Gleis"
-#: ../bin/doption.c:537
+#: ../bin/doption.c:542
msgid "Profile Path"
msgstr "Höhenlinie"
-#: ../bin/doption.c:538
+#: ../bin/doption.c:543
msgid "Exception Track"
msgstr "Ausnahmegleis"
-#: ../bin/doption.c:539
+#: ../bin/doption.c:544
msgid "Track Ties"
msgstr "Gleisschwellen"
-#: ../bin/dpricels.c:45
+#: ../bin/dpricels.c:42
msgid "Price"
msgstr "Preis"
-#: ../bin/dpricels.c:59
+#: ../bin/dpricels.c:56
msgid "Flex Track"
msgstr "Flexgleis"
-#: ../bin/dpricels.c:60
+#: ../bin/dpricels.c:57
msgid "costs"
msgstr "kostet"
-#: ../bin/dpricels.c:154
+#: ../bin/dpricels.c:151
msgid "Price List"
msgstr "Preisliste"
-#: ../bin/dprmfile.c:73 ../bin/paramfilesearch_ui.c:60
+#: ../bin/dprmfile.c:66 ../bin/paramfilesearch_ui.c:51
msgid "Show File Names"
msgstr "Dateinamen anzeigen"
-#: ../bin/dprmfile.c:82 ../bin/paramfilesearch_ui.c:76
+#: ../bin/dprmfile.c:75 ../bin/paramfilesearch_ui.c:78
msgid "Select all"
msgstr "Alles auswählen"
-#: ../bin/dprmfile.c:84
+#: ../bin/dprmfile.c:77
msgid "Favorite"
msgstr "Favorit"
-#: ../bin/dprmfile.c:87
-msgid "Search Library"
-msgstr "Bibliothek durchsuchen"
+#: ../bin/dprmfile.c:80
+msgid "Library..."
+msgstr "Bibliothek..."
-#: ../bin/dprmfile.c:88 ../bin/layout.c:471
-msgid "Browse ..."
+#: ../bin/dprmfile.c:81
+msgid "Browse..."
msgstr "Durchsuchen..."
-#: ../bin/dprmfile.c:331
+#: ../bin/dprmfile.c:324
#, c-format
msgid "%d parameter files reloaded."
msgstr "%d Parameterdateien neu geladen."
-#: ../bin/dprmfile.c:333
+#: ../bin/dprmfile.c:326
msgid "One parameter file reloaded."
msgstr "Eine Parameterdatei neu geladen."
-#: ../bin/dprmfile.c:434
+#: ../bin/dprmfile.c:427
msgid "Parameter Files"
msgstr "Parameterdateien"
-#: ../bin/dprmfile.c:437 ../bin/paramfilesearch_ui.c:405
+#: ../bin/dprmfile.c:430
msgid "Load Parameters"
msgstr "Lade Parameter"
-#: ../bin/dprmfile.c:437 ../bin/paramfilesearch_ui.c:405
+#: ../bin/dprmfile.c:430
msgid "Parameter files (*.xtp)|*.xtp"
msgstr "Parameterdateien (*.xtp)|*.xtp"
-#: ../bin/draw.c:2140
+#: ../bin/draw.c:2182
msgid "Macro Zoom Mode"
msgstr "Makro-Zoom-Modus"
-#: ../bin/draw.c:2147
+#: ../bin/draw.c:2189
msgid "Scale 1:1 - Use Ctrl+ to go to Macro Zoom Mode"
msgstr "Maßstab 1:1 - Mit Strg+ in den Makro-Zoom wechseln"
-#: ../bin/draw.c:2151
+#: ../bin/draw.c:2193
msgid "Preset Zoom In Value selected. Shift+Ctrl+PageDwn to reset value"
msgstr ""
"Der gespeicherte untere Zoom-Faktor wird benutzt, Durch Umschalt+Strg+Bild "
"runter zurücksetzen"
-#: ../bin/draw.c:2155
+#: ../bin/draw.c:2197
#, c-format
msgid "Zoom In Program Value %ld:1, Shift+PageDwn to use"
msgstr ""
"Programmierter Zoom Größer Wert %ld:1, Verwenden mit Umschalt+Bild runter"
-#: ../bin/draw.c:2195
+#: ../bin/draw.c:2273
msgid "At Maximum Zoom Out"
msgstr "Maximal rausgezoomt"
-#: ../bin/draw.c:2200
+#: ../bin/draw.c:2278
msgid "Preset Zoom Out Value selected. Shift+Ctrl+PageUp to reset value"
msgstr ""
"Der gespeicherte obere Zoom-Faktor wird benutzt, Durch Umschalt+Strg+Bild "
"hoch zurücksetzen"
-#: ../bin/draw.c:2204
+#: ../bin/draw.c:2282
#, c-format
msgid "Zoom Out Program Value %ld:1 set, Shift+PageUp to use"
msgstr ""
"Programmierter Zoom Größer Wert %ld:1, Verwenden mit Umschalt+Bild hoch"
-#: ../bin/draw.c:2911
+#: ../bin/draw.c:2993
msgid "Map"
msgstr "Karte"
-#: ../bin/draw.c:2959
+#: ../bin/draw.c:3039
msgid ""
"Left-Drag to pan, Ctrl+Left-Drag to zoom, 0 to set origin to zero, 1-9 to "
"zoom#, e to set to extents"
msgstr ""
-"Ziehen mit der linken Maustaste um den Ausschnitt zu verschieben, Strg"
-"+Ziehen mit der linken Maustaste zum Zoomen, 0 um den Ursprung auf Null zu "
-"setzen, 1-9 zum Zoomfaktor, e um an die Fenstergröße anzupassen"
+"Ziehen mit der linken Maustaste um den Ausschnitt zu verschieben, "
+"Strg+Ziehen mit der linken Maustaste zum Zoomen, 0 um den Ursprung auf Null "
+"zu setzen, 1-9 zum Zoomfaktor, e um an die Fenstergröße anzupassen"
-#: ../bin/draw.c:2966
+#: ../bin/draw.c:3046
msgid "Pan Mode - drag point to new position"
msgstr "Ausschnitt wählen - Punkt an die neue Position ziehen"
-#: ../bin/draw.c:2973
+#: ../bin/draw.c:3053
msgid "Zoom Mode - drag area to zoom"
msgstr "Zoom Modus -auf den ausgewählten Bereich zoomen"
-#: ../bin/draw.c:2999
+#: ../bin/draw.c:3079
msgid "Can't move any further in that direction"
msgstr "In diese Richtung können Sie nicht weiter gehen"
-#: ../bin/draw.c:3001
-msgid "Left click to pan, right click to zoom, 'o' for origin, 'e' for extents"
+#: ../bin/draw.c:3081
+msgid ""
+"Left click to pan, right click to zoom, 'o' for origin, 'e' for extents"
msgstr ""
"Linksklick zum Verschieben, Rechtsklick zum Zoomen, 'o' für Ursprung, 'e' "
"für Anpassen an Fenstergröße"
-#: ../bin/draw.c:3040
+#: ../bin/draw.c:3118
msgid ""
"Left Drag to Pan, +CTRL to Zoom, 0 to set Origin to 0,0, 1-9 to Zoom#, e to "
"set to Extent"
@@ -5010,153 +5181,159 @@ msgstr ""
"Zoomen, 0 zum Setzen des Ursprungs auf 0,0, 1-9 zum Zoomfaktor, e um an die "
"Fenstergröße anzupassen"
-#: ../bin/draw.c:3114
+#: ../bin/draw.c:3196
msgid "Pan/Zoom"
msgstr "Verschieben/Zoomen"
-#: ../bin/draw.c:3125
+#: ../bin/draw.c:3207
msgid "Zoom to 1:1 - '1'"
msgstr "Auf 1:1 vergrößern - '1'."
-#: ../bin/draw.c:3126
+#: ../bin/draw.c:3208
msgid "Zoom to 1:2 - '2'"
msgstr "Auf 1:2 vergrößern - '2'."
-#: ../bin/draw.c:3127
+#: ../bin/draw.c:3209
msgid "Zoom to 1:3 - '3'"
msgstr "Auf 1:3 vergrößern - '3'."
-#: ../bin/draw.c:3128
+#: ../bin/draw.c:3210
msgid "Zoom to 1:4 - '4'"
msgstr "Auf 1:4 vergrößern - '4'."
-#: ../bin/draw.c:3129
+#: ../bin/draw.c:3211
msgid "Zoom to 1:5 - '5'"
msgstr "Auf 1:5 vergrößern - '5'."
-#: ../bin/draw.c:3130
+#: ../bin/draw.c:3212
msgid "Zoom to 1:6 - '6'"
msgstr "Auf 1:6 vergrößern - '6'."
-#: ../bin/draw.c:3131
+#: ../bin/draw.c:3213
msgid "Zoom to 1:7 - '7'"
msgstr "Auf 1:7 vergrößern - '7'."
-#: ../bin/draw.c:3132
+#: ../bin/draw.c:3214
msgid "Zoom to 1:8 - '8'"
msgstr "Auf 1:8 vergrößern - '8'."
-#: ../bin/draw.c:3133
+#: ../bin/draw.c:3215
msgid "Zoom to 1:9 - '9'"
msgstr "Auf 1:9 vergrößern - '9'."
-#: ../bin/draw.c:3137
+#: ../bin/draw.c:3219
msgid "Pan center here - 'c'"
msgstr "Hier zentrieren - 'c'."
-#: ../bin/drawgeom.c:76 ../bin/drawgeom.c:91
+#: ../bin/drawgeom.c:70 ../bin/drawgeom.c:86
msgid "Create Lines"
msgstr "Erstelle Linien"
-#: ../bin/drawgeom.c:291
-msgid "+Shift to lock to nearby objects"
-msgstr "+Umschalt um auf ein naheliegendes Objekt zu fangen"
+#: ../bin/drawgeom.c:287
+msgid "+Alt for Magnetic Snap"
+msgstr "+Alt für den magnetischen Schnapper"
-#: ../bin/drawgeom.c:293
-msgid "+Shift to not lock to nearby objects"
-msgstr "+Umschalt um nicht auf ein naheliegendes Objekt zu fangen"
+#: ../bin/drawgeom.c:289
+msgid "+Alt to inhibit Magnetic Snap"
+msgstr "+Alt um den magnetischen Schnapper abzuschalten"
-#: ../bin/drawgeom.c:393
-msgid "Drag to next point, +Shift to lock to object, +Ctrl to lock to 90deg"
+#: ../bin/drawgeom.c:412
+msgid "Drag next point, +Alt reverse Magnetic Snap or +Ctrl lock to 90 deg"
msgstr ""
-"Ziehen Sie zum nächsten Punkt, +Umschalten um aufein Objekt zu fangen, +Strg "
-"um auf 90 Grad zu sperren"
+"Ziehe zum nächsten Punkt, +Alt um den Schnapper umzuschalten oder +Strg um "
+"auf 90° zu begrenzen"
-#: ../bin/drawgeom.c:403
-msgid "Drag to place next end point"
-msgstr "Ziehen um den nächsten Endpunkt zu setzen"
+#: ../bin/drawgeom.c:423
+msgid ""
+"Drag next point, +Alt reverse Magnetic Snap, or +Ctrl to lock to 90 degrees"
+msgstr ""
+"Ziehen Sie den nächsten Punkt, +Alt Magnetic Snap umkehren oder +Strg, um "
+"ihn auf 90 Grad zu sperren"
-#: ../bin/drawgeom.c:434
+#: ../bin/drawgeom.c:454
msgid "Drag to set radius"
msgstr "Radius durch Ziehen festlegen"
-#: ../bin/drawgeom.c:447
+#: ../bin/drawgeom.c:468
msgid "Drag set box size"
msgstr "Ziehen um die Größe des Rechteck zu setzen"
-#: ../bin/drawgeom.c:488
-msgid "+Shift - lock to close object, +Ctrl - lock to 90 deg"
-msgstr ""
-"+Umschalt - Fangen auf ein naheliegendes Objekt, +Strg - Fangen auf 90 Grad"
+#: ../bin/drawgeom.c:509
+msgid "+Alt - reverse Magnetic Snap or +Ctrl - lock to 90 deg"
+msgstr "+Alt um den Schnapper umzuschalten oder +Strg um auf 90° zu begrenzen"
-#: ../bin/drawgeom.c:536 ../bin/drawgeom.c:592
+#: ../bin/drawgeom.c:580 ../bin/drawgeom.c:637
#, c-format
msgid "Length = %s, Angle = %0.2f"
msgstr "Länge = %s, Winkel = %0.2f"
-#: ../bin/drawgeom.c:613
+#: ../bin/drawgeom.c:658
#, c-format
msgid "Straight Line: Length=%s Angle=%0.3f"
msgstr "Gerade Linie: Länge=%s Winkel=%0.3f"
-#: ../bin/drawgeom.c:635
+#: ../bin/drawgeom.c:680
#, c-format
msgid "Curved Line: Radius=%s Angle=%0.3f Length=%s"
msgstr "Gebogene Linie: Radius=%s Winkel=%0.3f Länge=%s"
-#: ../bin/drawgeom.c:659
+#: ../bin/drawgeom.c:703 ../bin/drawgeom.c:711
#, c-format
msgid "Radius = %s"
msgstr "Radius = %s"
-#: ../bin/drawgeom.c:669
+#: ../bin/drawgeom.c:722
#, c-format
msgid "Width = %s, Height = %s"
msgstr "Breite = %s, Höhe = %s"
-#: ../bin/drawgeom.c:1132
+#: ../bin/drawgeom.c:783
+msgid "Drag on Red arrows to adjust curve"
+msgstr "An den roten Pfeilen ziehen, um die Kurve anzupassen"
+
+#: ../bin/drawgeom.c:1207
msgid "Select points or use context menu"
msgstr "Punkt auswählen oder Kontextmenu benutzen"
-#: ../bin/drawgeom.c:1387
+#: ../bin/drawgeom.c:1463
#, c-format
msgid "Length = %s, Last angle = %0.2f"
msgstr "Länge = %s, letzter Winkel = %0.2f"
-#: ../bin/drawgeom.c:1541
+#: ../bin/drawgeom.c:1623
msgid "Point Deleted"
msgstr "Punkt gelöscht"
-#: ../bin/drawgeom.c:1937
+#: ../bin/drawgeom.c:2048
msgid "Not close to end of line"
msgstr "Nicht nah am Ende der Linie"
-#: ../bin/drawgeom.c:1990
+#: ../bin/drawgeom.c:2104
msgid "Not close to ends or middle of mine, reselect"
msgstr "Nicht an einem Ende oder in der Mitte der Linie, Auswahl wiederholen"
-#: ../bin/drawgeom.c:2038 ../bin/drawgeom.c:2260
+#: ../bin/drawgeom.c:2153 ../bin/drawgeom.c:2389
msgid "Drag to Move Corner Point"
msgstr "Ziehen um den Eckpunkt zu verschieben"
-#: ../bin/drawgeom.c:2045
+#: ../bin/drawgeom.c:2160
msgid "Drag to Move Edge "
msgstr "Ziehen um die Kante zu verschieben "
-#: ../bin/drawgeom.c:2107
+#: ../bin/drawgeom.c:2234
#, c-format
msgid "Length = %0.3f Angle = %0.3f"
msgstr "Länge = %0.3f Winkel = %0.3f"
-#: ../bin/drawgeom.c:2255
+#: ../bin/drawgeom.c:2384
msgid "Drag to Move Edge"
msgstr "Ziehen um die Kante zu verschieben"
-#: ../bin/dxfoutput.c:232
+#: ../bin/dxfoutput.c:230
msgid "Export to DXF"
msgstr "Export nach DXF"
-#: ../bin/fileio.c:241
+#: ../bin/fileio.c:214
msgid ""
"\n"
"Do you want to continue?"
@@ -5164,186 +5341,218 @@ msgstr ""
"\n"
"Wollen Sie fortsetzen?"
-#: ../bin/fileio.c:608
+#: ../bin/fileio.c:580
#, c-format
msgid "putTitle: title too long: %s"
msgstr "putTitle: Titel ist zu lang: %s"
-#: ../bin/fileio.c:638
+#: ../bin/fileio.c:610
msgid "Unnamed Trackplan"
msgstr "Unbenannter Gleisplan"
-#: ../bin/fileio.c:639
+#: ../bin/fileio.c:611
msgid " (R/O)"
msgstr " (Nur lesen)"
-#: ../bin/fileio.c:659 ../bin/fileio.c:1278
-msgid "Check Pointing"
-msgstr "Schreibe Sicherungskopie"
-
-#: ../bin/fileio.c:789
+#: ../bin/fileio.c:751
msgid "Unknown layout file object - skip until next good object?"
msgstr ""
"Unbekanntes Layout-Dateiobjekt - überspringen bis zum nächsten guten Objekt?"
-#: ../bin/fileio.c:1026
+#: ../bin/fileio.c:803 ../bin/fileio.c:987
msgid "Track"
msgstr "Gleis"
-#: ../bin/fileio.c:1212
+#: ../bin/fileio.c:803
+msgid "Not Found"
+msgstr "Nicht gefunden"
+
+#: ../bin/fileio.c:1168
+msgid "AutoSave Tracks As"
+msgstr "AutoSichern des Gleisplans als"
+
+#: ../bin/fileio.c:1183
msgid "Save Tracks"
msgstr "Gleise speichern"
-#: ../bin/fileio.c:1228
+#: ../bin/fileio.c:1200
msgid "Save Tracks As"
msgstr "Gleise speichern unter"
-#: ../bin/fileio.c:1239
+#: ../bin/fileio.c:1212
msgid "Open Tracks"
msgstr "Gleise einlesen"
-#: ../bin/fileio.c:1253
+#: ../bin/fileio.c:1227
msgid "Example Tracks"
msgstr "Beispielgleise"
-#: ../bin/fileio.c:1461
+#: ../bin/fileio.c:1435
#, c-format
msgid "Module - %s"
msgstr "Modul - %s"
-#: ../bin/fileio.c:1466 ../bin/fileio.c:1486
+#: ../bin/fileio.c:1440 ../bin/fileio.c:1460
msgid "Import Tracks"
msgstr "Gleise importieren"
-#: ../bin/fileio.c:1548
+#: ../bin/fileio.c:1521
msgid "Export Tracks"
msgstr "Gleise exportieren"
-#: ../bin/fileio.c:1567
+#: ../bin/fileio.c:1542
msgid "Clipboard"
msgstr "Zwischenablage"
-#: ../bin/filenoteui.c:62 ../bin/linknoteui.c:50 ../bin/textnoteui.c:42
+#: ../bin/filenoteui.c:51 ../bin/linknoteui.c:45 ../bin/textnoteui.c:37
msgid "Position X"
msgstr "Position X"
-#: ../bin/filenoteui.c:64 ../bin/linknoteui.c:52 ../bin/textnoteui.c:44
+#: ../bin/filenoteui.c:53 ../bin/linknoteui.c:47 ../bin/textnoteui.c:39
msgid "Position Y"
msgstr "Position Y"
-#: ../bin/filenoteui.c:68 ../bin/linknoteui.c:56
+#: ../bin/filenoteui.c:57 ../bin/linknoteui.c:51
msgid "Title"
msgstr "Titel"
-#: ../bin/filenoteui.c:70 ../bin/trknote.c:62
-#: ../../../../build/work/app/bin/bllnhlp.c:85
+#: ../bin/filenoteui.c:59 ../bin/trknote.c:57
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:88
msgid "Document"
msgstr "Dokument"
-#: ../bin/filenoteui.c:72
+#: ../bin/filenoteui.c:61
msgid "Select..."
msgstr "Auswählen..."
-#: ../bin/filenoteui.c:74 ../bin/linknoteui.c:60
+#: ../bin/filenoteui.c:63 ../bin/linknoteui.c:55
msgid "Open..."
msgstr "&Öffnen..."
-#: ../bin/filenoteui.c:136
+#: ../bin/filenoteui.c:125
msgid "Add Document"
msgstr "Dokument hinzufügen"
-#: ../bin/filenoteui.c:158
+#: ../bin/filenoteui.c:147
msgid "The file doesn't exist or cannot be read!"
msgstr "Die Datei existiert nicht oder kann nicht gelesen werden!"
-#: ../bin/filenoteui.c:297
+#: ../bin/filenoteui.c:287
#, c-format
msgid "Document(%d) Layer=%d %-.80s [%s]"
msgstr "Dokument(%d) Ebene=%d %-.80s [%s]"
-#: ../bin/filenoteui.c:309
+#: ../bin/filenoteui.c:299
msgid "Update document"
msgstr "Dokument aktualisieren"
-#: ../bin/filenoteui.c:323
+#: ../bin/filenoteui.c:313
msgid "Describe the file"
msgstr "Beschreibung zu der Datei"
-#: ../bin/filenoteui.c:329
+#: ../bin/filenoteui.c:319
msgid "Attach document"
msgstr "Dokument anhängen"
-#: ../bin/i18n.c:66
+#: ../bin/i18n.c:57
#, c-format
msgid "Gettext initialized (PACKAGE=%s, LOCALEDIR=%s, LC_ALL=%s).\n"
msgstr "Gettext initialisiert (PACKAGE=%s, LOCALEDIR=%s, LC_ALL=%s).\n"
-#: ../bin/layout.c:373
+#: ../bin/layout.c:404
#, c-format
msgid "Unable to load Image File - %s"
msgstr "Bilddatei kann nicht geladen werden - %s"
-#: ../bin/layout.c:436
+#: ../bin/layout.c:470
msgid "Load Background"
msgstr "Hintergrund laden"
-#: ../bin/layout.c:458
+#: ../bin/layout.c:493
msgid "Room Width"
msgstr "Zimmerbreite"
-#: ../bin/layout.c:459
+#: ../bin/layout.c:494
msgid " Height"
msgstr " -länge"
-#: ../bin/layout.c:460
+#: ../bin/layout.c:495
msgid "Layout Title"
msgstr "Gleisplantitel"
-#: ../bin/layout.c:461
+#: ../bin/layout.c:496
msgid "Subtitle"
msgstr "Untertitel"
-#: ../bin/layout.c:465
+#: ../bin/layout.c:500
msgid " Gauge"
msgstr " Spurweite"
-#: ../bin/layout.c:467
+#: ../bin/layout.c:502
msgid "Min Track Radius"
msgstr "Mindestgleisradius"
-#: ../bin/layout.c:468
+#: ../bin/layout.c:503
msgid " Max Track Grade (%)"
msgstr " Maximale Gleissteigung (%)"
-#: ../bin/layout.c:470
+#: ../bin/layout.c:505
msgid "Background File Path"
msgstr "Hintergrunddatei"
-#: ../bin/layout.c:474
+#: ../bin/layout.c:506
+msgid "Browse ..."
+msgstr "Durchsuchen..."
+
+#: ../bin/layout.c:509
msgid "Background PosX,Y"
msgstr "Hintergrund Posistion X,Y"
-#: ../bin/layout.c:478
+#: ../bin/layout.c:513
msgid "Background Size"
msgstr "Größe des Hintergrunds"
-#: ../bin/layout.c:480
+#: ../bin/layout.c:515
msgid "Background Screen %"
msgstr "Hintergrund-Transparenz %"
-#: ../bin/layout.c:482
+#: ../bin/layout.c:517
msgid "Background Angle"
msgstr "Winkel des Hintergrund"
-#: ../bin/layout.c:560
+#: ../bin/layout.c:518
+msgid "Named Settings File"
+msgstr "Benannte Einstellungsdatei"
+
+#: ../bin/layout.c:519
+msgid "Write"
+msgstr "Schreiben"
+
+#: ../bin/layout.c:520
+msgid "Read"
+msgstr "Lesen"
+
+#: ../bin/layout.c:611
msgid "Layout Options"
msgstr "Gleisplanoptionen"
-#: ../bin/linknoteui.c:58
+#: ../bin/layout.c:797
+msgid "Read Settings"
+msgstr "Einstellungen lesen"
+
+#: ../bin/layout.c:798 ../bin/layout.c:821
+msgid "Settings File (*.xset)|*.xset"
+msgstr "Einstellungsdatei (*.xset)|*.xset"
+
+#: ../bin/layout.c:820
+msgid "Write Settings"
+msgstr "Einstellungen speichern"
+
+#: ../bin/linknoteui.c:53
msgid "URL"
msgstr "URL"
-#: ../bin/linknoteui.c:107
+#: ../bin/linknoteui.c:102
#, c-format
msgid ""
"The entered URL is too long. The maximum allowed length is %d. Please edit "
@@ -5352,100 +5561,101 @@ msgstr ""
"Die eingegebene URL ist zu lang. Die maximal zulässige Länge ist %d. Bitte "
"bearbeiten Sie den eingegebenen Wert."
-#: ../bin/linknoteui.c:110
+#: ../bin/linknoteui.c:105
msgid "Re-edit"
msgstr "Nochmals bearbeiten"
-#: ../bin/linknoteui.c:241
+#: ../bin/linknoteui.c:237
msgid "Update link"
msgstr "Weblink aktualisieren"
-#: ../bin/linknoteui.c:259
+#: ../bin/linknoteui.c:255
msgid "Create link"
msgstr "Weblink erstellen"
-#: ../bin/macro.c:95
+#: ../bin/macro.c:64
msgid "Message"
msgstr "Mitteilung"
-#: ../bin/macro.c:179
+#: ../bin/macro.c:152
msgid "Recording"
msgstr "Aufzeichnen"
-#: ../bin/macro.c:214
+#: ../bin/macro.c:187
+#, c-format
msgid "End of Playback. Hit Step to exit\n"
msgstr "Ende der Aufzeichnung. Schritt zum Beenden drücken\n"
-#: ../bin/macro.c:278
+#: ../bin/macro.c:251
msgid "Record"
msgstr "Aufzeichnen"
-#: ../bin/macro.c:676
+#: ../bin/macro.c:646
msgid "Step"
msgstr "Schritt"
-#: ../bin/macro.c:679 ../bin/macro.c:1544
+#: ../bin/macro.c:649 ../bin/macro.c:1530
msgid "Next"
msgstr "Nächster"
-#: ../bin/macro.c:682 ../bin/misc.c:703 ../bin/track.c:1116
+#: ../bin/macro.c:652 ../bin/misc.c:779 ../bin/track.c:1152
msgid "Quit"
msgstr "Verlassen"
-#: ../bin/macro.c:685 ../../../../build/work/app/bin/bllnhlp.c:540
+#: ../bin/macro.c:655 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:590
msgid "Speed"
msgstr "Geschwindigkeit"
-#: ../bin/macro.c:832 ../bin/macro.c:879
+#: ../bin/macro.c:806 ../bin/macro.c:853
msgid "Regression"
msgstr "Regression"
-#: ../bin/macro.c:1045 ../bin/macro.c:1403
+#: ../bin/macro.c:1017 ../bin/macro.c:1386
msgid "Demo"
msgstr "Demo"
-#: ../bin/macro.c:1223
+#: ../bin/macro.c:1206
#, c-format
msgid "Elapsed time %lu\n"
msgstr "Abgelaufene Zeit %lu\n"
-#: ../bin/macro.c:1324
+#: ../bin/macro.c:1307
msgid "Playback"
msgstr "Wiedergabe"
-#: ../bin/macro.c:1406
+#: ../bin/macro.c:1389
msgid "Slowest"
msgstr "Langsamste"
-#: ../bin/macro.c:1407
+#: ../bin/macro.c:1390
msgid "Slow"
msgstr "Langsame"
-#: ../bin/macro.c:1409
+#: ../bin/macro.c:1392
msgid "Fast"
msgstr "Schnelle"
-#: ../bin/macro.c:1410
+#: ../bin/macro.c:1393
msgid "Faster"
msgstr "Schnellere"
-#: ../bin/macro.c:1411
+#: ../bin/macro.c:1394
msgid "Fastest"
msgstr "Schnellste"
-#: ../bin/macro.c:1529
+#: ../bin/macro.c:1513
msgid "Can not find PARAMETER playback proc"
msgstr "Kann die PARAMETER Wiedergabeprozedur nicht finden"
-#: ../bin/misc.c:173
+#: ../bin/misc.c:148
msgid "No Messages"
msgstr "Keine Nachrichten"
-#: ../bin/misc.c:435 ../bin/misc.c:438
+#: ../bin/misc.c:488 ../bin/misc.c:491
msgid "ABORT"
msgstr "ABBRUCH"
-#: ../bin/misc.c:437
+#: ../bin/misc.c:490
msgid ""
"\n"
"Do you want to save your layout?"
@@ -5453,130 +5663,135 @@ msgstr ""
"\n"
"Wollen Sie Ihren Gleisplan speichern?"
-#: ../bin/misc.c:484
+#: ../bin/misc.c:572
#, c-format
msgid "No help for %s"
msgstr "Hilfe für %s nicht gefunden"
-#: ../bin/misc.c:596
+#: ../bin/misc.c:674
msgid ""
"Save changes to the layout design before closing?\n"
"\n"
"If you don't save now, your unsaved changes will be discarded."
msgstr ""
-"Sollen die Ãnderungen an Ihrem Gleisplan vor dem Verlassen gespeichert "
-"werden?\n"
+"Sollen die Ãnderungen an Ihrem Gleisplan vor dem Verlassen gespeichert werden?\n"
"\n"
-"Wenn Sie jetzt nicht speichern, werden Ihre nicht gespeicherten Ãnderungen "
-"verworfen."
+"Wenn Sie jetzt nicht speichern, werden Ihre nicht gespeicherten Ãnderungen verworfen."
-#: ../bin/misc.c:598 ../bin/misc.c:2295
+#: ../bin/misc.c:676 ../bin/misc.c:2516
msgid "&Save"
msgstr "&Speichern"
-#: ../bin/misc.c:598 ../bin/misc.c:633
+#: ../bin/misc.c:676 ../bin/misc.c:711
msgid "&Cancel"
msgstr "&Abbruch"
-#: ../bin/misc.c:598
+#: ../bin/misc.c:676
msgid "&Don't Save"
msgstr "&Nicht speichern"
-#: ../bin/misc.c:622
+#: ../bin/misc.c:700
msgid "examples"
msgstr "Beispiele"
-#: ../bin/misc.c:631
+#: ../bin/misc.c:709
msgid ""
"Do you want to return to the last saved state?\n"
"\n"
"Revert will cause all changes done since last save to be lost."
msgstr ""
"Wollen Sie auf den letzten gespeicherten Stand zurücksetzen?\n"
-"Durch das Zurücksetzen werden alle Ãnderungen seit dem letzen Speichern "
-"verloren gehen."
+"Durch das Zurücksetzen werden alle Ãnderungen seit dem letzen Speichern verloren gehen."
-#: ../bin/misc.c:633
+#: ../bin/misc.c:711
msgid "&Revert"
msgstr "Zurücksetzen"
-#: ../bin/misc.c:855
+#: ../bin/misc.c:932
msgid "XTrackCAD Font"
msgstr "XTrackCAD Font"
-#: ../bin/misc.c:916
+#: ../bin/misc.c:993
#, c-format
msgid "No balloon help for %s\n"
msgstr "Kein Tooltip für %s vorhanden\n"
-#: ../bin/misc.c:918 ../../../../build/work/app/bin/bllnhlp.c:603
-#: ../../../../build/work/app/bin/bllnhlp.c:604
-#: ../../../../build/work/app/bin/bllnhlp.c:606
-#: ../../../../build/work/app/bin/bllnhlp.c:607
-#: ../../../../build/work/app/bin/bllnhlp.c:609
-#: ../../../../build/work/app/bin/bllnhlp.c:610
-#: ../../../../build/work/app/bin/bllnhlp.c:611
-#: ../../../../build/work/app/bin/bllnhlp.c:612
-#: ../../../../build/work/app/bin/bllnhlp.c:613
-#: ../../../../build/work/app/bin/bllnhlp.c:614
-#: ../../../../build/work/app/bin/bllnhlp.c:615
-#: ../../../../build/work/app/bin/bllnhlp.c:616
-#: ../../../../build/work/app/bin/bllnhlp.c:617
-#: ../../../../build/work/app/bin/bllnhlp.c:618
-#: ../../../../build/work/app/bin/bllnhlp.c:619
-#: ../../../../build/work/app/bin/bllnhlp.c:620
-#: ../../../../build/work/app/bin/bllnhlp.c:621
-#: ../../../../build/work/app/bin/bllnhlp.c:622
-#: ../../../../build/work/app/bin/bllnhlp.c:623
-#: ../../../../build/work/app/bin/bllnhlp.c:624
-#: ../../../../build/work/app/bin/bllnhlp.c:625
-#: ../../../../build/work/app/bin/bllnhlp.c:626
-#: ../../../../build/work/app/bin/bllnhlp.c:627
-#: ../../../../build/work/app/bin/bllnhlp.c:628
-#: ../../../../build/work/app/bin/bllnhlp.c:629
-#: ../../../../build/work/app/bin/bllnhlp.c:630
-#: ../../../../build/work/app/bin/bllnhlp.c:631
-#: ../../../../build/work/app/bin/bllnhlp.c:632
-#: ../../../../build/work/app/bin/bllnhlp.c:633
-#: ../../../../build/work/app/bin/bllnhlp.c:634
-#: ../../../../build/work/app/bin/bllnhlp.c:635
-#: ../../../../build/work/app/bin/bllnhlp.c:636
-#: ../../../../build/work/app/bin/bllnhlp.c:637
-#: ../../../../build/work/app/bin/bllnhlp.c:638
-#: ../../../../build/work/app/bin/bllnhlp.c:639
-#: ../../../../build/work/app/bin/bllnhlp.c:640
-#: ../../../../build/work/app/bin/bllnhlp.c:641
-#: ../../../../build/work/app/bin/bllnhlp.c:642
-#: ../../../../build/work/app/bin/bllnhlp.c:643
-#: ../../../../build/work/app/bin/bllnhlp.c:644
-#: ../../../../build/work/app/bin/bllnhlp.c:645
-#: ../../../../build/work/app/bin/bllnhlp.c:646
-#: ../../../../build/work/app/bin/bllnhlp.c:647
-#: ../../../../build/work/app/bin/bllnhlp.c:648
-#: ../../../../build/work/app/bin/bllnhlp.c:649
-#: ../../../../build/work/app/bin/bllnhlp.c:650
-#: ../../../../build/work/app/bin/bllnhlp.c:651
-#: ../../../../build/work/app/bin/bllnhlp.c:652
-#: ../../../../build/work/app/bin/bllnhlp.c:653
-#: ../../../../build/work/app/bin/bllnhlp.c:654
-#: ../../../../build/work/app/bin/bllnhlp.c:655
-#: ../../../../build/work/app/bin/bllnhlp.c:656
-#: ../../../../build/work/app/bin/bllnhlp.c:657
-#: ../../../../build/work/app/bin/bllnhlp.c:658
-#: ../../../../build/work/app/bin/bllnhlp.c:659
-#: ../../../../build/work/app/bin/bllnhlp.c:660
-#: ../../../../build/work/app/bin/bllnhlp.c:661
-#: ../../../../build/work/app/bin/bllnhlp.c:662
-#: ../../../../build/work/app/bin/bllnhlp.c:663
-#: ../../../../build/work/app/bin/bllnhlp.c:665
+#: ../bin/misc.c:995 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:653
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:654
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:656
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:657
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:659
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:660
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:661
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:662
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:663
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:664
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:665
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:666
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:667
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:668
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:669
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:670
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:671
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:672
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:673
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:674
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:675
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:676
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:677
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:678
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:679
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:680
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:681
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:682
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:683
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:684
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:685
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:686
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:687
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:688
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:689
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:690
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:691
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:692
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:693
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:694
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:695
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:696
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:697
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:698
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:699
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:700
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:701
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:702
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:703
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:704
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:705
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:706
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:707
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:708
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:709
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:710
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:711
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:712
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:713
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:715
msgid "No Help"
msgstr "Keine Hilfe vorhanden"
-#: ../bin/misc.c:1026
+#: ../bin/misc.c:1087
msgid "File AutoSaved"
msgstr "Automatisch gesichert"
-#: ../bin/misc.c:1237 ../bin/misc.c:1244 ../bin/misc.c:1315
+#: ../bin/misc.c:1326 ../bin/misc.c:1333
+msgid ""
+"Cancelling the current command will undo the changes\n"
+"you are currently making. Do you want to do the update instead?"
+msgstr ""
+"Beim Abbruch der aktuellen Operation werden alle aktuellen Änderungen "
+"verworfen. Möchten Sie stattdessen aktualisieren?"
+
+#: ../bin/misc.c:1405
msgid ""
"Cancelling the current command will undo the changes\n"
"you are currently making. Do you want to update?"
@@ -5584,491 +5799,527 @@ msgstr ""
"Abbruch des aktuelle Befehls wird alle aktuell laufenden\n"
"Änderungen zurücknehmen. Soll aktualisiert werden?"
-#: ../bin/misc.c:1810
+#: ../bin/misc.c:1918
msgid "Sticky Commands"
msgstr "Wiederholte Befehle"
-#: ../bin/misc.c:1823
+#: ../bin/misc.c:1931
msgid "File Buttons"
msgstr "Dateischaltflächen"
-#: ../bin/misc.c:1823
+#: ../bin/misc.c:1931
+msgid "Print Buttons"
+msgstr "Drucken Knöpfe"
+
+#: ../bin/misc.c:1931
msgid "Import/Export Buttons"
msgstr "Import/Export Aktionen"
-#: ../bin/misc.c:1823
+#: ../bin/misc.c:1932
msgid "Zoom Buttons"
msgstr "Lupenknöpfe"
-#: ../bin/misc.c:1824
+#: ../bin/misc.c:1932
msgid "Undo Buttons"
msgstr "Rückgängig/Wiederholen"
-#: ../bin/misc.c:1824
+#: ../bin/misc.c:1932
msgid "Easement Button"
msgstr "Übergangsbogen"
-#: ../bin/misc.c:1824
+#: ../bin/misc.c:1932
msgid "SnapGrid Buttons"
msgstr "Fangraster"
-#: ../bin/misc.c:1825
+#: ../bin/misc.c:1933
msgid "Create Track Buttons"
msgstr "Erstelle Gleise"
-#: ../bin/misc.c:1825
+#: ../bin/misc.c:1933
msgid "Layout Control Elements"
msgstr "Elemente zur Anlagensteuerung"
-#: ../bin/misc.c:1826
+#: ../bin/misc.c:1934
msgid "Modify Track Buttons"
msgstr "Verändere Gleise"
-#: ../bin/misc.c:1826
+#: ../bin/misc.c:1934
msgid "Properties/Select"
msgstr "Eigenschaften/Auswählen"
-#: ../bin/misc.c:1827
+#: ../bin/misc.c:1935
msgid "Track Group Buttons"
msgstr "Objekt Werkzeuge"
-#: ../bin/misc.c:1827
+#: ../bin/misc.c:1935
msgid "Train Group Buttons"
msgstr "Zugbetrieb"
-#: ../bin/misc.c:1828
+#: ../bin/misc.c:1936
msgid "Create Misc Buttons"
msgstr "Zeichnen/Schrift Werkzeuge"
-#: ../bin/misc.c:1828
+#: ../bin/misc.c:1936
msgid "Ruler Button"
msgstr "Linealschaltfläche"
-#: ../bin/misc.c:1828
+#: ../bin/misc.c:1937
msgid "Layer Buttons"
msgstr "Ebenenknöpfe"
-#: ../bin/misc.c:1829
+#: ../bin/misc.c:1937
msgid "Hot Bar"
msgstr "Teilekatalog"
-#: ../bin/misc.c:1898 ../../../../build/work/app/bin/bllnhlp.c:80
+#: ../bin/misc.c:2010 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:82
msgid "Change Elevations"
msgstr "Höhen ändern"
-#: ../bin/misc.c:1916
+#: ../bin/misc.c:2030
msgid "Angle:"
msgstr "Winkel:"
-#: ../bin/misc.c:1923
+#: ../bin/misc.c:2035
+msgid "Indexes:"
+msgstr "Kennziffern:"
+
+#: ../bin/misc.c:2041
msgid "Move X:"
msgstr "Verschieben X:"
-#: ../bin/misc.c:1924
+#: ../bin/misc.c:2042
msgid "Move Y:"
msgstr "Verschieben Y:"
-#: ../bin/misc.c:1971
+#: ../bin/misc.c:2060
+msgid "Select Index"
+msgstr "Kennziffer auswählen"
+
+#: ../bin/misc.c:2114
msgid "Enter Move ..."
msgstr "Verschiebung eingeben..."
-#: ../bin/misc.c:1977
+#: ../bin/misc.c:2119
+msgid "Select Track Index ..."
+msgstr "Gleiskennziffer auswählen:"
+
+#: ../bin/misc.c:2125
msgid "180 "
msgstr "180 "
-#: ../bin/misc.c:1978
+#: ../bin/misc.c:2126
msgid "90 CW"
msgstr "90 Uhrzeiger"
-#: ../bin/misc.c:1979
+#: ../bin/misc.c:2127
msgid "45 CW"
msgstr "45 Uhrzeiger"
-#: ../bin/misc.c:1980
+#: ../bin/misc.c:2128
msgid "30 CW"
msgstr "30 Uhrzeiger"
-#: ../bin/misc.c:1981
+#: ../bin/misc.c:2129
msgid "15 CW"
msgstr "15 Uhrzeiger"
-#: ../bin/misc.c:1982
+#: ../bin/misc.c:2130
msgid "15 CCW"
msgstr "15 gegen Uhr"
-#: ../bin/misc.c:1983
+#: ../bin/misc.c:2131
msgid "30 CCW"
msgstr "30 gehen Uhr"
-#: ../bin/misc.c:1984
+#: ../bin/misc.c:2132
msgid "45 CCW"
msgstr "45 gegen Uhr"
-#: ../bin/misc.c:1985
+#: ../bin/misc.c:2133
msgid "90 CCW"
msgstr "90 gegen Uhr"
-#: ../bin/misc.c:1986
+#: ../bin/misc.c:2134
msgid "Enter Angle ..."
msgstr "Winkel eingeben..."
-#: ../bin/misc.c:2017
+#: ../bin/misc.c:2151
+msgid "Test Mallocs"
+msgstr "Test Mallocs"
+
+#: ../bin/misc.c:2168
msgid "Debug"
msgstr "Fehlersuche (Debug)"
-#: ../bin/misc.c:2148
+#: ../bin/misc.c:2391
msgid "&File"
msgstr "&Datei"
-#: ../bin/misc.c:2149
+#: ../bin/misc.c:2392
msgid "&Edit"
msgstr "&Bearbeiten"
-#: ../bin/misc.c:2150
+#: ../bin/misc.c:2393
msgid "&View"
msgstr "&Ansicht"
-#: ../bin/misc.c:2151
+#: ../bin/misc.c:2394
msgid "&Add"
msgstr "&Hinzufügen"
-#: ../bin/misc.c:2152
+#: ../bin/misc.c:2395
msgid "&Change"
msgstr "&Ändern"
-#: ../bin/misc.c:2153
+#: ../bin/misc.c:2396
msgid "&Draw"
msgstr "&Zeichnen"
-#: ../bin/misc.c:2154
+#: ../bin/misc.c:2397
msgid "&Manage"
msgstr "&Verwalten"
-#: ../bin/misc.c:2155
+#: ../bin/misc.c:2398
msgid "&Options"
msgstr "&Optionen"
-#: ../bin/misc.c:2156
+#: ../bin/misc.c:2399
msgid "&Macro"
msgstr "&Makro"
-#: ../bin/misc.c:2157
+#: ../bin/misc.c:2400
msgid "&Window"
msgstr "&Fenster"
-#: ../bin/misc.c:2158
+#: ../bin/misc.c:2401
msgid "&Help"
msgstr "&Hilfe"
-#: ../bin/misc.c:2194
+#: ../bin/misc.c:2437
msgid "Context Commands"
msgstr "Kontextbefehle"
-#: ../bin/misc.c:2195
+#: ../bin/misc.c:2438
msgid "Shift Context Commands"
msgstr "Umsch+Kontextbefehle"
-#: ../bin/misc.c:2210 ../bin/misc.c:2397
+#: ../bin/misc.c:2452 ../bin/misc.c:2454
+msgid "Zoom Extents"
+msgstr "Zoom Gesamt"
+
+#: ../bin/misc.c:2457 ../bin/misc.c:2667
msgid "Enable SnapGrid"
msgstr "Fangraster aktivieren"
-#: ../bin/misc.c:2212
+#: ../bin/misc.c:2459
msgid "SnapGrid Show"
msgstr "Fangraster anzeigen"
-#: ../bin/misc.c:2214
+#: ../bin/misc.c:2461
msgid " Enable Magnetic Snap"
msgstr " Ein/Aus Magnetischer Schnapper"
-#: ../bin/misc.c:2216 ../bin/misc.c:2418
+#: ../bin/misc.c:2463 ../bin/misc.c:2688
msgid "Show/Hide Map"
msgstr "Karte anzeigen/verbergen"
-#: ../bin/misc.c:2218
-msgid "Show/Hide Background"
-msgstr "Hintergrund zeigen"
+#: ../bin/misc.c:2486 ../bin/misc.c:2488
+msgid "Select Track Index..."
+msgstr "Gleiskennziffer auswählen..."
-#: ../bin/misc.c:2249 ../bin/misc.c:2250
+#: ../bin/misc.c:2500 ../bin/misc.c:2501
msgid "Add..."
msgstr "Hinzufügen..."
-#: ../bin/misc.c:2253 ../bin/misc.c:2254
+#: ../bin/misc.c:2504 ../bin/misc.c:2505
msgid "More..."
msgstr "Weiter..."
-#: ../bin/misc.c:2289
+#: ../bin/misc.c:2510
msgid "&New ..."
msgstr "&Neu..."
-#: ../bin/misc.c:2291
+#: ../bin/misc.c:2512
msgid "&Open ..."
msgstr "&Öffnen..."
-#: ../bin/misc.c:2297
+#: ../bin/misc.c:2518
msgid "Save &As ..."
msgstr "Speichern &unter..."
-#: ../bin/misc.c:2299
+#: ../bin/misc.c:2520
msgid "Revert"
msgstr "Neu laden"
-#: ../bin/misc.c:2302
+#: ../bin/misc.c:2533
msgid "P&rint Setup ..."
msgstr "Druckereinstellungen..."
-#: ../bin/misc.c:2307
+#: ../bin/misc.c:2541
msgid "&Import"
msgstr "Import"
-#: ../bin/misc.c:2309
+#: ../bin/misc.c:2543
msgid "Import &Module"
msgstr "Modul importieren"
-#: ../bin/misc.c:2311
+#: ../bin/misc.c:2545
msgid "Export to &Bitmap"
msgstr "Export als Bitmap"
-#: ../bin/misc.c:2314
+#: ../bin/misc.c:2548
msgid "E&xport"
msgstr "Export"
-#: ../bin/misc.c:2316
+#: ../bin/misc.c:2550
msgid "Export D&XF"
msgstr "Export als DXF"
-#: ../bin/misc.c:2321
+#: ../bin/misc.c:2554
+msgid "Export S&VG"
+msgstr "S&VG Export"
+
+#: ../bin/misc.c:2560
msgid "Parameter &Files ..."
msgstr "Parameterdateien..."
-#: ../bin/misc.c:2323
+#: ../bin/misc.c:2562
msgid "No&tes ..."
msgstr "Notizen..."
-#: ../bin/misc.c:2330
+#: ../bin/misc.c:2569
msgid "E&xit"
msgstr "Beenden"
-#: ../bin/misc.c:2336
+#: ../bin/misc.c:2601
msgid "&Undo"
msgstr "Rückgängig"
-#: ../bin/misc.c:2338
+#: ../bin/misc.c:2603
msgid "R&edo"
msgstr "Wiederholen"
-#: ../bin/misc.c:2341
+#: ../bin/misc.c:2606
msgid "Cu&t"
msgstr "Ausschneiden"
-#: ../bin/misc.c:2343
+#: ../bin/misc.c:2608
msgid "&Copy"
msgstr "Kopieren"
-#: ../bin/misc.c:2345
+#: ../bin/misc.c:2610
msgid "&Paste"
msgstr "Einfügen"
-#: ../bin/misc.c:2347
+#: ../bin/misc.c:2612
msgid "C&lone"
msgstr "K&lonen"
-#: ../bin/misc.c:2349
+#: ../bin/misc.c:2614
msgid "De&lete"
msgstr "Löschen"
-#: ../bin/misc.c:2357
+#: ../bin/misc.c:2622
msgid "Select &All"
msgstr "Alles auswählen"
-#: ../bin/misc.c:2359
+#: ../bin/misc.c:2624
+msgid "Select By Index"
+msgstr "Kennziffern auswählen"
+
+#: ../bin/misc.c:2625
msgid "&Deselect All"
msgstr "Alles abwählen"
-#: ../bin/misc.c:2360
+#: ../bin/misc.c:2626
msgid "&Invert Selection"
msgstr "Auswahl umkehren"
-#: ../bin/misc.c:2361
+#: ../bin/misc.c:2627
msgid "Select Stranded Track"
msgstr "Vereinzelte Gleise auswählen"
-#: ../bin/misc.c:2363
+#: ../bin/misc.c:2629
msgid "Tu&nnel"
msgstr "Tunnel"
-#: ../bin/misc.c:2364
+#: ../bin/misc.c:2630
msgid "B&ridge"
msgstr "B&rücke"
-#: ../bin/misc.c:2365
+#: ../bin/misc.c:2631
msgid "Ties/NoTies"
msgstr "Mit / ohne Schwellen"
-#: ../bin/misc.c:2366
+#: ../bin/misc.c:2632
msgid "Move to &Front"
msgstr "Nach vorne"
-#: ../bin/misc.c:2367
+#: ../bin/misc.c:2633
msgid "Move to &Back"
msgstr "Nach hinten"
-#: ../bin/misc.c:2377
+#: ../bin/misc.c:2644
msgid "Zoom &In"
msgstr "Zoom größer"
-#: ../bin/misc.c:2380
+#: ../bin/misc.c:2647
msgid "Zoom &Out"
msgstr "Zoom kleiner"
-#: ../bin/misc.c:2390
+#: ../bin/misc.c:2649
+msgid "Zoom &Extents"
+msgstr "Zoom G&esamt"
+
+#: ../bin/misc.c:2660
msgid "&Redraw"
msgstr "Neu zeichnen"
-#: ../bin/misc.c:2392
+#: ../bin/misc.c:2662
msgid "Redraw All"
msgstr "Alles neu zeichnen"
-#: ../bin/misc.c:2399
+#: ../bin/misc.c:2669
msgid "Show SnapGrid"
msgstr "Fangraster zeigen"
-#: ../bin/misc.c:2409
+#: ../bin/misc.c:2679
msgid "Enable Magnetic Snap"
msgstr "Magnetisches Fangen aktivieren"
-#: ../bin/misc.c:2424
+#: ../bin/misc.c:2694
msgid "&Tool Bar"
msgstr "Werkzeugleiste anpassen"
-#: ../bin/misc.c:2457
+#: ../bin/misc.c:2727
msgid "Control Element"
msgstr "Steuerungselement"
-#: ../bin/misc.c:2483
+#: ../bin/misc.c:2757
+msgid "Change Scale"
+msgstr "Maßstab ändern"
+
+#: ../bin/misc.c:2770
msgid "&Loosen Tracks"
msgstr "Gleise lockern"
-#: ../bin/misc.c:2495
+#: ../bin/misc.c:2777
msgid "Raise/Lower Elevations"
msgstr "Höhen auf/ab"
-#: ../bin/misc.c:2504
+#: ../bin/misc.c:2786
msgid "Recompute Elevations"
msgstr "Höhen neu berechnen"
-#: ../bin/misc.c:2509
-msgid "Change Scale"
-msgstr "Maßstab ändern"
-
-#: ../bin/misc.c:2530
+#: ../bin/misc.c:2804
msgid "L&ayout ..."
msgstr "Gleisplan..."
-#: ../bin/misc.c:2532
+#: ../bin/misc.c:2806
msgid "&Display ..."
msgstr "Anzeige..."
-#: ../bin/misc.c:2534
+#: ../bin/misc.c:2808
msgid "Co&mmand ..."
msgstr "Befehl..."
-#: ../bin/misc.c:2536
+#: ../bin/misc.c:2810
msgid "&Easements ..."
msgstr "Übergangsbögen..."
-#: ../bin/misc.c:2539
+#: ../bin/misc.c:2813
msgid "&Fonts ..."
msgstr "Schri&ftarten..."
-#: ../bin/misc.c:2541
+#: ../bin/misc.c:2815
msgid "Stic&ky ..."
msgstr "Dauerhaft..."
-#: ../bin/misc.c:2546
+#: ../bin/misc.c:2820
msgid "&Debug ..."
msgstr "&Fehlersuche..."
-#: ../bin/misc.c:2549
+#: ../bin/misc.c:2823
msgid "&Preferences ..."
msgstr "Einstellungen..."
-#: ../bin/misc.c:2551
+#: ../bin/misc.c:2825
msgid "&Colors ..."
msgstr "Farben..."
-#: ../bin/misc.c:2557
+#: ../bin/misc.c:2831
msgid "&Record ..."
msgstr "Aufzeichnen..."
-#: ../bin/misc.c:2559
+#: ../bin/misc.c:2833
msgid "&Play Back ..."
msgstr "Wiedergeben..."
-#: ../bin/misc.c:2565
+#: ../bin/misc.c:2839
msgid "Main window"
msgstr "Hauptfenster"
-#: ../bin/misc.c:2579
+#: ../bin/misc.c:2853
msgid "Recent Messages"
msgstr "Letzte Mitteilungen"
-#: ../bin/misc.c:2586
+#: ../bin/misc.c:2860
msgid "Tip of the Day..."
msgstr "Tipp des Tages..."
-#: ../bin/misc.c:2587
+#: ../bin/misc.c:2861
msgid "&Demos"
msgstr "&Demos"
-#: ../bin/misc.c:2588
+#: ../bin/misc.c:2862
msgid "Examples..."
msgstr "Beispiele..."
-#: ../bin/misc.c:2592 ../bin/smalldlg.c:222
+#: ../bin/misc.c:2866 ../bin/smalldlg.c:205
msgid "About"
msgstr "Über"
-#: ../bin/misc.c:2605
+#: ../bin/misc.c:2879
msgid "Tur&nout Designer..."
msgstr "Weichendesigner..."
-#: ../bin/misc.c:2608
+#: ../bin/misc.c:2882
msgid "Layout &Control Elements"
msgstr "Steuerungselemente"
-#: ../bin/misc.c:2610
+#: ../bin/misc.c:2884
msgid "&Group"
msgstr "&Gruppierung"
-#: ../bin/misc.c:2612
+#: ../bin/misc.c:2886
msgid "&Ungroup"
msgstr "Gruppierung aufheben"
-#: ../bin/misc.c:2616
+#: ../bin/misc.c:2890
msgid "Custom defined parts..."
msgstr "Eigene Teile..."
-#: ../bin/misc.c:2619
+#: ../bin/misc.c:2893
msgid "Update Turnouts and Structures"
msgstr "Weichen und Gebäude aktualisieren"
-#: ../bin/misc.c:2628
+#: ../bin/misc.c:2902
msgid "Layers ..."
msgstr "Ebenen..."
-#: ../bin/misc.c:2632
+#: ../bin/misc.c:2906
msgid "Parts &List ..."
msgstr "Teile&liste..."
-#: ../bin/misc.c:2635
+#: ../bin/misc.c:2909
msgid "Price List..."
msgstr "Preisliste..."
-#: ../bin/misc.c:2717
+#: ../bin/misc.c:2954
msgid "Import/Export"
msgstr "Import/Export"
-#: ../bin/misc.c:2747
+#: ../bin/misc.c:2986
msgid ""
"Program was not terminated properly. Do you want to resume working on the "
"previous trackplan?"
@@ -6076,189 +6327,233 @@ msgstr ""
"Das Programm wurde nicht ordnungsgemäss beendet. Wollen Sie die Bearbeitung "
"des vorherigen Gleisplans fortsetzen?"
-#: ../bin/misc.c:2748
+#: ../bin/misc.c:2987
msgid "Resume"
msgstr "Fortsetzen"
-#: ../bin/misc.c:2748
+#: ../bin/misc.c:2987
msgid "Resume with New Name"
msgstr "Wiederaufnahme mit neuem Namen"
-#: ../bin/misc.c:2748
+#: ../bin/misc.c:2987
msgid "Ignore Checkpoint"
msgstr "Sicherungskopie ignorieren"
-#: ../bin/misc.c:2751
+#: ../bin/misc.c:2990
#, c-format
msgid "Reload Checkpoint Selected\n"
msgstr "Ausgewählte Sicherungskopie laden\n"
-#: ../bin/misc.c:2753
+#: ../bin/misc.c:2992
#, c-format
msgid "Reload Checkpoint With New Name Selected\n"
msgstr "Sicherungskopie mit neuem Namen laden\n"
-#: ../bin/misc.c:2755
+#: ../bin/misc.c:2994
#, c-format
msgid "Ignore Checkpoint Selected\n"
msgstr "Ausgewählte Sicherungskopie ignorieren\n"
-#: ../bin/misc.c:2868
+#: ../bin/misc.c:3106
#, c-format
msgid "Unnamed Trackplan - %s(%s)"
msgstr "Unbenannter Gleisplan - %s(%s)"
-#: ../bin/misc.c:2954
+#: ../bin/misc.c:3193
msgid "Initializing commands"
msgstr "Initialisiere Befehle"
-#: ../bin/misc.c:2963
+#: ../bin/misc.c:3202
msgid "Initializing menus"
msgstr "Initialisiere Menüs"
-#: ../bin/misc.c:2998
+#: ../bin/misc.c:3238
msgid "Reading parameter files"
msgstr "Einlesen der Parameterdateien"
-#: ../bin/misc.c:3035
+#: ../bin/misc.c:3276
msgid "Initialization complete"
msgstr "Initialisierung beendet"
-#: ../bin/param.c:92
+#: ../bin/param.c:65
msgid "Unexpected End Of String"
msgstr "Unerwartetes Zeichenkettenende"
-#: ../bin/param.c:99
+#: ../bin/param.c:72
msgid "Expected digit"
msgstr "Erwartete Ziffer"
-#: ../bin/param.c:106
+#: ../bin/param.c:79
msgid "Overflow"
msgstr "Ãœberlau"
-#: ../bin/param.c:154
+#: ../bin/param.c:127
msgid "Divide by 0"
msgstr "Division durch 0"
-#: ../bin/param.c:162
+#: ../bin/param.c:135
msgid "Expected /"
msgstr "Erwartet /"
-#: ../bin/param.c:248
+#: ../bin/param.c:221
msgid "Invalid Units Indicator"
msgstr "Ungültige Masseinheit"
-#: ../bin/param.c:276
+#: ../bin/param.c:249
msgid "Expected End Of String"
msgstr "Zeichenkettenende erwartet"
-#: ../bin/param.c:302 ../bin/param.c:1406
+#: ../bin/param.c:275 ../bin/param.c:1425
#, c-format
msgid "Invalid Number"
msgstr "Ungültige Zahl"
-#: ../bin/param.c:361
+#: ../bin/param.c:335
msgid "End Of String"
msgstr "Ende der Zeichenkette"
-#: ../bin/param.c:1413
+#: ../bin/param.c:1387
#, c-format
msgid "Enter a value > %ld"
msgstr "Einen Wert größer als %ld eingeben"
-#: ../bin/param.c:1415
+#: ../bin/param.c:1389
#, c-format
msgid "Enter a value < %ld"
msgstr "Einen Wert kleiner als %ld eingeben"
-#: ../bin/param.c:1417
+#: ../bin/param.c:1391
#, c-format
msgid "Enter a value between %ld and %ld"
msgstr "Einen Wert zwischen %ld und %ld eingeben"
-#: ../bin/param.c:1473
+#: ../bin/param.c:1458
#, c-format
msgid "Enter a value > %s"
msgstr "Einen Wert größer als %s eingeben"
-#: ../bin/param.c:1476
+#: ../bin/param.c:1461
#, c-format
msgid "Enter a value < %s"
msgstr "Einen Wert kleiner als %s eingeben"
-#: ../bin/param.c:1479
+#: ../bin/param.c:1464
#, c-format
msgid "Enter a value between %s and %s"
msgstr "Einen Wert zwischen %s und %s eingeben"
-#: ../bin/param.c:2647
+#: ../bin/param.c:1556
+msgid "String cannot be blank"
+msgstr "Text kann nicht leer sein"
+
+#: ../bin/param.c:1674
+msgid "Invalid input(s), please correct the hilighted field(s)"
+msgstr "Ungültige Eingabe(n), bitte die markierten Felder korrigieren"
+
+#: ../bin/param.c:2746
msgid "Help"
msgstr "Hilfe"
-#: ../bin/paramfile.c:250
+#: ../bin/paramfile.c:257
msgid "Parameter"
msgstr "Parameter"
-#: ../bin/paramfile.c:348
+#: ../bin/paramfile.c:354
msgid "Unknown param file line - skip until next good object?"
msgstr ""
-"Unbekannte Parameter-Dateizeile - bis zum nächsten guten Objekt überspringen?"
+"Unbekannte Parameter-Dateizeile - bis zum nächsten guten Objekt "
+"überspringen?"
+
+#: ../bin/paramfilelist.c:69
+#, c-format
+msgid ""
+"The parameter file: %s could not be found and was probably deleted or moved."
+" The file is removed from the active parameter file list."
+msgstr ""
+"Dei Parameter-Datei %s wurde nicht gefunden und wurde wahrscheinlich "
+"gelöscht oder verschoben. Die Datei wird von der Liste der aktiven Paramter-"
+"Dateien entfernt."
-#: ../bin/paramfilelist.c:110
+#: ../bin/paramfilelist.c:119
#, c-format
msgid "Updating %s"
msgstr "Aktualisiere %s"
-#: ../bin/paramfilesearch_ui.c:68
-msgid "Enter at least one search word"
-msgstr "Mindestens ein Suchwort eingeben"
+#: ../bin/paramfilesearch_ui.c:53
+msgid "Fit Any"
+msgstr "Passt immer"
-#: ../bin/paramfilesearch_ui.c:77
-msgid "Reload Library"
-msgstr "Bibliothek neu laden"
+#: ../bin/paramfilesearch_ui.c:53
+msgid "Fit Compatible"
+msgstr "Kompatibel"
-#: ../bin/paramfilesearch_ui.c:274
+#: ../bin/paramfilesearch_ui.c:53
+msgid "Fit Exact"
+msgstr "Passt genau"
+
+#: ../bin/paramfilesearch_ui.c:191
+#, c-format
+msgid "%u parameter files in library. %d Fit Scale."
+msgstr "%u Parameterdateien in der Bibliothek. %d Maßstab anpassen."
+
+#: ../bin/paramfilesearch_ui.c:308
#, c-format
-msgid "%d parameter files found."
-msgstr "%d Parameterdateien gefunden."
+msgid "%d parameter files found. %d Fit Scale"
+msgstr "%d Parameterdateien gefunden. %d Maßstab anpassen"
-#: ../bin/paramfilesearch_ui.c:284
+#: ../bin/paramfilesearch_ui.c:317
msgid "No matches found."
msgstr "Keine Übereinstimmungen gefunden."
-#: ../bin/paramfilesearch_ui.c:396
+#: ../bin/paramfilesearch_ui.c:476
msgid "Choose parameter files"
msgstr "Parameterdateien auswählen"
-#: ../bin/paramfilesearch_ui.c:416
+#: ../bin/paramfilesearch_ui.c:494
msgid "No system parameter files found, search is disabled."
msgstr "Keine Parameterdateien gefunden, die Suche ist deaktiviert."
-#: ../bin/smalldlg.c:64
+#: ../bin/partcatalog.c:736
+msgid "Found: "
+msgstr "Gefunden:"
+
+#: ../bin/partcatalog.c:737
+msgid "Similar: "
+msgstr "Ähnlich:"
+
+#: ../bin/partcatalog.c:738
+msgid "Ignored: "
+msgstr "Übersprungen:"
+
+#: ../bin/partcatalog.c:739
+msgid "Not found: "
+msgstr "Nicht gefunden:"
+
+#: ../bin/smalldlg.c:46
msgid "Show tips at start"
msgstr "Tipps beim Start anzeigen"
-#: ../bin/smalldlg.c:70
+#: ../bin/smalldlg.c:52
msgid "Did you know..."
msgstr "Wussten Sie schon..."
-#: ../bin/smalldlg.c:72
+#: ../bin/smalldlg.c:54
msgid "Previous Tip"
msgstr "Vorheriger Tipp"
-#: ../bin/smalldlg.c:73
+#: ../bin/smalldlg.c:55
msgid "Next Tip"
msgstr "Nächster Tipp"
-#: ../bin/smalldlg.c:90
+#: ../bin/smalldlg.c:72
msgid "Tip of the Day"
msgstr "Tipp des Tages"
-#: ../bin/smalldlg.c:99
+#: ../bin/smalldlg.c:81
msgid "No tips are available"
msgstr "Es sind keine Tipps verfügbar"
-#: ../bin/smalldlg.c:199
+#: ../bin/smalldlg.c:182
msgid ""
"XTrackCAD is a CAD (computer-aided design) program for designing model "
"railroad layouts."
@@ -6266,102 +6561,94 @@ msgstr ""
"XTrackCAD ist ein CAD (Computer-unterstützter Entwurf) Programm\n"
"zum Entwerfen von Modelleisenbahnanlagen."
-#: ../bin/tbezier.c:177
+#: ../bin/svgoutput.c:484
+msgid "Export to SVG"
+msgstr "Als SVG exportieren"
+
+#: ../bin/tbezier.c:184
#, c-format
-msgid "Bezier: len=%0.2f min_rad=%0.2f"
-msgstr "Bezier Kurve: Länge = %0.2f Kleinster Radius = %0.2f"
+msgid "Bez: L%s A%0.3f trk_len=%s min_rad=%s"
+msgstr "Bez: L%s A%0.3f trk_len=%s min_rad=%s"
-#: ../bin/tbezier.c:250
+#: ../bin/tbezier.c:254
msgid "Ctl Pt 1: X,Y"
msgstr "Kontrollpunkt 1: X,Y"
-#: ../bin/tbezier.c:251
+#: ../bin/tbezier.c:255
msgid "Ctl Pt 2: X,Y"
msgstr "Kontrollpunkt 1: X,Y"
-#: ../bin/tbezier.c:257
+#: ../bin/tbezier.c:261
msgid "MinRadius"
msgstr "Mindestradius"
-#: ../bin/tbezier.c:262
+#: ../bin/tbezier.c:266
msgid "Line Color"
msgstr "Linienfarbe"
-#: ../bin/tbezier.c:379
+#: ../bin/tbezier.c:393
#, c-format
msgid ""
-"Bezier %s(%d): Layer=%u MinRadius=%s Length=%s EP=[%0.3f,%0.3f] [%0.3f,"
-"%0.3f] CP1=[%0.3f,%0.3f] CP2=[%0.3f, %0.3f]"
+"Bezier %s(%d): Layer=%u MinRadius=%s Length=%s EP=[%0.3f,%0.3f] "
+"[%0.3f,%0.3f] CP1=[%0.3f,%0.3f] CP2=[%0.3f, %0.3f]"
msgstr ""
"Bezier-Kurve %s(%d): Ebene=%u Minimal-Radius=%s Länge=%s EP=[%0.3f,%0.3f] "
"[%0.3f,%0.3f] CP1=[%0.3f,%0.3f] CP2=[%0.3f, %0.3f]"
-#: ../bin/tbezier.c:453
+#: ../bin/tbezier.c:467
msgid "Bezier Track"
msgstr "Beziergleis"
-#: ../bin/tbezier.c:870
-msgid "Merge Bezier"
-msgstr "Bezierkurven zusammenfassen"
-
-#: ../bin/tcornu.c:222
+#: ../bin/tcornu.c:232
#, c-format
-msgid "Cornu: len=%0.2f min_rad=%0.2f"
-msgstr "Cornu: Länge = %0.2f Kleinster Radius %0.2f"
+msgid "Cornu: L %s A %0.3f L %s MinR %s"
+msgstr "Cornu: L %s A %0.3f L %s MinR %s"
-#: ../bin/tcornu.c:296
+#: ../bin/tcornu.c:304
msgid "Radius "
msgstr "Radius "
-#: ../bin/tcornu.c:304
+#: ../bin/tcornu.c:312
msgid "Minimum Radius"
msgstr "Mindestradius"
-#: ../bin/tcornu.c:305
+#: ../bin/tcornu.c:313
msgid "Max Rate Of Curve Change/Scale"
msgstr "Maximale Änderungsrate der Kurve"
-#: ../bin/tcornu.c:306
+#: ../bin/tcornu.c:314
msgid "Total Winding Angle"
msgstr "Gesamtwinkel"
-#: ../bin/tcornu.c:444
+#: ../bin/tcornu.c:452
#, c-format
msgid ""
-"Cornu Track(%d): Layer=%u MinRadius=%s Length=%s EP=[%0.3f,%0.3f] [%0.3f,"
-"%0.3f]"
+"Cornu Track(%d): Layer=%u MinRadius=%s Length=%s EP=[%0.3f,%0.3f] "
+"[%0.3f,%0.3f]"
msgstr ""
-"Cornu-Bogen(%d): Ebene=%u Minimal-Radius=%s Länge=%s EP=[%0.3f,%0.3f] [%0.3f,"
-"%0.3f]"
+"Cornu-Bogen(%d): Ebene=%u Minimal-Radius=%s Länge=%s EP=[%0.3f,%0.3f] "
+"[%0.3f,%0.3f]"
-#: ../bin/tcornu.c:497
+#: ../bin/tcornu.c:505
msgid "Cornu Track"
msgstr "Cornu-Gleis"
-#: ../bin/tcornu.c:1025
-msgid "Merge Cornu"
-msgstr "Cornu-Kurven zusammenfassen"
-
-#: ../bin/tcurve.c:243
+#: ../bin/tcurve.c:250
#, c-format
-msgid "Helix: turns=%ld len=%0.2f grade=%0.1f%% sep=%0.2f"
-msgstr "Gleiswendel: Windungen=%ld Länge=%0.2f Steigung=%0.1f%% Abstand=%0.2f"
+msgid "Helix: Turns %ld L %0.2f Grade %0.1f%% Sep %0.2f"
+msgstr "Gleiswendel: Windungen %ld L %0.2f Steigung %0.1f%% Abstand%0.2f"
-#: ../bin/tcurve.c:249
+#: ../bin/tcurve.c:256
#, c-format
-msgid "Helix: turns=%ld len=%0.2f"
-msgstr "Gleiswendel: Windungen=%ld Länge=%0.2f"
+msgid "Helix: Turns %ld L %0.2f"
+msgstr "Gleiswendel: Windungen %ld L %0.2f"
-#: ../bin/tcurve.c:365 ../bin/tcurve.c:367 ../bin/tease.c:520
-#: ../bin/tease.c:522 ../bin/tstraigh.c:86 ../bin/tstraigh.c:88
+#: ../bin/tcurve.c:378 ../bin/tcurve.c:380 ../bin/tease.c:510
+#: ../bin/tease.c:512 ../bin/tstraigh.c:87 ../bin/tstraigh.c:89
msgid "Z"
msgstr "Z"
-#: ../bin/tcurve.c:373
-msgid "Angular Length"
-msgstr "Winkellänge"
-
-#: ../bin/tcurve.c:553
+#: ../bin/tcurve.c:565
#, c-format
msgid ""
"Helix Track(%d): Layer=%d Radius=%s Turns=%ld Length=%s Center=[%s,%s] "
@@ -6370,177 +6657,199 @@ msgstr ""
"Gleiswendel(%d): Ebene=%d Radius=%s Windungen=%ld Länge=%s Mitte=[%s,%s] "
"EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
-#: ../bin/tcurve.c:563
+#: ../bin/tcurve.c:575
#, c-format
msgid ""
-"Curved Track(%d): Layer=%d Radius=%s Length=%s Center=[%s,%s] EP=[%0.3f,"
-"%0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
+"Curved Track(%d): Layer=%d Radius=%s Length=%s Center=[%s,%s] "
+"EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
msgstr ""
-"Gleisbogenl(%d): Ebene=%d Radius=%s Länge=%s Mitte=[%s,%s] EP=[%0.3f,%0.3f A"
-"%0.3f] [%0.3f,%0.3f A%0.3f]"
+"Gleisbogenl(%d): Ebene=%d Radius=%s Länge=%s Mitte=[%s,%s] EP=[%0.3f,%0.3f "
+"A%0.3f] [%0.3f,%0.3f A%0.3f]"
-#: ../bin/tcurve.c:640
+#: ../bin/tcurve.c:652
msgid "Helix Track"
msgstr "Gleiswendel"
-#: ../bin/tcurve.c:646
+#: ../bin/tcurve.c:658
msgid "Curved Track"
msgstr "Gleisbogen"
-#: ../bin/tcurve.c:1013
+#: ../bin/tcurve.c:1033
msgid "Merge Curves"
msgstr "Kurven zusammenfassen"
-#: ../bin/tcurve.c:1082
+#: ../bin/tcurve.c:1102
msgid "Drag to change angle or create tangent"
msgstr "Ziehen um den Winkel zu ändern oder eine Tangente zu erstellen"
-#: ../bin/tcurve.c:1115 ../bin/tcurve.c:1147
+#: ../bin/tcurve.c:1135 ../bin/tcurve.c:1167
msgid "Curved "
msgstr "Gebogen "
-#: ../bin/tcurve.c:1121
+#: ../bin/tcurve.c:1141
msgid "Tangent "
msgstr "Tangente "
-#: ../bin/tcurve.c:1130
+#: ../bin/tcurve.c:1150
#, c-format
msgid "Tangent track: Length %s Angle %0.3f"
msgstr "Gleistangente: Länge=%s Winkel=%0.3f"
-#: ../bin/tcurve.c:1152
+#: ../bin/tcurve.c:1172
#, c-format
msgid "Curved: Radius=%s Length=%s Angle=%0.3f"
msgstr "Bogen: Radius=%s Länge=%s Winkel=%0.3f"
-#: ../bin/tease.c:527
+#: ../bin/tease.c:517
msgid "l0"
msgstr "l0"
-#: ../bin/tease.c:528
+#: ../bin/tease.c:518
msgid "l1"
msgstr "l1"
-#: ../bin/tease.c:570
+#: ../bin/tease.c:560
#, c-format
msgid ""
-"Joint Track(%d): Layer=%d Length=%0.3f EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A"
-"%0.3f]"
+"Joint Track(%d): Layer=%d Length=%0.3f EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f "
+"A%0.3f]"
msgstr ""
-"Übergangsbogen(%d): Ebene=%d Länge=%0.3f EP=[%0.3f,%0.3f A%0.3f] [%0.3f,"
-"%0.3f A%0.3f]"
+"Übergangsbogen(%d): Ebene=%d Länge=%0.3f EP=[%0.3f,%0.3f A%0.3f] "
+"[%0.3f,%0.3f A%0.3f]"
-#: ../bin/tease.c:615
+#: ../bin/tease.c:605
msgid "Easement Track"
msgstr "Ügangsbogengleis"
-#: ../bin/tease.c:1235
+#: ../bin/tease.c:1330
msgid "Merge Easements"
msgstr "Übergangsbögen zusammenfassen"
-#: ../bin/tease.c:1303
+#: ../bin/tease.c:1398
msgid "Split Easement Curve"
msgstr "Übergangsbogen auftrennen"
-#: ../bin/textnoteui.c:214
+#: ../bin/textnoteui.c:209
#, c-format
msgid "Note: Layer=%d %-.80s"
msgstr "Notiz: Ebene=%d %-.80s"
-#: ../bin/textnoteui.c:225
+#: ../bin/textnoteui.c:220
msgid "Update comment"
msgstr "Kommentar aktualisieren"
-#: ../bin/textnoteui.c:237
+#: ../bin/textnoteui.c:232
msgid "Replace this text with your note"
msgstr "Ersetzen Sie diesen Text durch Ihre Notizen"
-#: ../bin/textnoteui.c:241
+#: ../bin/textnoteui.c:236
msgid "Create Text Note"
msgstr "Erstelle Textnotiz"
-#: ../bin/track.c:1329
+#: ../bin/track.c:274
+msgid "No track or structure pieces are present in layout"
+msgstr "Im Gleisplan sind keine Gleis- oder Gebäudeelemente vorhanden"
+
+#: ../bin/track.c:276
+msgid "No track or structure pieces are selected"
+msgstr "Es werden keine Gleis- oder Gebäudeelemente ausgewählt"
+
+#: ../bin/track.c:1379
msgid "Move Objects Above"
msgstr "Objekte nach oben"
-#: ../bin/track.c:1349
+#: ../bin/track.c:1399
msgid "Mode Objects Below"
msgstr "Objekte nach unten"
-#: ../bin/track.c:1640
+#: ../bin/track.c:1692
msgid "Audit"
msgstr "Protokoll"
-#: ../bin/track.c:1929
+#: ../bin/track.c:1981
#, c-format
msgid "%d Track(s) loosened"
msgstr "%d Gleis(e) gelockert"
-#: ../bin/track.c:1936
+#: ../bin/track.c:1988
msgid "No tracks loosened"
msgstr "Keine Gleise gelockert"
-#: ../bin/track.c:1946 ../bin/track.c:1950
+#: ../bin/track.c:1998 ../bin/track.c:2002
#, c-format
msgid "Connecting a non-track(%d) to (%d)"
msgstr "Verbinde ein sonstiges Objekt (%d) mit einem Gleis (%d)"
-#: ../bin/track.c:2005
+#: ../bin/track.c:2057
msgid "Join Abutting Tracks"
msgstr "Aneinander grenzende Gleise verbinden"
-#: ../bin/track.c:2280 ../bin/track.c:2315
+#: ../bin/track.c:2345 ../bin/track.c:2380
msgid "Inside turnout track"
msgstr "Inneres Weichengleis"
-#: ../bin/track.c:2298
+#: ../bin/track.c:2363
#, c-format
msgid "Curve: Length=%s Radius=%0.3f Arc=%0.3f"
msgstr "Bogen: Länge = %s Radius=%0.3f Winkel = %0.3f"
-#: ../bin/track.c:2321 ../bin/track.c:2379 ../bin/tstraigh.c:568
+#: ../bin/track.c:2386 ../bin/track.c:2444 ../bin/tstraigh.c:646
#, c-format
msgid "Straight: Length=%s Angle=%0.3f"
msgstr "Gerade: Länge=%s Winkel=%0.3f"
-#: ../bin/trknote.c:60
+#: ../bin/track.c:3571
+#, c-format
+msgid "%s[%0.2f,%0.2f] A%0.2f"
+msgstr "%s[%0.2f,%0.2f] A%0.2f"
+
+#: ../bin/track.c:3573
+#, c-format
+msgid "%s[%0.2f,%0.2f] A%0.2f\n"
+msgstr "%s[%0.2f,%0.2f] A%0.2f\n"
+
+#: ../bin/trknote.c:55
msgid "Comment"
msgstr "Kommentar"
-#: ../bin/trknote.c:61
+#: ../bin/trknote.c:56
msgid "Link"
msgstr "Weblink"
-#: ../bin/trknote.c:61 ../../../../build/work/app/bin/bllnhlp.c:101
+#: ../bin/trknote.c:56 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:104
msgid "Weblink"
msgstr "Weblink"
-#: ../bin/trknote.c:638 ../../../../build/work/app/bin/bllnhlp.c:108
+#: ../bin/trknote.c:639 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:112
msgid "Place a note on the layout"
msgstr "Eine Notiz auf den Gleisplan setzen"
-#: ../bin/trknote.c:652
+#: ../bin/trknote.c:653
msgid "New Note"
msgstr "Neue Notiz"
-#: ../bin/trknote.c:708
+#: ../bin/trknote.c:709
msgid "Add notes"
msgstr "Notizen hinzufügen"
-#: ../bin/tstraigh.c:236
+#: ../bin/tstraigh.c:91
+msgid "Track Angle"
+msgstr "Gleiswinkel"
+
+#: ../bin/tstraigh.c:194
#, c-format
msgid ""
-"Straight Track(%d): Layer=%d Length=%s EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A"
-"%0.3f]"
+"Straight Track(%d): Layer=%d Length=%s EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f "
+"A%0.3f]"
msgstr ""
-"Gleisgerade(%d): Ebene=%d Länge=%s EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A"
-"%0.3f]"
+"Gleisgerade(%d): Ebene=%d Länge=%s EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f "
+"A%0.3f]"
-#: ../bin/tstraigh.c:481
+#: ../bin/tstraigh.c:559
msgid "Extending Straight Track"
msgstr "Gleisgerade verlängern"
-#: ../bin/tstraigh.c:561
+#: ../bin/tstraigh.c:639
msgid "Straight "
msgstr "Gerade "
@@ -6552,15 +6861,15 @@ msgstr "Speicherformat:"
msgid "Image files"
msgstr "Grafikdateien"
-#: ../wlib/gtklib/font.c:281
+#: ../wlib/gtklib/font.c:282
msgid "Font Select"
msgstr "Auswahl der Schriftart"
-#: ../wlib/gtklib/help.c:83 ../wlib/mswlib/mswmisc.c:2232
+#: ../wlib/gtklib/help.c:84 ../wlib/mswlib/mswmisc.c:2274
msgid "&Contents"
msgstr "Inhalt"
-#: ../wlib/gtklib/help.c:84
+#: ../wlib/gtklib/help.c:85
msgid "Co&mmand Context help"
msgstr "Kontexthilfe für Befehle"
@@ -6576,12 +6885,12 @@ msgstr "Inhaltsverzeichnis"
msgid "<Empty List>"
msgstr "<Leere Liste>"
-#: ../wlib/gtklib/notice.c:101 ../wlib/mswlib/mswmisc.c:2102
-#: ../wlib/mswlib/mswmisc.c:2145
+#: ../wlib/gtklib/notice.c:101 ../wlib/mswlib/mswmisc.c:2134
+#: ../wlib/mswlib/mswmisc.c:2177
msgid "Warning"
msgstr "Warnung"
-#: ../wlib/gtklib/notice.c:106 ../wlib/mswlib/mswmisc.c:2107
+#: ../wlib/gtklib/notice.c:106 ../wlib/mswlib/mswmisc.c:2139
msgid "Error"
msgstr "Fehler"
@@ -6590,285 +6899,291 @@ msgstr "Fehler"
msgid "%d of %d"
msgstr "%d von %d"
-#: ../wlib/gtklib/wpref.c:114
+#: ../wlib/gtklib/wpref.c:123
#, c-format
msgid ""
-"The required configuration files could not be located in the expected "
-"location.\n"
+"The required configuration files could not be located in the expected location.\n"
"\n"
-"Usually this is an installation problem. Make sure that these files are "
-"installed in either \n"
-" %s/share/xtrkcad or\n"
-" /usr/lib/%s or\n"
-" /usr/local/lib/%s\n"
-"If this is not possible, the environment variable %s must contain the name "
-"of the correct directory."
-msgstr ""
-"Die notwenidgen Konfigurationsdaten konnten nicht im erwarteten Verzeichnis "
-"gefunden werden.\n"
+"Usually this is an installation problem. Make sure that these files are installed in either \n"
+" ../share/xtrkcad or\n"
+" /usr/share/%s or\n"
+" /usr/local/share/%s\n"
+"If this is not possible, the environment variable %s must contain the name of the correct directory."
+msgstr ""
+"Die notwendigen Konfigurationsdateien konnten nicht im erwarteten Verzeichnis gefunden werden.\n"
"\n"
-"Üblicherweise ist dies ein Instalaltionsproblem. Stellen Sie sicher, dass "
-"diese Dateien in entweder\n"
-" %s/share/xtrkcad oder\n"
-" /usr/lib/%s oder\n"
-" /usr/local/lib/%s\n"
-"gespeichert sind. Sollte das nicht möglich sein, muss die Umgebungsvariable "
-"%s den Namen des korrekten Verzeichnis enthalten."
-
-#: ../wlib/gtklib/wpref.c:148 ../wlib/gtklib/wpref.c:193
+"Üblicherweise ist dies ein Installationsproblem. Stellen Sie sicher, dass diese Dateien in entweder\n"
+"../share/xtrkcad oder\n"
+"/usr/share/%s oder\n"
+"/usr/local/share/%s\n"
+"gespeichert sind. Sollte das nicht möglich sein, muss die Umgebungsvariable %s den Namen des korrekten Verzeichnis enthalten."
+
+#: ../wlib/gtklib/wpref.c:157 ../wlib/gtklib/wpref.c:202
msgid "HOME is not set"
msgstr "HOME ist nicht gesetzt"
-#: ../wlib/gtklib/wpref.c:148 ../wlib/gtklib/wpref.c:157
-#: ../wlib/gtklib/wpref.c:193
+#: ../wlib/gtklib/wpref.c:157 ../wlib/gtklib/wpref.c:166
+#: ../wlib/gtklib/wpref.c:202
msgid "Exit"
msgstr "Beenden"
-#: ../wlib/gtklib/wpref.c:156
+#: ../wlib/gtklib/wpref.c:165
#, c-format
msgid "Cannot create %s"
msgstr "Kann %s nicht erstellen"
-#: ../wlib/mswlib/backgnd.c:103
+#: ../wlib/mswlib/backgnd.c:104
msgid "Image file is invalid or cannot be read."
msgstr "Die Bilddatei ist ungültig oder kann nicht gelesen werden."
-#: ../wlib/mswlib/mswmenu.c:886
+#: ../wlib/mswlib/mswmenu.c:888
msgid "Ctrl+"
msgstr "Strg+"
-#: ../wlib/mswlib/mswmenu.c:891
+#: ../wlib/mswlib/mswmenu.c:893
msgid "Alt+"
msgstr "Alt+"
-#: ../wlib/mswlib/mswmenu.c:896
+#: ../wlib/mswlib/mswmenu.c:898
msgid "Shift+"
msgstr "Umsch+"
-#: ../wlib/mswlib/mswmenu.c:902
+#: ../wlib/mswlib/mswmenu.c:904
msgid "Space"
msgstr "Abstand"
-#: ../wlib/mswlib/mswmisc.c:190
+#: ../wlib/mswlib/mswmisc.c:195
msgid "All image files"
msgstr "Alle Grafikdateien"
-#: ../wlib/mswlib/mswmisc.c:192
+#: ../wlib/mswlib/mswmisc.c:197
msgid "GIF files (*.gif)"
msgstr "GIF Dateien (*.gif)"
-#: ../wlib/mswlib/mswmisc.c:194
+#: ../wlib/mswlib/mswmisc.c:199
msgid "JPEG files (*.jpeg,*.jpg)"
msgstr "JPEG Dateien (*.jpeg,*.jpg)"
-#: ../wlib/mswlib/mswmisc.c:196
+#: ../wlib/mswlib/mswmisc.c:201
msgid "PNG files (*.png)"
msgstr "PNG Dateien (*.png)"
-#: ../wlib/mswlib/mswmisc.c:198
+#: ../wlib/mswlib/mswmisc.c:203
msgid "TIFF files (*.tiff, *.tif)"
msgstr "TIFF Dateien (*.tiff, *.tif)"
-#: ../wlib/mswlib/mswmisc.c:200
+#: ../wlib/mswlib/mswmisc.c:205
msgid "All files (*)"
msgstr "Alle Dateien (*)"
-#: ../wlib/mswlib/mswmisc.c:2233
+#: ../wlib/mswlib/mswmisc.c:2275
msgid "&Search for Help on..."
msgstr "&Suche Hilfe für..."
-#: ../wlib/mswlib/mswmisc.c:2234
+#: ../wlib/mswlib/mswmisc.c:2276
msgid "Co&mmand Context Help"
msgstr "Ko&ntexthilfe für Befehle"
-#: ../../../../build/work/app/help/messages.h:9
+#: ../../../../build/xtrkcad-old/app/help/messages.h:9
#, c-format
msgid ""
-"MSG_CANT_PLACE_FROGPOINTS\tFrog|Points cannot be placed on a turnout, circle "
-"or helix.\tA %s cannot be placed on a turnout, circle or helix."
+"MSG_BETA_NOTICE\tXTrackCAD Version %s: Please note that this Beta Version of"
+" XTrackCAD is still undergoing final testing before its official release. "
+"The sole purpose of this Beta Version is to conduct testing and obtain "
+"feedback. Should you encounter any bugs, glitches, lack of functionality or "
+"other problems, please let us know immediately so we can rectify these "
+"accordingly. Your help in this regard is greatly appreciated!"
+msgstr ""
+"MSG_BETA_NOTICE\tXTrackCAD Version %s: Bitte denken Sie daran, dass sich diese Beta-Version von XTrackCAD noch in der abschließenden Testphase befindet. Der einzige Zweck dieser Beta-Version von XTrackCAD ist der abschließende Test vor der offiziellen Freigabe. Sollten Sie Fehler, \n"
+"Schwächen, fehlende Funktionalität oder andere Problem finden, informieren Sie uns bitte unmittelbar, damit wir diese korrigieren können. Ihre Hilfe dabei ist sehr willkommen!"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:10
+#, c-format
+msgid ""
+"MSG_CANT_PLACE_FROGPOINTS\tFrog|Points cannot be placed on a turnout, circle"
+" or helix.\tA %s cannot be placed on a turnout, circle or helix."
msgstr ""
"MSG_CANT_PLACE_FROGPOINTS\tHerzstück|Zungen können nicht auf eine Weiche, "
"einen Kreis oder eine Gleiswendel gesetzt werden.\tEin %s kann nicht auf "
"eine Weiche, einen Kreis oder eine Gleiswendel gelegt werden."
-#: ../../../../build/work/app/help/messages.h:10
+#: ../../../../build/xtrkcad-old/app/help/messages.h:11
msgid ""
"MSG_SEL_TRK_FROZEN\tA frozen layer contains selected track. Command cannot "
"be executed."
msgstr ""
-"MSG_SEL_TRK_FROZEN\tEine eingefrorene Ebene enthält ausgewählte...\tEine "
-"eingefrorene Ebene enthält ausgewählte Gleise.\n"
+"MSG_SEL_TRK_FROZEN\tEine eingefrorene Ebene enthält ausgewählte...\tEine eingefrorene Ebene enthält ausgewählte Gleise.\n"
"Der Befehl kann nicht ausgeführt werden."
-#: ../../../../build/work/app/help/messages.h:11
+#: ../../../../build/xtrkcad-old/app/help/messages.h:12
msgid "MSG_HELIX_TURNS_GTR_0\tA Helix must have one or more loops of track."
msgstr ""
"MSG_HELIX_TURNS_GTR_0\tEine Gleiswendel muss eine oder mehrere Gleiswindung "
"enthalten."
-#: ../../../../build/work/app/help/messages.h:12
+#: ../../../../build/xtrkcad-old/app/help/messages.h:13
msgid ""
-"MSG_LARGE_FONT\tA large font has been selected....\tA large font has been "
-"selected.\n"
+"MSG_LARGE_FONT\tA large font has been selected....\tA large font has been selected.\n"
"Large fonts may a take a while to load.\n"
"\n"
"Do you wish to continue?"
msgstr ""
-"MSG_LARGE_FONT\tEine grosse Schriftart wurde ausgewählt...\tEine grosse "
-"Schriftart wurde ausgewählt.\n"
+"MSG_LARGE_FONT\tEine grosse Schriftart wurde ausgewählt...\tEine grosse Schriftart wurde ausgewählt.\n"
"Das Laden grosser Schriften kann lange dauern.\n"
"\n"
"Wollen Sie den Vorgang fortsetzen?"
-#: ../../../../build/work/app/help/messages.h:13
+#: ../../../../build/xtrkcad-old/app/help/messages.h:14
msgid ""
-"MSG_TODSGN_DESC_NONBLANK\tAll description fields present in the Turnout..."
-"\tAll description fields present in the Turnout\n"
+"MSG_TEXT_TOO_LONG\tThe entered text was too long for the text object. It was"
+" truncated."
+msgstr ""
+"MSG_TEXT_TOO_LONG\tDer eingegebene Text war zu lang für das Text-Objekt. Er "
+"wurde abgeschnitten."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:15
+msgid ""
+"MSG_TODSGN_DESC_NONBLANK\tAll description fields present in the Turnout...\tAll description fields present in the Turnout\n"
"Designer must contain appropriate information.\n"
"Correct inappropriate values and try again."
msgstr ""
-"MSG_TODSGN_DESC_NONBLANK\tAlle vorhandenen Beschreibungsfelder des Weichen "
-"Editor...\tAlle Beschreibungsfelder des Weicheneditor\n"
+"MSG_TODSGN_DESC_NONBLANK\tAlle vorhandenen Beschreibungsfelder des Weichen Editor...\tAlle Beschreibungsfelder des Weicheneditor\n"
"müssen korrekt ausgefüllt sein. Bitte falsche Werte \n"
"korrigieren und nochmals versuchen."
-#: ../../../../build/work/app/help/messages.h:14
+#: ../../../../build/xtrkcad-old/app/help/messages.h:16
msgid ""
-"MSG_GROUP_NONBLANK\tAll fields listed in the Group dialog must contain "
-"data....\tAll fields listed in the Group dialog must contain data.\n"
+"MSG_GROUP_NONBLANK\tAll fields listed in the Group dialog must contain data....\tAll fields listed in the Group dialog must contain data.\n"
"Please enter missing values and try again."
msgstr ""
-"MSG_GROUP_NONBLANK\tAlle Felder im Gruppieren-Dialog müssen ausgefüllt "
-"sein...\tAlle Felder im Gruppieren-Dialog müssen ausgefüllt sein.\n"
+"MSG_GROUP_NONBLANK\tAlle Felder im Gruppieren-Dialog müssen ausgefüllt sein...\tAlle Felder im Gruppieren-Dialog müssen ausgefüllt sein.\n"
"Bitte die fehlenden Werte ergänzen und nochmals versuchen."
-#: ../../../../build/work/app/help/messages.h:15
+#: ../../../../build/xtrkcad-old/app/help/messages.h:17
msgid ""
-"MSG_TODSGN_VALUES_GTR_0\tAll values specified in the Turnout Designer must "
-"be...\tAll values specified in the Turnout Designer must be\n"
+"MSG_TODSGN_VALUES_GTR_0\tAll values specified in the Turnout Designer must be...\tAll values specified in the Turnout Designer must be\n"
"greater than 0. Correct inappropriate values and try again."
msgstr ""
-"MSG_TODSGN_VALUES_GTR_0\tAlle eingegebenen Werte im Weicheneditor müssen..."
-"\tAlle eingegebenen Werte im Weicheneditor müssen\n"
+"MSG_TODSGN_VALUES_GTR_0\tAlle eingegebenen Werte im Weicheneditor müssen...\tAlle eingegebenen Werte im Weicheneditor müssen\n"
"größer als 0 sein. Bitte fehlerhafte Werte korrigieren und nochmal versuchen."
-#: ../../../../build/work/app/help/messages.h:16
+#: ../../../../build/xtrkcad-old/app/help/messages.h:18
msgid "MSG_CURVE_OUT_OF_RANGE\tAngle must be between 0\\u00B0 and 360\\u00B0."
msgstr "MSG_CURVE_OUT_OF_RANGE\tDer Winkel muss zwischen 0° und 360° liegen."
-#: ../../../../build/work/app/help/messages.h:17
+#: ../../../../build/xtrkcad-old/app/help/messages.h:19
msgid ""
-"MSG_TODSGN_CORNU_TOO_COMPLEX\tThe curves created by the Turnout Designer for "
-"a cornu curve have more than 128 segments....\tThe curves created by the "
-"Turnout Designer for a cornu curve have more than 128 segments.\n"
+"MSG_TODSGN_CORNU_TOO_COMPLEX\tThe curves created by the Turnout Designer for a cornu curve have more than 128 segments....\tThe curves created by the Turnout Designer for a cornu curve have more than 128 segments.\n"
"Try adjusting the end angles and radii to be closer in values."
msgstr ""
-"MSG_TODSGN_CORNU_TOO_COMPLEX\tDie mit dem Weichen-Designer erstellten Kurven "
-"für eine Cornu haben mehr als 128 Segmente....\tDie mit dem Weichen-Designer "
-"erstellten Kurven für eine Klthoide haben mehr als 128 Segmente.\n"
-"Versuchen Sie, die Endwinkel und Radien so einzustellen, dass die Werte "
-"näher beieinander liegen."
+"MSG_TODSGN_CORNU_TOO_COMPLEX\tDie mit dem Weichen-Designer erstellten Kurven für eine Cornu haben mehr als 128 Segmente....\tDie mit dem Weichen-Designer erstellten Kurven für eine Klthoide haben mehr als 128 Segmente.\n"
+"Versuchen Sie, die Endwinkel und Radien so einzustellen, dass die Werte näher beieinander liegen."
-#: ../../../../build/work/app/help/messages.h:18
+#: ../../../../build/xtrkcad-old/app/help/messages.h:20
#, c-format
msgid ""
-"MSG_CUSTMGM_DELETE_CONFIRM\tAre you sure you want to delete the NNN "
-"definition(s)?\tAre you sure you want to delete the\n"
+"MSG_CUSTMGM_DELETE_CONFIRM\tAre you sure you want to delete the NNN definition(s)?\tAre you sure you want to delete the\n"
"%d definition(s)?"
msgstr ""
-"MSG_CUSTMGM_DELETE_CONFIRM\tSind Sie sicher, dass Sie NNN Definitionen "
-"löschen wollen?\tSind Sie sicher, dass Sie %d Definitionen\n"
+"MSG_CUSTMGM_DELETE_CONFIRM\tSind Sie sicher, dass Sie NNN Definitionen löschen wollen?\tSind Sie sicher, dass Sie %d Definitionen\n"
"löschen wollen?"
-#: ../../../../build/work/app/help/messages.h:19
+#: ../../../../build/xtrkcad-old/app/help/messages.h:21
msgid "MSG_WBITMAP_FAILED\tBitmap create or write function failed."
msgstr ""
"MSG_WBITMAP_FAILED\tErzeugen oder Schreiben der Bitmap ist fehlgeschlagen."
-#: ../../../../build/work/app/help/messages.h:20
+#: ../../../../build/xtrkcad-old/app/help/messages.h:22
msgid "MSG_BITMAP_TOO_LARGE\tBitmap is too large."
msgstr "MSG_BITMAP_TOO_LARGE\tBitmap ist zu groß."
-#: ../../../../build/work/app/help/messages.h:21
+#: ../../../../build/xtrkcad-old/app/help/messages.h:23
msgid "MSG_CHANGE_ELEV_MODE\tCannot change elevation mode."
msgstr ""
"MSG_CHANGE_ELEV_MODE\tArt der Höhenfestlegung kann nicht geändert werden."
-#: ../../../../build/work/app/help/messages.h:22
+#: ../../../../build/xtrkcad-old/app/help/messages.h:24
msgid ""
"MSG_GRID_ENABLE_SPACE_GTR_0\tCannot Enable Grid; spacing must be greater "
"than 0"
msgstr ""
-"MSG_GRID_ENABLE_SPACE_GTR_0\tFangraster kann nicht aktiviert werden. Abstand "
-"muss größer als 0 sein"
+"MSG_GRID_ENABLE_SPACE_GTR_0\tFangraster kann nicht aktiviert werden. Abstand"
+" muss größer als 0 sein"
-#: ../../../../build/work/app/help/messages.h:23
+#: ../../../../build/xtrkcad-old/app/help/messages.h:25
msgid "MSG_LAYER_FREEZE\tCannot freeze current layer"
msgstr "MSG_LAYER_FREEZE\tAktuelle Ebene kann nicht eingefroren werden"
-#: ../../../../build/work/app/help/messages.h:24
+#: ../../../../build/xtrkcad-old/app/help/messages.h:26
msgid ""
"MSG_CANT_GROUP_BUMPER1\tCannot Group Bumper Track. The track has been "
"unselected."
msgstr ""
-"Prellbock kann nicht in die Gruppe aufgenommen werden. Das Gleis wurde "
-"abgewählt."
+"MSG_CANT_GROUP_BUMPER1\tPrellbock kann nicht in die Gruppe aufgenommen "
+"werden. Das Gleis wurde abgewählt."
-#: ../../../../build/work/app/help/messages.h:25
-msgid "MSG_CANNOT_GROUP_TRACK\tCannot Group selected track."
-msgstr ""
-"MSG_CANNOT_GROUP_TRACK\tAusgewähltes Gleis kann nicht gruppiert werden."
+#: ../../../../build/xtrkcad-old/app/help/messages.h:27
+#, c-format
+msgid "MSG_CANNOT_GROUP_TRACK\tCannot Group selected track type %s."
+msgstr "MSG_CANNOT_GROUP_TRACK\tGleistyp 1%s kann nicht gruppiert werden."
-#: ../../../../build/work/app/help/messages.h:26
+#: ../../../../build/xtrkcad-old/app/help/messages.h:28
msgid "MSG_LAYER_HIDE\tCannot hide current layer"
msgstr "MSG_LAYER_HIDE\tAktuelle Ebene kann nicht verborgen werden"
-#: ../../../../build/work/app/help/messages.h:27
+#: ../../../../build/xtrkcad-old/app/help/messages.h:29
msgid "MSG_LAYER_MODULE\tCannot turn current layer into a Module"
msgstr ""
"MSG_LAYER_HIDE\tAktuelle Ebene kann nicht in ein Modul umgewandelt werden"
-#: ../../../../build/work/app/help/messages.h:28
+#: ../../../../build/xtrkcad-old/app/help/messages.h:30
msgid "MSG_JOIN_EASEMENTS\tCannot Join; Easements do not align or abut."
msgstr ""
"MSG_JOIN_EASEMENTS\tVerbinden nicht möglich. Übergangsbögen sind nicht "
"ausgerichtet."
-#: ../../../../build/work/app/help/messages.h:29
+#: ../../../../build/xtrkcad-old/app/help/messages.h:31
#, c-format
msgid ""
-"MSG_TRK_ALREADY_CONN\tFirst|Second track is already connected.\tCannot Join; "
-"%s track is already connected."
+"MSG_TRK_ALREADY_CONN\tFirst|Second track is already connected.\tCannot Join;"
+" %s track is already connected."
msgstr ""
-"MSG_TRK_ALREADY_CONN\tErstes|zweites Gleis ist bereits verbunden.\tVerbinden "
-"nicht möglich, das %s Gleis ist bereits verbunden."
+"MSG_TRK_ALREADY_CONN\tErstes|zweites Gleis ist bereits verbunden.\tVerbinden"
+" nicht möglich, das %s Gleis ist bereits verbunden."
-#: ../../../../build/work/app/help/messages.h:30
+#: ../../../../build/xtrkcad-old/app/help/messages.h:32
msgid "MSG_JOIN_TURNTABLE\tCannot join from a turntable, try to a turntable"
msgstr ""
-"MSG_JOIN_TURNTABLE\tVerbinden von einer Drehscheibe ist nicht möglich, bitte "
-"zur Drehscheibe verbinden"
+"MSG_JOIN_TURNTABLE\tVerbinden von einer Drehscheibe ist nicht möglich, bitte"
+" zur Drehscheibe verbinden"
-#: ../../../../build/work/app/help/messages.h:31
+#: ../../../../build/xtrkcad-old/app/help/messages.h:33
msgid "MSG_JOIN_CORNU_SAME\tCannot Join; Selected endpoints are on same track."
msgstr ""
"MSG_JOIN_CORNU_SAME\tVerbinden nicht möglich, da ausgewählte Endpunkte zum "
"selben Gleis gehören."
-#: ../../../../build/work/app/help/messages.h:32
+#: ../../../../build/xtrkcad-old/app/help/messages.h:34
msgid "MSG_JOIN_SAME\tCannot Join; Selected endpoints are on same track."
msgstr ""
"MSG_JOIN_SAME\tVerbinden nicht möglich, da ausgewählte Endpunkte zum selben "
"Gleis gehören."
-#: ../../../../build/work/app/help/messages.h:33
+#: ../../../../build/xtrkcad-old/app/help/messages.h:35
msgid ""
-"MSG_SELECTED_TRACKS_PARALLEL\tCannot Join; Selected tracks are parallel."
+"MSG_JOIN_NOTBEZIERORCORNU\tCannot Join Bezier or Cornu track if Easement is "
+"not Cornu"
+msgstr ""
+"MSG_JOIN_NOTBEZIERORCORNU\tKann nicht mit Bezier oder Cornu verbinden, da "
+"als Übergangsbogen nicht Cornu gewählt ist"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:36
+msgid "MSG_SELECTED_TRACKS_PARALLEL\tCannot Join; Selected tracks are parallel."
msgstr ""
-"MSG_SELECTED_TRACKS_PARALLEL\tVerbinden nicht möglich, da ausgewählte Gleise "
-"parallel sind."
+"MSG_SELECTED_TRACKS_PARALLEL\tVerbinden nicht möglich, da ausgewählte Gleise"
+" parallel sind."
-#: ../../../../build/work/app/help/messages.h:34
+#: ../../../../build/xtrkcad-old/app/help/messages.h:37
#, c-format
msgid ""
"MSG_PRMFIL_OPEN_NEW\tCannot open New Parameter File: FILENAME\tCannot open "
@@ -6877,26 +7192,26 @@ msgstr ""
"MSG_PRMFIL_OPEN_NEW\tDie neue Parameterdatei DATEINAME kann nicht geöffnet "
"werden.\tDie neue Parameterdatei %s kann nicht geöffnet werden"
-#: ../../../../build/work/app/help/messages.h:35
+#: ../../../../build/xtrkcad-old/app/help/messages.h:38
msgid "MSG_LAYER_SEL_FROZEN\tCannot select a frozen layer"
msgstr ""
"MSG_LAYER_SEL_FROZEN\tEine eingefrorene Ebene kann nicht ausgewählt werden"
-#: ../../../../build/work/app/help/messages.h:36
+#: ../../../../build/xtrkcad-old/app/help/messages.h:39
msgid ""
"MSG_GRID_SHOW_SPACE_GTR_0\tCannot Show Grid; spacing must be greater than 0"
msgstr ""
-"MSG_GRID_ENABLE_SPACE_GTR_0\tFangraster kann nicht angezeigt werden. Abstand "
-"muss größer als 0 sein"
+"MSG_GRID_ENABLE_SPACE_GTR_0\tFangraster kann nicht angezeigt werden. Abstand"
+" muss größer als 0 sein"
-#: ../../../../build/work/app/help/messages.h:37
+#: ../../../../build/xtrkcad-old/app/help/messages.h:40
#, c-format
msgid "MSG_CANT_SPLIT_TRK\tCannot split TYPE track\tCannot split %s track"
msgstr ""
"MSG_CANT_SPLIT_TRK\tTYP Gleis kann nicht aufgetrennt werden\tGleis vom Typ "
"%s kann nicht aufgetrennt werden"
-#: ../../../../build/work/app/help/messages.h:38
+#: ../../../../build/xtrkcad-old/app/help/messages.h:41
#, c-format
msgid ""
"MSG_CUSTMGM_CANT_WRITE\tCannot write to parameter file: FILENAME\tCannot "
@@ -6905,97 +7220,89 @@ msgstr ""
"MSG_PRMFIL_OPEN_NEW\tDie neue Parameterdatei DATEINAME kann nicht geöffnet "
"werden.\tDie neue Parameterdatei %s kann nicht geöffnet werden"
-#: ../../../../build/work/app/help/messages.h:39
+#: ../../../../build/xtrkcad-old/app/help/messages.h:42
msgid "MSG_CARIMP_DUP_INDEX\tCar Index number duplicated."
msgstr "MSG_CARIMP_DUP_INDEX\tWagenkennzahl ist doppelt."
-#: ../../../../build/work/app/help/messages.h:40
+#: ../../../../build/xtrkcad-old/app/help/messages.h:43
msgid ""
"MSG_CONN_PARAMS_TOO_SMALL\tConnection parameters reset to minimum values."
msgstr ""
"MSG_CONN_PARAMS_TOO_SMALL\tVerbindungseinstellungen auf die Minimalwerte "
"zurückgesetzt."
-#: ../../../../build/work/app/help/messages.h:41
+#: ../../../../build/xtrkcad-old/app/help/messages.h:44
msgid "MSG_CONN_PARAMS_TOO_BIG\tConnection parameters reset to maximum values."
msgstr ""
"MSG_CONN_PARAMS_TOO_SMALL\tVerbindungseinstellungen auf die Maximalwerte "
"zurückgesetzt."
-#: ../../../../build/work/app/help/messages.h:42
+#: ../../../../build/xtrkcad-old/app/help/messages.h:45
msgid "MSG_CANT_PASTE\tCopy/Paste buffer is empty. There is nothing to Paste."
msgstr ""
"MSG_CANT_PASTE\tZwischenablage ist leer. Es kann nichts eingefügt werden."
-#: ../../../../build/work/app/help/messages.h:43
+#: ../../../../build/xtrkcad-old/app/help/messages.h:46
msgid ""
-"MSG_TODSGN_CROSSOVER_TOO_SHORT\tCrossover length is too short. Correct..."
-"\tCrossover length is too short. Correct\n"
+"MSG_TODSGN_CROSSOVER_TOO_SHORT\tCrossover length is too short. Correct...\tCrossover length is too short. Correct\n"
"inappropriate value(s) and try again."
msgstr ""
-"MSG_TODSGN_CROSSOVER_TOO_SHORT\tKreuzungslänge ist zu kurz. Unpassende..."
-"\tKreuzungslänge ist zu kurz. Unpassende\n"
+"MSG_TODSGN_CROSSOVER_TOO_SHORT\tKreuzungslänge ist zu kurz. Unpassende...\tKreuzungslänge ist zu kurz. Unpassende\n"
"Werte verbessern und nochmals versuchen."
-#: ../../../../build/work/app/help/messages.h:44
+#: ../../../../build/xtrkcad-old/app/help/messages.h:47
msgid "MSG_CURVE_TOO_LARGE\tCurved track is too large."
msgstr "MSG_CURVE_TOO_LARGE\tBogengleis ist zu groß."
-#: ../../../../build/work/app/help/messages.h:45
+#: ../../../../build/xtrkcad-old/app/help/messages.h:48
msgid ""
-"MSG_TODSGN_REPLACE\tDefinition name is already in use. Saving this..."
-"\tDefinition name is already in use. Saving this\n"
+"MSG_TODSGN_REPLACE\tDefinition name is already in use. Saving this...\tDefinition name is already in use. Saving this\n"
"definition replaces the existing definition.\n"
"\n"
"Do you want to continue?"
msgstr ""
-"MSG_TODSGN_REPLACE\tEin Design mit diesem Namen existiert bereits. "
-"Speichern...\tEin Design mit diesem Namen existiert bereits. Speichern\n"
+"MSG_TODSGN_REPLACE\tEin Design mit diesem Namen existiert bereits. Speichern...\tEin Design mit diesem Namen existiert bereits. Speichern\n"
"unter diesem Namen ersetzt das vorhandene Design.\n"
"\n"
"Speichern fortsetzen?"
-#: ../../../../build/work/app/help/messages.h:46
+#: ../../../../build/xtrkcad-old/app/help/messages.h:49
msgid "MSG_SAVE_CHANGES\tDo you want to save the changes made to your Layout?"
msgstr ""
"MSG_SAVE_CHANGES\tWollen Sie die Veränderungen an Ihrem Gleisplan speichern?"
-#: ../../../../build/work/app/help/messages.h:47
+#: ../../../../build/xtrkcad-old/app/help/messages.h:50
msgid ""
"MSG_CARIMP_DUP_COLUMNS\tDuplicate column headers found in Car Import file."
msgstr ""
"MSG_CARIMP_DUP_COLUMNS\tDoppelte Spaltenüberschrift in der Wagenimportdatei."
-#: ../../../../build/work/app/help/messages.h:48
+#: ../../../../build/xtrkcad-old/app/help/messages.h:51
msgid "MSG_EP_ON_PATH\tEndpoint already on Path."
msgstr "MSG_EP_ON_PATH\tDer Endpunkt ist bereits im Pfad enthalten."
-#: ../../../../build/work/app/help/messages.h:49
+#: ../../../../build/xtrkcad-old/app/help/messages.h:52
#, c-format
msgid ""
-"MSG_UPGRADE_VERSION1\tFile version %ld is greater than supported...\tFile "
-"version %ld is greater than supported\n"
+"MSG_UPGRADE_VERSION1\tFile version %ld is greater than supported...\tFile version %ld is greater than supported\n"
"version %d. You need to upgrade %s\n"
"to at least version %s."
msgstr ""
-"MSG_UPGRADE_VERSION1\tDateiversion %ld ist größer als unterstützte Version..."
-"\tDateiversion %ld ist größer als unterstützte\n"
+"MSG_UPGRADE_VERSION1\tDateiversion %ld ist größer als unterstützte Version...\tDateiversion %ld ist größer als unterstützte\n"
"Version %d. Sie sollten %s mindestens auf Version %s\n"
"aktualisieren."
-#: ../../../../build/work/app/help/messages.h:50
+#: ../../../../build/xtrkcad-old/app/help/messages.h:53
#, c-format
msgid ""
-"MSG_UPGRADE_VERSION2\tFile version %ld is greater than supported...\tFile "
-"version %ld is greater than supported\n"
+"MSG_UPGRADE_VERSION2\tFile version %ld is greater than supported...\tFile version %ld is greater than supported\n"
"version %d. You need to upgrade your\n"
"version of %s"
msgstr ""
-"MSG_UPGRADE_VERSION2\tDateiversion %ld ist größer als unterstützte Version..."
-"\tDateiversion %ld ist größer als unterstützte\n"
+"MSG_UPGRADE_VERSION2\tDateiversion %ld ist größer als unterstützte Version...\tDateiversion %ld ist größer als unterstützte\n"
"Version %d. Sie sollten %s aktualisieren"
-#: ../../../../build/work/app/help/messages.h:51
+#: ../../../../build/xtrkcad-old/app/help/messages.h:54
#, c-format
msgid ""
"MSG_LAYOUT_LINES_SKIPPED\tWhile processing Layout file %s, %d lines were "
@@ -7004,153 +7311,145 @@ msgstr ""
"MSG_LAYOUT_LINES_SKIPPED\tBei der Verarbeitung der Gleisplandatei %s wurden "
"%d Zeilen übersprungen, weil sie nicht erkannt wurden."
-#: ../../../../build/work/app/help/messages.h:52
+#: ../../../../build/xtrkcad-old/app/help/messages.h:55
#, c-format
msgid ""
-"MSG_PARAM_UPGRADE_VERSION1\tFile version %ld is greater than supported..."
-"\tFile version %ld is greater than supported\n"
+"MSG_PARAM_UPGRADE_VERSION1\tFile version %ld is greater than supported...\tFile version %ld is greater than supported\n"
"version %d. You need to upgrade %s\n"
"to at least version %s."
msgstr ""
-"MSG_UPGRADE_VERSION1\tDateiversion %ld ist größer als unterstützte Version..."
-"\tDateiversion %ld ist größer als unterstützte\n"
+"MSG_UPGRADE_VERSION1\tDateiversion %ld ist größer als unterstützte Version...\tDateiversion %ld ist größer als unterstützte\n"
"Version %d. Sie sollten %s mindestens auf Version %s\n"
"aktualisieren."
-#: ../../../../build/work/app/help/messages.h:53
+#: ../../../../build/xtrkcad-old/app/help/messages.h:56
#, c-format
msgid ""
-"MSG_PARAM_UPGRADE_VERSION2\tFile version %ld is greater than supported..."
-"\tFile version %ld is greater than supported\n"
+"MSG_PARAM_UPGRADE_VERSION2\tFile version %ld is greater than supported...\tFile version %ld is greater than supported\n"
"version %d. You need to upgrade your\n"
"version of %s"
msgstr ""
-"MSG_UPGRADE_VERSION2\tDateiversion %ld ist größer als unterstützte Version..."
-"\tDateiversion %ld ist größer als unterstützte\n"
+"MSG_UPGRADE_VERSION2\tDateiversion %ld ist größer als unterstützte Version...\tDateiversion %ld ist größer als unterstützte\n"
"Version %d. Sie sollten %s aktualisieren"
-#: ../../../../build/work/app/help/messages.h:54
+#: ../../../../build/xtrkcad-old/app/help/messages.h:57
#, c-format
msgid ""
"MSG_PARAM_LINES_SKIPPED\tWhile processing Parameter file %s, %d lines were "
"skipped because they were not recognized."
msgstr ""
-"MSG_PARAM_LINES_SKIPPED Bei der Verarbeitung der Parameterdatei %s wurden %d "
-"Zeilen übersprungen, weil sie nicht erkannt wurden."
+"MSG_PARAM_LINES_SKIPPED Bei der Verarbeitung der Parameterdatei %s wurden %d"
+" Zeilen übersprungen, weil sie nicht erkannt wurden."
-#: ../../../../build/work/app/help/messages.h:55
+#: ../../../../build/xtrkcad-old/app/help/messages.h:58
msgid ""
"MSG_MOVE_POINTS_OTHER_SIDE\tFrog angle prevents placement of points. Move "
"points to opposite side of frog."
msgstr ""
-"MSG_MOVE_POINTS_OTHER_SIDE\tDer Weichenwinkel verhindert das Setzen....\tDer "
-"Weichenwinkel verhindert das Setzen der Weichenzungen.\n"
+"MSG_MOVE_POINTS_OTHER_SIDE\tDer Weichenwinkel verhindert das Setzen....\tDer Weichenwinkel verhindert das Setzen der Weichenzungen.\n"
"Die Weichenzungen auf die andere Seite der Weiche verschieben."
-#: ../../../../build/work/app/help/messages.h:56
+#: ../../../../build/xtrkcad-old/app/help/messages.h:59
msgid "MSG_NO_ROOM_BTW_TRKS\tInsufficient space between existing stall tracks."
msgstr "MSG_NO_ROOM_BTW_TRKS\tZu wenig Platz zwischen den Drehscheibengleisen."
-#: ../../../../build/work/app/help/messages.h:57
+#: ../../../../build/xtrkcad-old/app/help/messages.h:60
#, c-format
msgid ""
-"MSG_JOIN_DIFFER_ELEV\tJoining tracks with differing elevations (N."
-"NNN)\tJoining tracks with differing elevations (%0.2f)"
+"MSG_JOIN_DIFFER_ELEV\tJoining tracks with differing elevations "
+"(N.NNN)\tJoining tracks with differing elevations (%0.2f)"
msgstr ""
-"MSG_JOIN_DIFFER_ELEV\tZu verbindende Gleise haben unterschiedliche Höhe(N."
-"NNN)\tZu verbindende Gleise haben unterschiedliche Höhe(%0.2f)"
+"MSG_JOIN_DIFFER_ELEV\tZu verbindende Gleise haben unterschiedliche "
+"Höhe(N.NNN)\tZu verbindende Gleise haben unterschiedliche Höhe(%0.2f)"
-#: ../../../../build/work/app/help/messages.h:58
+#: ../../../../build/xtrkcad-old/app/help/messages.h:61
msgid "MSG_TRK_DESC_NOT_VISIBLE\tLabel description is hidden"
msgstr "MSG_DESC_NOT_VISIBLE\tBeschriftung ist nicht sichtbar"
-#: ../../../../build/work/app/help/messages.h:59
+#: ../../../../build/xtrkcad-old/app/help/messages.h:62
msgid "MSG_DESC_NOT_VISIBLE\tLabel descriptions not visible"
msgstr "MSG_DESC_NOT_VISIBLE\tBeschriftungen sind nicht sichtbar"
-#: ../../../../build/work/app/help/messages.h:60
+#: ../../../../build/xtrkcad-old/app/help/messages.h:63
msgid "MSG_OBJECT_TOO_SHORT\tLength of object is too short."
msgstr "MSG_OBJECT_TOO_SHORT\tDie Länge des Objektes ist zu kurz."
-#: ../../../../build/work/app/help/messages.h:61
+#: ../../../../build/xtrkcad-old/app/help/messages.h:64
#, c-format
msgid ""
-"MSG_PRINT_MAX_SIZE\tMaximum allowed page size is W x H\tMaximum allowed page "
-"size is %s x %s"
+"MSG_PRINT_MAX_SIZE\tMaximum allowed page size is W x H\tMaximum allowed page"
+" size is %s x %s"
msgstr ""
-"MSG_PRINT_MAX_SIZE\tDie maximal zulässige Seitengröße ist B x H\tDie maximal "
-"zulässige Seitengröße ist %s x %s"
+"MSG_PRINT_MAX_SIZE\tDie maximal zulässige Seitengröße ist B x H\tDie maximal"
+" zulässige Seitengröße ist %s x %s"
-#: ../../../../build/work/app/help/messages.h:62
+#: ../../../../build/xtrkcad-old/app/help/messages.h:65
msgid ""
-"MSG_NO_PRINTER_SELECTED\tPlease select a printer from the Print Setup dialog."
+"MSG_NO_PRINTER_SELECTED\tPlease select a printer from the Print Setup "
+"dialog."
msgstr ""
"MSG_NO_PRINTER_SELECTED\tBitte wählen Sie einen Drucker aus dem Dialogfeld "
"Druckereinrichtung."
-#: ../../../../build/work/app/help/messages.h:63
+#: ../../../../build/xtrkcad-old/app/help/messages.h:66
#, c-format
msgid ""
-"MSG_PRMFIL_NO_CONTENTS\tNew Parameter File has no CONTENTS line: FILENAME."
-"\tNew Parameter File has no CONTENTS line: %s"
+"MSG_PRMFIL_NO_CONTENTS\tNew Parameter File has no CONTENTS line: "
+"FILENAME.\tNew Parameter File has no CONTENTS line: %s"
msgstr ""
"MSG_PRMFIL_NO_CONTENTS\tDie neue Parameterdatei enthält keine CONTENTS "
"Zeile: DATEINAME.\tDie neue Parameterdatei enthält keine CONTENTS Zeile: %s"
-#: ../../../../build/work/app/help/messages.h:64
+#: ../../../../build/xtrkcad-old/app/help/messages.h:67
msgid ""
-"MSG_NO_CARS\tNo Cars are defined for the current scale....\tNo Cars are "
-"defined for the current scale.\n"
+"MSG_NO_CARS\tNo Cars are defined for the current scale....\tNo Cars are defined for the current scale.\n"
"\n"
"Do you want to use the Car Inventory dialog?"
msgstr ""
-"MSG_NO_CARS\tFür den aktuellen Maßstab sind keine Wagen vorhanden...\tFür "
-"den aktuellen Maßstab sind keine Wagen vorhanden.\n"
+"MSG_NO_CARS\tFür den aktuellen Maßstab sind keine Wagen vorhanden...\tFür den aktuellen Maßstab sind keine Wagen vorhanden.\n"
"\n"
"Soll der Wagenbestandsdialog geöffnet werden?"
-#: ../../../../build/work/app/help/messages.h:65
+#: ../../../../build/xtrkcad-old/app/help/messages.h:68
msgid ""
-"MSG_NO_CARPROTO\tNo Car Prototypes are defined....\tNo Car Prototypes are "
-"defined.\n"
+"MSG_NO_CARPROTO\tNo Car Prototypes are defined....\tNo Car Prototypes are defined.\n"
"Load a Prototype definition file using the\n"
"Parameter Files dialog or create a Prototype\n"
"definition using the Car Prototype dialog."
msgstr ""
-"MSG_NO_CARPROTO\tEs sind keine Vorbildwagen definiert...\tEs sind keine "
-"Vorbildwagen definiert.\n"
+"MSG_NO_CARPROTO\tEs sind keine Vorbildwagen definiert...\tEs sind keine Vorbildwagen definiert.\n"
"Über den Parameterdateidialog muß eine\n"
"Parameterdatei mit Vorbildern geladen werden oder\n"
"ein Vorbild muß über den Wagenvorbilddialog erstellt werden."
-#: ../../../../build/work/app/help/messages.h:66
+#: ../../../../build/xtrkcad-old/app/help/messages.h:69
msgid "MSG_CARIMP_NO_DATA\tNo data present in Car Import file."
msgstr "MSG_CARIMP_NO_DATA\tDie Wagenimportdatei enthält keine Daten."
-#: ../../../../build/work/app/help/messages.h:67
+#: ../../../../build/xtrkcad-old/app/help/messages.h:70
msgid "MSG_PRINT_NO_PAGES\tNo pages selected for printing."
msgstr "MSG_PRINT_NO_PAGES\tKeine Seiten zum Drucken ausgewählt."
-#: ../../../../build/work/app/help/messages.h:68
+#: ../../../../build/xtrkcad-old/app/help/messages.h:71
msgid "MSG_NO_PATH_TO_EP\tNo path between Profile and selected endpoint."
msgstr ""
"MSG_NO_PATH_TO_EP\tEs existiert keine Verbindung zwischen dem Högenprofil "
"und dem ausgählten Endpunkt."
-#: ../../../../build/work/app/help/messages.h:69
+#: ../../../../build/xtrkcad-old/app/help/messages.h:72
#, c-format
msgid ""
-"MSG_PRMFIL_NO_MAP\tNo Parameter File Map for CONTENTS\tNo Parameter File Map "
-"for %s"
+"MSG_PRMFIL_NO_MAP\tNo Parameter File Map for CONTENTS\tNo Parameter File Map"
+" for %s"
msgstr ""
"MSG_PRMFIL_OPEN_NEW\tDie neue Parameterdatei DATEINAME kann nicht geöffnet "
"werden.\tDie neue Parameterdatei %s kann nicht geöffnet werden"
-#: ../../../../build/work/app/help/messages.h:70
+#: ../../../../build/xtrkcad-old/app/help/messages.h:73
msgid "MSG_NO_SELECTED_TRK\tNo track(s) selected!"
msgstr "MSG_NO_SELECTED_TRK\tEs sind keine Gleise ausgewählt!"
-#: ../../../../build/work/app/help/messages.h:71
+#: ../../../../build/xtrkcad-old/app/help/messages.h:74
msgid ""
"MSG_NO_EMPTY_LAYER\tNo layer was found that has no contents, so the module "
"can not be imported"
@@ -7158,7 +7457,23 @@ msgstr ""
"MSG_NO_EMPTY_LAYER\tEs wurde kein Layer gefunden, der keinen Inhalt hat, so "
"dass das Modul nicht importiert werden kann"
-#: ../../../../build/work/app/help/messages.h:72
+#: ../../../../build/xtrkcad-old/app/help/messages.h:75
+msgid ""
+"MSG_NO_UNFROZEN_LAYER\tNo layer was found that wasn't frozen. Layer 0 is "
+"unfrozen."
+msgstr ""
+"MSG_NO_UNFROZEN_LAYER\tEs wurde keine Ebene gefunden, die nicht gefroren "
+"war. Schicht 0 ist nicht gefroren."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:76
+msgid ""
+"MSG_NOT_UNFROZEN_LAYER\tThe current layer was defined as frozen. It is now "
+"unfrozen."
+msgstr ""
+"MSG_NOT_UNFROZEN_LAYER\tDie aktuelle Ebene wurde als eingefroren definiert. "
+"Es ist jetzt ungefroren."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:77
#, c-format
msgid ""
"MSG_NO_TURNOUTS_AVAILABLE\tNo Turnouts|Structures are available.\tNo %s are "
@@ -7167,129 +7482,126 @@ msgstr ""
"MSG_NO_TURNOUTS_AVAILABLE\tEs sind keine Weichern | Gebäude verfügbar.\tEs "
"sind keine %s verfügbar."
-#: ../../../../build/work/app/help/messages.h:73
+#: ../../../../build/xtrkcad-old/app/help/messages.h:78
msgid ""
-"MSG_CARDESC_VALUE_ZERO\tNumeric values on the Car Description...\tNumeric "
-"values on the Car Description\n"
+"MSG_CARDESC_VALUE_ZERO\tNumeric values on the Car Description...\tNumeric values on the Car Description\n"
"dialog must be greater than 0."
msgstr ""
-"MSG_CARDESC_VALUE_ZERO\tNumerische Werte im Wagenbeschreibungsdialog..."
-"\tNumerische Werte im Wagenbeschreibungsdialog\n"
+"MSG_CARDESC_VALUE_ZERO\tNumerische Werte im Wagenbeschreibungsdialog...\tNumerische Werte im Wagenbeschreibungsdialog\n"
"müssen größer als 0 sein."
-#: ../../../../build/work/app/help/messages.h:74
+#: ../../../../build/xtrkcad-old/app/help/messages.h:79
msgid "MSG_MOVE_OUT_OF_BOUNDS\tObject has moved beyond room boundaries."
msgstr ""
"MSG_MOVE_OUT_OF_BOUNDS\tObjekt wurde nach außerhalb des Raumes verschoben."
-#: ../../../../build/work/app/help/messages.h:75
+#: ../../../../build/xtrkcad-old/app/help/messages.h:80
msgid ""
"MSG_PARALLEL_SEP_GTR_0\tParallel separation must be greater than 0, or the "
"new guage must be different than the old."
msgstr ""
-"MSG_PARALLEL_SEP_GTR_0\tParallelabstand muß entweder größer als 0 sein. oder "
-"die neue Spurweite muss sich von der alten unterscheiden."
+"MSG_PARALLEL_SEP_GTR_0\tParallelabstand muß entweder größer als 0 sein. oder"
+" die neue Spurweite muss sich von der alten unterscheiden."
-#: ../../../../build/work/app/help/messages.h:76
+#: ../../../../build/xtrkcad-old/app/help/messages.h:81
msgid ""
-"MSG_CARPART_DUPNAME\tPart Number for this Manufacturer already exists...."
-"\tPart Number for this Manufacturer already exists.\n"
+"MSG_CARPART_DUPNAME\tPart Number for this Manufacturer already exists....\tPart Number for this Manufacturer already exists.\n"
"\n"
"Do you want to update it?"
msgstr ""
-"MSG_CARPART_DUPNAME\tTeilnummer für diesen Hersteller existiert bereits..."
-"\tTeilnummer für diesen Hersteller existiert bereits.\n"
+"MSG_CARPART_DUPNAME\tTeilnummer für diesen Hersteller existiert bereits...\tTeilnummer für diesen Hersteller existiert bereits.\n"
"\n"
"Wollen Sie den Artikel aktualisieren?"
-#: ../../../../build/work/app/help/messages.h:77
+#: ../../../../build/xtrkcad-old/app/help/messages.h:82
#, c-format
msgid ""
"MSG_PLAYBACK_LISTENTRY\tPlayback: Cannot find list entry: NAME\tPlayback: "
"Cannot find list entry: %s"
msgstr ""
"MSG_PLAYBACK_LISTENTRY\tWiedergabe: Der Listeneintrag: NAME kann nicht "
-"gefunden werden.\tWiedergabe: der Listeneintrag %s kann nicht gefunden werden"
+"gefunden werden.\tWiedergabe: der Listeneintrag %s kann nicht gefunden "
+"werden"
-#: ../../../../build/work/app/help/messages.h:78
+#: ../../../../build/xtrkcad-old/app/help/messages.h:83
#, c-format
msgid ""
-"MSG_PLAYBACK_VERSION_UPGRADE\tPlayback file version %ld is...\tPlayback file "
-"version %ld is\n"
+"MSG_PLAYBACK_VERSION_UPGRADE\tPlayback file version %ld is...\tPlayback file version %ld is\n"
"greater than supported version %d\n"
"You need to upgrade your version of %s"
msgstr ""
-"MSG_PLAYBACK_VERSION_UPGRADE\tVersion %ld der Wiedergabedatei ist..."
-"\tVersion %ld der Wiedergabedatei\n"
+"MSG_PLAYBACK_VERSION_UPGRADE\tVersion %ld der Wiedergabedatei ist...\tVersion %ld der Wiedergabedatei\n"
"ist neuer als due unterstützte Version %d\n"
"Aktualisierung von %s ist notwendig"
-#: ../../../../build/work/app/help/messages.h:79
+#: ../../../../build/xtrkcad-old/app/help/messages.h:84
#, c-format
msgid ""
-"MSG_DOMOUSE_BAD_OP\tPlayback: unknown action NNN\tPlayback: unknown action %d"
+"MSG_DOMOUSE_BAD_OP\tPlayback: unknown action NNN\tPlayback: unknown action "
+"%d"
msgstr ""
-"MSG_DOMOUSE_BAD_OP\tWiedergabe: unbekannte AktionNNN\tWiedergabe: unbekannte "
-"Aktion %d"
+"MSG_DOMOUSE_BAD_OP\tWiedergabe: unbekannte AktionNNN\tWiedergabe: unbekannte"
+" Aktion %d"
-#: ../../../../build/work/app/help/messages.h:80
+#: ../../../../build/xtrkcad-old/app/help/messages.h:85
msgid "MSG_MOVE_POINTS_AWAY_CLOSE\tPoints are to close to frog; move away."
msgstr ""
"MSG_MOVE_POINTS_AWAY_CLOSE\tWeichenzungen sind zu kurz. In größere "
"Entfernung vom Herzstück setzen."
-#: ../../../../build/work/app/help/messages.h:81
-msgid "MSG_POLY_SHAPES_3_SIDES\tPoly shapes must have at least 3 sides."
+#: ../../../../build/xtrkcad-old/app/help/messages.h:86
+msgid "MSG_POLY_SHAPES_3_SIDES\tPolygons must have at least 3 nodes."
msgstr ""
-"MSG_POLY_SHAPES_3_SIDES\tEin Vieleck muss mindestens drei Seiten haben.."
+"MSG_POLY_SHAPES_3_SIDES\tPolygone müssen aus mindestens drei Ecken bestehen."
+" "
-#: ../../../../build/work/app/help/messages.h:82
+#: ../../../../build/xtrkcad-old/app/help/messages.h:87
msgid "MSG_POLY_MULTIPLE_SELECTED\tCan't delete multiple points at once"
msgstr ""
"MSG_POLY_MULTIPLE_SELECTED\tKann nicht mehrere Punkte auf einmal löschen"
-#: ../../../../build/work/app/help/messages.h:83
+#: ../../../../build/xtrkcad-old/app/help/messages.h:88
+msgid "MSG_POLY_NOTHING_SELECTED\tNo Point on a Poly shape selected."
+msgstr "MSG_POLY_NOTHING_SELECTED\tKein Punkt auf einem Vieleck ausgewählt."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:89
msgid ""
-"MSG_CARPROTO_DUPNAME\tPrototype name already exists....\tPrototype name "
-"already exists.\n"
+"MSG_CARPROTO_DUPNAME\tPrototype name already exists....\tPrototype name already exists.\n"
"\n"
"Do you want to update it?"
msgstr ""
-"MSG_CARPROTO_DUPNAME\tEin Vorbild mit diesem Namen existiert bereits...."
-"\tEin Vorbild mit diesem Namen existiert bereits.\n"
+"MSG_CARPROTO_DUPNAME\tEin Vorbild mit diesem Namen existiert bereits....\tEin Vorbild mit diesem Namen existiert bereits.\n"
"\n"
"Wollen Sie dieses Vorbild überschreiben?"
-#: ../../../../build/work/app/help/messages.h:84
+#: ../../../../build/xtrkcad-old/app/help/messages.h:90
msgid "MSG_RADIUS_GTR_0\tRadius must be greater than 0."
msgstr "MSG_RADIUS_GTR_0\tRadius muss größer als 0 sein.."
-#: ../../../../build/work/app/help/messages.h:85
+#: ../../../../build/xtrkcad-old/app/help/messages.h:91
msgid "MSG_RADIUS_GTR_10000\tRadius must be less than 10000."
msgstr "MSG_RADIUS_GTR_0\tRadius muss kleiner als 10000 sein."
-#: ../../../../build/work/app/help/messages.h:86
+#: ../../../../build/xtrkcad-old/app/help/messages.h:92
msgid ""
-"MSG_RADIUS_TOO_BIG\tThe Circle or Helix will not fit within the layouts room "
-"parameters (Height and Width)."
+"MSG_RADIUS_TOO_BIG\tThe Circle or Helix will not fit within the layouts room"
+" parameters (Height and Width)."
msgstr ""
"MSG_RADIUS_TOO_BIG\tDer Bogen oder die Gleiswendel passen nicht in den Raum "
"(Höhe und Breite)."
-#: ../../../../build/work/app/help/messages.h:87
+#: ../../../../build/xtrkcad-old/app/help/messages.h:93
#, c-format
msgid ""
-"MSG_RESCALE_TOO_BIG\tRescaled tracks do not fit within layouts room "
-"parameters...\tRescaled tracks do not fit within layouts room parameters\n"
+"MSG_RESCALE_TOO_BIG\tRescaled tracks do not fit within layouts room parameters...\tRescaled tracks do not fit within layouts room parameters\n"
"(Height and width). The layouts room parameters should be\n"
"set to at least %s by %s."
msgstr ""
-"MSG_RESCALE_TOO_BIG\tNeu skalierte Gleise passen nicht in den Raum...\tNeu "
-"skalierte Gleise passen nicht in den Raum\n"
+"MSG_RESCALE_TOO_BIG\tNeu skalierte Gleise passen nicht in den Raum...\tNeu skalierte Gleise passen nicht in den Raum\n"
"(Länge und Breite). Die benötigte Größe ist\n"
"mindestens %s auf %s."
-#: ../../../../build/work/app/help/messages.h:88
+#: ../../../../build/xtrkcad-old/app/help/messages.h:94
msgid ""
"MSG_CARIMP_MISSING_COLUMNS\tRequired column headers missing from Car Import "
"file."
@@ -7297,182 +7609,163 @@ msgstr ""
"MSG_CARIMP_MISSING_COLUMNS\tDie benötigten Spaltenüberschriften fehlen in "
"der Wagen-ImportDatei."
-#: ../../../../build/work/app/help/messages.h:89
+#: ../../../../build/xtrkcad-old/app/help/messages.h:95
#, c-format
msgid ""
"MSG_2ND_TRK_NOT_SEL_UNSEL\tSecond track must be selected|unselected\tSecond "
"track must be %s."
msgstr ""
-"MSG_2ND_TRK_NOT_SEL_UNSEL\tDas zweite Gleis darf (nicht) ausgewählt sein."
-"\tDas zweite Gleis muss %s sein."
+"MSG_2ND_TRK_NOT_SEL_UNSEL\tDas zweite Gleis darf (nicht) ausgewählt "
+"sein.\tDas zweite Gleis muss %s sein."
-#: ../../../../build/work/app/help/messages.h:90
+#: ../../../../build/xtrkcad-old/app/help/messages.h:96
msgid "MSG_OUT_OF_BOUNDS\tSelected page is out of bounds."
msgstr ""
"MSG_OUT_OF_BOUNDS\tAusgewählte Dateien sind außerhalb des zulässigen "
"Bereichs."
-#: ../../../../build/work/app/help/messages.h:91
+#: ../../../../build/xtrkcad-old/app/help/messages.h:97
msgid "MSG_SEL_POS_FIRST\tSelect position prior to entering Text."
msgstr ""
"MSG_SEL_POS_FIRST\tDie Position muß vor der Texteingabe festgelegt werden."
-#: ../../../../build/work/app/help/messages.h:92
+#: ../../../../build/xtrkcad-old/app/help/messages.h:98
msgid ""
-"MSG_CARPROTO_BADSEGS\tSelected shapes must define a rectangular area ..."
-"\tSelected shapes must define a rectangular\n"
+"MSG_CARPROTO_BADSEGS\tSelected shapes must define a rectangular area ...\tSelected shapes must define a rectangular\n"
"area with length greater than height."
msgstr ""
-"MSG_CARPROTO_BADSEGS\tDie ausgewählten Formen müssen einen rechtwinkligen..."
-"\tDie ausgewählten Formen müssen einen rechtwinkligen\n"
+"MSG_CARPROTO_BADSEGS\tDie ausgewählten Formen müssen einen rechtwinkligen...\tDie ausgewählten Formen müssen einen rechtwinkligen\n"
"Bereich bilden, wobei die Länge größer als die Breite sein muss."
-#: ../../../../build/work/app/help/messages.h:93
+#: ../../../../build/xtrkcad-old/app/help/messages.h:99
msgid ""
"MSG_TOO_FAR_APART_DIVERGE\tSelected tracks deviate too much or are too far "
"apart from each other."
msgstr ""
-"MSG_TOO_FAR_APART_DIVERGE\tDie ausgewählten Gleise weichen zu stark ab..."
-"\tDie ausgewählten Gleise weichen zu stark ab oder\n"
+"MSG_TOO_FAR_APART_DIVERGE\tDie ausgewählten Gleise weichen zu stark ab...\tDie ausgewählten Gleise weichen zu stark ab oder\n"
"sind zu weit voneinander entfernt."
-#: ../../../../build/work/app/help/messages.h:94
+#: ../../../../build/xtrkcad-old/app/help/messages.h:100
msgid "MSG_COMMAND_DISABLED\tSpecified command disabled."
msgstr "MSG_COMMAND_DISABLED\tDieser Befehl ist deaktiviert."
-#: ../../../../build/work/app/help/messages.h:95
+#: ../../../../build/xtrkcad-old/app/help/messages.h:101
msgid "MSG_SPLIT_POS_BTW_MERGEPTS\tSplit position between Turnout Points"
msgstr ""
"MSG_SPLIT_POS_BTW_MERGEPTS\tDie Trennstelle befindet sich iin den "
"Weichenzungen"
-#: ../../../../build/work/app/help/messages.h:96
+#: ../../../../build/xtrkcad-old/app/help/messages.h:102
msgid "MSG_SPLIT_PATH_NOT_UNIQUE\tSplit position not on unique path"
msgstr ""
"MSG_SPLIT_PATH_NOT_UNIQUE\tTrennstelle ist nicht auf einem eindeutigen "
"Verlauf"
-#: ../../../../build/work/app/help/messages.h:97
+#: ../../../../build/xtrkcad-old/app/help/messages.h:103
#, c-format
msgid ""
-"MSG_CARIMP_MISSING_DIMS\tThe following car has no dimensions and a...\tThe "
-"following car has no dimensions and a\n"
+"MSG_CARIMP_MISSING_DIMS\tThe following car has no dimensions and a...\tThe following car has no dimensions and a\n"
"Car Part description can not be found.\n"
"\n"
"%s\n"
"\n"
"Do you wish to continue importing other Cars?"
msgstr ""
-"MSG_CARIMP_MISSING_DIMS\tFür den folgenden Wagen gibt es keine Abmessungen "
-"und....\tFür den folgenden Wagen gibt es keine Abmessungen und\n"
+"MSG_CARIMP_MISSING_DIMS\tFür den folgenden Wagen gibt es keine Abmessungen und....\tFür den folgenden Wagen gibt es keine Abmessungen und\n"
"eine Wagenbeschreibung ist nicht vorhanden.\n"
"\n"
"%s\n"
"\n"
"Soll das Einlesen der Wagen fortgesetzt werden?"
-#: ../../../../build/work/app/help/messages.h:98
+#: ../../../../build/xtrkcad-old/app/help/messages.h:104
#, c-format
msgid ""
-"MSG_CARIMP_MISSING_PARTNO\tThe following car has no Part Number...\tThe "
-"following car has no Part Number\n"
+"MSG_CARIMP_MISSING_PARTNO\tThe following car has no Part Number...\tThe following car has no Part Number\n"
"\n"
"%s\n"
"\n"
"Do you wish to continue importing other Cars?"
msgstr ""
-"MSG_CARIMP_MISSING_PARTNO\tDer folgende Wagen hat keine Teilenummer...\tDer "
-"folgende Wagen hat keine Teilenummer.\n"
+"MSG_CARIMP_MISSING_PARTNO\tDer folgende Wagen hat keine Teilenummer...\tDer folgende Wagen hat keine Teilenummer.\n"
"\n"
"%s\n"
"\n"
"Soll das Einlesen der Wagen fortgesetzt werden?"
-#: ../../../../build/work/app/help/messages.h:99
+#: ../../../../build/xtrkcad-old/app/help/messages.h:105
#, c-format
msgid ""
-"MSG_CARIMP_IGNORED_COLUMN\tThe following column in the Car Import file will "
-"be ignored:...\tThe following column in the Car Import file will be "
-"ignored:\n"
+"MSG_CARIMP_IGNORED_COLUMN\tThe following column in the Car Import file will be ignored:...\tThe following column in the Car Import file will be ignored:\n"
"\n"
"%s"
msgstr ""
-"MSG_CARIMP_IGNORED_COLUMN\tDiese Spalte in der Wagen-Importdatei wird "
-"ignoriert:...\tDiese Spalte in der Wagen-Importdatei wird ignoriert:\n"
+"MSG_CARIMP_IGNORED_COLUMN\tDiese Spalte in der Wagen-Importdatei wird ignoriert:...\tDiese Spalte in der Wagen-Importdatei wird ignoriert:\n"
"\n"
"%s"
-#: ../../../../build/work/app/help/messages.h:100
+#: ../../../../build/xtrkcad-old/app/help/messages.h:106
msgid ""
"MSG_CANT_MOVE_UNDER_TRAIN\tThe position of a turnout or turntable cannot be "
"changed while occupied by a train."
msgstr ""
-"MSG_CANT_MOVE_UNDER_TRAIN\tDie Position einer Weiche oder einer "
-"Drehscheibe...\tDie Position einer Weiche oder einer Drehscheibe\n"
+"MSG_CANT_MOVE_UNDER_TRAIN\tDie Position einer Weiche oder einer Drehscheibe...\tDie Position einer Weiche oder einer Drehscheibe\n"
"kann nicht verändert werden, wenn sich ein Zug darauf befindet."
-#: ../../../../build/work/app/help/messages.h:101
+#: ../../../../build/xtrkcad-old/app/help/messages.h:107
msgid ""
-"MSG_STRUCT_NO_STRUCTS\tThere are no structures to choose from in the "
-"structure...\tThere are no structures to choose from in the structure\n"
+"MSG_STRUCT_NO_STRUCTS\tThere are no structures to choose from in the structure...\tThere are no structures to choose from in the structure\n"
"selection list. Please check your SCALE, select the\n"
"<File|Parameter Files> menu to load a Parameter File or\n"
"create a new Structure with the Group command."
msgstr ""
-"MSG_STRUCT_NO_STRUCTS\tIn der Liste der Gebäude gibt es keine...\tIn der "
-"Liste der Gebäude gibt es keine Gebäude,\n"
-"die ausgewählt werden können. Bitte Maßstab prüfen, im Menupunkt <Datei|"
-"Parameter Dateien> eine Parameter-Datei wählen\n"
+"MSG_STRUCT_NO_STRUCTS\tIn der Liste der Gebäude gibt es keine...\tIn der Liste der Gebäude gibt es keine Gebäude,\n"
+"die ausgewählt werden können. Bitte Maßstab prüfen, im Menupunkt <Datei|Parameter Dateien> eine Parameter-Datei wählen\n"
"oder ein neues Gebäude mit dem Gruppieren-Befehl erstellen."
-#: ../../../../build/work/app/help/messages.h:102
+#: ../../../../build/xtrkcad-old/app/help/messages.h:108
msgid ""
-"MSG_TURNOUT_NO_TURNOUT\tThere are no turnouts to choose from in the "
-"turnout...\tThere are no turnouts to choose from in the turnout\n"
+"MSG_TURNOUT_NO_TURNOUT\tThere are no turnouts to choose from in the turnout...\tThere are no turnouts to choose from in the turnout\n"
"selection list. Please check your SCALE, select the\n"
"<Manage|Turnout Designer> menu to enter a new turnout\n"
"or select the <File|Parameter Files> menu to load a\n"
"Parameter File"
msgstr ""
-"MSG_TURNOUT_NO_TURNOUT\tIn der Weichenauswahl gibt es keine Weichen, die "
-"ausgewählt werden können...\tIn der Weichenauswahl gibt es keine Weichen, "
-"die ausgewählt werden können.\n"
-"Bitte den Maßstab prüfen, über den Menupunkt <Hinzufügen | Weichendesigner> "
-"eine Weiche anlegen oder\n"
+"MSG_TURNOUT_NO_TURNOUT\tIn der Weichenauswahl gibt es keine Weichen, die ausgewählt werden können...\tIn der Weichenauswahl gibt es keine Weichen, die ausgewählt werden können.\n"
+"Bitte den Maßstab prüfen, über den Menupunkt <Hinzufügen | Weichendesigner> eine Weiche anlegen oder\n"
"eine Parameter-Datei unter <Datei|Parameter Dateien> laden"
-#: ../../../../build/work/app/help/messages.h:103
+#: ../../../../build/xtrkcad-old/app/help/messages.h:109
msgid "MSG_NO_UNCONN_EP\tThere are no unconnected end points for this track"
msgstr "MSG_NO_UNCONN_EP\tDieses Gleis hat keine freien Endpunkte"
-#: ../../../../build/work/app/help/messages.h:104
+#: ../../../../build/xtrkcad-old/app/help/messages.h:110
msgid "MSG_PULL_FEW_SECTIONS\tThere are too few sections in this loop."
-msgstr ""
-"MSG_PULL_FEW_SECTIONS\tIn dieser Schleife gibt es zu wenige Teilstücke."
+msgstr "MSG_PULL_FEW_SECTIONS\tIn dieser Schleife gibt es zu wenige Teilstücke."
-#: ../../../../build/work/app/help/messages.h:105
+#: ../../../../build/xtrkcad-old/app/help/messages.h:111
msgid "MSG_NO_REDO\tThere is nothing to redo!"
msgstr "MSG_NO_REDO\tEs gibt nichts wiederherzustellen!"
-#: ../../../../build/work/app/help/messages.h:106
+#: ../../../../build/xtrkcad-old/app/help/messages.h:112
msgid "MSG_NO_UNDO\tThere is nothing to undo!"
msgstr "MSG_NO_UNDO\tEs gibt nicht rückgängig zu machen!"
-#: ../../../../build/work/app/help/messages.h:107
+#: ../../../../build/xtrkcad-old/app/help/messages.h:113
msgid "MSG_TOOMANYSEGSINGROUP\tToo many segments in Group."
msgstr "MSG_TOOMANYSEGSINGROUP\tIn der Gruppe sind zu viele Teile."
-#: ../../../../build/work/app/help/messages.h:108
+#: ../../../../build/xtrkcad-old/app/help/messages.h:114
msgid "MSG_CANNOT_CHANGE\tTrack cannot be changed."
msgstr "MSG_CANNOT_CHANGE\tGleis kann nicht verändert werden."
-#: ../../../../build/work/app/help/messages.h:109
+#: ../../../../build/xtrkcad-old/app/help/messages.h:115
msgid "MSG_POINT_INSIDE_TURNTABLE\tTrack endpoint is within turntable radius."
msgstr ""
"MSG_POINT_INSIDE_TURNTABLE\tGleisende befindet sich innerhalb der "
"Drehscheibe."
-#: ../../../../build/work/app/help/messages.h:110
+#: ../../../../build/xtrkcad-old/app/help/messages.h:116
msgid ""
"MSG_MOVE_POINTS_AWAY_NO_INTERSECTION\tTrack intersection not possible; move "
"points away from frog."
@@ -7480,72 +7773,65 @@ msgstr ""
"MSG_MOVE_POINTS_AWAY_NO_INTERSECTION\tGleiskreuzung ist nicht möglich, "
"Weichenzungen müssen länger sein."
-#: ../../../../build/work/app/help/messages.h:111
+#: ../../../../build/xtrkcad-old/app/help/messages.h:117
#, c-format
msgid ""
-"MSG_TRK_TOO_SHORT\tTrack is too short by N.NNN\t%strack is too short by %0.3f"
+"MSG_TRK_TOO_SHORT\tTrack is too short by N.NNN\t%strack is too short by "
+"%0.3f"
msgstr ""
"MSG_TRK_TOO_SHORT\tGleis ist um N.NNN zu kurz.\t%sgleis ist um %0.3f zu kurz"
-#: ../../../../build/work/app/help/messages.h:112
+#: ../../../../build/xtrkcad-old/app/help/messages.h:118
#, c-format
msgid ""
"MSG_RADIUS_LSS_EASE_MIN\tTrack radius (N.NNN) is smaller than easement "
"minimum (N.NNN).\tTrack radius (%s) is smaller than easement minimum (%s)."
msgstr ""
-"MSG_RADIUS_LSS_EASE_MIN\tGleisradius (N.NNN) ist kleiner als der minimale "
-"Übergangsbogen (N.NNN).\tGleisradius (%s) ist kleiner als\n"
+"MSG_RADIUS_LSS_EASE_MIN\tGleisradius (N.NNN) ist kleiner als der minimale Übergangsbogen (N.NNN).\tGleisradius (%s) ist kleiner als\n"
"der Mindest-Übergangsbogen (%s)."
-#: ../../../../build/work/app/help/messages.h:113
-msgid ""
-"MSG_CANT_MODIFY_FROZEN_TRK\tTracks in a frozen layer cannot be modified."
+#: ../../../../build/xtrkcad-old/app/help/messages.h:119
+msgid "MSG_CANT_MODIFY_FROZEN_TRK\tTracks in a frozen layer cannot be modified."
msgstr ""
"MSG_CANT_MODIFY_FROZEN_TRK\tGleise in einer gesperrten Ebene können nicht "
"verändert werden."
-#: ../../../../build/work/app/help/messages.h:114
+#: ../../../../build/xtrkcad-old/app/help/messages.h:120
msgid "MSG_CANT_MODIFY_MODULE_TRK\tTracks in a module cannot be modified."
msgstr ""
"MSG_CANT_MODIFY_FROZEN_TRK\tGleise in einem Modul können nicht verändert "
"werden."
-#: ../../../../build/work/app/help/messages.h:115
+#: ../../../../build/xtrkcad-old/app/help/messages.h:121
msgid ""
-"MSG_SEGMENTS_DIFFER\tTurnout definition contains non-track segments...."
-"\tTurnout definition contains non-track segments.\n"
+"MSG_SEGMENTS_DIFFER\tTurnout definition contains non-track segments....\tTurnout definition contains non-track segments.\n"
"\n"
"Do you want to include them in this update?"
msgstr ""
-"MSG_SEGMENTS_DIFFER\tDie Weichendefinition enthält nicht nur Gleise....\tDie "
-"Weichendefinition enthält nicht nur Gleise.\n"
+"MSG_SEGMENTS_DIFFER\tDie Weichendefinition enthält nicht nur Gleise....\tDie Weichendefinition enthält nicht nur Gleise.\n"
"\n"
"Sollen diese in der Aktrualisierung aufgenommen werden?"
-#: ../../../../build/work/app/help/messages.h:116
+#: ../../../../build/xtrkcad-old/app/help/messages.h:122
msgid "MSG_TURNTABLE_DIAM_GTR_0\tTurntable diameter must greater than 0."
msgstr ""
"MSG_TURNTABLE_DIAM_GTR_0\tDer Durchmesser der Drehscheibe muß größer als 0 "
"sein."
-#: ../../../../build/work/app/help/messages.h:117
+#: ../../../../build/xtrkcad-old/app/help/messages.h:123
#, c-format
msgid ""
-"MSG_UNDO_ASSERT\tUndo assertion failure %s:%d...\tUndo assertion failure %s:"
-"%d\n"
+"MSG_UNDO_ASSERT\tUndo assertion failure %s:%d...\tUndo assertion failure %s:%d\n"
"Val = %ld(%lx)\n"
"%s\n"
-"Please report this error to the XTrackCAD project development team at "
-"SourceForge."
+"Please report this error to the XTrackCAD project development team at SourceForge."
msgstr ""
-"MSG_UNDO_ASSERT\tUndo assertion failure %s:%d...\tUndo assertion failure %s:"
-"%d\n"
+"MSG_UNDO_ASSERT\tUndo assertion failure %s:%d...\tUndo assertion failure %s:%d\n"
"Val = %ld(%lx)\n"
"%s\n"
-"Bitte diesen Fehler an das XTrackCAD Entwicklungsteam in Sourceforge "
-"berichten."
+"Bitte diesen Fehler an das XTrackCAD Entwicklungsteam in Sourceforge berichten."
-#: ../../../../build/work/app/help/messages.h:118
+#: ../../../../build/xtrkcad-old/app/help/messages.h:124
#, c-format
msgid ""
"MSG_PROG_CORRUPTED\tCritical file damaged!...\tCritical file damaged!\n"
@@ -7554,14 +7840,13 @@ msgid ""
"\n"
"Please reinstall software."
msgstr ""
-"MSG_PROG_CORRUPTED\tEine kritische Datei ist beschädigt...\tEine kritische "
-"Datei ist beschädigt!\n"
+"MSG_PROG_CORRUPTED\tEine kritische Datei ist beschädigt...\tEine kritische Datei ist beschädigt!\n"
"\n"
"%s ist beschädigt.\n"
"\n"
"Bitte XTrackCAD neu installieren."
-#: ../../../../build/work/app/help/messages.h:119
+#: ../../../../build/xtrkcad-old/app/help/messages.h:125
#, c-format
msgid ""
"MSG_ENTERED_STRING_TRUNCATED\tThe entered text is too long. Maximum length "
@@ -7570,31 +7855,33 @@ msgstr ""
"MSG_ENTERED_STRING_TRUNCATED\tDer eingegebene Text ist zu lang. Die maximal "
"zulässige Länge beträgt %d."
-#: ../../../../build/work/app/help/messages.h:120
+#: ../../../../build/xtrkcad-old/app/help/messages.h:126
#, c-format
msgid "MSG_PT_IS_NOT_TRK\t[X Y] is not a track\t[%s %s] is not a track."
msgstr ""
"MSG_PT_IS_NOT_TRK\tAn [X Y]befindet sich kein Gleis\tAn [%s %s] befindet "
"sich kein Gleis."
-#: ../../../../build/work/app/help/messages.h:121
+#: ../../../../build/xtrkcad-old/app/help/messages.h:127
msgid ""
-"MSG_BITMAP_SIZE_WARNING\tYou have specified a large Bitmap....\tYou have "
-"specified a large Bitmap.\n"
+"MSG_BITMAP_SIZE_WARNING\tYou have specified a large bitmap....\tYou have specified a large bitmap.\n"
"\n"
"Are you sure you want to continue?"
msgstr ""
-"MSG_BITMAP_SIZE_WARNING\tDie Bilddatei wird sehr groß.\tDie Bilddatei wird "
-"sehr groß.\n"
+"MSG_BITMAP_SIZE_WARNING\tDie Bilddatei wird sehr groß.\tDie Bilddatei wird sehr groß.\n"
"\n"
"Wollen Sie den Vorgang fortsetzen?"
-#: ../../../../build/work/app/help/messages.h:122
+#: ../../../../build/xtrkcad-old/app/help/messages.h:128
+msgid "Icon Size change will take effect on next program start."
+msgstr "Die Änderung der Icon-Größe wird nach dem Neustart aktiv."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:129
#, c-format
msgid "Are you sure you want to delete these %d car(s)?"
msgstr "Sind Sie sicher, dass Sie diese %d Wagen löschen wollen?"
-#: ../../../../build/work/app/help/messages.h:123
+#: ../../../../build/xtrkcad-old/app/help/messages.h:130
#, c-format
msgid ""
"Cannot open %s file:\n"
@@ -7603,117 +7890,117 @@ msgstr ""
"%sdatei kann nicht geöffnet werden:\n"
"%s:%s"
-#: ../../../../build/work/app/help/messages.h:124
+#: ../../../../build/xtrkcad-old/app/help/messages.h:131
#, c-format
msgid "Cannot create directory: %s - %s"
msgstr "Kann Verzeichnis %s nicht erstellen %s"
-#: ../../../../build/work/app/help/messages.h:125
+#: ../../../../build/xtrkcad-old/app/help/messages.h:132
#, c-format
msgid "Cannot open directory: %s"
msgstr "Verzeichnis %s kann nicht geöffnet werden"
-#: ../../../../build/work/app/help/messages.h:126
+#: ../../../../build/xtrkcad-old/app/help/messages.h:133
#, c-format
msgid "Path for deletion is not a directory: %s"
msgstr "Zu löschender Pfad %s ist kein Verzeichnis"
-#: ../../../../build/work/app/help/messages.h:127
+#: ../../../../build/xtrkcad-old/app/help/messages.h:134
#, c-format
msgid "Open failed for directory: %s"
msgstr "Fehler beim Öffnen des Verzeichnis %s"
-#: ../../../../build/work/app/help/messages.h:128
+#: ../../../../build/xtrkcad-old/app/help/messages.h:135
#, c-format
msgid "Can't add directory record %s to zip - %s"
msgstr "Kann Verzeichniseintrag %s nicht zum Zip hinzufügen - %s"
-#: ../../../../build/work/app/help/messages.h:129
+#: ../../../../build/xtrkcad-old/app/help/messages.h:136
#, c-format
msgid "Can't add file record %s to zip at %s - %s"
msgstr "Kann den Dateisatz %s nicht zum Zip bei %s - %s hinzufügen"
-#: ../../../../build/work/app/help/messages.h:130
+#: ../../../../build/xtrkcad-old/app/help/messages.h:137
#, c-format
msgid "Can't create zip %s - %s"
msgstr "Zip-Datei %s kann nicht erstellt werden %s"
-#: ../../../../build/work/app/help/messages.h:131
+#: ../../../../build/xtrkcad-old/app/help/messages.h:138
#, c-format
msgid "Close failure for zip %s - %s"
msgstr "Fehler beim Schließen der Zip-Datei %s - %s"
-#: ../../../../build/work/app/help/messages.h:132
+#: ../../../../build/xtrkcad-old/app/help/messages.h:139
#, c-format
msgid "Rename failure for zip from %s to %s - %s"
msgstr "Umbenennen des Zip von %s in %s - %s fehlgeschlagen"
-#: ../../../../build/work/app/help/messages.h:133
+#: ../../../../build/xtrkcad-old/app/help/messages.h:140
#, c-format
msgid "Open failure for zip %s - %s"
msgstr "Öffnungsfehler für Zip %s - %s"
-#: ../../../../build/work/app/help/messages.h:134
+#: ../../../../build/xtrkcad-old/app/help/messages.h:141
#, c-format
msgid "Index failure for zip %s - %s"
msgstr "Indexfehler für Zip %s - %s"
-#: ../../../../build/work/app/help/messages.h:135
+#: ../../../../build/xtrkcad-old/app/help/messages.h:142
#, c-format
msgid "Open read file failure %s %s"
msgstr "Fehler beim Öffnen der Datei zum Lesen %s %s"
-#: ../../../../build/work/app/help/messages.h:136
+#: ../../../../build/xtrkcad-old/app/help/messages.h:143
#, c-format
msgid "Open file in zip failure %s %s"
msgstr "Fehler beim Öfnen der Datei im Zip %s %s"
-#: ../../../../build/work/app/help/messages.h:137
+#: ../../../../build/xtrkcad-old/app/help/messages.h:144
#, c-format
msgid "Unlink failed for: %s"
msgstr "Löschen ist fehlgeschlagen bei %s"
-#: ../../../../build/work/app/help/messages.h:138
+#: ../../../../build/xtrkcad-old/app/help/messages.h:145
#, c-format
msgid "Remove Directory failed for: %s"
msgstr "Verzeichnis entfernen fehlgeschlagen für: %s"
-#: ../../../../build/work/app/help/messages.h:139
+#: ../../../../build/xtrkcad-old/app/help/messages.h:146
#, c-format
msgid "Cannot save archive to %s from directory: %s"
msgstr "Archiv kann nicht in %s aus Verzeichnis %s gespeichert werden"
-#: ../../../../build/work/app/help/messages.h:140
+#: ../../../../build/xtrkcad-old/app/help/messages.h:147
#, c-format
msgid "Cannot save manifest file to %s"
msgstr "Manifest kann nicht in %s gespeichert werden"
-#: ../../../../build/work/app/help/messages.h:141
+#: ../../../../build/xtrkcad-old/app/help/messages.h:148
#, c-format
msgid "Cannot open manifest file %s"
msgstr "Manifest kann nicht geöffnet werden %s"
-#: ../../../../build/work/app/help/messages.h:142
+#: ../../../../build/xtrkcad-old/app/help/messages.h:149
#, c-format
msgid "Cannot unpack file: %s for file: %s in directory: %s"
msgstr "Datei kann nicht entpackt werden: %s für Datei: %s im Verzeichnis: %s"
-#: ../../../../build/work/app/help/messages.h:143
+#: ../../../../build/xtrkcad-old/app/help/messages.h:150
#, c-format
msgid "Cannot open file %s"
msgstr "Datei %s kann nicht geöffnet werden"
-#: ../../../../build/work/app/help/messages.h:144
+#: ../../../../build/xtrkcad-old/app/help/messages.h:151
#, c-format
msgid "Cannot copy file %s into directory %s"
msgstr "Datei %s kann nicht in das Verzeichnis %s kopiert werden"
-#: ../../../../build/work/app/help/messages.h:145
+#: ../../../../build/xtrkcad-old/app/help/messages.h:152
#, c-format
msgid "Unrecognized Option: %s"
msgstr "Unbekannte Option: %s"
-#: ../../../../build/work/app/help/messages.h:146
+#: ../../../../build/xtrkcad-old/app/help/messages.h:153
#, c-format
msgid ""
"End-Of-Line is unexpected in a quoted field.\n"
@@ -7726,7 +8013,7 @@ msgstr ""
"\n"
"Soll das Lesen der Datei fortgesetzt werden?"
-#: ../../../../build/work/app/help/messages.h:147
+#: ../../../../build/xtrkcad-old/app/help/messages.h:154
#, c-format
msgid ""
"A comma was expected after this quoted field.\n"
@@ -7739,7 +8026,7 @@ msgstr ""
"\n"
"Soll das Laden der Datei fortgesetzt werden?"
-#: ../../../../build/work/app/help/messages.h:148
+#: ../../../../build/xtrkcad-old/app/help/messages.h:155
#, c-format
msgid ""
"Error \\\\\"%s\\\\\" occurred while writing %s.\n"
@@ -7748,7 +8035,7 @@ msgstr ""
"Fehler \\\\\"%s\\\\\" aufgetreten beim Speichern von %s.\n"
"Bitte Plattenplatz und System prüfen."
-#: ../../../../build/work/app/help/messages.h:149
+#: ../../../../build/xtrkcad-old/app/help/messages.h:156
#, c-format
msgid ""
"At least one path for the Turnout T%d does not\n"
@@ -7759,28 +8046,28 @@ msgstr ""
"an einem Endpunkt. Solche Gleise können nicht gruppiert werden.\n"
"Das Gleis wurde aus der Auswahl entfernt."
-#: ../../../../build/work/app/help/messages.h:150
+#: ../../../../build/xtrkcad-old/app/help/messages.h:157
msgid "inv-pathEndTrk on Path."
msgstr "inv-pathEndTrk auf Pfad."
-#: ../../../../build/work/app/help/messages.h:151
+#: ../../../../build/xtrkcad-old/app/help/messages.h:158
msgid "inv-pathStartTrk on Path"
msgstr "inv-pathStartTrk auf Pfad"
-#: ../../../../build/work/app/help/messages.h:152
+#: ../../../../build/xtrkcad-old/app/help/messages.h:159
#, c-format
msgid "%s:%d- %s"
msgstr "%s:%d- %s"
-#: ../../../../build/work/app/help/messages.h:153
+#: ../../../../build/xtrkcad-old/app/help/messages.h:160
msgid "pathEndTrk not on Path."
msgstr "pathEndTrk nicht auf einem Pfad."
-#: ../../../../build/work/app/help/messages.h:154
+#: ../../../../build/xtrkcad-old/app/help/messages.h:161
msgid "pathStartTrk not on Path."
msgstr "pathStartTrk nicht auf einem Pfad."
-#: ../../../../build/work/app/help/messages.h:155
+#: ../../../../build/xtrkcad-old/app/help/messages.h:162
msgid ""
"The tracks cannot be connected together.\n"
"\n"
@@ -7794,7 +8081,7 @@ msgstr ""
"oder ändern Sie den Verbindungswinkel im\n"
"Einstellungsdialog."
-#: ../../../../build/work/app/help/messages.h:156
+#: ../../../../build/xtrkcad-old/app/help/messages.h:163
msgid ""
"The tracks cannot be connected together.\n"
"\n"
@@ -7808,7 +8095,7 @@ msgstr ""
"oder ändern Sie den Verbindungsabstand und -winkel im\n"
"Einstellungsdialog"
-#: ../../../../build/work/app/help/messages.h:157
+#: ../../../../build/xtrkcad-old/app/help/messages.h:164
msgid ""
"The tracks cannot be connected together.\n"
"\n"
@@ -7820,7 +8107,7 @@ msgstr ""
"Versuchen Sie einige Gleise enger zusammenzuführen\n"
"oder ändern Sie den Verbindungsabstand im Einstellungsdialog"
-#: ../../../../build/work/app/help/messages.h:158
+#: ../../../../build/xtrkcad-old/app/help/messages.h:165
msgid ""
"The first track for the Align\n"
"Rotate command must be Selected."
@@ -7828,7 +8115,7 @@ msgstr ""
"Das erste Gleis für den \"Ausrichten\n"
"Drehen\" Befehl muss ausgewählt sein."
-#: ../../../../build/work/app/help/messages.h:159
+#: ../../../../build/xtrkcad-old/app/help/messages.h:166
msgid ""
"The second track for the Align\n"
"Rotate command must be Unselected."
@@ -7836,15 +8123,15 @@ msgstr ""
"Das zweite Gleis für den \"Ausrichten\n"
"Drehen\" Befehl darf nicht ausgewählt sein."
-#: ../../../../build/work/app/help/messages.h:160
+#: ../../../../build/xtrkcad-old/app/help/messages.h:167
msgid "Too many selected tracks, drawing tracks as End Point."
msgstr "Zu viele ausgewählte Gleise, nur die Endpunkte werden angezeigt."
-#: ../../../../build/work/app/help/messages.h:161
+#: ../../../../build/xtrkcad-old/app/help/messages.h:168
msgid "Select an endpoint between two tracks."
msgstr "Einen Endpunkt zwischen zwei Gleisen auswählen."
-#: ../../../../build/work/app/help/messages.h:162
+#: ../../../../build/xtrkcad-old/app/help/messages.h:169
msgid ""
"According to values that have been entered the diverging\n"
"track does not connect with the tangent track. Please\n"
@@ -7858,11 +8145,11 @@ msgstr ""
"Prüfen Sie ob der Abzweigwinkel gemäß der der Auswahl richtig als\n"
"Steigung oder als Winkel eingegeben wurde."
-#: ../../../../build/work/app/help/messages.h:163
+#: ../../../../build/xtrkcad-old/app/help/messages.h:170
msgid "Moved before the end of the turnout"
msgstr "Vor das Ende des Tunnels verschoben"
-#: ../../../../build/work/app/help/messages.h:164
+#: ../../../../build/xtrkcad-old/app/help/messages.h:171
msgid ""
"The Coupled Length must be greater than the Car Length,\n"
"and the Coupler Length must be greater than 0."
@@ -7870,7 +8157,7 @@ msgstr ""
"Die gekuppelte Länge muss größer als die Wagenlänge\n"
"und die Kupplerlänge muss größer als 0 sein."
-#: ../../../../build/work/app/help/messages.h:165
+#: ../../../../build/xtrkcad-old/app/help/messages.h:172
msgid ""
"The Car Length value must be greater\n"
"than the Car Width value."
@@ -7878,7 +8165,7 @@ msgstr ""
"Die Wagenlänge muss größer als\n"
"die Wagenbreite sein."
-#: ../../../../build/work/app/help/messages.h:166
+#: ../../../../build/xtrkcad-old/app/help/messages.h:173
msgid ""
"The specified Index is already in use.\n"
"The Index will be updated to the next available value."
@@ -7886,7 +8173,7 @@ msgstr ""
"Dier angegebene Indexnummer ist bereits vergeben.\n"
"Die Indexnummer wird auf den nächsten freien Wert aktualisiert."
-#: ../../../../build/work/app/help/messages.h:167
+#: ../../../../build/xtrkcad-old/app/help/messages.h:174
msgid ""
"You have changed values for this object.\n"
"\n"
@@ -7896,7 +8183,7 @@ msgstr ""
"\n"
"Wollen Sie diesen Dialog wirklich beenden?"
-#: ../../../../build/work/app/help/messages.h:168
+#: ../../../../build/xtrkcad-old/app/help/messages.h:175
#, c-format
msgid ""
"File version %ld is lower than the minimum\n"
@@ -7907,18 +8194,16 @@ msgstr ""
"unterstütze Version %d. Konvertieren Sie\n"
"die Gleisplandatei mit einer älteren Version von %s"
-#: ../../../../build/work/app/help/messages.h:169
+#: ../../../../build/xtrkcad-old/app/help/messages.h:176
#, c-format
msgid ""
"File version %ld is lower than the minimum\n"
-"supported version %d.This parameter file will only work using an older "
-"version of %s"
+"supported version %d.This parameter file will only work using an older version of %s"
msgstr ""
"Dateiversion %ld ist älter als die älteste\n"
-"unterstütze Version %d. Diese Parameter-Datei wird nur mit einer älteren "
-"Version von %s funktionieren"
+"unterstütze Version %d. Diese Parameter-Datei wird nur mit einer älteren Version von %s funktionieren"
-#: ../../../../build/work/app/help/messages.h:170
+#: ../../../../build/xtrkcad-old/app/help/messages.h:177
#, c-format
msgid ""
"%s cannot read the demo file:\n"
@@ -7927,16 +8212,16 @@ msgstr ""
"%s kann die Demodatei \":\n"
"%s nicht laden"
-#: ../../../../build/work/app/help/messages.h:171
+#: ../../../../build/xtrkcad-old/app/help/messages.h:178
#, c-format
msgid "doDemo: bad number (%d)"
msgstr "doDemo: ungültige Zahl (%d)"
-#: ../../../../build/work/app/help/messages.h:172
+#: ../../../../build/xtrkcad-old/app/help/messages.h:179
msgid "Playback TIMEEND without TIMESTART"
msgstr "TIMEEND in Wiedergabe ohne TIMESTART"
-#: ../../../../build/work/app/help/messages.h:173
+#: ../../../../build/xtrkcad-old/app/help/messages.h:180
#, c-format
msgid ""
"Unknown playback command (%d)\n"
@@ -7945,7 +8230,7 @@ msgstr ""
"Unbekannter Wiedergabebefehl (%d)\n"
"%s"
-#: ../../../../build/work/app/help/messages.h:174
+#: ../../../../build/xtrkcad-old/app/help/messages.h:181
#, c-format
msgid ""
"Playback file version %ld is lower than the\n"
@@ -7958,12 +8243,12 @@ msgstr ""
"Sie müssen Ihr Layoutdesign mit einer älteren\n"
"Version von %s aktualisieren"
-#: ../../../../build/work/app/help/messages.h:175
+#: ../../../../build/xtrkcad-old/app/help/messages.h:182
#, c-format
msgid "Scale index (%d) is not valid"
msgstr "Maßstab (%d) ist nicht gültig"
-#: ../../../../build/work/app/help/messages.h:176
+#: ../../../../build/xtrkcad-old/app/help/messages.h:183
#, c-format
msgid ""
"Scale %s is not valid\n"
@@ -7972,1204 +8257,1297 @@ msgstr ""
"Maßstab %s ist ungültig.\n"
"Bitte prüfen Sie die Datei %s.xtq"
-#: ../../../../build/work/app/help/messages.h:177
+#: ../../../../build/xtrkcad-old/app/help/messages.h:184
msgid "Cannot extend a helix"
msgstr "Eine Gleiswendel kann nicht erweitert werden"
-#: ../../../../build/work/app/help/messages.h:178
+#: ../../../../build/xtrkcad-old/app/help/messages.h:185
msgid "Cannot trim a helix"
msgstr "Eine Gleiswendel kann n icht gekürzt werden"
-#: ../../../../build/work/app/help/messages.h:179
+#: ../../../../build/xtrkcad-old/app/help/messages.h:186
msgid "Ignore further audit notices?"
msgstr "Weitere Protokollhinweise ignorieren?"
-#: ../../../../build/work/app/help/messages.h:180
+#: ../../../../build/xtrkcad-old/app/help/messages.h:187
#, c-format
msgid "%s"
msgstr "%s"
-#: ../../../../build/work/app/help/messages.h:181
+#: ../../../../build/xtrkcad-old/app/help/messages.h:188
msgid "Audit Abort?"
msgstr "Protokolierung abbrechen?"
-#: ../../../../build/work/app/help/messages.h:182
+#: ../../../../build/xtrkcad-old/app/help/messages.h:189
msgid "Write Audit File?"
msgstr "Protokolldatei schreiben?"
-#: ../../../../build/work/app/help/messages.h:183
+#: ../../../../build/xtrkcad-old/app/help/messages.h:190
#, c-format
msgid "checkTrackLength: Short track length = %0.3f"
msgstr "checkTrackLength: Kurze Gleislänge = %0.3f"
-#: ../../../../build/work/app/help/messages.h:184
+#: ../../../../build/xtrkcad-old/app/help/messages.h:191
#, c-format
msgid "checkTrackLength: unknown type: %d"
msgstr "checkTrackLength: Unbekannter Typ: %d"
-#: ../../../../build/work/app/help/messages.h:185
+#: ../../../../build/xtrkcad-old/app/help/messages.h:192
#, c-format
msgid "connectTracks: T%d[%d] T%d[%d] d=%0.3f a=%0.3f"
msgstr "connectTracks: T%d[%d] T%d[%d] d=%0.3f a=%0.3f"
-#: ../../../../build/work/app/help/messages.h:186
+#: ../../../../build/xtrkcad-old/app/help/messages.h:193
#, c-format
msgid "GetAngleAtPoint: bad type(%d) for T(%d)"
msgstr "GetAngleAtPoint: Falscher Typ (%d) für T(%d)"
-#: ../../../../build/work/app/help/messages.h:187
+#: ../../../../build/xtrkcad-old/app/help/messages.h:194
#, c-format
msgid "joinTracks: invalid track type=%d"
msgstr "joinTracks: Ungültiger Gleistyp=%d"
-#: ../../../../build/work/app/help/messages.h:188
+#: ../../../../build/xtrkcad-old/app/help/messages.h:195
#, c-format
msgid "resolveIndex: T%d[%d]: T%d doesn\\\\'t exist"
msgstr "resolveIndex: T%d[%d]: T%d existiert nicht"
-#: ../../../../build/work/app/help/messages.h:189
+#: ../../../../build/xtrkcad-old/app/help/messages.h:196
msgid "Moved beyond the end of the track"
msgstr "Hinter das Ende des Gleises verschoben"
-#: ../../../../build/work/app/bin/bllnhlp.c:9
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:9
msgid "Invokes online help for this dialog"
msgstr "Aufruf der Kontexthilfe für diesen Dialog"
-#: ../../../../build/work/app/bin/bllnhlp.c:10
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:10
msgid "Cancels this command"
msgstr "Befehl abbrechen"
-#: ../../../../build/work/app/bin/bllnhlp.c:11
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:11
msgid "Closes the dialog"
msgstr "Dialogfenster schliessen"
-#: ../../../../build/work/app/bin/bllnhlp.c:12
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:12
msgid "About program dialog"
msgstr "Informationen über dieses Programm"
-#: ../../../../build/work/app/bin/bllnhlp.c:13
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:13
msgid "Move selected object to top"
msgstr "Ausgewählte Objekte ganz nach oben verschieben"
-#: ../../../../build/work/app/bin/bllnhlp.c:14
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:14
msgid "Raise or lower all selected tracks"
msgstr "Alle ausgewählten Gleise anheben oder absenken"
-#: ../../../../build/work/app/bin/bllnhlp.c:15
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:15
+msgid "Show a protractor"
+msgstr "Einen Winkelmesser anzeigen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:16
msgid "Turn magnetic snap on or off"
msgstr "Magnetisches Fangen ein/aus"
-#: ../../../../build/work/app/bin/bllnhlp.c:16
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:18
msgid "Move selected object to bottom"
msgstr "Ausgewähltes Objekt ganz nach unten verschieben"
-#: ../../../../build/work/app/bin/bllnhlp.c:17
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:19
msgid "Create a section of track for automation"
msgstr "Einen Gleisabschnitt für die Automation erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:18
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:20
msgid "Edit a block definition "
msgstr "Einen Gleisblock bearbeiten "
-#: ../../../../build/work/app/bin/bllnhlp.c:19
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:21
msgid "Create a new Car/Loco description"
msgstr "Erstelle eine neue Wegan/Lok-Beschreibung"
-#: ../../../../build/work/app/bin/bllnhlp.c:20
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:22
msgid "Manage your Car and Loco Inventory"
msgstr "Wagen- und Lokbestand verwalten"
-#: ../../../../build/work/app/bin/bllnhlp.c:21
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:23
msgid "Create track circle from center"
msgstr "Erstelle Gleiskreis um Mittelpunkt"
-#: ../../../../build/work/app/bin/bllnhlp.c:22
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:24
msgid "Create fixed radius track circle"
msgstr "Erstelle Gleiskreis mit festgelegtem Radius"
-#: ../../../../build/work/app/bin/bllnhlp.c:23
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:25
msgid "Set Circle Track creation mode"
msgstr "Wähle Befehl um Gleisbögen zu erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:24
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:26
msgid "Create track circle from tangent"
msgstr "Erstelle Gleiskreis von Tangente"
-#: ../../../../build/work/app/bin/bllnhlp.c:25
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:27
msgid "Removes elevation from Selected tracks"
msgstr "Entfernt die Höhenangaben von den ausgewählten Gleisen"
-#: ../../../../build/work/app/bin/bllnhlp.c:26
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:28
msgid "Copy objects to clipboard and duplicate them in exactly the same place"
msgstr ""
"Objekte in die Zwischenablage kopieren und an genau der gleichen Stelle "
"duplizieren"
-#: ../../../../build/work/app/bin/bllnhlp.c:27
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:29
msgid "Command Options dialog"
msgstr "Dialog für die Befehlsoptionen"
-#: ../../../../build/work/app/bin/bllnhlp.c:28
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:30
msgid "Controls colors"
msgstr "Steuert die Farben"
-#: ../../../../build/work/app/bin/bllnhlp.c:29
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:31
msgid "Connect two tracks"
msgstr "Gleise zusammenfügen"
-#: ../../../../build/work/app/bin/bllnhlp.c:30
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:32
msgid "Create a control for layout automation"
msgstr "Erstelle ein Kontrollelement für Automation"
-#: ../../../../build/work/app/bin/bllnhlp.c:31
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:33
msgid "Select control element to create"
msgstr "Neues Kontrollelement festlegen"
-#: ../../../../build/work/app/bin/bllnhlp.c:32
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:34
msgid "Manage control elements"
msgstr "Steuerungselemente verwalten"
-#: ../../../../build/work/app/bin/bllnhlp.c:33
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:35
msgid "Set Convert mode"
msgstr "Konvertierungsmodus einstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:34
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:36
msgid "Convert from Fixed Track to Cornu"
msgstr "Aus festem Gleis in eine Cornu umwandeln"
-#: ../../../../build/work/app/bin/bllnhlp.c:35
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:37
msgid "Convert from Cornu and Bezier to Fixed Track"
msgstr "Von Cornu oder Bezier auf festes Gleis umwandeln"
-#: ../../../../build/work/app/bin/bllnhlp.c:36
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:38
msgid "Copy selected objects to clipboard"
msgstr "Ausgewählte Objekte in die Zwischenablage kopieren"
-#: ../../../../build/work/app/bin/bllnhlp.c:37
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:39
msgid "Create Cornu track"
msgstr "Cornu-Bogen erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:38
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:40
msgid "Create curved track from center"
msgstr "Erstelle Gleisbogen vom Mittelpunkt"
-#: ../../../../build/work/app/bin/bllnhlp.c:39
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:41
msgid "Create curved track from chord"
msgstr "Erstelle Gleisbogen von einer Sehne"
-#: ../../../../build/work/app/bin/bllnhlp.c:40
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:42
msgid "Create curved track from end-point"
msgstr "Erstelle Gleisbogen von Endpunkt"
-#: ../../../../build/work/app/bin/bllnhlp.c:41
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:43
msgid "Create Bezier track"
msgstr "Erstelle Bezier-Gleis"
-#: ../../../../build/work/app/bin/bllnhlp.c:42
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:44
msgid "Set Curve Track creation mode"
msgstr "Wähle Befehl um Gleiskreis zu erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:43
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:45
msgid "Create curved track from tangent"
msgstr "Erstelle Gleisbogen von einer Tangente"
-#: ../../../../build/work/app/bin/bllnhlp.c:44
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:46
msgid "Manipulate Custom designer entries"
msgstr "Bearbeite die eigenen Designs"
-#: ../../../../build/work/app/bin/bllnhlp.c:45
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:47
msgid "Moves selected objects to clipboard"
msgstr "Ausgewählte Objekte in die Zwischenablage verschieben"
-#: ../../../../build/work/app/bin/bllnhlp.c:46
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:48
msgid "Delete objects"
msgstr "Objekte löschen"
-#: ../../../../build/work/app/bin/bllnhlp.c:47
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:49
msgid "Playback demos"
msgstr "Demos abspielen"
-#: ../../../../build/work/app/bin/bllnhlp.c:48
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:50
msgid "Change Object Properties"
msgstr "Eigenschaften des Objektes bearbeiten"
-#: ../../../../build/work/app/bin/bllnhlp.c:49
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:51
msgid "Change to properties mode"
msgstr "Zum Modus \"Eigenschaften\""
-#: ../../../../build/work/app/bin/bllnhlp.c:50
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:52
msgid "Deselect all selected objects"
msgstr "Ausgewählte Objekte abwählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:51
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:53
msgid "Change Display parameters"
msgstr "Anzeigeeigenschaften ändern"
-#: ../../../../build/work/app/bin/bllnhlp.c:52
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:54
msgid "Create benchwork"
msgstr "Unterbau erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:53
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:55
msgid "Create a box"
msgstr "Ein Viereck erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:54
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:56
msgid "Set Circle drawing command"
msgstr "Wähle Befehl um Kreise zu zeichnen"
-#: ../../../../build/work/app/bin/bllnhlp.c:55
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:57
msgid "Create a circle"
msgstr "Einen Kreis erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:56
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:58
msgid "Draw a circle line from center"
msgstr "Zeichne Kreislinie um Mittelpunkt"
-#: ../../../../build/work/app/bin/bllnhlp.c:57
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:59
msgid "Draw a fixed radius circle line"
msgstr "Zeichne einen Kreisbogen mit festen Radius"
-#: ../../../../build/work/app/bin/bllnhlp.c:58
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:60
msgid "Draw a circle line from tangent"
msgstr "Zeichne Kreis von Tangente"
-#: ../../../../build/work/app/bin/bllnhlp.c:59
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:61
msgid "Set Curve drawing command"
msgstr "Wähle Befehl um gebogene Linien zu zeichnen"
-#: ../../../../build/work/app/bin/bllnhlp.c:60
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:62
msgid "Create a curved line"
msgstr "Eine gebogene Linie erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:61
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:63
msgid "Create a curved line from End"
msgstr "Gebogene Linie von einem Endpunkt erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:62
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:64
msgid "Create a curved line from center"
msgstr "Gebogene Linie vom Mittelpunkt aus erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:63
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:65
msgid "Create a curved line from chord"
msgstr "Gebogene Linie von einer Sehne erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:64
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:66
msgid "Create a curved line from tangent"
msgstr "Gebogene Linie von einer Tangente erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:65
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:67
msgid "Create a Bezier line"
msgstr "Eine Bezier-Linie erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:66
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:68
msgid "Create a dimension line"
msgstr "Zeichne Maßlinie"
-#: ../../../../build/work/app/bin/bllnhlp.c:67
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:69
msgid "Create a filled box"
msgstr "Ein gefülltes Viereck erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:68
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:70
msgid "Create a filled circle"
msgstr "Einen gefüllten Kreis erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:69
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:71
msgid "Draw a filled circle from center"
msgstr "Zeichne gefüllten Kreis um Mittelpunkt"
-#: ../../../../build/work/app/bin/bllnhlp.c:70
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:72
msgid "Draw a fixed radius filled circle"
msgstr "Zeichne einen gefüllten Kreis mit festem Radius"
-#: ../../../../build/work/app/bin/bllnhlp.c:71
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:73
msgid "Draw a filled circle from tangent"
msgstr "Zeichne gefüllten Kreis von Tangente"
-#: ../../../../build/work/app/bin/bllnhlp.c:72
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:74
msgid "Create a polygon"
msgstr "Ein Polygon erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:73
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:75
msgid "Create a filled polygon"
msgstr "Ein gefültes Polygon erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:74
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:76
msgid "Create a polyline"
msgstr "Eine Polylinie erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:75
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:77
msgid "Create a straight line"
msgstr "Eine gerade Linie erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:76
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:78
msgid "Set Line drawing command"
msgstr "Wähle Befehl um Linien zu zeichnen"
-#: ../../../../build/work/app/bin/bllnhlp.c:77
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:79
msgid "Set Shape drawing command"
msgstr "Wähle Befehl um Formen zu zeichnen"
-#: ../../../../build/work/app/bin/bllnhlp.c:78
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:80
msgid "Draw table edge"
msgstr "Tischkante zeichnen"
-#: ../../../../build/work/app/bin/bllnhlp.c:79
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:81
msgid "Easement menu"
msgstr "Einstellungen für Übergangsbögen"
-#: ../../../../build/work/app/bin/bllnhlp.c:81
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:83
msgid "Generate a Parts List of selected objects"
msgstr "Teileliste aus den ausgewählten Objekten erzeugen"
-#: ../../../../build/work/app/bin/bllnhlp.c:82
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:84
msgid "Set Import/Export mode"
msgstr "Import-/Exportmodus auswählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:83
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:85
msgid "Export a .xti file"
msgstr "Export in XTI Datei"
-#: ../../../../build/work/app/bin/bllnhlp.c:84
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:86
+msgid "Export a Bitmap image"
+msgstr "Als Bitmap exportieren"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:87
msgid "Export a DXF file"
msgstr "Export nach DXF"
-#: ../../../../build/work/app/bin/bllnhlp.c:86
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:89
msgid "Flip selected objects"
msgstr "Ausgewählte Objekte spiegeln"
-#: ../../../../build/work/app/bin/bllnhlp.c:87
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:90
msgid "Adjust snap grid"
msgstr "Fangraster anpassen"
-#: ../../../../build/work/app/bin/bllnhlp.c:88
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:91
msgid "Enable snap grid"
msgstr "Fangraster aktivieren"
-#: ../../../../build/work/app/bin/bllnhlp.c:89
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:92
msgid "Show snap grid"
msgstr "Fangraster anzeigen"
-#: ../../../../build/work/app/bin/bllnhlp.c:90
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:93
msgid "Create a structure from a Group of objects"
msgstr "Objekte zu einer Gruppierung zusammen fassen"
-#: ../../../../build/work/app/bin/bllnhlp.c:91
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:94
msgid "Create a hand-laid turnout"
msgstr "Handgemachte Weiche erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:92
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:95
msgid "Create a track helix"
msgstr "Eine Gleiswendel erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:93
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:96
msgid "Import a .xti file"
msgstr "Importieren einer .xti-Datei"
-#: ../../../../build/work/app/bin/bllnhlp.c:94
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:97
msgid "Import an .xti file as a Module"
msgstr "Importieren einer .xti-Datei als Modul"
-#: ../../../../build/work/app/bin/bllnhlp.c:95
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:98
msgid "Join two tracks"
msgstr "Zwei Gleise zusammenfügen"
-#: ../../../../build/work/app/bin/bllnhlp.c:96
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:99
msgid "Join two lines or polylines"
msgstr "Verbinden von zwei Linien oder Polylinien"
-#: ../../../../build/work/app/bin/bllnhlp.c:97
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:100
msgid "Set Join mode"
msgstr "Verbindungsmodus einstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:98
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:101
msgid "Change Layers"
msgstr "Ebenen ändern"
-#: ../../../../build/work/app/bin/bllnhlp.c:99
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:102
msgid "Selects the current drawing layer"
msgstr "Auswahl der aktuellen Zeichenebene"
-#: ../../../../build/work/app/bin/bllnhlp.c:100
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:103
msgid "Layout parameters"
msgstr "Gleisplaneinstellungen"
-#: ../../../../build/work/app/bin/bllnhlp.c:102
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:105
msgid "Show/Hide Map Window"
msgstr "Übersichtsfenster anzeigen/verbergen"
-#: ../../../../build/work/app/bin/bllnhlp.c:103
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:106
+msgid "Select Measurement Tool"
+msgstr "Messwerkzeug auswählen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:107
msgid "Modify or extend a track"
msgstr "Ändern oder erweitern eines Gleises"
-#: ../../../../build/work/app/bin/bllnhlp.c:104
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:108
msgid "Change To modify mode"
msgstr "Zum Modus \"Auswählen\" wechseln"
-#: ../../../../build/work/app/bin/bllnhlp.c:105
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:109
msgid "Move selected objects"
msgstr "Ausgewählte Objekte verschieben"
-#: ../../../../build/work/app/bin/bllnhlp.c:106
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:110
msgid "Move a label"
msgstr "Beschreibung verschieben"
-#: ../../../../build/work/app/bin/bllnhlp.c:107
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:111
msgid "Move selected objects to current layer"
msgstr "Ausgewählte Objekte auf die aktuelle Ebene verschieben"
-#: ../../../../build/work/app/bin/bllnhlp.c:109
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:113
msgid "Print a bitmap"
msgstr "Drucke in eine Grafikdatei"
-#: ../../../../build/work/app/bin/bllnhlp.c:110
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:114
msgid "Pan or zoom the layout"
msgstr "Ausschnitt ändern oder Zoomen"
-#: ../../../../build/work/app/bin/bllnhlp.c:111
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:115
msgid "Change to zoom/pan mode"
msgstr "Zum Modus Zoom/Ausschnitt wechseln"
-#: ../../../../build/work/app/bin/bllnhlp.c:112
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:116
msgid "Create a parallel track"
msgstr "Ein Parallelgleis erzeugen"
-#: ../../../../build/work/app/bin/bllnhlp.c:113
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:117
msgid "Create a parallel line"
msgstr "Eine Parallele erzeugen"
-#: ../../../../build/work/app/bin/bllnhlp.c:114
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:118
msgid "Set Parallel mode"
msgstr "Parallelen-Modus einstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:115
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:119
msgid "Register"
-msgstr "Registrierem"
+msgstr "Registrieren"
-#: ../../../../build/work/app/bin/bllnhlp.c:116
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:120
msgid "Copy objects from clipboard"
msgstr "Objekte von der Zwischenablage kopieren"
-#: ../../../../build/work/app/bin/bllnhlp.c:117
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:121
msgid "Perferences dialog"
msgstr "Einstellungen"
-#: ../../../../build/work/app/bin/bllnhlp.c:118
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:122
msgid "Display prices of turnouts, sectional tracks and structures"
msgstr "Die Preise von Weichen, Gleisen und Gebäuden anzeigen"
-#: ../../../../build/work/app/bin/bllnhlp.c:119
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:123
msgid "Print the layout"
msgstr "Gleisplan ausdrucken"
-#: ../../../../build/work/app/bin/bllnhlp.c:120
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:124
msgid "Loads and unloads parameter files into/from toolbar"
msgstr "Parameterdateien zur Werkzeugleiste zufügen oder daraus entfernen"
-#: ../../../../build/work/app/bin/bllnhlp.c:121
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:125
msgid "Elevation Profile Command"
msgstr "Höhenprofil bearbeiten"
-#: ../../../../build/work/app/bin/bllnhlp.c:123
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:127
msgid "Command recorder"
msgstr "Befehlsaufzeichnung"
-#: ../../../../build/work/app/bin/bllnhlp.c:125
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:129
msgid "Update selected Turnout and Structure definitions"
msgstr "Die ausgewählten Gebäude und Weichen aktualisieren"
-#: ../../../../build/work/app/bin/bllnhlp.c:126
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:130
msgid "Rescale selected objects"
msgstr "Ausgewählte Objekte skalieren"
-#: ../../../../build/work/app/bin/bllnhlp.c:127
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:131
msgid "Rotate selected object(s)"
msgstr "Ausgewählte Objekte drehen"
-#: ../../../../build/work/app/bin/bllnhlp.c:128
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:132
msgid "Show a ruler"
msgstr "Lineal anzeigen"
-#: ../../../../build/work/app/bin/bllnhlp.c:129
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:133
msgid "Select objects"
msgstr "Objekte auswählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:130
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:134
msgid "Change To Select Mode"
msgstr "Zum Modus \"Auswählen\" wechseln"
-#: ../../../../build/work/app/bin/bllnhlp.c:131
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:135
msgid "Selects all objects on the layout"
msgstr "Alle Objekte des Gleisplan auswählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:132
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:136
msgid "Selects all objects in the current Layer"
msgstr "Alle Objekte der aktuellen Ebene auswählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:133
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:137
+msgid "Choose objects by Index number"
+msgstr "Objekte nach ihrer Kennziffer auswählen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:138
msgid "Invert current selection"
msgstr "Auswahl umkehren"
-#: ../../../../build/work/app/bin/bllnhlp.c:134
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:139
+msgid "Configure the Printer"
+msgstr "Drucker konfigurieren"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:140
+msgid "Set Split mode"
+msgstr "Auftrennungsmodus einstellen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:141
msgid "Split a track"
msgstr "Gleis trennen"
-#: ../../../../build/work/app/bin/bllnhlp.c:135
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:142
+msgid "Split a straight, curved, circle, polygon or polyline Draw Object "
+msgstr ""
+"Teilen Sie ein gerades, gekrümmtes, Kreis-, Polygon- oder Polylinien-"
+"Zeichenobjekt"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:143
msgid "Select stranded (unconnected) track pieces"
msgstr "Vereinzelte (nicht verbundene) Gleisstücke auswählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:136
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:144
msgid "Create a sensor (ie. a occupancy detector or a toggle switch)"
msgstr ""
"Erstelle einen Sensor (z.B. eine Besetzterkennung oder einen Umschalter)"
-#: ../../../../build/work/app/bin/bllnhlp.c:137
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:145
msgid "Create a signal for train control"
msgstr "Ein Signal für die Zugsteuerung erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:138
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:146
msgid "Choose which commands are sticky"
msgstr "Auswahl dauerhafter Befehle"
-#: ../../../../build/work/app/bin/bllnhlp.c:139
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:147
msgid "Create straight track"
msgstr "Gerades Gleis erzeugen"
-#: ../../../../build/work/app/bin/bllnhlp.c:140
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:148
msgid "Place a structure on the layout"
msgstr "Ein Gebäude auf den Gleisplan setzen"
-#: ../../../../build/work/app/bin/bllnhlp.c:141
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:149
msgid "Create a switchmotor for turnout control"
msgstr "Einen Motor für die Weichensteuerung erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:142
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:150
msgid "Edit a switchmotor definition"
msgstr "Einen Weichenantrieb bearbeiten"
-#: ../../../../build/work/app/bin/bllnhlp.c:143
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:151
msgid "Enter text on the layout"
msgstr "Text auf den Gleisplan"
-#: ../../../../build/work/app/bin/bllnhlp.c:144
-#: ../../../../build/work/app/bin/bllnhlp.c:531
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:152
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:579
msgid "Controls the size of the entered text"
msgstr "Auswahl der Schriftgröße für einzugebenden Text"
-#: ../../../../build/work/app/bin/bllnhlp.c:145
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:153
msgid "Plain Text"
msgstr "Einfacher Text"
-#: ../../../../build/work/app/bin/bllnhlp.c:146
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:154
msgid "Tip of the Day window"
msgstr "Tipp des Tages"
-#: ../../../../build/work/app/bin/bllnhlp.c:147
-msgid "Run Trains"
-msgstr "Zugbetrieb"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:148
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:156
msgid "Change To Run Trains Mode"
msgstr "Zum Modus \"Züge fahren\" wechseln"
-#: ../../../../build/work/app/bin/bllnhlp.c:149
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:157
msgid "Pause/Resume Trains"
msgstr "Zugbetrieb pausieren/fortsetzen"
-#: ../../../../build/work/app/bin/bllnhlp.c:150
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:158
msgid "Place a car on the layout"
msgstr "Einen Wagen auf den Gleisplan setzen"
-#: ../../../../build/work/app/bin/bllnhlp.c:151
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:159
msgid "Exit Trains"
msgstr "Zugbetrieb beenden"
-#: ../../../../build/work/app/bin/bllnhlp.c:152
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:160
+msgid "Trim a line, circle or polyline Draw Object using a second Object"
+msgstr ""
+"Schneiden Sie ein Linien-, Kreis- oder Polylinien-Zeichnungsobjekt mit einem"
+" zweiten Objekt"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:161
msgid "Hide/Unhide a track"
msgstr "Verbergen/Zeigen eines Gleises"
-#: ../../../../build/work/app/bin/bllnhlp.c:153
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:162
msgid "Make/Unmake a track a bridge"
msgstr "Ein Gleis zu einer Brücke machen/aufheben"
-#: ../../../../build/work/app/bin/bllnhlp.c:154
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:163
msgid "Place a turnout or sectional track"
msgstr "Weiche oder Gleis platzieren"
-#: ../../../../build/work/app/bin/bllnhlp.c:155
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:164
msgid "Create a new turnout definition"
msgstr "Erstelle eine neue Weichendefinition"
-#: ../../../../build/work/app/bin/bllnhlp.c:156
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:165
msgid "Place a turntable"
msgstr "Eine Drehscheibe setzen"
-#: ../../../../build/work/app/bin/bllnhlp.c:157
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:166
msgid "Updates old source files with 3 part titles"
msgstr "Aktualisiere alte Dateien mit dreiteiligen Titeln"
-#: ../../../../build/work/app/bin/bllnhlp.c:159
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:168
msgid "Ungroup objects"
msgstr "Gruppierung aufheben"
-#: ../../../../build/work/app/bin/bllnhlp.c:160
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:169
msgid "Draw tracks with thin lines"
msgstr "Gleise mit dünnen Linien zeichnen"
-#: ../../../../build/work/app/bin/bllnhlp.c:161
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:170
msgid "Draw tracks with medium lines"
msgstr "Gleise mit mittleren Linien zeichnen"
-#: ../../../../build/work/app/bin/bllnhlp.c:162
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:171
msgid "Draw tracks with thick lines"
msgstr "Gleise mit dicken Linien zeichnen"
-#: ../../../../build/work/app/bin/bllnhlp.c:163
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:172
msgid "Change drawing scale"
msgstr "Zeichenmaßstab auswählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:164
-#: ../../../../build/work/app/bin/bllnhlp.c:176
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:173
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:204
msgid "Zoom in"
msgstr "Zoom größer"
-#: ../../../../build/work/app/bin/bllnhlp.c:165
-#: ../../../../build/work/app/bin/bllnhlp.c:177
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:174
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:205
msgid "Zoom out"
msgstr "Zoom kleiner"
-#: ../../../../build/work/app/bin/bllnhlp.c:166
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:178
+msgid "Curved Fixed"
+msgstr "Fester Bogen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:179
+msgid "Preferred Radius"
+msgstr "Bevorzugter Radius"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:180
+msgid "Modify Draw"
+msgstr "Zeichenobjekt ändern"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:187
+msgid "Rotation Angle"
+msgstr "Drehwinkel"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:188
+msgid "Rot Center X"
+msgstr "Drehzentrum X"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:189
+msgid "Rot Center Y"
+msgstr "Drehzentrum Y"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:191
msgid "File Menu"
msgstr "Dateimenue"
-#: ../../../../build/work/app/bin/bllnhlp.c:167
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:192
msgid "Save layout"
msgstr "Gleisplan speichern"
-#: ../../../../build/work/app/bin/bllnhlp.c:168
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:193
msgid "Save layout under a new name "
msgstr "Gleisplan mit neuem Namen speichern "
-#: ../../../../build/work/app/bin/bllnhlp.c:169
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:194
msgid "New layout"
msgstr "Neuer Gleisplan"
-#: ../../../../build/work/app/bin/bllnhlp.c:170
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:195
msgid "Generate parts list"
msgstr "Teileliste erzeugen"
-#: ../../../../build/work/app/bin/bllnhlp.c:171
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:196
msgid "Load a layout"
msgstr "Gleisplan laden"
-#: ../../../../build/work/app/bin/bllnhlp.c:172
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:197
+msgid "Manage Parameter Files"
+msgstr "Parameterdateien verwalten"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:198
+msgid "Print layout"
+msgstr "Gleisplan drucken"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:199
msgid "Exit the program"
msgstr "Programm beenden"
-#: ../../../../build/work/app/bin/bllnhlp.c:173
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:200
msgid "Revert to last saved state of layout plan"
msgstr "Zum letzten gespeicherten Stand zurücksetzen"
-#: ../../../../build/work/app/bin/bllnhlp.c:174
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:201
+msgid "Printer Setup"
+msgstr "Drucker einstellen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:202
msgid "Edit menu"
-msgstr "Bearbeiten Menu"
+msgstr "Bearbeiten Menü"
-#: ../../../../build/work/app/bin/bllnhlp.c:175
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:203
msgid "Redraw layout"
msgstr "Gleisplan neu zeichnen"
-#: ../../../../build/work/app/bin/bllnhlp.c:178
-#: ../../../../build/work/app/bin/bllnhlp.c:181
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:206
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:209
msgid "Tools menu"
-msgstr "Werkzeug Menu"
+msgstr "Werkzeug Menü"
-#: ../../../../build/work/app/bin/bllnhlp.c:179
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:207
msgid "View menu"
msgstr "Menü für Anzeigefuinktionen"
-#: ../../../../build/work/app/bin/bllnhlp.c:180
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:208
msgid "Toolbar configuration"
msgstr "Konfiguration der Werkzeugleiste"
-#: ../../../../build/work/app/bin/bllnhlp.c:182
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:210
msgid "Options menu"
msgstr "Optionen"
-#: ../../../../build/work/app/bin/bllnhlp.c:183
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:211
msgid "Playback/Record commands"
msgstr "Aufzeichnungs- und Wiedergabebefehle"
-#: ../../../../build/work/app/bin/bllnhlp.c:184
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:212
msgid "Window menu"
-msgstr "Fenstermenu"
+msgstr "Fenstermenü"
-#: ../../../../build/work/app/bin/bllnhlp.c:185
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:213
msgid "Help menu"
-msgstr "Menu für Hilfe"
+msgstr "Menü für Hilfe"
-#: ../../../../build/work/app/bin/bllnhlp.c:186
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:214
msgid "Recent error messages and explanations"
msgstr "Aktuellste Fehlermeldungen und Erläuterungen"
-#: ../../../../build/work/app/bin/bllnhlp.c:187
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:215
msgid "Move Hot Bar left"
msgstr "Schnellauswahl nach links bewegen"
-#: ../../../../build/work/app/bin/bllnhlp.c:188
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:216
msgid "Move Hot Bar right"
msgstr "Schnellauswahl nach rechts bewegen"
-#: ../../../../build/work/app/bin/bllnhlp.c:189
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:217
msgid "Total track count"
msgstr "Gesamtzahl der Gleise"
-#: ../../../../build/work/app/bin/bllnhlp.c:190
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:218
msgid "X Position of cursor"
msgstr "X Position des Zeiger"
-#: ../../../../build/work/app/bin/bllnhlp.c:191
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:219
msgid "Y Position of cursor"
msgstr "Y Position des Zeiger"
-#: ../../../../build/work/app/bin/bllnhlp.c:192
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:220
msgid "Drawing scale"
msgstr "Zeichnungsmaßstab"
-#: ../../../../build/work/app/bin/bllnhlp.c:193
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:221
msgid "Message and status line"
msgstr "Nachrichten- und Statuszeile"
-#: ../../../../build/work/app/bin/bllnhlp.c:194
-#: ../../../../build/work/app/bin/bllnhlp.c:195
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:222
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:223
msgid "Main layout canvas"
msgstr "Hauptzeichenbereich"
-#: ../../../../build/work/app/bin/bllnhlp.c:196
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:224
msgid "Main drawing canvas"
msgstr "Hauptzeichenbereich"
-#: ../../../../build/work/app/bin/bllnhlp.c:197
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:225
msgid "Command buttons"
msgstr "Befehle"
-#: ../../../../build/work/app/bin/bllnhlp.c:198
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:226
msgid "Menus"
-msgstr "Menues"
+msgstr "Menüs"
-#: ../../../../build/work/app/bin/bllnhlp.c:199
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:227
msgid "Tile, Filename and Window Manager buttons"
msgstr "Tile, Filename and Window Manager buttons"
-#: ../../../../build/work/app/bin/bllnhlp.c:200
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:228
msgid "Turnout and Structure Hot Bar"
msgstr "Weichen und Gebäude Auswahlleiste"
-#: ../../../../build/work/app/bin/bllnhlp.c:201
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:229
msgid "Active layer list and layer buttons"
msgstr "Liste der aktiven Ebene und Ebenen-Knöpfe"
-#: ../../../../build/work/app/bin/bllnhlp.c:202
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:230
msgid "Map window"
msgstr "Kartenfenster"
-#: ../../../../build/work/app/bin/bllnhlp.c:203
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:231
msgid "This is the portion of the layout shown in the Main Window canvas"
msgstr "Dieser Teil der Gleisplans wird auf der Hauptzeichenfläche angezeigt"
-#: ../../../../build/work/app/bin/bllnhlp.c:204
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:232
msgid "Raise or Lower all Selected Track"
msgstr "Anheben oder Absenken der ausgewählten Gleise"
-#: ../../../../build/work/app/bin/bllnhlp.c:205
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:233
msgid "Name of block"
-msgstr "Name des Gleisblocks"
+msgstr "Name des Blocks"
-#: ../../../../build/work/app/bin/bllnhlp.c:206
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:234
msgid "Script that the block will run"
msgstr "Auszuführendes Skript"
-#: ../../../../build/work/app/bin/bllnhlp.c:207
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:235
msgid "List of tracks in the Block"
msgstr "Liste der Gleise in einem Gleisblock"
-#: ../../../../build/work/app/bin/bllnhlp.c:208
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:236
msgid "Add or Update car object"
msgstr "Einen Wagen zufügen oder aktualisieren"
-#: ../../../../build/work/app/bin/bllnhlp.c:209
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:237
msgid "Manufacturer name"
-msgstr "Name des Herstellers"
+msgstr "Hersteller"
-#: ../../../../build/work/app/bin/bllnhlp.c:212
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:240
msgid "Is the Car a Locomotive?"
msgstr "Ist der Wagen eine Lokomotive?"
-#: ../../../../build/work/app/bin/bllnhlp.c:213
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:241
msgid "Part Number and Description"
msgstr "Bestellnr. und Beschreibung"
-#: ../../../../build/work/app/bin/bllnhlp.c:214
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:242
msgid "Manufacturer Part Number"
msgstr "Bestellnummer des Herstellers"
-#: ../../../../build/work/app/bin/bllnhlp.c:215
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:243
msgid "Use the Selected figure as the car image"
msgstr "Benutze die ausgewählte Zeichnung als Wagenabbild"
-#: ../../../../build/work/app/bin/bllnhlp.c:216
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:244
msgid "Use the default figure as the car image"
msgstr "Benutze die Standardzeichnung als Wagenabbild"
-#: ../../../../build/work/app/bin/bllnhlp.c:217
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:245
msgid "Optional description of the Car Part"
msgstr "Optionale Beschreibung des Wagenmuster"
-#: ../../../../build/work/app/bin/bllnhlp.c:218
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:246
msgid "Flip car image"
msgstr "Wagenabbild spiegeln"
-#: ../../../../build/work/app/bin/bllnhlp.c:219
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:247
msgid "Display Car Item information or reporting marks and dimensions"
-msgstr "Informationen über den Wagen oder Kennzeichen und Abmessungen anzeigen"
+msgstr ""
+"Informationen über den Wagen oder Kennzeichen und Abmessungen anzeigen"
-#: ../../../../build/work/app/bin/bllnhlp.c:220
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:248
msgid "Full Roadname"
msgstr "Bahngesellschaft"
-#: ../../../../build/work/app/bin/bllnhlp.c:221
-#: ../../../../build/work/app/bin/bllnhlp.c:222
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:249
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:250
msgid "Car Type"
msgstr "Wagenart"
-#: ../../../../build/work/app/bin/bllnhlp.c:223
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:251
msgid "Reporting Marks (Roadname abbreviation)"
msgstr "Wagenkennzeichen"
-#: ../../../../build/work/app/bin/bllnhlp.c:224
-#: ../../../../build/work/app/bin/bllnhlp.c:411
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:252
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:457
msgid "Car Number"
msgstr "Wagennummer"
-#: ../../../../build/work/app/bin/bllnhlp.c:225
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:253
msgid "Car body Color"
msgstr "Wagenfarbe"
-#: ../../../../build/work/app/bin/bllnhlp.c:226
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:254
msgid "Length of car body"
msgstr "Länge des Aufbau"
-#: ../../../../build/work/app/bin/bllnhlp.c:227
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:255
msgid "Width of car body"
msgstr "Breite des Aufbau"
-#: ../../../../build/work/app/bin/bllnhlp.c:228
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:256
msgid "Distance between Trucks "
msgstr "Abstand zwischen den Drehgestellen "
-#: ../../../../build/work/app/bin/bllnhlp.c:229
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:257
msgid "Distance Trucks are displaced along Car"
msgstr "Abstand der Drehgestelle vom Wagenende"
-#: ../../../../build/work/app/bin/bllnhlp.c:230
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:258
msgid "Coupler are mounted on body or truck"
msgstr "Kupplungen sind am Wagenaufbau oder an den Drehgestellen befestigt"
-#: ../../../../build/work/app/bin/bllnhlp.c:231
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:259
msgid "Overall Coupled Length"
msgstr "Gekuppelte Gesamtlänge"
-#: ../../../../build/work/app/bin/bllnhlp.c:232
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:260
msgid "Coupler Length from end of car"
msgstr "Kupplungslänge vom Ende des Wagen"
-#: ../../../../build/work/app/bin/bllnhlp.c:233
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:261
msgid "Diagram of Car"
msgstr "Diagram der Lokomotive oder Wagens"
-#: ../../../../build/work/app/bin/bllnhlp.c:234
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:262
msgid "Item Index Number"
msgstr "Laufende Nummer"
-#: ../../../../build/work/app/bin/bllnhlp.c:235
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:263
msgid "Original Purchase Price"
msgstr "Ursprünglicher Kaufpreis"
-#: ../../../../build/work/app/bin/bllnhlp.c:237
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:265
msgid "Condition of car"
msgstr "Zusatnd des Wagen"
-#: ../../../../build/work/app/bin/bllnhlp.c:238
-msgid "Original Purchase Date"
-msgstr "Ursprüngliches Kaufdatum"
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:266
+msgid "Original Purchase Date - yyyymmdd"
+msgstr "Kaufdatum - JJJJMMTT"
-#: ../../../../build/work/app/bin/bllnhlp.c:239
-msgid "Last Service Date"
-msgstr "Letztes Servicedatum"
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:267
+msgid "Last Service Date - yyyymmdd"
+msgstr "Letzte Prüfung - JJJJMMTT"
-#: ../../../../build/work/app/bin/bllnhlp.c:240
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:268
msgid "Number of identical cars to be entered"
msgstr "Anzahl der zusätzlichen, gleichartigen Wagen"
-#: ../../../../build/work/app/bin/bllnhlp.c:241
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:269
msgid "Do all the cars have the same Number?"
msgstr "Haben alle Wagen dieselbe Nummer?"
-#: ../../../../build/work/app/bin/bllnhlp.c:242
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:270
msgid "Notes about the car"
msgstr "Anmerkungen zu dem Wagen"
-#: ../../../../build/work/app/bin/bllnhlp.c:243
-#: ../../../../build/work/app/bin/bllnhlp.c:244
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:271
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:272
msgid "Create a new car Part or Prototype definitions"
msgstr "Einen neuen Lokomotiven oder Wagen Prototyp erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:245
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:273
msgid "Finds the selected Car Item on the layout"
msgstr "Suche den ausgewählten Wagen auf der Anlage"
-#: ../../../../build/work/app/bin/bllnhlp.c:246
-#: ../../../../build/work/app/bin/bllnhlp.c:247
-#: ../../../../build/work/app/bin/bllnhlp.c:248
-#: ../../../../build/work/app/bin/bllnhlp.c:249
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:274
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:275
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:276
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:277
msgid "Sort the Item list"
msgstr "Sortierung auswählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:251
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:279
msgid "Edit the selected Car Item"
msgstr "Markierte Lokomotive oder Wagen bearbeiten"
-#: ../../../../build/work/app/bin/bllnhlp.c:252
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:280
msgid "Add a new Car Item"
msgstr "Neuen Wagen hinzufügen"
-#: ../../../../build/work/app/bin/bllnhlp.c:253
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:281
msgid "Delete the selected Car Items"
msgstr "Markierte Lokomotiven oder Wagen löschen"
-#: ../../../../build/work/app/bin/bllnhlp.c:254
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:282
msgid "Import a Car Item .csv file"
msgstr "Lokomotiven oder Wagen aus einer .csv Datei importieren"
-#: ../../../../build/work/app/bin/bllnhlp.c:255
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:283
msgid "Export a Car Item .csv file"
msgstr "Exportieren der markierten Lokomotiven oder Wagen in eine .csv Datei"
-#: ../../../../build/work/app/bin/bllnhlp.c:256
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:284
msgid "Create a text list of the Car Items"
msgstr "Textdatei der Lokomotiven oder Wagen erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:257
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:285
msgid "Specifies the radius of the circle track"
msgstr "Gibt den Radius des Gleiskreises an"
-#: ../../../../build/work/app/bin/bllnhlp.c:258
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:286
msgid "Default command is Describe or Select"
msgstr "Standardbefehl ist Eigenschaften oder Auswählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:259
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:287
msgid "Action to invoke on Right-Click"
msgstr "Festlegen welche Aktion beim Rechtsklick erfolgen soll"
-#: ../../../../build/work/app/bin/bllnhlp.c:260
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:288
msgid ""
"Replace current selection with clicked object or add clicked object to "
"selection"
msgstr ""
-"Aktuelle Auswahl durch angeklicktes Objekt ersetzen oder angeklicktes Objekt "
-"zur Auswahl hinzufügen"
+"Aktuelle Auswahl durch angeklicktes Objekt ersetzen oder angeklicktes Objekt"
+" zur Auswahl hinzufügen"
-#: ../../../../build/work/app/bin/bllnhlp.c:261
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:289
msgid "Clicking into an empty area clears selection if select mode is <add>"
msgstr ""
"Ein Klick in einen leeren Bereich löscht die Auswahl, wenn der Auswahlmodus "
"<add> ist"
-#: ../../../../build/work/app/bin/bllnhlp.c:263
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:291
msgid "The list of control elements"
msgstr "Die Liste der Steuerungselemente"
-#: ../../../../build/work/app/bin/bllnhlp.c:264
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:292
msgid "Edit the element"
msgstr "Das Element bearbeiten"
-#: ../../../../build/work/app/bin/bllnhlp.c:265
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:293
msgid "Delete the element"
msgstr "Das Element löschen"
-#: ../../../../build/work/app/bin/bllnhlp.c:266
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:294
msgid "Contents Label for new Parameter file"
msgstr "Inhaltsbeschreibung für neue Parameterdatei"
-#: ../../../../build/work/app/bin/bllnhlp.c:267
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:295
+msgid "Desired curve radius for new track"
+msgstr "Gewünschter Kurvenradius für das neue Gleis"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:296
msgid "List of custom designed turnouts and structures"
msgstr "Liste der individual entwickelten Weichen und Strukturen"
-#: ../../../../build/work/app/bin/bllnhlp.c:268
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:297
msgid "Invoke designer editor"
msgstr "Vorbild bearbeiten"
-#: ../../../../build/work/app/bin/bllnhlp.c:269
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:298
msgid "Remove selected entries"
msgstr "Ausgewählte Einträge löschen"
-#: ../../../../build/work/app/bin/bllnhlp.c:270
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:299
msgid "Copy selected entries to Parameter File"
msgstr "Ausgewählte Einträge in eine Parameterdatei verschieben"
-#: ../../../../build/work/app/bin/bllnhlp.c:271
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:300
msgid "Create a New part or prototype"
msgstr "Neues Teil oder Prototype erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:272
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:301
msgid "Update custom file and close"
msgstr "Anpassungs Verwaltung speichern und schliessen"
-#: ../../../../build/work/app/bin/bllnhlp.c:273
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:302
msgid "Executes the next step of the demo"
msgstr "Nächsten Schritt der momentanen Demo anzeigen"
-#: ../../../../build/work/app/bin/bllnhlp.c:274
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:303
msgid "Skip to next demo"
msgstr "Zum nächstes Demo Kapitel springen"
-#: ../../../../build/work/app/bin/bllnhlp.c:275
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:304
msgid "Stops the demonstration and returns you to XTrackCAD"
msgstr "Demonstrations Modus verlassen und zu XTrackCAD zurückkehren"
-#: ../../../../build/work/app/bin/bllnhlp.c:276
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:305
msgid "Select speed of Playback"
msgstr "Wiedergabegeschwindigkeit auswählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:277
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:306
msgid "This is where comments about the demo are displayed"
msgstr "Kommentar zu Demos anzeigen"
-#: ../../../../build/work/app/bin/bllnhlp.c:314
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:343
msgid "Move the Main canvas if you drag near the edge"
msgstr ""
"Bewegen den Hauptzeichenbereich wenn in der nähe der Ecken gezogen wird"
-#: ../../../../build/work/app/bin/bllnhlp.c:315
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:344
msgid "Color tracks by layer or individually"
msgstr "Gleise nach Ebene oder einzeln einfärben"
-#: ../../../../build/work/app/bin/bllnhlp.c:316
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:345
msgid "Color draw objects by layer or individually"
msgstr "Objekte nach Ebene oder einzeln einfärben"
-#: ../../../../build/work/app/bin/bllnhlp.c:317
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:346
msgid "Controls the drawing of hidden tracks"
msgstr "Steuert das Zeichnen von versteckten Gleisen"
-#: ../../../../build/work/app/bin/bllnhlp.c:318
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:347
msgid "Controls the drawing of End-Points"
msgstr "Steuert das Zeichnen von Endpunkten"
-#: ../../../../build/work/app/bin/bllnhlp.c:319
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:348
msgid "How to draw track ties"
msgstr "Steuert das Zeichnen der Schwellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:320
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:349
msgid "Show crosshair at center of curves"
msgstr "Mittelpunkt als Fadenkreuz anzeigen"
-#: ../../../../build/work/app/bin/bllnhlp.c:321
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:350
msgid "Drawing scale when to draw tracks with 2 rails"
msgstr "Mindestmaßstab für die Anzeige von Gleisen mit zwei Schienen"
-#: ../../../../build/work/app/bin/bllnhlp.c:322
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:351
msgid "Drawing scale of the map window"
msgstr "Zeichenmaßstab des Kartenfenster"
-#: ../../../../build/work/app/bin/bllnhlp.c:323
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:352
msgid "Whether the main layout is updated while dragging on the Map"
msgstr "Aktualisierung des Gleisplans wenn in der Karte gezogen wird"
-#: ../../../../build/work/app/bin/bllnhlp.c:324
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:353
msgid "Enable labels for Turnouts, Flextrack Lengths and Elevations"
msgstr "Zeige Beschriftungen für Weichen, Flexgleise und Steigungen"
-#: ../../../../build/work/app/bin/bllnhlp.c:325
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:354
msgid "When to label Turnout, Flextrack Lengths and Elevations"
msgstr "Wann sollen Weichen, Gleislängen oder Höhenmaß beschriftet werden"
-#: ../../../../build/work/app/bin/bllnhlp.c:326
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:355
msgid "Font size for labels on layout"
msgstr "Zeichengrösse für Beschriftungen im Gleisplan"
-#: ../../../../build/work/app/bin/bllnhlp.c:327
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:356
msgid "Label elements on the Hot Bar"
msgstr "Beschriftungselemente des Teilekatalogs"
-#: ../../../../build/work/app/bin/bllnhlp.c:328
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:357
msgid "Label elements on layout"
msgstr "Beschriftungselemente im Gleisplan"
-#: ../../../../build/work/app/bin/bllnhlp.c:329
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:358
msgid "Label elements for lists"
msgstr "Beschriftungselemente in den Listen"
-#: ../../../../build/work/app/bin/bllnhlp.c:330
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:359
msgid "How to group cars on the Train Hot Bar"
msgstr "Gruppierung der Waggen im Teilekatalog"
-#: ../../../../build/work/app/bin/bllnhlp.c:331
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:360
msgid "Delay (in mS) between updating train movements"
msgstr "Aktualisierungsintervall (in ms) der Zugbewegungen"
-#: ../../../../build/work/app/bin/bllnhlp.c:332
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:361
msgid "Don't show trains in tunnels when tunnels are hidden"
msgstr "Zeige keine Züge in Tunnels wenn Tunnel verborgen sind"
-#: ../../../../build/work/app/bin/bllnhlp.c:333
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:362
msgid "Display unconnected endpoints of track with special marks"
msgstr "Unverbundene Endpunkte hervorheben"
-#: ../../../../build/work/app/bin/bllnhlp.c:334
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:363
msgid "Whether the Main Drawing Area shows as much of the room as possible"
msgstr ""
"Soll der Zeichenbereich den größtmöglichen Ausschnitt des Raums anzeigen"
-#: ../../../../build/work/app/bin/bllnhlp.c:336
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:364
+msgid "Don't hide system cursor when program cursors are showing"
+msgstr "Systemcursor nicht verbergen, wenn der Anwendungscursor aktiv ist"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:366
msgid "Width of the lines"
msgstr "Breite der Linien"
-#: ../../../../build/work/app/bin/bllnhlp.c:337
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:367
msgid "Color of the lines"
msgstr "Farbe der Linien"
-#: ../../../../build/work/app/bin/bllnhlp.c:338
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:368
msgid "List of types of Lumber"
msgstr "Liste der Leistenmaße"
-#: ../../../../build/work/app/bin/bllnhlp.c:339
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:369
msgid "Color of Benchwork"
msgstr "Farbe des Unterbau"
-#: ../../../../build/work/app/bin/bllnhlp.c:340
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:370
msgid "Orientation of Benchwork"
msgstr "Ausrichtung des Unterbau"
-#: ../../../../build/work/app/bin/bllnhlp.c:341
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:371
msgid "Size of Dimension Arrows"
msgstr "Breite der Größenpfeile"
-#: ../../../../build/work/app/bin/bllnhlp.c:342
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:372
+msgid "Width of Box"
+msgstr "Breite des Rahmen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:373
+msgid "Height of Box"
+msgstr "Höhe des Rahmen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:374
+msgid "Angle of Line"
+msgstr "Winkel der Linie"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:375
+msgid "Radius of Curve"
+msgstr "Radius der Kurve"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:377
msgid "This controls the sharpness of the easement curve"
msgstr "Steuert die Größe des Übergangsradius"
-#: ../../../../build/work/app/bin/bllnhlp.c:343
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:378
msgid "Minimum radius"
msgstr "Mindestgleisradius"
-#: ../../../../build/work/app/bin/bllnhlp.c:344
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:379
msgid "Maximum offset"
msgstr "Maximaler Abstand"
-#: ../../../../build/work/app/bin/bllnhlp.c:345
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:380
msgid "Easement length"
msgstr "Länge des Übergangsbogen"
-#: ../../../../build/work/app/bin/bllnhlp.c:346
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:381
msgid ""
"These radio buttons are a short-cut for Values of 0.0, 0.5, 1.0 and 2.0. "
"None turns Easements off"
@@ -9177,187 +9555,219 @@ msgstr ""
"Standardwerte 0,0, 0,5, 1,0 und 2,0 können schnell gesetzt werden. "
"Übergangsbögen können hier nicht ausgeschaltet werden"
-#: ../../../../build/work/app/bin/bllnhlp.c:347
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:382
msgid "Complete easement selection"
msgstr "Auswahl der Übergangsbögen vervollständigen"
-#: ../../../../build/work/app/bin/bllnhlp.c:348
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:383
msgid "Type of elevation"
msgstr "Typ des Höhendpunktes"
-#: ../../../../build/work/app/bin/bllnhlp.c:349
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:384
msgid "Height of End Point"
msgstr "Höhe des Endpunkt"
-#: ../../../../build/work/app/bin/bllnhlp.c:350
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:385
msgid "Compute elevation based on neighbors"
msgstr "Berechne das Höhenmaß gemäß der benachbarten Gleise"
-#: ../../../../build/work/app/bin/bllnhlp.c:351
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:386
msgid "Compute grade based on neighbors"
msgstr "Berechne Steigung gemäß der benachbarten Gleise"
-#: ../../../../build/work/app/bin/bllnhlp.c:352
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:387
msgid "Specify a name for an End-Point"
msgstr "Einen Namen für einen Endpunkt vergeben"
-#: ../../../../build/work/app/bin/bllnhlp.c:354
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:389
msgid "Print parts list"
msgstr "Stückliste drucken"
-#: ../../../../build/work/app/bin/bllnhlp.c:355
-#: ../../../../build/work/app/bin/bllnhlp.c:466
-#: ../../../../build/work/app/bin/bllnhlp.c:575
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:390
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:512
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:625
msgid "Invoke the Print Setup dialog"
msgstr "Starte den Druckerkonfigursationsdialog"
-#: ../../../../build/work/app/bin/bllnhlp.c:356
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:391
msgid "Save parts list to file"
msgstr "Stückliste in Datei speichern"
-#: ../../../../build/work/app/bin/bllnhlp.c:357
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:392
msgid "This is the list of parts for the layout"
msgstr "Dies ist die Teileliste für diesen Gleisplan"
-#: ../../../../build/work/app/bin/bllnhlp.c:358
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:393
msgid "Enable prices on the Parts List"
msgstr "Preise in der Teileliste anzeigen"
-#: ../../../../build/work/app/bin/bllnhlp.c:359
-#: ../../../../build/work/app/bin/bllnhlp.c:362
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:394
+msgid "Enable index listing on the Parts List"
+msgstr "Kennziffern in der Teileliste anzeigen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:395
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:398
msgid "Spacing between major grid lines"
msgstr "Abstand der Haupt Raster Linien einstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:360
-#: ../../../../build/work/app/bin/bllnhlp.c:363
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:396
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:399
msgid "Allows the spacing to be subdivided"
msgstr "Stellt die Unterteilung von Zwischenmarkierungen ein"
-#: ../../../../build/work/app/bin/bllnhlp.c:361
-#: ../../../../build/work/app/bin/bllnhlp.c:364
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:397
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:400
msgid "Specifies if positions are snaped in this direction"
msgstr "Einschalten des Fangrasters für diese Ausrichtung"
-#: ../../../../build/work/app/bin/bllnhlp.c:365
-#: ../../../../build/work/app/bin/bllnhlp.c:366
-#: ../../../../build/work/app/bin/bllnhlp.c:367
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:401
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:402
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:403
msgid "Shows the origin and angle of the grid"
msgstr "Gibt den Ausgangspunkt und Winkel des Rasters an"
-#: ../../../../build/work/app/bin/bllnhlp.c:368
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:404
msgid "Specifies if the grid is shown"
msgstr "Anzeige des Rasters an oder aus"
-#: ../../../../build/work/app/bin/bllnhlp.c:369
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:405
msgid "Completes the grid specification"
msgstr "Raster Anpassung speichern und beenden"
-#: ../../../../build/work/app/bin/bllnhlp.c:373
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:409
msgid "Number of segments in Group"
msgstr "Anzahl der Segmente in der Gruppe"
-#: ../../../../build/work/app/bin/bllnhlp.c:374
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:410
msgid "Replace the Selected object with the new definition?"
msgstr "Soll das ausgewählte Objekt durch die neue Definition ersetzt werden?"
-#: ../../../../build/work/app/bin/bllnhlp.c:375
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:411
msgid "Creates a new Structure (or Turnout)"
msgstr "Ein neues Gebäude (oder eine Weiche) erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:376
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:412
msgid "Elevation difference of Helix End-Points"
msgstr "Höhenunterschied zwischen den Endpunkten der Gleiswendel"
-#: ../../../../build/work/app/bin/bllnhlp.c:377
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:413
msgid "Helix Radius"
msgstr "Radius der Gleiswendel"
-#: ../../../../build/work/app/bin/bllnhlp.c:378
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:414
msgid "Number of turns in the helix"
msgstr "Anzahl der Umdrehungen in der Wendel"
-#: ../../../../build/work/app/bin/bllnhlp.c:379
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:415
msgid "Angle betweek helix entrance and exit"
msgstr "Winkel zwischen Zu- und Ausgang der Wendel"
-#: ../../../../build/work/app/bin/bllnhlp.c:380
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:416
msgid "Grade in helix"
msgstr "Steigung in der Wendel"
-#: ../../../../build/work/app/bin/bllnhlp.c:381
-msgid "Separation between helix layers"
-msgstr "Abstand zwischen den Ebenen der Wendel"
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:417
+msgid "Separation between helix layers including baseboard, track, etc"
+msgstr ""
+"Trennung zwischen den Ebenen der Gleiswendel einschließlich Gleisbrett, "
+"Gleis usw."
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:418
+msgid "Index numbers of objects, separated by commas"
+msgstr "Kennziffern der Objekte, durch Kommata getrennt"
-#: ../../../../build/work/app/bin/bllnhlp.c:382
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:419
msgid "Desired curve radius between straight tracks"
msgstr "Gewünschter Radius zwischen geraden Gleisen"
-#: ../../../../build/work/app/bin/bllnhlp.c:383
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:420
msgid "Layer list"
msgstr "Liste der Ebenen"
-#: ../../../../build/work/app/bin/bllnhlp.c:384
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:421
msgid "Layer Name"
msgstr "Name der Ebene"
-#: ../../../../build/work/app/bin/bllnhlp.c:385
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:422
+msgid "Hide Layer Button on MenuBar"
+msgstr "Ebenenknopf in der Menuleiste verbergen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:423
msgid "Color of layer"
msgstr "Farbe der Ebene"
-#: ../../../../build/work/app/bin/bllnhlp.c:386
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:424
msgid "Layer is drawn on Main window"
msgstr "Ebene im Hauptfenster darstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:387
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:425
msgid "Layer cannot be changed"
msgstr "Ebene schützen - kann nicht mehr geändert werden"
-#: ../../../../build/work/app/bin/bllnhlp.c:388
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:426
+msgid "Use color for this Layer if color-by-layer is set"
+msgstr "Für diese Ebene Farbe benutzen, wenn Ebenenfarbe ausgewählt ist"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:427
+msgid "Other Layers this Layer also shows/hides"
+msgstr ""
+"Andere Ebenen, die mit dieser Ebene angezeigt oder versteckt werden sollen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:428
+msgid "Layer is a Module"
+msgstr "Ebene ist ein Modul"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:429
msgid "Layer is drawn on Map window"
msgstr "Ebene im Kartenfenster anzeigen"
-#: ../../../../build/work/app/bin/bllnhlp.c:389
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:430
msgid "Number of layer buttons to show"
msgstr "Anzahl der Ebenenknöpfe"
-#: ../../../../build/work/app/bin/bllnhlp.c:390
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:431
msgid "Number of objects in this layer"
msgstr "Anzahl von Objekten in dieser Ebene"
-#: ../../../../build/work/app/bin/bllnhlp.c:392
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:432
+msgid "Settings File to load when this layer is made current"
+msgstr ""
+"Einstellungsdatei, die geladen werden soll, wenn diese Ebene aktiviert wird"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:434
msgid "Load layer configuration from default"
msgstr "Persönliche Einstellungen für Ebenen laden"
-#: ../../../../build/work/app/bin/bllnhlp.c:393
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:435
msgid "Save current layer configuration as default"
msgstr "Momentane Einstellung für Ebenen speichern"
-#: ../../../../build/work/app/bin/bllnhlp.c:394
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:436
msgid "Overwrite layer configuration with system default values"
msgstr "Einstellung für Ebenen auf Systemvorgabe zurück setzen"
-#: ../../../../build/work/app/bin/bllnhlp.c:395
-#: ../../../../build/work/app/bin/bllnhlp.c:396
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:437
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:438
msgid "Specifies the size of the room (in inches or centimeters)"
msgstr "Größenangabe des Raums (in Zentimeter oder Inch)"
-#: ../../../../build/work/app/bin/bllnhlp.c:397
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:439
msgid "Specifies the layout Title that will appear on printouts"
msgstr "Angabe eines Layout Titels welcher auf Ausdrücken erscheint"
-#: ../../../../build/work/app/bin/bllnhlp.c:398
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:440
msgid "Specifies the layout Subtitle that will appear on printouts"
msgstr "Angabe eines Layout Untertitels welcher auf Ausdrücken erscheint"
-#: ../../../../build/work/app/bin/bllnhlp.c:399
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:441
msgid "Specifies the Modelling Scale"
msgstr "Angabe des Modellbahnmaßstabs"
-#: ../../../../build/work/app/bin/bllnhlp.c:400
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:442
msgid "Specifies the rail gauge, ie. the distance between the rails"
msgstr "Angabe der Spurweite, d.h. der Abstand zwischen den Schienen"
-#: ../../../../build/work/app/bin/bllnhlp.c:401
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:443
msgid ""
"Specifies minimum track radius (in inches or centimeters). Tracks with a "
"smaller radius are considered exceptional."
@@ -9365,35 +9775,35 @@ msgstr ""
"Angabe des minimalen Gleisradius (in Zentimeter oder Inch). Gleise mit "
"geringerem Radius werden als Ausnahme angesehen."
-#: ../../../../build/work/app/bin/bllnhlp.c:402
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:444
msgid ""
"Specifies maximum track elevation expressed as a percent (%). Tracks with a "
"larger elevation are considered exceptional."
msgstr ""
-"Angabe der maximalen Gleissteigung in %. Gleise mit größerer Steigung werden "
-"als Ausnahme angesehen."
+"Angabe der maximalen Gleissteigung in %. Gleise mit größerer Steigung werden"
+" als Ausnahme angesehen."
-#: ../../../../build/work/app/bin/bllnhlp.c:403
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:445
msgid "Select the background image"
msgstr "Das Hintergrundbild auswählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:404
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:446
msgid "Remove the background image"
msgstr "Das Hintergrundbild entfernen"
-#: ../../../../build/work/app/bin/bllnhlp.c:405
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:447
msgid "Specifies the x offset of the bottom left of the background image"
msgstr ""
"Bestimmt den Abstand des Hintergrundbildes von der linken unteren Ecke in "
"horizontaler Richtung"
-#: ../../../../build/work/app/bin/bllnhlp.c:406
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:448
msgid "Specifies the y offset of the bottom left of the background image"
msgstr ""
"Bestimmt den Abstand des Hintergrundbildes von der linken unteren Ecke in "
"vertikaler Richtung"
-#: ../../../../build/work/app/bin/bllnhlp.c:407
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:449
msgid ""
"Specifies how large the bottom edge of the background image should be in "
"model units"
@@ -9401,7 +9811,7 @@ msgstr ""
"Gibt an, wie groß die Unterkante des Hintergrundbildes in Modelleinheiten "
"sein soll"
-#: ../../../../build/work/app/bin/bllnhlp.c:408
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:450
msgid ""
"Specifies the screening of the background image from 0 (none) to 100% "
"(vanishes)"
@@ -9409,11 +9819,28 @@ msgstr ""
"Bestimmt die Transparenz des Hintergrundbildes von 0 (keine) bis 100% "
"(verschwindet)"
-#: ../../../../build/work/app/bin/bllnhlp.c:409
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:451
msgid "Specifies the rotation angle of the background image in degrees"
msgstr "Bestimmt den Winkel des Hintergrndbildes in Grad"
-#: ../../../../build/work/app/bin/bllnhlp.c:412
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:452
+msgid "Write a copy of current settings to a named file"
+msgstr "Aktuelle Einstellungen in einer Datei speichern"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:453
+msgid "Override current settings from a named file"
+msgstr ""
+"Ersetze die aktuellen Einstellungen durch Einstellungen aus einer Datei"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:454
+msgid "Move by X"
+msgstr "Um X verschieben"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:455
+msgid "Move by Y"
+msgstr "Um Y verschieben"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:458
msgid ""
"This is the body of the Note. To change this select Modify from the File "
"Menu"
@@ -9421,27 +9848,27 @@ msgstr ""
"Dies ist der Notiztext. Um diesen zu ändern, wählen Sie bitte 'Ändern' aus "
"dem 'Datei'-Menu"
-#: ../../../../build/work/app/bin/bllnhlp.c:414
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:460
msgid "Specifies number of pixels per inch (or centimeter)"
msgstr "Gibt die Anzahl der Bildpunkte pro Inch (oder Zentimeter) an"
-#: ../../../../build/work/app/bin/bllnhlp.c:416
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:462
msgid ""
-"Specifies whether Layout Titles, Borders or Track Centerlines are printed on "
-"the BitMap"
+"Specifies whether Layout Titles, Borders or Track Centerlines are printed on"
+" the BitMap"
msgstr ""
"Gibt an, ob Anlagentitel, Begrenzungen und Gleismitten in der Bilddatei "
"ausgegeben werden sollen"
-#: ../../../../build/work/app/bin/bllnhlp.c:417
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:463
msgid ""
-"Specifies the separation between the original track and the parallel track/"
-"line"
+"Specifies the separation between the original track and the parallel "
+"track/line"
msgstr ""
"Gibt den Abstand zwischen dem vorhandenen und dem neuen parallelen Gleis "
"oder Linie an"
-#: ../../../../build/work/app/bin/bllnhlp.c:418
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:464
msgid ""
"Specifies the a factor that increases the seperation as the radius of the "
"original track reduces. 0.0 means no increase."
@@ -9449,72 +9876,73 @@ msgstr ""
"Gibt das Ausmaß der Zunahme des Abstands, basierend auf dem Radius an. Null "
"ist keine Zunahme."
-#: ../../../../build/work/app/bin/bllnhlp.c:419
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:465
msgid "Enter your name as specified in the XTrackCAD Registration Notice"
msgstr "Enter your name as specified in the XTrackCAD Registration Notice"
-#: ../../../../build/work/app/bin/bllnhlp.c:420
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:466
msgid "Enter the key value as specified in the XTrackCAD Registration Notice"
msgstr "Enter the key value as specified in the XTrackCAD Registration Notice"
-#: ../../../../build/work/app/bin/bllnhlp.c:421
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:467
msgid "Validates the name and key. Terminates the registration command"
msgstr "Validates the name and key. Terminates the registration command"
-#: ../../../../build/work/app/bin/bllnhlp.c:422
-msgid "0ᅵ is up or to the right"
-msgstr "0° ist nach oben oder nach rechts"
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:468
+msgid "0 degrees is up or to the right"
+msgstr "0 Grad ist oben und rechts"
-#: ../../../../build/work/app/bin/bllnhlp.c:423
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:469
msgid "Choose english (inches) or metric (centimeters)"
msgstr "Einheiten auswählen: Englisch für Inches oder Metrisch für Zentimeter"
-#: ../../../../build/work/app/bin/bllnhlp.c:424
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:470
msgid "How to display length measurements"
msgstr "Längenformat auswählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:425
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:471
msgid "Do not create tracks to be shorter than this value"
msgstr "Keine Gleise kürzer als diese Mindestlänge erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:426
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:472
msgid "Maximum distance between connected end points"
msgstr "Maximale Distanz zwischen verbundenen Endpunkten"
-#: ../../../../build/work/app/bin/bllnhlp.c:427
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:473
msgid "Minimum angle between connected End-Points"
msgstr "Kleinster Winkel zwischen verbundenen Endpunkten"
-#: ../../../../build/work/app/bin/bllnhlp.c:428
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:474
msgid "Specifies the minimum angle between tracks connected to a turntable"
msgstr "Kleinster Winkel beim Anschluss von Gleisen an eine Drehscheibe"
-#: ../../../../build/work/app/bin/bllnhlp.c:429
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:475
msgid "Trains will crash above this speed"
msgstr "Züge entgleisen oberhalb dieser Geschwindigkeit"
-#: ../../../../build/work/app/bin/bllnhlp.c:430
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:476
msgid "Enable/Disable balloon popup help windows"
msgstr "Ein-/Ausschalten von Erklärungshilfen"
-#: ../../../../build/work/app/bin/bllnhlp.c:431
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:477
msgid "Enable/Disable show of flextrack on hotbar"
msgstr "Anzeige von Flexgleis in der Auswahlleiste ein- und ausschalten"
-#: ../../../../build/work/app/bin/bllnhlp.c:432
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:478
msgid "How far you can move the mouse before its considered a drag"
msgstr "Wie weit kann die Maus bewegt werden, bevor abreißen angenommen wird"
-#: ../../../../build/work/app/bin/bllnhlp.c:433
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:479
msgid "How long you can hold a mouse button down before its considered a drag"
msgstr ""
-"Wie lange kann ein Mausknopf gedrückt bleiben, bevor abreißen angenommen wird"
+"Wie lange kann ein Mausknopf gedrückt bleiben, bevor abreißen angenommen "
+"wird"
-#: ../../../../build/work/app/bin/bllnhlp.c:434
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:480
msgid "Minimum distance (in pixels) between grid lines/ticks"
msgstr "Mindestabstand (in Pixeln) zwischen Raster und Linien"
-#: ../../../../build/work/app/bin/bllnhlp.c:435
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:481
msgid ""
"Specifies the Check Point frequency; number of modifications made since the "
"last checkpoint."
@@ -9522,96 +9950,97 @@ msgstr ""
"Anzahl von Änderungen bevor eine neue automatische Sicherungskopie erstellt "
"wird."
-#: ../../../../build/work/app/bin/bllnhlp.c:436
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:482
msgid "Specifies the number of checkpoints after save before auto-saving."
msgstr ""
"Gibt die Anzahl der Sicherungskopien vor einer automatischen Sicherung an."
-#: ../../../../build/work/app/bin/bllnhlp.c:437
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:483
msgid "Resume work on last layout or start with new layout"
msgstr "Letzten Gleisplan bearbeiten, oder einen neuen Gleisplan erstellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:439
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:485
msgid "Updated cost of current selected item"
msgstr "Aktualisierte Kosten für den ausgewählten Gegenstand"
-#: ../../../../build/work/app/bin/bllnhlp.c:441
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:487
msgid "Selection list for prices"
msgstr "Auswahlliste für Preise"
-#: ../../../../build/work/app/bin/bllnhlp.c:442
-#: ../../../../build/work/app/bin/bllnhlp.c:443
-#: ../../../../build/work/app/bin/bllnhlp.c:444
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:488
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:489
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:490
msgid "Price of specified length of flex-track"
msgstr "Preis für die angegebene Länge des Flex-Gleises"
-#: ../../../../build/work/app/bin/bllnhlp.c:446
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:492
msgid "Controls the printing of a centerline of track cmdPrint"
msgstr "Steuert das Zeichnen der Mittellinie von Gleisen"
-#: ../../../../build/work/app/bin/bllnhlp.c:447
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:493
msgid "Controls the reduction (scale) of the printout"
msgstr "Einstellung des Verkleinerungsmaßstabs für den Ausdruck"
-#: ../../../../build/work/app/bin/bllnhlp.c:448
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:494
msgid "Scaled page width (Scale times physical page width)"
msgstr "Seitenbreite angeben (Maßstab mal physikalischer Papierbreite)"
-#: ../../../../build/work/app/bin/bllnhlp.c:449
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:495
msgid "Sets page size to the maximum (based on scale and physical page size)"
msgstr ""
"Setzt die Papiergröße auf das Maximum (basierend auf Maßstab und "
"physikalischer Papiergröße)"
-#: ../../../../build/work/app/bin/bllnhlp.c:450
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:496
msgid "Scaled page height (Scale times physical page height)"
msgstr "Seitenhöhe angeben (Maßstab mal physikalischer Papierhöhe)"
-#: ../../../../build/work/app/bin/bllnhlp.c:451
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:497
msgid "Sets scale, origin and angle for a one page printout of the layout"
msgstr ""
"Stellt Maßstab, Ausrichtung und Winkel für den momentan angezeigten "
"Gleisplan ein"
-#: ../../../../build/work/app/bin/bllnhlp.c:452
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:498
msgid "Print page in Portrait or Landscape format"
msgstr "Drucke im Hochformat oder Querformat"
-#: ../../../../build/work/app/bin/bllnhlp.c:453
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:499
msgid "Order of printing pages"
msgstr "Druckreihenfolge"
-#: ../../../../build/work/app/bin/bllnhlp.c:454
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:500
msgid "Print Title, Date, Author and other information at bottom of page?"
msgstr "Drucke Titel, Datum Autor und andere Informationen am Ende der Seite?"
-#: ../../../../build/work/app/bin/bllnhlp.c:455
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:501
msgid "Ignore unprintable page margins?"
msgstr "Nicht druckbare Seitenränder ignorieren?"
-#: ../../../../build/work/app/bin/bllnhlp.c:456
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:502
msgid "Print Registration Marks at 1:1?"
msgstr "Drucke Positionierungshilfen im 1:1 Maßstab?"
-#: ../../../../build/work/app/bin/bllnhlp.c:457
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:503
msgid "Print Snap Grid?"
msgstr "Fangraster drucken?"
-#: ../../../../build/work/app/bin/bllnhlp.c:458
-msgid "Print Rulers on all page edges?"
-msgstr "Lineale an allen Seitenecken drucken?"
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:504
+msgid ""
+"Print Rulers at the layout edge only, or on all page edges, or nowhere?"
+msgstr "Lineal nur am Rand, auf allen Seitenrändern oder nirgends drucken?"
-#: ../../../../build/work/app/bin/bllnhlp.c:459
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:505
msgid "Print Roadbed Outline?"
msgstr "Gleisbettung drucken?"
-#: ../../../../build/work/app/bin/bllnhlp.c:460
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:506
msgid "Print Roadbed Outline"
msgstr "Gleisbettung drucken"
-#: ../../../../build/work/app/bin/bllnhlp.c:461
-#: ../../../../build/work/app/bin/bllnhlp.c:462
-#: ../../../../build/work/app/bin/bllnhlp.c:464
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:507
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:508
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:510
msgid ""
"Origin of the print grid. This is useful if you want to reprint a set of "
"pages"
@@ -9619,316 +10048,333 @@ msgstr ""
"Ursprung des Druckraster. Hilfreich, wenn einige Seiten erneut gedruckt "
"werden"
-#: ../../../../build/work/app/bin/bllnhlp.c:463
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:509
msgid "Resets the origin and angle to 0"
msgstr "Ausrichtung und Winkel auf 0 zurücksetzen"
-#: ../../../../build/work/app/bin/bllnhlp.c:465
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:511
msgid "Deselects all pages"
msgstr "Alle Seiten abwählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:467
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:513
msgid "Print selected pages and terminates the print command"
msgstr "Ausdrucken der ausgewählten Seiten und den Dialog Drucken schließen"
-#: ../../../../build/work/app/bin/bllnhlp.c:468
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:514
msgid "List of loaded, shown or hidden parameter files"
msgstr "Liste der geladenen, angezeigten und inaktiven Parameterdateien"
-#: ../../../../build/work/app/bin/bllnhlp.c:469
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:515
msgid "Show parameter files by names or descriptions"
msgstr "Zeige Namen oder Beschreibung der Parameter-Dateien an"
-#: ../../../../build/work/app/bin/bllnhlp.c:470
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:516
msgid "Toggle the shown status of the selected parameter file"
msgstr "Ändert den Anzeigestatus für ausgewählte Parameter-Dateien"
-#: ../../../../build/work/app/bin/bllnhlp.c:471
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:517
msgid "Find extra parameter files from the filesystem"
msgstr "Suche weitere Parameterdateien auf der Festplatte"
-#: ../../../../build/work/app/bin/bllnhlp.c:472
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:518
msgid "Find parameter files from the system library"
msgstr "Suche Parameterdateien in der Systembibliothek zum Einlesen"
-#: ../../../../build/work/app/bin/bllnhlp.c:473
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:519
msgid "Update parameter file list"
msgstr "Aktualisiere die Liste der Parameterdateien"
-#: ../../../../build/work/app/bin/bllnhlp.c:474
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:520
msgid "Reload parameter file from list"
msgstr "Parameterdateien erneut einlesen"
-#: ../../../../build/work/app/bin/bllnhlp.c:475
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:521
msgid "Select all parameter files shown"
msgstr "Alle angezeigten Parameter-Dateien auswählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:476
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:522
msgid "Profile of specified path"
msgstr "Höhenprofil der ausgewählten Verbindung"
-#: ../../../../build/work/app/bin/bllnhlp.c:477
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:523
msgid "Clear the profile"
msgstr "Lösche das Höhenprofil"
-#: ../../../../build/work/app/bin/bllnhlp.c:478
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:524
msgid "Print the profile"
msgstr "Höhenprofil drucken"
-#: ../../../../build/work/app/bin/bllnhlp.c:480
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:526
msgid "Stop recording"
msgstr "Aufzeichnung beenden"
-#: ../../../../build/work/app/bin/bllnhlp.c:481
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:527
msgid "Insert a message"
msgstr "Eine Nachricht einfügen"
-#: ../../../../build/work/app/bin/bllnhlp.c:482
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:528
msgid "End a message"
msgstr "Ende einer Mitteilung"
-#: ../../../../build/work/app/bin/bllnhlp.c:483
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:529
msgid "Message body"
msgstr "Mitteilung"
-#: ../../../../build/work/app/bin/bllnhlp.c:484
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:530
msgid "Possible turnouts"
msgstr "Mögliche Weichen"
-#: ../../../../build/work/app/bin/bllnhlp.c:485
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:531
msgid "Skip this turnout"
msgstr "Diese Weiche überspringen"
-#: ../../../../build/work/app/bin/bllnhlp.c:487
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:533
msgid "Manufacturer of Object"
msgstr "Hersteller des Objektes"
-#: ../../../../build/work/app/bin/bllnhlp.c:488
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:534
msgid "Description of Object"
msgstr "Beschreibung des Objekte"
-#: ../../../../build/work/app/bin/bllnhlp.c:489
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:535
msgid "Part Nuber of Object"
msgstr "Bestellnummer des Objektes"
-#: ../../../../build/work/app/bin/bllnhlp.c:491
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:537
msgid "Rescale by Scale Conversion or by Ratio"
msgstr "Durch Auswahl eines Maßstab oder eines Multiplikators skalieren"
-#: ../../../../build/work/app/bin/bllnhlp.c:492
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:538
msgid "Original Scale of the selected objects"
msgstr "Ursprünglicher Maßstab der ausgewählten Objekte"
-#: ../../../../build/work/app/bin/bllnhlp.c:493
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:539
msgid "Original Gauge of the selected objects"
msgstr "Ursprüngliche Spurweite der ausgewählten Objekte"
-#: ../../../../build/work/app/bin/bllnhlp.c:494
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:540
msgid "New Scale of the selected objects"
msgstr "Neuer Maßstab der ausgewählten Objekte"
-#: ../../../../build/work/app/bin/bllnhlp.c:495
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:541
msgid "New Gauge of the selected objects"
msgstr "Neu Spurweite der ausgewählten Objekte"
-#: ../../../../build/work/app/bin/bllnhlp.c:496
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:542
msgid "Change track dimensions to new scale"
msgstr "Abmessungen des Gleises auf den neuen Maßstab umrechnen"
-#: ../../../../build/work/app/bin/bllnhlp.c:497
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:543
msgid "Change size by this amount"
msgstr "Größe um einen Faktor verändern"
-#: ../../../../build/work/app/bin/bllnhlp.c:499
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:545
msgid "Snap Grid Line and Division"
msgstr "Fangraster Linien und Unterteilungen"
-#: ../../../../build/work/app/bin/bllnhlp.c:500
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:546
msgid "X and Y position markers"
msgstr "X und Y Positionsmarkierungen"
-#: ../../../../build/work/app/bin/bllnhlp.c:501
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:547
msgid "Border rulers, room boundaries and table edges"
msgstr "Begrenzungslinien, Raumumriß und Anlagenkanten"
-#: ../../../../build/work/app/bin/bllnhlp.c:502
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:548
msgid "Primary Axis of grid rotation"
msgstr "Erste Achse für Rasterdrehung"
-#: ../../../../build/work/app/bin/bllnhlp.c:503
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:549
msgid "Secondary Axis of grid rotation"
msgstr "Zweite Achse für Rasterdrehung"
-#: ../../../../build/work/app/bin/bllnhlp.c:504
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:550
msgid "Unselected tracks"
msgstr "Nicht ausgewählte Gleise"
-#: ../../../../build/work/app/bin/bllnhlp.c:505
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:551
msgid "Selected tracks"
msgstr "Ausgewählte Gleise"
-#: ../../../../build/work/app/bin/bllnhlp.c:506
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:552
msgid "Color of tracks on the Profile path"
msgstr "Farbe für Gleise auf Höhenverlauf"
-#: ../../../../build/work/app/bin/bllnhlp.c:507
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:553
msgid "Color of Exceptional tracks"
msgstr "Farbe für Gleise außerhalb der Grenzwerte"
-#: ../../../../build/work/app/bin/bllnhlp.c:508
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:554
msgid "Color of track ties"
msgstr "Farbe der Schwellen"
-#: ../../../../build/work/app/bin/bllnhlp.c:509
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:555
msgid "Updates the colors"
msgstr "Farben aktualisieren"
-#: ../../../../build/work/app/bin/bllnhlp.c:510
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:556
msgid "Angle in degrees"
msgstr "Winkel in Grad"
-#: ../../../../build/work/app/bin/bllnhlp.c:511
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:557
msgid "Rotate object(s) by specified amount"
msgstr "Objekte um einen bestimmten Winkel drehen"
-#: ../../../../build/work/app/bin/bllnhlp.c:512
-msgid "Enter one or more words as search terms '*' means all"
-msgstr ""
-"Geben Sie ein oder mehrere Wörter als Suchbegriffe ein '*' bedeutet alle"
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:558
+msgid "Enter one or more words as search terms"
+msgstr "Ein Wort oder mehrere Wörter als Suchbegriffe eingeben"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:559
+msgid "Remove the current filter and show all files"
+msgstr "Den aktuellen Filter löschen und alle Dateien anzeigen"
-#: ../../../../build/work/app/bin/bllnhlp.c:513
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:560
msgid "Find matching file descriptions"
msgstr "Passende Inhaltsbeschreibungen finden"
-#: ../../../../build/work/app/bin/bllnhlp.c:514
-msgid "Search Results"
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:561
+msgid "Search results"
msgstr "Suchergebnisse"
-#: ../../../../build/work/app/bin/bllnhlp.c:515
-msgid "Show Descriptions or FileNames in results"
-msgstr "Beschreibungen oder Dateinamen in Ergebnissen anzeigen"
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:562
+msgid "Show descriptions or filenames in results"
+msgstr "Beschreibungen oder Dateinamen in der Ergebnisliste anzeigen"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:563
+msgid "Select how well the definitions must fit the current layout scale"
+msgstr ""
+"Wählen Sie aus, wie gut die Definitionen zum aktuellen Maßstab des "
+"Gleisplans passen müssen"
-#: ../../../../build/work/app/bin/bllnhlp.c:516
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:564
msgid "Add selected entries into parameter file list"
msgstr "Ausgewählte Einträge zur Liste der Parameterdateien zufügen"
-#: ../../../../build/work/app/bin/bllnhlp.c:517
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:565
msgid "Select All found entries"
msgstr "Alle Suchergebnisse auswählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:518
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:566
msgid "Reload the system library contents for finding"
msgstr "Laden Sie den Inhalt der Systembibliothek zum Suchen neu"
-#: ../../../../build/work/app/bin/bllnhlp.c:519
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:567
msgid "Choose commands to be sticky"
msgstr "Wiederholte Befehle auswählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:520
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:568
msgid "Make the commands sticky"
msgstr "Mache die Befehle wiederholbar"
-#: ../../../../build/work/app/bin/bllnhlp.c:521
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:569
msgid "List of available structure"
msgstr "Liste der verfügbaren Gebäude"
-#: ../../../../build/work/app/bin/bllnhlp.c:522
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:570
msgid "Diagram of the selected structure"
msgstr "Zeichnung des ausgewählten Gebäudes"
-#: ../../../../build/work/app/bin/bllnhlp.c:523
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:571
msgid "Hide Selection window when placing Structure"
msgstr "Verberge Auswahlfenster bis das Gebäude plaziert ist"
-#: ../../../../build/work/app/bin/bllnhlp.c:524
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:572
msgid "Drawing scale and size"
msgstr "Zeichnungsmaßstab und Größe"
-#: ../../../../build/work/app/bin/bllnhlp.c:525
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:573
msgid "Complete structure placement"
msgstr "Anordnung des Gebäude abschliessen"
-#: ../../../../build/work/app/bin/bllnhlp.c:526
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:574
msgid "Choose a Pier number"
msgstr "Bestellnummer eingeben"
-#: ../../../../build/work/app/bin/bllnhlp.c:527
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:575
msgid "Name of the Motor"
msgstr "Name des Weichenantriebs"
-#: ../../../../build/work/app/bin/bllnhlp.c:528
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:576
msgid "Value when switch is normal"
msgstr "Werte bei normaler Weichenposition"
-#: ../../../../build/work/app/bin/bllnhlp.c:529
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:577
msgid "Value when the switch is reversed"
msgstr "Wert bei umgekehrter Weichenposition"
-#: ../../../../build/work/app/bin/bllnhlp.c:530
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:578
msgid "Value for a positive comfirmation of switch position"
msgstr "Wert bei positiver Bestätigung der Weichenposition"
-#: ../../../../build/work/app/bin/bllnhlp.c:532
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:580
+msgid "Controls the color of the entered text"
+msgstr "Wählt die Farbe des eingegebenen Textes"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:581
+msgid "If the text is boxed"
+msgstr "Ob der Text umrahmt ist"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:582
msgid "Useful information about the program"
msgstr "Nützliche Informationen über das Programm"
-#: ../../../../build/work/app/bin/bllnhlp.c:533
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:583
msgid "Show Tip of the Day every time the program starts"
msgstr "Bei jedem Start den Tipp des Tages anzeigen"
-#: ../../../../build/work/app/bin/bllnhlp.c:534
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:584
msgid "Show the next Tip of the Day"
msgstr "Gehe zum nächsten Tipp des Tages"
-#: ../../../../build/work/app/bin/bllnhlp.c:535
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:585
msgid "Show the previous Tip of the Day"
msgstr "Gehe zum vorherigen Tipp des Tages"
-#: ../../../../build/work/app/bin/bllnhlp.c:537
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:587
msgid "Controls which Command Buttons are displayed"
msgstr "Ein- oder Ausblenden von Befehls-Knöpfen in der Werkzeugleiste"
-#: ../../../../build/work/app/bin/bllnhlp.c:538
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:588
msgid "List of Cars"
msgstr "Liste der Wagen"
-#: ../../../../build/work/app/bin/bllnhlp.c:539
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:589
msgid "List of active trains"
msgstr "Liste der aktiven Züge"
-#: ../../../../build/work/app/bin/bllnhlp.c:541
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:591
msgid "Train odometer"
msgstr "Entfernungsmesser"
-#: ../../../../build/work/app/bin/bllnhlp.c:542
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:592
msgid "Reset odometer to 0"
msgstr "Kilometerzähler auf 0 zurücksetzen"
-#: ../../../../build/work/app/bin/bllnhlp.c:543
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:593
msgid "Find train on layout"
msgstr "Finde einen Zug auf der Anlage"
-#: ../../../../build/work/app/bin/bllnhlp.c:544
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:594
msgid "Follow train around layout"
msgstr "Zum Zug über die Anlage folgen"
-#: ../../../../build/work/app/bin/bllnhlp.c:545
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:595
msgid "Flip direction at End Of Track"
msgstr "Am Ende des Gleis die Fahrtrichtung umkehren"
-#: ../../../../build/work/app/bin/bllnhlp.c:546
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:596
msgid "Change direction of train"
msgstr "Richtung des Zuges ändern"
-#: ../../../../build/work/app/bin/bllnhlp.c:547
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:597
msgid "Stop the train"
msgstr "Anhalten des Zuges"
-#: ../../../../build/work/app/bin/bllnhlp.c:548
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:598
msgid "List of available turnouts for the current scale"
msgstr "Liste der im aktuellen Maßstab verfügbaren Weichen"
-#: ../../../../build/work/app/bin/bllnhlp.c:549
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:599
msgid ""
"Diagram of the currently selected turnout. Click on a End-Point to select "
"the Active End-Point"
@@ -9936,173 +10382,173 @@ msgstr ""
"Zeichnung der ausgewählten Weiche. Der aktive Endpunkt kann durch Klicken "
"auf einen Endpunkt gesetzt werden"
-#: ../../../../build/work/app/bin/bllnhlp.c:550
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:600
msgid ""
"A menu list of various type of turnouts and sectional tracks you can define"
msgstr ""
"Eine Aiuswahlliste verschiedener Arten von Weichen und Festgleisen, die Sie "
"definieren können"
-#: ../../../../build/work/app/bin/bllnhlp.c:551
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:601
msgid "Hide Selection window when placing Turnout"
msgstr "Auswahlfenster während des Verlegen verbergen"
-#: ../../../../build/work/app/bin/bllnhlp.c:552
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:602
msgid "The selected Active End-Point"
msgstr "Der ausgewählte, aktive Endpunkt"
-#: ../../../../build/work/app/bin/bllnhlp.c:553
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:603
msgid "Current selected turnout, (displayed in the diagram window)"
msgstr "Momentan ausgewählte Weiche, (sichtbar im Diagram-Fenster)"
-#: ../../../../build/work/app/bin/bllnhlp.c:554
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:604
msgid "One the End-Points that can be selected"
msgstr "Einer der Endpunkte, der ausgewählt werden kann"
-#: ../../../../build/work/app/bin/bllnhlp.c:556
-#: ../../../../build/work/app/bin/bllnhlp.c:557
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:606
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:607
msgid "Angle of the specified track to the center line of the turnout"
msgstr "Winkel zwischen dem ausgwählten Gleise und der Mittellinie der Weiche"
-#: ../../../../build/work/app/bin/bllnhlp.c:558
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:608
msgid "Specifies if angles are entered as Frog Numbers or in degrees"
msgstr "Soll der Winkel als Steigung oder in Grad angegeben werden"
-#: ../../../../build/work/app/bin/bllnhlp.c:559
-#: ../../../../build/work/app/bin/bllnhlp.c:560
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:609
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:610
msgid "Desciption"
msgstr "Beschreibung"
-#: ../../../../build/work/app/bin/bllnhlp.c:561
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:611
msgid "Turnout description (Manuf., Size, Part Number, etc)"
msgstr "Beschrebung der Weiche (Hersteller, Winkel, Teilenummer, etc.)"
-#: ../../../../build/work/app/bin/bllnhlp.c:562
-#: ../../../../build/work/app/bin/bllnhlp.c:563
-#: ../../../../build/work/app/bin/bllnhlp.c:564
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:612
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:613
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:614
msgid "Length from the base to the end of the specified track"
msgstr "Länge von der Grundlinie zum Ende des ausgewählten Gleis"
-#: ../../../../build/work/app/bin/bllnhlp.c:566
-#: ../../../../build/work/app/bin/bllnhlp.c:567
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:616
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:617
msgid "Offset of the track End-Point from the center line of the turnout"
msgstr "Abstand des Endpunktes von der Mittellinie der Weiche"
-#: ../../../../build/work/app/bin/bllnhlp.c:570
-#: ../../../../build/work/app/bin/bllnhlp.c:571
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:620
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:621
msgid "Prints a full size diagram of the turnout for checking"
msgstr "Erstellt einen Probeausdruck der Weiche"
-#: ../../../../build/work/app/bin/bllnhlp.c:572
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:622
msgid "Color of Roadbed lines"
msgstr "Farbe der Gleisbettlinien"
-#: ../../../../build/work/app/bin/bllnhlp.c:573
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:623
msgid "Width of Roadbed lines"
msgstr "Abstand des Gleisbettmarkierungen"
-#: ../../../../build/work/app/bin/bllnhlp.c:574
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:624
msgid "Width of Roadbed"
msgstr "Breite des Gleisbett"
-#: ../../../../build/work/app/bin/bllnhlp.c:576
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:626
msgid "Closes the window and returns to the Turnout Selection window"
msgstr "Schliesst das Fenster und kehrt zur Weichenauswahl zurück"
-#: ../../../../build/work/app/bin/bllnhlp.c:577
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:627
msgid "Specifies the diameter of the turntable"
msgstr "Legt den Durchmesser der Drehscheibe fest"
-#: ../../../../build/work/app/bin/bllnhlp.c:578
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:628
msgid "Old Turnout title"
msgstr "Alter Bezeichnung der Drehscheibe"
-#: ../../../../build/work/app/bin/bllnhlp.c:579
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:629
msgid "List of available titles"
msgstr "Liste der verfügbaren Titel"
-#: ../../../../build/work/app/bin/bllnhlp.c:580
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:630
msgid "Leave the Turnouts' title unchanged"
msgstr "Tiitel der Weiche unverändert lassen"
-#: ../../../../build/work/app/bin/bllnhlp.c:581
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:631
msgid "Invoke the Parameter Files dialog"
msgstr "Auswahl der Parameterdateien"
-#: ../../../../build/work/app/bin/bllnhlp.c:582
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:632
msgid "List of available turnouts"
msgstr "Liste der verfügbaren Weichen"
-#: ../../../../build/work/app/bin/bllnhlp.c:583
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:633
msgid "Update the Turnouts' title"
msgstr "Aktualisiere den Titel des Gleis"
-#: ../../../../build/work/app/bin/bllnhlp.c:587
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:637
msgid "Sample"
msgstr "Beispiel"
-#: ../../../../build/work/app/bin/bllnhlp.c:589
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:639
msgid "Slant"
msgstr "Neigung"
-#: ../../../../build/work/app/bin/bllnhlp.c:590
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:640
msgid "Font selection dialog"
msgstr "Dialog zur Auswahl der Schriftart"
-#: ../../../../build/work/app/bin/bllnhlp.c:591
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:641
msgid "Weight"
msgstr "Gewicht"
-#: ../../../../build/work/app/bin/bllnhlp.c:592
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:642
msgid "Printer Abort Window"
msgstr "Druck abbrechen"
-#: ../../../../build/work/app/bin/bllnhlp.c:593
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:643
msgid "Print to filename"
msgstr "Name der Druckdatei"
-#: ../../../../build/work/app/bin/bllnhlp.c:594
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:644
msgid "Specify Postscript font alias mapping"
msgstr "Zuordnung der Postscript-Schriftarten angeben"
-#: ../../../../build/work/app/bin/bllnhlp.c:595
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:645
msgid ""
-"Displays the Print Setup window to change printers, orientation, paper size, "
-"etc."
+"Displays the Print Setup window to change printers, orientation, paper size,"
+" etc."
msgstr ""
"Ruft das Drucker Dialog Fenster auf, um Drucker und oder Papier "
"Einstellungen vornehmen zu können."
-#: ../../../../build/work/app/bin/bllnhlp.c:596
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:646
msgid "Closes this dialog"
msgstr "Dialogfenster schliessen"
-#: ../../../../build/work/app/bin/bllnhlp.c:597
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:647
msgid "Page orientation"
msgstr "Seitenausrichtung"
-#: ../../../../build/work/app/bin/bllnhlp.c:598
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:648
msgid "Unprintable margins"
msgstr "Nicht druckbare Ränder"
-#: ../../../../build/work/app/bin/bllnhlp.c:599
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:649
msgid "Updates and closes this dialog"
msgstr "Dialogfenster aktualisieren und schliessen"
-#: ../../../../build/work/app/bin/bllnhlp.c:600
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:650
msgid "Choose paper size"
msgstr "Papierformat auswählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:601
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:651
msgid "Choose printer"
msgstr "Drucker auswählen"
-#: ../../../../build/work/app/bin/bllnhlp.c:602
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:652
msgid "Print test page"
msgstr "Drucke Testseite"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:1
-#: ../../../../build/work/app/i18n/custmsg.h:8
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:1
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:8
msgid ""
"XTrackCAD provides demonstrations on most of the program's features. The "
"demos can be run by clicking on the Help menu on the Main window and then "
@@ -10112,34 +10558,29 @@ msgstr ""
"abgespielt werden indem im Hilfe Menü des Hauptfensters der Punkt \"Demos\" "
"ausgewählt wird."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:3
-#: ../../../../build/work/app/i18n/custmsg.h:10
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:3
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:10
msgid ""
-"The notation \"Menu|Item\" is used in the documentation (and the on-line "
-"demos and tips) to indicate the selection of a menu item.\n"
-"For example, \"File|Open\" means to open the menu by clicking on File on the "
-"menu bar of the Main window and then selecting the Open item from that menu."
+"The notation \"Menu|Item\" is used in the documentation (and the on-line demos and tips) to indicate the selection of a menu item.\n"
+"For example, \"File|Open\" means to open the menu by clicking on File on the menu bar of the Main window and then selecting the Open item from that menu."
msgstr ""
-"Die Darstellungsart \"Menü|Unterpunkt\" wird in der Dokumentation, den "
-"Online Demos und im Tipp des Tages verwendet. Sie dient dazu die Selektion "
-"eines Unterpunktes zu beschreiben.\n"
-"\"Datei|Öffnen\" bedeutet zum Beispiel in der Menüleiste des Hauptfensters "
-"auf Datei zu klicken und dann im aufgehenden Untermenü auf die Auswahl Punkt "
-"Öffnen."
+"Die Darstellungsart \"Menü|Unterpunkt\" wird in der Dokumentation, den Online Demos und im Tipp des Tages verwendet. Sie dient dazu die Selektion eines Unterpunktes zu beschreiben.\n"
+"\"Datei|Öffnen\" bedeutet zum Beispiel in der Menüleiste des Hauptfensters auf Datei zu klicken und dann im aufgehenden Untermenü auf die Auswahl Punkt Öffnen."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:6
-#: ../../../../build/work/app/i18n/custmsg.h:12
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:12
msgid ""
-"Set your modeling scale on the \"Options|Layout\" dialog. This controls the "
-"Turnouts and Structures that are available, Easement values and track gauge."
+"Set your modeling scale on the \"Options|Layout\" dialog. This controls the"
+" Turnouts and Structures that are available, Easement values and track "
+"gauge."
msgstr ""
-"Stellen Sie im \"Optionen|Gleisplan\" Dialog Maßstab und Spurweite für Ihren "
-"Gleisplan ein. Diese Grundeinstellung sollte unbedingt als erstes "
+"Stellen Sie im \"Optionen|Gleisplan\" Dialog Maßstab und Spurweite für Ihren"
+" Gleisplan ein. Diese Grundeinstellung sollte unbedingt als erstes "
"vorgenommen werden, damit der neu eingestellte Maßstab mit dem Maßstab der "
"geladenen Parameterdatei übereinstimmt."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:8
-#: ../../../../build/work/app/i18n/custmsg.h:14
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:8
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:14
msgid ""
"A number of example layouts are provided. These files can be accessed by "
"\"Help|Examples\"."
@@ -10147,8 +10588,8 @@ msgstr ""
"Es werden eine Reihe von Beispiel-Gleisplänen bereitgestellt. Auf diese "
"Dateien kann über \"Hilfe|Beispiele\" zugegriffen werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:10
-#: ../../../../build/work/app/i18n/custmsg.h:16
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:10
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:16
msgid ""
"When installed, the length units are set based on your contry: inches for "
"United States or Canada and centimeters elsewhere. You can change this on "
@@ -10156,71 +10597,64 @@ msgid ""
msgstr ""
"Die Darstellung sämtlicher Einheiten hängt von ihrem Land ab. In den "
"Vereinigten Staaten oder Kanada werden Inches dargestellt, ansonsten "
-"Zentimeter. Diese Einstellung können Sie über den Dialog \"Optionen|"
-"Einstellungen\" ändern, indem Sie zwischen Englisch und Metrisch wechseln."
+"Zentimeter. Diese Einstellung können Sie über den Dialog "
+"\"Optionen|Einstellungen\" ändern, indem Sie zwischen Englisch und Metrisch "
+"wechseln."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:12
-#: ../../../../build/work/app/i18n/custmsg.h:18
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:12
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:18
msgid ""
"You can change the overall size of your layout on the \"Options|Layout\" "
"dialog."
msgstr ""
-"Die Gesamtgröße Ihres Gleisplans kann über den Dialog \"Optionen|Gleisplan\" "
-"eingestellt werden."
+"Die Gesamtgröße Ihres Gleisplans kann über den Dialog \"Optionen|Gleisplan\""
+" eingestellt werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:14
-#: ../../../../build/work/app/i18n/custmsg.h:20
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:20
msgid ""
-"When installed, the default command is the Select command. You might want to "
-"change this to the Decribe command. You can do this on the \"Options|"
-"Command Options\" dialog."
+"When installed, the default command is the Select command. You might want to"
+" change this to the Decribe command. You can do this on the "
+"\"Options|Command Options\" dialog."
msgstr ""
"Nach Installation ist der Standardbefehl das \"Auswählen\" Kommando. "
"Erfahrene Benutzer möchten dies vielleicht in das \"Beschreiben\" Kommando "
"ändern. Dies kann über den Dialog \"Optionen|Befehl\" unter Standardbefehl "
"erfolgen."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:16
-#: ../../../../build/work/app/i18n/custmsg.h:22
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:22
msgid ""
-"When Selecting tracks, the connection between Selected and Unselected tracks "
-"is marked by a Red X. This indicates points where the connection between "
+"When Selecting tracks, the connection between Selected and Unselected tracks"
+" is marked by a Red X. This indicates points where the connection between "
"tracks will be broken if you Move or Rotate the Selected tracks."
msgstr ""
"Bei ausgewählten Gleisen wird die Verbindung des Gleises durch ein rotes X "
"markiert, genau an dieser Stelle wird das Gleis getrennt wenn es verschoben "
"oder gedreht wird."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:18
-#: ../../../../build/work/app/i18n/custmsg.h:24
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:18
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:24
msgid ""
-"You can change orientation of the pages on the Print command by moving or "
-"rotating the Print Grid.\n"
+"You can change orientation of the pages on the Print command by moving or rotating the Print Grid.\n"
"Shift-Left-Drag moves the grid and Shift-Right-Drag rotates the grid."
msgstr ""
-"Die Ausrichtung von auszudruckenden Seiten kann geändert werden indem das "
-"Druckraster bewegt oder rotiert wird.\n"
-"Shift Taste nach links ziehen bewegt das Raster, Shift Taste nach rechts "
-"ziehen rotiert das Raster."
+"Die Ausrichtung von auszudruckenden Seiten kann geändert werden indem das Druckraster bewegt oder rotiert wird.\n"
+"Shift Taste nach links ziehen bewegt das Raster, Shift Taste nach rechts ziehen rotiert das Raster."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:21
-#: ../../../../build/work/app/i18n/custmsg.h:26
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:21
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:26
msgid ""
"You can add track to any unconnected End-Point with the Modify command.\n"
-"Hold down the Shift key and click on the End-Point and drag away to create a "
-"new track segment attached to the End-Point.\n"
+"Hold down the Shift key and click on the End-Point and drag away to create a new track segment attached to the End-Point.\n"
"Repeat with the new End-Point to create flowing tracks."
msgstr ""
-"Gleise können zu jedem unverbundenen Endpunkt mit \"Verändern\" hinzugefügt "
-"werden.\n"
-"Um einen neuen Gleisabschnitt zu erstellen, markieren Sie einen Endpunkt, "
-"halten Sie dann die Shift-Taste gedrückt während Sie den Gleisabschnitt "
-"verschieben.\n"
-"Wiederhohlen Sie diese Aktion mit diesem neuen Endpunkt um Gleisabschnitte "
-"weiter zu zerlegen."
+"Gleise können zu jedem unverbundenen Endpunkt mit \"Verändern\" hinzugefügt werden.\n"
+"Um einen neuen Gleisabschnitt zu erstellen, markieren Sie einen Endpunkt, halten Sie dann die Shift-Taste gedrückt während Sie den Gleisabschnitt verschieben.\n"
+"Wiederhohlen Sie diese Aktion mit diesem neuen Endpunkt um Gleisabschnitte weiter zu zerlegen."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:25
-#: ../../../../build/work/app/i18n/custmsg.h:28
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:25
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:28
msgid ""
"You can create curved tracks in four ways by dragging from:\n"
" the 1st endpoint in the direction of the curve\n"
@@ -10229,122 +10663,87 @@ msgid ""
" the 1st to 2nd endpoint\n"
"Then drag on one of the Red arrows to create the final shape of the curve.\n"
"\n"
-"You can click on the small button to the right of the Curve command button "
-"to change the method."
+"You can click on the small button to the right of the Curve command button to change the method."
msgstr ""
"Sie können gebogene Gleise auf vier Arten durch Ziehen erstellen, vom:\n"
" 1. Endpunkt in Richtung der Kurve\n"
" Mittelpunkt der Kurve zum 1. Endpunkt\n"
" Endpunkt zum Zentrum\n"
" 1. zum 2. Endpunkt\n"
-"Ziehen Sie dann an einem der roten Pfeile, um die endgültige Form der Kurve "
-"zu erstellen.\n"
+"Ziehen Sie dann an einem der roten Pfeile, um die endgültige Form der Kurve zu erstellen.\n"
"\n"
-"Sie können auf die kleine Schaltfläche rechts neben der Befehlsschaltfläche "
-"Kurve klicken, um die Methode zu ändern."
+"Sie können auf die kleine Schaltfläche rechts neben der Befehlsschaltfläche Kurve klicken, um die Methode zu ändern."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:34
-#: ../../../../build/work/app/i18n/custmsg.h:30
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:34
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:30
msgid ""
-"When creating a straight or a curved track by dragging from the 1st End "
-"Point, you can snap the new track to an existing open end point by holding "
-"down Shift while you click.\n"
+"When creating a straight or a curved track by dragging from the 1st End Point, you can snap the new track to an existing open end point by holding down Shift while you click.\n"
"The new track will be joined to the old when you create it."
msgstr ""
-"Beim Erstellen eines geraden oder eines gebogenen Gleise durch Ziehen vom "
-"ersten Endpunkt kann das neue Gleis an dem existierenden Endpunkt "
-"ausgerichtet werden, in dem die Umschalt-Taste beim Klicken gedrückt wird.\n"
+"Beim Erstellen eines geraden oder eines gebogenen Gleise durch Ziehen vom ersten Endpunkt kann das neue Gleis an dem existierenden Endpunkt ausgerichtet werden, in dem die Umschalt-Taste beim Klicken gedrückt wird.\n"
"Das neue Gleis wird beim Erstellen mit dem vorhandenen Gleis verbunden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:37
-#: ../../../../build/work/app/i18n/custmsg.h:32
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:37
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:32
msgid ""
-"Track Circles provide a quick way to see what arrangement of tracks will fit "
-"in your layout spaces. Create Circles with your typical radius and place "
-"them in corners and other locations where your main-line will make changes "
-"of direction. This will give you an overall idea of how your layout will "
-"look.\n"
+"Track Circles provide a quick way to see what arrangement of tracks will fit in your layout spaces. Create Circles with your typical radius and place them in corners and other locations where your main-line will make changes of direction. This will give you an overall idea of how your layout will look.\n"
"\n"
"You can create Circles by:\n"
" using a fixed radius\n"
" dragging from the Center to edge\n"
" dragging from an edge to the Center\n"
-"You can click on the small button to the left of the Circle command button "
-"to change the method."
-msgstr ""
-"Gleiskreise ermöglichen einen schnellen Weg die Aufteilung Ihres Gleisplans "
-"in den vorhanden Platz einzuteilen. Erstellen Sie Gleiskreise mit üblichen "
-"Radien und platzieren Sie diese in Ecken oder an beliebigen Stellen Ihres "
-"Hauptgleises an denen ein Richtungswechsel statt finden soll. Dies wird "
-"Ihnen helfen einen ersten Überblick von Ihrem gesamten Gleisplan zu "
-"erhalten.\n"
+"You can click on the small button to the left of the Circle command button to change the method."
+msgstr ""
+"Gleiskreise ermöglichen einen schnellen Weg die Aufteilung Ihres Gleisplans in den vorhanden Platz einzuteilen. Erstellen Sie Gleiskreise mit üblichen Radien und platzieren Sie diese in Ecken oder an beliebigen Stellen Ihres Hauptgleises an denen ein Richtungswechsel statt finden soll. Dies wird Ihnen helfen einen ersten Überblick von Ihrem gesamten Gleisplan zu erhalten.\n"
"\n"
"Gleiskreise können wie folgt erzeugt werden:\n"
" mit einem festgelegten Radius\n"
" durch ziehen aus der Mitte zur Kante\n"
" durch ziehen von der Kante zur Mitte\n"
-"Die verschiedenen Methoden zur Gleiskreiserstellung können ausgewählt werden "
-"durch anklicken des Knopfes rechts neben dem Greisknopf in der "
-"Werkzeugleiste."
+"Die verschiedenen Methoden zur Gleiskreiserstellung können ausgewählt werden durch anklicken des Knopfes rechts neben dem Greisknopf in der Werkzeugleiste."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:45
-#: ../../../../build/work/app/i18n/custmsg.h:34
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:45
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:34
msgid ""
-"Easements (spiral transition curves) are used when track changes from "
-"straight to curved by gradually changing the radius. This improves "
-"operation and appearance.\n"
+"Easements (spiral transition curves) are used when track changes from straight to curved by gradually changing the radius. This improves operation and appearance.\n"
"Easements are created with Joining or Extending Tracks.\n"
"The Easement dialog is used to control easements."
msgstr ""
-"Übergangsbögen werden benutzt wenn gerades Gleis stufenweise bei sich "
-"änderndem Radius in kurviges Gleis ändert, Dies verbessert die Benutzbarkeit "
-"und verschönert das Erscheinungsbild.\n"
-"Übergangsbögen werden erstellt indem sie an vorhandene Gleise angeängt "
-"werden.\n"
-"Die Schaltfläche \"Easement None\" wird verwendet um die Einstellungen für "
-"Übergangsbögen vornehmen zu können."
+"Übergangsbögen werden benutzt wenn gerades Gleis stufenweise bei sich änderndem Radius in kurviges Gleis ändert, Dies verbessert die Benutzbarkeit und verschönert das Erscheinungsbild.\n"
+"Übergangsbögen werden erstellt indem sie an vorhandene Gleise angeängt werden.\n"
+"Die Schaltfläche \"Easement None\" wird verwendet um die Einstellungen für Übergangsbögen vornehmen zu können."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:49
-#: ../../../../build/work/app/i18n/custmsg.h:36
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:49
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:36
msgid ""
-"\"Help|Recent Messages\" shows the last error and warning messages that were "
-"generated by the program. Also an explanation of each message is displayed."
+"\"Help|Recent Messages\" shows the last error and warning messages that were"
+" generated by the program. Also an explanation of each message is "
+"displayed."
msgstr ""
"\"Hilfe|Letzte Mitteilungen\" zeigt die letzen Fehler/Warnungen an die vom "
"Programm veruhrsacht wurden. Weiterhin wird eine Erklärung zu jeder Meldung "
"angezeigt."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:51
-#: ../../../../build/work/app/i18n/custmsg.h:38
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:51
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:38
msgid ""
-"When creating stall tracks for a turntable, you usually want the the stall "
-"tracks to be spaced evenly.\n"
-"The \"Turntable Angle\" item on \"Options|Preferences\" dialog can be used "
-"specify the minimum angle between stall tracks."
+"When creating stall tracks for a turntable, you usually want the the stall tracks to be spaced evenly.\n"
+"The \"Turntable Angle\" item on \"Options|Preferences\" dialog can be used specify the minimum angle between stall tracks."
msgstr ""
-"Beim Anschluss von Endgleisen an eine Drehscheibe, möchte man diese "
-"üblicherweise gleichmäßig verteilen.\n"
-"Der Punkt \"Drehscheibenwinkel\" im Dialog \"Optionen|Einstellungen\" kann "
-"dazu benutzt werden den kleinstmöglichen Winkel, beim Anschluss solcher "
-"Gleise, einzustellen."
+"Beim Anschluss von Endgleisen an eine Drehscheibe, möchte man diese üblicherweise gleichmäßig verteilen.\n"
+"Der Punkt \"Drehscheibenwinkel\" im Dialog \"Optionen|Einstellungen\" kann dazu benutzt werden den kleinstmöglichen Winkel, beim Anschluss solcher Gleise, einzustellen."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:54
-#: ../../../../build/work/app/i18n/custmsg.h:40
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:40
msgid ""
-"XTrackCAD periodically saves the current layout in a check point file. The "
-"'Check Point' item on the 'Options|Preferences' dialog controls how often "
-"the file is saved.\n"
-"You can recover your working file after a system crash by copying the "
-"checkpoint file (xtrkcad.ckp in the XTrackCAD Working directory) to file.xtc"
+"XTrackCAD periodically saves the current layout in a check point file. The 'Check Point' item on the 'Options|Preferences' dialog controls how often the file is saved.\n"
+"You can recover your working file after a system crash by copying the checkpoint file (xtrkcad.ckp in the XTrackCAD Working directory) to file.xtc"
msgstr ""
-"XTrackCAD sichert ständig ihre aktuelle Arbeit in eine temporäre Datei. Im "
-"Feld 'Sicherungskopie' unter dem Menüpunkt 'Optonen|Einstellungen' können "
-"Sie die Häufigkeit dieser automatischen Sicherung festlegen.\n"
-"Nach einem System/Programm Absturz kopieren Sie einfach die Datei xtrkcad."
-"ckp (im Arbeitsverzeichnis von XTrackCAD) nach <Geisplan>.xtc"
+"XTrackCAD sichert ständig ihre aktuelle Arbeit in eine temporäre Datei. Im Feld 'Sicherungskopie' unter dem Menüpunkt 'Optonen|Einstellungen' können Sie die Häufigkeit dieser automatischen Sicherung festlegen.\n"
+"Nach einem System/Programm Absturz kopieren Sie einfach die Datei xtrkcad.ckp (im Arbeitsverzeichnis von XTrackCAD) nach <Geisplan>.xtc"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:57
-#: ../../../../build/work/app/i18n/custmsg.h:42
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:57
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:42
msgid ""
"The Parallel command is helpful to layout yards and sidings. If the "
"Parallel track abuts with an existing track, it is automatically connected."
@@ -10353,24 +10752,20 @@ msgstr ""
"erstellen. Falls sich ein parallel Gleis mit einem existierenden Gleis fast "
"berührt wird dieses automatisch verbunden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:59
-#: ../../../../build/work/app/i18n/custmsg.h:44
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:59
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:44
msgid ""
-"You can use Shift-Drag in Select command to move and rotate selected "
-"tracks.\n"
+"You can use Shift-Drag in Select command to move and rotate selected tracks.\n"
"Shift-Left-Drag moves tracks and Shift-Right-Drag rotates them.\n"
"Control-Left-Drag can move labels."
msgstr ""
-"Gleise können verschoben oder rotiert werden indem sie mit Hilfe des "
-"\"Ändern|Auswählen\" Kommandos ausgewählt werden und dann druch "
-"gleichzeitiges festhalten der Shift-Taste und einer Maustaste bewegt "
-"werden.\n"
+"Gleise können verschoben oder rotiert werden indem sie mit Hilfe des \"Ändern|Auswählen\" Kommandos ausgewählt werden und dann druch gleichzeitiges festhalten der Shift-Taste und einer Maustaste bewegt werden.\n"
"Shift und linke Maustaste verschiebt ein Gleis.\n"
"Shift und rechte Maustaste rotiert ein Gleis.\n"
"Steuerung und linke Maustaste verschiebt Beschreibungen."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:63
-#: ../../../../build/work/app/i18n/custmsg.h:46
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:46
msgid ""
"You can move and rotate the Snap Grid to align with existing track or "
"benchwork."
@@ -10378,59 +10773,40 @@ msgstr ""
"Das Fangraster kann bewegt oder gedreht werden um es an Gleisen oder "
"Aufbauten ausrichten zu können."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:65
-#: ../../../../build/work/app/i18n/custmsg.h:48
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:65
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:48
msgid ""
"Use the Parts List command to measure track length.\n"
-"Select the tracks you want to measure and then click on the Parts List "
-"button. The report will list the total of length of the selected flex-"
-"track. You will have to add in the length of any Turnouts."
+"Select the tracks you want to measure and then click on the Parts List button. The report will list the total of length of the selected flex-track. You will have to add in the length of any Turnouts."
msgstr ""
-"Der Dialog \"Verwalten|Teileliste\" kann dazu benutzt werden Gleislängen zu "
-"messen.\n"
-"Markieren Sie die zu messenden Gleise und wählen Sie den Teileliste Punkt. "
-"Die auftauchende Liste zeigt die Länge der ausgewählten Gleise an. Die Länge "
-"der Weichen muss hinzugezählt werden."
+"Der Dialog \"Verwalten|Teileliste\" kann dazu benutzt werden Gleislängen zu messen.\n"
+"Markieren Sie die zu messenden Gleise und wählen Sie den Teileliste Punkt. Die auftauchende Liste zeigt die Länge der ausgewählten Gleise an. Die Länge der Weichen muss hinzugezählt werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:68
-#: ../../../../build/work/app/i18n/custmsg.h:50
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:68
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:50
msgid ""
-"The length of flex-track attached to each Turnout is displayed on layout "
-"near the end-points of the Turnouts.\n"
-"Make sure 'Lengths' option of the 'Label Enable' toggle button on the "
-"Display dialog is selected."
+"The length of flex-track attached to each Turnout is displayed on layout near the end-points of the Turnouts.\n"
+"Make sure 'Lengths' option of the 'Label Enable' toggle button on the Display dialog is selected."
msgstr ""
-"Die Länge von Flex-Gleis welches mit Weichen verbunden ist wird in der Nähe "
-"des Endpunktes der Weiche angezeigt.\n"
-"Stellen Sie sicher das der Auswahlpunkt \"Längen\" im Dialog \"Optionen|"
-"Anzeige\" ausgewählt ist."
+"Die Länge von Flex-Gleis welches mit Weichen verbunden ist wird in der Nähe des Endpunktes der Weiche angezeigt.\n"
+"Stellen Sie sicher das der Auswahlpunkt \"Längen\" im Dialog \"Optionen|Anzeige\" ausgewählt ist."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:71
-#: ../../../../build/work/app/i18n/custmsg.h:52
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:71
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:52
msgid ""
-"The Profile command can be used to find the length of a continous section of "
-"track.\n"
-"Select the track at the beginning and end of the section. The total length "
-"of track will be displayed on the Profile window in the lower right corner.\n"
-"Note: the Profile selects the shortest path between the two selected tracks, "
-"which might not be the path you are interested in. In this case, select the "
-"first track and then select other tracks along the path."
-msgstr ""
-"Das Kommando \"Höhenprofil\" im Menü \"Ändern\" kann dazu benutzt werden um "
-"die Länge einer zusammenhängenden Gleissektion heraus zu finden.\n"
-"Markieren Sie den Anfang und das Ende dieser Sektion. Die totale Länge "
-"dieser Gleissektion wird in der unteren rechten Ecke des Höhenprofil "
-"Fensters angezeigt.\n"
-"Hinweis: Das Höhenprofil wählt immer den kürzesten Weg zwischen beiden "
-"markierten Gleisen, möglicherweise ist dies aber nicht die Länge an der Sie "
-"interresiert sind. In diesem Fall wählen Sie einfach den gleichen Startpunkt "
-"und den nächst frührer möglichen Endpunkt aus."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:75
-#: ../../../../build/work/app/i18n/custmsg.h:54
-msgid ""
-"Layers can be used to contain different groups of tracks or other features. "
-"You might use one layer for the main-line, another of staging tracks and "
+"The Profile command can be used to find the length of a continous section of track.\n"
+"Select the track at the beginning and end of the section. The total length of track will be displayed on the Profile window in the lower right corner.\n"
+"Note: the Profile selects the shortest path between the two selected tracks, which might not be the path you are interested in. In this case, select the first track and then select other tracks along the path."
+msgstr ""
+"Das Kommando \"Höhenprofil\" im Menü \"Ändern\" kann dazu benutzt werden um die Länge einer zusammenhängenden Gleissektion heraus zu finden.\n"
+"Markieren Sie den Anfang und das Ende dieser Sektion. Die totale Länge dieser Gleissektion wird in der unteren rechten Ecke des Höhenprofil Fensters angezeigt.\n"
+"Hinweis: Das Höhenprofil wählt immer den kürzesten Weg zwischen beiden markierten Gleisen, möglicherweise ist dies aber nicht die Länge an der Sie interresiert sind. In diesem Fall wählen Sie einfach den gleichen Startpunkt und den nächst frührer möglichen Endpunkt aus."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:75
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:54
+msgid ""
+"Layers can be used to contain different groups of tracks or other features."
+" You might use one layer for the main-line, another of staging tracks and "
"another of benchwork.\n"
msgstr ""
"Ebenen können dazu benutzt werden um verschiedene Gruppen von Gleisen oder "
@@ -10438,73 +10814,66 @@ msgstr ""
"verwendet werden, eine weitere für Schattenbahnhöfe und eine weitere für "
"Aufbauten oder Tunnnel.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:77
-#: ../../../../build/work/app/i18n/custmsg.h:56
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:77
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:56
msgid ""
-"You can give each layer a name (by using the \"Manage|Layer\" dialog). This "
-"name will be displayed as the Balloon Help for the corresponding Layer "
+"You can give each layer a name (by using the \"Manage|Layer\" dialog). This"
+" name will be displayed as the Balloon Help for the corresponding Layer "
"button, if you have Balloon Help enabled on the \"Options|Display\" dialog."
msgstr ""
"Jeder Ebene kann ein Name über den \"Verwalten|Ebenen\" Dialog zugewiesen "
-"werden. Falls die Auswahl \"Sprechblasen\" im Menü \"Optionen|Einstellungen"
-"\" aktiviert wurde, wird dieser vergebene Name in der Werkzeugleiste für "
-"diese Ebene angezeigt."
+"werden. Falls die Auswahl \"Sprechblasen\" im Menü "
+"\"Optionen|Einstellungen\" aktiviert wurde, wird dieser vergebene Name in "
+"der Werkzeugleiste für diese Ebene angezeigt."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:79
-#: ../../../../build/work/app/i18n/custmsg.h:58
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:79
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:58
msgid ""
-"You can remove groups of buttons or the Hot Bar from the Main window to give "
-"you more room if you are not using some features. Also, the number of Layer "
-"buttons displayed is controlled by the \"Manage|Layers\" dialog."
+"You can remove groups of buttons or the Hot Bar from the Main window to give"
+" you more room if you are not using some features. Also, the number of "
+"Layer buttons displayed is controlled by the \"Manage|Layers\" dialog."
msgstr ""
"Die Werkzeugleiste kann über den Dialog \"Anzeige|Werkzeugleiste anpassen\" "
-"verändert werden um mehr Platz im Hauptfenster zur Verfügung zu stellen. Die "
-"Anzahl der Ebenenknöpfe wird über den Dialog \"Verwalten|Ebenen\" "
+"verändert werden um mehr Platz im Hauptfenster zur Verfügung zu stellen. Die"
+" Anzahl der Ebenenknöpfe wird über den Dialog \"Verwalten|Ebenen\" "
"eingestellt."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:81
-#: ../../../../build/work/app/i18n/custmsg.h:60
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:81
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:60
msgid ""
-"The size of the map window is controlled by the overall size of the room "
-"(specified on the layout dialog) and the map scale (on the display dialog). "
-"You can make the Map window larger (or smaller) by decreasing (or "
-"increasing) the map scale.\n"
+"The size of the map window is controlled by the overall size of the room (specified on the layout dialog) and the map scale (on the display dialog). You can make the Map window larger (or smaller) by decreasing (or increasing) the map scale.\n"
"XTrackCad will prevent you from making the map window too small or too large."
msgstr ""
-"Die Größe des Kartenfensters wird in Abhängigkeit zur eingestellten "
-"Gesamtgröße des Raums kontrolliert. Die Gesamtgröße des Raums wird über den "
-"Dialog \"Optionen|Gleisplan\", der Maßstab des Kartenfensters über die "
-"Auswahl \"Kartenmaßstab\" im Dialog \"Optionen|Anzeige\" eingestellt. Die "
-"Größe des Kartenfensters kann verändert werden, indem der Wert für "
-"Kartenmaßstab entweder erhöht oder verkleinert wird.\n"
+"Die Größe des Kartenfensters wird in Abhängigkeit zur eingestellten Gesamtgröße des Raums kontrolliert. Die Gesamtgröße des Raums wird über den Dialog \"Optionen|Gleisplan\", der Maßstab des Kartenfensters über die Auswahl \"Kartenmaßstab\" im Dialog \"Optionen|Anzeige\" eingestellt. Die Größe des Kartenfensters kann verändert werden, indem der Wert für Kartenmaßstab entweder erhöht oder verkleinert wird.\n"
"XTrackCAD lässt keine zu kleinen/großen Werte für das Kartenfenster zu."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:84
-#: ../../../../build/work/app/i18n/custmsg.h:62
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:84
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:62
msgid ""
"You can unload parameter files you are not using by the Parameter Files "
"dialog. This removes unused Turnout and Structure definitions from the Hot "
"Bar and makes the program start faster."
msgstr ""
"Damit Gleise in der Schnellauswahl auftauchen ist es nötig eine Gleis "
-"Parameterdatei für Ihren Gleisplan zu laden, im Dialog \"Datei|"
-"Parameterdateien\" können Sie die für Ihr Gleis nötige Parameterdatei laden. "
-"Nicht mehr benötigte Parameterdateien können über den gleichen Dialog "
-"entladen werden. Hierdurch werden nicht mehr benötigte Weichen/Gleise von "
-"der Schnellauswahl gelöscht was das Programm schneller starten läßt."
+"Parameterdatei für Ihren Gleisplan zu laden, im Dialog "
+"\"Datei|Parameterdateien\" können Sie die für Ihr Gleis nötige "
+"Parameterdatei laden. Nicht mehr benötigte Parameterdateien können über den "
+"gleichen Dialog entladen werden. Hierdurch werden nicht mehr benötigte "
+"Weichen/Gleise von der Schnellauswahl gelöscht was das Programm schneller "
+"starten läßt."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:86
-#: ../../../../build/work/app/i18n/custmsg.h:64
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:86
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:64
msgid ""
"Right-Click on the Main window displays a menu list of commands as an "
"alternative to pressing the buttons on the tool bar or using the menu "
"accelerator keys."
msgstr ""
-"Alternativ zur Werkzeugleiste oder den Menütasten kann durch Rechts-Klick im "
-"Hauptfenster ein weiteres Befehlsmenü benutzt werden."
+"Alternativ zur Werkzeugleiste oder den Menütasten kann durch Rechts-Klick im"
+" Hauptfenster ein weiteres Befehlsmenü benutzt werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:87
-#: ../../../../build/work/app/i18n/custmsg.h:66
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:87
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:66
msgid ""
"Holding down the Shift key while you Right-Click will display options for "
"the current command (if any)."
@@ -10512,37 +10881,26 @@ msgstr ""
"Bleibt die Shift Taste gedrückt während Sie ein Kommando ausgewählt haben "
"werden (wenn vorhanden) Optionen für dieses Kommando angezeigt."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:89
-#: ../../../../build/work/app/i18n/custmsg.h:68
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:89
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:68
msgid ""
-"Right-Click on the Hot Bar displays a menu of the different groups of "
-"objects which you can use to jump to the group you are interested in.\n"
-"Pressing a numeric key (1-9 and 0) moves the Hot Bar to corresponding "
-"position (1 is the start, 5 is half way, 0 is the end)."
+"Right-Click on the Hot Bar displays a menu of the different groups of objects which you can use to jump to the group you are interested in.\n"
+"Pressing a numeric key (1-9 and 0) moves the Hot Bar to corresponding position (1 is the start, 5 is half way, 0 is the end)."
msgstr ""
-"Rechts Klick in der Schnellauswahl öffnet ein Menü mit verschiedenen "
-"Objektgruppen, diese können benutzt werden um schnell zu dieser Art von "
-"Gleisen zu springen.\n"
-"Durch drücken von Zahlen in der Schnellauswahl (1-9 und 0) kann auch die "
-"entsprechende Position der Gleisauswahl geändert werden, hierbei "
-"kennzeichnet 1 die erste Gleisauswahl, 5 gibt die Mitte der Auswahl an und 0 "
-"das Ende."
+"Rechts Klick in der Schnellauswahl öffnet ein Menü mit verschiedenen Objektgruppen, diese können benutzt werden um schnell zu dieser Art von Gleisen zu springen.\n"
+"Durch drücken von Zahlen in der Schnellauswahl (1-9 und 0) kann auch die entsprechende Position der Gleisauswahl geändert werden, hierbei kennzeichnet 1 die erste Gleisauswahl, 5 gibt die Mitte der Auswahl an und 0 das Ende."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:92
-#: ../../../../build/work/app/i18n/custmsg.h:70
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:92
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:70
msgid ""
"Right-Drag on the Map window sets the origin and scale of the Main window.\n"
-"The Main window will be centered on the spot where you started the Draw and "
-"how far you Drag will control how large an area you can see on the Main "
-"window."
+"The Main window will be centered on the spot where you started the Draw and how far you Drag will control how large an area you can see on the Main window."
msgstr ""
-"Durch ziehen mit der rechten Maustaste im Kartenfenster wird der Focus und "
-"Maßstab im Hauptfenster eingestellt.\n"
-"Das Hauptfenster wird hierbei aufgrund der markierten Auswahl im "
-"Kartenfenster zentriert dargestellt."
+"Durch ziehen mit der rechten Maustaste im Kartenfenster wird der Focus und Maßstab im Hauptfenster eingestellt.\n"
+"Das Hauptfenster wird hierbei aufgrund der markierten Auswahl im Kartenfenster zentriert dargestellt."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:95
-#: ../../../../build/work/app/i18n/custmsg.h:72
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:95
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:72
msgid ""
"To refresh the Main window, press Control-L (hold down the 'Ctrl' key and "
"then press the 'l' key)."
@@ -10550,26 +10908,26 @@ msgstr ""
"Um die Darstellung im Hauptfenster zu erneuern, benutzen Sie Strg+L (halten "
"Die die Steuernung Taste gedrückt und tippen Sie den Buchstaben 'l')."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:97
-#: ../../../../build/work/app/i18n/custmsg.h:74
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:97
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:74
msgid ""
"The File menu contains a list of the last 5 layouts you were working on."
msgstr ""
"Der Dialog \"Datei\" enthält eine Liste der letzten 5 Gleispläne die Sie "
"geöffnet hatten."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:99
-#: ../../../../build/work/app/i18n/custmsg.h:76
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:99
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:76
msgid ""
"The Print command can optionally print lines representing the roadbed for "
"all tracks. This is useful when printing full size (1:1) for cutting "
"roadbed."
msgstr ""
-"Im \"Drucken\" Dialog kann, die Auswahl \"Gleisbettung drucken\" ausgewählt "
-"werden, um im (1:1) Maßstab Gleisbettvorlagen ausdrucken zu können."
+"Im \"Drucken\" Dialog kann, die Auswahl \"Gleisbettung drucken\" ausgewählt"
+" werden, um im (1:1) Maßstab Gleisbettvorlagen ausdrucken zu können."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:101
-#: ../../../../build/work/app/i18n/custmsg.h:78
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:101
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:78
msgid ""
"Pressing the 'Esc' key cancels the current command and invokes the default "
"command, (which is either Describe or Select)."
@@ -10578,51 +10936,38 @@ msgstr ""
"automatisch der Standardbefehl aktiviert, (was entweder Eigenschaften oder "
"Auswählen ist)."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:103
-#: ../../../../build/work/app/i18n/custmsg.h:80
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:103
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:80
msgid ""
-"When moving or rotating tracks on slow machines or with a large number of "
-"tracks, you can improve performance by changing the way tracks are drawn "
-"while being moved.\n"
-"Shift-Right click will display a menu containing options to draw tracks "
-"normally, as simple lines or just draw end-points."
+"When moving or rotating tracks on slow machines or with a large number of tracks, you can improve performance by changing the way tracks are drawn while being moved.\n"
+"Shift-Right click will display a menu containing options to draw tracks normally, as simple lines or just draw end-points."
msgstr ""
-"Auf langsamen Computern oder bei hoher Anzahl von Gleisen, kann die Art und "
-"Weise wie Gleise neu gezeichnet werden verändert werden.\n"
-"Nachdem Gleise markiert wurden, kann durch festhalten der Shift-Taste und "
-"einem rechts Klick mit der Maus in einem Options Menü ausgewählt werden wie "
-"die Gleise dargestellt werden sollen: Normal, Einfach oder nur als Endpunkte."
+"Auf langsamen Computern oder bei hoher Anzahl von Gleisen, kann die Art und Weise wie Gleise neu gezeichnet werden verändert werden.\n"
+"Nachdem Gleise markiert wurden, kann durch festhalten der Shift-Taste und einem rechts Klick mit der Maus in einem Options Menü ausgewählt werden wie die Gleise dargestellt werden sollen: Normal, Einfach oder nur als Endpunkte."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:106
-#: ../../../../build/work/app/i18n/custmsg.h:82
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:106
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:82
msgid ""
"The colors of different parts of the Main window can be changed with the "
-"Colors dialog. In particular, the Snap Grid color can be changed to make it "
-"more visible when printed."
+"Colors dialog. In particular, the Snap Grid color can be changed to make it"
+" more visible when printed."
msgstr ""
"Farben der verschiedenen Baugruppen im Hauptfenster können über den Dialog "
"\"Optionen|Farben\" verändert werden. Im Besonderen kann die Farbe des "
"Fangrasters geändert werden um es beim ausdrucken besser sichtbar machen zu "
"können."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:108
-#: ../../../../build/work/app/i18n/custmsg.h:84
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:108
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:84
msgid ""
-"By default objects are drawn in their normal colors. Tracks will be drawn "
-"in Black. Objects can also be drawn in the color according to their Layer. "
-"The color of a Layer is displayed on the corresponding Layer button.\n"
-"The Display dialog 'Color Layers' item has separate toggles for Tracks and "
-"non-Tracks."
+"By default objects are drawn in their normal colors. Tracks will be drawn in Black. Objects can also be drawn in the color according to their Layer. The color of a Layer is displayed on the corresponding Layer button.\n"
+"The Display dialog 'Color Layers' item has separate toggles for Tracks and non-Tracks."
msgstr ""
-"Üblicherweise werden Objekte in Ihren voreingestellten Farben gezeichnet. "
-"Gleise werden in schwarz dargestellt. Objekte können in den Farben ihrer "
-"jeweiligen Ebenen dargestellt werden. Die Farbe einer Ebene wird auf ihrem "
-"zugehörigen Ebenenknopf angezeigt.\n"
-"Die Auswahl \"Ebenenfarben\" im Dialog \"Optionen|Anzeige\" besitzt jeweils "
-"für Gleise und Sonstige eine getrente Möglichkeit zur Aktivierung von Farben."
+"Üblicherweise werden Objekte in Ihren voreingestellten Farben gezeichnet. Gleise werden in schwarz dargestellt. Objekte können in den Farben ihrer jeweiligen Ebenen dargestellt werden. Die Farbe einer Ebene wird auf ihrem zugehörigen Ebenenknopf angezeigt.\n"
+"Die Auswahl \"Ebenenfarben\" im Dialog \"Optionen|Anzeige\" besitzt jeweils für Gleise und Sonstige eine getrente Möglichkeit zur Aktivierung von Farben."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:111
-#: ../../../../build/work/app/i18n/custmsg.h:86
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:111
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:86
msgid ""
"Each Layer can be drawn or hidden by the 'Visible' toggle on the Layers "
"dialog."
@@ -10630,167 +10975,143 @@ msgstr ""
"Jede Ebene kann im Dialog \"Verwalten|Ebenen\" verborgen oder angezeigt "
"werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:112
-#: ../../../../build/work/app/i18n/custmsg.h:88
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:112
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:88
msgid ""
-"Short cut Layer buttons can also be displayed on the tool bar for up to the "
-"first 20 layers.\n"
+"Short cut Layer buttons can also be displayed on the tool bar for up to the first 20 layers.\n"
"This buttons allow to Show or Hide the layers."
msgstr ""
"Ebenenknöpfe können für die ersten 20 Ebenen in der Werkzeugleiste "
-"dargestellt werden, diese Nummernknöpfe können dazu benutzt werden um Ebenen "
-"zu verbergen oder anzuzeigen."
+"dargestellt werden, diese Nummernknöpfe können dazu benutzt werden um Ebenen"
+" zu verbergen oder anzuzeigen."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:115
-#: ../../../../build/work/app/i18n/custmsg.h:90
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:115
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:90
msgid "The name of the Layer is the Balloon Help for the Layer button."
msgstr ""
"Der Name einer Ebene wird in der Sprechblase der jeweiligen Ebene angezeigt."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:117
-#: ../../../../build/work/app/i18n/custmsg.h:92
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:117
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:92
msgid ""
-"The playback speed of the Demos can be changed by using Speed drop down list "
-"on the Demo window."
+"The playback speed of the Demos can be changed by using Speed drop down list"
+" on the Demo window."
msgstr ""
"Die Wiedergabegeschwindigkeit von Demos kann durch den Auswahlreiter rechts "
"oben im Demo Fenster eingestellt werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:119
-#: ../../../../build/work/app/i18n/custmsg.h:94
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:119
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:94
msgid ""
"Many of the commands and dialogs can be invoked by special key combinations "
-"called Menu-Accelerators. These are listed on the Menus next to the command "
-"name. For example, Control-P will invoke the Print command."
+"called Menu-Accelerators. These are listed on the Menus next to the command"
+" name. For example, Control-P will invoke the Print command."
msgstr ""
"Viele Kommandos oder Menü Dialoge können über Tastaturkürzel aufgerufen "
"werden. Diese Kürzel werden rechts (wenn verfügbar) neben jedem Kommando "
"angezeigt. Zum Beispiel: Strg+P im Menü \"Datei|Drucke\" ruft den Drucken "
"Dialog auf."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:121
-#: ../../../../build/work/app/i18n/custmsg.h:96
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:121
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:96
msgid ""
-"The Connect command is used to join Sectional track pieces that don't quite "
-"fit together.\n"
-"This command works by adding small gaps between other tracks to move the "
-"selected End-Points closer together."
+"The Connect command is used to join Sectional track pieces that don't quite fit together.\n"
+"This command works by adding small gaps between other tracks to move the selected End-Points closer together."
msgstr ""
"Das \"Gleisstücke verbinden\" Kommando im Dialog \"Ändern\" wird verwendet "
"um Gleisstücke die nicht verbunden sind miteinander zu verbinden. Dies wird "
"erreicht indem kleine Lücken bei andern Gleisen eingefügt werden damit die "
"beiden Endpunkte miteinander verbunden werden können."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:124
-#: ../../../../build/work/app/i18n/custmsg.h:98
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:124
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:98
msgid ""
-"To copy a group of objects: Select the objects, press Control-c (or select "
-"Copy from the Edit menu), press Control-v (or select Paste from the Edit "
-"menu).\n"
-"The selected tracks will be copied to the layout and you can Move or Rotate "
-"them into position."
+"To copy a group of objects: Select the objects, press Control-c (or select Copy from the Edit menu), press Control-v (or select Paste from the Edit menu).\n"
+"The selected tracks will be copied to the layout and you can Move or Rotate them into position."
msgstr ""
-"Um eine Gruppe von Objekten zu kopieren: Selektieren Sie diese, drücken Sie "
-"Strg+C (oder wählen Sie \"Kopieren\" im Menü \"Bearbeiten\" aus), drücken "
-"Sie Strg+V (oder wählen Sie \"Einfügen\" im Menü \"Bearbeiten\" aus).\n"
-"Die ausgewählten Gleise werden in den Gleisplan eingefügt und können dann "
-"verschoben oder rotiert werden und somit in Position gebracht werden."
+"Um eine Gruppe von Objekten zu kopieren: Selektieren Sie diese, drücken Sie Strg+C (oder wählen Sie \"Kopieren\" im Menü \"Bearbeiten\" aus), drücken Sie Strg+V (oder wählen Sie \"Einfügen\" im Menü \"Bearbeiten\" aus).\n"
+"Die ausgewählten Gleise werden in den Gleisplan eingefügt und können dann verschoben oder rotiert werden und somit in Position gebracht werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:127
-#: ../../../../build/work/app/i18n/custmsg.h:100
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:127
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:100
msgid ""
"In the Rotate (or Select) commands you can press Shift-Right-Click to "
-"display the Rotate menu which allows you to rotate the selected objects by a "
-"specific angle."
+"display the Rotate menu which allows you to rotate the selected objects by a"
+" specific angle."
msgstr ""
"Bei Benutzung der Kommandos \"Rotieren\" oder \"Auswählen\" kann durch "
"gedrückt halten der Shift-Taste und rechts Klick mit der Maustaste in einem "
"auftauchenden Optionsmenü der Winkel zum rotieren eines Objekts ausgewählt "
"werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:129
-#: ../../../../build/work/app/i18n/custmsg.h:102
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:129
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:102
msgid ""
-"You can use the Move-To-Join option of the Join command (hold down the Shift "
-"key) to move a group of Selected tracks to attach with some unselected End-"
+"You can use the Move-To-Join option of the Join command (hold down the Shift"
+" key) to move a group of Selected tracks to attach with some unselected End-"
"Point."
msgstr ""
"Das \"Verbinden\" Kommando im Menü \"Ändern\" besitzt eine Option um eine "
"Gruppe von ausgewählten Gleisen mit einem nicht vorher spezifizierten "
"Endpunkt verbinden zu können. Markieren Sie zunächst die zu verbindenen "
"Gleise, wählen Sie als nächstes den Dialog \"Ändern|Verbinden\", halten Sie "
-"nun die Shift-Taste gedrückt während Sie bei gedrückter linker Maustaste die "
-"markierte Gruppe von Gleisen zum Zielpunkt führen, durch nochmaliges drücken "
-"der linken Maustaste werden die selektierten Gleise dem Endpunkt hinzugefügt."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:131
-#: ../../../../build/work/app/i18n/custmsg.h:104
-msgid ""
-"The Price List dialog (on the File Menu) is used to specify the prices of "
-"each type of Turnout, Sectional Track and Structure. Also, the length and "
-"price of flex-track pieces can be specified for each scale.\n"
-"This values will be used on the Parts List report to generate total cost of "
-"the selected objects."
-msgstr ""
-"Der Dialog \"Verwalten|Preisliste\" kann verwendet werden, um Preise für "
-"jedes Gleis, Weiche oder andere Gegenstände einzugeben. Weiterhin können "
-"auch Länge und Preis für Flex-Gleise für jeden beliebigen Maßstab eingegeben "
-"werden.\n"
-"Die angegebenen Preise werden verwendet um die Gesamtkosten im Dialog "
-"\"Verwalten|Teileliste\" auflisten zu können."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:134
-#: ../../../../build/work/app/i18n/custmsg.h:106
-msgid ""
-"Areas of water can represented by a Polygon (use the Draw command) of the "
-"appropiate color.\n"
-"By using the Modify command, you can move, add or remove corners of the "
-"Polygon to fit the shape of the water.\n"
-"You use the Below command to place the Polygon below (or behind) other "
-"objects.\n"
+"nun die Shift-Taste gedrückt während Sie bei gedrückter linker Maustaste die"
+" markierte Gruppe von Gleisen zum Zielpunkt führen, durch nochmaliges "
+"drücken der linken Maustaste werden die selektierten Gleise dem Endpunkt "
+"hinzugefügt."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:131
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:104
+msgid ""
+"The Price List dialog (on the File Menu) is used to specify the prices of each type of Turnout, Sectional Track and Structure. Also, the length and price of flex-track pieces can be specified for each scale.\n"
+"This values will be used on the Parts List report to generate total cost of the selected objects."
+msgstr ""
+"Der Dialog \"Verwalten|Preisliste\" kann verwendet werden, um Preise für jedes Gleis, Weiche oder andere Gegenstände einzugeben. Weiterhin können auch Länge und Preis für Flex-Gleise für jeden beliebigen Maßstab eingegeben werden.\n"
+"Die angegebenen Preise werden verwendet um die Gesamtkosten im Dialog \"Verwalten|Teileliste\" auflisten zu können."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:134
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:106
+msgid ""
+"Areas of water can represented by a Polygon (use the Draw command) of the appropiate color.\n"
+"By using the Modify command, you can move, add or remove corners of the Polygon to fit the shape of the water.\n"
+"You use the Below command to place the Polygon below (or behind) other objects.\n"
"\n"
"You can also use a Polygon to represent aisles."
msgstr ""
-"Wasserbereiche können durch Polygone mit Hilfe des \"Zeichnen|Formen|Zeichne "
-"Polyline\" in der entsprechenden Farbe erstellt werden.\n"
-"Das \"Verändern\" Kommando kann benutzt werden, Ecken an diesen Polygonen "
-"hinzu zu fügen oder zu löschen, um diese so besser der Form des Wassers "
-"anpassen zu können.\n"
+"Wasserbereiche können durch Polygone mit Hilfe des \"Zeichnen|Formen|Zeichne Polyline\" in der entsprechenden Farbe erstellt werden.\n"
+"Das \"Verändern\" Kommando kann benutzt werden, Ecken an diesen Polygonen hinzu zu fügen oder zu löschen, um diese so besser der Form des Wassers anpassen zu können.\n"
"\n"
"Polylinien können auch dazu verwendet werden um Gänge darzustellen."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:140
-#: ../../../../build/work/app/i18n/custmsg.h:108
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:140
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:108
msgid ""
-"When you create Benchwork you can move it below other objects by Selecting "
-"the Benchwork and use the Below command.\n"
+"When you create Benchwork you can move it below other objects by Selecting the Benchwork and use the Below command.\n"
"Also, put Benchwork in a separate Layer so you can hide it if desired."
msgstr ""
-"Ein erstellter Rahmen kann unter andere Objekte verschoben werden, indem man "
-"das \"Darunter\" Kommando aus dem Menü \"Bearbeiten\" verwendet.\n"
-"Weiterhin sollten Sie Aufbauten auf separaten Ebenen darstellen. Diese "
-"können somit im Bedarfsfall sehr leicht versteckt werden, indem man die "
-"zugehörige Ebene einfach ein oder ausblendet."
+"Ein erstellter Rahmen kann unter andere Objekte verschoben werden, indem man das \"Darunter\" Kommando aus dem Menü \"Bearbeiten\" verwendet.\n"
+"Weiterhin sollten Sie Aufbauten auf separaten Ebenen darstellen. Diese können somit im Bedarfsfall sehr leicht versteckt werden, indem man die zugehörige Ebene einfach ein oder ausblendet."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:143
-#: ../../../../build/work/app/i18n/custmsg.h:110
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:143
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:110
msgid ""
"You can enter Distances and Lengths using any format regardless of the "
"Length Format on the Preferences dialog."
msgstr ""
-"Längen können unabhänig der voreingestellten Werte im \"Optionen|"
-"Einstellungen\" Dialog eingegeben werden."
+"Längen können unabhänig der voreingestellten Werte im "
+"\"Optionen|Einstellungen\" Dialog eingegeben werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:144
-#: ../../../../build/work/app/i18n/custmsg.h:112
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:144
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:112
msgid ""
-"You can enter Metric values when English is the default Units and vice versa."
+"You can enter Metric values when English is the default Units and vice "
+"versa."
msgstr ""
"Metrische Werte können eingegeben werden auch wenn die Einstellung für "
"Einheiten Englisch gewählt ist."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:146
-#: ../../../../build/work/app/i18n/custmsg.h:114
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:146
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:114
msgid ""
"When entering Distances and Lengths you can press the '=' key to redisplay "
"the value in the default format."
@@ -10798,33 +11119,34 @@ msgstr ""
"Bei Eingabe von Entfernungen und Längen können Sie '=' Zeichen verwenden um "
"den Wert im voreingestellten Format anzuzeigen."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:147
-#: ../../../../build/work/app/i18n/custmsg.h:116
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:147
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:116
msgid ""
-"You can also press the 's' key to convert a Prototype measurement to a Scale "
-"measurement by dividing by the ratio for the current scale."
+"You can also press the 's' key to convert a Prototype measurement to a Scale"
+" measurement by dividing by the ratio for the current scale."
msgstr ""
"Sie können auch die Taste 's' drücken, um eine Prototyp-Abmessung durch "
"Division durch das Verhältnis in eine maßstäbliche Abmessung umzuwandeln."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:148
-#: ../../../../build/work/app/i18n/custmsg.h:118
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:148
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:118
msgid ""
"The 'p' key will convert a Scale measurement to a Prototype measurement."
-msgstr "Die Taste 'p' konvertiert eine Maßstab Messung in eine Muster Messung."
+msgstr ""
+"Die Taste 'p' konvertiert eine Maßstab Messung in eine Muster Messung."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:150
-#: ../../../../build/work/app/i18n/custmsg.h:120
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:150
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:120
msgid ""
-"You can place cars on the layout using the Train Simulation command to check "
-"clearance points, track to track separation and coupling."
+"You can place cars on the layout using the Train Simulation command to check"
+" clearance points, track to track separation and coupling."
msgstr ""
-"Lokomotiven können im Gleisplan über den Zugbetrieb Knopf plaziert werden um "
-"Weichenübergänge, Gleis zu Gleis Verbindungen oder ankuppeln simulieren zu "
+"Lokomotiven können im Gleisplan über den Zugbetrieb Knopf plaziert werden um"
+" Weichenübergänge, Gleis zu Gleis Verbindungen oder ankuppeln simulieren zu "
"können."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:152
-#: ../../../../build/work/app/i18n/custmsg.h:122
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:152
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:122
msgid ""
"Use the MoveTo button on the Custom Management dialog to move your custom "
"Turnout, Structure and Car definitions to a .XTP parameter file."
@@ -10833,8 +11155,8 @@ msgstr ""
"Verwaltung\" Menü um selbst erstellte Weichen, Strukturen oder Wagen "
"Definitionen in eine .XTP Parameter Datei zu verschieben."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:154
-#: ../../../../build/work/app/i18n/custmsg.h:124
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:154
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:124
msgid ""
"If you are printing multiple pages on a continuous feed printer (such a Dot "
"Matrix) you can change the Page Order if necessary to print pages out in "
@@ -10844,32 +11166,27 @@ msgstr ""
"Reihenfolge der Seiten ändern um diese in der richtigen Reihenfolge "
"auszudrucken."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:156
-#: ../../../../build/work/app/i18n/custmsg.h:126
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:156
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:126
msgid ""
"On the Car Item and Car Part dialogs, you can enter custom values for "
"Manufacturer, Part and Road by typing the new value directly into the Drop "
"Down List."
msgstr ""
-"Im Dialog \"Verwalten|Wagenverzeichnis\" können eigene Werte für Hersteller, "
-"Artikelnummer und Straße direkt in der angezeigten Liste eingegeben werden."
+"Im Dialog \"Verwalten|Wagenverzeichnis\" können eigene Werte für Hersteller,"
+" Artikelnummer und Straße direkt in der angezeigten Liste eingegeben werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:158
-#: ../../../../build/work/app/i18n/custmsg.h:128
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:158
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:128
msgid ""
-"On the Car Item dialog, you can change the Road, Number, Color and other "
-"values for a Car. This is useful if you repaint or renumber a car. \n"
-"You can also change the Coupler Mounting and Coupler Length if you change "
-"the couplers."
+"On the Car Item dialog, you can change the Road, Number, Color and other values for a Car. This is useful if you repaint or renumber a car. \n"
+"You can also change the Coupler Mounting and Coupler Length if you change the couplers."
msgstr ""
-"Im Dialog \"Verwalten|Wagenverzeichnis\" können eigene Werte für Zugnummern, "
-"Farbe und andere Werte vergeben werden. Dies is nützlich wenn Sie "
-"beispielsweise einen Wagen umlackiert oder eine neue Rollnummer vergeben "
-"haben. \n"
+"Im Dialog \"Verwalten|Wagenverzeichnis\" können eigene Werte für Zugnummern, Farbe und andere Werte vergeben werden. Dies is nützlich wenn Sie beispielsweise einen Wagen umlackiert oder eine neue Rollnummer vergeben haben. \n"
"Weiterhin kann die Kupplungsaufhängung und auch deren Länge verändert werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:161
-#: ../../../../build/work/app/i18n/custmsg.h:130
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:161
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:130
msgid ""
"You can Export your Car Inventory to a file in Comma-Separated-Value format "
"which can be read by most spread-sheet programs."
@@ -10878,66 +11195,53 @@ msgstr ""
"exportiert werden, welche von allen gänigen Tabellenkalkulations Programmen "
"eingelesen werden kann."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:163
-#: ../../../../build/work/app/i18n/custmsg.h:132
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:163
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:132
msgid "Use the Train Odometer to measure distances along the track."
msgstr ""
"Benutzen Sie den Zugsteckenzähler um Entfernungen auf dem Gleis messen zu "
"können."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:165
-#: ../../../../build/work/app/i18n/custmsg.h:134
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:165
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:134
msgid ""
-"Holding down the Shift key when clicking the Zoom In or Zoom Out button will "
-"zoom to a programmed Drawing Scale. \n"
-"Holding down the Shift and Control keys when clicking a Zoom button will set "
-"it's program Zoom to the current Drawing Scale."
+"Holding down the Shift key when clicking the Zoom In or Zoom Out button will zoom to a programmed Drawing Scale. \n"
+"Holding down the Shift and Control keys when clicking a Zoom button will set it's program Zoom to the current Drawing Scale."
msgstr ""
-"Wenn Sie die Lupenknöpfe klicken während die Shift Taste gedrückt ist, "
-"setzt das Programm auf vorher festgelegten Maßstab. \n"
-"Durch gleichzeitiges Festhalten der Strg + Shift Tasten kann durch Anklicken "
-"der jeweiligen Lupenknöpfe die Einstellung der Vergrößerung oder "
-"Verkleinerung festgelegt werden."
+"Wenn Sie die Lupenknöpfe klicken während die Shift Taste gedrückt ist, setzt das Programm auf vorher festgelegten Maßstab. \n"
+"Durch gleichzeitiges Festhalten der Strg + Shift Tasten kann durch Anklicken der jeweiligen Lupenknöpfe die Einstellung der Vergrößerung oder Verkleinerung festgelegt werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:168
-#: ../../../../build/work/app/i18n/custmsg.h:136
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:168
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:136
msgid ""
"You can trim the ends of turnouts by holding down the Shift key when using "
"the Split command."
msgstr ""
-"Durch Benutzung des \"Gleis auftrennen\" Kommandos kann man durch Festhalten "
-"der Umschalt-Taste das Ende einer Weiche anpassen."
+"Durch Benutzung des \"Gleis auftrennen\" Kommandos kann man durch Festhalten"
+" der Umschalt-Taste das Ende einer Weiche anpassen."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:170
-#: ../../../../build/work/app/i18n/custmsg.h:138
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:170
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:138
msgid ""
-"The Split command can be used to create Block Gaps at end points between two "
-"tracks. \n"
+"The Split command can be used to create Block Gaps at end points between two tracks. \n"
"Either rail or both rails can be gapped, which are drawn as thick lines."
msgstr ""
-"Der Dialog \"Ändern|Gleis auftrennen\" kann benutzt werden um Blockabstände "
-"an Endpunkten von zwei Gleisen einzufügen. \n"
-"Abstände können entweder an einem oder beiden Enden eingefügt werden, diese "
-"werden durch dicke Linien gekennzeichnet."
+"Der Dialog \"Ändern|Gleis auftrennen\" kann benutzt werden um Blockabstände an Endpunkten von zwei Gleisen einzufügen. \n"
+"Abstände können entweder an einem oder beiden Enden eingefügt werden, diese werden durch dicke Linien gekennzeichnet."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:173
-#: ../../../../build/work/app/i18n/custmsg.h:140
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:173
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:140
msgid ""
-"Trains will 'crash' if they hit another car when travelling faster than the "
-"'Max Coupling Speed' (on the Command Options dialog). \n"
-"They will also 'crash' if they hit the end of the track or an open "
-"turnout. \n"
+"Trains will 'crash' if they hit another car when travelling faster than the 'Max Coupling Speed' (on the Command Options dialog). \n"
+"They will also 'crash' if they hit the end of the track or an open turnout. \n"
"Crashed trains must be manually moved back onto the track."
msgstr ""
-"Züge 'entgleisen' wenn sie auf ein anderes Fahrzeug treffen oder sie beim "
-"Ankuppeln schneller unterwegs sind wie die maximal eingestellte "
-"Kuppelgeschwindigkeit (einstellbar über \"Optionen|Einstellungen\"). \n"
-"Außerdem werden sie 'entgleisen' sobald sie auf ein totes Gleisende oder "
-"eine offene Weiche treffen. \n"
+"Züge 'entgleisen' wenn sie auf ein anderes Fahrzeug treffen oder sie beim Ankuppeln schneller unterwegs sind wie die maximal eingestellte Kuppelgeschwindigkeit (einstellbar über \"Optionen|Einstellungen\"). \n"
+"Außerdem werden sie 'entgleisen' sobald sie auf ein totes Gleisende oder eine offene Weiche treffen. \n"
"Entgleiste Züge müssen von Hand wieder auf das Gleis zurück gestellt werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:177
-#: ../../../../build/work/app/i18n/custmsg.h:142
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:177
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:142
msgid ""
"You can add new track segments to a turnout definition or create a "
"definition from individual tracks using the Group command."
@@ -10946,84 +11250,73 @@ msgstr ""
"Gleis anzuhängen oder einen neue Definition zu erstellen, in der einzelne "
"Gleise zusammengefasst werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:179
-#: ../../../../build/work/app/i18n/custmsg.h:144
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:179
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:144
msgid ""
-"The center point and radius of Curved and Circle tracks can optionally be "
-"drawn. \n"
-"This feature is toggled by using the Move Label command and doing a Shift-"
-"Left-Click on the track."
+"The center point and radius of Curved and Circle tracks can optionally be drawn. \n"
+"This feature is toggled by using the Move Label command and doing a Shift-Left-Click on the track."
msgstr ""
"Der Mittelpunkt von Kurven oder Kreisen kann auch angezeigt werden. \n"
-"Diese Option kann ein/ausgeschaltet werden durch festhalten der Shift Taste "
-"bei gleichzeitigem links Klick der Maus."
+"Diese Option kann ein/ausgeschaltet werden durch festhalten der Shift Taste bei gleichzeitigem links Klick der Maus."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:182
-#: ../../../../build/work/app/i18n/custmsg.h:146
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:182
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:146
msgid ""
-"Turnout, Curved and Helix track labels can be individually turned on and off "
-"by doing a Shift-Right-Click on the track when using the Move Label command."
+"Turnout, Curved and Helix track labels can be individually turned on and off"
+" by doing a Shift-Right-Click on the track when using the Move Label "
+"command."
msgstr ""
"Weichen, Kurven und Gleiswendel Beschreibungen können einzeln an und aus "
"geschaltet werden. Halten Sie hierzu die Shift Taste gedrückt während Sie "
-"das Kommando \"Ändern|Beschreibungen verschieben\" verwenden und klicken Sie "
-"mit der rechten Maustaste auf die jeweilige Beschreibung."
+"das Kommando \"Ändern|Beschreibungen verschieben\" verwenden und klicken Sie"
+" mit der rechten Maustaste auf die jeweilige Beschreibung."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:184
-#: ../../../../build/work/app/i18n/custmsg.h:148
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:184
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:148
msgid ""
"You can use the Describe command to change the font size of Text objects."
msgstr ""
-"Das Kommando \"Ändern|Eigenschaften\" wird verwendet um die Schriftgröße von "
-"Textobjekten zu ändern."
+"Das Kommando \"Ändern|Eigenschaften\" wird verwendet um die Schriftgröße von"
+" Textobjekten zu ändern."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:186
-#: ../../../../build/work/app/i18n/custmsg.h:150
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:186
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:150
msgid ""
-"You can use the Describe command to change the size of Dimension Line labels."
+"You can use the Describe command to change the size of Dimension Line "
+"labels."
msgstr ""
"Das Kommando \"Ändern|Eigenschaften\" wird verwendet um die Größe von "
"Dimensions Linien Beschreibungen zu ändern."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:188
-#: ../../../../build/work/app/i18n/custmsg.h:152
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:188
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:152
msgid ""
-"Normally Right-Click displays a popup menu of commands and Shift-Right-Click "
-"displays options for the current command. \n"
-"This can reversed by using the Right Click toggle button on the Command "
-"Options dialog."
+"Normally Right-Click displays a popup menu of commands and Shift-Right-Click displays options for the current command. \n"
+"This can reversed by using the Right Click toggle button on the Command Options dialog."
msgstr ""
-"Normalerweise wird durch einen Rechts-Klick im Gleisplan ein Befehlsmenü "
-"angezeigt,. Bei Festhalten der Umschalt-Taste und einem vorher ausgewählten "
-"Kommando wird ein optionales Menü für das jeweilige Kommando angezeigt.\n"
+"Normalerweise wird durch einen Rechts-Klick im Gleisplan ein Befehlsmenü angezeigt,. Bei Festhalten der Umschalt-Taste und einem vorher ausgewählten Kommando wird ein optionales Menü für das jeweilige Kommando angezeigt.\n"
"Dieses Verhalten kann durch den Befehlsoptionen-Dialog vertauscht werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:191
-#: ../../../../build/work/app/i18n/custmsg.h:154
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:191
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:154
msgid ""
-"The Align item on the Rotate command options menu will let you Align "
-"selected objects with any unselected object. \n"
-"The selected objects are rotated so the first point is parallel to the "
-"second point you selected."
+"The Align item on the Rotate command options menu will let you Align selected objects with any unselected object. \n"
+"The selected objects are rotated so the first point is parallel to the second point you selected."
msgstr ""
-"Die Auswahl \"Ausrichten\" im Optionsmenü des \"Drehen\" Kommandos kann "
-"ausgewählte Objekte an nicht ausgewählten Objekten ausrichten. \n"
-"Die ausgewählten Objekte werden so rotiert dass der erste Auswahlpunkt "
-"parallel zum zweiten Auswahlpunkt erscheint."
+"Die Auswahl \"Ausrichten\" im Optionsmenü des \"Drehen\" Kommandos kann ausgewählte Objekte an nicht ausgewählten Objekten ausrichten. \n"
+"Die ausgewählten Objekte werden so rotiert dass der erste Auswahlpunkt parallel zum zweiten Auswahlpunkt erscheint."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:194
-#: ../../../../build/work/app/i18n/custmsg.h:156
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:194
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:156
msgid ""
"Print To Bitmap allows you to print the track center line. \n"
-"This is useful if you later print the bitmap full size as a template when "
-"laying track."
+"This is useful if you later print the bitmap full size as a template when laying track."
msgstr ""
"Speichern als Bitmap ermöglicht das mitspeichern der Gleismitte. \n"
-"Dies ist nützlich falls Sie später diese Bitmap in voller Größe ausdrucken "
-"wollen um sie als Gleisvorlage verwenden zu können."
+"Dies ist nützlich falls Sie später diese Bitmap in voller Größe ausdrucken wollen um sie als Gleisvorlage verwenden zu können."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:197
-#: ../../../../build/work/app/i18n/custmsg.h:158
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:197
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:158
msgid ""
"You can export the selected tracks to a DXF file which can be read by most "
"CAD programs."
@@ -11031,8 +11324,8 @@ msgstr ""
"Sie können markierte Gleise in eine DXF Datei exportieren, welche von den "
"meisten CAD Programmen lesbar ist."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:199
-#: ../../../../build/work/app/i18n/custmsg.h:160
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:199
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:160
msgid ""
"Lengths and distances can be displayed in a variety of units and formats "
"such as 1' 10 3/4\", 1ft 10.75in or 22.750. In Metric mode, distances can "
@@ -11046,120 +11339,95 @@ msgstr ""
"der Auswahl \"Einheiten\" im Dialog \"Optionen|Einstellungen\" vorgenommen "
"werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:201
-#: ../../../../build/work/app/i18n/custmsg.h:162
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:201
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:162
msgid ""
-"Tracks that are too steep or curve too tightly are drawn in the Exception "
-"color (Yellow by default). \n"
+"Tracks that are too steep or curve too tightly are drawn in the Exception color (Yellow by default). \n"
"This helps to identify potential problem areas. \n"
"The maximum grade and minimum radius are set on the Preferences dialog."
msgstr ""
-"Gleise, die zu abschüssig sind oder zu enge Radien haben, werden in einer "
-"Ausnahme Farbe dargestellt (üblicherweise Gelb). \n"
+"Gleise, die zu abschüssig sind oder zu enge Radien haben, werden in einer Ausnahme Farbe dargestellt (üblicherweise Gelb). \n"
"Dies hilft um Problembereiche aufzufinden. \n"
-"Die maximale Steigung und der minimale Radius werden im Eingenschaften "
-"Dialog eingestellt."
+"Die maximale Steigung und der minimale Radius werden im Eingenschaften Dialog eingestellt."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:205
-#: ../../../../build/work/app/i18n/custmsg.h:164
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:205
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:164
msgid ""
"The Flip command produces a mirror-image of the selected tracks. \n"
-"If possible, right-hand turnouts are relabeled as left-hand turnouts (and "
-"vice versa)."
+"If possible, right-hand turnouts are relabeled as left-hand turnouts (and vice versa)."
msgstr ""
-"Das \"Spiegeln\" Kommando im Menü \"Ändern\" spiegelt ausgewählte "
-"Gleise. \n"
-"Falls möglich werden rechte Weichen in linke Weichen umbenannt oder linke in "
-"rechte."
+"Das \"Spiegeln\" Kommando im Menü \"Ändern\" spiegelt ausgewählte Gleise. \n"
+"Falls möglich werden rechte Weichen in linke Weichen umbenannt oder linke in rechte."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:208
-#: ../../../../build/work/app/i18n/custmsg.h:166
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:208
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:166
msgid ""
-"Then Ungroup command will break turnouts and structures into individual "
-"track, line and shape segments. \n"
+"Then Ungroup command will break turnouts and structures into individual track, line and shape segments. \n"
"You can modify each segment and add new ones. \n"
"Then use the Group command to update the definition."
msgstr ""
-"Das Kommando \"Verwalten|Gruppierung aufheben\" trennt Weichen und oder "
-"Strukturen in einzelne Gleise, Linien oder Segmente auf. \n"
+"Das Kommando \"Verwalten|Gruppierung aufheben\" trennt Weichen und oder Strukturen in einzelne Gleise, Linien oder Segmente auf. \n"
"Sie können nun jedes einzelne Segment modifizieren neue hinzufügen usw. \n"
-"Danach benutzen Sie das Kommando \"Verwalten|Gruppieren\" um Ihre neue "
-"Definition wieder als Gruppierung zusammen zu fügen."
+"Danach benutzen Sie das Kommando \"Verwalten|Gruppieren\" um Ihre neue Definition wieder als Gruppierung zusammen zu fügen."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:212
-#: ../../../../build/work/app/i18n/custmsg.h:168
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:212
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:168
msgid "Dimension lines show the distance between two points."
msgstr "Maßlinien zeigen die Entfernung zwischen zwei Punkten an."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:214
-#: ../../../../build/work/app/i18n/custmsg.h:170
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:214
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:170
msgid ""
"A variety of Benchwork (rectangular, L-girder and T-girder) can be drawn. \n"
-"Use the Below command to move the Benchwork below the track for proper "
-"display."
+"Use the Below command to move the Benchwork below the track for proper display."
msgstr ""
-"Eine Vielzahl Unterbauten kann dargestellt werden (Rechteckformen, L-Träger "
-"und T-Träger). \n"
-"Das Kommando \"Darunter\" im Menü \"Bearbeiten\" wird benutzt um Unterbauten "
-"korrekt unter den Gleise darstellen zu können."
+"Eine Vielzahl Unterbauten kann dargestellt werden (Rechteckformen, L-Träger und T-Träger). \n"
+"Das Kommando \"Darunter\" im Menü \"Bearbeiten\" wird benutzt um Unterbauten korrekt unter den Gleise darstellen zu können."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:217
-#: ../../../../build/work/app/i18n/custmsg.h:172
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:217
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:172
msgid ""
-"The Turnout Designer dialogs allow you to specify the width of any attached "
-"roadbed. \n"
-"As well, the color and thickness of the lines used to represent the roadbed "
-"can be specified."
+"The Turnout Designer dialogs allow you to specify the width of any attached roadbed. \n"
+"As well, the color and thickness of the lines used to represent the roadbed can be specified."
msgstr ""
-"Der Weichendesigner ermöglicht die Angabe der Spurbreite von jedem "
-"beliebigen Gleisbett. \n"
-"Desweitern können Farbe und Stärke der Linien angegeben in denen das "
-"Gleisbett dargestellt wird."
+"Der Weichendesigner ermöglicht die Angabe der Spurbreite von jedem beliebigen Gleisbett. \n"
+"Desweitern können Farbe und Stärke der Linien angegeben in denen das Gleisbett dargestellt wird."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:220
-#: ../../../../build/work/app/i18n/custmsg.h:174
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:220
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:174
msgid ""
-"The Color dialog (on the Options menu) is used to change the color of "
-"different objects on the display. \n"
-"You can change the color of the Snap Grid and Borders, as well as Normal, "
-"Selected and Exception tracks."
+"The Color dialog (on the Options menu) is used to change the color of different objects on the display. \n"
+"You can change the color of the Snap Grid and Borders, as well as Normal, Selected and Exception tracks."
msgstr ""
-"Der Dialog \"Optionen|Farben\" wird benutzt um die Farben für verschiedene "
-"Objekte einzustellen. \n"
-"Die Farbe des Fangrasters, Ränder sowohl als auch für normale selektierte "
-"und Ausnahme Gleise können angegeben werden."
+"Der Dialog \"Optionen|Farben\" wird benutzt um die Farben für verschiedene Objekte einzustellen. \n"
+"Die Farbe des Fangrasters, Ränder sowohl als auch für normale selektierte und Ausnahme Gleise können angegeben werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:223
-#: ../../../../build/work/app/i18n/custmsg.h:176
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:223
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:176
msgid ""
"You can set the elevation (height) of track end-points. \n"
-"Elevations of intermediate end points can be computed automatically based on "
-"the distance to the nearest end points with defined elevations. \n"
+"Elevations of intermediate end points can be computed automatically based on the distance to the nearest end points with defined elevations. \n"
"Grades can also be displayed at selected end points. \n"
"Please see the Elevations help and demo."
msgstr ""
"Sie können die Höhe der Endpunkte des Gleises einstellen.\n"
-"Die Höhen der dazwischen liegenden Endpunkte können automatisch auf der "
-"Grundlage der Entfernung zu den nächstgelegenen Endpunkten mit definierten "
-"Höhen berechnet werden. \n"
+"Die Höhen der dazwischen liegenden Endpunkte können automatisch auf der Grundlage der Entfernung zu den nächstgelegenen Endpunkten mit definierten Höhen berechnet werden. \n"
"Die Steigungen können auch an ausgewählten Endpunkten angezeigt werden. \n"
"Bitte sehen Sie sich die Hilfe und die Demo zu den Erhebungen an."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:228
-#: ../../../../build/work/app/i18n/custmsg.h:178
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:228
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:178
msgid ""
-"Once you have elevations on some endpoints, you can use the Profile command "
-"to produce an elevation graph. \n"
+"Once you have elevations on some endpoints, you can use the Profile command to produce an elevation graph. \n"
"The graph shows the selected elevations, grades and distances. \n"
"Please see the Profile help and demo for details."
msgstr ""
-"Sobald Sie an einigen Endpunkten Höhenangaben haben, können Sie mit dem "
-"Befehl Profil ein Höhendiagramm erstellen.\n"
+"Sobald Sie an einigen Endpunkten Höhenangaben haben, können Sie mit dem Befehl Profil ein Höhendiagramm erstellen.\n"
"Das Diagramm zeigt die ausgewählten Höhen, Steigungen und Abstände an. \n"
"Einzelheiten finden Sie in der Profil-Hilfe und der Demo."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:232
-#: ../../../../build/work/app/i18n/custmsg.h:180
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:232
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:180
msgid ""
"You can draw tracks with wider lines for rails. \n"
"Select the tracks and use Medium or Thick Tracks on the Edit menu."
@@ -11167,48 +11435,39 @@ msgstr ""
"Schienen können mit breiteren Linien für Gleise gezeichnet werden. \n"
"Wählen Sie hierzu Mittlere Gleise oder Dicke Gleise im Bearbeiten Menü aus."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:235
-#: ../../../../build/work/app/i18n/custmsg.h:182
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:235
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:182
msgid ""
"The Helix command is used to create a Helix track. \n"
-"You specify some parameters: height, radius, number of turns, grade and "
-"vertical separation between layers. \n"
+"You specify some parameters: height, radius, number of turns, grade and vertical separation between layers. \n"
"These values are interrelated so changing one value will affect ohers. \n"
-"Then you can place the Helix and join to other tracks as you would a Circle "
-"track."
+"Then you can place the Helix and join to other tracks as you would a Circle track."
msgstr ""
"Der Gleiswendel-Befehl wird zum Erstellen einer Gleispirale verwendet. \n"
-"Sie geben einige Parameter an: Höhe, Radius, Anzahl der Windungen, Grad und "
-"vertikaler Abstand zwischen den Umdrehungen.\n"
-"Diese Werte sind miteinander verbunden, so dass die Änderung eines Wertes "
-"sich auf andere Werte auswirkt.\n"
-"Dann können Sie die Helix platzieren und mit anderen Gleisen verbinden, wie "
-"Sie es bei einem Gleiskreis tun würden."
+"Sie geben einige Parameter an: Höhe, Radius, Anzahl der Windungen, Grad und vertikaler Abstand zwischen den Umdrehungen.\n"
+"Diese Werte sind miteinander verbunden, so dass die Änderung eines Wertes sich auf andere Werte auswirkt.\n"
+"Dann können Sie die Helix platzieren und mit anderen Gleisen verbinden, wie Sie es bei einem Gleiskreis tun würden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:240
-#: ../../../../build/work/app/i18n/custmsg.h:184
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:240
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:184
msgid ""
-"Many objects on the layout have labels: Turnouts/Helix/Curved Titles, Track "
-"Lenghts, End-Point Elevations, Track Elevations and Cars. \n"
-"You can turn these labels on or off with the Label Enable toggle buttons on "
-"the Display options dialog."
+"Many objects on the layout have labels: Turnouts/Helix/Curved Titles, Track Lenghts, End-Point Elevations, Track Elevations and Cars. \n"
+"You can turn these labels on or off with the Label Enable toggle buttons on the Display options dialog."
msgstr ""
-"Viele Objekte im Gleisplan besitzen Beschreibungen: Weichen/Gleiswendel/"
-"Kurven Gleislängen Endpunkte Höhenangaben usw. \n"
-"Sie können diese Beschreibungen über den Dialog \"Optionen|Anzeige\" ein "
-"oder ausschalten."
+"Viele Objekte im Gleisplan besitzen Beschreibungen: Weichen/Gleiswendel/Kurven Gleislängen Endpunkte Höhenangaben usw. \n"
+"Sie können diese Beschreibungen über den Dialog \"Optionen|Anzeige\" ein oder ausschalten."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:243
-#: ../../../../build/work/app/i18n/custmsg.h:186
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:243
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:186
msgid ""
-"If you hold down the Control key when using the Rotate command, the rotation "
-"will be done in increments of 15ᅵ."
+"If you hold down the Control key when using the Rotate command, the rotation"
+" will be done in increments of 15ᅵ."
msgstr ""
-"Durch Festhalten der Strg Taste erfolgt die Rotation beim Drehen Kommando in "
-"15° Schritten."
+"Durch Festhalten der Strg Taste erfolgt die Rotation beim Drehen Kommando in"
+" 15° Schritten."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:245
-#: ../../../../build/work/app/i18n/custmsg.h:188
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:245
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:188
msgid ""
"When using the Rotate command, Shift-Right-Click displays a menu allowing "
"you to rotate by specific amounts or to align the selected objects with "
@@ -11218,16 +11477,17 @@ msgstr ""
"einem Menü der Drehwinkel des Objektes ausgewählt werden oder das Objekt "
"kann anhand eines anderen Objektes ausgerichtet werden."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:247
-#: ../../../../build/work/app/i18n/custmsg.h:190
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:247
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:190
msgid ""
-"This is last tip. If you have any additions or comments, please let us know."
+"This is last tip. If you have any additions or comments, please let us "
+"know."
msgstr ""
"Dies ist der letzte Tipp. Wenn Sie Ergänzungen oder Anmerkungen haben, "
"lassen Sie es uns bitte wissen."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:25
-#: ../../../../build/work/app/i18n/custmsg.h:192
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:25
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:192
msgid ""
"The unconnected endpoints of a straight or curved track can be changed with "
"the 'Modify Track' command.\n"
@@ -11235,17 +11495,17 @@ msgstr ""
"Die nicht verbundenen Endpunkte eines geraden oder eines gebogenen Gleise "
"können mit 'Ändern Gleis' verändert werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:31
-#: ../../../../build/work/app/i18n/custmsg.h:194
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:31
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:194
msgid ""
-"The endpoint of a straight track is selected and then Left-Dragged to change "
-"its length. A blue anchor shows that the length can be extended.\n"
+"The endpoint of a straight track is selected and then Left-Dragged to change"
+" its length. A blue anchor shows that the length can be extended.\n"
msgstr ""
"Der Endpunkt eines geraden Gleises wird ausgewählt und die Länge wird durch "
"Ziehen mit dem linken Maus-Knopf geändert.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:48
-#: ../../../../build/work/app/i18n/custmsg.h:196
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:48
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:196
msgid ""
"If you try to drag the selected endpoint beyond the far endpoint, the track "
"extends in the opposite direction.\n"
@@ -11253,9 +11513,9 @@ msgstr ""
"Wenn der ausgewählte Endpunkt über den entfernten Endpunkt hinaus gezogen "
"wird, wird das Gleis in die entgegengesetzte Richtung erweitert.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:68
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:73
-#: ../../../../build/work/app/i18n/custmsg.h:199
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:68
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:73
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:199
msgid ""
"A curved track is selected and it's new endpoint is determined by the angle "
"to the cursor. \n"
@@ -11263,12 +11523,12 @@ msgstr ""
"Ein gebogenes Gleis wird ausgewählt und der neue Endpunkt durch den Winkel "
"des Mauszeiger festgelegt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:105
-#: ../../../../build/work/app/i18n/custmsg.h:201
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:105
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:201
msgid "It's possible to almost create a complete circle.\n"
msgstr "Es ist beinahe möglich, einen vollständigen Kreis zu erstellen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:202
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:202
msgid ""
"If you drag the mouse beyond the start of the curve the track becomes very "
"short.\n"
@@ -11276,45 +11536,45 @@ msgstr ""
"Wenn Sie die Maus über den Startpunkt des Bogen hinaus ziehen, wird das "
"Gleis sehr kurz.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:113
-#: ../../../../build/work/app/i18n/custmsg.h:204
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:113
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:204
msgid "Here you are warned that the track will be too short.\n"
msgstr "Jetzt werden Sie gewarnt, dass das Gleis zu kurz wird.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:147
-#: ../../../../build/work/app/i18n/custmsg.h:206
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:147
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:206
msgid ""
-"If you move the cursor away from the curve, you will create a straight track "
-"tangent to the curve.\n"
+"If you move the cursor away from the curve, you will create a straight track"
+" tangent to the curve.\n"
msgstr ""
"Wenn Sie den Mauszeiger vom Bogen weg bewegen, erstellen Sie ein gerades "
"Gleis als Tangente an dem Bogen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:169
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:174
-#: ../../../../build/work/app/i18n/custmsg.h:209
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:169
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:174
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:209
msgid ""
"If you adjust the endpoint of a turnout or sectional track the track is "
"extended by a similar track segment. The extension can be \n"
msgstr ""
-"Wenn Sie den Endpunkt einer Weiche oder eines Festgleises anpassen, wird das "
-"Gleis durch ein gerades Segment verlängert.\n"
+"Wenn Sie den Endpunkt einer Weiche oder eines Festgleises anpassen, wird das"
+" Gleis durch ein gerades Segment verlängert.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:210
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:210
msgid "a straight or a curve.\n"
msgstr "eine Gerade oder eine Kurve.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:190
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:195
-#: ../../../../build/work/app/i18n/custmsg.h:213
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:190
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:195
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:213
msgid ""
-"You can change the radius of a straight or curved track that is connected at "
-"one endpoint by holding down the Shift key while Left-dragging on it.\n"
+"You can change the radius of a straight or curved track that is connected at"
+" one endpoint by holding down the Shift key while Left-dragging on it.\n"
msgstr ""
"Sie können den Radius eines Bogen ändern oder ein gerades Gleis biegen, "
"indem Sie bei gedrückter Umschalttaste und gedrücktem Mausknopf ziehen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:214
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:214
msgid ""
"The blue cross anchor shows that this is possible when shift is held down "
"with no buttons.\n"
@@ -11322,8 +11582,8 @@ msgstr ""
"Das blaue Kreuz zeigt, dass dies möglich ist, wenn die Umschalttaste ohne "
"Mausknöpfe gedrückt gehalten wird.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:209
-#: ../../../../build/work/app/i18n/custmsg.h:216
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:209
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:216
msgid ""
"This lets you change a straight track into a curved track (and vice versa) "
"as well as changing the radius of a curved track.\n"
@@ -11331,18 +11591,18 @@ msgstr ""
"Dadurch können Sie ein gerades Gleis in ein gebogenes (und umgekehrt) "
"umwandeln und den Radius eines Bogengleises ändern.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:252
-#: ../../../../build/work/app/i18n/custmsg.h:218
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:252
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:218
msgid ""
-"You can form an extension of a straight or curved Track that is connected at "
-"one endpoint using an easement by holding down the Ctrl key while Left-"
+"You can form an extension of a straight or curved Track that is connected at"
+" one endpoint using an easement by holding down the Ctrl key while Left-"
"dragging on it.\n"
msgstr ""
"Sie können ein gerades oder ein gebogenes Gleis, das an einem Endpunkt "
"verbunden ist, mit einem Übergangsbogen erweitern, indem Sie bei gedrückter "
"Strg-Taste und gedrücktem linkem Mausknopf ziehen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:219
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:219
msgid ""
"The blue half cross anchor shows that this is possible when the Ctrl key is "
"held down with no mouse button.\n"
@@ -11350,35 +11610,35 @@ msgstr ""
"Der blaue halbe Kreuz zeigt, dass dies möglich ist, wenn die Strg ohne "
"Mausknopf gedrückt gehalten wird.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:267
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmbench.xtr:9
-#: ../../../../build/work/app/i18n/custmsg.h:222
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:267
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmbench.xtr:9
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:222
msgid "You can draw a variety of different types of benchwork:\n"
msgstr "Sie können verschiedene Formend es Unterbau zeichnen:\n"
-#: ../../../../build/work/app/i18n/custmsg.h:223
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:223
msgid "- rectangular (1x2, 2x4 etc)\n"
msgstr "- rechteckig (1x2, 2x4 Inch usw.)\n"
-#: ../../../../build/work/app/i18n/custmsg.h:224
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:224
msgid "- L girders\n"
msgstr "- Winkelträger\n"
-#: ../../../../build/work/app/i18n/custmsg.h:225
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:225
msgid "- T girders\n"
msgstr "- T- Träger\n"
-#: ../../../../build/work/app/i18n/custmsg.h:226
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:226
msgid "You can also draw them in different orientations.\n"
msgstr "Sie können diese auch in verschiedenen Ausrichtungen zeichnen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmbench.xtr:25
-#: ../../../../build/work/app/i18n/custmsg.h:228
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmbench.xtr:25
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:228
msgid "We will draw two 3x6 inch L-girders.\n"
msgstr "Wir zeichnen zwei 3x6 Inch Winkelträger.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmbench.xtr:43
-#: ../../../../build/work/app/i18n/custmsg.h:230
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmbench.xtr:43
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:230
msgid ""
"The flange of the top L-Girders is on the outside edge of the girders. We "
"want to change the girder so both flanges are on the inside.\n"
@@ -11386,37 +11646,37 @@ msgstr ""
"Die Schmalseite des oberen Winkelträger ist auf der Außenseite. Wir wollen "
"die Träger so anpassen, dass beide Schmalseiten innen liegen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:231
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:231
msgid "We will use the <Describe> command for this.\n"
msgstr "Wir werden den <Beschreiben> Befehl dafür benutzen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmbench.xtr:54
-#: ../../../../build/work/app/i18n/custmsg.h:233
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmbench.xtr:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:233
msgid "Change the Orientation to Right.\n"
msgstr "Ändere die Ausrichtung auf rechts.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmbench.xtr:63
-#: ../../../../build/work/app/i18n/custmsg.h:235
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmbench.xtr:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:235
msgid "Now both flanges are on the inside of the two girders.\n"
msgstr "Jetzt sind beide Schmalseiten auf der Innenseite der beiden Träger.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:34
-#: ../../../../build/work/app/i18n/custmsg.h:237
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:34
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:237
msgid ""
"Pushing the <Describe> button will cancel any other command in progress.\n"
msgstr ""
"Durch Drücken des <Beschreiben> Knopfes wird jeder begonnene Befehl "
"abgebrochen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:238
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:238
msgid ""
"Here we will begin to create a curved track which is a two step process.\n"
msgstr ""
"In zwei Schritten werden wir mit dem Erstellen eines gebogenen Gleises "
"beginnen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:47
-#: ../../../../build/work/app/i18n/custmsg.h:240
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:47
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:240
msgid ""
"When we clicked on the <Describe> button, the current command was "
"cancelled.\n"
@@ -11424,47 +11684,47 @@ msgstr ""
"Durch Drücken auf den <Beschreiben> Knopf wurde der begonnene Befehl "
"abgebrochen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:241
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:241
msgid ""
"When in <Describe> mode, selecting any object will print a description in "
"the Status Bar and display a dialog showing properties of the clicked-on "
"object.\n"
msgstr ""
-"Im <Beschreiben> Modus wird durch Auswahl eines Objektes dessen Beschreibung "
-"in der Statuszeile angezeigt und die Eigenschaften des Objektes werden in "
+"Im <Beschreiben> Modus wird durch Auswahl eines Objektes dessen Beschreibung"
+" in der Statuszeile angezeigt und die Eigenschaften des Objektes werden in "
"einem Dialogfenster angezeigt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:57
-#: ../../../../build/work/app/i18n/custmsg.h:243
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:57
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:243
msgid ""
"Certain parameters of the object can be changed. In this case we'll change "
"the length\n"
msgstr ""
-"Einige der Eigenschaften des Objektes können geändert werden. In diesem Fall "
-"ändern wir die Länge\n"
+"Einige der Eigenschaften des Objektes können geändert werden. In diesem Fall"
+" ändern wir die Länge\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:65
-#: ../../../../build/work/app/i18n/custmsg.h:245
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:65
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:245
msgid "Let's look at the Turnout...\n"
msgstr "Jetzt wollen wir uns die Weiche anschauen...\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:73
-#: ../../../../build/work/app/i18n/custmsg.h:247
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:73
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:247
msgid "and change the turnout name and part no.\n"
msgstr "und Titel und Bestellnummer der Weiche ändern.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:84
-#: ../../../../build/work/app/i18n/custmsg.h:249
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:84
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:249
msgid "You can change the contents of text...\n"
msgstr "Sie können den Text ändern...\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:93
-#: ../../../../build/work/app/i18n/custmsg.h:251
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:93
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:251
msgid "and its size.\n"
msgstr "und seine Größe.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:100
-#: ../../../../build/work/app/i18n/custmsg.h:253
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:100
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:253
msgid ""
"If you select a note, the Description dialog appears which displays the "
"contents of the note.\n"
@@ -11472,9 +11732,9 @@ msgstr ""
"Wenn Sie eine Notiz auswählen, erscheint ein Dialogfenster, in dem der "
"Inhalt der Notiz angezeigt wird.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:112
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcircle.xtr:7
-#: ../../../../build/work/app/i18n/custmsg.h:256
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:112
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcircle.xtr:7
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:256
msgid ""
"Like the <Curve> track command, there are several ways to create a Circle "
"track.\n"
@@ -11482,7 +11742,7 @@ msgstr ""
"Wie beim <Bogen> Befehl gibt es mehrere Möglichkeiten, einen Gleiskreis zu "
"erstellen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:257
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:257
msgid ""
"The first is to specify a fixed radius and simply drag the Circle into "
"position.\n"
@@ -11490,18 +11750,18 @@ msgstr ""
"Die Erste ist die Vorgabe eines festen Radius und das Ziehen an die "
"gewünschte Position.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:258
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:258
msgid "We will change the Radius before proceeding.\n"
msgstr "Bevor wir weitermachen, ändern wir den Radius.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcircle.xtr:24
-#: ../../../../build/work/app/i18n/custmsg.h:260
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcircle.xtr:24
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:260
msgid "The next method is to drag from the edge of the Circle to the center.\n"
msgstr ""
"Die nächste Methode ist das Ziehen von der Kreislinie zum Mittelpunkt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcircle.xtr:37
-#: ../../../../build/work/app/i18n/custmsg.h:262
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcircle.xtr:37
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:262
msgid ""
"The last is similar, but you drag from the center of the Circle to the "
"edge.\n"
@@ -11509,19 +11769,19 @@ msgstr ""
"Die letzte, aber vergleichbare, Methode ist das Ziehen vom Mittelpunkt zur "
"Kreislinie.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcircle.xtr:50
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:157
-#: ../../../../build/work/app/i18n/custmsg.h:265
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcircle.xtr:50
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:157
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:265
msgid ""
"We have built a siding using Sectional track and have 2 End-Points that "
-"don't line up and are not connected automatically when placing the sectional "
-"track.\n"
+"don't line up and are not connected automatically when placing the sectional"
+" track.\n"
msgstr ""
"Wir haben ein Ausweichgleis erstellt und haben zwei Endpunkte erhaltem, die "
"beim Setzen von Festgleisen nicht automatisch verbunden wurden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:162
-#: ../../../../build/work/app/i18n/custmsg.h:267
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:162
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:267
msgid ""
"We use the <Connect> command to adjust neighboring tracks so the gap is "
"closed.\n"
@@ -11529,7 +11789,7 @@ msgstr ""
"Wir benutzen den <Zusammenfügen> Befehl, um die benachbarten Gleise so "
"auszurichten, dass die Lücke geschlossen ist.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:268
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:268
msgid ""
"Note: the adjustments are only done on tracks which have only 1 or 2 "
"connections. In this example the Turnouts would not be affected.\n"
@@ -11538,30 +11798,30 @@ msgstr ""
"Verbindungsn gemacht. In diesem Besipiel wurden die Weichen nicht "
"verändert.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:175
-#: ../../../../build/work/app/i18n/custmsg.h:270
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:175
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:270
msgid "And now the gap is closed.\n"
msgstr "Und jetzt ist die Lücke geschlossen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:181
-#: ../../../../build/work/app/i18n/custmsg.h:272
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:181
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:272
msgid "Other tracks have been shifted slightly to close the gap.\n"
msgstr "Andere Gleise wurden leicht verschoben, um die Lücke zu schliessen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:188
-#: ../../../../build/work/app/i18n/custmsg.h:274
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:188
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:274
msgid "You can see these slight mis-alignments.\n"
msgstr "Sie können die kleinen Versätze sehen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:275
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:275
msgid "But they will have no effect when the layout is actually built.\n"
msgstr ""
"Aber diese werden keinen Einfluss haben, wenn die Anlage später gebaut "
"wird.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:196
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:353
-#: ../../../../build/work/app/i18n/custmsg.h:278
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:196
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:353
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:278
msgid ""
"After working with Sectional track you might get to point where these mis-"
"alignments have accumulated and you wish to remove them.\n"
@@ -11569,70 +11829,69 @@ msgstr ""
"Nachdem Sie mit Festgleisen gearbeitet haben, haben sich diese Versätze "
"aufgebaut und Sie wollen diese entfernen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:279
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:279
msgid ""
-"You can remove these slight mis-alignments by tightening the tracks starting "
-"from a unconnected End-Point. Use Shift-Left-Click with the <Connect> "
+"You can remove these slight mis-alignments by tightening the tracks starting"
+" from a unconnected End-Point. Use Shift-Left-Click with the <Connect> "
"command.\n"
msgstr ""
-"Sie können diese kleinen Versätze durch Zusammenziehen der Gleise entfernen. "
-"Beginnen Sie an einem nicht verbundenen Endpunkt durch Drücken der Umschalte-"
-"Taste beim Deücken des <Zusammenfügen> Knopfes.\n"
+"Sie können diese kleinen Versätze durch Zusammenziehen der Gleise entfernen."
+" Beginnen Sie an einem nicht verbundenen Endpunkt durch Drücken der "
+"Umschalte-Taste beim Deücken des <Zusammenfügen> Knopfes.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:280
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:280
msgid "First use the <Split> command to disconnect the tracks.\n"
msgstr ""
"Zuerst benutzen Sie den <Trennen> Befehl um die Verbindung der Gleise zu "
"lösen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:363
-#: ../../../../build/work/app/i18n/custmsg.h:282
-msgid ""
-"Then with the <Connect> command, Shift-Left-Click on the 2 End-Points.\n"
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:363
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:282
+msgid "Then with the <Connect> command, Shift-Left-Click on the 2 End-Points.\n"
msgstr ""
"Dank ativieren Sie den <Verbinden> Befehl und Klicken bei gedrückter "
"Umschaltetaste auf die beiden Endpunkte.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:378
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn2.xtr:199
-#: ../../../../build/work/app/i18n/custmsg.h:285
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:378
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn2.xtr:199
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:285
msgid "In example shows a simple figure-8 layout using Sectional track.\n"
msgstr "In diesem Besipiel wird aus Festgleisen eine \"8\" gelegt.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:286
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:286
msgid ""
"You will notice that the tracks do not line up exactly in one location.\n"
msgstr ""
"Wie Sie sehen, sind die Gleise an einer Stelle nicht exakt ausgerichtet.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn2.xtr:211
-#: ../../../../build/work/app/i18n/custmsg.h:288
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn2.xtr:211
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:288
msgid ""
"We can use the <Connect> command to move the connecting tracks slightly and "
"connect the 2 End-Points.\n"
msgstr ""
-"Mit dem <Verbinden> Befehl können wir die zu verbindenden Gleise leicht "
-"verschiebenund die beiden Endpunkte verbinden.\n"
+"Mit dem <Connect> Befehl können wir die zu verbindenden Gleise leicht "
+"verschieben und die beiden Endpunkte verbinden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn2.xtr:224
-#: ../../../../build/work/app/i18n/custmsg.h:290
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn2.xtr:224
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:290
msgid "The two End-Points are now aligned and connected.\n"
msgstr "Die beiden Endpunkte sind jetzt ausgerichtet und verbunden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn2.xtr:231
-#: ../../../../build/work/app/i18n/custmsg.h:292
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn2.xtr:231
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:292
msgid "The connection was made by adding small gaps in other tracks.\n"
msgstr ""
"Die Verbindung wurde hergestellt, in dem kleine Lücken zwischen andere "
"Gleise eingefügt wurden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn2.xtr:238
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:7
-#: ../../../../build/work/app/i18n/custmsg.h:295
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn2.xtr:238
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:7
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:295
msgid "There are several ways to create a Curved track.\n"
msgstr "Es gibt mehrere Möglichkeiten, ein gebogenes Gleis zu erstellen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:296
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:296
msgid ""
"You can choose which to use by clicking on the small button to the left of "
"<Curve> command button if the current Curve command is not the one you "
@@ -11641,7 +11900,7 @@ msgstr ""
"Sie können zwischen diesen wählen, in dem Sie auf den kleinen Knopf neben "
"dem <Bogen> Knopf drücken.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:297
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:297
msgid ""
"The first is by clicking on the first End-Point and dragging in the "
"direction of the Curve.\n"
@@ -11649,21 +11908,22 @@ msgstr ""
"In der ersten Möglichkeit wird dieser durch Auswahl des ersten Endpunktes "
"und Ziehen in die Richtung des Bogen erstellt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:20
-#: ../../../../build/work/app/i18n/custmsg.h:299
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:20
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:299
msgid ""
"You will see a straight track with a double ended Red arrow at the end.\n"
msgstr ""
-"Sie sehen ein gerades Gleis mit einem roten Pfeil mit zwei Spitzen am Ende.\n"
+"Sie sehen ein gerades Gleis mit einem roten Pfeil mit zwei Spitzen am "
+"Ende.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:300
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:300
msgid "Click and drag on one of the Red arrows to complete the Curve.\n"
msgstr ""
"Klicken und ziehen Sie eine der roten Spitzem um den Bogen zu "
"vervollständigen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:39
-#: ../../../../build/work/app/i18n/custmsg.h:302
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:39
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:302
msgid ""
"The next method is to click at one End-Point and drag to the center of the "
"Curve.\n"
@@ -11671,8 +11931,8 @@ msgstr ""
"Die nächste Methode ist das Klicken auf einen Endpunkt und das Ziehen zum "
"Mittelpunkt der Kurzve.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:50
-#: ../../../../build/work/app/i18n/custmsg.h:304
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:50
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:304
msgid ""
"Now you will see the double ended Red arrow connected to the center of the "
"Curve marked by a small circle.\n"
@@ -11681,14 +11941,14 @@ msgstr ""
"Mittelpunkt des Bogen verbunden ist. Dieser ist mit einem kleinen Kreis "
"markiert.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:305
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:305
msgid "As before, drag on one of the Red arrows to complete the Curve.\n"
msgstr ""
-"Wie schon vorher beenden Sie den Bogen, indem Sie an einer der Pfeilspitzemn "
-"ziehen.\n"
+"Wie schon vorher beenden Sie den Bogen, indem Sie an einer der Pfeilspitzemn"
+" ziehen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:63
-#: ../../../../build/work/app/i18n/custmsg.h:307
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:307
msgid ""
"The next method is similar to the last except that you drag first from the "
"center of the Curve to one End-Point.\n"
@@ -11696,14 +11956,15 @@ msgstr ""
"Die nächste Methode ist vergleichbar zur vorherigen, allerdings Ziehen Sie "
"zuerst vom Mittelpunkt zu einem Endpunkt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:80
-#: ../../../../build/work/app/i18n/custmsg.h:309
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:80
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:309
msgid "Once again, drag on a Red arrow to complete the Curve.\n"
msgstr ""
-"Auch diesmal ziehen Sie an der roten Pfeilspitze um den Bogen zu vollenden.\n"
+"Auch diesmal ziehen Sie an der roten Pfeilspitze um den Bogen zu "
+"vollenden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:90
-#: ../../../../build/work/app/i18n/custmsg.h:311
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:90
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:311
msgid ""
"The last method begins by drawing a line between the two End-Points of the "
"Curve. This forms the Chord of the Curve.\n"
@@ -11711,52 +11972,51 @@ msgstr ""
"Bei der letzten Methode beginnen Sie, indem Sie eine Linie zwischen den "
"beiden Endpunkten ziehen. Diese bildet die Sehne des Bogen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:108
-#: ../../../../build/work/app/i18n/custmsg.h:313
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:108
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:313
msgid "Now drag on a Red arrow to complete the Curve.\n"
msgstr "Jetzt ziehen Sie an der roten Pfeilspitze um den Bogen zu erstellen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:118
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:112
-#: ../../../../build/work/app/i18n/custmsg.h:316
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:118
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:112
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:316
msgid "This demo will construct a control panel for part of a bigger layout.\n"
msgstr ""
"In dieser Demo wird ein Steuerpult für einen Teil einer größeren Anlage "
"erstellt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:117
-#: ../../../../build/work/app/i18n/custmsg.h:318
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:117
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:318
msgid "For our control panel we will use Œ\" lines. \n"
msgstr "Für unser Pult werden wir 1/2\" breite Linien benutzen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:319
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:319
msgid "Also, we will use a 1/8\" grid to lay out our controls.\n"
msgstr ""
"Außerdem werden wir ein 1/8\" Raster für die Ausrichtung der "
"Steuerungselemente benutzen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:320
-msgid ""
-"First, we will set up the Snap Grid for 1\" grid lines and 8 divisions.\n"
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:320
+msgid "First, we will set up the Snap Grid for 1\" grid lines and 8 divisions.\n"
msgstr ""
"Als erstes stellen wir das Fangraster auf 1\" Rasterlinien und 8 "
"Unterteilungen ein.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:132
-#: ../../../../build/work/app/i18n/custmsg.h:322
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:132
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:322
msgid "Now, clear the layout and turn on the Snap Grid.\n"
msgstr "Jetzt löschen wir den Entwurf und schalten das Fangraster ein.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:147
-#: ../../../../build/work/app/i18n/custmsg.h:324
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:147
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:324
msgid "First step: draw the lines representing the tracks.\n"
msgstr "Erster Schritte: zeichnen Sie die Linien, die die Gleise darstellen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:325
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:325
msgid "We specify the line width in pixels when at 1:1 zoom.\n"
msgstr "Wir geben die Linienbreite in Bildpunkten bei 1:1 Zoomfaktor an.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:326
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:326
msgid ""
"To create a 1/4\" line, divide the dots-per-inch (DPI) of your display by "
"4.\n"
@@ -11764,21 +12024,22 @@ msgstr ""
"Um eine 1/4 Inch-breite Linie zu erstellen, teilen Sie die Punkte pro Zoll "
"(DPI) Ihrer Anzeige durch 4.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:327
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:327
msgid ""
-"For MS-Windows the DPI is usually 98, so choose: 98/4 = 24 (approximately).\n"
+"For MS-Windows the DPI is usually 98, so choose: 98/4 = 24 "
+"(approximately).\n"
msgstr ""
"Unter Windows ist die Auflösung normalerweise 98, also wählen wir 98 / 4 = "
"ca. 24.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:328
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:328
msgid "For Linux, the DPI is usually 72, so choose: 72/4 = 18.\n"
msgstr ""
"Unter Linux ist die Auflösung normalerweise 72, also wählen wir 72 / 4 = "
"18.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:495
-#: ../../../../build/work/app/i18n/custmsg.h:330
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:495
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:330
msgid ""
"Notice how the Snap Grid keeps the main line and siding track parallel and "
"the connecting tracks and spur at a 45° angle.\n"
@@ -11786,21 +12047,21 @@ msgstr ""
"Beachten Sie, wie das Fangraster die Haupt- und die Nebenstrecke parallel "
"führt und die Verbindungen und das Abstellgleis auf einem 45° Winkel hält.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:503
-#: ../../../../build/work/app/i18n/custmsg.h:332
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:503
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:332
msgid "Second step: add LEDs for the turnout position indicators.\n"
msgstr "ZweiterSchritt: hinzufügen der LEDs für die Weichenanzeige.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:333
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:333
msgid "We will use T1 red and green LEDs.\n"
msgstr "Wir werden T1 rote und grüne LEDs benutzen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:334
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:334
msgid "We will zoom in to show positioning.\n"
msgstr "Wir zoomen rein, um die Positionierung zu zeigen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:513
-#: ../../../../build/work/app/i18n/custmsg.h:336
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:513
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:336
msgid ""
"Notice that when we are in the correct position (on the 1/8\" grid), the "
"Marker lines on the bottom and left rulers will high-light the tick marks. "
@@ -11811,62 +12072,63 @@ msgstr ""
"Sobald beide Markierungen hervorgehoben sind, die LED durch Drücken der "
"Leertaste fixieren.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:558
-#: ../../../../build/work/app/i18n/custmsg.h:338
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:558
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:338
msgid "Now we'll add push buttons to control the turnouts.\n"
msgstr "Jetzt fügen wir Drucktaster für die Steuerung der Weichen dazu.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:595
-#: ../../../../build/work/app/i18n/custmsg.h:340
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:595
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:340
msgid "Let's add signals to our siding.\n"
msgstr "Lassen Sie uns noch Signale an unserem Ausweichgleich aufstellen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:341
-msgid ""
-"The entrance to the siding will be protected by double headed signals.\n"
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:341
+msgid "The entrance to the siding will be protected by double headed signals.\n"
msgstr ""
"Die Einfahrt in das Ausweichgleich wird durch ein doppeltes Signal "
"geschützt\n"
-#: ../../../../build/work/app/i18n/custmsg.h:342
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:342
msgid "We'll select a signal from the HotBar and place it into position.\n"
msgstr ""
-"Wir wählen ein Signal aus der Auswahlleiste aus und bringen es in Position.\n"
+"Wir wählen ein Signal aus der Auswahlleiste aus und bringen es in "
+"Position.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:608
-#: ../../../../build/work/app/i18n/custmsg.h:344
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:608
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:344
msgid ""
"We rotate the signals by Shift-Right-Click and select 90° CW on the popup "
"menu. We can not show the popup menu in demo mode, but will simulate the "
"effect.\n"
msgstr ""
-"Wir rotieren die Signale durch Drücken und Festhalten der Umschalttaste bei "
-"gleichzeitigem Mausklick.Aus dem Menu wählen wir 90° gegen UZS aus. Im Demo-"
-"Mode kann das Menu nicht angezeigt werden, aber wir simulieren den Effekt.\n"
+"Wir rotieren die Signale durch Drücken und Festhalten der Umschalttaste bei"
+" gleichzeitigem Mausklick.Aus dem Menu wählen wir 90° gegen UZS aus. Im "
+"Demo-Mode kann das Menu nicht angezeigt werden, aber wir simulieren den "
+"Effekt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:657
-#: ../../../../build/work/app/i18n/custmsg.h:346
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:657
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:346
msgid "The exits from the siding will be protected by single headed signals.\n"
msgstr ""
"Die Ausfahrt aus dem Ausweichgleich wird durch ein einfaches Signal "
"gesichert.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:711
-#: ../../../../build/work/app/i18n/custmsg.h:348
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:711
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:348
msgid "Now for some touch-ups.\n"
msgstr "Nun noch ein paar kleinere Nachbesserungen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:349
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:349
msgid "Notice when the line meet at an angle there is a gap.\n"
msgstr ""
"Beachten Sie, dass am Berührungspunkt zwischen zwei Linien ein Spalt "
"existiert.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:350
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:350
msgid "We will fill this gap with the Œ\" dot.\n"
msgstr "Wir füllen diesen Spalt mit einem 1/2 Inch großen Punkt.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:351
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:351
msgid ""
"Note: Win95/Win98/WinME does not support drawing lines with flat end-caps, "
"but only with round end-caps.\n"
@@ -11874,12 +12136,12 @@ msgstr ""
"Note: Win95/Win98/WinME does not support drawing lines with flat end-caps, "
"but only with round end-caps.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:352
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:352
msgid "Users on those platforms will not see the gap.\n"
msgstr "Users on those platforms will not see the gap.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:734
-#: ../../../../build/work/app/i18n/custmsg.h:354
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:734
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:354
msgid ""
"Add an arrow head to indicate the tracks that connect to the rest of the "
"layout.\n"
@@ -11887,17 +12149,17 @@ msgstr ""
"Mit einer Pfeilspitze werden die Gleise markiert, die mit dem Rest der "
"Anlage verbunden sind.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:355
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:355
msgid "The second arrow will be flipped 180°\"\n"
msgstr "Der zweite Pfeil wird um 180° umgedreht\"\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:772
-#: ../../../../build/work/app/i18n/custmsg.h:357
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:772
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:357
msgid "And add some labels.\n"
msgstr "Und fügen einige Beschriftungen hinzu.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:831
-#: ../../../../build/work/app/i18n/custmsg.h:359
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:833
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:359
msgid ""
"We want to print our control panel onto a 8œx11 page, but the control panel "
"is a bit too wide.\n"
@@ -11905,11 +12167,11 @@ msgstr ""
"Wir würden das Steuerpult gerne auf Paiper mit der Größe 8\"x11\" drucken, "
"aber es ist zu breit.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:360
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:360
msgid "Lets tighten it up a bit.\n"
msgstr "Lassen Sie uns das ein bisschen enger zusammen packen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:361
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:361
msgid ""
"First turn the Snap Grid on again so any moves we make will keep objects on "
"the grid.\n"
@@ -11917,40 +12179,39 @@ msgstr ""
"Zuerst schalten Sie bitte das Fangraster wieder ein, damit die Objekte beim "
"Verschieben ausgerichtet bleiben.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:840
-#: ../../../../build/work/app/i18n/custmsg.h:363
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:842
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:363
msgid "Lets move the spur track to the left 3/4\"\n"
msgstr "Lassen Sie uns das Abstellgleis um ein 3/4 Inch nach links schieben.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:862
-#: ../../../../build/work/app/i18n/custmsg.h:365
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:864
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:365
msgid "Now move the right side of the siding over.\n"
msgstr "Jetzt verschieben Sie die rechte Seite des Ausweichgleises.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:882
-#: ../../../../build/work/app/i18n/custmsg.h:367
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:884
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:367
msgid "Now, adjust the ends of the mainline and siding tracks.\n"
-msgstr ""
-"Und passen nun die Enden des Hauptgleises und des Ausweichgleises an.\n"
+msgstr "Und passen nun die Enden des Hauptgleises und des Ausweichgleises an.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:902
-#: ../../../../build/work/app/i18n/custmsg.h:369
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:904
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:369
msgid "And move the title over as well.\n"
msgstr "Anschliessend noch den Titel verschieben.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:919
-#: ../../../../build/work/app/i18n/custmsg.h:371
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:921
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:371
msgid "Now you can print it.\n"
msgstr "Jetzt können Sie das Ergebnis drucken.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:372
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:372
msgid "The cross-hairs on the LEDs and switch show the centers for drilling.\n"
msgstr ""
-"Fadenkreuze markieren die Mittelpunkte der LEDs und Schalter und ermöglichen "
-"so ein einfaches Bohren.\n"
+"Fadenkreuze markieren die Mittelpunkte der LEDs und Schalter und ermöglichen"
+" so ein einfaches Bohren.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdelund.xtr:33
-#: ../../../../build/work/app/i18n/custmsg.h:374
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdelund.xtr:33
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:374
msgid ""
"Pressing the <Delete> button lets you delete selected tracks from the "
"layout.\n"
@@ -11958,7 +12219,7 @@ msgstr ""
"Durch Drücken der <Entf>-Taste können Sie die ausgewählten Gleise vom Plan "
"löschen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:375
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:375
msgid ""
"First you select the tracks you want to delete, and then press the <Delete> "
"button.\n"
@@ -11966,42 +12227,42 @@ msgstr ""
"Zuerst wählen Sie die Gleise, die Sie löschen wollen und drücken dann "
"<Entf>.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdelund.xtr:47
-#: ../../../../build/work/app/i18n/custmsg.h:377
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdelund.xtr:47
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:377
msgid ""
"If you delete a track connected to an easement curve, then the easement "
"curve is deleted as well.\n"
msgstr ""
-"Wenn Sie ein Gleis löschen, das einen Übergangsbogen besitzt, so wird dieser "
-"Übergangsbogen ebenfalls gelöscht.\n"
+"Wenn Sie ein Gleis löschen, das einen Übergangsbogen besitzt, so wird dieser"
+" Übergangsbogen ebenfalls gelöscht.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdelund.xtr:57
-#: ../../../../build/work/app/i18n/custmsg.h:379
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdelund.xtr:57
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:379
msgid "You can use the <Undo> command to undelete tracks.\n"
msgstr ""
"Sie können den <Rückgängig>-Befehl nutzen, um ein versehentliches Löschen "
"rückgängig zu machen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdelund.xtr:67
-#: ../../../../build/work/app/i18n/custmsg.h:381
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdelund.xtr:67
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:381
msgid ""
"If you Left-Drag on the layout you can select all tracks within an area.\n"
msgstr ""
-"Durch Ziehen mit der Maus bei gedrückter linker Taste können Sie alle Gleise "
-"in einem Bereich markieren.\n"
+"Durch Ziehen mit der Maus bei gedrückter linker Taste können Sie alle Gleise"
+" in einem Bereich markieren.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:382
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:382
msgid ""
"Note, only tracks within the selected area are deleted. Since the easement "
"curve is connected to a deleted track, it is deleted as well.\n"
msgstr ""
"Beachten Sie, dass nur Gleise innerhalb des markierten Bereichs gelöscht "
-"werden. Da der Übergangsbogen mit einem gelöschten Gleis verbunden ist, wird "
-"dieser ebenfalls gelöscht.\n"
+"werden. Da der Übergangsbogen mit einem gelöschten Gleis verbunden ist, wird"
+" dieser ebenfalls gelöscht.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdelund.xtr:80
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:6
-#: ../../../../build/work/app/i18n/custmsg.h:385
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdelund.xtr:80
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:385
msgid ""
"The demo also simulates entering values and selecting options on various "
"dialogs.\n"
@@ -12009,16 +12270,16 @@ msgstr ""
"Die Demo simuliert die Eingabe von Werten und Auswahl von Optionen in "
"verschiedenen Dialogfenstern.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:386
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:386
msgid ""
"This is simulated by drawing a rectangle around the control when values are "
"entered or changed.\n"
msgstr ""
-"Dies wird simuliert, in dem ein Rechteck um das Eingabefeld gezeichnet wird, "
-"wenn Werte eingegeben oder geändert werden.\n"
+"Dies wird simuliert, in dem ein Rechteck um das Eingabefeld gezeichnet wird,"
+" wenn Werte eingegeben oder geändert werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:13
-#: ../../../../build/work/app/i18n/custmsg.h:388
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:13
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:388
msgid ""
"Here we are going to make some changes to the Display dialog. Notice how "
"this is simulated.\n"
@@ -12026,37 +12287,37 @@ msgstr ""
"Hier machen wir Änderungen im Anzeige-Dialog. Beachten Sie, wie das "
"simuliert wird.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:389
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:389
msgid "First we are setting 'Draw Tunnel' to 'Normal'\n"
msgstr "Zuerst setzen wir 'Tunnel zeichnen' auf 'Normal'.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:21
-#: ../../../../build/work/app/i18n/custmsg.h:391
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:21
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:391
msgid "Now we're changing 'Label Font Size' to '56'\n"
msgstr "Jetzt ändern wir 'Schriftartgröße' nach '56'.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:26
-#: ../../../../build/work/app/i18n/custmsg.h:393
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:26
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:393
msgid "We'll change some other options\n"
msgstr "Wir werden einige andere Optionen ändern\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:38
-#: ../../../../build/work/app/i18n/custmsg.h:395
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:38
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:395
msgid ""
-"This effect is only used in demonstration mode. During normal operation you "
-"will not see this.\n"
+"This effect is only used in demonstration mode. During normal operation you"
+" will not see this.\n"
msgstr ""
-"Dieser Effekt wird nur im Demonstrations-Modus benutzt. Während der normalen "
-"Benutzung werden Sie das nicht sehen.\n"
+"Dieser Effekt wird nur im Demonstrations-Modus benutzt. Während der normalen"
+" Benutzung werden Sie das nicht sehen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:45
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdimlin.xtr:117
-#: ../../../../build/work/app/i18n/custmsg.h:398
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:45
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdimlin.xtr:117
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:398
msgid "Dimension Lines are used to mark the distances between two points.\n"
msgstr ""
"Maßlinien werden benutzt, um den Abstand zwischen zwei Punkten zu zeigen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:399
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:399
msgid ""
"Here we will create a Dimension Line to show the separation between two "
"tracks.\n"
@@ -12064,17 +12325,17 @@ msgstr ""
"Hier erstellen wir eine Maßlinie, um den Abstand zwischen zwei parallelen "
"Gleisen zu zeigen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdimlin.xtr:132
-#: ../../../../build/work/app/i18n/custmsg.h:401
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdimlin.xtr:132
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:401
msgid ""
"We might also want to measure the distance between two structures. In this "
"case we will use a larger dimension line.\n"
msgstr ""
-"Möglicherweise wollen wir auch den Abstand zwischen zwei Gebäuden bestimmen."
-"In diesem Fall nutzen wir eine größere Maßlinie.\n"
+"Möglicherweise wollen wir auch den Abstand zwischen zwei Gebäuden "
+"bestimmen.In diesem Fall nutzen wir eine größere Maßlinie.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdimlin.xtr:143
-#: ../../../../build/work/app/i18n/custmsg.h:403
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdimlin.xtr:144
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:403
msgid ""
"We can use the <Describe> command to change the position of the Dimension "
"Line and the size of the numbers.\n"
@@ -12082,43 +12343,43 @@ msgstr ""
"Der <Beschreiben> Befehl kann genutzt werden, um die Position der Maßlinie "
"und die Größe der Zahlen zu ändern.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdimlin.xtr:161
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:14
-#: ../../../../build/work/app/i18n/custmsg.h:406
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdimlin.xtr:162
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:406
msgid ""
"This example will show the effect of using easements while joining tracks.\n"
msgstr ""
-"In diesem Beispiel wird die Wirkung der Übergangsbögen während des Verbinden "
-"von Gleisen gezeigt.\n"
+"In diesem Beispiel wird die Wirkung der Übergangsbögen während des Verbinden"
+" von Gleisen gezeigt.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:407
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:407
msgid "First, we will enable Cornu Easements and select Join\n"
msgstr "Zuerst schalten wir Übergangsbögen an und wählen Verbinden aus.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:28
-#: ../../../../build/work/app/i18n/custmsg.h:409
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:28
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:409
msgid "First select one end of the track\n"
msgstr "Zuerst wird ein Ende des Gleises ausgewählt\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:39
-#: ../../../../build/work/app/i18n/custmsg.h:411
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:39
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:411
msgid "Now the end of different track\n"
msgstr "Und jetzt das Ende eine anderen Gleises\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:49
-#: ../../../../build/work/app/i18n/custmsg.h:413
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:49
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:413
msgid "You can reposition the ends by dragging them \n"
msgstr "Sie können die Enden durch Ziehen verschieben \n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:65
-#: ../../../../build/work/app/i18n/custmsg.h:415
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:65
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:415
msgid "When you are happy, Hit Enter or Space, if not use Esc\n"
msgstr ""
"Wenn Sie zufrieden sind, drücken Sie die Eingabetaste oder die Leertaste, "
"wenn Sie nicht Esc\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:73
-#: ../../../../build/work/app/i18n/custmsg.h:417
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:73
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:417
msgid ""
"The Curve is made up of Beziers parts that smooth the shape the best way it "
"can be in the space available\n"
@@ -12126,42 +12387,42 @@ msgstr ""
"Die Kurve besteht aus Beziers-Teilen, die die Form auf die beste Weise im "
"verfügbaren Raum glätten.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:87
-#: ../../../../build/work/app/i18n/custmsg.h:419
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:87
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:419
msgid "Now, we'll show traditional easements instead.\n"
msgstr "Nun werden wir stattdessen traditionelle Übergangsbögen zeigen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:142
-#: ../../../../build/work/app/i18n/custmsg.h:421
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:142
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:421
msgid ""
-"We've selected sharp easements. The minimum radius curve we can use will be "
-"9.75\"\n"
+"We've selected sharp easements. The minimum radius curve we can use will be"
+" 9.75\"\n"
msgstr ""
"Wir haben enge Übergangsbögen ausgewählt. Der Mindestradius, den wir "
"benutzen können, beträt 9,75\".\n"
-#: ../../../../build/work/app/i18n/custmsg.h:422
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:422
msgid "Notice the label on the Easement button has changed to 'Sharp'.\n"
msgstr ""
-"Beachten Sie, dass die Beschriftung des Knopfes <Übergangsbogen> auf 'Sharp' "
-"geändert wurde.\n"
+"Beachten Sie, dass die Beschriftung des Knopfes <Übergangsbogen> auf 'Sharp'"
+" geändert wurde.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:157
-#: ../../../../build/work/app/i18n/custmsg.h:424
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:157
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:424
msgid ""
-"Note the connecting curve does not quite meet the straight tracks. This the "
-"'Offset'.\n"
+"Note the connecting curve does not quite meet the straight tracks. This the"
+" 'Offset'.\n"
msgstr ""
-"Beachten Sie. dass das Verbindungsgleis das gerade Gleis nicht genau trifft. "
-"Das ist der 'Absatz'.\n"
+"Beachten Sie. dass das Verbindungsgleis das gerade Gleis nicht genau trifft."
+" Das ist der 'Absatz'.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:165
-#: ../../../../build/work/app/i18n/custmsg.h:426
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:165
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:426
msgid "Here the connecting curve is too small.\n"
msgstr "Jetzt ist der Verbindungsradius zu klein.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:175
-#: ../../../../build/work/app/i18n/custmsg.h:428
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:175
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:428
msgid ""
"The connecting curve is made of three tracks, the curve and two easement "
"segments on each end.\n"
@@ -12169,8 +12430,8 @@ msgstr ""
"Die verbindende Kurve besteht aus drei Gleisen, der Kurve und den "
"Übergangsbögen an jedem Ende.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:112
-#: ../../../../build/work/app/i18n/custmsg.h:430
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:112
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:430
msgid ""
"We have designed part of the layout with a siding, 2 branches and a spiral "
"loop. We want to set elevations.\n"
@@ -12178,68 +12439,68 @@ msgstr ""
"Wir haben einen Teil eines Gleisplan mit Nebengleis, 2 Abzweigen und einer "
"Gleiswendel entworfen. Jetzt wollen wir die Höhen festlegen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:431
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:431
msgid "Note: make sure you set endpoint elevations on the Display dialog.\n"
msgstr ""
"Hinweis: Vergewissern Sie sich, dass Sie die Endpunkterhebungen im "
"Dialogfeld Anzeige einstellen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:122
-#: ../../../../build/work/app/i18n/custmsg.h:433
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:122
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:433
msgid "First we will set elevations at the end of the branches.\n"
msgstr "Zuerst legen wir die Höhen am Ende der Abzweige fest.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:132
-#: ../../../../build/work/app/i18n/custmsg.h:435
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:132
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:435
msgid "We'll select the end of the top branch and set the Elevation to 4\"\n"
msgstr ""
"Wir wählen das Ende des oberen Abzweigs und legen die Höhe auf 4\" fest.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:436
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:436
msgid "First, click on the End-Point.\n"
msgstr "Zuerst klicken Sie auf den Endpunkt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:142
-#: ../../../../build/work/app/i18n/custmsg.h:438
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:142
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:438
msgid "Next, pick Defined on the Elevation dialog Radio box.\n"
msgstr "Als nächstes wählen Sie 'Fest' im Dialogfenster für das Höhenmaß.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:148
-#: ../../../../build/work/app/i18n/custmsg.h:440
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:148
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:440
msgid "And set the Elevation to 4.\n"
msgstr "Und setzen die Höhe auf 4.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:156
-#: ../../../../build/work/app/i18n/custmsg.h:442
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:156
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:442
msgid "Now, select the other branch and set it's elevation to 2\"\n"
-msgstr ""
-"Jetzt wählen Sie den anderen Abzweig und legen seine Höhe auf 2\" fest.\n"
+msgstr "Jetzt wählen Sie den anderen Abzweig und legen seine Höhe auf 2\" fest.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:170
-#: ../../../../build/work/app/i18n/custmsg.h:444
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:170
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:444
msgid "We can move the Elevation label by using Ctrl-Left-Drag\n"
msgstr ""
"Wir können die Höhenbeschriftung durch Ziehen mit der Maus bei gedrückter "
"Strg+linker Mausaste verschieben.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:182
-#: ../../../../build/work/app/i18n/custmsg.h:446
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:182
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:446
msgid "Now, we set the Elevation at one end of the Siding.\n"
msgstr "Jetzt legen wir die Höhe an einem Ende des Nebengleises fest.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:209
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:215
-#: ../../../../build/work/app/i18n/custmsg.h:449
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:209
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:215
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:449
msgid "We want to find the elevations where the 2 tracks cross.\n"
msgstr ""
-"Wir wollen die Höhen der Gleise ermitteln, an denen diese sich kreuzen.\n"
+"Wir wollen die Höhen der Gleise, an der Stelle ermitteln, an der diese sich "
+"kreuzen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:224
-#: ../../../../build/work/app/i18n/custmsg.h:451
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:224
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:451
msgid "We picked an End-Point on the upper track.\n"
msgstr "Wir haben einen Endpunkt am oberen Gleis ausgewählt.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:452
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:452
msgid ""
"XTrackCAD has computed the Elevation (2.33\") at this point based on the "
"Elevation at the siding and a combination of the of the first Elevations.\n"
@@ -12247,7 +12508,7 @@ msgstr ""
"XTrackCAD hat die Höhe (2,33\") an dieser Stelle auf Grundlage der Höhe des "
"Nebengleises in Verbindung mit den ersten Höhenangaben ermittelt.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:453
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:453
msgid ""
"We create a Computed Elevation here that will be automatically adjusted "
"whenever the other Elevations are changed.\n"
@@ -12255,29 +12516,29 @@ msgstr ""
"Hier erstellen wir eine 'Berechnete' Höhe, die automatisch angepasst wird, "
"wenn sich andere Höhenangaben ändern.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:243
-#: ../../../../build/work/app/i18n/custmsg.h:455
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:243
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:455
msgid ""
-"The Compute Elevation is based on Elevations at end of both of the "
-"branches. We may want to base the Elevation on only one branch. For "
-"example if one branch was the mainline we don't want the other branch "
-"affecting this Computed Elevation.\n"
+"The Compute Elevation is based on Elevations at end of both of the branches."
+" We may want to base the Elevation on only one branch. For example if one "
+"branch was the mainline we don't want the other branch affecting this "
+"Computed Elevation.\n"
msgstr ""
"Die berechnete Höhe basiert auf den Höhen an den Endpunkten der beiden "
"Abzweige. Wir wollen aber möglicherweise nur die Höhe eines Abzweigs "
-"benutzen. Das kann sinnvoll sein, wenn der Abzweig das Hauptgleis bildet und "
-"wir nicht wollen dass das andere Gleis die Höhenberechnung beeinflusst.\n"
+"benutzen. Das kann sinnvoll sein, wenn der Abzweig das Hauptgleis bildet und"
+" wir nicht wollen dass das andere Gleis die Höhenberechnung beeinflusst.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:456
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:456
msgid "We do this by Ignoring the branch we don't want.\n"
msgstr "Wir erreichen das, indem wir einen Abzweig ignorieren.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:457
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:457
msgid "We'll ignore the lower branch.\n"
msgstr "Wir werden den unteren Abzweig ignorieren.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:258
-#: ../../../../build/work/app/i18n/custmsg.h:459
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:258
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:459
msgid ""
"Notice at the endpoint where the tracks cross, we see the elevation has "
"changed from 2.33 to 2.64.\n"
@@ -12285,17 +12546,17 @@ msgstr ""
"Beachten Sie dass sich am Endpunkt,an dem sich die Gleise kreuzen, die Höhe "
"von 2,33 auf 2,64 geändert hat.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:264
-#: ../../../../build/work/app/i18n/custmsg.h:461
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:264
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:461
msgid "Now we want to know the elevation of the lower track.\n"
msgstr "Jetzt wollen wir die Höhe des unteren Gleises ermitteln.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:274
-#: ../../../../build/work/app/i18n/custmsg.h:463
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:274
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:463
msgid "There is no endpoint on the lower track here.\n"
msgstr "Es gibt hier keinen Endpunkt des unteren Gleises.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:464
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:464
msgid ""
"Use Shift-Left-Click to Split the track and create an endpoint we can use "
"for an elevation,\n"
@@ -12304,18 +12565,18 @@ msgstr ""
"getrennt und ein Endpunkt, den wir für die Festlegung der Höhe nutzen "
"können, eingefügt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:287
-#: ../../../../build/work/app/i18n/custmsg.h:466
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:287
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:466
msgid "and create another Computed Elevation point.\n"
msgstr "Wir erstellen einen neuen berechneten Höhenpunkt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:302
-#: ../../../../build/work/app/i18n/custmsg.h:468
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:302
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:468
msgid "Now we want to label the grade on this section of track.\n"
msgstr "Jetzt zeigen wir die Steigung auf diesem Gleisabschnitt an.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:311
-#: ../../../../build/work/app/i18n/custmsg.h:470
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:311
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:470
msgid ""
"Again, since there is no endpoint nearby, we split the track to create an "
"endpoint we can use,\n"
@@ -12323,20 +12584,20 @@ msgstr ""
"Auch hier ist wieder kein Endpunkt in der Nähe, daher trennen wir das Gleis "
"um einen nutzbaren Endpunkt zu erhalten.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:321
-#: ../../../../build/work/app/i18n/custmsg.h:472
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:321
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:472
msgid "and create a grade marker.\n"
msgstr "und erstellen wir eine Steigungsbeschriftung.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:335
-#: ../../../../build/work/app/i18n/custmsg.h:474
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:335
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:474
msgid "Note the marker has an arrow pointing in the upwards direction.\n"
msgstr ""
"Beachten Sie, dass die Markierung einen Pfeil besitzt, der in Richtung des "
"Anstiegs zeigt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:344
-#: ../../../../build/work/app/i18n/custmsg.h:476
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:344
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:476
msgid ""
"The last thing we want to do is to create a Station label that we'll use in "
"the <Profile> command.\n"
@@ -12344,26 +12605,26 @@ msgstr ""
"Als letzten Schritt erstellen wir noch eine Beschriftung für einen Bahnhof, "
"den wir im <Höhenprofil> Befehl benutzen werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:358
-#: ../../../../build/work/app/i18n/custmsg.h:478
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:358
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:478
msgid "Now, set the Elevation to Station and enter the its name.\n"
msgstr ""
"Jetzt setzen Sie die Höhenmarkierung auf 'Bahnhof' und geben den Namen "
"ein.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:376
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:31
-#: ../../../../build/work/app/i18n/custmsg.h:481
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:376
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:31
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:481
msgid ""
-"XTrackCAD can help find tracks that are curved too sharply or are too "
-"steep. These tracks are Exception tracks and are drawn in the Exception "
-"track color.\n"
+"XTrackCAD can help find tracks that are curved too sharply or are too steep."
+" These tracks are Exception tracks and are drawn in the Exception track "
+"color.\n"
msgstr ""
"XTrackCAD kann Ihnen helfen, Gleise zu finden, die einen zu engn Radius "
"bilden oder die zu steil ansteigen. Diese Gleise sind Ausnahmegleise und "
"werden in der Ausnahmegleisfarbe dargestellt.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:482
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:482
msgid ""
"In this example we have a curved track with radius of 9\" and a straight "
"track with a grade of 3.8%.\n"
@@ -12371,12 +12632,12 @@ msgstr ""
"In diesem Besipiel haben wir eine Kurve mit einem Radius von 9,5\" und ein "
"gerades Gleis auf einer 3.8% Steigung.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:483
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:483
msgid " \n"
msgstr " \n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:39
-#: ../../../../build/work/app/i18n/custmsg.h:485
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:39
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:485
msgid ""
"The Layout dialog shows the Minimum Track Radius is 9\" and the Maximum "
"Track Grade is 5%.\n"
@@ -12384,26 +12645,26 @@ msgstr ""
"Im den Optionen für den Gleisplan sehen wir, dass der Mindestradius mit 9\" "
"und die maximale Steigung mit 5% festgelegt sind.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:48
-#: ../../../../build/work/app/i18n/custmsg.h:487
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:48
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:487
msgid ""
"If we make the curved track sharper it will be drawn in the Exception "
"color.\n"
msgstr ""
-"Verringern wir den Radius der Kurve, so wird das Gleis mit der Ausnahmefarbe "
-"dargestellt.\n"
+"Verringern wir den Radius der Kurve, so wird das Gleis mit der Ausnahmefarbe"
+" dargestellt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:61
-#: ../../../../build/work/app/i18n/custmsg.h:489
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:61
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:489
msgid ""
-"If we make the straight track steeper it will also be drawn in the Exception "
-"color.\n"
+"If we make the straight track steeper it will also be drawn in the Exception"
+" color.\n"
msgstr ""
-"Vergrößern wir die Steigung des geraden Gleises, so wird das Gleis ebenfalls "
-"in der Ausnahmefarbe dargestellt.\n"
+"Vergrößern wir die Steigung des geraden Gleises, so wird das Gleis ebenfalls"
+" in der Ausnahmefarbe dargestellt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:78
-#: ../../../../build/work/app/i18n/custmsg.h:491
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:78
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:491
msgid ""
"You can change the Exception color on the Colors dialog from the Options "
"menu.\n"
@@ -12411,34 +12672,34 @@ msgstr ""
"Die Ausnahmefarbe kann im Farbdialogfenster des Optionen-Menus geändert "
"werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:85
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:21
-#: ../../../../build/work/app/i18n/custmsg.h:494
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:85
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:21
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:494
msgid ""
-"The unconnected endpoint of any track can also be extended with the <Modify> "
-"command using Right-Drag.\n"
+"The unconnected endpoint of any track can also be extended with the <Modify>"
+" command using Right-Drag.\n"
msgstr ""
"Die nicht verbundenen Endpunkte eines geraden oder eines gebogenen Gleise "
"können mit dem Befehl 'Ändern ' udn Rechts-Ziehen der Maus verändert "
"werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:26
-#: ../../../../build/work/app/i18n/custmsg.h:496
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:26
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:496
msgid "Select the endoint and Right-Drag.\n"
msgstr "Endpunkt auswählen und mit rechter Maustaste ziehen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:34
-#: ../../../../build/work/app/i18n/custmsg.h:498
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:34
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:498
msgid "The extending track can be straight...\n"
msgstr "Die Erweiterung kann gerade sein...\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:44
-#: ../../../../build/work/app/i18n/custmsg.h:500
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:44
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:500
msgid "... or curved.\n"
msgstr "...oder gebogen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:51
-#: ../../../../build/work/app/i18n/custmsg.h:502
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:51
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:502
msgid ""
"If you extend a straight or curved flex track and enable Easements then an "
"Easement curve will be automatically generated when you extend the track.\n"
@@ -12446,97 +12707,96 @@ msgstr ""
"Wenn die Funktion Übergangsbogen aktiv ist, während Sie ein gerades oder "
"gebogenes Flexgleis verändern, so wird ein Übergangsbogen erstellt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:65
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:124
-#: ../../../../build/work/app/i18n/custmsg.h:505
-msgid ""
-"The <Flip> command will create a mirror image of the selected objects.\n"
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:65
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:124
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:505
+msgid "The <Flip> command will create a mirror image of the selected objects.\n"
msgstr ""
"Der Befehl <Spiegeln> erzeugt ein Spiegelbild der ausgewählten Objekte.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:131
-#: ../../../../build/work/app/i18n/custmsg.h:507
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:131
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:507
msgid "After selecting the object, drag a line which will form the mirror.\n"
msgstr ""
"Nach der Auswahl der Objekte, wird eine Linie gezogen die die Spiegelachse "
"bildet.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:140
-#: ../../../../build/work/app/i18n/custmsg.h:509
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:140
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:509
msgid "The mirror line does not have to be vertical or horizontal.\n"
msgstr "Diese Spiegellinie muss nicht horizontal oder vertikal sein.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:149
-#: ../../../../build/work/app/i18n/custmsg.h:511
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:149
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:511
msgid "You can also flip any number of objects.\n"
msgstr "Sie können jede beliebige Anzahl von Objekten spiegelen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:512
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:512
msgid "Watch what happens to the structure and turnout titles.\n"
msgstr ""
"Achten Sie darauf, was mit den Beschriftungen an Gebäuden und Weichen "
"geschieht.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:163
-#: ../../../../build/work/app/i18n/custmsg.h:514
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:163
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:514
msgid ""
-"Note that the turnout title has been changed from the Medium Right to Medium "
-"Left. When turnouts are flipped, XTrackCAD will try to find a matching "
+"Note that the turnout title has been changed from the Medium Right to Medium"
+" Left. When turnouts are flipped, XTrackCAD will try to find a matching "
"turnout and if found will change the name.\n"
msgstr ""
"Beachten Sie auch, dass aus der mittleren Rechtsweiche eine mittlere "
"Linksweiche wurde. Werden Weichen gespiegelt, versucht XTrackCAD eine "
"passende Weiche zu finden und ersetzt den Namen, wenn dies gelingt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:170
-#: ../../../../build/work/app/i18n/custmsg.h:516
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:170
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:516
msgid ""
-"Structures do not have Right and Left hand versions. Their title is changed "
-"to indicate that they were flipped.\n"
+"Structures do not have Right and Left hand versions. Their title is changed"
+" to indicate that they were flipped.\n"
msgstr ""
"Gebäude haben keine rechte oder linke Version. Der veränderte Titel zeigt, "
"dass diese gespiegelt wurden.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:517
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:517
msgid "You can use the <Describe> command to change their title.\n"
msgstr "Mit dem <Beschreiben> Befehl kann der Tietel wieder geändert werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:187
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:21
-#: ../../../../build/work/app/i18n/custmsg.h:520
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:187
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:21
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:520
msgid ""
-"The <Group> and <Ungroup> commands (on the Tools menu) are a powerful way to "
-"manipulate Turnout and Structure definitions.\n"
+"The <Group> and <Ungroup> commands (on the Tools menu) are a powerful way to"
+" manipulate Turnout and Structure definitions.\n"
msgstr ""
-"Die <Gruppieren> und <Gruppe auflösen> Befehle bilden einen leistungsfähigen "
-"Weg, Weichen- oder Gebäude-Definition zu verändern.\n"
+"Die <Gruppieren> und <Gruppe auflösen> Befehle bilden einen leistungsfähigen"
+" Weg, Weichen- oder Gebäude-Definition zu verändern.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:521
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:521
msgid "We'll start with a simple turnout and add a switch machine.\n"
msgstr ""
"Wir beginnen mit einer einfachen Weiche zu der wir einen Weichenantrieb "
"zufügen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:50
-#: ../../../../build/work/app/i18n/custmsg.h:523
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:55
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:523
msgid ""
"Now that we have drawn a rough outline of a switch machine we will group it "
"with the turnout definition.\n"
msgstr ""
-"Nachdem wir jetzt den groben Umriß des Antriebs gezeichnet haben, gruppieren "
-"wir diesen mit der Weichen-Definition.\n"
+"Nachdem wir jetzt den groben Umriß des Antriebs gezeichnet haben, gruppieren"
+" wir diesen mit der Weichen-Definition.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:524
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:524
msgid "First we Select the objects in the new definition.\n"
msgstr "Zuerst wählen wir die Objekte in der neuen Definition aus.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:63
-#: ../../../../build/work/app/i18n/custmsg.h:526
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:68
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:526
msgid "Now do the <Group> command.\n"
msgstr "Und wenden jetzt den <Gruppieren> Befehl an.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:70
-#: ../../../../build/work/app/i18n/custmsg.h:528
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:75
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:528
msgid ""
"The <Group> command dialog shows the Title (Manufacturer, Description and "
"Part Number) of the new definition. This information is taken from the "
@@ -12546,8 +12806,8 @@ msgstr ""
"Beschreibung und Teilenummer) für die neue Definition an. Diese Information "
"kommt aus den ausgewählten Teilen der Gruppe.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:76
-#: ../../../../build/work/app/i18n/custmsg.h:530
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:81
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:530
msgid ""
"The 'Replace with new group?' toggle will replace the Selected objects with "
"the new definition.\n"
@@ -12555,8 +12815,8 @@ msgstr ""
"Der 'Ersetzen durch neue Definition' Schalter ermöglicht es, die "
"ausgewählten Objekte durch die neuen Definition zu ersetzen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:83
-#: ../../../../build/work/app/i18n/custmsg.h:532
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:88
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:532
msgid ""
"If we don't change the Title then the new definition will replace the "
"existing definition.\n"
@@ -12564,22 +12824,22 @@ msgstr ""
"Wenn wir den Titel nicht verändern, so ersetzt die neue Definition die "
"bereits vorhandene.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:533
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:533
msgid "We'll give this definition a new Description.\n"
msgstr "Wir geben der Gruppe eine neue Beschreibung.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:94
-#: ../../../../build/work/app/i18n/custmsg.h:535
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:99
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:535
msgid "We're done with this definition. Press Ok.\n"
msgstr "Diese Definition ist fertig. Drücken Sie OK.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:101
-#: ../../../../build/work/app/i18n/custmsg.h:537
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:106
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:537
msgid "You will see the updated image on the HotBar.\n"
msgstr "Sie sehen das aktualisierte Bild in der Auswahlleiste.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:108
-#: ../../../../build/work/app/i18n/custmsg.h:539
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:113
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:539
msgid ""
"The <Ungroup> command replaces any Selected turnouts or structures with "
"their parts.\n"
@@ -12587,7 +12847,7 @@ msgstr ""
"Der Befehl zum Auflösen der Gruppe ersetzt gewählte Weichen oder Gebäude "
"durch ihre Teile.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:540
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:540
msgid ""
"Structures and non-track segements of turnouts are composed of Lines, "
"Circles and other shapes. In this turnout these are the two lines and the "
@@ -12596,7 +12856,7 @@ msgstr ""
"Gebäude und Weichen sind aus Linien, Kreisen und anderen Formen "
"zusammengesetzt. Zu dieser Weiche gehören zwei Linien und zwei Quadrate.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:541
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:541
msgid ""
"We will Ungroup this turnout and see how the individual parts can be "
"changed.\n"
@@ -12604,29 +12864,28 @@ msgstr ""
"Wir werden diese Weiche in ihre Teile zerlegen und sehen, wie die einzelnen "
"Teile verändert werden können.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:542
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:542
msgid "First Select the turnout and then Ungroup it.\n"
-msgstr ""
-"Zuerste wählen Sie die Weiche aus und lösen dann die Gruppierung auf.\n"
+msgstr "Zuerste wählen Sie die Weiche aus und lösen dann die Gruppierung auf.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:123
-#: ../../../../build/work/app/i18n/custmsg.h:544
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:128
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:544
msgid "Notice that the Title now indicates the turnout is Ungrouped.\n"
msgstr ""
-"Beachten Sie, dass der Titel jetzt darauf hinweis, dass die Weiche aufgelöst "
-"ist.\n"
+"Beachten Sie, dass der Titel jetzt darauf hinweis, dass die Weiche aufgelöst"
+" ist.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:545
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:545
msgid "Hit Escape to deselect everything.\n"
msgstr "Durch Drücken von Escape wird die Auswhl aufgehoben.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:133
-#: ../../../../build/work/app/i18n/custmsg.h:547
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:138
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:547
msgid "Now Select the lines and squares.\n"
msgstr "Jetzt wählen Sie die Linien und Quadrate aus.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:158
-#: ../../../../build/work/app/i18n/custmsg.h:549
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:163
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:549
msgid ""
"We could modify these object or add new ones. For now we'll just delete "
"them.\n"
@@ -12634,59 +12893,57 @@ msgstr ""
"Wir können diese Objekt ändern oder neue hinzufügen.Diesmal werden wir sie "
"einfach löschen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:165
-#: ../../../../build/work/app/i18n/custmsg.h:551
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:170
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:551
msgid "And move the Label out of the way.\n"
msgstr "Und die Beschriftung auf die Seite schieben.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:176
-#: ../../../../build/work/app/i18n/custmsg.h:553
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:181
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:553
msgid "Notice that the turnout has been broken into three parts.\n"
msgstr "Beachten Sie, dass die Weiche in drei Teile zerfallen ist.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:198
-#: ../../../../build/work/app/i18n/custmsg.h:555
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:203
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:555
msgid ""
"Two ends of the turnout, from the frog to the end of the diverging leg and "
"from the points to the left, are now straight track sections.\n"
msgstr ""
-"Zwei Endpunkte der Weiche, vom Herzstück zum Ende des abzweigenden Gleis und "
-"von den Weichenzungen nach links, sind jetzt gerade Abschnitte.\n"
+"Zwei Endpunkte der Weiche, vom Herzstück zum Ende des abzweigenden Gleis und"
+" von den Weichenzungen nach links, sind jetzt gerade Abschnitte.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:556
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:556
msgid ""
"The a turnout is made of a number of individual straight and curved track "
"segements. This turnout had four segments:\n"
msgstr ""
-"Eine Weiche besteht aus einer Anzahl von geraden und gebogenen Gleisstücken. "
-"Diese Weiche hat vier Stücke:\n"
+"Eine Weiche besteht aus einer Anzahl von geraden und gebogenen Gleisstücken."
+" Diese Weiche hat vier Stücke:\n"
-#: ../../../../build/work/app/i18n/custmsg.h:557
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:557
msgid " 1 a short straight segment to the left of the points\n"
msgstr " 1. ein kurzes gerades Stück, links von den Weichenzungen,\n"
-#: ../../../../build/work/app/i18n/custmsg.h:558
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:558
msgid " 2 a long straight segment to the right of the points\n"
msgstr " 2. ein langes gerades Stück, rechts von den Weichenzungen,\n"
-#: ../../../../build/work/app/i18n/custmsg.h:559
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:559
msgid " 3 a curved segment from the points to the frog\n"
-msgstr ""
-" 3. ein gebogenes Stück von den Weichenzungen bis zum Herzstück, und\n"
+msgstr " 3. ein gebogenes Stück von den Weichenzungen bis zum Herzstück, und\n"
-#: ../../../../build/work/app/i18n/custmsg.h:560
-msgid ""
-" 4 a straight segment from the frog to the end of the diverging leg.\n"
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:560
+msgid " 4 a straight segment from the frog to the end of the diverging leg.\n"
msgstr ""
" 4. ein gerades Stück vom Herzstück bis zum Ende des abzweigenden Gleis.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:561
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:561
msgid "The first and last segments have be converted to straight tracks.\n"
msgstr ""
"Der erste und der letzte Gleisabschnitt wurden in gerade Gleise "
"umgewandelt.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:562
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:562
msgid ""
"The second and third segments form the the body of the turnout and can not "
"be ungrouped further.\n"
@@ -12694,7 +12951,7 @@ msgstr ""
"Der zweite und der dritte Gleisabschnitt bilden den Kern der Weiche und "
"können nicht weiter zerlegt werden.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:563
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:563
msgid ""
"You can later Group this turnout with the straight segments to recreate the "
"turnout definition. You can also add other track segments to turnout "
@@ -12704,57 +12961,57 @@ msgstr ""
"Definition wiederherzustellen. Sie können auch andere Gleisabschnitte zur "
"Weichendefinition zufügen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:242
-#: ../../../../build/work/app/i18n/custmsg.h:565
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:247
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:565
msgid "Now, create a track and place the new turnout on it.\n"
msgstr "Jetzt erstellen Sie bitte ein Gleis und setzen die Weiche darauf.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:260
-#: ../../../../build/work/app/i18n/custmsg.h:567
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:265
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:567
msgid "Now suppose we want to replace the black squares with green circles.\n"
msgstr ""
"Nehmen wir mal an, wir wollen die schwarzen Quadrate durch grüne Kreise "
"ersetzen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:568
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:568
msgid "First we Select the turnout.\n"
msgstr "Zuerst wählen wir die Weiche aus.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:272
-#: ../../../../build/work/app/i18n/custmsg.h:570
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:277
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:570
msgid "And now Ungroup it (from the Tools Menu)\n"
msgstr ""
"Der ersten und der letzte Abschnitt wurden in gerade Gleise umgewandelt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:277
-#: ../../../../build/work/app/i18n/custmsg.h:572
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:282
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:572
msgid ""
"Notice that the name has changed to indicate the turnout was Ungrouped.\n"
msgstr ""
"Beachten Sie, dass der Name geändert wurde, um anzuzeigen, dass die "
"Gruppierung der Weiche aufgelöst wurde.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:283
-#: ../../../../build/work/app/i18n/custmsg.h:574
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:288
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:574
msgid ""
"Now, hit escape to deselect everything and then Select the 2 squares and "
"delete them.\n"
msgstr ""
-"Jetzt drücken Sie Escape umd die Auswahl zurückzusetzen. Dann wählen Sie die "
-"zwei Quadrate und löschen diese.\n"
+"Jetzt drücken Sie Escape umd die Auswahl zurückzusetzen. Dann wählen Sie die"
+" zwei Quadrate und löschen diese.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:300
-#: ../../../../build/work/app/i18n/custmsg.h:576
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:305
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:576
msgid "Now draw the green circles...\n"
msgstr "Jetzt zeichnen Sie die grünen Kreise...\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:321
-#: ../../../../build/work/app/i18n/custmsg.h:578
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:326
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:578
msgid "and Group the new definition.\n"
msgstr "und gruppieren die neue Definition.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:340
-#: ../../../../build/work/app/i18n/custmsg.h:580
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:345
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:580
msgid ""
"Notice that the turnout in the HotBar is angled the same as the turnout on "
"the layout. Make sure your new definition is rotated the way you want it.\n"
@@ -12763,151 +13020,150 @@ msgstr ""
"auf der Anlage ist. Stellen Sie sicher, das die neuen Definitionen so "
"ausgerichtet sind, wie Sie es bevorzugen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:379
-#: ../../../../build/work/app/i18n/custmsg.h:582
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:384
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:582
msgid "We can also create turnouts from simple straight and curved tracks.\n"
msgstr ""
"Wir können auch aus einfachen geraden und gebogenen Gleisen Weichen "
"erstellen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:583
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:583
msgid "We'll create two tracks that have a common endpoint.\n"
msgstr "Wir erzeugen zwei Gleise mit einem gemeinsamen Endpunkt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:390
-#: ../../../../build/work/app/i18n/custmsg.h:585
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:395
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:585
msgid ""
"When we create the curve from the straight track endpoint we need to hold "
-"down the Shift key to prevent XTrackCAD from trying to join the two tracks.\n"
+"down the <Shift> key to prevent XTrackCAD from trying to join the two "
+"tracks.\n"
msgstr ""
"Wenn wir die Kurve vom Endpunkt der geraden Strecke aus erstellen, müssen "
"wir die Umschalttaste gedrückt halten, um zu verhindern, dass XTrackCAD "
"versucht, die beiden Strecken zu verbinden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:408
-#: ../../../../build/work/app/i18n/custmsg.h:587
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:413
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:587
msgid "At this point we can modify the tracks if necessary.\n"
msgstr ""
"Zu diesem Zeitpunkt können die Gleise verändern, sofern das notwendig ist.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:588
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:588
msgid "We will use the <Describe> command to change the tracks.\n"
msgstr ""
"Wir benutzen den Befehl <Beschreiben> um die Eigenschaften der Gleise zu "
"verändern.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:420
-#: ../../../../build/work/app/i18n/custmsg.h:590
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:425
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:590
msgid "We'll make the Length 7.5\".\n"
msgstr "Wir setzen die Länge auf 7,5\".\n"
-#: ../../../../build/work/app/i18n/custmsg.h:591
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:591
msgid ""
-"If we change the Length, each End-Point will be moved to shorten the track. "
-"We want to just move the Right End-Point. To control this, change the Pivot "
-"to First which means the Left End-Point will be unchanged when we change the "
-"length (or angle) of the track.\n"
+"If we change the Length, each End-Point will be moved to shorten the track."
+" We want to just move the Right End-Point. To control this, change the "
+"Lock to First which means the Left End-Point will be unchanged when we "
+"change the length (or angle) of the track.\n"
msgstr ""
-"Wenn wir die Länge verändern, wird jeder Endpunkt erschoben um das Gleis zu "
-"verkürzen.Wir wollen, dass nur der rechte Endpunkt bewegt wird. Um das zu "
-"steuern, stellen Sie den Fixpinkt auf den Ersten. Das bedeutet, dass der "
-"linke Endpunkt unverändert bleibt wenn wir die Länge (oder den Winkel) des "
-"Gleises ändern.\n"
+"Wenn wir die Länge verändern, wird jeder Endpunkt verschoben um das Gleis zu"
+" verkürzen. Wir wollen, dass nur der rechte Endpunkt bewegt wird. Um das zu "
+"ermöglichen, stellen Sie den Fixpunkt auf den ersten Endpunkt. Das bedeutet,"
+" dass der linke Endpunkt unverändert bleibt, wenn wir die Länge (oder den "
+"Winkel) des Gleises ändern.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:430
-#: ../../../../build/work/app/i18n/custmsg.h:593
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:435
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:593
msgid "Now when change the Length only the Right End-Point will move.\n"
msgstr "Jetzt wird beim Ändern der Länge nur der rechte Endpunkt verschoben.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:441
-#: ../../../../build/work/app/i18n/custmsg.h:595
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:446
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:595
msgid "Now let's look at the curved track.\n"
msgstr "Jetzt schauen wir uns das gebogene Gleis an.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:451
-#: ../../../../build/work/app/i18n/custmsg.h:597
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:456
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:597
msgid ""
"Here the Left End-Point (which we don't want to move) is the Second End-"
-"Point, so we'll make that the Pivot.\n"
+"Point, so we'll make that the Lock.\n"
msgstr ""
"Hier ist der linke Endpunkt, den wir nicht verschieben wollen, der zweite "
"Endpunkt. Also legen wir diesen als Fixpunkt fest.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:459
-#: ../../../../build/work/app/i18n/custmsg.h:599
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:464
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:599
msgid "We want the curve to have a radius of 20\" and an angle of 17.5ᅵ.\n"
msgstr ""
"Wir wollen, dass der Bogen einen Radius von 20\" und einen Winkel von 17,5° "
"hat.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:600
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:600
msgid "First change the Radius...\n"
msgstr "Zuerst ändern Sie den Radius...\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:468
-#: ../../../../build/work/app/i18n/custmsg.h:602
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:473
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:602
msgid "and the the Angular Length.\n"
msgstr "und den Winkelabstand.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:476
-#: ../../../../build/work/app/i18n/custmsg.h:604
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:481
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:604
msgid "Now Select both tracks...\n"
msgstr "Jetzt bitte beide Gleise auswählen...\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:492
-#: ../../../../build/work/app/i18n/custmsg.h:606
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:497
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:606
msgid "and Group them.\n"
msgstr "und gruppieren sie.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:503
-#: ../../../../build/work/app/i18n/custmsg.h:608
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:508
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:608
msgid ""
"If the two tracks have a common End-Point then they will form a Turnout and "
"can be switched with the <Train> command. Otherwise they will just be two "
"track segments grouped together.\n"
msgstr ""
"Wenn die beiden Gleise einen gemeinsamen Endpunkt haben, werden Sie eine "
-"Weiche bilden, dieim Betriebsmodus gesteuert werden kann. Andernfalls werden "
-"es einfach zwei gruppierte Gleise sein.\n"
+"Weiche bilden, dieim Betriebsmodus gesteuert werden kann. Andernfalls werden"
+" es einfach zwei gruppierte Gleise sein.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:510
-#: ../../../../build/work/app/i18n/custmsg.h:610
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:515
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:610
msgid ""
"We have created a left hand turnout and we also want a right hand version.\n"
msgstr ""
"Wir haben eine links abzweigende Weiche erstellt und wollen auch die rechts "
"abzweigende Form.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:611
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:611
msgid "We'll use the <Flip> command.\n"
msgstr "Wir verwenden den Befehl <Spiegeln>\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:523
-#: ../../../../build/work/app/i18n/custmsg.h:613
-msgid ""
-"Drag a horizontal line that will be the mirror for the <Flip> command.\n"
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:528
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:613
+msgid "Drag a horizontal line that will be the mirror for the <Flip> command.\n"
msgstr ""
"Ziehen Sie als Spiegelstrich für den Spiegeln Befehl eine horizontale "
"Linie.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:533
-#: ../../../../build/work/app/i18n/custmsg.h:615
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:538
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:615
msgid "Notice the title has changed to Flipped Left.\n"
-msgstr ""
-"Beachten Sie, dass der Titel auf \"Links gespiegelt\" geändert wurde.\n"
+msgstr "Beachten Sie, dass der Titel auf \"Links gespiegelt\" geändert wurde.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:616
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:616
msgid "Now Group the turnout.\n"
msgstr "Jetzt gruppieren Sie die Weiche\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:542
-#: ../../../../build/work/app/i18n/custmsg.h:618
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:547
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:618
msgid "We'll change the Title and Part No for the new defintion.\n"
msgstr ""
"Wir werden den Titel und die Teilnummer für die neue Definition ändern.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:555
-#: ../../../../build/work/app/i18n/custmsg.h:620
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:560
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:620
msgid ""
"To Remove the definitions, use the Custom Management dialog on the Tools "
"menu.\n"
@@ -12915,23 +13171,23 @@ msgstr ""
"Um Definitionen zu löschen benutzen Sie die \"Anpassungs Verwaltung\" im "
"\"Verwalten\" Menü.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:560
-#: ../../../../build/work/app/i18n/custmsg.h:622
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:565
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:622
msgid "Select the definitions you added and Delete them.\n"
msgstr "Wählen Sie die zugefügten Definitionen aus udn löschen diese.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:573
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:16
-#: ../../../../build/work/app/i18n/custmsg.h:625
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:578
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:625
msgid ""
"Now we will create a helix in the corner of the layout connected to 2 "
"tracks.\n"
msgstr ""
-"Jetzt erstellen wir in der Ecke der Anlage eine Gleiswendel, die zwei Gleise "
-"verbindet.\n"
+"Jetzt erstellen wir in der Ecke der Anlage eine Gleiswendel, die zwei Gleise"
+" verbindet.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:28
-#: ../../../../build/work/app/i18n/custmsg.h:627
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:28
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:627
#, c-format
msgid ""
"We will be creating a helix with a Elevation Difference of 12\", Grade of "
@@ -12941,40 +13197,40 @@ msgstr ""
"Steigung von 1,5% erzeugen und den vertikale Abstand auf mindestens 2\" "
"begrenzen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:34
-#: ../../../../build/work/app/i18n/custmsg.h:629
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:34
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:629
msgid "First set the Elevation Difference to 12\"\n"
msgstr "Als erstes den Höhenunterschied auf 12\" setzen\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:43
-#: ../../../../build/work/app/i18n/custmsg.h:631
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:43
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:631
msgid "Next set the Vertical Separation to 2\"\n"
msgstr "Als nächstes wird der vertikale Abstand auf 2\" gesetzt.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:632
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:632
msgid "Notice how this causes the number of Turns to be set to 6\n"
msgstr "Beachten Sie, dass hierfür 6 Windungen benötigt werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:52
-#: ../../../../build/work/app/i18n/custmsg.h:634
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:52
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:634
msgid "Next set the Grade to 1.5%\n"
msgstr "Jetzt setzen die die Steigung auf 1,5%\n"
-#: ../../../../build/work/app/i18n/custmsg.h:635
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:635
msgid "Notice how this causes the Radius to change.\n"
msgstr "Beachten Sie wie dadruch der Radius verändert wurde.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:60
-#: ../../../../build/work/app/i18n/custmsg.h:637
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:60
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:637
msgid ""
-"Setting these values changes the Radius to 21.2\" and the number of Turns to "
-"6.\n"
+"Setting these values changes the Radius to 21.2\" and the number of Turns to"
+" 6.\n"
msgstr ""
"Durch Setzen dieser Werte wird der Radius auf 21,2\" und die Anzahl der "
"Windungen auf 6 geändert.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:66
-#: ../../../../build/work/app/i18n/custmsg.h:639
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:66
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:639
msgid ""
"Now we specify the Angular Separation between the enterance and exit to the "
"helix.\n"
@@ -12982,23 +13238,23 @@ msgstr ""
"Jetzt ändern wir den Winkel zwischen eingehendem und abgehendem Gleis der "
"Wendel.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:640
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:640
msgid "Note: this will decrease the Radius slightly.\n"
msgstr "Beachten Sie, dass dadurch der Radius geringfügig kleiner wurde.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:76
-#: ../../../../build/work/app/i18n/custmsg.h:642
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:76
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:642
msgid "Next we can fine tune the helix by decreasing the Radius to 15\".\n"
msgstr ""
"Als nächstes können wir die Wendel durch Ändern des Radius auf 15\" "
"optimieren.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:643
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:643
msgid "Note the change to the Grade.\n"
msgstr "Beachten Sie die Änderung der Steigung.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:85
-#: ../../../../build/work/app/i18n/custmsg.h:645
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:85
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:645
msgid ""
"Lastly change the Vertical Separation to 2.5\". The number of Turns will "
"change to 4 and the grade increase to almost 3%.\n"
@@ -13007,11 +13263,11 @@ msgstr ""
"Anzahl der Windungen wird auf 4 geändert und die Steigung vergrößert sich "
"auf beinahe 3%.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:646
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:646
msgid ""
"Note: the Vertical Separation will be increased. This value is the "
-"Elevation Difference (12.0) divided by the total number of turns. The total "
-"number of turns is 4.25: 4 whole Turns plus a quarter turn for the Angular "
+"Elevation Difference (12.0) divided by the total number of turns. The total"
+" number of turns is 4.25: 4 whole Turns plus a quarter turn for the Angular "
"Separation.\n"
msgstr ""
"Beachten Sie dass die Windungsdifferenz sich vergrößert. Dies ist der "
@@ -13019,17 +13275,18 @@ msgstr ""
"4,25 Windungen: 4 ganze Windungen und eine viertel Umdrehung für den Winkel "
"zwischen den Zugängen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:94
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:99
-#: ../../../../build/work/app/i18n/custmsg.h:649
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:94
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:99
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:649
msgid ""
-"Now that the helix parameters are set we can place the helix on the layout.\n"
+"Now that the helix parameters are set we can place the helix on the "
+"layout.\n"
msgstr ""
"Nachdem die Eigenschaften für die Gleiswendel bestimmt sind, setzen wir "
"diese auf die Anlage.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:112
-#: ../../../../build/work/app/i18n/custmsg.h:651
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:112
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:651
msgid ""
"Next, join the 2 straight tracks to the helix in the same way we join to a "
"circle.\n"
@@ -13037,8 +13294,8 @@ msgstr ""
"Als nächstes verbinden Sie die zwei geraden Gleise mit der Wendel genauso "
"wir Sie Gleise mit einem Kreis verbinden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:145
-#: ../../../../build/work/app/i18n/custmsg.h:653
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:145
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:653
msgid ""
"Notice that the length has increased because we have more than 4 turns in "
"the helix. It is closer to 4.25 turns.\n"
@@ -13046,8 +13303,8 @@ msgstr ""
"Beachten Sie, dass sich die Länge vergrößert hat, da wir mehr als vier "
"Windungen in der Wendel haben. Es sind nahe an 4,25 Umdrehungen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:155
-#: ../../../../build/work/app/i18n/custmsg.h:655
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:155
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:655
msgid ""
"Next, we assign elevations to the 2 End-Points of the helix. This will "
"determine the grade and separation between the helix coils.\n"
@@ -13056,7 +13313,7 @@ msgstr ""
"Dadurch werden die Steigung und derAbstand zwischen den Windungen "
"festgelegt.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:656
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:656
msgid ""
"Note: we could set the elevations anywhere along the connecting tracks "
"instead. XTrackCAD treats a helix as a single length of track for "
@@ -13066,8 +13323,8 @@ msgstr ""
"festlegen können. XTrackCAD behandelt bei den Höhen eine Wendel als ein "
"durchgängiges Stück Gleis.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:176
-#: ../../../../build/work/app/i18n/custmsg.h:658
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:176
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:658
msgid ""
"We have set the elevations to 1\" and 13\" to produce a grade of 3.0% with "
"2.8\" between coils.\n"
@@ -13075,7 +13332,7 @@ msgstr ""
"Wir haben die Höhen auf 1\" und 13\" gesetzt um eine Steigung von 3% mit "
"2,8\" zwischen den Windungen zu erzeugen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:659
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:659
msgid ""
"You can use the <Describe> command to change the number of Turns or the "
"Elevations at either end of the Helix. This will affect the Grade and "
@@ -13085,16 +13342,16 @@ msgstr ""
"oder die Höhe an den Enden der Wendel zu ändern. Dadurch ändern sich die "
"Steigung und der Abstand.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:184
-#: ../../../../build/work/app/i18n/custmsg.h:661
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:184
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:661
msgid "The helix description can be moved by the <Move Label> command.\n"
msgstr ""
"Mit dem Befehl <Verschiebe Beschriftung> kann die Beschriftung der Wendel "
"verschoben werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:194
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:16
-#: ../../../../build/work/app/i18n/custmsg.h:664
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:194
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:664
msgid ""
"In addition to using the turnout definitions you can create 'Hand Laid "
"Turnout'.\n"
@@ -13102,98 +13359,98 @@ msgstr ""
"Zusätzlich zu den Weichendefinitionen können Sie auch Selbstbauweichen "
"erstellen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:665
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:665
msgid "This is two step process:\n"
msgstr "Das ist ein zweistufiger Prozess.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:23
-#: ../../../../build/work/app/i18n/custmsg.h:667
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:23
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:667
msgid "1 - click on the frog and drag away to set the frog angle\n"
msgstr ""
"1. klicken Sie auf das Herzstück und setzen Sie durch ziehen mit gedrücktem "
"Mausknopf den richtigen Winkel.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:29
-#: ../../../../build/work/app/i18n/custmsg.h:669
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:29
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:669
msgid ""
" Hint: the further you drag from the frog, the more accurate the angle.\n"
msgstr ""
-" Hinweis: Je weiter weg Sie vom Herzstück ziehen, um so genauer lässt sich "
-"der Winkel einstellen.\n"
+" Hinweis: Je weiter weg Sie vom Herzstück ziehen, um so genauer lässt sich"
+" der Winkel einstellen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:34
-#: ../../../../build/work/app/i18n/custmsg.h:671
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:34
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:671
msgid "2 - click and drag to set the position of the points\n"
msgstr "2. Klicken und ziehen Sie um die Position der Zungen festzulegen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:42
-#: ../../../../build/work/app/i18n/custmsg.h:673
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:42
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:673
msgid "We can create Hand Laid Turnouts on curved tracks.\n"
msgstr "Wir können Selbstbauweichen auch auf gebogenen Gleisen erstellen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:58
-#: ../../../../build/work/app/i18n/custmsg.h:675
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:58
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:675
msgid "A Hand Laid Turnout is composed of several parts.\n"
msgstr "Eine Selbstbauweiche besteht aus mehreren Teilen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:67
-#: ../../../../build/work/app/i18n/custmsg.h:677
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:67
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:677
msgid "The actual Turnout is a short portion at the points.\n"
msgstr "Die eigentliche Weiche ist ein kleines Stück an den Weichenzungen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:77
-#: ../../../../build/work/app/i18n/custmsg.h:679
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:77
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:679
msgid "The other parts are various straight and curved segments.\n"
msgstr "Die anderen Teile sind verschiedene gerade und gebogene Teilstücke.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:81
-#: ../../../../build/work/app/i18n/custmsg.h:681
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:81
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:681
msgid "The new curved turnout is also composed of several segments.\n"
msgstr "Die neue Bogenweiche besteht ebenfalls aus mehreren Abschnitten.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:107
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:7
-#: ../../../../build/work/app/i18n/custmsg.h:684
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:107
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:7
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:684
msgid "Welcome to the XTrackCAD demonstration.\n"
msgstr "Willkommen bei der XTrackCAD Demonstration.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:685
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:685
msgid ""
-"This will show some the features of XTrackCAD in an automated presentation. "
-"This window contains a number of controls and a message area (which I hope "
-"you are reading now). \n"
+"This will show some the features of XTrackCAD in an automated presentation."
+" This window contains a number of controls and a message area (which I hope"
+" you are reading now). \n"
msgstr ""
"Diese wird Ihnen einige Funktionen von XTrackCAD in einer automatischen "
"Präsentation zeigen. Dieses Fenster enthält einige Steuerungselements und "
"einen Nachrichtenbereich, den Sie gerade lesen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:686
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:686
msgid "The controls are:\n"
msgstr "Die Steuerungselemente sind:\n"
-#: ../../../../build/work/app/i18n/custmsg.h:687
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:687
msgid "Step - advances to the next step of the demo.\n"
msgstr "Einzelschritt - weiter zum nächsten Schritt in der Demo.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:688
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:688
msgid "Next - skips ahead to the next demo.\n"
msgstr "Nächster - springt zur nächsten Demo.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:689
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:689
msgid "Quit - exits the demo and returns to XTrackCAD.\n"
msgstr "Beenden - verlässt die Demo und kehrt zu XTrackCAD zurück.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:690
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:690
msgid "Speed - controls the speed of the demo.\n"
msgstr "Geschwindigkeit - steuert die Geschwindigkeit der Demo.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:691
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:691
msgid "Click Step now for the next message.\n"
msgstr ""
"Klicken Sie jetzt auf Einzelschritt um zur nächsten Nachricht zu gelangen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:23
-#: ../../../../build/work/app/i18n/custmsg.h:693
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:23
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:693
msgid ""
"If this is the first time you have used the demo you may want to rearrange "
"the windows so the demo window does not obscure the main window.\n"
@@ -13202,7 +13459,7 @@ msgstr ""
"Fensterpositionen festlegen. Achten Sie dabei darauf, dass das Hauptfenster "
"nicht durch das Demofenster verdeckt wird.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:694
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:694
msgid ""
"You can move the demo window now by dragging on the title bar at the top of "
"the window. I suggest you move it to the top of your screen.\n"
@@ -13211,13 +13468,13 @@ msgstr ""
"Fensters verschieben. Am besten verschieben Sie es an den oberen Rand des "
"Bildschirms.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:31
-#: ../../../../build/work/app/i18n/custmsg.h:696
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:31
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:696
msgid ""
"The various controls are disabled when it would be inappropiate to click on "
"them. When the demo is running the Step button is disabled. When the demo "
-"is paused the Step button is enabled and you can click it when you are ready "
-"to view the next part of the demo.\n"
+"is paused the Step button is enabled and you can click it when you are ready"
+" to view the next part of the demo.\n"
msgstr ""
"Die verschiedenen Steuerelement sind deaktiviert, während diese nicht "
"nutzbar sind. Während die Demo läuft, ist der Einzelschritt-Knopf "
@@ -13225,23 +13482,24 @@ msgstr ""
"aktiviert. Sie können darauf klicken, wenn Sie für den nächsten Schritt der "
"Demo bereit sind.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:697
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:697
msgid "You can click on Quit to return to XTrackCAD at any time.\n"
msgstr ""
-"Durch Klicken auf Verlassen können Sie jederzeit zu XTrackCAD zurückkehren.\n"
+"Durch Klicken auf Verlassen können Sie jederzeit zu XTrackCAD "
+"zurückkehren.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:698
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:698
msgid "You can adjust the speed of the demonstration with the Speed control.\n"
msgstr ""
"Die Geschwindigkeit der Demo können Sie mit dem Geschwindigkeitsknopf "
"anpassen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:60
-#: ../../../../build/work/app/i18n/custmsg.h:700
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:60
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:700
msgid "The demos are designed to fit within a certain sized window.\n"
msgstr "Die Demos sind für eine bestimmte Fenstergröße entworfen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:701
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:701
msgid ""
"For best results, change the size of the main XTrackCAD window so the box "
"shape is completely visible.\n"
@@ -13249,27 +13507,27 @@ msgstr ""
"Um beste Ergebniss zu erreichen, ändern Sie die Größe des XTrackCAD "
"Hauptfensters so, dass die das Rechteck vollständig sicht bar ist.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:702
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:702
msgid "You can do this by clicking and dragging on a corner of the window.\n"
msgstr ""
"Dies können Sie erreichen, in dem Sie an der rechten unteren Ecke des "
"Fensters ziehen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:67
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:72
-#: ../../../../build/work/app/i18n/custmsg.h:705
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:67
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:72
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:705
msgid "This is the end of the introductory demo.\n"
msgstr "Dies ist das Ende der Einführungsdemo.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:706
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:706
msgid ""
"Please click Step for the next demo or click Quit to return to XTrackCAD.\n"
msgstr ""
"Bitte klicken Sie Einzelschritt für die nächste Demo oder Verlassen, um zu "
"XTrackCAD zurück zu kehren.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjcir.xtr:14
-#: ../../../../build/work/app/i18n/custmsg.h:708
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjcir.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:708
msgid ""
"You can also join to and from circles. This will change the circles to "
"curves.\n"
@@ -13277,12 +13535,12 @@ msgstr ""
"Sie können auch Gleise mit Gleiskreisen verbinden. Dadurch werden aus "
"Kreisen Bögen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:709
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:709
msgid "In this example we will join two circles.\n"
msgstr "In diesem Beispiel werden wir zwei Kreise verbinden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjcir.xtr:24
-#: ../../../../build/work/app/i18n/custmsg.h:711
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjcir.xtr:24
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:711
msgid ""
"Here we've selected points on the two circles. The direction of the "
"connections (whether clockwise or counter clockwise) is controlled by where "
@@ -13292,14 +13550,14 @@ msgstr ""
"Verbindungen, entweder im Uhrzeigersinn oder dagegen, wird aufgrund der "
"Stellen auf den Kreisen, die Sie angewählt haben, ermittelt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjcir.xtr:133
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjcir.xtr:152
-#: ../../../../build/work/app/i18n/custmsg.h:714
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjcir.xtr:133
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjcir.xtr:152
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:714
msgid "Now let's try a cross connection.\n"
msgstr "Jetzt versuchen wir eine kreuzweise Verbindung.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjcir.xtr:246
-#: ../../../../build/work/app/i18n/custmsg.h:716
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjcir.xtr:246
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:716
msgid ""
"Note that the connection is from different 'ends' of the circle than in the "
"last example.\n"
@@ -13307,14 +13565,14 @@ msgstr ""
"Beachten Sie, dass die Verbindung an anderen Punkten der Kreise ansetzt als "
"bem letzten Beispiel.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnabut.xtr:22
-#: ../../../../build/work/app/i18n/custmsg.h:718
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnabut.xtr:22
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:718
msgid "This examples shows joining tracks whose End-Points are aligned.\n"
msgstr ""
"Dieses Beispiel zeigt wir Gleise verbunden werden, die zueinander parallel "
"sind.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:719
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:719
msgid ""
"Note the 2 pairs of tracks have End-Points that are close and aligned but "
"not connected.\n"
@@ -13322,27 +13580,26 @@ msgstr ""
"Beachten Sie dass die Endpunkte der beiden Gleise nahe beieinander und "
"parallel, aber nicht verbunden, sind.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnabut.xtr:30
-#: ../../../../build/work/app/i18n/custmsg.h:721
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnabut.xtr:30
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:721
msgid "The first case joins the curve and straight track.\n"
-msgstr ""
-"Im ersten Fall werden eine gebogenes und ein gerades Gleis verbunden.\n"
+msgstr "Im ersten Fall werden eine gebogenes und ein gerades Gleis verbunden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnabut.xtr:40
-#: ../../../../build/work/app/i18n/custmsg.h:723
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnabut.xtr:40
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:723
msgid "The second case will join the two straight tracks.\n"
msgstr "Im zweiten Fall werden zwei gerade Gleise verbunden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnabut.xtr:50
-#: ../../../../build/work/app/i18n/custmsg.h:725
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnabut.xtr:50
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:725
msgid "Note that the two straight tracks were combined to form one track.\n"
msgstr ""
"Beachten Sie, dass die beiden geraden Gleise zu einem Gleis zusammengefasst "
"wurden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnabut.xtr:55
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjncs.xtr:14
-#: ../../../../build/work/app/i18n/custmsg.h:728
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnabut.xtr:55
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjncs.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:728
msgid ""
"The <Join> command can also join straight and curved tracks (in either "
"order).\n"
@@ -13350,17 +13607,17 @@ msgstr ""
"Mit dem Befehl <Verbinden> können gerade und gebogene Gleise (in jeder "
"Reihenfolge) verbunden werden.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:729
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:729
msgid "We will enable Cornu easements\n"
msgstr "Zuerst schalten wir Übergangsbögen mit Cornu an.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjncs.xtr:32
-#: ../../../../build/work/app/i18n/custmsg.h:731
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjncs.xtr:32
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:731
msgid "A connecting cornu track is drawn between the two tracks.\n"
msgstr "Eine Cornu wird zwischen den beiden Gleisen gezeichnet.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjncs.xtr:41
-#: ../../../../build/work/app/i18n/custmsg.h:733
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjncs.xtr:41
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:733
msgid ""
"Notice that the curved track is extended as the connection point moves past "
"the End-Point.\n"
@@ -13368,8 +13625,8 @@ msgstr ""
"Beachten Sie, dass das gebogene Gleis verlängert wird, wenn der "
"Verbindungspunkt über den Endpunkt hinaus verschoben wird.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjncs.xtr:54
-#: ../../../../build/work/app/i18n/custmsg.h:735
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjncs.xtr:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:735
msgid ""
"Here the connection makes the curved track wrap around. This is not a "
"useful shape, there is a discontinuity at the end. \n"
@@ -13377,19 +13634,19 @@ msgstr ""
"Hier entsteht durch das Verbinden eine Schleife. Das ist keine sinnvolle "
"Form, da am Ende ein Knick entsteht.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:736
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:736
msgid "Adjusting the end point will fix it. \n"
msgstr "Durch Anpassen des Endpunktes wird das verbessert.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjncs.xtr:64
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnmove.xtr:18
-#: ../../../../build/work/app/i18n/custmsg.h:739
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjncs.xtr:64
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnmove.xtr:18
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:739
msgid "The <Join> command can move one group of tracks to join with another.\n"
msgstr ""
"Mit dem Befehl <Verbinden> können Gruppen von Gleisen verschoben werden, um "
"diese mit anderen zu verbinden.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:740
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:740
msgid ""
"First <Select> the tracks you want to move with Ctrl so that they are both "
"selected.\n"
@@ -13397,20 +13654,20 @@ msgstr ""
"Zuerst wählen Sie bei gedrücketr Strg-Taste die Gleise aus, die verschoben "
"werden sollen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnmove.xtr:36
-#: ../../../../build/work/app/i18n/custmsg.h:742
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnmove.xtr:36
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:742
msgid "Click <Join> and Shift-Left-Click on the two End-Points.\n"
msgstr ""
"Klicken Sie auf <Verbinden> und klicken dann bei gedrückter Umschalttaste "
"auf die beiden Endpunkte.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnmove.xtr:51
-#: ../../../../build/work/app/i18n/custmsg.h:744
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnmove.xtr:51
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:744
msgid "The selected tracks are moved into position.\n"
msgstr "Die ausgewählten Gleise werden an die Position verschoben.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:14
-#: ../../../../build/work/app/i18n/custmsg.h:746
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:746
msgid ""
"Two straight tracks can be joined by selecting the two endoints. The "
"selected endpoints will be those closest to the cursor when the track is "
@@ -13420,19 +13677,19 @@ msgstr ""
"werden. Die ausgewählten Endpunkte sind diejenigen, die dem Cursor am "
"nächsten liegen, wenn das Gleis ausgewählt wird.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:747
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:747
msgid "First, we will select Easements None and then select Join\n"
msgstr ""
"Zuerst legen wir keine Übergangsbogen fest, dann wählen wir Verbinden aus.\n"
"\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:26
-#: ../../../../build/work/app/i18n/custmsg.h:749
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:26
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:749
msgid "Now we select two points on the tracks\n"
msgstr "Jetzt wählen wir zwei Punkte auf den Gleisen aus.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:36
-#: ../../../../build/work/app/i18n/custmsg.h:751
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:36
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:751
msgid ""
"A connecting track is drawn between the two tracks. Notice how it moves as "
"the cursor is dragged along the second track.\n"
@@ -13441,16 +13698,16 @@ msgstr ""
"Sie wie dieses neu geformt wird, wenn der Mauszeiger entlang des zweiten "
"Gleises bewegt wird.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:47
-#: ../../../../build/work/app/i18n/custmsg.h:753
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:47
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:753
msgid ""
"Note that two tracks are extended if you move past the end of the track.\n"
msgstr ""
"Beachten Sie, dass die beiden Gleise verlängrt werden, wenn Sie denn "
"Mauszeiger über das Ende des Gleises hinaus bewegen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:55
-#: ../../../../build/work/app/i18n/custmsg.h:755
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:55
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:755
msgid ""
"Notice what happens if you drag past the intersection points of the two "
"tracks.\n"
@@ -13458,30 +13715,30 @@ msgstr ""
"Beachten Sie was passiert, wenn Sie über den Schnittpunkt der beiden Gleise "
"hinaus ziehen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:63
-#: ../../../../build/work/app/i18n/custmsg.h:757
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:757
msgid "This is probably not a very useful thing to do.\n"
msgstr "Das ist wahrscheinlich keine sinnvolle Lösung.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:70
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:90
-#: ../../../../build/work/app/i18n/custmsg.h:760
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:70
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:90
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:760
msgid "Now we will do this with Cornu Easements \n"
msgstr "Jetzt werden wir dies mit den Cornu-Übergangsbögen tun\n"
-#: ../../../../build/work/app/i18n/custmsg.h:761
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:761
msgid "First, we will select Easements Cornu and then select Join\n"
msgstr ""
"Zuerst legen wir Cornu als Übergangsbogen fest, dann wählen wir Verbinden "
"aus.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:102
-#: ../../../../build/work/app/i18n/custmsg.h:763
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:102
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:763
msgid "Now we again select two points on the tracks\n"
msgstr "Jetzt wählen wir wieder zwei Punkte auf dem Gleis aus\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:112
-#: ../../../../build/work/app/i18n/custmsg.h:765
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:112
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:765
msgid ""
"A connecting cornu is drawn between the two tracks. Notice how it behaves "
"as the cursor is dragged along the second track.\n"
@@ -13490,16 +13747,16 @@ msgstr ""
"dieses neu geformt wird, wenn der Mauszeiger entlang des zweiten Gleises "
"bewegt wird.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:123
-#: ../../../../build/work/app/i18n/custmsg.h:767
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:123
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:767
msgid ""
"Note that either tracks can be extended if you move past the end of it.\n"
msgstr ""
"Beachten Sie, dass jedes der Gleise verlängert werden kann, wenn Sie denn "
"Mauszeiger über das Ende des Gleises hinaus bewegen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:131
-#: ../../../../build/work/app/i18n/custmsg.h:769
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:131
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:769
msgid ""
"Notice this time what happens if you drag past the intersection points of "
"the two tracks.\n"
@@ -13507,51 +13764,51 @@ msgstr ""
"Beachten Sie was passiert, wenn Sie über den Schnittpunkt der beiden Gleise "
"hinaus ziehen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:139
-#: ../../../../build/work/app/i18n/custmsg.h:771
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:139
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:771
msgid "This is more useful because you can move the other end as well.\n"
msgstr ""
"Dies ist nützlicher, weil Sie auch das andere Ende verschieben können.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:150
-#: ../../../../build/work/app/i18n/custmsg.h:773
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:150
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:773
msgid "You can add a pin to constrain the Cornu Curve to pass through it.\n"
msgstr ""
"Du kannst einen Marker seten sodaß die Cornu-Kurve durch diesn hindurch "
"führt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:161
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:16
-#: ../../../../build/work/app/i18n/custmsg.h:776
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:161
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:776
msgid "You can connect from any track to a turntable\n"
msgstr "Sie können jedes Gleis mit einer Drehscheibe verbinden.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:777
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:777
msgid "With a Cornu Easement you can have a turntable as the first point.\n"
msgstr "Mit einem Cornu-Übergang kann eien Drehscheibe der erste Punkt sein.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:38
-#: ../../../../build/work/app/i18n/custmsg.h:779
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:38
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:779
msgid ""
-"You cannot place the connecting track too close to an existing stall track. "
-"How close you can get is controlled by the Turntable Angle on the Setup "
+"You cannot place the connecting track too close to an existing stall track."
+" How close you can get is controlled by the Turntable Angle on the Setup "
"dialog.\n"
msgstr ""
"Ein Verbindungsgleis kann nicht zu dicht an einem existieren "
"Drehscheibenabgang erstellt werden. Wie klein der Abstand sein darf, wird "
"über den Drehscheibenwinkel in den Einstellungen festgelegt.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:780
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:780
msgid "In this example it is set to 15 degrees.\n"
msgstr "In diesem Beispiel ist dieser auf 15° eingestellt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:54
-#: ../../../../build/work/app/i18n/custmsg.h:782
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:782
msgid "You can drag the connecting point all round the turntable.\n"
msgstr "Sie können den Verbindungspunkt irgendwo an die Drehscheibe ziehen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:103
-#: ../../../../build/work/app/i18n/custmsg.h:784
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:103
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:784
msgid ""
"As you drag away from the turntable a straight track will be drawn to the "
"cursor postion and a curve will be drawn from the cursor to the connecting "
@@ -13561,8 +13818,8 @@ msgstr ""
"Position des Mauszeiger gezeichnet. Ein Gleisbogen wird vom Mauszeiger zum "
"Verbindungsgleis gezeichnet.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:111
-#: ../../../../build/work/app/i18n/custmsg.h:786
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:111
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:786
msgid ""
"Now the cursor will be moved within the turntable, but the end stays on the "
"edge of the well.\n"
@@ -13570,53 +13827,52 @@ msgstr ""
"Jetzt wird der Mauszeiger zu einer Position innerhalb der Drehscheibe "
"bewegt, aber das Ender bleibt auf der Kante der Grube.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:161
-#: ../../../../build/work/app/i18n/custmsg.h:788
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:161
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:788
msgid "All done.\n"
msgstr "Fertig.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:169
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:38
-#: ../../../../build/work/app/i18n/custmsg.h:791
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:169
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:38
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:791
msgid ""
-"The Draw Commands are used to draw straight and curved lines on the layout.\n"
+"The Draw Commands are used to draw straight and curved lines on the "
+"layout.\n"
msgstr ""
"Die Zeichenbefehle werden genutzt, um gerade oder gebogene Gleise auf dem "
"Gleisplan zu erstellen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:46
-#: ../../../../build/work/app/i18n/custmsg.h:793
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:46
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:793
msgid ""
"Lines are drawn by clicking at the starting postion and dragging to the "
"final position.\n"
msgstr ""
-"Linien werden gezeichnet, indem der Startpunkt durch Klicken festgelegt wird "
-"und dann durch Ziehen der zusätzliche Endpunkt erstellt wird.\n"
+"Linien werden gezeichnet, indem der Startpunkt durch Klicken festgelegt wird"
+" und dann durch Ziehen der zusätzliche Endpunkt erstellt wird.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:794
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:794
msgid ""
-"By default, the new line will snap to existing objects. Hold down the "
-"<Ctrl> and <Alt> keys to prevent this from happening.\n"
+"By default, the new line will snap to existing objects. Hold down the <Alt>"
+" keys to prevent this from happening.\n"
msgstr ""
"Standardmäßig wird die neue Linie an vorhandenen Objekten gefangen. Halten "
-"Sie die Tasten <Strg> und <Alt> gleichzeitig gedrückt, um dies zu "
-"verhindern.\n"
+"Sie die Tasten <Alt> gleichzeitig gedrückt, um dies zu verhindern.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:91
-#: ../../../../build/work/app/i18n/custmsg.h:796
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:91
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:796
msgid "You also draw in various colors and line widths.\n"
msgstr ""
"Sie können auch mit unterschiedlichen Farben und Liniendicken zeichnen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:109
-#: ../../../../build/work/app/i18n/custmsg.h:798
-msgid ""
-"Like Curved Tracks, Curved Lines can be drawn by a variety of methods.\n"
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:110
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:798
+msgid "Like Curved Tracks, Curved Lines can be drawn by a variety of methods.\n"
msgstr ""
"Wie Gleisbögen können auch gebogene Linien mit unterschiedlichen Methoden "
"gezeichnet werden.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:799
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:799
msgid ""
"Here we will draw a Curve by dragging from one End-Point to the other to "
"define the chord of the Curve. Then we will drag from the center to shape "
@@ -13626,15 +13882,15 @@ msgstr ""
"ziehen um die Sehne der Kurve festzulegen. Dann Ziehen wir vom Mittelpunkt "
"aus, um die Form der Kurve festzulegen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:184
-#: ../../../../build/work/app/i18n/custmsg.h:801
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:185
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:801
msgid "Boxes are useful for drawing rectangular shapes.\n"
msgstr ""
"Gefüllte Rechtecke können für das Erstellen rechteckiger Formen benutzt "
"werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:194
-#: ../../../../build/work/app/i18n/custmsg.h:803
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:195
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:803
msgid ""
"Circles can be drawn by clicking on the center or edge and dragging to set "
"the radius.\n"
@@ -13642,32 +13898,32 @@ msgstr ""
"Kreise werden gezeichnet, indem auf den Rand oder den Mittelpunkt geklickt "
"wird. Danach wird durch Ziehen der Radius festgelegt.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:804
-msgid "Here we will drag from the Center.\n"
-msgstr "Hier beginnen wir vom Mittelpunkt aus.\n"
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:804
+msgid "Here we will drag from the edge to the Center.\n"
+msgstr "Hier ziehen wir von der Tischkante zum Mittelpunkt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:204
-#: ../../../../build/work/app/i18n/custmsg.h:806
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:205
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:806
msgid "Lines and Shapes can be deleted by Selecting and Deleting.\n"
-msgstr ""
-"Linien und Formen können durch Auswählen und Löschen entfernt werden.\n"
+msgstr "Linien und Formen können durch Auswählen und Löschen entfernt werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:227
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:91
-#: ../../../../build/work/app/i18n/custmsg.h:809
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:228
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:91
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:809
msgid "We also draw Polylines and filled shapes.\n"
msgstr "Wir können auch Vielfachlinien und gefüllte Formen erstellen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:98
-#: ../../../../build/work/app/i18n/custmsg.h:811
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:98
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:811
msgid ""
-"A Polyline is drawn by dragging to place each of the point in the Polyline.\n"
+"A Polyline is drawn by dragging to place each of the point in the "
+"Polyline.\n"
msgstr ""
"Eine Vielfachlinie wird gezeichnet, indem jeder Eckpunkt durch Ziehen "
"gesetzt wird.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:125
-#: ../../../../build/work/app/i18n/custmsg.h:813
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:125
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:813
msgid ""
"To finish off the Polyline press the <Space> key or choose another drawing "
"type.\n"
@@ -13675,35 +13931,35 @@ msgstr ""
"Um die Vielfachlinie zu beenden, drücken Sie die Leertaste oder wählen eine "
"andere Zeichenoperation.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:132
-#: ../../../../build/work/app/i18n/custmsg.h:815
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:132
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:815
msgid "A filled Polygon is drawn in the same way.\n"
msgstr "Ein ausgefülltes Polygon wird auf die gleiche Weise gezeichnet.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:158
-#: ../../../../build/work/app/i18n/custmsg.h:817
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:158
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:817
msgid "When you are finished, press the <Space> key to complete the polygon.\n"
msgstr ""
"Wenn Sie fertig sind, drücken Sie die Taste <Leerzeichen> , um das Polygon "
"zu vervollständigen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:165
-#: ../../../../build/work/app/i18n/custmsg.h:819
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:165
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:819
msgid ""
"You can use the Above and Below Commands to move lines and shapes to the "
"front or back of the drawing.\n"
msgstr ""
-"Sie können die Befehle Über und Unter benutzen, um Linien und Formen in den "
-"Vorder- oder Hintergrund zu verschieben.\n"
+"Sie können die Befehle Über und Unter benutzen, um Linien und Formen in den"
+" Vorder- oder Hintergrund zu verschieben.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:182
-#: ../../../../build/work/app/i18n/custmsg.h:821
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:182
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:821
msgid "Filled Boxes and Circles work the same as line Boxes and Circles.\n"
msgstr "Gefüllte Rechtecke und Kreis werden genauso erstellt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:199
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:8
-#: ../../../../build/work/app/i18n/custmsg.h:824
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:199
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:8
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:824
msgid ""
"In the drawing area of the main window you can see an hollow upwards arrow "
"which represents the mouse cursor. In this demo the mouse will move about "
@@ -13713,14 +13969,14 @@ msgstr ""
"oben anstelle des Mauszeigers. In dieser Demo wird dieser bewegt, um Ihnen "
"die Arbeitsweise verschiedener Befehle zu zeigen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:825
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:825
msgid ""
"The hollow arrow represents the mouse cursor without a mouse button being "
"pressed.\n"
msgstr "Der leere Pfeil entspricht dem Mauszeiger ohne gedrückte Maustaste.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:16
-#: ../../../../build/work/app/i18n/custmsg.h:827
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:827
msgid ""
"When the left mouse button would be pressed, the mouse cursor appears to "
"flash and the hollow arrow is replaced by a solid left-pointing red arrow "
@@ -13730,7 +13986,7 @@ msgstr ""
"gefüllten roten Pfeil ersetzt. Solange der linke Mausknopf gedrückt bleibt, "
"ist der Mauszeiger ein gefüllter Pfeil.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:828
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:828
msgid ""
"Note: these color changes occur only during the demo to simulate mouse "
"button presses.\n"
@@ -13738,16 +13994,15 @@ msgstr ""
"Beachten Sie, dass diese Farbänderungen nur in einer Demo auftritt um "
"Tastendrücke anzuzeigen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:24
-#: ../../../../build/work/app/i18n/custmsg.h:830
-msgid ""
-"Moving the mouse while a mouse button is pressed is called 'dragging'.\n"
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:24
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:830
+msgid "Moving the mouse while a mouse button is pressed is called 'dragging'.\n"
msgstr ""
-"Das Bewegen der Maus während der Mausknopf gedrückt bleibt wird als 'Ziehen' "
-"bezeichnet.\n"
+"Das Bewegen der Maus während der Mausknopf gedrückt bleibt wird als 'Ziehen'"
+" bezeichnet.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:32
-#: ../../../../build/work/app/i18n/custmsg.h:832
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:32
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:832
msgid ""
"When the left mouse button is released, the mouse cursor flashes and the "
"hollow up black arrow is restored.\n"
@@ -13755,8 +14010,8 @@ msgstr ""
"Wird der linke Mausknopf wieder losgelassen, blinkt der Mauszeiger und der "
"hohle Pfeil wird wieder hergestellt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:40
-#: ../../../../build/work/app/i18n/custmsg.h:834
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:40
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:834
msgid ""
"Dragging with the right button is simulated by a blue right-facing solid "
"cursor.\n"
@@ -13764,43 +14019,43 @@ msgstr ""
"Das Ziehen mit dem gedrückten rechten Mausknopf wird durch einen blauen, "
"nach rechts zeigenden, Mauszeiger dargestellt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:49
-#: ../../../../build/work/app/i18n/custmsg.h:836
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:49
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:836
msgid "Release Right Click\n"
msgstr "Rechte Mausetaste loslassen\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:57
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:62
-#: ../../../../build/work/app/i18n/custmsg.h:839
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:57
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:62
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:839
msgid "Sometimes the Shift key is held down while using the mouse \n"
msgstr ""
"Manchmal wird während des Bewegen der Maus auch die Umschalttaste gedrückt "
"gehalten. Dies wird mit Umschalt-Klick und Umschalt-Ziehen bezeichnet.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:840
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:840
msgid ""
"This is indicated by an outlined arrow with the letter S near the arrow.\n"
msgstr ""
"Dies wird durch einen Pfeilumriss und den Buchstaben S in der Nähe des "
"Pfeils dargestellt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:71
-#: ../../../../build/work/app/i18n/custmsg.h:842
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:71
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:842
msgid ""
"The left mouse button is held down with the Shift and dragged for a Left-"
"Shift-Drag. \n"
msgstr ""
-"Für eine Umschalt-Links-Ziehen wird der linke Mausknopf gedrückt während die "
-"Umschalt-Taste gedrückt gehalten wird.\n"
+"Für eine Umschalt-Links-Ziehen wird der linke Mausknopf gedrückt während die"
+" Umschalt-Taste gedrückt gehalten wird.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:86
-#: ../../../../build/work/app/i18n/custmsg.h:844
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:86
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:844
msgid "Sometimes the Control key is held down while using the mouse. \n"
msgstr ""
"Manchmal wird während des Bewegen der Maus auch die Strg-Taste gedrückt "
"gehalten. Dies wird mit Strg-Klick und Strg-Ziehen bezeichnet.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:845
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:845
msgid ""
"This is indicated with an upward filled arrow head with the letter C near "
"the arrow \n"
@@ -13808,16 +14063,16 @@ msgstr ""
"Dies wird durch eine nach oben gefüllte Pfeilspitze mit dem Buchstaben C in "
"der Nähe des Pfeils angezeigt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:98
-#: ../../../../build/work/app/i18n/custmsg.h:847
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:98
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:847
msgid ""
-"If while the Control is held the Left mouse button is held down it is a Ctrl-"
-"Move and a Ctrl-Left-Drag. \n"
+"If while the Control is held the Left mouse button is held down it is a "
+"Ctrl-Move and a Ctrl-Left-Drag. \n"
msgstr ""
-"Wenn die linke Maustaste bei gedrückter Strg gedrückt gehalten wird, handelt "
-"es sich um eine Strg-Bewegen und ein Strg-Links-Ziehen. \n"
+"Wenn die linke Maustaste bei gedrückter Strg gedrückt gehalten wird, handelt"
+" es sich um eine Strg-Bewegen und ein Strg-Links-Ziehen. \n"
-#: ../../../../build/work/app/i18n/custmsg.h:848
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:848
msgid ""
"This is indicated by an an left-facing open-headed arrow with the letter C "
"near it.\n"
@@ -13825,12 +14080,12 @@ msgstr ""
"Dies wird durch einen nach zeigenden Pfeilumriß mit dem Buchstaben C in der "
"Nähe des Pfeils angezeigt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:114
-#: ../../../../build/work/app/i18n/custmsg.h:850
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:114
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:850
msgid "You can also use the Control key with the Right mouse button. \n"
msgstr "Sie können auch die Strg-Taste mit der rechten Maustaste verwenden.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:851
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:851
msgid ""
"This is indicated with a right-facing filled arrow with an open arrow head "
"and the letter C near the arrow \n"
@@ -13838,9 +14093,9 @@ msgstr ""
"Dies wird durch einen nach rechts weisenden Pfeilumriß mit dem Buchstaben C "
"in der Nähe des Pfeils angezeigt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:130
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:23
-#: ../../../../build/work/app/i18n/custmsg.h:854
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:130
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:23
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:854
msgid ""
"The main drawing area shows a portion of total layout. You can zoom in or "
"zoom out by choosing 'Zoom In' or 'Zoom Out' in the 'Edit' menu, by using "
@@ -13853,32 +14108,32 @@ msgstr ""
"Knöpfe in der Werkzeugleiste, die Bild hoch und runter Tasten und das "
"Mausrad.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:855
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:855
msgid "You can see the entire layout in the Map window.\n"
msgstr "Den gesamten Gleisplan können Sie im Kartenfenster sehen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:33
-#: ../../../../build/work/app/i18n/custmsg.h:857
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:33
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:857
msgid "As you Zoom Out tracks are drawn with one line instead of two.\n"
msgstr ""
-"Wenn Sie die Ansicht verkleinern, werden Gleise durch eine anstelle von zwei "
-"Linien dargestellt.\n"
+"Wenn Sie die Ansicht verkleinern, werden Gleise durch eine anstelle von zwei"
+" Linien dargestellt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:49
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:54
-#: ../../../../build/work/app/i18n/custmsg.h:860
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:49
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:860
msgid ""
-"You can change what portion of the layout is shown by using the 'Map' window "
-"which shows a compressed version of the entire layout. A hilighted area of "
-"the 'Map' (in blue highlight) shows what portion of the layout is displayed "
-"in the main drawing area.\n"
+"You can change what portion of the layout is shown by using the 'Map' window"
+" which shows a compressed version of the entire layout. A hilighted area of"
+" the 'Map' (in blue highlight) shows what portion of the layout is displayed"
+" in the main drawing area.\n"
msgstr ""
"Sie können den im Hauptzeichenfenster gezeigten Bereich des Gleisplans mit "
-"dem Karten-Fenster, das den gesamten Plan verkleinert darstellt, ändern. Ein "
-"hervorgehobener Bereich der Karte (blaue Hervorhebung) zeigt, welcher Teil "
+"dem Karten-Fenster, das den gesamten Plan verkleinert darstellt, ändern. Ein"
+" hervorgehobener Bereich der Karte (blaue Hervorhebung) zeigt, welcher Teil "
"des Gleisplans im Moment dort gezeigt wird.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:861
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:861
msgid ""
"You can Left-Drag the hilighted area in the Map window to change the "
"displayed portion of the layout.\n"
@@ -13886,26 +14141,26 @@ msgstr ""
"Durch Ziehen des hervorgehobenen Bereichs im Karten-Fenster können Sie den "
"angezeigten Bereich des Gleisplans verändern.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:63
-#: ../../../../build/work/app/i18n/custmsg.h:863
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:863
msgid ""
"You can also Right-Drag on the Map window to set the scale and position of "
"the Main window.\n"
msgstr ""
-"Sie können auch Rechts-Ziehen um den Maßstab und die Position des Gleisplans "
-"im Hauptfenster zu bestimmen.\n"
+"Sie können auch Rechts-Ziehen um den Maßstab und die Position des Gleisplans"
+" im Hauptfenster zu bestimmen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:72
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmnotes.xtr:6
-#: ../../../../build/work/app/i18n/custmsg.h:866
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:72
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmnotes.xtr:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:866
msgid ""
"The <Note> command lets you attach notes to various spots on the layout.\n"
msgstr ""
"Der Befehl <Notiz> ermöglicht es, an unterschiedlichen Stellen des "
"Gleisplans Notien anzubringen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmnotes.xtr:14
-#: ../../../../build/work/app/i18n/custmsg.h:868
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmnotes.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:868
msgid ""
"When you place a note, the Note editor window is displayed which lets you "
"enter the note.\n"
@@ -13913,8 +14168,8 @@ msgstr ""
"Wenn Sie eine Notiz anlegen, wird der Notizeditor geöffnet, der die Eingabe "
"eines Textes ermöglicht.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmnotes.xtr:22
-#: ../../../../build/work/app/i18n/custmsg.h:870
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmnotes.xtr:22
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:870
msgid ""
"If you click on a note in <Describe> mode the Note editor displays the "
"note.\n"
@@ -13922,26 +14177,26 @@ msgstr ""
"Wenn Sie im <Beschreiben> Modus auf eine Notiz klicken, wird der Editor "
"angezeigt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmnotes.xtr:39
-#: ../../../../build/work/app/i18n/custmsg.h:872
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmnotes.xtr:39
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:872
msgid "This is the end of the XTrackCAD Demos.\n"
msgstr "Dies ist das Ende der XTrackCAD Demos.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:873
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:873
msgid "Click Step to return to XTrackCAD.\n"
msgstr "Klicken Sie auf Einzelschritt um zu XTrackCAD zurück zu kehren.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:874
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:874
msgid "Thanks for watching.\n"
msgstr "Danke für das Interesse.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:32
-#: ../../../../build/work/app/i18n/custmsg.h:876
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:32
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:876
msgid "This example shows how to create parallel tracks.\n"
msgstr "Dieses Besipiel zeigt wie paralle Gleise erstellt werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:37
-#: ../../../../build/work/app/i18n/custmsg.h:878
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:37
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:878
msgid ""
"The separation is set in the <Parallel Separation> window. You should set "
"this value before you begin to select tracks.\n"
@@ -13949,37 +14204,37 @@ msgstr ""
"Der Abstand wird im Fenster <Parallelabstand> eingestellt. Dies muss "
"geschehen, bevor das Glaus ausgewählt wird.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:49
-#: ../../../../build/work/app/i18n/custmsg.h:880
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:49
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:880
msgid ""
"You control which side the parallel track will be on by moving the cursor "
"from one side of the track centerline to the other.\n"
msgstr ""
-"Sie können steuern, auf welcher Seite das Parallalgleis erstellt wird, indem "
-"Sie den Mauszeiger von einer Seite derr Gleismitte auf die andere bewegen.\n"
+"Sie können steuern, auf welcher Seite das Parallalgleis erstellt wird, indem"
+" Sie den Mauszeiger von einer Seite derr Gleismitte auf die andere "
+"bewegen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:81
-#: ../../../../build/work/app/i18n/custmsg.h:882
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:81
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:882
msgid "When you release the mouse button the new parallel track is created.\n"
-msgstr ""
-"Sobald Sie den Mausknop loslassen, wird das parallele Gleis erstellt.\n"
+msgstr "Sobald Sie den Mausknop loslassen, wird das parallele Gleis erstellt.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:883
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:883
msgid ""
-"Note that the <Parallel> command remains active after you created the "
-"track. This is controlled by the Sticky dialog in the Options menu.\n"
+"Note that the <Parallel> command remains active after you created the track."
+" This is controlled by the Sticky dialog in the Options menu.\n"
msgstr ""
"Beachten Sie, dass der Befehl <Parallelgleis> aktiv bleibt nachdem Sie das "
"Gleis erstellt haben. Dies wird durch die Einstellungen in Wiederholte "
"Befehle festgelegt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:92
-#: ../../../../build/work/app/i18n/custmsg.h:885
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:92
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:885
msgid "You cannot create a track parallel to a turnout.\n"
msgstr "Zu einer Weiche können keine Parallelen erstellt werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:172
-#: ../../../../build/work/app/i18n/custmsg.h:887
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:172
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:887
msgid ""
"Note that the new curved track is automatically connected to the short "
"parallel track.\n"
@@ -13987,9 +14242,9 @@ msgstr ""
"Beachten Sie, dass das neue gebogene Gleis automatisch mit dem kurzen "
"parallelen Gleis verbunden wird.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:180
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:19
-#: ../../../../build/work/app/i18n/custmsg.h:890
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:180
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:19
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:890
msgid ""
"Polylines and polygons (created with the <Draw> command) can be modified by "
"dragging on their corners or edges.\n"
@@ -13997,46 +14252,46 @@ msgstr ""
"Vielfachlinen und Vielecke, erstellt mit dem Befehl <Zeichnen> können durch "
"Ziehen an den Ecken und Kanten verändert werden.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:891
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:891
msgid "First Left Click on the shape you want to modify.\n"
msgstr ""
"Klicken Sie zunächst mit der linken Maustaste auf die Form, die Sie ändern "
"möchten.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:29
-#: ../../../../build/work/app/i18n/custmsg.h:893
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:29
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:893
msgid "Then drag on the point you want to move\n"
msgstr "Dann ziehen Sie an dem Punkt, der verschoben werden soll\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:39
-#: ../../../../build/work/app/i18n/custmsg.h:895
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:39
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:895
msgid "And finally press the Space bar to finish the change\n"
msgstr ""
"Und schließlich drücken Sie die Leertaste, um die Änderung abzuschließen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:54
-#: ../../../../build/work/app/i18n/custmsg.h:897
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:897
msgid "If you select the middle of an Edge a new Corner is created.\n"
msgstr ""
"Wenn Sie die Mitte einer Kante auswählen, wird eine neue Ecke erzeugt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:72
-#: ../../../../build/work/app/i18n/custmsg.h:899
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:72
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:899
msgid "To delete a corner, select and then press Delete or Backspace\n"
msgstr ""
"Um eine Ecke zu löschen, wählen Sie diese aus und drücken dann Löschen oder "
"Rücktaste\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:98
-#: ../../../../build/work/app/i18n/custmsg.h:901
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:98
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:901
msgid "But you cannot have a Poly-shape with less than 3 sides.\n"
msgstr ""
"Aber ein Vieleck oder eine Vielfachllinie mit weniger als drei Seiten ist "
"nicht möglich.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:126
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:126
-#: ../../../../build/work/app/i18n/custmsg.h:904
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:126
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:126
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:904
msgid ""
"To use the <Profile> command you first need to define Elevations on your "
"layout.\n"
@@ -14044,54 +14299,56 @@ msgstr ""
"Um den Befehl <Höhenprofil> nutzen zu können, müssen Sie zuerst Höhen auf "
"Ihrem Gleisplan festlegen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:905
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:905
msgid "In this example we'll use the Elevations defined in the last example.\n"
msgstr "In dieser Demo werden wird die Höhen aus der letzten Demo benutzen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:906
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:906
msgid "You can move or resize the Profile dialog now if you want.\n"
msgstr "Das Höhenprofil Fenster kann nun vergrößert werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:135
-#: ../../../../build/work/app/i18n/custmsg.h:908
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:135
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:908
msgid ""
-"To show the Profile you need to select a Path on the tracks of your layout.\n"
+"To show the Profile you need to select a Path on the tracks of your "
+"layout.\n"
msgstr ""
"Um das Höhenprofil anzeigen zu können muss eine Strecke in Ihrem Plan "
"ausgewählt werden.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:909
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:909
msgid "Select a Defined Elevation point (marked by Gold dots).\n"
msgstr "Eine beliebigen Punkt festgelegen, um das Höhenprofil zu beginnen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:910
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:910
msgid "We will start with the right end of the siding.\n"
msgstr "Wir starten am rechten Ende des Abstellgleises.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:148
-#: ../../../../build/work/app/i18n/custmsg.h:912
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:148
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:912
msgid ""
"The second Point is at the left end of the siding. The Path will be drawn "
"in Purple on the layout.\n"
msgstr ""
-"Der zweite Punkt ist das linke Ende ds Nebengleises. Der Pfad wird in Purpur "
-"auf dem Gleisplan dargestellt.\n"
+"Der zweite Punkt ist das linke Ende ds Nebengleises. Der Pfad wird in Purpur"
+" auf dem Gleisplan dargestellt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:160
-#: ../../../../build/work/app/i18n/custmsg.h:914
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:160
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:914
msgid "Now select the end of one of the Branches\n"
msgstr "Jetzt wählen Sie das Ende eines der Abzweige aus.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:169
-#: ../../../../build/work/app/i18n/custmsg.h:916
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:169
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:916
msgid ""
"The Profile line is drawn in Red. This indicates that there some turnouts "
"on that section of the Path which have more than 2 connections.\n"
msgstr ""
-"Das Höhenprofil wird in rot gezeichnet. Das bedeutet, dass es einige Weichen "
-"auf diesem Abschnitt des Pfads gibt, die nmehr als zwei Verbindungen haben.\n"
+"Das Höhenprofil wird in rot gezeichnet. Das bedeutet, dass es einige Weichen"
+" auf diesem Abschnitt des Pfads gibt, die nmehr als zwei Verbindungen "
+"haben.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:917
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:917
msgid ""
"The grade on this part of the Path is the average and may be affected by "
"other Elevations, such the end of the lower branch.\n"
@@ -14099,12 +14356,12 @@ msgstr ""
"Die Steigung auf diesem Teil des Pfads ist ein Durchschnittswert und knn "
"durch andere Höhen wie dem Ende des unteren Abzweigs beeinflusst werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:178
-#: ../../../../build/work/app/i18n/custmsg.h:919
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:178
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:919
msgid "Now try to select the End-Point of the other branch.\n"
msgstr "Versuchen Sie jetzt, den Endpunkt des anderen Abzweiges auszuwählen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:920
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:920
msgid ""
"You will get an error message because there is no route to one of the ends "
"of the existing Path.\n"
@@ -14112,22 +14369,23 @@ msgstr ""
"Sie erhalten eine Fehlermeldung, da es keine Route zu einem der Endpunkte "
"des existieren Pfades gibt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:187
-#: ../../../../build/work/app/i18n/custmsg.h:922
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:187
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:922
msgid ""
"In this case remove the last part of the Path by clicking on current end of "
"the Path and reselect the End-Point.\n"
msgstr ""
"In diesem Fall entfernen Sie den letzten Teil des Pfads indem Sie auf das "
-"das gegenwärtige Ende des Pfades klicken und den Endpunkt erneut festlegen.\n"
+"das gegenwärtige Ende des Pfades klicken und den Endpunkt erneut "
+"festlegen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:198
-#: ../../../../build/work/app/i18n/custmsg.h:924
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:198
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:924
msgid "Notice that the Grade has changed on the Profile.\n"
msgstr "Beachten Sie, dass sich die Steigung im Höhenprofil geändert hat.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:205
-#: ../../../../build/work/app/i18n/custmsg.h:926
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:205
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:926
msgid ""
"You can Ignore End-Points on the Path by using Shift-Right-Click to display "
"the Profile Options popup menu and chosing Ignore.\n"
@@ -14136,7 +14394,7 @@ msgstr ""
"Umschalttaste während Sie mit dem rechten Mausknopf klicjken. In den "
"Höhenprofil-Optionen wählen Sie ignorieren.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:927
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:927
msgid ""
"Note: We can't show the menu in demo mode but we will show the effect of a "
"Shift Right Click and selecting ignore. We will be Ignoring the End-Point "
@@ -14146,14 +14404,14 @@ msgstr ""
"Effekt daraus. Wir werden den Endpunkt der Weiche, der nicht auf dem Pfad "
"liegt, ignorieren.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:217
-#: ../../../../build/work/app/i18n/custmsg.h:929
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:217
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:929
msgid "Notice that part of the Profile line is redrawn in Blue.\n"
msgstr ""
"Beachten Sie, dass ein Teil des Höhenprofils in blauer Farbe neu gezeichnet "
"wurde.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:930
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:930
msgid ""
"Also, the Computed Elevations and Grade marker on the right side of the "
"layout have been updated.\n"
@@ -14161,17 +14419,18 @@ msgstr ""
"Außerdem wurden die berechneten Höhen und die Steigungsmarkierung auf der "
"rechten Seite des Gleisplans aktualisiert.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:225
-#: ../../../../build/work/app/i18n/custmsg.h:932
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:225
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:932
msgid ""
"You can set additional Defined Elevation points using the Profile Options "
-"popup menu. These points are added to the Profile if they are on the Path.\n"
+"popup menu. These points are added to the Profile if they are on the "
+"Path.\n"
msgstr ""
"Sie können weitere Punkte mit festgelegter Höhe zufügen, indem Sie das "
"Optionsmenu für Höhenprofile benutzen. Diese Punkte werden zu dem "
"Höhenprofil zugefügt, wenn Sie auf dem Pfad liegen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:933
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:933
msgid ""
"We do this by Shift Right Click to display the Profile Options popup menu "
"and selecting Define.\n"
@@ -14179,8 +14438,8 @@ msgstr ""
"Dies geschieht durch durch Umschalt-Rechtsklick um das Optionsmenu für "
"Höhenprofile zu erhalten uns auswählen von Festlegen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:237
-#: ../../../../build/work/app/i18n/custmsg.h:935
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:237
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:935
msgid ""
"We've just added a Defined Elevation point to the middle of the lower "
"branch. Notice the addition on the Profile dialog.\n"
@@ -14188,17 +14447,17 @@ msgstr ""
"Wir haben gerade eine festgelegte Höhe in der Mitte des unteren Abzweigs "
"erstellt. Beachten Sie die Ergänzung im Höhenprofil.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:246
-#: ../../../../build/work/app/i18n/custmsg.h:937
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:246
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:937
msgid ""
-"For the siding we defined a Station name but it's not on the Path, since the "
-"Path takes the shortest distance between points.\n"
+"For the siding we defined a Station name but it's not on the Path, since the"
+" Path takes the shortest distance between points.\n"
msgstr ""
"Für das Ausweichgleis haben einen einen Bahnhofsnamen vergeben. Dieser ist "
"nicht auf dem Pfad, da ein Pfad immer den kürzesten Weg zwischen Punkten "
"nutzt.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:938
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:938
msgid ""
"We can Ignore one of the End-Points on a Turnout to force the Path to take "
"the other route.\n"
@@ -14206,7 +14465,7 @@ msgstr ""
"Wir können durch Ignorieren eines des der Endpunkte an einer Weiche "
"erzwingen, dass der Pfad die andere Route nimmt.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:939
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:939
msgid ""
"Again we use Shift-Right-Click to display the Profile Options menu and "
"select ignore.\n"
@@ -14214,33 +14473,33 @@ msgstr ""
"Wieder benutzen wir Umschalt-Rechtsklick um das Optionsmenu für das "
"Höhenprofil anzuzeigen und wählen ignorieren.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:258
-#: ../../../../build/work/app/i18n/custmsg.h:941
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:258
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:941
msgid "Now remove the First section of the Path,\n"
msgstr "Jetzt entfernen Sie den ersten Teil des Pfads\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:268
-#: ../../../../build/work/app/i18n/custmsg.h:943
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:268
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:943
msgid "and reselect it.\n"
msgstr "und wählen ihn wieder.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:277
-#: ../../../../build/work/app/i18n/custmsg.h:945
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:277
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:945
msgid ""
"Now the Path goes through the Station End-Point and the name appears on the "
"Profile dialog.\n"
msgstr ""
-"Jetzt führt der Pfad durch den Endpunkt am Bahnhof und der Name erscheint im "
-"Höhenprofil.\n"
+"Jetzt führt der Pfad durch den Endpunkt am Bahnhof und der Name erscheint im"
+" Höhenprofil.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:286
-#: ../../../../build/work/app/i18n/custmsg.h:947
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:286
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:947
msgid "Now we need to increase the separation where the tracks cross.\n"
msgstr ""
"Jetzt müssen wir den Höhenunterschied an der Stelle vergrössern, an der die "
"Gleise sich kreuzen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:948
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:948
msgid ""
"The two Elevations you see here are Computed Elevations which means "
"XTrackCAD dynamically computes the Elevation based on the Elevations of "
@@ -14249,7 +14508,7 @@ msgstr ""
"Die beiden Höhen die Sie hier sehen, sind berechnete Werte. Das bedeutet, "
"dass XTrackCAD die Höhe auf Grundlage verbundener Gleise berechnet.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:949
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:949
msgid ""
"First make the lower End-Point a Defined Elevation point using Shift-Right-"
"Click and the Profile Options menu. You will see the End-Point marked by a "
@@ -14257,15 +14516,15 @@ msgid ""
msgstr ""
"Markieren Sie zuerst den unteren Endpunkt als festgelegt. Dies geschieht "
"durch Umschalt-Rechtsklick und das Optionsmenu für das Höhenprofil. Sie "
-"werden sehen, dass der Endpunkt jetzt mit einem goldenen Punkt markiert ist. "
-"Dem Höhenprofil wurde eine neue Linie zugefügt.\n"
+"werden sehen, dass der Endpunkt jetzt mit einem goldenen Punkt markiert ist."
+" Dem Höhenprofil wurde eine neue Linie zugefügt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:297
-#: ../../../../build/work/app/i18n/custmsg.h:951
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:297
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:951
msgid "Now, drag the point on the Profile Dialog to change the Elevation.\n"
msgstr "Jetzt ziehen Sie den Punkt im Höhenprofil um die Höhe zu ändern.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:952
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:952
msgid ""
"Note the grade on each side of the point will be displayed at the bottom of "
"the Profile dialog.\n"
@@ -14273,8 +14532,8 @@ msgstr ""
"Beachten Sie, dass die Steigung auf beiden Seiten des Punktes im "
"Dialogfenster unten angezeigt wird.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:319
-#: ../../../../build/work/app/i18n/custmsg.h:954
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:319
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:954
msgid ""
"After we release the Profile is updated to show the new Elevation and "
"Grade.\n"
@@ -14282,53 +14541,53 @@ msgstr ""
"Nach dem Loslassen des Mausknopfes wird das Höhenprofil aktualisiert um die "
"neue Höhe und Steigung anzuzeigen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:326
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:119
-#: ../../../../build/work/app/i18n/custmsg.h:957
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:326
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:119
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:957
msgid "The <Rescale> command will change the size of the selected objects.\n"
msgstr "Der Befehl <Skalieren>verändert die Größe der ausgwählten Objekte.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:958
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:958
msgid "First we will try rescaling by ratio.\n"
msgstr "Zuerst skalieren wir über das Verhältnis.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:126
-#: ../../../../build/work/app/i18n/custmsg.h:960
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:126
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:960
msgid "We are going to make everything 150% bigger.\n"
msgstr "Wir vergrößern alles auf 150 Prozent.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:136
-#: ../../../../build/work/app/i18n/custmsg.h:962
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:136
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:962
msgid "Note the track gauge did not change.\n"
msgstr "Beachten Sie, dass die Spurweite nicht geändert wurde.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:143
-#: ../../../../build/work/app/i18n/custmsg.h:964
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:143
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:964
msgid "Let's try that again.\n"
msgstr "Lassen Sie uns das nochmals versuchen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:965
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:965
msgid "Now we are going to convert from one scale to another.\n"
msgstr "Jetzt ändern wir von einem Maßstab zu einem anderen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:154
-#: ../../../../build/work/app/i18n/custmsg.h:967
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:154
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:967
msgid "We will convert everything from N scale to HO scale...\n"
msgstr "Wir werden alles von Spur N nach Spur H0 umwandeln...\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:161
-#: ../../../../build/work/app/i18n/custmsg.h:969
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:161
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:969
msgid "and change the track gauge as well.\n"
msgstr "und die Spurweite gleichzeitig ändern.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:169
-#: ../../../../build/work/app/i18n/custmsg.h:971
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:169
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:971
msgid "Note that the Title of the turnout did not change.\n"
msgstr "Beachten Sie, dass der Titel der Weiche nicht geändert wurde.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:177
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrotate.xtr:72
-#: ../../../../build/work/app/i18n/custmsg.h:974
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:177
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrotate.xtr:72
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:974
msgid ""
"The <Rotate> command will pivot the Selected objects. First Click on the "
"pivot point and then drag to Rotate the objects.\n"
@@ -14337,14 +14596,14 @@ msgstr ""
"Klicken Sie zuerst auf das Zentrum der Drehbewegung und ziehen dann, um die "
"Objekte zu drehen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:975
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:975
msgid ""
"In this example we will rotate the selected structure about it's center.\n"
msgstr ""
"In diesem Beispiel werden wir das Gebäude um seinen Mittelpunkt drehen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrotate.xtr:135
-#: ../../../../build/work/app/i18n/custmsg.h:977
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrotate.xtr:135
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:977
msgid ""
"The <Rotate> command will restrict the rotation to increments of 15° if you "
"hold down the <Shift> and <Ctrl> keys.\n"
@@ -14352,8 +14611,8 @@ msgstr ""
"Der Drehwinkel wird auf Vielfache von 15° begrenzt, wenn Sie die Umschalt "
"und die Strg-Taste gleichzeitig gedrückt halten.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrotate.xtr:316
-#: ../../../../build/work/app/i18n/custmsg.h:979
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrotate.xtr:316
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:979
msgid ""
"There are Rotate options that you can access by Shift-Right-Click command "
"menu and choosing 'Rotate...'.\n"
@@ -14361,7 +14620,7 @@ msgstr ""
"Es gibt Rotationsoptionen, auf die Sie über das Umschalt-Rechts-Klick-"
"Befehlsmenü zugreifen können, indem Sie 'Rotieren...' wählen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:980
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:980
msgid ""
"You can rotate the selected object by a fixed rotatation (15, 30, 45, 90, "
"180) either clockwise or counter-clockwise, or by manually entering any "
@@ -14371,102 +14630,102 @@ msgstr ""
"180) entweder im oder gegen den Uhrzeigersinn oder durch manuelle Eingabe "
"eines beliebigen Winkels drehen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:981
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:981
msgid ""
"The other option is 'Align' which allows you align selected objects with an "
"unselected object. This is useful to align railside buildings with track.\n"
msgstr ""
-"Die andere Option ist 'Ausrichten', mit der Sie ausgewählte Objekte an einem "
-"nicht ausgewählten Objekt ausrichten können. Dies ist nützlich, um "
+"Die andere Option ist 'Ausrichten', mit der Sie ausgewählte Objekte an einem"
+" nicht ausgewählten Objekt ausrichten können. Dies ist nützlich, um "
"schienenseitige Gebäude an der Schiene auszurichten.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:982
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:982
msgid "Unfortunately, we can not currently demonstrate these features.\n"
msgstr "Leider können wir diese Merkmale derzeit nicht demonstrieren.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrotate.xtr:529
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmruler.xtr:14
-#: ../../../../build/work/app/i18n/custmsg.h:985
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrotate.xtr:529
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmruler.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:985
msgid ""
"The <Ruler> command draws a Ruler on the layout you can use to measure "
"distances.\n"
msgstr ""
-"Mit dem Befehl <Lineal> wird ein Lineal auf den Gleisplan gezeichnet. Dieses "
-"kann genutzt werden, um Abstände zu messen.\n"
+"Mit dem Befehl <Lineal> wird ein Lineal auf den Gleisplan gezeichnet. Dieses"
+" kann genutzt werden, um Abstände zu messen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmruler.xtr:24
-#: ../../../../build/work/app/i18n/custmsg.h:987
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmruler.xtr:24
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:987
msgid "If you press the <Ruler> command again the Ruler is removed.\n"
msgstr ""
"Wenn Sie den Befehl <Lineal> nochmals Anklicken, wird das Lineal wieder "
"entfernt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmruler.xtr:32
-#: ../../../../build/work/app/i18n/custmsg.h:989
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmruler.xtr:32
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:989
msgid "But you can place it somewhere else.\n"
msgstr "Aber Sie können dieses auch an eine andere Stelle versetzen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmruler.xtr:42
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:173
-#: ../../../../build/work/app/i18n/custmsg.h:992
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmruler.xtr:42
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:173
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:992
msgid "The <Select> command is used to select tracks.\n"
msgstr "Der Befehl <Auswahl> wird benutzt, um Objekte auszuwählen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:993
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:993
msgid "Selected tracks can be moved or rotated during the <Select> command.\n"
msgstr "Ausgewählte Gleise können verschoben und gedreht werden.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:994
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:994
msgid "Selected tracks can also be deleted, hidden, listed and exported.\n"
msgstr ""
"Ausgewählte Gleise können auch gelöscht, verborgen, aufgelistet und "
"exportiert werden.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:995
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:995
msgid ""
"When you move the cursor near a track that could be selected, the track is "
"drawn with think blue lines.\n"
msgstr ""
-"Wenn Sie den Cursor in die Nähe eines Gleises bewegen, das ausgewählt werden "
-"könnte, wird dieses mit blauen Linien gezeichnet.\n"
+"Wenn Sie den Cursor in die Nähe eines Gleises bewegen, das ausgewählt werden"
+" könnte, wird dieses mit blauen Linien gezeichnet.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:184
-#: ../../../../build/work/app/i18n/custmsg.h:997
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:184
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:997
msgid "A Left-Click selects a track\n"
msgstr "Ein Klick mit der linken Maustaste wählt ein Gleis aus.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:192
-#: ../../../../build/work/app/i18n/custmsg.h:999
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:192
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:999
msgid ""
"The selected track will have red X's drawn where it is connected to "
"unselected tracks. This indicates where the track will be disconnected if "
"the selected tracks are moved, rotated or deleted.\n"
msgstr ""
-"Am ausgewählten Gleis zeigen rote X an, wo dieses mit Gleisen verbunden ist, "
-"die nicht ausgewählt sind. Diese Verbindungen werden gelöst, wenn das "
+"Am ausgewählten Gleis zeigen rote X an, wo dieses mit Gleisen verbunden ist,"
+" die nicht ausgewählt sind. Diese Verbindungen werden gelöst, wenn das "
"ausgewählte Gleise verschoben, gedreht oder gelöscht wird. \n"
-#: ../../../../build/work/app/i18n/custmsg.h:1000
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1000
msgid "A Ctrl-Left-Click adds tracks to the selection\n"
msgstr "Mit einem Strg-Links-Klick werden Gleise zur Auswahl hinzugefügt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:211
-#: ../../../../build/work/app/i18n/custmsg.h:1002
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:211
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1002
msgid "Selecting a selected track re-selects only it.\n"
msgstr ""
"Durch erneutes Auswählen eines bereits ausgewählten Gleises bleibt nur "
"dieses ausgewählt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:219
-#: ../../../../build/work/app/i18n/custmsg.h:1004
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:219
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1004
msgid "Selecting off all tracks de-selects them.\n"
msgstr ""
"Durch Klicken außerhalb des Auswahlbereichs wird die Auswahl der Gleise "
"wieder aufgehoben.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:227
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:232
-#: ../../../../build/work/app/i18n/custmsg.h:1007
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:227
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:232
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1007
msgid ""
"To demonstrate Select Connected, first select two tracks at the end of a "
"part to be selected \n"
@@ -14474,8 +14733,8 @@ msgstr ""
"Um Auswahl verbundener Gleise zu demonstrieren, wählen Sie zunächst zwei "
"Gleise am Ende eines Teils, der ausgewählt werden soll\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:248
-#: ../../../../build/work/app/i18n/custmsg.h:1009
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:248
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1009
msgid ""
"Shift-Left-Click on a track will select all unselected tracks connected to "
"the track. Selection stops at a previously selected track.\n"
@@ -14484,35 +14743,35 @@ msgstr ""
"verbunden sind. Der Vorgang bricht ab, sobald ein Gleis bereits ausgewählt "
"ist.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:260
-#: ../../../../build/work/app/i18n/custmsg.h:1011
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:260
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1011
msgid ""
"Be careful with this because its very easy to select all tracks this way\n"
msgstr ""
"Seien Sie vorsichtig, denn es ist sehr einfach unbeabsichtigt alle Gleise "
"auszuwählen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:274
-#: ../../../../build/work/app/i18n/custmsg.h:1013
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:274
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1013
msgid "The <esc> key will deselect all objects.\n"
msgstr "Mit der Taste <Esc> werden alle Objekte abgewählt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:282
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:287
-#: ../../../../build/work/app/i18n/custmsg.h:1016
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:282
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:287
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1016
msgid "Left-Drag is used to select all objects within an area.\n"
msgstr ""
"Ziehen mit gedrückter linker Maustaste wählt alle Objekt in einem Bereich "
"aus.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:295
-#: ../../../../build/work/app/i18n/custmsg.h:1018
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:295
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1018
msgid "Shift-Left-Drag is used to move selected tracks.\n"
msgstr ""
"Links-Ziehen bei gedrückter Umschalt-Taste wird benutzt um die ausgewählten "
"Gleise zu verschieben.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1019
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1019
msgid ""
"When you move selected tracks that are connected to unselected tracks, the "
"tracks will be disconnected. These points are marked by a Red cross on the "
@@ -14522,7 +14781,7 @@ msgstr ""
"ausgewählt sind, wird die Verbindung gelöst. Diese Punkte werden durch ein "
"rotes Kreuz auf dem Gleisplan markiert.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1020
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1020
msgid ""
"If the unconnected end point of a track and one being moved are close "
"enough, two circles are displayed, showing where the tracks will be snapped "
@@ -14532,15 +14791,15 @@ msgstr ""
"genug beieinander liegen, werden zwei Kreise angezeigt, die zeigen, wo die "
"Gleise verbunden werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:313
-#: ../../../../build/work/app/i18n/custmsg.h:1022
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:313
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1022
msgid "Let's move the Main window to see what's going on next\n"
msgstr ""
"Wir werden das Hauptfenster bewegen, um zu sehen, was passiert.\n"
"\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:320
-#: ../../../../build/work/app/i18n/custmsg.h:1024
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:320
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1024
msgid ""
"Ctrl-Left-Drag rotates the selected tracks about the pivot point (which is "
"where you started the drag)\n"
@@ -14548,17 +14807,16 @@ msgstr ""
"Strg-Rechts-Ziehen dreht die ausgewählten Gleise um das Zentrum, d.h. der "
"Punkt an dem Sie das Ziehen begonnen haben.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:382
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:387
-#: ../../../../build/work/app/i18n/custmsg.h:1027
-msgid ""
-"Next we select the <Join Tracks> command to demonstrate \"Move To Join\" \n"
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:382
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:387
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1027
+msgid "Next we select the <Join Tracks> command to demonstrate \"Move To Join\" \n"
msgstr ""
"Als nächstes wählen wir den Befehl <Verbinde Gleise>, um \"Verschieben zum "
"Verbinden\" zu demonstrieren\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:392
-#: ../../../../build/work/app/i18n/custmsg.h:1029
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:392
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1029
msgid ""
"You can use Shift-Left-Click to select an open endpoint of a selected track "
"to join with an unselected track. \n"
@@ -14567,12 +14825,12 @@ msgstr ""
"ausgewählten Gleises auswählen, um es mit einem nicht ausgewählten Gleis zu "
"verbinden.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1030
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1030
msgid "We'll move the Main window again.\n"
msgstr "Wir werden das Hauptfenster wieder bewegen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:415
-#: ../../../../build/work/app/i18n/custmsg.h:1032
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:415
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1032
msgid ""
"You then Left-Click on an endpoint of a unselected track to move the "
"selected tracks to join. \n"
@@ -14581,28 +14839,28 @@ msgstr ""
"ausgewählten Gleises, um die ausgewählten Gleise zum Verbinden zu "
"verschieben.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:430
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:30
-#: ../../../../build/work/app/i18n/custmsg.h:1035
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:430
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:30
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1035
msgid "The <Split> command is used to split and disconnect tracks.\n"
msgstr ""
-"Der Befehl <Trennen> wird benutzt, um Gleise zu zerteilen und voneinander zu "
-"trennen.\n"
+"Der Befehl <Trennen> wird benutzt, um Gleise zu zerteilen und voneinander zu"
+" trennen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:35
-#: ../../../../build/work/app/i18n/custmsg.h:1037
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:35
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1037
msgid "Simply select the spot on the track you want to split.\n"
msgstr ""
-"Wählen Sie einfach die Stelle des Gleises aus, an der dieses getrennt werden "
-"soll.\n"
+"Wählen Sie einfach die Stelle des Gleises aus, an der dieses getrennt werden"
+" soll.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1038
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1038
msgid "You cannot split turnouts (unless you hold down the Shift key).\n"
msgstr ""
"Weichen können nur getrennt werden, wenn Sie die Umschalttaste drücken.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:48
-#: ../../../../build/work/app/i18n/custmsg.h:1040
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:48
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1040
msgid ""
"If you split at spot that is already an End-Point between two tracks, or "
"split twice at the same spot, the track is disconnected.\n"
@@ -14610,20 +14868,20 @@ msgstr ""
"Wenn Sie an einem vorhandenen Endpunkt zerteilen oder wenn die an einer "
"Stelle doppelt zerteilen werden die Gleise getrennt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:60
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:65
-#: ../../../../build/work/app/i18n/custmsg.h:1043
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:60
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:65
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1043
msgid "The <Tunnel> command marks selected tracks as hidden.\n"
msgstr "Mit dem Befehl <Tunnel> verbergen Sie die ausgewählten Gleise.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1044
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1044
msgid ""
"A tunnel portal is drawn at the boundary between hidden and normal track.\n"
msgstr ""
"Ein Tunnelportal wird am Übergang zwischen sichtbarem und verborgenem Gleis "
"gezeichnet.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1045
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1045
msgid ""
"How the hidden tracks are drawn (solid, dashed or invisible) is controlled "
"by the Draw EndPts radio button group on the Setup dialog.\n"
@@ -14631,38 +14889,37 @@ msgstr ""
"Die Darstellung des verborgenen Gleises (durchgezogen, gestrichelt oder "
"unsichtbar) kann in den Einstellungen festgelegt werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:86
-#: ../../../../build/work/app/i18n/custmsg.h:1047
-msgid ""
-"To 'un-hide' a track just Select it again and click the Tunnel button.\n"
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:86
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1047
+msgid "To 'un-hide' a track just Select it again and click the Tunnel button.\n"
msgstr ""
"Um die Gleise wieder sichtbar zu machen, wählen Sie diese aus und "
"wiederholen den Befehl <Tunnel>.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:100
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmstrtrk.xtr:6
-#: ../../../../build/work/app/i18n/custmsg.h:1050
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:100
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmstrtrk.xtr:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1050
msgid ""
"Straight tracks are created by selecting the first End-Point of the track.\n"
msgstr ""
"Gerade Gleise werden erstellt indem der erste Endpunkt des Gleises gewählt "
"wird.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmstrtrk.xtr:12
-#: ../../../../build/work/app/i18n/custmsg.h:1052
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmstrtrk.xtr:12
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1052
msgid "Then the other End-Point is dragged to its final postion.\n"
msgstr ""
"Dann wird der zweite Endpunkkt durch Ziehen an die richtige Position "
"gebracht.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmstrtrk.xtr:20
-#: ../../../../build/work/app/i18n/custmsg.h:1054
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmstrtrk.xtr:20
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1054
msgid "The left mouse button is released at the final end postion.\n"
msgstr "An diesem Punkt wird der linke Mausknopf los gelassen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmstrtrk.xtr:27
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtbledg.xtr:23
-#: ../../../../build/work/app/i18n/custmsg.h:1057
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmstrtrk.xtr:27
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtbledg.xtr:23
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1057
msgid ""
"Table Edges are used to mark the edges of the layout, either for aisles or "
"room walls.\n"
@@ -14670,29 +14927,32 @@ msgstr ""
"Tischkanten werden benutzt um die Ränder des Gleisplans, entweder für "
"Zugänge oder Wände benutzt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtbledg.xtr:47
-#: ../../../../build/work/app/i18n/custmsg.h:1059
-msgid "A Table Edge is attracted to the ends of other Table Edges.\n"
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtbledg.xtr:47
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1059
+msgid ""
+"A Table Edge is attracted to other objects, unless you hold down the Alt "
+"key.\n"
msgstr ""
-"Eine Tischlante wird von den Enden anderer Tischkantenlinien angezogen.\n"
+"Eine Tischkante wird von anderen Objekten angezogen, sofern Sie nicht die "
+"Alt-Taste drücken.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtbledg.xtr:132
-#: ../../../../build/work/app/i18n/custmsg.h:1061
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtbledg.xtr:145
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1061
msgid "Table Edges can be modified by dragging on their ends.\n"
msgstr "Tischkanten können durch Ziehen an den Enden geändert werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtbledg.xtr:180
-#: ../../../../build/work/app/i18n/custmsg.h:1063
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtbledg.xtr:193
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1063
msgid ""
-"If you hold down the Control key while dragging then the Table Edge will be "
+"Unless you hold down the Alt key while dragging then the Table Edge will be "
"attracted to other objects.\n"
msgstr ""
-"Wenn Sie die Strg-Taste während des Ziehens gedrückt halten, wird die "
-"Tischkante von anderen Objekten angezogen.\n"
+"Die Tischkante wird von anderen Objekten angezogen, sofern Sie nicht die "
+"Alt-Taste während des Ziehen gedrückt halten. \n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtbledg.xtr:218
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtodes.xtr:6
-#: ../../../../build/work/app/i18n/custmsg.h:1066
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtbledg.xtr:231
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtodes.xtr:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1066
msgid ""
"These examples shows some of the various Turnout Designer windows. Each "
"window defines a different type of turnout.\n"
@@ -14700,7 +14960,7 @@ msgstr ""
"Diese Beispiele zeigen einige der Dialogfenster des Weichendesigner. Jeder "
"Dialog wird für einen anderen Typ von Weichen benutzt.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1067
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1067
msgid ""
"In each window there are a number of parameters to fill in and one or two "
"description lines.\n"
@@ -14708,73 +14968,72 @@ msgstr ""
"In jedem Dialog müssen einige Parameter und eine oder zwei Zeilen "
"Beschreibungen eingetragen werden.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1068
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1068
msgid "You can print the design to check the dimensions before saving them.\n"
msgstr ""
"Sie können den Entwurf vor dem Speichen ausdrucken. Damit können Sie zur "
"Kontrolle die Abmessungen prüfen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtodes.xtr:16
-#: ../../../../build/work/app/i18n/custmsg.h:1070
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtodes.xtr:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1070
msgid "This is the regular turnout.\n"
msgstr "Dies ist eine normale Weiche.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1071
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1071
msgid ""
"In addition to the dimensions, you also enter the Title (Manufacturer, "
"Description and Part Number). For Turnouts with Left and Right hand "
"versions there are separate Descriptions and Part Numbers.\n"
msgstr ""
"Neben den Abmessungen müssen auch die Beschreibung der Weiche, d.h. "
-"Hersteller, Beschreibung und Teilenummer, eingegeben werden. Für Weichen mit "
-"rechten und linken Abzweigen werden die Beschreibung und die Teilenummern "
+"Hersteller, Beschreibung und Teilenummer, eingegeben werden. Für Weichen mit"
+" rechten und linken Abzweigen werden die Beschreibung und die Teilenummern "
"getrennt erfasst.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1072
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1072
msgid ""
"Some Turnouts and Sectional track are pre-mounted on roadbed. For these "
"parts you can specify the width of the roadbed, the thickness of the lines "
"drawn for the edge of the roadbed and the color.\n"
msgstr ""
-"Einige Weichen und Festgleise besitzen ein festes Gleisbett. Für diese Teile "
-"können Sie die Breite des Gleisbetts und Dicke und Farbe der "
+"Einige Weichen und Festgleise besitzen ein festes Gleisbett. Für diese Teile"
+" können Sie die Breite des Gleisbetts und Dicke und Farbe der "
"Begrenzungslinien festlegen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtodes.xtr:30
-#: ../../../../build/work/app/i18n/custmsg.h:1074
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtodes.xtr:30
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1074
msgid "The double slip switch is described by only a few parameters.\n"
-msgstr ""
-"Für eine doppelte Kreuzungsweiche wird durch wenige Daten festgelegt.\n"
+msgstr "Für eine doppelte Kreuzungsweiche wird durch wenige Daten festgelegt.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtodes.xtr:40
-#: ../../../../build/work/app/i18n/custmsg.h:1076
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtodes.xtr:40
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1076
msgid "The double crossover only needs length and track separation.\n"
msgstr ""
"Eine doppelter Gleiswechsel erfordert nur die Gleislänge und den "
"Gleisabstand.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtodes.xtr:48
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:30
-#: ../../../../build/work/app/i18n/custmsg.h:1079
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtodes.xtr:48
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:30
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1079
msgid ""
-"Pressing the turnout button displays the Turnout Selection window to let you "
-"choose a turnout to place.\n"
+"Pressing the turnout button displays the Turnout Selection window to let you"
+" choose a turnout to place.\n"
msgstr ""
-"Durch Drücken des Knopfes <Weiche> wird das Weichenauswahl-Fenster geöffnet. "
-"Hier können Sie eine Weiche auswählen.\n"
+"Durch Drücken des Knopfes <Weiche> wird das Weichenauswahl-Fenster geöffnet."
+" Hier können Sie eine Weiche auswählen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1080
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1080
msgid ""
-"Note that once you start to place the turnout on the Main window the Turnout "
-"Selection window disappears. This feature is enabled by the Hide toggle "
+"Note that once you start to place the turnout on the Main window the Turnout"
+" Selection window disappears. This feature is enabled by the Hide toggle "
"button on the dialog.\n"
msgstr ""
"Beachten Sie, dass das Weichenauswahl-Fenster verschwindet sobald Sie mit "
"dem Legen der Weiche beginnen. Diese Eigenschaft wird durch den 'Verbergen' "
"Schalter des Dialogs eingeschaltet.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:38
-#: ../../../../build/work/app/i18n/custmsg.h:1082
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:38
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1082
msgid ""
"You can place the turnout on a arbitrary position on the layout. Left-drag "
"the turnout into place...\n"
@@ -14782,22 +15041,22 @@ msgstr ""
"Sie können die Weiche an eine beliebigen Position auf dem Gleisplan legen. "
"Ziehen Sie die Weiche an den richtigen Platz...\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:85
-#: ../../../../build/work/app/i18n/custmsg.h:1084
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:85
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1084
msgid "Then you can rotate the turnout by Right dragging.\n"
msgstr ""
"Dann können Sie die Weiche durch Ziehen mit der rechten Maustaste drehen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1085
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1085
msgid ""
"You can also use Shift-Right-Click to display a popup menu that lets you "
"rotate the Turnout by specific angles.\n"
msgstr ""
-"Sie können mit Umschalten-Rechts-Klick ein Fenster öffnen, das das Drehen um "
-"feste Winkel ermöglicht.\n"
+"Sie können mit Umschalten-Rechts-Klick ein Fenster öffnen, das das Drehen um"
+" feste Winkel ermöglicht.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:136
-#: ../../../../build/work/app/i18n/custmsg.h:1087
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:136
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1087
msgid ""
"When you are satisfied with the position and orientation of the turnout "
"press Space bar or the Return key on the keyboard to finish placing the "
@@ -14807,7 +15066,7 @@ msgstr ""
"drücken Sie Leertaste oder die Eingabetaste der Tastatur um den Befehl "
"abzuschliessen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1088
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1088
msgid ""
"Pressing the Close button on the Turnout dialog will end the <Turnout> "
"command as well as placing the turnout.\n"
@@ -14815,9 +15074,9 @@ msgstr ""
"Durch Drücken des Schliessen-Knopfes im Dialogfenster können Sie den Befehl "
"beenden und die Weiche festlegen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:146
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:189
-#: ../../../../build/work/app/i18n/custmsg.h:1091
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:146
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:189
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1091
msgid ""
"If you drag along an existing track the new turnout will be attached to the "
"track.\n"
@@ -14825,37 +15084,37 @@ msgstr ""
"Wenn Sie die Weiche auf existierendes Gleis ziehen, so wird sie mit dem "
"Gleis verbunden.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1092
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1092
msgid ""
"Note that the status line tells you the number of End-Points that would be "
"connected and, the maximum displacement of the End-Points. This will be "
"useful when building complex track, as we will see later.\n"
msgstr ""
-"Beachten Sie, dass in der Statuszeile angezeigt wird. wieviele Endpunkte der "
-"Weiche verbunden würden und wie groß der maximale Abstand zu den Endpunkten "
-"ist. Wie wir später sehen werden ist diese Information hilfreich, um "
+"Beachten Sie, dass in der Statuszeile angezeigt wird. wieviele Endpunkte der"
+" Weiche verbunden würden und wie groß der maximale Abstand zu den Endpunkten"
+" ist. Wie wir später sehen werden ist diese Information hilfreich, um "
"komplexe Gleiskonfigurationen zu erstellen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:220
-#: ../../../../build/work/app/i18n/custmsg.h:1094
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:220
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1094
msgid ""
"By moving the cursor from one side to the other of the track centerline you "
"can flip the turnout 180ᅵ.\n"
msgstr ""
-"Durch Bewegen des Mauszeiger von einer Seite des Gleises auf die andere wird "
-"die Weiche um 180° gedreht.\n"
+"Durch Bewegen des Mauszeiger von einer Seite des Gleises auf die andere wird"
+" die Weiche um 180° gedreht.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:236
-#: ../../../../build/work/app/i18n/custmsg.h:1096
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:236
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1096
msgid ""
-"If you try to drag across another turnout the new turnout will placed at the "
-"nearest End-Point of the existing turnout.\n"
+"If you try to drag across another turnout the new turnout will placed at the"
+" nearest End-Point of the existing turnout.\n"
msgstr ""
-"Wenn Sie die neue Weiche über eine existierende Weiche ziehen, wird die neue "
-"Weiche mit dem nächstgelegenen Endpunkt der vorhandenen Weiche verbunden.\n"
+"Wenn Sie die neue Weiche über eine existierende Weiche ziehen, wird die neue"
+" Weiche mit dem nächstgelegenen Endpunkt der vorhandenen Weiche verbunden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:299
-#: ../../../../build/work/app/i18n/custmsg.h:1098
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:299
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1098
msgid ""
"When you press Space or Return while the turnout is on a track, the track "
"will be split and the new turnout attached automatically.\n"
@@ -14864,38 +15123,38 @@ msgstr ""
"einem Gleis ist, wird dieses Gleis getrennt und die Weiche wird automatisch "
"verbunden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:307
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:366
-#: ../../../../build/work/app/i18n/custmsg.h:1101
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:307
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:366
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1101
msgid "Pressing Close ends the <Turnout> command.\n"
msgstr "Durch Drücken von <Schliessen> wird der Befehl <Weiche> beendet.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:372
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:21
-#: ../../../../build/work/app/i18n/custmsg.h:1104
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:372
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:21
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1104
msgid "Sometimes it's useful to modify turnouts triming one of the ends.\n"
msgstr ""
"Manchmal ist es sinnvoll, eine Weich durch Kürzen der Enden anzupassen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1105
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1105
msgid "We use the <Split> command for this.\n"
msgstr "Dafür benutzen wir den Befehl <Trennen>.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:28
-#: ../../../../build/work/app/i18n/custmsg.h:1107
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:28
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1107
msgid "Normally, if we try to Split a turnout we get an error message.\n"
msgstr ""
"Normalerweise bekommen wir eine Fehlermeldung, wenn wir versuchen eine "
"Weiche zu trennen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:37
-#: ../../../../build/work/app/i18n/custmsg.h:1109
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:37
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1109
msgid "Hold down the Shift key and try again.\n"
msgstr ""
"Drücken und halten Sie die Umschalten-Taste und versuchen es nochmals.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:52
-#: ../../../../build/work/app/i18n/custmsg.h:1111
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:52
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1111
msgid ""
"The end of the turnout has been replaced by a piece of straight flex track "
"which we can modify.\n"
@@ -14903,13 +15162,13 @@ msgstr ""
"Das Ende der Weiche wurde durch ein Stück gereden Gleises ersetzt. Dieses "
"können wir verändern.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:63
-#: ../../../../build/work/app/i18n/custmsg.h:1113
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1113
msgid "We can try splitting the diverging leg.\n"
msgstr "Wir können versuchen, das abzweigende Gleis zu trennen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:74
-#: ../../../../build/work/app/i18n/custmsg.h:1115
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:74
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1115
msgid ""
"Notice that the tail of the diverging leg has been changed to a curved "
"track...\n"
@@ -14917,14 +15176,14 @@ msgstr ""
"Beachten Sie, dass das abzweigende Gleis in ein gebogenes Gleis umgewandelt "
"wurde...\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:84
-#: ../../../../build/work/app/i18n/custmsg.h:1117
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:84
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1117
msgid "and a straight track.\n"
msgstr "und ein gerades Gleis.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:92
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:12
-#: ../../../../build/work/app/i18n/custmsg.h:1120
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:92
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:12
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1120
msgid ""
"This example show how to layout a yard using the <Turnout> and <Parallel> "
"commands.\n"
@@ -14932,8 +15191,8 @@ msgstr ""
"Dieses Beispiel zeigt wie mit den Befehlen <Weiche> und <Paralleles Gleis> "
"eine Gleisharfe erstellt werden kann.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:17
-#: ../../../../build/work/app/i18n/custmsg.h:1122
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:17
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1122
msgid ""
"You can resize and move the Turnout Selection dialog if it obscures the "
"other windows.\n"
@@ -14941,17 +15200,17 @@ msgstr ""
"Sie können den Weichenauswahl-Dialog verkleinern und verschieben, wenn er "
"andere Fensterbereiche verdeckt.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1123
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1123
msgid "First we place a turnout on the main line.\n"
msgstr "Zuerst legen wir eine Weiche auf das Hauptgleis.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:35
-#: ../../../../build/work/app/i18n/custmsg.h:1125
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:35
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1125
msgid "Next extend the turnout with the <Modify> command.\n"
msgstr "Dann erweitern wir die Weiche mit dem Befehl <Verändern>.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:46
-#: ../../../../build/work/app/i18n/custmsg.h:1127
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:46
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1127
msgid ""
"Now create a track parallel to the main line. Make sure the separation is "
"reasonable for your scale.\n"
@@ -14959,17 +15218,17 @@ msgstr ""
"Jetzt erstellen Sie ein Gleis, das parallel zum Hauptgleis liegt. Stellen "
"Sie sicher, dass der Gleisabstand für Ihren Maßstab geeignet ist.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:62
-#: ../../../../build/work/app/i18n/custmsg.h:1129
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:62
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1129
msgid "And place a turnout to connect the new track.\n"
msgstr "Und legen eine Weiche, um das neue Gleis anzuschliessen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1130
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1130
msgid "We'll zoom in here to see what's going on.\n"
msgstr "Durch Vergrößern können wir sehen, was passiert.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:78
-#: ../../../../build/work/app/i18n/custmsg.h:1132
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:78
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1132
msgid ""
"Notice how we control which way the turnout is facing by moving the mouse "
"across the center line of the track.\n"
@@ -14977,16 +15236,16 @@ msgstr ""
"Beachten Sie wie wir die Ausrichtung der Weiche beeinflussen indem wir die "
"Maus über die Mittellinie des Gleise bewegen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:94
-#: ../../../../build/work/app/i18n/custmsg.h:1134
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:94
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1134
msgid ""
-"The Status bar displays the number of auto-connections that will be made and "
-"the maximum offset.\n"
+"The Status bar displays the number of auto-connections that will be made and"
+" the maximum offset.\n"
msgstr ""
"In der Statuszeile wird angezeigt, wieviele Endpunkte verbunden werden und "
"wie große der maximale Abstand ist.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1135
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1135
msgid ""
"XTrackCAD adjusts the turnout position for the best fit to minimize any "
"connection offset\n"
@@ -14994,59 +15253,59 @@ msgstr ""
"XTrackCAD verändert die Weichenposition um die beste Einpassung zu "
"erreichen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:106
-#: ../../../../build/work/app/i18n/custmsg.h:1137
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:106
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1137
msgid "Note that placing the turnout splits the parallel track.\n"
msgstr ""
"Beachten Sie, dass durch die Weiche das parallele Gleis getrennt wurde.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1138
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1138
msgid "We have to delete the leftover piece by Selecting and Deleting it.\n"
msgstr "Dieses Reststück müssen wir auswählen und löschen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:120
-#: ../../../../build/work/app/i18n/custmsg.h:1140
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:120
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1140
msgid "Repeat the process for the other tracks in the yard.\n"
msgstr "Wiederholen Sie diesen Ablauf für die anderen Gleise der Gleisharfe.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:149
-#: ../../../../build/work/app/i18n/custmsg.h:1142
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:149
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1142
msgid "For the last track we will join with a curve instead of a turnout.\n"
msgstr ""
"Beim letzten Gleis benutzen wir einen Gleisbogen anstelle einer Weiche.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:185
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrkwid.xtr:91
-#: ../../../../build/work/app/i18n/custmsg.h:1145
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:185
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrkwid.xtr:91
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1145
msgid "We can indicate the mainline by making the rails wider.\n"
msgstr ""
"WIr können die Hauptstrecke hervorheben, in dem wir die Gleise dicker "
"zeichnen.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1146
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1146
msgid "First we select the mainline tracks...\n"
msgstr "Zuerst wählen wir die Gleise der Hauptstrecke aus...\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrkwid.xtr:128
-#: ../../../../build/work/app/i18n/custmsg.h:1148
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrkwid.xtr:128
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1148
msgid "And then select Medium Tracks from the Edit menu.\n"
msgstr "Und wählen dann mittlere Stärke aus dem Bearbeiten Menu aus.\n"
-#: ../../../../build/work/app/i18n/custmsg.h:1149
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1149
msgid "We can't show the Edit menu, but we can show the effect.\n"
msgstr ""
"Wir können das Menü Bearbeiten nicht anzeigen, aber wir können die Wirkung "
"zeigen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrkwid.xtr:137
-#: ../../../../build/work/app/i18n/custmsg.h:1151
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrkwid.xtr:137
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1151
msgid "We can make the rail thicker by selecting Thick Tracks.\n"
msgstr ""
"Wir können das Gleis durch die Auswahl Breite Linie dicker darstellen.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrkwid.xtr:148
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrntab.xtr:6
-#: ../../../../build/work/app/i18n/custmsg.h:1154
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrkwid.xtr:148
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrntab.xtr:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1154
msgid ""
"Turntables are created by specifying the radius in a dialog box on the "
"Status Bar. The radius in the dialog can be changed before proceeding.\n"
@@ -15055,1020 +15314,233 @@ msgstr ""
"Statuszeile eingegeben werden. Der Radius muss vor den nächsten Schritten "
"geändert werden.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrntab.xtr:15
-#: ../../../../build/work/app/i18n/custmsg.h:1156
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrntab.xtr:15
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1156
msgid "Then the turntable is dragged to its final location.\n"
msgstr "Dann wird die Drehscheibe an die endgültige Position geschoben.\n"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrntab.xtr:22
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:317
-#: ../../../../build/work/app/i18n/custmsg.h:1159
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrntab.xtr:22
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:433
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1159
msgid "Introduction"
msgstr "Einführung"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:318
-#: ../../../../build/work/app/i18n/custmsg.h:1161
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:434
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1161
msgid "Mouse Actions"
msgstr "Mausaktionen"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:319
-#: ../../../../build/work/app/i18n/custmsg.h:1163
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:435
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1163
msgid "Dialogs"
msgstr "Dialoge"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:320
-#: ../../../../build/work/app/i18n/custmsg.h:1165
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:436
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1165
msgid "Moving about"
msgstr "Zoom & Pan"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:321
-#: ../../../../build/work/app/i18n/custmsg.h:1167
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:437
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1167
msgid "Describe and Select"
msgstr "Eigenschaften und Auswählen"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:322
-#: ../../../../build/work/app/i18n/custmsg.h:1169
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:438
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1169
msgid "Describe"
msgstr "Beschreibe"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:324
-#: ../../../../build/work/app/i18n/custmsg.h:1173
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:440
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1173
msgid "Simple tracks"
msgstr "Einfache Gleise"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:325
-#: ../../../../build/work/app/i18n/custmsg.h:1175
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:441
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1175
msgid "Straight tracks"
msgstr "Gleisgeraden"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:326
-#: ../../../../build/work/app/i18n/custmsg.h:1177
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:442
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1177
msgid "Curved tracks"
msgstr "Gleisbögen"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:327
-#: ../../../../build/work/app/i18n/custmsg.h:1179
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:443
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1179
msgid "Circles"
msgstr "Kreise"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:328
-#: ../../../../build/work/app/i18n/custmsg.h:1181
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:444
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1181
msgid "Turntables"
msgstr "Drehscheiben"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:329
-#: ../../../../build/work/app/i18n/custmsg.h:1183
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:445
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1183
msgid "Modifying tracks"
msgstr "Gleise bearbeiten"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:330
-#: ../../../../build/work/app/i18n/custmsg.h:1185
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:446
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1185
msgid "Modifying end points "
msgstr "Endpunkte ändern "
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:331
-#: ../../../../build/work/app/i18n/custmsg.h:1187
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:447
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1187
msgid "Extending"
msgstr "Erweitern"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:332
-#: ../../../../build/work/app/i18n/custmsg.h:1189
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:448
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1189
msgid "Medium and Thick Tracks"
msgstr "Mittlere und dicke Gleise"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:333
-#: ../../../../build/work/app/i18n/custmsg.h:1191
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:449
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1191
msgid "Joining Tracks"
msgstr "Gleise verbinden"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:334
-#: ../../../../build/work/app/i18n/custmsg.h:1193
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:450
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1193
msgid "Straight to straight"
msgstr "Gerade zu Gerade"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:335
-#: ../../../../build/work/app/i18n/custmsg.h:1195
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:451
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1195
msgid "Curve to straight"
msgstr "Bogen zu Gerade"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:336
-#: ../../../../build/work/app/i18n/custmsg.h:1197
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:452
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1197
msgid "Circle to circle"
msgstr "Kreis zu Kreis"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:337
-#: ../../../../build/work/app/i18n/custmsg.h:1199
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:453
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1199
msgid "Joining to turntables"
msgstr "Mit Drehscheiben verbinden"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:338
-#: ../../../../build/work/app/i18n/custmsg.h:1201
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:454
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1201
msgid "Easements"
msgstr "Übergangsbögen"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:339
-#: ../../../../build/work/app/i18n/custmsg.h:1203
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:455
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1203
msgid "Abutting tracks"
msgstr "Angrenzende Gleise"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:340
-#: ../../../../build/work/app/i18n/custmsg.h:1205
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:456
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1205
msgid "Move to Join"
msgstr "Verbinden durch Verschieben"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:342
-#: ../../../../build/work/app/i18n/custmsg.h:1209
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:458
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1209
msgid "Select and Placement"
msgstr "Auswählen und Positionieren"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:343
-#: ../../../../build/work/app/i18n/custmsg.h:1211
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:459
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1211
msgid "Building a yard throat."
msgstr "Eine Gleisharfe erstellen."
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:344
-#: ../../../../build/work/app/i18n/custmsg.h:1213
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:460
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1213
msgid "Designing turnouts"
msgstr "Weichen entwerfen"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:345
-#: ../../../../build/work/app/i18n/custmsg.h:1215
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:461
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1215
msgid "Group and Ungroup"
msgstr "Zusammenfassen und Zerlegen"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:346
-#: ../../../../build/work/app/i18n/custmsg.h:1217
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:462
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1217
msgid "Triming Turnout Ends"
msgstr "Weichenenden verändern"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:347
-#: ../../../../build/work/app/i18n/custmsg.h:1219
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:463
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1219
msgid "Handlaid Turnouts"
msgstr "Selbstbauweichen"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:348
-#: ../../../../build/work/app/i18n/custmsg.h:1221
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:464
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1221
msgid "Elevations and Profile"
msgstr "Höhen und Profil"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:349
-#: ../../../../build/work/app/i18n/custmsg.h:1223
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:465
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1223
msgid "Elevations"
msgstr "Höhen"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:351
-#: ../../../../build/work/app/i18n/custmsg.h:1227
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:467
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1227
msgid "Misc track commands"
msgstr "Verschiedene Gleismodifikationen"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:352
-#: ../../../../build/work/app/i18n/custmsg.h:1229
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:468
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1229
msgid "Delete and Undo"
msgstr "Löschen und Rückgängig machen"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:353
-#: ../../../../build/work/app/i18n/custmsg.h:1231
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:469
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1231
msgid "Splitting and Tunnels"
msgstr "Auftrennen und Tunnels"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:355
-#: ../../../../build/work/app/i18n/custmsg.h:1235
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:471
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1235
msgid "Helix tracks"
msgstr "Gleiswendel"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:356
-#: ../../../../build/work/app/i18n/custmsg.h:1237
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:472
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1237
msgid "Exception Tracks"
msgstr "Fehlerhafte Gleise"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:358
-#: ../../../../build/work/app/i18n/custmsg.h:1241
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:474
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1241
msgid "Connect and Tighten - a siding"
msgstr "Abstellgleis verbinden"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:359
-#: ../../../../build/work/app/i18n/custmsg.h:1243
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:475
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1243
msgid "Connect and Tighten - figure-8"
msgstr "Verbinden und Zusammenfügen"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:360
-#: ../../../../build/work/app/i18n/custmsg.h:1245
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:476
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1245
msgid "Other commands"
msgstr "Sonstige Befehle"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:362
-#: ../../../../build/work/app/i18n/custmsg.h:1249
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:478
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1249
msgid "Table Edges"
msgstr "Tischkanten"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:364
-#: ../../../../build/work/app/i18n/custmsg.h:1253
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:480
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1253
msgid "Dimension Lines"
msgstr "Maßlinien"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:365
-#: ../../../../build/work/app/i18n/custmsg.h:1255
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:481
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1255
msgid "Lines"
msgstr "Linien"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:366
-#: ../../../../build/work/app/i18n/custmsg.h:1257
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:482
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1257
msgid "Poly-Shapes"
msgstr "Polygone"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:367
-#: ../../../../build/work/app/i18n/custmsg.h:1259
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:483
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1259
msgid "Modifying Poly-Shapes"
msgstr "Polygone modifizieren"
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:370
-#: ../../../../build/work/app/i18n/custmsg.h:1265
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:486
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1265
msgid "Control Panels"
msgstr "Stellpulte"
-
-#~ msgid "Origin to Centroid - 'c'"
-#~ msgstr "Schwerpunkt als Bezugspunkt - 'c"
-
-#~ msgid "Select 2nd track - desired radius %0.3f"
-#~ msgstr "Zweites Gleis auswählen, gewünschter Radius %03.f"
-
-#~ msgid "Pan to origin - 'o'/'0'"
-#~ msgstr "Ausschnitt auf Ursprung zurücksetzen - 'o'/ '0'."
-
-#~ msgid "Zoom keeps lower corner in view"
-#~ msgstr "Linke untere Ecke beim Zoomen festhalten"
-
-#~ msgid "Whether zoom is locked to the bottom left corner or the center point"
-#~ msgstr ""
-#~ "Festpunkt beim Zoomen ist die linke untere Ecke oder der Mittelpunkt"
-
-#~ msgid "Expected END not found!"
-#~ msgstr "Erwartete END-Anweisung nicht gefunden!"
-
-#~ msgid "Move Origin Mode"
-#~ msgstr "Modus Ursprung verschieben"
-
-#~ msgid "Find ..."
-#~ msgstr "Finden..."
-
-#~ msgid "Output type"
-#~ msgstr "Parallelen-Typ"
-
-#~ msgid "Output Type"
-#~ msgstr "Parallelen-Art"
-
-#~ msgid "Output type:"
-#~ msgstr "Parallelen-Typ:"
-
-#~ msgid "Specifies the type of the parallel object"
-#~ msgstr "Legt den Type des erstellten, parallelen Objekts fest"
-
-#~ msgid "Lock Origin Offset"
-#~ msgstr "Sperre Bezugspunkt"
-
-#, fuzzy
-#~ msgid "Type:"
-#~ msgstr "Typ"
-
-#, fuzzy
-#~ msgid "cmdSelectMode"
-#~ msgstr "Auswählen"
-
-#, fuzzy
-#~ msgid "cmdModifyMode"
-#~ msgstr "Verändern"
-
-#, fuzzy
-#~ msgid "cmdPanMode"
-#~ msgstr "cmdPanMode"
-
-#, fuzzy
-#~ msgid "cmdDescribeMode"
-#~ msgstr "Beschreibe"
-
-#, fuzzy
-#~ msgid "Place 1st end point of Bezier - snap to %s end"
-#~ msgstr ""
-#~ "Ersten Endpunkt der Bezier setzen, mit Umschalt das %s Ende benutzen"
-
-#~ msgid "SnapGrid Enable"
-#~ msgstr "Fangraster aktivieren"
-
-#, fuzzy
-#~ msgid "Drag to move, +Shift to drag out end track from Cornu"
-#~ msgstr ""
-#~ "Ziehen zum Verschieben, +Umschalten zum Herausziehen der Endspur aus Cornu"
-
-#~ msgid ""
-#~ "Place 2nd end point of Cornu track on track with an unconnected end-point"
-#~ msgstr ""
-#~ "Setze den zweiten Endpunkt des Cornu-Gleis auf ein Gleis mit einem "
-#~ "unverbundenen Endpunkt"
-
-#, fuzzy
-#~ msgid "Position End"
-#~ msgstr "Position X"
-
-#~ msgid "Origin Angle"
-#~ msgstr "Ausgangswinkel"
-
-#~ msgid "%s: Layer=%d"
-#~ msgstr "%s: Ebene=%d"
-
-#~ msgid "Drag to set size, +Shift to change radius"
-#~ msgstr ""
-#~ "Größe durch Ziehen festlegen, mit der Umschalttaste den Radius ändern"
-
-#~ msgid "# End Pts"
-#~ msgstr "Anzahl der Endpunkte"
-
-#~ msgid "Draw moving track normally"
-#~ msgstr "Bewegte Gleise normal zeichnen"
-
-#~ msgid "Draw moving track simply"
-#~ msgstr "Bewegte Gleise vereinfacht zeichnen"
-
-#~ msgid "Draw moving track as end-points"
-#~ msgstr "Bewegte Gleise als Endpunkte zeichnen"
-
-#~ msgid " Angle %0.3f"
-#~ msgstr " Winkel %0.3f"
-
-#~ msgid "Simple"
-#~ msgstr "Einfach"
-
-#~ msgid "End Points"
-#~ msgstr "Endpunkte"
-
-#~ msgid "Bitmap files (*.bmp)|*.bmp"
-#~ msgstr "Windows Bitmapdaiteien (+.bmp)|*.bmp"
-
-#~ msgid "Color Layers"
-#~ msgstr "Ebenenfarben"
-
-#~ msgid "End-Points"
-#~ msgstr "Endpunkte"
-
-#~ msgid "Draw Moving Tracks"
-#~ msgstr "Zeichne bewegte Gleise"
-
-#~ msgid "Unload"
-#~ msgstr "Entladen"
-
-#~ msgid "Use Shift+PageDwn to jump to preset Zoom In"
-#~ msgstr ""
-#~ "Mit Umschalt+Bild runter den gespeicherten unteren Zoom-Faktor verwenden"
-
-#~ msgid "Use Shift+PageUp to jump to preset Zoom Out"
-#~ msgstr ""
-#~ "Mit Umschalt+Bild hoch den gespeicherten oberen Zoom-Faktor verwenden"
-
-#~ msgid "Commands"
-#~ msgstr "Befehle"
-
-#~ msgid "Tunnel"
-#~ msgstr "Tunnel"
-
-#~ msgid "How to draw track being moved/rotated"
-#~ msgstr ""
-#~ "Festlegen wie Gleise gezeichnet werden, sobald sie bewegt/rotiert werden"
-
-#~ msgid "First turn off the Snap Grid.\n"
-#~ msgstr "Zuerst schalten Sie bitte das Fangraster aus.\n"
-
-#~ msgid "Rotate the signals and move them to the proper locations.\n"
-#~ msgstr ""
-#~ "Rotieren Sie die Signale und setzen diese dann an die richtige Stelle.\n"
-
-#~ msgid "Rotate the arrow head by 180° and move into position.\n"
-#~ msgstr ""
-#~ "Rotieren Sie die Pfeilspitze um 180° und bringen Sie diese in die "
-#~ "richtige Position.\n"
-
-#~ msgid ""
-#~ "Drawing lines with the Shift key held down will use the previous line End-"
-#~ "Point as the starting position. This makes it easy to draw connected "
-#~ "lines.\n"
-#~ msgstr ""
-#~ "Wird beim Zeichnen die Umschalttaste festgehalten wird der letzte "
-#~ "Endpunkt als Startpunkt für das neue Gleis benutzt. Dadurch wird das "
-#~ "Zeichnen verbundener Linien vereinfacht.\n"
-
-#~ msgid ""
-#~ "If you drag a Corner to another Corner the two are merged and the Edge "
-#~ "between them is removed.\n"
-#~ msgstr ""
-#~ "Wenn Sie eine Ecke auf eine andere Ecke ziehen, werden diese "
-#~ "zusammengefasst und die Kante dazwischen wird entfernt.\n"
-
-#~ msgid ""
-#~ "Shift-Right-Click will display a popup-menu that you can use to rotate by "
-#~ "fixed amount (15°, 30°, 45°, 90° or 180°). The demonstration cannot show "
-#~ "the popup-menu but it can show the effects.\n"
-#~ msgstr ""
-#~ "Umschalten-Rechts-Klick öffnet ein Auswahlmenu, das Sie nutzen können um "
-#~ "vorgegebene Werte für die Drehung (15°, 30°, 45°, 90° or 180°) "
-#~ "auszuwählen. Diese Demonstration kann das Auswahlmenu nicht darstellen, "
-#~ "aber sie zeigt den Effekt.\n"
-
-#~ msgid "Here we will rotate by 90° clockwise (CW).\n"
-#~ msgstr "Jetzt drehen wir um 90° im Uhrzeigersinn.\n"
-
-#~ msgid ""
-#~ "Another option of the <Rotate> command popup-menu is to Align the "
-#~ "Selected object with some other object.\n"
-#~ msgstr ""
-#~ "Der Befehl <Rotate> bietet auch die Möglichkeit, die ausgewählten Objekt "
-#~ "an anderen Objekten auszurichten.\n"
-
-#~ msgid ""
-#~ "First we will click on one line of the Selected object. The angle of "
-#~ "this part of the object will be Aligned.\n"
-#~ msgstr ""
-#~ "Zuerst klicken wir auf eine Linie des asgewählten Objektes. Diese Linie "
-#~ "wird als Grundllinie für die Ausrichtung benutzt.\n"
-
-#~ msgid ""
-#~ "Next, we click on an Unselected object. The Selected structure will be "
-#~ "rotated so that the line we clicked on will be parallel to the straight "
-#~ "track.\n"
-#~ msgstr ""
-#~ "Dann klicken wir auf ein Objekt, das nicht ausgewählt ist. Das "
-#~ "ausgewählte Gebäude wird so gedreht, dass die gewählte Linie parallel zu "
-#~ "dem geraden Gleis ist.\n"
-
-#~ msgid ""
-#~ "If we drag the mouse across the track, we can flip the structure by "
-#~ "180°. This is similar to how we place turnouts.\n"
-#~ msgstr ""
-#~ "Wenn wir die Maus auf die andere Seite des Gleises ziehen, wird das "
-#~ "Gebäude um 180° gedreht. Dies ist vergleichbar zu dem Setzen von "
-#~ "Weichen.\n"
-
-#~ msgid ""
-#~ "We can also align to curved shapes. The Selected object will be rotated "
-#~ "to be parallel to the curve under the cursor.\n"
-#~ msgstr ""
-#~ "Wir können auch an gebogenen Elementen ausrichten. Das ausgewählte Objekt "
-#~ "wird so gedreht, dass es parallel dem Punkt der Kurve ist, der sich unter "
-#~ "dem Mauszeiger befindet.\n"
-
-#~ msgid ""
-#~ "As we drag along the curved track the Selected object rotates to follow "
-#~ "the curve.\n"
-#~ msgstr ""
-#~ "Während wir entlang des gebogenen Gleises ziehen, dreht sich das "
-#~ "ausgewählte Objekt um der Kurve zu folgen.\n"
-
-#~ msgid "Again, if we drag across the track we can flip the stucture.\n"
-#~ msgstr ""
-#~ "Auch hier können wir das Gebäude spiegeln, indem wir auf die andere Seite "
-#~ "ziehen.\n"
-
-#~ msgid "We can also Align to another Structure or any object.\n"
-#~ msgstr ""
-#~ "Wir können auch an anderen Gebäuden oder jedem anderen Objekt "
-#~ "ausrichten.\n"
-
-#~ msgid "Shift used, but no Unconnected Track End there"
-#~ msgstr ""
-#~ "Umschalte-Taste gedrückt, aber es befindet sich hier kein offenes "
-#~ "Gleisende"
-
-#~ msgid "Shift used, but no Line End there"
-#~ msgstr ""
-#~ "Umschalt-Taste gedrückt, aber hier befindet sich kein Linienendpunkt"
-
-#~ msgid "Track picked - now select a Point"
-#~ msgstr "Gleis ausgewählt - jetzt einen Punkt auswählen"
-
-#~ msgid ""
-#~ "No unconnected end-point on track - Try again or release Shift and click"
-#~ msgstr ""
-#~ "Dieses Gleis hat keinen unverbundenen Endpunkt, nochmal versuchen oder "
-#~ "Umschalttaste lösen und dann klicken"
-
-#~ msgid "Not on a track - Try again or release Shift and click"
-#~ msgstr ""
-#~ "Nicht auf einem Gleis, nochmal versuchen oder Umschalttaste lösen und "
-#~ "Klicken"
-
-#~ msgid "End Locked: Drag out to center"
-#~ msgstr "Ende fixiert, zum Mittelpunkt ziehen"
-
-#~ msgid "Radius=%s Angle=%0.3f"
-#~ msgstr "Radius=%s Winkel=%0.3f"
-
-#~ msgid "Length=%s Angle=%0.3f"
-#~ msgstr "Länge=%s Winkel=%0.3f"
-
-#~ msgid "Polygonal Line"
-#~ msgstr "Vieleck"
-
-#~ msgid "There are no reachable Defined Elevations"
-#~ msgstr "Ziehen um die Höhe zu ändern"
-
-#~ msgid "Dist = %s"
-#~ msgstr "Entfernung = %s"
-
-#~ msgid "Select track to modify"
-#~ msgstr "Zu bearbeitendes Gleis auswählen"
-
-#~ msgid "Drag to create new track segment"
-#~ msgstr "Ziehen um einen neuen Gleisabschnitt zu erstellen"
-
-#~ msgid "Print Registration Marks"
-#~ msgstr "Drucke Positionierungshilfen"
-
-#~ msgid "Print Snap Grid"
-#~ msgstr "Fangraster drucken"
-
-#~ msgid "Print Rulers"
-#~ msgstr "Maßlinien drucken"
-
-#~ msgid "Cornu selected too tight after move - it was left alone"
-#~ msgstr ""
-#~ "Die ausgewählte Klothoide ist nach dem Verschieben zu eng und wurde daher "
-#~ "nicht verändert"
-
-#~ msgid "TURNOUT "
-#~ msgstr "WEICHE "
-
-#~ msgid "%s Files|*.xtc"
-#~ msgstr "%s-Gleispläne|*.xtc"
-
-#~ msgid "Bitmap files|*.xpm"
-#~ msgstr "Grafikdateien|*.xpm"
-
-#, fuzzy
-#~ msgid "Describe link"
-#~ msgstr "Beschreibe"
-
-#~ msgid "A&bove"
-#~ msgstr "Darüber"
-
-#~ msgid "Belo&w"
-#~ msgstr "Darunter"
-
-#~ msgid "Note: "
-#~ msgstr "Notiz: "
-
-#~ msgid "All files"
-#~ msgstr "Alle Dateien"
-
-#~ msgid "General note about the layout"
-#~ msgstr "Allgemeine Notiz zur Anlage"
-
-#, fuzzy
-#~ msgid "Select a note type"
-#~ msgstr "Wählen Sie eine Weiche aus"
-
-#, fuzzy
-#~ msgid "Place a weblink on the layout"
-#~ msgstr "Eine Notiz auf den Gleisplan setzen"
-
-#, fuzzy
-#~ msgid "Place a text note on the layout"
-#~ msgstr "Eine Notiz auf den Gleisplan setzen"
-
-#~ msgid ""
-#~ "A number of example layouts are provided. These files are located in the "
-#~ "'examples' directory where you installed XTrackCAD. The \"File|Open\" "
-#~ "command will open that directory when first used."
-#~ msgstr ""
-#~ "Einige Beispiel Gleisplänen stehen zu Ihrer Verfügung, diese wurden im "
-#~ "Unterverzeichnis 'examples' im Haupverzeichnis von XTrackCAD installiert. "
-#~ "Über den Dialog \"Datei|Öffnen\" können diese geladen werden."
-
-#~ msgid ""
-#~ "The length of the straight track is determined by the distance from the "
-#~ "far End-Point and the cursor.\n"
-#~ msgstr ""
-#~ "Die Länge des geraden Gleises wird durch den Abstand zwischen dem "
-#~ "entfernten Endpunkt und dem Mauszeiger festgelegt.\n"
-
-#~ msgid ""
-#~ "Now the cursor is about to be moved past the other (far) End-Point of the "
-#~ "straight track. You will receive a warning and the connecting track "
-#~ "turns Red.\n"
-#~ msgstr ""
-#~ "Jetzt wird der Mauszeiger über den anderen, entfernten, Endpunkt des "
-#~ "geraden Gleises verschoben. Sie erhalten einen Hinweis und das "
-#~ "Verbindungsgleis wird rot.\n"
-
-#~ msgid "And Right-Drag de-selects all tracks within an area.\n"
-#~ msgstr ""
-#~ "Und Ziehen mit rechter gedrückter Maustaste entfernt alle Objekte in "
-#~ "einem Bereich aus der Auswahl.\n"
-
-#~ msgid ""
-#~ "Drawing the tracks while moving can be very time-consuming. We had just "
-#~ "used the \"Normal\" method of drawing tracks.\n"
-#~ msgstr ""
-#~ "Das Zeichnen der Gleise während des Verschieben kann die Bewegung sehr "
-#~ "verzögern. Gerade haben wir die \"normale\" Methode des Zeichnen "
-#~ "benutzt.\n"
-
-#~ msgid ""
-#~ "The Command Options dialog (from the Options menu) contains a Radio "
-#~ "button group which you can use to pick the drawing method.\n"
-#~ msgstr ""
-#~ "Im Dialogfenster Befehlsoptionen (aus dem Einstellungen Menu) können Sie "
-#~ "die Zeichenmethode ändern.\n"
-
-#~ msgid ""
-#~ "You can also popup the Command Options Menu by pressing Shift-Right-Click "
-#~ "which includes options for setting the drawing method. These options are "
-#~ "also available for the Move and Rotate Command Options Menu.\n"
-#~ msgstr ""
-#~ "Sie können das Befehlsoptionen Menu auch aufrufen, indem sie Umschalt-"
-#~ "Rechts-Klick betätigen. Diese Optionen sind auch für die Befehle "
-#~ "Verschieben und Drehen vorhnden.\n"
-
-#~ msgid ""
-#~ "The next method is \"Simple\" draws. Here tracks are drawn using one "
-#~ "line, no End-Points are drawn, lines are not drawn and structures are "
-#~ "drawn using a box outline.\n"
-#~ msgstr ""
-#~ "Die nächste Methode ist \"einfaches\" Zeichnen. Hier werden Gleise durch "
-#~ "eine Linie dargestellt, Endpunkte und Linien werden nicht gezeichnet. "
-#~ "Gebäude werden während der Operation durch ein Rechteck ersetzt.\n"
-
-#~ msgid ""
-#~ "Note: you can move the Command Options dialog if it obscures the main "
-#~ "window.\n"
-#~ msgstr ""
-#~ "Beachten Sie, dass Sie die das Dialogfenster Befehlsoptionen verschieben "
-#~ "können, wenn es das Hauptfenster verdeckt.\n"
-
-#~ msgid ""
-#~ "The next method is to just draw the End-Points of the selected tracks.\n"
-#~ msgstr ""
-#~ "Die nächste Methode ist das einfache Zeichnen der Endpunkte der "
-#~ "ausgewählten Gleise.\n"
-
-#~ msgid ""
-#~ "Unconnected End-Points are indicated by Red crosses, and connected End-"
-#~ "Points are indicated by Red lines.\n"
-#~ msgstr ""
-#~ "Nicht verbundene Endpunkte werden durch ein rotes Kreuz markiert, "
-#~ "verbundene Endpunkte durch eine rote Linie.\n"
-
-#~ msgid "Now we will go back to using the Normal method again.\n"
-#~ msgstr "Jetzt gehen wir zu der normalen Methode zurück.\n"
-
-#~ msgid ""
-#~ "Note: because of differing display resolutions the next mouse click may "
-#~ "not be positioned correctly in this demo and the Move-To-Join operation "
-#~ "may not be demonstrated.\n"
-#~ msgstr ""
-#~ "Beachten Sie dass der Befehl \"Verbinden durch Bewegen\" in der Demo "
-#~ "nicht gezeigt werden kann.\n"
-
-#~ msgid "Modify Bezier Complete - select another"
-#~ msgstr "Ändern der Bezier-Kurve bendet, bitte eine neue auswählen"
-
-#~ msgid "Freeform"
-#~ msgstr "Freeform"
-
-#~ msgid "1 page"
-#~ msgstr "1 Seite"
-
-#~ msgid "Is Cornu End -> Not Selectable"
-#~ msgstr ""
-#~ "Dies ist das Ende einer Cornu und kann daher nicht ausgewählt werden."
-
-#~ msgid "Must be on the %s Track"
-#~ msgstr "Muss auf dem %s Gleis sein"
-
-#~ msgid "Select other end of Bezier, +Shift -> snaps to %s end"
-#~ msgstr ""
-#~ "Das andere Ender der Bezier wählen, mit Umschalt-Taste an %s Endpunkt "
-#~ "verbinden"
-
-#~ msgid ""
-#~ "No Unconnected end-point on track - Try again or release shift and click"
-#~ msgstr ""
-#~ "Dieses Gleis hat keinen offenen Endpunkt, nochmal versuchen oder "
-#~ "Umschalttaste lösen und dann klicken"
-
-#~ msgid "Not on a Track - Try again or release shift and click"
-#~ msgstr "Nicht auf einem Gleis, nochmal versuchen or "
-
-#, fuzzy
-#~ msgid ""
-#~ "Place 1st end point of Cornu track on track with an unconnected end-point"
-#~ msgstr "Ersten Endpunkt der Gleisgerade setzen"
-
-#~ msgid "Connect Sectional Tracks"
-#~ msgstr "Gleisstücke verbinden"
-
-#~ msgid "Drag to move selected tracks"
-#~ msgstr "Ausgewählte Gleise durch Ziehen verschieben"
-
-#, fuzzy
-#~ msgid "End Angle 2"
-#~ msgstr "Winkel eingeben..."
-
-#, fuzzy
-#~ msgid "Elev 1"
-#~ msgstr "Höhe = %s"
-
-#, fuzzy
-#~ msgid "End Radius Center 1: X"
-#~ msgstr "Endpunkt 1: X"
-
-#, fuzzy
-#~ msgid "Elev 2"
-#~ msgstr "Höhe = %s"
-
-#, fuzzy
-#~ msgid "Radius 2"
-#~ msgstr "Radius 2"
-
-#, fuzzy
-#~ msgid "End Radius Center 2: X"
-#~ msgstr "Endpunkt 2: X"
-
-#~ msgid "Angle=%0.3f"
-#~ msgstr "Winkel=%0.3f"
-
-#~ msgid "Place circle center"
-#~ msgstr "Setze Kreismittelpunkt"
-
-#~ msgid "Place circle"
-#~ msgstr "Platziere Kreis"
-
-#~ msgid "Draw"
-#~ msgstr "Zeichne"
-
-#~ msgid "Show Map"
-#~ msgstr "Karte anzeigen"
-
-#~ msgid "Blocks"
-#~ msgstr "Gleisabschnitte"
-
-#~ msgid "SwitchMotor"
-#~ msgstr "Weichenantrieb"
-
-#~ msgid "Switch Motors"
-#~ msgstr "Weichenatriebe"
-
-#~ msgid "Black"
-#~ msgstr "Schwarz"
-
-#~ msgid "Dark Blue"
-#~ msgstr "Dunkelblau"
-
-#~ msgid "Steel Blue"
-#~ msgstr "Stahlblau"
-
-#~ msgid "Royal Blue"
-#~ msgstr "Königsblau"
-
-#~ msgid "Blue"
-#~ msgstr "Blau"
-
-#~ msgid "Deep Sky Blue"
-#~ msgstr "Dunkles Himmelblau"
-
-#~ msgid "Light Sky Blue"
-#~ msgstr "Helles Himmelblau"
-
-#~ msgid "Powder Blue"
-#~ msgstr "Hellblau"
-
-#~ msgid "Dark Aqua"
-#~ msgstr "Dunkelaquamarin"
-
-#~ msgid "Aquamarine"
-#~ msgstr "Aquamarin"
-
-#~ msgid "Aqua"
-#~ msgstr "Wasserblau"
-
-#~ msgid "Dark Green"
-#~ msgstr "Dunkelgrün"
-
-#~ msgid "Forest Green"
-#~ msgstr "Waldgrün"
-
-#~ msgid "Lime Green"
-#~ msgstr "Limonengrün"
-
-#~ msgid "Green"
-#~ msgstr "Grün"
-
-#~ msgid "Lawn Green"
-#~ msgstr "Rasengrün"
-
-#~ msgid "Pale Green"
-#~ msgstr "Blassgrün"
-
-#~ msgid "Dark Yellow"
-#~ msgstr "Dunkelgelb"
-
-#~ msgid "Coral"
-#~ msgstr "Koralle"
-
-#~ msgid "Orange"
-#~ msgstr "Orange"
-
-#~ msgid "Yellow"
-#~ msgstr "Gelb"
-
-#~ msgid "Saddle Brown"
-#~ msgstr "Lederbraun"
-
-#~ msgid "Brown"
-#~ msgstr "Braun"
-
-#~ msgid "Chocolate"
-#~ msgstr "Schokolade"
-
-#~ msgid "Rosy Brown"
-#~ msgstr "Braun Rosa"
-
-#~ msgid "Tan"
-#~ msgstr "Loh"
-
-#~ msgid "Beige"
-#~ msgstr "Beige"
-
-#~ msgid "Dark Red"
-#~ msgstr "Dunkelrot"
-
-#~ msgid "Tomato"
-#~ msgstr "Tomatenrot"
-
-#~ msgid "Red"
-#~ msgstr "Rot"
-
-#~ msgid "Hot Pink"
-#~ msgstr "Knallrosa"
-
-#~ msgid "Pink"
-#~ msgstr "Rosa"
-
-#~ msgid "Dark Purple"
-#~ msgstr "Dunkelpurpur"
-
-#~ msgid "Maroon"
-#~ msgstr "Kastanie"
-
-#~ msgid "Purple2"
-#~ msgstr "Purpur 2"
-
-#~ msgid "Purple"
-#~ msgstr "Purpur"
-
-#~ msgid "Violet"
-#~ msgstr "Violett"
-
-#~ msgid "Dark Gray"
-#~ msgstr "Dunkelgrau"
-
-#~ msgid "Gray"
-#~ msgstr "Grau"
-
-#~ msgid "Light Gray"
-#~ msgstr "Hellgrau"
-
-#~ msgid "Describe objects"
-#~ msgstr "Objekte beschreiben"
-
-#~ msgid "Page %d"
-#~ msgstr "Seite %d"
-
-#~ msgid "Print to file ..."
-#~ msgstr "In Datei drucken..."
-
-#~ msgid "No file name specified"
-#~ msgstr "Kein Dateiname angegeben"
-
-#~ msgid "%s exists"
-#~ msgstr "%s existiert bereits"
-
-#~ msgid "Overwrite"
-#~ msgstr "Ãœberschreiben"
-
-#~ msgid ": cannot open"
-#~ msgstr ": kann nicht geöffnet werden"
-
-#~ msgid "Page 1"
-#~ msgstr "Seite 1"
-
-#~ msgid "Enter both printer name and command"
-#~ msgstr "Druckername und Befehl eingeben"
-
-#~ msgid "Can not save New Printer definition"
-#~ msgstr "Neue Druckerdefinition kann nicht gespeichert werden"
-
-#~ msgid "Enter printer name"
-#~ msgstr "Druckername eingeben"
-
-#~ msgid "Can not save New Margin definition"
-#~ msgstr "Seitendefinition kann nicht gespeichert werden"
-
-#~ msgid "Paper Size"
-#~ msgstr "Papiergrösse"
-
-#~ msgid "Printer"
-#~ msgstr "Drucker"
-
-#~ msgid "Format"
-#~ msgstr "Format"
-
-#~ msgid "X Font"
-#~ msgstr "X Schriftart"
-
-#~ msgid "PS Font"
-#~ msgstr "PS Schriftart"
-
-#~ msgid "Factor"
-#~ msgstr "Faktor"
-
-#~ msgid "Print Test Page"
-#~ msgstr "Drucke Testseite"
-
-#~ msgid "Name: "
-#~ msgstr "Name: "
-
-#~ msgid "Command: "
-#~ msgstr "Befehl: "
-
-#~ msgid "Add Margin"
-#~ msgstr "Rand hinzufügen"
-
-#~ msgid "Print To File"
-#~ msgstr "In Datei drucken"
-
-#~ msgid "File Name? "
-#~ msgstr "Dateiname? "
-
-#~ msgid "Font Alias"
-#~ msgstr "Alias für Schriftart"
-
-#~ msgid "Enter a post-script font name for:"
-#~ msgstr "Eingabe der Postscript Schriftart für:"
-
-#~ msgid "Printing"
-#~ msgstr "Drucke"
-
-#~ msgid "Now printing"
-#~ msgstr "Druck läuft"
-
-#~ msgid "Abort Print"
-#~ msgstr "Druck abbrechen"
-
-#~ msgid ""
-#~ " exists\n"
-#~ "Do you want to overwrite it?"
-#~ msgstr ""
-#~ "existiert.\n"
-#~ "Wollen Sie diese überschreiben?"
-
-#, fuzzy
-#~ msgid "Delete Switch motor"
-#~ msgstr "Weichenantrieb löschen"
-
-#~ msgid "Not a SwitchMotor!"
-#~ msgstr "Kein Weichenantrieb!"
-
-#~ msgid "Custom Update"
-#~ msgstr "Anpassungen hinzufügen"
-
-#~ msgid "No fonts"
-#~ msgstr "Keine Schriftarten"
-
-#~ msgid ""
-#~ "Can't find standard Serif font.\n"
-#~ "Please choose a font"
-#~ msgstr ""
-#~ "Die Standardschriftart für Serif kann nicht gefunden werden.\n"
-#~ "Bitte wählen Sie eine Schriftart aus"
-
-#~ msgid ""
-#~ "Can't find standard San-Serif font.\n"
-#~ "Please choose a font"
-#~ msgstr ""
-#~ "Die Standardschriftart für Sans-Serif kann nicht gefunden werden.\n"
-#~ "Bitte wählen Sie eine Schriftart aus"
-
-#~ msgid "XTrackCAD Help"
-#~ msgstr "XTrackCAD Hilfe"
-
-#~ msgid "Now printing %s"
-#~ msgstr "Drucke %s"
-
-#~ msgid "Creating %s"
-#~ msgstr "Erzeuge %s"
-
-#~ msgid "Scale / Gauge"
-#~ msgstr "Maßstab / Spurweite"
-
-#~ msgid "load last layout"
-#~ msgstr "Letzten Plan laden"
-
-#~ msgid "start with blank layout"
-#~ msgstr "Mit leerem Plan beginnen"
diff --git a/app/i18n/fr_FR.po b/app/i18n/fr_FR.po
index b9afa90..74fe893 100644
--- a/app/i18n/fr_FR.po
+++ b/app/i18n/fr_FR.po
@@ -1,16142 +1,15646 @@
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: xtrkcad 5.2.0\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-07-11 09:01+0200\n"
-"PO-Revision-Date: 2020-07-11 08:53+0200\n"
-"Last-Translator: zileg31 <zileg31@users.sourceforge.net>\n"
-"Language-Team: French <zileg31@users.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: fr_FR\n"
-"X-Generator: Poedit 2.3\n"
-
-#: ../bin/archive.c:178 ../bin/archive.c:185 ../bin/archive.c:214
-#: ../bin/archive.c:239 ../bin/archive.c:294 ../bin/archive.c:307
-#: ../bin/archive.c:315 ../bin/archive.c:365 ../bin/archive.c:400
-#: ../bin/archive.c:416 ../bin/archive.c:426 ../bin/archive.c:449
-#: ../bin/cblock.c:491 ../bin/cswitchmotor.c:475 ../bin/dbench.c:147
-#: ../bin/dcar.c:4520 ../bin/dcar.c:4706 ../bin/dcar.c:4716 ../bin/dcar.c:4764
-#: ../bin/dcar.c:4771 ../bin/dcar.c:4789 ../bin/dcar.c:4802 ../bin/dcar.c:4807
-#: ../bin/dcar.c:4836 ../bin/dcar.c:5000 ../bin/directory.c:65
-#: ../bin/directory.c:100 ../bin/directory.c:107 ../bin/directory.c:138
-#: ../bin/directory.c:154 ../bin/dxfoutput.c:193 ../bin/fileio.c:241
-#: ../bin/fileio.c:698 ../bin/fileio.c:898 ../bin/fileio.c:1025
-#: ../bin/fileio.c:1092 ../bin/fileio.c:1098 ../bin/fileio.c:1174
-#: ../bin/fileio.c:1184 ../bin/fileio.c:1517 ../bin/fileio.c:1567
-#: ../bin/fileio.c:1623 ../bin/macro.c:179 ../bin/macro.c:832
-#: ../bin/macro.c:877 ../bin/macro.c:898 ../bin/macro.c:1043
-#: ../bin/macro.c:1060 ../bin/macro.c:1322 ../bin/param.c:2090
-#: ../bin/paramfile.c:250 ../bin/paramfilelist.c:376 ../bin/track.c:1116
-#: ../bin/track.c:1640 ../bin/track.c:1946 ../bin/track.c:1950
-#: ../bin/track.c:1962 ../bin/track.c:2026 ../wlib/gtklib/wpref.c:248
-#: ../wlib/gtklib/wpref.c:255
-msgid "Continue"
-msgstr "Continuez"
-
-#: ../bin/cbezier.c:599
-msgid "Select End-Point - Ctrl unlocks end-point"
-msgstr "Sélectionner le point de fin - Ctrl déverrouille ce dernier"
-
-#: ../bin/cbezier.c:601
-msgid "Select End-Point"
-msgstr "Sélectionnez le point de fin"
-
-#: ../bin/cbezier.c:633
-msgid "Not close enough to any valid, selectable point, reselect"
-msgstr ""
-"Pas assez proche d'un point valide et sélectionnable, veuillez en choisir un "
-"autre"
-
-#: ../bin/cbezier.c:639
-#, c-format
-msgid "Drag point %d to new location and release it"
-msgstr "Déplacez le point %d vers le nouvel emplacement et relâchez"
-
-#: ../bin/cbezier.c:648 ../bin/cbezier.c:739 ../bin/cbezier.c:741
-msgid "Pick any circle to adjust it - Enter to confirm, ESC to abort"
-msgstr ""
-"Sélectionnez un cercle à modifier - 'Entr' pour confirmer, 'Ech' pour "
-"abandonner"
-
-#: ../bin/cbezier.c:672
-msgid "Bezier Curve Invalid has identical end points Change End Point"
-msgstr ""
-"La courbe de Bezier n'est pas Valide avec des extrémités identiques, changez "
-"de point de fin"
-
-#: ../bin/cbezier.c:675
-#, c-format
-msgid "Bezier Curve Invalid has %s Change End Point"
-msgstr "La courbe de Bézier n'est pas Valide à %s changez le point de fin"
-
-#: ../bin/cbezier.c:678
-msgid "Bezier Curve Invalid has three co-incident points"
-msgstr "Courbe de Bézier non valide sur trois points correspondants"
-
-#: ../bin/cbezier.c:680
-msgid "Bezier is Straight Line"
-msgstr "Bézier est une voie droite"
-
-#: ../bin/cbezier.c:682
-#, c-format
-msgid "Bezier %s : Min Radius=%s Length=%s fx=%0.3f fy=%0.3f cusp=%0.3f"
-msgstr "Bezier %s : Rayon Min=%s Longueur=%s fx=%0.3f fy=%0.3f cusp=%0.3f"
-
-#: ../bin/cbezier.c:686
-#, c-format
-msgid "Bezier %s : Min Radius=%s Length=%s"
-msgstr "Bezier %s : Rayon Min=%s Longueur=%s"
-
-#: ../bin/cbezier.c:711
-msgid "No unconnected End Point to lock to"
-msgstr "Il n'y a pas de point d'extrémité non connecté à verrouiller"
-
-#: ../bin/cbezier.c:729
-msgid "Bezier curve invalid has identical end points Change End Point"
-msgstr ""
-"La courbe de Bezier n'est pas valide avec des extrémités identiques, changez "
-"un point de fin"
-
-#: ../bin/cbezier.c:732
-#, c-format
-msgid "Bezier curve invalid has %s Change End Point"
-msgstr "La courbe de Bézier n'est pas valide à %s changez le point de fin"
-
-#: ../bin/cbezier.c:735
-msgid "Bezier curve invalid has three co-incident points"
-msgstr "Courbe de Bézier non valide sur trois points correspondants"
-
-#: ../bin/cbezier.c:737
-msgid "Bezier curve is straight line"
-msgstr "La courbe de Bézier est une voie droite"
-
-#: ../bin/cbezier.c:751 ../bin/cbezier.c:765
-msgid "Invalid Bezier Track - end points are identical"
-msgstr "Courbe de Bezier invalide - les points de fin sont identiques"
-
-#: ../bin/cbezier.c:758
-#, c-format
-msgid "Invalid Bezier Curve has a %s - Adjust"
-msgstr "Courbe de Bézier non valide a %s - Ajuster"
-
-#: ../bin/cbezier.c:762
-msgid "Invalid Bezier Curve has three coincident points - Adjust"
-msgstr "Courbe de Bézier non valide avec trois points de coïncidence - Ajuster"
-
-#: ../bin/cbezier.c:770
-msgid "Create Bezier"
-msgstr "Créer une Bézier"
-
-#: ../bin/cbezier.c:858
-#, c-format
-msgid "%s picked - now select a Point"
-msgstr "%s choisi - maintenant sélectionnez un point"
-
-#: ../bin/cbezier.c:888 ../bin/ccornu.c:1953
-msgid "No changes made"
-msgstr "Aucune modification apportée"
-
-#: ../bin/cbezier.c:892
-msgid "Modify Bezier"
-msgstr "Modifier une Bézier"
-
-#: ../bin/cbezier.c:910
-msgid "Modify Bezier Complete"
-msgstr "Modifier une Bézier terminée"
-
-#: ../bin/cbezier.c:914
-msgid "Modify Bezier Cancelled"
-msgstr "Annuler modifier une Bézier"
-
-#: ../bin/cbezier.c:1038 ../bin/cbezier.c:1129
-#, c-format
-msgid "Place 1st endpoint of Bezier - snap to %s"
-msgstr ""
-"Définissez le 1er point de fin de la Bézier + Maj -> accrochez à la fin de %s"
-
-#: ../bin/cbezier.c:1056 ../bin/ccornu.c:2290 ../bin/ccurve.c:205
-#: ../bin/ccurve.c:439 ../bin/cstraigh.c:91
-msgid "Track is different gauge"
-msgstr "La voie à un écartement différent"
-
-#: ../bin/cbezier.c:1084
-msgid "Drag end of first control arm"
-msgstr "Faites glisser l'extrémité du premier bras de commande"
-
-#: ../bin/cbezier.c:1091
-msgid "Drag end of second control arm"
-msgstr "Faites glisser l'extrémité du second bras de commande"
-
-#: ../bin/cbezier.c:1133 ../bin/cbezier.c:1170
-#, c-format
-msgid "Select other end of Bezier - snap to %s end"
-msgstr ""
-"Sélectionnez l'autre extrémité de la Bézier, accrochez la à la fin de %s en "
-"maintenant la touche Maj enfoncée"
-
-#: ../bin/cbezier.c:1165
-msgid "Control Arm 1 is too short, try again"
-msgstr "Le bras de commande 1 est trop court, veuillez réessayer"
-
-#: ../bin/cblock.c:111 ../bin/cblock.c:123 ../bin/cblock.c:168
-#: ../bin/ccontrol.c:171 ../bin/ccontrol.c:425 ../bin/compound.c:567
-#: ../bin/csensor.c:163 ../bin/csensor.c:389 ../bin/csignal.c:238
-#: ../bin/csignal.c:498 ../bin/csignal.c:509 ../bin/csignal.c:535
-#: ../bin/cswitchmotor.c:93 ../bin/cswitchmotor.c:112
-#: ../bin/cswitchmotor.c:224 ../bin/dcontmgm.c:91 ../bin/dlayer.c:483
-msgid "Name"
-msgstr "Nom"
-
-#: ../bin/cblock.c:112 ../bin/cblock.c:124 ../bin/cblock.c:169
-#: ../bin/csensor.c:165 ../bin/csensor.c:395 ../bin/csignal.c:498
-#: ../bin/csignal.c:537
-msgid "Script"
-msgstr "Script"
-
-#: ../bin/cblock.c:125
-msgid "Segments"
-msgstr "Segments"
-
-#: ../bin/cblock.c:170 ../bin/cdraw.c:515 ../bin/cdraw.c:1425
-#: ../bin/cdraw.c:1571 ../bin/cdraw.c:2224 ../bin/cdraw.c:2450
-#: ../bin/cdraw.c:2487 ../bin/ctodesgn.c:170 ../bin/ctodesgn.c:171
-#: ../bin/ctodesgn.c:172 ../bin/ctodesgn.c:173 ../bin/ctodesgn.c:185
-#: ../bin/ctodesgn.c:186 ../bin/ctodesgn.c:236 ../bin/ctodesgn.c:239
-#: ../bin/ctodesgn.c:259 ../bin/ctodesgn.c:264 ../bin/ctodesgn.c:296
-#: ../bin/ctodesgn.c:303 ../bin/ctodesgn.c:305 ../bin/ctodesgn.c:325
-#: ../bin/ctodesgn.c:330 ../bin/ctodesgn.c:362 ../bin/ctodesgn.c:369
-#: ../bin/ctodesgn.c:370 ../bin/ctodesgn.c:391 ../bin/ctodesgn.c:394
-#: ../bin/ctodesgn.c:397 ../bin/ctodesgn.c:432 ../bin/ctodesgn.c:436
-#: ../bin/ctodesgn.c:443 ../bin/ctodesgn.c:444 ../bin/ctodesgn.c:445
-#: ../bin/ctodesgn.c:467 ../bin/ctodesgn.c:469 ../bin/ctodesgn.c:487
-#: ../bin/ctodesgn.c:489 ../bin/ctodesgn.c:508 ../bin/ctodesgn.c:510
-#: ../bin/ctodesgn.c:537 ../bin/ctodesgn.c:557 ../bin/ctodesgn.c:577
-#: ../bin/ctodesgn.c:597 ../bin/ctodesgn.c:635 ../bin/ctodesgn.c:654
-#: ../bin/ctodesgn.c:655 ../bin/ctrain.c:185 ../bin/tbezier.c:258
-#: ../bin/tcornu.c:307 ../bin/tcurve.c:372 ../bin/tstraigh.c:89
-msgid "Length"
-msgstr "Longueur"
-
-#: ../bin/cblock.c:171 ../bin/cdraw.c:507 ../bin/compound.c:542
-#: ../bin/tbezier.c:245 ../bin/tcornu.c:294 ../bin/tcurve.c:364
-#: ../bin/tease.c:519 ../bin/tstraigh.c:85
-msgid "End Pt 1: X,Y"
-msgstr "Bout 1: X,Y"
-
-#: ../bin/cblock.c:172 ../bin/cdraw.c:508 ../bin/compound.c:547
-#: ../bin/tbezier.c:252 ../bin/tcornu.c:299 ../bin/tcurve.c:366
-#: ../bin/tease.c:521 ../bin/tstraigh.c:87
-msgid "End Pt 2: X,Y"
-msgstr "Bout 2: X,Y"
-
-#: ../bin/cblock.c:195 ../bin/cblock.c:207 ../bin/cblock.c:575
-#: ../bin/cblock.c:596 ../bin/cblock.c:604 ../bin/cblock.c:674
-#: ../bin/cblock.c:795 ../bin/cblock.c:807 ../bin/cblock.c:845
-#: ../bin/ccontrol.c:205 ../bin/ccontrol.c:218 ../bin/ccontrol.c:230
-#: ../bin/ccontrol.c:486 ../bin/cdraw.c:130 ../bin/cdraw.c:2283
-#: ../bin/cgroup.c:1075 ../bin/cgroup.c:1146 ../bin/cgroup.c:1185
-#: ../bin/cgroup.c:1235 ../bin/cgroup.c:1262 ../bin/cgroup.c:1350
-#: ../bin/cgroup.c:1729 ../bin/cnote.c:69 ../bin/compound.c:603
-#: ../bin/compound.c:618 ../bin/compound.c:651 ../bin/cprint.c:512
-#: ../bin/cprint.c:716 ../bin/cprint.c:723 ../bin/cprint.c:1247
-#: ../bin/cpull.c:511 ../bin/cpull.c:526 ../bin/cpull.c:528 ../bin/cpull.c:530
-#: ../bin/cpull.c:690 ../bin/cselect.c:1068 ../bin/cselect.c:1164
-#: ../bin/cselect.c:1980 ../bin/csensor.c:194 ../bin/csensor.c:206
-#: ../bin/csensor.c:444 ../bin/csignal.c:267 ../bin/csignal.c:666
-#: ../bin/csignal.c:734 ../bin/csnap.c:576 ../bin/csnap.c:705
-#: ../bin/cstruct.c:935 ../bin/cstruct.c:944 ../bin/cstruct.c:1069
-#: ../bin/cswitchmotor.c:250 ../bin/cswitchmotor.c:262
-#: ../bin/cswitchmotor.c:274 ../bin/cswitchmotor.c:286
-#: ../bin/cswitchmotor.c:544 ../bin/cswitchmotor.c:580
-#: ../bin/cswitchmotor.c:714 ../bin/cswitchmotor.c:745 ../bin/ctext.c:173
-#: ../bin/ctodesgn.c:204 ../bin/ctodesgn.c:1199 ../bin/ctodesgn.c:1336
-#: ../bin/ctodesgn.c:1934 ../bin/ctodesgn.c:2049 ../bin/ctodesgn.c:2348
-#: ../bin/ctodesgn.c:2630 ../bin/ctrain.c:205 ../bin/cturnout.c:2897
-#: ../bin/cturnout.c:3035 ../bin/cundo.c:161 ../bin/cundo.c:166
-#: ../bin/dbitmap.c:68 ../bin/dbitmap.c:125 ../bin/dbitmap.c:203
-#: ../bin/dbitmap.c:238 ../bin/dcar.c:3824 ../bin/dcar.c:4019
-#: ../bin/dcar.c:4023 ../bin/dcar.c:4027 ../bin/dcar.c:4032 ../bin/dcar.c:4336
-#: ../bin/dcar.c:4444 ../bin/dcar.c:4826 ../bin/dcmpnd.c:399
-#: ../bin/dcmpnd.c:410 ../bin/dcmpnd.c:542 ../bin/dcustmgm.c:221
-#: ../bin/dcustmgm.c:227 ../bin/dcustmgm.c:236 ../bin/dcustmgm.c:261
-#: ../bin/dease.c:242 ../bin/dlayer.c:240 ../bin/dlayer.c:262
-#: ../bin/dlayer.c:879 ../bin/dlayer.c:885 ../bin/dlayer.c:891
-#: ../bin/doption.c:199 ../bin/doption.c:275 ../bin/doption.c:476
-#: ../bin/doption.c:479 ../bin/doption.c:492 ../bin/doption.c:558
-#: ../bin/dprmfile.c:434 ../bin/draw.c:2629 ../bin/fileio.c:197
-#: ../bin/fileio.c:607 ../bin/fileio.c:742 ../bin/fileio.c:744
-#: ../bin/fileio.c:749 ../bin/fileio.c:812 ../bin/fileio.c:1045
-#: ../bin/layout.c:373 ../bin/layout.c:561 ../bin/macro.c:1156
-#: ../bin/macro.c:1160 ../bin/macro.c:1218 ../bin/macro.c:1287
-#: ../bin/macro.c:1527 ../bin/macro.c:1545 ../bin/misc.c:434 ../bin/misc.c:481
-#: ../bin/misc.c:1806 ../bin/misc.c:1927 ../bin/misc.c:1935 ../bin/misc.c:2013
-#: ../bin/misc.c:2799 ../bin/misc.c:2808 ../bin/misc.c:2828 ../bin/misc.c:2834
-#: ../bin/misc2.c:456 ../bin/param.c:738 ../bin/param.c:1848
-#: ../bin/param.c:1971 ../bin/param.c:1974 ../bin/param.c:2097
-#: ../bin/param.c:2103 ../bin/paramfile.c:324 ../bin/paramfile.c:326
-#: ../bin/paramfile.c:331 ../bin/paramfile.c:355 ../bin/paramfile.c:381
-#: ../bin/paramfile.c:387 ../bin/paramfilelist.c:94 ../bin/paramfilelist.c:114
-#: ../bin/paramfilelist.c:128 ../bin/paramfilelist.c:192 ../bin/smalldlg.c:90
-#: ../bin/smalldlg.c:222 ../bin/tease.c:1014 ../bin/track.c:1654
-#: ../wlib/gtklib/wpref.c:122 ../../../../build/work/app/bin/bllnhlp.c:586
-msgid "Ok"
-msgstr "Ok"
-
-#: ../bin/cblock.c:212
-msgid "Change block"
-msgstr "Changer de bloc"
-
-#: ../bin/cblock.c:264 ../bin/cswitchmotor.c:342
-#, fuzzy, c-format
-msgid "(%d): Layer=%u %s"
-msgstr "(%d): Calque=%d %s"
-
-#: ../bin/cblock.c:288 ../bin/cblock.c:1000
-msgid "Block"
-msgstr "Bloc"
-
-#: ../bin/cblock.c:491
-#, c-format
-msgid "resolveBlockTrack: T%d[%d]: T%d doesn't exist"
-msgstr "revoir le bloc de voies : T%d[%d] : T%d n'existe pas"
-
-#: ../bin/cblock.c:575 ../bin/cblock.c:807
-msgid "Block must have a name!"
-msgstr "La section de voie doit avoir un nom !"
-
-#: ../bin/cblock.c:604
-msgid "Block is discontigious!"
-msgstr "La section de voie est discontinue !"
-
-#: ../bin/cblock.c:609
-msgid "Create block"
-msgstr "Créer un bloc"
-
-#: ../bin/cblock.c:656
-msgid "Non track object skipped!"
-msgstr "Pas de voies manquante!"
-
-#: ../bin/cblock.c:660
-msgid "Selected track is already in a block, skipped!"
-msgstr "Ignorée, la voie sélectionnée est déjà dans un bloc !"
-
-#: ../bin/cblock.c:674
-msgid "Create Block"
-msgstr "Créer un Bloc"
-
-#: ../bin/cblock.c:704 ../bin/cblock.c:736
-msgid "Select a track"
-msgstr "Sélectionner une voie"
-
-#: ../bin/cblock.c:713 ../bin/cblock.c:744
-msgid "Not a block!"
-msgstr "Pas un bloc!"
-
-#: ../bin/cblock.c:749
-#, c-format
-msgid "Really delete block %s?"
-msgstr "Voulez-vous vraiment supprimer le bloc %s ?"
-
-#: ../bin/cblock.c:749 ../bin/ccornu.c:2729 ../bin/ccornu.c:2940
-#: ../bin/cdraw.c:134 ../bin/cgroup.c:1081 ../bin/cpull.c:648
-#: ../bin/csignal.c:712 ../bin/cswitchmotor.c:670 ../bin/ctodesgn.c:2638
-#: ../bin/ctodesgn.c:3170 ../bin/ctrain.c:2507 ../bin/dbitmap.c:208
-#: ../bin/dcar.c:3970 ../bin/dcar.c:4049 ../bin/dcar.c:4133 ../bin/dcar.c:4152
-#: ../bin/dcar.c:4469 ../bin/dcar.c:4890 ../bin/dcontmgm.c:173
-#: ../bin/dcustmgm.c:168 ../bin/misc.c:1235 ../bin/misc.c:1242
-#: ../bin/misc.c:1313 ../bin/track.c:1656 ../bin/track.c:1753
-#: ../bin/track.c:1767
-msgid "Yes"
-msgstr "Oui"
-
-#: ../bin/cblock.c:749 ../bin/ccornu.c:2729 ../bin/ccornu.c:2940
-#: ../bin/cdraw.c:134 ../bin/cgroup.c:1081 ../bin/cpull.c:648
-#: ../bin/csignal.c:712 ../bin/cswitchmotor.c:670 ../bin/ctodesgn.c:2638
-#: ../bin/ctodesgn.c:3170 ../bin/ctrain.c:2507 ../bin/dcar.c:3970
-#: ../bin/dcar.c:4049 ../bin/dcar.c:4133 ../bin/dcar.c:4152 ../bin/dcar.c:4469
-#: ../bin/dcar.c:4890 ../bin/dcontmgm.c:173 ../bin/dcustmgm.c:168
-#: ../bin/misc.c:1235 ../bin/misc.c:1242 ../bin/misc.c:1313
-#: ../bin/track.c:1656 ../bin/track.c:1753 ../bin/track.c:1767
-msgid "No"
-msgstr "Non"
-
-#: ../bin/cblock.c:750
-msgid "Delete Block"
-msgstr "Supprimer la section de voie"
-
-#: ../bin/cblock.c:795
-#, c-format
-msgid "Deleting block %s"
-msgstr "Supprimer la section de voie %s"
-
-#: ../bin/cblock.c:811
-msgid "Modify Block"
-msgstr "Modifier le bloc"
-
-#: ../bin/cblock.c:844
-msgid "Edit block"
-msgstr "Editer le bloc"
-
-#: ../bin/cblock.c:850
-#, c-format
-msgid "Edit block %d"
-msgstr "Editer le bloc %d"
-
-#: ../bin/ccontrol.c:172 ../bin/csensor.c:164 ../bin/csignal.c:239
-#: ../bin/ctrain.c:183
-msgid "Position"
-msgstr "Position"
-
-#: ../bin/ccontrol.c:173 ../bin/ccontrol.c:431
-msgid "On Script"
-msgstr "Script On"
-
-#: ../bin/ccontrol.c:174 ../bin/ccontrol.c:433
-msgid "Off Script"
-msgstr "Script Off"
-
-#: ../bin/ccontrol.c:240
-msgid "Change Control"
-msgstr "Changer le contrôle"
-
-#: ../bin/ccontrol.c:282 ../bin/csensor.c:252
-#, fuzzy, c-format
-msgid "(%d [%s]): Layer=%u, at %0.3f,%0.3f"
-msgstr "(%d [%s]): Calque=%d, à %0.3f,%0.3f"
-
-#: ../bin/ccontrol.c:295 ../bin/ccontrol.c:640
-msgid "Control"
-msgstr "Contrôle"
-
-#: ../bin/ccontrol.c:427
-msgid "Origin X"
-msgstr "Origine X"
-
-#: ../bin/ccontrol.c:429 ../bin/csensor.c:393 ../bin/csignal.c:513
-msgid "Origin Y"
-msgstr "Origine Y"
-
-#: ../bin/ccontrol.c:445
-msgid "Create Control"
-msgstr "Créer un contrôle"
-
-#: ../bin/ccontrol.c:448
-msgid "Modify Control"
-msgstr "Modifier le contrôle"
-
-#: ../bin/ccontrol.c:485
-msgid "Edit control"
-msgstr "Editer un contrôle"
-
-#: ../bin/ccontrol.c:526
-msgid "Place control"
-msgstr "Placer un contrôle"
-
-#: ../bin/ccornu.c:200 ../bin/ccornu.c:203 ../bin/ccornu.c:206
-#: ../bin/ccornu.c:260
-#, c-format
-msgid "%s FlexTrack"
-msgstr "Voie flexible %s"
-
-#: ../bin/ccornu.c:254
-msgid " FLEX "
-msgstr ""
-
-#: ../bin/ccornu.c:903 ../bin/cjoin.c:894 ../bin/cmisc.c:59
-msgid "First"
-msgstr "Premier"
-
-#: ../bin/ccornu.c:910 ../bin/cjoin.c:899
-msgid "Second"
-msgstr "Second"
-
-#: ../bin/ccornu.c:981 ../bin/ccornu.c:2005 ../bin/ccornu.c:2035
-#: ../bin/tcornu.c:830 ../bin/tcornu.c:1037 ../bin/tcornu.c:1363
-#, c-format
-msgid ""
-"Cornu Create Failed for p1[%0.3f,%0.3f] p2[%0.3f,%0.3f], c1[%0.3f,%0.3f] c2[%"
-"0.3f,%0.3f], a1=%0.3f a2=%0.3f, r1=%s r2=%s"
-msgstr ""
-"La création de Cornu a échoué pour p1[%0.3f,%0.3f] p2[%0.3f,%0.3f], c1[%0.3f,"
-"%0.3f] c2[%0.3f,%0.3f], a1=%0.3f a2=%0.3f, r1=%s r2=%s"
-
-#: ../bin/ccornu.c:1020 ../bin/ccornu.c:1640 ../bin/ccornu.c:1659
-#: ../bin/tbezier.c:246 ../bin/tbezier.c:253 ../bin/tcornu.c:295
-#: ../bin/tcornu.c:300
-msgid "End Angle"
-msgstr "Fin d'angle"
-
-#: ../bin/ccornu.c:1023 ../bin/ccornu.c:1639 ../bin/ccornu.c:1658
-msgid "End Radius"
-msgstr "Rayon final"
-
-#: ../bin/ccornu.c:1076
-msgid "Select Point, or Add Point"
-msgstr "Sélectionner un point, ou ajouter un point"
-
-#: ../bin/ccornu.c:1248
-msgid "Not close enough to track or point, reselect"
-msgstr ""
-"Pas assez proche d'un point valide et sélectionnable, veuillez en choisir un "
-"autre"
-
-#: ../bin/ccornu.c:1254
-msgid "Drag out end of Cornu"
-msgstr "Faire glisser l'extrémité de la Cornu"
-
-#: ../bin/ccornu.c:1256
-msgid "Drag along end of track"
-msgstr "Faites glisser vers le bout de la voie"
-
-#: ../bin/ccornu.c:1258
-msgid "Drag to move"
-msgstr "Faites glisser pour déplacer"
-
-#: ../bin/ccornu.c:1261
-msgid "Drag point to new location, Delete to remove"
-msgstr "Déplacer le point vers sa nouvelle position, supprimer avec Suppr"
-
-#: ../bin/ccornu.c:1265
-msgid "Drag to change end radius"
-msgstr "Faites glisser pour modifier le rayon de fin"
-
-#: ../bin/ccornu.c:1268
-msgid "Drag to change end angle"
-msgstr "Faites glisser pour changer l'angle de fin"
-
-#: ../bin/ccornu.c:1283
-msgid "Pick any circle to adjust or add - Enter to accept, Esc to cancel"
-msgstr ""
-"Sélectionnez un cercle à modifier pour ajuster ou ajouter - 'Entr' pour "
-"confirmer, 'Ech' pour abandonner"
-
-#: ../bin/ccornu.c:1295
-msgid "Track can't be split"
-msgstr "La voie ne peut pas être divisée"
-
-#: ../bin/ccornu.c:1357
-msgid "Too close to other end of selected Track"
-msgstr "Trop proche de l'autre extrémité de la voie sélectionnée"
-
-#: ../bin/ccornu.c:1365
-msgid "Can't move end inside a turnout"
-msgstr "Impossible de se déplacer à l'intérieur d'un aiguillage"
-
-#: ../bin/ccornu.c:1507
-msgid "Can't extend connected Bezier or Cornu"
-msgstr "Impossible d'étendre la connection Bézier ou Cornu"
-
-#: ../bin/ccornu.c:1579
-#, c-format
-msgid ""
-"Cornu : Min Radius=%s MaxRateofCurveChange/Scale=%s Length=%s Winding Arc=%s"
-msgstr ""
-"Cornu : Rayon Min =%s Taux de changement de rayon maximal =%s Longueur =%s "
-"Arc =%s"
-
-#: ../bin/ccornu.c:1601 ../bin/ccornu.c:2271
-msgid "Helix Already Connected"
-msgstr "Hélicoïde déjà connectée"
-
-#: ../bin/ccornu.c:1615
-msgid "No Valid end point on that track"
-msgstr "Aucun point de fin valable sur cette voie"
-
-#: ../bin/ccornu.c:1620
-msgid "Track is different scale"
-msgstr "La voie a une échelle différente"
-
-#: ../bin/ccornu.c:1673
-msgid ""
-"Pick on point to adjust it along track - Delete to remove, Enter to confirm, "
-"ESC to abort"
-msgstr ""
-"Sélectionnez un point et déplacez-le le long de la voie - 'Suppr' pour "
-"supprimer, 'Entr' pour confirmer, 'Ech' pour abandonner"
-
-#: ../bin/ccornu.c:1703
-msgid "Cornu has too complex shape - adjust end pts"
-msgstr "Cornu d'une forme trop complexe - ajustez les points finaux"
-
-#: ../bin/ccornu.c:1714
-#, c-format
-msgid "Cornu point %d too close to other end of connect track - reposition it"
-msgstr ""
-"Fin de Cornu %d trop proche de l’autre extrémité de la connexion de voie - "
-"repositionnez-la"
-
-#: ../bin/ccornu.c:1719
-msgid "Create Cornu"
-msgstr "Créer une Cornu"
-
-#: ../bin/ccornu.c:1908
-msgid "Now Select or Add (+Shift) a Point"
-msgstr "Maintenant, sélectionnez ou ajoutez (+Maj) un point"
-
-#: ../bin/ccornu.c:1967
-#, c-format
-msgid "Cornu end %d too close to other end of connect track - reposition it"
-msgstr ""
-"Fin de Cornu %d trop proche de l’autre extrémité de la connexion de voie - "
-"repositionnez-la"
-
-#: ../bin/ccornu.c:1972
-msgid "Modify Cornu"
-msgstr "Modifier une Cornu"
-
-#: ../bin/ccornu.c:1987
-#, c-format
-msgid "Cornu Extension Create Failed for end %d"
-msgstr "Extension de création de Cornu a échoué pour la fin %d"
-
-#: ../bin/ccornu.c:2079
-#, c-format
-msgid "Connected Track End Adjust for end %d failed"
-msgstr "Le bout %d de la voie est connecté et ne peut pas être ajusté"
-
-#: ../bin/ccornu.c:2090
-msgid "Modify Cornu Cancelled"
-msgstr "Annuler modifier une Cornu"
-
-#: ../bin/ccornu.c:2247
-msgid "Left click - Start Cornu track"
-msgstr "Commencez par une cornu en appuyant sur le bouton gauche de la souris"
-
-#: ../bin/ccornu.c:2249
-msgid "Left click - Place Flextrack"
-msgstr "Clic gauche - Positionner la voie flexible"
-
-#: ../bin/ccornu.c:2252
-msgid "Left click - join with Cornu track"
-msgstr "Clic gauche - raccorder avec une voie Cornu"
-
-#: ../bin/ccornu.c:2254
-msgid "Left click - join with Cornu track, Shift Left click - move to join"
-msgstr ""
-"Clic gauche - raccorder avec une voie Cornu, Maj+Clic gauche - déplacer pour "
-"raccorder"
-
-#: ../bin/ccornu.c:2285
-msgid "No valid open endpoint on that track"
-msgstr "Aucun point de fin non connecté sur cette voie"
-
-#: ../bin/ccornu.c:2313 ../bin/ccornu.c:2325
-msgid "Drag arm in the direction of track"
-msgstr "Tirez le bras de commande dans la direction de la voie"
-
-#: ../bin/ccornu.c:2329
-msgid "No Unconnected Track End there"
-msgstr "Il n'y a aucune voie non connectée"
-
-#: ../bin/ccornu.c:2340 ../bin/ccornu.c:2364
-msgid "No Valid Track End there"
-msgstr "Il n'y a aucune voie non connectée"
-
-#: ../bin/ccornu.c:2352
-msgid "Locked - Move 1st end point of Cornu track along track 1"
-msgstr ""
-"Verrouillé - Déplacer le 1er point de fin de la voie Cornu le long de la "
-"voie 1"
-
-#: ../bin/ccornu.c:2376
-msgid "Locked - Move 2nd end point of Cornu track along track 2"
-msgstr ""
-"Verrouillé - Déplacer le 2nd point de fin de la voie Cornu le long de la "
-"voie 2"
-
-#: ../bin/ccornu.c:2450
-msgid "Track can't be split - so locked to endpoint"
-msgstr ""
-"La voie ne peut pas être divisée - donc verrouillée sur son point de fin"
-
-#: ../bin/ccornu.c:2455
-msgid "Point not on track 1"
-msgstr "Les aiguilles ne sont pas sur la bonne voie 1"
-
-#: ../bin/ccornu.c:2493
-msgid "Pick other end of Cornu"
-msgstr "Choisissez l'autre extrémité de la Cornu"
-
-#: ../bin/ccornu.c:2495
-msgid ""
-"Select flextrack ends or anchors and drag, Enter to approve, Esc to Cancel"
-msgstr ""
-"Sélectionnez les extrémités ou les ancres de la flextrack et faites glisser, "
-"Entr. pour approuver, Ech. pour annuler"
-
-#: ../bin/ccornu.c:2499
-msgid "Put other end of Cornu on a track with an unconnected end point"
-msgstr ""
-"Mettre l'autre extrémité de la Cornu sur une voie avec un point de fin non "
-"connecté"
-
-#: ../bin/ccornu.c:2717 ../bin/ccornu.c:2930
-msgid "Not on a Track"
-msgstr "Pas sur la voie"
-
-#: ../bin/ccornu.c:2725
-msgid "Select a Track To Convert"
-msgstr "Sélectionner une voie à convertir"
-
-#: ../bin/ccornu.c:2729
-msgid "Convert all Selected Tracks to Cornu Tracks?"
-msgstr "Convertir toutes les voies sélectionnées en une voie Cornu ?"
-
-#: ../bin/ccornu.c:2734
-msgid "Convert Cornu"
-msgstr "Convertir une Cornu"
-
-#: ../bin/ccornu.c:2886
-#, c-format
-msgid "Tracks Counts: %d converted %d unconvertible %d created %d deleted"
-msgstr ""
-
-#: ../bin/ccornu.c:2886 ../bin/ccornu.c:3000
-msgid "OK"
-msgstr "OK"
-
-#: ../bin/ccornu.c:2936
-msgid "Select a Cornu or Bezier Track To Convert to Fixed"
-msgstr "Sélectionnez une voie Cornu ou Bézier à convertir en fixe"
-
-#: ../bin/ccornu.c:2940
-msgid "Convert all Selected Tracks to Fixed Tracks?"
-msgstr "Convertir toutes les voies sélectionnées en voies fixes ?"
-
-#: ../bin/ccornu.c:2949
-msgid "Convert Bezier and Cornu"
-msgstr "Convertir des Bezier et Cornu"
-
-#: ../bin/ccornu.c:3000
-#, c-format
-msgid "Tracks Counts: %d converted %d unconvertible %d deleted"
-msgstr ""
-
-#: ../bin/ccornu.c:3028
-msgid "Convert"
-msgstr "Convertir"
-
-#: ../bin/ccornu.c:3029
-msgid "Convert To Cornu"
-msgstr "Convertir en Cornu"
-
-#: ../bin/ccornu.c:3030
-msgid "Convert From Cornu"
-msgstr "Convertir depuis une Cornu"
-
-#: ../bin/ccurve.c:169
-msgid "Drag from endpoint in direction of curve - lock to track open endpoint"
-msgstr ""
-"Faites glisser du point d'extrémité dans la direction de la courbe - "
-"connexion au point d'extrémité non connecté"
-
-#: ../bin/ccurve.c:171
-msgid "Drag from endpoint in direction of curve"
-msgstr "Faites glisser depuis l'extrémité dans le sens de la courbe"
-
-#: ../bin/ccurve.c:175
-msgid "Drag from endpoint to center - lock to track open endpoint"
-msgstr ""
-"Glisser de l'extrémité de la voie vers le centre - utilisez Maj pour "
-"connecter à l'extrémité non connectée"
-
-#: ../bin/ccurve.c:177
-msgid "Drag from endpoint to center"
-msgstr "Faire glisser de l'extrémité de voie vers le centre"
-
-#: ../bin/ccurve.c:180
-msgid "Drag from center to endpoint"
-msgstr "Faites glisser du centre vers l'extrémité"
-
-#: ../bin/ccurve.c:183
-msgid "Drag from one to other end of chord"
-msgstr "Faites glisser d'un bout à l'autre de la corde"
-
-#: ../bin/ccurve.c:241
-msgid "End locked: Drag out curve start"
-msgstr "Point de fin fixé, faites glisser pour dessiner le départ de la courbe"
-
-#: ../bin/ccurve.c:242
-msgid "Drag along curve start"
-msgstr "Faire glisser le long du début de courbe"
-
-#: ../bin/ccurve.c:250
-msgid "End locked: Drag out curve center"
-msgstr "Point de fin fixé, faites glisser pour dessiner le centre de la courbe"
-
-#: ../bin/ccurve.c:251
-msgid "Drag out curve center"
-msgstr "Faire glisser vers le centre de la courbe"
-
-#: ../bin/ccurve.c:258
-msgid "Drag out from center to endpoint"
-msgstr "Glisser du centre au point de fin"
-
-#: ../bin/ccurve.c:267
-msgid "End locked: Drag to other end of chord"
-msgstr ""
-"Point de fin fixé, faites glisser pour dessiner l'autre extrémité de la corde"
-
-#: ../bin/ccurve.c:269
-msgid "Drag to other end of chord"
-msgstr "Tirez à l'autre bout de la corde"
-
-#: ../bin/ccurve.c:324
-#, c-format
-msgid "Start Locked: Drag out curve start - Angle=%0.3f"
-msgstr "Départ verrouillé : faites glisser le début de la courbe - Angle=%0.3f"
-
-#: ../bin/ccurve.c:325
-#, c-format
-msgid "Drag out curve start - Angle=%0.3f"
-msgstr "Faites glisser le point de départ de la courbe - Angle =%0.3f"
-
-#: ../bin/ccurve.c:331
-#, c-format
-msgid "Tangent locked: Drag out center - Radius=%s Angle=%0.3f"
-msgstr ""
-"Tangente verrouillée : faites glisser le centre vers l'extérieur - Rayon=%s "
-"Angle=%0.3f"
-
-#: ../bin/ccurve.c:332
-#, c-format
-msgid "Drag out center - Radius=%s Angle=%0.3f"
-msgstr "Faire glisser le centre - Rayon =%s Angle =%0.3f"
-
-#: ../bin/ccurve.c:338
-#, c-format
-msgid "Drag to Edge: Radius=%s Angle=%0.3f"
-msgstr "Faire glisser vers le bord - Rayon =%s Angle =%0.3f"
-
-#: ../bin/ccurve.c:344
-#, c-format
-msgid "Start locked: Drag out chord length=%s angle=%0.3f"
-msgstr "Départ verrouillé : faites glisser la corde, longueur=%s Angle=%0.3f"
-
-#: ../bin/ccurve.c:345
-#, c-format
-msgid "Drag out chord length=%s angle=%0.3f"
-msgstr "Faites glisser sur la corde, longueur =%s Angle =%0.3f"
-
-#: ../bin/ccurve.c:399 ../bin/ccurve.c:557 ../bin/drawgeom.c:735
-msgid "Drag on Red arrows to adjust curve"
-msgstr "Faites glisser les flèches rouges pour ajuster la courbe"
-
-#: ../bin/ccurve.c:497 ../bin/cjoin.c:210 ../bin/cmodify.c:580
-#: ../bin/cturntbl.c:580
-#, c-format
-msgid "Straight Track: Length=%s Angle=%0.3f"
-msgstr "Voie droite : Longueur = %s Angle =%0.3f"
-
-#: ../bin/ccurve.c:504 ../bin/cmodify.c:585 ../bin/drawgeom.c:618
-#: ../wlib/gtklib/ixhelp.c:235
-msgid "Back"
-msgstr "Arrière"
-
-#: ../bin/ccurve.c:523
-#, c-format
-msgid "Curved Track: Radius=%s Angle=%0.3f Length=%s"
-msgstr "Voie courbe : Rayon = %s Angle = %0.3f Longueur = %s"
-
-#: ../bin/ccurve.c:577 ../bin/cstraigh.c:162
-msgid "Create Straight Track"
-msgstr "Créer une voie Droite"
-
-#: ../bin/ccurve.c:589
-msgid "Create Curved Track"
-msgstr "Créer une voie courbe"
-
-#: ../bin/ccurve.c:660
-msgid "Elevation Difference"
-msgstr "Différence d'élévation"
-
-#: ../bin/ccurve.c:661 ../bin/cdraw.c:514 ../bin/cdraw.c:1437
-#: ../bin/cdraw.c:1583 ../bin/cdraw.c:2231 ../bin/cdraw.c:2430
-#: ../bin/cdraw.c:2444 ../bin/compound.c:545 ../bin/compound.c:550
-#: ../bin/compound.c:555 ../bin/compound.c:560 ../bin/ctodesgn.c:180
-#: ../bin/ctodesgn.c:181 ../bin/ctodesgn.c:182 ../bin/ctodesgn.c:183
-#: ../bin/ctodesgn.c:299 ../bin/ctodesgn.c:302 ../bin/ctodesgn.c:304
-#: ../bin/ctodesgn.c:365 ../bin/ctodesgn.c:366 ../bin/ctodesgn.c:371
-#: ../bin/ctodesgn.c:435 ../bin/ctodesgn.c:439 ../bin/ctodesgn.c:440
-#: ../bin/ctodesgn.c:446 ../bin/ctodesgn.c:615 ../bin/tbezier.c:247
-#: ../bin/tbezier.c:254 ../bin/tcornu.c:301 ../bin/tcurve.c:369
-msgid "Radius"
-msgstr "Rayon"
-
-#: ../bin/ccurve.c:662 ../bin/tcurve.c:370
-msgid "Turns"
-msgstr "Tours"
-
-#: ../bin/ccurve.c:663
-msgid "Angular Separation"
-msgstr "Séparation angulaire"
-
-#: ../bin/ccurve.c:664 ../bin/celev.c:47 ../bin/compound.c:562
-#: ../bin/tbezier.c:259 ../bin/tcornu.c:308 ../bin/tcurve.c:376
-#: ../bin/tease.c:529 ../bin/tstraigh.c:91
-msgid "Grade"
-msgstr "Pente"
-
-#: ../bin/ccurve.c:665
-msgid "Vertical Separation"
-msgstr "Séparation verticale"
-
-#: ../bin/ccurve.c:667
-msgid "Total Length"
-msgstr "Longueur totale"
-
-#: ../bin/ccurve.c:743
-#, c-format
-msgid "Total Length %s"
-msgstr "Longueur totale %s"
-
-#: ../bin/ccurve.c:781 ../bin/ccurve.c:985 ../bin/tcurve.c:809
-msgid "Helix"
-msgstr "Hélicoïde"
-
-#: ../bin/ccurve.c:795
-msgid "Circle Radius"
-msgstr "Rayon du cercle"
-
-#: ../bin/ccurve.c:800
-msgid "Click on Circle Edge"
-msgstr "Cliquez sur le bord du cercle"
-
-#: ../bin/ccurve.c:804
-msgid "Click on Circle Center"
-msgstr "Cliquez sur le centre du cercle"
-
-#: ../bin/ccurve.c:835
-msgid "Drag to Center"
-msgstr "Glisser vers le centre"
-
-#: ../bin/ccurve.c:839
-msgid "Drag to Edge"
-msgstr "Glisser vers le bord"
-
-#: ../bin/ccurve.c:859 ../bin/ccurve.c:863
-#, c-format
-msgid "Radius=%s"
-msgstr "Rayon=%s"
-
-#: ../bin/ccurve.c:884
-msgid "Create Helix Track"
-msgstr "Créer une voie hélicoïdale"
-
-#: ../bin/ccurve.c:899
-msgid "Create Circle Track"
-msgstr "Créer une voie circulaire"
-
-#: ../bin/ccurve.c:954
-msgid "Cornu Curve"
-msgstr "Spirale de Cornu"
-
-#: ../bin/ccurve.c:956
-msgid "Curve Track"
-msgstr "Voie courbe"
-
-#: ../bin/ccurve.c:956
-msgid "Curve Tracks"
-msgstr "Voies courbes"
-
-#: ../bin/ccurve.c:957
-msgid "Curve from End-Pt"
-msgstr "Point de fin de la courbe"
-
-#: ../bin/ccurve.c:958
-msgid "Curve from Tangent"
-msgstr "Tangente de la courbe"
-
-#: ../bin/ccurve.c:959
-msgid "Curve from Center"
-msgstr "Centre de la courbe"
-
-#: ../bin/ccurve.c:960
-msgid "Curve from Chord"
-msgstr "Corde de la courbe"
-
-#: ../bin/ccurve.c:961 ../bin/cdraw.c:2572
-msgid "Bezier Curve"
-msgstr "Courbe de Bezier"
-
-#: ../bin/ccurve.c:964 ../bin/tcurve.c:643
-msgid "Circle Track"
-msgstr "Voie circulaire"
-
-#: ../bin/ccurve.c:964
-msgid "Circle Tracks"
-msgstr "Voies circulaires"
-
-#: ../bin/ccurve.c:965
-msgid "Fixed Radius Circle"
-msgstr "Cercle de rayon fixe"
-
-#: ../bin/ccurve.c:966
-msgid "Circle from Tangent"
-msgstr "Cercle de la tangente"
-
-#: ../bin/ccurve.c:967
-msgid "Circle from Center"
-msgstr "Cercle autour du centre"
-
-#: ../bin/cdraw.c:130
-msgid "Font Size must be > 0"
-msgstr "La taille de la police doit être >0"
-
-#: ../bin/cdraw.c:509
-msgid "First Point: X,Y"
-msgstr "D'abord, Point: X,Y"
-
-#: ../bin/cdraw.c:510 ../bin/tcurve.c:368
-msgid "Center: X,Y"
-msgstr "Centre : X,Y"
-
-#: ../bin/cdraw.c:511 ../bin/cdraw.c:532 ../bin/cdraw.c:1427
-#: ../bin/cdraw.c:1572 ../bin/cdraw.c:2229 ../bin/cdraw.c:2451
-#: ../bin/cdraw.c:2471 ../bin/cdraw.c:2475 ../bin/compound.c:543
-#: ../bin/compound.c:548 ../bin/compound.c:553 ../bin/compound.c:558
-#: ../bin/compound.c:564 ../bin/cprint.c:155 ../bin/csignal.c:240
-#: ../bin/csignal.c:515 ../bin/ctodesgn.c:188 ../bin/ctodesgn.c:189
-#: ../bin/ctodesgn.c:190 ../bin/ctodesgn.c:192 ../bin/ctodesgn.c:237
-#: ../bin/ctodesgn.c:260 ../bin/ctodesgn.c:262 ../bin/ctodesgn.c:297
-#: ../bin/ctodesgn.c:300 ../bin/ctodesgn.c:326 ../bin/ctodesgn.c:329
-#: ../bin/ctodesgn.c:363 ../bin/ctodesgn.c:368 ../bin/ctodesgn.c:392
-#: ../bin/ctodesgn.c:396 ../bin/ctodesgn.c:433 ../bin/ctodesgn.c:437
-#: ../bin/ctodesgn.c:442 ../bin/ctodesgn.c:468 ../bin/ctodesgn.c:488
-#: ../bin/ctodesgn.c:509 ../bin/ctodesgn.c:616 ../bin/ctrain.c:184
-#: ../bin/tease.c:524 ../bin/tstraigh.c:90
-msgid "Angle"
-msgstr "Angle"
-
-#: ../bin/cdraw.c:512 ../bin/tcurve.c:374
-msgid "CCW Angle"
-msgstr "Angle CCW"
-
-#: ../bin/cdraw.c:513 ../bin/tcurve.c:375
-msgid "CW Angle"
-msgstr "Angle CW"
-
-#: ../bin/cdraw.c:516 ../bin/cdraw.c:1434 ../bin/cdraw.c:1556
-#: ../bin/cprint.c:130
-msgid "Height"
-msgstr "Hauteur"
-
-#: ../bin/cdraw.c:517 ../bin/cdraw.c:1432 ../bin/cdraw.c:1555
-#: ../bin/cdraw.c:2226 ../bin/cdraw.c:2488 ../bin/ctrain.c:186
-#: ../bin/dcar.c:2234
-msgid "Width"
-msgstr "Largeur"
-
-#: ../bin/cdraw.c:518
-msgid "Keep Origin Relative"
-msgstr "Conserver l'origine relative"
-
-#: ../bin/cdraw.c:519
-msgid "Rot Origin: X,Y"
-msgstr "Centre de rotation : X,Y"
-
-#: ../bin/cdraw.c:520 ../bin/cdraw.c:1441
-msgid "Rotate Angle"
-msgstr "Angle de rotation"
-
-#: ../bin/cdraw.c:521
-msgid "Point Count"
-msgstr "Nombre de points"
-
-#: ../bin/cdraw.c:522 ../bin/cdraw.c:2204 ../bin/ctodesgn.c:202
-#: ../bin/tbezier.c:261
-msgid "Line Width"
-msgstr "Épaisseur de trait"
-
-#: ../bin/cdraw.c:523 ../bin/cdraw.c:2233 ../bin/tbezier.c:260
-msgid "Line Type"
-msgstr "Type de ligne"
-
-#: ../bin/cdraw.c:524 ../bin/cdraw.c:2206 ../bin/cdraw.c:2208
-#: ../bin/cdraw.c:2306 ../bin/cdraw.c:2339 ../bin/cmisc.c:125
-#: ../bin/ctext.c:68 ../bin/ctext.c:147 ../bin/ctodesgn.c:203
-#: ../bin/dcar.c:2230 ../bin/dlayer.c:485 ../bin/doption.c:558
-msgid "Color"
-msgstr "Couleur"
-
-#: ../bin/cdraw.c:525
-msgid "Filled"
-msgstr "Plein"
-
-#: ../bin/cdraw.c:526
-msgid "Open End"
-msgstr "Côté ouvert"
-
-#: ../bin/cdraw.c:527 ../bin/cmisc.c:148 ../bin/cmisc.c:149 ../bin/cmisc.c:150
-#: ../bin/cmisc.c:151 ../bin/ctext.c:70 ../bin/ctext.c:148
-msgid "Boxed"
-msgstr "En boîte"
-
-#: ../bin/cdraw.c:528 ../bin/cdraw.c:1108 ../bin/cdraw.c:2240
-msgid "Lumber"
-msgstr "Structure"
-
-#: ../bin/cdraw.c:529
-msgid "Orientation"
-msgstr "Orientation"
-
-#: ../bin/cdraw.c:530 ../bin/cdraw.c:2222
-#: ../../../../build/work/app/bin/bllnhlp.c:588
-msgid "Size"
-msgstr "Dimension"
-
-#: ../bin/cdraw.c:531 ../bin/compound.c:563 ../bin/tease.c:523
-msgid "Origin: X,Y"
-msgstr "Origine : X,Y"
-
-#: ../bin/cdraw.c:533 ../bin/ctext.c:66 ../bin/ctext.c:146
-msgid "Font Size"
-msgstr "Taille police"
-
-#: ../bin/cdraw.c:534 ../bin/cdraw.c:1254 ../bin/ctext.c:262
-msgid "Text"
-msgstr "Texte"
-
-#: ../bin/cdraw.c:535 ../bin/cmisc.c:144 ../bin/compound.c:565
-#: ../bin/tcurve.c:377 ../bin/tease.c:530 ../bin/tstraigh.c:92
-msgid "Pivot"
-msgstr "Pivot"
-
-#: ../bin/cdraw.c:536 ../bin/compound.c:571 ../bin/cturntbl.c:253
-#: ../bin/doption.c:139 ../bin/doption.c:140 ../bin/tbezier.c:263
-#: ../bin/tcornu.c:309 ../bin/tcurve.c:378 ../bin/tease.c:531
-#: ../bin/tstraigh.c:93 ../../../../build/work/app/bin/bllnhlp.c:666
-#: ../../../../build/work/app/bin/bllnhlp.c:667
-#: ../../../../build/work/app/bin/bllnhlp.c:668
-#: ../../../../build/work/app/bin/bllnhlp.c:669
-#: ../../../../build/work/app/bin/bllnhlp.c:670
-#: ../../../../build/work/app/bin/bllnhlp.c:671
-#: ../../../../build/work/app/bin/bllnhlp.c:672
-#: ../../../../build/work/app/bin/bllnhlp.c:673
-#: ../../../../build/work/app/bin/bllnhlp.c:674
-#: ../../../../build/work/app/bin/bllnhlp.c:675
-#: ../../../../build/work/app/bin/bllnhlp.c:676
-#: ../../../../build/work/app/bin/bllnhlp.c:677
-#: ../../../../build/work/app/bin/bllnhlp.c:678
-#: ../../../../build/work/app/bin/bllnhlp.c:679
-#: ../../../../build/work/app/bin/bllnhlp.c:680
-#: ../../../../build/work/app/bin/bllnhlp.c:681
-#: ../../../../build/work/app/bin/bllnhlp.c:682
-#: ../../../../build/work/app/bin/bllnhlp.c:683
-#: ../../../../build/work/app/bin/bllnhlp.c:684
-#: ../../../../build/work/app/bin/bllnhlp.c:685
-msgid "Layer"
-msgstr "Calque"
-
-#: ../bin/cdraw.c:1093
-msgid "Straight Line"
-msgstr "Ligne droite"
-
-#: ../bin/cdraw.c:1098 ../bin/cdraw.c:2564
-msgid "Dimension Line"
-msgstr "Ligne de cote"
-
-#: ../bin/cdraw.c:1119 ../bin/cdraw.c:2241 ../bin/cdraw.c:2566
-msgid "Table Edge"
-msgstr "Bord de table"
-
-#: ../bin/cdraw.c:1139 ../bin/cdraw.c:2246 ../bin/cdraw.c:2247
-#: ../bin/cdraw.c:2248
-msgid "Circle"
-msgstr "Cercle"
-
-#: ../bin/cdraw.c:1150
-msgid "Curved Line"
-msgstr "Ligne courbe"
-
-#: ../bin/cdraw.c:1166 ../bin/cdraw.c:2251 ../bin/cdraw.c:2252
-#: ../bin/cdraw.c:2253
-msgid "Filled Circle"
-msgstr "Cercle plein"
-
-#: ../bin/cdraw.c:1185
-msgid "Rectangle"
-msgstr "Rectangle"
-
-#: ../bin/cdraw.c:1199 ../bin/cdraw.c:2257
-msgid "Polyline"
-msgstr "Polyligne"
-
-#: ../bin/cdraw.c:1203 ../bin/cdraw.c:2250 ../bin/cdraw.c:2583
-msgid "Polygon"
-msgstr "Polygone"
-
-#: ../bin/cdraw.c:1221
-msgid "Filled Rectangle"
-msgstr "Rectangle plein"
-
-#: ../bin/cdraw.c:1234 ../bin/cdraw.c:2255 ../bin/cdraw.c:2584
-msgid "Filled Polygon"
-msgstr "Polygone plein"
-
-#: ../bin/cdraw.c:1260
-#, c-format
-msgid "%s(%d) Layer=%d"
-msgstr "%s(%d) Calque=%d"
-
-#: ../bin/cdraw.c:1280 ../bin/cdraw.c:2309 ../bin/compound.c:956
-#: ../bin/doption.c:134 ../bin/tbezier.c:458
-msgid "Solid"
-msgstr "Solide"
-
-#: ../bin/cdraw.c:1281 ../bin/cdraw.c:2311 ../bin/compound.c:957
-#: ../bin/doption.c:131 ../bin/tbezier.c:459
-msgid "Dash"
-msgstr "Tiret"
-
-#: ../bin/cdraw.c:1282 ../bin/cdraw.c:2310 ../bin/compound.c:958
-#: ../bin/tbezier.c:460
-msgid "Dot"
-msgstr "Pointillé"
-
-#: ../bin/cdraw.c:1283 ../bin/compound.c:959 ../bin/tbezier.c:461
-msgid "DashDot"
-msgstr "Tiret point"
-
-#: ../bin/cdraw.c:1284 ../bin/compound.c:960 ../bin/tbezier.c:462
-msgid "DashDotDot"
-msgstr "Tiret pointillés"
-
-#: ../bin/cdraw.c:1285 ../bin/compound.c:961 ../bin/tbezier.c:463
-#, fuzzy
-msgid "CenterDot"
-msgstr "Décalage interne"
-
-#: ../bin/cdraw.c:1286 ../bin/compound.c:962 ../bin/tbezier.c:464
-msgid "PhantomDot"
-msgstr ""
-
-#: ../bin/cdraw.c:1291 ../bin/cdraw.c:2357
-msgid "Tiny"
-msgstr "Minuscule"
-
-#: ../bin/cdraw.c:1292 ../bin/cdraw.c:2358
-msgid "Small"
-msgstr "Petit"
-
-#: ../bin/cdraw.c:1293 ../bin/cdraw.c:2359
-msgid "Medium"
-msgstr "Moyen"
-
-#: ../bin/cdraw.c:1294 ../bin/cdraw.c:2360
-msgid "Large"
-msgstr "Grand"
-
-#: ../bin/cdraw.c:1430
-msgid "Relative Angle"
-msgstr "Angle relatif"
-
-#: ../bin/cdraw.c:1439 ../bin/cdraw.c:1587 ../bin/cdraw.c:2445
-msgid "Arc Angle"
-msgstr "Angle de l'arc"
-
-#: ../bin/cdraw.c:1444
-msgid "Rot Center X"
-msgstr "Centre de rotation X"
-
-#: ../bin/cdraw.c:1446
-msgid "Rot Center Y"
-msgstr "Centre de rotation Y"
-
-#: ../bin/cdraw.c:1543
-msgid "Seg Lth"
-msgstr "Long. segmt"
-
-#: ../bin/cdraw.c:1544
-msgid "Rel Ang"
-msgstr "Angle Rel"
-
-#: ../bin/cdraw.c:2211 ../bin/cdraw.c:2213 ../bin/cdraw.c:2337
-msgid "Lumber Type"
-msgstr "Type de structure"
-
-#: ../bin/cdraw.c:2238
-msgid "Straight"
-msgstr "Trait"
-
-#: ../bin/cdraw.c:2239
-msgid "Dimension"
-msgstr "Dimension"
-
-#: ../bin/cdraw.c:2242 ../bin/cdraw.c:2243 ../bin/cdraw.c:2244
-#: ../bin/cdraw.c:2245
-msgid "Curved"
-msgstr "Courbe"
-
-#: ../bin/cdraw.c:2249 ../bin/cdraw.c:2581
-msgid "Box"
-msgstr "Boite"
-
-#: ../bin/cdraw.c:2254 ../bin/cdraw.c:2582
-msgid "Filled Box"
-msgstr "Boîte pleine"
-
-#: ../bin/cdraw.c:2256 ../bin/tbezier.c:455
-msgid "Bezier Line"
-msgstr "Ligne Bézier"
-
-#: ../bin/cdraw.c:2304
-#, c-format
-msgid "%s Line Width"
-msgstr "%s épaisseur"
-
-#: ../bin/cdraw.c:2307 ../bin/dcar.c:2203 ../bin/dcar.c:4367
-#: ../bin/dcar.c:4372
-msgid "Type"
-msgstr "Type"
-
-#: ../bin/cdraw.c:2312
-msgid "Dash-Dot"
-msgstr "En pointillés"
-
-#: ../bin/cdraw.c:2313
-msgid "Dash-Dot-Dot"
-msgstr "Petits pointillés"
-
-#: ../bin/cdraw.c:2326
-#, c-format
-msgid "%s Color"
-msgstr "%s Couleur"
-
-#: ../bin/cdraw.c:2355
-msgid "Dimension Line Size"
-msgstr "Dimension des voies"
-
-#: ../bin/cdraw.c:2367
-msgid "Drag to create Table Edge"
-msgstr "Faites glisser pour créer un bord de table"
-
-#: ../bin/cdraw.c:2469
-msgid "Seg Length"
-msgstr "Longueur du segment"
-
-#: ../bin/cdraw.c:2473
-msgid "Rel Angle"
-msgstr "Angle Rel"
-
-#: ../bin/cdraw.c:2563
-msgid "Line"
-msgstr "Ligne"
-
-#: ../bin/cdraw.c:2563
-msgid "Draw Line"
-msgstr "Dessiner un trait"
-
-#: ../bin/cdraw.c:2564
-msgid "Draw Dimension Line"
-msgstr "Tracer une ligne de cote"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:363
-#: ../bin/cdraw.c:2565 ../../../../build/work/app/i18n/custmsg.h:1249
-msgid "Benchwork"
-msgstr "Plan de travail"
-
-#: ../bin/cdraw.c:2565
-msgid "Draw Benchwork"
-msgstr "Dessinez un chassis"
-
-#: ../bin/cdraw.c:2566
-msgid "Draw Table Edge"
-msgstr "Dessiner un bord de Table"
-
-#: ../bin/cdraw.c:2568
-msgid "Curve End"
-msgstr "Fin de courbe"
-
-#: ../bin/cdraw.c:2568
-msgid "Draw Curve from End"
-msgstr "Dessiner une courbe depuis l'extrémité"
-
-#: ../bin/cdraw.c:2569
-msgid "Curve Tangent"
-msgstr "Courbe tangente"
-
-#: ../bin/cdraw.c:2569
-msgid "Draw Curve from Tangent"
-msgstr "Dessiner une courbe depuis la tangente"
-
-#: ../bin/cdraw.c:2570
-msgid "Curve Center"
-msgstr "Centre de la courbe"
-
-#: ../bin/cdraw.c:2570
-msgid "Draw Curve from Center"
-msgstr "Dessiner une courbe à partir du centre"
-
-#: ../bin/cdraw.c:2571
-msgid "Curve Chord"
-msgstr "Corde de la Courbe"
-
-#: ../bin/cdraw.c:2571
-msgid "Draw Curve from Chord"
-msgstr "Dessiner une courbe à partir de la corde"
-
-#: ../bin/cdraw.c:2572
-msgid "Draw Bezier"
-msgstr "Dessinez une Bézier"
-
-#: ../bin/cdraw.c:2575
-msgid "Circle Tangent"
-msgstr "Cercle tangent"
-
-#: ../bin/cdraw.c:2575
-msgid "Draw Circle from Tangent"
-msgstr "Dessiner un cercle à partir de la tangente"
-
-#: ../bin/cdraw.c:2576
-msgid "Circle Center"
-msgstr "Centre du cercle"
-
-#: ../bin/cdraw.c:2576
-msgid "Draw Circle from Center"
-msgstr "Tracer un cercle à partir du centre"
-
-#: ../bin/cdraw.c:2578
-msgid "Circle Filled Tangent"
-msgstr "Cercle rempli Tangent"
-
-#: ../bin/cdraw.c:2578
-msgid "Draw Filled Circle from Tangent"
-msgstr "Dessiner un cercle plein à partir de la tangente"
-
-#: ../bin/cdraw.c:2579
-msgid "Circle Filled Center"
-msgstr "Cercle rempli au centre"
-
-#: ../bin/cdraw.c:2579
-msgid "Draw Filled Circle from Center"
-msgstr "Dessiner un cercle plein à partir du centre"
-
-#: ../bin/cdraw.c:2581
-msgid "Draw Box"
-msgstr "Dessinez une Boite"
-
-#: ../bin/cdraw.c:2582
-msgid "Draw Filled Box"
-msgstr "Dessiner une boîte pleine"
-
-#: ../bin/cdraw.c:2583
-msgid "Draw Polygon"
-msgstr "Dessiner un polygone"
-
-#: ../bin/cdraw.c:2584
-msgid "Draw Filled Polygon"
-msgstr "Dessiner un polygone plein"
-
-#: ../bin/cdraw.c:2585
-msgid "PolyLine"
-msgstr "Polyligne"
-
-#: ../bin/cdraw.c:2585
-msgid "Draw PolyLine"
-msgstr "Dessiner une polyligne"
-
-#: ../bin/cdraw.c:2602
-msgid "Straight Objects"
-msgstr "Objets droits"
-
-#: ../bin/cdraw.c:2602
-msgid "Draw Straight Objects"
-msgstr "Dessiner des objets droits"
-
-#: ../bin/cdraw.c:2603
-msgid "Curved Lines"
-msgstr "Lignes courbes"
-
-#: ../bin/cdraw.c:2603
-msgid "Draw Curved Lines"
-msgstr "Tracer des voies courbes"
-
-#: ../bin/cdraw.c:2604
-msgid "Circle Lines"
-msgstr "Lignes circulaires"
-
-#: ../bin/cdraw.c:2604
-msgid "Draw Circles"
-msgstr "Dessinez des cercles"
-
-#: ../bin/cdraw.c:2605
-msgid "Shapes"
-msgstr "Formes"
-
-#: ../bin/cdraw.c:2605
-msgid "Draw Shapes"
-msgstr "Dessiner des formes"
-
-#: ../bin/cdraw.c:2893
-msgid "Close Polygon - 'c'"
-msgstr "Fermer le polygone - 'c'"
-
-#: ../bin/cdraw.c:2894
-msgid "Make PolyLine - 'l'"
-msgstr "Créer une polyligne - 'l'"
-
-#: ../bin/cdraw.c:2895
-msgid "Fill Polygon - 'f'"
-msgstr "Remplir le polygone - 'f'"
-
-#: ../bin/cdraw.c:2896
-msgid "Empty Polygon - 'e'"
-msgstr "Polygone vide - 'e'"
-
-#: ../bin/cdraw.c:2898
-msgid "Points Mode - 'p'"
-msgstr "Mode Points - 'p'"
-
-#: ../bin/cdraw.c:2899
-msgid "Delete Selected Point - 'Del'"
-msgstr "Supprimer le point sélectionné - 'Suppr'"
-
-#: ../bin/cdraw.c:2900
-msgid "Vertex Point - 'v'"
-msgstr "Point du sommet - 'v'"
-
-#: ../bin/cdraw.c:2901
-msgid "Round Corner - 'r'"
-msgstr "Coin rond - 'r"
-
-#: ../bin/cdraw.c:2902
-msgid "Smooth Corner - 's'"
-msgstr "Coin lisse - 's'"
-
-#: ../bin/cdraw.c:2904 ../bin/cselect.c:3348
-msgid "LineType..."
-msgstr "Type de ligne ..."
-
-#: ../bin/cdraw.c:2905 ../bin/cselect.c:3349
-msgid "Solid Line"
-msgstr "Ligne continue"
-
-#: ../bin/cdraw.c:2906 ../bin/cselect.c:3350
-msgid "Dashed Line"
-msgstr "Ligne en pointillés"
-
-#: ../bin/cdraw.c:2907 ../bin/cselect.c:3351
-msgid "Dotted Line"
-msgstr "Ligne en pointillé"
-
-#: ../bin/cdraw.c:2908
-msgid "Dash-Dot Line"
-msgstr "Ligne en pointillé"
-
-#: ../bin/cdraw.c:2909
-msgid "Dash-Dot-Dot Line"
-msgstr "Ligne en petits pointillés"
-
-#: ../bin/cdraw.c:2910
-#, fuzzy
-msgid "Center-Dot Line"
-msgstr "Créer des lignes"
-
-#: ../bin/cdraw.c:2911
-#, fuzzy
-msgid "Phantom-Dot Line"
-msgstr "Ligne en pointillé"
-
-#: ../bin/cdraw.c:2913
-msgid "Origin Mode - 'o'"
-msgstr "Mode origine - 'o'"
-
-#: ../bin/cdraw.c:2914
-msgid "Reset Origin - '0'"
-msgstr "Réinitialiser l'origine - '0'"
-
-#: ../bin/cdraw.c:2915
-msgid "Origin to Selected - 'l'"
-msgstr "Origine de la sélection - 'l'"
-
-#: ../bin/cdraw.c:2916
-msgid "Origin to Centroid - 'c'"
-msgstr "Origine de Centroid - 'c'"
-
-#: ../bin/celev.c:46 ../bin/cprofile.c:1535 ../bin/csplit.c:148
-#: ../bin/csplit.c:153 ../bin/dease.c:67 ../bin/doption.c:132
-#: ../bin/doption.c:134
-msgid "None"
-msgstr "Aucun"
-
-#: ../bin/celev.c:46
-msgid "Defined"
-msgstr "Défini(e)"
-
-#: ../bin/celev.c:46
-msgid "Hidden"
-msgstr "Caché"
-
-#: ../bin/celev.c:47
-msgid "Computed"
-msgstr "Calculé"
-
-#: ../bin/celev.c:47
-msgid "Station"
-msgstr "Gare"
-
-#: ../bin/celev.c:47 ../bin/cprofile.c:1533 ../bin/dcmpnd.c:75
-msgid "Ignore"
-msgstr "Ignoré"
-
-#: ../bin/celev.c:203
-msgid "Set Elevation"
-msgstr "Définir l'élévation"
-
-#: ../bin/celev.c:296 ../bin/celev.c:303 ../bin/celev.c:306
-#, c-format
-msgid "Undefined"
-msgstr "Non défini"
-
-#: ../bin/celev.c:362 ../bin/celev.c:495
-msgid "Elevation"
-msgstr "Élévation"
-
-#: ../bin/celev.c:362 ../bin/cmisc.c:459 ../bin/dcontmgm.c:299
-#: ../bin/dcustmgm.c:395 ../bin/dlayer.c:1124 ../bin/dpricels.c:154
-#: ../bin/filenoteui.c:249 ../bin/linknoteui.c:182
-#: ../bin/paramfilesearch_ui.c:396 ../bin/textnoteui.c:171
-msgid "Done"
-msgstr "Valider"
-
-#: ../bin/celev.c:374 ../bin/celev.c:426 ../bin/celev.c:428 ../bin/celev.c:447
-msgid "Click on end, +Shift to split, +Ctrl to move description"
-msgstr ""
-"Cliquez sur fin, +Maj pour segmenter, +Ctrl pour déplacer la description"
-
-#: ../bin/celev.c:394
-msgid "Move to end or track crossing +Shift to split"
-msgstr "Déplacez en fin ou à l'intersection de la voie + Maj pour diviser"
-
-#: ../bin/celev.c:398
-msgid "Move to end or track crossing"
-msgstr "Déplacez en fin ou à l'intersection de la voie"
-
-#: ../bin/celev.c:407
-#, fuzzy, c-format
-msgid "Crossing - First %0.3f, Second %0.3f, Clearance %0.3f - Click to Split"
-msgstr ""
-"Croisement - ElevBasse %0.3f, Haute %0.3f, Clearance %0.3f- Cliquez pour "
-"segmenter"
-
-#: ../bin/celev.c:409
-#, fuzzy, c-format
-msgid "Crossing - First %0.3f, Second %0.3f, Clearance %0.3f"
-msgstr "Croisement - ElevBasse %0.3f, Haute %0.3f, Clearance %0.3f"
-
-#: ../bin/celev.c:420
-#, c-format
-msgid "Track elevation %0.3f"
-msgstr "Elévation de voie %0.3f"
-
-#: ../bin/celev.c:423
-#, c-format
-msgid "Click to split here - elevation %0.3f"
-msgstr "Cliquez ici pour segmenter - élévation %0.3f"
-
-#: ../bin/celev.c:451
-msgid "Point selected!"
-msgstr "Point sélectionné !"
-
-#: ../bin/celev.c:454
-msgid "Split track"
-msgstr "Segmenter une voie"
-
-#: ../bin/celev.c:459
-msgid "Track split!"
-msgstr "La voie est coupée !"
-
-#: ../bin/cgroup.c:592
-msgid "Ungroup Object"
-msgstr "Dissocier l'Objet"
-
-#: ../bin/cgroup.c:604
-#, c-format
-msgid "%d objects ungrouped"
-msgstr "%d objets dissociés"
-
-#: ../bin/cgroup.c:606
-msgid "No objects ungrouped"
-msgstr "Aucun objet dégroupé"
-
-#: ../bin/cgroup.c:617
-msgid "Replace with new group?"
-msgstr "Remplacer par un nouveau groupe ?"
-
-#: ../bin/cgroup.c:623 ../bin/compound.c:566 ../bin/cstruct.c:69
-#: ../bin/ctodesgn.c:194 ../bin/ctodesgn.c:2916 ../bin/cturnout.c:82
-#: ../bin/dcar.c:2195 ../bin/dcar.c:4367 ../bin/dcar.c:4372
-#: ../bin/dcmpnd.c:456 ../bin/dcustmgm.c:59
-#: ../../../../build/work/app/bin/bllnhlp.c:370
-#: ../../../../build/work/app/bin/bllnhlp.c:565
-msgid "Manufacturer"
-msgstr "Fabricant"
-
-#: ../bin/cgroup.c:624 ../bin/cmisc.c:459 ../bin/cstruct.c:69
-#: ../bin/ctodesgn.c:2917 ../bin/ctodesgn.c:2918 ../bin/ctrain.c:187
-#: ../bin/cturnout.c:82 ../bin/dcar.c:2211 ../bin/dcar.c:4368
-#: ../bin/dcar.c:4373 ../bin/dcmpnd.c:457 ../bin/dcustmgm.c:60
-#: ../bin/denum.c:182 ../bin/denum.c:183 ../bin/denum.c:186
-#: ../../../../build/work/app/bin/bllnhlp.c:371
-msgid "Description"
-msgstr "Description"
-
-#: ../bin/cgroup.c:625 ../bin/dcmpnd.c:458
-msgid "#"
-msgstr "#"
-
-#: ../bin/cgroup.c:626 ../bin/compound.c:570
-msgid "# Segments"
-msgstr "# Série"
-
-#: ../bin/cgroup.c:628
-msgid "Offset X,Y:"
-msgstr "Décalage X, Y:"
-
-#: ../bin/cgroup.c:1235
-msgid "No endpts"
-msgstr "Pas de pts de fin"
-
-#: ../bin/cgroup.c:1350
-msgid "No paths"
-msgstr "Pas de chemins"
-
-#: ../bin/cgroup.c:1619 ../bin/cgroup.c:1669
-msgid "Group Tracks"
-msgstr "Voies du groupe"
-
-#: ../bin/cgroup.c:1729
-msgid "Group Objects"
-msgstr "Objets du groupe"
-
-#: ../bin/chndldto.c:70
-msgid "Place frog and drag angle"
-msgstr "Placer le cœur et l'angle de déviation"
-
-#: ../bin/chndldto.c:87
-msgid "frog"
-msgstr "coeur"
-
-#: ../bin/chndldto.c:93
-msgid "Drag to set angle"
-msgstr "Faites glisser pour définir l'angle"
-
-#: ../bin/chndldto.c:132
-#, c-format
-msgid "Angle = %0.2f Frog# = %0.2f"
-msgstr "Angle = %0.2f Coeur# = %0.2f"
-
-#: ../bin/chndldto.c:134
-msgid "Frog angle is too close to 0"
-msgstr "L'angle du cœur est trop proche de 0"
-
-#: ../bin/chndldto.c:137
-msgid "Select point position"
-msgstr "Sélectionnez la position du point"
-
-#: ../bin/chndldto.c:149 ../bin/chndldto.c:174
-msgid "points"
-msgstr "aiguilles"
-
-#: ../bin/chndldto.c:271
-#, c-format
-msgid "Length = %0.2f Angle = %0.2f Frog# = %0.2f"
-msgstr "Longueur = %0.2f angle = %0.2f cœur# = %0.2f"
-
-#: ../bin/chndldto.c:274
-msgid "Create Hand Laid Turnout"
-msgstr "Créer un aiguillage paramétré à la main"
-
-#: ../bin/chndldto.c:358
-msgid "HandLaidTurnout"
-msgstr "Aiguillage de conception libre"
-
-#: ../bin/cjoin.c:166
-#, c-format
-msgid "Curved Track: Radius=%s Length=%s"
-msgstr "Voie courbe : Rayon =%s Longueur =%s"
-
-#: ../bin/cjoin.c:252
-#, c-format
-msgid "Curved Track: Radius=%s Length=%s Angle=%0.3f"
-msgstr "Voie courbe : Rayon =%s Longueur =%s Angle =%0.3f"
-
-#: ../bin/cjoin.c:348
-#, c-format
-msgid "Track (%d) is too short for transition-curve by %0.3f"
-msgstr "La voie (%d) est trop courte pour la courbe de transition de %0.3f"
-
-#: ../bin/cjoin.c:366
-#, c-format
-msgid "Connecting track is too short by %0.3f"
-msgstr "La voie de connexion est trop courte de %0.3f"
-
-#: ../bin/cjoin.c:410
-msgid "Click on an unselected End-Point"
-msgstr "Cliquez sur un point d'extrémité non sélectionné"
-
-#: ../bin/cjoin.c:411
-msgid "Click on a selected End-Point"
-msgstr "Cliquez sur un point d'extrémité sélectionné"
-
-#: ../bin/cjoin.c:417
-msgid "unselected"
-msgstr "non sélectionné"
-
-#: ../bin/cjoin.c:417 ../bin/cprint.c:161
-msgid "selected"
-msgstr "sélectionnée(s)"
-
-#: ../bin/cjoin.c:474
-msgid "Left click - Select first draw object end"
-msgstr "Clic gauche - Sélectionner la première extrémité de l'objet de dessin"
-
-#: ../bin/cjoin.c:513 ../bin/cjoin.c:539
-msgid "Not a line - Try again"
-msgstr "Pas de ligne - Réessayez"
-
-#: ../bin/cjoin.c:535
-msgid "Left click - Select second object end"
-msgstr "Clic gauche - Sélectionnez la deuxième extrémité de l'objet"
-
-#: ../bin/cjoin.c:547
-msgid "Same draw object and same endpoint - Try again"
-msgstr "Même objet du dessin et même point de fin - Réessayer"
-
-#: ../bin/cjoin.c:581
-msgid "Create PolyLine"
-msgstr "Créer une polyligne"
-
-#: ../bin/cjoin.c:654 ../bin/cjoin.c:863
-#, fuzzy
-msgid "Desired Radius"
-msgstr "Rayon du cercle"
-
-#: ../bin/cjoin.c:804
-msgid "Left click - join with track"
-msgstr "Clic gauche - raccorder avec la voie"
-
-#: ../bin/cjoin.c:806
-msgid "Left click - join with track, Shift Left click - move to join"
-msgstr ""
-"Clic gauche - raccorder avec la voie, Shift+clic gauche - déplacer pour "
-"raccorder"
-
-#: ../bin/cjoin.c:856
-#, fuzzy, c-format
-msgid "Select 2nd track - desired radius %0.3f"
-msgstr "Sélectionnez la voie à décrire"
-
-#: ../bin/cjoin.c:858 ../bin/cjoin.c:1256 ../bin/cjoin.c:1263
-msgid "Select 2nd track"
-msgstr "Sélectionner une 2nd voie"
-
-#: ../bin/cjoin.c:1065
-msgid "Beyond end of 2nd track"
-msgstr "Au-delà de la fin de la 2ème voie"
-
-#: ../bin/cjoin.c:1100
-msgid "Beyond end of 1st track"
-msgstr "Au-delà de la fin de la 1ère voie"
-
-#: ../bin/cjoin.c:1122
-msgid "First Track Type not supported for non-Cornu Join"
-msgstr "La première voie ne peut être connectée que via des courbes de Cornu"
-
-#: ../bin/cjoin.c:1129
-msgid "First "
-msgstr "Premier "
-
-#: ../bin/cjoin.c:1154
-msgid "Second Track Type not supported for non-Cornu Join"
-msgstr "Deuxième type de voie non pris en charge pour un raccord non Cornu"
-
-#: ../bin/cjoin.c:1161
-msgid "Second "
-msgstr "Second "
-
-#: ../bin/cjoin.c:1175 ../bin/track.c:2270 ../bin/track.c:2306
-#: ../bin/track.c:2372
-msgid "Connecting "
-msgstr "Se connecter "
-
-#: ../bin/cjoin.c:1266
-msgid "Join Tracks"
-msgstr "Raccorder les voies"
-
-#: ../bin/cjoin.c:1348
-msgid "Join"
-msgstr "Raccorder"
-
-#: ../bin/cjoin.c:1349
-msgid "Join Track"
-msgstr "Raccorder une voie"
-
-#: ../bin/cjoin.c:1350
-msgid "Join Lines"
-msgstr "Raccorder des lignes"
-
-#: ../bin/cmisc.c:59
-msgid "Middle"
-msgstr "Milieu"
-
-#: ../bin/cmisc.c:59 ../bin/macro.c:98
-msgid "End"
-msgstr "Fin"
-
-#: ../bin/cmisc.c:242 ../bin/cmodify.c:353 ../bin/compound.c:664
-#: ../bin/ctrain.c:218
-msgid "Change Track"
-msgstr "Changer de voie"
-
-#: ../bin/cmisc.c:572
-msgid "Select track to describe"
-msgstr "Sélectionnez la voie à décrire"
-
-#: ../bin/cmisc.c:650 ../bin/doption.c:235
-msgid "Properties"
-msgstr "Propriétés"
-
-#: ../bin/cmisc2.c:52
-msgid "Bridge"
-msgstr "Pont"
-
-#: ../bin/cmodify.c:203 ../bin/cmodify.c:471
-msgid "Modify Track"
-msgstr "Modifier la voie"
-
-#: ../bin/cmodify.c:266
-msgid ""
-"Select a track to modify, Left-Click change length, Right-Click to add "
-"flextrack"
-msgstr ""
-"Sélectionnez une voie à modifier, cliquez sur le bouton gauche pour changer "
-"sa longueur, cliquez sur le bouton droit pour ajouter une voie"
-
-#: ../bin/cmodify.c:512
-msgid "Drag to add flex track"
-msgstr "Faites glisser pour créer une voie flexible"
-
-#: ../bin/cmodify.c:517
-msgid "No track to extend"
-msgstr "Pas de voies à prolonger"
-
-#: ../bin/cmodify.c:522
-msgid "No track selected"
-msgstr "Aucune voie sélectionnée"
-
-#: ../bin/cmodify.c:655
-#, c-format
-msgid "Curve Track: Radius=%s Length=%s Angle=%0.3f"
-msgstr "Voie courbe : Rayon = %s Longueur = %s Angle = %0.3f"
-
-#: ../bin/cmodify.c:670
-msgid "Extend Track"
-msgstr "Prolonger la voie"
-
-#: ../bin/cmodify.c:794
-msgid "Modify"
-msgstr "Modifier"
-
-#: ../bin/cmodify.c:801 ../bin/cselect.c:3305 ../bin/cselect.c:3321
-#: ../bin/misc.c:2197 ../bin/misc.c:2199
-msgid "Zoom In"
-msgstr "Zoom Avant"
-
-#: ../bin/cmodify.c:802 ../bin/cselect.c:3309 ../bin/cselect.c:3322
-#: ../bin/misc.c:2201 ../bin/misc.c:2203
-msgid "Zoom Out"
-msgstr "Zoom Arrière"
-
-#: ../bin/cmodify.c:803
-msgid "Pan center - 'c'"
-msgstr "Centre du panoramique - 'c'"
-
-#: ../bin/cnote.c:69 ../bin/textnoteui.c:48 ../bin/trknote.c:60
-msgid "Note"
-msgstr "Remarque"
-
-#: ../bin/cnote.c:75
-msgid "Replace this text with your layout notes"
-msgstr "Remplacez ce texte par vos notes de plan"
-
-#: ../bin/compound.c:544 ../bin/compound.c:549 ../bin/compound.c:554
-#: ../bin/compound.c:559 ../bin/tbezier.c:248 ../bin/tbezier.c:255
-#: ../bin/tcornu.c:297 ../bin/tcornu.c:302
-msgid "Center X,Y"
-msgstr "Centre X,Y"
-
-#: ../bin/compound.c:546 ../bin/tbezier.c:249 ../bin/tcornu.c:298
-msgid "Z1"
-msgstr "Z1"
-
-#: ../bin/compound.c:551 ../bin/tbezier.c:256 ../bin/tcornu.c:303
-msgid "Z2"
-msgstr "Z2"
-
-#: ../bin/compound.c:552
-msgid "End Pt 3: X,Y"
-msgstr "Bout 3: X,Y"
-
-#: ../bin/compound.c:556
-msgid "Z3"
-msgstr "Z3"
-
-#: ../bin/compound.c:557
-msgid "End Pt 4: X,Y"
-msgstr "Bout 4: X,Y"
-
-#: ../bin/compound.c:561
-msgid "Z4"
-msgstr "Z4"
-
-#: ../bin/compound.c:568 ../bin/cstruct.c:69 ../bin/cturnout.c:82
-#: ../bin/dcar.c:4367 ../bin/dcar.c:4372 ../bin/dcustmgm.c:60
-#: ../bin/doption.c:137 ../bin/doption.c:138
-msgid "Part No"
-msgstr "Référence N°"
-
-#: ../bin/compound.c:569
-msgid "LineType"
-msgstr "Type de Ligne"
-
-#: ../bin/compound.c:830 ../bin/cstruct.c:935 ../bin/cstruct.c:1126
-msgid "Structure"
-msgstr "Structure"
-
-#: ../bin/compound.c:832 ../bin/cswitchmotor.c:228 ../bin/cturnout.c:1063
-#: ../bin/cturnout.c:2888
-msgid "Turnout"
-msgstr "Aiguillage"
-
-#: ../bin/compound.c:832
-msgid "Sectional Track"
-msgstr "Section de voie"
-
-#: ../bin/compound.c:836
-#, c-format
-msgid "%s (%d) Layer= %d %s"
-msgstr "%s (%d) Calque= %d %s"
-
-#: ../bin/cparalle.c:52 ../bin/cparalle.c:100 ../bin/cparalle.c:140
-#: ../bin/ctodesgn.c:538 ../bin/ctodesgn.c:558 ../bin/ctodesgn.c:578
-#: ../bin/tcurve.c:371
-msgid "Separation"
-msgstr "Séparation"
-
-#: ../bin/cparalle.c:55 ../bin/cparalle.c:101
-msgid "Radius Factor"
-msgstr "Facteur de Rayon"
-
-#: ../bin/cparalle.c:141
-msgid "Radius factor"
-msgstr "Facteur de rayon"
-
-#: ../bin/cparalle.c:154
-#, fuzzy
-msgid " Track/Line doesn't support parallel"
-msgstr " Aucun parallèle ne peut être créé pour cette voie"
-
-#: ../bin/cparalle.c:226
-msgid "Create Parallel Track"
-msgstr "Créer une voie parallèle"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:354
-#: ../bin/cparalle.c:296 ../../../../build/work/app/i18n/custmsg.h:1231
-msgid "Parallel"
-msgstr "Parallèle"
-
-#: ../bin/cparalle.c:297
-msgid "Parallel Track"
-msgstr "Voie parallèle"
-
-#: ../bin/cparalle.c:298
-msgid "Parallel Line"
-msgstr "Ligne parallèle"
-
-#: ../bin/cprint.c:110
-msgid "Portrait"
-msgstr "Portrait"
-
-#: ../bin/cprint.c:110
-msgid "Landscape"
-msgstr "Paysage"
-
-#: ../bin/cprint.c:111 ../bin/cswitchmotor.c:94 ../bin/cswitchmotor.c:113
-#: ../bin/cswitchmotor.c:225 ../bin/dbench.c:78 ../bin/dease.c:67
-#: ../bin/doption.c:131 ../bin/doption.c:133 ../bin/macro.c:1406
-msgid "Normal"
-msgstr "Normal"
-
-#: ../bin/cprint.c:111 ../bin/cswitchmotor.c:95 ../bin/cswitchmotor.c:114
-#: ../bin/cswitchmotor.c:226 ../bin/ctrain.c:941 ../bin/ctrain.c:1248
-msgid "Reverse"
-msgstr "Inversé"
-
-#: ../bin/cprint.c:112
-msgid "Engineering Data"
-msgstr "Données d'ingénierie"
-
-#: ../bin/cprint.c:113
-msgid "Registration Marks (in 1:1 scale only)"
-msgstr "Aides au positionnement (à l'échelle 1:1 uniquement)"
-
-#: ../bin/cprint.c:114
-msgid "Page Numbers"
-msgstr "Numéro de page"
-
-#: ../bin/cprint.c:115
-msgid "Ignore Page Margins"
-msgstr "Impression sans marge"
-
-#: ../bin/cprint.c:116 ../bin/csnap.c:705 ../bin/doption.c:530
-msgid "Snap Grid"
-msgstr "Grille magnétique"
-
-#: ../bin/cprint.c:117
-msgid "Rulers"
-msgstr "Règles"
-
-#: ../bin/cprint.c:118
-msgid "Roadbed Outline"
-msgstr "Rayon droit"
-
-#: ../bin/cprint.c:119
-msgid "Centerline below Scale 1:1"
-msgstr "Imprimer l'axe central (en dessous de l'échelle 1:1)"
-
-#: ../bin/cprint.c:127
-msgid "Print Scale"
-msgstr "Echelle d'impression"
-
-#: ../bin/cprint.c:128
-msgid "Page Width"
-msgstr "Largeur de page"
-
-#: ../bin/cprint.c:129
-msgid "Max"
-msgstr "Max"
-
-#: ../bin/cprint.c:131
-msgid "Snap Shot"
-msgstr "Copie Ecran"
-
-#: ../bin/cprint.c:132
-msgid "Page Format"
-msgstr "Format de la page"
-
-#: ../bin/cprint.c:133
-msgid "Print Order"
-msgstr "Ordre d'impression"
-
-#: ../bin/cprint.c:134
-msgid "Print "
-msgstr "Imprimer "
-
-#: ../bin/cprint.c:149
-msgid " Width"
-msgstr " Largeur"
-
-#: ../bin/cprint.c:151
-#, fuzzy
-msgid "Margins"
-msgstr "Principal"
-
-#: ../bin/cprint.c:152 ../bin/cturntbl.c:250
-msgid "Origin: X"
-msgstr "Origine : X"
-
-#: ../bin/cprint.c:153 ../bin/csnap.c:535
-msgid "Y"
-msgstr "Y"
-
-#: ../bin/cprint.c:154 ../bin/cprint.c:620 ../bin/cprofile.c:715
-#: ../bin/dcar.c:2215
-msgid "Reset"
-msgstr "Remise à zéro"
-
-#: ../bin/cprint.c:156
-msgid "Setup"
-msgstr "Configuration"
-
-#: ../bin/cprint.c:157 ../bin/cselect.c:3313 ../bin/misc.c:2228
-msgid "Select All"
-msgstr "Tout sélectionner"
-
-#: ../bin/cprint.c:158 ../bin/cprofile.c:717 ../bin/layout.c:472
-#: ../bin/misc.c:726
-msgid "Clear"
-msgstr "Effacer"
-
-#: ../bin/cprint.c:160
-msgid "0 pages"
-msgstr "0 pages"
-
-#: ../bin/cprint.c:187
-#, c-format
-msgid "%d page"
-msgstr "pages %d"
-
-#: ../bin/cprint.c:187
-#, c-format
-msgid "%d pages"
-msgstr "pages %d"
-
-#: ../bin/cprint.c:408
-#, c-format
-msgid "PrintScale 1:%ld Room %s x %s Model Scale %s File %s"
-msgstr "Échelle d'impression 1:%ld Espace %s x %s Échelle %s Fichier %s"
-
-#: ../bin/cprint.c:716 ../bin/dbitmap.c:208 ../bin/filenoteui.c:158
-#: ../bin/misc.c:1235 ../bin/misc.c:1313 ../bin/param.c:2618
-#: ../wlib/gtklib/browserhelp.c:88
-#: ../../../../build/work/app/bin/bllnhlp.c:584
-msgid "Cancel"
-msgstr "Annuler"
-
-#: ../bin/cprint.c:723
-#, fuzzy
-msgid "Print Margins"
-msgstr "Page de test pour les marges d'impression"
-
-#: ../bin/cprint.c:1367 ../bin/cprofile.c:719 ../bin/ctodesgn.c:2864
-#: ../bin/denum.c:55
-msgid "Print"
-msgstr "Imprimer"
-
-#: ../bin/cprint.c:1388
-msgid "Select pages to print, or drag to move print grid"
-msgstr ""
-"Sélectionnez ou faites glisser les pages à imprimer pour déplacer la grille "
-"d'impression"
-
-#: ../bin/cprint.c:1485
-msgid "Print..."
-msgstr "Imprimer ..."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:350
-#: ../bin/cprofile.c:614 ../bin/cprofile.c:1448 ../bin/cprofile.c:1527
-#: ../../../../build/work/app/bin/bllnhlp.c:122
-#: ../../../../build/work/app/i18n/custmsg.h:1223
-msgid "Profile"
-msgstr "Profil"
-
-#: ../bin/cprofile.c:632
-#, c-format
-msgid "%s Profile: %s"
-msgstr "%s Profil: %s"
-
-#: ../bin/cprofile.c:713 ../bin/misc.c:1894
-msgid "Change"
-msgstr "Modifier"
-
-#: ../bin/cprofile.c:757 ../bin/cprofile.c:767
-#, c-format
-msgid "Elev = %0.1f"
-msgstr "Élév = %0.1f"
-
-#: ../bin/cprofile.c:769
-#, c-format
-msgid "Elev=%0.2f %0.1f%%"
-msgstr "Élév =%0.2f %0.1f%%"
-
-#: ../bin/cprofile.c:774
-#, c-format
-msgid "%0.1f%% Elev = %0.2f"
-msgstr "%0.1f%% Elev = %0.2f"
-
-#: ../bin/cprofile.c:779
-#, c-format
-msgid "%0.1f%% Elev = %0.2f %0.1f%%"
-msgstr "%0.1f%% Elev = %0.2f %0.1f%%"
-
-#: ../bin/cprofile.c:794 ../bin/cprofile.c:864 ../bin/cprofile.c:1400
-msgid "Profile Command"
-msgstr "Commande de profil"
-
-#: ../bin/cprofile.c:803 ../bin/cprofile.c:1454
-msgid "Drag to change Elevation"
-msgstr "Faites glisser pour modifier l'élévation"
-
-#: ../bin/cprofile.c:905
-msgid "Select a Defined Elevation to start Profile"
-msgstr "Sélectionnez une élévation définie pour démarrer le Profil"
-
-#: ../bin/cprofile.c:907
-msgid "Select a Defined Elevation to extend Profile"
-msgstr "Sélectionnez une élévation définie pour étendre le profil"
-
-#: ../bin/cprofile.c:1462
-msgid "Select a Defined Elevation to start profile"
-msgstr "Sélectionnez une élévation définie pour démarrer le profil"
-
-#: ../bin/cprofile.c:1531
-msgid "Define"
-msgstr "Définir"
-
-#: ../bin/cpull.c:439 ../bin/cpull.c:595
-#, c-format
-msgid "%d tracks moved"
-msgstr "%d Voies déplacées"
-
-#: ../bin/cpull.c:485
-msgid "Pull Tracks"
-msgstr "Voies de service"
-
-#: ../bin/cpull.c:559
-msgid "Tighten Tracks"
-msgstr "Resserrer les voies"
-
-#: ../bin/cpull.c:645
-msgid "Connect Multiple Tracks - Select multiple tracks to join first"
-msgstr ""
-"Connecter plusieurs voies - Sélectionnez plusieurs voies à raccorder en "
-"premier"
-
-#: ../bin/cpull.c:648
-msgid "Try to Connect all Selected Tracks?"
-msgstr "Toutes les voies sélectionnées doivent-elles être connectées?"
-
-#: ../bin/cpull.c:654
-msgid "ReConnect"
-msgstr "Reconnecter"
-
-#: ../bin/cpull.c:690
-#, c-format
-msgid ""
-"Round 1 %d and Round 2 %d tracks connected, %d close pairs of end Points "
-"were not connected"
-msgstr ""
-"Les séries 1 %d et séries 2 %d de voies sont connectées, %d paires de points "
-"de fin de voies proches ne sont pas connectées"
-
-#: ../bin/cpull.c:715
-msgid "Select first endpoint or turntable to connect, +Shift to tighten"
-msgstr ""
-"Sélectionnez le premier point de fin ou le pont tournant à connecter, +Maj "
-"pour resserrer"
-
-#: ../bin/cpull.c:717
-msgid ""
-"Select first endpoint to connect, or Right-Click for connecting selected "
-"tracks (not turntable)"
-msgstr ""
-"Sélectionnez le premier point de fin à connecter, ou cliquez avec le bouton "
-"droit pour connecter les voies sélectionnées (pas le pont tournant)"
-
-#: ../bin/cpull.c:776
-msgid "Select second endpoint or turntable to connect"
-msgstr "Sélectionnez le deuxième point de fin ou le pont tournant à connecter"
-
-#: ../bin/cpull.c:783
-msgid "Same Track! - please select another"
-msgstr "Même voie ! - veuillez en choisir une autre"
-
-#: ../bin/cpull.c:870
-msgid "Connect Two Tracks"
-msgstr "Connecter deux Voies"
-
-#: ../bin/cpull.c:872
-msgid "Connect All Selected - 'S'"
-msgstr "Connecter tous les éléments sélectionnés - 'S'"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:361
-#: ../bin/cruler.c:143 ../../../../build/work/app/i18n/custmsg.h:1245
-msgid "Ruler"
-msgstr "Règle"
-
-#: ../bin/cselect.c:616
-msgid "Change Track Width"
-msgstr "Changer la largeur de la voie"
-
-#: ../bin/cselect.c:640
-msgid "Change Line Type"
-msgstr "Changer le type de ligne"
-
-#: ../bin/cselect.c:669
-msgid "Delete Tracks"
-msgstr "Supprimer des voies"
-
-#: ../bin/cselect.c:745
-msgid "Hide Tracks (Tunnel)"
-msgstr "Masquer les voies (tunnel)"
-
-#: ../bin/cselect.c:763
-msgid "Bridge Tracks "
-msgstr "Raccorder les voies "
-
-#: ../bin/cselect.c:780
-msgid "Ties Tracks "
-msgstr "Voies groupées "
-
-#: ../bin/cselect.c:817 ../bin/misc.c:2348
-msgid "Move To Current Layer"
-msgstr "Déplacer vers le calque actuel"
-
-#: ../bin/cselect.c:857 ../bin/misc.c:2498
-msgid "Clear Elevations"
-msgstr "Effacer les élévations"
-
-#: ../bin/cselect.c:901
-msgid "Add Elevations"
-msgstr "Ajouter des élévations"
-
-#: ../bin/cselect.c:916
-msgid "Refresh Compound"
-msgstr "Mettre à jour la compilation"
-
-#: ../bin/cselect.c:948 ../bin/dcar.c:4367 ../bin/dcar.c:4372
-#: ../bin/dcustmgm.c:60 ../bin/layout.c:463
-msgid "Scale"
-msgstr "Échelle"
-
-#: ../bin/cselect.c:948 ../bin/cselect.c:973
-msgid "Ratio"
-msgstr "Rapport"
-
-#: ../bin/cselect.c:957
-msgid "Do not resize track"
-msgstr "Ne pas redimensionner la voie"
-
-#: ../bin/cselect.c:961
-msgid "Rescale by:"
-msgstr "Changer d'échelle par :"
-
-#: ../bin/cselect.c:963
-msgid "From:"
-msgstr "De :"
-
-#: ../bin/cselect.c:967
-msgid "To: "
-msgstr "À : "
-
-#: ../bin/cselect.c:1034
-msgid "Rescale Tracks"
-msgstr "Changer d'échelle les voies"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:357
-#: ../bin/cselect.c:1164 ../../../../build/work/app/i18n/custmsg.h:1237
-msgid "Rescale"
-msgstr "Changer d'échelle"
-
-#: ../bin/cselect.c:1465
-msgid "Cornu too tight - it was deleted"
-msgstr "Cornu trop serrée - elle a été supprimée"
-
-#: ../bin/cselect.c:1520
-msgid "Move To Join"
-msgstr "Déplacer pour Raccorder"
-
-#: ../bin/cselect.c:1714
-msgid "Drag to move selected tracks - Shift+Ctrl+Arrow micro-steps the move"
-msgstr ""
-"Faites glisser pour déplacer la voie sélectionnée - utilisez Maj+Ctrl+4 "
-"flèches pour déplacer en pas fins"
-
-#: ../bin/cselect.c:1735 ../bin/cselect.c:1848 ../bin/cselect.c:2205
-msgid "Move Tracks"
-msgstr "Déplacer des voies"
-
-#: ../bin/cselect.c:1893
-msgid "Align: Click on a selected object to be aligned"
-msgstr "Aligner : cliquez sur un objet sélectionné à aligner"
-
-#: ../bin/cselect.c:1931
-msgid "Drag to rotate selected tracks, Shift+RightClick for QuickRotate Menu"
-msgstr ""
-"Faites glisser pour faire pivoter les voies sélectionnées, Maj+Clic droit "
-"pour ouvrir le menu Rotation rapide"
-
-#: ../bin/cselect.c:1947 ../bin/cselect.c:2218
-msgid "Rotate Tracks"
-msgstr "Faire pivoter les voies"
-
-#: ../bin/cselect.c:1960
-msgid "Center of Rotation snapped to Turntable center"
-msgstr "Le centre de rotation est aligné sur le centre du pont tournant"
-
-#: ../bin/cselect.c:2002 ../bin/cselect.c:2033
-#, c-format
-msgid "Angle %0.3f"
-msgstr "Angle %0.3f"
-
-#: ../bin/cselect.c:2089
-#, c-format
-msgid "Angle %0.3f #%ld"
-msgstr "Angle %0.3f #%ld"
-
-#: ../bin/cselect.c:2091
-#, c-format
-msgid "Angle %0.3f %s"
-msgstr "Angle %0.3f %s"
-
-#: ../bin/cselect.c:2096
-msgid "Origin Set. Drag away to set start angle"
-msgstr "Réglage d'origine. Faites glisser pour définir l'angle de départ"
-
-#: ../bin/cselect.c:2110
-msgid "Align: Click on the 2nd unselected object"
-msgstr "Aligner : Cliquez sur le 2ème objet non sélectionné"
-
-#: ../bin/cselect.c:2230
-msgid "Toggle Label"
-msgstr "Modifie l'étiquette"
-
-#: ../bin/cselect.c:2349 ../bin/cselect.c:2388
-msgid "Select and drag a description"
-msgstr "Sélectionnez et faites glisser une description"
-
-#: ../bin/cselect.c:2374
-msgid "Elevation description"
-msgstr "Description de l'élévation"
-
-#: ../bin/cselect.c:2377
-msgid "Hidden description - 's' to Show"
-msgstr "Description cachée - 's' à afficher"
-
-#: ../bin/cselect.c:2381
-msgid "Shown description - 'h' to Hide"
-msgstr "Description visible - Cacher avec 'h'"
-
-#: ../bin/cselect.c:2402
-msgid "Hidden Label - Drag to reveal"
-msgstr "Étiquette cachée - Faites glisser pour afficher"
-
-#: ../bin/cselect.c:2404
-msgid "Drag label"
-msgstr "Faites glisser l'étiquette pour la positionner"
-
-#: ../bin/cselect.c:2406
-msgid "Move Label"
-msgstr "Déplacer l'étiquette"
-
-#: ../bin/cselect.c:2443
-msgid "To Hide, use Context Menu"
-msgstr "Pour masquer, utilisez le menu contextuel"
-
-#: ../bin/cselect.c:2459 ../bin/cselect.c:3339
-msgid "Show/Hide Description"
-msgstr "Montrer/cacher la description"
-
-#: ../bin/cselect.c:2538
-msgid "Drag to mark mirror line"
-msgstr "Faites glisser pour créer la voie d'axe du miroir"
-
-#: ../bin/cselect.c:2549
-#, c-format
-msgid "Angle %0.2f"
-msgstr "Angle %0.2f"
-
-#: ../bin/cselect.c:2552
-msgid "Flip Tracks"
-msgstr "Voies en miroir"
-
-#: ../bin/cselect.c:2899
-msgid "Select track"
-msgstr "Sélectionner une voie"
-
-#: ../bin/cselect.c:2927
-msgid "Track is in Frozen Layer"
-msgstr "La voie est sur une couche bloquée"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:323
-#: ../bin/cselect.c:3279 ../bin/dcar.c:1673 ../bin/doption.c:235
-#: ../../../../build/work/app/i18n/custmsg.h:1169
-msgid "Select"
-msgstr "Sélectionner"
-
-#: ../bin/cselect.c:3298 ../bin/cselect.c:3318 ../bin/misc.c:2192
-msgid "Undo"
-msgstr "Annuler"
-
-#: ../bin/cselect.c:3299 ../bin/cselect.c:3319 ../bin/misc.c:2194
-msgid "Redo"
-msgstr "Refaire"
-
-#: ../bin/cselect.c:3306 ../bin/draw.c:3112
-msgid "Zoom to extents - 'e'"
-msgstr "Zoom sur les extensions - 'e'"
-
-#: ../bin/cselect.c:3307 ../bin/draw.c:3123 ../bin/misc.c:2375
-msgid "&Zoom"
-msgstr "&Zoom"
-
-#: ../bin/cselect.c:3310 ../bin/draw.c:3122
-#, fuzzy
-msgid "Pan to Origin - 'o'/'0'"
-msgstr "Pan à l'origine - 'o'"
-
-#: ../bin/cselect.c:3311 ../bin/cselect.c:3323
-msgid "Pan Center Here - 'c'"
-msgstr "Centre du Panoramique ici - 'c'"
-
-#: ../bin/cselect.c:3314 ../bin/misc.c:2231 ../bin/misc.c:2354
-msgid "Select Current Layer"
-msgstr "Sélectionner le calque actuel"
-
-#: ../bin/cselect.c:3325 ../bin/misc.c:2233
-msgid "Deselect All"
-msgstr "Tout désélectionner"
-
-#: ../bin/cselect.c:3327
-msgid "Properties -'?'"
-msgstr "Propriétés -'?'"
-
-#: ../bin/cselect.c:3328
-msgid "Modify/Activate Track"
-msgstr "Modifier/Activer la voie"
-
-#: ../bin/cselect.c:3330 ../bin/misc.c:2219
-msgid "Cut"
-msgstr "Couper"
-
-#: ../bin/cselect.c:3331 ../bin/misc.c:2221
-msgid "Copy"
-msgstr "Copier"
-
-#: ../bin/cselect.c:3332 ../bin/fileio.c:1620 ../bin/misc.c:2223
-msgid "Paste"
-msgstr "Coller"
-
-#: ../bin/cselect.c:3333 ../bin/misc.c:2225
-#, fuzzy
-msgid "Clone"
-msgstr "Fermer"
-
-#: ../bin/cselect.c:3335
-msgid "Rotate..."
-msgstr "Rotation ..."
-
-#: ../bin/cselect.c:3337
-msgid "Align"
-msgstr "Aligner"
-
-#: ../bin/cselect.c:3341
-msgid "Hide/NoHide"
-msgstr "Masqué/Affiché"
-
-#: ../bin/cselect.c:3342
-msgid "Bridge/NoBridge"
-msgstr "Raccordé/Non raccordé"
-
-#: ../bin/cselect.c:3343
-msgid "NoTies/Ties"
-msgstr "Non connectés/connectés"
-
-#: ../bin/cselect.c:3344
-msgid "Thickness..."
-msgstr "Épaisseur..."
-
-#: ../bin/cselect.c:3345 ../bin/misc.c:2366
-msgid "Thin Tracks"
-msgstr "Voies fines"
-
-#: ../bin/cselect.c:3346 ../bin/misc.c:2367
-msgid "Medium Tracks"
-msgstr "Voies moyennes"
-
-#: ../bin/cselect.c:3347 ../bin/misc.c:2368
-msgid "Thick Tracks"
-msgstr "Voies épaisses"
-
-#: ../bin/cselect.c:3352
-msgid "Dash-Dotted Line"
-msgstr "Ligne tiret-pointillé"
-
-#: ../bin/cselect.c:3353
-msgid "Dash-Dot-Dotted Line"
-msgstr "Ligne en pointillé"
-
-#: ../bin/cselect.c:3355
-msgid "Move To Front"
-msgstr "Déplacer vers l'avant"
-
-#: ../bin/cselect.c:3356
-msgid "Move To Back"
-msgstr "Déplacer vers l'arrière"
-
-#: ../bin/cselect.c:3358
-msgid "Group"
-msgstr "Grouper"
-
-#: ../bin/cselect.c:3359
-msgid "UnGroup"
-msgstr "Dissocier"
-
-#: ../bin/cselect.c:3394
-msgid "Move Description"
-msgstr "Déplacer l'étiquette"
-
-#: ../bin/cselect.c:3401 ../bin/misc.c:1935 ../bin/misc.c:2236
-msgid "Move"
-msgstr "Déplacer"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:368
-#: ../bin/cselect.c:3403 ../bin/misc.c:1926 ../bin/misc.c:2238
-#: ../../../../build/work/app/i18n/custmsg.h:1259
-msgid "Rotate"
-msgstr "Rotation"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:369
-#: ../bin/cselect.c:3405 ../bin/dcar.c:2217
-#: ../../../../build/work/app/i18n/custmsg.h:1261
-msgid "Flip"
-msgstr "Miroir"
-
-#: ../bin/csensor.c:216
-msgid "Change Sensor"
-msgstr "Changer de capteur"
-
-#: ../bin/csensor.c:262 ../bin/csensor.c:596
-msgid "Sensor"
-msgstr "Capteur"
-
-#: ../bin/csensor.c:391 ../bin/csignal.c:511
-msgid "Orgin X"
-msgstr "Origine X"
-
-#: ../bin/csensor.c:407
-msgid "Create Sensor"
-msgstr "Créer un capteur"
-
-#: ../bin/csensor.c:410
-msgid "Modify Sensor"
-msgstr "Modifier le capteur"
-
-#: ../bin/csensor.c:443
-msgid "Edit sensor"
-msgstr "Editer un capteur"
-
-#: ../bin/csensor.c:481
-msgid "Place sensor"
-msgstr "Mettre un capteur"
-
-#: ../bin/csignal.c:241
-msgid "Number Of Heads"
-msgstr "Nombre De têtes"
-
-#: ../bin/csignal.c:280
-msgid "Change Signal"
-msgstr "Changer le signal"
-
-#: ../bin/csignal.c:314
-#, fuzzy, c-format
-msgid "(%d [%s]): Layer=%u, %d heads at %0.3f,%0.3f A%0.3f"
-msgstr "(%d [%s]): Calque=%d, %d entêtes à %0.3f,%0.3f A%0.3f"
-
-#: ../bin/csignal.c:325 ../bin/csignal.c:914
-msgid "Signal"
-msgstr "Signal"
-
-#: ../bin/csignal.c:517
-msgid "Number of Heads"
-msgstr "Nombre de têtes"
-
-#: ../bin/csignal.c:522
-msgid "Edit Aspect"
-msgstr "Modifier un état"
-
-#: ../bin/csignal.c:524
-msgid "Add Aspect"
-msgstr "Ajouter un état"
-
-#: ../bin/csignal.c:526
-msgid "Delete Aspect"
-msgstr "Effacer un état"
-
-#: ../bin/csignal.c:539
-msgid "Aspect Index"
-msgstr "Numéro d'affichage du signal"
-
-#: ../bin/csignal.c:554
-msgid "Create Signal"
-msgstr "Créer un signal"
-
-#: ../bin/csignal.c:558
-msgid "Modify Signal"
-msgstr "Modifier le signal"
-
-#: ../bin/csignal.c:665
-msgid "Edit aspect"
-msgstr "Modifier l'état"
-
-#: ../bin/csignal.c:712
-#, c-format
-msgid "Are you sure you want to delete the %d aspect(s)"
-msgstr "Êtes-vous sûr de vouloir supprimer %d état(s)"
-
-#: ../bin/csignal.c:733
-msgid "Edit signal"
-msgstr "Editer un signal"
-
-#: ../bin/csignal.c:795
-msgid "Place base of signal"
-msgstr "Réglez la base du signal"
-
-#: ../bin/csignal.c:802
-msgid "Drag to orient signal"
-msgstr "Faites glisser pour orienter le signal"
-
-#: ../bin/csnap.c:516
-msgid "Horz"
-msgstr "Horz"
-
-#: ../bin/csnap.c:518
-msgid "Spacing"
-msgstr "Espacement"
-
-#: ../bin/csnap.c:520
-msgid "Divisions"
-msgstr "Divisions"
-
-#: ../bin/csnap.c:523
-msgid "Enable"
-msgstr "Activer"
-
-#: ../bin/csnap.c:524
-msgid "Vert"
-msgstr "Vertical"
-
-#: ../bin/csnap.c:533 ../bin/dease.c:76
-msgid "X"
-msgstr "X"
-
-#: ../bin/csnap.c:537
-msgid "A"
-msgstr "A"
-
-#: ../bin/csnap.c:540
-msgid "Show"
-msgstr "Afficher"
-
-#: ../bin/csnap.c:790
-msgid "Change Grid..."
-msgstr "Modifier la grille ..."
-
-#: ../bin/csplit.c:44
-msgid "Set Block Gaps"
-msgstr "Définir des points de séparation"
-
-#: ../bin/csplit.c:105
-msgid "Select track to split"
-msgstr "Sélectionnez la voie à scinder"
-
-#: ../bin/csplit.c:125
-msgid "Can't Split that Track"
-msgstr "Impossible de scinder cette voie"
-
-#: ../bin/csplit.c:133 ../bin/csplit.c:221
-msgid "Split Track"
-msgstr "Segmentation de Voie"
-
-#: ../bin/csplit.c:149 ../bin/dbench.c:69 ../bin/dbench.c:80
-msgid "Left"
-msgstr "Gauche"
-
-#: ../bin/csplit.c:150 ../bin/dbench.c:70 ../bin/dbench.c:79
-msgid "Right"
-msgstr "Droit"
-
-#: ../bin/csplit.c:151 ../bin/csplit.c:156
-msgid "Both"
-msgstr "Les deux"
-
-#: ../bin/csplit.c:154
-msgid "Top"
-msgstr "Haut"
-
-#: ../bin/csplit.c:155
-msgid "Bottom"
-msgstr "Bas"
-
-#: ../bin/cstraigh.c:77
-msgid "Place 1st endpoint of straight track, snap to unconnected endpoint"
-msgstr ""
-"Placer le 1er point de fin de la voie droite +Maj -> accrocher au point de "
-"fin non connecté"
-
-#: ../bin/cstraigh.c:104
-msgid "Drag to place 2nd end point"
-msgstr "Faites glisser pour placer la 2ème extrémité"
-
-#: ../bin/cstraigh.c:140
-#, c-format
-msgid "Straight Track Length=%s Angle=%0.3f"
-msgstr "Longueur de voie droite = %s Angle = %0.3f"
-
-#: ../bin/cstraigh.c:191 ../bin/tstraigh.c:267
-msgid "Straight Track"
-msgstr "Voie droite"
-
-#: ../bin/cstruct.c:71 ../bin/cturnout.c:84 ../bin/doption.c:131
-#: ../bin/doption.c:240
-msgid "Hide"
-msgstr "Cacher"
-
-#: ../bin/cstruct.c:449 ../bin/cstruct.c:476
-msgid "Pier Number"
-msgstr "Travaux de voie d'évitement"
-
-#: ../bin/cstruct.c:561
-#, c-format
-msgid "Scale %d:1"
-msgstr "Echelle %d :1"
-
-#: ../bin/cstruct.c:563
-#, c-format
-msgid "Width %s"
-msgstr "Largeur %s"
-
-#: ../bin/cstruct.c:565
-#, c-format
-msgid "Height %s"
-msgstr "Hauteur %s"
-
-#: ../bin/cstruct.c:706
-msgid "Place Structure"
-msgstr "Mettre un bâtiment"
-
-#: ../bin/cstruct.c:798 ../bin/cstruct.c:872 ../bin/cstruct.c:1103
-#: ../bin/cturnout.c:2753 ../bin/cturnout.c:2808 ../bin/cturnout.c:2933
-#: ../bin/cturnout.c:3072
-msgid ""
-"Left-Drag to place, Ctrl+Left-Drag or Right-Drag to Rotate, Space or Enter "
-"to accept, Esc to Cancel"
-msgstr ""
-"Faites glisser vers la gauche pour déplacer, Ctrl +glisser à gauche ou "
-"glisser à droite pour faire pivoter, espace ou entrée pour valider, ESC pour "
-"annuler"
-
-#: ../bin/cstruct.c:820
-msgid "Drag to place"
-msgstr "Faites glisser pour positionner"
-
-#: ../bin/cstruct.c:842
-msgid "Drag to rotate"
-msgstr "Faites glisser pour faire pivoter"
-
-#: ../bin/cstruct.c:862
-#, c-format
-msgid "Angle = %0.3f"
-msgstr "Angle = %0.3f"
-
-#: ../bin/cstruct.c:952
-msgid "Select Structure and then drag to place"
-msgstr "Sélectionnez le bâtiment et déplacez-vous vers la position"
-
-#: ../bin/cstruct.c:990
-msgid ""
-"Left drag to move, right drag to rotate, or press Return or click Ok to "
-"finalize"
-msgstr ""
-"Faites glisser avec le bouton gauche de la souris pour vous déplacer, vers "
-"la droite pour faire pivoter ou sur Entrée ou sur OK pour terminer"
-
-#: ../bin/cstruct.c:1073 ../bin/cturnout.c:3039
-#, c-format
-msgid "Place %s and draw into position"
-msgstr "Placer %s et mettre en position"
-
-#: ../bin/cswitchmotor.c:96 ../bin/cswitchmotor.c:115
-#: ../bin/cswitchmotor.c:227
-msgid "Point Sense"
-msgstr "Sens des aiguilles"
-
-#: ../bin/cswitchmotor.c:116
-msgid "Turnout Number"
-msgstr "Numéro d'angle d'aiguillage"
-
-#: ../bin/cswitchmotor.c:292
-msgid "Change Switch Motor"
-msgstr "Changer de moteur d'aiguillage"
-
-#: ../bin/cswitchmotor.c:359
-msgid "Switch motor"
-msgstr "Moteur d'aiguillage"
-
-#: ../bin/cswitchmotor.c:475
-#, c-format
-msgid "ResolveSwitchmotor: Turnout T%d: T%d doesn't exist"
-msgstr "Revoir le moteur d'aiguillage : l'aiguillage T%d : T%d n'existe pas"
-
-#: ../bin/cswitchmotor.c:544 ../bin/cswitchmotor.c:714
-msgid "Switch motor must have a name!"
-msgstr "Le moteur d'aiguillage doit avoir un nom !"
-
-#: ../bin/cswitchmotor.c:548
-msgid "Create Switch Motor"
-msgstr "Créer un moteur d'aiguillage"
-
-#: ../bin/cswitchmotor.c:580
-msgid "Create switch motor"
-msgstr "Créer un moteur d'aiguillage"
-
-#: ../bin/cswitchmotor.c:594 ../bin/cswitchmotor.c:625
-#: ../bin/cswitchmotor.c:657
-msgid "Select a turnout"
-msgstr "Sélectionner un aiguillage"
-
-#: ../bin/cswitchmotor.c:601
-msgid "Not a turnout!"
-msgstr "Pas d'aiguillage !"
-
-#: ../bin/cswitchmotor.c:634 ../bin/cswitchmotor.c:665
-msgid "Not a switch motor!"
-msgstr "Pas de moteur d'aiguillage !"
-
-#: ../bin/cswitchmotor.c:670
-#, c-format
-msgid "Really delete switch motor %s?"
-msgstr "Voulez-vous vraiment supprimer le moteur d'aiguillage %s ?"
-
-#: ../bin/cswitchmotor.c:671
-msgid "Delete Switch Motor"
-msgstr "Supprimer le Moteur d'aiguillage"
-
-#: ../bin/cswitchmotor.c:718
-msgid "Modify Switch Motor"
-msgstr "Modifier le moteur d'aiguillage"
-
-#: ../bin/cswitchmotor.c:744
-msgid "Edit switch motor"
-msgstr "Editer le moteur d'aiguillage"
-
-#: ../bin/cswitchmotor.c:750
-#, c-format
-msgid "Edit switch motor %d"
-msgstr "Editer le moteur d'aiguillage %d"
-
-#: ../bin/cswitchmotor.c:858
-msgid "Switch Motor"
-msgstr "Moteur d'aiguillage"
-
-#: ../bin/cswitchmotor.c:871
-#, c-format
-msgid "Deleting Switch Motor %s"
-msgstr "Suppression du moteur d'aiguillage %s"
-
-#: ../bin/ctext.c:195 ../bin/ctext.c:234
-msgid "Create Text"
-msgstr "Créer un texte"
-
-#: ../bin/ctext.c:264
-msgid "Fonts..."
-msgstr "Polices ..."
-
-#: ../bin/ctodesgn.c:139
-msgid "Frog #"
-msgstr "N° #"
-
-#: ../bin/ctodesgn.c:139
-msgid "Degrees"
-msgstr "Degrés"
-
-#: ../bin/ctodesgn.c:140
-msgid "Dual Path"
-msgstr "Double voie"
-
-#: ../bin/ctodesgn.c:140
-msgid "Quad Path"
-msgstr "Quadruple voie"
-
-#: ../bin/ctodesgn.c:175 ../bin/ctodesgn.c:176 ../bin/ctodesgn.c:177
-#: ../bin/ctodesgn.c:178 ../bin/ctodesgn.c:238 ../bin/ctodesgn.c:261
-#: ../bin/ctodesgn.c:263 ../bin/ctodesgn.c:298 ../bin/ctodesgn.c:301
-#: ../bin/ctodesgn.c:327 ../bin/ctodesgn.c:328 ../bin/ctodesgn.c:364
-#: ../bin/ctodesgn.c:367 ../bin/ctodesgn.c:393 ../bin/ctodesgn.c:395
-#: ../bin/ctodesgn.c:434 ../bin/ctodesgn.c:438 ../bin/ctodesgn.c:441
-#: ../bin/ctodesgn.c:653
-msgid "Offset"
-msgstr "Écart"
-
-#: ../bin/ctodesgn.c:196 ../bin/ctodesgn.c:2911 ../bin/ctodesgn.c:2912
-msgid "Left Description"
-msgstr "Description gauche"
-
-#: ../bin/ctodesgn.c:197 ../bin/ctodesgn.c:200
-msgid " #"
-msgstr " #"
-
-#: ../bin/ctodesgn.c:199 ../bin/ctodesgn.c:2910
-msgid "Right Description"
-msgstr "Description droite"
-
-#: ../bin/ctodesgn.c:201
-msgid "Roadbed Width"
-msgstr "Largeur de balast"
-
-#: ../bin/ctodesgn.c:205 ../bin/denum.c:56
-msgid "Print Setup"
-msgstr "Réglages Imp"
-
-#: ../bin/ctodesgn.c:236
-msgid "Diverging Length"
-msgstr "Longueur voie déviée"
-
-#: ../bin/ctodesgn.c:237
-msgid "Diverging Angle"
-msgstr "Angle voie déviée"
-
-#: ../bin/ctodesgn.c:238
-msgid "Diverging Offset"
-msgstr "Décalage voie déviée"
-
-#: ../bin/ctodesgn.c:239
-msgid "Overall Length"
-msgstr "Longueur totale"
-
-#: ../bin/ctodesgn.c:249
-msgid "Regular Turnout"
-msgstr "Aiguillage droit"
-
-#: ../bin/ctodesgn.c:259 ../bin/ctodesgn.c:296
-msgid "Inner Length"
-msgstr "Longueur intérieure"
-
-#: ../bin/ctodesgn.c:260 ../bin/ctodesgn.c:297
-msgid "Inner Angle"
-msgstr "Angle Intérieur"
-
-#: ../bin/ctodesgn.c:261 ../bin/ctodesgn.c:298
-msgid "Inner Offset"
-msgstr "Décalage interne"
-
-#: ../bin/ctodesgn.c:262 ../bin/ctodesgn.c:300
-msgid "Outer Angle"
-msgstr "Angle extérieur"
-
-#: ../bin/ctodesgn.c:263 ../bin/ctodesgn.c:301
-msgid "Outer Offset"
-msgstr "Décalage extérieur"
-
-#: ../bin/ctodesgn.c:264 ../bin/ctodesgn.c:303
-msgid "Outer Length"
-msgstr "Longueur extérieure"
-
-#: ../bin/ctodesgn.c:286
-msgid "Curved Turnout"
-msgstr "Aiguillage courbe"
-
-#: ../bin/ctodesgn.c:299
-msgid "Inner Radius"
-msgstr "Rayon intérieur"
-
-#: ../bin/ctodesgn.c:302
-msgid "Outer Radius"
-msgstr "Rayon extérieur"
-
-#: ../bin/ctodesgn.c:304 ../bin/ctodesgn.c:371 ../bin/ctodesgn.c:446
-msgid "Toe Radius"
-msgstr "Rayon initial"
-
-#: ../bin/ctodesgn.c:305 ../bin/ctodesgn.c:370
-msgid "Toe Length"
-msgstr "Longueur initiale"
-
-#: ../bin/ctodesgn.c:315
-msgid "Cornu Curved Turnout"
-msgstr "Aiguillage courbe Cornu"
-
-#: ../bin/ctodesgn.c:325 ../bin/ctodesgn.c:362 ../bin/ctodesgn.c:391
-#: ../bin/ctodesgn.c:432
-msgid "Left Length"
-msgstr "Longueur à gauche"
-
-#: ../bin/ctodesgn.c:326 ../bin/ctodesgn.c:363 ../bin/ctodesgn.c:392
-#: ../bin/ctodesgn.c:433
-msgid "Left Angle"
-msgstr "Angle gauche"
-
-#: ../bin/ctodesgn.c:327 ../bin/ctodesgn.c:364 ../bin/ctodesgn.c:393
-#: ../bin/ctodesgn.c:434
-msgid "Left Offset"
-msgstr "Décalage gauche"
-
-#: ../bin/ctodesgn.c:328 ../bin/ctodesgn.c:367 ../bin/ctodesgn.c:395
-#: ../bin/ctodesgn.c:441
-msgid "Right Offset"
-msgstr "Bon offset"
-
-#: ../bin/ctodesgn.c:329 ../bin/ctodesgn.c:368 ../bin/ctodesgn.c:396
-#: ../bin/ctodesgn.c:442
-msgid "Right Angle"
-msgstr "Angle droit"
-
-#: ../bin/ctodesgn.c:330 ../bin/ctodesgn.c:369 ../bin/ctodesgn.c:397
-#: ../bin/ctodesgn.c:443
-msgid "Right Length"
-msgstr "Bonne longueur"
-
-#: ../bin/ctodesgn.c:352
-msgid "Wye Turnout"
-msgstr "Aiguillage symétrique"
-
-#: ../bin/ctodesgn.c:365 ../bin/ctodesgn.c:435
-msgid "Left Radius"
-msgstr "Rayon gauche"
-
-#: ../bin/ctodesgn.c:366 ../bin/ctodesgn.c:440
-msgid "Right Radius"
-msgstr "Rayon droit"
-
-#: ../bin/ctodesgn.c:381
-msgid "Cornu Wye Turnout"
-msgstr "Aiguillage symétrique Cornu"
-
-#: ../bin/ctodesgn.c:422
-msgid "3-way Turnout"
-msgstr "Aiguillage 3-voies"
-
-#: ../bin/ctodesgn.c:436
-msgid "Center Length"
-msgstr "Longueur intérieure"
-
-#: ../bin/ctodesgn.c:437
-msgid "Center Angle"
-msgstr "Angle Intérieur"
-
-#: ../bin/ctodesgn.c:438 ../bin/dcar.c:2238
-msgid "Center Offset"
-msgstr "Décalage interne"
-
-#: ../bin/ctodesgn.c:439
-msgid "Center Radius"
-msgstr "Rayon du cercle"
-
-#: ../bin/ctodesgn.c:444
-msgid "Toe Length Left"
-msgstr "Longueur initiale gauche"
-
-#: ../bin/ctodesgn.c:445
-msgid "Toe Length Right"
-msgstr "Longueur initiale droite"
-
-#: ../bin/ctodesgn.c:457
-msgid "Cornu 3-way Turnout"
-msgstr "Aiguillage 3-voies Cornu"
-
-#: ../bin/ctodesgn.c:477
-msgid "Crossing"
-msgstr "Croisement"
-
-#: ../bin/ctodesgn.c:498
-msgid "Single Slipswitch"
-msgstr "Traversée jonction simple"
-
-#: ../bin/ctodesgn.c:527
-msgid "Double Slipswitch"
-msgstr "Traversée jonction double"
-
-#: ../bin/ctodesgn.c:547
-msgid "Right Crossover"
-msgstr "Traversée droite"
-
-#: ../bin/ctodesgn.c:567
-msgid "Left Crossover"
-msgstr "Traversée gauche"
-
-#: ../bin/ctodesgn.c:587
-msgid "Double Crossover"
-msgstr "Traversée double"
-
-#: ../bin/ctodesgn.c:605
-msgid "Straight Section"
-msgstr "Section droite"
-
-#: ../bin/ctodesgn.c:616
-msgid "Angle (Degrees)"
-msgstr "Angle (Degrés)"
-
-#: ../bin/ctodesgn.c:624
-msgid "Curved Section"
-msgstr "Section courbe"
-
-#: ../bin/ctodesgn.c:643
-msgid "Bumper Section"
-msgstr "Section Butoir"
-
-#: ../bin/ctodesgn.c:653 ../bin/denum.c:123 ../bin/denum.c:186
-#: ../bin/denum.c:218 ../bin/denum.c:219 ../bin/dlayer.c:497
-msgid "Count"
-msgstr "Qté"
-
-#: ../bin/ctodesgn.c:654
-msgid "Radius1"
-msgstr "Rayon1"
-
-#: ../bin/ctodesgn.c:655
-msgid "Radius2"
-msgstr "Rayon2"
-
-#: ../bin/ctodesgn.c:735
-msgid "Turntable Section"
-msgstr "Section de pont tournant"
-
-#: ../bin/ctodesgn.c:2538
-#, c-format
-msgid "%s Designer"
-msgstr "%s Designer"
-
-#: ../bin/ctodesgn.c:2542
-#, c-format
-msgid "%s %d x %d (of %d x %d)"
-msgstr "%s %d x %d (de %d x %d)"
-
-#: ../bin/ctodesgn.c:2542
-msgid "Page"
-msgstr "Page"
-
-#: ../bin/ctodesgn.c:2550
-msgid "Frog Number"
-msgstr "N° de coeur"
-
-#: ../bin/ctodesgn.c:2864
-msgid "Turnout Designer"
-msgstr "Conception d'aiguillage"
-
-#: ../bin/ctodesgn.c:2874
-#, c-format
-msgid "%s %s Designer"
-msgstr "%s concepteur de %s"
-
-#: ../bin/ctrain.c:182 ../bin/dcar.c:2250 ../bin/dcar.c:4367
-#: ../bin/dcar.c:4372
-msgid "Index"
-msgstr "Index"
-
-#: ../bin/ctrain.c:188 ../bin/dcar.c:4368
-msgid "Rep Marks"
-msgstr "Numéros de voiture"
-
-#: ../bin/ctrain.c:272
-msgid "Car"
-msgstr "Véhicule"
-
-#: ../bin/ctrain.c:656
-msgid "Follow"
-msgstr "Suivre"
-
-#: ../bin/ctrain.c:657
-msgid "Auto Reverse"
-msgstr "Inversion automatique"
-
-#: ../bin/ctrain.c:676 ../bin/dcar.c:5257
-msgid "Find"
-msgstr "Chercher"
-
-#: ../bin/ctrain.c:682 ../bin/ctrain.c:941 ../bin/ctrain.c:1248
-#: ../wlib/gtklib/ixhelp.c:239
-msgid "Forward"
-msgstr "Avant"
-
-#: ../bin/ctrain.c:684 ../bin/ctrain.c:3123 ../bin/dcar.c:4706
-#: ../bin/dcar.c:4716 ../bin/dcar.c:4836 ../bin/fileio.c:241 ../bin/macro.c:92
-#: ../bin/macro.c:898
-msgid "Stop"
-msgstr "Stop"
-
-#: ../bin/ctrain.c:882 ../bin/ctrain.c:911
-msgid "Crashed"
-msgstr "Dérailler"
-
-#: ../bin/ctrain.c:884
-msgid "Not on Track"
-msgstr "Pas sur la voie"
-
-#: ../bin/ctrain.c:888
-msgid "Trains Paused"
-msgstr "Trains en pause"
-
-#: ../bin/ctrain.c:890
-msgid "Running"
-msgstr "Marche"
-
-#: ../bin/ctrain.c:895
-msgid "End of Track"
-msgstr "Fin de voie"
-
-#: ../bin/ctrain.c:899
-msgid "Open Turnout"
-msgstr "Aiguillage ouvert"
-
-#: ../bin/ctrain.c:903
-msgid "Manual Stop"
-msgstr "Arrêt manuel"
-
-#: ../bin/ctrain.c:907
-msgid "No Room"
-msgstr "Pas d'espace de travail"
-
-#: ../bin/ctrain.c:915
-msgid "Unknown Status"
-msgstr "Statut inconnu"
-
-#: ../bin/ctrain.c:925
-msgid "No trains"
-msgstr "Pas de trains"
-
-#: ../bin/ctrain.c:1299
-msgid "Train Control XXX"
-msgstr "Contrôle du train XXX"
-
-#: ../bin/ctrain.c:1300
-#, c-format
-msgid "Train Control %d"
-msgstr "Contrôle du train %d"
-
-#: ../bin/ctrain.c:1302
-msgid "Train Control"
-msgstr "Panneau de commande"
-
-#: ../bin/ctrain.c:3096
-msgid "Train"
-msgstr "Train"
-
-#: ../bin/ctrain.c:3109
-msgid "Uncouple"
-msgstr "Découpler"
-
-#: ../bin/ctrain.c:3111
-msgid "Flip Car"
-msgstr "Inverser un véhicule"
-
-#: ../bin/ctrain.c:3113
-#, fuzzy
-msgid "Clearance Lines On"
-msgstr "Créer des lignes"
-
-#: ../bin/ctrain.c:3115
-#, fuzzy
-msgid "Clearance Lines Off"
-msgstr "Créer des lignes"
-
-#: ../bin/ctrain.c:3117
-msgid "Flip Train"
-msgstr "Inverser le train"
-
-#: ../bin/ctrain.c:3119
-msgid "MU Master"
-msgstr "MU Master"
-
-#: ../bin/ctrain.c:3122
-msgid "Change Direction"
-msgstr "Changer de direction"
-
-#: ../bin/ctrain.c:3126
-msgid "Remove Car"
-msgstr "Supprimer un véhicule"
-
-#: ../bin/ctrain.c:3129
-msgid "Remove Train"
-msgstr "Supprimer le train"
-
-#: ../bin/cturnout.c:95 ../bin/dcar.c:2272 ../bin/dcar.c:2276
-msgid "New"
-msgstr "Nouveau"
-
-#: ../bin/cturnout.c:368
-#, c-format
-msgid "Turnout path[%d:%d] out of bounds: %d"
-msgstr "Aiguillage [%d:%d] hors limites : %d"
-
-#: ../bin/cturnout.c:379 ../bin/cturnout.c:389
-#, c-format
-msgid "Turnout path[%d] %d is not a valid track segment"
-msgstr "L'accès à l'aiguillage [%d] %d n'est pas un segment de voie valide"
-
-#: ../bin/cturnout.c:399 ../bin/cturnout.c:404
-#, c-format
-msgid "Turnout path[%d] %d is not a track segment"
-msgstr "L'aiguillage [%d] %d n'est pas un segment de voie"
-
-#: ../bin/cturnout.c:412
-#, c-format
-msgid "Turnout path[%d] %d-%d not connected: %0.3f P0(%f,%f) P1(%f,%f)"
-msgstr ""
-"Accès à l'aiguillage [%d] %d-%d non connecté : %0.3f P0(%f,%f) P1(%f,%f)"
-
-#: ../bin/cturnout.c:450
-msgid "Unknown special case"
-msgstr "Cas spécial inconnu"
-
-#: ../bin/cturnout.c:560
-msgid "Connect Adjustable Tracks"
-msgstr "Connecter les voies ajustables"
-
-#: ../bin/cturnout.c:1096
-msgid "splitTurnout: can't find segment"
-msgstr "aiguillage fractionné : impossible de trouver le segment"
-
-#: ../bin/cturnout.c:1522 ../bin/track.c:2259 ../bin/track.c:2365
-#: ../bin/tstraigh.c:554
-msgid "Drag to change track length"
-msgstr "Faites glisser pour changer la longueur de la voie"
-
-#: ../bin/cturnout.c:1533
-#, c-format
-msgid "Length=%s"
-msgstr "Longueur = %s"
-
-#: ../bin/cturnout.c:2344
-#, c-format
-msgid "%d connections, max distance %0.3f (%s)"
-msgstr "%d connections, distance max %0.3f (%s)"
-
-#: ../bin/cturnout.c:2349
-#, c-format
-msgid "0 connections (%s)"
-msgstr "0 connections (%s)"
-
-#: ../bin/cturnout.c:2389
-msgid "Place New Turnout"
-msgstr "Mettre un nouvel aiguillage"
-
-#: ../bin/cturnout.c:2798
-#, c-format
-msgid "Angle = %0.3f (%s)"
-msgstr "Angle = %0.3f (%s)"
-
-#: ../bin/cturnout.c:2888 ../bin/param.c:2618
-msgid "Close"
-msgstr "Fermer"
-
-#: ../bin/cturnout.c:2905
-msgid "Pick turnout and active End Point, then place on the layout"
-msgstr ""
-"Choisissez l'aiguillage avec son point de fin actif, puis placez-le sur le "
-"plan"
-
-#: ../bin/cturnout.c:3099
-msgid "Predefined Track"
-msgstr "Voie sélectionnée"
-
-#: ../bin/cturntbl.c:52 ../bin/cturntbl.c:251 ../bin/cturntbl.c:857
-#: ../bin/cturntbl.c:871
-msgid "Diameter"
-msgstr "Diamètre"
-
-#: ../bin/cturntbl.c:252
-msgid "# EndPt"
-msgstr "# Bout"
-
-#: ../bin/cturntbl.c:286
-#, c-format
-msgid "Turntable(%d): Layer=%d Center=[%s %s] Diameter=%s #EP=%d"
-msgstr ""
-"Pont tournant(%d) : Couche=%d Centre=[%s %s] Diamètre=%s #Nb de points=%d"
-
-#: ../bin/cturntbl.c:301
-msgid "Turntable"
-msgstr "Pont tournant"
-
-#: ../bin/cturntbl.c:565
-msgid "Drag to create stall track"
-msgstr "Faites glisser pour créer une voie de dépassement"
-
-#: ../bin/cturntbl.c:618
-msgid "Connect Turntable Tracks"
-msgstr "Connecter les voies du pont tournant"
-
-#: ../bin/cturntbl.c:885
-msgid "Create Turntable"
-msgstr "Créer un pont tournant"
-
-#: ../bin/cturntbl.c:916
-msgid "Custom Turntable"
-msgstr "Pont tournant prototype"
-
-#: ../bin/cundo.c:166
-msgid "Undo Trace"
-msgstr "Annuler la trace"
-
-#: ../bin/cundo.c:536
-#, c-format
-msgid "Undo: %s"
-msgstr "Annuler : %s"
-
-#: ../bin/cundo.c:539 ../../../../build/work/app/bin/bllnhlp.c:158
-msgid "Undo last command"
-msgstr "Annuler la dernière commande"
-
-#: ../bin/cundo.c:544
-#, c-format
-msgid "Redo: %s"
-msgstr "Refaire : %s"
-
-#: ../bin/cundo.c:547 ../../../../build/work/app/bin/bllnhlp.c:124
-msgid "Redo last undo"
-msgstr "Refaire la dernière annulation"
-
-#: ../bin/custom.c:167
-#, c-format
-msgid "%s Turnout Designer"
-msgstr "%s Conception d'aiguillage"
-
-#: ../bin/custom.c:172
-#, c-format
-msgid "%s Version %s"
-msgstr "%s Version %s"
-
-#: ../bin/custom.c:177
-#, c-format
-msgid ""
-"All %s Files (*.xtc,*.xtce)|*.xtc;*.xtce|%s Trackplan (*.xtc)|*.xtc|%s "
-"Extended Trackplan (*.xtce)|*.xtce|All Files (*)|*"
-msgstr ""
-"Tous les fichiers %s (*.xtc,*.xtce)|*.xtc;*.xtce|%s Trackplan (*.xtc)|*.xtc|%"
-"s Trackplan étendu (*.xtce)|*.xtce|Tous les fichiers (*)|*"
-
-#: ../bin/custom.c:188
-#, c-format
-msgid ""
-"%s Trackplan (*.xtc)|*.xtc|%s Extended Trackplan (*.xtce)|*.xtce|All Files "
-"(*)|*"
-msgstr ""
-"%s Trackplan (*.xtc)|*.xtc|%s Trackplan étendu (*.xtce)|*.xtce|Tous les "
-"fichiers (*)|*"
-
-#: ../bin/custom.c:197
-#, c-format
-msgid "All Files (*)|*"
-msgstr "Tous les fichiers (*)|*"
-
-#: ../bin/custom.c:202
-#, c-format
-msgid "%s Import Files (*.xti)|*.xti"
-msgstr "%s Fichiers (*.xti) importés|*.xti"
-
-#: ../bin/custom.c:207
-msgid "Data Exchange Format Files (*.dxf)|*.dxf"
-msgstr "Fichiers de format d'échange de données (*.dxf)|*.dxf"
-
-#: ../bin/custom.c:211
-#, c-format
-msgid "%s Record Files (*.xtr)|*.xtr"
-msgstr "%s Fichiers d'enregistrement (*.xtr)|*.xtr"
-
-#: ../bin/custom.c:216
-#, c-format
-msgid "%s Note Files (*.not)|*.not"
-msgstr "Pas de fichiers %s (*.not)|*.not"
-
-#: ../bin/custom.c:221
-#, c-format
-msgid "%s Log Files (*.log)|*.log"
-msgstr "Fichiers Log %s (*.log)|*.log"
-
-#: ../bin/custom.c:226
-#, c-format
-msgid "%s PartsList Files (*.txt)|*.txt"
-msgstr "Fichiers de nomenclature %s (*.txt|*.txt"
-
-#: ../bin/dbench.c:43
-msgid " L-Girder"
-msgstr " L-Support"
-
-#: ../bin/dbench.c:43
-msgid " T-Girder"
-msgstr " T-Support"
-
-#: ../bin/dbench.c:66
-msgid "On Edge"
-msgstr "Sur le bord"
-
-#: ../bin/dbench.c:67
-msgid "Flat"
-msgstr "Plat"
-
-#: ../bin/dbench.c:71
-msgid "Left-Down"
-msgstr "En bas à gauche"
-
-#: ../bin/dbench.c:72
-msgid "Right-Down"
-msgstr "En bas à droite"
-
-#: ../bin/dbench.c:73
-msgid "Left-Up"
-msgstr "En haut à gauche"
-
-#: ../bin/dbench.c:74
-msgid "Right-Up"
-msgstr "En haut à droite"
-
-#: ../bin/dbench.c:75
-msgid "Left-Inverted"
-msgstr "Inversé à gauche"
-
-#: ../bin/dbench.c:76
-msgid "Right-Inverted"
-msgstr "Inversé à droite"
-
-#: ../bin/dbench.c:81
-msgid "Inverted"
-msgstr "Inversé"
-
-#: ../bin/dbench.c:147
-#, c-format
-msgid ""
-"Bad BenchType for %s:\n"
-"%s"
-msgstr ""
-"Mauvais type de support pour%s:\n"
-"%s"
-
-#: ../bin/dbitmap.c:102 ../bin/dbitmap.c:106
-msgid "Drawn with "
-msgstr "Dessiné avec "
-
-#: ../bin/dbitmap.c:116
-msgid "Drawing tracks to BitMap"
-msgstr "Afficher le plan de voies dans BitMap"
-
-#: ../bin/dbitmap.c:123
-msgid "Writing BitMap to file"
-msgstr "Enregistrer en Bitmap dans un fichier"
-
-#: ../bin/dbitmap.c:144
-msgid "Print Titles"
-msgstr "Impression des titres"
-
-#: ../bin/dbitmap.c:144
-msgid "Print Borders"
-msgstr "Imprimer les bordures"
-
-#: ../bin/dbitmap.c:145
-msgid "Print Centerline"
-msgstr "Imprimer la voie d'axe"
-
-#: ../bin/dbitmap.c:152
-msgid " dpi"
-msgstr " ppp"
-
-#: ../bin/dbitmap.c:154
-msgid "Bitmap : 99999 by 99999 pixels"
-msgstr "Bitmap : 99999 par 99999 pixels"
-
-#: ../bin/dbitmap.c:156
-msgid "Approximate file size: 999.9Mb"
-msgstr "Taille approchée du fichier : 999.9Mb"
-
-#: ../bin/dbitmap.c:186
-#, c-format
-msgid "Bitmap : %ld by %ld pixels"
-msgstr "Bitmap : %ld par %ld pixels"
-
-#: ../bin/dbitmap.c:190
-#, c-format
-msgid "Approximate file size : %0.0f"
-msgstr "Taille approchée du fichier : %0.0f"
-
-#: ../bin/dbitmap.c:192
-#, c-format
-msgid "Approximate file size : %0.1fKb"
-msgstr "Taille approchée du fichier : %0.1fKb"
-
-#: ../bin/dbitmap.c:194
-#, c-format
-msgid "Approximate file size : %0.1fMb"
-msgstr "Taille approchée du fichier : %0.1fMb"
-
-#: ../bin/dbitmap.c:213
-msgid "Save Bitmap"
-msgstr "Enregistrer le bitmap"
-
-#: ../bin/dbitmap.c:217
-msgid "Bitmap files (*.png)|*.png"
-msgstr "Fichiers Bitmap (*.png)|*.png"
-
-#: ../bin/dbitmap.c:238
-msgid "BitMap"
-msgstr "BitMap"
-
-#: ../bin/dcar.c:54
-msgid "Truck"
-msgstr "Bogies"
-
-#: ../bin/dcar.c:54
-msgid "Body"
-msgstr "Structure"
-
-#: ../bin/dcar.c:156 ../bin/dcar.c:2702 ../bin/dcar.c:2706
-msgid "Unknown"
-msgstr "Inconnu"
-
-#: ../bin/dcar.c:478
-msgid "Diesel Loco"
-msgstr "Loco Diesel"
-
-#: ../bin/dcar.c:479
-msgid "Steam Loco"
-msgstr "Loco vapeur"
-
-#: ../bin/dcar.c:480
-msgid "Elect Loco"
-msgstr "Loco Elect"
-
-#: ../bin/dcar.c:481
-msgid "Freight Car"
-msgstr "Wagon march"
-
-#: ../bin/dcar.c:482
-msgid "Psngr Car"
-msgstr "Voiture voy"
-
-#: ../bin/dcar.c:483
-msgid "M-O-W"
-msgstr "Chariot"
-
-#: ../bin/dcar.c:484
-msgid "Other"
-msgstr "Autres"
-
-#: ../bin/dcar.c:1183 ../bin/dcar.c:5078
-msgid "N/A"
-msgstr "Non applicable"
-
-#: ../bin/dcar.c:1184 ../bin/dcar.c:5083
-msgid "Mint"
-msgstr "Mint"
-
-#: ../bin/dcar.c:1185 ../bin/dcar.c:5082
-msgid "Excellent"
-msgstr "Excellent"
-
-#: ../bin/dcar.c:1186 ../bin/dcar.c:5081
-msgid "Good"
-msgstr "Bon"
-
-#: ../bin/dcar.c:1187 ../bin/dcar.c:5080
-msgid "Fair"
-msgstr "Juste"
-
-#: ../bin/dcar.c:1188 ../bin/dcar.c:5079
-msgid "Poor"
-msgstr "Mauvais"
-
-#: ../bin/dcar.c:1502 ../bin/dpricels.c:45
-#: ../../../../build/work/app/bin/bllnhlp.c:440
-msgid "Item"
-msgstr "Objet"
-
-#: ../bin/dcar.c:2174 ../wlib/gtklib/notice.c:96 ../wlib/mswlib/mswmisc.c:2097
-msgid "Information"
-msgstr "Information"
-
-#: ../bin/dcar.c:2174
-msgid "Customize"
-msgstr "Personnaliser"
-
-#: ../bin/dcar.c:2186
-msgid "Sequential"
-msgstr "Séquentiel"
-
-#: ../bin/dcar.c:2186
-msgid "Repeated"
-msgstr "Répété"
-
-#: ../bin/dcar.c:2197 ../bin/dcar.c:2199 ../bin/dcar.c:5408
-msgid "Prototype"
-msgstr "Prototype"
-
-#: ../bin/dcar.c:2205
-msgid "Part"
-msgstr "Référence"
-
-#: ../bin/dcar.c:2207 ../../../../build/work/app/bin/bllnhlp.c:372
-#: ../../../../build/work/app/bin/bllnhlp.c:568
-#: ../../../../build/work/app/bin/bllnhlp.c:569
-msgid "Part Number"
-msgstr "Référence N°"
-
-#: ../bin/dcar.c:2209
-msgid "Loco?"
-msgstr "Loco ?"
-
-#: ../bin/dcar.c:2213 ../bin/dcar.c:4405
-msgid "Import"
-msgstr "Importation"
-
-#: ../bin/dcar.c:2220
-msgid "Mode"
-msgstr "Mode"
-
-#: ../bin/dcar.c:2224
-msgid "Road"
-msgstr "Compagnie ferroviaire"
-
-#: ../bin/dcar.c:2226
-msgid "Reporting Mark"
-msgstr "Sigle"
-
-#: ../bin/dcar.c:2228
-msgid "Number"
-msgstr "Nombre"
-
-#: ../bin/dcar.c:2232
-msgid "Car Length"
-msgstr "Longueur hors tampons"
-
-#: ../bin/dcar.c:2236
-msgid "Truck Centers"
-msgstr "Centre des bogies"
-
-#: ../bin/dcar.c:2240
-msgid "Coupler Mount"
-msgstr "Support d'attelage"
-
-#: ../bin/dcar.c:2242
-msgid "Coupled Length"
-msgstr "Longueur de couplage"
-
-#: ../bin/dcar.c:2244 ../bin/dcar.c:4252
-msgid "Coupler Length"
-msgstr "Longueur de l'attelage"
-
-#: ../bin/dcar.c:2252
-msgid "Purchase Price"
-msgstr "Prix d'achat"
-
-#: ../bin/dcar.c:2254 ../../../../build/work/app/bin/bllnhlp.c:236
-msgid "Current Price"
-msgstr "Prix actuel"
-
-#: ../bin/dcar.c:2256 ../bin/dcar.c:4369 ../bin/dcar.c:4374
-msgid "Condition"
-msgstr "Condition"
-
-#: ../bin/dcar.c:2258
-msgid "Purchase Date"
-msgstr "Date d'achat"
-
-#: ../bin/dcar.c:2260 ../bin/dcar.c:4374
-msgid "Service Date"
-msgstr "Date de service"
-
-#: ../bin/dcar.c:2262
-msgid "Quantity"
-msgstr "Quantité"
-
-#: ../bin/dcar.c:2264
-msgid "Numbers"
-msgstr "Nombres"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:371
-#: ../bin/dcar.c:2266 ../bin/dcar.c:4370 ../bin/trknote.c:708
-#: ../../../../build/work/app/i18n/custmsg.h:1265
-msgid "Notes"
-msgstr "Remarques"
-
-#: ../bin/dcar.c:2273
-msgid "Car Part"
-msgstr "Partie de véhicule"
-
-#: ../bin/dcar.c:2274 ../../../../build/work/app/bin/bllnhlp.c:210
-#: ../../../../build/work/app/bin/bllnhlp.c:211
-msgid "Car Prototype"
-msgstr "Prototype de véhicule"
-
-#: ../bin/dcar.c:2636 ../bin/dcar.c:2953
-msgid "Undecorated"
-msgstr "Sans étiquette"
-
-#: ../bin/dcar.c:2694 ../bin/dcar.c:2698 ../bin/paramfilelist.c:376
-msgid "Custom"
-msgstr "Personnalisé"
-
-#: ../bin/dcar.c:2863
-msgid "Undecorated "
-msgstr "Sans étiquette "
-
-#: ../bin/dcar.c:3085
-#, c-format
-msgid "New %s Scale Car"
-msgstr "Nouveau véhicule à l'échelle %s"
-
-#: ../bin/dcar.c:3086 ../bin/dcar.c:3095 ../bin/dcar.c:3104 ../bin/dcar.c:4285
-#: ../bin/dcar.c:4401 ../bin/paramfilesearch_ui.c:74
-msgid "Add"
-msgstr "Ajouter"
-
-#: ../bin/dcar.c:3088
-#, c-format
-msgid "Update %s Scale Car"
-msgstr "Mettre à jour le véhicule à l'échelle %s"
-
-#: ../bin/dcar.c:3089 ../bin/dcar.c:3098 ../bin/dcar.c:3107
-#: ../bin/dcmpnd.c:173
-msgid "Update"
-msgstr "Mise à jour"
-
-#: ../bin/dcar.c:3094
-#, c-format
-msgid "New %s Scale Car Part"
-msgstr "Nouvelle fiche véhicule à l'échelle %s"
-
-#: ../bin/dcar.c:3097
-#, c-format
-msgid "Update %s Scale Car Part"
-msgstr "Mettre à jour %s la pièce de véhicule à l'échelle"
-
-#: ../bin/dcar.c:3103
-msgid "New Prototype"
-msgstr "Nouveau prototype"
-
-#: ../bin/dcar.c:3106
-msgid "Update Prototype"
-msgstr "Mettre à jour le prototype"
-
-#: ../bin/dcar.c:3778
-msgid "Enter a 8 digit numeric date"
-msgstr "Entrez une date numérique à 8 chiffres"
-
-#: ../bin/dcar.c:3781
-msgid "Enter a 8 digit date"
-msgstr "Entrez une date à 8 chiffres"
-
-#: ../bin/dcar.c:3783
-msgid "Enter a date between 19000101 and 21991231"
-msgstr "Entrez une date comprise entre 19000101 et 21991231"
-
-#: ../bin/dcar.c:3788
-msgid "Invalid month"
-msgstr "Mois invalide"
-
-#: ../bin/dcar.c:3790
-msgid "Invalid day"
-msgstr "Jour invalide"
-
-#: ../bin/dcar.c:3882
-msgid "Enter a Prototype name"
-msgstr "Entrez le nom du prototype"
-
-#: ../bin/dcar.c:3884
-msgid "Select or Enter a Manufacturer"
-msgstr "Sélectionnez ou entrez un fabricant"
-
-#: ../bin/dcar.c:3886
-msgid "Enter a Part Number"
-msgstr "Entrez un numéro d'article"
-
-#: ../bin/dcar.c:3888
-msgid "Enter the Car Length"
-msgstr "Entrez la longueur du véhicule"
-
-#: ../bin/dcar.c:3890
-msgid "Enter the Car Width"
-msgstr "Entrez la largeur du véhicule"
-
-#: ../bin/dcar.c:3892
-msgid "Enter the Truck Centers"
-msgstr "Entrez la distance entre les bogies"
-
-#: ../bin/dcar.c:3894
-#, fuzzy
-msgid "Truck Center Offset must be greater than 0 or 0"
-msgstr "L'écartement des bogies doit être inférieur à la longueur du véhicule"
-
-#: ../bin/dcar.c:3896
-msgid "Truck Centers must be less than Car Length"
-msgstr "L'écartement des bogies doit être inférieur à la longueur du véhicule"
-
-#: ../bin/dcar.c:3898
-#, fuzzy
-msgid "Truck Center Offset plus Truck Centers must be less than Car Length"
-msgstr "L'écartement des bogies doit être inférieur à la longueur du véhicule"
-
-#: ../bin/dcar.c:3900
-msgid "Enter the Coupled Length or Coupler Length"
-msgstr "Entrez la longueur couplée ou la longueur de l'attelage"
-
-#: ../bin/dcar.c:3902
-msgid "Enter the Coupled Length"
-msgstr "Entrez la longueur couplé"
-
-#: ../bin/dcar.c:3904
-msgid "Enter a item Index"
-msgstr "Entrez un numéro d'identification"
-
-#: ../bin/dcar.c:3906
-msgid "Purchase Price is not valid"
-msgstr "Le prix d'achat n'est pas valide"
-
-#: ../bin/dcar.c:3908
-msgid "Current Price is not valid"
-msgstr "Le prix actuel n'est pas valide"
-
-#: ../bin/dcar.c:3910
-msgid "Purchase Date is not valid"
-msgstr "La date d'achat n'est pas valide"
-
-#: ../bin/dcar.c:3912
-msgid "Service Date is not valid"
-msgstr "La date de service n'est pas valide"
-
-#: ../bin/dcar.c:3915
-#, c-format
-msgid "Item Index %ld duplicated an existing item: updated to new value"
-msgstr ""
-"L'index de l'objet %ld existe déjà : mis à jour avec une nouvelle valeur"
-
-#: ../bin/dcar.c:4111
-#, c-format
-msgid "Added %ld new Cars"
-msgstr "Ajout de %ld nouveaux matériels roulants"
-
-#: ../bin/dcar.c:4113
-msgid "Added new Car"
-msgstr "Ajout d'un nouveau véhicule"
-
-#: ../bin/dcar.c:4116
-msgid "Updated Car"
-msgstr "Véhicule mis à jour"
-
-#: ../bin/dcar.c:4119
-msgid " and Part"
-msgstr " et une partie"
-
-#: ../bin/dcar.c:4146
-#, c-format
-msgid "%s Part: %s %s %s %s %s %s"
-msgstr "%s Partie : %s %s %s %s %s %s"
-
-#: ../bin/dcar.c:4146 ../bin/dcar.c:4163
-msgid "Added new"
-msgstr "Ajout d'un nouveau"
-
-#: ../bin/dcar.c:4146 ../bin/dcar.c:4163
-msgid "Updated"
-msgstr "Mis à jour"
-
-#: ../bin/dcar.c:4162
-#, c-format
-msgid "%s Prototype: %s%s."
-msgstr "%s Prototype: %s%s."
-
-#: ../bin/dcar.c:4164
-msgid ". Enter new values or press Close"
-msgstr ". Entrez de nouvelles valeurs ou appuyez sur Fermer"
-
-#: ../bin/dcar.c:4285
-msgid "New Car Part"
-msgstr "Nouvelle fiche de véhicule"
-
-#: ../bin/dcar.c:4368 ../bin/dcar.c:4373
-#: ../../../../build/work/app/bin/bllnhlp.c:410
-msgid "Roadname"
-msgstr "Compagnie ferroviaire"
-
-#: ../bin/dcar.c:4368
-msgid "Purc Price"
-msgstr "Prix d'achat"
-
-#: ../bin/dcar.c:4369 ../bin/dcar.c:4374
-msgid "Curr Price"
-msgstr "Prix act"
-
-#: ../bin/dcar.c:4369
-msgid "Purc Date"
-msgstr "Date d'achat"
-
-#: ../bin/dcar.c:4369
-msgid "Srvc Date"
-msgstr "Date de service"
-
-#: ../bin/dcar.c:4370
-msgid "Locat'n"
-msgstr "Lieu"
-
-#: ../bin/dcar.c:4373
-msgid "RepMarks"
-msgstr "Sigles"
-
-#: ../bin/dcar.c:4373
-msgid "Purch Price"
-msgstr "Prix d'achat"
-
-#: ../bin/dcar.c:4374
-msgid "Purch Date"
-msgstr "Date d'achat"
-
-#: ../bin/dcar.c:4391
-msgid "Sort By"
-msgstr "Trier par"
-
-#: ../bin/dcar.c:4399 ../bin/dcontmgm.c:99 ../bin/dcustmgm.c:71
-#: ../bin/dcustmgm.c:108
-msgid "Edit"
-msgstr "Editer"
-
-#: ../bin/dcar.c:4403 ../bin/dcontmgm.c:101 ../bin/dcustmgm.c:73
-#: ../bin/misc.c:2242
-msgid "Delete"
-msgstr "Effacer"
-
-#: ../bin/dcar.c:4407 ../bin/fileio.c:1517
-msgid "Export"
-msgstr "Exporter"
-
-#: ../bin/dcar.c:4409 ../../../../build/work/app/bin/bllnhlp.c:585
-msgid "List"
-msgstr "Liste"
-
-#: ../bin/dcar.c:4520 ../bin/dcar.c:5257 ../bin/misc.c:2618
-msgid "Car Inventory"
-msgstr "Inventaire des véhicules"
-
-#: ../bin/dcar.c:4640
-msgid "List Cars"
-msgstr "Liste de véhicules"
-
-#: ../bin/dcar.c:4764 ../bin/dcar.c:4929
-msgid "Import Cars"
-msgstr "Importer du véhicule"
-
-#: ../bin/dcar.c:4930 ../bin/dcar.c:5053
-msgid "Comma-Separated-Values (*.csv)|*.csv"
-msgstr "Valeurs séparées par des virgules (*.csv)|*.csv"
-
-#: ../bin/dcar.c:5000 ../bin/dcar.c:5052
-msgid "Export Cars"
-msgstr "Exporter le véhicule"
-
-#: ../bin/dcar.c:5086
-msgid "Layout"
-msgstr "Plan"
-
-#: ../bin/dcar.c:5088
-msgid "Shelf"
-msgstr "Étagère"
-
-#: ../bin/dcmpnd.c:77 ../bin/dlayer.c:499 ../bin/misc.c:613 ../bin/misc.c:645
-msgid "Load"
-msgstr "Charger"
-
-#: ../bin/dcmpnd.c:110
-msgid "Updating definitions, please wait"
-msgstr "Mise à jour des définitions, veuillez patienter"
-
-#: ../bin/dcmpnd.c:173
-msgid "Update Title"
-msgstr "Mettre à jour le titre"
-
-#: ../bin/dcmpnd.c:233
-#, c-format
-msgid "End-Point #%d of the selected and actual turnouts are not close"
-msgstr ""
-"Le point de fin #%d de la sélection et l'aiguillage actuel ne sont pas "
-"proches"
-
-#: ../bin/dcmpnd.c:242
-#, c-format
-msgid "End-Point #%d of the selected and actual turnouts are not aligned"
-msgstr ""
-"Le point de fin #%d de la sélection et l'aiguillage actuel ne sont pas "
-"alignés"
-
-#: ../bin/dcmpnd.c:261
-msgid "The selected Turnout had a differing number of End-Points"
-msgstr "L'aiguillage sélectionné avait un nombre différent de points de fin"
-
-#: ../bin/dcmpnd.c:327
-msgid "Skip"
-msgstr "Ignorer"
-
-#: ../bin/dcmpnd.c:359
-#, c-format
-msgid "%d Track(s) refreshed"
-msgstr "%d Voie(s) revues"
-
-#: ../bin/dcmpnd.c:399
-msgid "Refresh Turnout/Structure"
-msgstr "Actualiser les aiguillages/les bâtiments"
-
-#: ../bin/dcmpnd.c:401
-msgid "Choose a Turnout/Structure to replace:"
-msgstr "Choisissez un aiguillage/bâtiment à remplacer :"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:341
-#: ../bin/dcmpnd.c:411 ../bin/doption.c:132
-#: ../../../../build/work/app/i18n/custmsg.h:1205
-msgid "Turnouts"
-msgstr "Aiguillages"
-
-#: ../bin/dcmpnd.c:411
-msgid "Structures"
-msgstr "Structures"
-
-#: ../bin/dcmpnd.c:440
-msgid "Choose another Turnout/Structure to replace:"
-msgstr "Choisissez un autre aiguillage/bâtiment à remplacer :"
-
-#: ../bin/dcmpnd.c:542
-msgid "Rename Object"
-msgstr "Renommer un objet"
-
-#: ../bin/dcontmgm.c:92
-msgid "Tracks"
-msgstr "Voies"
-
-#: ../bin/dcontmgm.c:173
-#, c-format
-msgid "Are you sure you want to delete the %d control element(s)"
-msgstr "Êtes-vous sûr de vouloir supprimer %d élément(s) de contrôle"
-
-#: ../bin/dcontmgm.c:176
-msgid "Control Elements"
-msgstr "Éléments de contrôle"
-
-#: ../bin/dcontmgm.c:299
-msgid "Manage Layout Control Elements"
-msgstr "Gérer les contrôles du plan"
-
-#: ../bin/dcustmgm.c:67
-msgid "Create a new "
-msgstr "Créer un nouveau "
-
-#: ../bin/dcustmgm.c:69
-msgid "Go"
-msgstr "Go"
-
-#: ../bin/dcustmgm.c:75
-msgid "Move To"
-msgstr "Déplacer vers"
-
-#: ../bin/dcustmgm.c:108
-msgid "Rename"
-msgstr "Renommer"
-
-#: ../bin/dcustmgm.c:189
-msgid "Label"
-msgstr "Étiquette"
-
-#: ../bin/dcustmgm.c:227
-msgid "Contents Label"
-msgstr "Contenu de l'étiquette"
-
-#: ../bin/dcustmgm.c:283
-msgid "Move To XTP"
-msgstr "Déplacer vers le fichier de paramètres"
-
-#: ../bin/dcustmgm.c:284
-msgid "Parameter File (*.xtp)|*.xtp"
-msgstr "Fichier de Paramètres (*.xtp)|*.xtp"
-
-#: ../bin/dcustmgm.c:395
-msgid "Manage custom designed parts"
-msgstr "Gérer les matériels prototypes"
-
-#: ../bin/dease.c:67
-msgid "Sharp"
-msgstr "Etroit"
-
-#: ../bin/dease.c:67
-msgid "Broad"
-msgstr "Large"
-
-#: ../bin/dease.c:67
-msgid "Cornu"
-msgstr "Cornu"
-
-#: ../bin/dease.c:74
-msgid "Value"
-msgstr "Valeur"
-
-#: ../bin/dease.c:75 ../bin/tease.c:525
-msgid "R"
-msgstr "R"
-
-#: ../bin/dease.c:77 ../bin/tease.c:526
-msgid "L"
-msgstr "L"
-
-#: ../bin/dease.c:242
-msgid "Easement"
-msgstr "Courbe de transition (Easement)"
-
-#: ../bin/denum.c:49
-msgid "Prices"
-msgstr "Prix"
-
-#: ../bin/denum.c:54
-msgid "Save As ..."
-msgstr "Sauver sous ..."
-
-#: ../bin/denum.c:134 ../bin/denum.c:189 ../bin/denum.c:224
-msgid "Each"
-msgstr "L'unité"
-
-#: ../bin/denum.c:148 ../bin/denum.c:149
-msgid "Parts List"
-msgstr "Nomenclature"
-
-#: ../bin/denum.c:154
-#, c-format
-msgid ""
-"%s Parts List\n"
-"\n"
-msgstr ""
-"%s Nomenclature\n"
-"\n"
-
-#: ../bin/denum.c:189 ../bin/denum.c:226 ../bin/denum.c:235
-msgid "Extended"
-msgstr "L'ensemble"
-
-#: ../bin/denum.c:235 ../bin/denum.c:238
-msgid "Total"
-msgstr "Total"
-
-#: ../bin/dlayer.c:487
-msgid "Use Color"
-msgstr "Utiliser la couleur"
-
-#: ../bin/dlayer.c:489
-msgid "Visible"
-msgstr "Visible"
-
-#: ../bin/dlayer.c:491
-msgid "Frozen"
-msgstr "Gelé"
-
-#: ../bin/dlayer.c:493
-msgid "On Map"
-msgstr "Sur la carte"
-
-#: ../bin/dlayer.c:495
-msgid "Module"
-msgstr "Module"
-
-#: ../bin/dlayer.c:498
-msgid "Personal Preferences"
-msgstr "Préférences personnelles"
-
-#: ../bin/dlayer.c:500 ../bin/macro.c:1419
-msgid "Save"
-msgstr "Sauver"
-
-#: ../bin/dlayer.c:501
-msgid "Defaults"
-msgstr "Defauts"
-
-#: ../bin/dlayer.c:502
-msgid "Number of Layer Buttons"
-msgstr "Nombre de boutons de calques"
-
-#: ../bin/dlayer.c:519 ../bin/dlayer.c:987 ../bin/dlayer.c:1000
-#: ../bin/dlayer.c:1051
-msgid "Main"
-msgstr "Principal"
-
-#: ../bin/dlayer.c:632 ../bin/dlayer.c:925 ../bin/dlayer.c:1003
-#: ../bin/dlayer.c:1053 ../bin/dlayer.c:1303
-msgid "Show/Hide Layer"
-msgstr "Afficher/masquer le calque"
-
-#: ../bin/dlayer.c:1124
-msgid "Layers"
-msgstr "Calques"
-
-#: ../bin/doption.c:95
-msgid "Turning off AutoSave"
-msgstr ""
-
-#: ../bin/doption.c:104
-#, fuzzy
-msgid "Turning on CheckPointing"
-msgstr "Écrire une sauvegarde"
-
-#: ../bin/doption.c:130
-msgid "Auto Pan"
-msgstr "Panoramique auto"
-
-#: ../bin/doption.c:132
-msgid "All"
-msgstr "Tout"
-
-#: ../bin/doption.c:133
-msgid "Thick"
-msgstr "Épais"
-
-#: ../bin/doption.c:133
-msgid "Exception"
-msgstr "Exception"
-
-#: ../bin/doption.c:134
-msgid "Outline"
-msgstr "Contour"
-
-#: ../bin/doption.c:135
-msgid "Off"
-msgstr "De"
-
-#: ../bin/doption.c:135
-msgid "On"
-msgstr "On"
-
-#: ../bin/doption.c:136
-msgid "Track Descriptions"
-msgstr "Descriptions de voies"
-
-#: ../bin/doption.c:136
-msgid "Lengths"
-msgstr "Longueurs"
-
-#: ../bin/doption.c:136
-msgid "EndPt Elevations"
-msgstr "Elévations des bouts de voies"
-
-#: ../bin/doption.c:136
-msgid "Track Elevations"
-msgstr "Elévations de voies"
-
-#: ../bin/doption.c:136
-msgid "Cars"
-msgstr "Véhicules"
-
-#: ../bin/doption.c:137 ../bin/doption.c:138
-msgid "Descr"
-msgstr "Descr"
-
-#: ../bin/doption.c:138
-msgid "Manuf"
-msgstr "Fabric"
-
-#: ../bin/doption.c:139 ../bin/doption.c:140
-msgid "Object"
-msgstr "Objet"
-
-#: ../bin/doption.c:141
-msgid "Live Map"
-msgstr "Carte en direct"
-
-#: ../bin/doption.c:142
-msgid "Hide Trains On Hidden Track"
-msgstr "Masquer les trains sur voie cachée"
-
-#: ../bin/doption.c:143
-msgid "Constrain Drawing Area to Room boundaries"
-msgstr ""
-
-#: ../bin/doption.c:150
-msgid "Color Track"
-msgstr "Couleur de la voie"
-
-#: ../bin/doption.c:151
-msgid "Color Draw"
-msgstr "Dessin en couleur"
-
-#: ../bin/doption.c:152
-msgid "Draw Tunnel"
-msgstr "Dessin des tunnels"
-
-#: ../bin/doption.c:153
-msgid "Draw EndPts"
-msgstr "Dessin des bouts de voie"
-
-#: ../bin/doption.c:154
-msgid "Draw Unconnected EndPts"
-msgstr "Dessin des voies non connectées"
-
-#: ../bin/doption.c:155
-msgid "Draw Ties"
-msgstr "Dessin des traverses"
-
-#: ../bin/doption.c:156
-msgid "Draw Centers"
-msgstr "Dessin des centres"
-
-#: ../bin/doption.c:157
-msgid "Two Rail Scale"
-msgstr "Échelle pour 2 voies"
-
-#: ../bin/doption.c:158
-msgid "Map Scale"
-msgstr "Échelle de la carte de navigation"
-
-#: ../bin/doption.c:162
-msgid "Label Enable"
-msgstr "Étiquettes activées"
-
-#: ../bin/doption.c:163
-msgid "Label Scale"
-msgstr "Échelle d'étiquette"
-
-#: ../bin/doption.c:164
-msgid "Label Font Size"
-msgstr "Taille de police des étiquettes"
-
-#: ../bin/doption.c:165
-msgid "Hot Bar Labels"
-msgstr "Etiquettes barre rapide"
-
-#: ../bin/doption.c:166
-msgid "Layout Labels"
-msgstr "Etiquettes de calques"
-
-#: ../bin/doption.c:167
-msgid "List Labels"
-msgstr "Liste des étiquettes"
-
-#: ../bin/doption.c:170
-msgid "Car Labels"
-msgstr "Etiquettes des véhicules"
-
-#: ../bin/doption.c:171
-msgid "Train Update Delay"
-msgstr "Délai de mise à jour du train"
-
-#: ../bin/doption.c:199
-msgid "Display Options"
-msgstr "Options d'affichage"
-
-#: ../bin/doption.c:200
-msgid "Proto"
-msgstr "Proto"
-
-#: ../bin/doption.c:201
-msgid "Proto/Manuf"
-msgstr "Proto/Fabric"
-
-#: ../bin/doption.c:202
-msgid "Proto/Manuf/Part Number"
-msgstr "Proto/Fabric/N° de référence"
-
-#: ../bin/doption.c:203
-msgid "Proto/Manuf/Partno/Item"
-msgstr "Proto/Fabric/N° de référence/Objet"
-
-#: ../bin/doption.c:204
-msgid "Manuf/Proto"
-msgstr "Fabricant/Proto"
-
-#: ../bin/doption.c:205
-msgid "Manuf/Proto/Part Number"
-msgstr "Fabricant/Proto/N° de référence"
-
-#: ../bin/doption.c:206
-msgid "Manuf/Proto/Partno/Item"
-msgstr "Fabricant/Proto/N° de référence/Objet"
-
-#: ../bin/doption.c:236
-msgid "Single item selected, +Ctrl Add to selection"
-msgstr "Élément unique sélectionné, +Ctrl Ajouter à la sélection"
-
-#: ../bin/doption.c:236
-msgid "Add to selection, +Ctrl Single item selected"
-msgstr "Ajouter à la sélection, +Ctrl Élément unique sélectionné"
-
-#: ../bin/doption.c:237
-msgid "Deselect all on select nothing"
-msgstr "Désélectionner tout / ne rien sélectionner"
-
-#: ../bin/doption.c:242
-msgid "Normal: Command List, Shift: Command Options"
-msgstr "Normal : Liste de cde, Maj. : Options de cde"
-
-#: ../bin/doption.c:242
-msgid "Normal: Command Options, Shift: Command List"
-msgstr "Normal : Options de cde, Maj.: Liste de cde"
-
-#: ../bin/doption.c:245
-msgid "Default Command"
-msgstr "Commande par défaut"
-
-#: ../bin/doption.c:247
-msgid "Hide Selection Window"
-msgstr "Masquer la fenêtre de sélection"
-
-#: ../bin/doption.c:249
-msgid "Right Click"
-msgstr "Clic droit"
-
-#: ../bin/doption.c:250
-msgid "Select Mode"
-msgstr "Mode sélection"
-
-#: ../bin/doption.c:275
-msgid "Command Options"
-msgstr "Options de commande"
-
-#: ../bin/doption.c:298
-msgid "English"
-msgstr "Anglais"
-
-#: ../bin/doption.c:298
-msgid "Metric"
-msgstr "Métrique"
-
-#: ../bin/doption.c:299
-msgid "Polar"
-msgstr "Polaire"
-
-#: ../bin/doption.c:299
-msgid "Cartesian"
-msgstr "Cartésien"
-
-#: ../bin/doption.c:300
-msgid "Balloon Help"
-msgstr "Bulle d'aide"
-
-#: ../bin/doption.c:301
-msgid "Show FlexTrack in HotBar"
-msgstr ""
-
-#: ../bin/doption.c:302
-msgid "Load Last Layout"
-msgstr "Charger le dernier plan"
-
-#: ../bin/doption.c:302
-msgid "Start New Layout"
-msgstr "Commencer un nouveau plan"
-
-#: ../bin/doption.c:305
-msgid "Angles"
-msgstr "Angles"
-
-#: ../bin/doption.c:306
-msgid "Units"
-msgstr "Unités"
-
-#: ../bin/doption.c:308
-msgid "Length Format"
-msgstr "Format de longueur"
-
-#: ../bin/doption.c:309
-msgid "Min Track Length"
-msgstr "Longueur de voie min"
-
-#: ../bin/doption.c:310
-msgid "Connection Distance"
-msgstr "Distance de connexion"
-
-#: ../bin/doption.c:311
-msgid "Connection Angle"
-msgstr "Angle de connexion"
-
-#: ../bin/doption.c:312
-msgid "Turntable Angle"
-msgstr "Angle de pont tournant"
-
-#: ../bin/doption.c:313
-msgid "Max Coupling Speed"
-msgstr "Vitesse maximale de couplage"
-
-#: ../bin/doption.c:316
-msgid "Drag Distance"
-msgstr "Distance du glissé du curseur"
-
-#: ../bin/doption.c:317
-msgid "Drag Timeout"
-msgstr "Ajuster le délai d'attente"
-
-#: ../bin/doption.c:318
-msgid "Min Grid Spacing"
-msgstr "Pas min. de la grille"
-
-#: ../bin/doption.c:320
-#, fuzzy
-msgid "Check Point Frequency"
-msgstr "Sauvegarde"
-
-#: ../bin/doption.c:322
-msgid "Autosave Checkpoint Frequency"
-msgstr ""
-
-#: ../bin/doption.c:323
-msgid "On Program Startup"
-msgstr "Au démarrage du programme"
-
-#: ../bin/doption.c:333 ../bin/doption.c:337 ../bin/doption.c:354
-msgid "999.999"
-msgstr "999.999"
-
-#: ../bin/doption.c:334
-msgid "999.999999"
-msgstr "999.999999"
-
-#: ../bin/doption.c:335
-msgid "999.99999"
-msgstr "999.99999"
-
-#: ../bin/doption.c:336
-msgid "999.9999"
-msgstr "999.9999"
-
-#: ../bin/doption.c:338 ../bin/doption.c:355
-msgid "999.99"
-msgstr "999.99"
-
-#: ../bin/doption.c:339 ../bin/doption.c:356
-msgid "999.9"
-msgstr "999.9"
-
-#: ../bin/doption.c:340
-msgid "999 7/8"
-msgstr "999 7/8"
-
-#: ../bin/doption.c:341
-msgid "999 63/64"
-msgstr "999 63/64"
-
-#: ../bin/doption.c:342
-msgid "999' 11.999\""
-msgstr "999' 11.999\""
-
-#: ../bin/doption.c:343
-msgid "999' 11.99\""
-msgstr "999' 11.99\""
-
-#: ../bin/doption.c:344
-msgid "999' 11.9\""
-msgstr "999' 11.9\""
-
-#: ../bin/doption.c:345
-msgid "999' 11 7/8\""
-msgstr "999' 11 7/8\""
-
-#: ../bin/doption.c:346
-msgid "999' 11 63/64\""
-msgstr "999' 11 63/64\""
-
-#: ../bin/doption.c:347
-msgid "999ft 11.999in"
-msgstr "999ft 11.999in"
-
-#: ../bin/doption.c:348
-msgid "999ft 11.99in"
-msgstr "999ft 11.99in"
-
-#: ../bin/doption.c:349
-msgid "999ft 11.9in"
-msgstr "999ft 11.9in"
-
-#: ../bin/doption.c:350
-msgid "999ft 11 7/8in"
-msgstr "999ft 11 7/8in"
-
-#: ../bin/doption.c:351
-msgid "999ft 11 63/64in"
-msgstr "999ft 11 63/64in"
-
-#: ../bin/doption.c:357
-msgid "999.999mm"
-msgstr "999.999mm"
-
-#: ../bin/doption.c:358
-msgid "999.99mm"
-msgstr "999.99mm"
-
-#: ../bin/doption.c:359
-msgid "999.9mm"
-msgstr "999.9mm"
-
-#: ../bin/doption.c:360
-msgid "999.999cm"
-msgstr "999.999cm"
-
-#: ../bin/doption.c:361
-msgid "999.99cm"
-msgstr "999.99cm"
-
-#: ../bin/doption.c:362
-msgid "999.9cm"
-msgstr "999.9cm"
-
-#: ../bin/doption.c:363
-msgid "999.999m"
-msgstr "999.999m"
-
-#: ../bin/doption.c:364
-msgid "999.99m"
-msgstr "999.99m"
-
-#: ../bin/doption.c:365
-msgid "999.9m"
-msgstr "999.9m"
-
-#: ../bin/doption.c:492
-msgid "Preferences"
-msgstr "Préférences"
-
-#: ../bin/doption.c:531
-msgid "Marker"
-msgstr "Marqueur"
-
-#: ../bin/doption.c:532
-msgid "Border"
-msgstr "Bordure"
-
-#: ../bin/doption.c:533
-msgid "Primary Axis"
-msgstr "Axe primaire"
-
-#: ../bin/doption.c:534
-msgid "Secondary Axis"
-msgstr "Axe secondaire"
-
-#: ../bin/doption.c:535
-msgid "Normal Track"
-msgstr "Voie normale"
-
-#: ../bin/doption.c:536
-msgid "Selected Track"
-msgstr "Voie sélectionnée"
-
-#: ../bin/doption.c:537
-msgid "Profile Path"
-msgstr "Profil de voie"
-
-#: ../bin/doption.c:538
-msgid "Exception Track"
-msgstr "Voie non conforme"
-
-#: ../bin/doption.c:539
-msgid "Track Ties"
-msgstr "Traverses de voies"
-
-#: ../bin/dpricels.c:45
-msgid "Price"
-msgstr "Prix"
-
-#: ../bin/dpricels.c:59
-msgid "Flex Track"
-msgstr "Voie flexible"
-
-#: ../bin/dpricels.c:60
-msgid "costs"
-msgstr "coûts"
-
-#: ../bin/dpricels.c:154
-msgid "Price List"
-msgstr "Liste de prix"
-
-#: ../bin/dprmfile.c:73 ../bin/paramfilesearch_ui.c:60
-msgid "Show File Names"
-msgstr "Montrer les noms de fichiers"
-
-#: ../bin/dprmfile.c:82 ../bin/paramfilesearch_ui.c:76
-msgid "Select all"
-msgstr "Tt sélectionner"
-
-#: ../bin/dprmfile.c:84
-msgid "Favorite"
-msgstr "Préféré"
-
-#: ../bin/dprmfile.c:87
-msgid "Search Library"
-msgstr ""
-
-#: ../bin/dprmfile.c:88 ../bin/layout.c:471
-msgid "Browse ..."
-msgstr "Parcourir ..."
-
-#: ../bin/dprmfile.c:331
-#, fuzzy, c-format
-msgid "%d parameter files reloaded."
-msgstr "Lecture des fichiers de paramètres %d ."
-
-#: ../bin/dprmfile.c:333
-#, fuzzy
-msgid "One parameter file reloaded."
-msgstr "Trouver un fichier de paramètres à charger"
-
-#: ../bin/dprmfile.c:434
-msgid "Parameter Files"
-msgstr "Fichiers de paramètres"
-
-#: ../bin/dprmfile.c:437 ../bin/paramfilesearch_ui.c:405
-msgid "Load Parameters"
-msgstr "Chargers des paramètres d'objets"
-
-#: ../bin/dprmfile.c:437 ../bin/paramfilesearch_ui.c:405
-msgid "Parameter files (*.xtp)|*.xtp"
-msgstr "Fichier de paramètres (*.xtp)|*.xtp"
-
-#: ../bin/draw.c:2134
-msgid "Macro Zoom Mode"
-msgstr "Mode zoom macro"
-
-#: ../bin/draw.c:2141
-msgid "Scale 1:1 - Use Ctrl+ to go to Macro Zoom Mode"
-msgstr "Échelle 1:1 - Utilisez Ctrl+Pg.Suiv pour passer en mode Zoom macro"
-
-#: ../bin/draw.c:2145
-msgid "Preset Zoom In Value selected. Shift+Ctrl+PageDwn to reset value"
-msgstr ""
-"Facteur de zoom avant sélectionné. Maj + Ctrl + Pg.Suiv pour réinitialiser "
-"la valeur"
-
-#: ../bin/draw.c:2149
-#, c-format
-msgid "Zoom In Program Value %ld:1, Shift+PageDwn to use"
-msgstr "Zoom programmé Valeur plus grande %ld : 1, à utiliser avec Maj+Pg.Suiv"
-
-#: ../bin/draw.c:2187
-msgid "At Maximum Zoom Out"
-msgstr "Au zoom maximum"
-
-#: ../bin/draw.c:2192
-msgid "Preset Zoom Out Value selected. Shift+Ctrl+PageUp to reset value"
-msgstr ""
-"Facteur de zoom arrière sélectionné. Maj + Ctrl + Pg.Suiv pour réinitialiser "
-"la valeur"
-
-#: ../bin/draw.c:2196
-#, c-format
-msgid "Zoom Out Program Value %ld:1 set, Shift+PageUp to use"
-msgstr "Zoom programmé Valeur supérieure %ld : 1, à utiliser avec Maj+Pg.Préc"
-
-#: ../bin/draw.c:2893
-msgid "Map"
-msgstr "Carte de navigation"
-
-#: ../bin/draw.c:2941
-msgid ""
-"Left-Drag to pan, Ctrl+Left-Drag to zoom, 0 to set origin to zero, 1-9 to "
-"zoom#, e to set to extents"
-msgstr ""
-"Faites glisser à gauche pour recadrer, Ctrl + glisser vers la gauche pour "
-"zoomer, 0 pour définir l'origine à 0.0, 1-9 pour le niveau de zoom#, e pour "
-"définir la taille"
-
-#: ../bin/draw.c:2948
-msgid "Pan Mode - drag point to new position"
-msgstr ""
-"Sélectionner une section - faites glisser le point vers la nouvelle position"
-
-#: ../bin/draw.c:2955
-msgid "Zoom Mode - drag area to zoom"
-msgstr "Mode Zoom - faites glisser la zone pour zoomer"
-
-#: ../bin/draw.c:2981
-msgid "Can't move any further in that direction"
-msgstr "Je ne peux plus avancer dans cette direction"
-
-#: ../bin/draw.c:2983
-msgid "Left click to pan, right click to zoom, 'o' for origin, 'e' for extents"
-msgstr ""
-"Clic gauche pour faire un panoramique, clic droit pour zoomer, 'o' pour "
-"origine, 'e' pour étendue"
-
-#: ../bin/draw.c:3022
-msgid ""
-"Left Drag to Pan, +CTRL to Zoom, 0 to set Origin to 0,0, 1-9 to Zoom#, e to "
-"set to Extent"
-msgstr ""
-"Faites glisser à gauche pour un recadrage, +Ctrl pour zoomer, 0 pour définir "
-"le point de départ sur 0.0, 1-9 pour le niveau de zoom, e pour définir la "
-"taille"
-
-#: ../bin/draw.c:3102
-msgid "Pan/Zoom"
-msgstr "Pan./Zoom"
-
-#: ../bin/draw.c:3113
-msgid "Zoom to 1:1 - '1'"
-msgstr "Zoom sur 1:1 - '1'"
-
-#: ../bin/draw.c:3114
-msgid "Zoom to 1:2 - '2'"
-msgstr "Zoom sur 1:2 - '2'"
-
-#: ../bin/draw.c:3115
-msgid "Zoom to 1:3 - '3'"
-msgstr "Zoom sur 1:3 - '3'"
-
-#: ../bin/draw.c:3116
-msgid "Zoom to 1:4 - '4'"
-msgstr "Zoom sur 1:4 - '4'"
-
-#: ../bin/draw.c:3117
-msgid "Zoom to 1:5 - '5'"
-msgstr "Zoom sur 1:5 - '5'"
-
-#: ../bin/draw.c:3118
-msgid "Zoom to 1:6 - '6'"
-msgstr "Zoom sur 1:6 - '6'"
-
-#: ../bin/draw.c:3119
-msgid "Zoom to 1:7 - '7'"
-msgstr "Zoom sur 1:7 - '7'"
-
-#: ../bin/draw.c:3120
-msgid "Zoom to 1:8 - '8'"
-msgstr "Zoom sur 1:8 - '8'"
-
-#: ../bin/draw.c:3121
-msgid "Zoom to 1:9 - '9'"
-msgstr "Zoom sur 1:9 - '9'"
-
-#: ../bin/draw.c:3125
-msgid "Pan center here - 'c'"
-msgstr "Centre du panoramique ici - 'c'"
-
-#: ../bin/drawgeom.c:76 ../bin/drawgeom.c:91
-msgid "Create Lines"
-msgstr "Créer des lignes"
-
-#: ../bin/drawgeom.c:291
-msgid "+Shift to lock to nearby objects"
-msgstr "+Maj pour verrouiller les objets à proximité"
-
-#: ../bin/drawgeom.c:293
-msgid "+Shift to not lock to nearby objects"
-msgstr "+Maj pour ne pas verrouiller les objets à proximité"
-
-#: ../bin/drawgeom.c:393
-msgid "Drag to next point, +Shift to lock to object, +Ctrl to lock to 90deg"
-msgstr ""
-"Faites glisser vers le point suivant, +Maj pour verrouiller sur l'objet, "
-"+Ctrl pour verrouiller à 90 degrés"
-
-#: ../bin/drawgeom.c:403
-msgid "Drag to place next end point"
-msgstr "Faites glisser pour placer la prochaine extrémité"
-
-#: ../bin/drawgeom.c:434
-msgid "Drag to set radius"
-msgstr "Faites glisser pour définir le rayon"
-
-#: ../bin/drawgeom.c:447
-msgid "Drag set box size"
-msgstr "Faites glisser pour définir la taille du rectangle"
-
-#: ../bin/drawgeom.c:488
-msgid "+Shift - lock to close object, +Ctrl - lock to 90 deg"
-msgstr "+Maj - verrouille pour fermer l'objet, +Ctrl - verrouille à 90 degrés"
-
-#: ../bin/drawgeom.c:536 ../bin/drawgeom.c:592
-#, c-format
-msgid "Length = %s, Angle = %0.2f"
-msgstr "Longueur = %s, Angle = %0.2f"
-
-#: ../bin/drawgeom.c:613
-#, c-format
-msgid "Straight Line: Length=%s Angle=%0.3f"
-msgstr "Ligne droite : Longueur=%s Angle=%0.3f"
-
-#: ../bin/drawgeom.c:635
-#, c-format
-msgid "Curved Line: Radius=%s Angle=%0.3f Length=%s"
-msgstr "Ligne courbe : Rayon = %s Angle = %0.3f Longueur = %s"
-
-#: ../bin/drawgeom.c:659
-#, c-format
-msgid "Radius = %s"
-msgstr "Rayon = %s"
-
-#: ../bin/drawgeom.c:669
-#, c-format
-msgid "Width = %s, Height = %s"
-msgstr "Largeur = %s, Hauteur = %s"
-
-#: ../bin/drawgeom.c:1132
-msgid "Select points or use context menu"
-msgstr "Sélectionnez des points ou utilisez le menu contextuel"
-
-#: ../bin/drawgeom.c:1387
-#, c-format
-msgid "Length = %s, Last angle = %0.2f"
-msgstr "Longueur = %s, Dernier angle = %0.2f"
-
-#: ../bin/drawgeom.c:1538
-msgid "Point Deleted"
-msgstr "Point supprimé"
-
-#: ../bin/drawgeom.c:1934
-msgid "Not close to end of line"
-msgstr "Aucun point de fin à proximité"
-
-#: ../bin/drawgeom.c:1987
-msgid "Not close to ends or middle of mine, reselect"
-msgstr "Pas à une extrémité ou au milieu de la voie resélectionnez"
-
-#: ../bin/drawgeom.c:2035 ../bin/drawgeom.c:2257
-msgid "Drag to Move Corner Point"
-msgstr "Faites glisser pour déplacer le sommet"
-
-#: ../bin/drawgeom.c:2042
-msgid "Drag to Move Edge "
-msgstr "Faites glisser pour déplacer le bord "
-
-#: ../bin/drawgeom.c:2104
-#, c-format
-msgid "Length = %0.3f Angle = %0.3f"
-msgstr "Longueur = %0.3f angle = %0.3f"
-
-#: ../bin/drawgeom.c:2252
-msgid "Drag to Move Edge"
-msgstr "Faites glisser pour déplacer le bord"
-
-#: ../bin/dxfoutput.c:232
-msgid "Export to DXF"
-msgstr "Exporter en DXF"
-
-#: ../bin/fileio.c:240
-msgid ""
-"\n"
-"Do you want to continue?"
-msgstr ""
-"\n"
-"Voulez-vous continuer?"
-
-#: ../bin/fileio.c:607
-#, c-format
-msgid "putTitle: title too long: %s"
-msgstr "poser le titre : titre trop long : %s"
-
-#: ../bin/fileio.c:637
-msgid "Unnamed Trackplan"
-msgstr "Plan de voie sans nom"
-
-#: ../bin/fileio.c:638
-msgid " (R/O)"
-msgstr " (R/O)"
-
-#: ../bin/fileio.c:658 ../bin/fileio.c:1277
-msgid "Check Pointing"
-msgstr "Écrire une sauvegarde"
-
-#: ../bin/fileio.c:788
-msgid "Unknown layout file object - skip until next good object?"
-msgstr ""
-
-#: ../bin/fileio.c:1025
-msgid "Track"
-msgstr "Voie"
-
-#: ../bin/fileio.c:1211
-msgid "Save Tracks"
-msgstr "Sauver le réseau"
-
-#: ../bin/fileio.c:1227
-msgid "Save Tracks As"
-msgstr "Enregistrer les voies sous"
-
-#: ../bin/fileio.c:1238
-msgid "Open Tracks"
-msgstr "Ouvrir un réseau"
-
-#: ../bin/fileio.c:1252
-msgid "Example Tracks"
-msgstr "Exemples de voies"
-
-#: ../bin/fileio.c:1460
-#, c-format
-msgid "Module - %s"
-msgstr "Module - %s"
-
-#: ../bin/fileio.c:1465 ../bin/fileio.c:1486
-msgid "Import Tracks"
-msgstr "Importer des voies"
-
-#: ../bin/fileio.c:1548
-msgid "Export Tracks"
-msgstr "Exporter les voies"
-
-#: ../bin/fileio.c:1567
-msgid "Clipboard"
-msgstr "Presse-papiers"
-
-#: ../bin/filenoteui.c:62 ../bin/linknoteui.c:50 ../bin/textnoteui.c:42
-msgid "Position X"
-msgstr "Position X"
-
-#: ../bin/filenoteui.c:64 ../bin/linknoteui.c:52 ../bin/textnoteui.c:44
-msgid "Position Y"
-msgstr "Position Y"
-
-#: ../bin/filenoteui.c:68 ../bin/linknoteui.c:56
-msgid "Title"
-msgstr "Titre"
-
-#: ../bin/filenoteui.c:70 ../bin/trknote.c:62
-#: ../../../../build/work/app/bin/bllnhlp.c:85
-msgid "Document"
-msgstr "Document"
-
-#: ../bin/filenoteui.c:72
-msgid "Select..."
-msgstr "Sélectionner ..."
-
-#: ../bin/filenoteui.c:74 ../bin/linknoteui.c:60
-msgid "Open..."
-msgstr "Ouvert ..."
-
-#: ../bin/filenoteui.c:136
-msgid "Add Document"
-msgstr "Ajouter un document"
-
-#: ../bin/filenoteui.c:158
-msgid "The file doesn't exist or cannot be read!"
-msgstr "Le fichier n'existe pas ou ne peut pas être lu!"
-
-#: ../bin/filenoteui.c:297
-#, c-format
-msgid "Document(%d) Layer=%d %-.80s [%s]"
-msgstr "Document(%d) Calque=%d %-.80s [%s]"
-
-#: ../bin/filenoteui.c:309
-msgid "Update document"
-msgstr "Mettre à jour le document"
-
-#: ../bin/filenoteui.c:323
-msgid "Describe the file"
-msgstr "Décrivez le fichier"
-
-#: ../bin/filenoteui.c:329
-msgid "Attach document"
-msgstr "Joindre un document"
-
-#: ../bin/i18n.c:66
-#, c-format
-msgid "Gettext initialized (PACKAGE=%s, LOCALEDIR=%s, LC_ALL=%s).\n"
-msgstr ""
-"Obtenir le texte initialisé (PACKAGE =%s, LOCALEDIR =%s, LC_ALL =%s).\n"
-
-#: ../bin/layout.c:373
-#, c-format
-msgid "Unable to load Image File - %s"
-msgstr "Impossible de charger le fichier image -%s"
-
-#: ../bin/layout.c:436
-msgid "Load Background"
-msgstr "Charger l'arrière-plan"
-
-#: ../bin/layout.c:458
-msgid "Room Width"
-msgstr "Largeur du plan"
-
-#: ../bin/layout.c:459
-msgid " Height"
-msgstr " Hauteur"
-
-#: ../bin/layout.c:460
-msgid "Layout Title"
-msgstr "Titre du plan"
-
-#: ../bin/layout.c:461
-msgid "Subtitle"
-msgstr "Sous-titre"
-
-#: ../bin/layout.c:465
-msgid " Gauge"
-msgstr " Ecartement"
-
-#: ../bin/layout.c:467
-msgid "Min Track Radius"
-msgstr "Rayon de voie min"
-
-#: ../bin/layout.c:468
-msgid " Max Track Grade (%)"
-msgstr " Pente maximale de la voie (%)"
-
-#: ../bin/layout.c:470
-msgid "Background File Path"
-msgstr "Chemin d'accès au fichier d'arrière-plan"
-
-#: ../bin/layout.c:474
-msgid "Background PosX,Y"
-msgstr "Arrière-plan, PosX,Y"
-
-#: ../bin/layout.c:478
-msgid "Background Size"
-msgstr "Taille de l'arrière-plan"
-
-#: ../bin/layout.c:480
-msgid "Background Screen %"
-msgstr "Niveau de noir de l'arrière-plan %"
-
-#: ../bin/layout.c:482
-msgid "Background Angle"
-msgstr "Angle de l'arrière-plan"
-
-#: ../bin/layout.c:560
-msgid "Layout Options"
-msgstr "Options du plan"
-
-#: ../bin/linknoteui.c:58
-msgid "URL"
-msgstr "URL"
-
-#: ../bin/linknoteui.c:107
-#, c-format
-msgid ""
-"The entered URL is too long. The maximum allowed length is %d. Please edit "
-"the entered value."
-msgstr ""
-"L'URL saisie est trop longue. La longueur maximale autorisée est %d. "
-"Veuillez modifier la valeur entrée."
-
-#: ../bin/linknoteui.c:110
-msgid "Re-edit"
-msgstr "Modifier à nouveau"
-
-#: ../bin/linknoteui.c:241
-msgid "Update link"
-msgstr "Mise à jour le lien"
-
-#: ../bin/linknoteui.c:259
-msgid "Create link"
-msgstr "Créer un lien"
-
-#: ../bin/macro.c:95
-msgid "Message"
-msgstr "Message"
-
-#: ../bin/macro.c:179
-msgid "Recording"
-msgstr "Enregistrement"
-
-#: ../bin/macro.c:214
-msgid "End of Playback. Hit Step to exit\n"
-msgstr "Fin de la lecture. Appuyez sur Step pour quitter\n"
-
-#: ../bin/macro.c:278
-msgid "Record"
-msgstr "Enregistrer"
-
-#: ../bin/macro.c:676
-msgid "Step"
-msgstr "Pas à pas"
-
-#: ../bin/macro.c:679 ../bin/macro.c:1542
-msgid "Next"
-msgstr "Suivant"
-
-#: ../bin/macro.c:682 ../bin/misc.c:699 ../bin/track.c:1116
-msgid "Quit"
-msgstr "Quitter"
-
-#: ../bin/macro.c:685 ../../../../build/work/app/bin/bllnhlp.c:540
-msgid "Speed"
-msgstr "Vitesse"
-
-#: ../bin/macro.c:832 ../bin/macro.c:877
-msgid "Regression"
-msgstr "Régression"
-
-#: ../bin/macro.c:1043 ../bin/macro.c:1401
-msgid "Demo"
-msgstr "Demo"
-
-#: ../bin/macro.c:1221
-#, c-format
-msgid "Elapsed time %lu\n"
-msgstr "Temps écoulé %lu\n"
-
-#: ../bin/macro.c:1322
-msgid "Playback"
-msgstr "Lecture"
-
-#: ../bin/macro.c:1404
-msgid "Slowest"
-msgstr "Le plus lent"
-
-#: ../bin/macro.c:1405
-msgid "Slow"
-msgstr "Lent"
-
-#: ../bin/macro.c:1407
-msgid "Fast"
-msgstr "Rapide"
-
-#: ../bin/macro.c:1408
-msgid "Faster"
-msgstr "Plus rapide"
-
-#: ../bin/macro.c:1409
-msgid "Fastest"
-msgstr "Le plus rapide"
-
-#: ../bin/macro.c:1527
-msgid "Can not find PARAMETER playback proc"
-msgstr "Vous ne trouvez pas la procédure de lecture PARAMETER"
-
-#: ../bin/misc.c:169
-msgid "No Messages"
-msgstr "Pas de message"
-
-#: ../bin/misc.c:431 ../bin/misc.c:434
-msgid "ABORT"
-msgstr "ANNULER"
-
-#: ../bin/misc.c:433
-msgid ""
-"\n"
-"Do you want to save your layout?"
-msgstr ""
-"\n"
-"Voulez-vous enregistrer votre plan ?"
-
-#: ../bin/misc.c:480
-#, c-format
-msgid "No help for %s"
-msgstr "Aucune aide pour %s"
-
-#: ../bin/misc.c:592
-msgid ""
-"Save changes to the layout design before closing?\n"
-"\n"
-"If you don't save now, your unsaved changes will be discarded."
-msgstr ""
-"Les modifications apportées à la conception du plan doivent-elles être "
-"enregistrées avant de fermer ?\n"
-"\n"
-"Si vous n'enregistrez pas maintenant, vos modifications seront ignorées."
-
-#: ../bin/misc.c:594 ../bin/misc.c:2291
-msgid "&Save"
-msgstr "&Sauver"
-
-#: ../bin/misc.c:594 ../bin/misc.c:629
-msgid "&Cancel"
-msgstr "&Annuler"
-
-#: ../bin/misc.c:594
-msgid "&Don't Save"
-msgstr "&Ne pas enregistrer"
-
-#: ../bin/misc.c:618
-msgid "examples"
-msgstr "exemple"
-
-#: ../bin/misc.c:627
-msgid ""
-"Do you want to return to the last saved state?\n"
-"\n"
-"Revert will cause all changes done since last save to be lost."
-msgstr ""
-"Voulez-vous revenir au dernier état enregistré?\n"
-"\n"
-"La réinitialisation entraînera la perte des modifications apportées depuis "
-"la dernière sauvegarde."
-
-#: ../bin/misc.c:629
-msgid "&Revert"
-msgstr "&Revenir"
-
-#: ../bin/misc.c:851
-msgid "XTrackCAD Font"
-msgstr "XTrackCAD Font"
-
-#: ../bin/misc.c:912
-#, c-format
-msgid "No balloon help for %s\n"
-msgstr "Aucune bulle d'aide pour %s\n"
-
-#: ../bin/misc.c:914 ../../../../build/work/app/bin/bllnhlp.c:603
-#: ../../../../build/work/app/bin/bllnhlp.c:604
-#: ../../../../build/work/app/bin/bllnhlp.c:606
-#: ../../../../build/work/app/bin/bllnhlp.c:607
-#: ../../../../build/work/app/bin/bllnhlp.c:609
-#: ../../../../build/work/app/bin/bllnhlp.c:610
-#: ../../../../build/work/app/bin/bllnhlp.c:611
-#: ../../../../build/work/app/bin/bllnhlp.c:612
-#: ../../../../build/work/app/bin/bllnhlp.c:613
-#: ../../../../build/work/app/bin/bllnhlp.c:614
-#: ../../../../build/work/app/bin/bllnhlp.c:615
-#: ../../../../build/work/app/bin/bllnhlp.c:616
-#: ../../../../build/work/app/bin/bllnhlp.c:617
-#: ../../../../build/work/app/bin/bllnhlp.c:618
-#: ../../../../build/work/app/bin/bllnhlp.c:619
-#: ../../../../build/work/app/bin/bllnhlp.c:620
-#: ../../../../build/work/app/bin/bllnhlp.c:621
-#: ../../../../build/work/app/bin/bllnhlp.c:622
-#: ../../../../build/work/app/bin/bllnhlp.c:623
-#: ../../../../build/work/app/bin/bllnhlp.c:624
-#: ../../../../build/work/app/bin/bllnhlp.c:625
-#: ../../../../build/work/app/bin/bllnhlp.c:626
-#: ../../../../build/work/app/bin/bllnhlp.c:627
-#: ../../../../build/work/app/bin/bllnhlp.c:628
-#: ../../../../build/work/app/bin/bllnhlp.c:629
-#: ../../../../build/work/app/bin/bllnhlp.c:630
-#: ../../../../build/work/app/bin/bllnhlp.c:631
-#: ../../../../build/work/app/bin/bllnhlp.c:632
-#: ../../../../build/work/app/bin/bllnhlp.c:633
-#: ../../../../build/work/app/bin/bllnhlp.c:634
-#: ../../../../build/work/app/bin/bllnhlp.c:635
-#: ../../../../build/work/app/bin/bllnhlp.c:636
-#: ../../../../build/work/app/bin/bllnhlp.c:637
-#: ../../../../build/work/app/bin/bllnhlp.c:638
-#: ../../../../build/work/app/bin/bllnhlp.c:639
-#: ../../../../build/work/app/bin/bllnhlp.c:640
-#: ../../../../build/work/app/bin/bllnhlp.c:641
-#: ../../../../build/work/app/bin/bllnhlp.c:642
-#: ../../../../build/work/app/bin/bllnhlp.c:643
-#: ../../../../build/work/app/bin/bllnhlp.c:644
-#: ../../../../build/work/app/bin/bllnhlp.c:645
-#: ../../../../build/work/app/bin/bllnhlp.c:646
-#: ../../../../build/work/app/bin/bllnhlp.c:647
-#: ../../../../build/work/app/bin/bllnhlp.c:648
-#: ../../../../build/work/app/bin/bllnhlp.c:649
-#: ../../../../build/work/app/bin/bllnhlp.c:650
-#: ../../../../build/work/app/bin/bllnhlp.c:651
-#: ../../../../build/work/app/bin/bllnhlp.c:652
-#: ../../../../build/work/app/bin/bllnhlp.c:653
-#: ../../../../build/work/app/bin/bllnhlp.c:654
-#: ../../../../build/work/app/bin/bllnhlp.c:655
-#: ../../../../build/work/app/bin/bllnhlp.c:656
-#: ../../../../build/work/app/bin/bllnhlp.c:657
-#: ../../../../build/work/app/bin/bllnhlp.c:658
-#: ../../../../build/work/app/bin/bllnhlp.c:659
-#: ../../../../build/work/app/bin/bllnhlp.c:660
-#: ../../../../build/work/app/bin/bllnhlp.c:661
-#: ../../../../build/work/app/bin/bllnhlp.c:662
-#: ../../../../build/work/app/bin/bllnhlp.c:663
-#: ../../../../build/work/app/bin/bllnhlp.c:665
-msgid "No Help"
-msgstr "Pas d'aide"
-
-#: ../bin/misc.c:1022
-#, fuzzy
-msgid "File AutoSaved"
-msgstr "Boutons de fichier"
-
-#: ../bin/misc.c:1233 ../bin/misc.c:1240 ../bin/misc.c:1311
-msgid ""
-"Cancelling the current command will undo the changes\n"
-"you are currently making. Do you want to update?"
-msgstr ""
-"L'annulation de la commande en cours annulera les \n"
-"modifications en cours. Voulez-vous mettre à jour?"
-
-#: ../bin/misc.c:1806
-msgid "Sticky Commands"
-msgstr "Commandes maintenues"
-
-#: ../bin/misc.c:1819
-msgid "File Buttons"
-msgstr "Boutons de fichier"
-
-#: ../bin/misc.c:1819
-msgid "Import/Export Buttons"
-msgstr "Boutons Import/Export"
-
-#: ../bin/misc.c:1819
-msgid "Zoom Buttons"
-msgstr "Boutons de zoom"
-
-#: ../bin/misc.c:1820
-msgid "Undo Buttons"
-msgstr "Annuler les boutons"
-
-#: ../bin/misc.c:1820
-msgid "Easement Button"
-msgstr "Bouton Aide de courbes de transition"
-
-#: ../bin/misc.c:1820
-msgid "SnapGrid Buttons"
-msgstr "Bouton Grille magnétique"
-
-#: ../bin/misc.c:1821
-msgid "Create Track Buttons"
-msgstr "Créer des boutons de voie"
-
-#: ../bin/misc.c:1821
-msgid "Layout Control Elements"
-msgstr "Éléments de contrôle du plan"
-
-#: ../bin/misc.c:1822
-msgid "Modify Track Buttons"
-msgstr "Modifier les boutons de voie"
-
-#: ../bin/misc.c:1822
-msgid "Properties/Select"
-msgstr "Propriétés/Sélectionner"
-
-#: ../bin/misc.c:1823
-msgid "Track Group Buttons"
-msgstr "Boutons de groupe de voies"
-
-#: ../bin/misc.c:1823
-msgid "Train Group Buttons"
-msgstr "Boutons d'exploitation des trains"
-
-#: ../bin/misc.c:1824
-msgid "Create Misc Buttons"
-msgstr "Créer divers boutons"
-
-#: ../bin/misc.c:1824
-msgid "Ruler Button"
-msgstr "Bouton Règle"
-
-#: ../bin/misc.c:1824
-msgid "Layer Buttons"
-msgstr "Boutons de calques"
-
-#: ../bin/misc.c:1825
-msgid "Hot Bar"
-msgstr "Barre rapide"
-
-#: ../bin/misc.c:1894 ../../../../build/work/app/bin/bllnhlp.c:80
-msgid "Change Elevations"
-msgstr "Modifier les élévations"
-
-#: ../bin/misc.c:1912
-msgid "Angle:"
-msgstr "Angle:"
-
-#: ../bin/misc.c:1919
-msgid "Move X:"
-msgstr "Déplacer X :"
-
-#: ../bin/misc.c:1920
-msgid "Move Y:"
-msgstr "Déplacer Y :"
-
-#: ../bin/misc.c:1967
-msgid "Enter Move ..."
-msgstr "Entrez le déplacement ..."
-
-#: ../bin/misc.c:1973
-msgid "180 "
-msgstr "180 "
-
-#: ../bin/misc.c:1974
-msgid "90 CW"
-msgstr "90 CW"
-
-#: ../bin/misc.c:1975
-msgid "45 CW"
-msgstr "45 CW"
-
-#: ../bin/misc.c:1976
-msgid "30 CW"
-msgstr "30 CW"
-
-#: ../bin/misc.c:1977
-msgid "15 CW"
-msgstr "15 CW"
-
-#: ../bin/misc.c:1978
-msgid "15 CCW"
-msgstr "15 CCW"
-
-#: ../bin/misc.c:1979
-msgid "30 CCW"
-msgstr "30 CCW"
-
-#: ../bin/misc.c:1980
-msgid "45 CCW"
-msgstr "45 CCW"
-
-#: ../bin/misc.c:1981
-msgid "90 CCW"
-msgstr "90 CCW"
-
-#: ../bin/misc.c:1982
-msgid "Enter Angle ..."
-msgstr "Entrez l'angle ..."
-
-#: ../bin/misc.c:2013
-msgid "Debug"
-msgstr "Debug"
-
-#: ../bin/misc.c:2144
-msgid "&File"
-msgstr "&Fichier"
-
-#: ../bin/misc.c:2145
-msgid "&Edit"
-msgstr "&Editer"
-
-#: ../bin/misc.c:2146
-msgid "&View"
-msgstr "&Affichage"
-
-#: ../bin/misc.c:2147
-msgid "&Add"
-msgstr "&Ajouter"
-
-#: ../bin/misc.c:2148
-msgid "&Change"
-msgstr "&Modifier"
-
-#: ../bin/misc.c:2149
-msgid "&Draw"
-msgstr "&Dessiner"
-
-#: ../bin/misc.c:2150
-msgid "&Manage"
-msgstr "&Gérer"
-
-#: ../bin/misc.c:2151
-msgid "&Options"
-msgstr "&Options"
-
-#: ../bin/misc.c:2152
-msgid "&Macro"
-msgstr "&Macro"
-
-#: ../bin/misc.c:2153
-msgid "&Window"
-msgstr "&Fenêtre"
-
-#: ../bin/misc.c:2154
-msgid "&Help"
-msgstr "&Aide"
-
-#: ../bin/misc.c:2190
-msgid "Context Commands"
-msgstr "Commandes contextuelles"
-
-#: ../bin/misc.c:2191
-msgid "Shift Context Commands"
-msgstr "Commandes de changement de contexte"
-
-#: ../bin/misc.c:2206 ../bin/misc.c:2393
-msgid "Enable SnapGrid"
-msgstr "Activer la Grille magnétique"
-
-#: ../bin/misc.c:2208
-msgid "SnapGrid Show"
-msgstr "Montrer la grille magnétique"
-
-#: ../bin/misc.c:2210
-msgid " Enable Magnetic Snap"
-msgstr " Activer la Grille magnétique"
-
-#: ../bin/misc.c:2212 ../bin/misc.c:2414
-msgid "Show/Hide Map"
-msgstr "Afficher/Masquer la carte de navigation"
-
-#: ../bin/misc.c:2214
-msgid "Show/Hide Background"
-msgstr "Montrer/cacher l'image d'arrière plan"
-
-#: ../bin/misc.c:2245 ../bin/misc.c:2246
-msgid "Add..."
-msgstr "Ajouter ..."
-
-#: ../bin/misc.c:2249 ../bin/misc.c:2250
-msgid "More..."
-msgstr "Plus ..."
-
-#: ../bin/misc.c:2285
-msgid "&New ..."
-msgstr "&Nouveau ..."
-
-#: ../bin/misc.c:2287
-msgid "&Open ..."
-msgstr "&Ouvrir ..."
-
-#: ../bin/misc.c:2293
-msgid "Save &As ..."
-msgstr "Sauver &Sous ..."
-
-#: ../bin/misc.c:2295
-msgid "Revert"
-msgstr "Revenir"
-
-#: ../bin/misc.c:2298
-msgid "P&rint Setup ..."
-msgstr "R&églages d'impression ..."
-
-#: ../bin/misc.c:2303
-msgid "&Import"
-msgstr "&Importer"
-
-#: ../bin/misc.c:2305
-msgid "Import &Module"
-msgstr "Importation d'un &Module"
-
-#: ../bin/misc.c:2307
-msgid "Export to &Bitmap"
-msgstr "Exporter en &bitmap"
-
-#: ../bin/misc.c:2310
-msgid "E&xport"
-msgstr "E&xporter"
-
-#: ../bin/misc.c:2312
-msgid "Export D&XF"
-msgstr "Exporter en D&XF"
-
-#: ../bin/misc.c:2317
-msgid "Parameter &Files ..."
-msgstr "&Fichiers de paramètres ..."
-
-#: ../bin/misc.c:2319
-msgid "No&tes ..."
-msgstr "R&emarques ..."
-
-#: ../bin/misc.c:2326
-msgid "E&xit"
-msgstr "Q&uitter"
-
-#: ../bin/misc.c:2332
-msgid "&Undo"
-msgstr "&Annuler"
-
-#: ../bin/misc.c:2334
-msgid "R&edo"
-msgstr "R&efaire"
-
-#: ../bin/misc.c:2337
-msgid "Cu&t"
-msgstr "C&ouper"
-
-#: ../bin/misc.c:2339
-msgid "&Copy"
-msgstr "&Copier"
-
-#: ../bin/misc.c:2341
-msgid "&Paste"
-msgstr "&Coller"
-
-#: ../bin/misc.c:2343
-#, fuzzy
-msgid "C&lone"
-msgstr "Fermer"
-
-#: ../bin/misc.c:2345
-msgid "De&lete"
-msgstr "E&ffacer"
-
-#: ../bin/misc.c:2353
-msgid "Select &All"
-msgstr "T&out sélectionner"
-
-#: ../bin/misc.c:2355
-msgid "&Deselect All"
-msgstr "&Tout désélectionner"
-
-#: ../bin/misc.c:2356
-msgid "&Invert Selection"
-msgstr "&Inverser la sélection"
-
-#: ../bin/misc.c:2357
-msgid "Select Stranded Track"
-msgstr "Sélectionnez une voie isolée"
-
-#: ../bin/misc.c:2359
-msgid "Tu&nnel"
-msgstr "Tu&nnel"
-
-#: ../bin/misc.c:2360
-msgid "B&ridge"
-msgstr "P&ont"
-
-#: ../bin/misc.c:2361
-msgid "Ties/NoTies"
-msgstr "Groupées/non groupées"
-
-#: ../bin/misc.c:2362
-msgid "Move to &Front"
-msgstr "Déplacer vers &l'avant"
-
-#: ../bin/misc.c:2363
-msgid "Move to &Back"
-msgstr "Déplacer vers &l'arrière"
-
-#: ../bin/misc.c:2373
-msgid "Zoom &In"
-msgstr "Zoom &avant"
-
-#: ../bin/misc.c:2376
-msgid "Zoom &Out"
-msgstr "Zoom &Arrière"
-
-#: ../bin/misc.c:2386
-msgid "&Redraw"
-msgstr "&Redessiner"
-
-#: ../bin/misc.c:2388
-msgid "Redraw All"
-msgstr "Tout redessiner"
-
-#: ../bin/misc.c:2395
-msgid "Show SnapGrid"
-msgstr "Afficher la Grille magnétique"
-
-#: ../bin/misc.c:2405
-msgid "Enable Magnetic Snap"
-msgstr "Activer la grille Magnétique"
-
-#: ../bin/misc.c:2420
-msgid "&Tool Bar"
-msgstr "&Barre d'outils"
-
-#: ../bin/misc.c:2453
-msgid "Control Element"
-msgstr "Éléments de contrôle"
-
-#: ../bin/misc.c:2479
-msgid "&Loosen Tracks"
-msgstr "&Desserrer les voies"
-
-#: ../bin/misc.c:2491
-msgid "Raise/Lower Elevations"
-msgstr "Monter/Descendre les Elévations"
-
-#: ../bin/misc.c:2500
-msgid "Recompute Elevations"
-msgstr "Recalculer les élévations"
-
-#: ../bin/misc.c:2505
-msgid "Change Scale"
-msgstr "Modifier l'échelle"
-
-#: ../bin/misc.c:2526
-msgid "L&ayout ..."
-msgstr "P&lan ..."
-
-#: ../bin/misc.c:2528
-msgid "&Display ..."
-msgstr "&Affichage ..."
-
-#: ../bin/misc.c:2530
-msgid "Co&mmand ..."
-msgstr "Co&mmande ..."
-
-#: ../bin/misc.c:2532
-msgid "&Easements ..."
-msgstr "&Courbes de transition ..."
-
-#: ../bin/misc.c:2535
-msgid "&Fonts ..."
-msgstr "&Polices ..."
-
-#: ../bin/misc.c:2537
-msgid "Stic&ky ..."
-msgstr "M&aintient ..."
-
-#: ../bin/misc.c:2542
-msgid "&Debug ..."
-msgstr "&Déboguer ..."
-
-#: ../bin/misc.c:2545
-msgid "&Preferences ..."
-msgstr "&Préférences ..."
-
-#: ../bin/misc.c:2547
-msgid "&Colors ..."
-msgstr "&Couleurs ..."
-
-#: ../bin/misc.c:2553
-msgid "&Record ..."
-msgstr "&Enregistrer ..."
-
-#: ../bin/misc.c:2555
-msgid "&Play Back ..."
-msgstr "&Lecture ..."
-
-#: ../bin/misc.c:2561
-msgid "Main window"
-msgstr "Fenêtre principale"
-
-#: ../bin/misc.c:2575
-msgid "Recent Messages"
-msgstr "Messages récents"
-
-#: ../bin/misc.c:2582
-msgid "Tip of the Day..."
-msgstr "Astuce du jour ..."
-
-#: ../bin/misc.c:2583
-msgid "&Demos"
-msgstr "&Demos"
-
-#: ../bin/misc.c:2584
-msgid "Examples..."
-msgstr "Exemples ..."
-
-#: ../bin/misc.c:2588 ../bin/smalldlg.c:222
-msgid "About"
-msgstr "À propos"
-
-#: ../bin/misc.c:2601
-msgid "Tur&nout Designer..."
-msgstr "Conception d'a&iguillage ..."
-
-#: ../bin/misc.c:2604
-msgid "Layout &Control Elements"
-msgstr "Éléments de &contrôle du plan"
-
-#: ../bin/misc.c:2606
-msgid "&Group"
-msgstr "Grouper"
-
-#: ../bin/misc.c:2608
-msgid "&Ungroup"
-msgstr "&Dissocier"
-
-#: ../bin/misc.c:2612
-msgid "Custom defined parts..."
-msgstr "Matériels prototypes ..."
-
-#: ../bin/misc.c:2615
-msgid "Update Turnouts and Structures"
-msgstr "Mise à jour des aiguillages et structures"
-
-#: ../bin/misc.c:2624
-msgid "Layers ..."
-msgstr "Calques ..."
-
-#: ../bin/misc.c:2628
-msgid "Parts &List ..."
-msgstr "N&omenclature ..."
-
-#: ../bin/misc.c:2631
-msgid "Price List..."
-msgstr "Liste de prix ..."
-
-#: ../bin/misc.c:2713
-msgid "Import/Export"
-msgstr "Import/Export"
-
-#: ../bin/misc.c:2743
-msgid ""
-"Program was not terminated properly. Do you want to resume working on the "
-"previous trackplan?"
-msgstr ""
-"Le programme ne s'est pas été terminé correctement. Voulez-vous reprendre le "
-"travail précédent?"
-
-#: ../bin/misc.c:2744
-msgid "Resume"
-msgstr "Résumé"
-
-#: ../bin/misc.c:2744
-msgid "Resume with New Name"
-msgstr ""
-
-#: ../bin/misc.c:2744
-msgid "Ignore Checkpoint"
-msgstr ""
-
-#: ../bin/misc.c:2859
-#, c-format
-msgid "Unnamed Trackplan - %s(%s)"
-msgstr "Plan de voie sans nom -%s(%s)"
-
-#: ../bin/misc.c:2945
-msgid "Initializing commands"
-msgstr "Initialisation des commandes"
-
-#: ../bin/misc.c:2954
-msgid "Initializing menus"
-msgstr "Initialisation des menus"
-
-#: ../bin/misc.c:2989
-msgid "Reading parameter files"
-msgstr "Lecture des fichiers de paramètres"
-
-#: ../bin/misc.c:3026
-msgid "Initialization complete"
-msgstr "Initialisation terminée"
-
-#: ../bin/param.c:92
-msgid "Unexpected End Of String"
-msgstr "Fin de chaîne inattendue"
-
-#: ../bin/param.c:99
-msgid "Expected digit"
-msgstr "Chiffre attendu"
-
-#: ../bin/param.c:106
-msgid "Overflow"
-msgstr "Débordement"
-
-#: ../bin/param.c:154
-msgid "Divide by 0"
-msgstr "Diviser par 0"
-
-#: ../bin/param.c:162
-msgid "Expected /"
-msgstr "Attendu /"
-
-#: ../bin/param.c:248
-msgid "Invalid Units Indicator"
-msgstr "Indicateur d'unités non valide"
-
-#: ../bin/param.c:276
-msgid "Expected End Of String"
-msgstr "Fin de chaîne attendue"
-
-#: ../bin/param.c:302 ../bin/param.c:1406
-#, c-format
-msgid "Invalid Number"
-msgstr "Nombre invalide"
-
-#: ../bin/param.c:361
-msgid "End Of String"
-msgstr "Fin de chaîne"
-
-#: ../bin/param.c:1413
-#, c-format
-msgid "Enter a value > %ld"
-msgstr "Entrez une valeur > %ld"
-
-#: ../bin/param.c:1415
-#, c-format
-msgid "Enter a value < %ld"
-msgstr "Entrez une valeur < %ld"
-
-#: ../bin/param.c:1417
-#, c-format
-msgid "Enter a value between %ld and %ld"
-msgstr "Entrez une valeur entre %ld et %ld"
-
-#: ../bin/param.c:1473
-#, c-format
-msgid "Enter a value > %s"
-msgstr "Entrez une valeur > %s"
-
-#: ../bin/param.c:1476
-#, c-format
-msgid "Enter a value < %s"
-msgstr "Entrez une valeur < %s"
-
-#: ../bin/param.c:1479
-#, c-format
-msgid "Enter a value between %s and %s"
-msgstr "Entrez une valeur entre %s et %s"
-
-#: ../bin/param.c:2643
-msgid "Help"
-msgstr "Aide"
-
-#: ../bin/paramfile.c:250
-msgid "Parameter"
-msgstr "Paramètre"
-
-#: ../bin/paramfile.c:348
-msgid "Unknown param file line - skip until next good object?"
-msgstr ""
-
-#: ../bin/paramfilelist.c:110
-#, c-format
-msgid "Updating %s"
-msgstr "Mise à jour de %s"
-
-#: ../bin/paramfilesearch_ui.c:68
-#, fuzzy
-msgid "Enter at least one search word"
-msgstr "Entrez un seul mot de recherche"
-
-#: ../bin/paramfilesearch_ui.c:77
-#, fuzzy
-msgid "Reload Library"
-msgstr "Recharger"
-
-#: ../bin/paramfilesearch_ui.c:274
-#, c-format
-msgid "%d parameter files found."
-msgstr "Lecture des fichiers de paramètres %d ."
-
-#: ../bin/paramfilesearch_ui.c:284
-msgid "No matches found."
-msgstr "Aucun résultat."
-
-#: ../bin/paramfilesearch_ui.c:396
-#, fuzzy
-msgid "Choose parameter files"
-msgstr "Chercher des fichiers de paramètres"
-
-#: ../bin/paramfilesearch_ui.c:416
-#, fuzzy
-msgid "No system parameter files found, search is disabled."
-msgstr "Aucun fichier de paramètres trouvé, la recherche est désactivée."
-
-#: ../bin/smalldlg.c:64
-msgid "Show tips at start"
-msgstr "Afficher les conseils au démarrage"
-
-#: ../bin/smalldlg.c:70
-msgid "Did you know..."
-msgstr "Saviez-vous que ..."
-
-#: ../bin/smalldlg.c:72
-msgid "Previous Tip"
-msgstr "Précédent"
-
-#: ../bin/smalldlg.c:73
-msgid "Next Tip"
-msgstr "Conseil suivant"
-
-#: ../bin/smalldlg.c:90
-msgid "Tip of the Day"
-msgstr "Astuce du jour"
-
-#: ../bin/smalldlg.c:99
-msgid "No tips are available"
-msgstr "Pas de conseils disponibles"
-
-#: ../bin/smalldlg.c:199
-msgid ""
-"XTrackCAD is a CAD (computer-aided design) program for designing model "
-"railroad layouts."
-msgstr ""
-"XTrackCAD est un programme de CAO (conception assistée par ordinateur) pour "
-"concevoir des plans de chemin de fer miniature."
-
-#: ../bin/tbezier.c:177
-#, c-format
-msgid "Bezier: len=%0.2f min_rad=%0.2f"
-msgstr "Courbe de Bézier : longueur =%0.2f rayon min =%0.2f"
-
-#: ../bin/tbezier.c:250
-msgid "Ctl Pt 1: X,Y"
-msgstr "Ctl Pt 1: X,Y"
-
-#: ../bin/tbezier.c:251
-msgid "Ctl Pt 2: X,Y"
-msgstr "Ctl Pt 2: X,Y"
-
-#: ../bin/tbezier.c:257
-msgid "MinRadius"
-msgstr "RayonMin"
-
-#: ../bin/tbezier.c:262
-msgid "Line Color"
-msgstr "Couleur de ligne"
-
-#: ../bin/tbezier.c:379
-#, c-format
-msgid ""
-"Bezier %s(%d): Layer=%u MinRadius=%s Length=%s EP=[%0.3f,%0.3f] [%0.3f,%"
-"0.3f] CP1=[%0.3f,%0.3f] CP2=[%0.3f, %0.3f]"
-msgstr ""
-"Bezier %s(%d): Calque=%u Rayon Min=%s Longueur=%s EP=[%0.3f,%0.3f] [%0.3f,%"
-"0.3f] CP1=[%0.3f,%0.3f] CP2=[%0.3f, %0.3f]"
-
-#: ../bin/tbezier.c:453
-msgid "Bezier Track"
-msgstr "Voie Bézier"
-
-#: ../bin/tbezier.c:870
-msgid "Merge Bezier"
-msgstr "Fusionner des Bézier"
-
-#: ../bin/tcornu.c:222
-#, c-format
-msgid "Cornu: len=%0.2f min_rad=%0.2f"
-msgstr "Spirale de Cornu : longueur =%0.2f rayon mini =%0.2f"
-
-#: ../bin/tcornu.c:296
-msgid "Radius "
-msgstr "Rayon "
-
-#: ../bin/tcornu.c:304
-msgid "Minimum Radius"
-msgstr "Rayon Minimum"
-
-#: ../bin/tcornu.c:305
-msgid "Max Rate Of Curve Change/Scale"
-msgstr "Taux maximum de variation de courbe/échelle"
-
-#: ../bin/tcornu.c:306
-msgid "Total Winding Angle"
-msgstr "Angle total"
-
-#: ../bin/tcornu.c:444
-#, c-format
-msgid ""
-"Cornu Track(%d): Layer=%u MinRadius=%s Length=%s EP=[%0.3f,%0.3f] [%0.3f,%"
-"0.3f]"
-msgstr ""
-"Voie de Cornu(%d) : couche =%u Rayon Min =%s longueur =%s EP=[%0.3f,%0.3f] "
-"[%0.3f,%0.3f]"
-
-#: ../bin/tcornu.c:497
-msgid "Cornu Track"
-msgstr "Voie de Cornu"
-
-#: ../bin/tcornu.c:1025
-msgid "Merge Cornu"
-msgstr "Fusionner des Cornu"
-
-#: ../bin/tcurve.c:243
-#, c-format
-msgid "Helix: turns=%ld len=%0.2f grade=%0.1f%% sep=%0.2f"
-msgstr ""
-"Hélicoïde : Tours =%ld Longueur =%0.2f Pente =%0.1f%% séparation vert.=%0.2f"
-
-#: ../bin/tcurve.c:249
-#, c-format
-msgid "Helix: turns=%ld len=%0.2f"
-msgstr "Hélicoïde : Tours =%ld Longueur =%0.2f"
-
-#: ../bin/tcurve.c:365 ../bin/tcurve.c:367 ../bin/tease.c:520
-#: ../bin/tease.c:522 ../bin/tstraigh.c:86 ../bin/tstraigh.c:88
-msgid "Z"
-msgstr "Z"
-
-#: ../bin/tcurve.c:373
-msgid "Angular Length"
-msgstr "Longueur angulaire"
-
-#: ../bin/tcurve.c:553
-#, c-format
-msgid ""
-"Helix Track(%d): Layer=%d Radius=%s Turns=%ld Length=%s Center=[%s,%s] EP=[%"
-"0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
-msgstr ""
-"Voie de l'hélicoïde\n"
-"\n"
-"Voie de l'hélicoïde (%d) : Couche =%d Rayon =%s Tours =%ld Longueur =%s "
-"Centre = [%s,%s] EP =[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
-
-#: ../bin/tcurve.c:563
-#, c-format
-msgid ""
-"Curved Track(%d): Layer=%d Radius=%s Length=%s Center=[%s,%s] EP=[%0.3f,%"
-"0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
-msgstr ""
-"Voie courbe (%d) : Couche =%d Rayon =%s Longueur =%s Centre = [%s,%s] EP=[%"
-"0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
-
-#: ../bin/tcurve.c:640
-msgid "Helix Track"
-msgstr "Voie de l'hélicoïde"
-
-#: ../bin/tcurve.c:646
-msgid "Curved Track"
-msgstr "Voie courbe"
-
-#: ../bin/tcurve.c:1011
-msgid "Merge Curves"
-msgstr "Fusionner des courbes"
-
-#: ../bin/tcurve.c:1078
-msgid "Drag to change angle or create tangent"
-msgstr "Faites glisser pour changer d'angle ou créer une tangente"
-
-#: ../bin/tcurve.c:1111 ../bin/tcurve.c:1143
-msgid "Curved "
-msgstr "Courbe "
-
-#: ../bin/tcurve.c:1117
-msgid "Tangent "
-msgstr "Tangente "
-
-#: ../bin/tcurve.c:1126
-#, c-format
-msgid "Tangent track: Length %s Angle %0.3f"
-msgstr "Voie tangente : Longueur %s Angle %0.3f"
-
-#: ../bin/tcurve.c:1148
-#, c-format
-msgid "Curved: Radius=%s Length=%s Angle=%0.3f"
-msgstr "Courbé : Rayon =%s Longueur =%s Angle =%0.3f"
-
-#: ../bin/tease.c:527
-msgid "l0"
-msgstr "l0"
-
-#: ../bin/tease.c:528
-msgid "l1"
-msgstr "l1"
-
-#: ../bin/tease.c:570
-#, c-format
-msgid ""
-"Joint Track(%d): Layer=%d Length=%0.3f EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A"
-"%0.3f]"
-msgstr ""
-"Voie raccordée(%d): Couche=%d Longueur=%0.3f EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%"
-"0.3f A%0.3f]"
-
-#: ../bin/tease.c:615
-msgid "Easement Track"
-msgstr "Voie courbe de transition"
-
-#: ../bin/tease.c:1235
-msgid "Merge Easements"
-msgstr "Fusionner des courbes de transition"
-
-#: ../bin/tease.c:1300
-msgid "Split Easement Curve"
-msgstr "Courbe de transition fractionnée"
-
-#: ../bin/textnoteui.c:214
-#, c-format
-msgid "Note: Layer=%d %-.80s"
-msgstr "Remarque : Calque=%d %-.80s"
-
-#: ../bin/textnoteui.c:225
-msgid "Update comment"
-msgstr "Mettre à jour le commentaire"
-
-#: ../bin/textnoteui.c:237
-msgid "Replace this text with your note"
-msgstr "Remplacez ce texte par votre note"
-
-#: ../bin/textnoteui.c:241
-msgid "Create Text Note"
-msgstr "Créer une note texte"
-
-#: ../bin/track.c:1329
-msgid "Move Objects Above"
-msgstr "Déplacer les objets ci-dessus"
-
-#: ../bin/track.c:1349
-msgid "Mode Objects Below"
-msgstr "Objets ci-dessous"
-
-#: ../bin/track.c:1640
-msgid "Audit"
-msgstr "Vérification"
-
-#: ../bin/track.c:1929
-#, c-format
-msgid "%d Track(s) loosened"
-msgstr "%d Voie(s) détachées"
-
-#: ../bin/track.c:1936
-msgid "No tracks loosened"
-msgstr "Pas de voies détachées"
-
-#: ../bin/track.c:1946 ../bin/track.c:1950
-#, c-format
-msgid "Connecting a non-track(%d) to (%d)"
-msgstr "Connecter un autre objet (%d) à une voie (%d)"
-
-#: ../bin/track.c:2005
-msgid "Join Abutting Tracks"
-msgstr "Raccorder les voies adjacentes"
-
-#: ../bin/track.c:2280 ../bin/track.c:2315
-msgid "Inside turnout track"
-msgstr "Voie d'aiguillage intérieure"
-
-#: ../bin/track.c:2298
-#, c-format
-msgid "Curve: Length=%s Radius=%0.3f Arc=%0.3f"
-msgstr "Courbe : longueur=%s Rayon=%0.3f Arc=%0.3f"
-
-#: ../bin/track.c:2321 ../bin/track.c:2379 ../bin/tstraigh.c:568
-#, c-format
-msgid "Straight: Length=%s Angle=%0.3f"
-msgstr "Droit : Longueur = %s Angle = %0.3f"
-
-#: ../bin/trknote.c:60
-msgid "Comment"
-msgstr "Commentaire"
-
-#: ../bin/trknote.c:61
-msgid "Link"
-msgstr "Lien"
-
-#: ../bin/trknote.c:61 ../../../../build/work/app/bin/bllnhlp.c:101
-msgid "Weblink"
-msgstr "Lien Web"
-
-#: ../bin/trknote.c:638 ../../../../build/work/app/bin/bllnhlp.c:108
-msgid "Place a note on the layout"
-msgstr "Mettre une note sur le plan"
-
-#: ../bin/trknote.c:652
-msgid "New Note"
-msgstr "Nouvelle note"
-
-#: ../bin/trknote.c:708
-msgid "Add notes"
-msgstr "Ajouter des notes"
-
-#: ../bin/tstraigh.c:236
-#, c-format
-msgid ""
-"Straight Track(%d): Layer=%d Length=%s EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A"
-"%0.3f]"
-msgstr ""
-"Voie droite (%d) : Couche =%d Longueur =%s EP =[%0.3f,%0.3f A%0.3f] [%0.3f,%"
-"0.3f A%0.3f]"
-
-#: ../bin/tstraigh.c:481
-msgid "Extending Straight Track"
-msgstr "Extension d'une voie droite"
-
-#: ../bin/tstraigh.c:561
-msgid "Straight "
-msgstr "Trait "
-
-#: ../wlib/gtklib/filesel.c:94
-msgid "Save format:"
-msgstr "Format d'enregistrement :"
-
-#: ../wlib/gtklib/filesel.c:187
-msgid "Image files"
-msgstr "Fichiers images"
-
-#: ../wlib/gtklib/font.c:281
-msgid "Font Select"
-msgstr "Sélection de police"
-
-#: ../wlib/gtklib/help.c:83
-msgid "&Contents"
-msgstr "&Sommaire"
-
-#: ../wlib/gtklib/help.c:84
-msgid "Co&mmand Context help"
-msgstr ""
-
-#: ../wlib/gtklib/ixhelp.c:243
-msgid "Home"
-msgstr "Accueil"
-
-#: ../wlib/gtklib/ixhelp.c:247
-msgid "Contents"
-msgstr "Sommaire"
-
-#: ../wlib/gtklib/menu.c:541
-msgid "<Empty List>"
-msgstr "<Liste vide>"
-
-#: ../wlib/gtklib/notice.c:101 ../wlib/mswlib/mswmisc.c:2102
-#: ../wlib/mswlib/mswmisc.c:2145
-msgid "Warning"
-msgstr "Attention"
-
-#: ../wlib/gtklib/notice.c:106 ../wlib/mswlib/mswmisc.c:2107
-msgid "Error"
-msgstr "Erreur"
-
-#: ../wlib/gtklib/text.c:300
-#, c-format
-msgid "%d of %d"
-msgstr "%d de %d"
-
-#: ../wlib/gtklib/wpref.c:114
-#, c-format
-msgid ""
-"The required configuration files could not be located in the expected "
-"location.\n"
-"\n"
-"Usually this is an installation problem. Make sure that these files are "
-"installed in either \n"
-" %s/share/xtrkcad or\n"
-" /usr/lib/%s or\n"
-" /usr/local/lib/%s\n"
-"If this is not possible, the environment variable %s must contain the name "
-"of the correct directory."
-msgstr ""
-"Les données de configuration nécessaires sont introuvables dans le "
-"répertoire attendu.\n"
-"\n"
-"Il s'agit généralement d'un problème d'installation. Assurez-vous que ces "
-"fichiers sont stockés dans\n"
-" %s/share/xtrkcad or\n"
-" /usr/lib/%s or\n"
-" /usr/local/lib/%s\n"
-"Si cela n'est pas possible, la variable d'environnement %s doit contenir le "
-"nom du répertoire correct."
-
-#: ../wlib/gtklib/wpref.c:148 ../wlib/gtklib/wpref.c:193
-msgid "HOME is not set"
-msgstr "HOME n'est pas défini"
-
-#: ../wlib/gtklib/wpref.c:148 ../wlib/gtklib/wpref.c:157
-#: ../wlib/gtklib/wpref.c:193
-msgid "Exit"
-msgstr "Quitter"
-
-#: ../wlib/gtklib/wpref.c:156
-#, c-format
-msgid "Cannot create %s"
-msgstr "Impossible de créer %s"
-
-#: ../wlib/mswlib/backgnd.c:103
-msgid "Image file is invalid or cannot be read."
-msgstr "Le fichier image n'est pas valide ou ne peut pas être lu."
-
-#: ../wlib/mswlib/mswmenu.c:886
-msgid "Ctrl+"
-msgstr "Ctrl+"
-
-#: ../wlib/mswlib/mswmenu.c:891
-msgid "Alt+"
-msgstr "Alt+"
-
-#: ../wlib/mswlib/mswmenu.c:896
-msgid "Shift+"
-msgstr "Maj+"
-
-#: ../wlib/mswlib/mswmenu.c:902
-msgid "Space"
-msgstr "Espace"
-
-#: ../wlib/mswlib/mswmisc.c:190
-msgid "All image files"
-msgstr "Tous les fichiers image"
-
-#: ../wlib/mswlib/mswmisc.c:192
-msgid "GIF files (*.gif)"
-msgstr "Fichiers GIF (*.gif)"
-
-#: ../wlib/mswlib/mswmisc.c:194
-msgid "JPEG files (*.jpeg,*.jpg)"
-msgstr "Fichier JPEG (*.jpeg,*.jpg)"
-
-#: ../wlib/mswlib/mswmisc.c:196
-msgid "PNG files (*.png)"
-msgstr "Fichier PNG (*.png)"
-
-#: ../wlib/mswlib/mswmisc.c:198
-msgid "TIFF files (*.tiff, *.tif)"
-msgstr "Fichiers TIFF (*.tiff, *.tif)"
-
-#: ../wlib/mswlib/mswmisc.c:200
-msgid "All files (*)"
-msgstr "Tous les fichiers (*)"
-
-#: ../../../../build/work/app/help/messages.h:9
-#, c-format
-msgid ""
-"MSG_CANT_PLACE_FROGPOINTS\tFrog|Points cannot be placed on a turnout, circle "
-"or helix.\tA %s cannot be placed on a turnout, circle or helix."
-msgstr ""
-"MSG_CANT_PLACE_FROGPOINTS\t Coeur|Points ne peuvent pas être placés sur une "
-"aiguille, un cercle ou une hélicoïde. Un %s ne peut pas être placé sur une "
-"aiguille, un cercle ou une hélicoïde."
-
-#: ../../../../build/work/app/help/messages.h:10
-msgid ""
-"MSG_SEL_TRK_FROZEN\tA frozen layer contains selected track. Command cannot "
-"be executed."
-msgstr ""
-"MSG_SEL_TRK_FROZEN\tUn calque gelé contient la voie sélectionnée. La "
-"commande ne peut pas être exécutée."
-
-#: ../../../../build/work/app/help/messages.h:11
-msgid "MSG_HELIX_TURNS_GTR_0\tA Helix must have one or more loops of track."
-msgstr ""
-"MSG_HELIX_TURNS_GTR_0\tUne hélice doit avoir une ou plusieurs boucles de "
-"voie."
-
-#: ../../../../build/work/app/help/messages.h:12
-msgid ""
-"MSG_LARGE_FONT\tA large font has been selected....\tA large font has been "
-"selected.\n"
-"Large fonts may a take a while to load.\n"
-"\n"
-"Do you wish to continue?"
-msgstr ""
-"MSG_LARGE_FONT\tUne grande police a été sélectionnée....\tUne grande police "
-"a été sélectionnée.\n"
-"Le chargement de grandes polices peut prendre un certain temps.\n"
-"\n"
-"Souhaitez-vous continuer?"
-
-#: ../../../../build/work/app/help/messages.h:13
-msgid ""
-"MSG_TODSGN_DESC_NONBLANK\tAll description fields present in the Turnout..."
-"\tAll description fields present in the Turnout\n"
-"Designer must contain appropriate information.\n"
-"Correct inappropriate values and try again."
-msgstr ""
-"MSG_TODSGN_DESC_NONBLANK\tTous les champs de description présents dans "
-"l'éditeur d'aiguillage...\tTous les champs de description présents dans "
-"l'éditeur \n"
-"d'aiguillage doivent contenir les informations appropriées.\n"
-"Corrigez les valeurs inappropriées et réessayez."
-
-#: ../../../../build/work/app/help/messages.h:14
-msgid ""
-"MSG_GROUP_NONBLANK\tAll fields listed in the Group dialog must contain "
-"data....\tAll fields listed in the Group dialog must contain data.\n"
-"Please enter missing values and try again."
-msgstr ""
-"MSG_GROUP_NONBLANK\tTous les champs répertoriés dans la boîte de dialogue "
-"Groupe doivent contenir des données....\tTous les champs répertoriés dans la "
-"boîte de dialogue Groupe doivent contenir des données.\n"
-"Veuillez entrer les valeurs manquantes et réessayer."
-
-#: ../../../../build/work/app/help/messages.h:15
-msgid ""
-"MSG_TODSGN_VALUES_GTR_0\tAll values specified in the Turnout Designer must "
-"be...\tAll values specified in the Turnout Designer must be\n"
-"greater than 0. Correct inappropriate values and try again."
-msgstr ""
-"MSG_TODSGN_VALUES_GTR_0\tToutes les valeurs spécifiées dans l'éditeur "
-"d'aiguillage doivent ...\tToutes les valeurs spécifiées dans Turnout "
-"Designer \n"
-"doivent être supérieures à 0. Corrigez les valeurs inappropriées et "
-"réessayez."
-
-#: ../../../../build/work/app/help/messages.h:16
-msgid "MSG_CURVE_OUT_OF_RANGE\tAngle must be between 0\\u00B0 and 360\\u00B0."
-msgstr ""
-"MSG_CURVE_OUT_OF_RANGE\tL'angle doit être compris entre 0\\u00B0 et 360"
-"\\u00B0."
-
-#: ../../../../build/work/app/help/messages.h:17
-msgid ""
-"MSG_TODSGN_CORNU_TOO_COMPLEX\tThe curves created by the Turnout Designer for "
-"a cornu curve have more than 128 segments....\tThe curves created by the "
-"Turnout Designer for a cornu curve have more than 128 segments.\n"
-"Try adjusting the end angles and radii to be closer in values."
-msgstr ""
-"MSG_TODSGN_CORNU_TOO_COMPLEX\tLes courbes créées avec Conception "
-"d'aiguillage pour une courbe de cornu ont plus de 128 segments ...\tLes "
-"courbes créées avec Conception d'aiguillage pour une courbe de cornu ont "
-"plus de 128 segments.\n"
-"Essayez d'ajuster les angles de fin et les rayons pour vous rapprocher des "
-"valeurs."
-
-#: ../../../../build/work/app/help/messages.h:18
-#, c-format
-msgid ""
-"MSG_CUSTMGM_DELETE_CONFIRM\tAre you sure you want to delete the NNN "
-"definition(s)?\tAre you sure you want to delete the\n"
-"%d definition(s)?"
-msgstr ""
-"MSG_CUSTMGM_DELETE_CONFIRM\tÊtes-vous sûr de vouloir supprimer la ou les "
-"définitions NNN ?\tÊtes-vous sûr de vouloir supprimer le\n"
-"%d définition(s)?"
-
-#: ../../../../build/work/app/help/messages.h:19
-msgid "MSG_WBITMAP_FAILED\tBitmap create or write function failed."
-msgstr ""
-"MSG_WBITMAP_FAILED\tLa fonction de création ou d'écriture bitmap a échoué."
-
-#: ../../../../build/work/app/help/messages.h:20
-msgid "MSG_BITMAP_TOO_LARGE\tBitmap is too large."
-msgstr "MSG_BITMAP_TOO_LARGE\tLe bitmap est trop volumineux."
-
-#: ../../../../build/work/app/help/messages.h:21
-msgid "MSG_CHANGE_ELEV_MODE\tCannot change elevation mode."
-msgstr "MSG_CHANGE_ELEV_MODE\tImpossible de changer le mode d'élevation."
-
-#: ../../../../build/work/app/help/messages.h:22
-msgid ""
-"MSG_GRID_ENABLE_SPACE_GTR_0\tCannot Enable Grid; spacing must be greater "
-"than 0"
-msgstr ""
-"MSG_GRID_ENABLE_SPACE_GTR_0\tImpossible d'activer la grille; l'espacement "
-"doit être supérieur à 0"
-
-#: ../../../../build/work/app/help/messages.h:23
-msgid "MSG_LAYER_FREEZE\tCannot freeze current layer"
-msgstr "MSG_LAYER_FREEZE\tImpossible de geler le calque actuel"
-
-#: ../../../../build/work/app/help/messages.h:24
-msgid ""
-"MSG_CANT_GROUP_BUMPER1\tCannot Group Bumper Track. The track has been "
-"unselected."
-msgstr ""
-"MSG_CANT_GROUP_BUMPER1\tImpossible de regrouper la voie exceptionnelle. La "
-"voie a été désélectionnée."
-
-#: ../../../../build/work/app/help/messages.h:25
-msgid "MSG_CANNOT_GROUP_TRACK\tCannot Group selected track."
-msgstr "MSG_CANNOT_GROUP_TRACK\tImpossible de grouper la voie sélectionnée."
-
-#: ../../../../build/work/app/help/messages.h:26
-msgid "MSG_LAYER_HIDE\tCannot hide current layer"
-msgstr "MSG_LAYER_HIDE\tImpossible de masquer le calque actuel"
-
-#: ../../../../build/work/app/help/messages.h:27
-msgid "MSG_LAYER_MODULE\tCannot turn current layer into a Module"
-msgstr "MSG_LAYER_MODULE\tImpossible de transformer le calque actuel en module"
-
-#: ../../../../build/work/app/help/messages.h:28
-msgid "MSG_JOIN_EASEMENTS\tCannot Join; Easements do not align or abut."
-msgstr ""
-"MSG_JOIN_EASEMENTS\tImpossible de raccorder; Les courbes de transition ne "
-"sont ni alignées ni abouties."
-
-#: ../../../../build/work/app/help/messages.h:29
-#, c-format
-msgid ""
-"MSG_TRK_ALREADY_CONN\tFirst|Second track is already connected.\tCannot Join; "
-"%s track is already connected."
-msgstr ""
-"MSG_TRK_ALREADY_CONN\tLa première|seconde voie est déjà connectée."
-"\tImpossible de raccorder; La voie %s est déjà connectée."
-
-#: ../../../../build/work/app/help/messages.h:30
-msgid "MSG_JOIN_TURNTABLE\tCannot join from a turntable, try to a turntable"
-msgstr ""
-"MSG_JOIN_TURNTABLE\tImpossible de raccorder un pont tournant, essayez de "
-"vous raccorder à lui"
-
-#: ../../../../build/work/app/help/messages.h:31
-msgid "MSG_JOIN_CORNU_SAME\tCannot Join; Selected endpoints are on same track."
-msgstr ""
-"MSG_JOIN_CORNU_SAME\tImpossible de raccorder; Les points de fin sélectionnés "
-"sont sur la même voie."
-
-#: ../../../../build/work/app/help/messages.h:32
-msgid "MSG_JOIN_SAME\tCannot Join; Selected endpoints are on same track."
-msgstr ""
-"MSG_JOIN_SAME\tImpossible de raccorder; Les terminaux sélectionnés sont sur "
-"la même voie."
-
-#: ../../../../build/work/app/help/messages.h:33
-msgid ""
-"MSG_SELECTED_TRACKS_PARALLEL\tCannot Join; Selected tracks are parallel."
-msgstr ""
-"MSG_SELECTED_TRACKS_PARALLEL\tImpossible de raccorder; Les voies "
-"sélectionnées sont parallèles."
-
-#: ../../../../build/work/app/help/messages.h:34
-#, c-format
-msgid ""
-"MSG_PRMFIL_OPEN_NEW\tCannot open New Parameter File: FILENAME\tCannot open "
-"New Parameter File: %s"
-msgstr ""
-"MSG_PRMFIL_OPEN_NEW\tImpossible d'ouvrir le nouveau fichier de paramètres : "
-"FILENAME\tImpossible d'ouvrir le nouveau fichier de paramètres : %s"
-
-#: ../../../../build/work/app/help/messages.h:35
-msgid "MSG_LAYER_SEL_FROZEN\tCannot select a frozen layer"
-msgstr "MSG_LAYER_SEL_FROZEN\tImpossible de sélectionner un calque gelé"
-
-#: ../../../../build/work/app/help/messages.h:36
-msgid ""
-"MSG_GRID_SHOW_SPACE_GTR_0\tCannot Show Grid; spacing must be greater than 0"
-msgstr ""
-"MSG_GRID_SHOW_SPACE_GTR_0\tImpossible d'afficher la grille; l'espacement "
-"doit être supérieur à 0"
-
-#: ../../../../build/work/app/help/messages.h:37
-#, c-format
-msgid "MSG_CANT_SPLIT_TRK\tCannot split TYPE track\tCannot split %s track"
-msgstr ""
-"MSG_CANT_SPLIT_TRK\tImpossible de scinder la voie TYPE\tImpossible de "
-"scinder la voie %s"
-
-#: ../../../../build/work/app/help/messages.h:38
-#, c-format
-msgid ""
-"MSG_CUSTMGM_CANT_WRITE\tCannot write to parameter file: FILENAME\tCannot "
-"write to parameter file: %s"
-msgstr ""
-"MSG_CUSTMGM_CANT_WRITE\tImpossible d'écrire dans le fichier de paramètres : "
-"FILENAME\tImpossible d'écrire dans le fichier de paramètres : %s"
-
-#: ../../../../build/work/app/help/messages.h:39
-msgid "MSG_CARIMP_DUP_INDEX\tCar Index number duplicated."
-msgstr "MSG_CARIMP_DUP_INDEX\tNuméro de véhicule dupliqué."
-
-#: ../../../../build/work/app/help/messages.h:40
-msgid ""
-"MSG_CONN_PARAMS_TOO_SMALL\tConnection parameters reset to minimum values."
-msgstr ""
-"MSG_CONN_PARAMS_TOO_SMALL\tLes paramètres de connexion sont réinitialisés "
-"aux valeurs minimales."
-
-#: ../../../../build/work/app/help/messages.h:41
-msgid "MSG_CONN_PARAMS_TOO_BIG\tConnection parameters reset to maximum values."
-msgstr ""
-"MSG_CONN_PARAMS_TOO_BIG\tLes paramètres de connexion sont réinitialisés aux "
-"valeurs maximales."
-
-#: ../../../../build/work/app/help/messages.h:42
-msgid "MSG_CANT_PASTE\tCopy/Paste buffer is empty. There is nothing to Paste."
-msgstr ""
-"MSG_CANT_PASTE\tLe buffer copier/coller est vide. Il n'y a rien à coller."
-
-#: ../../../../build/work/app/help/messages.h:43
-msgid ""
-"MSG_TODSGN_CROSSOVER_TOO_SHORT\tCrossover length is too short. Correct..."
-"\tCrossover length is too short. Correct\n"
-"inappropriate value(s) and try again."
-msgstr ""
-"MSG_TODSGN_CROSSOVER_TOO_SHORT\tLa longueur de croisement est trop courte. "
-"Corrigez...\tLa longueur de croisement est trop \n"
-"courte. Corrigez les valeurs inappropriées et réessayez."
-
-#: ../../../../build/work/app/help/messages.h:44
-msgid "MSG_CURVE_TOO_LARGE\tCurved track is too large."
-msgstr "MSG_CURVE_TOO_LARGE\tLa voie courbe est trop grande."
-
-#: ../../../../build/work/app/help/messages.h:45
-msgid ""
-"MSG_TODSGN_REPLACE\tDefinition name is already in use. Saving this..."
-"\tDefinition name is already in use. Saving this\n"
-"definition replaces the existing definition.\n"
-"\n"
-"Do you want to continue?"
-msgstr ""
-"MSG_TODSGN_REPLACE\tLe nom de la définition est déjà utilisé. "
-"L'enregistrement...\tLe nom de la définition est déjà utilisé. "
-"L'enregistrement de cette définition \n"
-"remplace la définition existante.\n"
-"\n"
-"Voulez-vous continuer?"
-
-#: ../../../../build/work/app/help/messages.h:46
-msgid "MSG_SAVE_CHANGES\tDo you want to save the changes made to your Layout?"
-msgstr ""
-"MSG_SAVE_CHANGES\tVoulez-vous enregistrer les modifications apportées à "
-"votre plan?"
-
-#: ../../../../build/work/app/help/messages.h:47
-msgid ""
-"MSG_CARIMP_DUP_COLUMNS\tDuplicate column headers found in Car Import file."
-msgstr ""
-"MSG_CARIMP_DUP_COLUMNS\tIl y a des en-têtes de colonne en double trouvées "
-"dans le fichier d'importation de véhicule."
-
-#: ../../../../build/work/app/help/messages.h:48
-msgid "MSG_EP_ON_PATH\tEndpoint already on Path."
-msgstr "MSG_EP_ON_PATH\tLe point de fin est déjà sur le chemin."
-
-#: ../../../../build/work/app/help/messages.h:49
-#, c-format
-msgid ""
-"MSG_UPGRADE_VERSION1\tFile version %ld is greater than supported...\tFile "
-"version %ld is greater than supported\n"
-"version %d. You need to upgrade %s\n"
-"to at least version %s."
-msgstr ""
-"MSG_UPGRADE_VERSION1\tLa version du fichier %ld est supérieure à celle "
-"supportée ...\tLa version du fichier %ld est supérieure \n"
-"à la version prise en charge %d. Vous devez \n"
-"mettre à niveau %s au moins vers la version %s ."
-
-#: ../../../../build/work/app/help/messages.h:50
-#, c-format
-msgid ""
-"MSG_UPGRADE_VERSION2\tFile version %ld is greater than supported...\tFile "
-"version %ld is greater than supported\n"
-"version %d. You need to upgrade your\n"
-"version of %s"
-msgstr ""
-"MSG_UPGRADE_VERSION2\tLa version du fichier %ld est supérieure à celle "
-"supportée...\tLa version du fichier %ld est supérieure à \n"
-"la version prise en charge %d. Vous devez \n"
-"mettre à jour votre version de %s"
-
-#: ../../../../build/work/app/help/messages.h:51
-#, c-format
-msgid ""
-"MSG_LAYOUT_LINES_SKIPPED\tWhile processing Layout file %s, %d lines were "
-"skipped because they were not recognized."
-msgstr ""
-
-#: ../../../../build/work/app/help/messages.h:52
-#, fuzzy, c-format
-msgid ""
-"MSG_PARAM_UPGRADE_VERSION1\tFile version %ld is greater than supported..."
-"\tFile version %ld is greater than supported\n"
-"version %d. You need to upgrade %s\n"
-"to at least version %s."
-msgstr ""
-"MSG_UPGRADE_VERSION1\tLa version du fichier %ld est supérieure à celle "
-"supportée ...\tLa version du fichier %ld est supérieure \n"
-"à la version prise en charge %d. Vous devez \n"
-"mettre à niveau %s au moins vers la version %s ."
-
-#: ../../../../build/work/app/help/messages.h:53
-#, fuzzy, c-format
-msgid ""
-"MSG_PARAM_UPGRADE_VERSION2\tFile version %ld is greater than supported..."
-"\tFile version %ld is greater than supported\n"
-"version %d. You need to upgrade your\n"
-"version of %s"
-msgstr ""
-"MSG_UPGRADE_VERSION2\tLa version du fichier %ld est supérieure à celle "
-"supportée...\tLa version du fichier %ld est supérieure à \n"
-"la version prise en charge %d. Vous devez \n"
-"mettre à jour votre version de %s"
-
-#: ../../../../build/work/app/help/messages.h:54
-#, c-format
-msgid ""
-"MSG_PARAM_LINES_SKIPPED\tWhile processing Parameter file %s, %d lines were "
-"skipped because they were not recognized."
-msgstr ""
-
-#: ../../../../build/work/app/help/messages.h:55
-msgid ""
-"MSG_MOVE_POINTS_OTHER_SIDE\tFrog angle prevents placement of points. Move "
-"points to opposite side of frog."
-msgstr ""
-"MSG_MOVE_POINTS_OTHER_SIDE\tL'angle du cœur empêche le placement des points. "
-"Déplacez les points sur le côté opposé au cœur."
-
-#: ../../../../build/work/app/help/messages.h:56
-msgid "MSG_NO_ROOM_BTW_TRKS\tInsufficient space between existing stall tracks."
-msgstr ""
-"MSG_NO_ROOM_BTW_TRKS\tEspace insuffisant entre les voies de manœuvre "
-"existantes."
-
-#: ../../../../build/work/app/help/messages.h:57
-#, c-format
-msgid ""
-"MSG_JOIN_DIFFER_ELEV\tJoining tracks with differing elevations (N.NNN)"
-"\tJoining tracks with differing elevations (%0.2f)"
-msgstr ""
-"MSG_JOIN_DIFFER_ELEV\tJonction de voies d’élévation différentes (N.NNN)"
-"\tJonction de voies d’élévation différentes (%0.2f)"
-
-#: ../../../../build/work/app/help/messages.h:58
-msgid "MSG_TRK_DESC_NOT_VISIBLE\tLabel description is hidden"
-msgstr "MSG_TRK_DESC_NOT_VISIBLE\tLa description de l'étiquette est masquée"
-
-#: ../../../../build/work/app/help/messages.h:59
-msgid "MSG_DESC_NOT_VISIBLE\tLabel descriptions not visible"
-msgstr "MSG_DESC_NOT_VISIBLE\tDescriptions d'étiquettes non visibles"
-
-#: ../../../../build/work/app/help/messages.h:60
-msgid "MSG_OBJECT_TOO_SHORT\tLength of object is too short."
-msgstr "MSG_OBJECT_TOO_SHORT\tLa longueur de l'objet est trop courte."
-
-#: ../../../../build/work/app/help/messages.h:61
-#, c-format
-msgid ""
-"MSG_PRINT_MAX_SIZE\tMaximum allowed page size is W x H\tMaximum allowed page "
-"size is %s x %s"
-msgstr ""
-"MSG_PRINT_MAX_SIZE\tLa taille de page maximale autorisée est W x H\tLa "
-"taille de page maximale autorisée est %s x %s"
-
-#: ../../../../build/work/app/help/messages.h:62
-msgid ""
-"MSG_NO_PRINTER_SELECTED\tPlease select a printer from the Print Setup dialog."
-msgstr ""
-
-#: ../../../../build/work/app/help/messages.h:63
-#, c-format
-msgid ""
-"MSG_PRMFIL_NO_CONTENTS\tNew Parameter File has no CONTENTS line: FILENAME."
-"\tNew Parameter File has no CONTENTS line: %s"
-msgstr ""
-"MSG_PRMFIL_NO_CONTENTS\tLe nouveau fichier de paramètres n'a pas de ligne "
-"CONTENTS : FILENAME.\tLe nouveau fichier de paramètres n'a pas de ligne "
-"CONTENTS :%s"
-
-#: ../../../../build/work/app/help/messages.h:64
-msgid ""
-"MSG_NO_CARS\tNo Cars are defined for the current scale....\tNo Cars are "
-"defined for the current scale.\n"
-"\n"
-"Do you want to use the Car Inventory dialog?"
-msgstr ""
-"MSG_NO_CARS\tAucune voiture n'est définie pour l'échelle actuelle ..."
-"\tAucune voiture n'est définie pour l'échelle actuelle.\n"
-"\n"
-"Voulez-vous utiliser la boîte de dialogue Car Inventory ?"
-
-#: ../../../../build/work/app/help/messages.h:65
-msgid ""
-"MSG_NO_CARPROTO\tNo Car Prototypes are defined....\tNo Car Prototypes are "
-"defined.\n"
-"Load a Prototype definition file using the\n"
-"Parameter Files dialog or create a Prototype\n"
-"definition using the Car Prototype dialog."
-msgstr ""
-"MSG_NO_CARPROTO\tAucun prototype de voiture n'est défini ....\tAucun "
-"prototype de voiture n'est défini.\n"
-"Chargez un fichier de définition de prototype à l'aide de la boîte \n"
-"de dialogue Fichiers de paramètres ou créez une définition de \n"
-"prototype à l'aide de la boîte de dialogue Prototype de voiture."
-
-#: ../../../../build/work/app/help/messages.h:66
-msgid "MSG_CARIMP_NO_DATA\tNo data present in Car Import file."
-msgstr ""
-"MSG_CARIMP_NO_DATA\tAucune donnée présente dans le fichier d'importation de "
-"véhicule."
-
-#: ../../../../build/work/app/help/messages.h:67
-msgid "MSG_PRINT_NO_PAGES\tNo pages selected for printing."
-msgstr "MSG_PRINT_NO_PAGES\tAucune page sélectionnée pour l'impression."
-
-#: ../../../../build/work/app/help/messages.h:68
-msgid "MSG_NO_PATH_TO_EP\tNo path between Profile and selected endpoint."
-msgstr ""
-"MSG_NO_PATH_TO_EP\tIl n'y a pas de connexion entre le profil de la grotte et "
-"le point final sélectionné."
-
-#: ../../../../build/work/app/help/messages.h:69
-#, c-format
-msgid ""
-"MSG_PRMFIL_NO_MAP\tNo Parameter File Map for CONTENTS\tNo Parameter File Map "
-"for %s"
-msgstr ""
-"MSG_PRMFIL_NO_MAP\tAucun fichier de paramètre de carte pour CONTENTS\tLe "
-"nouveau fichier de paramètres %s ne peut pas être ouvert"
-
-#: ../../../../build/work/app/help/messages.h:70
-msgid "MSG_NO_SELECTED_TRK\tNo track(s) selected!"
-msgstr "MSG_NO_SELECTED_TRK\tAucune voie(s) sélectionnée!"
-
-#: ../../../../build/work/app/help/messages.h:71
-msgid ""
-"MSG_NO_EMPTY_LAYER\tNo layer was found that has no contents, so the module "
-"can not be imported"
-msgstr ""
-"MSG_NO_EMPTY_LAYER\tAucune couche n'a été trouvée sans contenu, le module ne "
-"peut donc pas être importé"
-
-#: ../../../../build/work/app/help/messages.h:72
-#, c-format
-msgid ""
-"MSG_NO_TURNOUTS_AVAILABLE\tNo Turnouts|Structures are available.\tNo %s are "
-"available."
-msgstr ""
-"MSG_NO_TURNOUTS_AVAILABLE\tAucun aiguillages|bâtiments sont disponibles."
-"\tAucun %s n'est disponible."
-
-#: ../../../../build/work/app/help/messages.h:73
-msgid ""
-"MSG_CARDESC_VALUE_ZERO\tNumeric values on the Car Description...\tNumeric "
-"values on the Car Description\n"
-"dialog must be greater than 0."
-msgstr ""
-"MSG_CARDESC_VALUE_ZERO\tValeurs numériques de la description de véhicule…"
-"\tValeurs numériques de la description de véhicule\n"
-"Doit être supérieur à 0."
-
-#: ../../../../build/work/app/help/messages.h:74
-msgid "MSG_MOVE_OUT_OF_BOUNDS\tObject has moved beyond room boundaries."
-msgstr "MSG_MOVE_OUT_OF_BOUNDS\tL'objet a dépassé les limites de la pièce."
-
-#: ../../../../build/work/app/help/messages.h:75
-msgid ""
-"MSG_PARALLEL_SEP_GTR_0\tParallel separation must be greater than 0, or the "
-"new guage must be different than the old."
-msgstr ""
-"MSG_PARALLEL_SEP_GTR_0\tLa séparation parallèle doit être supérieure à 0, ou "
-"le nouveau gabarit doit être différent de l'ancien."
-
-#: ../../../../build/work/app/help/messages.h:76
-msgid ""
-"MSG_CARPART_DUPNAME\tPart Number for this Manufacturer already exists...."
-"\tPart Number for this Manufacturer already exists.\n"
-"\n"
-"Do you want to update it?"
-msgstr ""
-"MSG_CARPART_DUPNAME\tLe numéro de pièce de ce fabricant existe déjà....\tLe "
-"numéro de pièce de ce fabricant existe déjà.\n"
-"\n"
-"Voulez-vous le mettre à jour?"
-
-#: ../../../../build/work/app/help/messages.h:77
-#, c-format
-msgid ""
-"MSG_PLAYBACK_LISTENTRY\tPlayback: Cannot find list entry: NAME\tPlayback: "
-"Cannot find list entry: %s"
-msgstr ""
-"MSG_PLAYBACK_LISTENTRY\tLecture : entrée de liste introuvable : NOM"
-"\tLecture : entrée de liste introuvable : %s"
-
-#: ../../../../build/work/app/help/messages.h:78
-#, c-format
-msgid ""
-"MSG_PLAYBACK_VERSION_UPGRADE\tPlayback file version %ld is...\tPlayback file "
-"version %ld is\n"
-"greater than supported version %d\n"
-"You need to upgrade your version of %s"
-msgstr ""
-"MSG_PLAYBACK_VERSION_UPGRADE\tLa version du fichier de lecture %ld est ..."
-"\tLa version du fichier de lecture %ld est\n"
-"supérieure à la version prise en charge %d\n"
-"Vous devez mettre à jour votre version de %s"
-
-#: ../../../../build/work/app/help/messages.h:79
-#, c-format
-msgid ""
-"MSG_DOMOUSE_BAD_OP\tPlayback: unknown action NNN\tPlayback: unknown action %d"
-msgstr ""
-"MSG_DOMOUSE_BAD_OP\tLecture : action inconnue NNN\tLecture : action inconnue "
-"%d"
-
-#: ../../../../build/work/app/help/messages.h:80
-msgid "MSG_MOVE_POINTS_AWAY_CLOSE\tPoints are to close to frog; move away."
-msgstr ""
-"MSG_MOVE_POINTS_AWAY_CLOSE\tLes points sont trop proches du cœur; s'éloigner."
-
-#: ../../../../build/work/app/help/messages.h:81
-msgid "MSG_POLY_SHAPES_3_SIDES\tPoly shapes must have at least 3 sides."
-msgstr ""
-"MSG_POLY_SHAPES_3_SIDES\tLes Polyformes doivent avoir au moins 3 côtés."
-
-#: ../../../../build/work/app/help/messages.h:82
-msgid "MSG_POLY_MULTIPLE_SELECTED\tCan't delete multiple points at once"
-msgstr ""
-"MSG_POLY_MULTIPLE_SELECTED\tImpossible de supprimer plusieurs points à la "
-"fois"
-
-#: ../../../../build/work/app/help/messages.h:83
-msgid ""
-"MSG_CARPROTO_DUPNAME\tPrototype name already exists....\tPrototype name "
-"already exists.\n"
-"\n"
-"Do you want to update it?"
-msgstr ""
-"MSG_CARPROTO_DUPNAME\tLe nom du prototype existe déjà....\tLe nom du "
-"prototype existe déjà.\n"
-"\n"
-"Voulez-vous le mettre à jour?"
-
-#: ../../../../build/work/app/help/messages.h:84
-msgid "MSG_RADIUS_GTR_0\tRadius must be greater than 0."
-msgstr "MSG_RADIUS_GTR_0\tLe rayon doit être supérieur à 0."
-
-#: ../../../../build/work/app/help/messages.h:85
-msgid "MSG_RADIUS_GTR_10000\tRadius must be less than 10000."
-msgstr "MSG_RADIUS_GTR_10000\tLe rayon doit être inférieur à 10000."
-
-#: ../../../../build/work/app/help/messages.h:86
-msgid ""
-"MSG_RADIUS_TOO_BIG\tThe Circle or Helix will not fit within the layouts room "
-"parameters (Height and Width)."
-msgstr ""
-"MSG_RADIUS_TOO_BIG\tLe cercle ou l'hélicoïde ne rentre pas dans le plan de "
-"la pièce (hauteur et largeur)."
-
-#: ../../../../build/work/app/help/messages.h:87
-#, c-format
-msgid ""
-"MSG_RESCALE_TOO_BIG\tRescaled tracks do not fit within layouts room "
-"parameters...\tRescaled tracks do not fit within layouts room parameters\n"
-"(Height and width). The layouts room parameters should be\n"
-"set to at least %s by %s."
-msgstr ""
-"MSG_RESCALE_TOO_BIG\tLes voies récemment mises à l'échelle ne rentrent pas "
-"dans la pièce...\tLes voies récemment mises à l'échelle ne rentrent pas dans "
-"la pièce\n"
-"(Longueur et largeur). La taille requise est\n"
-"au moins %s sur %s."
-
-#: ../../../../build/work/app/help/messages.h:88
-msgid ""
-"MSG_CARIMP_MISSING_COLUMNS\tRequired column headers missing from Car Import "
-"file."
-msgstr ""
-"MSG_CARIMP_MISSING_COLUMNS\tLes en-têtes de colonne requises sont absentes "
-"du fichier d'importation de véhicule."
-
-#: ../../../../build/work/app/help/messages.h:89
-#, c-format
-msgid ""
-"MSG_2ND_TRK_NOT_SEL_UNSEL\tSecond track must be selected|unselected\tSecond "
-"track must be %s."
-msgstr ""
-"MSG_2ND_TRK_NOT_SEL_UNSEL\t La deuxième voie peut être sélectionnée ou non\t "
-"La deuxième voie doit être %s."
-
-#: ../../../../build/work/app/help/messages.h:90
-msgid "MSG_OUT_OF_BOUNDS\tSelected page is out of bounds."
-msgstr "MSG_OUT_OF_BOUNDS\tLa page sélectionnée est hors de portée."
-
-#: ../../../../build/work/app/help/messages.h:91
-msgid "MSG_SEL_POS_FIRST\tSelect position prior to entering Text."
-msgstr "MSG_SEL_POS_FIRST\tSélectionnez la position avant de saisir du texte."
-
-#: ../../../../build/work/app/help/messages.h:92
-msgid ""
-"MSG_CARPROTO_BADSEGS\tSelected shapes must define a rectangular area ..."
-"\tSelected shapes must define a rectangular\n"
-"area with length greater than height."
-msgstr ""
-"MSG_CARPROTO_BADSEGS\tLes formes sélectionnées doivent définir une zone "
-"rectangulaire ...\tLes formes sélectionnées doivent définir une zone "
-"rectangulaire\n"
-"zone de longueur supérieure à la hauteur."
-
-#: ../../../../build/work/app/help/messages.h:93
-msgid ""
-"MSG_TOO_FAR_APART_DIVERGE\tSelected tracks deviate too much or are too far "
-"apart from each other."
-msgstr ""
-"MSG_TOO_FAR_APART_DIVERGE\tLes voies sélectionnées s'écartent trop ou sont "
-"trop éloignées les unes des autres."
-
-#: ../../../../build/work/app/help/messages.h:94
-msgid "MSG_COMMAND_DISABLED\tSpecified command disabled."
-msgstr "MSG_COMMAND_DISABLED\tCommande spécifiée désactivée."
-
-#: ../../../../build/work/app/help/messages.h:95
-msgid "MSG_SPLIT_POS_BTW_MERGEPTS\tSplit position between Turnout Points"
-msgstr ""
-"MSG_SPLIT_POS_BTW_MERGEPTS\tLe point de séparation est situé entre les "
-"points de l'aiguillage"
-
-#: ../../../../build/work/app/help/messages.h:96
-msgid "MSG_SPLIT_PATH_NOT_UNIQUE\tSplit position not on unique path"
-msgstr "MSG_SPLIT_PATH_NOT_UNIQUE\tLe point de séparation n'est pas clair"
-
-#: ../../../../build/work/app/help/messages.h:97
-#, c-format
-msgid ""
-"MSG_CARIMP_MISSING_DIMS\tThe following car has no dimensions and a...\tThe "
-"following car has no dimensions and a\n"
-"Car Part description can not be found.\n"
-"\n"
-"%s\n"
-"\n"
-"Do you wish to continue importing other Cars?"
-msgstr ""
-"MSG_CARIMP_MISSING_DIMS\tLe véhicule suivant n'a pas de dimensions et une..."
-"\tLe véhicule suivant n'a pas de dimensions et une\n"
-"Une description de véhicule n'existe pas.\n"
-"\n"
-"%s\n"
-"\n"
-"Souhaitez-vous continuer à importer d'autres véhicule ?"
-
-#: ../../../../build/work/app/help/messages.h:98
-#, c-format
-msgid ""
-"MSG_CARIMP_MISSING_PARTNO\tThe following car has no Part Number...\tThe "
-"following car has no Part Number\n"
-"\n"
-"%s\n"
-"\n"
-"Do you wish to continue importing other Cars?"
-msgstr ""
-"MSG_CARIMP_MISSING_PARTNO\tLe véhicule suivant n'a pas de numéro de pièce..."
-"\tLe véhicule suivant n'a pas de numéro de pièce\n"
-"\n"
-"%s\n"
-"\n"
-"Souhaitez-vous continuer à importer d'autres matériels roulants ?"
-
-#: ../../../../build/work/app/help/messages.h:99
-#, c-format
-msgid ""
-"MSG_CARIMP_IGNORED_COLUMN\tThe following column in the Car Import file will "
-"be ignored:...\tThe following column in the Car Import file will be "
-"ignored:\n"
-"\n"
-"%s"
-msgstr ""
-"MSG_CARIMP_IGNORED_COLUMN\tLa colonne suivante du fichier d'importation de "
-"véhicule sera ignorée :...\tLa colonne suivante du fichier d'importation de "
-"véhicule sera ignorée :\n"
-"\n"
-"%s"
-
-#: ../../../../build/work/app/help/messages.h:100
-msgid ""
-"MSG_CANT_MOVE_UNDER_TRAIN\tThe position of a turnout or turntable cannot be "
-"changed while occupied by a train."
-msgstr ""
-"MSG_CANT_MOVE_UNDER_TRAIN\tLa position d'un aiguillage ou d'un pont tournant "
-"ne peut pas être modifiée tant qu'elle est occupée par un train."
-
-#: ../../../../build/work/app/help/messages.h:101
-msgid ""
-"MSG_STRUCT_NO_STRUCTS\tThere are no structures to choose from in the "
-"structure...\tThere are no structures to choose from in the structure\n"
-"selection list. Please check your SCALE, select the\n"
-"<File|Parameter Files> menu to load a Parameter File or\n"
-"create a new Structure with the Group command."
-msgstr ""
-"MSG_STRUCT_NO_STRUCTS\tDans la liste des bâtiments il n'y a pas de "
-"bâtiments...\tDans la liste des bâtiments il n'y a pas de bâtiments \n"
-"pouvant être sélectionnés. Vérifiez l’échelle, sélectionnez \n"
-"un fichier de paramètres dans l’option de menu \n"
-"<Fichier|Fichiers de paramètres> ou créez un nouveau \n"
-"bâtiment à l’aide de la commande Grouper."
-
-#: ../../../../build/work/app/help/messages.h:102
-msgid ""
-"MSG_TURNOUT_NO_TURNOUT\tThere are no turnouts to choose from in the "
-"turnout...\tThere are no turnouts to choose from in the turnout\n"
-"selection list. Please check your SCALE, select the\n"
-"<Manage|Turnout Designer> menu to enter a new turnout\n"
-"or select the <File|Parameter Files> menu to load a\n"
-"Parameter File"
-msgstr ""
-"MSG_TURNOUT_NO_TURNOUT\tIl n'y a pas d'aiguillage dans la sélection "
-"d'aiguillage ...\tIl n'y a pas d'aiguillage dans la sélection d'aiguillage \n"
-"qui puisse être sélectionné. Vérifiez votre ECHELLE, \n"
-"sélectionnez le menu <Gérer|Conception d'aiguillages> \n"
-"pour entrer un nouvel aiguillage ou sélectionnez le menu \n"
-"<Fichier|Fichiers de paramètres> pour charger un autre \n"
-"fichier de paramètres"
-
-#: ../../../../build/work/app/help/messages.h:103
-msgid "MSG_NO_UNCONN_EP\tThere are no unconnected end points for this track"
-msgstr ""
-"MSG_NO_UNCONN_EP\tIl n'y a pas de points de fin non connectés pour cette voie"
-
-#: ../../../../build/work/app/help/messages.h:104
-msgid "MSG_PULL_FEW_SECTIONS\tThere are too few sections in this loop."
-msgstr "MSG_PULL_FEW_SECTIONS\tIl y a trop peu de sections dans cette boucle."
-
-#: ../../../../build/work/app/help/messages.h:105
-msgid "MSG_NO_REDO\tThere is nothing to redo!"
-msgstr "MSG_NO_REDO\tIl n'y a rien à refaire!"
-
-#: ../../../../build/work/app/help/messages.h:106
-msgid "MSG_NO_UNDO\tThere is nothing to undo!"
-msgstr "MSG_NO_UNDO\tIl n'y a rien à défaire!"
-
-#: ../../../../build/work/app/help/messages.h:107
-msgid "MSG_TOOMANYSEGSINGROUP\tToo many segments in Group."
-msgstr "MSG_TOOMANYSEGSINGROUP\tTrop de segments dans le groupe."
-
-#: ../../../../build/work/app/help/messages.h:108
-msgid "MSG_CANNOT_CHANGE\tTrack cannot be changed."
-msgstr "MSG_CANNOT_CHANGE\tLa voie ne peut pas être modifiée."
-
-#: ../../../../build/work/app/help/messages.h:109
-msgid "MSG_POINT_INSIDE_TURNTABLE\tTrack endpoint is within turntable radius."
-msgstr ""
-"MSG_POINT_INSIDE_TURNTABLE\tLe point de fin de la voie est à l'intérieur du "
-"pont tournant."
-
-#: ../../../../build/work/app/help/messages.h:110
-msgid ""
-"MSG_MOVE_POINTS_AWAY_NO_INTERSECTION\tTrack intersection not possible; move "
-"points away from frog."
-msgstr ""
-"MSG_MOVE_POINTS_AWAY_NO_INTERSECTION\tIntersection de la voie impossible; "
-"éloignez les points du cœur."
-
-#: ../../../../build/work/app/help/messages.h:111
-#, c-format
-msgid ""
-"MSG_TRK_TOO_SHORT\tTrack is too short by N.NNN\t%strack is too short by %0.3f"
-msgstr ""
-"MSG_TRK_TOO_SHORT\tLa voie est trop courte autour de N.NNN\tLa voie %s est "
-"trop courte de %0.3f"
-
-#: ../../../../build/work/app/help/messages.h:112
-#, c-format
-msgid ""
-"MSG_RADIUS_LSS_EASE_MIN\tTrack radius (N.NNN) is smaller than easement "
-"minimum (N.NNN).\tTrack radius (%s) is smaller than easement minimum (%s)."
-msgstr ""
-"MSG_RADIUS_LSS_EASE_MIN\tLe rayon de la voie (N.NNN) est inférieur à l'arc "
-"de transition minimum (N.NNN).\tLe rayon de la voie (%s) est inférieur à "
-"l'arc de transition minimum (%s)."
-
-#: ../../../../build/work/app/help/messages.h:113
-msgid ""
-"MSG_CANT_MODIFY_FROZEN_TRK\tTracks in a frozen layer cannot be modified."
-msgstr ""
-"MSG_CANT_MODIFY_FROZEN_TRK\tLes voies d'un calque gelé ne peuvent pas être "
-"modifiées."
-
-#: ../../../../build/work/app/help/messages.h:114
-msgid "MSG_CANT_MODIFY_MODULE_TRK\tTracks in a module cannot be modified."
-msgstr ""
-"MSG_CANT_MODIFY_MODULE_TRK\tLes voies d'un module ne peuvent pas être "
-"modifiées."
-
-#: ../../../../build/work/app/help/messages.h:115
-msgid ""
-"MSG_SEGMENTS_DIFFER\tTurnout definition contains non-track segments...."
-"\tTurnout definition contains non-track segments.\n"
-"\n"
-"Do you want to include them in this update?"
-msgstr ""
-"MSG_SEGMENTS_DIFFER\tLa définition d'aiguillage n'inclut pas que des "
-"voies....\tLa définition d'aiguillage n'inclut pas que des voies.\n"
-"\n"
-"Voulez-vous les inclure dans cette mise à jour ?"
-
-#: ../../../../build/work/app/help/messages.h:116
-msgid "MSG_TURNTABLE_DIAM_GTR_0\tTurntable diameter must greater than 0."
-msgstr ""
-"MSG_TURNTABLE_DIAM_GTR_0\tLe diamètre du pont tournant doit être supérieur à "
-"0."
-
-#: ../../../../build/work/app/help/messages.h:117
-#, c-format
-msgid ""
-"MSG_UNDO_ASSERT\tUndo assertion failure %s:%d...\tUndo assertion failure %s:%"
-"d\n"
-"Val = %ld(%lx)\n"
-"%s\n"
-"Please report this error to the XTrackCAD project development team at "
-"SourceForge."
-msgstr ""
-"MSG_UNDO_ASSERT\tAnnuler l'assertion d'échec %s:%d...\tAnnuler l'assertion "
-"d'échec %s:%d\n"
-"Val = %ld(%lx)\n"
-"%s\n"
-"Signalez cette erreur à l'équipe de développement du projet XTrackCAD de "
-"SourceForge."
-
-#: ../../../../build/work/app/help/messages.h:118
-#, c-format
-msgid ""
-"MSG_PROG_CORRUPTED\tCritical file damaged!...\tCritical file damaged!\n"
-"\n"
-"%s is corrupt.\n"
-"\n"
-"Please reinstall software."
-msgstr ""
-"MSG_PROG_CORRUPTED\tFichier critique endommagé!...\tFichier critique "
-"endommagé!\n"
-"\n"
-"% s est corrompu.\n"
-"\n"
-"Veuillez réinstaller le logiciel."
-
-#: ../../../../build/work/app/help/messages.h:119
-#, c-format
-msgid ""
-"MSG_ENTERED_STRING_TRUNCATED\tThe entered text is too long. Maximum length "
-"is %d."
-msgstr ""
-"MSG_ENTERED_STRING_TRUNCATED\tLe texte saisi est trop long. La longueur "
-"maximale est %d."
-
-#: ../../../../build/work/app/help/messages.h:120
-#, c-format
-msgid "MSG_PT_IS_NOT_TRK\t[X Y] is not a track\t[%s %s] is not a track."
-msgstr ""
-"MSG_PT_IS_NOT_TRK\t[X Y] n'est pas une voie\t[%s %s] n'est pas une voie."
-
-#: ../../../../build/work/app/help/messages.h:121
-msgid ""
-"MSG_BITMAP_SIZE_WARNING\tYou have specified a large Bitmap....\tYou have "
-"specified a large Bitmap.\n"
-"\n"
-"Are you sure you want to continue?"
-msgstr ""
-"MSG_BITMAP_SIZE_WARNING\tVous avez spécifié un bitmap volumineux....\tVous "
-"avez spécifié un bitmap volumineux.\n"
-"\n"
-"Etes-vous sur de vouloir continuer ?"
-
-#: ../../../../build/work/app/help/messages.h:122
-#, c-format
-msgid "Are you sure you want to delete these %d car(s)?"
-msgstr "Êtes-vous sûr de vouloir supprimer ces %d matériels roulants ?"
-
-#: ../../../../build/work/app/help/messages.h:123
-#, c-format
-msgid ""
-"Cannot open %s file:\n"
-"%s:%s"
-msgstr ""
-"Impossible d'ouvrir le fichier %s :\n"
-"%s : %s"
-
-#: ../../../../build/work/app/help/messages.h:124
-#, c-format
-msgid "Cannot create directory: %s - %s"
-msgstr "Impossible de créer le répertoire : %s -%s"
-
-#: ../../../../build/work/app/help/messages.h:125
-#, c-format
-msgid "Cannot open directory: %s"
-msgstr "Impossible d'ouvrir le répertoire : %s"
-
-#: ../../../../build/work/app/help/messages.h:126
-#, c-format
-msgid "Path for deletion is not a directory: %s"
-msgstr "Le chemin de suppression n'est pas un répertoire : %s"
-
-#: ../../../../build/work/app/help/messages.h:127
-#, c-format
-msgid "Open failed for directory: %s"
-msgstr "Échec de l'ouverture du répertoire : %s"
-
-#: ../../../../build/work/app/help/messages.h:128
-#, c-format
-msgid "Can't add directory record %s to zip - %s"
-msgstr "Impossible d'ajouter l'enregistrement du répertoire %s au zip -%s"
-
-#: ../../../../build/work/app/help/messages.h:129
-#, c-format
-msgid "Can't add file record %s to zip at %s - %s"
-msgstr "Impossible d'ajouter l'enregistrement du fichier %s au zip %s - %s"
-
-#: ../../../../build/work/app/help/messages.h:130
-#, c-format
-msgid "Can't create zip %s - %s"
-msgstr "Impossible de créer le zip %s - %s"
-
-#: ../../../../build/work/app/help/messages.h:131
-#, c-format
-msgid "Close failure for zip %s - %s"
-msgstr "Échec de fermeture pour le zip %s - %s"
-
-#: ../../../../build/work/app/help/messages.h:132
-#, c-format
-msgid "Rename failure for zip from %s to %s - %s"
-msgstr "Échec de changement de nom pour le zip de %s à %s - %s"
-
-#: ../../../../build/work/app/help/messages.h:133
-#, c-format
-msgid "Open failure for zip %s - %s"
-msgstr "Échec d'ouverture du zip %s -%s"
-
-#: ../../../../build/work/app/help/messages.h:134
-#, c-format
-msgid "Index failure for zip %s - %s"
-msgstr "Echec de l'index pour les zip %s - %s"
-
-#: ../../../../build/work/app/help/messages.h:135
-#, c-format
-msgid "Open read file failure %s %s"
-msgstr "Échec de l'ouverture du fichier pour la lecture de %s %s"
-
-#: ../../../../build/work/app/help/messages.h:136
-#, c-format
-msgid "Open file in zip failure %s %s"
-msgstr "Erreur lors de l'ouverture du fichier dans le zip %s %s"
-
-#: ../../../../build/work/app/help/messages.h:137
-#, c-format
-msgid "Unlink failed for: %s"
-msgstr "La déconnexion a échoué pour : %s"
-
-#: ../../../../build/work/app/help/messages.h:138
-#, c-format
-msgid "Remove Directory failed for: %s"
-msgstr "Échec de la suppression du répertoire pour : %s"
-
-#: ../../../../build/work/app/help/messages.h:139
-#, c-format
-msgid "Cannot save archive to %s from directory: %s"
-msgstr "Impossible d'enregistrer l'archive dans %s à partir du répertoire : %s"
-
-#: ../../../../build/work/app/help/messages.h:140
-#, c-format
-msgid "Cannot save manifest file to %s"
-msgstr "Impossible d'enregistrer le fichier manifeste dans %s"
-
-#: ../../../../build/work/app/help/messages.h:141
-#, c-format
-msgid "Cannot open manifest file %s"
-msgstr "Impossible d'ouvrir le fichier manifeste %s"
-
-#: ../../../../build/work/app/help/messages.h:142
-#, c-format
-msgid "Cannot unpack file: %s for file: %s in directory: %s"
-msgstr ""
-"Impossible de décompresser le fichier : %s pour le fichier : %s dans le "
-"répertoire : %s"
-
-#: ../../../../build/work/app/help/messages.h:143
-#, c-format
-msgid "Cannot open file %s"
-msgstr "Impossible d'ouvrir le fichier %s"
-
-#: ../../../../build/work/app/help/messages.h:144
-#, c-format
-msgid "Cannot copy file %s into directory %s"
-msgstr "Impossible de copier le fichier %s dans le répertoire %s"
-
-#: ../../../../build/work/app/help/messages.h:145
-#, c-format
-msgid "Unrecognized Option: %s"
-msgstr "Option non reconnue : %s"
-
-#: ../../../../build/work/app/help/messages.h:146
-#, c-format
-msgid ""
-"End-Of-Line is unexpected in a quoted field.\n"
-"%s\n"
-"\n"
-"Do you want to continue reading the file?"
-msgstr ""
-"Fin de voie inattendue entre guillemets.\n"
-"%s\n"
-"\n"
-"Voulez-vous continuer à lire le fichier?"
-
-#: ../../../../build/work/app/help/messages.h:147
-#, c-format
-msgid ""
-"A comma was expected after this quoted field.\n"
-"%s\n"
-"\n"
-"Do you want to continue reading the file?"
-msgstr ""
-"Une virgule attendue après ce champ est manquante.\n"
-"%s\n"
-"\n"
-"Voulez-vous continuer à charger le fichier?"
-
-#: ../../../../build/work/app/help/messages.h:148
-#, c-format
-msgid ""
-"Error \\\\\"%s\\\\\" occurred while writing %s.\n"
-"Please check disk space and system status."
-msgstr ""
-"Une erreur \\\\\"%s\\\\\" s'est produite lors de l'écriture de %s.\n"
-"Veuillez vérifier l'espace disque et l'état du système."
-
-#: ../../../../build/work/app/help/messages.h:149
-#, c-format
-msgid ""
-"At least one path for the Turnout T%d does not\n"
-"terminate on an endpoint. Such a track cannot be grouped.\n"
-"The track has been unselected."
-msgstr ""
-"Au moins un chemin pour l'aiguillage T%d ne se\n"
-"termine pas sur un bout. Une telle voie ne peut pas être groupée.\n"
-"La voie a été désélectionnée."
-
-#: ../../../../build/work/app/help/messages.h:150
-msgid "inv-pathEndTrk on Path."
-msgstr "tracé invalide de fin de voie."
-
-#: ../../../../build/work/app/help/messages.h:151
-msgid "inv-pathStartTrk on Path"
-msgstr "tracé invalide de début de voie"
-
-#: ../../../../build/work/app/help/messages.h:152
-#, c-format
-msgid "%s:%d- %s"
-msgstr "%s:%d- %s"
-
-#: ../../../../build/work/app/help/messages.h:153
-msgid "pathEndTrk not on Path."
-msgstr "tracé de fin de voie invalide."
-
-#: ../../../../build/work/app/help/messages.h:154
-msgid "pathStartTrk not on Path."
-msgstr "tracé invalide de début de voie."
-
-#: ../../../../build/work/app/help/messages.h:155
-msgid ""
-"The tracks cannot be connected together.\n"
-"\n"
-"Try changing some tracks for a closer fit\n"
-"or increase the Connection Angle value on\n"
-"the Preferences dialog."
-msgstr ""
-"Les voies ne peuvent pas être connectées ensemble.\n"
-"\n"
-"Essayez de changer certaines voies pour un ajustement plus serré\n"
-"ou augmentez la valeur Angle de connexion sur\n"
-"la boîte de dialogue \"Options|Préférences\"."
-
-#: ../../../../build/work/app/help/messages.h:156
-msgid ""
-"The tracks cannot be connected together.\n"
-"\n"
-"Try changing some tracks for a closer fit\n"
-"or increase the Connection Distance and\n"
-"Angle values on the Preferences dialog"
-msgstr ""
-"Les voies ne peuvent pas être connectées ensemble.\n"
-"\n"
-"Essayez de changer certaines voies pour un ajustement plus serré\n"
-"ou augmentez la distance de connexion et\n"
-"Valeurs d'angle dans la boîte de dialogue \"Options|Préférences\""
-
-#: ../../../../build/work/app/help/messages.h:157
-msgid ""
-"The tracks cannot be connected together.\n"
-"\n"
-"Try changing some tracks for a closer fit\n"
-"or increase the Connection Distance"
-msgstr ""
-"Les voies ne peuvent pas être connectées ensemble.\n"
-"\n"
-"Essayez de changer certaines voies pour un ajustement plus serré\n"
-"ou augmentez la distance de connexion sur\n"
-"la boîte de dialogue \"Options|Préférences\""
-
-#: ../../../../build/work/app/help/messages.h:158
-msgid ""
-"The first track for the Align\n"
-"Rotate command must be Selected."
-msgstr ""
-"Première voie pour \"Alignement\n"
-"La commande \"Rotation\" doit être sélectionnée."
-
-#: ../../../../build/work/app/help/messages.h:159
-msgid ""
-"The second track for the Align\n"
-"Rotate command must be Unselected."
-msgstr ""
-"La deuxième voie pour l'Aligner\n"
-"La commande de rotation doit être désélectionnée."
-
-#: ../../../../build/work/app/help/messages.h:160
-msgid "Too many selected tracks, drawing tracks as End Point."
-msgstr "Trop de voies sélectionnées, seuls les points de fin sont affichés."
-
-#: ../../../../build/work/app/help/messages.h:161
-msgid "Select an endpoint between two tracks."
-msgstr "Sélectionnez un point de fin entre deux voies."
-
-#: ../../../../build/work/app/help/messages.h:162
-msgid ""
-"According to values that have been entered the diverging\n"
-"track does not connect with the tangent track. Please\n"
-"check the values entered and try again. Check the angle\n"
-"is entered as a frog number or in degrees as specified\n"
-"by Angle Mode radio buttons."
-msgstr ""
-"Avec les valeurs entrées, la voie divergente ne se connecte \n"
-"pas à la voie tangente. Svp vérifiez les valeurs saisies et \n"
-"réessayez. Vérifiez que l'angle est entré en numéro de \n"
-"cœur ou en degrés, comme spécifié par les boutons \n"
-"radio du mode Angle."
-
-#: ../../../../build/work/app/help/messages.h:163
-msgid "Moved before the end of the turnout"
-msgstr "Déplacé avant la fin de l'aiguillage"
-
-#: ../../../../build/work/app/help/messages.h:164
-msgid ""
-"The Coupled Length must be greater than the Car Length,\n"
-"and the Coupler Length must be greater than 0."
-msgstr ""
-"La longueur attelée doit être supérieure à la longueur du chaudron,\n"
-"et la longueur de l'attelage doit être supérieure à 0."
-
-#: ../../../../build/work/app/help/messages.h:165
-msgid ""
-"The Car Length value must be greater\n"
-"than the Car Width value."
-msgstr ""
-"La longueur du véhicule doit \n"
-"être supérieure à sa largeur."
-
-#: ../../../../build/work/app/help/messages.h:166
-msgid ""
-"The specified Index is already in use.\n"
-"The Index will be updated to the next available value."
-msgstr ""
-"Le numéro d'index spécifié est déjà pris.\n"
-"Le numéro d'index est mis à jour avec la valeur libre suivante."
-
-#: ../../../../build/work/app/help/messages.h:167
-msgid ""
-"You have changed values for this object.\n"
-"\n"
-"Are you sure you want to Close?"
-msgstr ""
-"Vous avez apporté des modifications à cet objet\n"
-"\n"
-"Voulez-vous vraiment fermer cette boîte de dialogue?"
-
-#: ../../../../build/work/app/help/messages.h:168
-#, c-format
-msgid ""
-"File version %ld is lower than the minimum\n"
-"supported version %d. You need to update your\n"
-"layout file using an older version of %s"
-msgstr ""
-"La version du fichier %ld est plus ancienne que \n"
-"plus ancienne celle prise en charge %d. Vous \n"
-"devez mettre à jour votre fichier du projet \n"
-"utilisant une ancienne version de %s"
-
-#: ../../../../build/work/app/help/messages.h:169
-#, fuzzy, c-format
-msgid ""
-"File version %ld is lower than the minimum\n"
-"supported version %d.This parameter file will only work using an older "
-"version of %s"
-msgstr ""
-"La version du fichier %ld est plus ancienne que \n"
-"plus ancienne celle prise en charge %d. Vous \n"
-"devez mettre à jour votre fichier du projet \n"
-"utilisant une ancienne version de %s"
-
-#: ../../../../build/work/app/help/messages.h:170
-#, c-format
-msgid ""
-"%s cannot read the demo file:\n"
-"%s"
-msgstr ""
-"%s ne peut pas lire le fichier de démonstration:\n"
-"%s"
-
-#: ../../../../build/work/app/help/messages.h:171
-#, c-format
-msgid "doDemo: bad number (%d)"
-msgstr "doDemo : nombre invalide (%d)"
-
-#: ../../../../build/work/app/help/messages.h:172
-msgid "Playback TIMEEND without TIMESTART"
-msgstr "TIMEEND en lecture sans TIMESTART"
-
-#: ../../../../build/work/app/help/messages.h:173
-#, c-format
-msgid ""
-"Unknown playback command (%d)\n"
-"%s"
-msgstr ""
-"Commande de lecture inconnue (%d)\n"
-"%s"
-
-#: ../../../../build/work/app/help/messages.h:174
-#, c-format
-msgid ""
-"Playback file version %ld is lower than the\n"
-"minimum supported version %d.\n"
-"You need to update your layout file using an\n"
-"older version of %s"
-msgstr ""
-"La version du fichier de lecture %ld est inférieure \n"
-"à la version minimale prise en charge %d.\n"
-"Vous devez mettre à jour votre fichier de plan \n"
-"en utilisant une ancienne version de %s"
-
-#: ../../../../build/work/app/help/messages.h:175
-#, c-format
-msgid "Scale index (%d) is not valid"
-msgstr "L'indice d'échelle (%d) n'est pas valide"
-
-#: ../../../../build/work/app/help/messages.h:176
-#, c-format
-msgid ""
-"Scale %s is not valid\n"
-"Please check your %s.xtq file"
-msgstr ""
-"L'échelle %s n'est pas valide\n"
-"Veuillez vérifier votre fichier %s.xtq"
-
-#: ../../../../build/work/app/help/messages.h:177
-msgid "Cannot extend a helix"
-msgstr "Impossible d'étendre une hélicoïde"
-
-#: ../../../../build/work/app/help/messages.h:178
-msgid "Cannot trim a helix"
-msgstr "Impossible de couper une hélicoïde"
-
-#: ../../../../build/work/app/help/messages.h:179
-msgid "Ignore further audit notices?"
-msgstr "Ignorer les autres indications de protocole?"
-
-#: ../../../../build/work/app/help/messages.h:180
-#, c-format
-msgid "%s"
-msgstr "%s"
-
-#: ../../../../build/work/app/help/messages.h:181
-msgid "Audit Abort?"
-msgstr "Abandonner la vérification ?"
-
-#: ../../../../build/work/app/help/messages.h:182
-msgid "Write Audit File?"
-msgstr "Écrire un fichier journal?"
-
-#: ../../../../build/work/app/help/messages.h:183
-#, c-format
-msgid "checkTrackLength: Short track length = %0.3f"
-msgstr "vérifier la longueur de voie : longueur voie courte =%0.3f"
-
-#: ../../../../build/work/app/help/messages.h:184
-#, c-format
-msgid "checkTrackLength: unknown type: %d"
-msgstr "vérifier la longueur de voie : type inconnu :%d"
-
-#: ../../../../build/work/app/help/messages.h:185
-#, c-format
-msgid "connectTracks: T%d[%d] T%d[%d] d=%0.3f a=%0.3f"
-msgstr "connecter des voies : T%d[%d] T%d[%d] d=%0.3f a=%0.3f"
-
-#: ../../../../build/work/app/help/messages.h:186
-#, c-format
-msgid "GetAngleAtPoint: bad type(%d) for T(%d)"
-msgstr "Obtenir l'angle à un point : type incorrect (%d) pour T (%d)"
-
-#: ../../../../build/work/app/help/messages.h:187
-#, c-format
-msgid "joinTracks: invalid track type=%d"
-msgstr "raccorder des voies : type de voie non valide =%d"
-
-#: ../../../../build/work/app/help/messages.h:188
-#, c-format
-msgid "resolveIndex: T%d[%d]: T%d doesn\\\\'t exist"
-msgstr "revoir l'index : T%d[%d] : T%d n'existe\\\\ pas"
-
-#: ../../../../build/work/app/help/messages.h:189
-msgid "Moved beyond the end of the track"
-msgstr "Déplacé au-delà de la fin de voie"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:9
-msgid "Invokes online help for this dialog"
-msgstr "Ouvre l'aide en ligne pour cette boîte de dialogue"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:10
-msgid "Cancels this command"
-msgstr "Annule cette commande"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:11
-msgid "Closes the dialog"
-msgstr "Fermer la fenêtre de dialogue"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:12
-msgid "About program dialog"
-msgstr "Boîte de dialogue \"A propos de\""
-
-#: ../../../../build/work/app/bin/bllnhlp.c:13
-msgid "Move selected object to top"
-msgstr "Déplacer l'objet sélectionné vers le haut"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:14
-msgid "Raise or lower all selected tracks"
-msgstr "Elever ou abaisser toute les voies sélectionnées"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:15
-msgid "Turn magnetic snap on or off"
-msgstr "Activer ou désactiver la grille magnétique"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:16
-msgid "Move selected object to bottom"
-msgstr "Déplacer l'objet sélectionné vers le bas"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:17
-msgid "Create a section of track for automation"
-msgstr "Créer une section de voie pour l'automatisation"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:18
-msgid "Edit a block definition "
-msgstr "Editer une définition de bloc "
-
-#: ../../../../build/work/app/bin/bllnhlp.c:19
-msgid "Create a new Car/Loco description"
-msgstr "Créer une nouvelle description de wagon/voiture/loco"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:20
-msgid "Manage your Car and Loco Inventory"
-msgstr "Gérez votre inventaire de véhicule"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:21
-msgid "Create track circle from center"
-msgstr "Créer un cercle de voie à partir du centre"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:22
-msgid "Create fixed radius track circle"
-msgstr "Créer une voie circulaire d'un rayon donné"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:23
-msgid "Set Circle Track creation mode"
-msgstr "Choisissez la commande pour créer des courbes de voie"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:24
-msgid "Create track circle from tangent"
-msgstr "Créer une voie circulaire à partir de la tangente"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:25
-msgid "Removes elevation from Selected tracks"
-msgstr "Supprime l'élévation des voies sélectionnées"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:26
-msgid "Copy objects to clipboard and duplicate them in exactly the same place"
-msgstr ""
-
-#: ../../../../build/work/app/bin/bllnhlp.c:27
-msgid "Command Options dialog"
-msgstr "Boîte de dialogue pour les options de commande"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:28
-msgid "Controls colors"
-msgstr "Ajuste les couleurs"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:29
-msgid "Connect two tracks"
-msgstr "Connecter deux voies"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:30
-msgid "Create a control for layout automation"
-msgstr "Créer un contrôle pour l'automatisation du réseau"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:31
-msgid "Select control element to create"
-msgstr "Sélectionner l'élément de contrôle à créer"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:32
-msgid "Manage control elements"
-msgstr "Gérer les contrôles"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:33
-msgid "Set Convert mode"
-msgstr "Définir le mode de conversion"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:34
-msgid "Convert from Fixed Track to Cornu"
-msgstr "Convertir depuis des voies fixes en Cornu"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:35
-msgid "Convert from Cornu and Bezier to Fixed Track"
-msgstr "Convertir depuis des Cornu et Bezier en voies fixes"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:36
-msgid "Copy selected objects to clipboard"
-msgstr "Copier les objets sélectionnés du presse-papiers"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:37
-msgid "Create Cornu track"
-msgstr "Créer une voie Cornu"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:38
-msgid "Create curved track from center"
-msgstr "Créer une voie courbe à partir du centre"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:39
-msgid "Create curved track from chord"
-msgstr "Créer une voie courbe à partir d'une corde"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:40
-msgid "Create curved track from end-point"
-msgstr "Créer une voie courbe à partir de l'extrémité"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:41
-msgid "Create Bezier track"
-msgstr "Créer une voie de Bézier"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:42
-msgid "Set Curve Track creation mode"
-msgstr "Définir le mode de création de voie de courbe"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:43
-msgid "Create curved track from tangent"
-msgstr "Créer une voie courbe à partir de la tangente"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:44
-msgid "Manipulate Custom designer entries"
-msgstr "Éditez vos propres dessins"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:45
-msgid "Moves selected objects to clipboard"
-msgstr "Déplace les objets sélectionnés vers le presse-papiers"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:46
-msgid "Delete objects"
-msgstr "Supprimer des objets"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:47
-msgid "Playback demos"
-msgstr "Lecture des démos"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:48
-msgid "Change Object Properties"
-msgstr "Modifier les propriétés d'un objet"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:49
-msgid "Change to properties mode"
-msgstr "Passer en mode propriétés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:50
-msgid "Deselect all selected objects"
-msgstr "Désélectionner tous les objets"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:51
-msgid "Change Display parameters"
-msgstr "Modifier les paramètres d'affichage"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:52
-msgid "Create benchwork"
-msgstr "Tracer un plateau de travail"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:53
-msgid "Create a box"
-msgstr "Tracer une boite"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:54
-msgid "Set Circle drawing command"
-msgstr "Définir la commande de dessin du cercle"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:55
-msgid "Create a circle"
-msgstr "Créer un cercle"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:56
-msgid "Draw a circle line from center"
-msgstr "Tracer un Cercle à partir du centre"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:57
-msgid "Draw a fixed radius circle line"
-msgstr "Trace un cercle d'un rayon donné"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:58
-msgid "Draw a circle line from tangent"
-msgstr "Tracer un Cercle à partir de la tangente"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:59
-msgid "Set Curve drawing command"
-msgstr "Choisissez la commande pour dessiner des lignes courbes"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:60
-msgid "Create a curved line"
-msgstr "Créer une ligne courbe"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:61
-msgid "Create a curved line from End"
-msgstr "Tracer une courbe à partir de l'extrémité"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:62
-msgid "Create a curved line from center"
-msgstr "Tracer une courbe à partir du centre"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:63
-msgid "Create a curved line from chord"
-msgstr "Tracer une courbe à partir de la corde"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:64
-msgid "Create a curved line from tangent"
-msgstr "Tracer une courbe à partir de la tangente"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:65
-msgid "Create a Bezier line"
-msgstr "Tracer une ligne de Bézier"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:66
-msgid "Create a dimension line"
-msgstr "Tracer une ligne de cote"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:67
-msgid "Create a filled box"
-msgstr "Tracer une boite pleine"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:68
-msgid "Create a filled circle"
-msgstr "Créer un cercle rempli"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:69
-msgid "Draw a filled circle from center"
-msgstr "Tracer un Cercle plein autour du centre"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:70
-msgid "Draw a fixed radius filled circle"
-msgstr "Trace un cercle plein d'un rayon donné"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:71
-msgid "Draw a filled circle from tangent"
-msgstr "Tracer un Cercle plein depuis la tangente"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:72
-msgid "Create a polygon"
-msgstr "Tracer un polygone"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:73
-msgid "Create a filled polygon"
-msgstr "Tracer un polygone plein"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:74
-msgid "Create a polyline"
-msgstr "Tracer une polyligne"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:75
-msgid "Create a straight line"
-msgstr "Tracer une ligne droite"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:76
-msgid "Set Line drawing command"
-msgstr "Choisissez la commande pour dessiner des lignes"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:77
-msgid "Set Shape drawing command"
-msgstr "Choisir la commande pour dessiner des formes"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:78
-msgid "Draw table edge"
-msgstr "Tracer le bord de table"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:79
-msgid "Easement menu"
-msgstr "Menu courbes de transition"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:81
-msgid "Generate a Parts List of selected objects"
-msgstr "Créer une liste de pièces à partir des objets sélectionnés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:82
-msgid "Set Import/Export mode"
-msgstr "Définir le mode Import/Export"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:83
-msgid "Export a .xti file"
-msgstr "Exporter un fichier *.xti"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:84
-msgid "Export a DXF file"
-msgstr "Exporter dans un fichier DXF"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:86
-msgid "Flip selected objects"
-msgstr "Retourner les objets sélectionnés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:87
-msgid "Adjust snap grid"
-msgstr "Ajuster la grille magnétique"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:88
-msgid "Enable snap grid"
-msgstr "Activer la grille magnétique"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:89
-msgid "Show snap grid"
-msgstr "Afficher la grille magnétique"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:90
-msgid "Create a structure from a Group of objects"
-msgstr "Créer une bâtiment à partir d'un groupe d'objets"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:91
-msgid "Create a hand-laid turnout"
-msgstr "Créer un aiguillage conçu en manuel"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:92
-msgid "Create a track helix"
-msgstr "Créer une voie hélicoïdale"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:93
-msgid "Import a .xti file"
-msgstr "Importer un fichier *.xti"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:94
-msgid "Import an .xti file as a Module"
-msgstr "Importez un fichier .xti en tant que module"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:95
-msgid "Join two tracks"
-msgstr "Raccorder deux voies"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:96
-msgid "Join two lines or polylines"
-msgstr "Raccorder deux lignes ou polylignes"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:97
-msgid "Set Join mode"
-msgstr "Définir le mode Raccorder"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:98
-msgid "Change Layers"
-msgstr "Changer de calques"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:99
-msgid "Selects the current drawing layer"
-msgstr "Sélectionne le calque courant du dessin"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:100
-msgid "Layout parameters"
-msgstr "Paramètres de calques"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:102
-msgid "Show/Hide Map Window"
-msgstr "Afficher/Masquer la fenêtre de navigation"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:103
-msgid "Modify or extend a track"
-msgstr "Modifier ou prolonger une voie"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:104
-msgid "Change To modify mode"
-msgstr "Changer pour Modifier le mode"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:105
-msgid "Move selected objects"
-msgstr "Déplacer les objets sélectionnés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:106
-msgid "Move a label"
-msgstr "Déplacer une étiquette"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:107
-msgid "Move selected objects to current layer"
-msgstr "Déplacer les objets sélectionnés vers le calque actuel"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:109
-msgid "Print a bitmap"
-msgstr "Imprimer un BitMap"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:110
-msgid "Pan or zoom the layout"
-msgstr "Panoramique ou zoom sur le plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:111
-msgid "Change to zoom/pan mode"
-msgstr "Passer en mode zoom/pan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:112
-msgid "Create a parallel track"
-msgstr "Créer une voie parallèle"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:113
-msgid "Create a parallel line"
-msgstr "Tracer une ligne parallèle"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:114
-msgid "Set Parallel mode"
-msgstr "Définir le mode parallèle"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:115
-msgid "Register"
-msgstr "Registre"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:116
-msgid "Copy objects from clipboard"
-msgstr "Copier les objets du presse-papiers"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:117
-msgid "Perferences dialog"
-msgstr "Boîte de dialogue des préférences"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:118
-msgid "Display prices of turnouts, sectional tracks and structures"
-msgstr ""
-"Affichage des prix des aiguillages, des sections de voies et des bâtiments"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:119
-msgid "Print the layout"
-msgstr "Imprimer le plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:120
-msgid "Loads and unloads parameter files into/from toolbar"
-msgstr ""
-"Charge et décharge les fichiers de paramètres dans/depuis la barre d'outils"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:121
-msgid "Elevation Profile Command"
-msgstr "Commande de profil d'élévation"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:123
-msgid "Command recorder"
-msgstr "Enregistrement de commande"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:125
-msgid "Update selected Turnout and Structure definitions"
-msgstr ""
-"Mettre à jour les définitions sélectionnées d'aiguillage et de bâtiment"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:126
-msgid "Rescale selected objects"
-msgstr "Changer d'échelle les objets sélectionnés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:127
-msgid "Rotate selected object(s)"
-msgstr "Faire pivoter le ou les objets sélectionnés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:128
-msgid "Show a ruler"
-msgstr "Afficher une règle"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:129
-msgid "Select objects"
-msgstr "Sélectionnez des objets"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:130
-msgid "Change To Select Mode"
-msgstr "Passer en mode sélection"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:131
-msgid "Selects all objects on the layout"
-msgstr "Sélectionne tous les objets du plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:132
-msgid "Selects all objects in the current Layer"
-msgstr "Sélectionne tous les objets du calque actuel"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:133
-msgid "Invert current selection"
-msgstr "Inverser la sélection actuelle"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:134
-msgid "Split a track"
-msgstr "Segmenter une voie"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:135
-msgid "Select stranded (unconnected) track pieces"
-msgstr "Sélectionner des segments de voie isolés (non connectés)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:136
-msgid "Create a sensor (ie. a occupancy detector or a toggle switch)"
-msgstr ""
-"Créer un capteur (c.a.d. détecteur de présence ou interrupteur à bascule)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:137
-msgid "Create a signal for train control"
-msgstr "Créer un signal pour le contrôle du train"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:138
-msgid "Choose which commands are sticky"
-msgstr "Choisissez les commandes qui sont maintenues (sticky)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:139
-msgid "Create straight track"
-msgstr "Créer une voie droite"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:140
-msgid "Place a structure on the layout"
-msgstr "Mettre une bâtiment sur le plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:141
-msgid "Create a switchmotor for turnout control"
-msgstr "Créer un moteur pour le contrôle d'un aiguillage"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:142
-msgid "Edit a switchmotor definition"
-msgstr "Editer une définition de moteur d'aiguillage"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:143
-msgid "Enter text on the layout"
-msgstr "Entrer du texte sur le plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:144
-#: ../../../../build/work/app/bin/bllnhlp.c:531
-msgid "Controls the size of the entered text"
-msgstr "Ajuste la taille du texte saisi"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:145
-msgid "Plain Text"
-msgstr "Texte simple"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:146
-msgid "Tip of the Day window"
-msgstr "Fenêtre d'astuce du jour"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:147
-msgid "Run Trains"
-msgstr "Mode Trains"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:148
-msgid "Change To Run Trains Mode"
-msgstr "Passer en mode Trains"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:149
-msgid "Pause/Resume Trains"
-msgstr "Pause/Go Trains"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:150
-msgid "Place a car on the layout"
-msgstr "Mettre un véhicule sur le plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:151
-msgid "Exit Trains"
-msgstr "Quitter \"Trains\""
-
-#: ../../../../build/work/app/bin/bllnhlp.c:152
-msgid "Hide/Unhide a track"
-msgstr "Masquer/afficher une voie"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:153
-msgid "Make/Unmake a track a bridge"
-msgstr "Construire/défaire une voie un pont"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:154
-msgid "Place a turnout or sectional track"
-msgstr "Placer un aiguillage ou une section de voie"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:155
-msgid "Create a new turnout definition"
-msgstr "Créer une nouvelle définition d'aiguillage"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:156
-msgid "Place a turntable"
-msgstr "Mettre un pont tournant"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:157
-msgid "Updates old source files with 3 part titles"
-msgstr "Met à jour les anciens fichiers source avec des titres en 3 parties"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:159
-msgid "Ungroup objects"
-msgstr "Dissocier l'objet"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:160
-msgid "Draw tracks with thin lines"
-msgstr "Tracez des voies avec des voies fines"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:161
-msgid "Draw tracks with medium lines"
-msgstr "Tracez des voies avec des voies moyennes"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:162
-msgid "Draw tracks with thick lines"
-msgstr "Tracez des voies avec des voies épaisses"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:163
-msgid "Change drawing scale"
-msgstr "Changer l'échelle de dessin"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:164
-#: ../../../../build/work/app/bin/bllnhlp.c:176
-msgid "Zoom in"
-msgstr "Zoom avant"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:165
-#: ../../../../build/work/app/bin/bllnhlp.c:177
-msgid "Zoom out"
-msgstr "Zoom arrière"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:166
-msgid "File Menu"
-msgstr "Menu fichier"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:167
-msgid "Save layout"
-msgstr "Enregistrer le plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:168
-msgid "Save layout under a new name "
-msgstr "Enregistrer le plan sous un nouveau nom "
-
-#: ../../../../build/work/app/bin/bllnhlp.c:169
-msgid "New layout"
-msgstr "Nouveau plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:170
-msgid "Generate parts list"
-msgstr "Créer une liste de pièces"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:171
-msgid "Load a layout"
-msgstr "Charger un plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:172
-msgid "Exit the program"
-msgstr "Quitter le programme"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:173
-msgid "Revert to last saved state of layout plan"
-msgstr "Revenir au dernier état enregistré du plan de réseau"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:174
-msgid "Edit menu"
-msgstr "Menu d'édition"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:175
-msgid "Redraw layout"
-msgstr "Redessiner le plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:178
-#: ../../../../build/work/app/bin/bllnhlp.c:181
-msgid "Tools menu"
-msgstr "Menu d'outils"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:179
-msgid "View menu"
-msgstr "Afficher le menu"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:180
-msgid "Toolbar configuration"
-msgstr "Configuration de la barre d'outils"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:182
-msgid "Options menu"
-msgstr "Menu d'options"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:183
-msgid "Playback/Record commands"
-msgstr "Commandes de Lecture/Enregistrement"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:184
-msgid "Window menu"
-msgstr "Menu fenêtre"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:185
-msgid "Help menu"
-msgstr "Menu d'aide"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:186
-msgid "Recent error messages and explanations"
-msgstr "Messages d'erreur récents et explications"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:187
-msgid "Move Hot Bar left"
-msgstr "Faire défiler la Hot Bar à gauche"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:188
-msgid "Move Hot Bar right"
-msgstr "Faire défiler la Hot Bar à droite"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:189
-msgid "Total track count"
-msgstr "Nombre total de voies"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:190
-msgid "X Position of cursor"
-msgstr "Position X du curseur"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:191
-msgid "Y Position of cursor"
-msgstr "Position Y du curseur"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:192
-msgid "Drawing scale"
-msgstr "Échelle du dessin"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:193
-msgid "Message and status line"
-msgstr "Message et ligne d'état"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:194
-#: ../../../../build/work/app/bin/bllnhlp.c:195
-msgid "Main layout canvas"
-msgstr "Zone de dessin principale"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:196
-msgid "Main drawing canvas"
-msgstr "Zone de travail principale"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:197
-msgid "Command buttons"
-msgstr "Boutons de commande"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:198
-msgid "Menus"
-msgstr "Menus"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:199
-msgid "Tile, Filename and Window Manager buttons"
-msgstr "Boutons, Nom de fichier et Gestionnaire de fenêtres"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:200
-msgid "Turnout and Structure Hot Bar"
-msgstr "Barre de sélection des aiguillages et bâtiments"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:201
-msgid "Active layer list and layer buttons"
-msgstr "Liste de calques actifs et boutons de calque"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:202
-msgid "Map window"
-msgstr "Fenêtre principale"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:203
-msgid "This is the portion of the layout shown in the Main Window canvas"
-msgstr ""
-"Il s'agit de la partie du plan affichée dans le zone de dessin de la fenêtre "
-"principale"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:204
-msgid "Raise or Lower all Selected Track"
-msgstr "Elever ou abaisser toute la voie sélectionnée"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:205
-msgid "Name of block"
-msgstr "Nom du bloc"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:206
-msgid "Script that the block will run"
-msgstr "Script d'exécution du bloc"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:207
-msgid "List of tracks in the Block"
-msgstr "Liste des voies du bloc"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:208
-msgid "Add or Update car object"
-msgstr "Ajouter ou mettre à jour un objet véhicule"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:209
-msgid "Manufacturer name"
-msgstr "Nom du fabricant"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:212
-msgid "Is the Car a Locomotive?"
-msgstr "Le véhicule est-il une locomotive?"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:213
-msgid "Part Number and Description"
-msgstr "Référence N° et description"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:214
-msgid "Manufacturer Part Number"
-msgstr "Référence fabricant"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:215
-msgid "Use the Selected figure as the car image"
-msgstr "Utilisez la figure sélectionnée comme image de véhicule"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:216
-msgid "Use the default figure as the car image"
-msgstr "Utilisez la figure par défaut comme image de véhicule"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:217
-msgid "Optional description of the Car Part"
-msgstr "Description facultative du modèle de véhicule"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:218
-msgid "Flip car image"
-msgstr "Effet miroir d'un véhicule"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:219
-msgid "Display Car Item information or reporting marks and dimensions"
-msgstr ""
-"Afficher des informations sur le véhicule ou la plaque d'immatriculation et "
-"les dimensions"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:220
-msgid "Full Roadname"
-msgstr "Nom complet de la route"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:221
-#: ../../../../build/work/app/bin/bllnhlp.c:222
-msgid "Car Type"
-msgstr "Type de véhicule"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:223
-msgid "Reporting Marks (Roadname abbreviation)"
-msgstr "Sigles (abréviation du nom du réseau)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:224
-#: ../../../../build/work/app/bin/bllnhlp.c:411
-msgid "Car Number"
-msgstr "N° de véhicule"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:225
-msgid "Car body Color"
-msgstr "Couleur de carrosserie"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:226
-msgid "Length of car body"
-msgstr "Longueur du chaudron"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:227
-msgid "Width of car body"
-msgstr "Largeur du chaudron"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:228
-msgid "Distance between Trucks "
-msgstr "Distance entre les bogies "
-
-#: ../../../../build/work/app/bin/bllnhlp.c:229
-msgid "Distance Trucks are displaced along Car"
-msgstr ""
-
-#: ../../../../build/work/app/bin/bllnhlp.c:230
-msgid "Coupler are mounted on body or truck"
-msgstr "Les attelages sont montés sur les chassis ou les bogies"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:231
-msgid "Overall Coupled Length"
-msgstr "Longueur totale couplée"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:232
-msgid "Coupler Length from end of car"
-msgstr "Longueur de l'attelage à partir du bout du wagon"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:233
-msgid "Diagram of Car"
-msgstr "Schéma de véhicule"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:234
-msgid "Item Index Number"
-msgstr "Numéro d'index de l'objet"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:235
-msgid "Original Purchase Price"
-msgstr "Prix d'achat d'origine"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:237
-msgid "Condition of car"
-msgstr "Etat du véhicule"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:238
-msgid "Original Purchase Date"
-msgstr "Date d'achat d'origine"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:239
-msgid "Last Service Date"
-msgstr "Date du dernier service"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:240
-msgid "Number of identical cars to be entered"
-msgstr "Nombre de matériels roulants identiques à inscrire"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:241
-msgid "Do all the cars have the same Number?"
-msgstr "Est-ce que toutes les matériels roulants ont le même numéro ?"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:242
-msgid "Notes about the car"
-msgstr "Notes sur le véhicule"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:243
-#: ../../../../build/work/app/bin/bllnhlp.c:244
-msgid "Create a new car Part or Prototype definitions"
-msgstr "Créer une nouvelle définition de pièce ou de prototype de véhicule"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:245
-msgid "Finds the selected Car Item on the layout"
-msgstr "Trouve l'article de véhicule sélectionné sur le plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:246
-#: ../../../../build/work/app/bin/bllnhlp.c:247
-#: ../../../../build/work/app/bin/bllnhlp.c:248
-#: ../../../../build/work/app/bin/bllnhlp.c:249
-msgid "Sort the Item list"
-msgstr "Trier la liste d'articles"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:251
-msgid "Edit the selected Car Item"
-msgstr "Modifier le titre du véhicule sélectionné"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:252
-msgid "Add a new Car Item"
-msgstr "Ajouter un nouveau nom de véhicule"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:253
-msgid "Delete the selected Car Items"
-msgstr "Supprimer les wagons ou locomotives sélectionnés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:254
-msgid "Import a Car Item .csv file"
-msgstr "Importer du véhicule à partir d'un fichier .csv"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:255
-msgid "Export a Car Item .csv file"
-msgstr "Exporter un fichier Car Item .csv"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:256
-msgid "Create a text list of the Car Items"
-msgstr "Créer la liste des noms de matériels roulants"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:257
-msgid "Specifies the radius of the circle track"
-msgstr "Spécifie le rayon de la voie circulaire"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:258
-msgid "Default command is Describe or Select"
-msgstr "La commande par défaut est \"Propriétés\" ou \"Sélectionner\""
-
-#: ../../../../build/work/app/bin/bllnhlp.c:259
-msgid "Action to invoke on Right-Click"
-msgstr "Action à appeler lors d'un clic droit"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:260
-msgid ""
-"Replace current selection with clicked object or add clicked object to "
-"selection"
-msgstr ""
-"Remplacer la sélection actuelle par un objet cliqué ou ajouter un objet "
-"cliqué à la sélection"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:261
-msgid "Clicking into an empty area clears selection if select mode is <add>"
-msgstr ""
-"Cliquer dans une zone vide efface la sélection si le mode de sélection est "
-"<Ajouter>"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:263
-msgid "The list of control elements"
-msgstr "La liste des éléments de contrôle"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:264
-msgid "Edit the element"
-msgstr "Editer l'élément"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:265
-msgid "Delete the element"
-msgstr "Supprimer l'élément"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:266
-msgid "Contents Label for new Parameter file"
-msgstr "Contenu de l'étiquette du nouveau fichier de paramètres"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:267
-msgid "List of custom designed turnouts and structures"
-msgstr "Liste des aiguillages et des bâtiments conçus sur mesure"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:268
-msgid "Invoke designer editor"
-msgstr "Ouvre l'éditeur de modélisation"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:269
-msgid "Remove selected entries"
-msgstr "Supprimer les entrées sélectionnées"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:270
-msgid "Copy selected entries to Parameter File"
-msgstr "Copier les entrées sélectionnées dans le fichier de paramètres"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:271
-msgid "Create a New part or prototype"
-msgstr "Créer une nouvelle pièce ou un prototype"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:272
-msgid "Update custom file and close"
-msgstr "Mettre à jour le fichier personnalisé et fermer"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:273
-msgid "Executes the next step of the demo"
-msgstr "Exécute la prochaine étape de la démo"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:274
-msgid "Skip to next demo"
-msgstr "Passer à la prochaine démo"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:275
-msgid "Stops the demonstration and returns you to XTrackCAD"
-msgstr "Arrêt de la démonstration et retour à XTrackCAD"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:276
-msgid "Select speed of Playback"
-msgstr "Sélectionnez la vitesse de lecture"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:277
-msgid "This is where comments about the demo are displayed"
-msgstr "C'est là que les commentaires sur la démo sont affichés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:314
-msgid "Move the Main canvas if you drag near the edge"
-msgstr ""
-"Déplacez la zone de dessin principale lorsque vous vous approchez des bords"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:315
-msgid "Color tracks by layer or individually"
-msgstr "Voies en couleur par calque ou individuellement"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:316
-msgid "Color draw objects by layer or individually"
-msgstr "Dessiner en couleur des objets par couche ou individuellement"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:317
-msgid "Controls the drawing of hidden tracks"
-msgstr "Ajuste le dessin des voies cachées"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:318
-msgid "Controls the drawing of End-Points"
-msgstr "Ajuste le dessin des points d'extrémité"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:319
-msgid "How to draw track ties"
-msgstr "Comment dessiner des traverses"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:320
-msgid "Show crosshair at center of curves"
-msgstr "Afficher le réticule au centre des courbes"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:321
-msgid "Drawing scale when to draw tracks with 2 rails"
-msgstr "Échelle minimale pour dessiner les voies avec 2 rails"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:322
-msgid "Drawing scale of the map window"
-msgstr "Échelle de dessin de la fenêtre de navigation"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:323
-msgid "Whether the main layout is updated while dragging on the Map"
-msgstr "Mise à jour du plan de trajet lors du dessin sur la carte"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:324
-msgid "Enable labels for Turnouts, Flextrack Lengths and Elevations"
-msgstr ""
-"Afficher les étiquettes pour les aiguillages, les voies flexibles et les "
-"élévations"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:325
-msgid "When to label Turnout, Flextrack Lengths and Elevations"
-msgstr ""
-"Quand étiqueter les aiguillages, les longueurs de voie flexibles ou les "
-"mesures d'élévation"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:326
-msgid "Font size for labels on layout"
-msgstr "Taille de police des étiquettes sur le plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:327
-msgid "Label elements on the Hot Bar"
-msgstr "Éléments d'étiquetage sur la barre d'objets"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:328
-msgid "Label elements on layout"
-msgstr "Éléments d'étiquetage sur le plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:329
-msgid "Label elements for lists"
-msgstr "Éléments d'étiquetage pour les listes"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:330
-msgid "How to group cars on the Train Hot Bar"
-msgstr "Regroupement des matériels roulants dans le catalogue de pièces"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:331
-msgid "Delay (in mS) between updating train movements"
-msgstr "Intervalle de mise à jour (en ms) des mouvements de train"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:332
-msgid "Don't show trains in tunnels when tunnels are hidden"
-msgstr ""
-"Ne pas visualiser les trains dans les tunnels quand les tunnels sont cachés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:333
-msgid "Display unconnected endpoints of track with special marks"
-msgstr "Mettez en surbrillance les extrémités non connectées"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:334
-msgid "Whether the Main Drawing Area shows as much of the room as possible"
-msgstr ""
-
-#: ../../../../build/work/app/bin/bllnhlp.c:336
-msgid "Width of the lines"
-msgstr "Largeur des lignes"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:337
-msgid "Color of the lines"
-msgstr "Couleur des voies"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:338
-msgid "List of types of Lumber"
-msgstr "Liste des types d'éléments de structure"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:339
-msgid "Color of Benchwork"
-msgstr "Couleur de la sous-bâtiment"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:340
-msgid "Orientation of Benchwork"
-msgstr "Orientation de la sous-bâtiment"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:341
-msgid "Size of Dimension Arrows"
-msgstr "Largeur des Flèches de cotation"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:342
-msgid "This controls the sharpness of the easement curve"
-msgstr "Cela contrôle la netteté et la taille de la courbe de transition"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:343
-msgid "Minimum radius"
-msgstr "Rayon minimum"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:344
-msgid "Maximum offset"
-msgstr "Décalage maximum"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:345
-msgid "Easement length"
-msgstr "Longueur de la courbe de transition"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:346
-msgid ""
-"These radio buttons are a short-cut for Values of 0.0, 0.5, 1.0 and 2.0. "
-"None turns Easements off"
-msgstr ""
-"Ces boutons sont un raccourci pour les valeurs de 0.0, 0.5, 1.0 et 2.0. "
-"Aucun ne désactive les courbes de transition"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:347
-msgid "Complete easement selection"
-msgstr "Terminer la sélection des courbes de transition"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:348
-msgid "Type of elevation"
-msgstr "Type d'élévation"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:349
-msgid "Height of End Point"
-msgstr "Hauteur du point de fin"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:350
-msgid "Compute elevation based on neighbors"
-msgstr "Calculer la hauteur en fonction des voies adjacentes"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:351
-msgid "Compute grade based on neighbors"
-msgstr "Calculer la pente en fonction des voies adjacentes"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:352
-msgid "Specify a name for an End-Point"
-msgstr "Spécifiez un nom pour un point de fin"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:354
-msgid "Print parts list"
-msgstr "Imprimer la nomenclature"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:355
-#: ../../../../build/work/app/bin/bllnhlp.c:466
-#: ../../../../build/work/app/bin/bllnhlp.c:575
-msgid "Invoke the Print Setup dialog"
-msgstr "Ouvre la boîte de dialogue Configuration d'impression"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:356
-msgid "Save parts list to file"
-msgstr "Enregistrer la nomenclature dans un fichier"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:357
-msgid "This is the list of parts for the layout"
-msgstr "Voici la liste des pièces pour ce plan de voie"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:358
-msgid "Enable prices on the Parts List"
-msgstr "Activer les prix sur la liste des pièces"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:359
-#: ../../../../build/work/app/bin/bllnhlp.c:362
-msgid "Spacing between major grid lines"
-msgstr "Espacement entre les lignes principales de la grille"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:360
-#: ../../../../build/work/app/bin/bllnhlp.c:363
-msgid "Allows the spacing to be subdivided"
-msgstr "Permet de diviser l'espacement"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:361
-#: ../../../../build/work/app/bin/bllnhlp.c:364
-msgid "Specifies if positions are snaped in this direction"
-msgstr "Activez la grille magnétique pour cette orientation"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:365
-#: ../../../../build/work/app/bin/bllnhlp.c:366
-#: ../../../../build/work/app/bin/bllnhlp.c:367
-msgid "Shows the origin and angle of the grid"
-msgstr "Affiche l'origine et l'angle de la grille"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:368
-msgid "Specifies if the grid is shown"
-msgstr "Spécifie si la grille est affichée"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:369
-msgid "Completes the grid specification"
-msgstr "Enregistrer le réglage de la grille et quitter"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:373
-msgid "Number of segments in Group"
-msgstr "Nombre de segments dans le groupe"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:374
-msgid "Replace the Selected object with the new definition?"
-msgstr "Faut-il remplacer l'objet sélectionné par la nouvelle définition?"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:375
-msgid "Creates a new Structure (or Turnout)"
-msgstr "Crée une nouvelle bâtiment (ou aiguillage)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:376
-msgid "Elevation difference of Helix End-Points"
-msgstr "Différence d'élévation des bouts de l'hélicoïde"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:377
-msgid "Helix Radius"
-msgstr "Rayon de l'hélicoïde"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:378
-msgid "Number of turns in the helix"
-msgstr "Nombre de tours de l'hélicoïde"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:379
-msgid "Angle betweek helix entrance and exit"
-msgstr "Angle entre l'entrée et la sortie de l'hélicoïde"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:380
-msgid "Grade in helix"
-msgstr "Pente de l'hélicoïde"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:381
-msgid "Separation between helix layers"
-msgstr "Séparation entre couches hélicoïdales"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:382
-#, fuzzy
-msgid "Desired curve radius between straight tracks"
-msgstr "Créer une voie droite"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:383
-msgid "Layer list"
-msgstr "Liste des calques"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:384
-msgid "Layer Name"
-msgstr "Nom du calque"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:385
-msgid "Color of layer"
-msgstr "Couleur de la couche"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:386
-msgid "Layer is drawn on Main window"
-msgstr "La couche est dessinée dans la fenêtre principale"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:387
-msgid "Layer cannot be changed"
-msgstr "Le calque ne peut pas être modifié"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:388
-msgid "Layer is drawn on Map window"
-msgstr "La couche est dessinée dans la fenêtre de navigation"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:389
-msgid "Number of layer buttons to show"
-msgstr "Nombre de boutons de calques à afficher"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:390
-msgid "Number of objects in this layer"
-msgstr "Nombre d'objets dans cette couche"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:392
-msgid "Load layer configuration from default"
-msgstr "Charger la configuration de la couche par défaut"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:393
-msgid "Save current layer configuration as default"
-msgstr "Enregistrer la configuration actuelle comme couche par défaut"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:394
-msgid "Overwrite layer configuration with system default values"
-msgstr "Réinitialiser le réglage des couches aux valeurs par défaut du système"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:395
-#: ../../../../build/work/app/bin/bllnhlp.c:396
-msgid "Specifies the size of the room (in inches or centimeters)"
-msgstr "Spécifie la taille de la pièce (en pouces ou en centimètres)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:397
-msgid "Specifies the layout Title that will appear on printouts"
-msgstr "Spécifie le titre du plan qui apparaîtra sur les impressions"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:398
-msgid "Specifies the layout Subtitle that will appear on printouts"
-msgstr "Spécifie le sous-titre du plan qui apparaîtra sur les impressions"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:399
-msgid "Specifies the Modelling Scale"
-msgstr "Spécifie l'échelle de modélisation"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:400
-msgid "Specifies the rail gauge, ie. the distance between the rails"
-msgstr "Spécifie l'écartement des rails, c.à.d. la distance entre les rails"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:401
-msgid ""
-"Specifies minimum track radius (in inches or centimeters). Tracks with a "
-"smaller radius are considered exceptional."
-msgstr ""
-"Spécifie le rayon de voie minimal (en pouces ou en centimètres). Les voies "
-"avec un rayon plus petit sont considérées comme exceptionnelles."
-
-#: ../../../../build/work/app/bin/bllnhlp.c:402
-msgid ""
-"Specifies maximum track elevation expressed as a percent (%). Tracks with a "
-"larger elevation are considered exceptional."
-msgstr ""
-"Spécifie l'élévation maximale de la voie exprimée en pourcentage (%). Les "
-"voies avec une élévation plus grande sont considérées comme exceptionnelles."
-
-#: ../../../../build/work/app/bin/bllnhlp.c:403
-msgid "Select the background image"
-msgstr "Sélectionnez l'image d'arrière-plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:404
-msgid "Remove the background image"
-msgstr "Supprimer l'image de fond"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:405
-msgid "Specifies the x offset of the bottom left of the background image"
-msgstr "Spécifie le décalage x en bas à gauche de l'image d'arrière-plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:406
-msgid "Specifies the y offset of the bottom left of the background image"
-msgstr "Spécifie le décalage y en bas à gauche de l'image d'arrière-plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:407
-msgid ""
-"Specifies how large the bottom edge of the background image should be in "
-"model units"
-msgstr ""
-"Spécifie la taille du bord inférieur de l'image d'arrière plan en unités du "
-"modèle"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:408
-msgid ""
-"Specifies the screening of the background image from 0 (none) to 100% "
-"(vanishes)"
-msgstr ""
-"Spécifie le filtrage de l'image d'arrière-plan, de 0 (aucun) à 100% "
-"(disparaît)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:409
-msgid "Specifies the rotation angle of the background image in degrees"
-msgstr "Spécifie l'angle de rotation de l'image d'arrière-plan en degrés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:412
-msgid ""
-"This is the body of the Note. To change this select Modify from the File "
-"Menu"
-msgstr ""
-"Ceci est le texte de la note. Pour le changer, sélectionnez «Modifier» dans "
-"le menu «Fichier»"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:414
-msgid "Specifies number of pixels per inch (or centimeter)"
-msgstr "Spécifie le nombre de pixels par pouce (ou centimètre)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:416
-msgid ""
-"Specifies whether Layout Titles, Borders or Track Centerlines are printed on "
-"the BitMap"
-msgstr ""
-"Spécifie si les titres du plan, les bordures ou les axes des voies sont "
-"imprimés sur le BitMap"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:417
-msgid ""
-"Specifies the separation between the original track and the parallel track/"
-"line"
-msgstr ""
-"Spécifie la séparation entre la voie d'origine et la voie/ligne parallèle"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:418
-msgid ""
-"Specifies the a factor that increases the seperation as the radius of the "
-"original track reduces. 0.0 means no increase."
-msgstr ""
-"Spécifie le facteur qui augmente la séparation à mesure que le rayon de la "
-"voie d'origine diminue. 0,0 signifie aucune augmentation."
-
-#: ../../../../build/work/app/bin/bllnhlp.c:419
-msgid "Enter your name as specified in the XTrackCAD Registration Notice"
-msgstr ""
-"Entrez votre nom comme spécifié dans la notification d'enregistrement "
-"d'XTrackCAD"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:420
-msgid "Enter the key value as specified in the XTrackCAD Registration Notice"
-msgstr ""
-"Entrez la valeur de la clé telle que spécifiée dans la notification "
-"d'enregistrement d'XTrackCAD"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:421
-msgid "Validates the name and key. Terminates the registration command"
-msgstr "Valide le nom et la clé. Met fin à la commande d'enregistrement"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:422
-msgid "0ᅵ is up or to the right"
-msgstr "0ï¿œ est en haut ou à droite"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:423
-msgid "Choose english (inches) or metric (centimeters)"
-msgstr "Choisissez anglais (pouces) ou métrique (cm)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:424
-msgid "How to display length measurements"
-msgstr "Comment afficher les mesures de longueur"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:425
-msgid "Do not create tracks to be shorter than this value"
-msgstr "Ne créez pas de voies plus courtes que cette valeur"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:426
-msgid "Maximum distance between connected end points"
-msgstr "Distance maximale entre des extrémités connectées"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:427
-msgid "Minimum angle between connected End-Points"
-msgstr "Angle minimal entre les extrémités connectées"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:428
-msgid "Specifies the minimum angle between tracks connected to a turntable"
-msgstr "Spécifie l'angle minimum entre les voies connectées à un pont tournant"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:429
-msgid "Trains will crash above this speed"
-msgstr "Les trains dérailleront au-dessus de cette vitesse"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:430
-msgid "Enable/Disable balloon popup help windows"
-msgstr "Activer/Désactiver les bulles d'aide contextuelles"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:431
-msgid "Enable/Disable show of flextrack on hotbar"
-msgstr ""
-
-#: ../../../../build/work/app/bin/bllnhlp.c:432
-msgid "How far you can move the mouse before its considered a drag"
-msgstr ""
-"Jusqu'où vous pouvez déplacer la souris avant que ce soit considéré comme un "
-"glisser"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:433
-msgid "How long you can hold a mouse button down before its considered a drag"
-msgstr ""
-"Combien de temps pouvez-vous maintenir un bouton de la souris enfoncé avant "
-"que ce soit considéré comme un glisser"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:434
-msgid "Minimum distance (in pixels) between grid lines/ticks"
-msgstr "Distance minimale (en pixels) entre les lignes/marques de quadrillage"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:435
-#, fuzzy
-msgid ""
-"Specifies the Check Point frequency; number of modifications made since the "
-"last checkpoint."
-msgstr ""
-"Nombre de modifications avant qu'une nouvelle sauvegarde automatique n'ait "
-"lieu."
-
-#: ../../../../build/work/app/bin/bllnhlp.c:436
-msgid "Specifies the number of checkpoints after save before auto-saving."
-msgstr ""
-
-#: ../../../../build/work/app/bin/bllnhlp.c:437
-msgid "Resume work on last layout or start with new layout"
-msgstr "Modifier le dernier plan de voies ou en créer un nouveau"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:439
-msgid "Updated cost of current selected item"
-msgstr "Coût actualisé de l'élément actuellement sélectionné"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:441
-msgid "Selection list for prices"
-msgstr "Liste de sélection des prix"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:442
-#: ../../../../build/work/app/bin/bllnhlp.c:443
-#: ../../../../build/work/app/bin/bllnhlp.c:444
-msgid "Price of specified length of flex-track"
-msgstr "Prix d'une longueur spécifiée de voie flexible"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:446
-msgid "Controls the printing of a centerline of track cmdPrint"
-msgstr "Ajuste le dessin de l’axe des voies"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:447
-msgid "Controls the reduction (scale) of the printout"
-msgstr "Ajuste la réduction (d'échelle) pour l'impression"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:448
-msgid "Scaled page width (Scale times physical page width)"
-msgstr ""
-"Spécifiez la largeur de la page (échelle multipliée par la largeur du papier "
-"physique)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:449
-msgid "Sets page size to the maximum (based on scale and physical page size)"
-msgstr ""
-"Définit le format maximum de la page (en fonction de l'échelle et du format "
-"de papier physique)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:450
-msgid "Scaled page height (Scale times physical page height)"
-msgstr ""
-"Hauteur de page mise à l'échelle (échelle multipliée par la hauteur de page "
-"physique)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:451
-msgid "Sets scale, origin and angle for a one page printout of the layout"
-msgstr ""
-"Définit l'échelle, l'orientation et l'angle pour l'impression d'une page du "
-"plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:452
-msgid "Print page in Portrait or Landscape format"
-msgstr "Imprimer la page au format Portrait ou Paysage"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:453
-msgid "Order of printing pages"
-msgstr "Ordre des pages d'impression"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:454
-msgid "Print Title, Date, Author and other information at bottom of page?"
-msgstr ""
-"Imprimer le titre, la date, l'auteur et d'autres informations en bas de "
-"page ?"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:455
-msgid "Ignore unprintable page margins?"
-msgstr "Ignorer les marges non imprimables?"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:456
-msgid "Print Registration Marks at 1:1?"
-msgstr "Imprimer les aides au positionnement à l'échelle 1:1 ?"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:457
-msgid "Print Snap Grid?"
-msgstr "Imprimer la grille magnétique ?"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:458
-msgid "Print Rulers on all page edges?"
-msgstr "Imprimer des règles sur tous les bords de page ?"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:459
-msgid "Print Roadbed Outline?"
-msgstr "Imprimer le contour du ballast ?"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:460
-msgid "Print Roadbed Outline"
-msgstr "Imprimer le contour du ballast"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:461
-#: ../../../../build/work/app/bin/bllnhlp.c:462
-#: ../../../../build/work/app/bin/bllnhlp.c:464
-msgid ""
-"Origin of the print grid. This is useful if you want to reprint a set of "
-"pages"
-msgstr ""
-"Origine de la grille d'impression. Utile si certaines pages sont réimprimées"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:463
-msgid "Resets the origin and angle to 0"
-msgstr "Réinitialise à 0 l'alignement et l'angle"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:465
-msgid "Deselects all pages"
-msgstr "Désélectionner toutes les pages"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:467
-msgid "Print selected pages and terminates the print command"
-msgstr "Imprime les pages sélectionnées et termine la commande d'impression"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:468
-#, fuzzy
-msgid "List of loaded, shown or hidden parameter files"
-msgstr "Liste des fichiers de paramètres chargés et non chargés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:469
-msgid "Show parameter files by names or descriptions"
-msgstr "Afficher les fichiers de paramètres par noms ou descriptions"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:470
-#, fuzzy
-msgid "Toggle the shown status of the selected parameter file"
-msgstr "Modifie l'état des fichiers de paramètres sélectionnés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:471
-#, fuzzy
-msgid "Find extra parameter files from the filesystem"
-msgstr "Trouver un fichier de paramètres à charger"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:472
-#, fuzzy
-msgid "Find parameter files from the system library"
-msgstr "Trouver un fichier de paramètres à charger"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:473
-msgid "Update parameter file list"
-msgstr "Mettre à jour la liste des fichiers de paramètres"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:474
-#, fuzzy
-msgid "Reload parameter file from list"
-msgstr "Lecture des fichiers de paramètres"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:475
-msgid "Select all parameter files shown"
-msgstr "Sélectionnez tous les fichiers de paramètres affichés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:476
-msgid "Profile of specified path"
-msgstr "Profil de la voie spécifiée"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:477
-msgid "Clear the profile"
-msgstr "Effacer le profil de hauteur"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:478
-msgid "Print the profile"
-msgstr "Imprimer le profil"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:480
-msgid "Stop recording"
-msgstr "Arrêt d'enregistrement"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:481
-msgid "Insert a message"
-msgstr "Insérer un message"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:482
-msgid "End a message"
-msgstr "Fin du message"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:483
-msgid "Message body"
-msgstr "Corps du message"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:484
-msgid "Possible turnouts"
-msgstr "Aiguillages possibles"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:485
-msgid "Skip this turnout"
-msgstr "Ignorer cette participation"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:487
-msgid "Manufacturer of Object"
-msgstr "Marque de l'objet"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:488
-msgid "Description of Object"
-msgstr "Description d'objet"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:489
-msgid "Part Nuber of Object"
-msgstr "Référence de l'objet"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:491
-msgid "Rescale by Scale Conversion or by Ratio"
-msgstr "Redimensionner par conversion d'échelle ou rapport"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:492
-msgid "Original Scale of the selected objects"
-msgstr "Échelle d'origine des objets sélectionnés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:493
-msgid "Original Gauge of the selected objects"
-msgstr "Ecartement de voies d'origine des objets sélectionnés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:494
-msgid "New Scale of the selected objects"
-msgstr "Nouvelle échelle des objets sélectionnés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:495
-msgid "New Gauge of the selected objects"
-msgstr "Nouvel écartement de voies des objets sélectionnés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:496
-msgid "Change track dimensions to new scale"
-msgstr "Convertir les dimensions de la voie à la nouvelle échelle"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:497
-msgid "Change size by this amount"
-msgstr "Changer la taille d'un facteur"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:499
-msgid "Snap Grid Line and Division"
-msgstr "Grille magnétique voie et division"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:500
-msgid "X and Y position markers"
-msgstr "Repères de position X et Y"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:501
-msgid "Border rulers, room boundaries and table edges"
-msgstr "Règles de bordures, limites de pièce et bords de table"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:502
-msgid "Primary Axis of grid rotation"
-msgstr "Axe principal de rotation de la grille"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:503
-msgid "Secondary Axis of grid rotation"
-msgstr "Axe secondaire de rotation de la grille"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:504
-msgid "Unselected tracks"
-msgstr "Voies non sélectionnées"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:505
-msgid "Selected tracks"
-msgstr "Voies sélectionnées"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:506
-msgid "Color of tracks on the Profile path"
-msgstr "Couleur des voies sur le profil de hauteur"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:507
-msgid "Color of Exceptional tracks"
-msgstr "Couleur des voies exceptionnelles (hors limites)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:508
-msgid "Color of track ties"
-msgstr "Couleur des traverses"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:509
-msgid "Updates the colors"
-msgstr "Met à jour les couleurs"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:510
-msgid "Angle in degrees"
-msgstr "Angle en degrés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:511
-msgid "Rotate object(s) by specified amount"
-msgstr "Faire pivoter le ou les objets d'un certain angle"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:512
-msgid "Enter one or more words as search terms '*' means all"
-msgstr ""
-
-#: ../../../../build/work/app/bin/bllnhlp.c:513
-#, fuzzy
-msgid "Find matching file descriptions"
-msgstr "Description de l'élévation"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:514
-msgid "Search Results"
-msgstr ""
-
-#: ../../../../build/work/app/bin/bllnhlp.c:515
-msgid "Show Descriptions or FileNames in results"
-msgstr ""
-
-#: ../../../../build/work/app/bin/bllnhlp.c:516
-#, fuzzy
-msgid "Add selected entries into parameter file list"
-msgstr "Copier les entrées sélectionnées dans le fichier de paramètres"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:517
-#, fuzzy
-msgid "Select All found entries"
-msgstr "Liste de sélection des prix"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:518
-msgid "Reload the system library contents for finding"
-msgstr ""
-
-#: ../../../../build/work/app/bin/bllnhlp.c:519
-msgid "Choose commands to be sticky"
-msgstr "Choisissez les commandes à maintenir (sticky)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:520
-msgid "Make the commands sticky"
-msgstr "Rendre les commandes collantes (sticky)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:521
-msgid "List of available structure"
-msgstr "Liste des bâtiments disponibles"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:522
-msgid "Diagram of the selected structure"
-msgstr "Schéma de la bâtiment sélectionnée"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:523
-msgid "Hide Selection window when placing Structure"
-msgstr "Masquer la fenêtre de sélection lors du placement de la bâtiment"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:524
-msgid "Drawing scale and size"
-msgstr "Échelle et taille du dessin"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:525
-msgid "Complete structure placement"
-msgstr "Placement complet de la bâtiment"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:526
-msgid "Choose a Pier number"
-msgstr "Choisissez un numéro de colonne"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:527
-msgid "Name of the Motor"
-msgstr "Nom du moteur"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:528
-msgid "Value when switch is normal"
-msgstr "Valeur lorsque l'aiguillage est normal"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:529
-msgid "Value when the switch is reversed"
-msgstr "Valeur lorsque l'aiguillage est dévié"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:530
-msgid "Value for a positive comfirmation of switch position"
-msgstr "Valeur pour une confirmation positive de la position de l'aiguillage"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:532
-msgid "Useful information about the program"
-msgstr "Informations utiles sur le programme"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:533
-msgid "Show Tip of the Day every time the program starts"
-msgstr "Montrer le conseil du jour à chaque démarrage du programme"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:534
-msgid "Show the next Tip of the Day"
-msgstr "Montrer le prochain conseil du jour"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:535
-msgid "Show the previous Tip of the Day"
-msgstr "Montrer le précédent conseil du jour"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:537
-msgid "Controls which Command Buttons are displayed"
-msgstr "Afficher ou masquer les boutons de commande dans la barre d'outils"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:538
-msgid "List of Cars"
-msgstr "Liste des matériels roulants"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:539
-msgid "List of active trains"
-msgstr "Liste des trains actifs"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:541
-msgid "Train odometer"
-msgstr "Compteur de distance"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:542
-msgid "Reset odometer to 0"
-msgstr "Remise à 0"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:543
-msgid "Find train on layout"
-msgstr "Chercher la train sur le plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:544
-msgid "Follow train around layout"
-msgstr "Suivre le train sur le plan"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:545
-msgid "Flip direction at End Of Track"
-msgstr "Inverser la direction à la fin de la voie"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:546
-msgid "Change direction of train"
-msgstr "Inverser la direction du train"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:547
-msgid "Stop the train"
-msgstr "Arrêt du train"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:548
-msgid "List of available turnouts for the current scale"
-msgstr "Liste des aiguilles disponibles pour l'échelle actuelle"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:549
-msgid ""
-"Diagram of the currently selected turnout. Click on a End-Point to select "
-"the Active End-Point"
-msgstr ""
-"Schéma de l'aiguillage actuellement sélectionné. Cliquez sur une extrémité "
-"pour sélectionner l'extrémité active"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:550
-msgid ""
-"A menu list of various type of turnouts and sectional tracks you can define"
-msgstr ""
-"Une gamme de différents types d'aiguillages et de sections de voies que vous "
-"pouvez définir"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:551
-msgid "Hide Selection window when placing Turnout"
-msgstr "Masquer la fenêtre de sélection lorsque vous placez l'aiguillage"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:552
-msgid "The selected Active End-Point"
-msgstr "Le point de fin actif sélectionné"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:553
-msgid "Current selected turnout, (displayed in the diagram window)"
-msgstr ""
-"Aiguillage sélectionné actuellement, (affiché dans la fenêtre du diagramme)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:554
-msgid "One the End-Points that can be selected"
-msgstr "L'un des points d'extrémité pouvant être sélectionnés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:556
-#: ../../../../build/work/app/bin/bllnhlp.c:557
-msgid "Angle of the specified track to the center line of the turnout"
-msgstr "Angle de la voie spécifiée par rapport à l'axe de l'aiguillage"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:558
-msgid "Specifies if angles are entered as Frog Numbers or in degrees"
-msgstr ""
-"Spécifie si les angles sont entrés sous forme de N° de cœur ou en degrés"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:559
-#: ../../../../build/work/app/bin/bllnhlp.c:560
-msgid "Desciption"
-msgstr "Desciption"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:561
-msgid "Turnout description (Manuf., Size, Part Number, etc)"
-msgstr "Description de l'aiguillage (fabricant, angle, numéro de pièce, etc.)"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:562
-#: ../../../../build/work/app/bin/bllnhlp.c:563
-#: ../../../../build/work/app/bin/bllnhlp.c:564
-msgid "Length from the base to the end of the specified track"
-msgstr "Longueur de la ligne de base à la fin de la voie sélectionnée"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:566
-#: ../../../../build/work/app/bin/bllnhlp.c:567
-msgid "Offset of the track End-Point from the center line of the turnout"
-msgstr ""
-"Décalage du point de fin de la voie par rapport à l'axe central de "
-"l'aiguillage"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:570
-#: ../../../../build/work/app/bin/bllnhlp.c:571
-msgid "Prints a full size diagram of the turnout for checking"
-msgstr ""
-"Imprime un diagramme en taille réelle de l'aiguillage pour vérification"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:572
-msgid "Color of Roadbed lines"
-msgstr "Couleur des voies de balast"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:573
-msgid "Width of Roadbed lines"
-msgstr "Largeur des lignes de ballast"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:574
-msgid "Width of Roadbed"
-msgstr "Largeur du ballast"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:576
-msgid "Closes the window and returns to the Turnout Selection window"
-msgstr "Ferme la fenêtre et retourne à la sélection d'aiguillage"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:577
-msgid "Specifies the diameter of the turntable"
-msgstr "Spécifie le diamètre du pont tournant"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:578
-msgid "Old Turnout title"
-msgstr "Ancien titre de l'aiguillage"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:579
-msgid "List of available titles"
-msgstr "Liste des titres disponibles"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:580
-msgid "Leave the Turnouts' title unchanged"
-msgstr "Laisser le titre d'aiguillage inchangé"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:581
-msgid "Invoke the Parameter Files dialog"
-msgstr "Ouvre la boîte de dialogue Fichier de paramètres"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:582
-msgid "List of available turnouts"
-msgstr "Liste des aiguillages disponibles"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:583
-msgid "Update the Turnouts' title"
-msgstr "Mettre à jour le titre des aiguillages"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:587
-msgid "Sample"
-msgstr "Exemple"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:589
-msgid "Slant"
-msgstr "Incliner"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:590
-msgid "Font selection dialog"
-msgstr "Boite de dialogue de sélection de police"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:591
-msgid "Weight"
-msgstr "Poids"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:592
-msgid "Printer Abort Window"
-msgstr "Annuler l'impression"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:593
-msgid "Print to filename"
-msgstr "Nom du fichier d'impression"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:594
-msgid "Specify Postscript font alias mapping"
-msgstr "Spécifier l'affectation des polices Postscript"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:595
-msgid ""
-"Displays the Print Setup window to change printers, orientation, paper size, "
-"etc."
-msgstr ""
-"Affiche la fenêtre configuration de l’impression pour changer d'imprimante, "
-"d'orientation, de format du papier, etc."
-
-#: ../../../../build/work/app/bin/bllnhlp.c:596
-msgid "Closes this dialog"
-msgstr "Ferme cette boîte de dialogue"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:597
-msgid "Page orientation"
-msgstr "Orientation de la page"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:598
-msgid "Unprintable margins"
-msgstr "Marges non imprimables"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:599
-msgid "Updates and closes this dialog"
-msgstr "Met à jour et ferme cette boîte de dialogue"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:600
-msgid "Choose paper size"
-msgstr "Choisissez le format de papier"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:601
-msgid "Choose printer"
-msgstr "Choisissez une imprimante"
-
-#: ../../../../build/work/app/bin/bllnhlp.c:602
-msgid "Print test page"
-msgstr "Impression de la page de test"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:1
-#: ../../../../build/work/app/i18n/custmsg.h:8
-msgid ""
-"XTrackCAD provides demonstrations on most of the program's features. The "
-"demos can be run by clicking on the Help menu on the Main window and then "
-"selecting Demos."
-msgstr ""
-"XTrackCAD a des démos sur la plupart des fonctions. Ces démos peuvent être "
-"lues en sélectionnant \"Démos\" dans le menu Aide de la fenêtre principale."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:3
-#: ../../../../build/work/app/i18n/custmsg.h:10
-msgid ""
-"The notation \"Menu|Item\" is used in the documentation (and the on-line "
-"demos and tips) to indicate the selection of a menu item.\n"
-"For example, \"File|Open\" means to open the menu by clicking on File on the "
-"menu bar of the Main window and then selecting the Open item from that menu."
-msgstr ""
-"La notation \"Menu|Item\" est utilisée dans la documentation (et les démos "
-"et astuces en ligne) pour indiquer la sélection d'un élément de menu.\n"
-"Par exemple, \"Fichier|Ouvrir\" signifie ouvrir le menu en cliquant sur "
-"Fichier dans la barre de menu de la fenêtre principale, puis en "
-"sélectionnant l'élément Ouvrir dans ce menu."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:6
-#: ../../../../build/work/app/i18n/custmsg.h:12
-msgid ""
-"Set your modeling scale on the \"Options|Layout\" dialog. This controls the "
-"Turnouts and Structures that are available, Easement values and track gauge."
-msgstr ""
-"Définissez votre échelle de modélisation dans la boîte de dialogue \"Options|"
-"Plan ...\". Cela contrôle les aiguillages et les bâtiments disponibles, les "
-"valeurs des courbes de transition et l'écartement des voies."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:8
-#: ../../../../build/work/app/i18n/custmsg.h:14
-msgid ""
-"A number of example layouts are provided. These files can be accessed by "
-"\"Help|Examples\"."
-msgstr ""
-"Un certain nombre d'exemples de plans sont fournis. Ces fichiers sont "
-"accessibles par \"Aide|Exemples\"."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:10
-#: ../../../../build/work/app/i18n/custmsg.h:16
-msgid ""
-"When installed, the length units are set based on your contry: inches for "
-"United States or Canada and centimeters elsewhere. You can change this on "
-"the \"Options|Preferences\" dialog by choosing between Metric and English."
-msgstr ""
-"Une fois installés, les unités de longueur sont définies en fonction de "
-"votre pays : pouces pour les États-Unis ou le Canada et centimètres "
-"ailleurs. Vous pouvez changer cela dans la boîte de dialogue \"Options | "
-"Préférences\" en choisissant entre métrique et anglais."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:12
-#: ../../../../build/work/app/i18n/custmsg.h:18
-msgid ""
-"You can change the overall size of your layout on the \"Options|Layout\" "
-"dialog."
-msgstr ""
-"Vous pouvez modifier la taille globale de votre plan dans la boîte de "
-"dialogue \"Options|Plan\"."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:14
-#: ../../../../build/work/app/i18n/custmsg.h:20
-msgid ""
-"When installed, the default command is the Select command. You might want to "
-"change this to the Decribe command. You can do this on the \"Options|"
-"Command Options\" dialog."
-msgstr ""
-"Une fois installée, la commande par défaut est la commande 'Sélectionner'. "
-"Vous voudrez peut-être changer cela en commande 'Propriétés'. Vous pouvez le "
-"faire dans la boîte de dialogue \"Options | Commande\"."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:16
-#: ../../../../build/work/app/i18n/custmsg.h:22
-msgid ""
-"When Selecting tracks, the connection between Selected and Unselected tracks "
-"is marked by a Red X. This indicates points where the connection between "
-"tracks will be broken if you Move or Rotate the Selected tracks."
-msgstr ""
-"Pour les voies sélectionnées, la connexion de la voie est marquée par un X "
-"rouge. C'est exactement là où la voie sera séparée lorsqu'elle sera déplacée "
-"ou pivotée."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:18
-#: ../../../../build/work/app/i18n/custmsg.h:24
-msgid ""
-"You can change orientation of the pages on the Print command by moving or "
-"rotating the Print Grid.\n"
-"Shift-Left-Drag moves the grid and Shift-Right-Drag rotates the grid."
-msgstr ""
-"L'orientation des pages à imprimer peut être modifiée en déplaçant ou en "
-"faisant pivoter la grille d'impression.\n"
-"Maj+Left-Drag déplace la grille et Maj+Right-Drag fait pivoter la grille."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:21
-#: ../../../../build/work/app/i18n/custmsg.h:26
-msgid ""
-"You can add track to any unconnected End-Point with the Modify command.\n"
-"Hold down the Shift key and click on the End-Point and drag away to create a "
-"new track segment attached to the End-Point.\n"
-"Repeat with the new End-Point to create flowing tracks."
-msgstr ""
-"Les voies peuvent être ajoutées à n'importe quel point de fin non connecté "
-"avec \"Modifier\".\n"
-"Pour créer une nouvelle section de voie, marquez un point de fin, puis "
-"maintenez la touche Maj enfoncée tout en déplaçant la section de voie.\n"
-"Répétez cette action avec ce nouveau point de fin pour créer des voies "
-"fluides."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:25
-#: ../../../../build/work/app/i18n/custmsg.h:28
-msgid ""
-"You can create curved tracks in four ways by dragging from:\n"
-" the 1st endpoint in the direction of the curve\n"
-" center of the curve to the 1st endpoint\n"
-" endpoint to the center\n"
-" the 1st to 2nd endpoint\n"
-"Then drag on one of the Red arrows to create the final shape of the curve.\n"
-"\n"
-"You can click on the small button to the right of the Curve command button "
-"to change the method."
-msgstr ""
-"Les voies courbes peuvent être créées de quatre manières différentes:\n"
-" à partir du premier point de fin dans la direction de la courbe\n"
-" du centre de la courbe au premier point de fin\n"
-" du point de fin au centre\n"
-" du premier au deuxième point de fin\n"
-"Faites ensuite glisser l'une des deux flèches rouges pour définir la courbe "
-"finale.\n"
-"\n"
-"Les différentes méthodes de création de courbes de voie peuvent être "
-"sélectionnées en cliquant sur le bouton à droite du bouton de courbe dans la "
-"barre d'outils."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:34
-#: ../../../../build/work/app/i18n/custmsg.h:30
-msgid ""
-"When creating a straight or a curved track by dragging from the 1st End "
-"Point, you can snap the new track to an existing open end point by holding "
-"down Shift while you click.\n"
-"The new track will be joined to the old when you create it."
-msgstr ""
-"Lors de la création d'une voie droite ou courbe en faisant glisser depuis le "
-"premier point de fin, la nouvelle voie peut être alignée avec le point de "
-"fin existant en appuyant sur la touche Maj pendant que vous cliquez.\n"
-"La nouvelle voie sera connectée à la voie existante lorsque vous la créerez."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:37
-#: ../../../../build/work/app/i18n/custmsg.h:32
-msgid ""
-"Track Circles provide a quick way to see what arrangement of tracks will fit "
-"in your layout spaces. Create Circles with your typical radius and place "
-"them in corners and other locations where your main-line will make changes "
-"of direction. This will give you an overall idea of how your layout will "
-"look.\n"
-"\n"
-"You can create Circles by:\n"
-" using a fixed radius\n"
-" dragging from the Center to edge\n"
-" dragging from an edge to the Center\n"
-"You can click on the small button to the left of the Circle command button "
-"to change the method."
-msgstr ""
-"Les cercles de voies offrent un moyen rapide de voir quelle disposition des "
-"voies s'adaptera aux espaces du plan. Créez des cercles de voie avec des "
-"rayons communs et placez-les dans les coins ou n'importe où sur votre voie "
-"principale où vous souhaitez changer de direction. Cela vous aidera à "
-"obtenir un premier aperçu de l'ensemble de votre plan de parcours.\n"
-"\n"
-"Les cercles peuvent être créés comme suit :\n"
-" avec un rayon fixe\n"
-" en tirant du milieu vers le bord\n"
-" en tirant du bord vers le milieu\n"
-"Vous pouvez cliquer sur le petit bouton à gauche du bouton de commande "
-"Cercle pour changer la méthode."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:45
-#: ../../../../build/work/app/i18n/custmsg.h:34
-msgid ""
-"Easements (spiral transition curves) are used when track changes from "
-"straight to curved by gradually changing the radius. This improves "
-"operation and appearance.\n"
-"Easements are created with Joining or Extending Tracks.\n"
-"The Easement dialog is used to control easements."
-msgstr ""
-"Les Easements (courbes de transition en spirale) sont utilisées lorsque la "
-"voie passe d'une droite à une courbe en modifiant progressivement le rayon. "
-"Cela améliore le fonctionnement et l'apparence.\n"
-"Les Easements sont créées avec Raccorder ou Étendre les voies.\n"
-"La boîte de dialogue Easement permet leur contrôle."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:49
-#: ../../../../build/work/app/i18n/custmsg.h:36
-msgid ""
-"\"Help|Recent Messages\" shows the last error and warning messages that were "
-"generated by the program. Also an explanation of each message is displayed."
-msgstr ""
-"\"Aide|Messages récents\" affiche les derniers messages d'erreur et "
-"d'avertissement générés par le programme. Une explication pour chaque "
-"message est également affichée."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:51
-#: ../../../../build/work/app/i18n/custmsg.h:38
-msgid ""
-"When creating stall tracks for a turntable, you usually want the the stall "
-"tracks to be spaced evenly.\n"
-"The \"Turntable Angle\" item on \"Options|Preferences\" dialog can be used "
-"specify the minimum angle between stall tracks."
-msgstr ""
-"Lorsque vous créez des voies de manœuvre pour un pont tournant, vous "
-"souhaitez généralement que les voies de manœuvre soient espacées "
-"uniformément.\n"
-"L'élément \"Angle de pont tournant\" de la boîte de dialogue \"Options|"
-"Préférences\" peut être utilisé pour spécifier l'angle minimum entre les "
-"voies de manœuvre."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:54
-#: ../../../../build/work/app/i18n/custmsg.h:40
-msgid ""
-"XTrackCAD periodically saves the current layout in a check point file. The "
-"'Check Point' item on the 'Options|Preferences' dialog controls how often "
-"the file is saved.\n"
-"You can recover your working file after a system crash by copying the "
-"checkpoint file (xtrkcad.ckp in the XTrackCAD Working directory) to file.xtc"
-msgstr ""
-"XTrackCAD enregistre constamment votre travail actuel dans un fichier "
-"temporaire. Vous pouvez spécifier la fréquence de cette sauvegarde "
-"automatique dans le champ «Sauvegarde» sous l'élément de menu «Options|"
-"Préférences».\n"
-"Après un crash système/programme, copiez simplement le fichier xtrkcad.ckp "
-"(depuis le répertoire \"C:\\Users\\Nom\\AppData\\Roaming\\XTrackCad\") vers "
-"le répertoire de travail où se trouvent les fichiers \"file.xtc\""
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:57
-#: ../../../../build/work/app/i18n/custmsg.h:42
-msgid ""
-"The Parallel command is helpful to layout yards and sidings. If the "
-"Parallel track abuts with an existing track, it is automatically connected."
-msgstr ""
-"La commande Parallèle est utile pour créer des dépôts et des voies "
-"d'évitement. Si une voie parallèle touche presque une voie existante, elle "
-"se connecte automatiquement."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:59
-#: ../../../../build/work/app/i18n/custmsg.h:44
-msgid ""
-"You can use Shift-Drag in Select command to move and rotate selected "
-"tracks.\n"
-"Shift-Left-Drag moves tracks and Shift-Right-Drag rotates them.\n"
-"Control-Left-Drag can move labels."
-msgstr ""
-"Vous pouvez utiliser Maj + bouton de souris dans la commande Select pour "
-"déplacer et faire pivoter les voies sélectionnées.\n"
-"Maj + bouton gauche déplace les voies et Maj et le bouton droit les fait "
-"pivoter.\n"
-"Ctrl + bouton gauche peut déplacer des étiquettes."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:63
-#: ../../../../build/work/app/i18n/custmsg.h:46
-msgid ""
-"You can move and rotate the Snap Grid to align with existing track or "
-"benchwork."
-msgstr ""
-"La grille de capture peut être déplacée ou tournée de manière à pouvoir être "
-"alignée avec des rails ou des superstructures."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:65
-#: ../../../../build/work/app/i18n/custmsg.h:48
-msgid ""
-"Use the Parts List command to measure track length.\n"
-"Select the tracks you want to measure and then click on the Parts List "
-"button. The report will list the total of length of the selected flex-"
-"track. You will have to add in the length of any Turnouts."
-msgstr ""
-"La boîte de dialogue \"Gérer|Liste des pièces\" peut être utilisée pour "
-"mesurer les longueurs de voie.\n"
-"Sélectionnez les voies que vous souhaitez mesurer, puis cliquez sur le "
-"bouton Liste des pièces. Le rapport répertorie la longueur totale de la voie "
-"flexible sélectionnée. Vous devrez ajouter la longueur des aiguillages."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:68
-#: ../../../../build/work/app/i18n/custmsg.h:50
-msgid ""
-"The length of flex-track attached to each Turnout is displayed on layout "
-"near the end-points of the Turnouts.\n"
-"Make sure 'Lengths' option of the 'Label Enable' toggle button on the "
-"Display dialog is selected."
-msgstr ""
-"La longueur de la voie flexible connectée à chaque aiguillage est affichée "
-"près du point final de l'aiguillage.\n"
-"Assurez-vous que l'option \"Longueurs\" est sélectionnée dans la boîte de "
-"dialogue \"Options|Affichage\"."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:71
-#: ../../../../build/work/app/i18n/custmsg.h:52
-msgid ""
-"The Profile command can be used to find the length of a continous section of "
-"track.\n"
-"Select the track at the beginning and end of the section. The total length "
-"of track will be displayed on the Profile window in the lower right corner.\n"
-"Note: the Profile selects the shortest path between the two selected tracks, "
-"which might not be the path you are interested in. In this case, select the "
-"first track and then select other tracks along the path."
-msgstr ""
-"La commande \"Profil\" du menu \"Modifier\" peut être utilisée pour trouver "
-"la longueur d'une section continue de voie.\n"
-"Sélectionnez la voie au début et à la fin de la section. La longueur totale "
-"de la voie sera affichée dans la fenêtre Profil dans le coin inférieur "
-"droit.\n"
-"Remarque : le profil sélectionne le chemin le plus court entre les deux "
-"voies sélectionnées, qui peut ne pas être le chemin qui vous intéresse. Dans "
-"ce cas, sélectionnez la première voie, puis sélectionnez d'autres voies le "
-"long du chemin."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:75
-#: ../../../../build/work/app/i18n/custmsg.h:54
-msgid ""
-"Layers can be used to contain different groups of tracks or other features. "
-"You might use one layer for the main-line, another of staging tracks and "
-"another of benchwork.\n"
-msgstr ""
-"Les calques peuvent être utilisés pour contenir différents groupes de voies "
-"ou d’autres fonctionnalités. Vous pouvez utiliser une couche pour la ligne "
-"principale, une autre pour les gares cachées et une autre pour les sous-"
-"bâtiments.\n"
-"Vous pouvez attribuer un nom à chaque couche (à l'aide de la boîte de "
-"dialogue Calque). Ce nom sera affiché dans la bulle d'aide du bouton de "
-"calque correspondant, si la bulle d'aide est activée dans la boîte de "
-"dialogue Affichage.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:77
-#: ../../../../build/work/app/i18n/custmsg.h:56
-msgid ""
-"You can give each layer a name (by using the \"Manage|Layer\" dialog). This "
-"name will be displayed as the Balloon Help for the corresponding Layer "
-"button, if you have Balloon Help enabled on the \"Options|Display\" dialog."
-msgstr ""
-"Les calques peuvent être utilisés pour contenir différents groupes de voies "
-"ou d’autres fonctionnalités. Vous pouvez utiliser une couche pour la ligne "
-"principale, une autre pour les gares cachées et une autre pour les sous-"
-"bâtiments.\n"
-"Vous pouvez attribuer un nom à chaque couche (à l'aide de la boîte de "
-"dialogue Calque). Ce nom sera affiché dans la bulle d'aide du bouton de "
-"calque correspondant, si la bulle d'aide est activée dans la boîte de "
-"dialogue \"Options|Affichage\"."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:79
-#: ../../../../build/work/app/i18n/custmsg.h:58
-msgid ""
-"You can remove groups of buttons or the Hot Bar from the Main window to give "
-"you more room if you are not using some features. Also, the number of Layer "
-"buttons displayed is controlled by the \"Manage|Layers\" dialog."
-msgstr ""
-"Vous pouvez alléger la fenêtre principale de certains groupes de boutons ou "
-"de la barre dynamique pour vous donner plus d'espace si vous n'utilisez pas "
-"certaines fonctionnalités. De plus, le nombre de boutons de calque affichés "
-"est contrôlé par la boîte \"Gérer|Calques\"."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:81
-#: ../../../../build/work/app/i18n/custmsg.h:60
-msgid ""
-"The size of the map window is controlled by the overall size of the room "
-"(specified on the layout dialog) and the map scale (on the display dialog). "
-"You can make the Map window larger (or smaller) by decreasing (or "
-"increasing) the map scale.\n"
-"XTrackCad will prevent you from making the map window too small or too large."
-msgstr ""
-"La taille de la fenêtre de la carte est contrôlée par la taille globale de "
-"la pièce (spécifiée dans la boîte de dialogue Options|Plan) et l'échelle de "
-"la carte (dans la boîte de dialogue Options|Affichage). Vous pouvez agrandir "
-"(ou réduire) la fenêtre Carte en diminuant (ou en augmentant) l'échelle de "
-"la carte.\n"
-"XTrackCad vous empêchera de rendre la fenêtre de carte trop petite ou trop "
-"grande."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:84
-#: ../../../../build/work/app/i18n/custmsg.h:62
-msgid ""
-"You can unload parameter files you are not using by the Parameter Files "
-"dialog. This removes unused Turnout and Structure definitions from the Hot "
-"Bar and makes the program start faster."
-msgstr ""
-"Vous pouvez décharger les fichiers de paramètres que vous n'utilisez pas "
-"dans la boîte de dialogue \"Fichiers de paramètres\". Cela supprime les "
-"définitions d'aiguillage et de structure inutilisées de la barre dynamique "
-"et accélère le démarrage du programme."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:86
-#: ../../../../build/work/app/i18n/custmsg.h:64
-msgid ""
-"Right-Click on the Main window displays a menu list of commands as an "
-"alternative to pressing the buttons on the tool bar or using the menu "
-"accelerator keys."
-msgstr ""
-"Comme alternative à la barre d'outils ou aux touches de menu, un autre menu "
-"de commande peut être utilisé en cliquant avec le bouton droit dans la "
-"fenêtre principale."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:87
-#: ../../../../build/work/app/i18n/custmsg.h:66
-msgid ""
-"Holding down the Shift key while you Right-Click will display options for "
-"the current command (if any)."
-msgstr ""
-"Si la touche Maj reste enfoncée pendant que vous avez sélectionné une "
-"commande (le cas échéant), les options pour cette commande seront affichées."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:89
-#: ../../../../build/work/app/i18n/custmsg.h:68
-msgid ""
-"Right-Click on the Hot Bar displays a menu of the different groups of "
-"objects which you can use to jump to the group you are interested in.\n"
-"Pressing a numeric key (1-9 and 0) moves the Hot Bar to corresponding "
-"position (1 is the start, 5 is half way, 0 is the end)."
-msgstr ""
-"Un clic droit dans la sélection rapide ouvre un menu avec différents groupes "
-"d'objets, ceux-ci peuvent être utilisés pour passer rapidement à ce type de "
-"voie.\n"
-"En appuyant sur les chiffres de la sélection rapide (1-9 et 0), la position "
-"correspondante de la sélection de voie peut également être modifiée, où 1 "
-"indique la première sélection de voie, 5 indique le milieu de la sélection "
-"et 0 indique la fin."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:92
-#: ../../../../build/work/app/i18n/custmsg.h:70
-msgid ""
-"Right-Drag on the Map window sets the origin and scale of the Main window.\n"
-"The Main window will be centered on the spot where you started the Draw and "
-"how far you Drag will control how large an area you can see on the Main "
-"window."
-msgstr ""
-"En faisant glisser la souris avec le bouton droit dans la fenêtre de "
-"navigation on définit l'origine et l'échelle de la fenêtre principale.\n"
-"La fenêtre principale est centrée à l'endroit où vous avez commencé le "
-"dessin. La sélection en surbrillance de la fenêtre de navigation détermine "
-"la zone que vous pouvez voir dans la fenêtre principale."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:95
-#: ../../../../build/work/app/i18n/custmsg.h:72
-msgid ""
-"To refresh the Main window, press Control-L (hold down the 'Ctrl' key and "
-"then press the 'l' key)."
-msgstr ""
-"Pour actualiser la fenêtre principale, appuyez sur Ctrl+L (maintenez "
-"enfoncée la touche «Ctrl», puis appuyez sur la touche «l»)."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:97
-#: ../../../../build/work/app/i18n/custmsg.h:74
-msgid ""
-"The File menu contains a list of the last 5 layouts you were working on."
-msgstr ""
-"Le menu Fichier contient une liste des 5 derniers plans sur lesquels vous "
-"travailliez."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:99
-#: ../../../../build/work/app/i18n/custmsg.h:76
-msgid ""
-"The Print command can optionally print lines representing the roadbed for "
-"all tracks. This is useful when printing full size (1:1) for cutting "
-"roadbed."
-msgstr ""
-"Dans la boîte de dialogue \"Imprimer\", l'option \"Imprimer le contour du "
-"ballast\" peut être sélectionnée afin de pouvoir imprimer des modèles de "
-"ballast à l'échelle (1:1)."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:101
-#: ../../../../build/work/app/i18n/custmsg.h:78
-msgid ""
-"Pressing the 'Esc' key cancels the current command and invokes the default "
-"command, (which is either Describe or Select)."
-msgstr ""
-"Appuyez sur la touche «ESC» pour annuler la commande en cours et activer "
-"automatiquement la commande par défaut (qui est soit Propriétés, soit "
-"Sélectionner)."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:103
-#: ../../../../build/work/app/i18n/custmsg.h:80
-msgid ""
-"When moving or rotating tracks on slow machines or with a large number of "
-"tracks, you can improve performance by changing the way tracks are drawn "
-"while being moved.\n"
-"Shift-Right click will display a menu containing options to draw tracks "
-"normally, as simple lines or just draw end-points."
-msgstr ""
-"Sur les ordinateurs lents ou avec un nombre élevé de voies, la façon dont "
-"les voies sont redessinées peut être modifiée.\n"
-"Une fois les voies dessinées, le fait de maintenir la touche Maj enfoncée et "
-"de cliquer avec le bouton droit de la souris dans un menu d'options vous "
-"permet de choisir comment afficher les voies : normales, simples ou "
-"simplement comme points de fin."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:106
-#: ../../../../build/work/app/i18n/custmsg.h:82
-msgid ""
-"The colors of different parts of the Main window can be changed with the "
-"Colors dialog. In particular, the Snap Grid color can be changed to make it "
-"more visible when printed."
-msgstr ""
-"Les couleurs des différents assemblages dans la fenêtre principale peuvent "
-"être modifiées via la boîte de dialogue \"Options|Couleurs\". En "
-"particulier, la couleur de la grille magnétique peut être modifiée pour la "
-"rendre plus visible lors de l'impression."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:108
-#: ../../../../build/work/app/i18n/custmsg.h:84
-msgid ""
-"By default objects are drawn in their normal colors. Tracks will be drawn "
-"in Black. Objects can also be drawn in the color according to their Layer. "
-"The color of a Layer is displayed on the corresponding Layer button.\n"
-"The Display dialog 'Color Layers' item has separate toggles for Tracks and "
-"non-Tracks."
-msgstr ""
-"Habituellement, les objets sont dessinés dans leurs couleurs par défaut. Les "
-"voies sont affichées en noir. Les objets peuvent être affichés dans les "
-"couleurs de leurs calques respectifs. La couleur d'un calque est affichée "
-"sur son bouton de calque associé.\n"
-"L'option \"Couleurs des calques\" dans la boîte de dialogue "
-"\"Options>Affichage\" dispose d'une option distincte pour les voies et "
-"l'autre pour l'activation des couleurs."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:111
-#: ../../../../build/work/app/i18n/custmsg.h:86
-msgid ""
-"Each Layer can be drawn or hidden by the 'Visible' toggle on the Layers "
-"dialog."
-msgstr ""
-"Chaque calque peut être affiché ou masqué par la bascule 'Visible' dans la "
-"boîte de dialogue Gérer|Calques."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:112
-#: ../../../../build/work/app/i18n/custmsg.h:88
-msgid ""
-"Short cut Layer buttons can also be displayed on the tool bar for up to the "
-"first 20 layers.\n"
-"This buttons allow to Show or Hide the layers."
-msgstr ""
-"Des boutons de calque raccourcis peuvent également être affichés dans la "
-"barre d'outils pour les 20 premiers calques au maximum.\n"
-"Ces boutons permettent d'afficher ou de masquer les calques."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:115
-#: ../../../../build/work/app/i18n/custmsg.h:90
-msgid "The name of the Layer is the Balloon Help for the Layer button."
-msgstr ""
-"Le nom d'un calque est affiché dans la bulle de dialogue de chaque calque "
-"respectif."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:117
-#: ../../../../build/work/app/i18n/custmsg.h:92
-msgid ""
-"The playback speed of the Demos can be changed by using Speed drop down list "
-"on the Demo window."
-msgstr ""
-"La vitesse de lecture des démos peut être modifiée par l'onglet de sélection "
-"dans le coin supérieur droit de la fenêtre de démonstration."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:119
-#: ../../../../build/work/app/i18n/custmsg.h:94
-msgid ""
-"Many of the commands and dialogs can be invoked by special key combinations "
-"called Menu-Accelerators. These are listed on the Menus next to the command "
-"name. For example, Control-P will invoke the Print command."
-msgstr ""
-"De nombreuses commandes et dialogues peuvent être appelés à l'aide de "
-"combinaisons de touches spéciales appelées Accélérateurs de menu. Celles-ci "
-"sont répertoriées dans les menus en regard du nom de la commande. Par "
-"exemple, Ctrl+P appellera la commande Imprimer."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:121
-#: ../../../../build/work/app/i18n/custmsg.h:96
-msgid ""
-"The Connect command is used to join Sectional track pieces that don't quite "
-"fit together.\n"
-"This command works by adding small gaps between other tracks to move the "
-"selected End-Points closer together."
-msgstr ""
-"La commande 'Connecter deux voies' est utilisée pour joindre des morceaux de "
-"section de voie qui ne s'emboîtent pas tout à fait ensemble.\n"
-"Cette commande fonctionne en ajoutant de petits espaces entre les autres "
-"voies pour que les points de fin puissent être connectés l'un à l'autre."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:124
-#: ../../../../build/work/app/i18n/custmsg.h:98
-#, fuzzy
-msgid ""
-"To copy a group of objects: Select the objects, press Control-c (or select "
-"Copy from the Edit menu), press Control-v (or select Paste from the Edit "
-"menu).\n"
-"The selected tracks will be copied to the layout and you can Move or Rotate "
-"them into position."
-msgstr ""
-"Pour copier un groupe d'objets : sélectionnez-les, appuyez sur Ctrl+C (ou "
-"choisissez Copier dans le menu Editer), appuyez sur Ctrl+V (ou choisissez "
-"Coller dans le menu Editer ).\n"
-"Les objets copiés sont insérés sur le plan de voie et peuvent ensuite être "
-"déplacés ou tournés et ainsi mis en position."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:127
-#: ../../../../build/work/app/i18n/custmsg.h:100
-msgid ""
-"In the Rotate (or Select) commands you can press Shift-Right-Click to "
-"display the Rotate menu which allows you to rotate the selected objects by a "
-"specific angle."
-msgstr ""
-"Dans les commandes Rotation (ou Sélection), vous pouvez appuyer sur Maj+Clic-"
-"droit pour afficher le menu Rotation qui vous permet de faire pivoter les "
-"objets sélectionnés d'un angle spécifique."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:129
-#: ../../../../build/work/app/i18n/custmsg.h:102
-msgid ""
-"You can use the Move-To-Join option of the Join command (hold down the Shift "
-"key) to move a group of Selected tracks to attach with some unselected End-"
-"Point."
-msgstr ""
-"La commande \"Connecter deux voies\" du menu \"Modifier\" a une option pour "
-"pouvoir connecter un groupe de voies sélectionnées à un point de fin non "
-"spécifié précédemment. Marquez d'abord les voies à connecter, puis "
-"sélectionnez la boîte de dialogue \"Modifier|Connecter deux voies\", "
-"maintenez la touche Maj enfoncée tout en maintenant le bouton gauche de la "
-"souris enfoncé et déplacez le groupe de voies marqué vers le point cible en "
-"appuyant à nouveau sur le bouton gauche de la souris, les voies "
-"sélectionnées sont ajoutées au point de fin."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:131
-#: ../../../../build/work/app/i18n/custmsg.h:104
-msgid ""
-"The Price List dialog (on the File Menu) is used to specify the prices of "
-"each type of Turnout, Sectional Track and Structure. Also, the length and "
-"price of flex-track pieces can be specified for each scale.\n"
-"This values will be used on the Parts List report to generate total cost of "
-"the selected objects."
-msgstr ""
-"La boîte de dialogue 'Gérer|Liste de prix' peut être utilisée pour saisir "
-"les prix de chaque voie, aiguillage ou autre élément. Vous pouvez également "
-"saisir la longueur et le prix des voies Flex pour n'importe quelle échelle.\n"
-"Les prix indiqués sont utilisés pour lister les coûts totaux dans la boîte "
-"de dialogue \"Gérer|Liste des pièces\"."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:134
-#: ../../../../build/work/app/i18n/custmsg.h:106
-msgid ""
-"Areas of water can represented by a Polygon (use the Draw command) of the "
-"appropiate color.\n"
-"By using the Modify command, you can move, add or remove corners of the "
-"Polygon to fit the shape of the water.\n"
-"You use the Below command to place the Polygon below (or behind) other "
-"objects.\n"
-"\n"
-"You can also use a Polygon to represent aisles."
-msgstr ""
-"Les zones d'eau peuvent être représentées par un polygone (utilisez la "
-"commande Dessiner) de la couleur appropriée.\n"
-"En utilisant la commande Modifier, vous pouvez déplacer, ajouter ou "
-"supprimer des angles du polygone pour l’ajuster à la forme de l’eau.\n"
-"Vous utilisez la commande Au-dessous pour placer le polygone au-dessous (ou "
-"derrière) d'autres objets.\n"
-"\n"
-"Vous pouvez également utiliser un polygone pour représenter des allées."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:140
-#: ../../../../build/work/app/i18n/custmsg.h:108
-msgid ""
-"When you create Benchwork you can move it below other objects by Selecting "
-"the Benchwork and use the Below command.\n"
-"Also, put Benchwork in a separate Layer so you can hide it if desired."
-msgstr ""
-"Lorsque vous créez une structure, vous pouvez la déplacer sous d'autres "
-"objets en sélectionnant la structure et en utilisant la commande \"Au-dessous"
-"\" du menu \"Edition\".\n"
-"Placez également la structure dans un calque séparé afin de pouvoir la "
-"masquer si vous le souhaitez."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:143
-#: ../../../../build/work/app/i18n/custmsg.h:110
-msgid ""
-"You can enter Distances and Lengths using any format regardless of the "
-"Length Format on the Preferences dialog."
-msgstr ""
-"Les longueurs peuvent être saisies indépendamment des valeurs prédéfinies "
-"dans la boîte de dialogue \"Options|Paramètres\"."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:144
-#: ../../../../build/work/app/i18n/custmsg.h:112
-msgid ""
-"You can enter Metric values when English is the default Units and vice versa."
-msgstr ""
-"Les valeurs métriques peuvent être saisies même si le paramètre pour les "
-"unités anglaises est sélectionné et vice versa."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:146
-#: ../../../../build/work/app/i18n/custmsg.h:114
-msgid ""
-"When entering Distances and Lengths you can press the '=' key to redisplay "
-"the value in the default format."
-msgstr ""
-"Lorsque vous entrez des distances et des longueurs, vous pouvez utiliser le "
-"caractère '=' pour afficher de nouveau la valeur au format par défaut."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:147
-#: ../../../../build/work/app/i18n/custmsg.h:116
-msgid ""
-"You can also press the 's' key to convert a Prototype measurement to a Scale "
-"measurement by dividing by the ratio for the current scale."
-msgstr ""
-"Vous pouvez également appuyer sur la touche «s» pour convertir une mesure de "
-"prototype en une mesure d'échelle en divisant par le rapport de l'échelle "
-"actuelle."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:148
-#: ../../../../build/work/app/i18n/custmsg.h:118
-msgid ""
-"The 'p' key will convert a Scale measurement to a Prototype measurement."
-msgstr ""
-"La touche «p» convertira une mesure d'échelle en une mesure de prototype."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:150
-#: ../../../../build/work/app/i18n/custmsg.h:120
-msgid ""
-"You can place cars on the layout using the Train Simulation command to check "
-"clearance points, track to track separation and coupling."
-msgstr ""
-"Les véhicules peuvent être placées dans le plan de voie à l'aide de la "
-"commande Train Simulation afin de simuler les passages à niveau, les "
-"liaisons voie à voie ou le couplage."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:152
-#: ../../../../build/work/app/i18n/custmsg.h:122
-msgid ""
-"Use the MoveTo button on the Custom Management dialog to move your custom "
-"Turnout, Structure and Car definitions to a .XTP parameter file."
-msgstr ""
-"Utilisez le bouton \"Déplacer vers\" dans le menu \"Gérer|Eléments définis "
-"sur mesure\" pour déplacer vos définitions d'aiguillage personnalisées, de "
-"bâtiments ou de définitions de véhicule vers un fichier de paramètres .XTP."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:154
-#: ../../../../build/work/app/i18n/custmsg.h:124
-msgid ""
-"If you are printing multiple pages on a continuous feed printer (such a Dot "
-"Matrix) you can change the Page Order if necessary to print pages out in "
-"proper order."
-msgstr ""
-"Si vous utilisez une imprimante avec du papier listing, vous pouvez modifier "
-"l'ordre des pages pour les imprimer dans le bon ordre."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:156
-#: ../../../../build/work/app/i18n/custmsg.h:126
-msgid ""
-"On the Car Item and Car Part dialogs, you can enter custom values for "
-"Manufacturer, Part and Road by typing the new value directly into the Drop "
-"Down List."
-msgstr ""
-"Dans les boîtes de dialogue Elément et Pièce de véhicule, vous pouvez entrer "
-"des valeurs personnalisées propres au fabricant, numéro d'article et chemin "
-"en tapant la nouvelle valeur directement dans la liste déroulante."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:158
-#: ../../../../build/work/app/i18n/custmsg.h:128
-msgid ""
-"On the Car Item dialog, you can change the Road, Number, Color and other "
-"values for a Car. This is useful if you repaint or renumber a car. \n"
-"You can also change the Coupler Mounting and Coupler Length if you change "
-"the couplers."
-msgstr ""
-"Dans la boîte de dialogue \"Gérer|Inventaire du véhicule\", vous pouvez "
-"modifier les valeurs Compagnie ferroviaire, Nombres, Couleur et autres d'un "
-"véhicule. C'est utile si vous repeignez ou renumérotez une voiture.\n"
-"Vous pouvez également modifier le montage et la longueur de l'attelage si "
-"vous changez les attelages."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:161
-#: ../../../../build/work/app/i18n/custmsg.h:130
-msgid ""
-"You can Export your Car Inventory to a file in Comma-Separated-Value format "
-"which can be read by most spread-sheet programs."
-msgstr ""
-"Votre inventaire de véhicules peut être exporté dans un fichier texte, "
-"séparé par des virgules, qui peut être lu par tous les tableurs courants."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:163
-#: ../../../../build/work/app/i18n/custmsg.h:132
-msgid "Use the Train Odometer to measure distances along the track."
-msgstr ""
-"Utilisez le compteur de la commande du train pour mesurer les distances de "
-"la voie."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:165
-#: ../../../../build/work/app/i18n/custmsg.h:134
-msgid ""
-"Holding down the Shift key when clicking the Zoom In or Zoom Out button will "
-"zoom to a programmed Drawing Scale. \n"
-"Holding down the Shift and Control keys when clicking a Zoom button will set "
-"it's program Zoom to the current Drawing Scale."
-msgstr ""
-"Si vous cliquez sur les boutons en forme de loupe alors que vous appuyez sur "
-"la touche Maj, le programme revient à une échelle prédéterminée.\n"
-"En maintenant simultanément les touches Ctrl+Maj enfoncées, vous pouvez "
-"définir le grossissement ou la réduction en cliquant sur les boutons de la "
-"loupe correspondants."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:168
-#: ../../../../build/work/app/i18n/custmsg.h:136
-msgid ""
-"You can trim the ends of turnouts by holding down the Shift key when using "
-"the Split command."
-msgstr ""
-"Vous pouvez couper les extrémités des aiguillages en maintenant la touche "
-"Maj enfoncée lorsque vous utilisez la commande \"Segmentation de voie\"."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:170
-#: ../../../../build/work/app/i18n/custmsg.h:138
-msgid ""
-"The Split command can be used to create Block Gaps at end points between two "
-"tracks. \n"
-"Either rail or both rails can be gapped, which are drawn as thick lines."
-msgstr ""
-"La commande \"Modifier|Segmentation de voie\" peut être utilisée pour "
-"insérer des intervalles de bloc entre les extrémités de deux voies.\n"
-"Les distances peuvent être insérées à l'une ou aux deux extrémités, elles "
-"sont tracées sous forme de lignes épaisses."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:173
-#: ../../../../build/work/app/i18n/custmsg.h:140
-msgid ""
-"Trains will 'crash' if they hit another car when travelling faster than the "
-"'Max Coupling Speed' (on the Command Options dialog). \n"
-"They will also 'crash' if they hit the end of the track or an open "
-"turnout. \n"
-"Crashed trains must be manually moved back onto the track."
-msgstr ""
-"Les trains «déraillent» s'ils heurtent un autre véhicule lorsqu'ils roulent "
-"plus vite que la «Vitesse maximale de couplage» (dans la boîte de dialogue "
-"\"Options|Préférences\").\n"
-"Ils seront également «déraillés» s'ils atteignent une fin de la voie ou un "
-"aiguillage ouvert.\n"
-"Les trains déraillés doivent être remis sue la voie à la main."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:177
-#: ../../../../build/work/app/i18n/custmsg.h:142
-msgid ""
-"You can add new track segments to a turnout definition or create a "
-"definition from individual tracks using the Group command."
-msgstr ""
-"Vous pouvez ajouter de nouveaux segments de voie à une définition "
-"d'aiguillage ou pour créer une nouvelle définition dans laquelle des voies "
-"individuelles sont combinées."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:179
-#: ../../../../build/work/app/i18n/custmsg.h:144
-msgid ""
-"The center point and radius of Curved and Circle tracks can optionally be "
-"drawn. \n"
-"This feature is toggled by using the Move Label command and doing a Shift-"
-"Left-Click on the track."
-msgstr ""
-"Le centre des courbes ou des cercles peut également être affiché.\n"
-"Cette option peut être activée/désactivée en maintenant la touche Maj "
-"enfoncée tout en cliquant avec le bouton gauche de la souris."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:182
-#: ../../../../build/work/app/i18n/custmsg.h:146
-msgid ""
-"Turnout, Curved and Helix track labels can be individually turned on and off "
-"by doing a Shift-Right-Click on the track when using the Move Label command."
-msgstr ""
-"Les étiquettes d'aiguillage, de courbe et d'hélicoïde peuvent être activées "
-"et désactivées individuellement en faisant un Maj-clic droit sur la voie "
-"lors de l'utilisation de la commande \"Modifier|Déplacer la description\" ."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:184
-#: ../../../../build/work/app/i18n/custmsg.h:148
-msgid ""
-"You can use the Describe command to change the font size of Text objects."
-msgstr ""
-"La commande \"Modifier|Propriétés\" permet de modifier la taille de police "
-"des objets texte."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:186
-#: ../../../../build/work/app/i18n/custmsg.h:150
-msgid ""
-"You can use the Describe command to change the size of Dimension Line labels."
-msgstr ""
-"La commande \"Modifier|Propriétés\" permet de modifier la taille des "
-"descriptions de ligne de cote."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:188
-#: ../../../../build/work/app/i18n/custmsg.h:152
-msgid ""
-"Normally Right-Click displays a popup menu of commands and Shift-Right-Click "
-"displays options for the current command. \n"
-"This can reversed by using the Right Click toggle button on the Command "
-"Options dialog."
-msgstr ""
-"Normalement, le clic droit affiche un menu contextuel de commandes et Maj-"
-"clic droit affiche les options de la commande en cours.\n"
-"Ce comportement peut être inversé via la boîte de dialogue des options de "
-"commande."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:191
-#: ../../../../build/work/app/i18n/custmsg.h:154
-msgid ""
-"The Align item on the Rotate command options menu will let you Align "
-"selected objects with any unselected object. \n"
-"The selected objects are rotated so the first point is parallel to the "
-"second point you selected."
-msgstr ""
-"L'élément Aligner du menu d'options de la commande Rotation vous permet "
-"d'aligner les objets sélectionnés avec n'importe quel objet non "
-"sélectionné.\n"
-"Les objets sélectionnés pivotent de sorte que le premier point soit "
-"parallèle au deuxième point sélectionné."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:194
-#: ../../../../build/work/app/i18n/custmsg.h:156
-msgid ""
-"Print To Bitmap allows you to print the track center line. \n"
-"This is useful if you later print the bitmap full size as a template when "
-"laying track."
-msgstr ""
-"Imprimer en bitmap vous permet d'imprimer la ligne centrale de la voie.\n"
-"C'est utile si vous imprimez ultérieurement le bitmap en taille réelle comme "
-"modèle pour poser la voie."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:197
-#: ../../../../build/work/app/i18n/custmsg.h:158
-msgid ""
-"You can export the selected tracks to a DXF file which can be read by most "
-"CAD programs."
-msgstr ""
-"Vous pouvez exporter les voies sélectionnées dans un fichier DXF qui peut "
-"être lu par la plupart des programmes de CAO."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:199
-#: ../../../../build/work/app/i18n/custmsg.h:160
-msgid ""
-"Lengths and distances can be displayed in a variety of units and formats "
-"such as 1' 10 3/4\", 1ft 10.75in or 22.750. In Metric mode, distances can "
-"be displayed as millimeters, centimeters or meters. See the Length Format "
-"item on the Preferences dialog."
-msgstr ""
-"Les longueurs et les distances peuvent être affichées dans une variété "
-"d'unités et de formats, tels que 1' 10 3/4\", 1ft 10.75in ou 22.750. Lorsque "
-"les unités métriques sont sélectionnées, les distances et les longueurs sont "
-"affichées en millimètres, centimètres ou mètres avec la sélection \"Unités\" "
-"dans la boîte de dialogue \"Options|Préférences\"."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:201
-#: ../../../../build/work/app/i18n/custmsg.h:162
-msgid ""
-"Tracks that are too steep or curve too tightly are drawn in the Exception "
-"color (Yellow by default). \n"
-"This helps to identify potential problem areas. \n"
-"The maximum grade and minimum radius are set on the Preferences dialog."
-msgstr ""
-"Les voies trop raides ou trop serrées sont dessinées dans la couleur "
-"d'exception (Violet par défaut).\n"
-"Cela aide à trouver les zones à problèmes.\n"
-"La pente maximale et le rayon minimum sont définis dans la boîte de dialogue "
-"Propriétés."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:205
-#: ../../../../build/work/app/i18n/custmsg.h:164
-msgid ""
-"The Flip command produces a mirror-image of the selected tracks. \n"
-"If possible, right-hand turnouts are relabeled as left-hand turnouts (and "
-"vice versa)."
-msgstr ""
-"La commande \"Miroir\" du menu \"Modifier\" reflète les voies "
-"sélectionnées.\n"
-"Si possible, les aiguillages à droite sont renommés aiguillages à gauche (et "
-"vice versa)."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:208
-#: ../../../../build/work/app/i18n/custmsg.h:166
-msgid ""
-"Then Ungroup command will break turnouts and structures into individual "
-"track, line and shape segments. \n"
-"You can modify each segment and add new ones. \n"
-"Then use the Group command to update the definition."
-msgstr ""
-"La commande \"Gérer|Dissocier\" sépare les commutateurs et/ou les structures "
-"en segments individuels de voie, de ligne et de forme.\n"
-"Vous pouvez maintenant modifier chaque segment pour en ajouter de nouveaux, "
-"etc.\n"
-"Utilisez ensuite la commande \"Gérer|Grouper\" pour mettre à jour votre "
-"nouvelle définition en tant que groupe."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:212
-#: ../../../../build/work/app/i18n/custmsg.h:168
-msgid "Dimension lines show the distance between two points."
-msgstr "Les voies de cote indiquent la distance entre deux points."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:214
-#: ../../../../build/work/app/i18n/custmsg.h:170
-msgid ""
-"A variety of Benchwork (rectangular, L-girder and T-girder) can be drawn. \n"
-"Use the Below command to move the Benchwork below the track for proper "
-"display."
-msgstr ""
-"Une variété de sous-bâtiments (rectangulaires, formes en L ou en T) peuvent "
-"être dessinées.\n"
-"Utilisez la commande \"Au dessous\" du menu \"Editer\" pour déplacer les "
-"sous-bâtiments sous les \n"
-"voies pour un affichage correct."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:217
-#: ../../../../build/work/app/i18n/custmsg.h:172
-msgid ""
-"The Turnout Designer dialogs allow you to specify the width of any attached "
-"roadbed. \n"
-"As well, the color and thickness of the lines used to represent the roadbed "
-"can be specified."
-msgstr ""
-"Les boîtes de dialogue \"Gérer|Conception d'aiguillage\" vous permettent de "
-"spécifier la largeur de n'importe quel ballast associé.\n"
-"De plus, la couleur et l'épaisseur des lignes utilisées pour représenter le "
-"ballast peuvent être précisées."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:220
-#: ../../../../build/work/app/i18n/custmsg.h:174
-msgid ""
-"The Color dialog (on the Options menu) is used to change the color of "
-"different objects on the display. \n"
-"You can change the color of the Snap Grid and Borders, as well as Normal, "
-"Selected and Exception tracks."
-msgstr ""
-"La boîte de dialogue \"Options|Couleurs\" permet de définir les couleurs des "
-"différents objets.\n"
-"Vous pouvez modifier la couleur de la Grille magnétique, des Bordures ainsi "
-"que des Voies normale, sélectionnée ou non conformes."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:223
-#: ../../../../build/work/app/i18n/custmsg.h:176
-msgid ""
-"You can set the elevation (height) of track end-points. \n"
-"Elevations of intermediate end points can be computed automatically based on "
-"the distance to the nearest end points with defined elevations. \n"
-"Grades can also be displayed at selected end points. \n"
-"Please see the Elevations help and demo."
-msgstr ""
-"Vous pouvez définir l'élévation (hauteur) des extrémités de la voie.\n"
-"Les élévations des extrémités intermédiaires peuvent être calculées "
-"automatiquement en fonction de la distance aux extrémités les plus proches "
-"avec des élévations définies.\n"
-"Les gradients peuvent également être affichées aux points de fin "
-"sélectionnés.\n"
-"Veuillez consulter l'aide et la démonstration pour les Elévations."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:228
-#: ../../../../build/work/app/i18n/custmsg.h:178
-msgid ""
-"Once you have elevations on some endpoints, you can use the Profile command "
-"to produce an elevation graph. \n"
-"The graph shows the selected elevations, grades and distances. \n"
-"Please see the Profile help and demo for details."
-msgstr ""
-"Une fois que vous avez des élévations sur certains points de fin, vous "
-"pouvez utiliser la commande Profil pour produire un graphique d'élévation.\n"
-"Le graphique montre les élévations, les pentes et les distances "
-"sélectionnées.\n"
-"Veuillez consulter l'aide et la démo du profil pour plus de détails."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:232
-#: ../../../../build/work/app/i18n/custmsg.h:180
-msgid ""
-"You can draw tracks with wider lines for rails. \n"
-"Select the tracks and use Medium or Thick Tracks on the Edit menu."
-msgstr ""
-"Les rails peuvent être dessinés avec des lignes plus larges pour les voies.\n"
-"Pour ce faire, sélectionnez 'Voies moyennes' ou 'Voies épaisses' dans le "
-"menu \"Editer\"."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:235
-#: ../../../../build/work/app/i18n/custmsg.h:182
-msgid ""
-"The Helix command is used to create a Helix track. \n"
-"You specify some parameters: height, radius, number of turns, grade and "
-"vertical separation between layers. \n"
-"These values are interrelated so changing one value will affect ohers. \n"
-"Then you can place the Helix and join to other tracks as you would a Circle "
-"track."
-msgstr ""
-"La commande Hélicoïde est utilisée pour créer une voie Hélicoïdale.\n"
-"Vous spécifiez certains paramètres : hauteur, rayon, nombre de tours, pente "
-"et séparation verticale entre les couches.\n"
-"Ces valeurs étant interdépendantes, la modification d'une valeur affectera "
-"d'autres.\n"
-"Ensuite, vous pouvez placer l'Hélicoïde et la joindre à d'autres voies comme "
-"vous le feriez pour une voie circulaire."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:240
-#: ../../../../build/work/app/i18n/custmsg.h:184
-msgid ""
-"Many objects on the layout have labels: Turnouts/Helix/Curved Titles, Track "
-"Lenghts, End-Point Elevations, Track Elevations and Cars. \n"
-"You can turn these labels on or off with the Label Enable toggle buttons on "
-"the Display options dialog."
-msgstr ""
-"De nombreux objets du plan ont des étiquettes : Titres d'Aiguillages/"
-"Hélicoïdes/Courbes, Longueurs de voie, Elévations des bouts de voies, "
-"Elévations de voie et Matériels roulants.\n"
-"Vous pouvez activer ou désactiver ces étiquettes à l'aide des cases à cocher "
-"\"Etiquettes activées\" de la boîte de dialogue \"Options d'affichage\"."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:243
-#: ../../../../build/work/app/i18n/custmsg.h:186
-msgid ""
-"If you hold down the Control key when using the Rotate command, the rotation "
-"will be done in increments of 15ᅵ."
-msgstr ""
-"Si vous maintenez la touche Ctrl enfoncée lorsque vous utilisez la commande "
-"Rotation, la rotation diminue par incréments de 15°."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:245
-#: ../../../../build/work/app/i18n/custmsg.h:188
-msgid ""
-"When using the Rotate command, Shift-Right-Click displays a menu allowing "
-"you to rotate by specific amounts or to align the selected objects with "
-"another object."
-msgstr ""
-"Lorsque vous utilisez la commande <Rotation>, l'angle de rotation de l'objet "
-"peut être sélectionné dans un menu en maintenant la touche Maj enfoncée, ou "
-"l'objet peut être aligné avec un autre objet."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:247
-#: ../../../../build/work/app/i18n/custmsg.h:190
-msgid ""
-"This is last tip. If you have any additions or comments, please let us know."
-msgstr ""
-"C'est le dernier conseil. Si vous avez des ajouts ou des commentaires, "
-"veuillez nous en faire part."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:25
-#: ../../../../build/work/app/i18n/custmsg.h:192
-msgid ""
-"The unconnected endpoints of a straight or curved track can be changed with "
-"the 'Modify Track' command.\n"
-msgstr ""
-"Les points de fin non connectés d'une voie droite ou courbe peuvent être "
-"modifiés avec la commande «Modifier la voie».\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:31
-#: ../../../../build/work/app/i18n/custmsg.h:194
-msgid ""
-"The endpoint of a straight track is selected and then Left-Dragged to change "
-"its length. A blue anchor shows that the length can be extended.\n"
-msgstr ""
-"Le point de fin d'une voie droite est sélectionné, puis déplacé vers la "
-"gauche pour modifier sa longueur. Une ancre bleue montre que la longueur "
-"peut être allongée.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:48
-#: ../../../../build/work/app/i18n/custmsg.h:196
-msgid ""
-"If you try to drag the selected endpoint beyond the far endpoint, the track "
-"extends in the opposite direction.\n"
-msgstr ""
-"Si le point d'extrémité sélectionné est déplacé au-delà du point d'extrémité "
-"distant, la voie sera prolongée dans la direction opposée.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:68
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:73
-#: ../../../../build/work/app/i18n/custmsg.h:199
-msgid ""
-"A curved track is selected and it's new endpoint is determined by the angle "
-"to the cursor. \n"
-msgstr ""
-"Une voie courbe est sélectionnée et sa nouvelle extrémité est définie par "
-"l'angle obtenu avec le curseur.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:105
-#: ../../../../build/work/app/i18n/custmsg.h:201
-msgid "It's possible to almost create a complete circle.\n"
-msgstr "Il est presque possible de créer un cercle complet.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:202
-msgid ""
-"If you drag the mouse beyond the start of the curve the track becomes very "
-"short.\n"
-msgstr ""
-"Si vous déplacez la souris au-delà du point de départ de l'arc, le tracé "
-"devient très court.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:113
-#: ../../../../build/work/app/i18n/custmsg.h:204
-msgid "Here you are warned that the track will be too short.\n"
-msgstr "Ici, vous êtes averti que la voie sera trop courte.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:147
-#: ../../../../build/work/app/i18n/custmsg.h:206
-msgid ""
-"If you move the cursor away from the curve, you will create a straight track "
-"tangent to the curve.\n"
-msgstr ""
-"Lorsque vous éloignez le curseur de l'arc, vous créez une voie droite "
-"tangente à l'arc.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:169
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:174
-#: ../../../../build/work/app/i18n/custmsg.h:209
-msgid ""
-"If you adjust the endpoint of a turnout or sectional track the track is "
-"extended by a similar track segment. The extension can be \n"
-msgstr ""
-"Si vous ajustez l'extrémité d'un aiguillage ou d'un élément de voie, celle-"
-"ci est prolongée par un segment droit. L'extension est possible\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:210
-msgid "a straight or a curve.\n"
-msgstr ""
-"droite ou courbe.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:190
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:195
-#: ../../../../build/work/app/i18n/custmsg.h:213
-msgid ""
-"You can change the radius of a straight or curved track that is connected at "
-"one endpoint by holding down the Shift key while Left-dragging on it.\n"
-msgstr ""
-"Vous pouvez modifier le rayon d'une voie droite ou courbe connectée à un "
-"point de fin en maintenant la touche Maj enfoncée tout en la faisant glisser "
-"vers la gauche..\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:214
-msgid ""
-"The blue cross anchor shows that this is possible when shift is held down "
-"with no buttons.\n"
-msgstr ""
-"L'ancre de la croix bleue montre que c'est possible lorsque shift est "
-"maintenu enfoncé sans boutons.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:209
-#: ../../../../build/work/app/i18n/custmsg.h:216
-msgid ""
-"This lets you change a straight track into a curved track (and vice versa) "
-"as well as changing the radius of a curved track.\n"
-msgstr ""
-"Cela vous permet de changer une voie droite en voie courbe (et vice versa) "
-"ainsi que de changer le rayon d'une voie courbe.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:252
-#: ../../../../build/work/app/i18n/custmsg.h:218
-msgid ""
-"You can form an extension of a straight or curved Track that is connected at "
-"one endpoint using an easement by holding down the Ctrl key while Left-"
-"dragging on it.\n"
-msgstr ""
-"Vous pouvez créer une extension à une voie droite ou courbe connectée à un "
-"point de fin à l'aide d'une voie de transition en maintenant la touche Ctrl "
-"enfoncée tout en faisant un glisser-gauche.\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:219
-msgid ""
-"The blue half cross anchor shows that this is possible when the Ctrl key is "
-"held down with no mouse button.\n"
-msgstr ""
-"L'ancre bleue en forme de demi-croix montre que c'est possible lorsque la "
-"touche Ctrl est maintenue enfoncée sans aucun bouton de la souris.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:267
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmbench.xtr:9
-#: ../../../../build/work/app/i18n/custmsg.h:222
-msgid "You can draw a variety of different types of benchwork:\n"
-msgstr "Vous pouvez dessiner différentes formes de chassis :\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:223
-msgid "- rectangular (1x2, 2x4 etc)\n"
-msgstr "- rectangulaire (1x2, 2x4 etc.)\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:224
-msgid "- L girders\n"
-msgstr "- L Supports\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:225
-msgid "- T girders\n"
-msgstr "- T Supports\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:226
-msgid "You can also draw them in different orientations.\n"
-msgstr "Vous pouvez également les dessiner dans différentes orientations.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmbench.xtr:25
-#: ../../../../build/work/app/i18n/custmsg.h:228
-msgid "We will draw two 3x6 inch L-girders.\n"
-msgstr "Nous dessinons deux équerres de 3x6 pouces.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmbench.xtr:43
-#: ../../../../build/work/app/i18n/custmsg.h:230
-msgid ""
-"The flange of the top L-Girders is on the outside edge of the girders. We "
-"want to change the girder so both flanges are on the inside.\n"
-msgstr ""
-"La bride des équerres supérieures se trouve sur le bord extérieur du "
-"support. Nous voulons changer le support afin que les deux brides soient à "
-"l'intérieur.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:231
-msgid "We will use the <Describe> command for this.\n"
-msgstr "Pour cela nous utiliserons la commande <Propriétés>.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmbench.xtr:54
-#: ../../../../build/work/app/i18n/custmsg.h:233
-msgid "Change the Orientation to Right.\n"
-msgstr "Changer l'orientation à droite.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmbench.xtr:63
-#: ../../../../build/work/app/i18n/custmsg.h:235
-msgid "Now both flanges are on the inside of the two girders.\n"
-msgstr "Maintenant, les deux rebords sont à l'intérieur des deux longerons.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:34
-#: ../../../../build/work/app/i18n/custmsg.h:237
-msgid ""
-"Pushing the <Describe> button will cancel any other command in progress.\n"
-msgstr ""
-"Appuyez sur le bouton <Propriétés> pour annuler toute autre commande en "
-"cours.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:238
-msgid ""
-"Here we will begin to create a curved track which is a two step process.\n"
-msgstr ""
-"Dans un processus en deux étapes, nous allons commencer à créer une voie "
-"courbe.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:47
-#: ../../../../build/work/app/i18n/custmsg.h:240
-msgid ""
-"When we clicked on the <Describe> button, the current command was "
-"cancelled.\n"
-msgstr ""
-"La commande démarrée a été annulée en appuyant sur le bouton <Decrire>.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:241
-msgid ""
-"When in <Describe> mode, selecting any object will print a description in "
-"the Status Bar and display a dialog showing properties of the clicked-on "
-"object.\n"
-msgstr ""
-"En mode <Proprietes>, la sélection d'un objet mettra une description dans la "
-"barre d'état et affichera une boîte de dialogue affichant les propriétés de "
-"l'objet cliqué.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:57
-#: ../../../../build/work/app/i18n/custmsg.h:243
-msgid ""
-"Certain parameters of the object can be changed. In this case we'll change "
-"the length\n"
-msgstr ""
-"Certains paramètres de l'objet peuvent être modifiés. Dans ce cas, nous "
-"allons changer la longueur\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:65
-#: ../../../../build/work/app/i18n/custmsg.h:245
-msgid "Let's look at the Turnout...\n"
-msgstr "Regardons l'aiguillage ...\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:73
-#: ../../../../build/work/app/i18n/custmsg.h:247
-msgid "and change the turnout name and part no.\n"
-msgstr ""
-"et changez le nom d'aiguillage et son numéro.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:84
-#: ../../../../build/work/app/i18n/custmsg.h:249
-msgid "You can change the contents of text...\n"
-msgstr ""
-"Vous pouvez modifier le contenu du texte …\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:93
-#: ../../../../build/work/app/i18n/custmsg.h:251
-msgid "and its size.\n"
-msgstr "et sa taille.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:100
-#: ../../../../build/work/app/i18n/custmsg.h:253
-msgid ""
-"If you select a note, the Description dialog appears which displays the "
-"contents of the note.\n"
-msgstr ""
-"Lorsque vous sélectionnez une note, une boîte de dialogue apparaît et "
-"affiche le contenu de la note.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:112
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcircle.xtr:7
-#: ../../../../build/work/app/i18n/custmsg.h:256
-msgid ""
-"Like the <Curve> track command, there are several ways to create a Circle "
-"track.\n"
-msgstr ""
-"Comme pour la commande de voie <Courbe>, il existe plusieurs façons de créer "
-"une voie circulaire.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:257
-msgid ""
-"The first is to specify a fixed radius and simply drag the Circle into "
-"position.\n"
-msgstr ""
-"La première possibilité consiste à définir un rayon fixe et à faire glisser "
-"vers la position souhaitée.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:258
-msgid "We will change the Radius before proceeding.\n"
-msgstr "Nous allons changer le rayon avant de continuer.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcircle.xtr:24
-#: ../../../../build/work/app/i18n/custmsg.h:260
-msgid "The next method is to drag from the edge of the Circle to the center.\n"
-msgstr ""
-"La méthode suivante consiste à faire glisser le bord du cercle vers le "
-"centre.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcircle.xtr:37
-#: ../../../../build/work/app/i18n/custmsg.h:262
-msgid ""
-"The last is similar, but you drag from the center of the Circle to the "
-"edge.\n"
-msgstr ""
-"La dernière méthode, comparable, consiste à dessiner du centre vers le "
-"cercle.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcircle.xtr:50
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:157
-#: ../../../../build/work/app/i18n/custmsg.h:265
-msgid ""
-"We have built a siding using Sectional track and have 2 End-Points that "
-"don't line up and are not connected automatically when placing the sectional "
-"track.\n"
-msgstr ""
-"Nous avons construit une voie de service en utilisant une section de voie et "
-"avons 2 points d'extrémité qui ne s'alignent pas et ne sont pas connectés "
-"automatiquement lors du placement de la section de voie.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:162
-#: ../../../../build/work/app/i18n/custmsg.h:267
-msgid ""
-"We use the <Connect> command to adjust neighboring tracks so the gap is "
-"closed.\n"
-msgstr ""
-"Nous utilisons la commande <Connecter deux voies> pour aligner les voies "
-"voisines afin que l'écart soit fermé.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:268
-msgid ""
-"Note: the adjustments are only done on tracks which have only 1 or 2 "
-"connections. In this example the Turnouts would not be affected.\n"
-msgstr ""
-"Remarque : les réglages ne sont effectués que sur les voies ne comportant "
-"que 1 ou 2 connexions. Dans cet exemple, l'aiguillage ne serait pas "
-"affecté.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:175
-#: ../../../../build/work/app/i18n/custmsg.h:270
-msgid "And now the gap is closed.\n"
-msgstr "Et maintenant, l'écart est comblé.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:181
-#: ../../../../build/work/app/i18n/custmsg.h:272
-msgid "Other tracks have been shifted slightly to close the gap.\n"
-msgstr "D'autres voies ont été légèrement décalées pour combler l'écart.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:188
-#: ../../../../build/work/app/i18n/custmsg.h:274
-msgid "You can see these slight mis-alignments.\n"
-msgstr "Vous pouvez voir les petits décalages.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:275
-msgid "But they will have no effect when the layout is actually built.\n"
-msgstr ""
-"Mais ils n'auront aucun effet lorsque le plan sera effectivement construit.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:196
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:353
-#: ../../../../build/work/app/i18n/custmsg.h:278
-msgid ""
-"After working with Sectional track you might get to point where these mis-"
-"alignments have accumulated and you wish to remove them.\n"
-msgstr ""
-"Après avoir travaillé avec Sectional Track, les défauts se sont accumulés au "
-"point d’alignement et vous pourriez souhaiter les supprimer.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:279
-msgid ""
-"You can remove these slight mis-alignments by tightening the tracks starting "
-"from a unconnected End-Point. Use Shift-Left-Click with the <Connect> "
-"command.\n"
-msgstr ""
-"Vous pouvez supprimer ces petits décalages en rapprochant les rails. "
-"Commencez à un point de fin non connecté en appuyant sur la touche Maj tout "
-"en appuyant sur le bouton <Connecter>.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:280
-msgid "First use the <Split> command to disconnect the tracks.\n"
-msgstr ""
-"Commencez par utiliser la commande <Segmenter> pour déconnecter les voies.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:363
-#: ../../../../build/work/app/i18n/custmsg.h:282
-msgid ""
-"Then with the <Connect> command, Shift-Left-Click on the 2 End-Points.\n"
-msgstr ""
-"Ensuite, vous pouvez activer la commande <Connecter> et cliquer sur les deux "
-"points d'extrémité tout en maintenant la touche Maj enfoncée.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:378
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn2.xtr:199
-#: ../../../../build/work/app/i18n/custmsg.h:285
-msgid "In example shows a simple figure-8 layout using Sectional track.\n"
-msgstr ""
-"L'exemple montre le plan d'une simple figure-8 utilisant une section de "
-"voie.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:286
-msgid ""
-"You will notice that the tracks do not line up exactly in one location.\n"
-msgstr ""
-"Comme vous pouvez le voir, les voies ne sont pas exactement alignées au même "
-"point.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn2.xtr:211
-#: ../../../../build/work/app/i18n/custmsg.h:288
-msgid ""
-"We can use the <Connect> command to move the connecting tracks slightly and "
-"connect the 2 End-Points.\n"
-msgstr ""
-"Avec la commande <Connecter deux voies>, nous pouvons facilement déplacer "
-"les voies à connecter et connecter les 2 points de fin.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn2.xtr:224
-#: ../../../../build/work/app/i18n/custmsg.h:290
-msgid "The two End-Points are now aligned and connected.\n"
-msgstr "Les deux points d'extrémité sont maintenant alignés et connectés.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn2.xtr:231
-#: ../../../../build/work/app/i18n/custmsg.h:292
-msgid "The connection was made by adding small gaps in other tracks.\n"
-msgstr ""
-"La connexion a été établie en ajoutant de petits espaces dans d'autres "
-"voies.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn2.xtr:238
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:7
-#: ../../../../build/work/app/i18n/custmsg.h:295
-msgid "There are several ways to create a Curved track.\n"
-msgstr "Il existe plusieurs façons de créer une voie courbe.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:296
-msgid ""
-"You can choose which to use by clicking on the small button to the left of "
-"<Curve> command button if the current Curve command is not the one you "
-"want.\n"
-msgstr ""
-"Vous pouvez faire votre choix en cliquant sur le petit bouton à gauche du "
-"bouton de commande <Courbe>, si la Courbe actuelle n'est pas celle que vous "
-"souhaitez.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:297
-msgid ""
-"The first is by clicking on the first End-Point and dragging in the "
-"direction of the Curve.\n"
-msgstr ""
-"La première possibilité consiste à sélectionner le premier point de fin et à "
-"le faire glisser en direction de la courbe.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:20
-#: ../../../../build/work/app/i18n/custmsg.h:299
-msgid ""
-"You will see a straight track with a double ended Red arrow at the end.\n"
-msgstr ""
-"Vous verrez une voie droite avec une flèche rouge avec deux pointes à la "
-"fin.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:300
-msgid "Click and drag on one of the Red arrows to complete the Curve.\n"
-msgstr ""
-"Cliquez et faites glisser une des flèches rouges pour compléter la courbe.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:39
-#: ../../../../build/work/app/i18n/custmsg.h:302
-msgid ""
-"The next method is to click at one End-Point and drag to the center of the "
-"Curve.\n"
-msgstr ""
-"La méthode suivante consiste à cliquer sur un point de fin et à faire "
-"glisser vers le centre de la courbe.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:50
-#: ../../../../build/work/app/i18n/custmsg.h:304
-msgid ""
-"Now you will see the double ended Red arrow connected to the center of the "
-"Curve marked by a small circle.\n"
-msgstr ""
-"Comme précédemment, vous verrez la double flèche rouge avec deux points "
-"reliés au centre de la courbe. Elle est marquée avec un petit cercle.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:305
-msgid "As before, drag on one of the Red arrows to complete the Curve.\n"
-msgstr ""
-"Comme auparavant, faites glisser l'une des flèches rouges pour terminer la "
-"courbe.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:63
-#: ../../../../build/work/app/i18n/custmsg.h:307
-msgid ""
-"The next method is similar to the last except that you drag first from the "
-"center of the Curve to one End-Point.\n"
-msgstr ""
-"La méthode suivante est similaire à la précédente, mais commencez par "
-"glisser du point milieu vers un point de fin.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:80
-#: ../../../../build/work/app/i18n/custmsg.h:309
-msgid "Once again, drag on a Red arrow to complete the Curve.\n"
-msgstr "Encore une fois, tirez sur une flèche rouge pour terminer la courbe.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:90
-#: ../../../../build/work/app/i18n/custmsg.h:311
-msgid ""
-"The last method begins by drawing a line between the two End-Points of the "
-"Curve. This forms the Chord of the Curve.\n"
-msgstr ""
-"Pour la dernière méthode, commencez par tracer une ligne entre les deux "
-"extrémités. Cela forme la corde de la courbe.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:108
-#: ../../../../build/work/app/i18n/custmsg.h:313
-msgid "Now drag on a Red arrow to complete the Curve.\n"
-msgstr "Maintenant, faites glisser la flèche rouge pour compléter la courbe.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:118
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:112
-#: ../../../../build/work/app/i18n/custmsg.h:316
-msgid "This demo will construct a control panel for part of a bigger layout.\n"
-msgstr ""
-"Cette démo crée un panneau de contrôle pour une partie d'une installation "
-"plus grande.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:117
-#: ../../../../build/work/app/i18n/custmsg.h:318
-msgid "For our control panel we will use Œ\" lines. \n"
-msgstr ""
-"Pour notre panneau de contrôle, nous utiliserons des lignes de 1/2\"de "
-"large.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:319
-msgid "Also, we will use a 1/8\" grid to lay out our controls.\n"
-msgstr ""
-"De plus, nous utiliserons une grille de 1/8\" pour disposer nos contrôles.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:320
-msgid ""
-"First, we will set up the Snap Grid for 1\" grid lines and 8 divisions.\n"
-msgstr ""
-"Tout d’abord, nous allons configurer la grille magnétique pour des lignes de "
-"grille de 1\" et 8 divisions.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:132
-#: ../../../../build/work/app/i18n/custmsg.h:322
-msgid "Now, clear the layout and turn on the Snap Grid.\n"
-msgstr ""
-"Maintenant, nous supprimons le brouillon et activons la grille "
-"d'accrochage.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:147
-#: ../../../../build/work/app/i18n/custmsg.h:324
-msgid "First step: draw the lines representing the tracks.\n"
-msgstr "Première étape : tracez les voies représentant les voies.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:325
-msgid "We specify the line width in pixels when at 1:1 zoom.\n"
-msgstr ""
-"Nous spécifions la largeur de la ligne en pixels lorsqu'il s'agit d'un zoom "
-"1:1.\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:326
-msgid ""
-"To create a 1/4\" line, divide the dots-per-inch (DPI) of your display by "
-"4.\n"
-msgstr ""
-"Pour créer une ligne large de 1/4 pouce, la résolution de l'écran (DPI) est "
-"divisée par 4.\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:327
-msgid ""
-"For MS-Windows the DPI is usually 98, so choose: 98/4 = 24 (approximately).\n"
-msgstr ""
-"Pour MS-Windows, le ppp (DPI) est généralement de 98; choisissez donc: "
-"(98/4) = 24 (environ).\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:328
-msgid "For Linux, the DPI is usually 72, so choose: 72/4 = 18.\n"
-msgstr ""
-"Pour Linux, le ppp (DPI) est généralement de 72, choisissez donc : (72/4) = "
-"18.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:495
-#: ../../../../build/work/app/i18n/custmsg.h:330
-msgid ""
-"Notice how the Snap Grid keeps the main line and siding track parallel and "
-"the connecting tracks and spur at a 45° angle.\n"
-msgstr ""
-"Remarquez comment la Grille magnétique maintient la ligne principale et la "
-"voie d'évitement parallèles, ainsi que les voies de connexion et la voie "
-"déviée à un angle de 45 °.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:503
-#: ../../../../build/work/app/i18n/custmsg.h:332
-msgid "Second step: add LEDs for the turnout position indicators.\n"
-msgstr ""
-"Deuxième étape : ajouter des LED pour les indicateurs de position "
-"d'aiguillage.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:333
-msgid "We will use T1 red and green LEDs.\n"
-msgstr "Nous allons utiliser des LED rouges et vertes T1.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:334
-msgid "We will zoom in to show positioning.\n"
-msgstr "Nous allons zoomer pour afficher le positionnement.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:513
-#: ../../../../build/work/app/i18n/custmsg.h:336
-msgid ""
-"Notice that when we are in the correct position (on the 1/8\" grid), the "
-"Marker lines on the bottom and left rulers will high-light the tick marks. "
-"When both ticks are high-lighted, press the space bar to finalize the LED.\n"
-msgstr ""
-"Notez que lorsqu'elles sont correctement positionnées (sur la grille 1/8\"), "
-"les lignes de repère situées en dessous et à gauche mettent en surbrillance "
-"les repères de sélection. Une fois les deux marquages mis en surbrillance, "
-"verrouillez le voyant LED en appuyant sur la barre d'espacement.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:558
-#: ../../../../build/work/app/i18n/custmsg.h:338
-msgid "Now we'll add push buttons to control the turnouts.\n"
-msgstr ""
-"Maintenant, nous allons ajouter des boutons pour contrôler les aiguillages.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:595
-#: ../../../../build/work/app/i18n/custmsg.h:340
-msgid "Let's add signals to our siding.\n"
-msgstr "Ajoutons des signaux à notre voie d’évitement.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:341
-msgid ""
-"The entrance to the siding will be protected by double headed signals.\n"
-msgstr "L'entrée de la voie de garage est protégée par un double signal\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:342
-msgid "We'll select a signal from the HotBar and place it into position.\n"
-msgstr "Nous sélectionnons un signal de la HotBar et le mettons en position.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:608
-#: ../../../../build/work/app/i18n/custmsg.h:344
-msgid ""
-"We rotate the signals by Shift-Right-Click and select 90° CW on the popup "
-"menu. We can not show the popup menu in demo mode, but will simulate the "
-"effect.\n"
-msgstr ""
-"Nous faisons pivoter les signaux par un Maj-clic droit et sélectionnons 90° "
-"CW dans le menu contextuel. Nous ne pouvons pas afficher le menu contextuel "
-"en mode démo, mais simulerons l'effet.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:657
-#: ../../../../build/work/app/i18n/custmsg.h:346
-msgid "The exits from the siding will be protected by single headed signals.\n"
-msgstr ""
-"Les sorties du parement seront protégées par des signaux à une seule tête.\n"
-"\n"
-"\n"
-"La sortie de la voie de garage est sécurisée par un simple signal.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:711
-#: ../../../../build/work/app/i18n/custmsg.h:348
-msgid "Now for some touch-ups.\n"
-msgstr "Maintenant quelques améliorations mineures.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:349
-msgid "Notice when the line meet at an angle there is a gap.\n"
-msgstr "Remarquez que quand la ligne se croise à un angle, il y a un espace.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:350
-msgid "We will fill this gap with the Œ\" dot.\n"
-msgstr "Nous allons combler cette lacune avec un point de 1/2 pouce.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:351
-msgid ""
-"Note: Win95/Win98/WinME does not support drawing lines with flat end-caps, "
-"but only with round end-caps.\n"
-msgstr ""
-"Remarque : Win95 / Win98 / WinME ne prennent pas en charge les lignes de "
-"dessin avec des embouts plats, mais seulement avec des embouts arrondis.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:352
-msgid "Users on those platforms will not see the gap.\n"
-msgstr "Les utilisateurs de ces plateformes ne verront pas l'écart.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:734
-#: ../../../../build/work/app/i18n/custmsg.h:354
-msgid ""
-"Add an arrow head to indicate the tracks that connect to the rest of the "
-"layout.\n"
-msgstr ""
-"Ajoutez une flèche pour indiquer les voies qui se connectent sur le reste du "
-"plan.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:355
-msgid "The second arrow will be flipped 180°\"\n"
-msgstr ""
-"La deuxième flèche sera tournée de 180°\"\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:772
-#: ../../../../build/work/app/i18n/custmsg.h:357
-msgid "And add some labels.\n"
-msgstr "Et ajoutez des étiquettes.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:831
-#: ../../../../build/work/app/i18n/custmsg.h:359
-msgid ""
-"We want to print our control panel onto a 8œx11 page, but the control panel "
-"is a bit too wide.\n"
-msgstr ""
-"Nous aimerions imprimer le panneau de commande sur une page de 8\"x11\", "
-"mais il est trop large.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:360
-msgid "Lets tighten it up a bit.\n"
-msgstr "Permet de resserrer un peu.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:361
-msgid ""
-"First turn the Snap Grid on again so any moves we make will keep objects on "
-"the grid.\n"
-msgstr ""
-"Commencez par réactiver la grille magnétique afin que les objets restent "
-"alignés lors de leurs déplacements.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:840
-#: ../../../../build/work/app/i18n/custmsg.h:363
-msgid "Lets move the spur track to the left 3/4\"\n"
-msgstr "Poussons la voie de service à gauche de 3/4 pouce\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:862
-#: ../../../../build/work/app/i18n/custmsg.h:365
-msgid "Now move the right side of the siding over.\n"
-msgstr "Maintenant déplacez le côté droit de la voie d’évitement.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:882
-#: ../../../../build/work/app/i18n/custmsg.h:367
-msgid "Now, adjust the ends of the mainline and siding tracks.\n"
-msgstr ""
-"Maintenant, ajustez les extrémités des voies principale et d’évitement.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:902
-#: ../../../../build/work/app/i18n/custmsg.h:369
-msgid "And move the title over as well.\n"
-msgstr "Et déplacez aussi le titre.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:919
-#: ../../../../build/work/app/i18n/custmsg.h:371
-msgid "Now you can print it.\n"
-msgstr "Maintenant, vous pouvez l'imprimer.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:372
-msgid "The cross-hairs on the LEDs and switch show the centers for drilling.\n"
-msgstr ""
-"Le réticule marque le centre des LED et des interrupteurs, ce qui facilite "
-"le perçage.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdelund.xtr:33
-#: ../../../../build/work/app/i18n/custmsg.h:374
-msgid ""
-"Pressing the <Delete> button lets you delete selected tracks from the "
-"layout.\n"
-msgstr ""
-"Appuyez sur le bouton <Suppr> pour supprimer les voies sélectionnées sur le "
-"plan.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:375
-msgid ""
-"First you select the tracks you want to delete, and then press the <Delete> "
-"button.\n"
-msgstr ""
-"Commencez par sélectionner les voies à supprimer, puis appuyez sur la touche "
-"<Suppr>.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdelund.xtr:47
-#: ../../../../build/work/app/i18n/custmsg.h:377
-msgid ""
-"If you delete a track connected to an easement curve, then the easement "
-"curve is deleted as well.\n"
-msgstr ""
-"Si vous supprimez une voie comportant un arc de transition, cet arc de "
-"transition sera également supprimé.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdelund.xtr:57
-#: ../../../../build/work/app/i18n/custmsg.h:379
-msgid "You can use the <Undo> command to undelete tracks.\n"
-msgstr "Vous pouvez utiliser la commande <Annuler> pour restaurer les voies.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdelund.xtr:67
-#: ../../../../build/work/app/i18n/custmsg.h:381
-msgid ""
-"If you Left-Drag on the layout you can select all tracks within an area.\n"
-msgstr ""
-"En faisant glisser avec la souris tout en maintenant le bouton gauche "
-"enfoncé, vous pouvez marquer toutes les voies d'une zone.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:382
-msgid ""
-"Note, only tracks within the selected area are deleted. Since the easement "
-"curve is connected to a deleted track, it is deleted as well.\n"
-msgstr ""
-"Remarque : seules les voies de la zone sélectionnée sont supprimées. Mais "
-"comme la courbe de transition est connectée à une voie supprimée, elle sera "
-"également supprimée.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdelund.xtr:80
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:6
-#: ../../../../build/work/app/i18n/custmsg.h:385
-msgid ""
-"The demo also simulates entering values and selecting options on various "
-"dialogs.\n"
-msgstr ""
-"La démo simule également la saisie de valeurs et la sélection d'options dans "
-"diverses boîtes de dialogue.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:386
-msgid ""
-"This is simulated by drawing a rectangle around the control when values are "
-"entered or changed.\n"
-msgstr ""
-"124/5000\n"
-"Ceci est simulé en dessinant un rectangle autour du champ de saisie lors de "
-"la saisie ou de la modification de valeurs.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:13
-#: ../../../../build/work/app/i18n/custmsg.h:388
-msgid ""
-"Here we are going to make some changes to the Display dialog. Notice how "
-"this is simulated.\n"
-msgstr ""
-"Ici, nous apportons des modifications dans la boîte de dialogue d'affichage. "
-"Remarquez comment cela est simulé.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:389
-msgid "First we are setting 'Draw Tunnel' to 'Normal'\n"
-msgstr ""
-"D'abord, nous paramétrons «Dessiner un tunnel» sur «Normal»\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:21
-#: ../../../../build/work/app/i18n/custmsg.h:391
-msgid "Now we're changing 'Label Font Size' to '56'\n"
-msgstr ""
-"Maintenant, nous changeons 'Taille de la police de l'étiquette' en «56»\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:26
-#: ../../../../build/work/app/i18n/custmsg.h:393
-msgid "We'll change some other options\n"
-msgstr "Nous allons changer quelques autres options\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:38
-#: ../../../../build/work/app/i18n/custmsg.h:395
-msgid ""
-"This effect is only used in demonstration mode. During normal operation you "
-"will not see this.\n"
-msgstr ""
-"Cet effet n'est utilisé qu'en mode démonstration. Pendant le fonctionnement "
-"normal, vous ne le verrez pas.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:45
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdimlin.xtr:117
-#: ../../../../build/work/app/i18n/custmsg.h:398
-msgid "Dimension Lines are used to mark the distances between two points.\n"
-msgstr "Les voies de cote servent à marquer les distances entre deux points.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:399
-msgid ""
-"Here we will create a Dimension Line to show the separation between two "
-"tracks.\n"
-msgstr ""
-"Ici, nous créons une ligne de cote pour montrer la distance entre deux voies "
-"parallèles.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdimlin.xtr:132
-#: ../../../../build/work/app/i18n/custmsg.h:401
-msgid ""
-"We might also want to measure the distance between two structures. In this "
-"case we will use a larger dimension line.\n"
-msgstr ""
-"Nous pourrions également vouloir déterminer la distance entre deux "
-"bâtiments. Dans ce cas, nous utilisons une ligne de plus grande dimension.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdimlin.xtr:143
-#: ../../../../build/work/app/i18n/custmsg.h:403
-msgid ""
-"We can use the <Describe> command to change the position of the Dimension "
-"Line and the size of the numbers.\n"
-msgstr ""
-"La commande <Propriétés> peut être utilisée pour modifier la position de la "
-"ligne de cote et la taille des nombres.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdimlin.xtr:161
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:14
-#: ../../../../build/work/app/i18n/custmsg.h:406
-msgid ""
-"This example will show the effect of using easements while joining tracks.\n"
-msgstr ""
-"Cet exemple montrera l'effet de l'utilisation de courbes de transition lors "
-"de la jonction de voies.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:407
-msgid "First, we will enable Cornu Easements and select Join\n"
-msgstr ""
-"Tout d'abord, nous validerons \"Courbe de transition Cornu\", puis "
-"sélectionnerons Raccorder\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:28
-#: ../../../../build/work/app/i18n/custmsg.h:409
-msgid "First select one end of the track\n"
-msgstr ""
-"Sélectionnez d'abord une fin de voie\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:39
-#: ../../../../build/work/app/i18n/custmsg.h:411
-msgid "Now the end of different track\n"
-msgstr "Et maintenant, la fin d'une autre voie\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:49
-#: ../../../../build/work/app/i18n/custmsg.h:413
-msgid "You can reposition the ends by dragging them \n"
-msgstr ""
-"Vous pouvez repositionner les extrémités en les faisant glisser\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:65
-#: ../../../../build/work/app/i18n/custmsg.h:415
-msgid "When you are happy, Hit Enter or Space, if not use Esc\n"
-msgstr ""
-"Lorsque vous êtes satisfait, appuyez sur Entrée ou Espace, sinon utilisez "
-"Esc\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:73
-#: ../../../../build/work/app/i18n/custmsg.h:417
-msgid ""
-"The Curve is made up of Beziers parts that smooth the shape the best way it "
-"can be in the space available\n"
-msgstr ""
-"La courbe est composée d'éléments de Bézier qui lissent la forme de la "
-"meilleure façon possible dans l'espace disponible\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:87
-#: ../../../../build/work/app/i18n/custmsg.h:419
-msgid "Now, we'll show traditional easements instead.\n"
-msgstr ""
-"Maintenant, nous allons plutôt montrer les easements traditionnelles.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:142
-#: ../../../../build/work/app/i18n/custmsg.h:421
-msgid ""
-"We've selected sharp easements. The minimum radius curve we can use will be "
-"9.75\"\n"
-msgstr ""
-"Nous avons choisi des courbes de transition serrées. Le rayon minimum que "
-"nous pouvons utiliser est de 9,75 \".\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:422
-msgid "Notice the label on the Easement button has changed to 'Sharp'.\n"
-msgstr ""
-"Remarquez que l’étiquette du bouton 'courbes de transitions' a été remplacée "
-"par 'Etroit'.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:157
-#: ../../../../build/work/app/i18n/custmsg.h:424
-msgid ""
-"Note the connecting curve does not quite meet the straight tracks. This the "
-"'Offset'.\n"
-msgstr ""
-"Notez que la courbe de connexion ne rencontre pas tout à fait les voies "
-"droites. C'est le \"décalage\".\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:165
-#: ../../../../build/work/app/i18n/custmsg.h:426
-msgid "Here the connecting curve is too small.\n"
-msgstr "Ici, le rayon de connexion est trop petit.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:175
-#: ../../../../build/work/app/i18n/custmsg.h:428
-msgid ""
-"The connecting curve is made of three tracks, the curve and two easement "
-"segments on each end.\n"
-msgstr ""
-"La courbe de connexion est composée de trois voies, la courbe et deux "
-"segments de courbes de transition à chaque extrémité.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:112
-#: ../../../../build/work/app/i18n/custmsg.h:430
-msgid ""
-"We have designed part of the layout with a siding, 2 branches and a spiral "
-"loop. We want to set elevations.\n"
-msgstr ""
-"Nous avons conçu une partie d'un plan de voie avec un parement, 2 branches "
-"et une hélicoïde de voie. Maintenant, nous voulons définir les élévations.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:431
-msgid "Note: make sure you set endpoint elevations on the Display dialog.\n"
-msgstr ""
-"Remarque : assurez-vous de définir les élévations des points de fin dans la "
-"boîte de dialogue Affichage.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:122
-#: ../../../../build/work/app/i18n/custmsg.h:433
-msgid "First we will set elevations at the end of the branches.\n"
-msgstr "Nous allons d’abord définir les élévations au bout des branches.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:132
-#: ../../../../build/work/app/i18n/custmsg.h:435
-msgid "We'll select the end of the top branch and set the Elevation to 4\"\n"
-msgstr ""
-"Nous allons sélectionner la fin de la branche supérieure et définir "
-"l'élévation à 4\"\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:436
-msgid "First, click on the End-Point.\n"
-msgstr "Tout d'abord, cliquez sur le point de fin.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:142
-#: ../../../../build/work/app/i18n/custmsg.h:438
-msgid "Next, pick Defined on the Elevation dialog Radio box.\n"
-msgstr "Ensuite, sélectionnez 'Valider' dans la boîte de dialogue Élévation.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:148
-#: ../../../../build/work/app/i18n/custmsg.h:440
-msgid "And set the Elevation to 4.\n"
-msgstr "Et définissez l'élévation à 4.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:156
-#: ../../../../build/work/app/i18n/custmsg.h:442
-msgid "Now, select the other branch and set it's elevation to 2\"\n"
-msgstr ""
-"Maintenant, sélectionnez l’autre branche et réglez son élévation sur 2\"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:170
-#: ../../../../build/work/app/i18n/custmsg.h:444
-msgid "We can move the Elevation label by using Ctrl-Left-Drag\n"
-msgstr ""
-"Nous pouvons déplacer l'étiquette Élévation en utilisant Ctrl-gauche-"
-"glisser.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:182
-#: ../../../../build/work/app/i18n/custmsg.h:446
-msgid "Now, we set the Elevation at one end of the Siding.\n"
-msgstr ""
-"Maintenant, nous fixons l’élévation à une extrémité de la voie d’évitement.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:209
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:215
-#: ../../../../build/work/app/i18n/custmsg.h:449
-msgid "We want to find the elevations where the 2 tracks cross.\n"
-msgstr "Nous voulons déterminer les élévations où les 2 voies se croisent.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:224
-#: ../../../../build/work/app/i18n/custmsg.h:451
-msgid "We picked an End-Point on the upper track.\n"
-msgstr "Nous avons sélectionné un point de fin sur la voie supérieure.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:452
-msgid ""
-"XTrackCAD has computed the Elevation (2.33\") at this point based on the "
-"Elevation at the siding and a combination of the of the first Elevations.\n"
-msgstr ""
-"XTrackCAD a calculé l'élévation (2,33\") en ce point en fonction de "
-"l'élévation à la voie d'évitement et d'une combinaison des premières "
-"élévations.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:453
-msgid ""
-"We create a Computed Elevation here that will be automatically adjusted "
-"whenever the other Elevations are changed.\n"
-msgstr ""
-"Nous créons ici une élévation calculée qui dépend automatiquement des autres "
-"élévations modifiables.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:243
-#: ../../../../build/work/app/i18n/custmsg.h:455
-msgid ""
-"The Compute Elevation is based on Elevations at end of both of the "
-"branches. We may want to base the Elevation on only one branch. For "
-"example if one branch was the mainline we don't want the other branch "
-"affecting this Computed Elevation.\n"
-msgstr ""
-"Le calcul de l'élévation est basé sur les élévations à la fin des deux "
-"branches. Nous pouvons vouloir baser l'élévation sur une seule branche. Par "
-"exemple, si une branche était la ligne principale, nous ne voulons pas que "
-"l'autre branche affecte cette altitude calculée.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:456
-msgid "We do this by Ignoring the branch we don't want.\n"
-msgstr "Nous le faisons en ignorant la branche dont nous ne voulons pas.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:457
-msgid "We'll ignore the lower branch.\n"
-msgstr "Nous ignorerons la branche inférieure.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:258
-#: ../../../../build/work/app/i18n/custmsg.h:459
-msgid ""
-"Notice at the endpoint where the tracks cross, we see the elevation has "
-"changed from 2.33 to 2.64.\n"
-msgstr ""
-"Remarquez qu'au point de fin où les voies se croisent, nous voyons que "
-"l’élévation est passée de 2,33 à 2,64.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:264
-#: ../../../../build/work/app/i18n/custmsg.h:461
-msgid "Now we want to know the elevation of the lower track.\n"
-msgstr ""
-"Nous voulons maintenant connaître l’élévation de la voie la plus basse.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:274
-#: ../../../../build/work/app/i18n/custmsg.h:463
-msgid "There is no endpoint on the lower track here.\n"
-msgstr ""
-"Il n'y a pas de point de fin sur la voie inférieure ici.\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:464
-msgid ""
-"Use Shift-Left-Click to Split the track and create an endpoint we can use "
-"for an elevation,\n"
-msgstr ""
-"Utilisez Maj-Clic gauche pour segmenter la voie et créer un point de fin que "
-"nous pouvons utiliser pour une élévation,\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:287
-#: ../../../../build/work/app/i18n/custmsg.h:466
-msgid "and create another Computed Elevation point.\n"
-msgstr "et créez un autre point de calcul d'élévation.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:302
-#: ../../../../build/work/app/i18n/custmsg.h:468
-msgid "Now we want to label the grade on this section of track.\n"
-msgstr ""
-"Maintenant, nous voulons étiqueter la pente sur cette section de voie.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:311
-#: ../../../../build/work/app/i18n/custmsg.h:470
-msgid ""
-"Again, since there is no endpoint nearby, we split the track to create an "
-"endpoint we can use,\n"
-msgstr ""
-"De nouveau, comme il n’y a pas de bout de voie proche, nous avons segmenté "
-"la voie pour créer un bout que nous pouvons utiliser,\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:321
-#: ../../../../build/work/app/i18n/custmsg.h:472
-msgid "and create a grade marker.\n"
-msgstr ""
-"et créez une balise de pente.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:335
-#: ../../../../build/work/app/i18n/custmsg.h:474
-msgid "Note the marker has an arrow pointing in the upwards direction.\n"
-msgstr "Notez que le marqueur a une flèche pointant vers le haut.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:344
-#: ../../../../build/work/app/i18n/custmsg.h:476
-msgid ""
-"The last thing we want to do is to create a Station label that we'll use in "
-"the <Profile> command.\n"
-msgstr ""
-"Comme étape finale, nous allons créer une étiquette pour une station que "
-"nous utiliserons dans la commande <Profil> d'élévation.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:358
-#: ../../../../build/work/app/i18n/custmsg.h:478
-msgid "Now, set the Elevation to Station and enter the its name.\n"
-msgstr ""
-"Maintenant, placez maintenant le marqueur d'élévation sur 'Station' et "
-"entrez le nom.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:376
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:31
-#: ../../../../build/work/app/i18n/custmsg.h:481
-msgid ""
-"XTrackCAD can help find tracks that are curved too sharply or are too "
-"steep. These tracks are Exception tracks and are drawn in the Exception "
-"track color.\n"
-msgstr ""
-"XTrackCAD peut vous aider à trouver les voies dont le rayon est trop étroit "
-"ou qui montent trop fortement. Ces voies sont non conformes et sont "
-"affichées dans la couleur de Voie non conforme.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:482
-msgid ""
-"In this example we have a curved track with radius of 9\" and a straight "
-"track with a grade of 3.8%.\n"
-msgstr ""
-"Dans cet exemple, nous avons une voie courbe avec un rayon de 9\" et une "
-"voie droite avec une pente de 3,8%.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:483
-msgid " \n"
-msgstr " \n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:39
-#: ../../../../build/work/app/i18n/custmsg.h:485
-msgid ""
-"The Layout dialog shows the Minimum Track Radius is 9\" and the Maximum "
-"Track Grade is 5%.\n"
-msgstr ""
-"Dans les options pour le plan de voie, nous voyons que le rayon minimum est "
-"fixé à 9\"et la pente maximale à 5%.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:48
-#: ../../../../build/work/app/i18n/custmsg.h:487
-msgid ""
-"If we make the curved track sharper it will be drawn in the Exception "
-"color.\n"
-msgstr ""
-"Si nous réduisons le rayon de la courbe, la voie est affichée avec la "
-"couleur de l'exception.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:61
-#: ../../../../build/work/app/i18n/custmsg.h:489
-msgid ""
-"If we make the straight track steeper it will also be drawn in the Exception "
-"color.\n"
-msgstr ""
-"Si nous élargissons la pente de la voie droite, la voie est également "
-"affichée dans la couleur exceptionnelle.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:78
-#: ../../../../build/work/app/i18n/custmsg.h:491
-msgid ""
-"You can change the Exception color on the Colors dialog from the Options "
-"menu.\n"
-msgstr ""
-"Vous pouvez modifier la couleur des Voies non conformes dans la boîte de "
-"dialogue Couleurs du menu Options.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:85
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:21
-#: ../../../../build/work/app/i18n/custmsg.h:494
-msgid ""
-"The unconnected endpoint of any track can also be extended with the <Modify> "
-"command using Right-Drag.\n"
-msgstr ""
-"Le point de fin non connecté de n'importe quelle voie peut également être "
-"étendu avec la commande <Modifier> en faisant glisser avec le bouton droit "
-"de la souris enfoncé.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:26
-#: ../../../../build/work/app/i18n/custmsg.h:496
-msgid "Select the endoint and Right-Drag.\n"
-msgstr ""
-"Sélectionnez le point de fin et faites le glisser avec le bouton droit de la "
-"souris.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:34
-#: ../../../../build/work/app/i18n/custmsg.h:498
-msgid "The extending track can be straight...\n"
-msgstr "L'extension de voie peut être droite …\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:44
-#: ../../../../build/work/app/i18n/custmsg.h:500
-msgid "... or curved.\n"
-msgstr "... ou courbé.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:51
-#: ../../../../build/work/app/i18n/custmsg.h:502
-msgid ""
-"If you extend a straight or curved flex track and enable Easements then an "
-"Easement curve will be automatically generated when you extend the track.\n"
-msgstr ""
-"Si la fonction de courbe de transition est active pendant que vous modifiez "
-"une voie flexible droite ou courbe, un arc de transition sera créé.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:65
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:124
-#: ../../../../build/work/app/i18n/custmsg.h:505
-msgid ""
-"The <Flip> command will create a mirror image of the selected objects.\n"
-msgstr ""
-"La commande <Miroir> génère une image miroir des objets sélectionnés.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:131
-#: ../../../../build/work/app/i18n/custmsg.h:507
-msgid "After selecting the object, drag a line which will form the mirror.\n"
-msgstr ""
-"Après avoir sélectionné l'objet, tracez la voie d'axe de l'effet miroir.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:140
-#: ../../../../build/work/app/i18n/custmsg.h:509
-msgid "The mirror line does not have to be vertical or horizontal.\n"
-msgstr "La ligne de miroir n'a pas besoin d'être verticale ou horizontale.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:149
-#: ../../../../build/work/app/i18n/custmsg.h:511
-msgid "You can also flip any number of objects.\n"
-msgstr "Vous pouvez mettre en miroir n'importe quel nombre d'objets.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:512
-msgid "Watch what happens to the structure and turnout titles.\n"
-msgstr ""
-"Faites attention à ce qui se passe sur les étiquettes des bâtiments et des "
-"aiguillages.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:163
-#: ../../../../build/work/app/i18n/custmsg.h:514
-msgid ""
-"Note that the turnout title has been changed from the Medium Right to Medium "
-"Left. When turnouts are flipped, XTrackCAD will try to find a matching "
-"turnout and if found will change the name.\n"
-msgstr ""
-"Notez que le titre d'aiguillage a été changé, moyen à droite est devenu "
-"moyen à gauche . Lorsque les aiguillages sont inversés, XTrackCAD essaiera "
-"de trouver un aiguillage correspondant et, le cas échéant, changera le nom.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:170
-#: ../../../../build/work/app/i18n/custmsg.h:516
-msgid ""
-"Structures do not have Right and Left hand versions. Their title is changed "
-"to indicate that they were flipped.\n"
-msgstr ""
-"Les bâtiments n'ont pas de versions droite et gauche. Leur titre est modifié "
-"pour indiquer qu'ils ont été retournés.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:517
-msgid "You can use the <Describe> command to change their title.\n"
-msgstr ""
-"Vous pouvez utiliser la commande <Propriete> pour modifier leur titre.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:187
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:21
-#: ../../../../build/work/app/i18n/custmsg.h:520
-msgid ""
-"The <Group> and <Ungroup> commands (on the Tools menu) are a powerful way to "
-"manipulate Turnout and Structure definitions.\n"
-msgstr ""
-"Les commandes <Grouper> et <Dissocier> (dans le menu Gérer) sont un moyen "
-"puissant de manipuler les définitions d'aiguillage et structure.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:521
-msgid "We'll start with a simple turnout and add a switch machine.\n"
-msgstr ""
-"Nous commencerons par un simple aiguillage et ajouterons une déviation.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:50
-#: ../../../../build/work/app/i18n/custmsg.h:523
-msgid ""
-"Now that we have drawn a rough outline of a switch machine we will group it "
-"with the turnout definition.\n"
-msgstr ""
-"Maintenant que nous avons tracé les grandes lignes d’un aiguillage, nous "
-"allons les regrouper avec une définition d'aiguillage.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:524
-msgid "First we Select the objects in the new definition.\n"
-msgstr "Nous sélectionnons d'abord les objets dans la nouvelle définition.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:63
-#: ../../../../build/work/app/i18n/custmsg.h:526
-msgid "Now do the <Group> command.\n"
-msgstr "Et maintenant, appliquez la commande <Groupe>.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:70
-#: ../../../../build/work/app/i18n/custmsg.h:528
-msgid ""
-"The <Group> command dialog shows the Title (Manufacturer, Description and "
-"Part Number) of the new definition. This information is taken from the "
-"Selected objects you are grouping.\n"
-msgstr ""
-"La boîte de dialogue de commande <Grouper> affiche le titre (fabricant, "
-"description et numéro de pièce) de la nouvelle définition. Ces informations "
-"sont extraites des objets sélectionnés que vous regroupez.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:76
-#: ../../../../build/work/app/i18n/custmsg.h:530
-msgid ""
-"The 'Replace with new group?' toggle will replace the Selected objects with "
-"the new definition.\n"
-msgstr ""
-"Le commutateur \"Remplacer par un nouveau groupe?\" remplacera les objets "
-"sélectionnés par la nouvelle définition.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:83
-#: ../../../../build/work/app/i18n/custmsg.h:532
-msgid ""
-"If we don't change the Title then the new definition will replace the "
-"existing definition.\n"
-msgstr ""
-"Si nous ne changeons pas le titre, la nouvelle définition remplacera la "
-"définition existante.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:533
-msgid "We'll give this definition a new Description.\n"
-msgstr "Nous donnons au groupe une nouvelle description.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:94
-#: ../../../../build/work/app/i18n/custmsg.h:535
-msgid "We're done with this definition. Press Ok.\n"
-msgstr "Nous en avons fini avec cette définition. Appuyer sur OK.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:101
-#: ../../../../build/work/app/i18n/custmsg.h:537
-msgid "You will see the updated image on the HotBar.\n"
-msgstr "Vous verrez l'image mise à jour sur la barre de contrôle.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:108
-#: ../../../../build/work/app/i18n/custmsg.h:539
-msgid ""
-"The <Ungroup> command replaces any Selected turnouts or structures with "
-"their parts.\n"
-msgstr ""
-"La commande <Dissocier> remplace tous les aiguillages ou structures "
-"sélectionnés par leurs pièces.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:540
-msgid ""
-"Structures and non-track segements of turnouts are composed of Lines, "
-"Circles and other shapes. In this turnout these are the two lines and the "
-"two squares.\n"
-msgstr ""
-"Les bâtiments et les aiguillages sont composés de lignes, de cercles et "
-"d'autres formes. Cet aiguillage comprend deux lignes et deux carrés.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:541
-msgid ""
-"We will Ungroup this turnout and see how the individual parts can be "
-"changed.\n"
-msgstr ""
-"Nous dissocierons cet aiguillage et verrons comment les différentes parties "
-"peuvent être modifiées.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:542
-msgid "First Select the turnout and then Ungroup it.\n"
-msgstr "Sélectionnez d'abord l'aiguillage, puis dissociez-le.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:123
-#: ../../../../build/work/app/i18n/custmsg.h:544
-msgid "Notice that the Title now indicates the turnout is Ungrouped.\n"
-msgstr "Notez que le titre indique maintenant que l'aiguillage est dissocié.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:545
-msgid "Hit Escape to deselect everything.\n"
-msgstr "Appuyez sur Echap pour tout désélectionner.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:133
-#: ../../../../build/work/app/i18n/custmsg.h:547
-msgid "Now Select the lines and squares.\n"
-msgstr "Maintenant, sélectionnez les lignes et les carrés.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:158
-#: ../../../../build/work/app/i18n/custmsg.h:549
-msgid ""
-"We could modify these object or add new ones. For now we'll just delete "
-"them.\n"
-msgstr ""
-"Nous pouvons changer cet objet ou en ajouter de nouveaux, cette fois nous "
-"allons juste les supprimer.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:165
-#: ../../../../build/work/app/i18n/custmsg.h:551
-msgid "And move the Label out of the way.\n"
-msgstr "Et déplacez l'étiquette hors de la voie.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:176
-#: ../../../../build/work/app/i18n/custmsg.h:553
-msgid "Notice that the turnout has been broken into three parts.\n"
-msgstr "Notez que l'aiguillage a été divisé en trois parties.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:198
-#: ../../../../build/work/app/i18n/custmsg.h:555
-msgid ""
-"Two ends of the turnout, from the frog to the end of the diverging leg and "
-"from the points to the left, are now straight track sections.\n"
-msgstr ""
-"Deux extrémités de l'aiguillage, du cœur à l'extrémité de la voie divergée "
-"et des points à gauche, sont maintenant des sections de voie droites.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:556
-msgid ""
-"The a turnout is made of a number of individual straight and curved track "
-"segements. This turnout had four segments:\n"
-msgstr ""
-"Un aiguillage se compose d'un certain nombre de pièces de voies droites et "
-"courbes. Cet aiguillage comprend quatre pièces :\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:557
-msgid " 1 a short straight segment to the left of the points\n"
-msgstr " 1. une courte pièce droite, à gauche des lames d'aiguillage\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:558
-msgid " 2 a long straight segment to the right of the points\n"
-msgstr " 2. une longue pièce droite, à droite des lames d'aiguillage\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:559
-msgid " 3 a curved segment from the points to the frog\n"
-msgstr " 3. une pièce pliée des lames d'aiguillage vers le cœur, et\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:560
-msgid ""
-" 4 a straight segment from the frog to the end of the diverging leg.\n"
-msgstr " 4. une pièce droite du cœur à la fin de la voie d'embranchement.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:561
-msgid "The first and last segments have be converted to straight tracks.\n"
-msgstr "Les premier et dernier segments ont été convertis en voies droites.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:562
-msgid ""
-"The second and third segments form the the body of the turnout and can not "
-"be ungrouped further.\n"
-msgstr ""
-"Les deuxième et troisième segments forment le corps de l'aiguillage et ne "
-"peuvent plus être dissociés.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:563
-msgid ""
-"You can later Group this turnout with the straight segments to recreate the "
-"turnout definition. You can also add other track segments to turnout "
-"definitions.\n"
-msgstr ""
-"Ensuite, vous pouvez regrouper l'aiguillage avec les sections droites pour "
-"restaurer la définition d'aiguillage. Vous pouvez également ajouter d'autres "
-"sections de voie aux définitions d'aiguillages.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:242
-#: ../../../../build/work/app/i18n/custmsg.h:565
-msgid "Now, create a track and place the new turnout on it.\n"
-msgstr "Maintenant, créez une voie et placez le nouvel aiguillage dessus.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:260
-#: ../../../../build/work/app/i18n/custmsg.h:567
-msgid "Now suppose we want to replace the black squares with green circles.\n"
-msgstr ""
-"Supposons que nous voulions remplacer les carrés noirs par des cercles "
-"verts.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:568
-msgid "First we Select the turnout.\n"
-msgstr "Nous sélectionnons d'abord l'aiguillage.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:272
-#: ../../../../build/work/app/i18n/custmsg.h:570
-msgid "And now Ungroup it (from the Tools Menu)\n"
-msgstr "Et maintenant, dissociez-le (à partir du menu Gérer)\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:277
-#: ../../../../build/work/app/i18n/custmsg.h:572
-msgid ""
-"Notice that the name has changed to indicate the turnout was Ungrouped.\n"
-msgstr ""
-"Notez que le nom a changé pour indiquer que l'aiguillage a été dissocié.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:283
-#: ../../../../build/work/app/i18n/custmsg.h:574
-msgid ""
-"Now, hit escape to deselect everything and then Select the 2 squares and "
-"delete them.\n"
-msgstr ""
-"Maintenant, appuyez sur 'Ech' pour tout désélectionner, puis sélectionnez et "
-"supprimez les 2 carrés.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:300
-#: ../../../../build/work/app/i18n/custmsg.h:576
-msgid "Now draw the green circles...\n"
-msgstr "Maintenant, dessinez les cercles verts…\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:321
-#: ../../../../build/work/app/i18n/custmsg.h:578
-msgid "and Group the new definition.\n"
-msgstr "et Groupez la nouvelle définition.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:340
-#: ../../../../build/work/app/i18n/custmsg.h:580
-msgid ""
-"Notice that the turnout in the HotBar is angled the same as the turnout on "
-"the layout. Make sure your new definition is rotated the way you want it.\n"
-msgstr ""
-"Notez que l'aiguillage dans la barre d'objets est le même que celui du plan. "
-"Assurez-vous que votre nouvelle définition est alignée comme vous le "
-"souhaitez.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:379
-#: ../../../../build/work/app/i18n/custmsg.h:582
-msgid "We can also create turnouts from simple straight and curved tracks.\n"
-msgstr ""
-"Nous pouvons également créer des aiguillages à partir de simples voies "
-"droites et courbes.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:583
-msgid "We'll create two tracks that have a common endpoint.\n"
-msgstr "Nous créons deux voies avec un point de fin commun.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:390
-#: ../../../../build/work/app/i18n/custmsg.h:585
-msgid ""
-"When we create the curve from the straight track endpoint we need to hold "
-"down the Shift key to prevent XTrackCAD from trying to join the two tracks.\n"
-msgstr ""
-"Lorsque nous créons la courbe à partir du point de fin de la voie droite, "
-"nous devons maintenir la touche Maj enfoncée pour empêcher XTrckCAD "
-"d'essayer de joindre les deux voies.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:408
-#: ../../../../build/work/app/i18n/custmsg.h:587
-msgid "At this point we can modify the tracks if necessary.\n"
-msgstr "À ce stade, nous pouvons modifier les voies si nécessaire.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:588
-msgid "We will use the <Describe> command to change the tracks.\n"
-msgstr ""
-"Nous utiliserons la commande <Propriétés> pour changer les propriétés des "
-"voies.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:420
-#: ../../../../build/work/app/i18n/custmsg.h:590
-msgid "We'll make the Length 7.5\".\n"
-msgstr "Nous avons réglé la longueur à 7,5\".\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:591
-msgid ""
-"If we change the Length, each End-Point will be moved to shorten the track. "
-"We want to just move the Right End-Point. To control this, change the Pivot "
-"to First which means the Left End-Point will be unchanged when we change the "
-"length (or angle) of the track.\n"
-msgstr ""
-"Lorsque nous modifions la longueur, chaque extrémité est poussée pour "
-"raccourcir la voie, nous souhaitons que seule l'extrémité correcte soit "
-"déplacée. Pour contrôler cela, réglez le pivot sur la Premiere. Cela "
-"signifie que l'extrémité gauche reste inchangée si nous changeons la "
-"longueur (ou l'angle) de la voie.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:430
-#: ../../../../build/work/app/i18n/custmsg.h:593
-msgid "Now when change the Length only the Right End-Point will move.\n"
-msgstr ""
-"Maintenant, lorsque vous modifiez la longueur, seul le point final droit se "
-"déplace.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:441
-#: ../../../../build/work/app/i18n/custmsg.h:595
-msgid "Now let's look at the curved track.\n"
-msgstr "Regardons maintenant la voie incurvée.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:451
-#: ../../../../build/work/app/i18n/custmsg.h:597
-msgid ""
-"Here the Left End-Point (which we don't want to move) is the Second End-"
-"Point, so we'll make that the Pivot.\n"
-msgstr ""
-"Voici le point d'extrémité gauche que nous ne voulons pas déplacer, il est "
-"le deuxième point d'extrémité. Nous allons donc en faire un point fixe comme "
-"pivot.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:459
-#: ../../../../build/work/app/i18n/custmsg.h:599
-msgid "We want the curve to have a radius of 20\" and an angle of 17.5ᅵ.\n"
-msgstr ""
-"Nous voulons que la courbe ait un rayon de 20\" et un angle de 17,5°.\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:600
-msgid "First change the Radius...\n"
-msgstr "Tout d'abord changer le rayon …\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:468
-#: ../../../../build/work/app/i18n/custmsg.h:602
-msgid "and the the Angular Length.\n"
-msgstr "et la longueur angulaire.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:476
-#: ../../../../build/work/app/i18n/custmsg.h:604
-msgid "Now Select both tracks...\n"
-msgstr "Maintenant, sélectionnez les deux voies…\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:492
-#: ../../../../build/work/app/i18n/custmsg.h:606
-msgid "and Group them.\n"
-msgstr "et groupez les.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:503
-#: ../../../../build/work/app/i18n/custmsg.h:608
-msgid ""
-"If the two tracks have a common End-Point then they will form a Turnout and "
-"can be switched with the <Train> command. Otherwise they will just be two "
-"track segments grouped together.\n"
-msgstr ""
-"Si les deux voies ont une extrémité commune, vous obtiendrez un aiguillage "
-"qui peut être contrôlé en mode de fonctionnement. Sinon, il s'agira "
-"simplement de deux voies groupées.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:510
-#: ../../../../build/work/app/i18n/custmsg.h:610
-msgid ""
-"We have created a left hand turnout and we also want a right hand version.\n"
-msgstr ""
-"Nous avons créé un aiguillage gauche et nous voulons également une version à "
-"droite.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:611
-msgid "We'll use the <Flip> command.\n"
-msgstr "Nous utilisons la commande <miroir>\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:523
-#: ../../../../build/work/app/i18n/custmsg.h:613
-msgid ""
-"Drag a horizontal line that will be the mirror for the <Flip> command.\n"
-msgstr ""
-"Faites glisser une voie horizontale qui sera l'axe de miroir de la commande "
-"<Flip>.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:533
-#: ../../../../build/work/app/i18n/custmsg.h:615
-msgid "Notice the title has changed to Flipped Left.\n"
-msgstr "Notez que le titre a été changé en \"Gauche en miroir\".\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:616
-msgid "Now Group the turnout.\n"
-msgstr ""
-"Maintenant, regroupez l'aiguillage\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:542
-#: ../../../../build/work/app/i18n/custmsg.h:618
-msgid "We'll change the Title and Part No for the new defintion.\n"
-msgstr ""
-"Nous allons changer le titre et le numéro de pièce pour la nouvelle "
-"définition.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:555
-#: ../../../../build/work/app/i18n/custmsg.h:620
-msgid ""
-"To Remove the definitions, use the Custom Management dialog on the Tools "
-"menu.\n"
-msgstr ""
-"Pour supprimer des définitions, utilisez le \"Eléments définis sur mesure\" "
-"dans le menu \"Gérer\".\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:560
-#: ../../../../build/work/app/i18n/custmsg.h:622
-msgid "Select the definitions you added and Delete them.\n"
-msgstr ""
-"Sélectionnez les définitions que vous avez ajoutées et supprimez-les.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:573
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:16
-#: ../../../../build/work/app/i18n/custmsg.h:625
-msgid ""
-"Now we will create a helix in the corner of the layout connected to 2 "
-"tracks.\n"
-msgstr ""
-"Dans le coin du plan, nous allons maintenant créer une hélicoïde connectée à "
-"2 voies.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:28
-#: ../../../../build/work/app/i18n/custmsg.h:627
-#, c-format
-msgid ""
-"We will be creating a helix with a Elevation Difference of 12\", Grade of "
-"1.5% and limit the Vertical Separation to at least 2\".\n"
-msgstr ""
-"Nous allons créer une hélicoïde de voie avec une différence d'élévation de 12"
-"\", une pente de 1,5% et limiter la distance verticale à au moins 2\".\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:34
-#: ../../../../build/work/app/i18n/custmsg.h:629
-msgid "First set the Elevation Difference to 12\"\n"
-msgstr "Réglez d'abord la différence d'élévation à 12 \"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:43
-#: ../../../../build/work/app/i18n/custmsg.h:631
-msgid "Next set the Vertical Separation to 2\"\n"
-msgstr "Ensuite, réglez la séparation verticale sur 2\"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:632
-msgid "Notice how this causes the number of Turns to be set to 6\n"
-msgstr "Remarquez comment cela nécessite un nombre de 6 tours\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:52
-#: ../../../../build/work/app/i18n/custmsg.h:634
-msgid "Next set the Grade to 1.5%\n"
-msgstr "Ensuite définir la pente à 1,5%\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:635
-msgid "Notice how this causes the Radius to change.\n"
-msgstr "Remarquez comment cela provoque le changement de rayon.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:60
-#: ../../../../build/work/app/i18n/custmsg.h:637
-msgid ""
-"Setting these values changes the Radius to 21.2\" and the number of Turns to "
-"6.\n"
-msgstr ""
-"La définition de ces valeurs modifie le rayon à 21,2\" et le nombre de tours "
-"à 6.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:66
-#: ../../../../build/work/app/i18n/custmsg.h:639
-msgid ""
-"Now we specify the Angular Separation between the enterance and exit to the "
-"helix.\n"
-msgstr ""
-"Nous modifions maintenant l'angle entre les voies entrante et sortante de "
-"l'hélicoïde.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:640
-msgid "Note: this will decrease the Radius slightly.\n"
-msgstr "Remarque : cela diminuera légèrement le rayon.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:76
-#: ../../../../build/work/app/i18n/custmsg.h:642
-msgid "Next we can fine tune the helix by decreasing the Radius to 15\".\n"
-msgstr ""
-"Ensuite, nous pouvons affiner l’hélicoïde en diminuant le rayon à 15\".\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:643
-msgid "Note the change to the Grade.\n"
-msgstr "Notez le changement de pente.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:85
-#: ../../../../build/work/app/i18n/custmsg.h:645
-msgid ""
-"Lastly change the Vertical Separation to 2.5\". The number of Turns will "
-"change to 4 and the grade increase to almost 3%.\n"
-msgstr ""
-"Pour finir, changez la séparation verticale à 2.5\", le nombre de virages "
-"passera à 4 et la pente augmentera à près de 3%.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:646
-msgid ""
-"Note: the Vertical Separation will be increased. This value is the "
-"Elevation Difference (12.0) divided by the total number of turns. The total "
-"number of turns is 4.25: 4 whole Turns plus a quarter turn for the Angular "
-"Separation.\n"
-msgstr ""
-"Remarque : la séparation verticale sera augmentée. Cette valeur est la "
-"différence d'élévation (12.0) divisée par le nombre total de tours. Le "
-"nombre total de tours est 4.25 : 4 tours complets plus un quart de tour pour "
-"la séparation angulaire.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:94
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:99
-#: ../../../../build/work/app/i18n/custmsg.h:649
-msgid ""
-"Now that the helix parameters are set we can place the helix on the layout.\n"
-msgstr ""
-"Maintenant que les paramètres d'hélicoïde sont définis, nous pouvons placer "
-"l'hélicoïde sur le plan.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:112
-#: ../../../../build/work/app/i18n/custmsg.h:651
-msgid ""
-"Next, join the 2 straight tracks to the helix in the same way we join to a "
-"circle.\n"
-msgstr ""
-"Ensuite, reliez les deux voies droites à l'hélicoïde juste comme nous "
-"connectons les voies à un cercle.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:145
-#: ../../../../build/work/app/i18n/custmsg.h:653
-msgid ""
-"Notice that the length has increased because we have more than 4 turns in "
-"the helix. It is closer to 4.25 turns.\n"
-msgstr ""
-"Notez que la longueur a augmenté car nous avons plus de 4 tours dans "
-"l'hélicoïde. Elle est plus proche de 4,25 tours.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:155
-#: ../../../../build/work/app/i18n/custmsg.h:655
-msgid ""
-"Next, we assign elevations to the 2 End-Points of the helix. This will "
-"determine the grade and separation between the helix coils.\n"
-msgstr ""
-"Ensuite, nous fixons des élévations aux 2 extrémités de l'hélicoïde. Ce qui "
-"détermine la hauteur et la distance entre les virages.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:656
-msgid ""
-"Note: we could set the elevations anywhere along the connecting tracks "
-"instead. XTrackCAD treats a helix as a single length of track for "
-"elevations.\n"
-msgstr ""
-"Remarque : nous pourrions définir les élévations n’importe où le long des "
-"voies de connexion. Pour les élévations, XTrackCAD traite une hélicoïde "
-"comme une seule longueur de voie.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:176
-#: ../../../../build/work/app/i18n/custmsg.h:658
-msgid ""
-"We have set the elevations to 1\" and 13\" to produce a grade of 3.0% with "
-"2.8\" between coils.\n"
-msgstr ""
-"Nous avons réglé les élévations sur 1\"et 13\" pour créer une pente de 3% "
-"avec 2,8\"entre les virages.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:659
-msgid ""
-"You can use the <Describe> command to change the number of Turns or the "
-"Elevations at either end of the Helix. This will affect the Grade and "
-"Vertical Separation.\n"
-msgstr ""
-"Vous pouvez utiliser la commande <Propriete> pour modifier le nombre de "
-"virages ou les élévations à chaque extrémité de l'hélicoïde. Ça affectera la "
-"pente et la séparation verticale.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:184
-#: ../../../../build/work/app/i18n/custmsg.h:661
-msgid "The helix description can be moved by the <Move Label> command.\n"
-msgstr ""
-"Avec la commande <Deplacer la description> l'étiquette de l'hélicoïde peut "
-"être déplacée.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:194
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:16
-#: ../../../../build/work/app/i18n/custmsg.h:664
-msgid ""
-"In addition to using the turnout definitions you can create 'Hand Laid "
-"Turnout'.\n"
-msgstr ""
-"En plus d'utiliser les définitions d'aiguillage, vous pouvez créer "
-"'aiguillage paramétré à la main'.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:665
-msgid "This is two step process:\n"
-msgstr ""
-"Il s'agit d'un processus en deux étapes :\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:23
-#: ../../../../build/work/app/i18n/custmsg.h:667
-msgid "1 - click on the frog and drag away to set the frog angle\n"
-msgstr "1 - cliquez sur le cœur et faites glisser pour définir son angle\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:29
-#: ../../../../build/work/app/i18n/custmsg.h:669
-msgid ""
-" Hint: the further you drag from the frog, the more accurate the angle.\n"
-msgstr ""
-" Astuce : plus vous vous éloignez du cœur, plus l'angle est précis.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:34
-#: ../../../../build/work/app/i18n/custmsg.h:671
-msgid "2 - click and drag to set the position of the points\n"
-msgstr "2 - cliquez et faites glisser pour définir la position des points\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:42
-#: ../../../../build/work/app/i18n/custmsg.h:673
-msgid "We can create Hand Laid Turnouts on curved tracks.\n"
-msgstr ""
-"Nous pouvons créer des aiguillages paramétrés à la main sur des voies "
-"courbes.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:58
-#: ../../../../build/work/app/i18n/custmsg.h:675
-msgid "A Hand Laid Turnout is composed of several parts.\n"
-msgstr "Un aiguillage de conception libre se compose de plusieurs parties.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:67
-#: ../../../../build/work/app/i18n/custmsg.h:677
-msgid "The actual Turnout is a short portion at the points.\n"
-msgstr "L'aiguillage actuel à ses aiguilles incomplètes.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:77
-#: ../../../../build/work/app/i18n/custmsg.h:679
-msgid "The other parts are various straight and curved segments.\n"
-msgstr "Les autres parties sont divers segments droits et courbes.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:81
-#: ../../../../build/work/app/i18n/custmsg.h:681
-msgid "The new curved turnout is also composed of several segments.\n"
-msgstr ""
-"La nouvel aiguillage incurvée est également composée de plusieurs segments.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:107
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:7
-#: ../../../../build/work/app/i18n/custmsg.h:684
-msgid "Welcome to the XTrackCAD demonstration.\n"
-msgstr "Bienvenue dans la démonstration d'XTrackCAD.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:685
-msgid ""
-"This will show some the features of XTrackCAD in an automated presentation. "
-"This window contains a number of controls and a message area (which I hope "
-"you are reading now). \n"
-msgstr ""
-"Cela vous montrera certaines des fonctionnalités d'XTrackCAD dans une "
-"présentation automatisée. Cette fenêtre contient un certain nombre de "
-"contrôles et une zone de message (j'espère que maintenant vous les lisez ).\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:686
-msgid "The controls are:\n"
-msgstr "Les contrôles sont :\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:687
-msgid "Step - advances to the next step of the demo.\n"
-msgstr "Pas à pas - passe à l'étape suivante de la démo.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:688
-msgid "Next - skips ahead to the next demo.\n"
-msgstr "Suivant - passe à la démo suivante.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:689
-msgid "Quit - exits the demo and returns to XTrackCAD.\n"
-msgstr "Quitter - quitter la démo et revenir à XTrackCAD.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:690
-msgid "Speed - controls the speed of the demo.\n"
-msgstr "Vitesse- contrôle la vitesse de la démo.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:691
-msgid "Click Step now for the next message.\n"
-msgstr "Cliquez sur Pas à pas pour passer au message suivant.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:23
-#: ../../../../build/work/app/i18n/custmsg.h:693
-msgid ""
-"If this is the first time you have used the demo you may want to rearrange "
-"the windows so the demo window does not obscure the main window.\n"
-msgstr ""
-"Si vous utilisez la démo pour la première fois, vous devez définir les "
-"positions de la fenêtre. Assurez-vous que la fenêtre principale n'est pas "
-"masquée par la fenêtre de démonstration.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:694
-msgid ""
-"You can move the demo window now by dragging on the title bar at the top of "
-"the window. I suggest you move it to the top of your screen.\n"
-msgstr ""
-"Vous pouvez maintenant déplacer la fenêtre de démonstration en y faisant "
-"glisser la barre de titre. Il est préférable de le déplacer vers le haut de "
-"l'écran.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:31
-#: ../../../../build/work/app/i18n/custmsg.h:696
-msgid ""
-"The various controls are disabled when it would be inappropiate to click on "
-"them. When the demo is running the Step button is disabled. When the demo "
-"is paused the Step button is enabled and you can click it when you are ready "
-"to view the next part of the demo.\n"
-msgstr ""
-"Les différents contrôles sont désactivés lorsqu'il serait inopportun de "
-"cliquer dessus. Lorsque la démo est en cours d'exécution, le bouton Étape "
-"est désactivé. Lorsque la démonstration est en pause, le bouton Étape est "
-"activé et vous pouvez cliquer dessus lorsque vous êtes prêt à afficher la "
-"partie suivante de la démonstration.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:697
-msgid "You can click on Quit to return to XTrackCAD at any time.\n"
-msgstr ""
-"Vous pouvez revenir à XTrackCAD à tout moment en cliquant sur Quitter.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:698
-msgid "You can adjust the speed of the demonstration with the Speed control.\n"
-msgstr "Vous pouvez régler la vitesse de la démo avec la commande vitesse.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:60
-#: ../../../../build/work/app/i18n/custmsg.h:700
-msgid "The demos are designed to fit within a certain sized window.\n"
-msgstr ""
-"Les démos sont conçues pour tenir dans une fenêtre d'une certaine taille.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:701
-msgid ""
-"For best results, change the size of the main XTrackCAD window so the box "
-"shape is completely visible.\n"
-msgstr ""
-"Pour de meilleurs résultats, modifiez la taille de la fenêtre principale "
-"XTrackCAD pour que le rectangle soit complètement visible.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:702
-msgid "You can do this by clicking and dragging on a corner of the window.\n"
-msgstr ""
-"Vous pouvez le faire en faisant glisser le coin inférieur droit de la "
-"fenêtre.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:67
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:72
-#: ../../../../build/work/app/i18n/custmsg.h:705
-msgid "This is the end of the introductory demo.\n"
-msgstr "C'est la fin de la démonstration d'introduction.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:706
-msgid ""
-"Please click Step for the next demo or click Quit to return to XTrackCAD.\n"
-msgstr ""
-"Veuillez cliquer sur étape suivante pour la prochaine démonstration ou "
-"quitter pour revenir à XTrackCAD.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjcir.xtr:14
-#: ../../../../build/work/app/i18n/custmsg.h:708
-msgid ""
-"You can also join to and from circles. This will change the circles to "
-"curves.\n"
-msgstr ""
-"Vous pouvez également connecter des voies avec des cercles de voie. Cela "
-"transforme les cercles en arcs.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:709
-msgid "In this example we will join two circles.\n"
-msgstr "Dans cet exemple, nous allons connecter deux cercles.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjcir.xtr:24
-#: ../../../../build/work/app/i18n/custmsg.h:711
-msgid ""
-"Here we've selected points on the two circles. The direction of the "
-"connections (whether clockwise or counter clockwise) is controlled by where "
-"on the circle you select the connection points.\n"
-msgstr ""
-"Ici, nous avons sélectionné des points sur deux cercles. La direction des "
-"connexions, dans le sens horaire ou antihoraire, est déterminée par les "
-"emplacements sur les cercles que vous avez sélectionnés.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjcir.xtr:133
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjcir.xtr:152
-#: ../../../../build/work/app/i18n/custmsg.h:714
-msgid "Now let's try a cross connection.\n"
-msgstr "Essayons maintenant une connexion croisée.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjcir.xtr:246
-#: ../../../../build/work/app/i18n/custmsg.h:716
-msgid ""
-"Note that the connection is from different 'ends' of the circle than in the "
-"last example.\n"
-msgstr ""
-"Notez que la connexion provient d'«extrémités» différentes du cercle qu'avec "
-"le dernier exemple.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnabut.xtr:22
-#: ../../../../build/work/app/i18n/custmsg.h:718
-msgid "This examples shows joining tracks whose End-Points are aligned.\n"
-msgstr ""
-"Cet exemple montre comment joindre des voies dont les extrémités sont "
-"alignées.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:719
-msgid ""
-"Note the 2 pairs of tracks have End-Points that are close and aligned but "
-"not connected.\n"
-msgstr ""
-"Notez que les 2 paires de voies ont des extrémités qui sont proches et "
-"alignées mais non connectées.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnabut.xtr:30
-#: ../../../../build/work/app/i18n/custmsg.h:721
-msgid "The first case joins the curve and straight track.\n"
-msgstr ""
-"Dans le premier cas, une voie courbe et une voie droite sont connectées.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnabut.xtr:40
-#: ../../../../build/work/app/i18n/custmsg.h:723
-msgid "The second case will join the two straight tracks.\n"
-msgstr "Dans le second cas, deux voies droites sont connectées.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnabut.xtr:50
-#: ../../../../build/work/app/i18n/custmsg.h:725
-msgid "Note that the two straight tracks were combined to form one track.\n"
-msgstr "Notez que les deux voies droites ont été fusionnées en une voie.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnabut.xtr:55
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjncs.xtr:14
-#: ../../../../build/work/app/i18n/custmsg.h:728
-msgid ""
-"The <Join> command can also join straight and curved tracks (in either "
-"order).\n"
-msgstr ""
-"La commande <Raccorder> peut être utilisée pour connecter des voies droites "
-"et courbes (dans n'importe quel ordre).\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:729
-msgid "We will enable Cornu easements\n"
-msgstr "Nous activerons les courbes de transition Cornu.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjncs.xtr:32
-#: ../../../../build/work/app/i18n/custmsg.h:731
-msgid "A connecting cornu track is drawn between the two tracks.\n"
-msgstr ""
-"Une cornu de raccord de voie est dessiné entre les deux voies.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjncs.xtr:41
-#: ../../../../build/work/app/i18n/custmsg.h:733
-msgid ""
-"Notice that the curved track is extended as the connection point moves past "
-"the End-Point.\n"
-msgstr ""
-"Notez que la voie incurvée est étendue lorsque le point de connexion passe "
-"au-delà du point de fin.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjncs.xtr:54
-#: ../../../../build/work/app/i18n/custmsg.h:735
-msgid ""
-"Here the connection makes the curved track wrap around. This is not a "
-"useful shape, there is a discontinuity at the end. \n"
-msgstr ""
-"Ici, une boucle est créée en se connectant. Ce n'est pas une forme "
-"raisonnable, car il y a un nœud à la fin.\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:736
-msgid "Adjusting the end point will fix it. \n"
-msgstr ""
-"Le réglage du point de fin le corrigera.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjncs.xtr:64
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnmove.xtr:18
-#: ../../../../build/work/app/i18n/custmsg.h:739
-msgid "The <Join> command can move one group of tracks to join with another.\n"
-msgstr ""
-"La commande <Raccorder> peut être utilisée pour déplacer des groupes de "
-"voies pour les connecter à d'autres.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:740
-msgid ""
-"First <Select> the tracks you want to move with Ctrl so that they are both "
-"selected.\n"
-msgstr ""
-"Avec Ctrl, commencez par <Selectionner> les deux voies que vous souhaitez "
-"déplacer. \n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnmove.xtr:36
-#: ../../../../build/work/app/i18n/custmsg.h:742
-msgid "Click <Join> and Shift-Left-Click on the two End-Points.\n"
-msgstr ""
-"Cliquez sur <Raccorder> puis maintenez la touche Maj enfoncée + clic gauche "
-"sur les deux points d'extrémité.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnmove.xtr:51
-#: ../../../../build/work/app/i18n/custmsg.h:744
-msgid "The selected tracks are moved into position.\n"
-msgstr "Les voies sélectionnées sont déplacées vers la position.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:14
-#: ../../../../build/work/app/i18n/custmsg.h:746
-msgid ""
-"Two straight tracks can be joined by selecting the two endoints. The "
-"selected endpoints will be those closest to the cursor when the track is "
-"selected.\n"
-msgstr ""
-"Deux voies droites peuvent être jointes en sélectionnant les deux "
-"extrémités. Les points de fin sélectionnés seront ceux les plus proches du "
-"curseur lorsque la voie est sélectionnée.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:747
-msgid "First, we will select Easements None and then select Join\n"
-msgstr ""
-"Tout d'abord, nous désélectionnerons \"Courbe de transition\", puis "
-"sélectionnerons Raccorder\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:26
-#: ../../../../build/work/app/i18n/custmsg.h:749
-msgid "Now we select two points on the tracks\n"
-msgstr "Maintenant, nous sélectionnons deux points sur les voies\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:36
-#: ../../../../build/work/app/i18n/custmsg.h:751
-msgid ""
-"A connecting track is drawn between the two tracks. Notice how it moves as "
-"the cursor is dragged along the second track.\n"
-msgstr ""
-"Une raccord de voie est dessiné entre les deux voies. Observez comment il "
-"bouge lorsque le curseur se déplace le long de la deuxième voie.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:47
-#: ../../../../build/work/app/i18n/custmsg.h:753
-msgid ""
-"Note that two tracks are extended if you move past the end of the track.\n"
-msgstr ""
-"Notez que deux voies sont étendues si vous vous déplacez le pointeur de la "
-"souris au-delà de la fin de voie.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:55
-#: ../../../../build/work/app/i18n/custmsg.h:755
-msgid ""
-"Notice what happens if you drag past the intersection points of the two "
-"tracks.\n"
-msgstr ""
-"Remarquez ce qui se passe si vous glissez au-delà des points d'intersection "
-"des deux voies.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:63
-#: ../../../../build/work/app/i18n/custmsg.h:757
-msgid "This is probably not a very useful thing to do.\n"
-msgstr "Ce n'est probablement pas une solution sensée.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:70
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:90
-#: ../../../../build/work/app/i18n/custmsg.h:760
-msgid "Now we will do this with Cornu Easements \n"
-msgstr ""
-"Maintenant, nous allons le faire avec une Courbe de transition Cornu\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:761
-msgid "First, we will select Easements Cornu and then select Join\n"
-msgstr ""
-"Tout d'abord, nous sélectionnerons \"Courbe de transition Cornu\", puis "
-"sélectionnerons Raccorder\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:102
-#: ../../../../build/work/app/i18n/custmsg.h:763
-msgid "Now we again select two points on the tracks\n"
-msgstr ""
-"Maintenant, nous sélectionnons à nouveau deux points sur les voies\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:112
-#: ../../../../build/work/app/i18n/custmsg.h:765
-msgid ""
-"A connecting cornu is drawn between the two tracks. Notice how it behaves "
-"as the cursor is dragged along the second track.\n"
-msgstr ""
-"Une cornu de raccord est dessinée entre les deux voies. Observez comment "
-"elle bouge lorsque le curseur se déplace le long de la deuxième voie.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:123
-#: ../../../../build/work/app/i18n/custmsg.h:767
-msgid ""
-"Note that either tracks can be extended if you move past the end of it.\n"
-msgstr ""
-"Notez que deux voies sont étendues si vous vous déplacez le pointeur de la "
-"souris au-delà de la fin de voie.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:131
-#: ../../../../build/work/app/i18n/custmsg.h:769
-msgid ""
-"Notice this time what happens if you drag past the intersection points of "
-"the two tracks.\n"
-msgstr ""
-"Remarquez ce qui se passe si vous glissez au-delà des points d'intersection "
-"des deux voies.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:139
-#: ../../../../build/work/app/i18n/custmsg.h:771
-msgid "This is more useful because you can move the other end as well.\n"
-msgstr ""
-"C'est plus utile car vous pouvez également déplacer l'autre extrémité.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:150
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:16
-#: ../../../../build/work/app/i18n/custmsg.h:774
-msgid "You can connect from any track to a turntable\n"
-msgstr ""
-"Vous pouvez vous connecter depuis n'importe quelle voie vers un pont "
-"tournant\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:775
-msgid "With a Cornu Easement you can have a turntable as the first point.\n"
-msgstr ""
-"Avec une courbe de transition Cornu, vous pouvez avoir un pont tournant "
-"comme premier point de connexion.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:38
-#: ../../../../build/work/app/i18n/custmsg.h:777
-msgid ""
-"You cannot place the connecting track too close to an existing stall track. "
-"How close you can get is controlled by the Turntable Angle on the Setup "
-"dialog.\n"
-msgstr ""
-"Vous ne pouvez pas placer une connection de voie trop près d'une voie de "
-"service existante. La distance que vous pouvez obtenir est contrôlée par "
-"l'angle du pont tournant dans la boîte de dialogue \"Options|Préférences\".\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:778
-msgid "In this example it is set to 15 degrees.\n"
-msgstr "Dans cet exemple, il est réglé sur 15 degrés.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:54
-#: ../../../../build/work/app/i18n/custmsg.h:780
-msgid "You can drag the connecting point all round the turntable.\n"
-msgstr ""
-"Vous pouvez faire glisser le point de connexion tout autour du pont "
-"tournant.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:103
-#: ../../../../build/work/app/i18n/custmsg.h:782
-msgid ""
-"As you drag away from the turntable a straight track will be drawn to the "
-"cursor postion and a curve will be drawn from the cursor to the connecting "
-"track.\n"
-msgstr ""
-"Lorsque vous vous éloignez du pont tournant, une voie droite est dessinée "
-"vers la position du curseur et une courbe est dessinée entre le curseur et "
-"la voie de connexion.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:111
-#: ../../../../build/work/app/i18n/custmsg.h:784
-msgid ""
-"Now the cursor will be moved within the turntable, but the end stays on the "
-"edge of the well.\n"
-msgstr ""
-"Maintenant, le pointeur de la souris est déplacé à l'intérieur du pont "
-"tournant, mais la bout reste sur le bord de la fosse.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:161
-#: ../../../../build/work/app/i18n/custmsg.h:786
-msgid "All done.\n"
-msgstr "Terminé.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:169
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:38
-#: ../../../../build/work/app/i18n/custmsg.h:789
-msgid ""
-"The Draw Commands are used to draw straight and curved lines on the layout.\n"
-msgstr ""
-"Les commandes de dessin sont utilisées pour dessiner des lignes droites et "
-"courbes sur le plan.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:46
-#: ../../../../build/work/app/i18n/custmsg.h:791
-msgid ""
-"Lines are drawn by clicking at the starting postion and dragging to the "
-"final position.\n"
-msgstr ""
-"Les lignes sont tracées en cliquant sur le point de départ, puis en créant "
-"le point de fin supplémentaire en faisant glisser.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:792
-#, fuzzy
-msgid ""
-"By default, the new line will snap to existing objects. Hold down the "
-"<Ctrl> and <Alt> keys to prevent this from happening.\n"
-msgstr ""
-"Par défaut, la nouvelle ligne s'accrochera aux objets existants. Maintenez "
-"la touche <Maj> enfoncée pour éviter que cela ne se produise.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:91
-#: ../../../../build/work/app/i18n/custmsg.h:794
-msgid "You also draw in various colors and line widths.\n"
-msgstr ""
-"Vous pouvez également dessiner avec différentes couleurs et épaisseurs de "
-"ligne.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:109
-#: ../../../../build/work/app/i18n/custmsg.h:796
-msgid ""
-"Like Curved Tracks, Curved Lines can be drawn by a variety of methods.\n"
-msgstr ""
-"Comme les voies courbes, les lignes courbes peuvent être tracées de "
-"différentes façons.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:797
-msgid ""
-"Here we will draw a Curve by dragging from one End-Point to the other to "
-"define the chord of the Curve. Then we will drag from the center to shape "
-"the curve.\n"
-msgstr ""
-"Ici, nous dessinons une courbe en faisant glisser d’un point d’extrémité à "
-"l’autre pour régler l’accord de la courbe. Ensuite, nous allons faire "
-"glisser du centre pour définir la forme de la courbe.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:184
-#: ../../../../build/work/app/i18n/custmsg.h:799
-msgid "Boxes are useful for drawing rectangular shapes.\n"
-msgstr "Les boîtes sont utiles pour dessiner des formes rectangulaires.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:194
-#: ../../../../build/work/app/i18n/custmsg.h:801
-msgid ""
-"Circles can be drawn by clicking on the center or edge and dragging to set "
-"the radius.\n"
-msgstr ""
-"Les cercles sont dessinés en cliquant sur le bord ou le point central, puis "
-"on définit le rayon en faisant glisser.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:802
-msgid "Here we will drag from the Center.\n"
-msgstr "Ici nous partons du centre.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:204
-#: ../../../../build/work/app/i18n/custmsg.h:804
-msgid "Lines and Shapes can be deleted by Selecting and Deleting.\n"
-msgstr ""
-"Les lignes et les formes peuvent être supprimées par une sélection et une "
-"suppression.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:227
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:91
-#: ../../../../build/work/app/i18n/custmsg.h:807
-msgid "We also draw Polylines and filled shapes.\n"
-msgstr "Nous pouvons également créer des polylignes et des formes remplies.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:98
-#: ../../../../build/work/app/i18n/custmsg.h:809
-msgid ""
-"A Polyline is drawn by dragging to place each of the point in the Polyline.\n"
-msgstr ""
-"Une polyligne est dessinée en faisant glisser le curseur pour placer chacun "
-"de ses points.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:125
-#: ../../../../build/work/app/i18n/custmsg.h:811
-msgid ""
-"To finish off the Polyline press the <Space> key or choose another drawing "
-"type.\n"
-msgstr ""
-"Pour terminer la polyligne, appuyez sur la touche <Espace> ou choisissez un "
-"autre type de dessin.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:132
-#: ../../../../build/work/app/i18n/custmsg.h:813
-msgid "A filled Polygon is drawn in the same way.\n"
-msgstr ""
-"Un polygone plein est dessiné de la même manière\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:158
-#: ../../../../build/work/app/i18n/custmsg.h:815
-msgid "When you are finished, press the <Space> key to complete the polygon.\n"
-msgstr ""
-"Lorsque vous avez terminé, appuyez sur la touche <Espace> pour terminer le "
-"polygone.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:165
-#: ../../../../build/work/app/i18n/custmsg.h:817
-msgid ""
-"You can use the Above and Below Commands to move lines and shapes to the "
-"front or back of the drawing.\n"
-msgstr ""
-"Vous pouvez utiliser les commandes \"Editer|Au-dessus\" et \"Editer|Au-"
-"dessous\" pour déplacer des lignes et des formes vers l'avant ou l'arrière "
-"du dessin.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:182
-#: ../../../../build/work/app/i18n/custmsg.h:819
-msgid "Filled Boxes and Circles work the same as line Boxes and Circles.\n"
-msgstr ""
-"Les boîtes et cercles pleins fonctionnent comme les boîtes et cercles "
-"vides.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:199
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:8
-#: ../../../../build/work/app/i18n/custmsg.h:822
-msgid ""
-"In the drawing area of the main window you can see an hollow upwards arrow "
-"which represents the mouse cursor. In this demo the mouse will move about "
-"to show you the actions of different commands.\n"
-msgstr ""
-"Dans la zone de dessin de la fenêtre principale, vous verrez une flèche vide "
-"à la place du pointeur de souris. Cette démo la déplacera pour vous montrer "
-"comment fonctionnent les différentes commandes.\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:823
-msgid ""
-"The hollow arrow represents the mouse cursor without a mouse button being "
-"pressed.\n"
-msgstr ""
-"La flèche vide correspond au pointeur de la souris sans appuyer sur le "
-"bouton.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:16
-#: ../../../../build/work/app/i18n/custmsg.h:825
-msgid ""
-"When the left mouse button would be pressed, the mouse cursor appears to "
-"flash and the hollow arrow is replaced by a solid left-pointing red arrow "
-"while the button is pressed.\n"
-msgstr ""
-"Lorsque le bouton gauche de la souris est enfoncé, le curseur de la souris "
-"semble clignoter et la flèche creuse est remplacée par une flèche rouge "
-"pointant vers la gauche tant que le bouton est enfoncé.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:826
-msgid ""
-"Note: these color changes occur only during the demo to simulate mouse "
-"button presses.\n"
-msgstr ""
-"Remarque : ces changements de couleur ne se produisent que pendant la "
-"démonstration pour simuler des frappes sur les boutons de la souris.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:24
-#: ../../../../build/work/app/i18n/custmsg.h:828
-msgid ""
-"Moving the mouse while a mouse button is pressed is called 'dragging'.\n"
-msgstr ""
-"Déplacer la souris en maintenant le bouton de la souris enfoncé s'appelle "
-"«glisser».\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:32
-#: ../../../../build/work/app/i18n/custmsg.h:830
-msgid ""
-"When the left mouse button is released, the mouse cursor flashes and the "
-"hollow up black arrow is restored.\n"
-msgstr ""
-"Lorsque le bouton gauche de la souris est relâché, le pointeur de la souris "
-"clignote et la flèche noire vide est restaurée.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:40
-#: ../../../../build/work/app/i18n/custmsg.h:832
-msgid ""
-"Dragging with the right button is simulated by a blue right-facing solid "
-"cursor.\n"
-msgstr ""
-"Le glissement avec le bouton droit est représenté par un curseur bleu plein "
-"pointé vers la droite.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:49
-#: ../../../../build/work/app/i18n/custmsg.h:834
-msgid "Release Right Click\n"
-msgstr "Relâcher le clic droit\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:57
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:62
-#: ../../../../build/work/app/i18n/custmsg.h:837
-msgid "Sometimes the Shift key is held down while using the mouse \n"
-msgstr ""
-"Parfois, la touche Maj est maintenue enfoncée pendant l'utilisation de la "
-"souris \n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:838
-msgid ""
-"This is indicated by an outlined arrow with the letter S near the arrow.\n"
-msgstr ""
-"Cette situation est indiquée par une flèche encadrée avec la lettre S près "
-"de la flèche.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:71
-#: ../../../../build/work/app/i18n/custmsg.h:840
-msgid ""
-"The left mouse button is held down with the Shift and dragged for a Left-"
-"Shift-Drag. \n"
-msgstr ""
-"Le bouton gauche de la souris est maintenu enfoncé avec la touche Maj et "
-"déplacé pour un glissement vers la gauche.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:86
-#: ../../../../build/work/app/i18n/custmsg.h:842
-msgid "Sometimes the Control key is held down while using the mouse. \n"
-msgstr ""
-"Parfois, la touche Ctrl est maintenue enfoncée lorsque vous utilisez la "
-"souris.\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:843
-msgid ""
-"This is indicated with an upward filled arrow head with the letter C near "
-"the arrow \n"
-msgstr ""
-"C'est indiqué par une tête de flèche pleine vers le haut avec la lettre C "
-"près de la flèche\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:98
-#: ../../../../build/work/app/i18n/custmsg.h:845
-msgid ""
-"If while the Control is held the Left mouse button is held down it is a Ctrl-"
-"Move and a Ctrl-Left-Drag. \n"
-msgstr ""
-"Si le bouton gauche de la souris est maintenu enfoncé pendant que le "
-"contrôle est effectué, il s'agit d'un Ctrl-Déplacer et d'un Ctrl-Gauche-"
-"Glisser. \n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:846
-msgid ""
-"This is indicated by an an left-facing open-headed arrow with the letter C "
-"near it.\n"
-msgstr ""
-"Ceci est indiqué par une flèche à tête ouverte tournée vers la gauche, avec "
-"la lettre C à côté.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:114
-#: ../../../../build/work/app/i18n/custmsg.h:848
-msgid "You can also use the Control key with the Right mouse button. \n"
-msgstr ""
-"Vous pouvez également utiliser la touche Contrôle avec le bouton droit de la "
-"souris.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:849
-msgid ""
-"This is indicated with a right-facing filled arrow with an open arrow head "
-"and the letter C near the arrow \n"
-msgstr ""
-"C'est indiqué par une flèche pleine orienté vers la droite avec une tête de "
-"flèche ouverte et la lettre C près de la flèche\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:130
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:23
-#: ../../../../build/work/app/i18n/custmsg.h:852
-msgid ""
-"The main drawing area shows a portion of total layout. You can zoom in or "
-"zoom out by choosing 'Zoom In' or 'Zoom Out' in the 'Edit' menu, by using "
-"the Zoom buttons on the toolbar or by using the 'Page Down' and 'Page Up' "
-"keys.\n"
-msgstr ""
-"La zone de dessin principale montre une partie du plan total. Vous pouvez "
-"zoomer ou dézoomer en choisissant «Zoom avant» ou «Zoom arrière» dans le "
-"menu «Affichage», en utilisant les boutons Zoom de la barre d'outils ou en "
-"utilisant les touches «Page suivante» et «Page précédente», ou la molette de "
-"la souris.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:853
-msgid "You can see the entire layout in the Map window.\n"
-msgstr ""
-"Vous pouvez voir l'intégralité du plan de voie dans la fenêtre de la carte.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:33
-#: ../../../../build/work/app/i18n/custmsg.h:855
-msgid "As you Zoom Out tracks are drawn with one line instead of two.\n"
-msgstr ""
-"Lorsque vous effectuez un zoom arrière, les voies sont dessinées avec une "
-"voie au lieu de deux.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:49
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:54
-#: ../../../../build/work/app/i18n/custmsg.h:858
-msgid ""
-"You can change what portion of the layout is shown by using the 'Map' window "
-"which shows a compressed version of the entire layout. A hilighted area of "
-"the 'Map' (in blue highlight) shows what portion of the layout is displayed "
-"in the main drawing area.\n"
-msgstr ""
-"Vous pouvez modifier une partie du plan affichée en utilisant la fenêtre "
-"\"Carte\" qui montre une version compressée du plan entier. Une zone "
-"éclairée de la «Carte» (en surbrillance bleue) montre quelle partie du plan "
-"est affichée dans la zone de dessin principale.\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:859
-msgid ""
-"You can Left-Drag the hilighted area in the Map window to change the "
-"displayed portion of the layout.\n"
-msgstr ""
-"Vous pouvez modifier la zone affichée sur la fenêtre de navigation en "
-"faisant glisser la zone en surbrillance dans la fenêtre du plan.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:63
-#: ../../../../build/work/app/i18n/custmsg.h:861
-msgid ""
-"You can also Right-Drag on the Map window to set the scale and position of "
-"the Main window.\n"
-msgstr ""
-"Vous pouvez également faire glisser vers la droite dans la fenêtre de "
-"navigation pour déterminer l'échelle et la position du dessin dans la "
-"fenêtre principale.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:72
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmnotes.xtr:6
-#: ../../../../build/work/app/i18n/custmsg.h:864
-msgid ""
-"The <Note> command lets you attach notes to various spots on the layout.\n"
-msgstr ""
-"La commande <Remarque> permet de placer des notes à différents points du "
-"plan de tracé.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmnotes.xtr:14
-#: ../../../../build/work/app/i18n/custmsg.h:866
-msgid ""
-"When you place a note, the Note editor window is displayed which lets you "
-"enter the note.\n"
-msgstr ""
-"Lorsque vous créez une note, l'éditeur de notes s'ouvre, ce qui vous permet "
-"de saisir un texte.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmnotes.xtr:22
-#: ../../../../build/work/app/i18n/custmsg.h:868
-msgid ""
-"If you click on a note in <Describe> mode the Note editor displays the "
-"note.\n"
-msgstr "Si vous cliquez sur une note en mode <Describe>, l'éditeur apparaît.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmnotes.xtr:39
-#: ../../../../build/work/app/i18n/custmsg.h:870
-msgid "This is the end of the XTrackCAD Demos.\n"
-msgstr "C'est la fin des démos XTrackCAD.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:871
-msgid "Click Step to return to XTrackCAD.\n"
-msgstr "Cliquez sur Pas à Pas pour revenir à XTrackCAD.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:872
-msgid "Thanks for watching.\n"
-msgstr "Merci d'avoir regardé.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:32
-#: ../../../../build/work/app/i18n/custmsg.h:874
-msgid "This example shows how to create parallel tracks.\n"
-msgstr "Cet exemple montre comment créer des voies parallèles.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:37
-#: ../../../../build/work/app/i18n/custmsg.h:876
-msgid ""
-"The separation is set in the <Parallel Separation> window. You should set "
-"this value before you begin to select tracks.\n"
-msgstr ""
-"La séparation est définie dans la fenêtre <Separation parallèle>. Vous devez "
-"définir cette valeur avant de commencer à sélectionner des voies.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:49
-#: ../../../../build/work/app/i18n/custmsg.h:878
-msgid ""
-"You control which side the parallel track will be on by moving the cursor "
-"from one side of the track centerline to the other.\n"
-msgstr ""
-"Vous pouvez contrôler de quel côté la voie parallèle sera créée en déplaçant "
-"le curseur d'un côté de l'axe de la voie à l'autre.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:81
-#: ../../../../build/work/app/i18n/custmsg.h:880
-msgid "When you release the mouse button the new parallel track is created.\n"
-msgstr ""
-"Dès que vous relâchez le bouton de la souris, la voie parallèle est créée.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:881
-msgid ""
-"Note that the <Parallel> command remains active after you created the "
-"track. This is controlled by the Sticky dialog in the Options menu.\n"
-msgstr ""
-"Notez que la commande <Parallele> reste active après la création de la voie. "
-"Ceci est contrôlé par la boîte de dialogue Sticky dans le menu "
-"'Options>Sticky'.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:92
-#: ../../../../build/work/app/i18n/custmsg.h:883
-msgid "You cannot create a track parallel to a turnout.\n"
-msgstr "Vous ne pouvez pas créer une voie parallèle à un aiguillage.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:172
-#: ../../../../build/work/app/i18n/custmsg.h:885
-msgid ""
-"Note that the new curved track is automatically connected to the short "
-"parallel track.\n"
-msgstr ""
-"Notez que la nouvelle voie incurvée est automatiquement connectée à la voie "
-"parallèle courte.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:180
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:19
-#: ../../../../build/work/app/i18n/custmsg.h:888
-msgid ""
-"Polylines and polygons (created with the <Draw> command) can be modified by "
-"dragging on their corners or edges.\n"
-msgstr ""
-"Les polylignes et les polygones (créés avec la commande <Dessiner>) peuvent "
-"être modifiés en faisant glisser leurs angles ou leurs bords.\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:889
-msgid "First Left Click on the shape you want to modify.\n"
-msgstr ""
-"En premier lieu, faites un Clic gauche sur la forme que vous souhaitez "
-"modifier.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:29
-#: ../../../../build/work/app/i18n/custmsg.h:891
-msgid "Then drag on the point you want to move\n"
-msgstr "Faites ensuite glisser le point que vous souhaitez déplacer\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:39
-#: ../../../../build/work/app/i18n/custmsg.h:893
-msgid "And finally press the Space bar to finish the change\n"
-msgstr ""
-"Et enfin, appuyez sur la barre espace pour terminer la modification\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:54
-#: ../../../../build/work/app/i18n/custmsg.h:895
-msgid "If you select the middle of an Edge a new Corner is created.\n"
-msgstr ""
-"Si vous sélectionnez le centre d'une arête, un nouveau coin est créé.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:72
-#: ../../../../build/work/app/i18n/custmsg.h:897
-msgid "To delete a corner, select and then press Delete or Backspace\n"
-msgstr ""
-"Pour supprimer un coin, sélectionnez et appuyez ensuite sur Supprimer ou "
-"Retour arrière\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:98
-#: ../../../../build/work/app/i18n/custmsg.h:899
-msgid "But you cannot have a Poly-shape with less than 3 sides.\n"
-msgstr "Mais vous ne pouvez pas avoir une polyforme avec moins de 3 côtés.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:126
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:126
-#: ../../../../build/work/app/i18n/custmsg.h:902
-msgid ""
-"To use the <Profile> command you first need to define Elevations on your "
-"layout.\n"
-msgstr ""
-"Pour utiliser la commande <Profil>, vous devez d'abord définir des "
-"élévations sur votre plan.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:903
-msgid "In this example we'll use the Elevations defined in the last example.\n"
-msgstr ""
-"Dans cet exemple, nous utiliserons les élévations définies dans le dernier "
-"exemple.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:904
-msgid "You can move or resize the Profile dialog now if you want.\n"
-msgstr "La fenêtre du profil d'élévation peut maintenant être agrandie.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:135
-#: ../../../../build/work/app/i18n/custmsg.h:906
-msgid ""
-"To show the Profile you need to select a Path on the tracks of your layout.\n"
-msgstr ""
-"Pour afficher le profil d'élévation, vous devez sélectionner un itinéraire "
-"sur votre plan.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:907
-msgid "Select a Defined Elevation point (marked by Gold dots).\n"
-msgstr ""
-"Sélectionnez un point d'élévation défini (marqué par des points dorés).\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:908
-msgid "We will start with the right end of the siding.\n"
-msgstr "Nous commençons à l'extrémité droite de la voie d'évitement.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:148
-#: ../../../../build/work/app/i18n/custmsg.h:910
-msgid ""
-"The second Point is at the left end of the siding. The Path will be drawn "
-"in Purple on the layout.\n"
-msgstr ""
-"Le deuxième point est à l'extrémité gauche du revêtement. Le chemin sera "
-"indiqué en violet sur le plan.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:160
-#: ../../../../build/work/app/i18n/custmsg.h:912
-msgid "Now select the end of one of the Branches\n"
-msgstr "Maintenant, sélectionnez le bout d'une des branches.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:169
-#: ../../../../build/work/app/i18n/custmsg.h:914
-msgid ""
-"The Profile line is drawn in Red. This indicates that there some turnouts "
-"on that section of the Path which have more than 2 connections.\n"
-msgstr ""
-"Le profil d'élévation est dessiné en rouge. Cela signifie qu'il existe des "
-"aiguillages sur cette section du chemin d'accès qui ont plus de 2 "
-"connexions.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:915
-msgid ""
-"The grade on this part of the Path is the average and may be affected by "
-"other Elevations, such the end of the lower branch.\n"
-msgstr ""
-"La pente de cette partie du chemin est une valeur moyenne et peut être "
-"influencée par d'autres élévations telles que l'extrémité de la branche "
-"inférieure.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:178
-#: ../../../../build/work/app/i18n/custmsg.h:917
-msgid "Now try to select the End-Point of the other branch.\n"
-msgstr ""
-"Essayez maintenant de sélectionner le point de fin de l'autre branche.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:918
-msgid ""
-"You will get an error message because there is no route to one of the ends "
-"of the existing Path.\n"
-msgstr ""
-"Vous recevrez un message d'erreur car il n'y a pas de route vers l'un des "
-"points de fin du chemin existant.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:187
-#: ../../../../build/work/app/i18n/custmsg.h:920
-msgid ""
-"In this case remove the last part of the Path by clicking on current end of "
-"the Path and reselect the End-Point.\n"
-msgstr ""
-"Dans ce cas, supprimez la dernière partie du chemin en cliquant sur "
-"l'extrémité actuelle du chemin et sélectionnez à nouveau le point de fin.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:198
-#: ../../../../build/work/app/i18n/custmsg.h:922
-msgid "Notice that the Grade has changed on the Profile.\n"
-msgstr "Notez que la pente a changé dans le profil d'élévation.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:205
-#: ../../../../build/work/app/i18n/custmsg.h:924
-msgid ""
-"You can Ignore End-Points on the Path by using Shift-Right-Click to display "
-"the Profile Options popup menu and chosing Ignore.\n"
-msgstr ""
-"Vous pouvez ignorer les points de fin sur le tracé en utilisant Maj+clic "
-"droit. Dans les options du profil d'élévation, choisissez \"Ignorer\".\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:925
-msgid ""
-"Note: We can't show the menu in demo mode but we will show the effect of a "
-"Shift Right Click and selecting ignore. We will be Ignoring the End-Point "
-"of the Turnout that is not on the Path.\n"
-msgstr ""
-"Remarque : nous ne pouvons pas afficher le menu en mode démo, mais nous "
-"montrerons l'effet d'un Maj+clic droit avec la sélection 'ignorer'. Nous "
-"ignorerons le point de fin de l'aiguillage qui ne se trouve pas sur le "
-"chemin.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:217
-#: ../../../../build/work/app/i18n/custmsg.h:927
-msgid "Notice that part of the Profile line is redrawn in Blue.\n"
-msgstr ""
-"Notez qu'une partie de la ligne de profil d'élévation est redessinée en "
-"bleu.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:928
-msgid ""
-"Also, the Computed Elevations and Grade marker on the right side of the "
-"layout have been updated.\n"
-msgstr ""
-"En outre, les calculs de marqueurs d'élévations et de niveaux situés à "
-"droite du plan ont été mis à jour.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:225
-#: ../../../../build/work/app/i18n/custmsg.h:930
-msgid ""
-"You can set additional Defined Elevation points using the Profile Options "
-"popup menu. These points are added to the Profile if they are on the Path.\n"
-msgstr ""
-"Vous pouvez définir des points d'élévation supplémentaires à l'aide du menu "
-"contextuel Elévation. S'ils se trouvent sur le chemin, ces points sont "
-"ajoutés au profil.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:931
-msgid ""
-"We do this by Shift Right Click to display the Profile Options popup menu "
-"and selecting Define.\n"
-msgstr ""
-"Pour ce faire, cliquez sur le bouton droit de la souris pour afficher le "
-"menu contextuel \"Elévation\" et sélectionnez l'élément de voie puis \"Défini"
-"(e)\".\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:237
-#: ../../../../build/work/app/i18n/custmsg.h:933
-msgid ""
-"We've just added a Defined Elevation point to the middle of the lower "
-"branch. Notice the addition on the Profile dialog.\n"
-msgstr ""
-"Nous venons d'ajouter un point d'élévation définie au milieu de la branche "
-"inférieure. Notez l'ajout dans la boîte de dialogue Profil.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:246
-#: ../../../../build/work/app/i18n/custmsg.h:935
-msgid ""
-"For the siding we defined a Station name but it's not on the Path, since the "
-"Path takes the shortest distance between points.\n"
-msgstr ""
-"Pour le revêtement, on a attribué un nom de station. Ce n'est pas sur le "
-"chemin car un chemin utilise toujours le chemin le plus court entre les "
-"points.\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:936
-msgid ""
-"We can Ignore one of the End-Points on a Turnout to force the Path to take "
-"the other route.\n"
-msgstr ""
-"En ignorant l'un des points d'extrémité d'un aiguillage, nous pouvons forcer "
-"le chemin à emprunter l'autre route.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:937
-msgid ""
-"Again we use Shift-Right-Click to display the Profile Options menu and "
-"select ignore.\n"
-msgstr ""
-"Encore une fois, nous utilisons Maj-Clic-Droit pour afficher les options du "
-"menu profil puis sélectionner Ignorer.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:258
-#: ../../../../build/work/app/i18n/custmsg.h:939
-msgid "Now remove the First section of the Path,\n"
-msgstr "Maintenant, supprimez la première section du chemin,\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:268
-#: ../../../../build/work/app/i18n/custmsg.h:941
-msgid "and reselect it.\n"
-msgstr "et resélectionnez-le.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:277
-#: ../../../../build/work/app/i18n/custmsg.h:943
-msgid ""
-"Now the Path goes through the Station End-Point and the name appears on the "
-"Profile dialog.\n"
-msgstr ""
-"Maintenant, le chemin passe par le point de fin de la station et le nom "
-"apparaît dans la boîte de dialogue du profil d'élévation.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:286
-#: ../../../../build/work/app/i18n/custmsg.h:945
-msgid "Now we need to increase the separation where the tracks cross.\n"
-msgstr "Nous devons maintenant augmenter la distance qui sépare les voies.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:946
-msgid ""
-"The two Elevations you see here are Computed Elevations which means "
-"XTrackCAD dynamically computes the Elevation based on the Elevations of "
-"connecting tracks.\n"
-msgstr ""
-"Les deux élévations que vous voyez ici sont des élévations calculées, ce qui "
-"signifie que XTrackCAD exécute dynamiquement le calcul d'élévation en "
-"fonction des voies connectées.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:947
-msgid ""
-"First make the lower End-Point a Defined Elevation point using Shift-Right-"
-"Click and the Profile Options menu. You will see the End-Point marked by a "
-"Gold dot and a new line is added to the Profile dialog.\n"
-msgstr ""
-"Tout d'abord marquer l'extrémité inférieure. Pour ce faire, cliquez avec le "
-"bouton droit de la souris sur le menu d’options du profil de hauteur "
-"(Modifier>Profil). Vous verrez que l'extrémité choisie est maintenant marqué "
-"d'un point doré. Le profil de hauteur a été ajouté une nouvelle voie.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:297
-#: ../../../../build/work/app/i18n/custmsg.h:949
-msgid "Now, drag the point on the Profile Dialog to change the Elevation.\n"
-msgstr ""
-"Maintenant, faites glisser le point dans la boîte de dialogue 'Profil' pour "
-"modifier l’élévation.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:950
-msgid ""
-"Note the grade on each side of the point will be displayed at the bottom of "
-"the Profile dialog.\n"
-msgstr ""
-"Notez que la pente de chaque côté du point apparaîtra en bas de la boîte de "
-"dialogue Profil.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:319
-#: ../../../../build/work/app/i18n/custmsg.h:952
-msgid ""
-"After we release the Profile is updated to show the new Elevation and "
-"Grade.\n"
-msgstr ""
-"Après validation le profil affiche les nouvelles élévations et angles.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:326
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:119
-#: ../../../../build/work/app/i18n/custmsg.h:955
-msgid "The <Rescale> command will change the size of the selected objects.\n"
-msgstr "La commande <Echelle> modifie la taille des objets sélectionnés.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:956
-msgid "First we will try rescaling by ratio.\n"
-msgstr "Nous allons d’abord essayer de redimensionner le ratio.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:126
-#: ../../../../build/work/app/i18n/custmsg.h:958
-msgid "We are going to make everything 150% bigger.\n"
-msgstr "Nous augmentons tout à 150%.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:136
-#: ../../../../build/work/app/i18n/custmsg.h:960
-msgid "Note the track gauge did not change.\n"
-msgstr "Notez que l'écartement de voie n'a pas changé.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:143
-#: ../../../../build/work/app/i18n/custmsg.h:962
-msgid "Let's try that again.\n"
-msgstr "Essayons à nouveau.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:963
-msgid "Now we are going to convert from one scale to another.\n"
-msgstr "Nous passons maintenant d'une échelle à une autre.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:154
-#: ../../../../build/work/app/i18n/custmsg.h:965
-msgid "We will convert everything from N scale to HO scale...\n"
-msgstr "Nous allons tout convertir de N en H0 …\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:161
-#: ../../../../build/work/app/i18n/custmsg.h:967
-msgid "and change the track gauge as well.\n"
-msgstr "et changez également l'écartement de voie.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:169
-#: ../../../../build/work/app/i18n/custmsg.h:969
-msgid "Note that the Title of the turnout did not change.\n"
-msgstr "Notez que le titre de l'aiguillage n'a pas changé.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:177
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrotate.xtr:72
-#: ../../../../build/work/app/i18n/custmsg.h:972
-msgid ""
-"The <Rotate> command will pivot the Selected objects. First Click on the "
-"pivot point and then drag to Rotate the objects.\n"
-msgstr ""
-"La commande <Rotation> permet de faire pivoter des objets sélectionnés. "
-"Cliquez d'abord sur le centre de la rotation, puis faites-le glisser pour "
-"faire pivoter les objets.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:973
-msgid ""
-"In this example we will rotate the selected structure about it's center.\n"
-msgstr ""
-"Dans cet exemple, nous allons faire pivoter la bâtiment sélectionnée autour "
-"de son centre.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrotate.xtr:135
-#: ../../../../build/work/app/i18n/custmsg.h:975
-msgid ""
-"The <Rotate> command will restrict the rotation to increments of 15° if you "
-"hold down the <Shift> and <Ctrl> keys.\n"
-msgstr ""
-"La commande <Rotation> limitera la rotation à des incréments de 15 ° si vous "
-"maintenez les touches <Maj> et <Ctrl> enfoncées.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrotate.xtr:316
-#: ../../../../build/work/app/i18n/custmsg.h:977
-msgid ""
-"There are Rotate options that you can access by Shift-Right-Click command "
-"menu and choosing 'Rotate...'.\n"
-msgstr ""
-"Il existe des options de rotation auxquelles vous pouvez accéder par le menu "
-"de commande Maj-Clic droit et en choisissant 'Rotation...'.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:978
-msgid ""
-"You can rotate the selected object by a fixed rotatation (15, 30, 45, 90, "
-"180) either clockwise or counter-clockwise, or by manually entering any "
-"angle.\n"
-msgstr ""
-"Vous pouvez faire pivoter l'objet sélectionné selon une rotation fixe (15, "
-"30, 45, 90, 180) dans le sens horaire ou antihoraire, ou en entrant "
-"manuellement n'importe quel angle.\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:979
-msgid ""
-"The other option is 'Align' which allows you align selected objects with an "
-"unselected object. This is useful to align railside buildings with track.\n"
-msgstr ""
-"L'autre option est 'Aligner' qui vous permet d'aligner les objets "
-"sélectionnés avec un objet non sélectionné. C'est utile pour aligner les "
-"bâtiments ferroviaires avec la voie.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:980
-msgid "Unfortunately, we can not currently demonstrate these features.\n"
-msgstr ""
-"Malheureusement, nous ne pouvons actuellement pas démontrer ces "
-"fonctionnalités.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrotate.xtr:529
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmruler.xtr:14
-#: ../../../../build/work/app/i18n/custmsg.h:983
-msgid ""
-"The <Ruler> command draws a Ruler on the layout you can use to measure "
-"distances.\n"
-msgstr ""
-"La commande <Regle> dessine une règle sur le plan de voie. Cela peut être "
-"utilisé pour mesurer des distances.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmruler.xtr:24
-#: ../../../../build/work/app/i18n/custmsg.h:985
-msgid "If you press the <Ruler> command again the Ruler is removed.\n"
-msgstr ""
-"Si vous cliquez à nouveau sur la commande <Règle>, la règle sera supprimée.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmruler.xtr:32
-#: ../../../../build/work/app/i18n/custmsg.h:987
-msgid "But you can place it somewhere else.\n"
-msgstr "Mais vous pouvez le placer ailleurs.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmruler.xtr:42
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:173
-#: ../../../../build/work/app/i18n/custmsg.h:990
-msgid "The <Select> command is used to select tracks.\n"
-msgstr "La commande <Selectionner> est utilisée pour sélectionner les voies.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:991
-msgid "Selected tracks can be moved or rotated during the <Select> command.\n"
-msgstr ""
-"Les voies sélectionnées peuvent être déplacées ou pivotées pendant la "
-"commande <Selectionner>.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:992
-msgid "Selected tracks can also be deleted, hidden, listed and exported.\n"
-msgstr ""
-"Les voies sélectionnées peuvent également être supprimées, masquées, "
-"répertoriées et exportées.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:993
-msgid ""
-"When you move the cursor near a track that could be selected, the track is "
-"drawn with think blue lines.\n"
-msgstr ""
-"Lorsque vous déplacez le curseur près d'une voie qui pourrait être "
-"sélectionnée, la voie est dessinée avec des lignes bleues.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:184
-#: ../../../../build/work/app/i18n/custmsg.h:995
-msgid "A Left-Click selects a track\n"
-msgstr ""
-"Un simple clic gauche sélectionne une voie.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:192
-#: ../../../../build/work/app/i18n/custmsg.h:997
-msgid ""
-"The selected track will have red X's drawn where it is connected to "
-"unselected tracks. This indicates where the track will be disconnected if "
-"the selected tracks are moved, rotated or deleted.\n"
-msgstr ""
-"La voie sélectionnée aura des X rouges dessinés là où elle est connectée à "
-"des voies non sélectionnées. Cela désigne l'endroit où la voie sera "
-"déconnectée si les voies sélectionnées sont déplacées, tournées ou "
-"supprimées.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:998
-msgid "A Ctrl-Left-Click adds tracks to the selection\n"
-msgstr ""
-"Un Ctrl-clic gauche ajoute des voies à la sélection\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:211
-#: ../../../../build/work/app/i18n/custmsg.h:1000
-msgid "Selecting a selected track re-selects only it.\n"
-msgstr ""
-"La sélection d'une voie déjà sélectionnée la désélectionne.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:219
-#: ../../../../build/work/app/i18n/custmsg.h:1002
-msgid "Selecting off all tracks de-selects them.\n"
-msgstr ""
-"La sélection de toutes les voies déjà sélectionnées les désélectionne.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:227
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:232
-#: ../../../../build/work/app/i18n/custmsg.h:1005
-msgid ""
-"To demonstrate Select Connected, first select two tracks at the end of a "
-"part to be selected \n"
-msgstr ""
-"Pour démontrer Sélectionner Connecté, sélectionner d'abord deux voies à la "
-"fin d'une partie à sélectionner\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:248
-#: ../../../../build/work/app/i18n/custmsg.h:1007
-msgid ""
-"Shift-Left-Click on a track will select all unselected tracks connected to "
-"the track. Selection stops at a previously selected track.\n"
-msgstr ""
-"Maj-clic gauche sur une voie sélectionne toutes les voies qui y sont "
-"connectées. Le processus s'arrête dès qu'une voie est déjà sélectionnée.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:260
-#: ../../../../build/work/app/i18n/custmsg.h:1009
-msgid ""
-"Be careful with this because its very easy to select all tracks this way\n"
-msgstr ""
-"Soyez prudent parce que ça permet facilement de sélectionner toutes les "
-"voies.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:274
-#: ../../../../build/work/app/i18n/custmsg.h:1011
-msgid "The <esc> key will deselect all objects.\n"
-msgstr "La touche <Ech> désélectionnera tous les objets.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:282
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:287
-#: ../../../../build/work/app/i18n/custmsg.h:1014
-msgid "Left-Drag is used to select all objects within an area.\n"
-msgstr "Glisser-gauche sert à sélectionner tous les objets d'une zone.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:295
-#: ../../../../build/work/app/i18n/custmsg.h:1016
-msgid "Shift-Left-Drag is used to move selected tracks.\n"
-msgstr ""
-"Maj+glisser à gauche est utilisé pour déplacer les voies sélectionnées.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1017
-msgid ""
-"When you move selected tracks that are connected to unselected tracks, the "
-"tracks will be disconnected. These points are marked by a Red cross on the "
-"layout.\n"
-msgstr ""
-"Si vous déplacez des voies connectées vers des voies non sélectionnées, la "
-"connexion sera annulée. Ces points sont marqués d'une croix rouge sur le "
-"plan de voie.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1018
-msgid ""
-"If the unconnected end point of a track and one being moved are close "
-"enough, two circles are displayed, showing where the tracks will be snapped "
-"together. \n"
-msgstr ""
-"Si le point de fin non connecté d'une voie et d'une autre en cours de "
-"déplacement sont suffisamment proches, deux cercles s'affichent, indiquant "
-"où les voies seront accrochées ensemble.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:313
-#: ../../../../build/work/app/i18n/custmsg.h:1020
-msgid "Let's move the Main window to see what's going on next\n"
-msgstr "Déplaçons la fenêtre principale pour voir ce qui se passe ensuite.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:320
-#: ../../../../build/work/app/i18n/custmsg.h:1022
-msgid ""
-"Ctrl-Left-Drag rotates the selected tracks about the pivot point (which is "
-"where you started the drag)\n"
-msgstr ""
-"Ctrl+gauche+glisser fait pivoter les voies sélectionnées autour du point de "
-"pivot (qui est l'endroit où vous avez commencé le glissement)\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:382
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:387
-#: ../../../../build/work/app/i18n/custmsg.h:1025
-msgid ""
-"Next we select the <Join Tracks> command to demonstrate \"Move To Join\" \n"
-msgstr ""
-"Ensuite, nous sélectionnons la commande <Raccorder les voies> pour montrer "
-"\"Move To Join\"\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:392
-#: ../../../../build/work/app/i18n/custmsg.h:1027
-msgid ""
-"You can use Shift-Left-Click to select an open endpoint of a selected track "
-"to join with an unselected track. \n"
-msgstr ""
-"Ensuite, nous sélectionnons la commande <Connecter deux voies>. Vous pouvez "
-"utiliser Maj-Clic gauche pour déplacer un point de fin d'une voie "
-"sélectionnée pour rejoindre une voie non sélectionnée.\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1028
-msgid "We'll move the Main window again.\n"
-msgstr "Nous allons à nouveau déplacer la fenêtre principale.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:415
-#: ../../../../build/work/app/i18n/custmsg.h:1030
-msgid ""
-"You then Left-Click on an endpoint of a unselected track to move the "
-"selected tracks to join. \n"
-msgstr ""
-"Ensuite, nous sélectionnons la commande <Connecter deux voies>. Vous pouvez "
-"utiliser Maj-Clic gauche pour déplacer un point de fin d'une voie "
-"sélectionnée pour rejoindre une voie non sélectionnée.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:430
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:30
-#: ../../../../build/work/app/i18n/custmsg.h:1033
-msgid "The <Split> command is used to split and disconnect tracks.\n"
-msgstr ""
-"La commande <Segmentation de voie> est utilisée pour diviser et déconnecter "
-"les voies.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:35
-#: ../../../../build/work/app/i18n/custmsg.h:1035
-msgid "Simply select the spot on the track you want to split.\n"
-msgstr ""
-"Sélectionnez simplement l'endroit de la voie que vous souhaitez "
-"fractionner.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1036
-msgid "You cannot split turnouts (unless you hold down the Shift key).\n"
-msgstr ""
-"Les aiguillages ne peuvent être séparés que si vous appuyez sur la touche "
-"Maj.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:48
-#: ../../../../build/work/app/i18n/custmsg.h:1038
-msgid ""
-"If you split at spot that is already an End-Point between two tracks, or "
-"split twice at the same spot, the track is disconnected.\n"
-msgstr ""
-"Lors du fractionnement sur une extrémité existante ou lors du fractionnement "
-"deux fois au même endroit, les voies sont fractionnées.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:60
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:65
-#: ../../../../build/work/app/i18n/custmsg.h:1041
-msgid "The <Tunnel> command marks selected tracks as hidden.\n"
-msgstr "La commande <Tunnel> marque les voies sélectionnées comme masquées.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1042
-msgid ""
-"A tunnel portal is drawn at the boundary between hidden and normal track.\n"
-msgstr ""
-"Une entrée de tunnel est dessinée à la limite entre voie cachée et voie "
-"normale.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1043
-msgid ""
-"How the hidden tracks are drawn (solid, dashed or invisible) is controlled "
-"by the Draw EndPts radio button group on the Setup dialog.\n"
-msgstr ""
-"La manière dont les voies cachées sont dessinées (pleines, en pointillés ou "
-"invisibles) est contrôlée par le groupe de boutons radio de la boîte de "
-"dialogue Options d'affichage.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:86
-#: ../../../../build/work/app/i18n/custmsg.h:1045
-msgid ""
-"To 'un-hide' a track just Select it again and click the Tunnel button.\n"
-msgstr ""
-"Pour «masquer» une voie, sélectionnez-la à nouveau et cliquez sur le bouton "
-"Tunnel.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:100
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmstrtrk.xtr:6
-#: ../../../../build/work/app/i18n/custmsg.h:1048
-msgid ""
-"Straight tracks are created by selecting the first End-Point of the track.\n"
-msgstr ""
-"Les voies droites sont créées en sélectionnant le premier point de fin de la "
-"voie.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmstrtrk.xtr:12
-#: ../../../../build/work/app/i18n/custmsg.h:1050
-msgid "Then the other End-Point is dragged to its final postion.\n"
-msgstr ""
-"Ensuite, l'autre point d'extrémité est déplacé vers sa position correcte.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmstrtrk.xtr:20
-#: ../../../../build/work/app/i18n/custmsg.h:1052
-msgid "The left mouse button is released at the final end postion.\n"
-msgstr "À ce stade, le bouton gauche de la souris est relâché.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmstrtrk.xtr:27
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtbledg.xtr:23
-#: ../../../../build/work/app/i18n/custmsg.h:1055
-msgid ""
-"Table Edges are used to mark the edges of the layout, either for aisles or "
-"room walls.\n"
-msgstr ""
-"Les bords de table sont utilisés pour marquer les bords du plan, que ce soit "
-"pour les allées ou les murs de la pièce.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtbledg.xtr:47
-#: ../../../../build/work/app/i18n/custmsg.h:1057
-msgid "A Table Edge is attracted to the ends of other Table Edges.\n"
-msgstr ""
-"Un bord de plateau est attiré vers les extrémités des autres bords de "
-"plateau.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtbledg.xtr:132
-#: ../../../../build/work/app/i18n/custmsg.h:1059
-msgid "Table Edges can be modified by dragging on their ends.\n"
-msgstr ""
-"Les bords de table peuvent être modifiés en faisant glisser leurs "
-"extrémités.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtbledg.xtr:180
-#: ../../../../build/work/app/i18n/custmsg.h:1061
-msgid ""
-"If you hold down the Control key while dragging then the Table Edge will be "
-"attracted to other objects.\n"
-msgstr ""
-"Si vous maintenez la touche Ctrl enfoncée tout en faisant glisser le bord de "
-"table, celui-ci sera attiré par d'autres objets.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtbledg.xtr:218
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtodes.xtr:6
-#: ../../../../build/work/app/i18n/custmsg.h:1064
-msgid ""
-"These examples shows some of the various Turnout Designer windows. Each "
-"window defines a different type of turnout.\n"
-msgstr ""
-"Ces exemples présentent certaines des différentes fenêtres de conception "
-"d'aiguillage. Chaque fenêtre est utilisée pour un type d'aiguillage "
-"différent.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1065
-msgid ""
-"In each window there are a number of parameters to fill in and one or two "
-"description lines.\n"
-msgstr ""
-"Chaque fenêtre de dialogue contient un certain nombre de paramètres à "
-"renseigner et une ou deux lignes de description.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1066
-msgid "You can print the design to check the dimensions before saving them.\n"
-msgstr ""
-"Vous pouvez imprimer le dessin pour vérifier les dimensions avant de les "
-"enregistrer.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtodes.xtr:16
-#: ../../../../build/work/app/i18n/custmsg.h:1068
-msgid "This is the regular turnout.\n"
-msgstr "Il s'agit d'un aiguillage normal.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1069
-msgid ""
-"In addition to the dimensions, you also enter the Title (Manufacturer, "
-"Description and Part Number). For Turnouts with Left and Right hand "
-"versions there are separate Descriptions and Part Numbers.\n"
-msgstr ""
-"Outre les dimensions, vous entrez également le titre (fabricant, description "
-"et numéro de pièce). Pour les aiguillages avec versions à gauche et à "
-"droite, la description et les références sont enregistrées séparément.\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1070
-msgid ""
-"Some Turnouts and Sectional track are pre-mounted on roadbed. For these "
-"parts you can specify the width of the roadbed, the thickness of the lines "
-"drawn for the edge of the roadbed and the color.\n"
-msgstr ""
-"Certains aiguillages et sections de rails sont pré-montés sur un ballast. "
-"Pour ces pièces, vous pouvez spécifier la largeur du ballast, l'épaisseur "
-"des lignes tracées pour le bord du ballast et la couleur.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtodes.xtr:30
-#: ../../../../build/work/app/i18n/custmsg.h:1072
-msgid "The double slip switch is described by only a few parameters.\n"
-msgstr ""
-"La traversée de jonction double n'est décrit que par quelques paramètres.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtodes.xtr:40
-#: ../../../../build/work/app/i18n/custmsg.h:1074
-msgid "The double crossover only needs length and track separation.\n"
-msgstr ""
-"La traversée-jonction double n'a besoin que d'une longueur et d'une "
-"séparation des rails.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtodes.xtr:48
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:30
-#: ../../../../build/work/app/i18n/custmsg.h:1077
-msgid ""
-"Pressing the turnout button displays the Turnout Selection window to let you "
-"choose a turnout to place.\n"
-msgstr ""
-"Appuyez sur le bouton 'aiguillage' pour afficher la fenêtre Sélection afin "
-"de vous permettre d'en choisir un pour le placer.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1078
-msgid ""
-"Note that once you start to place the turnout on the Main window the Turnout "
-"Selection window disappears. This feature is enabled by the Hide toggle "
-"button on the dialog.\n"
-msgstr ""
-"Notez que lorsque vous commencez à placer l'aiguillage dans la fenêtre "
-"principale, la fenêtre Sélection d'aiguillage disparaît. Cette commodité est "
-"activée par le bouton 'Cacher' de la boîte de dialogue.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:38
-#: ../../../../build/work/app/i18n/custmsg.h:1080
-msgid ""
-"You can place the turnout on a arbitrary position on the layout. Left-drag "
-"the turnout into place...\n"
-msgstr ""
-"Vous pouvez placer l'aiguillage à une position arbitraire du plan. Faites le "
-"glisser au bon endroit …\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:85
-#: ../../../../build/work/app/i18n/custmsg.h:1082
-msgid "Then you can rotate the turnout by Right dragging.\n"
-msgstr ""
-"Vous pouvez ensuite faire pivoter l'aiguillage en faisant glisser avec le "
-"bouton droit de la souris.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1083
-msgid ""
-"You can also use Shift-Right-Click to display a popup menu that lets you "
-"rotate the Turnout by specific angles.\n"
-msgstr ""
-"Vous pouvez ouvrir un menu contextuel avec Maj+clic droit, ce qui vous "
-"permet de faire pivoter l'aiguillage selon des angles fixes.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:136
-#: ../../../../build/work/app/i18n/custmsg.h:1085
-msgid ""
-"When you are satisfied with the position and orientation of the turnout "
-"press Space bar or the Return key on the keyboard to finish placing the "
-"turnout.\n"
-msgstr ""
-"Lorsque vous êtes satisfait de la position et de l'orientation de "
-"l'aiguillage, appuyez sur la barre d'espace ou sur la touche \"Entr\" du "
-"clavier pour terminer la commande.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1086
-msgid ""
-"Pressing the Close button on the Turnout dialog will end the <Turnout> "
-"command as well as placing the turnout.\n"
-msgstr ""
-"Vous pouvez également quitter la commande <Aiguillage> et valider son "
-"positionnement en appuyant sur le bouton OK dans la boîte de dialogue.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:146
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:189
-#: ../../../../build/work/app/i18n/custmsg.h:1089
-msgid ""
-"If you drag along an existing track the new turnout will be attached to the "
-"track.\n"
-msgstr ""
-"Si vous faites glisser l'aiguillage sur une voie existante, il sera connecté "
-"à la voie.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1090
-msgid ""
-"Note that the status line tells you the number of End-Points that would be "
-"connected and, the maximum displacement of the End-Points. This will be "
-"useful when building complex track, as we will see later.\n"
-msgstr ""
-"Notez que la ligne d'état vous indique le nombre de points d'extrémité qui "
-"seraient connectés ainsi que la distance maximale entre eux. Ce sera utile "
-"lors de la construction de voies complexes, comme nous le verrons plus "
-"tard.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:220
-#: ../../../../build/work/app/i18n/custmsg.h:1092
-msgid ""
-"By moving the cursor from one side to the other of the track centerline you "
-"can flip the turnout 180ᅵ.\n"
-msgstr ""
-"En déplaçant le curseur d'un côté à l'autre de l'axe de la voie, vous pouvez "
-"inverser l'aiguille de 180 °.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:236
-#: ../../../../build/work/app/i18n/custmsg.h:1094
-msgid ""
-"If you try to drag across another turnout the new turnout will placed at the "
-"nearest End-Point of the existing turnout.\n"
-msgstr ""
-"Si vous glissez le nouvel aiguillage par-dessus un aiguillage existant, le "
-"nouvel aiguillage sera connecté au point le plus proche de l'aiguillage "
-"existant.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:299
-#: ../../../../build/work/app/i18n/custmsg.h:1096
-msgid ""
-"When you press Space or Return while the turnout is on a track, the track "
-"will be split and the new turnout attached automatically.\n"
-msgstr ""
-"Si vous appuyez sur la barre d'espace ou sur la touche Entrée alors que "
-"l'aiguillage est sur une voie, cette voie est déconnectée et l'aiguillage "
-"est automatiquement connecté.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:307
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:366
-#: ../../../../build/work/app/i18n/custmsg.h:1099
-msgid "Pressing Close ends the <Turnout> command.\n"
-msgstr "Appuyez sur Fermer pour mettre fin à la commande <Aiguillage>.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:372
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:21
-#: ../../../../build/work/app/i18n/custmsg.h:1102
-msgid "Sometimes it's useful to modify turnouts triming one of the ends.\n"
-msgstr ""
-"Il est parfois utile de modifier les aiguillages en coupant l'une des "
-"extrémités.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1103
-msgid "We use the <Split> command for this.\n"
-msgstr "Pour cela, nous utilisons la commande <Segmentation de voie>.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:28
-#: ../../../../build/work/app/i18n/custmsg.h:1105
-msgid "Normally, if we try to Split a turnout we get an error message.\n"
-msgstr ""
-"Normalement, si nous essayons de scinder un aiguillage, nous obtenons un "
-"message d'erreur.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:37
-#: ../../../../build/work/app/i18n/custmsg.h:1107
-msgid "Hold down the Shift key and try again.\n"
-msgstr ""
-"Appuyez sur Echap pour tout désélectionner. Maintenez la touche Maj enfoncée "
-"et réessayez.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:52
-#: ../../../../build/work/app/i18n/custmsg.h:1109
-msgid ""
-"The end of the turnout has been replaced by a piece of straight flex track "
-"which we can modify.\n"
-msgstr ""
-"La fin de l'aiguillage a été remplacée par un morceau de voie flexible "
-"droite que nous pouvons modifier.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:63
-#: ../../../../build/work/app/i18n/custmsg.h:1111
-msgid "We can try splitting the diverging leg.\n"
-msgstr "Nous pouvons essayer de scinder la voie déviée.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:74
-#: ../../../../build/work/app/i18n/custmsg.h:1113
-msgid ""
-"Notice that the tail of the diverging leg has been changed to a curved "
-"track...\n"
-msgstr "Notez que la voie déviée a été changée en voie incurvée ...\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:84
-#: ../../../../build/work/app/i18n/custmsg.h:1115
-msgid "and a straight track.\n"
-msgstr "et une voie droite.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:92
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:12
-#: ../../../../build/work/app/i18n/custmsg.h:1118
-msgid ""
-"This example show how to layout a yard using the <Turnout> and <Parallel> "
-"commands.\n"
-msgstr ""
-"Cet exemple montre comment aménager un grill à l'aide des commandes "
-"<Aiguillage> et <Parallele>.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:17
-#: ../../../../build/work/app/i18n/custmsg.h:1120
-msgid ""
-"You can resize and move the Turnout Selection dialog if it obscures the "
-"other windows.\n"
-msgstr ""
-"Vous pouvez redimensionner et déplacer la boîte de dialogue Sélection "
-"d'aiguillage si elle masque d'autres fenêtres.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1121
-msgid "First we place a turnout on the main line.\n"
-msgstr "Plaçons d’abord l'aiguillage sur la voie principale.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:35
-#: ../../../../build/work/app/i18n/custmsg.h:1123
-msgid "Next extend the turnout with the <Modify> command.\n"
-msgstr "Ensuite, étendez l'aiguillage avec la commande <Modifier>.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:46
-#: ../../../../build/work/app/i18n/custmsg.h:1125
-msgid ""
-"Now create a track parallel to the main line. Make sure the separation is "
-"reasonable for your scale.\n"
-msgstr ""
-"Créez maintenant une voie parallèle à la ligne principale. Assurez-vous que "
-"la séparation est raisonnable pour votre échelle.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:62
-#: ../../../../build/work/app/i18n/custmsg.h:1127
-msgid "And place a turnout to connect the new track.\n"
-msgstr "Et placez un aiguillage à connecter à la nouvelle voie.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1128
-msgid "We'll zoom in here to see what's going on.\n"
-msgstr "En zoomant, nous pouvons voir ce qui se passe.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:78
-#: ../../../../build/work/app/i18n/custmsg.h:1130
-msgid ""
-"Notice how we control which way the turnout is facing by moving the mouse "
-"across the center line of the track.\n"
-msgstr ""
-"Remarquez comment nous contrôlons l'orientation de l'aiguillage en déplaçant "
-"la souris sur la ligne médiane de la voie.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:94
-#: ../../../../build/work/app/i18n/custmsg.h:1132
-msgid ""
-"The Status bar displays the number of auto-connections that will be made and "
-"the maximum offset.\n"
-msgstr ""
-"La barre d'état affiche le nombre de points de terminaison connectés et le "
-"décalage maximum.\n"
-"\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1133
-msgid ""
-"XTrackCAD adjusts the turnout position for the best fit to minimize any "
-"connection offset\n"
-msgstr ""
-"XTrackCAD ajuste la position de l'aiguillage pour obtenir un meilleur "
-"ajustement afin de minimiser tout décalage de connexion\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:106
-#: ../../../../build/work/app/i18n/custmsg.h:1135
-msgid "Note that placing the turnout splits the parallel track.\n"
-msgstr "Notez que placer l'aiguillage déconnecte la voie parallèle.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1136
-msgid "We have to delete the leftover piece by Selecting and Deleting it.\n"
-msgstr "Nous devons sélectionner et supprimer la pièce restante.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:120
-#: ../../../../build/work/app/i18n/custmsg.h:1138
-msgid "Repeat the process for the other tracks in the yard.\n"
-msgstr "Répétez le processus pour les autres voies du dépôt.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:149
-#: ../../../../build/work/app/i18n/custmsg.h:1140
-msgid "For the last track we will join with a curve instead of a turnout.\n"
-msgstr ""
-"Pour la dernière voie, nous allons raccorder une courbe au lieu d’un "
-"aiguillage.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:185
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrkwid.xtr:91
-#: ../../../../build/work/app/i18n/custmsg.h:1143
-msgid "We can indicate the mainline by making the rails wider.\n"
-msgstr ""
-"Nous pouvons mettre en évidence l'itinéraire principal en dessinant les "
-"voies plus épaisses.\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1144
-msgid "First we select the mainline tracks...\n"
-msgstr "Nous choisissons d’abord les voies principales ...\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrkwid.xtr:128
-#: ../../../../build/work/app/i18n/custmsg.h:1146
-msgid "And then select Medium Tracks from the Edit menu.\n"
-msgstr "Et puis sélectionnez \"Voies moyennes\" dans le menu \"Editer\".\n"
-
-#: ../../../../build/work/app/i18n/custmsg.h:1147
-msgid "We can't show the Edit menu, but we can show the effect.\n"
-msgstr ""
-"Nous ne pouvons pas afficher le menu Edition, mais nous pouvons montrer "
-"l'effet.\n"
-"\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrkwid.xtr:137
-#: ../../../../build/work/app/i18n/custmsg.h:1149
-msgid "We can make the rail thicker by selecting Thick Tracks.\n"
-msgstr ""
-"Nous pouvons rendre la voie plus épaisse en sélectionnant \"Épais\" (Wide "
-"Line.).\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrkwid.xtr:148
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrntab.xtr:6
-#: ../../../../build/work/app/i18n/custmsg.h:1152
-msgid ""
-"Turntables are created by specifying the radius in a dialog box on the "
-"Status Bar. The radius in the dialog can be changed before proceeding.\n"
-msgstr ""
-"Lors de la création de ponts tournants, le rayon doit être saisi dans une "
-"boîte de dialogue sur la barre d'état. Le rayon doit être modifié avant les "
-"étapes suivantes.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrntab.xtr:15
-#: ../../../../build/work/app/i18n/custmsg.h:1154
-msgid "Then the turntable is dragged to its final location.\n"
-msgstr "Ensuite, le pont tournant est déplacé vers son emplacement final.\n"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrntab.xtr:22
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:317
-#: ../../../../build/work/app/i18n/custmsg.h:1157
-msgid "Introduction"
-msgstr "Introduction"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:318
-#: ../../../../build/work/app/i18n/custmsg.h:1159
-msgid "Mouse Actions"
-msgstr "Actions de la souris"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:319
-#: ../../../../build/work/app/i18n/custmsg.h:1161
-msgid "Dialogs"
-msgstr "Dialogues"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:320
-#: ../../../../build/work/app/i18n/custmsg.h:1163
-msgid "Moving about"
-msgstr "Se déplacer"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:321
-#: ../../../../build/work/app/i18n/custmsg.h:1165
-msgid "Describe and Select"
-msgstr "Décrire et sélectionner"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:322
-#: ../../../../build/work/app/i18n/custmsg.h:1167
-msgid "Describe"
-msgstr "Décrire"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:324
-#: ../../../../build/work/app/i18n/custmsg.h:1171
-msgid "Simple tracks"
-msgstr "Simples voies"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:325
-#: ../../../../build/work/app/i18n/custmsg.h:1173
-msgid "Straight tracks"
-msgstr "Voies droites"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:326
-#: ../../../../build/work/app/i18n/custmsg.h:1175
-msgid "Curved tracks"
-msgstr "Voies courbes"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:327
-#: ../../../../build/work/app/i18n/custmsg.h:1177
-msgid "Circles"
-msgstr "Cercles"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:328
-#: ../../../../build/work/app/i18n/custmsg.h:1179
-msgid "Turntables"
-msgstr "Ponts tournants"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:329
-#: ../../../../build/work/app/i18n/custmsg.h:1181
-msgid "Modifying tracks"
-msgstr "Modification des voies"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:330
-#: ../../../../build/work/app/i18n/custmsg.h:1183
-msgid "Modifying end points "
-msgstr "Modification des points de fin "
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:331
-#: ../../../../build/work/app/i18n/custmsg.h:1185
-msgid "Extending"
-msgstr "Extension"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:332
-#: ../../../../build/work/app/i18n/custmsg.h:1187
-msgid "Medium and Thick Tracks"
-msgstr "Voies moyennes et épaisses"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:333
-#: ../../../../build/work/app/i18n/custmsg.h:1189
-msgid "Joining Tracks"
-msgstr "Raccorder des voies"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:334
-#: ../../../../build/work/app/i18n/custmsg.h:1191
-msgid "Straight to straight"
-msgstr "Tout droit"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:335
-#: ../../../../build/work/app/i18n/custmsg.h:1193
-msgid "Curve to straight"
-msgstr "Courbe à droite"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:336
-#: ../../../../build/work/app/i18n/custmsg.h:1195
-msgid "Circle to circle"
-msgstr "Cercle à cercle"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:337
-#: ../../../../build/work/app/i18n/custmsg.h:1197
-msgid "Joining to turntables"
-msgstr "Raccorder à un pont tournant"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:338
-#: ../../../../build/work/app/i18n/custmsg.h:1199
-msgid "Easements"
-msgstr "Courbes de transition (Easements)"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:339
-#: ../../../../build/work/app/i18n/custmsg.h:1201
-msgid "Abutting tracks"
-msgstr "Voies contiguës"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:340
-#: ../../../../build/work/app/i18n/custmsg.h:1203
-msgid "Move to Join"
-msgstr "Déplacer pour raccorder"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:342
-#: ../../../../build/work/app/i18n/custmsg.h:1207
-msgid "Select and Placement"
-msgstr "Sélectionner et positionner"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:343
-#: ../../../../build/work/app/i18n/custmsg.h:1209
-msgid "Building a yard throat."
-msgstr "Construire une entrée de dépôt."
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:344
-#: ../../../../build/work/app/i18n/custmsg.h:1211
-msgid "Designing turnouts"
-msgstr "Concevoir des aiguillages"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:345
-#: ../../../../build/work/app/i18n/custmsg.h:1213
-msgid "Group and Ungroup"
-msgstr "Grouper et dissocier"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:346
-#: ../../../../build/work/app/i18n/custmsg.h:1215
-msgid "Triming Turnout Ends"
-msgstr "Modifier les points de fin d'un aiguillage"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:347
-#: ../../../../build/work/app/i18n/custmsg.h:1217
-msgid "Handlaid Turnouts"
-msgstr "Aiguillages de conception libre"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:348
-#: ../../../../build/work/app/i18n/custmsg.h:1219
-msgid "Elevations and Profile"
-msgstr "Élévations et profil"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:349
-#: ../../../../build/work/app/i18n/custmsg.h:1221
-msgid "Elevations"
-msgstr "Élévations"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:351
-#: ../../../../build/work/app/i18n/custmsg.h:1225
-msgid "Misc track commands"
-msgstr "Diverses commandes de voie"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:352
-#: ../../../../build/work/app/i18n/custmsg.h:1227
-msgid "Delete and Undo"
-msgstr "Supprimer et annuler"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:353
-#: ../../../../build/work/app/i18n/custmsg.h:1229
-msgid "Splitting and Tunnels"
-msgstr "Fractionnement et tunnels"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:355
-#: ../../../../build/work/app/i18n/custmsg.h:1233
-msgid "Helix tracks"
-msgstr "Voies hélicoïdales"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:356
-#: ../../../../build/work/app/i18n/custmsg.h:1235
-msgid "Exception Tracks"
-msgstr "Voies non conformes"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:358
-#: ../../../../build/work/app/i18n/custmsg.h:1239
-msgid "Connect and Tighten - a siding"
-msgstr "Connecter et ajuster - un revêtement"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:359
-#: ../../../../build/work/app/i18n/custmsg.h:1241
-msgid "Connect and Tighten - figure-8"
-msgstr "Connecter et ajuster - figure 8"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:360
-#: ../../../../build/work/app/i18n/custmsg.h:1243
-msgid "Other commands"
-msgstr "Autres commandes"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:362
-#: ../../../../build/work/app/i18n/custmsg.h:1247
-msgid "Table Edges"
-msgstr "Bords de table"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:364
-#: ../../../../build/work/app/i18n/custmsg.h:1251
-msgid "Dimension Lines"
-msgstr "Lignes de cotes"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:365
-#: ../../../../build/work/app/i18n/custmsg.h:1253
-msgid "Lines"
-msgstr "Lignes"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:366
-#: ../../../../build/work/app/i18n/custmsg.h:1255
-msgid "Poly-Shapes"
-msgstr "Poly-formes"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:367
-#: ../../../../build/work/app/i18n/custmsg.h:1257
-msgid "Modifying Poly-Shapes"
-msgstr "Modification des poly formes"
-
-#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:370
-#: ../../../../build/work/app/i18n/custmsg.h:1263
-msgid "Control Panels"
-msgstr "Panneaux de contrôle"
-
-#, fuzzy
-#~ msgid "Pan to origin - 'o'/'0'"
-#~ msgstr "Pan à l'origine - 'o'"
-
-#~ msgid "Zoom keeps lower corner in view"
-#~ msgstr "Le zoom garde le coin inférieur en vue"
-
-#~ msgid "Whether zoom is locked to the bottom left corner or the center point"
-#~ msgstr ""
-#~ "Si le zoom est verrouillé dans le coin inférieur gauche ou au point "
-#~ "central"
-
-#~ msgid "Find ..."
-#~ msgstr "Chercher ..."
-
-#~ msgid "Move Origin Mode"
-#~ msgstr "Déplacer le mode d'origine"
-
-#~ msgid "Expected END statement not found!"
-#~ msgstr "Instruction END attendue introuvable!"
-
-#~ msgid "Modify Bezier Complete - select another"
-#~ msgstr "Modifier une Bézier terminé - en sélectionner une autre"
-
-#~ msgid "Shift used, but no Unconnected Track End there"
-#~ msgstr "Maj utilisée, mais il n'y a pas de fin de voie non connectée"
-
-#~ msgid "Shift used, but no Line End there"
-#~ msgstr "Maj utilisé, mais il n'y a pas de point de fin de ligne"
-
-#~ msgid "Track picked - now select a Point"
-#~ msgstr "Piste sélectionnée - sélectionnez maintenant un point"
-
-#~ msgid ""
-#~ "Place 2nd end point of Cornu track on track with an unconnected end-point"
-#~ msgstr ""
-#~ "Placer le 2e point de fin de la voie de Cornu sur la bonne voie avec un "
-#~ "point de fin non connecté"
-
-#~ msgid ""
-#~ "No unconnected end-point on track - Try again or release Shift and click"
-#~ msgstr ""
-#~ "Aucun point de fin non connecté sur la voie - Réessayez ou relâchez Shift "
-#~ "et cliquez"
-
-#~ msgid "Not on a track - Try again or release Shift and click"
-#~ msgstr "Pas sur une voie - Réessayez ou relâchez Shift et cliquez"
-
-#~ msgid "End Locked: Drag out to center"
-#~ msgstr "Extrémité fixe : tirez vers le centre"
-
-#~ msgid "Radius=%s Angle=%0.3f"
-#~ msgstr "Rayon=%s Angle=%0.3f"
-
-#~ msgid "Length=%s Angle=%0.3f"
-#~ msgstr "Longueur = %s Angle = %0.3f"
-
-#~ msgid "Freeform"
-#~ msgstr "Forme libre"
-
-#~ msgid "Polygonal Line"
-#~ msgstr "Ligne polygonale"
-
-#~ msgid "%s: Layer=%d"
-#~ msgstr "%s: Calque=%d"
-
-#~ msgid "There are no reachable Defined Elevations"
-#~ msgstr ""
-#~ "Il n'y a pas d'élévations définies accessibles, faites glisser pour "
-#~ "changer la hauteur"
-
-#~ msgid "Dist = %s"
-#~ msgstr "Dist = %s"
-
-#~ msgid "Select track to modify"
-#~ msgstr "Sélectionnez la voie à modifier"
-
-#~ msgid "Drag to create new track segment"
-#~ msgstr "Faites glisser pour créer une nouvelle section de voie"
-
-#~ msgid "Note: "
-#~ msgstr "Remarque : "
-
-#~ msgid "# End Pts"
-#~ msgstr "# Bouts"
-
-#~ msgid "Print Registration Marks"
-#~ msgstr "Imprimer les marques de repérage"
-
-#~ msgid "Print Snap Grid"
-#~ msgstr "Imprimer la grille magnétique"
-
-#~ msgid "Print Rulers"
-#~ msgstr "Imprimer les règles"
-
-#~ msgid "1 page"
-#~ msgstr "1 page"
-
-#~ msgid "Draw moving track normally"
-#~ msgstr "Tracez la voie en mouvement normalement"
-
-#~ msgid "Draw moving track simply"
-#~ msgstr "Tracez la voie en mouvement simplement"
-
-#~ msgid "Draw moving track as end-points"
-#~ msgstr "Tracez la voie en mouvement comme points de terminaison"
-
-#~ msgid "Cornu selected too tight after move - it was left alone"
-#~ msgstr ""
-#~ "Cornu choisi trop serrée après le déplacement - elle a été laissé seule"
-
-#~ msgid " Angle %0.3f"
-#~ msgstr " Angle %0.3f"
-
-#~ msgid "Simple"
-#~ msgstr "Simple"
-
-#~ msgid "End Points"
-#~ msgstr "Bouts de voie"
-
-#~ msgid "Tunnel"
-#~ msgstr "Tunnel"
-
-#~ msgid "TURNOUT "
-#~ msgstr "AIGUILLAGE "
-
-#~ msgid "%s Files|*.xtc"
-#~ msgstr "%s Fichiers|*.xtc"
-
-#~ msgid "Bitmap files|*.xpm"
-#~ msgstr "Fichiers Bitmap|*.xpm"
-
-#~ msgid "Color Layers"
-#~ msgstr "Couleur des calques"
-
-#~ msgid "End-Points"
-#~ msgstr "Bouts de voie"
-
-#~ msgid "Draw Moving Tracks"
-#~ msgstr "Tracez les voies en mouvement"
-
-#~ msgid "Unload"
-#~ msgstr "Désélectionner"
-
-#~ msgid "Use Shift+PageDwn to jump to preset Zoom In"
-#~ msgstr ""
-#~ "Utilisez Maj+Pg.Suiv pour passer à un facteur de zoom avant prédéfini"
-
-#~ msgid "Use Shift+PageUp to jump to preset Zoom Out"
-#~ msgstr ""
-#~ "Utilisez Maj+Pg.Préc pour passer à un facteur de zoom arrière prédéfini"
-
-#~ msgid "Commands"
-#~ msgstr "Commandes"
-
-#~ msgid "SnapGrid Enable"
-#~ msgstr "Valider la grille magnétique"
-
-#~ msgid "A&bove"
-#~ msgstr "A&u-dessus"
-
-#~ msgid "Belo&w"
-#~ msgstr "A&u-dessous"
-
-#~ msgid "General note about the layout"
-#~ msgstr "Note générale sur le plan"
-
-#~ msgid "How to draw track being moved/rotated"
-#~ msgstr "Comment dessiner une voie en cours de déplacement/rotation"
-
-#~ msgid ""
-#~ "A number of example layouts are provided. These files are located in the "
-#~ "'examples' directory where you installed XTrackCAD. The \"File|Open\" "
-#~ "command will open that directory when first used."
-#~ msgstr ""
-#~ "Un certain nombre d'exemples de réseaux sont fournis. Ils sont dans le "
-#~ "répertoire \"exemples\" où vous avez installé XTrackCAD. Ceux-ci peuvent "
-#~ "être chargés via la boîte de dialogue \"Fichier | Ouvrir\"."
-
-#~ msgid ""
-#~ "The length of the straight track is determined by the distance from the "
-#~ "far End-Point and the cursor.\n"
-#~ msgstr ""
-#~ "La longueur de la voie droite est déterminée par la distance entre le "
-#~ "point d'extrémité distant et le pointeur de la souris.\n"
-
-#~ msgid "First turn off the Snap Grid.\n"
-#~ msgstr "Commencez par désactiver la grille magnétique.\n"
-
-#~ msgid "Rotate the signals and move them to the proper locations.\n"
-#~ msgstr "Faites pivoter les signaux, puis placez-les au bon endroit.\n"
-
-#~ msgid "Rotate the arrow head by 180° and move into position.\n"
-#~ msgstr ""
-#~ "Faites pivoter la pointe de la flèche de 180° et placez-la dans la bonne "
-#~ "position.\n"
-
-#~ msgid ""
-#~ "Now the cursor is about to be moved past the other (far) End-Point of the "
-#~ "straight track. You will receive a warning and the connecting track "
-#~ "turns Red.\n"
-#~ msgstr ""
-#~ "Maintenant, le curseur est sur le point d'être déplacé au-delà de l'autre "
-#~ "point de fin (le plus éloigné) de la voie droite. Vous recevrez un "
-#~ "avertissement et la voie de connexion deviendra rouge.\n"
-
-#~ msgid ""
-#~ "Drawing lines with the Shift key held down will use the previous line End-"
-#~ "Point as the starting position. This makes it easy to draw connected "
-#~ "lines.\n"
-#~ msgstr ""
-#~ "Si vous maintenez la touche Maj enfoncée pendant le tracé, le dernier "
-#~ "point de fin est utilisé comme point de départ pour la nouvelle voie. "
-#~ "Cela simplifie le tracé des voies connectées.\n"
-
-#~ msgid ""
-#~ "If you drag a Corner to another Corner the two are merged and the Edge "
-#~ "between them is removed.\n"
-#~ msgstr ""
-#~ "Si vous faites glisser un coin vers un autre coin, celui-ci sera regroupé "
-#~ "et le bord situé entre ceux-ci sera supprimé.\n"
-
-#~ msgid ""
-#~ "Shift-Right-Click will display a popup-menu that you can use to rotate by "
-#~ "fixed amount (15°, 30°, 45°, 90° or 180°). The demonstration cannot show "
-#~ "the popup-menu but it can show the effects.\n"
-#~ msgstr ""
-#~ "Maj+Clic droit affichera un menu contextuel que vous pouvez utiliser pour "
-#~ "faire pivoter d'une quantité fixe (15°, 30°, 45°, 90° ou 180°). La "
-#~ "démonstration ne peut pas afficher le menu contextuel mais elle en peut "
-#~ "montrer les effets.\n"
-
-#~ msgid "Here we will rotate by 90° clockwise (CW).\n"
-#~ msgstr ""
-#~ "Ici, nous allons tourner à 90 ° dans le sens des aiguilles d'une montre "
-#~ "(CW).\n"
-
-#~ msgid ""
-#~ "Another option of the <Rotate> command popup-menu is to Align the "
-#~ "Selected object with some other object.\n"
-#~ msgstr ""
-#~ "Une autre option du menu contextuel de la commande <Rotation> consiste à "
-#~ "avoir l'objet sélectionné sur un autre objet.\n"
-
-#~ msgid ""
-#~ "First we will click on one line of the Selected object. The angle of "
-#~ "this part of the object will be Aligned.\n"
-#~ msgstr ""
-#~ "Nous allons d'abord cliquer sur une ligne de l'objet sélectionné. Cette "
-#~ "ligne sert de base à l'alignement.\n"
-
-#~ msgid ""
-#~ "Next, we click on an Unselected object. The Selected structure will be "
-#~ "rotated so that the line we clicked on will be parallel to the straight "
-#~ "track.\n"
-#~ msgstr ""
-#~ "Ensuite, nous cliquons sur un objet non sélectionné. La bâtiment "
-#~ "sélectionnée sera pivotée de sorte que la ligne sur laquelle vous avez "
-#~ "cliqué soit parallèle à la voie droite.\n"
-
-#~ msgid ""
-#~ "If we drag the mouse across the track, we can flip the structure by "
-#~ "180°. This is similar to how we place turnouts.\n"
-#~ msgstr ""
-#~ "Si nous faisons glisser la souris sur la voie, nous pouvons retourner la "
-#~ "bâtiment de 180 °. Ceci est similaire à la façon dont nous plaçons les "
-#~ "aiguillages.\n"
-
-#~ msgid ""
-#~ "We can also align to curved shapes. The Selected object will be rotated "
-#~ "to be parallel to the curve under the cursor.\n"
-#~ msgstr ""
-#~ "Nous pouvons également nous aligner sur des formes courbes. L'objet "
-#~ "sélectionné sera pivoté de façon à être parallèle au point de la courbe "
-#~ "qui se trouve sous le pointeur de la souris.\n"
-
-#~ msgid ""
-#~ "As we drag along the curved track the Selected object rotates to follow "
-#~ "the curve.\n"
-#~ msgstr ""
-#~ "Lorsque vous faites glisser le long de la voie incurvée, l'objet "
-#~ "sélectionné pivote pour suivre la courbe.\n"
-
-#~ msgid "Again, if we drag across the track we can flip the stucture.\n"
-#~ msgstr ""
-#~ "Encore une fois, si nous glissons sur la voie, nous pouvons retourner la "
-#~ "bâtiment.\n"
-
-#~ msgid "We can also Align to another Structure or any object.\n"
-#~ msgstr ""
-#~ "Nous pouvons également nous aligner sur d'autres bâtiments ou tout autre "
-#~ "objet.\n"
-
-#~ msgid "And Right-Drag de-selects all tracks within an area.\n"
-#~ msgstr ""
-#~ "Et faites un clic droit pour désélectionner toutes les voies d'une zone.\n"
-
-#~ msgid ""
-#~ "Drawing the tracks while moving can be very time-consuming. We had just "
-#~ "used the \"Normal\" method of drawing tracks.\n"
-#~ msgstr ""
-#~ "Dessiner des voies en mouvement peut prendre beaucoup de temps. Nous "
-#~ "venions d'utiliser la méthode \"normale\" de dessin de voies.\n"
-
-#~ msgid ""
-#~ "The Command Options dialog (from the Options menu) contains a Radio "
-#~ "button group which you can use to pick the drawing method.\n"
-#~ msgstr ""
-#~ "La boîte de dialogue Options de commande (dans le menu Options) contient "
-#~ "un groupe de boutons que vous pouvez utiliser pour modifier la méthode de "
-#~ "dessin.\n"
-
-#~ msgid ""
-#~ "You can also popup the Command Options Menu by pressing Shift-Right-Click "
-#~ "which includes options for setting the drawing method. These options are "
-#~ "also available for the Move and Rotate Command Options Menu.\n"
-#~ msgstr ""
-#~ "Vous pouvez également faire apparaître le menu Options de commande en "
-#~ "appuyant sur Maj + clic droit, ce qui inclut des options pour définir la "
-#~ "méthode de dessin. Ces options sont également disponibles pour les "
-#~ "commandes Déplacer et Rotation.\n"
-
-#~ msgid ""
-#~ "The next method is \"Simple\" draws. Here tracks are drawn using one "
-#~ "line, no End-Points are drawn, lines are not drawn and structures are "
-#~ "drawn using a box outline.\n"
-#~ msgstr ""
-#~ "La méthode suivante est le dessin \"simple\". Ici, les voies sont "
-#~ "représentées par une ligne, les extrémités et les lignes ne sont pas "
-#~ "dessinées. Les bâtiments sont remplacés par un rectangle pendant "
-#~ "l'opération.\n"
-
-#~ msgid ""
-#~ "Note: you can move the Command Options dialog if it obscures the main "
-#~ "window.\n"
-#~ msgstr ""
-#~ "Remarque : vous pouvez déplacer la boîte de dialogue Options de commande "
-#~ "si elle masque la fenêtre principale.\n"
-
-#~ msgid ""
-#~ "The next method is to just draw the End-Points of the selected tracks.\n"
-#~ msgstr ""
-#~ "La méthode suivante consiste à simplement dessiner les extrémités des "
-#~ "voies sélectionnées.\n"
-
-#~ msgid ""
-#~ "Unconnected End-Points are indicated by Red crosses, and connected End-"
-#~ "Points are indicated by Red lines.\n"
-#~ msgstr ""
-#~ "Les points d'extrémité non connectés sont marqués par une croix rouge, "
-#~ "les points d'extrémité connectés par une ligne rouge.\n"
-
-#~ msgid "Now we will go back to using the Normal method again.\n"
-#~ msgstr ""
-#~ "Maintenant , nous allons revenir à l’utilisation de la méthode Normale.\n"
-
-#~ msgid ""
-#~ "Note: because of differing display resolutions the next mouse click may "
-#~ "not be positioned correctly in this demo and the Move-To-Join operation "
-#~ "may not be demonstrated.\n"
-#~ msgstr ""
-#~ "Remarque : en raison de différences de résolution d'affichage, il est "
-#~ "possible que le clic de souris suivant ne soit pas correctement "
-#~ "positionné dans cette démo et que l'opération \"Move-To-Join\" ne puisse "
-#~ "pas être démontrée.\n"
-
-#~ msgid "Is Cornu End -> Not Selectable"
-#~ msgstr "Fin de Cornu -> Non sélectionnable"
-
-#~ msgid "Must be on the %s Track"
-#~ msgstr "Doit être sur la voie %s"
-
-#~ msgid "Select other end of Bezier, +Shift -> snaps to %s end"
-#~ msgstr ""
-#~ "Sélectionnez l’autre extrémité de la Bézier, +Maj pour vous connecter à "
-#~ "la fin de %s"
-
-#~ msgid ""
-#~ "No Unconnected end-point on track - Try again or release shift and click"
-#~ msgstr ""
-#~ "Aucune extrémité de voie non connectée - Réessayez ou relâchez shift puis "
-#~ "cliquez"
-
-#~ msgid "Not on a Track - Try again or release shift and click"
-#~ msgstr "Pas sur une voie - Réessayez ou relâchez shift et cliquez"
-
-#~ msgid ""
-#~ "Place 1st end point of Cornu track on track with an unconnected end-point"
-#~ msgstr "Placez le premier extrémité de la voie, en voie droite"
-
-#~ msgid "Connect Sectional Tracks"
-#~ msgstr "Connectez des sections de voies"
-
-#~ msgid "Drag to move selected tracks"
-#~ msgstr "Faites glisser pour déplacer la voie sélectionnée"
-
-#~ msgid "End Angle 2"
-#~ msgstr "Fin Angle 2"
-
-#~ msgid "Elev 1"
-#~ msgstr "Elév 1"
-
-#~ msgid "End Radius Center 1: X"
-#~ msgstr "Centre du rayon de fin 1 : X"
-
-#~ msgid "Elev 2"
-#~ msgstr "Elév 2"
-
-#~ msgid "Radius 2"
-#~ msgstr "Rayon 2"
-
-#~ msgid "End Radius Center 2: X"
-#~ msgstr "Centre du rayon de fin 2 : X"
-
-#~ msgid "Angle=%0.3f"
-#~ msgstr "Angle =%0.3f"
-
-#~ msgid "Place circle center"
-#~ msgstr "Définir le centre du cercle"
-
-#~ msgid "Place circle"
-#~ msgstr "Placez le cercle"
-
-#~ msgid "Draw"
-#~ msgstr "Dessiner"
-
-#~ msgid "Show Map"
-#~ msgstr "Montrer le plan"
-
-#~ msgid "Blocks"
-#~ msgstr "Sections de voies"
-
-#~ msgid "SwitchMotor"
-#~ msgstr "Moteur d'aiguillage"
-
-#~ msgid "Switch Motors"
-#~ msgstr "Moteurs d'aiguillages"
-
-#~ msgid "Black"
-#~ msgstr "Noir"
-
-#~ msgid "Dark Blue"
-#~ msgstr "Bleu foncé"
-
-#~ msgid "Steel Blue"
-#~ msgstr "Bleu acier"
-
-#~ msgid "Royal Blue"
-#~ msgstr "Bleu royal"
-
-#~ msgid "Blue"
-#~ msgstr "Bleu"
-
-#~ msgid "Deep Sky Blue"
-#~ msgstr "Bleu ciel foncé"
-
-#~ msgid "Light Sky Blue"
-#~ msgstr "Bleu ciel"
-
-#~ msgid "Powder Blue"
-#~ msgstr "Poudre Bleue"
-
-#~ msgid "Dark Aqua"
-#~ msgstr "Bleu vert foncé"
-
-#~ msgid "Aquamarine"
-#~ msgstr "Bleu vert"
-
-#~ msgid "Aqua"
-#~ msgstr "Eau bleue"
-
-#~ msgid "Dark Green"
-#~ msgstr "Vert foncé"
-
-#~ msgid "Forest Green"
-#~ msgstr "Vert forêt"
-
-#~ msgid "Lime Green"
-#~ msgstr "Citron vert"
-
-#~ msgid "Green"
-#~ msgstr "Vert"
-
-#~ msgid "Lawn Green"
-#~ msgstr "Vert pelouse"
-
-#~ msgid "Pale Green"
-#~ msgstr "Vert pâle"
-
-#~ msgid "Dark Yellow"
-#~ msgstr "Jaune foncé"
-
-#~ msgid "Coral"
-#~ msgstr "Corail"
-
-#~ msgid "Orange"
-#~ msgstr "Orange"
-
-#~ msgid "Yellow"
-#~ msgstr "Jaune"
-
-#~ msgid "Saddle Brown"
-#~ msgstr "Cuir marron"
-
-#~ msgid "Brown"
-#~ msgstr "Marron"
-
-#~ msgid "Chocolate"
-#~ msgstr "Chocolat"
-
-#~ msgid "Rosy Brown"
-#~ msgstr "Marron rose"
-
-#~ msgid "Tan"
-#~ msgstr "Ocre"
-
-#~ msgid "Beige"
-#~ msgstr "Beige"
-
-#~ msgid "Dark Red"
-#~ msgstr "Rouge foncé"
-
-#~ msgid "Tomato"
-#~ msgstr "Tomate"
-
-#~ msgid "Red"
-#~ msgstr "Rouge"
-
-#~ msgid "Hot Pink"
-#~ msgstr "Rose vif"
-
-#~ msgid "Pink"
-#~ msgstr "Rose"
-
-#~ msgid "Dark Purple"
-#~ msgstr "Violet foncé"
-
-#~ msgid "Maroon"
-#~ msgstr "Bordeaux"
-
-#~ msgid "Purple2"
-#~ msgstr "Violet 2"
-
-#~ msgid "Purple"
-#~ msgstr "Violet"
-
-#~ msgid "Violet"
-#~ msgstr "Violette"
-
-#~ msgid "Dark Gray"
-#~ msgstr "Gris foncé"
-
-#~ msgid "Gray"
-#~ msgstr "Gris"
-
-#~ msgid "Light Gray"
-#~ msgstr "Gris clair"
-
-#~ msgid "Describe objects"
-#~ msgstr "Décrire des objets"
-
-#~ msgid "Page %d"
-#~ msgstr "Page %d"
-
-#~ msgid "Print to file ..."
-#~ msgstr "Imprimer dans un fichier ..."
-
-#~ msgid "No file name specified"
-#~ msgstr "Aucun nom de fichier spécifié"
-
-#~ msgid "%s exists"
-#~ msgstr "%s existe déjà"
-
-#~ msgid "Overwrite"
-#~ msgstr "Remplacer"
-
-#~ msgid ": cannot open"
-#~ msgstr ": ne peut pas être ouvert"
-
-#~ msgid "Page 1"
-#~ msgstr "Page 1"
-
-#~ msgid "Enter both printer name and command"
-#~ msgstr "Entrez le nom de l'imprimante et la commande"
-
-#~ msgid "Can not save New Printer definition"
-#~ msgstr "La nouvelle définition d'imprimante ne peut pas être enregistrée"
-
-#~ msgid "Enter printer name"
-#~ msgstr "Entrez le nom de l'imprimante"
-
-#~ msgid "Can not save New Margin definition"
-#~ msgstr "Impossible de sauvegarder la définition de la nouvelle marge"
-
-#~ msgid "Paper Size"
-#~ msgstr "Taille du papier"
-
-#~ msgid "Printer"
-#~ msgstr "Imprimante"
-
-#~ msgid "Format"
-#~ msgstr "Format"
-
-#~ msgid "X Font"
-#~ msgstr "Police X"
-
-#~ msgid "PS Font"
-#~ msgstr "Police PS"
-
-#~ msgid "Factor"
-#~ msgstr "Facteur"
-
-#~ msgid "Print Test Page"
-#~ msgstr "Impression de la page de Test"
-
-#~ msgid "Name: "
-#~ msgstr "Nom : "
-
-#~ msgid "Command: "
-#~ msgstr "Commande : "
-
-#~ msgid "Add Margin"
-#~ msgstr "Ajouter une marge"
-
-#~ msgid "Print To File"
-#~ msgstr "Imprimer dans un fichier"
-
-#~ msgid "File Name? "
-#~ msgstr "Nom du fichier ? "
-
-#~ msgid "Font Alias"
-#~ msgstr "Alias pour la police"
-
-#~ msgid "Enter a post-script font name for:"
-#~ msgstr "Entrez la police PostScript pour :"
-
-#~ msgid "Printing"
-#~ msgstr "Impression"
-
-#~ msgid "Now printing"
-#~ msgstr "L'impression est en cours"
-
-#~ msgid "Abort Print"
-#~ msgstr "Annuler l'impression"
-
-#~ msgid ""
-#~ " exists\n"
-#~ "Do you want to overwrite it?"
-#~ msgstr ""
-#~ " existe\n"
-#~ "Voulez-vous l'écraser ?"
-
-#~ msgid "Delete Switch motor"
-#~ msgstr "Supprimer le moteur d'aiguillage"
-
-#~ msgid "Not a SwitchMotor!"
-#~ msgstr "Pas de Moteur d'aiguillage !"
-
-#~ msgid "Custom Update"
-#~ msgstr "Ajouter des personnalisations"
-
-#~ msgid "No fonts"
-#~ msgstr "Pas de polices"
-
-#~ msgid ""
-#~ "Can't find standard Serif font.\n"
-#~ "Please choose a font"
-#~ msgstr ""
-#~ "La police par défaut Serif est introuvable.\n"
-#~ "Veuillez sélectionner une police"
-
-#~ msgid ""
-#~ "Can't find standard San-Serif font.\n"
-#~ "Please choose a font"
-#~ msgstr ""
-#~ "La police par défaut sans-serif est introuvable.\n"
-#~ "Veuillez sélectionner une police"
-
-#~ msgid "XTrackCAD Help"
-#~ msgstr "Aide XTrackCAD"
-
-#~ msgid "Now printing %s"
-#~ msgstr "Imprime %s"
-
-#~ msgid "Creating %s"
-#~ msgstr "Création %s"
-
-#~ msgid "Scale / Gauge"
-#~ msgstr "Échelle / écartement"
-
-#~ msgid "load last layout"
-#~ msgstr "charger le dernier plan"
-
-#~ msgid "start with blank layout"
-#~ msgstr "commencez avec un plan vide"
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# Martin Fischer <m_fischer@users.sourceforge.net>, 2020
+# Jacques Glize <j.glize@yahoo.fr>, 2021
+# Adam J M Richards <adamjmrichards@gmail.com>, 2021
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-11-14 06:45-0800\n"
+"PO-Revision-Date: 2020-08-27 16:39+0000\n"
+"Last-Translator: Adam J M Richards <adamjmrichards@gmail.com>, 2021\n"
+"Language-Team: French (https://www.transifex.com/xtrackcad/teams/112853/fr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fr\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: ../bin/archive.c:154 ../bin/archive.c:161 ../bin/archive.c:190
+#: ../bin/archive.c:215 ../bin/archive.c:270 ../bin/archive.c:283
+#: ../bin/archive.c:291 ../bin/archive.c:341 ../bin/archive.c:376
+#: ../bin/archive.c:392 ../bin/archive.c:402 ../bin/archive.c:425
+#: ../bin/cblock.c:490 ../bin/cswitchmotor.c:472 ../bin/dbench.c:143
+#: ../bin/dbitmap.c:426 ../bin/dcar.c:4525 ../bin/dcar.c:4711
+#: ../bin/dcar.c:4721 ../bin/dcar.c:4768 ../bin/dcar.c:4775 ../bin/dcar.c:4793
+#: ../bin/dcar.c:4806 ../bin/dcar.c:4811 ../bin/dcar.c:4840 ../bin/dcar.c:5003
+#: ../bin/directory.c:44 ../bin/directory.c:79 ../bin/directory.c:86
+#: ../bin/directory.c:117 ../bin/directory.c:133 ../bin/dxfoutput.c:191
+#: ../bin/fileio.c:215 ../bin/fileio.c:660 ../bin/fileio.c:803
+#: ../bin/fileio.c:863 ../bin/fileio.c:987 ../bin/fileio.c:1053
+#: ../bin/fileio.c:1059 ../bin/fileio.c:1135 ../bin/fileio.c:1145
+#: ../bin/fileio.c:1490 ../bin/fileio.c:1542 ../bin/fileio.c:1594
+#: ../bin/macro.c:152 ../bin/macro.c:806 ../bin/macro.c:853 ../bin/macro.c:874
+#: ../bin/macro.c:1017 ../bin/macro.c:1035 ../bin/macro.c:1307
+#: ../bin/param.c:2189 ../bin/paramfile.c:257 ../bin/paramfilelist.c:390
+#: ../bin/track.c:1152 ../bin/track.c:1692 ../bin/track.c:1998
+#: ../bin/track.c:2002 ../bin/track.c:2014 ../bin/track.c:2078
+#: ../wlib/gtklib/wpref.c:260 ../wlib/gtklib/wpref.c:267
+msgid "Continue"
+msgstr "Continuer"
+
+#: ../bin/cbezier.c:598
+msgid "Select End-Point - Ctrl unlocks end-point"
+msgstr "Sélectionner le point-de-fin - Ctrl déverrouille ce dernier"
+
+#: ../bin/cbezier.c:600
+msgid "Select End-Point"
+msgstr "Sélectionnez le point-de-fin"
+
+#: ../bin/cbezier.c:632
+msgid "Not close enough to any valid, selectable point, reselect"
+msgstr ""
+"Pas assez proche d'un point valide et sélectionnable, veuillez en choisir un"
+" autre"
+
+#: ../bin/cbezier.c:638
+#, c-format
+msgid "Drag point %d to new location and release it"
+msgstr "Déplacez le point %d vers le nouvel emplacement et relâchez"
+
+#: ../bin/cbezier.c:647 ../bin/cbezier.c:738 ../bin/cbezier.c:740
+msgid "Pick any circle to adjust it - Enter to confirm, ESC to abort"
+msgstr ""
+"Sélectionnez un cercle à modifier - 'Entr' pour confirmer, 'Ech' pour "
+"abandonner"
+
+#: ../bin/cbezier.c:671
+msgid "Bezier Curve Invalid has identical end points Change End Point"
+msgstr ""
+"La courbe de Bezier n'est pas Valide avec des extrémités identiques, changez"
+" de point de fin"
+
+#: ../bin/cbezier.c:674
+#, c-format
+msgid "Bezier Curve Invalid has %s Change End Point"
+msgstr "La courbe de Bézier n'est pas Valide à %s changez le point de fin"
+
+#: ../bin/cbezier.c:677
+msgid "Bezier Curve Invalid has three co-incident points"
+msgstr "Courbe de Bézier non valide sur trois points correspondants"
+
+#: ../bin/cbezier.c:679
+msgid "Bezier is Straight Line"
+msgstr "Bézier est une voie droite"
+
+#: ../bin/cbezier.c:681
+#, c-format
+msgid "Bezier %s : Min Radius=%s Length=%s fx=%0.3f fy=%0.3f cusp=%0.3f"
+msgstr "Bezier %s : Rayon Min=%s Longueur=%s fx=%0.3f fy=%0.3f cusp=%0.3f"
+
+#: ../bin/cbezier.c:685
+#, c-format
+msgid "Bezier %s : Min Radius=%s Length=%s"
+msgstr "Bezier %s : Rayon Min=%s Longueur=%s"
+
+#: ../bin/cbezier.c:710
+msgid "No unconnected End Point to lock to"
+msgstr "Il n'y a pas de point d'extrémité non connecté à verrouiller"
+
+#: ../bin/cbezier.c:728
+msgid "Bezier curve invalid has identical end points Change End Point"
+msgstr ""
+"La courbe de Bezier n'est pas valide avec des extrémités identiques, changez"
+" un point de fin"
+
+#: ../bin/cbezier.c:731
+#, c-format
+msgid "Bezier curve invalid has %s Change End Point"
+msgstr "La courbe de Bézier n'est pas valide à %s changez le point de fin"
+
+#: ../bin/cbezier.c:734
+msgid "Bezier curve invalid has three co-incident points"
+msgstr "Courbe de Bézier non valide sur trois points correspondants"
+
+#: ../bin/cbezier.c:736
+msgid "Bezier curve is straight line"
+msgstr "La courbe de Bézier est une voie droite"
+
+#: ../bin/cbezier.c:750 ../bin/cbezier.c:764
+msgid "Invalid Bezier Track - end points are identical"
+msgstr "Courbe de Bezier invalide - les points de fin sont identiques"
+
+#: ../bin/cbezier.c:757
+#, c-format
+msgid "Invalid Bezier Curve has a %s - Adjust"
+msgstr "Courbe de Bézier non valide a %s - Ajuster"
+
+#: ../bin/cbezier.c:761
+msgid "Invalid Bezier Curve has three coincident points - Adjust"
+msgstr ""
+"Courbe de Bézier non valide avec trois points de coïncidence - Ajuster"
+
+#: ../bin/cbezier.c:769
+msgid "Create Bezier"
+msgstr "Créer une Bézier"
+
+#: ../bin/cbezier.c:852
+#, c-format
+msgid "%s picked - now select a Point"
+msgstr "%s choisi - maintenant sélectionnez un point"
+
+#: ../bin/cbezier.c:882 ../bin/ccornu.c:1946
+msgid "No changes made"
+msgstr "Aucune modification apportée"
+
+#: ../bin/cbezier.c:886
+msgid "Modify Bezier"
+msgstr "Modifier une Bézier"
+
+#: ../bin/cbezier.c:900
+msgid "Modify Bezier Complete"
+msgstr "Modifier une Bézier terminée"
+
+#: ../bin/cbezier.c:904
+msgid "Modify Bezier Cancelled"
+msgstr "Annuler modifier une Bézier"
+
+#: ../bin/cbezier.c:1030 ../bin/cbezier.c:1124
+#, c-format
+msgid "Place 1st endpoint of Bezier - snap to %s"
+msgstr ""
+"Définissez le 1er point de fin de la Bézier + Maj -> accrochez à la fin de "
+"%s"
+
+#: ../bin/cbezier.c:1049 ../bin/ccornu.c:2286 ../bin/ccurve.c:199
+#: ../bin/cstraigh.c:90
+msgid "Track is different gauge"
+msgstr "La voie à un écartement différent"
+
+#: ../bin/cbezier.c:1070
+msgid "Drag end of first control arm"
+msgstr "Faites glisser l'extrémité du premier bras de commande"
+
+#: ../bin/cbezier.c:1077
+msgid "Drag end of second control arm"
+msgstr "Faites glisser l'extrémité du second bras de commande"
+
+#: ../bin/cbezier.c:1128 ../bin/cbezier.c:1165
+#, c-format
+msgid "Select other end of Bezier - snap to %s end"
+msgstr ""
+"Sélectionnez l'autre extrémité de la Bézier, accrochez la à la fin de %s en "
+"maintenant la touche Maj enfoncée"
+
+#: ../bin/cbezier.c:1160
+msgid "Control Arm 1 is too short, try again"
+msgstr "Le bras de commande 1 est trop court, veuillez réessayer"
+
+#: ../bin/cblock.c:107 ../bin/cblock.c:119 ../bin/cblock.c:166
+#: ../bin/ccontrol.c:168 ../bin/ccontrol.c:422 ../bin/compound.c:708
+#: ../bin/csensor.c:160 ../bin/csensor.c:386 ../bin/csignal.c:235
+#: ../bin/csignal.c:495 ../bin/csignal.c:506 ../bin/csignal.c:532
+#: ../bin/cswitchmotor.c:89 ../bin/cswitchmotor.c:108
+#: ../bin/cswitchmotor.c:221 ../bin/dcontmgm.c:79 ../bin/dlayer.c:578
+msgid "Name"
+msgstr "Nom"
+
+#: ../bin/cblock.c:108 ../bin/cblock.c:120 ../bin/cblock.c:167
+#: ../bin/csensor.c:162 ../bin/csensor.c:392 ../bin/csignal.c:495
+#: ../bin/csignal.c:534
+msgid "Script"
+msgstr "Script"
+
+#: ../bin/cblock.c:121
+msgid "Segments"
+msgstr "Segments"
+
+#: ../bin/cblock.c:168 ../bin/cdraw.c:520 ../bin/cdraw.c:1502
+#: ../bin/cdraw.c:1648 ../bin/cdraw.c:2705 ../bin/cdraw.c:2927
+#: ../bin/cdraw.c:2964 ../bin/ctodesgn.c:169 ../bin/ctodesgn.c:170
+#: ../bin/ctodesgn.c:171 ../bin/ctodesgn.c:172 ../bin/ctodesgn.c:184
+#: ../bin/ctodesgn.c:185 ../bin/ctodesgn.c:235 ../bin/ctodesgn.c:238
+#: ../bin/ctodesgn.c:258 ../bin/ctodesgn.c:263 ../bin/ctodesgn.c:295
+#: ../bin/ctodesgn.c:302 ../bin/ctodesgn.c:304 ../bin/ctodesgn.c:324
+#: ../bin/ctodesgn.c:329 ../bin/ctodesgn.c:361 ../bin/ctodesgn.c:368
+#: ../bin/ctodesgn.c:369 ../bin/ctodesgn.c:390 ../bin/ctodesgn.c:393
+#: ../bin/ctodesgn.c:396 ../bin/ctodesgn.c:431 ../bin/ctodesgn.c:435
+#: ../bin/ctodesgn.c:442 ../bin/ctodesgn.c:443 ../bin/ctodesgn.c:444
+#: ../bin/ctodesgn.c:466 ../bin/ctodesgn.c:468 ../bin/ctodesgn.c:486
+#: ../bin/ctodesgn.c:488 ../bin/ctodesgn.c:507 ../bin/ctodesgn.c:509
+#: ../bin/ctodesgn.c:536 ../bin/ctodesgn.c:556 ../bin/ctodesgn.c:576
+#: ../bin/ctodesgn.c:596 ../bin/ctodesgn.c:634 ../bin/ctodesgn.c:653
+#: ../bin/ctodesgn.c:654 ../bin/ctrain.c:186 ../bin/tbezier.c:262
+#: ../bin/tcornu.c:315 ../bin/tcurve.c:385 ../bin/tstraigh.c:90
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:184
+msgid "Length"
+msgstr "Longueur"
+
+#: ../bin/cblock.c:169 ../bin/cdraw.c:511 ../bin/compound.c:683
+#: ../bin/tbezier.c:249 ../bin/tcornu.c:302 ../bin/tcurve.c:377
+#: ../bin/tease.c:509 ../bin/tstraigh.c:86
+msgid "End Pt 1: X,Y"
+msgstr "Bout 1: X,Y"
+
+#: ../bin/cblock.c:170 ../bin/cdraw.c:512 ../bin/compound.c:688
+#: ../bin/tbezier.c:256 ../bin/tcornu.c:307 ../bin/tcurve.c:379
+#: ../bin/tease.c:511 ../bin/tstraigh.c:88
+msgid "End Pt 2: X,Y"
+msgstr "Bout 2: X,Y"
+
+#: ../bin/cblock.c:193 ../bin/cblock.c:205 ../bin/cblock.c:574
+#: ../bin/cblock.c:595 ../bin/cblock.c:603 ../bin/cblock.c:673
+#: ../bin/cblock.c:794 ../bin/cblock.c:806 ../bin/cblock.c:844
+#: ../bin/ccontrol.c:202 ../bin/ccontrol.c:215 ../bin/ccontrol.c:227
+#: ../bin/ccontrol.c:483 ../bin/cdraw.c:125 ../bin/cdraw.c:2764
+#: ../bin/cgroup.c:1071 ../bin/cgroup.c:1138 ../bin/cgroup.c:1166
+#: ../bin/cgroup.c:1216 ../bin/cgroup.c:1238 ../bin/cgroup.c:1326
+#: ../bin/cgroup.c:1715 ../bin/cnote.c:67 ../bin/compound.c:744
+#: ../bin/compound.c:759 ../bin/compound.c:792 ../bin/cprint.c:712
+#: ../bin/cprint.c:719 ../bin/cprint.c:1263 ../bin/cpull.c:508
+#: ../bin/cpull.c:523 ../bin/cpull.c:525 ../bin/cpull.c:527 ../bin/cpull.c:688
+#: ../bin/cselect.c:1143 ../bin/cselect.c:1252 ../bin/cselect.c:2131
+#: ../bin/csensor.c:191 ../bin/csensor.c:203 ../bin/csensor.c:441
+#: ../bin/csignal.c:264 ../bin/csignal.c:663 ../bin/csignal.c:731
+#: ../bin/csnap.c:549 ../bin/csnap.c:675 ../bin/cstruct.c:962
+#: ../bin/cstruct.c:1092 ../bin/cswitchmotor.c:247 ../bin/cswitchmotor.c:259
+#: ../bin/cswitchmotor.c:271 ../bin/cswitchmotor.c:283
+#: ../bin/cswitchmotor.c:541 ../bin/cswitchmotor.c:577
+#: ../bin/cswitchmotor.c:712 ../bin/cswitchmotor.c:743 ../bin/ctext.c:172
+#: ../bin/ctodesgn.c:203 ../bin/ctodesgn.c:1198 ../bin/ctodesgn.c:1969
+#: ../bin/ctodesgn.c:2084 ../bin/ctodesgn.c:2383 ../bin/ctrain.c:206
+#: ../bin/cturnout.c:4845 ../bin/cturnout.c:4984 ../bin/cundo.c:205
+#: ../bin/cundo.c:210 ../bin/dbitmap.c:156 ../bin/dbitmap.c:231
+#: ../bin/dbitmap.c:472 ../bin/dcar.c:3850 ../bin/dcar.c:4015
+#: ../bin/dcar.c:4020 ../bin/dcar.c:4024 ../bin/dcar.c:4029 ../bin/dcar.c:4342
+#: ../bin/dcar.c:4450 ../bin/dcar.c:4830 ../bin/dcmpnd.c:392
+#: ../bin/dcmpnd.c:403 ../bin/dcmpnd.c:536 ../bin/dcustmgm.c:205
+#: ../bin/dcustmgm.c:211 ../bin/dcustmgm.c:220 ../bin/dcustmgm.c:245
+#: ../bin/dease.c:240 ../bin/dlayer.c:257 ../bin/dlayer.c:292
+#: ../bin/dlayer.c:1152 ../bin/dlayer.c:1158 ../bin/dlayer.c:1164
+#: ../bin/doption.c:200 ../bin/doption.c:276 ../bin/doption.c:479
+#: ../bin/doption.c:482 ../bin/doption.c:486 ../bin/doption.c:497
+#: ../bin/doption.c:563 ../bin/dprmfile.c:427 ../bin/draw.c:2726
+#: ../bin/fileio.c:171 ../bin/fileio.c:580 ../bin/fileio.c:705
+#: ../bin/fileio.c:707 ../bin/fileio.c:712 ../bin/fileio.c:775
+#: ../bin/fileio.c:1007 ../bin/layout.c:404 ../bin/layout.c:612
+#: ../bin/macro.c:1131 ../bin/macro.c:1135 ../bin/macro.c:1203
+#: ../bin/macro.c:1272 ../bin/macro.c:1513 ../bin/macro.c:1533
+#: ../bin/misc.c:491 ../bin/misc.c:573 ../bin/misc.c:1918 ../bin/misc.c:2050
+#: ../bin/misc.c:2061 ../bin/misc.c:2072 ../bin/misc.c:2168 ../bin/misc.c:3046
+#: ../bin/misc.c:3055 ../bin/misc.c:3075 ../bin/misc.c:3081 ../bin/misc.c:3293
+#: ../bin/misc2.c:523 ../bin/param.c:737 ../bin/param.c:1947
+#: ../bin/param.c:2070 ../bin/param.c:2073 ../bin/param.c:2196
+#: ../bin/param.c:2202 ../bin/paramfile.c:330 ../bin/paramfile.c:332
+#: ../bin/paramfile.c:337 ../bin/paramfile.c:361 ../bin/paramfile.c:387
+#: ../bin/paramfile.c:393 ../bin/paramfilelist.c:103
+#: ../bin/paramfilelist.c:123 ../bin/paramfilelist.c:137
+#: ../bin/paramfilelist.c:201 ../bin/tease.c:1108 ../bin/track.c:1706
+#: ../wlib/gtklib/wpref.c:131
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:636
+msgid "Ok"
+msgstr "Ok"
+
+#: ../bin/cblock.c:210
+msgid "Change block"
+msgstr "Changer de bloc"
+
+#: ../bin/cblock.c:262 ../bin/cswitchmotor.c:339
+#, c-format
+msgid "(%d): Layer=%u %s"
+msgstr "(%d): Calque=%u %s"
+
+#: ../bin/cblock.c:286 ../bin/cblock.c:996
+msgid "Block"
+msgstr "Bloc"
+
+#: ../bin/cblock.c:490
+#, c-format
+msgid "resolveBlockTrack: T%d[%d]: T%d doesn't exist"
+msgstr "revoir le bloc de voies : T%d[%d] : T%d n'existe pas"
+
+#: ../bin/cblock.c:574 ../bin/cblock.c:806
+msgid "Block must have a name!"
+msgstr "La section de voie doit avoir un nom !"
+
+#: ../bin/cblock.c:603
+msgid "Block is discontigious!"
+msgstr "La section de voie est discontinue !"
+
+#: ../bin/cblock.c:608
+msgid "Create block"
+msgstr "Créer un bloc"
+
+#: ../bin/cblock.c:655
+msgid "Non track object skipped!"
+msgstr "Pas de voies manquante!"
+
+#: ../bin/cblock.c:659
+msgid "Selected track is already in a block, skipped!"
+msgstr "Ignorée, la voie sélectionnée est déjà dans un bloc !"
+
+#: ../bin/cblock.c:673
+msgid "Create Block"
+msgstr "Créer un Bloc"
+
+#: ../bin/cblock.c:703 ../bin/cblock.c:735
+msgid "Select a track"
+msgstr "Sélectionner une voie"
+
+#: ../bin/cblock.c:712 ../bin/cblock.c:743
+msgid "Not a block!"
+msgstr "Pas un bloc!"
+
+#: ../bin/cblock.c:748
+#, c-format
+msgid "Really delete block %s?"
+msgstr "Voulez-vous vraiment supprimer le bloc %s ?"
+
+#: ../bin/cblock.c:748 ../bin/ccornu.c:2753 ../bin/ccornu.c:2966
+#: ../bin/cdraw.c:129 ../bin/cgroup.c:1077 ../bin/cpull.c:646
+#: ../bin/csignal.c:709 ../bin/cswitchmotor.c:668 ../bin/ctodesgn.c:2659
+#: ../bin/ctodesgn.c:3213 ../bin/ctrain.c:2512 ../bin/dcar.c:3965
+#: ../bin/dcar.c:4054 ../bin/dcar.c:4137 ../bin/dcar.c:4156 ../bin/dcar.c:4475
+#: ../bin/dcar.c:4895 ../bin/dcontmgm.c:161 ../bin/dcustmgm.c:153
+#: ../bin/misc.c:1328 ../bin/misc.c:1335 ../bin/misc.c:1407
+#: ../bin/track.c:1708 ../bin/track.c:1805 ../bin/track.c:1822
+msgid "Yes"
+msgstr "Oui"
+
+#: ../bin/cblock.c:748 ../bin/ccornu.c:2753 ../bin/ccornu.c:2966
+#: ../bin/cdraw.c:129 ../bin/cgroup.c:1077 ../bin/cpull.c:646
+#: ../bin/csignal.c:709 ../bin/cswitchmotor.c:668 ../bin/ctodesgn.c:2659
+#: ../bin/ctodesgn.c:3213 ../bin/ctrain.c:2512 ../bin/dcar.c:3965
+#: ../bin/dcar.c:4054 ../bin/dcar.c:4137 ../bin/dcar.c:4156 ../bin/dcar.c:4475
+#: ../bin/dcar.c:4895 ../bin/dcontmgm.c:161 ../bin/dcustmgm.c:153
+#: ../bin/misc.c:1328 ../bin/misc.c:1335 ../bin/misc.c:1407
+#: ../bin/track.c:1708 ../bin/track.c:1805 ../bin/track.c:1822
+msgid "No"
+msgstr "Non"
+
+#: ../bin/cblock.c:749
+msgid "Delete Block"
+msgstr "Supprimer la section de voie"
+
+#: ../bin/cblock.c:794
+#, c-format
+msgid "Deleting block %s"
+msgstr "Supprimer la section de voie %s"
+
+#: ../bin/cblock.c:810
+msgid "Modify Block"
+msgstr "Modifier le bloc"
+
+#: ../bin/cblock.c:843
+msgid "Edit block"
+msgstr "Editer le bloc"
+
+#: ../bin/cblock.c:849
+#, c-format
+msgid "Edit block %d"
+msgstr "Editer le bloc %d"
+
+#: ../bin/ccontrol.c:169 ../bin/csensor.c:161 ../bin/csignal.c:236
+#: ../bin/ctrain.c:184
+msgid "Position"
+msgstr "Position"
+
+#: ../bin/ccontrol.c:170 ../bin/ccontrol.c:428
+msgid "On Script"
+msgstr "Script On"
+
+#: ../bin/ccontrol.c:171 ../bin/ccontrol.c:430
+msgid "Off Script"
+msgstr "Script Off"
+
+#: ../bin/ccontrol.c:237
+msgid "Change Control"
+msgstr "Changer le contrôle"
+
+#: ../bin/ccontrol.c:279 ../bin/csensor.c:249
+#, c-format
+msgid "(%d [%s]): Layer=%u, at %0.3f,%0.3f"
+msgstr "(%d [%s]): Calque=%u, à %0.3f,%0.3f"
+
+#: ../bin/ccontrol.c:292 ../bin/ccontrol.c:634
+msgid "Control"
+msgstr "Contrôle"
+
+#: ../bin/ccontrol.c:424 ../bin/csensor.c:388 ../bin/csignal.c:508
+msgid "Origin X"
+msgstr "Origine X"
+
+#: ../bin/ccontrol.c:426 ../bin/csensor.c:390 ../bin/csignal.c:510
+msgid "Origin Y"
+msgstr "Origine Y"
+
+#: ../bin/ccontrol.c:442
+msgid "Create Control"
+msgstr "Créer un contrôle"
+
+#: ../bin/ccontrol.c:445
+msgid "Modify Control"
+msgstr "Modifier le contrôle"
+
+#: ../bin/ccontrol.c:482
+msgid "Edit control"
+msgstr "Editer un contrôle"
+
+#: ../bin/ccontrol.c:523
+msgid "Place control"
+msgstr "Placer un contrôle"
+
+#: ../bin/ccornu.c:195 ../bin/ccornu.c:198 ../bin/ccornu.c:201
+#: ../bin/ccornu.c:255
+#, c-format
+msgid "%s FlexTrack"
+msgstr "Voie FLEX %s"
+
+#: ../bin/ccornu.c:249
+msgid " FLEX "
+msgstr " FLEX "
+
+#: ../bin/ccornu.c:897 ../bin/cjoin.c:962 ../bin/cmisc.c:57
+msgid "First"
+msgstr "Premier"
+
+#: ../bin/ccornu.c:904 ../bin/cjoin.c:970
+msgid "Second"
+msgstr "Second"
+
+#: ../bin/ccornu.c:975 ../bin/ccornu.c:1998 ../bin/ccornu.c:2028
+#: ../bin/tcornu.c:836 ../bin/tcornu.c:1321
+#, c-format
+msgid ""
+"Cornu Create Failed for p1[%0.3f,%0.3f] p2[%0.3f,%0.3f], c1[%0.3f,%0.3f] "
+"c2[%0.3f,%0.3f], a1=%0.3f a2=%0.3f, r1=%s r2=%s"
+msgstr ""
+"La création de Cornu a échoué pour p1[%0.3f,%0.3f] p2[%0.3f,%0.3f], "
+"c1[%0.3f,%0.3f] c2[%0.3f,%0.3f], a1=%0.3f a2=%0.3f, r1=%s r2=%s"
+
+#: ../bin/ccornu.c:1011 ../bin/ccornu.c:1633 ../bin/ccornu.c:1652
+#: ../bin/tbezier.c:250 ../bin/tbezier.c:257 ../bin/tcornu.c:303
+#: ../bin/tcornu.c:308 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:176
+msgid "End Angle"
+msgstr "Fin d'angle"
+
+#: ../bin/ccornu.c:1014 ../bin/ccornu.c:1632 ../bin/ccornu.c:1651
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:177
+msgid "End Radius"
+msgstr "Rayon final"
+
+#: ../bin/ccornu.c:1067
+msgid "Select Point, or Add Point"
+msgstr "Sélectionner un point, ou ajouter un point"
+
+#: ../bin/ccornu.c:1242
+msgid "Not close enough to track or point, reselect"
+msgstr ""
+"Pas assez proche d'un point valide et sélectionnable, veuillez en choisir un"
+" autre"
+
+#: ../bin/ccornu.c:1248
+msgid "Drag out end of Cornu"
+msgstr "Faire glisser l'extrémité de la Cornu"
+
+#: ../bin/ccornu.c:1250
+msgid "Drag along end of track"
+msgstr "Faites glisser vers le bout de la voie"
+
+#: ../bin/ccornu.c:1252
+msgid "Drag to move"
+msgstr "Faites glisser pour déplacer"
+
+#: ../bin/ccornu.c:1255
+msgid "Drag point to new location, Delete to remove"
+msgstr "Déplacer le point vers sa nouvelle position, supprimer avec Suppr"
+
+#: ../bin/ccornu.c:1259
+msgid "Drag to change end radius"
+msgstr "Faites glisser pour modifier le rayon de fin"
+
+#: ../bin/ccornu.c:1262
+msgid "Drag to change end angle"
+msgstr "Faites glisser pour changer l'angle de fin"
+
+#: ../bin/ccornu.c:1277
+msgid "Pick any circle to adjust or add - Enter to accept, Esc to cancel"
+msgstr ""
+"Sélectionnez un cercle à modifier pour ajuster ou ajouter - 'Entr' pour "
+"confirmer, 'Ech' pour abandonner"
+
+#: ../bin/ccornu.c:1289
+msgid "Track can't be split"
+msgstr "La voie ne peut pas être divisée"
+
+#: ../bin/ccornu.c:1351
+msgid "Too close to other end of selected Track"
+msgstr "Trop proche de l'autre extrémité de la voie sélectionnée"
+
+#: ../bin/ccornu.c:1359
+msgid "Can't move end inside a turnout"
+msgstr "Impossible de se déplacer à l'intérieur d'un aiguillage"
+
+#: ../bin/ccornu.c:1500
+msgid "Can't extend connected Bezier or Cornu"
+msgstr "Impossible d'étendre la connection Bézier ou Cornu"
+
+#: ../bin/ccornu.c:1572
+#, c-format
+msgid ""
+"Cornu : Min Radius=%s MaxRateofCurveChange/Scale=%s Length=%s Winding Arc=%s"
+msgstr ""
+"Cornu : Rayon Min =%s Taux de changement de rayon maximal =%s Longueur =%s "
+"Arc =%s"
+
+#: ../bin/ccornu.c:1594 ../bin/ccornu.c:2267
+msgid "Helix Already Connected"
+msgstr "Hélicoïde déjà connectée"
+
+#: ../bin/ccornu.c:1608
+msgid "No Valid end point on that track"
+msgstr "Aucun point de fin valable sur cette voie"
+
+#: ../bin/ccornu.c:1613
+msgid "Track is different scale"
+msgstr "La voie a une échelle différente"
+
+#: ../bin/ccornu.c:1666
+msgid ""
+"Pick on point to adjust it along track - Delete to remove, Enter to confirm,"
+" ESC to abort"
+msgstr ""
+"Sélectionnez un point et déplacez-le le long de la voie - 'Suppr' pour "
+"supprimer, 'Entr' pour confirmer, 'Ech' pour abandonner"
+
+#: ../bin/ccornu.c:1696
+msgid "Cornu has too complex shape - adjust end pts"
+msgstr "Cornu d'une forme trop complexe - ajustez les points finaux"
+
+#: ../bin/ccornu.c:1707
+#, c-format
+msgid "Cornu point %d too close to other end of connect track - reposition it"
+msgstr ""
+"Fin de Cornu %d trop proche de l’autre extrémité de la connexion de voie - "
+"repositionnez-la"
+
+#: ../bin/ccornu.c:1712
+msgid "Create Cornu"
+msgstr "Créer une Cornu"
+
+#: ../bin/ccornu.c:1901
+msgid "Now Select or Add (+Shift) a Point"
+msgstr "Maintenant, sélectionnez ou ajoutez (+Maj) un point"
+
+#: ../bin/ccornu.c:1960
+#, c-format
+msgid "Cornu end %d too close to other end of connect track - reposition it"
+msgstr ""
+"Fin de Cornu %d trop proche de l’autre extrémité de la connexion de voie - "
+"repositionnez-la"
+
+#: ../bin/ccornu.c:1965 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:175
+msgid "Modify Cornu"
+msgstr "Modifier une Cornu"
+
+#: ../bin/ccornu.c:1980
+#, c-format
+msgid "Cornu Extension Create Failed for end %d"
+msgstr "Extension de création de Cornu a échoué pour la fin %d"
+
+#: ../bin/ccornu.c:2072
+#, c-format
+msgid "Connected Track End Adjust for end %d failed"
+msgstr "Le bout %d de la voie est connecté et ne peut pas être ajusté"
+
+#: ../bin/ccornu.c:2083
+msgid "Modify Cornu Cancelled"
+msgstr "Annuler modifier une Cornu"
+
+#: ../bin/ccornu.c:2243
+msgid "Left click - Start Cornu track"
+msgstr "Commencez par une cornu en appuyant sur le bouton gauche de la souris"
+
+#: ../bin/ccornu.c:2245
+msgid "Left click - Place Flextrack"
+msgstr "Clic gauche - Positionner la voie flexible"
+
+#: ../bin/ccornu.c:2248
+msgid "Left click - join with Cornu track"
+msgstr "Clic gauche - raccorder avec une voie Cornu"
+
+#: ../bin/ccornu.c:2250
+msgid "Left click - join with Cornu track, Shift Left click - move to join"
+msgstr ""
+"Clic gauche - raccorder avec une voie Cornu, Maj+Clic gauche - déplacer pour"
+" raccorder"
+
+#: ../bin/ccornu.c:2281
+msgid "No valid open endpoint on that track"
+msgstr "Aucun point de fin non connecté sur cette voie"
+
+#: ../bin/ccornu.c:2309 ../bin/ccornu.c:2321
+msgid "Drag arm in the direction of track"
+msgstr "Tirez le bras de commande dans la direction de la voie"
+
+#: ../bin/ccornu.c:2325
+msgid "No Unconnected Track End there"
+msgstr "Aucune voie non connectée ne s'arrête là"
+
+#: ../bin/ccornu.c:2336 ../bin/ccornu.c:2360
+msgid "No Valid Track End there"
+msgstr "Aucune voie valide ne s'arrête là"
+
+#: ../bin/ccornu.c:2348
+msgid "Locked - Move 1st end point of Cornu track along track 1"
+msgstr ""
+"Verrouillé - Déplacer le 1er point de fin de la voie Cornu le long de la "
+"voie 1"
+
+#: ../bin/ccornu.c:2372
+msgid "Locked - Move 2nd end point of Cornu track along track 2"
+msgstr ""
+"Verrouillé - Déplacer le 2nd point de fin de la voie Cornu le long de la "
+"voie 2"
+
+#: ../bin/ccornu.c:2450
+msgid "Track can't be split - so locked to endpoint"
+msgstr ""
+"La voie ne peut pas être divisée - donc verrouillée sur son point de fin"
+
+#: ../bin/ccornu.c:2455
+msgid "Point not on track 1"
+msgstr "Les aiguilles ne sont pas sur la bonne voie 1"
+
+#: ../bin/ccornu.c:2493
+msgid "Pick other end of Cornu"
+msgstr "Choisissez l'autre extrémité de la Cornu"
+
+#: ../bin/ccornu.c:2495
+msgid ""
+"Select flextrack ends or anchors and drag, Enter to approve, Esc to Cancel"
+msgstr ""
+"Sélectionnez les extrémités ou les ancres de la flextrack et faites glisser,"
+" Entr. pour approuver, Ech. pour annuler"
+
+#: ../bin/ccornu.c:2499
+msgid "Put other end of Cornu on a track with an unconnected end point"
+msgstr ""
+"Mettre l'autre extrémité de la Cornu sur une voie avec un point de fin non "
+"connecté"
+
+#: ../bin/ccornu.c:2741 ../bin/ccornu.c:2955
+msgid "Not on a Track"
+msgstr "Pas sur la voie"
+
+#: ../bin/ccornu.c:2749
+msgid "Select a Track To Convert"
+msgstr "Sélectionner une voie à convertir"
+
+#: ../bin/ccornu.c:2753
+msgid "Convert all Selected Tracks to Cornu Tracks?"
+msgstr "Convertir toutes les voies sélectionnées en une voie Cornu ?"
+
+#: ../bin/ccornu.c:2758
+msgid "Convert Cornu"
+msgstr "Convertir une Cornu"
+
+#: ../bin/ccornu.c:2910
+#, c-format
+msgid "Tracks Counts: %d converted %d unconvertible %d created %d deleted"
+msgstr ""
+"Nombre de voies : %d converties %d non converties %d créées %d supprimées"
+
+#: ../bin/ccornu.c:2910 ../bin/ccornu.c:3027
+msgid "OK"
+msgstr "OK"
+
+#: ../bin/ccornu.c:2962
+msgid "Select a Cornu or Bezier Track To Convert to Fixed"
+msgstr "Sélectionnez une voie Cornu ou Bézier à convertir en fixe"
+
+#: ../bin/ccornu.c:2966
+msgid "Convert all Selected Tracks to Fixed Tracks?"
+msgstr "Convertir toutes les voies sélectionnées en voies fixes ?"
+
+#: ../bin/ccornu.c:2976
+msgid "Convert Bezier and Cornu"
+msgstr "Convertir des Bezier et Cornu"
+
+#: ../bin/ccornu.c:3027
+#, c-format
+msgid "Tracks Counts: %d converted %d unconvertible %d deleted"
+msgstr "Nombre de voies : %d converties %d non converties %d supprimées"
+
+#: ../bin/ccornu.c:3055
+msgid "Convert"
+msgstr "Convertir"
+
+#: ../bin/ccornu.c:3056
+msgid "Convert To Cornu"
+msgstr "Convertir en Cornu"
+
+#: ../bin/ccornu.c:3057
+msgid "Convert From Cornu"
+msgstr "Convertir depuis une Cornu"
+
+#: ../bin/ccurve.c:163
+msgid "Drag from endpoint in direction of curve - lock to track open endpoint"
+msgstr ""
+"Faites glisser du point d'extrémité dans la direction de la courbe - "
+"connexion au point d'extrémité non connecté"
+
+#: ../bin/ccurve.c:165
+msgid "Drag from endpoint in direction of curve"
+msgstr "Faites glisser depuis l'extrémité dans le sens de la courbe"
+
+#: ../bin/ccurve.c:169
+msgid "Drag from endpoint to center - lock to track open endpoint"
+msgstr ""
+"Glisser de l'extrémité de la voie vers le centre - utilisez Maj pour "
+"connecter à l'extrémité non connectée"
+
+#: ../bin/ccurve.c:171
+msgid "Drag from endpoint to center"
+msgstr "Faire glisser de l'extrémité de voie vers le centre"
+
+#: ../bin/ccurve.c:174
+msgid "Drag from center to endpoint"
+msgstr "Faites glisser du centre vers l'extrémité"
+
+#: ../bin/ccurve.c:177
+msgid "Drag from one to other end of chord"
+msgstr "Faites glisser d'un bout à l'autre de la corde"
+
+#: ../bin/ccurve.c:236
+msgid "End locked: Drag out curve start"
+msgstr ""
+"Point de fin fixé : faites glisser pour dessiner le départ de la courbe"
+
+#: ../bin/ccurve.c:237 ../bin/ccurve.c:247 ../bin/ccurve.c:265
+msgid "End Position locked: Drag out curve start with Shift"
+msgstr ""
+"Point de fin verrouillé : Faire glisser le début de la courbe avec \"Maj\""
+
+#: ../bin/ccurve.c:238
+msgid "Drag along curve start"
+msgstr "Faire glisser le long du début de courbe"
+
+#: ../bin/ccurve.c:246
+msgid "End locked: Drag out curve center"
+msgstr ""
+"Point de fin fixé : faites glisser pour dessiner le centre de la courbe"
+
+#: ../bin/ccurve.c:248
+msgid "Drag out curve center"
+msgstr "Faire glisser vers le centre de la courbe"
+
+#: ../bin/ccurve.c:255
+msgid "Drag out from center to endpoint"
+msgstr "Glisser du centre au point de fin"
+
+#: ../bin/ccurve.c:264
+msgid "End locked: Drag to other end of chord"
+msgstr ""
+"Point de fin fixé : faites glisser pour dessiner l'autre extrémité de la "
+"corde"
+
+#: ../bin/ccurve.c:267
+msgid "Drag to other end of chord"
+msgstr "Glisser vers l'autre bout de la corde"
+
+#: ../bin/ccurve.c:322
+#, c-format
+msgid "Start Locked: Drag out curve start - Angle=%0.3f"
+msgstr ""
+"Départ verrouillé : faites glisser le début de la courbe - Angle=%0.3f"
+
+#: ../bin/ccurve.c:323
+#, c-format
+msgid "Drag out curve start - Angle=%0.3f"
+msgstr "Faites glisser le point de départ de la courbe - Angle =%0.3f"
+
+#: ../bin/ccurve.c:329
+#, c-format
+msgid "Tangent locked: Drag out center - Radius=%s Angle=%0.3f"
+msgstr ""
+"Tangente verrouillée : faites glisser le centre vers l'extérieur - Rayon=%s "
+"Angle=%0.3f"
+
+#: ../bin/ccurve.c:330
+#, c-format
+msgid "Drag out center - Radius=%s Angle=%0.3f"
+msgstr "Faire glisser le centre - Rayon =%s Angle =%0.3f"
+
+#: ../bin/ccurve.c:336
+#, c-format
+msgid "Drag to Edge: Radius=%s Angle=%0.3f"
+msgstr "Faire glisser vers le bord - Rayon =%s Angle =%0.3f"
+
+#: ../bin/ccurve.c:342
+#, c-format
+msgid "Start locked: Drag out chord length=%s angle=%0.3f"
+msgstr "Départ verrouillé : faites glisser la corde, longueur=%s Angle=%0.3f"
+
+#: ../bin/ccurve.c:343
+#, c-format
+msgid "Drag out chord length=%s angle=%0.3f"
+msgstr "Faites glisser sur la corde, longueur =%s Angle =%0.3f"
+
+#: ../bin/ccurve.c:414 ../bin/ccurve.c:582 ../bin/cjoin.c:669
+#: ../bin/cjoin.c:924
+msgid "Desired Radius"
+msgstr "Rayon souhaité"
+
+#: ../bin/ccurve.c:512 ../bin/cjoin.c:208 ../bin/cmodify.c:600
+#: ../bin/cturntbl.c:625
+#, c-format
+msgid "Straight Track: Length=%s Angle=%0.3f"
+msgstr "Voie droite : Longueur = %s Angle =%0.3f"
+
+#: ../bin/ccurve.c:519 ../bin/cmodify.c:605 ../bin/drawgeom.c:663
+#: ../wlib/gtklib/ixhelp.c:235
+msgid "Back"
+msgstr "Arrière"
+
+#: ../bin/ccurve.c:539
+#, c-format
+msgid "Curved Track: Radius=%s Angle=%0.3f Length=%s"
+msgstr "Voie courbe : Rayon = %s Angle = %0.3f Longueur = %s"
+
+#: ../bin/ccurve.c:608 ../bin/cstraigh.c:171
+msgid "Create Straight Track"
+msgstr "Créer une voie Droite"
+
+#: ../bin/ccurve.c:621
+msgid "Create Curved Track"
+msgstr "Créer une voie courbe"
+
+#: ../bin/ccurve.c:691
+msgid "Elevation Difference"
+msgstr "Différence d'élévation"
+
+#: ../bin/ccurve.c:692 ../bin/cdraw.c:519 ../bin/cdraw.c:1514
+#: ../bin/cdraw.c:1660 ../bin/cdraw.c:2712 ../bin/cdraw.c:2907
+#: ../bin/cdraw.c:2921 ../bin/compound.c:686 ../bin/compound.c:691
+#: ../bin/compound.c:696 ../bin/compound.c:701 ../bin/ctodesgn.c:179
+#: ../bin/ctodesgn.c:180 ../bin/ctodesgn.c:181 ../bin/ctodesgn.c:182
+#: ../bin/ctodesgn.c:298 ../bin/ctodesgn.c:301 ../bin/ctodesgn.c:303
+#: ../bin/ctodesgn.c:364 ../bin/ctodesgn.c:365 ../bin/ctodesgn.c:370
+#: ../bin/ctodesgn.c:434 ../bin/ctodesgn.c:438 ../bin/ctodesgn.c:439
+#: ../bin/ctodesgn.c:445 ../bin/ctodesgn.c:614 ../bin/tbezier.c:251
+#: ../bin/tbezier.c:258 ../bin/tcornu.c:309 ../bin/tcurve.c:382
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:185
+msgid "Radius"
+msgstr "Rayon"
+
+#: ../bin/ccurve.c:693 ../bin/tcurve.c:383
+msgid "Turns"
+msgstr "Tours"
+
+#: ../bin/ccurve.c:694
+msgid "Angular Separation"
+msgstr "Séparation angulaire"
+
+#: ../bin/ccurve.c:695 ../bin/celev.c:43 ../bin/compound.c:703
+#: ../bin/tbezier.c:263 ../bin/tcornu.c:316 ../bin/tcurve.c:389
+#: ../bin/tease.c:519 ../bin/tstraigh.c:92
+msgid "Grade"
+msgstr "Pente"
+
+#: ../bin/ccurve.c:696
+msgid "Vertical Separation"
+msgstr "Séparation verticale"
+
+#: ../bin/ccurve.c:698
+msgid "Total Length"
+msgstr "Longueur totale"
+
+#: ../bin/ccurve.c:774
+#, c-format
+msgid "Total Length %s"
+msgstr "Longueur totale %s"
+
+#: ../bin/ccurve.c:812 ../bin/ccurve.c:1016 ../bin/tcurve.c:828
+msgid "Helix"
+msgstr "Hélicoïde"
+
+#: ../bin/ccurve.c:826
+msgid "Circle Radius"
+msgstr "Rayon du cercle"
+
+#: ../bin/ccurve.c:831
+msgid "Click on Circle Edge"
+msgstr "Cliquez sur le bord du cercle"
+
+#: ../bin/ccurve.c:835
+msgid "Click on Circle Center"
+msgstr "Cliquez sur le centre du cercle"
+
+#: ../bin/ccurve.c:867
+msgid "Drag to Center"
+msgstr "Glisser vers le centre"
+
+#: ../bin/ccurve.c:871
+msgid "Drag to Edge"
+msgstr "Glisser vers le bord"
+
+#: ../bin/ccurve.c:891 ../bin/ccurve.c:895
+#, c-format
+msgid "Radius=%s"
+msgstr "Rayon=%s"
+
+#: ../bin/ccurve.c:916
+msgid "Create Helix Track"
+msgstr "Créer une voie hélicoïdale"
+
+#: ../bin/ccurve.c:931
+msgid "Create Circle Track"
+msgstr "Créer une voie circulaire"
+
+#: ../bin/ccurve.c:986
+msgid "Curve Track"
+msgstr "Voie courbe"
+
+#: ../bin/ccurve.c:986
+msgid "Curve Tracks"
+msgstr "Voies courbes"
+
+#: ../bin/ccurve.c:987
+msgid "Curve from End-Pt"
+msgstr "Point de fin de la courbe"
+
+#: ../bin/ccurve.c:988
+msgid "Curve from Tangent"
+msgstr "Tangente de la courbe"
+
+#: ../bin/ccurve.c:989
+msgid "Curve from Center"
+msgstr "Centre de la courbe"
+
+#: ../bin/ccurve.c:990
+msgid "Curve from Chord"
+msgstr "Corde de la courbe"
+
+#: ../bin/ccurve.c:991 ../bin/cdraw.c:3053
+msgid "Bezier Curve"
+msgstr "Courbe de Bezier"
+
+#: ../bin/ccurve.c:992
+msgid "Cornu Curve"
+msgstr "Spirale de Cornu"
+
+#: ../bin/ccurve.c:995 ../bin/tcurve.c:655
+msgid "Circle Track"
+msgstr "Voie circulaire"
+
+#: ../bin/ccurve.c:995
+msgid "Circle Tracks"
+msgstr "Voies circulaires"
+
+#: ../bin/ccurve.c:996
+msgid "Fixed Radius Circle"
+msgstr "Cercle de rayon fixe"
+
+#: ../bin/ccurve.c:997
+msgid "Circle from Tangent"
+msgstr "Cercle à partir de la Tangente"
+
+#: ../bin/ccurve.c:998
+msgid "Circle from Center"
+msgstr "Cercle autour du centre"
+
+#: ../bin/cdraw.c:125
+msgid "Font Size must be > 0"
+msgstr "La taille de la police doit être >0"
+
+#: ../bin/cdraw.c:513
+msgid "First Point: X,Y"
+msgstr "D'abord, Point: X,Y"
+
+#: ../bin/cdraw.c:514 ../bin/tcurve.c:381
+msgid "Center: X,Y"
+msgstr "Centre : X,Y"
+
+#: ../bin/cdraw.c:515 ../bin/tcurve.c:386
+msgid "Angular Length"
+msgstr "Longueur angulaire"
+
+#: ../bin/cdraw.c:516
+msgid "Line Angle"
+msgstr "Angle de la ligne"
+
+#: ../bin/cdraw.c:517 ../bin/tcurve.c:387
+msgid "CCW Angle"
+msgstr "Angle CCW"
+
+#: ../bin/cdraw.c:518 ../bin/tcurve.c:388
+msgid "CW Angle"
+msgstr "Angle CW"
+
+#: ../bin/cdraw.c:521 ../bin/cdraw.c:1511 ../bin/cdraw.c:1633
+#: ../bin/cprint.c:129 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:183
+msgid "Height"
+msgstr "Hauteur"
+
+#: ../bin/cdraw.c:522 ../bin/cdraw.c:1509 ../bin/cdraw.c:1632
+#: ../bin/cdraw.c:2707 ../bin/cdraw.c:2965 ../bin/ctrain.c:187
+#: ../bin/dcar.c:2225 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:190
+msgid "Width"
+msgstr "Largeur"
+
+#: ../bin/cdraw.c:523 ../bin/compound.c:706 ../bin/tstraigh.c:93
+msgid "Pivot"
+msgstr "Pivot"
+
+#: ../bin/cdraw.c:524
+msgid "Point Count"
+msgstr "Nombre de points"
+
+#: ../bin/cdraw.c:525 ../bin/cdraw.c:2685 ../bin/ctodesgn.c:201
+#: ../bin/tbezier.c:265
+msgid "Line Width"
+msgstr "Épaisseur de trait"
+
+#: ../bin/cdraw.c:526 ../bin/cdraw.c:2714 ../bin/tbezier.c:264
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:376
+msgid "Line Type"
+msgstr "Type de ligne"
+
+#: ../bin/cdraw.c:527 ../bin/cdraw.c:2687 ../bin/cdraw.c:2689
+#: ../bin/cdraw.c:2788 ../bin/cdraw.c:2821 ../bin/cmisc.c:123
+#: ../bin/ctext.c:66 ../bin/ctext.c:146 ../bin/ctodesgn.c:202
+#: ../bin/dcar.c:2221 ../bin/dlayer.c:580 ../bin/doption.c:563
+msgid "Color"
+msgstr "Couleur"
+
+#: ../bin/cdraw.c:528
+msgid "Filled"
+msgstr "Plein"
+
+#: ../bin/cdraw.c:529
+msgid "Open End"
+msgstr "Côté ouvert"
+
+#: ../bin/cdraw.c:530 ../bin/cmisc.c:146 ../bin/cmisc.c:147 ../bin/cmisc.c:148
+#: ../bin/cmisc.c:149 ../bin/ctext.c:68 ../bin/ctext.c:147
+msgid "Boxed"
+msgstr "En boîte"
+
+#: ../bin/cdraw.c:531 ../bin/cdraw.c:1120 ../bin/cdraw.c:2721
+msgid "Lumber"
+msgstr "Structure"
+
+#: ../bin/cdraw.c:532
+msgid "Orientation"
+msgstr "Orientation"
+
+#: ../bin/cdraw.c:533 ../bin/cdraw.c:2703
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:638
+msgid "Size"
+msgstr "Dimension"
+
+#: ../bin/cdraw.c:534
+msgid "Text Origin: X,Y"
+msgstr "Origine du texte: X,Y"
+
+#: ../bin/cdraw.c:535
+msgid "Text Angle"
+msgstr "Angle du texte"
+
+#: ../bin/cdraw.c:536 ../bin/ctext.c:64 ../bin/ctext.c:145
+msgid "Font Size"
+msgstr "Taille police"
+
+#: ../bin/cdraw.c:537 ../bin/cdraw.c:1267 ../bin/ctext.c:268
+msgid "Text"
+msgstr "Texte"
+
+#: ../bin/cdraw.c:538
+msgid "Lock To Origin"
+msgstr "Verrouiller à l'origine"
+
+#: ../bin/cdraw.c:539
+msgid "Rot Origin: X,Y"
+msgstr "Centre de rotation : X,Y"
+
+#: ../bin/cdraw.c:540
+msgid "Rotate By"
+msgstr "Faire pivoter par"
+
+#: ../bin/cdraw.c:541 ../bin/compound.c:712 ../bin/cturntbl.c:250
+#: ../bin/doption.c:99 ../bin/doption.c:100 ../bin/tbezier.c:267
+#: ../bin/tcornu.c:317 ../bin/tcurve.c:391 ../bin/tease.c:521
+#: ../bin/tstraigh.c:94 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:716
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:717
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:718
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:719
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:720
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:721
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:722
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:723
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:724
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:725
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:726
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:727
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:728
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:729
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:730
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:731
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:732
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:733
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:734
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:735
+msgid "Layer"
+msgstr "Calque"
+
+#: ../bin/cdraw.c:1105
+msgid "Straight Line"
+msgstr "Ligne droite"
+
+#: ../bin/cdraw.c:1110 ../bin/cdraw.c:3045
+msgid "Dimension Line"
+msgstr "Ligne de cote"
+
+#: ../bin/cdraw.c:1131 ../bin/cdraw.c:2722 ../bin/cdraw.c:3047
+msgid "Table Edge"
+msgstr "Bord de table"
+
+#: ../bin/cdraw.c:1155 ../bin/cdraw.c:2727 ../bin/cdraw.c:2728
+#: ../bin/cdraw.c:2729
+msgid "Circle"
+msgstr "Cercle"
+
+#: ../bin/cdraw.c:1170
+msgid "Curved Line"
+msgstr "Ligne courbe"
+
+#: ../bin/cdraw.c:1192 ../bin/cdraw.c:2732 ../bin/cdraw.c:2733
+#: ../bin/cdraw.c:2734
+msgid "Filled Circle"
+msgstr "Cercle plein"
+
+#: ../bin/cdraw.c:1222
+msgid "Filled Rectangle"
+msgstr "Rectangle plein"
+
+#: ../bin/cdraw.c:1222
+msgid "Rectangle"
+msgstr "Rectangle"
+
+#: ../bin/cdraw.c:1236 ../bin/cdraw.c:2738
+msgid "Polyline"
+msgstr "Polyligne"
+
+#: ../bin/cdraw.c:1243 ../bin/cdraw.c:2736 ../bin/cdraw.c:3065
+msgid "Filled Polygon"
+msgstr "Polygone plein"
+
+#: ../bin/cdraw.c:1243 ../bin/cdraw.c:2731 ../bin/cdraw.c:3064
+msgid "Polygon"
+msgstr "Polygone"
+
+#: ../bin/cdraw.c:1273
+#, c-format
+msgid "%s(%d) Layer=%d"
+msgstr "%s(%d) Calque=%d"
+
+#: ../bin/cdraw.c:1293 ../bin/cdraw.c:2791 ../bin/compound.c:1097
+#: ../bin/doption.c:94 ../bin/tbezier.c:472
+msgid "Solid"
+msgstr "Solide"
+
+#: ../bin/cdraw.c:1294 ../bin/cdraw.c:2793 ../bin/compound.c:1098
+#: ../bin/doption.c:91 ../bin/tbezier.c:473
+msgid "Dash"
+msgstr "Tiret"
+
+#: ../bin/cdraw.c:1295 ../bin/cdraw.c:2792 ../bin/compound.c:1099
+#: ../bin/tbezier.c:474
+msgid "Dot"
+msgstr "Pointillé"
+
+#: ../bin/cdraw.c:1296 ../bin/compound.c:1100 ../bin/tbezier.c:475
+msgid "DashDot"
+msgstr "Tiret point"
+
+#: ../bin/cdraw.c:1297 ../bin/compound.c:1101 ../bin/tbezier.c:476
+msgid "DashDotDot"
+msgstr "Tiret point point"
+
+#: ../bin/cdraw.c:1298 ../bin/compound.c:1102 ../bin/tbezier.c:477
+msgid "CenterDot"
+msgstr "Axe"
+
+#: ../bin/cdraw.c:1299 ../bin/compound.c:1103 ../bin/tbezier.c:478
+msgid "PhantomDot"
+msgstr "Axe invisible"
+
+#: ../bin/cdraw.c:1304 ../bin/cdraw.c:2839
+msgid "Tiny"
+msgstr "Minuscule"
+
+#: ../bin/cdraw.c:1305 ../bin/cdraw.c:2840
+msgid "Small"
+msgstr "Petit"
+
+#: ../bin/cdraw.c:1306 ../bin/cdraw.c:2841
+msgid "Medium"
+msgstr "Moyen"
+
+#: ../bin/cdraw.c:1307 ../bin/cdraw.c:2842
+msgid "Large"
+msgstr "Grand"
+
+#: ../bin/cdraw.c:1504 ../bin/cdraw.c:1649 ../bin/cdraw.c:2710
+#: ../bin/cdraw.c:2928 ../bin/cdraw.c:2948 ../bin/cdraw.c:2952
+#: ../bin/compound.c:684 ../bin/compound.c:689 ../bin/compound.c:694
+#: ../bin/compound.c:699 ../bin/compound.c:705 ../bin/cprint.c:154
+#: ../bin/csignal.c:237 ../bin/csignal.c:512 ../bin/ctodesgn.c:187
+#: ../bin/ctodesgn.c:188 ../bin/ctodesgn.c:189 ../bin/ctodesgn.c:191
+#: ../bin/ctodesgn.c:236 ../bin/ctodesgn.c:259 ../bin/ctodesgn.c:261
+#: ../bin/ctodesgn.c:296 ../bin/ctodesgn.c:299 ../bin/ctodesgn.c:325
+#: ../bin/ctodesgn.c:328 ../bin/ctodesgn.c:362 ../bin/ctodesgn.c:367
+#: ../bin/ctodesgn.c:391 ../bin/ctodesgn.c:395 ../bin/ctodesgn.c:432
+#: ../bin/ctodesgn.c:436 ../bin/ctodesgn.c:441 ../bin/ctodesgn.c:467
+#: ../bin/ctodesgn.c:487 ../bin/ctodesgn.c:508 ../bin/ctodesgn.c:615
+#: ../bin/ctrain.c:185 ../bin/tease.c:514
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:181
+msgid "Angle"
+msgstr "Angle"
+
+#: ../bin/cdraw.c:1507 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:186
+msgid "Relative Angle"
+msgstr "Angle relatif"
+
+#: ../bin/cdraw.c:1516 ../bin/cdraw.c:1664 ../bin/cdraw.c:2922
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:182
+msgid "Arc Angle"
+msgstr "Angle de l'arc"
+
+#: ../bin/cdraw.c:1518
+msgid "Rotate Angle"
+msgstr "Angle de rotation"
+
+#: ../bin/cdraw.c:1521
+msgid "Rot Center X,Y"
+msgstr "Rot Centre X,Y"
+
+#: ../bin/cdraw.c:1620
+msgid "Seg Lth"
+msgstr "Long. segmt"
+
+#: ../bin/cdraw.c:1621
+msgid "Rel Ang"
+msgstr "Angle Rel"
+
+#: ../bin/cdraw.c:2692 ../bin/cdraw.c:2694 ../bin/cdraw.c:2819
+msgid "Lumber Type"
+msgstr "Type de structure"
+
+#: ../bin/cdraw.c:2719
+msgid "Straight"
+msgstr "Trait"
+
+#: ../bin/cdraw.c:2720
+msgid "Dimension"
+msgstr "Dimension"
+
+#: ../bin/cdraw.c:2723 ../bin/cdraw.c:2724 ../bin/cdraw.c:2725
+#: ../bin/cdraw.c:2726
+msgid "Curved"
+msgstr "Courbe"
+
+#: ../bin/cdraw.c:2730 ../bin/cdraw.c:3062
+msgid "Box"
+msgstr "Boite"
+
+#: ../bin/cdraw.c:2735 ../bin/cdraw.c:3063
+msgid "Filled Box"
+msgstr "Boîte pleine"
+
+#: ../bin/cdraw.c:2737 ../bin/tbezier.c:469
+msgid "Bezier Line"
+msgstr "Ligne Bézier"
+
+#: ../bin/cdraw.c:2786
+#, c-format
+msgid "%s Line Width"
+msgstr "%s épaisseur"
+
+#: ../bin/cdraw.c:2789 ../bin/dcar.c:2194 ../bin/dcar.c:4373
+#: ../bin/dcar.c:4378
+msgid "Type"
+msgstr "Type"
+
+#: ../bin/cdraw.c:2794
+msgid "Dash-Dot"
+msgstr "Tiret-point"
+
+#: ../bin/cdraw.c:2795
+msgid "Dash-Dot-Dot"
+msgstr "Tiret-point-point"
+
+#: ../bin/cdraw.c:2808
+#, c-format
+msgid "%s Color"
+msgstr "%s Couleur"
+
+#: ../bin/cdraw.c:2837
+msgid "Dimension Line Size"
+msgstr "Dimension des voies"
+
+#: ../bin/cdraw.c:2849
+msgid "Drag to create Table Edge"
+msgstr "Faites glisser pour créer un bord de table"
+
+#: ../bin/cdraw.c:2946
+msgid "Seg Length"
+msgstr "Longueur du segment"
+
+#: ../bin/cdraw.c:2950
+msgid "Rel Angle"
+msgstr "Angle Rel"
+
+#: ../bin/cdraw.c:3044
+msgid "Line"
+msgstr "Ligne"
+
+#: ../bin/cdraw.c:3044
+msgid "Draw Line"
+msgstr "Dessiner un trait"
+
+#: ../bin/cdraw.c:3045
+msgid "Draw Dimension Line"
+msgstr "Tracer une ligne de cote"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:479
+#: ../bin/cdraw.c:3046 ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1251
+msgid "Benchwork"
+msgstr "Plan de travail"
+
+#: ../bin/cdraw.c:3046
+msgid "Draw Benchwork"
+msgstr "Dessinez un chassis"
+
+#: ../bin/cdraw.c:3047
+msgid "Draw Table Edge"
+msgstr "Dessiner un bord de Table"
+
+#: ../bin/cdraw.c:3049
+msgid "Curve End"
+msgstr "Fin de courbe"
+
+#: ../bin/cdraw.c:3049
+msgid "Draw Curve from End"
+msgstr "Dessiner une courbe depuis l'extrémité"
+
+#: ../bin/cdraw.c:3050
+msgid "Curve Tangent"
+msgstr "Courbe tangente"
+
+#: ../bin/cdraw.c:3050
+msgid "Draw Curve from Tangent"
+msgstr "Dessiner une courbe depuis la tangente"
+
+#: ../bin/cdraw.c:3051
+msgid "Curve Center"
+msgstr "Centre de la courbe"
+
+#: ../bin/cdraw.c:3051
+msgid "Draw Curve from Center"
+msgstr "Dessiner une courbe à partir du centre"
+
+#: ../bin/cdraw.c:3052
+msgid "Curve Chord"
+msgstr "Corde de la Courbe"
+
+#: ../bin/cdraw.c:3052
+msgid "Draw Curve from Chord"
+msgstr "Dessiner une courbe à partir de la corde"
+
+#: ../bin/cdraw.c:3053
+msgid "Draw Bezier"
+msgstr "Dessinez une Bézier"
+
+#: ../bin/cdraw.c:3056
+msgid "Circle Center"
+msgstr "Centre du cercle"
+
+#: ../bin/cdraw.c:3056
+msgid "Draw Circle from Center"
+msgstr "Tracer un cercle à partir du centre"
+
+#: ../bin/cdraw.c:3057
+msgid "Circle Tangent"
+msgstr "Cercle tangent"
+
+#: ../bin/cdraw.c:3057
+msgid "Draw Circle from Tangent"
+msgstr "Dessiner un cercle à partir de la tangente"
+
+#: ../bin/cdraw.c:3059
+msgid "Circle Filled Center"
+msgstr "Centre du cercle plein"
+
+#: ../bin/cdraw.c:3059
+msgid "Draw Filled Circle from Center"
+msgstr "Dessiner un cercle plein à partir du centre"
+
+#: ../bin/cdraw.c:3060
+msgid "Circle Filled Tangent"
+msgstr "Tangent à un cercle plein"
+
+#: ../bin/cdraw.c:3060
+msgid "Draw Filled Circle from Tangent"
+msgstr "Dessiner un cercle plein à partir de la tangente"
+
+#: ../bin/cdraw.c:3062
+msgid "Draw Box"
+msgstr "Dessinez une Boite"
+
+#: ../bin/cdraw.c:3063
+msgid "Draw Filled Box"
+msgstr "Dessiner une boîte pleine"
+
+#: ../bin/cdraw.c:3064
+msgid "Draw Polygon"
+msgstr "Dessiner un polygone"
+
+#: ../bin/cdraw.c:3065
+msgid "Draw Filled Polygon"
+msgstr "Dessiner un polygone plein"
+
+#: ../bin/cdraw.c:3066
+msgid "PolyLine"
+msgstr "Polyligne"
+
+#: ../bin/cdraw.c:3066
+msgid "Draw PolyLine"
+msgstr "Dessiner une polyligne"
+
+#: ../bin/cdraw.c:3083
+msgid "Straight Objects"
+msgstr "Objets droits"
+
+#: ../bin/cdraw.c:3083
+msgid "Draw Straight Objects"
+msgstr "Dessiner des objets droits"
+
+#: ../bin/cdraw.c:3084
+msgid "Curved Lines"
+msgstr "Lignes courbes"
+
+#: ../bin/cdraw.c:3084
+msgid "Draw Curved Lines"
+msgstr "Tracer des voies courbes"
+
+#: ../bin/cdraw.c:3085
+msgid "Circle Lines"
+msgstr "Lignes circulaires"
+
+#: ../bin/cdraw.c:3085
+msgid "Draw Circles"
+msgstr "Dessinez des cercles"
+
+#: ../bin/cdraw.c:3086
+msgid "Shapes"
+msgstr "Formes"
+
+#: ../bin/cdraw.c:3086
+msgid "Draw Shapes"
+msgstr "Dessiner des formes"
+
+#: ../bin/cdraw.c:3380
+msgid "Close Polygon - 'g'"
+msgstr "Fermer le Polygone - 'g'"
+
+#: ../bin/cdraw.c:3381
+msgid "Make PolyLine - 'l'"
+msgstr "Créer une polyligne - 'l'"
+
+#: ../bin/cdraw.c:3382
+msgid "Fill Polygon - 'f'"
+msgstr "Remplir le polygone - 'f'"
+
+#: ../bin/cdraw.c:3383
+msgid "Empty Polygon - 'u'"
+msgstr "Polygone vide - 'u'"
+
+#: ../bin/cdraw.c:3385
+msgid "Points Mode - 'p'"
+msgstr "Mode Points - 'p'"
+
+#: ../bin/cdraw.c:3386
+msgid "Delete Selected Point - 'Del'"
+msgstr "Supprimer le point sélectionné - 'Suppr'"
+
+#: ../bin/cdraw.c:3387
+msgid "Vertex Point - 'v'"
+msgstr "Point du sommet - 'v'"
+
+#: ../bin/cdraw.c:3388
+msgid "Round Corner - 'r'"
+msgstr "Coin rond - 'r"
+
+#: ../bin/cdraw.c:3389
+msgid "Smooth Corner - 's'"
+msgstr "Coin lisse - 's'"
+
+#: ../bin/cdraw.c:3391 ../bin/cselect.c:3701
+msgid "LineType..."
+msgstr "Type de ligne ..."
+
+#: ../bin/cdraw.c:3392 ../bin/cselect.c:3702
+msgid "Solid Line"
+msgstr "Ligne continue"
+
+#: ../bin/cdraw.c:3393 ../bin/cselect.c:3703
+msgid "Dashed Line"
+msgstr "Ligne en tirets"
+
+#: ../bin/cdraw.c:3394 ../bin/cselect.c:3704
+msgid "Dotted Line"
+msgstr "Ligne en pointillé"
+
+#: ../bin/cdraw.c:3395
+msgid "Dash-Dot Line"
+msgstr "Ligne en tiret-point"
+
+#: ../bin/cdraw.c:3396
+msgid "Dash-Dot-Dot Line"
+msgstr "Ligne en tiret-point-point"
+
+#: ../bin/cdraw.c:3397
+msgid "Center-Dot Line"
+msgstr "Ligne d'axe"
+
+#: ../bin/cdraw.c:3398
+msgid "Phantom-Dot Line"
+msgstr "Ligne d'axe invisible"
+
+#: ../bin/cdraw.c:3400
+msgid "Origin Mode - 'o'"
+msgstr "Mode origine - 'o'"
+
+#: ../bin/cdraw.c:3401
+msgid "Reset Origin - '0'"
+msgstr "Réinitialiser l'origine - '0'"
+
+#: ../bin/cdraw.c:3402
+msgid "Origin to Selected - 'l'"
+msgstr "Origine de la sélection - 'l'"
+
+#: ../bin/cdraw.c:3403
+msgid "Origin to Middle - 'm'"
+msgstr "De l'origine au milieu - 'm'"
+
+#: ../bin/celev.c:42 ../bin/cprint.c:115 ../bin/cprofile.c:1532
+#: ../bin/csplit.c:193 ../bin/csplit.c:198 ../bin/dease.c:64
+#: ../bin/doption.c:92 ../bin/doption.c:94
+msgid "None"
+msgstr "Aucun"
+
+#: ../bin/celev.c:42
+msgid "Defined"
+msgstr "Défini.e"
+
+#: ../bin/celev.c:42
+msgid "Hidden"
+msgstr "Caché"
+
+#: ../bin/celev.c:43
+msgid "Computed"
+msgstr "Calculé"
+
+#: ../bin/celev.c:43
+msgid "Station"
+msgstr "Gare"
+
+#: ../bin/celev.c:43 ../bin/cprofile.c:1530 ../bin/dcmpnd.c:70
+msgid "Ignore"
+msgstr "Ignoré"
+
+#: ../bin/celev.c:215
+msgid "Set Elevation"
+msgstr "Définir l'élévation"
+
+#: ../bin/celev.c:305 ../bin/celev.c:312 ../bin/celev.c:315
+#, c-format
+msgid "Undefined"
+msgstr "Non défini"
+
+#: ../bin/celev.c:359 ../bin/celev.c:502
+msgid "Elevation"
+msgstr "Élévation"
+
+#: ../bin/celev.c:359 ../bin/cmisc.c:459 ../bin/dcontmgm.c:287
+#: ../bin/dcustmgm.c:378 ../bin/dlayer.c:1546 ../bin/dpricels.c:151
+#: ../bin/filenoteui.c:238 ../bin/linknoteui.c:177
+#: ../bin/paramfilesearch_ui.c:476 ../bin/textnoteui.c:166
+msgid "Done"
+msgstr "Valider"
+
+#: ../bin/celev.c:371
+msgid ""
+"Click on end, +Shift to split, +Ctrl to move description, +Alt to show "
+"elevation"
+msgstr ""
+"Cliquez sur la fin, +Maj pour diviser, +Ctrl pour déplacer la description, "
+"+Alt pour afficher l'élévation"
+
+#: ../bin/celev.c:391
+msgid "Move to end or track crossing +Shift to split"
+msgstr "Déplacez en fin ou à l'intersection de la voie + Maj pour diviser"
+
+#: ../bin/celev.c:395
+msgid "Move to end or track crossing"
+msgstr "Déplacez en fin ou à l'intersection de la voie"
+
+#: ../bin/celev.c:405
+#, c-format
+msgid "Crossing - First %0.3f, Second %0.3f, Clearance %0.3f - Click to Split"
+msgstr ""
+"Croisement - Premier %0.3f, Deuxième %0.3f, Dégagement %0.3f - Cliquer pour "
+"diviser"
+
+#: ../bin/celev.c:407
+#, c-format
+msgid "Crossing - First %0.3f, Second %0.3f, Clearance %0.3f"
+msgstr "Croisement - Premier %0.3f, Deuxième %0.3f, Dégagement %0.3f"
+
+#: ../bin/celev.c:419
+#, c-format
+msgid "Click to split here - elevation %0.3f"
+msgstr "Cliquez ici pour segmenter - élévation %0.3f"
+
+#: ../bin/celev.c:424
+#, c-format
+msgid "Track End elevation %0.3f - snap End Pt"
+msgstr ""
+"Élévation de l'extrémité de la voie ferrée %0.3f - extrémité encliquetable"
+
+#: ../bin/celev.c:427
+#, c-format
+msgid "Track End elevation %0.3f"
+msgstr "Élévation de l'extrémité de la voie %0.3f"
+
+#: ../bin/celev.c:429 ../bin/celev.c:431
+msgid ""
+"Click on End Pt, +Shift to split, +Ctrl to move description, +Alt show "
+"Elevation"
+msgstr ""
+"Cliquez sur la fin, +Maj pour diviser, +Ctrl pour déplacer la description, "
+"+Alt afficher l'élévation"
+
+#: ../bin/celev.c:450
+msgid "Click on end, +Shift to split, +Ctrl to move description"
+msgstr ""
+"Cliquez sur fin, +Maj pour segmenter, +Ctrl pour déplacer la description"
+
+#: ../bin/celev.c:454
+msgid "Split track"
+msgstr "Segmenter une voie"
+
+#: ../bin/celev.c:459
+msgid "Track split!"
+msgstr "La voie est coupée !"
+
+#: ../bin/celev.c:465
+msgid "Point selected!"
+msgstr "Point sélectionné !"
+
+#: ../bin/cgroup.c:611
+msgid "Ungroup Object"
+msgstr "Dissocier l'Objet"
+
+#: ../bin/cgroup.c:623
+#, c-format
+msgid "%d objects ungrouped"
+msgstr "%d objets dissociés"
+
+#: ../bin/cgroup.c:625
+msgid "No objects ungrouped"
+msgstr "Aucun objet dégroupé"
+
+#: ../bin/cgroup.c:637
+msgid "Replace with new group?"
+msgstr "Remplacer par un nouveau groupe ?"
+
+#: ../bin/cgroup.c:643 ../bin/compound.c:707 ../bin/cstruct.c:62
+#: ../bin/ctodesgn.c:193 ../bin/ctodesgn.c:2939 ../bin/cturnout.c:82
+#: ../bin/dcar.c:2186 ../bin/dcar.c:4373 ../bin/dcar.c:4378
+#: ../bin/dcmpnd.c:449 ../bin/dcustmgm.c:44
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:406
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:615
+msgid "Manufacturer"
+msgstr "Fabricant"
+
+#: ../bin/cgroup.c:644 ../bin/cmisc.c:459 ../bin/cstruct.c:62
+#: ../bin/ctodesgn.c:2940 ../bin/ctodesgn.c:2941 ../bin/ctrain.c:188
+#: ../bin/cturnout.c:82 ../bin/dcar.c:2202 ../bin/dcar.c:4374
+#: ../bin/dcar.c:4379 ../bin/dcmpnd.c:450 ../bin/dcustmgm.c:45
+#: ../bin/denum.c:184 ../bin/denum.c:185 ../bin/denum.c:188
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:407
+msgid "Description"
+msgstr "Description"
+
+#: ../bin/cgroup.c:645 ../bin/dcmpnd.c:451
+msgid "#"
+msgstr "#"
+
+#: ../bin/cgroup.c:646 ../bin/compound.c:711
+msgid "# Segments"
+msgstr "# Segments"
+
+#: ../bin/cgroup.c:648
+msgid "Offset X,Y:"
+msgstr "Décalage X, Y:"
+
+#: ../bin/cgroup.c:1216
+msgid "No endpts"
+msgstr "Pas de pts de fin"
+
+#: ../bin/cgroup.c:1326
+msgid "No paths"
+msgstr "Pas de chemins"
+
+#: ../bin/cgroup.c:1597 ../bin/cgroup.c:1652
+msgid "Group Tracks"
+msgstr "Voies du groupe"
+
+#: ../bin/cgroup.c:1715
+msgid "Group Objects"
+msgstr "Objets du groupe"
+
+#: ../bin/chndldto.c:67
+msgid "Place frog and drag angle"
+msgstr "Placer le cœur et l'angle de déviation"
+
+#: ../bin/chndldto.c:84
+msgid "frog"
+msgstr "coeur"
+
+#: ../bin/chndldto.c:90
+msgid "Drag to set angle"
+msgstr "Faites glisser pour définir l'angle"
+
+#: ../bin/chndldto.c:129
+#, c-format
+msgid "Angle = %0.2f Frog# = %0.2f"
+msgstr "Angle = %0.2f Coeur# = %0.2f"
+
+#: ../bin/chndldto.c:131
+msgid "Frog angle is too close to 0"
+msgstr "L'angle du cœur est trop proche de 0"
+
+#: ../bin/chndldto.c:134
+msgid "Select point position"
+msgstr "Sélectionnez la position du point"
+
+#: ../bin/chndldto.c:146 ../bin/chndldto.c:171
+msgid "points"
+msgstr "aiguilles"
+
+#: ../bin/chndldto.c:268
+#, c-format
+msgid "Length = %0.2f Angle = %0.2f Frog# = %0.2f"
+msgstr "Longueur = %0.2f angle = %0.2f cœur# = %0.2f"
+
+#: ../bin/chndldto.c:271
+msgid "Create Hand Laid Turnout"
+msgstr "Créer un aiguillage paramétré à la main"
+
+#: ../bin/chndldto.c:355
+msgid "HandLaidTurnout"
+msgstr "Aiguillage de conception libre"
+
+#: ../bin/cjoin.c:164
+#, c-format
+msgid "Curved Track: Radius=%s Length=%s"
+msgstr "Voie courbe : Rayon =%s Longueur =%s"
+
+#: ../bin/cjoin.c:250
+#, c-format
+msgid "Curved Track: Radius=%s Length=%s Angle=%0.3f"
+msgstr "Voie courbe : Rayon =%s Longueur =%s Angle =%0.3f"
+
+#: ../bin/cjoin.c:346
+#, c-format
+msgid "Track (%d) is too short for transition-curve by %0.3f"
+msgstr "La voie (%d) est trop courte pour la courbe de transition de %0.3f"
+
+#: ../bin/cjoin.c:364
+#, c-format
+msgid "Connecting track is too short by %0.3f"
+msgstr "La voie de connexion est trop courte de %0.3f"
+
+#: ../bin/cjoin.c:408
+msgid "Click on an unselected End-Point"
+msgstr "Cliquez sur un point d'extrémité non sélectionné"
+
+#: ../bin/cjoin.c:409
+msgid "Click on a selected End-Point"
+msgstr "Cliquez sur un point d'extrémité sélectionné"
+
+#: ../bin/cjoin.c:415
+msgid "unselected"
+msgstr "non sélectionné"
+
+#: ../bin/cjoin.c:415 ../bin/cprint.c:160
+msgid "selected"
+msgstr "sélectionnée-s"
+
+#: ../bin/cjoin.c:472
+msgid "Left click - Select first draw object end"
+msgstr "Clic gauche - Sélectionner la première extrémité de l'objet de dessin"
+
+#: ../bin/cjoin.c:512 ../bin/cjoin.c:546
+msgid "Not a line - Try again"
+msgstr "Pas de ligne - Réessayez"
+
+#: ../bin/cjoin.c:542
+msgid "Left click - Select second object end"
+msgstr "Clic gauche - Sélectionnez la deuxième extrémité de l'objet"
+
+#: ../bin/cjoin.c:554
+msgid "Same draw object and same endpoint - Try again"
+msgstr "Même objet du dessin et même point de fin - Réessayer"
+
+#: ../bin/cjoin.c:596
+msgid "Create PolyLine"
+msgstr "Créer une polyligne"
+
+#: ../bin/cjoin.c:838
+msgid "Left click - join with track"
+msgstr "Clic gauche - raccorder avec la voie"
+
+#: ../bin/cjoin.c:840
+msgid "Left click - join with track, Shift Left click - move to join"
+msgstr ""
+"Clic gauche - raccorder avec la voie, Shift+clic gauche - déplacer pour "
+"raccorder"
+
+#: ../bin/cjoin.c:918 ../bin/cjoin.c:1337 ../bin/cjoin.c:1344
+msgid "Select 2nd track"
+msgstr "Sélectionner une 2nd voie"
+
+#: ../bin/cjoin.c:1147
+msgid "Beyond end of 2nd track"
+msgstr "Au-delà de la fin de la 2ème voie"
+
+#: ../bin/cjoin.c:1182
+msgid "Beyond end of 1st track"
+msgstr "Au-delà de la fin de la 1ère voie"
+
+#: ../bin/cjoin.c:1204
+msgid "First Track Type not supported for non-Cornu Join"
+msgstr "La première voie ne peut être connectée que via des courbes de Cornu"
+
+#: ../bin/cjoin.c:1211
+msgid "First "
+msgstr "Premier "
+
+#: ../bin/cjoin.c:1236
+msgid "Second Track Type not supported for non-Cornu Join"
+msgstr "Deuxième type de voie non pris en charge pour un raccord non Cornu"
+
+#: ../bin/cjoin.c:1243
+msgid "Second "
+msgstr "Second "
+
+#: ../bin/cjoin.c:1257 ../bin/track.c:2335 ../bin/track.c:2371
+#: ../bin/track.c:2437
+msgid "Connecting "
+msgstr "Connecter "
+
+#: ../bin/cjoin.c:1347
+msgid "Join Tracks"
+msgstr "Raccorder les voies"
+
+#: ../bin/cjoin.c:1435
+msgid "Join"
+msgstr "Raccorder"
+
+#: ../bin/cjoin.c:1436
+msgid "Join Track"
+msgstr "Raccorder une voie"
+
+#: ../bin/cjoin.c:1437
+msgid "Join Lines"
+msgstr "Raccorder des lignes"
+
+#: ../bin/cmisc.c:57
+msgid "Middle"
+msgstr "Milieu"
+
+#: ../bin/cmisc.c:57 ../bin/macro.c:67
+msgid "End"
+msgstr "Fin"
+
+#: ../bin/cmisc.c:142 ../bin/tcurve.c:390 ../bin/tease.c:520
+msgid "Lock"
+msgstr "Verrou"
+
+#: ../bin/cmisc.c:234 ../bin/cmodify.c:364 ../bin/compound.c:805
+#: ../bin/ctrain.c:219
+msgid "Change Track"
+msgstr "Changer de voie"
+
+#: ../bin/cmisc.c:585
+msgid "Select track to describe +Shift for Frozen"
+msgstr "Sélectionnez la voie à parcourir + Maj pour geler"
+
+#: ../bin/cmisc.c:686 ../bin/doption.c:236
+msgid "Properties"
+msgstr "Propriétés"
+
+#: ../bin/cmisc2.c:52
+msgid "Bridge"
+msgstr "Pont"
+
+#: ../bin/cmodify.c:266
+msgid ""
+"Select a track to modify, Left-Click change length, Right-Click to add "
+"flextrack"
+msgstr ""
+"Sélectionnez une voie à modifier, cliquez sur le bouton gauche pour changer "
+"sa longueur, cliquez sur le bouton droit pour ajouter une voie"
+
+#: ../bin/cmodify.c:490
+msgid "Modify Track"
+msgstr "Modifier la voie"
+
+#: ../bin/cmodify.c:532
+msgid "Drag to add flex track"
+msgstr "Faites glisser pour créer une voie flexible"
+
+#: ../bin/cmodify.c:537
+msgid "No track to extend"
+msgstr "Pas de voies à prolonger"
+
+#: ../bin/cmodify.c:542
+msgid "No track selected"
+msgstr "Aucune voie sélectionnée"
+
+#: ../bin/cmodify.c:675
+#, c-format
+msgid "Curve Track: Radius=%s Length=%s Angle=%0.3f"
+msgstr "Voie courbe : Rayon = %s Longueur = %s Angle = %0.3f"
+
+#: ../bin/cmodify.c:690
+msgid "Extend Track"
+msgstr "Prolonger la voie"
+
+#: ../bin/cmodify.c:822
+msgid "Modify"
+msgstr "Modifier"
+
+#: ../bin/cmodify.c:830 ../bin/cselect.c:3654 ../bin/cselect.c:3671
+#: ../bin/misc.c:2444 ../bin/misc.c:2446
+msgid "Zoom In"
+msgstr "Zoom Avant"
+
+#: ../bin/cmodify.c:831 ../bin/cselect.c:3658 ../bin/cselect.c:3672
+#: ../bin/misc.c:2448 ../bin/misc.c:2450
+msgid "Zoom Out"
+msgstr "Zoom Arrière"
+
+#: ../bin/cmodify.c:832
+msgid "Pan center - 'c'"
+msgstr "Centre du panoramique - 'c'"
+
+#: ../bin/cnote.c:67 ../bin/textnoteui.c:43 ../bin/trknote.c:55
+msgid "Note"
+msgstr "Remarque"
+
+#: ../bin/cnote.c:73
+msgid "Replace this text with your layout notes"
+msgstr "Remplacez ce texte par vos notes de plan"
+
+#: ../bin/compound.c:685 ../bin/compound.c:690 ../bin/compound.c:695
+#: ../bin/compound.c:700 ../bin/tbezier.c:252 ../bin/tbezier.c:259
+#: ../bin/tcornu.c:305 ../bin/tcornu.c:310
+msgid "Center X,Y"
+msgstr "Centre X,Y"
+
+#: ../bin/compound.c:687 ../bin/tbezier.c:253 ../bin/tcornu.c:306
+msgid "Z1"
+msgstr "Z1"
+
+#: ../bin/compound.c:692 ../bin/tbezier.c:260 ../bin/tcornu.c:311
+msgid "Z2"
+msgstr "Z2"
+
+#: ../bin/compound.c:693
+msgid "End Pt 3: X,Y"
+msgstr "Bout 3: X,Y"
+
+#: ../bin/compound.c:697
+msgid "Z3"
+msgstr "Z3"
+
+#: ../bin/compound.c:698
+msgid "End Pt 4: X,Y"
+msgstr "Bout 4: X,Y"
+
+#: ../bin/compound.c:702
+msgid "Z4"
+msgstr "Z4"
+
+#: ../bin/compound.c:704 ../bin/tease.c:513
+msgid "Origin: X,Y"
+msgstr "Origine : X,Y"
+
+#: ../bin/compound.c:709 ../bin/cstruct.c:62 ../bin/cturnout.c:82
+#: ../bin/dcar.c:4373 ../bin/dcar.c:4378 ../bin/dcustmgm.c:45
+#: ../bin/doption.c:97 ../bin/doption.c:98
+msgid "Part No"
+msgstr "Référence N°"
+
+#: ../bin/compound.c:710
+msgid "LineType"
+msgstr "Type de Ligne"
+
+#: ../bin/compound.c:971 ../bin/cstruct.c:953 ../bin/cstruct.c:1149
+msgid "Structure"
+msgstr "Structure"
+
+#: ../bin/compound.c:973 ../bin/cswitchmotor.c:225 ../bin/cturnout.c:2949
+#: ../bin/cturnout.c:4836
+msgid "Turnout"
+msgstr "Aiguillage"
+
+#: ../bin/compound.c:973
+msgid "Sectional Track"
+msgstr "Section de voie"
+
+#: ../bin/compound.c:977
+#, c-format
+msgid "%s (%d) Layer= %d %s"
+msgstr "%s (%d) Calque= %d %s"
+
+#: ../bin/cparalle.c:49 ../bin/cparalle.c:97 ../bin/cparalle.c:138
+#: ../bin/ctodesgn.c:537 ../bin/ctodesgn.c:557 ../bin/ctodesgn.c:577
+#: ../bin/tcurve.c:384
+msgid "Separation"
+msgstr "Séparation"
+
+#: ../bin/cparalle.c:52 ../bin/cparalle.c:98
+msgid "Radius Factor"
+msgstr "Facteur de Rayon"
+
+#: ../bin/cparalle.c:139
+msgid "Radius factor"
+msgstr "Facteur de rayon"
+
+#: ../bin/cparalle.c:152
+msgid " Track/Line doesn't support parallel"
+msgstr " Cette voie/ligne ne permet pas le parallélisme"
+
+#: ../bin/cparalle.c:226
+msgid "Create Parallel Track"
+msgstr "Créer une voie parallèle"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:470
+#: ../bin/cparalle.c:296 ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1233
+msgid "Parallel"
+msgstr "Parallèle"
+
+#: ../bin/cparalle.c:297
+msgid "Parallel Track"
+msgstr "Voie parallèle"
+
+#: ../bin/cparalle.c:298
+msgid "Parallel Line"
+msgstr "Ligne parallèle"
+
+#: ../bin/cprint.c:108
+msgid "Portrait"
+msgstr "Portrait"
+
+#: ../bin/cprint.c:108
+msgid "Landscape"
+msgstr "Paysage"
+
+#: ../bin/cprint.c:109 ../bin/cswitchmotor.c:90 ../bin/cswitchmotor.c:109
+#: ../bin/cswitchmotor.c:222 ../bin/dbench.c:73 ../bin/dease.c:64
+#: ../bin/doption.c:91 ../bin/doption.c:93 ../bin/macro.c:1391
+msgid "Normal"
+msgstr "Normal"
+
+#: ../bin/cprint.c:109 ../bin/cswitchmotor.c:91 ../bin/cswitchmotor.c:110
+#: ../bin/cswitchmotor.c:223 ../bin/ctrain.c:942 ../bin/ctrain.c:1251
+msgid "Reverse"
+msgstr "Inversé"
+
+#: ../bin/cprint.c:110
+msgid "Engineering Data"
+msgstr "Données d'ingénierie"
+
+#: ../bin/cprint.c:111
+msgid "Registration Marks (in 1:1 scale only)"
+msgstr "Aides au positionnement (à l'échelle 1:1 uniquement)"
+
+#: ../bin/cprint.c:112
+msgid "Page Numbers"
+msgstr "Numéro de page"
+
+#: ../bin/cprint.c:113
+msgid "Ignore Page Margins"
+msgstr "Impression sans marge"
+
+#: ../bin/cprint.c:114 ../bin/csnap.c:675 ../bin/doption.c:535
+msgid "Snap Grid"
+msgstr "Grille magnétique"
+
+#: ../bin/cprint.c:115
+msgid "Layout Edge"
+msgstr "Bord de Layout"
+
+#: ../bin/cprint.c:115
+msgid "Every Page"
+msgstr "Chaque page"
+
+#: ../bin/cprint.c:116
+msgid "Roadbed Outline"
+msgstr "Rayon droit"
+
+#: ../bin/cprint.c:117
+msgid "Centerline below Scale 1:1"
+msgstr "Imprime l'axe central \"en dessous de l'échelle 1:1\""
+
+#: ../bin/cprint.c:126
+msgid "Print Scale"
+msgstr "Echelle d'impression"
+
+#: ../bin/cprint.c:127
+msgid "Page Width"
+msgstr "Largeur de page"
+
+#: ../bin/cprint.c:128
+msgid "Max"
+msgstr "Max"
+
+#: ../bin/cprint.c:130
+msgid "Snap Shot"
+msgstr "Copie Ecran"
+
+#: ../bin/cprint.c:131
+msgid "Page Format"
+msgstr "Format de la page"
+
+#: ../bin/cprint.c:132
+msgid "Print Order"
+msgstr "Ordre d'impression"
+
+#: ../bin/cprint.c:133
+msgid "Print "
+msgstr "Imprimer "
+
+#: ../bin/cprint.c:142
+msgid "Rulers:"
+msgstr "Règles:"
+
+#: ../bin/cprint.c:148
+msgid " Width"
+msgstr " Largeur"
+
+#: ../bin/cprint.c:150
+msgid "Margins"
+msgstr "Marges"
+
+#: ../bin/cprint.c:151 ../bin/cturntbl.c:247
+msgid "Origin: X"
+msgstr "Origine : X"
+
+#: ../bin/cprint.c:152 ../bin/csnap.c:508
+msgid "Y"
+msgstr "Y"
+
+#: ../bin/cprint.c:153 ../bin/cprint.c:616 ../bin/cprofile.c:708
+#: ../bin/dcar.c:2206
+msgid "Reset"
+msgstr "Remise à zéro"
+
+#: ../bin/cprint.c:155
+msgid "Setup"
+msgstr "Configuration"
+
+#: ../bin/cprint.c:156 ../bin/cselect.c:3662 ../bin/misc.c:2479
+msgid "Select All"
+msgstr "Tout sélectionner"
+
+#: ../bin/cprint.c:157 ../bin/cprofile.c:710 ../bin/layout.c:507
+#: ../bin/misc.c:806
+msgid "Clear"
+msgstr "Effacer"
+
+#: ../bin/cprint.c:159
+msgid "0 pages"
+msgstr "0 pages"
+
+#: ../bin/cprint.c:186
+#, c-format
+msgid "%d page"
+msgstr "pages %d"
+
+#: ../bin/cprint.c:186
+#, c-format
+msgid "%d pages"
+msgstr "pages %d"
+
+#: ../bin/cprint.c:407
+#, c-format
+msgid "PrintScale 1:%ld Room %s x %s Model Scale %s File %s"
+msgstr ""
+"Échelle d'impression 1:%ld Espace %s x %s Échelle de la maquette %s "
+"Fichier %s"
+
+#: ../bin/cprint.c:712 ../bin/dbitmap.c:427 ../bin/filenoteui.c:147
+#: ../bin/misc.c:1328 ../bin/misc.c:1407 ../bin/param.c:2721
+#: ../bin/svgoutput.c:460 ../wlib/gtklib/browserhelp.c:96
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:634
+msgid "Cancel"
+msgstr "Annuler"
+
+#: ../bin/cprint.c:719
+msgid "Print Margins"
+msgstr "Imprimer les marges"
+
+#: ../bin/cprint.c:1383 ../bin/cprofile.c:712 ../bin/ctodesgn.c:2887
+#: ../bin/denum.c:51
+msgid "Print"
+msgstr "Imprimer"
+
+#: ../bin/cprint.c:1404
+msgid "Select pages to print, or drag to move print grid"
+msgstr ""
+"Sélectionnez ou faites glisser les pages à imprimer pour déplacer la grille "
+"d'impression"
+
+#: ../bin/cprint.c:1505
+msgid "Print..."
+msgstr "Imprimer ..."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:466
+#: ../bin/cprofile.c:610 ../bin/cprofile.c:1444 ../bin/cprofile.c:1524
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:126
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1225
+msgid "Profile"
+msgstr "Profil"
+
+#: ../bin/cprofile.c:628
+#, c-format
+msgid "%s Profile: %s"
+msgstr "%s Profil: %s"
+
+#: ../bin/cprofile.c:706 ../bin/misc.c:2010
+msgid "Change"
+msgstr "Modifier"
+
+#: ../bin/cprofile.c:753 ../bin/cprofile.c:763
+#, c-format
+msgid "Elev = %0.1f"
+msgstr "Élév = %0.1f"
+
+#: ../bin/cprofile.c:765
+#, c-format
+msgid "Elev=%0.2f %0.1f%%"
+msgstr "Élév =%0.2f %0.1f%%"
+
+#: ../bin/cprofile.c:770
+#, c-format
+msgid "%0.1f%% Elev = %0.2f"
+msgstr "%0.1f%% Elev = %0.2f"
+
+#: ../bin/cprofile.c:775
+#, c-format
+msgid "%0.1f%% Elev = %0.2f %0.1f%%"
+msgstr "%0.1f%% Elev = %0.2f %0.1f%%"
+
+#: ../bin/cprofile.c:790 ../bin/cprofile.c:860 ../bin/cprofile.c:1396
+msgid "Profile Command"
+msgstr "Commande de profil"
+
+#: ../bin/cprofile.c:799 ../bin/cprofile.c:1450
+msgid "Drag to change Elevation"
+msgstr "Faites glisser pour modifier l'élévation"
+
+#: ../bin/cprofile.c:901
+msgid "Select a Defined Elevation to start Profile"
+msgstr "Sélectionnez une élévation définie pour démarrer le Profil"
+
+#: ../bin/cprofile.c:903
+msgid "Select a Defined Elevation to extend Profile"
+msgstr "Sélectionnez une élévation définie pour étendre le profil"
+
+#: ../bin/cprofile.c:1458
+msgid "Select a Defined Elevation to start profile"
+msgstr "Sélectionnez une élévation définie pour démarrer le profil"
+
+#: ../bin/cprofile.c:1528
+msgid "Define"
+msgstr "Définir"
+
+#: ../bin/cpull.c:436 ../bin/cpull.c:592
+#, c-format
+msgid "%d tracks moved"
+msgstr "%d Voies déplacées"
+
+#: ../bin/cpull.c:482
+msgid "Pull Tracks"
+msgstr "Voies de service"
+
+#: ../bin/cpull.c:556
+msgid "Tighten Tracks"
+msgstr "Resserrer les voies"
+
+#: ../bin/cpull.c:643
+msgid "Connect Multiple Tracks - Select multiple tracks to join first"
+msgstr ""
+"Connecter plusieurs voies - Sélectionnez plusieurs voies à raccorder en "
+"premier"
+
+#: ../bin/cpull.c:646
+msgid "Try to Connect all Selected Tracks?"
+msgstr "Toutes les voies sélectionnées doivent-elles être connectées?"
+
+#: ../bin/cpull.c:652
+msgid "ReConnect"
+msgstr "Reconnecter"
+
+#: ../bin/cpull.c:688
+#, c-format
+msgid ""
+"Round 1 %d and Round 2 %d tracks connected, %d close pairs of end Points "
+"were not connected"
+msgstr ""
+"Les séries 1 %d et séries 2 %d de voies sont connectées, %d paires de points"
+" de fin de voies proches ne sont pas connectées"
+
+#: ../bin/cpull.c:713
+msgid "Select first endpoint or turntable to connect, +Shift to tighten"
+msgstr ""
+"Sélectionnez le premier point de fin ou le pont tournant à connecter, +Maj "
+"pour resserrer"
+
+#: ../bin/cpull.c:715
+msgid ""
+"Select first endpoint to connect, or Right-Click for connecting selected "
+"tracks (not turntable)"
+msgstr ""
+"Sélectionnez le premier point de fin à connecter, ou cliquez avec le bouton "
+"droit pour connecter les voies sélectionnées (pas le pont tournant)"
+
+#: ../bin/cpull.c:774
+msgid "Select second endpoint or turntable to connect"
+msgstr "Sélectionnez le deuxième point de fin ou le pont tournant à connecter"
+
+#: ../bin/cpull.c:781
+msgid "Same Track! - please select another"
+msgstr "Même voie ! - veuillez en choisir une autre"
+
+#: ../bin/cpull.c:873
+msgid "Connect Two Tracks"
+msgstr "Connecter deux Voies"
+
+#: ../bin/cpull.c:875
+msgid "Connect All Selected - 'S'"
+msgstr "Connecter tous les éléments sélectionnés - 'S'"
+
+#: ../bin/cruler.c:372
+msgid "Measurement"
+msgstr "Mesure"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:477
+#: ../bin/cruler.c:373 ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1247
+msgid "Ruler"
+msgstr "Règle"
+
+#: ../bin/cruler.c:374
+msgid "Protractor"
+msgstr "Rapporteur"
+
+#: ../bin/cselect.c:654
+msgid "Change Track Width"
+msgstr "Changer la largeur de la voie"
+
+#: ../bin/cselect.c:679
+msgid "Change Line Type"
+msgstr "Changer le type de ligne"
+
+#: ../bin/cselect.c:704
+msgid "Delete only works in Select Mode"
+msgstr "La suppression ne fonctionne qu'en mode Sélection"
+
+#: ../bin/cselect.c:718
+msgid "Delete Tracks"
+msgstr "Supprimer des voies"
+
+#: ../bin/cselect.c:808
+msgid "Hide Tracks (Tunnel)"
+msgstr "Masquer les voies (tunnel)"
+
+#: ../bin/cselect.c:826
+msgid "Bridge Tracks "
+msgstr "Raccorder les voies "
+
+#: ../bin/cselect.c:843
+msgid "Ties Tracks "
+msgstr "Voies groupées "
+
+#: ../bin/cselect.c:880 ../bin/misc.c:2617
+msgid "Move To Current Layer"
+msgstr "Déplacer vers le calque actuel"
+
+#: ../bin/cselect.c:932 ../bin/misc.c:2784
+msgid "Clear Elevations"
+msgstr "Effacer les élévations"
+
+#: ../bin/cselect.c:976
+msgid "Add Elevations"
+msgstr "Ajouter des élévations"
+
+#: ../bin/cselect.c:991
+msgid "Refresh Compound"
+msgstr "Mettre à jour la compilation"
+
+#: ../bin/cselect.c:1023 ../bin/dcar.c:4373 ../bin/dcar.c:4378
+#: ../bin/dcustmgm.c:45 ../bin/layout.c:498
+msgid "Scale"
+msgstr "Échelle"
+
+#: ../bin/cselect.c:1023 ../bin/cselect.c:1048
+msgid "Ratio"
+msgstr "Rapport"
+
+#: ../bin/cselect.c:1032
+msgid "Do not resize track"
+msgstr "Ne pas redimensionner la voie"
+
+#: ../bin/cselect.c:1036
+msgid "Rescale by:"
+msgstr "Changer d'échelle par :"
+
+#: ../bin/cselect.c:1038
+msgid "From:"
+msgstr "De :"
+
+#: ../bin/cselect.c:1042
+msgid "To: "
+msgstr "À : "
+
+#: ../bin/cselect.c:1109
+msgid "Rescale Tracks"
+msgstr "Changer les voies d'échelle"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:473
+#: ../bin/cselect.c:1252 ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1239
+msgid "Rescale"
+msgstr "Changer d'échelle"
+
+#: ../bin/cselect.c:1597
+msgid "Cornu too tight - it was deleted"
+msgstr "Cornu trop serrée - elle a été supprimée"
+
+#: ../bin/cselect.c:1652
+msgid "Move To Join"
+msgstr "Déplacer pour Raccorder"
+
+#: ../bin/cselect.c:1844
+msgid "Drag to move selected tracks - Shift+Ctrl+Arrow micro-steps the move"
+msgstr ""
+"Faites glisser pour déplacer la voie sélectionnée - utilisez Maj+Ctrl+4 "
+"flèches pour déplacer en pas fins"
+
+#: ../bin/cselect.c:1865 ../bin/cselect.c:1994 ../bin/cselect.c:2370
+msgid "Move Tracks"
+msgstr "Déplacer des voies"
+
+#: ../bin/cselect.c:2043
+msgid "Align: Click on a selected object to be aligned"
+msgstr "Aligner : cliquez sur un objet sélectionné à aligner"
+
+#: ../bin/cselect.c:2081
+msgid "Drag to rotate selected tracks, Shift+RightClick for QuickRotate Menu"
+msgstr ""
+"Faites glisser pour faire pivoter les voies sélectionnées, Maj+Clic droit "
+"pour ouvrir le menu Rotation rapide"
+
+#: ../bin/cselect.c:2097 ../bin/cselect.c:2441
+msgid "Rotate Tracks"
+msgstr "Faire pivoter les voies"
+
+#: ../bin/cselect.c:2111
+msgid "Center of Rotation snapped to Turntable center"
+msgstr "Le centre de rotation est aligné sur le centre du pont tournant"
+
+#: ../bin/cselect.c:2153 ../bin/cselect.c:2184
+#, c-format
+msgid "Angle %0.3f"
+msgstr "Angle %0.3f"
+
+#: ../bin/cselect.c:2240
+#, c-format
+msgid "Angle %0.3f #%ld"
+msgstr "Angle %0.3f #%ld"
+
+#: ../bin/cselect.c:2242
+#, c-format
+msgid "Angle %0.3f %s"
+msgstr "Angle %0.3f %s"
+
+#: ../bin/cselect.c:2247
+msgid "Origin Set. Drag away to set start angle"
+msgstr "Réglage d'origine. Faites glisser pour définir l'angle de départ"
+
+#: ../bin/cselect.c:2261
+msgid "Align: Click on the 2nd unselected object"
+msgstr "Aligner : Cliquez sur le 2ème objet non sélectionné"
+
+#: ../bin/cselect.c:2381
+msgid "In module layer:"
+msgstr "Dans la couche de module"
+
+#: ../bin/cselect.c:2388
+msgid "Frozen Layer:"
+msgstr "Couche gelée"
+
+#: ../bin/cselect.c:2392
+msgid "Not found"
+msgstr "Pas trouvé"
+
+#: ../bin/cselect.c:2428
+msgid "Multiple Selected"
+msgstr "Plusieurs sélectionnés"
+
+#: ../bin/cselect.c:2454
+msgid "Toggle Detail"
+msgstr "Basculer les détails"
+
+#: ../bin/cselect.c:2469
+msgid "Toggle Label"
+msgstr "Modifie l'étiquette"
+
+#: ../bin/cselect.c:2632
+msgid "Elevation description"
+msgstr "Description de l'élévation"
+
+#: ../bin/cselect.c:2639
+msgid "Hidden description - 's' to Show, 'd' Details"
+msgstr "Description cachée - \"s\" Afficher, \"d\" Détails"
+
+#: ../bin/cselect.c:2642
+msgid "Shown description - 'h' to Hide"
+msgstr "Description visible - 'h' pour cacher"
+
+#: ../bin/cselect.c:2650
+msgid "Select and drag a description"
+msgstr "Sélectionnez et faites glisser une description"
+
+#: ../bin/cselect.c:2689
+msgid "Hidden Label - Drag to reveal"
+msgstr "Étiquette cachée - Faites glisser pour afficher"
+
+#: ../bin/cselect.c:2691
+msgid "Drag label"
+msgstr "Faites glisser l'étiquette pour la positionner"
+
+#: ../bin/cselect.c:2699
+msgid "Move Label"
+msgstr "Déplacer l'étiquette"
+
+#: ../bin/cselect.c:2736
+msgid "To Hide, use Context Menu"
+msgstr "Pour masquer, utilisez le menu contextuel"
+
+#: ../bin/cselect.c:2769 ../bin/cselect.c:3692
+msgid "Show/Hide Description"
+msgstr "Montrer/cacher la description"
+
+#: ../bin/cselect.c:2770
+msgid "Toggle Detailed Description"
+msgstr "Basculer la description détaillée"
+
+#: ../bin/cselect.c:2851
+msgid "Drag to mark mirror line"
+msgstr "Faites glisser pour créer la voie d'axe du miroir"
+
+#: ../bin/cselect.c:2862
+#, c-format
+msgid "Angle %0.2f"
+msgstr "Angle %0.2f"
+
+#: ../bin/cselect.c:2865
+msgid "Flip Tracks"
+msgstr "Voies en miroir"
+
+#: ../bin/cselect.c:3056 ../bin/cselect.c:3243
+msgid "Track is in Frozen Layer"
+msgstr "La voie est sur une couche bloquée"
+
+#: ../bin/cselect.c:3216
+msgid "Select track"
+msgstr "Sélectionner une voie"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:439
+#: ../bin/cselect.c:3628 ../bin/dcar.c:1663 ../bin/doption.c:236
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1171
+msgid "Select"
+msgstr "Sélectionner"
+
+#: ../bin/cselect.c:3647 ../bin/cselect.c:3668 ../bin/misc.c:2439
+msgid "Undo"
+msgstr "Annuler"
+
+#: ../bin/cselect.c:3648 ../bin/cselect.c:3669 ../bin/misc.c:2441
+msgid "Redo"
+msgstr "Refaire"
+
+#: ../bin/cselect.c:3655 ../bin/cselect.c:3673 ../bin/draw.c:3206
+msgid "Zoom to extents - 'e'"
+msgstr "Zoom sur les extensions - 'e'"
+
+#: ../bin/cselect.c:3656 ../bin/draw.c:3217 ../bin/misc.c:2646
+msgid "&Zoom"
+msgstr "&Zoom"
+
+#: ../bin/cselect.c:3659 ../bin/draw.c:3216
+msgid "Pan to Origin - 'o'/'0'"
+msgstr "Glisser vers l'origine - 'o'/'0'"
+
+#: ../bin/cselect.c:3660 ../bin/cselect.c:3675
+msgid "Pan Center Here - 'c'"
+msgstr "Centre du Panoramique ici - 'c'"
+
+#: ../bin/cselect.c:3663 ../bin/misc.c:2482 ../bin/misc.c:2623
+msgid "Select Current Layer"
+msgstr "Sélectionner le calque actuel"
+
+#: ../bin/cselect.c:3674
+msgid "Zoom to selected - 's'"
+msgstr "Zoomer sur la sélection - 's'"
+
+#: ../bin/cselect.c:3678 ../bin/misc.c:2484
+msgid "Deselect All"
+msgstr "Tout désélectionner"
+
+#: ../bin/cselect.c:3680
+msgid "Properties -'?'"
+msgstr "Propriétés -'?'"
+
+#: ../bin/cselect.c:3681
+msgid "Modify/Activate Track"
+msgstr "Modifier/Activer la voie"
+
+#: ../bin/cselect.c:3683 ../bin/misc.c:2470
+msgid "Cut"
+msgstr "Couper"
+
+#: ../bin/cselect.c:3684 ../bin/misc.c:2472
+msgid "Copy"
+msgstr "Copier"
+
+#: ../bin/cselect.c:3685 ../bin/fileio.c:1591 ../bin/misc.c:2474
+msgid "Paste"
+msgstr "Coller"
+
+#: ../bin/cselect.c:3686 ../bin/misc.c:2476
+msgid "Clone"
+msgstr "Copie"
+
+#: ../bin/cselect.c:3688
+msgid "Rotate..."
+msgstr "Rotation ..."
+
+#: ../bin/cselect.c:3690
+msgid "Align"
+msgstr "Aligner"
+
+#: ../bin/cselect.c:3694
+msgid "Hide/NoHide"
+msgstr "Masqué/Affiché"
+
+#: ../bin/cselect.c:3695
+msgid "Bridge/NoBridge"
+msgstr "Raccordé/Non raccordé"
+
+#: ../bin/cselect.c:3696
+msgid "NoTies/Ties"
+msgstr "Non connectés/connectés"
+
+#: ../bin/cselect.c:3697
+msgid "Thickness..."
+msgstr "Épaisseur..."
+
+#: ../bin/cselect.c:3698 ../bin/misc.c:2636
+msgid "Thin Tracks"
+msgstr "Voies fines"
+
+#: ../bin/cselect.c:3699 ../bin/misc.c:2637
+msgid "Medium Tracks"
+msgstr "Voies moyennes"
+
+#: ../bin/cselect.c:3700 ../bin/misc.c:2638
+msgid "Thick Tracks"
+msgstr "Voies épaisses"
+
+#: ../bin/cselect.c:3705
+msgid "Dash-Dotted Line"
+msgstr "Ligne tiret-pointillé"
+
+#: ../bin/cselect.c:3706
+msgid "Dash-Dot-Dotted Line"
+msgstr "Ligne en tiret-point-pointillé"
+
+#: ../bin/cselect.c:3708
+msgid "Move To Front"
+msgstr "Déplacer vers l'avant"
+
+#: ../bin/cselect.c:3709
+msgid "Move To Back"
+msgstr "Déplacer vers l'arrière"
+
+#: ../bin/cselect.c:3711
+msgid "Group"
+msgstr "Grouper"
+
+#: ../bin/cselect.c:3712
+msgid "UnGroup"
+msgstr "Dissocier"
+
+#: ../bin/cselect.c:3744
+msgid "Move Description"
+msgstr "Déplacer l'étiquette"
+
+#: ../bin/cselect.c:3751 ../bin/misc.c:2072 ../bin/misc.c:2491
+msgid "Move"
+msgstr "Déplacer"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:484
+#: ../bin/cselect.c:3753 ../bin/misc.c:2049 ../bin/misc.c:2493
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1261
+msgid "Rotate"
+msgstr "Rotation"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:485
+#: ../bin/cselect.c:3755 ../bin/dcar.c:2208
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1263
+msgid "Flip"
+msgstr "Miroir"
+
+#: ../bin/csensor.c:213
+msgid "Change Sensor"
+msgstr "Changer de capteur"
+
+#: ../bin/csensor.c:259 ../bin/csensor.c:590
+msgid "Sensor"
+msgstr "Capteur"
+
+#: ../bin/csensor.c:404
+msgid "Create Sensor"
+msgstr "Créer un capteur"
+
+#: ../bin/csensor.c:407
+msgid "Modify Sensor"
+msgstr "Modifier le capteur"
+
+#: ../bin/csensor.c:440
+msgid "Edit sensor"
+msgstr "Editer un capteur"
+
+#: ../bin/csensor.c:478
+msgid "Place sensor"
+msgstr "Mettre un capteur"
+
+#: ../bin/csignal.c:238
+msgid "Number Of Heads"
+msgstr "Nombre De têtes"
+
+#: ../bin/csignal.c:277
+msgid "Change Signal"
+msgstr "Changer le signal"
+
+#: ../bin/csignal.c:311
+#, c-format
+msgid "(%d [%s]): Layer=%u, %d heads at %0.3f,%0.3f A%0.3f"
+msgstr "(%d [%s]): Calque =%u, %d se dirige à %0.3f,%0.3f A%0.3f"
+
+#: ../bin/csignal.c:322 ../bin/csignal.c:908
+msgid "Signal"
+msgstr "Signal"
+
+#: ../bin/csignal.c:514
+msgid "Number of Heads"
+msgstr "Nombre de têtes"
+
+#: ../bin/csignal.c:519
+msgid "Edit Aspect"
+msgstr "Modifier un état"
+
+#: ../bin/csignal.c:521
+msgid "Add Aspect"
+msgstr "Ajouter un état"
+
+#: ../bin/csignal.c:523
+msgid "Delete Aspect"
+msgstr "Effacer un état"
+
+#: ../bin/csignal.c:536
+msgid "Aspect Index"
+msgstr "Numéro d'affichage du signal"
+
+#: ../bin/csignal.c:551
+msgid "Create Signal"
+msgstr "Créer un signal"
+
+#: ../bin/csignal.c:555
+msgid "Modify Signal"
+msgstr "Modifier le signal"
+
+#: ../bin/csignal.c:662
+msgid "Edit aspect"
+msgstr "Modifier l'état"
+
+#: ../bin/csignal.c:709
+#, c-format
+msgid "Are you sure you want to delete the %d aspect(s)"
+msgstr "Êtes-vous sûr de vouloir supprimer %d état(s)"
+
+#: ../bin/csignal.c:730
+msgid "Edit signal"
+msgstr "Editer un signal"
+
+#: ../bin/csignal.c:792
+msgid "Place base of signal"
+msgstr "Réglez la base du signal"
+
+#: ../bin/csignal.c:800
+msgid "Drag to orient signal"
+msgstr "Faites glisser pour orienter le signal"
+
+#: ../bin/csnap.c:489
+msgid "Horz"
+msgstr "Horz"
+
+#: ../bin/csnap.c:491
+msgid "Spacing"
+msgstr "Espacement"
+
+#: ../bin/csnap.c:493
+msgid "Divisions"
+msgstr "Divisions"
+
+#: ../bin/csnap.c:496
+msgid "Enable"
+msgstr "Activer"
+
+#: ../bin/csnap.c:497
+msgid "Vert"
+msgstr "Vertical"
+
+#: ../bin/csnap.c:506 ../bin/dease.c:74
+msgid "X"
+msgstr "X"
+
+#: ../bin/csnap.c:510
+msgid "A"
+msgstr "A"
+
+#: ../bin/csnap.c:513
+msgid "Show"
+msgstr "Afficher"
+
+#: ../bin/csnap.c:752
+msgid "Change Grid..."
+msgstr "Modifier la grille ..."
+
+#: ../bin/csplit.c:45
+msgid "Set Block Gaps"
+msgstr "Définir des points de séparation"
+
+#: ../bin/csplit.c:132
+msgid "Select track to split"
+msgstr "Sélectionnez la voie à scinder"
+
+#: ../bin/csplit.c:155
+msgid "Can't Split that Track Object"
+msgstr "On ne peut pas diviser cette voie"
+
+#: ../bin/csplit.c:163 ../bin/csplit.c:175 ../bin/csplit.c:474
+msgid "Split Track"
+msgstr "Segmentation de Voie"
+
+#: ../bin/csplit.c:171 ../bin/csplit.c:294 ../bin/csplit.c:381
+msgid "Can't Split that Draw Object"
+msgstr "On ne peut pas diviser cet élément de dessin"
+
+#: ../bin/csplit.c:181
+msgid "No Track to Split"
+msgstr "Pas de voie à scinder"
+
+#: ../bin/csplit.c:194 ../bin/dbench.c:64 ../bin/dbench.c:75
+msgid "Left"
+msgstr "Gauche"
+
+#: ../bin/csplit.c:195 ../bin/dbench.c:65 ../bin/dbench.c:74
+msgid "Right"
+msgstr "Droit"
+
+#: ../bin/csplit.c:196 ../bin/csplit.c:201
+msgid "Both"
+msgstr "Les deux"
+
+#: ../bin/csplit.c:199
+msgid "Top"
+msgstr "Haut"
+
+#: ../bin/csplit.c:200
+msgid "Bottom"
+msgstr "Bas"
+
+#: ../bin/csplit.c:280
+msgid "Select draw to split"
+msgstr "Sélectionnez le dessin à scinder"
+
+#: ../bin/csplit.c:298 ../bin/csplit.c:475
+msgid "Split Draw"
+msgstr "Fractionner le dessin"
+
+#: ../bin/csplit.c:304
+msgid "No Draw to Split"
+msgstr "Pas de dessin à fractionner"
+
+#: ../bin/csplit.c:342
+msgid "Select the draw object to Trim to"
+msgstr "Sélectionnez l'objet de dessin à découper"
+
+#: ../bin/csplit.c:357
+msgid "Can't Trim with a Track"
+msgstr "Impossible de couper avec une voie"
+
+#: ../bin/csplit.c:362
+msgid "Select an intersecting draw object to Trim"
+msgstr "Sélectionnez un objet de dessin en intersection à ajuster"
+
+#: ../bin/csplit.c:368
+msgid "No Draw to Trim with"
+msgstr "Pas de dessin pour couper avec"
+
+#: ../bin/csplit.c:375
+msgid "Can't Split a track object"
+msgstr "Impossible de diviser un objet de voie"
+
+#: ../bin/csplit.c:403 ../bin/csplit.c:476
+msgid "Trim Draw"
+msgstr "Couper le dessin"
+
+#: ../bin/csplit.c:408
+msgid "Select another draw object to Trim, or Space to Deselect"
+msgstr ""
+"Sélectionnez un autre objet de dessin à découper ou Espace à désélectionner"
+
+#: ../bin/csplit.c:473
+msgid "Split"
+msgstr "Scinder"
+
+#: ../bin/cstraigh.c:75
+msgid "Place 1st endpoint of straight track, snap to unconnected endpoint"
+msgstr ""
+"Placer le 1er point de fin de la voie droite +Maj -> accrocher au point de "
+"fin non connecté"
+
+#: ../bin/cstraigh.c:103
+msgid "Drag to place 2nd end point"
+msgstr "Faites glisser pour placer la 2ème extrémité"
+
+#: ../bin/cstraigh.c:149
+#, c-format
+msgid "Straight Track Length=%s Angle=%0.3f"
+msgstr "Longueur de voie droite = %s Angle = %0.3f"
+
+#: ../bin/cstraigh.c:200 ../bin/tstraigh.c:225
+msgid "Straight Track"
+msgstr "Voie droite"
+
+#: ../bin/cstruct.c:64 ../bin/cturnout.c:84 ../bin/doption.c:91
+#: ../bin/doption.c:241
+msgid "Hide"
+msgstr "Cacher"
+
+#: ../bin/cstruct.c:479 ../bin/cstruct.c:506
+msgid "Pier Number"
+msgstr "Numéro de quai"
+
+#: ../bin/cstruct.c:591
+#, c-format
+msgid "Scale %d:1"
+msgstr "Echelle %d :1"
+
+#: ../bin/cstruct.c:593
+#, c-format
+msgid "Width %s"
+msgstr "Largeur %s"
+
+#: ../bin/cstruct.c:595
+#, c-format
+msgid "Height %s"
+msgstr "Hauteur %s"
+
+#: ../bin/cstruct.c:735
+msgid "Place Structure"
+msgstr "Mettre un bâtiment"
+
+#: ../bin/cstruct.c:828
+msgid "Drag to place"
+msgstr "Faites glisser pour positionner"
+
+#: ../bin/cstruct.c:850
+msgid "Drag to rotate"
+msgstr "Faites glisser pour faire pivoter"
+
+#: ../bin/cstruct.c:870
+#, c-format
+msgid "Angle = %0.3f"
+msgstr "Angle = %0.3f"
+
+#: ../bin/cstruct.c:880 ../bin/cstruct.c:1126 ../bin/cturnout.c:4699
+#: ../bin/cturnout.c:4751 ../bin/cturnout.c:4882 ../bin/cturnout.c:5021
+msgid ""
+"Left-Drag to place, Ctrl+Left-Drag or Right-Drag to Rotate, Space or Enter "
+"to accept, Esc to Cancel"
+msgstr ""
+"Faites glisser vers la gauche pour déplacer, Ctrl +glisser à gauche ou "
+"glisser à droite pour faire pivoter, espace ou entrée pour valider, ESC pour"
+" annuler"
+
+#: ../bin/cstruct.c:953 ../bin/cturnout.c:4836 ../bin/param.c:2721
+msgid "Close"
+msgstr "Fermer"
+
+#: ../bin/cstruct.c:970
+msgid "Select Structure and then drag to place"
+msgstr "Sélectionnez le bâtiment et déplacez-vous vers la position"
+
+#: ../bin/cstruct.c:1009
+msgid ""
+"Left drag to move, right drag to rotate, or press Return or click Ok to "
+"finalize"
+msgstr ""
+"Faites glisser avec le bouton gauche de la souris pour vous déplacer, vers "
+"la droite pour faire pivoter ou sur Entrée ou sur OK pour terminer"
+
+#: ../bin/cstruct.c:1096 ../bin/cturnout.c:4988
+#, c-format
+msgid "Place %s and draw into position"
+msgstr "Placer %s et mettre en position"
+
+#: ../bin/cswitchmotor.c:92 ../bin/cswitchmotor.c:111
+#: ../bin/cswitchmotor.c:224
+msgid "Point Sense"
+msgstr "Sens des aiguilles"
+
+#: ../bin/cswitchmotor.c:112
+msgid "Turnout Number"
+msgstr "Numéro de rapport d'aiguillage"
+
+#: ../bin/cswitchmotor.c:289
+msgid "Change Switch Motor"
+msgstr "Changer de moteur d'aiguillage"
+
+#: ../bin/cswitchmotor.c:356
+msgid "Switch motor"
+msgstr "Moteur d'aiguillage"
+
+#: ../bin/cswitchmotor.c:472
+#, c-format
+msgid "ResolveSwitchmotor: Turnout T%d: T%d doesn't exist"
+msgstr "Revoir le moteur d'aiguillage : l'aiguillage T%d : T%d n'existe pas"
+
+#: ../bin/cswitchmotor.c:541 ../bin/cswitchmotor.c:712
+msgid "Switch motor must have a name!"
+msgstr "Le moteur d'aiguillage doit avoir un nom !"
+
+#: ../bin/cswitchmotor.c:545
+msgid "Create Switch Motor"
+msgstr "Créer un Moteur d'aiguillage"
+
+#: ../bin/cswitchmotor.c:577
+msgid "Create switch motor"
+msgstr "Créer un moteur d'aiguillage"
+
+#: ../bin/cswitchmotor.c:591 ../bin/cswitchmotor.c:623
+#: ../bin/cswitchmotor.c:655
+msgid "Select a turnout"
+msgstr "Sélectionner un aiguillage"
+
+#: ../bin/cswitchmotor.c:599
+msgid "Not a turnout!"
+msgstr "Pas d'aiguillage !"
+
+#: ../bin/cswitchmotor.c:632 ../bin/cswitchmotor.c:663
+msgid "Not a switch motor!"
+msgstr "Pas de moteur d'aiguillage !"
+
+#: ../bin/cswitchmotor.c:668
+#, c-format
+msgid "Really delete switch motor %s?"
+msgstr "Voulez-vous vraiment supprimer le moteur d'aiguillage %s ?"
+
+#: ../bin/cswitchmotor.c:669
+msgid "Delete Switch Motor"
+msgstr "Supprimer le Moteur d'aiguillage"
+
+#: ../bin/cswitchmotor.c:716
+msgid "Modify Switch Motor"
+msgstr "Modifier le moteur d'aiguillage"
+
+#: ../bin/cswitchmotor.c:742
+msgid "Edit switch motor"
+msgstr "Editer le moteur d'aiguillage"
+
+#: ../bin/cswitchmotor.c:748
+#, c-format
+msgid "Edit switch motor %d"
+msgstr "Editer le moteur d'aiguillage %d"
+
+#: ../bin/cswitchmotor.c:852
+msgid "Switch Motor"
+msgstr "Moteur d'aiguillage"
+
+#: ../bin/cswitchmotor.c:865
+#, c-format
+msgid "Deleting Switch Motor %s"
+msgstr "Suppression du moteur d'aiguillage %s"
+
+#: ../bin/ctext.c:194 ../bin/ctext.c:239
+msgid "Create Text"
+msgstr "Créer un texte"
+
+#: ../bin/ctext.c:270
+msgid "Fonts..."
+msgstr "Polices ..."
+
+#: ../bin/ctodesgn.c:135
+msgid "Frog #"
+msgstr "Cœur N° #"
+
+#: ../bin/ctodesgn.c:135
+msgid "Degrees"
+msgstr "Degrés"
+
+#: ../bin/ctodesgn.c:136
+msgid "Dual Path"
+msgstr "Double voie"
+
+#: ../bin/ctodesgn.c:136
+msgid "Quad Path"
+msgstr "Quadruple voie"
+
+#: ../bin/ctodesgn.c:174 ../bin/ctodesgn.c:175 ../bin/ctodesgn.c:176
+#: ../bin/ctodesgn.c:177 ../bin/ctodesgn.c:237 ../bin/ctodesgn.c:260
+#: ../bin/ctodesgn.c:262 ../bin/ctodesgn.c:297 ../bin/ctodesgn.c:300
+#: ../bin/ctodesgn.c:326 ../bin/ctodesgn.c:327 ../bin/ctodesgn.c:363
+#: ../bin/ctodesgn.c:366 ../bin/ctodesgn.c:392 ../bin/ctodesgn.c:394
+#: ../bin/ctodesgn.c:433 ../bin/ctodesgn.c:437 ../bin/ctodesgn.c:440
+#: ../bin/ctodesgn.c:652
+msgid "Offset"
+msgstr "Écart"
+
+#: ../bin/ctodesgn.c:195 ../bin/ctodesgn.c:2934 ../bin/ctodesgn.c:2935
+msgid "Left Description"
+msgstr "Description gauche"
+
+#: ../bin/ctodesgn.c:196 ../bin/ctodesgn.c:199
+msgid " #"
+msgstr " #"
+
+#: ../bin/ctodesgn.c:198 ../bin/ctodesgn.c:2933
+msgid "Right Description"
+msgstr "Description droite"
+
+#: ../bin/ctodesgn.c:200
+msgid "Roadbed Width"
+msgstr "Largeur de balast"
+
+#: ../bin/ctodesgn.c:204 ../bin/denum.c:52
+msgid "Print Setup"
+msgstr "Réglages Imp"
+
+#: ../bin/ctodesgn.c:235
+msgid "Diverging Length"
+msgstr "Longueur voie déviée"
+
+#: ../bin/ctodesgn.c:236
+msgid "Diverging Angle"
+msgstr "Angle voie déviée"
+
+#: ../bin/ctodesgn.c:237
+msgid "Diverging Offset"
+msgstr "Décalage voie déviée"
+
+#: ../bin/ctodesgn.c:238
+msgid "Overall Length"
+msgstr "Longueur totale"
+
+#: ../bin/ctodesgn.c:248
+msgid "Regular Turnout"
+msgstr "Aiguillage droit"
+
+#: ../bin/ctodesgn.c:258 ../bin/ctodesgn.c:295
+msgid "Inner Length"
+msgstr "Longueur intérieure"
+
+#: ../bin/ctodesgn.c:259 ../bin/ctodesgn.c:296
+msgid "Inner Angle"
+msgstr "Angle Intérieur"
+
+#: ../bin/ctodesgn.c:260 ../bin/ctodesgn.c:297
+msgid "Inner Offset"
+msgstr "Décalage interne"
+
+#: ../bin/ctodesgn.c:261 ../bin/ctodesgn.c:299
+msgid "Outer Angle"
+msgstr "Angle extérieur"
+
+#: ../bin/ctodesgn.c:262 ../bin/ctodesgn.c:300
+msgid "Outer Offset"
+msgstr "Décalage extérieur"
+
+#: ../bin/ctodesgn.c:263 ../bin/ctodesgn.c:302
+msgid "Outer Length"
+msgstr "Longueur extérieure"
+
+#: ../bin/ctodesgn.c:285
+msgid "Curved Turnout"
+msgstr "Aiguillage courbe"
+
+#: ../bin/ctodesgn.c:298
+msgid "Inner Radius"
+msgstr "Rayon intérieur"
+
+#: ../bin/ctodesgn.c:301
+msgid "Outer Radius"
+msgstr "Rayon extérieur"
+
+#: ../bin/ctodesgn.c:303 ../bin/ctodesgn.c:370 ../bin/ctodesgn.c:445
+msgid "Toe Radius"
+msgstr "Rayon initial"
+
+#: ../bin/ctodesgn.c:304 ../bin/ctodesgn.c:369
+msgid "Toe Length"
+msgstr "Longueur initiale"
+
+#: ../bin/ctodesgn.c:314
+msgid "Cornu Curved Turnout"
+msgstr "Aiguillage courbe Cornu"
+
+#: ../bin/ctodesgn.c:324 ../bin/ctodesgn.c:361 ../bin/ctodesgn.c:390
+#: ../bin/ctodesgn.c:431
+msgid "Left Length"
+msgstr "Longueur à gauche"
+
+#: ../bin/ctodesgn.c:325 ../bin/ctodesgn.c:362 ../bin/ctodesgn.c:391
+#: ../bin/ctodesgn.c:432
+msgid "Left Angle"
+msgstr "Angle gauche"
+
+#: ../bin/ctodesgn.c:326 ../bin/ctodesgn.c:363 ../bin/ctodesgn.c:392
+#: ../bin/ctodesgn.c:433
+msgid "Left Offset"
+msgstr "Décalage gauche"
+
+#: ../bin/ctodesgn.c:327 ../bin/ctodesgn.c:366 ../bin/ctodesgn.c:394
+#: ../bin/ctodesgn.c:440
+msgid "Right Offset"
+msgstr "Bon offset"
+
+#: ../bin/ctodesgn.c:328 ../bin/ctodesgn.c:367 ../bin/ctodesgn.c:395
+#: ../bin/ctodesgn.c:441
+msgid "Right Angle"
+msgstr "Angle droit"
+
+#: ../bin/ctodesgn.c:329 ../bin/ctodesgn.c:368 ../bin/ctodesgn.c:396
+#: ../bin/ctodesgn.c:442
+msgid "Right Length"
+msgstr "Bonne longueur"
+
+#: ../bin/ctodesgn.c:351
+msgid "Wye Turnout"
+msgstr "Aiguillage symétrique"
+
+#: ../bin/ctodesgn.c:364 ../bin/ctodesgn.c:434
+msgid "Left Radius"
+msgstr "Rayon gauche"
+
+#: ../bin/ctodesgn.c:365 ../bin/ctodesgn.c:439
+msgid "Right Radius"
+msgstr "Rayon droit"
+
+#: ../bin/ctodesgn.c:380
+msgid "Cornu Wye Turnout"
+msgstr "Aiguillage symétrique Cornu"
+
+#: ../bin/ctodesgn.c:421
+msgid "3-way Turnout"
+msgstr "Aiguillage 3-voies"
+
+#: ../bin/ctodesgn.c:435
+msgid "Center Length"
+msgstr "Longueur intérieure"
+
+#: ../bin/ctodesgn.c:436
+msgid "Center Angle"
+msgstr "Angle Intérieur"
+
+#: ../bin/ctodesgn.c:437 ../bin/dcar.c:2229
+msgid "Center Offset"
+msgstr "Décalage interne"
+
+#: ../bin/ctodesgn.c:438
+msgid "Center Radius"
+msgstr "Rayon du cercle"
+
+#: ../bin/ctodesgn.c:443
+msgid "Toe Length Left"
+msgstr "Longueur initiale gauche"
+
+#: ../bin/ctodesgn.c:444
+msgid "Toe Length Right"
+msgstr "Longueur initiale droite"
+
+#: ../bin/ctodesgn.c:456
+msgid "Cornu 3-way Turnout"
+msgstr "Aiguillage 3-voies Cornu"
+
+#: ../bin/ctodesgn.c:476
+msgid "Crossing"
+msgstr "Croisement"
+
+#: ../bin/ctodesgn.c:497
+msgid "Single Slipswitch"
+msgstr "Traversée jonction simple"
+
+#: ../bin/ctodesgn.c:526
+msgid "Double Slipswitch"
+msgstr "Traversée jonction double"
+
+#: ../bin/ctodesgn.c:546
+msgid "Right Crossover"
+msgstr "Traversée droite"
+
+#: ../bin/ctodesgn.c:566
+msgid "Left Crossover"
+msgstr "Traversée gauche"
+
+#: ../bin/ctodesgn.c:586
+msgid "Double Crossover"
+msgstr "Traversée double"
+
+#: ../bin/ctodesgn.c:604
+msgid "Straight Section"
+msgstr "Section droite"
+
+#: ../bin/ctodesgn.c:615
+msgid "Angle (Degrees)"
+msgstr "Angle (Degrés)"
+
+#: ../bin/ctodesgn.c:623
+msgid "Curved Section"
+msgstr "Section courbe"
+
+#: ../bin/ctodesgn.c:642
+msgid "Bumper Section"
+msgstr "Section Butoir"
+
+#: ../bin/ctodesgn.c:652 ../bin/denum.c:123 ../bin/denum.c:188
+#: ../bin/denum.c:220 ../bin/denum.c:221
+msgid "Count"
+msgstr "Qté"
+
+#: ../bin/ctodesgn.c:653
+msgid "Radius1"
+msgstr "Rayon1"
+
+#: ../bin/ctodesgn.c:654
+msgid "Radius2"
+msgstr "Rayon2"
+
+#: ../bin/ctodesgn.c:734
+msgid "Turntable Section"
+msgstr "Section de pont tournant"
+
+#: ../bin/ctodesgn.c:2571
+#, c-format
+msgid "%s Designer"
+msgstr "%s Designer"
+
+#: ../bin/ctodesgn.c:2574
+#, c-format
+msgid "%s %d x %d (of %d x %d)"
+msgstr "%s %d x %d (de %d x %d)"
+
+#: ../bin/ctodesgn.c:2574
+msgid "Page"
+msgstr "Page"
+
+#: ../bin/ctodesgn.c:2581
+msgid "Frog Number"
+msgstr "N° de coeur"
+
+#: ../bin/ctodesgn.c:2887
+msgid "Turnout Designer"
+msgstr "Conception d'aiguillage"
+
+#: ../bin/ctodesgn.c:2897
+#, c-format
+msgid "%s %s Designer"
+msgstr "%s concepteur de %s"
+
+#: ../bin/ctrain.c:183 ../bin/dcar.c:2241 ../bin/dcar.c:4373
+#: ../bin/dcar.c:4378
+msgid "Index"
+msgstr "Index"
+
+#: ../bin/ctrain.c:189 ../bin/dcar.c:4374
+msgid "Rep Marks"
+msgstr "Numéros de voiture"
+
+#: ../bin/ctrain.c:273
+msgid "Car"
+msgstr "Véhicule"
+
+#: ../bin/ctrain.c:659
+msgid "Follow"
+msgstr "Suivre"
+
+#: ../bin/ctrain.c:660
+msgid "Auto Reverse"
+msgstr "Inversion automatique"
+
+#: ../bin/ctrain.c:679 ../bin/dcar.c:5260
+msgid "Find"
+msgstr "Chercher"
+
+#: ../bin/ctrain.c:685 ../bin/ctrain.c:942 ../bin/ctrain.c:1251
+#: ../wlib/gtklib/ixhelp.c:239
+msgid "Forward"
+msgstr "Avant"
+
+#: ../bin/ctrain.c:687 ../bin/ctrain.c:3133 ../bin/dcar.c:4711
+#: ../bin/dcar.c:4721 ../bin/dcar.c:4840 ../bin/fileio.c:215 ../bin/macro.c:61
+#: ../bin/macro.c:874
+msgid "Stop"
+msgstr "Stop"
+
+#: ../bin/ctrain.c:883 ../bin/ctrain.c:912
+msgid "Crashed"
+msgstr "Dérailler"
+
+#: ../bin/ctrain.c:885
+msgid "Not on Track"
+msgstr "Pas sur la voie"
+
+#: ../bin/ctrain.c:889
+msgid "Trains Paused"
+msgstr "Trains en pause"
+
+#: ../bin/ctrain.c:891
+msgid "Running"
+msgstr "Marche"
+
+#: ../bin/ctrain.c:896
+msgid "End of Track"
+msgstr "Fin de voie"
+
+#: ../bin/ctrain.c:900
+msgid "Open Turnout"
+msgstr "Aiguillage ouvert"
+
+#: ../bin/ctrain.c:904
+msgid "Manual Stop"
+msgstr "Arrêt manuel"
+
+#: ../bin/ctrain.c:908
+msgid "No Room"
+msgstr "Pas d'espace de travail"
+
+#: ../bin/ctrain.c:916
+msgid "Unknown Status"
+msgstr "Statut inconnu"
+
+#: ../bin/ctrain.c:926
+msgid "No trains"
+msgstr "Pas de trains"
+
+#: ../bin/ctrain.c:1302
+msgid "Train Control XXX"
+msgstr "Contrôle du train XXX"
+
+#: ../bin/ctrain.c:1303
+#, c-format
+msgid "Train Control %d"
+msgstr "Contrôle du train %d"
+
+#: ../bin/ctrain.c:1305
+msgid "Train Control"
+msgstr "Panneau de commande"
+
+#: ../bin/ctrain.c:3103 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:155
+msgid "Run Trains"
+msgstr "Mode Trains"
+
+#: ../bin/ctrain.c:3119
+msgid "Uncouple"
+msgstr "Découpler"
+
+#: ../bin/ctrain.c:3121
+msgid "Flip Car"
+msgstr "Inverser un véhicule"
+
+#: ../bin/ctrain.c:3123
+msgid "Clearance Lines On"
+msgstr "Lignes de dégagement On"
+
+#: ../bin/ctrain.c:3125
+msgid "Clearance Lines Off"
+msgstr "Lignes de dégagement Off"
+
+#: ../bin/ctrain.c:3127
+msgid "Flip Train"
+msgstr "Inverser le train"
+
+#: ../bin/ctrain.c:3129
+msgid "MU Master"
+msgstr "MU Master"
+
+#: ../bin/ctrain.c:3132
+msgid "Change Direction"
+msgstr "Changer de direction"
+
+#: ../bin/ctrain.c:3136
+msgid "Remove Car"
+msgstr "Supprimer un véhicule"
+
+#: ../bin/ctrain.c:3139
+msgid "Remove Train"
+msgstr "Supprimer le train"
+
+#: ../bin/cturnout.c:95 ../bin/dcar.c:2263 ../bin/dcar.c:2267
+msgid "New"
+msgstr "Nouveau"
+
+#: ../bin/cturnout.c:415 ../bin/cturnout.c:420
+#, c-format
+msgid "CheckPath: Turnout path[%d] %d is not a track segment"
+msgstr ""
+"Vérifiez le tracé : Le tracé de l'aiguillage [%d] %d n'est pas un segment de"
+" voie"
+
+#: ../bin/cturnout.c:428
+#, c-format
+msgid ""
+"CheckPath: Turnout path[%d] %d-%d not connected: %0.3f P0(%f,%f) P1(%f,%f)"
+msgstr ""
+"Vérifiez le tracé : Tracé d'aiguillage[%d] %d-%d non connecté: %0.3f "
+"P0(%f,%f) P1(%f,%f)"
+
+#: ../bin/cturnout.c:475
+msgid "Unknown special case"
+msgstr "Cas spécial inconnu"
+
+#: ../bin/cturnout.c:592
+msgid "Connect Adjustable Tracks"
+msgstr "Connecter les voies ajustables"
+
+#: ../bin/cturnout.c:2984
+msgid "splitTurnout: can't find segment"
+msgstr "aiguillage fractionné : impossible de trouver le segment"
+
+#: ../bin/cturnout.c:3443 ../bin/track.c:2324 ../bin/track.c:2430
+#: ../bin/tstraigh.c:632
+msgid "Drag to change track length"
+msgstr "Faites glisser pour changer la longueur de la voie"
+
+#: ../bin/cturnout.c:3454
+#, c-format
+msgid "Length=%s"
+msgstr "Longueur = %s"
+
+#: ../bin/cturnout.c:3737
+#, c-format
+msgid "Turnout %d Path: %s"
+msgstr "Aiguillage %d Chemin: %s"
+
+#: ../bin/cturnout.c:4288
+#, c-format
+msgid "%d connections, max distance %0.3f (%s)"
+msgstr "%d connections, distance max %0.3f (%s)"
+
+#: ../bin/cturnout.c:4294
+#, c-format
+msgid "0 connections (%s)"
+msgstr "0 connections (%s)"
+
+#: ../bin/cturnout.c:4333
+msgid "Place New Turnout"
+msgstr "Mettre un nouvel aiguillage"
+
+#: ../bin/cturnout.c:4743
+#, c-format
+msgid "Angle = %0.3f (%s)"
+msgstr "Angle = %0.3f (%s)"
+
+#: ../bin/cturnout.c:4853
+msgid "Pick turnout and active End Point, then place on the layout"
+msgstr ""
+"Choisissez l'aiguillage avec son point de fin actif, puis placez-le sur le "
+"plan"
+
+#: ../bin/cturnout.c:5048
+msgid "Predefined Track"
+msgstr "Voie sélectionnée"
+
+#: ../bin/cturntbl.c:49 ../bin/cturntbl.c:248 ../bin/cturntbl.c:946
+#: ../bin/cturntbl.c:961
+msgid "Diameter"
+msgstr "Diamètre"
+
+#: ../bin/cturntbl.c:249
+msgid "# EndPt"
+msgstr "# Bout"
+
+#: ../bin/cturntbl.c:283
+#, c-format
+msgid "Turntable(%d): Layer=%d Center=[%s %s] Diameter=%s #EP=%d"
+msgstr ""
+"Pont tournant(%d) : Couche=%d Centre=[%s %s] Diamètre=%s #Nb de points=%d"
+
+#: ../bin/cturntbl.c:302
+msgid "Turntable"
+msgstr "Pont tournant"
+
+#: ../bin/cturntbl.c:610
+msgid "Drag to create stall track"
+msgstr "Faites glisser pour créer une voie de dépassement"
+
+#: ../bin/cturntbl.c:663
+msgid "Connect Turntable Tracks"
+msgstr "Connecter les voies du pont tournant"
+
+#: ../bin/cturntbl.c:975
+msgid "Create Turntable"
+msgstr "Créer un pont tournant"
+
+#: ../bin/cturntbl.c:1006
+msgid "Custom Turntable"
+msgstr "Pont tournant prototype"
+
+#: ../bin/cundo.c:210
+msgid "Undo Trace"
+msgstr "Annuler la trace"
+
+#: ../bin/cundo.c:628
+#, c-format
+msgid "Undo: %s"
+msgstr "Annuler : %s"
+
+#: ../bin/cundo.c:631 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:167
+msgid "Undo last command"
+msgstr "Annuler la dernière commande"
+
+#: ../bin/cundo.c:636
+#, c-format
+msgid "Redo: %s"
+msgstr "Refaire : %s"
+
+#: ../bin/cundo.c:639 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:128
+msgid "Redo last undo"
+msgstr "Refaire la dernière annulation"
+
+#: ../bin/custom.c:147
+#, c-format
+msgid "%s Turnout Designer"
+msgstr "%s Conception d'aiguillage"
+
+#: ../bin/custom.c:152
+#, c-format
+msgid "%s Version %s"
+msgstr "%s Version %s"
+
+#: ../bin/custom.c:157
+#, c-format
+msgid ""
+"All %s Files (*.xtc,*.xtce)|*.xtc;*.xtce|%s Trackplan (*.xtc)|*.xtc|%s "
+"Extended Trackplan (*.xtce)|*.xtce|All Files (*)|*"
+msgstr ""
+"Tous les fichiers %s (*.xtc,*.xtce)|*.xtc;*.xtce|%s Trackplan "
+"(*.xtc)|*.xtc|%s Trackplan étendu (*.xtce)|*.xtce|Tous les fichiers (*)|*"
+
+#: ../bin/custom.c:168
+#, c-format
+msgid ""
+"%s Trackplan (*.xtc)|*.xtc|%s Extended Trackplan (*.xtce)|*.xtce|All Files "
+"(*)|*"
+msgstr ""
+"%s Trackplan (*.xtc)|*.xtc|%s Trackplan étendu (*.xtce)|*.xtce|Tous les "
+"fichiers (*)|*"
+
+#: ../bin/custom.c:177
+#, c-format
+msgid "All Files (*)|*"
+msgstr "Tous les fichiers (*)|*"
+
+#: ../bin/custom.c:182
+#, c-format
+msgid "%s Import Files (*.xti)|*.xti"
+msgstr "%s Fichiers (*.xti) importés|*.xti"
+
+#: ../bin/custom.c:187
+msgid "Data Exchange Format Files (*.dxf)|*.dxf"
+msgstr "Fichiers de format d'échange de données (*.dxf)|*.dxf"
+
+#: ../bin/custom.c:191
+msgid "Scalable Vector Graphics Format Files (*.svg)|*.svg"
+msgstr "Fichiers de format de graphiques vectoriels évolutifs (*.svg)|*.svg"
+
+#: ../bin/custom.c:196
+#, c-format
+msgid "%s Record Files (*.xtr)|*.xtr"
+msgstr "%s Fichiers d'enregistrement (*.xtr)|*.xtr"
+
+#: ../bin/custom.c:201
+#, c-format
+msgid "%s Note Files (*.not)|*.not"
+msgstr "Pas de fichiers %s (*.not)|*.not"
+
+#: ../bin/custom.c:206
+#, c-format
+msgid "%s Log Files (*.log)|*.log"
+msgstr "Fichiers Log %s (*.log)|*.log"
+
+#: ../bin/custom.c:211
+#, c-format
+msgid "%s PartsList Files (*.txt)|*.txt"
+msgstr "Fichiers de nomenclature %s (*.txt)|*.txt"
+
+#: ../bin/dbench.c:38
+msgid " L-Girder"
+msgstr " L-Support"
+
+#: ../bin/dbench.c:38
+msgid " T-Girder"
+msgstr " T-Support"
+
+#: ../bin/dbench.c:61
+msgid "On Edge"
+msgstr "Sur le bord"
+
+#: ../bin/dbench.c:62
+msgid "Flat"
+msgstr "Plat"
+
+#: ../bin/dbench.c:66
+msgid "Left-Down"
+msgstr "En bas à gauche"
+
+#: ../bin/dbench.c:67
+msgid "Right-Down"
+msgstr "En bas à droite"
+
+#: ../bin/dbench.c:68
+msgid "Left-Up"
+msgstr "En haut à gauche"
+
+#: ../bin/dbench.c:69
+msgid "Right-Up"
+msgstr "En haut à droite"
+
+#: ../bin/dbench.c:70
+msgid "Left-Inverted"
+msgstr "Inversé à gauche"
+
+#: ../bin/dbench.c:71
+msgid "Right-Inverted"
+msgstr "Inversé à droite"
+
+#: ../bin/dbench.c:76
+msgid "Inverted"
+msgstr "Inversé"
+
+#: ../bin/dbench.c:143
+#, c-format
+msgid ""
+"Bad BenchType for %s:\n"
+"%s"
+msgstr ""
+"Mauvais type de support pour%s:\n"
+"%s"
+
+#: ../bin/dbitmap.c:149
+msgid "Drawing tracks to bitmap"
+msgstr "Tracer des voies en bitmap"
+
+#: ../bin/dbitmap.c:186
+msgid "Drawn with "
+msgstr "Dessiné avec "
+
+#: ../bin/dbitmap.c:228
+msgid "Writing bitmap to file"
+msgstr "Enregistrer en bitmap dans un fichier"
+
+#: ../bin/dbitmap.c:251
+msgid "Layout Titles"
+msgstr "Titres du plan"
+
+#: ../bin/dbitmap.c:252
+msgid "Borders"
+msgstr "Bordures"
+
+#: ../bin/dbitmap.c:253
+msgid "Centerline of Track"
+msgstr "Ligne médiane de la voie ferrée"
+
+#: ../bin/dbitmap.c:254
+msgid "Background Image"
+msgstr "Image de fond"
+
+#: ../bin/dbitmap.c:261
+msgid "Include "
+msgstr "inclure"
+
+#: ../bin/dbitmap.c:263
+msgid "Resolution "
+msgstr "Échelle de résolution"
+
+#: ../bin/dbitmap.c:264
+msgid "dpi"
+msgstr "points par pouce"
+
+#: ../bin/dbitmap.c:265
+msgid "Bitmap Size "
+msgstr "Taille du bitmap"
+
+#: ../bin/dbitmap.c:267
+msgid "99999 by 99999 pixels"
+msgstr "Bitmap : 99999 par 99999 pixels"
+
+#: ../bin/dbitmap.c:268
+msgid "Approximate File Size "
+msgstr "Taille approchée du fichier"
+
+#: ../bin/dbitmap.c:270
+msgid "999.9Mb"
+msgstr "999.9Mb"
+
+#: ../bin/dbitmap.c:316
+#, c-format
+msgid "%ld by %ld pixels"
+msgstr "%ld par %ld pixels"
+
+#: ../bin/dbitmap.c:338
+#, c-format
+msgid "%0.0f"
+msgstr "%0.0f"
+
+#: ../bin/dbitmap.c:340
+#, c-format
+msgid "%0.1fKb"
+msgstr "%0.1fKb"
+
+#: ../bin/dbitmap.c:342
+#, c-format
+msgid "%0.1fMb"
+msgstr "%0.1fMb"
+
+#: ../bin/dbitmap.c:344
+#, c-format
+msgid "%0.1fGb"
+msgstr "%0.1fGb"
+
+#: ../bin/dbitmap.c:435
+msgid "Save Bitmap"
+msgstr "Enregistrer le bitmap"
+
+#: ../bin/dbitmap.c:436
+msgid ""
+"Portable Network Graphics format (*.png)|*.png|JPEG format (*.jpg)|*.jpg"
+msgstr ""
+"Format graphique réseau portable (*.png)|*.png|JPEG format (*.jpg)|*.jpg"
+
+#: ../bin/dbitmap.c:471
+msgid "Export to bitmap"
+msgstr "Exporter en bitmap"
+
+#: ../bin/dcar.c:45
+msgid "Truck"
+msgstr "Bogies"
+
+#: ../bin/dcar.c:45
+msgid "Body"
+msgstr "Structure"
+
+#: ../bin/dcar.c:147 ../bin/dcar.c:2694 ../bin/dcar.c:2698
+msgid "Unknown"
+msgstr "Inconnu"
+
+#: ../bin/dcar.c:469
+msgid "Diesel Loco"
+msgstr "Loco Diesel"
+
+#: ../bin/dcar.c:470
+msgid "Steam Loco"
+msgstr "Loco vapeur"
+
+#: ../bin/dcar.c:471
+msgid "Elect Loco"
+msgstr "Loco Elect"
+
+#: ../bin/dcar.c:472
+msgid "Freight Car"
+msgstr "Wagon march"
+
+#: ../bin/dcar.c:473
+msgid "Psngr Car"
+msgstr "Voiture voy"
+
+#: ../bin/dcar.c:474
+msgid "M-O-W"
+msgstr "Chariot"
+
+#: ../bin/dcar.c:475
+msgid "Other"
+msgstr "Autres"
+
+#: ../bin/dcar.c:1173 ../bin/dcar.c:5081
+msgid "N/A"
+msgstr "Non applicable"
+
+#: ../bin/dcar.c:1174 ../bin/dcar.c:5086
+msgid "Mint"
+msgstr "Mint"
+
+#: ../bin/dcar.c:1175 ../bin/dcar.c:5085
+msgid "Excellent"
+msgstr "Excellent"
+
+#: ../bin/dcar.c:1176 ../bin/dcar.c:5084
+msgid "Good"
+msgstr "Bon"
+
+#: ../bin/dcar.c:1177 ../bin/dcar.c:5083
+msgid "Fair"
+msgstr "Juste"
+
+#: ../bin/dcar.c:1178 ../bin/dcar.c:5082
+msgid "Poor"
+msgstr "Mauvais"
+
+#: ../bin/dcar.c:1492 ../bin/dpricels.c:42
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:486
+msgid "Item"
+msgstr "Objet"
+
+#: ../bin/dcar.c:2164 ../wlib/gtklib/notice.c:96 ../wlib/mswlib/mswmisc.c:2129
+msgid "Information"
+msgstr "Information"
+
+#: ../bin/dcar.c:2164
+msgid "Customize"
+msgstr "Personnaliser"
+
+#: ../bin/dcar.c:2177
+msgid "Sequential"
+msgstr "Séquentiel"
+
+#: ../bin/dcar.c:2177
+msgid "Repeated"
+msgstr "Répété"
+
+#: ../bin/dcar.c:2188 ../bin/dcar.c:2190 ../bin/dcar.c:5411
+msgid "Prototype"
+msgstr "Prototype"
+
+#: ../bin/dcar.c:2196
+msgid "Part"
+msgstr "Référence"
+
+#: ../bin/dcar.c:2198 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:408
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:618
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:619
+msgid "Part Number"
+msgstr "Référence N°"
+
+#: ../bin/dcar.c:2200
+msgid "Loco?"
+msgstr "Loco ?"
+
+#: ../bin/dcar.c:2204 ../bin/dcar.c:4411
+msgid "Import"
+msgstr "Importation"
+
+#: ../bin/dcar.c:2211
+msgid "Mode"
+msgstr "Mode"
+
+#: ../bin/dcar.c:2215
+msgid "Road"
+msgstr "Compagnie ferroviaire"
+
+#: ../bin/dcar.c:2217
+msgid "Reporting Mark"
+msgstr "Sigle"
+
+#: ../bin/dcar.c:2219
+msgid "Number"
+msgstr "Nombre"
+
+#: ../bin/dcar.c:2223
+msgid "Car Length"
+msgstr "Longueur hors tampons"
+
+#: ../bin/dcar.c:2227
+msgid "Truck Centers"
+msgstr "Centre des bogies"
+
+#: ../bin/dcar.c:2231
+msgid "Coupler Mount"
+msgstr "Support d'attelage"
+
+#: ../bin/dcar.c:2233
+msgid "Coupled Length"
+msgstr "Longueur de couplage"
+
+#: ../bin/dcar.c:2235 ../bin/dcar.c:4256
+msgid "Coupler Length"
+msgstr "Longueur de l'attelage"
+
+#: ../bin/dcar.c:2243
+msgid "Purchase Price"
+msgstr "Prix d'achat"
+
+#: ../bin/dcar.c:2245 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:264
+msgid "Current Price"
+msgstr "Prix actuel"
+
+#: ../bin/dcar.c:2247 ../bin/dcar.c:4375 ../bin/dcar.c:4380
+msgid "Condition"
+msgstr "Condition"
+
+#: ../bin/dcar.c:2249
+msgid "Purchase Date"
+msgstr "Date d'achat"
+
+#: ../bin/dcar.c:2251 ../bin/dcar.c:4380
+msgid "Service Date"
+msgstr "Date de service"
+
+#: ../bin/dcar.c:2253
+msgid "Quantity"
+msgstr "Quantité"
+
+#: ../bin/dcar.c:2255
+msgid "Numbers"
+msgstr "Nombres"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:487
+#: ../bin/dcar.c:2257 ../bin/dcar.c:4376 ../bin/trknote.c:709
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1267
+msgid "Notes"
+msgstr "Remarques"
+
+#: ../bin/dcar.c:2264
+msgid "Car Part"
+msgstr "Partie de véhicule"
+
+#: ../bin/dcar.c:2265 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:238
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:239
+msgid "Car Prototype"
+msgstr "Véhicule prototype"
+
+#: ../bin/dcar.c:2628 ../bin/dcar.c:2945
+msgid "Undecorated"
+msgstr "Sans étiquette"
+
+#: ../bin/dcar.c:2686 ../bin/dcar.c:2690 ../bin/paramfilelist.c:390
+msgid "Custom"
+msgstr "Personnalisé"
+
+#: ../bin/dcar.c:2855
+msgid "Undecorated "
+msgstr "Sans étiquette "
+
+#: ../bin/dcar.c:3077
+#, c-format
+msgid "New %s Scale Car"
+msgstr "Nouveau véhicule à l'échelle %s"
+
+#: ../bin/dcar.c:3078 ../bin/dcar.c:3087 ../bin/dcar.c:3096 ../bin/dcar.c:4289
+#: ../bin/dcar.c:4407 ../bin/paramfilesearch_ui.c:76
+msgid "Add"
+msgstr "Ajouter"
+
+#: ../bin/dcar.c:3080
+#, c-format
+msgid "Update %s Scale Car"
+msgstr "Mettre à jour le véhicule à l'échelle %s"
+
+#: ../bin/dcar.c:3081 ../bin/dcar.c:3090 ../bin/dcar.c:3099
+#: ../bin/dcmpnd.c:168
+msgid "Update"
+msgstr "Mise à jour"
+
+#: ../bin/dcar.c:3086
+#, c-format
+msgid "New %s Scale Car Part"
+msgstr "Nouvelle fiche véhicule à l'échelle %s"
+
+#: ../bin/dcar.c:3089
+#, c-format
+msgid "Update %s Scale Car Part"
+msgstr "Mettre à jour %s la pièce de véhicule à l'échelle"
+
+#: ../bin/dcar.c:3095
+msgid "New Prototype"
+msgstr "Nouveau prototype"
+
+#: ../bin/dcar.c:3098
+msgid "Update Prototype"
+msgstr "Mettre à jour le prototype"
+
+#: ../bin/dcar.c:3739
+msgid "Truck Center Offset plus Truck Centers must be less than Car Length"
+msgstr ""
+"Le décalage des centres de bogies plus la moitié de ces derniers doit être "
+"inférieur à la longueur du véhicule"
+
+#: ../bin/dcar.c:3796 ../bin/dcar.c:3800
+msgid "Enter a 8 digit numeric date (yyyymmdd)"
+msgstr "Entrez une date numérique à 8 chiffres (aaaammjj)"
+
+#: ../bin/dcar.c:3803
+msgid "Enter a date between 19000101 and 21991231"
+msgstr "Entrez une date comprise entre 19000101 et 21991231"
+
+#: ../bin/dcar.c:3809
+msgid "Invalid month"
+msgstr "Mois invalide"
+
+#: ../bin/dcar.c:3812
+msgid "Invalid day"
+msgstr "Jour invalide"
+
+#: ../bin/dcar.c:3907
+msgid "Select or Enter a Manufacturer"
+msgstr "Sélectionnez ou entrez un fabricant"
+
+#: ../bin/dcar.c:3910
+#, c-format
+msgid "Item Index %ld duplicated an existing item: updated to new value"
+msgstr ""
+"L'index de l'objet %ld existe déjà : mis à jour avec une nouvelle valeur"
+
+#: ../bin/dcar.c:4115
+#, c-format
+msgid "Added %ld new Cars"
+msgstr "Ajout de %ld nouveaux matériels roulants"
+
+#: ../bin/dcar.c:4117
+msgid "Added new Car"
+msgstr "Ajout d'un nouveau véhicule"
+
+#: ../bin/dcar.c:4120
+msgid "Updated Car"
+msgstr "Véhicule mis à jour"
+
+#: ../bin/dcar.c:4123
+msgid " and Part"
+msgstr " et une partie"
+
+#: ../bin/dcar.c:4150
+#, c-format
+msgid "%s Part: %s %s %s %s %s %s"
+msgstr "%s Partie : %s %s %s %s %s %s"
+
+#: ../bin/dcar.c:4150 ../bin/dcar.c:4167
+msgid "Added new"
+msgstr "Ajout d'un nouveau"
+
+#: ../bin/dcar.c:4150 ../bin/dcar.c:4167
+msgid "Updated"
+msgstr "Mis à jour"
+
+#: ../bin/dcar.c:4166
+#, c-format
+msgid "%s Prototype: %s%s."
+msgstr "%s Prototype: %s%s."
+
+#: ../bin/dcar.c:4168
+msgid ". Enter new values or press Close"
+msgstr ". Entrez de nouvelles valeurs ou appuyez sur Fermer"
+
+#: ../bin/dcar.c:4289
+msgid "New Car Part"
+msgstr "Nouvelle fiche de véhicule"
+
+#: ../bin/dcar.c:4374 ../bin/dcar.c:4379
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:456
+msgid "Roadname"
+msgstr "Compagnie ferroviaire"
+
+#: ../bin/dcar.c:4374
+msgid "Purc Price"
+msgstr "Prix d'achat"
+
+#: ../bin/dcar.c:4375 ../bin/dcar.c:4380
+msgid "Curr Price"
+msgstr "Prix act"
+
+#: ../bin/dcar.c:4375
+msgid "Purc Date"
+msgstr "Date d'achat"
+
+#: ../bin/dcar.c:4375
+msgid "Srvc Date"
+msgstr "Date de service"
+
+#: ../bin/dcar.c:4376
+msgid "Locat'n"
+msgstr "Lieu"
+
+#: ../bin/dcar.c:4379
+msgid "RepMarks"
+msgstr "Sigles"
+
+#: ../bin/dcar.c:4379
+msgid "Purch Price"
+msgstr "Prix d'achat"
+
+#: ../bin/dcar.c:4380
+msgid "Purch Date"
+msgstr "Date d'achat"
+
+#: ../bin/dcar.c:4397
+msgid "Sort By"
+msgstr "Trier par"
+
+#: ../bin/dcar.c:4405 ../bin/dcontmgm.c:87 ../bin/dcustmgm.c:56
+#: ../bin/dcustmgm.c:93
+msgid "Edit"
+msgstr "Editer"
+
+#: ../bin/dcar.c:4409 ../bin/dcontmgm.c:89 ../bin/dcustmgm.c:58
+#: ../bin/misc.c:2497
+msgid "Delete"
+msgstr "Effacer"
+
+#: ../bin/dcar.c:4413 ../bin/fileio.c:1490
+msgid "Export"
+msgstr "Exporter"
+
+#: ../bin/dcar.c:4415 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:635
+msgid "List"
+msgstr "Liste"
+
+#: ../bin/dcar.c:4525 ../bin/dcar.c:5260 ../bin/misc.c:2896
+msgid "Car Inventory"
+msgstr "Inventaire des véhicules"
+
+#: ../bin/dcar.c:4645
+msgid "List Cars"
+msgstr "Liste de véhicules"
+
+#: ../bin/dcar.c:4768 ../bin/dcar.c:4933
+msgid "Import Cars"
+msgstr "Importer des véhicules"
+
+#: ../bin/dcar.c:4934 ../bin/dcar.c:5056
+msgid "Comma-Separated-Values (*.csv)|*.csv"
+msgstr "Valeurs séparées par des virgules (*.csv)|*.csv"
+
+#: ../bin/dcar.c:5003 ../bin/dcar.c:5055
+msgid "Export Cars"
+msgstr "Exporter les véhicules"
+
+#: ../bin/dcar.c:5089
+msgid "Layout"
+msgstr "Plan"
+
+#: ../bin/dcar.c:5091
+msgid "Shelf"
+msgstr "Étagère"
+
+#: ../bin/dcmpnd.c:72 ../bin/dlayer.c:600 ../bin/misc.c:695 ../bin/misc.c:727
+msgid "Load"
+msgstr "Charger"
+
+#: ../bin/dcmpnd.c:105
+msgid "Updating definitions, please wait"
+msgstr "Mise à jour des définitions, veuillez patienter"
+
+#: ../bin/dcmpnd.c:168
+msgid "Update Title"
+msgstr "Mettre à jour le titre"
+
+#: ../bin/dcmpnd.c:228
+#, c-format
+msgid "End-Point #%d of the selected and actual turnouts are not close"
+msgstr ""
+"Le point de fin #%d de la sélection et l'aiguillage actuel ne sont pas "
+"proches"
+
+#: ../bin/dcmpnd.c:237
+#, c-format
+msgid "End-Point #%d of the selected and actual turnouts are not aligned"
+msgstr ""
+"Le point de fin #%d de la sélection et l'aiguillage actuel ne sont pas "
+"alignés"
+
+#: ../bin/dcmpnd.c:255
+msgid "The selected Turnout had a differing number of End-Points"
+msgstr "L'aiguillage sélectionné avait un nombre différent de points de fin"
+
+#: ../bin/dcmpnd.c:320
+msgid "Skip"
+msgstr "Ignorer"
+
+#: ../bin/dcmpnd.c:352
+#, c-format
+msgid "%d Track(s) refreshed"
+msgstr "%d Voie(s) revues"
+
+#: ../bin/dcmpnd.c:392
+msgid "Refresh Turnout/Structure"
+msgstr "Actualiser les aiguillages/bâtiments"
+
+#: ../bin/dcmpnd.c:394
+msgid "Choose a Turnout/Structure to replace:"
+msgstr "Choisissez un aiguillage/bâtiment à remplacer :"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:457
+#: ../bin/dcmpnd.c:404 ../bin/doption.c:92
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1207
+msgid "Turnouts"
+msgstr "Aiguillages"
+
+#: ../bin/dcmpnd.c:404
+msgid "Structures"
+msgstr "Structures"
+
+#: ../bin/dcmpnd.c:433
+msgid "Choose another Turnout/Structure to replace:"
+msgstr "Choisissez un autre aiguillage/bâtiment à remplacer :"
+
+#: ../bin/dcmpnd.c:536
+msgid "Rename Object"
+msgstr "Renommer un objet"
+
+#: ../bin/dcontmgm.c:80
+msgid "Tracks"
+msgstr "Voies"
+
+#: ../bin/dcontmgm.c:161
+#, c-format
+msgid "Are you sure you want to delete the %d control element(s)"
+msgstr "Êtes-vous sûr de vouloir supprimer %d élément(s) de contrôle"
+
+#: ../bin/dcontmgm.c:164
+msgid "Control Elements"
+msgstr "Éléments de contrôle"
+
+#: ../bin/dcontmgm.c:287
+msgid "Manage Layout Control Elements"
+msgstr "Gérer les contrôles du plan"
+
+#: ../bin/dcustmgm.c:52
+msgid "Create a new "
+msgstr "Créer un nouveau "
+
+#: ../bin/dcustmgm.c:54
+msgid "Go"
+msgstr "Go"
+
+#: ../bin/dcustmgm.c:60
+msgid "Move To"
+msgstr "Déplacer vers"
+
+#: ../bin/dcustmgm.c:93
+msgid "Rename"
+msgstr "Renommer"
+
+#: ../bin/dcustmgm.c:174
+msgid "Label"
+msgstr "Étiquette"
+
+#: ../bin/dcustmgm.c:211
+msgid "Contents Label"
+msgstr "Contenu de l'étiquette"
+
+#: ../bin/dcustmgm.c:267
+msgid "Move To XTP"
+msgstr "Déplacer vers le fichier de paramètres"
+
+#: ../bin/dcustmgm.c:268
+msgid "Parameter File (*.xtp)|*.xtp"
+msgstr "Fichier de Paramètres (*.xtp)|*.xtp"
+
+#: ../bin/dcustmgm.c:378
+msgid "Manage custom designed parts"
+msgstr "Gérer les matériels prototypes"
+
+#: ../bin/dease.c:64
+msgid "Sharp"
+msgstr "Etroit"
+
+#: ../bin/dease.c:64
+msgid "Broad"
+msgstr "Large"
+
+#: ../bin/dease.c:64
+msgid "Cornu"
+msgstr "Cornu"
+
+#: ../bin/dease.c:72
+msgid "Value"
+msgstr "Valeur"
+
+#: ../bin/dease.c:73 ../bin/tease.c:515
+msgid "R"
+msgstr "R"
+
+#: ../bin/dease.c:75 ../bin/tease.c:516
+msgid "L"
+msgstr "L"
+
+#: ../bin/dease.c:240
+msgid "Easement"
+msgstr "Courbe de transition"
+
+#: ../bin/denum.c:44
+msgid "Prices"
+msgstr "Prix"
+
+#: ../bin/denum.c:45 ../bin/denum.c:138
+msgid "Indexes"
+msgstr "Index"
+
+#: ../bin/denum.c:50
+msgid "Save As ..."
+msgstr "Sauver sous ..."
+
+#: ../bin/denum.c:134 ../bin/denum.c:191 ../bin/denum.c:226
+msgid "Each"
+msgstr "L'unité"
+
+#: ../bin/denum.c:150 ../bin/denum.c:151
+msgid "Parts List"
+msgstr "Nomenclature"
+
+#: ../bin/denum.c:156
+#, c-format
+msgid ""
+"%s Parts List\n"
+"\n"
+msgstr ""
+"%s Nomenclature\n"
+"\n"
+
+#: ../bin/denum.c:191 ../bin/denum.c:228 ../bin/denum.c:237
+msgid "Extended"
+msgstr "L'ensemble"
+
+#: ../bin/denum.c:237 ../bin/denum.c:240
+msgid "Total"
+msgstr "Total"
+
+#: ../bin/dlayer.c:576
+msgid "Select Layer:"
+msgstr "Sélectionner le calque :"
+
+#: ../bin/dlayer.c:582
+msgid "Use Color"
+msgstr "Utiliser la couleur"
+
+#: ../bin/dlayer.c:584
+msgid "Visible"
+msgstr "Visible"
+
+#: ../bin/dlayer.c:586
+msgid "Frozen"
+msgstr "Gelé"
+
+#: ../bin/dlayer.c:588
+msgid "On Map"
+msgstr "Sur la carte"
+
+#: ../bin/dlayer.c:590
+msgid "Module"
+msgstr "Module"
+
+#: ../bin/dlayer.c:592
+msgid "No Button"
+msgstr "Aucun bouton"
+
+#: ../bin/dlayer.c:594
+msgid "Linked Layers"
+msgstr "Calques associés"
+
+#: ../bin/dlayer.c:596
+msgid "Settings when Current"
+msgstr "Réglages en cours"
+
+#: ../bin/dlayer.c:598
+msgid "Object Count:"
+msgstr "Nombre d'objets :"
+
+#: ../bin/dlayer.c:599
+msgid "All Layer Preferences"
+msgstr "Préférences pour tous les calques"
+
+#: ../bin/dlayer.c:601 ../bin/macro.c:1404
+msgid "Save"
+msgstr "Sauver"
+
+#: ../bin/dlayer.c:602
+msgid "Defaults"
+msgstr "Defauts"
+
+#: ../bin/dlayer.c:603
+msgid "Number of Layer Buttons"
+msgstr "Nombre de boutons de calques"
+
+#: ../bin/dlayer.c:711 ../bin/dlayer.c:1286 ../bin/dlayer.c:1303
+#: ../bin/dlayer.c:1374
+msgid "Main"
+msgstr "Principal"
+
+#: ../bin/dlayer.c:842 ../bin/dlayer.c:1203 ../bin/dlayer.c:1306
+#: ../bin/dlayer.c:1376 ../bin/dlayer.c:1778
+msgid "Show/Hide Layer"
+msgstr "Afficher/masquer le calque"
+
+#: ../bin/dlayer.c:1546
+msgid "Layers"
+msgstr "Calques"
+
+#: ../bin/dlayer.c:1765 ../bin/misc.c:2465
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:17
+msgid "Show/Hide Background"
+msgstr "Montrer/cacher l'image d'arrière plan"
+
+#: ../bin/doption.c:90
+msgid "Auto Pan"
+msgstr "Panoramique auto"
+
+#: ../bin/doption.c:92
+msgid "All"
+msgstr "Tout"
+
+#: ../bin/doption.c:93
+msgid "Thick"
+msgstr "Épais"
+
+#: ../bin/doption.c:93
+msgid "Exception"
+msgstr "Exception"
+
+#: ../bin/doption.c:94
+msgid "Outline"
+msgstr "Contour"
+
+#: ../bin/doption.c:95
+msgid "Off"
+msgstr "De"
+
+#: ../bin/doption.c:95
+msgid "On"
+msgstr "On"
+
+#: ../bin/doption.c:96
+msgid "Track Descriptions"
+msgstr "Descriptions de voies"
+
+#: ../bin/doption.c:96
+msgid "Lengths"
+msgstr "Longueurs"
+
+#: ../bin/doption.c:96
+msgid "EndPt Elevations"
+msgstr "Elévations des bouts de voies"
+
+#: ../bin/doption.c:96
+msgid "Track Elevations"
+msgstr "Elévations de voies"
+
+#: ../bin/doption.c:96
+msgid "Cars"
+msgstr "Véhicules"
+
+#: ../bin/doption.c:97 ../bin/doption.c:98
+msgid "Descr"
+msgstr "Descr"
+
+#: ../bin/doption.c:98
+msgid "Manuf"
+msgstr "Fabric"
+
+#: ../bin/doption.c:99 ../bin/doption.c:100
+msgid "Object"
+msgstr "Objet"
+
+#: ../bin/doption.c:101
+msgid "Live Map"
+msgstr "Carte en direct"
+
+#: ../bin/doption.c:102
+msgid "Hide Trains On Hidden Track"
+msgstr "Masquer les trains sur voie cachée"
+
+#: ../bin/doption.c:103
+msgid "Constrain Drawing Area to Room boundaries"
+msgstr "Limiter la zone de dessin aux limites de la pièce"
+
+#: ../bin/doption.c:104
+msgid "Don't Hide System Cursor when program cursor is active"
+msgstr ""
+"Ne pas cacher le curseur du système lorsque le curseur du programme est "
+"actif"
+
+#: ../bin/doption.c:111
+msgid "Color Track"
+msgstr "Couleur de la voie"
+
+#: ../bin/doption.c:112
+msgid "Color Draw"
+msgstr "Couleur du dessin"
+
+#: ../bin/doption.c:113
+msgid "Draw Tunnel"
+msgstr "Dessin des tunnels"
+
+#: ../bin/doption.c:114
+msgid "Draw EndPts"
+msgstr "Dessin des bouts de voie"
+
+#: ../bin/doption.c:115
+msgid "Draw Unconnected EndPts"
+msgstr "Dessin des voies non connectées"
+
+#: ../bin/doption.c:116
+msgid "Draw Ties"
+msgstr "Dessin des traverses"
+
+#: ../bin/doption.c:117
+msgid "Draw Centers"
+msgstr "Dessin des centres"
+
+#: ../bin/doption.c:118
+msgid "Two Rail Scale"
+msgstr "Échelle pour 2 voies"
+
+#: ../bin/doption.c:119
+msgid "Map Scale"
+msgstr "Échelle de la carte de navigation"
+
+#: ../bin/doption.c:125
+msgid "Label Enable"
+msgstr "Étiquettes activées"
+
+#: ../bin/doption.c:126
+msgid "Label Scale"
+msgstr "Échelle d'étiquette"
+
+#: ../bin/doption.c:127
+msgid "Label Font Size"
+msgstr "Taille de police des étiquettes"
+
+#: ../bin/doption.c:128
+msgid "Hot Bar Labels"
+msgstr "Etiquettes barre rapide"
+
+#: ../bin/doption.c:129
+msgid "Layout Labels"
+msgstr "Etiquettes de calques"
+
+#: ../bin/doption.c:130
+msgid "List Labels"
+msgstr "Liste des étiquettes"
+
+#: ../bin/doption.c:133
+msgid "Car Labels"
+msgstr "Etiquettes des véhicules"
+
+#: ../bin/doption.c:134
+msgid "Train Update Delay"
+msgstr "Délai de mise à jour du train"
+
+#: ../bin/doption.c:176
+msgid "Turning off AutoSave"
+msgstr "Désactiver la sauvegarde auto"
+
+#: ../bin/doption.c:186
+msgid "Turning on CheckPointing"
+msgstr "Activer les points de contrôles"
+
+#: ../bin/doption.c:200
+msgid "Display Options"
+msgstr "Options d'affichage"
+
+#: ../bin/doption.c:201
+msgid "Proto"
+msgstr "Proto"
+
+#: ../bin/doption.c:202
+msgid "Proto/Manuf"
+msgstr "Proto/Fabric"
+
+#: ../bin/doption.c:203
+msgid "Proto/Manuf/Part Number"
+msgstr "Proto/Fabric/N° de référence"
+
+#: ../bin/doption.c:204
+msgid "Proto/Manuf/Partno/Item"
+msgstr "Proto/Fabric/N° de référence/Objet"
+
+#: ../bin/doption.c:205
+msgid "Manuf/Proto"
+msgstr "Fabricant/Proto"
+
+#: ../bin/doption.c:206
+msgid "Manuf/Proto/Part Number"
+msgstr "Fabricant/Proto/N° de référence"
+
+#: ../bin/doption.c:207
+msgid "Manuf/Proto/Partno/Item"
+msgstr "Fabricant/Proto/N° de référence/Objet"
+
+#: ../bin/doption.c:237
+msgid "Single item selected, +Ctrl Add to selection"
+msgstr "Élément unique sélectionné, +Ctrl Ajouter à la sélection"
+
+#: ../bin/doption.c:237
+msgid "Add to selection, +Ctrl Single item selected"
+msgstr "Ajouter à la sélection, +Ctrl Élément unique sélectionné"
+
+#: ../bin/doption.c:238
+msgid "Deselect all on select nothing"
+msgstr "Désélectionner tout / ne rien sélectionner"
+
+#: ../bin/doption.c:243
+msgid "Normal: Command List, Shift: Command Options"
+msgstr "Normal : Liste de cde, Maj. : Options de cde"
+
+#: ../bin/doption.c:243
+msgid "Normal: Command Options, Shift: Command List"
+msgstr "Normal : Options de cde, Maj.: Liste de cde"
+
+#: ../bin/doption.c:246
+msgid "Default Command"
+msgstr "Commande par défaut"
+
+#: ../bin/doption.c:248
+msgid "Hide Selection Window"
+msgstr "Masquer la fenêtre de sélection"
+
+#: ../bin/doption.c:250
+msgid "Right Click"
+msgstr "Clic droit"
+
+#: ../bin/doption.c:251
+msgid "Select Mode"
+msgstr "Mode sélection"
+
+#: ../bin/doption.c:276
+msgid "Command Options"
+msgstr "Options de commande"
+
+#: ../bin/doption.c:299
+msgid "16 px"
+msgstr "16 px"
+
+#: ../bin/doption.c:299
+msgid "24 px"
+msgstr "24 px"
+
+#: ../bin/doption.c:299
+msgid "32 px"
+msgstr "32 px"
+
+#: ../bin/doption.c:300
+msgid "English"
+msgstr "Anglais"
+
+#: ../bin/doption.c:300
+msgid "Metric"
+msgstr "Métrique"
+
+#: ../bin/doption.c:301
+msgid "Polar"
+msgstr "Polaire"
+
+#: ../bin/doption.c:301
+msgid "Cartesian"
+msgstr "Cartésien"
+
+#: ../bin/doption.c:302
+msgid "Balloon Help"
+msgstr "Bulle d'aide"
+
+#: ../bin/doption.c:303
+msgid "Show FlexTrack in HotBar"
+msgstr "Afficher FlexTrack dans la barre rapide"
+
+#: ../bin/doption.c:304
+msgid "Load Last Layout"
+msgstr "Charger le dernier plan"
+
+#: ../bin/doption.c:304
+msgid "Start New Layout"
+msgstr "Commencer un nouveau plan"
+
+#: ../bin/doption.c:307
+msgid "Icon Size"
+msgstr "Taille de l'icône"
+
+#: ../bin/doption.c:308
+msgid "Angles"
+msgstr "Angles"
+
+#: ../bin/doption.c:309
+msgid "Units"
+msgstr "Unités"
+
+#: ../bin/doption.c:311
+msgid "Length Format"
+msgstr "Format de longueur"
+
+#: ../bin/doption.c:312
+msgid "Min Track Length"
+msgstr "Longueur de voie min"
+
+#: ../bin/doption.c:313
+msgid "Connection Distance"
+msgstr "Distance de connexion"
+
+#: ../bin/doption.c:314
+msgid "Connection Angle"
+msgstr "Angle de connexion"
+
+#: ../bin/doption.c:315
+msgid "Turntable Angle"
+msgstr "Angle de pont tournant"
+
+#: ../bin/doption.c:316
+msgid "Max Coupling Speed"
+msgstr "Vitesse maximale de couplage"
+
+#: ../bin/doption.c:319
+msgid "Drag Distance"
+msgstr "Distance de glissé du curseur"
+
+#: ../bin/doption.c:320
+msgid "Drag Timeout"
+msgstr "Ajuster le délai d'attente"
+
+#: ../bin/doption.c:321
+msgid "Min Grid Spacing"
+msgstr "Pas min. de la grille"
+
+#: ../bin/doption.c:323
+msgid "Check Point Frequency"
+msgstr "Fréquence des points de contrôle"
+
+#: ../bin/doption.c:325
+msgid "Autosave Checkpoint Frequency"
+msgstr "Fréquence de l'enregistrement automatique des points de contrôle"
+
+#: ../bin/doption.c:326
+msgid "On Program Startup"
+msgstr "Au démarrage du programme"
+
+#: ../bin/doption.c:336 ../bin/doption.c:340 ../bin/doption.c:357
+msgid "999.999"
+msgstr "999.999"
+
+#: ../bin/doption.c:337
+msgid "999.999999"
+msgstr "999.999999"
+
+#: ../bin/doption.c:338
+msgid "999.99999"
+msgstr "999.99999"
+
+#: ../bin/doption.c:339
+msgid "999.9999"
+msgstr "999.9999"
+
+#: ../bin/doption.c:341 ../bin/doption.c:358
+msgid "999.99"
+msgstr "999.99"
+
+#: ../bin/doption.c:342 ../bin/doption.c:359
+msgid "999.9"
+msgstr "999.9"
+
+#: ../bin/doption.c:343
+msgid "999 7/8"
+msgstr "999 7/8"
+
+#: ../bin/doption.c:344
+msgid "999 63/64"
+msgstr "999 63/64"
+
+#: ../bin/doption.c:345
+msgid "999' 11.999\""
+msgstr "999' 11.999\""
+
+#: ../bin/doption.c:346
+msgid "999' 11.99\""
+msgstr "999' 11.99\""
+
+#: ../bin/doption.c:347
+msgid "999' 11.9\""
+msgstr "999' 11.9\""
+
+#: ../bin/doption.c:348
+msgid "999' 11 7/8\""
+msgstr "999' 11 7/8\""
+
+#: ../bin/doption.c:349
+msgid "999' 11 63/64\""
+msgstr "999' 11 63/64\""
+
+#: ../bin/doption.c:350
+msgid "999ft 11.999in"
+msgstr "999ft 11.999in"
+
+#: ../bin/doption.c:351
+msgid "999ft 11.99in"
+msgstr "999ft 11.99in"
+
+#: ../bin/doption.c:352
+msgid "999ft 11.9in"
+msgstr "999ft 11.9in"
+
+#: ../bin/doption.c:353
+msgid "999ft 11 7/8in"
+msgstr "999ft 11 7/8in"
+
+#: ../bin/doption.c:354
+msgid "999ft 11 63/64in"
+msgstr "999ft 11 63/64in"
+
+#: ../bin/doption.c:360
+msgid "999.999mm"
+msgstr "999.999mm"
+
+#: ../bin/doption.c:361
+msgid "999.99mm"
+msgstr "999.99mm"
+
+#: ../bin/doption.c:362
+msgid "999.9mm"
+msgstr "999.9mm"
+
+#: ../bin/doption.c:363
+msgid "999.999cm"
+msgstr "999.999cm"
+
+#: ../bin/doption.c:364
+msgid "999.99cm"
+msgstr "999.99cm"
+
+#: ../bin/doption.c:365
+msgid "999.9cm"
+msgstr "999.9cm"
+
+#: ../bin/doption.c:366
+msgid "999.999m"
+msgstr "999.999m"
+
+#: ../bin/doption.c:367
+msgid "999.99m"
+msgstr "999.99m"
+
+#: ../bin/doption.c:368
+msgid "999.9m"
+msgstr "999.9m"
+
+#: ../bin/doption.c:497
+msgid "Preferences"
+msgstr "Préférences"
+
+#: ../bin/doption.c:536
+msgid "Marker"
+msgstr "Marqueur"
+
+#: ../bin/doption.c:537
+msgid "Border"
+msgstr "Bordure"
+
+#: ../bin/doption.c:538
+msgid "Primary Axis"
+msgstr "Axe primaire"
+
+#: ../bin/doption.c:539
+msgid "Secondary Axis"
+msgstr "Axe secondaire"
+
+#: ../bin/doption.c:540
+msgid "Normal Track"
+msgstr "Voie normale"
+
+#: ../bin/doption.c:541
+msgid "Selected Track"
+msgstr "Voie sélectionnée"
+
+#: ../bin/doption.c:542
+msgid "Profile Path"
+msgstr "Profil de voie"
+
+#: ../bin/doption.c:543
+msgid "Exception Track"
+msgstr "Voie non conforme"
+
+#: ../bin/doption.c:544
+msgid "Track Ties"
+msgstr "Traverses de voies"
+
+#: ../bin/dpricels.c:42
+msgid "Price"
+msgstr "Prix"
+
+#: ../bin/dpricels.c:56
+msgid "Flex Track"
+msgstr "Voie FLEX"
+
+#: ../bin/dpricels.c:57
+msgid "costs"
+msgstr "coûts"
+
+#: ../bin/dpricels.c:151
+msgid "Price List"
+msgstr "Liste de prix"
+
+#: ../bin/dprmfile.c:66 ../bin/paramfilesearch_ui.c:51
+msgid "Show File Names"
+msgstr "Montrer les noms de fichiers"
+
+#: ../bin/dprmfile.c:75 ../bin/paramfilesearch_ui.c:78
+msgid "Select all"
+msgstr "Tt sélectionner"
+
+#: ../bin/dprmfile.c:77
+msgid "Favorite"
+msgstr "Préféré"
+
+#: ../bin/dprmfile.c:80
+msgid "Library..."
+msgstr "Bibliothèque..."
+
+#: ../bin/dprmfile.c:81
+msgid "Browse..."
+msgstr "Parcourir..."
+
+#: ../bin/dprmfile.c:324
+#, c-format
+msgid "%d parameter files reloaded."
+msgstr "%d fichiers de paramètres rechargés."
+
+#: ../bin/dprmfile.c:326
+msgid "One parameter file reloaded."
+msgstr "Un fichier de paramètres rechargé."
+
+#: ../bin/dprmfile.c:427
+msgid "Parameter Files"
+msgstr "Fichiers de paramètres"
+
+#: ../bin/dprmfile.c:430
+msgid "Load Parameters"
+msgstr "Chargers des paramètres d'objets"
+
+#: ../bin/dprmfile.c:430
+msgid "Parameter files (*.xtp)|*.xtp"
+msgstr "Fichier de paramètres (*.xtp)|*.xtp"
+
+#: ../bin/draw.c:2182
+msgid "Macro Zoom Mode"
+msgstr "Mode zoom macro"
+
+#: ../bin/draw.c:2189
+msgid "Scale 1:1 - Use Ctrl+ to go to Macro Zoom Mode"
+msgstr "Échelle 1:1 - Utilisez Ctrl+Pg.Suiv pour passer en mode Zoom macro"
+
+#: ../bin/draw.c:2193
+msgid "Preset Zoom In Value selected. Shift+Ctrl+PageDwn to reset value"
+msgstr ""
+"Facteur de zoom avant sélectionné. Maj + Ctrl + Pg.Suiv pour réinitialiser "
+"la valeur"
+
+#: ../bin/draw.c:2197
+#, c-format
+msgid "Zoom In Program Value %ld:1, Shift+PageDwn to use"
+msgstr ""
+"Zoom programmé Valeur plus grande %ld : 1, à utiliser avec Maj+Pg.Suiv"
+
+#: ../bin/draw.c:2273
+msgid "At Maximum Zoom Out"
+msgstr "Au zoom arrière maximum"
+
+#: ../bin/draw.c:2278
+msgid "Preset Zoom Out Value selected. Shift+Ctrl+PageUp to reset value"
+msgstr ""
+"Facteur de zoom arrière sélectionné. Maj + Ctrl + Pg.Suiv pour réinitialiser"
+" la valeur"
+
+#: ../bin/draw.c:2282
+#, c-format
+msgid "Zoom Out Program Value %ld:1 set, Shift+PageUp to use"
+msgstr "Zoom programmé Valeur supérieure %ld : 1, à utiliser avec Maj+Pg.Préc"
+
+#: ../bin/draw.c:2993
+msgid "Map"
+msgstr "Carte de navigation"
+
+#: ../bin/draw.c:3039
+msgid ""
+"Left-Drag to pan, Ctrl+Left-Drag to zoom, 0 to set origin to zero, 1-9 to "
+"zoom#, e to set to extents"
+msgstr ""
+"Faites glisser à gauche pour recadrer, Ctrl + glisser vers la gauche pour "
+"zoomer, 0 pour définir l'origine à 0.0, 1-9 pour le niveau de zoom#, e pour "
+"définir la taille"
+
+#: ../bin/draw.c:3046
+msgid "Pan Mode - drag point to new position"
+msgstr ""
+"Sélectionner une section - faites glisser le point vers la nouvelle position"
+
+#: ../bin/draw.c:3053
+msgid "Zoom Mode - drag area to zoom"
+msgstr "Mode Zoom - faites glisser la zone pour zoomer"
+
+#: ../bin/draw.c:3079
+msgid "Can't move any further in that direction"
+msgstr "Je ne peux plus avancer dans cette direction"
+
+#: ../bin/draw.c:3081
+msgid ""
+"Left click to pan, right click to zoom, 'o' for origin, 'e' for extents"
+msgstr ""
+"Clic gauche pour faire un panoramique, clic droit pour zoomer, 'o' pour "
+"origine, 'e' pour étendue"
+
+#: ../bin/draw.c:3118
+msgid ""
+"Left Drag to Pan, +CTRL to Zoom, 0 to set Origin to 0,0, 1-9 to Zoom#, e to "
+"set to Extent"
+msgstr ""
+"Faites glisser à gauche pour un recadrage, +Ctrl pour zoomer, 0 pour définir"
+" le point de départ sur 0.0, 1-9 pour le niveau de zoom, e pour définir la "
+"taille"
+
+#: ../bin/draw.c:3196
+msgid "Pan/Zoom"
+msgstr "Pan./Zoom"
+
+#: ../bin/draw.c:3207
+msgid "Zoom to 1:1 - '1'"
+msgstr "Zoom sur 1:1 - '1'"
+
+#: ../bin/draw.c:3208
+msgid "Zoom to 1:2 - '2'"
+msgstr "Zoom sur 1:2 - '2'"
+
+#: ../bin/draw.c:3209
+msgid "Zoom to 1:3 - '3'"
+msgstr "Zoom sur 1:3 - '3'"
+
+#: ../bin/draw.c:3210
+msgid "Zoom to 1:4 - '4'"
+msgstr "Zoom sur 1:4 - '4'"
+
+#: ../bin/draw.c:3211
+msgid "Zoom to 1:5 - '5'"
+msgstr "Zoom sur 1:5 - '5'"
+
+#: ../bin/draw.c:3212
+msgid "Zoom to 1:6 - '6'"
+msgstr "Zoom sur 1:6 - '6'"
+
+#: ../bin/draw.c:3213
+msgid "Zoom to 1:7 - '7'"
+msgstr "Zoom sur 1:7 - '7'"
+
+#: ../bin/draw.c:3214
+msgid "Zoom to 1:8 - '8'"
+msgstr "Zoom sur 1:8 - '8'"
+
+#: ../bin/draw.c:3215
+msgid "Zoom to 1:9 - '9'"
+msgstr "Zoom sur 1:9 - '9'"
+
+#: ../bin/draw.c:3219
+msgid "Pan center here - 'c'"
+msgstr "Centre du panoramique ici - 'c'"
+
+#: ../bin/drawgeom.c:70 ../bin/drawgeom.c:86
+msgid "Create Lines"
+msgstr "Créer des lignes"
+
+#: ../bin/drawgeom.c:287
+msgid "+Alt for Magnetic Snap"
+msgstr "+Alt pour l'accrochage magnétique"
+
+#: ../bin/drawgeom.c:289
+msgid "+Alt to inhibit Magnetic Snap"
+msgstr "+ Alt pour inhiber l'accrochage magnétique"
+
+#: ../bin/drawgeom.c:412
+msgid "Drag next point, +Alt reverse Magnetic Snap or +Ctrl lock to 90 deg"
+msgstr ""
+"Faites glisser le point suivant, +Alt inverse l'accrochage magnétique ou "
+"+Ctrl verrouille à 90 degrés"
+
+#: ../bin/drawgeom.c:423
+msgid ""
+"Drag next point, +Alt reverse Magnetic Snap, or +Ctrl to lock to 90 degrees"
+msgstr ""
+"Faites glisser le point suivant, +Alt pour inverser l'accrochage magnétique "
+"ou +Ctrl pour verrouiller à 90 degrés"
+
+#: ../bin/drawgeom.c:454
+msgid "Drag to set radius"
+msgstr "Faites glisser pour définir le rayon"
+
+#: ../bin/drawgeom.c:468
+msgid "Drag set box size"
+msgstr "Faites glisser pour définir la taille du rectangle"
+
+#: ../bin/drawgeom.c:509
+msgid "+Alt - reverse Magnetic Snap or +Ctrl - lock to 90 deg"
+msgstr ""
+"+Alt - inverse l'accrochage magnétique ou +Ctrl - verrouille à 90 degrés"
+
+#: ../bin/drawgeom.c:580 ../bin/drawgeom.c:637
+#, c-format
+msgid "Length = %s, Angle = %0.2f"
+msgstr "Longueur = %s, Angle = %0.2f"
+
+#: ../bin/drawgeom.c:658
+#, c-format
+msgid "Straight Line: Length=%s Angle=%0.3f"
+msgstr "Ligne droite : Longueur=%s Angle=%0.3f"
+
+#: ../bin/drawgeom.c:680
+#, c-format
+msgid "Curved Line: Radius=%s Angle=%0.3f Length=%s"
+msgstr "Ligne courbe : Rayon = %s Angle = %0.3f Longueur = %s"
+
+#: ../bin/drawgeom.c:703 ../bin/drawgeom.c:711
+#, c-format
+msgid "Radius = %s"
+msgstr "Rayon = %s"
+
+#: ../bin/drawgeom.c:722
+#, c-format
+msgid "Width = %s, Height = %s"
+msgstr "Largeur = %s, Hauteur = %s"
+
+#: ../bin/drawgeom.c:783
+msgid "Drag on Red arrows to adjust curve"
+msgstr "Faites glisser les flèches rouges pour ajuster la courbe"
+
+#: ../bin/drawgeom.c:1207
+msgid "Select points or use context menu"
+msgstr "Sélectionnez des points ou utilisez le menu contextuel"
+
+#: ../bin/drawgeom.c:1463
+#, c-format
+msgid "Length = %s, Last angle = %0.2f"
+msgstr "Longueur = %s, Dernier angle = %0.2f"
+
+#: ../bin/drawgeom.c:1623
+msgid "Point Deleted"
+msgstr "Point supprimé"
+
+#: ../bin/drawgeom.c:2048
+msgid "Not close to end of line"
+msgstr "Aucun point de fin à proximité"
+
+#: ../bin/drawgeom.c:2104
+msgid "Not close to ends or middle of mine, reselect"
+msgstr "Pas à une extrémité ou au milieu de la voie, resélectionnez"
+
+#: ../bin/drawgeom.c:2153 ../bin/drawgeom.c:2389
+msgid "Drag to Move Corner Point"
+msgstr "Faites glisser pour déplacer le sommet"
+
+#: ../bin/drawgeom.c:2160
+msgid "Drag to Move Edge "
+msgstr "Faites glisser pour déplacer le bord "
+
+#: ../bin/drawgeom.c:2234
+#, c-format
+msgid "Length = %0.3f Angle = %0.3f"
+msgstr "Longueur = %0.3f angle = %0.3f"
+
+#: ../bin/drawgeom.c:2384
+msgid "Drag to Move Edge"
+msgstr "Faites glisser pour déplacer le bord"
+
+#: ../bin/dxfoutput.c:230
+msgid "Export to DXF"
+msgstr "Exporter en DXF"
+
+#: ../bin/fileio.c:214
+msgid ""
+"\n"
+"Do you want to continue?"
+msgstr ""
+"\n"
+"Voulez-vous continuer?"
+
+#: ../bin/fileio.c:580
+#, c-format
+msgid "putTitle: title too long: %s"
+msgstr "poser le titre : titre trop long : %s"
+
+#: ../bin/fileio.c:610
+msgid "Unnamed Trackplan"
+msgstr "Plan de voie sans nom"
+
+#: ../bin/fileio.c:611
+msgid " (R/O)"
+msgstr " (R/O)"
+
+#: ../bin/fileio.c:751
+msgid "Unknown layout file object - skip until next good object?"
+msgstr "Objet inconnu de fichier de plan - passer au prochain bon objet ?"
+
+#: ../bin/fileio.c:803 ../bin/fileio.c:987
+msgid "Track"
+msgstr "Voie"
+
+#: ../bin/fileio.c:803
+msgid "Not Found"
+msgstr "Pas trouvé"
+
+#: ../bin/fileio.c:1168
+msgid "AutoSave Tracks As"
+msgstr "Sauvegarde automatique des voies ferrées sous"
+
+#: ../bin/fileio.c:1183
+msgid "Save Tracks"
+msgstr "Sauver le réseau"
+
+#: ../bin/fileio.c:1200
+msgid "Save Tracks As"
+msgstr "Enregistrer les voies sous"
+
+#: ../bin/fileio.c:1212
+msgid "Open Tracks"
+msgstr "Ouvrir un réseau"
+
+#: ../bin/fileio.c:1227
+msgid "Example Tracks"
+msgstr "Exemples de voies"
+
+#: ../bin/fileio.c:1435
+#, c-format
+msgid "Module - %s"
+msgstr "Module - %s"
+
+#: ../bin/fileio.c:1440 ../bin/fileio.c:1460
+msgid "Import Tracks"
+msgstr "Importer des voies"
+
+#: ../bin/fileio.c:1521
+msgid "Export Tracks"
+msgstr "Exporter les voies"
+
+#: ../bin/fileio.c:1542
+msgid "Clipboard"
+msgstr "Presse-papiers"
+
+#: ../bin/filenoteui.c:51 ../bin/linknoteui.c:45 ../bin/textnoteui.c:37
+msgid "Position X"
+msgstr "Position X"
+
+#: ../bin/filenoteui.c:53 ../bin/linknoteui.c:47 ../bin/textnoteui.c:39
+msgid "Position Y"
+msgstr "Position Y"
+
+#: ../bin/filenoteui.c:57 ../bin/linknoteui.c:51
+msgid "Title"
+msgstr "Titre"
+
+#: ../bin/filenoteui.c:59 ../bin/trknote.c:57
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:88
+msgid "Document"
+msgstr "Document"
+
+#: ../bin/filenoteui.c:61
+msgid "Select..."
+msgstr "Sélectionner ..."
+
+#: ../bin/filenoteui.c:63 ../bin/linknoteui.c:55
+msgid "Open..."
+msgstr "Ouvert ..."
+
+#: ../bin/filenoteui.c:125
+msgid "Add Document"
+msgstr "Ajouter un document"
+
+#: ../bin/filenoteui.c:147
+msgid "The file doesn't exist or cannot be read!"
+msgstr "Le fichier n'existe pas ou ne peut pas être lu!"
+
+#: ../bin/filenoteui.c:287
+#, c-format
+msgid "Document(%d) Layer=%d %-.80s [%s]"
+msgstr "Document(%d) Calque=%d %-.80s [%s]"
+
+#: ../bin/filenoteui.c:299
+msgid "Update document"
+msgstr "Mettre à jour le document"
+
+#: ../bin/filenoteui.c:313
+msgid "Describe the file"
+msgstr "Décrivez le fichier"
+
+#: ../bin/filenoteui.c:319
+msgid "Attach document"
+msgstr "Joindre un document"
+
+#: ../bin/i18n.c:57
+#, c-format
+msgid "Gettext initialized (PACKAGE=%s, LOCALEDIR=%s, LC_ALL=%s).\n"
+msgstr "Obtenir le texte initialisé (PACKAGE =%s, LOCALEDIR =%s, LC_ALL =%s).\n"
+
+#: ../bin/layout.c:404
+#, c-format
+msgid "Unable to load Image File - %s"
+msgstr "Impossible de charger le fichier image -%s"
+
+#: ../bin/layout.c:470
+msgid "Load Background"
+msgstr "Charger l'arrière-plan"
+
+#: ../bin/layout.c:493
+msgid "Room Width"
+msgstr "Largeur de la pièce"
+
+#: ../bin/layout.c:494
+msgid " Height"
+msgstr " Hauteur"
+
+#: ../bin/layout.c:495
+msgid "Layout Title"
+msgstr "Titre du plan"
+
+#: ../bin/layout.c:496
+msgid "Subtitle"
+msgstr "Sous-titre"
+
+#: ../bin/layout.c:500
+msgid " Gauge"
+msgstr " Ecartement"
+
+#: ../bin/layout.c:502
+msgid "Min Track Radius"
+msgstr "Rayon de voie min"
+
+#: ../bin/layout.c:503
+msgid " Max Track Grade (%)"
+msgstr " Pente maximale de la voie (%)"
+
+#: ../bin/layout.c:505
+msgid "Background File Path"
+msgstr "Chemin d'accès au fichier d'arrière-plan"
+
+#: ../bin/layout.c:506
+msgid "Browse ..."
+msgstr "Parcourir ..."
+
+#: ../bin/layout.c:509
+msgid "Background PosX,Y"
+msgstr "Arrière-plan, PosX,Y"
+
+#: ../bin/layout.c:513
+msgid "Background Size"
+msgstr "Taille de l'arrière-plan"
+
+#: ../bin/layout.c:515
+msgid "Background Screen %"
+msgstr "Niveau de noir de l'arrière-plan %"
+
+#: ../bin/layout.c:517
+msgid "Background Angle"
+msgstr "Angle de l'arrière-plan"
+
+#: ../bin/layout.c:518
+msgid "Named Settings File"
+msgstr "Fichier de paramètres définis"
+
+#: ../bin/layout.c:519
+msgid "Write"
+msgstr "Ecrire"
+
+#: ../bin/layout.c:520
+msgid "Read"
+msgstr "Lire"
+
+#: ../bin/layout.c:611
+msgid "Layout Options"
+msgstr "Options du plan"
+
+#: ../bin/layout.c:797
+msgid "Read Settings"
+msgstr "Lire les paramètres"
+
+#: ../bin/layout.c:798 ../bin/layout.c:821
+msgid "Settings File (*.xset)|*.xset"
+msgstr "Fichier des paramètres (*.xset)|*.xset"
+
+#: ../bin/layout.c:820
+msgid "Write Settings"
+msgstr "Ecrire les paramètres"
+
+#: ../bin/linknoteui.c:53
+msgid "URL"
+msgstr "URL"
+
+#: ../bin/linknoteui.c:102
+#, c-format
+msgid ""
+"The entered URL is too long. The maximum allowed length is %d. Please edit "
+"the entered value."
+msgstr ""
+"L'URL saisie est trop longue. La longueur maximale autorisée est %d. "
+"Veuillez modifier la valeur entrée."
+
+#: ../bin/linknoteui.c:105
+msgid "Re-edit"
+msgstr "Modifier à nouveau"
+
+#: ../bin/linknoteui.c:237
+msgid "Update link"
+msgstr "Mise à jour le lien"
+
+#: ../bin/linknoteui.c:255
+msgid "Create link"
+msgstr "Créer un lien"
+
+#: ../bin/macro.c:64
+msgid "Message"
+msgstr "Message"
+
+#: ../bin/macro.c:152
+msgid "Recording"
+msgstr "Enregistrement"
+
+#: ../bin/macro.c:187
+#, c-format
+msgid "End of Playback. Hit Step to exit\n"
+msgstr "Fin de la lecture. Appuyez sur \"Pas à pas\" pour quitter\n"
+
+#: ../bin/macro.c:251
+msgid "Record"
+msgstr "Enregistrer"
+
+#: ../bin/macro.c:646
+msgid "Step"
+msgstr "Pas à pas"
+
+#: ../bin/macro.c:649 ../bin/macro.c:1530
+msgid "Next"
+msgstr "Suivant"
+
+#: ../bin/macro.c:652 ../bin/misc.c:779 ../bin/track.c:1152
+msgid "Quit"
+msgstr "Quitter"
+
+#: ../bin/macro.c:655 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:590
+msgid "Speed"
+msgstr "Vitesse"
+
+#: ../bin/macro.c:806 ../bin/macro.c:853
+msgid "Regression"
+msgstr "Régression"
+
+#: ../bin/macro.c:1017 ../bin/macro.c:1386
+msgid "Demo"
+msgstr "Demo"
+
+#: ../bin/macro.c:1206
+#, c-format
+msgid "Elapsed time %lu\n"
+msgstr "Temps écoulé %lu\n"
+
+#: ../bin/macro.c:1307
+msgid "Playback"
+msgstr "Lecture"
+
+#: ../bin/macro.c:1389
+msgid "Slowest"
+msgstr "Le plus lent"
+
+#: ../bin/macro.c:1390
+msgid "Slow"
+msgstr "Lent"
+
+#: ../bin/macro.c:1392
+msgid "Fast"
+msgstr "Rapide"
+
+#: ../bin/macro.c:1393
+msgid "Faster"
+msgstr "Plus rapide"
+
+#: ../bin/macro.c:1394
+msgid "Fastest"
+msgstr "Le plus rapide"
+
+#: ../bin/macro.c:1513
+msgid "Can not find PARAMETER playback proc"
+msgstr "Vous ne trouvez pas la procédure de lecture PARAMETER"
+
+#: ../bin/misc.c:148
+msgid "No Messages"
+msgstr "Pas de message"
+
+#: ../bin/misc.c:488 ../bin/misc.c:491
+msgid "ABORT"
+msgstr "ANNULER"
+
+#: ../bin/misc.c:490
+msgid ""
+"\n"
+"Do you want to save your layout?"
+msgstr ""
+"\n"
+"Voulez-vous enregistrer votre plan ?"
+
+#: ../bin/misc.c:572
+#, c-format
+msgid "No help for %s"
+msgstr "Aucune aide pour %s"
+
+#: ../bin/misc.c:674
+msgid ""
+"Save changes to the layout design before closing?\n"
+"\n"
+"If you don't save now, your unsaved changes will be discarded."
+msgstr ""
+"Les modifications apportées à la conception du plan doivent-elles être enregistrées avant de fermer ?\n"
+"\n"
+"Si vous n'enregistrez pas maintenant, vos modifications seront ignorées."
+
+#: ../bin/misc.c:676 ../bin/misc.c:2516
+msgid "&Save"
+msgstr "&Sauver"
+
+#: ../bin/misc.c:676 ../bin/misc.c:711
+msgid "&Cancel"
+msgstr "&Annuler"
+
+#: ../bin/misc.c:676
+msgid "&Don't Save"
+msgstr "&Ne pas enregistrer"
+
+#: ../bin/misc.c:700
+msgid "examples"
+msgstr "exemple"
+
+#: ../bin/misc.c:709
+msgid ""
+"Do you want to return to the last saved state?\n"
+"\n"
+"Revert will cause all changes done since last save to be lost."
+msgstr ""
+"Voulez-vous revenir au dernier état enregistré?\n"
+"\n"
+"La réinitialisation entraînera la perte des modifications apportées depuis la dernière sauvegarde."
+
+#: ../bin/misc.c:711
+msgid "&Revert"
+msgstr "&Revenir"
+
+#: ../bin/misc.c:932
+msgid "XTrackCAD Font"
+msgstr "XTrackCAD Font"
+
+#: ../bin/misc.c:993
+#, c-format
+msgid "No balloon help for %s\n"
+msgstr "Aucune bulle d'aide pour %s\n"
+
+#: ../bin/misc.c:995 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:653
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:654
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:656
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:657
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:659
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:660
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:661
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:662
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:663
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:664
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:665
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:666
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:667
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:668
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:669
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:670
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:671
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:672
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:673
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:674
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:675
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:676
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:677
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:678
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:679
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:680
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:681
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:682
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:683
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:684
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:685
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:686
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:687
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:688
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:689
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:690
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:691
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:692
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:693
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:694
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:695
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:696
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:697
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:698
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:699
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:700
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:701
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:702
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:703
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:704
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:705
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:706
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:707
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:708
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:709
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:710
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:711
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:712
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:713
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:715
+msgid "No Help"
+msgstr "Pas d'aide"
+
+#: ../bin/misc.c:1087
+msgid "File AutoSaved"
+msgstr "Fichier enregistré automatiquement"
+
+#: ../bin/misc.c:1326 ../bin/misc.c:1333
+msgid ""
+"Cancelling the current command will undo the changes\n"
+"you are currently making. Do you want to do the update instead?"
+msgstr ""
+"L'annulation de la commande en cours annulera les modifications\n"
+"vous faites actuellement. Voulez-vous faire la mise à jour à la place?"
+
+#: ../bin/misc.c:1405
+msgid ""
+"Cancelling the current command will undo the changes\n"
+"you are currently making. Do you want to update?"
+msgstr ""
+"L'annulation de la commande en cours annulera les \n"
+"modifications en cours. Voulez-vous mettre à jour?"
+
+#: ../bin/misc.c:1918
+msgid "Sticky Commands"
+msgstr "Commandes collantes"
+
+#: ../bin/misc.c:1931
+msgid "File Buttons"
+msgstr "Boutons de fichier"
+
+#: ../bin/misc.c:1931
+msgid "Print Buttons"
+msgstr "Imprimer les boutons"
+
+#: ../bin/misc.c:1931
+msgid "Import/Export Buttons"
+msgstr "Boutons Import/Export"
+
+#: ../bin/misc.c:1932
+msgid "Zoom Buttons"
+msgstr "Boutons de zoom"
+
+#: ../bin/misc.c:1932
+msgid "Undo Buttons"
+msgstr "Annuler les boutons"
+
+#: ../bin/misc.c:1932
+msgid "Easement Button"
+msgstr "Bouton Aide de courbes de transition"
+
+#: ../bin/misc.c:1932
+msgid "SnapGrid Buttons"
+msgstr "Bouton Grille magnétique"
+
+#: ../bin/misc.c:1933
+msgid "Create Track Buttons"
+msgstr "Créer des boutons de voie"
+
+#: ../bin/misc.c:1933
+msgid "Layout Control Elements"
+msgstr "Éléments de contrôle du plan"
+
+#: ../bin/misc.c:1934
+msgid "Modify Track Buttons"
+msgstr "Modifier les boutons de voie"
+
+#: ../bin/misc.c:1934
+msgid "Properties/Select"
+msgstr "Propriétés/Sélectionner"
+
+#: ../bin/misc.c:1935
+msgid "Track Group Buttons"
+msgstr "Boutons de groupe de voies"
+
+#: ../bin/misc.c:1935
+msgid "Train Group Buttons"
+msgstr "Boutons d'exploitation des trains"
+
+#: ../bin/misc.c:1936
+msgid "Create Misc Buttons"
+msgstr "Créer divers boutons"
+
+#: ../bin/misc.c:1936
+msgid "Ruler Button"
+msgstr "Bouton Règle"
+
+#: ../bin/misc.c:1937
+msgid "Layer Buttons"
+msgstr "Boutons de calques"
+
+#: ../bin/misc.c:1937
+msgid "Hot Bar"
+msgstr "Barre rapide"
+
+#: ../bin/misc.c:2010 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:82
+msgid "Change Elevations"
+msgstr "Modifier les élévations"
+
+#: ../bin/misc.c:2030
+msgid "Angle:"
+msgstr "Angle:"
+
+#: ../bin/misc.c:2035
+msgid "Indexes:"
+msgstr "Index:"
+
+#: ../bin/misc.c:2041
+msgid "Move X:"
+msgstr "Déplacer X :"
+
+#: ../bin/misc.c:2042
+msgid "Move Y:"
+msgstr "Déplacer Y :"
+
+#: ../bin/misc.c:2060
+msgid "Select Index"
+msgstr "Sélectionnez l'index"
+
+#: ../bin/misc.c:2114
+msgid "Enter Move ..."
+msgstr "Entrez le déplacement ..."
+
+#: ../bin/misc.c:2119
+msgid "Select Track Index ..."
+msgstr "Sélectionnez l'index de la voie ferrée ..."
+
+#: ../bin/misc.c:2125
+msgid "180 "
+msgstr "180 "
+
+#: ../bin/misc.c:2126
+msgid "90 CW"
+msgstr "90 CW"
+
+#: ../bin/misc.c:2127
+msgid "45 CW"
+msgstr "45 CW"
+
+#: ../bin/misc.c:2128
+msgid "30 CW"
+msgstr "30 CW"
+
+#: ../bin/misc.c:2129
+msgid "15 CW"
+msgstr "15 CW"
+
+#: ../bin/misc.c:2130
+msgid "15 CCW"
+msgstr "15 CCW"
+
+#: ../bin/misc.c:2131
+msgid "30 CCW"
+msgstr "30 CCW"
+
+#: ../bin/misc.c:2132
+msgid "45 CCW"
+msgstr "45 CCW"
+
+#: ../bin/misc.c:2133
+msgid "90 CCW"
+msgstr "90 CCW"
+
+#: ../bin/misc.c:2134
+msgid "Enter Angle ..."
+msgstr "Entrez l'angle ..."
+
+#: ../bin/misc.c:2151
+msgid "Test Mallocs"
+msgstr "Test Mallocs"
+
+#: ../bin/misc.c:2168
+msgid "Debug"
+msgstr "Debug"
+
+#: ../bin/misc.c:2391
+msgid "&File"
+msgstr "&Fichier"
+
+#: ../bin/misc.c:2392
+msgid "&Edit"
+msgstr "&Editer"
+
+#: ../bin/misc.c:2393
+msgid "&View"
+msgstr "&Affichage"
+
+#: ../bin/misc.c:2394
+msgid "&Add"
+msgstr "&Ajouter"
+
+#: ../bin/misc.c:2395
+msgid "&Change"
+msgstr "&Modifier"
+
+#: ../bin/misc.c:2396
+msgid "&Draw"
+msgstr "&Dessiner"
+
+#: ../bin/misc.c:2397
+msgid "&Manage"
+msgstr "&Gérer"
+
+#: ../bin/misc.c:2398
+msgid "&Options"
+msgstr "&Options"
+
+#: ../bin/misc.c:2399
+msgid "&Macro"
+msgstr "&Macro"
+
+#: ../bin/misc.c:2400
+msgid "&Window"
+msgstr "&Fenêtre"
+
+#: ../bin/misc.c:2401
+msgid "&Help"
+msgstr "&Aide"
+
+#: ../bin/misc.c:2437
+msgid "Context Commands"
+msgstr "Commandes contextuelles"
+
+#: ../bin/misc.c:2438
+msgid "Shift Context Commands"
+msgstr "Maj Commandes contextuelles"
+
+#: ../bin/misc.c:2452 ../bin/misc.c:2454
+msgid "Zoom Extents"
+msgstr "Zoom sur l'étendue"
+
+#: ../bin/misc.c:2457 ../bin/misc.c:2667
+msgid "Enable SnapGrid"
+msgstr "Activer la Grille d'accrochage"
+
+#: ../bin/misc.c:2459
+msgid "SnapGrid Show"
+msgstr "Montrer la Grille d'accrochage"
+
+#: ../bin/misc.c:2461
+msgid " Enable Magnetic Snap"
+msgstr " Activer la Grille magnétique"
+
+#: ../bin/misc.c:2463 ../bin/misc.c:2688
+msgid "Show/Hide Map"
+msgstr "Afficher/Masquer la carte de navigation"
+
+#: ../bin/misc.c:2486 ../bin/misc.c:2488
+msgid "Select Track Index..."
+msgstr "Sélectionnez l'index de la voie ferrée ..."
+
+#: ../bin/misc.c:2500 ../bin/misc.c:2501
+msgid "Add..."
+msgstr "Ajouter ..."
+
+#: ../bin/misc.c:2504 ../bin/misc.c:2505
+msgid "More..."
+msgstr "Plus ..."
+
+#: ../bin/misc.c:2510
+msgid "&New ..."
+msgstr "&Nouveau ..."
+
+#: ../bin/misc.c:2512
+msgid "&Open ..."
+msgstr "&Ouvrir ..."
+
+#: ../bin/misc.c:2518
+msgid "Save &As ..."
+msgstr "Sauver &Sous ..."
+
+#: ../bin/misc.c:2520
+msgid "Revert"
+msgstr "Revenir"
+
+#: ../bin/misc.c:2533
+msgid "P&rint Setup ..."
+msgstr "R&églages d'impression ..."
+
+#: ../bin/misc.c:2541
+msgid "&Import"
+msgstr "&Importer"
+
+#: ../bin/misc.c:2543
+msgid "Import &Module"
+msgstr "Importation d'un &Module"
+
+#: ../bin/misc.c:2545
+msgid "Export to &Bitmap"
+msgstr "Exporter en &bitmap"
+
+#: ../bin/misc.c:2548
+msgid "E&xport"
+msgstr "E&xporter"
+
+#: ../bin/misc.c:2550
+msgid "Export D&XF"
+msgstr "Exporter en D&XF"
+
+#: ../bin/misc.c:2554
+msgid "Export S&VG"
+msgstr "Exporter S&VG"
+
+#: ../bin/misc.c:2560
+msgid "Parameter &Files ..."
+msgstr "&Fichiers de paramètres ..."
+
+#: ../bin/misc.c:2562
+msgid "No&tes ..."
+msgstr "R&emarques ..."
+
+#: ../bin/misc.c:2569
+msgid "E&xit"
+msgstr "Q&uitter"
+
+#: ../bin/misc.c:2601
+msgid "&Undo"
+msgstr "&Annuler"
+
+#: ../bin/misc.c:2603
+msgid "R&edo"
+msgstr "R&efaire"
+
+#: ../bin/misc.c:2606
+msgid "Cu&t"
+msgstr "C&ouper"
+
+#: ../bin/misc.c:2608
+msgid "&Copy"
+msgstr "&Copier"
+
+#: ../bin/misc.c:2610
+msgid "&Paste"
+msgstr "&Coller"
+
+#: ../bin/misc.c:2612
+msgid "C&lone"
+msgstr "C&opie"
+
+#: ../bin/misc.c:2614
+msgid "De&lete"
+msgstr "E&ffacer"
+
+#: ../bin/misc.c:2622
+msgid "Select &All"
+msgstr "T&out sélectionner"
+
+#: ../bin/misc.c:2624
+msgid "Select By Index"
+msgstr "Sélectionner par index"
+
+#: ../bin/misc.c:2625
+msgid "&Deselect All"
+msgstr "&Tout désélectionner"
+
+#: ../bin/misc.c:2626
+msgid "&Invert Selection"
+msgstr "&Inverser la sélection"
+
+#: ../bin/misc.c:2627
+msgid "Select Stranded Track"
+msgstr "Sélectionnez une voie isolée"
+
+#: ../bin/misc.c:2629
+msgid "Tu&nnel"
+msgstr "Tu&nnel"
+
+#: ../bin/misc.c:2630
+msgid "B&ridge"
+msgstr "P&ont"
+
+#: ../bin/misc.c:2631
+msgid "Ties/NoTies"
+msgstr "Groupées/non groupées"
+
+#: ../bin/misc.c:2632
+msgid "Move to &Front"
+msgstr "Déplacer vers &l'avant"
+
+#: ../bin/misc.c:2633
+msgid "Move to &Back"
+msgstr "Déplacer vers &l'arrière"
+
+#: ../bin/misc.c:2644
+msgid "Zoom &In"
+msgstr "Zoom &avant"
+
+#: ../bin/misc.c:2647
+msgid "Zoom &Out"
+msgstr "Zoom &Arrière"
+
+#: ../bin/misc.c:2649
+msgid "Zoom &Extents"
+msgstr "Zoom sur l'étendu&e"
+
+#: ../bin/misc.c:2660
+msgid "&Redraw"
+msgstr "&Redessiner"
+
+#: ../bin/misc.c:2662
+msgid "Redraw All"
+msgstr "Tout redessiner"
+
+#: ../bin/misc.c:2669
+msgid "Show SnapGrid"
+msgstr "Afficher la Grille d'accrochage"
+
+#: ../bin/misc.c:2679
+msgid "Enable Magnetic Snap"
+msgstr "Activer la grille Magnétique"
+
+#: ../bin/misc.c:2694
+msgid "&Tool Bar"
+msgstr "&Barre d'outils"
+
+#: ../bin/misc.c:2727
+msgid "Control Element"
+msgstr "Éléments de contrôle"
+
+#: ../bin/misc.c:2757
+msgid "Change Scale"
+msgstr "Modifier l'échelle"
+
+#: ../bin/misc.c:2770
+msgid "&Loosen Tracks"
+msgstr "&Desserrer les voies"
+
+#: ../bin/misc.c:2777
+msgid "Raise/Lower Elevations"
+msgstr "Monter/Descendre les Elévations"
+
+#: ../bin/misc.c:2786
+msgid "Recompute Elevations"
+msgstr "Recalculer les élévations"
+
+#: ../bin/misc.c:2804
+msgid "L&ayout ..."
+msgstr "P&lan ..."
+
+#: ../bin/misc.c:2806
+msgid "&Display ..."
+msgstr "&Affichage ..."
+
+#: ../bin/misc.c:2808
+msgid "Co&mmand ..."
+msgstr "Co&mmande ..."
+
+#: ../bin/misc.c:2810
+msgid "&Easements ..."
+msgstr "&Courbes de transition ..."
+
+#: ../bin/misc.c:2813
+msgid "&Fonts ..."
+msgstr "&Polices ..."
+
+#: ../bin/misc.c:2815
+msgid "Stic&ky ..."
+msgstr "Co&llante ..."
+
+#: ../bin/misc.c:2820
+msgid "&Debug ..."
+msgstr "&Déboguer ..."
+
+#: ../bin/misc.c:2823
+msgid "&Preferences ..."
+msgstr "&Préférences ..."
+
+#: ../bin/misc.c:2825
+msgid "&Colors ..."
+msgstr "&Couleurs ..."
+
+#: ../bin/misc.c:2831
+msgid "&Record ..."
+msgstr "&Enregistrer ..."
+
+#: ../bin/misc.c:2833
+msgid "&Play Back ..."
+msgstr "&Lecture ..."
+
+#: ../bin/misc.c:2839
+msgid "Main window"
+msgstr "Fenêtre principale"
+
+#: ../bin/misc.c:2853
+msgid "Recent Messages"
+msgstr "Messages récents"
+
+#: ../bin/misc.c:2860
+msgid "Tip of the Day..."
+msgstr "Astuce du jour ..."
+
+#: ../bin/misc.c:2861
+msgid "&Demos"
+msgstr "&Demos"
+
+#: ../bin/misc.c:2862
+msgid "Examples..."
+msgstr "Exemples ..."
+
+#: ../bin/misc.c:2866 ../bin/smalldlg.c:205
+msgid "About"
+msgstr "À propos"
+
+#: ../bin/misc.c:2879
+msgid "Tur&nout Designer..."
+msgstr "Conception d'a&iguillage ..."
+
+#: ../bin/misc.c:2882
+msgid "Layout &Control Elements"
+msgstr "Éléments de &contrôle du plan"
+
+#: ../bin/misc.c:2884
+msgid "&Group"
+msgstr "Grouper"
+
+#: ../bin/misc.c:2886
+msgid "&Ungroup"
+msgstr "&Dissocier"
+
+#: ../bin/misc.c:2890
+msgid "Custom defined parts..."
+msgstr "Matériels prototypes ..."
+
+#: ../bin/misc.c:2893
+msgid "Update Turnouts and Structures"
+msgstr "Mise à jour des aiguillages et structures"
+
+#: ../bin/misc.c:2902
+msgid "Layers ..."
+msgstr "Calques ..."
+
+#: ../bin/misc.c:2906
+msgid "Parts &List ..."
+msgstr "N&omenclature ..."
+
+#: ../bin/misc.c:2909
+msgid "Price List..."
+msgstr "Liste de prix ..."
+
+#: ../bin/misc.c:2954
+msgid "Import/Export"
+msgstr "Import/Export"
+
+#: ../bin/misc.c:2986
+msgid ""
+"Program was not terminated properly. Do you want to resume working on the "
+"previous trackplan?"
+msgstr ""
+"Le programme ne s'est pas été terminé correctement. Voulez-vous reprendre le"
+" travail précédent?"
+
+#: ../bin/misc.c:2987
+msgid "Resume"
+msgstr "Résumé"
+
+#: ../bin/misc.c:2987
+msgid "Resume with New Name"
+msgstr "Recommencer avec un nouveau nom"
+
+#: ../bin/misc.c:2987
+msgid "Ignore Checkpoint"
+msgstr "Ignorer le point de contrôle"
+
+#: ../bin/misc.c:2990
+#, c-format
+msgid "Reload Checkpoint Selected\n"
+msgstr "Recharger le point de contrôle sélectionné\n"
+
+#: ../bin/misc.c:2992
+#, c-format
+msgid "Reload Checkpoint With New Name Selected\n"
+msgstr "Recharger le point de contrôle avec le nouveau nom sélectionné\n"
+
+#: ../bin/misc.c:2994
+#, c-format
+msgid "Ignore Checkpoint Selected\n"
+msgstr "Ignorer le point de contrôle sélectionné\n"
+
+#: ../bin/misc.c:3106
+#, c-format
+msgid "Unnamed Trackplan - %s(%s)"
+msgstr "Plan de voie sans nom -%s(%s)"
+
+#: ../bin/misc.c:3193
+msgid "Initializing commands"
+msgstr "Initialisation des commandes"
+
+#: ../bin/misc.c:3202
+msgid "Initializing menus"
+msgstr "Initialisation des menus"
+
+#: ../bin/misc.c:3238
+msgid "Reading parameter files"
+msgstr "Lecture des fichiers de paramètres"
+
+#: ../bin/misc.c:3276
+msgid "Initialization complete"
+msgstr "Initialisation terminée"
+
+#: ../bin/param.c:65
+msgid "Unexpected End Of String"
+msgstr "Fin de chaîne inattendue"
+
+#: ../bin/param.c:72
+msgid "Expected digit"
+msgstr "Chiffre attendu"
+
+#: ../bin/param.c:79
+msgid "Overflow"
+msgstr "Débordement"
+
+#: ../bin/param.c:127
+msgid "Divide by 0"
+msgstr "Diviser par 0"
+
+#: ../bin/param.c:135
+msgid "Expected /"
+msgstr "Attendu /"
+
+#: ../bin/param.c:221
+msgid "Invalid Units Indicator"
+msgstr "Indicateur d'unités non valide"
+
+#: ../bin/param.c:249
+msgid "Expected End Of String"
+msgstr "Fin de chaîne attendue"
+
+#: ../bin/param.c:275 ../bin/param.c:1425
+#, c-format
+msgid "Invalid Number"
+msgstr "Nombre invalide"
+
+#: ../bin/param.c:335
+msgid "End Of String"
+msgstr "Fin de chaîne"
+
+#: ../bin/param.c:1387
+#, c-format
+msgid "Enter a value > %ld"
+msgstr "Entrez une valeur > %ld"
+
+#: ../bin/param.c:1389
+#, c-format
+msgid "Enter a value < %ld"
+msgstr "Entrez une valeur < %ld"
+
+#: ../bin/param.c:1391
+#, c-format
+msgid "Enter a value between %ld and %ld"
+msgstr "Entrez une valeur entre %ld et %ld"
+
+#: ../bin/param.c:1458
+#, c-format
+msgid "Enter a value > %s"
+msgstr "Entrez une valeur > %s"
+
+#: ../bin/param.c:1461
+#, c-format
+msgid "Enter a value < %s"
+msgstr "Entrez une valeur < %s"
+
+#: ../bin/param.c:1464
+#, c-format
+msgid "Enter a value between %s and %s"
+msgstr "Entrez une valeur entre %s et %s"
+
+#: ../bin/param.c:1556
+msgid "String cannot be blank"
+msgstr "La chaîne ne peut pas être vide"
+
+#: ../bin/param.c:1674
+msgid "Invalid input(s), please correct the hilighted field(s)"
+msgstr "Saisie invalide, veuillez corriger le(s) champ(s) en surbrillance"
+
+#: ../bin/param.c:2746
+msgid "Help"
+msgstr "Aide"
+
+#: ../bin/paramfile.c:257
+msgid "Parameter"
+msgstr "Paramètre"
+
+#: ../bin/paramfile.c:354
+msgid "Unknown param file line - skip until next good object?"
+msgstr "Ligne de fichier paramètre inconnue - passer au prochain bon objet ?"
+
+#: ../bin/paramfilelist.c:69
+#, c-format
+msgid ""
+"The parameter file: %s could not be found and was probably deleted or moved."
+" The file is removed from the active parameter file list."
+msgstr ""
+"Le fichier de paramètres : %s n'a pas pu être trouvé et a probablement été "
+"supprimé ou déplacé. Le fichier est supprimé de la liste des fichiers de "
+"paramètres actifs."
+
+#: ../bin/paramfilelist.c:119
+#, c-format
+msgid "Updating %s"
+msgstr "Mise à jour de %s"
+
+#: ../bin/paramfilesearch_ui.c:53
+msgid "Fit Any"
+msgstr "Ajuster Quelconque"
+
+#: ../bin/paramfilesearch_ui.c:53
+msgid "Fit Compatible"
+msgstr "Ajuster compatible"
+
+#: ../bin/paramfilesearch_ui.c:53
+msgid "Fit Exact"
+msgstr "Ajuster exactement"
+
+#: ../bin/paramfilesearch_ui.c:191
+#, c-format
+msgid "%u parameter files in library. %d Fit Scale."
+msgstr "%u fichiers de paramètres dans la bibliothèque. %d Ajuster l'échelle."
+
+#: ../bin/paramfilesearch_ui.c:308
+#, c-format
+msgid "%d parameter files found. %d Fit Scale"
+msgstr "%d fichiers de paramètres trouvés. %d Ajuster l'échelle"
+
+#: ../bin/paramfilesearch_ui.c:317
+msgid "No matches found."
+msgstr "Aucun résultat."
+
+#: ../bin/paramfilesearch_ui.c:476
+msgid "Choose parameter files"
+msgstr "Sélectionnez les fichiers de paramètres"
+
+#: ../bin/paramfilesearch_ui.c:494
+msgid "No system parameter files found, search is disabled."
+msgstr ""
+"Aucun fichier de paramètres système trouvé, la recherche est désactivée."
+
+#: ../bin/partcatalog.c:736
+msgid "Found: "
+msgstr "Trouvé : "
+
+#: ../bin/partcatalog.c:737
+msgid "Similar: "
+msgstr "Identique : "
+
+#: ../bin/partcatalog.c:738
+msgid "Ignored: "
+msgstr "Ignoré : "
+
+#: ../bin/partcatalog.c:739
+msgid "Not found: "
+msgstr "Introuvable : "
+
+#: ../bin/smalldlg.c:46
+msgid "Show tips at start"
+msgstr "Afficher les conseils au démarrage"
+
+#: ../bin/smalldlg.c:52
+msgid "Did you know..."
+msgstr "Saviez-vous que ..."
+
+#: ../bin/smalldlg.c:54
+msgid "Previous Tip"
+msgstr "Précédent"
+
+#: ../bin/smalldlg.c:55
+msgid "Next Tip"
+msgstr "Conseil suivant"
+
+#: ../bin/smalldlg.c:72
+msgid "Tip of the Day"
+msgstr "Astuce du jour"
+
+#: ../bin/smalldlg.c:81
+msgid "No tips are available"
+msgstr "Pas de conseils disponibles"
+
+#: ../bin/smalldlg.c:182
+msgid ""
+"XTrackCAD is a CAD (computer-aided design) program for designing model "
+"railroad layouts."
+msgstr ""
+"XTrackCAD est un programme de CAO (conception assistée par ordinateur) pour "
+"concevoir des plans de chemin de fer miniature."
+
+#: ../bin/svgoutput.c:484
+msgid "Export to SVG"
+msgstr "Exporter au format SVG"
+
+#: ../bin/tbezier.c:184
+#, c-format
+msgid "Bez: L%s A%0.3f trk_len=%s min_rad=%s"
+msgstr "Bez: L%s A%0.3f lg_voie=%s min_rad=%s"
+
+#: ../bin/tbezier.c:254
+msgid "Ctl Pt 1: X,Y"
+msgstr "Ctl Pt 1: X,Y"
+
+#: ../bin/tbezier.c:255
+msgid "Ctl Pt 2: X,Y"
+msgstr "Ctl Pt 2: X,Y"
+
+#: ../bin/tbezier.c:261
+msgid "MinRadius"
+msgstr "RayonMin"
+
+#: ../bin/tbezier.c:266
+msgid "Line Color"
+msgstr "Couleur de ligne"
+
+#: ../bin/tbezier.c:393
+#, c-format
+msgid ""
+"Bezier %s(%d): Layer=%u MinRadius=%s Length=%s EP=[%0.3f,%0.3f] "
+"[%0.3f,%0.3f] CP1=[%0.3f,%0.3f] CP2=[%0.3f, %0.3f]"
+msgstr ""
+"Bezier %s(%d): Calque=%u Rayon Min=%s Longueur=%s EP=[%0.3f,%0.3f] "
+"[%0.3f,%0.3f] CP1=[%0.3f,%0.3f] CP2=[%0.3f, %0.3f]"
+
+#: ../bin/tbezier.c:467
+msgid "Bezier Track"
+msgstr "Voie Bézier"
+
+#: ../bin/tcornu.c:232
+#, c-format
+msgid "Cornu: L %s A %0.3f L %s MinR %s"
+msgstr "Cornu: L %s A %0.3f L %s MinR %s"
+
+#: ../bin/tcornu.c:304
+msgid "Radius "
+msgstr "Rayon "
+
+#: ../bin/tcornu.c:312
+msgid "Minimum Radius"
+msgstr "Rayon Minimum"
+
+#: ../bin/tcornu.c:313
+msgid "Max Rate Of Curve Change/Scale"
+msgstr "Taux maximum de variation de courbe/échelle"
+
+#: ../bin/tcornu.c:314
+msgid "Total Winding Angle"
+msgstr "Angle total"
+
+#: ../bin/tcornu.c:452
+#, c-format
+msgid ""
+"Cornu Track(%d): Layer=%u MinRadius=%s Length=%s EP=[%0.3f,%0.3f] "
+"[%0.3f,%0.3f]"
+msgstr ""
+"Voie de Cornu(%d) : couche =%u Rayon Min =%s longueur =%s EP=[%0.3f,%0.3f] "
+"[%0.3f,%0.3f]"
+
+#: ../bin/tcornu.c:505
+msgid "Cornu Track"
+msgstr "Voie de Cornu"
+
+#: ../bin/tcurve.c:250
+#, c-format
+msgid "Helix: Turns %ld L %0.2f Grade %0.1f%% Sep %0.2f"
+msgstr "Helix: Tours %ld L %0.2f Pente %0.1f%% Sép %0.2f"
+
+#: ../bin/tcurve.c:256
+#, c-format
+msgid "Helix: Turns %ld L %0.2f"
+msgstr "Helix: Tours %ld L %0.2f"
+
+#: ../bin/tcurve.c:378 ../bin/tcurve.c:380 ../bin/tease.c:510
+#: ../bin/tease.c:512 ../bin/tstraigh.c:87 ../bin/tstraigh.c:89
+msgid "Z"
+msgstr "Z"
+
+#: ../bin/tcurve.c:565
+#, c-format
+msgid ""
+"Helix Track(%d): Layer=%d Radius=%s Turns=%ld Length=%s Center=[%s,%s] "
+"EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
+msgstr ""
+"Voie de l'hélicoïde\n"
+"\n"
+"Voie de l'hélicoïde (%d) : Couche =%d Rayon =%s Tours =%ld Longueur =%s Centre = [%s,%s] EP =[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
+
+#: ../bin/tcurve.c:575
+#, c-format
+msgid ""
+"Curved Track(%d): Layer=%d Radius=%s Length=%s Center=[%s,%s] "
+"EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
+msgstr ""
+"Voie courbe (%d) : Couche =%d Rayon =%s Longueur =%s Centre = [%s,%s] "
+"EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
+
+#: ../bin/tcurve.c:652
+msgid "Helix Track"
+msgstr "Voie hélicoïde"
+
+#: ../bin/tcurve.c:658
+msgid "Curved Track"
+msgstr "Voie courbe"
+
+#: ../bin/tcurve.c:1033
+msgid "Merge Curves"
+msgstr "Fusionner des courbes"
+
+#: ../bin/tcurve.c:1102
+msgid "Drag to change angle or create tangent"
+msgstr "Faites glisser pour changer d'angle ou créer une tangente"
+
+#: ../bin/tcurve.c:1135 ../bin/tcurve.c:1167
+msgid "Curved "
+msgstr "Courbe "
+
+#: ../bin/tcurve.c:1141
+msgid "Tangent "
+msgstr "Tangente "
+
+#: ../bin/tcurve.c:1150
+#, c-format
+msgid "Tangent track: Length %s Angle %0.3f"
+msgstr "Voie tangente : Longueur %s Angle %0.3f"
+
+#: ../bin/tcurve.c:1172
+#, c-format
+msgid "Curved: Radius=%s Length=%s Angle=%0.3f"
+msgstr "Courbé : Rayon =%s Longueur =%s Angle =%0.3f"
+
+#: ../bin/tease.c:517
+msgid "l0"
+msgstr "l0"
+
+#: ../bin/tease.c:518
+msgid "l1"
+msgstr "l1"
+
+#: ../bin/tease.c:560
+#, c-format
+msgid ""
+"Joint Track(%d): Layer=%d Length=%0.3f EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f "
+"A%0.3f]"
+msgstr ""
+"Voie raccordée(%d): Couche=%d Longueur=%0.3f EP=[%0.3f,%0.3f A%0.3f] "
+"[%0.3f,%0.3f A%0.3f]"
+
+#: ../bin/tease.c:605
+msgid "Easement Track"
+msgstr "Voie courbe de transition"
+
+#: ../bin/tease.c:1330
+msgid "Merge Easements"
+msgstr "Fusionner des courbes de transition"
+
+#: ../bin/tease.c:1398
+msgid "Split Easement Curve"
+msgstr "Courbe de transition fractionnée"
+
+#: ../bin/textnoteui.c:209
+#, c-format
+msgid "Note: Layer=%d %-.80s"
+msgstr "Remarque : Calque=%d %-.80s"
+
+#: ../bin/textnoteui.c:220
+msgid "Update comment"
+msgstr "Mettre à jour le commentaire"
+
+#: ../bin/textnoteui.c:232
+msgid "Replace this text with your note"
+msgstr "Remplacez ce texte par votre note"
+
+#: ../bin/textnoteui.c:236
+msgid "Create Text Note"
+msgstr "Créer une note texte"
+
+#: ../bin/track.c:274
+msgid "No track or structure pieces are present in layout"
+msgstr ""
+"Aucun morceau de voie ou de structure n'est présent dans la disposition"
+
+#: ../bin/track.c:276
+msgid "No track or structure pieces are selected"
+msgstr "Aucune voie ou pièce de structure n'est sélectionnée"
+
+#: ../bin/track.c:1379
+msgid "Move Objects Above"
+msgstr "Déplacer les objets ci-dessus"
+
+#: ../bin/track.c:1399
+msgid "Mode Objects Below"
+msgstr "Objets ci-dessous"
+
+#: ../bin/track.c:1692
+msgid "Audit"
+msgstr "Vérification"
+
+#: ../bin/track.c:1981
+#, c-format
+msgid "%d Track(s) loosened"
+msgstr "%d Voie(s) détachées"
+
+#: ../bin/track.c:1988
+msgid "No tracks loosened"
+msgstr "Pas de voies détachées"
+
+#: ../bin/track.c:1998 ../bin/track.c:2002
+#, c-format
+msgid "Connecting a non-track(%d) to (%d)"
+msgstr "Connecter un autre objet (%d) à une voie (%d)"
+
+#: ../bin/track.c:2057
+msgid "Join Abutting Tracks"
+msgstr "Raccorder les voies adjacentes"
+
+#: ../bin/track.c:2345 ../bin/track.c:2380
+msgid "Inside turnout track"
+msgstr "Voie d'aiguillage intérieure"
+
+#: ../bin/track.c:2363
+#, c-format
+msgid "Curve: Length=%s Radius=%0.3f Arc=%0.3f"
+msgstr "Courbe : longueur=%s Rayon=%0.3f Arc=%0.3f"
+
+#: ../bin/track.c:2386 ../bin/track.c:2444 ../bin/tstraigh.c:646
+#, c-format
+msgid "Straight: Length=%s Angle=%0.3f"
+msgstr "Droit : Longueur = %s Angle = %0.3f"
+
+#: ../bin/track.c:3571
+#, c-format
+msgid "%s[%0.2f,%0.2f] A%0.2f"
+msgstr "%s[%0.2f,%0.2f] A%0.2f"
+
+#: ../bin/track.c:3573
+#, c-format
+msgid "%s[%0.2f,%0.2f] A%0.2f\n"
+msgstr "%s[%0.2f,%0.2f] A%0.2f\n"
+
+#: ../bin/trknote.c:55
+msgid "Comment"
+msgstr "Commentaire"
+
+#: ../bin/trknote.c:56
+msgid "Link"
+msgstr "Lien"
+
+#: ../bin/trknote.c:56 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:104
+msgid "Weblink"
+msgstr "Lien Web"
+
+#: ../bin/trknote.c:639 ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:112
+msgid "Place a note on the layout"
+msgstr "Mettre une note sur le plan"
+
+#: ../bin/trknote.c:653
+msgid "New Note"
+msgstr "Nouvelle note"
+
+#: ../bin/trknote.c:709
+msgid "Add notes"
+msgstr "Ajouter des notes"
+
+#: ../bin/tstraigh.c:91
+msgid "Track Angle"
+msgstr "Angle de voie"
+
+#: ../bin/tstraigh.c:194
+#, c-format
+msgid ""
+"Straight Track(%d): Layer=%d Length=%s EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f "
+"A%0.3f]"
+msgstr ""
+"Voie droite (%d) : Couche =%d Longueur =%s EP =[%0.3f,%0.3f A%0.3f] "
+"[%0.3f,%0.3f A%0.3f]"
+
+#: ../bin/tstraigh.c:559
+msgid "Extending Straight Track"
+msgstr "Extension d'une voie droite"
+
+#: ../bin/tstraigh.c:639
+msgid "Straight "
+msgstr "Trait "
+
+#: ../wlib/gtklib/filesel.c:94
+msgid "Save format:"
+msgstr "Format d'enregistrement :"
+
+#: ../wlib/gtklib/filesel.c:187
+msgid "Image files"
+msgstr "Fichiers images"
+
+#: ../wlib/gtklib/font.c:282
+msgid "Font Select"
+msgstr "Sélection de police"
+
+#: ../wlib/gtklib/help.c:84 ../wlib/mswlib/mswmisc.c:2274
+msgid "&Contents"
+msgstr "&Sommaire"
+
+#: ../wlib/gtklib/help.c:85
+msgid "Co&mmand Context help"
+msgstr "Co&mmande d'aide contextuelle"
+
+#: ../wlib/gtklib/ixhelp.c:243
+msgid "Home"
+msgstr "Accueil"
+
+#: ../wlib/gtklib/ixhelp.c:247
+msgid "Contents"
+msgstr "Sommaire"
+
+#: ../wlib/gtklib/menu.c:541
+msgid "<Empty List>"
+msgstr "<Liste vide>"
+
+#: ../wlib/gtklib/notice.c:101 ../wlib/mswlib/mswmisc.c:2134
+#: ../wlib/mswlib/mswmisc.c:2177
+msgid "Warning"
+msgstr "Attention"
+
+#: ../wlib/gtklib/notice.c:106 ../wlib/mswlib/mswmisc.c:2139
+msgid "Error"
+msgstr "Erreur"
+
+#: ../wlib/gtklib/text.c:300
+#, c-format
+msgid "%d of %d"
+msgstr "%d de %d"
+
+#: ../wlib/gtklib/wpref.c:123
+#, c-format
+msgid ""
+"The required configuration files could not be located in the expected location.\n"
+"\n"
+"Usually this is an installation problem. Make sure that these files are installed in either \n"
+" ../share/xtrkcad or\n"
+" /usr/share/%s or\n"
+" /usr/local/share/%s\n"
+"If this is not possible, the environment variable %s must contain the name of the correct directory."
+msgstr ""
+"Les données de configuration nécessaires sont introuvables dans le répertoire attendu.\n"
+"\n"
+"Il s'agit généralement d'un problème d'installation. Assurez-vous que ces fichiers sont stockés dans \n"
+" ../share/xtrkcad ou\n"
+" /usr/share/%s ou\n"
+" /usr/local/share/%s\n"
+"Si cela n'est pas possible, la variable d'environnement %s doit contenir le nom du répertoire correct."
+
+#: ../wlib/gtklib/wpref.c:157 ../wlib/gtklib/wpref.c:202
+msgid "HOME is not set"
+msgstr "HOME n'est pas défini"
+
+#: ../wlib/gtklib/wpref.c:157 ../wlib/gtklib/wpref.c:166
+#: ../wlib/gtklib/wpref.c:202
+msgid "Exit"
+msgstr "Quitter"
+
+#: ../wlib/gtklib/wpref.c:165
+#, c-format
+msgid "Cannot create %s"
+msgstr "Impossible de créer %s"
+
+#: ../wlib/mswlib/backgnd.c:104
+msgid "Image file is invalid or cannot be read."
+msgstr "Le fichier image n'est pas valide ou ne peut pas être lu."
+
+#: ../wlib/mswlib/mswmenu.c:888
+msgid "Ctrl+"
+msgstr "Ctrl+"
+
+#: ../wlib/mswlib/mswmenu.c:893
+msgid "Alt+"
+msgstr "Alt+"
+
+#: ../wlib/mswlib/mswmenu.c:898
+msgid "Shift+"
+msgstr "Maj+"
+
+#: ../wlib/mswlib/mswmenu.c:904
+msgid "Space"
+msgstr "Espace"
+
+#: ../wlib/mswlib/mswmisc.c:195
+msgid "All image files"
+msgstr "Tous les fichiers image"
+
+#: ../wlib/mswlib/mswmisc.c:197
+msgid "GIF files (*.gif)"
+msgstr "Fichiers GIF (*.gif)"
+
+#: ../wlib/mswlib/mswmisc.c:199
+msgid "JPEG files (*.jpeg,*.jpg)"
+msgstr "Fichier JPEG (*.jpeg,*.jpg)"
+
+#: ../wlib/mswlib/mswmisc.c:201
+msgid "PNG files (*.png)"
+msgstr "Fichier PNG (*.png)"
+
+#: ../wlib/mswlib/mswmisc.c:203
+msgid "TIFF files (*.tiff, *.tif)"
+msgstr "Fichiers TIFF (*.tiff, *.tif)"
+
+#: ../wlib/mswlib/mswmisc.c:205
+msgid "All files (*)"
+msgstr "Tous les fichiers (*)"
+
+#: ../wlib/mswlib/mswmisc.c:2275
+msgid "&Search for Help on..."
+msgstr "&Rechercher de l'aide sur..."
+
+#: ../wlib/mswlib/mswmisc.c:2276
+msgid "Co&mmand Context Help"
+msgstr "Co&mmande d'aide contextuelle"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:9
+#, c-format
+msgid ""
+"MSG_BETA_NOTICE\tXTrackCAD Version %s: Please note that this Beta Version of"
+" XTrackCAD is still undergoing final testing before its official release. "
+"The sole purpose of this Beta Version is to conduct testing and obtain "
+"feedback. Should you encounter any bugs, glitches, lack of functionality or "
+"other problems, please let us know immediately so we can rectify these "
+"accordingly. Your help in this regard is greatly appreciated!"
+msgstr ""
+"MSG_BETA_NOTICE\tXTrackCAD Version %s: Veuillez noter que cette version bêta"
+" de XTrackCAD est toujours en cours de test final avant sa sortie "
+"officielle. Le seul but de cette version bêta est d'effectuer des tests et "
+"d'obtenir des commentaires. Si vous rencontrez des bugs, des problèmes, un "
+"manque de fonctionnalité ou d'autres problèmes, veuillez nous en informer "
+"immédiatement afin que nous puissions les rectifier en conséquence. Votre "
+"aide à cet égard est grandement appréciée!"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:10
+#, c-format
+msgid ""
+"MSG_CANT_PLACE_FROGPOINTS\tFrog|Points cannot be placed on a turnout, circle"
+" or helix.\tA %s cannot be placed on a turnout, circle or helix."
+msgstr ""
+"MSG_CANT_PLACE_FROGPOINTS\t Coeur|Points ne peuvent pas être placés sur une "
+"aiguille, un cercle ou une hélicoïde. Un %s ne peut pas être placé sur une "
+"aiguille, un cercle ou une hélicoïde."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:11
+msgid ""
+"MSG_SEL_TRK_FROZEN\tA frozen layer contains selected track. Command cannot "
+"be executed."
+msgstr ""
+"MSG_SEL_TRK_FROZEN\tUn calque gelé contient la voie sélectionnée. La "
+"commande ne peut pas être exécutée."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:12
+msgid "MSG_HELIX_TURNS_GTR_0\tA Helix must have one or more loops of track."
+msgstr ""
+"MSG_HELIX_TURNS_GTR_0\tUne hélicoïde doit avoir une ou plusieurs boucles de "
+"voie."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:13
+msgid ""
+"MSG_LARGE_FONT\tA large font has been selected....\tA large font has been selected.\n"
+"Large fonts may a take a while to load.\n"
+"\n"
+"Do you wish to continue?"
+msgstr ""
+"MSG_LARGE_FONT\tUne grande police a été sélectionnée....\tUne grande police a été sélectionnée.\n"
+"Le chargement de grandes polices peut prendre un certain temps.\n"
+"\n"
+"Souhaitez-vous continuer?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:14
+msgid ""
+"MSG_TEXT_TOO_LONG\tThe entered text was too long for the text object. It was"
+" truncated."
+msgstr ""
+"MSG_TEXT_TOO_LONG\tLe texte saisi est trop long pour l'objet texte. Il a été"
+" tronqué."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:15
+msgid ""
+"MSG_TODSGN_DESC_NONBLANK\tAll description fields present in the Turnout...\tAll description fields present in the Turnout\n"
+"Designer must contain appropriate information.\n"
+"Correct inappropriate values and try again."
+msgstr ""
+"MSG_TODSGN_DESC_NONBLANK\tTous les champs de description présents dans l'éditeur d'aiguillage...\tTous les champs de description présents dans l'éditeur \n"
+"d'aiguillage doivent contenir les informations appropriées.\n"
+"Corrigez les valeurs inappropriées et réessayez."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:16
+msgid ""
+"MSG_GROUP_NONBLANK\tAll fields listed in the Group dialog must contain data....\tAll fields listed in the Group dialog must contain data.\n"
+"Please enter missing values and try again."
+msgstr ""
+"MSG_GROUP_NONBLANK\tTous les champs répertoriés dans la boîte de dialogue Groupe doivent contenir des données....\tTous les champs répertoriés dans la boîte de dialogue Groupe doivent contenir des données.\n"
+"Veuillez entrer les valeurs manquantes et réessayer."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:17
+msgid ""
+"MSG_TODSGN_VALUES_GTR_0\tAll values specified in the Turnout Designer must be...\tAll values specified in the Turnout Designer must be\n"
+"greater than 0. Correct inappropriate values and try again."
+msgstr ""
+"MSG_TODSGN_VALUES_GTR_0\tToutes les valeurs spécifiées dans l'éditeur d'aiguillage doivent ...\tToutes les valeurs spécifiées dans l'éditeur d'aiguillage \n"
+"doivent être supérieures à 0. Corrigez les valeurs inappropriées et réessayez."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:18
+msgid "MSG_CURVE_OUT_OF_RANGE\tAngle must be between 0\\u00B0 and 360\\u00B0."
+msgstr ""
+"MSG_CURVE_OUT_OF_RANGE\tL'angle doit être compris entre 0\\u00B0 et "
+"360\\u00B0."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:19
+msgid ""
+"MSG_TODSGN_CORNU_TOO_COMPLEX\tThe curves created by the Turnout Designer for a cornu curve have more than 128 segments....\tThe curves created by the Turnout Designer for a cornu curve have more than 128 segments.\n"
+"Try adjusting the end angles and radii to be closer in values."
+msgstr ""
+"MSG_TODSGN_CORNU_TOO_COMPLEX\tLes courbes créées avec Conception d'aiguillage pour une courbe de cornu ont plus de 128 segments ...\tLes courbes créées avec Conception d'aiguillage pour une courbe de cornu ont plus de 128 segments.\n"
+"Essayez d'ajuster les angles de fin et les rayons pour vous rapprocher des valeurs."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:20
+#, c-format
+msgid ""
+"MSG_CUSTMGM_DELETE_CONFIRM\tAre you sure you want to delete the NNN definition(s)?\tAre you sure you want to delete the\n"
+"%d definition(s)?"
+msgstr ""
+"MSG_CUSTMGM_DELETE_CONFIRM\tÊtes-vous sûr de vouloir supprimer la ou les définition(s) NNN ?\tÊtes-vous sûr de vouloir supprimer le\n"
+"%d définition(s)?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:21
+msgid "MSG_WBITMAP_FAILED\tBitmap create or write function failed."
+msgstr ""
+"MSG_WBITMAP_FAILED\tLa fonction de création ou d'écriture bitmap a échoué."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:22
+msgid "MSG_BITMAP_TOO_LARGE\tBitmap is too large."
+msgstr "MSG_BITMAP_TOO_LARGE\tLe bitmap est trop volumineux."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:23
+msgid "MSG_CHANGE_ELEV_MODE\tCannot change elevation mode."
+msgstr "MSG_CHANGE_ELEV_MODE\tImpossible de changer le mode d'élevation."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:24
+msgid ""
+"MSG_GRID_ENABLE_SPACE_GTR_0\tCannot Enable Grid; spacing must be greater "
+"than 0"
+msgstr ""
+"MSG_GRID_ENABLE_SPACE_GTR_0\tImpossible d'activer la grille; l'espacement "
+"doit être supérieur à 0"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:25
+msgid "MSG_LAYER_FREEZE\tCannot freeze current layer"
+msgstr "MSG_LAYER_FREEZE\tImpossible de geler le calque actuel"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:26
+msgid ""
+"MSG_CANT_GROUP_BUMPER1\tCannot Group Bumper Track. The track has been "
+"unselected."
+msgstr ""
+"MSG_CANT_GROUP_BUMPER1\tImpossible de regrouper la voie exceptionnelle. La "
+"voie a été désélectionnée."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:27
+#, c-format
+msgid "MSG_CANNOT_GROUP_TRACK\tCannot Group selected track type %s."
+msgstr ""
+"MSG_CANNOT_GROUP_TRACK\tNe peut pas grouper les types de voies %s "
+"sélectionnés."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:28
+msgid "MSG_LAYER_HIDE\tCannot hide current layer"
+msgstr "MSG_LAYER_HIDE\tImpossible de masquer le calque actuel"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:29
+msgid "MSG_LAYER_MODULE\tCannot turn current layer into a Module"
+msgstr "MSG_LAYER_MODULE\tImpossible de transformer le calque actuel en module"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:30
+msgid "MSG_JOIN_EASEMENTS\tCannot Join; Easements do not align or abut."
+msgstr ""
+"MSG_JOIN_EASEMENTS\tImpossible de raccorder; Les courbes de transition ne "
+"sont ni alignées ni abouties."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:31
+#, c-format
+msgid ""
+"MSG_TRK_ALREADY_CONN\tFirst|Second track is already connected.\tCannot Join;"
+" %s track is already connected."
+msgstr ""
+"MSG_TRK_ALREADY_CONN\tLa première|seconde voie est déjà "
+"connectée.\tImpossible de raccorder; La voie %s est déjà connectée."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:32
+msgid "MSG_JOIN_TURNTABLE\tCannot join from a turntable, try to a turntable"
+msgstr ""
+"MSG_JOIN_TURNTABLE\tImpossible de raccorder depuis un pont tournant, essayez"
+" de vous raccorder à lui"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:33
+msgid "MSG_JOIN_CORNU_SAME\tCannot Join; Selected endpoints are on same track."
+msgstr ""
+"MSG_JOIN_CORNU_SAME\tImpossible de raccorder; Les points de fin sélectionnés"
+" sont sur la même voie."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:34
+msgid "MSG_JOIN_SAME\tCannot Join; Selected endpoints are on same track."
+msgstr ""
+"MSG_JOIN_SAME\tImpossible de raccorder; Les terminaux sélectionnés sont sur "
+"la même voie."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:35
+msgid ""
+"MSG_JOIN_NOTBEZIERORCORNU\tCannot Join Bezier or Cornu track if Easement is "
+"not Cornu"
+msgstr ""
+"MSG_JOIN_NOTBEZIERORCORNU\tImpossible de rejoindre la voie Bézier ou Cornu "
+"si la voie de transition n'est pas une Cornu"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:36
+msgid "MSG_SELECTED_TRACKS_PARALLEL\tCannot Join; Selected tracks are parallel."
+msgstr ""
+"MSG_SELECTED_TRACKS_PARALLEL\tImpossible de raccorder; Les voies "
+"sélectionnées sont parallèles."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:37
+#, c-format
+msgid ""
+"MSG_PRMFIL_OPEN_NEW\tCannot open New Parameter File: FILENAME\tCannot open "
+"New Parameter File: %s"
+msgstr ""
+"MSG_PRMFIL_OPEN_NEW\tImpossible d'ouvrir le nouveau fichier de paramètres : "
+"FILENAME\tImpossible d'ouvrir le nouveau fichier de paramètres : %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:38
+msgid "MSG_LAYER_SEL_FROZEN\tCannot select a frozen layer"
+msgstr "MSG_LAYER_SEL_FROZEN\tImpossible de sélectionner un calque gelé"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:39
+msgid ""
+"MSG_GRID_SHOW_SPACE_GTR_0\tCannot Show Grid; spacing must be greater than 0"
+msgstr ""
+"MSG_GRID_SHOW_SPACE_GTR_0\tImpossible d'afficher la grille; l'espacement "
+"doit être supérieur à 0"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:40
+#, c-format
+msgid "MSG_CANT_SPLIT_TRK\tCannot split TYPE track\tCannot split %s track"
+msgstr ""
+"MSG_CANT_SPLIT_TRK\tImpossible de scinder la voie TYPE\tImpossible de "
+"scinder la voie %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:41
+#, c-format
+msgid ""
+"MSG_CUSTMGM_CANT_WRITE\tCannot write to parameter file: FILENAME\tCannot "
+"write to parameter file: %s"
+msgstr ""
+"MSG_CUSTMGM_CANT_WRITE\tImpossible d'écrire dans le fichier de paramètres : "
+"FILENAME\tImpossible d'écrire dans le fichier de paramètres : %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:42
+msgid "MSG_CARIMP_DUP_INDEX\tCar Index number duplicated."
+msgstr "MSG_CARIMP_DUP_INDEX\tNuméro de véhicule dupliqué."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:43
+msgid ""
+"MSG_CONN_PARAMS_TOO_SMALL\tConnection parameters reset to minimum values."
+msgstr ""
+"MSG_CONN_PARAMS_TOO_SMALL\tLes paramètres de connexion sont réinitialisés "
+"aux valeurs minimales."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:44
+msgid "MSG_CONN_PARAMS_TOO_BIG\tConnection parameters reset to maximum values."
+msgstr ""
+"MSG_CONN_PARAMS_TOO_BIG\tLes paramètres de connexion sont réinitialisés aux "
+"valeurs maximales."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:45
+msgid "MSG_CANT_PASTE\tCopy/Paste buffer is empty. There is nothing to Paste."
+msgstr ""
+"MSG_CANT_PASTE\tLe buffer copier/coller est vide. Il n'y a rien à coller."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:46
+msgid ""
+"MSG_TODSGN_CROSSOVER_TOO_SHORT\tCrossover length is too short. Correct...\tCrossover length is too short. Correct\n"
+"inappropriate value(s) and try again."
+msgstr ""
+"MSG_TODSGN_CROSSOVER_TOO_SHORT\tLa longueur de croisement est trop courte. Corrigez...\tLa longueur de croisement est trop\n"
+"courte. Corrigez la ou les valeur(s) inappropriée-s et réessayez."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:47
+msgid "MSG_CURVE_TOO_LARGE\tCurved track is too large."
+msgstr "MSG_CURVE_TOO_LARGE\tLa voie courbe est trop grande."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:48
+msgid ""
+"MSG_TODSGN_REPLACE\tDefinition name is already in use. Saving this...\tDefinition name is already in use. Saving this\n"
+"definition replaces the existing definition.\n"
+"\n"
+"Do you want to continue?"
+msgstr ""
+"MSG_TODSGN_REPLACE\tLe nom de la définition est déjà utilisé. L'enregistrement...\tLe nom de la définition est déjà utilisée. L'enregistrement de cette définition \n"
+"remplace la définition existante.\n"
+"\n"
+"Voulez-vous continuer?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:49
+msgid "MSG_SAVE_CHANGES\tDo you want to save the changes made to your Layout?"
+msgstr ""
+"MSG_SAVE_CHANGES\tVoulez-vous enregistrer les modifications apportées à "
+"votre plan?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:50
+msgid ""
+"MSG_CARIMP_DUP_COLUMNS\tDuplicate column headers found in Car Import file."
+msgstr ""
+"MSG_CARIMP_DUP_COLUMNS\tIl y a des en-têtes de colonne en double trouvées "
+"dans le fichier d'importation de véhicule."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:51
+msgid "MSG_EP_ON_PATH\tEndpoint already on Path."
+msgstr "MSG_EP_ON_PATH\tLe point de fin est déjà sur le chemin."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:52
+#, c-format
+msgid ""
+"MSG_UPGRADE_VERSION1\tFile version %ld is greater than supported...\tFile version %ld is greater than supported\n"
+"version %d. You need to upgrade %s\n"
+"to at least version %s."
+msgstr ""
+"MSG_UPGRADE_VERSION1\tLa version du fichier %ld est supérieure à celle supportée ...\tLa version du fichier %ld est supérieure \n"
+"à la version prise en charge %d. Vous devez \n"
+"mettre à niveau %s au moins vers la version %s ."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:53
+#, c-format
+msgid ""
+"MSG_UPGRADE_VERSION2\tFile version %ld is greater than supported...\tFile version %ld is greater than supported\n"
+"version %d. You need to upgrade your\n"
+"version of %s"
+msgstr ""
+"MSG_UPGRADE_VERSION2\tLa version du fichier %ld est supérieure à celle supportée...\tLa version du fichier %ld est supérieure à \n"
+"la version prise en charge %d. Vous devez \n"
+"mettre à jour votre version de %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:54
+#, c-format
+msgid ""
+"MSG_LAYOUT_LINES_SKIPPED\tWhile processing Layout file %s, %d lines were "
+"skipped because they were not recognized."
+msgstr ""
+"MSG_LAYOUT_LINES_SKIPPED\tLors du traitement des %sdu fichier de plan, les "
+"lignes %d ont été sautées car elles n'étaient pas reconnues."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:55
+#, c-format
+msgid ""
+"MSG_PARAM_UPGRADE_VERSION1\tFile version %ld is greater than supported...\tFile version %ld is greater than supported\n"
+"version %d. You need to upgrade %s\n"
+"to at least version %s."
+msgstr ""
+"MSG_PARAM_UPGRADE_VERSION1\tLa version du fichier %ld est supérieure à celle supportée...\tLa version du fichier %ld est supérieure à la\n"
+"version supportée %d. Vous devez mettre à jour %s\n"
+"à au moins la version. %s."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:56
+#, c-format
+msgid ""
+"MSG_PARAM_UPGRADE_VERSION2\tFile version %ld is greater than supported...\tFile version %ld is greater than supported\n"
+"version %d. You need to upgrade your\n"
+"version of %s"
+msgstr ""
+"MSG_PARAM_UPGRADE_VERSION2\t La version du fichier %ld est supérieure à celle supportée...\tLa version du fichier %ld est supérieure à la \n"
+"version supportée %d. Vous devez améliorer votre\n"
+"version de %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:57
+#, c-format
+msgid ""
+"MSG_PARAM_LINES_SKIPPED\tWhile processing Parameter file %s, %d lines were "
+"skipped because they were not recognized."
+msgstr ""
+"MSG_PARAM_LINES_SKIPPED\tLors du traitement du fichier de paramètres %s, les"
+" lignes %d ont été sautées car elles n'étaient pas reconnues."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:58
+msgid ""
+"MSG_MOVE_POINTS_OTHER_SIDE\tFrog angle prevents placement of points. Move "
+"points to opposite side of frog."
+msgstr ""
+"MSG_MOVE_POINTS_OTHER_SIDE\tL'angle du cœur empêche le placement des points."
+" Déplacez les points sur le côté opposé au cœur."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:59
+msgid "MSG_NO_ROOM_BTW_TRKS\tInsufficient space between existing stall tracks."
+msgstr ""
+"MSG_NO_ROOM_BTW_TRKS\tEspace insuffisant entre les voies de manœuvre "
+"existantes."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:60
+#, c-format
+msgid ""
+"MSG_JOIN_DIFFER_ELEV\tJoining tracks with differing elevations "
+"(N.NNN)\tJoining tracks with differing elevations (%0.2f)"
+msgstr ""
+"MSG_JOIN_DIFFER_ELEV\tJonction de voies d’élévation différentes "
+"(N.NNN)\tJonction de voies d’élévation différentes (%0.2f)"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:61
+msgid "MSG_TRK_DESC_NOT_VISIBLE\tLabel description is hidden"
+msgstr "MSG_TRK_DESC_NOT_VISIBLE\tLa description de l'étiquette est masquée"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:62
+msgid "MSG_DESC_NOT_VISIBLE\tLabel descriptions not visible"
+msgstr "MSG_DESC_NOT_VISIBLE\tDescriptions d'étiquettes non visibles"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:63
+msgid "MSG_OBJECT_TOO_SHORT\tLength of object is too short."
+msgstr "MSG_OBJECT_TOO_SHORT\tLa longueur de l'objet est trop courte."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:64
+#, c-format
+msgid ""
+"MSG_PRINT_MAX_SIZE\tMaximum allowed page size is W x H\tMaximum allowed page"
+" size is %s x %s"
+msgstr ""
+"MSG_PRINT_MAX_SIZE\tLa taille de page maximale autorisée est W x H\tLa "
+"taille de page maximale autorisée est %s x %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:65
+msgid ""
+"MSG_NO_PRINTER_SELECTED\tPlease select a printer from the Print Setup "
+"dialog."
+msgstr ""
+"MSG_NO_PRINTER_SELECTED\tVeuillez sélectionner une imprimante dans la boîte "
+"de dialogue Configuration de l'impression."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:66
+#, c-format
+msgid ""
+"MSG_PRMFIL_NO_CONTENTS\tNew Parameter File has no CONTENTS line: "
+"FILENAME.\tNew Parameter File has no CONTENTS line: %s"
+msgstr ""
+"MSG_PRMFIL_NO_CONTENTS\tLe nouveau fichier de paramètres n'a pas de ligne "
+"CONTENTS : FILENAME.\tLe nouveau fichier de paramètres n'a pas de ligne "
+"CONTENTS :%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:67
+msgid ""
+"MSG_NO_CARS\tNo Cars are defined for the current scale....\tNo Cars are defined for the current scale.\n"
+"\n"
+"Do you want to use the Car Inventory dialog?"
+msgstr ""
+"MSG_NO_CARS\tAucune voiture n'est définie pour l'échelle actuelle ...\tAucune voiture n'est définie pour l'échelle actuelle.\n"
+"\n"
+"Voulez-vous utiliser la boîte de dialogue Car Inventory ?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:68
+msgid ""
+"MSG_NO_CARPROTO\tNo Car Prototypes are defined....\tNo Car Prototypes are defined.\n"
+"Load a Prototype definition file using the\n"
+"Parameter Files dialog or create a Prototype\n"
+"definition using the Car Prototype dialog."
+msgstr ""
+"MSG_NO_CARPROTO\tAucun prototype de voiture n'est défini ....\tAucun prototype de voiture n'est défini.\n"
+"Chargez un fichier de définition de prototype à l'aide de la boîte \n"
+"de dialogue Fichiers de paramètres ou créez une définition de \n"
+"prototype à l'aide de la boîte de dialogue Prototype de voiture."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:69
+msgid "MSG_CARIMP_NO_DATA\tNo data present in Car Import file."
+msgstr ""
+"MSG_CARIMP_NO_DATA\tAucune donnée présente dans le fichier d'importation de "
+"véhicule."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:70
+msgid "MSG_PRINT_NO_PAGES\tNo pages selected for printing."
+msgstr "MSG_PRINT_NO_PAGES\tAucune page sélectionnée pour l'impression."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:71
+msgid "MSG_NO_PATH_TO_EP\tNo path between Profile and selected endpoint."
+msgstr ""
+"MSG_NO_PATH_TO_EP\tIl n'y a pas de connexion entre le profil et le point "
+"final sélectionné."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:72
+#, c-format
+msgid ""
+"MSG_PRMFIL_NO_MAP\tNo Parameter File Map for CONTENTS\tNo Parameter File Map"
+" for %s"
+msgstr ""
+"MSG_PRMFIL_NO_MAP\tAucun fichier de paramètre de carte pour CONTENTS\tLe "
+"nouveau fichier de paramètres %s ne peut pas être ouvert"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:73
+msgid "MSG_NO_SELECTED_TRK\tNo track(s) selected!"
+msgstr "MSG_NO_SELECTED_TRK\tAucune voie(s) sélectionnée!"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:74
+msgid ""
+"MSG_NO_EMPTY_LAYER\tNo layer was found that has no contents, so the module "
+"can not be imported"
+msgstr ""
+"MSG_NO_EMPTY_LAYER\tAucune couche n'a été trouvée sans contenu, le module ne"
+" peut donc pas être importé"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:75
+msgid ""
+"MSG_NO_UNFROZEN_LAYER\tNo layer was found that wasn't frozen. Layer 0 is "
+"unfrozen."
+msgstr ""
+"MSG_NO_UNFROZEN_LAYER\tAucune couche n'a été trouvée qui n'était pas gelée. "
+"La couche 0 n'est pas gelée."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:76
+msgid ""
+"MSG_NOT_UNFROZEN_LAYER\tThe current layer was defined as frozen. It is now "
+"unfrozen."
+msgstr ""
+"MSG_NOT_UNFROZEN_LAYER\tAucune couche n'a été trouvée qui n'était pas gelée."
+" La couche 0 n'est pas gelée."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:77
+#, c-format
+msgid ""
+"MSG_NO_TURNOUTS_AVAILABLE\tNo Turnouts|Structures are available.\tNo %s are "
+"available."
+msgstr ""
+"MSG_NO_TURNOUTS_AVAILABLE\tAucun aiguillages|bâtiments sont "
+"disponibles.\tAucun %s n'est disponible."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:78
+msgid ""
+"MSG_CARDESC_VALUE_ZERO\tNumeric values on the Car Description...\tNumeric values on the Car Description\n"
+"dialog must be greater than 0."
+msgstr ""
+"MSG_CARDESC_VALUE_ZERO\tValeurs numériques de la description de véhicule…\tValeurs numériques de la description de véhicule\n"
+"Doit être supérieur à 0."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:79
+msgid "MSG_MOVE_OUT_OF_BOUNDS\tObject has moved beyond room boundaries."
+msgstr "MSG_MOVE_OUT_OF_BOUNDS\tL'objet a dépassé les limites de la pièce."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:80
+msgid ""
+"MSG_PARALLEL_SEP_GTR_0\tParallel separation must be greater than 0, or the "
+"new guage must be different than the old."
+msgstr ""
+"MSG_PARALLEL_SEP_GTR_0\tLa séparation parallèle doit être supérieure à 0, ou"
+" le nouveau gabarit doit être différent de l'ancien."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:81
+msgid ""
+"MSG_CARPART_DUPNAME\tPart Number for this Manufacturer already exists....\tPart Number for this Manufacturer already exists.\n"
+"\n"
+"Do you want to update it?"
+msgstr ""
+"MSG_CARPART_DUPNAME\tLe numéro de pièce de ce fabricant existe déjà....\tLe numéro de pièce de ce fabricant existe déjà.\n"
+"\n"
+"Voulez-vous le mettre à jour?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:82
+#, c-format
+msgid ""
+"MSG_PLAYBACK_LISTENTRY\tPlayback: Cannot find list entry: NAME\tPlayback: "
+"Cannot find list entry: %s"
+msgstr ""
+"MSG_PLAYBACK_LISTENTRY\tLecture : entrée de liste introuvable : NOM\tLecture"
+" : entrée de liste introuvable : %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:83
+#, c-format
+msgid ""
+"MSG_PLAYBACK_VERSION_UPGRADE\tPlayback file version %ld is...\tPlayback file version %ld is\n"
+"greater than supported version %d\n"
+"You need to upgrade your version of %s"
+msgstr ""
+"MSG_PLAYBACK_VERSION_UPGRADE\tLa version du fichier de lecture %ld est ...\tLa version du fichier de lecture %ld est\n"
+"supérieure à la version prise en charge %d\n"
+"Vous devez mettre à jour votre version de %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:84
+#, c-format
+msgid ""
+"MSG_DOMOUSE_BAD_OP\tPlayback: unknown action NNN\tPlayback: unknown action "
+"%d"
+msgstr ""
+"MSG_DOMOUSE_BAD_OP\tLecture : action inconnue NNN\tLecture : action inconnue"
+" %d"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:85
+msgid "MSG_MOVE_POINTS_AWAY_CLOSE\tPoints are to close to frog; move away."
+msgstr ""
+"MSG_MOVE_POINTS_AWAY_CLOSE\tLes points sont trop proches du cœur; "
+"s'éloigner."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:86
+msgid "MSG_POLY_SHAPES_3_SIDES\tPolygons must have at least 3 nodes."
+msgstr "MSG_POLY_SHAPES_3_SIDES\tLes polygones doivent avoir au moins 3 nodes."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:87
+msgid "MSG_POLY_MULTIPLE_SELECTED\tCan't delete multiple points at once"
+msgstr ""
+"MSG_POLY_MULTIPLE_SELECTED\tImpossible de supprimer plusieurs points à la "
+"fois"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:88
+msgid "MSG_POLY_NOTHING_SELECTED\tNo Point on a Poly shape selected."
+msgstr "MSG_POLY_NOTHING_SELECTED\tAucun point sur une forme poly sélectionnée."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:89
+msgid ""
+"MSG_CARPROTO_DUPNAME\tPrototype name already exists....\tPrototype name already exists.\n"
+"\n"
+"Do you want to update it?"
+msgstr ""
+"MSG_CARPROTO_DUPNAME\tLe nom du prototype existe déjà....\tLe nom du prototype existe déjà.\n"
+"\n"
+"Voulez-vous le mettre à jour?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:90
+msgid "MSG_RADIUS_GTR_0\tRadius must be greater than 0."
+msgstr "MSG_RADIUS_GTR_0\tLe rayon doit être supérieur à 0."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:91
+msgid "MSG_RADIUS_GTR_10000\tRadius must be less than 10000."
+msgstr "MSG_RADIUS_GTR_10000\tLe rayon doit être inférieur à 10000."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:92
+msgid ""
+"MSG_RADIUS_TOO_BIG\tThe Circle or Helix will not fit within the layouts room"
+" parameters (Height and Width)."
+msgstr ""
+"MSG_RADIUS_TOO_BIG\tLe cercle ou l'hélicoïde ne rentre pas dans le plan de "
+"la pièce (hauteur et largeur)."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:93
+#, c-format
+msgid ""
+"MSG_RESCALE_TOO_BIG\tRescaled tracks do not fit within layouts room parameters...\tRescaled tracks do not fit within layouts room parameters\n"
+"(Height and width). The layouts room parameters should be\n"
+"set to at least %s by %s."
+msgstr ""
+"MSG_RESCALE_TOO_BIG\tLes voies récemment mises à l'échelle ne rentrent pas dans la pièce...\tLes voies récemment mises à l'échelle ne rentrent pas dans la pièce\n"
+"(Longueur et largeur). La taille requise est\n"
+"au moins %s sur %s."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:94
+msgid ""
+"MSG_CARIMP_MISSING_COLUMNS\tRequired column headers missing from Car Import "
+"file."
+msgstr ""
+"MSG_CARIMP_MISSING_COLUMNS\tLes en-têtes de colonne requises sont absentes "
+"du fichier d'importation de véhicule."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:95
+#, c-format
+msgid ""
+"MSG_2ND_TRK_NOT_SEL_UNSEL\tSecond track must be selected|unselected\tSecond "
+"track must be %s."
+msgstr ""
+"MSG_2ND_TRK_NOT_SEL_UNSEL\t La deuxième voie peut être sélectionnée ou non\t"
+" La deuxième voie doit être %s."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:96
+msgid "MSG_OUT_OF_BOUNDS\tSelected page is out of bounds."
+msgstr "MSG_OUT_OF_BOUNDS\tLa page sélectionnée est hors de portée."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:97
+msgid "MSG_SEL_POS_FIRST\tSelect position prior to entering Text."
+msgstr "MSG_SEL_POS_FIRST\tSélectionnez la position avant de saisir du texte."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:98
+msgid ""
+"MSG_CARPROTO_BADSEGS\tSelected shapes must define a rectangular area ...\tSelected shapes must define a rectangular\n"
+"area with length greater than height."
+msgstr ""
+"MSG_CARPROTO_BADSEGS\tLes formes sélectionnées doivent définir une zone rectangulaire ...\tLes formes sélectionnées doivent définir une zone rectangulaire\n"
+"zone de longueur supérieure à la hauteur."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:99
+msgid ""
+"MSG_TOO_FAR_APART_DIVERGE\tSelected tracks deviate too much or are too far "
+"apart from each other."
+msgstr ""
+"MSG_TOO_FAR_APART_DIVERGE\tLes voies sélectionnées s'écartent trop ou sont "
+"trop éloignées les unes des autres."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:100
+msgid "MSG_COMMAND_DISABLED\tSpecified command disabled."
+msgstr "MSG_COMMAND_DISABLED\tCommande spécifiée désactivée."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:101
+msgid "MSG_SPLIT_POS_BTW_MERGEPTS\tSplit position between Turnout Points"
+msgstr ""
+"MSG_SPLIT_POS_BTW_MERGEPTS\tLe point de séparation est situé entre les "
+"points de l'aiguillage"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:102
+msgid "MSG_SPLIT_PATH_NOT_UNIQUE\tSplit position not on unique path"
+msgstr "MSG_SPLIT_PATH_NOT_UNIQUE\tLe point de séparation n'est pas clair"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:103
+#, c-format
+msgid ""
+"MSG_CARIMP_MISSING_DIMS\tThe following car has no dimensions and a...\tThe following car has no dimensions and a\n"
+"Car Part description can not be found.\n"
+"\n"
+"%s\n"
+"\n"
+"Do you wish to continue importing other Cars?"
+msgstr ""
+"MSG_CARIMP_MISSING_DIMS\tLe véhicule suivant n'a pas de dimensions et une...\tLe véhicule suivant n'a pas de dimensions et une\n"
+"description de véhicule n'existe pas.\n"
+"\n"
+"%s\n"
+"\n"
+"Souhaitez-vous continuer à importer d'autres véhicule ?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:104
+#, c-format
+msgid ""
+"MSG_CARIMP_MISSING_PARTNO\tThe following car has no Part Number...\tThe following car has no Part Number\n"
+"\n"
+"%s\n"
+"\n"
+"Do you wish to continue importing other Cars?"
+msgstr ""
+"MSG_CARIMP_MISSING_PARTNO\tLe véhicule suivant n'a pas de numéro de pièce...\tLe véhicule suivant n'a pas de numéro de pièce\n"
+"\n"
+"%s\n"
+"\n"
+"Souhaitez-vous continuer à importer d'autres matériels roulants ?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:105
+#, c-format
+msgid ""
+"MSG_CARIMP_IGNORED_COLUMN\tThe following column in the Car Import file will be ignored:...\tThe following column in the Car Import file will be ignored:\n"
+"\n"
+"%s"
+msgstr ""
+"MSG_CARIMP_IGNORED_COLUMN\tLa colonne suivante du fichier d'importation de véhicule sera ignorée :...\tLa colonne suivante du fichier d'importation de véhicule sera ignorée :\n"
+"\n"
+"%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:106
+msgid ""
+"MSG_CANT_MOVE_UNDER_TRAIN\tThe position of a turnout or turntable cannot be "
+"changed while occupied by a train."
+msgstr ""
+"MSG_CANT_MOVE_UNDER_TRAIN\tLa position d'un aiguillage ou d'un pont tournant"
+" ne peut pas être modifiée tant qu'elle est occupée par un train."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:107
+msgid ""
+"MSG_STRUCT_NO_STRUCTS\tThere are no structures to choose from in the structure...\tThere are no structures to choose from in the structure\n"
+"selection list. Please check your SCALE, select the\n"
+"<File|Parameter Files> menu to load a Parameter File or\n"
+"create a new Structure with the Group command."
+msgstr ""
+"MSG_STRUCT_NO_STRUCTS\tDans la liste des bâtiments il n'y a pas de bâtiments...\tDans la liste des bâtiments il n'y a pas de bâtiments \n"
+"pouvant être sélectionnés. Vérifiez l’échelle, sélectionnez \n"
+"un fichier de paramètres dans l’option de menu \n"
+"<Fichier|Fichiers de paramètres> ou créez un nouveau \n"
+"bâtiment à l’aide de la commande Grouper."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:108
+msgid ""
+"MSG_TURNOUT_NO_TURNOUT\tThere are no turnouts to choose from in the turnout...\tThere are no turnouts to choose from in the turnout\n"
+"selection list. Please check your SCALE, select the\n"
+"<Manage|Turnout Designer> menu to enter a new turnout\n"
+"or select the <File|Parameter Files> menu to load a\n"
+"Parameter File"
+msgstr ""
+"MSG_TURNOUT_NO_TURNOUT\tIl n'y a pas d'aiguillage dans la sélection d'aiguillage ...\tIl n'y a pas d'aiguillage dans la sélection d'aiguillage \n"
+"qui puisse être sélectionné. Vérifiez votre ECHELLE, \n"
+"sélectionnez le menu <Gérer|Conception d'aiguillages> \n"
+"pour entrer un nouvel aiguillage ou sélectionnez le menu \n"
+"<Fichier|Fichiers de paramètres> pour charger un autre \n"
+"fichier de paramètres"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:109
+msgid "MSG_NO_UNCONN_EP\tThere are no unconnected end points for this track"
+msgstr ""
+"MSG_NO_UNCONN_EP\tIl n'y a pas de points de fin non connectés pour cette "
+"voie"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:110
+msgid "MSG_PULL_FEW_SECTIONS\tThere are too few sections in this loop."
+msgstr "MSG_PULL_FEW_SECTIONS\tIl y a trop peu de sections dans cette boucle."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:111
+msgid "MSG_NO_REDO\tThere is nothing to redo!"
+msgstr "MSG_NO_REDO\tIl n'y a rien à refaire!"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:112
+msgid "MSG_NO_UNDO\tThere is nothing to undo!"
+msgstr "MSG_NO_UNDO\tIl n'y a rien à défaire!"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:113
+msgid "MSG_TOOMANYSEGSINGROUP\tToo many segments in Group."
+msgstr "MSG_TOOMANYSEGSINGROUP\tTrop de segments dans le groupe."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:114
+msgid "MSG_CANNOT_CHANGE\tTrack cannot be changed."
+msgstr "MSG_CANNOT_CHANGE\tLa voie ne peut pas être modifiée."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:115
+msgid "MSG_POINT_INSIDE_TURNTABLE\tTrack endpoint is within turntable radius."
+msgstr ""
+"MSG_POINT_INSIDE_TURNTABLE\tLe point de fin de la voie est à l'intérieur du "
+"pont tournant."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:116
+msgid ""
+"MSG_MOVE_POINTS_AWAY_NO_INTERSECTION\tTrack intersection not possible; move "
+"points away from frog."
+msgstr ""
+"MSG_MOVE_POINTS_AWAY_NO_INTERSECTION\tIntersection de la voie impossible; "
+"éloignez les points du cœur."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:117
+#, c-format
+msgid ""
+"MSG_TRK_TOO_SHORT\tTrack is too short by N.NNN\t%strack is too short by "
+"%0.3f"
+msgstr ""
+"MSG_TRK_TOO_SHORT\tLa voie est trop courte autour de N.NNN\tLa voie %s est "
+"trop courte de %0.3f"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:118
+#, c-format
+msgid ""
+"MSG_RADIUS_LSS_EASE_MIN\tTrack radius (N.NNN) is smaller than easement "
+"minimum (N.NNN).\tTrack radius (%s) is smaller than easement minimum (%s)."
+msgstr ""
+"MSG_RADIUS_LSS_EASE_MIN\tLe rayon de la voie (N.NNN) est inférieur à l'arc "
+"de transition minimum (N.NNN).\tLe rayon de la voie (%s) est inférieur à "
+"l'arc de transition minimum (%s)."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:119
+msgid "MSG_CANT_MODIFY_FROZEN_TRK\tTracks in a frozen layer cannot be modified."
+msgstr ""
+"MSG_CANT_MODIFY_FROZEN_TRK\tLes voies d'un calque gelé ne peuvent pas être "
+"modifiées."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:120
+msgid "MSG_CANT_MODIFY_MODULE_TRK\tTracks in a module cannot be modified."
+msgstr ""
+"MSG_CANT_MODIFY_MODULE_TRK\tLes voies d'un module ne peuvent pas être "
+"modifiées."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:121
+msgid ""
+"MSG_SEGMENTS_DIFFER\tTurnout definition contains non-track segments....\tTurnout definition contains non-track segments.\n"
+"\n"
+"Do you want to include them in this update?"
+msgstr ""
+"MSG_SEGMENTS_DIFFER\tLa définition d'aiguillage n'inclut pas que des voies....\tLa définition d'aiguillage n'inclut pas que des voies.\n"
+"\n"
+"Voulez-vous les inclure dans cette mise à jour ?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:122
+msgid "MSG_TURNTABLE_DIAM_GTR_0\tTurntable diameter must greater than 0."
+msgstr ""
+"MSG_TURNTABLE_DIAM_GTR_0\tLe diamètre du pont tournant doit être supérieur à"
+" 0."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:123
+#, c-format
+msgid ""
+"MSG_UNDO_ASSERT\tUndo assertion failure %s:%d...\tUndo assertion failure %s:%d\n"
+"Val = %ld(%lx)\n"
+"%s\n"
+"Please report this error to the XTrackCAD project development team at SourceForge."
+msgstr ""
+"MSG_UNDO_ASSERT\tAnnuler l'assertion d'échec %s:%d...\tAnnuler l'assertion d'échec %s:%d\n"
+"Val = %ld(%lx)\n"
+"%s\n"
+"Signalez cette erreur à l'équipe de développement du projet XTrackCAD de SourceForge."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:124
+#, c-format
+msgid ""
+"MSG_PROG_CORRUPTED\tCritical file damaged!...\tCritical file damaged!\n"
+"\n"
+"%s is corrupt.\n"
+"\n"
+"Please reinstall software."
+msgstr ""
+"MSG_PROG_CORRUPTED\tFichier critique endommagé !...\tFichier critique endommagé!\n"
+"\n"
+"%s est corrompu.\n"
+"\n"
+"Veuillez réinstaller le logiciel."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:125
+#, c-format
+msgid ""
+"MSG_ENTERED_STRING_TRUNCATED\tThe entered text is too long. Maximum length "
+"is %d."
+msgstr ""
+"MSG_ENTERED_STRING_TRUNCATED\tLe texte saisi est trop long. La longueur "
+"maximale est %d."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:126
+#, c-format
+msgid "MSG_PT_IS_NOT_TRK\t[X Y] is not a track\t[%s %s] is not a track."
+msgstr "MSG_PT_IS_NOT_TRK\t[X Y] n'est pas une voie\t[%s %s] n'est pas une voie."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:127
+msgid ""
+"MSG_BITMAP_SIZE_WARNING\tYou have specified a large bitmap....\tYou have specified a large bitmap.\n"
+"\n"
+"Are you sure you want to continue?"
+msgstr ""
+"MSG_BITMAP_SIZE_WARNING\tVous avez spécifié un bitmap volumineux....\tVous avez spécifié un bitmap volumineux\n"
+"\n"
+"Etes-vous sur de vouloir continuer?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:128
+msgid "Icon Size change will take effect on next program start."
+msgstr ""
+"Le changement de taille de l'icône prendra effet au prochain démarrage du "
+"programme."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:129
+#, c-format
+msgid "Are you sure you want to delete these %d car(s)?"
+msgstr "Êtes-vous sûr de vouloir supprimer ces %d matériel(s) roulant-s ?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:130
+#, c-format
+msgid ""
+"Cannot open %s file:\n"
+"%s:%s"
+msgstr ""
+"Impossible d'ouvrir le fichier %s :\n"
+"%s : %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:131
+#, c-format
+msgid "Cannot create directory: %s - %s"
+msgstr "Impossible de créer le répertoire : %s -%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:132
+#, c-format
+msgid "Cannot open directory: %s"
+msgstr "Impossible d'ouvrir le répertoire : %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:133
+#, c-format
+msgid "Path for deletion is not a directory: %s"
+msgstr "Le chemin de suppression n'est pas un répertoire : %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:134
+#, c-format
+msgid "Open failed for directory: %s"
+msgstr "Échec de l'ouverture du répertoire : %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:135
+#, c-format
+msgid "Can't add directory record %s to zip - %s"
+msgstr "Impossible d'ajouter l'enregistrement du répertoire %s au zip -%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:136
+#, c-format
+msgid "Can't add file record %s to zip at %s - %s"
+msgstr "Impossible d'ajouter l'enregistrement du fichier %s au zip %s - %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:137
+#, c-format
+msgid "Can't create zip %s - %s"
+msgstr "Impossible de créer le zip %s - %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:138
+#, c-format
+msgid "Close failure for zip %s - %s"
+msgstr "Échec de fermeture pour le zip %s - %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:139
+#, c-format
+msgid "Rename failure for zip from %s to %s - %s"
+msgstr "Échec de changement de nom pour le zip de %s à %s - %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:140
+#, c-format
+msgid "Open failure for zip %s - %s"
+msgstr "Échec d'ouverture du zip %s -%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:141
+#, c-format
+msgid "Index failure for zip %s - %s"
+msgstr "Echec de l'index pour les zip %s - %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:142
+#, c-format
+msgid "Open read file failure %s %s"
+msgstr "Échec de l'ouverture du fichier pour la lecture de %s %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:143
+#, c-format
+msgid "Open file in zip failure %s %s"
+msgstr "Erreur lors de l'ouverture du fichier dans le zip %s %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:144
+#, c-format
+msgid "Unlink failed for: %s"
+msgstr "La déconnexion a échoué pour : %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:145
+#, c-format
+msgid "Remove Directory failed for: %s"
+msgstr "Échec de la suppression du répertoire pour : %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:146
+#, c-format
+msgid "Cannot save archive to %s from directory: %s"
+msgstr ""
+"Impossible d'enregistrer l'archive dans %s à partir du répertoire : %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:147
+#, c-format
+msgid "Cannot save manifest file to %s"
+msgstr "Impossible d'enregistrer le fichier manifeste dans %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:148
+#, c-format
+msgid "Cannot open manifest file %s"
+msgstr "Impossible d'ouvrir le fichier manifeste %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:149
+#, c-format
+msgid "Cannot unpack file: %s for file: %s in directory: %s"
+msgstr ""
+"Impossible de décompresser le fichier : %s pour le fichier : %s dans le "
+"répertoire : %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:150
+#, c-format
+msgid "Cannot open file %s"
+msgstr "Impossible d'ouvrir le fichier %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:151
+#, c-format
+msgid "Cannot copy file %s into directory %s"
+msgstr "Impossible de copier le fichier %s dans le répertoire %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:152
+#, c-format
+msgid "Unrecognized Option: %s"
+msgstr "Option non reconnue : %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:153
+#, c-format
+msgid ""
+"End-Of-Line is unexpected in a quoted field.\n"
+"%s\n"
+"\n"
+"Do you want to continue reading the file?"
+msgstr ""
+"Fin de voie inattendue entre guillemets.\n"
+"%s\n"
+"\n"
+"Voulez-vous continuer à lire le fichier?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:154
+#, c-format
+msgid ""
+"A comma was expected after this quoted field.\n"
+"%s\n"
+"\n"
+"Do you want to continue reading the file?"
+msgstr ""
+"Une virgule attendue après ce champ est manquante.\n"
+"%s\n"
+"\n"
+"Voulez-vous continuer à charger le fichier?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:155
+#, c-format
+msgid ""
+"Error \\\\\"%s\\\\\" occurred while writing %s.\n"
+"Please check disk space and system status."
+msgstr ""
+"Une erreur \\\\\"%s\\\\\" s'est produite lors de l'écriture de %s.\n"
+"Veuillez vérifier l'espace disque et l'état du système."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:156
+#, c-format
+msgid ""
+"At least one path for the Turnout T%d does not\n"
+"terminate on an endpoint. Such a track cannot be grouped.\n"
+"The track has been unselected."
+msgstr ""
+"Au moins un chemin pour l'aiguillage T%d ne se\n"
+"termine pas sur un bout. Une telle voie ne peut pas être groupée.\n"
+"La voie a été désélectionnée."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:157
+msgid "inv-pathEndTrk on Path."
+msgstr "tracé invalide de fin de voie."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:158
+msgid "inv-pathStartTrk on Path"
+msgstr "tracé invalide de début de voie"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:159
+#, c-format
+msgid "%s:%d- %s"
+msgstr "%s:%d- %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:160
+msgid "pathEndTrk not on Path."
+msgstr "tracé de fin de voie invalide."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:161
+msgid "pathStartTrk not on Path."
+msgstr "tracé invalide de début de voie."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:162
+msgid ""
+"The tracks cannot be connected together.\n"
+"\n"
+"Try changing some tracks for a closer fit\n"
+"or increase the Connection Angle value on\n"
+"the Preferences dialog."
+msgstr ""
+"Les voies ne peuvent pas être connectées ensemble.\n"
+"\n"
+"Essayez de changer certaines voies pour un ajustement plus serré\n"
+"ou augmentez la valeur Angle de connexion sur\n"
+"la boîte de dialogue \"Options|Préférences\"."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:163
+msgid ""
+"The tracks cannot be connected together.\n"
+"\n"
+"Try changing some tracks for a closer fit\n"
+"or increase the Connection Distance and\n"
+"Angle values on the Preferences dialog"
+msgstr ""
+"Les voies ne peuvent pas être connectées ensemble.\n"
+"\n"
+"Essayez de changer certaines voies pour un ajustement plus serré\n"
+"ou augmentez la distance de connexion et\n"
+"Valeurs d'angle dans la boîte de dialogue \"Options|Préférences\""
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:164
+msgid ""
+"The tracks cannot be connected together.\n"
+"\n"
+"Try changing some tracks for a closer fit\n"
+"or increase the Connection Distance"
+msgstr ""
+"Les voies ne peuvent pas être connectées ensemble.\n"
+"\n"
+"Essayez de changer certaines voies pour un ajustement plus serré\n"
+"ou augmentez la distance de connexion sur\n"
+"la boîte de dialogue \"Options|Préférences\""
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:165
+msgid ""
+"The first track for the Align\n"
+"Rotate command must be Selected."
+msgstr ""
+"Première voie pour \"Alignement\n"
+"La commande \"Rotation\" doit être sélectionnée."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:166
+msgid ""
+"The second track for the Align\n"
+"Rotate command must be Unselected."
+msgstr ""
+"La deuxième voie pour l'alignement\n"
+"La commande de rotation doit être désélectionnée."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:167
+msgid "Too many selected tracks, drawing tracks as End Point."
+msgstr "Trop de voies sélectionnées, seuls les points de fin sont affichés."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:168
+msgid "Select an endpoint between two tracks."
+msgstr "Sélectionnez un point de fin entre deux voies."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:169
+msgid ""
+"According to values that have been entered the diverging\n"
+"track does not connect with the tangent track. Please\n"
+"check the values entered and try again. Check the angle\n"
+"is entered as a frog number or in degrees as specified\n"
+"by Angle Mode radio buttons."
+msgstr ""
+"Avec les valeurs entrées, la voie divergente ne se connecte \n"
+"pas à la voie tangente. Svp vérifiez les valeurs saisies et \n"
+"réessayez. Vérifiez que l'angle est entré en numéro de \n"
+"cœur ou en degrés, comme spécifié par les boutons \n"
+"radio du mode Angle."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:170
+msgid "Moved before the end of the turnout"
+msgstr "Déplacé avant la fin de l'aiguillage"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:171
+msgid ""
+"The Coupled Length must be greater than the Car Length,\n"
+"and the Coupler Length must be greater than 0."
+msgstr ""
+"La longueur attelée doit être supérieure à la longueur du chaudron,\n"
+"et la longueur de l'attelage doit être supérieure à 0."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:172
+msgid ""
+"The Car Length value must be greater\n"
+"than the Car Width value."
+msgstr ""
+"La longueur du véhicule doit \n"
+"être supérieure à sa largeur."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:173
+msgid ""
+"The specified Index is already in use.\n"
+"The Index will be updated to the next available value."
+msgstr ""
+"Le numéro d'index spécifié est déjà pris.\n"
+"Le numéro d'index est mis à jour avec la valeur libre suivante."
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:174
+msgid ""
+"You have changed values for this object.\n"
+"\n"
+"Are you sure you want to Close?"
+msgstr ""
+"Vous avez apporté des modifications à cet objet\n"
+"\n"
+"Voulez-vous vraiment fermer cette boîte de dialogue?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:175
+#, c-format
+msgid ""
+"File version %ld is lower than the minimum\n"
+"supported version %d. You need to update your\n"
+"layout file using an older version of %s"
+msgstr ""
+"La version du fichier %ld est plus ancienne que \n"
+"plus ancienne celle prise en charge %d. Vous \n"
+"devez mettre à jour votre fichier du projet \n"
+"utilisant une ancienne version de %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:176
+#, c-format
+msgid ""
+"File version %ld is lower than the minimum\n"
+"supported version %d.This parameter file will only work using an older version of %s"
+msgstr ""
+"La version du fichier %ld est inférieure à la \n"
+"version minimale supportée %d. Ce fichier \n"
+"de paramètres ne fonctionnera qu'avec une \n"
+"ancienne version de %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:177
+#, c-format
+msgid ""
+"%s cannot read the demo file:\n"
+"%s"
+msgstr ""
+"%s ne peut pas lire le fichier de démonstration:\n"
+"%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:178
+#, c-format
+msgid "doDemo: bad number (%d)"
+msgstr "doDemo : nombre invalide (%d)"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:179
+msgid "Playback TIMEEND without TIMESTART"
+msgstr "TIMEEND en lecture sans TIMESTART"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:180
+#, c-format
+msgid ""
+"Unknown playback command (%d)\n"
+"%s"
+msgstr ""
+"Commande de lecture inconnue (%d)\n"
+"%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:181
+#, c-format
+msgid ""
+"Playback file version %ld is lower than the\n"
+"minimum supported version %d.\n"
+"You need to update your layout file using an\n"
+"older version of %s"
+msgstr ""
+"La version du fichier de lecture %ld est inférieure \n"
+"à la version minimale prise en charge %d.\n"
+"Vous devez mettre à jour votre fichier de plan \n"
+"en utilisant une ancienne version de %s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:182
+#, c-format
+msgid "Scale index (%d) is not valid"
+msgstr "L'indice d'échelle (%d) n'est pas valide"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:183
+#, c-format
+msgid ""
+"Scale %s is not valid\n"
+"Please check your %s.xtq file"
+msgstr ""
+"L'échelle %s n'est pas valide\n"
+"Veuillez vérifier votre fichier %s.xtq"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:184
+msgid "Cannot extend a helix"
+msgstr "Impossible d'étendre une hélicoïde"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:185
+msgid "Cannot trim a helix"
+msgstr "Impossible de couper une hélicoïde"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:186
+msgid "Ignore further audit notices?"
+msgstr "Ignorer les autres indications de protocole?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:187
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:188
+msgid "Audit Abort?"
+msgstr "Abandonner la vérification ?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:189
+msgid "Write Audit File?"
+msgstr "Écrire un fichier journal?"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:190
+#, c-format
+msgid "checkTrackLength: Short track length = %0.3f"
+msgstr "vérifier la longueur de voie : longueur voie courte =%0.3f"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:191
+#, c-format
+msgid "checkTrackLength: unknown type: %d"
+msgstr "vérifier la longueur de voie : type inconnu :%d"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:192
+#, c-format
+msgid "connectTracks: T%d[%d] T%d[%d] d=%0.3f a=%0.3f"
+msgstr "connecter des voies : T%d[%d] T%d[%d] d=%0.3f a=%0.3f"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:193
+#, c-format
+msgid "GetAngleAtPoint: bad type(%d) for T(%d)"
+msgstr "Obtenir l'angle à un point : type incorrect (%d) pour T (%d)"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:194
+#, c-format
+msgid "joinTracks: invalid track type=%d"
+msgstr "raccorder des voies : type de voie non valide =%d"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:195
+#, c-format
+msgid "resolveIndex: T%d[%d]: T%d doesn\\\\'t exist"
+msgstr "revoir l'index : T%d[%d] : T%d n'existe\\\\ pas"
+
+#: ../../../../build/xtrkcad-old/app/help/messages.h:196
+msgid "Moved beyond the end of the track"
+msgstr "Déplacé au-delà de la fin de voie"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:9
+msgid "Invokes online help for this dialog"
+msgstr "Ouvre l'aide en ligne pour cette boîte de dialogue"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:10
+msgid "Cancels this command"
+msgstr "Annule cette commande"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:11
+msgid "Closes the dialog"
+msgstr "Fermer la fenêtre de dialogue"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:12
+msgid "About program dialog"
+msgstr "Boîte de dialogue \"A propos de\""
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:13
+msgid "Move selected object to top"
+msgstr "Déplacer l'objet sélectionné vers le haut"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:14
+msgid "Raise or lower all selected tracks"
+msgstr "Elever ou abaisser toute les voies sélectionnées"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:15
+msgid "Show a protractor"
+msgstr "Afficher un rapporteur"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:16
+msgid "Turn magnetic snap on or off"
+msgstr "Activer ou désactiver la grille magnétique"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:18
+msgid "Move selected object to bottom"
+msgstr "Déplacer l'objet sélectionné vers le bas"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:19
+msgid "Create a section of track for automation"
+msgstr "Créer une section de voie pour l'automatisation"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:20
+msgid "Edit a block definition "
+msgstr "Editer une définition de bloc "
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:21
+msgid "Create a new Car/Loco description"
+msgstr "Créer une nouvelle description de wagon/voiture/loco"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:22
+msgid "Manage your Car and Loco Inventory"
+msgstr "Gérez votre inventaire de véhicule"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:23
+msgid "Create track circle from center"
+msgstr "Créer un cercle de voie à partir du centre"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:24
+msgid "Create fixed radius track circle"
+msgstr "Créer une voie circulaire d'un rayon donné"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:25
+msgid "Set Circle Track creation mode"
+msgstr "Choisissez la commande pour créer des courbes de voie"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:26
+msgid "Create track circle from tangent"
+msgstr "Créer une voie circulaire à partir de la tangente"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:27
+msgid "Removes elevation from Selected tracks"
+msgstr "Supprime l'élévation des voies sélectionnées"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:28
+msgid "Copy objects to clipboard and duplicate them in exactly the same place"
+msgstr ""
+"Copier les objets dans le presse-papiers puis les reproduire exactement au "
+"même endroit"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:29
+msgid "Command Options dialog"
+msgstr "Boîte de dialogue pour les options de commande"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:30
+msgid "Controls colors"
+msgstr "Ajuste les couleurs"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:31
+msgid "Connect two tracks"
+msgstr "Connecter deux voies"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:32
+msgid "Create a control for layout automation"
+msgstr "Créer un contrôle pour l'automatisation du réseau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:33
+msgid "Select control element to create"
+msgstr "Sélectionner l'élément de contrôle à créer"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:34
+msgid "Manage control elements"
+msgstr "Gérer les contrôles"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:35
+msgid "Set Convert mode"
+msgstr "Définir le mode de conversion"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:36
+msgid "Convert from Fixed Track to Cornu"
+msgstr "Convertir en Cornu depuis des voies fixes"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:37
+msgid "Convert from Cornu and Bezier to Fixed Track"
+msgstr "Convertir en voies fixes depuis des Cornu et Bezier"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:38
+msgid "Copy selected objects to clipboard"
+msgstr "Copier les objets sélectionnés du presse-papiers"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:39
+msgid "Create Cornu track"
+msgstr "Créer une voie Cornu"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:40
+msgid "Create curved track from center"
+msgstr "Créer une voie courbe à partir du centre"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:41
+msgid "Create curved track from chord"
+msgstr "Créer une voie courbe à partir d'une corde"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:42
+msgid "Create curved track from end-point"
+msgstr "Créer une voie courbe à partir de l'extrémité"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:43
+msgid "Create Bezier track"
+msgstr "Créer une voie de Bézier"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:44
+msgid "Set Curve Track creation mode"
+msgstr "Définir le mode de création de voie de courbe"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:45
+msgid "Create curved track from tangent"
+msgstr "Créer une voie courbe à partir de la tangente"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:46
+msgid "Manipulate Custom designer entries"
+msgstr "Éditez vos propres dessins"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:47
+msgid "Moves selected objects to clipboard"
+msgstr "Déplace les objets sélectionnés vers le presse-papiers"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:48
+msgid "Delete objects"
+msgstr "Supprimer des objets"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:49
+msgid "Playback demos"
+msgstr "Lecture des démos"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:50
+msgid "Change Object Properties"
+msgstr "Modifier les propriétés d'un objet"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:51
+msgid "Change to properties mode"
+msgstr "Passer en mode propriétés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:52
+msgid "Deselect all selected objects"
+msgstr "Désélectionner tous les objets"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:53
+msgid "Change Display parameters"
+msgstr "Modifier les paramètres d'affichage"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:54
+msgid "Create benchwork"
+msgstr "Tracer un plateau de travail"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:55
+msgid "Create a box"
+msgstr "Tracer une boite"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:56
+msgid "Set Circle drawing command"
+msgstr "Définir la commande de dessin du cercle"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:57
+msgid "Create a circle"
+msgstr "Créer un cercle"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:58
+msgid "Draw a circle line from center"
+msgstr "Tracer un Cercle à partir du centre"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:59
+msgid "Draw a fixed radius circle line"
+msgstr "Trace un cercle d'un rayon donné"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:60
+msgid "Draw a circle line from tangent"
+msgstr "Tracer un Cercle à partir de la tangente"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:61
+msgid "Set Curve drawing command"
+msgstr "Choisissez la commande pour dessiner des lignes courbes"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:62
+msgid "Create a curved line"
+msgstr "Créer une ligne courbe"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:63
+msgid "Create a curved line from End"
+msgstr "Tracer une courbe à partir de l'extrémité"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:64
+msgid "Create a curved line from center"
+msgstr "Tracer une courbe à partir du centre"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:65
+msgid "Create a curved line from chord"
+msgstr "Tracer une courbe à partir de la corde"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:66
+msgid "Create a curved line from tangent"
+msgstr "Tracer une courbe à partir de la tangente"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:67
+msgid "Create a Bezier line"
+msgstr "Tracer une ligne de Bézier"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:68
+msgid "Create a dimension line"
+msgstr "Tracer une ligne de cote"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:69
+msgid "Create a filled box"
+msgstr "Tracer une boite pleine"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:70
+msgid "Create a filled circle"
+msgstr "Créer un cercle rempli"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:71
+msgid "Draw a filled circle from center"
+msgstr "Tracer un Cercle plein autour du centre"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:72
+msgid "Draw a fixed radius filled circle"
+msgstr "Trace un cercle plein d'un rayon donné"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:73
+msgid "Draw a filled circle from tangent"
+msgstr "Tracer un Cercle plein depuis la tangente"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:74
+msgid "Create a polygon"
+msgstr "Tracer un polygone"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:75
+msgid "Create a filled polygon"
+msgstr "Tracer un polygone plein"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:76
+msgid "Create a polyline"
+msgstr "Tracer une polyligne"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:77
+msgid "Create a straight line"
+msgstr "Tracer une ligne droite"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:78
+msgid "Set Line drawing command"
+msgstr "Choisissez la commande pour dessiner des lignes"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:79
+msgid "Set Shape drawing command"
+msgstr "Choisir la commande pour dessiner des formes"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:80
+msgid "Draw table edge"
+msgstr "Tracer le bord de table"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:81
+msgid "Easement menu"
+msgstr "Menu Courbes de transition"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:83
+msgid "Generate a Parts List of selected objects"
+msgstr "Créer une liste de pièces à partir des objets sélectionnés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:84
+msgid "Set Import/Export mode"
+msgstr "Définir le mode Import/Export"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:85
+msgid "Export a .xti file"
+msgstr "Exporter un fichier *.xti"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:86
+msgid "Export a Bitmap image"
+msgstr "Exporter une image bitmap"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:87
+msgid "Export a DXF file"
+msgstr "Exporter dans un fichier DXF"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:89
+msgid "Flip selected objects"
+msgstr "Retourner les objets sélectionnés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:90
+msgid "Adjust snap grid"
+msgstr "Ajuster la grille d'accrochage"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:91
+msgid "Enable snap grid"
+msgstr "Activer la grille d'accrochage"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:92
+msgid "Show snap grid"
+msgstr "Afficher la grille d'accrochage"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:93
+msgid "Create a structure from a Group of objects"
+msgstr "Créer un bâtiment à partir d'un groupe d'objets"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:94
+msgid "Create a hand-laid turnout"
+msgstr "Créer un aiguillage conçu en manuel"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:95
+msgid "Create a track helix"
+msgstr "Créer une voie hélicoïdale"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:96
+msgid "Import a .xti file"
+msgstr "Importer un fichier *.xti"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:97
+msgid "Import an .xti file as a Module"
+msgstr "Importez un fichier .xti en tant que module"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:98
+msgid "Join two tracks"
+msgstr "Raccorder deux voies"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:99
+msgid "Join two lines or polylines"
+msgstr "Raccorder deux lignes ou polylignes"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:100
+msgid "Set Join mode"
+msgstr "Définir le mode Raccorder"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:101
+msgid "Change Layers"
+msgstr "Changer de calques"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:102
+msgid "Selects the current drawing layer"
+msgstr "Sélectionne le calque courant du dessin"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:103
+msgid "Layout parameters"
+msgstr "Paramètres de calques"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:105
+msgid "Show/Hide Map Window"
+msgstr "Afficher/Masquer la fenêtre de navigation"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:106
+msgid "Select Measurement Tool"
+msgstr "Sélectionner l'outil de mesure"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:107
+msgid "Modify or extend a track"
+msgstr "Modifier ou prolonger une voie"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:108
+msgid "Change To modify mode"
+msgstr "Changer pour Modifier le mode"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:109
+msgid "Move selected objects"
+msgstr "Déplacer les objets sélectionnés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:110
+msgid "Move a label"
+msgstr "Déplacer une étiquette"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:111
+msgid "Move selected objects to current layer"
+msgstr "Déplacer les objets sélectionnés vers le calque actuel"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:113
+msgid "Print a bitmap"
+msgstr "Imprimer un BitMap"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:114
+msgid "Pan or zoom the layout"
+msgstr "Panoramique ou zoom sur le plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:115
+msgid "Change to zoom/pan mode"
+msgstr "Passer en mode zoom/pan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:116
+msgid "Create a parallel track"
+msgstr "Créer une voie parallèle"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:117
+msgid "Create a parallel line"
+msgstr "Tracer une ligne parallèle"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:118
+msgid "Set Parallel mode"
+msgstr "Définir le mode parallèle"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:119
+msgid "Register"
+msgstr "Registre"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:120
+msgid "Copy objects from clipboard"
+msgstr "Copier les objets du presse-papiers"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:121
+msgid "Perferences dialog"
+msgstr "Boîte de dialogue des préférences"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:122
+msgid "Display prices of turnouts, sectional tracks and structures"
+msgstr ""
+"Affichage des prix des aiguillages, des sections de voies et des bâtiments"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:123
+msgid "Print the layout"
+msgstr "Imprimer le plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:124
+msgid "Loads and unloads parameter files into/from toolbar"
+msgstr ""
+"Charge et décharge les fichiers de paramètres dans/depuis la barre d'outils"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:125
+msgid "Elevation Profile Command"
+msgstr "Commande de profil d'élévation"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:127
+msgid "Command recorder"
+msgstr "Enregistrement de commande"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:129
+msgid "Update selected Turnout and Structure definitions"
+msgstr ""
+"Mettre à jour les définitions sélectionnées d'aiguillage et de bâtiment"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:130
+msgid "Rescale selected objects"
+msgstr "Changer d'échelle les objets sélectionnés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:131
+msgid "Rotate selected object(s)"
+msgstr "Faire pivoter le ou les objet(s) sélectionnés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:132
+msgid "Show a ruler"
+msgstr "Afficher une règle"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:133
+msgid "Select objects"
+msgstr "Sélectionnez des objets"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:134
+msgid "Change To Select Mode"
+msgstr "Passer en mode sélection"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:135
+msgid "Selects all objects on the layout"
+msgstr "Sélectionne tous les objets du plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:136
+msgid "Selects all objects in the current Layer"
+msgstr "Sélectionne tous les objets du calque actuel"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:137
+msgid "Choose objects by Index number"
+msgstr "Choisissez des objets par numéro d'index"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:138
+msgid "Invert current selection"
+msgstr "Inverser la sélection actuelle"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:139
+msgid "Configure the Printer"
+msgstr "Configurer l'imprimante"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:140
+msgid "Set Split mode"
+msgstr "Configurer le mode Fractionnement"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:141
+msgid "Split a track"
+msgstr "Segmenter une voie"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:142
+msgid "Split a straight, curved, circle, polygon or polyline Draw Object "
+msgstr ""
+"Fractionner un objet de dessin droit, incurvé, circulaire, polygonal ou "
+"polyligne"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:143
+msgid "Select stranded (unconnected) track pieces"
+msgstr "Sélectionner des segments de voie isolés (non connectés)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:144
+msgid "Create a sensor (ie. a occupancy detector or a toggle switch)"
+msgstr ""
+"Créer un capteur (c.a.d. détecteur de présence ou interrupteur à bascule)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:145
+msgid "Create a signal for train control"
+msgstr "Créer un signal pour le contrôle du train"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:146
+msgid "Choose which commands are sticky"
+msgstr "Choisissez les commandes qui sont collantes"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:147
+msgid "Create straight track"
+msgstr "Créer une voie droite"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:148
+msgid "Place a structure on the layout"
+msgstr "Mettre une bâtiment sur le plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:149
+msgid "Create a switchmotor for turnout control"
+msgstr "Créer un moteur pour le contrôle d'un aiguillage"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:150
+msgid "Edit a switchmotor definition"
+msgstr "Editer une définition de moteur d'aiguillage"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:151
+msgid "Enter text on the layout"
+msgstr "Entrer du texte sur le plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:152
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:579
+msgid "Controls the size of the entered text"
+msgstr "Ajuste la taille du texte saisi"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:153
+msgid "Plain Text"
+msgstr "Texte simple"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:154
+msgid "Tip of the Day window"
+msgstr "Fenêtre d'astuce du jour"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:156
+msgid "Change To Run Trains Mode"
+msgstr "Passer en mode Trains"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:157
+msgid "Pause/Resume Trains"
+msgstr "Pause/Go Trains"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:158
+msgid "Place a car on the layout"
+msgstr "Mettre un véhicule sur le plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:159
+msgid "Exit Trains"
+msgstr "Quitter \"Trains\""
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:160
+msgid "Trim a line, circle or polyline Draw Object using a second Object"
+msgstr ""
+"Découper une ligne, un cercle ou une polyligne Dessiner un objet à l'aide "
+"d'un deuxième objet"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:161
+msgid "Hide/Unhide a track"
+msgstr "Masquer/afficher une voie"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:162
+msgid "Make/Unmake a track a bridge"
+msgstr "Construire/défaire une voie un pont"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:163
+msgid "Place a turnout or sectional track"
+msgstr "Placer un aiguillage ou une section de voie"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:164
+msgid "Create a new turnout definition"
+msgstr "Créer une nouvelle définition d'aiguillage"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:165
+msgid "Place a turntable"
+msgstr "Installer un pont tournant"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:166
+msgid "Updates old source files with 3 part titles"
+msgstr "Met à jour les anciens fichiers source avec des titres en 3 parties"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:168
+msgid "Ungroup objects"
+msgstr "Dissocier l'objet"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:169
+msgid "Draw tracks with thin lines"
+msgstr "Tracez des voies avec des voies fines"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:170
+msgid "Draw tracks with medium lines"
+msgstr "Tracez des voies avec des voies moyennes"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:171
+msgid "Draw tracks with thick lines"
+msgstr "Tracez des voies avec des voies épaisses"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:172
+msgid "Change drawing scale"
+msgstr "Changer l'échelle de dessin"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:173
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:204
+msgid "Zoom in"
+msgstr "Zoom avant"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:174
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:205
+msgid "Zoom out"
+msgstr "Zoom arrière"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:178
+msgid "Curved Fixed"
+msgstr "Courbe fixe"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:179
+msgid "Preferred Radius"
+msgstr "Rayon préféré"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:180
+msgid "Modify Draw"
+msgstr "Modifier le dessin"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:187
+msgid "Rotation Angle"
+msgstr "Angle de rotation"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:188
+msgid "Rot Center X"
+msgstr "Centre de rotation X"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:189
+msgid "Rot Center Y"
+msgstr "Centre de rotation Y"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:191
+msgid "File Menu"
+msgstr "Menu fichier"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:192
+msgid "Save layout"
+msgstr "Enregistrer le plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:193
+msgid "Save layout under a new name "
+msgstr "Enregistrer le plan sous un nouveau nom "
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:194
+msgid "New layout"
+msgstr "Nouveau plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:195
+msgid "Generate parts list"
+msgstr "Créer une liste de pièces"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:196
+msgid "Load a layout"
+msgstr "Charger un plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:197
+msgid "Manage Parameter Files"
+msgstr "Gérer les fichiers de paramètres"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:198
+msgid "Print layout"
+msgstr "Mise en page d'impression"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:199
+msgid "Exit the program"
+msgstr "Quitter le programme"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:200
+msgid "Revert to last saved state of layout plan"
+msgstr "Revenir au dernier état enregistré du plan de réseau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:201
+msgid "Printer Setup"
+msgstr "Configuration de l'imprimante"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:202
+msgid "Edit menu"
+msgstr "Menu d'édition"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:203
+msgid "Redraw layout"
+msgstr "Redessiner le plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:206
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:209
+msgid "Tools menu"
+msgstr "Menu d'outils"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:207
+msgid "View menu"
+msgstr "Afficher le menu"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:208
+msgid "Toolbar configuration"
+msgstr "Configuration de la barre d'outils"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:210
+msgid "Options menu"
+msgstr "Menu d'options"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:211
+msgid "Playback/Record commands"
+msgstr "Commandes de Lecture/Enregistrement"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:212
+msgid "Window menu"
+msgstr "Menu fenêtre"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:213
+msgid "Help menu"
+msgstr "Menu d'aide"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:214
+msgid "Recent error messages and explanations"
+msgstr "Messages d'erreur récents et explications"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:215
+msgid "Move Hot Bar left"
+msgstr "Faire défiler la Barre rapide à gauche"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:216
+msgid "Move Hot Bar right"
+msgstr "Faire défiler la Barre rapide à droite"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:217
+msgid "Total track count"
+msgstr "Nombre total de voies"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:218
+msgid "X Position of cursor"
+msgstr "Position X du curseur"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:219
+msgid "Y Position of cursor"
+msgstr "Position Y du curseur"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:220
+msgid "Drawing scale"
+msgstr "Échelle du dessin"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:221
+msgid "Message and status line"
+msgstr "Message et ligne d'état"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:222
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:223
+msgid "Main layout canvas"
+msgstr "Zone de dessin principale"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:224
+msgid "Main drawing canvas"
+msgstr "Zone de travail principale"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:225
+msgid "Command buttons"
+msgstr "Boutons de commande"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:226
+msgid "Menus"
+msgstr "Menus"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:227
+msgid "Tile, Filename and Window Manager buttons"
+msgstr "Boutons, Nom de fichier et Gestionnaire de fenêtres"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:228
+msgid "Turnout and Structure Hot Bar"
+msgstr "Barre de sélection des aiguillages et bâtiments"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:229
+msgid "Active layer list and layer buttons"
+msgstr "Liste de calques actifs et boutons de calque"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:230
+msgid "Map window"
+msgstr "Fenêtre principale"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:231
+msgid "This is the portion of the layout shown in the Main Window canvas"
+msgstr ""
+"Il s'agit de la partie du plan affichée dans le zone de dessin de la fenêtre"
+" principale"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:232
+msgid "Raise or Lower all Selected Track"
+msgstr "Elever ou abaisser toute la voie sélectionnée"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:233
+msgid "Name of block"
+msgstr "Nom du bloc"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:234
+msgid "Script that the block will run"
+msgstr "Script d'exécution du bloc"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:235
+msgid "List of tracks in the Block"
+msgstr "Liste des voies du bloc"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:236
+msgid "Add or Update car object"
+msgstr "Ajouter ou mettre à jour un objet véhicule"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:237
+msgid "Manufacturer name"
+msgstr "Nom du fabricant"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:240
+msgid "Is the Car a Locomotive?"
+msgstr "Le véhicule est-il une locomotive?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:241
+msgid "Part Number and Description"
+msgstr "Référence N° et description"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:242
+msgid "Manufacturer Part Number"
+msgstr "Référence fabricant"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:243
+msgid "Use the Selected figure as the car image"
+msgstr "Utilisez la figure sélectionnée comme image de véhicule"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:244
+msgid "Use the default figure as the car image"
+msgstr "Utilisez la figure par défaut comme image de véhicule"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:245
+msgid "Optional description of the Car Part"
+msgstr "Description facultative du modèle de véhicule"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:246
+msgid "Flip car image"
+msgstr "Effet miroir d'un véhicule"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:247
+msgid "Display Car Item information or reporting marks and dimensions"
+msgstr ""
+"Afficher des informations sur le véhicule ou la plaque d'immatriculation et "
+"les dimensions"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:248
+msgid "Full Roadname"
+msgstr "Nom complet de la route"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:249
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:250
+msgid "Car Type"
+msgstr "Type de véhicule"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:251
+msgid "Reporting Marks (Roadname abbreviation)"
+msgstr "Sigles (abréviation du nom du réseau)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:252
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:457
+msgid "Car Number"
+msgstr "N° de véhicule"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:253
+msgid "Car body Color"
+msgstr "Couleur de carrosserie"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:254
+msgid "Length of car body"
+msgstr "Longueur du chaudron"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:255
+msgid "Width of car body"
+msgstr "Largeur du chaudron"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:256
+msgid "Distance between Trucks "
+msgstr "Distance entre les bogies "
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:257
+msgid "Distance Trucks are displaced along Car"
+msgstr "Répartition des bogies le long de la voiture"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:258
+msgid "Coupler are mounted on body or truck"
+msgstr "Les attelages sont montés sur les chassis ou les bogies"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:259
+msgid "Overall Coupled Length"
+msgstr "Longueur totale couplée"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:260
+msgid "Coupler Length from end of car"
+msgstr "Longueur de l'attelage à partir du bout du véhicule"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:261
+msgid "Diagram of Car"
+msgstr "Schéma de véhicule"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:262
+msgid "Item Index Number"
+msgstr "Numéro d'index de l'objet"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:263
+msgid "Original Purchase Price"
+msgstr "Prix d'achat d'origine"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:265
+msgid "Condition of car"
+msgstr "Etat du véhicule"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:266
+msgid "Original Purchase Date - yyyymmdd"
+msgstr "Date d'achat originale - aaaammjj"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:267
+msgid "Last Service Date - yyyymmdd"
+msgstr "Date du dernier entretien - aaaammjj"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:268
+msgid "Number of identical cars to be entered"
+msgstr "Nombre de matériels roulants identiques à inscrire"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:269
+msgid "Do all the cars have the same Number?"
+msgstr "Est-ce que toutes les matériels roulants ont le même numéro ?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:270
+msgid "Notes about the car"
+msgstr "Notes sur le véhicule"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:271
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:272
+msgid "Create a new car Part or Prototype definitions"
+msgstr "Créer une nouvelle définition de pièce ou de prototype de véhicule"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:273
+msgid "Finds the selected Car Item on the layout"
+msgstr "Trouve l'article de véhicule sélectionné sur le plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:274
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:275
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:276
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:277
+msgid "Sort the Item list"
+msgstr "Trier la liste d'articles"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:279
+msgid "Edit the selected Car Item"
+msgstr "Modifier le titre du véhicule sélectionné"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:280
+msgid "Add a new Car Item"
+msgstr "Ajouter un nouveau nom de véhicule"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:281
+msgid "Delete the selected Car Items"
+msgstr "Supprimer les wagons ou locomotives sélectionnés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:282
+msgid "Import a Car Item .csv file"
+msgstr "Importer du véhicule à partir d'un fichier .csv"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:283
+msgid "Export a Car Item .csv file"
+msgstr "Exporter un fichier Car Item .csv"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:284
+msgid "Create a text list of the Car Items"
+msgstr "Créer la liste des noms de matériels roulants"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:285
+msgid "Specifies the radius of the circle track"
+msgstr "Spécifie le rayon de la voie circulaire"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:286
+msgid "Default command is Describe or Select"
+msgstr "La commande par défaut est \"Propriétés\" ou \"Sélectionner\""
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:287
+msgid "Action to invoke on Right-Click"
+msgstr "Action à appeler lors d'un clic droit"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:288
+msgid ""
+"Replace current selection with clicked object or add clicked object to "
+"selection"
+msgstr ""
+"Remplacer la sélection actuelle par un objet cliqué ou ajouter un objet "
+"cliqué à la sélection"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:289
+msgid "Clicking into an empty area clears selection if select mode is <add>"
+msgstr ""
+"Cliquer dans une zone vide efface la sélection si le mode de sélection est "
+"<Ajouter>"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:291
+msgid "The list of control elements"
+msgstr "La liste des éléments de contrôle"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:292
+msgid "Edit the element"
+msgstr "Editer l'élément"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:293
+msgid "Delete the element"
+msgstr "Supprimer l'élément"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:294
+msgid "Contents Label for new Parameter file"
+msgstr "Contenu de l'étiquette du nouveau fichier de paramètres"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:295
+msgid "Desired curve radius for new track"
+msgstr "Rayon de courbe souhaité pour la nouvelle piste"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:296
+msgid "List of custom designed turnouts and structures"
+msgstr "Liste des aiguillages et des bâtiments conçus sur mesure"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:297
+msgid "Invoke designer editor"
+msgstr "Ouvre l'éditeur de modélisation"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:298
+msgid "Remove selected entries"
+msgstr "Supprimer les entrées sélectionnées"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:299
+msgid "Copy selected entries to Parameter File"
+msgstr "Copier les entrées sélectionnées dans le fichier de paramètres"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:300
+msgid "Create a New part or prototype"
+msgstr "Créer une nouvelle pièce ou un prototype"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:301
+msgid "Update custom file and close"
+msgstr "Mettre à jour le fichier personnalisé et fermer"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:302
+msgid "Executes the next step of the demo"
+msgstr "Exécute la prochaine étape de la démo"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:303
+msgid "Skip to next demo"
+msgstr "Passer à la prochaine démo"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:304
+msgid "Stops the demonstration and returns you to XTrackCAD"
+msgstr "Arrêt de la démonstration et retour à XTrackCAD"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:305
+msgid "Select speed of Playback"
+msgstr "Sélectionnez la vitesse de lecture"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:306
+msgid "This is where comments about the demo are displayed"
+msgstr "C'est là que les commentaires sur la démo sont affichés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:343
+msgid "Move the Main canvas if you drag near the edge"
+msgstr ""
+"Déplacez la zone de dessin principale lorsque vous vous approchez des bords"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:344
+msgid "Color tracks by layer or individually"
+msgstr "Couleur des voies par calque ou individuellement"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:345
+msgid "Color draw objects by layer or individually"
+msgstr "Couleur des objets dessinés par calque ou individuellement"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:346
+msgid "Controls the drawing of hidden tracks"
+msgstr "Ajuste le dessin des voies cachées"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:347
+msgid "Controls the drawing of End-Points"
+msgstr "Ajuste le dessin des points d'extrémité"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:348
+msgid "How to draw track ties"
+msgstr "Comment dessiner des traverses"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:349
+msgid "Show crosshair at center of curves"
+msgstr "Afficher le réticule au centre des courbes"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:350
+msgid "Drawing scale when to draw tracks with 2 rails"
+msgstr "Échelle minimale pour dessiner les voies avec 2 rails"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:351
+msgid "Drawing scale of the map window"
+msgstr "Échelle de dessin de la fenêtre de navigation"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:352
+msgid "Whether the main layout is updated while dragging on the Map"
+msgstr "Mise à jour du plan de trajet lors du dessin sur la carte"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:353
+msgid "Enable labels for Turnouts, Flextrack Lengths and Elevations"
+msgstr ""
+"Afficher les étiquettes pour les aiguillages, les voies flexibles et les "
+"élévations"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:354
+msgid "When to label Turnout, Flextrack Lengths and Elevations"
+msgstr ""
+"Quand étiqueter les aiguillages, les longueurs de voie flexibles ou les "
+"mesures d'élévation"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:355
+msgid "Font size for labels on layout"
+msgstr "Taille de police des étiquettes sur le plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:356
+msgid "Label elements on the Hot Bar"
+msgstr "Éléments d'étiquetage sur la barre d'objets"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:357
+msgid "Label elements on layout"
+msgstr "Éléments d'étiquetage sur le plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:358
+msgid "Label elements for lists"
+msgstr "Éléments d'étiquetage pour les listes"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:359
+msgid "How to group cars on the Train Hot Bar"
+msgstr "Regroupement des matériels roulants dans le catalogue de pièces"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:360
+msgid "Delay (in mS) between updating train movements"
+msgstr "Intervalle de mise à jour (en ms) des mouvements de train"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:361
+msgid "Don't show trains in tunnels when tunnels are hidden"
+msgstr ""
+"Ne pas visualiser les trains dans les tunnels quand les tunnels sont cachés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:362
+msgid "Display unconnected endpoints of track with special marks"
+msgstr "Mettez en surbrillance les extrémités non connectées"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:363
+msgid "Whether the Main Drawing Area shows as much of the room as possible"
+msgstr ""
+"Indiquer si la zone de dessin principale montre la plus grande partie "
+"possible de la pièce"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:364
+msgid "Don't hide system cursor when program cursors are showing"
+msgstr ""
+"Ne pas cacher le curseur du système lorsque les curseurs des programmes "
+"s'affichent"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:366
+msgid "Width of the lines"
+msgstr "Épaisseur des lignes"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:367
+msgid "Color of the lines"
+msgstr "Couleur des voies"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:368
+msgid "List of types of Lumber"
+msgstr "Liste des types d'éléments de structure"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:369
+msgid "Color of Benchwork"
+msgstr "Couleur du châssis"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:370
+msgid "Orientation of Benchwork"
+msgstr "Orientation du châssis"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:371
+msgid "Size of Dimension Arrows"
+msgstr "Largeur des Flèches de cotation"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:372
+msgid "Width of Box"
+msgstr "Largeur de boîte"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:373
+msgid "Height of Box"
+msgstr "Hauteur de caisse"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:374
+msgid "Angle of Line"
+msgstr "Angle de ligne"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:375
+msgid "Radius of Curve"
+msgstr "Rayon de courbe"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:377
+msgid "This controls the sharpness of the easement curve"
+msgstr "Cela contrôle la netteté et la taille de la courbe de transition"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:378
+msgid "Minimum radius"
+msgstr "Rayon minimum"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:379
+msgid "Maximum offset"
+msgstr "Décalage maximum"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:380
+msgid "Easement length"
+msgstr "Longueur de la courbe de transition"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:381
+msgid ""
+"These radio buttons are a short-cut for Values of 0.0, 0.5, 1.0 and 2.0. "
+"None turns Easements off"
+msgstr ""
+"Ces boutons sont un raccourci pour les valeurs de 0.0, 0.5, 1.0 et 2.0. "
+"Aucun ne désactive les courbes de transition"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:382
+msgid "Complete easement selection"
+msgstr "Terminer la sélection des courbes de transition"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:383
+msgid "Type of elevation"
+msgstr "Type d'élévation"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:384
+msgid "Height of End Point"
+msgstr "Hauteur du point de fin"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:385
+msgid "Compute elevation based on neighbors"
+msgstr "Calculer la hauteur en fonction des voies adjacentes"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:386
+msgid "Compute grade based on neighbors"
+msgstr "Calculer la pente en fonction des voies adjacentes"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:387
+msgid "Specify a name for an End-Point"
+msgstr "Spécifiez un nom pour un point de fin"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:389
+msgid "Print parts list"
+msgstr "Imprimer la nomenclature"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:390
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:512
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:625
+msgid "Invoke the Print Setup dialog"
+msgstr "Ouvre la boîte de dialogue Configuration d'impression"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:391
+msgid "Save parts list to file"
+msgstr "Enregistrer la nomenclature dans un fichier"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:392
+msgid "This is the list of parts for the layout"
+msgstr "Voici la liste des pièces pour ce plan de voie"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:393
+msgid "Enable prices on the Parts List"
+msgstr "Activer les prix sur la liste des pièces"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:394
+msgid "Enable index listing on the Parts List"
+msgstr "Activer la liste d'index sur la liste de pièces"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:395
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:398
+msgid "Spacing between major grid lines"
+msgstr "Espacement entre les lignes principales de la grille"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:396
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:399
+msgid "Allows the spacing to be subdivided"
+msgstr "Permet de diviser l'espacement"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:397
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:400
+msgid "Specifies if positions are snaped in this direction"
+msgstr "Activez la grille magnétique pour cette orientation"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:401
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:402
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:403
+msgid "Shows the origin and angle of the grid"
+msgstr "Affiche l'origine et l'angle de la grille"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:404
+msgid "Specifies if the grid is shown"
+msgstr "Spécifie si la grille est affichée"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:405
+msgid "Completes the grid specification"
+msgstr "Enregistrer le réglage de la grille et quitter"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:409
+msgid "Number of segments in Group"
+msgstr "Nombre de segments dans le groupe"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:410
+msgid "Replace the Selected object with the new definition?"
+msgstr "Faut-il remplacer l'objet sélectionné par la nouvelle définition?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:411
+msgid "Creates a new Structure (or Turnout)"
+msgstr "Crée un nouveau bâtiment (ou aiguillage)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:412
+msgid "Elevation difference of Helix End-Points"
+msgstr "Différence d'élévation des bouts de l'hélicoïde"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:413
+msgid "Helix Radius"
+msgstr "Rayon de l'hélicoïde"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:414
+msgid "Number of turns in the helix"
+msgstr "Nombre de tours de l'hélicoïde"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:415
+msgid "Angle betweek helix entrance and exit"
+msgstr "Angle entre l'entrée et la sortie de l'hélicoïde"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:416
+msgid "Grade in helix"
+msgstr "Pente de l'hélicoïde"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:417
+msgid "Separation between helix layers including baseboard, track, etc"
+msgstr ""
+"Séparation entre les couches d'hélicoïde comprenant le support, la voie, etc"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:418
+msgid "Index numbers of objects, separated by commas"
+msgstr "Numéros d'index des objets, séparés par des virgules"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:419
+msgid "Desired curve radius between straight tracks"
+msgstr "Rayon de courbe souhaité entre les voies droites"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:420
+msgid "Layer list"
+msgstr "Liste des calques"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:421
+msgid "Layer Name"
+msgstr "Nom du calque"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:422
+msgid "Hide Layer Button on MenuBar"
+msgstr "Cacher le bouton du calque sur la barre de menu"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:423
+msgid "Color of layer"
+msgstr "Couleur du calque"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:424
+msgid "Layer is drawn on Main window"
+msgstr "Le calque est dessiné dans la fenêtre principale"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:425
+msgid "Layer cannot be changed"
+msgstr "Le calque ne peut pas être modifié"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:426
+msgid "Use color for this Layer if color-by-layer is set"
+msgstr "Utiliser une couleur pour ce calque si utiliser-la-couleur est coché"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:427
+msgid "Other Layers this Layer also shows/hides"
+msgstr "Les autres calques que ce calque s'affichent/se cachent également"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:428
+msgid "Layer is a Module"
+msgstr "Le calque est un module"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:429
+msgid "Layer is drawn on Map window"
+msgstr "Le calque est dessiné dans la fenêtre de navigation"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:430
+msgid "Number of layer buttons to show"
+msgstr "Nombre de boutons de calques à afficher"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:431
+msgid "Number of objects in this layer"
+msgstr "Nombre d'objets dans ce calque"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:432
+msgid "Settings File to load when this layer is made current"
+msgstr "Fichier de paramètres à charger lorsque ce calque est mis à jour"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:434
+msgid "Load layer configuration from default"
+msgstr "Charger la configuration du calque par défaut"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:435
+msgid "Save current layer configuration as default"
+msgstr "Enregistrer la configuration actuelle comme calque par défaut"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:436
+msgid "Overwrite layer configuration with system default values"
+msgstr ""
+"Réinitialiser le réglage des calques aux valeurs par défaut du système"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:437
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:438
+msgid "Specifies the size of the room (in inches or centimeters)"
+msgstr "Spécifie la taille de la pièce (en pouces ou en centimètres)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:439
+msgid "Specifies the layout Title that will appear on printouts"
+msgstr "Spécifie le titre du plan qui apparaîtra sur les impressions"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:440
+msgid "Specifies the layout Subtitle that will appear on printouts"
+msgstr "Spécifie le sous-titre du plan qui apparaîtra sur les impressions"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:441
+msgid "Specifies the Modelling Scale"
+msgstr "Spécifie l'échelle de modélisation"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:442
+msgid "Specifies the rail gauge, ie. the distance between the rails"
+msgstr "Spécifie l'écartement des rails, c.à.d. la distance entre les rails"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:443
+msgid ""
+"Specifies minimum track radius (in inches or centimeters). Tracks with a "
+"smaller radius are considered exceptional."
+msgstr ""
+"Spécifie le rayon de voie minimal (en pouces ou en centimètres). Les voies "
+"avec un rayon plus petit sont considérées comme exceptionnelles."
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:444
+msgid ""
+"Specifies maximum track elevation expressed as a percent (%). Tracks with a "
+"larger elevation are considered exceptional."
+msgstr ""
+"Spécifie l'élévation maximale de la voie exprimée en pourcentage (%). Les "
+"voies avec une élévation plus grande sont considérées comme exceptionnelles."
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:445
+msgid "Select the background image"
+msgstr "Sélectionnez l'image d'arrière-plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:446
+msgid "Remove the background image"
+msgstr "Supprimer l'image de fond"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:447
+msgid "Specifies the x offset of the bottom left of the background image"
+msgstr "Spécifie le décalage x en bas à gauche de l'image d'arrière-plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:448
+msgid "Specifies the y offset of the bottom left of the background image"
+msgstr "Spécifie le décalage y en bas à gauche de l'image d'arrière-plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:449
+msgid ""
+"Specifies how large the bottom edge of the background image should be in "
+"model units"
+msgstr ""
+"Spécifie la taille du bord inférieur de l'image d'arrière plan en unités du "
+"modèle"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:450
+msgid ""
+"Specifies the screening of the background image from 0 (none) to 100% "
+"(vanishes)"
+msgstr ""
+"Spécifie le filtrage de l'image d'arrière-plan, de 0 (aucun) à 100% "
+"(disparaît)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:451
+msgid "Specifies the rotation angle of the background image in degrees"
+msgstr "Spécifie l'angle de rotation de l'image d'arrière-plan en degrés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:452
+msgid "Write a copy of current settings to a named file"
+msgstr "Écrire une copie des paramètres actuels dans un fichier nommé"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:453
+msgid "Override current settings from a named file"
+msgstr "Remplacer les paramètres actuels d'un fichier nommé"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:454
+msgid "Move by X"
+msgstr "Déplacer par X"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:455
+msgid "Move by Y"
+msgstr "Déplacer par Y"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:458
+msgid ""
+"This is the body of the Note. To change this select Modify from the File "
+"Menu"
+msgstr ""
+"Ceci est le texte de la note. Pour le changer, sélectionnez «Modifier» dans "
+"le menu «Fichier»"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:460
+msgid "Specifies number of pixels per inch (or centimeter)"
+msgstr "Spécifie le nombre de pixels par pouce (ou centimètre)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:462
+msgid ""
+"Specifies whether Layout Titles, Borders or Track Centerlines are printed on"
+" the BitMap"
+msgstr ""
+"Spécifie si les titres du plan, les bordures ou les axes des voies sont "
+"imprimés sur le BitMap"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:463
+msgid ""
+"Specifies the separation between the original track and the parallel "
+"track/line"
+msgstr ""
+"Spécifie la séparation entre la voie d'origine et la voie/ligne parallèle"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:464
+msgid ""
+"Specifies the a factor that increases the seperation as the radius of the "
+"original track reduces. 0.0 means no increase."
+msgstr ""
+"Spécifie le facteur qui augmente la séparation à mesure que le rayon de la "
+"voie d'origine diminue. 0,0 signifie aucune augmentation."
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:465
+msgid "Enter your name as specified in the XTrackCAD Registration Notice"
+msgstr ""
+"Entrez votre nom comme spécifié dans la notification d'enregistrement "
+"d'XTrackCAD"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:466
+msgid "Enter the key value as specified in the XTrackCAD Registration Notice"
+msgstr ""
+"Entrez la valeur de la clé telle que spécifiée dans la notification "
+"d'enregistrement d'XTrackCAD"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:467
+msgid "Validates the name and key. Terminates the registration command"
+msgstr "Valide le nom et la clé. Met fin à la commande d'enregistrement"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:468
+msgid "0 degrees is up or to the right"
+msgstr "0 degré est en haut et à droite"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:469
+msgid "Choose english (inches) or metric (centimeters)"
+msgstr "Choisissez anglais (pouces) ou métrique (cm)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:470
+msgid "How to display length measurements"
+msgstr "Comment afficher les mesures de longueur"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:471
+msgid "Do not create tracks to be shorter than this value"
+msgstr "Ne créez pas de voies plus courtes que cette valeur"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:472
+msgid "Maximum distance between connected end points"
+msgstr "Distance maximale entre des extrémités connectées"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:473
+msgid "Minimum angle between connected End-Points"
+msgstr "Angle minimal entre les extrémités connectées"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:474
+msgid "Specifies the minimum angle between tracks connected to a turntable"
+msgstr ""
+"Spécifie l'angle minimum entre les voies connectées à un pont tournant"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:475
+msgid "Trains will crash above this speed"
+msgstr "Les trains dérailleront au-dessus de cette vitesse"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:476
+msgid "Enable/Disable balloon popup help windows"
+msgstr "Activer/Désactiver les bulles d'aide contextuelles"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:477
+msgid "Enable/Disable show of flextrack on hotbar"
+msgstr "Activer/Désactiver l'affichage de la flextrack sur la barre rapide"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:478
+msgid "How far you can move the mouse before its considered a drag"
+msgstr ""
+"Jusqu'où vous pouvez déplacer la souris avant que ce soit considéré comme un"
+" glisser"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:479
+msgid "How long you can hold a mouse button down before its considered a drag"
+msgstr ""
+"Combien de temps pouvez-vous maintenir un bouton de la souris enfoncé avant "
+"que ce soit considéré comme un glisser"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:480
+msgid "Minimum distance (in pixels) between grid lines/ticks"
+msgstr "Distance minimale (en pixels) entre les lignes/marques de quadrillage"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:481
+msgid ""
+"Specifies the Check Point frequency; number of modifications made since the "
+"last checkpoint."
+msgstr ""
+"Précise la fréquence des points de contrôle ; nombre de modifications "
+"apportées depuis le dernier point de contrôle."
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:482
+msgid "Specifies the number of checkpoints after save before auto-saving."
+msgstr ""
+"Spécifie le nombre de points de contrôle après la sauvegarde avant la "
+"sauvegarde automatique."
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:483
+msgid "Resume work on last layout or start with new layout"
+msgstr "Modifier le dernier plan de voies ou en créer un nouveau"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:485
+msgid "Updated cost of current selected item"
+msgstr "Coût actualisé de l'élément actuellement sélectionné"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:487
+msgid "Selection list for prices"
+msgstr "Liste de sélection des prix"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:488
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:489
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:490
+msgid "Price of specified length of flex-track"
+msgstr "Prix d'une longueur spécifiée de voie flexible"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:492
+msgid "Controls the printing of a centerline of track cmdPrint"
+msgstr "Ajuste le dessin de l’axe des voies"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:493
+msgid "Controls the reduction (scale) of the printout"
+msgstr "Ajuste la réduction (d'échelle) pour l'impression"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:494
+msgid "Scaled page width (Scale times physical page width)"
+msgstr ""
+"Spécifiez la largeur de la page (échelle multipliée par la largeur du papier"
+" physique)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:495
+msgid "Sets page size to the maximum (based on scale and physical page size)"
+msgstr ""
+"Définit le format maximum de la page (en fonction de l'échelle et du format "
+"de papier physique)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:496
+msgid "Scaled page height (Scale times physical page height)"
+msgstr ""
+"Hauteur de page mise à l'échelle (échelle multipliée par la hauteur de page "
+"physique)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:497
+msgid "Sets scale, origin and angle for a one page printout of the layout"
+msgstr ""
+"Définit l'échelle, l'orientation et l'angle pour l'impression d'une page du "
+"plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:498
+msgid "Print page in Portrait or Landscape format"
+msgstr "Imprimer la page au format Portrait ou Paysage"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:499
+msgid "Order of printing pages"
+msgstr "Ordre des pages d'impression"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:500
+msgid "Print Title, Date, Author and other information at bottom of page?"
+msgstr ""
+"Imprimer le titre, la date, l'auteur et d'autres informations en bas de page"
+" ?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:501
+msgid "Ignore unprintable page margins?"
+msgstr "Ignorer les marges non imprimables?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:502
+msgid "Print Registration Marks at 1:1?"
+msgstr "Imprimer les aides au positionnement à l'échelle 1:1 ?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:503
+msgid "Print Snap Grid?"
+msgstr "Imprimer la grille magnétique ?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:504
+msgid ""
+"Print Rulers at the layout edge only, or on all page edges, or nowhere?"
+msgstr ""
+"Imprimer les règles sur le bord de la mise en page uniquement, ou sur tous "
+"les bords de la page, ou nulle part?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:505
+msgid "Print Roadbed Outline?"
+msgstr "Imprimer le contour du ballast ?"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:506
+msgid "Print Roadbed Outline"
+msgstr "Imprimer le contour du ballast"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:507
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:508
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:510
+msgid ""
+"Origin of the print grid. This is useful if you want to reprint a set of "
+"pages"
+msgstr ""
+"Origine de la grille d'impression. Utile si certaines pages sont réimprimées"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:509
+msgid "Resets the origin and angle to 0"
+msgstr "Réinitialise à 0 l'alignement et l'angle"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:511
+msgid "Deselects all pages"
+msgstr "Désélectionner toutes les pages"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:513
+msgid "Print selected pages and terminates the print command"
+msgstr "Imprime les pages sélectionnées et termine la commande d'impression"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:514
+msgid "List of loaded, shown or hidden parameter files"
+msgstr "Liste des fichiers de paramètres chargés, affichés ou cachés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:515
+msgid "Show parameter files by names or descriptions"
+msgstr "Afficher les fichiers de paramètres par noms ou descriptions"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:516
+msgid "Toggle the shown status of the selected parameter file"
+msgstr "Commuter l'état affiché du fichier de paramètres sélectionné"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:517
+msgid "Find extra parameter files from the filesystem"
+msgstr ""
+"Trouver des fichiers de paramètres supplémentaires dans le système de "
+"fichiers"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:518
+msgid "Find parameter files from the system library"
+msgstr "Trouver des fichiers de paramètres dans la bibliothèque système"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:519
+msgid "Update parameter file list"
+msgstr "Mettre à jour la liste des fichiers de paramètres"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:520
+msgid "Reload parameter file from list"
+msgstr "Recharger un fichier de paramètres à partir de la liste"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:521
+msgid "Select all parameter files shown"
+msgstr "Sélectionnez tous les fichiers de paramètres affichés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:522
+msgid "Profile of specified path"
+msgstr "Profil de la voie spécifiée"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:523
+msgid "Clear the profile"
+msgstr "Effacer le profil de hauteur"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:524
+msgid "Print the profile"
+msgstr "Imprimer le profil"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:526
+msgid "Stop recording"
+msgstr "Arrêt d'enregistrement"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:527
+msgid "Insert a message"
+msgstr "Insérer un message"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:528
+msgid "End a message"
+msgstr "Fin du message"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:529
+msgid "Message body"
+msgstr "Corps du message"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:530
+msgid "Possible turnouts"
+msgstr "Aiguillages possibles"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:531
+msgid "Skip this turnout"
+msgstr "Ignorer cette participation"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:533
+msgid "Manufacturer of Object"
+msgstr "Marque de l'objet"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:534
+msgid "Description of Object"
+msgstr "Description d'objet"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:535
+msgid "Part Nuber of Object"
+msgstr "Référence de l'objet"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:537
+msgid "Rescale by Scale Conversion or by Ratio"
+msgstr "Redimensionner par conversion d'échelle ou rapport"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:538
+msgid "Original Scale of the selected objects"
+msgstr "Échelle d'origine des objets sélectionnés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:539
+msgid "Original Gauge of the selected objects"
+msgstr "Ecartement de voies d'origine des objets sélectionnés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:540
+msgid "New Scale of the selected objects"
+msgstr "Nouvelle échelle des objets sélectionnés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:541
+msgid "New Gauge of the selected objects"
+msgstr "Nouvel écartement de voies des objets sélectionnés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:542
+msgid "Change track dimensions to new scale"
+msgstr "Convertir les dimensions de la voie à la nouvelle échelle"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:543
+msgid "Change size by this amount"
+msgstr "Changer la taille d'un facteur"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:545
+msgid "Snap Grid Line and Division"
+msgstr "Grille magnétique voie et division"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:546
+msgid "X and Y position markers"
+msgstr "Repères de position X et Y"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:547
+msgid "Border rulers, room boundaries and table edges"
+msgstr "Règles de bordures, limites de pièce et bords de table"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:548
+msgid "Primary Axis of grid rotation"
+msgstr "Axe principal de rotation de la grille"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:549
+msgid "Secondary Axis of grid rotation"
+msgstr "Axe secondaire de rotation de la grille"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:550
+msgid "Unselected tracks"
+msgstr "Voies non sélectionnées"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:551
+msgid "Selected tracks"
+msgstr "Voies sélectionnées"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:552
+msgid "Color of tracks on the Profile path"
+msgstr "Couleur des voies sur le profil de hauteur"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:553
+msgid "Color of Exceptional tracks"
+msgstr "Couleur des voies exceptionnelles, hors limites"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:554
+msgid "Color of track ties"
+msgstr "Couleur des traverses"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:555
+msgid "Updates the colors"
+msgstr "Met à jour les couleurs"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:556
+msgid "Angle in degrees"
+msgstr "Angle en degrés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:557
+msgid "Rotate object(s) by specified amount"
+msgstr "Faire pivoter le ou les objet(s) d'un certain angle"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:558
+msgid "Enter one or more words as search terms"
+msgstr "Entrez un ou plusieurs mots comme termes de recherche"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:559
+msgid "Remove the current filter and show all files"
+msgstr "Supprimer le filtre actuel et afficher tous les fichiers"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:560
+msgid "Find matching file descriptions"
+msgstr "Trouver les descriptions de fichiers correspondantes"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:561
+msgid "Search results"
+msgstr "Résultats de la recherche"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:562
+msgid "Show descriptions or filenames in results"
+msgstr "Afficher les descriptions ou les noms de fichiers dans les résultats"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:563
+msgid "Select how well the definitions must fit the current layout scale"
+msgstr ""
+"Sélectionnez dans quelle mesure les définitions doivent correspondre à "
+"l'échelle de mise en page actuelle"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:564
+msgid "Add selected entries into parameter file list"
+msgstr ""
+"Ajouter les entrées sélectionnées dans la liste des fichiers de paramètres"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:565
+msgid "Select All found entries"
+msgstr "Sélectionner toutes les entrées trouvées"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:566
+msgid "Reload the system library contents for finding"
+msgstr "Recharger le contenu de la bibliothèque système pour trouver"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:567
+msgid "Choose commands to be sticky"
+msgstr "Choisissez les commandes à rendre collantes"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:568
+msgid "Make the commands sticky"
+msgstr "Rendre les commandes collantes"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:569
+msgid "List of available structure"
+msgstr "Liste des bâtiments disponibles"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:570
+msgid "Diagram of the selected structure"
+msgstr "Schéma de la bâtiment sélectionnée"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:571
+msgid "Hide Selection window when placing Structure"
+msgstr "Masquer la fenêtre de sélection lors du placement de la bâtiment"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:572
+msgid "Drawing scale and size"
+msgstr "Échelle et taille du dessin"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:573
+msgid "Complete structure placement"
+msgstr "Placement complet de la bâtiment"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:574
+msgid "Choose a Pier number"
+msgstr "Choisissez un numéro de colonne"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:575
+msgid "Name of the Motor"
+msgstr "Nom du moteur"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:576
+msgid "Value when switch is normal"
+msgstr "Valeur lorsque l'aiguillage est normal"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:577
+msgid "Value when the switch is reversed"
+msgstr "Valeur lorsque l'aiguillage est dévié"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:578
+msgid "Value for a positive comfirmation of switch position"
+msgstr "Valeur pour une confirmation positive de la position de l'aiguillage"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:580
+msgid "Controls the color of the entered text"
+msgstr "Contrôle la couleur du texte saisi"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:581
+msgid "If the text is boxed"
+msgstr "Si le texte est dans une case"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:582
+msgid "Useful information about the program"
+msgstr "Informations utiles sur le programme"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:583
+msgid "Show Tip of the Day every time the program starts"
+msgstr "Montrer le conseil du jour à chaque démarrage du programme"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:584
+msgid "Show the next Tip of the Day"
+msgstr "Montrer le prochain conseil du jour"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:585
+msgid "Show the previous Tip of the Day"
+msgstr "Montrer le précédent conseil du jour"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:587
+msgid "Controls which Command Buttons are displayed"
+msgstr "Afficher ou masquer les boutons de commande dans la barre d'outils"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:588
+msgid "List of Cars"
+msgstr "Liste des matériels roulants"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:589
+msgid "List of active trains"
+msgstr "Liste des trains actifs"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:591
+msgid "Train odometer"
+msgstr "Compteur de distance"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:592
+msgid "Reset odometer to 0"
+msgstr "Remise à 0"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:593
+msgid "Find train on layout"
+msgstr "Chercher le train sur le plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:594
+msgid "Follow train around layout"
+msgstr "Suivre le train sur le plan"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:595
+msgid "Flip direction at End Of Track"
+msgstr "Inverser la direction à la fin de la voie"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:596
+msgid "Change direction of train"
+msgstr "Inverser la direction du train"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:597
+msgid "Stop the train"
+msgstr "Arrêt du train"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:598
+msgid "List of available turnouts for the current scale"
+msgstr "Liste des aiguilles disponibles pour l'échelle actuelle"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:599
+msgid ""
+"Diagram of the currently selected turnout. Click on a End-Point to select "
+"the Active End-Point"
+msgstr ""
+"Schéma de l'aiguillage actuellement sélectionné. Cliquez sur une extrémité "
+"pour sélectionner l'extrémité active"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:600
+msgid ""
+"A menu list of various type of turnouts and sectional tracks you can define"
+msgstr ""
+"Une gamme de différents types d'aiguillages et de sections de voies que vous"
+" pouvez définir"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:601
+msgid "Hide Selection window when placing Turnout"
+msgstr "Masquer la fenêtre de sélection lorsque vous placez l'aiguillage"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:602
+msgid "The selected Active End-Point"
+msgstr "Le point de fin actif sélectionné"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:603
+msgid "Current selected turnout, (displayed in the diagram window)"
+msgstr ""
+"Aiguillage sélectionné actuellement, (affiché dans la fenêtre du diagramme)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:604
+msgid "One the End-Points that can be selected"
+msgstr "L'un des points d'extrémité pouvant être sélectionnés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:606
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:607
+msgid "Angle of the specified track to the center line of the turnout"
+msgstr "Angle de la voie spécifiée par rapport à l'axe de l'aiguillage"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:608
+msgid "Specifies if angles are entered as Frog Numbers or in degrees"
+msgstr ""
+"Spécifie si les angles sont entrés sous forme de N° de cœur ou en degrés"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:609
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:610
+msgid "Desciption"
+msgstr "Desciption"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:611
+msgid "Turnout description (Manuf., Size, Part Number, etc)"
+msgstr "Description de l'aiguillage (fabricant, angle, numéro de pièce, etc.)"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:612
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:613
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:614
+msgid "Length from the base to the end of the specified track"
+msgstr "Longueur de la ligne de base à la fin de la voie sélectionnée"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:616
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:617
+msgid "Offset of the track End-Point from the center line of the turnout"
+msgstr ""
+"Décalage du point de fin de la voie par rapport à l'axe central de "
+"l'aiguillage"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:620
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:621
+msgid "Prints a full size diagram of the turnout for checking"
+msgstr ""
+"Imprime un diagramme en taille réelle de l'aiguillage pour vérification"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:622
+msgid "Color of Roadbed lines"
+msgstr "Couleur des voies de balast"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:623
+msgid "Width of Roadbed lines"
+msgstr "Largeur des lignes de ballast"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:624
+msgid "Width of Roadbed"
+msgstr "Largeur du ballast"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:626
+msgid "Closes the window and returns to the Turnout Selection window"
+msgstr "Ferme la fenêtre et retourne à la sélection d'aiguillage"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:627
+msgid "Specifies the diameter of the turntable"
+msgstr "Spécifie le diamètre du pont tournant"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:628
+msgid "Old Turnout title"
+msgstr "Ancien titre de l'aiguillage"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:629
+msgid "List of available titles"
+msgstr "Liste des titres disponibles"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:630
+msgid "Leave the Turnouts' title unchanged"
+msgstr "Laisser le titre d'aiguillage inchangé"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:631
+msgid "Invoke the Parameter Files dialog"
+msgstr "Ouvre la boîte de dialogue Fichier de paramètres"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:632
+msgid "List of available turnouts"
+msgstr "Liste des aiguillages disponibles"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:633
+msgid "Update the Turnouts' title"
+msgstr "Mettre à jour le titre des aiguillages"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:637
+msgid "Sample"
+msgstr "Exemple"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:639
+msgid "Slant"
+msgstr "Incliner"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:640
+msgid "Font selection dialog"
+msgstr "Boite de dialogue de sélection de police"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:641
+msgid "Weight"
+msgstr "Poids"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:642
+msgid "Printer Abort Window"
+msgstr "Annuler l'impression"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:643
+msgid "Print to filename"
+msgstr "Nom du fichier d'impression"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:644
+msgid "Specify Postscript font alias mapping"
+msgstr "Spécifier l'affectation des polices Postscript"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:645
+msgid ""
+"Displays the Print Setup window to change printers, orientation, paper size,"
+" etc."
+msgstr ""
+"Affiche la fenêtre configuration de l’impression pour changer d'imprimante, "
+"d'orientation, de format du papier, etc."
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:646
+msgid "Closes this dialog"
+msgstr "Ferme cette boîte de dialogue"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:647
+msgid "Page orientation"
+msgstr "Orientation de la page"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:648
+msgid "Unprintable margins"
+msgstr "Marges non imprimables"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:649
+msgid "Updates and closes this dialog"
+msgstr "Met à jour et ferme cette boîte de dialogue"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:650
+msgid "Choose paper size"
+msgstr "Choisissez le format de papier"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:651
+msgid "Choose printer"
+msgstr "Choisissez une imprimante"
+
+#: ../../../../build/xtrkcad-old/app/bin/bllnhlp.c:652
+msgid "Print test page"
+msgstr "Impression de la page de test"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:1
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:8
+msgid ""
+"XTrackCAD provides demonstrations on most of the program's features. The "
+"demos can be run by clicking on the Help menu on the Main window and then "
+"selecting Demos."
+msgstr ""
+"XTrackCAD a des démos sur la plupart des fonctions. Ces démos peuvent être "
+"lues en sélectionnant \"Démos\" dans le menu Aide de la fenêtre principale."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:3
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:10
+msgid ""
+"The notation \"Menu|Item\" is used in the documentation (and the on-line demos and tips) to indicate the selection of a menu item.\n"
+"For example, \"File|Open\" means to open the menu by clicking on File on the menu bar of the Main window and then selecting the Open item from that menu."
+msgstr ""
+"La notation \"Menu|Item\" est utilisée dans la documentation (et les démos et astuces en ligne) pour indiquer la sélection d'un élément de menu.\n"
+"Par exemple, \"Fichier|Ouvrir\" signifie ouvrir le menu en cliquant sur Fichier dans la barre de menu de la fenêtre principale, puis en sélectionnant l'élément Ouvrir dans ce menu."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:12
+msgid ""
+"Set your modeling scale on the \"Options|Layout\" dialog. This controls the"
+" Turnouts and Structures that are available, Easement values and track "
+"gauge."
+msgstr ""
+"Définissez votre échelle de modélisation dans la boîte de dialogue "
+"\"Options|Plan ...\". Cela contrôle les aiguillages et les bâtiments "
+"disponibles, les valeurs des courbes de transition et l'écartement des "
+"voies."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:8
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:14
+msgid ""
+"A number of example layouts are provided. These files can be accessed by "
+"\"Help|Examples\"."
+msgstr ""
+"Un certain nombre d'exemples de plans sont fournis. Ces fichiers sont "
+"accessibles par \"Aide|Exemples\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:10
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:16
+msgid ""
+"When installed, the length units are set based on your contry: inches for "
+"United States or Canada and centimeters elsewhere. You can change this on "
+"the \"Options|Preferences\" dialog by choosing between Metric and English."
+msgstr ""
+"Une fois installés, les unités de longueur sont définies en fonction de "
+"votre pays : pouces pour les États-Unis ou le Canada et centimètres "
+"ailleurs. Vous pouvez changer cela dans la boîte de dialogue \"Options | "
+"Préférences\" en choisissant entre métrique et anglais."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:12
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:18
+msgid ""
+"You can change the overall size of your layout on the \"Options|Layout\" "
+"dialog."
+msgstr ""
+"Vous pouvez modifier la taille globale de votre plan dans la boîte de "
+"dialogue \"Options|Plan\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:20
+msgid ""
+"When installed, the default command is the Select command. You might want to"
+" change this to the Decribe command. You can do this on the "
+"\"Options|Command Options\" dialog."
+msgstr ""
+"Une fois installée, la commande par défaut est la commande 'Sélectionner'. "
+"Vous voudrez peut-être changer cela en commande 'Propriétés'. Vous pouvez le"
+" faire dans la boîte de dialogue \"Options | Commande\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:22
+msgid ""
+"When Selecting tracks, the connection between Selected and Unselected tracks"
+" is marked by a Red X. This indicates points where the connection between "
+"tracks will be broken if you Move or Rotate the Selected tracks."
+msgstr ""
+"Pour les voies sélectionnées, la connexion de la voie est marquée par un X "
+"rouge. C'est exactement là où la voie sera séparée lorsqu'elle sera déplacée"
+" ou pivotée."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:18
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:24
+msgid ""
+"You can change orientation of the pages on the Print command by moving or rotating the Print Grid.\n"
+"Shift-Left-Drag moves the grid and Shift-Right-Drag rotates the grid."
+msgstr ""
+"L'orientation des pages à imprimer peut être modifiée en déplaçant ou en faisant pivoter la grille d'impression.\n"
+"Maj+Left-Drag déplace la grille et Maj+Right-Drag fait pivoter la grille."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:21
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:26
+msgid ""
+"You can add track to any unconnected End-Point with the Modify command.\n"
+"Hold down the Shift key and click on the End-Point and drag away to create a new track segment attached to the End-Point.\n"
+"Repeat with the new End-Point to create flowing tracks."
+msgstr ""
+"Les voies peuvent être ajoutées à n'importe quel point de fin non connecté avec \"Modifier\".\n"
+"Pour créer une nouvelle section de voie, marquez un point de fin, puis maintenez la touche Maj enfoncée tout en déplaçant la section de voie.\n"
+"Répétez cette action avec ce nouveau point de fin pour créer des voies fluides."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:25
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:28
+msgid ""
+"You can create curved tracks in four ways by dragging from:\n"
+" the 1st endpoint in the direction of the curve\n"
+" center of the curve to the 1st endpoint\n"
+" endpoint to the center\n"
+" the 1st to 2nd endpoint\n"
+"Then drag on one of the Red arrows to create the final shape of the curve.\n"
+"\n"
+"You can click on the small button to the right of the Curve command button to change the method."
+msgstr ""
+"Les voies courbes peuvent être créées de quatre manières différentes:\n"
+" à partir du 1er point de fin dans la direction de la courbe\n"
+" du centre de la courbe au premier point de fin\n"
+" du point de fin au centre\n"
+" du 1er au 2nd point de fin\n"
+"Faites ensuite glisser l'une des deux flèches rouges pour définir la courbe finale.\n"
+"\n"
+"Les différentes méthodes de création de courbes de voie peuvent être sélectionnées en cliquant sur le bouton à droite du bouton de courbe dans la barre d'outils."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:34
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:30
+msgid ""
+"When creating a straight or a curved track by dragging from the 1st End Point, you can snap the new track to an existing open end point by holding down Shift while you click.\n"
+"The new track will be joined to the old when you create it."
+msgstr ""
+"Lors de la création d'une voie droite ou courbe en faisant glisser depuis le 1er point de fin, la nouvelle voie peut être alignée avec le point de fin existant en appuyant sur la touche Maj pendant que vous cliquez.\n"
+"La nouvelle voie sera connectée à la voie existante lorsque vous la créerez."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:37
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:32
+msgid ""
+"Track Circles provide a quick way to see what arrangement of tracks will fit in your layout spaces. Create Circles with your typical radius and place them in corners and other locations where your main-line will make changes of direction. This will give you an overall idea of how your layout will look.\n"
+"\n"
+"You can create Circles by:\n"
+" using a fixed radius\n"
+" dragging from the Center to edge\n"
+" dragging from an edge to the Center\n"
+"You can click on the small button to the left of the Circle command button to change the method."
+msgstr ""
+"Les cercles de voies offrent un moyen rapide de voir quelle disposition de voies s'adaptera aux espaces du plan. Créez des cercles de voie avec des rayons communs et placez-les dans les coins ou n'importe où sur votre voie principale où vous souhaitez changer de direction. Cela vous aidera à obtenir un premier aperçu de l'ensemble de votre plan de parcours.\n"
+"\n"
+"Les cercles peuvent être créés comme suit :\n"
+" avec un rayon fixe\n"
+" en tirant du milieu vers le bord\n"
+" en tirant du bord vers le milieu\n"
+"Vous pouvez cliquer sur le petit bouton à gauche du bouton de commande Cercle pour changer la méthode."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:45
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:34
+msgid ""
+"Easements (spiral transition curves) are used when track changes from straight to curved by gradually changing the radius. This improves operation and appearance.\n"
+"Easements are created with Joining or Extending Tracks.\n"
+"The Easement dialog is used to control easements."
+msgstr ""
+"Les Easements (courbes de transition en spirale) sont utilisées lorsque la voie passe d'une droite à une courbe en modifiant progressivement le rayon. Cela améliore le fonctionnement et l'apparence.\n"
+"Les Easements sont créées avec Raccorder ou Étendre les voies.\n"
+"La boîte de dialogue Easement permet leur contrôle."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:49
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:36
+msgid ""
+"\"Help|Recent Messages\" shows the last error and warning messages that were"
+" generated by the program. Also an explanation of each message is "
+"displayed."
+msgstr ""
+"\"Aide|Messages récents\" affiche les derniers messages d'erreur et "
+"d'avertissement générés par le programme. Une explication pour chaque "
+"message est également affichée."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:51
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:38
+msgid ""
+"When creating stall tracks for a turntable, you usually want the the stall tracks to be spaced evenly.\n"
+"The \"Turntable Angle\" item on \"Options|Preferences\" dialog can be used specify the minimum angle between stall tracks."
+msgstr ""
+"Lorsque vous créez des voies de manœuvre pour un pont tournant, vous souhaitez généralement que les voies de manœuvre soient espacées uniformément.\n"
+"L'élément \"Angle de pont tournant\" de la boîte de dialogue \"Options|Préférences\" peut être utilisé pour spécifier l'angle minimum entre les voies de manœuvre."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:40
+msgid ""
+"XTrackCAD periodically saves the current layout in a check point file. The 'Check Point' item on the 'Options|Preferences' dialog controls how often the file is saved.\n"
+"You can recover your working file after a system crash by copying the checkpoint file (xtrkcad.ckp in the XTrackCAD Working directory) to file.xtc"
+msgstr ""
+"XTrackCAD enregistre constamment votre travail actuel dans un fichier temporaire. Vous pouvez spécifier la fréquence de cette sauvegarde automatique dans le champ «Sauvegarde» sous l'élément de menu «Options|Préférences».\n"
+"Après un crash système/programme, copiez simplement le fichier xtrkcad.ckp (depuis le répertoire \"... \\AppData\\Roaming\\XTrackCad\") vers le répertoire de travail où se trouvent les fichiers \"file.xtc\""
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:57
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:42
+msgid ""
+"The Parallel command is helpful to layout yards and sidings. If the "
+"Parallel track abuts with an existing track, it is automatically connected."
+msgstr ""
+"La commande Parallèle est utile pour créer des dépôts et des voies "
+"d'évitement. Si une voie parallèle touche presque une voie existante, elle "
+"se connecte automatiquement."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:59
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:44
+msgid ""
+"You can use Shift-Drag in Select command to move and rotate selected tracks.\n"
+"Shift-Left-Drag moves tracks and Shift-Right-Drag rotates them.\n"
+"Control-Left-Drag can move labels."
+msgstr ""
+"Vous pouvez utiliser Maj + bouton de souris dans la commande Select pour déplacer et faire pivoter les voies sélectionnées.\n"
+"Maj + bouton gauche déplace les voies et Maj et le bouton droit les fait pivoter.\n"
+"Ctrl + bouton gauche peut déplacer des étiquettes."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:46
+msgid ""
+"You can move and rotate the Snap Grid to align with existing track or "
+"benchwork."
+msgstr ""
+"La grille de capture peut être déplacée ou tournée de manière à pouvoir être"
+" alignée avec des rails ou des superstructures."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:65
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:48
+msgid ""
+"Use the Parts List command to measure track length.\n"
+"Select the tracks you want to measure and then click on the Parts List button. The report will list the total of length of the selected flex-track. You will have to add in the length of any Turnouts."
+msgstr ""
+"La boîte de dialogue \"Gérer|Liste des pièces\" peut être utilisée pour mesurer les longueurs de voie.\n"
+"Sélectionnez les voies que vous souhaitez mesurer, puis cliquez sur le bouton Liste des pièces. Le rapport répertorie la longueur totale de la voie flexible sélectionnée. Vous devrez ajouter la longueur des aiguillages."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:68
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:50
+msgid ""
+"The length of flex-track attached to each Turnout is displayed on layout near the end-points of the Turnouts.\n"
+"Make sure 'Lengths' option of the 'Label Enable' toggle button on the Display dialog is selected."
+msgstr ""
+"La longueur de la voie flexible connectée à chaque aiguillage est affichée près du point final de l'aiguillage.\n"
+"Assurez-vous que l'option \"Longueurs\" est sélectionnée dans la boîte de dialogue \"Options|Affichage\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:71
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:52
+msgid ""
+"The Profile command can be used to find the length of a continous section of track.\n"
+"Select the track at the beginning and end of the section. The total length of track will be displayed on the Profile window in the lower right corner.\n"
+"Note: the Profile selects the shortest path between the two selected tracks, which might not be the path you are interested in. In this case, select the first track and then select other tracks along the path."
+msgstr ""
+"La commande \"Profil\" du menu \"Modifier\" peut être utilisée pour trouver la longueur d'une section continue de voie.\n"
+"Sélectionnez la voie au début et à la fin de la section. La longueur totale de la voie sera affichée dans la fenêtre Profil dans le coin inférieur droit.\n"
+"Remarque : le profil sélectionne le chemin le plus court entre les deux voies sélectionnées, qui peut ne pas être le chemin qui vous intéresse. Dans ce cas, sélectionnez la première voie, puis sélectionnez d'autres voies le long du chemin."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:75
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:54
+msgid ""
+"Layers can be used to contain different groups of tracks or other features."
+" You might use one layer for the main-line, another of staging tracks and "
+"another of benchwork.\n"
+msgstr ""
+"Les calques peuvent être utilisés pour contenir différents groupes de voies ou d’autres fonctionnalités. Vous pouvez utiliser une couche pour la ligne principale, une autre pour les gares cachées et une autre pour les sous-bâtiments.\n"
+"Vous pouvez attribuer un nom à chaque couche \"à l'aide de la boîte de dialogue Calque\". Ce nom sera affiché dans la bulle d'aide du bouton de calque correspondant, si la bulle d'aide est activée dans la boîte de dialogue Affichage.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:77
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:56
+msgid ""
+"You can give each layer a name (by using the \"Manage|Layer\" dialog). This"
+" name will be displayed as the Balloon Help for the corresponding Layer "
+"button, if you have Balloon Help enabled on the \"Options|Display\" dialog."
+msgstr ""
+"Les calques peuvent être utilisés pour contenir différents groupes de voies ou d’autres fonctionnalités. Vous pouvez utiliser une couche pour la ligne principale, une autre pour les gares cachées et une autre pour les sous-bâtiments.\n"
+"Vous pouvez attribuer un nom à chaque couche (à l'aide de la boîte de dialogue Calque). Ce nom sera affiché dans la bulle d'aide du bouton de calque correspondant, si la bulle d'aide est activée dans la boîte de dialogue \"Options|Affichage\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:79
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:58
+msgid ""
+"You can remove groups of buttons or the Hot Bar from the Main window to give"
+" you more room if you are not using some features. Also, the number of "
+"Layer buttons displayed is controlled by the \"Manage|Layers\" dialog."
+msgstr ""
+"Vous pouvez alléger la fenêtre principale de certains groupes de boutons ou "
+"de la barre dynamique pour vous donner plus d'espace si vous n'utilisez pas "
+"certaines fonctionnalités. De plus, le nombre de boutons de calque affichés "
+"est contrôlé par la boîte \"Gérer|Calques\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:81
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:60
+msgid ""
+"The size of the map window is controlled by the overall size of the room (specified on the layout dialog) and the map scale (on the display dialog). You can make the Map window larger (or smaller) by decreasing (or increasing) the map scale.\n"
+"XTrackCad will prevent you from making the map window too small or too large."
+msgstr ""
+"La taille de la fenêtre de la carte est contrôlée par la taille globale de la pièce (spécifiée dans la boîte de dialogue Options|Plan) et l'échelle de la carte (dans la boîte de dialogue Options|Affichage). Vous pouvez agrandir (ou réduire) la fenêtre Carte en diminuant (ou en augmentant) l'échelle de la carte.\n"
+"XTrackCad vous empêchera de rendre la fenêtre de carte trop petite ou trop grande."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:84
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:62
+msgid ""
+"You can unload parameter files you are not using by the Parameter Files "
+"dialog. This removes unused Turnout and Structure definitions from the Hot "
+"Bar and makes the program start faster."
+msgstr ""
+"Vous pouvez décharger les fichiers de paramètres que vous n'utilisez pas "
+"dans la boîte de dialogue \"Fichiers de paramètres\". Cela supprime les "
+"définitions d'aiguillage et de structure inutilisées de la barre dynamique "
+"et accélère le démarrage du programme."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:86
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:64
+msgid ""
+"Right-Click on the Main window displays a menu list of commands as an "
+"alternative to pressing the buttons on the tool bar or using the menu "
+"accelerator keys."
+msgstr ""
+"Comme alternative à la barre d'outils ou aux touches de menu, un autre menu "
+"de commande peut être utilisé en cliquant avec le bouton droit dans la "
+"fenêtre principale."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:87
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:66
+msgid ""
+"Holding down the Shift key while you Right-Click will display options for "
+"the current command (if any)."
+msgstr ""
+"Si la touche Maj reste enfoncée pendant que vous avez sélectionné une "
+"commande (le cas échéant), les options pour cette commande seront affichées."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:89
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:68
+msgid ""
+"Right-Click on the Hot Bar displays a menu of the different groups of objects which you can use to jump to the group you are interested in.\n"
+"Pressing a numeric key (1-9 and 0) moves the Hot Bar to corresponding position (1 is the start, 5 is half way, 0 is the end)."
+msgstr ""
+"Un clic droit dans la sélection rapide ouvre un menu avec différents groupes d'objets, ceux-ci peuvent être utilisés pour passer rapidement à ce type de voie.\n"
+"En appuyant sur les chiffres de la sélection rapide (1-9 et 0), la position correspondante de la sélection de voie peut également être modifiée (où 1 indique la première sélection de voie, 5 indique le milieu de la sélection et 0 indique la fin)."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:92
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:70
+msgid ""
+"Right-Drag on the Map window sets the origin and scale of the Main window.\n"
+"The Main window will be centered on the spot where you started the Draw and how far you Drag will control how large an area you can see on the Main window."
+msgstr ""
+"En faisant glisser la souris avec le bouton droit dans la fenêtre de navigation on définit l'origine et l'échelle de la fenêtre principale.\n"
+"La fenêtre principale est centrée à l'endroit où vous avez commencé le dessin. La sélection en surbrillance de la fenêtre de navigation détermine la zone que vous pouvez voir dans la fenêtre principale."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:95
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:72
+msgid ""
+"To refresh the Main window, press Control-L (hold down the 'Ctrl' key and "
+"then press the 'l' key)."
+msgstr ""
+"Pour actualiser la fenêtre principale, appuyez sur Ctrl+L (maintenez "
+"enfoncée la touche «Ctrl», puis appuyez sur la touche «l»)."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:97
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:74
+msgid ""
+"The File menu contains a list of the last 5 layouts you were working on."
+msgstr ""
+"Le menu Fichier contient une liste des 5 derniers plans sur lesquels vous "
+"travailliez."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:99
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:76
+msgid ""
+"The Print command can optionally print lines representing the roadbed for "
+"all tracks. This is useful when printing full size (1:1) for cutting "
+"roadbed."
+msgstr ""
+"Dans la boîte de dialogue \"Imprimer\", l'option \"Imprimer le contour du "
+"ballast\" peut être sélectionnée afin de pouvoir imprimer des modèles de "
+"ballast à l'échelle (1:1)."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:101
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:78
+msgid ""
+"Pressing the 'Esc' key cancels the current command and invokes the default "
+"command, (which is either Describe or Select)."
+msgstr ""
+"Appuyez sur la touche «ESC» pour annuler la commande en cours et activer "
+"automatiquement la commande par défaut (qui est soit Propriétés, soit "
+"Sélectionner)."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:103
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:80
+msgid ""
+"When moving or rotating tracks on slow machines or with a large number of tracks, you can improve performance by changing the way tracks are drawn while being moved.\n"
+"Shift-Right click will display a menu containing options to draw tracks normally, as simple lines or just draw end-points."
+msgstr ""
+"Sur les ordinateurs lents ou avec un nombre élevé de voies, la façon dont les voies sont redessinées peut être modifiée.\n"
+"Une fois les voies dessinées, le fait de maintenir la touche Maj enfoncée et de cliquer avec le bouton droit de la souris dans un menu d'options vous permet de choisir comment afficher les voies : normales, simples ou simplement comme points de fin."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:106
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:82
+msgid ""
+"The colors of different parts of the Main window can be changed with the "
+"Colors dialog. In particular, the Snap Grid color can be changed to make it"
+" more visible when printed."
+msgstr ""
+"Les couleurs des différents assemblages dans la fenêtre principale peuvent "
+"être modifiées via la boîte de dialogue \"Options|Couleurs\". En "
+"particulier, la couleur de la grille magnétique peut être modifiée pour la "
+"rendre plus visible lors de l'impression."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:108
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:84
+msgid ""
+"By default objects are drawn in their normal colors. Tracks will be drawn in Black. Objects can also be drawn in the color according to their Layer. The color of a Layer is displayed on the corresponding Layer button.\n"
+"The Display dialog 'Color Layers' item has separate toggles for Tracks and non-Tracks."
+msgstr ""
+"Habituellement, les objets sont dessinés dans leurs couleurs par défaut. Les voies sont affichées en noir. Les objets peuvent être affichés dans les couleurs de leurs calques respectifs. La couleur d'un calque est affichée sur son bouton de calque associé.\n"
+"L'option \"Couleurs des calques\" dans la boîte de dialogue \"Options>Affichage\" dispose d'une option distincte pour les voies et l'autre pour l'activation des couleurs."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:111
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:86
+msgid ""
+"Each Layer can be drawn or hidden by the 'Visible' toggle on the Layers "
+"dialog."
+msgstr ""
+"Chaque calque peut être affiché ou masqué par la bascule 'Visible' dans la "
+"boîte de dialogue Gérer|Calques."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:112
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:88
+msgid ""
+"Short cut Layer buttons can also be displayed on the tool bar for up to the first 20 layers.\n"
+"This buttons allow to Show or Hide the layers."
+msgstr ""
+"Des boutons de calque raccourcis peuvent également être affichés dans la barre d'outils pour les 20 premiers calques au maximum.\n"
+"Ces boutons permettent d'afficher ou de masquer les calques."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:115
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:90
+msgid "The name of the Layer is the Balloon Help for the Layer button."
+msgstr ""
+"Le nom d'un calque est affiché dans la bulle de dialogue de chaque calque "
+"respectif."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:117
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:92
+msgid ""
+"The playback speed of the Demos can be changed by using Speed drop down list"
+" on the Demo window."
+msgstr ""
+"La vitesse de lecture des démos peut être modifiée par l'onglet de sélection"
+" dans le coin supérieur droit de la fenêtre de démonstration."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:119
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:94
+msgid ""
+"Many of the commands and dialogs can be invoked by special key combinations "
+"called Menu-Accelerators. These are listed on the Menus next to the command"
+" name. For example, Control-P will invoke the Print command."
+msgstr ""
+"De nombreuses commandes et dialogues peuvent être appelés à l'aide de "
+"combinaisons de touches spéciales appelées Accélérateurs de menu. Celles-ci "
+"sont répertoriées dans les menus en regard du nom de la commande. Par "
+"exemple, Ctrl+P appellera la commande Imprimer."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:121
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:96
+msgid ""
+"The Connect command is used to join Sectional track pieces that don't quite fit together.\n"
+"This command works by adding small gaps between other tracks to move the selected End-Points closer together."
+msgstr ""
+"La commande 'Connecter deux voies' est utilisée pour joindre des morceaux de section de voie qui ne s'emboîtent pas tout à fait ensemble.\n"
+"Cette commande fonctionne en ajoutant de petits espaces entre les autres voies pour que les points de fin puissent être connectés l'un à l'autre."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:124
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:98
+msgid ""
+"To copy a group of objects: Select the objects, press Control-c (or select Copy from the Edit menu), press Control-v (or select Paste from the Edit menu).\n"
+"The selected tracks will be copied to the layout and you can Move or Rotate them into position."
+msgstr ""
+"Pour copier un groupe d'objets : Sélectionnez les en appuyant sur Control-c (ou sélectionnez Copier dans le menu Edition), suivi de Control-v (ou sélectionnez Coller dans le menu Edition).\n"
+"Les voies sélectionnées seront copiées sur le plan et vous pourrez les déplacer ou les faire pivoter."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:127
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:100
+msgid ""
+"In the Rotate (or Select) commands you can press Shift-Right-Click to "
+"display the Rotate menu which allows you to rotate the selected objects by a"
+" specific angle."
+msgstr ""
+"Dans les commandes Rotation (ou Sélection), vous pouvez appuyer sur Maj"
+"+Clic-droit pour afficher le menu Rotation qui vous permet de faire pivoter "
+"les objets sélectionnés d'un angle spécifique."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:129
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:102
+msgid ""
+"You can use the Move-To-Join option of the Join command (hold down the Shift"
+" key) to move a group of Selected tracks to attach with some unselected End-"
+"Point."
+msgstr ""
+"La commande \"Connecter deux voies\" du menu \"Modifier\" a une option pour "
+"pouvoir connecter un groupe de voies sélectionnées à un point de fin non "
+"spécifié précédemment. Marquez d'abord les voies à connecter, puis "
+"sélectionnez la boîte de dialogue \"Modifier|Connecter deux voies\", "
+"maintenez la touche (Maj) enfoncée tout en maintenant le bouton gauche de la"
+" souris enfoncé et déplacez le groupe de voies marqué vers le point cible en"
+" appuyant à nouveau sur le bouton gauche de la souris, les voies "
+"sélectionnées sont ajoutées au point de fin."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:131
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:104
+msgid ""
+"The Price List dialog (on the File Menu) is used to specify the prices of each type of Turnout, Sectional Track and Structure. Also, the length and price of flex-track pieces can be specified for each scale.\n"
+"This values will be used on the Parts List report to generate total cost of the selected objects."
+msgstr ""
+"La boîte de dialogue (Gérer|Liste de prix) peut être utilisée pour saisir les prix de chaque voie, aiguillage ou autre élément. Vous pouvez également saisir la longueur et le prix des voies Flex pour n'importe quelle échelle.\n"
+"Les prix indiqués sont utilisés pour lister les coûts totaux dans la boîte de dialogue \"Gérer|Liste des pièces\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:134
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:106
+msgid ""
+"Areas of water can represented by a Polygon (use the Draw command) of the appropiate color.\n"
+"By using the Modify command, you can move, add or remove corners of the Polygon to fit the shape of the water.\n"
+"You use the Below command to place the Polygon below (or behind) other objects.\n"
+"\n"
+"You can also use a Polygon to represent aisles."
+msgstr ""
+"Les zones d'eau peuvent être représentées par un polygone (utilisez la commande Dessiner) de la couleur appropriée.\n"
+"En utilisant la commande Modifier, vous pouvez déplacer, ajouter ou supprimer des angles du polygone pour l’ajuster à la forme de l’eau.\n"
+"Vous utilisez la commande Au-dessous pour placer le polygone au-dessous (ou derrière) d'autres objets.\n"
+"\n"
+"Vous pouvez également utiliser un polygone pour représenter des allées."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:140
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:108
+msgid ""
+"When you create Benchwork you can move it below other objects by Selecting the Benchwork and use the Below command.\n"
+"Also, put Benchwork in a separate Layer so you can hide it if desired."
+msgstr ""
+"Lorsque vous créez une structure, vous pouvez la déplacer sous d'autres objets en sélectionnant la structure et en utilisant la commande \"Au-dessous\" du menu \"Edition\".\n"
+"Placez également la structure dans un calque séparé afin de pouvoir la masquer si vous le souhaitez."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:143
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:110
+msgid ""
+"You can enter Distances and Lengths using any format regardless of the "
+"Length Format on the Preferences dialog."
+msgstr ""
+"Les longueurs peuvent être saisies indépendamment des valeurs prédéfinies "
+"dans la boîte de dialogue \"Options|Paramètres\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:144
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:112
+msgid ""
+"You can enter Metric values when English is the default Units and vice "
+"versa."
+msgstr ""
+"Les valeurs métriques peuvent être saisies même si le paramètre pour les "
+"unités anglaises est sélectionné et vice versa."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:146
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:114
+msgid ""
+"When entering Distances and Lengths you can press the '=' key to redisplay "
+"the value in the default format."
+msgstr ""
+"Lorsque vous entrez des distances et des longueurs, vous pouvez utiliser le "
+"caractère '=' pour afficher de nouveau la valeur au format par défaut."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:147
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:116
+msgid ""
+"You can also press the 's' key to convert a Prototype measurement to a Scale"
+" measurement by dividing by the ratio for the current scale."
+msgstr ""
+"Vous pouvez également appuyer sur la touche «s» pour convertir une mesure de"
+" prototype en une mesure d'échelle en divisant par le rapport de l'échelle "
+"actuelle."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:148
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:118
+msgid ""
+"The 'p' key will convert a Scale measurement to a Prototype measurement."
+msgstr ""
+"La touche «p» convertira une mesure d'échelle en une mesure de prototype."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:150
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:120
+msgid ""
+"You can place cars on the layout using the Train Simulation command to check"
+" clearance points, track to track separation and coupling."
+msgstr ""
+"Les véhicules peuvent être placées dans le plan de voie à l'aide de la "
+"commande Train Simulation afin de simuler les passages à niveau, les "
+"liaisons voie à voie ou le couplage."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:152
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:122
+msgid ""
+"Use the MoveTo button on the Custom Management dialog to move your custom "
+"Turnout, Structure and Car definitions to a .XTP parameter file."
+msgstr ""
+"Utilisez le bouton \"Déplacer vers\" dans le menu \"Gérer|Eléments définis "
+"sur mesure\" pour déplacer vos définitions d'aiguillage personnalisées, de "
+"bâtiments ou de définitions de véhicule vers un fichier de paramètres .XTP."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:154
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:124
+msgid ""
+"If you are printing multiple pages on a continuous feed printer (such a Dot "
+"Matrix) you can change the Page Order if necessary to print pages out in "
+"proper order."
+msgstr ""
+"Si vous utilisez une imprimante avec du papier listing (matricielle), vous "
+"pouvez modifier l'ordre des pages pour les imprimer dans le bon ordre."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:156
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:126
+msgid ""
+"On the Car Item and Car Part dialogs, you can enter custom values for "
+"Manufacturer, Part and Road by typing the new value directly into the Drop "
+"Down List."
+msgstr ""
+"Dans les boîtes de dialogue Elément et Pièce de véhicule, vous pouvez entrer"
+" des valeurs personnalisées propres au fabricant, numéro d'article et chemin"
+" en tapant la nouvelle valeur directement dans la liste déroulante."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:158
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:128
+msgid ""
+"On the Car Item dialog, you can change the Road, Number, Color and other values for a Car. This is useful if you repaint or renumber a car. \n"
+"You can also change the Coupler Mounting and Coupler Length if you change the couplers."
+msgstr ""
+"Dans la boîte de dialogue \"Gérer|Inventaire du véhicule\", vous pouvez modifier les valeurs Compagnie ferroviaire, Nombres, Couleur et autres d'un véhicule. C'est utile si vous repeignez ou renumérotez une voiture.\n"
+"Vous pouvez également modifier le montage et la longueur de l'attelage si vous changez les attelages."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:161
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:130
+msgid ""
+"You can Export your Car Inventory to a file in Comma-Separated-Value format "
+"which can be read by most spread-sheet programs."
+msgstr ""
+"Votre inventaire de véhicules peut être exporté dans un fichier texte, "
+"séparé par des virgules, qui peut être lu par tous les tableurs courants."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:163
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:132
+msgid "Use the Train Odometer to measure distances along the track."
+msgstr ""
+"Utilisez le compteur de la commande du train pour mesurer les distances de "
+"la voie."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:165
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:134
+msgid ""
+"Holding down the Shift key when clicking the Zoom In or Zoom Out button will zoom to a programmed Drawing Scale. \n"
+"Holding down the Shift and Control keys when clicking a Zoom button will set it's program Zoom to the current Drawing Scale."
+msgstr ""
+"Si vous cliquez sur les boutons en forme de loupe alors que vous appuyez sur la touche Maj, le programme revient à une échelle prédéterminée.\n"
+"En maintenant simultanément les touches Ctrl+Maj enfoncées, vous pouvez définir le grossissement ou la réduction en cliquant sur les boutons de la loupe correspondants."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:168
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:136
+msgid ""
+"You can trim the ends of turnouts by holding down the Shift key when using "
+"the Split command."
+msgstr ""
+"Vous pouvez couper les extrémités des aiguillages en maintenant la touche "
+"Maj enfoncée lorsque vous utilisez la commande \"Segmentation de voie\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:170
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:138
+msgid ""
+"The Split command can be used to create Block Gaps at end points between two tracks. \n"
+"Either rail or both rails can be gapped, which are drawn as thick lines."
+msgstr ""
+"La commande \"Modifier|Segmentation de voie\" peut être utilisée pour insérer des intervalles de bloc entre les extrémités de deux voies.\n"
+"Les distances peuvent être insérées à l'une ou aux deux extrémités, elles sont tracées sous forme de lignes épaisses."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:173
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:140
+msgid ""
+"Trains will 'crash' if they hit another car when travelling faster than the 'Max Coupling Speed' (on the Command Options dialog). \n"
+"They will also 'crash' if they hit the end of the track or an open turnout. \n"
+"Crashed trains must be manually moved back onto the track."
+msgstr ""
+"Les trains «déraillent» s'ils heurtent un autre véhicule lorsqu'ils roulent plus vite que la «Vitesse maximale de couplage» (dans la boîte de dialogue \"Options|Préférences\").\n"
+"Ils seront également «déraillés» s'ils atteignent une fin de la voie ou un aiguillage ouvert.\n"
+"Les trains déraillés doivent être remis sur la voie à la main."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:177
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:142
+msgid ""
+"You can add new track segments to a turnout definition or create a "
+"definition from individual tracks using the Group command."
+msgstr ""
+"Vous pouvez ajouter de nouveaux segments de voie à une définition "
+"d'aiguillage ou pour créer une nouvelle définition dans laquelle des voies "
+"individuelles sont combinées."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:179
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:144
+msgid ""
+"The center point and radius of Curved and Circle tracks can optionally be drawn. \n"
+"This feature is toggled by using the Move Label command and doing a Shift-Left-Click on the track."
+msgstr ""
+"Le centre des courbes ou des cercles peut également être affiché.\n"
+"Cette option peut être activée/désactivée en maintenant la touche Maj enfoncée tout en cliquant avec le bouton gauche de la souris."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:182
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:146
+msgid ""
+"Turnout, Curved and Helix track labels can be individually turned on and off"
+" by doing a Shift-Right-Click on the track when using the Move Label "
+"command."
+msgstr ""
+"Les étiquettes d'aiguillage, de courbe et d'hélicoïde peuvent être activées "
+"et désactivées individuellement en faisant un Maj-clic droit sur la voie "
+"lors de l'utilisation de la commande \"Modifier|Déplacer la description\" ."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:184
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:148
+msgid ""
+"You can use the Describe command to change the font size of Text objects."
+msgstr ""
+"La commande \"Modifier|Propriétés\" permet de modifier la taille de police "
+"des objets texte."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:186
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:150
+msgid ""
+"You can use the Describe command to change the size of Dimension Line "
+"labels."
+msgstr ""
+"La commande \"Modifier|Propriétés\" permet de modifier la taille des "
+"descriptions de ligne de cote."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:188
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:152
+msgid ""
+"Normally Right-Click displays a popup menu of commands and Shift-Right-Click displays options for the current command. \n"
+"This can reversed by using the Right Click toggle button on the Command Options dialog."
+msgstr ""
+"Normalement, le clic droit affiche un menu contextuel de commandes et Maj-clic droit affiche les options de la commande en cours.\n"
+"Ce comportement peut être inversé via la boîte de dialogue des options de commande."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:191
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:154
+msgid ""
+"The Align item on the Rotate command options menu will let you Align selected objects with any unselected object. \n"
+"The selected objects are rotated so the first point is parallel to the second point you selected."
+msgstr ""
+"L'élément Aligner du menu d'options de la commande Rotation vous permet d'aligner les objets sélectionnés avec n'importe quel objet non sélectionné.\n"
+"Les objets sélectionnés pivotent de sorte que le premier point soit parallèle au deuxième point sélectionné."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:194
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:156
+msgid ""
+"Print To Bitmap allows you to print the track center line. \n"
+"This is useful if you later print the bitmap full size as a template when laying track."
+msgstr ""
+"Imprimer en bitmap vous permet d'imprimer la ligne centrale de la voie.\n"
+"C'est utile si vous imprimez ultérieurement le bitmap en taille réelle comme modèle pour poser la voie."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:197
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:158
+msgid ""
+"You can export the selected tracks to a DXF file which can be read by most "
+"CAD programs."
+msgstr ""
+"Vous pouvez exporter les voies sélectionnées dans un fichier DXF qui peut "
+"être lu par la plupart des programmes de CAO."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:199
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:160
+msgid ""
+"Lengths and distances can be displayed in a variety of units and formats "
+"such as 1' 10 3/4\", 1ft 10.75in or 22.750. In Metric mode, distances can "
+"be displayed as millimeters, centimeters or meters. See the Length Format "
+"item on the Preferences dialog."
+msgstr ""
+"Les longueurs et les distances peuvent être affichées dans une variété "
+"d'unités et de formats, tels que 1' 10 3/4\", 1ft 10.75in ou 22.750. Lorsque"
+" les unités métriques sont sélectionnées, les distances et les longueurs "
+"sont affichées en millimètres, centimètres ou mètres avec la sélection "
+"\"Unités\" dans la boîte de dialogue \"Options|Préférences\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:201
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:162
+msgid ""
+"Tracks that are too steep or curve too tightly are drawn in the Exception color (Yellow by default). \n"
+"This helps to identify potential problem areas. \n"
+"The maximum grade and minimum radius are set on the Preferences dialog."
+msgstr ""
+"Les voies trop raides ou trop serrées sont dessinées dans la couleur d'exception (Violet par défaut).\n"
+"Cela aide à trouver les zones à problèmes.\n"
+"La pente maximale et le rayon minimum sont définis dans la boîte de dialogue Propriétés."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:205
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:164
+msgid ""
+"The Flip command produces a mirror-image of the selected tracks. \n"
+"If possible, right-hand turnouts are relabeled as left-hand turnouts (and vice versa)."
+msgstr ""
+"La commande \"Miroir\" du menu \"Modifier\" reflète les voies sélectionnées.\n"
+"Si possible, les aiguillages à droite sont renommés aiguillages à gauche (et vice versa)."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:208
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:166
+msgid ""
+"Then Ungroup command will break turnouts and structures into individual track, line and shape segments. \n"
+"You can modify each segment and add new ones. \n"
+"Then use the Group command to update the definition."
+msgstr ""
+"La commande \"Gérer|Dissocier\" sépare les commutateurs et/ou les structures en segments individuels de voie, de ligne et de forme.\n"
+"Vous pouvez maintenant modifier chaque segment pour en ajouter de nouveaux, etc.\n"
+"Utilisez ensuite la commande \"Gérer|Grouper\" pour mettre à jour votre nouvelle définition en tant que groupe."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:212
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:168
+msgid "Dimension lines show the distance between two points."
+msgstr "Les cotes de voies indiquent la distance entre deux points."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:214
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:170
+msgid ""
+"A variety of Benchwork (rectangular, L-girder and T-girder) can be drawn. \n"
+"Use the Below command to move the Benchwork below the track for proper display."
+msgstr ""
+"Une variété de sous-bâtiments (rectangulaires, formes en L ou en T) peuvent être dessinées.\n"
+"Utilisez la commande \"Au dessous\" du menu \"Editer\" pour déplacer les sous-bâtiments sous les \n"
+"voies pour un affichage correct."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:217
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:172
+msgid ""
+"The Turnout Designer dialogs allow you to specify the width of any attached roadbed. \n"
+"As well, the color and thickness of the lines used to represent the roadbed can be specified."
+msgstr ""
+"Les boîtes de dialogue \"Gérer|Conception d'aiguillage\" vous permettent de spécifier la largeur de n'importe quel ballast associé.\n"
+"De plus, la couleur et l'épaisseur des lignes utilisées pour représenter le ballast peuvent être précisées."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:220
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:174
+msgid ""
+"The Color dialog (on the Options menu) is used to change the color of different objects on the display. \n"
+"You can change the color of the Snap Grid and Borders, as well as Normal, Selected and Exception tracks."
+msgstr ""
+"La boîte de dialogue (Options|Couleurs) permet de définir les couleurs des différents objets.\n"
+"Vous pouvez modifier la couleur de la Grille magnétique, des Bordures ainsi que des Voies normale, sélectionnées ou non conformes."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:223
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:176
+msgid ""
+"You can set the elevation (height) of track end-points. \n"
+"Elevations of intermediate end points can be computed automatically based on the distance to the nearest end points with defined elevations. \n"
+"Grades can also be displayed at selected end points. \n"
+"Please see the Elevations help and demo."
+msgstr ""
+"Vous pouvez définir l'élévation (hauteur) des extrémités de la voie.\n"
+"Les élévations des extrémités intermédiaires peuvent être calculées automatiquement en fonction de la distance aux extrémités les plus proches avec des élévations définies.\n"
+"Les gradients peuvent également être affichées aux points de fin sélectionnés.\n"
+"Veuillez consulter l'aide et la démonstration pour les Elévations."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:228
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:178
+msgid ""
+"Once you have elevations on some endpoints, you can use the Profile command to produce an elevation graph. \n"
+"The graph shows the selected elevations, grades and distances. \n"
+"Please see the Profile help and demo for details."
+msgstr ""
+"Une fois que vous avez des élévations sur certains points de fin, vous pouvez utiliser la commande Profil pour produire un graphique d'élévation.\n"
+"Le graphique montre les élévations, les pentes et les distances sélectionnées.\n"
+"Veuillez consulter l'aide et la démo du profil pour plus de détails."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:232
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:180
+msgid ""
+"You can draw tracks with wider lines for rails. \n"
+"Select the tracks and use Medium or Thick Tracks on the Edit menu."
+msgstr ""
+"Les rails peuvent être dessinés avec des lignes plus larges pour les voies.\n"
+"Pour ce faire, sélectionnez 'Voies moyennes' ou 'Voies épaisses' dans le menu \"Editer\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:235
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:182
+msgid ""
+"The Helix command is used to create a Helix track. \n"
+"You specify some parameters: height, radius, number of turns, grade and vertical separation between layers. \n"
+"These values are interrelated so changing one value will affect ohers. \n"
+"Then you can place the Helix and join to other tracks as you would a Circle track."
+msgstr ""
+"La commande Hélicoïde est utilisée pour créer une voie Hélicoïdale.\n"
+"Vous spécifiez certains paramètres : hauteur, rayon, nombre de tours, pente et séparation verticale entre les couches.\n"
+"Ces valeurs étant interdépendantes, la modification d'une valeur affectera d'autres.\n"
+"Ensuite, vous pouvez placer l'Hélicoïde et la joindre à d'autres voies comme vous le feriez pour une voie circulaire."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:240
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:184
+msgid ""
+"Many objects on the layout have labels: Turnouts/Helix/Curved Titles, Track Lenghts, End-Point Elevations, Track Elevations and Cars. \n"
+"You can turn these labels on or off with the Label Enable toggle buttons on the Display options dialog."
+msgstr ""
+"De nombreux objets du plan ont des étiquettes : Titres d'Aiguillages/Hélicoïdes/Courbes, Longueurs de voie, Elévations des bouts de voies, Elévations de voie et Matériels roulants.\n"
+"Vous pouvez activer ou désactiver ces étiquettes à l'aide des cases à cocher \"Etiquettes activées\" de la boîte de dialogue \"Options d'affichage\"."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:243
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:186
+msgid ""
+"If you hold down the Control key when using the Rotate command, the rotation"
+" will be done in increments of 15ᅵ."
+msgstr ""
+"Si vous maintenez la touche Ctrl enfoncée lorsque vous utilisez la commande "
+"Rotation, la rotation diminue par incréments de 15°."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:245
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:188
+msgid ""
+"When using the Rotate command, Shift-Right-Click displays a menu allowing "
+"you to rotate by specific amounts or to align the selected objects with "
+"another object."
+msgstr ""
+"Lorsque vous utilisez la commande <Rotation>, l'angle de rotation de l'objet"
+" peut être sélectionné dans un menu en maintenant la touche Maj enfoncée, ou"
+" l'objet peut être aligné avec un autre objet."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/help/xtrkcad.tip:247
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:190
+msgid ""
+"This is last tip. If you have any additions or comments, please let us "
+"know."
+msgstr ""
+"C'est le dernier conseil. Si vous avez des ajouts ou des commentaires, "
+"veuillez nous en faire part."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:25
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:192
+msgid ""
+"The unconnected endpoints of a straight or curved track can be changed with "
+"the 'Modify Track' command.\n"
+msgstr ""
+"Les points de fin non connectés d'une voie droite ou courbe peuvent être "
+"modifiés avec la commande «Modifier la voie».\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:31
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:194
+msgid ""
+"The endpoint of a straight track is selected and then Left-Dragged to change"
+" its length. A blue anchor shows that the length can be extended.\n"
+msgstr ""
+"Le point de fin d'une voie droite est sélectionné, puis déplacé vers la gauche pour modifier sa longueur. Une ancre bleue montre que la longueur peut être allongée.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:48
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:196
+msgid ""
+"If you try to drag the selected endpoint beyond the far endpoint, the track "
+"extends in the opposite direction.\n"
+msgstr ""
+"Si le point d'extrémité sélectionné est déplacé au-delà du point d'extrémité"
+" distant, la voie sera prolongée dans la direction opposée.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:68
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:73
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:199
+msgid ""
+"A curved track is selected and it's new endpoint is determined by the angle "
+"to the cursor. \n"
+msgstr ""
+"Une voie courbe est sélectionnée et sa nouvelle extrémité est définie par l'angle obtenu avec le curseur.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:105
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:201
+msgid "It's possible to almost create a complete circle.\n"
+msgstr "Il est presque possible de créer un cercle complet.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:202
+msgid ""
+"If you drag the mouse beyond the start of the curve the track becomes very "
+"short.\n"
+msgstr ""
+"Si vous déplacez la souris au-delà du point de départ de l'arc, le tracé "
+"devient très court.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:113
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:204
+msgid "Here you are warned that the track will be too short.\n"
+msgstr "Ici, vous êtes averti que la voie sera trop courte.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:147
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:206
+msgid ""
+"If you move the cursor away from the curve, you will create a straight track"
+" tangent to the curve.\n"
+msgstr ""
+"Lorsque vous éloignez le curseur de l'arc, vous créez une voie droite "
+"tangente à l'arc.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:169
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:174
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:209
+msgid ""
+"If you adjust the endpoint of a turnout or sectional track the track is "
+"extended by a similar track segment. The extension can be \n"
+msgstr ""
+"Si vous ajustez l'extrémité d'un aiguillage ou d'un élément de voie, celle-ci est prolongée par un segment droit. L'extension est possible\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:210
+msgid "a straight or a curve.\n"
+msgstr ""
+"une droite ou une courbe.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:190
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:195
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:213
+msgid ""
+"You can change the radius of a straight or curved track that is connected at"
+" one endpoint by holding down the Shift key while Left-dragging on it.\n"
+msgstr ""
+"Vous pouvez modifier le rayon d'une voie droite ou courbe connectée à un point de fin en maintenant la touche Maj enfoncée tout en la faisant glisser vers la gauche..\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:214
+msgid ""
+"The blue cross anchor shows that this is possible when shift is held down "
+"with no buttons.\n"
+msgstr ""
+"L'ancre de la croix bleue montre que c'est possible lorsque shift est maintenu enfoncé sans boutons.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:209
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:216
+msgid ""
+"This lets you change a straight track into a curved track (and vice versa) "
+"as well as changing the radius of a curved track.\n"
+msgstr ""
+"Cela vous permet de changer une voie droite en voie courbe (et vice versa) "
+"ainsi que de changer le rayon d'une voie courbe.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:252
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:218
+msgid ""
+"You can form an extension of a straight or curved Track that is connected at"
+" one endpoint using an easement by holding down the Ctrl key while Left-"
+"dragging on it.\n"
+msgstr ""
+"Vous pouvez créer une extension à une voie droite ou courbe connectée à un point de fin à l'aide d'une voie de transition en maintenant la touche Ctrl enfoncée tout en faisant un glisser-gauche.\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:219
+msgid ""
+"The blue half cross anchor shows that this is possible when the Ctrl key is "
+"held down with no mouse button.\n"
+msgstr ""
+"L'ancre bleue en forme de demi-croix montre que c'est possible lorsque la touche Ctrl est maintenue enfoncée sans aucun bouton de la souris.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmadjend.xtr:267
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmbench.xtr:9
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:222
+msgid "You can draw a variety of different types of benchwork:\n"
+msgstr "Vous pouvez dessiner différentes formes de chassis :\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:223
+msgid "- rectangular (1x2, 2x4 etc)\n"
+msgstr "- rectangulaire (1x2, 2x4 etc.)\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:224
+msgid "- L girders\n"
+msgstr "- L Supports\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:225
+msgid "- T girders\n"
+msgstr "- T Supports\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:226
+msgid "You can also draw them in different orientations.\n"
+msgstr "Vous pouvez également les dessiner dans différentes orientations.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmbench.xtr:25
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:228
+msgid "We will draw two 3x6 inch L-girders.\n"
+msgstr "Nous dessinons deux équerres de 3x6 pouces.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmbench.xtr:43
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:230
+msgid ""
+"The flange of the top L-Girders is on the outside edge of the girders. We "
+"want to change the girder so both flanges are on the inside.\n"
+msgstr ""
+"La bride des équerres supérieures se trouve sur le bord extérieur du "
+"support. Nous voulons changer le support afin que les deux brides soient à "
+"l'intérieur.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:231
+msgid "We will use the <Describe> command for this.\n"
+msgstr "Pour cela nous utiliserons la commande <Propriétés>.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmbench.xtr:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:233
+msgid "Change the Orientation to Right.\n"
+msgstr "Changer l'orientation à droite.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmbench.xtr:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:235
+msgid "Now both flanges are on the inside of the two girders.\n"
+msgstr "Maintenant, les deux rebords sont à l'intérieur des deux longerons.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:34
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:237
+msgid ""
+"Pushing the <Describe> button will cancel any other command in progress.\n"
+msgstr ""
+"Appuyez sur le bouton <Propriétés> pour annuler toute autre commande en "
+"cours.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:238
+msgid ""
+"Here we will begin to create a curved track which is a two step process.\n"
+msgstr ""
+"Dans un processus en deux étapes, nous allons commencer à créer une voie "
+"courbe.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:47
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:240
+msgid ""
+"When we clicked on the <Describe> button, the current command was "
+"cancelled.\n"
+msgstr ""
+"La commande démarrée a été annulée en appuyant sur le bouton <Decrire>.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:241
+msgid ""
+"When in <Describe> mode, selecting any object will print a description in "
+"the Status Bar and display a dialog showing properties of the clicked-on "
+"object.\n"
+msgstr ""
+"En mode <Proprietes>, la sélection d'un objet mettra une description dans la"
+" barre d'état et affichera une boîte de dialogue affichant les propriétés de"
+" l'objet cliqué.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:57
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:243
+msgid ""
+"Certain parameters of the object can be changed. In this case we'll change "
+"the length\n"
+msgstr ""
+"Certains paramètres de l'objet peuvent être modifiés. Dans ce cas, nous allons changer la longueur\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:65
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:245
+msgid "Let's look at the Turnout...\n"
+msgstr "Regardons l'aiguillage ...\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:73
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:247
+msgid "and change the turnout name and part no.\n"
+msgstr ""
+"et changez le nom d'aiguillage et son numéro.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:84
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:249
+msgid "You can change the contents of text...\n"
+msgstr ""
+"Vous pouvez modifier le contenu du texte …\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:93
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:251
+msgid "and its size.\n"
+msgstr "et sa taille.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:100
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:253
+msgid ""
+"If you select a note, the Description dialog appears which displays the "
+"contents of the note.\n"
+msgstr ""
+"Lorsque vous sélectionnez une note, une boîte de dialogue apparaît et affiche le contenu de la note.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcancel.xtr:112
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcircle.xtr:7
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:256
+msgid ""
+"Like the <Curve> track command, there are several ways to create a Circle "
+"track.\n"
+msgstr ""
+"Comme pour la commande de voie <Curve>, il existe plusieurs façons de créer "
+"une voie circulaire.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:257
+msgid ""
+"The first is to specify a fixed radius and simply drag the Circle into "
+"position.\n"
+msgstr ""
+"La première possibilité consiste à définir un rayon fixe et à faire glisser "
+"vers la position souhaitée.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:258
+msgid "We will change the Radius before proceeding.\n"
+msgstr "Nous allons changer le rayon avant de continuer.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcircle.xtr:24
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:260
+msgid "The next method is to drag from the edge of the Circle to the center.\n"
+msgstr ""
+"La méthode suivante consiste à faire glisser le bord du cercle vers le "
+"centre.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcircle.xtr:37
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:262
+msgid ""
+"The last is similar, but you drag from the center of the Circle to the "
+"edge.\n"
+msgstr ""
+"La dernière méthode, comparable, consiste à dessiner du centre vers le "
+"cercle.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcircle.xtr:50
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:157
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:265
+msgid ""
+"We have built a siding using Sectional track and have 2 End-Points that "
+"don't line up and are not connected automatically when placing the sectional"
+" track.\n"
+msgstr ""
+"Nous avons construit une voie de service en utilisant une section de voie et"
+" avons 2 points d'extrémité qui ne s'alignent pas et ne sont pas connectés "
+"automatiquement lors du placement de la section de voie.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:162
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:267
+msgid ""
+"We use the <Connect> command to adjust neighboring tracks so the gap is "
+"closed.\n"
+msgstr ""
+"Nous utilisons la commande<Connect>pour aligner les voies voisines afin que "
+"l'écart soit fermé.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:268
+msgid ""
+"Note: the adjustments are only done on tracks which have only 1 or 2 "
+"connections. In this example the Turnouts would not be affected.\n"
+msgstr ""
+"Remarque : les réglages ne sont effectués que sur les voies ne comportant "
+"que 1 ou 2 connexions. Dans cet exemple, l'aiguillage ne serait pas "
+"affecté.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:175
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:270
+msgid "And now the gap is closed.\n"
+msgstr "Et maintenant, l'écart est comblé.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:181
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:272
+msgid "Other tracks have been shifted slightly to close the gap.\n"
+msgstr "D'autres voies ont été légèrement décalées pour combler l'écart.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:188
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:274
+msgid "You can see these slight mis-alignments.\n"
+msgstr "Vous pouvez voir les petits décalages.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:275
+msgid "But they will have no effect when the layout is actually built.\n"
+msgstr ""
+"Mais ils n'auront aucun effet lorsque le plan sera effectivement "
+"construit.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:196
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:353
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:278
+msgid ""
+"After working with Sectional track you might get to point where these mis-"
+"alignments have accumulated and you wish to remove them.\n"
+msgstr ""
+"Après avoir travaillé avec Sectional Track, les défauts se sont accumulés au"
+" point d’alignement et vous pourriez souhaiter les supprimer.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:279
+msgid ""
+"You can remove these slight mis-alignments by tightening the tracks starting"
+" from a unconnected End-Point. Use Shift-Left-Click with the <Connect> "
+"command.\n"
+msgstr ""
+"Vous pouvez supprimer ces petits décalages en rapprochant les rails. "
+"Commencez à un point de fin non connecté en appuyant sur la touche Maj tout "
+"en appuyant sur le bouton<Connect>.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:280
+msgid "First use the <Split> command to disconnect the tracks.\n"
+msgstr "Commencez par utiliser la commande<Split> pour déconnecter les voies.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:363
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:282
+msgid "Then with the <Connect> command, Shift-Left-Click on the 2 End-Points.\n"
+msgstr ""
+"Puis avec la commande<Connect>, Maj-Clic-Gauche sur les 2 Points de fin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn1.xtr:378
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn2.xtr:199
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:285
+msgid "In example shows a simple figure-8 layout using Sectional track.\n"
+msgstr ""
+"L'exemple montre le plan d'une simple figure-8 utilisant une section de "
+"voie.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:286
+msgid ""
+"You will notice that the tracks do not line up exactly in one location.\n"
+msgstr ""
+"Comme vous pouvez le voir, les voies ne sont pas exactement alignées au même"
+" point.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn2.xtr:211
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:288
+msgid ""
+"We can use the <Connect> command to move the connecting tracks slightly and "
+"connect the 2 End-Points.\n"
+msgstr ""
+"Avec la commande<Connect>, nous pouvons facilement déplacer les voies à "
+"connecter et connecter les 2 points de fin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn2.xtr:224
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:290
+msgid "The two End-Points are now aligned and connected.\n"
+msgstr "Les deux points d'extrémité sont maintenant alignés et connectés.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn2.xtr:231
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:292
+msgid "The connection was made by adding small gaps in other tracks.\n"
+msgstr ""
+"La connexion a été établie en ajoutant de petits espaces dans d'autres "
+"voies.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmconn2.xtr:238
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:7
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:295
+msgid "There are several ways to create a Curved track.\n"
+msgstr "Il existe plusieurs façons de créer une voie courbe.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:296
+msgid ""
+"You can choose which to use by clicking on the small button to the left of "
+"<Curve> command button if the current Curve command is not the one you "
+"want.\n"
+msgstr ""
+"Vous pouvez faire votre choix en cliquant sur le petit bouton à gauche du "
+"bouton de commande<Curve>, si la Courbe actuelle n'est pas celle que vous "
+"souhaitez.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:297
+msgid ""
+"The first is by clicking on the first End-Point and dragging in the "
+"direction of the Curve.\n"
+msgstr ""
+"La première possibilité consiste à sélectionner le premier point de fin et à"
+" le faire glisser en direction de la courbe.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:20
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:299
+msgid ""
+"You will see a straight track with a double ended Red arrow at the end.\n"
+msgstr ""
+"Vous verrez une voie droite avec une flèche rouge avec deux pointes à la "
+"fin.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:300
+msgid "Click and drag on one of the Red arrows to complete the Curve.\n"
+msgstr ""
+"Cliquez et faites glisser une des flèches rouges pour compléter la courbe.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:39
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:302
+msgid ""
+"The next method is to click at one End-Point and drag to the center of the "
+"Curve.\n"
+msgstr ""
+"La méthode suivante consiste à cliquer sur un point de fin et à faire "
+"glisser vers le centre de la courbe.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:50
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:304
+msgid ""
+"Now you will see the double ended Red arrow connected to the center of the "
+"Curve marked by a small circle.\n"
+msgstr ""
+"Comme précédemment, vous verrez la double flèche rouge avec deux points "
+"reliés au centre de la courbe. Elle est marquée avec un petit cercle.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:305
+msgid "As before, drag on one of the Red arrows to complete the Curve.\n"
+msgstr ""
+"Comme auparavant, faites glisser l'une des flèches rouges pour terminer la "
+"courbe.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:307
+msgid ""
+"The next method is similar to the last except that you drag first from the "
+"center of the Curve to one End-Point.\n"
+msgstr ""
+"La méthode suivante est similaire à la précédente, mais commencez par "
+"glisser du point milieu vers un point de fin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:80
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:309
+msgid "Once again, drag on a Red arrow to complete the Curve.\n"
+msgstr "Encore une fois, tirez sur une flèche rouge pour terminer la courbe.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:90
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:311
+msgid ""
+"The last method begins by drawing a line between the two End-Points of the "
+"Curve. This forms the Chord of the Curve.\n"
+msgstr ""
+"Pour la dernière méthode, commencez par tracer une ligne entre les deux "
+"extrémités. Cela forme la corde de la courbe.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:108
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:313
+msgid "Now drag on a Red arrow to complete the Curve.\n"
+msgstr "Maintenant, faites glisser la flèche rouge pour compléter la courbe.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmcrvtrk.xtr:118
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:112
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:316
+msgid "This demo will construct a control panel for part of a bigger layout.\n"
+msgstr ""
+"Cette démo crée un panneau de contrôle pour une partie d'une installation "
+"plus grande.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:117
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:318
+msgid "For our control panel we will use Œ\" lines. \n"
+msgstr ""
+"Pour notre panneau de contrôle, nous utiliserons des lignes de 1/2\"de "
+"large.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:319
+msgid "Also, we will use a 1/8\" grid to lay out our controls.\n"
+msgstr ""
+"De plus, nous utiliserons une grille de 1/8\" pour disposer nos contrôles.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:320
+msgid "First, we will set up the Snap Grid for 1\" grid lines and 8 divisions.\n"
+msgstr ""
+"Tout d’abord, nous allons configurer la grille magnétique pour des lignes de"
+" grille de 1\" et 8 divisions.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:132
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:322
+msgid "Now, clear the layout and turn on the Snap Grid.\n"
+msgstr ""
+"Maintenant, nous supprimons le brouillon et activons la grille "
+"d'accrochage.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:147
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:324
+msgid "First step: draw the lines representing the tracks.\n"
+msgstr "Première étape : tracez les voies représentant les voies.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:325
+msgid "We specify the line width in pixels when at 1:1 zoom.\n"
+msgstr ""
+"Nous spécifions la largeur de la ligne en pixels lorsqu'il s'agit d'un zoom 1:1.\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:326
+msgid ""
+"To create a 1/4\" line, divide the dots-per-inch (DPI) of your display by "
+"4.\n"
+msgstr ""
+"Pour créer une ligne large de 1/4 pouce, la résolution de l'écran (DPI) est divisée par 4.\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:327
+msgid ""
+"For MS-Windows the DPI is usually 98, so choose: 98/4 = 24 "
+"(approximately).\n"
+msgstr ""
+"Pour MS-Windows, on a généralement 98ppp; choisissez donc: 98/4 = 24 "
+"(environ).\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:328
+msgid "For Linux, the DPI is usually 72, so choose: 72/4 = 18.\n"
+msgstr "Pour Linux, on a généralement de 72ppp, choisissez donc : 72/4 = 18.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:495
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:330
+msgid ""
+"Notice how the Snap Grid keeps the main line and siding track parallel and "
+"the connecting tracks and spur at a 45° angle.\n"
+msgstr ""
+"Remarquez comment la Grille magnétique maintient la ligne principale et la "
+"voie d'évitement parallèles, ainsi que les voies de connexion et la voie "
+"déviée à un angle de 45 °.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:503
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:332
+msgid "Second step: add LEDs for the turnout position indicators.\n"
+msgstr ""
+"Deuxième étape : ajouter des LED pour les indicateurs de position "
+"d'aiguillage.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:333
+msgid "We will use T1 red and green LEDs.\n"
+msgstr "Nous allons utiliser des LED rouges et vertes T1.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:334
+msgid "We will zoom in to show positioning.\n"
+msgstr "Nous allons zoomer pour afficher le positionnement.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:513
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:336
+msgid ""
+"Notice that when we are in the correct position (on the 1/8\" grid), the "
+"Marker lines on the bottom and left rulers will high-light the tick marks. "
+"When both ticks are high-lighted, press the space bar to finalize the LED.\n"
+msgstr ""
+"Notez que lorsqu'elles sont correctement positionnées (sur la grille 1/8\"),"
+" les lignes de repère situées en dessous et à gauche mettent en surbrillance"
+" les repères de sélection. Une fois les deux marquages mis en surbrillance, "
+"verrouillez le voyant LED en appuyant sur la barre d'espacement.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:558
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:338
+msgid "Now we'll add push buttons to control the turnouts.\n"
+msgstr ""
+"Maintenant, nous allons ajouter des boutons pour contrôler les "
+"aiguillages.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:595
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:340
+msgid "Let's add signals to our siding.\n"
+msgstr "Ajoutons des signaux à notre voie d’évitement.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:341
+msgid "The entrance to the siding will be protected by double headed signals.\n"
+msgstr "L'entrée de la voie de garage est protégée par un double signal\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:342
+msgid "We'll select a signal from the HotBar and place it into position.\n"
+msgstr "Nous sélectionnons un signal de la HotBar et le mettons en position.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:608
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:344
+msgid ""
+"We rotate the signals by Shift-Right-Click and select 90° CW on the popup "
+"menu. We can not show the popup menu in demo mode, but will simulate the "
+"effect.\n"
+msgstr ""
+"Nous faisons pivoter les signaux par un Maj-clic droit et sélectionnons 90° "
+"CW dans le menu contextuel. Nous ne pouvons pas afficher le menu contextuel "
+"en mode démo, mais simulerons l'effet.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:657
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:346
+msgid "The exits from the siding will be protected by single headed signals.\n"
+msgstr ""
+"Les sorties du parement seront protégées par des signaux à une seule tête.\n"
+"\n"
+"\n"
+"La sortie de la voie de garage est sécurisée par un simple signal.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:711
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:348
+msgid "Now for some touch-ups.\n"
+msgstr "Maintenant quelques améliorations mineures.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:349
+msgid "Notice when the line meet at an angle there is a gap.\n"
+msgstr "Remarquez que quand la ligne se croise à un angle, il y a un espace.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:350
+msgid "We will fill this gap with the Œ\" dot.\n"
+msgstr "Nous allons combler cette lacune avec un point de 1/2 pouce.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:351
+msgid ""
+"Note: Win95/Win98/WinME does not support drawing lines with flat end-caps, "
+"but only with round end-caps.\n"
+msgstr ""
+"Remarque : Win95 / Win98 / WinME ne prennent pas en charge les lignes de "
+"dessin avec des embouts plats, mais seulement avec des embouts arrondis.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:352
+msgid "Users on those platforms will not see the gap.\n"
+msgstr "Les utilisateurs de ces plateformes ne verront pas l'écart.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:734
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:354
+msgid ""
+"Add an arrow head to indicate the tracks that connect to the rest of the "
+"layout.\n"
+msgstr ""
+"Ajoutez une flèche pour indiquer les voies qui se connectent sur le reste du"
+" plan.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:355
+msgid "The second arrow will be flipped 180°\"\n"
+msgstr ""
+"La deuxième flèche sera tournée de 180°\"\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:772
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:357
+msgid "And add some labels.\n"
+msgstr "Et ajoutez des étiquettes.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:833
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:359
+msgid ""
+"We want to print our control panel onto a 8œx11 page, but the control panel "
+"is a bit too wide.\n"
+msgstr ""
+"Nous aimerions imprimer le panneau de commande sur une page de 8\"x11\", "
+"mais il est trop large.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:360
+msgid "Lets tighten it up a bit.\n"
+msgstr "Permet de resserrer un peu.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:361
+msgid ""
+"First turn the Snap Grid on again so any moves we make will keep objects on "
+"the grid.\n"
+msgstr ""
+"Commencez par réactiver la grille magnétique afin que les objets restent "
+"alignés lors de leurs déplacements.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:842
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:363
+msgid "Lets move the spur track to the left 3/4\"\n"
+msgstr "Poussons la voie de service à gauche de 3/4 pouce\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:864
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:365
+msgid "Now move the right side of the siding over.\n"
+msgstr "Maintenant déplacez le côté droit de la voie d’évitement.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:884
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:367
+msgid "Now, adjust the ends of the mainline and siding tracks.\n"
+msgstr ""
+"Maintenant, ajustez les extrémités des voies principale et d’évitement.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:904
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:369
+msgid "And move the title over as well.\n"
+msgstr "Et déplacez aussi le titre.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmctlpnl.xtr:921
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:371
+msgid "Now you can print it.\n"
+msgstr "Maintenant, vous pouvez l'imprimer.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:372
+msgid "The cross-hairs on the LEDs and switch show the centers for drilling.\n"
+msgstr ""
+"Le réticule marque le centre des LED et des interrupteurs, ce qui facilite "
+"le perçage.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdelund.xtr:33
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:374
+msgid ""
+"Pressing the <Delete> button lets you delete selected tracks from the "
+"layout.\n"
+msgstr ""
+"Appuyez sur le bouton<Delete> pour supprimer les voies sélectionnées sur le "
+"plan.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:375
+msgid ""
+"First you select the tracks you want to delete, and then press the <Delete> "
+"button.\n"
+msgstr ""
+"Commencez par sélectionner les voies à supprimer, puis appuyez sur la "
+"touche<Delete>.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdelund.xtr:47
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:377
+msgid ""
+"If you delete a track connected to an easement curve, then the easement "
+"curve is deleted as well.\n"
+msgstr ""
+"Si vous supprimez une voie comportant un arc de transition, cet arc de "
+"transition sera également supprimé.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdelund.xtr:57
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:379
+msgid "You can use the <Undo> command to undelete tracks.\n"
+msgstr "Vous pouvez utiliser la commande<Undo> pour restaurer les voies.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdelund.xtr:67
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:381
+msgid ""
+"If you Left-Drag on the layout you can select all tracks within an area.\n"
+msgstr ""
+"En faisant glisser avec la souris tout en maintenant le bouton gauche "
+"enfoncé, vous pouvez marquer toutes les voies d'une zone.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:382
+msgid ""
+"Note, only tracks within the selected area are deleted. Since the easement "
+"curve is connected to a deleted track, it is deleted as well.\n"
+msgstr ""
+"Remarque : seules les voies de la zone sélectionnée sont supprimées. Mais "
+"comme la courbe de transition est connectée à une voie supprimée, elle sera "
+"également supprimée.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdelund.xtr:80
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:385
+msgid ""
+"The demo also simulates entering values and selecting options on various "
+"dialogs.\n"
+msgstr ""
+"La démo simule également la saisie de valeurs et la sélection d'options dans"
+" diverses boîtes de dialogue.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:386
+msgid ""
+"This is simulated by drawing a rectangle around the control when values are "
+"entered or changed.\n"
+msgstr ""
+"124/5000\n"
+"Ceci est simulé en dessinant un rectangle autour du champ de saisie lors de la saisie ou de la modification de valeurs.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:13
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:388
+msgid ""
+"Here we are going to make some changes to the Display dialog. Notice how "
+"this is simulated.\n"
+msgstr ""
+"Ici, nous apportons des modifications dans la boîte de dialogue d'affichage."
+" Remarquez comment cela est simulé.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:389
+msgid "First we are setting 'Draw Tunnel' to 'Normal'\n"
+msgstr ""
+"D'abord, nous paramétrons «Dessiner un tunnel» sur «Normal»\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:21
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:391
+msgid "Now we're changing 'Label Font Size' to '56'\n"
+msgstr ""
+"Maintenant, nous changeons 'Taille de la police de l'étiquette' en «56»\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:26
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:393
+msgid "We'll change some other options\n"
+msgstr "Nous allons changer quelques autres options\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:38
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:395
+msgid ""
+"This effect is only used in demonstration mode. During normal operation you"
+" will not see this.\n"
+msgstr ""
+"Cet effet n'est utilisé qu'en mode démonstration. Pendant le fonctionnement "
+"normal, vous ne le verrez pas.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdialog.xtr:45
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdimlin.xtr:117
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:398
+msgid "Dimension Lines are used to mark the distances between two points.\n"
+msgstr "Les cotes de voies servent à marquer les distances entre deux points.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:399
+msgid ""
+"Here we will create a Dimension Line to show the separation between two "
+"tracks.\n"
+msgstr ""
+"Ici, nous créons une ligne de cote pour montrer la distance entre deux voies"
+" parallèles.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdimlin.xtr:132
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:401
+msgid ""
+"We might also want to measure the distance between two structures. In this "
+"case we will use a larger dimension line.\n"
+msgstr ""
+"Nous pourrions également vouloir déterminer la distance entre deux "
+"bâtiments. Dans ce cas, nous utilisons une ligne de plus grande dimension.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdimlin.xtr:144
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:403
+msgid ""
+"We can use the <Describe> command to change the position of the Dimension "
+"Line and the size of the numbers.\n"
+msgstr ""
+"Nous pouvons utiliser la commande<Describe> pour modifier la position de la "
+"ligne de dimension et la taille des chiffres.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmdimlin.xtr:162
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:406
+msgid ""
+"This example will show the effect of using easements while joining tracks.\n"
+msgstr ""
+"Cet exemple montrera l'effet de l'utilisation de courbes de transition lors "
+"de la jonction de voies.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:407
+msgid "First, we will enable Cornu Easements and select Join\n"
+msgstr ""
+"Tout d'abord, nous validerons \"Courbe de transition Cornu\", puis "
+"sélectionnerons Raccorder\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:28
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:409
+msgid "First select one end of the track\n"
+msgstr ""
+"Sélectionnez d'abord une fin de voie\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:39
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:411
+msgid "Now the end of different track\n"
+msgstr "Et maintenant, la fin d'une autre voie\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:49
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:413
+msgid "You can reposition the ends by dragging them \n"
+msgstr ""
+"Vous pouvez repositionner les extrémités en les faisant glisser\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:65
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:415
+msgid "When you are happy, Hit Enter or Space, if not use Esc\n"
+msgstr ""
+"Lorsque vous êtes satisfait, appuyez sur Entrée ou Espace, sinon utilisez "
+"Esc\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:73
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:417
+msgid ""
+"The Curve is made up of Beziers parts that smooth the shape the best way it "
+"can be in the space available\n"
+msgstr ""
+"La courbe est composée d'éléments de Bézier qui lissent la forme de la meilleure façon possible dans l'espace disponible\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:87
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:419
+msgid "Now, we'll show traditional easements instead.\n"
+msgstr ""
+"Maintenant, nous allons plutôt montrer les courbes de transitions "
+"traditionnelles.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:142
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:421
+msgid ""
+"We've selected sharp easements. The minimum radius curve we can use will be"
+" 9.75\"\n"
+msgstr ""
+"Nous avons choisi des courbes de transition serrées. Le rayon minimum que "
+"nous pouvons utiliser est de 9,75 \".\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:422
+msgid "Notice the label on the Easement button has changed to 'Sharp'.\n"
+msgstr ""
+"Remarquez que l’étiquette du bouton 'courbes de transitions' a été remplacée"
+" par 'Etroit'.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:157
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:424
+msgid ""
+"Note the connecting curve does not quite meet the straight tracks. This the"
+" 'Offset'.\n"
+msgstr ""
+"Notez que la courbe de connexion ne rencontre pas tout à fait les voies "
+"droites. C'est le \"décalage\".\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:165
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:426
+msgid "Here the connecting curve is too small.\n"
+msgstr "Ici, le rayon de connexion est trop petit.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmease.xtr:175
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:428
+msgid ""
+"The connecting curve is made of three tracks, the curve and two easement "
+"segments on each end.\n"
+msgstr ""
+"La courbe de connexion est composée de trois voies, la courbe et deux "
+"segments de courbes de transition à chaque extrémité.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:112
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:430
+msgid ""
+"We have designed part of the layout with a siding, 2 branches and a spiral "
+"loop. We want to set elevations.\n"
+msgstr ""
+"Nous avons conçu une partie d'un plan de voie avec un parement, 2 branches "
+"et une hélicoïde de voie. Maintenant, nous voulons définir les élévations.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:431
+msgid "Note: make sure you set endpoint elevations on the Display dialog.\n"
+msgstr ""
+"Remarque : assurez-vous de définir les élévations des points de fin dans la boîte de dialogue Affichage.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:122
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:433
+msgid "First we will set elevations at the end of the branches.\n"
+msgstr "Nous allons d’abord définir les élévations au bout des branches.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:132
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:435
+msgid "We'll select the end of the top branch and set the Elevation to 4\"\n"
+msgstr ""
+"Nous allons sélectionner la fin de la branche supérieure et définir l'élévation à 4\"\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:436
+msgid "First, click on the End-Point.\n"
+msgstr "Tout d'abord, cliquez sur le point de fin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:142
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:438
+msgid "Next, pick Defined on the Elevation dialog Radio box.\n"
+msgstr "Ensuite, sélectionnez 'Valider' dans la boîte de dialogue Élévation.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:148
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:440
+msgid "And set the Elevation to 4.\n"
+msgstr "Et définissez l'élévation à 4.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:156
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:442
+msgid "Now, select the other branch and set it's elevation to 2\"\n"
+msgstr ""
+"Maintenant, sélectionnez l’autre branche et réglez son élévation sur 2\"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:170
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:444
+msgid "We can move the Elevation label by using Ctrl-Left-Drag\n"
+msgstr ""
+"Nous pouvons déplacer l'étiquette Élévation en utilisant Ctrl-gauche-"
+"glisser.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:182
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:446
+msgid "Now, we set the Elevation at one end of the Siding.\n"
+msgstr ""
+"Maintenant, nous fixons l’élévation à une extrémité de la voie "
+"d’évitement.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:209
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:215
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:449
+msgid "We want to find the elevations where the 2 tracks cross.\n"
+msgstr "Nous voulons déterminer les élévations où les 2 voies se croisent.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:224
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:451
+msgid "We picked an End-Point on the upper track.\n"
+msgstr "Nous avons sélectionné un point de fin sur la voie supérieure.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:452
+msgid ""
+"XTrackCAD has computed the Elevation (2.33\") at this point based on the "
+"Elevation at the siding and a combination of the of the first Elevations.\n"
+msgstr ""
+"XTrackCAD a calculé l'élévation (2,33\") en ce point en fonction de "
+"l'élévation à la voie d'évitement et d'une combinaison des premières "
+"élévations.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:453
+msgid ""
+"We create a Computed Elevation here that will be automatically adjusted "
+"whenever the other Elevations are changed.\n"
+msgstr ""
+"Nous créons ici une élévation calculée qui dépend automatiquement des autres"
+" élévations modifiables.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:243
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:455
+msgid ""
+"The Compute Elevation is based on Elevations at end of both of the branches."
+" We may want to base the Elevation on only one branch. For example if one "
+"branch was the mainline we don't want the other branch affecting this "
+"Computed Elevation.\n"
+msgstr ""
+"Le calcul de l'élévation est basé sur les élévations à la fin des deux "
+"branches. Nous pouvons vouloir baser l'élévation sur une seule branche. Par "
+"exemple, si une branche était la ligne principale, nous ne voulons pas que "
+"l'autre branche affecte cette altitude calculée.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:456
+msgid "We do this by Ignoring the branch we don't want.\n"
+msgstr "Nous le faisons en ignorant la branche dont nous ne voulons pas.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:457
+msgid "We'll ignore the lower branch.\n"
+msgstr "Nous ignorerons la branche inférieure.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:258
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:459
+msgid ""
+"Notice at the endpoint where the tracks cross, we see the elevation has "
+"changed from 2.33 to 2.64.\n"
+msgstr ""
+"Remarquez qu'au point de fin où les voies se croisent, nous voyons que l’élévation est passée de 2,33 à 2,64.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:264
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:461
+msgid "Now we want to know the elevation of the lower track.\n"
+msgstr ""
+"Nous voulons maintenant connaître l’élévation de la voie la plus basse.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:274
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:463
+msgid "There is no endpoint on the lower track here.\n"
+msgstr ""
+"Il n'y a pas de point de fin sur la voie inférieure ici.\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:464
+msgid ""
+"Use Shift-Left-Click to Split the track and create an endpoint we can use "
+"for an elevation,\n"
+msgstr ""
+"Utilisez Maj-Clic gauche pour segmenter la voie et créer un point de fin que"
+" nous pouvons utiliser pour une élévation,\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:287
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:466
+msgid "and create another Computed Elevation point.\n"
+msgstr "et créez un autre point de calcul d'élévation.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:302
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:468
+msgid "Now we want to label the grade on this section of track.\n"
+msgstr ""
+"Maintenant, nous voulons étiqueter la pente sur cette section de voie.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:311
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:470
+msgid ""
+"Again, since there is no endpoint nearby, we split the track to create an "
+"endpoint we can use,\n"
+msgstr ""
+"De nouveau, comme il n’y a pas de bout de voie proche, nous avons segmenté la voie pour créer un bout que nous pouvons utiliser,\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:321
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:472
+msgid "and create a grade marker.\n"
+msgstr ""
+"et créez une balise de pente.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:335
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:474
+msgid "Note the marker has an arrow pointing in the upwards direction.\n"
+msgstr "Notez que le marqueur a une flèche pointant vers le haut.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:344
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:476
+msgid ""
+"The last thing we want to do is to create a Station label that we'll use in "
+"the <Profile> command.\n"
+msgstr ""
+"Comme étape finale, nous allons créer une étiquette pour une station que "
+"nous utiliserons dans la commande<Profile> d'élévation.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:358
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:478
+msgid "Now, set the Elevation to Station and enter the its name.\n"
+msgstr ""
+"Maintenant, placez maintenant le marqueur d'élévation sur 'Station' et "
+"entrez le nom.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmelev.xtr:376
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:31
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:481
+msgid ""
+"XTrackCAD can help find tracks that are curved too sharply or are too steep."
+" These tracks are Exception tracks and are drawn in the Exception track "
+"color.\n"
+msgstr ""
+"XTrackCAD peut vous aider à trouver les voies dont le rayon est trop étroit "
+"ou qui montent trop fortement. Ces voies sont non conformes et sont "
+"affichées dans la couleur de Voie non conforme.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:482
+msgid ""
+"In this example we have a curved track with radius of 9\" and a straight "
+"track with a grade of 3.8%.\n"
+msgstr ""
+"Dans cet exemple, nous avons une voie courbe avec un rayon de 9\" et une "
+"voie droite avec une pente de 3,8%.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:483
+msgid " \n"
+msgstr " \n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:39
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:485
+msgid ""
+"The Layout dialog shows the Minimum Track Radius is 9\" and the Maximum "
+"Track Grade is 5%.\n"
+msgstr ""
+"Dans les options pour le plan de voie, nous voyons que le rayon minimum est "
+"fixé à 9\"et la pente maximale à 5%.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:48
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:487
+msgid ""
+"If we make the curved track sharper it will be drawn in the Exception "
+"color.\n"
+msgstr ""
+"Si nous réduisons le rayon de la courbe, la voie est affichée avec la "
+"couleur de l'exception.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:61
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:489
+msgid ""
+"If we make the straight track steeper it will also be drawn in the Exception"
+" color.\n"
+msgstr ""
+"Si nous élargissons la pente de la voie droite, la voie est également "
+"affichée dans la couleur exceptionnelle.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:78
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:491
+msgid ""
+"You can change the Exception color on the Colors dialog from the Options "
+"menu.\n"
+msgstr ""
+"Vous pouvez modifier la couleur des Voies non conformes dans la boîte de "
+"dialogue Couleurs du menu Options.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmexcept.xtr:85
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:21
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:494
+msgid ""
+"The unconnected endpoint of any track can also be extended with the <Modify>"
+" command using Right-Drag.\n"
+msgstr ""
+"Le point de fin non connecté de n'importe quelle voie peut également être étendu avec la commande<Modify> en faisant glisser avec le bouton droit de la souris enfoncé.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:26
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:496
+msgid "Select the endoint and Right-Drag.\n"
+msgstr ""
+"Sélectionnez le point de fin et faites le glisser avec le bouton droit de la souris.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:34
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:498
+msgid "The extending track can be straight...\n"
+msgstr "L'extension de voie peut être droite …\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:44
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:500
+msgid "... or curved.\n"
+msgstr "... ou courbé.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:51
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:502
+msgid ""
+"If you extend a straight or curved flex track and enable Easements then an "
+"Easement curve will be automatically generated when you extend the track.\n"
+msgstr ""
+"Si la fonction de courbe de transition est active pendant que vous modifiez une voie flexible droite ou courbe, un arc de transition sera créé.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmextend.xtr:65
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:124
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:505
+msgid "The <Flip> command will create a mirror image of the selected objects.\n"
+msgstr "La commande<Flip> génère une image miroir des objets sélectionnés.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:131
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:507
+msgid "After selecting the object, drag a line which will form the mirror.\n"
+msgstr ""
+"Après avoir sélectionné l'objet, tracez la voie d'axe de l'effet miroir.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:140
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:509
+msgid "The mirror line does not have to be vertical or horizontal.\n"
+msgstr "La ligne de miroir n'a pas besoin d'être verticale ou horizontale.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:149
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:511
+msgid "You can also flip any number of objects.\n"
+msgstr "Vous pouvez mettre en miroir n'importe quel nombre d'objets.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:512
+msgid "Watch what happens to the structure and turnout titles.\n"
+msgstr ""
+"Faites attention à ce qui se passe sur les étiquettes des bâtiments et des "
+"aiguillages.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:163
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:514
+msgid ""
+"Note that the turnout title has been changed from the Medium Right to Medium"
+" Left. When turnouts are flipped, XTrackCAD will try to find a matching "
+"turnout and if found will change the name.\n"
+msgstr ""
+"Notez que le titre d'aiguillage a été changé, moyen à droite est devenu "
+"moyen à gauche . Lorsque les aiguillages sont inversés, XTrackCAD essaiera "
+"de trouver un aiguillage correspondant et, le cas échéant, changera le "
+"nom.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:170
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:516
+msgid ""
+"Structures do not have Right and Left hand versions. Their title is changed"
+" to indicate that they were flipped.\n"
+msgstr ""
+"Les bâtiments n'ont pas de versions droite et gauche. Leur titre est modifié"
+" pour indiquer qu'ils ont été retournés.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:517
+msgid "You can use the <Describe> command to change their title.\n"
+msgstr "Vous pouvez utiliser la commande<Describe> pour modifier leur titre.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmflip.xtr:187
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:21
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:520
+msgid ""
+"The <Group> and <Ungroup> commands (on the Tools menu) are a powerful way to"
+" manipulate Turnout and Structure definitions.\n"
+msgstr ""
+"Les commandes<Group> et <Ungroup> (dans le menu Gérer) sont un moyen "
+"puissant de manipuler les définitions d'aiguillage et structure.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:521
+msgid "We'll start with a simple turnout and add a switch machine.\n"
+msgstr ""
+"Nous commencerons par un simple aiguillage et ajouterons une déviation.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:55
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:523
+msgid ""
+"Now that we have drawn a rough outline of a switch machine we will group it "
+"with the turnout definition.\n"
+msgstr ""
+"Maintenant que nous avons tracé les grandes lignes d’un aiguillage, nous "
+"allons les regrouper avec une définition d'aiguillage.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:524
+msgid "First we Select the objects in the new definition.\n"
+msgstr "Nous sélectionnons d'abord les objets dans la nouvelle définition.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:68
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:526
+msgid "Now do the <Group> command.\n"
+msgstr "Et maintenant, appliquez la commande <Group>.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:75
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:528
+msgid ""
+"The <Group> command dialog shows the Title (Manufacturer, Description and "
+"Part Number) of the new definition. This information is taken from the "
+"Selected objects you are grouping.\n"
+msgstr ""
+"La boîte de dialogue de commande<Group> affiche le titre (fabricant, "
+"description et numéro de pièce) de la nouvelle définition. Ces informations "
+"sont extraites des objets sélectionnés que vous regroupez.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:81
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:530
+msgid ""
+"The 'Replace with new group?' toggle will replace the Selected objects with "
+"the new definition.\n"
+msgstr ""
+"Le commutateur \"Remplacer par un nouveau groupe?\" remplacera les objets "
+"sélectionnés par la nouvelle définition.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:88
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:532
+msgid ""
+"If we don't change the Title then the new definition will replace the "
+"existing definition.\n"
+msgstr ""
+"Si nous ne changeons pas le titre, la nouvelle définition remplacera la "
+"définition existante.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:533
+msgid "We'll give this definition a new Description.\n"
+msgstr "Nous donnons au groupe une nouvelle description.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:99
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:535
+msgid "We're done with this definition. Press Ok.\n"
+msgstr "Nous en avons fini avec cette définition. Appuyer sur OK.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:106
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:537
+msgid "You will see the updated image on the HotBar.\n"
+msgstr "Vous verrez l'image mise à jour sur la barre de contrôle.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:113
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:539
+msgid ""
+"The <Ungroup> command replaces any Selected turnouts or structures with "
+"their parts.\n"
+msgstr ""
+"La commande<Ungroup> remplace tous les aiguillages ou structures "
+"sélectionnés par leurs pièces.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:540
+msgid ""
+"Structures and non-track segements of turnouts are composed of Lines, "
+"Circles and other shapes. In this turnout these are the two lines and the "
+"two squares.\n"
+msgstr ""
+"Les bâtiments et les aiguillages sont composés de lignes, de cercles et "
+"d'autres formes. Cet aiguillage comprend deux lignes et deux carrés.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:541
+msgid ""
+"We will Ungroup this turnout and see how the individual parts can be "
+"changed.\n"
+msgstr ""
+"Nous dissocierons cet aiguillage et verrons comment les différentes parties "
+"peuvent être modifiées.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:542
+msgid "First Select the turnout and then Ungroup it.\n"
+msgstr "Sélectionnez d'abord l'aiguillage, puis dissociez-le.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:128
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:544
+msgid "Notice that the Title now indicates the turnout is Ungrouped.\n"
+msgstr "Notez que le titre indique maintenant que l'aiguillage est dissocié.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:545
+msgid "Hit Escape to deselect everything.\n"
+msgstr "Appuyez sur Echap pour tout désélectionner.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:138
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:547
+msgid "Now Select the lines and squares.\n"
+msgstr "Maintenant, sélectionnez les lignes et les carrés.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:163
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:549
+msgid ""
+"We could modify these object or add new ones. For now we'll just delete "
+"them.\n"
+msgstr ""
+"Nous pouvons changer cet objet ou en ajouter de nouveaux, cette fois nous "
+"allons juste les supprimer.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:170
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:551
+msgid "And move the Label out of the way.\n"
+msgstr "Et déplacez l'étiquette hors de la voie.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:181
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:553
+msgid "Notice that the turnout has been broken into three parts.\n"
+msgstr "Notez que l'aiguillage a été divisé en trois parties.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:203
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:555
+msgid ""
+"Two ends of the turnout, from the frog to the end of the diverging leg and "
+"from the points to the left, are now straight track sections.\n"
+msgstr ""
+"Deux extrémités de l'aiguillage, du cœur à l'extrémité de la voie divergée "
+"et des points à gauche, sont maintenant des sections de voie droites.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:556
+msgid ""
+"The a turnout is made of a number of individual straight and curved track "
+"segements. This turnout had four segments:\n"
+msgstr ""
+"Un aiguillage se compose d'un certain nombre de pièces de voies droites et "
+"courbes. Cet aiguillage comprend quatre pièces :\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:557
+msgid " 1 a short straight segment to the left of the points\n"
+msgstr " 1. une courte pièce droite, à gauche des lames d'aiguillage\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:558
+msgid " 2 a long straight segment to the right of the points\n"
+msgstr " 2. une longue pièce droite, à droite des lames d'aiguillage\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:559
+msgid " 3 a curved segment from the points to the frog\n"
+msgstr " 3. une pièce pliée des lames d'aiguillage vers le cœur, et\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:560
+msgid " 4 a straight segment from the frog to the end of the diverging leg.\n"
+msgstr " 4. une pièce droite du cœur à la fin de la voie d'embranchement.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:561
+msgid "The first and last segments have be converted to straight tracks.\n"
+msgstr "Les premier et dernier segments ont été convertis en voies droites.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:562
+msgid ""
+"The second and third segments form the the body of the turnout and can not "
+"be ungrouped further.\n"
+msgstr ""
+"Les deuxième et troisième segments forment le corps de l'aiguillage et ne "
+"peuvent plus être dissociés.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:563
+msgid ""
+"You can later Group this turnout with the straight segments to recreate the "
+"turnout definition. You can also add other track segments to turnout "
+"definitions.\n"
+msgstr ""
+"Ensuite, vous pouvez regrouper l'aiguillage avec les sections droites pour "
+"restaurer la définition d'aiguillage. Vous pouvez également ajouter d'autres"
+" sections de voie aux définitions d'aiguillages.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:247
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:565
+msgid "Now, create a track and place the new turnout on it.\n"
+msgstr "Maintenant, créez une voie et placez le nouvel aiguillage dessus.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:265
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:567
+msgid "Now suppose we want to replace the black squares with green circles.\n"
+msgstr ""
+"Supposons que nous voulions remplacer les carrés noirs par des cercles "
+"verts.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:568
+msgid "First we Select the turnout.\n"
+msgstr "Nous sélectionnons d'abord l'aiguillage.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:277
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:570
+msgid "And now Ungroup it (from the Tools Menu)\n"
+msgstr "Et maintenant, dissociez-le (à partir du menu Gérer)\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:282
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:572
+msgid ""
+"Notice that the name has changed to indicate the turnout was Ungrouped.\n"
+msgstr ""
+"Notez que le nom a changé pour indiquer que l'aiguillage a été dissocié.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:288
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:574
+msgid ""
+"Now, hit escape to deselect everything and then Select the 2 squares and "
+"delete them.\n"
+msgstr ""
+"Maintenant, appuyez sur 'Ech' pour tout désélectionner, puis sélectionnez et"
+" supprimez les 2 carrés.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:305
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:576
+msgid "Now draw the green circles...\n"
+msgstr "Maintenant, dessinez les cercles verts…\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:326
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:578
+msgid "and Group the new definition.\n"
+msgstr "et Groupez la nouvelle définition.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:345
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:580
+msgid ""
+"Notice that the turnout in the HotBar is angled the same as the turnout on "
+"the layout. Make sure your new definition is rotated the way you want it.\n"
+msgstr ""
+"Notez que l'aiguillage dans la barre d'objets est le même que celui du plan."
+" Assurez-vous que votre nouvelle définition est alignée comme vous le "
+"souhaitez.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:384
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:582
+msgid "We can also create turnouts from simple straight and curved tracks.\n"
+msgstr ""
+"Nous pouvons également créer des aiguillages à partir de simples voies "
+"droites et courbes.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:583
+msgid "We'll create two tracks that have a common endpoint.\n"
+msgstr "Nous créons deux voies avec un point de fin commun.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:395
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:585
+msgid ""
+"When we create the curve from the straight track endpoint we need to hold "
+"down the <Shift> key to prevent XTrackCAD from trying to join the two "
+"tracks.\n"
+msgstr ""
+"Lorsque nous créons la courbe à partir du point de fin d'une ligne droite, "
+"nous devons maintenir la touche <Shift>enfoncée pour empêcher XTrackCAD "
+"d'essayer de joindre les deux voies.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:413
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:587
+msgid "At this point we can modify the tracks if necessary.\n"
+msgstr "À ce stade, nous pouvons modifier les voies si nécessaire.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:588
+msgid "We will use the <Describe> command to change the tracks.\n"
+msgstr "Nous utiliserons la commande<Describe> pour changer les voies.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:425
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:590
+msgid "We'll make the Length 7.5\".\n"
+msgstr "Nous avons réglé la longueur à 7,5\".\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:591
+msgid ""
+"If we change the Length, each End-Point will be moved to shorten the track."
+" We want to just move the Right End-Point. To control this, change the "
+"Lock to First which means the Left End-Point will be unchanged when we "
+"change the length (or angle) of the track.\n"
+msgstr ""
+"Si nous modifions la longueur, chaque point d'extrémité sera déplacé pour "
+"raccourcir la voie. Nous voulons simplement déplacer le point d'extrémité "
+"droit. Pour ce faire, modifiez le verrouillage en premier, ce qui signifie "
+"que le point d'extrémité gauche restera inchangé lorsque nous modifierons la"
+" longueur (ou l'angle) de la voie.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:435
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:593
+msgid "Now when change the Length only the Right End-Point will move.\n"
+msgstr ""
+"Maintenant, lorsque vous modifiez la longueur, seul le point final droit se "
+"déplace.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:446
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:595
+msgid "Now let's look at the curved track.\n"
+msgstr "Regardons maintenant la voie incurvée.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:456
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:597
+msgid ""
+"Here the Left End-Point (which we don't want to move) is the Second End-"
+"Point, so we'll make that the Lock.\n"
+msgstr ""
+"Ici, le point d'extrémité gauche (que nous ne voulons pas déplacer) est le "
+"deuxième point d'extrémité, nous allons donc en faire le verrou.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:464
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:599
+msgid "We want the curve to have a radius of 20\" and an angle of 17.5ᅵ.\n"
+msgstr ""
+"Nous voulons que la courbe ait un rayon de 20\" et un angle de 17,5°.\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:600
+msgid "First change the Radius...\n"
+msgstr "Tout d'abord changer le rayon …\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:473
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:602
+msgid "and the the Angular Length.\n"
+msgstr "et la longueur angulaire.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:481
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:604
+msgid "Now Select both tracks...\n"
+msgstr "Maintenant, sélectionnez les deux voies…\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:497
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:606
+msgid "and Group them.\n"
+msgstr "et groupez les.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:508
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:608
+msgid ""
+"If the two tracks have a common End-Point then they will form a Turnout and "
+"can be switched with the <Train> command. Otherwise they will just be two "
+"track segments grouped together.\n"
+msgstr ""
+"Si les deux voies ont un point de fin commun, elles formeront un aiguillage "
+"et pourront être commutées avec la commande<Train>. Sinon, il ne s'agira que"
+" de deux segments de voie regroupés.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:515
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:610
+msgid ""
+"We have created a left hand turnout and we also want a right hand version.\n"
+msgstr ""
+"Nous avons créé un aiguillage gauche et nous voulons également une version à"
+" droite.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:611
+msgid "We'll use the <Flip> command.\n"
+msgstr "Nous utilisons la commande<Flip>\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:528
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:613
+msgid "Drag a horizontal line that will be the mirror for the <Flip> command.\n"
+msgstr ""
+"Faites glisser une voie horizontale qui sera l'axe de miroir de la commande "
+"<Flip>.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:538
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:615
+msgid "Notice the title has changed to Flipped Left.\n"
+msgstr "Notez que le titre a été changé en \"Gauche en miroir\".\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:616
+msgid "Now Group the turnout.\n"
+msgstr ""
+"Maintenant, regroupez l'aiguillage\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:547
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:618
+msgid "We'll change the Title and Part No for the new defintion.\n"
+msgstr ""
+"Nous allons changer le titre et le numéro de pièce pour la nouvelle "
+"définition.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:560
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:620
+msgid ""
+"To Remove the definitions, use the Custom Management dialog on the Tools "
+"menu.\n"
+msgstr ""
+"Pour supprimer des définitions, utilisez le \"Eléments définis sur mesure\" "
+"dans le menu \"Gérer\".\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:565
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:622
+msgid "Select the definitions you added and Delete them.\n"
+msgstr "Sélectionnez les définitions que vous avez ajoutées et supprimez-les.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmgroup.xtr:578
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:625
+msgid ""
+"Now we will create a helix in the corner of the layout connected to 2 "
+"tracks.\n"
+msgstr ""
+"Dans le coin du plan, nous allons maintenant créer une hélicoïde connectée à"
+" 2 voies.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:28
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:627
+#, c-format
+msgid ""
+"We will be creating a helix with a Elevation Difference of 12\", Grade of "
+"1.5% and limit the Vertical Separation to at least 2\".\n"
+msgstr ""
+"Nous allons créer une hélicoïde de voie avec une différence d'élévation de "
+"12\", une pente de 1,5% et limiter la distance verticale à au moins 2\".\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:34
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:629
+msgid "First set the Elevation Difference to 12\"\n"
+msgstr "Réglez d'abord la différence d'élévation à 12 \"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:43
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:631
+msgid "Next set the Vertical Separation to 2\"\n"
+msgstr "Ensuite, réglez la séparation verticale sur 2\"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:632
+msgid "Notice how this causes the number of Turns to be set to 6\n"
+msgstr "Remarquez comment cela nécessite un nombre de 6 tours\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:52
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:634
+msgid "Next set the Grade to 1.5%\n"
+msgstr "Ensuite définir la pente à 1,5%\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:635
+msgid "Notice how this causes the Radius to change.\n"
+msgstr "Remarquez comment cela provoque le changement de rayon.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:60
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:637
+msgid ""
+"Setting these values changes the Radius to 21.2\" and the number of Turns to"
+" 6.\n"
+msgstr ""
+"La définition de ces valeurs modifie le rayon à 21,2\" et le nombre de tours"
+" à 6.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:66
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:639
+msgid ""
+"Now we specify the Angular Separation between the enterance and exit to the "
+"helix.\n"
+msgstr ""
+"Nous modifions maintenant l'angle entre les voies entrante et sortante de "
+"l'hélicoïde.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:640
+msgid "Note: this will decrease the Radius slightly.\n"
+msgstr "Remarque : cela diminuera légèrement le rayon.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:76
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:642
+msgid "Next we can fine tune the helix by decreasing the Radius to 15\".\n"
+msgstr "Ensuite, nous pouvons affiner l’hélicoïde en diminuant le rayon à 15\".\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:643
+msgid "Note the change to the Grade.\n"
+msgstr "Notez le changement de pente.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:85
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:645
+msgid ""
+"Lastly change the Vertical Separation to 2.5\". The number of Turns will "
+"change to 4 and the grade increase to almost 3%.\n"
+msgstr ""
+"Pour finir, changez la séparation verticale à 2.5\", le nombre de virages "
+"passera à 4 et la pente augmentera à près de 3%.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:646
+msgid ""
+"Note: the Vertical Separation will be increased. This value is the "
+"Elevation Difference (12.0) divided by the total number of turns. The total"
+" number of turns is 4.25: 4 whole Turns plus a quarter turn for the Angular "
+"Separation.\n"
+msgstr ""
+"Remarque : la séparation verticale sera augmentée. Cette valeur est la "
+"différence d'élévation (12.0) divisée par le nombre total de tours. Le "
+"nombre total de tours est 4.25 : 4 tours complets plus un quart de tour pour"
+" la séparation angulaire.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:94
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:99
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:649
+msgid ""
+"Now that the helix parameters are set we can place the helix on the "
+"layout.\n"
+msgstr ""
+"Maintenant que les paramètres d'hélicoïde sont définis, nous pouvons placer "
+"l'hélicoïde sur le plan.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:112
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:651
+msgid ""
+"Next, join the 2 straight tracks to the helix in the same way we join to a "
+"circle.\n"
+msgstr ""
+"Ensuite, reliez les 2 voies droites à l'hélicoïde juste comme nous "
+"connectons les voies à un cercle.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:145
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:653
+msgid ""
+"Notice that the length has increased because we have more than 4 turns in "
+"the helix. It is closer to 4.25 turns.\n"
+msgstr ""
+"Notez que la longueur a augmenté car nous avons plus de 4 tours dans "
+"l'hélicoïde. Elle est plus proche de 4,25 tours.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:155
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:655
+msgid ""
+"Next, we assign elevations to the 2 End-Points of the helix. This will "
+"determine the grade and separation between the helix coils.\n"
+msgstr ""
+"Ensuite, nous fixons des élévations aux 2 extrémités de l'hélicoïde. Ce qui "
+"détermine la hauteur et la distance entre les virages.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:656
+msgid ""
+"Note: we could set the elevations anywhere along the connecting tracks "
+"instead. XTrackCAD treats a helix as a single length of track for "
+"elevations.\n"
+msgstr ""
+"Remarque : nous pourrions définir les élévations n’importe où le long des "
+"voies de connexion. Pour les élévations, XTrackCAD traite une hélicoïde "
+"comme une seule longueur de voie.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:176
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:658
+msgid ""
+"We have set the elevations to 1\" and 13\" to produce a grade of 3.0% with "
+"2.8\" between coils.\n"
+msgstr ""
+"Nous avons réglé les élévations sur 1\"et 13\" pour créer une pente de 3,0% "
+"avec 2,8\"entre les virages.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:659
+msgid ""
+"You can use the <Describe> command to change the number of Turns or the "
+"Elevations at either end of the Helix. This will affect the Grade and "
+"Vertical Separation.\n"
+msgstr ""
+"Vous pouvez utiliser la commande<Describe> pour modifier le nombre de "
+"virages ou les élévations à chaque extrémité de l'hélicoïde. Ça affectera la"
+" pente et la séparation verticale.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:184
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:661
+msgid "The helix description can be moved by the <Move Label> command.\n"
+msgstr ""
+"Avec la commande<Move Label> l'étiquette de l'hélicoïde peut être "
+"déplacée.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhelix.xtr:194
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:664
+msgid ""
+"In addition to using the turnout definitions you can create 'Hand Laid "
+"Turnout'.\n"
+msgstr ""
+"En plus d'utiliser les définitions d'aiguillage, vous pouvez créer "
+"'aiguillage paramétré à la main'.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:665
+msgid "This is two step process:\n"
+msgstr ""
+"Il s'agit d'un processus en deux étapes :\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:23
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:667
+msgid "1 - click on the frog and drag away to set the frog angle\n"
+msgstr "1 - cliquez sur le cœur et faites glisser pour définir son angle\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:29
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:669
+msgid ""
+" Hint: the further you drag from the frog, the more accurate the angle.\n"
+msgstr ""
+" Astuce : plus vous vous éloignez du cœur, plus l'angle est précis.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:34
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:671
+msgid "2 - click and drag to set the position of the points\n"
+msgstr "2 - cliquez et faites glisser pour définir la position des points\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:42
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:673
+msgid "We can create Hand Laid Turnouts on curved tracks.\n"
+msgstr ""
+"Nous pouvons créer des aiguillages paramétrés à la main sur des voies "
+"courbes.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:58
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:675
+msgid "A Hand Laid Turnout is composed of several parts.\n"
+msgstr "Un aiguillage de conception libre se compose de plusieurs parties.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:67
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:677
+msgid "The actual Turnout is a short portion at the points.\n"
+msgstr "L'aiguillage actuel à ses aiguilles incomplètes.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:77
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:679
+msgid "The other parts are various straight and curved segments.\n"
+msgstr "Les autres parties sont divers segments droits et courbes.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:81
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:681
+msgid "The new curved turnout is also composed of several segments.\n"
+msgstr ""
+"La nouvel aiguillage incurvée est également composée de plusieurs "
+"segments.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmhndld.xtr:107
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:7
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:684
+msgid "Welcome to the XTrackCAD demonstration.\n"
+msgstr "Bienvenue dans la démonstration d'XTrackCAD.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:685
+msgid ""
+"This will show some the features of XTrackCAD in an automated presentation."
+" This window contains a number of controls and a message area (which I hope"
+" you are reading now). \n"
+msgstr ""
+"Cela vous montrera certaines des fonctionnalités d'XTrackCAD dans une "
+"présentation automatisée. Cette fenêtre contient un certain nombre de "
+"contrôles et une zone de message (j'espère que maintenant vous les lisez "
+").\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:686
+msgid "The controls are:\n"
+msgstr "Les contrôles sont :\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:687
+msgid "Step - advances to the next step of the demo.\n"
+msgstr "Pas à pas - passe à l'étape suivante de la démo.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:688
+msgid "Next - skips ahead to the next demo.\n"
+msgstr "Suivant - passe à la démo suivante.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:689
+msgid "Quit - exits the demo and returns to XTrackCAD.\n"
+msgstr "Quitter - quitter la démo et revenir à XTrackCAD.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:690
+msgid "Speed - controls the speed of the demo.\n"
+msgstr "Vitesse- contrôle la vitesse de la démo.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:691
+msgid "Click Step now for the next message.\n"
+msgstr "Cliquez sur Pas à pas pour passer au message suivant.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:23
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:693
+msgid ""
+"If this is the first time you have used the demo you may want to rearrange "
+"the windows so the demo window does not obscure the main window.\n"
+msgstr ""
+"Si vous utilisez la démo pour la première fois, vous devez définir les "
+"positions de la fenêtre. Assurez-vous que la fenêtre principale n'est pas "
+"masquée par la fenêtre de démonstration.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:694
+msgid ""
+"You can move the demo window now by dragging on the title bar at the top of "
+"the window. I suggest you move it to the top of your screen.\n"
+msgstr ""
+"Vous pouvez maintenant déplacer la fenêtre de démonstration en y faisant "
+"glisser la barre de titre. Il est préférable de le déplacer vers le haut de "
+"l'écran.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:31
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:696
+msgid ""
+"The various controls are disabled when it would be inappropiate to click on "
+"them. When the demo is running the Step button is disabled. When the demo "
+"is paused the Step button is enabled and you can click it when you are ready"
+" to view the next part of the demo.\n"
+msgstr ""
+"Les différents contrôles sont désactivés lorsqu'il serait inopportun de "
+"cliquer dessus. Lorsque la démo est en cours d'exécution, le bouton Étape "
+"est désactivé. Lorsque la démonstration est en pause, le bouton Étape est "
+"activé et vous pouvez cliquer dessus lorsque vous êtes prêt à afficher la "
+"partie suivante de la démonstration.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:697
+msgid "You can click on Quit to return to XTrackCAD at any time.\n"
+msgstr ""
+"Vous pouvez revenir à XTrackCAD à tout moment en cliquant sur Quitter.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:698
+msgid "You can adjust the speed of the demonstration with the Speed control.\n"
+msgstr "Vous pouvez régler la vitesse de la démo avec la commande vitesse.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:60
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:700
+msgid "The demos are designed to fit within a certain sized window.\n"
+msgstr ""
+"Les démos sont conçues pour tenir dans une fenêtre d'une certaine taille.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:701
+msgid ""
+"For best results, change the size of the main XTrackCAD window so the box "
+"shape is completely visible.\n"
+msgstr ""
+"Pour de meilleurs résultats, modifiez la taille de la fenêtre principale "
+"XTrackCAD pour que le rectangle soit complètement visible.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:702
+msgid "You can do this by clicking and dragging on a corner of the window.\n"
+msgstr ""
+"Vous pouvez le faire en faisant glisser le coin inférieur droit de la "
+"fenêtre.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:67
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmintro.xtr:72
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:705
+msgid "This is the end of the introductory demo.\n"
+msgstr "C'est la fin de la démonstration d'introduction.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:706
+msgid ""
+"Please click Step for the next demo or click Quit to return to XTrackCAD.\n"
+msgstr ""
+"Veuillez cliquer sur étape suivante pour la prochaine démonstration ou "
+"quitter pour revenir à XTrackCAD.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjcir.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:708
+msgid ""
+"You can also join to and from circles. This will change the circles to "
+"curves.\n"
+msgstr ""
+"Vous pouvez également connecter des voies avec des cercles de voie. Cela "
+"transforme les cercles en arcs.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:709
+msgid "In this example we will join two circles.\n"
+msgstr "Dans cet exemple, nous allons connecter deux cercles.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjcir.xtr:24
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:711
+msgid ""
+"Here we've selected points on the two circles. The direction of the "
+"connections (whether clockwise or counter clockwise) is controlled by where "
+"on the circle you select the connection points.\n"
+msgstr ""
+"Ici, nous avons sélectionné des points sur deux cercles. La direction des "
+"connexions (dans le sens horaire ou antihoraire) est déterminée par les "
+"emplacements sur les cercles que vous avez sélectionnés.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjcir.xtr:133
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjcir.xtr:152
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:714
+msgid "Now let's try a cross connection.\n"
+msgstr "Essayons maintenant une connexion croisée.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjcir.xtr:246
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:716
+msgid ""
+"Note that the connection is from different 'ends' of the circle than in the "
+"last example.\n"
+msgstr ""
+"Notez que la connexion provient d'«extrémités» différentes du cercle qu'avec"
+" le dernier exemple.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnabut.xtr:22
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:718
+msgid "This examples shows joining tracks whose End-Points are aligned.\n"
+msgstr ""
+"Cet exemple montre comment joindre des voies dont les extrémités sont "
+"alignées.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:719
+msgid ""
+"Note the 2 pairs of tracks have End-Points that are close and aligned but "
+"not connected.\n"
+msgstr ""
+"Notez que les 2 paires de voies ont des extrémités qui sont proches et "
+"alignées mais non connectées.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnabut.xtr:30
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:721
+msgid "The first case joins the curve and straight track.\n"
+msgstr ""
+"Dans le premier cas, une voie courbe et une voie droite sont connectées.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnabut.xtr:40
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:723
+msgid "The second case will join the two straight tracks.\n"
+msgstr "Dans le second cas, deux voies droites sont connectées.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnabut.xtr:50
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:725
+msgid "Note that the two straight tracks were combined to form one track.\n"
+msgstr "Notez que les deux voies droites ont été fusionnées en une voie.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnabut.xtr:55
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjncs.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:728
+msgid ""
+"The <Join> command can also join straight and curved tracks (in either "
+"order).\n"
+msgstr ""
+"La commande <Join> peut être utilisée pour connecter des voies droites et courbes (dans n'importe quel ordre).\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:729
+msgid "We will enable Cornu easements\n"
+msgstr "Nous activerons les courbes de transition Cornu.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjncs.xtr:32
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:731
+msgid "A connecting cornu track is drawn between the two tracks.\n"
+msgstr ""
+"Une cornu de raccord de voie est dessiné entre les deux voies.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjncs.xtr:41
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:733
+msgid ""
+"Notice that the curved track is extended as the connection point moves past "
+"the End-Point.\n"
+msgstr ""
+"Notez que la voie incurvée est étendue lorsque le point de connexion passe "
+"au-delà du point de fin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjncs.xtr:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:735
+msgid ""
+"Here the connection makes the curved track wrap around. This is not a "
+"useful shape, there is a discontinuity at the end. \n"
+msgstr ""
+"Ici, une boucle est créée en se connectant. Ce n'est pas une forme raisonnable, car il y a un nœud à la fin.\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:736
+msgid "Adjusting the end point will fix it. \n"
+msgstr ""
+"Le réglage du point de fin le corrigera.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjncs.xtr:64
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnmove.xtr:18
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:739
+msgid "The <Join> command can move one group of tracks to join with another.\n"
+msgstr ""
+"La commande <Join> peut être utilisée pour déplacer des groupes de voies "
+"pour les connecter à d'autres.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:740
+msgid ""
+"First <Select> the tracks you want to move with Ctrl so that they are both "
+"selected.\n"
+msgstr ""
+"D'abord <Select>les voies que vous voulez déplacer avec Ctrl afin qu'elles "
+"soient toutes les deux sélectionnées.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnmove.xtr:36
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:742
+msgid "Click <Join> and Shift-Left-Click on the two End-Points.\n"
+msgstr ""
+"Cliquez sur <Join> puis maintenez la touche Maj enfoncée + clic gauche sur "
+"les deux points d'extrémité.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnmove.xtr:51
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:744
+msgid "The selected tracks are moved into position.\n"
+msgstr "Les voies sélectionnées sont déplacées vers la position.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:746
+msgid ""
+"Two straight tracks can be joined by selecting the two endoints. The "
+"selected endpoints will be those closest to the cursor when the track is "
+"selected.\n"
+msgstr ""
+"Deux voies droites peuvent être jointes en sélectionnant les deux "
+"extrémités. Les points de fin sélectionnés seront ceux les plus proches du "
+"curseur lorsque la voie est sélectionnée.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:747
+msgid "First, we will select Easements None and then select Join\n"
+msgstr ""
+"Tout d'abord, nous désélectionnerons \"Courbe de transition\", puis sélectionnerons Raccorder\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:26
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:749
+msgid "Now we select two points on the tracks\n"
+msgstr "Maintenant, nous sélectionnons deux points sur les voies\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:36
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:751
+msgid ""
+"A connecting track is drawn between the two tracks. Notice how it moves as "
+"the cursor is dragged along the second track.\n"
+msgstr ""
+"Une raccord de voie est dessiné entre les deux voies. Observez comment il "
+"bouge lorsque le curseur se déplace le long de la deuxième voie.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:47
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:753
+msgid ""
+"Note that two tracks are extended if you move past the end of the track.\n"
+msgstr ""
+"Notez que deux voies sont étendues si vous vous déplacez le pointeur de la "
+"souris au-delà de la fin de voie.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:55
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:755
+msgid ""
+"Notice what happens if you drag past the intersection points of the two "
+"tracks.\n"
+msgstr ""
+"Remarquez ce qui se passe si vous glissez au-delà des points d'intersection "
+"des deux voies.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:757
+msgid "This is probably not a very useful thing to do.\n"
+msgstr "Ce n'est probablement pas une solution sensée.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:70
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:90
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:760
+msgid "Now we will do this with Cornu Easements \n"
+msgstr ""
+"Maintenant, nous allons le faire avec une Courbe de transition Cornu\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:761
+msgid "First, we will select Easements Cornu and then select Join\n"
+msgstr ""
+"Tout d'abord, nous sélectionnerons \"Courbe de transition Cornu\", puis "
+"sélectionnerons Raccorder\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:102
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:763
+msgid "Now we again select two points on the tracks\n"
+msgstr ""
+"Maintenant, nous sélectionnons à nouveau deux points sur les voies\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:112
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:765
+msgid ""
+"A connecting cornu is drawn between the two tracks. Notice how it behaves "
+"as the cursor is dragged along the second track.\n"
+msgstr ""
+"Une cornu de raccord est dessinée entre les deux voies. Observez comment elle bouge lorsque le curseur se déplace le long de la deuxième voie.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:123
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:767
+msgid ""
+"Note that either tracks can be extended if you move past the end of it.\n"
+msgstr ""
+"Notez que deux voies sont étendues si vous vous déplacez le pointeur de la souris au-delà de la fin de voie.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:131
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:769
+msgid ""
+"Notice this time what happens if you drag past the intersection points of "
+"the two tracks.\n"
+msgstr ""
+"Remarquez ce qui se passe si vous glissez au-delà des points d'intersection des deux voies.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:139
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:771
+msgid "This is more useful because you can move the other end as well.\n"
+msgstr ""
+"C'est plus utile car vous pouvez également déplacer l'autre extrémité.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:150
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:773
+msgid "You can add a pin to constrain the Cornu Curve to pass through it.\n"
+msgstr ""
+"Vous pouvez ajouter une pin pour contraindre la courbe de Cornu à la "
+"traverser.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjnss.xtr:161
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:776
+msgid "You can connect from any track to a turntable\n"
+msgstr ""
+"Vous pouvez vous connecter depuis n'importe quelle voie vers un pont "
+"tournant\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:777
+msgid "With a Cornu Easement you can have a turntable as the first point.\n"
+msgstr ""
+"Avec une courbe de transition Cornu, vous pouvez avoir un pont tournant "
+"comme premier point de connexion.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:38
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:779
+msgid ""
+"You cannot place the connecting track too close to an existing stall track."
+" How close you can get is controlled by the Turntable Angle on the Setup "
+"dialog.\n"
+msgstr ""
+"Vous ne pouvez pas placer une connection de voie trop près d'une voie de "
+"service existante. La distance que vous pouvez obtenir est contrôlée par "
+"l'angle du pont tournant dans la boîte de dialogue "
+"\"Options|Préférences\".\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:780
+msgid "In this example it is set to 15 degrees.\n"
+msgstr "Dans cet exemple, il est réglé sur 15 degrés.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:782
+msgid "You can drag the connecting point all round the turntable.\n"
+msgstr ""
+"Vous pouvez faire glisser le point de connexion tout autour du pont "
+"tournant.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:103
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:784
+msgid ""
+"As you drag away from the turntable a straight track will be drawn to the "
+"cursor postion and a curve will be drawn from the cursor to the connecting "
+"track.\n"
+msgstr ""
+"Lorsque vous vous éloignez du pont tournant, une voie droite est dessinée "
+"vers la position du curseur et une courbe est dessinée entre le curseur et "
+"la voie de connexion.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:111
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:786
+msgid ""
+"Now the cursor will be moved within the turntable, but the end stays on the "
+"edge of the well.\n"
+msgstr ""
+"Maintenant, le pointeur de la souris est déplacé à l'intérieur du pont tournant, mais la bout reste sur le bord de la fosse.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:161
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:788
+msgid "All done.\n"
+msgstr "Terminé.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmjntt.xtr:169
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:38
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:791
+msgid ""
+"The Draw Commands are used to draw straight and curved lines on the "
+"layout.\n"
+msgstr ""
+"Les commandes de dessin sont utilisées pour dessiner des lignes droites et "
+"courbes sur le plan.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:46
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:793
+msgid ""
+"Lines are drawn by clicking at the starting postion and dragging to the "
+"final position.\n"
+msgstr ""
+"Les lignes sont tracées en cliquant sur le point de départ, puis en créant "
+"le point de fin supplémentaire en faisant glisser.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:794
+msgid ""
+"By default, the new line will snap to existing objects. Hold down the <Alt>"
+" keys to prevent this from happening.\n"
+msgstr ""
+"Par défaut, la nouvelle ligne s'accrochera aux objets existants. Maintenez "
+"les touches <Alt> enfoncées pour éviter que cela ne se produise. \n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:91
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:796
+msgid "You also draw in various colors and line widths.\n"
+msgstr ""
+"Vous pouvez également dessiner avec différentes couleurs et épaisseurs de "
+"ligne.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:110
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:798
+msgid "Like Curved Tracks, Curved Lines can be drawn by a variety of methods.\n"
+msgstr ""
+"Comme les voies courbes, les lignes courbes peuvent être tracées de "
+"différentes façons.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:799
+msgid ""
+"Here we will draw a Curve by dragging from one End-Point to the other to "
+"define the chord of the Curve. Then we will drag from the center to shape "
+"the curve.\n"
+msgstr ""
+"Ici, nous dessinons une courbe en faisant glisser d’un point d’extrémité à "
+"l’autre pour régler l’accord de la courbe. Ensuite, nous allons faire "
+"glisser du centre pour définir la forme de la courbe.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:185
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:801
+msgid "Boxes are useful for drawing rectangular shapes.\n"
+msgstr "Les boîtes sont utiles pour dessiner des formes rectangulaires.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:195
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:803
+msgid ""
+"Circles can be drawn by clicking on the center or edge and dragging to set "
+"the radius.\n"
+msgstr ""
+"Les cercles sont dessinés en cliquant sur le bord ou le point central, puis "
+"on définit le rayon en faisant glisser.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:804
+msgid "Here we will drag from the edge to the Center.\n"
+msgstr "Ici, nous allons faire glisser du bord vers le centre.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:205
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:806
+msgid "Lines and Shapes can be deleted by Selecting and Deleting.\n"
+msgstr ""
+"Les lignes et les formes peuvent être supprimées par une sélection et une "
+"suppression.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines.xtr:228
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:91
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:809
+msgid "We also draw Polylines and filled shapes.\n"
+msgstr "Nous pouvons également créer des polylignes et des formes remplies.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:98
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:811
+msgid ""
+"A Polyline is drawn by dragging to place each of the point in the "
+"Polyline.\n"
+msgstr ""
+"Une polyligne est dessinée en faisant glisser le curseur pour placer chacun "
+"de ses points.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:125
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:813
+msgid ""
+"To finish off the Polyline press the <Space> key or choose another drawing "
+"type.\n"
+msgstr ""
+"Pour terminer la polyligne, appuyez sur la touche <Space> ou choisissez un "
+"autre type de dessin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:132
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:815
+msgid "A filled Polygon is drawn in the same way.\n"
+msgstr ""
+"Un polygone plein est dessiné de la même manière\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:158
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:817
+msgid "When you are finished, press the <Space> key to complete the polygon.\n"
+msgstr ""
+"Lorsque vous avez terminé, appuyez sur la touche<Space> pour terminer le "
+"polygone.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:165
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:819
+msgid ""
+"You can use the Above and Below Commands to move lines and shapes to the "
+"front or back of the drawing.\n"
+msgstr ""
+"Vous pouvez utiliser les commandes \"Editer|Au-dessus\" et \"Editer|Au-"
+"dessous\" pour déplacer des lignes et des formes vers l'avant ou l'arrière "
+"du dessin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:182
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:821
+msgid "Filled Boxes and Circles work the same as line Boxes and Circles.\n"
+msgstr ""
+"Les boîtes et cercles pleins fonctionnent comme les boîtes et cercles "
+"vides.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmlines2.xtr:199
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:8
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:824
+msgid ""
+"In the drawing area of the main window you can see an hollow upwards arrow "
+"which represents the mouse cursor. In this demo the mouse will move about "
+"to show you the actions of different commands.\n"
+msgstr ""
+"Dans la zone de dessin de la fenêtre principale, vous verrez une flèche vide à la place du pointeur de souris. Cette démo la déplacera pour vous montrer comment fonctionnent les différentes commandes.\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:825
+msgid ""
+"The hollow arrow represents the mouse cursor without a mouse button being "
+"pressed.\n"
+msgstr ""
+"La flèche vide correspond au pointeur de la souris sans appuyer sur le "
+"bouton.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:827
+msgid ""
+"When the left mouse button would be pressed, the mouse cursor appears to "
+"flash and the hollow arrow is replaced by a solid left-pointing red arrow "
+"while the button is pressed.\n"
+msgstr ""
+"Lorsque le bouton gauche de la souris est enfoncé, le curseur de la souris "
+"semble clignoter et la flèche creuse est remplacée par une flèche rouge "
+"pointant vers la gauche tant que le bouton est enfoncé.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:828
+msgid ""
+"Note: these color changes occur only during the demo to simulate mouse "
+"button presses.\n"
+msgstr ""
+"Remarque : ces changements de couleur ne se produisent que pendant la "
+"démonstration pour simuler des frappes sur les boutons de la souris.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:24
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:830
+msgid "Moving the mouse while a mouse button is pressed is called 'dragging'.\n"
+msgstr ""
+"Déplacer la souris en maintenant le bouton de la souris enfoncé s'appelle "
+"«glisser».\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:32
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:832
+msgid ""
+"When the left mouse button is released, the mouse cursor flashes and the "
+"hollow up black arrow is restored.\n"
+msgstr ""
+"Lorsque le bouton gauche de la souris est relâché, le pointeur de la souris "
+"clignote et la flèche noire vide est restaurée.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:40
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:834
+msgid ""
+"Dragging with the right button is simulated by a blue right-facing solid "
+"cursor.\n"
+msgstr ""
+"Le glissement avec le bouton droit est représenté par un curseur bleu plein pointé vers la droite.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:49
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:836
+msgid "Release Right Click\n"
+msgstr "Relâcher le clic droit\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:57
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:62
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:839
+msgid "Sometimes the Shift key is held down while using the mouse \n"
+msgstr ""
+"Parfois, la touche Maj est maintenue enfoncée pendant l'utilisation de la "
+"souris \n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:840
+msgid ""
+"This is indicated by an outlined arrow with the letter S near the arrow.\n"
+msgstr ""
+"Cette situation est indiquée par une flèche encadrée avec la lettre S près "
+"de la flèche.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:71
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:842
+msgid ""
+"The left mouse button is held down with the Shift and dragged for a Left-"
+"Shift-Drag. \n"
+msgstr ""
+"Le bouton gauche de la souris est maintenu enfoncé avec la touche Maj et déplacé pour un glissement vers la gauche.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:86
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:844
+msgid "Sometimes the Control key is held down while using the mouse. \n"
+msgstr ""
+"Parfois, la touche Ctrl est maintenue enfoncée lorsque vous utilisez la souris.\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:845
+msgid ""
+"This is indicated with an upward filled arrow head with the letter C near "
+"the arrow \n"
+msgstr ""
+"C'est indiqué par une tête de flèche pleine vers le haut avec la lettre C "
+"près de la flèche\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:98
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:847
+msgid ""
+"If while the Control is held the Left mouse button is held down it is a "
+"Ctrl-Move and a Ctrl-Left-Drag. \n"
+msgstr ""
+"Si le bouton gauche de la souris est maintenu enfoncé pendant que le contrôle est effectué, il s'agit d'un Ctrl-Déplacer et d'un Ctrl-Gauche-Glisser. \n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:848
+msgid ""
+"This is indicated by an an left-facing open-headed arrow with the letter C "
+"near it.\n"
+msgstr ""
+"Ceci est indiqué par une flèche à tête ouverte tournée vers la gauche, avec "
+"la lettre C à côté.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:114
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:850
+msgid "You can also use the Control key with the Right mouse button. \n"
+msgstr ""
+"Vous pouvez également utiliser la touche Contrôle avec le bouton droit de la"
+" souris.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:851
+msgid ""
+"This is indicated with a right-facing filled arrow with an open arrow head "
+"and the letter C near the arrow \n"
+msgstr ""
+"C'est indiqué par une flèche pleine orienté vers la droite avec une tête de "
+"flèche ouverte et la lettre C près de la flèche\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmouse.xtr:130
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:23
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:854
+msgid ""
+"The main drawing area shows a portion of total layout. You can zoom in or "
+"zoom out by choosing 'Zoom In' or 'Zoom Out' in the 'Edit' menu, by using "
+"the Zoom buttons on the toolbar or by using the 'Page Down' and 'Page Up' "
+"keys.\n"
+msgstr ""
+"La zone de dessin principale montre une partie du plan total. Vous pouvez "
+"zoomer ou dézoomer en choisissant «Zoom avant» ou «Zoom arrière» dans le "
+"menu «Affichage», en utilisant les boutons Zoom de la barre d'outils ou en "
+"utilisant les touches «Page suivante» et «Page précédente», ou la molette de"
+" la souris.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:855
+msgid "You can see the entire layout in the Map window.\n"
+msgstr ""
+"Vous pouvez voir l'intégralité du plan de voie dans la fenêtre de la "
+"carte.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:33
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:857
+msgid "As you Zoom Out tracks are drawn with one line instead of two.\n"
+msgstr ""
+"Lorsque vous effectuez un zoom arrière, les voies sont dessinées avec une "
+"voie au lieu de deux.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:49
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:860
+msgid ""
+"You can change what portion of the layout is shown by using the 'Map' window"
+" which shows a compressed version of the entire layout. A hilighted area of"
+" the 'Map' (in blue highlight) shows what portion of the layout is displayed"
+" in the main drawing area.\n"
+msgstr ""
+"Vous pouvez modifier une partie du plan affichée en utilisant la fenêtre \"Carte\" qui montre une version compressée du plan entier. Une zone éclairée de la «Carte» (en surbrillance bleue) montre quelle partie du plan est affichée dans la zone de dessin principale.\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:861
+msgid ""
+"You can Left-Drag the hilighted area in the Map window to change the "
+"displayed portion of the layout.\n"
+msgstr ""
+"Vous pouvez modifier la zone affichée sur la fenêtre de navigation en "
+"faisant glisser la zone en surbrillance dans la fenêtre du plan.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:863
+msgid ""
+"You can also Right-Drag on the Map window to set the scale and position of "
+"the Main window.\n"
+msgstr ""
+"Vous pouvez également faire glisser vers la droite dans la fenêtre de "
+"navigation pour déterminer l'échelle et la position du dessin dans la "
+"fenêtre principale.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmmovabt.xtr:72
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmnotes.xtr:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:866
+msgid ""
+"The <Note> command lets you attach notes to various spots on the layout.\n"
+msgstr ""
+"La commande<Note> permet de placer des notes à différents points du plan de "
+"tracé.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmnotes.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:868
+msgid ""
+"When you place a note, the Note editor window is displayed which lets you "
+"enter the note.\n"
+msgstr ""
+"Lorsque vous créez une note, l'éditeur de notes s'ouvre, ce qui vous permet "
+"de saisir un texte.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmnotes.xtr:22
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:870
+msgid ""
+"If you click on a note in <Describe> mode the Note editor displays the "
+"note.\n"
+msgstr "Si vous cliquez sur une note en mode <Describe>, l'éditeur apparaît.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmnotes.xtr:39
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:872
+msgid "This is the end of the XTrackCAD Demos.\n"
+msgstr "C'est la fin des démos XTrackCAD.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:873
+msgid "Click Step to return to XTrackCAD.\n"
+msgstr "Cliquez sur Pas à Pas pour revenir à XTrackCAD.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:874
+msgid "Thanks for watching.\n"
+msgstr "Merci d'avoir regardé.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:32
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:876
+msgid "This example shows how to create parallel tracks.\n"
+msgstr "Cet exemple montre comment créer des voies parallèles.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:37
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:878
+msgid ""
+"The separation is set in the <Parallel Separation> window. You should set "
+"this value before you begin to select tracks.\n"
+msgstr ""
+"La séparation est définie dans la fenêtre <Parallel Separation>. Vous devez "
+"définir cette valeur avant de commencer à sélectionner des voies.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:49
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:880
+msgid ""
+"You control which side the parallel track will be on by moving the cursor "
+"from one side of the track centerline to the other.\n"
+msgstr ""
+"Vous pouvez contrôler de quel côté la voie parallèle sera créée en déplaçant"
+" le curseur d'un côté de l'axe de la voie à l'autre.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:81
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:882
+msgid "When you release the mouse button the new parallel track is created.\n"
+msgstr ""
+"Dès que vous relâchez le bouton de la souris, la voie parallèle est créée.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:883
+msgid ""
+"Note that the <Parallel> command remains active after you created the track."
+" This is controlled by the Sticky dialog in the Options menu.\n"
+msgstr ""
+"Notez que la commande <Parallel> reste active après la création de la voie. "
+"Ceci est contrôlé par la boîte de dialogue \"Commandes collantes\" dans le "
+"menu 'Options>Collant'.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:92
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:885
+msgid "You cannot create a track parallel to a turnout.\n"
+msgstr "Vous ne pouvez pas créer une voie parallèle à un aiguillage.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:172
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:887
+msgid ""
+"Note that the new curved track is automatically connected to the short "
+"parallel track.\n"
+msgstr ""
+"Notez que la nouvelle voie incurvée est automatiquement connectée à la voie "
+"parallèle courte.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmparall.xtr:180
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:19
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:890
+msgid ""
+"Polylines and polygons (created with the <Draw> command) can be modified by "
+"dragging on their corners or edges.\n"
+msgstr ""
+"Les polylignes et les polygones (créés avec la commande <Draw>) peuvent être modifiés en faisant glisser leurs angles ou leurs bords.\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:891
+msgid "First Left Click on the shape you want to modify.\n"
+msgstr ""
+"En premier lieu, faites un Clic gauche sur la forme que vous souhaitez modifier.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:29
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:893
+msgid "Then drag on the point you want to move\n"
+msgstr "Faites ensuite glisser le point que vous souhaitez déplacer\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:39
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:895
+msgid "And finally press the Space bar to finish the change\n"
+msgstr ""
+"Et enfin, appuyez sur la barre espace pour terminer la modification\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:54
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:897
+msgid "If you select the middle of an Edge a new Corner is created.\n"
+msgstr "Si vous sélectionnez le centre d'une arête, un nouveau coin est créé.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:72
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:899
+msgid "To delete a corner, select and then press Delete or Backspace\n"
+msgstr ""
+"Pour supprimer un coin, sélectionnez et appuyez ensuite sur Supprimer ou "
+"Retour arrière\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:98
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:901
+msgid "But you cannot have a Poly-shape with less than 3 sides.\n"
+msgstr "Mais vous ne pouvez pas avoir une polyforme avec moins de 3 côtés.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmplymod.xtr:126
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:126
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:904
+msgid ""
+"To use the <Profile> command you first need to define Elevations on your "
+"layout.\n"
+msgstr ""
+"Pour utiliser la commande<Profile>, vous devez d'abord définir des "
+"élévations sur votre plan.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:905
+msgid "In this example we'll use the Elevations defined in the last example.\n"
+msgstr ""
+"Dans cet exemple, nous utiliserons les élévations définies dans le dernier "
+"exemple.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:906
+msgid "You can move or resize the Profile dialog now if you want.\n"
+msgstr "La fenêtre du profil d'élévation peut maintenant être agrandie.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:135
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:908
+msgid ""
+"To show the Profile you need to select a Path on the tracks of your "
+"layout.\n"
+msgstr ""
+"Pour afficher le profil d'élévation, vous devez sélectionner un itinéraire "
+"sur votre plan.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:909
+msgid "Select a Defined Elevation point (marked by Gold dots).\n"
+msgstr ""
+"Sélectionnez un point d'élévation défini (marqué par des points dorés).\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:910
+msgid "We will start with the right end of the siding.\n"
+msgstr "Nous commençons à l'extrémité droite de la voie d'évitement.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:148
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:912
+msgid ""
+"The second Point is at the left end of the siding. The Path will be drawn "
+"in Purple on the layout.\n"
+msgstr ""
+"Le deuxième point est à l'extrémité gauche du revêtement. Le chemin sera "
+"indiqué en violet sur le plan.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:160
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:914
+msgid "Now select the end of one of the Branches\n"
+msgstr "Maintenant, sélectionnez le bout d'une des branches.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:169
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:916
+msgid ""
+"The Profile line is drawn in Red. This indicates that there some turnouts "
+"on that section of the Path which have more than 2 connections.\n"
+msgstr ""
+"Le profil d'élévation est dessiné en rouge. Cela signifie qu'il existe des "
+"aiguillages sur cette section du chemin d'accès qui ont plus de 2 "
+"connexions.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:917
+msgid ""
+"The grade on this part of the Path is the average and may be affected by "
+"other Elevations, such the end of the lower branch.\n"
+msgstr ""
+"La pente de cette partie du chemin est une valeur moyenne et peut être "
+"influencée par d'autres élévations telles que l'extrémité de la branche "
+"inférieure.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:178
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:919
+msgid "Now try to select the End-Point of the other branch.\n"
+msgstr ""
+"Essayez maintenant de sélectionner le point de fin de l'autre branche.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:920
+msgid ""
+"You will get an error message because there is no route to one of the ends "
+"of the existing Path.\n"
+msgstr ""
+"Vous recevrez un message d'erreur car il n'y a pas de route vers l'un des "
+"points de fin du chemin existant.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:187
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:922
+msgid ""
+"In this case remove the last part of the Path by clicking on current end of "
+"the Path and reselect the End-Point.\n"
+msgstr ""
+"Dans ce cas, supprimez la dernière partie du chemin en cliquant sur "
+"l'extrémité actuelle du chemin et sélectionnez à nouveau le point de fin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:198
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:924
+msgid "Notice that the Grade has changed on the Profile.\n"
+msgstr "Notez que la pente a changé dans le profil d'élévation.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:205
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:926
+msgid ""
+"You can Ignore End-Points on the Path by using Shift-Right-Click to display "
+"the Profile Options popup menu and chosing Ignore.\n"
+msgstr ""
+"Vous pouvez ignorer les points de fin sur le tracé en utilisant Maj+clic "
+"droit. Dans les options du profil d'élévation, choisissez \"Ignorer\".\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:927
+msgid ""
+"Note: We can't show the menu in demo mode but we will show the effect of a "
+"Shift Right Click and selecting ignore. We will be Ignoring the End-Point "
+"of the Turnout that is not on the Path.\n"
+msgstr ""
+"Remarque : nous ne pouvons pas afficher le menu en mode démo, mais nous "
+"montrerons l'effet d'un Maj+clic droit avec la sélection 'ignorer'. Nous "
+"ignorerons le point de fin de l'aiguillage qui ne se trouve pas sur le "
+"chemin.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:217
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:929
+msgid "Notice that part of the Profile line is redrawn in Blue.\n"
+msgstr ""
+"Notez qu'une partie de la ligne de profil d'élévation est redessinée en "
+"bleu.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:930
+msgid ""
+"Also, the Computed Elevations and Grade marker on the right side of the "
+"layout have been updated.\n"
+msgstr ""
+"En outre, les calculs de marqueurs d'élévations et de niveaux situés à "
+"droite du plan ont été mis à jour.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:225
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:932
+msgid ""
+"You can set additional Defined Elevation points using the Profile Options "
+"popup menu. These points are added to the Profile if they are on the "
+"Path.\n"
+msgstr ""
+"Vous pouvez définir des points d'élévation supplémentaires à l'aide du menu "
+"contextuel Elévation. S'ils se trouvent sur le chemin, ces points sont "
+"ajoutés au profil.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:933
+msgid ""
+"We do this by Shift Right Click to display the Profile Options popup menu "
+"and selecting Define.\n"
+msgstr ""
+"Pour ce faire, cliquez sur le bouton droit de la souris pour afficher le "
+"menu contextuel \"Élévation\" et sélectionnez l'élément de voie puis "
+"\"Défini\".\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:237
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:935
+msgid ""
+"We've just added a Defined Elevation point to the middle of the lower "
+"branch. Notice the addition on the Profile dialog.\n"
+msgstr ""
+"Nous venons d'ajouter un point d'élévation définie au milieu de la branche "
+"inférieure. Notez l'ajout dans la boîte de dialogue Profil.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:246
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:937
+msgid ""
+"For the siding we defined a Station name but it's not on the Path, since the"
+" Path takes the shortest distance between points.\n"
+msgstr ""
+"Pour le revêtement, on a attribué un nom de station. Ce n'est pas sur le chemin car un chemin utilise toujours le chemin le plus court entre les points.\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:938
+msgid ""
+"We can Ignore one of the End-Points on a Turnout to force the Path to take "
+"the other route.\n"
+msgstr ""
+"En ignorant l'un des points d'extrémité d'un aiguillage, nous pouvons forcer"
+" le chemin à emprunter l'autre route.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:939
+msgid ""
+"Again we use Shift-Right-Click to display the Profile Options menu and "
+"select ignore.\n"
+msgstr ""
+"Encore une fois, nous utilisons Maj-Clic-Droit pour afficher les options du "
+"menu profil puis sélectionner Ignorer.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:258
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:941
+msgid "Now remove the First section of the Path,\n"
+msgstr "Maintenant, supprimez la première section du chemin,\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:268
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:943
+msgid "and reselect it.\n"
+msgstr "et resélectionnez-le.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:277
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:945
+msgid ""
+"Now the Path goes through the Station End-Point and the name appears on the "
+"Profile dialog.\n"
+msgstr ""
+"Maintenant, le chemin passe par le point de fin de la station et le nom "
+"apparaît dans la boîte de dialogue du profil d'élévation.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:286
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:947
+msgid "Now we need to increase the separation where the tracks cross.\n"
+msgstr "Nous devons maintenant augmenter la distance qui sépare les voies.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:948
+msgid ""
+"The two Elevations you see here are Computed Elevations which means "
+"XTrackCAD dynamically computes the Elevation based on the Elevations of "
+"connecting tracks.\n"
+msgstr ""
+"Les deux élévations que vous voyez ici sont des élévations calculées, ce qui"
+" signifie que XTrackCAD exécute dynamiquement le calcul d'élévation en "
+"fonction des voies connectées.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:949
+msgid ""
+"First make the lower End-Point a Defined Elevation point using Shift-Right-"
+"Click and the Profile Options menu. You will see the End-Point marked by a "
+"Gold dot and a new line is added to the Profile dialog.\n"
+msgstr ""
+"Tout d'abord marquer l'extrémité inférieure. Pour ce faire, cliquez avec le "
+"bouton droit de la souris sur le menu d’options du profil de hauteur "
+"\"Modifier>Profil\". Vous verrez que l'extrémité choisie est maintenant "
+"marqué d'un point doré. Le profil de hauteur a été ajouté une nouvelle "
+"voie.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:297
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:951
+msgid "Now, drag the point on the Profile Dialog to change the Elevation.\n"
+msgstr ""
+"Maintenant, faites glisser le point dans la boîte de dialogue 'Profil' pour "
+"modifier l’élévation.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:952
+msgid ""
+"Note the grade on each side of the point will be displayed at the bottom of "
+"the Profile dialog.\n"
+msgstr ""
+"Notez que la pente de chaque côté du point apparaîtra en bas de la boîte de "
+"dialogue Profil.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:319
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:954
+msgid ""
+"After we release the Profile is updated to show the new Elevation and "
+"Grade.\n"
+msgstr ""
+"Après validation le profil affiche les nouvelles élévations et angles.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmprof.xtr:326
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:119
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:957
+msgid "The <Rescale> command will change the size of the selected objects.\n"
+msgstr "La commande<Rescale> modifie la taille des objets sélectionnés.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:958
+msgid "First we will try rescaling by ratio.\n"
+msgstr "Nous allons d’abord essayer de redimensionner le ratio.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:126
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:960
+msgid "We are going to make everything 150% bigger.\n"
+msgstr "Nous augmentons tout à 150%.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:136
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:962
+msgid "Note the track gauge did not change.\n"
+msgstr "Notez que l'écartement de voie n'a pas changé.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:143
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:964
+msgid "Let's try that again.\n"
+msgstr "Essayons à nouveau.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:965
+msgid "Now we are going to convert from one scale to another.\n"
+msgstr "Nous passons maintenant d'une échelle à une autre.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:154
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:967
+msgid "We will convert everything from N scale to HO scale...\n"
+msgstr "Nous allons tout convertir de N en H0 …\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:161
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:969
+msgid "and change the track gauge as well.\n"
+msgstr "et changez également l'écartement de voie.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:169
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:971
+msgid "Note that the Title of the turnout did not change.\n"
+msgstr "Notez que le titre de l'aiguillage n'a pas changé.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrescal.xtr:177
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrotate.xtr:72
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:974
+msgid ""
+"The <Rotate> command will pivot the Selected objects. First Click on the "
+"pivot point and then drag to Rotate the objects.\n"
+msgstr ""
+"La commande<Rotate> permet de faire pivoter des objets sélectionnés. Cliquez"
+" d'abord sur le centre de la rotation, puis faites-le glisser pour faire "
+"pivoter les objets.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:975
+msgid ""
+"In this example we will rotate the selected structure about it's center.\n"
+msgstr ""
+"Dans cet exemple, nous allons faire pivoter la bâtiment sélectionnée autour "
+"de son centre.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrotate.xtr:135
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:977
+msgid ""
+"The <Rotate> command will restrict the rotation to increments of 15° if you "
+"hold down the <Shift> and <Ctrl> keys.\n"
+msgstr ""
+"La commande <Rotate> limitera la rotation à des incréments de 15 ° si vous maintenez les touches <Shift> et <Ctrl> enfoncées.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrotate.xtr:316
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:979
+msgid ""
+"There are Rotate options that you can access by Shift-Right-Click command "
+"menu and choosing 'Rotate...'.\n"
+msgstr ""
+"Il existe des options de rotation auxquelles vous pouvez accéder par le menu"
+" de commande Maj-Clic droit et en choisissant 'Rotation...'.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:980
+msgid ""
+"You can rotate the selected object by a fixed rotatation (15, 30, 45, 90, "
+"180) either clockwise or counter-clockwise, or by manually entering any "
+"angle.\n"
+msgstr ""
+"Vous pouvez faire pivoter l'objet sélectionné selon une rotation fixe (15, 30, 45, 90, 180) dans le sens horaire ou antihoraire, ou en entrant manuellement n'importe quel angle.\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:981
+msgid ""
+"The other option is 'Align' which allows you align selected objects with an "
+"unselected object. This is useful to align railside buildings with track.\n"
+msgstr ""
+"L'autre option est 'Aligner' qui vous permet d'aligner les objets "
+"sélectionnés avec un objet non sélectionné. C'est utile pour aligner les "
+"bâtiments ferroviaires avec la voie.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:982
+msgid "Unfortunately, we can not currently demonstrate these features.\n"
+msgstr ""
+"Malheureusement, nous ne pouvons actuellement pas démontrer ces "
+"fonctionnalités.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmrotate.xtr:529
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmruler.xtr:14
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:985
+msgid ""
+"The <Ruler> command draws a Ruler on the layout you can use to measure "
+"distances.\n"
+msgstr ""
+"La commande<Ruler> dessine une règle sur le plan de voie. Cela peut être "
+"utilisé pour mesurer des distances.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmruler.xtr:24
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:987
+msgid "If you press the <Ruler> command again the Ruler is removed.\n"
+msgstr ""
+"Si vous cliquez à nouveau <Ruler>sur la commande <Règle>, la règle sera "
+"supprimée.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmruler.xtr:32
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:989
+msgid "But you can place it somewhere else.\n"
+msgstr "Mais vous pouvez le placer ailleurs.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmruler.xtr:42
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:173
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:992
+msgid "The <Select> command is used to select tracks.\n"
+msgstr "La commande<Select> est utilisée pour sélectionner les voies.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:993
+msgid "Selected tracks can be moved or rotated during the <Select> command.\n"
+msgstr ""
+"Les voies sélectionnées peuvent être déplacées ou pivotées pendant la "
+"commande<Select>.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:994
+msgid "Selected tracks can also be deleted, hidden, listed and exported.\n"
+msgstr ""
+"Les voies sélectionnées peuvent également être supprimées, masquées, "
+"répertoriées et exportées.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:995
+msgid ""
+"When you move the cursor near a track that could be selected, the track is "
+"drawn with think blue lines.\n"
+msgstr ""
+"Lorsque vous déplacez le curseur près d'une voie qui pourrait être sélectionnée, la voie est dessinée avec des lignes bleues.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:184
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:997
+msgid "A Left-Click selects a track\n"
+msgstr ""
+"Un simple clic gauche sélectionne une voie.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:192
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:999
+msgid ""
+"The selected track will have red X's drawn where it is connected to "
+"unselected tracks. This indicates where the track will be disconnected if "
+"the selected tracks are moved, rotated or deleted.\n"
+msgstr ""
+"La voie sélectionnée aura des X rouges dessinés là où elle est connectée à "
+"des voies non sélectionnées. Cela désigne l'endroit où la voie sera "
+"déconnectée si les voies sélectionnées sont déplacées, tournées ou "
+"supprimées.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1000
+msgid "A Ctrl-Left-Click adds tracks to the selection\n"
+msgstr ""
+"Un Ctrl-clic gauche ajoute des voies à la sélection\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:211
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1002
+msgid "Selecting a selected track re-selects only it.\n"
+msgstr ""
+"La sélection d'une voie déjà sélectionnée la désélectionne.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:219
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1004
+msgid "Selecting off all tracks de-selects them.\n"
+msgstr ""
+"La sélection de toutes les voies déjà sélectionnées les désélectionne.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:227
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:232
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1007
+msgid ""
+"To demonstrate Select Connected, first select two tracks at the end of a "
+"part to be selected \n"
+msgstr ""
+"Pour démontrer Sélectionner Connecté, sélectionner d'abord deux voies à la "
+"fin d'une partie à sélectionner\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:248
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1009
+msgid ""
+"Shift-Left-Click on a track will select all unselected tracks connected to "
+"the track. Selection stops at a previously selected track.\n"
+msgstr ""
+"Maj-clic gauche sur une voie sélectionne toutes les voies qui y sont "
+"connectées. Le processus s'arrête dès qu'une voie est déjà sélectionnée.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:260
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1011
+msgid ""
+"Be careful with this because its very easy to select all tracks this way\n"
+msgstr ""
+"Soyez prudent parce que ça permet facilement de sélectionner toutes les voies.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:274
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1013
+msgid "The <esc> key will deselect all objects.\n"
+msgstr "La touche<esc> désélectionnera tous les objets.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:282
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:287
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1016
+msgid "Left-Drag is used to select all objects within an area.\n"
+msgstr "Glisser-gauche sert à sélectionner tous les objets d'une zone.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:295
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1018
+msgid "Shift-Left-Drag is used to move selected tracks.\n"
+msgstr ""
+"Maj+glisser à gauche est utilisé pour déplacer les voies sélectionnées.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1019
+msgid ""
+"When you move selected tracks that are connected to unselected tracks, the "
+"tracks will be disconnected. These points are marked by a Red cross on the "
+"layout.\n"
+msgstr ""
+"Si vous déplacez des voies connectées vers des voies non sélectionnées, la "
+"connexion sera annulée. Ces points sont marqués d'une croix rouge sur le "
+"plan de voie.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1020
+msgid ""
+"If the unconnected end point of a track and one being moved are close "
+"enough, two circles are displayed, showing where the tracks will be snapped "
+"together. \n"
+msgstr ""
+"Si le point de fin non connecté d'une voie et d'une autre en cours de déplacement sont suffisamment proches, deux cercles s'affichent, indiquant où les voies seront accrochées ensemble.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:313
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1022
+msgid "Let's move the Main window to see what's going on next\n"
+msgstr "Déplaçons la fenêtre principale pour voir ce qui se passe ensuite.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:320
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1024
+msgid ""
+"Ctrl-Left-Drag rotates the selected tracks about the pivot point (which is "
+"where you started the drag)\n"
+msgstr ""
+"Ctrl+gauche+glisser fait pivoter les voies sélectionnées autour du point de pivot (qui est l'endroit où vous avez commencé le glissement)\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:382
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:387
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1027
+msgid "Next we select the <Join Tracks> command to demonstrate \"Move To Join\" \n"
+msgstr ""
+"Ensuite, nous sélectionnons la commande <Join Tracks> pour montrer \"Move To Join\"\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:392
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1029
+msgid ""
+"You can use Shift-Left-Click to select an open endpoint of a selected track "
+"to join with an unselected track. \n"
+msgstr ""
+"Vous pouvez utiliser Maj-Clic gauche pour déplacer un point de fin d'une voie sélectionnée pour rejoindre une voie non sélectionnée.\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1030
+msgid "We'll move the Main window again.\n"
+msgstr "Nous allons à nouveau déplacer la fenêtre principale.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:415
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1032
+msgid ""
+"You then Left-Click on an endpoint of a unselected track to move the "
+"selected tracks to join. \n"
+msgstr ""
+"Vous pouvez utiliser Maj-Clic gauche pour déplacer un point de fin d'une voie sélectionnée pour rejoindre une voie non sélectionnée.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmselect.xtr:430
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:30
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1035
+msgid "The <Split> command is used to split and disconnect tracks.\n"
+msgstr ""
+"La commande <Split> est utilisée pour diviser et déconnecter les voies.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:35
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1037
+msgid "Simply select the spot on the track you want to split.\n"
+msgstr ""
+"Sélectionnez simplement l'endroit de la voie que vous souhaitez "
+"fractionner.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1038
+msgid "You cannot split turnouts (unless you hold down the Shift key).\n"
+msgstr ""
+"Les aiguillages ne peuvent être séparés (que si vous appuyez sur la touche "
+"Maj).\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:48
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1040
+msgid ""
+"If you split at spot that is already an End-Point between two tracks, or "
+"split twice at the same spot, the track is disconnected.\n"
+msgstr ""
+"Lors du fractionnement sur une extrémité existante ou lors du fractionnement"
+" deux fois au même endroit, les voies sont fractionnées.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:60
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:65
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1043
+msgid "The <Tunnel> command marks selected tracks as hidden.\n"
+msgstr "La commande <Tunnel> marque les voies sélectionnées comme masquées.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1044
+msgid ""
+"A tunnel portal is drawn at the boundary between hidden and normal track.\n"
+msgstr ""
+"Une entrée de tunnel est dessinée à la limite entre voie cachée et voie "
+"normale.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1045
+msgid ""
+"How the hidden tracks are drawn (solid, dashed or invisible) is controlled "
+"by the Draw EndPts radio button group on the Setup dialog.\n"
+msgstr ""
+"La manière dont les voies cachées sont dessinées (pleines, en pointillés ou "
+"invisibles) est contrôlée par le groupe de boutons radio de la boîte de "
+"dialogue Options d'affichage.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:86
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1047
+msgid "To 'un-hide' a track just Select it again and click the Tunnel button.\n"
+msgstr ""
+"Pour «masquer» une voie, sélectionnez-la à nouveau et cliquez sur le bouton "
+"Tunnel.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmsplit.xtr:100
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmstrtrk.xtr:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1050
+msgid ""
+"Straight tracks are created by selecting the first End-Point of the track.\n"
+msgstr ""
+"Les voies droites sont créées en sélectionnant le premier point de fin de la"
+" voie.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmstrtrk.xtr:12
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1052
+msgid "Then the other End-Point is dragged to its final postion.\n"
+msgstr ""
+"Ensuite, l'autre point d'extrémité est déplacé vers sa position correcte.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmstrtrk.xtr:20
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1054
+msgid "The left mouse button is released at the final end postion.\n"
+msgstr "À ce stade, le bouton gauche de la souris est relâché.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmstrtrk.xtr:27
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtbledg.xtr:23
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1057
+msgid ""
+"Table Edges are used to mark the edges of the layout, either for aisles or "
+"room walls.\n"
+msgstr ""
+"Les bords de table sont utilisés pour marquer les bords du plan, que ce soit"
+" pour les allées ou les murs de la pièce.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtbledg.xtr:47
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1059
+msgid ""
+"A Table Edge is attracted to other objects, unless you hold down the Alt "
+"key.\n"
+msgstr ""
+"Un bord de table est attiré par d'autres objets, sauf si vous maintenez la "
+"touche Alt enfoncée.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtbledg.xtr:145
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1061
+msgid "Table Edges can be modified by dragging on their ends.\n"
+msgstr ""
+"Les bords de table peuvent être modifiés en faisant glisser leurs "
+"extrémités.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtbledg.xtr:193
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1063
+msgid ""
+"Unless you hold down the Alt key while dragging then the Table Edge will be "
+"attracted to other objects.\n"
+msgstr ""
+"À moins que vous ne mainteniez la touche Alt enfoncée tout en faisant "
+"glisser, le bord de la table sera attiré par d'autres objets.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtbledg.xtr:231
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtodes.xtr:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1066
+msgid ""
+"These examples shows some of the various Turnout Designer windows. Each "
+"window defines a different type of turnout.\n"
+msgstr ""
+"Ces exemples présentent certaines des différentes fenêtres de conception "
+"d'aiguillage. Chaque fenêtre est utilisée pour un type d'aiguillage "
+"différent.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1067
+msgid ""
+"In each window there are a number of parameters to fill in and one or two "
+"description lines.\n"
+msgstr ""
+"Chaque fenêtre de dialogue contient un certain nombre de paramètres à "
+"renseigner et une ou deux lignes de description.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1068
+msgid "You can print the design to check the dimensions before saving them.\n"
+msgstr ""
+"Vous pouvez imprimer le dessin pour vérifier les dimensions avant de les "
+"enregistrer.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtodes.xtr:16
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1070
+msgid "This is the regular turnout.\n"
+msgstr "Il s'agit d'un aiguillage normal.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1071
+msgid ""
+"In addition to the dimensions, you also enter the Title (Manufacturer, "
+"Description and Part Number). For Turnouts with Left and Right hand "
+"versions there are separate Descriptions and Part Numbers.\n"
+msgstr ""
+"Outre les dimensions, vous entrez également le titre (fabricant, description et numéro de pièce). Pour les aiguillages avec versions à gauche et à droite, la description et les références sont enregistrées séparément.\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1072
+msgid ""
+"Some Turnouts and Sectional track are pre-mounted on roadbed. For these "
+"parts you can specify the width of the roadbed, the thickness of the lines "
+"drawn for the edge of the roadbed and the color.\n"
+msgstr ""
+"Certains aiguillages et sections de rails sont pré-montés sur un ballast. "
+"Pour ces pièces, vous pouvez spécifier la largeur du ballast, l'épaisseur "
+"des lignes tracées pour le bord du ballast et la couleur.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtodes.xtr:30
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1074
+msgid "The double slip switch is described by only a few parameters.\n"
+msgstr ""
+"La traversée de jonction double n'est décrit que par quelques paramètres.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtodes.xtr:40
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1076
+msgid "The double crossover only needs length and track separation.\n"
+msgstr ""
+"La traversée-jonction double n'a besoin que d'une longueur et d'une "
+"séparation des rails.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtodes.xtr:48
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:30
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1079
+msgid ""
+"Pressing the turnout button displays the Turnout Selection window to let you"
+" choose a turnout to place.\n"
+msgstr ""
+"Appuyez sur le bouton 'aiguillage' pour afficher la fenêtre Sélection afin "
+"de vous permettre d'en choisir un pour le placer.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1080
+msgid ""
+"Note that once you start to place the turnout on the Main window the Turnout"
+" Selection window disappears. This feature is enabled by the Hide toggle "
+"button on the dialog.\n"
+msgstr ""
+"Notez que lorsque vous commencez à placer l'aiguillage dans la fenêtre "
+"principale, la fenêtre Sélection d'aiguillage disparaît. Cette commodité est"
+" activée par le bouton 'Cacher' de la boîte de dialogue.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:38
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1082
+msgid ""
+"You can place the turnout on a arbitrary position on the layout. Left-drag "
+"the turnout into place...\n"
+msgstr ""
+"Vous pouvez placer l'aiguillage à une position arbitraire du plan. Faites le"
+" glisser au bon endroit …\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:85
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1084
+msgid "Then you can rotate the turnout by Right dragging.\n"
+msgstr ""
+"Vous pouvez ensuite faire pivoter l'aiguillage en faisant glisser avec le "
+"bouton droit de la souris.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1085
+msgid ""
+"You can also use Shift-Right-Click to display a popup menu that lets you "
+"rotate the Turnout by specific angles.\n"
+msgstr ""
+"Vous pouvez ouvrir un menu contextuel avec Maj+clic droit, ce qui vous "
+"permet de faire pivoter l'aiguillage selon des angles fixes.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:136
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1087
+msgid ""
+"When you are satisfied with the position and orientation of the turnout "
+"press Space bar or the Return key on the keyboard to finish placing the "
+"turnout.\n"
+msgstr ""
+"Lorsque vous êtes satisfait de la position et de l'orientation de "
+"l'aiguillage, appuyez sur la barre d'espace ou sur la touche \"Entr\" du "
+"clavier pour terminer la commande.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1088
+msgid ""
+"Pressing the Close button on the Turnout dialog will end the <Turnout> "
+"command as well as placing the turnout.\n"
+msgstr ""
+"Le fait d'appuyer sur le bouton Fermer dans la boîte de dialogue d'aiguillage mettra fin à la commande <Turnout>et placera l'aiguillage.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:146
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:189
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1091
+msgid ""
+"If you drag along an existing track the new turnout will be attached to the "
+"track.\n"
+msgstr ""
+"Si vous faites glisser l'aiguillage sur une voie existante, il sera connecté"
+" à la voie.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1092
+msgid ""
+"Note that the status line tells you the number of End-Points that would be "
+"connected and, the maximum displacement of the End-Points. This will be "
+"useful when building complex track, as we will see later.\n"
+msgstr ""
+"Notez que la ligne d'état vous indique le nombre de points d'extrémité qui "
+"seraient connectés ainsi que la distance maximale entre eux. Ce sera utile "
+"lors de la construction de voies complexes, comme nous le verrons plus "
+"tard.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:220
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1094
+msgid ""
+"By moving the cursor from one side to the other of the track centerline you "
+"can flip the turnout 180ᅵ.\n"
+msgstr ""
+"En déplaçant le curseur d'un côté à l'autre de l'axe de la voie, vous pouvez inverser l'aiguille de 180 °.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:236
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1096
+msgid ""
+"If you try to drag across another turnout the new turnout will placed at the"
+" nearest End-Point of the existing turnout.\n"
+msgstr ""
+"Si vous glissez le nouvel aiguillage par-dessus un aiguillage existant, le "
+"nouvel aiguillage sera connecté au point le plus proche de l'aiguillage "
+"existant.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:299
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1098
+msgid ""
+"When you press Space or Return while the turnout is on a track, the track "
+"will be split and the new turnout attached automatically.\n"
+msgstr ""
+"Si vous appuyez sur la barre d'espace ou sur la touche Entrée alors que "
+"l'aiguillage est sur une voie, cette voie est déconnectée et l'aiguillage "
+"est automatiquement connecté.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:307
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:366
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1101
+msgid "Pressing Close ends the <Turnout> command.\n"
+msgstr "Appuyez sur Fermer pour mettre fin à la commande <Turnout>.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtosel.xtr:372
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:21
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1104
+msgid "Sometimes it's useful to modify turnouts triming one of the ends.\n"
+msgstr ""
+"Il est parfois utile de modifier les aiguillages en coupant l'une des "
+"extrémités.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1105
+msgid "We use the <Split> command for this.\n"
+msgstr "Pour cela, nous utilisons la commande <Split>.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:28
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1107
+msgid "Normally, if we try to Split a turnout we get an error message.\n"
+msgstr ""
+"Normalement, si nous essayons de scinder un aiguillage, nous obtenons un "
+"message d'erreur.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:37
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1109
+msgid "Hold down the Shift key and try again.\n"
+msgstr ""
+"Appuyez sur Echap pour tout désélectionner. Maintenez la touche Maj enfoncée"
+" et réessayez.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:52
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1111
+msgid ""
+"The end of the turnout has been replaced by a piece of straight flex track "
+"which we can modify.\n"
+msgstr ""
+"La fin de l'aiguillage a été remplacée par un morceau de voie flexible droite que nous pouvons modifier.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:63
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1113
+msgid "We can try splitting the diverging leg.\n"
+msgstr "Nous pouvons essayer de scinder la voie déviée.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:74
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1115
+msgid ""
+"Notice that the tail of the diverging leg has been changed to a curved "
+"track...\n"
+msgstr "Notez que la voie déviée a été changée en voie incurvée ...\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:84
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1117
+msgid "and a straight track.\n"
+msgstr "et une voie droite.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtotrim.xtr:92
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:12
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1120
+msgid ""
+"This example show how to layout a yard using the <Turnout> and <Parallel> "
+"commands.\n"
+msgstr ""
+"Cet exemple montre comment aménager un grill à l'aide des commandes "
+"<Turnout> et<Parallel>.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:17
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1122
+msgid ""
+"You can resize and move the Turnout Selection dialog if it obscures the "
+"other windows.\n"
+msgstr ""
+"Vous pouvez redimensionner et déplacer la boîte de dialogue Sélection "
+"d'aiguillage si elle masque d'autres fenêtres.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1123
+msgid "First we place a turnout on the main line.\n"
+msgstr "Plaçons d’abord l'aiguillage sur la voie principale.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:35
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1125
+msgid "Next extend the turnout with the <Modify> command.\n"
+msgstr "Ensuite, étendez l'aiguillage avec la commande <Modify>.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:46
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1127
+msgid ""
+"Now create a track parallel to the main line. Make sure the separation is "
+"reasonable for your scale.\n"
+msgstr ""
+"Créez maintenant une voie parallèle à la ligne principale. Assurez-vous que "
+"la séparation est raisonnable pour votre échelle.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:62
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1129
+msgid "And place a turnout to connect the new track.\n"
+msgstr "Et placez un aiguillage à connecter à la nouvelle voie.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1130
+msgid "We'll zoom in here to see what's going on.\n"
+msgstr "En zoomant, nous pouvons voir ce qui se passe.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:78
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1132
+msgid ""
+"Notice how we control which way the turnout is facing by moving the mouse "
+"across the center line of the track.\n"
+msgstr ""
+"Remarquez comment nous contrôlons l'orientation de l'aiguillage en déplaçant"
+" la souris sur la ligne médiane de la voie.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:94
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1134
+msgid ""
+"The Status bar displays the number of auto-connections that will be made and"
+" the maximum offset.\n"
+msgstr ""
+"La barre d'état affiche le nombre de points de terminaison connectés et le décalage maximum.\n"
+"\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1135
+msgid ""
+"XTrackCAD adjusts the turnout position for the best fit to minimize any "
+"connection offset\n"
+msgstr ""
+"XTrackCAD ajuste la position de l'aiguillage pour obtenir un meilleur "
+"ajustement afin de minimiser tout décalage de connexion\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:106
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1137
+msgid "Note that placing the turnout splits the parallel track.\n"
+msgstr "Notez que placer l'aiguillage déconnecte la voie parallèle.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1138
+msgid "We have to delete the leftover piece by Selecting and Deleting it.\n"
+msgstr "Nous devons sélectionner et supprimer la pièce restante.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:120
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1140
+msgid "Repeat the process for the other tracks in the yard.\n"
+msgstr "Répétez le processus pour les autres voies du dépôt.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:149
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1142
+msgid "For the last track we will join with a curve instead of a turnout.\n"
+msgstr ""
+"Pour la dernière voie, nous allons raccorder une courbe au lieu d’un "
+"aiguillage.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtoyard.xtr:185
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrkwid.xtr:91
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1145
+msgid "We can indicate the mainline by making the rails wider.\n"
+msgstr ""
+"Nous pouvons mettre en évidence l'itinéraire principal en dessinant les "
+"voies plus épaisses.\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1146
+msgid "First we select the mainline tracks...\n"
+msgstr "Nous choisissons d’abord les voies principales ...\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrkwid.xtr:128
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1148
+msgid "And then select Medium Tracks from the Edit menu.\n"
+msgstr "Et puis sélectionnez \"Voies moyennes\" dans le menu \"Editer\".\n"
+
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1149
+msgid "We can't show the Edit menu, but we can show the effect.\n"
+msgstr ""
+"Nous ne pouvons pas afficher le menu Edition, mais nous pouvons montrer l'effet.\n"
+"\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrkwid.xtr:137
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1151
+msgid "We can make the rail thicker by selecting Thick Tracks.\n"
+msgstr "Nous pouvons rendre la voie plus épaisse en sélectionnant \"Épais\".\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrkwid.xtr:148
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrntab.xtr:6
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1154
+msgid ""
+"Turntables are created by specifying the radius in a dialog box on the "
+"Status Bar. The radius in the dialog can be changed before proceeding.\n"
+msgstr ""
+"Lors de la création de ponts tournants, le rayon doit être saisi dans une "
+"boîte de dialogue sur la barre d'état. Le rayon doit être modifié avant les "
+"étapes suivantes.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrntab.xtr:15
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1156
+msgid "Then the turntable is dragged to its final location.\n"
+msgstr "Ensuite, le pont tournant est déplacé vers son emplacement final.\n"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/demos/dmtrntab.xtr:22
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:433
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1159
+msgid "Introduction"
+msgstr "Introduction"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:434
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1161
+msgid "Mouse Actions"
+msgstr "Actions de la souris"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:435
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1163
+msgid "Dialogs"
+msgstr "Dialogues"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:436
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1165
+msgid "Moving about"
+msgstr "Se déplacer"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:437
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1167
+msgid "Describe and Select"
+msgstr "Décrire et sélectionner"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:438
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1169
+msgid "Describe"
+msgstr "Décrire"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:440
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1173
+msgid "Simple tracks"
+msgstr "Simples voies"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:441
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1175
+msgid "Straight tracks"
+msgstr "Voies droites"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:442
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1177
+msgid "Curved tracks"
+msgstr "Voies courbes"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:443
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1179
+msgid "Circles"
+msgstr "Cercles"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:444
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1181
+msgid "Turntables"
+msgstr "Ponts tournants"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:445
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1183
+msgid "Modifying tracks"
+msgstr "Modification des voies"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:446
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1185
+msgid "Modifying end points "
+msgstr "Modification des points de fin "
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:447
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1187
+msgid "Extending"
+msgstr "Extension"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:448
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1189
+msgid "Medium and Thick Tracks"
+msgstr "Voies moyennes et épaisses"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:449
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1191
+msgid "Joining Tracks"
+msgstr "Raccorder des voies"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:450
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1193
+msgid "Straight to straight"
+msgstr "Tout droit"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:451
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1195
+msgid "Curve to straight"
+msgstr "Courbe à droite"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:452
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1197
+msgid "Circle to circle"
+msgstr "Cercle à cercle"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:453
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1199
+msgid "Joining to turntables"
+msgstr "Raccorder à un pont tournant"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:454
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1201
+msgid "Easements"
+msgstr "Courbes de transition"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:455
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1203
+msgid "Abutting tracks"
+msgstr "Voies contiguës"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:456
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1205
+msgid "Move to Join"
+msgstr "Déplacer pour raccorder"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:458
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1209
+msgid "Select and Placement"
+msgstr "Sélectionner et positionner"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:459
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1211
+msgid "Building a yard throat."
+msgstr "Construire une entrée de dépôt."
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:460
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1213
+msgid "Designing turnouts"
+msgstr "Concevoir des aiguillages"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:461
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1215
+msgid "Group and Ungroup"
+msgstr "Grouper et dissocier"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:462
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1217
+msgid "Triming Turnout Ends"
+msgstr "Modifier les points de fin d'un aiguillage"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:463
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1219
+msgid "Handlaid Turnouts"
+msgstr "Aiguillages de conception libre"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:464
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1221
+msgid "Elevations and Profile"
+msgstr "Élévations et profil"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:465
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1223
+msgid "Elevations"
+msgstr "Élévations"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:467
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1227
+msgid "Misc track commands"
+msgstr "Diverses commandes de voie"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:468
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1229
+msgid "Delete and Undo"
+msgstr "Supprimer et annuler"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:469
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1231
+msgid "Splitting and Tunnels"
+msgstr "Fractionnement et tunnels"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:471
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1235
+msgid "Helix tracks"
+msgstr "Voies hélicoïdales"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:472
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1237
+msgid "Exception Tracks"
+msgstr "Voies non conformes"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:474
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1241
+msgid "Connect and Tighten - a siding"
+msgstr "Connecter et ajuster - un revêtement"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:475
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1243
+msgid "Connect and Tighten - figure-8"
+msgstr "Connecter et ajuster - figure-8"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:476
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1245
+msgid "Other commands"
+msgstr "Autres commandes"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:478
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1249
+msgid "Table Edges"
+msgstr "Bords de table"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:480
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1253
+msgid "Dimension Lines"
+msgstr "Lignes de cotes"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:481
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1255
+msgid "Lines"
+msgstr "Lignes"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:482
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1257
+msgid "Poly-Shapes"
+msgstr "Poly-formes"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:483
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1259
+msgid "Modifying Poly-Shapes"
+msgstr "Modification des poly formes"
+
+#. i18n: /Users/richardsa/src/xtrkcad-old/app/lib/xtrkcad.xtq:486
+#: ../../../../build/xtrkcad-old/app/i18n/custmsg.h:1265
+msgid "Control Panels"
+msgstr "Panneaux de contrôle"
diff --git a/app/i18n/ru.po b/app/i18n/ru.po
new file mode 100644
index 0000000..a13edd2
--- /dev/null
+++ b/app/i18n/ru.po
@@ -0,0 +1,14139 @@
+# Russian translation for xtrkcad package
+# Copyright (C) CupIvan
+# This file is distributed under the same license as the xtrkcad package.
+# CupIvan <mail@cupivan.ru>, 2015-2018
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xtrkcad 5.1.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-08-24 17:57+0200\n"
+"PO-Revision-Date: 2019-04-04 10:37+0300\n"
+"Last-Translator: CupIvan <mail@cupivan.ru>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ru_RU\n"
+"X-Generator: Poedit 2.2.1\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: ../bin/archive.c:178 ../bin/archive.c:185 ../bin/archive.c:214
+#: ../bin/archive.c:239 ../bin/archive.c:294 ../bin/archive.c:307
+#: ../bin/archive.c:315 ../bin/archive.c:365 ../bin/archive.c:400
+#: ../bin/archive.c:416 ../bin/archive.c:426 ../bin/archive.c:449
+#: ../bin/cblock.c:491 ../bin/cswitchmotor.c:475 ../bin/dbench.c:147
+#: ../bin/dcar.c:4519 ../bin/dcar.c:4705 ../bin/dcar.c:4715 ../bin/dcar.c:4763
+#: ../bin/dcar.c:4770 ../bin/dcar.c:4788 ../bin/dcar.c:4801 ../bin/dcar.c:4806
+#: ../bin/dcar.c:4835 ../bin/dcar.c:5000 ../bin/directory.c:65
+#: ../bin/directory.c:100 ../bin/directory.c:107 ../bin/directory.c:138
+#: ../bin/directory.c:154 ../bin/dxfoutput.c:193 ../bin/fileio.c:242
+#: ../bin/fileio.c:699 ../bin/fileio.c:899 ../bin/fileio.c:1026
+#: ../bin/fileio.c:1093 ../bin/fileio.c:1099 ../bin/fileio.c:1175
+#: ../bin/fileio.c:1185 ../bin/fileio.c:1517 ../bin/fileio.c:1567
+#: ../bin/fileio.c:1623 ../bin/macro.c:179 ../bin/macro.c:832
+#: ../bin/macro.c:879 ../bin/macro.c:900 ../bin/macro.c:1045
+#: ../bin/macro.c:1062 ../bin/macro.c:1324 ../bin/param.c:2090
+#: ../bin/paramfile.c:247 ../bin/paramfilelist.c:376 ../bin/track.c:1116
+#: ../bin/track.c:1640 ../bin/track.c:1946 ../bin/track.c:1950
+#: ../bin/track.c:1962 ../bin/track.c:2026 ../wlib/gtklib/wpref.c:248
+#: ../wlib/gtklib/wpref.c:255
+msgid "Continue"
+msgstr "Продолжить"
+
+#: ../bin/cbezier.c:599
+msgid "Select End-Point - Ctrl unlocks end-point"
+msgstr "Выбрать конечную точку - Ctrl разблокирует её"
+
+#: ../bin/cbezier.c:601
+msgid "Select End-Point"
+msgstr "Выбрать конечную точку"
+
+#: ../bin/cbezier.c:633
+msgid "Not close enough to any valid, selectable point, reselect"
+msgstr ""
+
+#: ../bin/cbezier.c:639
+#, c-format
+msgid "Drag point %d to new location and release it"
+msgstr ""
+
+#: ../bin/cbezier.c:648 ../bin/cbezier.c:739 ../bin/cbezier.c:741
+msgid "Pick any circle to adjust it - Enter to confirm, ESC to abort"
+msgstr ""
+
+#: ../bin/cbezier.c:672
+msgid "Bezier Curve Invalid has identical end points Change End Point"
+msgstr ""
+
+#: ../bin/cbezier.c:675
+#, c-format
+msgid "Bezier Curve Invalid has %s Change End Point"
+msgstr ""
+
+#: ../bin/cbezier.c:678
+msgid "Bezier Curve Invalid has three co-incident points"
+msgstr ""
+
+#: ../bin/cbezier.c:680
+msgid "Bezier is Straight Line"
+msgstr "Безье к прямой линии"
+
+#: ../bin/cbezier.c:682
+#, c-format
+msgid "Bezier %s : Min Radius=%s Length=%s fx=%0.3f fy=%0.3f cusp=%0.3f"
+msgstr "Безье %s : Мин. радиус=%s Длина=%s fx=%0.3f fy=%0.3f выступ=%0.3f"
+
+#: ../bin/cbezier.c:686
+#, c-format
+msgid "Bezier %s : Min Radius=%s Length=%s"
+msgstr "Безье %s : Мин. радиус=%s Длина=%s"
+
+#: ../bin/cbezier.c:711
+msgid "No unconnected End Point to lock to"
+msgstr ""
+
+#: ../bin/cbezier.c:729
+msgid "Bezier curve invalid has identical end points Change End Point"
+msgstr ""
+
+#: ../bin/cbezier.c:732
+#, c-format
+msgid "Bezier curve invalid has %s Change End Point"
+msgstr ""
+
+#: ../bin/cbezier.c:735
+msgid "Bezier curve invalid has three co-incident points"
+msgstr ""
+
+#: ../bin/cbezier.c:737
+msgid "Bezier curve is straight line"
+msgstr "Кривая Безье - это прямая линия"
+
+#: ../bin/cbezier.c:751 ../bin/cbezier.c:765
+msgid "Invalid Bezier Track - end points are identical"
+msgstr ""
+
+#: ../bin/cbezier.c:758
+#, c-format
+msgid "Invalid Bezier Curve has a %s - Adjust"
+msgstr ""
+
+#: ../bin/cbezier.c:762
+msgid "Invalid Bezier Curve has three coincident points - Adjust"
+msgstr ""
+
+#: ../bin/cbezier.c:770
+msgid "Create Bezier"
+msgstr "Создать Безье"
+
+#: ../bin/cbezier.c:858
+#, c-format
+msgid "%s picked - now select a Point"
+msgstr "%s собрано - теперь выберите Точку"
+
+#: ../bin/cbezier.c:888 ../bin/ccornu.c:1952
+msgid "No changes made"
+msgstr ""
+
+#: ../bin/cbezier.c:892
+msgid "Modify Bezier"
+msgstr "Изменить Безье"
+
+#: ../bin/cbezier.c:910
+#, fuzzy
+msgid "Modify Bezier Complete"
+msgstr "Изменение Безье отменено"
+
+#: ../bin/cbezier.c:914
+msgid "Modify Bezier Cancelled"
+msgstr "Изменение Безье отменено"
+
+#: ../bin/cbezier.c:1038 ../bin/cbezier.c:1129
+#, c-format
+msgid "Place 1st endpoint of Bezier - snap to %s"
+msgstr ""
+
+#: ../bin/cbezier.c:1056 ../bin/ccornu.c:2289 ../bin/ccurve.c:205
+#: ../bin/ccurve.c:443 ../bin/cstraigh.c:91
+msgid "Track is different gauge"
+msgstr ""
+
+#: ../bin/cbezier.c:1084
+msgid "Drag end of first control arm"
+msgstr ""
+
+#: ../bin/cbezier.c:1091
+msgid "Drag end of second control arm"
+msgstr ""
+
+#: ../bin/cbezier.c:1133 ../bin/cbezier.c:1170
+#, c-format
+msgid "Select other end of Bezier - snap to %s end"
+msgstr ""
+
+#: ../bin/cbezier.c:1165
+msgid "Control Arm 1 is too short, try again"
+msgstr ""
+
+#: ../bin/cblock.c:111 ../bin/cblock.c:123 ../bin/cblock.c:168
+#: ../bin/ccontrol.c:171 ../bin/ccontrol.c:425 ../bin/compound.c:567
+#: ../bin/csensor.c:163 ../bin/csensor.c:389 ../bin/csignal.c:238
+#: ../bin/csignal.c:498 ../bin/csignal.c:509 ../bin/csignal.c:535
+#: ../bin/cswitchmotor.c:93 ../bin/cswitchmotor.c:112
+#: ../bin/cswitchmotor.c:224 ../bin/dcontmgm.c:91 ../bin/dlayer.c:483
+msgid "Name"
+msgstr "Название"
+
+#: ../bin/cblock.c:112 ../bin/cblock.c:124 ../bin/cblock.c:169
+#: ../bin/csensor.c:165 ../bin/csensor.c:395 ../bin/csignal.c:498
+#: ../bin/csignal.c:537
+msgid "Script"
+msgstr "Скрипт"
+
+#: ../bin/cblock.c:125
+msgid "Segments"
+msgstr "Сегменты"
+
+#: ../bin/cblock.c:170 ../bin/cdraw.c:524 ../bin/cdraw.c:1434
+#: ../bin/cdraw.c:1580 ../bin/cdraw.c:2497 ../bin/cdraw.c:2723
+#: ../bin/cdraw.c:2760 ../bin/ctodesgn.c:175 ../bin/ctodesgn.c:176
+#: ../bin/ctodesgn.c:177 ../bin/ctodesgn.c:178 ../bin/ctodesgn.c:190
+#: ../bin/ctodesgn.c:191 ../bin/ctodesgn.c:241 ../bin/ctodesgn.c:244
+#: ../bin/ctodesgn.c:264 ../bin/ctodesgn.c:269 ../bin/ctodesgn.c:301
+#: ../bin/ctodesgn.c:308 ../bin/ctodesgn.c:310 ../bin/ctodesgn.c:330
+#: ../bin/ctodesgn.c:335 ../bin/ctodesgn.c:367 ../bin/ctodesgn.c:374
+#: ../bin/ctodesgn.c:375 ../bin/ctodesgn.c:396 ../bin/ctodesgn.c:399
+#: ../bin/ctodesgn.c:402 ../bin/ctodesgn.c:437 ../bin/ctodesgn.c:441
+#: ../bin/ctodesgn.c:448 ../bin/ctodesgn.c:449 ../bin/ctodesgn.c:450
+#: ../bin/ctodesgn.c:472 ../bin/ctodesgn.c:474 ../bin/ctodesgn.c:492
+#: ../bin/ctodesgn.c:494 ../bin/ctodesgn.c:513 ../bin/ctodesgn.c:515
+#: ../bin/ctodesgn.c:542 ../bin/ctodesgn.c:562 ../bin/ctodesgn.c:582
+#: ../bin/ctodesgn.c:602 ../bin/ctodesgn.c:640 ../bin/ctodesgn.c:659
+#: ../bin/ctodesgn.c:660 ../bin/ctrain.c:185 ../bin/tbezier.c:258
+#: ../bin/tcornu.c:307 ../bin/tcurve.c:372 ../bin/tstraigh.c:89
+msgid "Length"
+msgstr "Длина"
+
+#: ../bin/cblock.c:171 ../bin/cdraw.c:516 ../bin/compound.c:542
+#: ../bin/tbezier.c:245 ../bin/tcornu.c:294 ../bin/tcurve.c:364
+#: ../bin/tease.c:519 ../bin/tstraigh.c:85
+msgid "End Pt 1: X,Y"
+msgstr "Конец 1: X,Y"
+
+#: ../bin/cblock.c:172 ../bin/cdraw.c:517 ../bin/compound.c:547
+#: ../bin/tbezier.c:252 ../bin/tcornu.c:299 ../bin/tcurve.c:366
+#: ../bin/tease.c:521 ../bin/tstraigh.c:87
+msgid "End Pt 2: X,Y"
+msgstr "Конец 2: X,Y"
+
+#: ../bin/cblock.c:195 ../bin/cblock.c:207 ../bin/cblock.c:575
+#: ../bin/cblock.c:596 ../bin/cblock.c:604 ../bin/cblock.c:674
+#: ../bin/cblock.c:795 ../bin/cblock.c:807 ../bin/cblock.c:845
+#: ../bin/ccontrol.c:205 ../bin/ccontrol.c:218 ../bin/ccontrol.c:230
+#: ../bin/ccontrol.c:486 ../bin/cdraw.c:131 ../bin/cdraw.c:2556
+#: ../bin/cgroup.c:1075 ../bin/cgroup.c:1146 ../bin/cgroup.c:1185
+#: ../bin/cgroup.c:1235 ../bin/cgroup.c:1262 ../bin/cgroup.c:1350
+#: ../bin/cgroup.c:1729 ../bin/cnote.c:69 ../bin/compound.c:603
+#: ../bin/compound.c:618 ../bin/compound.c:651 ../bin/cprint.c:512
+#: ../bin/cprint.c:716 ../bin/cprint.c:723 ../bin/cprint.c:1247
+#: ../bin/cpull.c:511 ../bin/cpull.c:526 ../bin/cpull.c:528 ../bin/cpull.c:530
+#: ../bin/cpull.c:691 ../bin/cselect.c:1086 ../bin/cselect.c:1195
+#: ../bin/cselect.c:2051 ../bin/csensor.c:194 ../bin/csensor.c:206
+#: ../bin/csensor.c:444 ../bin/csignal.c:267 ../bin/csignal.c:666
+#: ../bin/csignal.c:734 ../bin/csnap.c:576 ../bin/csnap.c:705
+#: ../bin/cstruct.c:937 ../bin/cstruct.c:946 ../bin/cstruct.c:1071
+#: ../bin/cswitchmotor.c:250 ../bin/cswitchmotor.c:262
+#: ../bin/cswitchmotor.c:274 ../bin/cswitchmotor.c:286
+#: ../bin/cswitchmotor.c:544 ../bin/cswitchmotor.c:580
+#: ../bin/cswitchmotor.c:714 ../bin/cswitchmotor.c:745 ../bin/ctext.c:174
+#: ../bin/ctodesgn.c:209 ../bin/ctodesgn.c:1204 ../bin/ctodesgn.c:1341
+#: ../bin/ctodesgn.c:1939 ../bin/ctodesgn.c:2054 ../bin/ctodesgn.c:2353
+#: ../bin/ctodesgn.c:2635 ../bin/ctrain.c:205 ../bin/cturnout.c:2936
+#: ../bin/cturnout.c:3074 ../bin/cundo.c:161 ../bin/cundo.c:166
+#: ../bin/dbitmap.c:68 ../bin/dbitmap.c:125 ../bin/dbitmap.c:203
+#: ../bin/dbitmap.c:238 ../bin/dcar.c:3823 ../bin/dcar.c:4018
+#: ../bin/dcar.c:4022 ../bin/dcar.c:4026 ../bin/dcar.c:4031 ../bin/dcar.c:4335
+#: ../bin/dcar.c:4443 ../bin/dcar.c:4825 ../bin/dcmpnd.c:399
+#: ../bin/dcmpnd.c:410 ../bin/dcmpnd.c:542 ../bin/dcustmgm.c:221
+#: ../bin/dcustmgm.c:227 ../bin/dcustmgm.c:236 ../bin/dcustmgm.c:261
+#: ../bin/dease.c:242 ../bin/dlayer.c:240 ../bin/dlayer.c:262
+#: ../bin/dlayer.c:879 ../bin/dlayer.c:885 ../bin/dlayer.c:891
+#: ../bin/doption.c:199 ../bin/doption.c:275 ../bin/doption.c:476
+#: ../bin/doption.c:479 ../bin/doption.c:492 ../bin/doption.c:558
+#: ../bin/dprmfile.c:434 ../bin/draw.c:2640 ../bin/fileio.c:198
+#: ../bin/fileio.c:608 ../bin/fileio.c:743 ../bin/fileio.c:745
+#: ../bin/fileio.c:750 ../bin/fileio.c:813 ../bin/fileio.c:1046
+#: ../bin/layout.c:380 ../bin/layout.c:570 ../bin/macro.c:1158
+#: ../bin/macro.c:1162 ../bin/macro.c:1220 ../bin/macro.c:1289
+#: ../bin/macro.c:1529 ../bin/macro.c:1547 ../bin/misc.c:438 ../bin/misc.c:524
+#: ../bin/misc.c:1849 ../bin/misc.c:1970 ../bin/misc.c:1978 ../bin/misc.c:2056
+#: ../bin/misc.c:2849 ../bin/misc.c:2858 ../bin/misc.c:2878 ../bin/misc.c:2884
+#: ../bin/misc2.c:455 ../bin/param.c:738 ../bin/param.c:1848
+#: ../bin/param.c:1971 ../bin/param.c:1974 ../bin/param.c:2097
+#: ../bin/param.c:2103 ../bin/paramfile.c:321 ../bin/paramfile.c:323
+#: ../bin/paramfile.c:328 ../bin/paramfile.c:352 ../bin/paramfile.c:378
+#: ../bin/paramfile.c:384 ../bin/paramfilelist.c:94 ../bin/paramfilelist.c:114
+#: ../bin/paramfilelist.c:128 ../bin/paramfilelist.c:192 ../bin/smalldlg.c:90
+#: ../bin/smalldlg.c:222 ../bin/tease.c:1014 ../bin/track.c:1654
+#: ../wlib/gtklib/wpref.c:122 ../../../../build/work/app/bin/bllnhlp.c:591
+msgid "Ok"
+msgstr "ОК"
+
+#: ../bin/cblock.c:212
+msgid "Change block"
+msgstr "Изменить блок"
+
+#: ../bin/cblock.c:264 ../bin/cswitchmotor.c:342
+#, fuzzy, c-format
+msgid "(%d): Layer=%u %s"
+msgstr "(%d): Слой=%d %s"
+
+#: ../bin/cblock.c:288 ../bin/cblock.c:1000
+msgid "Block"
+msgstr "Блок"
+
+#: ../bin/cblock.c:491
+#, c-format
+msgid "resolveBlockTrack: T%d[%d]: T%d doesn't exist"
+msgstr ""
+
+#: ../bin/cblock.c:575 ../bin/cblock.c:807
+msgid "Block must have a name!"
+msgstr "Блок должен быть назван!"
+
+#: ../bin/cblock.c:604
+msgid "Block is discontigious!"
+msgstr ""
+
+#: ../bin/cblock.c:609
+msgid "Create block"
+msgstr "Создать блок"
+
+#: ../bin/cblock.c:656
+msgid "Non track object skipped!"
+msgstr ""
+
+#: ../bin/cblock.c:660
+msgid "Selected track is already in a block, skipped!"
+msgstr ""
+
+#: ../bin/cblock.c:674
+msgid "Create Block"
+msgstr "Создать блок"
+
+#: ../bin/cblock.c:704 ../bin/cblock.c:736
+msgid "Select a track"
+msgstr "Выберите трек"
+
+#: ../bin/cblock.c:713 ../bin/cblock.c:744
+msgid "Not a block!"
+msgstr "Это не блок!"
+
+#: ../bin/cblock.c:749
+#, c-format
+msgid "Really delete block %s?"
+msgstr "Действительно удалить блок %s?"
+
+#: ../bin/cblock.c:749 ../bin/ccornu.c:2745 ../bin/ccornu.c:2958
+#: ../bin/cdraw.c:135 ../bin/cgroup.c:1081 ../bin/cpull.c:649
+#: ../bin/csignal.c:712 ../bin/cswitchmotor.c:670 ../bin/ctodesgn.c:2643
+#: ../bin/ctodesgn.c:3175 ../bin/ctrain.c:2509 ../bin/dbitmap.c:208
+#: ../bin/dcar.c:3969 ../bin/dcar.c:4048 ../bin/dcar.c:4132 ../bin/dcar.c:4151
+#: ../bin/dcar.c:4468 ../bin/dcar.c:4890 ../bin/dcontmgm.c:173
+#: ../bin/dcustmgm.c:168 ../bin/misc.c:1278 ../bin/misc.c:1285
+#: ../bin/misc.c:1356 ../bin/track.c:1656 ../bin/track.c:1753
+#: ../bin/track.c:1767
+msgid "Yes"
+msgstr "Да"
+
+#: ../bin/cblock.c:749 ../bin/ccornu.c:2745 ../bin/ccornu.c:2958
+#: ../bin/cdraw.c:135 ../bin/cgroup.c:1081 ../bin/cpull.c:649
+#: ../bin/csignal.c:712 ../bin/cswitchmotor.c:670 ../bin/ctodesgn.c:2643
+#: ../bin/ctodesgn.c:3175 ../bin/ctrain.c:2509 ../bin/dcar.c:3969
+#: ../bin/dcar.c:4048 ../bin/dcar.c:4132 ../bin/dcar.c:4151 ../bin/dcar.c:4468
+#: ../bin/dcar.c:4890 ../bin/dcontmgm.c:173 ../bin/dcustmgm.c:168
+#: ../bin/misc.c:1278 ../bin/misc.c:1285 ../bin/misc.c:1356
+#: ../bin/track.c:1656 ../bin/track.c:1753 ../bin/track.c:1767
+msgid "No"
+msgstr "Нет"
+
+#: ../bin/cblock.c:750
+msgid "Delete Block"
+msgstr "Удалить блок"
+
+#: ../bin/cblock.c:795
+#, c-format
+msgid "Deleting block %s"
+msgstr "Удаление блока %s"
+
+#: ../bin/cblock.c:811
+msgid "Modify Block"
+msgstr "Изменить блок"
+
+#: ../bin/cblock.c:844
+msgid "Edit block"
+msgstr "Редактировать блок"
+
+#: ../bin/cblock.c:850
+#, c-format
+msgid "Edit block %d"
+msgstr "Редактировать блок %d"
+
+#: ../bin/ccontrol.c:172 ../bin/csensor.c:164 ../bin/csignal.c:239
+#: ../bin/ctrain.c:183
+msgid "Position"
+msgstr "Позиция"
+
+#: ../bin/ccontrol.c:173 ../bin/ccontrol.c:431
+msgid "On Script"
+msgstr "Включить скрипт"
+
+#: ../bin/ccontrol.c:174 ../bin/ccontrol.c:433
+msgid "Off Script"
+msgstr "Отключить скрипт"
+
+#: ../bin/ccontrol.c:240
+msgid "Change Control"
+msgstr "Изменение управления"
+
+#: ../bin/ccontrol.c:282 ../bin/csensor.c:252
+#, fuzzy, c-format
+msgid "(%d [%s]): Layer=%u, at %0.3f,%0.3f"
+msgstr "(%d [%s]): Слой=%d, по %0.3f,%0.3f"
+
+#: ../bin/ccontrol.c:295 ../bin/ccontrol.c:640
+msgid "Control"
+msgstr "Управление"
+
+#: ../bin/ccontrol.c:427
+msgid "Origin X"
+msgstr "Координата X"
+
+#: ../bin/ccontrol.c:429 ../bin/csensor.c:393 ../bin/csignal.c:513
+msgid "Origin Y"
+msgstr "Координата Y"
+
+#: ../bin/ccontrol.c:445
+msgid "Create Control"
+msgstr "Создать управление"
+
+#: ../bin/ccontrol.c:448
+msgid "Modify Control"
+msgstr ""
+
+#: ../bin/ccontrol.c:485
+msgid "Edit control"
+msgstr ""
+
+#: ../bin/ccontrol.c:526
+msgid "Place control"
+msgstr ""
+
+#: ../bin/ccornu.c:200 ../bin/ccornu.c:203 ../bin/ccornu.c:206
+#: ../bin/ccornu.c:260
+#, fuzzy, c-format
+msgid "%s FlexTrack"
+msgstr "Изогнутый трек"
+
+#: ../bin/ccornu.c:254
+msgid " FLEX "
+msgstr ""
+
+#: ../bin/ccornu.c:903 ../bin/cjoin.c:935 ../bin/cmisc.c:59
+msgid "First"
+msgstr "Начало"
+
+#: ../bin/ccornu.c:910 ../bin/cjoin.c:943
+msgid "Second"
+msgstr "Конец"
+
+#: ../bin/ccornu.c:981 ../bin/ccornu.c:2004 ../bin/ccornu.c:2034
+#: ../bin/tcornu.c:830 ../bin/tcornu.c:1037 ../bin/tcornu.c:1363
+#, c-format
+msgid ""
+"Cornu Create Failed for p1[%0.3f,%0.3f] p2[%0.3f,%0.3f], c1[%0.3f,%0.3f] c2[%"
+"0.3f,%0.3f], a1=%0.3f a2=%0.3f, r1=%s r2=%s"
+msgstr ""
+
+#: ../bin/ccornu.c:1020 ../bin/ccornu.c:1639 ../bin/ccornu.c:1658
+#: ../bin/tbezier.c:246 ../bin/tbezier.c:253 ../bin/tcornu.c:295
+#: ../bin/tcornu.c:300
+msgid "End Angle"
+msgstr "Конечный угол"
+
+#: ../bin/ccornu.c:1023 ../bin/ccornu.c:1638 ../bin/ccornu.c:1657
+#, fuzzy
+msgid "End Radius"
+msgstr "Радиус"
+
+#: ../bin/ccornu.c:1076
+#, fuzzy
+msgid "Select Point, or Add Point"
+msgstr "Выбрать конечную точку"
+
+#: ../bin/ccornu.c:1247
+msgid "Not close enough to track or point, reselect"
+msgstr ""
+
+#: ../bin/ccornu.c:1253
+#, fuzzy
+msgid "Drag out end of Cornu"
+msgstr "Тащите к другому концу хорды"
+
+#: ../bin/ccornu.c:1255
+#, fuzzy
+msgid "Drag along end of track"
+msgstr "Тащите по касательной к первому концу"
+
+#: ../bin/ccornu.c:1257
+#, fuzzy
+msgid "Drag to move"
+msgstr "Тащите, чтобы повернуть"
+
+#: ../bin/ccornu.c:1260
+msgid "Drag point to new location, Delete to remove"
+msgstr ""
+
+#: ../bin/ccornu.c:1264
+#, fuzzy
+msgid "Drag to change end radius"
+msgstr "Тащите, чтобы установить радиус"
+
+#: ../bin/ccornu.c:1267
+#, fuzzy
+msgid "Drag to change end angle"
+msgstr "Тяни, чтобы изменить высоту"
+
+#: ../bin/ccornu.c:1282
+msgid "Pick any circle to adjust or add - Enter to accept, Esc to cancel"
+msgstr ""
+
+#: ../bin/ccornu.c:1294
+msgid "Track can't be split"
+msgstr ""
+
+#: ../bin/ccornu.c:1356
+msgid "Too close to other end of selected Track"
+msgstr ""
+
+#: ../bin/ccornu.c:1364
+msgid "Can't move end inside a turnout"
+msgstr ""
+
+#: ../bin/ccornu.c:1506
+msgid "Can't extend connected Bezier or Cornu"
+msgstr ""
+
+#: ../bin/ccornu.c:1578
+#, c-format
+msgid ""
+"Cornu : Min Radius=%s MaxRateofCurveChange/Scale=%s Length=%s Winding Arc=%s"
+msgstr ""
+
+#: ../bin/ccornu.c:1600 ../bin/ccornu.c:2270
+msgid "Helix Already Connected"
+msgstr ""
+
+#: ../bin/ccornu.c:1614
+msgid "No Valid end point on that track"
+msgstr ""
+
+#: ../bin/ccornu.c:1619
+msgid "Track is different scale"
+msgstr ""
+
+#: ../bin/ccornu.c:1672
+msgid ""
+"Pick on point to adjust it along track - Delete to remove, Enter to confirm, "
+"ESC to abort"
+msgstr ""
+
+#: ../bin/ccornu.c:1702
+msgid "Cornu has too complex shape - adjust end pts"
+msgstr ""
+
+#: ../bin/ccornu.c:1713
+#, c-format
+msgid "Cornu point %d too close to other end of connect track - reposition it"
+msgstr ""
+
+#: ../bin/ccornu.c:1718
+msgid "Create Cornu"
+msgstr ""
+
+#: ../bin/ccornu.c:1907
+msgid "Now Select or Add (+Shift) a Point"
+msgstr ""
+
+#: ../bin/ccornu.c:1966
+#, c-format
+msgid "Cornu end %d too close to other end of connect track - reposition it"
+msgstr ""
+
+#: ../bin/ccornu.c:1971
+msgid "Modify Cornu"
+msgstr ""
+
+#: ../bin/ccornu.c:1986
+#, c-format
+msgid "Cornu Extension Create Failed for end %d"
+msgstr ""
+
+#: ../bin/ccornu.c:2078
+#, c-format
+msgid "Connected Track End Adjust for end %d failed"
+msgstr ""
+
+#: ../bin/ccornu.c:2089
+msgid "Modify Cornu Cancelled"
+msgstr ""
+
+#: ../bin/ccornu.c:2246
+#, fuzzy
+msgid "Left click - Start Cornu track"
+msgstr "Левый клик - соединить с треком"
+
+#: ../bin/ccornu.c:2248
+#, fuzzy
+msgid "Left click - Place Flextrack"
+msgstr "Левый клик - соединить с треком"
+
+#: ../bin/ccornu.c:2251
+msgid "Left click - join with Cornu track"
+msgstr ""
+
+#: ../bin/ccornu.c:2253
+msgid "Left click - join with Cornu track, Shift Left click - move to join"
+msgstr ""
+
+#: ../bin/ccornu.c:2284
+msgid "No valid open endpoint on that track"
+msgstr ""
+
+#: ../bin/ccornu.c:2312 ../bin/ccornu.c:2324
+#, fuzzy
+msgid "Drag arm in the direction of track"
+msgstr "Тащите из конечной точки по направлению к кривой"
+
+#: ../bin/ccornu.c:2328
+msgid "No Unconnected Track End there"
+msgstr ""
+
+#: ../bin/ccornu.c:2339 ../bin/ccornu.c:2363
+msgid "No Valid Track End there"
+msgstr ""
+
+#: ../bin/ccornu.c:2351
+msgid "Locked - Move 1st end point of Cornu track along track 1"
+msgstr ""
+
+#: ../bin/ccornu.c:2375
+msgid "Locked - Move 2nd end point of Cornu track along track 2"
+msgstr ""
+
+#: ../bin/ccornu.c:2449
+msgid "Track can't be split - so locked to endpoint"
+msgstr ""
+
+#: ../bin/ccornu.c:2454
+msgid "Point not on track 1"
+msgstr ""
+
+#: ../bin/ccornu.c:2492
+#, fuzzy
+msgid "Pick other end of Cornu"
+msgstr "Тащите к другому концу хорды"
+
+#: ../bin/ccornu.c:2494
+msgid ""
+"Select flextrack ends or anchors and drag, Enter to approve, Esc to Cancel"
+msgstr ""
+
+#: ../bin/ccornu.c:2498
+msgid "Put other end of Cornu on a track with an unconnected end point"
+msgstr ""
+
+#: ../bin/ccornu.c:2733 ../bin/ccornu.c:2947
+#, fuzzy
+msgid "Not on a Track"
+msgstr "Не на треке"
+
+#: ../bin/ccornu.c:2741
+#, fuzzy
+msgid "Select a Track To Convert"
+msgstr "Выберите трек"
+
+#: ../bin/ccornu.c:2745
+msgid "Convert all Selected Tracks to Cornu Tracks?"
+msgstr ""
+
+#: ../bin/ccornu.c:2750
+msgid "Convert Cornu"
+msgstr ""
+
+#: ../bin/ccornu.c:2902
+#, c-format
+msgid "Tracks Counts: %d converted %d unconvertible %d created %d deleted"
+msgstr ""
+
+#: ../bin/ccornu.c:2902 ../bin/ccornu.c:3019
+msgid "OK"
+msgstr ""
+
+#: ../bin/ccornu.c:2954
+msgid "Select a Cornu or Bezier Track To Convert to Fixed"
+msgstr ""
+
+#: ../bin/ccornu.c:2958
+msgid "Convert all Selected Tracks to Fixed Tracks?"
+msgstr ""
+
+#: ../bin/ccornu.c:2968
+msgid "Convert Bezier and Cornu"
+msgstr ""
+
+#: ../bin/ccornu.c:3019
+#, c-format
+msgid "Tracks Counts: %d converted %d unconvertible %d deleted"
+msgstr ""
+
+#: ../bin/ccornu.c:3047
+#, fuzzy
+msgid "Convert"
+msgstr "Содержание"
+
+#: ../bin/ccornu.c:3048
+msgid "Convert To Cornu"
+msgstr ""
+
+#: ../bin/ccornu.c:3049
+#, fuzzy
+msgid "Convert From Cornu"
+msgstr "По хорде"
+
+#: ../bin/ccurve.c:169
+#, fuzzy
+msgid "Drag from endpoint in direction of curve - lock to track open endpoint"
+msgstr "Тащите из конечной точки по направлению к кривой"
+
+#: ../bin/ccurve.c:171
+#, fuzzy
+msgid "Drag from endpoint in direction of curve"
+msgstr "Тащите из конечной точки по направлению к кривой"
+
+#: ../bin/ccurve.c:175
+msgid "Drag from endpoint to center - lock to track open endpoint"
+msgstr ""
+
+#: ../bin/ccurve.c:177
+#, fuzzy
+msgid "Drag from endpoint to center"
+msgstr "Тащите из конечной точки к центру"
+
+#: ../bin/ccurve.c:180
+#, fuzzy
+msgid "Drag from center to endpoint"
+msgstr "Тащите из центра к конечной точке"
+
+#: ../bin/ccurve.c:183
+msgid "Drag from one to other end of chord"
+msgstr ""
+
+#: ../bin/ccurve.c:241
+#, fuzzy
+msgid "End locked: Drag out curve start"
+msgstr "Тащите по касательной к первому концу"
+
+#: ../bin/ccurve.c:242 ../bin/ccurve.c:252 ../bin/ccurve.c:270
+msgid "End Position locked: Drag out curve start with Shift"
+msgstr ""
+
+#: ../bin/ccurve.c:243
+msgid "Drag along curve start"
+msgstr "Тащите по касательной к первому концу"
+
+#: ../bin/ccurve.c:251
+msgid "End locked: Drag out curve center"
+msgstr ""
+
+#: ../bin/ccurve.c:253
+#, fuzzy
+msgid "Drag out curve center"
+msgstr "Тащите по касательной к первому концу"
+
+#: ../bin/ccurve.c:260
+#, fuzzy
+msgid "Drag out from center to endpoint"
+msgstr "Тащите из центра к конечной точке"
+
+#: ../bin/ccurve.c:269
+#, fuzzy
+msgid "End locked: Drag to other end of chord"
+msgstr "Тащите к другому концу хорды"
+
+#: ../bin/ccurve.c:272
+msgid "Drag to other end of chord"
+msgstr "Тащите к другому концу хорды"
+
+#: ../bin/ccurve.c:327
+#, c-format
+msgid "Start Locked: Drag out curve start - Angle=%0.3f"
+msgstr ""
+
+#: ../bin/ccurve.c:328
+#, c-format
+msgid "Drag out curve start - Angle=%0.3f"
+msgstr "Тащите до начала скругления - Угол=%0.3f"
+
+#: ../bin/ccurve.c:334
+#, fuzzy, c-format
+msgid "Tangent locked: Drag out center - Radius=%s Angle=%0.3f"
+msgstr "Тащите к центру - Радиус=%s Угол=%0.3f"
+
+#: ../bin/ccurve.c:335
+#, c-format
+msgid "Drag out center - Radius=%s Angle=%0.3f"
+msgstr "Тащите к центру - Радиус=%s Угол=%0.3f"
+
+#: ../bin/ccurve.c:341
+#, fuzzy, c-format
+msgid "Drag to Edge: Radius=%s Angle=%0.3f"
+msgstr "Тащите к центру - Радиус=%s Угол=%0.3f"
+
+#: ../bin/ccurve.c:347
+#, fuzzy, c-format
+msgid "Start locked: Drag out chord length=%s angle=%0.3f"
+msgstr "Длина прямого трека=%s Угол=%0.3f"
+
+#: ../bin/ccurve.c:348
+#, fuzzy, c-format
+msgid "Drag out chord length=%s angle=%0.3f"
+msgstr "Длина прямого трека=%s Угол=%0.3f"
+
+#: ../bin/ccurve.c:403 ../bin/ccurve.c:561 ../bin/drawgeom.c:772
+msgid "Drag on Red arrows to adjust curve"
+msgstr "Тащите за красные стрелки для изменения кривой"
+
+#: ../bin/ccurve.c:501 ../bin/cjoin.c:210 ../bin/cmodify.c:575
+#: ../bin/cturntbl.c:580
+#, c-format
+msgid "Straight Track: Length=%s Angle=%0.3f"
+msgstr "Прямой трек: Длина=%s Угол=%0.3f"
+
+#: ../bin/ccurve.c:508 ../bin/cmodify.c:580 ../bin/drawgeom.c:629
+#: ../wlib/gtklib/ixhelp.c:235
+msgid "Back"
+msgstr "Назад"
+
+#: ../bin/ccurve.c:527
+#, c-format
+msgid "Curved Track: Radius=%s Angle=%0.3f Length=%s"
+msgstr "Кривой трек: Радиус=%s Угол=%0.3f Длина=%s"
+
+#: ../bin/ccurve.c:581 ../bin/cstraigh.c:162
+msgid "Create Straight Track"
+msgstr "Добавить прямой трек"
+
+#: ../bin/ccurve.c:593
+msgid "Create Curved Track"
+msgstr "Добавить изогнутый трек"
+
+#: ../bin/ccurve.c:664
+msgid "Elevation Difference"
+msgstr "Разница высот"
+
+#: ../bin/ccurve.c:665 ../bin/cdraw.c:523 ../bin/cdraw.c:1446
+#: ../bin/cdraw.c:1592 ../bin/cdraw.c:2504 ../bin/cdraw.c:2703
+#: ../bin/cdraw.c:2717 ../bin/compound.c:545 ../bin/compound.c:550
+#: ../bin/compound.c:555 ../bin/compound.c:560 ../bin/ctodesgn.c:185
+#: ../bin/ctodesgn.c:186 ../bin/ctodesgn.c:187 ../bin/ctodesgn.c:188
+#: ../bin/ctodesgn.c:304 ../bin/ctodesgn.c:307 ../bin/ctodesgn.c:309
+#: ../bin/ctodesgn.c:370 ../bin/ctodesgn.c:371 ../bin/ctodesgn.c:376
+#: ../bin/ctodesgn.c:440 ../bin/ctodesgn.c:444 ../bin/ctodesgn.c:445
+#: ../bin/ctodesgn.c:451 ../bin/ctodesgn.c:620 ../bin/tbezier.c:247
+#: ../bin/tbezier.c:254 ../bin/tcornu.c:301 ../bin/tcurve.c:369
+msgid "Radius"
+msgstr "Радиус"
+
+#: ../bin/ccurve.c:666 ../bin/tcurve.c:370
+msgid "Turns"
+msgstr "Повороты"
+
+#: ../bin/ccurve.c:667
+msgid "Angular Separation"
+msgstr "Деление угла"
+
+#: ../bin/ccurve.c:668 ../bin/celev.c:47 ../bin/compound.c:562
+#: ../bin/tbezier.c:259 ../bin/tcornu.c:308 ../bin/tcurve.c:376
+#: ../bin/tease.c:529 ../bin/tstraigh.c:91
+msgid "Grade"
+msgstr "Наклон"
+
+#: ../bin/ccurve.c:669
+msgid "Vertical Separation"
+msgstr "Деление вертикали"
+
+#: ../bin/ccurve.c:671
+msgid "Total Length"
+msgstr "Общая длина"
+
+#: ../bin/ccurve.c:747
+#, c-format
+msgid "Total Length %s"
+msgstr "Общая длина %s"
+
+#: ../bin/ccurve.c:785 ../bin/ccurve.c:989 ../bin/tcurve.c:809
+msgid "Helix"
+msgstr "Спираль"
+
+#: ../bin/ccurve.c:799
+msgid "Circle Radius"
+msgstr "Радиус окружности"
+
+#: ../bin/ccurve.c:804
+msgid "Click on Circle Edge"
+msgstr "Нажмите на окружность"
+
+#: ../bin/ccurve.c:808
+msgid "Click on Circle Center"
+msgstr "Нажмите на центр круга"
+
+#: ../bin/ccurve.c:839
+msgid "Drag to Center"
+msgstr "Тащите в центр"
+
+#: ../bin/ccurve.c:843
+msgid "Drag to Edge"
+msgstr "Тащите к стороне"
+
+#: ../bin/ccurve.c:863 ../bin/ccurve.c:867
+#, c-format
+msgid "Radius=%s"
+msgstr "Радиус=%s"
+
+#: ../bin/ccurve.c:888
+msgid "Create Helix Track"
+msgstr "Добавить спиральный трек"
+
+#: ../bin/ccurve.c:903
+msgid "Create Circle Track"
+msgstr "Добавить круглый трек"
+
+#: ../bin/ccurve.c:958
+#, fuzzy
+msgid "Cornu Curve"
+msgstr "Отриц."
+
+#: ../bin/ccurve.c:960
+msgid "Curve Track"
+msgstr "Кривой трек"
+
+#: ../bin/ccurve.c:960
+msgid "Curve Tracks"
+msgstr "Кривые треки"
+
+#: ../bin/ccurve.c:961
+msgid "Curve from End-Pt"
+msgstr "Кривая из конечной точки"
+
+#: ../bin/ccurve.c:962
+msgid "Curve from Tangent"
+msgstr "Кривая по касательной"
+
+#: ../bin/ccurve.c:963
+msgid "Curve from Center"
+msgstr "Кривая из центра"
+
+#: ../bin/ccurve.c:964
+msgid "Curve from Chord"
+msgstr "По хорде"
+
+#: ../bin/ccurve.c:965 ../bin/cdraw.c:2845
+msgid "Bezier Curve"
+msgstr "Кривая Безье"
+
+#: ../bin/ccurve.c:968 ../bin/tcurve.c:643
+msgid "Circle Track"
+msgstr "Окружность"
+
+#: ../bin/ccurve.c:968
+msgid "Circle Tracks"
+msgstr "Окружности"
+
+#: ../bin/ccurve.c:969
+msgid "Fixed Radius Circle"
+msgstr "Окружность по радиусу"
+
+#: ../bin/ccurve.c:970
+msgid "Circle from Tangent"
+msgstr "Окружность по касательной"
+
+#: ../bin/ccurve.c:971
+msgid "Circle from Center"
+msgstr "Окружность к центру"
+
+#: ../bin/cdraw.c:131
+msgid "Font Size must be > 0"
+msgstr "Размер шрифта должен быть больше нуля"
+
+#: ../bin/cdraw.c:518
+msgid "First Point: X,Y"
+msgstr ""
+
+#: ../bin/cdraw.c:519 ../bin/tcurve.c:368
+msgid "Center: X,Y"
+msgstr "Центр: X,Y"
+
+#: ../bin/cdraw.c:520 ../bin/cdraw.c:542 ../bin/cdraw.c:1436
+#: ../bin/cdraw.c:1581 ../bin/cdraw.c:2502 ../bin/cdraw.c:2724
+#: ../bin/cdraw.c:2744 ../bin/cdraw.c:2748 ../bin/compound.c:543
+#: ../bin/compound.c:548 ../bin/compound.c:553 ../bin/compound.c:558
+#: ../bin/compound.c:564 ../bin/cprint.c:155 ../bin/csignal.c:240
+#: ../bin/csignal.c:515 ../bin/ctodesgn.c:193 ../bin/ctodesgn.c:194
+#: ../bin/ctodesgn.c:195 ../bin/ctodesgn.c:197 ../bin/ctodesgn.c:242
+#: ../bin/ctodesgn.c:265 ../bin/ctodesgn.c:267 ../bin/ctodesgn.c:302
+#: ../bin/ctodesgn.c:305 ../bin/ctodesgn.c:331 ../bin/ctodesgn.c:334
+#: ../bin/ctodesgn.c:368 ../bin/ctodesgn.c:373 ../bin/ctodesgn.c:397
+#: ../bin/ctodesgn.c:401 ../bin/ctodesgn.c:438 ../bin/ctodesgn.c:442
+#: ../bin/ctodesgn.c:447 ../bin/ctodesgn.c:473 ../bin/ctodesgn.c:493
+#: ../bin/ctodesgn.c:514 ../bin/ctodesgn.c:621 ../bin/ctrain.c:184
+#: ../bin/tease.c:524 ../bin/tstraigh.c:90
+msgid "Angle"
+msgstr "Угол"
+
+#: ../bin/cdraw.c:521 ../bin/tcurve.c:374
+msgid "CCW Angle"
+msgstr "Угол ПЧС"
+
+#: ../bin/cdraw.c:522 ../bin/tcurve.c:375
+msgid "CW Angle"
+msgstr "Угол ЧС"
+
+#: ../bin/cdraw.c:525 ../bin/cdraw.c:1443 ../bin/cdraw.c:1565
+#: ../bin/cprint.c:130
+msgid "Height"
+msgstr "Высота"
+
+#: ../bin/cdraw.c:526 ../bin/cdraw.c:1441 ../bin/cdraw.c:1564
+#: ../bin/cdraw.c:2499 ../bin/cdraw.c:2761 ../bin/ctrain.c:186
+#: ../bin/dcar.c:2233
+msgid "Width"
+msgstr "Ширина"
+
+#: ../bin/cdraw.c:527 ../bin/cmisc.c:144 ../bin/tcurve.c:377
+#: ../bin/tease.c:530 ../bin/tstraigh.c:92
+#, fuzzy
+msgid "Lock"
+msgstr "Поезд?"
+
+#: ../bin/cdraw.c:528
+msgid "Keep Origin Relative"
+msgstr ""
+
+#: ../bin/cdraw.c:529
+#, fuzzy
+msgid "Rot Origin: X,Y"
+msgstr "Начало: X,Y"
+
+#: ../bin/cdraw.c:530 ../bin/cdraw.c:1450
+#, fuzzy
+msgid "Rotate Angle"
+msgstr "Угол справа"
+
+#: ../bin/cdraw.c:531
+msgid "Point Count"
+msgstr "Число точек"
+
+#: ../bin/cdraw.c:532 ../bin/cdraw.c:2477 ../bin/ctodesgn.c:207
+#: ../bin/tbezier.c:261
+msgid "Line Width"
+msgstr "Ширина линии"
+
+#: ../bin/cdraw.c:533 ../bin/cdraw.c:2506 ../bin/tbezier.c:260
+#, fuzzy
+msgid "Line Type"
+msgstr "Тип древесины"
+
+#: ../bin/cdraw.c:534 ../bin/cdraw.c:2479 ../bin/cdraw.c:2481
+#: ../bin/cdraw.c:2579 ../bin/cdraw.c:2612 ../bin/cmisc.c:125
+#: ../bin/ctext.c:68 ../bin/ctext.c:148 ../bin/ctodesgn.c:208
+#: ../bin/dcar.c:2229 ../bin/dlayer.c:485 ../bin/doption.c:558
+msgid "Color"
+msgstr "Цвет"
+
+#: ../bin/cdraw.c:535
+#, fuzzy
+msgid "Filled"
+msgstr "Закрашенный прямоугольник"
+
+#: ../bin/cdraw.c:536
+#, fuzzy
+msgid "Open End"
+msgstr "На ребро"
+
+#: ../bin/cdraw.c:537 ../bin/cmisc.c:148 ../bin/cmisc.c:149 ../bin/cmisc.c:150
+#: ../bin/cmisc.c:151 ../bin/ctext.c:70 ../bin/ctext.c:149
+#, fuzzy
+msgid "Boxed"
+msgstr "Прямоугольник"
+
+#: ../bin/cdraw.c:538 ../bin/cdraw.c:1117 ../bin/cdraw.c:2513
+msgid "Lumber"
+msgstr "Древесина"
+
+#: ../bin/cdraw.c:539
+msgid "Orientation"
+msgstr "Ориентация"
+
+#: ../bin/cdraw.c:540 ../bin/cdraw.c:2495
+#: ../../../../build/work/app/bin/bllnhlp.c:593
+msgid "Size"
+msgstr "Размер"
+
+#: ../bin/cdraw.c:541 ../bin/compound.c:563 ../bin/tease.c:523
+msgid "Origin: X,Y"
+msgstr "Начало: X,Y"
+
+#: ../bin/cdraw.c:543 ../bin/ctext.c:66 ../bin/ctext.c:147
+msgid "Font Size"
+msgstr "Размер шрифта"
+
+#: ../bin/cdraw.c:544 ../bin/cdraw.c:1263 ../bin/ctext.c:264
+msgid "Text"
+msgstr "Текст"
+
+#: ../bin/cdraw.c:545 ../bin/compound.c:571 ../bin/cturntbl.c:253
+#: ../bin/doption.c:139 ../bin/doption.c:140 ../bin/tbezier.c:263
+#: ../bin/tcornu.c:309 ../bin/tcurve.c:378 ../bin/tease.c:531
+#: ../bin/tstraigh.c:93 ../../../../build/work/app/bin/bllnhlp.c:671
+#: ../../../../build/work/app/bin/bllnhlp.c:672
+#: ../../../../build/work/app/bin/bllnhlp.c:673
+#: ../../../../build/work/app/bin/bllnhlp.c:674
+#: ../../../../build/work/app/bin/bllnhlp.c:675
+#: ../../../../build/work/app/bin/bllnhlp.c:676
+#: ../../../../build/work/app/bin/bllnhlp.c:677
+#: ../../../../build/work/app/bin/bllnhlp.c:678
+#: ../../../../build/work/app/bin/bllnhlp.c:679
+#: ../../../../build/work/app/bin/bllnhlp.c:680
+#: ../../../../build/work/app/bin/bllnhlp.c:681
+#: ../../../../build/work/app/bin/bllnhlp.c:682
+#: ../../../../build/work/app/bin/bllnhlp.c:683
+#: ../../../../build/work/app/bin/bllnhlp.c:684
+#: ../../../../build/work/app/bin/bllnhlp.c:685
+#: ../../../../build/work/app/bin/bllnhlp.c:686
+#: ../../../../build/work/app/bin/bllnhlp.c:687
+#: ../../../../build/work/app/bin/bllnhlp.c:688
+#: ../../../../build/work/app/bin/bllnhlp.c:689
+#: ../../../../build/work/app/bin/bllnhlp.c:690
+msgid "Layer"
+msgstr "Слой"
+
+#: ../bin/cdraw.c:1102
+msgid "Straight Line"
+msgstr "Прямая линия"
+
+#: ../bin/cdraw.c:1107 ../bin/cdraw.c:2837
+msgid "Dimension Line"
+msgstr "Размеры линии"
+
+#: ../bin/cdraw.c:1128 ../bin/cdraw.c:2514 ../bin/cdraw.c:2839
+msgid "Table Edge"
+msgstr "Край стола"
+
+#: ../bin/cdraw.c:1148 ../bin/cdraw.c:2519 ../bin/cdraw.c:2520
+#: ../bin/cdraw.c:2521
+msgid "Circle"
+msgstr "Окружность"
+
+#: ../bin/cdraw.c:1159
+msgid "Curved Line"
+msgstr "Кривая линия"
+
+#: ../bin/cdraw.c:1175 ../bin/cdraw.c:2524 ../bin/cdraw.c:2525
+#: ../bin/cdraw.c:2526
+msgid "Filled Circle"
+msgstr "Круг"
+
+#: ../bin/cdraw.c:1194
+msgid "Rectangle"
+msgstr "Прямоугольник"
+
+#: ../bin/cdraw.c:1208 ../bin/cdraw.c:2530
+msgid "Polyline"
+msgstr "Полилиния"
+
+#: ../bin/cdraw.c:1212 ../bin/cdraw.c:2523 ../bin/cdraw.c:2856
+msgid "Polygon"
+msgstr "Многоугольник"
+
+#: ../bin/cdraw.c:1230
+#, fuzzy
+msgid "Filled Rectangle"
+msgstr "Прямоугольник"
+
+#: ../bin/cdraw.c:1243 ../bin/cdraw.c:2528 ../bin/cdraw.c:2857
+#, fuzzy
+msgid "Filled Polygon"
+msgstr "Закрашенный прямоугольник"
+
+#: ../bin/cdraw.c:1269
+#, fuzzy, c-format
+msgid "%s(%d) Layer=%d"
+msgstr "%s: Слой=%d"
+
+#: ../bin/cdraw.c:1289 ../bin/cdraw.c:2582 ../bin/compound.c:956
+#: ../bin/doption.c:134 ../bin/tbezier.c:458
+msgid "Solid"
+msgstr "Закрашенные"
+
+#: ../bin/cdraw.c:1290 ../bin/cdraw.c:2584 ../bin/compound.c:957
+#: ../bin/doption.c:131 ../bin/tbezier.c:459
+msgid "Dash"
+msgstr "Пунктиром"
+
+#: ../bin/cdraw.c:1291 ../bin/cdraw.c:2583 ../bin/compound.c:958
+#: ../bin/tbezier.c:460
+msgid "Dot"
+msgstr ""
+
+#: ../bin/cdraw.c:1292 ../bin/compound.c:959 ../bin/tbezier.c:461
+#, fuzzy
+msgid "DashDot"
+msgstr "Пунктиром"
+
+#: ../bin/cdraw.c:1293 ../bin/compound.c:960 ../bin/tbezier.c:462
+msgid "DashDotDot"
+msgstr ""
+
+#: ../bin/cdraw.c:1294 ../bin/compound.c:961 ../bin/tbezier.c:463
+#, fuzzy
+msgid "CenterDot"
+msgstr "Управление"
+
+#: ../bin/cdraw.c:1295 ../bin/compound.c:962 ../bin/tbezier.c:464
+msgid "PhantomDot"
+msgstr ""
+
+#: ../bin/cdraw.c:1300 ../bin/cdraw.c:2630
+msgid "Tiny"
+msgstr "Крошечный"
+
+#: ../bin/cdraw.c:1301 ../bin/cdraw.c:2631
+msgid "Small"
+msgstr "Маленький"
+
+#: ../bin/cdraw.c:1302 ../bin/cdraw.c:2632
+msgid "Medium"
+msgstr "Средний"
+
+#: ../bin/cdraw.c:1303 ../bin/cdraw.c:2633
+msgid "Large"
+msgstr "Большой"
+
+#: ../bin/cdraw.c:1439
+#, fuzzy
+msgid "Relative Angle"
+msgstr "Угол слева"
+
+#: ../bin/cdraw.c:1448 ../bin/cdraw.c:1596 ../bin/cdraw.c:2718
+#, fuzzy
+msgid "Arc Angle"
+msgstr "Угол"
+
+#: ../bin/cdraw.c:1453
+#, fuzzy
+msgid "Rot Center X"
+msgstr "Центр: X,Y"
+
+#: ../bin/cdraw.c:1455
+#, fuzzy
+msgid "Rot Center Y"
+msgstr "Центр: X,Y"
+
+#: ../bin/cdraw.c:1552
+#, fuzzy
+msgid "Seg Lth"
+msgstr "Длина"
+
+#: ../bin/cdraw.c:1553
+msgid "Rel Ang"
+msgstr ""
+
+#: ../bin/cdraw.c:2484 ../bin/cdraw.c:2486 ../bin/cdraw.c:2610
+msgid "Lumber Type"
+msgstr "Тип древесины"
+
+#: ../bin/cdraw.c:2511
+msgid "Straight"
+msgstr "Прямая"
+
+#: ../bin/cdraw.c:2512
+msgid "Dimension"
+msgstr ""
+
+#: ../bin/cdraw.c:2515 ../bin/cdraw.c:2516 ../bin/cdraw.c:2517
+#: ../bin/cdraw.c:2518
+msgid "Curved"
+msgstr "Кривая"
+
+#: ../bin/cdraw.c:2522 ../bin/cdraw.c:2854
+msgid "Box"
+msgstr "Прямоугольник"
+
+#: ../bin/cdraw.c:2527 ../bin/cdraw.c:2855
+msgid "Filled Box"
+msgstr "Закрашенный прямоугольник"
+
+#: ../bin/cdraw.c:2529 ../bin/tbezier.c:455
+msgid "Bezier Line"
+msgstr "Кривая Безье"
+
+#: ../bin/cdraw.c:2577
+#, c-format
+msgid "%s Line Width"
+msgstr "%s, ширина"
+
+#: ../bin/cdraw.c:2580 ../bin/dcar.c:2202 ../bin/dcar.c:4366
+#: ../bin/dcar.c:4371
+msgid "Type"
+msgstr "Тип"
+
+#: ../bin/cdraw.c:2585
+#, fuzzy
+msgid "Dash-Dot"
+msgstr "Пунктиром"
+
+#: ../bin/cdraw.c:2586
+msgid "Dash-Dot-Dot"
+msgstr ""
+
+#: ../bin/cdraw.c:2599
+#, c-format
+msgid "%s Color"
+msgstr "%s Цвет"
+
+#: ../bin/cdraw.c:2628
+msgid "Dimension Line Size"
+msgstr "Размер линии"
+
+#: ../bin/cdraw.c:2640
+msgid "Drag to create Table Edge"
+msgstr "Тащите, чтобы создать край стола"
+
+#: ../bin/cdraw.c:2742
+#, fuzzy
+msgid "Seg Length"
+msgstr "Длина слева"
+
+#: ../bin/cdraw.c:2746
+#, fuzzy
+msgid "Rel Angle"
+msgstr "Угол слева"
+
+#: ../bin/cdraw.c:2836
+msgid "Line"
+msgstr "Прямая"
+
+#: ../bin/cdraw.c:2836
+msgid "Draw Line"
+msgstr "Прямая"
+
+#: ../bin/cdraw.c:2837
+msgid "Draw Dimension Line"
+msgstr "Выноска с размером"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:363
+#: ../bin/cdraw.c:2838 ../../../../build/work/app/i18n/custmsg.h:1251
+msgid "Benchwork"
+msgstr "Доска"
+
+#: ../bin/cdraw.c:2838
+msgid "Draw Benchwork"
+msgstr "Доска"
+
+#: ../bin/cdraw.c:2839
+msgid "Draw Table Edge"
+msgstr "Край стола"
+
+#: ../bin/cdraw.c:2841
+msgid "Curve End"
+msgstr "Конец кривой"
+
+#: ../bin/cdraw.c:2841
+msgid "Draw Curve from End"
+msgstr "От касательной"
+
+#: ../bin/cdraw.c:2842
+msgid "Curve Tangent"
+msgstr "Тангенс кривой"
+
+#: ../bin/cdraw.c:2842
+msgid "Draw Curve from Tangent"
+msgstr "По окружности от края"
+
+#: ../bin/cdraw.c:2843
+msgid "Curve Center"
+msgstr "Центр кривой"
+
+#: ../bin/cdraw.c:2843
+msgid "Draw Curve from Center"
+msgstr "По окружности от центра"
+
+#: ../bin/cdraw.c:2844
+msgid "Curve Chord"
+msgstr "Хорда кривой"
+
+#: ../bin/cdraw.c:2844
+msgid "Draw Curve from Chord"
+msgstr "Кривая по хорде"
+
+#: ../bin/cdraw.c:2845
+msgid "Draw Bezier"
+msgstr "Кривая Безье"
+
+#: ../bin/cdraw.c:2848
+msgid "Circle Tangent"
+msgstr "Касательная к окружности"
+
+#: ../bin/cdraw.c:2848
+msgid "Draw Circle from Tangent"
+msgstr "Окружность из центра"
+
+#: ../bin/cdraw.c:2849
+msgid "Circle Center"
+msgstr "Центр окружности"
+
+#: ../bin/cdraw.c:2849
+msgid "Draw Circle from Center"
+msgstr "Окружность от края"
+
+#: ../bin/cdraw.c:2851
+msgid "Circle Filled Tangent"
+msgstr "Круг от касательной"
+
+#: ../bin/cdraw.c:2851
+msgid "Draw Filled Circle from Tangent"
+msgstr "Круг из центра"
+
+#: ../bin/cdraw.c:2852
+msgid "Circle Filled Center"
+msgstr "Круг к центру"
+
+#: ../bin/cdraw.c:2852
+msgid "Draw Filled Circle from Center"
+msgstr "Круг от края"
+
+#: ../bin/cdraw.c:2854
+msgid "Draw Box"
+msgstr "Прямоугольник"
+
+#: ../bin/cdraw.c:2855
+msgid "Draw Filled Box"
+msgstr "Закрашенный прямоугольник"
+
+#: ../bin/cdraw.c:2856
+msgid "Draw Polygon"
+msgstr "Рисовать полигон"
+
+#: ../bin/cdraw.c:2857
+#, fuzzy
+msgid "Draw Filled Polygon"
+msgstr "Рисовать полигон"
+
+#: ../bin/cdraw.c:2858
+#, fuzzy
+msgid "PolyLine"
+msgstr "Ломаная"
+
+#: ../bin/cdraw.c:2858
+#, fuzzy
+msgid "Draw PolyLine"
+msgstr "Рисовать полилинию"
+
+#: ../bin/cdraw.c:2875
+msgid "Straight Objects"
+msgstr "Прямые объекты"
+
+#: ../bin/cdraw.c:2875
+msgid "Draw Straight Objects"
+msgstr "Рисовать прямые объекты"
+
+#: ../bin/cdraw.c:2876
+msgid "Curved Lines"
+msgstr "Кривые линии"
+
+#: ../bin/cdraw.c:2876
+msgid "Draw Curved Lines"
+msgstr "Рисовать кривые линии"
+
+#: ../bin/cdraw.c:2877
+msgid "Circle Lines"
+msgstr "Окружности"
+
+#: ../bin/cdraw.c:2877
+msgid "Draw Circles"
+msgstr "Рисовать окружности"
+
+#: ../bin/cdraw.c:2878
+msgid "Shapes"
+msgstr "Фигуры"
+
+#: ../bin/cdraw.c:2878
+msgid "Draw Shapes"
+msgstr "Рисовать фигуры"
+
+#: ../bin/cdraw.c:3166
+msgid "Close Polygon - 'g'"
+msgstr ""
+
+#: ../bin/cdraw.c:3167
+msgid "Make PolyLine - 'l'"
+msgstr ""
+
+#: ../bin/cdraw.c:3168
+msgid "Fill Polygon - 'f'"
+msgstr ""
+
+#: ../bin/cdraw.c:3169
+msgid "Empty Polygon - 'u'"
+msgstr ""
+
+#: ../bin/cdraw.c:3171
+msgid "Points Mode - 'p'"
+msgstr ""
+
+#: ../bin/cdraw.c:3172
+msgid "Delete Selected Point - 'Del'"
+msgstr ""
+
+#: ../bin/cdraw.c:3173
+msgid "Vertex Point - 'v'"
+msgstr ""
+
+#: ../bin/cdraw.c:3174
+msgid "Round Corner - 'r'"
+msgstr ""
+
+#: ../bin/cdraw.c:3175
+msgid "Smooth Corner - 's'"
+msgstr ""
+
+#: ../bin/cdraw.c:3177 ../bin/cselect.c:3426
+msgid "LineType..."
+msgstr ""
+
+#: ../bin/cdraw.c:3178 ../bin/cselect.c:3427
+#, fuzzy
+msgid "Solid Line"
+msgstr "Ломаная"
+
+#: ../bin/cdraw.c:3179 ../bin/cselect.c:3428
+#, fuzzy
+msgid "Dashed Line"
+msgstr "Прямая"
+
+#: ../bin/cdraw.c:3180 ../bin/cselect.c:3429
+#, fuzzy
+msgid "Dotted Line"
+msgstr "Кривая линия"
+
+#: ../bin/cdraw.c:3181
+#, fuzzy
+msgid "Dash-Dot Line"
+msgstr "Прямая"
+
+#: ../bin/cdraw.c:3182
+msgid "Dash-Dot-Dot Line"
+msgstr ""
+
+#: ../bin/cdraw.c:3183
+#, fuzzy
+msgid "Center-Dot Line"
+msgstr "Создать линии"
+
+#: ../bin/cdraw.c:3184
+msgid "Phantom-Dot Line"
+msgstr ""
+
+#: ../bin/cdraw.c:3186
+msgid "Origin Mode - 'o'"
+msgstr ""
+
+#: ../bin/cdraw.c:3187
+msgid "Reset Origin - '0'"
+msgstr ""
+
+#: ../bin/cdraw.c:3188
+msgid "Origin to Selected - 'l'"
+msgstr ""
+
+#: ../bin/cdraw.c:3189
+msgid "Origin to Middle - 'm'"
+msgstr ""
+
+#: ../bin/celev.c:46 ../bin/cprofile.c:1536 ../bin/csplit.c:171
+#: ../bin/csplit.c:176 ../bin/dease.c:67 ../bin/doption.c:132
+#: ../bin/doption.c:134
+msgid "None"
+msgstr "Нет"
+
+#: ../bin/celev.c:46
+msgid "Defined"
+msgstr "По-умолчанию"
+
+#: ../bin/celev.c:46
+msgid "Hidden"
+msgstr "Скрытая"
+
+#: ../bin/celev.c:47
+msgid "Computed"
+msgstr "Вычисленная"
+
+#: ../bin/celev.c:47
+msgid "Station"
+msgstr "Станция"
+
+#: ../bin/celev.c:47 ../bin/cprofile.c:1534 ../bin/dcmpnd.c:75
+msgid "Ignore"
+msgstr "Игнорировать"
+
+#: ../bin/celev.c:219
+msgid "Set Elevation"
+msgstr "Установить высоту"
+
+#: ../bin/celev.c:312 ../bin/celev.c:319 ../bin/celev.c:322
+#, c-format
+msgid "Undefined"
+msgstr "Неопределено"
+
+#: ../bin/celev.c:378 ../bin/celev.c:514
+msgid "Elevation"
+msgstr "Высота"
+
+#: ../bin/celev.c:378 ../bin/cmisc.c:459 ../bin/dcontmgm.c:299
+#: ../bin/dcustmgm.c:395 ../bin/dlayer.c:1124 ../bin/dpricels.c:154
+#: ../bin/filenoteui.c:249 ../bin/linknoteui.c:182
+#: ../bin/paramfilesearch_ui.c:396 ../bin/textnoteui.c:171
+msgid "Done"
+msgstr "ОК"
+
+#: ../bin/celev.c:390 ../bin/celev.c:445 ../bin/celev.c:447 ../bin/celev.c:466
+msgid "Click on end, +Shift to split, +Ctrl to move description"
+msgstr ""
+
+#: ../bin/celev.c:410
+msgid "Move to end or track crossing +Shift to split"
+msgstr ""
+
+#: ../bin/celev.c:414
+msgid "Move to end or track crossing"
+msgstr ""
+
+#: ../bin/celev.c:423
+#, c-format
+msgid "Crossing - First %0.3f, Second %0.3f, Clearance %0.3f - Click to Split"
+msgstr ""
+
+#: ../bin/celev.c:425
+#, c-format
+msgid "Crossing - First %0.3f, Second %0.3f, Clearance %0.3f"
+msgstr ""
+
+#: ../bin/celev.c:436
+#, fuzzy, c-format
+msgid "Track End elevation %0.3f"
+msgstr "Высоты трека"
+
+#: ../bin/celev.c:439
+#, c-format
+msgid "Click to split here - elevation %0.3f"
+msgstr ""
+
+#: ../bin/celev.c:442
+#, fuzzy, c-format
+msgid "Track Point elevation %0.3f"
+msgstr "Высоты трека"
+
+#: ../bin/celev.c:470
+#, fuzzy
+msgid "Point selected!"
+msgstr "невыбранные"
+
+#: ../bin/celev.c:473
+#, fuzzy
+msgid "Split track"
+msgstr "Разделить трек"
+
+#: ../bin/celev.c:478
+#, fuzzy
+msgid "Track split!"
+msgstr "Треки"
+
+#: ../bin/cgroup.c:592
+msgid "Ungroup Object"
+msgstr "Разгруппировать объект"
+
+#: ../bin/cgroup.c:604
+#, c-format
+msgid "%d objects ungrouped"
+msgstr "%d объектов разгруппировано"
+
+#: ../bin/cgroup.c:606
+msgid "No objects ungrouped"
+msgstr "Нет объектов для разгруппировки"
+
+#: ../bin/cgroup.c:617
+msgid "Replace with new group?"
+msgstr "Заменить новой группой?"
+
+#: ../bin/cgroup.c:623 ../bin/compound.c:566 ../bin/cstruct.c:69
+#: ../bin/ctodesgn.c:199 ../bin/ctodesgn.c:2921 ../bin/cturnout.c:83
+#: ../bin/dcar.c:2194 ../bin/dcar.c:4366 ../bin/dcar.c:4371
+#: ../bin/dcmpnd.c:456 ../bin/dcustmgm.c:59
+#: ../../../../build/work/app/bin/bllnhlp.c:375
+#: ../../../../build/work/app/bin/bllnhlp.c:570
+msgid "Manufacturer"
+msgstr "Производитель"
+
+#: ../bin/cgroup.c:624 ../bin/cmisc.c:459 ../bin/cstruct.c:69
+#: ../bin/ctodesgn.c:2922 ../bin/ctodesgn.c:2923 ../bin/ctrain.c:187
+#: ../bin/cturnout.c:83 ../bin/dcar.c:2210 ../bin/dcar.c:4367
+#: ../bin/dcar.c:4372 ../bin/dcmpnd.c:457 ../bin/dcustmgm.c:60
+#: ../bin/denum.c:182 ../bin/denum.c:183 ../bin/denum.c:186
+#: ../../../../build/work/app/bin/bllnhlp.c:376
+msgid "Description"
+msgstr "Описание"
+
+#: ../bin/cgroup.c:625 ../bin/dcmpnd.c:458
+msgid "#"
+msgstr "#"
+
+#: ../bin/cgroup.c:626 ../bin/compound.c:570
+msgid "# Segments"
+msgstr "# сегментов"
+
+#: ../bin/cgroup.c:628
+#, fuzzy
+msgid "Offset X,Y:"
+msgstr "Смещение"
+
+#: ../bin/cgroup.c:1235
+msgid "No endpts"
+msgstr ""
+
+#: ../bin/cgroup.c:1350
+msgid "No paths"
+msgstr ""
+
+#: ../bin/cgroup.c:1619 ../bin/cgroup.c:1669
+msgid "Group Tracks"
+msgstr ""
+
+#: ../bin/cgroup.c:1729
+msgid "Group Objects"
+msgstr ""
+
+#: ../bin/chndldto.c:70
+msgid "Place frog and drag angle"
+msgstr ""
+
+#: ../bin/chndldto.c:87
+msgid "frog"
+msgstr "стрелка"
+
+#: ../bin/chndldto.c:93
+msgid "Drag to set angle"
+msgstr "Тащите для установки угла"
+
+#: ../bin/chndldto.c:132
+#, c-format
+msgid "Angle = %0.2f Frog# = %0.2f"
+msgstr "Угол = %0.2f Стрелка# = %0.2f"
+
+#: ../bin/chndldto.c:134
+msgid "Frog angle is too close to 0"
+msgstr "Угол стрелки очень маленький"
+
+#: ../bin/chndldto.c:137
+msgid "Select point position"
+msgstr "Выберите позицию точки"
+
+#: ../bin/chndldto.c:149 ../bin/chndldto.c:174
+msgid "points"
+msgstr "точки"
+
+#: ../bin/chndldto.c:271
+#, c-format
+msgid "Length = %0.2f Angle = %0.2f Frog# = %0.2f"
+msgstr ""
+
+#: ../bin/chndldto.c:274
+msgid "Create Hand Laid Turnout"
+msgstr ""
+
+#: ../bin/chndldto.c:358
+msgid "HandLaidTurnout"
+msgstr ""
+
+#: ../bin/cjoin.c:166
+#, c-format
+msgid "Curved Track: Radius=%s Length=%s"
+msgstr "Изогнутый трек: Радиус=%s Длина=%s"
+
+#: ../bin/cjoin.c:252
+#, c-format
+msgid "Curved Track: Radius=%s Length=%s Angle=%0.3f"
+msgstr "Изогнутый трек: Радиус=%s Длина=%s Угол=%0.3f"
+
+#: ../bin/cjoin.c:348
+#, c-format
+msgid "Track (%d) is too short for transition-curve by %0.3f"
+msgstr ""
+
+#: ../bin/cjoin.c:366
+#, c-format
+msgid "Connecting track is too short by %0.3f"
+msgstr ""
+
+#: ../bin/cjoin.c:410
+msgid "Click on an unselected End-Point"
+msgstr ""
+
+#: ../bin/cjoin.c:411
+msgid "Click on a selected End-Point"
+msgstr ""
+
+#: ../bin/cjoin.c:417
+msgid "unselected"
+msgstr "невыбранные"
+
+#: ../bin/cjoin.c:417 ../bin/cprint.c:161
+msgid "selected"
+msgstr "выбранные"
+
+#: ../bin/cjoin.c:474
+msgid "Left click - Select first draw object end"
+msgstr ""
+
+#: ../bin/cjoin.c:513 ../bin/cjoin.c:539
+msgid "Not a line - Try again"
+msgstr ""
+
+#: ../bin/cjoin.c:535
+msgid "Left click - Select second object end"
+msgstr ""
+
+#: ../bin/cjoin.c:547
+msgid "Same draw object and same endpoint - Try again"
+msgstr ""
+
+#: ../bin/cjoin.c:581
+#, fuzzy
+msgid "Create PolyLine"
+msgstr "Создать линии"
+
+#: ../bin/cjoin.c:654 ../bin/cjoin.c:897
+#, fuzzy
+msgid "Desired Radius"
+msgstr "Радиус окружности"
+
+#: ../bin/cjoin.c:823
+msgid "Left click - join with track"
+msgstr "Левый клик - соединить с треком"
+
+#: ../bin/cjoin.c:825
+msgid "Left click - join with track, Shift Left click - move to join"
+msgstr ""
+
+#: ../bin/cjoin.c:892 ../bin/cjoin.c:1302 ../bin/cjoin.c:1309
+msgid "Select 2nd track"
+msgstr "Выберите второй трек"
+
+#: ../bin/cjoin.c:1112
+msgid "Beyond end of 2nd track"
+msgstr ""
+
+#: ../bin/cjoin.c:1147
+msgid "Beyond end of 1st track"
+msgstr ""
+
+#: ../bin/cjoin.c:1169
+msgid "First Track Type not supported for non-Cornu Join"
+msgstr ""
+
+#: ../bin/cjoin.c:1176
+msgid "First "
+msgstr "Первый "
+
+#: ../bin/cjoin.c:1201
+msgid "Second Track Type not supported for non-Cornu Join"
+msgstr ""
+
+#: ../bin/cjoin.c:1208
+msgid "Second "
+msgstr "Второй "
+
+#: ../bin/cjoin.c:1222 ../bin/track.c:2281 ../bin/track.c:2317
+#: ../bin/track.c:2383
+msgid "Connecting "
+msgstr "Соединение "
+
+#: ../bin/cjoin.c:1312
+msgid "Join Tracks"
+msgstr "Соединить треки"
+
+#: ../bin/cjoin.c:1394
+msgid "Join"
+msgstr "Присоединить"
+
+#: ../bin/cjoin.c:1395
+#, fuzzy
+msgid "Join Track"
+msgstr "Соединить треки"
+
+#: ../bin/cjoin.c:1396
+#, fuzzy
+msgid "Join Lines"
+msgstr "Окружности"
+
+#: ../bin/cmisc.c:59
+msgid "Middle"
+msgstr "Середина"
+
+#: ../bin/cmisc.c:59 ../bin/macro.c:98
+msgid "End"
+msgstr "Конец"
+
+#: ../bin/cmisc.c:242 ../bin/cmodify.c:348 ../bin/compound.c:664
+#: ../bin/ctrain.c:218
+msgid "Change Track"
+msgstr "Изменить трек"
+
+#: ../bin/cmisc.c:572
+msgid "Select track to describe"
+msgstr "Выберите трек для описания"
+
+#: ../bin/cmisc.c:653 ../bin/doption.c:235
+msgid "Properties"
+msgstr "Свойства"
+
+#: ../bin/cmisc2.c:52
+msgid "Bridge"
+msgstr "Мост"
+
+#: ../bin/cmodify.c:198 ../bin/cmodify.c:466
+msgid "Modify Track"
+msgstr "Изменить трек"
+
+#: ../bin/cmodify.c:262
+msgid ""
+"Select a track to modify, Left-Click change length, Right-Click to add "
+"flextrack"
+msgstr ""
+
+#: ../bin/cmodify.c:507
+#, fuzzy
+msgid "Drag to add flex track"
+msgstr "Тяните, чтобы создавать новые сегменты трека"
+
+#: ../bin/cmodify.c:512
+#, fuzzy
+msgid "No track to extend"
+msgstr "%d треков перемещено"
+
+#: ../bin/cmodify.c:517
+#, fuzzy
+msgid "No track selected"
+msgstr "выбранные"
+
+#: ../bin/cmodify.c:650
+#, c-format
+msgid "Curve Track: Radius=%s Length=%s Angle=%0.3f"
+msgstr "Кривой трек: Радиус=%s Длина=%s Угол=%0.3f"
+
+#: ../bin/cmodify.c:665
+msgid "Extend Track"
+msgstr ""
+
+#: ../bin/cmodify.c:794
+msgid "Modify"
+msgstr "Изменить"
+
+#: ../bin/cmodify.c:801 ../bin/cselect.c:3383 ../bin/cselect.c:3399
+#: ../bin/misc.c:2240 ../bin/misc.c:2242
+msgid "Zoom In"
+msgstr "Приблизить"
+
+#: ../bin/cmodify.c:802 ../bin/cselect.c:3387 ../bin/cselect.c:3400
+#: ../bin/misc.c:2244 ../bin/misc.c:2246
+msgid "Zoom Out"
+msgstr "Отдалить"
+
+#: ../bin/cmodify.c:803
+msgid "Pan center - 'c'"
+msgstr ""
+
+#: ../bin/cnote.c:69 ../bin/textnoteui.c:48 ../bin/trknote.c:60
+msgid "Note"
+msgstr "Заметка"
+
+#: ../bin/cnote.c:75
+msgid "Replace this text with your layout notes"
+msgstr "Замените этот текст вашей заметкой к рабочей области"
+
+#: ../bin/compound.c:544 ../bin/compound.c:549 ../bin/compound.c:554
+#: ../bin/compound.c:559 ../bin/tbezier.c:248 ../bin/tbezier.c:255
+#: ../bin/tcornu.c:297 ../bin/tcornu.c:302
+msgid "Center X,Y"
+msgstr ""
+
+#: ../bin/compound.c:546 ../bin/tbezier.c:249 ../bin/tcornu.c:298
+msgid "Z1"
+msgstr ""
+
+#: ../bin/compound.c:551 ../bin/tbezier.c:256 ../bin/tcornu.c:303
+msgid "Z2"
+msgstr ""
+
+#: ../bin/compound.c:552
+msgid "End Pt 3: X,Y"
+msgstr ""
+
+#: ../bin/compound.c:556
+msgid "Z3"
+msgstr ""
+
+#: ../bin/compound.c:557
+msgid "End Pt 4: X,Y"
+msgstr ""
+
+#: ../bin/compound.c:561
+msgid "Z4"
+msgstr ""
+
+#: ../bin/compound.c:565
+msgid "Pivot"
+msgstr "Центр"
+
+#: ../bin/compound.c:568 ../bin/cstruct.c:69 ../bin/cturnout.c:83
+#: ../bin/dcar.c:4366 ../bin/dcar.c:4371 ../bin/dcustmgm.c:60
+#: ../bin/doption.c:137 ../bin/doption.c:138
+msgid "Part No"
+msgstr "Артикул"
+
+#: ../bin/compound.c:569
+#, fuzzy
+msgid "LineType"
+msgstr "Прямая"
+
+#: ../bin/compound.c:830 ../bin/cstruct.c:937 ../bin/cstruct.c:1128
+msgid "Structure"
+msgstr "Структура"
+
+#: ../bin/compound.c:832 ../bin/cswitchmotor.c:228 ../bin/cturnout.c:1069
+#: ../bin/cturnout.c:2927
+msgid "Turnout"
+msgstr "Стрелка"
+
+#: ../bin/compound.c:832
+msgid "Sectional Track"
+msgstr "Составной трек"
+
+#: ../bin/compound.c:836
+#, c-format
+msgid "%s (%d) Layer= %d %s"
+msgstr ""
+
+#: ../bin/cparalle.c:52 ../bin/cparalle.c:100 ../bin/cparalle.c:140
+#: ../bin/ctodesgn.c:543 ../bin/ctodesgn.c:563 ../bin/ctodesgn.c:583
+#: ../bin/tcurve.c:371
+msgid "Separation"
+msgstr ""
+
+#: ../bin/cparalle.c:55 ../bin/cparalle.c:101
+#, fuzzy
+msgid "Radius Factor"
+msgstr "Радиус "
+
+#: ../bin/cparalle.c:141
+#, fuzzy
+msgid "Radius factor"
+msgstr "Радиус "
+
+#: ../bin/cparalle.c:154
+msgid " Track/Line doesn't support parallel"
+msgstr ""
+
+#: ../bin/cparalle.c:228
+msgid "Create Parallel Track"
+msgstr "Добавить параллельный трек"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:354
+#: ../bin/cparalle.c:298 ../../../../build/work/app/i18n/custmsg.h:1233
+msgid "Parallel"
+msgstr "Параллель"
+
+#: ../bin/cparalle.c:299
+#, fuzzy
+msgid "Parallel Track"
+msgstr "Добавить параллельный трек"
+
+#: ../bin/cparalle.c:300
+#, fuzzy
+msgid "Parallel Line"
+msgstr "Параллель"
+
+#: ../bin/cprint.c:110
+msgid "Portrait"
+msgstr "Портретный"
+
+#: ../bin/cprint.c:110
+msgid "Landscape"
+msgstr "Ландшафтный"
+
+#: ../bin/cprint.c:111 ../bin/cswitchmotor.c:94 ../bin/cswitchmotor.c:113
+#: ../bin/cswitchmotor.c:225 ../bin/dbench.c:78 ../bin/dease.c:67
+#: ../bin/doption.c:131 ../bin/doption.c:133 ../bin/macro.c:1408
+msgid "Normal"
+msgstr "Нормальные"
+
+#: ../bin/cprint.c:111 ../bin/cswitchmotor.c:95 ../bin/cswitchmotor.c:114
+#: ../bin/cswitchmotor.c:226 ../bin/ctrain.c:941 ../bin/ctrain.c:1250
+msgid "Reverse"
+msgstr "Обратный"
+
+#: ../bin/cprint.c:112
+msgid "Engineering Data"
+msgstr ""
+
+#: ../bin/cprint.c:113
+msgid "Registration Marks (in 1:1 scale only)"
+msgstr ""
+
+#: ../bin/cprint.c:114
+#, fuzzy
+msgid "Page Numbers"
+msgstr "Номер запчасти"
+
+#: ../bin/cprint.c:115
+msgid "Ignore Page Margins"
+msgstr "Игнорировать поля страницы"
+
+#: ../bin/cprint.c:116 ../bin/csnap.c:705 ../bin/doption.c:530
+msgid "Snap Grid"
+msgstr "Настройки сетки"
+
+#: ../bin/cprint.c:117
+#, fuzzy
+msgid "Rulers"
+msgstr "Линейка"
+
+#: ../bin/cprint.c:118
+#, fuzzy
+msgid "Roadbed Outline"
+msgstr "Ширина полотна"
+
+#: ../bin/cprint.c:119
+msgid "Centerline below Scale 1:1"
+msgstr ""
+
+#: ../bin/cprint.c:127
+msgid "Print Scale"
+msgstr "Печатать масштаб"
+
+#: ../bin/cprint.c:128
+msgid "Page Width"
+msgstr "Ширина страницы"
+
+#: ../bin/cprint.c:129
+msgid "Max"
+msgstr "Макс."
+
+#: ../bin/cprint.c:131
+msgid "Snap Shot"
+msgstr ""
+
+#: ../bin/cprint.c:132
+msgid "Page Format"
+msgstr ""
+
+#: ../bin/cprint.c:133
+msgid "Print Order"
+msgstr ""
+
+#: ../bin/cprint.c:134
+#, fuzzy
+msgid "Print "
+msgstr "Печать"
+
+#: ../bin/cprint.c:149
+#, fuzzy
+msgid " Width"
+msgstr "Ширина"
+
+#: ../bin/cprint.c:151
+#, fuzzy
+msgid "Margins"
+msgstr "Главный"
+
+#: ../bin/cprint.c:152 ../bin/cturntbl.c:250
+msgid "Origin: X"
+msgstr "Координата: X"
+
+#: ../bin/cprint.c:153 ../bin/csnap.c:535
+msgid "Y"
+msgstr "Y"
+
+#: ../bin/cprint.c:154 ../bin/cprint.c:620 ../bin/cprofile.c:715
+#: ../bin/dcar.c:2214
+msgid "Reset"
+msgstr "Сбросить"
+
+#: ../bin/cprint.c:156
+msgid "Setup"
+msgstr "Установить"
+
+#: ../bin/cprint.c:157 ../bin/cselect.c:3391 ../bin/misc.c:2271
+msgid "Select All"
+msgstr "Выбрать всё"
+
+#: ../bin/cprint.c:158 ../bin/cprofile.c:717 ../bin/layout.c:481
+#: ../bin/misc.c:769
+msgid "Clear"
+msgstr "Очистить"
+
+#: ../bin/cprint.c:160
+msgid "0 pages"
+msgstr "0 страниц"
+
+#: ../bin/cprint.c:187
+#, fuzzy, c-format
+msgid "%d page"
+msgstr "%d страниц"
+
+#: ../bin/cprint.c:187
+#, c-format
+msgid "%d pages"
+msgstr "%d страниц"
+
+#: ../bin/cprint.c:408
+#, c-format
+msgid "PrintScale 1:%ld Room %s x %s Model Scale %s File %s"
+msgstr "Масштаб 1:%ld Комната %s x %s Масштаб модели %s Файл %s"
+
+#: ../bin/cprint.c:716 ../bin/dbitmap.c:208 ../bin/filenoteui.c:158
+#: ../bin/misc.c:1278 ../bin/misc.c:1356 ../bin/param.c:2622
+#: ../wlib/gtklib/browserhelp.c:94
+#: ../../../../build/work/app/bin/bllnhlp.c:589
+msgid "Cancel"
+msgstr "Отмена"
+
+#: ../bin/cprint.c:723
+#, fuzzy
+msgid "Print Margins"
+msgstr "Печатать список частей"
+
+#: ../bin/cprint.c:1367 ../bin/cprofile.c:719 ../bin/ctodesgn.c:2869
+#: ../bin/denum.c:55
+msgid "Print"
+msgstr "Печать"
+
+#: ../bin/cprint.c:1388
+msgid "Select pages to print, or drag to move print grid"
+msgstr "Выберите страницы для печати или перетащите, чтобы передвинуть сетку"
+
+#: ../bin/cprint.c:1486
+msgid "Print..."
+msgstr "Печать..."
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:350
+#: ../bin/cprofile.c:614 ../bin/cprofile.c:1448 ../bin/cprofile.c:1528
+#: ../../../../build/work/app/bin/bllnhlp.c:125
+#: ../../../../build/work/app/i18n/custmsg.h:1225
+msgid "Profile"
+msgstr "Профиль"
+
+#: ../bin/cprofile.c:632
+#, c-format
+msgid "%s Profile: %s"
+msgstr "%s Профиль: %s"
+
+#: ../bin/cprofile.c:713 ../bin/misc.c:1937
+msgid "Change"
+msgstr "Изменить"
+
+#: ../bin/cprofile.c:757 ../bin/cprofile.c:767
+#, c-format
+msgid "Elev = %0.1f"
+msgstr "Высота = %0.1f"
+
+#: ../bin/cprofile.c:769
+#, c-format
+msgid "Elev=%0.2f %0.1f%%"
+msgstr "Высота=%0.2f %0.1f%%"
+
+#: ../bin/cprofile.c:774
+#, c-format
+msgid "%0.1f%% Elev = %0.2f"
+msgstr "%0.1f%% Высота = %0.2f"
+
+#: ../bin/cprofile.c:779
+#, c-format
+msgid "%0.1f%% Elev = %0.2f %0.1f%%"
+msgstr "%0.1f%% Высота = %0.2f %0.1f%%"
+
+#: ../bin/cprofile.c:794 ../bin/cprofile.c:864 ../bin/cprofile.c:1400
+msgid "Profile Command"
+msgstr ""
+
+#: ../bin/cprofile.c:803 ../bin/cprofile.c:1454
+msgid "Drag to change Elevation"
+msgstr "Тяни, чтобы изменить высоту"
+
+#: ../bin/cprofile.c:905
+msgid "Select a Defined Elevation to start Profile"
+msgstr "Выберите трек для начальной высоты"
+
+#: ../bin/cprofile.c:907
+msgid "Select a Defined Elevation to extend Profile"
+msgstr "Выберите трек для конечной высоты"
+
+#: ../bin/cprofile.c:1462
+msgid "Select a Defined Elevation to start profile"
+msgstr "Выберите трек для начальной высоты"
+
+#: ../bin/cprofile.c:1532
+msgid "Define"
+msgstr ""
+
+#: ../bin/cpull.c:439 ../bin/cpull.c:595
+#, c-format
+msgid "%d tracks moved"
+msgstr "%d треков перемещено"
+
+#: ../bin/cpull.c:485
+msgid "Pull Tracks"
+msgstr "Тяните треки"
+
+#: ../bin/cpull.c:559
+msgid "Tighten Tracks"
+msgstr ""
+
+#: ../bin/cpull.c:646
+msgid "Connect Multiple Tracks - Select multiple tracks to join first"
+msgstr ""
+
+#: ../bin/cpull.c:649
+msgid "Try to Connect all Selected Tracks?"
+msgstr ""
+
+#: ../bin/cpull.c:655
+msgid "ReConnect"
+msgstr ""
+
+#: ../bin/cpull.c:691
+#, c-format
+msgid ""
+"Round 1 %d and Round 2 %d tracks connected, %d close pairs of end Points "
+"were not connected"
+msgstr ""
+
+#: ../bin/cpull.c:716
+#, fuzzy
+msgid "Select first endpoint or turntable to connect, +Shift to tighten"
+msgstr "Выберите первый конец для соединения"
+
+#: ../bin/cpull.c:718
+#, fuzzy
+msgid ""
+"Select first endpoint to connect, or Right-Click for connecting selected "
+"tracks (not turntable)"
+msgstr ""
+"Выберите первый конец для соединения или щёлкните правой кнопкой мыши для "
+"соединения выбранных треков"
+
+#: ../bin/cpull.c:777
+#, fuzzy
+msgid "Select second endpoint or turntable to connect"
+msgstr "Выберите второй конец для соединения"
+
+#: ../bin/cpull.c:784
+msgid "Same Track! - please select another"
+msgstr ""
+
+#: ../bin/cpull.c:872
+msgid "Connect Two Tracks"
+msgstr "Соединить два трека"
+
+#: ../bin/cpull.c:874
+msgid "Connect All Selected - 'S'"
+msgstr ""
+
+#: ../bin/cruler.c:302
+#, fuzzy
+msgid "Measurement"
+msgstr "Упрощения"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:361
+#: ../bin/cruler.c:303 ../../../../build/work/app/i18n/custmsg.h:1247
+msgid "Ruler"
+msgstr "Линейка"
+
+#: ../bin/cruler.c:304
+#, fuzzy
+msgid "Protractor"
+msgstr "Портретный"
+
+#: ../bin/cselect.c:632
+msgid "Change Track Width"
+msgstr "Изменить ширину трека"
+
+#: ../bin/cselect.c:656
+#, fuzzy
+msgid "Change Line Type"
+msgstr "Изменить слои"
+
+#: ../bin/cselect.c:685
+msgid "Delete Tracks"
+msgstr "Удалить треки"
+
+#: ../bin/cselect.c:763
+msgid "Hide Tracks (Tunnel)"
+msgstr "Спрятать треки (тунель)"
+
+#: ../bin/cselect.c:781
+#, fuzzy
+msgid "Bridge Tracks "
+msgstr "Трек Безье"
+
+#: ../bin/cselect.c:798
+#, fuzzy
+msgid "Ties Tracks "
+msgstr "Тонкие треки"
+
+#: ../bin/cselect.c:835 ../bin/misc.c:2391
+msgid "Move To Current Layer"
+msgstr "Переместить на текущий слой"
+
+#: ../bin/cselect.c:875 ../bin/misc.c:2543
+msgid "Clear Elevations"
+msgstr "Очистить высоты"
+
+#: ../bin/cselect.c:919
+msgid "Add Elevations"
+msgstr "Добавить высоты"
+
+#: ../bin/cselect.c:934
+msgid "Refresh Compound"
+msgstr ""
+
+#: ../bin/cselect.c:966 ../bin/dcar.c:4366 ../bin/dcar.c:4371
+#: ../bin/dcustmgm.c:60 ../bin/layout.c:472
+msgid "Scale"
+msgstr "Масштаб"
+
+#: ../bin/cselect.c:966 ../bin/cselect.c:991
+msgid "Ratio"
+msgstr ""
+
+#: ../bin/cselect.c:975
+msgid "Do not resize track"
+msgstr "Не изменять размер трека"
+
+#: ../bin/cselect.c:979
+msgid "Rescale by:"
+msgstr ""
+
+#: ../bin/cselect.c:981
+msgid "From:"
+msgstr "От:"
+
+#: ../bin/cselect.c:985
+msgid "To: "
+msgstr ""
+
+#: ../bin/cselect.c:1052
+msgid "Rescale Tracks"
+msgstr "Перемасштабировать треки"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:357
+#: ../bin/cselect.c:1195 ../../../../build/work/app/i18n/custmsg.h:1239
+msgid "Rescale"
+msgstr "Перемасштабировать"
+
+#: ../bin/cselect.c:1524
+msgid "Cornu too tight - it was deleted"
+msgstr ""
+
+#: ../bin/cselect.c:1580
+msgid "Move To Join"
+msgstr ""
+
+#: ../bin/cselect.c:1773
+msgid "Drag to move selected tracks - Shift+Ctrl+Arrow micro-steps the move"
+msgstr ""
+
+#: ../bin/cselect.c:1794 ../bin/cselect.c:1915 ../bin/cselect.c:2285
+msgid "Move Tracks"
+msgstr "Переместить треки"
+
+#: ../bin/cselect.c:1963
+#, fuzzy
+msgid "Align: Click on a selected object to be aligned"
+msgstr "Скопировать выбранные объекты в буфер обмена"
+
+#: ../bin/cselect.c:2001
+msgid "Drag to rotate selected tracks, Shift+RightClick for QuickRotate Menu"
+msgstr ""
+
+#: ../bin/cselect.c:2017 ../bin/cselect.c:2299
+msgid "Rotate Tracks"
+msgstr "Вращать треки"
+
+#: ../bin/cselect.c:2031
+msgid "Center of Rotation snapped to Turntable center"
+msgstr ""
+
+#: ../bin/cselect.c:2073 ../bin/cselect.c:2104
+#, c-format
+msgid "Angle %0.3f"
+msgstr ""
+
+#: ../bin/cselect.c:2160
+#, fuzzy, c-format
+msgid "Angle %0.3f #%ld"
+msgstr "Угол = %0.3f (%s)"
+
+#: ../bin/cselect.c:2162
+#, fuzzy, c-format
+msgid "Angle %0.3f %s"
+msgstr "Угол = %0.3f (%s)"
+
+#: ../bin/cselect.c:2167
+msgid "Origin Set. Drag away to set start angle"
+msgstr ""
+
+#: ../bin/cselect.c:2181
+msgid "Align: Click on the 2nd unselected object"
+msgstr ""
+
+#: ../bin/cselect.c:2311
+msgid "Toggle Label"
+msgstr ""
+
+#: ../bin/cselect.c:2430 ../bin/cselect.c:2469
+msgid "Select and drag a description"
+msgstr "Выберите и переместите подпись"
+
+#: ../bin/cselect.c:2455
+#, fuzzy
+msgid "Elevation description"
+msgstr "Описание Левая"
+
+#: ../bin/cselect.c:2458
+msgid "Hidden description - 's' to Show"
+msgstr ""
+
+#: ../bin/cselect.c:2462
+#, fuzzy
+msgid "Shown description - 'h' to Hide"
+msgstr "Показать подпись"
+
+#: ../bin/cselect.c:2483
+msgid "Hidden Label - Drag to reveal"
+msgstr ""
+
+#: ../bin/cselect.c:2485
+#, fuzzy
+msgid "Drag label"
+msgstr "Тащите, чтобы разместить"
+
+#: ../bin/cselect.c:2487
+msgid "Move Label"
+msgstr "Переместить подпись"
+
+#: ../bin/cselect.c:2524
+msgid "To Hide, use Context Menu"
+msgstr ""
+
+#: ../bin/cselect.c:2540 ../bin/cselect.c:3417
+#, fuzzy
+msgid "Show/Hide Description"
+msgstr "Показать подпись"
+
+#: ../bin/cselect.c:2620
+msgid "Drag to mark mirror line"
+msgstr "Тащите, чтобы отметить ось зеркала"
+
+#: ../bin/cselect.c:2631
+#, c-format
+msgid "Angle %0.2f"
+msgstr "Угол %0.2f"
+
+#: ../bin/cselect.c:2634
+msgid "Flip Tracks"
+msgstr "Отзеркалить треки"
+
+#: ../bin/cselect.c:2974
+#, fuzzy
+msgid "Select track"
+msgstr "Выберите треки"
+
+#: ../bin/cselect.c:3001
+msgid "Track is in Frozen Layer"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:323
+#: ../bin/cselect.c:3357 ../bin/dcar.c:1672 ../bin/doption.c:235
+#: ../../../../build/work/app/i18n/custmsg.h:1171
+msgid "Select"
+msgstr "Выбрать"
+
+#: ../bin/cselect.c:3376 ../bin/cselect.c:3396 ../bin/misc.c:2235
+msgid "Undo"
+msgstr "Отменить"
+
+#: ../bin/cselect.c:3377 ../bin/cselect.c:3397 ../bin/misc.c:2237
+msgid "Redo"
+msgstr "Повторить"
+
+#: ../bin/cselect.c:3384 ../bin/draw.c:3119
+msgid "Zoom to extents - 'e'"
+msgstr ""
+
+#: ../bin/cselect.c:3385 ../bin/draw.c:3130 ../bin/misc.c:2419
+msgid "&Zoom"
+msgstr "Масштаб"
+
+#: ../bin/cselect.c:3388 ../bin/draw.c:3129
+msgid "Pan to Origin - 'o'/'0'"
+msgstr ""
+
+#: ../bin/cselect.c:3389 ../bin/cselect.c:3401
+msgid "Pan Center Here - 'c'"
+msgstr ""
+
+#: ../bin/cselect.c:3392 ../bin/misc.c:2274 ../bin/misc.c:2397
+msgid "Select Current Layer"
+msgstr "Сохранить текущий слой"
+
+#: ../bin/cselect.c:3403 ../bin/misc.c:2276
+msgid "Deselect All"
+msgstr "Сбросить выделение"
+
+#: ../bin/cselect.c:3405
+#, fuzzy
+msgid "Properties -'?'"
+msgstr "Свойства"
+
+#: ../bin/cselect.c:3406
+#, fuzzy
+msgid "Modify/Activate Track"
+msgstr "Изменить трек"
+
+#: ../bin/cselect.c:3408 ../bin/misc.c:2262
+#, fuzzy
+msgid "Cut"
+msgstr "Вырезать"
+
+#: ../bin/cselect.c:3409 ../bin/misc.c:2264
+msgid "Copy"
+msgstr "Копировать"
+
+#: ../bin/cselect.c:3410 ../bin/fileio.c:1620 ../bin/misc.c:2266
+msgid "Paste"
+msgstr "Вставить"
+
+#: ../bin/cselect.c:3411 ../bin/misc.c:2268
+#, fuzzy
+msgid "Clone"
+msgstr "Закрыть"
+
+#: ../bin/cselect.c:3413
+#, fuzzy
+msgid "Rotate..."
+msgstr "Повернуть"
+
+#: ../bin/cselect.c:3415
+msgid "Align"
+msgstr "Выравнивание"
+
+#: ../bin/cselect.c:3419
+msgid "Hide/NoHide"
+msgstr ""
+
+#: ../bin/cselect.c:3420
+msgid "Bridge/NoBridge"
+msgstr ""
+
+#: ../bin/cselect.c:3421
+msgid "NoTies/Ties"
+msgstr ""
+
+#: ../bin/cselect.c:3422
+msgid "Thickness..."
+msgstr ""
+
+#: ../bin/cselect.c:3423 ../bin/misc.c:2409
+msgid "Thin Tracks"
+msgstr "Тонкие треки"
+
+#: ../bin/cselect.c:3424 ../bin/misc.c:2410
+msgid "Medium Tracks"
+msgstr "Средние треки"
+
+#: ../bin/cselect.c:3425 ../bin/misc.c:2411
+msgid "Thick Tracks"
+msgstr "Толстые треки"
+
+#: ../bin/cselect.c:3430
+msgid "Dash-Dotted Line"
+msgstr ""
+
+#: ../bin/cselect.c:3431
+msgid "Dash-Dot-Dotted Line"
+msgstr ""
+
+#: ../bin/cselect.c:3433
+#, fuzzy
+msgid "Move To Front"
+msgstr "Переместить"
+
+#: ../bin/cselect.c:3434
+#, fuzzy
+msgid "Move To Back"
+msgstr "Переместить треки"
+
+#: ../bin/cselect.c:3436
+#, fuzzy
+msgid "Group"
+msgstr "Группировать"
+
+#: ../bin/cselect.c:3437
+#, fuzzy
+msgid "UnGroup"
+msgstr "Разгруппировать"
+
+#: ../bin/cselect.c:3472
+msgid "Move Description"
+msgstr "Переместить описание"
+
+#: ../bin/cselect.c:3479 ../bin/misc.c:1978 ../bin/misc.c:2279
+msgid "Move"
+msgstr "Переместить"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:368
+#: ../bin/cselect.c:3481 ../bin/misc.c:1969 ../bin/misc.c:2281
+#: ../../../../build/work/app/i18n/custmsg.h:1261
+msgid "Rotate"
+msgstr "Повернуть"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:369
+#: ../bin/cselect.c:3483 ../bin/dcar.c:2216
+#: ../../../../build/work/app/i18n/custmsg.h:1263
+msgid "Flip"
+msgstr "Отразить"
+
+#: ../bin/csensor.c:216
+msgid "Change Sensor"
+msgstr "Изменить сенсор"
+
+#: ../bin/csensor.c:262 ../bin/csensor.c:596
+msgid "Sensor"
+msgstr "Сенсор"
+
+#: ../bin/csensor.c:391 ../bin/csignal.c:511
+msgid "Orgin X"
+msgstr ""
+
+#: ../bin/csensor.c:407
+msgid "Create Sensor"
+msgstr "Создать сенсор"
+
+#: ../bin/csensor.c:410
+msgid "Modify Sensor"
+msgstr "Изменить сенсор"
+
+#: ../bin/csensor.c:443
+msgid "Edit sensor"
+msgstr "Изменить сенсор"
+
+#: ../bin/csensor.c:481
+msgid "Place sensor"
+msgstr "Установить сенсор"
+
+#: ../bin/csignal.c:241
+msgid "Number Of Heads"
+msgstr "Кол-во головок"
+
+#: ../bin/csignal.c:280
+msgid "Change Signal"
+msgstr "Изменить сигнал"
+
+#: ../bin/csignal.c:314
+#, fuzzy, c-format
+msgid "(%d [%s]): Layer=%u, %d heads at %0.3f,%0.3f A%0.3f"
+msgstr "(%d [%s]): Слой=%d, по %0.3f,%0.3f"
+
+#: ../bin/csignal.c:325 ../bin/csignal.c:914
+msgid "Signal"
+msgstr "Сигнал"
+
+#: ../bin/csignal.c:517
+msgid "Number of Heads"
+msgstr "Кол-во головок"
+
+#: ../bin/csignal.c:522
+msgid "Edit Aspect"
+msgstr ""
+
+#: ../bin/csignal.c:524
+msgid "Add Aspect"
+msgstr ""
+
+#: ../bin/csignal.c:526
+msgid "Delete Aspect"
+msgstr ""
+
+#: ../bin/csignal.c:539
+msgid "Aspect Index"
+msgstr ""
+
+#: ../bin/csignal.c:554
+msgid "Create Signal"
+msgstr "Создать сигнал"
+
+#: ../bin/csignal.c:558
+msgid "Modify Signal"
+msgstr "Изменить сигнал"
+
+#: ../bin/csignal.c:665
+msgid "Edit aspect"
+msgstr ""
+
+#: ../bin/csignal.c:712
+#, c-format
+msgid "Are you sure you want to delete the %d aspect(s)"
+msgstr ""
+
+#: ../bin/csignal.c:733
+msgid "Edit signal"
+msgstr ""
+
+#: ../bin/csignal.c:795
+msgid "Place base of signal"
+msgstr ""
+
+#: ../bin/csignal.c:802
+msgid "Drag to orient signal"
+msgstr ""
+
+#: ../bin/csnap.c:516
+msgid "Horz"
+msgstr "Столбцы"
+
+#: ../bin/csnap.c:518
+msgid "Spacing"
+msgstr "Размер"
+
+#: ../bin/csnap.c:520
+msgid "Divisions"
+msgstr "Ячеек"
+
+#: ../bin/csnap.c:523
+msgid "Enable"
+msgstr "Включено"
+
+#: ../bin/csnap.c:524
+msgid "Vert"
+msgstr "Строки"
+
+#: ../bin/csnap.c:533 ../bin/dease.c:76
+msgid "X"
+msgstr "Смещ."
+
+#: ../bin/csnap.c:537
+msgid "A"
+msgstr ""
+
+#: ../bin/csnap.c:540
+msgid "Show"
+msgstr "Показывать"
+
+#: ../bin/csnap.c:791
+msgid "Change Grid..."
+msgstr "Изменить сетку..."
+
+#: ../bin/csplit.c:45
+msgid "Set Block Gaps"
+msgstr ""
+
+#: ../bin/csplit.c:111
+msgid "Select track to split"
+msgstr "Выберите трек для разделения"
+
+#: ../bin/csplit.c:133
+msgid "Can't Split that Track Object"
+msgstr ""
+
+#: ../bin/csplit.c:141 ../bin/csplit.c:153 ../bin/csplit.c:315
+msgid "Split Track"
+msgstr "Разделить трек"
+
+#: ../bin/csplit.c:149 ../bin/csplit.c:271
+msgid "Can't Split that Draw Object"
+msgstr ""
+
+#: ../bin/csplit.c:159
+#, fuzzy
+msgid "No Track to Split"
+msgstr "Выберите трек для разделения"
+
+#: ../bin/csplit.c:172 ../bin/dbench.c:69 ../bin/dbench.c:80
+msgid "Left"
+msgstr "Слева"
+
+#: ../bin/csplit.c:173 ../bin/dbench.c:70 ../bin/dbench.c:79
+msgid "Right"
+msgstr "Справа"
+
+#: ../bin/csplit.c:174 ../bin/csplit.c:179
+msgid "Both"
+msgstr "Оба"
+
+#: ../bin/csplit.c:177
+msgid "Top"
+msgstr "Сверху"
+
+#: ../bin/csplit.c:178
+msgid "Bottom"
+msgstr "Снизу"
+
+#: ../bin/csplit.c:258
+#, fuzzy
+msgid "Select draw to split"
+msgstr "Выберите трек для разделения"
+
+#: ../bin/csplit.c:275 ../bin/csplit.c:316
+#, fuzzy
+msgid "Split Draw"
+msgstr "Разделить трек"
+
+#: ../bin/csplit.c:281
+#, fuzzy
+msgid "No Draw to Split"
+msgstr "Тащите, чтобы разместить"
+
+#: ../bin/csplit.c:314
+#, fuzzy
+msgid "Split"
+msgstr "Разделить трек"
+
+#: ../bin/cstraigh.c:77
+msgid "Place 1st endpoint of straight track, snap to unconnected endpoint"
+msgstr ""
+
+#: ../bin/cstraigh.c:104
+msgid "Drag to place 2nd end point"
+msgstr ""
+
+#: ../bin/cstraigh.c:140
+#, c-format
+msgid "Straight Track Length=%s Angle=%0.3f"
+msgstr "Длина прямого трека=%s Угол=%0.3f"
+
+#: ../bin/cstraigh.c:191 ../bin/tstraigh.c:267
+msgid "Straight Track"
+msgstr "Прямой трек"
+
+#: ../bin/cstruct.c:71 ../bin/cturnout.c:85 ../bin/doption.c:131
+#: ../bin/doption.c:240
+msgid "Hide"
+msgstr "Скрыть"
+
+#: ../bin/cstruct.c:449 ../bin/cstruct.c:476
+msgid "Pier Number"
+msgstr ""
+
+#: ../bin/cstruct.c:561
+#, c-format
+msgid "Scale %d:1"
+msgstr "Масштаб %d:1"
+
+#: ../bin/cstruct.c:563
+#, c-format
+msgid "Width %s"
+msgstr "Ширина %s"
+
+#: ../bin/cstruct.c:565
+#, c-format
+msgid "Height %s"
+msgstr "Высота %s"
+
+#: ../bin/cstruct.c:706
+msgid "Place Structure"
+msgstr ""
+
+#: ../bin/cstruct.c:799 ../bin/cstruct.c:873 ../bin/cstruct.c:1105
+#: ../bin/cturnout.c:2793 ../bin/cturnout.c:2845 ../bin/cturnout.c:2972
+#: ../bin/cturnout.c:3111
+msgid ""
+"Left-Drag to place, Ctrl+Left-Drag or Right-Drag to Rotate, Space or Enter "
+"to accept, Esc to Cancel"
+msgstr ""
+
+#: ../bin/cstruct.c:821
+msgid "Drag to place"
+msgstr "Тащите, чтобы разместить"
+
+#: ../bin/cstruct.c:843
+msgid "Drag to rotate"
+msgstr "Тащите, чтобы повернуть"
+
+#: ../bin/cstruct.c:863
+#, c-format
+msgid "Angle = %0.3f"
+msgstr "Угол = %0.3f"
+
+#: ../bin/cstruct.c:954
+msgid "Select Structure and then drag to place"
+msgstr ""
+
+#: ../bin/cstruct.c:992
+msgid ""
+"Left drag to move, right drag to rotate, or press Return or click Ok to "
+"finalize"
+msgstr ""
+
+#: ../bin/cstruct.c:1075 ../bin/cturnout.c:3078
+#, c-format
+msgid "Place %s and draw into position"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:96 ../bin/cswitchmotor.c:115
+#: ../bin/cswitchmotor.c:227
+msgid "Point Sense"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:116
+msgid "Turnout Number"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:292
+msgid "Change Switch Motor"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:359
+msgid "Switch motor"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:475
+#, c-format
+msgid "ResolveSwitchmotor: Turnout T%d: T%d doesn't exist"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:544 ../bin/cswitchmotor.c:714
+msgid "Switch motor must have a name!"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:548
+msgid "Create Switch Motor"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:580
+msgid "Create switch motor"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:594 ../bin/cswitchmotor.c:625
+#: ../bin/cswitchmotor.c:657
+msgid "Select a turnout"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:601
+msgid "Not a turnout!"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:634 ../bin/cswitchmotor.c:665
+msgid "Not a switch motor!"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:670
+#, c-format
+msgid "Really delete switch motor %s?"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:671
+msgid "Delete Switch Motor"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:718
+msgid "Modify Switch Motor"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:744
+msgid "Edit switch motor"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:750
+#, c-format
+msgid "Edit switch motor %d"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:858
+msgid "Switch Motor"
+msgstr ""
+
+#: ../bin/cswitchmotor.c:871
+#, c-format
+msgid "Deleting Switch Motor %s"
+msgstr ""
+
+#: ../bin/ctext.c:196 ../bin/ctext.c:235
+msgid "Create Text"
+msgstr "Создать текст"
+
+#: ../bin/ctext.c:266
+msgid "Fonts..."
+msgstr "Шрифты..."
+
+#: ../bin/ctodesgn.c:144
+msgid "Frog #"
+msgstr "Стрелка #"
+
+#: ../bin/ctodesgn.c:144
+msgid "Degrees"
+msgstr "Градусы"
+
+#: ../bin/ctodesgn.c:145
+msgid "Dual Path"
+msgstr ""
+
+#: ../bin/ctodesgn.c:145
+msgid "Quad Path"
+msgstr ""
+
+#: ../bin/ctodesgn.c:180 ../bin/ctodesgn.c:181 ../bin/ctodesgn.c:182
+#: ../bin/ctodesgn.c:183 ../bin/ctodesgn.c:243 ../bin/ctodesgn.c:266
+#: ../bin/ctodesgn.c:268 ../bin/ctodesgn.c:303 ../bin/ctodesgn.c:306
+#: ../bin/ctodesgn.c:332 ../bin/ctodesgn.c:333 ../bin/ctodesgn.c:369
+#: ../bin/ctodesgn.c:372 ../bin/ctodesgn.c:398 ../bin/ctodesgn.c:400
+#: ../bin/ctodesgn.c:439 ../bin/ctodesgn.c:443 ../bin/ctodesgn.c:446
+#: ../bin/ctodesgn.c:658
+msgid "Offset"
+msgstr "Смещение"
+
+#: ../bin/ctodesgn.c:201 ../bin/ctodesgn.c:2916 ../bin/ctodesgn.c:2917
+msgid "Left Description"
+msgstr "Описание Левая"
+
+#: ../bin/ctodesgn.c:202 ../bin/ctodesgn.c:205
+msgid " #"
+msgstr " #"
+
+#: ../bin/ctodesgn.c:204 ../bin/ctodesgn.c:2915
+msgid "Right Description"
+msgstr "Описание Правая"
+
+#: ../bin/ctodesgn.c:206
+msgid "Roadbed Width"
+msgstr "Ширина полотна"
+
+#: ../bin/ctodesgn.c:210 ../bin/denum.c:56
+msgid "Print Setup"
+msgstr "Настройки печати"
+
+#: ../bin/ctodesgn.c:241
+msgid "Diverging Length"
+msgstr "Отклонение длины"
+
+#: ../bin/ctodesgn.c:242
+msgid "Diverging Angle"
+msgstr "Отклонение угла"
+
+#: ../bin/ctodesgn.c:243
+msgid "Diverging Offset"
+msgstr "Отклонение смещения"
+
+#: ../bin/ctodesgn.c:244
+msgid "Overall Length"
+msgstr ""
+
+#: ../bin/ctodesgn.c:254
+msgid "Regular Turnout"
+msgstr "Обычная стрелка"
+
+#: ../bin/ctodesgn.c:264 ../bin/ctodesgn.c:301
+msgid "Inner Length"
+msgstr "Внутренняя длина"
+
+#: ../bin/ctodesgn.c:265 ../bin/ctodesgn.c:302
+msgid "Inner Angle"
+msgstr "Внутренний угол"
+
+#: ../bin/ctodesgn.c:266 ../bin/ctodesgn.c:303
+msgid "Inner Offset"
+msgstr "Внутреннее смещение"
+
+#: ../bin/ctodesgn.c:267 ../bin/ctodesgn.c:305
+msgid "Outer Angle"
+msgstr "Внешний угол"
+
+#: ../bin/ctodesgn.c:268 ../bin/ctodesgn.c:306
+msgid "Outer Offset"
+msgstr "Внешнее смещение"
+
+#: ../bin/ctodesgn.c:269 ../bin/ctodesgn.c:308
+msgid "Outer Length"
+msgstr "Внешняя длина"
+
+#: ../bin/ctodesgn.c:291
+msgid "Curved Turnout"
+msgstr ""
+
+#: ../bin/ctodesgn.c:304
+#, fuzzy
+msgid "Inner Radius"
+msgstr "Мин. радиус"
+
+#: ../bin/ctodesgn.c:307
+#, fuzzy
+msgid "Outer Radius"
+msgstr "Радиус"
+
+#: ../bin/ctodesgn.c:309 ../bin/ctodesgn.c:376 ../bin/ctodesgn.c:451
+#, fuzzy
+msgid "Toe Radius"
+msgstr "Радиус"
+
+#: ../bin/ctodesgn.c:310 ../bin/ctodesgn.c:375
+#, fuzzy
+msgid "Toe Length"
+msgstr "Общая длина"
+
+#: ../bin/ctodesgn.c:320
+#, fuzzy
+msgid "Cornu Curved Turnout"
+msgstr "Добавить изогнутый трек"
+
+#: ../bin/ctodesgn.c:330 ../bin/ctodesgn.c:367 ../bin/ctodesgn.c:396
+#: ../bin/ctodesgn.c:437
+msgid "Left Length"
+msgstr "Длина слева"
+
+#: ../bin/ctodesgn.c:331 ../bin/ctodesgn.c:368 ../bin/ctodesgn.c:397
+#: ../bin/ctodesgn.c:438
+msgid "Left Angle"
+msgstr "Угол слева"
+
+#: ../bin/ctodesgn.c:332 ../bin/ctodesgn.c:369 ../bin/ctodesgn.c:398
+#: ../bin/ctodesgn.c:439
+msgid "Left Offset"
+msgstr "Смещение слева"
+
+#: ../bin/ctodesgn.c:333 ../bin/ctodesgn.c:372 ../bin/ctodesgn.c:400
+#: ../bin/ctodesgn.c:446
+msgid "Right Offset"
+msgstr "Смещение справа"
+
+#: ../bin/ctodesgn.c:334 ../bin/ctodesgn.c:373 ../bin/ctodesgn.c:401
+#: ../bin/ctodesgn.c:447
+msgid "Right Angle"
+msgstr "Угол справа"
+
+#: ../bin/ctodesgn.c:335 ../bin/ctodesgn.c:374 ../bin/ctodesgn.c:402
+#: ../bin/ctodesgn.c:448
+msgid "Right Length"
+msgstr "Длина справа"
+
+#: ../bin/ctodesgn.c:357
+msgid "Wye Turnout"
+msgstr ""
+
+#: ../bin/ctodesgn.c:370 ../bin/ctodesgn.c:440
+#, fuzzy
+msgid "Left Radius"
+msgstr "Радиус"
+
+#: ../bin/ctodesgn.c:371 ../bin/ctodesgn.c:445
+#, fuzzy
+msgid "Right Radius"
+msgstr "Мин. радиус"
+
+#: ../bin/ctodesgn.c:386
+msgid "Cornu Wye Turnout"
+msgstr ""
+
+#: ../bin/ctodesgn.c:427
+msgid "3-way Turnout"
+msgstr ""
+
+#: ../bin/ctodesgn.c:441
+#, fuzzy
+msgid "Center Length"
+msgstr "Внутренняя длина"
+
+#: ../bin/ctodesgn.c:442
+#, fuzzy
+msgid "Center Angle"
+msgstr "Внутренний угол"
+
+#: ../bin/ctodesgn.c:443 ../bin/dcar.c:2237
+#, fuzzy
+msgid "Center Offset"
+msgstr "Внутреннее смещение"
+
+#: ../bin/ctodesgn.c:444
+#, fuzzy
+msgid "Center Radius"
+msgstr "Радиус окружности"
+
+#: ../bin/ctodesgn.c:449
+#, fuzzy
+msgid "Toe Length Left"
+msgstr "Общая длина"
+
+#: ../bin/ctodesgn.c:450
+#, fuzzy
+msgid "Toe Length Right"
+msgstr "Общая длина"
+
+#: ../bin/ctodesgn.c:462
+msgid "Cornu 3-way Turnout"
+msgstr ""
+
+#: ../bin/ctodesgn.c:482
+msgid "Crossing"
+msgstr "Перекрёсток"
+
+#: ../bin/ctodesgn.c:503
+msgid "Single Slipswitch"
+msgstr ""
+
+#: ../bin/ctodesgn.c:532
+msgid "Double Slipswitch"
+msgstr ""
+
+#: ../bin/ctodesgn.c:552
+msgid "Right Crossover"
+msgstr ""
+
+#: ../bin/ctodesgn.c:572
+msgid "Left Crossover"
+msgstr ""
+
+#: ../bin/ctodesgn.c:592
+msgid "Double Crossover"
+msgstr ""
+
+#: ../bin/ctodesgn.c:610
+msgid "Straight Section"
+msgstr "Прямое выделение"
+
+#: ../bin/ctodesgn.c:621
+msgid "Angle (Degrees)"
+msgstr "Угол (градусы)"
+
+#: ../bin/ctodesgn.c:629
+msgid "Curved Section"
+msgstr ""
+
+#: ../bin/ctodesgn.c:648
+msgid "Bumper Section"
+msgstr ""
+
+#: ../bin/ctodesgn.c:658 ../bin/denum.c:123 ../bin/denum.c:186
+#: ../bin/denum.c:218 ../bin/denum.c:219 ../bin/dlayer.c:497
+msgid "Count"
+msgstr "Кол-во"
+
+#: ../bin/ctodesgn.c:659
+msgid "Radius1"
+msgstr "Радиус1"
+
+#: ../bin/ctodesgn.c:660
+msgid "Radius2"
+msgstr "Радиус2"
+
+#: ../bin/ctodesgn.c:740
+msgid "Turntable Section"
+msgstr ""
+
+#: ../bin/ctodesgn.c:2543
+#, c-format
+msgid "%s Designer"
+msgstr ""
+
+#: ../bin/ctodesgn.c:2547
+#, c-format
+msgid "%s %d x %d (of %d x %d)"
+msgstr ""
+
+#: ../bin/ctodesgn.c:2547
+msgid "Page"
+msgstr "Страница"
+
+#: ../bin/ctodesgn.c:2555
+msgid "Frog Number"
+msgstr "Номер стрелки"
+
+#: ../bin/ctodesgn.c:2869
+msgid "Turnout Designer"
+msgstr "Редактор стрелок"
+
+#: ../bin/ctodesgn.c:2879
+#, c-format
+msgid "%s %s Designer"
+msgstr ""
+
+#: ../bin/ctrain.c:182 ../bin/dcar.c:2249 ../bin/dcar.c:4366
+#: ../bin/dcar.c:4371
+msgid "Index"
+msgstr "№"
+
+#: ../bin/ctrain.c:188 ../bin/dcar.c:4367
+msgid "Rep Marks"
+msgstr ""
+
+#: ../bin/ctrain.c:272
+msgid "Car"
+msgstr "Машина"
+
+#: ../bin/ctrain.c:656
+msgid "Follow"
+msgstr "Следовать"
+
+#: ../bin/ctrain.c:657
+msgid "Auto Reverse"
+msgstr "Авторазворот"
+
+#: ../bin/ctrain.c:676 ../bin/dcar.c:5257
+msgid "Find"
+msgstr "Найти"
+
+#: ../bin/ctrain.c:682 ../bin/ctrain.c:941 ../bin/ctrain.c:1250
+#: ../wlib/gtklib/ixhelp.c:239
+msgid "Forward"
+msgstr "Вперёд"
+
+#: ../bin/ctrain.c:684 ../bin/ctrain.c:3125 ../bin/dcar.c:4705
+#: ../bin/dcar.c:4715 ../bin/dcar.c:4835 ../bin/fileio.c:242 ../bin/macro.c:92
+#: ../bin/macro.c:900
+msgid "Stop"
+msgstr "Стоп"
+
+#: ../bin/ctrain.c:882 ../bin/ctrain.c:911
+msgid "Crashed"
+msgstr "Разрушено"
+
+#: ../bin/ctrain.c:884
+msgid "Not on Track"
+msgstr "Не на треке"
+
+#: ../bin/ctrain.c:888
+msgid "Trains Paused"
+msgstr "Поезда остановлены"
+
+#: ../bin/ctrain.c:890
+msgid "Running"
+msgstr "Запущено"
+
+#: ../bin/ctrain.c:895
+msgid "End of Track"
+msgstr "Конец трека"
+
+#: ../bin/ctrain.c:899
+msgid "Open Turnout"
+msgstr ""
+
+#: ../bin/ctrain.c:903
+msgid "Manual Stop"
+msgstr "Ручная остановка"
+
+#: ../bin/ctrain.c:907
+msgid "No Room"
+msgstr "Нет комнат"
+
+#: ../bin/ctrain.c:915
+msgid "Unknown Status"
+msgstr "Неизвестный статус"
+
+#: ../bin/ctrain.c:925
+msgid "No trains"
+msgstr "Нет поездов"
+
+#: ../bin/ctrain.c:1301
+msgid "Train Control XXX"
+msgstr "Управление поездом XXX"
+
+#: ../bin/ctrain.c:1302
+#, c-format
+msgid "Train Control %d"
+msgstr "Управление поездом %d"
+
+#: ../bin/ctrain.c:1304
+msgid "Train Control"
+msgstr "Управление поездом"
+
+#: ../bin/ctrain.c:3098
+msgid "Train"
+msgstr "Поезд"
+
+#: ../bin/ctrain.c:3111
+msgid "Uncouple"
+msgstr ""
+
+#: ../bin/ctrain.c:3113
+msgid "Flip Car"
+msgstr "Развернуть машину"
+
+#: ../bin/ctrain.c:3115
+#, fuzzy
+msgid "Clearance Lines On"
+msgstr "Создать линии"
+
+#: ../bin/ctrain.c:3117
+#, fuzzy
+msgid "Clearance Lines Off"
+msgstr "Создать линии"
+
+#: ../bin/ctrain.c:3119
+msgid "Flip Train"
+msgstr "Развернуть поезд"
+
+#: ../bin/ctrain.c:3121
+msgid "MU Master"
+msgstr ""
+
+#: ../bin/ctrain.c:3124
+msgid "Change Direction"
+msgstr "Изменить направление"
+
+#: ../bin/ctrain.c:3128
+msgid "Remove Car"
+msgstr "Удалить машину"
+
+#: ../bin/ctrain.c:3131
+msgid "Remove Train"
+msgstr "Удалить поезд"
+
+#: ../bin/cturnout.c:96 ../bin/dcar.c:2271 ../bin/dcar.c:2275
+msgid "New"
+msgstr "Создать"
+
+#: ../bin/cturnout.c:370
+#, c-format
+msgid "Turnout path[%d:%d] out of bounds: %d"
+msgstr ""
+
+#: ../bin/cturnout.c:381 ../bin/cturnout.c:391
+#, c-format
+msgid "Turnout path[%d] %d is not a valid track segment"
+msgstr ""
+
+#: ../bin/cturnout.c:401 ../bin/cturnout.c:406
+#, c-format
+msgid "Turnout path[%d] %d is not a track segment"
+msgstr ""
+
+#: ../bin/cturnout.c:414
+#, c-format
+msgid "Turnout path[%d] %d-%d not connected: %0.3f P0(%f,%f) P1(%f,%f)"
+msgstr ""
+
+#: ../bin/cturnout.c:452
+msgid "Unknown special case"
+msgstr ""
+
+#: ../bin/cturnout.c:562
+msgid "Connect Adjustable Tracks"
+msgstr ""
+
+#: ../bin/cturnout.c:1104
+msgid "splitTurnout: can't find segment"
+msgstr ""
+
+#: ../bin/cturnout.c:1553 ../bin/track.c:2270 ../bin/track.c:2376
+#: ../bin/tstraigh.c:554
+msgid "Drag to change track length"
+msgstr ""
+
+#: ../bin/cturnout.c:1564
+#, c-format
+msgid "Length=%s"
+msgstr "Длина=%s"
+
+#: ../bin/cturnout.c:2386
+#, c-format
+msgid "%d connections, max distance %0.3f (%s)"
+msgstr ""
+
+#: ../bin/cturnout.c:2391
+#, c-format
+msgid "0 connections (%s)"
+msgstr "0 соединений (%s)"
+
+#: ../bin/cturnout.c:2431
+msgid "Place New Turnout"
+msgstr ""
+
+#: ../bin/cturnout.c:2837
+#, c-format
+msgid "Angle = %0.3f (%s)"
+msgstr "Угол = %0.3f (%s)"
+
+#: ../bin/cturnout.c:2927 ../bin/param.c:2622
+msgid "Close"
+msgstr "Закрыть"
+
+#: ../bin/cturnout.c:2944
+msgid "Pick turnout and active End Point, then place on the layout"
+msgstr ""
+
+#: ../bin/cturnout.c:3138
+#, fuzzy
+msgid "Predefined Track"
+msgstr "Выбранный трек"
+
+#: ../bin/cturntbl.c:52 ../bin/cturntbl.c:251 ../bin/cturntbl.c:857
+#: ../bin/cturntbl.c:871
+msgid "Diameter"
+msgstr "Диаметр"
+
+#: ../bin/cturntbl.c:252
+msgid "# EndPt"
+msgstr "# КонТчк"
+
+#: ../bin/cturntbl.c:286
+#, c-format
+msgid "Turntable(%d): Layer=%d Center=[%s %s] Diameter=%s #EP=%d"
+msgstr "Разворот(%d): Слой=%d Центр=[%s %s] Диаметр=%s #EP=%d"
+
+#: ../bin/cturntbl.c:301
+msgid "Turntable"
+msgstr "Разворотный рельс"
+
+#: ../bin/cturntbl.c:565
+msgid "Drag to create stall track"
+msgstr ""
+
+#: ../bin/cturntbl.c:618
+#, fuzzy
+msgid "Connect Turntable Tracks"
+msgstr "Соединить два трека"
+
+#: ../bin/cturntbl.c:885
+msgid "Create Turntable"
+msgstr "Создать разворотный рельс"
+
+#: ../bin/cturntbl.c:916
+#, fuzzy
+msgid "Custom Turntable"
+msgstr "Создать разворотный рельс"
+
+#: ../bin/cundo.c:166
+msgid "Undo Trace"
+msgstr "Отменить трассировку"
+
+#: ../bin/cundo.c:536
+#, c-format
+msgid "Undo: %s"
+msgstr "Отменить: %s"
+
+#: ../bin/cundo.c:539 ../../../../build/work/app/bin/bllnhlp.c:163
+msgid "Undo last command"
+msgstr "Отменить последнюю команду"
+
+#: ../bin/cundo.c:544
+#, c-format
+msgid "Redo: %s"
+msgstr "Повторить: %s"
+
+#: ../bin/cundo.c:547 ../../../../build/work/app/bin/bllnhlp.c:127
+msgid "Redo last undo"
+msgstr "Повторить последнюю отмену"
+
+#: ../bin/custom.c:167
+#, c-format
+msgid "%s Turnout Designer"
+msgstr "%s Редактор стрелок"
+
+#: ../bin/custom.c:172
+#, c-format
+msgid "%s Version %s"
+msgstr "%s Версия %s"
+
+#: ../bin/custom.c:177
+#, c-format
+msgid ""
+"All %s Files (*.xtc,*.xtce)|*.xtc;*.xtce|%s Trackplan (*.xtc)|*.xtc|%s "
+"Extended Trackplan (*.xtce)|*.xtce|All Files (*)|*"
+msgstr ""
+
+#: ../bin/custom.c:188
+#, c-format
+msgid ""
+"%s Trackplan (*.xtc)|*.xtc|%s Extended Trackplan (*.xtce)|*.xtce|All Files "
+"(*)|*"
+msgstr ""
+
+#: ../bin/custom.c:197
+#, fuzzy, c-format
+msgid "All Files (*)|*"
+msgstr "Все файлы"
+
+#: ../bin/custom.c:202
+#, fuzzy, c-format
+msgid "%s Import Files (*.xti)|*.xti"
+msgstr "%s Импорт файлов|*.%sti"
+
+#: ../bin/custom.c:207
+#, fuzzy
+msgid "Data Exchange Format Files (*.dxf)|*.dxf"
+msgstr "Файлы формат обмена данными|*.dxf"
+
+#: ../bin/custom.c:211
+#, fuzzy, c-format
+msgid "%s Record Files (*.xtr)|*.xtr"
+msgstr "%s Файлы записей|*.%str"
+
+#: ../bin/custom.c:216
+#, fuzzy, c-format
+msgid "%s Note Files (*.not)|*.not"
+msgstr "%s Файлы заметок|*.not"
+
+#: ../bin/custom.c:221
+#, fuzzy, c-format
+msgid "%s Log Files (*.log)|*.log"
+msgstr "%s Файлы логов|*.log"
+
+#: ../bin/custom.c:226
+#, fuzzy, c-format
+msgid "%s PartsList Files (*.txt)|*.txt"
+msgstr "%s Файлы запчастей|*.txt"
+
+#: ../bin/dbench.c:43
+msgid " L-Girder"
+msgstr "L-профиль"
+
+#: ../bin/dbench.c:43
+msgid " T-Girder"
+msgstr "T-профиль"
+
+#: ../bin/dbench.c:66
+msgid "On Edge"
+msgstr "На ребро"
+
+#: ../bin/dbench.c:67
+msgid "Flat"
+msgstr "Плашмя"
+
+#: ../bin/dbench.c:71
+msgid "Left-Down"
+msgstr "Слева-снизу"
+
+#: ../bin/dbench.c:72
+msgid "Right-Down"
+msgstr "Справа-снизу"
+
+#: ../bin/dbench.c:73
+msgid "Left-Up"
+msgstr "Слева-сверху"
+
+#: ../bin/dbench.c:74
+msgid "Right-Up"
+msgstr "Справа-сверху"
+
+#: ../bin/dbench.c:75
+msgid "Left-Inverted"
+msgstr "Слева-инвертировано"
+
+#: ../bin/dbench.c:76
+msgid "Right-Inverted"
+msgstr "Справа-инверитровано"
+
+#: ../bin/dbench.c:81
+msgid "Inverted"
+msgstr "Инвертировано"
+
+#: ../bin/dbench.c:147
+#, c-format
+msgid ""
+"Bad BenchType for %s:\n"
+"%s"
+msgstr ""
+
+#: ../bin/dbitmap.c:102 ../bin/dbitmap.c:106
+msgid "Drawn with "
+msgstr ""
+
+#: ../bin/dbitmap.c:116
+msgid "Drawing tracks to BitMap"
+msgstr ""
+
+#: ../bin/dbitmap.c:123
+msgid "Writing BitMap to file"
+msgstr ""
+
+#: ../bin/dbitmap.c:144
+msgid "Print Titles"
+msgstr "Печатать заголовки"
+
+#: ../bin/dbitmap.c:144
+msgid "Print Borders"
+msgstr "Печатать границы"
+
+#: ../bin/dbitmap.c:145
+msgid "Print Centerline"
+msgstr "Печатать центральную линию"
+
+#: ../bin/dbitmap.c:152
+msgid " dpi"
+msgstr " dpi"
+
+#: ../bin/dbitmap.c:154
+msgid "Bitmap : 99999 by 99999 pixels"
+msgstr "Рисунок : 99999 на 99999 пикселей"
+
+#: ../bin/dbitmap.c:156
+msgid "Approximate file size: 999.9Mb"
+msgstr "Примерный размер файла: 999.9Мб"
+
+#: ../bin/dbitmap.c:186
+#, c-format
+msgid "Bitmap : %ld by %ld pixels"
+msgstr "Изображение : %ld на %ld пикселей"
+
+#: ../bin/dbitmap.c:190
+#, c-format
+msgid "Approximate file size : %0.0f"
+msgstr "Примерный размер файла: %0.0f"
+
+#: ../bin/dbitmap.c:192
+#, c-format
+msgid "Approximate file size : %0.1fKb"
+msgstr "Примерный размер файла: %0.1fКб"
+
+#: ../bin/dbitmap.c:194
+#, c-format
+msgid "Approximate file size : %0.1fMb"
+msgstr "Примерный размер файла: %0.1fМб"
+
+#: ../bin/dbitmap.c:213
+msgid "Save Bitmap"
+msgstr "Сохранить изображение"
+
+#: ../bin/dbitmap.c:217
+#, fuzzy
+msgid "Bitmap files (*.png)|*.png"
+msgstr "Файлы изображений|*.bmp"
+
+#: ../bin/dbitmap.c:238
+msgid "BitMap"
+msgstr "Изображение"
+
+#: ../bin/dcar.c:54
+msgid "Truck"
+msgstr ""
+
+#: ../bin/dcar.c:54
+msgid "Body"
+msgstr "Тело"
+
+#: ../bin/dcar.c:156 ../bin/dcar.c:2701 ../bin/dcar.c:2705
+msgid "Unknown"
+msgstr "Неизвестно"
+
+#: ../bin/dcar.c:478
+msgid "Diesel Loco"
+msgstr "Дизельный локомотив"
+
+#: ../bin/dcar.c:479
+msgid "Steam Loco"
+msgstr "Паровоз"
+
+#: ../bin/dcar.c:480
+msgid "Elect Loco"
+msgstr "Электровоз"
+
+#: ../bin/dcar.c:481
+msgid "Freight Car"
+msgstr "Грузовой вагон"
+
+#: ../bin/dcar.c:482
+msgid "Psngr Car"
+msgstr "Пассажирский вагон"
+
+#: ../bin/dcar.c:483
+msgid "M-O-W"
+msgstr ""
+
+#: ../bin/dcar.c:484
+msgid "Other"
+msgstr "Другие"
+
+#: ../bin/dcar.c:1183 ../bin/dcar.c:5078
+msgid "N/A"
+msgstr "Неизвестно"
+
+#: ../bin/dcar.c:1184 ../bin/dcar.c:5083
+msgid "Mint"
+msgstr "Новое"
+
+#: ../bin/dcar.c:1185 ../bin/dcar.c:5082
+msgid "Excellent"
+msgstr "Превосходное"
+
+#: ../bin/dcar.c:1186 ../bin/dcar.c:5081
+msgid "Good"
+msgstr "Хорошее"
+
+#: ../bin/dcar.c:1187 ../bin/dcar.c:5080
+msgid "Fair"
+msgstr "Так себе"
+
+#: ../bin/dcar.c:1188 ../bin/dcar.c:5079
+msgid "Poor"
+msgstr "Плохое"
+
+#: ../bin/dcar.c:1501 ../bin/dpricels.c:45
+#: ../../../../build/work/app/bin/bllnhlp.c:445
+msgid "Item"
+msgstr ""
+
+#: ../bin/dcar.c:2173 ../wlib/gtklib/notice.c:96 ../wlib/mswlib/mswmisc.c:2095
+msgid "Information"
+msgstr "Информация"
+
+#: ../bin/dcar.c:2173
+msgid "Customize"
+msgstr "Внешний вид"
+
+#: ../bin/dcar.c:2185
+msgid "Sequential"
+msgstr ""
+
+#: ../bin/dcar.c:2185
+msgid "Repeated"
+msgstr ""
+
+#: ../bin/dcar.c:2196 ../bin/dcar.c:2198 ../bin/dcar.c:5408
+msgid "Prototype"
+msgstr "Название"
+
+#: ../bin/dcar.c:2204
+msgid "Part"
+msgstr "Запчасть"
+
+#: ../bin/dcar.c:2206 ../../../../build/work/app/bin/bllnhlp.c:377
+#: ../../../../build/work/app/bin/bllnhlp.c:573
+#: ../../../../build/work/app/bin/bllnhlp.c:574
+msgid "Part Number"
+msgstr "Номер запчасти"
+
+#: ../bin/dcar.c:2208
+msgid "Loco?"
+msgstr "Поезд?"
+
+#: ../bin/dcar.c:2212 ../bin/dcar.c:4404
+msgid "Import"
+msgstr "Импорт"
+
+#: ../bin/dcar.c:2219
+msgid "Mode"
+msgstr "Режим"
+
+#: ../bin/dcar.c:2223
+msgid "Road"
+msgstr "Дорога"
+
+#: ../bin/dcar.c:2225
+msgid "Reporting Mark"
+msgstr ""
+
+#: ../bin/dcar.c:2227
+msgid "Number"
+msgstr "Номер"
+
+#: ../bin/dcar.c:2231
+msgid "Car Length"
+msgstr "Длина вагона"
+
+#: ../bin/dcar.c:2235
+msgid "Truck Centers"
+msgstr "Колёсная база"
+
+#: ../bin/dcar.c:2239
+msgid "Coupler Mount"
+msgstr ""
+
+#: ../bin/dcar.c:2241
+msgid "Coupled Length"
+msgstr ""
+
+#: ../bin/dcar.c:2243 ../bin/dcar.c:4251
+msgid "Coupler Length"
+msgstr ""
+
+#: ../bin/dcar.c:2251
+msgid "Purchase Price"
+msgstr "Цена покупки"
+
+#: ../bin/dcar.c:2253 ../../../../build/work/app/bin/bllnhlp.c:241
+msgid "Current Price"
+msgstr "Текущая цена"
+
+#: ../bin/dcar.c:2255 ../bin/dcar.c:4368 ../bin/dcar.c:4373
+msgid "Condition"
+msgstr "Состояние"
+
+#: ../bin/dcar.c:2257
+msgid "Purchase Date"
+msgstr "Дата покупки"
+
+#: ../bin/dcar.c:2259 ../bin/dcar.c:4373
+msgid "Service Date"
+msgstr "Дата обслуживания"
+
+#: ../bin/dcar.c:2261
+msgid "Quantity"
+msgstr "Количество"
+
+#: ../bin/dcar.c:2263
+msgid "Numbers"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:371
+#: ../bin/dcar.c:2265 ../bin/dcar.c:4369 ../bin/trknote.c:708
+#: ../../../../build/work/app/i18n/custmsg.h:1267
+msgid "Notes"
+msgstr "Заметки"
+
+#: ../bin/dcar.c:2272
+msgid "Car Part"
+msgstr ""
+
+#: ../bin/dcar.c:2273 ../../../../build/work/app/bin/bllnhlp.c:215
+#: ../../../../build/work/app/bin/bllnhlp.c:216
+msgid "Car Prototype"
+msgstr ""
+
+#: ../bin/dcar.c:2635 ../bin/dcar.c:2952
+msgid "Undecorated"
+msgstr ""
+
+#: ../bin/dcar.c:2693 ../bin/dcar.c:2697 ../bin/paramfilelist.c:376
+msgid "Custom"
+msgstr ""
+
+#: ../bin/dcar.c:2862
+msgid "Undecorated "
+msgstr ""
+
+#: ../bin/dcar.c:3084
+#, c-format
+msgid "New %s Scale Car"
+msgstr ""
+
+#: ../bin/dcar.c:3085 ../bin/dcar.c:3094 ../bin/dcar.c:3103 ../bin/dcar.c:4284
+#: ../bin/dcar.c:4400 ../bin/paramfilesearch_ui.c:74
+msgid "Add"
+msgstr "Добавить"
+
+#: ../bin/dcar.c:3087
+#, c-format
+msgid "Update %s Scale Car"
+msgstr ""
+
+#: ../bin/dcar.c:3088 ../bin/dcar.c:3097 ../bin/dcar.c:3106
+#: ../bin/dcmpnd.c:173
+msgid "Update"
+msgstr "Обновить"
+
+#: ../bin/dcar.c:3093
+#, c-format
+msgid "New %s Scale Car Part"
+msgstr ""
+
+#: ../bin/dcar.c:3096
+#, c-format
+msgid "Update %s Scale Car Part"
+msgstr ""
+
+#: ../bin/dcar.c:3102
+msgid "New Prototype"
+msgstr "Новый тип вагона"
+
+#: ../bin/dcar.c:3105
+msgid "Update Prototype"
+msgstr "Обновить прототип"
+
+#: ../bin/dcar.c:3777
+msgid "Enter a 8 digit numeric date"
+msgstr "Введите 8 цифр даты"
+
+#: ../bin/dcar.c:3780
+msgid "Enter a 8 digit date"
+msgstr "Введите 8 цифр даты"
+
+#: ../bin/dcar.c:3782
+msgid "Enter a date between 19000101 and 21991231"
+msgstr "Введите дату между 19000101 и 21991231"
+
+#: ../bin/dcar.c:3787
+msgid "Invalid month"
+msgstr "Неправильный месяц"
+
+#: ../bin/dcar.c:3789
+msgid "Invalid day"
+msgstr "Неправильный день"
+
+#: ../bin/dcar.c:3881
+msgid "Enter a Prototype name"
+msgstr "Введите название прототипа"
+
+#: ../bin/dcar.c:3883
+msgid "Select or Enter a Manufacturer"
+msgstr "Выберите или создайте производителя"
+
+#: ../bin/dcar.c:3885
+msgid "Enter a Part Number"
+msgstr "Введите номер запчасти"
+
+#: ../bin/dcar.c:3887
+msgid "Enter the Car Length"
+msgstr "Введите длину вагона"
+
+#: ../bin/dcar.c:3889
+msgid "Enter the Car Width"
+msgstr "Введите ширину вагона"
+
+#: ../bin/dcar.c:3891
+msgid "Enter the Truck Centers"
+msgstr "Введите центры треков"
+
+#: ../bin/dcar.c:3893
+msgid "Truck Center Offset must be greater than 0 or 0"
+msgstr ""
+
+#: ../bin/dcar.c:3895
+msgid "Truck Centers must be less than Car Length"
+msgstr ""
+
+#: ../bin/dcar.c:3897
+msgid "Truck Center Offset plus Truck Centers must be less than Car Length"
+msgstr ""
+
+#: ../bin/dcar.c:3899
+msgid "Enter the Coupled Length or Coupler Length"
+msgstr ""
+
+#: ../bin/dcar.c:3901
+msgid "Enter the Coupled Length"
+msgstr ""
+
+#: ../bin/dcar.c:3903
+msgid "Enter a item Index"
+msgstr ""
+
+#: ../bin/dcar.c:3905
+msgid "Purchase Price is not valid"
+msgstr ""
+
+#: ../bin/dcar.c:3907
+msgid "Current Price is not valid"
+msgstr ""
+
+#: ../bin/dcar.c:3909
+msgid "Purchase Date is not valid"
+msgstr ""
+
+#: ../bin/dcar.c:3911
+msgid "Service Date is not valid"
+msgstr ""
+
+#: ../bin/dcar.c:3914
+#, c-format
+msgid "Item Index %ld duplicated an existing item: updated to new value"
+msgstr ""
+
+#: ../bin/dcar.c:4110
+#, c-format
+msgid "Added %ld new Cars"
+msgstr "Добавлено %ld новых вагонов"
+
+#: ../bin/dcar.c:4112
+msgid "Added new Car"
+msgstr "Добавлен новый вагон"
+
+#: ../bin/dcar.c:4115
+msgid "Updated Car"
+msgstr "Вагон обновлён"
+
+#: ../bin/dcar.c:4118
+msgid " and Part"
+msgstr ""
+
+#: ../bin/dcar.c:4145
+#, c-format
+msgid "%s Part: %s %s %s %s %s %s"
+msgstr ""
+
+#: ../bin/dcar.c:4145 ../bin/dcar.c:4162
+msgid "Added new"
+msgstr "Добавлен новый"
+
+#: ../bin/dcar.c:4145 ../bin/dcar.c:4162
+msgid "Updated"
+msgstr "Обновлён"
+
+#: ../bin/dcar.c:4161
+#, c-format
+msgid "%s Prototype: %s%s."
+msgstr "%s Тип: %s%s."
+
+#: ../bin/dcar.c:4163
+msgid ". Enter new values or press Close"
+msgstr ". Введите новые значения или нажмите Закрыть"
+
+#: ../bin/dcar.c:4284
+msgid "New Car Part"
+msgstr "Новая запчасть"
+
+#: ../bin/dcar.c:4367 ../bin/dcar.c:4372
+#: ../../../../build/work/app/bin/bllnhlp.c:415
+msgid "Roadname"
+msgstr "Имя пути"
+
+#: ../bin/dcar.c:4367
+msgid "Purc Price"
+msgstr "Цена покупки"
+
+#: ../bin/dcar.c:4368 ../bin/dcar.c:4373
+msgid "Curr Price"
+msgstr "Текущ. цена"
+
+#: ../bin/dcar.c:4368
+msgid "Purc Date"
+msgstr "Дата покупки"
+
+#: ../bin/dcar.c:4368
+msgid "Srvc Date"
+msgstr "Дата обсл."
+
+#: ../bin/dcar.c:4369
+msgid "Locat'n"
+msgstr "Место"
+
+#: ../bin/dcar.c:4372
+msgid "RepMarks"
+msgstr "Метки"
+
+#: ../bin/dcar.c:4372
+msgid "Purch Price"
+msgstr "Цена покупки"
+
+#: ../bin/dcar.c:4373
+msgid "Purch Date"
+msgstr "Дата покупки"
+
+#: ../bin/dcar.c:4390
+msgid "Sort By"
+msgstr "Сортировка"
+
+#: ../bin/dcar.c:4398 ../bin/dcontmgm.c:99 ../bin/dcustmgm.c:71
+#: ../bin/dcustmgm.c:108
+msgid "Edit"
+msgstr "Правка"
+
+#: ../bin/dcar.c:4402 ../bin/dcontmgm.c:101 ../bin/dcustmgm.c:73
+#: ../bin/misc.c:2285
+msgid "Delete"
+msgstr "Удалить"
+
+#: ../bin/dcar.c:4406 ../bin/fileio.c:1517
+msgid "Export"
+msgstr "Экспорт"
+
+#: ../bin/dcar.c:4408 ../../../../build/work/app/bin/bllnhlp.c:590
+msgid "List"
+msgstr "Список"
+
+#: ../bin/dcar.c:4519 ../bin/dcar.c:5257 ../bin/misc.c:2663
+msgid "Car Inventory"
+msgstr "Депо"
+
+#: ../bin/dcar.c:4639
+msgid "List Cars"
+msgstr "Список машин"
+
+#: ../bin/dcar.c:4763 ../bin/dcar.c:4929
+msgid "Import Cars"
+msgstr "Импортировать машины"
+
+#: ../bin/dcar.c:4930 ../bin/dcar.c:5053
+#, fuzzy
+msgid "Comma-Separated-Values (*.csv)|*.csv"
+msgstr "Значения, разделённые запятой|*.csv"
+
+#: ../bin/dcar.c:5000 ../bin/dcar.c:5052
+msgid "Export Cars"
+msgstr "Экспорт машин"
+
+#: ../bin/dcar.c:5086
+msgid "Layout"
+msgstr "Проект"
+
+#: ../bin/dcar.c:5088
+msgid "Shelf"
+msgstr "Полка"
+
+#: ../bin/dcmpnd.c:77 ../bin/dlayer.c:499 ../bin/misc.c:656 ../bin/misc.c:688
+msgid "Load"
+msgstr "Загрузить"
+
+#: ../bin/dcmpnd.c:110
+msgid "Updating definitions, please wait"
+msgstr "Обновление определений, пожалуйста ждите"
+
+#: ../bin/dcmpnd.c:173
+msgid "Update Title"
+msgstr "Обновить заголовок"
+
+#: ../bin/dcmpnd.c:233
+#, c-format
+msgid "End-Point #%d of the selected and actual turnouts are not close"
+msgstr ""
+
+#: ../bin/dcmpnd.c:242
+#, c-format
+msgid "End-Point #%d of the selected and actual turnouts are not aligned"
+msgstr ""
+
+#: ../bin/dcmpnd.c:261
+msgid "The selected Turnout had a differing number of End-Points"
+msgstr ""
+
+#: ../bin/dcmpnd.c:327
+msgid "Skip"
+msgstr "Пропустить"
+
+#: ../bin/dcmpnd.c:359
+#, c-format
+msgid "%d Track(s) refreshed"
+msgstr "%d трек(ов) обновлено"
+
+#: ../bin/dcmpnd.c:399
+msgid "Refresh Turnout/Structure"
+msgstr "Обновить Стрелку/Структуру"
+
+#: ../bin/dcmpnd.c:401
+msgid "Choose a Turnout/Structure to replace:"
+msgstr "Выберите Стрелку/Структуру для замены:"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:341
+#: ../bin/dcmpnd.c:411 ../bin/doption.c:132
+#: ../../../../build/work/app/i18n/custmsg.h:1207
+msgid "Turnouts"
+msgstr "Стрелки"
+
+#: ../bin/dcmpnd.c:411
+msgid "Structures"
+msgstr "Структуры"
+
+#: ../bin/dcmpnd.c:440
+msgid "Choose another Turnout/Structure to replace:"
+msgstr "Выберите другую Стрелку/Структуру для замены:"
+
+#: ../bin/dcmpnd.c:542
+msgid "Rename Object"
+msgstr "Переименовать объект"
+
+#: ../bin/dcontmgm.c:92
+msgid "Tracks"
+msgstr "Треки"
+
+#: ../bin/dcontmgm.c:173
+#, c-format
+msgid "Are you sure you want to delete the %d control element(s)"
+msgstr "Вы уверены, что хотите удалить %d элементов"
+
+#: ../bin/dcontmgm.c:176
+msgid "Control Elements"
+msgstr "Элементы управления"
+
+#: ../bin/dcontmgm.c:299
+msgid "Manage Layout Control Elements"
+msgstr "Управление элементами проекта"
+
+#: ../bin/dcustmgm.c:67
+#, fuzzy
+msgid "Create a new "
+msgstr "Создать полилинию"
+
+#: ../bin/dcustmgm.c:69
+#, fuzzy
+msgid "Go"
+msgstr "Хорошее"
+
+#: ../bin/dcustmgm.c:75
+msgid "Move To"
+msgstr "Переместить"
+
+#: ../bin/dcustmgm.c:108
+msgid "Rename"
+msgstr "Переименовать"
+
+#: ../bin/dcustmgm.c:189
+msgid "Label"
+msgstr "Метка"
+
+#: ../bin/dcustmgm.c:227
+msgid "Contents Label"
+msgstr "Содержимое метки"
+
+#: ../bin/dcustmgm.c:283
+msgid "Move To XTP"
+msgstr "Переместить в XTP"
+
+#: ../bin/dcustmgm.c:284
+#, fuzzy
+msgid "Parameter File (*.xtp)|*.xtp"
+msgstr "Файл параметров|*.xtp"
+
+#: ../bin/dcustmgm.c:395
+msgid "Manage custom designed parts"
+msgstr "Управление элементами нестандартного дизайна"
+
+#: ../bin/dease.c:67
+msgid "Sharp"
+msgstr "Острые"
+
+#: ../bin/dease.c:67
+msgid "Broad"
+msgstr "Широкие"
+
+#: ../bin/dease.c:67
+msgid "Cornu"
+msgstr "Отриц."
+
+#: ../bin/dease.c:74
+msgid "Value"
+msgstr "Значение"
+
+#: ../bin/dease.c:75 ../bin/tease.c:525
+msgid "R"
+msgstr "Рад."
+
+#: ../bin/dease.c:77 ../bin/tease.c:526
+msgid "L"
+msgstr "Дл."
+
+#: ../bin/dease.c:242
+msgid "Easement"
+msgstr "Упрощения"
+
+#: ../bin/denum.c:49
+msgid "Prices"
+msgstr "Цены"
+
+#: ../bin/denum.c:54
+msgid "Save As ..."
+msgstr "Сохранить как ..."
+
+#: ../bin/denum.c:134 ../bin/denum.c:189 ../bin/denum.c:224
+msgid "Each"
+msgstr "Цена"
+
+#: ../bin/denum.c:148 ../bin/denum.c:149
+msgid "Parts List"
+msgstr "Список компонентов"
+
+#: ../bin/denum.c:154
+#, c-format
+msgid ""
+"%s Parts List\n"
+"\n"
+msgstr ""
+"%s Список компонентов\n"
+"\n"
+
+#: ../bin/denum.c:189 ../bin/denum.c:226 ../bin/denum.c:235
+msgid "Extended"
+msgstr "Сумма"
+
+#: ../bin/denum.c:235 ../bin/denum.c:238
+msgid "Total"
+msgstr "Итого"
+
+#: ../bin/dlayer.c:487
+#, fuzzy
+msgid "Use Color"
+msgstr "%s Цвет"
+
+#: ../bin/dlayer.c:489
+msgid "Visible"
+msgstr "Показывать"
+
+#: ../bin/dlayer.c:491
+msgid "Frozen"
+msgstr "Заморожен"
+
+#: ../bin/dlayer.c:493
+msgid "On Map"
+msgstr "На карте"
+
+#: ../bin/dlayer.c:495
+#, fuzzy
+msgid "Module"
+msgstr "Режим"
+
+#: ../bin/dlayer.c:498
+msgid "Personal Preferences"
+msgstr "Персональные настройки"
+
+#: ../bin/dlayer.c:500 ../bin/macro.c:1421
+msgid "Save"
+msgstr "Сохранить"
+
+#: ../bin/dlayer.c:501
+msgid "Defaults"
+msgstr "По-умолчанию"
+
+#: ../bin/dlayer.c:502
+msgid "Number of Layer Buttons"
+msgstr "Кол-во кнопок слоёв"
+
+#: ../bin/dlayer.c:519 ../bin/dlayer.c:987 ../bin/dlayer.c:1000
+#: ../bin/dlayer.c:1051
+msgid "Main"
+msgstr "Главный"
+
+#: ../bin/dlayer.c:632 ../bin/dlayer.c:925 ../bin/dlayer.c:1003
+#: ../bin/dlayer.c:1053 ../bin/dlayer.c:1311
+msgid "Show/Hide Layer"
+msgstr "Показать/Спрятать слой"
+
+#: ../bin/dlayer.c:1124
+msgid "Layers"
+msgstr "Слои"
+
+#: ../bin/doption.c:95
+msgid "Turning off AutoSave"
+msgstr ""
+
+#: ../bin/doption.c:104
+msgid "Turning on CheckPointing"
+msgstr ""
+
+#: ../bin/doption.c:130
+msgid "Auto Pan"
+msgstr "Автомасштаб"
+
+#: ../bin/doption.c:132
+msgid "All"
+msgstr "Все"
+
+#: ../bin/doption.c:133
+msgid "Thick"
+msgstr "Толстые"
+
+#: ../bin/doption.c:133
+msgid "Exception"
+msgstr "Выделенные"
+
+#: ../bin/doption.c:134
+msgid "Outline"
+msgstr "Контур"
+
+#: ../bin/doption.c:135
+msgid "Off"
+msgstr "Нет"
+
+#: ../bin/doption.c:135
+msgid "On"
+msgstr "Да"
+
+#: ../bin/doption.c:136
+msgid "Track Descriptions"
+msgstr "Описание трека"
+
+#: ../bin/doption.c:136
+msgid "Lengths"
+msgstr "Длины"
+
+#: ../bin/doption.c:136
+msgid "EndPt Elevations"
+msgstr "Крайние точки"
+
+#: ../bin/doption.c:136
+msgid "Track Elevations"
+msgstr "Высоты трека"
+
+#: ../bin/doption.c:136
+msgid "Cars"
+msgstr "Вагоны"
+
+#: ../bin/doption.c:137 ../bin/doption.c:138
+msgid "Descr"
+msgstr "Опис."
+
+#: ../bin/doption.c:138
+msgid "Manuf"
+msgstr "Произв."
+
+#: ../bin/doption.c:139 ../bin/doption.c:140
+#, fuzzy
+msgid "Object"
+msgstr "Переименовать объект"
+
+#: ../bin/doption.c:141
+msgid "Live Map"
+msgstr "Миникарта"
+
+#: ../bin/doption.c:142
+msgid "Hide Trains On Hidden Track"
+msgstr "Не показывать поезда на скрытых треках"
+
+#: ../bin/doption.c:143
+msgid "Constrain Drawing Area to Room boundaries"
+msgstr ""
+
+#: ../bin/doption.c:150
+#, fuzzy
+msgid "Color Track"
+msgstr "Кривой трек"
+
+#: ../bin/doption.c:151
+#, fuzzy
+msgid "Color Draw"
+msgstr "Цвет"
+
+#: ../bin/doption.c:152
+msgid "Draw Tunnel"
+msgstr "Отображение тоннеля"
+
+#: ../bin/doption.c:153
+msgid "Draw EndPts"
+msgstr "Рисовать концы"
+
+#: ../bin/doption.c:154
+msgid "Draw Unconnected EndPts"
+msgstr "Несоединённые концы"
+
+#: ../bin/doption.c:155
+msgid "Draw Ties"
+msgstr "Рисовать шпалы"
+
+#: ../bin/doption.c:156
+msgid "Draw Centers"
+msgstr "Рисовать центры"
+
+#: ../bin/doption.c:157
+msgid "Two Rail Scale"
+msgstr "Масштаб двухколейки"
+
+#: ../bin/doption.c:158
+msgid "Map Scale"
+msgstr "Масштаб карты"
+
+#: ../bin/doption.c:162
+msgid "Label Enable"
+msgstr "Подписи"
+
+#: ../bin/doption.c:163
+msgid "Label Scale"
+msgstr "Масштаб надписей"
+
+#: ../bin/doption.c:164
+msgid "Label Font Size"
+msgstr "Размер шрифта"
+
+#: ../bin/doption.c:165
+msgid "Hot Bar Labels"
+msgstr "Панель быстрых команд"
+
+#: ../bin/doption.c:166
+msgid "Layout Labels"
+msgstr "Слой"
+
+#: ../bin/doption.c:167
+msgid "List Labels"
+msgstr "Списки"
+
+#: ../bin/doption.c:170
+msgid "Car Labels"
+msgstr "Надписи машин"
+
+#: ../bin/doption.c:171
+msgid "Train Update Delay"
+msgstr "Интервал обновления поезда"
+
+#: ../bin/doption.c:199
+msgid "Display Options"
+msgstr "Настройки отображения"
+
+#: ../bin/doption.c:200
+msgid "Proto"
+msgstr ""
+
+#: ../bin/doption.c:201
+msgid "Proto/Manuf"
+msgstr "Proto/Производитель"
+
+#: ../bin/doption.c:202
+msgid "Proto/Manuf/Part Number"
+msgstr "Proto/Производитель/Артикул"
+
+#: ../bin/doption.c:203
+msgid "Proto/Manuf/Partno/Item"
+msgstr "Proto/Производитель/Артикул/Item"
+
+#: ../bin/doption.c:204
+msgid "Manuf/Proto"
+msgstr "Производитель/Proto"
+
+#: ../bin/doption.c:205
+msgid "Manuf/Proto/Part Number"
+msgstr "Производитель/Proto/Артикул"
+
+#: ../bin/doption.c:206
+msgid "Manuf/Proto/Partno/Item"
+msgstr "Производитель/Proto/Артикул/Item"
+
+#: ../bin/doption.c:236
+msgid "Single item selected, +Ctrl Add to selection"
+msgstr ""
+
+#: ../bin/doption.c:236
+msgid "Add to selection, +Ctrl Single item selected"
+msgstr ""
+
+#: ../bin/doption.c:237
+#, fuzzy
+msgid "Deselect all on select nothing"
+msgstr "Убрать выделение со всех объектов"
+
+#: ../bin/doption.c:242
+msgid "Normal: Command List, Shift: Command Options"
+msgstr ""
+
+#: ../bin/doption.c:242
+msgid "Normal: Command Options, Shift: Command List"
+msgstr ""
+
+#: ../bin/doption.c:245
+msgid "Default Command"
+msgstr "Команда по-умолчанию"
+
+#: ../bin/doption.c:247
+msgid "Hide Selection Window"
+msgstr "Спрятать выбранное окно"
+
+#: ../bin/doption.c:249
+msgid "Right Click"
+msgstr "Правый клик"
+
+#: ../bin/doption.c:250
+#, fuzzy
+msgid "Select Mode"
+msgstr "Выбрать объекты"
+
+#: ../bin/doption.c:275
+msgid "Command Options"
+msgstr "Опции команд"
+
+#: ../bin/doption.c:298
+msgid "English"
+msgstr "Английская"
+
+#: ../bin/doption.c:298
+msgid "Metric"
+msgstr "Метрическая"
+
+#: ../bin/doption.c:299
+msgid "Polar"
+msgstr "Полярная"
+
+#: ../bin/doption.c:299
+msgid "Cartesian"
+msgstr "Прямоугольная"
+
+#: ../bin/doption.c:300
+msgid "Balloon Help"
+msgstr "Всплывающая подсказка"
+
+#: ../bin/doption.c:301
+msgid "Show FlexTrack in HotBar"
+msgstr ""
+
+#: ../bin/doption.c:302
+msgid "Load Last Layout"
+msgstr "загрузить последний проект"
+
+#: ../bin/doption.c:302
+msgid "Start New Layout"
+msgstr "загрузить новый проект"
+
+#: ../bin/doption.c:305
+msgid "Angles"
+msgstr "Углы"
+
+#: ../bin/doption.c:306
+msgid "Units"
+msgstr "Система мер"
+
+#: ../bin/doption.c:308
+msgid "Length Format"
+msgstr "Формат длины"
+
+#: ../bin/doption.c:309
+msgid "Min Track Length"
+msgstr "Минимальная длина трека"
+
+#: ../bin/doption.c:310
+msgid "Connection Distance"
+msgstr "Длина соединения"
+
+#: ../bin/doption.c:311
+msgid "Connection Angle"
+msgstr "Угол соединения"
+
+#: ../bin/doption.c:312
+msgid "Turntable Angle"
+msgstr "Угол разворота"
+
+#: ../bin/doption.c:313
+msgid "Max Coupling Speed"
+msgstr "Максимальная скорость сцепления"
+
+#: ../bin/doption.c:316
+msgid "Drag Distance"
+msgstr "Длина перетаскивания"
+
+#: ../bin/doption.c:317
+msgid "Drag Timeout"
+msgstr "Время перетаскивания"
+
+#: ../bin/doption.c:318
+msgid "Min Grid Spacing"
+msgstr "Минимальное расстояние сетки"
+
+#: ../bin/doption.c:320
+#, fuzzy
+msgid "Check Point Frequency"
+msgstr "Контрольная точка"
+
+#: ../bin/doption.c:322
+msgid "Autosave Checkpoint Frequency"
+msgstr ""
+
+#: ../bin/doption.c:323
+msgid "On Program Startup"
+msgstr "При старте программы"
+
+#: ../bin/doption.c:333 ../bin/doption.c:337 ../bin/doption.c:354
+msgid "999.999"
+msgstr "999.999"
+
+#: ../bin/doption.c:334
+msgid "999.999999"
+msgstr "999.999999"
+
+#: ../bin/doption.c:335
+msgid "999.99999"
+msgstr "999.99999"
+
+#: ../bin/doption.c:336
+msgid "999.9999"
+msgstr "999.9999"
+
+#: ../bin/doption.c:338 ../bin/doption.c:355
+msgid "999.99"
+msgstr "999.99"
+
+#: ../bin/doption.c:339 ../bin/doption.c:356
+msgid "999.9"
+msgstr "999.9"
+
+#: ../bin/doption.c:340
+msgid "999 7/8"
+msgstr "999 7/8"
+
+#: ../bin/doption.c:341
+msgid "999 63/64"
+msgstr "999 63/64"
+
+#: ../bin/doption.c:342
+msgid "999' 11.999\""
+msgstr "999' 11.999\""
+
+#: ../bin/doption.c:343
+msgid "999' 11.99\""
+msgstr "999' 11.99\""
+
+#: ../bin/doption.c:344
+msgid "999' 11.9\""
+msgstr "999' 11.9\""
+
+#: ../bin/doption.c:345
+msgid "999' 11 7/8\""
+msgstr "999' 11 7/8\""
+
+#: ../bin/doption.c:346
+msgid "999' 11 63/64\""
+msgstr "999' 11 63/64\""
+
+#: ../bin/doption.c:347
+msgid "999ft 11.999in"
+msgstr "999ф 11.999д"
+
+#: ../bin/doption.c:348
+msgid "999ft 11.99in"
+msgstr "999ф 11.99д"
+
+#: ../bin/doption.c:349
+msgid "999ft 11.9in"
+msgstr "999ф 11.9д"
+
+#: ../bin/doption.c:350
+msgid "999ft 11 7/8in"
+msgstr "999ф 11 7/8д"
+
+#: ../bin/doption.c:351
+msgid "999ft 11 63/64in"
+msgstr "999ф 11 63/64д"
+
+#: ../bin/doption.c:357
+msgid "999.999mm"
+msgstr "999.999мм"
+
+#: ../bin/doption.c:358
+msgid "999.99mm"
+msgstr "999.99мм"
+
+#: ../bin/doption.c:359
+msgid "999.9mm"
+msgstr "999.9мм"
+
+#: ../bin/doption.c:360
+msgid "999.999cm"
+msgstr "999.999см"
+
+#: ../bin/doption.c:361
+msgid "999.99cm"
+msgstr "999.99см"
+
+#: ../bin/doption.c:362
+msgid "999.9cm"
+msgstr "999.9см"
+
+#: ../bin/doption.c:363
+msgid "999.999m"
+msgstr "999.999м"
+
+#: ../bin/doption.c:364
+msgid "999.99m"
+msgstr "999.99м"
+
+#: ../bin/doption.c:365
+msgid "999.9m"
+msgstr "999.9м"
+
+#: ../bin/doption.c:492
+msgid "Preferences"
+msgstr "Настройки предпочтений"
+
+#: ../bin/doption.c:531
+msgid "Marker"
+msgstr "Маркер"
+
+#: ../bin/doption.c:532
+msgid "Border"
+msgstr "Граница"
+
+#: ../bin/doption.c:533
+msgid "Primary Axis"
+msgstr "Главные оси"
+
+#: ../bin/doption.c:534
+msgid "Secondary Axis"
+msgstr "Дополнительные оси"
+
+#: ../bin/doption.c:535
+msgid "Normal Track"
+msgstr "Трек"
+
+#: ../bin/doption.c:536
+msgid "Selected Track"
+msgstr "Выбранный трек"
+
+#: ../bin/doption.c:537
+msgid "Profile Path"
+msgstr ""
+
+#: ../bin/doption.c:538
+msgid "Exception Track"
+msgstr ""
+
+#: ../bin/doption.c:539
+msgid "Track Ties"
+msgstr "Шпалы"
+
+#: ../bin/dpricels.c:45
+msgid "Price"
+msgstr "Цена"
+
+#: ../bin/dpricels.c:59
+msgid "Flex Track"
+msgstr "Изогнутый трек"
+
+#: ../bin/dpricels.c:60
+msgid "costs"
+msgstr "стоит"
+
+#: ../bin/dpricels.c:154
+msgid "Price List"
+msgstr "Прайслист"
+
+#: ../bin/dprmfile.c:73 ../bin/paramfilesearch_ui.c:60
+msgid "Show File Names"
+msgstr "Показывать имена файлов"
+
+#: ../bin/dprmfile.c:82 ../bin/paramfilesearch_ui.c:76
+msgid "Select all"
+msgstr "Выбрать всё"
+
+#: ../bin/dprmfile.c:84
+msgid "Favorite"
+msgstr ""
+
+#: ../bin/dprmfile.c:87
+msgid "Search Library"
+msgstr ""
+
+#: ../bin/dprmfile.c:88 ../bin/layout.c:480
+msgid "Browse ..."
+msgstr "Выбрать ..."
+
+#: ../bin/dprmfile.c:331
+#, fuzzy, c-format
+msgid "%d parameter files reloaded."
+msgstr "Чтение файлов с параметрами"
+
+#: ../bin/dprmfile.c:333
+#, fuzzy
+msgid "One parameter file reloaded."
+msgstr "Чтение файлов с параметрами"
+
+#: ../bin/dprmfile.c:434
+msgid "Parameter Files"
+msgstr "Файлы параметров"
+
+#: ../bin/dprmfile.c:437 ../bin/paramfilesearch_ui.c:405
+msgid "Load Parameters"
+msgstr "Загрузить параметры"
+
+#: ../bin/dprmfile.c:437 ../bin/paramfilesearch_ui.c:405
+#, fuzzy
+msgid "Parameter files (*.xtp)|*.xtp"
+msgstr "Файлы параметров|*.xtp"
+
+#: ../bin/draw.c:2137
+msgid "Macro Zoom Mode"
+msgstr ""
+
+#: ../bin/draw.c:2144
+msgid "Scale 1:1 - Use Ctrl+ to go to Macro Zoom Mode"
+msgstr ""
+
+#: ../bin/draw.c:2148
+msgid "Preset Zoom In Value selected. Shift+Ctrl+PageDwn to reset value"
+msgstr ""
+
+#: ../bin/draw.c:2152
+#, c-format
+msgid "Zoom In Program Value %ld:1, Shift+PageDwn to use"
+msgstr ""
+
+#: ../bin/draw.c:2192
+msgid "At Maximum Zoom Out"
+msgstr ""
+
+#: ../bin/draw.c:2197
+msgid "Preset Zoom Out Value selected. Shift+Ctrl+PageUp to reset value"
+msgstr ""
+
+#: ../bin/draw.c:2201
+#, c-format
+msgid "Zoom Out Program Value %ld:1 set, Shift+PageUp to use"
+msgstr ""
+
+#: ../bin/draw.c:2908
+msgid "Map"
+msgstr "Миникарта"
+
+#: ../bin/draw.c:2956
+msgid ""
+"Left-Drag to pan, Ctrl+Left-Drag to zoom, 0 to set origin to zero, 1-9 to "
+"zoom#, e to set to extents"
+msgstr ""
+
+#: ../bin/draw.c:2963
+msgid "Pan Mode - drag point to new position"
+msgstr "Режим просмотра - перемещайте мышкой проект"
+
+#: ../bin/draw.c:2970
+msgid "Zoom Mode - drag area to zoom"
+msgstr ""
+
+#: ../bin/draw.c:2996
+msgid "Can't move any further in that direction"
+msgstr ""
+
+#: ../bin/draw.c:2998
+msgid "Left click to pan, right click to zoom, 'o' for origin, 'e' for extents"
+msgstr ""
+
+#: ../bin/draw.c:3035
+msgid ""
+"Left Drag to Pan, +CTRL to Zoom, 0 to set Origin to 0,0, 1-9 to Zoom#, e to "
+"set to Extent"
+msgstr ""
+
+#: ../bin/draw.c:3109
+msgid "Pan/Zoom"
+msgstr "Перемещение/Увеличение"
+
+#: ../bin/draw.c:3120
+msgid "Zoom to 1:1 - '1'"
+msgstr ""
+
+#: ../bin/draw.c:3121
+msgid "Zoom to 1:2 - '2'"
+msgstr ""
+
+#: ../bin/draw.c:3122
+msgid "Zoom to 1:3 - '3'"
+msgstr ""
+
+#: ../bin/draw.c:3123
+msgid "Zoom to 1:4 - '4'"
+msgstr ""
+
+#: ../bin/draw.c:3124
+msgid "Zoom to 1:5 - '5'"
+msgstr ""
+
+#: ../bin/draw.c:3125
+msgid "Zoom to 1:6 - '6'"
+msgstr ""
+
+#: ../bin/draw.c:3126
+msgid "Zoom to 1:7 - '7'"
+msgstr ""
+
+#: ../bin/draw.c:3127
+msgid "Zoom to 1:8 - '8'"
+msgstr ""
+
+#: ../bin/draw.c:3128
+msgid "Zoom to 1:9 - '9'"
+msgstr ""
+
+#: ../bin/draw.c:3132
+msgid "Pan center here - 'c'"
+msgstr ""
+
+#: ../bin/drawgeom.c:76 ../bin/drawgeom.c:91
+msgid "Create Lines"
+msgstr "Создать линии"
+
+#: ../bin/drawgeom.c:291
+msgid "+Shift to lock to nearby objects"
+msgstr ""
+
+#: ../bin/drawgeom.c:293
+msgid "+Shift to not lock to nearby objects"
+msgstr ""
+
+#: ../bin/drawgeom.c:397
+msgid "Drag to next point, +Shift to lock to object, +Ctrl to lock to 90deg"
+msgstr ""
+
+#: ../bin/drawgeom.c:408
+msgid "Drag to place next end point"
+msgstr "Тащите, чтобы создать следующую точку"
+
+#: ../bin/drawgeom.c:439
+msgid "Drag to set radius"
+msgstr "Тащите, чтобы установить радиус"
+
+#: ../bin/drawgeom.c:452
+msgid "Drag set box size"
+msgstr ""
+
+#: ../bin/drawgeom.c:493
+msgid "+Shift - lock to close object, +Ctrl - lock to 90 deg"
+msgstr ""
+
+#: ../bin/drawgeom.c:547 ../bin/drawgeom.c:603
+#, c-format
+msgid "Length = %s, Angle = %0.2f"
+msgstr "Длина = %s, Угол = %0.2f"
+
+#: ../bin/drawgeom.c:624
+#, c-format
+msgid "Straight Line: Length=%s Angle=%0.3f"
+msgstr "Прямая линия: Длина=%s Угол=%0.3f"
+
+#: ../bin/drawgeom.c:646
+#, c-format
+msgid "Curved Line: Radius=%s Angle=%0.3f Length=%s"
+msgstr "Кривая линия: Радиус=%s Угол=%0.3f Длина=%s"
+
+#: ../bin/drawgeom.c:670
+#, c-format
+msgid "Radius = %s"
+msgstr "Радиус = %s"
+
+#: ../bin/drawgeom.c:680
+#, c-format
+msgid "Width = %s, Height = %s"
+msgstr "Ширина = %s, Высота = %s"
+
+#: ../bin/drawgeom.c:1169
+#, fuzzy
+msgid "Select points or use context menu"
+msgstr "Выберите позицию точки"
+
+#: ../bin/drawgeom.c:1424
+#, fuzzy, c-format
+msgid "Length = %s, Last angle = %0.2f"
+msgstr "Длина = %s, Угол = %0.2f"
+
+#: ../bin/drawgeom.c:1578
+#, fuzzy
+msgid "Point Deleted"
+msgstr "Выбор шрифта"
+
+#: ../bin/drawgeom.c:1974
+msgid "Not close to end of line"
+msgstr ""
+
+#: ../bin/drawgeom.c:2027
+msgid "Not close to ends or middle of mine, reselect"
+msgstr ""
+
+#: ../bin/drawgeom.c:2075 ../bin/drawgeom.c:2297
+msgid "Drag to Move Corner Point"
+msgstr ""
+
+#: ../bin/drawgeom.c:2082
+msgid "Drag to Move Edge "
+msgstr ""
+
+#: ../bin/drawgeom.c:2144
+#, c-format
+msgid "Length = %0.3f Angle = %0.3f"
+msgstr ""
+
+#: ../bin/drawgeom.c:2292
+msgid "Drag to Move Edge"
+msgstr ""
+
+#: ../bin/dxfoutput.c:232
+msgid "Export to DXF"
+msgstr "Экспортировать в DXF"
+
+#: ../bin/fileio.c:241
+msgid ""
+"\n"
+"Do you want to continue?"
+msgstr ""
+"\n"
+"Вы хотите продолжить?"
+
+#: ../bin/fileio.c:608
+#, c-format
+msgid "putTitle: title too long: %s"
+msgstr ""
+
+#: ../bin/fileio.c:638
+msgid "Unnamed Trackplan"
+msgstr "Безымянный проект"
+
+#: ../bin/fileio.c:639
+msgid " (R/O)"
+msgstr ""
+
+#: ../bin/fileio.c:659 ../bin/fileio.c:1278
+msgid "Check Pointing"
+msgstr ""
+
+#: ../bin/fileio.c:789
+msgid "Unknown layout file object - skip until next good object?"
+msgstr ""
+
+#: ../bin/fileio.c:1026
+msgid "Track"
+msgstr "Трек"
+
+#: ../bin/fileio.c:1212
+msgid "Save Tracks"
+msgstr "Сохранить треки"
+
+#: ../bin/fileio.c:1228
+msgid "Save Tracks As"
+msgstr ""
+
+#: ../bin/fileio.c:1239
+msgid "Open Tracks"
+msgstr "Открыть треки"
+
+#: ../bin/fileio.c:1253
+#, fuzzy
+msgid "Example Tracks"
+msgstr "Простые трек"
+
+#: ../bin/fileio.c:1461
+#, fuzzy, c-format
+msgid "Module - %s"
+msgstr "Подъем = %s"
+
+#: ../bin/fileio.c:1466 ../bin/fileio.c:1486
+msgid "Import Tracks"
+msgstr "Импортировать треки"
+
+#: ../bin/fileio.c:1548
+msgid "Export Tracks"
+msgstr "Экспортировать треки"
+
+#: ../bin/fileio.c:1567
+msgid "Clipboard"
+msgstr "Буфер обмена"
+
+#: ../bin/filenoteui.c:62 ../bin/linknoteui.c:50 ../bin/textnoteui.c:42
+#, fuzzy
+msgid "Position X"
+msgstr "Позиция"
+
+#: ../bin/filenoteui.c:64 ../bin/linknoteui.c:52 ../bin/textnoteui.c:44
+#, fuzzy
+msgid "Position Y"
+msgstr "Позиция"
+
+#: ../bin/filenoteui.c:68 ../bin/linknoteui.c:56
+#, fuzzy
+msgid "Title"
+msgstr "Подзаголовок"
+
+#: ../bin/filenoteui.c:70 ../bin/trknote.c:62
+#: ../../../../build/work/app/bin/bllnhlp.c:87
+#, fuzzy
+msgid "Document"
+msgstr "Кол-во"
+
+#: ../bin/filenoteui.c:72
+#, fuzzy
+msgid "Select..."
+msgstr "Выбрать"
+
+#: ../bin/filenoteui.c:74 ../bin/linknoteui.c:60
+#, fuzzy
+msgid "Open..."
+msgstr "&Открыть ..."
+
+#: ../bin/filenoteui.c:136
+msgid "Add Document"
+msgstr ""
+
+#: ../bin/filenoteui.c:158
+msgid "The file doesn't exist or cannot be read!"
+msgstr ""
+
+#: ../bin/filenoteui.c:297
+#, fuzzy, c-format
+msgid "Document(%d) Layer=%d %-.80s [%s]"
+msgstr "(%d): Слой=%d %s"
+
+#: ../bin/filenoteui.c:309
+#, fuzzy
+msgid "Update document"
+msgstr "Обновлён"
+
+#: ../bin/filenoteui.c:323
+#, fuzzy
+msgid "Describe the file"
+msgstr "Подпись и выбор"
+
+#: ../bin/filenoteui.c:329
+msgid "Attach document"
+msgstr ""
+
+#: ../bin/i18n.c:66
+#, c-format
+msgid "Gettext initialized (PACKAGE=%s, LOCALEDIR=%s, LC_ALL=%s).\n"
+msgstr ""
+
+#: ../bin/layout.c:380
+#, c-format
+msgid "Unable to load Image File - %s"
+msgstr ""
+
+#: ../bin/layout.c:444
+msgid "Load Background"
+msgstr ""
+
+#: ../bin/layout.c:467
+msgid "Room Width"
+msgstr "Ширина комнаты"
+
+#: ../bin/layout.c:468
+msgid " Height"
+msgstr " Высота"
+
+#: ../bin/layout.c:469
+msgid "Layout Title"
+msgstr "Заголовок"
+
+#: ../bin/layout.c:470
+msgid "Subtitle"
+msgstr "Подзаголовок"
+
+#: ../bin/layout.c:474
+msgid " Gauge"
+msgstr " Колея"
+
+#: ../bin/layout.c:476
+msgid "Min Track Radius"
+msgstr "Мин. радиус трека"
+
+#: ../bin/layout.c:477
+msgid " Max Track Grade (%)"
+msgstr " Макс. наклон трека (%)"
+
+#: ../bin/layout.c:479
+msgid "Background File Path"
+msgstr ""
+
+#: ../bin/layout.c:483
+msgid "Background PosX,Y"
+msgstr ""
+
+#: ../bin/layout.c:487
+msgid "Background Size"
+msgstr ""
+
+#: ../bin/layout.c:489
+msgid "Background Screen %"
+msgstr ""
+
+#: ../bin/layout.c:491
+#, fuzzy
+msgid "Background Angle"
+msgstr "Конечный угол"
+
+#: ../bin/layout.c:569
+msgid "Layout Options"
+msgstr "Настройки слоя"
+
+#: ../bin/linknoteui.c:58
+msgid "URL"
+msgstr ""
+
+#: ../bin/linknoteui.c:107
+#, c-format
+msgid ""
+"The entered URL is too long. The maximum allowed length is %d. Please edit "
+"the entered value."
+msgstr ""
+
+#: ../bin/linknoteui.c:110
+#, fuzzy
+msgid "Re-edit"
+msgstr "Сбросить"
+
+#: ../bin/linknoteui.c:241
+#, fuzzy
+msgid "Update link"
+msgstr "Обновить"
+
+#: ../bin/linknoteui.c:259
+#, fuzzy
+msgid "Create link"
+msgstr "Создать блок"
+
+#: ../bin/macro.c:95
+msgid "Message"
+msgstr "Сообщение"
+
+#: ../bin/macro.c:179
+msgid "Recording"
+msgstr "Запись"
+
+#: ../bin/macro.c:214
+msgid "End of Playback. Hit Step to exit\n"
+msgstr "Конец проигрыша. Нажмите Шаг для выхода\n"
+
+#: ../bin/macro.c:278
+msgid "Record"
+msgstr "Запись"
+
+#: ../bin/macro.c:676
+msgid "Step"
+msgstr "Шаг"
+
+#: ../bin/macro.c:679 ../bin/macro.c:1544
+msgid "Next"
+msgstr "Дальше"
+
+#: ../bin/macro.c:682 ../bin/misc.c:742 ../bin/track.c:1116
+msgid "Quit"
+msgstr "Выход"
+
+#: ../bin/macro.c:685 ../../../../build/work/app/bin/bllnhlp.c:545
+msgid "Speed"
+msgstr "Скорость"
+
+#: ../bin/macro.c:832 ../bin/macro.c:879
+msgid "Regression"
+msgstr ""
+
+#: ../bin/macro.c:1045 ../bin/macro.c:1403
+msgid "Demo"
+msgstr "Демонстрация"
+
+#: ../bin/macro.c:1223
+#, c-format
+msgid "Elapsed time %lu\n"
+msgstr "Осталось времени %lu\n"
+
+#: ../bin/macro.c:1324
+msgid "Playback"
+msgstr "Воспроизведение"
+
+#: ../bin/macro.c:1406
+msgid "Slowest"
+msgstr "Очень медленно"
+
+#: ../bin/macro.c:1407
+msgid "Slow"
+msgstr "Медленно"
+
+#: ../bin/macro.c:1409
+msgid "Fast"
+msgstr "Быстро"
+
+#: ../bin/macro.c:1410
+msgid "Faster"
+msgstr "Быстрее"
+
+#: ../bin/macro.c:1411
+msgid "Fastest"
+msgstr "Очень быстро"
+
+#: ../bin/macro.c:1529
+msgid "Can not find PARAMETER playback proc"
+msgstr "Невозможно найти PARAMETER в проигрыше"
+
+#: ../bin/misc.c:173
+msgid "No Messages"
+msgstr "Нет сообщений"
+
+#: ../bin/misc.c:435 ../bin/misc.c:438
+msgid "ABORT"
+msgstr "АВАРИЯ"
+
+#: ../bin/misc.c:437
+msgid ""
+"\n"
+"Do you want to save your layout?"
+msgstr ""
+"\n"
+"Вы хотите сохранить ваш проект?"
+
+#: ../bin/misc.c:523
+#, c-format
+msgid "No help for %s"
+msgstr "Нет помощи для %s"
+
+#: ../bin/misc.c:635
+msgid ""
+"Save changes to the layout design before closing?\n"
+"\n"
+"If you don't save now, your unsaved changes will be discarded."
+msgstr ""
+"Сохранить изменения перед закрытием?\n"
+"\n"
+"Если вы не сделаете это, все ваши несохранённые изменения будут потеряны."
+
+#: ../bin/misc.c:637 ../bin/misc.c:2334
+msgid "&Save"
+msgstr "&Сохранить"
+
+#: ../bin/misc.c:637 ../bin/misc.c:672
+msgid "&Cancel"
+msgstr "&Отмена"
+
+#: ../bin/misc.c:637
+msgid "&Don't Save"
+msgstr "Не сохранять"
+
+#: ../bin/misc.c:661
+msgid "examples"
+msgstr ""
+
+#: ../bin/misc.c:670
+msgid ""
+"Do you want to return to the last saved state?\n"
+"\n"
+"Revert will cause all changes done since last save to be lost."
+msgstr ""
+"Вы хотите возвратить всё к предыдущему состоянию?\n"
+"\n"
+"Все несохранённые изменения будут потеряны."
+
+#: ../bin/misc.c:672
+msgid "&Revert"
+msgstr "&Откат"
+
+#: ../bin/misc.c:894
+msgid "XTrackCAD Font"
+msgstr "Шрифты XTrackCAD"
+
+#: ../bin/misc.c:955
+#, c-format
+msgid "No balloon help for %s\n"
+msgstr "Всплывающая подсказка для %s не задана\n"
+
+#: ../bin/misc.c:957 ../../../../build/work/app/bin/bllnhlp.c:608
+#: ../../../../build/work/app/bin/bllnhlp.c:609
+#: ../../../../build/work/app/bin/bllnhlp.c:611
+#: ../../../../build/work/app/bin/bllnhlp.c:612
+#: ../../../../build/work/app/bin/bllnhlp.c:614
+#: ../../../../build/work/app/bin/bllnhlp.c:615
+#: ../../../../build/work/app/bin/bllnhlp.c:616
+#: ../../../../build/work/app/bin/bllnhlp.c:617
+#: ../../../../build/work/app/bin/bllnhlp.c:618
+#: ../../../../build/work/app/bin/bllnhlp.c:619
+#: ../../../../build/work/app/bin/bllnhlp.c:620
+#: ../../../../build/work/app/bin/bllnhlp.c:621
+#: ../../../../build/work/app/bin/bllnhlp.c:622
+#: ../../../../build/work/app/bin/bllnhlp.c:623
+#: ../../../../build/work/app/bin/bllnhlp.c:624
+#: ../../../../build/work/app/bin/bllnhlp.c:625
+#: ../../../../build/work/app/bin/bllnhlp.c:626
+#: ../../../../build/work/app/bin/bllnhlp.c:627
+#: ../../../../build/work/app/bin/bllnhlp.c:628
+#: ../../../../build/work/app/bin/bllnhlp.c:629
+#: ../../../../build/work/app/bin/bllnhlp.c:630
+#: ../../../../build/work/app/bin/bllnhlp.c:631
+#: ../../../../build/work/app/bin/bllnhlp.c:632
+#: ../../../../build/work/app/bin/bllnhlp.c:633
+#: ../../../../build/work/app/bin/bllnhlp.c:634
+#: ../../../../build/work/app/bin/bllnhlp.c:635
+#: ../../../../build/work/app/bin/bllnhlp.c:636
+#: ../../../../build/work/app/bin/bllnhlp.c:637
+#: ../../../../build/work/app/bin/bllnhlp.c:638
+#: ../../../../build/work/app/bin/bllnhlp.c:639
+#: ../../../../build/work/app/bin/bllnhlp.c:640
+#: ../../../../build/work/app/bin/bllnhlp.c:641
+#: ../../../../build/work/app/bin/bllnhlp.c:642
+#: ../../../../build/work/app/bin/bllnhlp.c:643
+#: ../../../../build/work/app/bin/bllnhlp.c:644
+#: ../../../../build/work/app/bin/bllnhlp.c:645
+#: ../../../../build/work/app/bin/bllnhlp.c:646
+#: ../../../../build/work/app/bin/bllnhlp.c:647
+#: ../../../../build/work/app/bin/bllnhlp.c:648
+#: ../../../../build/work/app/bin/bllnhlp.c:649
+#: ../../../../build/work/app/bin/bllnhlp.c:650
+#: ../../../../build/work/app/bin/bllnhlp.c:651
+#: ../../../../build/work/app/bin/bllnhlp.c:652
+#: ../../../../build/work/app/bin/bllnhlp.c:653
+#: ../../../../build/work/app/bin/bllnhlp.c:654
+#: ../../../../build/work/app/bin/bllnhlp.c:655
+#: ../../../../build/work/app/bin/bllnhlp.c:656
+#: ../../../../build/work/app/bin/bllnhlp.c:657
+#: ../../../../build/work/app/bin/bllnhlp.c:658
+#: ../../../../build/work/app/bin/bllnhlp.c:659
+#: ../../../../build/work/app/bin/bllnhlp.c:660
+#: ../../../../build/work/app/bin/bllnhlp.c:661
+#: ../../../../build/work/app/bin/bllnhlp.c:662
+#: ../../../../build/work/app/bin/bllnhlp.c:663
+#: ../../../../build/work/app/bin/bllnhlp.c:664
+#: ../../../../build/work/app/bin/bllnhlp.c:665
+#: ../../../../build/work/app/bin/bllnhlp.c:666
+#: ../../../../build/work/app/bin/bllnhlp.c:667
+#: ../../../../build/work/app/bin/bllnhlp.c:668
+#: ../../../../build/work/app/bin/bllnhlp.c:670
+msgid "No Help"
+msgstr "Нет помощи"
+
+#: ../bin/misc.c:1065
+#, fuzzy
+msgid "File AutoSaved"
+msgstr "Файлы"
+
+#: ../bin/misc.c:1276 ../bin/misc.c:1283 ../bin/misc.c:1354
+msgid ""
+"Cancelling the current command will undo the changes\n"
+"you are currently making. Do you want to update?"
+msgstr ""
+
+#: ../bin/misc.c:1849
+msgid "Sticky Commands"
+msgstr "Клейкие команды"
+
+#: ../bin/misc.c:1862
+msgid "File Buttons"
+msgstr "Файлы"
+
+#: ../bin/misc.c:1862
+#, fuzzy
+msgid "Import/Export Buttons"
+msgstr "Масштаб"
+
+#: ../bin/misc.c:1862
+msgid "Zoom Buttons"
+msgstr "Масштаб"
+
+#: ../bin/misc.c:1863
+msgid "Undo Buttons"
+msgstr "Отмена / повтор"
+
+#: ../bin/misc.c:1863
+msgid "Easement Button"
+msgstr "Упрощения"
+
+#: ../bin/misc.c:1863
+msgid "SnapGrid Buttons"
+msgstr "Сетка"
+
+#: ../bin/misc.c:1864
+msgid "Create Track Buttons"
+msgstr "Создание треков"
+
+#: ../bin/misc.c:1864
+msgid "Layout Control Elements"
+msgstr "Элементы управления проекта"
+
+#: ../bin/misc.c:1865
+msgid "Modify Track Buttons"
+msgstr "Изменение треков"
+
+#: ../bin/misc.c:1865
+msgid "Properties/Select"
+msgstr "Свойства/Выбор"
+
+#: ../bin/misc.c:1866
+msgid "Track Group Buttons"
+msgstr "Треки"
+
+#: ../bin/misc.c:1866
+msgid "Train Group Buttons"
+msgstr "Поезда"
+
+#: ../bin/misc.c:1867
+msgid "Create Misc Buttons"
+msgstr "Различные кнопоки"
+
+#: ../bin/misc.c:1867
+msgid "Ruler Button"
+msgstr "Линейка"
+
+#: ../bin/misc.c:1867
+msgid "Layer Buttons"
+msgstr "Управление слоями"
+
+#: ../bin/misc.c:1868
+msgid "Hot Bar"
+msgstr "Горячие клавиши"
+
+#: ../bin/misc.c:1937 ../../../../build/work/app/bin/bllnhlp.c:82
+msgid "Change Elevations"
+msgstr "Изменить высоты"
+
+#: ../bin/misc.c:1955
+msgid "Angle:"
+msgstr "Угол:"
+
+#: ../bin/misc.c:1962
+msgid "Move X:"
+msgstr "Двигать X:"
+
+#: ../bin/misc.c:1963
+msgid "Move Y:"
+msgstr "Двигать Y:"
+
+#: ../bin/misc.c:2010
+msgid "Enter Move ..."
+msgstr ""
+
+#: ../bin/misc.c:2016
+msgid "180 "
+msgstr "180 "
+
+#: ../bin/misc.c:2017
+msgid "90 CW"
+msgstr "90 ЧС"
+
+#: ../bin/misc.c:2018
+msgid "45 CW"
+msgstr "45 ЧС"
+
+#: ../bin/misc.c:2019
+msgid "30 CW"
+msgstr "30 ЧС"
+
+#: ../bin/misc.c:2020
+msgid "15 CW"
+msgstr "15 ПЧС"
+
+#: ../bin/misc.c:2021
+msgid "15 CCW"
+msgstr "15 ПЧС"
+
+#: ../bin/misc.c:2022
+msgid "30 CCW"
+msgstr "30 ПЧС"
+
+#: ../bin/misc.c:2023
+msgid "45 CCW"
+msgstr "45 ПЧС"
+
+#: ../bin/misc.c:2024
+msgid "90 CCW"
+msgstr "90 ПЧС"
+
+#: ../bin/misc.c:2025
+msgid "Enter Angle ..."
+msgstr "Введите угол ..."
+
+#: ../bin/misc.c:2056
+msgid "Debug"
+msgstr "Отладка"
+
+#: ../bin/misc.c:2187
+msgid "&File"
+msgstr "&Файл"
+
+#: ../bin/misc.c:2188
+msgid "&Edit"
+msgstr "&Правка"
+
+#: ../bin/misc.c:2189
+msgid "&View"
+msgstr "&Вид"
+
+#: ../bin/misc.c:2190
+msgid "&Add"
+msgstr "&Добавить"
+
+#: ../bin/misc.c:2191
+msgid "&Change"
+msgstr "&Изменить"
+
+#: ../bin/misc.c:2192
+msgid "&Draw"
+msgstr "&Рисовать"
+
+#: ../bin/misc.c:2193
+msgid "&Manage"
+msgstr "&Управление"
+
+#: ../bin/misc.c:2194
+msgid "&Options"
+msgstr "&Настройки"
+
+#: ../bin/misc.c:2195
+msgid "&Macro"
+msgstr "&Макросы"
+
+#: ../bin/misc.c:2196
+msgid "&Window"
+msgstr "&Окна"
+
+#: ../bin/misc.c:2197
+msgid "&Help"
+msgstr "&Справка"
+
+#: ../bin/misc.c:2233
+#, fuzzy
+msgid "Context Commands"
+msgstr "Остальные команды"
+
+#: ../bin/misc.c:2234
+msgid "Shift Context Commands"
+msgstr ""
+
+#: ../bin/misc.c:2249 ../bin/misc.c:2437
+msgid "Enable SnapGrid"
+msgstr "Прилипать к сетке"
+
+#: ../bin/misc.c:2251
+msgid "SnapGrid Show"
+msgstr "Показывать сетку"
+
+#: ../bin/misc.c:2253
+#, fuzzy
+msgid " Enable Magnetic Snap"
+msgstr "Прилипать к сетке"
+
+#: ../bin/misc.c:2255 ../bin/misc.c:2458
+msgid "Show/Hide Map"
+msgstr "Показать/Спрятать миникарту"
+
+#: ../bin/misc.c:2257 ../../../../build/work/app/bin/bllnhlp.c:17
+#, fuzzy
+msgid "Show/Hide Background"
+msgstr "Показать/Спрятать слой"
+
+#: ../bin/misc.c:2288 ../bin/misc.c:2289
+#, fuzzy
+msgid "Add..."
+msgstr "Добавить"
+
+#: ../bin/misc.c:2292 ../bin/misc.c:2293
+#, fuzzy
+msgid "More..."
+msgstr "Больше"
+
+#: ../bin/misc.c:2328
+msgid "&New ..."
+msgstr "&Новый ..."
+
+#: ../bin/misc.c:2330
+msgid "&Open ..."
+msgstr "&Открыть ..."
+
+#: ../bin/misc.c:2336
+msgid "Save &As ..."
+msgstr "&Сохранить как..."
+
+#: ../bin/misc.c:2338
+msgid "Revert"
+msgstr "Очистить изменения"
+
+#: ../bin/misc.c:2341
+msgid "P&rint Setup ..."
+msgstr "&Настройки печати ..."
+
+#: ../bin/misc.c:2346
+msgid "&Import"
+msgstr "&Импорт"
+
+#: ../bin/misc.c:2348
+#, fuzzy
+msgid "Import &Module"
+msgstr "Импорт"
+
+#: ../bin/misc.c:2350
+msgid "Export to &Bitmap"
+msgstr "Экспорт в изображение"
+
+#: ../bin/misc.c:2353
+msgid "E&xport"
+msgstr "Экспорт"
+
+#: ../bin/misc.c:2355
+msgid "Export D&XF"
+msgstr "Экспорт DXF"
+
+#: ../bin/misc.c:2360
+msgid "Parameter &Files ..."
+msgstr "Настройки файлов ..."
+
+#: ../bin/misc.c:2362
+msgid "No&tes ..."
+msgstr "Заметки ..."
+
+#: ../bin/misc.c:2369
+msgid "E&xit"
+msgstr "В&ыход"
+
+#: ../bin/misc.c:2375
+msgid "&Undo"
+msgstr "&Отменить"
+
+#: ../bin/misc.c:2377
+msgid "R&edo"
+msgstr "Повторить"
+
+#: ../bin/misc.c:2380
+msgid "Cu&t"
+msgstr "Вырезать"
+
+#: ../bin/misc.c:2382
+msgid "&Copy"
+msgstr "&Копировать"
+
+#: ../bin/misc.c:2384
+msgid "&Paste"
+msgstr "&Вставить"
+
+#: ../bin/misc.c:2386
+#, fuzzy
+msgid "C&lone"
+msgstr "Закрыть"
+
+#: ../bin/misc.c:2388
+msgid "De&lete"
+msgstr "Удалить"
+
+#: ../bin/misc.c:2396
+msgid "Select &All"
+msgstr "Выбрать всё"
+
+#: ../bin/misc.c:2398
+msgid "&Deselect All"
+msgstr "Снять выделение"
+
+#: ../bin/misc.c:2399
+msgid "&Invert Selection"
+msgstr "Инвертировать выделение"
+
+#: ../bin/misc.c:2400
+msgid "Select Stranded Track"
+msgstr "Выбрать проблемные треки"
+
+#: ../bin/misc.c:2402
+msgid "Tu&nnel"
+msgstr "Тоннель"
+
+#: ../bin/misc.c:2403
+#, fuzzy
+msgid "B&ridge"
+msgstr "Мост"
+
+#: ../bin/misc.c:2404
+msgid "Ties/NoTies"
+msgstr ""
+
+#: ../bin/misc.c:2405
+msgid "Move to &Front"
+msgstr ""
+
+#: ../bin/misc.c:2406
+#, fuzzy
+msgid "Move to &Back"
+msgstr "Переместить треки"
+
+#: ../bin/misc.c:2417
+msgid "Zoom &In"
+msgstr "&Приблизить"
+
+#: ../bin/misc.c:2420
+msgid "Zoom &Out"
+msgstr "&Отдалить"
+
+#: ../bin/misc.c:2430
+msgid "&Redraw"
+msgstr "Перерисовать"
+
+#: ../bin/misc.c:2432
+msgid "Redraw All"
+msgstr "Перерисовать всё"
+
+#: ../bin/misc.c:2439
+msgid "Show SnapGrid"
+msgstr "Показать сетку"
+
+#: ../bin/misc.c:2449
+#, fuzzy
+msgid "Enable Magnetic Snap"
+msgstr "Прилипать к сетке"
+
+#: ../bin/misc.c:2464
+msgid "&Tool Bar"
+msgstr "Панели инструментов"
+
+#: ../bin/misc.c:2497
+#, fuzzy
+msgid "Control Element"
+msgstr "Элементы управления"
+
+#: ../bin/misc.c:2524
+msgid "&Loosen Tracks"
+msgstr "Потерянные треки"
+
+#: ../bin/misc.c:2536
+msgid "Raise/Lower Elevations"
+msgstr "Увеличить/Уменьшить подъёмы"
+
+#: ../bin/misc.c:2545
+msgid "Recompute Elevations"
+msgstr "Пересчтитать высоты"
+
+#: ../bin/misc.c:2550
+msgid "Change Scale"
+msgstr "Изменить масштаб"
+
+#: ../bin/misc.c:2571
+msgid "L&ayout ..."
+msgstr "Слой ..."
+
+#: ../bin/misc.c:2573
+msgid "&Display ..."
+msgstr "Отображение ..."
+
+#: ../bin/misc.c:2575
+msgid "Co&mmand ..."
+msgstr "Команды..."
+
+#: ../bin/misc.c:2577
+msgid "&Easements ..."
+msgstr "Упрощения ..."
+
+#: ../bin/misc.c:2580
+msgid "&Fonts ..."
+msgstr "Шрифты ..."
+
+#: ../bin/misc.c:2582
+msgid "Stic&ky ..."
+msgstr "Липучка ..."
+
+#: ../bin/misc.c:2587
+msgid "&Debug ..."
+msgstr "Отладка ..."
+
+#: ../bin/misc.c:2590
+msgid "&Preferences ..."
+msgstr "Предпочтения ..."
+
+#: ../bin/misc.c:2592
+msgid "&Colors ..."
+msgstr "Цвета ..."
+
+#: ../bin/misc.c:2598
+msgid "&Record ..."
+msgstr "Запись ..."
+
+#: ../bin/misc.c:2600
+msgid "&Play Back ..."
+msgstr "Воспроизведение ..."
+
+#: ../bin/misc.c:2606
+msgid "Main window"
+msgstr "Главное окно"
+
+#: ../bin/misc.c:2620
+msgid "Recent Messages"
+msgstr "Недавние сообщения"
+
+#: ../bin/misc.c:2627
+msgid "Tip of the Day..."
+msgstr "Совет дня..."
+
+#: ../bin/misc.c:2628
+msgid "&Demos"
+msgstr "Обучение"
+
+#: ../bin/misc.c:2629
+#, fuzzy
+msgid "Examples..."
+msgstr "Упрощения ..."
+
+#: ../bin/misc.c:2633 ../bin/smalldlg.c:222
+msgid "About"
+msgstr "О программе"
+
+#: ../bin/misc.c:2646
+msgid "Tur&nout Designer..."
+msgstr "Редактор стрелок..."
+
+#: ../bin/misc.c:2649
+msgid "Layout &Control Elements"
+msgstr "&Элементы управления проекта"
+
+#: ../bin/misc.c:2651
+msgid "&Group"
+msgstr "Группировать"
+
+#: ../bin/misc.c:2653
+msgid "&Ungroup"
+msgstr "Разгруппировать"
+
+#: ../bin/misc.c:2657
+msgid "Custom defined parts..."
+msgstr "Нестандартные элементы..."
+
+#: ../bin/misc.c:2660
+msgid "Update Turnouts and Structures"
+msgstr ""
+
+#: ../bin/misc.c:2669
+msgid "Layers ..."
+msgstr "Слои ..."
+
+#: ../bin/misc.c:2673
+msgid "Parts &List ..."
+msgstr "Список &компонентов ..."
+
+#: ../bin/misc.c:2676
+msgid "Price List..."
+msgstr "Стоимость компонентов..."
+
+#: ../bin/misc.c:2758
+#, fuzzy
+msgid "Import/Export"
+msgstr "Экспорт"
+
+#: ../bin/misc.c:2788
+msgid ""
+"Program was not terminated properly. Do you want to resume working on the "
+"previous trackplan?"
+msgstr ""
+"Программа была завершена некорректно. Вы хотите продолжить работать с "
+"предыдущим проектом?"
+
+#: ../bin/misc.c:2789
+msgid "Resume"
+msgstr "Продолжить"
+
+#: ../bin/misc.c:2789
+msgid "Resume with New Name"
+msgstr ""
+
+#: ../bin/misc.c:2789
+#, fuzzy
+msgid "Ignore Checkpoint"
+msgstr "Контрольная точка"
+
+#: ../bin/misc.c:2792
+#, c-format
+msgid "Reload Checkpoint Selected\n"
+msgstr ""
+
+#: ../bin/misc.c:2794
+#, c-format
+msgid "Reload Checkpoint With New Name Selected\n"
+msgstr ""
+
+#: ../bin/misc.c:2796
+#, c-format
+msgid "Ignore Checkpoint Selected\n"
+msgstr ""
+
+#: ../bin/misc.c:2909
+#, c-format
+msgid "Unnamed Trackplan - %s(%s)"
+msgstr "Безымянный проект - %s(%s)"
+
+#: ../bin/misc.c:2995
+msgid "Initializing commands"
+msgstr "Инициализация команд"
+
+#: ../bin/misc.c:3004
+msgid "Initializing menus"
+msgstr "Инициализация меню"
+
+#: ../bin/misc.c:3039
+msgid "Reading parameter files"
+msgstr "Чтение файлов с параметрами"
+
+#: ../bin/misc.c:3076
+msgid "Initialization complete"
+msgstr "Инициализация завершена"
+
+#: ../bin/param.c:92
+msgid "Unexpected End Of String"
+msgstr "Неожиданный конец строки"
+
+#: ../bin/param.c:99
+msgid "Expected digit"
+msgstr "Введите цифру"
+
+#: ../bin/param.c:106
+msgid "Overflow"
+msgstr "Переполнение"
+
+#: ../bin/param.c:154
+msgid "Divide by 0"
+msgstr "Деление на 0"
+
+#: ../bin/param.c:162
+msgid "Expected /"
+msgstr "Пропущено /"
+
+#: ../bin/param.c:248
+msgid "Invalid Units Indicator"
+msgstr "Неверный индикатор элементов"
+
+#: ../bin/param.c:276
+msgid "Expected End Of String"
+msgstr "Ожидаемый конец строки"
+
+#: ../bin/param.c:302 ../bin/param.c:1406
+#, c-format
+msgid "Invalid Number"
+msgstr "Неверный номер"
+
+#: ../bin/param.c:361
+msgid "End Of String"
+msgstr "Конец строки"
+
+#: ../bin/param.c:1413
+#, c-format
+msgid "Enter a value > %ld"
+msgstr "Наберите значение > %ld"
+
+#: ../bin/param.c:1415
+#, c-format
+msgid "Enter a value < %ld"
+msgstr "Наберите значение < %ld"
+
+#: ../bin/param.c:1417
+#, c-format
+msgid "Enter a value between %ld and %ld"
+msgstr "Наберите значение между %ld и %ld"
+
+#: ../bin/param.c:1473
+#, c-format
+msgid "Enter a value > %s"
+msgstr "Наберите значение > %s"
+
+#: ../bin/param.c:1476
+#, c-format
+msgid "Enter a value < %s"
+msgstr "Наберите значение < %s"
+
+#: ../bin/param.c:1479
+#, c-format
+msgid "Enter a value between %s and %s"
+msgstr "Наберите значение между %s и %s"
+
+#: ../bin/param.c:2647
+msgid "Help"
+msgstr "Помощь"
+
+#: ../bin/paramfile.c:247
+msgid "Parameter"
+msgstr ""
+
+#: ../bin/paramfile.c:345
+msgid "Unknown param file line - skip until next good object?"
+msgstr ""
+
+#: ../bin/paramfilelist.c:110
+#, c-format
+msgid "Updating %s"
+msgstr "Обновление %s"
+
+#: ../bin/paramfilesearch_ui.c:68
+msgid "Enter at least one search word"
+msgstr ""
+
+#: ../bin/paramfilesearch_ui.c:77
+#, fuzzy
+msgid "Reload Library"
+msgstr "Перезагрузить"
+
+#: ../bin/paramfilesearch_ui.c:274
+#, fuzzy, c-format
+msgid "%d parameter files found."
+msgstr "Чтение файлов с параметрами"
+
+#: ../bin/paramfilesearch_ui.c:284
+msgid "No matches found."
+msgstr ""
+
+#: ../bin/paramfilesearch_ui.c:396
+#, fuzzy
+msgid "Choose parameter files"
+msgstr "Чтение файлов с параметрами"
+
+#: ../bin/paramfilesearch_ui.c:416
+msgid "No system parameter files found, search is disabled."
+msgstr ""
+
+#: ../bin/smalldlg.c:64
+msgid "Show tips at start"
+msgstr ""
+"Показывать\n"
+"советы\n"
+"при старте"
+
+#: ../bin/smalldlg.c:70
+msgid "Did you know..."
+msgstr "Знаете ли вы..."
+
+#: ../bin/smalldlg.c:72
+msgid "Previous Tip"
+msgstr "Предыдущий"
+
+#: ../bin/smalldlg.c:73
+msgid "Next Tip"
+msgstr "Следующий"
+
+#: ../bin/smalldlg.c:90
+msgid "Tip of the Day"
+msgstr "Совет дня"
+
+#: ../bin/smalldlg.c:99
+msgid "No tips are available"
+msgstr "Советы недоступны"
+
+#: ../bin/smalldlg.c:199
+msgid ""
+"XTrackCAD is a CAD (computer-aided design) program for designing model "
+"railroad layouts."
+msgstr ""
+"XTrackCAD это САПР (система автоматизированного проектирования) программа "
+"для проектирования макета железной дороги."
+
+#: ../bin/tbezier.c:177
+#, fuzzy, c-format
+msgid "Bezier: len=%0.2f min_rad=%0.2f"
+msgstr "Кривая Безье: длина=%s мин. радиус=%s"
+
+#: ../bin/tbezier.c:250
+msgid "Ctl Pt 1: X,Y"
+msgstr ""
+
+#: ../bin/tbezier.c:251
+msgid "Ctl Pt 2: X,Y"
+msgstr ""
+
+#: ../bin/tbezier.c:257
+msgid "MinRadius"
+msgstr "Мин. радиус"
+
+#: ../bin/tbezier.c:262
+msgid "Line Color"
+msgstr "Цвет линии"
+
+#: ../bin/tbezier.c:379
+#, c-format
+msgid ""
+"Bezier %s(%d): Layer=%u MinRadius=%s Length=%s EP=[%0.3f,%0.3f] [%0.3f,%"
+"0.3f] CP1=[%0.3f,%0.3f] CP2=[%0.3f, %0.3f]"
+msgstr ""
+
+#: ../bin/tbezier.c:453
+msgid "Bezier Track"
+msgstr "Трек Безье"
+
+#: ../bin/tbezier.c:870
+msgid "Merge Bezier"
+msgstr ""
+
+#: ../bin/tcornu.c:222
+#, c-format
+msgid "Cornu: len=%0.2f min_rad=%0.2f"
+msgstr ""
+
+#: ../bin/tcornu.c:296
+msgid "Radius "
+msgstr "Радиус "
+
+#: ../bin/tcornu.c:304
+msgid "Minimum Radius"
+msgstr "Минимальный радиус"
+
+#: ../bin/tcornu.c:305
+msgid "Max Rate Of Curve Change/Scale"
+msgstr ""
+
+#: ../bin/tcornu.c:306
+msgid "Total Winding Angle"
+msgstr ""
+
+#: ../bin/tcornu.c:444
+#, c-format
+msgid ""
+"Cornu Track(%d): Layer=%u MinRadius=%s Length=%s EP=[%0.3f,%0.3f] [%0.3f,%"
+"0.3f]"
+msgstr ""
+
+#: ../bin/tcornu.c:497
+msgid "Cornu Track"
+msgstr ""
+
+#: ../bin/tcornu.c:1025
+msgid "Merge Cornu"
+msgstr ""
+
+#: ../bin/tcurve.c:243
+#, c-format
+msgid "Helix: turns=%ld len=%0.2f grade=%0.1f%% sep=%0.2f"
+msgstr ""
+
+#: ../bin/tcurve.c:249
+#, c-format
+msgid "Helix: turns=%ld len=%0.2f"
+msgstr ""
+
+#: ../bin/tcurve.c:365 ../bin/tcurve.c:367 ../bin/tease.c:520
+#: ../bin/tease.c:522 ../bin/tstraigh.c:86 ../bin/tstraigh.c:88
+msgid "Z"
+msgstr "Z"
+
+#: ../bin/tcurve.c:373
+msgid "Angular Length"
+msgstr "Длина дуги"
+
+#: ../bin/tcurve.c:553
+#, c-format
+msgid ""
+"Helix Track(%d): Layer=%d Radius=%s Turns=%ld Length=%s Center=[%s,%s] EP=[%"
+"0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
+msgstr ""
+
+#: ../bin/tcurve.c:563
+#, c-format
+msgid ""
+"Curved Track(%d): Layer=%d Radius=%s Length=%s Center=[%s,%s] EP=[%0.3f,%"
+"0.3f A%0.3f] [%0.3f,%0.3f A%0.3f]"
+msgstr ""
+"Изогнутый трек(%d): Слой=%d Радиус=%s Длина=%s Центр=[%s,%s] EP=[%0.3f,%0.3f "
+"A%0.3f] [%0.3f,%0.3f A%0.3f]"
+
+#: ../bin/tcurve.c:640
+msgid "Helix Track"
+msgstr ""
+
+#: ../bin/tcurve.c:646
+msgid "Curved Track"
+msgstr ""
+
+#: ../bin/tcurve.c:1013
+msgid "Merge Curves"
+msgstr "Совместить кривые"
+
+#: ../bin/tcurve.c:1082
+msgid "Drag to change angle or create tangent"
+msgstr ""
+
+#: ../bin/tcurve.c:1115 ../bin/tcurve.c:1147
+msgid "Curved "
+msgstr ""
+
+#: ../bin/tcurve.c:1121
+msgid "Tangent "
+msgstr "Тангенс "
+
+#: ../bin/tcurve.c:1130
+#, c-format
+msgid "Tangent track: Length %s Angle %0.3f"
+msgstr ""
+
+#: ../bin/tcurve.c:1152
+#, c-format
+msgid "Curved: Radius=%s Length=%s Angle=%0.3f"
+msgstr ""
+
+#: ../bin/tease.c:527
+msgid "l0"
+msgstr ""
+
+#: ../bin/tease.c:528
+msgid "l1"
+msgstr ""
+
+#: ../bin/tease.c:570
+#, c-format
+msgid ""
+"Joint Track(%d): Layer=%d Length=%0.3f EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A"
+"%0.3f]"
+msgstr ""
+
+#: ../bin/tease.c:615
+msgid "Easement Track"
+msgstr ""
+
+#: ../bin/tease.c:1235
+msgid "Merge Easements"
+msgstr ""
+
+#: ../bin/tease.c:1303
+msgid "Split Easement Curve"
+msgstr ""
+
+#: ../bin/textnoteui.c:214
+#, fuzzy, c-format
+msgid "Note: Layer=%d %-.80s"
+msgstr "(%d): Слой=%d %s"
+
+#: ../bin/textnoteui.c:225
+#, fuzzy
+msgid "Update comment"
+msgstr "Отменить последнюю команду"
+
+#: ../bin/textnoteui.c:237
+msgid "Replace this text with your note"
+msgstr "Замените этот текст вашей заметкой"
+
+#: ../bin/textnoteui.c:241
+#, fuzzy
+msgid "Create Text Note"
+msgstr "Создать текст"
+
+#: ../bin/track.c:1329
+msgid "Move Objects Above"
+msgstr ""
+
+#: ../bin/track.c:1349
+msgid "Mode Objects Below"
+msgstr ""
+
+#: ../bin/track.c:1640
+msgid "Audit"
+msgstr "Аудит"
+
+#: ../bin/track.c:1929
+#, c-format
+msgid "%d Track(s) loosened"
+msgstr ""
+
+#: ../bin/track.c:1936
+msgid "No tracks loosened"
+msgstr ""
+
+#: ../bin/track.c:1946 ../bin/track.c:1950
+#, c-format
+msgid "Connecting a non-track(%d) to (%d)"
+msgstr ""
+
+#: ../bin/track.c:2005
+msgid "Join Abutting Tracks"
+msgstr ""
+
+#: ../bin/track.c:2291 ../bin/track.c:2326
+msgid "Inside turnout track"
+msgstr ""
+
+#: ../bin/track.c:2309
+#, fuzzy, c-format
+msgid "Curve: Length=%s Radius=%0.3f Arc=%0.3f"
+msgstr "Кривая Безье: длина=%s мин. радиус=%s"
+
+#: ../bin/track.c:2332 ../bin/track.c:2390 ../bin/tstraigh.c:568
+#, c-format
+msgid "Straight: Length=%s Angle=%0.3f"
+msgstr "Прямой: Длина=%s Угол=%0.3f"
+
+#: ../bin/trknote.c:60
+#, fuzzy
+msgid "Comment"
+msgstr "Содержание"
+
+#: ../bin/trknote.c:61
+#, fuzzy
+msgid "Link"
+msgstr "Прямая"
+
+#: ../bin/trknote.c:61 ../../../../build/work/app/bin/bllnhlp.c:103
+msgid "Weblink"
+msgstr ""
+
+#: ../bin/trknote.c:638 ../../../../build/work/app/bin/bllnhlp.c:111
+msgid "Place a note on the layout"
+msgstr "Поместить заметку на рабочую область"
+
+#: ../bin/trknote.c:652
+msgid "New Note"
+msgstr "Новая заметка"
+
+#: ../bin/trknote.c:708
+#, fuzzy
+msgid "Add notes"
+msgstr "Добавлен новый"
+
+#: ../bin/tstraigh.c:236
+#, c-format
+msgid ""
+"Straight Track(%d): Layer=%d Length=%s EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A"
+"%0.3f]"
+msgstr ""
+"Прямой трек(%d): Слой=%d Длина=%s EP=[%0.3f,%0.3f A%0.3f] [%0.3f,%0.3f A%"
+"0.3f]"
+
+#: ../bin/tstraigh.c:481
+msgid "Extending Straight Track"
+msgstr "Расширение прямого трека"
+
+#: ../bin/tstraigh.c:561
+msgid "Straight "
+msgstr "Прямая "
+
+#: ../wlib/gtklib/filesel.c:94
+#, fuzzy
+msgid "Save format:"
+msgstr "Сохранить изображение"
+
+#: ../wlib/gtklib/filesel.c:187
+#, fuzzy
+msgid "Image files"
+msgstr "Все файлы"
+
+#: ../wlib/gtklib/font.c:281
+msgid "Font Select"
+msgstr "Выбор шрифта"
+
+#: ../wlib/gtklib/help.c:83 ../wlib/mswlib/mswmisc.c:2240
+msgid "&Contents"
+msgstr "&Содержание"
+
+#: ../wlib/gtklib/help.c:84
+msgid "Co&mmand Context help"
+msgstr ""
+
+#: ../wlib/gtklib/ixhelp.c:243
+msgid "Home"
+msgstr "Домой"
+
+#: ../wlib/gtklib/ixhelp.c:247
+msgid "Contents"
+msgstr "Содержание"
+
+#: ../wlib/gtklib/menu.c:541
+msgid "<Empty List>"
+msgstr "Список последних файлов пуст"
+
+#: ../wlib/gtklib/notice.c:101 ../wlib/mswlib/mswmisc.c:2100
+#: ../wlib/mswlib/mswmisc.c:2143
+msgid "Warning"
+msgstr "Предупреждение"
+
+#: ../wlib/gtklib/notice.c:106 ../wlib/mswlib/mswmisc.c:2105
+msgid "Error"
+msgstr "Ошибка"
+
+#: ../wlib/gtklib/text.c:300
+#, c-format
+msgid "%d of %d"
+msgstr "%d из %d"
+
+#: ../wlib/gtklib/wpref.c:114
+#, c-format
+msgid ""
+"The required configuration files could not be located in the expected "
+"location.\n"
+"\n"
+"Usually this is an installation problem. Make sure that these files are "
+"installed in either \n"
+" %s/share/xtrkcad or\n"
+" /usr/lib/%s or\n"
+" /usr/local/lib/%s\n"
+"If this is not possible, the environment variable %s must contain the name "
+"of the correct directory."
+msgstr ""
+
+#: ../wlib/gtklib/wpref.c:148 ../wlib/gtklib/wpref.c:193
+msgid "HOME is not set"
+msgstr "Папка HOME не задана"
+
+#: ../wlib/gtklib/wpref.c:148 ../wlib/gtklib/wpref.c:157
+#: ../wlib/gtklib/wpref.c:193
+msgid "Exit"
+msgstr "Выход"
+
+#: ../wlib/gtklib/wpref.c:156
+#, c-format
+msgid "Cannot create %s"
+msgstr "Невозможно создать %s"
+
+#: ../wlib/mswlib/backgnd.c:103
+msgid "Image file is invalid or cannot be read."
+msgstr ""
+
+#: ../wlib/mswlib/mswmenu.c:886
+msgid "Ctrl+"
+msgstr "Ctrl+"
+
+#: ../wlib/mswlib/mswmenu.c:891
+msgid "Alt+"
+msgstr "Alt+"
+
+#: ../wlib/mswlib/mswmenu.c:896
+msgid "Shift+"
+msgstr "Shift+"
+
+#: ../wlib/mswlib/mswmenu.c:902
+msgid "Space"
+msgstr "Пробел"
+
+#: ../wlib/mswlib/mswmisc.c:188
+#, fuzzy
+msgid "All image files"
+msgstr "Все файлы"
+
+#: ../wlib/mswlib/mswmisc.c:190
+msgid "GIF files (*.gif)"
+msgstr ""
+
+#: ../wlib/mswlib/mswmisc.c:192
+msgid "JPEG files (*.jpeg,*.jpg)"
+msgstr ""
+
+#: ../wlib/mswlib/mswmisc.c:194
+msgid "PNG files (*.png)"
+msgstr ""
+
+#: ../wlib/mswlib/mswmisc.c:196
+msgid "TIFF files (*.tiff, *.tif)"
+msgstr ""
+
+#: ../wlib/mswlib/mswmisc.c:198
+#, fuzzy
+msgid "All files (*)"
+msgstr "Все файлы"
+
+#: ../wlib/mswlib/mswmisc.c:2241
+msgid "&Search for Help on..."
+msgstr ""
+
+#: ../wlib/mswlib/mswmisc.c:2242
+msgid "Co&mmand Context Help"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:9
+#, c-format
+msgid ""
+"MSG_CANT_PLACE_FROGPOINTS\tFrog|Points cannot be placed on a turnout, circle "
+"or helix.\tA %s cannot be placed on a turnout, circle or helix."
+msgstr ""
+"MSG_CANT_PLACE_FROGPOINTS\tFrog|Points cannot be placed on a turnout, circle "
+"or helix.\t%s не может быть помещена на стрелку, круг или спираль."
+
+#: ../../../../build/work/app/help/messages.h:10
+msgid ""
+"MSG_SEL_TRK_FROZEN\tA frozen layer contains selected track. Command cannot "
+"be executed."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:11
+msgid "MSG_HELIX_TURNS_GTR_0\tA Helix must have one or more loops of track."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:12
+msgid ""
+"MSG_LARGE_FONT\tA large font has been selected....\tA large font has been "
+"selected.\n"
+"Large fonts may a take a while to load.\n"
+"\n"
+"Do you wish to continue?"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:13
+msgid ""
+"MSG_TODSGN_DESC_NONBLANK\tAll description fields present in the Turnout..."
+"\tAll description fields present in the Turnout\n"
+"Designer must contain appropriate information.\n"
+"Correct inappropriate values and try again."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:14
+msgid ""
+"MSG_GROUP_NONBLANK\tAll fields listed in the Group dialog must contain "
+"data....\tAll fields listed in the Group dialog must contain data.\n"
+"Please enter missing values and try again."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:15
+msgid ""
+"MSG_TODSGN_VALUES_GTR_0\tAll values specified in the Turnout Designer must "
+"be...\tAll values specified in the Turnout Designer must be\n"
+"greater than 0. Correct inappropriate values and try again."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:16
+msgid "MSG_CURVE_OUT_OF_RANGE\tAngle must be between 0\\u00B0 and 360\\u00B0."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:17
+msgid ""
+"MSG_TODSGN_CORNU_TOO_COMPLEX\tThe curves created by the Turnout Designer for "
+"a cornu curve have more than 128 segments....\tThe curves created by the "
+"Turnout Designer for a cornu curve have more than 128 segments.\n"
+"Try adjusting the end angles and radii to be closer in values."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:18
+#, c-format
+msgid ""
+"MSG_CUSTMGM_DELETE_CONFIRM\tAre you sure you want to delete the NNN "
+"definition(s)?\tAre you sure you want to delete the\n"
+"%d definition(s)?"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:19
+msgid "MSG_WBITMAP_FAILED\tBitmap create or write function failed."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:20
+msgid "MSG_BITMAP_TOO_LARGE\tBitmap is too large."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:21
+msgid "MSG_CHANGE_ELEV_MODE\tCannot change elevation mode."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:22
+msgid ""
+"MSG_GRID_ENABLE_SPACE_GTR_0\tCannot Enable Grid; spacing must be greater "
+"than 0"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:23
+msgid "MSG_LAYER_FREEZE\tCannot freeze current layer"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:24
+msgid ""
+"MSG_CANT_GROUP_BUMPER1\tCannot Group Bumper Track. The track has been "
+"unselected."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:25
+msgid "MSG_CANNOT_GROUP_TRACK\tCannot Group selected track."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:26
+msgid "MSG_LAYER_HIDE\tCannot hide current layer"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:27
+msgid "MSG_LAYER_MODULE\tCannot turn current layer into a Module"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:28
+msgid "MSG_JOIN_EASEMENTS\tCannot Join; Easements do not align or abut."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:29
+#, c-format
+msgid ""
+"MSG_TRK_ALREADY_CONN\tFirst|Second track is already connected.\tCannot Join; "
+"%s track is already connected."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:30
+msgid "MSG_JOIN_TURNTABLE\tCannot join from a turntable, try to a turntable"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:31
+msgid "MSG_JOIN_CORNU_SAME\tCannot Join; Selected endpoints are on same track."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:32
+msgid "MSG_JOIN_SAME\tCannot Join; Selected endpoints are on same track."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:33
+msgid ""
+"MSG_SELECTED_TRACKS_PARALLEL\tCannot Join; Selected tracks are parallel."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:34
+#, c-format
+msgid ""
+"MSG_PRMFIL_OPEN_NEW\tCannot open New Parameter File: FILENAME\tCannot open "
+"New Parameter File: %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:35
+msgid "MSG_LAYER_SEL_FROZEN\tCannot select a frozen layer"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:36
+msgid ""
+"MSG_GRID_SHOW_SPACE_GTR_0\tCannot Show Grid; spacing must be greater than 0"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:37
+#, c-format
+msgid "MSG_CANT_SPLIT_TRK\tCannot split TYPE track\tCannot split %s track"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:38
+#, c-format
+msgid ""
+"MSG_CUSTMGM_CANT_WRITE\tCannot write to parameter file: FILENAME\tCannot "
+"write to parameter file: %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:39
+msgid "MSG_CARIMP_DUP_INDEX\tCar Index number duplicated."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:40
+msgid ""
+"MSG_CONN_PARAMS_TOO_SMALL\tConnection parameters reset to minimum values."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:41
+msgid "MSG_CONN_PARAMS_TOO_BIG\tConnection parameters reset to maximum values."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:42
+msgid "MSG_CANT_PASTE\tCopy/Paste buffer is empty. There is nothing to Paste."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:43
+msgid ""
+"MSG_TODSGN_CROSSOVER_TOO_SHORT\tCrossover length is too short. Correct..."
+"\tCrossover length is too short. Correct\n"
+"inappropriate value(s) and try again."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:44
+msgid "MSG_CURVE_TOO_LARGE\tCurved track is too large."
+msgstr "MSG_CURVE_TOO_LARGE\tИзогнутый трек слишком большой."
+
+#: ../../../../build/work/app/help/messages.h:45
+msgid ""
+"MSG_TODSGN_REPLACE\tDefinition name is already in use. Saving this..."
+"\tDefinition name is already in use. Saving this\n"
+"definition replaces the existing definition.\n"
+"\n"
+"Do you want to continue?"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:46
+msgid "MSG_SAVE_CHANGES\tDo you want to save the changes made to your Layout?"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:47
+msgid ""
+"MSG_CARIMP_DUP_COLUMNS\tDuplicate column headers found in Car Import file."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:48
+msgid "MSG_EP_ON_PATH\tEndpoint already on Path."
+msgstr "MSG_EP_ON_PATH\tКонечная точка уже на пути."
+
+#: ../../../../build/work/app/help/messages.h:49
+#, c-format
+msgid ""
+"MSG_UPGRADE_VERSION1\tFile version %ld is greater than supported...\tFile "
+"version %ld is greater than supported\n"
+"version %d. You need to upgrade %s\n"
+"to at least version %s."
+msgstr ""
+"MSG_UPGRADE_VERSION1\tВерсия файла %ld выше чем поддерживается...\tВерсия "
+"файла %ld выше чем поддерживается\n"
+"версия %d. Вам необходимо обновить %s\n"
+"до последней версии %s."
+
+#: ../../../../build/work/app/help/messages.h:50
+#, c-format
+msgid ""
+"MSG_UPGRADE_VERSION2\tFile version %ld is greater than supported...\tFile "
+"version %ld is greater than supported\n"
+"version %d. You need to upgrade your\n"
+"version of %s"
+msgstr ""
+"MSG_UPGRADE_VERSION2\tВерсия файла %ld выше, чем поддерживается...\tВерсия "
+"файла %ld выше чем поддерживается\n"
+"версия %d. Вам необходимо обновить вашу\n"
+"версию %s"
+
+#: ../../../../build/work/app/help/messages.h:51
+#, c-format
+msgid ""
+"MSG_LAYOUT_LINES_SKIPPED\tWhile processing Layout file %s, %d lines were "
+"skipped because they were not recognized."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:52
+#, fuzzy, c-format
+msgid ""
+"MSG_PARAM_UPGRADE_VERSION1\tFile version %ld is greater than supported..."
+"\tFile version %ld is greater than supported\n"
+"version %d. You need to upgrade %s\n"
+"to at least version %s."
+msgstr ""
+"MSG_UPGRADE_VERSION1\tВерсия файла %ld выше чем поддерживается...\tВерсия "
+"файла %ld выше чем поддерживается\n"
+"версия %d. Вам необходимо обновить %s\n"
+"до последней версии %s."
+
+#: ../../../../build/work/app/help/messages.h:53
+#, fuzzy, c-format
+msgid ""
+"MSG_PARAM_UPGRADE_VERSION2\tFile version %ld is greater than supported..."
+"\tFile version %ld is greater than supported\n"
+"version %d. You need to upgrade your\n"
+"version of %s"
+msgstr ""
+"MSG_UPGRADE_VERSION2\tВерсия файла %ld выше, чем поддерживается...\tВерсия "
+"файла %ld выше чем поддерживается\n"
+"версия %d. Вам необходимо обновить вашу\n"
+"версию %s"
+
+#: ../../../../build/work/app/help/messages.h:54
+#, c-format
+msgid ""
+"MSG_PARAM_LINES_SKIPPED\tWhile processing Parameter file %s, %d lines were "
+"skipped because they were not recognized."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:55
+msgid ""
+"MSG_MOVE_POINTS_OTHER_SIDE\tFrog angle prevents placement of points. Move "
+"points to opposite side of frog."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:56
+msgid "MSG_NO_ROOM_BTW_TRKS\tInsufficient space between existing stall tracks."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:57
+#, c-format
+msgid ""
+"MSG_JOIN_DIFFER_ELEV\tJoining tracks with differing elevations (N.NNN)"
+"\tJoining tracks with differing elevations (%0.2f)"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:58
+msgid "MSG_TRK_DESC_NOT_VISIBLE\tLabel description is hidden"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:59
+msgid "MSG_DESC_NOT_VISIBLE\tLabel descriptions not visible"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:60
+msgid "MSG_OBJECT_TOO_SHORT\tLength of object is too short."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:61
+#, c-format
+msgid ""
+"MSG_PRINT_MAX_SIZE\tMaximum allowed page size is W x H\tMaximum allowed page "
+"size is %s x %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:62
+msgid ""
+"MSG_NO_PRINTER_SELECTED\tPlease select a printer from the Print Setup dialog."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:63
+#, c-format
+msgid ""
+"MSG_PRMFIL_NO_CONTENTS\tNew Parameter File has no CONTENTS line: FILENAME."
+"\tNew Parameter File has no CONTENTS line: %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:64
+msgid ""
+"MSG_NO_CARS\tNo Cars are defined for the current scale....\tNo Cars are "
+"defined for the current scale.\n"
+"\n"
+"Do you want to use the Car Inventory dialog?"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:65
+msgid ""
+"MSG_NO_CARPROTO\tNo Car Prototypes are defined....\tNo Car Prototypes are "
+"defined.\n"
+"Load a Prototype definition file using the\n"
+"Parameter Files dialog or create a Prototype\n"
+"definition using the Car Prototype dialog."
+msgstr ""
+"MSG_NO_CARPROTO\tНеопределено ниодного типа вагона....\tНеопределено "
+"ниодного типа вагона.\n"
+"Загрузите типы вагонов из файла через Файл->Файлы параметров\n"
+"Parameter Files dialog or create a Prototype\n"
+"definition using the Car Prototype dialog."
+
+#: ../../../../build/work/app/help/messages.h:66
+msgid "MSG_CARIMP_NO_DATA\tNo data present in Car Import file."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:67
+msgid "MSG_PRINT_NO_PAGES\tNo pages selected for printing."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:68
+msgid "MSG_NO_PATH_TO_EP\tNo path between Profile and selected endpoint."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:69
+#, c-format
+msgid ""
+"MSG_PRMFIL_NO_MAP\tNo Parameter File Map for CONTENTS\tNo Parameter File Map "
+"for %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:70
+msgid "MSG_NO_SELECTED_TRK\tNo track(s) selected!"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:71
+msgid ""
+"MSG_NO_EMPTY_LAYER\tNo layer was found that has no contents, so the module "
+"can not be imported"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:72
+#, c-format
+msgid ""
+"MSG_NO_TURNOUTS_AVAILABLE\tNo Turnouts|Structures are available.\tNo %s are "
+"available."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:73
+msgid ""
+"MSG_CARDESC_VALUE_ZERO\tNumeric values on the Car Description...\tNumeric "
+"values on the Car Description\n"
+"dialog must be greater than 0."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:74
+msgid "MSG_MOVE_OUT_OF_BOUNDS\tObject has moved beyond room boundaries."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:75
+msgid ""
+"MSG_PARALLEL_SEP_GTR_0\tParallel separation must be greater than 0, or the "
+"new guage must be different than the old."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:76
+msgid ""
+"MSG_CARPART_DUPNAME\tPart Number for this Manufacturer already exists...."
+"\tPart Number for this Manufacturer already exists.\n"
+"\n"
+"Do you want to update it?"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:77
+#, c-format
+msgid ""
+"MSG_PLAYBACK_LISTENTRY\tPlayback: Cannot find list entry: NAME\tPlayback: "
+"Cannot find list entry: %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:78
+#, c-format
+msgid ""
+"MSG_PLAYBACK_VERSION_UPGRADE\tPlayback file version %ld is...\tPlayback file "
+"version %ld is\n"
+"greater than supported version %d\n"
+"You need to upgrade your version of %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:79
+#, c-format
+msgid ""
+"MSG_DOMOUSE_BAD_OP\tPlayback: unknown action NNN\tPlayback: unknown action %d"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:80
+msgid "MSG_MOVE_POINTS_AWAY_CLOSE\tPoints are to close to frog; move away."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:81
+msgid "MSG_POLY_SHAPES_3_SIDES\tPoly shapes must have at least 3 sides."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:82
+msgid "MSG_POLY_MULTIPLE_SELECTED\tCan't delete multiple points at once"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:83
+msgid ""
+"MSG_CARPROTO_DUPNAME\tPrototype name already exists....\tPrototype name "
+"already exists.\n"
+"\n"
+"Do you want to update it?"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:84
+msgid "MSG_RADIUS_GTR_0\tRadius must be greater than 0."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:85
+msgid "MSG_RADIUS_GTR_10000\tRadius must be less than 10000."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:86
+msgid ""
+"MSG_RADIUS_TOO_BIG\tThe Circle or Helix will not fit within the layouts room "
+"parameters (Height and Width)."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:87
+#, c-format
+msgid ""
+"MSG_RESCALE_TOO_BIG\tRescaled tracks do not fit within layouts room "
+"parameters...\tRescaled tracks do not fit within layouts room parameters\n"
+"(Height and width). The layouts room parameters should be\n"
+"set to at least %s by %s."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:88
+msgid ""
+"MSG_CARIMP_MISSING_COLUMNS\tRequired column headers missing from Car Import "
+"file."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:89
+#, c-format
+msgid ""
+"MSG_2ND_TRK_NOT_SEL_UNSEL\tSecond track must be selected|unselected\tSecond "
+"track must be %s."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:90
+msgid "MSG_OUT_OF_BOUNDS\tSelected page is out of bounds."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:91
+msgid "MSG_SEL_POS_FIRST\tSelect position prior to entering Text."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:92
+msgid ""
+"MSG_CARPROTO_BADSEGS\tSelected shapes must define a rectangular area ..."
+"\tSelected shapes must define a rectangular\n"
+"area with length greater than height."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:93
+msgid ""
+"MSG_TOO_FAR_APART_DIVERGE\tSelected tracks deviate too much or are too far "
+"apart from each other."
+msgstr ""
+"Выбранные треки слишком сильно отклоняются или находятся слишком далеко друг "
+"от друга."
+
+#: ../../../../build/work/app/help/messages.h:94
+msgid "MSG_COMMAND_DISABLED\tSpecified command disabled."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:95
+msgid "MSG_SPLIT_POS_BTW_MERGEPTS\tSplit position between Turnout Points"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:96
+msgid "MSG_SPLIT_PATH_NOT_UNIQUE\tSplit position not on unique path"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:97
+#, c-format
+msgid ""
+"MSG_CARIMP_MISSING_DIMS\tThe following car has no dimensions and a...\tThe "
+"following car has no dimensions and a\n"
+"Car Part description can not be found.\n"
+"\n"
+"%s\n"
+"\n"
+"Do you wish to continue importing other Cars?"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:98
+#, c-format
+msgid ""
+"MSG_CARIMP_MISSING_PARTNO\tThe following car has no Part Number...\tThe "
+"following car has no Part Number\n"
+"\n"
+"%s\n"
+"\n"
+"Do you wish to continue importing other Cars?"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:99
+#, c-format
+msgid ""
+"MSG_CARIMP_IGNORED_COLUMN\tThe following column in the Car Import file will "
+"be ignored:...\tThe following column in the Car Import file will be "
+"ignored:\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:100
+msgid ""
+"MSG_CANT_MOVE_UNDER_TRAIN\tThe position of a turnout or turntable cannot be "
+"changed while occupied by a train."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:101
+msgid ""
+"MSG_STRUCT_NO_STRUCTS\tThere are no structures to choose from in the "
+"structure...\tThere are no structures to choose from in the structure\n"
+"selection list. Please check your SCALE, select the\n"
+"<File|Parameter Files> menu to load a Parameter File or\n"
+"create a new Structure with the Group command."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:102
+msgid ""
+"MSG_TURNOUT_NO_TURNOUT\tThere are no turnouts to choose from in the "
+"turnout...\tThere are no turnouts to choose from in the turnout\n"
+"selection list. Please check your SCALE, select the\n"
+"<Manage|Turnout Designer> menu to enter a new turnout\n"
+"or select the <File|Parameter Files> menu to load a\n"
+"Parameter File"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:103
+msgid "MSG_NO_UNCONN_EP\tThere are no unconnected end points for this track"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:104
+msgid "MSG_PULL_FEW_SECTIONS\tThere are too few sections in this loop."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:105
+msgid "MSG_NO_REDO\tThere is nothing to redo!"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:106
+msgid "MSG_NO_UNDO\tThere is nothing to undo!"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:107
+msgid "MSG_TOOMANYSEGSINGROUP\tToo many segments in Group."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:108
+msgid "MSG_CANNOT_CHANGE\tTrack cannot be changed."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:109
+msgid "MSG_POINT_INSIDE_TURNTABLE\tTrack endpoint is within turntable radius."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:110
+msgid ""
+"MSG_MOVE_POINTS_AWAY_NO_INTERSECTION\tTrack intersection not possible; move "
+"points away from frog."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:111
+#, c-format
+msgid ""
+"MSG_TRK_TOO_SHORT\tTrack is too short by N.NNN\t%strack is too short by %0.3f"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:112
+#, c-format
+msgid ""
+"MSG_RADIUS_LSS_EASE_MIN\tTrack radius (N.NNN) is smaller than easement "
+"minimum (N.NNN).\tTrack radius (%s) is smaller than easement minimum (%s)."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:113
+msgid ""
+"MSG_CANT_MODIFY_FROZEN_TRK\tTracks in a frozen layer cannot be modified."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:114
+msgid "MSG_CANT_MODIFY_MODULE_TRK\tTracks in a module cannot be modified."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:115
+msgid ""
+"MSG_SEGMENTS_DIFFER\tTurnout definition contains non-track segments...."
+"\tTurnout definition contains non-track segments.\n"
+"\n"
+"Do you want to include them in this update?"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:116
+msgid "MSG_TURNTABLE_DIAM_GTR_0\tTurntable diameter must greater than 0."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:117
+#, c-format
+msgid ""
+"MSG_UNDO_ASSERT\tUndo assertion failure %s:%d...\tUndo assertion failure %s:%"
+"d\n"
+"Val = %ld(%lx)\n"
+"%s\n"
+"Please report this error to the XTrackCAD project development team at "
+"SourceForge."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:118
+#, c-format
+msgid ""
+"MSG_PROG_CORRUPTED\tCritical file damaged!...\tCritical file damaged!\n"
+"\n"
+"%s is corrupt.\n"
+"\n"
+"Please reinstall software."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:119
+#, c-format
+msgid ""
+"MSG_ENTERED_STRING_TRUNCATED\tThe entered text is too long. Maximum length "
+"is %d."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:120
+#, c-format
+msgid "MSG_PT_IS_NOT_TRK\t[X Y] is not a track\t[%s %s] is not a track."
+msgstr "MSG_PT_IS_NOT_TRK\t[X Y] это не трек\t[%s %s] это не трек."
+
+#: ../../../../build/work/app/help/messages.h:121
+msgid ""
+"MSG_BITMAP_SIZE_WARNING\tYou have specified a large Bitmap....\tYou have "
+"specified a large Bitmap.\n"
+"\n"
+"Are you sure you want to continue?"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:122
+#, c-format
+msgid "Are you sure you want to delete these %d car(s)?"
+msgstr "Вы уверены, что хотите удалить %d этих машин?"
+
+#: ../../../../build/work/app/help/messages.h:123
+#, c-format
+msgid ""
+"Cannot open %s file:\n"
+"%s:%s"
+msgstr ""
+"Невозможно открыть файл %s:\n"
+"%s:%s"
+
+#: ../../../../build/work/app/help/messages.h:124
+#, fuzzy, c-format
+msgid "Cannot create directory: %s - %s"
+msgstr "Невозможно создать %s"
+
+#: ../../../../build/work/app/help/messages.h:125
+#, fuzzy, c-format
+msgid "Cannot open directory: %s"
+msgstr ""
+"Невозможно открыть файл %s:\n"
+"%s:%s"
+
+#: ../../../../build/work/app/help/messages.h:126
+#, c-format
+msgid "Path for deletion is not a directory: %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:127
+#, c-format
+msgid "Open failed for directory: %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:128
+#, c-format
+msgid "Can't add directory record %s to zip - %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:129
+#, c-format
+msgid "Can't add file record %s to zip at %s - %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:130
+#, fuzzy, c-format
+msgid "Can't create zip %s - %s"
+msgstr "Невозможно создать %s"
+
+#: ../../../../build/work/app/help/messages.h:131
+#, c-format
+msgid "Close failure for zip %s - %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:132
+#, c-format
+msgid "Rename failure for zip from %s to %s - %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:133
+#, c-format
+msgid "Open failure for zip %s - %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:134
+#, c-format
+msgid "Index failure for zip %s - %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:135
+#, c-format
+msgid "Open read file failure %s %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:136
+#, c-format
+msgid "Open file in zip failure %s %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:137
+#, c-format
+msgid "Unlink failed for: %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:138
+#, c-format
+msgid "Remove Directory failed for: %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:139
+#, c-format
+msgid "Cannot save archive to %s from directory: %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:140
+#, c-format
+msgid "Cannot save manifest file to %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:141
+#, fuzzy, c-format
+msgid "Cannot open manifest file %s"
+msgstr ""
+"Невозможно открыть файл %s:\n"
+"%s:%s"
+
+#: ../../../../build/work/app/help/messages.h:142
+#, c-format
+msgid "Cannot unpack file: %s for file: %s in directory: %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:143
+#, fuzzy, c-format
+msgid "Cannot open file %s"
+msgstr ""
+"Невозможно открыть файл %s:\n"
+"%s:%s"
+
+#: ../../../../build/work/app/help/messages.h:144
+#, c-format
+msgid "Cannot copy file %s into directory %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:145
+#, c-format
+msgid "Unrecognized Option: %s"
+msgstr "Нераспознанная опция: %s"
+
+#: ../../../../build/work/app/help/messages.h:146
+#, c-format
+msgid ""
+"End-Of-Line is unexpected in a quoted field.\n"
+"%s\n"
+"\n"
+"Do you want to continue reading the file?"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:147
+#, c-format
+msgid ""
+"A comma was expected after this quoted field.\n"
+"%s\n"
+"\n"
+"Do you want to continue reading the file?"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:148
+#, c-format
+msgid ""
+"Error \\\\\"%s\\\\\" occurred while writing %s.\n"
+"Please check disk space and system status."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:149
+#, c-format
+msgid ""
+"At least one path for the Turnout T%d does not\n"
+"terminate on an endpoint. Such a track cannot be grouped.\n"
+"The track has been unselected."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:150
+msgid "inv-pathEndTrk on Path."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:151
+msgid "inv-pathStartTrk on Path"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:152
+#, c-format
+msgid "%s:%d- %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:153
+msgid "pathEndTrk not on Path."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:154
+msgid "pathStartTrk not on Path."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:155
+msgid ""
+"The tracks cannot be connected together.\n"
+"\n"
+"Try changing some tracks for a closer fit\n"
+"or increase the Connection Angle value on\n"
+"the Preferences dialog."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:156
+msgid ""
+"The tracks cannot be connected together.\n"
+"\n"
+"Try changing some tracks for a closer fit\n"
+"or increase the Connection Distance and\n"
+"Angle values on the Preferences dialog"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:157
+msgid ""
+"The tracks cannot be connected together.\n"
+"\n"
+"Try changing some tracks for a closer fit\n"
+"or increase the Connection Distance"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:158
+msgid ""
+"The first track for the Align\n"
+"Rotate command must be Selected."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:159
+msgid ""
+"The second track for the Align\n"
+"Rotate command must be Unselected."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:160
+msgid "Too many selected tracks, drawing tracks as End Point."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:161
+msgid "Select an endpoint between two tracks."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:162
+msgid ""
+"According to values that have been entered the diverging\n"
+"track does not connect with the tangent track. Please\n"
+"check the values entered and try again. Check the angle\n"
+"is entered as a frog number or in degrees as specified\n"
+"by Angle Mode radio buttons."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:163
+msgid "Moved before the end of the turnout"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:164
+msgid ""
+"The Coupled Length must be greater than the Car Length,\n"
+"and the Coupler Length must be greater than 0."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:165
+msgid ""
+"The Car Length value must be greater\n"
+"than the Car Width value."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:166
+msgid ""
+"The specified Index is already in use.\n"
+"The Index will be updated to the next available value."
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:167
+msgid ""
+"You have changed values for this object.\n"
+"\n"
+"Are you sure you want to Close?"
+msgstr ""
+"Имеются несохранённые изменения этого объекта.\n"
+"\n"
+"Вы уверены, что хотите закрыть?"
+
+#: ../../../../build/work/app/help/messages.h:168
+#, c-format
+msgid ""
+"File version %ld is lower than the minimum\n"
+"supported version %d. You need to update your\n"
+"layout file using an older version of %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:169
+#, c-format
+msgid ""
+"File version %ld is lower than the minimum\n"
+"supported version %d.This parameter file will only work using an older "
+"version of %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:170
+#, c-format
+msgid ""
+"%s cannot read the demo file:\n"
+"%s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:171
+#, c-format
+msgid "doDemo: bad number (%d)"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:172
+msgid "Playback TIMEEND without TIMESTART"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:173
+#, c-format
+msgid ""
+"Unknown playback command (%d)\n"
+"%s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:174
+#, c-format
+msgid ""
+"Playback file version %ld is lower than the\n"
+"minimum supported version %d.\n"
+"You need to update your layout file using an\n"
+"older version of %s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:175
+#, c-format
+msgid "Scale index (%d) is not valid"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:176
+#, c-format
+msgid ""
+"Scale %s is not valid\n"
+"Please check your %s.xtq file"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:177
+msgid "Cannot extend a helix"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:178
+msgid "Cannot trim a helix"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:179
+msgid "Ignore further audit notices?"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:180
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:181
+msgid "Audit Abort?"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:182
+msgid "Write Audit File?"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:183
+#, c-format
+msgid "checkTrackLength: Short track length = %0.3f"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:184
+#, c-format
+msgid "checkTrackLength: unknown type: %d"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:185
+#, c-format
+msgid "connectTracks: T%d[%d] T%d[%d] d=%0.3f a=%0.3f"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:186
+#, c-format
+msgid "GetAngleAtPoint: bad type(%d) for T(%d)"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:187
+#, c-format
+msgid "joinTracks: invalid track type=%d"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:188
+#, c-format
+msgid "resolveIndex: T%d[%d]: T%d doesn\\\\'t exist"
+msgstr ""
+
+#: ../../../../build/work/app/help/messages.h:189
+msgid "Moved beyond the end of the track"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:9
+#, fuzzy
+msgid "Invokes online help for this dialog"
+msgstr "Вызывает online помощь по этому окну"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:10
+msgid "Cancels this command"
+msgstr "Отменить эту команду"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:11
+msgid "Closes the dialog"
+msgstr "Закрыть окно"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:12
+#, fuzzy
+msgid "About program dialog"
+msgstr "О программе"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:13
+#, fuzzy
+msgid "Move selected object to top"
+msgstr "Переместить выбранные объекты наверх"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:14
+#, fuzzy
+msgid "Raise or lower all selected tracks"
+msgstr "Поднять или опустить все выбранные треки"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:15
+#, fuzzy
+msgid "Show a protractor"
+msgstr "Добавить линейку"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:16
+msgid "Turn magnetic snap on or off"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:18
+#, fuzzy
+msgid "Move selected object to bottom"
+msgstr "Переместить выбранные объекты вниз"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:19
+msgid "Create a section of track for automation"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:20
+#, fuzzy
+msgid "Edit a block definition "
+msgstr "Редактировать блок %d"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:21
+msgid "Create a new Car/Loco description"
+msgstr "Создать новое описание машины"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:22
+msgid "Manage your Car and Loco Inventory"
+msgstr "Управлять вашими машинами"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:23
+msgid "Create track circle from center"
+msgstr "Добавить круговой трек от центра"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:24
+msgid "Create fixed radius track circle"
+msgstr "Добавить круговой трек по радиусу"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:25
+msgid "Set Circle Track creation mode"
+msgstr "Выбрать тип круговых треков"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:26
+msgid "Create track circle from tangent"
+msgstr "Добавить круговой трек по касательной"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:27
+msgid "Removes elevation from Selected tracks"
+msgstr "Убрать высоту у выбранных треков"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:28
+msgid "Copy objects to clipboard and duplicate them in exactly the same place"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:29
+msgid "Command Options dialog"
+msgstr "Окно команд"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:30
+msgid "Controls colors"
+msgstr "Цвета элементов управления"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:31
+msgid "Connect two tracks"
+msgstr "Соединить два трека"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:32
+msgid "Create a control for layout automation"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:33
+#, fuzzy
+msgid "Select control element to create"
+msgstr "Выберите второй конец для соединения"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:34
+msgid "Manage control elements"
+msgstr "Изменить элементы управления"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:35
+#, fuzzy
+msgid "Set Convert mode"
+msgstr "Выбрать тип изогнутых треков"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:36
+msgid "Convert from Fixed Track to Cornu"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:37
+msgid "Convert from Cornu and Bezier to Fixed Track"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:38
+msgid "Copy selected objects to clipboard"
+msgstr "Скопировать выбранные объекты в буфер обмена"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:39
+#, fuzzy
+msgid "Create Cornu track"
+msgstr "Добавить изогнутый трек"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:40
+msgid "Create curved track from center"
+msgstr "Добавить изогнутый трек от центра"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:41
+msgid "Create curved track from chord"
+msgstr "Добавить изогнутый трек по хорде"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:42
+msgid "Create curved track from end-point"
+msgstr "Добавить изогнутый трек от конечной точки"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:43
+msgid "Create Bezier track"
+msgstr "Добавить трек Безье"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:44
+msgid "Set Curve Track creation mode"
+msgstr "Выбрать тип изогнутых треков"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:45
+msgid "Create curved track from tangent"
+msgstr "Добавить изогнутый трек по касательной"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:46
+msgid "Manipulate Custom designer entries"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:47
+msgid "Moves selected objects to clipboard"
+msgstr "Переместить выбранные треки в буфер обмена"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:48
+msgid "Delete objects"
+msgstr "Удалить объекты"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:49
+msgid "Playback demos"
+msgstr "Воспроизведение демонстраций"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:50
+msgid "Change Object Properties"
+msgstr "Изменить свойства объекта"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:51
+#, fuzzy
+msgid "Change to properties mode"
+msgstr "Изменить свойства объекта"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:52
+msgid "Deselect all selected objects"
+msgstr "Убрать выделение со всех объектов"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:53
+msgid "Change Display parameters"
+msgstr "Изменить параметры отображения"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:54
+msgid "Create benchwork"
+msgstr "Создать доску"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:55
+msgid "Create a box"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:56
+msgid "Set Circle drawing command"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:57
+msgid "Create a circle"
+msgstr "Добавить окружность"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:58
+msgid "Draw a circle line from center"
+msgstr "Нарисовать окружность к центру"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:59
+msgid "Draw a fixed radius circle line"
+msgstr "Нарисовать фиксированный радиус окружности"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:60
+msgid "Draw a circle line from tangent"
+msgstr "Нарисовать окружность к краю"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:61
+msgid "Set Curve drawing command"
+msgstr "Установить команду рисования Кривой"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:62
+msgid "Create a curved line"
+msgstr "Создать кривую линию"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:63
+msgid "Create a curved line from End"
+msgstr "Создать кривую линию от касательной"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:64
+msgid "Create a curved line from center"
+msgstr "Создать кривую линию от центра"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:65
+msgid "Create a curved line from chord"
+msgstr "Создать кривую линию по хорде"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:66
+msgid "Create a curved line from tangent"
+msgstr "Создать кривую линию от края"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:67
+msgid "Create a Bezier line"
+msgstr "Создать кривую Безье"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:68
+msgid "Create a dimension line"
+msgstr "Создать выноску с размером"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:69
+msgid "Create a filled box"
+msgstr "Создать закрашенный прямоугольник"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:70
+msgid "Create a filled circle"
+msgstr "Создать закрашенный круг"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:71
+msgid "Draw a filled circle from center"
+msgstr "Нарисовать закрашенный круг к центру"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:72
+msgid "Draw a fixed radius filled circle"
+msgstr "Нарисовать закрашенный круг с заданным радиусом"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:73
+msgid "Draw a filled circle from tangent"
+msgstr "Нарисовать закрашенный круг к краю"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:74
+#, fuzzy
+msgid "Create a polygon"
+msgstr "Создать полилинию"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:75
+msgid "Create a filled polygon"
+msgstr "Создать закрашенный многоугольник"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:76
+msgid "Create a polyline"
+msgstr "Создать полилинию"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:77
+msgid "Create a straight line"
+msgstr "Создать прямую линию"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:78
+msgid "Set Line drawing command"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:79
+msgid "Set Shape drawing command"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:80
+msgid "Draw table edge"
+msgstr "Рисовать край стола"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:81
+msgid "Easement menu"
+msgstr "Меню упрощений"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:83
+msgid "Generate a Parts List of selected objects"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:84
+msgid "Set Import/Export mode"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:85
+msgid "Export a .xti file"
+msgstr "Экспортировать в .xti файл"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:86
+msgid "Export a DXF file"
+msgstr "Экспортировать в DXF файл"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:88
+msgid "Flip selected objects"
+msgstr "Развернуть выбранные объекты"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:89
+msgid "Adjust snap grid"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:90
+msgid "Enable snap grid"
+msgstr "Прилипать к сетке"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:91
+msgid "Show snap grid"
+msgstr "Показать сетку"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:92
+msgid "Create a structure from a Group of objects"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:93
+msgid "Create a hand-laid turnout"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:94
+msgid "Create a track helix"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:95
+msgid "Import a .xti file"
+msgstr "Ипортировать .xti файл"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:96
+#, fuzzy
+msgid "Import an .xti file as a Module"
+msgstr "Ипортировать .xti файл"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:97
+msgid "Join two tracks"
+msgstr "Соединить два трека"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:98
+msgid "Join two lines or polylines"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:99
+msgid "Set Join mode"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:100
+msgid "Change Layers"
+msgstr "Изменить слои"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:101
+msgid "Selects the current drawing layer"
+msgstr "Выбрать текущий слой"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:102
+msgid "Layout parameters"
+msgstr "Параметры проекта"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:104
+msgid "Show/Hide Map Window"
+msgstr "Показать/Спрятать окно миникарты"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:105
+#, fuzzy
+msgid "Select Measurement Tool"
+msgstr "Сохранить текущий слой"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:106
+msgid "Modify or extend a track"
+msgstr "Изменить или расширить трек"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:107
+msgid "Change To modify mode"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:108
+msgid "Move selected objects"
+msgstr "Двигать выбранные объекты"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:109
+msgid "Move a label"
+msgstr "Переместить подпись"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:110
+msgid "Move selected objects to current layer"
+msgstr "Переместить выбранные объекты на текущий слой"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:112
+#, fuzzy
+msgid "Print a bitmap"
+msgstr "Печать изображения"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:113
+#, fuzzy
+msgid "Pan or zoom the layout"
+msgstr "Перемещение или масштабирование"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:114
+msgid "Change to zoom/pan mode"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:115
+msgid "Create a parallel track"
+msgstr "Добавить параллельный трек"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:116
+#, fuzzy
+msgid "Create a parallel line"
+msgstr "Добавить параллельный трек"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:117
+#, fuzzy
+msgid "Set Parallel mode"
+msgstr "Параллель"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:118
+msgid "Register"
+msgstr "Регистрация"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:119
+msgid "Copy objects from clipboard"
+msgstr "Скопировать объекты из буфера обмена"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:120
+msgid "Perferences dialog"
+msgstr "Окно свойств"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:121
+msgid "Display prices of turnouts, sectional tracks and structures"
+msgstr "Показать цены стрелок, составных треков и структур"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:122
+msgid "Print the layout"
+msgstr "Напечатать слой"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:123
+#, fuzzy
+msgid "Loads and unloads parameter files into/from toolbar"
+msgstr "Загрузить или выгрузить файлы параметров"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:124
+msgid "Elevation Profile Command"
+msgstr "Команды профиля высоты"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:126
+msgid "Command recorder"
+msgstr "Запись команд"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:128
+msgid "Update selected Turnout and Structure definitions"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:129
+msgid "Rescale selected objects"
+msgstr "Изменить масштаб выбранных объектов"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:130
+msgid "Rotate selected object(s)"
+msgstr "Повернуть выбранные объекты"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:131
+msgid "Show a ruler"
+msgstr "Добавить линейку"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:132
+msgid "Select objects"
+msgstr "Выбрать объекты"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:133
+#, fuzzy
+msgid "Change To Select Mode"
+msgstr "Изменить масштаб"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:134
+msgid "Selects all objects on the layout"
+msgstr "Выбрать все объекты на этом слое"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:135
+msgid "Selects all objects in the current Layer"
+msgstr "Выбрать все объекты на текущем слое"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:136
+msgid "Invert current selection"
+msgstr "Инвертировать выделение"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:137
+msgid "Set Split mode"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:138
+msgid "Split a track"
+msgstr "Разделить трек"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:139
+msgid "Split an open ended Draw Object (or circle)"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:140
+msgid "Select stranded (unconnected) track pieces"
+msgstr "Выбрать проблемные (несоединённые) части треков"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:141
+msgid "Create a sensor (ie. a occupancy detector or a toggle switch)"
+msgstr "Создать сенсор (т.е. детектор движения или переключатель)"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:142
+msgid "Create a signal for train control"
+msgstr "Добавить сигнал для управления поездом"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:143
+msgid "Choose which commands are sticky"
+msgstr "Выберите какие команды будут прилипать"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:144
+msgid "Create straight track"
+msgstr "Добавить прямой трек"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:145
+msgid "Place a structure on the layout"
+msgstr "Разместить структуру на слое"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:146
+msgid "Create a switchmotor for turnout control"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:147
+msgid "Edit a switchmotor definition"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:148
+msgid "Enter text on the layout"
+msgstr "Написать текст на рабочую область"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:149
+#: ../../../../build/work/app/bin/bllnhlp.c:536
+msgid "Controls the size of the entered text"
+msgstr "Устанавливает размер вводимого текста"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:150
+msgid "Plain Text"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:151
+msgid "Tip of the Day window"
+msgstr "Совет дня"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:152
+msgid "Run Trains"
+msgstr "Запустить поезда"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:153
+msgid "Change To Run Trains Mode"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:154
+msgid "Pause/Resume Trains"
+msgstr "Остановить/Запустить поезда"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:155
+msgid "Place a car on the layout"
+msgstr "Добавить машину на слой"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:156
+msgid "Exit Trains"
+msgstr "Выйти из поездов"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:157
+msgid "Hide/Unhide a track"
+msgstr "Спрятать/Показать треки"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:158
+msgid "Make/Unmake a track a bridge"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:159
+msgid "Place a turnout or sectional track"
+msgstr "Разместить стрелку или составной трек"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:160
+msgid "Create a new turnout definition"
+msgstr "Создать новую стрелку"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:161
+msgid "Place a turntable"
+msgstr "Установить разворотный рельс"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:162
+msgid "Updates old source files with 3 part titles"
+msgstr "Обновить старые файлы тремя новыми заголовками"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:164
+msgid "Ungroup objects"
+msgstr "Разгруппировать объекты"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:165
+msgid "Draw tracks with thin lines"
+msgstr "Рисовать треки тонкими линиями"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:166
+msgid "Draw tracks with medium lines"
+msgstr "Рисовать треки средними линиями"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:167
+msgid "Draw tracks with thick lines"
+msgstr "Рисовать треки толстыми линиями"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:168
+msgid "Change drawing scale"
+msgstr "Изменить масштаб рисования"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:169
+#: ../../../../build/work/app/bin/bllnhlp.c:181
+msgid "Zoom in"
+msgstr "Приблизить"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:170
+#: ../../../../build/work/app/bin/bllnhlp.c:182
+msgid "Zoom out"
+msgstr "Отдалить"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:171
+msgid "File Menu"
+msgstr "Файл"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:172
+msgid "Save layout"
+msgstr "Сохранить проект"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:173
+msgid "Save layout under a new name "
+msgstr "Сохранить проект под другим именем "
+
+#: ../../../../build/work/app/bin/bllnhlp.c:174
+msgid "New layout"
+msgstr "Новый проект"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:175
+msgid "Generate parts list"
+msgstr "Создать список компонентов"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:176
+msgid "Load a layout"
+msgstr "Загрузить проект"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:177
+msgid "Exit the program"
+msgstr "Выйти из программы"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:178
+msgid "Revert to last saved state of layout plan"
+msgstr "Сбросить всё до последнего сохранённого состояния"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:179
+msgid "Edit menu"
+msgstr "Правка"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:180
+msgid "Redraw layout"
+msgstr "Перерисовать слой"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:183
+#: ../../../../build/work/app/bin/bllnhlp.c:186
+msgid "Tools menu"
+msgstr "Меню Инструменты"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:184
+msgid "View menu"
+msgstr "Меню Вид"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:185
+msgid "Toolbar configuration"
+msgstr "Настройки тулбара"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:187
+msgid "Options menu"
+msgstr "Меню Опций"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:188
+msgid "Playback/Record commands"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:189
+msgid "Window menu"
+msgstr "Меню Окна"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:190
+msgid "Help menu"
+msgstr "Меню Помощь"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:191
+msgid "Recent error messages and explanations"
+msgstr "Последние сообщения об ошибках и объяснения"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:192
+msgid "Move Hot Bar left"
+msgstr "Переместить панель подсказок влево"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:193
+msgid "Move Hot Bar right"
+msgstr "Переместить панель подсказок вправо"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:194
+msgid "Total track count"
+msgstr "Общее кол-во треков"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:195
+msgid "X Position of cursor"
+msgstr "X координата курсора"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:196
+msgid "Y Position of cursor"
+msgstr "Y координата курсора"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:197
+msgid "Drawing scale"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:198
+msgid "Message and status line"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:199
+#: ../../../../build/work/app/bin/bllnhlp.c:200
+msgid "Main layout canvas"
+msgstr "Главный слой"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:201
+msgid "Main drawing canvas"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:202
+msgid "Command buttons"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:203
+msgid "Menus"
+msgstr "Меню"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:204
+msgid "Tile, Filename and Window Manager buttons"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:205
+msgid "Turnout and Structure Hot Bar"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:206
+msgid "Active layer list and layer buttons"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:207
+msgid "Map window"
+msgstr "Окно миникарты"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:208
+msgid "This is the portion of the layout shown in the Main Window canvas"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:209
+msgid "Raise or Lower all Selected Track"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:210
+msgid "Name of block"
+msgstr "Имя блока"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:211
+msgid "Script that the block will run"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:212
+msgid "List of tracks in the Block"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:213
+msgid "Add or Update car object"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:214
+msgid "Manufacturer name"
+msgstr "Название производителя"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:217
+msgid "Is the Car a Locomotive?"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:218
+msgid "Part Number and Description"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:219
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:220
+msgid "Use the Selected figure as the car image"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:221
+msgid "Use the default figure as the car image"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:222
+msgid "Optional description of the Car Part"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:223
+msgid "Flip car image"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:224
+msgid "Display Car Item information or reporting marks and dimensions"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:225
+msgid "Full Roadname"
+msgstr "Полное имя пути"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:226
+#: ../../../../build/work/app/bin/bllnhlp.c:227
+msgid "Car Type"
+msgstr "Тип вагона"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:228
+msgid "Reporting Marks (Roadname abbreviation)"
+msgstr "Метки отчёта (аббревиатура пути)"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:229
+#: ../../../../build/work/app/bin/bllnhlp.c:416
+msgid "Car Number"
+msgstr "Номер вагона"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:230
+msgid "Car body Color"
+msgstr "Цвет вагона"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:231
+msgid "Length of car body"
+msgstr "Длина вагона"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:232
+msgid "Width of car body"
+msgstr "Ширина вагона"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:233
+msgid "Distance between Trucks "
+msgstr "Расстояние между колёсами "
+
+#: ../../../../build/work/app/bin/bllnhlp.c:234
+msgid "Distance Trucks are displaced along Car"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:235
+msgid "Coupler are mounted on body or truck"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:236
+msgid "Overall Coupled Length"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:237
+msgid "Coupler Length from end of car"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:238
+msgid "Diagram of Car"
+msgstr "Схема вагона"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:239
+msgid "Item Index Number"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:240
+msgid "Original Purchase Price"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:242
+msgid "Condition of car"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:243
+msgid "Original Purchase Date"
+msgstr "Дата покупки"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:244
+msgid "Last Service Date"
+msgstr "Дата последнего обслуживания"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:245
+msgid "Number of identical cars to be entered"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:246
+msgid "Do all the cars have the same Number?"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:247
+msgid "Notes about the car"
+msgstr "Заметки об этом вагоне"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:248
+#: ../../../../build/work/app/bin/bllnhlp.c:249
+msgid "Create a new car Part or Prototype definitions"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:250
+msgid "Finds the selected Car Item on the layout"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:251
+#: ../../../../build/work/app/bin/bllnhlp.c:252
+#: ../../../../build/work/app/bin/bllnhlp.c:253
+#: ../../../../build/work/app/bin/bllnhlp.c:254
+msgid "Sort the Item list"
+msgstr "Сортировать список"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:256
+msgid "Edit the selected Car Item"
+msgstr "Изменить выбранные машины"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:257
+msgid "Add a new Car Item"
+msgstr "Добавить новую машину"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:258
+msgid "Delete the selected Car Items"
+msgstr "Удалить выбранные машины"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:259
+msgid "Import a Car Item .csv file"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:260
+msgid "Export a Car Item .csv file"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:261
+msgid "Create a text list of the Car Items"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:262
+msgid "Specifies the radius of the circle track"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:263
+msgid "Default command is Describe or Select"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:264
+msgid "Action to invoke on Right-Click"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:265
+msgid ""
+"Replace current selection with clicked object or add clicked object to "
+"selection"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:266
+msgid "Clicking into an empty area clears selection if select mode is <add>"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:268
+msgid "The list of control elements"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:269
+msgid "Edit the element"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:270
+msgid "Delete the element"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:271
+msgid "Contents Label for new Parameter file"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:272
+msgid "List of custom designed turnouts and structures"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:273
+msgid "Invoke designer editor"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:274
+msgid "Remove selected entries"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:275
+msgid "Copy selected entries to Parameter File"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:276
+msgid "Create a New part or prototype"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:277
+msgid "Update custom file and close"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:278
+msgid "Executes the next step of the demo"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:279
+msgid "Skip to next demo"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:280
+msgid "Stops the demonstration and returns you to XTrackCAD"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:281
+msgid "Select speed of Playback"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:282
+msgid "This is where comments about the demo are displayed"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:319
+msgid "Move the Main canvas if you drag near the edge"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:320
+msgid "Color tracks by layer or individually"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:321
+#, fuzzy
+msgid "Color draw objects by layer or individually"
+msgstr "Выделение цветом треков или других объектов на слое"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:322
+msgid "Controls the drawing of hidden tracks"
+msgstr "Отображение скрытых треков"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:323
+msgid "Controls the drawing of End-Points"
+msgstr "Отображение конечных точек"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:324
+msgid "How to draw track ties"
+msgstr "Как рисовать шпалы"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:325
+msgid "Show crosshair at center of curves"
+msgstr "Показывать перекрестие в центрах кривых"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:326
+msgid "Drawing scale when to draw tracks with 2 rails"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:327
+msgid "Drawing scale of the map window"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:328
+msgid "Whether the main layout is updated while dragging on the Map"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:329
+msgid "Enable labels for Turnouts, Flextrack Lengths and Elevations"
+msgstr "Отображать надписи для стрелок, гибких треков и подъемов"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:330
+msgid "When to label Turnout, Flextrack Lengths and Elevations"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:331
+msgid "Font size for labels on layout"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:332
+msgid "Label elements on the Hot Bar"
+msgstr "Подписи элементов в панели быстрых команд"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:333
+msgid "Label elements on layout"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:334
+msgid "Label elements for lists"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:335
+msgid "How to group cars on the Train Hot Bar"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:336
+msgid "Delay (in mS) between updating train movements"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:337
+msgid "Don't show trains in tunnels when tunnels are hidden"
+msgstr "Не показывать поезда в тоннелях, когда они скрыты"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:338
+msgid "Display unconnected endpoints of track with special marks"
+msgstr "Отображение несоединённых концов трека в виде специальных значков"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:339
+msgid "Whether the Main Drawing Area shows as much of the room as possible"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:341
+msgid "Width of the lines"
+msgstr "Ширина этой линий"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:342
+msgid "Color of the lines"
+msgstr "Цвет этой линий"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:343
+msgid "List of types of Lumber"
+msgstr "Список типов древесины"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:344
+msgid "Color of Benchwork"
+msgstr "Цвет доски"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:345
+msgid "Orientation of Benchwork"
+msgstr "Ориентация доски"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:346
+msgid "Size of Dimension Arrows"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:347
+msgid "This controls the sharpness of the easement curve"
+msgstr "Это значение контролирует остроту упрощённой кривой"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:348
+msgid "Minimum radius"
+msgstr "Минимальный радиус"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:349
+msgid "Maximum offset"
+msgstr "Максимальное смещение"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:350
+msgid "Easement length"
+msgstr "Длина упрощения"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:351
+msgid ""
+"These radio buttons are a short-cut for Values of 0.0, 0.5, 1.0 and 2.0. "
+"None turns Easements off"
+msgstr ""
+"Эти радиокнопки подставляют шаблоны для значений 0.0, 0.5, 1.0 и 2.0. Нет - "
+"выключает упрощения"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:352
+msgid "Complete easement selection"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:353
+msgid "Type of elevation"
+msgstr "Тип высоты"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:354
+msgid "Height of End Point"
+msgstr "Высота конечной точки"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:355
+msgid "Compute elevation based on neighbors"
+msgstr "Вычислить высоту по соседям"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:356
+msgid "Compute grade based on neighbors"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:357
+msgid "Specify a name for an End-Point"
+msgstr "Укажите имя конечной точки"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:359
+msgid "Print parts list"
+msgstr "Печатать список частей"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:360
+#: ../../../../build/work/app/bin/bllnhlp.c:471
+#: ../../../../build/work/app/bin/bllnhlp.c:580
+msgid "Invoke the Print Setup dialog"
+msgstr "Открыть диалог настроек печати"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:361
+msgid "Save parts list to file"
+msgstr "Сохранить список компонентов в файл"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:362
+msgid "This is the list of parts for the layout"
+msgstr "Это список компонентов для проекта"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:363
+msgid "Enable prices on the Parts List"
+msgstr "Добавить цены в списке компонентов"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:364
+#: ../../../../build/work/app/bin/bllnhlp.c:367
+msgid "Spacing between major grid lines"
+msgstr "Расстояние между главными линиями сетки"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:365
+#: ../../../../build/work/app/bin/bllnhlp.c:368
+msgid "Allows the spacing to be subdivided"
+msgstr "Дополнительная разбивка сетки"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:366
+#: ../../../../build/work/app/bin/bllnhlp.c:369
+msgid "Specifies if positions are snaped in this direction"
+msgstr "Включите, чтобы курсор прилипал к сетке"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:370
+#: ../../../../build/work/app/bin/bllnhlp.c:371
+#: ../../../../build/work/app/bin/bllnhlp.c:372
+msgid "Shows the origin and angle of the grid"
+msgstr "Отступы и угол поворота сетки"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:373
+msgid "Specifies if the grid is shown"
+msgstr "Включите, чтобы отображать сетку"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:374
+msgid "Completes the grid specification"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:378
+msgid "Number of segments in Group"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:379
+msgid "Replace the Selected object with the new definition?"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:380
+msgid "Creates a new Structure (or Turnout)"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:381
+msgid "Elevation difference of Helix End-Points"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:382
+msgid "Helix Radius"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:383
+msgid "Number of turns in the helix"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:384
+msgid "Angle betweek helix entrance and exit"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:385
+msgid "Grade in helix"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:386
+msgid "Separation between helix layers"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:387
+#, fuzzy
+msgid "Desired curve radius between straight tracks"
+msgstr "Добавить прямой трек"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:388
+msgid "Layer list"
+msgstr "Список слоёв"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:389
+msgid "Layer Name"
+msgstr "Название слоя"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:390
+msgid "Color of layer"
+msgstr "Цвет слоя"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:391
+msgid "Layer is drawn on Main window"
+msgstr "Слой отрисовывается в главном окне"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:392
+msgid "Layer cannot be changed"
+msgstr "Слой не может быть изменён"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:393
+msgid "Layer is drawn on Map window"
+msgstr "Слой отрисовывается на миникарте"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:394
+msgid "Number of layer buttons to show"
+msgstr "Кол-во кнопок слоёв в меню"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:395
+msgid "Number of objects in this layer"
+msgstr "Кол-во объектов в этом слое"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:397
+msgid "Load layer configuration from default"
+msgstr "Загрузить настройки слоя из основных"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:398
+msgid "Save current layer configuration as default"
+msgstr "Сохранить текущие настройки слоя как основные"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:399
+msgid "Overwrite layer configuration with system default values"
+msgstr "Перезаписать настроки слоя системными значениями по-умолчанию"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:400
+#: ../../../../build/work/app/bin/bllnhlp.c:401
+msgid "Specifies the size of the room (in inches or centimeters)"
+msgstr "Определяет размер комнаты (в дюймах или сантиметрах)"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:402
+msgid "Specifies the layout Title that will appear on printouts"
+msgstr "Определяет заголовок слоя, который будет виден при печати"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:403
+msgid "Specifies the layout Subtitle that will appear on printouts"
+msgstr "Определяет подзаголовок слоя, который будет виден при печати"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:404
+msgid "Specifies the Modelling Scale"
+msgstr "Определяет масштаб модели"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:405
+msgid "Specifies the rail gauge, ie. the distance between the rails"
+msgstr "Определяет ширину колеи, т.е. расстояние между рельсами"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:406
+msgid ""
+"Specifies minimum track radius (in inches or centimeters). Tracks with a "
+"smaller radius are considered exceptional."
+msgstr ""
+"Определяет минимальную кривизну трека(в дюймах или сантиметрах). Треки с "
+"меньшим радиусом исключаются."
+
+#: ../../../../build/work/app/bin/bllnhlp.c:407
+msgid ""
+"Specifies maximum track elevation expressed as a percent (%). Tracks with a "
+"larger elevation are considered exceptional."
+msgstr ""
+"Определяет максимальный подъем трека в процентах (%). Треки с большим "
+"подъемом исключаются."
+
+#: ../../../../build/work/app/bin/bllnhlp.c:408
+#, fuzzy
+msgid "Select the background image"
+msgstr "Выбрать текущий слой"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:409
+msgid "Remove the background image"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:410
+#, fuzzy
+msgid "Specifies the x offset of the bottom left of the background image"
+msgstr "Определяет размер комнаты (в дюймах или сантиметрах)"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:411
+#, fuzzy
+msgid "Specifies the y offset of the bottom left of the background image"
+msgstr "Определяет размер комнаты (в дюймах или сантиметрах)"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:412
+msgid ""
+"Specifies how large the bottom edge of the background image should be in "
+"model units"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:413
+msgid ""
+"Specifies the screening of the background image from 0 (none) to 100% "
+"(vanishes)"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:414
+#, fuzzy
+msgid "Specifies the rotation angle of the background image in degrees"
+msgstr "Определяет ширину колеи, т.е. расстояние между рельсами"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:417
+msgid ""
+"This is the body of the Note. To change this select Modify from the File "
+"Menu"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:419
+msgid "Specifies number of pixels per inch (or centimeter)"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:421
+msgid ""
+"Specifies whether Layout Titles, Borders or Track Centerlines are printed on "
+"the BitMap"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:422
+msgid ""
+"Specifies the separation between the original track and the parallel track/"
+"line"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:423
+msgid ""
+"Specifies the a factor that increases the seperation as the radius of the "
+"original track reduces. 0.0 means no increase."
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:424
+msgid "Enter your name as specified in the XTrackCAD Registration Notice"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:425
+msgid "Enter the key value as specified in the XTrackCAD Registration Notice"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:426
+msgid "Validates the name and key. Terminates the registration command"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:427
+msgid "0ᅵ is up or to the right"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:428
+msgid "Choose english (inches) or metric (centimeters)"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:429
+msgid "How to display length measurements"
+msgstr "Как отображать единицы измерения"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:430
+msgid "Do not create tracks to be shorter than this value"
+msgstr "Не создавать треки короче этого значения"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:431
+msgid "Maximum distance between connected end points"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:432
+msgid "Minimum angle between connected End-Points"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:433
+msgid "Specifies the minimum angle between tracks connected to a turntable"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:434
+msgid "Trains will crash above this speed"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:435
+msgid "Enable/Disable balloon popup help windows"
+msgstr "Включить или выключить всплывающую подсказку"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:436
+msgid "Enable/Disable show of flextrack on hotbar"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:437
+msgid "How far you can move the mouse before its considered a drag"
+msgstr "Как далеко вы должны передвинуть мышь, чтобы начать перетаскивание"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:438
+msgid "How long you can hold a mouse button down before its considered a drag"
+msgstr "Как долго вы должны держать кнопку мыши, чтобы начать перетаскивание"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:439
+msgid "Minimum distance (in pixels) between grid lines/ticks"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:440
+msgid ""
+"Specifies the Check Point frequency; number of modifications made since the "
+"last checkpoint."
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:441
+msgid "Specifies the number of checkpoints after save before auto-saving."
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:442
+msgid "Resume work on last layout or start with new layout"
+msgstr "Возобновить работу последнего проекта или начать с чистого листа"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:444
+msgid "Updated cost of current selected item"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:446
+msgid "Selection list for prices"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:447
+#: ../../../../build/work/app/bin/bllnhlp.c:448
+#: ../../../../build/work/app/bin/bllnhlp.c:449
+msgid "Price of specified length of flex-track"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:451
+msgid "Controls the printing of a centerline of track cmdPrint"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:452
+msgid "Controls the reduction (scale) of the printout"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:453
+msgid "Scaled page width (Scale times physical page width)"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:454
+msgid "Sets page size to the maximum (based on scale and physical page size)"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:455
+msgid "Scaled page height (Scale times physical page height)"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:456
+msgid "Sets scale, origin and angle for a one page printout of the layout"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:457
+msgid "Print page in Portrait or Landscape format"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:458
+msgid "Order of printing pages"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:459
+msgid "Print Title, Date, Author and other information at bottom of page?"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:460
+msgid "Ignore unprintable page margins?"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:461
+msgid "Print Registration Marks at 1:1?"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:462
+msgid "Print Snap Grid?"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:463
+msgid "Print Rulers on all page edges?"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:464
+msgid "Print Roadbed Outline?"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:465
+msgid "Print Roadbed Outline"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:466
+#: ../../../../build/work/app/bin/bllnhlp.c:467
+#: ../../../../build/work/app/bin/bllnhlp.c:469
+msgid ""
+"Origin of the print grid. This is useful if you want to reprint a set of "
+"pages"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:468
+msgid "Resets the origin and angle to 0"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:470
+msgid "Deselects all pages"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:472
+msgid "Print selected pages and terminates the print command"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:473
+#, fuzzy
+msgid "List of loaded, shown or hidden parameter files"
+msgstr "Загрузить или выгрузить файлы параметров"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:474
+msgid "Show parameter files by names or descriptions"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:475
+msgid "Toggle the shown status of the selected parameter file"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:476
+msgid "Find extra parameter files from the filesystem"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:477
+msgid "Find parameter files from the system library"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:478
+msgid "Update parameter file list"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:479
+#, fuzzy
+msgid "Reload parameter file from list"
+msgstr "Чтение файлов с параметрами"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:480
+msgid "Select all parameter files shown"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:481
+msgid "Profile of specified path"
+msgstr "Профиль выбранного пути"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:482
+msgid "Clear the profile"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:483
+msgid "Print the profile"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:485
+msgid "Stop recording"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:486
+msgid "Insert a message"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:487
+msgid "End a message"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:488
+msgid "Message body"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:489
+msgid "Possible turnouts"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:490
+msgid "Skip this turnout"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:492
+msgid "Manufacturer of Object"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:493
+msgid "Description of Object"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:494
+msgid "Part Nuber of Object"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:496
+msgid "Rescale by Scale Conversion or by Ratio"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:497
+msgid "Original Scale of the selected objects"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:498
+msgid "Original Gauge of the selected objects"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:499
+msgid "New Scale of the selected objects"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:500
+msgid "New Gauge of the selected objects"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:501
+msgid "Change track dimensions to new scale"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:502
+msgid "Change size by this amount"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:504
+msgid "Snap Grid Line and Division"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:505
+msgid "X and Y position markers"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:506
+msgid "Border rulers, room boundaries and table edges"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:507
+msgid "Primary Axis of grid rotation"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:508
+msgid "Secondary Axis of grid rotation"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:509
+msgid "Unselected tracks"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:510
+msgid "Selected tracks"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:511
+msgid "Color of tracks on the Profile path"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:512
+msgid "Color of Exceptional tracks"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:513
+msgid "Color of track ties"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:514
+msgid "Updates the colors"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:515
+msgid "Angle in degrees"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:516
+msgid "Rotate object(s) by specified amount"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:517
+msgid "Enter one or more words as search terms '*' means all"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:518
+#, fuzzy
+msgid "Find matching file descriptions"
+msgstr "Выберите и переместите подпись"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:519
+msgid "Search Results"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:520
+msgid "Show Descriptions or FileNames in results"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:521
+msgid "Add selected entries into parameter file list"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:522
+#, fuzzy
+msgid "Select All found entries"
+msgstr "Выберите второй трек"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:523
+msgid "Reload the system library contents for finding"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:524
+msgid "Choose commands to be sticky"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:525
+msgid "Make the commands sticky"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:526
+msgid "List of available structure"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:527
+msgid "Diagram of the selected structure"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:528
+msgid "Hide Selection window when placing Structure"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:529
+msgid "Drawing scale and size"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:530
+msgid "Complete structure placement"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:531
+msgid "Choose a Pier number"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:532
+msgid "Name of the Motor"
+msgstr "Название поезда"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:533
+msgid "Value when switch is normal"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:534
+msgid "Value when the switch is reversed"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:535
+msgid "Value for a positive comfirmation of switch position"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:537
+msgid "Useful information about the program"
+msgstr "Полезная информация о программе"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:538
+msgid "Show Tip of the Day every time the program starts"
+msgstr "Показывать совет дня каждый раз при запуске программы"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:539
+msgid "Show the next Tip of the Day"
+msgstr "Показать следующий совет дня"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:540
+msgid "Show the previous Tip of the Day"
+msgstr "Показать предыдущий совет дня"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:542
+msgid "Controls which Command Buttons are displayed"
+msgstr "Показать или спрятать панель"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:543
+msgid "List of Cars"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:544
+msgid "List of active trains"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:546
+msgid "Train odometer"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:547
+msgid "Reset odometer to 0"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:548
+msgid "Find train on layout"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:549
+msgid "Follow train around layout"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:550
+msgid "Flip direction at End Of Track"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:551
+msgid "Change direction of train"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:552
+msgid "Stop the train"
+msgstr "Остановить поезд"
+
+#: ../../../../build/work/app/bin/bllnhlp.c:553
+msgid "List of available turnouts for the current scale"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:554
+msgid ""
+"Diagram of the currently selected turnout. Click on a End-Point to select "
+"the Active End-Point"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:555
+msgid ""
+"A menu list of various type of turnouts and sectional tracks you can define"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:556
+msgid "Hide Selection window when placing Turnout"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:557
+msgid "The selected Active End-Point"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:558
+msgid "Current selected turnout, (displayed in the diagram window)"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:559
+msgid "One the End-Points that can be selected"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:561
+#: ../../../../build/work/app/bin/bllnhlp.c:562
+msgid "Angle of the specified track to the center line of the turnout"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:563
+msgid "Specifies if angles are entered as Frog Numbers or in degrees"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:564
+#: ../../../../build/work/app/bin/bllnhlp.c:565
+msgid "Desciption"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:566
+msgid "Turnout description (Manuf., Size, Part Number, etc)"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:567
+#: ../../../../build/work/app/bin/bllnhlp.c:568
+#: ../../../../build/work/app/bin/bllnhlp.c:569
+msgid "Length from the base to the end of the specified track"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:571
+#: ../../../../build/work/app/bin/bllnhlp.c:572
+msgid "Offset of the track End-Point from the center line of the turnout"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:575
+#: ../../../../build/work/app/bin/bllnhlp.c:576
+msgid "Prints a full size diagram of the turnout for checking"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:577
+msgid "Color of Roadbed lines"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:578
+msgid "Width of Roadbed lines"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:579
+msgid "Width of Roadbed"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:581
+msgid "Closes the window and returns to the Turnout Selection window"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:582
+msgid "Specifies the diameter of the turntable"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:583
+msgid "Old Turnout title"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:584
+msgid "List of available titles"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:585
+msgid "Leave the Turnouts' title unchanged"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:586
+msgid "Invoke the Parameter Files dialog"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:587
+msgid "List of available turnouts"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:588
+msgid "Update the Turnouts' title"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:592
+msgid "Sample"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:594
+msgid "Slant"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:595
+msgid "Font selection dialog"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:596
+msgid "Weight"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:597
+msgid "Printer Abort Window"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:598
+msgid "Print to filename"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:599
+msgid "Specify Postscript font alias mapping"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:600
+msgid ""
+"Displays the Print Setup window to change printers, orientation, paper size, "
+"etc."
+msgstr ""
+"Открыть оно настроек печати для выбора принтера, ориентации страницы, бумаги "
+"и др."
+
+#: ../../../../build/work/app/bin/bllnhlp.c:601
+msgid "Closes this dialog"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:602
+msgid "Page orientation"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:603
+msgid "Unprintable margins"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:604
+msgid "Updates and closes this dialog"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:605
+msgid "Choose paper size"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:606
+msgid "Choose printer"
+msgstr ""
+
+#: ../../../../build/work/app/bin/bllnhlp.c:607
+msgid "Print test page"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:1
+#: ../../../../build/work/app/i18n/custmsg.h:8
+msgid ""
+"XTrackCAD provides demonstrations on most of the program's features. The "
+"demos can be run by clicking on the Help menu on the Main window and then "
+"selecting Demos."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:3
+#: ../../../../build/work/app/i18n/custmsg.h:10
+msgid ""
+"The notation \"Menu|Item\" is used in the documentation (and the on-line "
+"demos and tips) to indicate the selection of a menu item.\n"
+"For example, \"File|Open\" means to open the menu by clicking on File on the "
+"menu bar of the Main window and then selecting the Open item from that menu."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:6
+#: ../../../../build/work/app/i18n/custmsg.h:12
+msgid ""
+"Set your modeling scale on the \"Options|Layout\" dialog. This controls the "
+"Turnouts and Structures that are available, Easement values and track gauge."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:8
+#: ../../../../build/work/app/i18n/custmsg.h:14
+msgid ""
+"A number of example layouts are provided. These files can be accessed by "
+"\"Help|Examples\"."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:10
+#: ../../../../build/work/app/i18n/custmsg.h:16
+#, fuzzy
+msgid ""
+"When installed, the length units are set based on your contry: inches for "
+"United States or Canada and centimeters elsewhere. You can change this on "
+"the \"Options|Preferences\" dialog by choosing between Metric and English."
+msgstr ""
+"После первой установки программа измеряет все расстояния в дюймах. Вы можете "
+"изменить это в разделе меню \"Настройки/Предпочтения\" поменяв систему на "
+"метрическую."
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:12
+#: ../../../../build/work/app/i18n/custmsg.h:18
+msgid ""
+"You can change the overall size of your layout on the \"Options|Layout\" "
+"dialog."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:14
+#: ../../../../build/work/app/i18n/custmsg.h:20
+msgid ""
+"When installed, the default command is the Select command. You might want to "
+"change this to the Decribe command. You can do this on the \"Options|"
+"Command Options\" dialog."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:16
+#: ../../../../build/work/app/i18n/custmsg.h:22
+msgid ""
+"When Selecting tracks, the connection between Selected and Unselected tracks "
+"is marked by a Red X. This indicates points where the connection between "
+"tracks will be broken if you Move or Rotate the Selected tracks."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:18
+#: ../../../../build/work/app/i18n/custmsg.h:24
+msgid ""
+"You can change orientation of the pages on the Print command by moving or "
+"rotating the Print Grid.\n"
+"Shift-Left-Drag moves the grid and Shift-Right-Drag rotates the grid."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:21
+#: ../../../../build/work/app/i18n/custmsg.h:26
+msgid ""
+"You can add track to any unconnected End-Point with the Modify command.\n"
+"Hold down the Shift key and click on the End-Point and drag away to create a "
+"new track segment attached to the End-Point.\n"
+"Repeat with the new End-Point to create flowing tracks."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:25
+#: ../../../../build/work/app/i18n/custmsg.h:28
+msgid ""
+"You can create curved tracks in four ways by dragging from:\n"
+" the 1st endpoint in the direction of the curve\n"
+" center of the curve to the 1st endpoint\n"
+" endpoint to the center\n"
+" the 1st to 2nd endpoint\n"
+"Then drag on one of the Red arrows to create the final shape of the curve.\n"
+"\n"
+"You can click on the small button to the right of the Curve command button "
+"to change the method."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:34
+#: ../../../../build/work/app/i18n/custmsg.h:30
+msgid ""
+"When creating a straight or a curved track by dragging from the 1st End "
+"Point, you can snap the new track to an existing open end point by holding "
+"down Shift while you click.\n"
+"The new track will be joined to the old when you create it."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:37
+#: ../../../../build/work/app/i18n/custmsg.h:32
+msgid ""
+"Track Circles provide a quick way to see what arrangement of tracks will fit "
+"in your layout spaces. Create Circles with your typical radius and place "
+"them in corners and other locations where your main-line will make changes "
+"of direction. This will give you an overall idea of how your layout will "
+"look.\n"
+"\n"
+"You can create Circles by:\n"
+" using a fixed radius\n"
+" dragging from the Center to edge\n"
+" dragging from an edge to the Center\n"
+"You can click on the small button to the left of the Circle command button "
+"to change the method."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:45
+#: ../../../../build/work/app/i18n/custmsg.h:34
+msgid ""
+"Easements (spiral transition curves) are used when track changes from "
+"straight to curved by gradually changing the radius. This improves "
+"operation and appearance.\n"
+"Easements are created with Joining or Extending Tracks.\n"
+"The Easement dialog is used to control easements."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:49
+#: ../../../../build/work/app/i18n/custmsg.h:36
+msgid ""
+"\"Help|Recent Messages\" shows the last error and warning messages that were "
+"generated by the program. Also an explanation of each message is displayed."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:51
+#: ../../../../build/work/app/i18n/custmsg.h:38
+msgid ""
+"When creating stall tracks for a turntable, you usually want the the stall "
+"tracks to be spaced evenly.\n"
+"The \"Turntable Angle\" item on \"Options|Preferences\" dialog can be used "
+"specify the minimum angle between stall tracks."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:54
+#: ../../../../build/work/app/i18n/custmsg.h:40
+msgid ""
+"XTrackCAD periodically saves the current layout in a check point file. The "
+"'Check Point' item on the 'Options|Preferences' dialog controls how often "
+"the file is saved.\n"
+"You can recover your working file after a system crash by copying the "
+"checkpoint file (xtrkcad.ckp in the XTrackCAD Working directory) to file.xtc"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:57
+#: ../../../../build/work/app/i18n/custmsg.h:42
+msgid ""
+"The Parallel command is helpful to layout yards and sidings. If the "
+"Parallel track abuts with an existing track, it is automatically connected."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:59
+#: ../../../../build/work/app/i18n/custmsg.h:44
+msgid ""
+"You can use Shift-Drag in Select command to move and rotate selected "
+"tracks.\n"
+"Shift-Left-Drag moves tracks and Shift-Right-Drag rotates them.\n"
+"Control-Left-Drag can move labels."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:63
+#: ../../../../build/work/app/i18n/custmsg.h:46
+msgid ""
+"You can move and rotate the Snap Grid to align with existing track or "
+"benchwork."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:65
+#: ../../../../build/work/app/i18n/custmsg.h:48
+msgid ""
+"Use the Parts List command to measure track length.\n"
+"Select the tracks you want to measure and then click on the Parts List "
+"button. The report will list the total of length of the selected flex-"
+"track. You will have to add in the length of any Turnouts."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:68
+#: ../../../../build/work/app/i18n/custmsg.h:50
+msgid ""
+"The length of flex-track attached to each Turnout is displayed on layout "
+"near the end-points of the Turnouts.\n"
+"Make sure 'Lengths' option of the 'Label Enable' toggle button on the "
+"Display dialog is selected."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:71
+#: ../../../../build/work/app/i18n/custmsg.h:52
+msgid ""
+"The Profile command can be used to find the length of a continous section of "
+"track.\n"
+"Select the track at the beginning and end of the section. The total length "
+"of track will be displayed on the Profile window in the lower right corner.\n"
+"Note: the Profile selects the shortest path between the two selected tracks, "
+"which might not be the path you are interested in. In this case, select the "
+"first track and then select other tracks along the path."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:75
+#: ../../../../build/work/app/i18n/custmsg.h:54
+msgid ""
+"Layers can be used to contain different groups of tracks or other features. "
+"You might use one layer for the main-line, another of staging tracks and "
+"another of benchwork.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:77
+#: ../../../../build/work/app/i18n/custmsg.h:56
+msgid ""
+"You can give each layer a name (by using the \"Manage|Layer\" dialog). This "
+"name will be displayed as the Balloon Help for the corresponding Layer "
+"button, if you have Balloon Help enabled on the \"Options|Display\" dialog."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:79
+#: ../../../../build/work/app/i18n/custmsg.h:58
+#, fuzzy
+msgid ""
+"You can remove groups of buttons or the Hot Bar from the Main window to give "
+"you more room if you are not using some features. Also, the number of Layer "
+"buttons displayed is controlled by the \"Manage|Layers\" dialog."
+msgstr ""
+"Вы можете удалить группы кнопок или панель с главного окна, чтобы освободить "
+"больше места, если вы не используете некоторые функции. Также, кол-во кнопок "
+"переключения слоёв можно настроить в меню Слои."
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:81
+#: ../../../../build/work/app/i18n/custmsg.h:60
+msgid ""
+"The size of the map window is controlled by the overall size of the room "
+"(specified on the layout dialog) and the map scale (on the display dialog). "
+"You can make the Map window larger (or smaller) by decreasing (or "
+"increasing) the map scale.\n"
+"XTrackCad will prevent you from making the map window too small or too large."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:84
+#: ../../../../build/work/app/i18n/custmsg.h:62
+msgid ""
+"You can unload parameter files you are not using by the Parameter Files "
+"dialog. This removes unused Turnout and Structure definitions from the Hot "
+"Bar and makes the program start faster."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:86
+#: ../../../../build/work/app/i18n/custmsg.h:64
+msgid ""
+"Right-Click on the Main window displays a menu list of commands as an "
+"alternative to pressing the buttons on the tool bar or using the menu "
+"accelerator keys."
+msgstr ""
+"Если кликнуть правой кнопкой мыши на главном окне, то отобразится меню со "
+"списком команд аналогичным кнопкам в панели инструментов или в \"горячих "
+"клавишах\"."
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:87
+#: ../../../../build/work/app/i18n/custmsg.h:66
+msgid ""
+"Holding down the Shift key while you Right-Click will display options for "
+"the current command (if any)."
+msgstr ""
+"Если зажать клавишу Shift когда вы нажимаете правой кнопкой мыши, то "
+"отобразится список опций для текущий команды (если существует)."
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:89
+#: ../../../../build/work/app/i18n/custmsg.h:68
+msgid ""
+"Right-Click on the Hot Bar displays a menu of the different groups of "
+"objects which you can use to jump to the group you are interested in.\n"
+"Pressing a numeric key (1-9 and 0) moves the Hot Bar to corresponding "
+"position (1 is the start, 5 is half way, 0 is the end)."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:92
+#: ../../../../build/work/app/i18n/custmsg.h:70
+msgid ""
+"Right-Drag on the Map window sets the origin and scale of the Main window.\n"
+"The Main window will be centered on the spot where you started the Draw and "
+"how far you Drag will control how large an area you can see on the Main "
+"window."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:95
+#: ../../../../build/work/app/i18n/custmsg.h:72
+msgid ""
+"To refresh the Main window, press Control-L (hold down the 'Ctrl' key and "
+"then press the 'l' key)."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:97
+#: ../../../../build/work/app/i18n/custmsg.h:74
+msgid ""
+"The File menu contains a list of the last 5 layouts you were working on."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:99
+#: ../../../../build/work/app/i18n/custmsg.h:76
+msgid ""
+"The Print command can optionally print lines representing the roadbed for "
+"all tracks. This is useful when printing full size (1:1) for cutting "
+"roadbed."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:101
+#: ../../../../build/work/app/i18n/custmsg.h:78
+msgid ""
+"Pressing the 'Esc' key cancels the current command and invokes the default "
+"command, (which is either Describe or Select)."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:103
+#: ../../../../build/work/app/i18n/custmsg.h:80
+msgid ""
+"When moving or rotating tracks on slow machines or with a large number of "
+"tracks, you can improve performance by changing the way tracks are drawn "
+"while being moved.\n"
+"Shift-Right click will display a menu containing options to draw tracks "
+"normally, as simple lines or just draw end-points."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:106
+#: ../../../../build/work/app/i18n/custmsg.h:82
+msgid ""
+"The colors of different parts of the Main window can be changed with the "
+"Colors dialog. In particular, the Snap Grid color can be changed to make it "
+"more visible when printed."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:108
+#: ../../../../build/work/app/i18n/custmsg.h:84
+msgid ""
+"By default objects are drawn in their normal colors. Tracks will be drawn "
+"in Black. Objects can also be drawn in the color according to their Layer. "
+"The color of a Layer is displayed on the corresponding Layer button.\n"
+"The Display dialog 'Color Layers' item has separate toggles for Tracks and "
+"non-Tracks."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:111
+#: ../../../../build/work/app/i18n/custmsg.h:86
+msgid ""
+"Each Layer can be drawn or hidden by the 'Visible' toggle on the Layers "
+"dialog."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:112
+#: ../../../../build/work/app/i18n/custmsg.h:88
+msgid ""
+"Short cut Layer buttons can also be displayed on the tool bar for up to the "
+"first 20 layers.\n"
+"This buttons allow to Show or Hide the layers."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:115
+#: ../../../../build/work/app/i18n/custmsg.h:90
+msgid "The name of the Layer is the Balloon Help for the Layer button."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:117
+#: ../../../../build/work/app/i18n/custmsg.h:92
+msgid ""
+"The playback speed of the Demos can be changed by using Speed drop down list "
+"on the Demo window."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:119
+#: ../../../../build/work/app/i18n/custmsg.h:94
+msgid ""
+"Many of the commands and dialogs can be invoked by special key combinations "
+"called Menu-Accelerators. These are listed on the Menus next to the command "
+"name. For example, Control-P will invoke the Print command."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:121
+#: ../../../../build/work/app/i18n/custmsg.h:96
+msgid ""
+"The Connect command is used to join Sectional track pieces that don't quite "
+"fit together.\n"
+"This command works by adding small gaps between other tracks to move the "
+"selected End-Points closer together."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:124
+#: ../../../../build/work/app/i18n/custmsg.h:98
+msgid ""
+"To copy a group of objects: Select the objects, press Control-c (or select "
+"Copy from the Edit menu), press Control-v (or select Paste from the Edit "
+"menu).\n"
+"The selected tracks will be copied to the layout and you can Move or Rotate "
+"them into position."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:127
+#: ../../../../build/work/app/i18n/custmsg.h:100
+msgid ""
+"In the Rotate (or Select) commands you can press Shift-Right-Click to "
+"display the Rotate menu which allows you to rotate the selected objects by a "
+"specific angle."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:129
+#: ../../../../build/work/app/i18n/custmsg.h:102
+msgid ""
+"You can use the Move-To-Join option of the Join command (hold down the Shift "
+"key) to move a group of Selected tracks to attach with some unselected End-"
+"Point."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:131
+#: ../../../../build/work/app/i18n/custmsg.h:104
+msgid ""
+"The Price List dialog (on the File Menu) is used to specify the prices of "
+"each type of Turnout, Sectional Track and Structure. Also, the length and "
+"price of flex-track pieces can be specified for each scale.\n"
+"This values will be used on the Parts List report to generate total cost of "
+"the selected objects."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:134
+#: ../../../../build/work/app/i18n/custmsg.h:106
+msgid ""
+"Areas of water can represented by a Polygon (use the Draw command) of the "
+"appropiate color.\n"
+"By using the Modify command, you can move, add or remove corners of the "
+"Polygon to fit the shape of the water.\n"
+"You use the Below command to place the Polygon below (or behind) other "
+"objects.\n"
+"\n"
+"You can also use a Polygon to represent aisles."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:140
+#: ../../../../build/work/app/i18n/custmsg.h:108
+msgid ""
+"When you create Benchwork you can move it below other objects by Selecting "
+"the Benchwork and use the Below command.\n"
+"Also, put Benchwork in a separate Layer so you can hide it if desired."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:143
+#: ../../../../build/work/app/i18n/custmsg.h:110
+msgid ""
+"You can enter Distances and Lengths using any format regardless of the "
+"Length Format on the Preferences dialog."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:144
+#: ../../../../build/work/app/i18n/custmsg.h:112
+msgid ""
+"You can enter Metric values when English is the default Units and vice versa."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:146
+#: ../../../../build/work/app/i18n/custmsg.h:114
+msgid ""
+"When entering Distances and Lengths you can press the '=' key to redisplay "
+"the value in the default format."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:147
+#: ../../../../build/work/app/i18n/custmsg.h:116
+msgid ""
+"You can also press the 's' key to convert a Prototype measurement to a Scale "
+"measurement by dividing by the ratio for the current scale."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:148
+#: ../../../../build/work/app/i18n/custmsg.h:118
+msgid ""
+"The 'p' key will convert a Scale measurement to a Prototype measurement."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:150
+#: ../../../../build/work/app/i18n/custmsg.h:120
+msgid ""
+"You can place cars on the layout using the Train Simulation command to check "
+"clearance points, track to track separation and coupling."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:152
+#: ../../../../build/work/app/i18n/custmsg.h:122
+msgid ""
+"Use the MoveTo button on the Custom Management dialog to move your custom "
+"Turnout, Structure and Car definitions to a .XTP parameter file."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:154
+#: ../../../../build/work/app/i18n/custmsg.h:124
+msgid ""
+"If you are printing multiple pages on a continuous feed printer (such a Dot "
+"Matrix) you can change the Page Order if necessary to print pages out in "
+"proper order."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:156
+#: ../../../../build/work/app/i18n/custmsg.h:126
+msgid ""
+"On the Car Item and Car Part dialogs, you can enter custom values for "
+"Manufacturer, Part and Road by typing the new value directly into the Drop "
+"Down List."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:158
+#: ../../../../build/work/app/i18n/custmsg.h:128
+msgid ""
+"On the Car Item dialog, you can change the Road, Number, Color and other "
+"values for a Car. This is useful if you repaint or renumber a car. \n"
+"You can also change the Coupler Mounting and Coupler Length if you change "
+"the couplers."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:161
+#: ../../../../build/work/app/i18n/custmsg.h:130
+msgid ""
+"You can Export your Car Inventory to a file in Comma-Separated-Value format "
+"which can be read by most spread-sheet programs."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:163
+#: ../../../../build/work/app/i18n/custmsg.h:132
+msgid "Use the Train Odometer to measure distances along the track."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:165
+#: ../../../../build/work/app/i18n/custmsg.h:134
+msgid ""
+"Holding down the Shift key when clicking the Zoom In or Zoom Out button will "
+"zoom to a programmed Drawing Scale. \n"
+"Holding down the Shift and Control keys when clicking a Zoom button will set "
+"it's program Zoom to the current Drawing Scale."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:168
+#: ../../../../build/work/app/i18n/custmsg.h:136
+msgid ""
+"You can trim the ends of turnouts by holding down the Shift key when using "
+"the Split command."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:170
+#: ../../../../build/work/app/i18n/custmsg.h:138
+msgid ""
+"The Split command can be used to create Block Gaps at end points between two "
+"tracks. \n"
+"Either rail or both rails can be gapped, which are drawn as thick lines."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:173
+#: ../../../../build/work/app/i18n/custmsg.h:140
+msgid ""
+"Trains will 'crash' if they hit another car when travelling faster than the "
+"'Max Coupling Speed' (on the Command Options dialog). \n"
+"They will also 'crash' if they hit the end of the track or an open "
+"turnout. \n"
+"Crashed trains must be manually moved back onto the track."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:177
+#: ../../../../build/work/app/i18n/custmsg.h:142
+msgid ""
+"You can add new track segments to a turnout definition or create a "
+"definition from individual tracks using the Group command."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:179
+#: ../../../../build/work/app/i18n/custmsg.h:144
+msgid ""
+"The center point and radius of Curved and Circle tracks can optionally be "
+"drawn. \n"
+"This feature is toggled by using the Move Label command and doing a Shift-"
+"Left-Click on the track."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:182
+#: ../../../../build/work/app/i18n/custmsg.h:146
+msgid ""
+"Turnout, Curved and Helix track labels can be individually turned on and off "
+"by doing a Shift-Right-Click on the track when using the Move Label command."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:184
+#: ../../../../build/work/app/i18n/custmsg.h:148
+msgid ""
+"You can use the Describe command to change the font size of Text objects."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:186
+#: ../../../../build/work/app/i18n/custmsg.h:150
+msgid ""
+"You can use the Describe command to change the size of Dimension Line labels."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:188
+#: ../../../../build/work/app/i18n/custmsg.h:152
+msgid ""
+"Normally Right-Click displays a popup menu of commands and Shift-Right-Click "
+"displays options for the current command. \n"
+"This can reversed by using the Right Click toggle button on the Command "
+"Options dialog."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:191
+#: ../../../../build/work/app/i18n/custmsg.h:154
+msgid ""
+"The Align item on the Rotate command options menu will let you Align "
+"selected objects with any unselected object. \n"
+"The selected objects are rotated so the first point is parallel to the "
+"second point you selected."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:194
+#: ../../../../build/work/app/i18n/custmsg.h:156
+msgid ""
+"Print To Bitmap allows you to print the track center line. \n"
+"This is useful if you later print the bitmap full size as a template when "
+"laying track."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:197
+#: ../../../../build/work/app/i18n/custmsg.h:158
+msgid ""
+"You can export the selected tracks to a DXF file which can be read by most "
+"CAD programs."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:199
+#: ../../../../build/work/app/i18n/custmsg.h:160
+msgid ""
+"Lengths and distances can be displayed in a variety of units and formats "
+"such as 1' 10 3/4\", 1ft 10.75in or 22.750. In Metric mode, distances can "
+"be displayed as millimeters, centimeters or meters. See the Length Format "
+"item on the Preferences dialog."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:201
+#: ../../../../build/work/app/i18n/custmsg.h:162
+msgid ""
+"Tracks that are too steep or curve too tightly are drawn in the Exception "
+"color (Yellow by default). \n"
+"This helps to identify potential problem areas. \n"
+"The maximum grade and minimum radius are set on the Preferences dialog."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:205
+#: ../../../../build/work/app/i18n/custmsg.h:164
+msgid ""
+"The Flip command produces a mirror-image of the selected tracks. \n"
+"If possible, right-hand turnouts are relabeled as left-hand turnouts (and "
+"vice versa)."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:208
+#: ../../../../build/work/app/i18n/custmsg.h:166
+msgid ""
+"Then Ungroup command will break turnouts and structures into individual "
+"track, line and shape segments. \n"
+"You can modify each segment and add new ones. \n"
+"Then use the Group command to update the definition."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:212
+#: ../../../../build/work/app/i18n/custmsg.h:168
+msgid "Dimension lines show the distance between two points."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:214
+#: ../../../../build/work/app/i18n/custmsg.h:170
+msgid ""
+"A variety of Benchwork (rectangular, L-girder and T-girder) can be drawn. \n"
+"Use the Below command to move the Benchwork below the track for proper "
+"display."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:217
+#: ../../../../build/work/app/i18n/custmsg.h:172
+msgid ""
+"The Turnout Designer dialogs allow you to specify the width of any attached "
+"roadbed. \n"
+"As well, the color and thickness of the lines used to represent the roadbed "
+"can be specified."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:220
+#: ../../../../build/work/app/i18n/custmsg.h:174
+msgid ""
+"The Color dialog (on the Options menu) is used to change the color of "
+"different objects on the display. \n"
+"You can change the color of the Snap Grid and Borders, as well as Normal, "
+"Selected and Exception tracks."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:223
+#: ../../../../build/work/app/i18n/custmsg.h:176
+msgid ""
+"You can set the elevation (height) of track end-points. \n"
+"Elevations of intermediate end points can be computed automatically based on "
+"the distance to the nearest end points with defined elevations. \n"
+"Grades can also be displayed at selected end points. \n"
+"Please see the Elevations help and demo."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:228
+#: ../../../../build/work/app/i18n/custmsg.h:178
+msgid ""
+"Once you have elevations on some endpoints, you can use the Profile command "
+"to produce an elevation graph. \n"
+"The graph shows the selected elevations, grades and distances. \n"
+"Please see the Profile help and demo for details."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:232
+#: ../../../../build/work/app/i18n/custmsg.h:180
+msgid ""
+"You can draw tracks with wider lines for rails. \n"
+"Select the tracks and use Medium or Thick Tracks on the Edit menu."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:235
+#: ../../../../build/work/app/i18n/custmsg.h:182
+msgid ""
+"The Helix command is used to create a Helix track. \n"
+"You specify some parameters: height, radius, number of turns, grade and "
+"vertical separation between layers. \n"
+"These values are interrelated so changing one value will affect ohers. \n"
+"Then you can place the Helix and join to other tracks as you would a Circle "
+"track."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:240
+#: ../../../../build/work/app/i18n/custmsg.h:184
+msgid ""
+"Many objects on the layout have labels: Turnouts/Helix/Curved Titles, Track "
+"Lenghts, End-Point Elevations, Track Elevations and Cars. \n"
+"You can turn these labels on or off with the Label Enable toggle buttons on "
+"the Display options dialog."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:243
+#: ../../../../build/work/app/i18n/custmsg.h:186
+msgid ""
+"If you hold down the Control key when using the Rotate command, the rotation "
+"will be done in increments of 15ᅵ."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:245
+#: ../../../../build/work/app/i18n/custmsg.h:188
+msgid ""
+"When using the Rotate command, Shift-Right-Click displays a menu allowing "
+"you to rotate by specific amounts or to align the selected objects with "
+"another object."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/help/xtrkcad.tip:247
+#: ../../../../build/work/app/i18n/custmsg.h:190
+msgid ""
+"This is last tip. If you have any additions or comments, please let us know."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:25
+#: ../../../../build/work/app/i18n/custmsg.h:192
+msgid ""
+"The unconnected endpoints of a straight or curved track can be changed with "
+"the 'Modify Track' command.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:31
+#: ../../../../build/work/app/i18n/custmsg.h:194
+msgid ""
+"The endpoint of a straight track is selected and then Left-Dragged to change "
+"its length. A blue anchor shows that the length can be extended.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:48
+#: ../../../../build/work/app/i18n/custmsg.h:196
+msgid ""
+"If you try to drag the selected endpoint beyond the far endpoint, the track "
+"extends in the opposite direction.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:68
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:73
+#: ../../../../build/work/app/i18n/custmsg.h:199
+msgid ""
+"A curved track is selected and it's new endpoint is determined by the angle "
+"to the cursor. \n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:105
+#: ../../../../build/work/app/i18n/custmsg.h:201
+msgid "It's possible to almost create a complete circle.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:202
+msgid ""
+"If you drag the mouse beyond the start of the curve the track becomes very "
+"short.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:113
+#: ../../../../build/work/app/i18n/custmsg.h:204
+msgid "Here you are warned that the track will be too short.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:147
+#: ../../../../build/work/app/i18n/custmsg.h:206
+msgid ""
+"If you move the cursor away from the curve, you will create a straight track "
+"tangent to the curve.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:169
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:174
+#: ../../../../build/work/app/i18n/custmsg.h:209
+msgid ""
+"If you adjust the endpoint of a turnout or sectional track the track is "
+"extended by a similar track segment. The extension can be \n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:210
+#, fuzzy
+msgid "a straight or a curve.\n"
+msgstr "Добавить прямой трек"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:190
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:195
+#: ../../../../build/work/app/i18n/custmsg.h:213
+msgid ""
+"You can change the radius of a straight or curved track that is connected at "
+"one endpoint by holding down the Shift key while Left-dragging on it.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:214
+msgid ""
+"The blue cross anchor shows that this is possible when shift is held down "
+"with no buttons.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:209
+#: ../../../../build/work/app/i18n/custmsg.h:216
+msgid ""
+"This lets you change a straight track into a curved track (and vice versa) "
+"as well as changing the radius of a curved track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:252
+#: ../../../../build/work/app/i18n/custmsg.h:218
+msgid ""
+"You can form an extension of a straight or curved Track that is connected at "
+"one endpoint using an easement by holding down the Ctrl key while Left-"
+"dragging on it.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:219
+msgid ""
+"The blue half cross anchor shows that this is possible when the Ctrl key is "
+"held down with no mouse button.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmadjend.xtr:267
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmbench.xtr:9
+#: ../../../../build/work/app/i18n/custmsg.h:222
+msgid "You can draw a variety of different types of benchwork:\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:223
+msgid "- rectangular (1x2, 2x4 etc)\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:224
+msgid "- L girders\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:225
+msgid "- T girders\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:226
+msgid "You can also draw them in different orientations.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmbench.xtr:25
+#: ../../../../build/work/app/i18n/custmsg.h:228
+msgid "We will draw two 3x6 inch L-girders.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmbench.xtr:43
+#: ../../../../build/work/app/i18n/custmsg.h:230
+msgid ""
+"The flange of the top L-Girders is on the outside edge of the girders. We "
+"want to change the girder so both flanges are on the inside.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:231
+msgid "We will use the <Describe> command for this.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmbench.xtr:54
+#: ../../../../build/work/app/i18n/custmsg.h:233
+msgid "Change the Orientation to Right.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmbench.xtr:63
+#: ../../../../build/work/app/i18n/custmsg.h:235
+msgid "Now both flanges are on the inside of the two girders.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:34
+#: ../../../../build/work/app/i18n/custmsg.h:237
+msgid ""
+"Pushing the <Describe> button will cancel any other command in progress.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:238
+msgid ""
+"Here we will begin to create a curved track which is a two step process.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:47
+#: ../../../../build/work/app/i18n/custmsg.h:240
+msgid ""
+"When we clicked on the <Describe> button, the current command was "
+"cancelled.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:241
+msgid ""
+"When in <Describe> mode, selecting any object will print a description in "
+"the Status Bar and display a dialog showing properties of the clicked-on "
+"object.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:57
+#: ../../../../build/work/app/i18n/custmsg.h:243
+msgid ""
+"Certain parameters of the object can be changed. In this case we'll change "
+"the length\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:65
+#: ../../../../build/work/app/i18n/custmsg.h:245
+msgid "Let's look at the Turnout...\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:73
+#: ../../../../build/work/app/i18n/custmsg.h:247
+msgid "and change the turnout name and part no.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:84
+#: ../../../../build/work/app/i18n/custmsg.h:249
+msgid "You can change the contents of text...\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:93
+#: ../../../../build/work/app/i18n/custmsg.h:251
+msgid "and its size.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:100
+#: ../../../../build/work/app/i18n/custmsg.h:253
+msgid ""
+"If you select a note, the Description dialog appears which displays the "
+"contents of the note.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcancel.xtr:112
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcircle.xtr:7
+#: ../../../../build/work/app/i18n/custmsg.h:256
+msgid ""
+"Like the <Curve> track command, there are several ways to create a Circle "
+"track.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:257
+msgid ""
+"The first is to specify a fixed radius and simply drag the Circle into "
+"position.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:258
+msgid "We will change the Radius before proceeding.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcircle.xtr:24
+#: ../../../../build/work/app/i18n/custmsg.h:260
+msgid "The next method is to drag from the edge of the Circle to the center.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcircle.xtr:37
+#: ../../../../build/work/app/i18n/custmsg.h:262
+msgid ""
+"The last is similar, but you drag from the center of the Circle to the "
+"edge.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcircle.xtr:50
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:157
+#: ../../../../build/work/app/i18n/custmsg.h:265
+msgid ""
+"We have built a siding using Sectional track and have 2 End-Points that "
+"don't line up and are not connected automatically when placing the sectional "
+"track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:162
+#: ../../../../build/work/app/i18n/custmsg.h:267
+msgid ""
+"We use the <Connect> command to adjust neighboring tracks so the gap is "
+"closed.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:268
+msgid ""
+"Note: the adjustments are only done on tracks which have only 1 or 2 "
+"connections. In this example the Turnouts would not be affected.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:175
+#: ../../../../build/work/app/i18n/custmsg.h:270
+msgid "And now the gap is closed.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:181
+#: ../../../../build/work/app/i18n/custmsg.h:272
+msgid "Other tracks have been shifted slightly to close the gap.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:188
+#: ../../../../build/work/app/i18n/custmsg.h:274
+msgid "You can see these slight mis-alignments.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:275
+msgid "But they will have no effect when the layout is actually built.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:196
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:353
+#: ../../../../build/work/app/i18n/custmsg.h:278
+msgid ""
+"After working with Sectional track you might get to point where these mis-"
+"alignments have accumulated and you wish to remove them.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:279
+msgid ""
+"You can remove these slight mis-alignments by tightening the tracks starting "
+"from a unconnected End-Point. Use Shift-Left-Click with the <Connect> "
+"command.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:280
+msgid "First use the <Split> command to disconnect the tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:363
+#: ../../../../build/work/app/i18n/custmsg.h:282
+msgid ""
+"Then with the <Connect> command, Shift-Left-Click on the 2 End-Points.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn1.xtr:378
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn2.xtr:199
+#: ../../../../build/work/app/i18n/custmsg.h:285
+msgid "In example shows a simple figure-8 layout using Sectional track.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:286
+msgid ""
+"You will notice that the tracks do not line up exactly in one location.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn2.xtr:211
+#: ../../../../build/work/app/i18n/custmsg.h:288
+msgid ""
+"We can use the <Connect> command to move the connecting tracks slightly and "
+"connect the 2 End-Points.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn2.xtr:224
+#: ../../../../build/work/app/i18n/custmsg.h:290
+msgid "The two End-Points are now aligned and connected.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn2.xtr:231
+#: ../../../../build/work/app/i18n/custmsg.h:292
+msgid "The connection was made by adding small gaps in other tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmconn2.xtr:238
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:7
+#: ../../../../build/work/app/i18n/custmsg.h:295
+msgid "There are several ways to create a Curved track.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:296
+msgid ""
+"You can choose which to use by clicking on the small button to the left of "
+"<Curve> command button if the current Curve command is not the one you "
+"want.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:297
+msgid ""
+"The first is by clicking on the first End-Point and dragging in the "
+"direction of the Curve.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:20
+#: ../../../../build/work/app/i18n/custmsg.h:299
+msgid ""
+"You will see a straight track with a double ended Red arrow at the end.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:300
+msgid "Click and drag on one of the Red arrows to complete the Curve.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:39
+#: ../../../../build/work/app/i18n/custmsg.h:302
+msgid ""
+"The next method is to click at one End-Point and drag to the center of the "
+"Curve.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:50
+#: ../../../../build/work/app/i18n/custmsg.h:304
+msgid ""
+"Now you will see the double ended Red arrow connected to the center of the "
+"Curve marked by a small circle.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:305
+msgid "As before, drag on one of the Red arrows to complete the Curve.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:63
+#: ../../../../build/work/app/i18n/custmsg.h:307
+msgid ""
+"The next method is similar to the last except that you drag first from the "
+"center of the Curve to one End-Point.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:80
+#: ../../../../build/work/app/i18n/custmsg.h:309
+msgid "Once again, drag on a Red arrow to complete the Curve.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:90
+#: ../../../../build/work/app/i18n/custmsg.h:311
+msgid ""
+"The last method begins by drawing a line between the two End-Points of the "
+"Curve. This forms the Chord of the Curve.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:108
+#: ../../../../build/work/app/i18n/custmsg.h:313
+msgid "Now drag on a Red arrow to complete the Curve.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmcrvtrk.xtr:118
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:112
+#: ../../../../build/work/app/i18n/custmsg.h:316
+msgid "This demo will construct a control panel for part of a bigger layout.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:117
+#: ../../../../build/work/app/i18n/custmsg.h:318
+msgid "For our control panel we will use Œ\" lines. \n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:319
+msgid "Also, we will use a 1/8\" grid to lay out our controls.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:320
+msgid ""
+"First, we will set up the Snap Grid for 1\" grid lines and 8 divisions.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:132
+#: ../../../../build/work/app/i18n/custmsg.h:322
+msgid "Now, clear the layout and turn on the Snap Grid.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:147
+#: ../../../../build/work/app/i18n/custmsg.h:324
+msgid "First step: draw the lines representing the tracks.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:325
+msgid "We specify the line width in pixels when at 1:1 zoom.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:326
+msgid ""
+"To create a 1/4\" line, divide the dots-per-inch (DPI) of your display by "
+"4.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:327
+msgid ""
+"For MS-Windows the DPI is usually 98, so choose: 98/4 = 24 (approximately).\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:328
+msgid "For Linux, the DPI is usually 72, so choose: 72/4 = 18.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:495
+#: ../../../../build/work/app/i18n/custmsg.h:330
+msgid ""
+"Notice how the Snap Grid keeps the main line and siding track parallel and "
+"the connecting tracks and spur at a 45° angle.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:503
+#: ../../../../build/work/app/i18n/custmsg.h:332
+msgid "Second step: add LEDs for the turnout position indicators.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:333
+msgid "We will use T1 red and green LEDs.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:334
+msgid "We will zoom in to show positioning.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:513
+#: ../../../../build/work/app/i18n/custmsg.h:336
+msgid ""
+"Notice that when we are in the correct position (on the 1/8\" grid), the "
+"Marker lines on the bottom and left rulers will high-light the tick marks. "
+"When both ticks are high-lighted, press the space bar to finalize the LED.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:558
+#: ../../../../build/work/app/i18n/custmsg.h:338
+msgid "Now we'll add push buttons to control the turnouts.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:595
+#: ../../../../build/work/app/i18n/custmsg.h:340
+msgid "Let's add signals to our siding.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:341
+msgid ""
+"The entrance to the siding will be protected by double headed signals.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:342
+msgid "We'll select a signal from the HotBar and place it into position.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:608
+#: ../../../../build/work/app/i18n/custmsg.h:344
+msgid ""
+"We rotate the signals by Shift-Right-Click and select 90° CW on the popup "
+"menu. We can not show the popup menu in demo mode, but will simulate the "
+"effect.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:657
+#: ../../../../build/work/app/i18n/custmsg.h:346
+msgid "The exits from the siding will be protected by single headed signals.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:711
+#: ../../../../build/work/app/i18n/custmsg.h:348
+msgid "Now for some touch-ups.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:349
+msgid "Notice when the line meet at an angle there is a gap.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:350
+msgid "We will fill this gap with the Œ\" dot.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:351
+msgid ""
+"Note: Win95/Win98/WinME does not support drawing lines with flat end-caps, "
+"but only with round end-caps.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:352
+msgid "Users on those platforms will not see the gap.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:734
+#: ../../../../build/work/app/i18n/custmsg.h:354
+msgid ""
+"Add an arrow head to indicate the tracks that connect to the rest of the "
+"layout.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:355
+msgid "The second arrow will be flipped 180°\"\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:772
+#: ../../../../build/work/app/i18n/custmsg.h:357
+msgid "And add some labels.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:831
+#: ../../../../build/work/app/i18n/custmsg.h:359
+msgid ""
+"We want to print our control panel onto a 8œx11 page, but the control panel "
+"is a bit too wide.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:360
+msgid "Lets tighten it up a bit.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:361
+msgid ""
+"First turn the Snap Grid on again so any moves we make will keep objects on "
+"the grid.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:840
+#: ../../../../build/work/app/i18n/custmsg.h:363
+msgid "Lets move the spur track to the left 3/4\"\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:862
+#: ../../../../build/work/app/i18n/custmsg.h:365
+msgid "Now move the right side of the siding over.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:882
+#: ../../../../build/work/app/i18n/custmsg.h:367
+msgid "Now, adjust the ends of the mainline and siding tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:902
+#: ../../../../build/work/app/i18n/custmsg.h:369
+msgid "And move the title over as well.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmctlpnl.xtr:919
+#: ../../../../build/work/app/i18n/custmsg.h:371
+msgid "Now you can print it.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:372
+msgid "The cross-hairs on the LEDs and switch show the centers for drilling.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdelund.xtr:33
+#: ../../../../build/work/app/i18n/custmsg.h:374
+msgid ""
+"Pressing the <Delete> button lets you delete selected tracks from the "
+"layout.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:375
+msgid ""
+"First you select the tracks you want to delete, and then press the <Delete> "
+"button.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdelund.xtr:47
+#: ../../../../build/work/app/i18n/custmsg.h:377
+msgid ""
+"If you delete a track connected to an easement curve, then the easement "
+"curve is deleted as well.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdelund.xtr:57
+#: ../../../../build/work/app/i18n/custmsg.h:379
+msgid "You can use the <Undo> command to undelete tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdelund.xtr:67
+#: ../../../../build/work/app/i18n/custmsg.h:381
+msgid ""
+"If you Left-Drag on the layout you can select all tracks within an area.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:382
+msgid ""
+"Note, only tracks within the selected area are deleted. Since the easement "
+"curve is connected to a deleted track, it is deleted as well.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdelund.xtr:80
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:6
+#: ../../../../build/work/app/i18n/custmsg.h:385
+msgid ""
+"The demo also simulates entering values and selecting options on various "
+"dialogs.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:386
+msgid ""
+"This is simulated by drawing a rectangle around the control when values are "
+"entered or changed.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:13
+#: ../../../../build/work/app/i18n/custmsg.h:388
+msgid ""
+"Here we are going to make some changes to the Display dialog. Notice how "
+"this is simulated.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:389
+msgid "First we are setting 'Draw Tunnel' to 'Normal'\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:21
+#: ../../../../build/work/app/i18n/custmsg.h:391
+msgid "Now we're changing 'Label Font Size' to '56'\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:26
+#: ../../../../build/work/app/i18n/custmsg.h:393
+msgid "We'll change some other options\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:38
+#: ../../../../build/work/app/i18n/custmsg.h:395
+msgid ""
+"This effect is only used in demonstration mode. During normal operation you "
+"will not see this.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdialog.xtr:45
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdimlin.xtr:117
+#: ../../../../build/work/app/i18n/custmsg.h:398
+msgid "Dimension Lines are used to mark the distances between two points.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:399
+msgid ""
+"Here we will create a Dimension Line to show the separation between two "
+"tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdimlin.xtr:132
+#: ../../../../build/work/app/i18n/custmsg.h:401
+msgid ""
+"We might also want to measure the distance between two structures. In this "
+"case we will use a larger dimension line.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdimlin.xtr:143
+#: ../../../../build/work/app/i18n/custmsg.h:403
+msgid ""
+"We can use the <Describe> command to change the position of the Dimension "
+"Line and the size of the numbers.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmdimlin.xtr:161
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:14
+#: ../../../../build/work/app/i18n/custmsg.h:406
+msgid ""
+"This example will show the effect of using easements while joining tracks.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:407
+msgid "First, we will enable Cornu Easements and select Join\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:28
+#: ../../../../build/work/app/i18n/custmsg.h:409
+msgid "First select one end of the track\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:39
+#: ../../../../build/work/app/i18n/custmsg.h:411
+msgid "Now the end of different track\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:49
+#: ../../../../build/work/app/i18n/custmsg.h:413
+msgid "You can reposition the ends by dragging them \n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:65
+#: ../../../../build/work/app/i18n/custmsg.h:415
+msgid "When you are happy, Hit Enter or Space, if not use Esc\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:73
+#: ../../../../build/work/app/i18n/custmsg.h:417
+msgid ""
+"The Curve is made up of Beziers parts that smooth the shape the best way it "
+"can be in the space available\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:87
+#: ../../../../build/work/app/i18n/custmsg.h:419
+msgid "Now, we'll show traditional easements instead.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:142
+#: ../../../../build/work/app/i18n/custmsg.h:421
+msgid ""
+"We've selected sharp easements. The minimum radius curve we can use will be "
+"9.75\"\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:422
+msgid "Notice the label on the Easement button has changed to 'Sharp'.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:157
+#: ../../../../build/work/app/i18n/custmsg.h:424
+msgid ""
+"Note the connecting curve does not quite meet the straight tracks. This the "
+"'Offset'.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:165
+#: ../../../../build/work/app/i18n/custmsg.h:426
+msgid "Here the connecting curve is too small.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmease.xtr:175
+#: ../../../../build/work/app/i18n/custmsg.h:428
+msgid ""
+"The connecting curve is made of three tracks, the curve and two easement "
+"segments on each end.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:112
+#: ../../../../build/work/app/i18n/custmsg.h:430
+msgid ""
+"We have designed part of the layout with a siding, 2 branches and a spiral "
+"loop. We want to set elevations.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:431
+msgid "Note: make sure you set endpoint elevations on the Display dialog.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:122
+#: ../../../../build/work/app/i18n/custmsg.h:433
+msgid "First we will set elevations at the end of the branches.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:132
+#: ../../../../build/work/app/i18n/custmsg.h:435
+msgid "We'll select the end of the top branch and set the Elevation to 4\"\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:436
+msgid "First, click on the End-Point.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:142
+#: ../../../../build/work/app/i18n/custmsg.h:438
+msgid "Next, pick Defined on the Elevation dialog Radio box.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:148
+#: ../../../../build/work/app/i18n/custmsg.h:440
+msgid "And set the Elevation to 4.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:156
+#: ../../../../build/work/app/i18n/custmsg.h:442
+msgid "Now, select the other branch and set it's elevation to 2\"\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:170
+#: ../../../../build/work/app/i18n/custmsg.h:444
+msgid "We can move the Elevation label by using Ctrl-Left-Drag\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:182
+#: ../../../../build/work/app/i18n/custmsg.h:446
+msgid "Now, we set the Elevation at one end of the Siding.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:209
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:215
+#: ../../../../build/work/app/i18n/custmsg.h:449
+msgid "We want to find the elevations where the 2 tracks cross.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:224
+#: ../../../../build/work/app/i18n/custmsg.h:451
+msgid "We picked an End-Point on the upper track.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:452
+msgid ""
+"XTrackCAD has computed the Elevation (2.33\") at this point based on the "
+"Elevation at the siding and a combination of the of the first Elevations.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:453
+msgid ""
+"We create a Computed Elevation here that will be automatically adjusted "
+"whenever the other Elevations are changed.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:243
+#: ../../../../build/work/app/i18n/custmsg.h:455
+msgid ""
+"The Compute Elevation is based on Elevations at end of both of the "
+"branches. We may want to base the Elevation on only one branch. For "
+"example if one branch was the mainline we don't want the other branch "
+"affecting this Computed Elevation.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:456
+msgid "We do this by Ignoring the branch we don't want.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:457
+msgid "We'll ignore the lower branch.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:258
+#: ../../../../build/work/app/i18n/custmsg.h:459
+msgid ""
+"Notice at the endpoint where the tracks cross, we see the elevation has "
+"changed from 2.33 to 2.64.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:264
+#: ../../../../build/work/app/i18n/custmsg.h:461
+msgid "Now we want to know the elevation of the lower track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:274
+#: ../../../../build/work/app/i18n/custmsg.h:463
+msgid "There is no endpoint on the lower track here.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:464
+msgid ""
+"Use Shift-Left-Click to Split the track and create an endpoint we can use "
+"for an elevation,\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:287
+#: ../../../../build/work/app/i18n/custmsg.h:466
+msgid "and create another Computed Elevation point.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:302
+#: ../../../../build/work/app/i18n/custmsg.h:468
+msgid "Now we want to label the grade on this section of track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:311
+#: ../../../../build/work/app/i18n/custmsg.h:470
+msgid ""
+"Again, since there is no endpoint nearby, we split the track to create an "
+"endpoint we can use,\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:321
+#: ../../../../build/work/app/i18n/custmsg.h:472
+msgid "and create a grade marker.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:335
+#: ../../../../build/work/app/i18n/custmsg.h:474
+msgid "Note the marker has an arrow pointing in the upwards direction.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:344
+#: ../../../../build/work/app/i18n/custmsg.h:476
+msgid ""
+"The last thing we want to do is to create a Station label that we'll use in "
+"the <Profile> command.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:358
+#: ../../../../build/work/app/i18n/custmsg.h:478
+msgid "Now, set the Elevation to Station and enter the its name.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmelev.xtr:376
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:31
+#: ../../../../build/work/app/i18n/custmsg.h:481
+msgid ""
+"XTrackCAD can help find tracks that are curved too sharply or are too "
+"steep. These tracks are Exception tracks and are drawn in the Exception "
+"track color.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:482
+msgid ""
+"In this example we have a curved track with radius of 9\" and a straight "
+"track with a grade of 3.8%.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:483
+msgid " \n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:39
+#: ../../../../build/work/app/i18n/custmsg.h:485
+msgid ""
+"The Layout dialog shows the Minimum Track Radius is 9\" and the Maximum "
+"Track Grade is 5%.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:48
+#: ../../../../build/work/app/i18n/custmsg.h:487
+msgid ""
+"If we make the curved track sharper it will be drawn in the Exception "
+"color.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:61
+#: ../../../../build/work/app/i18n/custmsg.h:489
+msgid ""
+"If we make the straight track steeper it will also be drawn in the Exception "
+"color.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:78
+#: ../../../../build/work/app/i18n/custmsg.h:491
+msgid ""
+"You can change the Exception color on the Colors dialog from the Options "
+"menu.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmexcept.xtr:85
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:21
+#: ../../../../build/work/app/i18n/custmsg.h:494
+msgid ""
+"The unconnected endpoint of any track can also be extended with the <Modify> "
+"command using Right-Drag.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:26
+#: ../../../../build/work/app/i18n/custmsg.h:496
+msgid "Select the endoint and Right-Drag.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:34
+#: ../../../../build/work/app/i18n/custmsg.h:498
+msgid "The extending track can be straight...\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:44
+#: ../../../../build/work/app/i18n/custmsg.h:500
+msgid "... or curved.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:51
+#: ../../../../build/work/app/i18n/custmsg.h:502
+msgid ""
+"If you extend a straight or curved flex track and enable Easements then an "
+"Easement curve will be automatically generated when you extend the track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmextend.xtr:65
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:124
+#: ../../../../build/work/app/i18n/custmsg.h:505
+msgid ""
+"The <Flip> command will create a mirror image of the selected objects.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:131
+#: ../../../../build/work/app/i18n/custmsg.h:507
+msgid "After selecting the object, drag a line which will form the mirror.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:140
+#: ../../../../build/work/app/i18n/custmsg.h:509
+msgid "The mirror line does not have to be vertical or horizontal.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:149
+#: ../../../../build/work/app/i18n/custmsg.h:511
+msgid "You can also flip any number of objects.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:512
+msgid "Watch what happens to the structure and turnout titles.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:163
+#: ../../../../build/work/app/i18n/custmsg.h:514
+msgid ""
+"Note that the turnout title has been changed from the Medium Right to Medium "
+"Left. When turnouts are flipped, XTrackCAD will try to find a matching "
+"turnout and if found will change the name.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:170
+#: ../../../../build/work/app/i18n/custmsg.h:516
+msgid ""
+"Structures do not have Right and Left hand versions. Their title is changed "
+"to indicate that they were flipped.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:517
+msgid "You can use the <Describe> command to change their title.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmflip.xtr:187
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:21
+#: ../../../../build/work/app/i18n/custmsg.h:520
+msgid ""
+"The <Group> and <Ungroup> commands (on the Tools menu) are a powerful way to "
+"manipulate Turnout and Structure definitions.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:521
+msgid "We'll start with a simple turnout and add a switch machine.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:50
+#: ../../../../build/work/app/i18n/custmsg.h:523
+msgid ""
+"Now that we have drawn a rough outline of a switch machine we will group it "
+"with the turnout definition.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:524
+msgid "First we Select the objects in the new definition.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:63
+#: ../../../../build/work/app/i18n/custmsg.h:526
+msgid "Now do the <Group> command.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:70
+#: ../../../../build/work/app/i18n/custmsg.h:528
+msgid ""
+"The <Group> command dialog shows the Title (Manufacturer, Description and "
+"Part Number) of the new definition. This information is taken from the "
+"Selected objects you are grouping.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:76
+#: ../../../../build/work/app/i18n/custmsg.h:530
+msgid ""
+"The 'Replace with new group?' toggle will replace the Selected objects with "
+"the new definition.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:83
+#: ../../../../build/work/app/i18n/custmsg.h:532
+msgid ""
+"If we don't change the Title then the new definition will replace the "
+"existing definition.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:533
+msgid "We'll give this definition a new Description.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:94
+#: ../../../../build/work/app/i18n/custmsg.h:535
+msgid "We're done with this definition. Press Ok.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:101
+#: ../../../../build/work/app/i18n/custmsg.h:537
+msgid "You will see the updated image on the HotBar.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:108
+#: ../../../../build/work/app/i18n/custmsg.h:539
+msgid ""
+"The <Ungroup> command replaces any Selected turnouts or structures with "
+"their parts.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:540
+msgid ""
+"Structures and non-track segements of turnouts are composed of Lines, "
+"Circles and other shapes. In this turnout these are the two lines and the "
+"two squares.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:541
+msgid ""
+"We will Ungroup this turnout and see how the individual parts can be "
+"changed.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:542
+msgid "First Select the turnout and then Ungroup it.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:123
+#: ../../../../build/work/app/i18n/custmsg.h:544
+msgid "Notice that the Title now indicates the turnout is Ungrouped.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:545
+msgid "Hit Escape to deselect everything.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:133
+#: ../../../../build/work/app/i18n/custmsg.h:547
+msgid "Now Select the lines and squares.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:158
+#: ../../../../build/work/app/i18n/custmsg.h:549
+msgid ""
+"We could modify these object or add new ones. For now we'll just delete "
+"them.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:165
+#: ../../../../build/work/app/i18n/custmsg.h:551
+msgid "And move the Label out of the way.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:176
+#: ../../../../build/work/app/i18n/custmsg.h:553
+msgid "Notice that the turnout has been broken into three parts.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:198
+#: ../../../../build/work/app/i18n/custmsg.h:555
+msgid ""
+"Two ends of the turnout, from the frog to the end of the diverging leg and "
+"from the points to the left, are now straight track sections.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:556
+msgid ""
+"The a turnout is made of a number of individual straight and curved track "
+"segements. This turnout had four segments:\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:557
+msgid " 1 a short straight segment to the left of the points\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:558
+msgid " 2 a long straight segment to the right of the points\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:559
+msgid " 3 a curved segment from the points to the frog\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:560
+msgid ""
+" 4 a straight segment from the frog to the end of the diverging leg.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:561
+msgid "The first and last segments have be converted to straight tracks.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:562
+msgid ""
+"The second and third segments form the the body of the turnout and can not "
+"be ungrouped further.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:563
+msgid ""
+"You can later Group this turnout with the straight segments to recreate the "
+"turnout definition. You can also add other track segments to turnout "
+"definitions.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:242
+#: ../../../../build/work/app/i18n/custmsg.h:565
+msgid "Now, create a track and place the new turnout on it.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:260
+#: ../../../../build/work/app/i18n/custmsg.h:567
+msgid "Now suppose we want to replace the black squares with green circles.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:568
+msgid "First we Select the turnout.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:272
+#: ../../../../build/work/app/i18n/custmsg.h:570
+msgid "And now Ungroup it (from the Tools Menu)\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:277
+#: ../../../../build/work/app/i18n/custmsg.h:572
+msgid ""
+"Notice that the name has changed to indicate the turnout was Ungrouped.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:283
+#: ../../../../build/work/app/i18n/custmsg.h:574
+msgid ""
+"Now, hit escape to deselect everything and then Select the 2 squares and "
+"delete them.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:300
+#: ../../../../build/work/app/i18n/custmsg.h:576
+msgid "Now draw the green circles...\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:321
+#: ../../../../build/work/app/i18n/custmsg.h:578
+msgid "and Group the new definition.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:340
+#: ../../../../build/work/app/i18n/custmsg.h:580
+msgid ""
+"Notice that the turnout in the HotBar is angled the same as the turnout on "
+"the layout. Make sure your new definition is rotated the way you want it.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:379
+#: ../../../../build/work/app/i18n/custmsg.h:582
+msgid "We can also create turnouts from simple straight and curved tracks.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:583
+msgid "We'll create two tracks that have a common endpoint.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:390
+#: ../../../../build/work/app/i18n/custmsg.h:585
+msgid ""
+"When we create the curve from the straight track endpoint we need to hold "
+"down the Shift key to prevent XTrackCAD from trying to join the two tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:408
+#: ../../../../build/work/app/i18n/custmsg.h:587
+msgid "At this point we can modify the tracks if necessary.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:588
+msgid "We will use the <Describe> command to change the tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:420
+#: ../../../../build/work/app/i18n/custmsg.h:590
+msgid "We'll make the Length 7.5\".\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:591
+msgid ""
+"If we change the Length, each End-Point will be moved to shorten the track. "
+"We want to just move the Right End-Point. To control this, change the Pivot "
+"to First which means the Left End-Point will be unchanged when we change the "
+"length (or angle) of the track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:430
+#: ../../../../build/work/app/i18n/custmsg.h:593
+msgid "Now when change the Length only the Right End-Point will move.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:441
+#: ../../../../build/work/app/i18n/custmsg.h:595
+msgid "Now let's look at the curved track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:451
+#: ../../../../build/work/app/i18n/custmsg.h:597
+msgid ""
+"Here the Left End-Point (which we don't want to move) is the Second End-"
+"Point, so we'll make that the Pivot.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:459
+#: ../../../../build/work/app/i18n/custmsg.h:599
+msgid "We want the curve to have a radius of 20\" and an angle of 17.5ᅵ.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:600
+msgid "First change the Radius...\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:468
+#: ../../../../build/work/app/i18n/custmsg.h:602
+msgid "and the the Angular Length.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:476
+#: ../../../../build/work/app/i18n/custmsg.h:604
+msgid "Now Select both tracks...\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:492
+#: ../../../../build/work/app/i18n/custmsg.h:606
+msgid "and Group them.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:503
+#: ../../../../build/work/app/i18n/custmsg.h:608
+msgid ""
+"If the two tracks have a common End-Point then they will form a Turnout and "
+"can be switched with the <Train> command. Otherwise they will just be two "
+"track segments grouped together.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:510
+#: ../../../../build/work/app/i18n/custmsg.h:610
+msgid ""
+"We have created a left hand turnout and we also want a right hand version.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:611
+msgid "We'll use the <Flip> command.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:523
+#: ../../../../build/work/app/i18n/custmsg.h:613
+msgid ""
+"Drag a horizontal line that will be the mirror for the <Flip> command.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:533
+#: ../../../../build/work/app/i18n/custmsg.h:615
+msgid "Notice the title has changed to Flipped Left.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:616
+msgid "Now Group the turnout.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:542
+#: ../../../../build/work/app/i18n/custmsg.h:618
+msgid "We'll change the Title and Part No for the new defintion.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:555
+#: ../../../../build/work/app/i18n/custmsg.h:620
+msgid ""
+"To Remove the definitions, use the Custom Management dialog on the Tools "
+"menu.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:560
+#: ../../../../build/work/app/i18n/custmsg.h:622
+msgid "Select the definitions you added and Delete them.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmgroup.xtr:573
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:16
+#: ../../../../build/work/app/i18n/custmsg.h:625
+msgid ""
+"Now we will create a helix in the corner of the layout connected to 2 "
+"tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:28
+#: ../../../../build/work/app/i18n/custmsg.h:627
+#, c-format
+msgid ""
+"We will be creating a helix with a Elevation Difference of 12\", Grade of "
+"1.5% and limit the Vertical Separation to at least 2\".\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:34
+#: ../../../../build/work/app/i18n/custmsg.h:629
+msgid "First set the Elevation Difference to 12\"\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:43
+#: ../../../../build/work/app/i18n/custmsg.h:631
+msgid "Next set the Vertical Separation to 2\"\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:632
+msgid "Notice how this causes the number of Turns to be set to 6\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:52
+#: ../../../../build/work/app/i18n/custmsg.h:634
+msgid "Next set the Grade to 1.5%\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:635
+msgid "Notice how this causes the Radius to change.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:60
+#: ../../../../build/work/app/i18n/custmsg.h:637
+msgid ""
+"Setting these values changes the Radius to 21.2\" and the number of Turns to "
+"6.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:66
+#: ../../../../build/work/app/i18n/custmsg.h:639
+msgid ""
+"Now we specify the Angular Separation between the enterance and exit to the "
+"helix.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:640
+msgid "Note: this will decrease the Radius slightly.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:76
+#: ../../../../build/work/app/i18n/custmsg.h:642
+msgid "Next we can fine tune the helix by decreasing the Radius to 15\".\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:643
+msgid "Note the change to the Grade.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:85
+#: ../../../../build/work/app/i18n/custmsg.h:645
+msgid ""
+"Lastly change the Vertical Separation to 2.5\". The number of Turns will "
+"change to 4 and the grade increase to almost 3%.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:646
+msgid ""
+"Note: the Vertical Separation will be increased. This value is the "
+"Elevation Difference (12.0) divided by the total number of turns. The total "
+"number of turns is 4.25: 4 whole Turns plus a quarter turn for the Angular "
+"Separation.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:94
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:99
+#: ../../../../build/work/app/i18n/custmsg.h:649
+msgid ""
+"Now that the helix parameters are set we can place the helix on the layout.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:112
+#: ../../../../build/work/app/i18n/custmsg.h:651
+msgid ""
+"Next, join the 2 straight tracks to the helix in the same way we join to a "
+"circle.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:145
+#: ../../../../build/work/app/i18n/custmsg.h:653
+msgid ""
+"Notice that the length has increased because we have more than 4 turns in "
+"the helix. It is closer to 4.25 turns.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:155
+#: ../../../../build/work/app/i18n/custmsg.h:655
+msgid ""
+"Next, we assign elevations to the 2 End-Points of the helix. This will "
+"determine the grade and separation between the helix coils.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:656
+msgid ""
+"Note: we could set the elevations anywhere along the connecting tracks "
+"instead. XTrackCAD treats a helix as a single length of track for "
+"elevations.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:176
+#: ../../../../build/work/app/i18n/custmsg.h:658
+msgid ""
+"We have set the elevations to 1\" and 13\" to produce a grade of 3.0% with "
+"2.8\" between coils.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:659
+msgid ""
+"You can use the <Describe> command to change the number of Turns or the "
+"Elevations at either end of the Helix. This will affect the Grade and "
+"Vertical Separation.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:184
+#: ../../../../build/work/app/i18n/custmsg.h:661
+msgid "The helix description can be moved by the <Move Label> command.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhelix.xtr:194
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:16
+#: ../../../../build/work/app/i18n/custmsg.h:664
+msgid ""
+"In addition to using the turnout definitions you can create 'Hand Laid "
+"Turnout'.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:665
+msgid "This is two step process:\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:23
+#: ../../../../build/work/app/i18n/custmsg.h:667
+msgid "1 - click on the frog and drag away to set the frog angle\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:29
+#: ../../../../build/work/app/i18n/custmsg.h:669
+msgid ""
+" Hint: the further you drag from the frog, the more accurate the angle.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:34
+#: ../../../../build/work/app/i18n/custmsg.h:671
+msgid "2 - click and drag to set the position of the points\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:42
+#: ../../../../build/work/app/i18n/custmsg.h:673
+msgid "We can create Hand Laid Turnouts on curved tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:58
+#: ../../../../build/work/app/i18n/custmsg.h:675
+msgid "A Hand Laid Turnout is composed of several parts.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:67
+#: ../../../../build/work/app/i18n/custmsg.h:677
+msgid "The actual Turnout is a short portion at the points.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:77
+#: ../../../../build/work/app/i18n/custmsg.h:679
+msgid "The other parts are various straight and curved segments.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:81
+#: ../../../../build/work/app/i18n/custmsg.h:681
+msgid "The new curved turnout is also composed of several segments.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmhndld.xtr:107
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:7
+#: ../../../../build/work/app/i18n/custmsg.h:684
+msgid "Welcome to the XTrackCAD demonstration.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:685
+msgid ""
+"This will show some the features of XTrackCAD in an automated presentation. "
+"This window contains a number of controls and a message area (which I hope "
+"you are reading now). \n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:686
+msgid "The controls are:\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:687
+msgid "Step - advances to the next step of the demo.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:688
+msgid "Next - skips ahead to the next demo.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:689
+msgid "Quit - exits the demo and returns to XTrackCAD.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:690
+msgid "Speed - controls the speed of the demo.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:691
+msgid "Click Step now for the next message.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:23
+#: ../../../../build/work/app/i18n/custmsg.h:693
+msgid ""
+"If this is the first time you have used the demo you may want to rearrange "
+"the windows so the demo window does not obscure the main window.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:694
+msgid ""
+"You can move the demo window now by dragging on the title bar at the top of "
+"the window. I suggest you move it to the top of your screen.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:31
+#: ../../../../build/work/app/i18n/custmsg.h:696
+msgid ""
+"The various controls are disabled when it would be inappropiate to click on "
+"them. When the demo is running the Step button is disabled. When the demo "
+"is paused the Step button is enabled and you can click it when you are ready "
+"to view the next part of the demo.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:697
+msgid "You can click on Quit to return to XTrackCAD at any time.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:698
+msgid "You can adjust the speed of the demonstration with the Speed control.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:60
+#: ../../../../build/work/app/i18n/custmsg.h:700
+msgid "The demos are designed to fit within a certain sized window.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:701
+msgid ""
+"For best results, change the size of the main XTrackCAD window so the box "
+"shape is completely visible.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:702
+msgid "You can do this by clicking and dragging on a corner of the window.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:67
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmintro.xtr:72
+#: ../../../../build/work/app/i18n/custmsg.h:705
+msgid "This is the end of the introductory demo.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:706
+msgid ""
+"Please click Step for the next demo or click Quit to return to XTrackCAD.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjcir.xtr:14
+#: ../../../../build/work/app/i18n/custmsg.h:708
+msgid ""
+"You can also join to and from circles. This will change the circles to "
+"curves.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:709
+msgid "In this example we will join two circles.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjcir.xtr:24
+#: ../../../../build/work/app/i18n/custmsg.h:711
+msgid ""
+"Here we've selected points on the two circles. The direction of the "
+"connections (whether clockwise or counter clockwise) is controlled by where "
+"on the circle you select the connection points.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjcir.xtr:133
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjcir.xtr:152
+#: ../../../../build/work/app/i18n/custmsg.h:714
+msgid "Now let's try a cross connection.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjcir.xtr:246
+#: ../../../../build/work/app/i18n/custmsg.h:716
+msgid ""
+"Note that the connection is from different 'ends' of the circle than in the "
+"last example.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnabut.xtr:22
+#: ../../../../build/work/app/i18n/custmsg.h:718
+msgid "This examples shows joining tracks whose End-Points are aligned.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:719
+msgid ""
+"Note the 2 pairs of tracks have End-Points that are close and aligned but "
+"not connected.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnabut.xtr:30
+#: ../../../../build/work/app/i18n/custmsg.h:721
+msgid "The first case joins the curve and straight track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnabut.xtr:40
+#: ../../../../build/work/app/i18n/custmsg.h:723
+msgid "The second case will join the two straight tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnabut.xtr:50
+#: ../../../../build/work/app/i18n/custmsg.h:725
+msgid "Note that the two straight tracks were combined to form one track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnabut.xtr:55
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjncs.xtr:14
+#: ../../../../build/work/app/i18n/custmsg.h:728
+msgid ""
+"The <Join> command can also join straight and curved tracks (in either "
+"order).\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:729
+msgid "We will enable Cornu easements\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjncs.xtr:32
+#: ../../../../build/work/app/i18n/custmsg.h:731
+msgid "A connecting cornu track is drawn between the two tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjncs.xtr:41
+#: ../../../../build/work/app/i18n/custmsg.h:733
+msgid ""
+"Notice that the curved track is extended as the connection point moves past "
+"the End-Point.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjncs.xtr:54
+#: ../../../../build/work/app/i18n/custmsg.h:735
+msgid ""
+"Here the connection makes the curved track wrap around. This is not a "
+"useful shape, there is a discontinuity at the end. \n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:736
+msgid "Adjusting the end point will fix it. \n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjncs.xtr:64
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnmove.xtr:18
+#: ../../../../build/work/app/i18n/custmsg.h:739
+msgid "The <Join> command can move one group of tracks to join with another.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:740
+msgid ""
+"First <Select> the tracks you want to move with Ctrl so that they are both "
+"selected.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnmove.xtr:36
+#: ../../../../build/work/app/i18n/custmsg.h:742
+msgid "Click <Join> and Shift-Left-Click on the two End-Points.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnmove.xtr:51
+#: ../../../../build/work/app/i18n/custmsg.h:744
+msgid "The selected tracks are moved into position.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:14
+#: ../../../../build/work/app/i18n/custmsg.h:746
+msgid ""
+"Two straight tracks can be joined by selecting the two endoints. The "
+"selected endpoints will be those closest to the cursor when the track is "
+"selected.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:747
+msgid "First, we will select Easements None and then select Join\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:26
+#: ../../../../build/work/app/i18n/custmsg.h:749
+msgid "Now we select two points on the tracks\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:36
+#: ../../../../build/work/app/i18n/custmsg.h:751
+msgid ""
+"A connecting track is drawn between the two tracks. Notice how it moves as "
+"the cursor is dragged along the second track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:47
+#: ../../../../build/work/app/i18n/custmsg.h:753
+msgid ""
+"Note that two tracks are extended if you move past the end of the track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:55
+#: ../../../../build/work/app/i18n/custmsg.h:755
+msgid ""
+"Notice what happens if you drag past the intersection points of the two "
+"tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:63
+#: ../../../../build/work/app/i18n/custmsg.h:757
+msgid "This is probably not a very useful thing to do.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:70
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:90
+#: ../../../../build/work/app/i18n/custmsg.h:760
+msgid "Now we will do this with Cornu Easements \n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:761
+msgid "First, we will select Easements Cornu and then select Join\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:102
+#: ../../../../build/work/app/i18n/custmsg.h:763
+msgid "Now we again select two points on the tracks\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:112
+#: ../../../../build/work/app/i18n/custmsg.h:765
+msgid ""
+"A connecting cornu is drawn between the two tracks. Notice how it behaves "
+"as the cursor is dragged along the second track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:123
+#: ../../../../build/work/app/i18n/custmsg.h:767
+msgid ""
+"Note that either tracks can be extended if you move past the end of it.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:131
+#: ../../../../build/work/app/i18n/custmsg.h:769
+msgid ""
+"Notice this time what happens if you drag past the intersection points of "
+"the two tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:139
+#: ../../../../build/work/app/i18n/custmsg.h:771
+msgid "This is more useful because you can move the other end as well.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:150
+#: ../../../../build/work/app/i18n/custmsg.h:773
+msgid "You can add a pin to constrain the Cornu Curve to pass through it.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjnss.xtr:161
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:16
+#: ../../../../build/work/app/i18n/custmsg.h:776
+msgid "You can connect from any track to a turntable\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:777
+msgid "With a Cornu Easement you can have a turntable as the first point.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:38
+#: ../../../../build/work/app/i18n/custmsg.h:779
+msgid ""
+"You cannot place the connecting track too close to an existing stall track. "
+"How close you can get is controlled by the Turntable Angle on the Setup "
+"dialog.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:780
+msgid "In this example it is set to 15 degrees.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:54
+#: ../../../../build/work/app/i18n/custmsg.h:782
+msgid "You can drag the connecting point all round the turntable.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:103
+#: ../../../../build/work/app/i18n/custmsg.h:784
+msgid ""
+"As you drag away from the turntable a straight track will be drawn to the "
+"cursor postion and a curve will be drawn from the cursor to the connecting "
+"track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:111
+#: ../../../../build/work/app/i18n/custmsg.h:786
+msgid ""
+"Now the cursor will be moved within the turntable, but the end stays on the "
+"edge of the well.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:161
+#: ../../../../build/work/app/i18n/custmsg.h:788
+msgid "All done.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmjntt.xtr:169
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:38
+#: ../../../../build/work/app/i18n/custmsg.h:791
+msgid ""
+"The Draw Commands are used to draw straight and curved lines on the layout.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:46
+#: ../../../../build/work/app/i18n/custmsg.h:793
+msgid ""
+"Lines are drawn by clicking at the starting postion and dragging to the "
+"final position.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:794
+msgid ""
+"By default, the new line will snap to existing objects. Hold down the "
+"<Ctrl> and <Alt> keys to prevent this from happening.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:91
+#: ../../../../build/work/app/i18n/custmsg.h:796
+msgid "You also draw in various colors and line widths.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:109
+#: ../../../../build/work/app/i18n/custmsg.h:798
+msgid ""
+"Like Curved Tracks, Curved Lines can be drawn by a variety of methods.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:799
+msgid ""
+"Here we will draw a Curve by dragging from one End-Point to the other to "
+"define the chord of the Curve. Then we will drag from the center to shape "
+"the curve.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:184
+#: ../../../../build/work/app/i18n/custmsg.h:801
+msgid "Boxes are useful for drawing rectangular shapes.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:194
+#: ../../../../build/work/app/i18n/custmsg.h:803
+msgid ""
+"Circles can be drawn by clicking on the center or edge and dragging to set "
+"the radius.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:804
+msgid "Here we will drag from the Center.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:204
+#: ../../../../build/work/app/i18n/custmsg.h:806
+msgid "Lines and Shapes can be deleted by Selecting and Deleting.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines.xtr:227
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:91
+#: ../../../../build/work/app/i18n/custmsg.h:809
+msgid "We also draw Polylines and filled shapes.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:98
+#: ../../../../build/work/app/i18n/custmsg.h:811
+msgid ""
+"A Polyline is drawn by dragging to place each of the point in the Polyline.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:125
+#: ../../../../build/work/app/i18n/custmsg.h:813
+msgid ""
+"To finish off the Polyline press the <Space> key or choose another drawing "
+"type.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:132
+#: ../../../../build/work/app/i18n/custmsg.h:815
+msgid "A filled Polygon is drawn in the same way.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:158
+#: ../../../../build/work/app/i18n/custmsg.h:817
+msgid "When you are finished, press the <Space> key to complete the polygon.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:165
+#: ../../../../build/work/app/i18n/custmsg.h:819
+msgid ""
+"You can use the Above and Below Commands to move lines and shapes to the "
+"front or back of the drawing.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:182
+#: ../../../../build/work/app/i18n/custmsg.h:821
+msgid "Filled Boxes and Circles work the same as line Boxes and Circles.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmlines2.xtr:199
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:8
+#: ../../../../build/work/app/i18n/custmsg.h:824
+msgid ""
+"In the drawing area of the main window you can see an hollow upwards arrow "
+"which represents the mouse cursor. In this demo the mouse will move about "
+"to show you the actions of different commands.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:825
+msgid ""
+"The hollow arrow represents the mouse cursor without a mouse button being "
+"pressed.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:16
+#: ../../../../build/work/app/i18n/custmsg.h:827
+msgid ""
+"When the left mouse button would be pressed, the mouse cursor appears to "
+"flash and the hollow arrow is replaced by a solid left-pointing red arrow "
+"while the button is pressed.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:828
+msgid ""
+"Note: these color changes occur only during the demo to simulate mouse "
+"button presses.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:24
+#: ../../../../build/work/app/i18n/custmsg.h:830
+msgid ""
+"Moving the mouse while a mouse button is pressed is called 'dragging'.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:32
+#: ../../../../build/work/app/i18n/custmsg.h:832
+msgid ""
+"When the left mouse button is released, the mouse cursor flashes and the "
+"hollow up black arrow is restored.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:40
+#: ../../../../build/work/app/i18n/custmsg.h:834
+msgid ""
+"Dragging with the right button is simulated by a blue right-facing solid "
+"cursor.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:49
+#: ../../../../build/work/app/i18n/custmsg.h:836
+#, fuzzy
+msgid "Release Right Click\n"
+msgstr "Правый клик"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:57
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:62
+#: ../../../../build/work/app/i18n/custmsg.h:839
+msgid "Sometimes the Shift key is held down while using the mouse \n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:840
+msgid ""
+"This is indicated by an outlined arrow with the letter S near the arrow.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:71
+#: ../../../../build/work/app/i18n/custmsg.h:842
+msgid ""
+"The left mouse button is held down with the Shift and dragged for a Left-"
+"Shift-Drag. \n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:86
+#: ../../../../build/work/app/i18n/custmsg.h:844
+msgid "Sometimes the Control key is held down while using the mouse. \n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:845
+msgid ""
+"This is indicated with an upward filled arrow head with the letter C near "
+"the arrow \n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:98
+#: ../../../../build/work/app/i18n/custmsg.h:847
+msgid ""
+"If while the Control is held the Left mouse button is held down it is a Ctrl-"
+"Move and a Ctrl-Left-Drag. \n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:848
+msgid ""
+"This is indicated by an an left-facing open-headed arrow with the letter C "
+"near it.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:114
+#: ../../../../build/work/app/i18n/custmsg.h:850
+msgid "You can also use the Control key with the Right mouse button. \n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:851
+msgid ""
+"This is indicated with a right-facing filled arrow with an open arrow head "
+"and the letter C near the arrow \n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmouse.xtr:130
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:23
+#: ../../../../build/work/app/i18n/custmsg.h:854
+msgid ""
+"The main drawing area shows a portion of total layout. You can zoom in or "
+"zoom out by choosing 'Zoom In' or 'Zoom Out' in the 'Edit' menu, by using "
+"the Zoom buttons on the toolbar or by using the 'Page Down' and 'Page Up' "
+"keys.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:855
+msgid "You can see the entire layout in the Map window.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:33
+#: ../../../../build/work/app/i18n/custmsg.h:857
+msgid "As you Zoom Out tracks are drawn with one line instead of two.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:49
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:54
+#: ../../../../build/work/app/i18n/custmsg.h:860
+msgid ""
+"You can change what portion of the layout is shown by using the 'Map' window "
+"which shows a compressed version of the entire layout. A hilighted area of "
+"the 'Map' (in blue highlight) shows what portion of the layout is displayed "
+"in the main drawing area.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:861
+msgid ""
+"You can Left-Drag the hilighted area in the Map window to change the "
+"displayed portion of the layout.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:63
+#: ../../../../build/work/app/i18n/custmsg.h:863
+msgid ""
+"You can also Right-Drag on the Map window to set the scale and position of "
+"the Main window.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmmovabt.xtr:72
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmnotes.xtr:6
+#: ../../../../build/work/app/i18n/custmsg.h:866
+msgid ""
+"The <Note> command lets you attach notes to various spots on the layout.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmnotes.xtr:14
+#: ../../../../build/work/app/i18n/custmsg.h:868
+msgid ""
+"When you place a note, the Note editor window is displayed which lets you "
+"enter the note.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmnotes.xtr:22
+#: ../../../../build/work/app/i18n/custmsg.h:870
+msgid ""
+"If you click on a note in <Describe> mode the Note editor displays the "
+"note.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmnotes.xtr:39
+#: ../../../../build/work/app/i18n/custmsg.h:872
+msgid "This is the end of the XTrackCAD Demos.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:873
+msgid "Click Step to return to XTrackCAD.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:874
+msgid "Thanks for watching.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:32
+#: ../../../../build/work/app/i18n/custmsg.h:876
+msgid "This example shows how to create parallel tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:37
+#: ../../../../build/work/app/i18n/custmsg.h:878
+msgid ""
+"The separation is set in the <Parallel Separation> window. You should set "
+"this value before you begin to select tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:49
+#: ../../../../build/work/app/i18n/custmsg.h:880
+msgid ""
+"You control which side the parallel track will be on by moving the cursor "
+"from one side of the track centerline to the other.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:81
+#: ../../../../build/work/app/i18n/custmsg.h:882
+msgid "When you release the mouse button the new parallel track is created.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:883
+msgid ""
+"Note that the <Parallel> command remains active after you created the "
+"track. This is controlled by the Sticky dialog in the Options menu.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:92
+#: ../../../../build/work/app/i18n/custmsg.h:885
+msgid "You cannot create a track parallel to a turnout.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:172
+#: ../../../../build/work/app/i18n/custmsg.h:887
+msgid ""
+"Note that the new curved track is automatically connected to the short "
+"parallel track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmparall.xtr:180
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:19
+#: ../../../../build/work/app/i18n/custmsg.h:890
+msgid ""
+"Polylines and polygons (created with the <Draw> command) can be modified by "
+"dragging on their corners or edges.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:891
+msgid "First Left Click on the shape you want to modify.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:29
+#: ../../../../build/work/app/i18n/custmsg.h:893
+msgid "Then drag on the point you want to move\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:39
+#: ../../../../build/work/app/i18n/custmsg.h:895
+msgid "And finally press the Space bar to finish the change\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:54
+#: ../../../../build/work/app/i18n/custmsg.h:897
+msgid "If you select the middle of an Edge a new Corner is created.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:72
+#: ../../../../build/work/app/i18n/custmsg.h:899
+msgid "To delete a corner, select and then press Delete or Backspace\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:98
+#: ../../../../build/work/app/i18n/custmsg.h:901
+msgid "But you cannot have a Poly-shape with less than 3 sides.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmplymod.xtr:126
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:126
+#: ../../../../build/work/app/i18n/custmsg.h:904
+msgid ""
+"To use the <Profile> command you first need to define Elevations on your "
+"layout.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:905
+msgid "In this example we'll use the Elevations defined in the last example.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:906
+msgid "You can move or resize the Profile dialog now if you want.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:135
+#: ../../../../build/work/app/i18n/custmsg.h:908
+msgid ""
+"To show the Profile you need to select a Path on the tracks of your layout.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:909
+msgid "Select a Defined Elevation point (marked by Gold dots).\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:910
+msgid "We will start with the right end of the siding.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:148
+#: ../../../../build/work/app/i18n/custmsg.h:912
+msgid ""
+"The second Point is at the left end of the siding. The Path will be drawn "
+"in Purple on the layout.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:160
+#: ../../../../build/work/app/i18n/custmsg.h:914
+msgid "Now select the end of one of the Branches\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:169
+#: ../../../../build/work/app/i18n/custmsg.h:916
+msgid ""
+"The Profile line is drawn in Red. This indicates that there some turnouts "
+"on that section of the Path which have more than 2 connections.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:917
+msgid ""
+"The grade on this part of the Path is the average and may be affected by "
+"other Elevations, such the end of the lower branch.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:178
+#: ../../../../build/work/app/i18n/custmsg.h:919
+msgid "Now try to select the End-Point of the other branch.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:920
+msgid ""
+"You will get an error message because there is no route to one of the ends "
+"of the existing Path.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:187
+#: ../../../../build/work/app/i18n/custmsg.h:922
+msgid ""
+"In this case remove the last part of the Path by clicking on current end of "
+"the Path and reselect the End-Point.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:198
+#: ../../../../build/work/app/i18n/custmsg.h:924
+msgid "Notice that the Grade has changed on the Profile.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:205
+#: ../../../../build/work/app/i18n/custmsg.h:926
+msgid ""
+"You can Ignore End-Points on the Path by using Shift-Right-Click to display "
+"the Profile Options popup menu and chosing Ignore.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:927
+msgid ""
+"Note: We can't show the menu in demo mode but we will show the effect of a "
+"Shift Right Click and selecting ignore. We will be Ignoring the End-Point "
+"of the Turnout that is not on the Path.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:217
+#: ../../../../build/work/app/i18n/custmsg.h:929
+msgid "Notice that part of the Profile line is redrawn in Blue.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:930
+msgid ""
+"Also, the Computed Elevations and Grade marker on the right side of the "
+"layout have been updated.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:225
+#: ../../../../build/work/app/i18n/custmsg.h:932
+msgid ""
+"You can set additional Defined Elevation points using the Profile Options "
+"popup menu. These points are added to the Profile if they are on the Path.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:933
+msgid ""
+"We do this by Shift Right Click to display the Profile Options popup menu "
+"and selecting Define.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:237
+#: ../../../../build/work/app/i18n/custmsg.h:935
+msgid ""
+"We've just added a Defined Elevation point to the middle of the lower "
+"branch. Notice the addition on the Profile dialog.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:246
+#: ../../../../build/work/app/i18n/custmsg.h:937
+msgid ""
+"For the siding we defined a Station name but it's not on the Path, since the "
+"Path takes the shortest distance between points.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:938
+msgid ""
+"We can Ignore one of the End-Points on a Turnout to force the Path to take "
+"the other route.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:939
+msgid ""
+"Again we use Shift-Right-Click to display the Profile Options menu and "
+"select ignore.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:258
+#: ../../../../build/work/app/i18n/custmsg.h:941
+msgid "Now remove the First section of the Path,\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:268
+#: ../../../../build/work/app/i18n/custmsg.h:943
+msgid "and reselect it.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:277
+#: ../../../../build/work/app/i18n/custmsg.h:945
+msgid ""
+"Now the Path goes through the Station End-Point and the name appears on the "
+"Profile dialog.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:286
+#: ../../../../build/work/app/i18n/custmsg.h:947
+msgid "Now we need to increase the separation where the tracks cross.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:948
+msgid ""
+"The two Elevations you see here are Computed Elevations which means "
+"XTrackCAD dynamically computes the Elevation based on the Elevations of "
+"connecting tracks.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:949
+msgid ""
+"First make the lower End-Point a Defined Elevation point using Shift-Right-"
+"Click and the Profile Options menu. You will see the End-Point marked by a "
+"Gold dot and a new line is added to the Profile dialog.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:297
+#: ../../../../build/work/app/i18n/custmsg.h:951
+msgid "Now, drag the point on the Profile Dialog to change the Elevation.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:952
+msgid ""
+"Note the grade on each side of the point will be displayed at the bottom of "
+"the Profile dialog.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:319
+#: ../../../../build/work/app/i18n/custmsg.h:954
+msgid ""
+"After we release the Profile is updated to show the new Elevation and "
+"Grade.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmprof.xtr:326
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:119
+#: ../../../../build/work/app/i18n/custmsg.h:957
+msgid "The <Rescale> command will change the size of the selected objects.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:958
+msgid "First we will try rescaling by ratio.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:126
+#: ../../../../build/work/app/i18n/custmsg.h:960
+msgid "We are going to make everything 150% bigger.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:136
+#: ../../../../build/work/app/i18n/custmsg.h:962
+msgid "Note the track gauge did not change.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:143
+#: ../../../../build/work/app/i18n/custmsg.h:964
+msgid "Let's try that again.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:965
+msgid "Now we are going to convert from one scale to another.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:154
+#: ../../../../build/work/app/i18n/custmsg.h:967
+msgid "We will convert everything from N scale to HO scale...\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:161
+#: ../../../../build/work/app/i18n/custmsg.h:969
+msgid "and change the track gauge as well.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:169
+#: ../../../../build/work/app/i18n/custmsg.h:971
+msgid "Note that the Title of the turnout did not change.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrescal.xtr:177
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrotate.xtr:72
+#: ../../../../build/work/app/i18n/custmsg.h:974
+msgid ""
+"The <Rotate> command will pivot the Selected objects. First Click on the "
+"pivot point and then drag to Rotate the objects.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:975
+msgid ""
+"In this example we will rotate the selected structure about it's center.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrotate.xtr:135
+#: ../../../../build/work/app/i18n/custmsg.h:977
+msgid ""
+"The <Rotate> command will restrict the rotation to increments of 15° if you "
+"hold down the <Shift> and <Ctrl> keys.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrotate.xtr:316
+#: ../../../../build/work/app/i18n/custmsg.h:979
+msgid ""
+"There are Rotate options that you can access by Shift-Right-Click command "
+"menu and choosing 'Rotate...'.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:980
+msgid ""
+"You can rotate the selected object by a fixed rotatation (15, 30, 45, 90, "
+"180) either clockwise or counter-clockwise, or by manually entering any "
+"angle.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:981
+msgid ""
+"The other option is 'Align' which allows you align selected objects with an "
+"unselected object. This is useful to align railside buildings with track.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:982
+msgid "Unfortunately, we can not currently demonstrate these features.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmrotate.xtr:529
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmruler.xtr:14
+#: ../../../../build/work/app/i18n/custmsg.h:985
+msgid ""
+"The <Ruler> command draws a Ruler on the layout you can use to measure "
+"distances.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmruler.xtr:24
+#: ../../../../build/work/app/i18n/custmsg.h:987
+msgid "If you press the <Ruler> command again the Ruler is removed.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmruler.xtr:32
+#: ../../../../build/work/app/i18n/custmsg.h:989
+msgid "But you can place it somewhere else.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmruler.xtr:42
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:173
+#: ../../../../build/work/app/i18n/custmsg.h:992
+msgid "The <Select> command is used to select tracks.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:993
+msgid "Selected tracks can be moved or rotated during the <Select> command.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:994
+msgid "Selected tracks can also be deleted, hidden, listed and exported.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:995
+msgid ""
+"When you move the cursor near a track that could be selected, the track is "
+"drawn with think blue lines.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:184
+#: ../../../../build/work/app/i18n/custmsg.h:997
+#, fuzzy
+msgid "A Left-Click selects a track\n"
+msgstr "Выберите трек"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:192
+#: ../../../../build/work/app/i18n/custmsg.h:999
+msgid ""
+"The selected track will have red X's drawn where it is connected to "
+"unselected tracks. This indicates where the track will be disconnected if "
+"the selected tracks are moved, rotated or deleted.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1000
+msgid "A Ctrl-Left-Click adds tracks to the selection\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:211
+#: ../../../../build/work/app/i18n/custmsg.h:1002
+msgid "Selecting a selected track re-selects only it.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:219
+#: ../../../../build/work/app/i18n/custmsg.h:1004
+msgid "Selecting off all tracks de-selects them.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:227
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:232
+#: ../../../../build/work/app/i18n/custmsg.h:1007
+msgid ""
+"To demonstrate Select Connected, first select two tracks at the end of a "
+"part to be selected \n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:248
+#: ../../../../build/work/app/i18n/custmsg.h:1009
+msgid ""
+"Shift-Left-Click on a track will select all unselected tracks connected to "
+"the track. Selection stops at a previously selected track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:260
+#: ../../../../build/work/app/i18n/custmsg.h:1011
+msgid ""
+"Be careful with this because its very easy to select all tracks this way\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:274
+#: ../../../../build/work/app/i18n/custmsg.h:1013
+msgid "The <esc> key will deselect all objects.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:282
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:287
+#: ../../../../build/work/app/i18n/custmsg.h:1016
+msgid "Left-Drag is used to select all objects within an area.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:295
+#: ../../../../build/work/app/i18n/custmsg.h:1018
+msgid "Shift-Left-Drag is used to move selected tracks.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1019
+msgid ""
+"When you move selected tracks that are connected to unselected tracks, the "
+"tracks will be disconnected. These points are marked by a Red cross on the "
+"layout.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1020
+msgid ""
+"If the unconnected end point of a track and one being moved are close "
+"enough, two circles are displayed, showing where the tracks will be snapped "
+"together. \n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:313
+#: ../../../../build/work/app/i18n/custmsg.h:1022
+msgid "Let's move the Main window to see what's going on next\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:320
+#: ../../../../build/work/app/i18n/custmsg.h:1024
+msgid ""
+"Ctrl-Left-Drag rotates the selected tracks about the pivot point (which is "
+"where you started the drag)\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:382
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:387
+#: ../../../../build/work/app/i18n/custmsg.h:1027
+msgid ""
+"Next we select the <Join Tracks> command to demonstrate \"Move To Join\" \n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:392
+#: ../../../../build/work/app/i18n/custmsg.h:1029
+msgid ""
+"You can use Shift-Left-Click to select an open endpoint of a selected track "
+"to join with an unselected track. \n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1030
+msgid "We'll move the Main window again.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:415
+#: ../../../../build/work/app/i18n/custmsg.h:1032
+msgid ""
+"You then Left-Click on an endpoint of a unselected track to move the "
+"selected tracks to join. \n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmselect.xtr:430
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:30
+#: ../../../../build/work/app/i18n/custmsg.h:1035
+msgid "The <Split> command is used to split and disconnect tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:35
+#: ../../../../build/work/app/i18n/custmsg.h:1037
+msgid "Simply select the spot on the track you want to split.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1038
+msgid "You cannot split turnouts (unless you hold down the Shift key).\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:48
+#: ../../../../build/work/app/i18n/custmsg.h:1040
+msgid ""
+"If you split at spot that is already an End-Point between two tracks, or "
+"split twice at the same spot, the track is disconnected.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:60
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:65
+#: ../../../../build/work/app/i18n/custmsg.h:1043
+msgid "The <Tunnel> command marks selected tracks as hidden.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1044
+msgid ""
+"A tunnel portal is drawn at the boundary between hidden and normal track.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1045
+msgid ""
+"How the hidden tracks are drawn (solid, dashed or invisible) is controlled "
+"by the Draw EndPts radio button group on the Setup dialog.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:86
+#: ../../../../build/work/app/i18n/custmsg.h:1047
+msgid ""
+"To 'un-hide' a track just Select it again and click the Tunnel button.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmsplit.xtr:100
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmstrtrk.xtr:6
+#: ../../../../build/work/app/i18n/custmsg.h:1050
+msgid ""
+"Straight tracks are created by selecting the first End-Point of the track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmstrtrk.xtr:12
+#: ../../../../build/work/app/i18n/custmsg.h:1052
+msgid "Then the other End-Point is dragged to its final postion.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmstrtrk.xtr:20
+#: ../../../../build/work/app/i18n/custmsg.h:1054
+msgid "The left mouse button is released at the final end postion.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmstrtrk.xtr:27
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtbledg.xtr:23
+#: ../../../../build/work/app/i18n/custmsg.h:1057
+msgid ""
+"Table Edges are used to mark the edges of the layout, either for aisles or "
+"room walls.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtbledg.xtr:47
+#: ../../../../build/work/app/i18n/custmsg.h:1059
+msgid "A Table Edge is attracted to the ends of other Table Edges.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtbledg.xtr:132
+#: ../../../../build/work/app/i18n/custmsg.h:1061
+msgid "Table Edges can be modified by dragging on their ends.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtbledg.xtr:180
+#: ../../../../build/work/app/i18n/custmsg.h:1063
+msgid ""
+"If you hold down the Control key while dragging then the Table Edge will be "
+"attracted to other objects.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtbledg.xtr:218
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtodes.xtr:6
+#: ../../../../build/work/app/i18n/custmsg.h:1066
+msgid ""
+"These examples shows some of the various Turnout Designer windows. Each "
+"window defines a different type of turnout.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1067
+msgid ""
+"In each window there are a number of parameters to fill in and one or two "
+"description lines.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1068
+msgid "You can print the design to check the dimensions before saving them.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtodes.xtr:16
+#: ../../../../build/work/app/i18n/custmsg.h:1070
+msgid "This is the regular turnout.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1071
+msgid ""
+"In addition to the dimensions, you also enter the Title (Manufacturer, "
+"Description and Part Number). For Turnouts with Left and Right hand "
+"versions there are separate Descriptions and Part Numbers.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1072
+msgid ""
+"Some Turnouts and Sectional track are pre-mounted on roadbed. For these "
+"parts you can specify the width of the roadbed, the thickness of the lines "
+"drawn for the edge of the roadbed and the color.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtodes.xtr:30
+#: ../../../../build/work/app/i18n/custmsg.h:1074
+msgid "The double slip switch is described by only a few parameters.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtodes.xtr:40
+#: ../../../../build/work/app/i18n/custmsg.h:1076
+msgid "The double crossover only needs length and track separation.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtodes.xtr:48
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:30
+#: ../../../../build/work/app/i18n/custmsg.h:1079
+msgid ""
+"Pressing the turnout button displays the Turnout Selection window to let you "
+"choose a turnout to place.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1080
+msgid ""
+"Note that once you start to place the turnout on the Main window the Turnout "
+"Selection window disappears. This feature is enabled by the Hide toggle "
+"button on the dialog.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:38
+#: ../../../../build/work/app/i18n/custmsg.h:1082
+msgid ""
+"You can place the turnout on a arbitrary position on the layout. Left-drag "
+"the turnout into place...\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:85
+#: ../../../../build/work/app/i18n/custmsg.h:1084
+msgid "Then you can rotate the turnout by Right dragging.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1085
+msgid ""
+"You can also use Shift-Right-Click to display a popup menu that lets you "
+"rotate the Turnout by specific angles.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:136
+#: ../../../../build/work/app/i18n/custmsg.h:1087
+msgid ""
+"When you are satisfied with the position and orientation of the turnout "
+"press Space bar or the Return key on the keyboard to finish placing the "
+"turnout.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1088
+msgid ""
+"Pressing the Close button on the Turnout dialog will end the <Turnout> "
+"command as well as placing the turnout.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:146
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:189
+#: ../../../../build/work/app/i18n/custmsg.h:1091
+msgid ""
+"If you drag along an existing track the new turnout will be attached to the "
+"track.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1092
+msgid ""
+"Note that the status line tells you the number of End-Points that would be "
+"connected and, the maximum displacement of the End-Points. This will be "
+"useful when building complex track, as we will see later.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:220
+#: ../../../../build/work/app/i18n/custmsg.h:1094
+msgid ""
+"By moving the cursor from one side to the other of the track centerline you "
+"can flip the turnout 180ᅵ.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:236
+#: ../../../../build/work/app/i18n/custmsg.h:1096
+msgid ""
+"If you try to drag across another turnout the new turnout will placed at the "
+"nearest End-Point of the existing turnout.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:299
+#: ../../../../build/work/app/i18n/custmsg.h:1098
+msgid ""
+"When you press Space or Return while the turnout is on a track, the track "
+"will be split and the new turnout attached automatically.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:307
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:366
+#: ../../../../build/work/app/i18n/custmsg.h:1101
+msgid "Pressing Close ends the <Turnout> command.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtosel.xtr:372
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:21
+#: ../../../../build/work/app/i18n/custmsg.h:1104
+msgid "Sometimes it's useful to modify turnouts triming one of the ends.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1105
+msgid "We use the <Split> command for this.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:28
+#: ../../../../build/work/app/i18n/custmsg.h:1107
+msgid "Normally, if we try to Split a turnout we get an error message.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:37
+#: ../../../../build/work/app/i18n/custmsg.h:1109
+msgid "Hold down the Shift key and try again.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:52
+#: ../../../../build/work/app/i18n/custmsg.h:1111
+msgid ""
+"The end of the turnout has been replaced by a piece of straight flex track "
+"which we can modify.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:63
+#: ../../../../build/work/app/i18n/custmsg.h:1113
+msgid "We can try splitting the diverging leg.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:74
+#: ../../../../build/work/app/i18n/custmsg.h:1115
+msgid ""
+"Notice that the tail of the diverging leg has been changed to a curved "
+"track...\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:84
+#: ../../../../build/work/app/i18n/custmsg.h:1117
+msgid "and a straight track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtotrim.xtr:92
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:12
+#: ../../../../build/work/app/i18n/custmsg.h:1120
+msgid ""
+"This example show how to layout a yard using the <Turnout> and <Parallel> "
+"commands.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:17
+#: ../../../../build/work/app/i18n/custmsg.h:1122
+msgid ""
+"You can resize and move the Turnout Selection dialog if it obscures the "
+"other windows.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1123
+msgid "First we place a turnout on the main line.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:35
+#: ../../../../build/work/app/i18n/custmsg.h:1125
+msgid "Next extend the turnout with the <Modify> command.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:46
+#: ../../../../build/work/app/i18n/custmsg.h:1127
+msgid ""
+"Now create a track parallel to the main line. Make sure the separation is "
+"reasonable for your scale.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:62
+#: ../../../../build/work/app/i18n/custmsg.h:1129
+msgid "And place a turnout to connect the new track.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1130
+msgid "We'll zoom in here to see what's going on.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:78
+#: ../../../../build/work/app/i18n/custmsg.h:1132
+msgid ""
+"Notice how we control which way the turnout is facing by moving the mouse "
+"across the center line of the track.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:94
+#: ../../../../build/work/app/i18n/custmsg.h:1134
+msgid ""
+"The Status bar displays the number of auto-connections that will be made and "
+"the maximum offset.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1135
+msgid ""
+"XTrackCAD adjusts the turnout position for the best fit to minimize any "
+"connection offset\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:106
+#: ../../../../build/work/app/i18n/custmsg.h:1137
+msgid "Note that placing the turnout splits the parallel track.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1138
+msgid "We have to delete the leftover piece by Selecting and Deleting it.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:120
+#: ../../../../build/work/app/i18n/custmsg.h:1140
+msgid "Repeat the process for the other tracks in the yard.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:149
+#: ../../../../build/work/app/i18n/custmsg.h:1142
+msgid "For the last track we will join with a curve instead of a turnout.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtoyard.xtr:185
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrkwid.xtr:91
+#: ../../../../build/work/app/i18n/custmsg.h:1145
+msgid "We can indicate the mainline by making the rails wider.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1146
+msgid "First we select the mainline tracks...\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrkwid.xtr:128
+#: ../../../../build/work/app/i18n/custmsg.h:1148
+msgid "And then select Medium Tracks from the Edit menu.\n"
+msgstr ""
+
+#: ../../../../build/work/app/i18n/custmsg.h:1149
+msgid "We can't show the Edit menu, but we can show the effect.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrkwid.xtr:137
+#: ../../../../build/work/app/i18n/custmsg.h:1151
+msgid "We can make the rail thicker by selecting Thick Tracks.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrkwid.xtr:148
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrntab.xtr:6
+#: ../../../../build/work/app/i18n/custmsg.h:1154
+msgid ""
+"Turntables are created by specifying the radius in a dialog box on the "
+"Status Bar. The radius in the dialog can be changed before proceeding.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrntab.xtr:15
+#: ../../../../build/work/app/i18n/custmsg.h:1156
+msgid "Then the turntable is dragged to its final location.\n"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/demos/dmtrntab.xtr:22
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:317
+#: ../../../../build/work/app/i18n/custmsg.h:1159
+msgid "Introduction"
+msgstr "Вступление"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:318
+#: ../../../../build/work/app/i18n/custmsg.h:1161
+msgid "Mouse Actions"
+msgstr "События мыши"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:319
+#: ../../../../build/work/app/i18n/custmsg.h:1163
+msgid "Dialogs"
+msgstr "Диалоговые окна"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:320
+#: ../../../../build/work/app/i18n/custmsg.h:1165
+msgid "Moving about"
+msgstr "Перемещения"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:321
+#: ../../../../build/work/app/i18n/custmsg.h:1167
+msgid "Describe and Select"
+msgstr "Подпись и выбор"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:322
+#: ../../../../build/work/app/i18n/custmsg.h:1169
+msgid "Describe"
+msgstr "Подпись"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:324
+#: ../../../../build/work/app/i18n/custmsg.h:1173
+msgid "Simple tracks"
+msgstr "Простые трек"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:325
+#: ../../../../build/work/app/i18n/custmsg.h:1175
+msgid "Straight tracks"
+msgstr "Прямые треки"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:326
+#: ../../../../build/work/app/i18n/custmsg.h:1177
+msgid "Curved tracks"
+msgstr "Кривые треки"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:327
+#: ../../../../build/work/app/i18n/custmsg.h:1179
+msgid "Circles"
+msgstr "Окружности"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:328
+#: ../../../../build/work/app/i18n/custmsg.h:1181
+msgid "Turntables"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:329
+#: ../../../../build/work/app/i18n/custmsg.h:1183
+msgid "Modifying tracks"
+msgstr "Изменение треков"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:330
+#: ../../../../build/work/app/i18n/custmsg.h:1185
+msgid "Modifying end points "
+msgstr "Изменение конечных точек "
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:331
+#: ../../../../build/work/app/i18n/custmsg.h:1187
+msgid "Extending"
+msgstr "Расширение"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:332
+#: ../../../../build/work/app/i18n/custmsg.h:1189
+msgid "Medium and Thick Tracks"
+msgstr "Средние и толстые треки"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:333
+#: ../../../../build/work/app/i18n/custmsg.h:1191
+msgid "Joining Tracks"
+msgstr "Соединение треков"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:334
+#: ../../../../build/work/app/i18n/custmsg.h:1193
+msgid "Straight to straight"
+msgstr "Прямая к прямой"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:335
+#: ../../../../build/work/app/i18n/custmsg.h:1195
+msgid "Curve to straight"
+msgstr "Кривая к прямой"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:336
+#: ../../../../build/work/app/i18n/custmsg.h:1197
+msgid "Circle to circle"
+msgstr "Круг к кругу"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:337
+#: ../../../../build/work/app/i18n/custmsg.h:1199
+msgid "Joining to turntables"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:338
+#: ../../../../build/work/app/i18n/custmsg.h:1201
+msgid "Easements"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:339
+#: ../../../../build/work/app/i18n/custmsg.h:1203
+msgid "Abutting tracks"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:340
+#: ../../../../build/work/app/i18n/custmsg.h:1205
+msgid "Move to Join"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:342
+#: ../../../../build/work/app/i18n/custmsg.h:1209
+msgid "Select and Placement"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:343
+#: ../../../../build/work/app/i18n/custmsg.h:1211
+msgid "Building a yard throat."
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:344
+#: ../../../../build/work/app/i18n/custmsg.h:1213
+msgid "Designing turnouts"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:345
+#: ../../../../build/work/app/i18n/custmsg.h:1215
+msgid "Group and Ungroup"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:346
+#: ../../../../build/work/app/i18n/custmsg.h:1217
+msgid "Triming Turnout Ends"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:347
+#: ../../../../build/work/app/i18n/custmsg.h:1219
+msgid "Handlaid Turnouts"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:348
+#: ../../../../build/work/app/i18n/custmsg.h:1221
+msgid "Elevations and Profile"
+msgstr "Высоты и профиль"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:349
+#: ../../../../build/work/app/i18n/custmsg.h:1223
+msgid "Elevations"
+msgstr "Высоты"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:351
+#: ../../../../build/work/app/i18n/custmsg.h:1227
+msgid "Misc track commands"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:352
+#: ../../../../build/work/app/i18n/custmsg.h:1229
+msgid "Delete and Undo"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:353
+#: ../../../../build/work/app/i18n/custmsg.h:1231
+msgid "Splitting and Tunnels"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:355
+#: ../../../../build/work/app/i18n/custmsg.h:1235
+msgid "Helix tracks"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:356
+#: ../../../../build/work/app/i18n/custmsg.h:1237
+msgid "Exception Tracks"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:358
+#: ../../../../build/work/app/i18n/custmsg.h:1241
+msgid "Connect and Tighten - a siding"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:359
+#: ../../../../build/work/app/i18n/custmsg.h:1243
+msgid "Connect and Tighten - figure-8"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:360
+#: ../../../../build/work/app/i18n/custmsg.h:1245
+msgid "Other commands"
+msgstr "Остальные команды"
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:362
+#: ../../../../build/work/app/i18n/custmsg.h:1249
+msgid "Table Edges"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:364
+#: ../../../../build/work/app/i18n/custmsg.h:1253
+msgid "Dimension Lines"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:365
+#: ../../../../build/work/app/i18n/custmsg.h:1255
+msgid "Lines"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:366
+#: ../../../../build/work/app/i18n/custmsg.h:1257
+msgid "Poly-Shapes"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:367
+#: ../../../../build/work/app/i18n/custmsg.h:1259
+msgid "Modifying Poly-Shapes"
+msgstr ""
+
+#. i18n: C:/Users/mf/Documents/XTrackCAD/src/work/app/lib/xtrkcad.xtq:370
+#: ../../../../build/work/app/i18n/custmsg.h:1265
+#, fuzzy
+msgid "Control Panels"
+msgstr "Цвета элементов управления"
+
+#~ msgid "Modify Bezier Complete - select another"
+#~ msgstr "Изменение Безье закончено - выберите другую"
+
+#~ msgid "Radius=%s Angle=%0.3f"
+#~ msgstr "Радиус=%s Угол=%0.3f"
+
+#~ msgid "Length=%s Angle=%0.3f"
+#~ msgstr "Длина=%s Угол=%0.3f"
+
+#~ msgid "Freeform"
+#~ msgstr "Свободное трансформирование"
+
+#~ msgid "Polygonal Line"
+#~ msgstr "Линия многоугольника"
+
+#~ msgid "There are no reachable Defined Elevations"
+#~ msgstr "Нет достижимых высот"
+
+#~ msgid "Dist = %s"
+#~ msgstr "Длина = %s"
+
+#~ msgid "Select track to modify"
+#~ msgstr "Выберите трек для изменения"
+
+#~ msgid "Note: "
+#~ msgstr "Заметка: "
+
+#~ msgid "Print Snap Grid"
+#~ msgstr "Печатать сетки"
+
+#~ msgid "Print Rulers"
+#~ msgstr "Печатать линейки"
+
+#~ msgid "1 page"
+#~ msgstr "1 страница"
+
+#~ msgid "Simple"
+#~ msgstr "Простой"
+
+#~ msgid "End Points"
+#~ msgstr "Конечные точки"
+
+#~ msgid "Tunnel"
+#~ msgstr "Тоннель"
+
+#~ msgid "%s Files|*.xtc"
+#~ msgstr "%s Файлы|*.xtc"
+
+#~ msgid "Bitmap files|*.xpm"
+#~ msgstr "Файлы изображений|*.xpm"
+
+#~ msgid "Zoom keeps lower corner in view"
+#~ msgstr "Фиксированный нижний левый угол"
+
+#~ msgid "Color Layers"
+#~ msgstr "Цветные слои"
+
+#~ msgid "End-Points"
+#~ msgstr "Концы"
+
+#~ msgid "Draw Moving Tracks"
+#~ msgstr "Рисовать перемещаемые треки"
+
+#~ msgid "Unload"
+#~ msgstr "Выгрузить"
+
+#~ msgid "Commands"
+#~ msgstr "Команды"
+
+#~ msgid "SnapGrid Enable"
+#~ msgstr "Прилипать к сетке"
+
+#~ msgid "A&bove"
+#~ msgstr "Сверху"
+
+#~ msgid "Belo&w"
+#~ msgstr "Снизу"
+
+#~ msgid "General note about the layout"
+#~ msgstr "Основная запись об этом слое"
+
+#~ msgid "Whether zoom is locked to the bottom left corner or the center point"
+#~ msgstr ""
+#~ "Фиксация левого нижнего угла либо центральной точки при масштабировании"
diff --git a/app/i18n/stripmsg.c b/app/i18n/stripmsg.c
index 6010530..b3b37dd 100644
--- a/app/i18n/stripmsg.c
+++ b/app/i18n/stripmsg.c
@@ -153,7 +153,7 @@ void process( mode_e mode, FILE * inFile, char *fileName )
*cp++ = 'n';
/* read a line */
- if (!fgets( cp, (sizeof(line)) - (cp-line), inFile )) {
+ if (!fgets( cp, (int)((sizeof(line)) - (cp-line)), inFile) ) {
return;
}
lineNo++;
@@ -171,7 +171,7 @@ void process( mode_e mode, FILE * inFile, char *fileName )
if (strchr(line, '"'))
{
printf("N_(\"");
- len = strlen(line);
+ len = (int)(strlen(line));
for (i = 0; i < len; i++)
{
/* Escape double quotation marks */
diff --git a/app/lib/AStyle.cfg b/app/lib/AStyle.cfg
new file mode 100644
index 0000000..8cc3f07
--- /dev/null
+++ b/app/lib/AStyle.cfg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<AStyleSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <CppFormatOnSave>false</CppFormatOnSave>
+ <CsFormatOnSave>false</CsFormatOnSave>
+ <CppCommandLine>--style=1tbs --indent=tab=8 --min-conditional-indent=0 --max-code-length=80 --pad-header --keep-one-line-blocks --keep-one-line-statements --mode=c</CppCommandLine>
+ <CsCommandLine>--style=kr --indent=tab=4 --add-braces --add-one-line-braces --mode=cs</CsCommandLine>
+ <Version>3.0.0.0</Version>
+</AStyleSettings> \ No newline at end of file
diff --git a/app/lib/CHANGELOG.md b/app/lib/CHANGELOG.md
index 56ce9ad..7c46388 100644
--- a/app/lib/CHANGELOG.md
+++ b/app/lib/CHANGELOG.md
@@ -4,6 +4,242 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
+## [5.2.2 Beta 3]
+
+## Bugs
+
++ Windows arc/curve drawing fix
++ Improved all the icons
++ Preserve Double Slip Switch Quad path setting thru Ungroup/Group and other operations
++ Fix search order order for Appl Lib dir
++ fix Cornu Turnout Designer creating short segments
+
+## Added
+
++ Add JPEG format to bitmap export
++ Added 5", 7-1/4" and 7-1/2" Gauge to scale selection
++ Increased Zoom levels to 1024
+
+
+## Parameters
+
++ Updated PIKO G Track parameter file, added new R3 Turnouts
++ Walthers HO DCC Code 100 Turnouts and Walthers HO DCC Code 83 Turnouts
++ HO Piko A and Piko A Roadbed
++ Miniature Railway Workshop 7-1/4" portable track system
++ Mini Train Systems 5" and 7-1/4" track
++ AccuTie 7-1/4" and 7-1/2" track kits
+
+
+## [5.2.2 Beta 2]
+
+## Bugs
+
++ Turnout Designer fixes
++ Hotbar drawing fixes
++ Fix redo of Bezier and Cornu undo
++ Parallel Tool crash
++ Car Delete - Uncouple and mark deleted
++ Polygon editing fixes
++ BitMap Memory Leak
++ Curve from center
++ Description and Elevation attachments
++ Cornu Split
++ Remove bad checkpoint
++ Describe Bezier improvements
++ Fix Export Tracks when Trains present
++ Fix desired radius join
+
+
+## Added
+
++ Windows 64 bit
++ More realistic drawing of ties/sleepers within Turnouts
++ SVG Export of draw objects
++ Benchwork and Table Edge can be Split
++ Drawing of Bridge Track Deck
++ Zoom Extents button
++ Zoom Selected
++ Resizeable Menu Buttons
++ Increase Easement Radius Limit
++ Assorted Help Menu Improvements
++ Improved prompting and error processing for entry fields
++ Disable AutoSave CheckPoints by default
++ Follow Train uses Room Limits
++ Select Track by Index
++ Improved Ruler precision at high zoom
++ Turntable movement commands and alignment in Train Mode
++ Real Delete key in Poly Modify
++ Improve Elevation command editing
+
+
+## Parameters
+
++ HO-TrixExpress
++ Bachmann HO and N
++ MiniTrix
++ Trees
++ Fix Lego track scale
++ Short Marklin straights
++ Proto-ng-3ft
++ Aristo
++ USA Trains
++ G-MicroEngineering
++ Accucraft Cars
+
+
+## [5.2.1 GA]
+
+## Bugs
+
++ Fix Bezier Line Joins when inverted
++ Fix print of page numbers
++ Invert edge rulers on Print so they show
++ Fix split of arcs and circles
++ Block memory allocation fixes
++ Fix issue when placing wrong Turnout after Esc
++ Update Layout when changes are made in order to allow save settings properly
++ Draw parameters with negative segments properly in the HotBar
++ Fix issues with Describe for Draw Objects, seperate Angle from Rotate By, make Lock to Origin work properly
++ Remove Flex track from HotBar Popup
++ Fix display of short tracks to not expand
++ Windows: fail on saving Notes
++ Fail on Selecting Notes > 72 characters long
++ Windows fail on Zooming background if memory exhausted during rescale
++ Stop curved lines showing adjustment handles too early in construction
++ Fix right-arrow function with HotBar to be active when there is only one to right
++ Windows: Reset parmlib parms when upgrading correctly
++ Highlight Boxes when using Selected outside Select
++ For commands that do not use selected, deselect all before starting, for others, highlight correctly
++ Linux: Statically link libzip
++ Highlighting for Move/Rotate/Flip
++ Fix UnGroup and Group of Structures
++ Make Add Circle Icons match the way the constructors work
++ Optimize tie-data performance to cache results
++ Fix Bezier Lines to not have endpoints
++ Fix Add Structure from HotBar
++ Fix tooltips for command icons when i18n languages used
++ Stop Join for Bezier or Cornu Tracks if Easment not set to Cornu
++ Fix Split of Bezier tracks when curve reversed
++ Stop Flip of Bezier lines trying to move endpoints
++ Fix bounding box for almost complete circle arcs
++ Enlarge Text Buffer in Modify Notes to "Huge"
++ Set layer for split line to be same as old line
++ Dont select frozen layer objects on Select All
++ Make Mesurement Submenu appear in Context Menu
+
+
+## Added
+
++ Trim Draw Object Command
++ New Scales added for G and S families
++ Display Path when switching turnout
++ Add DPI setting to allow precise sizing of 1:1 display to real world size
++ Read Only length for curved lines in Describe
++ Added control of degree of fit in Library Search to only show relevant files for current scale
++ Compatible fit for structures with similar scales
++ Compatble fit for cars with same gauge and similar scales
++ Definitions for exact fit for some tracks that have same gauge but different scales (e.g., HO for OO).
++ Updated command line install on Ubuntu
++ Updated debian install
++ Fixes to O scale/gauge - 1:45 now O(EU), gauge for O(Fine) same as others
++ Install and Build Notes now link to updated Wikka
++ Alert user if Parts List used with no listable parts selected or present in layout
++ New O and G narrow-gauge scales
++ Desired radius value for constructing curved track
++ Rewritten path check code
++ SplitLine now works for Polygons and Circles (Filled or not)
++ Modify supported for Protractor to allow other usage scenarios
++ More documentation for Magnetic Snap
+
+## Parameters
+
++ Brio Track
++ Assorted fixes to parm files
++ Double Slip Pathing correction
++ Switch Machines
++ Fn3 NMRA
++ Gn3 Aristo
++ HO Tillig Luna Tramway
++ N RocoAtlas Code 80
++ N Tram
++ N ScaleScenes
++ OO9 Peco
+
+## [5.2.0 GA]
+
+## Bugs
+
++ Abend when searching in the parmlib
++ SplitLine command places last point at origin
++ Warning-track added to add back system cursor when apporaching the edge of the drawing surface
++ Fix poistion of elevation label for Bezier and Cornu Tracks
++ Improved message when grouping with invalid track
++ Fix some snapping in draw with +Alt
++ Fix Grouping of draw objects with no tracks
+
+## Added
+
++ Option to not suppress system cursor when appliaction cursor shown
+
+## [5.2.0 Beta 3.0]
+
+## Bugs
+
++ Library parameter file searching
++ Removal of entries for missing parameter files
++ Path logic when non-track objects are below tracks
++ Better highlighting of moving filled objects
++ Selection highlighting
++ Snap Grid for Modify Line
++ Move Description anchor fixes
++ Fix handling of frozen track - dont highlight
++ Grade calcualtions for intermediate points
++ Draw command checkpoint between invocations - improves Undo
++ Snap Grid position in draw order
++ Fix Layer button count
++ Restore Linetype on restart
++ Fix adjustable track and Pier memory leaks
++ Auto-upgrade of system parm files for Windows as well
++ Enter key support for Windows entry fields
++ DimLine snapping and editing
++ Rescale Background when Rescaling
++ Fix shortcuts in Modify Polygon
++ Fix Pan Here to be "c" and not "@" which is not available on some keyboards
++ Parallel PolyLine Points corrected
++ Bounding box for large Arcs
++ Change Pivot to Lock in Describe
++ Assorted work on Magnetic Snap for Draw objects
++ Fix Windows resize cursor
++ Pan/Zoom under View and not Change menu
++ Misordered columns on Car Inventory export
++ Contents shown for Help->Contents
++ Stop adding end-cornus to Select after Move
+
+## Added
+
++ Layer Groups
++ Layer Button Hiding
++ Settings Saving/Restoring from named .xset files
++ Cursor Suppression when internal anchor/cursor shown
++ Optional additional detail descriptions for curved tracks
++ Welsh as a message and UI language
++ Increase Text Note Limit to 10k
++ Debian install integration
++ Updated French and German translations
++ Negative linewidths on Lines mean fixed pixels
++ Russian as a message and UI language
++ Split Draw Command
++ Parallel Line function includes Beziers
++ HotBar left/right buttons auto-repeat if held down
++ Protractor Tool
+
+## Parm Files
+
++ FastTrak O3n file
++ 3x Z scale tracks
+
+
## [5.2.0 Beta 2.1]
### Bugs
@@ -15,7 +251,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
+ Make all commands have target HTML pages for context help
+ Make Font Size be remembered when set from Text command
+ Fixed Radius field to be mainatained in Join after first point selected
-+ Param Search UI result box resizeable
++ Param Search UI result box resizeable
+ Save Bridge Status for Segment Track
+ Updated German translations and translated Help Menu items
+ Clear NoTies if track is hidden
@@ -46,7 +282,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
+ Pan using Shift+horizontal scroll on GTK
+ Param Reload Button to force reload of a param file
+ Multi Keyword search on param library files
-+ "@" Pan to Center and "e" Pan to extents and "0" or "o" Pan to Origin
++ "@" Pan to Center and "e" Pan to extents and "0" or "o" Pan to Origin
+ Middle button also able to select Pan
+ Selectable Icon Button size between 1.0 and 2.0
+ Parallel Lines now can parallel other lines or tracks
@@ -54,7 +290,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
+ Desired Radius feature for non-Cornu Join
+ AutoSave feature and add keep checkpoints between saves
+ Suppress edge rules on layout if close to window edge rulers
-+ Option to constrain drawing area to room boundaries on zoom
++ Option to constrain drawing area to room boundaries on zoom
+ New Anchors on Describe and Traditional Join
+ AutoSave feature and Backup of checkpoints
+ Anchors on Split within turnouts with Shift
@@ -83,7 +319,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
+ Convert Fixed->Cornu fixes
+ Bug #345 Fix paths in some Turnouts
+ Respect parmdir setting in configuration file
-+ Bug #348 Fix Demo
++ Bug #348 Fix Demo
+ Bug #349 Fix inaccessible track segments
+ Bug #346 Fix layout file ends for Signal and Block
+ Bug #351 Fix loading layout with Cars off tracks
@@ -100,7 +336,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
+ Better sized Split and Connect Anchors
+ Windows PanHere now works
+ Fix Map Resize function on GTK
-+ Fix Turnout placement on Cornu for Pins and other issues
++ Fix Turnout placement on Cornu for Pins and other issues
+ Fox Cornu Pin editing
@@ -128,8 +364,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
+ + Finder for selecting System Parameter Library by Contents lines in files
+ + Set and un-set favorite property for parameter files
+ Track Properties
-+ + Bridge track
-+ + Ties/NoTies
++ + Bridge track
++ + Ties/NoTies
+ Links in Layout
+ + Document links to local files as an Object
+ + WebLinks as an Object
@@ -144,7 +380,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
+ + Pins for Cornu - morphs Cornu to pass through Pin, splits Cornu on Accept
+ + Edit multiple joined Cornu as single with Pins
+ + Add automatic 15 inch flex track element to Hotbar -> acts as Cornu and will also join tracks as needed
-+ + Allow Cornu Tracks in Group
++ + Allow Cornu Tracks in Group
+ + Add placing Turnouts on Cornu Track
+ + End Point Anchor for FlexTrack (Cornu) pieces
+ + Radius and angle handles for no-track end Cornu
@@ -173,7 +409,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
+ + Updated and corrected the TIP file
+ + System Library location autoset so updated parameter files from new version appear in HorBar
+ Other
-+ + Allow Turnouts to have with curved ends which are downward compatible using short fixed radius at the ends
++ + Allow Turnouts to have with curved ends which are downward compatible using short fixed radius at the ends
+ + Layers have Module option that are selected and Deselected as a unit
+ + Improve ruler with “English” measurements in High Zoom
+ + Add Examples... menu item on the Help menu to easily find them
@@ -186,22 +422,22 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
+ + Change Modify to use Cornu easements if selected
+ + New Cornu Turnout Designer options to build all types of Turnouts
+ + Create proper flex-track lengths for pricing
-+ + Desktop icon can be created with Windows installation
++ + Desktop icon can be created with Windows installation
+ + Installing on Windows overwrittes earlier version
### New UI
-+ Layout
++ Layout
+ + Allow viewing of "negative" layout up to half a screen to the left or bottom beyond the origin. Draw Room Walls and a grey zone outside the defined layout
+ + Add rulers on room walls if the display origin is in negative territory
-+ Anchors
++ Anchors
+ + Anchors on all main commands - predict what will/can happen when clicked with modify keys (Ctrl,Shift,Alt)
+ + Add hover "anchors" for Select, Move, Rotate, Split, Join, Elevation, Move Description, Parallel
+ + Modify hover Anchors or all Straight, Curved Track, Straight and Curved Draw Objects
+ + Draw Anchors immediately adjust to Shift and Ctrl modifier key state
+ + Anchor for Join, fix anchor for Draw once selected
+ + Change System Cursor in main Window for Describe, Select and Pan/Zoom
-+ + Add acnchors to Select for Move and Rotate
++ + Add acnchors to Select for Move and Rotate
+ + Add Anchors for Connect/Pull - also make selecting second track easier
+ Select Modes
+ + Select hover Anchors thick and in Blue to show what will be selected and Gold what will not be
@@ -218,16 +454,16 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
+ + Precision entry of Modify for Draw objects when Sticky selected
+ + Snapping Poly objects to be 0/90/180/270 from previous line with Shift
+ + Anchor shown for point that is 90 degrees from both last line and first point in Poly
-+ + PolyLines and Polygons complete with Enter or Space in Modify or if user clicks away
++ + PolyLines and Polygons complete with Enter or Space in Modify or if user clicks away
+ ShortCuts
-+ + Text key shortcuts in Pan/Zoom - Zoom Levels "1-9", Extents "e", Origin "0"
++ + Text key shortcuts in Pan/Zoom - Zoom Levels "1-9", Extents "e", Origin "0"
+ + “Pan Center Here” with a text short-cut “@“ key that works in Select, Pan/Zoom, Modify
+ Context Menus
+ + Default to Context Menu on Right-Click, Command Menu Shift+Right-Click
+ + New Select Context Menus for Selected and UnSelected cases
+ + Numerous updates to context menus including special for Poly Modify
+ DoubleClick in Select
-+ + Open a Weblink, a Document
++ + Open a Weblink, a Document
+ + Modify for Cornu and Bezier, Modify Draw objects except Text
+ Elevation
+ + Elevation cursor shows elevation at point. Adding Shift displays clearance between two tracks\
@@ -254,13 +490,13 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
+ Clean up HotBar right click display order documentation
+ Remove timed validation of text entries, use Enter-key, Click Away or Tab to trigger instead
+ Drawing of Ties to use Polygons, reducing the load of unfilled Ties on Redraw
-+ Draw temp Polygons and Circles when moving them (all unfilled and simplified)
++ Draw temp Polygons and Circles when moving them (all unfilled and simplified)
+ Add up/down arrow keys scrolling in Select
+ Ctrl+Left-Click to rotate Turnouts - in common with other rotates
+ Make sure Draw commits simple elements even if Esc is subsequently pressed
+ Make Note icon size better
+ Make Bezier and Cornu use standard colors during construction
-+ Improve Grid drawing performance
++ Improve Grid drawing performance
+ Make Status fields insensitive when visible
+ Respect Turntable Angle for Modify and Join to Turntable
+ Save State including filenames and options when Save, Save As or Open commands are run
@@ -276,7 +512,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
+ Make repeated arrow key moves in Move into one Undo
+ Adjust Ties algo to give a more even look in short tracks
+ Fix bounding box for multi-line text
-+ Fix Describe Window sizing
++ Fix Describe Window sizing
+ Fix for split to preserve elevation properly (keep end point elev type and station name (if any) - new split end point gets elev_none
+ Fix handling of \n in multiline comments
+ Fix flex-track lengths for pricing
@@ -358,7 +594,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
## [5.1.2]
### Added
-+ Make Debug menu both work and do something useful
++ Make Debug menu both work and do something useful
This menu in Options->Debug only appears if the env variable XTRKCADEXTRA is set A "Loosen" command also appears in Modify when set.The Debug window lists any Logging entries (set with "-d loggingname=level" parms).For example, "-d trainMove=5 -d traverseCornu=2" sets two Loglines - one at level 5 and the other 2. The value of the level can be adjusted in the Debug window and then the button "OK" sets it.Given that a level value of 0 means no logging for that logging variable, this menu allows log/tracing to be adjusted on the fly after startup.
Debug Window has a default trace level option. This is the level of Log/Trace that all types of tracing will follow unless they have been specified explicitly in the startup parms or otherwise.
Any log entries created before the first invocation of the window will be included, so a tester could add a LogSet("traverseBezier",0) line into the InitTrkBezier() code while testing or use a -d traverseBezier=0 and then use Debug to set level to 1 and start logging.
@@ -366,13 +602,13 @@ Any log entries created before the first invocation of the window will be includ
## Fixed
+ Make Up and Down Scroll only move 1/2 a screen height (rather than 1/2 a width)
+ Fix Modify redraw for Bezier or Cornu
-+ Allow modify of naked Cornu along the Cornu itself if it isn't connected to another Cornu or Bezier
++ Allow modify of naked Cornu along the Cornu itself if it isn't connected to another Cornu or Bezier
+ Fix Abend on extend of naked Cornu
+ Make sure Flip Cornu produces a correct relationship between ends and Bezier segments
-+ Fix Traverse Cornu for case where there are multiple sub-segments within a Bezier segment
++ Fix Traverse Cornu for case where there are multiple sub-segments within a Bezier segment
+ Remove UndoModify from low-level functions - to ensure that they can't be called without a preceding UndoStart and cause error messages
+ Description: correct include tag for Linux
-+ Fix possible error when Cloning Structures or Turnouts
++ Fix possible error when Cloning Structures or Turnouts
+ Fix bad test for RescaleTrack and no test for RotateTrack.
+ Fix the Modify Polygon Undo problem
+ Fix memory bug when flipping a Polygon
diff --git a/app/lib/CMakeLists.txt b/app/lib/CMakeLists.txt
index 5f271f6..54c4606 100644
--- a/app/lib/CMakeLists.txt
+++ b/app/lib/CMakeLists.txt
@@ -14,6 +14,7 @@ install(FILES
COPYING
logo.bmp
xtrkcad.xtq
+ xtrkcad.upd
DESTINATION ${XTRKCAD_SHARE_INSTALL_DIR}
)
@@ -42,11 +43,11 @@ endif()
if(UNIX AND NOT APPLE)
install(PROGRAMS
- xdg-open
+ xdg-open xtrkcad-setup
DESTINATION ${XTRKCAD_SHARE_INSTALL_DIR}
)
install(FILES
- xtrkcad.desktop
+ xtrkcad.desktop xtrkcad.xml
DESTINATION "${XTRKCAD_SHARE_INSTALL_DIR}/applications"
)
install(FILES
diff --git a/app/lib/Readme.md b/app/lib/Readme.md
index 48bfd34..ba3819e 100644..100755
--- a/app/lib/Readme.md
+++ b/app/lib/Readme.md
@@ -1,4 +1,24 @@
-# XTrackCAD 5.2.0 #
+# V5.2.2 GA Release Notes
+
+Welcome to the XtrackCAD V5.2.2 GA release!
+
+V5.2.2 GA contains many bug fixes, new and updated parameter files, new features and enhancements.
+
+Enjoy!
+
+Dave, Martin and Adam, your volunteer developers.
+
+PS The full change log is a file in the XtrkCAD download folder as CHANGELOG.md
+
+The files written by XTrackCAD 5.2 are versioned to only be read by 5.2, but it can also read files from earlier versions. If you get into trouble, please reach out, we may be able to help - but always back-up.
+
+We will fix important bugs you find in subsequent releases.
+
+To report bugs, please use the SourceForge bugs reporting page https://sourceforge.net/p/xtrkcad-fork/bugs/
+
+To discuss the Release, please use the user forum https://xtrackcad.groups.io/g/main/topics
+
+# XTrackCAD 5.2.2 GA Notes#
This file contains installation instructions and up-to-date information regarding XTrackCad.
@@ -10,7 +30,7 @@ This file contains installation instructions and up-to-date information regardin
* Upgrading from earlier releases
* Bugs fixed
* Building
-* Where to go for support
+* Where to go for support
## About XTrackCad ##
@@ -37,217 +57,32 @@ free software under the terms of the GNU General Public License v2 which
you can find in the file COPYING.
-# Installation #
-
-## Dependencies ##
-
-XTrackCAD starting with V5.2 depends on some external libraries:
-
-+ zlib Compression Library https://www.zlib.net/
-+ libzip for handling zip files https://libzip.org/
-
-Additionally on Windows only
-
-+ FreeImage image handling http://freeimage.sourceforge.net/
-
-The Windows installer comes with these libraries so no additional downloads
-are necessary. On Linux and OSX the necessary libraries will need to
-be installed using the software installation tools of the
-operating system.
-
-## Windows ##
-
-XTrackCad has only been tested on Windows 10.
-
-The MS-Windows version of XTrackCad is shipped as a self-extracting/
-self-installing program using the NSIS Installer from Nullsoft Inc.
-
-Using Windows Explorer, locate the directory in which you downloaded or copied your new version of XTrackCAD.
-
-Start the installation program by double clicking on the
-**[xtrkcad-setup-5.2.0.exe][]** file icon.
-
-Follow the steps in the installation program.
-
-The installation lets you define the directory into which XTrackCAD is
-installed. The directory is created automatically if it doesn't already exist.
+## Installation ##
-A program folder named XTrackCAD 5 will be created during the installation
-process. This folder contains the program, documentation, parameter and
-example files. An existing installation of earlier versions of XTrackCad is
-not overwritten.
-
-A new program group named XTrackCAD 5 will be created in the Start menu.
-
-## OSX ##
-
-XTrackCAD for Mac is shipped as a self-installing OSX package
-Start the install by double clicking on the
-**[xtrkcad-osx-5.2.0.dmg][]** file icon.
-
-Drag the package and drop into the Applications folder.
-
-You may receive a prompt telling you that the package is not signed. To install it anyway, go to the System Preferences page and select Security & Privacy. Hit the button marked "Install Anyway".
-
-If you have a previous version you will be asked if you want to replace it or install a second version.
-
-You will need to have installed the correct level of XQuartz for your level of OSX to run XTrackCAD on Mac - go to http://www.xquartz.org/ and download and then install the package. Remember to log out and in again (or reboot) if this your first xQuartz install.
-
-Once the XQuartz package has installed go to the XtrkCAD icon in Applications and double click on it. You may again be told the program is not signed. If so, again go to Systems Preferences->Security & Privacy and hit "Run Anyway".
-
-## Linux ##
-
-XTrackCAD for LINUX is shipped as a RPM file and a self extracting archive.
-You will need libc6, X11R6, GTK+2.0.
-If you change the install package you should set the XTRKCADLIB enviroment variable
-
-For example if the install is within the /usr/local/share/xtrkcad directory. you could use -
-
-env XTRKCADLIB="/usr/local/share/xtrkcad/" xtrkcad
-
-### Installing from the RPM package. ###
-
-Use your operating system's package manager to install XTrackCAD.
-
-
-### Installing from the self-extracting archive. ###
-
-After downloading open a command line then as root run
-
- ./xtrkcad-setup-5.2.0.x86_64.sh --prefix=/usr/local --exclude-subdir
-
-This will install the executable in /usr/local/bin. A directory named
-xtrkcad will be created in /usr/local/share and all files will be unpacked
-into it.
-
-If you install XTrackCAD into another directory, set the XTRKCADLIB
-environment variable to point to that directory.
-
-# Release Info #
+Please see http://xtrkcad-fork.sourceforge.net/Wikka/DownloadInstall.
## Upgrade Information ##
-**Note:** This version of XTrackCAD comes with the several new features
-like backgroudn images or extensions to notes. In order to support
-this feature, an additional file format for layout files (.xtce) was added.
+**Note:** The 5.2 version of XTrackCAD comes with the several new features
+like background images or extensions to notes. In order to support
+this feature, an additional file format for layout files (.xtce) was added.
The old .xtc format is still supported for reading and writing. So
files from earlier versions of XTrackCAD can be read without problems.
Layouts that were saved in the new format cannot be read by older
versions of XTrackCAD.
-# Building #
-## Overview ##
-
-The following instructions detail building XTrackCAD using CMake. CMake is a
-cross-platform build system, available at http://www.cmake.org, that can be
-used to generate builds for a variety of build tools ranging from "make" to
-Visual Studio and XCode. Using CMake you can build XTrackCAD on Windows,
-GNU/Linux, and Mac OSX using the build tool(s) of your choice.
-
-### Building XTrackCAD on GNU/Linux ###
-
-* Obtain the current sources from Mercurial; I assume that they are stored locally at
- "~/src/xtrkcad".
- Note that the correct URL for read-only access to Mercurial is
- <http://xtrkcad-fork.hg.sourceforge.net:8000/hgroot/xtrkcad-fork/xtrkcad>
-* Create a separate build directory; for these instructions I assume that
- your build directory is "~/build/xtrkcad".
-* Run CMake from the build directory, passing it the path to the source
- directory:
-
- $ cd ~/build/xtrkcad
- $ ccmake ~/src/xtrkcad
-
-* Press the "c" key to configure the build. After a few moments you will see
- four options to configure: CMAKE_BUILD_TYPE, CMAKE_INSTALL_PREFIX,
- XTRKCAD_USE_GTK, and XTRKCAD_USE_GTK_CAIRO.
-* Use CMAKE_BUILD_TYPE to control the build type. Enter "Debug" for a debug
- build, "Release" for a release build, etc.
-* Use CMAKE_INSTALL_PREFIX to control where the software will be installed.
- For this example, I assume "~/install/xtrkcad".
-* Use XTRKCAD_USE_GETTEXT to add new locales (language translations). Choose
- "OFF" to use XTrackCAD's default language (English). Refer to
- http://www.xtrkcad.org/Wikka/Internationalization for additional information.
-* Use XTRKCAD_USE_GTK to control the user-interface back-end. Choose "OFF"
- for Windows, "ON" for all other platforms.
-* Use XTRKCAD_USE_DOXYGEN to enable the production of type, function, etc.,
- documentation from the the source code. Requires doxygen if enabled.
- Enable if and only if you intend to hack on the code.
-* If you made any changes, press the "c" key again to update your new
- configuration.
-* Once everything is configured to your satisfaction, press the "g" key to
- generate makefiles for your build.
-* Compile XTrkCad using your new build:
-
- $ make
-
-* Install the new binary:
-
- $ make install
-
-* Run the installed binary:
-
- $ ~/install/xtrkcad/bin/xtrkcad
-
-* If XTRKCAD_USE_DOXYGEN was enabled:
-
- $ make docs-doxygen
-
- to create the internals documentation. Read this documentation by pointing
- your web browser at ~/build/xtrkcad/docs/doxygen/html/index.html.
-
-### Building XTrackCAD on Mac OSX ###
-
-* You will need to install the following dependencies - I recommend using
- <http://www.macports.org> to obtain them:
- - GTK2
- - gnome-icon-theme
-* Once the prerequisites are installed the build instructions are the same
- as for the GNU/Linux build, above.
-* Remember that to run XTrackCAD on OSX, you need to have X11 running with
- your DISPLAY set.
-
-### Building XTrackCAD on Windows ###
-
-* Obtain the current sources from Mercurial; I assume that they are stored locally at
- "c:/src/xtrkcad".
- Note that the correct URL for read-only access to Mercurial is
- <http://xtrkcad-fork.hg.sourceforge.net:8000/hgroot/xtrkcad-fork/xtrkcad>
-* Use the Windows Start menu to run CMake (cmake-gui).
-* Specify the source and build directories in the CMake window. You must
- provide a build directory outside the source tree - I use "c:/build/xtrkcad".
-* Press the "Configure" button to configure the build. You will be prompted
- for the type of build to generate. Choose your desired tool - I used "Visual
- Studio 15". After a few moments you will see two options to
- configure: CMAKE_INSTALL_PREFIX and XTRKCAD_USE_GTK.
-* Use CMAKE_INSTALL_PREFIX to control where the software will be installed.
- The default "c:/Program Files/XTrkCAD" is a good choice.
-* Use XTRKCAD_USE_GETTEXT to add new locales (language translations). Choose
- "OFF" to use XTrackCAD's default language (English). Refer to
- <http://www.xtrkcad.org/Wikka/Internationalization> for additional information.
-* Use XTRKCAD_USE_GTK to control the user-interface back-end. Choose "OFF"
- for Windows.
-* Use XTRKCAD_USE_DOXYGEN to enable the production of type, function, etc.,
- documentation from the the source code. Requires doxygen if enabled.
- Enable if and only if you intend to hack on the code.
-* If you made any changes, press the "Configure" button again to update your
- new configuration.
-* Once everything is configured to your satisfaction, press the "OK" button
- to generate project files for your build.
-* Compile XTrackCad using the new project files. For example, start MSVC and
- open the "XTrkCAD.sln" solution file which is located in your build directory.
-* Build the "BUILD_ALL" project to build the software.
-* Build the "INSTALL" project to install the software.
-* Run XTrackCAD by double-clicking its icon located in the install directory -
- for example: c:/Program Files/XTrkCAD/bin/xtrkcad.exe.
+## Building ##
+
+Please see http://xtrkcad-fork.sourceforge.net/Wikka/BuildNotes
## Where to go for support ##
The following web addresses will be helpful for any questions or bug
reports
-- The Yahoo!Group mailing list <http://groups.yahoo.com/projects/XTrkCad>
-- The project website for the open source development <http://www.xtrackcad.org/>
-- The official Sourceforge site <http://www.sourceforge.net/groups/xtrkcad-fork/>
+- The group mailing list <https://xtrackcad.groups.io/g/main>
+- The group Wiki <http://xtrkcad.org>
+- The official Sourceforge site <https://sourceforge.net/projects/xtrkcad-fork>
Thanks for your interest in XTrackCAD.
+
diff --git a/app/lib/astylerc b/app/lib/astylerc
index e0815ce..223a2eb 100644
--- a/app/lib/astylerc
+++ b/app/lib/astylerc
@@ -1,8 +1,7 @@
-style=1tbs
-break-blocks
-unpad-paren
-pad-header
-max-code-length=80
-break-after-logical
-mode=c
-
+--style=1tbs
+--indent=tab=8
+--max-code-length=80
+--mode=c
+--keep-one-line-blocks
+--keep-one-line-statements
+--min-conditional-indent=0
diff --git a/app/lib/demos/dmctlpnl.xtr b/app/lib/demos/dmctlpnl.xtr
index 99646d5..c045345 100644
--- a/app/lib/demos/dmctlpnl.xtr
+++ b/app/lib/demos/dmctlpnl.xtr
@@ -776,10 +776,12 @@ And add some labels.
END
STEP
COMMAND Text
-PARAMETER text Fontsize 0 18
+PARAMETER text fontsize 0 18
+PARAMETER text boxed 0
PARAMETER GROUP text
-PARAMETER text Fontsize -1 48
-PARAMETER text Color 0
+PARAMETER text fontsize -1 48
+PARAMETER text boxed 0
+PARAMETER text color 0
MOUSE 2 4.500 6.969
MOUSE 4 4.391 6.672
KEYSTATE 2
@@ -792,9 +794,9 @@ MOUSE 29704 4.391 6.672
MOUSE 2 4.500 6.656
MOUSE 4 4.812 6.625
MOUSE 3336 5.156 6.766
-PARAMETER text Fontsize -1 48
-PARAMETER text Fontsize 11 24
-PARAMETER text Fontsize -1 24
+PARAMETER text fontsize -1 48
+PARAMETER text fontsize 11 24
+PARAMETER text fontsize -1 24
MOUSE 2 0.500 5.016
MOUSE 4 0.641 5.016
KEYSTATE 2
@@ -806,7 +808,7 @@ MOUSE 29704 1.312 5.016
MOUSE 27656 1.312 5.016
MOUSE 25864 1.312 5.016
MOUSE 3336 3.031 3.859
-PARAMETER text Fontsize -1 24
+PARAMETER text fontsize -1 24
PARAMETER GROUP text
MOUSE 2 10.375 5.047
MOUSE 4 10.125 5.047
@@ -825,7 +827,7 @@ MOUSE 28424 10.125 5.047
MOUSE 2 10.094 5.125
MOUSE 4 9.891 5.000
MOUSE 3336 9.906 5.031
-PARAMETER text Fontsize -1 24
+PARAMETER text fontsize -1 24
PARAMETER GROUP text
CLEAR
MESSAGE
@@ -925,20 +927,26 @@ The cross-hairs on the LEDs and switch show the centers for drilling.
END
REGRESSION START 10 - control panel
DRAW 18 0 0 0 0 0.000000 0.000000 0 0.000000
- L3 0 0.333333 1.000000 6.000000 0 9.772000 6.000000 0
- END
-DRAW 19 0 0 0 0 -1.250000 0.000000 0 0.000000
- L3 0 0.333333 10.000000 6.000000 0 9.000000 5.000000 0
+ L3 0 0.250 1.000000 6.000000 0 9.772000 6.000000 0
END
+DRAW 19 0 0 0 0 0.000000 0.000000 0 0.000000
+ L3 0 0.250000 8.750000 6.000000 0 7.750000 5.000000 0
+ END$SEGS
+#DRAW 19 0 0 0 0 -1.250000 0.000000 0 0.000000
+# L3 0 0.250 10.000000 6.000000 0 9.000000 5.000000 0
+# END
DRAW 20 0 0 0 0 0.000000 0.000000 0 0.000000
- L3 0 0.333333 7.666000 5.000000 0 3.000000 5.000000 0
+ L3 0 0.250 7.666000 5.000000 0 3.000000 5.000000 0
END
DRAW 21 0 0 0 0 0.000000 0.000000 0 0.000000
- L3 0 0.333333 3.000000 5.000000 0 2.000000 6.000000 0
- END
-DRAW 22 0 0 0 0 -0.813000 0.000000 0 0.000000
- L3 0 0.333333 6.000000 5.000000 0 8.000000 3.000000 0
+ L3 0 0.250 3.000000 5.000000 0 2.000000 6.000000 0
END
+DRAW 22 0 0 0 0 0.000000 0.000000 0 0.000000
+ L3 0 0.250000 5.187000 5.000000 0 7.187000 3.000000 0
+ END$SEGS
+#DRAW 22 0 0 0 0 -0.813000 0.000000 0 0.000000
+# L3 0 0.320 6.000000 5.000000 0 8.000000 3.000000 0
+# END
STRUCTURE 23 0 0 0 0 DEMO 2 2.375000 6.000000 0 0.000000 "LED T1 Green LED "
D 0.000000 0.000000
G3 16448250 0.000000 0.059000 0.000000 0.000000 0
@@ -1121,15 +1129,24 @@ STRUCTURE 44 0 0 0 0 DEMO 2 1.000000 6.250000 0 180.000000 "Symbols Arrow "
0.000000 0.000000 0
0.378906 0.250000 0
END
-DRAW 45 0 0 0 0 3.937000 6.625000 0 0.000000
- Z 0 0.000000 0.000000 0.000000 0 48.000000 "Summit"
- END
-DRAW 46 0 0 0 0 0.641000 5.016000 0 0.000000
- Z 0 0.000000 0.000000 0.000000 0 24.000000 "Seattle"
- END
-DRAW 47 0 0 0 0 8.641000 5.000000 0 0.000000
- Z 0 0.000000 0.000000 0.000000 0 24.000000 "Chicago"
- END
+DRAW 45 0 0 0 0 0.000000 0.000000 0 0.000000
+ Z 0 3.937000 6.625000 0.000000 0 48.000000 "Summit"
+ END$SEGS
+DRAW 46 0 0 0 0 0.000000 0.000000 0 0.000000
+ Z 0 0.641000 5.016000 0.000000 0 24.000000 "Seattle"
+ END$SEGS
+DRAW 47 0 0 0 0 0.000000 0.000000 0 0.000000
+ Z 0 8.641000 5.000000 0.000000 0 24.000000 "Chicago"
+ END$SEGS
+#DRAW 45 0 0 0 0 3.937000 6.625000 0 0.000000
+# Z 0 0.000000 0.000000 0.000000 0 48.000000 "Summit"
+# END
+#DRAW 46 0 0 0 0 0.641000 5.016000 0 0.000000
+# Z 0 0.000000 0.000000 0.000000 0 24.000000 "Seattle"
+# END
+#DRAW 47 0 0 0 0 8.641000 5.000000 0 0.000000
+# Z 0 0.000000 0.000000 0.000000 0 24.000000 "Chicago"
+# END
REGRESSION END
STEP
CLEAR
diff --git a/app/lib/demos/dmdimlin.xtr b/app/lib/demos/dmdimlin.xtr
index 904fffb..071e9f8 100644
--- a/app/lib/demos/dmdimlin.xtr
+++ b/app/lib/demos/dmdimlin.xtr
@@ -137,7 +137,8 @@ END
STEP
PARAMETER draw arrowsize 2 Small
MOUSE 2 15.000 9.688
-MOUSE 4 6.375 4.000
+#MOUSE 4 6.375 4.000
+MOUSE 4 6.275 3.900
#PARAMETER draw arrowsize 2 Medium
PARAMETER GROUP draw
MESSAGE
diff --git a/app/lib/demos/dmextend.xtr b/app/lib/demos/dmextend.xtr
index 1b8deff..102b665 100644
--- a/app/lib/demos/dmextend.xtr
+++ b/app/lib/demos/dmextend.xtr
@@ -89,11 +89,11 @@ CURVE 3 0 0 0 0 DEMO 2 12.321667 17.666667 0 15.000000 0 0.000000 0.000000
END
CURVE 4 0 0 0 0 DEMO 2 12.000000 19.456200 0 17.750000 0 0.000000 0.000000
E4 27.955056 11.678110 25.989234 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
- T4 5 21.407481 4.404230 237.994617 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ T4 5 20.405847 3.822767 241.733791 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
END
-CORNU 5 0 0 0 0 DEMO 2 7.000000 1.000000 270.000000 0.000000 0.000000 0.000000 21.407481 4.404230 57.994617 17.750000 12.000000 19.456200
+CORNU 5 0 0 0 0 DEMO 2 7.000000 1.000000 270.000000 0.000000 0.000000 0.000000 20.405847 3.822767 61.733791 17.750000 12.000000 19.456200
T4 2 7.000000 1.000000 270.000000 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
- T4 4 21.407481 4.404230 57.994617 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ T4 4 20.405847 3.822767 61.733791 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
W3 0 0.000000 7.000000 1.000000 9.503384 1.000000 12.022315 1.089191 14.466729 1.629346
SUBSEGS
C 0 0.000000 -52.368193 7.316059 53.367239 176.234238 4.111563
diff --git a/app/lib/demos/dmgroup.xtr b/app/lib/demos/dmgroup.xtr
index f5ed0dd..2c7741b 100644
--- a/app/lib/demos/dmgroup.xtr
+++ b/app/lib/demos/dmgroup.xtr
@@ -34,18 +34,23 @@ COMMAND DrawLine
MOUSE 2 2.500 3.000
MOUSE 4 2.500 1.500
COMMAND DrawLine
-KEYSTATE 12
+KEYSTATE A
MOUSE 2 3.200 3.000
-KEYSTATE 12
+KEYSTATE A
MOUSE 4 3.200 1.500
STEP
COMMAND DrawFilledBox
PARAMETER draw linecolor 0
PARAMETER GROUP draw
+KEYSTATE A
MOUSE 1 2.600 3.000
+KEYSTATE A
MOUSE 2 2.600 3.000
+KEYSTATE A
MOUSE 4 3.100 2.500
+KEYSTATE A
MOUSE 2 2.600 2.000
+KEYSTATE A
MOUSE 4 3.100 1.500
MESSAGE
_________________________________________
@@ -136,24 +141,24 @@ _________________________________________
Now Select the lines and squares.
END
STEP
-#KEYSTATE 12
-MOUSE 1 2.469 2.812
-#KEYSTATE 12
-MOUSE 2 2.469 2.812
-KEYSTATE 12
-MOUSE 4 2.469 2.812
-KEYSTATE 12
-MOUSE 2 2.688 2.875
-KEYSTATE 12
-MOUSE 4 2.688 2.875
-KEYSTATE 12
-MOUSE 2 3.188 2.844
-KEYSTATE 12
-MOUSE 4 3.188 2.844
-KEYSTATE 12
-MOUSE 2 2.812 1.656
-KEYSTATE 12
-MOUSE 4 2.812 1.656
+#KEYSTATE C
+MOUSE 1 2.500 2.812
+#KEYSTATE C
+MOUSE 2 2.500 2.812
+KEYSTATE C
+MOUSE 4 2.500 2.812
+KEYSTATE C
+MOUSE 2 2.850 2.500
+KEYSTATE C
+MOUSE 4 2.850 2.500
+KEYSTATE C
+MOUSE 2 3.200 2.000
+KEYSTATE C
+MOUSE 4 3.200 2.000
+KEYSTATE C
+MOUSE 2 2.850 1.500
+KEYSTATE C
+MOUSE 4 2.850 1.500
MOUSE 1 5.000 1.000
MESSAGE
_________________________________________
@@ -169,8 +174,8 @@ And move the Label out of the way.
END
STEP
COMMAND MoveLabel
-MOUSE 1 4.281 2.031
-MOUSE 2 4.281 2.031
+MOUSE 1 5.000 2.116
+MOUSE 2 5.000 2.116
MOUSE 4 4.594 0.844
ORIG 1.0 0.0 0.0
MESSAGE
@@ -212,9 +217,9 @@ You can later Group this turnout with the straight segments to recreate the turn
END
STEP
-KEYSTATE 2
+KEYSTATE S
MOUSE 2 4.625 1.969
-KEYSTATE 2
+KEYSTATE S
MOUSE 4 4.625 1.969
REGRESSION START 10 - group 1
TURNOUT 16 0 32 0 0 DEMO 2 2.477615 1.950213 0 0.000000 "Peco-55 Modified Medium Right SL-E395F"
@@ -292,9 +297,9 @@ BIGPAUSE
MOUSE 1 5.219 3.000
MOUSE 2 5.219 3.000
MOUSE 4 5.219 3.000
-KEYSTATE 12
+KEYSTATE S
MOUSE 2 5.219 2.000
-KEYSTATE 12
+KEYSTATE S
MOUSE 4 5.219 2.000
PARAMETER misc cmdDelete
MESSAGE
@@ -304,7 +309,7 @@ Now draw the green circles...
END
STEP
ORIG 1.0 0.0 0.0
-COMMAND DrawFilledCircleTangent
+COMMAND DrawFilledCircleCenter
PARAMETER draw linecolor 0
PARAMETER GROUP draw
PARAMETER draw linecolor 65280
@@ -324,13 +329,13 @@ END
STEP
ORIG 1.0 0.0 0.0
COMMAND Select
-KEYSTATE 12
+KEYSTATE S
MOUSE 1 3.719 4.156
-KEYSTATE 12
+KEYSTATE S
MOUSE 2 3.719 4.156
-KEYSTATE 12
+KEYSTATE S
MOUSE 3 10.531 0.969
-KEYSTATE 12
+KEYSTATE S
MOUSE 4 10.531 0.969
BIGPAUSE
PARAMETER misc cmdGroup
@@ -343,9 +348,9 @@ _________________________________________
Notice that the turnout in the HotBar is angled the same as the turnout on the layout. Make sure your new definition is rotated the way you want it.
END
STEP
-KEYSTATE 2
+KEYSTATE S
MOUSE 2 5.000 2.188
-KEYSTATE 2
+KEYSTATE S
MOUSE 4 5.000 2.188
REGRESSION START 10 - group 2
STRAIGHT 19 0 0 0 0 DEMO 2
@@ -389,21 +394,21 @@ MOUSE 3 10.000 2.000
MOUSE 4 10.000 2.000
MESSAGE
-When we create the curve from the straight track endpoint we need to hold down the Shift key to prevent XTrackCAD from trying to join the two tracks.
+When we create the curve from the straight track endpoint we need to hold down the <Shift> key to prevent XTrackCAD from trying to join the two tracks.
END
COMMAND CurveEndPt
MOUSE 1 2.000 2.000
-KEYSTATE 12
+KEYSTATE S
MOUSE 2 2.000 2.000
-KEYSTATE 12
+KEYSTATE S
MOUSE 3 9.000 2.000
-KEYSTATE 12
+KEYSTATE S
MOUSE 4 9.000 2.000
-KEYSTATE 12
+KEYSTATE S
MOUSE 2 9.000 2.000
-KEYSTATE 12
+KEYSTATE S
MOUSE 3 8.875 3.062
-KEYSTATE 12
+KEYSTATE S
MOUSE 4 8.875 3.062
MESSAGE
_________________________________________
@@ -422,7 +427,7 @@ _________________________________________
We'll make the Length 7.5".
-If we change the Length, each End-Point will be moved to shorten the track. We want to just move the Right End-Point. To control this, change the Pivot to First which means the Left End-Point will be unchanged when we change the length (or angle) of the track.
+If we change the Length, each End-Point will be moved to shorten the track. We want to just move the Right End-Point. To control this, change the Lock to First which means the Left End-Point will be unchanged when we change the length (or angle) of the track.
END
STEP
#DESCRIBE Pivot 0
@@ -451,7 +456,7 @@ MOUSE 4 7.688 2.625
MESSAGE
_________________________________________
-Here the Left End-Point (which we don't want to move) is the Second End-Point, so we'll make that the Pivot.
+Here the Left End-Point (which we don't want to move) is the Second End-Point, so we'll make that the Lock.
END
STEP
#DESCRIBE Pivot 2
@@ -483,11 +488,11 @@ COMMAND Select
MOUSE 1 7.500 2.750
MOUSE 2 7.500 2.750
MOUSE 4 7.500 2.750
-KEYSTATE 12
+KEYSTATE S
MOUSE 1 8.000 2.000
-KEYSTATE 12
+KEYSTATE S
MOUSE 2 8.000 2.000
-KEYSTATE 12
+KEYSTATE S
MOUSE 4 8.000 2.000
MESSAGE
and Group them.
diff --git a/app/lib/demos/dmlines.xtr b/app/lib/demos/dmlines.xtr
index 9f2b66f..082a324 100644
--- a/app/lib/demos/dmlines.xtr
+++ b/app/lib/demos/dmlines.xtr
@@ -48,45 +48,45 @@ _________________________________________
Lines are drawn by clicking at the starting postion and dragging to the final position.
-By default, the new line will snap to existing objects. Hold down the <Ctrl> and <Alt> keys to prevent this from happening.
+By default, the new line will snap to existing objects. Hold down the <Alt> keys to prevent this from happening.
END
STEP
-KEYSTATE 12
+KEYSTATE A
MOUSE 2 0.533 4.693
-KEYSTATE 12
+KEYSTATE A
MOUSE 3 4.320 4.693
-KEYSTATE 12
+KEYSTATE A
MOUSE 4 4.320 4.693
-KEYSTATE 12
+KEYSTATE A
MOUSE 2 4.373 4.693
-KEYSTATE 12
+KEYSTATE A
MOUSE 3 4.533 5.120
-KEYSTATE 12
+KEYSTATE A
MOUSE 4 4.533 5.120
-KEYSTATE 12
+KEYSTATE A
MOUSE 2 0.533 4.693
-KEYSTATE 12
+KEYSTATE A
MOUSE 3 0.533 4.693
-KEYSTATE 12
+KEYSTATE A
MOUSE 4 0.267 5.120
-KEYSTATE 12
+KEYSTATE A
MOUSE 2 0.267 3.253
-KEYSTATE 12
+KEYSTATE A
MOUSE 3 0.533 3.787
-KEYSTATE 12
+KEYSTATE A
MOUSE 4 0.533 3.787
STEP
-KEYSTATE 12
+KEYSTATE A
MOUSE 2 0.533 3.787
-KEYSTATE 12
+KEYSTATE A
MOUSE 3 4.320 3.787
-KEYSTATE 12
+KEYSTATE A
MOUSE 4 4.320 3.787
-KEYSTATE 12
+KEYSTATE A
MOUSE 2 4.320 3.787
-KEYSTATE 12
+KEYSTATE A
MOUSE 3 4.533 3.307
-KEYSTATE 12
+KEYSTATE A
MOUSE 4 4.533 3.307
MESSAGE
_________________________________________
@@ -96,7 +96,8 @@ END
PARAMETER draw linecolor 255
PARAMETER draw linewidth 6
STEP
-MOUSE 2 0.747 4.800
+KEYSTATE A
+MOUSE 2 0.747 4.693
MOUSE 4 0.693 6.560
MOUSE 2 0.693 6.560
MOUSE 4 1.493 7.573
@@ -115,7 +116,7 @@ Here we will draw a Curve by dragging from one End-Point to the other to define
END
STEP
COMMAND DrawCurveChord
-KEYSTATE 12
+KEYSTATE A
MOUSE 2 0.800 3.680
#MOUSE 3 0.800 3.573
#MOUSE 3 0.853 3.467
@@ -174,12 +175,12 @@ MOUSE 2 0.800 3.680
#MOUSE 3 3.947 3.680
#MOUSE 3 3.947 3.733
#MOUSE 3 3.947 3.787
-KEYSTATE 12
+KEYSTATE A
MOUSE 4 4.107 3.787
BIGPAUSE
-KEYSTATE 12
+KEYSTATE A
MOUSE 2 2.9 3.78
-KEYSTATE 12
+KEYSTATE A
MOUSE 4 2.9 1.5
MESSAGE
_________________________________________
@@ -195,10 +196,10 @@ MESSAGE
_________________________________________
Circles can be drawn by clicking on the center or edge and dragging to set the radius.
-Here we will drag from the Center.
+Here we will drag from the edge to the Center.
END
STEP
-COMMAND DrawCircleCenter
+COMMAND DrawCircleTangent
MOUSE 2 7.360 6.453
MOUSE 4 8.533 5.920
MESSAGE
@@ -212,15 +213,15 @@ MOUSE 2 11.307 6.400
MOUSE 4 11.307 6.400
#BIGPAUSE
#PARAMETER misc cmdDelete
-KEYSTATE 4
+KEYSTATE C
MOUSE 2 4.160 5.493
-KEYSTATE 4
+KEYSTATE C
MOUSE 4 4.160 5.493
#BIGPAUSE
#PARAMETER misc cmdDelete
-KEYSTATE 4
+KEYSTATE C
MOUSE 2 3.467 6.933
-KEYSTATE 4
+KEYSTATE C
MOUSE 4 3.467 6.933
BIGPAUSE
PARAMETER misc cmdDelete
diff --git a/app/lib/demos/dmlines2.xtr b/app/lib/demos/dmlines2.xtr
index 13f43b3..580dafe 100644
--- a/app/lib/demos/dmlines2.xtr
+++ b/app/lib/demos/dmlines2.xtr
@@ -184,7 +184,7 @@ _________________________________________
Filled Boxes and Circles work the same as line Boxes and Circles.
END
-COMMAND DrawFilledCircleTangent
+COMMAND DrawFilledCircleCenter
PARAMETER draw linecolor 16776960
BIGPAUSE
MOUSE 2 7.360 6.45333
diff --git a/app/lib/demos/dmrescal.xtr b/app/lib/demos/dmrescal.xtr
index 32662b1..015a735 100644
--- a/app/lib/demos/dmrescal.xtr
+++ b/app/lib/demos/dmrescal.xtr
@@ -149,7 +149,7 @@ Now we are going to convert from one scale to another.
END
STEP
PARAMETER rescale toggle 0
-PARAMETER rescale toS 4 HO
+PARAMETER rescale toS 5 HO
PARAMETER misc cmdSelectAll
MESSAGE
_________________________________________
diff --git a/app/lib/demos/dmtbledg.xtr b/app/lib/demos/dmtbledg.xtr
index 4e00dcd..b2731d1 100644
--- a/app/lib/demos/dmtbledg.xtr
+++ b/app/lib/demos/dmtbledg.xtr
@@ -47,7 +47,7 @@ MOUSE 1 58.000 26.167
MESSAGE
_________________________________________
-A Table Edge is attracted to the ends of other Table Edges.
+A Table Edge is attracted to other objects, unless you hold down the Alt key.
END
STEP
MOUSE 2 58.000 26.167
@@ -116,19 +116,32 @@ MOUSE 3 57.833 1.833
MOUSE 3 58.000 1.833
MOUSE 3 58.333 1.833
BIGPAUSE
+#KEYSTATE C
MOUSE 3 58.333 1.667
+#KEYSTATE C
MOUSE 3 58.500 1.667
+#KEYSTATE C
MOUSE 3 58.667 1.667
+#KEYSTATE C
MOUSE 3 58.667 1.500
+#KEYSTATE C
MOUSE 3 58.833 1.500
+#KEYSTATE C
MOUSE 3 58.667 1.500
+#KEYSTATE C
MOUSE 3 58.500 1.500
+#KEYSTATE C
MOUSE 3 58.167 1.667
+#KEYSTATE C
MOUSE 3 58.167 1.833
+#KEYSTATE C
MOUSE 3 58.000 1.833
+#KEYSTATE C
MOUSE 3 57.833 1.833
-MOUSE 3 57.667 2.000
-MOUSE 4 57.667 2.000
+#KEYSTATE C
+MOUSE 3 58.200 2.000
+#KEYSTATE C
+MOUSE 4 58.200 2.000
MESSAGE
_________________________________________
@@ -180,40 +193,40 @@ MOUSE 8200 28.333 6.000
MESSAGE
_________________________________________
-If you hold down the Control key while dragging then the Table Edge will be attracted to other objects.
+Unless you hold down the Alt key while dragging then the Table Edge will be attracted to other objects.
END
STEP
MOUSE 2 28.167 9.333
MOUSE 4 28.167 9.333
-KEYSTATE 4
+#KEYSTATE A
MOUSE 2 28.167 9.333
-KEYSTATE 4
+#KEYSTATE A
MOUSE 3 28.167 9.000
-KEYSTATE 4
+#KEYSTATE A
MOUSE 3 28.167 8.667
-KEYSTATE 4
+#KEYSTATE A
MOUSE 3 28.500 7.667
-KEYSTATE 4
+#KEYSTATE A
MOUSE 3 28.500 7.500
-KEYSTATE 4
+#KEYSTATE A
MOUSE 3 28.500 7.167
-KEYSTATE 4
+#KEYSTATE A
MOUSE 3 28.500 6.833
-KEYSTATE 4
+#KEYSTATE A
MOUSE 3 28.500 6.667
-KEYSTATE 4
+#KEYSTATE A
MOUSE 3 28.500 6.500
-KEYSTATE 4
+#KEYSTATE A
MOUSE 3 28.500 6.333
-KEYSTATE 4
+#KEYSTATE A
MOUSE 3 28.500 6.167
-KEYSTATE 4
-MOUSE 3 28.333 6.167
-KEYSTATE 4
-MOUSE 3 28.333 6.000
-KEYSTATE 4
-MOUSE 4 28.167 5.667
-MOUSE 8200 28.167 5.667
+#KEYSTATE A
+MOUSE 3 28.600 6.167
+#KEYSTATE A
+MOUSE 3 28.600 6.000
+#KEYSTATE A
+MOUSE 4 28.600 5.667
+MOUSE 8200 28.600 5.667
STEP
MESSAGE
=========================================
diff --git a/app/lib/examples/Garden RGS.xtc b/app/lib/examples/Garden RGS.xtc
new file mode 100644
index 0000000..2486b3a
--- /dev/null
+++ b/app/lib/examples/Garden RGS.xtc
@@ -0,0 +1,39643 @@
+#XTrackCAD Version: 5.2.2Beta2, Date: Mon Jun 7 13:56:58 2021
+
+VERSION 12 5.2.0
+TITLE1 RGS by Russell Shilling
+TITLE2 Rio Grande Southern - Ridgway to Rico
+MAPSCALE 256
+ROOMSIZE 840.000000 x 1200.000000
+SCALE Fn3
+LAYERS 0 1 0 1 0 0 0 1 0 "Main"
+LAYERS 1 1 0 1 8421376 0 0 1 0 "Branch"
+LAYERS 2 1 0 1 32768 0 0 1 0 "Structure"
+LAYERS 3 0 0 0 32768 0 0 1 0 "Vegetation"
+LAYERS 4 1 0 0 12632256 0 0 1 0 "Hardscape"
+LAYERS 5 1 0 1 32960 0 0 1 0 "Water Feature"
+LAYERS 6 1 0 1 8421504 0 0 1 0 ""
+LAYERS 7 1 0 1 8388736 0 0 1 0 "Labels"
+LAYERS 8 0 0 1 8421376 0 0 1 0 "Stonework"
+LAYERS 9 0 0 1 8404992 0 1 1 0 "Benchwork"
+LAYERS 10 1 0 0 16711680 0 0 1 0 "Grid"
+LAYERS 11 1 0 1 8421376 1 0 1 0 "Rico Module"
+LAYERS 13 0 0 1 16776960 0 0 1 0 ""
+LAYERS 14 0 0 1 65280 0 0 1 0 ""
+LAYERS CURRENT 0
+DRAW 1 0 0 0 0 0.000000 0.000000 0 0.000000
+ F4 13816495 0.000000 13 0
+ 622.166667 379.895833 0
+ 647.916667 379.895833 0
+ 674.500000 392.125000 0
+ 700.916667 428.489583 0
+ 700.416667 476.739583 0
+ 680.666667 518.489583 0
+ 660.416667 526.989583 0
+ 620.666667 543.489583 0
+ 614.666667 529.239583 0
+ 636.666667 518.989583 0
+ 652.416667 478.239583 0
+ 643.000000 394.125000 0
+ 622.666667 387.333333 0
+ END$SEGS
+DRAW 2 8 0 0 0 0.000000 0.000000 0 0.000000
+ F4 16761220 0.000000 13 0
+ 365.333333 483.916667 0
+ 159.833333 468.416667 0
+ 137.000000 487.500000 0
+ 77.000000 487.000000 0
+ 76.833333 439.916667 0
+ 135.500000 413.875000 0
+ 375.000000 435.062500 0
+ 435.500000 428.062500 0
+ 474.500000 406.062500 0
+ 504.833333 438.916667 0
+ 446.833333 485.416667 0
+ 401.833333 509.416667 0
+ 365.704958 509.932786 0
+ END$SEGS
+DRAW 3 4 0 0 0 0.000000 0.000000 0 0.000000
+ F4 12632256 0.000000 10 0
+ 205.312500 540.906250 0
+ 200.883929 542.116071 0
+ 195.508929 542.616071 0
+ 189.508929 541.741071 0
+ 183.133929 542.241071 0
+ 187.883929 544.491071 0
+ 193.133929 544.491071 0
+ 196.883929 545.866071 0
+ 200.812500 545.531250 0
+ 205.937500 546.156250 0
+ END$SEGS
+DRAW 4 0 0 0 0 0.000000 0.000000 0 0.000000
+ F4 13816495 0.000000 6 0
+ 565.833333 407.291667 0
+ 560.333333 401.291667 0
+ 449.833333 487.291667 0
+ 459.416667 500.333333 0
+ 527.333333 446.791667 0
+ 547.833333 422.291667 0
+ END$SEGS
+DRAW 5 0 0 0 0 0.000000 0.000000 0 0.000000
+ F4 13816495 0.000000 10 0
+ 459.725026 500.090240 0
+ 449.156250 507.104167 0
+ 426.166667 518.583333 0
+ 409.666667 524.583333 0
+ 400.333333 526.979167 0
+ 363.250000 532.375000 0
+ 362.500000 524.125000 0
+ 381.500000 520.625000 0
+ 402.250000 512.125000 0
+ 450.406250 486.979167 0
+ END$SEGS
+DRAW 6 8 0 0 0 23.386902 24.331848 0 0.000000
+ F4 16761220 0.000000 4 0
+ 258.673704 797.954139 0
+ 270.423704 809.579139 0
+ 305.738095 773.886905 0
+ 294.423704 762.079139 0
+ END$SEGS
+DRAW 7 8 0 0 0 11.874997 12.000003 0 0.000000
+ F4 16761220 0.000000 4 0
+ 257.988095 798.261905 0
+ 269.738095 809.761905 0
+ 305.738095 773.886905 0
+ 294.238095 761.886905 0
+ END$SEGS
+DRAW 8 8 0 0 0 35.636902 36.081848 0 0.000000
+ F4 16761220 0.000000 4 0
+ 258.673704 798.079139 0
+ 269.738095 809.761905 0
+ 305.738095 773.886905 0
+ 294.173704 762.079139 0
+ END$SEGS
+DRAW 9 0 0 0 0 0.000000 0.000000 0 0.000000
+ F4 13816495 0.000000 16 0
+ 136.166667 412.385417 0
+ 228.166667 420.885417 0
+ 375.000000 434.000000 0
+ 436.250000 427.250000 0
+ 473.000000 406.250000 0
+ 482.500000 388.625000 0
+ 493.937500 368.625000 0
+ 475.187500 363.812500 0
+ 466.375000 379.437500 0
+ 458.625000 392.750000 0
+ 430.750000 409.000000 0
+ 375.166667 411.885417 0
+ 239.500000 399.500000 0
+ 186.500000 385.125000 0
+ 185.000000 394.781250 0
+ 138.000000 390.781250 0
+ END$SEGS
+DRAW 10 4 0 0 0 0.000000 0.000000 0 0.000000
+ F4 8421504 0.000000 18 0
+ 280.522321 543.964286 0
+ 301.293750 540.925000 0
+ 303.168750 542.925000 0
+ 302.543750 545.050000 0
+ 303.418750 547.425000 0
+ 302.712860 550.248559 0
+ 301.168750 551.800000 0
+ 298.168750 554.050000 0
+ 296.918750 553.175000 0
+ 294.168750 554.425000 0
+ 291.293750 553.300000 0
+ 288.668750 554.675000 0
+ 286.293750 553.925000 0
+ 284.793750 554.925000 0
+ 282.668750 553.925000 0
+ 280.293750 552.175000 0
+ 280.043750 549.925000 0
+ 281.418750 547.550000 0
+ END$SEGS
+DRAW 11 5 0 0 0 0.000000 0.000000 0 0.000000
+ F4 32960 0.000000 23 0
+ 516.802083 544.229167 0
+ 520.333333 526.729167 0
+ 530.802083 513.979167 0
+ 557.802083 504.229167 0
+ 576.541667 484.912281 0
+ 587.541667 468.912281 0
+ 588.541667 454.912281 0
+ 582.166667 440.677083 0
+ 580.166667 424.177083 0
+ 584.916667 410.177083 0
+ 583.333333 395.729167 0
+ 596.750000 390.906250 0
+ 597.166667 409.677083 0
+ 593.041667 427.412281 0
+ 595.541667 440.912281 0
+ 602.041667 456.412281 0
+ 599.541667 472.412281 0
+ 588.041667 488.412281 0
+ 579.041667 500.912281 0
+ 564.333333 514.729167 0
+ 541.302083 523.979167 0
+ 532.802083 532.479167 0
+ 531.333333 541.729167 0
+ END$SEGS
+STRUCTURE 12 3 0 0 0 Fn3 2 608.333333 488.729167 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+CURVE 13 0 0 0 0 Fn3 2 349.450861 830.061982 0 72.000000 0 0.000000 0.000000
+ T4 14 349.450861 758.061982 90.000000 11 0.000000 0.000000 0.0 0.0 1 3 0 7.549752
+ T4 327 299.041951 778.652432 314.436819 9 0.000000 0.000000 6.820000 6.820000 1 1 0 7.549752
+ END$SEGS
+CURVE 14 0 0 0 0 Fn3 2 349.450861 830.061982 0 72.000000 0 0.000000 0.000000
+ T4 15 355.726075 758.335964 85.000000 0 0.0 0.0 0.0 0.0 0 0 0 8.361615
+ T4 13 349.450861 758.061982 270.000000 11 0.000000 0.000000 0.0 0.0 1 3 0 8.361615
+ END$SEGS
+STRAIGHT 15 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 14 355.726075 758.335964 265.000000 0 0.0 0.0 0.0 0.0 0 0 0 9.108908
+ T4 70 406.432448 762.772127 85.000000 0 0.0 0.0 0.0 0.0 0 0 0 9.108908
+ END$SEGS
+CURVE 16 0 0 0 0 Fn3 2 477.070505 624.402100 0 144.000000 0 0.000000 0.000000
+ T4 69 464.520078 767.854136 265.000000 0 0.0 0.0 0.0 0.0 0 0 0 11.496056
+ T4 17 479.583651 768.380168 91.000000 0 0.0 0.0 0.0 0.0 0 0 0 11.496056
+ END$SEGS
+STRAIGHT 17 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 16 479.583651 768.380168 271.000000 0 0.0 0.0 0.0 0.0 0 0 0 12.634047
+ T4 18 551.572685 767.123595 91.000000 0 0.0 0.0 0.0 0.0 0 0 0 12.634047
+ END$SEGS
+STRAIGHT 18 0 128 0 0 Fn3 2 0.000000 0.000000
+ T4 17 551.572685 767.123595 271.000000 0 0.0 0.0 0.0 0.0 0 0 0 14.437486
+ T4 19 617.562633 765.971736 91.000000 9 -0.062633 -5.721736 15.300000 15.300000 1 1 0 14.437486
+ END$SEGS
+CURVE 19 0 0 0 0 Fn3 2 616.306060 693.982702 0 72.000000 0 0.000000 0.000000
+ T4 18 617.562633 765.971736 271.000000 9 -0.062633 -5.721736 15.300000 15.300000 1 1 0 18.107258
+ T4 361 648.993521 629.830306 243.000000 0 0.0 0.0 0.0 0.0 0 0 0 18.107258
+ END$SEGS
+STRAIGHT 20 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 361 506.643721 679.348100 123.000000 0 0.0 0.0 0.0 0.0 0 0 0 25.740962
+ T4 21 498.592484 684.576635 303.000000 0 0.0 0.0 0.0 0.0 0 0 0 25.740962
+ END$SEGS
+CURVE 21 0 0 0 0 Fn3 2 459.378473 624.192354 0 72.000000 0 0.000000 0.000000
+ T4 22 459.378473 696.192354 270.000000 0 0.0 0.0 0.0 0.0 0 0 0 26.491524
+ T4 20 498.592484 684.576635 123.000000 0 0.0 0.0 0.0 0.0 0 0 0 26.491524
+ END$SEGS
+STRAIGHT 22 0 128 0 0 Fn3 2 0.000000 0.000000
+ T4 59 438.999999 696.192365 270.000000 9 -0.374999 -10.942365 27.700000 27.700000 1 1 0 27.400497
+ T4 21 459.378473 696.192354 90.000000 0 0.0 0.0 0.0 0.0 0 0 0 27.400497
+ END$SEGS
+CURVE 23 0 0 0 0 Fn3 2 279.378473 768.192354 0 72.000000 0 0.000000 0.000000
+ T4 58 279.378473 696.192354 90.000000 11 0.000000 0.000000 0.0 0.0 1 3 0 32.644924
+ T4 24 252.406799 701.435116 292.000000 0 0.0 0.0 0.0 0.0 0 0 0 32.644924
+ END$SEGS
+STRAIGHT 24 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 23 252.406799 701.435116 112.000000 0 0.0 0.0 0.0 0.0 0 0 0 33.173058
+ T4 25 241.280593 705.930395 292.000000 0 0.0 0.0 0.0 0.0 0 0 0 33.173058
+ END$SEGS
+CURVE 25 0 0 0 0 Fn3 2 274.995186 789.376942 0 90.000000 0 0.000000 0.000000
+ T4 24 241.280593 705.930395 112.000000 0 0.0 0.0 0.0 0.0 0 0 0 33.334889
+ T4 57 241.142895 705.986161 292.094444 0 0.0 0.0 0.0 0.0 0 0 0 33.334889
+ END$SEGS
+STRAIGHT 26 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 320 153.171184 595.313423 264.000000 0 0.0 0.0 0.0 0.0 0 0 0 42.758370
+ T4 27 188.966485 599.075601 84.000000 0 0.0 0.0 0.0 0.0 0 0 0 42.758370
+ END$SEGS
+CURVE 27 0 0 0 0 Fn3 2 199.001218 503.601499 0 96.000000 0 0.000000 0.000000
+ T4 26 188.966485 599.075601 264.000000 0 0.0 0.0 0.0 0.0 0 0 0 43.594954
+ T4 28 215.671443 598.143043 100.000000 0 0.0 0.0 0.0 0.0 0 0 0 43.594954
+ END$SEGS
+STRAIGHT 28 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 27 215.671443 598.143043 280.000000 0 0.0 0.0 0.0 0.0 0 0 0 44.271783
+ T4 29 239.306829 593.975487 100.000000 0 0.0 0.0 0.0 0.0 0 0 0 44.271783
+ END$SEGS
+CURVE 29 0 0 0 0 Fn3 2 255.977054 688.517031 0 96.000000 0 0.000000 0.000000
+ T4 30 266.011787 593.042929 84.000000 0 0.0 0.0 0.0 0.0 0 0 0 44.948613
+ T4 28 239.306829 593.975487 280.000000 0 0.0 0.0 0.0 0.0 0 0 0 44.948613
+ END$SEGS
+STRAIGHT 30 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 29 266.011787 593.042929 264.000000 0 0.0 0.0 0.0 0.0 0 0 0 45.889203
+ T4 31 309.571846 597.621276 84.000000 0 0.0 0.0 0.0 0.0 0 0 0 45.889203
+ END$SEGS
+CURVE 31 0 0 0 0 Fn3 2 319.606578 502.147174 0 96.000000 0 0.000000 0.000000
+ T4 30 309.571846 597.621276 264.000000 0 0.0 0.0 0.0 0.0 0 0 0 47.186913
+ T4 32 361.690208 588.431403 116.000000 0 0.0 0.0 0.0 0.0 0 0 0 47.186913
+ END$SEGS
+STRAIGHT 32 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 31 361.690208 588.431403 296.000000 0 0.0 0.0 0.0 0.0 0 0 0 48.347811
+ T4 83 391.826700 573.732963 116.000000 0 0.0 0.0 0.0 0.0 0 0 0 48.347811
+ END$SEGS
+CURVE 33 0 128 0 0 Fn3 2 603.756868 475.000619 0 60.000000 0 0.000000 0.000000
+ T4 315 639.235604 523.387180 306.250185 0 0.0 0.0 0.0 0.0 0 0 0 55.801170
+ T4 469 662.739816 486.001156 169.435568 9 -8.262544 -0.229026 56.138000 56.138000 1 1 0 55.801170
+ END$SEGS
+STRAIGHT 34 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 469 663.400228 468.468412 6.250185 0 0.0 0.0 0.0 0.0 0 0 0 56.138000
+ E4 656.868022 408.825054 186.250185 0 0.0 0.0 0.0 0.0 0 0 0 56.138000
+ END$SEGS
+CURVE 35 0 128 0 0 Fn3 2 614.921161 452.824059 0 78.000000 0 0.000000 0.000000
+ T4 86 644.140475 525.144400 292.000000 0 0.0 0.0 0.0 0.0 0 0 0 55.809743
+ T4 36 683.791073 489.442841 152.000000 9 5.563094 2.202992 56.138000 56.138000 1 1 0 55.809743
+ END$SEGS
+CURVE 36 0 128 0 0 Fn3 2 620.218846 455.640889 0 72.000000 0 0.000000 0.000000
+ T4 35 683.791073 489.442841 332.000000 9 5.563094 2.202992 56.138000 56.138000 1 1 0 56.515000
+ T4 37 681.278309 417.486702 212.000000 9 5.159191 -2.596077 56.892000 56.892000 1 1 0 56.515000
+ END$SEGS
+CURVE 37 0 128 0 0 Fn3 2 620.218846 455.640889 0 72.000000 0 0.000000 0.000000
+ T4 36 681.278309 417.486702 32.000000 9 5.159191 -2.596077 56.892000 56.892000 1 1 0 57.850915
+ T4 360 623.193186 383.702351 267.632572 10 0.244314 -5.827351 0.0 0.0 1 2 0 57.850915
+ END$SEGS
+STRAIGHT 38 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 341 433.794785 500.773111 117.999848 0 0.0 0.0 0.0 0.0 0 0 0 65.415630
+ T4 342 408.865529 514.028176 297.999848 3 0.000000 0.000000 0.0 0.0 0 3 0 65.415630
+ END$SEGS
+STRAIGHT 39 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 313 301.810916 537.402510 98.500000 0 0.0 0.0 0.0 0.0 0 0 0 69.151579
+ T4 312 278.074537 540.949944 278.500000 0 0.0 0.0 0.0 0.0 0 0 0 69.151579
+ END$SEGS
+CURVE 40 0 128 0 0 Fn3 2 192.675691 456.646698 0 96.000000 0 0.000000 0.000000
+ T4 311 176.005466 551.188243 260.000000 10 -13.505466 8.311757 0.0 0.0 1 2 0 71.881109
+ T4 312 206.865394 551.592221 98.500000 10 2.384606 10.407779 0.0 0.0 1 2 0 71.881109
+ END$SEGS
+CURVE 41 0 128 0 0 Fn3 2 123.510823 468.821305 0 72.000000 0 0.000000 0.000000
+ T4 42 53.084196 483.790946 192.000000 10 9.684743 -2.514431 0.0 0.0 1 2 0 75.288936
+ T4 311 111.008154 539.727463 80.000000 10 -9.133154 5.897537 0.0 0.0 1 2 0 75.288936
+ END$SEGS
+CURVE 42 0 128 0 0 Fn3 2 123.510823 468.821305 0 72.000000 0 0.000000 0.000000
+ T4 43 129.786037 397.095286 85.000000 0 0.0 0.0 0.0 0.0 0 0 0 78.305338
+ T4 41 53.084196 483.790946 12.000000 10 9.684743 -2.514431 0.0 0.0 1 2 0 78.305338
+ END$SEGS
+STRAIGHT 43 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 42 129.786037 397.095286 265.000000 0 0.0 0.0 0.0 0.0 0 0 0 80.374826
+ T4 95 146.139908 398.526064 85.000000 9 -0.806575 9.140603 80.600000 80.600000 1 1 0 80.374826
+ END$SEGS
+STRAIGHT 44 1 128 0 0 Fn3 2 0.000000 0.000000
+ T4 106 179.370985 390.189738 85.000000 0 0.0 0.0 0.0 0.0 0 0 0 85.453669
+ T4 45 99.800614 383.228132 265.000000 11 -0.550614 8.521868 0.0 0.0 1 3 0 85.453669
+ END$SEGS
+CURVE 45 1 0 0 0 Fn3 2 94.571269 442.999814 0 60.000000 0 0.000000 0.000000
+ T4 44 99.800614 383.228132 85.000000 11 -0.550614 8.521868 0.0 0.0 1 3 0 86.994668
+ T4 46 41.594413 471.168107 28.000000 0 0.0 0.0 0.0 0.0 0 0 0 86.994668
+ END$SEGS
+CURVE 46 1 128 0 0 Fn3 2 94.571269 442.999814 0 60.000000 0 0.000000 0.000000
+ T4 45 41.594413 471.168107 208.000000 0 0.0 0.0 0.0 0.0 0 0 0 88.265580
+ T4 47 50.690047 483.919715 43.000000 9 -10.546108 4.356800 88.460000 88.460000 1 1 0 88.265580
+ END$SEGS
+CURVE 47 1 128 0 0 Fn3 2 94.571269 442.999814 0 60.000000 0 0.000000 0.000000
+ T4 46 50.690047 483.919715 223.000000 9 -10.546108 4.356800 88.460000 88.460000 1 1 0 88.460000
+ T4 623 94.571269 502.999814 90.000000 10 -0.821269 -6.749814 0.0 0.0 1 2 0 88.460000
+ END$SEGS
+CURVE 48 0 0 0 0 Fn3 2 412.682712 348.175409 0 72.000000 0 0.000000 0.000000
+ T4 96 421.698203 419.608741 277.193187 0 0.0 0.0 0.0 0.0 0 0 0 89.573850
+ T4 49 472.373418 388.437298 146.000000 0 0.0 0.0 0.0 0.0 0 0 0 89.573850
+ END$SEGS
+CURVE 49 0 128 0 0 Fn3 2 412.682712 348.175409 0 72.000000 0 0.000000 0.000000
+ T4 48 472.373418 388.437298 326.000000 0 0.0 0.0 0.0 0.0 0 0 0 90.833868
+ T4 310 482.541301 365.604625 165.991110 9 15.708699 0.145375 91.200000 91.200000 1 1 0 90.833868
+ END$SEGS
+CURVE 50 0 0 0 0 Fn3 2 412.682712 348.175409 0 72.000000 0 0.000000 0.000000
+ T4 770 456.162114 290.786023 52.851668 0 0.0 0.0 0.0 0.0 0 0 0 93.082508
+ T4 112 419.099021 276.461875 264.887429 0 0.0 0.0 0.0 0.0 0 0 0 93.082508
+ END$SEGS
+CURVE 51 1 0 0 0 Fn3 2 507.241455 223.241648 0 60.000000 0 0.000000 0.000000
+ T4 114 492.704361 281.453957 255.978552 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ T4 52 532.598550 277.620115 115.000000 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ END$SEGS
+STRAIGHT 52 1 0 0 0 Fn3 2 0.000000 0.000000
+ T4 51 532.598550 277.620115 295.000000 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ T4 626 597.365211 247.419059 115.000000 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ END$SEGS
+CURVE 53 0 128 0 0 Fn3 2 130.744699 252.269426 0 72.000000 0 0.000000 0.000000
+ T4 117 59.856900 264.875776 190.083723 0 0.0 0.0 0.0 0.0 0 0 0 97.180122
+ T4 607 173.740735 310.021836 126.667310 0 0.0 0.0 0.0 0.0 0 0 0 97.180122
+ END$SEGS
+STRAIGHT 54 0 128 0 0 Fn3 2 0.000000 0.000000
+ T4 318 172.608632 733.675665 291.999943 10 -0.233632 12.199335 0.0 0.0 1 2 0 35.157008
+ T4 55 183.595609 729.236641 111.999943 0 0.0 0.0 0.0 0.0 0 0 0 35.157008
+ END$SEGS
+TURNOUT 55 0 0 1 0 Fn3 2 183.595609 729.236641 0 21.999943 "NMRA G #5 Right 5R"
+ T4 54 183.595609 729.236641 291.999943 0 0.0 0.0 0.0 0.0 0 0 0 34.663262
+ T4 56 206.823123 719.852152 111.999943 0 0.0 0.0 0.0 0.0 0 0 0 34.663262
+ T4 63 205.203067 716.767776 123.421129 0 0.0 0.0 0.0 0.0 0 0 0 34.663262
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 57.751549 1.770077 -57.751549 0.000076 11.421338
+ S 0 0.000000 13.206091 -1.143623 24.705000 -3.466667
+ END$SEGS
+STRAIGHT 56 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 55 206.823123 719.852152 291.999791 0 0.0 0.0 0.0 0.0 0 0 0 34.168003
+ T4 57 217.915404 715.370614 111.999791 0 0.0 0.0 0.0 0.0 0 0 0 34.168003
+ END$SEGS
+TURNOUT 57 0 0 0 0 Fn3 2 241.142895 705.986161 0 202.094444 "NMRA G #5 Right 5R"
+ T4 25 241.142895 705.986161 112.094444 0 0.0 0.0 0.0 0.0 0 0 0 33.672750
+ T4 56 217.930916 715.409009 292.094444 0 0.0 0.0 0.0 0.0 0 0 0 33.672750
+ T4 91 219.556066 718.490704 303.515630 0 0.0 0.0 0.0 0.0 0 0 0 33.672750
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 57.751549 1.770077 -57.751549 0.000076 11.421338
+ S 0 0.000000 13.206091 -1.143623 24.705000 -3.466667
+ END$SEGS
+STRAIGHT 58 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 23 279.378473 696.192354 269.999920 11 0.000000 0.000000 0.0 0.0 1 3 0 30.484006
+ T4 59 413.948332 696.192363 89.999920 0 0.0 0.0 0.0 0.0 0 0 0 30.484006
+ END$SEGS
+TURNOUT 59 0 0 1 0 Fn3 2 438.999999 696.192365 0 180.000000 "NMRA G #5 Left 5L"
+ T4 22 438.999999 696.192365 90.000000 9 -0.374999 -10.942365 27.700000 27.700000 1 1 0 28.354467
+ T4 58 413.948332 696.192432 270.000000 0 0.0 0.0 0.0 0.0 0 0 0 28.354467
+ T4 66 414.294990 692.725764 258.578814 0 0.0 0.0 0.0 0.0 0 0 0 28.354467
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 -57.751549 1.770077 57.751549 168.578738 11.421338
+ S 0 0.000000 13.206091 1.143623 24.705000 3.466667
+ END$SEGS
+STRAIGHT 60 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 61 279.378505 688.192354 269.999920 0 0.0 0.0 0.0 0.0 0 0 0 30.853025
+ T4 65 384.500196 688.192640 89.999920 0 0.0 0.0 0.0 0.0 0 0 0 30.853025
+ END$SEGS
+CURVE 61 0 0 0 0 Fn3 2 279.378473 768.192354 0 80.000000 0 0.000000 0.000000
+ T4 60 279.378261 688.192354 90.000000 0 0.0 0.0 0.0 0.0 0 0 0 32.638189
+ T4 62 249.409773 694.017715 292.000000 0 0.0 0.0 0.0 0.0 0 0 0 32.638189
+ END$SEGS
+STRAIGHT 62 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 64 231.844111 701.114743 292.000247 0 0.0 0.0 0.0 0.0 0 0 0 33.290848
+ T4 61 249.409929 694.017652 112.000095 0 0.0 0.0 0.0 0.0 0 0 0 33.290848
+ END$SEGS
+STRAIGHT 63 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 55 205.203067 716.767776 303.420977 0 0.0 0.0 0.0 0.0 0 0 0 34.159582
+ T4 64 217.530001 708.633242 123.420977 0 0.0 0.0 0.0 0.0 0 0 0 34.159582
+ END$SEGS
+CURVE 64 0 0 0 0 Fn3 2 262.281094 776.447480 0 81.249192 0 0.000000 0.000000
+ T4 62 231.844111 701.114743 112.000247 0 0.0 0.0 0.0 0.0 0 0 0 33.752657
+ T4 63 217.530001 708.633242 303.420977 0 0.0 0.0 0.0 0.0 0 0 0 33.752657
+ END$SEGS
+CURVE 65 0 0 0 0 Fn3 2 384.499898 761.751761 0 73.559121 0 0.000000 0.000000
+ T4 66 399.066240 689.649293 78.578814 0 0.0 0.0 0.0 0.0 0 0 0 29.278849
+ T4 60 384.500196 688.192640 269.999920 0 0.0 0.0 0.0 0.0 0 0 0 29.278849
+ END$SEGS
+STRAIGHT 66 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 59 414.294990 692.725764 78.579039 0 0.0 0.0 0.0 0.0 0 0 0 28.881978
+ T4 65 399.066240 689.649293 258.579039 0 0.0 0.0 0.0 0.0 0 0 0 28.881978
+ END$SEGS
+STRUCTURE 67 2 0 0 0 Fn3 2 506.443001 756.974728 0 0.840209 "Custom Rico Coal Pocket Rico-3"
+ D 0.000000 0.000000
+ F4 8553090 0.010417 4 0
+ 2.000000 7.250000 0
+ 34.875000 7.250000 0
+ 34.875000 0.000000 0
+ 2.000000 0.000000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 0.380000 0
+ 1.900000 0.380000 0
+ 1.900000 0.000000 0
+ 0.000000 0.000000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 0.780000 0
+ 1.900000 0.780000 0
+ 1.900000 0.400000 0
+ 0.000000 0.400000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 1.180000 0
+ 1.900000 1.180000 0
+ 1.900000 0.800000 0
+ 0.000000 0.800000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 1.580000 0
+ 1.900000 1.580000 0
+ 1.900000 1.200000 0
+ 0.000000 1.200000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 1.980000 0
+ 1.900000 1.980000 0
+ 1.900000 1.600000 0
+ 0.000000 1.600000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 2.380000 0
+ 1.900000 2.380000 0
+ 1.900000 2.000000 0
+ 0.000000 2.000000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 2.780000 0
+ 1.900000 2.780000 0
+ 1.900000 2.400000 0
+ 0.000000 2.400000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 3.180000 0
+ 1.900000 3.180000 0
+ 1.900000 2.800000 0
+ 0.000000 2.800000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 3.580000 0
+ 1.900000 3.580000 0
+ 1.900000 3.200000 0
+ 0.000000 3.200000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 3.980000 0
+ 1.900000 3.980000 0
+ 1.900000 3.600000 0
+ 0.000000 3.600000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 4.380000 0
+ 1.900000 4.380000 0
+ 1.900000 4.000000 0
+ 0.000000 4.000000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 4.780000 0
+ 1.900000 4.780000 0
+ 1.900000 4.400000 0
+ 0.000000 4.400000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 5.180000 0
+ 1.900000 5.180000 0
+ 1.900000 4.800000 0
+ 0.000000 4.800000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 5.580000 0
+ 1.900000 5.580000 0
+ 1.900000 5.200000 0
+ 0.000000 5.200000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 5.980000 0
+ 1.900000 5.980000 0
+ 1.900000 5.600000 0
+ 0.000000 5.600000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 6.380000 0
+ 1.900000 6.380000 0
+ 1.900000 6.000000 0
+ 0.000000 6.000000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 6.780000 0
+ 1.900000 6.780000 0
+ 1.900000 6.400000 0
+ 0.000000 6.400000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 7.180000 0
+ 1.900000 7.180000 0
+ 1.900000 6.800000 0
+ 0.000000 6.800000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 7.580000 0
+ 1.900000 7.580000 0
+ 1.900000 7.200000 0
+ 0.000000 7.200000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 7.980000 0
+ 1.900000 7.980000 0
+ 1.900000 7.600000 0
+ 0.000000 7.600000 0
+ L3 0 0.010417 34.875000 7.250000 0 2.000000 7.250000 0
+ L3 0 0.010417 34.875000 0.000000 0 2.000000 0.000000 0
+ L3 0 0.010417 2.000000 7.250000 0 2.000000 0.000000 0
+ L3 0 0.010417 34.875000 7.250000 0 34.875000 0.000000 0
+ END$SEGS
+STRAIGHT 68 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 73 480.247383 752.366145 270.999925 0 0.0 0.0 0.0 0.0 0 0 0 10.101913
+ E4 570.017514 750.799440 90.999925 0 0.0 0.0 0.0 0.0 0 0 0 10.101913
+ END$SEGS
+STRAIGHT 69 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 16 464.520078 767.854136 85.000072 0 0.0 0.0 0.0 0.0 0 0 0 10.864362
+ T4 70 431.388785 764.955524 265.000072 0 0.0 0.0 0.0 0.0 0 0 0 10.864362
+ END$SEGS
+TURNOUT 70 0 0 0 0 Fn3 2 406.432448 762.772127 0 355.000000 "NMRA G #5 Right 5R"
+ T4 15 406.432448 762.772127 265.000000 0 0.0 0.0 0.0 0.0 0 0 0 10.101913
+ T4 69 431.388786 764.955522 85.000000 0 0.0 0.0 0.0 0.0 0 0 0 10.101913
+ T4 71 431.345577 761.471833 96.421186 0 0.0 0.0 0.0 0.0 0 0 0 10.101913
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 57.751549 1.770077 -57.751549 0.000076 11.421338
+ S 0 0.000000 13.206091 -1.143623 24.705000 -3.466667
+ END$SEGS
+CURVE 71 0 0 0 0 Fn3 2 423.293160 689.923538 0 72.000000 0 0.000000 0.000000
+ T4 70 431.345373 761.471856 276.421186 0 0.0 0.0 0.0 0.0 0 0 0 10.101913
+ T4 72 442.370975 759.350024 105.365163 0 0.0 0.0 0.0 0.0 0 0 0 10.101913
+ END$SEGS
+STRAIGHT 72 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 71 442.370975 759.350024 285.365011 0 0.0 0.0 0.0 0.0 0 0 0 10.101913
+ T4 73 454.108640 756.124699 105.365011 0 0.0 0.0 0.0 0.0 0 0 0 10.101913
+ END$SEGS
+CURVE 73 0 0 0 0 Fn3 2 482.090572 857.954347 0 105.604288 0 0.000000 0.000000
+ T4 68 480.247383 752.366145 90.999925 0 0.0 0.0 0.0 0.0 0 0 0 10.101913
+ T4 72 454.108640 756.124699 285.365011 0 0.0 0.0 0.0 0.0 0 0 0 10.101913
+ END$SEGS
+TURNOUT 74 0 0 1 0 Fn3 2 370.455674 527.143504 0 8.499848 "NMRA G #5 Right 5R"
+ T4 336 370.455674 527.143504 278.499848 0 0.0 0.0 0.0 0.0 0 0 0 66.576146
+ T4 79 395.232180 523.440701 98.499848 0 0.0 0.0 0.0 0.0 0 0 0 66.576146
+ T4 343 394.376925 520.063350 109.921034 0 0.0 0.0 0.0 0.0 0 0 0 66.576146
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 57.751549 1.770077 -57.751549 0.000076 11.421338
+ S 0 0.000000 13.206091 -1.143623 24.705000 -3.466667
+ END$SEGS
+STRAIGHT 75 0 128 0 0 Fn3 2 0.000000 0.000000
+ T4 341 460.028686 483.736699 307.999956 11 -6.028686 -6.986699 0.0 0.0 1 3 0 62.908547
+ T4 76 532.451041 427.154154 127.999956 0 0.0 0.0 0.0 0.0 0 0 0 62.908547
+ END$SEGS
+TURNOUT 76 0 0 0 0 Fn3 2 552.192024 411.730808 0 218.000000 "NMRA G #5 Right 5R"
+ T4 337 552.192024 411.730808 128.000000 0 0.0 0.0 0.0 0.0 0 0 0 61.303233
+ T4 75 532.451073 427.154196 308.000000 0 0.0 0.0 0.0 0.0 0 0 0 61.303233
+ T4 81 534.858549 429.672532 319.421186 0 0.0 0.0 0.0 0.0 0 0 0 61.303233
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 57.751549 1.770077 -57.751549 0.000076 11.421338
+ S 0 0.000000 13.206091 -1.143623 24.705000 -3.466667
+ END$SEGS
+STRAIGHT 77 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 340 465.390558 489.699936 307.999956 0 0.0 0.0 0.0 0.0 0 0 0 63.294321
+ T4 82 514.261156 451.518040 127.999956 0 0.0 0.0 0.0 0.0 0 0 0 63.294321
+ END$SEGS
+STRAIGHT 78 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 340 437.063829 508.095494 118.000000 0 0.0 0.0 0.0 0.0 0 0 0 65.220779
+ T4 80 424.886925 514.569990 298.000000 0 0.0 0.0 0.0 0.0 0 0 0 65.220779
+ END$SEGS
+STRAIGHT 79 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 74 395.232180 523.440701 278.499696 0 0.0 0.0 0.0 0.0 0 0 0 66.166643
+ T4 80 400.267189 522.688282 98.499696 0 0.0 0.0 0.0 0.0 0 0 0 66.166643
+ END$SEGS
+CURVE 80 0 0 0 0 Fn3 2 388.954575 446.991000 0 76.537923 0 0.000000 0.000000
+ T4 79 400.267189 522.688282 278.499696 0 0.0 0.0 0.0 0.0 0 0 0 65.748448
+ T4 78 424.886925 514.569990 118.000000 0 0.0 0.0 0.0 0.0 0 0 0 65.748448
+ END$SEGS
+STRAIGHT 81 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 76 534.858549 429.672532 139.421338 0 0.0 0.0 0.0 0.0 0 0 0 61.842155
+ T4 82 524.675908 441.561796 319.421338 0 0.0 0.0 0.0 0.0 0 0 0 61.842155
+ END$SEGS
+CURVE 82 0 0 0 0 Fn3 2 469.688129 394.467011 0 72.398719 0 0.000000 0.000000
+ T4 77 514.261156 451.518040 307.999956 0 0.0 0.0 0.0 0.0 0 0 0 62.254033
+ T4 81 524.675908 441.561796 139.421338 0 0.0 0.0 0.0 0.0 0 0 0 62.254033
+ END$SEGS
+CURVE 83 0 0 0 0 Fn3 2 431.313901 654.693257 0 90.076679 0 0.000000 0.000000
+ T4 309 420.336087 565.288023 97.000000 0 0.0 0.0 0.0 0.0 0 0 0 49.192384
+ T4 32 391.826700 573.732963 296.000000 0 0.0 0.0 0.0 0.0 0 0 0 49.192384
+ END$SEGS
+CURVE 84 0 0 0 0 Fn3 2 180.251238 955.094070 0 72.000000 0 0.000000 0.000000
+ T4 85 108.258843 956.140540 180.832708 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 89 252.215553 957.360650 178.196089 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+CURVE 85 0 0 0 0 Fn3 2 180.251235 955.093847 0 72.000000 0 0.000000 0.000000
+ T4 88 116.190387 922.227333 152.839741 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 84 108.258840 956.140317 0.832708 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+STRAIGHT 86 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 35 644.140475 525.144400 112.000152 0 0.0 0.0 0.0 0.0 0 0 0 55.460653
+ T4 315 640.936027 526.439085 292.000152 0 0.0 0.0 0.0 0.0 0 0 0 55.460653
+ END$SEGS
+STRUCTURE 87 2 0 0 0 Fn3 2 667.479167 473.812500 0 96.289400 "Custom Ophir Depot Ophir-1"
+ D 0.000000 0.000000
+ F4 6842368 0.000000 8 0
+ 46.000000 20.000000 0
+ 38.000000 22.000000 0
+ 8.000000 22.000000 0
+ 0.000000 20.000000 0
+ 0.000000 0.000000 0
+ 46.000000 0.000000 0
+ 46.000000 0.000000 0
+ 46.000000 0.000000 0
+ F4 4276545 0.000000 5 0
+ 24.000000 21.000000 0
+ 40.000000 21.000000 0
+ 40.000000 19.000000 0
+ 24.000000 19.000000 0
+ 24.000000 19.000000 0
+ F4 8553090 0.000000 6 0
+ 43.000000 10.500000 0
+ 24.000000 10.500000 0
+ 24.000000 2.000000 0
+ 43.000000 2.000000 0
+ 43.000000 2.000000 0
+ 43.000000 2.000000 0
+ F4 8553090 0.000000 6 0
+ 24.000000 3.000000 0
+ 3.000000 3.000000 0
+ 3.000000 10.500000 0
+ 24.000000 10.500000 0
+ 24.000000 10.500000 0
+ 24.000000 10.500000 0
+ F4 12500670 0.000000 7 0
+ 43.000000 10.500000 0
+ 24.000000 10.500000 0
+ 24.000000 19.000000 0
+ 43.000000 19.000000 0
+ 43.000000 19.000000 0
+ 43.000000 19.000000 0
+ 43.000000 19.000000 0
+ F4 12500670 0.000000 9 0
+ 24.000000 10.500000 0
+ 3.000000 10.500000 0
+ 3.000000 18.000000 0
+ 24.000000 18.000000 0
+ 24.000000 18.000000 0
+ 24.000000 18.000000 0
+ 24.000000 18.000000 0
+ 24.000000 18.000000 0
+ 24.000000 18.000000 0
+ F4 12500670 0.000000 3 0
+ 32.000000 2.500000 0
+ 40.000000 2.500000 0
+ 32.000000 10.500000 0
+ F4 8553090 0.000000 6 0
+ 24.000000 2.500000 0
+ 32.000000 10.500000 0
+ 32.000000 2.500000 0
+ 32.000000 2.500000 0
+ 32.000000 2.500000 0
+ 32.000000 2.500000 0
+ F4 8553090 0.000000 8 0
+ 32.000000 18.500000 0
+ 32.000000 10.500000 0
+ 24.000000 18.500000 0
+ 24.000000 18.500000 0
+ 24.000000 18.500000 0
+ 24.000000 18.500000 0
+ 24.000000 18.500000 0
+ 24.000000 18.500000 0
+ F4 12500670 0.000000 7 0
+ 32.000000 18.500000 0
+ 40.000000 18.500000 0
+ 32.000000 10.500000 0
+ 32.000000 10.500000 0
+ 32.000000 10.500000 0
+ 32.000000 10.500000 0
+ 32.000000 10.500000 0
+ F4 6815744 0.000000 4 0
+ 35.500000 12.000000 0
+ 38.500000 12.000000 0
+ 38.500000 9.000000 0
+ 35.500000 9.000000 0
+ L3 0 0.000000 24.000000 18.500000 0 32.000000 10.500000 0
+ L3 0 0.000000 32.000000 10.500000 0 24.000000 2.500000 0
+ L3 0 0.000000 24.000000 2.500000 0 24.000000 18.500000 0
+ L3 0 0.000000 24.000000 18.500000 0 40.000000 18.500000 0
+ L3 0 0.000000 40.000000 18.500000 0 32.000000 10.500000 0
+ L3 0 0.000000 32.000000 10.500000 0 40.000000 2.500000 0
+ L3 0 0.000000 40.000000 2.500000 0 32.000000 2.500000 0
+ L3 0 0.000000 32.000000 18.500000 0 32.000000 10.500000 0
+ L3 0 0.000000 32.000000 10.500000 0 32.000000 2.500000 0
+ L3 0 0.000000 32.000000 2.500000 0 24.000000 2.500000 0
+ F4 5196085 0.000000 5 0
+ 36.000000 11.500000 0
+ 38.000000 11.500000 0
+ 38.000000 9.500000 0
+ 36.000000 9.500000 0
+ 36.000000 9.500000 0
+ END$SEGS
+CURVE 88 0 0 0 0 Fn3 2 193.503708 961.893103 0 86.894895 0 0.000000 0.000000
+ T4 352 141.936745 891.953335 126.401428 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 85 116.190387 922.227333 332.839709 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+CURVE 89 0 0 0 0 Fn3 2 -58.259407 947.584701 0 310.628830 0 0.000000 0.000000
+ T4 84 252.215553 957.360650 358.196593 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 347 252.010674 932.660005 182.754013 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+STRAIGHT 90 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 346 254.424126 882.853048 191.961484 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 731 260.167782 909.964455 11.961484 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+STRAIGHT 91 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 57 219.556066 718.490704 123.515782 0 0.0 0.0 0.0 0.0 0 0 0 33.672750
+ T4 92 196.834049 733.539021 303.515782 0 0.0 0.0 0.0 0.0 0 0 0 33.672750
+ END$SEGS
+CURVE 92 0 0 0 0 Fn3 2 236.590025 793.567868 0 72.000000 0 0.000000 0.000000
+ T4 91 196.833896 733.539123 123.515782 0 0.0 0.0 0.0 0.0 0 0 0 33.672750
+ T4 93 166.118436 778.811337 348.173236 0 0.0 0.0 0.0 0.0 0 0 0 33.672750
+ END$SEGS
+STRAIGHT 93 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 92 166.118436 778.811337 168.173388 0 0.0 0.0 0.0 0.0 0 0 0 33.672750
+ E4 156.053616 826.876779 348.173388 0 0.0 0.0 0.0 0.0 0 0 0 33.672750
+ END$SEGS
+STRAIGHT 94 0 128 0 0 Fn3 2 0.000000 0.000000
+ T4 104 248.016771 407.439136 264.999919 11 -1.516771 15.060864 0.0 0.0 1 3 0 85.690712
+ T4 97 391.303907 419.975315 85.000000 0 0.0 0.0 0.0 0.0 0 0 0 85.690712
+ END$SEGS
+TURNOUT 95 0 0 0 0 Fn3 2 146.139908 398.526064 0 355.000000 "NMRA G #5 Left 5L"
+ T4 43 146.139908 398.526064 265.000000 9 -0.806575 9.140603 80.600000 80.600000 1 1 0 80.972790
+ T4 103 171.096246 400.709459 85.000000 0 0.0 0.0 0.0 0.0 0 0 0 80.972790
+ T4 99 170.448758 404.132721 73.578814 0 0.0 0.0 0.0 0.0 0 0 0 80.972790
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 -57.751549 1.770077 57.751549 168.578738 11.421338
+ S 0 0.000000 13.206091 1.143623 24.705000 3.466667
+ END$SEGS
+STRAIGHT 96 0 128 0 0 Fn3 2 0.000000 0.000000
+ T4 48 421.698203 419.608741 97.193339 0 0.0 0.0 0.0 0.0 0 0 0 88.599942
+ T4 97 416.250725 420.296266 277.193339 10 0.061775 -5.577516 0.0 0.0 1 2 0 88.599942
+ END$SEGS
+TURNOUT 97 0 0 1 0 Fn3 2 416.250725 420.296266 0 187.193339 "NMRA G #5 Left 5L"
+ T4 96 416.250725 420.296266 97.193339 10 0.061775 -5.577516 0.0 0.0 1 2 0 88.153467
+ T4 101 391.396241 423.433246 277.193339 0 0.0 0.0 0.0 0.0 0 0 0 88.153467
+ T4 94 391.306082 419.950456 265.772153 0 0.0 0.0 0.0 0.0 0 0 0 88.153467
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 -57.751549 1.770077 57.751549 168.578738 11.421338
+ S 0 0.000000 13.206091 1.143623 24.705000 3.466667
+ END$SEGS
+STRAIGHT 98 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 102 361.073758 425.361724 84.999848 0 0.0 0.0 0.0 0.0 0 0 0 84.595689
+ T4 100 202.590965 411.495629 264.999919 0 0.0 0.0 0.0 0.0 0 0 0 84.595689
+ END$SEGS
+STRAIGHT 99 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 95 170.448758 404.132721 253.578662 0 0.0 0.0 0.0 0.0 0 0 0 81.509910
+ T4 100 182.605262 407.715425 73.578662 0 0.0 0.0 0.0 0.0 0 0 0 81.509910
+ END$SEGS
+CURVE 100 0 0 0 0 Fn3 2 211.499030 309.677552 0 102.207017 0 0.000000 0.000000
+ T4 99 182.605262 407.715425 253.578662 0 0.0 0.0 0.0 0.0 0 0 0 81.989778
+ T4 98 202.590965 411.495629 84.999919 0 0.0 0.0 0.0 0.0 0 0 0 81.989778
+ END$SEGS
+STRAIGHT 101 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 97 391.396229 423.433147 97.193491 0 0.0 0.0 0.0 0.0 0 0 0 87.606056
+ T4 102 378.805502 425.022288 277.193491 0 0.0 0.0 0.0 0.0 0 0 0 87.606056
+ END$SEGS
+CURVE 102 0 0 0 0 Fn3 2 368.350706 342.188304 0 83.491147 0 0.000000 0.000000
+ T4 98 361.073758 425.361724 264.999848 0 0.0 0.0 0.0 0.0 0 0 0 87.163769
+ T4 101 378.805502 425.022288 97.193491 0 0.0 0.0 0.0 0.0 0 0 0 87.163769
+ END$SEGS
+STRAIGHT 103 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 95 171.096245 400.709461 264.999919 0 0.0 0.0 0.0 0.0 0 0 0 82.097204
+ T4 104 223.060433 405.255739 84.999919 0 0.0 0.0 0.0 0.0 0 0 0 82.097204
+ END$SEGS
+TURNOUT 104 0 0 0 0 Fn3 2 248.016771 407.439136 0 174.999919 "NMRA G #5 Left 5L"
+ T4 94 248.016771 407.439136 84.999919 11 -1.516771 15.060864 0.0 0.0 1 3 0 83.225926
+ T4 103 223.060442 405.255640 264.999919 0 0.0 0.0 0.0 0.0 0 0 0 83.225926
+ T4 105 223.707943 401.832381 253.578733 4 -12.457943 23.917619 0.0 0.0 0 4 0 83.225926
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 -57.751549 1.770077 57.751549 168.578738 11.421338
+ S 0 0.000000 13.206091 1.143623 24.705000 3.466667
+ END$SEGS
+STRAIGHT 105 1 0 0 0 Fn3 2 0.000000 0.000000
+ T4 104 223.707943 401.832381 73.578885 4 -12.457943 23.917619 0.0 0.0 0 4 0 83.936024
+ T4 106 192.860644 392.741245 253.578885 0 0.0 0.0 0.0 0.0 0 0 0 83.936024
+ END$SEGS
+CURVE 106 1 0 0 0 Fn3 2 173.358189 458.914271 0 68.987065 0 0.000000 0.000000
+ T4 105 192.860644 392.741245 73.578885 0 0.0 0.0 0.0 0.0 0 0 0 84.469467
+ T4 44 179.370985 390.189738 265.000000 0 0.0 0.0 0.0 0.0 0 0 0 84.469467
+ END$SEGS
+STRAIGHT 107 1 0 0 0 Fn3 2 0.000000 0.000000
+ T4 111 238.989059 502.999628 90.000000 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ T4 620 158.780354 502.999758 270.000000 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ END$SEGS
+STRAIGHT 108 1 0 0 0 Fn3 2 0.000000 0.000000
+ T4 622 185.812435 494.843625 269.999872 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ T4 109 269.039187 494.843701 89.999872 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ END$SEGS
+TURNOUT 109 1 0 0 0 Fn3 2 290.589521 494.843806 0 179.999872 "NMRA G #4 Right 4R"
+ T4 118 290.589521 494.843806 89.999872 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ T4 108 269.039187 494.843701 269.999872 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ T4 110 269.472504 498.310370 284.249905 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 21.550333 0.000000
+ C 0 0.000000 45.576853 1.770060 -45.576853 0.000076 14.250185
+ S 0 0.000000 12.989026 -1.402392 21.117000 -3.466667
+ END$SEGS
+STRAIGHT 110 1 0 0 0 Fn3 2 0.000000 0.000000
+ T4 109 269.472504 498.310370 104.250057 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ T4 111 262.658328 500.040965 284.250057 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ END$SEGS
+CURVE 111 1 0 0 0 Fn3 2 238.989060 406.843304 0 96.156323 0 0.000000 0.000000
+ T4 107 238.989059 502.999628 270.000000 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ T4 110 262.658328 500.040965 104.250057 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ END$SEGS
+TURNOUT 112 0 0 1 0 Fn3 2 394.162693 275.730877 0 6.308615 "NMRA G #5 Left 5L"
+ T4 116 394.162693 275.730877 276.308615 9 0.087307 -6.085044 93.900000 93.900000 1 1 0 93.673170
+ T4 113 419.062658 272.978107 96.308615 4 0.000000 0.000000 0.0 0.0 0 4 0 93.673170
+ T4 50 419.099021 276.461875 84.887429 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 -57.751549 1.770077 57.751549 168.578738 11.421338
+ S 0 0.000000 13.206091 1.143623 24.705000 3.466667
+ END$SEGS
+STRAIGHT 113 1 0 0 0 Fn3 2 0.000000 0.000000
+ T4 112 419.062658 272.978107 276.308463 4 0.000000 0.000000 0.0 0.0 0 4 0 93.673170
+ T4 115 432.355423 271.508644 96.308463 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ END$SEGS
+STRAIGHT 114 1 0 0 0 Fn3 2 0.000000 0.000000
+ T4 51 492.704361 281.453957 75.978704 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ T4 115 460.467059 273.403619 255.978704 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ END$SEGS
+CURVE 115 1 0 0 0 Fn3 2 441.126818 350.849638 0 79.824374 0 0.000000 0.000000
+ T4 114 460.467059 273.403619 75.978704 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ T4 113 432.355423 271.508644 276.308463 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ END$SEGS
+STRAIGHT 116 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 112 394.162693 275.730877 96.308767 9 0.087307 -6.085044 93.900000 93.900000 1 1 0 94.369353
+ T4 553 321.610339 283.752059 276.308767 0 0.0 0.0 0.0 0.0 0 0 0 94.369353
+ END$SEGS
+CURVE 117 0 0 0 0 Fn3 2 130.744699 252.269426 0 72.000000 0 0.000000 0.000000
+ T4 550 81.120985 200.101553 133.568143 0 0.0 0.0 0.0 0.0 0 0 0 97.911522
+ T4 53 59.856900 264.875776 10.083723 0 0.0 0.0 0.0 0.0 0 0 0 97.911522
+ END$SEGS
+STRAIGHT 118 1 0 0 0 Fn3 2 0.000000 0.000000
+ T4 109 290.589521 494.843806 269.999720 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ E4 345.776318 494.844149 89.999720 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ END$SEGS
+DRAW 119 7 0 0 0 452.395833 343.197917 0 0.000000
+ Z 0 0.000000 0.000000 0.000000 1 350.000000 "Bridge 51-A"
+ END$SEGS
+DRAW 120 7 0 0 0 308.562500 545.281250 0 0.000000
+ Z 0 0.000000 0.000000 0.000000 1 350.000000 "Bridge 46-B"
+ END$SEGS
+DRAW 121 7 0 0 0 252.062500 553.281250 0 0.000000
+ Z 0 0.000000 0.000000 0.000000 1 350.000000 "Bridge 46-C"
+ END$SEGS
+DRAW 122 7 0 0 0 527.229167 571.239583 0 0.000000
+ Z 0 0.000000 0.000000 0.000000 1 350.000000 "Bridge 45-A"
+ END$SEGS
+DRAW 123 7 0 0 0 104.645833 697.385417 0 0.000000
+ Z 0 0.000000 0.000000 0.000000 1 350.000000 "Butterfly"
+ END$SEGS
+STRUCTURE 124 3 0 0 0 Fn3 2 598.166667 496.145833 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 125 3 0 0 0 Fn3 2 609.916667 507.645833 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 126 3 0 0 0 Fn3 2 608.916667 474.145833 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 127 3 0 0 0 Fn3 2 611.416667 450.895833 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 128 3 0 0 0 Fn3 2 623.916667 435.895833 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 129 3 0 0 0 Fn3 2 580.166667 463.645833 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 130 3 0 0 0 Fn3 2 620.416667 486.895833 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 131 3 0 0 0 Fn3 2 618.166667 465.645833 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 132 3 0 0 0 Fn3 2 610.666667 437.895833 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 133 3 0 0 0 Fn3 2 630.333333 501.729167 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 134 3 0 0 0 Fn3 2 626.833333 476.729167 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 135 3 0 0 0 Fn3 2 624.833333 453.229167 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 136 3 0 0 0 Fn3 2 597.833333 483.729167 0 0.000000 "LgTrees 10"" Shade Shade-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 -2.317172 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.641330 -4.620551 0
+ -0.648256 -5.048124 0
+ 0.468951 -3.668855 0
+ 1.751672 -4.868819 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 4.565380 -2.096489 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 4.096429 2.993014 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.475818 4.841234 0
+ 0.868939 3.903331 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -2.551648 4.261941 0
+ -2.317172 3.144733 0
+ -3.875746 3.034392 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 -1.158586 0
+ -3.420587 -1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 -3.227489 0
+ 1.655123 -4.192978 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 4.013673 -1.503403 0
+ 4.137807 -0.703427 0
+ 2.979221 0.096549 0
+ 3.986087 1.613745 0
+ 3.544721 2.137867 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 1.434440 3.903331 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.820635 3.517136 0
+ -1.834428 2.413721 0
+ -2.675782 2.386135 0
+ -3.227489 1.282720 0
+ -2.248208 0.358610 0
+ -3.172319 -0.124134 0
+ -3.020599 -0.786183 0
+ -1.544781 -1.062037 0
+ -2.110281 -2.068903 0
+ -1.186171 -2.786123 0
+ -0.813769 -3.599892 0
+ L3 65280 -0.001500 -0.875000 -4.250000 0 -0.375000 -3.875000 0
+ L3 65280 -0.001500 -1.250000 -4.000000 0 -1.375000 -3.375000 0
+ L3 65280 -0.001500 -2.875000 -2.625000 0 -2.000000 -2.625000 0
+ L3 65280 -0.001500 -3.500000 -2.375000 0 -3.125000 -2.000000 0
+ L3 65280 -0.001500 -2.625000 -2.125000 0 -2.125000 -1.750000 0
+ L3 65280 -0.001500 -2.375000 -1.375000 0 -3.125000 -1.250000 0
+ L3 65280 -0.001500 -4.250000 -1.000000 0 -3.375000 -1.000000 0
+ L3 65280 -0.001500 -4.250000 -0.250000 0 -3.500000 -0.625000 0
+ L3 65280 -0.001500 -2.875000 0.375000 0 -3.500000 0.250000 0
+ L3 65280 -0.001500 -3.375000 0.875000 0 -4.250000 1.375000 0
+ L3 65280 -0.001500 -3.875000 1.875000 0 -3.250000 2.000000 0
+ L3 65280 -0.001500 -3.000000 2.875000 0 -2.750000 2.500000 0
+ L3 65280 -0.001500 -1.875000 3.750000 0 -2.125000 4.125000 0
+ L3 65280 -0.001500 -1.125000 4.000000 0 -0.875000 4.375000 0
+ L3 65280 -0.001500 -0.125000 3.375000 0 0.000000 3.750000 0
+ L3 65280 -0.001500 0.625000 3.375000 0 0.250000 3.625000 0
+ L3 65280 -0.001500 1.625000 4.000000 0 1.500000 4.500000 0
+ L3 65280 -0.001500 2.375000 3.750000 0 2.750000 3.875000 0
+ L3 65280 -0.001500 4.375000 1.750000 0 4.000000 1.875000 0
+ L3 65280 -0.001500 3.750000 2.375000 0 4.000000 2.750000 0
+ L3 65280 -0.001500 4.375000 -0.375000 0 3.875000 -0.250000 0
+ L3 65280 -0.001500 -3.500000 -3.125000 0 -3.250000 -2.625000 0
+ L3 65280 -0.001500 -4.000000 -2.375000 0 -3.625000 -2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 -1.979214 0
+ 1.141169 -1.747415 0
+ 1.052015 -1.158999 0
+ 1.569107 -1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 -2.371491 0
+ -0.677569 -1.961384 0
+ 0.089154 -1.622599 0
+ 0.303123 -2.121861 0
+ -0.089154 -2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 0.089154 0
+ 1.515615 0.303123 0
+ 1.319476 -0.160477 0
+ 2.585460 -0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 2.371491 0
+ 0.124815 2.014876 0
+ 0.249631 1.265984 0
+ 0.534923 1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 1.783076 0
+ 1.925722 1.230323 0
+ 1.533445 1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 0.213969 0
+ -1.622599 0.035662 0
+ -0.766723 -0.178308 0
+ -0.303123 0.303123 0
+ -1.372969 0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 2.068368 0
+ -1.141169 1.943553 0
+ -0.784553 1.105507 0
+ -1.337307 1.248153 0
+ L3 26624 -0.001500 0.250000 -2.750000 0 0.500000 -2.375000 0
+ L3 26624 -0.001500 1.750000 -2.375000 0 1.125000 -2.125000 0
+ L3 26624 -0.001500 2.000000 -3.000000 0 1.625000 -2.750000 0
+ L3 26624 -0.001500 1.125000 -3.250000 0 0.875000 -2.750000 0
+ L3 26624 -0.001500 -0.500000 -3.125000 0 -0.250000 -2.750000 0
+ L3 26624 -0.001500 -1.500000 -2.000000 0 -1.000000 -2.000000 0
+ L3 26624 -0.001500 -1.125000 -1.375000 0 -0.500000 -1.625000 0
+ L3 26624 -0.001500 -1.500000 -0.750000 0 -1.000000 -0.375000 0
+ L3 26624 -0.001500 -2.250000 -0.625000 0 -1.750000 -0.375000 0
+ L3 26624 -0.001500 -2.875000 -0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 0.625000 0 -2.500000 1.125000 0
+ L3 26624 -0.001500 -2.250000 1.750000 0 -1.875000 1.250000 0
+ L3 26624 -0.001500 -1.375000 2.750000 0 -1.000000 2.250000 0
+ L3 26624 -0.001500 -0.500000 2.250000 0 -0.625000 3.000000 0
+ L3 26624 -0.001500 -0.375000 1.375000 0 -0.250000 1.875000 0
+ L3 26624 -0.001500 0.875000 2.250000 0 1.125000 3.000000 0
+ L3 26624 -0.001500 1.500000 2.125000 0 2.250000 2.500000 0
+ L3 26624 -0.001500 3.375000 0.875000 0 2.750000 1.000000 0
+ L3 26624 -0.001500 3.375000 2.000000 0 2.750000 1.750000 0
+ L3 26624 -0.001500 3.625000 1.500000 0 3.000000 1.375000 0
+ L3 26624 -0.001500 1.500000 3.625000 0 1.375000 3.125000 0
+ L3 26624 -0.001500 2.250000 3.250000 0 1.875000 2.875000 0
+ L3 26624 -0.001500 1.750000 3.375000 0 1.500000 2.625000 0
+ L3 26624 -0.001500 3.750000 -0.625000 0 3.000000 -0.750000 0
+ L3 26624 -0.001500 3.125000 -1.625000 0 2.500000 -1.250000 0
+ L3 26624 -0.001500 3.750000 -1.250000 0 3.125000 -1.125000 0
+ L3 26624 -0.001500 -1.250000 3.500000 0 -1.125000 3.000000 0
+ L3 26624 -0.001500 -2.750000 1.750000 0 -2.375000 1.500000 0
+ L3 26624 -0.001500 1.750000 -4.000000 0 1.500000 -3.375000 0
+ L3 26624 -0.001500 2.250000 -3.625000 0 1.875000 -3.250000 0
+ END$SEGS
+STRUCTURE 137 3 0 0 0 Fn3 2 553.333333 495.479167 0 0.000000 "LgTrees 10"" Shade Shade-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 -2.317172 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.641330 -4.620551 0
+ -0.648256 -5.048124 0
+ 0.468951 -3.668855 0
+ 1.751672 -4.868819 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 4.565380 -2.096489 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 4.096429 2.993014 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.475818 4.841234 0
+ 0.868939 3.903331 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -2.551648 4.261941 0
+ -2.317172 3.144733 0
+ -3.875746 3.034392 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 -1.158586 0
+ -3.420587 -1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 -3.227489 0
+ 1.655123 -4.192978 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 4.013673 -1.503403 0
+ 4.137807 -0.703427 0
+ 2.979221 0.096549 0
+ 3.986087 1.613745 0
+ 3.544721 2.137867 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 1.434440 3.903331 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.820635 3.517136 0
+ -1.834428 2.413721 0
+ -2.675782 2.386135 0
+ -3.227489 1.282720 0
+ -2.248208 0.358610 0
+ -3.172319 -0.124134 0
+ -3.020599 -0.786183 0
+ -1.544781 -1.062037 0
+ -2.110281 -2.068903 0
+ -1.186171 -2.786123 0
+ -0.813769 -3.599892 0
+ L3 65280 -0.001500 -0.875000 -4.250000 0 -0.375000 -3.875000 0
+ L3 65280 -0.001500 -1.250000 -4.000000 0 -1.375000 -3.375000 0
+ L3 65280 -0.001500 -2.875000 -2.625000 0 -2.000000 -2.625000 0
+ L3 65280 -0.001500 -3.500000 -2.375000 0 -3.125000 -2.000000 0
+ L3 65280 -0.001500 -2.625000 -2.125000 0 -2.125000 -1.750000 0
+ L3 65280 -0.001500 -2.375000 -1.375000 0 -3.125000 -1.250000 0
+ L3 65280 -0.001500 -4.250000 -1.000000 0 -3.375000 -1.000000 0
+ L3 65280 -0.001500 -4.250000 -0.250000 0 -3.500000 -0.625000 0
+ L3 65280 -0.001500 -2.875000 0.375000 0 -3.500000 0.250000 0
+ L3 65280 -0.001500 -3.375000 0.875000 0 -4.250000 1.375000 0
+ L3 65280 -0.001500 -3.875000 1.875000 0 -3.250000 2.000000 0
+ L3 65280 -0.001500 -3.000000 2.875000 0 -2.750000 2.500000 0
+ L3 65280 -0.001500 -1.875000 3.750000 0 -2.125000 4.125000 0
+ L3 65280 -0.001500 -1.125000 4.000000 0 -0.875000 4.375000 0
+ L3 65280 -0.001500 -0.125000 3.375000 0 0.000000 3.750000 0
+ L3 65280 -0.001500 0.625000 3.375000 0 0.250000 3.625000 0
+ L3 65280 -0.001500 1.625000 4.000000 0 1.500000 4.500000 0
+ L3 65280 -0.001500 2.375000 3.750000 0 2.750000 3.875000 0
+ L3 65280 -0.001500 4.375000 1.750000 0 4.000000 1.875000 0
+ L3 65280 -0.001500 3.750000 2.375000 0 4.000000 2.750000 0
+ L3 65280 -0.001500 4.375000 -0.375000 0 3.875000 -0.250000 0
+ L3 65280 -0.001500 -3.500000 -3.125000 0 -3.250000 -2.625000 0
+ L3 65280 -0.001500 -4.000000 -2.375000 0 -3.625000 -2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 -1.979214 0
+ 1.141169 -1.747415 0
+ 1.052015 -1.158999 0
+ 1.569107 -1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 -2.371491 0
+ -0.677569 -1.961384 0
+ 0.089154 -1.622599 0
+ 0.303123 -2.121861 0
+ -0.089154 -2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 0.089154 0
+ 1.515615 0.303123 0
+ 1.319476 -0.160477 0
+ 2.585460 -0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 2.371491 0
+ 0.124815 2.014876 0
+ 0.249631 1.265984 0
+ 0.534923 1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 1.783076 0
+ 1.925722 1.230323 0
+ 1.533445 1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 0.213969 0
+ -1.622599 0.035662 0
+ -0.766723 -0.178308 0
+ -0.303123 0.303123 0
+ -1.372969 0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 2.068368 0
+ -1.141169 1.943553 0
+ -0.784553 1.105507 0
+ -1.337307 1.248153 0
+ L3 26624 -0.001500 0.250000 -2.750000 0 0.500000 -2.375000 0
+ L3 26624 -0.001500 1.750000 -2.375000 0 1.125000 -2.125000 0
+ L3 26624 -0.001500 2.000000 -3.000000 0 1.625000 -2.750000 0
+ L3 26624 -0.001500 1.125000 -3.250000 0 0.875000 -2.750000 0
+ L3 26624 -0.001500 -0.500000 -3.125000 0 -0.250000 -2.750000 0
+ L3 26624 -0.001500 -1.500000 -2.000000 0 -1.000000 -2.000000 0
+ L3 26624 -0.001500 -1.125000 -1.375000 0 -0.500000 -1.625000 0
+ L3 26624 -0.001500 -1.500000 -0.750000 0 -1.000000 -0.375000 0
+ L3 26624 -0.001500 -2.250000 -0.625000 0 -1.750000 -0.375000 0
+ L3 26624 -0.001500 -2.875000 -0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 0.625000 0 -2.500000 1.125000 0
+ L3 26624 -0.001500 -2.250000 1.750000 0 -1.875000 1.250000 0
+ L3 26624 -0.001500 -1.375000 2.750000 0 -1.000000 2.250000 0
+ L3 26624 -0.001500 -0.500000 2.250000 0 -0.625000 3.000000 0
+ L3 26624 -0.001500 -0.375000 1.375000 0 -0.250000 1.875000 0
+ L3 26624 -0.001500 0.875000 2.250000 0 1.125000 3.000000 0
+ L3 26624 -0.001500 1.500000 2.125000 0 2.250000 2.500000 0
+ L3 26624 -0.001500 3.375000 0.875000 0 2.750000 1.000000 0
+ L3 26624 -0.001500 3.375000 2.000000 0 2.750000 1.750000 0
+ L3 26624 -0.001500 3.625000 1.500000 0 3.000000 1.375000 0
+ L3 26624 -0.001500 1.500000 3.625000 0 1.375000 3.125000 0
+ L3 26624 -0.001500 2.250000 3.250000 0 1.875000 2.875000 0
+ L3 26624 -0.001500 1.750000 3.375000 0 1.500000 2.625000 0
+ L3 26624 -0.001500 3.750000 -0.625000 0 3.000000 -0.750000 0
+ L3 26624 -0.001500 3.125000 -1.625000 0 2.500000 -1.250000 0
+ L3 26624 -0.001500 3.750000 -1.250000 0 3.125000 -1.125000 0
+ L3 26624 -0.001500 -1.250000 3.500000 0 -1.125000 3.000000 0
+ L3 26624 -0.001500 -2.750000 1.750000 0 -2.375000 1.500000 0
+ L3 26624 -0.001500 1.750000 -4.000000 0 1.500000 -3.375000 0
+ L3 26624 -0.001500 2.250000 -3.625000 0 1.875000 -3.250000 0
+ END$SEGS
+STRUCTURE 138 3 0 0 0 Fn3 2 555.333333 484.729167 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 139 3 0 0 0 Fn3 2 590.833333 507.729167 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 140 3 0 0 0 Fn3 2 568.833333 482.979167 0 0.000000 "LgTrees 12"" Shade Shade-12a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 2.703213 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.914776 5.390335 0
+ -0.756256 5.889142 0
+ 0.547079 4.280087 0
+ 2.043500 5.679965 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 5.325972 2.445764 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 4.778894 -3.491650 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 1.721689 -5.647783 0
+ 1.013705 -4.553626 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -2.976752 -4.971980 0
+ -2.703213 -3.668646 0
+ -4.521445 -3.539921 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 1.351606 0
+ -3.990457 1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 3.765189 0
+ 1.930866 4.891528 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.682350 1.753870 0
+ 4.827165 0.820618 0
+ 3.475559 -0.112634 0
+ 4.650169 -1.882594 0
+ 4.135272 -2.494035 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 1.673417 -4.553626 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.123953 -4.103091 0
+ -2.140043 -2.815846 0
+ -3.121567 -2.783665 0
+ -3.765189 -1.496421 0
+ -2.622760 -0.418354 0
+ -3.700827 0.144815 0
+ -3.523831 0.917161 0
+ -1.802142 1.238972 0
+ -2.461854 2.413583 0
+ -1.383787 3.250291 0
+ -0.949343 4.199634 0
+ L3 65280 -0.001500 -1.020775 4.958050 0 -0.437475 4.520575 0
+ L3 65280 -0.001500 -1.458250 4.666400 0 -1.604075 3.937275 0
+ L3 65280 -0.001500 -3.353975 3.062325 0 -2.333200 3.062325 0
+ L3 65280 -0.001500 -4.083100 2.770675 0 -3.645625 2.333200 0
+ L3 65280 -0.001500 -3.062325 2.479025 0 -2.479025 2.041550 0
+ L3 65280 -0.001500 -2.770675 1.604075 0 -3.645625 1.458250 0
+ L3 65280 -0.001500 -4.958050 1.166600 0 -3.937275 1.166600 0
+ L3 65280 -0.001500 -4.958050 0.291650 0 -4.083100 0.729125 0
+ L3 65280 -0.001500 -3.353975 -0.437475 0 -4.083100 -0.291650 0
+ L3 65280 -0.001500 -3.937275 -1.020775 0 -4.958050 -1.604075 0
+ L3 65280 -0.001500 -4.520575 -2.187375 0 -3.791450 -2.333200 0
+ L3 65280 -0.001500 -3.499800 -3.353975 0 -3.208150 -2.916500 0
+ L3 65280 -0.001500 -2.187375 -4.374750 0 -2.479025 -4.812225 0
+ L3 65280 -0.001500 -1.312425 -4.666400 0 -1.020775 -5.103875 0
+ L3 65280 -0.001500 -0.145825 -3.937275 0 0.000000 -4.374750 0
+ L3 65280 -0.001500 0.729125 -3.937275 0 0.291650 -4.228925 0
+ L3 65280 -0.001500 1.895725 -4.666400 0 1.749900 -5.249700 0
+ L3 65280 -0.001500 2.770675 -4.374750 0 3.208150 -4.520575 0
+ L3 65280 -0.001500 5.103875 -2.041550 0 4.666400 -2.187375 0
+ L3 65280 -0.001500 4.374750 -2.770675 0 4.666400 -3.208150 0
+ L3 65280 -0.001500 5.103875 0.437475 0 4.520575 0.291650 0
+ L3 65280 -0.001500 -4.083100 3.645625 0 -3.791450 3.062325 0
+ L3 65280 -0.001500 -4.666400 2.770675 0 -4.228925 3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 2.308952 0
+ 1.331287 2.038534 0
+ 1.227281 1.352089 0
+ 1.830520 1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 2.766582 0
+ -0.790452 2.288150 0
+ 0.104007 1.892924 0
+ 0.353623 2.475363 0
+ -0.104007 2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 -0.104007 0
+ 1.768116 -0.353623 0
+ 1.539301 0.187212 0
+ 3.016198 0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 -2.766582 0
+ 0.145610 -2.350554 0
+ 0.291219 -1.476897 0
+ 0.624041 -1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 -2.080137 0
+ 2.246548 -1.435294 0
+ 1.788917 -1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 -0.249616 0
+ -1.892924 -0.041603 0
+ -0.894459 0.208014 0
+ -0.353623 -0.353623 0
+ -1.601705 -0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 -2.412958 0
+ -1.331287 -2.267349 0
+ -0.915260 -1.289685 0
+ -1.560102 -1.456096 0
+ L3 26624 -0.001500 0.291650 3.208150 0 0.583300 2.770675 0
+ L3 26624 -0.001500 2.041550 2.770675 0 1.312425 2.479025 0
+ L3 26624 -0.001500 2.333200 3.499800 0 1.895725 3.208150 0
+ L3 26624 -0.001500 1.312425 3.791450 0 1.020775 3.208150 0
+ L3 26624 -0.001500 -0.583300 3.645625 0 -0.291650 3.208150 0
+ L3 26624 -0.001500 -1.749900 2.333200 0 -1.166600 2.333200 0
+ L3 26624 -0.001500 -1.312425 1.604075 0 -0.583300 1.895725 0
+ L3 26624 -0.001500 -1.749900 0.874950 0 -1.166600 0.437475 0
+ L3 26624 -0.001500 -2.624850 0.729125 0 -2.041550 0.437475 0
+ L3 26624 -0.001500 -3.353975 0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 -0.729125 0 -2.916500 -1.312425 0
+ L3 26624 -0.001500 -2.624850 -2.041550 0 -2.187375 -1.458250 0
+ L3 26624 -0.001500 -1.604075 -3.208150 0 -1.166600 -2.624850 0
+ L3 26624 -0.001500 -0.583300 -2.624850 0 -0.729125 -3.499800 0
+ L3 26624 -0.001500 -0.437475 -1.604075 0 -0.291650 -2.187375 0
+ L3 26624 -0.001500 1.020775 -2.624850 0 1.312425 -3.499800 0
+ L3 26624 -0.001500 1.749900 -2.479025 0 2.624850 -2.916500 0
+ L3 26624 -0.001500 3.937275 -1.020775 0 3.208150 -1.166600 0
+ L3 26624 -0.001500 3.937275 -2.333200 0 3.208150 -2.041550 0
+ L3 26624 -0.001500 4.228925 -1.749900 0 3.499800 -1.604075 0
+ L3 26624 -0.001500 1.749900 -4.228925 0 1.604075 -3.645625 0
+ L3 26624 -0.001500 2.624850 -3.791450 0 2.187375 -3.353975 0
+ L3 26624 -0.001500 2.041550 -3.937275 0 1.749900 -3.062325 0
+ L3 26624 -0.001500 4.374750 0.729125 0 3.499800 0.874950 0
+ L3 26624 -0.001500 3.645625 1.895725 0 2.916500 1.458250 0
+ L3 26624 -0.001500 4.374750 1.458250 0 3.645625 1.312425 0
+ L3 26624 -0.001500 -1.458250 -4.083100 0 -1.312425 -3.499800 0
+ L3 26624 -0.001500 -3.208150 -2.041550 0 -2.770675 -1.749900 0
+ L3 26624 -0.001500 2.041550 4.666400 0 1.749900 3.937275 0
+ L3 26624 -0.001500 2.624850 4.228925 0 2.187375 3.791450 0
+ END$SEGS
+STRUCTURE 141 3 0 0 0 Fn3 2 556.083333 471.729167 0 0.000000 "LgTrees 12"" Shade Shade-12a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 2.703213 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.914776 5.390335 0
+ -0.756256 5.889142 0
+ 0.547079 4.280087 0
+ 2.043500 5.679965 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 5.325972 2.445764 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 4.778894 -3.491650 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 1.721689 -5.647783 0
+ 1.013705 -4.553626 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -2.976752 -4.971980 0
+ -2.703213 -3.668646 0
+ -4.521445 -3.539921 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 1.351606 0
+ -3.990457 1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 3.765189 0
+ 1.930866 4.891528 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.682350 1.753870 0
+ 4.827165 0.820618 0
+ 3.475559 -0.112634 0
+ 4.650169 -1.882594 0
+ 4.135272 -2.494035 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 1.673417 -4.553626 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.123953 -4.103091 0
+ -2.140043 -2.815846 0
+ -3.121567 -2.783665 0
+ -3.765189 -1.496421 0
+ -2.622760 -0.418354 0
+ -3.700827 0.144815 0
+ -3.523831 0.917161 0
+ -1.802142 1.238972 0
+ -2.461854 2.413583 0
+ -1.383787 3.250291 0
+ -0.949343 4.199634 0
+ L3 65280 -0.001500 -1.020775 4.958050 0 -0.437475 4.520575 0
+ L3 65280 -0.001500 -1.458250 4.666400 0 -1.604075 3.937275 0
+ L3 65280 -0.001500 -3.353975 3.062325 0 -2.333200 3.062325 0
+ L3 65280 -0.001500 -4.083100 2.770675 0 -3.645625 2.333200 0
+ L3 65280 -0.001500 -3.062325 2.479025 0 -2.479025 2.041550 0
+ L3 65280 -0.001500 -2.770675 1.604075 0 -3.645625 1.458250 0
+ L3 65280 -0.001500 -4.958050 1.166600 0 -3.937275 1.166600 0
+ L3 65280 -0.001500 -4.958050 0.291650 0 -4.083100 0.729125 0
+ L3 65280 -0.001500 -3.353975 -0.437475 0 -4.083100 -0.291650 0
+ L3 65280 -0.001500 -3.937275 -1.020775 0 -4.958050 -1.604075 0
+ L3 65280 -0.001500 -4.520575 -2.187375 0 -3.791450 -2.333200 0
+ L3 65280 -0.001500 -3.499800 -3.353975 0 -3.208150 -2.916500 0
+ L3 65280 -0.001500 -2.187375 -4.374750 0 -2.479025 -4.812225 0
+ L3 65280 -0.001500 -1.312425 -4.666400 0 -1.020775 -5.103875 0
+ L3 65280 -0.001500 -0.145825 -3.937275 0 0.000000 -4.374750 0
+ L3 65280 -0.001500 0.729125 -3.937275 0 0.291650 -4.228925 0
+ L3 65280 -0.001500 1.895725 -4.666400 0 1.749900 -5.249700 0
+ L3 65280 -0.001500 2.770675 -4.374750 0 3.208150 -4.520575 0
+ L3 65280 -0.001500 5.103875 -2.041550 0 4.666400 -2.187375 0
+ L3 65280 -0.001500 4.374750 -2.770675 0 4.666400 -3.208150 0
+ L3 65280 -0.001500 5.103875 0.437475 0 4.520575 0.291650 0
+ L3 65280 -0.001500 -4.083100 3.645625 0 -3.791450 3.062325 0
+ L3 65280 -0.001500 -4.666400 2.770675 0 -4.228925 3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 2.308952 0
+ 1.331287 2.038534 0
+ 1.227281 1.352089 0
+ 1.830520 1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 2.766582 0
+ -0.790452 2.288150 0
+ 0.104007 1.892924 0
+ 0.353623 2.475363 0
+ -0.104007 2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 -0.104007 0
+ 1.768116 -0.353623 0
+ 1.539301 0.187212 0
+ 3.016198 0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 -2.766582 0
+ 0.145610 -2.350554 0
+ 0.291219 -1.476897 0
+ 0.624041 -1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 -2.080137 0
+ 2.246548 -1.435294 0
+ 1.788917 -1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 -0.249616 0
+ -1.892924 -0.041603 0
+ -0.894459 0.208014 0
+ -0.353623 -0.353623 0
+ -1.601705 -0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 -2.412958 0
+ -1.331287 -2.267349 0
+ -0.915260 -1.289685 0
+ -1.560102 -1.456096 0
+ L3 26624 -0.001500 0.291650 3.208150 0 0.583300 2.770675 0
+ L3 26624 -0.001500 2.041550 2.770675 0 1.312425 2.479025 0
+ L3 26624 -0.001500 2.333200 3.499800 0 1.895725 3.208150 0
+ L3 26624 -0.001500 1.312425 3.791450 0 1.020775 3.208150 0
+ L3 26624 -0.001500 -0.583300 3.645625 0 -0.291650 3.208150 0
+ L3 26624 -0.001500 -1.749900 2.333200 0 -1.166600 2.333200 0
+ L3 26624 -0.001500 -1.312425 1.604075 0 -0.583300 1.895725 0
+ L3 26624 -0.001500 -1.749900 0.874950 0 -1.166600 0.437475 0
+ L3 26624 -0.001500 -2.624850 0.729125 0 -2.041550 0.437475 0
+ L3 26624 -0.001500 -3.353975 0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 -0.729125 0 -2.916500 -1.312425 0
+ L3 26624 -0.001500 -2.624850 -2.041550 0 -2.187375 -1.458250 0
+ L3 26624 -0.001500 -1.604075 -3.208150 0 -1.166600 -2.624850 0
+ L3 26624 -0.001500 -0.583300 -2.624850 0 -0.729125 -3.499800 0
+ L3 26624 -0.001500 -0.437475 -1.604075 0 -0.291650 -2.187375 0
+ L3 26624 -0.001500 1.020775 -2.624850 0 1.312425 -3.499800 0
+ L3 26624 -0.001500 1.749900 -2.479025 0 2.624850 -2.916500 0
+ L3 26624 -0.001500 3.937275 -1.020775 0 3.208150 -1.166600 0
+ L3 26624 -0.001500 3.937275 -2.333200 0 3.208150 -2.041550 0
+ L3 26624 -0.001500 4.228925 -1.749900 0 3.499800 -1.604075 0
+ L3 26624 -0.001500 1.749900 -4.228925 0 1.604075 -3.645625 0
+ L3 26624 -0.001500 2.624850 -3.791450 0 2.187375 -3.353975 0
+ L3 26624 -0.001500 2.041550 -3.937275 0 1.749900 -3.062325 0
+ L3 26624 -0.001500 4.374750 0.729125 0 3.499800 0.874950 0
+ L3 26624 -0.001500 3.645625 1.895725 0 2.916500 1.458250 0
+ L3 26624 -0.001500 4.374750 1.458250 0 3.645625 1.312425 0
+ L3 26624 -0.001500 -1.458250 -4.083100 0 -1.312425 -3.499800 0
+ L3 26624 -0.001500 -3.208150 -2.041550 0 -2.770675 -1.749900 0
+ L3 26624 -0.001500 2.041550 4.666400 0 1.749900 3.937275 0
+ L3 26624 -0.001500 2.624850 4.228925 0 2.187375 3.791450 0
+ END$SEGS
+STRUCTURE 142 3 0 0 0 Fn3 2 580.833333 451.729167 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 143 3 0 0 0 Fn3 2 543.833333 503.229167 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 144 3 0 0 0 Fn3 2 573.333333 442.479167 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 145 3 0 0 0 Fn3 2 539.583333 480.229167 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 146 3 0 0 0 Fn3 2 566.583333 457.229167 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 147 3 0 0 0 Fn3 2 571.833333 470.729167 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 148 3 0 0 0 Fn3 2 495.375000 491.062500 0 0.000000 "LgTrees 8"" Conifer Conif-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 -1.530590 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.309300 -3.798814 0
+ -0.405699 -2.507955 0
+ 0.331935 -3.909459 0
+ 1.455693 -2.445564 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 2.804635 -1.057803 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 2.618600 1.530590 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.383063 3.079621 0
+ 0.682311 3.835696 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -1.161773 2.987417 0
+ -2.803008 3.411556 0
+ -2.341987 2.139138 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 -0.387258 0
+ -3.688169 -1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.670543 -3.860089 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.049146 -1.670543 0
+ 3.924964 -0.956913 0
+ 2.383377 0.077239 0
+ 3.795213 1.621886 0
+ 2.740987 1.865169 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.735418 3.681681 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.475916 3.649244 0
+ -1.467542 1.930976 0
+ -3.389742 2.384172 0
+ -3.000489 1.038007 0
+ -1.798567 0.286888 0
+ -3.162678 0.259502 0
+ -3.811432 -0.648754 0
+ -1.235825 -0.849630 0
+ -3.243772 -2.513923 0
+ -0.948937 -2.228899 0
+ -1.000000 -4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 1.098375 0
+ -1.497784 0.684701 0
+ -0.870141 0.442203 0
+ -1.269550 0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 -0.584849 0
+ -0.912935 -0.656172 0
+ -0.570584 -0.342351 0
+ -1.198227 -0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 1.383667 0
+ -0.969993 1.840135 0
+ -1.440725 2.068368 0
+ -1.312344 1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 0.014265 0
+ -2.182485 0.156911 0
+ -1.512049 -0.057058 0
+ -2.196750 -0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 1.811605 0
+ -1.968516 1.469255 0
+ -1.440725 1.355138 0
+ -1.740282 1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 -1.882928 0
+ -1.497784 -1.412196 0
+ -0.969993 -1.212492 0
+ -1.483519 -1.726018 0
+ L3 26624 -0.001500 -2.284069 1.346166 0 -3.012323 1.313064 0
+ L3 26624 -0.001500 -3.166801 1.930976 0 -2.670265 1.809601 0
+ L3 26624 -0.001500 -1.015142 3.255075 0 -0.937903 2.339240 0
+ L3 26624 -0.001500 -0.937903 2.339240 0 -1.489610 2.990255 0
+ L3 26624 -0.001500 1.313064 3.288177 0 1.401337 2.515787 0
+ L3 26624 -0.001500 1.401337 2.515787 0 1.820635 2.990255 0
+ L3 26624 -0.001500 3.155767 1.699259 0 2.129591 1.224791 0
+ L3 26624 -0.001500 2.129591 1.224791 0 3.155767 0.982039 0
+ L3 26624 -0.001500 2.868879 -0.695152 0 2.096489 -0.706186 0
+ L3 26624 -0.001500 2.096489 -0.706186 0 2.736470 -1.566849 0
+ L3 26624 -0.001500 1.964079 -2.604060 0 1.114449 -1.864772 0
+ L3 26624 -0.001500 1.114449 -1.864772 0 1.136518 -3.210938 0
+ L3 26624 -0.001500 -0.397229 -3.431621 0 -0.408264 -2.295103 0
+ L3 26624 -0.001500 -0.408264 -2.295103 0 -0.959971 -2.769572 0
+ L3 26624 -0.001500 -0.529639 2.427513 0 -0.662049 1.864772 0
+ L3 26624 -0.001500 0.893766 2.570957 0 0.904800 1.919942 0
+ L3 26624 -0.001500 1.721328 2.206830 0 1.202722 1.776498 0
+ L3 26624 -0.001500 1.997181 1.688225 0 1.434440 0.882732 0
+ L3 26624 -0.001500 2.581991 0.463434 0 1.886840 0.651015 0
+ L3 26624 -0.001500 2.648196 -0.187581 0 1.500645 -0.353093 0
+ L3 26624 -0.001500 1.610986 -0.816527 0 2.151660 -1.588918 0
+ L3 26624 -0.001500 1.721328 -1.809601 0 0.849630 -1.169620 0
+ L3 26624 -0.001500 0.684117 -1.533747 0 0.463434 -2.206830 0
+ L3 26624 -0.001500 0.033102 -2.195796 0 -0.121376 -1.313064 0
+ L3 26624 -0.001500 -0.893766 -1.997181 0 -0.651015 -1.125483 0
+ L3 26624 -0.001500 -1.688225 0.319990 0 -0.882732 -0.077239 0
+ L3 26624 -0.001500 -0.717220 1.092381 0 -0.364127 0.397229 0
+ L3 26624 -0.001500 0.551708 1.633054 0 0.154478 0.882732 0
+ L3 26624 -0.001500 1.059279 1.202722 0 0.595844 0.717220 0
+ L3 26624 -0.001500 1.467542 0.319990 0 0.584810 0.176546 0
+ L3 26624 -0.001500 0.948937 -0.584810 0 0.408264 -0.253785 0
+ L3 26624 -0.001500 0.110342 -0.827561 0 0.143444 -0.408264 0
+ L3 26624 -0.001500 -0.165512 -0.275854 0 -0.507571 -0.739288 0
+ L3 26624 -0.001500 -0.673083 0.286888 0 -0.209649 0.022068 0
+ L3 26624 -0.001500 0.353093 0.562742 0 0.132410 0.121376 0
+ L3 26624 -0.001500 -2.011310 0.713230 0 -2.553365 0.984258 0
+ L3 26624 -0.001500 -2.510571 -0.584849 0 -1.825870 -0.370880 0
+ L3 26624 -0.001500 -1.982781 -2.125427 0 -1.369402 -1.939987 0
+ END$SEGS
+STRUCTURE 149 3 0 0 0 Fn3 2 483.810606 497.672348 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 150 3 0 0 0 Fn3 2 540.791667 449.770833 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 151 3 0 0 0 Fn3 2 459.166667 509.770833 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 152 3 0 0 0 Fn3 2 439.416667 528.520833 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 153 3 0 0 0 Fn3 2 525.666667 476.895833 0 0.000000 "LgTrees 10"" Conifer Conif-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 1.913238 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.636625 4.748517 0
+ -0.507123 3.134943 0
+ 0.414919 4.886824 0
+ 1.819616 3.056955 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 3.505793 1.322254 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 3.273250 -1.913238 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.728829 -3.849526 0
+ 0.852889 -4.794619 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -1.452216 -3.734271 0
+ -3.503760 -4.264445 0
+ -2.927484 -2.673922 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 0.484072 0
+ -4.610211 1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 3.227489 0
+ 2.088178 4.825111 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 3.811432 2.088178 0
+ 4.906205 1.196141 0
+ 2.979221 -0.096549 0
+ 4.744017 -2.027358 0
+ 3.426234 -2.331461 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 2.169273 -4.602102 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.844895 -4.561554 0
+ -1.834428 -2.413721 0
+ -4.237177 -2.980216 0
+ -3.750611 -1.297509 0
+ -2.248208 -0.358610 0
+ -3.953347 -0.324377 0
+ -4.764290 0.810943 0
+ -1.544781 1.062037 0
+ -4.054715 3.142404 0
+ -1.186171 2.786123 0
+ -1.250000 5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 -1.372969 0
+ -1.872230 -0.855877 0
+ -1.087676 -0.552754 0
+ -1.586938 -1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 0.731061 0
+ -1.141169 0.820215 0
+ -0.713230 0.427938 0
+ -1.497784 0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 -1.729584 0
+ -1.212492 -2.300168 0
+ -1.800907 -2.585460 0
+ -1.640430 -2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 -0.017831 0
+ -2.728106 -0.196138 0
+ -1.890061 0.071323 0
+ -2.745937 0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 -2.264507 0
+ -2.460645 -1.836568 0
+ -1.800907 -1.693922 0
+ -2.175353 -2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 2.353660 0
+ -1.872230 1.765245 0
+ -1.212492 1.515615 0
+ -1.854399 2.157522 0
+ L3 26624 -0.001500 -2.855087 -1.682708 0 -3.765404 -1.641330 0
+ L3 26624 -0.001500 -3.958502 -2.413721 0 -3.337831 -2.262001 0
+ L3 26624 -0.001500 -1.268927 -4.068843 0 -1.172379 -2.924050 0
+ L3 26624 -0.001500 -1.172379 -2.924050 0 -1.862013 -3.737819 0
+ L3 26624 -0.001500 1.641330 -4.110221 0 1.751672 -3.144733 0
+ L3 26624 -0.001500 1.751672 -3.144733 0 2.275794 -3.737819 0
+ L3 26624 -0.001500 3.944709 -2.124074 0 2.661989 -1.530989 0
+ L3 26624 -0.001500 2.661989 -1.530989 0 3.944709 -1.227549 0
+ L3 26624 -0.001500 3.586099 0.868939 0 2.620611 0.882732 0
+ L3 26624 -0.001500 2.620611 0.882732 0 3.420587 1.958562 0
+ L3 26624 -0.001500 2.455099 3.255075 0 1.393062 2.330964 0
+ L3 26624 -0.001500 1.393062 2.330964 0 1.420647 4.013673 0
+ L3 26624 -0.001500 -0.496537 4.289526 0 -0.510330 2.868879 0
+ L3 26624 -0.001500 -0.510330 2.868879 0 -1.199964 3.461965 0
+ L3 26624 -0.001500 -0.662049 -3.034392 0 -0.827561 -2.330964 0
+ L3 26624 -0.001500 1.117208 -3.213697 0 1.131001 -2.399928 0
+ L3 26624 -0.001500 2.151660 -2.758538 0 1.503403 -2.220623 0
+ L3 26624 -0.001500 2.496477 -2.110281 0 1.793050 -1.103415 0
+ L3 26624 -0.001500 3.227489 -0.579293 0 2.358550 -0.813769 0
+ L3 26624 -0.001500 3.310245 0.234476 0 1.875806 0.441366 0
+ L3 26624 -0.001500 2.013733 1.020659 0 2.689574 1.986147 0
+ L3 26624 -0.001500 2.151660 2.262001 0 1.062037 1.462025 0
+ L3 26624 -0.001500 0.855147 1.917184 0 0.579293 2.758538 0
+ L3 26624 -0.001500 0.041378 2.744745 0 -0.151720 1.641330 0
+ L3 26624 -0.001500 -1.117208 2.496477 0 -0.813769 1.406854 0
+ L3 26624 -0.001500 -2.110281 -0.399988 0 -1.103415 0.096549 0
+ L3 26624 -0.001500 -0.896525 -1.365476 0 -0.455159 -0.496537 0
+ L3 26624 -0.001500 0.689634 -2.041318 0 0.193098 -1.103415 0
+ L3 26624 -0.001500 1.324098 -1.503403 0 0.744805 -0.896525 0
+ L3 26624 -0.001500 1.834428 -0.399988 0 0.731013 -0.220683 0
+ L3 26624 -0.001500 1.186171 0.731013 0 0.510330 0.317232 0
+ L3 26624 -0.001500 0.137927 1.034452 0 0.179305 0.510330 0
+ L3 26624 -0.001500 -0.206890 0.344817 0 -0.634464 0.924110 0
+ L3 26624 -0.001500 -0.841354 -0.358610 0 -0.262061 -0.027585 0
+ L3 26624 -0.001500 0.441366 -0.703427 0 0.165512 -0.151720 0
+ L3 26624 -0.001500 -2.514137 -0.891538 0 -3.191706 -1.230323 0
+ L3 26624 -0.001500 -3.138214 0.731061 0 -2.282337 0.463600 0
+ L3 26624 -0.001500 -2.478476 2.656783 0 -1.711753 2.424984 0
+ END$SEGS
+STRUCTURE 154 3 0 0 0 Fn3 2 497.666667 501.645833 0 0.000000 "LgTrees 10"" Conifer Conif-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 -1.913238 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.636625 -4.748517 0
+ -0.507123 -3.134943 0
+ 0.414919 -4.886824 0
+ 1.819616 -3.056955 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 3.505793 -1.322254 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 3.273250 1.913238 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.728829 3.849526 0
+ 0.852889 4.794619 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -1.452216 3.734271 0
+ -3.503760 4.264445 0
+ -2.927484 2.673922 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 -0.484072 0
+ -4.610211 -1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 -3.227489 0
+ 2.088178 -4.825111 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 3.811432 -2.088178 0
+ 4.906205 -1.196141 0
+ 2.979221 0.096549 0
+ 4.744017 2.027358 0
+ 3.426234 2.331461 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 2.169273 4.602102 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.844895 4.561554 0
+ -1.834428 2.413721 0
+ -4.237177 2.980216 0
+ -3.750611 1.297509 0
+ -2.248208 0.358610 0
+ -3.953347 0.324377 0
+ -4.764290 -0.810943 0
+ -1.544781 -1.062037 0
+ -4.054715 -3.142404 0
+ -1.186171 -2.786123 0
+ -1.250000 -5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 1.372969 0
+ -1.872230 0.855877 0
+ -1.087676 0.552754 0
+ -1.586938 1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 -0.731061 0
+ -1.141169 -0.820215 0
+ -0.713230 -0.427938 0
+ -1.497784 -0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 1.729584 0
+ -1.212492 2.300168 0
+ -1.800907 2.585460 0
+ -1.640430 2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 0.017831 0
+ -2.728106 0.196138 0
+ -1.890061 -0.071323 0
+ -2.745937 -0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 2.264507 0
+ -2.460645 1.836568 0
+ -1.800907 1.693922 0
+ -2.175353 2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 -2.353660 0
+ -1.872230 -1.765245 0
+ -1.212492 -1.515615 0
+ -1.854399 -2.157522 0
+ L3 26624 -0.001500 -2.855087 1.682708 0 -3.765404 1.641330 0
+ L3 26624 -0.001500 -3.958502 2.413721 0 -3.337831 2.262001 0
+ L3 26624 -0.001500 -1.268927 4.068843 0 -1.172379 2.924050 0
+ L3 26624 -0.001500 -1.172379 2.924050 0 -1.862013 3.737819 0
+ L3 26624 -0.001500 1.641330 4.110221 0 1.751672 3.144733 0
+ L3 26624 -0.001500 1.751672 3.144733 0 2.275794 3.737819 0
+ L3 26624 -0.001500 3.944709 2.124074 0 2.661989 1.530989 0
+ L3 26624 -0.001500 2.661989 1.530989 0 3.944709 1.227549 0
+ L3 26624 -0.001500 3.586099 -0.868939 0 2.620611 -0.882732 0
+ L3 26624 -0.001500 2.620611 -0.882732 0 3.420587 -1.958562 0
+ L3 26624 -0.001500 2.455099 -3.255075 0 1.393062 -2.330964 0
+ L3 26624 -0.001500 1.393062 -2.330964 0 1.420647 -4.013673 0
+ L3 26624 -0.001500 -0.496537 -4.289526 0 -0.510330 -2.868879 0
+ L3 26624 -0.001500 -0.510330 -2.868879 0 -1.199964 -3.461965 0
+ L3 26624 -0.001500 -0.662049 3.034392 0 -0.827561 2.330964 0
+ L3 26624 -0.001500 1.117208 3.213697 0 1.131001 2.399928 0
+ L3 26624 -0.001500 2.151660 2.758538 0 1.503403 2.220623 0
+ L3 26624 -0.001500 2.496477 2.110281 0 1.793050 1.103415 0
+ L3 26624 -0.001500 3.227489 0.579293 0 2.358550 0.813769 0
+ L3 26624 -0.001500 3.310245 -0.234476 0 1.875806 -0.441366 0
+ L3 26624 -0.001500 2.013733 -1.020659 0 2.689574 -1.986147 0
+ L3 26624 -0.001500 2.151660 -2.262001 0 1.062037 -1.462025 0
+ L3 26624 -0.001500 0.855147 -1.917184 0 0.579293 -2.758538 0
+ L3 26624 -0.001500 0.041378 -2.744745 0 -0.151720 -1.641330 0
+ L3 26624 -0.001500 -1.117208 -2.496477 0 -0.813769 -1.406854 0
+ L3 26624 -0.001500 -2.110281 0.399988 0 -1.103415 -0.096549 0
+ L3 26624 -0.001500 -0.896525 1.365476 0 -0.455159 0.496537 0
+ L3 26624 -0.001500 0.689634 2.041318 0 0.193098 1.103415 0
+ L3 26624 -0.001500 1.324098 1.503403 0 0.744805 0.896525 0
+ L3 26624 -0.001500 1.834428 0.399988 0 0.731013 0.220683 0
+ L3 26624 -0.001500 1.186171 -0.731013 0 0.510330 -0.317232 0
+ L3 26624 -0.001500 0.137927 -1.034452 0 0.179305 -0.510330 0
+ L3 26624 -0.001500 -0.206890 -0.344817 0 -0.634464 -0.924110 0
+ L3 26624 -0.001500 -0.841354 0.358610 0 -0.262061 0.027585 0
+ L3 26624 -0.001500 0.441366 0.703427 0 0.165512 0.151720 0
+ L3 26624 -0.001500 -2.514137 0.891538 0 -3.191706 1.230323 0
+ L3 26624 -0.001500 -3.138214 -0.731061 0 -2.282337 -0.463600 0
+ L3 26624 -0.001500 -2.478476 -2.656783 0 -1.711753 -2.424984 0
+ END$SEGS
+STRUCTURE 155 3 0 0 0 Fn3 2 528.416667 460.958333 0 0.000000 "LgTrees 12"" Conifer Conif-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 0.079054 0
+ F4 26624 0.000000 28 0
+ -3.711008 2.231983 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.909287 5.539620 0
+ -0.591610 3.657225 0
+ 0.484044 5.700969 0
+ 2.122764 3.566244 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 4.089859 1.542542 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 3.818573 -2.231983 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 2.016852 -4.490857 0
+ 0.994980 -5.593403 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -1.694156 -4.356400 0
+ -4.087487 -4.974902 0
+ -3.415203 -3.119398 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 0.564719 0
+ -5.378272 2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 3.765189 0
+ 2.436069 5.628974 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.446417 2.436069 0
+ 5.723579 1.395418 0
+ 3.475559 -0.112634 0
+ 5.534370 -2.365115 0
+ 3.997045 -2.719883 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 2.530673 -5.368812 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.152255 -5.321509 0
+ -2.140043 -2.815846 0
+ -4.943091 -3.476719 0
+ -4.375463 -1.513674 0
+ -2.622760 -0.418354 0
+ -4.611975 -0.378418 0
+ -5.558021 0.946046 0
+ -1.802142 1.238972 0
+ -4.730231 3.665929 0
+ -1.383787 3.250291 0
+ -1.458250 5.833000 0
+ F4 26624 0.000000 4 0
+ -2.704178 -1.601705 0
+ -2.184143 -0.998466 0
+ -1.268883 -0.644842 0
+ -1.851322 -1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 0.852856 0
+ -1.331287 0.956863 0
+ -0.832055 0.499233 0
+ -1.747315 0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 -2.017732 0
+ -1.414493 -2.683376 0
+ -2.100938 -3.016198 0
+ -1.913726 -2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 -0.020801 0
+ -3.182609 -0.228815 0
+ -2.204945 0.083205 0
+ -3.203410 0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 -2.641773 0
+ -2.870588 -2.142541 0
+ -2.100938 -1.976130 0
+ -2.537767 -2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 2.745780 0
+ -2.184143 2.059335 0
+ -1.414493 1.768116 0
+ -2.163342 2.516965 0
+ L3 26624 -0.001500 -3.330744 -1.963047 0 -4.392720 -1.914776 0
+ L3 26624 -0.001500 -4.617988 -2.815846 0 -3.893913 -2.638850 0
+ L3 26624 -0.001500 -1.480331 -4.746713 0 -1.367697 -3.411197 0
+ L3 26624 -0.001500 -1.367697 -3.411197 0 -2.172224 -4.360539 0
+ L3 26624 -0.001500 1.914776 -4.794984 0 2.043500 -3.668646 0
+ L3 26624 -0.001500 2.043500 -3.668646 0 2.654941 -4.360539 0
+ L3 26624 -0.001500 4.601898 -2.477945 0 3.105476 -1.786051 0
+ L3 26624 -0.001500 3.105476 -1.786051 0 4.601898 -1.432059 0
+ L3 26624 -0.001500 4.183543 1.013705 0 3.057205 1.029795 0
+ L3 26624 -0.001500 3.057205 1.029795 0 3.990457 2.284858 0
+ L3 26624 -0.001500 2.864118 3.797370 0 1.625146 2.719303 0
+ L3 26624 -0.001500 1.625146 2.719303 0 1.657327 4.682350 0
+ L3 26624 -0.001500 -0.579260 5.004161 0 -0.595350 3.346835 0
+ L3 26624 -0.001500 -0.595350 3.346835 0 -1.399878 4.038728 0
+ L3 26624 -0.001500 -0.772346 -3.539921 0 -0.965433 -2.719303 0
+ L3 26624 -0.001500 1.303335 -3.749098 0 1.319425 -2.799756 0
+ L3 26624 -0.001500 2.510126 -3.218110 0 1.753870 -2.590579 0
+ L3 26624 -0.001500 2.912390 -2.461854 0 2.091772 -1.287244 0
+ L3 26624 -0.001500 3.765189 -0.675803 0 2.751484 -0.949343 0
+ L3 26624 -0.001500 3.861732 0.273539 0 2.188315 0.514898 0
+ L3 26624 -0.001500 2.349220 1.190701 0 3.137657 2.317039 0
+ L3 26624 -0.001500 2.510126 2.638850 0 1.238972 1.705598 0
+ L3 26624 -0.001500 0.997614 2.236587 0 0.675803 3.218110 0
+ L3 26624 -0.001500 0.048272 3.202020 0 -0.176996 1.914776 0
+ L3 26624 -0.001500 -1.303335 2.912390 0 -0.949343 1.641236 0
+ L3 26624 -0.001500 -2.461854 -0.466626 0 -1.287244 0.112634 0
+ L3 26624 -0.001500 -1.045886 -1.592965 0 -0.530988 -0.579260 0
+ L3 26624 -0.001500 0.804528 -2.381402 0 0.225268 -1.287244 0
+ L3 26624 -0.001500 1.544693 -1.753870 0 0.868890 -1.045886 0
+ L3 26624 -0.001500 2.140043 -0.466626 0 0.852799 -0.257449 0
+ L3 26624 -0.001500 1.383787 0.852799 0 0.595350 0.370083 0
+ L3 26624 -0.001500 0.160906 1.206791 0 0.209177 0.595350 0
+ L3 26624 -0.001500 -0.241358 0.402264 0 -0.740165 1.078067 0
+ L3 26624 -0.001500 -0.981524 -0.418354 0 -0.305720 -0.032181 0
+ L3 26624 -0.001500 0.514898 -0.820618 0 0.193087 -0.176996 0
+ L3 26624 -0.001500 -2.932993 -1.040068 0 -3.723444 -1.435294 0
+ L3 26624 -0.001500 -3.661040 0.852856 0 -2.662575 0.540836 0
+ L3 26624 -0.001500 -2.891390 3.099404 0 -1.996931 2.828986 0
+ END$SEGS
+STRUCTURE 156 3 0 0 0 Fn3 2 510.416667 481.458333 0 0.000000 "LgTrees 12"" Conifer Conif-12a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -3.711008 -2.231983 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.909287 -5.539620 0
+ -0.591610 -3.657225 0
+ 0.484044 -5.700969 0
+ 2.122764 -3.566244 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 4.089859 -1.542542 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 3.818573 2.231983 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 2.016852 4.490857 0
+ 0.994980 5.593403 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -1.694156 4.356400 0
+ -4.087487 4.974902 0
+ -3.415203 3.119398 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 -0.564719 0
+ -5.378272 -2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 -3.765189 0
+ 2.436069 -5.628974 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.446417 -2.436069 0
+ 5.723579 -1.395418 0
+ 3.475559 0.112634 0
+ 5.534370 2.365115 0
+ 3.997045 2.719883 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 2.530673 5.368812 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.152255 5.321509 0
+ -2.140043 2.815846 0
+ -4.943091 3.476719 0
+ -4.375463 1.513674 0
+ -2.622760 0.418354 0
+ -4.611975 0.378418 0
+ -5.558021 -0.946046 0
+ -1.802142 -1.238972 0
+ -4.730231 -3.665929 0
+ -1.383787 -3.250291 0
+ -1.458250 -5.833000 0
+ F4 26624 0.000000 4 0
+ -2.704178 1.601705 0
+ -2.184143 0.998466 0
+ -1.268883 0.644842 0
+ -1.851322 1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 -0.852856 0
+ -1.331287 -0.956863 0
+ -0.832055 -0.499233 0
+ -1.747315 -0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 2.017732 0
+ -1.414493 2.683376 0
+ -2.100938 3.016198 0
+ -1.913726 2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 0.020801 0
+ -3.182609 0.228815 0
+ -2.204945 -0.083205 0
+ -3.203410 -0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 2.641773 0
+ -2.870588 2.142541 0
+ -2.100938 1.976130 0
+ -2.537767 2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 -2.745780 0
+ -2.184143 -2.059335 0
+ -1.414493 -1.768116 0
+ -2.163342 -2.516965 0
+ L3 26624 -0.001500 -3.330744 1.963047 0 -4.392720 1.914776 0
+ L3 26624 -0.001500 -4.617988 2.815846 0 -3.893913 2.638850 0
+ L3 26624 -0.001500 -1.480331 4.746713 0 -1.367697 3.411197 0
+ L3 26624 -0.001500 -1.367697 3.411197 0 -2.172224 4.360539 0
+ L3 26624 -0.001500 1.914776 4.794984 0 2.043500 3.668646 0
+ L3 26624 -0.001500 2.043500 3.668646 0 2.654941 4.360539 0
+ L3 26624 -0.001500 4.601898 2.477945 0 3.105476 1.786051 0
+ L3 26624 -0.001500 3.105476 1.786051 0 4.601898 1.432059 0
+ L3 26624 -0.001500 4.183543 -1.013705 0 3.057205 -1.029795 0
+ L3 26624 -0.001500 3.057205 -1.029795 0 3.990457 -2.284858 0
+ L3 26624 -0.001500 2.864118 -3.797370 0 1.625146 -2.719303 0
+ L3 26624 -0.001500 1.625146 -2.719303 0 1.657327 -4.682350 0
+ L3 26624 -0.001500 -0.579260 -5.004161 0 -0.595350 -3.346835 0
+ L3 26624 -0.001500 -0.595350 -3.346835 0 -1.399878 -4.038728 0
+ L3 26624 -0.001500 -0.772346 3.539921 0 -0.965433 2.719303 0
+ L3 26624 -0.001500 1.303335 3.749098 0 1.319425 2.799756 0
+ L3 26624 -0.001500 2.510126 3.218110 0 1.753870 2.590579 0
+ L3 26624 -0.001500 2.912390 2.461854 0 2.091772 1.287244 0
+ L3 26624 -0.001500 3.765189 0.675803 0 2.751484 0.949343 0
+ L3 26624 -0.001500 3.861732 -0.273539 0 2.188315 -0.514898 0
+ L3 26624 -0.001500 2.349220 -1.190701 0 3.137657 -2.317039 0
+ L3 26624 -0.001500 2.510126 -2.638850 0 1.238972 -1.705598 0
+ L3 26624 -0.001500 0.997614 -2.236587 0 0.675803 -3.218110 0
+ L3 26624 -0.001500 0.048272 -3.202020 0 -0.176996 -1.914776 0
+ L3 26624 -0.001500 -1.303335 -2.912390 0 -0.949343 -1.641236 0
+ L3 26624 -0.001500 -2.461854 0.466626 0 -1.287244 -0.112634 0
+ L3 26624 -0.001500 -1.045886 1.592965 0 -0.530988 0.579260 0
+ L3 26624 -0.001500 0.804528 2.381402 0 0.225268 1.287244 0
+ L3 26624 -0.001500 1.544693 1.753870 0 0.868890 1.045886 0
+ L3 26624 -0.001500 2.140043 0.466626 0 0.852799 0.257449 0
+ L3 26624 -0.001500 1.383787 -0.852799 0 0.595350 -0.370083 0
+ L3 26624 -0.001500 0.160906 -1.206791 0 0.209177 -0.595350 0
+ L3 26624 -0.001500 -0.241358 -0.402264 0 -0.740165 -1.078067 0
+ L3 26624 -0.001500 -0.981524 0.418354 0 -0.305720 0.032181 0
+ L3 26624 -0.001500 0.514898 0.820618 0 0.193087 0.176996 0
+ L3 26624 -0.001500 -2.932993 1.040068 0 -3.723444 1.435294 0
+ L3 26624 -0.001500 -3.661040 -0.852856 0 -2.662575 -0.540836 0
+ L3 26624 -0.001500 -2.891390 -3.099404 0 -1.996931 -2.828986 0
+ END$SEGS
+STRUCTURE 157 3 0 0 0 Fn3 2 445.750000 518.812500 0 0.000000 "LgTrees 10"" Conifer Conif-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 1.913238 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.636625 4.748517 0
+ -0.507123 3.134943 0
+ 0.414919 4.886824 0
+ 1.819616 3.056955 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 3.505793 1.322254 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 3.273250 -1.913238 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.728829 -3.849526 0
+ 0.852889 -4.794619 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -1.452216 -3.734271 0
+ -3.503760 -4.264445 0
+ -2.927484 -2.673922 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 0.484072 0
+ -4.610211 1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 3.227489 0
+ 2.088178 4.825111 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 3.811432 2.088178 0
+ 4.906205 1.196141 0
+ 2.979221 -0.096549 0
+ 4.744017 -2.027358 0
+ 3.426234 -2.331461 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 2.169273 -4.602102 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.844895 -4.561554 0
+ -1.834428 -2.413721 0
+ -4.237177 -2.980216 0
+ -3.750611 -1.297509 0
+ -2.248208 -0.358610 0
+ -3.953347 -0.324377 0
+ -4.764290 0.810943 0
+ -1.544781 1.062037 0
+ -4.054715 3.142404 0
+ -1.186171 2.786123 0
+ -1.250000 5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 -1.372969 0
+ -1.872230 -0.855877 0
+ -1.087676 -0.552754 0
+ -1.586938 -1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 0.731061 0
+ -1.141169 0.820215 0
+ -0.713230 0.427938 0
+ -1.497784 0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 -1.729584 0
+ -1.212492 -2.300168 0
+ -1.800907 -2.585460 0
+ -1.640430 -2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 -0.017831 0
+ -2.728106 -0.196138 0
+ -1.890061 0.071323 0
+ -2.745937 0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 -2.264507 0
+ -2.460645 -1.836568 0
+ -1.800907 -1.693922 0
+ -2.175353 -2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 2.353660 0
+ -1.872230 1.765245 0
+ -1.212492 1.515615 0
+ -1.854399 2.157522 0
+ L3 26624 -0.001500 -2.855087 -1.682708 0 -3.765404 -1.641330 0
+ L3 26624 -0.001500 -3.958502 -2.413721 0 -3.337831 -2.262001 0
+ L3 26624 -0.001500 -1.268927 -4.068843 0 -1.172379 -2.924050 0
+ L3 26624 -0.001500 -1.172379 -2.924050 0 -1.862013 -3.737819 0
+ L3 26624 -0.001500 1.641330 -4.110221 0 1.751672 -3.144733 0
+ L3 26624 -0.001500 1.751672 -3.144733 0 2.275794 -3.737819 0
+ L3 26624 -0.001500 3.944709 -2.124074 0 2.661989 -1.530989 0
+ L3 26624 -0.001500 2.661989 -1.530989 0 3.944709 -1.227549 0
+ L3 26624 -0.001500 3.586099 0.868939 0 2.620611 0.882732 0
+ L3 26624 -0.001500 2.620611 0.882732 0 3.420587 1.958562 0
+ L3 26624 -0.001500 2.455099 3.255075 0 1.393062 2.330964 0
+ L3 26624 -0.001500 1.393062 2.330964 0 1.420647 4.013673 0
+ L3 26624 -0.001500 -0.496537 4.289526 0 -0.510330 2.868879 0
+ L3 26624 -0.001500 -0.510330 2.868879 0 -1.199964 3.461965 0
+ L3 26624 -0.001500 -0.662049 -3.034392 0 -0.827561 -2.330964 0
+ L3 26624 -0.001500 1.117208 -3.213697 0 1.131001 -2.399928 0
+ L3 26624 -0.001500 2.151660 -2.758538 0 1.503403 -2.220623 0
+ L3 26624 -0.001500 2.496477 -2.110281 0 1.793050 -1.103415 0
+ L3 26624 -0.001500 3.227489 -0.579293 0 2.358550 -0.813769 0
+ L3 26624 -0.001500 3.310245 0.234476 0 1.875806 0.441366 0
+ L3 26624 -0.001500 2.013733 1.020659 0 2.689574 1.986147 0
+ L3 26624 -0.001500 2.151660 2.262001 0 1.062037 1.462025 0
+ L3 26624 -0.001500 0.855147 1.917184 0 0.579293 2.758538 0
+ L3 26624 -0.001500 0.041378 2.744745 0 -0.151720 1.641330 0
+ L3 26624 -0.001500 -1.117208 2.496477 0 -0.813769 1.406854 0
+ L3 26624 -0.001500 -2.110281 -0.399988 0 -1.103415 0.096549 0
+ L3 26624 -0.001500 -0.896525 -1.365476 0 -0.455159 -0.496537 0
+ L3 26624 -0.001500 0.689634 -2.041318 0 0.193098 -1.103415 0
+ L3 26624 -0.001500 1.324098 -1.503403 0 0.744805 -0.896525 0
+ L3 26624 -0.001500 1.834428 -0.399988 0 0.731013 -0.220683 0
+ L3 26624 -0.001500 1.186171 0.731013 0 0.510330 0.317232 0
+ L3 26624 -0.001500 0.137927 1.034452 0 0.179305 0.510330 0
+ L3 26624 -0.001500 -0.206890 0.344817 0 -0.634464 0.924110 0
+ L3 26624 -0.001500 -0.841354 -0.358610 0 -0.262061 -0.027585 0
+ L3 26624 -0.001500 0.441366 -0.703427 0 0.165512 -0.151720 0
+ L3 26624 -0.001500 -2.514137 -0.891538 0 -3.191706 -1.230323 0
+ L3 26624 -0.001500 -3.138214 0.731061 0 -2.282337 0.463600 0
+ L3 26624 -0.001500 -2.478476 2.656783 0 -1.711753 2.424984 0
+ END$SEGS
+STRUCTURE 158 3 0 0 0 Fn3 2 516.250000 470.312500 0 0.000000 "LgTrees 10"" Conifer Conif-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 1.913238 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.636625 4.748517 0
+ -0.507123 3.134943 0
+ 0.414919 4.886824 0
+ 1.819616 3.056955 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 3.505793 1.322254 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 3.273250 -1.913238 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.728829 -3.849526 0
+ 0.852889 -4.794619 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -1.452216 -3.734271 0
+ -3.503760 -4.264445 0
+ -2.927484 -2.673922 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 0.484072 0
+ -4.610211 1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 3.227489 0
+ 2.088178 4.825111 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 3.811432 2.088178 0
+ 4.906205 1.196141 0
+ 2.979221 -0.096549 0
+ 4.744017 -2.027358 0
+ 3.426234 -2.331461 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 2.169273 -4.602102 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.844895 -4.561554 0
+ -1.834428 -2.413721 0
+ -4.237177 -2.980216 0
+ -3.750611 -1.297509 0
+ -2.248208 -0.358610 0
+ -3.953347 -0.324377 0
+ -4.764290 0.810943 0
+ -1.544781 1.062037 0
+ -4.054715 3.142404 0
+ -1.186171 2.786123 0
+ -1.250000 5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 -1.372969 0
+ -1.872230 -0.855877 0
+ -1.087676 -0.552754 0
+ -1.586938 -1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 0.731061 0
+ -1.141169 0.820215 0
+ -0.713230 0.427938 0
+ -1.497784 0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 -1.729584 0
+ -1.212492 -2.300168 0
+ -1.800907 -2.585460 0
+ -1.640430 -2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 -0.017831 0
+ -2.728106 -0.196138 0
+ -1.890061 0.071323 0
+ -2.745937 0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 -2.264507 0
+ -2.460645 -1.836568 0
+ -1.800907 -1.693922 0
+ -2.175353 -2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 2.353660 0
+ -1.872230 1.765245 0
+ -1.212492 1.515615 0
+ -1.854399 2.157522 0
+ L3 26624 -0.001500 -2.855087 -1.682708 0 -3.765404 -1.641330 0
+ L3 26624 -0.001500 -3.958502 -2.413721 0 -3.337831 -2.262001 0
+ L3 26624 -0.001500 -1.268927 -4.068843 0 -1.172379 -2.924050 0
+ L3 26624 -0.001500 -1.172379 -2.924050 0 -1.862013 -3.737819 0
+ L3 26624 -0.001500 1.641330 -4.110221 0 1.751672 -3.144733 0
+ L3 26624 -0.001500 1.751672 -3.144733 0 2.275794 -3.737819 0
+ L3 26624 -0.001500 3.944709 -2.124074 0 2.661989 -1.530989 0
+ L3 26624 -0.001500 2.661989 -1.530989 0 3.944709 -1.227549 0
+ L3 26624 -0.001500 3.586099 0.868939 0 2.620611 0.882732 0
+ L3 26624 -0.001500 2.620611 0.882732 0 3.420587 1.958562 0
+ L3 26624 -0.001500 2.455099 3.255075 0 1.393062 2.330964 0
+ L3 26624 -0.001500 1.393062 2.330964 0 1.420647 4.013673 0
+ L3 26624 -0.001500 -0.496537 4.289526 0 -0.510330 2.868879 0
+ L3 26624 -0.001500 -0.510330 2.868879 0 -1.199964 3.461965 0
+ L3 26624 -0.001500 -0.662049 -3.034392 0 -0.827561 -2.330964 0
+ L3 26624 -0.001500 1.117208 -3.213697 0 1.131001 -2.399928 0
+ L3 26624 -0.001500 2.151660 -2.758538 0 1.503403 -2.220623 0
+ L3 26624 -0.001500 2.496477 -2.110281 0 1.793050 -1.103415 0
+ L3 26624 -0.001500 3.227489 -0.579293 0 2.358550 -0.813769 0
+ L3 26624 -0.001500 3.310245 0.234476 0 1.875806 0.441366 0
+ L3 26624 -0.001500 2.013733 1.020659 0 2.689574 1.986147 0
+ L3 26624 -0.001500 2.151660 2.262001 0 1.062037 1.462025 0
+ L3 26624 -0.001500 0.855147 1.917184 0 0.579293 2.758538 0
+ L3 26624 -0.001500 0.041378 2.744745 0 -0.151720 1.641330 0
+ L3 26624 -0.001500 -1.117208 2.496477 0 -0.813769 1.406854 0
+ L3 26624 -0.001500 -2.110281 -0.399988 0 -1.103415 0.096549 0
+ L3 26624 -0.001500 -0.896525 -1.365476 0 -0.455159 -0.496537 0
+ L3 26624 -0.001500 0.689634 -2.041318 0 0.193098 -1.103415 0
+ L3 26624 -0.001500 1.324098 -1.503403 0 0.744805 -0.896525 0
+ L3 26624 -0.001500 1.834428 -0.399988 0 0.731013 -0.220683 0
+ L3 26624 -0.001500 1.186171 0.731013 0 0.510330 0.317232 0
+ L3 26624 -0.001500 0.137927 1.034452 0 0.179305 0.510330 0
+ L3 26624 -0.001500 -0.206890 0.344817 0 -0.634464 0.924110 0
+ L3 26624 -0.001500 -0.841354 -0.358610 0 -0.262061 -0.027585 0
+ L3 26624 -0.001500 0.441366 -0.703427 0 0.165512 -0.151720 0
+ L3 26624 -0.001500 -2.514137 -0.891538 0 -3.191706 -1.230323 0
+ L3 26624 -0.001500 -3.138214 0.731061 0 -2.282337 0.463600 0
+ L3 26624 -0.001500 -2.478476 2.656783 0 -1.711753 2.424984 0
+ END$SEGS
+STRUCTURE 159 3 0 0 0 Fn3 2 506.750000 494.312500 0 0.000000 "LgTrees 10"" Conifer Conif-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 -1.913238 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.636625 -4.748517 0
+ -0.507123 -3.134943 0
+ 0.414919 -4.886824 0
+ 1.819616 -3.056955 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 3.505793 -1.322254 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 3.273250 1.913238 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.728829 3.849526 0
+ 0.852889 4.794619 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -1.452216 3.734271 0
+ -3.503760 4.264445 0
+ -2.927484 2.673922 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 -0.484072 0
+ -4.610211 -1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 -3.227489 0
+ 2.088178 -4.825111 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 3.811432 -2.088178 0
+ 4.906205 -1.196141 0
+ 2.979221 0.096549 0
+ 4.744017 2.027358 0
+ 3.426234 2.331461 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 2.169273 4.602102 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.844895 4.561554 0
+ -1.834428 2.413721 0
+ -4.237177 2.980216 0
+ -3.750611 1.297509 0
+ -2.248208 0.358610 0
+ -3.953347 0.324377 0
+ -4.764290 -0.810943 0
+ -1.544781 -1.062037 0
+ -4.054715 -3.142404 0
+ -1.186171 -2.786123 0
+ -1.250000 -5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 1.372969 0
+ -1.872230 0.855877 0
+ -1.087676 0.552754 0
+ -1.586938 1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 -0.731061 0
+ -1.141169 -0.820215 0
+ -0.713230 -0.427938 0
+ -1.497784 -0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 1.729584 0
+ -1.212492 2.300168 0
+ -1.800907 2.585460 0
+ -1.640430 2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 0.017831 0
+ -2.728106 0.196138 0
+ -1.890061 -0.071323 0
+ -2.745937 -0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 2.264507 0
+ -2.460645 1.836568 0
+ -1.800907 1.693922 0
+ -2.175353 2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 -2.353660 0
+ -1.872230 -1.765245 0
+ -1.212492 -1.515615 0
+ -1.854399 -2.157522 0
+ L3 26624 -0.001500 -2.855087 1.682708 0 -3.765404 1.641330 0
+ L3 26624 -0.001500 -3.958502 2.413721 0 -3.337831 2.262001 0
+ L3 26624 -0.001500 -1.268927 4.068843 0 -1.172379 2.924050 0
+ L3 26624 -0.001500 -1.172379 2.924050 0 -1.862013 3.737819 0
+ L3 26624 -0.001500 1.641330 4.110221 0 1.751672 3.144733 0
+ L3 26624 -0.001500 1.751672 3.144733 0 2.275794 3.737819 0
+ L3 26624 -0.001500 3.944709 2.124074 0 2.661989 1.530989 0
+ L3 26624 -0.001500 2.661989 1.530989 0 3.944709 1.227549 0
+ L3 26624 -0.001500 3.586099 -0.868939 0 2.620611 -0.882732 0
+ L3 26624 -0.001500 2.620611 -0.882732 0 3.420587 -1.958562 0
+ L3 26624 -0.001500 2.455099 -3.255075 0 1.393062 -2.330964 0
+ L3 26624 -0.001500 1.393062 -2.330964 0 1.420647 -4.013673 0
+ L3 26624 -0.001500 -0.496537 -4.289526 0 -0.510330 -2.868879 0
+ L3 26624 -0.001500 -0.510330 -2.868879 0 -1.199964 -3.461965 0
+ L3 26624 -0.001500 -0.662049 3.034392 0 -0.827561 2.330964 0
+ L3 26624 -0.001500 1.117208 3.213697 0 1.131001 2.399928 0
+ L3 26624 -0.001500 2.151660 2.758538 0 1.503403 2.220623 0
+ L3 26624 -0.001500 2.496477 2.110281 0 1.793050 1.103415 0
+ L3 26624 -0.001500 3.227489 0.579293 0 2.358550 0.813769 0
+ L3 26624 -0.001500 3.310245 -0.234476 0 1.875806 -0.441366 0
+ L3 26624 -0.001500 2.013733 -1.020659 0 2.689574 -1.986147 0
+ L3 26624 -0.001500 2.151660 -2.262001 0 1.062037 -1.462025 0
+ L3 26624 -0.001500 0.855147 -1.917184 0 0.579293 -2.758538 0
+ L3 26624 -0.001500 0.041378 -2.744745 0 -0.151720 -1.641330 0
+ L3 26624 -0.001500 -1.117208 -2.496477 0 -0.813769 -1.406854 0
+ L3 26624 -0.001500 -2.110281 0.399988 0 -1.103415 -0.096549 0
+ L3 26624 -0.001500 -0.896525 1.365476 0 -0.455159 0.496537 0
+ L3 26624 -0.001500 0.689634 2.041318 0 0.193098 1.103415 0
+ L3 26624 -0.001500 1.324098 1.503403 0 0.744805 0.896525 0
+ L3 26624 -0.001500 1.834428 0.399988 0 0.731013 0.220683 0
+ L3 26624 -0.001500 1.186171 -0.731013 0 0.510330 -0.317232 0
+ L3 26624 -0.001500 0.137927 -1.034452 0 0.179305 -0.510330 0
+ L3 26624 -0.001500 -0.206890 -0.344817 0 -0.634464 -0.924110 0
+ L3 26624 -0.001500 -0.841354 0.358610 0 -0.262061 0.027585 0
+ L3 26624 -0.001500 0.441366 0.703427 0 0.165512 0.151720 0
+ L3 26624 -0.001500 -2.514137 0.891538 0 -3.191706 1.230323 0
+ L3 26624 -0.001500 -3.138214 -0.731061 0 -2.282337 -0.463600 0
+ L3 26624 -0.001500 -2.478476 -2.656783 0 -1.711753 -2.424984 0
+ END$SEGS
+STRUCTURE 160 3 0 0 0 Fn3 2 468.750000 502.812500 0 0.000000 "LgTrees 10"" Conifer Conif-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 -1.913238 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.636625 -4.748517 0
+ -0.507123 -3.134943 0
+ 0.414919 -4.886824 0
+ 1.819616 -3.056955 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 3.505793 -1.322254 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 3.273250 1.913238 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.728829 3.849526 0
+ 0.852889 4.794619 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -1.452216 3.734271 0
+ -3.503760 4.264445 0
+ -2.927484 2.673922 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 -0.484072 0
+ -4.610211 -1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 -3.227489 0
+ 2.088178 -4.825111 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 3.811432 -2.088178 0
+ 4.906205 -1.196141 0
+ 2.979221 0.096549 0
+ 4.744017 2.027358 0
+ 3.426234 2.331461 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 2.169273 4.602102 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.844895 4.561554 0
+ -1.834428 2.413721 0
+ -4.237177 2.980216 0
+ -3.750611 1.297509 0
+ -2.248208 0.358610 0
+ -3.953347 0.324377 0
+ -4.764290 -0.810943 0
+ -1.544781 -1.062037 0
+ -4.054715 -3.142404 0
+ -1.186171 -2.786123 0
+ -1.250000 -5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 1.372969 0
+ -1.872230 0.855877 0
+ -1.087676 0.552754 0
+ -1.586938 1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 -0.731061 0
+ -1.141169 -0.820215 0
+ -0.713230 -0.427938 0
+ -1.497784 -0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 1.729584 0
+ -1.212492 2.300168 0
+ -1.800907 2.585460 0
+ -1.640430 2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 0.017831 0
+ -2.728106 0.196138 0
+ -1.890061 -0.071323 0
+ -2.745937 -0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 2.264507 0
+ -2.460645 1.836568 0
+ -1.800907 1.693922 0
+ -2.175353 2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 -2.353660 0
+ -1.872230 -1.765245 0
+ -1.212492 -1.515615 0
+ -1.854399 -2.157522 0
+ L3 26624 -0.001500 -2.855087 1.682708 0 -3.765404 1.641330 0
+ L3 26624 -0.001500 -3.958502 2.413721 0 -3.337831 2.262001 0
+ L3 26624 -0.001500 -1.268927 4.068843 0 -1.172379 2.924050 0
+ L3 26624 -0.001500 -1.172379 2.924050 0 -1.862013 3.737819 0
+ L3 26624 -0.001500 1.641330 4.110221 0 1.751672 3.144733 0
+ L3 26624 -0.001500 1.751672 3.144733 0 2.275794 3.737819 0
+ L3 26624 -0.001500 3.944709 2.124074 0 2.661989 1.530989 0
+ L3 26624 -0.001500 2.661989 1.530989 0 3.944709 1.227549 0
+ L3 26624 -0.001500 3.586099 -0.868939 0 2.620611 -0.882732 0
+ L3 26624 -0.001500 2.620611 -0.882732 0 3.420587 -1.958562 0
+ L3 26624 -0.001500 2.455099 -3.255075 0 1.393062 -2.330964 0
+ L3 26624 -0.001500 1.393062 -2.330964 0 1.420647 -4.013673 0
+ L3 26624 -0.001500 -0.496537 -4.289526 0 -0.510330 -2.868879 0
+ L3 26624 -0.001500 -0.510330 -2.868879 0 -1.199964 -3.461965 0
+ L3 26624 -0.001500 -0.662049 3.034392 0 -0.827561 2.330964 0
+ L3 26624 -0.001500 1.117208 3.213697 0 1.131001 2.399928 0
+ L3 26624 -0.001500 2.151660 2.758538 0 1.503403 2.220623 0
+ L3 26624 -0.001500 2.496477 2.110281 0 1.793050 1.103415 0
+ L3 26624 -0.001500 3.227489 0.579293 0 2.358550 0.813769 0
+ L3 26624 -0.001500 3.310245 -0.234476 0 1.875806 -0.441366 0
+ L3 26624 -0.001500 2.013733 -1.020659 0 2.689574 -1.986147 0
+ L3 26624 -0.001500 2.151660 -2.262001 0 1.062037 -1.462025 0
+ L3 26624 -0.001500 0.855147 -1.917184 0 0.579293 -2.758538 0
+ L3 26624 -0.001500 0.041378 -2.744745 0 -0.151720 -1.641330 0
+ L3 26624 -0.001500 -1.117208 -2.496477 0 -0.813769 -1.406854 0
+ L3 26624 -0.001500 -2.110281 0.399988 0 -1.103415 -0.096549 0
+ L3 26624 -0.001500 -0.896525 1.365476 0 -0.455159 0.496537 0
+ L3 26624 -0.001500 0.689634 2.041318 0 0.193098 1.103415 0
+ L3 26624 -0.001500 1.324098 1.503403 0 0.744805 0.896525 0
+ L3 26624 -0.001500 1.834428 0.399988 0 0.731013 0.220683 0
+ L3 26624 -0.001500 1.186171 -0.731013 0 0.510330 -0.317232 0
+ L3 26624 -0.001500 0.137927 -1.034452 0 0.179305 -0.510330 0
+ L3 26624 -0.001500 -0.206890 -0.344817 0 -0.634464 -0.924110 0
+ L3 26624 -0.001500 -0.841354 0.358610 0 -0.262061 0.027585 0
+ L3 26624 -0.001500 0.441366 0.703427 0 0.165512 0.151720 0
+ L3 26624 -0.001500 -2.514137 0.891538 0 -3.191706 1.230323 0
+ L3 26624 -0.001500 -3.138214 -0.731061 0 -2.282337 -0.463600 0
+ L3 26624 -0.001500 -2.478476 -2.656783 0 -1.711753 -2.424984 0
+ END$SEGS
+STRUCTURE 161 3 0 0 0 Fn3 2 458.250000 520.312500 0 0.000000 "LgTrees 10"" Conifer Conif-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 -1.913238 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.636625 -4.748517 0
+ -0.507123 -3.134943 0
+ 0.414919 -4.886824 0
+ 1.819616 -3.056955 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 3.505793 -1.322254 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 3.273250 1.913238 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.728829 3.849526 0
+ 0.852889 4.794619 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -1.452216 3.734271 0
+ -3.503760 4.264445 0
+ -2.927484 2.673922 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 -0.484072 0
+ -4.610211 -1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 -3.227489 0
+ 2.088178 -4.825111 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 3.811432 -2.088178 0
+ 4.906205 -1.196141 0
+ 2.979221 0.096549 0
+ 4.744017 2.027358 0
+ 3.426234 2.331461 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 2.169273 4.602102 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.844895 4.561554 0
+ -1.834428 2.413721 0
+ -4.237177 2.980216 0
+ -3.750611 1.297509 0
+ -2.248208 0.358610 0
+ -3.953347 0.324377 0
+ -4.764290 -0.810943 0
+ -1.544781 -1.062037 0
+ -4.054715 -3.142404 0
+ -1.186171 -2.786123 0
+ -1.250000 -5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 1.372969 0
+ -1.872230 0.855877 0
+ -1.087676 0.552754 0
+ -1.586938 1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 -0.731061 0
+ -1.141169 -0.820215 0
+ -0.713230 -0.427938 0
+ -1.497784 -0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 1.729584 0
+ -1.212492 2.300168 0
+ -1.800907 2.585460 0
+ -1.640430 2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 0.017831 0
+ -2.728106 0.196138 0
+ -1.890061 -0.071323 0
+ -2.745937 -0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 2.264507 0
+ -2.460645 1.836568 0
+ -1.800907 1.693922 0
+ -2.175353 2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 -2.353660 0
+ -1.872230 -1.765245 0
+ -1.212492 -1.515615 0
+ -1.854399 -2.157522 0
+ L3 26624 -0.001500 -2.855087 1.682708 0 -3.765404 1.641330 0
+ L3 26624 -0.001500 -3.958502 2.413721 0 -3.337831 2.262001 0
+ L3 26624 -0.001500 -1.268927 4.068843 0 -1.172379 2.924050 0
+ L3 26624 -0.001500 -1.172379 2.924050 0 -1.862013 3.737819 0
+ L3 26624 -0.001500 1.641330 4.110221 0 1.751672 3.144733 0
+ L3 26624 -0.001500 1.751672 3.144733 0 2.275794 3.737819 0
+ L3 26624 -0.001500 3.944709 2.124074 0 2.661989 1.530989 0
+ L3 26624 -0.001500 2.661989 1.530989 0 3.944709 1.227549 0
+ L3 26624 -0.001500 3.586099 -0.868939 0 2.620611 -0.882732 0
+ L3 26624 -0.001500 2.620611 -0.882732 0 3.420587 -1.958562 0
+ L3 26624 -0.001500 2.455099 -3.255075 0 1.393062 -2.330964 0
+ L3 26624 -0.001500 1.393062 -2.330964 0 1.420647 -4.013673 0
+ L3 26624 -0.001500 -0.496537 -4.289526 0 -0.510330 -2.868879 0
+ L3 26624 -0.001500 -0.510330 -2.868879 0 -1.199964 -3.461965 0
+ L3 26624 -0.001500 -0.662049 3.034392 0 -0.827561 2.330964 0
+ L3 26624 -0.001500 1.117208 3.213697 0 1.131001 2.399928 0
+ L3 26624 -0.001500 2.151660 2.758538 0 1.503403 2.220623 0
+ L3 26624 -0.001500 2.496477 2.110281 0 1.793050 1.103415 0
+ L3 26624 -0.001500 3.227489 0.579293 0 2.358550 0.813769 0
+ L3 26624 -0.001500 3.310245 -0.234476 0 1.875806 -0.441366 0
+ L3 26624 -0.001500 2.013733 -1.020659 0 2.689574 -1.986147 0
+ L3 26624 -0.001500 2.151660 -2.262001 0 1.062037 -1.462025 0
+ L3 26624 -0.001500 0.855147 -1.917184 0 0.579293 -2.758538 0
+ L3 26624 -0.001500 0.041378 -2.744745 0 -0.151720 -1.641330 0
+ L3 26624 -0.001500 -1.117208 -2.496477 0 -0.813769 -1.406854 0
+ L3 26624 -0.001500 -2.110281 0.399988 0 -1.103415 -0.096549 0
+ L3 26624 -0.001500 -0.896525 1.365476 0 -0.455159 0.496537 0
+ L3 26624 -0.001500 0.689634 2.041318 0 0.193098 1.103415 0
+ L3 26624 -0.001500 1.324098 1.503403 0 0.744805 0.896525 0
+ L3 26624 -0.001500 1.834428 0.399988 0 0.731013 0.220683 0
+ L3 26624 -0.001500 1.186171 -0.731013 0 0.510330 -0.317232 0
+ L3 26624 -0.001500 0.137927 -1.034452 0 0.179305 -0.510330 0
+ L3 26624 -0.001500 -0.206890 -0.344817 0 -0.634464 -0.924110 0
+ L3 26624 -0.001500 -0.841354 0.358610 0 -0.262061 0.027585 0
+ L3 26624 -0.001500 0.441366 0.703427 0 0.165512 0.151720 0
+ L3 26624 -0.001500 -2.514137 0.891538 0 -3.191706 1.230323 0
+ L3 26624 -0.001500 -3.138214 -0.731061 0 -2.282337 -0.463600 0
+ L3 26624 -0.001500 -2.478476 -2.656783 0 -1.711753 -2.424984 0
+ END$SEGS
+STRUCTURE 162 3 0 0 0 Fn3 2 479.750000 507.812500 0 0.000000 "LgTrees 12"" Conifer Conif-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 0.079054 0
+ F4 26624 0.000000 28 0
+ -3.711008 2.231983 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.909287 5.539620 0
+ -0.591610 3.657225 0
+ 0.484044 5.700969 0
+ 2.122764 3.566244 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 4.089859 1.542542 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 3.818573 -2.231983 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 2.016852 -4.490857 0
+ 0.994980 -5.593403 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -1.694156 -4.356400 0
+ -4.087487 -4.974902 0
+ -3.415203 -3.119398 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 0.564719 0
+ -5.378272 2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 3.765189 0
+ 2.436069 5.628974 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.446417 2.436069 0
+ 5.723579 1.395418 0
+ 3.475559 -0.112634 0
+ 5.534370 -2.365115 0
+ 3.997045 -2.719883 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 2.530673 -5.368812 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.152255 -5.321509 0
+ -2.140043 -2.815846 0
+ -4.943091 -3.476719 0
+ -4.375463 -1.513674 0
+ -2.622760 -0.418354 0
+ -4.611975 -0.378418 0
+ -5.558021 0.946046 0
+ -1.802142 1.238972 0
+ -4.730231 3.665929 0
+ -1.383787 3.250291 0
+ -1.458250 5.833000 0
+ F4 26624 0.000000 4 0
+ -2.704178 -1.601705 0
+ -2.184143 -0.998466 0
+ -1.268883 -0.644842 0
+ -1.851322 -1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 0.852856 0
+ -1.331287 0.956863 0
+ -0.832055 0.499233 0
+ -1.747315 0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 -2.017732 0
+ -1.414493 -2.683376 0
+ -2.100938 -3.016198 0
+ -1.913726 -2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 -0.020801 0
+ -3.182609 -0.228815 0
+ -2.204945 0.083205 0
+ -3.203410 0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 -2.641773 0
+ -2.870588 -2.142541 0
+ -2.100938 -1.976130 0
+ -2.537767 -2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 2.745780 0
+ -2.184143 2.059335 0
+ -1.414493 1.768116 0
+ -2.163342 2.516965 0
+ L3 26624 -0.001500 -3.330744 -1.963047 0 -4.392720 -1.914776 0
+ L3 26624 -0.001500 -4.617988 -2.815846 0 -3.893913 -2.638850 0
+ L3 26624 -0.001500 -1.480331 -4.746713 0 -1.367697 -3.411197 0
+ L3 26624 -0.001500 -1.367697 -3.411197 0 -2.172224 -4.360539 0
+ L3 26624 -0.001500 1.914776 -4.794984 0 2.043500 -3.668646 0
+ L3 26624 -0.001500 2.043500 -3.668646 0 2.654941 -4.360539 0
+ L3 26624 -0.001500 4.601898 -2.477945 0 3.105476 -1.786051 0
+ L3 26624 -0.001500 3.105476 -1.786051 0 4.601898 -1.432059 0
+ L3 26624 -0.001500 4.183543 1.013705 0 3.057205 1.029795 0
+ L3 26624 -0.001500 3.057205 1.029795 0 3.990457 2.284858 0
+ L3 26624 -0.001500 2.864118 3.797370 0 1.625146 2.719303 0
+ L3 26624 -0.001500 1.625146 2.719303 0 1.657327 4.682350 0
+ L3 26624 -0.001500 -0.579260 5.004161 0 -0.595350 3.346835 0
+ L3 26624 -0.001500 -0.595350 3.346835 0 -1.399878 4.038728 0
+ L3 26624 -0.001500 -0.772346 -3.539921 0 -0.965433 -2.719303 0
+ L3 26624 -0.001500 1.303335 -3.749098 0 1.319425 -2.799756 0
+ L3 26624 -0.001500 2.510126 -3.218110 0 1.753870 -2.590579 0
+ L3 26624 -0.001500 2.912390 -2.461854 0 2.091772 -1.287244 0
+ L3 26624 -0.001500 3.765189 -0.675803 0 2.751484 -0.949343 0
+ L3 26624 -0.001500 3.861732 0.273539 0 2.188315 0.514898 0
+ L3 26624 -0.001500 2.349220 1.190701 0 3.137657 2.317039 0
+ L3 26624 -0.001500 2.510126 2.638850 0 1.238972 1.705598 0
+ L3 26624 -0.001500 0.997614 2.236587 0 0.675803 3.218110 0
+ L3 26624 -0.001500 0.048272 3.202020 0 -0.176996 1.914776 0
+ L3 26624 -0.001500 -1.303335 2.912390 0 -0.949343 1.641236 0
+ L3 26624 -0.001500 -2.461854 -0.466626 0 -1.287244 0.112634 0
+ L3 26624 -0.001500 -1.045886 -1.592965 0 -0.530988 -0.579260 0
+ L3 26624 -0.001500 0.804528 -2.381402 0 0.225268 -1.287244 0
+ L3 26624 -0.001500 1.544693 -1.753870 0 0.868890 -1.045886 0
+ L3 26624 -0.001500 2.140043 -0.466626 0 0.852799 -0.257449 0
+ L3 26624 -0.001500 1.383787 0.852799 0 0.595350 0.370083 0
+ L3 26624 -0.001500 0.160906 1.206791 0 0.209177 0.595350 0
+ L3 26624 -0.001500 -0.241358 0.402264 0 -0.740165 1.078067 0
+ L3 26624 -0.001500 -0.981524 -0.418354 0 -0.305720 -0.032181 0
+ L3 26624 -0.001500 0.514898 -0.820618 0 0.193087 -0.176996 0
+ L3 26624 -0.001500 -2.932993 -1.040068 0 -3.723444 -1.435294 0
+ L3 26624 -0.001500 -3.661040 0.852856 0 -2.662575 0.540836 0
+ L3 26624 -0.001500 -2.891390 3.099404 0 -1.996931 2.828986 0
+ END$SEGS
+STRUCTURE 163 3 0 0 0 Fn3 2 424.250000 525.812500 0 0.000000 "LgTrees 12"" Conifer Conif-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 0.079054 0
+ F4 26624 0.000000 28 0
+ -3.711008 2.231983 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.909287 5.539620 0
+ -0.591610 3.657225 0
+ 0.484044 5.700969 0
+ 2.122764 3.566244 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 4.089859 1.542542 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 3.818573 -2.231983 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 2.016852 -4.490857 0
+ 0.994980 -5.593403 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -1.694156 -4.356400 0
+ -4.087487 -4.974902 0
+ -3.415203 -3.119398 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 0.564719 0
+ -5.378272 2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 3.765189 0
+ 2.436069 5.628974 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.446417 2.436069 0
+ 5.723579 1.395418 0
+ 3.475559 -0.112634 0
+ 5.534370 -2.365115 0
+ 3.997045 -2.719883 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 2.530673 -5.368812 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.152255 -5.321509 0
+ -2.140043 -2.815846 0
+ -4.943091 -3.476719 0
+ -4.375463 -1.513674 0
+ -2.622760 -0.418354 0
+ -4.611975 -0.378418 0
+ -5.558021 0.946046 0
+ -1.802142 1.238972 0
+ -4.730231 3.665929 0
+ -1.383787 3.250291 0
+ -1.458250 5.833000 0
+ F4 26624 0.000000 4 0
+ -2.704178 -1.601705 0
+ -2.184143 -0.998466 0
+ -1.268883 -0.644842 0
+ -1.851322 -1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 0.852856 0
+ -1.331287 0.956863 0
+ -0.832055 0.499233 0
+ -1.747315 0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 -2.017732 0
+ -1.414493 -2.683376 0
+ -2.100938 -3.016198 0
+ -1.913726 -2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 -0.020801 0
+ -3.182609 -0.228815 0
+ -2.204945 0.083205 0
+ -3.203410 0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 -2.641773 0
+ -2.870588 -2.142541 0
+ -2.100938 -1.976130 0
+ -2.537767 -2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 2.745780 0
+ -2.184143 2.059335 0
+ -1.414493 1.768116 0
+ -2.163342 2.516965 0
+ L3 26624 -0.001500 -3.330744 -1.963047 0 -4.392720 -1.914776 0
+ L3 26624 -0.001500 -4.617988 -2.815846 0 -3.893913 -2.638850 0
+ L3 26624 -0.001500 -1.480331 -4.746713 0 -1.367697 -3.411197 0
+ L3 26624 -0.001500 -1.367697 -3.411197 0 -2.172224 -4.360539 0
+ L3 26624 -0.001500 1.914776 -4.794984 0 2.043500 -3.668646 0
+ L3 26624 -0.001500 2.043500 -3.668646 0 2.654941 -4.360539 0
+ L3 26624 -0.001500 4.601898 -2.477945 0 3.105476 -1.786051 0
+ L3 26624 -0.001500 3.105476 -1.786051 0 4.601898 -1.432059 0
+ L3 26624 -0.001500 4.183543 1.013705 0 3.057205 1.029795 0
+ L3 26624 -0.001500 3.057205 1.029795 0 3.990457 2.284858 0
+ L3 26624 -0.001500 2.864118 3.797370 0 1.625146 2.719303 0
+ L3 26624 -0.001500 1.625146 2.719303 0 1.657327 4.682350 0
+ L3 26624 -0.001500 -0.579260 5.004161 0 -0.595350 3.346835 0
+ L3 26624 -0.001500 -0.595350 3.346835 0 -1.399878 4.038728 0
+ L3 26624 -0.001500 -0.772346 -3.539921 0 -0.965433 -2.719303 0
+ L3 26624 -0.001500 1.303335 -3.749098 0 1.319425 -2.799756 0
+ L3 26624 -0.001500 2.510126 -3.218110 0 1.753870 -2.590579 0
+ L3 26624 -0.001500 2.912390 -2.461854 0 2.091772 -1.287244 0
+ L3 26624 -0.001500 3.765189 -0.675803 0 2.751484 -0.949343 0
+ L3 26624 -0.001500 3.861732 0.273539 0 2.188315 0.514898 0
+ L3 26624 -0.001500 2.349220 1.190701 0 3.137657 2.317039 0
+ L3 26624 -0.001500 2.510126 2.638850 0 1.238972 1.705598 0
+ L3 26624 -0.001500 0.997614 2.236587 0 0.675803 3.218110 0
+ L3 26624 -0.001500 0.048272 3.202020 0 -0.176996 1.914776 0
+ L3 26624 -0.001500 -1.303335 2.912390 0 -0.949343 1.641236 0
+ L3 26624 -0.001500 -2.461854 -0.466626 0 -1.287244 0.112634 0
+ L3 26624 -0.001500 -1.045886 -1.592965 0 -0.530988 -0.579260 0
+ L3 26624 -0.001500 0.804528 -2.381402 0 0.225268 -1.287244 0
+ L3 26624 -0.001500 1.544693 -1.753870 0 0.868890 -1.045886 0
+ L3 26624 -0.001500 2.140043 -0.466626 0 0.852799 -0.257449 0
+ L3 26624 -0.001500 1.383787 0.852799 0 0.595350 0.370083 0
+ L3 26624 -0.001500 0.160906 1.206791 0 0.209177 0.595350 0
+ L3 26624 -0.001500 -0.241358 0.402264 0 -0.740165 1.078067 0
+ L3 26624 -0.001500 -0.981524 -0.418354 0 -0.305720 -0.032181 0
+ L3 26624 -0.001500 0.514898 -0.820618 0 0.193087 -0.176996 0
+ L3 26624 -0.001500 -2.932993 -1.040068 0 -3.723444 -1.435294 0
+ L3 26624 -0.001500 -3.661040 0.852856 0 -2.662575 0.540836 0
+ L3 26624 -0.001500 -2.891390 3.099404 0 -1.996931 2.828986 0
+ END$SEGS
+STRUCTURE 164 3 0 0 0 Fn3 2 544.750000 437.312500 0 0.000000 "LgTrees 12"" Conifer Conif-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 0.079054 0
+ F4 26624 0.000000 28 0
+ -3.711008 2.231983 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.909287 5.539620 0
+ -0.591610 3.657225 0
+ 0.484044 5.700969 0
+ 2.122764 3.566244 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 4.089859 1.542542 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 3.818573 -2.231983 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 2.016852 -4.490857 0
+ 0.994980 -5.593403 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -1.694156 -4.356400 0
+ -4.087487 -4.974902 0
+ -3.415203 -3.119398 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 0.564719 0
+ -5.378272 2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 3.765189 0
+ 2.436069 5.628974 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.446417 2.436069 0
+ 5.723579 1.395418 0
+ 3.475559 -0.112634 0
+ 5.534370 -2.365115 0
+ 3.997045 -2.719883 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 2.530673 -5.368812 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.152255 -5.321509 0
+ -2.140043 -2.815846 0
+ -4.943091 -3.476719 0
+ -4.375463 -1.513674 0
+ -2.622760 -0.418354 0
+ -4.611975 -0.378418 0
+ -5.558021 0.946046 0
+ -1.802142 1.238972 0
+ -4.730231 3.665929 0
+ -1.383787 3.250291 0
+ -1.458250 5.833000 0
+ F4 26624 0.000000 4 0
+ -2.704178 -1.601705 0
+ -2.184143 -0.998466 0
+ -1.268883 -0.644842 0
+ -1.851322 -1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 0.852856 0
+ -1.331287 0.956863 0
+ -0.832055 0.499233 0
+ -1.747315 0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 -2.017732 0
+ -1.414493 -2.683376 0
+ -2.100938 -3.016198 0
+ -1.913726 -2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 -0.020801 0
+ -3.182609 -0.228815 0
+ -2.204945 0.083205 0
+ -3.203410 0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 -2.641773 0
+ -2.870588 -2.142541 0
+ -2.100938 -1.976130 0
+ -2.537767 -2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 2.745780 0
+ -2.184143 2.059335 0
+ -1.414493 1.768116 0
+ -2.163342 2.516965 0
+ L3 26624 -0.001500 -3.330744 -1.963047 0 -4.392720 -1.914776 0
+ L3 26624 -0.001500 -4.617988 -2.815846 0 -3.893913 -2.638850 0
+ L3 26624 -0.001500 -1.480331 -4.746713 0 -1.367697 -3.411197 0
+ L3 26624 -0.001500 -1.367697 -3.411197 0 -2.172224 -4.360539 0
+ L3 26624 -0.001500 1.914776 -4.794984 0 2.043500 -3.668646 0
+ L3 26624 -0.001500 2.043500 -3.668646 0 2.654941 -4.360539 0
+ L3 26624 -0.001500 4.601898 -2.477945 0 3.105476 -1.786051 0
+ L3 26624 -0.001500 3.105476 -1.786051 0 4.601898 -1.432059 0
+ L3 26624 -0.001500 4.183543 1.013705 0 3.057205 1.029795 0
+ L3 26624 -0.001500 3.057205 1.029795 0 3.990457 2.284858 0
+ L3 26624 -0.001500 2.864118 3.797370 0 1.625146 2.719303 0
+ L3 26624 -0.001500 1.625146 2.719303 0 1.657327 4.682350 0
+ L3 26624 -0.001500 -0.579260 5.004161 0 -0.595350 3.346835 0
+ L3 26624 -0.001500 -0.595350 3.346835 0 -1.399878 4.038728 0
+ L3 26624 -0.001500 -0.772346 -3.539921 0 -0.965433 -2.719303 0
+ L3 26624 -0.001500 1.303335 -3.749098 0 1.319425 -2.799756 0
+ L3 26624 -0.001500 2.510126 -3.218110 0 1.753870 -2.590579 0
+ L3 26624 -0.001500 2.912390 -2.461854 0 2.091772 -1.287244 0
+ L3 26624 -0.001500 3.765189 -0.675803 0 2.751484 -0.949343 0
+ L3 26624 -0.001500 3.861732 0.273539 0 2.188315 0.514898 0
+ L3 26624 -0.001500 2.349220 1.190701 0 3.137657 2.317039 0
+ L3 26624 -0.001500 2.510126 2.638850 0 1.238972 1.705598 0
+ L3 26624 -0.001500 0.997614 2.236587 0 0.675803 3.218110 0
+ L3 26624 -0.001500 0.048272 3.202020 0 -0.176996 1.914776 0
+ L3 26624 -0.001500 -1.303335 2.912390 0 -0.949343 1.641236 0
+ L3 26624 -0.001500 -2.461854 -0.466626 0 -1.287244 0.112634 0
+ L3 26624 -0.001500 -1.045886 -1.592965 0 -0.530988 -0.579260 0
+ L3 26624 -0.001500 0.804528 -2.381402 0 0.225268 -1.287244 0
+ L3 26624 -0.001500 1.544693 -1.753870 0 0.868890 -1.045886 0
+ L3 26624 -0.001500 2.140043 -0.466626 0 0.852799 -0.257449 0
+ L3 26624 -0.001500 1.383787 0.852799 0 0.595350 0.370083 0
+ L3 26624 -0.001500 0.160906 1.206791 0 0.209177 0.595350 0
+ L3 26624 -0.001500 -0.241358 0.402264 0 -0.740165 1.078067 0
+ L3 26624 -0.001500 -0.981524 -0.418354 0 -0.305720 -0.032181 0
+ L3 26624 -0.001500 0.514898 -0.820618 0 0.193087 -0.176996 0
+ L3 26624 -0.001500 -2.932993 -1.040068 0 -3.723444 -1.435294 0
+ L3 26624 -0.001500 -3.661040 0.852856 0 -2.662575 0.540836 0
+ L3 26624 -0.001500 -2.891390 3.099404 0 -1.996931 2.828986 0
+ END$SEGS
+STRUCTURE 165 3 0 0 0 Fn3 2 469.750000 517.312500 0 0.000000 "LgTrees 12"" Conifer Conif-12a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -3.711008 -2.231983 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.909287 -5.539620 0
+ -0.591610 -3.657225 0
+ 0.484044 -5.700969 0
+ 2.122764 -3.566244 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 4.089859 -1.542542 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 3.818573 2.231983 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 2.016852 4.490857 0
+ 0.994980 5.593403 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -1.694156 4.356400 0
+ -4.087487 4.974902 0
+ -3.415203 3.119398 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 -0.564719 0
+ -5.378272 -2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 -3.765189 0
+ 2.436069 -5.628974 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.446417 -2.436069 0
+ 5.723579 -1.395418 0
+ 3.475559 0.112634 0
+ 5.534370 2.365115 0
+ 3.997045 2.719883 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 2.530673 5.368812 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.152255 5.321509 0
+ -2.140043 2.815846 0
+ -4.943091 3.476719 0
+ -4.375463 1.513674 0
+ -2.622760 0.418354 0
+ -4.611975 0.378418 0
+ -5.558021 -0.946046 0
+ -1.802142 -1.238972 0
+ -4.730231 -3.665929 0
+ -1.383787 -3.250291 0
+ -1.458250 -5.833000 0
+ F4 26624 0.000000 4 0
+ -2.704178 1.601705 0
+ -2.184143 0.998466 0
+ -1.268883 0.644842 0
+ -1.851322 1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 -0.852856 0
+ -1.331287 -0.956863 0
+ -0.832055 -0.499233 0
+ -1.747315 -0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 2.017732 0
+ -1.414493 2.683376 0
+ -2.100938 3.016198 0
+ -1.913726 2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 0.020801 0
+ -3.182609 0.228815 0
+ -2.204945 -0.083205 0
+ -3.203410 -0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 2.641773 0
+ -2.870588 2.142541 0
+ -2.100938 1.976130 0
+ -2.537767 2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 -2.745780 0
+ -2.184143 -2.059335 0
+ -1.414493 -1.768116 0
+ -2.163342 -2.516965 0
+ L3 26624 -0.001500 -3.330744 1.963047 0 -4.392720 1.914776 0
+ L3 26624 -0.001500 -4.617988 2.815846 0 -3.893913 2.638850 0
+ L3 26624 -0.001500 -1.480331 4.746713 0 -1.367697 3.411197 0
+ L3 26624 -0.001500 -1.367697 3.411197 0 -2.172224 4.360539 0
+ L3 26624 -0.001500 1.914776 4.794984 0 2.043500 3.668646 0
+ L3 26624 -0.001500 2.043500 3.668646 0 2.654941 4.360539 0
+ L3 26624 -0.001500 4.601898 2.477945 0 3.105476 1.786051 0
+ L3 26624 -0.001500 3.105476 1.786051 0 4.601898 1.432059 0
+ L3 26624 -0.001500 4.183543 -1.013705 0 3.057205 -1.029795 0
+ L3 26624 -0.001500 3.057205 -1.029795 0 3.990457 -2.284858 0
+ L3 26624 -0.001500 2.864118 -3.797370 0 1.625146 -2.719303 0
+ L3 26624 -0.001500 1.625146 -2.719303 0 1.657327 -4.682350 0
+ L3 26624 -0.001500 -0.579260 -5.004161 0 -0.595350 -3.346835 0
+ L3 26624 -0.001500 -0.595350 -3.346835 0 -1.399878 -4.038728 0
+ L3 26624 -0.001500 -0.772346 3.539921 0 -0.965433 2.719303 0
+ L3 26624 -0.001500 1.303335 3.749098 0 1.319425 2.799756 0
+ L3 26624 -0.001500 2.510126 3.218110 0 1.753870 2.590579 0
+ L3 26624 -0.001500 2.912390 2.461854 0 2.091772 1.287244 0
+ L3 26624 -0.001500 3.765189 0.675803 0 2.751484 0.949343 0
+ L3 26624 -0.001500 3.861732 -0.273539 0 2.188315 -0.514898 0
+ L3 26624 -0.001500 2.349220 -1.190701 0 3.137657 -2.317039 0
+ L3 26624 -0.001500 2.510126 -2.638850 0 1.238972 -1.705598 0
+ L3 26624 -0.001500 0.997614 -2.236587 0 0.675803 -3.218110 0
+ L3 26624 -0.001500 0.048272 -3.202020 0 -0.176996 -1.914776 0
+ L3 26624 -0.001500 -1.303335 -2.912390 0 -0.949343 -1.641236 0
+ L3 26624 -0.001500 -2.461854 0.466626 0 -1.287244 -0.112634 0
+ L3 26624 -0.001500 -1.045886 1.592965 0 -0.530988 0.579260 0
+ L3 26624 -0.001500 0.804528 2.381402 0 0.225268 1.287244 0
+ L3 26624 -0.001500 1.544693 1.753870 0 0.868890 1.045886 0
+ L3 26624 -0.001500 2.140043 0.466626 0 0.852799 0.257449 0
+ L3 26624 -0.001500 1.383787 -0.852799 0 0.595350 -0.370083 0
+ L3 26624 -0.001500 0.160906 -1.206791 0 0.209177 -0.595350 0
+ L3 26624 -0.001500 -0.241358 -0.402264 0 -0.740165 -1.078067 0
+ L3 26624 -0.001500 -0.981524 0.418354 0 -0.305720 0.032181 0
+ L3 26624 -0.001500 0.514898 0.820618 0 0.193087 0.176996 0
+ L3 26624 -0.001500 -2.932993 1.040068 0 -3.723444 1.435294 0
+ L3 26624 -0.001500 -3.661040 -0.852856 0 -2.662575 -0.540836 0
+ L3 26624 -0.001500 -2.891390 -3.099404 0 -1.996931 -2.828986 0
+ END$SEGS
+STRUCTURE 166 3 0 0 0 Fn3 2 484.750000 488.812500 0 0.000000 "LgTrees 12"" Conifer Conif-12a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -3.711008 -2.231983 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.909287 -5.539620 0
+ -0.591610 -3.657225 0
+ 0.484044 -5.700969 0
+ 2.122764 -3.566244 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 4.089859 -1.542542 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 3.818573 2.231983 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 2.016852 4.490857 0
+ 0.994980 5.593403 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -1.694156 4.356400 0
+ -4.087487 4.974902 0
+ -3.415203 3.119398 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 -0.564719 0
+ -5.378272 -2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 -3.765189 0
+ 2.436069 -5.628974 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.446417 -2.436069 0
+ 5.723579 -1.395418 0
+ 3.475559 0.112634 0
+ 5.534370 2.365115 0
+ 3.997045 2.719883 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 2.530673 5.368812 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.152255 5.321509 0
+ -2.140043 2.815846 0
+ -4.943091 3.476719 0
+ -4.375463 1.513674 0
+ -2.622760 0.418354 0
+ -4.611975 0.378418 0
+ -5.558021 -0.946046 0
+ -1.802142 -1.238972 0
+ -4.730231 -3.665929 0
+ -1.383787 -3.250291 0
+ -1.458250 -5.833000 0
+ F4 26624 0.000000 4 0
+ -2.704178 1.601705 0
+ -2.184143 0.998466 0
+ -1.268883 0.644842 0
+ -1.851322 1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 -0.852856 0
+ -1.331287 -0.956863 0
+ -0.832055 -0.499233 0
+ -1.747315 -0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 2.017732 0
+ -1.414493 2.683376 0
+ -2.100938 3.016198 0
+ -1.913726 2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 0.020801 0
+ -3.182609 0.228815 0
+ -2.204945 -0.083205 0
+ -3.203410 -0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 2.641773 0
+ -2.870588 2.142541 0
+ -2.100938 1.976130 0
+ -2.537767 2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 -2.745780 0
+ -2.184143 -2.059335 0
+ -1.414493 -1.768116 0
+ -2.163342 -2.516965 0
+ L3 26624 -0.001500 -3.330744 1.963047 0 -4.392720 1.914776 0
+ L3 26624 -0.001500 -4.617988 2.815846 0 -3.893913 2.638850 0
+ L3 26624 -0.001500 -1.480331 4.746713 0 -1.367697 3.411197 0
+ L3 26624 -0.001500 -1.367697 3.411197 0 -2.172224 4.360539 0
+ L3 26624 -0.001500 1.914776 4.794984 0 2.043500 3.668646 0
+ L3 26624 -0.001500 2.043500 3.668646 0 2.654941 4.360539 0
+ L3 26624 -0.001500 4.601898 2.477945 0 3.105476 1.786051 0
+ L3 26624 -0.001500 3.105476 1.786051 0 4.601898 1.432059 0
+ L3 26624 -0.001500 4.183543 -1.013705 0 3.057205 -1.029795 0
+ L3 26624 -0.001500 3.057205 -1.029795 0 3.990457 -2.284858 0
+ L3 26624 -0.001500 2.864118 -3.797370 0 1.625146 -2.719303 0
+ L3 26624 -0.001500 1.625146 -2.719303 0 1.657327 -4.682350 0
+ L3 26624 -0.001500 -0.579260 -5.004161 0 -0.595350 -3.346835 0
+ L3 26624 -0.001500 -0.595350 -3.346835 0 -1.399878 -4.038728 0
+ L3 26624 -0.001500 -0.772346 3.539921 0 -0.965433 2.719303 0
+ L3 26624 -0.001500 1.303335 3.749098 0 1.319425 2.799756 0
+ L3 26624 -0.001500 2.510126 3.218110 0 1.753870 2.590579 0
+ L3 26624 -0.001500 2.912390 2.461854 0 2.091772 1.287244 0
+ L3 26624 -0.001500 3.765189 0.675803 0 2.751484 0.949343 0
+ L3 26624 -0.001500 3.861732 -0.273539 0 2.188315 -0.514898 0
+ L3 26624 -0.001500 2.349220 -1.190701 0 3.137657 -2.317039 0
+ L3 26624 -0.001500 2.510126 -2.638850 0 1.238972 -1.705598 0
+ L3 26624 -0.001500 0.997614 -2.236587 0 0.675803 -3.218110 0
+ L3 26624 -0.001500 0.048272 -3.202020 0 -0.176996 -1.914776 0
+ L3 26624 -0.001500 -1.303335 -2.912390 0 -0.949343 -1.641236 0
+ L3 26624 -0.001500 -2.461854 0.466626 0 -1.287244 -0.112634 0
+ L3 26624 -0.001500 -1.045886 1.592965 0 -0.530988 0.579260 0
+ L3 26624 -0.001500 0.804528 2.381402 0 0.225268 1.287244 0
+ L3 26624 -0.001500 1.544693 1.753870 0 0.868890 1.045886 0
+ L3 26624 -0.001500 2.140043 0.466626 0 0.852799 0.257449 0
+ L3 26624 -0.001500 1.383787 -0.852799 0 0.595350 -0.370083 0
+ L3 26624 -0.001500 0.160906 -1.206791 0 0.209177 -0.595350 0
+ L3 26624 -0.001500 -0.241358 -0.402264 0 -0.740165 -1.078067 0
+ L3 26624 -0.001500 -0.981524 0.418354 0 -0.305720 0.032181 0
+ L3 26624 -0.001500 0.514898 0.820618 0 0.193087 0.176996 0
+ L3 26624 -0.001500 -2.932993 1.040068 0 -3.723444 1.435294 0
+ L3 26624 -0.001500 -3.661040 -0.852856 0 -2.662575 -0.540836 0
+ L3 26624 -0.001500 -2.891390 -3.099404 0 -1.996931 -2.828986 0
+ END$SEGS
+STRUCTURE 167 3 0 0 0 Fn3 2 498.250000 480.312500 0 0.000000 "LgTrees 12"" Conifer Conif-12a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -3.711008 -2.231983 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.909287 -5.539620 0
+ -0.591610 -3.657225 0
+ 0.484044 -5.700969 0
+ 2.122764 -3.566244 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 4.089859 -1.542542 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 3.818573 2.231983 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 2.016852 4.490857 0
+ 0.994980 5.593403 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -1.694156 4.356400 0
+ -4.087487 4.974902 0
+ -3.415203 3.119398 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 -0.564719 0
+ -5.378272 -2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 -3.765189 0
+ 2.436069 -5.628974 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.446417 -2.436069 0
+ 5.723579 -1.395418 0
+ 3.475559 0.112634 0
+ 5.534370 2.365115 0
+ 3.997045 2.719883 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 2.530673 5.368812 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.152255 5.321509 0
+ -2.140043 2.815846 0
+ -4.943091 3.476719 0
+ -4.375463 1.513674 0
+ -2.622760 0.418354 0
+ -4.611975 0.378418 0
+ -5.558021 -0.946046 0
+ -1.802142 -1.238972 0
+ -4.730231 -3.665929 0
+ -1.383787 -3.250291 0
+ -1.458250 -5.833000 0
+ F4 26624 0.000000 4 0
+ -2.704178 1.601705 0
+ -2.184143 0.998466 0
+ -1.268883 0.644842 0
+ -1.851322 1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 -0.852856 0
+ -1.331287 -0.956863 0
+ -0.832055 -0.499233 0
+ -1.747315 -0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 2.017732 0
+ -1.414493 2.683376 0
+ -2.100938 3.016198 0
+ -1.913726 2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 0.020801 0
+ -3.182609 0.228815 0
+ -2.204945 -0.083205 0
+ -3.203410 -0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 2.641773 0
+ -2.870588 2.142541 0
+ -2.100938 1.976130 0
+ -2.537767 2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 -2.745780 0
+ -2.184143 -2.059335 0
+ -1.414493 -1.768116 0
+ -2.163342 -2.516965 0
+ L3 26624 -0.001500 -3.330744 1.963047 0 -4.392720 1.914776 0
+ L3 26624 -0.001500 -4.617988 2.815846 0 -3.893913 2.638850 0
+ L3 26624 -0.001500 -1.480331 4.746713 0 -1.367697 3.411197 0
+ L3 26624 -0.001500 -1.367697 3.411197 0 -2.172224 4.360539 0
+ L3 26624 -0.001500 1.914776 4.794984 0 2.043500 3.668646 0
+ L3 26624 -0.001500 2.043500 3.668646 0 2.654941 4.360539 0
+ L3 26624 -0.001500 4.601898 2.477945 0 3.105476 1.786051 0
+ L3 26624 -0.001500 3.105476 1.786051 0 4.601898 1.432059 0
+ L3 26624 -0.001500 4.183543 -1.013705 0 3.057205 -1.029795 0
+ L3 26624 -0.001500 3.057205 -1.029795 0 3.990457 -2.284858 0
+ L3 26624 -0.001500 2.864118 -3.797370 0 1.625146 -2.719303 0
+ L3 26624 -0.001500 1.625146 -2.719303 0 1.657327 -4.682350 0
+ L3 26624 -0.001500 -0.579260 -5.004161 0 -0.595350 -3.346835 0
+ L3 26624 -0.001500 -0.595350 -3.346835 0 -1.399878 -4.038728 0
+ L3 26624 -0.001500 -0.772346 3.539921 0 -0.965433 2.719303 0
+ L3 26624 -0.001500 1.303335 3.749098 0 1.319425 2.799756 0
+ L3 26624 -0.001500 2.510126 3.218110 0 1.753870 2.590579 0
+ L3 26624 -0.001500 2.912390 2.461854 0 2.091772 1.287244 0
+ L3 26624 -0.001500 3.765189 0.675803 0 2.751484 0.949343 0
+ L3 26624 -0.001500 3.861732 -0.273539 0 2.188315 -0.514898 0
+ L3 26624 -0.001500 2.349220 -1.190701 0 3.137657 -2.317039 0
+ L3 26624 -0.001500 2.510126 -2.638850 0 1.238972 -1.705598 0
+ L3 26624 -0.001500 0.997614 -2.236587 0 0.675803 -3.218110 0
+ L3 26624 -0.001500 0.048272 -3.202020 0 -0.176996 -1.914776 0
+ L3 26624 -0.001500 -1.303335 -2.912390 0 -0.949343 -1.641236 0
+ L3 26624 -0.001500 -2.461854 0.466626 0 -1.287244 -0.112634 0
+ L3 26624 -0.001500 -1.045886 1.592965 0 -0.530988 0.579260 0
+ L3 26624 -0.001500 0.804528 2.381402 0 0.225268 1.287244 0
+ L3 26624 -0.001500 1.544693 1.753870 0 0.868890 1.045886 0
+ L3 26624 -0.001500 2.140043 0.466626 0 0.852799 0.257449 0
+ L3 26624 -0.001500 1.383787 -0.852799 0 0.595350 -0.370083 0
+ L3 26624 -0.001500 0.160906 -1.206791 0 0.209177 -0.595350 0
+ L3 26624 -0.001500 -0.241358 -0.402264 0 -0.740165 -1.078067 0
+ L3 26624 -0.001500 -0.981524 0.418354 0 -0.305720 0.032181 0
+ L3 26624 -0.001500 0.514898 0.820618 0 0.193087 0.176996 0
+ L3 26624 -0.001500 -2.932993 1.040068 0 -3.723444 1.435294 0
+ L3 26624 -0.001500 -3.661040 -0.852856 0 -2.662575 -0.540836 0
+ L3 26624 -0.001500 -2.891390 -3.099404 0 -1.996931 -2.828986 0
+ END$SEGS
+STRUCTURE 168 3 0 0 0 Fn3 2 520.750000 490.708333 0 0.000000 "LgTrees 15"" Conifer Conif-15b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 6.773510 -1.828125 0.098818 0
+ F4 26624 0.000000 28 0
+ -4.638760 2.789979 0
+ -5.229429 5.269656 0
+ -3.037092 4.304222 0
+ -2.386608 6.924525 0
+ -0.739512 4.571531 0
+ 0.605056 7.126211 0
+ 2.653455 4.457804 0
+ 4.807052 6.033957 0
+ 3.962298 3.801393 0
+ 5.112323 1.928177 0
+ 7.059729 0.522943 0
+ 5.651806 -0.784414 0
+ 6.979277 -2.675054 0
+ 4.773217 -2.789979 0
+ 4.344449 -3.761166 0
+ 4.284109 -5.933391 0
+ 2.521065 -5.613572 0
+ 1.243725 -6.991754 0
+ -0.522943 -5.712146 0
+ -0.965433 -7.099956 0
+ -2.117695 -5.445501 0
+ -5.109359 -6.218627 0
+ -4.269004 -3.899247 0
+ -6.818371 -2.071658 0
+ -5.531127 -0.744188 0
+ -7.220635 0.000000 0
+ -4.907673 0.705898 0
+ -6.722840 2.722750 0
+ F4 11206591 0.000000 26 0
+ 1.005659 4.706486 0
+ 3.045086 7.036218 0
+ 3.761166 5.289769 0
+ 3.157771 2.936526 0
+ 5.558021 3.045086 0
+ 7.154474 1.744273 0
+ 4.344449 -0.140792 0
+ 6.917962 -2.956394 0
+ 4.996306 -3.399853 0
+ 3.560034 -3.077318 0
+ 3.479582 -4.927731 0
+ 3.163342 -6.711015 0
+ 0.945320 -4.344449 0
+ -0.784414 -4.585807 0
+ -1.186678 -5.511014 0
+ -2.690319 -6.651887 0
+ -2.675054 -3.519808 0
+ -6.178864 -4.345899 0
+ -5.469329 -1.892092 0
+ -3.278450 -0.522943 0
+ -5.764969 -0.473023 0
+ -6.947526 1.182558 0
+ -2.252677 1.548716 0
+ -5.912788 4.582411 0
+ -1.729734 4.062864 0
+ -1.822813 7.291250 0
+ F4 26624 0.000000 4 0
+ -3.380222 -2.002131 0
+ -2.730179 -1.248082 0
+ -1.586104 -0.806053 0
+ -2.314152 -1.742114 0
+ F4 26624 0.000000 4 0
+ -3.068201 1.066070 0
+ -1.664109 1.196079 0
+ -1.040068 0.624041 0
+ -2.184143 0.650043 0
+ F4 26624 0.000000 4 0
+ -1.534101 -2.522166 0
+ -1.768116 -3.354220 0
+ -2.626172 -3.770248 0
+ -2.392157 -3.094203 0
+ F4 26624 0.000000 4 0
+ -5.096335 -0.026002 0
+ -3.978261 -0.286019 0
+ -2.756181 0.104007 0
+ -4.004263 0.312020 0
+ F4 26624 0.000000 4 0
+ -4.212277 -3.302217 0
+ -3.588236 -2.678176 0
+ -2.626172 -2.470162 0
+ -3.172208 -3.094203 0
+ F4 26624 0.000000 4 0
+ -3.562234 3.432225 0
+ -2.730179 2.574169 0
+ -1.768116 2.210145 0
+ -2.704178 3.146207 0
+ L3 26624 -0.001500 -4.163430 -2.453809 0 -5.490901 -2.393469 0
+ L3 26624 -0.001500 -5.772485 -3.519808 0 -4.867392 -3.298563 0
+ L3 26624 -0.001500 -1.850413 -5.933391 0 -1.709621 -4.263996 0
+ L3 26624 -0.001500 -1.709621 -4.263996 0 -2.715281 -5.450674 0
+ L3 26624 -0.001500 2.393469 -5.993730 0 2.554375 -4.585807 0
+ L3 26624 -0.001500 2.554375 -4.585807 0 3.318676 -5.450674 0
+ L3 26624 -0.001500 5.752372 -3.097431 0 3.881845 -2.232564 0
+ L3 26624 -0.001500 3.881845 -2.232564 0 5.752372 -1.790074 0
+ L3 26624 -0.001500 5.229429 1.267131 0 3.821506 1.287244 0
+ L3 26624 -0.001500 3.821506 1.287244 0 4.988071 2.856073 0
+ L3 26624 -0.001500 3.580148 4.746713 0 2.031432 3.399129 0
+ L3 26624 -0.001500 2.031432 3.399129 0 2.071658 5.852938 0
+ L3 26624 -0.001500 -0.724075 6.255202 0 -0.744188 4.183543 0
+ L3 26624 -0.001500 -0.744188 4.183543 0 -1.749847 5.048410 0
+ L3 26624 -0.001500 -0.965433 -4.424902 0 -1.206791 -3.399129 0
+ L3 26624 -0.001500 1.629168 -4.686373 0 1.649282 -3.499695 0
+ L3 26624 -0.001500 3.137657 -4.022638 0 2.192338 -3.238223 0
+ L3 26624 -0.001500 3.640487 -3.077318 0 2.614715 -1.609055 0
+ L3 26624 -0.001500 4.706486 -0.844754 0 3.439355 -1.186678 0
+ L3 26624 -0.001500 4.827165 0.341924 0 2.735394 0.643622 0
+ L3 26624 -0.001500 2.936526 1.488376 0 3.922072 2.896299 0
+ L3 26624 -0.001500 3.137657 3.298563 0 1.548716 2.131998 0
+ L3 26624 -0.001500 1.247018 2.795733 0 0.844754 4.022638 0
+ L3 26624 -0.001500 0.060340 4.002525 0 -0.221245 2.393469 0
+ L3 26624 -0.001500 -1.629168 3.640487 0 -1.186678 2.051545 0
+ L3 26624 -0.001500 -3.077318 -0.583282 0 -1.609055 0.140792 0
+ L3 26624 -0.001500 -1.307357 -1.991206 0 -0.663735 -0.724075 0
+ L3 26624 -0.001500 1.005659 -2.976752 0 0.281585 -1.609055 0
+ L3 26624 -0.001500 1.930866 -2.192338 0 1.086112 -1.307357 0
+ L3 26624 -0.001500 2.675054 -0.583282 0 1.065999 -0.321811 0
+ L3 26624 -0.001500 1.729734 1.065999 0 0.744188 0.462603 0
+ L3 26624 -0.001500 0.201132 1.508489 0 0.261471 0.744188 0
+ L3 26624 -0.001500 -0.301698 0.502830 0 -0.925207 1.347584 0
+ L3 26624 -0.001500 -1.226905 -0.522943 0 -0.382151 -0.040226 0
+ L3 26624 -0.001500 0.643622 -1.025773 0 0.241358 -0.221245 0
+ L3 26624 -0.001500 -3.666241 -1.300085 0 -4.654306 -1.794118 0
+ L3 26624 -0.001500 -4.576300 1.066070 0 -3.328219 0.676044 0
+ L3 26624 -0.001500 -3.614237 3.874254 0 -2.496164 3.536232 0
+ END$SEGS
+STRUCTURE 169 3 0 0 0 Fn3 2 486.250000 521.208333 0 0.000000 "LgTrees 15"" Conifer Conif-15a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 6.773510 -1.828125 -0.098818 0
+ F4 26624 0.000000 28 0
+ -4.638760 -2.789979 0
+ -5.229429 -5.269656 0
+ -3.037092 -4.304222 0
+ -2.386608 -6.924525 0
+ -0.739512 -4.571531 0
+ 0.605056 -7.126211 0
+ 2.653455 -4.457804 0
+ 4.807052 -6.033957 0
+ 3.962298 -3.801393 0
+ 5.112323 -1.928177 0
+ 7.059729 -0.522943 0
+ 5.651806 0.784414 0
+ 6.979277 2.675054 0
+ 4.773217 2.789979 0
+ 4.344449 3.761166 0
+ 4.284109 5.933391 0
+ 2.521065 5.613572 0
+ 1.243725 6.991754 0
+ -0.522943 5.712146 0
+ -0.965433 7.099956 0
+ -2.117695 5.445501 0
+ -5.109359 6.218627 0
+ -4.269004 3.899247 0
+ -6.818371 2.071658 0
+ -5.531127 0.744188 0
+ -7.220635 0.000000 0
+ -4.907673 -0.705898 0
+ -6.722840 -2.722750 0
+ F4 11206612 0.000000 26 0
+ 1.005659 -4.706486 0
+ 3.045086 -7.036218 0
+ 3.761166 -5.289769 0
+ 3.157771 -2.936526 0
+ 5.558021 -3.045086 0
+ 7.154474 -1.744273 0
+ 4.344449 0.140792 0
+ 6.917962 2.956394 0
+ 4.996306 3.399853 0
+ 3.560034 3.077318 0
+ 3.479582 4.927731 0
+ 3.163342 6.711015 0
+ 0.945320 4.344449 0
+ -0.784414 4.585807 0
+ -1.186678 5.511014 0
+ -2.690319 6.651887 0
+ -2.675054 3.519808 0
+ -6.178864 4.345899 0
+ -5.469329 1.892092 0
+ -3.278450 0.522943 0
+ -5.764969 0.473023 0
+ -6.947526 -1.182558 0
+ -2.252677 -1.548716 0
+ -5.912788 -4.582411 0
+ -1.729734 -4.062864 0
+ -1.822813 -7.291250 0
+ F4 26624 0.000000 4 0
+ -3.380222 2.002131 0
+ -2.730179 1.248082 0
+ -1.586104 0.806053 0
+ -2.314152 1.742114 0
+ F4 26624 0.000000 4 0
+ -3.068201 -1.066070 0
+ -1.664109 -1.196079 0
+ -1.040068 -0.624041 0
+ -2.184143 -0.650043 0
+ F4 26624 0.000000 4 0
+ -1.534101 2.522166 0
+ -1.768116 3.354220 0
+ -2.626172 3.770248 0
+ -2.392157 3.094203 0
+ F4 26624 0.000000 4 0
+ -5.096335 0.026002 0
+ -3.978261 0.286019 0
+ -2.756181 -0.104007 0
+ -4.004263 -0.312020 0
+ F4 26624 0.000000 4 0
+ -4.212277 3.302217 0
+ -3.588236 2.678176 0
+ -2.626172 2.470162 0
+ -3.172208 3.094203 0
+ F4 26624 0.000000 4 0
+ -3.562234 -3.432225 0
+ -2.730179 -2.574169 0
+ -1.768116 -2.210145 0
+ -2.704178 -3.146207 0
+ L3 26624 -0.001500 -4.163430 2.453809 0 -5.490901 2.393469 0
+ L3 26624 -0.001500 -5.772485 3.519808 0 -4.867392 3.298563 0
+ L3 26624 -0.001500 -1.850413 5.933391 0 -1.709621 4.263996 0
+ L3 26624 -0.001500 -1.709621 4.263996 0 -2.715281 5.450674 0
+ L3 26624 -0.001500 2.393469 5.993730 0 2.554375 4.585807 0
+ L3 26624 -0.001500 2.554375 4.585807 0 3.318676 5.450674 0
+ L3 26624 -0.001500 5.752372 3.097431 0 3.881845 2.232564 0
+ L3 26624 -0.001500 3.881845 2.232564 0 5.752372 1.790074 0
+ L3 26624 -0.001500 5.229429 -1.267131 0 3.821506 -1.287244 0
+ L3 26624 -0.001500 3.821506 -1.287244 0 4.988071 -2.856073 0
+ L3 26624 -0.001500 3.580148 -4.746713 0 2.031432 -3.399129 0
+ L3 26624 -0.001500 2.031432 -3.399129 0 2.071658 -5.852938 0
+ L3 26624 -0.001500 -0.724075 -6.255202 0 -0.744188 -4.183543 0
+ L3 26624 -0.001500 -0.744188 -4.183543 0 -1.749847 -5.048410 0
+ L3 26624 -0.001500 -0.965433 4.424902 0 -1.206791 3.399129 0
+ L3 26624 -0.001500 1.629168 4.686373 0 1.649282 3.499695 0
+ L3 26624 -0.001500 3.137657 4.022638 0 2.192338 3.238223 0
+ L3 26624 -0.001500 3.640487 3.077318 0 2.614715 1.609055 0
+ L3 26624 -0.001500 4.706486 0.844754 0 3.439355 1.186678 0
+ L3 26624 -0.001500 4.827165 -0.341924 0 2.735394 -0.643622 0
+ L3 26624 -0.001500 2.936526 -1.488376 0 3.922072 -2.896299 0
+ L3 26624 -0.001500 3.137657 -3.298563 0 1.548716 -2.131998 0
+ L3 26624 -0.001500 1.247018 -2.795733 0 0.844754 -4.022638 0
+ L3 26624 -0.001500 0.060340 -4.002525 0 -0.221245 -2.393469 0
+ L3 26624 -0.001500 -1.629168 -3.640487 0 -1.186678 -2.051545 0
+ L3 26624 -0.001500 -3.077318 0.583282 0 -1.609055 -0.140792 0
+ L3 26624 -0.001500 -1.307357 1.991206 0 -0.663735 0.724075 0
+ L3 26624 -0.001500 1.005659 2.976752 0 0.281585 1.609055 0
+ L3 26624 -0.001500 1.930866 2.192338 0 1.086112 1.307357 0
+ L3 26624 -0.001500 2.675054 0.583282 0 1.065999 0.321811 0
+ L3 26624 -0.001500 1.729734 -1.065999 0 0.744188 -0.462603 0
+ L3 26624 -0.001500 0.201132 -1.508489 0 0.261471 -0.744188 0
+ L3 26624 -0.001500 -0.301698 -0.502830 0 -0.925207 -1.347584 0
+ L3 26624 -0.001500 -1.226905 0.522943 0 -0.382151 0.040226 0
+ L3 26624 -0.001500 0.643622 1.025773 0 0.241358 0.221245 0
+ L3 26624 -0.001500 -3.666241 1.300085 0 -4.654306 1.794118 0
+ L3 26624 -0.001500 -4.576300 -1.066070 0 -3.328219 -0.676044 0
+ L3 26624 -0.001500 -3.614237 -3.874254 0 -2.496164 -3.536232 0
+ END$SEGS
+STRUCTURE 170 3 0 0 0 Fn3 2 586.750000 521.208333 0 0.000000 "LgTrees 15"" Shade Shade-15b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 6.773510 -1.828125 -0.098818 0
+ F4 26624 0.000000 28 0
+ -6.275315 -3.379016 0
+ -5.229429 -5.269656 0
+ -3.037092 -4.304222 0
+ -2.393469 -6.737918 0
+ -0.945320 -7.361427 0
+ 0.683848 -5.350108 0
+ 2.554375 -7.099956 0
+ 4.807052 -6.033957 0
+ 3.962298 -3.801393 0
+ 6.657466 -3.057205 0
+ 7.059729 -0.522943 0
+ 5.651806 0.784414 0
+ 6.979277 2.675054 0
+ 5.973617 4.364562 0
+ 4.344449 3.761166 0
+ 4.284109 5.933391 0
+ 2.152111 7.059729 0
+ 1.267131 5.692032 0
+ -0.522943 5.712146 0
+ -0.965433 7.099956 0
+ -3.720940 6.214975 0
+ -3.379016 4.585807 0
+ -5.651806 4.424902 0
+ -6.818371 2.071658 0
+ -5.531127 0.744188 0
+ -7.220635 0.000000 0
+ -6.778145 -1.689508 0
+ -4.988071 -2.333130 0
+ F4 65280 0.000000 26 0
+ 1.005659 -4.706486 0
+ 2.413583 -6.114409 0
+ 3.761166 -5.289769 0
+ 3.157771 -2.936526 0
+ 5.852938 -2.192338 0
+ 6.033957 -1.025773 0
+ 4.344449 0.140792 0
+ 5.812712 2.353243 0
+ 5.169090 3.117544 0
+ 3.560034 3.077318 0
+ 3.479582 4.927731 0
+ 2.091772 5.692032 0
+ 0.945320 4.344449 0
+ -0.784414 4.585807 0
+ -1.186678 5.511014 0
+ -2.654941 5.128863 0
+ -2.675054 3.519808 0
+ -3.901959 3.479582 0
+ -4.706486 1.870527 0
+ -3.278450 0.522943 0
+ -4.626033 -0.181019 0
+ -4.404788 -1.146452 0
+ -2.252677 -1.548716 0
+ -3.077318 -3.016978 0
+ -1.729734 -4.062864 0
+ -1.186678 -5.249542 0
+ L3 65280 -0.001500 -1.275969 -6.197563 0 -0.546844 -5.650719 0
+ L3 65280 -0.001500 -1.822813 -5.833000 0 -2.005094 -4.921594 0
+ L3 65280 -0.001500 -4.192469 -3.827906 0 -2.916500 -3.827906 0
+ L3 65280 -0.001500 -5.103875 -3.463344 0 -4.557031 -2.916500 0
+ L3 65280 -0.001500 -3.827906 -3.098781 0 -3.098781 -2.551938 0
+ L3 65280 -0.001500 -3.463344 -2.005094 0 -4.557031 -1.822813 0
+ L3 65280 -0.001500 -6.197563 -1.458250 0 -4.921594 -1.458250 0
+ L3 65280 -0.001500 -6.197563 -0.364563 0 -5.103875 -0.911406 0
+ L3 65280 -0.001500 -4.192469 0.546844 0 -5.103875 0.364563 0
+ L3 65280 -0.001500 -4.921594 1.275969 0 -6.197563 2.005094 0
+ L3 65280 -0.001500 -5.650719 2.734219 0 -4.739313 2.916500 0
+ L3 65280 -0.001500 -4.374750 4.192469 0 -4.010188 3.645625 0
+ L3 65280 -0.001500 -2.734219 5.468438 0 -3.098781 6.015281 0
+ L3 65280 -0.001500 -1.640531 5.833000 0 -1.275969 6.379844 0
+ L3 65280 -0.001500 -0.182281 4.921594 0 0.000000 5.468438 0
+ L3 65280 -0.001500 0.911406 4.921594 0 0.364563 5.286156 0
+ L3 65280 -0.001500 2.369656 5.833000 0 2.187375 6.562125 0
+ L3 65280 -0.001500 3.463344 5.468438 0 4.010188 5.650719 0
+ L3 65280 -0.001500 6.379844 2.551938 0 5.833000 2.734219 0
+ L3 65280 -0.001500 5.468438 3.463344 0 5.833000 4.010188 0
+ L3 65280 -0.001500 6.379844 -0.546844 0 5.650719 -0.364563 0
+ L3 65280 -0.001500 -5.103875 -4.557031 0 -4.739313 -3.827906 0
+ L3 65280 -0.001500 -5.833000 -3.463344 0 -5.286156 -3.827906 0
+ F4 26624 0.000000 4 0
+ 2.808184 -2.886190 0
+ 1.664109 -2.548167 0
+ 1.534101 -1.690111 0
+ 2.288150 -2.002131 0
+ F4 26624 0.000000 5 0
+ -1.092072 -3.458227 0
+ -0.988065 -2.860188 0
+ 0.130009 -2.366155 0
+ 0.442029 -3.094203 0
+ -0.130009 -3.640239 0
+ F4 26624 0.000000 4 0
+ 3.562234 0.130009 0
+ 2.210145 0.442029 0
+ 1.924126 -0.234015 0
+ 3.770248 -0.338022 0
+ F4 26624 0.000000 4 0
+ 0.858056 3.458227 0
+ 0.182012 2.938193 0
+ 0.364024 1.846121 0
+ 0.780051 2.002131 0
+ F4 26624 0.000000 3 0
+ 3.172208 2.600171 0
+ 2.808184 1.794118 0
+ 2.236147 2.288150 0
+ F4 26624 0.000000 5 0
+ -2.730179 0.312020 0
+ -2.366155 0.052003 0
+ -1.118073 -0.260017 0
+ -0.442029 0.442029 0
+ -2.002131 0.676044 0
+ F4 26624 0.000000 4 0
+ -2.392157 3.016198 0
+ -1.664109 2.834186 0
+ -1.144075 1.612106 0
+ -1.950128 1.820120 0
+ L3 26624 -0.001500 0.364563 -4.010188 0 0.729125 -3.463344 0
+ L3 26624 -0.001500 2.551938 -3.463344 0 1.640531 -3.098781 0
+ L3 26624 -0.001500 2.916500 -4.374750 0 2.369656 -4.010188 0
+ L3 26624 -0.001500 1.640531 -4.739313 0 1.275969 -4.010188 0
+ L3 26624 -0.001500 -0.729125 -4.557031 0 -0.364562 -4.010188 0
+ L3 26624 -0.001500 -2.187375 -2.916500 0 -1.458250 -2.916500 0
+ L3 26624 -0.001500 -1.640531 -2.005094 0 -0.729125 -2.369656 0
+ L3 26624 -0.001500 -2.187375 -1.093688 0 -1.458250 -0.546844 0
+ L3 26624 -0.001500 -3.281063 -0.911406 0 -2.551938 -0.546844 0
+ L3 26624 -0.001500 -4.192469 -0.364563 0 -3.281063 0.000000 0
+ L3 26624 -0.001500 -2.916500 0.911406 0 -3.645625 1.640531 0
+ L3 26624 -0.001500 -3.281063 2.551938 0 -2.734219 1.822813 0
+ L3 26624 -0.001500 -2.005094 4.010188 0 -1.458250 3.281063 0
+ L3 26624 -0.001500 -0.729125 3.281063 0 -0.911406 4.374750 0
+ L3 26624 -0.001500 -0.546844 2.005094 0 -0.364562 2.734219 0
+ L3 26624 -0.001500 1.275969 3.281063 0 1.640531 4.374750 0
+ L3 26624 -0.001500 2.187375 3.098781 0 3.281063 3.645625 0
+ L3 26624 -0.001500 4.921594 1.275969 0 4.010188 1.458250 0
+ L3 26624 -0.001500 4.921594 2.916500 0 4.010188 2.551938 0
+ L3 26624 -0.001500 5.286156 2.187375 0 4.374750 2.005094 0
+ L3 26624 -0.001500 2.187375 5.286156 0 2.005094 4.557031 0
+ L3 26624 -0.001500 3.281062 4.739313 0 2.734219 4.192469 0
+ L3 26624 -0.001500 2.551938 4.921594 0 2.187375 3.827906 0
+ L3 26624 -0.001500 5.468438 -0.911406 0 4.374750 -1.093688 0
+ L3 26624 -0.001500 4.557031 -2.369656 0 3.645625 -1.822813 0
+ L3 26624 -0.001500 5.468438 -1.822813 0 4.557031 -1.640531 0
+ L3 26624 -0.001500 -1.822813 5.103875 0 -1.640531 4.374750 0
+ L3 26624 -0.001500 -4.010188 2.551938 0 -3.463344 2.187375 0
+ L3 26624 -0.001500 2.551938 -5.833000 0 2.187375 -4.921594 0
+ L3 26624 -0.001500 3.281062 -5.286156 0 2.734219 -4.739313 0
+ END$SEGS
+STRUCTURE 171 3 0 0 0 Fn3 2 543.000000 464.458333 0 0.000000 "LgTrees 15"" Shade Shade-15a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 6.773510 -1.828125 0.098818 0
+ F4 26624 0.000000 28 0
+ -6.275315 3.379016 0
+ -5.229429 5.269656 0
+ -3.037092 4.304222 0
+ -2.393469 6.737918 0
+ -0.945320 7.361427 0
+ 0.683848 5.350108 0
+ 2.554375 7.099956 0
+ 4.807052 6.033957 0
+ 3.962298 3.801393 0
+ 6.657466 3.057205 0
+ 7.059729 0.522943 0
+ 5.651806 -0.784414 0
+ 6.979277 -2.675054 0
+ 5.973617 -4.364562 0
+ 4.344449 -3.761166 0
+ 4.284109 -5.933391 0
+ 2.152111 -7.059729 0
+ 1.267131 -5.692032 0
+ -0.522943 -5.712146 0
+ -0.965433 -7.099956 0
+ -3.720940 -6.214975 0
+ -3.379016 -4.585807 0
+ -5.651806 -4.424902 0
+ -6.818371 -2.071658 0
+ -5.531127 -0.744188 0
+ -7.220635 0.000000 0
+ -6.778145 1.689508 0
+ -4.988071 2.333130 0
+ F4 65280 0.000000 26 0
+ 1.005659 4.706486 0
+ 2.413583 6.114409 0
+ 3.761166 5.289769 0
+ 3.157771 2.936526 0
+ 5.852938 2.192338 0
+ 6.033957 1.025773 0
+ 4.344449 -0.140792 0
+ 5.812712 -2.353243 0
+ 5.169090 -3.117544 0
+ 3.560034 -3.077318 0
+ 3.479582 -4.927731 0
+ 2.091772 -5.692032 0
+ 0.945320 -4.344449 0
+ -0.784414 -4.585807 0
+ -1.186678 -5.511014 0
+ -2.654941 -5.128863 0
+ -2.675054 -3.519808 0
+ -3.901959 -3.479582 0
+ -4.706486 -1.870527 0
+ -3.278450 -0.522943 0
+ -4.626033 0.181019 0
+ -4.404788 1.146452 0
+ -2.252677 1.548716 0
+ -3.077318 3.016978 0
+ -1.729734 4.062864 0
+ -1.186678 5.249542 0
+ L3 65280 -0.001500 -1.275969 6.197563 0 -0.546844 5.650719 0
+ L3 65280 -0.001500 -1.822813 5.833000 0 -2.005094 4.921594 0
+ L3 65280 -0.001500 -4.192469 3.827906 0 -2.916500 3.827906 0
+ L3 65280 -0.001500 -5.103875 3.463344 0 -4.557031 2.916500 0
+ L3 65280 -0.001500 -3.827906 3.098781 0 -3.098781 2.551938 0
+ L3 65280 -0.001500 -3.463344 2.005094 0 -4.557031 1.822813 0
+ L3 65280 -0.001500 -6.197563 1.458250 0 -4.921594 1.458250 0
+ L3 65280 -0.001500 -6.197563 0.364563 0 -5.103875 0.911406 0
+ L3 65280 -0.001500 -4.192469 -0.546844 0 -5.103875 -0.364563 0
+ L3 65280 -0.001500 -4.921594 -1.275969 0 -6.197563 -2.005094 0
+ L3 65280 -0.001500 -5.650719 -2.734219 0 -4.739313 -2.916500 0
+ L3 65280 -0.001500 -4.374750 -4.192469 0 -4.010188 -3.645625 0
+ L3 65280 -0.001500 -2.734219 -5.468438 0 -3.098781 -6.015281 0
+ L3 65280 -0.001500 -1.640531 -5.833000 0 -1.275969 -6.379844 0
+ L3 65280 -0.001500 -0.182281 -4.921594 0 0.000000 -5.468438 0
+ L3 65280 -0.001500 0.911406 -4.921594 0 0.364563 -5.286156 0
+ L3 65280 -0.001500 2.369656 -5.833000 0 2.187375 -6.562125 0
+ L3 65280 -0.001500 3.463344 -5.468438 0 4.010188 -5.650719 0
+ L3 65280 -0.001500 6.379844 -2.551938 0 5.833000 -2.734219 0
+ L3 65280 -0.001500 5.468438 -3.463344 0 5.833000 -4.010188 0
+ L3 65280 -0.001500 6.379844 0.546844 0 5.650719 0.364563 0
+ L3 65280 -0.001500 -5.103875 4.557031 0 -4.739313 3.827906 0
+ L3 65280 -0.001500 -5.833000 3.463344 0 -5.286156 3.827906 0
+ F4 26624 0.000000 4 0
+ 2.808184 2.886190 0
+ 1.664109 2.548167 0
+ 1.534101 1.690111 0
+ 2.288150 2.002131 0
+ F4 26624 0.000000 5 0
+ -1.092072 3.458227 0
+ -0.988065 2.860188 0
+ 0.130009 2.366155 0
+ 0.442029 3.094203 0
+ -0.130009 3.640239 0
+ F4 26624 0.000000 4 0
+ 3.562234 -0.130009 0
+ 2.210145 -0.442029 0
+ 1.924126 0.234015 0
+ 3.770248 0.338022 0
+ F4 26624 0.000000 4 0
+ 0.858056 -3.458227 0
+ 0.182012 -2.938193 0
+ 0.364024 -1.846121 0
+ 0.780051 -2.002131 0
+ F4 26624 0.000000 3 0
+ 3.172208 -2.600171 0
+ 2.808184 -1.794118 0
+ 2.236147 -2.288150 0
+ F4 26624 0.000000 5 0
+ -2.730179 -0.312020 0
+ -2.366155 -0.052003 0
+ -1.118073 0.260017 0
+ -0.442029 -0.442029 0
+ -2.002131 -0.676044 0
+ F4 26624 0.000000 4 0
+ -2.392157 -3.016198 0
+ -1.664109 -2.834186 0
+ -1.144075 -1.612106 0
+ -1.950128 -1.820120 0
+ L3 26624 -0.001500 0.364563 4.010188 0 0.729125 3.463344 0
+ L3 26624 -0.001500 2.551938 3.463344 0 1.640531 3.098781 0
+ L3 26624 -0.001500 2.916500 4.374750 0 2.369656 4.010188 0
+ L3 26624 -0.001500 1.640531 4.739313 0 1.275969 4.010188 0
+ L3 26624 -0.001500 -0.729125 4.557031 0 -0.364562 4.010188 0
+ L3 26624 -0.001500 -2.187375 2.916500 0 -1.458250 2.916500 0
+ L3 26624 -0.001500 -1.640531 2.005094 0 -0.729125 2.369656 0
+ L3 26624 -0.001500 -2.187375 1.093688 0 -1.458250 0.546844 0
+ L3 26624 -0.001500 -3.281063 0.911406 0 -2.551938 0.546844 0
+ L3 26624 -0.001500 -4.192469 0.364563 0 -3.281063 0.000000 0
+ L3 26624 -0.001500 -2.916500 -0.911406 0 -3.645625 -1.640531 0
+ L3 26624 -0.001500 -3.281063 -2.551938 0 -2.734219 -1.822813 0
+ L3 26624 -0.001500 -2.005094 -4.010188 0 -1.458250 -3.281063 0
+ L3 26624 -0.001500 -0.729125 -3.281063 0 -0.911406 -4.374750 0
+ L3 26624 -0.001500 -0.546844 -2.005094 0 -0.364562 -2.734219 0
+ L3 26624 -0.001500 1.275969 -3.281063 0 1.640531 -4.374750 0
+ L3 26624 -0.001500 2.187375 -3.098781 0 3.281063 -3.645625 0
+ L3 26624 -0.001500 4.921594 -1.275969 0 4.010188 -1.458250 0
+ L3 26624 -0.001500 4.921594 -2.916500 0 4.010188 -2.551938 0
+ L3 26624 -0.001500 5.286156 -2.187375 0 4.374750 -2.005094 0
+ L3 26624 -0.001500 2.187375 -5.286156 0 2.005094 -4.557031 0
+ L3 26624 -0.001500 3.281063 -4.739313 0 2.734219 -4.192469 0
+ L3 26624 -0.001500 2.551938 -4.921594 0 2.187375 -3.827906 0
+ L3 26624 -0.001500 5.468438 0.911406 0 4.374750 1.093688 0
+ L3 26624 -0.001500 4.557031 2.369656 0 3.645625 1.822813 0
+ L3 26624 -0.001500 5.468438 1.822813 0 4.557031 1.640531 0
+ L3 26624 -0.001500 -1.822813 -5.103875 0 -1.640531 -4.374750 0
+ L3 26624 -0.001500 -4.010188 -2.551938 0 -3.463344 -2.187375 0
+ L3 26624 -0.001500 2.551938 5.833000 0 2.187375 4.921594 0
+ L3 26624 -0.001500 3.281063 5.286156 0 2.734219 4.739313 0
+ END$SEGS
+DRAW 172 5 0 0 0 0.000000 0.000000 0 0.000000
+ F4 32960 0.000000 22 0
+ 580.772727 388.517045 0
+ 595.772727 383.017045 0
+ 589.347727 375.704545 0
+ 581.097727 371.829545 0
+ 538.750000 350.500000 0
+ 538.625000 346.250000 0
+ 533.125000 341.500000 0
+ 525.625000 339.125000 0
+ 519.000000 339.000000 0
+ 511.875000 332.250000 0
+ 502.250000 326.750000 0
+ 494.250000 325.500000 0
+ 484.000000 326.000000 0
+ 486.500000 335.250000 0
+ 495.750000 334.500000 0
+ 504.000000 336.000000 0
+ 513.000000 345.000000 0
+ 513.000000 351.000000 0
+ 516.875000 354.875000 0
+ 522.125000 358.000000 0
+ 528.875000 358.500000 0
+ 572.522727 380.517045 0
+ END$SEGS
+DRAW 173 7 0 0 0 600.887500 396.706250 0 0.000000
+ Z 0 0.000000 0.000000 0.000000 1 350.000000 "Bridge 45-B"
+ END$SEGS
+DRAW 174 4 0 0 0 0.000000 0.000000 0 0.000000
+ F4 12632256 0.000000 31 0
+ 205.875000 546.312500 0
+ 210.375000 542.562500 0
+ 216.625000 541.812500 0
+ 221.125000 538.562500 0
+ 224.875000 538.812500 0
+ 229.625000 536.812500 0
+ 234.625000 535.812500 0
+ 241.125000 536.062500 0
+ 245.625000 535.062500 0
+ 250.625000 533.562500 0
+ 254.125000 534.812500 0
+ 258.375000 534.312500 0
+ 263.375000 532.812500 0
+ 267.125000 533.062500 0
+ 272.125000 534.312500 0
+ 275.375000 535.812500 0
+ 278.875000 536.562500 0
+ 277.625000 529.062500 0
+ 272.125000 528.062500 0
+ 264.375000 528.062500 0
+ 260.125000 525.312500 0
+ 255.375000 526.062500 0
+ 249.375000 529.562500 0
+ 245.875000 528.062500 0
+ 233.375000 529.812500 0
+ 230.125000 531.312500 0
+ 224.625000 531.312500 0
+ 218.625000 532.812500 0
+ 214.375000 536.062500 0
+ 209.125000 538.062500 0
+ 204.875000 541.062500 0
+ END$SEGS
+DRAW 175 3 0 0 0 0.000000 0.000000 0 0.000000
+ L3 11626275 0.060606 206.382452 545.889624 0 206.382452 545.889624 0
+ END$SEGS
+DRAW 176 4 0 0 0 0.000000 0.000000 0 0.000000
+ F4 8421504 0.000000 47 0
+ 206.135417 545.916667 0
+ 205.385417 543.541667 0
+ 208.510417 542.916667 0
+ 210.760417 541.166667 0
+ 213.385417 541.416667 0
+ 216.260417 539.916667 0
+ 218.010417 538.166667 0
+ 219.635417 538.666667 0
+ 222.260417 536.291667 0
+ 223.510417 537.416667 0
+ 225.385417 536.666667 0
+ 228.010417 534.916667 0
+ 229.010417 535.541667 0
+ 231.760417 535.041667 0
+ 234.510417 535.541667 0
+ 236.135417 534.166667 0
+ 238.010417 535.041667 0
+ 240.260417 533.791667 0
+ 243.260417 533.916667 0
+ 245.635417 532.541667 0
+ 247.760417 532.916667 0
+ 250.760417 532.541667 0
+ 253.385417 533.166667 0
+ 255.510417 532.166667 0
+ 257.760417 532.916667 0
+ 260.510417 531.916667 0
+ 262.760417 531.666667 0
+ 265.885417 532.541667 0
+ 267.260417 531.166667 0
+ 269.885417 532.041667 0
+ 271.010417 533.416667 0
+ 273.760417 532.666667 0
+ 276.010417 533.791667 0
+ 277.635417 535.666667 0
+ 275.385417 535.166667 0
+ 265.760417 532.166667 0
+ 260.135417 534.166667 0
+ 254.135417 534.916667 0
+ 250.260417 534.291667 0
+ 243.760417 535.916667 0
+ 236.510417 535.291667 0
+ 230.260417 536.666667 0
+ 224.885417 538.666667 0
+ 219.510417 539.541667 0
+ 215.760417 542.166667 0
+ 212.260417 542.791667 0
+ 208.260417 544.916667 0
+ END$SEGS
+DRAW 177 4 0 0 0 0.000000 0.000000 0 0.000000
+ F4 8421504 0.000000 25 0
+ 301.302083 532.083333 0
+ 304.552083 529.583333 0
+ 309.052083 528.583333 0
+ 313.052083 529.583333 0
+ 315.552083 527.083333 0
+ 318.552083 527.083333 0
+ 322.302083 527.583333 0
+ 325.302083 526.083333 0
+ 329.552083 526.583333 0
+ 333.802083 524.333333 0
+ 337.302083 525.333333 0
+ 341.302083 523.583333 0
+ 345.302083 522.583333 0
+ 349.552083 523.083333 0
+ 353.052083 524.083333 0
+ 355.302083 521.583333 0
+ 360.302083 524.083333 0
+ 360.552083 517.583333 0
+ 355.552083 515.583333 0
+ 349.302083 516.333333 0
+ 345.302083 514.833333 0
+ 338.802083 517.333333 0
+ 326.052083 517.583333 0
+ 316.802083 520.333333 0
+ 301.302083 525.833333 0
+ END$SEGS
+DRAW 178 4 0 0 0 0.000000 0.000000 0 0.000000
+ F4 12632256 0.000000 30 0
+ 302.302083 528.583333 0
+ 300.302083 525.083333 0
+ 303.302083 522.833333 0
+ 308.052083 521.583333 0
+ 311.302083 523.333333 0
+ 313.802083 518.583333 0
+ 317.552083 518.583333 0
+ 321.302083 516.583333 0
+ 323.302083 517.583333 0
+ 329.802083 516.083333 0
+ 334.302083 516.583333 0
+ 338.552083 515.583333 0
+ 342.052083 515.583333 0
+ 346.302083 514.583333 0
+ 349.802083 516.083333 0
+ 356.802083 514.583333 0
+ 360.302083 517.083333 0
+ 359.552083 519.583333 0
+ 354.552083 519.583333 0
+ 347.802083 518.583333 0
+ 342.302083 519.333333 0
+ 337.052083 520.083333 0
+ 331.802083 522.833333 0
+ 328.302083 519.083333 0
+ 326.802083 523.583333 0
+ 321.802083 521.583333 0
+ 315.802083 523.583333 0
+ 312.302083 526.333333 0
+ 308.552083 523.833333 0
+ 304.552083 527.583333 0
+ END$SEGS
+DRAW 179 4 0 0 0 0.000000 0.000000 0 0.000000
+ F4 8421504 0.000000 13 0
+ 279.022321 536.214286 0
+ 280.897321 536.839286 0
+ 283.897321 535.964286 0
+ 286.397321 535.839286 0
+ 289.772321 534.839286 0
+ 292.522321 535.089286 0
+ 295.147321 534.089286 0
+ 297.897321 534.214286 0
+ 300.647321 533.464286 0
+ 301.397321 532.214286 0
+ 301.897321 525.339286 0
+ 276.897321 530.214286 0
+ 278.022321 535.464286 0
+ END$SEGS
+DRAW 180 4 0 0 0 0.000000 0.000000 0 0.000000
+ F4 12632256 0.000000 20 0
+ 277.897321 534.464286 0
+ 281.522321 534.714286 0
+ 284.397321 533.339286 0
+ 285.897321 534.089286 0
+ 289.022321 532.089286 0
+ 291.397321 532.964286 0
+ 294.022321 531.589286 0
+ 297.147321 532.589286 0
+ 300.647321 531.089286 0
+ 302.522321 528.214286 0
+ 301.897321 525.089286 0
+ 298.522321 524.714286 0
+ 295.647321 525.964286 0
+ 292.772321 526.089286 0
+ 289.897321 527.714286 0
+ 286.772321 526.839286 0
+ 283.022321 527.214286 0
+ 282.147321 529.089286 0
+ 278.054241 528.972341 0
+ 275.535674 530.456417 0
+ END$SEGS
+DRAW 181 4 0 0 0 -0.250000 -0.250000 0 0.000000
+ F4 12632256 0.000000 20 0
+ 282.022321 543.839286 0
+ 283.647321 547.464286 0
+ 281.522321 549.589286 0
+ 282.147321 551.964286 0
+ 284.647321 552.464286 0
+ 286.772321 552.339286 0
+ 288.022321 552.839286 0
+ 289.397321 552.339286 0
+ 290.688311 550.564176 0
+ 291.147321 551.839286 0
+ 294.022321 552.339286 0
+ 296.272321 551.964286 0
+ 297.772321 552.339286 0
+ 300.647321 550.964286 0
+ 301.647321 548.839286 0
+ 302.147321 547.089286 0
+ 300.897321 544.839286 0
+ 302.272321 542.964286 0
+ 300.147321 542.339286 0
+ 299.522321 541.214286 0
+ END$SEGS
+STRUCTURE 182 3 0 0 0 Fn3 2 310.218750 515.562500 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 183 3 0 0 0 Fn3 2 335.218750 511.562500 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 184 3 0 0 0 Fn3 2 293.218750 522.562500 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 185 3 0 0 0 Fn3 2 279.218750 517.062500 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 186 3 0 0 0 Fn3 2 260.718750 521.062500 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 187 3 0 0 0 Fn3 2 232.218750 522.562500 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 188 3 0 0 0 Fn3 2 208.218750 532.562500 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 189 3 0 0 0 Fn3 2 349.718750 513.562500 0 0.000000 "LgTrees 8"" Conifer Conif-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 -1.530590 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.309300 -3.798814 0
+ -0.405699 -2.507955 0
+ 0.331935 -3.909459 0
+ 1.455693 -2.445564 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 2.804635 -1.057803 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 2.618600 1.530590 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.383063 3.079621 0
+ 0.682311 3.835696 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -1.161773 2.987417 0
+ -2.803008 3.411556 0
+ -2.341987 2.139138 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 -0.387258 0
+ -3.688169 -1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.670543 -3.860089 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.049146 -1.670543 0
+ 3.924964 -0.956913 0
+ 2.383377 0.077239 0
+ 3.795213 1.621886 0
+ 2.740987 1.865169 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.735418 3.681681 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.475916 3.649244 0
+ -1.467542 1.930976 0
+ -3.389742 2.384172 0
+ -3.000489 1.038007 0
+ -1.798567 0.286888 0
+ -3.162678 0.259502 0
+ -3.811432 -0.648754 0
+ -1.235825 -0.849630 0
+ -3.243772 -2.513923 0
+ -0.948937 -2.228899 0
+ -1.000000 -4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 1.098375 0
+ -1.497784 0.684701 0
+ -0.870141 0.442203 0
+ -1.269550 0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 -0.584849 0
+ -0.912935 -0.656172 0
+ -0.570584 -0.342351 0
+ -1.198227 -0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 1.383667 0
+ -0.969993 1.840135 0
+ -1.440725 2.068368 0
+ -1.312344 1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 0.014265 0
+ -2.182485 0.156911 0
+ -1.512049 -0.057058 0
+ -2.196750 -0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 1.811605 0
+ -1.968516 1.469255 0
+ -1.440725 1.355138 0
+ -1.740282 1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 -1.882928 0
+ -1.497784 -1.412196 0
+ -0.969993 -1.212492 0
+ -1.483519 -1.726018 0
+ L3 26624 -0.001500 -2.284069 1.346166 0 -3.012323 1.313064 0
+ L3 26624 -0.001500 -3.166801 1.930976 0 -2.670265 1.809601 0
+ L3 26624 -0.001500 -1.015142 3.255075 0 -0.937903 2.339240 0
+ L3 26624 -0.001500 -0.937903 2.339240 0 -1.489610 2.990255 0
+ L3 26624 -0.001500 1.313064 3.288177 0 1.401337 2.515787 0
+ L3 26624 -0.001500 1.401337 2.515787 0 1.820635 2.990255 0
+ L3 26624 -0.001500 3.155767 1.699259 0 2.129591 1.224791 0
+ L3 26624 -0.001500 2.129591 1.224791 0 3.155767 0.982039 0
+ L3 26624 -0.001500 2.868879 -0.695152 0 2.096489 -0.706186 0
+ L3 26624 -0.001500 2.096489 -0.706186 0 2.736470 -1.566849 0
+ L3 26624 -0.001500 1.964079 -2.604060 0 1.114449 -1.864772 0
+ L3 26624 -0.001500 1.114449 -1.864772 0 1.136518 -3.210938 0
+ L3 26624 -0.001500 -0.397229 -3.431621 0 -0.408264 -2.295103 0
+ L3 26624 -0.001500 -0.408264 -2.295103 0 -0.959971 -2.769572 0
+ L3 26624 -0.001500 -0.529639 2.427513 0 -0.662049 1.864772 0
+ L3 26624 -0.001500 0.893766 2.570957 0 0.904800 1.919942 0
+ L3 26624 -0.001500 1.721328 2.206830 0 1.202722 1.776498 0
+ L3 26624 -0.001500 1.997181 1.688225 0 1.434440 0.882732 0
+ L3 26624 -0.001500 2.581991 0.463434 0 1.886840 0.651015 0
+ L3 26624 -0.001500 2.648196 -0.187581 0 1.500645 -0.353093 0
+ L3 26624 -0.001500 1.610986 -0.816527 0 2.151660 -1.588918 0
+ L3 26624 -0.001500 1.721328 -1.809601 0 0.849630 -1.169620 0
+ L3 26624 -0.001500 0.684117 -1.533747 0 0.463434 -2.206830 0
+ L3 26624 -0.001500 0.033102 -2.195796 0 -0.121376 -1.313064 0
+ L3 26624 -0.001500 -0.893766 -1.997181 0 -0.651015 -1.125483 0
+ L3 26624 -0.001500 -1.688225 0.319990 0 -0.882732 -0.077239 0
+ L3 26624 -0.001500 -0.717220 1.092381 0 -0.364127 0.397229 0
+ L3 26624 -0.001500 0.551708 1.633054 0 0.154478 0.882732 0
+ L3 26624 -0.001500 1.059279 1.202722 0 0.595844 0.717220 0
+ L3 26624 -0.001500 1.467542 0.319990 0 0.584810 0.176546 0
+ L3 26624 -0.001500 0.948937 -0.584810 0 0.408264 -0.253785 0
+ L3 26624 -0.001500 0.110342 -0.827561 0 0.143444 -0.408264 0
+ L3 26624 -0.001500 -0.165512 -0.275854 0 -0.507571 -0.739288 0
+ L3 26624 -0.001500 -0.673083 0.286888 0 -0.209649 0.022068 0
+ L3 26624 -0.001500 0.353093 0.562742 0 0.132410 0.121376 0
+ L3 26624 -0.001500 -2.011310 0.713230 0 -2.553365 0.984258 0
+ L3 26624 -0.001500 -2.510571 -0.584849 0 -1.825870 -0.370880 0
+ L3 26624 -0.001500 -1.982781 -2.125427 0 -1.369402 -1.939987 0
+ END$SEGS
+STRUCTURE 190 3 0 0 0 Fn3 2 317.718750 508.062500 0 0.000000 "LgTrees 8"" Conifer Conif-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 -1.530590 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.309300 -3.798814 0
+ -0.405699 -2.507955 0
+ 0.331935 -3.909459 0
+ 1.455693 -2.445564 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 2.804635 -1.057803 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 2.618600 1.530590 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.383063 3.079621 0
+ 0.682311 3.835696 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -1.161773 2.987417 0
+ -2.803008 3.411556 0
+ -2.341987 2.139138 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 -0.387258 0
+ -3.688169 -1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.670543 -3.860089 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.049146 -1.670543 0
+ 3.924964 -0.956913 0
+ 2.383377 0.077239 0
+ 3.795213 1.621886 0
+ 2.740987 1.865169 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.735418 3.681681 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.475916 3.649244 0
+ -1.467542 1.930976 0
+ -3.389742 2.384172 0
+ -3.000489 1.038007 0
+ -1.798567 0.286888 0
+ -3.162678 0.259502 0
+ -3.811432 -0.648754 0
+ -1.235825 -0.849630 0
+ -3.243772 -2.513923 0
+ -0.948937 -2.228899 0
+ -1.000000 -4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 1.098375 0
+ -1.497784 0.684701 0
+ -0.870141 0.442203 0
+ -1.269550 0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 -0.584849 0
+ -0.912935 -0.656172 0
+ -0.570584 -0.342351 0
+ -1.198227 -0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 1.383667 0
+ -0.969993 1.840135 0
+ -1.440725 2.068368 0
+ -1.312344 1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 0.014265 0
+ -2.182485 0.156911 0
+ -1.512049 -0.057058 0
+ -2.196750 -0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 1.811605 0
+ -1.968516 1.469255 0
+ -1.440725 1.355138 0
+ -1.740282 1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 -1.882928 0
+ -1.497784 -1.412196 0
+ -0.969993 -1.212492 0
+ -1.483519 -1.726018 0
+ L3 26624 -0.001500 -2.284069 1.346166 0 -3.012323 1.313064 0
+ L3 26624 -0.001500 -3.166801 1.930976 0 -2.670265 1.809601 0
+ L3 26624 -0.001500 -1.015142 3.255075 0 -0.937903 2.339240 0
+ L3 26624 -0.001500 -0.937903 2.339240 0 -1.489610 2.990255 0
+ L3 26624 -0.001500 1.313064 3.288177 0 1.401337 2.515787 0
+ L3 26624 -0.001500 1.401337 2.515787 0 1.820635 2.990255 0
+ L3 26624 -0.001500 3.155767 1.699259 0 2.129591 1.224791 0
+ L3 26624 -0.001500 2.129591 1.224791 0 3.155767 0.982039 0
+ L3 26624 -0.001500 2.868879 -0.695152 0 2.096489 -0.706186 0
+ L3 26624 -0.001500 2.096489 -0.706186 0 2.736470 -1.566849 0
+ L3 26624 -0.001500 1.964079 -2.604060 0 1.114449 -1.864772 0
+ L3 26624 -0.001500 1.114449 -1.864772 0 1.136518 -3.210938 0
+ L3 26624 -0.001500 -0.397229 -3.431621 0 -0.408264 -2.295103 0
+ L3 26624 -0.001500 -0.408264 -2.295103 0 -0.959971 -2.769572 0
+ L3 26624 -0.001500 -0.529639 2.427513 0 -0.662049 1.864772 0
+ L3 26624 -0.001500 0.893766 2.570957 0 0.904800 1.919942 0
+ L3 26624 -0.001500 1.721328 2.206830 0 1.202722 1.776498 0
+ L3 26624 -0.001500 1.997181 1.688225 0 1.434440 0.882732 0
+ L3 26624 -0.001500 2.581991 0.463434 0 1.886840 0.651015 0
+ L3 26624 -0.001500 2.648196 -0.187581 0 1.500645 -0.353093 0
+ L3 26624 -0.001500 1.610986 -0.816527 0 2.151660 -1.588918 0
+ L3 26624 -0.001500 1.721328 -1.809601 0 0.849630 -1.169620 0
+ L3 26624 -0.001500 0.684117 -1.533747 0 0.463434 -2.206830 0
+ L3 26624 -0.001500 0.033102 -2.195796 0 -0.121376 -1.313064 0
+ L3 26624 -0.001500 -0.893766 -1.997181 0 -0.651015 -1.125483 0
+ L3 26624 -0.001500 -1.688225 0.319990 0 -0.882732 -0.077239 0
+ L3 26624 -0.001500 -0.717220 1.092381 0 -0.364127 0.397229 0
+ L3 26624 -0.001500 0.551708 1.633054 0 0.154478 0.882732 0
+ L3 26624 -0.001500 1.059279 1.202722 0 0.595844 0.717220 0
+ L3 26624 -0.001500 1.467542 0.319990 0 0.584810 0.176546 0
+ L3 26624 -0.001500 0.948937 -0.584810 0 0.408264 -0.253785 0
+ L3 26624 -0.001500 0.110342 -0.827561 0 0.143444 -0.408264 0
+ L3 26624 -0.001500 -0.165512 -0.275854 0 -0.507571 -0.739288 0
+ L3 26624 -0.001500 -0.673083 0.286888 0 -0.209649 0.022068 0
+ L3 26624 -0.001500 0.353093 0.562742 0 0.132410 0.121376 0
+ L3 26624 -0.001500 -2.011310 0.713230 0 -2.553365 0.984258 0
+ L3 26624 -0.001500 -2.510571 -0.584849 0 -1.825870 -0.370880 0
+ L3 26624 -0.001500 -1.982781 -2.125427 0 -1.369402 -1.939987 0
+ END$SEGS
+STRUCTURE 191 3 0 0 0 Fn3 2 302.218750 522.562500 0 0.000000 "LgTrees 8"" Conifer Conif-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 -1.530590 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.309300 -3.798814 0
+ -0.405699 -2.507955 0
+ 0.331935 -3.909459 0
+ 1.455693 -2.445564 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 2.804635 -1.057803 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 2.618600 1.530590 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.383063 3.079621 0
+ 0.682311 3.835696 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -1.161773 2.987417 0
+ -2.803008 3.411556 0
+ -2.341987 2.139138 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 -0.387258 0
+ -3.688169 -1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.670543 -3.860089 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.049146 -1.670543 0
+ 3.924964 -0.956913 0
+ 2.383377 0.077239 0
+ 3.795213 1.621886 0
+ 2.740987 1.865169 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.735418 3.681681 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.475916 3.649244 0
+ -1.467542 1.930976 0
+ -3.389742 2.384172 0
+ -3.000489 1.038007 0
+ -1.798567 0.286888 0
+ -3.162678 0.259502 0
+ -3.811432 -0.648754 0
+ -1.235825 -0.849630 0
+ -3.243772 -2.513923 0
+ -0.948937 -2.228899 0
+ -1.000000 -4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 1.098375 0
+ -1.497784 0.684701 0
+ -0.870141 0.442203 0
+ -1.269550 0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 -0.584849 0
+ -0.912935 -0.656172 0
+ -0.570584 -0.342351 0
+ -1.198227 -0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 1.383667 0
+ -0.969993 1.840135 0
+ -1.440725 2.068368 0
+ -1.312344 1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 0.014265 0
+ -2.182485 0.156911 0
+ -1.512049 -0.057058 0
+ -2.196750 -0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 1.811605 0
+ -1.968516 1.469255 0
+ -1.440725 1.355138 0
+ -1.740282 1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 -1.882928 0
+ -1.497784 -1.412196 0
+ -0.969993 -1.212492 0
+ -1.483519 -1.726018 0
+ L3 26624 -0.001500 -2.284069 1.346166 0 -3.012323 1.313064 0
+ L3 26624 -0.001500 -3.166801 1.930976 0 -2.670265 1.809601 0
+ L3 26624 -0.001500 -1.015142 3.255075 0 -0.937903 2.339240 0
+ L3 26624 -0.001500 -0.937903 2.339240 0 -1.489610 2.990255 0
+ L3 26624 -0.001500 1.313064 3.288177 0 1.401337 2.515787 0
+ L3 26624 -0.001500 1.401337 2.515787 0 1.820635 2.990255 0
+ L3 26624 -0.001500 3.155767 1.699259 0 2.129591 1.224791 0
+ L3 26624 -0.001500 2.129591 1.224791 0 3.155767 0.982039 0
+ L3 26624 -0.001500 2.868879 -0.695152 0 2.096489 -0.706186 0
+ L3 26624 -0.001500 2.096489 -0.706186 0 2.736470 -1.566849 0
+ L3 26624 -0.001500 1.964079 -2.604060 0 1.114449 -1.864772 0
+ L3 26624 -0.001500 1.114449 -1.864772 0 1.136518 -3.210938 0
+ L3 26624 -0.001500 -0.397229 -3.431621 0 -0.408264 -2.295103 0
+ L3 26624 -0.001500 -0.408264 -2.295103 0 -0.959971 -2.769572 0
+ L3 26624 -0.001500 -0.529639 2.427513 0 -0.662049 1.864772 0
+ L3 26624 -0.001500 0.893766 2.570957 0 0.904800 1.919942 0
+ L3 26624 -0.001500 1.721328 2.206830 0 1.202722 1.776498 0
+ L3 26624 -0.001500 1.997181 1.688225 0 1.434440 0.882732 0
+ L3 26624 -0.001500 2.581991 0.463434 0 1.886840 0.651015 0
+ L3 26624 -0.001500 2.648196 -0.187581 0 1.500645 -0.353093 0
+ L3 26624 -0.001500 1.610986 -0.816527 0 2.151660 -1.588918 0
+ L3 26624 -0.001500 1.721328 -1.809601 0 0.849630 -1.169620 0
+ L3 26624 -0.001500 0.684117 -1.533747 0 0.463434 -2.206830 0
+ L3 26624 -0.001500 0.033102 -2.195796 0 -0.121376 -1.313064 0
+ L3 26624 -0.001500 -0.893766 -1.997181 0 -0.651015 -1.125483 0
+ L3 26624 -0.001500 -1.688225 0.319990 0 -0.882732 -0.077239 0
+ L3 26624 -0.001500 -0.717220 1.092381 0 -0.364127 0.397229 0
+ L3 26624 -0.001500 0.551708 1.633054 0 0.154478 0.882732 0
+ L3 26624 -0.001500 1.059279 1.202722 0 0.595844 0.717220 0
+ L3 26624 -0.001500 1.467542 0.319990 0 0.584810 0.176546 0
+ L3 26624 -0.001500 0.948937 -0.584810 0 0.408264 -0.253785 0
+ L3 26624 -0.001500 0.110342 -0.827561 0 0.143444 -0.408264 0
+ L3 26624 -0.001500 -0.165512 -0.275854 0 -0.507571 -0.739288 0
+ L3 26624 -0.001500 -0.673083 0.286888 0 -0.209649 0.022068 0
+ L3 26624 -0.001500 0.353093 0.562742 0 0.132410 0.121376 0
+ L3 26624 -0.001500 -2.011310 0.713230 0 -2.553365 0.984258 0
+ L3 26624 -0.001500 -2.510571 -0.584849 0 -1.825870 -0.370880 0
+ L3 26624 -0.001500 -1.982781 -2.125427 0 -1.369402 -1.939987 0
+ END$SEGS
+STRUCTURE 192 3 0 0 0 Fn3 2 272.218750 523.562500 0 0.000000 "LgTrees 8"" Conifer Conif-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 -1.530590 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.309300 -3.798814 0
+ -0.405699 -2.507955 0
+ 0.331935 -3.909459 0
+ 1.455693 -2.445564 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 2.804635 -1.057803 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 2.618600 1.530590 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.383063 3.079621 0
+ 0.682311 3.835696 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -1.161773 2.987417 0
+ -2.803008 3.411556 0
+ -2.341987 2.139138 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 -0.387258 0
+ -3.688169 -1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.670543 -3.860089 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.049146 -1.670543 0
+ 3.924964 -0.956913 0
+ 2.383377 0.077239 0
+ 3.795213 1.621886 0
+ 2.740987 1.865169 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.735418 3.681681 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.475916 3.649244 0
+ -1.467542 1.930976 0
+ -3.389742 2.384172 0
+ -3.000489 1.038007 0
+ -1.798567 0.286888 0
+ -3.162678 0.259502 0
+ -3.811432 -0.648754 0
+ -1.235825 -0.849630 0
+ -3.243772 -2.513923 0
+ -0.948937 -2.228899 0
+ -1.000000 -4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 1.098375 0
+ -1.497784 0.684701 0
+ -0.870141 0.442203 0
+ -1.269550 0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 -0.584849 0
+ -0.912935 -0.656172 0
+ -0.570584 -0.342351 0
+ -1.198227 -0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 1.383667 0
+ -0.969993 1.840135 0
+ -1.440725 2.068368 0
+ -1.312344 1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 0.014265 0
+ -2.182485 0.156911 0
+ -1.512049 -0.057058 0
+ -2.196750 -0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 1.811605 0
+ -1.968516 1.469255 0
+ -1.440725 1.355138 0
+ -1.740282 1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 -1.882928 0
+ -1.497784 -1.412196 0
+ -0.969993 -1.212492 0
+ -1.483519 -1.726018 0
+ L3 26624 -0.001500 -2.284069 1.346166 0 -3.012323 1.313064 0
+ L3 26624 -0.001500 -3.166801 1.930976 0 -2.670265 1.809601 0
+ L3 26624 -0.001500 -1.015142 3.255075 0 -0.937903 2.339240 0
+ L3 26624 -0.001500 -0.937903 2.339240 0 -1.489610 2.990255 0
+ L3 26624 -0.001500 1.313064 3.288177 0 1.401337 2.515787 0
+ L3 26624 -0.001500 1.401337 2.515787 0 1.820635 2.990255 0
+ L3 26624 -0.001500 3.155767 1.699259 0 2.129591 1.224791 0
+ L3 26624 -0.001500 2.129591 1.224791 0 3.155767 0.982039 0
+ L3 26624 -0.001500 2.868879 -0.695152 0 2.096489 -0.706186 0
+ L3 26624 -0.001500 2.096489 -0.706186 0 2.736470 -1.566849 0
+ L3 26624 -0.001500 1.964079 -2.604060 0 1.114449 -1.864772 0
+ L3 26624 -0.001500 1.114449 -1.864772 0 1.136518 -3.210938 0
+ L3 26624 -0.001500 -0.397229 -3.431621 0 -0.408264 -2.295103 0
+ L3 26624 -0.001500 -0.408264 -2.295103 0 -0.959971 -2.769572 0
+ L3 26624 -0.001500 -0.529639 2.427513 0 -0.662049 1.864772 0
+ L3 26624 -0.001500 0.893766 2.570957 0 0.904800 1.919942 0
+ L3 26624 -0.001500 1.721328 2.206830 0 1.202722 1.776498 0
+ L3 26624 -0.001500 1.997181 1.688225 0 1.434440 0.882732 0
+ L3 26624 -0.001500 2.581991 0.463434 0 1.886840 0.651015 0
+ L3 26624 -0.001500 2.648196 -0.187581 0 1.500645 -0.353093 0
+ L3 26624 -0.001500 1.610986 -0.816527 0 2.151660 -1.588918 0
+ L3 26624 -0.001500 1.721328 -1.809601 0 0.849630 -1.169620 0
+ L3 26624 -0.001500 0.684117 -1.533747 0 0.463434 -2.206830 0
+ L3 26624 -0.001500 0.033102 -2.195796 0 -0.121376 -1.313064 0
+ L3 26624 -0.001500 -0.893766 -1.997181 0 -0.651015 -1.125483 0
+ L3 26624 -0.001500 -1.688225 0.319990 0 -0.882732 -0.077239 0
+ L3 26624 -0.001500 -0.717220 1.092381 0 -0.364127 0.397229 0
+ L3 26624 -0.001500 0.551708 1.633054 0 0.154478 0.882732 0
+ L3 26624 -0.001500 1.059279 1.202722 0 0.595844 0.717220 0
+ L3 26624 -0.001500 1.467542 0.319990 0 0.584810 0.176546 0
+ L3 26624 -0.001500 0.948937 -0.584810 0 0.408264 -0.253785 0
+ L3 26624 -0.001500 0.110342 -0.827561 0 0.143444 -0.408264 0
+ L3 26624 -0.001500 -0.165512 -0.275854 0 -0.507571 -0.739288 0
+ L3 26624 -0.001500 -0.673083 0.286888 0 -0.209649 0.022068 0
+ L3 26624 -0.001500 0.353093 0.562742 0 0.132410 0.121376 0
+ L3 26624 -0.001500 -2.011310 0.713230 0 -2.553365 0.984258 0
+ L3 26624 -0.001500 -2.510571 -0.584849 0 -1.825870 -0.370880 0
+ L3 26624 -0.001500 -1.982781 -2.125427 0 -1.369402 -1.939987 0
+ END$SEGS
+STRUCTURE 193 3 0 0 0 Fn3 2 246.218750 525.062500 0 0.000000 "LgTrees 8"" Conifer Conif-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 -1.530590 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.309300 -3.798814 0
+ -0.405699 -2.507955 0
+ 0.331935 -3.909459 0
+ 1.455693 -2.445564 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 2.804635 -1.057803 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 2.618600 1.530590 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.383063 3.079621 0
+ 0.682311 3.835696 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -1.161773 2.987417 0
+ -2.803008 3.411556 0
+ -2.341987 2.139138 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 -0.387258 0
+ -3.688169 -1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.670543 -3.860089 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.049146 -1.670543 0
+ 3.924964 -0.956913 0
+ 2.383377 0.077239 0
+ 3.795213 1.621886 0
+ 2.740987 1.865169 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.735418 3.681681 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.475916 3.649244 0
+ -1.467542 1.930976 0
+ -3.389742 2.384172 0
+ -3.000489 1.038007 0
+ -1.798567 0.286888 0
+ -3.162678 0.259502 0
+ -3.811432 -0.648754 0
+ -1.235825 -0.849630 0
+ -3.243772 -2.513923 0
+ -0.948937 -2.228899 0
+ -1.000000 -4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 1.098375 0
+ -1.497784 0.684701 0
+ -0.870141 0.442203 0
+ -1.269550 0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 -0.584849 0
+ -0.912935 -0.656172 0
+ -0.570584 -0.342351 0
+ -1.198227 -0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 1.383667 0
+ -0.969993 1.840135 0
+ -1.440725 2.068368 0
+ -1.312344 1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 0.014265 0
+ -2.182485 0.156911 0
+ -1.512049 -0.057058 0
+ -2.196750 -0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 1.811605 0
+ -1.968516 1.469255 0
+ -1.440725 1.355138 0
+ -1.740282 1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 -1.882928 0
+ -1.497784 -1.412196 0
+ -0.969993 -1.212492 0
+ -1.483519 -1.726018 0
+ L3 26624 -0.001500 -2.284069 1.346166 0 -3.012323 1.313064 0
+ L3 26624 -0.001500 -3.166801 1.930976 0 -2.670265 1.809601 0
+ L3 26624 -0.001500 -1.015142 3.255075 0 -0.937903 2.339240 0
+ L3 26624 -0.001500 -0.937903 2.339240 0 -1.489610 2.990255 0
+ L3 26624 -0.001500 1.313064 3.288177 0 1.401337 2.515787 0
+ L3 26624 -0.001500 1.401337 2.515787 0 1.820635 2.990255 0
+ L3 26624 -0.001500 3.155767 1.699259 0 2.129591 1.224791 0
+ L3 26624 -0.001500 2.129591 1.224791 0 3.155767 0.982039 0
+ L3 26624 -0.001500 2.868879 -0.695152 0 2.096489 -0.706186 0
+ L3 26624 -0.001500 2.096489 -0.706186 0 2.736470 -1.566849 0
+ L3 26624 -0.001500 1.964079 -2.604060 0 1.114449 -1.864772 0
+ L3 26624 -0.001500 1.114449 -1.864772 0 1.136518 -3.210938 0
+ L3 26624 -0.001500 -0.397229 -3.431621 0 -0.408264 -2.295103 0
+ L3 26624 -0.001500 -0.408264 -2.295103 0 -0.959971 -2.769572 0
+ L3 26624 -0.001500 -0.529639 2.427513 0 -0.662049 1.864772 0
+ L3 26624 -0.001500 0.893766 2.570957 0 0.904800 1.919942 0
+ L3 26624 -0.001500 1.721328 2.206830 0 1.202722 1.776498 0
+ L3 26624 -0.001500 1.997181 1.688225 0 1.434440 0.882732 0
+ L3 26624 -0.001500 2.581991 0.463434 0 1.886840 0.651015 0
+ L3 26624 -0.001500 2.648196 -0.187581 0 1.500645 -0.353093 0
+ L3 26624 -0.001500 1.610986 -0.816527 0 2.151660 -1.588918 0
+ L3 26624 -0.001500 1.721328 -1.809601 0 0.849630 -1.169620 0
+ L3 26624 -0.001500 0.684117 -1.533747 0 0.463434 -2.206830 0
+ L3 26624 -0.001500 0.033102 -2.195796 0 -0.121376 -1.313064 0
+ L3 26624 -0.001500 -0.893766 -1.997181 0 -0.651015 -1.125483 0
+ L3 26624 -0.001500 -1.688225 0.319990 0 -0.882732 -0.077239 0
+ L3 26624 -0.001500 -0.717220 1.092381 0 -0.364127 0.397229 0
+ L3 26624 -0.001500 0.551708 1.633054 0 0.154478 0.882732 0
+ L3 26624 -0.001500 1.059279 1.202722 0 0.595844 0.717220 0
+ L3 26624 -0.001500 1.467542 0.319990 0 0.584810 0.176546 0
+ L3 26624 -0.001500 0.948937 -0.584810 0 0.408264 -0.253785 0
+ L3 26624 -0.001500 0.110342 -0.827561 0 0.143444 -0.408264 0
+ L3 26624 -0.001500 -0.165512 -0.275854 0 -0.507571 -0.739288 0
+ L3 26624 -0.001500 -0.673083 0.286888 0 -0.209649 0.022068 0
+ L3 26624 -0.001500 0.353093 0.562742 0 0.132410 0.121376 0
+ L3 26624 -0.001500 -2.011310 0.713230 0 -2.553365 0.984258 0
+ L3 26624 -0.001500 -2.510571 -0.584849 0 -1.825870 -0.370880 0
+ L3 26624 -0.001500 -1.982781 -2.125427 0 -1.369402 -1.939987 0
+ END$SEGS
+STRUCTURE 194 3 0 0 0 Fn3 2 219.218750 528.562500 0 0.000000 "LgTrees 8"" Conifer Conif-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 -1.530590 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.309300 -3.798814 0
+ -0.405699 -2.507955 0
+ 0.331935 -3.909459 0
+ 1.455693 -2.445564 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 2.804635 -1.057803 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 2.618600 1.530590 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.383063 3.079621 0
+ 0.682311 3.835696 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -1.161773 2.987417 0
+ -2.803008 3.411556 0
+ -2.341987 2.139138 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 -0.387258 0
+ -3.688169 -1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.670543 -3.860089 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.049146 -1.670543 0
+ 3.924964 -0.956913 0
+ 2.383377 0.077239 0
+ 3.795213 1.621886 0
+ 2.740987 1.865169 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.735418 3.681681 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.475916 3.649244 0
+ -1.467542 1.930976 0
+ -3.389742 2.384172 0
+ -3.000489 1.038007 0
+ -1.798567 0.286888 0
+ -3.162678 0.259502 0
+ -3.811432 -0.648754 0
+ -1.235825 -0.849630 0
+ -3.243772 -2.513923 0
+ -0.948937 -2.228899 0
+ -1.000000 -4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 1.098375 0
+ -1.497784 0.684701 0
+ -0.870141 0.442203 0
+ -1.269550 0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 -0.584849 0
+ -0.912935 -0.656172 0
+ -0.570584 -0.342351 0
+ -1.198227 -0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 1.383667 0
+ -0.969993 1.840135 0
+ -1.440725 2.068368 0
+ -1.312344 1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 0.014265 0
+ -2.182485 0.156911 0
+ -1.512049 -0.057058 0
+ -2.196750 -0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 1.811605 0
+ -1.968516 1.469255 0
+ -1.440725 1.355138 0
+ -1.740282 1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 -1.882928 0
+ -1.497784 -1.412196 0
+ -0.969993 -1.212492 0
+ -1.483519 -1.726018 0
+ L3 26624 -0.001500 -2.284069 1.346166 0 -3.012323 1.313064 0
+ L3 26624 -0.001500 -3.166801 1.930976 0 -2.670265 1.809601 0
+ L3 26624 -0.001500 -1.015142 3.255075 0 -0.937903 2.339240 0
+ L3 26624 -0.001500 -0.937903 2.339240 0 -1.489610 2.990255 0
+ L3 26624 -0.001500 1.313064 3.288177 0 1.401337 2.515787 0
+ L3 26624 -0.001500 1.401337 2.515787 0 1.820635 2.990255 0
+ L3 26624 -0.001500 3.155767 1.699259 0 2.129591 1.224791 0
+ L3 26624 -0.001500 2.129591 1.224791 0 3.155767 0.982039 0
+ L3 26624 -0.001500 2.868879 -0.695152 0 2.096489 -0.706186 0
+ L3 26624 -0.001500 2.096489 -0.706186 0 2.736470 -1.566849 0
+ L3 26624 -0.001500 1.964079 -2.604060 0 1.114449 -1.864772 0
+ L3 26624 -0.001500 1.114449 -1.864772 0 1.136518 -3.210938 0
+ L3 26624 -0.001500 -0.397229 -3.431621 0 -0.408264 -2.295103 0
+ L3 26624 -0.001500 -0.408264 -2.295103 0 -0.959971 -2.769572 0
+ L3 26624 -0.001500 -0.529639 2.427513 0 -0.662049 1.864772 0
+ L3 26624 -0.001500 0.893766 2.570957 0 0.904800 1.919942 0
+ L3 26624 -0.001500 1.721328 2.206830 0 1.202722 1.776498 0
+ L3 26624 -0.001500 1.997181 1.688225 0 1.434440 0.882732 0
+ L3 26624 -0.001500 2.581991 0.463434 0 1.886840 0.651015 0
+ L3 26624 -0.001500 2.648196 -0.187581 0 1.500645 -0.353093 0
+ L3 26624 -0.001500 1.610986 -0.816527 0 2.151660 -1.588918 0
+ L3 26624 -0.001500 1.721328 -1.809601 0 0.849630 -1.169620 0
+ L3 26624 -0.001500 0.684117 -1.533747 0 0.463434 -2.206830 0
+ L3 26624 -0.001500 0.033102 -2.195796 0 -0.121376 -1.313064 0
+ L3 26624 -0.001500 -0.893766 -1.997181 0 -0.651015 -1.125483 0
+ L3 26624 -0.001500 -1.688225 0.319990 0 -0.882732 -0.077239 0
+ L3 26624 -0.001500 -0.717220 1.092381 0 -0.364127 0.397229 0
+ L3 26624 -0.001500 0.551708 1.633054 0 0.154478 0.882732 0
+ L3 26624 -0.001500 1.059279 1.202722 0 0.595844 0.717220 0
+ L3 26624 -0.001500 1.467542 0.319990 0 0.584810 0.176546 0
+ L3 26624 -0.001500 0.948937 -0.584810 0 0.408264 -0.253785 0
+ L3 26624 -0.001500 0.110342 -0.827561 0 0.143444 -0.408264 0
+ L3 26624 -0.001500 -0.165512 -0.275854 0 -0.507571 -0.739288 0
+ L3 26624 -0.001500 -0.673083 0.286888 0 -0.209649 0.022068 0
+ L3 26624 -0.001500 0.353093 0.562742 0 0.132410 0.121376 0
+ L3 26624 -0.001500 -2.011310 0.713230 0 -2.553365 0.984258 0
+ L3 26624 -0.001500 -2.510571 -0.584849 0 -1.825870 -0.370880 0
+ L3 26624 -0.001500 -1.982781 -2.125427 0 -1.369402 -1.939987 0
+ END$SEGS
+STRUCTURE 195 3 0 0 0 Fn3 2 211.218750 520.562500 0 0.000000 "LgTrees 8"" Conifer Conif-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 -1.530590 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.309300 -3.798814 0
+ -0.405699 -2.507955 0
+ 0.331935 -3.909459 0
+ 1.455693 -2.445564 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 2.804635 -1.057803 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 2.618600 1.530590 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.383063 3.079621 0
+ 0.682311 3.835696 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -1.161773 2.987417 0
+ -2.803008 3.411556 0
+ -2.341987 2.139138 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 -0.387258 0
+ -3.688169 -1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.670543 -3.860089 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.049146 -1.670543 0
+ 3.924964 -0.956913 0
+ 2.383377 0.077239 0
+ 3.795213 1.621886 0
+ 2.740987 1.865169 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.735418 3.681681 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.475916 3.649244 0
+ -1.467542 1.930976 0
+ -3.389742 2.384172 0
+ -3.000489 1.038007 0
+ -1.798567 0.286888 0
+ -3.162678 0.259502 0
+ -3.811432 -0.648754 0
+ -1.235825 -0.849630 0
+ -3.243772 -2.513923 0
+ -0.948937 -2.228899 0
+ -1.000000 -4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 1.098375 0
+ -1.497784 0.684701 0
+ -0.870141 0.442203 0
+ -1.269550 0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 -0.584849 0
+ -0.912935 -0.656172 0
+ -0.570584 -0.342351 0
+ -1.198227 -0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 1.383667 0
+ -0.969993 1.840135 0
+ -1.440725 2.068368 0
+ -1.312344 1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 0.014265 0
+ -2.182485 0.156911 0
+ -1.512049 -0.057058 0
+ -2.196750 -0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 1.811605 0
+ -1.968516 1.469255 0
+ -1.440725 1.355138 0
+ -1.740282 1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 -1.882928 0
+ -1.497784 -1.412196 0
+ -0.969993 -1.212492 0
+ -1.483519 -1.726018 0
+ L3 26624 -0.001500 -2.284069 1.346166 0 -3.012323 1.313064 0
+ L3 26624 -0.001500 -3.166801 1.930976 0 -2.670265 1.809601 0
+ L3 26624 -0.001500 -1.015142 3.255075 0 -0.937903 2.339240 0
+ L3 26624 -0.001500 -0.937903 2.339240 0 -1.489610 2.990255 0
+ L3 26624 -0.001500 1.313064 3.288177 0 1.401337 2.515787 0
+ L3 26624 -0.001500 1.401337 2.515787 0 1.820635 2.990255 0
+ L3 26624 -0.001500 3.155767 1.699259 0 2.129591 1.224791 0
+ L3 26624 -0.001500 2.129591 1.224791 0 3.155767 0.982039 0
+ L3 26624 -0.001500 2.868879 -0.695152 0 2.096489 -0.706186 0
+ L3 26624 -0.001500 2.096489 -0.706186 0 2.736470 -1.566849 0
+ L3 26624 -0.001500 1.964079 -2.604060 0 1.114449 -1.864772 0
+ L3 26624 -0.001500 1.114449 -1.864772 0 1.136518 -3.210938 0
+ L3 26624 -0.001500 -0.397229 -3.431621 0 -0.408264 -2.295103 0
+ L3 26624 -0.001500 -0.408264 -2.295103 0 -0.959971 -2.769572 0
+ L3 26624 -0.001500 -0.529639 2.427513 0 -0.662049 1.864772 0
+ L3 26624 -0.001500 0.893766 2.570957 0 0.904800 1.919942 0
+ L3 26624 -0.001500 1.721328 2.206830 0 1.202722 1.776498 0
+ L3 26624 -0.001500 1.997181 1.688225 0 1.434440 0.882732 0
+ L3 26624 -0.001500 2.581991 0.463434 0 1.886840 0.651015 0
+ L3 26624 -0.001500 2.648196 -0.187581 0 1.500645 -0.353093 0
+ L3 26624 -0.001500 1.610986 -0.816527 0 2.151660 -1.588918 0
+ L3 26624 -0.001500 1.721328 -1.809601 0 0.849630 -1.169620 0
+ L3 26624 -0.001500 0.684117 -1.533747 0 0.463434 -2.206830 0
+ L3 26624 -0.001500 0.033102 -2.195796 0 -0.121376 -1.313064 0
+ L3 26624 -0.001500 -0.893766 -1.997181 0 -0.651015 -1.125483 0
+ L3 26624 -0.001500 -1.688225 0.319990 0 -0.882732 -0.077239 0
+ L3 26624 -0.001500 -0.717220 1.092381 0 -0.364127 0.397229 0
+ L3 26624 -0.001500 0.551708 1.633054 0 0.154478 0.882732 0
+ L3 26624 -0.001500 1.059279 1.202722 0 0.595844 0.717220 0
+ L3 26624 -0.001500 1.467542 0.319990 0 0.584810 0.176546 0
+ L3 26624 -0.001500 0.948937 -0.584810 0 0.408264 -0.253785 0
+ L3 26624 -0.001500 0.110342 -0.827561 0 0.143444 -0.408264 0
+ L3 26624 -0.001500 -0.165512 -0.275854 0 -0.507571 -0.739288 0
+ L3 26624 -0.001500 -0.673083 0.286888 0 -0.209649 0.022068 0
+ L3 26624 -0.001500 0.353093 0.562742 0 0.132410 0.121376 0
+ L3 26624 -0.001500 -2.011310 0.713230 0 -2.553365 0.984258 0
+ L3 26624 -0.001500 -2.510571 -0.584849 0 -1.825870 -0.370880 0
+ L3 26624 -0.001500 -1.982781 -2.125427 0 -1.369402 -1.939987 0
+ END$SEGS
+STRUCTURE 196 3 0 0 0 Fn3 2 296.218750 512.562500 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 197 3 0 0 0 Fn3 2 267.218750 514.062500 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 198 3 0 0 0 Fn3 2 281.718750 524.562500 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 199 3 0 0 0 Fn3 2 247.718750 517.562500 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 200 3 0 0 0 Fn3 2 222.218750 518.562500 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 201 3 0 0 0 Fn3 2 236.718750 515.062500 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 202 3 0 0 0 Fn3 2 327.218750 514.062500 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 203 3 0 0 0 Fn3 2 307.447917 576.458333 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 204 3 0 0 0 Fn3 2 337.447917 576.958333 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 205 3 0 0 0 Fn3 2 364.947917 566.458333 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 206 3 0 0 0 Fn3 2 270.947917 575.458333 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 207 3 0 0 0 Fn3 2 236.947917 577.958333 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 208 3 0 0 0 Fn3 2 205.447917 581.458333 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 209 3 0 0 0 Fn3 2 220.447917 576.958333 0 0.000000 "LgTrees 10"" Shade Shade-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 -2.317172 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.641330 -4.620551 0
+ -0.648256 -5.048124 0
+ 0.468951 -3.668855 0
+ 1.751672 -4.868819 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 4.565380 -2.096489 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 4.096429 2.993014 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.475818 4.841234 0
+ 0.868939 3.903331 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -2.551648 4.261941 0
+ -2.317172 3.144733 0
+ -3.875746 3.034392 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 -1.158586 0
+ -3.420587 -1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 -3.227489 0
+ 1.655123 -4.192978 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 4.013673 -1.503403 0
+ 4.137807 -0.703427 0
+ 2.979221 0.096549 0
+ 3.986087 1.613745 0
+ 3.544721 2.137867 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 1.434440 3.903331 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.820635 3.517136 0
+ -1.834428 2.413721 0
+ -2.675782 2.386135 0
+ -3.227489 1.282720 0
+ -2.248208 0.358610 0
+ -3.172319 -0.124134 0
+ -3.020599 -0.786183 0
+ -1.544781 -1.062037 0
+ -2.110281 -2.068903 0
+ -1.186171 -2.786123 0
+ -0.813769 -3.599892 0
+ L3 65280 -0.001500 -0.875000 -4.250000 0 -0.375000 -3.875000 0
+ L3 65280 -0.001500 -1.250000 -4.000000 0 -1.375000 -3.375000 0
+ L3 65280 -0.001500 -2.875000 -2.625000 0 -2.000000 -2.625000 0
+ L3 65280 -0.001500 -3.500000 -2.375000 0 -3.125000 -2.000000 0
+ L3 65280 -0.001500 -2.625000 -2.125000 0 -2.125000 -1.750000 0
+ L3 65280 -0.001500 -2.375000 -1.375000 0 -3.125000 -1.250000 0
+ L3 65280 -0.001500 -4.250000 -1.000000 0 -3.375000 -1.000000 0
+ L3 65280 -0.001500 -4.250000 -0.250000 0 -3.500000 -0.625000 0
+ L3 65280 -0.001500 -2.875000 0.375000 0 -3.500000 0.250000 0
+ L3 65280 -0.001500 -3.375000 0.875000 0 -4.250000 1.375000 0
+ L3 65280 -0.001500 -3.875000 1.875000 0 -3.250000 2.000000 0
+ L3 65280 -0.001500 -3.000000 2.875000 0 -2.750000 2.500000 0
+ L3 65280 -0.001500 -1.875000 3.750000 0 -2.125000 4.125000 0
+ L3 65280 -0.001500 -1.125000 4.000000 0 -0.875000 4.375000 0
+ L3 65280 -0.001500 -0.125000 3.375000 0 0.000000 3.750000 0
+ L3 65280 -0.001500 0.625000 3.375000 0 0.250000 3.625000 0
+ L3 65280 -0.001500 1.625000 4.000000 0 1.500000 4.500000 0
+ L3 65280 -0.001500 2.375000 3.750000 0 2.750000 3.875000 0
+ L3 65280 -0.001500 4.375000 1.750000 0 4.000000 1.875000 0
+ L3 65280 -0.001500 3.750000 2.375000 0 4.000000 2.750000 0
+ L3 65280 -0.001500 4.375000 -0.375000 0 3.875000 -0.250000 0
+ L3 65280 -0.001500 -3.500000 -3.125000 0 -3.250000 -2.625000 0
+ L3 65280 -0.001500 -4.000000 -2.375000 0 -3.625000 -2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 -1.979214 0
+ 1.141169 -1.747415 0
+ 1.052015 -1.158999 0
+ 1.569107 -1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 -2.371491 0
+ -0.677569 -1.961384 0
+ 0.089154 -1.622599 0
+ 0.303123 -2.121861 0
+ -0.089154 -2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 0.089154 0
+ 1.515615 0.303123 0
+ 1.319476 -0.160477 0
+ 2.585460 -0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 2.371491 0
+ 0.124815 2.014876 0
+ 0.249631 1.265984 0
+ 0.534923 1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 1.783076 0
+ 1.925722 1.230323 0
+ 1.533445 1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 0.213969 0
+ -1.622599 0.035662 0
+ -0.766723 -0.178308 0
+ -0.303123 0.303123 0
+ -1.372969 0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 2.068368 0
+ -1.141169 1.943553 0
+ -0.784553 1.105507 0
+ -1.337307 1.248153 0
+ L3 26624 -0.001500 0.250000 -2.750000 0 0.500000 -2.375000 0
+ L3 26624 -0.001500 1.750000 -2.375000 0 1.125000 -2.125000 0
+ L3 26624 -0.001500 2.000000 -3.000000 0 1.625000 -2.750000 0
+ L3 26624 -0.001500 1.125000 -3.250000 0 0.875000 -2.750000 0
+ L3 26624 -0.001500 -0.500000 -3.125000 0 -0.250000 -2.750000 0
+ L3 26624 -0.001500 -1.500000 -2.000000 0 -1.000000 -2.000000 0
+ L3 26624 -0.001500 -1.125000 -1.375000 0 -0.500000 -1.625000 0
+ L3 26624 -0.001500 -1.500000 -0.750000 0 -1.000000 -0.375000 0
+ L3 26624 -0.001500 -2.250000 -0.625000 0 -1.750000 -0.375000 0
+ L3 26624 -0.001500 -2.875000 -0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 0.625000 0 -2.500000 1.125000 0
+ L3 26624 -0.001500 -2.250000 1.750000 0 -1.875000 1.250000 0
+ L3 26624 -0.001500 -1.375000 2.750000 0 -1.000000 2.250000 0
+ L3 26624 -0.001500 -0.500000 2.250000 0 -0.625000 3.000000 0
+ L3 26624 -0.001500 -0.375000 1.375000 0 -0.250000 1.875000 0
+ L3 26624 -0.001500 0.875000 2.250000 0 1.125000 3.000000 0
+ L3 26624 -0.001500 1.500000 2.125000 0 2.250000 2.500000 0
+ L3 26624 -0.001500 3.375000 0.875000 0 2.750000 1.000000 0
+ L3 26624 -0.001500 3.375000 2.000000 0 2.750000 1.750000 0
+ L3 26624 -0.001500 3.625000 1.500000 0 3.000000 1.375000 0
+ L3 26624 -0.001500 1.500000 3.625000 0 1.375000 3.125000 0
+ L3 26624 -0.001500 2.250000 3.250000 0 1.875000 2.875000 0
+ L3 26624 -0.001500 1.750000 3.375000 0 1.500000 2.625000 0
+ L3 26624 -0.001500 3.750000 -0.625000 0 3.000000 -0.750000 0
+ L3 26624 -0.001500 3.125000 -1.625000 0 2.500000 -1.250000 0
+ L3 26624 -0.001500 3.750000 -1.250000 0 3.125000 -1.125000 0
+ L3 26624 -0.001500 -1.250000 3.500000 0 -1.125000 3.000000 0
+ L3 26624 -0.001500 -2.750000 1.750000 0 -2.375000 1.500000 0
+ L3 26624 -0.001500 1.750000 -4.000000 0 1.500000 -3.375000 0
+ L3 26624 -0.001500 2.250000 -3.625000 0 1.875000 -3.250000 0
+ END$SEGS
+STRUCTURE 210 3 0 0 0 Fn3 2 253.947917 574.458333 0 0.000000 "LgTrees 10"" Shade Shade-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 -2.317172 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.641330 -4.620551 0
+ -0.648256 -5.048124 0
+ 0.468951 -3.668855 0
+ 1.751672 -4.868819 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 4.565380 -2.096489 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 4.096429 2.993014 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.475818 4.841234 0
+ 0.868939 3.903331 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -2.551648 4.261941 0
+ -2.317172 3.144733 0
+ -3.875746 3.034392 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 -1.158586 0
+ -3.420587 -1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 -3.227489 0
+ 1.655123 -4.192978 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 4.013673 -1.503403 0
+ 4.137807 -0.703427 0
+ 2.979221 0.096549 0
+ 3.986087 1.613745 0
+ 3.544721 2.137867 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 1.434440 3.903331 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.820635 3.517136 0
+ -1.834428 2.413721 0
+ -2.675782 2.386135 0
+ -3.227489 1.282720 0
+ -2.248208 0.358610 0
+ -3.172319 -0.124134 0
+ -3.020599 -0.786183 0
+ -1.544781 -1.062037 0
+ -2.110281 -2.068903 0
+ -1.186171 -2.786123 0
+ -0.813769 -3.599892 0
+ L3 65280 -0.001500 -0.875000 -4.250000 0 -0.375000 -3.875000 0
+ L3 65280 -0.001500 -1.250000 -4.000000 0 -1.375000 -3.375000 0
+ L3 65280 -0.001500 -2.875000 -2.625000 0 -2.000000 -2.625000 0
+ L3 65280 -0.001500 -3.500000 -2.375000 0 -3.125000 -2.000000 0
+ L3 65280 -0.001500 -2.625000 -2.125000 0 -2.125000 -1.750000 0
+ L3 65280 -0.001500 -2.375000 -1.375000 0 -3.125000 -1.250000 0
+ L3 65280 -0.001500 -4.250000 -1.000000 0 -3.375000 -1.000000 0
+ L3 65280 -0.001500 -4.250000 -0.250000 0 -3.500000 -0.625000 0
+ L3 65280 -0.001500 -2.875000 0.375000 0 -3.500000 0.250000 0
+ L3 65280 -0.001500 -3.375000 0.875000 0 -4.250000 1.375000 0
+ L3 65280 -0.001500 -3.875000 1.875000 0 -3.250000 2.000000 0
+ L3 65280 -0.001500 -3.000000 2.875000 0 -2.750000 2.500000 0
+ L3 65280 -0.001500 -1.875000 3.750000 0 -2.125000 4.125000 0
+ L3 65280 -0.001500 -1.125000 4.000000 0 -0.875000 4.375000 0
+ L3 65280 -0.001500 -0.125000 3.375000 0 0.000000 3.750000 0
+ L3 65280 -0.001500 0.625000 3.375000 0 0.250000 3.625000 0
+ L3 65280 -0.001500 1.625000 4.000000 0 1.500000 4.500000 0
+ L3 65280 -0.001500 2.375000 3.750000 0 2.750000 3.875000 0
+ L3 65280 -0.001500 4.375000 1.750000 0 4.000000 1.875000 0
+ L3 65280 -0.001500 3.750000 2.375000 0 4.000000 2.750000 0
+ L3 65280 -0.001500 4.375000 -0.375000 0 3.875000 -0.250000 0
+ L3 65280 -0.001500 -3.500000 -3.125000 0 -3.250000 -2.625000 0
+ L3 65280 -0.001500 -4.000000 -2.375000 0 -3.625000 -2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 -1.979214 0
+ 1.141169 -1.747415 0
+ 1.052015 -1.158999 0
+ 1.569107 -1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 -2.371491 0
+ -0.677569 -1.961384 0
+ 0.089154 -1.622599 0
+ 0.303123 -2.121861 0
+ -0.089154 -2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 0.089154 0
+ 1.515615 0.303123 0
+ 1.319476 -0.160477 0
+ 2.585460 -0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 2.371491 0
+ 0.124815 2.014876 0
+ 0.249631 1.265984 0
+ 0.534923 1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 1.783076 0
+ 1.925722 1.230323 0
+ 1.533445 1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 0.213969 0
+ -1.622599 0.035662 0
+ -0.766723 -0.178308 0
+ -0.303123 0.303123 0
+ -1.372969 0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 2.068368 0
+ -1.141169 1.943553 0
+ -0.784553 1.105507 0
+ -1.337307 1.248153 0
+ L3 26624 -0.001500 0.250000 -2.750000 0 0.500000 -2.375000 0
+ L3 26624 -0.001500 1.750000 -2.375000 0 1.125000 -2.125000 0
+ L3 26624 -0.001500 2.000000 -3.000000 0 1.625000 -2.750000 0
+ L3 26624 -0.001500 1.125000 -3.250000 0 0.875000 -2.750000 0
+ L3 26624 -0.001500 -0.500000 -3.125000 0 -0.250000 -2.750000 0
+ L3 26624 -0.001500 -1.500000 -2.000000 0 -1.000000 -2.000000 0
+ L3 26624 -0.001500 -1.125000 -1.375000 0 -0.500000 -1.625000 0
+ L3 26624 -0.001500 -1.500000 -0.750000 0 -1.000000 -0.375000 0
+ L3 26624 -0.001500 -2.250000 -0.625000 0 -1.750000 -0.375000 0
+ L3 26624 -0.001500 -2.875000 -0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 0.625000 0 -2.500000 1.125000 0
+ L3 26624 -0.001500 -2.250000 1.750000 0 -1.875000 1.250000 0
+ L3 26624 -0.001500 -1.375000 2.750000 0 -1.000000 2.250000 0
+ L3 26624 -0.001500 -0.500000 2.250000 0 -0.625000 3.000000 0
+ L3 26624 -0.001500 -0.375000 1.375000 0 -0.250000 1.875000 0
+ L3 26624 -0.001500 0.875000 2.250000 0 1.125000 3.000000 0
+ L3 26624 -0.001500 1.500000 2.125000 0 2.250000 2.500000 0
+ L3 26624 -0.001500 3.375000 0.875000 0 2.750000 1.000000 0
+ L3 26624 -0.001500 3.375000 2.000000 0 2.750000 1.750000 0
+ L3 26624 -0.001500 3.625000 1.500000 0 3.000000 1.375000 0
+ L3 26624 -0.001500 1.500000 3.625000 0 1.375000 3.125000 0
+ L3 26624 -0.001500 2.250000 3.250000 0 1.875000 2.875000 0
+ L3 26624 -0.001500 1.750000 3.375000 0 1.500000 2.625000 0
+ L3 26624 -0.001500 3.750000 -0.625000 0 3.000000 -0.750000 0
+ L3 26624 -0.001500 3.125000 -1.625000 0 2.500000 -1.250000 0
+ L3 26624 -0.001500 3.750000 -1.250000 0 3.125000 -1.125000 0
+ L3 26624 -0.001500 -1.250000 3.500000 0 -1.125000 3.000000 0
+ L3 26624 -0.001500 -2.750000 1.750000 0 -2.375000 1.500000 0
+ L3 26624 -0.001500 1.750000 -4.000000 0 1.500000 -3.375000 0
+ L3 26624 -0.001500 2.250000 -3.625000 0 1.875000 -3.250000 0
+ END$SEGS
+STRUCTURE 211 3 0 0 0 Fn3 2 287.447917 582.958333 0 0.000000 "LgTrees 10"" Shade Shade-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 -2.317172 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.641330 -4.620551 0
+ -0.648256 -5.048124 0
+ 0.468951 -3.668855 0
+ 1.751672 -4.868819 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 4.565380 -2.096489 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 4.096429 2.993014 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.475818 4.841234 0
+ 0.868939 3.903331 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -2.551648 4.261941 0
+ -2.317172 3.144733 0
+ -3.875746 3.034392 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 -1.158586 0
+ -3.420587 -1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 -3.227489 0
+ 1.655123 -4.192978 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 4.013673 -1.503403 0
+ 4.137807 -0.703427 0
+ 2.979221 0.096549 0
+ 3.986087 1.613745 0
+ 3.544721 2.137867 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 1.434440 3.903331 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.820635 3.517136 0
+ -1.834428 2.413721 0
+ -2.675782 2.386135 0
+ -3.227489 1.282720 0
+ -2.248208 0.358610 0
+ -3.172319 -0.124134 0
+ -3.020599 -0.786183 0
+ -1.544781 -1.062037 0
+ -2.110281 -2.068903 0
+ -1.186171 -2.786123 0
+ -0.813769 -3.599892 0
+ L3 65280 -0.001500 -0.875000 -4.250000 0 -0.375000 -3.875000 0
+ L3 65280 -0.001500 -1.250000 -4.000000 0 -1.375000 -3.375000 0
+ L3 65280 -0.001500 -2.875000 -2.625000 0 -2.000000 -2.625000 0
+ L3 65280 -0.001500 -3.500000 -2.375000 0 -3.125000 -2.000000 0
+ L3 65280 -0.001500 -2.625000 -2.125000 0 -2.125000 -1.750000 0
+ L3 65280 -0.001500 -2.375000 -1.375000 0 -3.125000 -1.250000 0
+ L3 65280 -0.001500 -4.250000 -1.000000 0 -3.375000 -1.000000 0
+ L3 65280 -0.001500 -4.250000 -0.250000 0 -3.500000 -0.625000 0
+ L3 65280 -0.001500 -2.875000 0.375000 0 -3.500000 0.250000 0
+ L3 65280 -0.001500 -3.375000 0.875000 0 -4.250000 1.375000 0
+ L3 65280 -0.001500 -3.875000 1.875000 0 -3.250000 2.000000 0
+ L3 65280 -0.001500 -3.000000 2.875000 0 -2.750000 2.500000 0
+ L3 65280 -0.001500 -1.875000 3.750000 0 -2.125000 4.125000 0
+ L3 65280 -0.001500 -1.125000 4.000000 0 -0.875000 4.375000 0
+ L3 65280 -0.001500 -0.125000 3.375000 0 0.000000 3.750000 0
+ L3 65280 -0.001500 0.625000 3.375000 0 0.250000 3.625000 0
+ L3 65280 -0.001500 1.625000 4.000000 0 1.500000 4.500000 0
+ L3 65280 -0.001500 2.375000 3.750000 0 2.750000 3.875000 0
+ L3 65280 -0.001500 4.375000 1.750000 0 4.000000 1.875000 0
+ L3 65280 -0.001500 3.750000 2.375000 0 4.000000 2.750000 0
+ L3 65280 -0.001500 4.375000 -0.375000 0 3.875000 -0.250000 0
+ L3 65280 -0.001500 -3.500000 -3.125000 0 -3.250000 -2.625000 0
+ L3 65280 -0.001500 -4.000000 -2.375000 0 -3.625000 -2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 -1.979214 0
+ 1.141169 -1.747415 0
+ 1.052015 -1.158999 0
+ 1.569107 -1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 -2.371491 0
+ -0.677569 -1.961384 0
+ 0.089154 -1.622599 0
+ 0.303123 -2.121861 0
+ -0.089154 -2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 0.089154 0
+ 1.515615 0.303123 0
+ 1.319476 -0.160477 0
+ 2.585460 -0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 2.371491 0
+ 0.124815 2.014876 0
+ 0.249631 1.265984 0
+ 0.534923 1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 1.783076 0
+ 1.925722 1.230323 0
+ 1.533445 1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 0.213969 0
+ -1.622599 0.035662 0
+ -0.766723 -0.178308 0
+ -0.303123 0.303123 0
+ -1.372969 0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 2.068368 0
+ -1.141169 1.943553 0
+ -0.784553 1.105507 0
+ -1.337307 1.248153 0
+ L3 26624 -0.001500 0.250000 -2.750000 0 0.500000 -2.375000 0
+ L3 26624 -0.001500 1.750000 -2.375000 0 1.125000 -2.125000 0
+ L3 26624 -0.001500 2.000000 -3.000000 0 1.625000 -2.750000 0
+ L3 26624 -0.001500 1.125000 -3.250000 0 0.875000 -2.750000 0
+ L3 26624 -0.001500 -0.500000 -3.125000 0 -0.250000 -2.750000 0
+ L3 26624 -0.001500 -1.500000 -2.000000 0 -1.000000 -2.000000 0
+ L3 26624 -0.001500 -1.125000 -1.375000 0 -0.500000 -1.625000 0
+ L3 26624 -0.001500 -1.500000 -0.750000 0 -1.000000 -0.375000 0
+ L3 26624 -0.001500 -2.250000 -0.625000 0 -1.750000 -0.375000 0
+ L3 26624 -0.001500 -2.875000 -0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 0.625000 0 -2.500000 1.125000 0
+ L3 26624 -0.001500 -2.250000 1.750000 0 -1.875000 1.250000 0
+ L3 26624 -0.001500 -1.375000 2.750000 0 -1.000000 2.250000 0
+ L3 26624 -0.001500 -0.500000 2.250000 0 -0.625000 3.000000 0
+ L3 26624 -0.001500 -0.375000 1.375000 0 -0.250000 1.875000 0
+ L3 26624 -0.001500 0.875000 2.250000 0 1.125000 3.000000 0
+ L3 26624 -0.001500 1.500000 2.125000 0 2.250000 2.500000 0
+ L3 26624 -0.001500 3.375000 0.875000 0 2.750000 1.000000 0
+ L3 26624 -0.001500 3.375000 2.000000 0 2.750000 1.750000 0
+ L3 26624 -0.001500 3.625000 1.500000 0 3.000000 1.375000 0
+ L3 26624 -0.001500 1.500000 3.625000 0 1.375000 3.125000 0
+ L3 26624 -0.001500 2.250000 3.250000 0 1.875000 2.875000 0
+ L3 26624 -0.001500 1.750000 3.375000 0 1.500000 2.625000 0
+ L3 26624 -0.001500 3.750000 -0.625000 0 3.000000 -0.750000 0
+ L3 26624 -0.001500 3.125000 -1.625000 0 2.500000 -1.250000 0
+ L3 26624 -0.001500 3.750000 -1.250000 0 3.125000 -1.125000 0
+ L3 26624 -0.001500 -1.250000 3.500000 0 -1.125000 3.000000 0
+ L3 26624 -0.001500 -2.750000 1.750000 0 -2.375000 1.500000 0
+ L3 26624 -0.001500 1.750000 -4.000000 0 1.500000 -3.375000 0
+ L3 26624 -0.001500 2.250000 -3.625000 0 1.875000 -3.250000 0
+ END$SEGS
+STRUCTURE 212 3 0 0 0 Fn3 2 322.447917 569.958333 0 0.000000 "LgTrees 10"" Shade Shade-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 -2.317172 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.641330 -4.620551 0
+ -0.648256 -5.048124 0
+ 0.468951 -3.668855 0
+ 1.751672 -4.868819 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 4.565380 -2.096489 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 4.096429 2.993014 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.475818 4.841234 0
+ 0.868939 3.903331 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -2.551648 4.261941 0
+ -2.317172 3.144733 0
+ -3.875746 3.034392 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 -1.158586 0
+ -3.420587 -1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 -3.227489 0
+ 1.655123 -4.192978 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 4.013673 -1.503403 0
+ 4.137807 -0.703427 0
+ 2.979221 0.096549 0
+ 3.986087 1.613745 0
+ 3.544721 2.137867 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 1.434440 3.903331 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.820635 3.517136 0
+ -1.834428 2.413721 0
+ -2.675782 2.386135 0
+ -3.227489 1.282720 0
+ -2.248208 0.358610 0
+ -3.172319 -0.124134 0
+ -3.020599 -0.786183 0
+ -1.544781 -1.062037 0
+ -2.110281 -2.068903 0
+ -1.186171 -2.786123 0
+ -0.813769 -3.599892 0
+ L3 65280 -0.001500 -0.875000 -4.250000 0 -0.375000 -3.875000 0
+ L3 65280 -0.001500 -1.250000 -4.000000 0 -1.375000 -3.375000 0
+ L3 65280 -0.001500 -2.875000 -2.625000 0 -2.000000 -2.625000 0
+ L3 65280 -0.001500 -3.500000 -2.375000 0 -3.125000 -2.000000 0
+ L3 65280 -0.001500 -2.625000 -2.125000 0 -2.125000 -1.750000 0
+ L3 65280 -0.001500 -2.375000 -1.375000 0 -3.125000 -1.250000 0
+ L3 65280 -0.001500 -4.250000 -1.000000 0 -3.375000 -1.000000 0
+ L3 65280 -0.001500 -4.250000 -0.250000 0 -3.500000 -0.625000 0
+ L3 65280 -0.001500 -2.875000 0.375000 0 -3.500000 0.250000 0
+ L3 65280 -0.001500 -3.375000 0.875000 0 -4.250000 1.375000 0
+ L3 65280 -0.001500 -3.875000 1.875000 0 -3.250000 2.000000 0
+ L3 65280 -0.001500 -3.000000 2.875000 0 -2.750000 2.500000 0
+ L3 65280 -0.001500 -1.875000 3.750000 0 -2.125000 4.125000 0
+ L3 65280 -0.001500 -1.125000 4.000000 0 -0.875000 4.375000 0
+ L3 65280 -0.001500 -0.125000 3.375000 0 0.000000 3.750000 0
+ L3 65280 -0.001500 0.625000 3.375000 0 0.250000 3.625000 0
+ L3 65280 -0.001500 1.625000 4.000000 0 1.500000 4.500000 0
+ L3 65280 -0.001500 2.375000 3.750000 0 2.750000 3.875000 0
+ L3 65280 -0.001500 4.375000 1.750000 0 4.000000 1.875000 0
+ L3 65280 -0.001500 3.750000 2.375000 0 4.000000 2.750000 0
+ L3 65280 -0.001500 4.375000 -0.375000 0 3.875000 -0.250000 0
+ L3 65280 -0.001500 -3.500000 -3.125000 0 -3.250000 -2.625000 0
+ L3 65280 -0.001500 -4.000000 -2.375000 0 -3.625000 -2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 -1.979214 0
+ 1.141169 -1.747415 0
+ 1.052015 -1.158999 0
+ 1.569107 -1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 -2.371491 0
+ -0.677569 -1.961384 0
+ 0.089154 -1.622599 0
+ 0.303123 -2.121861 0
+ -0.089154 -2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 0.089154 0
+ 1.515615 0.303123 0
+ 1.319476 -0.160477 0
+ 2.585460 -0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 2.371491 0
+ 0.124815 2.014876 0
+ 0.249631 1.265984 0
+ 0.534923 1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 1.783076 0
+ 1.925722 1.230323 0
+ 1.533445 1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 0.213969 0
+ -1.622599 0.035662 0
+ -0.766723 -0.178308 0
+ -0.303123 0.303123 0
+ -1.372969 0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 2.068368 0
+ -1.141169 1.943553 0
+ -0.784553 1.105507 0
+ -1.337307 1.248153 0
+ L3 26624 -0.001500 0.250000 -2.750000 0 0.500000 -2.375000 0
+ L3 26624 -0.001500 1.750000 -2.375000 0 1.125000 -2.125000 0
+ L3 26624 -0.001500 2.000000 -3.000000 0 1.625000 -2.750000 0
+ L3 26624 -0.001500 1.125000 -3.250000 0 0.875000 -2.750000 0
+ L3 26624 -0.001500 -0.500000 -3.125000 0 -0.250000 -2.750000 0
+ L3 26624 -0.001500 -1.500000 -2.000000 0 -1.000000 -2.000000 0
+ L3 26624 -0.001500 -1.125000 -1.375000 0 -0.500000 -1.625000 0
+ L3 26624 -0.001500 -1.500000 -0.750000 0 -1.000000 -0.375000 0
+ L3 26624 -0.001500 -2.250000 -0.625000 0 -1.750000 -0.375000 0
+ L3 26624 -0.001500 -2.875000 -0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 0.625000 0 -2.500000 1.125000 0
+ L3 26624 -0.001500 -2.250000 1.750000 0 -1.875000 1.250000 0
+ L3 26624 -0.001500 -1.375000 2.750000 0 -1.000000 2.250000 0
+ L3 26624 -0.001500 -0.500000 2.250000 0 -0.625000 3.000000 0
+ L3 26624 -0.001500 -0.375000 1.375000 0 -0.250000 1.875000 0
+ L3 26624 -0.001500 0.875000 2.250000 0 1.125000 3.000000 0
+ L3 26624 -0.001500 1.500000 2.125000 0 2.250000 2.500000 0
+ L3 26624 -0.001500 3.375000 0.875000 0 2.750000 1.000000 0
+ L3 26624 -0.001500 3.375000 2.000000 0 2.750000 1.750000 0
+ L3 26624 -0.001500 3.625000 1.500000 0 3.000000 1.375000 0
+ L3 26624 -0.001500 1.500000 3.625000 0 1.375000 3.125000 0
+ L3 26624 -0.001500 2.250000 3.250000 0 1.875000 2.875000 0
+ L3 26624 -0.001500 1.750000 3.375000 0 1.500000 2.625000 0
+ L3 26624 -0.001500 3.750000 -0.625000 0 3.000000 -0.750000 0
+ L3 26624 -0.001500 3.125000 -1.625000 0 2.500000 -1.250000 0
+ L3 26624 -0.001500 3.750000 -1.250000 0 3.125000 -1.125000 0
+ L3 26624 -0.001500 -1.250000 3.500000 0 -1.125000 3.000000 0
+ L3 26624 -0.001500 -2.750000 1.750000 0 -2.375000 1.500000 0
+ L3 26624 -0.001500 1.750000 -4.000000 0 1.500000 -3.375000 0
+ L3 26624 -0.001500 2.250000 -3.625000 0 1.875000 -3.250000 0
+ END$SEGS
+STRUCTURE 213 3 0 0 0 Fn3 2 355.947917 581.458333 0 0.000000 "LgTrees 10"" Shade Shade-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 -2.317172 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.641330 -4.620551 0
+ -0.648256 -5.048124 0
+ 0.468951 -3.668855 0
+ 1.751672 -4.868819 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 4.565380 -2.096489 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 4.096429 2.993014 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.475818 4.841234 0
+ 0.868939 3.903331 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -2.551648 4.261941 0
+ -2.317172 3.144733 0
+ -3.875746 3.034392 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 -1.158586 0
+ -3.420587 -1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 -3.227489 0
+ 1.655123 -4.192978 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 4.013673 -1.503403 0
+ 4.137807 -0.703427 0
+ 2.979221 0.096549 0
+ 3.986087 1.613745 0
+ 3.544721 2.137867 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 1.434440 3.903331 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.820635 3.517136 0
+ -1.834428 2.413721 0
+ -2.675782 2.386135 0
+ -3.227489 1.282720 0
+ -2.248208 0.358610 0
+ -3.172319 -0.124134 0
+ -3.020599 -0.786183 0
+ -1.544781 -1.062037 0
+ -2.110281 -2.068903 0
+ -1.186171 -2.786123 0
+ -0.813769 -3.599892 0
+ L3 65280 -0.001500 -0.875000 -4.250000 0 -0.375000 -3.875000 0
+ L3 65280 -0.001500 -1.250000 -4.000000 0 -1.375000 -3.375000 0
+ L3 65280 -0.001500 -2.875000 -2.625000 0 -2.000000 -2.625000 0
+ L3 65280 -0.001500 -3.500000 -2.375000 0 -3.125000 -2.000000 0
+ L3 65280 -0.001500 -2.625000 -2.125000 0 -2.125000 -1.750000 0
+ L3 65280 -0.001500 -2.375000 -1.375000 0 -3.125000 -1.250000 0
+ L3 65280 -0.001500 -4.250000 -1.000000 0 -3.375000 -1.000000 0
+ L3 65280 -0.001500 -4.250000 -0.250000 0 -3.500000 -0.625000 0
+ L3 65280 -0.001500 -2.875000 0.375000 0 -3.500000 0.250000 0
+ L3 65280 -0.001500 -3.375000 0.875000 0 -4.250000 1.375000 0
+ L3 65280 -0.001500 -3.875000 1.875000 0 -3.250000 2.000000 0
+ L3 65280 -0.001500 -3.000000 2.875000 0 -2.750000 2.500000 0
+ L3 65280 -0.001500 -1.875000 3.750000 0 -2.125000 4.125000 0
+ L3 65280 -0.001500 -1.125000 4.000000 0 -0.875000 4.375000 0
+ L3 65280 -0.001500 -0.125000 3.375000 0 0.000000 3.750000 0
+ L3 65280 -0.001500 0.625000 3.375000 0 0.250000 3.625000 0
+ L3 65280 -0.001500 1.625000 4.000000 0 1.500000 4.500000 0
+ L3 65280 -0.001500 2.375000 3.750000 0 2.750000 3.875000 0
+ L3 65280 -0.001500 4.375000 1.750000 0 4.000000 1.875000 0
+ L3 65280 -0.001500 3.750000 2.375000 0 4.000000 2.750000 0
+ L3 65280 -0.001500 4.375000 -0.375000 0 3.875000 -0.250000 0
+ L3 65280 -0.001500 -3.500000 -3.125000 0 -3.250000 -2.625000 0
+ L3 65280 -0.001500 -4.000000 -2.375000 0 -3.625000 -2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 -1.979214 0
+ 1.141169 -1.747415 0
+ 1.052015 -1.158999 0
+ 1.569107 -1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 -2.371491 0
+ -0.677569 -1.961384 0
+ 0.089154 -1.622599 0
+ 0.303123 -2.121861 0
+ -0.089154 -2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 0.089154 0
+ 1.515615 0.303123 0
+ 1.319476 -0.160477 0
+ 2.585460 -0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 2.371491 0
+ 0.124815 2.014876 0
+ 0.249631 1.265984 0
+ 0.534923 1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 1.783076 0
+ 1.925722 1.230323 0
+ 1.533445 1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 0.213969 0
+ -1.622599 0.035662 0
+ -0.766723 -0.178308 0
+ -0.303123 0.303123 0
+ -1.372969 0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 2.068368 0
+ -1.141169 1.943553 0
+ -0.784553 1.105507 0
+ -1.337307 1.248153 0
+ L3 26624 -0.001500 0.250000 -2.750000 0 0.500000 -2.375000 0
+ L3 26624 -0.001500 1.750000 -2.375000 0 1.125000 -2.125000 0
+ L3 26624 -0.001500 2.000000 -3.000000 0 1.625000 -2.750000 0
+ L3 26624 -0.001500 1.125000 -3.250000 0 0.875000 -2.750000 0
+ L3 26624 -0.001500 -0.500000 -3.125000 0 -0.250000 -2.750000 0
+ L3 26624 -0.001500 -1.500000 -2.000000 0 -1.000000 -2.000000 0
+ L3 26624 -0.001500 -1.125000 -1.375000 0 -0.500000 -1.625000 0
+ L3 26624 -0.001500 -1.500000 -0.750000 0 -1.000000 -0.375000 0
+ L3 26624 -0.001500 -2.250000 -0.625000 0 -1.750000 -0.375000 0
+ L3 26624 -0.001500 -2.875000 -0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 0.625000 0 -2.500000 1.125000 0
+ L3 26624 -0.001500 -2.250000 1.750000 0 -1.875000 1.250000 0
+ L3 26624 -0.001500 -1.375000 2.750000 0 -1.000000 2.250000 0
+ L3 26624 -0.001500 -0.500000 2.250000 0 -0.625000 3.000000 0
+ L3 26624 -0.001500 -0.375000 1.375000 0 -0.250000 1.875000 0
+ L3 26624 -0.001500 0.875000 2.250000 0 1.125000 3.000000 0
+ L3 26624 -0.001500 1.500000 2.125000 0 2.250000 2.500000 0
+ L3 26624 -0.001500 3.375000 0.875000 0 2.750000 1.000000 0
+ L3 26624 -0.001500 3.375000 2.000000 0 2.750000 1.750000 0
+ L3 26624 -0.001500 3.625000 1.500000 0 3.000000 1.375000 0
+ L3 26624 -0.001500 1.500000 3.625000 0 1.375000 3.125000 0
+ L3 26624 -0.001500 2.250000 3.250000 0 1.875000 2.875000 0
+ L3 26624 -0.001500 1.750000 3.375000 0 1.500000 2.625000 0
+ L3 26624 -0.001500 3.750000 -0.625000 0 3.000000 -0.750000 0
+ L3 26624 -0.001500 3.125000 -1.625000 0 2.500000 -1.250000 0
+ L3 26624 -0.001500 3.750000 -1.250000 0 3.125000 -1.125000 0
+ L3 26624 -0.001500 -1.250000 3.500000 0 -1.125000 3.000000 0
+ L3 26624 -0.001500 -2.750000 1.750000 0 -2.375000 1.500000 0
+ L3 26624 -0.001500 1.750000 -4.000000 0 1.500000 -3.375000 0
+ L3 26624 -0.001500 2.250000 -3.625000 0 1.875000 -3.250000 0
+ END$SEGS
+STRUCTURE 214 3 0 0 0 Fn3 2 320.947917 589.458333 0 0.000000 "LgTrees 12"" Shade Shade-12a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 2.703213 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.914776 5.390335 0
+ -0.756256 5.889142 0
+ 0.547079 4.280087 0
+ 2.043500 5.679965 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 5.325972 2.445764 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 4.778894 -3.491650 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 1.721689 -5.647783 0
+ 1.013705 -4.553626 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -2.976752 -4.971980 0
+ -2.703213 -3.668646 0
+ -4.521445 -3.539921 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 1.351606 0
+ -3.990457 1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 3.765189 0
+ 1.930866 4.891528 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.682350 1.753870 0
+ 4.827165 0.820618 0
+ 3.475559 -0.112634 0
+ 4.650169 -1.882594 0
+ 4.135272 -2.494035 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 1.673417 -4.553626 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.123953 -4.103091 0
+ -2.140043 -2.815846 0
+ -3.121567 -2.783665 0
+ -3.765189 -1.496421 0
+ -2.622760 -0.418354 0
+ -3.700827 0.144815 0
+ -3.523831 0.917161 0
+ -1.802142 1.238972 0
+ -2.461854 2.413583 0
+ -1.383787 3.250291 0
+ -0.949343 4.199634 0
+ L3 65280 -0.001500 -1.020775 4.958050 0 -0.437475 4.520575 0
+ L3 65280 -0.001500 -1.458250 4.666400 0 -1.604075 3.937275 0
+ L3 65280 -0.001500 -3.353975 3.062325 0 -2.333200 3.062325 0
+ L3 65280 -0.001500 -4.083100 2.770675 0 -3.645625 2.333200 0
+ L3 65280 -0.001500 -3.062325 2.479025 0 -2.479025 2.041550 0
+ L3 65280 -0.001500 -2.770675 1.604075 0 -3.645625 1.458250 0
+ L3 65280 -0.001500 -4.958050 1.166600 0 -3.937275 1.166600 0
+ L3 65280 -0.001500 -4.958050 0.291650 0 -4.083100 0.729125 0
+ L3 65280 -0.001500 -3.353975 -0.437475 0 -4.083100 -0.291650 0
+ L3 65280 -0.001500 -3.937275 -1.020775 0 -4.958050 -1.604075 0
+ L3 65280 -0.001500 -4.520575 -2.187375 0 -3.791450 -2.333200 0
+ L3 65280 -0.001500 -3.499800 -3.353975 0 -3.208150 -2.916500 0
+ L3 65280 -0.001500 -2.187375 -4.374750 0 -2.479025 -4.812225 0
+ L3 65280 -0.001500 -1.312425 -4.666400 0 -1.020775 -5.103875 0
+ L3 65280 -0.001500 -0.145825 -3.937275 0 0.000000 -4.374750 0
+ L3 65280 -0.001500 0.729125 -3.937275 0 0.291650 -4.228925 0
+ L3 65280 -0.001500 1.895725 -4.666400 0 1.749900 -5.249700 0
+ L3 65280 -0.001500 2.770675 -4.374750 0 3.208150 -4.520575 0
+ L3 65280 -0.001500 5.103875 -2.041550 0 4.666400 -2.187375 0
+ L3 65280 -0.001500 4.374750 -2.770675 0 4.666400 -3.208150 0
+ L3 65280 -0.001500 5.103875 0.437475 0 4.520575 0.291650 0
+ L3 65280 -0.001500 -4.083100 3.645625 0 -3.791450 3.062325 0
+ L3 65280 -0.001500 -4.666400 2.770675 0 -4.228925 3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 2.308952 0
+ 1.331287 2.038534 0
+ 1.227281 1.352089 0
+ 1.830520 1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 2.766582 0
+ -0.790452 2.288150 0
+ 0.104007 1.892924 0
+ 0.353623 2.475363 0
+ -0.104007 2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 -0.104007 0
+ 1.768116 -0.353623 0
+ 1.539301 0.187212 0
+ 3.016198 0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 -2.766582 0
+ 0.145610 -2.350554 0
+ 0.291219 -1.476897 0
+ 0.624041 -1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 -2.080137 0
+ 2.246548 -1.435294 0
+ 1.788917 -1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 -0.249616 0
+ -1.892924 -0.041603 0
+ -0.894459 0.208014 0
+ -0.353623 -0.353623 0
+ -1.601705 -0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 -2.412958 0
+ -1.331287 -2.267349 0
+ -0.915260 -1.289685 0
+ -1.560102 -1.456096 0
+ L3 26624 -0.001500 0.291650 3.208150 0 0.583300 2.770675 0
+ L3 26624 -0.001500 2.041550 2.770675 0 1.312425 2.479025 0
+ L3 26624 -0.001500 2.333200 3.499800 0 1.895725 3.208150 0
+ L3 26624 -0.001500 1.312425 3.791450 0 1.020775 3.208150 0
+ L3 26624 -0.001500 -0.583300 3.645625 0 -0.291650 3.208150 0
+ L3 26624 -0.001500 -1.749900 2.333200 0 -1.166600 2.333200 0
+ L3 26624 -0.001500 -1.312425 1.604075 0 -0.583300 1.895725 0
+ L3 26624 -0.001500 -1.749900 0.874950 0 -1.166600 0.437475 0
+ L3 26624 -0.001500 -2.624850 0.729125 0 -2.041550 0.437475 0
+ L3 26624 -0.001500 -3.353975 0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 -0.729125 0 -2.916500 -1.312425 0
+ L3 26624 -0.001500 -2.624850 -2.041550 0 -2.187375 -1.458250 0
+ L3 26624 -0.001500 -1.604075 -3.208150 0 -1.166600 -2.624850 0
+ L3 26624 -0.001500 -0.583300 -2.624850 0 -0.729125 -3.499800 0
+ L3 26624 -0.001500 -0.437475 -1.604075 0 -0.291650 -2.187375 0
+ L3 26624 -0.001500 1.020775 -2.624850 0 1.312425 -3.499800 0
+ L3 26624 -0.001500 1.749900 -2.479025 0 2.624850 -2.916500 0
+ L3 26624 -0.001500 3.937275 -1.020775 0 3.208150 -1.166600 0
+ L3 26624 -0.001500 3.937275 -2.333200 0 3.208150 -2.041550 0
+ L3 26624 -0.001500 4.228925 -1.749900 0 3.499800 -1.604075 0
+ L3 26624 -0.001500 1.749900 -4.228925 0 1.604075 -3.645625 0
+ L3 26624 -0.001500 2.624850 -3.791450 0 2.187375 -3.353975 0
+ L3 26624 -0.001500 2.041550 -3.937275 0 1.749900 -3.062325 0
+ L3 26624 -0.001500 4.374750 0.729125 0 3.499800 0.874950 0
+ L3 26624 -0.001500 3.645625 1.895725 0 2.916500 1.458250 0
+ L3 26624 -0.001500 4.374750 1.458250 0 3.645625 1.312425 0
+ L3 26624 -0.001500 -1.458250 -4.083100 0 -1.312425 -3.499800 0
+ L3 26624 -0.001500 -3.208150 -2.041550 0 -2.770675 -1.749900 0
+ L3 26624 -0.001500 2.041550 4.666400 0 1.749900 3.937275 0
+ L3 26624 -0.001500 2.624850 4.228925 0 2.187375 3.791450 0
+ END$SEGS
+STRUCTURE 215 3 0 0 0 Fn3 2 218.947917 588.958333 0 0.000000 "LgTrees 12"" Shade Shade-12a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 2.703213 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.914776 5.390335 0
+ -0.756256 5.889142 0
+ 0.547079 4.280087 0
+ 2.043500 5.679965 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 5.325972 2.445764 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 4.778894 -3.491650 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 1.721689 -5.647783 0
+ 1.013705 -4.553626 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -2.976752 -4.971980 0
+ -2.703213 -3.668646 0
+ -4.521445 -3.539921 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 1.351606 0
+ -3.990457 1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 3.765189 0
+ 1.930866 4.891528 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.682350 1.753870 0
+ 4.827165 0.820618 0
+ 3.475559 -0.112634 0
+ 4.650169 -1.882594 0
+ 4.135272 -2.494035 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 1.673417 -4.553626 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.123953 -4.103091 0
+ -2.140043 -2.815846 0
+ -3.121567 -2.783665 0
+ -3.765189 -1.496421 0
+ -2.622760 -0.418354 0
+ -3.700827 0.144815 0
+ -3.523831 0.917161 0
+ -1.802142 1.238972 0
+ -2.461854 2.413583 0
+ -1.383787 3.250291 0
+ -0.949343 4.199634 0
+ L3 65280 -0.001500 -1.020775 4.958050 0 -0.437475 4.520575 0
+ L3 65280 -0.001500 -1.458250 4.666400 0 -1.604075 3.937275 0
+ L3 65280 -0.001500 -3.353975 3.062325 0 -2.333200 3.062325 0
+ L3 65280 -0.001500 -4.083100 2.770675 0 -3.645625 2.333200 0
+ L3 65280 -0.001500 -3.062325 2.479025 0 -2.479025 2.041550 0
+ L3 65280 -0.001500 -2.770675 1.604075 0 -3.645625 1.458250 0
+ L3 65280 -0.001500 -4.958050 1.166600 0 -3.937275 1.166600 0
+ L3 65280 -0.001500 -4.958050 0.291650 0 -4.083100 0.729125 0
+ L3 65280 -0.001500 -3.353975 -0.437475 0 -4.083100 -0.291650 0
+ L3 65280 -0.001500 -3.937275 -1.020775 0 -4.958050 -1.604075 0
+ L3 65280 -0.001500 -4.520575 -2.187375 0 -3.791450 -2.333200 0
+ L3 65280 -0.001500 -3.499800 -3.353975 0 -3.208150 -2.916500 0
+ L3 65280 -0.001500 -2.187375 -4.374750 0 -2.479025 -4.812225 0
+ L3 65280 -0.001500 -1.312425 -4.666400 0 -1.020775 -5.103875 0
+ L3 65280 -0.001500 -0.145825 -3.937275 0 0.000000 -4.374750 0
+ L3 65280 -0.001500 0.729125 -3.937275 0 0.291650 -4.228925 0
+ L3 65280 -0.001500 1.895725 -4.666400 0 1.749900 -5.249700 0
+ L3 65280 -0.001500 2.770675 -4.374750 0 3.208150 -4.520575 0
+ L3 65280 -0.001500 5.103875 -2.041550 0 4.666400 -2.187375 0
+ L3 65280 -0.001500 4.374750 -2.770675 0 4.666400 -3.208150 0
+ L3 65280 -0.001500 5.103875 0.437475 0 4.520575 0.291650 0
+ L3 65280 -0.001500 -4.083100 3.645625 0 -3.791450 3.062325 0
+ L3 65280 -0.001500 -4.666400 2.770675 0 -4.228925 3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 2.308952 0
+ 1.331287 2.038534 0
+ 1.227281 1.352089 0
+ 1.830520 1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 2.766582 0
+ -0.790452 2.288150 0
+ 0.104007 1.892924 0
+ 0.353623 2.475363 0
+ -0.104007 2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 -0.104007 0
+ 1.768116 -0.353623 0
+ 1.539301 0.187212 0
+ 3.016198 0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 -2.766582 0
+ 0.145610 -2.350554 0
+ 0.291219 -1.476897 0
+ 0.624041 -1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 -2.080137 0
+ 2.246548 -1.435294 0
+ 1.788917 -1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 -0.249616 0
+ -1.892924 -0.041603 0
+ -0.894459 0.208014 0
+ -0.353623 -0.353623 0
+ -1.601705 -0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 -2.412958 0
+ -1.331287 -2.267349 0
+ -0.915260 -1.289685 0
+ -1.560102 -1.456096 0
+ L3 26624 -0.001500 0.291650 3.208150 0 0.583300 2.770675 0
+ L3 26624 -0.001500 2.041550 2.770675 0 1.312425 2.479025 0
+ L3 26624 -0.001500 2.333200 3.499800 0 1.895725 3.208150 0
+ L3 26624 -0.001500 1.312425 3.791450 0 1.020775 3.208150 0
+ L3 26624 -0.001500 -0.583300 3.645625 0 -0.291650 3.208150 0
+ L3 26624 -0.001500 -1.749900 2.333200 0 -1.166600 2.333200 0
+ L3 26624 -0.001500 -1.312425 1.604075 0 -0.583300 1.895725 0
+ L3 26624 -0.001500 -1.749900 0.874950 0 -1.166600 0.437475 0
+ L3 26624 -0.001500 -2.624850 0.729125 0 -2.041550 0.437475 0
+ L3 26624 -0.001500 -3.353975 0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 -0.729125 0 -2.916500 -1.312425 0
+ L3 26624 -0.001500 -2.624850 -2.041550 0 -2.187375 -1.458250 0
+ L3 26624 -0.001500 -1.604075 -3.208150 0 -1.166600 -2.624850 0
+ L3 26624 -0.001500 -0.583300 -2.624850 0 -0.729125 -3.499800 0
+ L3 26624 -0.001500 -0.437475 -1.604075 0 -0.291650 -2.187375 0
+ L3 26624 -0.001500 1.020775 -2.624850 0 1.312425 -3.499800 0
+ L3 26624 -0.001500 1.749900 -2.479025 0 2.624850 -2.916500 0
+ L3 26624 -0.001500 3.937275 -1.020775 0 3.208150 -1.166600 0
+ L3 26624 -0.001500 3.937275 -2.333200 0 3.208150 -2.041550 0
+ L3 26624 -0.001500 4.228925 -1.749900 0 3.499800 -1.604075 0
+ L3 26624 -0.001500 1.749900 -4.228925 0 1.604075 -3.645625 0
+ L3 26624 -0.001500 2.624850 -3.791450 0 2.187375 -3.353975 0
+ L3 26624 -0.001500 2.041550 -3.937275 0 1.749900 -3.062325 0
+ L3 26624 -0.001500 4.374750 0.729125 0 3.499800 0.874950 0
+ L3 26624 -0.001500 3.645625 1.895725 0 2.916500 1.458250 0
+ L3 26624 -0.001500 4.374750 1.458250 0 3.645625 1.312425 0
+ L3 26624 -0.001500 -1.458250 -4.083100 0 -1.312425 -3.499800 0
+ L3 26624 -0.001500 -3.208150 -2.041550 0 -2.770675 -1.749900 0
+ L3 26624 -0.001500 2.041550 4.666400 0 1.749900 3.937275 0
+ L3 26624 -0.001500 2.624850 4.228925 0 2.187375 3.791450 0
+ END$SEGS
+STRUCTURE 216 3 0 0 0 Fn3 2 262.447917 583.958333 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 217 3 0 0 0 Fn3 2 341.947917 563.958333 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 218 3 0 0 0 Fn3 2 197.947917 567.458333 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 219 3 0 0 0 Fn3 2 568.635417 528.395833 0 0.000000 "LgTrees 12"" Shade Shade-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 -0.001500 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 -0.001500 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 -0.001500 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 -0.001500 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 -0.001500 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 -0.001500 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 -0.001500 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 -0.001500 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 -0.001500 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 -0.001500 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 -0.001500 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 -0.001500 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 -0.001500 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 -0.001500 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 -0.001500 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 -0.001500 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 -0.001500 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 -0.001500 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 -0.001500 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 -0.001500 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 -0.001500 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 -0.001500 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 -0.001500 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 -0.001500 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 -0.001500 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 -0.001500 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 -0.001500 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 -0.001500 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 -0.001500 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 -0.001500 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 -0.001500 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 -0.001500 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 -0.001500 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 -0.001500 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 -0.001500 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 -0.001500 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 -0.001500 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 -0.001500 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 -0.001500 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 -0.001500 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 -0.001500 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 -0.001500 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 -0.001500 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 -0.001500 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 -0.001500 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 -0.001500 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 -0.001500 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 -0.001500 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 -0.001500 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 -0.001500 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 -0.001500 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 -0.001500 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+STRUCTURE 220 3 0 0 0 Fn3 2 518.635417 510.395833 0 0.000000 "LgTrees 12"" Shade Shade-12a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 0.079054 0
+ F4 26624 0.000000 28 0
+ -5.020252 2.703213 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.914776 5.390335 0
+ -0.756256 5.889142 0
+ 0.547079 4.280087 0
+ 2.043500 5.679965 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 5.325972 2.445764 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 4.778894 -3.491650 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 1.721689 -5.647783 0
+ 1.013705 -4.553626 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -2.976752 -4.971980 0
+ -2.703213 -3.668646 0
+ -4.521445 -3.539921 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 1.351606 0
+ -3.990457 1.866504 0
+ F4 65280 0.000000 26 0
+ 0.804528 3.765189 0
+ 1.930866 4.891528 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.682350 1.753870 0
+ 4.827165 0.820618 0
+ 3.475559 -0.112634 0
+ 4.650169 -1.882594 0
+ 4.135272 -2.494035 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 1.673417 -4.553626 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.123953 -4.103091 0
+ -2.140043 -2.815846 0
+ -3.121567 -2.783665 0
+ -3.765189 -1.496421 0
+ -2.622760 -0.418354 0
+ -3.700827 0.144815 0
+ -3.523831 0.917161 0
+ -1.802142 1.238972 0
+ -2.461854 2.413583 0
+ -1.383787 3.250291 0
+ -0.949343 4.199634 0
+ L3 65280 -0.001500 -1.020775 4.958050 0 -0.437475 4.520575 0
+ L3 65280 -0.001500 -1.458250 4.666400 0 -1.604075 3.937275 0
+ L3 65280 -0.001500 -3.353975 3.062325 0 -2.333200 3.062325 0
+ L3 65280 -0.001500 -4.083100 2.770675 0 -3.645625 2.333200 0
+ L3 65280 -0.001500 -3.062325 2.479025 0 -2.479025 2.041550 0
+ L3 65280 -0.001500 -2.770675 1.604075 0 -3.645625 1.458250 0
+ L3 65280 -0.001500 -4.958050 1.166600 0 -3.937275 1.166600 0
+ L3 65280 -0.001500 -4.958050 0.291650 0 -4.083100 0.729125 0
+ L3 65280 -0.001500 -3.353975 -0.437475 0 -4.083100 -0.291650 0
+ L3 65280 -0.001500 -3.937275 -1.020775 0 -4.958050 -1.604075 0
+ L3 65280 -0.001500 -4.520575 -2.187375 0 -3.791450 -2.333200 0
+ L3 65280 -0.001500 -3.499800 -3.353975 0 -3.208150 -2.916500 0
+ L3 65280 -0.001500 -2.187375 -4.374750 0 -2.479025 -4.812225 0
+ L3 65280 -0.001500 -1.312425 -4.666400 0 -1.020775 -5.103875 0
+ L3 65280 -0.001500 -0.145825 -3.937275 0 0.000000 -4.374750 0
+ L3 65280 -0.001500 0.729125 -3.937275 0 0.291650 -4.228925 0
+ L3 65280 -0.001500 1.895725 -4.666400 0 1.749900 -5.249700 0
+ L3 65280 -0.001500 2.770675 -4.374750 0 3.208150 -4.520575 0
+ L3 65280 -0.001500 5.103875 -2.041550 0 4.666400 -2.187375 0
+ L3 65280 -0.001500 4.374750 -2.770675 0 4.666400 -3.208150 0
+ L3 65280 -0.001500 5.103875 0.437475 0 4.520575 0.291650 0
+ L3 65280 -0.001500 -4.083100 3.645625 0 -3.791450 3.062325 0
+ L3 65280 -0.001500 -4.666400 2.770675 0 -4.228925 3.062325 0
+ F4 26624 0.000000 4 0
+ 2.246548 2.308952 0
+ 1.331287 2.038534 0
+ 1.227281 1.352089 0
+ 1.830520 1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 2.766582 0
+ -0.790452 2.288150 0
+ 0.104007 1.892924 0
+ 0.353623 2.475363 0
+ -0.104007 2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 -0.104007 0
+ 1.768116 -0.353623 0
+ 1.539301 0.187212 0
+ 3.016198 0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 -2.766582 0
+ 0.145610 -2.350554 0
+ 0.291219 -1.476897 0
+ 0.624041 -1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 -2.080137 0
+ 2.246548 -1.435294 0
+ 1.788917 -1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 -0.249616 0
+ -1.892924 -0.041603 0
+ -0.894459 0.208014 0
+ -0.353623 -0.353623 0
+ -1.601705 -0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 -2.412958 0
+ -1.331287 -2.267349 0
+ -0.915260 -1.289685 0
+ -1.560102 -1.456096 0
+ L3 26624 -0.001500 0.291650 3.208150 0 0.583300 2.770675 0
+ L3 26624 -0.001500 2.041550 2.770675 0 1.312425 2.479025 0
+ L3 26624 -0.001500 2.333200 3.499800 0 1.895725 3.208150 0
+ L3 26624 -0.001500 1.312425 3.791450 0 1.020775 3.208150 0
+ L3 26624 -0.001500 -0.583300 3.645625 0 -0.291650 3.208150 0
+ L3 26624 -0.001500 -1.749900 2.333200 0 -1.166600 2.333200 0
+ L3 26624 -0.001500 -1.312425 1.604075 0 -0.583300 1.895725 0
+ L3 26624 -0.001500 -1.749900 0.874950 0 -1.166600 0.437475 0
+ L3 26624 -0.001500 -2.624850 0.729125 0 -2.041550 0.437475 0
+ L3 26624 -0.001500 -3.353975 0.291650 0 -2.624850 0.000000 0
+ L3 26624 -0.001500 -2.333200 -0.729125 0 -2.916500 -1.312425 0
+ L3 26624 -0.001500 -2.624850 -2.041550 0 -2.187375 -1.458250 0
+ L3 26624 -0.001500 -1.604075 -3.208150 0 -1.166600 -2.624850 0
+ L3 26624 -0.001500 -0.583300 -2.624850 0 -0.729125 -3.499800 0
+ L3 26624 -0.001500 -0.437475 -1.604075 0 -0.291650 -2.187375 0
+ L3 26624 -0.001500 1.020775 -2.624850 0 1.312425 -3.499800 0
+ L3 26624 -0.001500 1.749900 -2.479025 0 2.624850 -2.916500 0
+ L3 26624 -0.001500 3.937275 -1.020775 0 3.208150 -1.166600 0
+ L3 26624 -0.001500 3.937275 -2.333200 0 3.208150 -2.041550 0
+ L3 26624 -0.001500 4.228925 -1.749900 0 3.499800 -1.604075 0
+ L3 26624 -0.001500 1.749900 -4.228925 0 1.604075 -3.645625 0
+ L3 26624 -0.001500 2.624850 -3.791450 0 2.187375 -3.353975 0
+ L3 26624 -0.001500 2.041550 -3.937275 0 1.749900 -3.062325 0
+ L3 26624 -0.001500 4.374750 0.729125 0 3.499800 0.874950 0
+ L3 26624 -0.001500 3.645625 1.895725 0 2.916500 1.458250 0
+ L3 26624 -0.001500 4.374750 1.458250 0 3.645625 1.312425 0
+ L3 26624 -0.001500 -1.458250 -4.083100 0 -1.312425 -3.499800 0
+ L3 26624 -0.001500 -3.208150 -2.041550 0 -2.770675 -1.749900 0
+ L3 26624 -0.001500 2.041550 4.666400 0 1.749900 3.937275 0
+ L3 26624 -0.001500 2.624850 4.228925 0 2.187375 3.791450 0
+ END$SEGS
+DRAW 221 5 0 0 0 0.000000 0.000000 0 0.000000
+ F4 32960 0.000000 14 0
+ 514.750000 562.437500 0
+ 528.000000 560.687500 0
+ 524.500000 577.187500 0
+ 525.666667 586.895833 0
+ 537.000000 624.500000 0
+ 543.000000 625.500000 0
+ 550.500000 632.500000 0
+ 557.500000 639.437500 0
+ 544.500000 647.187500 0
+ 536.500000 639.500000 0
+ 528.500000 634.500000 0
+ 527.000000 630.000000 0
+ 514.500000 592.500000 0
+ 512.000000 578.500000 0
+ END$SEGS
+DRAW 222 8 0 0 0 0.000000 0.000000 0 0.000000
+ F4 16761220 0.000000 8 0
+ 436.916667 680.708333 0
+ 550.916667 619.708333 0
+ 684.375000 578.437500 0
+ 754.875000 578.437500 0
+ 754.875000 529.437500 0
+ 684.375000 529.437500 0
+ 539.916667 580.708333 0
+ 434.916667 631.708333 0
+ END$SEGS
+DRAW 223 8 0 0 0 0.000000 0.000000 0 0.000000
+ F4 16761220 0.000000 10 0
+ 437.262467 680.523300 0
+ 254.250000 680.625000 0
+ 181.250000 714.625000 0
+ 144.250000 708.500000 0
+ 119.250000 691.125000 0
+ 119.250000 658.500000 0
+ 144.250000 635.625000 0
+ 180.250000 632.625000 0
+ 257.250000 632.500000 0
+ 436.985217 631.484547 0
+ END$SEGS
+DRAW 224 8 0 0 0 0.000000 0.000000 0 0.000000
+ F4 16761220 0.000000 16 0
+ 502.833333 439.833333 0
+ 572.333333 382.416667 0
+ 595.333333 371.916667 0
+ 617.333333 369.416667 0
+ 649.333333 372.416667 0
+ 680.333333 387.416667 0
+ 709.833333 425.416667 0
+ 750.833333 426.416667 0
+ 750.833333 369.416667 0
+ 725.833333 352.416667 0
+ 691.333333 338.416667 0
+ 649.333333 332.916667 0
+ 595.333333 333.416667 0
+ 569.333333 338.416667 0
+ 541.333333 349.916667 0
+ 473.500000 406.562500 0
+ END$SEGS
+STRUCTURE 225 3 0 0 0 Fn3 2 406.666667 554.458333 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 226 3 0 0 0 Fn3 2 376.166667 570.958333 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 227 3 0 0 0 Fn3 2 292.166667 572.458333 0 0.000000 "LgTrees 10"" Shade Shade-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 -2.317172 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.641330 -4.620551 0
+ -0.648256 -5.048124 0
+ 0.468951 -3.668855 0
+ 1.751672 -4.868819 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 4.565380 -2.096489 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 4.096429 2.993014 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.475818 4.841234 0
+ 0.868939 3.903331 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -2.551648 4.261941 0
+ -2.317172 3.144733 0
+ -3.875746 3.034392 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 -1.158586 0
+ -3.420587 -1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 -3.227489 0
+ 1.655123 -4.192978 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 4.013673 -1.503403 0
+ 4.137807 -0.703427 0
+ 2.979221 0.096549 0
+ 3.986087 1.613745 0
+ 3.544721 2.137867 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 1.434440 3.903331 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.820635 3.517136 0
+ -1.834428 2.413721 0
+ -2.675782 2.386135 0
+ -3.227489 1.282720 0
+ -2.248208 0.358610 0
+ -3.172319 -0.124134 0
+ -3.020599 -0.786183 0
+ -1.544781 -1.062037 0
+ -2.110281 -2.068903 0
+ -1.186171 -2.786123 0
+ -0.813769 -3.599892 0
+ L3 65280 -0.001500 -0.875000 -4.250000 0 -0.375000 -3.875000 0
+ L3 65280 -0.001500 -1.250000 -4.000000 0 -1.375000 -3.375000 0
+ L3 65280 -0.001500 -2.875000 -2.625000 0 -2.000000 -2.625000 0
+ L3 65280 -0.001500 -3.500000 -2.375000 0 -3.125000 -2.000000 0
+ L3 65280 -0.001500 -2.625000 -2.125000 0 -2.125000 -1.750000 0
+ L3 65280 -0.001500 -2.375000 -1.375000 0 -3.125000 -1.250000 0
+ L3 65280 -0.001500 -4.250000 -1.000000 0 -3.375000 -1.000000 0
+ L3 65280 -0.001500 -4.250000 -0.250000 0 -3.500000 -0.625000 0
+ L3 65280 -0.001500 -2.875000 0.375000 0 -3.500000 0.250000 0
+ L3 65280 -0.001500 -3.375000 0.875000 0 -4.250000 1.375000 0
+ L3 65280 -0.001500 -3.875000 1.875000 0 -3.250000 2.000000 0
+ L3 65280 -0.001500 -3.000000 2.875000 0 -2.750000 2.500000 0
+ L3 65280 -0.001500 -1.875000 3.750000 0 -2.125000 4.125000 0
+ L3 65280 -0.001500 -1.125000 4.000000 0 -0.875000 4.375000 0
+ L3 65280 -0.001500 -0.125000 3.375000 0 0.000000 3.750000 0
+ L3 65280 -0.001500 0.625000 3.375000 0 0.250000 3.625000 0
+ L3 65280 -0.001500 1.625000 4.000000 0 1.500000 4.500000 0
+ L3 65280 -0.001500 2.375000 3.750000 0 2.750000 3.875000 0
+ L3 65280 -0.001500 4.375000 1.750000 0 4.000000 1.875000 0
+ L3 65280 -0.001500 3.750000 2.375000 0 4.000000 2.750000 0
+ L3 65280 -0.001500 4.375000 -0.375000 0 3.875000 -0.250000 0
+ L3 65280 -0.001500 -3.500000 -3.125000 0 -3.250000 -2.625000 0
+ L3 65280 -0.001500 -4.000000 -2.375000 0 -3.625000 -2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 -1.979214 0
+ 1.141169 -1.747415 0
+ 1.052015 -1.158999 0
+ 1.569107 -1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 -2.371491 0
+ -0.677569 -1.961384 0
+ 0.089154 -1.622599 0
+ 0.303123 -2.121861 0
+ -0.089154 -2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 0.089154 0
+ 1.515615 0.303123 0
+ 1.319476 -0.160477 0
+ 2.585460 -0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 2.371491 0
+ 0.124815 2.014876 0
+ 0.249631 1.265984 0
+ 0.534923 1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 1.783076 0
+ 1.925722 1.230323 0
+ 1.533445 1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 0.213969 0
+ -1.622599 0.035662 0
+ -0.766723 -0.178308 0
+ -0.303123 0.303123 0
+ -1.372969 0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 2.068368 0
+ -1.141169 1.943553 0
+ -0.784553 1.105507 0
+ -1.337307 1.248153 0
+ L3 26624 -0.001500 0.250000 -2.750000 0 0.500000 -2.375000 0
+ L3 26624 -0.001500 1.750000 -2.375000 0 1.125000 -2.125000 0
+ L3 26624 -0.001500 2.000000 -3.000000 0 1.625000 -2.750000 0
+ L3 26624 -0.001500 1.125000 -3.250000 0 0.875000 -2.750000 0
+ L3 26624 -0.001500 -0.500000 -3.125000 0 -0.250000 -2.750000 0
+ L3 26624 -0.001500 -1.500000 -2.000000 0 -1.000000 -2.000000 0
+ L3 26624 -0.001500 -1.125000 -1.375000 0 -0.500000 -1.625000 0
+ L3 26624 -0.001500 -1.500000 -0.750000 0 -1.000000 -0.375000 0
+ L3 26624 -0.001500 -2.250000 -0.625000 0 -1.750000 -0.375000 0
+ L3 26624 -0.001500 -2.875000 -0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 0.625000 0 -2.500000 1.125000 0
+ L3 26624 -0.001500 -2.250000 1.750000 0 -1.875000 1.250000 0
+ L3 26624 -0.001500 -1.375000 2.750000 0 -1.000000 2.250000 0
+ L3 26624 -0.001500 -0.500000 2.250000 0 -0.625000 3.000000 0
+ L3 26624 -0.001500 -0.375000 1.375000 0 -0.250000 1.875000 0
+ L3 26624 -0.001500 0.875000 2.250000 0 1.125000 3.000000 0
+ L3 26624 -0.001500 1.500000 2.125000 0 2.250000 2.500000 0
+ L3 26624 -0.001500 3.375000 0.875000 0 2.750000 1.000000 0
+ L3 26624 -0.001500 3.375000 2.000000 0 2.750000 1.750000 0
+ L3 26624 -0.001500 3.625000 1.500000 0 3.000000 1.375000 0
+ L3 26624 -0.001500 1.500000 3.625000 0 1.375000 3.125000 0
+ L3 26624 -0.001500 2.250000 3.250000 0 1.875000 2.875000 0
+ L3 26624 -0.001500 1.750000 3.375000 0 1.500000 2.625000 0
+ L3 26624 -0.001500 3.750000 -0.625000 0 3.000000 -0.750000 0
+ L3 26624 -0.001500 3.125000 -1.625000 0 2.500000 -1.250000 0
+ L3 26624 -0.001500 3.750000 -1.250000 0 3.125000 -1.125000 0
+ L3 26624 -0.001500 -1.250000 3.500000 0 -1.125000 3.000000 0
+ L3 26624 -0.001500 -2.750000 1.750000 0 -2.375000 1.500000 0
+ L3 26624 -0.001500 1.750000 -4.000000 0 1.500000 -3.375000 0
+ L3 26624 -0.001500 2.250000 -3.625000 0 1.875000 -3.250000 0
+ END$SEGS
+STRUCTURE 228 3 0 0 0 Fn3 2 187.166667 591.958333 0 0.000000 "LgTrees 10"" Shade Shade-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 -2.317172 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.641330 -4.620551 0
+ -0.648256 -5.048124 0
+ 0.468951 -3.668855 0
+ 1.751672 -4.868819 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 4.565380 -2.096489 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 4.096429 2.993014 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.475818 4.841234 0
+ 0.868939 3.903331 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -2.551648 4.261941 0
+ -2.317172 3.144733 0
+ -3.875746 3.034392 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 -1.158586 0
+ -3.420587 -1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 -3.227489 0
+ 1.655123 -4.192978 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 4.013673 -1.503403 0
+ 4.137807 -0.703427 0
+ 2.979221 0.096549 0
+ 3.986087 1.613745 0
+ 3.544721 2.137867 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 1.434440 3.903331 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.820635 3.517136 0
+ -1.834428 2.413721 0
+ -2.675782 2.386135 0
+ -3.227489 1.282720 0
+ -2.248208 0.358610 0
+ -3.172319 -0.124134 0
+ -3.020599 -0.786183 0
+ -1.544781 -1.062037 0
+ -2.110281 -2.068903 0
+ -1.186171 -2.786123 0
+ -0.813769 -3.599892 0
+ L3 65280 -0.001500 -0.875000 -4.250000 0 -0.375000 -3.875000 0
+ L3 65280 -0.001500 -1.250000 -4.000000 0 -1.375000 -3.375000 0
+ L3 65280 -0.001500 -2.875000 -2.625000 0 -2.000000 -2.625000 0
+ L3 65280 -0.001500 -3.500000 -2.375000 0 -3.125000 -2.000000 0
+ L3 65280 -0.001500 -2.625000 -2.125000 0 -2.125000 -1.750000 0
+ L3 65280 -0.001500 -2.375000 -1.375000 0 -3.125000 -1.250000 0
+ L3 65280 -0.001500 -4.250000 -1.000000 0 -3.375000 -1.000000 0
+ L3 65280 -0.001500 -4.250000 -0.250000 0 -3.500000 -0.625000 0
+ L3 65280 -0.001500 -2.875000 0.375000 0 -3.500000 0.250000 0
+ L3 65280 -0.001500 -3.375000 0.875000 0 -4.250000 1.375000 0
+ L3 65280 -0.001500 -3.875000 1.875000 0 -3.250000 2.000000 0
+ L3 65280 -0.001500 -3.000000 2.875000 0 -2.750000 2.500000 0
+ L3 65280 -0.001500 -1.875000 3.750000 0 -2.125000 4.125000 0
+ L3 65280 -0.001500 -1.125000 4.000000 0 -0.875000 4.375000 0
+ L3 65280 -0.001500 -0.125000 3.375000 0 0.000000 3.750000 0
+ L3 65280 -0.001500 0.625000 3.375000 0 0.250000 3.625000 0
+ L3 65280 -0.001500 1.625000 4.000000 0 1.500000 4.500000 0
+ L3 65280 -0.001500 2.375000 3.750000 0 2.750000 3.875000 0
+ L3 65280 -0.001500 4.375000 1.750000 0 4.000000 1.875000 0
+ L3 65280 -0.001500 3.750000 2.375000 0 4.000000 2.750000 0
+ L3 65280 -0.001500 4.375000 -0.375000 0 3.875000 -0.250000 0
+ L3 65280 -0.001500 -3.500000 -3.125000 0 -3.250000 -2.625000 0
+ L3 65280 -0.001500 -4.000000 -2.375000 0 -3.625000 -2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 -1.979214 0
+ 1.141169 -1.747415 0
+ 1.052015 -1.158999 0
+ 1.569107 -1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 -2.371491 0
+ -0.677569 -1.961384 0
+ 0.089154 -1.622599 0
+ 0.303123 -2.121861 0
+ -0.089154 -2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 0.089154 0
+ 1.515615 0.303123 0
+ 1.319476 -0.160477 0
+ 2.585460 -0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 2.371491 0
+ 0.124815 2.014876 0
+ 0.249631 1.265984 0
+ 0.534923 1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 1.783076 0
+ 1.925722 1.230323 0
+ 1.533445 1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 0.213969 0
+ -1.622599 0.035662 0
+ -0.766723 -0.178308 0
+ -0.303123 0.303123 0
+ -1.372969 0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 2.068368 0
+ -1.141169 1.943553 0
+ -0.784553 1.105507 0
+ -1.337307 1.248153 0
+ L3 26624 -0.001500 0.250000 -2.750000 0 0.500000 -2.375000 0
+ L3 26624 -0.001500 1.750000 -2.375000 0 1.125000 -2.125000 0
+ L3 26624 -0.001500 2.000000 -3.000000 0 1.625000 -2.750000 0
+ L3 26624 -0.001500 1.125000 -3.250000 0 0.875000 -2.750000 0
+ L3 26624 -0.001500 -0.500000 -3.125000 0 -0.250000 -2.750000 0
+ L3 26624 -0.001500 -1.500000 -2.000000 0 -1.000000 -2.000000 0
+ L3 26624 -0.001500 -1.125000 -1.375000 0 -0.500000 -1.625000 0
+ L3 26624 -0.001500 -1.500000 -0.750000 0 -1.000000 -0.375000 0
+ L3 26624 -0.001500 -2.250000 -0.625000 0 -1.750000 -0.375000 0
+ L3 26624 -0.001500 -2.875000 -0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 0.625000 0 -2.500000 1.125000 0
+ L3 26624 -0.001500 -2.250000 1.750000 0 -1.875000 1.250000 0
+ L3 26624 -0.001500 -1.375000 2.750000 0 -1.000000 2.250000 0
+ L3 26624 -0.001500 -0.500000 2.250000 0 -0.625000 3.000000 0
+ L3 26624 -0.001500 -0.375000 1.375000 0 -0.250000 1.875000 0
+ L3 26624 -0.001500 0.875000 2.250000 0 1.125000 3.000000 0
+ L3 26624 -0.001500 1.500000 2.125000 0 2.250000 2.500000 0
+ L3 26624 -0.001500 3.375000 0.875000 0 2.750000 1.000000 0
+ L3 26624 -0.001500 3.375000 2.000000 0 2.750000 1.750000 0
+ L3 26624 -0.001500 3.625000 1.500000 0 3.000000 1.375000 0
+ L3 26624 -0.001500 1.500000 3.625000 0 1.375000 3.125000 0
+ L3 26624 -0.001500 2.250000 3.250000 0 1.875000 2.875000 0
+ L3 26624 -0.001500 1.750000 3.375000 0 1.500000 2.625000 0
+ L3 26624 -0.001500 3.750000 -0.625000 0 3.000000 -0.750000 0
+ L3 26624 -0.001500 3.125000 -1.625000 0 2.500000 -1.250000 0
+ L3 26624 -0.001500 3.750000 -1.250000 0 3.125000 -1.125000 0
+ L3 26624 -0.001500 -1.250000 3.500000 0 -1.125000 3.000000 0
+ L3 26624 -0.001500 -2.750000 1.750000 0 -2.375000 1.500000 0
+ L3 26624 -0.001500 1.750000 -4.000000 0 1.500000 -3.375000 0
+ L3 26624 -0.001500 2.250000 -3.625000 0 1.875000 -3.250000 0
+ END$SEGS
+STRUCTURE 229 3 0 0 0 Fn3 2 198.166667 608.458333 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 230 3 0 0 0 Fn3 2 239.666667 599.958333 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 231 3 0 0 0 Fn3 2 285.166667 603.958333 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 232 3 0 0 0 Fn3 2 322.166667 606.458333 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 233 3 0 0 0 Fn3 2 368.666667 598.958333 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 234 3 0 0 0 Fn3 2 400.166667 582.958333 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 235 3 0 0 0 Fn3 2 385.166667 593.458333 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 236 3 0 0 0 Fn3 2 356.666667 609.958333 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 237 3 0 0 0 Fn3 2 339.666667 606.458333 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 238 3 0 0 0 Fn3 2 329.666667 614.958333 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 239 3 0 0 0 Fn3 2 296.666667 607.958333 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 240 3 0 0 0 Fn3 2 309.666667 614.458333 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 241 3 0 0 0 Fn3 2 262.666667 610.958333 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 242 3 0 0 0 Fn3 2 247.166667 611.958333 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 243 3 0 0 0 Fn3 2 217.166667 606.958333 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 244 3 0 0 0 Fn3 2 210.666667 617.458333 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 245 3 0 0 0 Fn3 2 231.166667 610.958333 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 246 3 0 0 0 Fn3 2 256.166667 602.458333 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 247 3 0 0 0 Fn3 2 280.166667 612.458333 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 248 3 0 0 0 Fn3 2 189.166667 616.958333 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 249 3 0 0 0 Fn3 2 164.166667 604.958333 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 250 3 0 0 0 Fn3 2 182.666667 607.958333 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 251 3 0 0 0 Fn3 2 172.166667 618.958333 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 252 3 0 0 0 Fn3 2 256.500000 623.250000 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 253 3 0 0 0 Fn3 2 294.500000 620.250000 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 254 3 0 0 0 Fn3 2 224.500000 623.250000 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 255 3 0 0 0 Fn3 2 239.500000 620.250000 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 256 3 0 0 0 Fn3 2 200.500000 624.250000 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 257 3 0 0 0 Fn3 2 159.500000 623.250000 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 258 3 0 0 0 Fn3 2 320.500000 623.250000 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 259 3 0 0 0 Fn3 2 346.500000 617.250000 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 260 3 0 0 0 Fn3 2 380.500000 603.250000 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 261 3 0 0 0 Fn3 2 367.500000 618.250000 0 0.000000 "LgTrees 10"" Shade Shade-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 -2.317172 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.641330 -4.620551 0
+ -0.648256 -5.048124 0
+ 0.468951 -3.668855 0
+ 1.751672 -4.868819 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 4.565380 -2.096489 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 4.096429 2.993014 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.475818 4.841234 0
+ 0.868939 3.903331 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -2.551648 4.261941 0
+ -2.317172 3.144733 0
+ -3.875746 3.034392 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 -1.158586 0
+ -3.420587 -1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 -3.227489 0
+ 1.655123 -4.192978 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 4.013673 -1.503403 0
+ 4.137807 -0.703427 0
+ 2.979221 0.096549 0
+ 3.986087 1.613745 0
+ 3.544721 2.137867 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 1.434440 3.903331 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.820635 3.517136 0
+ -1.834428 2.413721 0
+ -2.675782 2.386135 0
+ -3.227489 1.282720 0
+ -2.248208 0.358610 0
+ -3.172319 -0.124134 0
+ -3.020599 -0.786183 0
+ -1.544781 -1.062037 0
+ -2.110281 -2.068903 0
+ -1.186171 -2.786123 0
+ -0.813769 -3.599892 0
+ L3 65280 -0.001500 -0.875000 -4.250000 0 -0.375000 -3.875000 0
+ L3 65280 -0.001500 -1.250000 -4.000000 0 -1.375000 -3.375000 0
+ L3 65280 -0.001500 -2.875000 -2.625000 0 -2.000000 -2.625000 0
+ L3 65280 -0.001500 -3.500000 -2.375000 0 -3.125000 -2.000000 0
+ L3 65280 -0.001500 -2.625000 -2.125000 0 -2.125000 -1.750000 0
+ L3 65280 -0.001500 -2.375000 -1.375000 0 -3.125000 -1.250000 0
+ L3 65280 -0.001500 -4.250000 -1.000000 0 -3.375000 -1.000000 0
+ L3 65280 -0.001500 -4.250000 -0.250000 0 -3.500000 -0.625000 0
+ L3 65280 -0.001500 -2.875000 0.375000 0 -3.500000 0.250000 0
+ L3 65280 -0.001500 -3.375000 0.875000 0 -4.250000 1.375000 0
+ L3 65280 -0.001500 -3.875000 1.875000 0 -3.250000 2.000000 0
+ L3 65280 -0.001500 -3.000000 2.875000 0 -2.750000 2.500000 0
+ L3 65280 -0.001500 -1.875000 3.750000 0 -2.125000 4.125000 0
+ L3 65280 -0.001500 -1.125000 4.000000 0 -0.875000 4.375000 0
+ L3 65280 -0.001500 -0.125000 3.375000 0 0.000000 3.750000 0
+ L3 65280 -0.001500 0.625000 3.375000 0 0.250000 3.625000 0
+ L3 65280 -0.001500 1.625000 4.000000 0 1.500000 4.500000 0
+ L3 65280 -0.001500 2.375000 3.750000 0 2.750000 3.875000 0
+ L3 65280 -0.001500 4.375000 1.750000 0 4.000000 1.875000 0
+ L3 65280 -0.001500 3.750000 2.375000 0 4.000000 2.750000 0
+ L3 65280 -0.001500 4.375000 -0.375000 0 3.875000 -0.250000 0
+ L3 65280 -0.001500 -3.500000 -3.125000 0 -3.250000 -2.625000 0
+ L3 65280 -0.001500 -4.000000 -2.375000 0 -3.625000 -2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 -1.979214 0
+ 1.141169 -1.747415 0
+ 1.052015 -1.158999 0
+ 1.569107 -1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 -2.371491 0
+ -0.677569 -1.961384 0
+ 0.089154 -1.622599 0
+ 0.303123 -2.121861 0
+ -0.089154 -2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 0.089154 0
+ 1.515615 0.303123 0
+ 1.319476 -0.160477 0
+ 2.585460 -0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 2.371491 0
+ 0.124815 2.014876 0
+ 0.249631 1.265984 0
+ 0.534923 1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 1.783076 0
+ 1.925722 1.230323 0
+ 1.533445 1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 0.213969 0
+ -1.622599 0.035662 0
+ -0.766723 -0.178308 0
+ -0.303123 0.303123 0
+ -1.372969 0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 2.068368 0
+ -1.141169 1.943553 0
+ -0.784553 1.105507 0
+ -1.337307 1.248153 0
+ L3 26624 -0.001500 0.250000 -2.750000 0 0.500000 -2.375000 0
+ L3 26624 -0.001500 1.750000 -2.375000 0 1.125000 -2.125000 0
+ L3 26624 -0.001500 2.000000 -3.000000 0 1.625000 -2.750000 0
+ L3 26624 -0.001500 1.125000 -3.250000 0 0.875000 -2.750000 0
+ L3 26624 -0.001500 -0.500000 -3.125000 0 -0.250000 -2.750000 0
+ L3 26624 -0.001500 -1.500000 -2.000000 0 -1.000000 -2.000000 0
+ L3 26624 -0.001500 -1.125000 -1.375000 0 -0.500000 -1.625000 0
+ L3 26624 -0.001500 -1.500000 -0.750000 0 -1.000000 -0.375000 0
+ L3 26624 -0.001500 -2.250000 -0.625000 0 -1.750000 -0.375000 0
+ L3 26624 -0.001500 -2.875000 -0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 0.625000 0 -2.500000 1.125000 0
+ L3 26624 -0.001500 -2.250000 1.750000 0 -1.875000 1.250000 0
+ L3 26624 -0.001500 -1.375000 2.750000 0 -1.000000 2.250000 0
+ L3 26624 -0.001500 -0.500000 2.250000 0 -0.625000 3.000000 0
+ L3 26624 -0.001500 -0.375000 1.375000 0 -0.250000 1.875000 0
+ L3 26624 -0.001500 0.875000 2.250000 0 1.125000 3.000000 0
+ L3 26624 -0.001500 1.500000 2.125000 0 2.250000 2.500000 0
+ L3 26624 -0.001500 3.375000 0.875000 0 2.750000 1.000000 0
+ L3 26624 -0.001500 3.375000 2.000000 0 2.750000 1.750000 0
+ L3 26624 -0.001500 3.625000 1.500000 0 3.000000 1.375000 0
+ L3 26624 -0.001500 1.500000 3.625000 0 1.375000 3.125000 0
+ L3 26624 -0.001500 2.250000 3.250000 0 1.875000 2.875000 0
+ L3 26624 -0.001500 1.750000 3.375000 0 1.500000 2.625000 0
+ L3 26624 -0.001500 3.750000 -0.625000 0 3.000000 -0.750000 0
+ L3 26624 -0.001500 3.125000 -1.625000 0 2.500000 -1.250000 0
+ L3 26624 -0.001500 3.750000 -1.250000 0 3.125000 -1.125000 0
+ L3 26624 -0.001500 -1.250000 3.500000 0 -1.125000 3.000000 0
+ L3 26624 -0.001500 -2.750000 1.750000 0 -2.375000 1.500000 0
+ L3 26624 -0.001500 1.750000 -4.000000 0 1.500000 -3.375000 0
+ L3 26624 -0.001500 2.250000 -3.625000 0 1.875000 -3.250000 0
+ END$SEGS
+STRUCTURE 262 3 0 0 0 Fn3 2 107.500000 627.250000 0 0.000000 "LgTrees 15"" Shade Shade-15b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 6.773510 -1.828125 -0.098818 0
+ F4 26624 0.000000 28 0
+ -6.275315 -3.379016 0
+ -5.229429 -5.269656 0
+ -3.037092 -4.304222 0
+ -2.393469 -6.737918 0
+ -0.945320 -7.361427 0
+ 0.683848 -5.350108 0
+ 2.554375 -7.099956 0
+ 4.807052 -6.033957 0
+ 3.962298 -3.801393 0
+ 6.657466 -3.057205 0
+ 7.059729 -0.522943 0
+ 5.651806 0.784414 0
+ 6.979277 2.675054 0
+ 5.973617 4.364562 0
+ 4.344449 3.761166 0
+ 4.284109 5.933391 0
+ 2.152111 7.059729 0
+ 1.267131 5.692032 0
+ -0.522943 5.712146 0
+ -0.965433 7.099956 0
+ -3.720940 6.214975 0
+ -3.379016 4.585807 0
+ -5.651806 4.424902 0
+ -6.818371 2.071658 0
+ -5.531127 0.744188 0
+ -7.220635 0.000000 0
+ -6.778145 -1.689508 0
+ -4.988071 -2.333130 0
+ F4 65280 0.000000 26 0
+ 1.005659 -4.706486 0
+ 2.413583 -6.114409 0
+ 3.761166 -5.289769 0
+ 3.157771 -2.936526 0
+ 5.852938 -2.192338 0
+ 6.033957 -1.025773 0
+ 4.344449 0.140792 0
+ 5.812712 2.353243 0
+ 5.169090 3.117544 0
+ 3.560034 3.077318 0
+ 3.479582 4.927731 0
+ 2.091772 5.692032 0
+ 0.945320 4.344449 0
+ -0.784414 4.585807 0
+ -1.186678 5.511014 0
+ -2.654941 5.128863 0
+ -2.675054 3.519808 0
+ -3.901959 3.479582 0
+ -4.706486 1.870527 0
+ -3.278450 0.522943 0
+ -4.626033 -0.181019 0
+ -4.404788 -1.146452 0
+ -2.252677 -1.548716 0
+ -3.077318 -3.016978 0
+ -1.729734 -4.062864 0
+ -1.186678 -5.249542 0
+ L3 65280 -0.001500 -1.275969 -6.197563 0 -0.546844 -5.650719 0
+ L3 65280 -0.001500 -1.822813 -5.833000 0 -2.005094 -4.921594 0
+ L3 65280 -0.001500 -4.192469 -3.827906 0 -2.916500 -3.827906 0
+ L3 65280 -0.001500 -5.103875 -3.463344 0 -4.557031 -2.916500 0
+ L3 65280 -0.001500 -3.827906 -3.098781 0 -3.098781 -2.551938 0
+ L3 65280 -0.001500 -3.463344 -2.005094 0 -4.557031 -1.822813 0
+ L3 65280 -0.001500 -6.197563 -1.458250 0 -4.921594 -1.458250 0
+ L3 65280 -0.001500 -6.197563 -0.364563 0 -5.103875 -0.911406 0
+ L3 65280 -0.001500 -4.192469 0.546844 0 -5.103875 0.364563 0
+ L3 65280 -0.001500 -4.921594 1.275969 0 -6.197563 2.005094 0
+ L3 65280 -0.001500 -5.650719 2.734219 0 -4.739313 2.916500 0
+ L3 65280 -0.001500 -4.374750 4.192469 0 -4.010188 3.645625 0
+ L3 65280 -0.001500 -2.734219 5.468438 0 -3.098781 6.015281 0
+ L3 65280 -0.001500 -1.640531 5.833000 0 -1.275969 6.379844 0
+ L3 65280 -0.001500 -0.182281 4.921594 0 0.000000 5.468438 0
+ L3 65280 -0.001500 0.911406 4.921594 0 0.364563 5.286156 0
+ L3 65280 -0.001500 2.369656 5.833000 0 2.187375 6.562125 0
+ L3 65280 -0.001500 3.463344 5.468438 0 4.010188 5.650719 0
+ L3 65280 -0.001500 6.379844 2.551938 0 5.833000 2.734219 0
+ L3 65280 -0.001500 5.468438 3.463344 0 5.833000 4.010188 0
+ L3 65280 -0.001500 6.379844 -0.546844 0 5.650719 -0.364563 0
+ L3 65280 -0.001500 -5.103875 -4.557031 0 -4.739313 -3.827906 0
+ L3 65280 -0.001500 -5.833000 -3.463344 0 -5.286156 -3.827906 0
+ F4 26624 0.000000 4 0
+ 2.808184 -2.886190 0
+ 1.664109 -2.548167 0
+ 1.534101 -1.690111 0
+ 2.288150 -2.002131 0
+ F4 26624 0.000000 5 0
+ -1.092072 -3.458227 0
+ -0.988065 -2.860188 0
+ 0.130009 -2.366155 0
+ 0.442029 -3.094203 0
+ -0.130009 -3.640239 0
+ F4 26624 0.000000 4 0
+ 3.562234 0.130009 0
+ 2.210145 0.442029 0
+ 1.924126 -0.234015 0
+ 3.770248 -0.338022 0
+ F4 26624 0.000000 4 0
+ 0.858056 3.458227 0
+ 0.182012 2.938193 0
+ 0.364024 1.846121 0
+ 0.780051 2.002131 0
+ F4 26624 0.000000 3 0
+ 3.172208 2.600171 0
+ 2.808184 1.794118 0
+ 2.236147 2.288150 0
+ F4 26624 0.000000 5 0
+ -2.730179 0.312020 0
+ -2.366155 0.052003 0
+ -1.118073 -0.260017 0
+ -0.442029 0.442029 0
+ -2.002131 0.676044 0
+ F4 26624 0.000000 4 0
+ -2.392157 3.016198 0
+ -1.664109 2.834186 0
+ -1.144075 1.612106 0
+ -1.950128 1.820120 0
+ L3 26624 -0.001500 0.364563 -4.010188 0 0.729125 -3.463344 0
+ L3 26624 -0.001500 2.551938 -3.463344 0 1.640531 -3.098781 0
+ L3 26624 -0.001500 2.916500 -4.374750 0 2.369656 -4.010188 0
+ L3 26624 -0.001500 1.640531 -4.739313 0 1.275969 -4.010188 0
+ L3 26624 -0.001500 -0.729125 -4.557031 0 -0.364562 -4.010188 0
+ L3 26624 -0.001500 -2.187375 -2.916500 0 -1.458250 -2.916500 0
+ L3 26624 -0.001500 -1.640531 -2.005094 0 -0.729125 -2.369656 0
+ L3 26624 -0.001500 -2.187375 -1.093688 0 -1.458250 -0.546844 0
+ L3 26624 -0.001500 -3.281063 -0.911406 0 -2.551938 -0.546844 0
+ L3 26624 -0.001500 -4.192469 -0.364563 0 -3.281063 0.000000 0
+ L3 26624 -0.001500 -2.916500 0.911406 0 -3.645625 1.640531 0
+ L3 26624 -0.001500 -3.281063 2.551938 0 -2.734219 1.822813 0
+ L3 26624 -0.001500 -2.005094 4.010188 0 -1.458250 3.281063 0
+ L3 26624 -0.001500 -0.729125 3.281063 0 -0.911406 4.374750 0
+ L3 26624 -0.001500 -0.546844 2.005094 0 -0.364562 2.734219 0
+ L3 26624 -0.001500 1.275969 3.281063 0 1.640531 4.374750 0
+ L3 26624 -0.001500 2.187375 3.098781 0 3.281063 3.645625 0
+ L3 26624 -0.001500 4.921594 1.275969 0 4.010188 1.458250 0
+ L3 26624 -0.001500 4.921594 2.916500 0 4.010188 2.551938 0
+ L3 26624 -0.001500 5.286156 2.187375 0 4.374750 2.005094 0
+ L3 26624 -0.001500 2.187375 5.286156 0 2.005094 4.557031 0
+ L3 26624 -0.001500 3.281062 4.739313 0 2.734219 4.192469 0
+ L3 26624 -0.001500 2.551938 4.921594 0 2.187375 3.827906 0
+ L3 26624 -0.001500 5.468438 -0.911406 0 4.374750 -1.093688 0
+ L3 26624 -0.001500 4.557031 -2.369656 0 3.645625 -1.822813 0
+ L3 26624 -0.001500 5.468438 -1.822813 0 4.557031 -1.640531 0
+ L3 26624 -0.001500 -1.822813 5.103875 0 -1.640531 4.374750 0
+ L3 26624 -0.001500 -4.010188 2.551938 0 -3.463344 2.187375 0
+ L3 26624 -0.001500 2.551938 -5.833000 0 2.187375 -4.921594 0
+ L3 26624 -0.001500 3.281062 -5.286156 0 2.734219 -4.739313 0
+ END$SEGS
+STRUCTURE 263 3 0 0 0 Fn3 2 145.500000 611.250000 0 0.000000 "LgTrees 15"" Shade Shade-15b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 6.773510 -1.828125 -0.098818 0
+ F4 26624 0.000000 28 0
+ -6.275315 -3.379016 0
+ -5.229429 -5.269656 0
+ -3.037092 -4.304222 0
+ -2.393469 -6.737918 0
+ -0.945320 -7.361427 0
+ 0.683848 -5.350108 0
+ 2.554375 -7.099956 0
+ 4.807052 -6.033957 0
+ 3.962298 -3.801393 0
+ 6.657466 -3.057205 0
+ 7.059729 -0.522943 0
+ 5.651806 0.784414 0
+ 6.979277 2.675054 0
+ 5.973617 4.364562 0
+ 4.344449 3.761166 0
+ 4.284109 5.933391 0
+ 2.152111 7.059729 0
+ 1.267131 5.692032 0
+ -0.522943 5.712146 0
+ -0.965433 7.099956 0
+ -3.720940 6.214975 0
+ -3.379016 4.585807 0
+ -5.651806 4.424902 0
+ -6.818371 2.071658 0
+ -5.531127 0.744188 0
+ -7.220635 0.000000 0
+ -6.778145 -1.689508 0
+ -4.988071 -2.333130 0
+ F4 65280 0.000000 26 0
+ 1.005659 -4.706486 0
+ 2.413583 -6.114409 0
+ 3.761166 -5.289769 0
+ 3.157771 -2.936526 0
+ 5.852938 -2.192338 0
+ 6.033957 -1.025773 0
+ 4.344449 0.140792 0
+ 5.812712 2.353243 0
+ 5.169090 3.117544 0
+ 3.560034 3.077318 0
+ 3.479582 4.927731 0
+ 2.091772 5.692032 0
+ 0.945320 4.344449 0
+ -0.784414 4.585807 0
+ -1.186678 5.511014 0
+ -2.654941 5.128863 0
+ -2.675054 3.519808 0
+ -3.901959 3.479582 0
+ -4.706486 1.870527 0
+ -3.278450 0.522943 0
+ -4.626033 -0.181019 0
+ -4.404788 -1.146452 0
+ -2.252677 -1.548716 0
+ -3.077318 -3.016978 0
+ -1.729734 -4.062864 0
+ -1.186678 -5.249542 0
+ L3 65280 -0.001500 -1.275969 -6.197563 0 -0.546844 -5.650719 0
+ L3 65280 -0.001500 -1.822813 -5.833000 0 -2.005094 -4.921594 0
+ L3 65280 -0.001500 -4.192469 -3.827906 0 -2.916500 -3.827906 0
+ L3 65280 -0.001500 -5.103875 -3.463344 0 -4.557031 -2.916500 0
+ L3 65280 -0.001500 -3.827906 -3.098781 0 -3.098781 -2.551938 0
+ L3 65280 -0.001500 -3.463344 -2.005094 0 -4.557031 -1.822813 0
+ L3 65280 -0.001500 -6.197563 -1.458250 0 -4.921594 -1.458250 0
+ L3 65280 -0.001500 -6.197563 -0.364563 0 -5.103875 -0.911406 0
+ L3 65280 -0.001500 -4.192469 0.546844 0 -5.103875 0.364563 0
+ L3 65280 -0.001500 -4.921594 1.275969 0 -6.197563 2.005094 0
+ L3 65280 -0.001500 -5.650719 2.734219 0 -4.739313 2.916500 0
+ L3 65280 -0.001500 -4.374750 4.192469 0 -4.010188 3.645625 0
+ L3 65280 -0.001500 -2.734219 5.468438 0 -3.098781 6.015281 0
+ L3 65280 -0.001500 -1.640531 5.833000 0 -1.275969 6.379844 0
+ L3 65280 -0.001500 -0.182281 4.921594 0 0.000000 5.468438 0
+ L3 65280 -0.001500 0.911406 4.921594 0 0.364563 5.286156 0
+ L3 65280 -0.001500 2.369656 5.833000 0 2.187375 6.562125 0
+ L3 65280 -0.001500 3.463344 5.468438 0 4.010188 5.650719 0
+ L3 65280 -0.001500 6.379844 2.551938 0 5.833000 2.734219 0
+ L3 65280 -0.001500 5.468438 3.463344 0 5.833000 4.010188 0
+ L3 65280 -0.001500 6.379844 -0.546844 0 5.650719 -0.364563 0
+ L3 65280 -0.001500 -5.103875 -4.557031 0 -4.739313 -3.827906 0
+ L3 65280 -0.001500 -5.833000 -3.463344 0 -5.286156 -3.827906 0
+ F4 26624 0.000000 4 0
+ 2.808184 -2.886190 0
+ 1.664109 -2.548167 0
+ 1.534101 -1.690111 0
+ 2.288150 -2.002131 0
+ F4 26624 0.000000 5 0
+ -1.092072 -3.458227 0
+ -0.988065 -2.860188 0
+ 0.130009 -2.366155 0
+ 0.442029 -3.094203 0
+ -0.130009 -3.640239 0
+ F4 26624 0.000000 4 0
+ 3.562234 0.130009 0
+ 2.210145 0.442029 0
+ 1.924126 -0.234015 0
+ 3.770248 -0.338022 0
+ F4 26624 0.000000 4 0
+ 0.858056 3.458227 0
+ 0.182012 2.938193 0
+ 0.364024 1.846121 0
+ 0.780051 2.002131 0
+ F4 26624 0.000000 3 0
+ 3.172208 2.600171 0
+ 2.808184 1.794118 0
+ 2.236147 2.288150 0
+ F4 26624 0.000000 5 0
+ -2.730179 0.312020 0
+ -2.366155 0.052003 0
+ -1.118073 -0.260017 0
+ -0.442029 0.442029 0
+ -2.002131 0.676044 0
+ F4 26624 0.000000 4 0
+ -2.392157 3.016198 0
+ -1.664109 2.834186 0
+ -1.144075 1.612106 0
+ -1.950128 1.820120 0
+ L3 26624 -0.001500 0.364563 -4.010188 0 0.729125 -3.463344 0
+ L3 26624 -0.001500 2.551938 -3.463344 0 1.640531 -3.098781 0
+ L3 26624 -0.001500 2.916500 -4.374750 0 2.369656 -4.010188 0
+ L3 26624 -0.001500 1.640531 -4.739313 0 1.275969 -4.010188 0
+ L3 26624 -0.001500 -0.729125 -4.557031 0 -0.364562 -4.010188 0
+ L3 26624 -0.001500 -2.187375 -2.916500 0 -1.458250 -2.916500 0
+ L3 26624 -0.001500 -1.640531 -2.005094 0 -0.729125 -2.369656 0
+ L3 26624 -0.001500 -2.187375 -1.093688 0 -1.458250 -0.546844 0
+ L3 26624 -0.001500 -3.281063 -0.911406 0 -2.551938 -0.546844 0
+ L3 26624 -0.001500 -4.192469 -0.364563 0 -3.281063 0.000000 0
+ L3 26624 -0.001500 -2.916500 0.911406 0 -3.645625 1.640531 0
+ L3 26624 -0.001500 -3.281063 2.551938 0 -2.734219 1.822813 0
+ L3 26624 -0.001500 -2.005094 4.010188 0 -1.458250 3.281063 0
+ L3 26624 -0.001500 -0.729125 3.281063 0 -0.911406 4.374750 0
+ L3 26624 -0.001500 -0.546844 2.005094 0 -0.364562 2.734219 0
+ L3 26624 -0.001500 1.275969 3.281063 0 1.640531 4.374750 0
+ L3 26624 -0.001500 2.187375 3.098781 0 3.281063 3.645625 0
+ L3 26624 -0.001500 4.921594 1.275969 0 4.010188 1.458250 0
+ L3 26624 -0.001500 4.921594 2.916500 0 4.010188 2.551938 0
+ L3 26624 -0.001500 5.286156 2.187375 0 4.374750 2.005094 0
+ L3 26624 -0.001500 2.187375 5.286156 0 2.005094 4.557031 0
+ L3 26624 -0.001500 3.281062 4.739313 0 2.734219 4.192469 0
+ L3 26624 -0.001500 2.551938 4.921594 0 2.187375 3.827906 0
+ L3 26624 -0.001500 5.468438 -0.911406 0 4.374750 -1.093688 0
+ L3 26624 -0.001500 4.557031 -2.369656 0 3.645625 -1.822813 0
+ L3 26624 -0.001500 5.468438 -1.822813 0 4.557031 -1.640531 0
+ L3 26624 -0.001500 -1.822813 5.103875 0 -1.640531 4.374750 0
+ L3 26624 -0.001500 -4.010188 2.551938 0 -3.463344 2.187375 0
+ L3 26624 -0.001500 2.551938 -5.833000 0 2.187375 -4.921594 0
+ L3 26624 -0.001500 3.281062 -5.286156 0 2.734219 -4.739313 0
+ END$SEGS
+STRUCTURE 264 3 0 0 0 Fn3 2 130.500000 630.250000 0 0.000000 "LgTrees 15"" Shade Shade-15a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 6.773510 -1.828125 0.098818 0
+ F4 26624 0.000000 28 0
+ -6.275315 3.379016 0
+ -5.229429 5.269656 0
+ -3.037092 4.304222 0
+ -2.393469 6.737918 0
+ -0.945320 7.361427 0
+ 0.683848 5.350108 0
+ 2.554375 7.099956 0
+ 4.807052 6.033957 0
+ 3.962298 3.801393 0
+ 6.657466 3.057205 0
+ 7.059729 0.522943 0
+ 5.651806 -0.784414 0
+ 6.979277 -2.675054 0
+ 5.973617 -4.364562 0
+ 4.344449 -3.761166 0
+ 4.284109 -5.933391 0
+ 2.152111 -7.059729 0
+ 1.267131 -5.692032 0
+ -0.522943 -5.712146 0
+ -0.965433 -7.099956 0
+ -3.720940 -6.214975 0
+ -3.379016 -4.585807 0
+ -5.651806 -4.424902 0
+ -6.818371 -2.071658 0
+ -5.531127 -0.744188 0
+ -7.220635 0.000000 0
+ -6.778145 1.689508 0
+ -4.988071 2.333130 0
+ F4 65280 0.000000 26 0
+ 1.005659 4.706486 0
+ 2.413583 6.114409 0
+ 3.761166 5.289769 0
+ 3.157771 2.936526 0
+ 5.852938 2.192338 0
+ 6.033957 1.025773 0
+ 4.344449 -0.140792 0
+ 5.812712 -2.353243 0
+ 5.169090 -3.117544 0
+ 3.560034 -3.077318 0
+ 3.479582 -4.927731 0
+ 2.091772 -5.692032 0
+ 0.945320 -4.344449 0
+ -0.784414 -4.585807 0
+ -1.186678 -5.511014 0
+ -2.654941 -5.128863 0
+ -2.675054 -3.519808 0
+ -3.901959 -3.479582 0
+ -4.706486 -1.870527 0
+ -3.278450 -0.522943 0
+ -4.626033 0.181019 0
+ -4.404788 1.146452 0
+ -2.252677 1.548716 0
+ -3.077318 3.016978 0
+ -1.729734 4.062864 0
+ -1.186678 5.249542 0
+ L3 65280 -0.001500 -1.275969 6.197563 0 -0.546844 5.650719 0
+ L3 65280 -0.001500 -1.822813 5.833000 0 -2.005094 4.921594 0
+ L3 65280 -0.001500 -4.192469 3.827906 0 -2.916500 3.827906 0
+ L3 65280 -0.001500 -5.103875 3.463344 0 -4.557031 2.916500 0
+ L3 65280 -0.001500 -3.827906 3.098781 0 -3.098781 2.551938 0
+ L3 65280 -0.001500 -3.463344 2.005094 0 -4.557031 1.822813 0
+ L3 65280 -0.001500 -6.197563 1.458250 0 -4.921594 1.458250 0
+ L3 65280 -0.001500 -6.197563 0.364563 0 -5.103875 0.911406 0
+ L3 65280 -0.001500 -4.192469 -0.546844 0 -5.103875 -0.364563 0
+ L3 65280 -0.001500 -4.921594 -1.275969 0 -6.197563 -2.005094 0
+ L3 65280 -0.001500 -5.650719 -2.734219 0 -4.739313 -2.916500 0
+ L3 65280 -0.001500 -4.374750 -4.192469 0 -4.010188 -3.645625 0
+ L3 65280 -0.001500 -2.734219 -5.468438 0 -3.098781 -6.015281 0
+ L3 65280 -0.001500 -1.640531 -5.833000 0 -1.275969 -6.379844 0
+ L3 65280 -0.001500 -0.182281 -4.921594 0 0.000000 -5.468438 0
+ L3 65280 -0.001500 0.911406 -4.921594 0 0.364563 -5.286156 0
+ L3 65280 -0.001500 2.369656 -5.833000 0 2.187375 -6.562125 0
+ L3 65280 -0.001500 3.463344 -5.468438 0 4.010188 -5.650719 0
+ L3 65280 -0.001500 6.379844 -2.551938 0 5.833000 -2.734219 0
+ L3 65280 -0.001500 5.468438 -3.463344 0 5.833000 -4.010188 0
+ L3 65280 -0.001500 6.379844 0.546844 0 5.650719 0.364563 0
+ L3 65280 -0.001500 -5.103875 4.557031 0 -4.739313 3.827906 0
+ L3 65280 -0.001500 -5.833000 3.463344 0 -5.286156 3.827906 0
+ F4 26624 0.000000 4 0
+ 2.808184 2.886190 0
+ 1.664109 2.548167 0
+ 1.534101 1.690111 0
+ 2.288150 2.002131 0
+ F4 26624 0.000000 5 0
+ -1.092072 3.458227 0
+ -0.988065 2.860188 0
+ 0.130009 2.366155 0
+ 0.442029 3.094203 0
+ -0.130009 3.640239 0
+ F4 26624 0.000000 4 0
+ 3.562234 -0.130009 0
+ 2.210145 -0.442029 0
+ 1.924126 0.234015 0
+ 3.770248 0.338022 0
+ F4 26624 0.000000 4 0
+ 0.858056 -3.458227 0
+ 0.182012 -2.938193 0
+ 0.364024 -1.846121 0
+ 0.780051 -2.002131 0
+ F4 26624 0.000000 3 0
+ 3.172208 -2.600171 0
+ 2.808184 -1.794118 0
+ 2.236147 -2.288150 0
+ F4 26624 0.000000 5 0
+ -2.730179 -0.312020 0
+ -2.366155 -0.052003 0
+ -1.118073 0.260017 0
+ -0.442029 -0.442029 0
+ -2.002131 -0.676044 0
+ F4 26624 0.000000 4 0
+ -2.392157 -3.016198 0
+ -1.664109 -2.834186 0
+ -1.144075 -1.612106 0
+ -1.950128 -1.820120 0
+ L3 26624 -0.001500 0.364563 4.010188 0 0.729125 3.463344 0
+ L3 26624 -0.001500 2.551938 3.463344 0 1.640531 3.098781 0
+ L3 26624 -0.001500 2.916500 4.374750 0 2.369656 4.010188 0
+ L3 26624 -0.001500 1.640531 4.739313 0 1.275969 4.010188 0
+ L3 26624 -0.001500 -0.729125 4.557031 0 -0.364562 4.010188 0
+ L3 26624 -0.001500 -2.187375 2.916500 0 -1.458250 2.916500 0
+ L3 26624 -0.001500 -1.640531 2.005094 0 -0.729125 2.369656 0
+ L3 26624 -0.001500 -2.187375 1.093688 0 -1.458250 0.546844 0
+ L3 26624 -0.001500 -3.281063 0.911406 0 -2.551938 0.546844 0
+ L3 26624 -0.001500 -4.192469 0.364563 0 -3.281063 0.000000 0
+ L3 26624 -0.001500 -2.916500 -0.911406 0 -3.645625 -1.640531 0
+ L3 26624 -0.001500 -3.281063 -2.551938 0 -2.734219 -1.822813 0
+ L3 26624 -0.001500 -2.005094 -4.010188 0 -1.458250 -3.281063 0
+ L3 26624 -0.001500 -0.729125 -3.281063 0 -0.911406 -4.374750 0
+ L3 26624 -0.001500 -0.546844 -2.005094 0 -0.364562 -2.734219 0
+ L3 26624 -0.001500 1.275969 -3.281063 0 1.640531 -4.374750 0
+ L3 26624 -0.001500 2.187375 -3.098781 0 3.281063 -3.645625 0
+ L3 26624 -0.001500 4.921594 -1.275969 0 4.010188 -1.458250 0
+ L3 26624 -0.001500 4.921594 -2.916500 0 4.010188 -2.551938 0
+ L3 26624 -0.001500 5.286156 -2.187375 0 4.374750 -2.005094 0
+ L3 26624 -0.001500 2.187375 -5.286156 0 2.005094 -4.557031 0
+ L3 26624 -0.001500 3.281063 -4.739313 0 2.734219 -4.192469 0
+ L3 26624 -0.001500 2.551938 -4.921594 0 2.187375 -3.827906 0
+ L3 26624 -0.001500 5.468438 0.911406 0 4.374750 1.093688 0
+ L3 26624 -0.001500 4.557031 2.369656 0 3.645625 1.822813 0
+ L3 26624 -0.001500 5.468438 1.822813 0 4.557031 1.640531 0
+ L3 26624 -0.001500 -1.822813 -5.103875 0 -1.640531 -4.374750 0
+ L3 26624 -0.001500 -4.010188 -2.551938 0 -3.463344 -2.187375 0
+ L3 26624 -0.001500 2.551938 5.833000 0 2.187375 4.921594 0
+ L3 26624 -0.001500 3.281063 5.286156 0 2.734219 4.739313 0
+ END$SEGS
+STRUCTURE 265 3 0 0 0 Fn3 2 122.500000 613.250000 0 0.000000 "LgTrees 15"" Shade Shade-15a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 6.773510 -1.828125 0.098818 0
+ F4 26624 0.000000 28 0
+ -6.275315 3.379016 0
+ -5.229429 5.269656 0
+ -3.037092 4.304222 0
+ -2.393469 6.737918 0
+ -0.945320 7.361427 0
+ 0.683848 5.350108 0
+ 2.554375 7.099956 0
+ 4.807052 6.033957 0
+ 3.962298 3.801393 0
+ 6.657466 3.057205 0
+ 7.059729 0.522943 0
+ 5.651806 -0.784414 0
+ 6.979277 -2.675054 0
+ 5.973617 -4.364562 0
+ 4.344449 -3.761166 0
+ 4.284109 -5.933391 0
+ 2.152111 -7.059729 0
+ 1.267131 -5.692032 0
+ -0.522943 -5.712146 0
+ -0.965433 -7.099956 0
+ -3.720940 -6.214975 0
+ -3.379016 -4.585807 0
+ -5.651806 -4.424902 0
+ -6.818371 -2.071658 0
+ -5.531127 -0.744188 0
+ -7.220635 0.000000 0
+ -6.778145 1.689508 0
+ -4.988071 2.333130 0
+ F4 65280 0.000000 26 0
+ 1.005659 4.706486 0
+ 2.413583 6.114409 0
+ 3.761166 5.289769 0
+ 3.157771 2.936526 0
+ 5.852938 2.192338 0
+ 6.033957 1.025773 0
+ 4.344449 -0.140792 0
+ 5.812712 -2.353243 0
+ 5.169090 -3.117544 0
+ 3.560034 -3.077318 0
+ 3.479582 -4.927731 0
+ 2.091772 -5.692032 0
+ 0.945320 -4.344449 0
+ -0.784414 -4.585807 0
+ -1.186678 -5.511014 0
+ -2.654941 -5.128863 0
+ -2.675054 -3.519808 0
+ -3.901959 -3.479582 0
+ -4.706486 -1.870527 0
+ -3.278450 -0.522943 0
+ -4.626033 0.181019 0
+ -4.404788 1.146452 0
+ -2.252677 1.548716 0
+ -3.077318 3.016978 0
+ -1.729734 4.062864 0
+ -1.186678 5.249542 0
+ L3 65280 -0.001500 -1.275969 6.197563 0 -0.546844 5.650719 0
+ L3 65280 -0.001500 -1.822813 5.833000 0 -2.005094 4.921594 0
+ L3 65280 -0.001500 -4.192469 3.827906 0 -2.916500 3.827906 0
+ L3 65280 -0.001500 -5.103875 3.463344 0 -4.557031 2.916500 0
+ L3 65280 -0.001500 -3.827906 3.098781 0 -3.098781 2.551938 0
+ L3 65280 -0.001500 -3.463344 2.005094 0 -4.557031 1.822813 0
+ L3 65280 -0.001500 -6.197563 1.458250 0 -4.921594 1.458250 0
+ L3 65280 -0.001500 -6.197563 0.364563 0 -5.103875 0.911406 0
+ L3 65280 -0.001500 -4.192469 -0.546844 0 -5.103875 -0.364563 0
+ L3 65280 -0.001500 -4.921594 -1.275969 0 -6.197563 -2.005094 0
+ L3 65280 -0.001500 -5.650719 -2.734219 0 -4.739313 -2.916500 0
+ L3 65280 -0.001500 -4.374750 -4.192469 0 -4.010188 -3.645625 0
+ L3 65280 -0.001500 -2.734219 -5.468438 0 -3.098781 -6.015281 0
+ L3 65280 -0.001500 -1.640531 -5.833000 0 -1.275969 -6.379844 0
+ L3 65280 -0.001500 -0.182281 -4.921594 0 0.000000 -5.468438 0
+ L3 65280 -0.001500 0.911406 -4.921594 0 0.364563 -5.286156 0
+ L3 65280 -0.001500 2.369656 -5.833000 0 2.187375 -6.562125 0
+ L3 65280 -0.001500 3.463344 -5.468438 0 4.010188 -5.650719 0
+ L3 65280 -0.001500 6.379844 -2.551938 0 5.833000 -2.734219 0
+ L3 65280 -0.001500 5.468438 -3.463344 0 5.833000 -4.010188 0
+ L3 65280 -0.001500 6.379844 0.546844 0 5.650719 0.364563 0
+ L3 65280 -0.001500 -5.103875 4.557031 0 -4.739313 3.827906 0
+ L3 65280 -0.001500 -5.833000 3.463344 0 -5.286156 3.827906 0
+ F4 26624 0.000000 4 0
+ 2.808184 2.886190 0
+ 1.664109 2.548167 0
+ 1.534101 1.690111 0
+ 2.288150 2.002131 0
+ F4 26624 0.000000 5 0
+ -1.092072 3.458227 0
+ -0.988065 2.860188 0
+ 0.130009 2.366155 0
+ 0.442029 3.094203 0
+ -0.130009 3.640239 0
+ F4 26624 0.000000 4 0
+ 3.562234 -0.130009 0
+ 2.210145 -0.442029 0
+ 1.924126 0.234015 0
+ 3.770248 0.338022 0
+ F4 26624 0.000000 4 0
+ 0.858056 -3.458227 0
+ 0.182012 -2.938193 0
+ 0.364024 -1.846121 0
+ 0.780051 -2.002131 0
+ F4 26624 0.000000 3 0
+ 3.172208 -2.600171 0
+ 2.808184 -1.794118 0
+ 2.236147 -2.288150 0
+ F4 26624 0.000000 5 0
+ -2.730179 -0.312020 0
+ -2.366155 -0.052003 0
+ -1.118073 0.260017 0
+ -0.442029 -0.442029 0
+ -2.002131 -0.676044 0
+ F4 26624 0.000000 4 0
+ -2.392157 -3.016198 0
+ -1.664109 -2.834186 0
+ -1.144075 -1.612106 0
+ -1.950128 -1.820120 0
+ L3 26624 -0.001500 0.364563 4.010188 0 0.729125 3.463344 0
+ L3 26624 -0.001500 2.551938 3.463344 0 1.640531 3.098781 0
+ L3 26624 -0.001500 2.916500 4.374750 0 2.369656 4.010188 0
+ L3 26624 -0.001500 1.640531 4.739313 0 1.275969 4.010188 0
+ L3 26624 -0.001500 -0.729125 4.557031 0 -0.364562 4.010188 0
+ L3 26624 -0.001500 -2.187375 2.916500 0 -1.458250 2.916500 0
+ L3 26624 -0.001500 -1.640531 2.005094 0 -0.729125 2.369656 0
+ L3 26624 -0.001500 -2.187375 1.093688 0 -1.458250 0.546844 0
+ L3 26624 -0.001500 -3.281063 0.911406 0 -2.551938 0.546844 0
+ L3 26624 -0.001500 -4.192469 0.364563 0 -3.281063 0.000000 0
+ L3 26624 -0.001500 -2.916500 -0.911406 0 -3.645625 -1.640531 0
+ L3 26624 -0.001500 -3.281063 -2.551938 0 -2.734219 -1.822813 0
+ L3 26624 -0.001500 -2.005094 -4.010188 0 -1.458250 -3.281063 0
+ L3 26624 -0.001500 -0.729125 -3.281063 0 -0.911406 -4.374750 0
+ L3 26624 -0.001500 -0.546844 -2.005094 0 -0.364562 -2.734219 0
+ L3 26624 -0.001500 1.275969 -3.281063 0 1.640531 -4.374750 0
+ L3 26624 -0.001500 2.187375 -3.098781 0 3.281063 -3.645625 0
+ L3 26624 -0.001500 4.921594 -1.275969 0 4.010188 -1.458250 0
+ L3 26624 -0.001500 4.921594 -2.916500 0 4.010188 -2.551938 0
+ L3 26624 -0.001500 5.286156 -2.187375 0 4.374750 -2.005094 0
+ L3 26624 -0.001500 2.187375 -5.286156 0 2.005094 -4.557031 0
+ L3 26624 -0.001500 3.281063 -4.739313 0 2.734219 -4.192469 0
+ L3 26624 -0.001500 2.551938 -4.921594 0 2.187375 -3.827906 0
+ L3 26624 -0.001500 5.468438 0.911406 0 4.374750 1.093688 0
+ L3 26624 -0.001500 4.557031 2.369656 0 3.645625 1.822813 0
+ L3 26624 -0.001500 5.468438 1.822813 0 4.557031 1.640531 0
+ L3 26624 -0.001500 -1.822813 -5.103875 0 -1.640531 -4.374750 0
+ L3 26624 -0.001500 -4.010188 -2.551938 0 -3.463344 -2.187375 0
+ L3 26624 -0.001500 2.551938 5.833000 0 2.187375 4.921594 0
+ L3 26624 -0.001500 3.281063 5.286156 0 2.734219 4.739313 0
+ END$SEGS
+DRAW 266 7 0 0 0 130.000000 554.375000 0 0.000000
+ Z 0 0.000000 0.000000 0.000000 1 350.000000 "Bridge 46-D"
+ END$SEGS
+STRUCTURE 267 3 0 0 0 Fn3 2 114.500000 648.500000 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 268 3 0 0 0 Fn3 2 97.500000 677.000000 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 269 3 0 0 0 Fn3 2 154.500000 723.000000 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 270 3 0 0 0 Fn3 2 132.000000 719.000000 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 271 3 0 0 0 Fn3 2 91.500000 653.500000 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 272 3 0 0 0 Fn3 2 143.000000 716.000000 0 0.000000 "LgTrees 10"" Shade Shade-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 -2.317172 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.641330 -4.620551 0
+ -0.648256 -5.048124 0
+ 0.468951 -3.668855 0
+ 1.751672 -4.868819 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 4.565380 -2.096489 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 4.096429 2.993014 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.475818 4.841234 0
+ 0.868939 3.903331 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -2.551648 4.261941 0
+ -2.317172 3.144733 0
+ -3.875746 3.034392 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 -1.158586 0
+ -3.420587 -1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 -3.227489 0
+ 1.655123 -4.192978 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 4.013673 -1.503403 0
+ 4.137807 -0.703427 0
+ 2.979221 0.096549 0
+ 3.986087 1.613745 0
+ 3.544721 2.137867 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 1.434440 3.903331 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.820635 3.517136 0
+ -1.834428 2.413721 0
+ -2.675782 2.386135 0
+ -3.227489 1.282720 0
+ -2.248208 0.358610 0
+ -3.172319 -0.124134 0
+ -3.020599 -0.786183 0
+ -1.544781 -1.062037 0
+ -2.110281 -2.068903 0
+ -1.186171 -2.786123 0
+ -0.813769 -3.599892 0
+ L3 65280 -0.001500 -0.875000 -4.250000 0 -0.375000 -3.875000 0
+ L3 65280 -0.001500 -1.250000 -4.000000 0 -1.375000 -3.375000 0
+ L3 65280 -0.001500 -2.875000 -2.625000 0 -2.000000 -2.625000 0
+ L3 65280 -0.001500 -3.500000 -2.375000 0 -3.125000 -2.000000 0
+ L3 65280 -0.001500 -2.625000 -2.125000 0 -2.125000 -1.750000 0
+ L3 65280 -0.001500 -2.375000 -1.375000 0 -3.125000 -1.250000 0
+ L3 65280 -0.001500 -4.250000 -1.000000 0 -3.375000 -1.000000 0
+ L3 65280 -0.001500 -4.250000 -0.250000 0 -3.500000 -0.625000 0
+ L3 65280 -0.001500 -2.875000 0.375000 0 -3.500000 0.250000 0
+ L3 65280 -0.001500 -3.375000 0.875000 0 -4.250000 1.375000 0
+ L3 65280 -0.001500 -3.875000 1.875000 0 -3.250000 2.000000 0
+ L3 65280 -0.001500 -3.000000 2.875000 0 -2.750000 2.500000 0
+ L3 65280 -0.001500 -1.875000 3.750000 0 -2.125000 4.125000 0
+ L3 65280 -0.001500 -1.125000 4.000000 0 -0.875000 4.375000 0
+ L3 65280 -0.001500 -0.125000 3.375000 0 0.000000 3.750000 0
+ L3 65280 -0.001500 0.625000 3.375000 0 0.250000 3.625000 0
+ L3 65280 -0.001500 1.625000 4.000000 0 1.500000 4.500000 0
+ L3 65280 -0.001500 2.375000 3.750000 0 2.750000 3.875000 0
+ L3 65280 -0.001500 4.375000 1.750000 0 4.000000 1.875000 0
+ L3 65280 -0.001500 3.750000 2.375000 0 4.000000 2.750000 0
+ L3 65280 -0.001500 4.375000 -0.375000 0 3.875000 -0.250000 0
+ L3 65280 -0.001500 -3.500000 -3.125000 0 -3.250000 -2.625000 0
+ L3 65280 -0.001500 -4.000000 -2.375000 0 -3.625000 -2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 -1.979214 0
+ 1.141169 -1.747415 0
+ 1.052015 -1.158999 0
+ 1.569107 -1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 -2.371491 0
+ -0.677569 -1.961384 0
+ 0.089154 -1.622599 0
+ 0.303123 -2.121861 0
+ -0.089154 -2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 0.089154 0
+ 1.515615 0.303123 0
+ 1.319476 -0.160477 0
+ 2.585460 -0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 2.371491 0
+ 0.124815 2.014876 0
+ 0.249631 1.265984 0
+ 0.534923 1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 1.783076 0
+ 1.925722 1.230323 0
+ 1.533445 1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 0.213969 0
+ -1.622599 0.035662 0
+ -0.766723 -0.178308 0
+ -0.303123 0.303123 0
+ -1.372969 0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 2.068368 0
+ -1.141169 1.943553 0
+ -0.784553 1.105507 0
+ -1.337307 1.248153 0
+ L3 26624 -0.001500 0.250000 -2.750000 0 0.500000 -2.375000 0
+ L3 26624 -0.001500 1.750000 -2.375000 0 1.125000 -2.125000 0
+ L3 26624 -0.001500 2.000000 -3.000000 0 1.625000 -2.750000 0
+ L3 26624 -0.001500 1.125000 -3.250000 0 0.875000 -2.750000 0
+ L3 26624 -0.001500 -0.500000 -3.125000 0 -0.250000 -2.750000 0
+ L3 26624 -0.001500 -1.500000 -2.000000 0 -1.000000 -2.000000 0
+ L3 26624 -0.001500 -1.125000 -1.375000 0 -0.500000 -1.625000 0
+ L3 26624 -0.001500 -1.500000 -0.750000 0 -1.000000 -0.375000 0
+ L3 26624 -0.001500 -2.250000 -0.625000 0 -1.750000 -0.375000 0
+ L3 26624 -0.001500 -2.875000 -0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 0.625000 0 -2.500000 1.125000 0
+ L3 26624 -0.001500 -2.250000 1.750000 0 -1.875000 1.250000 0
+ L3 26624 -0.001500 -1.375000 2.750000 0 -1.000000 2.250000 0
+ L3 26624 -0.001500 -0.500000 2.250000 0 -0.625000 3.000000 0
+ L3 26624 -0.001500 -0.375000 1.375000 0 -0.250000 1.875000 0
+ L3 26624 -0.001500 0.875000 2.250000 0 1.125000 3.000000 0
+ L3 26624 -0.001500 1.500000 2.125000 0 2.250000 2.500000 0
+ L3 26624 -0.001500 3.375000 0.875000 0 2.750000 1.000000 0
+ L3 26624 -0.001500 3.375000 2.000000 0 2.750000 1.750000 0
+ L3 26624 -0.001500 3.625000 1.500000 0 3.000000 1.375000 0
+ L3 26624 -0.001500 1.500000 3.625000 0 1.375000 3.125000 0
+ L3 26624 -0.001500 2.250000 3.250000 0 1.875000 2.875000 0
+ L3 26624 -0.001500 1.750000 3.375000 0 1.500000 2.625000 0
+ L3 26624 -0.001500 3.750000 -0.625000 0 3.000000 -0.750000 0
+ L3 26624 -0.001500 3.125000 -1.625000 0 2.500000 -1.250000 0
+ L3 26624 -0.001500 3.750000 -1.250000 0 3.125000 -1.125000 0
+ L3 26624 -0.001500 -1.250000 3.500000 0 -1.125000 3.000000 0
+ L3 26624 -0.001500 -2.750000 1.750000 0 -2.375000 1.500000 0
+ L3 26624 -0.001500 1.750000 -4.000000 0 1.500000 -3.375000 0
+ L3 26624 -0.001500 2.250000 -3.625000 0 1.875000 -3.250000 0
+ END$SEGS
+STRUCTURE 273 3 0 0 0 Fn3 2 111.500000 666.000000 0 0.000000 "LgTrees 10"" Shade Shade-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 -2.317172 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.641330 -4.620551 0
+ -0.648256 -5.048124 0
+ 0.468951 -3.668855 0
+ 1.751672 -4.868819 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 4.565380 -2.096489 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 4.096429 2.993014 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.475818 4.841234 0
+ 0.868939 3.903331 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -2.551648 4.261941 0
+ -2.317172 3.144733 0
+ -3.875746 3.034392 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 -1.158586 0
+ -3.420587 -1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 -3.227489 0
+ 1.655123 -4.192978 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 4.013673 -1.503403 0
+ 4.137807 -0.703427 0
+ 2.979221 0.096549 0
+ 3.986087 1.613745 0
+ 3.544721 2.137867 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 1.434440 3.903331 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.820635 3.517136 0
+ -1.834428 2.413721 0
+ -2.675782 2.386135 0
+ -3.227489 1.282720 0
+ -2.248208 0.358610 0
+ -3.172319 -0.124134 0
+ -3.020599 -0.786183 0
+ -1.544781 -1.062037 0
+ -2.110281 -2.068903 0
+ -1.186171 -2.786123 0
+ -0.813769 -3.599892 0
+ L3 65280 -0.001500 -0.875000 -4.250000 0 -0.375000 -3.875000 0
+ L3 65280 -0.001500 -1.250000 -4.000000 0 -1.375000 -3.375000 0
+ L3 65280 -0.001500 -2.875000 -2.625000 0 -2.000000 -2.625000 0
+ L3 65280 -0.001500 -3.500000 -2.375000 0 -3.125000 -2.000000 0
+ L3 65280 -0.001500 -2.625000 -2.125000 0 -2.125000 -1.750000 0
+ L3 65280 -0.001500 -2.375000 -1.375000 0 -3.125000 -1.250000 0
+ L3 65280 -0.001500 -4.250000 -1.000000 0 -3.375000 -1.000000 0
+ L3 65280 -0.001500 -4.250000 -0.250000 0 -3.500000 -0.625000 0
+ L3 65280 -0.001500 -2.875000 0.375000 0 -3.500000 0.250000 0
+ L3 65280 -0.001500 -3.375000 0.875000 0 -4.250000 1.375000 0
+ L3 65280 -0.001500 -3.875000 1.875000 0 -3.250000 2.000000 0
+ L3 65280 -0.001500 -3.000000 2.875000 0 -2.750000 2.500000 0
+ L3 65280 -0.001500 -1.875000 3.750000 0 -2.125000 4.125000 0
+ L3 65280 -0.001500 -1.125000 4.000000 0 -0.875000 4.375000 0
+ L3 65280 -0.001500 -0.125000 3.375000 0 0.000000 3.750000 0
+ L3 65280 -0.001500 0.625000 3.375000 0 0.250000 3.625000 0
+ L3 65280 -0.001500 1.625000 4.000000 0 1.500000 4.500000 0
+ L3 65280 -0.001500 2.375000 3.750000 0 2.750000 3.875000 0
+ L3 65280 -0.001500 4.375000 1.750000 0 4.000000 1.875000 0
+ L3 65280 -0.001500 3.750000 2.375000 0 4.000000 2.750000 0
+ L3 65280 -0.001500 4.375000 -0.375000 0 3.875000 -0.250000 0
+ L3 65280 -0.001500 -3.500000 -3.125000 0 -3.250000 -2.625000 0
+ L3 65280 -0.001500 -4.000000 -2.375000 0 -3.625000 -2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 -1.979214 0
+ 1.141169 -1.747415 0
+ 1.052015 -1.158999 0
+ 1.569107 -1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 -2.371491 0
+ -0.677569 -1.961384 0
+ 0.089154 -1.622599 0
+ 0.303123 -2.121861 0
+ -0.089154 -2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 0.089154 0
+ 1.515615 0.303123 0
+ 1.319476 -0.160477 0
+ 2.585460 -0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 2.371491 0
+ 0.124815 2.014876 0
+ 0.249631 1.265984 0
+ 0.534923 1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 1.783076 0
+ 1.925722 1.230323 0
+ 1.533445 1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 0.213969 0
+ -1.622599 0.035662 0
+ -0.766723 -0.178308 0
+ -0.303123 0.303123 0
+ -1.372969 0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 2.068368 0
+ -1.141169 1.943553 0
+ -0.784553 1.105507 0
+ -1.337307 1.248153 0
+ L3 26624 -0.001500 0.250000 -2.750000 0 0.500000 -2.375000 0
+ L3 26624 -0.001500 1.750000 -2.375000 0 1.125000 -2.125000 0
+ L3 26624 -0.001500 2.000000 -3.000000 0 1.625000 -2.750000 0
+ L3 26624 -0.001500 1.125000 -3.250000 0 0.875000 -2.750000 0
+ L3 26624 -0.001500 -0.500000 -3.125000 0 -0.250000 -2.750000 0
+ L3 26624 -0.001500 -1.500000 -2.000000 0 -1.000000 -2.000000 0
+ L3 26624 -0.001500 -1.125000 -1.375000 0 -0.500000 -1.625000 0
+ L3 26624 -0.001500 -1.500000 -0.750000 0 -1.000000 -0.375000 0
+ L3 26624 -0.001500 -2.250000 -0.625000 0 -1.750000 -0.375000 0
+ L3 26624 -0.001500 -2.875000 -0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 0.625000 0 -2.500000 1.125000 0
+ L3 26624 -0.001500 -2.250000 1.750000 0 -1.875000 1.250000 0
+ L3 26624 -0.001500 -1.375000 2.750000 0 -1.000000 2.250000 0
+ L3 26624 -0.001500 -0.500000 2.250000 0 -0.625000 3.000000 0
+ L3 26624 -0.001500 -0.375000 1.375000 0 -0.250000 1.875000 0
+ L3 26624 -0.001500 0.875000 2.250000 0 1.125000 3.000000 0
+ L3 26624 -0.001500 1.500000 2.125000 0 2.250000 2.500000 0
+ L3 26624 -0.001500 3.375000 0.875000 0 2.750000 1.000000 0
+ L3 26624 -0.001500 3.375000 2.000000 0 2.750000 1.750000 0
+ L3 26624 -0.001500 3.625000 1.500000 0 3.000000 1.375000 0
+ L3 26624 -0.001500 1.500000 3.625000 0 1.375000 3.125000 0
+ L3 26624 -0.001500 2.250000 3.250000 0 1.875000 2.875000 0
+ L3 26624 -0.001500 1.750000 3.375000 0 1.500000 2.625000 0
+ L3 26624 -0.001500 3.750000 -0.625000 0 3.000000 -0.750000 0
+ L3 26624 -0.001500 3.125000 -1.625000 0 2.500000 -1.250000 0
+ L3 26624 -0.001500 3.750000 -1.250000 0 3.125000 -1.125000 0
+ L3 26624 -0.001500 -1.250000 3.500000 0 -1.125000 3.000000 0
+ L3 26624 -0.001500 -2.750000 1.750000 0 -2.375000 1.500000 0
+ L3 26624 -0.001500 1.750000 -4.000000 0 1.500000 -3.375000 0
+ L3 26624 -0.001500 2.250000 -3.625000 0 1.875000 -3.250000 0
+ END$SEGS
+STRUCTURE 274 3 0 0 0 Fn3 2 96.500000 664.500000 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 275 3 0 0 0 Fn3 2 98.000000 644.000000 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 276 3 0 0 0 Fn3 2 169.500000 720.500000 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 277 3 0 0 0 Fn3 2 137.500000 575.500000 0 0.000000 "LgTrees 10"" Conifer Conif-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 -1.913238 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.636625 -4.748517 0
+ -0.507123 -3.134943 0
+ 0.414919 -4.886824 0
+ 1.819616 -3.056955 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 3.505793 -1.322254 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 3.273250 1.913238 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.728829 3.849526 0
+ 0.852889 4.794619 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -1.452216 3.734271 0
+ -3.503760 4.264445 0
+ -2.927484 2.673922 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 -0.484072 0
+ -4.610211 -1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 -3.227489 0
+ 2.088178 -4.825111 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 3.811432 -2.088178 0
+ 4.906205 -1.196141 0
+ 2.979221 0.096549 0
+ 4.744017 2.027358 0
+ 3.426234 2.331461 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 2.169273 4.602102 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.844895 4.561554 0
+ -1.834428 2.413721 0
+ -4.237177 2.980216 0
+ -3.750611 1.297509 0
+ -2.248208 0.358610 0
+ -3.953347 0.324377 0
+ -4.764290 -0.810943 0
+ -1.544781 -1.062037 0
+ -4.054715 -3.142404 0
+ -1.186171 -2.786123 0
+ -1.250000 -5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 1.372969 0
+ -1.872230 0.855877 0
+ -1.087676 0.552754 0
+ -1.586938 1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 -0.731061 0
+ -1.141169 -0.820215 0
+ -0.713230 -0.427938 0
+ -1.497784 -0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 1.729584 0
+ -1.212492 2.300168 0
+ -1.800907 2.585460 0
+ -1.640430 2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 0.017831 0
+ -2.728106 0.196138 0
+ -1.890061 -0.071323 0
+ -2.745937 -0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 2.264507 0
+ -2.460645 1.836568 0
+ -1.800907 1.693922 0
+ -2.175353 2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 -2.353660 0
+ -1.872230 -1.765245 0
+ -1.212492 -1.515615 0
+ -1.854399 -2.157522 0
+ L3 26624 -0.001500 -2.855087 1.682708 0 -3.765404 1.641330 0
+ L3 26624 -0.001500 -3.958502 2.413721 0 -3.337831 2.262001 0
+ L3 26624 -0.001500 -1.268927 4.068843 0 -1.172379 2.924050 0
+ L3 26624 -0.001500 -1.172379 2.924050 0 -1.862013 3.737819 0
+ L3 26624 -0.001500 1.641330 4.110221 0 1.751672 3.144733 0
+ L3 26624 -0.001500 1.751672 3.144733 0 2.275794 3.737819 0
+ L3 26624 -0.001500 3.944709 2.124074 0 2.661989 1.530989 0
+ L3 26624 -0.001500 2.661989 1.530989 0 3.944709 1.227549 0
+ L3 26624 -0.001500 3.586099 -0.868939 0 2.620611 -0.882732 0
+ L3 26624 -0.001500 2.620611 -0.882732 0 3.420587 -1.958562 0
+ L3 26624 -0.001500 2.455099 -3.255075 0 1.393062 -2.330964 0
+ L3 26624 -0.001500 1.393062 -2.330964 0 1.420647 -4.013673 0
+ L3 26624 -0.001500 -0.496537 -4.289526 0 -0.510330 -2.868879 0
+ L3 26624 -0.001500 -0.510330 -2.868879 0 -1.199964 -3.461965 0
+ L3 26624 -0.001500 -0.662049 3.034392 0 -0.827561 2.330964 0
+ L3 26624 -0.001500 1.117208 3.213697 0 1.131001 2.399928 0
+ L3 26624 -0.001500 2.151660 2.758538 0 1.503403 2.220623 0
+ L3 26624 -0.001500 2.496477 2.110281 0 1.793050 1.103415 0
+ L3 26624 -0.001500 3.227489 0.579293 0 2.358550 0.813769 0
+ L3 26624 -0.001500 3.310245 -0.234476 0 1.875806 -0.441366 0
+ L3 26624 -0.001500 2.013733 -1.020659 0 2.689574 -1.986147 0
+ L3 26624 -0.001500 2.151660 -2.262001 0 1.062037 -1.462025 0
+ L3 26624 -0.001500 0.855147 -1.917184 0 0.579293 -2.758538 0
+ L3 26624 -0.001500 0.041378 -2.744745 0 -0.151720 -1.641330 0
+ L3 26624 -0.001500 -1.117208 -2.496477 0 -0.813769 -1.406854 0
+ L3 26624 -0.001500 -2.110281 0.399988 0 -1.103415 -0.096549 0
+ L3 26624 -0.001500 -0.896525 1.365476 0 -0.455159 0.496537 0
+ L3 26624 -0.001500 0.689634 2.041318 0 0.193098 1.103415 0
+ L3 26624 -0.001500 1.324098 1.503403 0 0.744805 0.896525 0
+ L3 26624 -0.001500 1.834428 0.399988 0 0.731013 0.220683 0
+ L3 26624 -0.001500 1.186171 -0.731013 0 0.510330 -0.317232 0
+ L3 26624 -0.001500 0.137927 -1.034452 0 0.179305 -0.510330 0
+ L3 26624 -0.001500 -0.206890 -0.344817 0 -0.634464 -0.924110 0
+ L3 26624 -0.001500 -0.841354 0.358610 0 -0.262061 0.027585 0
+ L3 26624 -0.001500 0.441366 0.703427 0 0.165512 0.151720 0
+ L3 26624 -0.001500 -2.514137 0.891538 0 -3.191706 1.230323 0
+ L3 26624 -0.001500 -3.138214 -0.731061 0 -2.282337 -0.463600 0
+ L3 26624 -0.001500 -2.478476 -2.656783 0 -1.711753 -2.424984 0
+ END$SEGS
+STRUCTURE 278 3 0 0 0 Fn3 2 107.000000 583.500000 0 0.000000 "LgTrees 10"" Conifer Conif-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 -1.913238 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.636625 -4.748517 0
+ -0.507123 -3.134943 0
+ 0.414919 -4.886824 0
+ 1.819616 -3.056955 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 3.505793 -1.322254 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 3.273250 1.913238 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.728829 3.849526 0
+ 0.852889 4.794619 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -1.452216 3.734271 0
+ -3.503760 4.264445 0
+ -2.927484 2.673922 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 -0.484072 0
+ -4.610211 -1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 -3.227489 0
+ 2.088178 -4.825111 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 3.811432 -2.088178 0
+ 4.906205 -1.196141 0
+ 2.979221 0.096549 0
+ 4.744017 2.027358 0
+ 3.426234 2.331461 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 2.169273 4.602102 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.844895 4.561554 0
+ -1.834428 2.413721 0
+ -4.237177 2.980216 0
+ -3.750611 1.297509 0
+ -2.248208 0.358610 0
+ -3.953347 0.324377 0
+ -4.764290 -0.810943 0
+ -1.544781 -1.062037 0
+ -4.054715 -3.142404 0
+ -1.186171 -2.786123 0
+ -1.250000 -5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 1.372969 0
+ -1.872230 0.855877 0
+ -1.087676 0.552754 0
+ -1.586938 1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 -0.731061 0
+ -1.141169 -0.820215 0
+ -0.713230 -0.427938 0
+ -1.497784 -0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 1.729584 0
+ -1.212492 2.300168 0
+ -1.800907 2.585460 0
+ -1.640430 2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 0.017831 0
+ -2.728106 0.196138 0
+ -1.890061 -0.071323 0
+ -2.745937 -0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 2.264507 0
+ -2.460645 1.836568 0
+ -1.800907 1.693922 0
+ -2.175353 2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 -2.353660 0
+ -1.872230 -1.765245 0
+ -1.212492 -1.515615 0
+ -1.854399 -2.157522 0
+ L3 26624 -0.001500 -2.855087 1.682708 0 -3.765404 1.641330 0
+ L3 26624 -0.001500 -3.958502 2.413721 0 -3.337831 2.262001 0
+ L3 26624 -0.001500 -1.268927 4.068843 0 -1.172379 2.924050 0
+ L3 26624 -0.001500 -1.172379 2.924050 0 -1.862013 3.737819 0
+ L3 26624 -0.001500 1.641330 4.110221 0 1.751672 3.144733 0
+ L3 26624 -0.001500 1.751672 3.144733 0 2.275794 3.737819 0
+ L3 26624 -0.001500 3.944709 2.124074 0 2.661989 1.530989 0
+ L3 26624 -0.001500 2.661989 1.530989 0 3.944709 1.227549 0
+ L3 26624 -0.001500 3.586099 -0.868939 0 2.620611 -0.882732 0
+ L3 26624 -0.001500 2.620611 -0.882732 0 3.420587 -1.958562 0
+ L3 26624 -0.001500 2.455099 -3.255075 0 1.393062 -2.330964 0
+ L3 26624 -0.001500 1.393062 -2.330964 0 1.420647 -4.013673 0
+ L3 26624 -0.001500 -0.496537 -4.289526 0 -0.510330 -2.868879 0
+ L3 26624 -0.001500 -0.510330 -2.868879 0 -1.199964 -3.461965 0
+ L3 26624 -0.001500 -0.662049 3.034392 0 -0.827561 2.330964 0
+ L3 26624 -0.001500 1.117208 3.213697 0 1.131001 2.399928 0
+ L3 26624 -0.001500 2.151660 2.758538 0 1.503403 2.220623 0
+ L3 26624 -0.001500 2.496477 2.110281 0 1.793050 1.103415 0
+ L3 26624 -0.001500 3.227489 0.579293 0 2.358550 0.813769 0
+ L3 26624 -0.001500 3.310245 -0.234476 0 1.875806 -0.441366 0
+ L3 26624 -0.001500 2.013733 -1.020659 0 2.689574 -1.986147 0
+ L3 26624 -0.001500 2.151660 -2.262001 0 1.062037 -1.462025 0
+ L3 26624 -0.001500 0.855147 -1.917184 0 0.579293 -2.758538 0
+ L3 26624 -0.001500 0.041378 -2.744745 0 -0.151720 -1.641330 0
+ L3 26624 -0.001500 -1.117208 -2.496477 0 -0.813769 -1.406854 0
+ L3 26624 -0.001500 -2.110281 0.399988 0 -1.103415 -0.096549 0
+ L3 26624 -0.001500 -0.896525 1.365476 0 -0.455159 0.496537 0
+ L3 26624 -0.001500 0.689634 2.041318 0 0.193098 1.103415 0
+ L3 26624 -0.001500 1.324098 1.503403 0 0.744805 0.896525 0
+ L3 26624 -0.001500 1.834428 0.399988 0 0.731013 0.220683 0
+ L3 26624 -0.001500 1.186171 -0.731013 0 0.510330 -0.317232 0
+ L3 26624 -0.001500 0.137927 -1.034452 0 0.179305 -0.510330 0
+ L3 26624 -0.001500 -0.206890 -0.344817 0 -0.634464 -0.924110 0
+ L3 26624 -0.001500 -0.841354 0.358610 0 -0.262061 0.027585 0
+ L3 26624 -0.001500 0.441366 0.703427 0 0.165512 0.151720 0
+ L3 26624 -0.001500 -2.514137 0.891538 0 -3.191706 1.230323 0
+ L3 26624 -0.001500 -3.138214 -0.731061 0 -2.282337 -0.463600 0
+ L3 26624 -0.001500 -2.478476 -2.656783 0 -1.711753 -2.424984 0
+ END$SEGS
+STRUCTURE 279 3 0 0 0 Fn3 2 87.500000 568.000000 0 0.000000 "LgTrees 10"" Conifer Conif-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 -1.913238 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.636625 -4.748517 0
+ -0.507123 -3.134943 0
+ 0.414919 -4.886824 0
+ 1.819616 -3.056955 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 3.505793 -1.322254 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 3.273250 1.913238 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.728829 3.849526 0
+ 0.852889 4.794619 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -1.452216 3.734271 0
+ -3.503760 4.264445 0
+ -2.927484 2.673922 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 -0.484072 0
+ -4.610211 -1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 -3.227489 0
+ 2.088178 -4.825111 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 3.811432 -2.088178 0
+ 4.906205 -1.196141 0
+ 2.979221 0.096549 0
+ 4.744017 2.027358 0
+ 3.426234 2.331461 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 2.169273 4.602102 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.844895 4.561554 0
+ -1.834428 2.413721 0
+ -4.237177 2.980216 0
+ -3.750611 1.297509 0
+ -2.248208 0.358610 0
+ -3.953347 0.324377 0
+ -4.764290 -0.810943 0
+ -1.544781 -1.062037 0
+ -4.054715 -3.142404 0
+ -1.186171 -2.786123 0
+ -1.250000 -5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 1.372969 0
+ -1.872230 0.855877 0
+ -1.087676 0.552754 0
+ -1.586938 1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 -0.731061 0
+ -1.141169 -0.820215 0
+ -0.713230 -0.427938 0
+ -1.497784 -0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 1.729584 0
+ -1.212492 2.300168 0
+ -1.800907 2.585460 0
+ -1.640430 2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 0.017831 0
+ -2.728106 0.196138 0
+ -1.890061 -0.071323 0
+ -2.745937 -0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 2.264507 0
+ -2.460645 1.836568 0
+ -1.800907 1.693922 0
+ -2.175353 2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 -2.353660 0
+ -1.872230 -1.765245 0
+ -1.212492 -1.515615 0
+ -1.854399 -2.157522 0
+ L3 26624 -0.001500 -2.855087 1.682708 0 -3.765404 1.641330 0
+ L3 26624 -0.001500 -3.958502 2.413721 0 -3.337831 2.262001 0
+ L3 26624 -0.001500 -1.268927 4.068843 0 -1.172379 2.924050 0
+ L3 26624 -0.001500 -1.172379 2.924050 0 -1.862013 3.737819 0
+ L3 26624 -0.001500 1.641330 4.110221 0 1.751672 3.144733 0
+ L3 26624 -0.001500 1.751672 3.144733 0 2.275794 3.737819 0
+ L3 26624 -0.001500 3.944709 2.124074 0 2.661989 1.530989 0
+ L3 26624 -0.001500 2.661989 1.530989 0 3.944709 1.227549 0
+ L3 26624 -0.001500 3.586099 -0.868939 0 2.620611 -0.882732 0
+ L3 26624 -0.001500 2.620611 -0.882732 0 3.420587 -1.958562 0
+ L3 26624 -0.001500 2.455099 -3.255075 0 1.393062 -2.330964 0
+ L3 26624 -0.001500 1.393062 -2.330964 0 1.420647 -4.013673 0
+ L3 26624 -0.001500 -0.496537 -4.289526 0 -0.510330 -2.868879 0
+ L3 26624 -0.001500 -0.510330 -2.868879 0 -1.199964 -3.461965 0
+ L3 26624 -0.001500 -0.662049 3.034392 0 -0.827561 2.330964 0
+ L3 26624 -0.001500 1.117208 3.213697 0 1.131001 2.399928 0
+ L3 26624 -0.001500 2.151660 2.758538 0 1.503403 2.220623 0
+ L3 26624 -0.001500 2.496477 2.110281 0 1.793050 1.103415 0
+ L3 26624 -0.001500 3.227489 0.579293 0 2.358550 0.813769 0
+ L3 26624 -0.001500 3.310245 -0.234476 0 1.875806 -0.441366 0
+ L3 26624 -0.001500 2.013733 -1.020659 0 2.689574 -1.986147 0
+ L3 26624 -0.001500 2.151660 -2.262001 0 1.062037 -1.462025 0
+ L3 26624 -0.001500 0.855147 -1.917184 0 0.579293 -2.758538 0
+ L3 26624 -0.001500 0.041378 -2.744745 0 -0.151720 -1.641330 0
+ L3 26624 -0.001500 -1.117208 -2.496477 0 -0.813769 -1.406854 0
+ L3 26624 -0.001500 -2.110281 0.399988 0 -1.103415 -0.096549 0
+ L3 26624 -0.001500 -0.896525 1.365476 0 -0.455159 0.496537 0
+ L3 26624 -0.001500 0.689634 2.041318 0 0.193098 1.103415 0
+ L3 26624 -0.001500 1.324098 1.503403 0 0.744805 0.896525 0
+ L3 26624 -0.001500 1.834428 0.399988 0 0.731013 0.220683 0
+ L3 26624 -0.001500 1.186171 -0.731013 0 0.510330 -0.317232 0
+ L3 26624 -0.001500 0.137927 -1.034452 0 0.179305 -0.510330 0
+ L3 26624 -0.001500 -0.206890 -0.344817 0 -0.634464 -0.924110 0
+ L3 26624 -0.001500 -0.841354 0.358610 0 -0.262061 0.027585 0
+ L3 26624 -0.001500 0.441366 0.703427 0 0.165512 0.151720 0
+ L3 26624 -0.001500 -2.514137 0.891538 0 -3.191706 1.230323 0
+ L3 26624 -0.001500 -3.138214 -0.731061 0 -2.282337 -0.463600 0
+ L3 26624 -0.001500 -2.478476 -2.656783 0 -1.711753 -2.424984 0
+ END$SEGS
+STRUCTURE 280 3 0 0 0 Fn3 2 163.000000 570.500000 0 0.000000 "LgTrees 12"" Conifer Conif-12a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -3.711008 -2.231983 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.909287 -5.539620 0
+ -0.591610 -3.657225 0
+ 0.484044 -5.700969 0
+ 2.122764 -3.566244 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 4.089859 -1.542542 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 3.818573 2.231983 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 2.016852 4.490857 0
+ 0.994980 5.593403 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -1.694156 4.356400 0
+ -4.087487 4.974902 0
+ -3.415203 3.119398 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 -0.564719 0
+ -5.378272 -2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 -3.765189 0
+ 2.436069 -5.628974 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.446417 -2.436069 0
+ 5.723579 -1.395418 0
+ 3.475559 0.112634 0
+ 5.534370 2.365115 0
+ 3.997045 2.719883 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 2.530673 5.368812 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.152255 5.321509 0
+ -2.140043 2.815846 0
+ -4.943091 3.476719 0
+ -4.375463 1.513674 0
+ -2.622760 0.418354 0
+ -4.611975 0.378418 0
+ -5.558021 -0.946046 0
+ -1.802142 -1.238972 0
+ -4.730231 -3.665929 0
+ -1.383787 -3.250291 0
+ -1.458250 -5.833000 0
+ F4 26624 0.000000 4 0
+ -2.704178 1.601705 0
+ -2.184143 0.998466 0
+ -1.268883 0.644842 0
+ -1.851322 1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 -0.852856 0
+ -1.331287 -0.956863 0
+ -0.832055 -0.499233 0
+ -1.747315 -0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 2.017732 0
+ -1.414493 2.683376 0
+ -2.100938 3.016198 0
+ -1.913726 2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 0.020801 0
+ -3.182609 0.228815 0
+ -2.204945 -0.083205 0
+ -3.203410 -0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 2.641773 0
+ -2.870588 2.142541 0
+ -2.100938 1.976130 0
+ -2.537767 2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 -2.745780 0
+ -2.184143 -2.059335 0
+ -1.414493 -1.768116 0
+ -2.163342 -2.516965 0
+ L3 26624 -0.001500 -3.330744 1.963047 0 -4.392720 1.914776 0
+ L3 26624 -0.001500 -4.617988 2.815846 0 -3.893913 2.638850 0
+ L3 26624 -0.001500 -1.480331 4.746713 0 -1.367697 3.411197 0
+ L3 26624 -0.001500 -1.367697 3.411197 0 -2.172224 4.360539 0
+ L3 26624 -0.001500 1.914776 4.794984 0 2.043500 3.668646 0
+ L3 26624 -0.001500 2.043500 3.668646 0 2.654941 4.360539 0
+ L3 26624 -0.001500 4.601898 2.477945 0 3.105476 1.786051 0
+ L3 26624 -0.001500 3.105476 1.786051 0 4.601898 1.432059 0
+ L3 26624 -0.001500 4.183543 -1.013705 0 3.057205 -1.029795 0
+ L3 26624 -0.001500 3.057205 -1.029795 0 3.990457 -2.284858 0
+ L3 26624 -0.001500 2.864118 -3.797370 0 1.625146 -2.719303 0
+ L3 26624 -0.001500 1.625146 -2.719303 0 1.657327 -4.682350 0
+ L3 26624 -0.001500 -0.579260 -5.004161 0 -0.595350 -3.346835 0
+ L3 26624 -0.001500 -0.595350 -3.346835 0 -1.399878 -4.038728 0
+ L3 26624 -0.001500 -0.772346 3.539921 0 -0.965433 2.719303 0
+ L3 26624 -0.001500 1.303335 3.749098 0 1.319425 2.799756 0
+ L3 26624 -0.001500 2.510126 3.218110 0 1.753870 2.590579 0
+ L3 26624 -0.001500 2.912390 2.461854 0 2.091772 1.287244 0
+ L3 26624 -0.001500 3.765189 0.675803 0 2.751484 0.949343 0
+ L3 26624 -0.001500 3.861732 -0.273539 0 2.188315 -0.514898 0
+ L3 26624 -0.001500 2.349220 -1.190701 0 3.137657 -2.317039 0
+ L3 26624 -0.001500 2.510126 -2.638850 0 1.238972 -1.705598 0
+ L3 26624 -0.001500 0.997614 -2.236587 0 0.675803 -3.218110 0
+ L3 26624 -0.001500 0.048272 -3.202020 0 -0.176996 -1.914776 0
+ L3 26624 -0.001500 -1.303335 -2.912390 0 -0.949343 -1.641236 0
+ L3 26624 -0.001500 -2.461854 0.466626 0 -1.287244 -0.112634 0
+ L3 26624 -0.001500 -1.045886 1.592965 0 -0.530988 0.579260 0
+ L3 26624 -0.001500 0.804528 2.381402 0 0.225268 1.287244 0
+ L3 26624 -0.001500 1.544693 1.753870 0 0.868890 1.045886 0
+ L3 26624 -0.001500 2.140043 0.466626 0 0.852799 0.257449 0
+ L3 26624 -0.001500 1.383787 -0.852799 0 0.595350 -0.370083 0
+ L3 26624 -0.001500 0.160906 -1.206791 0 0.209177 -0.595350 0
+ L3 26624 -0.001500 -0.241358 -0.402264 0 -0.740165 -1.078067 0
+ L3 26624 -0.001500 -0.981524 0.418354 0 -0.305720 0.032181 0
+ L3 26624 -0.001500 0.514898 0.820618 0 0.193087 0.176996 0
+ L3 26624 -0.001500 -2.932993 1.040068 0 -3.723444 1.435294 0
+ L3 26624 -0.001500 -3.661040 -0.852856 0 -2.662575 -0.540836 0
+ L3 26624 -0.001500 -2.891390 -3.099404 0 -1.996931 -2.828986 0
+ END$SEGS
+STRUCTURE 281 3 0 0 0 Fn3 2 118.500000 563.000000 0 0.000000 "LgTrees 12"" Conifer Conif-12a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -3.711008 -2.231983 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.909287 -5.539620 0
+ -0.591610 -3.657225 0
+ 0.484044 -5.700969 0
+ 2.122764 -3.566244 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 4.089859 -1.542542 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 3.818573 2.231983 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 2.016852 4.490857 0
+ 0.994980 5.593403 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -1.694156 4.356400 0
+ -4.087487 4.974902 0
+ -3.415203 3.119398 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 -0.564719 0
+ -5.378272 -2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 -3.765189 0
+ 2.436069 -5.628974 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.446417 -2.436069 0
+ 5.723579 -1.395418 0
+ 3.475559 0.112634 0
+ 5.534370 2.365115 0
+ 3.997045 2.719883 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 2.530673 5.368812 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.152255 5.321509 0
+ -2.140043 2.815846 0
+ -4.943091 3.476719 0
+ -4.375463 1.513674 0
+ -2.622760 0.418354 0
+ -4.611975 0.378418 0
+ -5.558021 -0.946046 0
+ -1.802142 -1.238972 0
+ -4.730231 -3.665929 0
+ -1.383787 -3.250291 0
+ -1.458250 -5.833000 0
+ F4 26624 0.000000 4 0
+ -2.704178 1.601705 0
+ -2.184143 0.998466 0
+ -1.268883 0.644842 0
+ -1.851322 1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 -0.852856 0
+ -1.331287 -0.956863 0
+ -0.832055 -0.499233 0
+ -1.747315 -0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 2.017732 0
+ -1.414493 2.683376 0
+ -2.100938 3.016198 0
+ -1.913726 2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 0.020801 0
+ -3.182609 0.228815 0
+ -2.204945 -0.083205 0
+ -3.203410 -0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 2.641773 0
+ -2.870588 2.142541 0
+ -2.100938 1.976130 0
+ -2.537767 2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 -2.745780 0
+ -2.184143 -2.059335 0
+ -1.414493 -1.768116 0
+ -2.163342 -2.516965 0
+ L3 26624 -0.001500 -3.330744 1.963047 0 -4.392720 1.914776 0
+ L3 26624 -0.001500 -4.617988 2.815846 0 -3.893913 2.638850 0
+ L3 26624 -0.001500 -1.480331 4.746713 0 -1.367697 3.411197 0
+ L3 26624 -0.001500 -1.367697 3.411197 0 -2.172224 4.360539 0
+ L3 26624 -0.001500 1.914776 4.794984 0 2.043500 3.668646 0
+ L3 26624 -0.001500 2.043500 3.668646 0 2.654941 4.360539 0
+ L3 26624 -0.001500 4.601898 2.477945 0 3.105476 1.786051 0
+ L3 26624 -0.001500 3.105476 1.786051 0 4.601898 1.432059 0
+ L3 26624 -0.001500 4.183543 -1.013705 0 3.057205 -1.029795 0
+ L3 26624 -0.001500 3.057205 -1.029795 0 3.990457 -2.284858 0
+ L3 26624 -0.001500 2.864118 -3.797370 0 1.625146 -2.719303 0
+ L3 26624 -0.001500 1.625146 -2.719303 0 1.657327 -4.682350 0
+ L3 26624 -0.001500 -0.579260 -5.004161 0 -0.595350 -3.346835 0
+ L3 26624 -0.001500 -0.595350 -3.346835 0 -1.399878 -4.038728 0
+ L3 26624 -0.001500 -0.772346 3.539921 0 -0.965433 2.719303 0
+ L3 26624 -0.001500 1.303335 3.749098 0 1.319425 2.799756 0
+ L3 26624 -0.001500 2.510126 3.218110 0 1.753870 2.590579 0
+ L3 26624 -0.001500 2.912390 2.461854 0 2.091772 1.287244 0
+ L3 26624 -0.001500 3.765189 0.675803 0 2.751484 0.949343 0
+ L3 26624 -0.001500 3.861732 -0.273539 0 2.188315 -0.514898 0
+ L3 26624 -0.001500 2.349220 -1.190701 0 3.137657 -2.317039 0
+ L3 26624 -0.001500 2.510126 -2.638850 0 1.238972 -1.705598 0
+ L3 26624 -0.001500 0.997614 -2.236587 0 0.675803 -3.218110 0
+ L3 26624 -0.001500 0.048272 -3.202020 0 -0.176996 -1.914776 0
+ L3 26624 -0.001500 -1.303335 -2.912390 0 -0.949343 -1.641236 0
+ L3 26624 -0.001500 -2.461854 0.466626 0 -1.287244 -0.112634 0
+ L3 26624 -0.001500 -1.045886 1.592965 0 -0.530988 0.579260 0
+ L3 26624 -0.001500 0.804528 2.381402 0 0.225268 1.287244 0
+ L3 26624 -0.001500 1.544693 1.753870 0 0.868890 1.045886 0
+ L3 26624 -0.001500 2.140043 0.466626 0 0.852799 0.257449 0
+ L3 26624 -0.001500 1.383787 -0.852799 0 0.595350 -0.370083 0
+ L3 26624 -0.001500 0.160906 -1.206791 0 0.209177 -0.595350 0
+ L3 26624 -0.001500 -0.241358 -0.402264 0 -0.740165 -1.078067 0
+ L3 26624 -0.001500 -0.981524 0.418354 0 -0.305720 0.032181 0
+ L3 26624 -0.001500 0.514898 0.820618 0 0.193087 0.176996 0
+ L3 26624 -0.001500 -2.932993 1.040068 0 -3.723444 1.435294 0
+ L3 26624 -0.001500 -3.661040 -0.852856 0 -2.662575 -0.540836 0
+ L3 26624 -0.001500 -2.891390 -3.099404 0 -1.996931 -2.828986 0
+ END$SEGS
+STRUCTURE 282 3 0 0 0 Fn3 2 81.000000 592.500000 0 0.000000 "LgTrees 12"" Conifer Conif-12a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -3.711008 -2.231983 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.909287 -5.539620 0
+ -0.591610 -3.657225 0
+ 0.484044 -5.700969 0
+ 2.122764 -3.566244 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 4.089859 -1.542542 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 3.818573 2.231983 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 2.016852 4.490857 0
+ 0.994980 5.593403 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -1.694156 4.356400 0
+ -4.087487 4.974902 0
+ -3.415203 3.119398 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 -0.564719 0
+ -5.378272 -2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 -3.765189 0
+ 2.436069 -5.628974 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.446417 -2.436069 0
+ 5.723579 -1.395418 0
+ 3.475559 0.112634 0
+ 5.534370 2.365115 0
+ 3.997045 2.719883 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 2.530673 5.368812 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.152255 5.321509 0
+ -2.140043 2.815846 0
+ -4.943091 3.476719 0
+ -4.375463 1.513674 0
+ -2.622760 0.418354 0
+ -4.611975 0.378418 0
+ -5.558021 -0.946046 0
+ -1.802142 -1.238972 0
+ -4.730231 -3.665929 0
+ -1.383787 -3.250291 0
+ -1.458250 -5.833000 0
+ F4 26624 0.000000 4 0
+ -2.704178 1.601705 0
+ -2.184143 0.998466 0
+ -1.268883 0.644842 0
+ -1.851322 1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 -0.852856 0
+ -1.331287 -0.956863 0
+ -0.832055 -0.499233 0
+ -1.747315 -0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 2.017732 0
+ -1.414493 2.683376 0
+ -2.100938 3.016198 0
+ -1.913726 2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 0.020801 0
+ -3.182609 0.228815 0
+ -2.204945 -0.083205 0
+ -3.203410 -0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 2.641773 0
+ -2.870588 2.142541 0
+ -2.100938 1.976130 0
+ -2.537767 2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 -2.745780 0
+ -2.184143 -2.059335 0
+ -1.414493 -1.768116 0
+ -2.163342 -2.516965 0
+ L3 26624 -0.001500 -3.330744 1.963047 0 -4.392720 1.914776 0
+ L3 26624 -0.001500 -4.617988 2.815846 0 -3.893913 2.638850 0
+ L3 26624 -0.001500 -1.480331 4.746713 0 -1.367697 3.411197 0
+ L3 26624 -0.001500 -1.367697 3.411197 0 -2.172224 4.360539 0
+ L3 26624 -0.001500 1.914776 4.794984 0 2.043500 3.668646 0
+ L3 26624 -0.001500 2.043500 3.668646 0 2.654941 4.360539 0
+ L3 26624 -0.001500 4.601898 2.477945 0 3.105476 1.786051 0
+ L3 26624 -0.001500 3.105476 1.786051 0 4.601898 1.432059 0
+ L3 26624 -0.001500 4.183543 -1.013705 0 3.057205 -1.029795 0
+ L3 26624 -0.001500 3.057205 -1.029795 0 3.990457 -2.284858 0
+ L3 26624 -0.001500 2.864118 -3.797370 0 1.625146 -2.719303 0
+ L3 26624 -0.001500 1.625146 -2.719303 0 1.657327 -4.682350 0
+ L3 26624 -0.001500 -0.579260 -5.004161 0 -0.595350 -3.346835 0
+ L3 26624 -0.001500 -0.595350 -3.346835 0 -1.399878 -4.038728 0
+ L3 26624 -0.001500 -0.772346 3.539921 0 -0.965433 2.719303 0
+ L3 26624 -0.001500 1.303335 3.749098 0 1.319425 2.799756 0
+ L3 26624 -0.001500 2.510126 3.218110 0 1.753870 2.590579 0
+ L3 26624 -0.001500 2.912390 2.461854 0 2.091772 1.287244 0
+ L3 26624 -0.001500 3.765189 0.675803 0 2.751484 0.949343 0
+ L3 26624 -0.001500 3.861732 -0.273539 0 2.188315 -0.514898 0
+ L3 26624 -0.001500 2.349220 -1.190701 0 3.137657 -2.317039 0
+ L3 26624 -0.001500 2.510126 -2.638850 0 1.238972 -1.705598 0
+ L3 26624 -0.001500 0.997614 -2.236587 0 0.675803 -3.218110 0
+ L3 26624 -0.001500 0.048272 -3.202020 0 -0.176996 -1.914776 0
+ L3 26624 -0.001500 -1.303335 -2.912390 0 -0.949343 -1.641236 0
+ L3 26624 -0.001500 -2.461854 0.466626 0 -1.287244 -0.112634 0
+ L3 26624 -0.001500 -1.045886 1.592965 0 -0.530988 0.579260 0
+ L3 26624 -0.001500 0.804528 2.381402 0 0.225268 1.287244 0
+ L3 26624 -0.001500 1.544693 1.753870 0 0.868890 1.045886 0
+ L3 26624 -0.001500 2.140043 0.466626 0 0.852799 0.257449 0
+ L3 26624 -0.001500 1.383787 -0.852799 0 0.595350 -0.370083 0
+ L3 26624 -0.001500 0.160906 -1.206791 0 0.209177 -0.595350 0
+ L3 26624 -0.001500 -0.241358 -0.402264 0 -0.740165 -1.078067 0
+ L3 26624 -0.001500 -0.981524 0.418354 0 -0.305720 0.032181 0
+ L3 26624 -0.001500 0.514898 0.820618 0 0.193087 0.176996 0
+ L3 26624 -0.001500 -2.932993 1.040068 0 -3.723444 1.435294 0
+ L3 26624 -0.001500 -3.661040 -0.852856 0 -2.662575 -0.540836 0
+ L3 26624 -0.001500 -2.891390 -3.099404 0 -1.996931 -2.828986 0
+ END$SEGS
+STRUCTURE 283 3 0 0 0 Fn3 2 99.500000 558.500000 0 0.000000 "LgTrees 12"" Conifer Conif-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 0.079054 0
+ F4 26624 0.000000 28 0
+ -3.711008 2.231983 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.909287 5.539620 0
+ -0.591610 3.657225 0
+ 0.484044 5.700969 0
+ 2.122764 3.566244 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 4.089859 1.542542 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 3.818573 -2.231983 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 2.016852 -4.490857 0
+ 0.994980 -5.593403 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -1.694156 -4.356400 0
+ -4.087487 -4.974902 0
+ -3.415203 -3.119398 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 0.564719 0
+ -5.378272 2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 3.765189 0
+ 2.436069 5.628974 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.446417 2.436069 0
+ 5.723579 1.395418 0
+ 3.475559 -0.112634 0
+ 5.534370 -2.365115 0
+ 3.997045 -2.719883 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 2.530673 -5.368812 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.152255 -5.321509 0
+ -2.140043 -2.815846 0
+ -4.943091 -3.476719 0
+ -4.375463 -1.513674 0
+ -2.622760 -0.418354 0
+ -4.611975 -0.378418 0
+ -5.558021 0.946046 0
+ -1.802142 1.238972 0
+ -4.730231 3.665929 0
+ -1.383787 3.250291 0
+ -1.458250 5.833000 0
+ F4 26624 0.000000 4 0
+ -2.704178 -1.601705 0
+ -2.184143 -0.998466 0
+ -1.268883 -0.644842 0
+ -1.851322 -1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 0.852856 0
+ -1.331287 0.956863 0
+ -0.832055 0.499233 0
+ -1.747315 0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 -2.017732 0
+ -1.414493 -2.683376 0
+ -2.100938 -3.016198 0
+ -1.913726 -2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 -0.020801 0
+ -3.182609 -0.228815 0
+ -2.204945 0.083205 0
+ -3.203410 0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 -2.641773 0
+ -2.870588 -2.142541 0
+ -2.100938 -1.976130 0
+ -2.537767 -2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 2.745780 0
+ -2.184143 2.059335 0
+ -1.414493 1.768116 0
+ -2.163342 2.516965 0
+ L3 26624 -0.001500 -3.330744 -1.963047 0 -4.392720 -1.914776 0
+ L3 26624 -0.001500 -4.617988 -2.815846 0 -3.893913 -2.638850 0
+ L3 26624 -0.001500 -1.480331 -4.746713 0 -1.367697 -3.411197 0
+ L3 26624 -0.001500 -1.367697 -3.411197 0 -2.172224 -4.360539 0
+ L3 26624 -0.001500 1.914776 -4.794984 0 2.043500 -3.668646 0
+ L3 26624 -0.001500 2.043500 -3.668646 0 2.654941 -4.360539 0
+ L3 26624 -0.001500 4.601898 -2.477945 0 3.105476 -1.786051 0
+ L3 26624 -0.001500 3.105476 -1.786051 0 4.601898 -1.432059 0
+ L3 26624 -0.001500 4.183543 1.013705 0 3.057205 1.029795 0
+ L3 26624 -0.001500 3.057205 1.029795 0 3.990457 2.284858 0
+ L3 26624 -0.001500 2.864118 3.797370 0 1.625146 2.719303 0
+ L3 26624 -0.001500 1.625146 2.719303 0 1.657327 4.682350 0
+ L3 26624 -0.001500 -0.579260 5.004161 0 -0.595350 3.346835 0
+ L3 26624 -0.001500 -0.595350 3.346835 0 -1.399878 4.038728 0
+ L3 26624 -0.001500 -0.772346 -3.539921 0 -0.965433 -2.719303 0
+ L3 26624 -0.001500 1.303335 -3.749098 0 1.319425 -2.799756 0
+ L3 26624 -0.001500 2.510126 -3.218110 0 1.753870 -2.590579 0
+ L3 26624 -0.001500 2.912390 -2.461854 0 2.091772 -1.287244 0
+ L3 26624 -0.001500 3.765189 -0.675803 0 2.751484 -0.949343 0
+ L3 26624 -0.001500 3.861732 0.273539 0 2.188315 0.514898 0
+ L3 26624 -0.001500 2.349220 1.190701 0 3.137657 2.317039 0
+ L3 26624 -0.001500 2.510126 2.638850 0 1.238972 1.705598 0
+ L3 26624 -0.001500 0.997614 2.236587 0 0.675803 3.218110 0
+ L3 26624 -0.001500 0.048272 3.202020 0 -0.176996 1.914776 0
+ L3 26624 -0.001500 -1.303335 2.912390 0 -0.949343 1.641236 0
+ L3 26624 -0.001500 -2.461854 -0.466626 0 -1.287244 0.112634 0
+ L3 26624 -0.001500 -1.045886 -1.592965 0 -0.530988 -0.579260 0
+ L3 26624 -0.001500 0.804528 -2.381402 0 0.225268 -1.287244 0
+ L3 26624 -0.001500 1.544693 -1.753870 0 0.868890 -1.045886 0
+ L3 26624 -0.001500 2.140043 -0.466626 0 0.852799 -0.257449 0
+ L3 26624 -0.001500 1.383787 0.852799 0 0.595350 0.370083 0
+ L3 26624 -0.001500 0.160906 1.206791 0 0.209177 0.595350 0
+ L3 26624 -0.001500 -0.241358 0.402264 0 -0.740165 1.078067 0
+ L3 26624 -0.001500 -0.981524 -0.418354 0 -0.305720 -0.032181 0
+ L3 26624 -0.001500 0.514898 -0.820618 0 0.193087 -0.176996 0
+ L3 26624 -0.001500 -2.932993 -1.040068 0 -3.723444 -1.435294 0
+ L3 26624 -0.001500 -3.661040 0.852856 0 -2.662575 0.540836 0
+ L3 26624 -0.001500 -2.891390 3.099404 0 -1.996931 2.828986 0
+ END$SEGS
+STRUCTURE 284 3 0 0 0 Fn3 2 91.500000 582.500000 0 0.000000 "LgTrees 12"" Conifer Conif-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 0.079054 0
+ F4 26624 0.000000 28 0
+ -3.711008 2.231983 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.909287 5.539620 0
+ -0.591610 3.657225 0
+ 0.484044 5.700969 0
+ 2.122764 3.566244 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 4.089859 1.542542 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 3.818573 -2.231983 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 2.016852 -4.490857 0
+ 0.994980 -5.593403 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -1.694156 -4.356400 0
+ -4.087487 -4.974902 0
+ -3.415203 -3.119398 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 0.564719 0
+ -5.378272 2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 3.765189 0
+ 2.436069 5.628974 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.446417 2.436069 0
+ 5.723579 1.395418 0
+ 3.475559 -0.112634 0
+ 5.534370 -2.365115 0
+ 3.997045 -2.719883 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 2.530673 -5.368812 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.152255 -5.321509 0
+ -2.140043 -2.815846 0
+ -4.943091 -3.476719 0
+ -4.375463 -1.513674 0
+ -2.622760 -0.418354 0
+ -4.611975 -0.378418 0
+ -5.558021 0.946046 0
+ -1.802142 1.238972 0
+ -4.730231 3.665929 0
+ -1.383787 3.250291 0
+ -1.458250 5.833000 0
+ F4 26624 0.000000 4 0
+ -2.704178 -1.601705 0
+ -2.184143 -0.998466 0
+ -1.268883 -0.644842 0
+ -1.851322 -1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 0.852856 0
+ -1.331287 0.956863 0
+ -0.832055 0.499233 0
+ -1.747315 0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 -2.017732 0
+ -1.414493 -2.683376 0
+ -2.100938 -3.016198 0
+ -1.913726 -2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 -0.020801 0
+ -3.182609 -0.228815 0
+ -2.204945 0.083205 0
+ -3.203410 0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 -2.641773 0
+ -2.870588 -2.142541 0
+ -2.100938 -1.976130 0
+ -2.537767 -2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 2.745780 0
+ -2.184143 2.059335 0
+ -1.414493 1.768116 0
+ -2.163342 2.516965 0
+ L3 26624 -0.001500 -3.330744 -1.963047 0 -4.392720 -1.914776 0
+ L3 26624 -0.001500 -4.617988 -2.815846 0 -3.893913 -2.638850 0
+ L3 26624 -0.001500 -1.480331 -4.746713 0 -1.367697 -3.411197 0
+ L3 26624 -0.001500 -1.367697 -3.411197 0 -2.172224 -4.360539 0
+ L3 26624 -0.001500 1.914776 -4.794984 0 2.043500 -3.668646 0
+ L3 26624 -0.001500 2.043500 -3.668646 0 2.654941 -4.360539 0
+ L3 26624 -0.001500 4.601898 -2.477945 0 3.105476 -1.786051 0
+ L3 26624 -0.001500 3.105476 -1.786051 0 4.601898 -1.432059 0
+ L3 26624 -0.001500 4.183543 1.013705 0 3.057205 1.029795 0
+ L3 26624 -0.001500 3.057205 1.029795 0 3.990457 2.284858 0
+ L3 26624 -0.001500 2.864118 3.797370 0 1.625146 2.719303 0
+ L3 26624 -0.001500 1.625146 2.719303 0 1.657327 4.682350 0
+ L3 26624 -0.001500 -0.579260 5.004161 0 -0.595350 3.346835 0
+ L3 26624 -0.001500 -0.595350 3.346835 0 -1.399878 4.038728 0
+ L3 26624 -0.001500 -0.772346 -3.539921 0 -0.965433 -2.719303 0
+ L3 26624 -0.001500 1.303335 -3.749098 0 1.319425 -2.799756 0
+ L3 26624 -0.001500 2.510126 -3.218110 0 1.753870 -2.590579 0
+ L3 26624 -0.001500 2.912390 -2.461854 0 2.091772 -1.287244 0
+ L3 26624 -0.001500 3.765189 -0.675803 0 2.751484 -0.949343 0
+ L3 26624 -0.001500 3.861732 0.273539 0 2.188315 0.514898 0
+ L3 26624 -0.001500 2.349220 1.190701 0 3.137657 2.317039 0
+ L3 26624 -0.001500 2.510126 2.638850 0 1.238972 1.705598 0
+ L3 26624 -0.001500 0.997614 2.236587 0 0.675803 3.218110 0
+ L3 26624 -0.001500 0.048272 3.202020 0 -0.176996 1.914776 0
+ L3 26624 -0.001500 -1.303335 2.912390 0 -0.949343 1.641236 0
+ L3 26624 -0.001500 -2.461854 -0.466626 0 -1.287244 0.112634 0
+ L3 26624 -0.001500 -1.045886 -1.592965 0 -0.530988 -0.579260 0
+ L3 26624 -0.001500 0.804528 -2.381402 0 0.225268 -1.287244 0
+ L3 26624 -0.001500 1.544693 -1.753870 0 0.868890 -1.045886 0
+ L3 26624 -0.001500 2.140043 -0.466626 0 0.852799 -0.257449 0
+ L3 26624 -0.001500 1.383787 0.852799 0 0.595350 0.370083 0
+ L3 26624 -0.001500 0.160906 1.206791 0 0.209177 0.595350 0
+ L3 26624 -0.001500 -0.241358 0.402264 0 -0.740165 1.078067 0
+ L3 26624 -0.001500 -0.981524 -0.418354 0 -0.305720 -0.032181 0
+ L3 26624 -0.001500 0.514898 -0.820618 0 0.193087 -0.176996 0
+ L3 26624 -0.001500 -2.932993 -1.040068 0 -3.723444 -1.435294 0
+ L3 26624 -0.001500 -3.661040 0.852856 0 -2.662575 0.540836 0
+ L3 26624 -0.001500 -2.891390 3.099404 0 -1.996931 2.828986 0
+ END$SEGS
+STRUCTURE 285 3 0 0 0 Fn3 2 124.000000 585.000000 0 0.000000 "LgTrees 12"" Conifer Conif-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 0.079054 0
+ F4 26624 0.000000 28 0
+ -3.711008 2.231983 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.909287 5.539620 0
+ -0.591610 3.657225 0
+ 0.484044 5.700969 0
+ 2.122764 3.566244 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 4.089859 1.542542 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 3.818573 -2.231983 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 2.016852 -4.490857 0
+ 0.994980 -5.593403 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -1.694156 -4.356400 0
+ -4.087487 -4.974902 0
+ -3.415203 -3.119398 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 0.564719 0
+ -5.378272 2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 3.765189 0
+ 2.436069 5.628974 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.446417 2.436069 0
+ 5.723579 1.395418 0
+ 3.475559 -0.112634 0
+ 5.534370 -2.365115 0
+ 3.997045 -2.719883 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 2.530673 -5.368812 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.152255 -5.321509 0
+ -2.140043 -2.815846 0
+ -4.943091 -3.476719 0
+ -4.375463 -1.513674 0
+ -2.622760 -0.418354 0
+ -4.611975 -0.378418 0
+ -5.558021 0.946046 0
+ -1.802142 1.238972 0
+ -4.730231 3.665929 0
+ -1.383787 3.250291 0
+ -1.458250 5.833000 0
+ F4 26624 0.000000 4 0
+ -2.704178 -1.601705 0
+ -2.184143 -0.998466 0
+ -1.268883 -0.644842 0
+ -1.851322 -1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 0.852856 0
+ -1.331287 0.956863 0
+ -0.832055 0.499233 0
+ -1.747315 0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 -2.017732 0
+ -1.414493 -2.683376 0
+ -2.100938 -3.016198 0
+ -1.913726 -2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 -0.020801 0
+ -3.182609 -0.228815 0
+ -2.204945 0.083205 0
+ -3.203410 0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 -2.641773 0
+ -2.870588 -2.142541 0
+ -2.100938 -1.976130 0
+ -2.537767 -2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 2.745780 0
+ -2.184143 2.059335 0
+ -1.414493 1.768116 0
+ -2.163342 2.516965 0
+ L3 26624 -0.001500 -3.330744 -1.963047 0 -4.392720 -1.914776 0
+ L3 26624 -0.001500 -4.617988 -2.815846 0 -3.893913 -2.638850 0
+ L3 26624 -0.001500 -1.480331 -4.746713 0 -1.367697 -3.411197 0
+ L3 26624 -0.001500 -1.367697 -3.411197 0 -2.172224 -4.360539 0
+ L3 26624 -0.001500 1.914776 -4.794984 0 2.043500 -3.668646 0
+ L3 26624 -0.001500 2.043500 -3.668646 0 2.654941 -4.360539 0
+ L3 26624 -0.001500 4.601898 -2.477945 0 3.105476 -1.786051 0
+ L3 26624 -0.001500 3.105476 -1.786051 0 4.601898 -1.432059 0
+ L3 26624 -0.001500 4.183543 1.013705 0 3.057205 1.029795 0
+ L3 26624 -0.001500 3.057205 1.029795 0 3.990457 2.284858 0
+ L3 26624 -0.001500 2.864118 3.797370 0 1.625146 2.719303 0
+ L3 26624 -0.001500 1.625146 2.719303 0 1.657327 4.682350 0
+ L3 26624 -0.001500 -0.579260 5.004161 0 -0.595350 3.346835 0
+ L3 26624 -0.001500 -0.595350 3.346835 0 -1.399878 4.038728 0
+ L3 26624 -0.001500 -0.772346 -3.539921 0 -0.965433 -2.719303 0
+ L3 26624 -0.001500 1.303335 -3.749098 0 1.319425 -2.799756 0
+ L3 26624 -0.001500 2.510126 -3.218110 0 1.753870 -2.590579 0
+ L3 26624 -0.001500 2.912390 -2.461854 0 2.091772 -1.287244 0
+ L3 26624 -0.001500 3.765189 -0.675803 0 2.751484 -0.949343 0
+ L3 26624 -0.001500 3.861732 0.273539 0 2.188315 0.514898 0
+ L3 26624 -0.001500 2.349220 1.190701 0 3.137657 2.317039 0
+ L3 26624 -0.001500 2.510126 2.638850 0 1.238972 1.705598 0
+ L3 26624 -0.001500 0.997614 2.236587 0 0.675803 3.218110 0
+ L3 26624 -0.001500 0.048272 3.202020 0 -0.176996 1.914776 0
+ L3 26624 -0.001500 -1.303335 2.912390 0 -0.949343 1.641236 0
+ L3 26624 -0.001500 -2.461854 -0.466626 0 -1.287244 0.112634 0
+ L3 26624 -0.001500 -1.045886 -1.592965 0 -0.530988 -0.579260 0
+ L3 26624 -0.001500 0.804528 -2.381402 0 0.225268 -1.287244 0
+ L3 26624 -0.001500 1.544693 -1.753870 0 0.868890 -1.045886 0
+ L3 26624 -0.001500 2.140043 -0.466626 0 0.852799 -0.257449 0
+ L3 26624 -0.001500 1.383787 0.852799 0 0.595350 0.370083 0
+ L3 26624 -0.001500 0.160906 1.206791 0 0.209177 0.595350 0
+ L3 26624 -0.001500 -0.241358 0.402264 0 -0.740165 1.078067 0
+ L3 26624 -0.001500 -0.981524 -0.418354 0 -0.305720 -0.032181 0
+ L3 26624 -0.001500 0.514898 -0.820618 0 0.193087 -0.176996 0
+ L3 26624 -0.001500 -2.932993 -1.040068 0 -3.723444 -1.435294 0
+ L3 26624 -0.001500 -3.661040 0.852856 0 -2.662575 0.540836 0
+ L3 26624 -0.001500 -2.891390 3.099404 0 -1.996931 2.828986 0
+ END$SEGS
+STRUCTURE 286 3 0 0 0 Fn3 2 181.000000 577.500000 0 0.000000 "LgTrees 12"" Conifer Conif-12b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 0.079054 0
+ F4 26624 0.000000 28 0
+ -3.711008 2.231983 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.909287 5.539620 0
+ -0.591610 3.657225 0
+ 0.484044 5.700969 0
+ 2.122764 3.566244 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 4.089859 1.542542 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 3.818573 -2.231983 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 2.016852 -4.490857 0
+ 0.994980 -5.593403 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -1.694156 -4.356400 0
+ -4.087487 -4.974902 0
+ -3.415203 -3.119398 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 0.564719 0
+ -5.378272 2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 3.765189 0
+ 2.436069 5.628974 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.446417 2.436069 0
+ 5.723579 1.395418 0
+ 3.475559 -0.112634 0
+ 5.534370 -2.365115 0
+ 3.997045 -2.719883 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 2.530673 -5.368812 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.152255 -5.321509 0
+ -2.140043 -2.815846 0
+ -4.943091 -3.476719 0
+ -4.375463 -1.513674 0
+ -2.622760 -0.418354 0
+ -4.611975 -0.378418 0
+ -5.558021 0.946046 0
+ -1.802142 1.238972 0
+ -4.730231 3.665929 0
+ -1.383787 3.250291 0
+ -1.458250 5.833000 0
+ F4 26624 0.000000 4 0
+ -2.704178 -1.601705 0
+ -2.184143 -0.998466 0
+ -1.268883 -0.644842 0
+ -1.851322 -1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 0.852856 0
+ -1.331287 0.956863 0
+ -0.832055 0.499233 0
+ -1.747315 0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 -2.017732 0
+ -1.414493 -2.683376 0
+ -2.100938 -3.016198 0
+ -1.913726 -2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 -0.020801 0
+ -3.182609 -0.228815 0
+ -2.204945 0.083205 0
+ -3.203410 0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 -2.641773 0
+ -2.870588 -2.142541 0
+ -2.100938 -1.976130 0
+ -2.537767 -2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 2.745780 0
+ -2.184143 2.059335 0
+ -1.414493 1.768116 0
+ -2.163342 2.516965 0
+ L3 26624 -0.001500 -3.330744 -1.963047 0 -4.392720 -1.914776 0
+ L3 26624 -0.001500 -4.617988 -2.815846 0 -3.893913 -2.638850 0
+ L3 26624 -0.001500 -1.480331 -4.746713 0 -1.367697 -3.411197 0
+ L3 26624 -0.001500 -1.367697 -3.411197 0 -2.172224 -4.360539 0
+ L3 26624 -0.001500 1.914776 -4.794984 0 2.043500 -3.668646 0
+ L3 26624 -0.001500 2.043500 -3.668646 0 2.654941 -4.360539 0
+ L3 26624 -0.001500 4.601898 -2.477945 0 3.105476 -1.786051 0
+ L3 26624 -0.001500 3.105476 -1.786051 0 4.601898 -1.432059 0
+ L3 26624 -0.001500 4.183543 1.013705 0 3.057205 1.029795 0
+ L3 26624 -0.001500 3.057205 1.029795 0 3.990457 2.284858 0
+ L3 26624 -0.001500 2.864118 3.797370 0 1.625146 2.719303 0
+ L3 26624 -0.001500 1.625146 2.719303 0 1.657327 4.682350 0
+ L3 26624 -0.001500 -0.579260 5.004161 0 -0.595350 3.346835 0
+ L3 26624 -0.001500 -0.595350 3.346835 0 -1.399878 4.038728 0
+ L3 26624 -0.001500 -0.772346 -3.539921 0 -0.965433 -2.719303 0
+ L3 26624 -0.001500 1.303335 -3.749098 0 1.319425 -2.799756 0
+ L3 26624 -0.001500 2.510126 -3.218110 0 1.753870 -2.590579 0
+ L3 26624 -0.001500 2.912390 -2.461854 0 2.091772 -1.287244 0
+ L3 26624 -0.001500 3.765189 -0.675803 0 2.751484 -0.949343 0
+ L3 26624 -0.001500 3.861732 0.273539 0 2.188315 0.514898 0
+ L3 26624 -0.001500 2.349220 1.190701 0 3.137657 2.317039 0
+ L3 26624 -0.001500 2.510126 2.638850 0 1.238972 1.705598 0
+ L3 26624 -0.001500 0.997614 2.236587 0 0.675803 3.218110 0
+ L3 26624 -0.001500 0.048272 3.202020 0 -0.176996 1.914776 0
+ L3 26624 -0.001500 -1.303335 2.912390 0 -0.949343 1.641236 0
+ L3 26624 -0.001500 -2.461854 -0.466626 0 -1.287244 0.112634 0
+ L3 26624 -0.001500 -1.045886 -1.592965 0 -0.530988 -0.579260 0
+ L3 26624 -0.001500 0.804528 -2.381402 0 0.225268 -1.287244 0
+ L3 26624 -0.001500 1.544693 -1.753870 0 0.868890 -1.045886 0
+ L3 26624 -0.001500 2.140043 -0.466626 0 0.852799 -0.257449 0
+ L3 26624 -0.001500 1.383787 0.852799 0 0.595350 0.370083 0
+ L3 26624 -0.001500 0.160906 1.206791 0 0.209177 0.595350 0
+ L3 26624 -0.001500 -0.241358 0.402264 0 -0.740165 1.078067 0
+ L3 26624 -0.001500 -0.981524 -0.418354 0 -0.305720 -0.032181 0
+ L3 26624 -0.001500 0.514898 -0.820618 0 0.193087 -0.176996 0
+ L3 26624 -0.001500 -2.932993 -1.040068 0 -3.723444 -1.435294 0
+ L3 26624 -0.001500 -3.661040 0.852856 0 -2.662575 0.540836 0
+ L3 26624 -0.001500 -2.891390 3.099404 0 -1.996931 2.828986 0
+ END$SEGS
+STRUCTURE 287 3 0 0 0 Fn3 2 152.500000 582.500000 0 0.000000 "LgTrees 15"" Conifer Conif-15b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 6.773510 -1.828125 0.098818 0
+ F4 26624 0.000000 28 0
+ -4.638760 2.789979 0
+ -5.229429 5.269656 0
+ -3.037092 4.304222 0
+ -2.386608 6.924525 0
+ -0.739512 4.571531 0
+ 0.605056 7.126211 0
+ 2.653455 4.457804 0
+ 4.807052 6.033957 0
+ 3.962298 3.801393 0
+ 5.112323 1.928177 0
+ 7.059729 0.522943 0
+ 5.651806 -0.784414 0
+ 6.979277 -2.675054 0
+ 4.773217 -2.789979 0
+ 4.344449 -3.761166 0
+ 4.284109 -5.933391 0
+ 2.521065 -5.613572 0
+ 1.243725 -6.991754 0
+ -0.522943 -5.712146 0
+ -0.965433 -7.099956 0
+ -2.117695 -5.445501 0
+ -5.109359 -6.218627 0
+ -4.269004 -3.899247 0
+ -6.818371 -2.071658 0
+ -5.531127 -0.744188 0
+ -7.220635 0.000000 0
+ -4.907673 0.705898 0
+ -6.722840 2.722750 0
+ F4 11206591 0.000000 26 0
+ 1.005659 4.706486 0
+ 3.045086 7.036218 0
+ 3.761166 5.289769 0
+ 3.157771 2.936526 0
+ 5.558021 3.045086 0
+ 7.154474 1.744273 0
+ 4.344449 -0.140792 0
+ 6.917962 -2.956394 0
+ 4.996306 -3.399853 0
+ 3.560034 -3.077318 0
+ 3.479582 -4.927731 0
+ 3.163342 -6.711015 0
+ 0.945320 -4.344449 0
+ -0.784414 -4.585807 0
+ -1.186678 -5.511014 0
+ -2.690319 -6.651887 0
+ -2.675054 -3.519808 0
+ -6.178864 -4.345899 0
+ -5.469329 -1.892092 0
+ -3.278450 -0.522943 0
+ -5.764969 -0.473023 0
+ -6.947526 1.182558 0
+ -2.252677 1.548716 0
+ -5.912788 4.582411 0
+ -1.729734 4.062864 0
+ -1.822813 7.291250 0
+ F4 26624 0.000000 4 0
+ -3.380222 -2.002131 0
+ -2.730179 -1.248082 0
+ -1.586104 -0.806053 0
+ -2.314152 -1.742114 0
+ F4 26624 0.000000 4 0
+ -3.068201 1.066070 0
+ -1.664109 1.196079 0
+ -1.040068 0.624041 0
+ -2.184143 0.650043 0
+ F4 26624 0.000000 4 0
+ -1.534101 -2.522166 0
+ -1.768116 -3.354220 0
+ -2.626172 -3.770248 0
+ -2.392157 -3.094203 0
+ F4 26624 0.000000 4 0
+ -5.096335 -0.026002 0
+ -3.978261 -0.286019 0
+ -2.756181 0.104007 0
+ -4.004263 0.312020 0
+ F4 26624 0.000000 4 0
+ -4.212277 -3.302217 0
+ -3.588236 -2.678176 0
+ -2.626172 -2.470162 0
+ -3.172208 -3.094203 0
+ F4 26624 0.000000 4 0
+ -3.562234 3.432225 0
+ -2.730179 2.574169 0
+ -1.768116 2.210145 0
+ -2.704178 3.146207 0
+ L3 26624 -0.001500 -4.163430 -2.453809 0 -5.490901 -2.393469 0
+ L3 26624 -0.001500 -5.772485 -3.519808 0 -4.867392 -3.298563 0
+ L3 26624 -0.001500 -1.850413 -5.933391 0 -1.709621 -4.263996 0
+ L3 26624 -0.001500 -1.709621 -4.263996 0 -2.715281 -5.450674 0
+ L3 26624 -0.001500 2.393469 -5.993730 0 2.554375 -4.585807 0
+ L3 26624 -0.001500 2.554375 -4.585807 0 3.318676 -5.450674 0
+ L3 26624 -0.001500 5.752372 -3.097431 0 3.881845 -2.232564 0
+ L3 26624 -0.001500 3.881845 -2.232564 0 5.752372 -1.790074 0
+ L3 26624 -0.001500 5.229429 1.267131 0 3.821506 1.287244 0
+ L3 26624 -0.001500 3.821506 1.287244 0 4.988071 2.856073 0
+ L3 26624 -0.001500 3.580148 4.746713 0 2.031432 3.399129 0
+ L3 26624 -0.001500 2.031432 3.399129 0 2.071658 5.852938 0
+ L3 26624 -0.001500 -0.724075 6.255202 0 -0.744188 4.183543 0
+ L3 26624 -0.001500 -0.744188 4.183543 0 -1.749847 5.048410 0
+ L3 26624 -0.001500 -0.965433 -4.424902 0 -1.206791 -3.399129 0
+ L3 26624 -0.001500 1.629168 -4.686373 0 1.649282 -3.499695 0
+ L3 26624 -0.001500 3.137657 -4.022638 0 2.192338 -3.238223 0
+ L3 26624 -0.001500 3.640487 -3.077318 0 2.614715 -1.609055 0
+ L3 26624 -0.001500 4.706486 -0.844754 0 3.439355 -1.186678 0
+ L3 26624 -0.001500 4.827165 0.341924 0 2.735394 0.643622 0
+ L3 26624 -0.001500 2.936526 1.488376 0 3.922072 2.896299 0
+ L3 26624 -0.001500 3.137657 3.298563 0 1.548716 2.131998 0
+ L3 26624 -0.001500 1.247018 2.795733 0 0.844754 4.022638 0
+ L3 26624 -0.001500 0.060340 4.002525 0 -0.221245 2.393469 0
+ L3 26624 -0.001500 -1.629168 3.640487 0 -1.186678 2.051545 0
+ L3 26624 -0.001500 -3.077318 -0.583282 0 -1.609055 0.140792 0
+ L3 26624 -0.001500 -1.307357 -1.991206 0 -0.663735 -0.724075 0
+ L3 26624 -0.001500 1.005659 -2.976752 0 0.281585 -1.609055 0
+ L3 26624 -0.001500 1.930866 -2.192338 0 1.086112 -1.307357 0
+ L3 26624 -0.001500 2.675054 -0.583282 0 1.065999 -0.321811 0
+ L3 26624 -0.001500 1.729734 1.065999 0 0.744188 0.462603 0
+ L3 26624 -0.001500 0.201132 1.508489 0 0.261471 0.744188 0
+ L3 26624 -0.001500 -0.301698 0.502830 0 -0.925207 1.347584 0
+ L3 26624 -0.001500 -1.226905 -0.522943 0 -0.382151 -0.040226 0
+ L3 26624 -0.001500 0.643622 -1.025773 0 0.241358 -0.221245 0
+ L3 26624 -0.001500 -3.666241 -1.300085 0 -4.654306 -1.794118 0
+ L3 26624 -0.001500 -4.576300 1.066070 0 -3.328219 0.676044 0
+ L3 26624 -0.001500 -3.614237 3.874254 0 -2.496164 3.536232 0
+ END$SEGS
+STRUCTURE 288 3 0 0 0 Fn3 2 106.500000 570.500000 0 0.000000 "LgTrees 15"" Conifer Conif-15b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 6.773510 -1.828125 0.098818 0
+ F4 26624 0.000000 28 0
+ -4.638760 2.789979 0
+ -5.229429 5.269656 0
+ -3.037092 4.304222 0
+ -2.386608 6.924525 0
+ -0.739512 4.571531 0
+ 0.605056 7.126211 0
+ 2.653455 4.457804 0
+ 4.807052 6.033957 0
+ 3.962298 3.801393 0
+ 5.112323 1.928177 0
+ 7.059729 0.522943 0
+ 5.651806 -0.784414 0
+ 6.979277 -2.675054 0
+ 4.773217 -2.789979 0
+ 4.344449 -3.761166 0
+ 4.284109 -5.933391 0
+ 2.521065 -5.613572 0
+ 1.243725 -6.991754 0
+ -0.522943 -5.712146 0
+ -0.965433 -7.099956 0
+ -2.117695 -5.445501 0
+ -5.109359 -6.218627 0
+ -4.269004 -3.899247 0
+ -6.818371 -2.071658 0
+ -5.531127 -0.744188 0
+ -7.220635 0.000000 0
+ -4.907673 0.705898 0
+ -6.722840 2.722750 0
+ F4 11206591 0.000000 26 0
+ 1.005659 4.706486 0
+ 3.045086 7.036218 0
+ 3.761166 5.289769 0
+ 3.157771 2.936526 0
+ 5.558021 3.045086 0
+ 7.154474 1.744273 0
+ 4.344449 -0.140792 0
+ 6.917962 -2.956394 0
+ 4.996306 -3.399853 0
+ 3.560034 -3.077318 0
+ 3.479582 -4.927731 0
+ 3.163342 -6.711015 0
+ 0.945320 -4.344449 0
+ -0.784414 -4.585807 0
+ -1.186678 -5.511014 0
+ -2.690319 -6.651887 0
+ -2.675054 -3.519808 0
+ -6.178864 -4.345899 0
+ -5.469329 -1.892092 0
+ -3.278450 -0.522943 0
+ -5.764969 -0.473023 0
+ -6.947526 1.182558 0
+ -2.252677 1.548716 0
+ -5.912788 4.582411 0
+ -1.729734 4.062864 0
+ -1.822813 7.291250 0
+ F4 26624 0.000000 4 0
+ -3.380222 -2.002131 0
+ -2.730179 -1.248082 0
+ -1.586104 -0.806053 0
+ -2.314152 -1.742114 0
+ F4 26624 0.000000 4 0
+ -3.068201 1.066070 0
+ -1.664109 1.196079 0
+ -1.040068 0.624041 0
+ -2.184143 0.650043 0
+ F4 26624 0.000000 4 0
+ -1.534101 -2.522166 0
+ -1.768116 -3.354220 0
+ -2.626172 -3.770248 0
+ -2.392157 -3.094203 0
+ F4 26624 0.000000 4 0
+ -5.096335 -0.026002 0
+ -3.978261 -0.286019 0
+ -2.756181 0.104007 0
+ -4.004263 0.312020 0
+ F4 26624 0.000000 4 0
+ -4.212277 -3.302217 0
+ -3.588236 -2.678176 0
+ -2.626172 -2.470162 0
+ -3.172208 -3.094203 0
+ F4 26624 0.000000 4 0
+ -3.562234 3.432225 0
+ -2.730179 2.574169 0
+ -1.768116 2.210145 0
+ -2.704178 3.146207 0
+ L3 26624 -0.001500 -4.163430 -2.453809 0 -5.490901 -2.393469 0
+ L3 26624 -0.001500 -5.772485 -3.519808 0 -4.867392 -3.298563 0
+ L3 26624 -0.001500 -1.850413 -5.933391 0 -1.709621 -4.263996 0
+ L3 26624 -0.001500 -1.709621 -4.263996 0 -2.715281 -5.450674 0
+ L3 26624 -0.001500 2.393469 -5.993730 0 2.554375 -4.585807 0
+ L3 26624 -0.001500 2.554375 -4.585807 0 3.318676 -5.450674 0
+ L3 26624 -0.001500 5.752372 -3.097431 0 3.881845 -2.232564 0
+ L3 26624 -0.001500 3.881845 -2.232564 0 5.752372 -1.790074 0
+ L3 26624 -0.001500 5.229429 1.267131 0 3.821506 1.287244 0
+ L3 26624 -0.001500 3.821506 1.287244 0 4.988071 2.856073 0
+ L3 26624 -0.001500 3.580148 4.746713 0 2.031432 3.399129 0
+ L3 26624 -0.001500 2.031432 3.399129 0 2.071658 5.852938 0
+ L3 26624 -0.001500 -0.724075 6.255202 0 -0.744188 4.183543 0
+ L3 26624 -0.001500 -0.744188 4.183543 0 -1.749847 5.048410 0
+ L3 26624 -0.001500 -0.965433 -4.424902 0 -1.206791 -3.399129 0
+ L3 26624 -0.001500 1.629168 -4.686373 0 1.649282 -3.499695 0
+ L3 26624 -0.001500 3.137657 -4.022638 0 2.192338 -3.238223 0
+ L3 26624 -0.001500 3.640487 -3.077318 0 2.614715 -1.609055 0
+ L3 26624 -0.001500 4.706486 -0.844754 0 3.439355 -1.186678 0
+ L3 26624 -0.001500 4.827165 0.341924 0 2.735394 0.643622 0
+ L3 26624 -0.001500 2.936526 1.488376 0 3.922072 2.896299 0
+ L3 26624 -0.001500 3.137657 3.298563 0 1.548716 2.131998 0
+ L3 26624 -0.001500 1.247018 2.795733 0 0.844754 4.022638 0
+ L3 26624 -0.001500 0.060340 4.002525 0 -0.221245 2.393469 0
+ L3 26624 -0.001500 -1.629168 3.640487 0 -1.186678 2.051545 0
+ L3 26624 -0.001500 -3.077318 -0.583282 0 -1.609055 0.140792 0
+ L3 26624 -0.001500 -1.307357 -1.991206 0 -0.663735 -0.724075 0
+ L3 26624 -0.001500 1.005659 -2.976752 0 0.281585 -1.609055 0
+ L3 26624 -0.001500 1.930866 -2.192338 0 1.086112 -1.307357 0
+ L3 26624 -0.001500 2.675054 -0.583282 0 1.065999 -0.321811 0
+ L3 26624 -0.001500 1.729734 1.065999 0 0.744188 0.462603 0
+ L3 26624 -0.001500 0.201132 1.508489 0 0.261471 0.744188 0
+ L3 26624 -0.001500 -0.301698 0.502830 0 -0.925207 1.347584 0
+ L3 26624 -0.001500 -1.226905 -0.522943 0 -0.382151 -0.040226 0
+ L3 26624 -0.001500 0.643622 -1.025773 0 0.241358 -0.221245 0
+ L3 26624 -0.001500 -3.666241 -1.300085 0 -4.654306 -1.794118 0
+ L3 26624 -0.001500 -4.576300 1.066070 0 -3.328219 0.676044 0
+ L3 26624 -0.001500 -3.614237 3.874254 0 -2.496164 3.536232 0
+ END$SEGS
+STRUCTURE 289 3 0 0 0 Fn3 2 81.500000 545.500000 0 0.000000 "LgTrees 15"" Conifer Conif-15b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 6.773510 -1.828125 0.098818 0
+ F4 26624 0.000000 28 0
+ -4.638760 2.789979 0
+ -5.229429 5.269656 0
+ -3.037092 4.304222 0
+ -2.386608 6.924525 0
+ -0.739512 4.571531 0
+ 0.605056 7.126211 0
+ 2.653455 4.457804 0
+ 4.807052 6.033957 0
+ 3.962298 3.801393 0
+ 5.112323 1.928177 0
+ 7.059729 0.522943 0
+ 5.651806 -0.784414 0
+ 6.979277 -2.675054 0
+ 4.773217 -2.789979 0
+ 4.344449 -3.761166 0
+ 4.284109 -5.933391 0
+ 2.521065 -5.613572 0
+ 1.243725 -6.991754 0
+ -0.522943 -5.712146 0
+ -0.965433 -7.099956 0
+ -2.117695 -5.445501 0
+ -5.109359 -6.218627 0
+ -4.269004 -3.899247 0
+ -6.818371 -2.071658 0
+ -5.531127 -0.744188 0
+ -7.220635 0.000000 0
+ -4.907673 0.705898 0
+ -6.722840 2.722750 0
+ F4 11206591 0.000000 26 0
+ 1.005659 4.706486 0
+ 3.045086 7.036218 0
+ 3.761166 5.289769 0
+ 3.157771 2.936526 0
+ 5.558021 3.045086 0
+ 7.154474 1.744273 0
+ 4.344449 -0.140792 0
+ 6.917962 -2.956394 0
+ 4.996306 -3.399853 0
+ 3.560034 -3.077318 0
+ 3.479582 -4.927731 0
+ 3.163342 -6.711015 0
+ 0.945320 -4.344449 0
+ -0.784414 -4.585807 0
+ -1.186678 -5.511014 0
+ -2.690319 -6.651887 0
+ -2.675054 -3.519808 0
+ -6.178864 -4.345899 0
+ -5.469329 -1.892092 0
+ -3.278450 -0.522943 0
+ -5.764969 -0.473023 0
+ -6.947526 1.182558 0
+ -2.252677 1.548716 0
+ -5.912788 4.582411 0
+ -1.729734 4.062864 0
+ -1.822813 7.291250 0
+ F4 26624 0.000000 4 0
+ -3.380222 -2.002131 0
+ -2.730179 -1.248082 0
+ -1.586104 -0.806053 0
+ -2.314152 -1.742114 0
+ F4 26624 0.000000 4 0
+ -3.068201 1.066070 0
+ -1.664109 1.196079 0
+ -1.040068 0.624041 0
+ -2.184143 0.650043 0
+ F4 26624 0.000000 4 0
+ -1.534101 -2.522166 0
+ -1.768116 -3.354220 0
+ -2.626172 -3.770248 0
+ -2.392157 -3.094203 0
+ F4 26624 0.000000 4 0
+ -5.096335 -0.026002 0
+ -3.978261 -0.286019 0
+ -2.756181 0.104007 0
+ -4.004263 0.312020 0
+ F4 26624 0.000000 4 0
+ -4.212277 -3.302217 0
+ -3.588236 -2.678176 0
+ -2.626172 -2.470162 0
+ -3.172208 -3.094203 0
+ F4 26624 0.000000 4 0
+ -3.562234 3.432225 0
+ -2.730179 2.574169 0
+ -1.768116 2.210145 0
+ -2.704178 3.146207 0
+ L3 26624 -0.001500 -4.163430 -2.453809 0 -5.490901 -2.393469 0
+ L3 26624 -0.001500 -5.772485 -3.519808 0 -4.867392 -3.298563 0
+ L3 26624 -0.001500 -1.850413 -5.933391 0 -1.709621 -4.263996 0
+ L3 26624 -0.001500 -1.709621 -4.263996 0 -2.715281 -5.450674 0
+ L3 26624 -0.001500 2.393469 -5.993730 0 2.554375 -4.585807 0
+ L3 26624 -0.001500 2.554375 -4.585807 0 3.318676 -5.450674 0
+ L3 26624 -0.001500 5.752372 -3.097431 0 3.881845 -2.232564 0
+ L3 26624 -0.001500 3.881845 -2.232564 0 5.752372 -1.790074 0
+ L3 26624 -0.001500 5.229429 1.267131 0 3.821506 1.287244 0
+ L3 26624 -0.001500 3.821506 1.287244 0 4.988071 2.856073 0
+ L3 26624 -0.001500 3.580148 4.746713 0 2.031432 3.399129 0
+ L3 26624 -0.001500 2.031432 3.399129 0 2.071658 5.852938 0
+ L3 26624 -0.001500 -0.724075 6.255202 0 -0.744188 4.183543 0
+ L3 26624 -0.001500 -0.744188 4.183543 0 -1.749847 5.048410 0
+ L3 26624 -0.001500 -0.965433 -4.424902 0 -1.206791 -3.399129 0
+ L3 26624 -0.001500 1.629168 -4.686373 0 1.649282 -3.499695 0
+ L3 26624 -0.001500 3.137657 -4.022638 0 2.192338 -3.238223 0
+ L3 26624 -0.001500 3.640487 -3.077318 0 2.614715 -1.609055 0
+ L3 26624 -0.001500 4.706486 -0.844754 0 3.439355 -1.186678 0
+ L3 26624 -0.001500 4.827165 0.341924 0 2.735394 0.643622 0
+ L3 26624 -0.001500 2.936526 1.488376 0 3.922072 2.896299 0
+ L3 26624 -0.001500 3.137657 3.298563 0 1.548716 2.131998 0
+ L3 26624 -0.001500 1.247018 2.795733 0 0.844754 4.022638 0
+ L3 26624 -0.001500 0.060340 4.002525 0 -0.221245 2.393469 0
+ L3 26624 -0.001500 -1.629168 3.640487 0 -1.186678 2.051545 0
+ L3 26624 -0.001500 -3.077318 -0.583282 0 -1.609055 0.140792 0
+ L3 26624 -0.001500 -1.307357 -1.991206 0 -0.663735 -0.724075 0
+ L3 26624 -0.001500 1.005659 -2.976752 0 0.281585 -1.609055 0
+ L3 26624 -0.001500 1.930866 -2.192338 0 1.086112 -1.307357 0
+ L3 26624 -0.001500 2.675054 -0.583282 0 1.065999 -0.321811 0
+ L3 26624 -0.001500 1.729734 1.065999 0 0.744188 0.462603 0
+ L3 26624 -0.001500 0.201132 1.508489 0 0.261471 0.744188 0
+ L3 26624 -0.001500 -0.301698 0.502830 0 -0.925207 1.347584 0
+ L3 26624 -0.001500 -1.226905 -0.522943 0 -0.382151 -0.040226 0
+ L3 26624 -0.001500 0.643622 -1.025773 0 0.241358 -0.221245 0
+ L3 26624 -0.001500 -3.666241 -1.300085 0 -4.654306 -1.794118 0
+ L3 26624 -0.001500 -4.576300 1.066070 0 -3.328219 0.676044 0
+ L3 26624 -0.001500 -3.614237 3.874254 0 -2.496164 3.536232 0
+ END$SEGS
+STRUCTURE 290 3 0 0 0 Fn3 2 74.500000 560.500000 0 0.000000 "LgTrees 15"" Conifer Conif-15a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 6.773510 -1.828125 -0.098818 0
+ F4 26624 0.000000 28 0
+ -4.638760 -2.789979 0
+ -5.229429 -5.269656 0
+ -3.037092 -4.304222 0
+ -2.386608 -6.924525 0
+ -0.739512 -4.571531 0
+ 0.605056 -7.126211 0
+ 2.653455 -4.457804 0
+ 4.807052 -6.033957 0
+ 3.962298 -3.801393 0
+ 5.112323 -1.928177 0
+ 7.059729 -0.522943 0
+ 5.651806 0.784414 0
+ 6.979277 2.675054 0
+ 4.773217 2.789979 0
+ 4.344449 3.761166 0
+ 4.284109 5.933391 0
+ 2.521065 5.613572 0
+ 1.243725 6.991754 0
+ -0.522943 5.712146 0
+ -0.965433 7.099956 0
+ -2.117695 5.445501 0
+ -5.109359 6.218627 0
+ -4.269004 3.899247 0
+ -6.818371 2.071658 0
+ -5.531127 0.744188 0
+ -7.220635 0.000000 0
+ -4.907673 -0.705898 0
+ -6.722840 -2.722750 0
+ F4 11206612 0.000000 26 0
+ 1.005659 -4.706486 0
+ 3.045086 -7.036218 0
+ 3.761166 -5.289769 0
+ 3.157771 -2.936526 0
+ 5.558021 -3.045086 0
+ 7.154474 -1.744273 0
+ 4.344449 0.140792 0
+ 6.917962 2.956394 0
+ 4.996306 3.399853 0
+ 3.560034 3.077318 0
+ 3.479582 4.927731 0
+ 3.163342 6.711015 0
+ 0.945320 4.344449 0
+ -0.784414 4.585807 0
+ -1.186678 5.511014 0
+ -2.690319 6.651887 0
+ -2.675054 3.519808 0
+ -6.178864 4.345899 0
+ -5.469329 1.892092 0
+ -3.278450 0.522943 0
+ -5.764969 0.473023 0
+ -6.947526 -1.182558 0
+ -2.252677 -1.548716 0
+ -5.912788 -4.582411 0
+ -1.729734 -4.062864 0
+ -1.822813 -7.291250 0
+ F4 26624 0.000000 4 0
+ -3.380222 2.002131 0
+ -2.730179 1.248082 0
+ -1.586104 0.806053 0
+ -2.314152 1.742114 0
+ F4 26624 0.000000 4 0
+ -3.068201 -1.066070 0
+ -1.664109 -1.196079 0
+ -1.040068 -0.624041 0
+ -2.184143 -0.650043 0
+ F4 26624 0.000000 4 0
+ -1.534101 2.522166 0
+ -1.768116 3.354220 0
+ -2.626172 3.770248 0
+ -2.392157 3.094203 0
+ F4 26624 0.000000 4 0
+ -5.096335 0.026002 0
+ -3.978261 0.286019 0
+ -2.756181 -0.104007 0
+ -4.004263 -0.312020 0
+ F4 26624 0.000000 4 0
+ -4.212277 3.302217 0
+ -3.588236 2.678176 0
+ -2.626172 2.470162 0
+ -3.172208 3.094203 0
+ F4 26624 0.000000 4 0
+ -3.562234 -3.432225 0
+ -2.730179 -2.574169 0
+ -1.768116 -2.210145 0
+ -2.704178 -3.146207 0
+ L3 26624 -0.001500 -4.163430 2.453809 0 -5.490901 2.393469 0
+ L3 26624 -0.001500 -5.772485 3.519808 0 -4.867392 3.298563 0
+ L3 26624 -0.001500 -1.850413 5.933391 0 -1.709621 4.263996 0
+ L3 26624 -0.001500 -1.709621 4.263996 0 -2.715281 5.450674 0
+ L3 26624 -0.001500 2.393469 5.993730 0 2.554375 4.585807 0
+ L3 26624 -0.001500 2.554375 4.585807 0 3.318676 5.450674 0
+ L3 26624 -0.001500 5.752372 3.097431 0 3.881845 2.232564 0
+ L3 26624 -0.001500 3.881845 2.232564 0 5.752372 1.790074 0
+ L3 26624 -0.001500 5.229429 -1.267131 0 3.821506 -1.287244 0
+ L3 26624 -0.001500 3.821506 -1.287244 0 4.988071 -2.856073 0
+ L3 26624 -0.001500 3.580148 -4.746713 0 2.031432 -3.399129 0
+ L3 26624 -0.001500 2.031432 -3.399129 0 2.071658 -5.852938 0
+ L3 26624 -0.001500 -0.724075 -6.255202 0 -0.744188 -4.183543 0
+ L3 26624 -0.001500 -0.744188 -4.183543 0 -1.749847 -5.048410 0
+ L3 26624 -0.001500 -0.965433 4.424902 0 -1.206791 3.399129 0
+ L3 26624 -0.001500 1.629168 4.686373 0 1.649282 3.499695 0
+ L3 26624 -0.001500 3.137657 4.022638 0 2.192338 3.238223 0
+ L3 26624 -0.001500 3.640487 3.077318 0 2.614715 1.609055 0
+ L3 26624 -0.001500 4.706486 0.844754 0 3.439355 1.186678 0
+ L3 26624 -0.001500 4.827165 -0.341924 0 2.735394 -0.643622 0
+ L3 26624 -0.001500 2.936526 -1.488376 0 3.922072 -2.896299 0
+ L3 26624 -0.001500 3.137657 -3.298563 0 1.548716 -2.131998 0
+ L3 26624 -0.001500 1.247018 -2.795733 0 0.844754 -4.022638 0
+ L3 26624 -0.001500 0.060340 -4.002525 0 -0.221245 -2.393469 0
+ L3 26624 -0.001500 -1.629168 -3.640487 0 -1.186678 -2.051545 0
+ L3 26624 -0.001500 -3.077318 0.583282 0 -1.609055 -0.140792 0
+ L3 26624 -0.001500 -1.307357 1.991206 0 -0.663735 0.724075 0
+ L3 26624 -0.001500 1.005659 2.976752 0 0.281585 1.609055 0
+ L3 26624 -0.001500 1.930866 2.192338 0 1.086112 1.307357 0
+ L3 26624 -0.001500 2.675054 0.583282 0 1.065999 0.321811 0
+ L3 26624 -0.001500 1.729734 -1.065999 0 0.744188 -0.462603 0
+ L3 26624 -0.001500 0.201132 -1.508489 0 0.261471 -0.744188 0
+ L3 26624 -0.001500 -0.301698 -0.502830 0 -0.925207 -1.347584 0
+ L3 26624 -0.001500 -1.226905 0.522943 0 -0.382151 0.040226 0
+ L3 26624 -0.001500 0.643622 1.025773 0 0.241358 0.221245 0
+ L3 26624 -0.001500 -3.666241 1.300085 0 -4.654306 1.794118 0
+ L3 26624 -0.001500 -4.576300 -1.066070 0 -3.328219 -0.676044 0
+ L3 26624 -0.001500 -3.614237 -3.874254 0 -2.496164 -3.536232 0
+ END$SEGS
+STRUCTURE 291 3 0 0 0 Fn3 2 63.500000 601.500000 0 0.000000 "LgTrees 15"" Conifer Conif-15a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 6.773510 -1.828125 -0.098818 0
+ F4 26624 0.000000 28 0
+ -4.638760 -2.789979 0
+ -5.229429 -5.269656 0
+ -3.037092 -4.304222 0
+ -2.386608 -6.924525 0
+ -0.739512 -4.571531 0
+ 0.605056 -7.126211 0
+ 2.653455 -4.457804 0
+ 4.807052 -6.033957 0
+ 3.962298 -3.801393 0
+ 5.112323 -1.928177 0
+ 7.059729 -0.522943 0
+ 5.651806 0.784414 0
+ 6.979277 2.675054 0
+ 4.773217 2.789979 0
+ 4.344449 3.761166 0
+ 4.284109 5.933391 0
+ 2.521065 5.613572 0
+ 1.243725 6.991754 0
+ -0.522943 5.712146 0
+ -0.965433 7.099956 0
+ -2.117695 5.445501 0
+ -5.109359 6.218627 0
+ -4.269004 3.899247 0
+ -6.818371 2.071658 0
+ -5.531127 0.744188 0
+ -7.220635 0.000000 0
+ -4.907673 -0.705898 0
+ -6.722840 -2.722750 0
+ F4 11206612 0.000000 26 0
+ 1.005659 -4.706486 0
+ 3.045086 -7.036218 0
+ 3.761166 -5.289769 0
+ 3.157771 -2.936526 0
+ 5.558021 -3.045086 0
+ 7.154474 -1.744273 0
+ 4.344449 0.140792 0
+ 6.917962 2.956394 0
+ 4.996306 3.399853 0
+ 3.560034 3.077318 0
+ 3.479582 4.927731 0
+ 3.163342 6.711015 0
+ 0.945320 4.344449 0
+ -0.784414 4.585807 0
+ -1.186678 5.511014 0
+ -2.690319 6.651887 0
+ -2.675054 3.519808 0
+ -6.178864 4.345899 0
+ -5.469329 1.892092 0
+ -3.278450 0.522943 0
+ -5.764969 0.473023 0
+ -6.947526 -1.182558 0
+ -2.252677 -1.548716 0
+ -5.912788 -4.582411 0
+ -1.729734 -4.062864 0
+ -1.822813 -7.291250 0
+ F4 26624 0.000000 4 0
+ -3.380222 2.002131 0
+ -2.730179 1.248082 0
+ -1.586104 0.806053 0
+ -2.314152 1.742114 0
+ F4 26624 0.000000 4 0
+ -3.068201 -1.066070 0
+ -1.664109 -1.196079 0
+ -1.040068 -0.624041 0
+ -2.184143 -0.650043 0
+ F4 26624 0.000000 4 0
+ -1.534101 2.522166 0
+ -1.768116 3.354220 0
+ -2.626172 3.770248 0
+ -2.392157 3.094203 0
+ F4 26624 0.000000 4 0
+ -5.096335 0.026002 0
+ -3.978261 0.286019 0
+ -2.756181 -0.104007 0
+ -4.004263 -0.312020 0
+ F4 26624 0.000000 4 0
+ -4.212277 3.302217 0
+ -3.588236 2.678176 0
+ -2.626172 2.470162 0
+ -3.172208 3.094203 0
+ F4 26624 0.000000 4 0
+ -3.562234 -3.432225 0
+ -2.730179 -2.574169 0
+ -1.768116 -2.210145 0
+ -2.704178 -3.146207 0
+ L3 26624 -0.001500 -4.163430 2.453809 0 -5.490901 2.393469 0
+ L3 26624 -0.001500 -5.772485 3.519808 0 -4.867392 3.298563 0
+ L3 26624 -0.001500 -1.850413 5.933391 0 -1.709621 4.263996 0
+ L3 26624 -0.001500 -1.709621 4.263996 0 -2.715281 5.450674 0
+ L3 26624 -0.001500 2.393469 5.993730 0 2.554375 4.585807 0
+ L3 26624 -0.001500 2.554375 4.585807 0 3.318676 5.450674 0
+ L3 26624 -0.001500 5.752372 3.097431 0 3.881845 2.232564 0
+ L3 26624 -0.001500 3.881845 2.232564 0 5.752372 1.790074 0
+ L3 26624 -0.001500 5.229429 -1.267131 0 3.821506 -1.287244 0
+ L3 26624 -0.001500 3.821506 -1.287244 0 4.988071 -2.856073 0
+ L3 26624 -0.001500 3.580148 -4.746713 0 2.031432 -3.399129 0
+ L3 26624 -0.001500 2.031432 -3.399129 0 2.071658 -5.852938 0
+ L3 26624 -0.001500 -0.724075 -6.255202 0 -0.744188 -4.183543 0
+ L3 26624 -0.001500 -0.744188 -4.183543 0 -1.749847 -5.048410 0
+ L3 26624 -0.001500 -0.965433 4.424902 0 -1.206791 3.399129 0
+ L3 26624 -0.001500 1.629168 4.686373 0 1.649282 3.499695 0
+ L3 26624 -0.001500 3.137657 4.022638 0 2.192338 3.238223 0
+ L3 26624 -0.001500 3.640487 3.077318 0 2.614715 1.609055 0
+ L3 26624 -0.001500 4.706486 0.844754 0 3.439355 1.186678 0
+ L3 26624 -0.001500 4.827165 -0.341924 0 2.735394 -0.643622 0
+ L3 26624 -0.001500 2.936526 -1.488376 0 3.922072 -2.896299 0
+ L3 26624 -0.001500 3.137657 -3.298563 0 1.548716 -2.131998 0
+ L3 26624 -0.001500 1.247018 -2.795733 0 0.844754 -4.022638 0
+ L3 26624 -0.001500 0.060340 -4.002525 0 -0.221245 -2.393469 0
+ L3 26624 -0.001500 -1.629168 -3.640487 0 -1.186678 -2.051545 0
+ L3 26624 -0.001500 -3.077318 0.583282 0 -1.609055 -0.140792 0
+ L3 26624 -0.001500 -1.307357 1.991206 0 -0.663735 0.724075 0
+ L3 26624 -0.001500 1.005659 2.976752 0 0.281585 1.609055 0
+ L3 26624 -0.001500 1.930866 2.192338 0 1.086112 1.307357 0
+ L3 26624 -0.001500 2.675054 0.583282 0 1.065999 0.321811 0
+ L3 26624 -0.001500 1.729734 -1.065999 0 0.744188 -0.462603 0
+ L3 26624 -0.001500 0.201132 -1.508489 0 0.261471 -0.744188 0
+ L3 26624 -0.001500 -0.301698 -0.502830 0 -0.925207 -1.347584 0
+ L3 26624 -0.001500 -1.226905 0.522943 0 -0.382151 0.040226 0
+ L3 26624 -0.001500 0.643622 1.025773 0 0.241358 0.221245 0
+ L3 26624 -0.001500 -3.666241 1.300085 0 -4.654306 1.794118 0
+ L3 26624 -0.001500 -4.576300 -1.066070 0 -3.328219 -0.676044 0
+ L3 26624 -0.001500 -3.614237 -3.874254 0 -2.496164 -3.536232 0
+ END$SEGS
+STRUCTURE 292 3 0 0 0 Fn3 2 65.000000 579.500000 0 0.000000 "LgTrees 15"" Conifer Conif-15a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 6.773510 -1.828125 -0.098818 0
+ F4 26624 0.000000 28 0
+ -4.638760 -2.789979 0
+ -5.229429 -5.269656 0
+ -3.037092 -4.304222 0
+ -2.386608 -6.924525 0
+ -0.739512 -4.571531 0
+ 0.605056 -7.126211 0
+ 2.653455 -4.457804 0
+ 4.807052 -6.033957 0
+ 3.962298 -3.801393 0
+ 5.112323 -1.928177 0
+ 7.059729 -0.522943 0
+ 5.651806 0.784414 0
+ 6.979277 2.675054 0
+ 4.773217 2.789979 0
+ 4.344449 3.761166 0
+ 4.284109 5.933391 0
+ 2.521065 5.613572 0
+ 1.243725 6.991754 0
+ -0.522943 5.712146 0
+ -0.965433 7.099956 0
+ -2.117695 5.445501 0
+ -5.109359 6.218627 0
+ -4.269004 3.899247 0
+ -6.818371 2.071658 0
+ -5.531127 0.744188 0
+ -7.220635 0.000000 0
+ -4.907673 -0.705898 0
+ -6.722840 -2.722750 0
+ F4 11206612 0.000000 26 0
+ 1.005659 -4.706486 0
+ 3.045086 -7.036218 0
+ 3.761166 -5.289769 0
+ 3.157771 -2.936526 0
+ 5.558021 -3.045086 0
+ 7.154474 -1.744273 0
+ 4.344449 0.140792 0
+ 6.917962 2.956394 0
+ 4.996306 3.399853 0
+ 3.560034 3.077318 0
+ 3.479582 4.927731 0
+ 3.163342 6.711015 0
+ 0.945320 4.344449 0
+ -0.784414 4.585807 0
+ -1.186678 5.511014 0
+ -2.690319 6.651887 0
+ -2.675054 3.519808 0
+ -6.178864 4.345899 0
+ -5.469329 1.892092 0
+ -3.278450 0.522943 0
+ -5.764969 0.473023 0
+ -6.947526 -1.182558 0
+ -2.252677 -1.548716 0
+ -5.912788 -4.582411 0
+ -1.729734 -4.062864 0
+ -1.822813 -7.291250 0
+ F4 26624 0.000000 4 0
+ -3.380222 2.002131 0
+ -2.730179 1.248082 0
+ -1.586104 0.806053 0
+ -2.314152 1.742114 0
+ F4 26624 0.000000 4 0
+ -3.068201 -1.066070 0
+ -1.664109 -1.196079 0
+ -1.040068 -0.624041 0
+ -2.184143 -0.650043 0
+ F4 26624 0.000000 4 0
+ -1.534101 2.522166 0
+ -1.768116 3.354220 0
+ -2.626172 3.770248 0
+ -2.392157 3.094203 0
+ F4 26624 0.000000 4 0
+ -5.096335 0.026002 0
+ -3.978261 0.286019 0
+ -2.756181 -0.104007 0
+ -4.004263 -0.312020 0
+ F4 26624 0.000000 4 0
+ -4.212277 3.302217 0
+ -3.588236 2.678176 0
+ -2.626172 2.470162 0
+ -3.172208 3.094203 0
+ F4 26624 0.000000 4 0
+ -3.562234 -3.432225 0
+ -2.730179 -2.574169 0
+ -1.768116 -2.210145 0
+ -2.704178 -3.146207 0
+ L3 26624 -0.001500 -4.163430 2.453809 0 -5.490901 2.393469 0
+ L3 26624 -0.001500 -5.772485 3.519808 0 -4.867392 3.298563 0
+ L3 26624 -0.001500 -1.850413 5.933391 0 -1.709621 4.263996 0
+ L3 26624 -0.001500 -1.709621 4.263996 0 -2.715281 5.450674 0
+ L3 26624 -0.001500 2.393469 5.993730 0 2.554375 4.585807 0
+ L3 26624 -0.001500 2.554375 4.585807 0 3.318676 5.450674 0
+ L3 26624 -0.001500 5.752372 3.097431 0 3.881845 2.232564 0
+ L3 26624 -0.001500 3.881845 2.232564 0 5.752372 1.790074 0
+ L3 26624 -0.001500 5.229429 -1.267131 0 3.821506 -1.287244 0
+ L3 26624 -0.001500 3.821506 -1.287244 0 4.988071 -2.856073 0
+ L3 26624 -0.001500 3.580148 -4.746713 0 2.031432 -3.399129 0
+ L3 26624 -0.001500 2.031432 -3.399129 0 2.071658 -5.852938 0
+ L3 26624 -0.001500 -0.724075 -6.255202 0 -0.744188 -4.183543 0
+ L3 26624 -0.001500 -0.744188 -4.183543 0 -1.749847 -5.048410 0
+ L3 26624 -0.001500 -0.965433 4.424902 0 -1.206791 3.399129 0
+ L3 26624 -0.001500 1.629168 4.686373 0 1.649282 3.499695 0
+ L3 26624 -0.001500 3.137657 4.022638 0 2.192338 3.238223 0
+ L3 26624 -0.001500 3.640487 3.077318 0 2.614715 1.609055 0
+ L3 26624 -0.001500 4.706486 0.844754 0 3.439355 1.186678 0
+ L3 26624 -0.001500 4.827165 -0.341924 0 2.735394 -0.643622 0
+ L3 26624 -0.001500 2.936526 -1.488376 0 3.922072 -2.896299 0
+ L3 26624 -0.001500 3.137657 -3.298563 0 1.548716 -2.131998 0
+ L3 26624 -0.001500 1.247018 -2.795733 0 0.844754 -4.022638 0
+ L3 26624 -0.001500 0.060340 -4.002525 0 -0.221245 -2.393469 0
+ L3 26624 -0.001500 -1.629168 -3.640487 0 -1.186678 -2.051545 0
+ L3 26624 -0.001500 -3.077318 0.583282 0 -1.609055 -0.140792 0
+ L3 26624 -0.001500 -1.307357 1.991206 0 -0.663735 0.724075 0
+ L3 26624 -0.001500 1.005659 2.976752 0 0.281585 1.609055 0
+ L3 26624 -0.001500 1.930866 2.192338 0 1.086112 1.307357 0
+ L3 26624 -0.001500 2.675054 0.583282 0 1.065999 0.321811 0
+ L3 26624 -0.001500 1.729734 -1.065999 0 0.744188 -0.462603 0
+ L3 26624 -0.001500 0.201132 -1.508489 0 0.261471 -0.744188 0
+ L3 26624 -0.001500 -0.301698 -0.502830 0 -0.925207 -1.347584 0
+ L3 26624 -0.001500 -1.226905 0.522943 0 -0.382151 0.040226 0
+ L3 26624 -0.001500 0.643622 1.025773 0 0.241358 0.221245 0
+ L3 26624 -0.001500 -3.666241 1.300085 0 -4.654306 1.794118 0
+ L3 26624 -0.001500 -4.576300 -1.066070 0 -3.328219 -0.676044 0
+ L3 26624 -0.001500 -3.614237 -3.874254 0 -2.496164 -3.536232 0
+ END$SEGS
+STRUCTURE 293 3 0 0 0 Fn3 2 112.333333 549.541667 0 0.000000 "LgTrees 10"" Conifer Conif-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 -1.913238 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.636625 -4.748517 0
+ -0.507123 -3.134943 0
+ 0.414919 -4.886824 0
+ 1.819616 -3.056955 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 3.505793 -1.322254 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 3.273250 1.913238 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.728829 3.849526 0
+ 0.852889 4.794619 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -1.452216 3.734271 0
+ -3.503760 4.264445 0
+ -2.927484 2.673922 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 -0.484072 0
+ -4.610211 -1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 -3.227489 0
+ 2.088178 -4.825111 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 3.811432 -2.088178 0
+ 4.906205 -1.196141 0
+ 2.979221 0.096549 0
+ 4.744017 2.027358 0
+ 3.426234 2.331461 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 2.169273 4.602102 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.844895 4.561554 0
+ -1.834428 2.413721 0
+ -4.237177 2.980216 0
+ -3.750611 1.297509 0
+ -2.248208 0.358610 0
+ -3.953347 0.324377 0
+ -4.764290 -0.810943 0
+ -1.544781 -1.062037 0
+ -4.054715 -3.142404 0
+ -1.186171 -2.786123 0
+ -1.250000 -5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 1.372969 0
+ -1.872230 0.855877 0
+ -1.087676 0.552754 0
+ -1.586938 1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 -0.731061 0
+ -1.141169 -0.820215 0
+ -0.713230 -0.427938 0
+ -1.497784 -0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 1.729584 0
+ -1.212492 2.300168 0
+ -1.800907 2.585460 0
+ -1.640430 2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 0.017831 0
+ -2.728106 0.196138 0
+ -1.890061 -0.071323 0
+ -2.745937 -0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 2.264507 0
+ -2.460645 1.836568 0
+ -1.800907 1.693922 0
+ -2.175353 2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 -2.353660 0
+ -1.872230 -1.765245 0
+ -1.212492 -1.515615 0
+ -1.854399 -2.157522 0
+ L3 26624 -0.001500 -2.855087 1.682708 0 -3.765404 1.641330 0
+ L3 26624 -0.001500 -3.958502 2.413721 0 -3.337831 2.262001 0
+ L3 26624 -0.001500 -1.268927 4.068843 0 -1.172379 2.924050 0
+ L3 26624 -0.001500 -1.172379 2.924050 0 -1.862013 3.737819 0
+ L3 26624 -0.001500 1.641330 4.110221 0 1.751672 3.144733 0
+ L3 26624 -0.001500 1.751672 3.144733 0 2.275794 3.737819 0
+ L3 26624 -0.001500 3.944709 2.124074 0 2.661989 1.530989 0
+ L3 26624 -0.001500 2.661989 1.530989 0 3.944709 1.227549 0
+ L3 26624 -0.001500 3.586099 -0.868939 0 2.620611 -0.882732 0
+ L3 26624 -0.001500 2.620611 -0.882732 0 3.420587 -1.958562 0
+ L3 26624 -0.001500 2.455099 -3.255075 0 1.393062 -2.330964 0
+ L3 26624 -0.001500 1.393062 -2.330964 0 1.420647 -4.013673 0
+ L3 26624 -0.001500 -0.496537 -4.289526 0 -0.510330 -2.868879 0
+ L3 26624 -0.001500 -0.510330 -2.868879 0 -1.199964 -3.461965 0
+ L3 26624 -0.001500 -0.662049 3.034392 0 -0.827561 2.330964 0
+ L3 26624 -0.001500 1.117208 3.213697 0 1.131001 2.399928 0
+ L3 26624 -0.001500 2.151660 2.758538 0 1.503403 2.220623 0
+ L3 26624 -0.001500 2.496477 2.110281 0 1.793050 1.103415 0
+ L3 26624 -0.001500 3.227489 0.579293 0 2.358550 0.813769 0
+ L3 26624 -0.001500 3.310245 -0.234476 0 1.875806 -0.441366 0
+ L3 26624 -0.001500 2.013733 -1.020659 0 2.689574 -1.986147 0
+ L3 26624 -0.001500 2.151660 -2.262001 0 1.062037 -1.462025 0
+ L3 26624 -0.001500 0.855147 -1.917184 0 0.579293 -2.758538 0
+ L3 26624 -0.001500 0.041378 -2.744745 0 -0.151720 -1.641330 0
+ L3 26624 -0.001500 -1.117208 -2.496477 0 -0.813769 -1.406854 0
+ L3 26624 -0.001500 -2.110281 0.399988 0 -1.103415 -0.096549 0
+ L3 26624 -0.001500 -0.896525 1.365476 0 -0.455159 0.496537 0
+ L3 26624 -0.001500 0.689634 2.041318 0 0.193098 1.103415 0
+ L3 26624 -0.001500 1.324098 1.503403 0 0.744805 0.896525 0
+ L3 26624 -0.001500 1.834428 0.399988 0 0.731013 0.220683 0
+ L3 26624 -0.001500 1.186171 -0.731013 0 0.510330 -0.317232 0
+ L3 26624 -0.001500 0.137927 -1.034452 0 0.179305 -0.510330 0
+ L3 26624 -0.001500 -0.206890 -0.344817 0 -0.634464 -0.924110 0
+ L3 26624 -0.001500 -0.841354 0.358610 0 -0.262061 0.027585 0
+ L3 26624 -0.001500 0.441366 0.703427 0 0.165512 0.151720 0
+ L3 26624 -0.001500 -2.514137 0.891538 0 -3.191706 1.230323 0
+ L3 26624 -0.001500 -3.138214 -0.731061 0 -2.282337 -0.463600 0
+ L3 26624 -0.001500 -2.478476 -2.656783 0 -1.711753 -2.424984 0
+ END$SEGS
+STRUCTURE 294 3 0 0 0 Fn3 2 97.333333 598.541667 0 0.000000 "LgTrees 10"" Conifer Conif-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 -1.913238 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.636625 -4.748517 0
+ -0.507123 -3.134943 0
+ 0.414919 -4.886824 0
+ 1.819616 -3.056955 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 3.505793 -1.322254 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 3.273250 1.913238 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.728829 3.849526 0
+ 0.852889 4.794619 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -1.452216 3.734271 0
+ -3.503760 4.264445 0
+ -2.927484 2.673922 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 -0.484072 0
+ -4.610211 -1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 -3.227489 0
+ 2.088178 -4.825111 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 3.811432 -2.088178 0
+ 4.906205 -1.196141 0
+ 2.979221 0.096549 0
+ 4.744017 2.027358 0
+ 3.426234 2.331461 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 2.169273 4.602102 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.844895 4.561554 0
+ -1.834428 2.413721 0
+ -4.237177 2.980216 0
+ -3.750611 1.297509 0
+ -2.248208 0.358610 0
+ -3.953347 0.324377 0
+ -4.764290 -0.810943 0
+ -1.544781 -1.062037 0
+ -4.054715 -3.142404 0
+ -1.186171 -2.786123 0
+ -1.250000 -5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 1.372969 0
+ -1.872230 0.855877 0
+ -1.087676 0.552754 0
+ -1.586938 1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 -0.731061 0
+ -1.141169 -0.820215 0
+ -0.713230 -0.427938 0
+ -1.497784 -0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 1.729584 0
+ -1.212492 2.300168 0
+ -1.800907 2.585460 0
+ -1.640430 2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 0.017831 0
+ -2.728106 0.196138 0
+ -1.890061 -0.071323 0
+ -2.745937 -0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 2.264507 0
+ -2.460645 1.836568 0
+ -1.800907 1.693922 0
+ -2.175353 2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 -2.353660 0
+ -1.872230 -1.765245 0
+ -1.212492 -1.515615 0
+ -1.854399 -2.157522 0
+ L3 26624 -0.001500 -2.855087 1.682708 0 -3.765404 1.641330 0
+ L3 26624 -0.001500 -3.958502 2.413721 0 -3.337831 2.262001 0
+ L3 26624 -0.001500 -1.268927 4.068843 0 -1.172379 2.924050 0
+ L3 26624 -0.001500 -1.172379 2.924050 0 -1.862013 3.737819 0
+ L3 26624 -0.001500 1.641330 4.110221 0 1.751672 3.144733 0
+ L3 26624 -0.001500 1.751672 3.144733 0 2.275794 3.737819 0
+ L3 26624 -0.001500 3.944709 2.124074 0 2.661989 1.530989 0
+ L3 26624 -0.001500 2.661989 1.530989 0 3.944709 1.227549 0
+ L3 26624 -0.001500 3.586099 -0.868939 0 2.620611 -0.882732 0
+ L3 26624 -0.001500 2.620611 -0.882732 0 3.420587 -1.958562 0
+ L3 26624 -0.001500 2.455099 -3.255075 0 1.393062 -2.330964 0
+ L3 26624 -0.001500 1.393062 -2.330964 0 1.420647 -4.013673 0
+ L3 26624 -0.001500 -0.496537 -4.289526 0 -0.510330 -2.868879 0
+ L3 26624 -0.001500 -0.510330 -2.868879 0 -1.199964 -3.461965 0
+ L3 26624 -0.001500 -0.662049 3.034392 0 -0.827561 2.330964 0
+ L3 26624 -0.001500 1.117208 3.213697 0 1.131001 2.399928 0
+ L3 26624 -0.001500 2.151660 2.758538 0 1.503403 2.220623 0
+ L3 26624 -0.001500 2.496477 2.110281 0 1.793050 1.103415 0
+ L3 26624 -0.001500 3.227489 0.579293 0 2.358550 0.813769 0
+ L3 26624 -0.001500 3.310245 -0.234476 0 1.875806 -0.441366 0
+ L3 26624 -0.001500 2.013733 -1.020659 0 2.689574 -1.986147 0
+ L3 26624 -0.001500 2.151660 -2.262001 0 1.062037 -1.462025 0
+ L3 26624 -0.001500 0.855147 -1.917184 0 0.579293 -2.758538 0
+ L3 26624 -0.001500 0.041378 -2.744745 0 -0.151720 -1.641330 0
+ L3 26624 -0.001500 -1.117208 -2.496477 0 -0.813769 -1.406854 0
+ L3 26624 -0.001500 -2.110281 0.399988 0 -1.103415 -0.096549 0
+ L3 26624 -0.001500 -0.896525 1.365476 0 -0.455159 0.496537 0
+ L3 26624 -0.001500 0.689634 2.041318 0 0.193098 1.103415 0
+ L3 26624 -0.001500 1.324098 1.503403 0 0.744805 0.896525 0
+ L3 26624 -0.001500 1.834428 0.399988 0 0.731013 0.220683 0
+ L3 26624 -0.001500 1.186171 -0.731013 0 0.510330 -0.317232 0
+ L3 26624 -0.001500 0.137927 -1.034452 0 0.179305 -0.510330 0
+ L3 26624 -0.001500 -0.206890 -0.344817 0 -0.634464 -0.924110 0
+ L3 26624 -0.001500 -0.841354 0.358610 0 -0.262061 0.027585 0
+ L3 26624 -0.001500 0.441366 0.703427 0 0.165512 0.151720 0
+ L3 26624 -0.001500 -2.514137 0.891538 0 -3.191706 1.230323 0
+ L3 26624 -0.001500 -3.138214 -0.731061 0 -2.282337 -0.463600 0
+ L3 26624 -0.001500 -2.478476 -2.656783 0 -1.711753 -2.424984 0
+ END$SEGS
+STRUCTURE 295 3 0 0 0 Fn3 2 375.666667 540.083333 0 0.000000 "LgTrees 10"" Conifer Conif-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 1.913238 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.636625 4.748517 0
+ -0.507123 3.134943 0
+ 0.414919 4.886824 0
+ 1.819616 3.056955 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 3.505793 1.322254 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 3.273250 -1.913238 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.728829 -3.849526 0
+ 0.852889 -4.794619 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -1.452216 -3.734271 0
+ -3.503760 -4.264445 0
+ -2.927484 -2.673922 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 0.484072 0
+ -4.610211 1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 3.227489 0
+ 2.088178 4.825111 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 3.811432 2.088178 0
+ 4.906205 1.196141 0
+ 2.979221 -0.096549 0
+ 4.744017 -2.027358 0
+ 3.426234 -2.331461 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 2.169273 -4.602102 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.844895 -4.561554 0
+ -1.834428 -2.413721 0
+ -4.237177 -2.980216 0
+ -3.750611 -1.297509 0
+ -2.248208 -0.358610 0
+ -3.953347 -0.324377 0
+ -4.764290 0.810943 0
+ -1.544781 1.062037 0
+ -4.054715 3.142404 0
+ -1.186171 2.786123 0
+ -1.250000 5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 -1.372969 0
+ -1.872230 -0.855877 0
+ -1.087676 -0.552754 0
+ -1.586938 -1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 0.731061 0
+ -1.141169 0.820215 0
+ -0.713230 0.427938 0
+ -1.497784 0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 -1.729584 0
+ -1.212492 -2.300168 0
+ -1.800907 -2.585460 0
+ -1.640430 -2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 -0.017831 0
+ -2.728106 -0.196138 0
+ -1.890061 0.071323 0
+ -2.745937 0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 -2.264507 0
+ -2.460645 -1.836568 0
+ -1.800907 -1.693922 0
+ -2.175353 -2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 2.353660 0
+ -1.872230 1.765245 0
+ -1.212492 1.515615 0
+ -1.854399 2.157522 0
+ L3 26624 -0.001500 -2.855087 -1.682708 0 -3.765404 -1.641330 0
+ L3 26624 -0.001500 -3.958502 -2.413721 0 -3.337831 -2.262001 0
+ L3 26624 -0.001500 -1.268927 -4.068843 0 -1.172379 -2.924050 0
+ L3 26624 -0.001500 -1.172379 -2.924050 0 -1.862013 -3.737819 0
+ L3 26624 -0.001500 1.641330 -4.110221 0 1.751672 -3.144733 0
+ L3 26624 -0.001500 1.751672 -3.144733 0 2.275794 -3.737819 0
+ L3 26624 -0.001500 3.944709 -2.124074 0 2.661989 -1.530989 0
+ L3 26624 -0.001500 2.661989 -1.530989 0 3.944709 -1.227549 0
+ L3 26624 -0.001500 3.586099 0.868939 0 2.620611 0.882732 0
+ L3 26624 -0.001500 2.620611 0.882732 0 3.420587 1.958562 0
+ L3 26624 -0.001500 2.455099 3.255075 0 1.393062 2.330964 0
+ L3 26624 -0.001500 1.393062 2.330964 0 1.420647 4.013673 0
+ L3 26624 -0.001500 -0.496537 4.289526 0 -0.510330 2.868879 0
+ L3 26624 -0.001500 -0.510330 2.868879 0 -1.199964 3.461965 0
+ L3 26624 -0.001500 -0.662049 -3.034392 0 -0.827561 -2.330964 0
+ L3 26624 -0.001500 1.117208 -3.213697 0 1.131001 -2.399928 0
+ L3 26624 -0.001500 2.151660 -2.758538 0 1.503403 -2.220623 0
+ L3 26624 -0.001500 2.496477 -2.110281 0 1.793050 -1.103415 0
+ L3 26624 -0.001500 3.227489 -0.579293 0 2.358550 -0.813769 0
+ L3 26624 -0.001500 3.310245 0.234476 0 1.875806 0.441366 0
+ L3 26624 -0.001500 2.013733 1.020659 0 2.689574 1.986147 0
+ L3 26624 -0.001500 2.151660 2.262001 0 1.062037 1.462025 0
+ L3 26624 -0.001500 0.855147 1.917184 0 0.579293 2.758538 0
+ L3 26624 -0.001500 0.041378 2.744745 0 -0.151720 1.641330 0
+ L3 26624 -0.001500 -1.117208 2.496477 0 -0.813769 1.406854 0
+ L3 26624 -0.001500 -2.110281 -0.399988 0 -1.103415 0.096549 0
+ L3 26624 -0.001500 -0.896525 -1.365476 0 -0.455159 -0.496537 0
+ L3 26624 -0.001500 0.689634 -2.041318 0 0.193098 -1.103415 0
+ L3 26624 -0.001500 1.324098 -1.503403 0 0.744805 -0.896525 0
+ L3 26624 -0.001500 1.834428 -0.399988 0 0.731013 -0.220683 0
+ L3 26624 -0.001500 1.186171 0.731013 0 0.510330 0.317232 0
+ L3 26624 -0.001500 0.137927 1.034452 0 0.179305 0.510330 0
+ L3 26624 -0.001500 -0.206890 0.344817 0 -0.634464 0.924110 0
+ L3 26624 -0.001500 -0.841354 -0.358610 0 -0.262061 -0.027585 0
+ L3 26624 -0.001500 0.441366 -0.703427 0 0.165512 -0.151720 0
+ L3 26624 -0.001500 -2.514137 -0.891538 0 -3.191706 -1.230323 0
+ L3 26624 -0.001500 -3.138214 0.731061 0 -2.282337 0.463600 0
+ L3 26624 -0.001500 -2.478476 2.656783 0 -1.711753 2.424984 0
+ END$SEGS
+STRUCTURE 296 3 0 0 0 Fn3 2 415.666667 533.083333 0 0.000000 "LgTrees 10"" Conifer Conif-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 1.913238 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.636625 4.748517 0
+ -0.507123 3.134943 0
+ 0.414919 4.886824 0
+ 1.819616 3.056955 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 3.505793 1.322254 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 3.273250 -1.913238 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.728829 -3.849526 0
+ 0.852889 -4.794619 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -1.452216 -3.734271 0
+ -3.503760 -4.264445 0
+ -2.927484 -2.673922 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 0.484072 0
+ -4.610211 1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 3.227489 0
+ 2.088178 4.825111 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 3.811432 2.088178 0
+ 4.906205 1.196141 0
+ 2.979221 -0.096549 0
+ 4.744017 -2.027358 0
+ 3.426234 -2.331461 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 2.169273 -4.602102 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.844895 -4.561554 0
+ -1.834428 -2.413721 0
+ -4.237177 -2.980216 0
+ -3.750611 -1.297509 0
+ -2.248208 -0.358610 0
+ -3.953347 -0.324377 0
+ -4.764290 0.810943 0
+ -1.544781 1.062037 0
+ -4.054715 3.142404 0
+ -1.186171 2.786123 0
+ -1.250000 5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 -1.372969 0
+ -1.872230 -0.855877 0
+ -1.087676 -0.552754 0
+ -1.586938 -1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 0.731061 0
+ -1.141169 0.820215 0
+ -0.713230 0.427938 0
+ -1.497784 0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 -1.729584 0
+ -1.212492 -2.300168 0
+ -1.800907 -2.585460 0
+ -1.640430 -2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 -0.017831 0
+ -2.728106 -0.196138 0
+ -1.890061 0.071323 0
+ -2.745937 0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 -2.264507 0
+ -2.460645 -1.836568 0
+ -1.800907 -1.693922 0
+ -2.175353 -2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 2.353660 0
+ -1.872230 1.765245 0
+ -1.212492 1.515615 0
+ -1.854399 2.157522 0
+ L3 26624 -0.001500 -2.855087 -1.682708 0 -3.765404 -1.641330 0
+ L3 26624 -0.001500 -3.958502 -2.413721 0 -3.337831 -2.262001 0
+ L3 26624 -0.001500 -1.268927 -4.068843 0 -1.172379 -2.924050 0
+ L3 26624 -0.001500 -1.172379 -2.924050 0 -1.862013 -3.737819 0
+ L3 26624 -0.001500 1.641330 -4.110221 0 1.751672 -3.144733 0
+ L3 26624 -0.001500 1.751672 -3.144733 0 2.275794 -3.737819 0
+ L3 26624 -0.001500 3.944709 -2.124074 0 2.661989 -1.530989 0
+ L3 26624 -0.001500 2.661989 -1.530989 0 3.944709 -1.227549 0
+ L3 26624 -0.001500 3.586099 0.868939 0 2.620611 0.882732 0
+ L3 26624 -0.001500 2.620611 0.882732 0 3.420587 1.958562 0
+ L3 26624 -0.001500 2.455099 3.255075 0 1.393062 2.330964 0
+ L3 26624 -0.001500 1.393062 2.330964 0 1.420647 4.013673 0
+ L3 26624 -0.001500 -0.496537 4.289526 0 -0.510330 2.868879 0
+ L3 26624 -0.001500 -0.510330 2.868879 0 -1.199964 3.461965 0
+ L3 26624 -0.001500 -0.662049 -3.034392 0 -0.827561 -2.330964 0
+ L3 26624 -0.001500 1.117208 -3.213697 0 1.131001 -2.399928 0
+ L3 26624 -0.001500 2.151660 -2.758538 0 1.503403 -2.220623 0
+ L3 26624 -0.001500 2.496477 -2.110281 0 1.793050 -1.103415 0
+ L3 26624 -0.001500 3.227489 -0.579293 0 2.358550 -0.813769 0
+ L3 26624 -0.001500 3.310245 0.234476 0 1.875806 0.441366 0
+ L3 26624 -0.001500 2.013733 1.020659 0 2.689574 1.986147 0
+ L3 26624 -0.001500 2.151660 2.262001 0 1.062037 1.462025 0
+ L3 26624 -0.001500 0.855147 1.917184 0 0.579293 2.758538 0
+ L3 26624 -0.001500 0.041378 2.744745 0 -0.151720 1.641330 0
+ L3 26624 -0.001500 -1.117208 2.496477 0 -0.813769 1.406854 0
+ L3 26624 -0.001500 -2.110281 -0.399988 0 -1.103415 0.096549 0
+ L3 26624 -0.001500 -0.896525 -1.365476 0 -0.455159 -0.496537 0
+ L3 26624 -0.001500 0.689634 -2.041318 0 0.193098 -1.103415 0
+ L3 26624 -0.001500 1.324098 -1.503403 0 0.744805 -0.896525 0
+ L3 26624 -0.001500 1.834428 -0.399988 0 0.731013 -0.220683 0
+ L3 26624 -0.001500 1.186171 0.731013 0 0.510330 0.317232 0
+ L3 26624 -0.001500 0.137927 1.034452 0 0.179305 0.510330 0
+ L3 26624 -0.001500 -0.206890 0.344817 0 -0.634464 0.924110 0
+ L3 26624 -0.001500 -0.841354 -0.358610 0 -0.262061 -0.027585 0
+ L3 26624 -0.001500 0.441366 -0.703427 0 0.165512 -0.151720 0
+ L3 26624 -0.001500 -2.514137 -0.891538 0 -3.191706 -1.230323 0
+ L3 26624 -0.001500 -3.138214 0.731061 0 -2.282337 0.463600 0
+ L3 26624 -0.001500 -2.478476 2.656783 0 -1.711753 2.424984 0
+ END$SEGS
+STRUCTURE 297 3 0 0 0 Fn3 2 404.666667 533.083333 0 0.000000 "LgTrees 8"" Conifer Conif-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 -1.530590 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.309300 -3.798814 0
+ -0.405699 -2.507955 0
+ 0.331935 -3.909459 0
+ 1.455693 -2.445564 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 2.804635 -1.057803 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 2.618600 1.530590 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.383063 3.079621 0
+ 0.682311 3.835696 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -1.161773 2.987417 0
+ -2.803008 3.411556 0
+ -2.341987 2.139138 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 -0.387258 0
+ -3.688169 -1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.670543 -3.860089 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.049146 -1.670543 0
+ 3.924964 -0.956913 0
+ 2.383377 0.077239 0
+ 3.795213 1.621886 0
+ 2.740987 1.865169 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.735418 3.681681 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.475916 3.649244 0
+ -1.467542 1.930976 0
+ -3.389742 2.384172 0
+ -3.000489 1.038007 0
+ -1.798567 0.286888 0
+ -3.162678 0.259502 0
+ -3.811432 -0.648754 0
+ -1.235825 -0.849630 0
+ -3.243772 -2.513923 0
+ -0.948937 -2.228899 0
+ -1.000000 -4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 1.098375 0
+ -1.497784 0.684701 0
+ -0.870141 0.442203 0
+ -1.269550 0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 -0.584849 0
+ -0.912935 -0.656172 0
+ -0.570584 -0.342351 0
+ -1.198227 -0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 1.383667 0
+ -0.969993 1.840135 0
+ -1.440725 2.068368 0
+ -1.312344 1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 0.014265 0
+ -2.182485 0.156911 0
+ -1.512049 -0.057058 0
+ -2.196750 -0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 1.811605 0
+ -1.968516 1.469255 0
+ -1.440725 1.355138 0
+ -1.740282 1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 -1.882928 0
+ -1.497784 -1.412196 0
+ -0.969993 -1.212492 0
+ -1.483519 -1.726018 0
+ L3 26624 -0.001500 -2.284069 1.346166 0 -3.012323 1.313064 0
+ L3 26624 -0.001500 -3.166801 1.930976 0 -2.670265 1.809601 0
+ L3 26624 -0.001500 -1.015142 3.255075 0 -0.937903 2.339240 0
+ L3 26624 -0.001500 -0.937903 2.339240 0 -1.489610 2.990255 0
+ L3 26624 -0.001500 1.313064 3.288177 0 1.401337 2.515787 0
+ L3 26624 -0.001500 1.401337 2.515787 0 1.820635 2.990255 0
+ L3 26624 -0.001500 3.155767 1.699259 0 2.129591 1.224791 0
+ L3 26624 -0.001500 2.129591 1.224791 0 3.155767 0.982039 0
+ L3 26624 -0.001500 2.868879 -0.695152 0 2.096489 -0.706186 0
+ L3 26624 -0.001500 2.096489 -0.706186 0 2.736470 -1.566849 0
+ L3 26624 -0.001500 1.964079 -2.604060 0 1.114449 -1.864772 0
+ L3 26624 -0.001500 1.114449 -1.864772 0 1.136518 -3.210938 0
+ L3 26624 -0.001500 -0.397229 -3.431621 0 -0.408264 -2.295103 0
+ L3 26624 -0.001500 -0.408264 -2.295103 0 -0.959971 -2.769572 0
+ L3 26624 -0.001500 -0.529639 2.427513 0 -0.662049 1.864772 0
+ L3 26624 -0.001500 0.893766 2.570957 0 0.904800 1.919942 0
+ L3 26624 -0.001500 1.721328 2.206830 0 1.202722 1.776498 0
+ L3 26624 -0.001500 1.997181 1.688225 0 1.434440 0.882732 0
+ L3 26624 -0.001500 2.581991 0.463434 0 1.886840 0.651015 0
+ L3 26624 -0.001500 2.648196 -0.187581 0 1.500645 -0.353093 0
+ L3 26624 -0.001500 1.610986 -0.816527 0 2.151660 -1.588918 0
+ L3 26624 -0.001500 1.721328 -1.809601 0 0.849630 -1.169620 0
+ L3 26624 -0.001500 0.684117 -1.533747 0 0.463434 -2.206830 0
+ L3 26624 -0.001500 0.033102 -2.195796 0 -0.121376 -1.313064 0
+ L3 26624 -0.001500 -0.893766 -1.997181 0 -0.651015 -1.125483 0
+ L3 26624 -0.001500 -1.688225 0.319990 0 -0.882732 -0.077239 0
+ L3 26624 -0.001500 -0.717220 1.092381 0 -0.364127 0.397229 0
+ L3 26624 -0.001500 0.551708 1.633054 0 0.154478 0.882732 0
+ L3 26624 -0.001500 1.059279 1.202722 0 0.595844 0.717220 0
+ L3 26624 -0.001500 1.467542 0.319990 0 0.584810 0.176546 0
+ L3 26624 -0.001500 0.948937 -0.584810 0 0.408264 -0.253785 0
+ L3 26624 -0.001500 0.110342 -0.827561 0 0.143444 -0.408264 0
+ L3 26624 -0.001500 -0.165512 -0.275854 0 -0.507571 -0.739288 0
+ L3 26624 -0.001500 -0.673083 0.286888 0 -0.209649 0.022068 0
+ L3 26624 -0.001500 0.353093 0.562742 0 0.132410 0.121376 0
+ L3 26624 -0.001500 -2.011310 0.713230 0 -2.553365 0.984258 0
+ L3 26624 -0.001500 -2.510571 -0.584849 0 -1.825870 -0.370880 0
+ L3 26624 -0.001500 -1.982781 -2.125427 0 -1.369402 -1.939987 0
+ END$SEGS
+STRUCTURE 298 3 0 0 0 Fn3 2 392.666667 538.083333 0 0.000000 "LgTrees 8"" Conifer Conif-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 -1.530590 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.309300 -3.798814 0
+ -0.405699 -2.507955 0
+ 0.331935 -3.909459 0
+ 1.455693 -2.445564 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 2.804635 -1.057803 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 2.618600 1.530590 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.383063 3.079621 0
+ 0.682311 3.835696 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -1.161773 2.987417 0
+ -2.803008 3.411556 0
+ -2.341987 2.139138 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 -0.387258 0
+ -3.688169 -1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.670543 -3.860089 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.049146 -1.670543 0
+ 3.924964 -0.956913 0
+ 2.383377 0.077239 0
+ 3.795213 1.621886 0
+ 2.740987 1.865169 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.735418 3.681681 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.475916 3.649244 0
+ -1.467542 1.930976 0
+ -3.389742 2.384172 0
+ -3.000489 1.038007 0
+ -1.798567 0.286888 0
+ -3.162678 0.259502 0
+ -3.811432 -0.648754 0
+ -1.235825 -0.849630 0
+ -3.243772 -2.513923 0
+ -0.948937 -2.228899 0
+ -1.000000 -4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 1.098375 0
+ -1.497784 0.684701 0
+ -0.870141 0.442203 0
+ -1.269550 0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 -0.584849 0
+ -0.912935 -0.656172 0
+ -0.570584 -0.342351 0
+ -1.198227 -0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 1.383667 0
+ -0.969993 1.840135 0
+ -1.440725 2.068368 0
+ -1.312344 1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 0.014265 0
+ -2.182485 0.156911 0
+ -1.512049 -0.057058 0
+ -2.196750 -0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 1.811605 0
+ -1.968516 1.469255 0
+ -1.440725 1.355138 0
+ -1.740282 1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 -1.882928 0
+ -1.497784 -1.412196 0
+ -0.969993 -1.212492 0
+ -1.483519 -1.726018 0
+ L3 26624 -0.001500 -2.284069 1.346166 0 -3.012323 1.313064 0
+ L3 26624 -0.001500 -3.166801 1.930976 0 -2.670265 1.809601 0
+ L3 26624 -0.001500 -1.015142 3.255075 0 -0.937903 2.339240 0
+ L3 26624 -0.001500 -0.937903 2.339240 0 -1.489610 2.990255 0
+ L3 26624 -0.001500 1.313064 3.288177 0 1.401337 2.515787 0
+ L3 26624 -0.001500 1.401337 2.515787 0 1.820635 2.990255 0
+ L3 26624 -0.001500 3.155767 1.699259 0 2.129591 1.224791 0
+ L3 26624 -0.001500 2.129591 1.224791 0 3.155767 0.982039 0
+ L3 26624 -0.001500 2.868879 -0.695152 0 2.096489 -0.706186 0
+ L3 26624 -0.001500 2.096489 -0.706186 0 2.736470 -1.566849 0
+ L3 26624 -0.001500 1.964079 -2.604060 0 1.114449 -1.864772 0
+ L3 26624 -0.001500 1.114449 -1.864772 0 1.136518 -3.210938 0
+ L3 26624 -0.001500 -0.397229 -3.431621 0 -0.408264 -2.295103 0
+ L3 26624 -0.001500 -0.408264 -2.295103 0 -0.959971 -2.769572 0
+ L3 26624 -0.001500 -0.529639 2.427513 0 -0.662049 1.864772 0
+ L3 26624 -0.001500 0.893766 2.570957 0 0.904800 1.919942 0
+ L3 26624 -0.001500 1.721328 2.206830 0 1.202722 1.776498 0
+ L3 26624 -0.001500 1.997181 1.688225 0 1.434440 0.882732 0
+ L3 26624 -0.001500 2.581991 0.463434 0 1.886840 0.651015 0
+ L3 26624 -0.001500 2.648196 -0.187581 0 1.500645 -0.353093 0
+ L3 26624 -0.001500 1.610986 -0.816527 0 2.151660 -1.588918 0
+ L3 26624 -0.001500 1.721328 -1.809601 0 0.849630 -1.169620 0
+ L3 26624 -0.001500 0.684117 -1.533747 0 0.463434 -2.206830 0
+ L3 26624 -0.001500 0.033102 -2.195796 0 -0.121376 -1.313064 0
+ L3 26624 -0.001500 -0.893766 -1.997181 0 -0.651015 -1.125483 0
+ L3 26624 -0.001500 -1.688225 0.319990 0 -0.882732 -0.077239 0
+ L3 26624 -0.001500 -0.717220 1.092381 0 -0.364127 0.397229 0
+ L3 26624 -0.001500 0.551708 1.633054 0 0.154478 0.882732 0
+ L3 26624 -0.001500 1.059279 1.202722 0 0.595844 0.717220 0
+ L3 26624 -0.001500 1.467542 0.319990 0 0.584810 0.176546 0
+ L3 26624 -0.001500 0.948937 -0.584810 0 0.408264 -0.253785 0
+ L3 26624 -0.001500 0.110342 -0.827561 0 0.143444 -0.408264 0
+ L3 26624 -0.001500 -0.165512 -0.275854 0 -0.507571 -0.739288 0
+ L3 26624 -0.001500 -0.673083 0.286888 0 -0.209649 0.022068 0
+ L3 26624 -0.001500 0.353093 0.562742 0 0.132410 0.121376 0
+ L3 26624 -0.001500 -2.011310 0.713230 0 -2.553365 0.984258 0
+ L3 26624 -0.001500 -2.510571 -0.584849 0 -1.825870 -0.370880 0
+ L3 26624 -0.001500 -1.982781 -2.125427 0 -1.369402 -1.939987 0
+ END$SEGS
+STRUCTURE 299 3 0 0 0 Fn3 2 387.666667 550.083333 0 0.000000 "LgTrees 12"" Conifer Conif-12a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 5.418808 -1.462500 -0.079054 0
+ F4 26624 0.000000 28 0
+ -3.711008 -2.231983 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.909287 -5.539620 0
+ -0.591610 -3.657225 0
+ 0.484044 -5.700969 0
+ 2.122764 -3.566244 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 4.089859 -1.542542 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 3.818573 2.231983 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 2.016852 4.490857 0
+ 0.994980 5.593403 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -1.694156 4.356400 0
+ -4.087487 4.974902 0
+ -3.415203 3.119398 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 -0.564719 0
+ -5.378272 -2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 -3.765189 0
+ 2.436069 -5.628974 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.446417 -2.436069 0
+ 5.723579 -1.395418 0
+ 3.475559 0.112634 0
+ 5.534370 2.365115 0
+ 3.997045 2.719883 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 2.530673 5.368812 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.152255 5.321509 0
+ -2.140043 2.815846 0
+ -4.943091 3.476719 0
+ -4.375463 1.513674 0
+ -2.622760 0.418354 0
+ -4.611975 0.378418 0
+ -5.558021 -0.946046 0
+ -1.802142 -1.238972 0
+ -4.730231 -3.665929 0
+ -1.383787 -3.250291 0
+ -1.458250 -5.833000 0
+ F4 26624 0.000000 4 0
+ -2.704178 1.601705 0
+ -2.184143 0.998466 0
+ -1.268883 0.644842 0
+ -1.851322 1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 -0.852856 0
+ -1.331287 -0.956863 0
+ -0.832055 -0.499233 0
+ -1.747315 -0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 2.017732 0
+ -1.414493 2.683376 0
+ -2.100938 3.016198 0
+ -1.913726 2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 0.020801 0
+ -3.182609 0.228815 0
+ -2.204945 -0.083205 0
+ -3.203410 -0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 2.641773 0
+ -2.870588 2.142541 0
+ -2.100938 1.976130 0
+ -2.537767 2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 -2.745780 0
+ -2.184143 -2.059335 0
+ -1.414493 -1.768116 0
+ -2.163342 -2.516965 0
+ L3 26624 -0.001500 -3.330744 1.963047 0 -4.392720 1.914776 0
+ L3 26624 -0.001500 -4.617988 2.815846 0 -3.893913 2.638850 0
+ L3 26624 -0.001500 -1.480331 4.746713 0 -1.367697 3.411197 0
+ L3 26624 -0.001500 -1.367697 3.411197 0 -2.172224 4.360539 0
+ L3 26624 -0.001500 1.914776 4.794984 0 2.043500 3.668646 0
+ L3 26624 -0.001500 2.043500 3.668646 0 2.654941 4.360539 0
+ L3 26624 -0.001500 4.601898 2.477945 0 3.105476 1.786051 0
+ L3 26624 -0.001500 3.105476 1.786051 0 4.601898 1.432059 0
+ L3 26624 -0.001500 4.183543 -1.013705 0 3.057205 -1.029795 0
+ L3 26624 -0.001500 3.057205 -1.029795 0 3.990457 -2.284858 0
+ L3 26624 -0.001500 2.864118 -3.797370 0 1.625146 -2.719303 0
+ L3 26624 -0.001500 1.625146 -2.719303 0 1.657327 -4.682350 0
+ L3 26624 -0.001500 -0.579260 -5.004161 0 -0.595350 -3.346835 0
+ L3 26624 -0.001500 -0.595350 -3.346835 0 -1.399878 -4.038728 0
+ L3 26624 -0.001500 -0.772346 3.539921 0 -0.965433 2.719303 0
+ L3 26624 -0.001500 1.303335 3.749098 0 1.319425 2.799756 0
+ L3 26624 -0.001500 2.510126 3.218110 0 1.753870 2.590579 0
+ L3 26624 -0.001500 2.912390 2.461854 0 2.091772 1.287244 0
+ L3 26624 -0.001500 3.765189 0.675803 0 2.751484 0.949343 0
+ L3 26624 -0.001500 3.861732 -0.273539 0 2.188315 -0.514898 0
+ L3 26624 -0.001500 2.349220 -1.190701 0 3.137657 -2.317039 0
+ L3 26624 -0.001500 2.510126 -2.638850 0 1.238972 -1.705598 0
+ L3 26624 -0.001500 0.997614 -2.236587 0 0.675803 -3.218110 0
+ L3 26624 -0.001500 0.048272 -3.202020 0 -0.176996 -1.914776 0
+ L3 26624 -0.001500 -1.303335 -2.912390 0 -0.949343 -1.641236 0
+ L3 26624 -0.001500 -2.461854 0.466626 0 -1.287244 -0.112634 0
+ L3 26624 -0.001500 -1.045886 1.592965 0 -0.530988 0.579260 0
+ L3 26624 -0.001500 0.804528 2.381402 0 0.225268 1.287244 0
+ L3 26624 -0.001500 1.544693 1.753870 0 0.868890 1.045886 0
+ L3 26624 -0.001500 2.140043 0.466626 0 0.852799 0.257449 0
+ L3 26624 -0.001500 1.383787 -0.852799 0 0.595350 -0.370083 0
+ L3 26624 -0.001500 0.160906 -1.206791 0 0.209177 -0.595350 0
+ L3 26624 -0.001500 -0.241358 -0.402264 0 -0.740165 -1.078067 0
+ L3 26624 -0.001500 -0.981524 0.418354 0 -0.305720 0.032181 0
+ L3 26624 -0.001500 0.514898 0.820618 0 0.193087 0.176996 0
+ L3 26624 -0.001500 -2.932993 1.040068 0 -3.723444 1.435294 0
+ L3 26624 -0.001500 -3.661040 -0.852856 0 -2.662575 -0.540836 0
+ L3 26624 -0.001500 -2.891390 -3.099404 0 -1.996931 -2.828986 0
+ END$SEGS
+STRUCTURE 300 3 0 0 0 Fn3 2 423.666667 546.083333 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 301 3 0 0 0 Fn3 2 419.666667 587.083333 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 302 3 0 0 0 Fn3 2 406.666667 600.083333 0 0.000000 "LgTrees 8"" Shade Shade-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 -1.853737 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.313064 -3.696441 0
+ -0.518605 -4.038499 0
+ 0.375161 -2.935084 0
+ 1.401337 -3.895055 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 3.652304 -1.677191 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 3.277143 2.394411 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.180654 3.872987 0
+ 0.695152 3.122665 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -2.041318 3.409553 0
+ -1.853737 2.515787 0
+ -3.100597 2.427513 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 -0.926869 0
+ -2.736470 -1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.324098 -3.354382 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.210938 -1.202722 0
+ 3.310245 -0.562742 0
+ 2.383377 0.077239 0
+ 3.188870 1.290996 0
+ 2.835777 1.710293 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.147552 3.122665 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.456508 2.813709 0
+ -1.467542 1.930976 0
+ -2.140625 1.908908 0
+ -2.581991 1.026176 0
+ -1.798567 0.286888 0
+ -2.537855 -0.099307 0
+ -2.416479 -0.628947 0
+ -1.235825 -0.849630 0
+ -1.688225 -1.655123 0
+ -0.948937 -2.228899 0
+ -0.651015 -2.879914 0
+ L3 65280 -0.001500 -0.700000 -3.400000 0 -0.300000 -3.100000 0
+ L3 65280 -0.001500 -1.000000 -3.200000 0 -1.100000 -2.700000 0
+ L3 65280 -0.001500 -2.300000 -2.100000 0 -1.600000 -2.100000 0
+ L3 65280 -0.001500 -2.800000 -1.900000 0 -2.500000 -1.600000 0
+ L3 65280 -0.001500 -2.100000 -1.700000 0 -1.700000 -1.400000 0
+ L3 65280 -0.001500 -1.900000 -1.100000 0 -2.500000 -1.000000 0
+ L3 65280 -0.001500 -3.400000 -0.800000 0 -2.700000 -0.800000 0
+ L3 65280 -0.001500 -3.400000 -0.200000 0 -2.800000 -0.500000 0
+ L3 65280 -0.001500 -2.300000 0.300000 0 -2.800000 0.200000 0
+ L3 65280 -0.001500 -2.700000 0.700000 0 -3.400000 1.100000 0
+ L3 65280 -0.001500 -3.100000 1.500000 0 -2.600000 1.600000 0
+ L3 65280 -0.001500 -2.400000 2.300000 0 -2.200000 2.000000 0
+ L3 65280 -0.001500 -1.500000 3.000000 0 -1.700000 3.300000 0
+ L3 65280 -0.001500 -0.900000 3.200000 0 -0.700000 3.500000 0
+ L3 65280 -0.001500 -0.100000 2.700000 0 0.000000 3.000000 0
+ L3 65280 -0.001500 0.500000 2.700000 0 0.200000 2.900000 0
+ L3 65280 -0.001500 1.300000 3.200000 0 1.200000 3.600000 0
+ L3 65280 -0.001500 1.900000 3.000000 0 2.200000 3.100000 0
+ L3 65280 -0.001500 3.500000 1.400000 0 3.200000 1.500000 0
+ L3 65280 -0.001500 3.000000 1.900000 0 3.200000 2.200000 0
+ L3 65280 -0.001500 3.500000 -0.300000 0 3.100000 -0.200000 0
+ L3 65280 -0.001500 -2.800000 -2.500000 0 -2.600000 -2.100000 0
+ L3 65280 -0.001500 -3.200000 -1.900000 0 -2.900000 -2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 -1.583372 0
+ 0.912935 -1.397932 0
+ 0.841612 -0.927200 0
+ 1.255286 -1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 -1.897193 0
+ -0.542055 -1.569107 0
+ 0.071323 -1.298079 0
+ 0.242498 -1.697488 0
+ -0.071323 -1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 0.071323 0
+ 1.212492 0.242498 0
+ 1.055581 -0.128381 0
+ 2.068368 -0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 1.897193 0
+ 0.099852 1.611901 0
+ 0.199705 1.012787 0
+ 0.427938 1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 1.426461 0
+ 1.540578 0.984258 0
+ 1.226756 1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 0.171175 0
+ -1.298079 0.028529 0
+ -0.613378 -0.142646 0
+ -0.242498 0.242498 0
+ -1.098375 0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 1.654695 0
+ -0.912935 1.554842 0
+ -0.627643 0.884406 0
+ -1.069846 0.998523 0
+ L3 26624 -0.001500 0.200000 -2.200000 0 0.400000 -1.900000 0
+ L3 26624 -0.001500 1.400000 -1.900000 0 0.900000 -1.700000 0
+ L3 26624 -0.001500 1.600000 -2.400000 0 1.300000 -2.200000 0
+ L3 26624 -0.001500 0.900000 -2.600000 0 0.700000 -2.200000 0
+ L3 26624 -0.001500 -0.400000 -2.500000 0 -0.200000 -2.200000 0
+ L3 26624 -0.001500 -1.200000 -1.600000 0 -0.800000 -1.600000 0
+ L3 26624 -0.001500 -0.900000 -1.100000 0 -0.400000 -1.300000 0
+ L3 26624 -0.001500 -1.200000 -0.600000 0 -0.800000 -0.300000 0
+ L3 26624 -0.001500 -1.800000 -0.500000 0 -1.400000 -0.300000 0
+ L3 26624 -0.001500 -2.300000 -0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 0.500000 0 -2.000000 0.900000 0
+ L3 26624 -0.001500 -1.800000 1.400000 0 -1.500000 1.000000 0
+ L3 26624 -0.001500 -1.100000 2.200000 0 -0.800000 1.800000 0
+ L3 26624 -0.001500 -0.400000 1.800000 0 -0.500000 2.400000 0
+ L3 26624 -0.001500 -0.300000 1.100000 0 -0.200000 1.500000 0
+ L3 26624 -0.001500 0.700000 1.800000 0 0.900000 2.400000 0
+ L3 26624 -0.001500 1.200000 1.700000 0 1.800000 2.000000 0
+ L3 26624 -0.001500 2.700000 0.700000 0 2.200000 0.800000 0
+ L3 26624 -0.001500 2.700000 1.600000 0 2.200000 1.400000 0
+ L3 26624 -0.001500 2.900000 1.200000 0 2.400000 1.100000 0
+ L3 26624 -0.001500 1.200000 2.900000 0 1.100000 2.500000 0
+ L3 26624 -0.001500 1.800000 2.600000 0 1.500000 2.300000 0
+ L3 26624 -0.001500 1.400000 2.700000 0 1.200000 2.100000 0
+ L3 26624 -0.001500 3.000000 -0.500000 0 2.400000 -0.600000 0
+ L3 26624 -0.001500 2.500000 -1.300000 0 2.000000 -1.000000 0
+ L3 26624 -0.001500 3.000000 -1.000000 0 2.500000 -0.900000 0
+ L3 26624 -0.001500 -1.000000 2.800000 0 -0.900000 2.400000 0
+ L3 26624 -0.001500 -2.200000 1.400000 0 -1.900000 1.200000 0
+ L3 26624 -0.001500 1.400000 -3.200000 0 1.200000 -2.700000 0
+ L3 26624 -0.001500 1.800000 -2.900000 0 1.500000 -2.600000 0
+ END$SEGS
+STRUCTURE 303 3 0 0 0 Fn3 2 447.666667 550.083333 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 304 3 0 0 0 Fn3 2 431.666667 554.083333 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 305 3 0 0 0 Fn3 2 392.666667 564.083333 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 306 3 0 0 0 Fn3 2 418.666667 575.083333 0 0.000000 "LgTrees 10"" Shade Shade-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 2.317172 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.641330 4.620551 0
+ -0.648256 5.048124 0
+ 0.468951 3.668855 0
+ 1.751672 4.868819 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 4.565380 2.096489 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 4.096429 -2.993014 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.475818 -4.841234 0
+ 0.868939 -3.903331 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -2.551648 -4.261941 0
+ -2.317172 -3.144733 0
+ -3.875746 -3.034392 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 1.158586 0
+ -3.420587 1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 3.227489 0
+ 1.655123 4.192978 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 4.013673 1.503403 0
+ 4.137807 0.703427 0
+ 2.979221 -0.096549 0
+ 3.986087 -1.613745 0
+ 3.544721 -2.137867 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 1.434440 -3.903331 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.820635 -3.517136 0
+ -1.834428 -2.413721 0
+ -2.675782 -2.386135 0
+ -3.227489 -1.282720 0
+ -2.248208 -0.358610 0
+ -3.172319 0.124134 0
+ -3.020599 0.786183 0
+ -1.544781 1.062037 0
+ -2.110281 2.068903 0
+ -1.186171 2.786123 0
+ -0.813769 3.599892 0
+ L3 65280 -0.001500 -0.875000 4.250000 0 -0.375000 3.875000 0
+ L3 65280 -0.001500 -1.250000 4.000000 0 -1.375000 3.375000 0
+ L3 65280 -0.001500 -2.875000 2.625000 0 -2.000000 2.625000 0
+ L3 65280 -0.001500 -3.500000 2.375000 0 -3.125000 2.000000 0
+ L3 65280 -0.001500 -2.625000 2.125000 0 -2.125000 1.750000 0
+ L3 65280 -0.001500 -2.375000 1.375000 0 -3.125000 1.250000 0
+ L3 65280 -0.001500 -4.250000 1.000000 0 -3.375000 1.000000 0
+ L3 65280 -0.001500 -4.250000 0.250000 0 -3.500000 0.625000 0
+ L3 65280 -0.001500 -2.875000 -0.375000 0 -3.500000 -0.250000 0
+ L3 65280 -0.001500 -3.375000 -0.875000 0 -4.250000 -1.375000 0
+ L3 65280 -0.001500 -3.875000 -1.875000 0 -3.250000 -2.000000 0
+ L3 65280 -0.001500 -3.000000 -2.875000 0 -2.750000 -2.500000 0
+ L3 65280 -0.001500 -1.875000 -3.750000 0 -2.125000 -4.125000 0
+ L3 65280 -0.001500 -1.125000 -4.000000 0 -0.875000 -4.375000 0
+ L3 65280 -0.001500 -0.125000 -3.375000 0 0.000000 -3.750000 0
+ L3 65280 -0.001500 0.625000 -3.375000 0 0.250000 -3.625000 0
+ L3 65280 -0.001500 1.625000 -4.000000 0 1.500000 -4.500000 0
+ L3 65280 -0.001500 2.375000 -3.750000 0 2.750000 -3.875000 0
+ L3 65280 -0.001500 4.375000 -1.750000 0 4.000000 -1.875000 0
+ L3 65280 -0.001500 3.750000 -2.375000 0 4.000000 -2.750000 0
+ L3 65280 -0.001500 4.375000 0.375000 0 3.875000 0.250000 0
+ L3 65280 -0.001500 -3.500000 3.125000 0 -3.250000 2.625000 0
+ L3 65280 -0.001500 -4.000000 2.375000 0 -3.625000 2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 1.979214 0
+ 1.141169 1.747415 0
+ 1.052015 1.158999 0
+ 1.569107 1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 2.371491 0
+ -0.677569 1.961384 0
+ 0.089154 1.622599 0
+ 0.303123 2.121861 0
+ -0.089154 2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 -0.089154 0
+ 1.515615 -0.303123 0
+ 1.319476 0.160477 0
+ 2.585460 0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 -2.371491 0
+ 0.124815 -2.014876 0
+ 0.249631 -1.265984 0
+ 0.534923 -1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 -1.783076 0
+ 1.925722 -1.230323 0
+ 1.533445 -1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 -0.213969 0
+ -1.622599 -0.035662 0
+ -0.766723 0.178308 0
+ -0.303123 -0.303123 0
+ -1.372969 -0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 -2.068368 0
+ -1.141169 -1.943553 0
+ -0.784553 -1.105507 0
+ -1.337307 -1.248153 0
+ L3 26624 -0.001500 0.250000 2.750000 0 0.500000 2.375000 0
+ L3 26624 -0.001500 1.750000 2.375000 0 1.125000 2.125000 0
+ L3 26624 -0.001500 2.000000 3.000000 0 1.625000 2.750000 0
+ L3 26624 -0.001500 1.125000 3.250000 0 0.875000 2.750000 0
+ L3 26624 -0.001500 -0.500000 3.125000 0 -0.250000 2.750000 0
+ L3 26624 -0.001500 -1.500000 2.000000 0 -1.000000 2.000000 0
+ L3 26624 -0.001500 -1.125000 1.375000 0 -0.500000 1.625000 0
+ L3 26624 -0.001500 -1.500000 0.750000 0 -1.000000 0.375000 0
+ L3 26624 -0.001500 -2.250000 0.625000 0 -1.750000 0.375000 0
+ L3 26624 -0.001500 -2.875000 0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 -0.625000 0 -2.500000 -1.125000 0
+ L3 26624 -0.001500 -2.250000 -1.750000 0 -1.875000 -1.250000 0
+ L3 26624 -0.001500 -1.375000 -2.750000 0 -1.000000 -2.250000 0
+ L3 26624 -0.001500 -0.500000 -2.250000 0 -0.625000 -3.000000 0
+ L3 26624 -0.001500 -0.375000 -1.375000 0 -0.250000 -1.875000 0
+ L3 26624 -0.001500 0.875000 -2.250000 0 1.125000 -3.000000 0
+ L3 26624 -0.001500 1.500000 -2.125000 0 2.250000 -2.500000 0
+ L3 26624 -0.001500 3.375000 -0.875000 0 2.750000 -1.000000 0
+ L3 26624 -0.001500 3.375000 -2.000000 0 2.750000 -1.750000 0
+ L3 26624 -0.001500 3.625000 -1.500000 0 3.000000 -1.375000 0
+ L3 26624 -0.001500 1.500000 -3.625000 0 1.375000 -3.125000 0
+ L3 26624 -0.001500 2.250000 -3.250000 0 1.875000 -2.875000 0
+ L3 26624 -0.001500 1.750000 -3.375000 0 1.500000 -2.625000 0
+ L3 26624 -0.001500 3.750000 0.625000 0 3.000000 0.750000 0
+ L3 26624 -0.001500 3.125000 1.625000 0 2.500000 1.250000 0
+ L3 26624 -0.001500 3.750000 1.250000 0 3.125000 1.125000 0
+ L3 26624 -0.001500 -1.250000 -3.500000 0 -1.125000 -3.000000 0
+ L3 26624 -0.001500 -2.750000 -1.750000 0 -2.375000 -1.500000 0
+ L3 26624 -0.001500 1.750000 4.000000 0 1.500000 3.375000 0
+ L3 26624 -0.001500 2.250000 3.625000 0 1.875000 3.250000 0
+ END$SEGS
+STRUCTURE 307 3 0 0 0 Fn3 2 431.666667 580.083333 0 0.000000 "LgTrees 10"" Shade Shade-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 -2.317172 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.641330 -4.620551 0
+ -0.648256 -5.048124 0
+ 0.468951 -3.668855 0
+ 1.751672 -4.868819 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 4.565380 -2.096489 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 4.096429 2.993014 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.475818 4.841234 0
+ 0.868939 3.903331 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -2.551648 4.261941 0
+ -2.317172 3.144733 0
+ -3.875746 3.034392 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 -1.158586 0
+ -3.420587 -1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 -3.227489 0
+ 1.655123 -4.192978 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 4.013673 -1.503403 0
+ 4.137807 -0.703427 0
+ 2.979221 0.096549 0
+ 3.986087 1.613745 0
+ 3.544721 2.137867 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 1.434440 3.903331 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.820635 3.517136 0
+ -1.834428 2.413721 0
+ -2.675782 2.386135 0
+ -3.227489 1.282720 0
+ -2.248208 0.358610 0
+ -3.172319 -0.124134 0
+ -3.020599 -0.786183 0
+ -1.544781 -1.062037 0
+ -2.110281 -2.068903 0
+ -1.186171 -2.786123 0
+ -0.813769 -3.599892 0
+ L3 65280 -0.001500 -0.875000 -4.250000 0 -0.375000 -3.875000 0
+ L3 65280 -0.001500 -1.250000 -4.000000 0 -1.375000 -3.375000 0
+ L3 65280 -0.001500 -2.875000 -2.625000 0 -2.000000 -2.625000 0
+ L3 65280 -0.001500 -3.500000 -2.375000 0 -3.125000 -2.000000 0
+ L3 65280 -0.001500 -2.625000 -2.125000 0 -2.125000 -1.750000 0
+ L3 65280 -0.001500 -2.375000 -1.375000 0 -3.125000 -1.250000 0
+ L3 65280 -0.001500 -4.250000 -1.000000 0 -3.375000 -1.000000 0
+ L3 65280 -0.001500 -4.250000 -0.250000 0 -3.500000 -0.625000 0
+ L3 65280 -0.001500 -2.875000 0.375000 0 -3.500000 0.250000 0
+ L3 65280 -0.001500 -3.375000 0.875000 0 -4.250000 1.375000 0
+ L3 65280 -0.001500 -3.875000 1.875000 0 -3.250000 2.000000 0
+ L3 65280 -0.001500 -3.000000 2.875000 0 -2.750000 2.500000 0
+ L3 65280 -0.001500 -1.875000 3.750000 0 -2.125000 4.125000 0
+ L3 65280 -0.001500 -1.125000 4.000000 0 -0.875000 4.375000 0
+ L3 65280 -0.001500 -0.125000 3.375000 0 0.000000 3.750000 0
+ L3 65280 -0.001500 0.625000 3.375000 0 0.250000 3.625000 0
+ L3 65280 -0.001500 1.625000 4.000000 0 1.500000 4.500000 0
+ L3 65280 -0.001500 2.375000 3.750000 0 2.750000 3.875000 0
+ L3 65280 -0.001500 4.375000 1.750000 0 4.000000 1.875000 0
+ L3 65280 -0.001500 3.750000 2.375000 0 4.000000 2.750000 0
+ L3 65280 -0.001500 4.375000 -0.375000 0 3.875000 -0.250000 0
+ L3 65280 -0.001500 -3.500000 -3.125000 0 -3.250000 -2.625000 0
+ L3 65280 -0.001500 -4.000000 -2.375000 0 -3.625000 -2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 -1.979214 0
+ 1.141169 -1.747415 0
+ 1.052015 -1.158999 0
+ 1.569107 -1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 -2.371491 0
+ -0.677569 -1.961384 0
+ 0.089154 -1.622599 0
+ 0.303123 -2.121861 0
+ -0.089154 -2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 0.089154 0
+ 1.515615 0.303123 0
+ 1.319476 -0.160477 0
+ 2.585460 -0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 2.371491 0
+ 0.124815 2.014876 0
+ 0.249631 1.265984 0
+ 0.534923 1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 1.783076 0
+ 1.925722 1.230323 0
+ 1.533445 1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 0.213969 0
+ -1.622599 0.035662 0
+ -0.766723 -0.178308 0
+ -0.303123 0.303123 0
+ -1.372969 0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 2.068368 0
+ -1.141169 1.943553 0
+ -0.784553 1.105507 0
+ -1.337307 1.248153 0
+ L3 26624 -0.001500 0.250000 -2.750000 0 0.500000 -2.375000 0
+ L3 26624 -0.001500 1.750000 -2.375000 0 1.125000 -2.125000 0
+ L3 26624 -0.001500 2.000000 -3.000000 0 1.625000 -2.750000 0
+ L3 26624 -0.001500 1.125000 -3.250000 0 0.875000 -2.750000 0
+ L3 26624 -0.001500 -0.500000 -3.125000 0 -0.250000 -2.750000 0
+ L3 26624 -0.001500 -1.500000 -2.000000 0 -1.000000 -2.000000 0
+ L3 26624 -0.001500 -1.125000 -1.375000 0 -0.500000 -1.625000 0
+ L3 26624 -0.001500 -1.500000 -0.750000 0 -1.000000 -0.375000 0
+ L3 26624 -0.001500 -2.250000 -0.625000 0 -1.750000 -0.375000 0
+ L3 26624 -0.001500 -2.875000 -0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 0.625000 0 -2.500000 1.125000 0
+ L3 26624 -0.001500 -2.250000 1.750000 0 -1.875000 1.250000 0
+ L3 26624 -0.001500 -1.375000 2.750000 0 -1.000000 2.250000 0
+ L3 26624 -0.001500 -0.500000 2.250000 0 -0.625000 3.000000 0
+ L3 26624 -0.001500 -0.375000 1.375000 0 -0.250000 1.875000 0
+ L3 26624 -0.001500 0.875000 2.250000 0 1.125000 3.000000 0
+ L3 26624 -0.001500 1.500000 2.125000 0 2.250000 2.500000 0
+ L3 26624 -0.001500 3.375000 0.875000 0 2.750000 1.000000 0
+ L3 26624 -0.001500 3.375000 2.000000 0 2.750000 1.750000 0
+ L3 26624 -0.001500 3.625000 1.500000 0 3.000000 1.375000 0
+ L3 26624 -0.001500 1.500000 3.625000 0 1.375000 3.125000 0
+ L3 26624 -0.001500 2.250000 3.250000 0 1.875000 2.875000 0
+ L3 26624 -0.001500 1.750000 3.375000 0 1.500000 2.625000 0
+ L3 26624 -0.001500 3.750000 -0.625000 0 3.000000 -0.750000 0
+ L3 26624 -0.001500 3.125000 -1.625000 0 2.500000 -1.250000 0
+ L3 26624 -0.001500 3.750000 -1.250000 0 3.125000 -1.125000 0
+ L3 26624 -0.001500 -1.250000 3.500000 0 -1.125000 3.000000 0
+ L3 26624 -0.001500 -2.750000 1.750000 0 -2.375000 1.500000 0
+ L3 26624 -0.001500 1.750000 -4.000000 0 1.500000 -3.375000 0
+ L3 26624 -0.001500 2.250000 -3.625000 0 1.875000 -3.250000 0
+ END$SEGS
+STRUCTURE 308 3 0 0 0 Fn3 2 438.666667 541.083333 0 0.000000 "LgTrees 10"" Shade Shade-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -4.303319 -2.317172 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.641330 -4.620551 0
+ -0.648256 -5.048124 0
+ 0.468951 -3.668855 0
+ 1.751672 -4.868819 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 4.565380 -2.096489 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 4.096429 2.993014 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.475818 4.841234 0
+ 0.868939 3.903331 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -2.551648 4.261941 0
+ -2.317172 3.144733 0
+ -3.875746 3.034392 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -4.648136 -1.158586 0
+ -3.420587 -1.599952 0
+ F4 65280 0.000000 26 0
+ 0.689634 -3.227489 0
+ 1.655123 -4.192978 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 4.013673 -1.503403 0
+ 4.137807 -0.703427 0
+ 2.979221 0.096549 0
+ 3.986087 1.613745 0
+ 3.544721 2.137867 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 1.434440 3.903331 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.820635 3.517136 0
+ -1.834428 2.413721 0
+ -2.675782 2.386135 0
+ -3.227489 1.282720 0
+ -2.248208 0.358610 0
+ -3.172319 -0.124134 0
+ -3.020599 -0.786183 0
+ -1.544781 -1.062037 0
+ -2.110281 -2.068903 0
+ -1.186171 -2.786123 0
+ -0.813769 -3.599892 0
+ L3 65280 -0.001500 -0.875000 -4.250000 0 -0.375000 -3.875000 0
+ L3 65280 -0.001500 -1.250000 -4.000000 0 -1.375000 -3.375000 0
+ L3 65280 -0.001500 -2.875000 -2.625000 0 -2.000000 -2.625000 0
+ L3 65280 -0.001500 -3.500000 -2.375000 0 -3.125000 -2.000000 0
+ L3 65280 -0.001500 -2.625000 -2.125000 0 -2.125000 -1.750000 0
+ L3 65280 -0.001500 -2.375000 -1.375000 0 -3.125000 -1.250000 0
+ L3 65280 -0.001500 -4.250000 -1.000000 0 -3.375000 -1.000000 0
+ L3 65280 -0.001500 -4.250000 -0.250000 0 -3.500000 -0.625000 0
+ L3 65280 -0.001500 -2.875000 0.375000 0 -3.500000 0.250000 0
+ L3 65280 -0.001500 -3.375000 0.875000 0 -4.250000 1.375000 0
+ L3 65280 -0.001500 -3.875000 1.875000 0 -3.250000 2.000000 0
+ L3 65280 -0.001500 -3.000000 2.875000 0 -2.750000 2.500000 0
+ L3 65280 -0.001500 -1.875000 3.750000 0 -2.125000 4.125000 0
+ L3 65280 -0.001500 -1.125000 4.000000 0 -0.875000 4.375000 0
+ L3 65280 -0.001500 -0.125000 3.375000 0 0.000000 3.750000 0
+ L3 65280 -0.001500 0.625000 3.375000 0 0.250000 3.625000 0
+ L3 65280 -0.001500 1.625000 4.000000 0 1.500000 4.500000 0
+ L3 65280 -0.001500 2.375000 3.750000 0 2.750000 3.875000 0
+ L3 65280 -0.001500 4.375000 1.750000 0 4.000000 1.875000 0
+ L3 65280 -0.001500 3.750000 2.375000 0 4.000000 2.750000 0
+ L3 65280 -0.001500 4.375000 -0.375000 0 3.875000 -0.250000 0
+ L3 65280 -0.001500 -3.500000 -3.125000 0 -3.250000 -2.625000 0
+ L3 65280 -0.001500 -4.000000 -2.375000 0 -3.625000 -2.625000 0
+ F4 26624 0.000000 4 0
+ 1.925722 -1.979214 0
+ 1.141169 -1.747415 0
+ 1.052015 -1.158999 0
+ 1.569107 -1.372969 0
+ F4 26624 0.000000 5 0
+ -0.748892 -2.371491 0
+ -0.677569 -1.961384 0
+ 0.089154 -1.622599 0
+ 0.303123 -2.121861 0
+ -0.089154 -2.496307 0
+ F4 26624 0.000000 4 0
+ 2.442814 0.089154 0
+ 1.515615 0.303123 0
+ 1.319476 -0.160477 0
+ 2.585460 -0.231800 0
+ F4 26624 0.000000 4 0
+ 0.588415 2.371491 0
+ 0.124815 2.014876 0
+ 0.249631 1.265984 0
+ 0.534923 1.372969 0
+ F4 26624 0.000000 3 0
+ 2.175353 1.783076 0
+ 1.925722 1.230323 0
+ 1.533445 1.569107 0
+ F4 26624 0.000000 5 0
+ -1.872230 0.213969 0
+ -1.622599 0.035662 0
+ -0.766723 -0.178308 0
+ -0.303123 0.303123 0
+ -1.372969 0.463600 0
+ F4 26624 0.000000 4 0
+ -1.640430 2.068368 0
+ -1.141169 1.943553 0
+ -0.784553 1.105507 0
+ -1.337307 1.248153 0
+ L3 26624 -0.001500 0.250000 -2.750000 0 0.500000 -2.375000 0
+ L3 26624 -0.001500 1.750000 -2.375000 0 1.125000 -2.125000 0
+ L3 26624 -0.001500 2.000000 -3.000000 0 1.625000 -2.750000 0
+ L3 26624 -0.001500 1.125000 -3.250000 0 0.875000 -2.750000 0
+ L3 26624 -0.001500 -0.500000 -3.125000 0 -0.250000 -2.750000 0
+ L3 26624 -0.001500 -1.500000 -2.000000 0 -1.000000 -2.000000 0
+ L3 26624 -0.001500 -1.125000 -1.375000 0 -0.500000 -1.625000 0
+ L3 26624 -0.001500 -1.500000 -0.750000 0 -1.000000 -0.375000 0
+ L3 26624 -0.001500 -2.250000 -0.625000 0 -1.750000 -0.375000 0
+ L3 26624 -0.001500 -2.875000 -0.250000 0 -2.250000 0.000000 0
+ L3 26624 -0.001500 -2.000000 0.625000 0 -2.500000 1.125000 0
+ L3 26624 -0.001500 -2.250000 1.750000 0 -1.875000 1.250000 0
+ L3 26624 -0.001500 -1.375000 2.750000 0 -1.000000 2.250000 0
+ L3 26624 -0.001500 -0.500000 2.250000 0 -0.625000 3.000000 0
+ L3 26624 -0.001500 -0.375000 1.375000 0 -0.250000 1.875000 0
+ L3 26624 -0.001500 0.875000 2.250000 0 1.125000 3.000000 0
+ L3 26624 -0.001500 1.500000 2.125000 0 2.250000 2.500000 0
+ L3 26624 -0.001500 3.375000 0.875000 0 2.750000 1.000000 0
+ L3 26624 -0.001500 3.375000 2.000000 0 2.750000 1.750000 0
+ L3 26624 -0.001500 3.625000 1.500000 0 3.000000 1.375000 0
+ L3 26624 -0.001500 1.500000 3.625000 0 1.375000 3.125000 0
+ L3 26624 -0.001500 2.250000 3.250000 0 1.875000 2.875000 0
+ L3 26624 -0.001500 1.750000 3.375000 0 1.500000 2.625000 0
+ L3 26624 -0.001500 3.750000 -0.625000 0 3.000000 -0.750000 0
+ L3 26624 -0.001500 3.125000 -1.625000 0 2.500000 -1.250000 0
+ L3 26624 -0.001500 3.750000 -1.250000 0 3.125000 -1.125000 0
+ L3 26624 -0.001500 -1.250000 3.500000 0 -1.125000 3.000000 0
+ L3 26624 -0.001500 -2.750000 1.750000 0 -2.375000 1.500000 0
+ L3 26624 -0.001500 1.750000 -4.000000 0 1.500000 -3.375000 0
+ L3 26624 -0.001500 2.250000 -3.625000 0 1.875000 -3.250000 0
+ END$SEGS
+STRAIGHT 309 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 83 420.336087 565.288023 276.999848 0 0.0 0.0 0.0 0.0 0 0 0 49.660152
+ T4 317 425.540440 564.645794 96.999173 0 0.0 0.0 0.0 0.0 0 0 0 49.660152
+ END$SEGS
+TURNOUT 310 0 0 0 0 Fn3 2 476.056688 284.404967 0 288.112394 "Trout Bridge 51-A B-51-A"
+ T4 769 458.733383 292.828083 230.238474 0 0.0 0.0 0.0 0.0 0 0 0 91.929661
+ T4 49 482.541301 365.604625 345.991110 9 14.767987 9.054128 91.200000 91.200000 1 1 0 91.929661
+ D 0.000000 0.000000
+ P "Normal" 1
+ C 0 0.000000 -72.000000 40.908672 80.058864 147.878716 64.247364
+ F4 8553090 0.000000 4 0
+ 0.448516 15.620181 0
+ 4.964148 22.821505 0
+ 5.493657 22.489474 0
+ 0.978026 15.288149 0
+ F4 8553090 0.000000 4 0
+ 13.637918 19.078181 0
+ 9.347852 9.604252 0
+ 8.778505 9.862069 0
+ 13.068572 19.335998 0
+ F4 8553090 0.000000 4 0
+ 22.191097 17.185101 0
+ 18.480530 4.934726 0
+ 17.882367 5.115906 0
+ 21.592934 17.366281 0
+ F4 8553090 0.000000 4 0
+ 30.711990 16.166647 0
+ 28.341457 1.760379 0
+ 27.724750 1.861857 0
+ 30.095283 16.268125 0
+ F4 8553090 0.000000 4 0
+ 39.480077 16.171778 0
+ 38.959529 -0.019857 0
+ 38.334852 0.000226 0
+ 38.855400 16.191861 0
+ F4 8553090 0.000000 4 0
+ 38.334852 0.000226 0
+ 37.710174 0.020309 0
+ 38.230722 16.211943 0
+ 38.855400 16.191861 0
+ F4 8553090 0.000000 8 0
+ 51.367910 16.919301 0
+ 51.984507 17.021442 0
+ 54.599317 1.236552 0
+ 53.982719 1.134411 0
+ 51.367910 16.919301 0
+ 50.751313 16.817160 0
+ 53.366122 1.032270 0
+ 53.982719 1.134411 0
+ F4 8553090 0.000000 4 0
+ 63.456836 4.763224 0
+ 59.619843 17.393248 0
+ 60.218608 17.572430 0
+ 64.055600 4.942407 0
+ F4 8553090 0.000000 4 0
+ 72.459235 9.709239 0
+ 73.028468 9.967307 0
+ 68.816810 19.257190 0
+ 68.247577 18.999123 0
+ F4 8553090 0.000000 4 0
+ 80.977084 14.994772 0
+ 76.515625 22.229783 0
+ 77.047611 22.557831 0
+ 81.509070 15.322821 0
+ END$SEGS
+TURNOUT 311 0 0 0 0 Fn3 2 111.008154 539.727463 0 349.999992 "High Bridge 46-D B-46-D"
+ T4 41 111.008154 539.727463 259.999992 10 -9.133154 5.897537 0.0 0.0 1 2 0 73.211563
+ T4 40 176.005466 551.188243 79.999992 10 -13.505466 8.311757 0.0 0.0 1 2 0 73.211563
+ D 0.000000 0.000000
+ P "Normal" 1
+ S 0 0.000000 0.000000 0.000000 66.000000 0.000000
+ L3 0 0.000000 66.000000 2.500000 0 0.000000 2.500000 0
+ L3 0 0.000000 66.000000 -2.500000 0 0.000000 -2.500000 0
+ F4 8553090 0.000000 4 0
+ 0.375000 -3.000000 0
+ 0.375000 3.000000 0
+ 1.000000 3.000000 0
+ 1.000000 -3.000000 0
+ F4 8553090 0.000000 4 0
+ 9.000000 -4.000000 0
+ 9.000000 4.000000 0
+ 8.375000 4.000000 0
+ 8.375000 -4.000000 0
+ F4 8553090 0.000000 4 0
+ 16.375000 -5.000000 0
+ 16.375000 5.000000 0
+ 17.000000 5.000000 0
+ 17.000000 -5.000000 0
+ F4 8553090 0.000000 4 0
+ 24.375000 -6.000000 0
+ 24.375000 6.000000 0
+ 25.000000 6.000000 0
+ 25.000000 -6.000000 0
+ F4 8553090 0.000000 4 0
+ 33.000000 -6.000000 0
+ 33.000000 6.000000 0
+ 32.375000 6.000000 0
+ 32.375000 -6.000000 0
+ F4 8553090 0.000000 4 0
+ 65.625000 -3.000000 0
+ 65.625000 3.000000 0
+ 65.000000 3.000000 0
+ 65.000000 -3.000000 0
+ F4 8553090 0.000000 4 0
+ 57.000000 -4.000000 0
+ 57.000000 4.000000 0
+ 57.625000 4.000000 0
+ 57.625000 -4.000000 0
+ F4 8553090 0.000000 4 0
+ 49.625000 -5.000000 0
+ 49.625000 5.000000 0
+ 49.000000 5.000000 0
+ 49.000000 -5.000000 0
+ F4 8553090 0.000000 4 0
+ 41.625000 -6.000000 0
+ 41.625000 6.000000 0
+ 41.000000 6.000000 0
+ 41.000000 -6.000000 0
+ END$SEGS
+TURNOUT 312 0 0 0 0 Fn3 2 206.865394 551.592213 0 8.500000 "High Bridge 46-C B-46-C"
+ T4 40 206.865394 551.592213 278.500000 10 2.384606 10.407779 0.0 0.0 1 2 0 70.468357
+ T4 39 278.074537 540.949944 98.500000 0 0.0 0.0 0.0 0.0 0 0 0 70.468357
+ D 0.000000 0.000000
+ P "Normal" 1
+ S 0 0.000000 0.000000 0.000000 72.000000 0.000000
+ F4 8553090 0.000000 4 0
+ -0.200000 2.500000 0
+ 72.200000 2.500000 0
+ 72.200000 2.200000 0
+ -0.200000 2.200000 0
+ F4 8553090 0.000000 4 0
+ -0.200000 -2.200000 0
+ 72.200000 -2.200000 0
+ 72.200000 -2.500000 0
+ -0.200000 -2.500000 0
+ F4 8553090 0.000000 4 0
+ 0.000000 3.500000 0
+ 0.600000 3.500000 0
+ 0.600000 -3.500000 0
+ 0.000000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 5.800000 3.500000 0
+ 6.400000 3.500000 0
+ 6.400000 -3.500000 0
+ 5.800000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 11.600000 3.500000 0
+ 12.200000 3.500000 0
+ 12.200000 -3.500000 0
+ 11.600000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 17.400000 3.500000 0
+ 18.000000 3.500000 0
+ 18.000000 -3.500000 0
+ 17.400000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 23.200000 3.500000 0
+ 23.800000 3.500000 0
+ 23.800000 -3.500000 0
+ 23.200000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 29.000000 3.500000 0
+ 29.600000 3.500000 0
+ 29.600000 -3.500000 0
+ 29.000000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 34.800000 3.500000 0
+ 35.400000 3.500000 0
+ 35.400000 -3.500000 0
+ 34.800000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 36.600000 3.500000 0
+ 37.200000 3.500000 0
+ 37.200000 -3.500000 0
+ 36.600000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 42.400000 3.500000 0
+ 43.000000 3.500000 0
+ 43.000000 -3.500000 0
+ 42.400000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 48.200000 3.500000 0
+ 48.800000 3.500000 0
+ 48.800000 -3.500000 0
+ 48.200000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 54.000000 3.500000 0
+ 54.600000 3.500000 0
+ 54.600000 -3.500000 0
+ 54.000000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 59.800000 3.500000 0
+ 60.400000 3.500000 0
+ 60.400000 -3.500000 0
+ 59.800000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 65.600000 3.500000 0
+ 66.200000 3.500000 0
+ 66.200000 -3.500000 0
+ 65.600000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 71.400000 3.500000 0
+ 72.000000 3.500000 0
+ 72.000000 -3.500000 0
+ 71.400000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 35.700000 -2.500000 0
+ 36.300000 -2.500000 0
+ 36.300000 -8.500000 0
+ 35.700000 -8.500000 0
+ F4 8553090 0.000000 4 0
+ 34.800000 -3.500000 0
+ 35.400000 -3.500000 0
+ 35.400000 -8.500000 0
+ 34.800000 -8.500000 0
+ F4 8553090 0.000000 4 0
+ 36.600000 -3.500000 0
+ 37.200000 -3.500000 0
+ 37.200000 -8.500000 0
+ 36.600000 -8.500000 0
+ F4 8553090 0.000000 4 0
+ 35.700000 2.500000 0
+ 36.300000 2.500000 0
+ 36.300000 8.500000 0
+ 35.700000 8.500000 0
+ F4 8553090 0.000000 4 0
+ 34.800000 3.500000 0
+ 35.400000 3.500000 0
+ 35.400000 8.500000 0
+ 34.800000 8.500000 0
+ F4 8553090 0.000000 4 0
+ 36.600000 3.500000 0
+ 37.200000 3.500000 0
+ 37.200000 8.500000 0
+ 36.600000 8.500000 0
+ END$SEGS
+TURNOUT 313 0 0 0 0 Fn3 2 301.810916 537.402510 0 8.500000 "High Bridge 46-B B-46-B"
+ T4 39 301.810916 537.402510 278.500000 0 0.0 0.0 0.0 0.0 0 0 0 67.999398
+ T4 336 361.151869 528.533953 98.500000 10 1.289798 9.476464 0.0 0.0 1 2 0 67.999398
+ D 0.000000 0.000000
+ P "Normal" 1
+ S 0 0.000000 0.000000 0.000000 60.000000 0.000000
+ L3 0 0.000000 45.900000 2.500000 0 45.900000 6.200000 0
+ L3 0 0.000000 45.900000 6.200000 0 47.800000 6.200000 0
+ L3 0 0.000000 47.800000 6.200000 0 47.800000 2.500000 0
+ L3 0 0.000000 45.900000 -2.500000 0 45.900000 -6.200000 0
+ L3 0 0.000000 45.900000 -6.200000 0 47.800000 -6.200000 0
+ L3 0 0.000000 47.800000 -6.200000 0 47.800000 -2.500000 0
+ F4 8553090 0.000000 4 0
+ 0.000000 3.500000 0
+ 0.600000 3.500000 0
+ 0.600000 -3.500000 0
+ 0.000000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 5.800000 3.500000 0
+ 6.400000 3.500000 0
+ 6.400000 -3.500000 0
+ 5.800000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 11.600000 3.500000 0
+ 12.200000 3.500000 0
+ 12.200000 -3.500000 0
+ 11.600000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 17.400000 3.500000 0
+ 18.000000 3.500000 0
+ 18.000000 -3.500000 0
+ 17.400000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 23.200000 3.500000 0
+ 23.800000 3.500000 0
+ 23.800000 -3.500000 0
+ 23.200000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 29.000000 3.500000 0
+ 29.600000 3.500000 0
+ 29.600000 -3.500000 0
+ 29.000000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ -0.200000 -2.200000 0
+ 60.200000 -2.200000 0
+ 60.200000 -2.500000 0
+ -0.200000 -2.500000 0
+ F4 8553090 0.000000 4 0
+ -0.200000 2.500000 0
+ 60.200000 2.500000 0
+ 60.200000 2.200000 0
+ -0.200000 2.200000 0
+ F4 8553090 0.000000 4 0
+ 34.800000 3.500000 0
+ 35.400000 3.500000 0
+ 35.400000 -3.500000 0
+ 34.800000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 40.600000 3.500000 0
+ 41.200000 3.500000 0
+ 41.200000 -3.500000 0
+ 40.600000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 46.100000 3.500000 0
+ 46.700000 3.500000 0
+ 46.700000 -3.500000 0
+ 46.100000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 47.000000 3.500000 0
+ 47.600000 3.500000 0
+ 47.600000 -3.500000 0
+ 47.000000 -3.500000 0
+ F4 8553090 0.000000 4 0
+ 46.100000 3.500000 0
+ 46.700000 3.500000 0
+ 46.700000 6.000000 0
+ 46.100000 6.000000 0
+ F4 8553090 0.000000 4 0
+ 47.000000 3.500000 0
+ 47.600000 3.500000 0
+ 47.600000 6.000000 0
+ 47.000000 6.000000 0
+ F4 8553090 0.000000 4 0
+ 46.100000 -3.500000 0
+ 46.700000 -3.500000 0
+ 46.700000 -6.000000 0
+ 46.100000 -6.000000 0
+ F4 8553090 0.000000 4 0
+ 47.000000 -3.500000 0
+ 47.600000 -3.500000 0
+ 47.600000 -6.000000 0
+ 47.000000 -6.000000 0
+ F4 8553090 0.000000 4 0
+ 59.400000 3.500000 0
+ 60.000000 3.500000 0
+ 60.000000 -3.500000 0
+ 59.400000 -3.500000 0
+ END$SEGS
+DRAW 314 7 0 0 0 590.375000 637.270833 0 0.000000
+ Z 0 0.000000 0.000000 0.000000 1 350.000000 "Bridge 39-A"
+ END$SEGS
+TURNOUT 315 0 0 0 0 Fn3 2 620.954924 534.512028 0 21.999173 "NMRA G #4 Right 4R"
+ T4 316 620.954924 534.512028 291.999173 0 0.0 0.0 0.0 0.0 0 0 0 55.315626
+ T4 86 640.936164 526.439426 111.999173 0 0.0 0.0 0.0 0.0 0 0 0 55.315626
+ T4 33 639.235793 523.387493 126.249206 0 0.0 0.0 0.0 0.0 0 0 0 55.315626
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 21.550333 0.000000
+ C 0 0.000000 45.576853 1.770060 -45.576853 0.000000 14.250185
+ S 0 0.000000 12.989026 -1.402392 21.117000 -3.466667
+ END$SEGS
+STRAIGHT 316 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 315 620.954924 534.512028 111.999436 0 0.0 0.0 0.0 0.0 0 0 0 54.949714
+ T4 317 616.690827 536.234778 291.999436 0 0.0 0.0 0.0 0.0 0 0 0 54.949714
+ END$SEGS
+TURNOUT 317 0 0 0 0 Fn3 2 425.540440 564.645794 0 6.999848 "Ophir Bridge 45-A B-45-A"
+ T4 309 425.540440 564.645794 276.999848 0 0.0 0.0 0.0 0.0 0 0 0 52.309228
+ T4 316 616.690493 536.232526 111.999848 0 0.0 0.0 0.0 0.0 0 0 0 52.309228
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ S 0 0.000000 0.000000 0.000000 155.918000 0.000000
+ C 0 0.000000 144.000000 155.918000 -144.000000 0.000000 15.000000
+ F4 8553090 0.000000 4 0
+ 192.061808 -7.893013 0
+ 193.705309 -1.759384 0
+ 194.309013 -1.921146 0
+ 192.665512 -8.054775 0
+ F4 8553090 0.000000 4 0
+ 182.497328 -8.762877 0
+ 184.906694 3.349821 0
+ 185.519684 3.227890 0
+ 183.110319 -8.884809 0
+ F4 8553090 0.000000 4 0
+ 173.334437 -9.296959 0
+ 175.468540 6.913164 0
+ 176.088193 6.831585 0
+ 173.954090 -9.378538 0
+ F4 8553090 0.000000 4 0
+ 164.487147 -8.446290 0
+ 165.556488 7.868703 0
+ 166.180150 7.827826 0
+ 165.110808 -8.487167 0
+ F4 8553090 0.000000 4 0
+ 155.603163 -8.000000 0
+ 155.603163 8.000000 0
+ 156.228163 8.000000 0
+ 156.228163 -8.000000 0
+ F4 8553090 0.000000 4 0
+ 146.103163 -8.000000 0
+ 146.103163 8.000000 0
+ 146.728163 8.000000 0
+ 146.728163 -8.000000 0
+ F4 8553090 0.000000 4 0
+ 136.603163 -8.000000 0
+ 136.603163 8.000000 0
+ 137.228163 8.000000 0
+ 137.228163 -8.000000 0
+ F4 8553090 0.000000 4 0
+ 127.728163 -8.000000 0
+ 127.728163 8.000000 0
+ 128.353163 8.000000 0
+ 128.353163 -8.000000 0
+ F4 8553090 0.000000 4 0
+ 127.628163 -8.000000 0
+ 127.628163 8.000000 0
+ 127.003163 8.000000 0
+ 127.003163 -8.000000 0
+ F4 8553090 0.000000 4 0
+ 115.728163 -7.789063 0
+ 115.103163 -7.789064 0
+ 115.103138 1.679686 0
+ 115.728163 1.679688 0
+ F4 8553090 0.000000 4 0
+ 115.728163 4.492188 0
+ 115.103163 4.492186 0
+ 115.103163 8.992186 0
+ 115.728163 8.992188 0
+ F4 8553090 0.000000 4 0
+ 118.114829 -8.337108 0
+ 112.086473 8.080192 0
+ 112.673171 8.295625 0
+ 118.701527 -8.121675 0
+ F4 8553090 0.000000 6 0
+ 91.103163 7.804687 0
+ 91.103163 -7.820313 0
+ 91.728163 -7.804688 0
+ 91.728163 7.804687 0
+ 91.103163 7.804687 0
+ 91.103163 -7.820313 0
+ F4 8553090 0.000000 4 0
+ 94.301697 8.187908 0
+ 100.330053 -8.229392 0
+ 99.743356 -8.444824 0
+ 93.714999 7.972476 0
+ F4 8553090 0.000000 4 0
+ 94.486038 8.255598 0
+ 95.072736 8.471030 0
+ 101.101092 -7.946270 0
+ 100.514394 -8.161702 0
+ F4 8553090 0.000000 4 0
+ 79.728163 -8.507813 0
+ 79.103163 -8.507813 0
+ 79.103163 -3.789063 0
+ 79.728163 -3.789063 0
+ F4 8553090 0.000000 4 0
+ 79.728163 -1.914063 0
+ 79.103163 -1.914063 0
+ 79.103163 7.804687 0
+ 79.728163 7.804687 0
+ F4 8553090 0.000000 4 0
+ 76.117723 8.080192 0
+ 76.704421 8.295625 0
+ 82.732777 -8.121675 0
+ 82.146079 -8.337108 0
+ F4 8553090 0.000000 4 0
+ 67.103163 -8.000000 0
+ 67.103163 8.000000 0
+ 66.478163 8.000000 0
+ 66.478163 -8.000000 0
+ F4 8553090 0.000000 4 0
+ 48.103163 -8.000000 0
+ 48.103163 8.000000 0
+ 47.478163 8.000000 0
+ 47.478163 -8.000000 0
+ F4 8553090 0.000000 4 0
+ 57.603163 -8.000000 0
+ 57.603163 8.000000 0
+ 56.978163 8.000000 0
+ 56.978163 -8.000000 0
+ F4 8553090 0.000000 4 0
+ 37.978163 -7.000000 0
+ 37.978163 7.000000 0
+ 38.603163 7.000000 0
+ 38.603163 -7.000000 0
+ F4 8553090 0.000000 4 0
+ 0.000000 -3.000000 0
+ 0.000000 3.000000 0
+ 0.625000 3.000000 0
+ 0.625000 -3.000000 0
+ F4 8553090 0.000000 4 0
+ 28.478163 -6.000000 0
+ 28.478163 6.000000 0
+ 29.103163 6.000000 0
+ 29.103163 -6.000000 0
+ F4 8553090 0.000000 4 0
+ 18.978163 -5.000000 0
+ 18.978163 5.000000 0
+ 19.603163 5.000000 0
+ 19.603163 -5.000000 0
+ F4 8553090 0.000000 4 0
+ 10.103163 -4.000000 0
+ 10.103163 4.000000 0
+ 9.478163 4.000000 0
+ 9.478163 -4.000000 0
+ F4 8553090 0.000000 4 0
+ 118.853163 -6.632813 0
+ 118.853163 -7.007813 0
+ 80.853163 -7.007813 0
+ 80.853163 -6.632813 0
+ F4 8553090 0.000000 4 0
+ 118.853163 -6.007813 0
+ 118.853163 -6.382813 0
+ 80.853163 -6.382813 0
+ 80.853163 -6.007813 0
+ F4 8553090 0.000000 4 0
+ 118.103163 -4.632813 0
+ 118.103163 -5.007813 0
+ 80.103163 -5.007813 0
+ 80.103163 -4.632813 0
+ F4 8553090 0.000000 4 0
+ 118.103163 -4.007813 0
+ 118.103163 -4.382813 0
+ 80.103163 -4.382813 0
+ 80.103163 -4.007813 0
+ F4 8553090 0.000000 4 0
+ 116.853163 -1.132813 0
+ 116.853163 -1.507813 0
+ 78.853163 -1.507813 0
+ 78.853163 -1.132813 0
+ F4 8553090 0.000000 4 0
+ 116.853163 -0.507813 0
+ 116.853163 -0.882813 0
+ 78.853163 -0.882813 0
+ 78.853163 -0.507813 0
+ F4 8553090 0.000000 4 0
+ 116.103163 0.867187 0
+ 116.103163 0.492187 0
+ 78.103163 0.492187 0
+ 78.103163 0.867187 0
+ F4 8553090 0.000000 4 0
+ 116.103163 1.492187 0
+ 116.103163 1.117187 0
+ 78.103163 1.117187 0
+ 78.103163 1.492187 0
+ F4 8553090 0.000000 4 0
+ 114.853163 4.367187 0
+ 114.853163 3.992187 0
+ 76.853163 3.992187 0
+ 76.853163 4.367187 0
+ F4 8553090 0.000000 4 0
+ 114.853163 4.992187 0
+ 114.853163 4.617187 0
+ 76.853163 4.617187 0
+ 76.853163 4.992187 0
+ F4 8553090 0.000000 4 0
+ 114.103163 6.367187 0
+ 114.103163 5.992187 0
+ 76.103163 5.992187 0
+ 76.103163 6.367187 0
+ F4 8553090 0.000000 4 0
+ 114.103163 6.992187 0
+ 114.103163 6.617187 0
+ 76.103163 6.617187 0
+ 76.103163 6.992187 0
+ F4 8553090 0.000000 4 0
+ 67.823163 -8.000000 0
+ 67.198163 -8.000000 0
+ 67.198163 8.000000 0
+ 67.823163 8.000000 0
+ F4 8553090 0.000000 4 0
+ 103.728163 7.804687 0
+ 103.728163 -7.789094 0
+ 103.103163 -7.789096 0
+ 103.103163 7.804687 0
+ A3 0 0.000000 141.500000 155.918163 -144.000000 0 0.000000 15.125524
+ A3 0 0.000000 146.500000 155.918163 -144.000000 0 0.000000 15.121240
+ L3 0 0.000000 155.918163 -2.500000 0 0.000000 -2.500000 0
+ L3 0 0.000000 155.918163 2.500000 0 0.000000 2.500000 0
+ END$SEGS
+TURNOUT 318 0 0 0 0 Fn3 2 84.035389 624.618957 0 309.999943 "Ophir Butterfly B-Bfly"
+ T4 319 83.920084 629.837084 149.001263 0 0.0 0.0 0.0 0.0 0 0 0 37.708657
+ T4 54 172.608632 733.675665 111.999943 10 -0.233632 12.199335 0.0 0.0 1 2 0 37.708657
+ D 0.000000 0.000000
+ P "Normal" 1
+ C 0 0.000000 72.000000 72.000000 -20.000000 289.001320 142.998680
+ F4 8553090 0.000000 4 0
+ 7.934941 2.041513 0
+ -0.089816 4.843884 0
+ 0.116241 5.433940 0
+ 8.140997 2.631569 0
+ F4 8553090 0.000000 4 0
+ 136.244252 1.513629 0
+ 144.316695 4.175521 0
+ 144.512422 3.581959 0
+ 136.439979 0.920067 0
+ F4 8553090 0.000000 4 0
+ 120.782842 21.621480 0
+ 132.714491 31.902446 0
+ 132.306516 32.375924 0
+ 120.374867 22.094958 0
+ F4 8553090 0.000000 4 0
+ 30.378520 28.782842 0
+ 20.097554 40.714491 0
+ 19.624076 40.306516 0
+ 29.905042 28.374867 0
+ F4 8553090 0.000000 4 0
+ 24.367159 22.932805 0
+ 12.616755 33.420441 0
+ 12.200579 32.954155 0
+ 23.950983 22.466519 0
+ F4 8553090 0.000000 4 0
+ 127.784371 16.200160 0
+ 136.983519 22.231386 0
+ 136.640835 22.754065 0
+ 127.441688 16.722839 0
+ F4 8553090 0.000000 4 0
+ 132.032197 8.609141 0
+ 141.939878 13.388039 0
+ 141.668349 13.950976 0
+ 131.760669 9.172078 0
+ F4 8553090 0.000000 4 0
+ 12.757556 10.210602 0
+ 2.934788 15.161685 0
+ 2.653476 14.603573 0
+ 12.476245 9.652490 0
+ F4 8553090 0.000000 4 0
+ 17.207658 17.684837 0
+ 8.115171 23.875691 0
+ 7.763418 23.359073 0
+ 16.855905 17.168218 0
+ F4 8553090 0.000000 4 0
+ 37.881554 31.469328 0
+ 26.641542 48.613195 0
+ 27.164221 48.955878 0
+ 38.404233 31.812012 0
+ F4 8553090 0.000000 4 0
+ 107.011514 30.866040 0
+ 118.549015 47.811130 0
+ 118.032396 48.162883 0
+ 106.494895 31.217794 0
+ F4 8553090 0.000000 4 0
+ 76.264559 41.603358 0
+ 77.783783 62.046987 0
+ 78.407064 62.000669 0
+ 76.887840 41.557040 0
+ F4 8553090 0.000000 4 0
+ 67.563228 41.597536 0
+ 66.401026 62.064565 0
+ 67.025021 62.099998 0
+ 68.187223 41.632969 0
+ F4 8553090 0.000000 4 0
+ 53.552478 38.937512 0
+ 47.132620 58.406344 0
+ 46.539058 58.210617 0
+ 52.958916 38.741785 0
+ F4 8553090 0.000000 4 0
+ 44.891537 35.482352 0
+ 35.985409 53.946666 0
+ 36.548346 54.218194 0
+ 45.454474 35.753880 0
+ F4 8553090 0.000000 4 0
+ 114.932805 27.632841 0
+ 125.420441 39.383245 0
+ 124.954155 39.799421 0
+ 114.466519 28.049017 0
+ F4 8553090 0.000000 4 0
+ 93.052441 41.232792 0
+ 93.642497 41.026736 0
+ 98.423011 54.716027 0
+ 97.832956 54.922083 0
+ F4 8553090 0.000000 4 0
+ 59.615553 43.555374 0
+ 60.229584 43.671952 0
+ 57.524986 57.917483 0
+ 56.910954 57.800905 0
+ F4 8553090 0.000000 4 0
+ 104.077041 44.333975 0
+ 86.945087 50.316721 0
+ 86.868063 49.946411 0
+ 103.906797 43.996219 0
+ F4 8553090 0.000000 4 0
+ 104.899884 45.966466 0
+ 87.317373 52.106553 0
+ 87.240349 51.736243 0
+ 104.729640 45.628709 0
+ F4 8553090 0.000000 4 0
+ 49.330407 49.745583 0
+ 67.530345 53.200950 0
+ 67.508902 53.578577 0
+ 49.211958 50.104794 0
+ F4 8553090 0.000000 4 0
+ 67.612545 51.753377 0
+ 49.784465 48.368611 0
+ 49.902915 48.009400 0
+ 67.633988 51.375750 0
+ F4 8553090 0.000000 4 0
+ 86.945087 50.316721 0
+ 67.612545 51.753377 0
+ 67.633988 51.375750 0
+ 86.868063 49.946411 0
+ F4 8553090 0.000000 4 0
+ 87.317373 52.106553 0
+ 67.512427 53.594237 0
+ 67.530345 53.200950 0
+ 87.240349 51.736243 0
+ F4 8553090 0.000000 4 0
+ 88.357205 57.105740 0
+ 107.198169 50.526181 0
+ 107.368413 50.863937 0
+ 88.434230 57.476050 0
+ F4 8553090 0.000000 4 0
+ 87.984920 55.315908 0
+ 106.375326 48.893690 0
+ 106.545570 49.231447 0
+ 88.061944 55.686218 0
+ F4 8553090 0.000000 4 0
+ 87.612634 53.526075 0
+ 105.552483 47.261200 0
+ 105.722727 47.598956 0
+ 87.689659 53.896386 0
+ F4 8553090 0.000000 4 0
+ 86.495777 48.156579 0
+ 103.083954 42.363728 0
+ 103.254198 42.701485 0
+ 86.572802 48.526889 0
+ F4 8553090 0.000000 4 0
+ 86.123492 46.366747 0
+ 102.261111 40.731238 0
+ 102.431355 41.068994 0
+ 86.200516 46.737057 0
+ F4 8553090 0.000000 4 0
+ 85.751206 44.576915 0
+ 101.438269 39.098747 0
+ 101.608512 39.436504 0
+ 85.828231 44.947225 0
+ F4 8553090 0.000000 4 0
+ 99.259271 39.859687 0
+ 95.764881 47.104309 0
+ 95.558824 46.514253 0
+ 98.669216 40.065744 0
+ F4 8553090 0.000000 4 0
+ 92.826843 55.942081 0
+ 95.937235 49.493571 0
+ 95.731178 48.903516 0
+ 92.236787 56.148138 0
+ F4 8553090 0.000000 4 0
+ 102.975800 52.397906 0
+ 96.527290 49.287515 0
+ 96.321234 48.697459 0
+ 103.565855 52.191850 0
+ F4 8553090 0.000000 4 0
+ 87.930203 43.815975 0
+ 95.174825 47.310365 0
+ 94.968768 46.720310 0
+ 88.520259 43.609918 0
+ F4 8553090 0.000000 4 0
+ 94.310382 51.849131 0
+ 92.229210 45.889569 0
+ 92.866099 46.196768 0
+ 94.617581 51.212241 0
+ F4 8553090 0.000000 4 0
+ 99.266849 50.118255 0
+ 97.185677 44.158693 0
+ 96.878478 44.795583 0
+ 98.629959 49.811056 0
+ F4 8553090 0.000000 4 0
+ 55.396792 53.378364 0
+ 56.574225 47.176646 0
+ 56.972188 47.761133 0
+ 55.981279 52.980401 0
+ F4 8553090 0.000000 4 0
+ 60.554656 54.357615 0
+ 61.732089 48.155897 0
+ 61.147602 48.553860 0
+ 60.156693 53.773128 0
+ F4 8553090 0.000000 4 0
+ 62.626876 58.186326 0
+ 58.597499 52.268393 0
+ 58.714077 51.654361 0
+ 63.240908 58.302904 0
+ F4 8553090 0.000000 4 0
+ 65.677378 45.469645 0
+ 59.028836 49.996476 0
+ 59.145413 49.382445 0
+ 65.063347 45.353068 0
+ F4 8553090 0.000000 4 0
+ 53.887973 43.231357 0
+ 58.414804 49.879899 0
+ 58.531382 49.265867 0
+ 54.502005 43.347934 0
+ F4 8553090 0.000000 4 0
+ 52.065535 56.181193 0
+ 57.983468 52.151815 0
+ 58.100045 51.537784 0
+ 51.451503 56.064615 0
+ F4 8553090 0.000000 4 0
+ 47.612885 54.954132 0
+ 67.219418 58.676549 0
+ 67.197975 59.054176 0
+ 47.494436 55.313342 0
+ F4 8553090 0.000000 4 0
+ 48.185393 53.217949 0
+ 67.323061 56.851349 0
+ 67.301617 57.228977 0
+ 48.066943 53.577159 0
+ F4 8553090 0.000000 4 0
+ 48.757900 51.481766 0
+ 67.426703 55.026149 0
+ 67.405260 55.403777 0
+ 48.639450 51.840977 0
+ F4 8553090 0.000000 4 0
+ 50.475422 46.273217 0
+ 67.737630 49.550550 0
+ 67.716187 49.928178 0
+ 50.356972 46.632428 0
+ F4 8553090 0.000000 4 0
+ 51.047929 44.537034 0
+ 67.841272 47.725350 0
+ 67.819829 48.102978 0
+ 50.929479 44.896245 0
+ F4 8553090 0.000000 4 0
+ 51.620436 42.800852 0
+ 67.944915 45.900151 0
+ 67.923472 46.277778 0
+ 51.501987 43.160062 0
+ F4 8553090 0.000000 4 0
+ 68.187223 41.632969 0
+ 67.025021 62.099998 0
+ 67.649016 62.135431 0
+ 68.811218 41.668402 0
+ F4 8553090 0.000000 4 0
+ 52.958916 38.741785 0
+ 46.539058 58.210617 0
+ 45.945496 58.014889 0
+ 52.365354 38.546057 0
+ F4 8553090 0.000000 4 0
+ 89.667389 60.335576 0
+ 85.492733 40.265144 0
+ 84.880830 40.392420 0
+ 89.055486 60.462852 0
+ F4 8553090 0.000000 4 0
+ 88.443582 60.590128 0
+ 84.268926 40.519696 0
+ 84.880830 40.392420 0
+ 89.055486 60.462852 0
+ F4 8553090 0.000000 4 0
+ 108.741541 53.588174 0
+ 109.299653 53.306862 0
+ 100.072635 35.000794 0
+ 99.514523 35.282106 0
+ F4 8553090 0.000000 4 0
+ 108.183429 53.869485 0
+ 98.956411 35.563417 0
+ 99.514523 35.282106 0
+ 108.741541 53.588174 0
+ END$SEGS
+CURVE 319 0 0 0 0 Fn3 2 145.636915 666.918520 0 72.000000 0 0.000000 0.000000
+ T4 320 146.504204 594.923743 89.309968 0 0.0 0.0 0.0 0.0 0 0 0 41.101682
+ T4 318 83.919986 629.837249 329.001263 0 0.0 0.0 0.0 0.0 0 0 0 41.101682
+ END$SEGS
+CURVE 320 0 0 0 0 Fn3 2 145.636085 667.003332 0 72.084816 0 0.000000 0.000000
+ T4 26 153.171184 595.313423 84.000000 0 0.0 0.0 0.0 0.0 0 0 0 42.189909
+ T4 319 146.504204 594.923743 269.310120 0 0.0 0.0 0.0 0.0 0 0 0 42.189909
+ END$SEGS
+DRAW 321 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 60.458333 1079.479167 0 60.458333 1199.979167 0
+ END$SEGS
+DRAW 322 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 60.458333 1079.479167 0 300.000000 1080.000000 0
+ END$SEGS
+DRAW 323 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 239.958333 1079.354167 0 239.958333 1043.604167 0
+ END$SEGS
+DRAW 324 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 239.958333 1043.604167 0 276.000000 1002.000000 0
+ END$SEGS
+DRAW 325 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 276.000000 1002.000000 0 276.000000 840.000000 0
+ END$SEGS
+DRAW 326 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 335.970703 779.910888 0 780.000000 780.000000 0
+ END$SEGS
+STRAIGHT 327 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 13 299.041951 778.652432 134.436971 9 0.000000 0.000000 6.820000 6.820000 1 1 0 6.820000
+ T4 344 275.051345 802.176020 314.436818 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+DRAW 328 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.500000 276.000000 840.000000 0 282.333333 821.541667 0
+ END$SEGS
+DRAW 329 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.500000 318.083333 785.791667 0 336.333333 779.791667 0
+ END$SEGS
+DRAW 330 8 0 0 0 0.000000 0.000000 0 0.000000
+ F4 16761220 0.000000 3 0
+ 293.935606 833.660987 0
+ 278.560606 834.410987 0
+ 282.685606 822.410987 0
+ END$SEGS
+DRAW 331 8 0 0 0 0.000000 0.000000 0 0.000000
+ F4 16761220 0.000000 5 0
+ 294.541666 834.270835 0
+ 278.666666 834.770835 0
+ 276.666666 840.020835 0
+ 276.666666 848.020835 0
+ 305.791666 845.520835 0
+ END$SEGS
+DRAW 332 8 0 0 0 0.000000 0.000000 0 0.000000
+ F4 16761220 0.000000 3 0
+ 329.166666 798.270835 0
+ 336.166666 780.270835 0
+ 317.541666 786.395835 0
+ END$SEGS
+DRAW 333 8 0 0 0 0.000000 0.000000 0 0.000000
+ F4 16761220 0.000000 4 0
+ 329.666666 798.520835 0
+ 336.666666 780.270835 0
+ 354.291666 780.395835 0
+ 341.291666 810.020835 0
+ END$SEGS
+DRAW 334 0 0 0 0 0.000000 0.000000 0 0.000000
+ G3 8421504 0.000000 20.554805 396.208333 731.541669 0
+ END$SEGS
+DRAW 335 0 0 0 0 -18.000000 2.000000 0 0.000000
+ G3 8421504 0.000000 48.000000 78.000000 864.041669 0
+ END$SEGS
+STRAIGHT 336 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 74 370.455674 527.143504 98.500000 0 0.0 0.0 0.0 0.0 0 0 0 67.047379
+ T4 313 361.151869 528.533953 278.500000 10 1.289798 9.476464 0.0 0.0 1 2 0 67.047379
+ END$SEGS
+STRAIGHT 337 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 76 552.192024 411.730808 307.999848 0 0.0 0.0 0.0 0.0 0 0 0 60.862510
+ T4 338 557.708612 407.420818 127.999848 0 0.0 0.0 0.0 0.0 0 0 0 60.862510
+ END$SEGS
+CURVE 338 0 0 0 0 Fn3 2 683.206049 568.050398 0 203.841773 0 0.000000 0.000000
+ T4 339 563.009257 403.416865 126.132572 0 0.0 0.0 0.0 0.0 0 0 0 60.675365
+ T4 337 557.708612 407.420818 307.999848 0 0.0 0.0 0.0 0.0 0 0 0 60.675365
+ END$SEGS
+STRAIGHT 339 0 128 0 0 Fn3 2 0.000000 0.000000
+ T4 360 566.406489 400.936587 126.132844 10 6.218511 8.313413 0.0 0.0 1 2 0 60.526548
+ T4 338 563.009257 403.416865 306.132844 0 0.0 0.0 0.0 0.0 0 0 0 60.526548
+ END$SEGS
+CURVE 340 0 0 0 0 Fn3 2 346.095547 337.008867 0 193.767547 0 0.000000 0.000000
+ T4 78 437.063829 508.095494 298.000000 0 0.0 0.0 0.0 0.0 0 0 0 64.585344
+ T4 77 465.390558 489.699936 127.999956 0 0.0 0.0 0.0 0.0 0 0 0 64.585344
+ END$SEGS
+CURVE 341 0 0 0 0 Fn3 2 349.549170 342.328980 0 179.448785 0 0.000000 0.000000
+ T4 38 433.794785 500.773111 297.999848 0 0.0 0.0 0.0 0.0 0 0 0 64.598759
+ T4 75 460.028686 483.736699 127.999956 11 -6.028686 -6.986699 0.0 0.0 1 3 0 64.598759
+ END$SEGS
+CURVE 342 0 0 0 0 Fn3 2 373.980546 448.418579 0 74.307343 0 0.000000 0.000000
+ T4 343 399.298874 518.279609 289.921034 0 0.0 0.0 0.0 0.0 0 0 0 65.946615
+ T4 38 408.865529 514.028176 117.999848 3 0.000000 0.000000 0.0 0.0 0 3 0 65.946615
+ END$SEGS
+STRAIGHT 343 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 74 394.376925 520.063350 289.920730 0 0.0 0.0 0.0 0.0 0 0 0 66.162137
+ T4 342 399.298874 518.279609 109.920730 0 0.0 0.0 0.0 0.0 0 0 0 66.162137
+ END$SEGS
+TURNOUT 344 0 0 0 0 Fn3 2 275.051345 802.176020 0 224.436971 "NMRA G #2.5 WYE 2.5NY"
+ T4 327 275.051345 802.176020 134.436971 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 349 259.902822 813.801365 303.015785 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 345 263.130604 817.093203 325.858157 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ D 0.000000 0.000000
+ P "Left" 1 2 3
+ P "Right" 1 4 5
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ C 0 0.000000 -57.751549 1.770077 57.751549 168.578738 11.421338
+ S 0 0.000000 13.206091 1.143623 18.955546 2.305145
+ C 0 0.000000 57.751549 1.770077 -57.751549 0.000076 11.421338
+ S 0 0.000000 13.206091 -1.143623 18.955546 -2.305145
+ END$SEGS
+CURVE 345 0 0 0 0 Fn3 2 322.721414 857.502798 0 72.000000 0 0.000000 0.000000
+ T4 344 263.130491 817.093369 145.858157 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 346 250.724616 858.181842 0.540298 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+TURNOUT 346 0 0 0 0 Fn3 2 250.724616 858.181842 0 270.540298 "NMRA G #5 Right 5R"
+ T4 345 250.724616 858.181842 180.540298 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 348 250.960883 883.232394 0.540298 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 90 254.424126 882.853048 11.961484 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 57.751549 1.770077 -57.751549 0.000076 11.421338
+ S 0 0.000000 13.206091 -1.143623 24.705000 -3.466667
+ END$SEGS
+CURVE 347 0 0 0 0 Fn3 2 1033.220308 895.082046 0 782.112904 0 0.000000 0.000000
+ T4 348 251.142188 902.458282 180.540298 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 89 252.010674 932.660005 2.753861 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+STRAIGHT 348 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 346 250.960883 883.232394 180.540146 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 347 251.142188 902.458282 0.540146 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+STRAIGHT 349 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 344 259.902822 813.801365 123.015937 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 350 240.635288 826.321419 303.015785 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+TURNOUT 350 0 0 0 0 Fn3 2 240.635288 826.321419 0 213.015937 "NMRA G #5 Left 5L"
+ T4 349 240.635288 826.321419 123.015937 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 351 219.629018 839.971424 303.015937 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 730 218.030807 836.875672 291.594751 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 -57.751549 1.770077 57.751549 168.578738 11.421338
+ S 0 0.000000 13.206091 1.143623 24.705000 3.466667
+ END$SEGS
+STRAIGHT 351 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 350 219.628963 839.971340 123.015937 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 352 176.885415 867.746350 303.015937 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+CURVE 352 0 0 0 0 Fn3 2 569.121846 1471.366979 0 719.866155 0 0.000000 0.000000
+ T4 351 176.885415 867.746350 123.015937 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 88 141.936745 891.953335 306.400168 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+TURNOUT 353 0 0 1 0 Fn3 2 147.672680 874.803155 0 213.016049 "NMRA G #5 Right 5R"
+ T4 726 147.672680 874.803155 123.016049 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 728 126.666436 888.453201 303.016049 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 727 128.846025 891.171170 314.437235 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 57.751549 1.770077 -57.751549 0.000076 11.421338
+ S 0 0.000000 13.206091 -1.143623 24.705000 -3.466667
+ END$SEGS
+STRAIGHT 354 0 0 0 0 Fn3 2 0.000000 0.000000
+ E4 54.000000 1194.000000 0.000000 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 355 53.999574 1033.333329 180.000000 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+CURVE 355 0 0 0 0 Fn3 2 360.706544 1033.332922 0 306.706971 0 0.000000 0.000000
+ T4 729 60.808331 969.066074 167.904705 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 354 53.999574 1033.333329 0.000000 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+DRAW 356 8 0 0 0 0.000000 0.000000 0 0.000000
+ L3 8421504 0.250000 282.245430 821.797858 0 318.390333 785.690735 0
+ END$SEGS
+DRAW 357 8 0 0 0 0.000000 0.000000 0 0.000000
+ L3 8421504 0.250000 277.883849 834.509573 0 294.000000 834.000000 0
+ END$SEGS
+DRAW 358 8 0 0 0 0.000000 0.000000 0 0.000000
+ L3 8421504 0.250000 293.917286 834.290501 0 330.000000 798.000000 0
+ END$SEGS
+DRAW 359 8 0 0 0 0.000000 0.000000 0 0.000000
+ L3 8421504 0.250000 329.561473 798.413629 0 336.916639 779.911078 0
+ END$SEGS
+TURNOUT 360 0 0 0 0 Fn3 2 561.555947 392.969913 0 16.882844 "Ophir Bridge 45-B B-45-B"
+ T4 339 566.406489 400.936587 306.132844 10 6.218511 8.313413 0.0 0.0 1 2 0 59.639342
+ T4 37 623.193104 383.702081 87.632844 10 0.244314 -5.827351 0.0 0.0 1 2 0 59.639342
+ D 0.000000 0.000000
+ P "Normal" 1
+ C 0 0.000000 -90.000000 32.000000 94.000000 160.750000 38.500000
+ F4 8553090 0.000000 4 0
+ 0.714052 5.358660 0
+ 3.351577 12.911373 0
+ 3.941632 12.705316 0
+ 1.304107 5.152604 0
+ F4 8553090 0.000000 4 0
+ 9.323942 11.302016 0
+ 7.106073 3.096466 0
+ 7.709423 2.933387 0
+ 9.927292 11.138937 0
+ F4 8553090 0.000000 4 0
+ 18.783480 9.274067 0
+ 17.442799 0.880464 0
+ 16.825622 0.979043 0
+ 18.166303 9.372646 0
+ F4 8553090 0.000000 4 0
+ 27.162763 8.385975 0
+ 26.714204 -0.102181 0
+ 27.338333 -0.135164 0
+ 27.786893 8.352993 0
+ F4 8553090 0.000000 4 0
+ 36.213107 8.352993 0
+ 36.661667 -0.135164 0
+ 37.285796 -0.102181 0
+ 36.837237 8.385975 0
+ F4 8553090 0.000000 4 0
+ 45.216520 9.274067 0
+ 46.557201 0.880464 0
+ 47.174378 0.979043 0
+ 45.833697 9.372646 0
+ F4 8553090 0.000000 4 0
+ 54.072708 11.138937 0
+ 56.290577 2.933387 0
+ 56.893927 3.096466 0
+ 54.676058 11.302016 0
+ F4 8553090 0.000000 4 0
+ 62.695893 5.152604 0
+ 60.058368 12.705316 0
+ 60.648423 12.911373 0
+ 63.285948 5.358660 0
+ A3 0 0.000000 91.500000 32.000000 94.000000 0 160.750000 38.500000
+ A3 0 0.000000 88.500000 32.000000 94.000000 0 160.750000 38.500000
+ L3 4276545 0.000000 3.481759 12.336300 0 9.731744 10.415463 0
+ L3 4276545 0.000000 9.731744 10.415463 0 18.665274 8.534012 0
+ L3 4276545 0.000000 18.665274 8.534012 0 27.747344 7.604601 0
+ L3 4276545 0.000000 27.747344 7.604601 0 36.876786 7.637584 0
+ L3 4276545 0.000000 36.876786 7.637584 0 45.951903 8.632592 0
+ L3 4276545 0.000000 45.951903 8.632592 0 54.871605 10.578542 0
+ L3 4276545 0.000000 54.871605 10.578542 0 60.518241 12.336300 0
+ L3 4276545 0.000000 54.960772 10.292100 0 60.607408 12.049857 0
+ L3 4276545 0.000000 55.049940 10.005657 0 60.696576 11.763415 0
+ L3 4276545 0.000000 55.139107 9.719215 0 60.785743 11.476973 0
+ L3 4276545 0.000000 55.228275 9.432773 0 60.874911 11.190531 0
+ L3 4276545 0.000000 55.317442 9.146330 0 60.964078 10.904088 0
+ L3 4276545 0.000000 55.406610 8.859888 0 61.053246 10.617646 0
+ L3 4276545 0.000000 46.015848 8.339486 0 54.935550 10.285436 0
+ L3 4276545 0.000000 46.079793 8.046380 0 54.999495 9.992330 0
+ L3 4276545 0.000000 46.143738 7.753274 0 55.063439 9.699224 0
+ L3 4276545 0.000000 46.207683 7.460168 0 55.127384 9.406118 0
+ L3 4276545 0.000000 46.271628 7.167062 0 55.191329 9.113012 0
+ L3 4276545 0.000000 46.335572 6.873956 0 55.255274 8.819907 0
+ L3 4276545 0.000000 36.909482 7.339371 0 45.984600 8.334379 0
+ L3 4276545 0.000000 36.942179 7.041158 0 46.017296 8.036166 0
+ L3 4276545 0.000000 36.974875 6.742945 0 46.049993 7.737953 0
+ L3 4276545 0.000000 37.007571 6.444732 0 46.082689 7.439740 0
+ L3 4276545 0.000000 37.040268 6.146519 0 46.115385 7.141527 0
+ L3 4276545 0.000000 37.072964 5.848306 0 46.148082 6.843314 0
+ L3 4276545 0.000000 27.748427 7.304603 0 36.877869 7.337586 0
+ L3 4276545 0.000000 27.749511 7.004605 0 36.878953 7.037588 0
+ L3 4276545 0.000000 27.750595 6.704607 0 36.880037 6.737589 0
+ L3 4276545 0.000000 27.751679 6.404609 0 36.881121 6.437591 0
+ L3 4276545 0.000000 27.752763 6.104611 0 36.882205 6.137593 0
+ L3 4276545 0.000000 27.753846 5.804613 0 36.883288 5.837595 0
+ L3 4276545 0.000000 18.634733 8.235571 0 27.716803 7.306160 0
+ L3 4276545 0.000000 18.604192 7.937129 0 27.686262 7.007719 0
+ L3 4276545 0.000000 18.573651 7.638688 0 27.655721 6.709277 0
+ L3 4276545 0.000000 18.543110 7.340247 0 27.625180 6.410836 0
+ L3 4276545 0.000000 18.512569 7.041805 0 27.594639 6.112394 0
+ L3 4276545 0.000000 18.482028 6.743364 0 27.564098 5.813953 0
+ L3 4276545 0.000000 9.669919 10.121903 0 18.603448 8.240452 0
+ L3 4276545 0.000000 9.608094 9.828343 0 18.541623 7.946892 0
+ L3 4276545 0.000000 9.546268 9.534782 0 18.479797 7.653331 0
+ L3 4276545 0.000000 9.484443 9.241222 0 18.417972 7.359771 0
+ L3 4276545 0.000000 9.422617 8.947662 0 18.356146 7.066211 0
+ L3 4276545 0.000000 9.360792 8.654102 0 18.294321 6.772651 0
+ L3 4276545 0.000000 3.393627 12.049537 0 9.643612 10.128701 0
+ L3 4276545 0.000000 3.305495 11.762775 0 9.555480 9.841938 0
+ L3 4276545 0.000000 3.217363 11.476012 0 9.467348 9.555176 0
+ L3 4276545 0.000000 3.129231 11.189250 0 9.379216 9.268413 0
+ L3 4276545 0.000000 3.041099 10.902487 0 9.291084 8.981651 0
+ L3 4276545 0.000000 2.952967 10.615725 0 9.202952 8.694888 0
+ END$SEGS
+TURNOUT 361 0 0 0 0 Fn3 2 506.643721 679.348100 0 33.000000 "Ames Bridge 43-A B-43-A"
+ T4 20 506.643721 679.348100 303.000000 0 0.0 0.0 0.0 0.0 0 0 0 23.257194
+ T4 19 648.993399 629.830302 63.000000 0 0.0 0.0 0.0 0.0 0 0 0 23.257194
+ D 0.000000 0.000000
+ P "Normal" 1 2 3
+ S 0 0.000000 0.000000 0.000000 36.000000 0.000000
+ S 0 0.000000 36.000000 0.000000 84.000000 0.000000
+ C 0 0.000000 -72.000000 84.000000 72.000000 120.000000 60.000000
+ F4 8553090 0.000000 4 0
+ 0.312500 -4.250000 0
+ -0.250000 -4.250000 0
+ -0.250000 4.250000 0
+ 0.312500 4.250000 0
+ F4 8553090 0.000000 4 0
+ 9.812500 -4.250000 0
+ 9.250000 -4.250000 0
+ 9.250000 4.250000 0
+ 9.812500 4.250000 0
+ F4 8553090 0.000000 4 0
+ 38.312500 -4.250000 0
+ 37.750000 -4.250000 0
+ 37.750000 4.250000 0
+ 38.312500 4.250000 0
+ F4 8553090 0.000000 4 0
+ 37.562500 -4.250000 0
+ 37.000000 -4.250000 0
+ 37.000000 4.250000 0
+ 37.562500 4.250000 0
+ F4 8553090 0.000000 4 0
+ 36.812500 -4.250000 0
+ 36.250000 -4.250000 0
+ 36.250000 4.250000 0
+ 36.812500 4.250000 0
+ F4 8553090 0.000000 4 0
+ 81.687500 -4.250000 0
+ 82.250000 -4.250000 0
+ 82.250000 4.250000 0
+ 81.687500 4.250000 0
+ F4 8553090 0.000000 4 0
+ 82.437500 -4.250000 0
+ 83.000000 -4.250000 0
+ 83.000000 4.250000 0
+ 82.437500 4.250000 0
+ F4 8553090 0.000000 4 0
+ 83.187500 -4.250000 0
+ 83.750000 -4.250000 0
+ 83.750000 4.250000 0
+ 83.187500 4.250000 0
+ F4 8553090 0.000000 4 0
+ 36.250000 6.000000 0
+ 83.750000 6.000000 0
+ 83.750000 5.500000 0
+ 36.250000 5.500000 0
+ F4 8553090 0.000000 4 0
+ 36.250000 5.375000 0
+ 83.750000 5.375000 0
+ 83.750000 4.875000 0
+ 36.250000 4.875000 0
+ F4 8553090 0.000000 4 0
+ 36.250000 4.750000 0
+ 83.750000 4.750000 0
+ 83.750000 4.250000 0
+ 36.250000 4.250000 0
+ F4 8553090 0.000000 4 0
+ 36.250000 -6.000000 0
+ 83.750000 -6.000000 0
+ 83.750000 -5.500000 0
+ 36.250000 -5.500000 0
+ F4 8553090 0.000000 4 0
+ 36.250000 -5.375000 0
+ 83.750000 -5.375000 0
+ 83.750000 -4.875000 0
+ 36.250000 -4.875000 0
+ F4 8553090 0.000000 4 0
+ 36.250000 -4.750000 0
+ 83.750000 -4.750000 0
+ 83.750000 -4.250000 0
+ 36.250000 -4.250000 0
+ F4 8553090 0.000000 4 0
+ 28.812500 6.250000 0
+ 28.812500 -6.250000 0
+ 28.250000 -6.250000 0
+ 28.250000 6.250000 0
+ F4 8553090 0.000000 4 0
+ 19.312500 6.250000 0
+ 19.312500 -6.250000 0
+ 18.750000 -6.250000 0
+ 18.750000 6.250000 0
+ F4 8553090 0.000000 4 0
+ 144.179665 25.169127 0
+ 143.829500 24.728910 0
+ 137.177331 30.020285 0
+ 137.527495 30.460502 0
+ F4 8553090 0.000000 4 0
+ 149.777475 33.424794 0
+ 149.487766 32.942638 0
+ 142.201844 37.320462 0
+ 142.491553 37.802618 0
+ F4 8553090 0.000000 4 0
+ 130.605580 24.908148 0
+ 138.594151 16.635740 0
+ 138.189523 16.244995 0
+ 130.200951 24.517402 0
+ F4 8553090 0.000000 5 0
+ 100.815690 7.914469 0
+ 103.597792 -3.243931 0
+ 103.052000 -3.380012 0
+ 100.269899 7.778388 0
+ 100.269899 7.778388 0
+ F4 8553090 0.000000 5 0
+ 91.700000 6.700000 0
+ 92.250388 6.764628 0
+ 93.665428 -5.655020 0
+ 93.106544 -5.718697 0
+ 91.691503 6.700951 0
+ F4 8553090 0.000000 5 0
+ 109.036670 10.657618 0
+ 113.251434 -0.042184 0
+ 112.728074 -0.248341 0
+ 108.513310 10.451461 0
+ 108.513310 10.451461 0
+ F4 8553090 0.000000 5 0
+ 116.829265 14.450352 0
+ 122.404576 4.392225 0
+ 121.912602 4.119520 0
+ 116.337292 14.177646 0
+ 116.337292 14.177646 0
+ F4 8553090 0.000000 5 0
+ 124.060143 19.227776 0
+ 130.900605 9.983422 0
+ 130.448435 9.648834 0
+ 123.607973 18.893188 0
+ 123.607973 18.893188 0
+ F4 8553090 0.000000 5 0
+ 36.250000 1.500000 0
+ -0.250000 1.500000 0
+ -0.250000 1.875000 0
+ 36.250000 1.875000 0
+ 36.250000 1.875000 0
+ F4 8553090 0.000000 5 0
+ 36.250000 -1.875000 0
+ -0.250000 -1.875000 0
+ -0.250000 -1.500000 0
+ 36.250000 -1.500000 0
+ 36.250000 -1.500000 0
+ F4 8553090 0.000000 4 0
+ 83.728504 1.859743 0
+ 92.207245 2.356284 0
+ 92.229169 1.981925 0
+ 83.750428 1.485384 0
+ F4 8553090 0.000000 4 0
+ 83.772323 -1.888958 0
+ 92.590677 -1.373168 0
+ 92.568780 -0.998808 0
+ 83.750427 -1.514598 0
+ F4 8553090 0.000000 4 0
+ 101.228452 4.023564 0
+ 92.718065 2.418316 0
+ 92.787573 2.049814 0
+ 101.297960 3.655062 0
+ F4 8553090 0.000000 4 0
+ 93.196598 -1.299615 0
+ 102.093124 0.375634 0
+ 102.023730 0.744157 0
+ 93.127204 -0.931092 0
+ F4 8553090 0.000000 4 0
+ 101.725713 4.151532 0
+ 109.953765 6.853876 0
+ 110.070778 6.497599 0
+ 101.842725 3.795256 0
+ F4 8553090 0.000000 4 0
+ 111.287191 3.350017 0
+ 102.685440 0.527870 0
+ 102.568537 0.884183 0
+ 111.170288 3.706329 0
+ F4 8553090 0.000000 4 0
+ 110.430069 7.045655 0
+ 118.235003 10.798856 0
+ 118.397518 10.460900 0
+ 110.592584 6.707700 0
+ F4 8553090 0.000000 4 0
+ 120.014366 7.499020 0
+ 111.854568 3.578264 0
+ 111.692158 3.916269 0
+ 119.851955 7.837025 0
+ F4 8553090 0.000000 4 0
+ 118.682200 11.051165 0
+ 125.930470 15.791005 0
+ 126.135706 15.477153 0
+ 118.887436 10.737313 0
+ F4 8553090 0.000000 4 0
+ 128.125325 12.751653 0
+ 120.547097 7.799372 0
+ 120.341958 8.113287 0
+ 127.920185 13.065568 0
+ F4 8553090 0.000000 4 0
+ 126.340908 16.099526 0
+ 132.908495 21.744905 0
+ 133.152942 21.460527 0
+ 126.585354 15.815148 0
+ F4 8553090 0.000000 4 0
+ 135.481288 19.018041 0
+ 128.614295 13.118970 0
+ 128.369936 13.403424 0
+ 135.236929 19.302495 0
+ F4 8553090 0.000000 4 0
+ 133.275152 22.104360 0
+ 139.049682 28.558684 0
+ 139.329156 28.308645 0
+ 133.554626 21.854321 0
+ F4 8553090 0.000000 4 0
+ 141.956392 26.190966 0
+ 135.918130 19.446040 0
+ 135.638734 19.696165 0
+ 141.676995 26.441090 0
+ F4 8553090 0.000000 4 0
+ 139.366284 28.962922 0
+ 144.248954 36.115756 0
+ 144.558674 35.904335 0
+ 139.676003 28.751501 0
+ F4 8553090 0.000000 4 0
+ 147.439846 34.147695 0
+ 142.333632 26.672322 0
+ 142.023977 26.883838 0
+ 147.130191 34.359212 0
+ END$SEGS
+DRAW 362 0 0 0 0 0.000000 0.000000 0 0.000000
+ F4 8421504 0.000000 4 0
+ 176.325000 553.950000 0
+ 176.325000 553.950000 0
+ 176.325000 553.950000 0
+ 176.325000 553.950000 0
+ END$SEGS
+DRAW 363 4 0 0 0 0.000000 0.000000 0 0.000000
+ F4 12632256 0.000000 11 0
+ 176.750000 553.769737 0
+ 182.625000 554.894737 0
+ 188.500000 555.457237 0
+ 193.825000 555.575000 0
+ 200.750000 555.144737 0
+ 206.312500 554.519737 0
+ 203.500000 557.519737 0
+ 196.500000 559.394737 0
+ 189.250000 559.644737 0
+ 183.375000 558.332237 0
+ 178.450000 556.075000 0
+ END$SEGS
+DRAW 364 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 0 169.416667 562.645833 0.000000 1 300.000000 "Retaining\n Wall"
+ END$SEGS
+DRAW 365 4 0 0 0 0.000000 0.000000 0 0.000000
+ F4 8421504 0.000000 9 0
+ 206.383929 545.741071 0
+ 201.633929 546.741071 0
+ 196.633929 547.116071 0
+ 192.883929 545.616071 0
+ 187.633929 544.116071 0
+ 193.383929 544.241071 0
+ 196.633929 545.366071 0
+ 199.883929 545.366071 0
+ 205.621419 543.453574 0
+ END$SEGS
+STRUCTURE 366 3 0 0 0 Fn3 2 183.395833 531.666667 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 367 3 0 0 0 Fn3 2 162.145833 531.416667 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 368 3 0 0 0 Fn3 2 145.395833 524.416667 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 369 3 0 0 0 Fn3 2 122.145833 529.666667 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 370 3 0 0 0 Fn3 2 131.645833 522.666667 0 0.000000 "LgTrees 8"" Conifer Conif-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 -1.530590 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.309300 -3.798814 0
+ -0.405699 -2.507955 0
+ 0.331935 -3.909459 0
+ 1.455693 -2.445564 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 2.804635 -1.057803 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 2.618600 1.530590 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.383063 3.079621 0
+ 0.682311 3.835696 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -1.161773 2.987417 0
+ -2.803008 3.411556 0
+ -2.341987 2.139138 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 -0.387258 0
+ -3.688169 -1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.670543 -3.860089 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.049146 -1.670543 0
+ 3.924964 -0.956913 0
+ 2.383377 0.077239 0
+ 3.795213 1.621886 0
+ 2.740987 1.865169 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.735418 3.681681 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.475916 3.649244 0
+ -1.467542 1.930976 0
+ -3.389742 2.384172 0
+ -3.000489 1.038007 0
+ -1.798567 0.286888 0
+ -3.162678 0.259502 0
+ -3.811432 -0.648754 0
+ -1.235825 -0.849630 0
+ -3.243772 -2.513923 0
+ -0.948937 -2.228899 0
+ -1.000000 -4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 1.098375 0
+ -1.497784 0.684701 0
+ -0.870141 0.442203 0
+ -1.269550 0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 -0.584849 0
+ -0.912935 -0.656172 0
+ -0.570584 -0.342351 0
+ -1.198227 -0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 1.383667 0
+ -0.969993 1.840135 0
+ -1.440725 2.068368 0
+ -1.312344 1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 0.014265 0
+ -2.182485 0.156911 0
+ -1.512049 -0.057058 0
+ -2.196750 -0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 1.811605 0
+ -1.968516 1.469255 0
+ -1.440725 1.355138 0
+ -1.740282 1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 -1.882928 0
+ -1.497784 -1.412196 0
+ -0.969993 -1.212492 0
+ -1.483519 -1.726018 0
+ L3 26624 -0.001500 -2.284069 1.346166 0 -3.012323 1.313064 0
+ L3 26624 -0.001500 -3.166801 1.930976 0 -2.670265 1.809601 0
+ L3 26624 -0.001500 -1.015142 3.255075 0 -0.937903 2.339240 0
+ L3 26624 -0.001500 -0.937903 2.339240 0 -1.489610 2.990255 0
+ L3 26624 -0.001500 1.313064 3.288177 0 1.401337 2.515787 0
+ L3 26624 -0.001500 1.401337 2.515787 0 1.820635 2.990255 0
+ L3 26624 -0.001500 3.155767 1.699259 0 2.129591 1.224791 0
+ L3 26624 -0.001500 2.129591 1.224791 0 3.155767 0.982039 0
+ L3 26624 -0.001500 2.868879 -0.695152 0 2.096489 -0.706186 0
+ L3 26624 -0.001500 2.096489 -0.706186 0 2.736470 -1.566849 0
+ L3 26624 -0.001500 1.964079 -2.604060 0 1.114449 -1.864772 0
+ L3 26624 -0.001500 1.114449 -1.864772 0 1.136518 -3.210938 0
+ L3 26624 -0.001500 -0.397229 -3.431621 0 -0.408264 -2.295103 0
+ L3 26624 -0.001500 -0.408264 -2.295103 0 -0.959971 -2.769572 0
+ L3 26624 -0.001500 -0.529639 2.427513 0 -0.662049 1.864772 0
+ L3 26624 -0.001500 0.893766 2.570957 0 0.904800 1.919942 0
+ L3 26624 -0.001500 1.721328 2.206830 0 1.202722 1.776498 0
+ L3 26624 -0.001500 1.997181 1.688225 0 1.434440 0.882732 0
+ L3 26624 -0.001500 2.581991 0.463434 0 1.886840 0.651015 0
+ L3 26624 -0.001500 2.648196 -0.187581 0 1.500645 -0.353093 0
+ L3 26624 -0.001500 1.610986 -0.816527 0 2.151660 -1.588918 0
+ L3 26624 -0.001500 1.721328 -1.809601 0 0.849630 -1.169620 0
+ L3 26624 -0.001500 0.684117 -1.533747 0 0.463434 -2.206830 0
+ L3 26624 -0.001500 0.033102 -2.195796 0 -0.121376 -1.313064 0
+ L3 26624 -0.001500 -0.893766 -1.997181 0 -0.651015 -1.125483 0
+ L3 26624 -0.001500 -1.688225 0.319990 0 -0.882732 -0.077239 0
+ L3 26624 -0.001500 -0.717220 1.092381 0 -0.364127 0.397229 0
+ L3 26624 -0.001500 0.551708 1.633054 0 0.154478 0.882732 0
+ L3 26624 -0.001500 1.059279 1.202722 0 0.595844 0.717220 0
+ L3 26624 -0.001500 1.467542 0.319990 0 0.584810 0.176546 0
+ L3 26624 -0.001500 0.948937 -0.584810 0 0.408264 -0.253785 0
+ L3 26624 -0.001500 0.110342 -0.827561 0 0.143444 -0.408264 0
+ L3 26624 -0.001500 -0.165512 -0.275854 0 -0.507571 -0.739288 0
+ L3 26624 -0.001500 -0.673083 0.286888 0 -0.209649 0.022068 0
+ L3 26624 -0.001500 0.353093 0.562742 0 0.132410 0.121376 0
+ L3 26624 -0.001500 -2.011310 0.713230 0 -2.553365 0.984258 0
+ L3 26624 -0.001500 -2.510571 -0.584849 0 -1.825870 -0.370880 0
+ L3 26624 -0.001500 -1.982781 -2.125427 0 -1.369402 -1.939987 0
+ END$SEGS
+STRUCTURE 371 3 0 0 0 Fn3 2 150.895833 533.166667 0 0.000000 "LgTrees 8"" Conifer Conif-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 -1.530590 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.309300 -3.798814 0
+ -0.405699 -2.507955 0
+ 0.331935 -3.909459 0
+ 1.455693 -2.445564 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 2.804635 -1.057803 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 2.618600 1.530590 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.383063 3.079621 0
+ 0.682311 3.835696 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -1.161773 2.987417 0
+ -2.803008 3.411556 0
+ -2.341987 2.139138 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 -0.387258 0
+ -3.688169 -1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.670543 -3.860089 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.049146 -1.670543 0
+ 3.924964 -0.956913 0
+ 2.383377 0.077239 0
+ 3.795213 1.621886 0
+ 2.740987 1.865169 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.735418 3.681681 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.475916 3.649244 0
+ -1.467542 1.930976 0
+ -3.389742 2.384172 0
+ -3.000489 1.038007 0
+ -1.798567 0.286888 0
+ -3.162678 0.259502 0
+ -3.811432 -0.648754 0
+ -1.235825 -0.849630 0
+ -3.243772 -2.513923 0
+ -0.948937 -2.228899 0
+ -1.000000 -4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 1.098375 0
+ -1.497784 0.684701 0
+ -0.870141 0.442203 0
+ -1.269550 0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 -0.584849 0
+ -0.912935 -0.656172 0
+ -0.570584 -0.342351 0
+ -1.198227 -0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 1.383667 0
+ -0.969993 1.840135 0
+ -1.440725 2.068368 0
+ -1.312344 1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 0.014265 0
+ -2.182485 0.156911 0
+ -1.512049 -0.057058 0
+ -2.196750 -0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 1.811605 0
+ -1.968516 1.469255 0
+ -1.440725 1.355138 0
+ -1.740282 1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 -1.882928 0
+ -1.497784 -1.412196 0
+ -0.969993 -1.212492 0
+ -1.483519 -1.726018 0
+ L3 26624 -0.001500 -2.284069 1.346166 0 -3.012323 1.313064 0
+ L3 26624 -0.001500 -3.166801 1.930976 0 -2.670265 1.809601 0
+ L3 26624 -0.001500 -1.015142 3.255075 0 -0.937903 2.339240 0
+ L3 26624 -0.001500 -0.937903 2.339240 0 -1.489610 2.990255 0
+ L3 26624 -0.001500 1.313064 3.288177 0 1.401337 2.515787 0
+ L3 26624 -0.001500 1.401337 2.515787 0 1.820635 2.990255 0
+ L3 26624 -0.001500 3.155767 1.699259 0 2.129591 1.224791 0
+ L3 26624 -0.001500 2.129591 1.224791 0 3.155767 0.982039 0
+ L3 26624 -0.001500 2.868879 -0.695152 0 2.096489 -0.706186 0
+ L3 26624 -0.001500 2.096489 -0.706186 0 2.736470 -1.566849 0
+ L3 26624 -0.001500 1.964079 -2.604060 0 1.114449 -1.864772 0
+ L3 26624 -0.001500 1.114449 -1.864772 0 1.136518 -3.210938 0
+ L3 26624 -0.001500 -0.397229 -3.431621 0 -0.408264 -2.295103 0
+ L3 26624 -0.001500 -0.408264 -2.295103 0 -0.959971 -2.769572 0
+ L3 26624 -0.001500 -0.529639 2.427513 0 -0.662049 1.864772 0
+ L3 26624 -0.001500 0.893766 2.570957 0 0.904800 1.919942 0
+ L3 26624 -0.001500 1.721328 2.206830 0 1.202722 1.776498 0
+ L3 26624 -0.001500 1.997181 1.688225 0 1.434440 0.882732 0
+ L3 26624 -0.001500 2.581991 0.463434 0 1.886840 0.651015 0
+ L3 26624 -0.001500 2.648196 -0.187581 0 1.500645 -0.353093 0
+ L3 26624 -0.001500 1.610986 -0.816527 0 2.151660 -1.588918 0
+ L3 26624 -0.001500 1.721328 -1.809601 0 0.849630 -1.169620 0
+ L3 26624 -0.001500 0.684117 -1.533747 0 0.463434 -2.206830 0
+ L3 26624 -0.001500 0.033102 -2.195796 0 -0.121376 -1.313064 0
+ L3 26624 -0.001500 -0.893766 -1.997181 0 -0.651015 -1.125483 0
+ L3 26624 -0.001500 -1.688225 0.319990 0 -0.882732 -0.077239 0
+ L3 26624 -0.001500 -0.717220 1.092381 0 -0.364127 0.397229 0
+ L3 26624 -0.001500 0.551708 1.633054 0 0.154478 0.882732 0
+ L3 26624 -0.001500 1.059279 1.202722 0 0.595844 0.717220 0
+ L3 26624 -0.001500 1.467542 0.319990 0 0.584810 0.176546 0
+ L3 26624 -0.001500 0.948937 -0.584810 0 0.408264 -0.253785 0
+ L3 26624 -0.001500 0.110342 -0.827561 0 0.143444 -0.408264 0
+ L3 26624 -0.001500 -0.165512 -0.275854 0 -0.507571 -0.739288 0
+ L3 26624 -0.001500 -0.673083 0.286888 0 -0.209649 0.022068 0
+ L3 26624 -0.001500 0.353093 0.562742 0 0.132410 0.121376 0
+ L3 26624 -0.001500 -2.011310 0.713230 0 -2.553365 0.984258 0
+ L3 26624 -0.001500 -2.510571 -0.584849 0 -1.825870 -0.370880 0
+ L3 26624 -0.001500 -1.982781 -2.125427 0 -1.369402 -1.939987 0
+ END$SEGS
+STRUCTURE 372 3 0 0 0 Fn3 2 173.145833 538.666667 0 0.000000 "LgTrees 8"" Conifer Conif-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 -1.530590 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.309300 -3.798814 0
+ -0.405699 -2.507955 0
+ 0.331935 -3.909459 0
+ 1.455693 -2.445564 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 2.804635 -1.057803 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 2.618600 1.530590 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.383063 3.079621 0
+ 0.682311 3.835696 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -1.161773 2.987417 0
+ -2.803008 3.411556 0
+ -2.341987 2.139138 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 -0.387258 0
+ -3.688169 -1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.670543 -3.860089 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.049146 -1.670543 0
+ 3.924964 -0.956913 0
+ 2.383377 0.077239 0
+ 3.795213 1.621886 0
+ 2.740987 1.865169 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.735418 3.681681 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.475916 3.649244 0
+ -1.467542 1.930976 0
+ -3.389742 2.384172 0
+ -3.000489 1.038007 0
+ -1.798567 0.286888 0
+ -3.162678 0.259502 0
+ -3.811432 -0.648754 0
+ -1.235825 -0.849630 0
+ -3.243772 -2.513923 0
+ -0.948937 -2.228899 0
+ -1.000000 -4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 1.098375 0
+ -1.497784 0.684701 0
+ -0.870141 0.442203 0
+ -1.269550 0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 -0.584849 0
+ -0.912935 -0.656172 0
+ -0.570584 -0.342351 0
+ -1.198227 -0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 1.383667 0
+ -0.969993 1.840135 0
+ -1.440725 2.068368 0
+ -1.312344 1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 0.014265 0
+ -2.182485 0.156911 0
+ -1.512049 -0.057058 0
+ -2.196750 -0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 1.811605 0
+ -1.968516 1.469255 0
+ -1.440725 1.355138 0
+ -1.740282 1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 -1.882928 0
+ -1.497784 -1.412196 0
+ -0.969993 -1.212492 0
+ -1.483519 -1.726018 0
+ L3 26624 -0.001500 -2.284069 1.346166 0 -3.012323 1.313064 0
+ L3 26624 -0.001500 -3.166801 1.930976 0 -2.670265 1.809601 0
+ L3 26624 -0.001500 -1.015142 3.255075 0 -0.937903 2.339240 0
+ L3 26624 -0.001500 -0.937903 2.339240 0 -1.489610 2.990255 0
+ L3 26624 -0.001500 1.313064 3.288177 0 1.401337 2.515787 0
+ L3 26624 -0.001500 1.401337 2.515787 0 1.820635 2.990255 0
+ L3 26624 -0.001500 3.155767 1.699259 0 2.129591 1.224791 0
+ L3 26624 -0.001500 2.129591 1.224791 0 3.155767 0.982039 0
+ L3 26624 -0.001500 2.868879 -0.695152 0 2.096489 -0.706186 0
+ L3 26624 -0.001500 2.096489 -0.706186 0 2.736470 -1.566849 0
+ L3 26624 -0.001500 1.964079 -2.604060 0 1.114449 -1.864772 0
+ L3 26624 -0.001500 1.114449 -1.864772 0 1.136518 -3.210938 0
+ L3 26624 -0.001500 -0.397229 -3.431621 0 -0.408264 -2.295103 0
+ L3 26624 -0.001500 -0.408264 -2.295103 0 -0.959971 -2.769572 0
+ L3 26624 -0.001500 -0.529639 2.427513 0 -0.662049 1.864772 0
+ L3 26624 -0.001500 0.893766 2.570957 0 0.904800 1.919942 0
+ L3 26624 -0.001500 1.721328 2.206830 0 1.202722 1.776498 0
+ L3 26624 -0.001500 1.997181 1.688225 0 1.434440 0.882732 0
+ L3 26624 -0.001500 2.581991 0.463434 0 1.886840 0.651015 0
+ L3 26624 -0.001500 2.648196 -0.187581 0 1.500645 -0.353093 0
+ L3 26624 -0.001500 1.610986 -0.816527 0 2.151660 -1.588918 0
+ L3 26624 -0.001500 1.721328 -1.809601 0 0.849630 -1.169620 0
+ L3 26624 -0.001500 0.684117 -1.533747 0 0.463434 -2.206830 0
+ L3 26624 -0.001500 0.033102 -2.195796 0 -0.121376 -1.313064 0
+ L3 26624 -0.001500 -0.893766 -1.997181 0 -0.651015 -1.125483 0
+ L3 26624 -0.001500 -1.688225 0.319990 0 -0.882732 -0.077239 0
+ L3 26624 -0.001500 -0.717220 1.092381 0 -0.364127 0.397229 0
+ L3 26624 -0.001500 0.551708 1.633054 0 0.154478 0.882732 0
+ L3 26624 -0.001500 1.059279 1.202722 0 0.595844 0.717220 0
+ L3 26624 -0.001500 1.467542 0.319990 0 0.584810 0.176546 0
+ L3 26624 -0.001500 0.948937 -0.584810 0 0.408264 -0.253785 0
+ L3 26624 -0.001500 0.110342 -0.827561 0 0.143444 -0.408264 0
+ L3 26624 -0.001500 -0.165512 -0.275854 0 -0.507571 -0.739288 0
+ L3 26624 -0.001500 -0.673083 0.286888 0 -0.209649 0.022068 0
+ L3 26624 -0.001500 0.353093 0.562742 0 0.132410 0.121376 0
+ L3 26624 -0.001500 -2.011310 0.713230 0 -2.553365 0.984258 0
+ L3 26624 -0.001500 -2.510571 -0.584849 0 -1.825870 -0.370880 0
+ L3 26624 -0.001500 -1.982781 -2.125427 0 -1.369402 -1.939987 0
+ END$SEGS
+STRUCTURE 373 3 0 0 0 Fn3 2 191.145833 539.166667 0 0.000000 "LgTrees 8"" Conifer Conif-8b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 -0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 -1.530590 0
+ -2.868879 -2.890948 0
+ -1.666157 -2.361308 0
+ -1.309300 -3.798814 0
+ -0.405699 -2.507955 0
+ 0.331935 -3.909459 0
+ 1.455693 -2.445564 0
+ 2.637162 -3.310245 0
+ 2.173728 -2.085455 0
+ 2.804635 -1.057803 0
+ 3.872987 -0.286888 0
+ 3.100597 0.430332 0
+ 3.828851 1.467542 0
+ 2.618600 1.530590 0
+ 2.383377 2.063386 0
+ 2.350274 3.255075 0
+ 1.383063 3.079621 0
+ 0.682311 3.835696 0
+ -0.286888 3.133699 0
+ -0.529639 3.895055 0
+ -1.161773 2.987417 0
+ -2.803008 3.411556 0
+ -2.341987 2.139138 0
+ -3.740577 1.136518 0
+ -3.034392 0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 -0.387258 0
+ -3.688169 -1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 -2.581991 0
+ 1.670543 -3.860089 0
+ 2.063386 -2.901982 0
+ 1.732362 -1.610986 0
+ 3.049146 -1.670543 0
+ 3.924964 -0.956913 0
+ 2.383377 0.077239 0
+ 3.795213 1.621886 0
+ 2.740987 1.865169 0
+ 1.953045 1.688225 0
+ 1.908908 2.703367 0
+ 1.735418 3.681681 0
+ 0.518605 2.383377 0
+ -0.430332 2.515787 0
+ -0.651015 3.023357 0
+ -1.475916 3.649244 0
+ -1.467542 1.930976 0
+ -3.389742 2.384172 0
+ -3.000489 1.038007 0
+ -1.798567 0.286888 0
+ -3.162678 0.259502 0
+ -3.811432 -0.648754 0
+ -1.235825 -0.849630 0
+ -3.243772 -2.513923 0
+ -0.948937 -2.228899 0
+ -1.000000 -4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 1.098375 0
+ -1.497784 0.684701 0
+ -0.870141 0.442203 0
+ -1.269550 0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 -0.584849 0
+ -0.912935 -0.656172 0
+ -0.570584 -0.342351 0
+ -1.198227 -0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 1.383667 0
+ -0.969993 1.840135 0
+ -1.440725 2.068368 0
+ -1.312344 1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 0.014265 0
+ -2.182485 0.156911 0
+ -1.512049 -0.057058 0
+ -2.196750 -0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 1.811605 0
+ -1.968516 1.469255 0
+ -1.440725 1.355138 0
+ -1.740282 1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 -1.882928 0
+ -1.497784 -1.412196 0
+ -0.969993 -1.212492 0
+ -1.483519 -1.726018 0
+ L3 26624 -0.001500 -2.284069 1.346166 0 -3.012323 1.313064 0
+ L3 26624 -0.001500 -3.166801 1.930976 0 -2.670265 1.809601 0
+ L3 26624 -0.001500 -1.015142 3.255075 0 -0.937903 2.339240 0
+ L3 26624 -0.001500 -0.937903 2.339240 0 -1.489610 2.990255 0
+ L3 26624 -0.001500 1.313064 3.288177 0 1.401337 2.515787 0
+ L3 26624 -0.001500 1.401337 2.515787 0 1.820635 2.990255 0
+ L3 26624 -0.001500 3.155767 1.699259 0 2.129591 1.224791 0
+ L3 26624 -0.001500 2.129591 1.224791 0 3.155767 0.982039 0
+ L3 26624 -0.001500 2.868879 -0.695152 0 2.096489 -0.706186 0
+ L3 26624 -0.001500 2.096489 -0.706186 0 2.736470 -1.566849 0
+ L3 26624 -0.001500 1.964079 -2.604060 0 1.114449 -1.864772 0
+ L3 26624 -0.001500 1.114449 -1.864772 0 1.136518 -3.210938 0
+ L3 26624 -0.001500 -0.397229 -3.431621 0 -0.408264 -2.295103 0
+ L3 26624 -0.001500 -0.408264 -2.295103 0 -0.959971 -2.769572 0
+ L3 26624 -0.001500 -0.529639 2.427513 0 -0.662049 1.864772 0
+ L3 26624 -0.001500 0.893766 2.570957 0 0.904800 1.919942 0
+ L3 26624 -0.001500 1.721328 2.206830 0 1.202722 1.776498 0
+ L3 26624 -0.001500 1.997181 1.688225 0 1.434440 0.882732 0
+ L3 26624 -0.001500 2.581991 0.463434 0 1.886840 0.651015 0
+ L3 26624 -0.001500 2.648196 -0.187581 0 1.500645 -0.353093 0
+ L3 26624 -0.001500 1.610986 -0.816527 0 2.151660 -1.588918 0
+ L3 26624 -0.001500 1.721328 -1.809601 0 0.849630 -1.169620 0
+ L3 26624 -0.001500 0.684117 -1.533747 0 0.463434 -2.206830 0
+ L3 26624 -0.001500 0.033102 -2.195796 0 -0.121376 -1.313064 0
+ L3 26624 -0.001500 -0.893766 -1.997181 0 -0.651015 -1.125483 0
+ L3 26624 -0.001500 -1.688225 0.319990 0 -0.882732 -0.077239 0
+ L3 26624 -0.001500 -0.717220 1.092381 0 -0.364127 0.397229 0
+ L3 26624 -0.001500 0.551708 1.633054 0 0.154478 0.882732 0
+ L3 26624 -0.001500 1.059279 1.202722 0 0.595844 0.717220 0
+ L3 26624 -0.001500 1.467542 0.319990 0 0.584810 0.176546 0
+ L3 26624 -0.001500 0.948937 -0.584810 0 0.408264 -0.253785 0
+ L3 26624 -0.001500 0.110342 -0.827561 0 0.143444 -0.408264 0
+ L3 26624 -0.001500 -0.165512 -0.275854 0 -0.507571 -0.739288 0
+ L3 26624 -0.001500 -0.673083 0.286888 0 -0.209649 0.022068 0
+ L3 26624 -0.001500 0.353093 0.562742 0 0.132410 0.121376 0
+ L3 26624 -0.001500 -2.011310 0.713230 0 -2.553365 0.984258 0
+ L3 26624 -0.001500 -2.510571 -0.584849 0 -1.825870 -0.370880 0
+ L3 26624 -0.001500 -1.982781 -2.125427 0 -1.369402 -1.939987 0
+ END$SEGS
+STRUCTURE 374 3 0 0 0 Fn3 2 202.145833 539.416667 0 0.000000 "LgTrees 10"" Conifer Conif-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 1.913238 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.636625 4.748517 0
+ -0.507123 3.134943 0
+ 0.414919 4.886824 0
+ 1.819616 3.056955 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 3.505793 1.322254 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 3.273250 -1.913238 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.728829 -3.849526 0
+ 0.852889 -4.794619 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -1.452216 -3.734271 0
+ -3.503760 -4.264445 0
+ -2.927484 -2.673922 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 0.484072 0
+ -4.610211 1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 3.227489 0
+ 2.088178 4.825111 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 3.811432 2.088178 0
+ 4.906205 1.196141 0
+ 2.979221 -0.096549 0
+ 4.744017 -2.027358 0
+ 3.426234 -2.331461 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 2.169273 -4.602102 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.844895 -4.561554 0
+ -1.834428 -2.413721 0
+ -4.237177 -2.980216 0
+ -3.750611 -1.297509 0
+ -2.248208 -0.358610 0
+ -3.953347 -0.324377 0
+ -4.764290 0.810943 0
+ -1.544781 1.062037 0
+ -4.054715 3.142404 0
+ -1.186171 2.786123 0
+ -1.250000 5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 -1.372969 0
+ -1.872230 -0.855877 0
+ -1.087676 -0.552754 0
+ -1.586938 -1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 0.731061 0
+ -1.141169 0.820215 0
+ -0.713230 0.427938 0
+ -1.497784 0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 -1.729584 0
+ -1.212492 -2.300168 0
+ -1.800907 -2.585460 0
+ -1.640430 -2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 -0.017831 0
+ -2.728106 -0.196138 0
+ -1.890061 0.071323 0
+ -2.745937 0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 -2.264507 0
+ -2.460645 -1.836568 0
+ -1.800907 -1.693922 0
+ -2.175353 -2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 2.353660 0
+ -1.872230 1.765245 0
+ -1.212492 1.515615 0
+ -1.854399 2.157522 0
+ L3 26624 -0.001500 -2.855087 -1.682708 0 -3.765404 -1.641330 0
+ L3 26624 -0.001500 -3.958502 -2.413721 0 -3.337831 -2.262001 0
+ L3 26624 -0.001500 -1.268927 -4.068843 0 -1.172379 -2.924050 0
+ L3 26624 -0.001500 -1.172379 -2.924050 0 -1.862013 -3.737819 0
+ L3 26624 -0.001500 1.641330 -4.110221 0 1.751672 -3.144733 0
+ L3 26624 -0.001500 1.751672 -3.144733 0 2.275794 -3.737819 0
+ L3 26624 -0.001500 3.944709 -2.124074 0 2.661989 -1.530989 0
+ L3 26624 -0.001500 2.661989 -1.530989 0 3.944709 -1.227549 0
+ L3 26624 -0.001500 3.586099 0.868939 0 2.620611 0.882732 0
+ L3 26624 -0.001500 2.620611 0.882732 0 3.420587 1.958562 0
+ L3 26624 -0.001500 2.455099 3.255075 0 1.393062 2.330964 0
+ L3 26624 -0.001500 1.393062 2.330964 0 1.420647 4.013673 0
+ L3 26624 -0.001500 -0.496537 4.289526 0 -0.510330 2.868879 0
+ L3 26624 -0.001500 -0.510330 2.868879 0 -1.199964 3.461965 0
+ L3 26624 -0.001500 -0.662049 -3.034392 0 -0.827561 -2.330964 0
+ L3 26624 -0.001500 1.117208 -3.213697 0 1.131001 -2.399928 0
+ L3 26624 -0.001500 2.151660 -2.758538 0 1.503403 -2.220623 0
+ L3 26624 -0.001500 2.496477 -2.110281 0 1.793050 -1.103415 0
+ L3 26624 -0.001500 3.227489 -0.579293 0 2.358550 -0.813769 0
+ L3 26624 -0.001500 3.310245 0.234476 0 1.875806 0.441366 0
+ L3 26624 -0.001500 2.013733 1.020659 0 2.689574 1.986147 0
+ L3 26624 -0.001500 2.151660 2.262001 0 1.062037 1.462025 0
+ L3 26624 -0.001500 0.855147 1.917184 0 0.579293 2.758538 0
+ L3 26624 -0.001500 0.041378 2.744745 0 -0.151720 1.641330 0
+ L3 26624 -0.001500 -1.117208 2.496477 0 -0.813769 1.406854 0
+ L3 26624 -0.001500 -2.110281 -0.399988 0 -1.103415 0.096549 0
+ L3 26624 -0.001500 -0.896525 -1.365476 0 -0.455159 -0.496537 0
+ L3 26624 -0.001500 0.689634 -2.041318 0 0.193098 -1.103415 0
+ L3 26624 -0.001500 1.324098 -1.503403 0 0.744805 -0.896525 0
+ L3 26624 -0.001500 1.834428 -0.399988 0 0.731013 -0.220683 0
+ L3 26624 -0.001500 1.186171 0.731013 0 0.510330 0.317232 0
+ L3 26624 -0.001500 0.137927 1.034452 0 0.179305 0.510330 0
+ L3 26624 -0.001500 -0.206890 0.344817 0 -0.634464 0.924110 0
+ L3 26624 -0.001500 -0.841354 -0.358610 0 -0.262061 -0.027585 0
+ L3 26624 -0.001500 0.441366 -0.703427 0 0.165512 -0.151720 0
+ L3 26624 -0.001500 -2.514137 -0.891538 0 -3.191706 -1.230323 0
+ L3 26624 -0.001500 -3.138214 0.731061 0 -2.282337 0.463600 0
+ L3 26624 -0.001500 -2.478476 2.656783 0 -1.711753 2.424984 0
+ END$SEGS
+STRUCTURE 375 3 0 0 0 Fn3 2 193.895833 528.166667 0 0.000000 "LgTrees 10"" Conifer Conif-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 1.913238 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.636625 4.748517 0
+ -0.507123 3.134943 0
+ 0.414919 4.886824 0
+ 1.819616 3.056955 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 3.505793 1.322254 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 3.273250 -1.913238 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.728829 -3.849526 0
+ 0.852889 -4.794619 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -1.452216 -3.734271 0
+ -3.503760 -4.264445 0
+ -2.927484 -2.673922 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 0.484072 0
+ -4.610211 1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 3.227489 0
+ 2.088178 4.825111 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 3.811432 2.088178 0
+ 4.906205 1.196141 0
+ 2.979221 -0.096549 0
+ 4.744017 -2.027358 0
+ 3.426234 -2.331461 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 2.169273 -4.602102 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.844895 -4.561554 0
+ -1.834428 -2.413721 0
+ -4.237177 -2.980216 0
+ -3.750611 -1.297509 0
+ -2.248208 -0.358610 0
+ -3.953347 -0.324377 0
+ -4.764290 0.810943 0
+ -1.544781 1.062037 0
+ -4.054715 3.142404 0
+ -1.186171 2.786123 0
+ -1.250000 5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 -1.372969 0
+ -1.872230 -0.855877 0
+ -1.087676 -0.552754 0
+ -1.586938 -1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 0.731061 0
+ -1.141169 0.820215 0
+ -0.713230 0.427938 0
+ -1.497784 0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 -1.729584 0
+ -1.212492 -2.300168 0
+ -1.800907 -2.585460 0
+ -1.640430 -2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 -0.017831 0
+ -2.728106 -0.196138 0
+ -1.890061 0.071323 0
+ -2.745937 0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 -2.264507 0
+ -2.460645 -1.836568 0
+ -1.800907 -1.693922 0
+ -2.175353 -2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 2.353660 0
+ -1.872230 1.765245 0
+ -1.212492 1.515615 0
+ -1.854399 2.157522 0
+ L3 26624 -0.001500 -2.855087 -1.682708 0 -3.765404 -1.641330 0
+ L3 26624 -0.001500 -3.958502 -2.413721 0 -3.337831 -2.262001 0
+ L3 26624 -0.001500 -1.268927 -4.068843 0 -1.172379 -2.924050 0
+ L3 26624 -0.001500 -1.172379 -2.924050 0 -1.862013 -3.737819 0
+ L3 26624 -0.001500 1.641330 -4.110221 0 1.751672 -3.144733 0
+ L3 26624 -0.001500 1.751672 -3.144733 0 2.275794 -3.737819 0
+ L3 26624 -0.001500 3.944709 -2.124074 0 2.661989 -1.530989 0
+ L3 26624 -0.001500 2.661989 -1.530989 0 3.944709 -1.227549 0
+ L3 26624 -0.001500 3.586099 0.868939 0 2.620611 0.882732 0
+ L3 26624 -0.001500 2.620611 0.882732 0 3.420587 1.958562 0
+ L3 26624 -0.001500 2.455099 3.255075 0 1.393062 2.330964 0
+ L3 26624 -0.001500 1.393062 2.330964 0 1.420647 4.013673 0
+ L3 26624 -0.001500 -0.496537 4.289526 0 -0.510330 2.868879 0
+ L3 26624 -0.001500 -0.510330 2.868879 0 -1.199964 3.461965 0
+ L3 26624 -0.001500 -0.662049 -3.034392 0 -0.827561 -2.330964 0
+ L3 26624 -0.001500 1.117208 -3.213697 0 1.131001 -2.399928 0
+ L3 26624 -0.001500 2.151660 -2.758538 0 1.503403 -2.220623 0
+ L3 26624 -0.001500 2.496477 -2.110281 0 1.793050 -1.103415 0
+ L3 26624 -0.001500 3.227489 -0.579293 0 2.358550 -0.813769 0
+ L3 26624 -0.001500 3.310245 0.234476 0 1.875806 0.441366 0
+ L3 26624 -0.001500 2.013733 1.020659 0 2.689574 1.986147 0
+ L3 26624 -0.001500 2.151660 2.262001 0 1.062037 1.462025 0
+ L3 26624 -0.001500 0.855147 1.917184 0 0.579293 2.758538 0
+ L3 26624 -0.001500 0.041378 2.744745 0 -0.151720 1.641330 0
+ L3 26624 -0.001500 -1.117208 2.496477 0 -0.813769 1.406854 0
+ L3 26624 -0.001500 -2.110281 -0.399988 0 -1.103415 0.096549 0
+ L3 26624 -0.001500 -0.896525 -1.365476 0 -0.455159 -0.496537 0
+ L3 26624 -0.001500 0.689634 -2.041318 0 0.193098 -1.103415 0
+ L3 26624 -0.001500 1.324098 -1.503403 0 0.744805 -0.896525 0
+ L3 26624 -0.001500 1.834428 -0.399988 0 0.731013 -0.220683 0
+ L3 26624 -0.001500 1.186171 0.731013 0 0.510330 0.317232 0
+ L3 26624 -0.001500 0.137927 1.034452 0 0.179305 0.510330 0
+ L3 26624 -0.001500 -0.206890 0.344817 0 -0.634464 0.924110 0
+ L3 26624 -0.001500 -0.841354 -0.358610 0 -0.262061 -0.027585 0
+ L3 26624 -0.001500 0.441366 -0.703427 0 0.165512 -0.151720 0
+ L3 26624 -0.001500 -2.514137 -0.891538 0 -3.191706 -1.230323 0
+ L3 26624 -0.001500 -3.138214 0.731061 0 -2.282337 0.463600 0
+ L3 26624 -0.001500 -2.478476 2.656783 0 -1.711753 2.424984 0
+ END$SEGS
+STRUCTURE 376 3 0 0 0 Fn3 2 172.395833 528.166667 0 0.000000 "LgTrees 10"" Conifer Conif-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 1.913238 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.636625 4.748517 0
+ -0.507123 3.134943 0
+ 0.414919 4.886824 0
+ 1.819616 3.056955 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 3.505793 1.322254 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 3.273250 -1.913238 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.728829 -3.849526 0
+ 0.852889 -4.794619 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -1.452216 -3.734271 0
+ -3.503760 -4.264445 0
+ -2.927484 -2.673922 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 0.484072 0
+ -4.610211 1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 3.227489 0
+ 2.088178 4.825111 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 3.811432 2.088178 0
+ 4.906205 1.196141 0
+ 2.979221 -0.096549 0
+ 4.744017 -2.027358 0
+ 3.426234 -2.331461 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 2.169273 -4.602102 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.844895 -4.561554 0
+ -1.834428 -2.413721 0
+ -4.237177 -2.980216 0
+ -3.750611 -1.297509 0
+ -2.248208 -0.358610 0
+ -3.953347 -0.324377 0
+ -4.764290 0.810943 0
+ -1.544781 1.062037 0
+ -4.054715 3.142404 0
+ -1.186171 2.786123 0
+ -1.250000 5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 -1.372969 0
+ -1.872230 -0.855877 0
+ -1.087676 -0.552754 0
+ -1.586938 -1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 0.731061 0
+ -1.141169 0.820215 0
+ -0.713230 0.427938 0
+ -1.497784 0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 -1.729584 0
+ -1.212492 -2.300168 0
+ -1.800907 -2.585460 0
+ -1.640430 -2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 -0.017831 0
+ -2.728106 -0.196138 0
+ -1.890061 0.071323 0
+ -2.745937 0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 -2.264507 0
+ -2.460645 -1.836568 0
+ -1.800907 -1.693922 0
+ -2.175353 -2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 2.353660 0
+ -1.872230 1.765245 0
+ -1.212492 1.515615 0
+ -1.854399 2.157522 0
+ L3 26624 -0.001500 -2.855087 -1.682708 0 -3.765404 -1.641330 0
+ L3 26624 -0.001500 -3.958502 -2.413721 0 -3.337831 -2.262001 0
+ L3 26624 -0.001500 -1.268927 -4.068843 0 -1.172379 -2.924050 0
+ L3 26624 -0.001500 -1.172379 -2.924050 0 -1.862013 -3.737819 0
+ L3 26624 -0.001500 1.641330 -4.110221 0 1.751672 -3.144733 0
+ L3 26624 -0.001500 1.751672 -3.144733 0 2.275794 -3.737819 0
+ L3 26624 -0.001500 3.944709 -2.124074 0 2.661989 -1.530989 0
+ L3 26624 -0.001500 2.661989 -1.530989 0 3.944709 -1.227549 0
+ L3 26624 -0.001500 3.586099 0.868939 0 2.620611 0.882732 0
+ L3 26624 -0.001500 2.620611 0.882732 0 3.420587 1.958562 0
+ L3 26624 -0.001500 2.455099 3.255075 0 1.393062 2.330964 0
+ L3 26624 -0.001500 1.393062 2.330964 0 1.420647 4.013673 0
+ L3 26624 -0.001500 -0.496537 4.289526 0 -0.510330 2.868879 0
+ L3 26624 -0.001500 -0.510330 2.868879 0 -1.199964 3.461965 0
+ L3 26624 -0.001500 -0.662049 -3.034392 0 -0.827561 -2.330964 0
+ L3 26624 -0.001500 1.117208 -3.213697 0 1.131001 -2.399928 0
+ L3 26624 -0.001500 2.151660 -2.758538 0 1.503403 -2.220623 0
+ L3 26624 -0.001500 2.496477 -2.110281 0 1.793050 -1.103415 0
+ L3 26624 -0.001500 3.227489 -0.579293 0 2.358550 -0.813769 0
+ L3 26624 -0.001500 3.310245 0.234476 0 1.875806 0.441366 0
+ L3 26624 -0.001500 2.013733 1.020659 0 2.689574 1.986147 0
+ L3 26624 -0.001500 2.151660 2.262001 0 1.062037 1.462025 0
+ L3 26624 -0.001500 0.855147 1.917184 0 0.579293 2.758538 0
+ L3 26624 -0.001500 0.041378 2.744745 0 -0.151720 1.641330 0
+ L3 26624 -0.001500 -1.117208 2.496477 0 -0.813769 1.406854 0
+ L3 26624 -0.001500 -2.110281 -0.399988 0 -1.103415 0.096549 0
+ L3 26624 -0.001500 -0.896525 -1.365476 0 -0.455159 -0.496537 0
+ L3 26624 -0.001500 0.689634 -2.041318 0 0.193098 -1.103415 0
+ L3 26624 -0.001500 1.324098 -1.503403 0 0.744805 -0.896525 0
+ L3 26624 -0.001500 1.834428 -0.399988 0 0.731013 -0.220683 0
+ L3 26624 -0.001500 1.186171 0.731013 0 0.510330 0.317232 0
+ L3 26624 -0.001500 0.137927 1.034452 0 0.179305 0.510330 0
+ L3 26624 -0.001500 -0.206890 0.344817 0 -0.634464 0.924110 0
+ L3 26624 -0.001500 -0.841354 -0.358610 0 -0.262061 -0.027585 0
+ L3 26624 -0.001500 0.441366 -0.703427 0 0.165512 -0.151720 0
+ L3 26624 -0.001500 -2.514137 -0.891538 0 -3.191706 -1.230323 0
+ L3 26624 -0.001500 -3.138214 0.731061 0 -2.282337 0.463600 0
+ L3 26624 -0.001500 -2.478476 2.656783 0 -1.711753 2.424984 0
+ END$SEGS
+STRUCTURE 377 3 0 0 0 Fn3 2 135.395833 532.166667 0 0.000000 "LgTrees 10"" Conifer Conif-10a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 1.913238 0
+ -3.586099 3.613685 0
+ -2.082696 2.951635 0
+ -1.636625 4.748517 0
+ -0.507123 3.134943 0
+ 0.414919 4.886824 0
+ 1.819616 3.056955 0
+ 3.296453 4.137807 0
+ 2.717160 2.606818 0
+ 3.505793 1.322254 0
+ 4.841234 0.358610 0
+ 3.875746 -0.537915 0
+ 4.786063 -1.834428 0
+ 3.273250 -1.913238 0
+ 2.979221 -2.579233 0
+ 2.937843 -4.068843 0
+ 1.728829 -3.849526 0
+ 0.852889 -4.794619 0
+ -0.358610 -3.917124 0
+ -0.662049 -4.868819 0
+ -1.452216 -3.734271 0
+ -3.503760 -4.264445 0
+ -2.927484 -2.673922 0
+ -4.675722 -1.420647 0
+ -3.792990 -0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 0.484072 0
+ -4.610211 1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 3.227489 0
+ 2.088178 4.825111 0
+ 2.579233 3.627477 0
+ 2.165452 2.013733 0
+ 3.811432 2.088178 0
+ 4.906205 1.196141 0
+ 2.979221 -0.096549 0
+ 4.744017 -2.027358 0
+ 3.426234 -2.331461 0
+ 2.441306 -2.110281 0
+ 2.386135 -3.379209 0
+ 2.169273 -4.602102 0
+ 0.648256 -2.979221 0
+ -0.537915 -3.144733 0
+ -0.813769 -3.779197 0
+ -1.844895 -4.561554 0
+ -1.834428 -2.413721 0
+ -4.237177 -2.980216 0
+ -3.750611 -1.297509 0
+ -2.248208 -0.358610 0
+ -3.953347 -0.324377 0
+ -4.764290 0.810943 0
+ -1.544781 1.062037 0
+ -4.054715 3.142404 0
+ -1.186171 2.786123 0
+ -1.250000 5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 -1.372969 0
+ -1.872230 -0.855877 0
+ -1.087676 -0.552754 0
+ -1.586938 -1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 0.731061 0
+ -1.141169 0.820215 0
+ -0.713230 0.427938 0
+ -1.497784 0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 -1.729584 0
+ -1.212492 -2.300168 0
+ -1.800907 -2.585460 0
+ -1.640430 -2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 -0.017831 0
+ -2.728106 -0.196138 0
+ -1.890061 0.071323 0
+ -2.745937 0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 -2.264507 0
+ -2.460645 -1.836568 0
+ -1.800907 -1.693922 0
+ -2.175353 -2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 2.353660 0
+ -1.872230 1.765245 0
+ -1.212492 1.515615 0
+ -1.854399 2.157522 0
+ L3 26624 -0.001500 -2.855087 -1.682708 0 -3.765404 -1.641330 0
+ L3 26624 -0.001500 -3.958502 -2.413721 0 -3.337831 -2.262001 0
+ L3 26624 -0.001500 -1.268927 -4.068843 0 -1.172379 -2.924050 0
+ L3 26624 -0.001500 -1.172379 -2.924050 0 -1.862013 -3.737819 0
+ L3 26624 -0.001500 1.641330 -4.110221 0 1.751672 -3.144733 0
+ L3 26624 -0.001500 1.751672 -3.144733 0 2.275794 -3.737819 0
+ L3 26624 -0.001500 3.944709 -2.124074 0 2.661989 -1.530989 0
+ L3 26624 -0.001500 2.661989 -1.530989 0 3.944709 -1.227549 0
+ L3 26624 -0.001500 3.586099 0.868939 0 2.620611 0.882732 0
+ L3 26624 -0.001500 2.620611 0.882732 0 3.420587 1.958562 0
+ L3 26624 -0.001500 2.455099 3.255075 0 1.393062 2.330964 0
+ L3 26624 -0.001500 1.393062 2.330964 0 1.420647 4.013673 0
+ L3 26624 -0.001500 -0.496537 4.289526 0 -0.510330 2.868879 0
+ L3 26624 -0.001500 -0.510330 2.868879 0 -1.199964 3.461965 0
+ L3 26624 -0.001500 -0.662049 -3.034392 0 -0.827561 -2.330964 0
+ L3 26624 -0.001500 1.117208 -3.213697 0 1.131001 -2.399928 0
+ L3 26624 -0.001500 2.151660 -2.758538 0 1.503403 -2.220623 0
+ L3 26624 -0.001500 2.496477 -2.110281 0 1.793050 -1.103415 0
+ L3 26624 -0.001500 3.227489 -0.579293 0 2.358550 -0.813769 0
+ L3 26624 -0.001500 3.310245 0.234476 0 1.875806 0.441366 0
+ L3 26624 -0.001500 2.013733 1.020659 0 2.689574 1.986147 0
+ L3 26624 -0.001500 2.151660 2.262001 0 1.062037 1.462025 0
+ L3 26624 -0.001500 0.855147 1.917184 0 0.579293 2.758538 0
+ L3 26624 -0.001500 0.041378 2.744745 0 -0.151720 1.641330 0
+ L3 26624 -0.001500 -1.117208 2.496477 0 -0.813769 1.406854 0
+ L3 26624 -0.001500 -2.110281 -0.399988 0 -1.103415 0.096549 0
+ L3 26624 -0.001500 -0.896525 -1.365476 0 -0.455159 -0.496537 0
+ L3 26624 -0.001500 0.689634 -2.041318 0 0.193098 -1.103415 0
+ L3 26624 -0.001500 1.324098 -1.503403 0 0.744805 -0.896525 0
+ L3 26624 -0.001500 1.834428 -0.399988 0 0.731013 -0.220683 0
+ L3 26624 -0.001500 1.186171 0.731013 0 0.510330 0.317232 0
+ L3 26624 -0.001500 0.137927 1.034452 0 0.179305 0.510330 0
+ L3 26624 -0.001500 -0.206890 0.344817 0 -0.634464 0.924110 0
+ L3 26624 -0.001500 -0.841354 -0.358610 0 -0.262061 -0.027585 0
+ L3 26624 -0.001500 0.441366 -0.703427 0 0.165512 -0.151720 0
+ L3 26624 -0.001500 -2.514137 -0.891538 0 -3.191706 -1.230323 0
+ L3 26624 -0.001500 -3.138214 0.731061 0 -2.282337 0.463600 0
+ L3 26624 -0.001500 -2.478476 2.656783 0 -1.711753 2.424984 0
+ END$SEGS
+STRUCTURE 378 3 0 0 0 Fn3 2 105.395833 526.916667 0 0.000000 "LgTrees 10"" Conifer Conif-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 -1.913238 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.636625 -4.748517 0
+ -0.507123 -3.134943 0
+ 0.414919 -4.886824 0
+ 1.819616 -3.056955 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 3.505793 -1.322254 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 3.273250 1.913238 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.728829 3.849526 0
+ 0.852889 4.794619 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -1.452216 3.734271 0
+ -3.503760 4.264445 0
+ -2.927484 2.673922 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 -0.484072 0
+ -4.610211 -1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 -3.227489 0
+ 2.088178 -4.825111 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 3.811432 -2.088178 0
+ 4.906205 -1.196141 0
+ 2.979221 0.096549 0
+ 4.744017 2.027358 0
+ 3.426234 2.331461 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 2.169273 4.602102 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.844895 4.561554 0
+ -1.834428 2.413721 0
+ -4.237177 2.980216 0
+ -3.750611 1.297509 0
+ -2.248208 0.358610 0
+ -3.953347 0.324377 0
+ -4.764290 -0.810943 0
+ -1.544781 -1.062037 0
+ -4.054715 -3.142404 0
+ -1.186171 -2.786123 0
+ -1.250000 -5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 1.372969 0
+ -1.872230 0.855877 0
+ -1.087676 0.552754 0
+ -1.586938 1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 -0.731061 0
+ -1.141169 -0.820215 0
+ -0.713230 -0.427938 0
+ -1.497784 -0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 1.729584 0
+ -1.212492 2.300168 0
+ -1.800907 2.585460 0
+ -1.640430 2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 0.017831 0
+ -2.728106 0.196138 0
+ -1.890061 -0.071323 0
+ -2.745937 -0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 2.264507 0
+ -2.460645 1.836568 0
+ -1.800907 1.693922 0
+ -2.175353 2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 -2.353660 0
+ -1.872230 -1.765245 0
+ -1.212492 -1.515615 0
+ -1.854399 -2.157522 0
+ L3 26624 -0.001500 -2.855087 1.682708 0 -3.765404 1.641330 0
+ L3 26624 -0.001500 -3.958502 2.413721 0 -3.337831 2.262001 0
+ L3 26624 -0.001500 -1.268927 4.068843 0 -1.172379 2.924050 0
+ L3 26624 -0.001500 -1.172379 2.924050 0 -1.862013 3.737819 0
+ L3 26624 -0.001500 1.641330 4.110221 0 1.751672 3.144733 0
+ L3 26624 -0.001500 1.751672 3.144733 0 2.275794 3.737819 0
+ L3 26624 -0.001500 3.944709 2.124074 0 2.661989 1.530989 0
+ L3 26624 -0.001500 2.661989 1.530989 0 3.944709 1.227549 0
+ L3 26624 -0.001500 3.586099 -0.868939 0 2.620611 -0.882732 0
+ L3 26624 -0.001500 2.620611 -0.882732 0 3.420587 -1.958562 0
+ L3 26624 -0.001500 2.455099 -3.255075 0 1.393062 -2.330964 0
+ L3 26624 -0.001500 1.393062 -2.330964 0 1.420647 -4.013673 0
+ L3 26624 -0.001500 -0.496537 -4.289526 0 -0.510330 -2.868879 0
+ L3 26624 -0.001500 -0.510330 -2.868879 0 -1.199964 -3.461965 0
+ L3 26624 -0.001500 -0.662049 3.034392 0 -0.827561 2.330964 0
+ L3 26624 -0.001500 1.117208 3.213697 0 1.131001 2.399928 0
+ L3 26624 -0.001500 2.151660 2.758538 0 1.503403 2.220623 0
+ L3 26624 -0.001500 2.496477 2.110281 0 1.793050 1.103415 0
+ L3 26624 -0.001500 3.227489 0.579293 0 2.358550 0.813769 0
+ L3 26624 -0.001500 3.310245 -0.234476 0 1.875806 -0.441366 0
+ L3 26624 -0.001500 2.013733 -1.020659 0 2.689574 -1.986147 0
+ L3 26624 -0.001500 2.151660 -2.262001 0 1.062037 -1.462025 0
+ L3 26624 -0.001500 0.855147 -1.917184 0 0.579293 -2.758538 0
+ L3 26624 -0.001500 0.041378 -2.744745 0 -0.151720 -1.641330 0
+ L3 26624 -0.001500 -1.117208 -2.496477 0 -0.813769 -1.406854 0
+ L3 26624 -0.001500 -2.110281 0.399988 0 -1.103415 -0.096549 0
+ L3 26624 -0.001500 -0.896525 1.365476 0 -0.455159 0.496537 0
+ L3 26624 -0.001500 0.689634 2.041318 0 0.193098 1.103415 0
+ L3 26624 -0.001500 1.324098 1.503403 0 0.744805 0.896525 0
+ L3 26624 -0.001500 1.834428 0.399988 0 0.731013 0.220683 0
+ L3 26624 -0.001500 1.186171 -0.731013 0 0.510330 -0.317232 0
+ L3 26624 -0.001500 0.137927 -1.034452 0 0.179305 -0.510330 0
+ L3 26624 -0.001500 -0.206890 -0.344817 0 -0.634464 -0.924110 0
+ L3 26624 -0.001500 -0.841354 0.358610 0 -0.262061 0.027585 0
+ L3 26624 -0.001500 0.441366 0.703427 0 0.165512 0.151720 0
+ L3 26624 -0.001500 -2.514137 0.891538 0 -3.191706 1.230323 0
+ L3 26624 -0.001500 -3.138214 -0.731061 0 -2.282337 -0.463600 0
+ L3 26624 -0.001500 -2.478476 -2.656783 0 -1.711753 -2.424984 0
+ END$SEGS
+STRUCTURE 379 3 0 0 0 Fn3 2 119.145833 520.416667 0 0.000000 "LgTrees 10"" Conifer Conif-10b"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 4.644958 -1.253643 -0.067764 0
+ F4 26624 0.000000 28 0
+ -3.181046 -1.913238 0
+ -3.586099 -3.613685 0
+ -2.082696 -2.951635 0
+ -1.636625 -4.748517 0
+ -0.507123 -3.134943 0
+ 0.414919 -4.886824 0
+ 1.819616 -3.056955 0
+ 3.296453 -4.137807 0
+ 2.717160 -2.606818 0
+ 3.505793 -1.322254 0
+ 4.841234 -0.358610 0
+ 3.875746 0.537915 0
+ 4.786063 1.834428 0
+ 3.273250 1.913238 0
+ 2.979221 2.579233 0
+ 2.937843 4.068843 0
+ 1.728829 3.849526 0
+ 0.852889 4.794619 0
+ -0.358610 3.917124 0
+ -0.662049 4.868819 0
+ -1.452216 3.734271 0
+ -3.503760 4.264445 0
+ -2.927484 2.673922 0
+ -4.675722 1.420647 0
+ -3.792990 0.510330 0
+ -4.951575 0.000000 0
+ -3.365454 -0.484072 0
+ -4.610211 -1.867135 0
+ F4 11206591 0.000000 26 0
+ 0.689634 -3.227489 0
+ 2.088178 -4.825111 0
+ 2.579233 -3.627477 0
+ 2.165452 -2.013733 0
+ 3.811432 -2.088178 0
+ 4.906205 -1.196141 0
+ 2.979221 0.096549 0
+ 4.744017 2.027358 0
+ 3.426234 2.331461 0
+ 2.441306 2.110281 0
+ 2.386135 3.379209 0
+ 2.169273 4.602102 0
+ 0.648256 2.979221 0
+ -0.537915 3.144733 0
+ -0.813769 3.779197 0
+ -1.844895 4.561554 0
+ -1.834428 2.413721 0
+ -4.237177 2.980216 0
+ -3.750611 1.297509 0
+ -2.248208 0.358610 0
+ -3.953347 0.324377 0
+ -4.764290 -0.810943 0
+ -1.544781 -1.062037 0
+ -4.054715 -3.142404 0
+ -1.186171 -2.786123 0
+ -1.250000 -5.000000 0
+ F4 26624 0.000000 4 0
+ -2.317999 1.372969 0
+ -1.872230 0.855877 0
+ -1.087676 0.552754 0
+ -1.586938 1.194661 0
+ F4 26624 0.000000 4 0
+ -2.104030 -0.731061 0
+ -1.141169 -0.820215 0
+ -0.713230 -0.427938 0
+ -1.497784 -0.445769 0
+ F4 26624 0.000000 4 0
+ -1.052015 1.729584 0
+ -1.212492 2.300168 0
+ -1.800907 2.585460 0
+ -1.640430 2.121861 0
+ F4 26624 0.000000 4 0
+ -3.494829 0.017831 0
+ -2.728106 0.196138 0
+ -1.890061 -0.071323 0
+ -2.745937 -0.213969 0
+ F4 26624 0.000000 4 0
+ -2.888583 2.264507 0
+ -2.460645 1.836568 0
+ -1.800907 1.693922 0
+ -2.175353 2.121861 0
+ F4 26624 0.000000 4 0
+ -2.442814 -2.353660 0
+ -1.872230 -1.765245 0
+ -1.212492 -1.515615 0
+ -1.854399 -2.157522 0
+ L3 26624 -0.001500 -2.855087 1.682708 0 -3.765404 1.641330 0
+ L3 26624 -0.001500 -3.958502 2.413721 0 -3.337831 2.262001 0
+ L3 26624 -0.001500 -1.268927 4.068843 0 -1.172379 2.924050 0
+ L3 26624 -0.001500 -1.172379 2.924050 0 -1.862013 3.737819 0
+ L3 26624 -0.001500 1.641330 4.110221 0 1.751672 3.144733 0
+ L3 26624 -0.001500 1.751672 3.144733 0 2.275794 3.737819 0
+ L3 26624 -0.001500 3.944709 2.124074 0 2.661989 1.530989 0
+ L3 26624 -0.001500 2.661989 1.530989 0 3.944709 1.227549 0
+ L3 26624 -0.001500 3.586099 -0.868939 0 2.620611 -0.882732 0
+ L3 26624 -0.001500 2.620611 -0.882732 0 3.420587 -1.958562 0
+ L3 26624 -0.001500 2.455099 -3.255075 0 1.393062 -2.330964 0
+ L3 26624 -0.001500 1.393062 -2.330964 0 1.420647 -4.013673 0
+ L3 26624 -0.001500 -0.496537 -4.289526 0 -0.510330 -2.868879 0
+ L3 26624 -0.001500 -0.510330 -2.868879 0 -1.199964 -3.461965 0
+ L3 26624 -0.001500 -0.662049 3.034392 0 -0.827561 2.330964 0
+ L3 26624 -0.001500 1.117208 3.213697 0 1.131001 2.399928 0
+ L3 26624 -0.001500 2.151660 2.758538 0 1.503403 2.220623 0
+ L3 26624 -0.001500 2.496477 2.110281 0 1.793050 1.103415 0
+ L3 26624 -0.001500 3.227489 0.579293 0 2.358550 0.813769 0
+ L3 26624 -0.001500 3.310245 -0.234476 0 1.875806 -0.441366 0
+ L3 26624 -0.001500 2.013733 -1.020659 0 2.689574 -1.986147 0
+ L3 26624 -0.001500 2.151660 -2.262001 0 1.062037 -1.462025 0
+ L3 26624 -0.001500 0.855147 -1.917184 0 0.579293 -2.758538 0
+ L3 26624 -0.001500 0.041378 -2.744745 0 -0.151720 -1.641330 0
+ L3 26624 -0.001500 -1.117208 -2.496477 0 -0.813769 -1.406854 0
+ L3 26624 -0.001500 -2.110281 0.399988 0 -1.103415 -0.096549 0
+ L3 26624 -0.001500 -0.896525 1.365476 0 -0.455159 0.496537 0
+ L3 26624 -0.001500 0.689634 2.041318 0 0.193098 1.103415 0
+ L3 26624 -0.001500 1.324098 1.503403 0 0.744805 0.896525 0
+ L3 26624 -0.001500 1.834428 0.399988 0 0.731013 0.220683 0
+ L3 26624 -0.001500 1.186171 -0.731013 0 0.510330 -0.317232 0
+ L3 26624 -0.001500 0.137927 -1.034452 0 0.179305 -0.510330 0
+ L3 26624 -0.001500 -0.206890 -0.344817 0 -0.634464 -0.924110 0
+ L3 26624 -0.001500 -0.841354 0.358610 0 -0.262061 0.027585 0
+ L3 26624 -0.001500 0.441366 0.703427 0 0.165512 0.151720 0
+ L3 26624 -0.001500 -2.514137 0.891538 0 -3.191706 1.230323 0
+ L3 26624 -0.001500 -3.138214 -0.731061 0 -2.282337 -0.463600 0
+ L3 26624 -0.001500 -2.478476 -2.656783 0 -1.711753 -2.424984 0
+ END$SEGS
+STRUCTURE 380 3 0 0 0 Fn3 2 182.895833 520.166667 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 381 3 0 0 0 Fn3 2 156.145833 523.166667 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 382 3 0 0 0 Fn3 2 94.895833 520.916667 0 0.000000 "LgTrees 8"" Conifer Conif-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -2.544836 1.530590 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.309300 3.798814 0
+ -0.405699 2.507955 0
+ 0.331935 3.909459 0
+ 1.455693 2.445564 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 2.804635 1.057803 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 2.618600 -1.530590 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.383063 -3.079621 0
+ 0.682311 -3.835696 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -1.161773 -2.987417 0
+ -2.803008 -3.411556 0
+ -2.341987 -2.139138 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -2.692363 0.387258 0
+ -3.688169 1.493708 0
+ F4 11206591 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.670543 3.860089 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.049146 1.670543 0
+ 3.924964 0.956913 0
+ 2.383377 -0.077239 0
+ 3.795213 -1.621886 0
+ 2.740987 -1.865169 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.735418 -3.681681 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.475916 -3.649244 0
+ -1.467542 -1.930976 0
+ -3.389742 -2.384172 0
+ -3.000489 -1.038007 0
+ -1.798567 -0.286888 0
+ -3.162678 -0.259502 0
+ -3.811432 0.648754 0
+ -1.235825 0.849630 0
+ -3.243772 2.513923 0
+ -0.948937 2.228899 0
+ -1.000000 4.000000 0
+ F4 26624 0.000000 4 0
+ -1.854399 -1.098375 0
+ -1.497784 -0.684701 0
+ -0.870141 -0.442203 0
+ -1.269550 -0.955729 0
+ F4 26624 0.000000 4 0
+ -1.683224 0.584849 0
+ -0.912935 0.656172 0
+ -0.570584 0.342351 0
+ -1.198227 0.356615 0
+ F4 26624 0.000000 4 0
+ -0.841612 -1.383667 0
+ -0.969993 -1.840135 0
+ -1.440725 -2.068368 0
+ -1.312344 -1.697488 0
+ F4 26624 0.000000 4 0
+ -2.795863 -0.014265 0
+ -2.182485 -0.156911 0
+ -1.512049 0.057058 0
+ -2.196750 0.171175 0
+ F4 26624 0.000000 4 0
+ -2.310867 -1.811605 0
+ -1.968516 -1.469255 0
+ -1.440725 -1.355138 0
+ -1.740282 -1.697488 0
+ F4 26624 0.000000 4 0
+ -1.954251 1.882928 0
+ -1.497784 1.412196 0
+ -0.969993 1.212492 0
+ -1.483519 1.726018 0
+ L3 26624 -0.001500 -2.284069 -1.346166 0 -3.012323 -1.313064 0
+ L3 26624 -0.001500 -3.166801 -1.930976 0 -2.670265 -1.809601 0
+ L3 26624 -0.001500 -1.015142 -3.255075 0 -0.937903 -2.339240 0
+ L3 26624 -0.001500 -0.937903 -2.339240 0 -1.489610 -2.990255 0
+ L3 26624 -0.001500 1.313064 -3.288177 0 1.401337 -2.515787 0
+ L3 26624 -0.001500 1.401337 -2.515787 0 1.820635 -2.990255 0
+ L3 26624 -0.001500 3.155767 -1.699259 0 2.129591 -1.224791 0
+ L3 26624 -0.001500 2.129591 -1.224791 0 3.155767 -0.982039 0
+ L3 26624 -0.001500 2.868879 0.695152 0 2.096489 0.706186 0
+ L3 26624 -0.001500 2.096489 0.706186 0 2.736470 1.566849 0
+ L3 26624 -0.001500 1.964079 2.604060 0 1.114449 1.864772 0
+ L3 26624 -0.001500 1.114449 1.864772 0 1.136518 3.210938 0
+ L3 26624 -0.001500 -0.397229 3.431621 0 -0.408264 2.295103 0
+ L3 26624 -0.001500 -0.408264 2.295103 0 -0.959971 2.769572 0
+ L3 26624 -0.001500 -0.529639 -2.427513 0 -0.662049 -1.864772 0
+ L3 26624 -0.001500 0.893766 -2.570957 0 0.904800 -1.919942 0
+ L3 26624 -0.001500 1.721328 -2.206830 0 1.202722 -1.776498 0
+ L3 26624 -0.001500 1.997181 -1.688225 0 1.434440 -0.882732 0
+ L3 26624 -0.001500 2.581991 -0.463434 0 1.886840 -0.651015 0
+ L3 26624 -0.001500 2.648196 0.187581 0 1.500645 0.353093 0
+ L3 26624 -0.001500 1.610986 0.816527 0 2.151660 1.588918 0
+ L3 26624 -0.001500 1.721328 1.809601 0 0.849630 1.169620 0
+ L3 26624 -0.001500 0.684117 1.533747 0 0.463434 2.206830 0
+ L3 26624 -0.001500 0.033102 2.195796 0 -0.121376 1.313064 0
+ L3 26624 -0.001500 -0.893766 1.997181 0 -0.651015 1.125483 0
+ L3 26624 -0.001500 -1.688225 -0.319990 0 -0.882732 0.077239 0
+ L3 26624 -0.001500 -0.717220 -1.092381 0 -0.364127 -0.397229 0
+ L3 26624 -0.001500 0.551708 -1.633054 0 0.154478 -0.882732 0
+ L3 26624 -0.001500 1.059279 -1.202722 0 0.595844 -0.717220 0
+ L3 26624 -0.001500 1.467542 -0.319990 0 0.584810 -0.176546 0
+ L3 26624 -0.001500 0.948937 0.584810 0 0.408264 0.253785 0
+ L3 26624 -0.001500 0.110342 0.827561 0 0.143444 0.408264 0
+ L3 26624 -0.001500 -0.165512 0.275854 0 -0.507571 0.739288 0
+ L3 26624 -0.001500 -0.673083 -0.286888 0 -0.209649 -0.022068 0
+ L3 26624 -0.001500 0.353093 -0.562742 0 0.132410 -0.121376 0
+ L3 26624 -0.001500 -2.011310 -0.713230 0 -2.553365 -0.984258 0
+ L3 26624 -0.001500 -2.510571 0.584849 0 -1.825870 0.370880 0
+ L3 26624 -0.001500 -1.982781 2.125427 0 -1.369402 1.939987 0
+ END$SEGS
+STRUCTURE 383 3 0 0 0 Fn3 2 505.000000 535.348958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 384 3 0 0 0 Fn3 2 506.000000 528.348958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 385 3 0 0 0 Fn3 2 495.500000 535.848958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 386 3 0 0 0 Fn3 2 470.000000 542.348958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 387 3 0 0 0 Fn3 2 459.000000 541.348958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 388 3 0 0 0 Fn3 2 446.500000 577.348958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 389 3 0 0 0 Fn3 2 432.500000 589.848958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 390 3 0 0 0 Fn3 2 408.000000 590.348958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 391 3 0 0 0 Fn3 2 468.500000 540.348958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 392 3 0 0 0 Fn3 2 490.500000 534.348958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 393 3 0 0 0 Fn3 2 499.500000 530.348958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 394 3 0 0 0 Fn3 2 454.500000 545.848958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 395 3 0 0 0 Fn3 2 439.500000 583.348958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 396 3 0 0 0 Fn3 2 392.500000 589.848958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 397 3 0 0 0 Fn3 2 389.500000 599.848958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 398 3 0 0 0 Fn3 2 420.500000 593.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 399 3 0 0 0 Fn3 2 479.000000 542.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 400 3 0 0 0 Fn3 2 461.500000 534.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 401 3 0 0 0 Fn3 2 449.500000 540.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 402 3 0 0 0 Fn3 2 476.500000 535.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 403 3 0 0 0 Fn3 2 502.500000 521.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 404 3 0 0 0 Fn3 2 513.500000 518.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 405 3 0 0 0 Fn3 2 540.500000 530.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 406 3 0 0 0 Fn3 2 550.000000 525.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 407 3 0 0 0 Fn3 2 556.000000 531.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 408 3 0 0 0 Fn3 2 571.000000 516.848958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 409 3 0 0 0 Fn3 2 559.000000 519.348958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 410 3 0 0 0 Fn3 2 576.500000 508.848958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 411 3 0 0 0 Fn3 2 577.000000 529.848958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 412 3 0 0 0 Fn3 2 598.500000 514.848958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 413 3 0 0 0 Fn3 2 528.000000 505.348958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 414 3 0 0 0 Fn3 2 541.000000 489.348958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 415 3 0 0 0 Fn3 2 552.500000 456.348958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 416 3 0 0 0 Fn3 2 528.000000 496.848958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 417 3 0 0 0 Fn3 2 548.000000 532.348958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 418 3 0 0 0 Fn3 2 532.000000 489.848958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 419 3 0 0 0 Fn3 2 504.500000 512.348958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 420 3 0 0 0 Fn3 2 495.500000 524.848958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 421 3 0 0 0 Fn3 2 472.000000 528.348958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 422 3 0 0 0 Fn3 2 451.500000 532.848958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 423 3 0 0 0 Fn3 2 461.000000 529.848958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 424 3 0 0 0 Fn3 2 493.000000 509.848958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 425 3 0 0 0 Fn3 2 505.000000 501.848958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 426 3 0 0 0 Fn3 2 483.500000 527.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 427 3 0 0 0 Fn3 2 520.500000 497.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 428 3 0 0 0 Fn3 2 462.500000 522.848958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 429 3 0 0 0 Fn3 2 448.000000 525.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 430 3 0 0 0 Fn3 2 438.000000 573.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 431 3 0 0 0 Fn3 2 403.500000 575.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 432 3 0 0 0 Fn3 2 387.500000 584.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 433 3 0 0 0 Fn3 2 364.000000 604.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 434 3 0 0 0 Fn3 2 376.500000 612.848958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 435 3 0 0 0 Fn3 2 398.500000 607.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 436 3 0 0 0 Fn3 2 387.000000 609.848958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 437 3 0 0 0 Fn3 2 415.000000 603.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 438 3 0 0 0 Fn3 2 434.500000 599.848958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 439 3 0 0 0 Fn3 2 446.500000 592.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 440 3 0 0 0 Fn3 2 427.500000 605.348958 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 441 3 0 0 0 Fn3 2 410.500000 614.348958 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 442 3 0 0 0 Fn3 2 457.000000 587.848958 0 0.000000 "LgTrees 8"" Shade Shade-8a"
+ D 0.000000 0.000000
+ G3 8553090 0.000000 3.715967 -1.002915 0.054212 0
+ F4 26624 0.000000 28 0
+ -3.442655 1.853737 0
+ -2.868879 2.890948 0
+ -1.666157 2.361308 0
+ -1.313064 3.696441 0
+ -0.518605 4.038499 0
+ 0.375161 2.935084 0
+ 1.401337 3.895055 0
+ 2.637162 3.310245 0
+ 2.173728 2.085455 0
+ 3.652304 1.677191 0
+ 3.872987 0.286888 0
+ 3.100597 -0.430332 0
+ 3.828851 -1.467542 0
+ 3.277143 -2.394411 0
+ 2.383377 -2.063386 0
+ 2.350274 -3.255075 0
+ 1.180654 -3.872987 0
+ 0.695152 -3.122665 0
+ -0.286888 -3.133699 0
+ -0.529639 -3.895055 0
+ -2.041318 -3.409553 0
+ -1.853737 -2.515787 0
+ -3.100597 -2.427513 0
+ -3.740577 -1.136518 0
+ -3.034392 -0.408264 0
+ -3.961260 0.000000 0
+ -3.718509 0.926869 0
+ -2.736470 1.279962 0
+ F4 65280 0.000000 26 0
+ 0.551708 2.581991 0
+ 1.324098 3.354382 0
+ 2.063386 2.901982 0
+ 1.732362 1.610986 0
+ 3.210938 1.202722 0
+ 3.310245 0.562742 0
+ 2.383377 -0.077239 0
+ 3.188870 -1.290996 0
+ 2.835777 -1.710293 0
+ 1.953045 -1.688225 0
+ 1.908908 -2.703367 0
+ 1.147552 -3.122665 0
+ 0.518605 -2.383377 0
+ -0.430332 -2.515787 0
+ -0.651015 -3.023357 0
+ -1.456508 -2.813709 0
+ -1.467542 -1.930976 0
+ -2.140625 -1.908908 0
+ -2.581991 -1.026176 0
+ -1.798567 -0.286888 0
+ -2.537855 0.099307 0
+ -2.416479 0.628947 0
+ -1.235825 0.849630 0
+ -1.688225 1.655123 0
+ -0.948937 2.228899 0
+ -0.651015 2.879914 0
+ L3 65280 -0.001500 -0.700000 3.400000 0 -0.300000 3.100000 0
+ L3 65280 -0.001500 -1.000000 3.200000 0 -1.100000 2.700000 0
+ L3 65280 -0.001500 -2.300000 2.100000 0 -1.600000 2.100000 0
+ L3 65280 -0.001500 -2.800000 1.900000 0 -2.500000 1.600000 0
+ L3 65280 -0.001500 -2.100000 1.700000 0 -1.700000 1.400000 0
+ L3 65280 -0.001500 -1.900000 1.100000 0 -2.500000 1.000000 0
+ L3 65280 -0.001500 -3.400000 0.800000 0 -2.700000 0.800000 0
+ L3 65280 -0.001500 -3.400000 0.200000 0 -2.800000 0.500000 0
+ L3 65280 -0.001500 -2.300000 -0.300000 0 -2.800000 -0.200000 0
+ L3 65280 -0.001500 -2.700000 -0.700000 0 -3.400000 -1.100000 0
+ L3 65280 -0.001500 -3.100000 -1.500000 0 -2.600000 -1.600000 0
+ L3 65280 -0.001500 -2.400000 -2.300000 0 -2.200000 -2.000000 0
+ L3 65280 -0.001500 -1.500000 -3.000000 0 -1.700000 -3.300000 0
+ L3 65280 -0.001500 -0.900000 -3.200000 0 -0.700000 -3.500000 0
+ L3 65280 -0.001500 -0.100000 -2.700000 0 0.000000 -3.000000 0
+ L3 65280 -0.001500 0.500000 -2.700000 0 0.200000 -2.900000 0
+ L3 65280 -0.001500 1.300000 -3.200000 0 1.200000 -3.600000 0
+ L3 65280 -0.001500 1.900000 -3.000000 0 2.200000 -3.100000 0
+ L3 65280 -0.001500 3.500000 -1.400000 0 3.200000 -1.500000 0
+ L3 65280 -0.001500 3.000000 -1.900000 0 3.200000 -2.200000 0
+ L3 65280 -0.001500 3.500000 0.300000 0 3.100000 0.200000 0
+ L3 65280 -0.001500 -2.800000 2.500000 0 -2.600000 2.100000 0
+ L3 65280 -0.001500 -3.200000 1.900000 0 -2.900000 2.100000 0
+ F4 26624 0.000000 4 0
+ 1.540578 1.583372 0
+ 0.912935 1.397932 0
+ 0.841612 0.927200 0
+ 1.255286 1.098375 0
+ F4 26624 0.000000 5 0
+ -0.599114 1.897193 0
+ -0.542055 1.569107 0
+ 0.071323 1.298079 0
+ 0.242498 1.697488 0
+ -0.071323 1.997045 0
+ F4 26624 0.000000 4 0
+ 1.954251 -0.071323 0
+ 1.212492 -0.242498 0
+ 1.055581 0.128381 0
+ 2.068368 0.185440 0
+ F4 26624 0.000000 4 0
+ 0.470732 -1.897193 0
+ 0.099852 -1.611901 0
+ 0.199705 -1.012787 0
+ 0.427938 -1.098375 0
+ F4 26624 0.000000 3 0
+ 1.740282 -1.426461 0
+ 1.540578 -0.984258 0
+ 1.226756 -1.255286 0
+ F4 26624 0.000000 5 0
+ -1.497784 -0.171175 0
+ -1.298079 -0.028529 0
+ -0.613378 0.142646 0
+ -0.242498 -0.242498 0
+ -1.098375 -0.370880 0
+ F4 26624 0.000000 4 0
+ -1.312344 -1.654695 0
+ -0.912935 -1.554842 0
+ -0.627643 -0.884406 0
+ -1.069846 -0.998523 0
+ L3 26624 -0.001500 0.200000 2.200000 0 0.400000 1.900000 0
+ L3 26624 -0.001500 1.400000 1.900000 0 0.900000 1.700000 0
+ L3 26624 -0.001500 1.600000 2.400000 0 1.300000 2.200000 0
+ L3 26624 -0.001500 0.900000 2.600000 0 0.700000 2.200000 0
+ L3 26624 -0.001500 -0.400000 2.500000 0 -0.200000 2.200000 0
+ L3 26624 -0.001500 -1.200000 1.600000 0 -0.800000 1.600000 0
+ L3 26624 -0.001500 -0.900000 1.100000 0 -0.400000 1.300000 0
+ L3 26624 -0.001500 -1.200000 0.600000 0 -0.800000 0.300000 0
+ L3 26624 -0.001500 -1.800000 0.500000 0 -1.400000 0.300000 0
+ L3 26624 -0.001500 -2.300000 0.200000 0 -1.800000 0.000000 0
+ L3 26624 -0.001500 -1.600000 -0.500000 0 -2.000000 -0.900000 0
+ L3 26624 -0.001500 -1.800000 -1.400000 0 -1.500000 -1.000000 0
+ L3 26624 -0.001500 -1.100000 -2.200000 0 -0.800000 -1.800000 0
+ L3 26624 -0.001500 -0.400000 -1.800000 0 -0.500000 -2.400000 0
+ L3 26624 -0.001500 -0.300000 -1.100000 0 -0.200000 -1.500000 0
+ L3 26624 -0.001500 0.700000 -1.800000 0 0.900000 -2.400000 0
+ L3 26624 -0.001500 1.200000 -1.700000 0 1.800000 -2.000000 0
+ L3 26624 -0.001500 2.700000 -0.700000 0 2.200000 -0.800000 0
+ L3 26624 -0.001500 2.700000 -1.600000 0 2.200000 -1.400000 0
+ L3 26624 -0.001500 2.900000 -1.200000 0 2.400000 -1.100000 0
+ L3 26624 -0.001500 1.200000 -2.900000 0 1.100000 -2.500000 0
+ L3 26624 -0.001500 1.800000 -2.600000 0 1.500000 -2.300000 0
+ L3 26624 -0.001500 1.400000 -2.700000 0 1.200000 -2.100000 0
+ L3 26624 -0.001500 3.000000 0.500000 0 2.400000 0.600000 0
+ L3 26624 -0.001500 2.500000 1.300000 0 2.000000 1.000000 0
+ L3 26624 -0.001500 3.000000 1.000000 0 2.500000 0.900000 0
+ L3 26624 -0.001500 -1.000000 -2.800000 0 -0.900000 -2.400000 0
+ L3 26624 -0.001500 -2.200000 -1.400000 0 -1.900000 -1.200000 0
+ L3 26624 -0.001500 1.400000 3.200000 0 1.200000 2.700000 0
+ L3 26624 -0.001500 1.800000 2.900000 0 1.500000 2.600000 0
+ END$SEGS
+STRUCTURE 443 3 0 0 0 Fn3 2 378.000000 559.348958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 444 3 0 0 0 Fn3 2 365.000000 575.848958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 445 3 0 0 0 Fn3 2 332.500000 585.848958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 446 3 0 0 0 Fn3 2 344.500000 584.348958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 447 3 0 0 0 Fn3 2 352.500000 566.848958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 448 3 0 0 0 Fn3 2 304.000000 584.348958 0 0.000000 " 4"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.084328 2.000000 2.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.106666 1.893334 0 3.333334 0.560000 0
+ L3 2263842 0.000000 2.053334 2.053334 0 3.706666 3.013334 0
+ L3 2263842 0.000000 1.973334 2.106666 0 1.280000 3.866666 0
+ L3 2263842 0.000000 1.920000 2.026666 0 0.053334 2.266666 0
+ L3 2263842 0.000000 1.920000 1.946666 0 0.506666 0.720000 0
+ L3 2263842 0.000000 2.000000 1.920000 0 1.866666 0.026666 0
+ L3 2263842 0.000000 2.026666 2.106666 0 2.693334 3.866666 0
+ L3 2263842 0.000000 2.320000 1.973334 0 3.920000 1.680000 0
+ L3 2263842 0.000000 2.240000 1.280000 0 2.666666 0.186666 0
+ L3 2263842 0.000000 1.546666 1.173334 0 0.933334 0.373334 0
+ L3 2263842 0.000000 1.226666 1.813334 0 0.053334 1.546666 0
+ L3 2263842 0.000000 1.386666 2.373334 0 0.453334 3.226666 0
+ L3 2263842 0.000000 2.000000 3.973334 0 1.973334 2.826666 0
+ L3 2263842 0.000000 3.333334 3.493334 0 2.480000 2.613334 0
+ L3 2263842 0.000000 2.826666 2.160000 0 3.946666 2.320000 0
+ L3 2263842 0.000000 3.706666 1.013334 0 2.693334 1.546666 0
+ L3 2263842 0.000000 3.200000 1.520000 0 3.813334 1.360000 0
+ L3 2263842 0.000000 3.386666 1.920000 0 3.946666 1.946666 0
+ L3 2263842 0.000000 3.893334 2.693334 0 3.280000 2.480000 0
+ L3 2263842 0.000000 3.493334 3.306666 0 3.013334 2.853334 0
+ L3 2263842 0.000000 2.293334 3.946666 0 2.160000 3.306666 0
+ L3 2263842 0.000000 0.800000 3.573334 0 1.253334 3.013334 0
+ L3 2263842 0.000000 0.213334 2.800000 0 0.906666 2.453334 0
+ L3 2263842 0.000000 0.213334 1.120000 0 1.146666 1.573334 0
+ L3 2263842 0.000000 1.733334 1.040000 0 1.386666 0.133334 0
+ END$SEGS
+STRUCTURE 449 3 0 0 0 Fn3 2 296.500000 588.348958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 450 3 0 0 0 Fn3 2 344.000000 571.848958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 451 3 0 0 0 Fn3 2 371.000000 556.848958 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 452 3 0 0 0 Fn3 2 415.000000 553.848958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 453 3 0 0 0 Fn3 2 398.500000 558.848958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 454 3 0 0 0 Fn3 2 410.500000 545.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 455 3 0 0 0 Fn3 2 361.500000 554.848958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 456 3 0 0 0 Fn3 2 352.000000 599.848958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 457 3 0 0 0 Fn3 2 346.000000 600.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 458 3 0 0 0 Fn3 2 337.000000 620.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 459 3 0 0 0 Fn3 2 355.500000 619.848958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 460 3 0 0 0 Fn3 2 316.500000 611.848958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 461 3 0 0 0 Fn3 2 306.000000 603.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 462 3 0 0 0 Fn3 2 303.000000 619.348958 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 463 3 0 0 0 Fn3 2 266.833333 617.140625 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 464 3 0 0 0 Fn3 2 271.833333 601.640625 0 0.000000 " 6"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.126492 3.000000 3.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.159999 2.840001 0 5.000001 0.840000 0
+ L3 2263842 0.000000 3.080001 3.080001 0 5.559999 4.520001 0
+ L3 2263842 0.000000 2.960001 3.159999 0 1.920000 5.799999 0
+ L3 2263842 0.000000 2.880000 3.039999 0 0.080001 3.399999 0
+ L3 2263842 0.000000 2.880000 2.919999 0 0.759999 1.080000 0
+ L3 2263842 0.000000 3.000000 2.880000 0 2.799999 0.039999 0
+ L3 2263842 0.000000 3.039999 3.159999 0 4.040001 5.799999 0
+ L3 2263842 0.000000 3.480000 2.960001 0 5.880000 2.520000 0
+ L3 2263842 0.000000 3.360000 1.920000 0 3.999999 0.279999 0
+ L3 2263842 0.000000 2.319999 1.760001 0 1.400001 0.560001 0
+ L3 2263842 0.000000 1.839999 2.720001 0 0.080001 2.319999 0
+ L3 2263842 0.000000 2.079999 3.560001 0 0.680001 4.839999 0
+ L3 2263842 0.000000 3.000000 5.960001 0 2.960001 4.239999 0
+ L3 2263842 0.000000 5.000001 5.240001 0 3.720000 3.920001 0
+ L3 2263842 0.000000 4.239999 3.240000 0 5.919999 3.480000 0
+ L3 2263842 0.000000 5.559999 1.520001 0 4.040001 2.319999 0
+ L3 2263842 0.000000 4.800000 2.280000 0 5.720001 2.040000 0
+ L3 2263842 0.000000 5.079999 2.880000 0 5.919999 2.919999 0
+ L3 2263842 0.000000 5.840001 4.040001 0 4.920000 3.720000 0
+ L3 2263842 0.000000 5.240001 4.959999 0 4.520001 4.280001 0
+ L3 2263842 0.000000 3.440001 5.919999 0 3.240000 4.959999 0
+ L3 2263842 0.000000 1.200000 5.360001 0 1.880001 4.520001 0
+ L3 2263842 0.000000 0.320001 4.200000 0 1.359999 3.680001 0
+ L3 2263842 0.000000 0.320001 1.680000 0 1.719999 2.360001 0
+ L3 2263842 0.000000 2.600001 1.560000 0 2.079999 0.200001 0
+ END$SEGS
+STRUCTURE 465 3 0 0 0 Fn3 2 265.833333 598.140625 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 466 3 0 0 0 Fn3 2 279.333333 618.640625 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 467 3 0 0 0 Fn3 2 395.333333 616.640625 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 468 8 0 0 0 Fn3 2 179.995966 772.860351 0 39.568209 "Custom Gazebo Custom1"
+ D 0.000000 0.000000
+ L3 6815744 0.000000 0.000000 0.000000 0 96.000000 0.000000 0
+ L3 6815744 0.000000 96.000000 0.000000 0 96.000000 72.000000 0
+ L3 6815744 0.000000 96.000000 72.000000 0 0.000000 72.000000 0
+ L3 6815744 0.000000 0.000000 72.000000 0 0.000000 0.000000 0
+ L3 6815744 0.000000 24.000000 72.000000 0 0.000000 48.000000 0
+ L3 6815744 0.000000 0.000000 24.000000 0 48.000000 72.000000 0
+ L3 6815744 0.000000 0.000000 0.000000 0 72.000000 72.000000 0
+ L3 6815744 0.000000 24.000000 0.000000 0 96.000000 72.000000 0
+ L3 6815744 0.000000 48.000000 0.000000 0 96.000000 48.000000 0
+ L3 6815744 0.000000 72.000000 0.000000 0 96.000000 24.000000 0
+ L3 6815744 0.000000 72.000000 72.000000 0 96.000000 48.000000 0
+ L3 6815744 0.000000 0.000000 24.000000 0 24.000000 0.000000 0
+ L3 6815744 0.000000 96.000000 24.000000 0 48.000000 72.000000 0
+ L3 6815744 0.000000 96.000000 0.000000 0 24.000000 72.000000 0
+ L3 6815744 0.000000 72.000000 0.000000 0 0.000000 72.000000 0
+ L3 6815744 0.000000 48.000000 0.000000 0 0.000000 48.000000 0
+ L3 4276545 0.000000 -12.000000 36.000000 0 108.000000 36.000000 0
+ L3 4276545 0.000000 108.000000 -12.000000 0 -12.000000 -12.000000 0
+ L3 4276545 0.000000 108.000000 84.000000 0 108.000000 -12.000000 0
+ L3 4276545 0.000000 -12.000000 84.000000 0 108.000000 84.000000 0
+ L3 4276545 0.000000 -12.000000 -12.000000 0 -12.000000 84.000000 0
+ END$SEGS
+CURVE 469 0 0 0 0 Fn3 2 603.756868 475.000619 0 60.000000 0 0.000000 0.000000
+ T4 33 662.739816 486.001156 349.435568 9 -8.262544 -0.229026 56.138000 56.138000 1 1 0 56.138000
+ T4 34 663.400236 468.468499 186.250185 0 0.0 0.0 0.0 0.0 0 0 0 56.138000
+ END$SEGS
+STRUCTURE 470 3 0 0 0 Fn3 2 170.875000 363.041667 0 0.000000 "Lg Conifer 14"" Tree Conifer-14b"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -0.239190 -6.525637 0
+ -1.888080 -5.331336 0
+ -2.301071 -6.626625 0
+ -3.376515 -5.082467 0
+ -6.168735 -5.804052 0
+ -5.384403 -3.639298 0
+ -7.763813 -1.933548 0
+ -6.562385 -0.694575 0
+ -8.139259 0.000000 0
+ -5.980495 0.658838 0
+ -7.674651 2.541234 0
+ -5.729509 2.603980 0
+ -6.280801 4.918345 0
+ -4.234619 4.017274 0
+ -3.627501 6.462890 0
+ -2.090212 4.266763 0
+ -0.835281 6.651130 0
+ 1.076558 4.160617 0
+ 0.952994 -5.239333 0
+ F4 26624 0.000000 28 0
+ -4.329509 2.603980 0
+ -4.880801 4.918345 0
+ -2.834619 4.017274 0
+ -2.227501 6.462890 0
+ -0.690212 4.266763 0
+ 0.564719 6.651130 0
+ 2.476558 4.160617 0
+ 4.486582 5.631693 0
+ 3.698145 3.547967 0
+ 4.771502 1.799632 0
+ 6.589081 0.488080 0
+ 5.275019 -0.732120 0
+ 6.513991 -2.496717 0
+ 4.455002 -2.603980 0
+ 4.054819 -3.510422 0
+ 3.998502 -5.537831 0
+ 2.352994 -5.239333 0
+ 1.160810 -6.525637 0
+ -0.488080 -5.331336 0
+ -0.901071 -6.626625 0
+ -1.976515 -5.082467 0
+ -4.768735 -5.804052 0
+ -3.984403 -3.639298 0
+ -6.363813 -1.933548 0
+ -5.162385 -0.694575 0
+ -6.739259 0.000000 0
+ -4.580495 0.658838 0
+ -6.274651 2.541234 0
+ F4 11206591 0.000000 26 0
+ 0.938615 4.392720 0
+ 2.842080 6.567137 0
+ 3.510422 4.937117 0
+ 2.947253 2.740757 0
+ 5.187486 2.842080 0
+ 6.677509 1.627988 0
+ 4.054819 -0.131406 0
+ 6.456765 -2.759301 0
+ 4.663219 -3.173196 0
+ 3.322699 -2.872163 0
+ 3.247610 -4.599216 0
+ 2.952452 -6.263614 0
+ 0.882299 -4.054819 0
+ -0.732120 -4.280087 0
+ -1.107566 -5.143613 0
+ -2.510964 -6.208428 0
+ -2.496717 -3.285154 0
+ -5.766939 -4.056173 0
+ -5.104707 -1.765953 0
+ -3.059886 -0.488080 0
+ -5.380637 -0.441488 0
+ -6.484358 1.103720 0
+ -2.102499 1.445468 0
+ -5.518602 4.276917 0
+ -1.614419 3.792007 0
+ -1.701292 6.805167 0
+ L3 26624 0.000000 -3.885868 -2.290222 0 -5.124841 -2.233905 0
+ L3 26624 0.000000 -5.387653 -3.285154 0 -4.542899 -3.078659 0
+ L3 26624 0.000000 -1.727052 -5.537831 0 -1.595646 -3.979730 0
+ L3 26624 0.000000 -1.595646 -3.979730 0 -2.534262 -5.087296 0
+ L3 26624 0.000000 2.233905 -5.594148 0 2.384083 -4.280087 0
+ L3 26624 0.000000 2.384083 -4.280087 0 3.097431 -5.087296 0
+ L3 26624 0.000000 5.368881 -2.890936 0 3.623056 -2.083726 0
+ L3 26624 0.000000 3.623056 -2.083726 0 5.368881 -1.670736 0
+ L3 26624 0.000000 4.880801 1.182656 0 3.566739 1.201428 0
+ L3 26624 0.000000 3.566739 1.201428 0 4.655533 2.665668 0
+ L3 26624 0.000000 3.341471 4.430265 0 1.896003 3.172520 0
+ L3 26624 0.000000 1.896003 3.172520 0 1.933548 5.462742 0
+ L3 26624 0.000000 -0.675803 5.838188 0 -0.694575 3.904640 0
+ L3 26624 0.000000 -0.694575 3.904640 0 -1.633191 4.711850 0
+ L3 26624 0.000000 -0.901071 -4.129908 0 -1.126339 -3.172520 0
+ L3 26624 0.000000 1.520557 -4.373948 0 1.539329 -3.266382 0
+ L3 26624 0.000000 2.928480 -3.754462 0 2.046182 -3.022342 0
+ L3 26624 0.000000 3.397788 -2.872163 0 2.440400 -1.501785 0
+ L3 26624 0.000000 4.392720 -0.788437 0 3.210065 -1.107566 0
+ L3 26624 0.000000 4.505354 0.319129 0 2.553034 0.600714 0
+ L3 26624 0.000000 2.740757 1.389151 0 3.660600 2.703213 0
+ L3 26624 0.000000 2.928480 3.078659 0 1.445468 1.989865 0
+ L3 26624 0.000000 1.163883 2.609351 0 0.788437 3.754462 0
+ L3 26624 0.000000 0.056317 3.735690 0 -0.206495 2.233905 0
+ L3 26624 0.000000 -1.520557 3.397788 0 -1.107566 1.914776 0
+ L3 26624 0.000000 -2.872163 -0.544397 0 -1.501785 0.131406 0
+ L3 26624 0.000000 -1.220200 -1.858459 0 -0.619486 -0.675803 0
+ L3 26624 0.000000 0.938615 -2.778302 0 0.262812 -1.501785 0
+ L3 26624 0.000000 1.802142 -2.046182 0 1.013705 -1.220200 0
+ L3 26624 0.000000 2.496717 -0.544397 0 0.994932 -0.300357 0
+ L3 26624 0.000000 1.614419 0.994932 0 0.694575 0.431763 0
+ L3 26624 0.000000 0.187723 1.407923 0 0.244040 0.694575 0
+ L3 26624 0.000000 -0.281585 0.469308 0 -0.863526 1.257745 0
+ L3 26624 0.000000 -1.145111 -0.488080 0 -0.356674 -0.037545 0
+ L3 26624 0.000000 0.600714 -0.957388 0 0.225268 -0.206495 0
+ L3 26624 0.000000 -3.421825 -1.213413 0 -4.344019 -1.674510 0
+ L3 26624 0.000000 -4.271214 0.994999 0 -3.106337 0.630975 0
+ L3 26624 0.000000 -3.373288 3.615971 0 -2.329753 3.300483 0
+ F4 26624 0.000000 4 0
+ -3.154874 -1.868656 0
+ -2.548167 -1.164876 0
+ -1.480364 -0.752316 0
+ -2.159875 -1.625973 0
+ F4 26624 0.000000 4 0
+ -2.863655 0.994999 0
+ -1.553169 1.116340 0
+ -0.970730 0.582438 0
+ -2.038534 0.606707 0
+ F4 26624 0.000000 4 0
+ -1.431827 -2.354021 0
+ -1.650242 -3.130606 0
+ -2.451094 -3.518898 0
+ -2.232680 -2.887923 0
+ F4 26624 0.000000 4 0
+ -4.756579 -0.024268 0
+ -3.713044 -0.266951 0
+ -2.572436 0.097073 0
+ -3.737312 0.291219 0
+ F4 26624 0.000000 4 0
+ -3.931458 -3.082069 0
+ -3.349020 -2.499631 0
+ -2.451094 -2.305485 0
+ -2.960728 -2.887923 0
+ F4 26624 0.000000 4 0
+ -3.324752 3.203410 0
+ -2.548167 2.402558 0
+ -1.650242 2.062802 0
+ -2.523899 2.936459 0
+ END$SEGS
+STRUCTURE 471 3 0 0 0 Fn3 2 143.875000 375.541667 0 0.000000 "Lg Conifer 14"" Tree Conifer-14b"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -0.239190 -6.525637 0
+ -1.888080 -5.331336 0
+ -2.301071 -6.626625 0
+ -3.376515 -5.082467 0
+ -6.168735 -5.804052 0
+ -5.384403 -3.639298 0
+ -7.763813 -1.933548 0
+ -6.562385 -0.694575 0
+ -8.139259 0.000000 0
+ -5.980495 0.658838 0
+ -7.674651 2.541234 0
+ -5.729509 2.603980 0
+ -6.280801 4.918345 0
+ -4.234619 4.017274 0
+ -3.627501 6.462890 0
+ -2.090212 4.266763 0
+ -0.835281 6.651130 0
+ 1.076558 4.160617 0
+ 0.952994 -5.239333 0
+ F4 26624 0.000000 28 0
+ -4.329509 2.603980 0
+ -4.880801 4.918345 0
+ -2.834619 4.017274 0
+ -2.227501 6.462890 0
+ -0.690212 4.266763 0
+ 0.564719 6.651130 0
+ 2.476558 4.160617 0
+ 4.486582 5.631693 0
+ 3.698145 3.547967 0
+ 4.771502 1.799632 0
+ 6.589081 0.488080 0
+ 5.275019 -0.732120 0
+ 6.513991 -2.496717 0
+ 4.455002 -2.603980 0
+ 4.054819 -3.510422 0
+ 3.998502 -5.537831 0
+ 2.352994 -5.239333 0
+ 1.160810 -6.525637 0
+ -0.488080 -5.331336 0
+ -0.901071 -6.626625 0
+ -1.976515 -5.082467 0
+ -4.768735 -5.804052 0
+ -3.984403 -3.639298 0
+ -6.363813 -1.933548 0
+ -5.162385 -0.694575 0
+ -6.739259 0.000000 0
+ -4.580495 0.658838 0
+ -6.274651 2.541234 0
+ F4 11206591 0.000000 26 0
+ 0.938615 4.392720 0
+ 2.842080 6.567137 0
+ 3.510422 4.937117 0
+ 2.947253 2.740757 0
+ 5.187486 2.842080 0
+ 6.677509 1.627988 0
+ 4.054819 -0.131406 0
+ 6.456765 -2.759301 0
+ 4.663219 -3.173196 0
+ 3.322699 -2.872163 0
+ 3.247610 -4.599216 0
+ 2.952452 -6.263614 0
+ 0.882299 -4.054819 0
+ -0.732120 -4.280087 0
+ -1.107566 -5.143613 0
+ -2.510964 -6.208428 0
+ -2.496717 -3.285154 0
+ -5.766939 -4.056173 0
+ -5.104707 -1.765953 0
+ -3.059886 -0.488080 0
+ -5.380637 -0.441488 0
+ -6.484358 1.103720 0
+ -2.102499 1.445468 0
+ -5.518602 4.276917 0
+ -1.614419 3.792007 0
+ -1.701292 6.805167 0
+ L3 26624 0.000000 -3.885868 -2.290222 0 -5.124841 -2.233905 0
+ L3 26624 0.000000 -5.387653 -3.285154 0 -4.542899 -3.078659 0
+ L3 26624 0.000000 -1.727052 -5.537831 0 -1.595646 -3.979730 0
+ L3 26624 0.000000 -1.595646 -3.979730 0 -2.534262 -5.087296 0
+ L3 26624 0.000000 2.233905 -5.594148 0 2.384083 -4.280087 0
+ L3 26624 0.000000 2.384083 -4.280087 0 3.097431 -5.087296 0
+ L3 26624 0.000000 5.368881 -2.890936 0 3.623056 -2.083726 0
+ L3 26624 0.000000 3.623056 -2.083726 0 5.368881 -1.670736 0
+ L3 26624 0.000000 4.880801 1.182656 0 3.566739 1.201428 0
+ L3 26624 0.000000 3.566739 1.201428 0 4.655533 2.665668 0
+ L3 26624 0.000000 3.341471 4.430265 0 1.896003 3.172520 0
+ L3 26624 0.000000 1.896003 3.172520 0 1.933548 5.462742 0
+ L3 26624 0.000000 -0.675803 5.838188 0 -0.694575 3.904640 0
+ L3 26624 0.000000 -0.694575 3.904640 0 -1.633191 4.711850 0
+ L3 26624 0.000000 -0.901071 -4.129908 0 -1.126339 -3.172520 0
+ L3 26624 0.000000 1.520557 -4.373948 0 1.539329 -3.266382 0
+ L3 26624 0.000000 2.928480 -3.754462 0 2.046182 -3.022342 0
+ L3 26624 0.000000 3.397788 -2.872163 0 2.440400 -1.501785 0
+ L3 26624 0.000000 4.392720 -0.788437 0 3.210065 -1.107566 0
+ L3 26624 0.000000 4.505354 0.319129 0 2.553034 0.600714 0
+ L3 26624 0.000000 2.740757 1.389151 0 3.660600 2.703213 0
+ L3 26624 0.000000 2.928480 3.078659 0 1.445468 1.989865 0
+ L3 26624 0.000000 1.163883 2.609351 0 0.788437 3.754462 0
+ L3 26624 0.000000 0.056317 3.735690 0 -0.206495 2.233905 0
+ L3 26624 0.000000 -1.520557 3.397788 0 -1.107566 1.914776 0
+ L3 26624 0.000000 -2.872163 -0.544397 0 -1.501785 0.131406 0
+ L3 26624 0.000000 -1.220200 -1.858459 0 -0.619486 -0.675803 0
+ L3 26624 0.000000 0.938615 -2.778302 0 0.262812 -1.501785 0
+ L3 26624 0.000000 1.802142 -2.046182 0 1.013705 -1.220200 0
+ L3 26624 0.000000 2.496717 -0.544397 0 0.994932 -0.300357 0
+ L3 26624 0.000000 1.614419 0.994932 0 0.694575 0.431763 0
+ L3 26624 0.000000 0.187723 1.407923 0 0.244040 0.694575 0
+ L3 26624 0.000000 -0.281585 0.469308 0 -0.863526 1.257745 0
+ L3 26624 0.000000 -1.145111 -0.488080 0 -0.356674 -0.037545 0
+ L3 26624 0.000000 0.600714 -0.957388 0 0.225268 -0.206495 0
+ L3 26624 0.000000 -3.421825 -1.213413 0 -4.344019 -1.674510 0
+ L3 26624 0.000000 -4.271214 0.994999 0 -3.106337 0.630975 0
+ L3 26624 0.000000 -3.373288 3.615971 0 -2.329753 3.300483 0
+ F4 26624 0.000000 4 0
+ -3.154874 -1.868656 0
+ -2.548167 -1.164876 0
+ -1.480364 -0.752316 0
+ -2.159875 -1.625973 0
+ F4 26624 0.000000 4 0
+ -2.863655 0.994999 0
+ -1.553169 1.116340 0
+ -0.970730 0.582438 0
+ -2.038534 0.606707 0
+ F4 26624 0.000000 4 0
+ -1.431827 -2.354021 0
+ -1.650242 -3.130606 0
+ -2.451094 -3.518898 0
+ -2.232680 -2.887923 0
+ F4 26624 0.000000 4 0
+ -4.756579 -0.024268 0
+ -3.713044 -0.266951 0
+ -2.572436 0.097073 0
+ -3.737312 0.291219 0
+ F4 26624 0.000000 4 0
+ -3.931458 -3.082069 0
+ -3.349020 -2.499631 0
+ -2.451094 -2.305485 0
+ -2.960728 -2.887923 0
+ F4 26624 0.000000 4 0
+ -3.324752 3.203410 0
+ -2.548167 2.402558 0
+ -1.650242 2.062802 0
+ -2.523899 2.936459 0
+ END$SEGS
+STRUCTURE 472 3 0 0 0 Fn3 2 194.875000 375.041667 0 0.000000 "Lg Conifer 16"" Tree Conifer-16a"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -2.157806 6.092955 0
+ -0.273360 7.457871 0
+ 1.089136 5.987810 0
+ 1.230352 -4.754991 0
+ -0.954607 -7.601291 0
+ -2.388813 -4.876300 0
+ -4.145715 -7.386160 0
+ -4.839564 -4.591171 0
+ -7.178058 -5.620966 0
+ -6.548010 -2.975977 0
+ -8.771030 -2.904267 0
+ -6.834852 -0.752958 0
+ -9.302011 0.000000 0
+ -7.499869 0.793801 0
+ -8.872929 2.209769 0
+ -6.153604 4.159197 0
+ -7.049982 6.633202 0
+ -3.858874 5.808534 0
+ -2.629795 7.573286 0
+ F4 26624 0.000000 28 0
+ -4.948010 -2.975977 0
+ -5.578058 -5.620966 0
+ -3.239564 -4.591171 0
+ -2.545715 -7.386160 0
+ -0.788813 -4.876300 0
+ 0.645393 -7.601291 0
+ 2.830352 -4.754991 0
+ 5.127522 -6.436220 0
+ 4.226451 -4.054819 0
+ 5.453145 -2.056722 0
+ 7.530378 -0.557806 0
+ 6.028593 0.836709 0
+ 7.444562 2.853391 0
+ 5.091431 2.975977 0
+ 4.634079 4.011911 0
+ 4.569717 6.328950 0
+ 2.689136 5.987810 0
+ 1.326640 7.457871 0
+ -0.557806 6.092955 0
+ -1.029795 7.573286 0
+ -2.258874 5.808534 0
+ -5.449982 6.633202 0
+ -4.553604 4.159197 0
+ -7.272929 2.209769 0
+ -5.899869 0.793801 0
+ -7.702011 0.000000 0
+ -5.234852 -0.752958 0
+ -7.171030 -2.904267 0
+ F4 11206591 0.000000 26 0
+ 1.072703 -5.020252 0
+ 3.248092 -7.505299 0
+ 4.011911 -5.642420 0
+ 3.368289 -3.132294 0
+ 5.928556 -3.248092 0
+ 7.631439 -1.860557 0
+ 4.634079 0.150178 0
+ 7.379160 3.153487 0
+ 5.329393 3.626510 0
+ 3.797370 3.282472 0
+ 3.711554 5.256247 0
+ 3.374231 7.158416 0
+ 1.008341 4.634079 0
+ -0.836709 4.891528 0
+ -1.265790 5.878415 0
+ -2.869673 7.095346 0
+ -2.853391 3.754462 0
+ -6.590788 4.635626 0
+ -5.833951 2.018232 0
+ -3.497013 0.557806 0
+ -6.149300 0.504558 0
+ -7.410695 -1.261395 0
+ -2.402856 -1.651963 0
+ -6.306974 -4.887905 0
+ -1.845050 -4.333722 0
+ -1.944333 -7.777333 0
+ L3 26624 0.000000 -4.440992 2.617396 0 -5.856961 2.553034 0
+ L3 26624 0.000000 -6.157318 3.754462 0 -5.191885 3.518467 0
+ L3 26624 0.000000 -1.973774 6.328950 0 -1.823596 4.548262 0
+ L3 26624 0.000000 -1.823596 4.548262 0 -2.896299 5.814053 0
+ L3 26624 0.000000 2.553034 6.393312 0 2.724667 4.891528 0
+ L3 26624 0.000000 2.724667 4.891528 0 3.539921 5.814053 0
+ L3 26624 0.000000 6.135864 3.303927 0 4.140635 2.381402 0
+ L3 26624 0.000000 4.140635 2.381402 0 6.135864 1.909412 0
+ L3 26624 0.000000 5.578058 -1.351606 0 4.076273 -1.373060 0
+ L3 26624 0.000000 4.076273 -1.373060 0 5.320609 -3.046478 0
+ L3 26624 0.000000 3.818824 -5.063160 0 2.166861 -3.625738 0
+ L3 26624 0.000000 2.166861 -3.625738 0 2.209769 -6.243134 0
+ L3 26624 0.000000 -0.772346 -6.672215 0 -0.793801 -4.462446 0
+ L3 26624 0.000000 -0.793801 -4.462446 0 -1.866504 -5.384971 0
+ L3 26624 0.000000 -1.029795 4.719895 0 -1.287244 3.625738 0
+ L3 26624 0.000000 1.737780 4.998798 0 1.759234 3.733008 0
+ L3 26624 0.000000 3.346835 4.290814 0 2.338493 3.454105 0
+ L3 26624 0.000000 3.883186 3.282472 0 2.789029 1.716325 0
+ L3 26624 0.000000 5.020252 0.901071 0 3.668646 1.265790 0
+ L3 26624 0.000000 5.148976 -0.364719 0 2.917753 -0.686530 0
+ L3 26624 0.000000 3.132294 -1.587601 0 4.183543 -3.089386 0
+ L3 26624 0.000000 3.346835 -3.518467 0 1.651963 -2.274131 0
+ L3 26624 0.000000 1.330152 -2.982115 0 0.901071 -4.290814 0
+ L3 26624 0.000000 0.064362 -4.269360 0 -0.235995 -2.553034 0
+ L3 26624 0.000000 -1.737780 -3.883186 0 -1.265790 -2.188315 0
+ L3 26624 0.000000 -3.282472 0.622168 0 -1.716325 -0.150178 0
+ L3 26624 0.000000 -1.394514 2.123953 0 -0.707984 0.772346 0
+ L3 26624 0.000000 1.072703 3.175202 0 0.300357 1.716325 0
+ L3 26624 0.000000 2.059591 2.338493 0 1.158520 1.394514 0
+ L3 26624 0.000000 2.853391 0.622168 0 1.137066 0.343265 0
+ L3 26624 0.000000 1.845050 -1.137066 0 0.793801 -0.493444 0
+ L3 26624 0.000000 0.214541 -1.609055 0 0.278903 -0.793801 0
+ L3 26624 0.000000 -0.321811 -0.536352 0 -0.986887 -1.437423 0
+ L3 26624 0.000000 -1.308698 0.557806 0 -0.407627 0.042908 0
+ L3 26624 0.000000 0.686530 1.094157 0 0.257449 0.235995 0
+ L3 26624 0.000000 -3.910657 1.386758 0 -4.964593 1.913726 0
+ L3 26624 0.000000 -4.881387 -1.137141 0 -3.550100 -0.721114 0
+ L3 26624 0.000000 -3.855186 -4.132538 0 -2.662575 -3.771981 0
+ F4 26624 0.000000 4 0
+ -3.605570 2.135607 0
+ -2.912191 1.331287 0
+ -1.691844 0.859790 0
+ -2.468429 1.858255 0
+ F4 26624 0.000000 4 0
+ -3.272748 -1.137141 0
+ -1.775050 -1.275817 0
+ -1.109406 -0.665644 0
+ -2.329753 -0.693379 0
+ F4 26624 0.000000 4 0
+ -1.636374 2.690310 0
+ -1.885991 3.577835 0
+ -2.801251 4.021597 0
+ -2.551634 3.300483 0
+ F4 26624 0.000000 4 0
+ -5.436090 0.027735 0
+ -4.243479 0.305087 0
+ -2.939926 -0.110941 0
+ -4.271214 -0.332822 0
+ F4 26624 0.000000 4 0
+ -4.493095 3.522365 0
+ -3.827451 2.856721 0
+ -2.801251 2.634840 0
+ -3.383689 3.300483 0
+ F4 26624 0.000000 4 0
+ -3.799716 -3.661040 0
+ -2.912191 -2.745780 0
+ -1.885991 -2.357488 0
+ -2.884456 -3.355954 0
+ END$SEGS
+STRUCTURE 473 3 0 0 0 Fn3 2 196.875000 355.041667 0 0.000000 "Lg Conifer 16"" Tree Conifer-16a"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -2.157806 6.092955 0
+ -0.273360 7.457871 0
+ 1.089136 5.987810 0
+ 1.230352 -4.754991 0
+ -0.954607 -7.601291 0
+ -2.388813 -4.876300 0
+ -4.145715 -7.386160 0
+ -4.839564 -4.591171 0
+ -7.178058 -5.620966 0
+ -6.548010 -2.975977 0
+ -8.771030 -2.904267 0
+ -6.834852 -0.752958 0
+ -9.302011 0.000000 0
+ -7.499869 0.793801 0
+ -8.872929 2.209769 0
+ -6.153604 4.159197 0
+ -7.049982 6.633202 0
+ -3.858874 5.808534 0
+ -2.629795 7.573286 0
+ F4 26624 0.000000 28 0
+ -4.948010 -2.975977 0
+ -5.578058 -5.620966 0
+ -3.239564 -4.591171 0
+ -2.545715 -7.386160 0
+ -0.788813 -4.876300 0
+ 0.645393 -7.601291 0
+ 2.830352 -4.754991 0
+ 5.127522 -6.436220 0
+ 4.226451 -4.054819 0
+ 5.453145 -2.056722 0
+ 7.530378 -0.557806 0
+ 6.028593 0.836709 0
+ 7.444562 2.853391 0
+ 5.091431 2.975977 0
+ 4.634079 4.011911 0
+ 4.569717 6.328950 0
+ 2.689136 5.987810 0
+ 1.326640 7.457871 0
+ -0.557806 6.092955 0
+ -1.029795 7.573286 0
+ -2.258874 5.808534 0
+ -5.449982 6.633202 0
+ -4.553604 4.159197 0
+ -7.272929 2.209769 0
+ -5.899869 0.793801 0
+ -7.702011 0.000000 0
+ -5.234852 -0.752958 0
+ -7.171030 -2.904267 0
+ F4 11206591 0.000000 26 0
+ 1.072703 -5.020252 0
+ 3.248092 -7.505299 0
+ 4.011911 -5.642420 0
+ 3.368289 -3.132294 0
+ 5.928556 -3.248092 0
+ 7.631439 -1.860557 0
+ 4.634079 0.150178 0
+ 7.379160 3.153487 0
+ 5.329393 3.626510 0
+ 3.797370 3.282472 0
+ 3.711554 5.256247 0
+ 3.374231 7.158416 0
+ 1.008341 4.634079 0
+ -0.836709 4.891528 0
+ -1.265790 5.878415 0
+ -2.869673 7.095346 0
+ -2.853391 3.754462 0
+ -6.590788 4.635626 0
+ -5.833951 2.018232 0
+ -3.497013 0.557806 0
+ -6.149300 0.504558 0
+ -7.410695 -1.261395 0
+ -2.402856 -1.651963 0
+ -6.306974 -4.887905 0
+ -1.845050 -4.333722 0
+ -1.944333 -7.777333 0
+ L3 26624 0.000000 -4.440992 2.617396 0 -5.856961 2.553034 0
+ L3 26624 0.000000 -6.157318 3.754462 0 -5.191885 3.518467 0
+ L3 26624 0.000000 -1.973774 6.328950 0 -1.823596 4.548262 0
+ L3 26624 0.000000 -1.823596 4.548262 0 -2.896299 5.814053 0
+ L3 26624 0.000000 2.553034 6.393312 0 2.724667 4.891528 0
+ L3 26624 0.000000 2.724667 4.891528 0 3.539921 5.814053 0
+ L3 26624 0.000000 6.135864 3.303927 0 4.140635 2.381402 0
+ L3 26624 0.000000 4.140635 2.381402 0 6.135864 1.909412 0
+ L3 26624 0.000000 5.578058 -1.351606 0 4.076273 -1.373060 0
+ L3 26624 0.000000 4.076273 -1.373060 0 5.320609 -3.046478 0
+ L3 26624 0.000000 3.818824 -5.063160 0 2.166861 -3.625738 0
+ L3 26624 0.000000 2.166861 -3.625738 0 2.209769 -6.243134 0
+ L3 26624 0.000000 -0.772346 -6.672215 0 -0.793801 -4.462446 0
+ L3 26624 0.000000 -0.793801 -4.462446 0 -1.866504 -5.384971 0
+ L3 26624 0.000000 -1.029795 4.719895 0 -1.287244 3.625738 0
+ L3 26624 0.000000 1.737780 4.998798 0 1.759234 3.733008 0
+ L3 26624 0.000000 3.346835 4.290814 0 2.338493 3.454105 0
+ L3 26624 0.000000 3.883186 3.282472 0 2.789029 1.716325 0
+ L3 26624 0.000000 5.020252 0.901071 0 3.668646 1.265790 0
+ L3 26624 0.000000 5.148976 -0.364719 0 2.917753 -0.686530 0
+ L3 26624 0.000000 3.132294 -1.587601 0 4.183543 -3.089386 0
+ L3 26624 0.000000 3.346835 -3.518467 0 1.651963 -2.274131 0
+ L3 26624 0.000000 1.330152 -2.982115 0 0.901071 -4.290814 0
+ L3 26624 0.000000 0.064362 -4.269360 0 -0.235995 -2.553034 0
+ L3 26624 0.000000 -1.737780 -3.883186 0 -1.265790 -2.188315 0
+ L3 26624 0.000000 -3.282472 0.622168 0 -1.716325 -0.150178 0
+ L3 26624 0.000000 -1.394514 2.123953 0 -0.707984 0.772346 0
+ L3 26624 0.000000 1.072703 3.175202 0 0.300357 1.716325 0
+ L3 26624 0.000000 2.059591 2.338493 0 1.158520 1.394514 0
+ L3 26624 0.000000 2.853391 0.622168 0 1.137066 0.343265 0
+ L3 26624 0.000000 1.845050 -1.137066 0 0.793801 -0.493444 0
+ L3 26624 0.000000 0.214541 -1.609055 0 0.278903 -0.793801 0
+ L3 26624 0.000000 -0.321811 -0.536352 0 -0.986887 -1.437423 0
+ L3 26624 0.000000 -1.308698 0.557806 0 -0.407627 0.042908 0
+ L3 26624 0.000000 0.686530 1.094157 0 0.257449 0.235995 0
+ L3 26624 0.000000 -3.910657 1.386758 0 -4.964593 1.913726 0
+ L3 26624 0.000000 -4.881387 -1.137141 0 -3.550100 -0.721114 0
+ L3 26624 0.000000 -3.855186 -4.132538 0 -2.662575 -3.771981 0
+ F4 26624 0.000000 4 0
+ -3.605570 2.135607 0
+ -2.912191 1.331287 0
+ -1.691844 0.859790 0
+ -2.468429 1.858255 0
+ F4 26624 0.000000 4 0
+ -3.272748 -1.137141 0
+ -1.775050 -1.275817 0
+ -1.109406 -0.665644 0
+ -2.329753 -0.693379 0
+ F4 26624 0.000000 4 0
+ -1.636374 2.690310 0
+ -1.885991 3.577835 0
+ -2.801251 4.021597 0
+ -2.551634 3.300483 0
+ F4 26624 0.000000 4 0
+ -5.436090 0.027735 0
+ -4.243479 0.305087 0
+ -2.939926 -0.110941 0
+ -4.271214 -0.332822 0
+ F4 26624 0.000000 4 0
+ -4.493095 3.522365 0
+ -3.827451 2.856721 0
+ -2.801251 2.634840 0
+ -3.383689 3.300483 0
+ F4 26624 0.000000 4 0
+ -3.799716 -3.661040 0
+ -2.912191 -2.745780 0
+ -1.885991 -2.357488 0
+ -2.884456 -3.355954 0
+ END$SEGS
+STRUCTURE 474 3 0 0 0 Fn3 2 177.375000 377.041667 0 0.000000 "Lg Conifer 12"" Tree Conifer-12b"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -0.205020 -5.593403 0
+ -1.618354 -4.569717 0
+ -1.972346 -5.679965 0
+ -2.894156 -4.356400 0
+ -5.287487 -4.974902 0
+ -4.615203 -3.119398 0
+ -6.654697 -1.657327 0
+ -5.624902 -0.595350 0
+ -6.976508 0.000000 0
+ -5.126139 0.564719 0
+ -6.578272 2.178200 0
+ -4.911008 2.231983 0
+ -5.383543 4.215724 0
+ -3.629673 3.443378 0
+ -3.109287 5.539620 0
+ -1.791610 3.657225 0
+ -0.715956 5.700969 0
+ 0.922764 3.566244 0
+ 0.816852 -4.490857 0
+ F4 26624 0.000000 28 0
+ -3.711008 2.231983 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.909287 5.539620 0
+ -0.591610 3.657225 0
+ 0.484044 5.700969 0
+ 2.122764 3.566244 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 4.089859 1.542542 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 3.818573 -2.231983 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 2.016852 -4.490857 0
+ 0.994980 -5.593403 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -1.694156 -4.356400 0
+ -4.087487 -4.974902 0
+ -3.415203 -3.119398 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 0.564719 0
+ -5.378272 2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 3.765189 0
+ 2.436069 5.628974 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.446417 2.436069 0
+ 5.723579 1.395418 0
+ 3.475559 -0.112634 0
+ 5.534370 -2.365115 0
+ 3.997045 -2.719883 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 2.530673 -5.368812 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.152255 -5.321509 0
+ -2.140043 -2.815846 0
+ -4.943091 -3.476719 0
+ -4.375463 -1.513674 0
+ -2.622760 -0.418354 0
+ -4.611975 -0.378418 0
+ -5.558021 0.946046 0
+ -1.802142 1.238972 0
+ -4.730231 3.665929 0
+ -1.383787 3.250291 0
+ -1.458250 5.833000 0
+ L3 26624 0.000000 -3.330744 -1.963047 0 -4.392720 -1.914776 0
+ L3 26624 0.000000 -4.617988 -2.815846 0 -3.893913 -2.638850 0
+ L3 26624 0.000000 -1.480331 -4.746713 0 -1.367697 -3.411197 0
+ L3 26624 0.000000 -1.367697 -3.411197 0 -2.172224 -4.360539 0
+ L3 26624 0.000000 1.914776 -4.794984 0 2.043500 -3.668646 0
+ L3 26624 0.000000 2.043500 -3.668646 0 2.654941 -4.360539 0
+ L3 26624 0.000000 4.601898 -2.477945 0 3.105476 -1.786051 0
+ L3 26624 0.000000 3.105476 -1.786051 0 4.601898 -1.432059 0
+ L3 26624 0.000000 4.183543 1.013705 0 3.057205 1.029795 0
+ L3 26624 0.000000 3.057205 1.029795 0 3.990457 2.284858 0
+ L3 26624 0.000000 2.864118 3.797370 0 1.625146 2.719303 0
+ L3 26624 0.000000 1.625146 2.719303 0 1.657327 4.682350 0
+ L3 26624 0.000000 -0.579260 5.004161 0 -0.595350 3.346835 0
+ L3 26624 0.000000 -0.595350 3.346835 0 -1.399878 4.038728 0
+ L3 26624 0.000000 -0.772346 -3.539921 0 -0.965433 -2.719303 0
+ L3 26624 0.000000 1.303335 -3.749098 0 1.319425 -2.799756 0
+ L3 26624 0.000000 2.510126 -3.218110 0 1.753870 -2.590579 0
+ L3 26624 0.000000 2.912390 -2.461854 0 2.091772 -1.287244 0
+ L3 26624 0.000000 3.765189 -0.675803 0 2.751484 -0.949343 0
+ L3 26624 0.000000 3.861732 0.273539 0 2.188315 0.514898 0
+ L3 26624 0.000000 2.349220 1.190701 0 3.137657 2.317039 0
+ L3 26624 0.000000 2.510126 2.638850 0 1.238972 1.705598 0
+ L3 26624 0.000000 0.997614 2.236587 0 0.675803 3.218110 0
+ L3 26624 0.000000 0.048272 3.202020 0 -0.176996 1.914776 0
+ L3 26624 0.000000 -1.303335 2.912390 0 -0.949343 1.641236 0
+ L3 26624 0.000000 -2.461854 -0.466626 0 -1.287244 0.112634 0
+ L3 26624 0.000000 -1.045886 -1.592965 0 -0.530988 -0.579260 0
+ L3 26624 0.000000 0.804528 -2.381402 0 0.225268 -1.287244 0
+ L3 26624 0.000000 1.544693 -1.753870 0 0.868890 -1.045886 0
+ L3 26624 0.000000 2.140043 -0.466626 0 0.852799 -0.257449 0
+ L3 26624 0.000000 1.383787 0.852799 0 0.595350 0.370083 0
+ L3 26624 0.000000 0.160906 1.206791 0 0.209177 0.595350 0
+ L3 26624 0.000000 -0.241358 0.402264 0 -0.740165 1.078067 0
+ L3 26624 0.000000 -0.981524 -0.418354 0 -0.305720 -0.032181 0
+ L3 26624 0.000000 0.514898 -0.820618 0 0.193087 -0.176996 0
+ L3 26624 0.000000 -2.932993 -1.040068 0 -3.723444 -1.435294 0
+ L3 26624 0.000000 -3.661040 0.852856 0 -2.662575 0.540836 0
+ L3 26624 0.000000 -2.891390 3.099404 0 -1.996931 2.828986 0
+ F4 26624 0.000000 4 0
+ -2.704178 -1.601705 0
+ -2.184143 -0.998466 0
+ -1.268883 -0.644842 0
+ -1.851322 -1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 0.852856 0
+ -1.331287 0.956863 0
+ -0.832055 0.499233 0
+ -1.747315 0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 -2.017732 0
+ -1.414493 -2.683376 0
+ -2.100938 -3.016198 0
+ -1.913726 -2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 -0.020801 0
+ -3.182609 -0.228815 0
+ -2.204945 0.083205 0
+ -3.203410 0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 -2.641773 0
+ -2.870588 -2.142541 0
+ -2.100938 -1.976130 0
+ -2.537767 -2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 2.745780 0
+ -2.184143 2.059335 0
+ -1.414493 1.768116 0
+ -2.163342 2.516965 0
+ END$SEGS
+STRUCTURE 475 3 0 0 0 Fn3 2 162.375000 378.041667 0 0.000000 "Lg Conifer 12"" Tree Conifer-12b"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -0.205020 -5.593403 0
+ -1.618354 -4.569717 0
+ -1.972346 -5.679965 0
+ -2.894156 -4.356400 0
+ -5.287487 -4.974902 0
+ -4.615203 -3.119398 0
+ -6.654697 -1.657327 0
+ -5.624902 -0.595350 0
+ -6.976508 0.000000 0
+ -5.126139 0.564719 0
+ -6.578272 2.178200 0
+ -4.911008 2.231983 0
+ -5.383543 4.215724 0
+ -3.629673 3.443378 0
+ -3.109287 5.539620 0
+ -1.791610 3.657225 0
+ -0.715956 5.700969 0
+ 0.922764 3.566244 0
+ 0.816852 -4.490857 0
+ F4 26624 0.000000 28 0
+ -3.711008 2.231983 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.909287 5.539620 0
+ -0.591610 3.657225 0
+ 0.484044 5.700969 0
+ 2.122764 3.566244 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 4.089859 1.542542 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 3.818573 -2.231983 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 2.016852 -4.490857 0
+ 0.994980 -5.593403 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -1.694156 -4.356400 0
+ -4.087487 -4.974902 0
+ -3.415203 -3.119398 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 0.564719 0
+ -5.378272 2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 3.765189 0
+ 2.436069 5.628974 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.446417 2.436069 0
+ 5.723579 1.395418 0
+ 3.475559 -0.112634 0
+ 5.534370 -2.365115 0
+ 3.997045 -2.719883 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 2.530673 -5.368812 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.152255 -5.321509 0
+ -2.140043 -2.815846 0
+ -4.943091 -3.476719 0
+ -4.375463 -1.513674 0
+ -2.622760 -0.418354 0
+ -4.611975 -0.378418 0
+ -5.558021 0.946046 0
+ -1.802142 1.238972 0
+ -4.730231 3.665929 0
+ -1.383787 3.250291 0
+ -1.458250 5.833000 0
+ L3 26624 0.000000 -3.330744 -1.963047 0 -4.392720 -1.914776 0
+ L3 26624 0.000000 -4.617988 -2.815846 0 -3.893913 -2.638850 0
+ L3 26624 0.000000 -1.480331 -4.746713 0 -1.367697 -3.411197 0
+ L3 26624 0.000000 -1.367697 -3.411197 0 -2.172224 -4.360539 0
+ L3 26624 0.000000 1.914776 -4.794984 0 2.043500 -3.668646 0
+ L3 26624 0.000000 2.043500 -3.668646 0 2.654941 -4.360539 0
+ L3 26624 0.000000 4.601898 -2.477945 0 3.105476 -1.786051 0
+ L3 26624 0.000000 3.105476 -1.786051 0 4.601898 -1.432059 0
+ L3 26624 0.000000 4.183543 1.013705 0 3.057205 1.029795 0
+ L3 26624 0.000000 3.057205 1.029795 0 3.990457 2.284858 0
+ L3 26624 0.000000 2.864118 3.797370 0 1.625146 2.719303 0
+ L3 26624 0.000000 1.625146 2.719303 0 1.657327 4.682350 0
+ L3 26624 0.000000 -0.579260 5.004161 0 -0.595350 3.346835 0
+ L3 26624 0.000000 -0.595350 3.346835 0 -1.399878 4.038728 0
+ L3 26624 0.000000 -0.772346 -3.539921 0 -0.965433 -2.719303 0
+ L3 26624 0.000000 1.303335 -3.749098 0 1.319425 -2.799756 0
+ L3 26624 0.000000 2.510126 -3.218110 0 1.753870 -2.590579 0
+ L3 26624 0.000000 2.912390 -2.461854 0 2.091772 -1.287244 0
+ L3 26624 0.000000 3.765189 -0.675803 0 2.751484 -0.949343 0
+ L3 26624 0.000000 3.861732 0.273539 0 2.188315 0.514898 0
+ L3 26624 0.000000 2.349220 1.190701 0 3.137657 2.317039 0
+ L3 26624 0.000000 2.510126 2.638850 0 1.238972 1.705598 0
+ L3 26624 0.000000 0.997614 2.236587 0 0.675803 3.218110 0
+ L3 26624 0.000000 0.048272 3.202020 0 -0.176996 1.914776 0
+ L3 26624 0.000000 -1.303335 2.912390 0 -0.949343 1.641236 0
+ L3 26624 0.000000 -2.461854 -0.466626 0 -1.287244 0.112634 0
+ L3 26624 0.000000 -1.045886 -1.592965 0 -0.530988 -0.579260 0
+ L3 26624 0.000000 0.804528 -2.381402 0 0.225268 -1.287244 0
+ L3 26624 0.000000 1.544693 -1.753870 0 0.868890 -1.045886 0
+ L3 26624 0.000000 2.140043 -0.466626 0 0.852799 -0.257449 0
+ L3 26624 0.000000 1.383787 0.852799 0 0.595350 0.370083 0
+ L3 26624 0.000000 0.160906 1.206791 0 0.209177 0.595350 0
+ L3 26624 0.000000 -0.241358 0.402264 0 -0.740165 1.078067 0
+ L3 26624 0.000000 -0.981524 -0.418354 0 -0.305720 -0.032181 0
+ L3 26624 0.000000 0.514898 -0.820618 0 0.193087 -0.176996 0
+ L3 26624 0.000000 -2.932993 -1.040068 0 -3.723444 -1.435294 0
+ L3 26624 0.000000 -3.661040 0.852856 0 -2.662575 0.540836 0
+ L3 26624 0.000000 -2.891390 3.099404 0 -1.996931 2.828986 0
+ F4 26624 0.000000 4 0
+ -2.704178 -1.601705 0
+ -2.184143 -0.998466 0
+ -1.268883 -0.644842 0
+ -1.851322 -1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 0.852856 0
+ -1.331287 0.956863 0
+ -0.832055 0.499233 0
+ -1.747315 0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 -2.017732 0
+ -1.414493 -2.683376 0
+ -2.100938 -3.016198 0
+ -1.913726 -2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 -0.020801 0
+ -3.182609 -0.228815 0
+ -2.204945 0.083205 0
+ -3.203410 0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 -2.641773 0
+ -2.870588 -2.142541 0
+ -2.100938 -1.976130 0
+ -2.537767 -2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 2.745780 0
+ -2.184143 2.059335 0
+ -1.414493 1.768116 0
+ -2.163342 2.516965 0
+ END$SEGS
+STRUCTURE 476 3 0 0 0 Fn3 2 210.875000 384.541667 0 0.000000 "Lg Conifer 12"" Tree Conifer-12b"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -0.205020 -5.593403 0
+ -1.618354 -4.569717 0
+ -1.972346 -5.679965 0
+ -2.894156 -4.356400 0
+ -5.287487 -4.974902 0
+ -4.615203 -3.119398 0
+ -6.654697 -1.657327 0
+ -5.624902 -0.595350 0
+ -6.976508 0.000000 0
+ -5.126139 0.564719 0
+ -6.578272 2.178200 0
+ -4.911008 2.231983 0
+ -5.383543 4.215724 0
+ -3.629673 3.443378 0
+ -3.109287 5.539620 0
+ -1.791610 3.657225 0
+ -0.715956 5.700969 0
+ 0.922764 3.566244 0
+ 0.816852 -4.490857 0
+ F4 26624 0.000000 28 0
+ -3.711008 2.231983 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.909287 5.539620 0
+ -0.591610 3.657225 0
+ 0.484044 5.700969 0
+ 2.122764 3.566244 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 4.089859 1.542542 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 3.818573 -2.231983 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 2.016852 -4.490857 0
+ 0.994980 -5.593403 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -1.694156 -4.356400 0
+ -4.087487 -4.974902 0
+ -3.415203 -3.119398 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 0.564719 0
+ -5.378272 2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 3.765189 0
+ 2.436069 5.628974 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.446417 2.436069 0
+ 5.723579 1.395418 0
+ 3.475559 -0.112634 0
+ 5.534370 -2.365115 0
+ 3.997045 -2.719883 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 2.530673 -5.368812 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.152255 -5.321509 0
+ -2.140043 -2.815846 0
+ -4.943091 -3.476719 0
+ -4.375463 -1.513674 0
+ -2.622760 -0.418354 0
+ -4.611975 -0.378418 0
+ -5.558021 0.946046 0
+ -1.802142 1.238972 0
+ -4.730231 3.665929 0
+ -1.383787 3.250291 0
+ -1.458250 5.833000 0
+ L3 26624 0.000000 -3.330744 -1.963047 0 -4.392720 -1.914776 0
+ L3 26624 0.000000 -4.617988 -2.815846 0 -3.893913 -2.638850 0
+ L3 26624 0.000000 -1.480331 -4.746713 0 -1.367697 -3.411197 0
+ L3 26624 0.000000 -1.367697 -3.411197 0 -2.172224 -4.360539 0
+ L3 26624 0.000000 1.914776 -4.794984 0 2.043500 -3.668646 0
+ L3 26624 0.000000 2.043500 -3.668646 0 2.654941 -4.360539 0
+ L3 26624 0.000000 4.601898 -2.477945 0 3.105476 -1.786051 0
+ L3 26624 0.000000 3.105476 -1.786051 0 4.601898 -1.432059 0
+ L3 26624 0.000000 4.183543 1.013705 0 3.057205 1.029795 0
+ L3 26624 0.000000 3.057205 1.029795 0 3.990457 2.284858 0
+ L3 26624 0.000000 2.864118 3.797370 0 1.625146 2.719303 0
+ L3 26624 0.000000 1.625146 2.719303 0 1.657327 4.682350 0
+ L3 26624 0.000000 -0.579260 5.004161 0 -0.595350 3.346835 0
+ L3 26624 0.000000 -0.595350 3.346835 0 -1.399878 4.038728 0
+ L3 26624 0.000000 -0.772346 -3.539921 0 -0.965433 -2.719303 0
+ L3 26624 0.000000 1.303335 -3.749098 0 1.319425 -2.799756 0
+ L3 26624 0.000000 2.510126 -3.218110 0 1.753870 -2.590579 0
+ L3 26624 0.000000 2.912390 -2.461854 0 2.091772 -1.287244 0
+ L3 26624 0.000000 3.765189 -0.675803 0 2.751484 -0.949343 0
+ L3 26624 0.000000 3.861732 0.273539 0 2.188315 0.514898 0
+ L3 26624 0.000000 2.349220 1.190701 0 3.137657 2.317039 0
+ L3 26624 0.000000 2.510126 2.638850 0 1.238972 1.705598 0
+ L3 26624 0.000000 0.997614 2.236587 0 0.675803 3.218110 0
+ L3 26624 0.000000 0.048272 3.202020 0 -0.176996 1.914776 0
+ L3 26624 0.000000 -1.303335 2.912390 0 -0.949343 1.641236 0
+ L3 26624 0.000000 -2.461854 -0.466626 0 -1.287244 0.112634 0
+ L3 26624 0.000000 -1.045886 -1.592965 0 -0.530988 -0.579260 0
+ L3 26624 0.000000 0.804528 -2.381402 0 0.225268 -1.287244 0
+ L3 26624 0.000000 1.544693 -1.753870 0 0.868890 -1.045886 0
+ L3 26624 0.000000 2.140043 -0.466626 0 0.852799 -0.257449 0
+ L3 26624 0.000000 1.383787 0.852799 0 0.595350 0.370083 0
+ L3 26624 0.000000 0.160906 1.206791 0 0.209177 0.595350 0
+ L3 26624 0.000000 -0.241358 0.402264 0 -0.740165 1.078067 0
+ L3 26624 0.000000 -0.981524 -0.418354 0 -0.305720 -0.032181 0
+ L3 26624 0.000000 0.514898 -0.820618 0 0.193087 -0.176996 0
+ L3 26624 0.000000 -2.932993 -1.040068 0 -3.723444 -1.435294 0
+ L3 26624 0.000000 -3.661040 0.852856 0 -2.662575 0.540836 0
+ L3 26624 0.000000 -2.891390 3.099404 0 -1.996931 2.828986 0
+ F4 26624 0.000000 4 0
+ -2.704178 -1.601705 0
+ -2.184143 -0.998466 0
+ -1.268883 -0.644842 0
+ -1.851322 -1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 0.852856 0
+ -1.331287 0.956863 0
+ -0.832055 0.499233 0
+ -1.747315 0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 -2.017732 0
+ -1.414493 -2.683376 0
+ -2.100938 -3.016198 0
+ -1.913726 -2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 -0.020801 0
+ -3.182609 -0.228815 0
+ -2.204945 0.083205 0
+ -3.203410 0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 -2.641773 0
+ -2.870588 -2.142541 0
+ -2.100938 -1.976130 0
+ -2.537767 -2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 2.745780 0
+ -2.184143 2.059335 0
+ -1.414493 1.768116 0
+ -2.163342 2.516965 0
+ END$SEGS
+STRUCTURE 477 3 0 0 0 Fn3 2 309.375000 396.541667 0 0.000000 "Lg Shade 8"" Tree Shade-8a"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 21 0
+ -2.419782 -2.295585 0
+ -2.076517 -3.593556 0
+ -1.304171 -3.926095 0
+ -0.435281 -2.853391 0
+ 0.562333 -3.786643 0
+ 1.763761 -3.218110 0
+ 1.484858 3.164475 0
+ 0.347793 3.765189 0
+ -0.124197 3.035751 0
+ -1.078903 3.046478 0
+ -1.314898 3.786643 0
+ -2.784501 3.314654 0
+ -2.602142 2.445764 0
+ -3.814297 2.359948 0
+ -4.436465 1.104885 0
+ -3.749934 0.396900 0
+ -4.651005 0.000000 0
+ -4.415011 -0.901071 0
+ -3.460304 -1.244336 0
+ -4.146835 -1.802142 0
+ -3.589029 -2.810483 0
+ F4 26624 0.000000 28 0
+ -3.346835 -1.802142 0
+ -2.789029 -2.810483 0
+ -1.619782 -2.295585 0
+ -1.276517 -3.593556 0
+ -0.504171 -3.926095 0
+ 0.364719 -2.853391 0
+ 1.362333 -3.786643 0
+ 2.563761 -3.218110 0
+ 2.113226 -2.027409 0
+ 3.550648 -1.630509 0
+ 3.765189 -0.278903 0
+ 3.014297 0.418354 0
+ 3.722281 1.426696 0
+ 3.185929 2.327766 0
+ 2.317039 2.005955 0
+ 2.284858 3.164475 0
+ 1.147793 3.765189 0
+ 0.675803 3.035751 0
+ -0.278903 3.046478 0
+ -0.514898 3.786643 0
+ -1.984501 3.314654 0
+ -1.802142 2.445764 0
+ -3.014297 2.359948 0
+ -3.636465 1.104885 0
+ -2.949934 0.396900 0
+ -3.851005 0.000000 0
+ -3.615011 -0.901071 0
+ -2.660304 -1.244336 0
+ F4 65280 0.000000 26 0
+ 0.536352 -2.510126 0
+ 1.287244 -3.261018 0
+ 2.005955 -2.821210 0
+ 1.684144 -1.566147 0
+ 3.121567 -1.169247 0
+ 3.218110 -0.547079 0
+ 2.317039 0.075089 0
+ 3.100113 1.255063 0
+ 2.756848 1.662690 0
+ 1.898685 1.641236 0
+ 1.855777 2.628123 0
+ 1.115612 3.035751 0
+ 0.504171 2.317039 0
+ -0.418354 2.445764 0
+ -0.632895 2.939207 0
+ -1.415969 2.735394 0
+ -1.426696 1.877231 0
+ -2.081045 1.855777 0
+ -2.510126 0.997614 0
+ -1.748507 0.278903 0
+ -2.467218 -0.096543 0
+ -2.349220 -0.611441 0
+ -1.201428 -0.825982 0
+ -1.641236 -1.609055 0
+ -0.922525 -2.166861 0
+ -0.632895 -2.799756 0
+ L3 65280 0.000000 -0.680517 -3.305367 0 -0.291650 -3.013717 0
+ L3 65280 0.000000 -0.972167 -3.110933 0 -1.069383 -2.624850 0
+ L3 65280 0.000000 -2.235983 -2.041550 0 -1.555467 -2.041550 0
+ L3 65280 0.000000 -2.722067 -1.847117 0 -2.430417 -1.555467 0
+ L3 65280 0.000000 -2.041550 -1.652683 0 -1.652683 -1.361033 0
+ L3 65280 0.000000 -1.847117 -1.069383 0 -2.430417 -0.972167 0
+ L3 65280 0.000000 -3.305367 -0.777733 0 -2.624850 -0.777733 0
+ L3 65280 0.000000 -3.305367 -0.194433 0 -2.722067 -0.486083 0
+ L3 65280 0.000000 -2.235983 0.291650 0 -2.722067 0.194433 0
+ L3 65280 0.000000 -2.624850 0.680517 0 -3.305367 1.069383 0
+ L3 65280 0.000000 -3.013717 1.458250 0 -2.527633 1.555467 0
+ L3 65280 0.000000 -2.333200 2.235983 0 -2.138767 1.944333 0
+ L3 65280 0.000000 -1.458250 2.916500 0 -1.652683 3.208150 0
+ L3 65280 0.000000 -0.874950 3.110933 0 -0.680517 3.402583 0
+ L3 65280 0.000000 -0.097217 2.624850 0 0.000000 2.916500 0
+ L3 65280 0.000000 0.486083 2.624850 0 0.194433 2.819283 0
+ L3 65280 0.000000 1.263817 3.110933 0 1.166600 3.499800 0
+ L3 65280 0.000000 1.847117 2.916500 0 2.138767 3.013717 0
+ L3 65280 0.000000 3.402583 1.361033 0 3.110933 1.458250 0
+ L3 65280 0.000000 2.916500 1.847117 0 3.110933 2.138767 0
+ L3 65280 0.000000 3.402583 -0.291650 0 3.013717 -0.194433 0
+ L3 65280 0.000000 -2.722067 -2.430417 0 -2.527633 -2.041550 0
+ L3 65280 0.000000 -3.110933 -1.847117 0 -2.819283 -2.041550 0
+ F4 26624 0.000000 4 0
+ 1.497698 -1.539301 0
+ 0.887525 -1.359023 0
+ 0.818187 -0.901393 0
+ 1.220347 -1.067803 0
+ F4 26624 0.000000 5 0
+ -0.582438 -1.844388 0
+ -0.526968 -1.525433 0
+ 0.069338 -1.261950 0
+ 0.235749 -1.650242 0
+ -0.069338 -1.941461 0
+ F4 26624 0.000000 4 0
+ 1.899858 0.069338 0
+ 1.178744 0.235749 0
+ 1.026201 -0.124808 0
+ 2.010799 -0.180279 0
+ F4 26624 0.000000 4 0
+ 0.457630 1.844388 0
+ 0.097073 1.567036 0
+ 0.194146 0.984598 0
+ 0.416027 1.067803 0
+ F4 26624 0.000000 3 0
+ 1.691844 1.386758 0
+ 1.497698 0.956863 0
+ 1.192612 1.220347 0
+ F4 26624 0.000000 5 0
+ -1.456096 0.166411 0
+ -1.261950 0.027735 0
+ -0.596306 -0.138676 0
+ -0.235749 0.235749 0
+ -1.067803 0.360557 0
+ F4 26624 0.000000 4 0
+ -1.275817 1.608639 0
+ -0.887525 1.511566 0
+ -0.610173 0.859790 0
+ -1.040068 0.970730 0
+ L3 26624 0.000000 0.194433 -2.138767 0 0.388867 -1.847117 0
+ L3 26624 0.000000 1.361033 -1.847117 0 0.874950 -1.652683 0
+ L3 26624 0.000000 1.555467 -2.333200 0 1.263817 -2.138767 0
+ L3 26624 0.000000 0.874950 -2.527633 0 0.680517 -2.138767 0
+ L3 26624 0.000000 -0.388867 -2.430417 0 -0.194433 -2.138767 0
+ L3 26624 0.000000 -1.166600 -1.555467 0 -0.777733 -1.555467 0
+ L3 26624 0.000000 -0.874950 -1.069383 0 -0.388867 -1.263817 0
+ L3 26624 0.000000 -1.166600 -0.583300 0 -0.777733 -0.291650 0
+ L3 26624 0.000000 -1.749900 -0.486083 0 -1.361033 -0.291650 0
+ L3 26624 0.000000 -2.235983 -0.194433 0 -1.749900 0.000000 0
+ L3 26624 0.000000 -1.555467 0.486083 0 -1.944333 0.874950 0
+ L3 26624 0.000000 -1.749900 1.361033 0 -1.458250 0.972167 0
+ L3 26624 0.000000 -1.069383 2.138767 0 -0.777733 1.749900 0
+ L3 26624 0.000000 -0.388867 1.749900 0 -0.486083 2.333200 0
+ L3 26624 0.000000 -0.291650 1.069383 0 -0.194433 1.458250 0
+ L3 26624 0.000000 0.680517 1.749900 0 0.874950 2.333200 0
+ L3 26624 0.000000 1.166600 1.652683 0 1.749900 1.944333 0
+ L3 26624 0.000000 2.624850 0.680517 0 2.138767 0.777733 0
+ L3 26624 0.000000 2.624850 1.555467 0 2.138767 1.361033 0
+ L3 26624 0.000000 2.819283 1.166600 0 2.333200 1.069383 0
+ L3 26624 0.000000 1.166600 2.819283 0 1.069383 2.430417 0
+ L3 26624 0.000000 1.749900 2.527633 0 1.458250 2.235983 0
+ L3 26624 0.000000 1.361033 2.624850 0 1.166600 2.041550 0
+ L3 26624 0.000000 2.916500 -0.486083 0 2.333200 -0.583300 0
+ L3 26624 0.000000 2.430417 -1.263817 0 1.944333 -0.972167 0
+ L3 26624 0.000000 2.916500 -0.972167 0 2.430417 -0.874950 0
+ L3 26624 0.000000 -0.972167 2.722067 0 -0.874950 2.333200 0
+ L3 26624 0.000000 -2.138767 1.361033 0 -1.847117 1.166600 0
+ L3 26624 0.000000 1.361033 -3.110933 0 1.166600 -2.624850 0
+ L3 26624 0.000000 1.749900 -2.819283 0 1.458250 -2.527633 0
+ END$SEGS
+STRUCTURE 478 3 0 0 0 Fn3 2 276.375000 398.041667 0 0.000000 "Lg Shade 8"" Tree Shade-8a"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 21 0
+ -2.419782 -2.295585 0
+ -2.076517 -3.593556 0
+ -1.304171 -3.926095 0
+ -0.435281 -2.853391 0
+ 0.562333 -3.786643 0
+ 1.763761 -3.218110 0
+ 1.484858 3.164475 0
+ 0.347793 3.765189 0
+ -0.124197 3.035751 0
+ -1.078903 3.046478 0
+ -1.314898 3.786643 0
+ -2.784501 3.314654 0
+ -2.602142 2.445764 0
+ -3.814297 2.359948 0
+ -4.436465 1.104885 0
+ -3.749934 0.396900 0
+ -4.651005 0.000000 0
+ -4.415011 -0.901071 0
+ -3.460304 -1.244336 0
+ -4.146835 -1.802142 0
+ -3.589029 -2.810483 0
+ F4 26624 0.000000 28 0
+ -3.346835 -1.802142 0
+ -2.789029 -2.810483 0
+ -1.619782 -2.295585 0
+ -1.276517 -3.593556 0
+ -0.504171 -3.926095 0
+ 0.364719 -2.853391 0
+ 1.362333 -3.786643 0
+ 2.563761 -3.218110 0
+ 2.113226 -2.027409 0
+ 3.550648 -1.630509 0
+ 3.765189 -0.278903 0
+ 3.014297 0.418354 0
+ 3.722281 1.426696 0
+ 3.185929 2.327766 0
+ 2.317039 2.005955 0
+ 2.284858 3.164475 0
+ 1.147793 3.765189 0
+ 0.675803 3.035751 0
+ -0.278903 3.046478 0
+ -0.514898 3.786643 0
+ -1.984501 3.314654 0
+ -1.802142 2.445764 0
+ -3.014297 2.359948 0
+ -3.636465 1.104885 0
+ -2.949934 0.396900 0
+ -3.851005 0.000000 0
+ -3.615011 -0.901071 0
+ -2.660304 -1.244336 0
+ F4 65280 0.000000 26 0
+ 0.536352 -2.510126 0
+ 1.287244 -3.261018 0
+ 2.005955 -2.821210 0
+ 1.684144 -1.566147 0
+ 3.121567 -1.169247 0
+ 3.218110 -0.547079 0
+ 2.317039 0.075089 0
+ 3.100113 1.255063 0
+ 2.756848 1.662690 0
+ 1.898685 1.641236 0
+ 1.855777 2.628123 0
+ 1.115612 3.035751 0
+ 0.504171 2.317039 0
+ -0.418354 2.445764 0
+ -0.632895 2.939207 0
+ -1.415969 2.735394 0
+ -1.426696 1.877231 0
+ -2.081045 1.855777 0
+ -2.510126 0.997614 0
+ -1.748507 0.278903 0
+ -2.467218 -0.096543 0
+ -2.349220 -0.611441 0
+ -1.201428 -0.825982 0
+ -1.641236 -1.609055 0
+ -0.922525 -2.166861 0
+ -0.632895 -2.799756 0
+ L3 65280 0.000000 -0.680517 -3.305367 0 -0.291650 -3.013717 0
+ L3 65280 0.000000 -0.972167 -3.110933 0 -1.069383 -2.624850 0
+ L3 65280 0.000000 -2.235983 -2.041550 0 -1.555467 -2.041550 0
+ L3 65280 0.000000 -2.722067 -1.847117 0 -2.430417 -1.555467 0
+ L3 65280 0.000000 -2.041550 -1.652683 0 -1.652683 -1.361033 0
+ L3 65280 0.000000 -1.847117 -1.069383 0 -2.430417 -0.972167 0
+ L3 65280 0.000000 -3.305367 -0.777733 0 -2.624850 -0.777733 0
+ L3 65280 0.000000 -3.305367 -0.194433 0 -2.722067 -0.486083 0
+ L3 65280 0.000000 -2.235983 0.291650 0 -2.722067 0.194433 0
+ L3 65280 0.000000 -2.624850 0.680517 0 -3.305367 1.069383 0
+ L3 65280 0.000000 -3.013717 1.458250 0 -2.527633 1.555467 0
+ L3 65280 0.000000 -2.333200 2.235983 0 -2.138767 1.944333 0
+ L3 65280 0.000000 -1.458250 2.916500 0 -1.652683 3.208150 0
+ L3 65280 0.000000 -0.874950 3.110933 0 -0.680517 3.402583 0
+ L3 65280 0.000000 -0.097217 2.624850 0 0.000000 2.916500 0
+ L3 65280 0.000000 0.486083 2.624850 0 0.194433 2.819283 0
+ L3 65280 0.000000 1.263817 3.110933 0 1.166600 3.499800 0
+ L3 65280 0.000000 1.847117 2.916500 0 2.138767 3.013717 0
+ L3 65280 0.000000 3.402583 1.361033 0 3.110933 1.458250 0
+ L3 65280 0.000000 2.916500 1.847117 0 3.110933 2.138767 0
+ L3 65280 0.000000 3.402583 -0.291650 0 3.013717 -0.194433 0
+ L3 65280 0.000000 -2.722067 -2.430417 0 -2.527633 -2.041550 0
+ L3 65280 0.000000 -3.110933 -1.847117 0 -2.819283 -2.041550 0
+ F4 26624 0.000000 4 0
+ 1.497698 -1.539301 0
+ 0.887525 -1.359023 0
+ 0.818187 -0.901393 0
+ 1.220347 -1.067803 0
+ F4 26624 0.000000 5 0
+ -0.582438 -1.844388 0
+ -0.526968 -1.525433 0
+ 0.069338 -1.261950 0
+ 0.235749 -1.650242 0
+ -0.069338 -1.941461 0
+ F4 26624 0.000000 4 0
+ 1.899858 0.069338 0
+ 1.178744 0.235749 0
+ 1.026201 -0.124808 0
+ 2.010799 -0.180279 0
+ F4 26624 0.000000 4 0
+ 0.457630 1.844388 0
+ 0.097073 1.567036 0
+ 0.194146 0.984598 0
+ 0.416027 1.067803 0
+ F4 26624 0.000000 3 0
+ 1.691844 1.386758 0
+ 1.497698 0.956863 0
+ 1.192612 1.220347 0
+ F4 26624 0.000000 5 0
+ -1.456096 0.166411 0
+ -1.261950 0.027735 0
+ -0.596306 -0.138676 0
+ -0.235749 0.235749 0
+ -1.067803 0.360557 0
+ F4 26624 0.000000 4 0
+ -1.275817 1.608639 0
+ -0.887525 1.511566 0
+ -0.610173 0.859790 0
+ -1.040068 0.970730 0
+ L3 26624 0.000000 0.194433 -2.138767 0 0.388867 -1.847117 0
+ L3 26624 0.000000 1.361033 -1.847117 0 0.874950 -1.652683 0
+ L3 26624 0.000000 1.555467 -2.333200 0 1.263817 -2.138767 0
+ L3 26624 0.000000 0.874950 -2.527633 0 0.680517 -2.138767 0
+ L3 26624 0.000000 -0.388867 -2.430417 0 -0.194433 -2.138767 0
+ L3 26624 0.000000 -1.166600 -1.555467 0 -0.777733 -1.555467 0
+ L3 26624 0.000000 -0.874950 -1.069383 0 -0.388867 -1.263817 0
+ L3 26624 0.000000 -1.166600 -0.583300 0 -0.777733 -0.291650 0
+ L3 26624 0.000000 -1.749900 -0.486083 0 -1.361033 -0.291650 0
+ L3 26624 0.000000 -2.235983 -0.194433 0 -1.749900 0.000000 0
+ L3 26624 0.000000 -1.555467 0.486083 0 -1.944333 0.874950 0
+ L3 26624 0.000000 -1.749900 1.361033 0 -1.458250 0.972167 0
+ L3 26624 0.000000 -1.069383 2.138767 0 -0.777733 1.749900 0
+ L3 26624 0.000000 -0.388867 1.749900 0 -0.486083 2.333200 0
+ L3 26624 0.000000 -0.291650 1.069383 0 -0.194433 1.458250 0
+ L3 26624 0.000000 0.680517 1.749900 0 0.874950 2.333200 0
+ L3 26624 0.000000 1.166600 1.652683 0 1.749900 1.944333 0
+ L3 26624 0.000000 2.624850 0.680517 0 2.138767 0.777733 0
+ L3 26624 0.000000 2.624850 1.555467 0 2.138767 1.361033 0
+ L3 26624 0.000000 2.819283 1.166600 0 2.333200 1.069383 0
+ L3 26624 0.000000 1.166600 2.819283 0 1.069383 2.430417 0
+ L3 26624 0.000000 1.749900 2.527633 0 1.458250 2.235983 0
+ L3 26624 0.000000 1.361033 2.624850 0 1.166600 2.041550 0
+ L3 26624 0.000000 2.916500 -0.486083 0 2.333200 -0.583300 0
+ L3 26624 0.000000 2.430417 -1.263817 0 1.944333 -0.972167 0
+ L3 26624 0.000000 2.916500 -0.972167 0 2.430417 -0.874950 0
+ L3 26624 0.000000 -0.972167 2.722067 0 -0.874950 2.333200 0
+ L3 26624 0.000000 -2.138767 1.361033 0 -1.847117 1.166600 0
+ L3 26624 0.000000 1.361033 -3.110933 0 1.166600 -2.624850 0
+ L3 26624 0.000000 1.749900 -2.819283 0 1.458250 -2.527633 0
+ END$SEGS
+STRUCTURE 479 3 0 0 0 Fn3 2 323.375000 403.041667 0 0.000000 "Lg Shade 8"" Tree Shade-8b"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 21 0
+ -2.419782 2.295585 0
+ -2.076517 3.593556 0
+ -1.304171 3.926095 0
+ -0.435281 2.853391 0
+ 0.562333 3.786643 0
+ 1.763761 3.218110 0
+ 1.484858 -3.164475 0
+ 0.347793 -3.765189 0
+ -0.124197 -3.035751 0
+ -1.078903 -3.046478 0
+ -1.314898 -3.786643 0
+ -2.784501 -3.314654 0
+ -2.602142 -2.445764 0
+ -3.814297 -2.359948 0
+ -4.436465 -1.104885 0
+ -3.749934 -0.396900 0
+ -4.651005 0.000000 0
+ -4.415011 0.901071 0
+ -3.460304 1.244336 0
+ -4.146835 1.802142 0
+ -3.589029 2.810483 0
+ F4 26624 0.000000 28 0
+ -3.346835 1.802142 0
+ -2.789029 2.810483 0
+ -1.619782 2.295585 0
+ -1.276517 3.593556 0
+ -0.504171 3.926095 0
+ 0.364719 2.853391 0
+ 1.362333 3.786643 0
+ 2.563761 3.218110 0
+ 2.113226 2.027409 0
+ 3.550648 1.630509 0
+ 3.765189 0.278903 0
+ 3.014297 -0.418354 0
+ 3.722281 -1.426696 0
+ 3.185929 -2.327766 0
+ 2.317039 -2.005955 0
+ 2.284858 -3.164475 0
+ 1.147793 -3.765189 0
+ 0.675803 -3.035751 0
+ -0.278903 -3.046478 0
+ -0.514898 -3.786643 0
+ -1.984501 -3.314654 0
+ -1.802142 -2.445764 0
+ -3.014297 -2.359948 0
+ -3.636465 -1.104885 0
+ -2.949934 -0.396900 0
+ -3.851005 0.000000 0
+ -3.615011 0.901071 0
+ -2.660304 1.244336 0
+ F4 65280 0.000000 26 0
+ 0.536352 2.510126 0
+ 1.287244 3.261018 0
+ 2.005955 2.821210 0
+ 1.684144 1.566147 0
+ 3.121567 1.169247 0
+ 3.218110 0.547079 0
+ 2.317039 -0.075089 0
+ 3.100113 -1.255063 0
+ 2.756848 -1.662690 0
+ 1.898685 -1.641236 0
+ 1.855777 -2.628123 0
+ 1.115612 -3.035751 0
+ 0.504171 -2.317039 0
+ -0.418354 -2.445764 0
+ -0.632895 -2.939207 0
+ -1.415969 -2.735394 0
+ -1.426696 -1.877231 0
+ -2.081045 -1.855777 0
+ -2.510126 -0.997614 0
+ -1.748507 -0.278903 0
+ -2.467218 0.096543 0
+ -2.349220 0.611441 0
+ -1.201428 0.825982 0
+ -1.641236 1.609055 0
+ -0.922525 2.166861 0
+ -0.632895 2.799756 0
+ L3 65280 0.000000 -0.680517 3.305367 0 -0.291650 3.013717 0
+ L3 65280 0.000000 -0.972167 3.110933 0 -1.069383 2.624850 0
+ L3 65280 0.000000 -2.235983 2.041550 0 -1.555467 2.041550 0
+ L3 65280 0.000000 -2.722067 1.847117 0 -2.430417 1.555467 0
+ L3 65280 0.000000 -2.041550 1.652683 0 -1.652683 1.361033 0
+ L3 65280 0.000000 -1.847117 1.069383 0 -2.430417 0.972167 0
+ L3 65280 0.000000 -3.305367 0.777733 0 -2.624850 0.777733 0
+ L3 65280 0.000000 -3.305367 0.194433 0 -2.722067 0.486083 0
+ L3 65280 0.000000 -2.235983 -0.291650 0 -2.722067 -0.194433 0
+ L3 65280 0.000000 -2.624850 -0.680517 0 -3.305367 -1.069383 0
+ L3 65280 0.000000 -3.013717 -1.458250 0 -2.527633 -1.555467 0
+ L3 65280 0.000000 -2.333200 -2.235983 0 -2.138767 -1.944333 0
+ L3 65280 0.000000 -1.458250 -2.916500 0 -1.652683 -3.208150 0
+ L3 65280 0.000000 -0.874950 -3.110933 0 -0.680517 -3.402583 0
+ L3 65280 0.000000 -0.097217 -2.624850 0 0.000000 -2.916500 0
+ L3 65280 0.000000 0.486083 -2.624850 0 0.194433 -2.819283 0
+ L3 65280 0.000000 1.263817 -3.110933 0 1.166600 -3.499800 0
+ L3 65280 0.000000 1.847117 -2.916500 0 2.138767 -3.013717 0
+ L3 65280 0.000000 3.402583 -1.361033 0 3.110933 -1.458250 0
+ L3 65280 0.000000 2.916500 -1.847117 0 3.110933 -2.138767 0
+ L3 65280 0.000000 3.402583 0.291650 0 3.013717 0.194433 0
+ L3 65280 0.000000 -2.722067 2.430417 0 -2.527633 2.041550 0
+ L3 65280 0.000000 -3.110933 1.847117 0 -2.819283 2.041550 0
+ F4 26624 0.000000 4 0
+ 1.497698 1.539301 0
+ 0.887525 1.359023 0
+ 0.818187 0.901393 0
+ 1.220347 1.067803 0
+ F4 26624 0.000000 5 0
+ -0.582438 1.844388 0
+ -0.526968 1.525433 0
+ 0.069338 1.261950 0
+ 0.235749 1.650242 0
+ -0.069338 1.941461 0
+ F4 26624 0.000000 4 0
+ 1.899858 -0.069338 0
+ 1.178744 -0.235749 0
+ 1.026201 0.124808 0
+ 2.010799 0.180279 0
+ F4 26624 0.000000 4 0
+ 0.457630 -1.844388 0
+ 0.097073 -1.567036 0
+ 0.194146 -0.984598 0
+ 0.416027 -1.067803 0
+ F4 26624 0.000000 3 0
+ 1.691844 -1.386758 0
+ 1.497698 -0.956863 0
+ 1.192612 -1.220347 0
+ F4 26624 0.000000 5 0
+ -1.456096 -0.166411 0
+ -1.261950 -0.027735 0
+ -0.596306 0.138676 0
+ -0.235749 -0.235749 0
+ -1.067803 -0.360557 0
+ F4 26624 0.000000 4 0
+ -1.275817 -1.608639 0
+ -0.887525 -1.511566 0
+ -0.610173 -0.859790 0
+ -1.040068 -0.970730 0
+ L3 26624 0.000000 0.194433 2.138767 0 0.388867 1.847117 0
+ L3 26624 0.000000 1.361033 1.847117 0 0.874950 1.652683 0
+ L3 26624 0.000000 1.555467 2.333200 0 1.263817 2.138767 0
+ L3 26624 0.000000 0.874950 2.527633 0 0.680517 2.138767 0
+ L3 26624 0.000000 -0.388867 2.430417 0 -0.194433 2.138767 0
+ L3 26624 0.000000 -1.166600 1.555467 0 -0.777733 1.555467 0
+ L3 26624 0.000000 -0.874950 1.069383 0 -0.388867 1.263817 0
+ L3 26624 0.000000 -1.166600 0.583300 0 -0.777733 0.291650 0
+ L3 26624 0.000000 -1.749900 0.486083 0 -1.361033 0.291650 0
+ L3 26624 0.000000 -2.235983 0.194433 0 -1.749900 0.000000 0
+ L3 26624 0.000000 -1.555467 -0.486083 0 -1.944333 -0.874950 0
+ L3 26624 0.000000 -1.749900 -1.361033 0 -1.458250 -0.972167 0
+ L3 26624 0.000000 -1.069383 -2.138767 0 -0.777733 -1.749900 0
+ L3 26624 0.000000 -0.388867 -1.749900 0 -0.486083 -2.333200 0
+ L3 26624 0.000000 -0.291650 -1.069383 0 -0.194433 -1.458250 0
+ L3 26624 0.000000 0.680517 -1.749900 0 0.874950 -2.333200 0
+ L3 26624 0.000000 1.166600 -1.652683 0 1.749900 -1.944333 0
+ L3 26624 0.000000 2.624850 -0.680517 0 2.138767 -0.777733 0
+ L3 26624 0.000000 2.624850 -1.555467 0 2.138767 -1.361033 0
+ L3 26624 0.000000 2.819283 -1.166600 0 2.333200 -1.069383 0
+ L3 26624 0.000000 1.166600 -2.819283 0 1.069383 -2.430417 0
+ L3 26624 0.000000 1.749900 -2.527633 0 1.458250 -2.235983 0
+ L3 26624 0.000000 1.361033 -2.624850 0 1.166600 -2.041550 0
+ L3 26624 0.000000 2.916500 0.486083 0 2.333200 0.583300 0
+ L3 26624 0.000000 2.430417 1.263817 0 1.944333 0.972167 0
+ L3 26624 0.000000 2.916500 0.972167 0 2.430417 0.874950 0
+ L3 26624 0.000000 -0.972167 -2.722067 0 -0.874950 -2.333200 0
+ L3 26624 0.000000 -2.138767 -1.361033 0 -1.847117 -1.166600 0
+ L3 26624 0.000000 1.361033 3.110933 0 1.166600 2.624850 0
+ L3 26624 0.000000 1.749900 2.819283 0 1.458250 2.527633 0
+ END$SEGS
+STRUCTURE 480 3 0 0 0 Fn3 2 343.875000 401.041667 0 0.000000 "Lg Shade 8"" Tree Shade-8b"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 21 0
+ -2.419782 2.295585 0
+ -2.076517 3.593556 0
+ -1.304171 3.926095 0
+ -0.435281 2.853391 0
+ 0.562333 3.786643 0
+ 1.763761 3.218110 0
+ 1.484858 -3.164475 0
+ 0.347793 -3.765189 0
+ -0.124197 -3.035751 0
+ -1.078903 -3.046478 0
+ -1.314898 -3.786643 0
+ -2.784501 -3.314654 0
+ -2.602142 -2.445764 0
+ -3.814297 -2.359948 0
+ -4.436465 -1.104885 0
+ -3.749934 -0.396900 0
+ -4.651005 0.000000 0
+ -4.415011 0.901071 0
+ -3.460304 1.244336 0
+ -4.146835 1.802142 0
+ -3.589029 2.810483 0
+ F4 26624 0.000000 28 0
+ -3.346835 1.802142 0
+ -2.789029 2.810483 0
+ -1.619782 2.295585 0
+ -1.276517 3.593556 0
+ -0.504171 3.926095 0
+ 0.364719 2.853391 0
+ 1.362333 3.786643 0
+ 2.563761 3.218110 0
+ 2.113226 2.027409 0
+ 3.550648 1.630509 0
+ 3.765189 0.278903 0
+ 3.014297 -0.418354 0
+ 3.722281 -1.426696 0
+ 3.185929 -2.327766 0
+ 2.317039 -2.005955 0
+ 2.284858 -3.164475 0
+ 1.147793 -3.765189 0
+ 0.675803 -3.035751 0
+ -0.278903 -3.046478 0
+ -0.514898 -3.786643 0
+ -1.984501 -3.314654 0
+ -1.802142 -2.445764 0
+ -3.014297 -2.359948 0
+ -3.636465 -1.104885 0
+ -2.949934 -0.396900 0
+ -3.851005 0.000000 0
+ -3.615011 0.901071 0
+ -2.660304 1.244336 0
+ F4 65280 0.000000 26 0
+ 0.536352 2.510126 0
+ 1.287244 3.261018 0
+ 2.005955 2.821210 0
+ 1.684144 1.566147 0
+ 3.121567 1.169247 0
+ 3.218110 0.547079 0
+ 2.317039 -0.075089 0
+ 3.100113 -1.255063 0
+ 2.756848 -1.662690 0
+ 1.898685 -1.641236 0
+ 1.855777 -2.628123 0
+ 1.115612 -3.035751 0
+ 0.504171 -2.317039 0
+ -0.418354 -2.445764 0
+ -0.632895 -2.939207 0
+ -1.415969 -2.735394 0
+ -1.426696 -1.877231 0
+ -2.081045 -1.855777 0
+ -2.510126 -0.997614 0
+ -1.748507 -0.278903 0
+ -2.467218 0.096543 0
+ -2.349220 0.611441 0
+ -1.201428 0.825982 0
+ -1.641236 1.609055 0
+ -0.922525 2.166861 0
+ -0.632895 2.799756 0
+ L3 65280 0.000000 -0.680517 3.305367 0 -0.291650 3.013717 0
+ L3 65280 0.000000 -0.972167 3.110933 0 -1.069383 2.624850 0
+ L3 65280 0.000000 -2.235983 2.041550 0 -1.555467 2.041550 0
+ L3 65280 0.000000 -2.722067 1.847117 0 -2.430417 1.555467 0
+ L3 65280 0.000000 -2.041550 1.652683 0 -1.652683 1.361033 0
+ L3 65280 0.000000 -1.847117 1.069383 0 -2.430417 0.972167 0
+ L3 65280 0.000000 -3.305367 0.777733 0 -2.624850 0.777733 0
+ L3 65280 0.000000 -3.305367 0.194433 0 -2.722067 0.486083 0
+ L3 65280 0.000000 -2.235983 -0.291650 0 -2.722067 -0.194433 0
+ L3 65280 0.000000 -2.624850 -0.680517 0 -3.305367 -1.069383 0
+ L3 65280 0.000000 -3.013717 -1.458250 0 -2.527633 -1.555467 0
+ L3 65280 0.000000 -2.333200 -2.235983 0 -2.138767 -1.944333 0
+ L3 65280 0.000000 -1.458250 -2.916500 0 -1.652683 -3.208150 0
+ L3 65280 0.000000 -0.874950 -3.110933 0 -0.680517 -3.402583 0
+ L3 65280 0.000000 -0.097217 -2.624850 0 0.000000 -2.916500 0
+ L3 65280 0.000000 0.486083 -2.624850 0 0.194433 -2.819283 0
+ L3 65280 0.000000 1.263817 -3.110933 0 1.166600 -3.499800 0
+ L3 65280 0.000000 1.847117 -2.916500 0 2.138767 -3.013717 0
+ L3 65280 0.000000 3.402583 -1.361033 0 3.110933 -1.458250 0
+ L3 65280 0.000000 2.916500 -1.847117 0 3.110933 -2.138767 0
+ L3 65280 0.000000 3.402583 0.291650 0 3.013717 0.194433 0
+ L3 65280 0.000000 -2.722067 2.430417 0 -2.527633 2.041550 0
+ L3 65280 0.000000 -3.110933 1.847117 0 -2.819283 2.041550 0
+ F4 26624 0.000000 4 0
+ 1.497698 1.539301 0
+ 0.887525 1.359023 0
+ 0.818187 0.901393 0
+ 1.220347 1.067803 0
+ F4 26624 0.000000 5 0
+ -0.582438 1.844388 0
+ -0.526968 1.525433 0
+ 0.069338 1.261950 0
+ 0.235749 1.650242 0
+ -0.069338 1.941461 0
+ F4 26624 0.000000 4 0
+ 1.899858 -0.069338 0
+ 1.178744 -0.235749 0
+ 1.026201 0.124808 0
+ 2.010799 0.180279 0
+ F4 26624 0.000000 4 0
+ 0.457630 -1.844388 0
+ 0.097073 -1.567036 0
+ 0.194146 -0.984598 0
+ 0.416027 -1.067803 0
+ F4 26624 0.000000 3 0
+ 1.691844 -1.386758 0
+ 1.497698 -0.956863 0
+ 1.192612 -1.220347 0
+ F4 26624 0.000000 5 0
+ -1.456096 -0.166411 0
+ -1.261950 -0.027735 0
+ -0.596306 0.138676 0
+ -0.235749 -0.235749 0
+ -1.067803 -0.360557 0
+ F4 26624 0.000000 4 0
+ -1.275817 -1.608639 0
+ -0.887525 -1.511566 0
+ -0.610173 -0.859790 0
+ -1.040068 -0.970730 0
+ L3 26624 0.000000 0.194433 2.138767 0 0.388867 1.847117 0
+ L3 26624 0.000000 1.361033 1.847117 0 0.874950 1.652683 0
+ L3 26624 0.000000 1.555467 2.333200 0 1.263817 2.138767 0
+ L3 26624 0.000000 0.874950 2.527633 0 0.680517 2.138767 0
+ L3 26624 0.000000 -0.388867 2.430417 0 -0.194433 2.138767 0
+ L3 26624 0.000000 -1.166600 1.555467 0 -0.777733 1.555467 0
+ L3 26624 0.000000 -0.874950 1.069383 0 -0.388867 1.263817 0
+ L3 26624 0.000000 -1.166600 0.583300 0 -0.777733 0.291650 0
+ L3 26624 0.000000 -1.749900 0.486083 0 -1.361033 0.291650 0
+ L3 26624 0.000000 -2.235983 0.194433 0 -1.749900 0.000000 0
+ L3 26624 0.000000 -1.555467 -0.486083 0 -1.944333 -0.874950 0
+ L3 26624 0.000000 -1.749900 -1.361033 0 -1.458250 -0.972167 0
+ L3 26624 0.000000 -1.069383 -2.138767 0 -0.777733 -1.749900 0
+ L3 26624 0.000000 -0.388867 -1.749900 0 -0.486083 -2.333200 0
+ L3 26624 0.000000 -0.291650 -1.069383 0 -0.194433 -1.458250 0
+ L3 26624 0.000000 0.680517 -1.749900 0 0.874950 -2.333200 0
+ L3 26624 0.000000 1.166600 -1.652683 0 1.749900 -1.944333 0
+ L3 26624 0.000000 2.624850 -0.680517 0 2.138767 -0.777733 0
+ L3 26624 0.000000 2.624850 -1.555467 0 2.138767 -1.361033 0
+ L3 26624 0.000000 2.819283 -1.166600 0 2.333200 -1.069383 0
+ L3 26624 0.000000 1.166600 -2.819283 0 1.069383 -2.430417 0
+ L3 26624 0.000000 1.749900 -2.527633 0 1.458250 -2.235983 0
+ L3 26624 0.000000 1.361033 -2.624850 0 1.166600 -2.041550 0
+ L3 26624 0.000000 2.916500 0.486083 0 2.333200 0.583300 0
+ L3 26624 0.000000 2.430417 1.263817 0 1.944333 0.972167 0
+ L3 26624 0.000000 2.916500 0.972167 0 2.430417 0.874950 0
+ L3 26624 0.000000 -0.972167 -2.722067 0 -0.874950 -2.333200 0
+ L3 26624 0.000000 -2.138767 -1.361033 0 -1.847117 -1.166600 0
+ L3 26624 0.000000 1.361033 3.110933 0 1.166600 2.624850 0
+ L3 26624 0.000000 1.749900 2.819283 0 1.458250 2.527633 0
+ END$SEGS
+STRUCTURE 481 3 0 0 0 Fn3 2 262.875000 389.041667 0 0.000000 "Lg Shade 8"" Tree Shade-8b"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 21 0
+ -2.419782 2.295585 0
+ -2.076517 3.593556 0
+ -1.304171 3.926095 0
+ -0.435281 2.853391 0
+ 0.562333 3.786643 0
+ 1.763761 3.218110 0
+ 1.484858 -3.164475 0
+ 0.347793 -3.765189 0
+ -0.124197 -3.035751 0
+ -1.078903 -3.046478 0
+ -1.314898 -3.786643 0
+ -2.784501 -3.314654 0
+ -2.602142 -2.445764 0
+ -3.814297 -2.359948 0
+ -4.436465 -1.104885 0
+ -3.749934 -0.396900 0
+ -4.651005 0.000000 0
+ -4.415011 0.901071 0
+ -3.460304 1.244336 0
+ -4.146835 1.802142 0
+ -3.589029 2.810483 0
+ F4 26624 0.000000 28 0
+ -3.346835 1.802142 0
+ -2.789029 2.810483 0
+ -1.619782 2.295585 0
+ -1.276517 3.593556 0
+ -0.504171 3.926095 0
+ 0.364719 2.853391 0
+ 1.362333 3.786643 0
+ 2.563761 3.218110 0
+ 2.113226 2.027409 0
+ 3.550648 1.630509 0
+ 3.765189 0.278903 0
+ 3.014297 -0.418354 0
+ 3.722281 -1.426696 0
+ 3.185929 -2.327766 0
+ 2.317039 -2.005955 0
+ 2.284858 -3.164475 0
+ 1.147793 -3.765189 0
+ 0.675803 -3.035751 0
+ -0.278903 -3.046478 0
+ -0.514898 -3.786643 0
+ -1.984501 -3.314654 0
+ -1.802142 -2.445764 0
+ -3.014297 -2.359948 0
+ -3.636465 -1.104885 0
+ -2.949934 -0.396900 0
+ -3.851005 0.000000 0
+ -3.615011 0.901071 0
+ -2.660304 1.244336 0
+ F4 65280 0.000000 26 0
+ 0.536352 2.510126 0
+ 1.287244 3.261018 0
+ 2.005955 2.821210 0
+ 1.684144 1.566147 0
+ 3.121567 1.169247 0
+ 3.218110 0.547079 0
+ 2.317039 -0.075089 0
+ 3.100113 -1.255063 0
+ 2.756848 -1.662690 0
+ 1.898685 -1.641236 0
+ 1.855777 -2.628123 0
+ 1.115612 -3.035751 0
+ 0.504171 -2.317039 0
+ -0.418354 -2.445764 0
+ -0.632895 -2.939207 0
+ -1.415969 -2.735394 0
+ -1.426696 -1.877231 0
+ -2.081045 -1.855777 0
+ -2.510126 -0.997614 0
+ -1.748507 -0.278903 0
+ -2.467218 0.096543 0
+ -2.349220 0.611441 0
+ -1.201428 0.825982 0
+ -1.641236 1.609055 0
+ -0.922525 2.166861 0
+ -0.632895 2.799756 0
+ L3 65280 0.000000 -0.680517 3.305367 0 -0.291650 3.013717 0
+ L3 65280 0.000000 -0.972167 3.110933 0 -1.069383 2.624850 0
+ L3 65280 0.000000 -2.235983 2.041550 0 -1.555467 2.041550 0
+ L3 65280 0.000000 -2.722067 1.847117 0 -2.430417 1.555467 0
+ L3 65280 0.000000 -2.041550 1.652683 0 -1.652683 1.361033 0
+ L3 65280 0.000000 -1.847117 1.069383 0 -2.430417 0.972167 0
+ L3 65280 0.000000 -3.305367 0.777733 0 -2.624850 0.777733 0
+ L3 65280 0.000000 -3.305367 0.194433 0 -2.722067 0.486083 0
+ L3 65280 0.000000 -2.235983 -0.291650 0 -2.722067 -0.194433 0
+ L3 65280 0.000000 -2.624850 -0.680517 0 -3.305367 -1.069383 0
+ L3 65280 0.000000 -3.013717 -1.458250 0 -2.527633 -1.555467 0
+ L3 65280 0.000000 -2.333200 -2.235983 0 -2.138767 -1.944333 0
+ L3 65280 0.000000 -1.458250 -2.916500 0 -1.652683 -3.208150 0
+ L3 65280 0.000000 -0.874950 -3.110933 0 -0.680517 -3.402583 0
+ L3 65280 0.000000 -0.097217 -2.624850 0 0.000000 -2.916500 0
+ L3 65280 0.000000 0.486083 -2.624850 0 0.194433 -2.819283 0
+ L3 65280 0.000000 1.263817 -3.110933 0 1.166600 -3.499800 0
+ L3 65280 0.000000 1.847117 -2.916500 0 2.138767 -3.013717 0
+ L3 65280 0.000000 3.402583 -1.361033 0 3.110933 -1.458250 0
+ L3 65280 0.000000 2.916500 -1.847117 0 3.110933 -2.138767 0
+ L3 65280 0.000000 3.402583 0.291650 0 3.013717 0.194433 0
+ L3 65280 0.000000 -2.722067 2.430417 0 -2.527633 2.041550 0
+ L3 65280 0.000000 -3.110933 1.847117 0 -2.819283 2.041550 0
+ F4 26624 0.000000 4 0
+ 1.497698 1.539301 0
+ 0.887525 1.359023 0
+ 0.818187 0.901393 0
+ 1.220347 1.067803 0
+ F4 26624 0.000000 5 0
+ -0.582438 1.844388 0
+ -0.526968 1.525433 0
+ 0.069338 1.261950 0
+ 0.235749 1.650242 0
+ -0.069338 1.941461 0
+ F4 26624 0.000000 4 0
+ 1.899858 -0.069338 0
+ 1.178744 -0.235749 0
+ 1.026201 0.124808 0
+ 2.010799 0.180279 0
+ F4 26624 0.000000 4 0
+ 0.457630 -1.844388 0
+ 0.097073 -1.567036 0
+ 0.194146 -0.984598 0
+ 0.416027 -1.067803 0
+ F4 26624 0.000000 3 0
+ 1.691844 -1.386758 0
+ 1.497698 -0.956863 0
+ 1.192612 -1.220347 0
+ F4 26624 0.000000 5 0
+ -1.456096 -0.166411 0
+ -1.261950 -0.027735 0
+ -0.596306 0.138676 0
+ -0.235749 -0.235749 0
+ -1.067803 -0.360557 0
+ F4 26624 0.000000 4 0
+ -1.275817 -1.608639 0
+ -0.887525 -1.511566 0
+ -0.610173 -0.859790 0
+ -1.040068 -0.970730 0
+ L3 26624 0.000000 0.194433 2.138767 0 0.388867 1.847117 0
+ L3 26624 0.000000 1.361033 1.847117 0 0.874950 1.652683 0
+ L3 26624 0.000000 1.555467 2.333200 0 1.263817 2.138767 0
+ L3 26624 0.000000 0.874950 2.527633 0 0.680517 2.138767 0
+ L3 26624 0.000000 -0.388867 2.430417 0 -0.194433 2.138767 0
+ L3 26624 0.000000 -1.166600 1.555467 0 -0.777733 1.555467 0
+ L3 26624 0.000000 -0.874950 1.069383 0 -0.388867 1.263817 0
+ L3 26624 0.000000 -1.166600 0.583300 0 -0.777733 0.291650 0
+ L3 26624 0.000000 -1.749900 0.486083 0 -1.361033 0.291650 0
+ L3 26624 0.000000 -2.235983 0.194433 0 -1.749900 0.000000 0
+ L3 26624 0.000000 -1.555467 -0.486083 0 -1.944333 -0.874950 0
+ L3 26624 0.000000 -1.749900 -1.361033 0 -1.458250 -0.972167 0
+ L3 26624 0.000000 -1.069383 -2.138767 0 -0.777733 -1.749900 0
+ L3 26624 0.000000 -0.388867 -1.749900 0 -0.486083 -2.333200 0
+ L3 26624 0.000000 -0.291650 -1.069383 0 -0.194433 -1.458250 0
+ L3 26624 0.000000 0.680517 -1.749900 0 0.874950 -2.333200 0
+ L3 26624 0.000000 1.166600 -1.652683 0 1.749900 -1.944333 0
+ L3 26624 0.000000 2.624850 -0.680517 0 2.138767 -0.777733 0
+ L3 26624 0.000000 2.624850 -1.555467 0 2.138767 -1.361033 0
+ L3 26624 0.000000 2.819283 -1.166600 0 2.333200 -1.069383 0
+ L3 26624 0.000000 1.166600 -2.819283 0 1.069383 -2.430417 0
+ L3 26624 0.000000 1.749900 -2.527633 0 1.458250 -2.235983 0
+ L3 26624 0.000000 1.361033 -2.624850 0 1.166600 -2.041550 0
+ L3 26624 0.000000 2.916500 0.486083 0 2.333200 0.583300 0
+ L3 26624 0.000000 2.430417 1.263817 0 1.944333 0.972167 0
+ L3 26624 0.000000 2.916500 0.972167 0 2.430417 0.874950 0
+ L3 26624 0.000000 -0.972167 -2.722067 0 -0.874950 -2.333200 0
+ L3 26624 0.000000 -2.138767 -1.361033 0 -1.847117 -1.166600 0
+ L3 26624 0.000000 1.361033 3.110933 0 1.166600 2.624850 0
+ L3 26624 0.000000 1.749900 2.819283 0 1.458250 2.527633 0
+ END$SEGS
+STRUCTURE 482 3 0 0 0 Fn3 2 247.375000 392.041667 0 0.000000 "Lg Conifer 14"" Tree Conifer-14b"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -0.239190 -6.525637 0
+ -1.888080 -5.331336 0
+ -2.301071 -6.626625 0
+ -3.376515 -5.082467 0
+ -6.168735 -5.804052 0
+ -5.384403 -3.639298 0
+ -7.763813 -1.933548 0
+ -6.562385 -0.694575 0
+ -8.139259 0.000000 0
+ -5.980495 0.658838 0
+ -7.674651 2.541234 0
+ -5.729509 2.603980 0
+ -6.280801 4.918345 0
+ -4.234619 4.017274 0
+ -3.627501 6.462890 0
+ -2.090212 4.266763 0
+ -0.835281 6.651130 0
+ 1.076558 4.160617 0
+ 0.952994 -5.239333 0
+ F4 26624 0.000000 28 0
+ -4.329509 2.603980 0
+ -4.880801 4.918345 0
+ -2.834619 4.017274 0
+ -2.227501 6.462890 0
+ -0.690212 4.266763 0
+ 0.564719 6.651130 0
+ 2.476558 4.160617 0
+ 4.486582 5.631693 0
+ 3.698145 3.547967 0
+ 4.771502 1.799632 0
+ 6.589081 0.488080 0
+ 5.275019 -0.732120 0
+ 6.513991 -2.496717 0
+ 4.455002 -2.603980 0
+ 4.054819 -3.510422 0
+ 3.998502 -5.537831 0
+ 2.352994 -5.239333 0
+ 1.160810 -6.525637 0
+ -0.488080 -5.331336 0
+ -0.901071 -6.626625 0
+ -1.976515 -5.082467 0
+ -4.768735 -5.804052 0
+ -3.984403 -3.639298 0
+ -6.363813 -1.933548 0
+ -5.162385 -0.694575 0
+ -6.739259 0.000000 0
+ -4.580495 0.658838 0
+ -6.274651 2.541234 0
+ F4 11206591 0.000000 26 0
+ 0.938615 4.392720 0
+ 2.842080 6.567137 0
+ 3.510422 4.937117 0
+ 2.947253 2.740757 0
+ 5.187486 2.842080 0
+ 6.677509 1.627988 0
+ 4.054819 -0.131406 0
+ 6.456765 -2.759301 0
+ 4.663219 -3.173196 0
+ 3.322699 -2.872163 0
+ 3.247610 -4.599216 0
+ 2.952452 -6.263614 0
+ 0.882299 -4.054819 0
+ -0.732120 -4.280087 0
+ -1.107566 -5.143613 0
+ -2.510964 -6.208428 0
+ -2.496717 -3.285154 0
+ -5.766939 -4.056173 0
+ -5.104707 -1.765953 0
+ -3.059886 -0.488080 0
+ -5.380637 -0.441488 0
+ -6.484358 1.103720 0
+ -2.102499 1.445468 0
+ -5.518602 4.276917 0
+ -1.614419 3.792007 0
+ -1.701292 6.805167 0
+ L3 26624 0.000000 -3.885868 -2.290222 0 -5.124841 -2.233905 0
+ L3 26624 0.000000 -5.387653 -3.285154 0 -4.542899 -3.078659 0
+ L3 26624 0.000000 -1.727052 -5.537831 0 -1.595646 -3.979730 0
+ L3 26624 0.000000 -1.595646 -3.979730 0 -2.534262 -5.087296 0
+ L3 26624 0.000000 2.233905 -5.594148 0 2.384083 -4.280087 0
+ L3 26624 0.000000 2.384083 -4.280087 0 3.097431 -5.087296 0
+ L3 26624 0.000000 5.368881 -2.890936 0 3.623056 -2.083726 0
+ L3 26624 0.000000 3.623056 -2.083726 0 5.368881 -1.670736 0
+ L3 26624 0.000000 4.880801 1.182656 0 3.566739 1.201428 0
+ L3 26624 0.000000 3.566739 1.201428 0 4.655533 2.665668 0
+ L3 26624 0.000000 3.341471 4.430265 0 1.896003 3.172520 0
+ L3 26624 0.000000 1.896003 3.172520 0 1.933548 5.462742 0
+ L3 26624 0.000000 -0.675803 5.838188 0 -0.694575 3.904640 0
+ L3 26624 0.000000 -0.694575 3.904640 0 -1.633191 4.711850 0
+ L3 26624 0.000000 -0.901071 -4.129908 0 -1.126339 -3.172520 0
+ L3 26624 0.000000 1.520557 -4.373948 0 1.539329 -3.266382 0
+ L3 26624 0.000000 2.928480 -3.754462 0 2.046182 -3.022342 0
+ L3 26624 0.000000 3.397788 -2.872163 0 2.440400 -1.501785 0
+ L3 26624 0.000000 4.392720 -0.788437 0 3.210065 -1.107566 0
+ L3 26624 0.000000 4.505354 0.319129 0 2.553034 0.600714 0
+ L3 26624 0.000000 2.740757 1.389151 0 3.660600 2.703213 0
+ L3 26624 0.000000 2.928480 3.078659 0 1.445468 1.989865 0
+ L3 26624 0.000000 1.163883 2.609351 0 0.788437 3.754462 0
+ L3 26624 0.000000 0.056317 3.735690 0 -0.206495 2.233905 0
+ L3 26624 0.000000 -1.520557 3.397788 0 -1.107566 1.914776 0
+ L3 26624 0.000000 -2.872163 -0.544397 0 -1.501785 0.131406 0
+ L3 26624 0.000000 -1.220200 -1.858459 0 -0.619486 -0.675803 0
+ L3 26624 0.000000 0.938615 -2.778302 0 0.262812 -1.501785 0
+ L3 26624 0.000000 1.802142 -2.046182 0 1.013705 -1.220200 0
+ L3 26624 0.000000 2.496717 -0.544397 0 0.994932 -0.300357 0
+ L3 26624 0.000000 1.614419 0.994932 0 0.694575 0.431763 0
+ L3 26624 0.000000 0.187723 1.407923 0 0.244040 0.694575 0
+ L3 26624 0.000000 -0.281585 0.469308 0 -0.863526 1.257745 0
+ L3 26624 0.000000 -1.145111 -0.488080 0 -0.356674 -0.037545 0
+ L3 26624 0.000000 0.600714 -0.957388 0 0.225268 -0.206495 0
+ L3 26624 0.000000 -3.421825 -1.213413 0 -4.344019 -1.674510 0
+ L3 26624 0.000000 -4.271214 0.994999 0 -3.106337 0.630975 0
+ L3 26624 0.000000 -3.373288 3.615971 0 -2.329753 3.300483 0
+ F4 26624 0.000000 4 0
+ -3.154874 -1.868656 0
+ -2.548167 -1.164876 0
+ -1.480364 -0.752316 0
+ -2.159875 -1.625973 0
+ F4 26624 0.000000 4 0
+ -2.863655 0.994999 0
+ -1.553169 1.116340 0
+ -0.970730 0.582438 0
+ -2.038534 0.606707 0
+ F4 26624 0.000000 4 0
+ -1.431827 -2.354021 0
+ -1.650242 -3.130606 0
+ -2.451094 -3.518898 0
+ -2.232680 -2.887923 0
+ F4 26624 0.000000 4 0
+ -4.756579 -0.024268 0
+ -3.713044 -0.266951 0
+ -2.572436 0.097073 0
+ -3.737312 0.291219 0
+ F4 26624 0.000000 4 0
+ -3.931458 -3.082069 0
+ -3.349020 -2.499631 0
+ -2.451094 -2.305485 0
+ -2.960728 -2.887923 0
+ F4 26624 0.000000 4 0
+ -3.324752 3.203410 0
+ -2.548167 2.402558 0
+ -1.650242 2.062802 0
+ -2.523899 2.936459 0
+ END$SEGS
+STRUCTURE 483 3 0 0 0 Fn3 2 359.875000 406.041667 0 0.000000 "Lg Conifer 14"" Tree Conifer-14b"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -0.239190 -6.525637 0
+ -1.888080 -5.331336 0
+ -2.301071 -6.626625 0
+ -3.376515 -5.082467 0
+ -6.168735 -5.804052 0
+ -5.384403 -3.639298 0
+ -7.763813 -1.933548 0
+ -6.562385 -0.694575 0
+ -8.139259 0.000000 0
+ -5.980495 0.658838 0
+ -7.674651 2.541234 0
+ -5.729509 2.603980 0
+ -6.280801 4.918345 0
+ -4.234619 4.017274 0
+ -3.627501 6.462890 0
+ -2.090212 4.266763 0
+ -0.835281 6.651130 0
+ 1.076558 4.160617 0
+ 0.952994 -5.239333 0
+ F4 26624 0.000000 28 0
+ -4.329509 2.603980 0
+ -4.880801 4.918345 0
+ -2.834619 4.017274 0
+ -2.227501 6.462890 0
+ -0.690212 4.266763 0
+ 0.564719 6.651130 0
+ 2.476558 4.160617 0
+ 4.486582 5.631693 0
+ 3.698145 3.547967 0
+ 4.771502 1.799632 0
+ 6.589081 0.488080 0
+ 5.275019 -0.732120 0
+ 6.513991 -2.496717 0
+ 4.455002 -2.603980 0
+ 4.054819 -3.510422 0
+ 3.998502 -5.537831 0
+ 2.352994 -5.239333 0
+ 1.160810 -6.525637 0
+ -0.488080 -5.331336 0
+ -0.901071 -6.626625 0
+ -1.976515 -5.082467 0
+ -4.768735 -5.804052 0
+ -3.984403 -3.639298 0
+ -6.363813 -1.933548 0
+ -5.162385 -0.694575 0
+ -6.739259 0.000000 0
+ -4.580495 0.658838 0
+ -6.274651 2.541234 0
+ F4 11206591 0.000000 26 0
+ 0.938615 4.392720 0
+ 2.842080 6.567137 0
+ 3.510422 4.937117 0
+ 2.947253 2.740757 0
+ 5.187486 2.842080 0
+ 6.677509 1.627988 0
+ 4.054819 -0.131406 0
+ 6.456765 -2.759301 0
+ 4.663219 -3.173196 0
+ 3.322699 -2.872163 0
+ 3.247610 -4.599216 0
+ 2.952452 -6.263614 0
+ 0.882299 -4.054819 0
+ -0.732120 -4.280087 0
+ -1.107566 -5.143613 0
+ -2.510964 -6.208428 0
+ -2.496717 -3.285154 0
+ -5.766939 -4.056173 0
+ -5.104707 -1.765953 0
+ -3.059886 -0.488080 0
+ -5.380637 -0.441488 0
+ -6.484358 1.103720 0
+ -2.102499 1.445468 0
+ -5.518602 4.276917 0
+ -1.614419 3.792007 0
+ -1.701292 6.805167 0
+ L3 26624 0.000000 -3.885868 -2.290222 0 -5.124841 -2.233905 0
+ L3 26624 0.000000 -5.387653 -3.285154 0 -4.542899 -3.078659 0
+ L3 26624 0.000000 -1.727052 -5.537831 0 -1.595646 -3.979730 0
+ L3 26624 0.000000 -1.595646 -3.979730 0 -2.534262 -5.087296 0
+ L3 26624 0.000000 2.233905 -5.594148 0 2.384083 -4.280087 0
+ L3 26624 0.000000 2.384083 -4.280087 0 3.097431 -5.087296 0
+ L3 26624 0.000000 5.368881 -2.890936 0 3.623056 -2.083726 0
+ L3 26624 0.000000 3.623056 -2.083726 0 5.368881 -1.670736 0
+ L3 26624 0.000000 4.880801 1.182656 0 3.566739 1.201428 0
+ L3 26624 0.000000 3.566739 1.201428 0 4.655533 2.665668 0
+ L3 26624 0.000000 3.341471 4.430265 0 1.896003 3.172520 0
+ L3 26624 0.000000 1.896003 3.172520 0 1.933548 5.462742 0
+ L3 26624 0.000000 -0.675803 5.838188 0 -0.694575 3.904640 0
+ L3 26624 0.000000 -0.694575 3.904640 0 -1.633191 4.711850 0
+ L3 26624 0.000000 -0.901071 -4.129908 0 -1.126339 -3.172520 0
+ L3 26624 0.000000 1.520557 -4.373948 0 1.539329 -3.266382 0
+ L3 26624 0.000000 2.928480 -3.754462 0 2.046182 -3.022342 0
+ L3 26624 0.000000 3.397788 -2.872163 0 2.440400 -1.501785 0
+ L3 26624 0.000000 4.392720 -0.788437 0 3.210065 -1.107566 0
+ L3 26624 0.000000 4.505354 0.319129 0 2.553034 0.600714 0
+ L3 26624 0.000000 2.740757 1.389151 0 3.660600 2.703213 0
+ L3 26624 0.000000 2.928480 3.078659 0 1.445468 1.989865 0
+ L3 26624 0.000000 1.163883 2.609351 0 0.788437 3.754462 0
+ L3 26624 0.000000 0.056317 3.735690 0 -0.206495 2.233905 0
+ L3 26624 0.000000 -1.520557 3.397788 0 -1.107566 1.914776 0
+ L3 26624 0.000000 -2.872163 -0.544397 0 -1.501785 0.131406 0
+ L3 26624 0.000000 -1.220200 -1.858459 0 -0.619486 -0.675803 0
+ L3 26624 0.000000 0.938615 -2.778302 0 0.262812 -1.501785 0
+ L3 26624 0.000000 1.802142 -2.046182 0 1.013705 -1.220200 0
+ L3 26624 0.000000 2.496717 -0.544397 0 0.994932 -0.300357 0
+ L3 26624 0.000000 1.614419 0.994932 0 0.694575 0.431763 0
+ L3 26624 0.000000 0.187723 1.407923 0 0.244040 0.694575 0
+ L3 26624 0.000000 -0.281585 0.469308 0 -0.863526 1.257745 0
+ L3 26624 0.000000 -1.145111 -0.488080 0 -0.356674 -0.037545 0
+ L3 26624 0.000000 0.600714 -0.957388 0 0.225268 -0.206495 0
+ L3 26624 0.000000 -3.421825 -1.213413 0 -4.344019 -1.674510 0
+ L3 26624 0.000000 -4.271214 0.994999 0 -3.106337 0.630975 0
+ L3 26624 0.000000 -3.373288 3.615971 0 -2.329753 3.300483 0
+ F4 26624 0.000000 4 0
+ -3.154874 -1.868656 0
+ -2.548167 -1.164876 0
+ -1.480364 -0.752316 0
+ -2.159875 -1.625973 0
+ F4 26624 0.000000 4 0
+ -2.863655 0.994999 0
+ -1.553169 1.116340 0
+ -0.970730 0.582438 0
+ -2.038534 0.606707 0
+ F4 26624 0.000000 4 0
+ -1.431827 -2.354021 0
+ -1.650242 -3.130606 0
+ -2.451094 -3.518898 0
+ -2.232680 -2.887923 0
+ F4 26624 0.000000 4 0
+ -4.756579 -0.024268 0
+ -3.713044 -0.266951 0
+ -2.572436 0.097073 0
+ -3.737312 0.291219 0
+ F4 26624 0.000000 4 0
+ -3.931458 -3.082069 0
+ -3.349020 -2.499631 0
+ -2.451094 -2.305485 0
+ -2.960728 -2.887923 0
+ F4 26624 0.000000 4 0
+ -3.324752 3.203410 0
+ -2.548167 2.402558 0
+ -1.650242 2.062802 0
+ -2.523899 2.936459 0
+ END$SEGS
+STRUCTURE 484 3 0 0 0 Fn3 2 387.375000 408.041667 0 0.000000 "Lg Conifer 14"" Tree Conifer-14a"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -1.888080 5.331336 0
+ -0.239190 6.525637 0
+ 0.952994 5.239333 0
+ 1.076558 -4.160617 0
+ -0.835281 -6.651130 0
+ -2.090212 -4.266763 0
+ -3.627501 -6.462890 0
+ -4.234619 -4.017274 0
+ -6.280801 -4.918345 0
+ -5.729509 -2.603980 0
+ -7.674651 -2.541234 0
+ -5.980495 -0.658838 0
+ -8.139259 0.000000 0
+ -6.562385 0.694575 0
+ -7.763813 1.933548 0
+ -5.384403 3.639298 0
+ -6.168735 5.804052 0
+ -3.376515 5.082467 0
+ -2.301071 6.626625 0
+ F4 26624 0.000000 28 0
+ -4.329509 -2.603980 0
+ -4.880801 -4.918345 0
+ -2.834619 -4.017274 0
+ -2.227501 -6.462890 0
+ -0.690212 -4.266763 0
+ 0.564719 -6.651130 0
+ 2.476558 -4.160617 0
+ 4.486582 -5.631693 0
+ 3.698145 -3.547967 0
+ 4.771502 -1.799632 0
+ 6.589081 -0.488080 0
+ 5.275019 0.732120 0
+ 6.513991 2.496717 0
+ 4.455002 2.603980 0
+ 4.054819 3.510422 0
+ 3.998502 5.537831 0
+ 2.352994 5.239333 0
+ 1.160810 6.525637 0
+ -0.488080 5.331336 0
+ -0.901071 6.626625 0
+ -1.976515 5.082467 0
+ -4.768735 5.804052 0
+ -3.984403 3.639298 0
+ -6.363813 1.933548 0
+ -5.162385 0.694575 0
+ -6.739259 0.000000 0
+ -4.580495 -0.658838 0
+ -6.274651 -2.541234 0
+ F4 11206591 0.000000 26 0
+ 0.938615 -4.392720 0
+ 2.842080 -6.567137 0
+ 3.510422 -4.937117 0
+ 2.947253 -2.740757 0
+ 5.187486 -2.842080 0
+ 6.677509 -1.627988 0
+ 4.054819 0.131406 0
+ 6.456765 2.759301 0
+ 4.663219 3.173196 0
+ 3.322699 2.872163 0
+ 3.247610 4.599216 0
+ 2.952452 6.263614 0
+ 0.882299 4.054819 0
+ -0.732120 4.280087 0
+ -1.107566 5.143613 0
+ -2.510964 6.208428 0
+ -2.496717 3.285154 0
+ -5.766939 4.056173 0
+ -5.104707 1.765953 0
+ -3.059886 0.488080 0
+ -5.380637 0.441488 0
+ -6.484358 -1.103720 0
+ -2.102499 -1.445468 0
+ -5.518602 -4.276917 0
+ -1.614419 -3.792007 0
+ -1.701292 -6.805167 0
+ L3 26624 0.000000 -3.885868 2.290222 0 -5.124841 2.233905 0
+ L3 26624 0.000000 -5.387653 3.285154 0 -4.542899 3.078659 0
+ L3 26624 0.000000 -1.727052 5.537831 0 -1.595646 3.979730 0
+ L3 26624 0.000000 -1.595646 3.979730 0 -2.534262 5.087296 0
+ L3 26624 0.000000 2.233905 5.594148 0 2.384083 4.280087 0
+ L3 26624 0.000000 2.384083 4.280087 0 3.097431 5.087296 0
+ L3 26624 0.000000 5.368881 2.890936 0 3.623056 2.083726 0
+ L3 26624 0.000000 3.623056 2.083726 0 5.368881 1.670736 0
+ L3 26624 0.000000 4.880801 -1.182656 0 3.566739 -1.201428 0
+ L3 26624 0.000000 3.566739 -1.201428 0 4.655533 -2.665668 0
+ L3 26624 0.000000 3.341471 -4.430265 0 1.896003 -3.172520 0
+ L3 26624 0.000000 1.896003 -3.172520 0 1.933548 -5.462742 0
+ L3 26624 0.000000 -0.675803 -5.838188 0 -0.694575 -3.904640 0
+ L3 26624 0.000000 -0.694575 -3.904640 0 -1.633191 -4.711850 0
+ L3 26624 0.000000 -0.901071 4.129908 0 -1.126339 3.172520 0
+ L3 26624 0.000000 1.520557 4.373948 0 1.539329 3.266382 0
+ L3 26624 0.000000 2.928480 3.754462 0 2.046182 3.022342 0
+ L3 26624 0.000000 3.397788 2.872163 0 2.440400 1.501785 0
+ L3 26624 0.000000 4.392720 0.788437 0 3.210065 1.107566 0
+ L3 26624 0.000000 4.505354 -0.319129 0 2.553034 -0.600714 0
+ L3 26624 0.000000 2.740757 -1.389151 0 3.660600 -2.703213 0
+ L3 26624 0.000000 2.928480 -3.078659 0 1.445468 -1.989865 0
+ L3 26624 0.000000 1.163883 -2.609351 0 0.788437 -3.754462 0
+ L3 26624 0.000000 0.056317 -3.735690 0 -0.206495 -2.233905 0
+ L3 26624 0.000000 -1.520557 -3.397788 0 -1.107566 -1.914776 0
+ L3 26624 0.000000 -2.872163 0.544397 0 -1.501785 -0.131406 0
+ L3 26624 0.000000 -1.220200 1.858459 0 -0.619486 0.675803 0
+ L3 26624 0.000000 0.938615 2.778302 0 0.262812 1.501785 0
+ L3 26624 0.000000 1.802142 2.046182 0 1.013705 1.220200 0
+ L3 26624 0.000000 2.496717 0.544397 0 0.994932 0.300357 0
+ L3 26624 0.000000 1.614419 -0.994932 0 0.694575 -0.431763 0
+ L3 26624 0.000000 0.187723 -1.407923 0 0.244040 -0.694575 0
+ L3 26624 0.000000 -0.281585 -0.469308 0 -0.863526 -1.257745 0
+ L3 26624 0.000000 -1.145111 0.488080 0 -0.356674 0.037545 0
+ L3 26624 0.000000 0.600714 0.957388 0 0.225268 0.206495 0
+ L3 26624 0.000000 -3.421825 1.213413 0 -4.344019 1.674510 0
+ L3 26624 0.000000 -4.271214 -0.994999 0 -3.106337 -0.630975 0
+ L3 26624 0.000000 -3.373288 -3.615971 0 -2.329753 -3.300483 0
+ F4 26624 0.000000 4 0
+ -3.154874 1.868656 0
+ -2.548167 1.164876 0
+ -1.480364 0.752316 0
+ -2.159875 1.625973 0
+ F4 26624 0.000000 4 0
+ -2.863655 -0.994999 0
+ -1.553169 -1.116340 0
+ -0.970730 -0.582438 0
+ -2.038534 -0.606707 0
+ F4 26624 0.000000 4 0
+ -1.431827 2.354021 0
+ -1.650242 3.130606 0
+ -2.451094 3.518898 0
+ -2.232680 2.887923 0
+ F4 26624 0.000000 4 0
+ -4.756579 0.024268 0
+ -3.713044 0.266951 0
+ -2.572436 -0.097073 0
+ -3.737312 -0.291219 0
+ F4 26624 0.000000 4 0
+ -3.931458 3.082069 0
+ -3.349020 2.499631 0
+ -2.451094 2.305485 0
+ -2.960728 2.887923 0
+ F4 26624 0.000000 4 0
+ -3.324752 -3.203410 0
+ -2.548167 -2.402558 0
+ -1.650242 -2.062802 0
+ -2.523899 -2.936459 0
+ END$SEGS
+STRUCTURE 485 3 0 0 0 Fn3 2 291.375000 395.041667 0 0.000000 "Lg Conifer 14"" Tree Conifer-14a"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -1.888080 5.331336 0
+ -0.239190 6.525637 0
+ 0.952994 5.239333 0
+ 1.076558 -4.160617 0
+ -0.835281 -6.651130 0
+ -2.090212 -4.266763 0
+ -3.627501 -6.462890 0
+ -4.234619 -4.017274 0
+ -6.280801 -4.918345 0
+ -5.729509 -2.603980 0
+ -7.674651 -2.541234 0
+ -5.980495 -0.658838 0
+ -8.139259 0.000000 0
+ -6.562385 0.694575 0
+ -7.763813 1.933548 0
+ -5.384403 3.639298 0
+ -6.168735 5.804052 0
+ -3.376515 5.082467 0
+ -2.301071 6.626625 0
+ F4 26624 0.000000 28 0
+ -4.329509 -2.603980 0
+ -4.880801 -4.918345 0
+ -2.834619 -4.017274 0
+ -2.227501 -6.462890 0
+ -0.690212 -4.266763 0
+ 0.564719 -6.651130 0
+ 2.476558 -4.160617 0
+ 4.486582 -5.631693 0
+ 3.698145 -3.547967 0
+ 4.771502 -1.799632 0
+ 6.589081 -0.488080 0
+ 5.275019 0.732120 0
+ 6.513991 2.496717 0
+ 4.455002 2.603980 0
+ 4.054819 3.510422 0
+ 3.998502 5.537831 0
+ 2.352994 5.239333 0
+ 1.160810 6.525637 0
+ -0.488080 5.331336 0
+ -0.901071 6.626625 0
+ -1.976515 5.082467 0
+ -4.768735 5.804052 0
+ -3.984403 3.639298 0
+ -6.363813 1.933548 0
+ -5.162385 0.694575 0
+ -6.739259 0.000000 0
+ -4.580495 -0.658838 0
+ -6.274651 -2.541234 0
+ F4 11206591 0.000000 26 0
+ 0.938615 -4.392720 0
+ 2.842080 -6.567137 0
+ 3.510422 -4.937117 0
+ 2.947253 -2.740757 0
+ 5.187486 -2.842080 0
+ 6.677509 -1.627988 0
+ 4.054819 0.131406 0
+ 6.456765 2.759301 0
+ 4.663219 3.173196 0
+ 3.322699 2.872163 0
+ 3.247610 4.599216 0
+ 2.952452 6.263614 0
+ 0.882299 4.054819 0
+ -0.732120 4.280087 0
+ -1.107566 5.143613 0
+ -2.510964 6.208428 0
+ -2.496717 3.285154 0
+ -5.766939 4.056173 0
+ -5.104707 1.765953 0
+ -3.059886 0.488080 0
+ -5.380637 0.441488 0
+ -6.484358 -1.103720 0
+ -2.102499 -1.445468 0
+ -5.518602 -4.276917 0
+ -1.614419 -3.792007 0
+ -1.701292 -6.805167 0
+ L3 26624 0.000000 -3.885868 2.290222 0 -5.124841 2.233905 0
+ L3 26624 0.000000 -5.387653 3.285154 0 -4.542899 3.078659 0
+ L3 26624 0.000000 -1.727052 5.537831 0 -1.595646 3.979730 0
+ L3 26624 0.000000 -1.595646 3.979730 0 -2.534262 5.087296 0
+ L3 26624 0.000000 2.233905 5.594148 0 2.384083 4.280087 0
+ L3 26624 0.000000 2.384083 4.280087 0 3.097431 5.087296 0
+ L3 26624 0.000000 5.368881 2.890936 0 3.623056 2.083726 0
+ L3 26624 0.000000 3.623056 2.083726 0 5.368881 1.670736 0
+ L3 26624 0.000000 4.880801 -1.182656 0 3.566739 -1.201428 0
+ L3 26624 0.000000 3.566739 -1.201428 0 4.655533 -2.665668 0
+ L3 26624 0.000000 3.341471 -4.430265 0 1.896003 -3.172520 0
+ L3 26624 0.000000 1.896003 -3.172520 0 1.933548 -5.462742 0
+ L3 26624 0.000000 -0.675803 -5.838188 0 -0.694575 -3.904640 0
+ L3 26624 0.000000 -0.694575 -3.904640 0 -1.633191 -4.711850 0
+ L3 26624 0.000000 -0.901071 4.129908 0 -1.126339 3.172520 0
+ L3 26624 0.000000 1.520557 4.373948 0 1.539329 3.266382 0
+ L3 26624 0.000000 2.928480 3.754462 0 2.046182 3.022342 0
+ L3 26624 0.000000 3.397788 2.872163 0 2.440400 1.501785 0
+ L3 26624 0.000000 4.392720 0.788437 0 3.210065 1.107566 0
+ L3 26624 0.000000 4.505354 -0.319129 0 2.553034 -0.600714 0
+ L3 26624 0.000000 2.740757 -1.389151 0 3.660600 -2.703213 0
+ L3 26624 0.000000 2.928480 -3.078659 0 1.445468 -1.989865 0
+ L3 26624 0.000000 1.163883 -2.609351 0 0.788437 -3.754462 0
+ L3 26624 0.000000 0.056317 -3.735690 0 -0.206495 -2.233905 0
+ L3 26624 0.000000 -1.520557 -3.397788 0 -1.107566 -1.914776 0
+ L3 26624 0.000000 -2.872163 0.544397 0 -1.501785 -0.131406 0
+ L3 26624 0.000000 -1.220200 1.858459 0 -0.619486 0.675803 0
+ L3 26624 0.000000 0.938615 2.778302 0 0.262812 1.501785 0
+ L3 26624 0.000000 1.802142 2.046182 0 1.013705 1.220200 0
+ L3 26624 0.000000 2.496717 0.544397 0 0.994932 0.300357 0
+ L3 26624 0.000000 1.614419 -0.994932 0 0.694575 -0.431763 0
+ L3 26624 0.000000 0.187723 -1.407923 0 0.244040 -0.694575 0
+ L3 26624 0.000000 -0.281585 -0.469308 0 -0.863526 -1.257745 0
+ L3 26624 0.000000 -1.145111 0.488080 0 -0.356674 0.037545 0
+ L3 26624 0.000000 0.600714 0.957388 0 0.225268 0.206495 0
+ L3 26624 0.000000 -3.421825 1.213413 0 -4.344019 1.674510 0
+ L3 26624 0.000000 -4.271214 -0.994999 0 -3.106337 -0.630975 0
+ L3 26624 0.000000 -3.373288 -3.615971 0 -2.329753 -3.300483 0
+ F4 26624 0.000000 4 0
+ -3.154874 1.868656 0
+ -2.548167 1.164876 0
+ -1.480364 0.752316 0
+ -2.159875 1.625973 0
+ F4 26624 0.000000 4 0
+ -2.863655 -0.994999 0
+ -1.553169 -1.116340 0
+ -0.970730 -0.582438 0
+ -2.038534 -0.606707 0
+ F4 26624 0.000000 4 0
+ -1.431827 2.354021 0
+ -1.650242 3.130606 0
+ -2.451094 3.518898 0
+ -2.232680 2.887923 0
+ F4 26624 0.000000 4 0
+ -4.756579 0.024268 0
+ -3.713044 0.266951 0
+ -2.572436 -0.097073 0
+ -3.737312 -0.291219 0
+ F4 26624 0.000000 4 0
+ -3.931458 3.082069 0
+ -3.349020 2.499631 0
+ -2.451094 2.305485 0
+ -2.960728 2.887923 0
+ F4 26624 0.000000 4 0
+ -3.324752 -3.203410 0
+ -2.548167 -2.402558 0
+ -1.650242 -2.062802 0
+ -2.523899 -2.936459 0
+ END$SEGS
+STRUCTURE 486 3 0 0 0 Fn3 2 234.375000 388.041667 0 0.000000 "Lg Conifer 10"" Tree Conifer-10b"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -0.170850 -4.661169 0
+ -1.348629 -3.808097 0
+ -1.643622 -4.733304 0
+ -2.411796 -3.630334 0
+ -4.406239 -4.145751 0
+ -3.846002 -2.599498 0
+ -5.545581 -1.381106 0
+ -4.687418 -0.496125 0
+ -5.813757 0.000000 0
+ -4.271782 0.470599 0
+ -5.481893 1.815167 0
+ -4.092507 1.859986 0
+ -4.486286 3.513104 0
+ -3.024728 2.869482 0
+ -2.591072 4.616350 0
+ -1.493008 3.047688 0
+ -0.596630 4.750807 0
+ 0.768970 2.971870 0
+ 0.680710 -3.742381 0
+ F4 26624 0.000000 28 0
+ -3.092507 1.859986 0
+ -3.486286 3.513104 0
+ -2.024728 2.869482 0
+ -1.591072 4.616350 0
+ -0.493008 3.047688 0
+ 0.403370 4.750807 0
+ 1.768970 2.971870 0
+ 3.204701 4.022638 0
+ 2.641532 2.534262 0
+ 3.408216 1.285452 0
+ 4.706486 0.348629 0
+ 3.767871 -0.522943 0
+ 4.652851 -1.783369 0
+ 3.182144 -1.859986 0
+ 2.896299 -2.507444 0
+ 2.856073 -3.955594 0
+ 1.680710 -3.742381 0
+ 0.829150 -4.661169 0
+ -0.348629 -3.808097 0
+ -0.643622 -4.733304 0
+ -1.411796 -3.630334 0
+ -3.406239 -4.145751 0
+ -2.846002 -2.599498 0
+ -4.545581 -1.381106 0
+ -3.687418 -0.496125 0
+ -4.813757 0.000000 0
+ -3.271782 0.470599 0
+ -4.481893 1.815167 0
+ F4 11206591 0.000000 26 0
+ 0.670440 3.137657 0
+ 2.030057 4.690812 0
+ 2.507444 3.526512 0
+ 2.105180 1.957684 0
+ 3.705347 2.030057 0
+ 4.769649 1.162848 0
+ 2.896299 -0.093862 0
+ 4.611975 -1.970929 0
+ 3.330871 -2.266569 0
+ 2.373356 -2.051545 0
+ 2.319721 -3.285154 0
+ 2.108894 -4.474010 0
+ 0.630213 -2.896299 0
+ -0.522943 -3.057205 0
+ -0.791119 -3.674009 0
+ -1.793546 -4.434591 0
+ -1.783369 -2.346539 0
+ -4.119242 -2.897266 0
+ -3.646219 -1.261395 0
+ -2.185633 -0.348629 0
+ -3.843312 -0.315349 0
+ -4.631684 0.788372 0
+ -1.501785 1.032477 0
+ -3.941859 3.054941 0
+ -1.153156 2.708576 0
+ -1.215208 4.860833 0
+ L3 26624 0.000000 -2.775620 -1.635873 0 -3.660600 -1.595646 0
+ L3 26624 0.000000 -3.848324 -2.346539 0 -3.244928 -2.199042 0
+ L3 26624 0.000000 -1.233609 -3.955594 0 -1.139747 -2.842664 0
+ L3 26624 0.000000 -1.139747 -2.842664 0 -1.810187 -3.633783 0
+ L3 26624 0.000000 1.595646 -3.995820 0 1.702917 -3.057205 0
+ L3 26624 0.000000 1.702917 -3.057205 0 2.212451 -3.633783 0
+ L3 26624 0.000000 3.834915 -2.064954 0 2.587897 -1.488376 0
+ L3 26624 0.000000 2.587897 -1.488376 0 3.834915 -1.193383 0
+ L3 26624 0.000000 3.486286 0.844754 0 2.547671 0.858163 0
+ L3 26624 0.000000 2.547671 0.858163 0 3.325381 1.904049 0
+ L3 26624 0.000000 2.386765 3.164475 0 1.354288 2.266086 0
+ L3 26624 0.000000 1.354288 2.266086 0 1.381106 3.901959 0
+ L3 26624 0.000000 -0.482717 4.170135 0 -0.496125 2.789029 0
+ L3 26624 0.000000 -0.496125 2.789029 0 -1.166565 3.365607 0
+ L3 26624 0.000000 -0.643622 -2.949934 0 -0.804528 -2.266086 0
+ L3 26624 0.000000 1.086112 -3.124249 0 1.099521 -2.333130 0
+ L3 26624 0.000000 2.091772 -2.681759 0 1.461558 -2.158816 0
+ L3 26624 0.000000 2.426991 -2.051545 0 1.743143 -1.072703 0
+ L3 26624 0.000000 3.137657 -0.563169 0 2.292904 -0.791119 0
+ L3 26624 0.000000 3.218110 0.227949 0 1.823596 0.429081 0
+ L3 26624 0.000000 1.957684 0.992251 0 2.614715 1.930866 0
+ L3 26624 0.000000 2.091772 2.199042 0 1.032477 1.421332 0
+ L3 26624 0.000000 0.831345 1.863822 0 0.563169 2.681759 0
+ L3 26624 0.000000 0.040226 2.668350 0 -0.147497 1.595646 0
+ L3 26624 0.000000 -1.086112 2.426991 0 -0.791119 1.367697 0
+ L3 26624 0.000000 -2.051545 -0.388855 0 -1.072703 0.093862 0
+ L3 26624 0.000000 -0.871572 -1.327470 0 -0.442490 -0.482717 0
+ L3 26624 0.000000 0.670440 -1.984501 0 0.187723 -1.072703 0
+ L3 26624 0.000000 1.287244 -1.461558 0 0.724075 -0.871572 0
+ L3 26624 0.000000 1.783369 -0.388855 0 0.710666 -0.214541 0
+ L3 26624 0.000000 1.153156 0.710666 0 0.496125 0.308402 0
+ L3 26624 0.000000 0.134088 1.005659 0 0.174314 0.496125 0
+ L3 26624 0.000000 -0.201132 0.335220 0 -0.616804 0.898389 0
+ L3 26624 0.000000 -0.817936 -0.348629 0 -0.254767 -0.026818 0
+ L3 26624 0.000000 0.429081 -0.683848 0 0.160906 -0.147497 0
+ L3 26624 0.000000 -2.444160 -0.866724 0 -3.102870 -1.196079 0
+ L3 26624 0.000000 -3.050867 0.710713 0 -2.218812 0.450696 0
+ L3 26624 0.000000 -2.409492 2.582836 0 -1.664109 2.357488 0
+ F4 26624 0.000000 4 0
+ -2.253481 -1.334754 0
+ -1.820120 -0.832055 0
+ -1.057403 -0.537369 0
+ -1.542768 -1.161410 0
+ F4 26624 0.000000 4 0
+ -2.045468 0.710713 0
+ -1.109406 0.797386 0
+ -0.693379 0.416027 0
+ -1.456096 0.433362 0
+ F4 26624 0.000000 4 0
+ -1.022734 -1.681444 0
+ -1.178744 -2.236147 0
+ -1.750782 -2.513498 0
+ -1.594771 -2.062802 0
+ F4 26624 0.000000 4 0
+ -3.397556 -0.017334 0
+ -2.652174 -0.190679 0
+ -1.837454 0.069338 0
+ -2.669509 0.208014 0
+ F4 26624 0.000000 4 0
+ -2.808184 -2.201478 0
+ -2.392157 -1.785451 0
+ -1.750782 -1.646775 0
+ -2.114806 -2.062802 0
+ F4 26624 0.000000 4 0
+ -2.374823 2.288150 0
+ -1.820120 1.716113 0
+ -1.178744 1.473430 0
+ -1.802785 2.097471 0
+ END$SEGS
+STRUCTURE 487 3 0 0 0 Fn3 2 331.375000 397.541667 0 0.000000 "Lg Conifer 10"" Tree Conifer-10b"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -0.170850 -4.661169 0
+ -1.348629 -3.808097 0
+ -1.643622 -4.733304 0
+ -2.411796 -3.630334 0
+ -4.406239 -4.145751 0
+ -3.846002 -2.599498 0
+ -5.545581 -1.381106 0
+ -4.687418 -0.496125 0
+ -5.813757 0.000000 0
+ -4.271782 0.470599 0
+ -5.481893 1.815167 0
+ -4.092507 1.859986 0
+ -4.486286 3.513104 0
+ -3.024728 2.869482 0
+ -2.591072 4.616350 0
+ -1.493008 3.047688 0
+ -0.596630 4.750807 0
+ 0.768970 2.971870 0
+ 0.680710 -3.742381 0
+ F4 26624 0.000000 28 0
+ -3.092507 1.859986 0
+ -3.486286 3.513104 0
+ -2.024728 2.869482 0
+ -1.591072 4.616350 0
+ -0.493008 3.047688 0
+ 0.403370 4.750807 0
+ 1.768970 2.971870 0
+ 3.204701 4.022638 0
+ 2.641532 2.534262 0
+ 3.408216 1.285452 0
+ 4.706486 0.348629 0
+ 3.767871 -0.522943 0
+ 4.652851 -1.783369 0
+ 3.182144 -1.859986 0
+ 2.896299 -2.507444 0
+ 2.856073 -3.955594 0
+ 1.680710 -3.742381 0
+ 0.829150 -4.661169 0
+ -0.348629 -3.808097 0
+ -0.643622 -4.733304 0
+ -1.411796 -3.630334 0
+ -3.406239 -4.145751 0
+ -2.846002 -2.599498 0
+ -4.545581 -1.381106 0
+ -3.687418 -0.496125 0
+ -4.813757 0.000000 0
+ -3.271782 0.470599 0
+ -4.481893 1.815167 0
+ F4 11206591 0.000000 26 0
+ 0.670440 3.137657 0
+ 2.030057 4.690812 0
+ 2.507444 3.526512 0
+ 2.105180 1.957684 0
+ 3.705347 2.030057 0
+ 4.769649 1.162848 0
+ 2.896299 -0.093862 0
+ 4.611975 -1.970929 0
+ 3.330871 -2.266569 0
+ 2.373356 -2.051545 0
+ 2.319721 -3.285154 0
+ 2.108894 -4.474010 0
+ 0.630213 -2.896299 0
+ -0.522943 -3.057205 0
+ -0.791119 -3.674009 0
+ -1.793546 -4.434591 0
+ -1.783369 -2.346539 0
+ -4.119242 -2.897266 0
+ -3.646219 -1.261395 0
+ -2.185633 -0.348629 0
+ -3.843312 -0.315349 0
+ -4.631684 0.788372 0
+ -1.501785 1.032477 0
+ -3.941859 3.054941 0
+ -1.153156 2.708576 0
+ -1.215208 4.860833 0
+ L3 26624 0.000000 -2.775620 -1.635873 0 -3.660600 -1.595646 0
+ L3 26624 0.000000 -3.848324 -2.346539 0 -3.244928 -2.199042 0
+ L3 26624 0.000000 -1.233609 -3.955594 0 -1.139747 -2.842664 0
+ L3 26624 0.000000 -1.139747 -2.842664 0 -1.810187 -3.633783 0
+ L3 26624 0.000000 1.595646 -3.995820 0 1.702917 -3.057205 0
+ L3 26624 0.000000 1.702917 -3.057205 0 2.212451 -3.633783 0
+ L3 26624 0.000000 3.834915 -2.064954 0 2.587897 -1.488376 0
+ L3 26624 0.000000 2.587897 -1.488376 0 3.834915 -1.193383 0
+ L3 26624 0.000000 3.486286 0.844754 0 2.547671 0.858163 0
+ L3 26624 0.000000 2.547671 0.858163 0 3.325381 1.904049 0
+ L3 26624 0.000000 2.386765 3.164475 0 1.354288 2.266086 0
+ L3 26624 0.000000 1.354288 2.266086 0 1.381106 3.901959 0
+ L3 26624 0.000000 -0.482717 4.170135 0 -0.496125 2.789029 0
+ L3 26624 0.000000 -0.496125 2.789029 0 -1.166565 3.365607 0
+ L3 26624 0.000000 -0.643622 -2.949934 0 -0.804528 -2.266086 0
+ L3 26624 0.000000 1.086112 -3.124249 0 1.099521 -2.333130 0
+ L3 26624 0.000000 2.091772 -2.681759 0 1.461558 -2.158816 0
+ L3 26624 0.000000 2.426991 -2.051545 0 1.743143 -1.072703 0
+ L3 26624 0.000000 3.137657 -0.563169 0 2.292904 -0.791119 0
+ L3 26624 0.000000 3.218110 0.227949 0 1.823596 0.429081 0
+ L3 26624 0.000000 1.957684 0.992251 0 2.614715 1.930866 0
+ L3 26624 0.000000 2.091772 2.199042 0 1.032477 1.421332 0
+ L3 26624 0.000000 0.831345 1.863822 0 0.563169 2.681759 0
+ L3 26624 0.000000 0.040226 2.668350 0 -0.147497 1.595646 0
+ L3 26624 0.000000 -1.086112 2.426991 0 -0.791119 1.367697 0
+ L3 26624 0.000000 -2.051545 -0.388855 0 -1.072703 0.093862 0
+ L3 26624 0.000000 -0.871572 -1.327470 0 -0.442490 -0.482717 0
+ L3 26624 0.000000 0.670440 -1.984501 0 0.187723 -1.072703 0
+ L3 26624 0.000000 1.287244 -1.461558 0 0.724075 -0.871572 0
+ L3 26624 0.000000 1.783369 -0.388855 0 0.710666 -0.214541 0
+ L3 26624 0.000000 1.153156 0.710666 0 0.496125 0.308402 0
+ L3 26624 0.000000 0.134088 1.005659 0 0.174314 0.496125 0
+ L3 26624 0.000000 -0.201132 0.335220 0 -0.616804 0.898389 0
+ L3 26624 0.000000 -0.817936 -0.348629 0 -0.254767 -0.026818 0
+ L3 26624 0.000000 0.429081 -0.683848 0 0.160906 -0.147497 0
+ L3 26624 0.000000 -2.444160 -0.866724 0 -3.102870 -1.196079 0
+ L3 26624 0.000000 -3.050867 0.710713 0 -2.218812 0.450696 0
+ L3 26624 0.000000 -2.409492 2.582836 0 -1.664109 2.357488 0
+ F4 26624 0.000000 4 0
+ -2.253481 -1.334754 0
+ -1.820120 -0.832055 0
+ -1.057403 -0.537369 0
+ -1.542768 -1.161410 0
+ F4 26624 0.000000 4 0
+ -2.045468 0.710713 0
+ -1.109406 0.797386 0
+ -0.693379 0.416027 0
+ -1.456096 0.433362 0
+ F4 26624 0.000000 4 0
+ -1.022734 -1.681444 0
+ -1.178744 -2.236147 0
+ -1.750782 -2.513498 0
+ -1.594771 -2.062802 0
+ F4 26624 0.000000 4 0
+ -3.397556 -0.017334 0
+ -2.652174 -0.190679 0
+ -1.837454 0.069338 0
+ -2.669509 0.208014 0
+ F4 26624 0.000000 4 0
+ -2.808184 -2.201478 0
+ -2.392157 -1.785451 0
+ -1.750782 -1.646775 0
+ -2.114806 -2.062802 0
+ F4 26624 0.000000 4 0
+ -2.374823 2.288150 0
+ -1.820120 1.716113 0
+ -1.178744 1.473430 0
+ -1.802785 2.097471 0
+ END$SEGS
+STRUCTURE 488 3 0 0 0 Fn3 2 303.875000 403.041667 0 0.000000 "Lg Conifer 10"" Tree Conifer-10b"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -0.170850 -4.661169 0
+ -1.348629 -3.808097 0
+ -1.643622 -4.733304 0
+ -2.411796 -3.630334 0
+ -4.406239 -4.145751 0
+ -3.846002 -2.599498 0
+ -5.545581 -1.381106 0
+ -4.687418 -0.496125 0
+ -5.813757 0.000000 0
+ -4.271782 0.470599 0
+ -5.481893 1.815167 0
+ -4.092507 1.859986 0
+ -4.486286 3.513104 0
+ -3.024728 2.869482 0
+ -2.591072 4.616350 0
+ -1.493008 3.047688 0
+ -0.596630 4.750807 0
+ 0.768970 2.971870 0
+ 0.680710 -3.742381 0
+ F4 26624 0.000000 28 0
+ -3.092507 1.859986 0
+ -3.486286 3.513104 0
+ -2.024728 2.869482 0
+ -1.591072 4.616350 0
+ -0.493008 3.047688 0
+ 0.403370 4.750807 0
+ 1.768970 2.971870 0
+ 3.204701 4.022638 0
+ 2.641532 2.534262 0
+ 3.408216 1.285452 0
+ 4.706486 0.348629 0
+ 3.767871 -0.522943 0
+ 4.652851 -1.783369 0
+ 3.182144 -1.859986 0
+ 2.896299 -2.507444 0
+ 2.856073 -3.955594 0
+ 1.680710 -3.742381 0
+ 0.829150 -4.661169 0
+ -0.348629 -3.808097 0
+ -0.643622 -4.733304 0
+ -1.411796 -3.630334 0
+ -3.406239 -4.145751 0
+ -2.846002 -2.599498 0
+ -4.545581 -1.381106 0
+ -3.687418 -0.496125 0
+ -4.813757 0.000000 0
+ -3.271782 0.470599 0
+ -4.481893 1.815167 0
+ F4 11206591 0.000000 26 0
+ 0.670440 3.137657 0
+ 2.030057 4.690812 0
+ 2.507444 3.526512 0
+ 2.105180 1.957684 0
+ 3.705347 2.030057 0
+ 4.769649 1.162848 0
+ 2.896299 -0.093862 0
+ 4.611975 -1.970929 0
+ 3.330871 -2.266569 0
+ 2.373356 -2.051545 0
+ 2.319721 -3.285154 0
+ 2.108894 -4.474010 0
+ 0.630213 -2.896299 0
+ -0.522943 -3.057205 0
+ -0.791119 -3.674009 0
+ -1.793546 -4.434591 0
+ -1.783369 -2.346539 0
+ -4.119242 -2.897266 0
+ -3.646219 -1.261395 0
+ -2.185633 -0.348629 0
+ -3.843312 -0.315349 0
+ -4.631684 0.788372 0
+ -1.501785 1.032477 0
+ -3.941859 3.054941 0
+ -1.153156 2.708576 0
+ -1.215208 4.860833 0
+ L3 26624 0.000000 -2.775620 -1.635873 0 -3.660600 -1.595646 0
+ L3 26624 0.000000 -3.848324 -2.346539 0 -3.244928 -2.199042 0
+ L3 26624 0.000000 -1.233609 -3.955594 0 -1.139747 -2.842664 0
+ L3 26624 0.000000 -1.139747 -2.842664 0 -1.810187 -3.633783 0
+ L3 26624 0.000000 1.595646 -3.995820 0 1.702917 -3.057205 0
+ L3 26624 0.000000 1.702917 -3.057205 0 2.212451 -3.633783 0
+ L3 26624 0.000000 3.834915 -2.064954 0 2.587897 -1.488376 0
+ L3 26624 0.000000 2.587897 -1.488376 0 3.834915 -1.193383 0
+ L3 26624 0.000000 3.486286 0.844754 0 2.547671 0.858163 0
+ L3 26624 0.000000 2.547671 0.858163 0 3.325381 1.904049 0
+ L3 26624 0.000000 2.386765 3.164475 0 1.354288 2.266086 0
+ L3 26624 0.000000 1.354288 2.266086 0 1.381106 3.901959 0
+ L3 26624 0.000000 -0.482717 4.170135 0 -0.496125 2.789029 0
+ L3 26624 0.000000 -0.496125 2.789029 0 -1.166565 3.365607 0
+ L3 26624 0.000000 -0.643622 -2.949934 0 -0.804528 -2.266086 0
+ L3 26624 0.000000 1.086112 -3.124249 0 1.099521 -2.333130 0
+ L3 26624 0.000000 2.091772 -2.681759 0 1.461558 -2.158816 0
+ L3 26624 0.000000 2.426991 -2.051545 0 1.743143 -1.072703 0
+ L3 26624 0.000000 3.137657 -0.563169 0 2.292904 -0.791119 0
+ L3 26624 0.000000 3.218110 0.227949 0 1.823596 0.429081 0
+ L3 26624 0.000000 1.957684 0.992251 0 2.614715 1.930866 0
+ L3 26624 0.000000 2.091772 2.199042 0 1.032477 1.421332 0
+ L3 26624 0.000000 0.831345 1.863822 0 0.563169 2.681759 0
+ L3 26624 0.000000 0.040226 2.668350 0 -0.147497 1.595646 0
+ L3 26624 0.000000 -1.086112 2.426991 0 -0.791119 1.367697 0
+ L3 26624 0.000000 -2.051545 -0.388855 0 -1.072703 0.093862 0
+ L3 26624 0.000000 -0.871572 -1.327470 0 -0.442490 -0.482717 0
+ L3 26624 0.000000 0.670440 -1.984501 0 0.187723 -1.072703 0
+ L3 26624 0.000000 1.287244 -1.461558 0 0.724075 -0.871572 0
+ L3 26624 0.000000 1.783369 -0.388855 0 0.710666 -0.214541 0
+ L3 26624 0.000000 1.153156 0.710666 0 0.496125 0.308402 0
+ L3 26624 0.000000 0.134088 1.005659 0 0.174314 0.496125 0
+ L3 26624 0.000000 -0.201132 0.335220 0 -0.616804 0.898389 0
+ L3 26624 0.000000 -0.817936 -0.348629 0 -0.254767 -0.026818 0
+ L3 26624 0.000000 0.429081 -0.683848 0 0.160906 -0.147497 0
+ L3 26624 0.000000 -2.444160 -0.866724 0 -3.102870 -1.196079 0
+ L3 26624 0.000000 -3.050867 0.710713 0 -2.218812 0.450696 0
+ L3 26624 0.000000 -2.409492 2.582836 0 -1.664109 2.357488 0
+ F4 26624 0.000000 4 0
+ -2.253481 -1.334754 0
+ -1.820120 -0.832055 0
+ -1.057403 -0.537369 0
+ -1.542768 -1.161410 0
+ F4 26624 0.000000 4 0
+ -2.045468 0.710713 0
+ -1.109406 0.797386 0
+ -0.693379 0.416027 0
+ -1.456096 0.433362 0
+ F4 26624 0.000000 4 0
+ -1.022734 -1.681444 0
+ -1.178744 -2.236147 0
+ -1.750782 -2.513498 0
+ -1.594771 -2.062802 0
+ F4 26624 0.000000 4 0
+ -3.397556 -0.017334 0
+ -2.652174 -0.190679 0
+ -1.837454 0.069338 0
+ -2.669509 0.208014 0
+ F4 26624 0.000000 4 0
+ -2.808184 -2.201478 0
+ -2.392157 -1.785451 0
+ -1.750782 -1.646775 0
+ -2.114806 -2.062802 0
+ F4 26624 0.000000 4 0
+ -2.374823 2.288150 0
+ -1.820120 1.716113 0
+ -1.178744 1.473430 0
+ -1.802785 2.097471 0
+ END$SEGS
+STRUCTURE 489 3 0 0 0 Fn3 2 375.375000 399.541667 0 0.000000 "Lg Conifer 12"" Tree Conifer-12a"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -1.618354 4.569717 0
+ -0.205020 5.593403 0
+ 0.816852 4.490857 0
+ 0.922764 -3.566244 0
+ -0.715956 -5.700969 0
+ -1.791610 -3.657225 0
+ -3.109287 -5.539620 0
+ -3.629673 -3.443378 0
+ -5.383543 -4.215724 0
+ -4.911008 -2.231983 0
+ -6.578272 -2.178200 0
+ -5.126139 -0.564719 0
+ -6.976508 0.000000 0
+ -5.624902 0.595350 0
+ -6.654697 1.657327 0
+ -4.615203 3.119398 0
+ -5.287487 4.974902 0
+ -2.894156 4.356400 0
+ -1.972346 5.679965 0
+ F4 26624 0.000000 28 0
+ -3.711008 -2.231983 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.909287 -5.539620 0
+ -0.591610 -3.657225 0
+ 0.484044 -5.700969 0
+ 2.122764 -3.566244 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 4.089859 -1.542542 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 3.818573 2.231983 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 2.016852 4.490857 0
+ 0.994980 5.593403 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -1.694156 4.356400 0
+ -4.087487 4.974902 0
+ -3.415203 3.119398 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 -0.564719 0
+ -5.378272 -2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 -3.765189 0
+ 2.436069 -5.628974 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.446417 -2.436069 0
+ 5.723579 -1.395418 0
+ 3.475559 0.112634 0
+ 5.534370 2.365115 0
+ 3.997045 2.719883 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 2.530673 5.368812 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.152255 5.321509 0
+ -2.140043 2.815846 0
+ -4.943091 3.476719 0
+ -4.375463 1.513674 0
+ -2.622760 0.418354 0
+ -4.611975 0.378418 0
+ -5.558021 -0.946046 0
+ -1.802142 -1.238972 0
+ -4.730231 -3.665929 0
+ -1.383787 -3.250291 0
+ -1.458250 -5.833000 0
+ L3 26624 0.000000 -3.330744 1.963047 0 -4.392720 1.914776 0
+ L3 26624 0.000000 -4.617988 2.815846 0 -3.893913 2.638850 0
+ L3 26624 0.000000 -1.480331 4.746713 0 -1.367697 3.411197 0
+ L3 26624 0.000000 -1.367697 3.411197 0 -2.172224 4.360539 0
+ L3 26624 0.000000 1.914776 4.794984 0 2.043500 3.668646 0
+ L3 26624 0.000000 2.043500 3.668646 0 2.654941 4.360539 0
+ L3 26624 0.000000 4.601898 2.477945 0 3.105476 1.786051 0
+ L3 26624 0.000000 3.105476 1.786051 0 4.601898 1.432059 0
+ L3 26624 0.000000 4.183543 -1.013705 0 3.057205 -1.029795 0
+ L3 26624 0.000000 3.057205 -1.029795 0 3.990457 -2.284858 0
+ L3 26624 0.000000 2.864118 -3.797370 0 1.625146 -2.719303 0
+ L3 26624 0.000000 1.625146 -2.719303 0 1.657327 -4.682350 0
+ L3 26624 0.000000 -0.579260 -5.004161 0 -0.595350 -3.346835 0
+ L3 26624 0.000000 -0.595350 -3.346835 0 -1.399878 -4.038728 0
+ L3 26624 0.000000 -0.772346 3.539921 0 -0.965433 2.719303 0
+ L3 26624 0.000000 1.303335 3.749098 0 1.319425 2.799756 0
+ L3 26624 0.000000 2.510126 3.218110 0 1.753870 2.590579 0
+ L3 26624 0.000000 2.912390 2.461854 0 2.091772 1.287244 0
+ L3 26624 0.000000 3.765189 0.675803 0 2.751484 0.949343 0
+ L3 26624 0.000000 3.861732 -0.273539 0 2.188315 -0.514898 0
+ L3 26624 0.000000 2.349220 -1.190701 0 3.137657 -2.317039 0
+ L3 26624 0.000000 2.510126 -2.638850 0 1.238972 -1.705598 0
+ L3 26624 0.000000 0.997614 -2.236587 0 0.675803 -3.218110 0
+ L3 26624 0.000000 0.048272 -3.202020 0 -0.176996 -1.914776 0
+ L3 26624 0.000000 -1.303335 -2.912390 0 -0.949343 -1.641236 0
+ L3 26624 0.000000 -2.461854 0.466626 0 -1.287244 -0.112634 0
+ L3 26624 0.000000 -1.045886 1.592965 0 -0.530988 0.579260 0
+ L3 26624 0.000000 0.804528 2.381402 0 0.225268 1.287244 0
+ L3 26624 0.000000 1.544693 1.753870 0 0.868890 1.045886 0
+ L3 26624 0.000000 2.140043 0.466626 0 0.852799 0.257449 0
+ L3 26624 0.000000 1.383787 -0.852799 0 0.595350 -0.370083 0
+ L3 26624 0.000000 0.160906 -1.206791 0 0.209177 -0.595350 0
+ L3 26624 0.000000 -0.241358 -0.402264 0 -0.740165 -1.078067 0
+ L3 26624 0.000000 -0.981524 0.418354 0 -0.305720 0.032181 0
+ L3 26624 0.000000 0.514898 0.820618 0 0.193087 0.176996 0
+ L3 26624 0.000000 -2.932993 1.040068 0 -3.723444 1.435294 0
+ L3 26624 0.000000 -3.661040 -0.852856 0 -2.662575 -0.540836 0
+ L3 26624 0.000000 -2.891390 -3.099404 0 -1.996931 -2.828986 0
+ F4 26624 0.000000 4 0
+ -2.704178 1.601705 0
+ -2.184143 0.998466 0
+ -1.268883 0.644842 0
+ -1.851322 1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 -0.852856 0
+ -1.331287 -0.956863 0
+ -0.832055 -0.499233 0
+ -1.747315 -0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 2.017732 0
+ -1.414493 2.683376 0
+ -2.100938 3.016198 0
+ -1.913726 2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 0.020801 0
+ -3.182609 0.228815 0
+ -2.204945 -0.083205 0
+ -3.203410 -0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 2.641773 0
+ -2.870588 2.142541 0
+ -2.100938 1.976130 0
+ -2.537767 2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 -2.745780 0
+ -2.184143 -2.059335 0
+ -1.414493 -1.768116 0
+ -2.163342 -2.516965 0
+ END$SEGS
+STRUCTURE 490 3 0 0 0 Fn3 2 407.375000 405.541667 0 0.000000 "Lg Conifer 12"" Tree Conifer-12a"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -1.618354 4.569717 0
+ -0.205020 5.593403 0
+ 0.816852 4.490857 0
+ 0.922764 -3.566244 0
+ -0.715956 -5.700969 0
+ -1.791610 -3.657225 0
+ -3.109287 -5.539620 0
+ -3.629673 -3.443378 0
+ -5.383543 -4.215724 0
+ -4.911008 -2.231983 0
+ -6.578272 -2.178200 0
+ -5.126139 -0.564719 0
+ -6.976508 0.000000 0
+ -5.624902 0.595350 0
+ -6.654697 1.657327 0
+ -4.615203 3.119398 0
+ -5.287487 4.974902 0
+ -2.894156 4.356400 0
+ -1.972346 5.679965 0
+ F4 26624 0.000000 28 0
+ -3.711008 -2.231983 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.909287 -5.539620 0
+ -0.591610 -3.657225 0
+ 0.484044 -5.700969 0
+ 2.122764 -3.566244 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 4.089859 -1.542542 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 3.818573 2.231983 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 2.016852 4.490857 0
+ 0.994980 5.593403 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -1.694156 4.356400 0
+ -4.087487 4.974902 0
+ -3.415203 3.119398 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 -0.564719 0
+ -5.378272 -2.178200 0
+ F4 11206591 0.000000 26 0
+ 0.804528 -3.765189 0
+ 2.436069 -5.628974 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.446417 -2.436069 0
+ 5.723579 -1.395418 0
+ 3.475559 0.112634 0
+ 5.534370 2.365115 0
+ 3.997045 2.719883 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 2.530673 5.368812 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.152255 5.321509 0
+ -2.140043 2.815846 0
+ -4.943091 3.476719 0
+ -4.375463 1.513674 0
+ -2.622760 0.418354 0
+ -4.611975 0.378418 0
+ -5.558021 -0.946046 0
+ -1.802142 -1.238972 0
+ -4.730231 -3.665929 0
+ -1.383787 -3.250291 0
+ -1.458250 -5.833000 0
+ L3 26624 0.000000 -3.330744 1.963047 0 -4.392720 1.914776 0
+ L3 26624 0.000000 -4.617988 2.815846 0 -3.893913 2.638850 0
+ L3 26624 0.000000 -1.480331 4.746713 0 -1.367697 3.411197 0
+ L3 26624 0.000000 -1.367697 3.411197 0 -2.172224 4.360539 0
+ L3 26624 0.000000 1.914776 4.794984 0 2.043500 3.668646 0
+ L3 26624 0.000000 2.043500 3.668646 0 2.654941 4.360539 0
+ L3 26624 0.000000 4.601898 2.477945 0 3.105476 1.786051 0
+ L3 26624 0.000000 3.105476 1.786051 0 4.601898 1.432059 0
+ L3 26624 0.000000 4.183543 -1.013705 0 3.057205 -1.029795 0
+ L3 26624 0.000000 3.057205 -1.029795 0 3.990457 -2.284858 0
+ L3 26624 0.000000 2.864118 -3.797370 0 1.625146 -2.719303 0
+ L3 26624 0.000000 1.625146 -2.719303 0 1.657327 -4.682350 0
+ L3 26624 0.000000 -0.579260 -5.004161 0 -0.595350 -3.346835 0
+ L3 26624 0.000000 -0.595350 -3.346835 0 -1.399878 -4.038728 0
+ L3 26624 0.000000 -0.772346 3.539921 0 -0.965433 2.719303 0
+ L3 26624 0.000000 1.303335 3.749098 0 1.319425 2.799756 0
+ L3 26624 0.000000 2.510126 3.218110 0 1.753870 2.590579 0
+ L3 26624 0.000000 2.912390 2.461854 0 2.091772 1.287244 0
+ L3 26624 0.000000 3.765189 0.675803 0 2.751484 0.949343 0
+ L3 26624 0.000000 3.861732 -0.273539 0 2.188315 -0.514898 0
+ L3 26624 0.000000 2.349220 -1.190701 0 3.137657 -2.317039 0
+ L3 26624 0.000000 2.510126 -2.638850 0 1.238972 -1.705598 0
+ L3 26624 0.000000 0.997614 -2.236587 0 0.675803 -3.218110 0
+ L3 26624 0.000000 0.048272 -3.202020 0 -0.176996 -1.914776 0
+ L3 26624 0.000000 -1.303335 -2.912390 0 -0.949343 -1.641236 0
+ L3 26624 0.000000 -2.461854 0.466626 0 -1.287244 -0.112634 0
+ L3 26624 0.000000 -1.045886 1.592965 0 -0.530988 0.579260 0
+ L3 26624 0.000000 0.804528 2.381402 0 0.225268 1.287244 0
+ L3 26624 0.000000 1.544693 1.753870 0 0.868890 1.045886 0
+ L3 26624 0.000000 2.140043 0.466626 0 0.852799 0.257449 0
+ L3 26624 0.000000 1.383787 -0.852799 0 0.595350 -0.370083 0
+ L3 26624 0.000000 0.160906 -1.206791 0 0.209177 -0.595350 0
+ L3 26624 0.000000 -0.241358 -0.402264 0 -0.740165 -1.078067 0
+ L3 26624 0.000000 -0.981524 0.418354 0 -0.305720 0.032181 0
+ L3 26624 0.000000 0.514898 0.820618 0 0.193087 0.176996 0
+ L3 26624 0.000000 -2.932993 1.040068 0 -3.723444 1.435294 0
+ L3 26624 0.000000 -3.661040 -0.852856 0 -2.662575 -0.540836 0
+ L3 26624 0.000000 -2.891390 -3.099404 0 -1.996931 -2.828986 0
+ F4 26624 0.000000 4 0
+ -2.704178 1.601705 0
+ -2.184143 0.998466 0
+ -1.268883 0.644842 0
+ -1.851322 1.393692 0
+ F4 26624 0.000000 4 0
+ -2.454561 -0.852856 0
+ -1.331287 -0.956863 0
+ -0.832055 -0.499233 0
+ -1.747315 -0.520034 0
+ F4 26624 0.000000 4 0
+ -1.227281 2.017732 0
+ -1.414493 2.683376 0
+ -2.100938 3.016198 0
+ -1.913726 2.475363 0
+ F4 26624 0.000000 4 0
+ -4.077068 0.020801 0
+ -3.182609 0.228815 0
+ -2.204945 -0.083205 0
+ -3.203410 -0.249616 0
+ F4 26624 0.000000 4 0
+ -3.369821 2.641773 0
+ -2.870588 2.142541 0
+ -2.100938 1.976130 0
+ -2.537767 2.475363 0
+ F4 26624 0.000000 4 0
+ -2.849787 -2.745780 0
+ -2.184143 -2.059335 0
+ -1.414493 -1.768116 0
+ -2.163342 -2.516965 0
+ END$SEGS
+STRUCTURE 491 3 0 0 0 Fn3 2 429.875000 402.541667 0 0.000000 "Lg Conifer 20"" Tree Conifer-20a"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -2.697257 7.616194 0
+ -0.341699 9.322338 0
+ 1.361420 7.484762 0
+ 1.537940 -5.943739 0
+ -1.193259 -9.501614 0
+ -2.986017 -6.095375 0
+ -5.182144 -9.232701 0
+ -6.049455 -5.738963 0
+ -8.972572 -7.026207 0
+ -8.185013 -3.719972 0
+ -10.963787 -3.630334 0
+ -8.543564 -0.941198 0
+ -11.627513 0.000000 0
+ -9.374836 0.992251 0
+ -11.091161 2.762211 0
+ -7.692005 5.198996 0
+ -8.812478 8.291503 0
+ -4.823593 7.260667 0
+ -3.287244 9.466608 0
+ F4 26624 0.000000 28 0
+ -6.185013 -3.719972 0
+ -6.972572 -7.026207 0
+ -4.049455 -5.738963 0
+ -3.182144 -9.232701 0
+ -0.986017 -6.095375 0
+ 0.806741 -9.501614 0
+ 3.537940 -5.943739 0
+ 6.409403 -8.045276 0
+ 5.283064 -5.068524 0
+ 6.816431 -2.570903 0
+ 9.412972 -0.697257 0
+ 7.535741 1.045886 0
+ 9.305702 3.566739 0
+ 6.364289 3.719972 0
+ 5.792598 5.014888 0
+ 5.712146 7.911188 0
+ 3.361420 7.484762 0
+ 1.658301 9.322338 0
+ -0.697257 7.616194 0
+ -1.287244 9.466608 0
+ -2.823593 7.260667 0
+ -6.812478 8.291503 0
+ -5.692005 5.198996 0
+ -9.091161 2.762211 0
+ -7.374836 0.992251 0
+ -9.627513 0.000000 0
+ -6.543564 -0.941198 0
+ -8.963787 -3.630334 0
+ F4 11206591 0.000000 26 0
+ 1.340879 -6.275315 0
+ 4.060115 -9.381624 0
+ 5.014888 -7.053025 0
+ 4.210361 -3.915367 0
+ 7.410695 -4.060115 0
+ 9.539298 -2.325697 0
+ 5.792598 0.187723 0
+ 9.223950 3.941859 0
+ 6.661741 4.533138 0
+ 4.746713 4.103091 0
+ 4.639442 6.570308 0
+ 4.217789 8.948020 0
+ 1.260427 5.792598 0
+ -1.045886 6.114409 0
+ -1.582238 7.348018 0
+ -3.587092 8.869182 0
+ -3.566739 4.693077 0
+ -8.238485 5.794532 0
+ -7.292439 2.522790 0
+ -4.371266 0.697257 0
+ -7.686625 0.630697 0
+ -9.263368 -1.576744 0
+ -3.003570 -2.064954 0
+ -7.883718 -6.109881 0
+ -2.306312 -5.417152 0
+ -2.430417 -9.721667 0
+ L3 26624 0.000000 -5.551240 3.271745 0 -7.321201 3.191293 0
+ L3 26624 0.000000 -7.696647 4.693077 0 -6.489856 4.398084 0
+ L3 26624 0.000000 -2.467218 7.911188 0 -2.279495 5.685328 0
+ L3 26624 0.000000 -2.279495 5.685328 0 -3.620374 7.267566 0
+ L3 26624 0.000000 3.191293 7.991640 0 3.405833 6.114409 0
+ L3 26624 0.000000 3.405833 6.114409 0 4.424902 7.267566 0
+ L3 26624 0.000000 7.669829 4.129908 0 5.175794 2.976752 0
+ L3 26624 0.000000 5.175794 2.976752 0 7.669829 2.386765 0
+ L3 26624 0.000000 6.972572 -1.689508 0 5.095341 -1.716325 0
+ L3 26624 0.000000 5.095341 -1.716325 0 6.650761 -3.808097 0
+ L3 26624 0.000000 4.773530 -6.328950 0 2.708576 -4.532172 0
+ L3 26624 0.000000 2.708576 -4.532172 0 2.762211 -7.803917 0
+ L3 26624 0.000000 -0.965433 -8.340269 0 -0.992251 -5.578058 0
+ L3 26624 0.000000 -0.992251 -5.578058 0 -2.333130 -6.731214 0
+ L3 26624 0.000000 -1.287244 5.899869 0 -1.609055 4.532172 0
+ L3 26624 0.000000 2.172224 6.248497 0 2.199042 4.666260 0
+ L3 26624 0.000000 4.183543 5.363517 0 2.923117 4.317631 0
+ L3 26624 0.000000 4.853983 4.103091 0 3.486286 2.145407 0
+ L3 26624 0.000000 6.275315 1.126339 0 4.585807 1.582238 0
+ L3 26624 0.000000 6.436220 -0.455899 0 3.647192 -0.858163 0
+ L3 26624 0.000000 3.915367 -1.984501 0 5.229429 -3.861732 0
+ L3 26624 0.000000 4.183543 -4.398084 0 2.064954 -2.842664 0
+ L3 26624 0.000000 1.662690 -3.727644 0 1.126339 -5.363517 0
+ L3 26624 0.000000 0.080453 -5.336699 0 -0.294993 -3.191293 0
+ L3 26624 0.000000 -2.172224 -4.853983 0 -1.582238 -2.735394 0
+ L3 26624 0.000000 -4.103091 0.777710 0 -2.145407 -0.187723 0
+ L3 26624 0.000000 -1.743143 2.654941 0 -0.884980 0.965433 0
+ L3 26624 0.000000 1.340879 3.969003 0 0.375446 2.145407 0
+ L3 26624 0.000000 2.574488 2.923117 0 1.448150 1.743143 0
+ L3 26624 0.000000 3.566739 0.777710 0 1.421332 0.429081 0
+ L3 26624 0.000000 2.306312 -1.421332 0 0.992251 -0.616804 0
+ L3 26624 0.000000 0.268176 -2.011319 0 0.348629 -0.992251 0
+ L3 26624 0.000000 -0.402264 -0.670440 0 -1.233609 -1.796778 0
+ L3 26624 0.000000 -1.635873 0.697257 0 -0.509534 0.053635 0
+ L3 26624 0.000000 0.858163 1.367697 0 0.321811 0.294993 0
+ L3 26624 0.000000 -4.888321 1.733447 0 -6.205741 2.392157 0
+ L3 26624 0.000000 -6.101734 -1.421427 0 -4.437625 -0.901393 0
+ L3 26624 0.000000 -4.818983 -5.165673 0 -3.328219 -4.714976 0
+ F4 26624 0.000000 4 0
+ -4.506963 2.669509 0
+ -3.640239 1.664109 0
+ -2.114806 1.074737 0
+ -3.085536 2.322819 0
+ F4 26624 0.000000 4 0
+ -4.090935 -1.421427 0
+ -2.218812 -1.594771 0
+ -1.386758 -0.832055 0
+ -2.912191 -0.866724 0
+ F4 26624 0.000000 4 0
+ -2.045468 3.362887 0
+ -2.357488 4.472294 0
+ -3.501563 5.026997 0
+ -3.189543 4.125604 0
+ F4 26624 0.000000 4 0
+ -6.795113 0.034669 0
+ -5.304348 0.381358 0
+ -3.674908 -0.138676 0
+ -5.339017 -0.416027 0
+ F4 26624 0.000000 4 0
+ -5.616369 4.402956 0
+ -4.784314 3.570901 0
+ -3.501563 3.293550 0
+ -4.229611 4.125604 0
+ F4 26624 0.000000 4 0
+ -4.749645 -4.576300 0
+ -3.640239 -3.432225 0
+ -2.357488 -2.946860 0
+ -3.605570 -4.194942 0
+ END$SEGS
+STRUCTURE 492 3 0 0 0 Fn3 2 448.875000 390.041667 0 0.000000 "Lg Conifer 20"" Tree Conifer-20b"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -0.341699 -9.322338 0
+ -2.697257 -7.616194 0
+ -3.287244 -9.466608 0
+ -4.823593 -7.260667 0
+ -8.812478 -8.291503 0
+ -7.692005 -5.198996 0
+ -11.091161 -2.762211 0
+ -9.374836 -0.992251 0
+ -11.627513 0.000000 0
+ -8.543564 0.941198 0
+ -10.963787 3.630334 0
+ -8.185013 3.719972 0
+ -8.972572 7.026207 0
+ -6.049455 5.738963 0
+ -5.182144 9.232701 0
+ -2.986017 6.095375 0
+ -1.193259 9.501614 0
+ 1.537940 5.943739 0
+ 1.361420 -7.484762 0
+ F4 26624 0.000000 28 0
+ -6.185013 3.719972 0
+ -6.972572 7.026207 0
+ -4.049455 5.738963 0
+ -3.182144 9.232701 0
+ -0.986017 6.095375 0
+ 0.806741 9.501614 0
+ 3.537940 5.943739 0
+ 6.409403 8.045276 0
+ 5.283064 5.068524 0
+ 6.816431 2.570903 0
+ 9.412972 0.697257 0
+ 7.535741 -1.045886 0
+ 9.305702 -3.566739 0
+ 6.364289 -3.719972 0
+ 5.792598 -5.014888 0
+ 5.712146 -7.911188 0
+ 3.361420 -7.484762 0
+ 1.658301 -9.322338 0
+ -0.697257 -7.616194 0
+ -1.287244 -9.466608 0
+ -2.823593 -7.260667 0
+ -6.812478 -8.291503 0
+ -5.692005 -5.198996 0
+ -9.091161 -2.762211 0
+ -7.374836 -0.992251 0
+ -9.627513 0.000000 0
+ -6.543564 0.941198 0
+ -8.963787 3.630334 0
+ F4 11206591 0.000000 26 0
+ 1.340879 6.275315 0
+ 4.060115 9.381624 0
+ 5.014888 7.053025 0
+ 4.210361 3.915367 0
+ 7.410695 4.060115 0
+ 9.539298 2.325697 0
+ 5.792598 -0.187723 0
+ 9.223950 -3.941859 0
+ 6.661741 -4.533138 0
+ 4.746713 -4.103091 0
+ 4.639442 -6.570308 0
+ 4.217789 -8.948020 0
+ 1.260427 -5.792598 0
+ -1.045886 -6.114409 0
+ -1.582238 -7.348018 0
+ -3.587092 -8.869182 0
+ -3.566739 -4.693077 0
+ -8.238485 -5.794532 0
+ -7.292439 -2.522790 0
+ -4.371266 -0.697257 0
+ -7.686625 -0.630697 0
+ -9.263368 1.576744 0
+ -3.003570 2.064954 0
+ -7.883718 6.109881 0
+ -2.306312 5.417152 0
+ -2.430417 9.721667 0
+ L3 26624 0.000000 -5.551240 -3.271745 0 -7.321201 -3.191293 0
+ L3 26624 0.000000 -7.696647 -4.693077 0 -6.489856 -4.398084 0
+ L3 26624 0.000000 -2.467218 -7.911188 0 -2.279495 -5.685328 0
+ L3 26624 0.000000 -2.279495 -5.685328 0 -3.620374 -7.267566 0
+ L3 26624 0.000000 3.191293 -7.991640 0 3.405833 -6.114409 0
+ L3 26624 0.000000 3.405833 -6.114409 0 4.424902 -7.267566 0
+ L3 26624 0.000000 7.669829 -4.129908 0 5.175794 -2.976752 0
+ L3 26624 0.000000 5.175794 -2.976752 0 7.669829 -2.386765 0
+ L3 26624 0.000000 6.972572 1.689508 0 5.095341 1.716325 0
+ L3 26624 0.000000 5.095341 1.716325 0 6.650761 3.808097 0
+ L3 26624 0.000000 4.773530 6.328950 0 2.708576 4.532172 0
+ L3 26624 0.000000 2.708576 4.532172 0 2.762211 7.803917 0
+ L3 26624 0.000000 -0.965433 8.340269 0 -0.992251 5.578058 0
+ L3 26624 0.000000 -0.992251 5.578058 0 -2.333130 6.731214 0
+ L3 26624 0.000000 -1.287244 -5.899869 0 -1.609055 -4.532172 0
+ L3 26624 0.000000 2.172224 -6.248497 0 2.199042 -4.666260 0
+ L3 26624 0.000000 4.183543 -5.363517 0 2.923117 -4.317631 0
+ L3 26624 0.000000 4.853983 -4.103091 0 3.486286 -2.145407 0
+ L3 26624 0.000000 6.275315 -1.126339 0 4.585807 -1.582238 0
+ L3 26624 0.000000 6.436220 0.455899 0 3.647192 0.858163 0
+ L3 26624 0.000000 3.915367 1.984501 0 5.229429 3.861732 0
+ L3 26624 0.000000 4.183543 4.398084 0 2.064954 2.842664 0
+ L3 26624 0.000000 1.662690 3.727644 0 1.126339 5.363517 0
+ L3 26624 0.000000 0.080453 5.336699 0 -0.294993 3.191293 0
+ L3 26624 0.000000 -2.172224 4.853983 0 -1.582238 2.735394 0
+ L3 26624 0.000000 -4.103091 -0.777710 0 -2.145407 0.187723 0
+ L3 26624 0.000000 -1.743143 -2.654941 0 -0.884980 -0.965433 0
+ L3 26624 0.000000 1.340879 -3.969003 0 0.375446 -2.145407 0
+ L3 26624 0.000000 2.574488 -2.923117 0 1.448150 -1.743143 0
+ L3 26624 0.000000 3.566739 -0.777710 0 1.421332 -0.429081 0
+ L3 26624 0.000000 2.306312 1.421332 0 0.992251 0.616804 0
+ L3 26624 0.000000 0.268176 2.011319 0 0.348629 0.992251 0
+ L3 26624 0.000000 -0.402264 0.670440 0 -1.233609 1.796778 0
+ L3 26624 0.000000 -1.635873 -0.697257 0 -0.509534 -0.053635 0
+ L3 26624 0.000000 0.858163 -1.367697 0 0.321811 -0.294993 0
+ L3 26624 0.000000 -4.888321 -1.733447 0 -6.205741 -2.392157 0
+ L3 26624 0.000000 -6.101734 1.421427 0 -4.437625 0.901393 0
+ L3 26624 0.000000 -4.818983 5.165673 0 -3.328219 4.714976 0
+ F4 26624 0.000000 4 0
+ -4.506963 -2.669509 0
+ -3.640239 -1.664109 0
+ -2.114806 -1.074737 0
+ -3.085536 -2.322819 0
+ F4 26624 0.000000 4 0
+ -4.090935 1.421427 0
+ -2.218812 1.594771 0
+ -1.386758 0.832055 0
+ -2.912191 0.866724 0
+ F4 26624 0.000000 4 0
+ -2.045468 -3.362887 0
+ -2.357488 -4.472294 0
+ -3.501563 -5.026997 0
+ -3.189543 -4.125604 0
+ F4 26624 0.000000 4 0
+ -6.795113 -0.034669 0
+ -5.304348 -0.381358 0
+ -3.674908 0.138676 0
+ -5.339017 0.416027 0
+ F4 26624 0.000000 4 0
+ -5.616369 -4.402956 0
+ -4.784314 -3.570901 0
+ -3.501563 -3.293550 0
+ -4.229611 -4.125604 0
+ F4 26624 0.000000 4 0
+ -4.749645 4.576300 0
+ -3.640239 3.432225 0
+ -2.357488 2.946860 0
+ -3.605570 4.194942 0
+ END$SEGS
+STRUCTURE 493 3 0 0 0 Fn3 2 461.375000 369.541667 0 0.000000 "Lg Conifer 18"" Tree Conifer-18a"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -2.427531 6.854575 0
+ -0.307529 8.390105 0
+ 1.225278 6.736286 0
+ 1.384146 -5.349365 0
+ -1.073933 -8.551453 0
+ -2.687415 -5.485838 0
+ -4.663930 -8.309431 0
+ -5.444510 -5.165067 0
+ -8.075315 -6.323587 0
+ -7.366512 -3.347974 0
+ -9.867408 -3.267300 0
+ -7.689208 -0.847078 0
+ -10.464762 0.000000 0
+ -8.437352 0.893026 0
+ -9.982045 2.485990 0
+ -6.922804 4.679097 0
+ -7.931230 7.462353 0
+ -4.341234 6.534601 0
+ -2.958520 8.519947 0
+ F4 26624 0.000000 28 0
+ -5.566512 -3.347974 0
+ -6.275315 -6.323587 0
+ -3.644510 -5.165067 0
+ -2.863930 -8.309431 0
+ -0.887415 -5.485838 0
+ 0.726067 -8.551453 0
+ 3.184146 -5.349365 0
+ 5.768463 -7.240748 0
+ 4.754758 -4.561671 0
+ 6.134788 -2.313813 0
+ 8.471675 -0.627531 0
+ 6.782167 0.941297 0
+ 8.375132 3.210065 0
+ 5.727860 3.347974 0
+ 5.213339 4.513400 0
+ 5.140931 7.120069 0
+ 3.025278 6.736286 0
+ 1.492471 8.390105 0
+ -0.627531 6.854575 0
+ -1.158520 8.519947 0
+ -2.541234 6.534601 0
+ -6.131230 7.462353 0
+ -5.122804 4.679097 0
+ -8.182045 2.485990 0
+ -6.637352 0.893026 0
+ -8.664762 0.000000 0
+ -5.889208 -0.847078 0
+ -8.067408 -3.267300 0
+ F4 11206591 0.000000 26 0
+ 1.206791 -5.647783 0
+ 3.654103 -8.443462 0
+ 4.513400 -6.347722 0
+ 3.789325 -3.523831 0
+ 6.669625 -3.654103 0
+ 8.585369 -2.093127 0
+ 5.213339 0.168951 0
+ 8.301555 3.547673 0
+ 5.995567 4.079824 0
+ 4.272041 3.692782 0
+ 4.175498 5.913278 0
+ 3.796010 8.053218 0
+ 1.134384 5.213339 0
+ -0.941297 5.502969 0
+ -1.424014 6.613217 0
+ -3.228382 7.982264 0
+ -3.210065 4.223770 0
+ -7.414636 5.215079 0
+ -6.563195 2.270511 0
+ -3.934140 0.627531 0
+ -6.917962 0.567628 0
+ -8.337031 -1.419069 0
+ -2.703213 -1.858459 0
+ -7.095346 -5.498893 0
+ -2.075681 -4.875437 0
+ -2.187375 -8.749500 0
+ L3 26624 0.000000 -4.996116 2.944571 0 -6.589081 2.872163 0
+ L3 26624 0.000000 -6.926982 4.223770 0 -5.840870 3.958276 0
+ L3 26624 0.000000 -2.220496 7.120069 0 -2.051545 5.116795 0
+ L3 26624 0.000000 -2.051545 5.116795 0 -3.258337 6.540809 0
+ L3 26624 0.000000 2.872163 7.192476 0 3.065250 5.502969 0
+ L3 26624 0.000000 3.065250 5.502969 0 3.982411 6.540809 0
+ L3 26624 0.000000 6.902846 3.716917 0 4.658215 2.679077 0
+ L3 26624 0.000000 4.658215 2.679077 0 6.902846 2.148089 0
+ L3 26624 0.000000 6.275315 -1.520557 0 4.585807 -1.544693 0
+ L3 26624 0.000000 4.585807 -1.544693 0 5.985685 -3.427287 0
+ L3 26624 0.000000 4.296177 -5.696055 0 2.437719 -4.078955 0
+ L3 26624 0.000000 2.437719 -4.078955 0 2.485990 -7.023526 0
+ L3 26624 0.000000 -0.868890 -7.506242 0 -0.893026 -5.020252 0
+ L3 26624 0.000000 -0.893026 -5.020252 0 -2.099817 -6.058093 0
+ L3 26624 0.000000 -1.158520 5.309882 0 -1.448150 4.078955 0
+ L3 26624 0.000000 1.955002 5.623648 0 1.979138 4.199634 0
+ L3 26624 0.000000 3.765189 4.827165 0 2.630805 3.885868 0
+ L3 26624 0.000000 4.368585 3.692782 0 3.137657 1.930866 0
+ L3 26624 0.000000 5.647783 1.013705 0 4.127226 1.424014 0
+ L3 26624 0.000000 5.792598 -0.410309 0 3.282472 -0.772346 0
+ L3 26624 0.000000 3.523831 -1.786051 0 4.706486 -3.475559 0
+ L3 26624 0.000000 3.765189 -3.958276 0 1.858459 -2.558398 0
+ L3 26624 0.000000 1.496421 -3.354880 0 1.013705 -4.827165 0
+ L3 26624 0.000000 0.072407 -4.803030 0 -0.265494 -2.872163 0
+ L3 26624 0.000000 -1.955002 -4.368585 0 -1.424014 -2.461854 0
+ L3 26624 0.000000 -3.692782 0.699939 0 -1.930866 -0.168951 0
+ L3 26624 0.000000 -1.568829 2.389447 0 -0.796482 0.868890 0
+ L3 26624 0.000000 1.206791 3.572102 0 0.337902 1.930866 0
+ L3 26624 0.000000 2.317039 2.630805 0 1.303335 1.568829 0
+ L3 26624 0.000000 3.210065 0.699939 0 1.279199 0.386173 0
+ L3 26624 0.000000 2.075681 -1.279199 0 0.893026 -0.555124 0
+ L3 26624 0.000000 0.241358 -1.810187 0 0.313766 -0.893026 0
+ L3 26624 0.000000 -0.362037 -0.603396 0 -1.110248 -1.617100 0
+ L3 26624 0.000000 -1.472285 0.627531 0 -0.458581 0.048272 0
+ L3 26624 0.000000 0.772346 1.230927 0 0.289630 0.265494 0
+ L3 26624 0.000000 -4.399489 1.560102 0 -5.585167 2.152941 0
+ L3 26624 0.000000 -5.491561 -1.279284 0 -3.993862 -0.811253 0
+ L3 26624 0.000000 -4.337085 -4.649105 0 -2.995397 -4.243479 0
+ F4 26624 0.000000 4 0
+ -4.056266 2.402558 0
+ -3.276215 1.497698 0
+ -1.903325 0.967264 0
+ -2.776982 2.090537 0
+ F4 26624 0.000000 4 0
+ -3.681842 -1.279284 0
+ -1.996931 -1.435294 0
+ -1.248082 -0.748849 0
+ -2.620972 -0.780051 0
+ F4 26624 0.000000 4 0
+ -1.840921 3.026599 0
+ -2.121739 4.025064 0
+ -3.151407 4.524297 0
+ -2.870588 3.713044 0
+ F4 26624 0.000000 4 0
+ -6.115602 0.031202 0
+ -4.773913 0.343223 0
+ -3.307417 -0.124808 0
+ -4.805116 -0.374425 0
+ F4 26624 0.000000 4 0
+ -5.054732 3.962660 0
+ -4.305883 3.213811 0
+ -3.151407 2.964195 0
+ -3.806650 3.713044 0
+ F4 26624 0.000000 4 0
+ -4.274681 -4.118670 0
+ -3.276215 -3.089003 0
+ -2.121739 -2.652174 0
+ -3.245013 -3.775448 0
+ END$SEGS
+STRUCTURE 494 3 0 0 0 Fn3 2 432.375000 387.541667 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 495 3 0 0 0 Fn3 2 395.375000 399.041667 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 496 3 0 0 0 Fn3 2 335.875000 405.041667 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 497 3 0 0 0 Fn3 2 316.375000 390.041667 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 498 3 0 0 0 Fn3 2 260.375000 398.041667 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 499 3 0 0 0 Fn3 2 274.875000 387.541667 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 500 3 0 0 0 Fn3 2 212.375000 371.125000 0 0.000000 " 5"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.105410 2.500000 2.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 2.633333 2.366668 0 4.166667 0.700000 0
+ L3 2263842 0.000000 2.566667 2.566667 0 4.633332 3.766668 0
+ L3 2263842 0.000000 2.466667 2.633333 0 1.600000 4.833333 0
+ L3 2263842 0.000000 2.400000 2.533333 0 0.066668 2.833333 0
+ L3 2263842 0.000000 2.400000 2.433333 0 0.633332 0.900000 0
+ L3 2263842 0.000000 2.500000 2.400000 0 2.333333 0.033333 0
+ L3 2263842 0.000000 2.533333 2.633333 0 3.366668 4.833333 0
+ L3 2263842 0.000000 2.900000 2.466667 0 4.900000 2.100000 0
+ L3 2263842 0.000000 2.800000 1.600000 0 3.333333 0.233332 0
+ L3 2263842 0.000000 1.933333 1.466668 0 1.166667 0.466668 0
+ L3 2263842 0.000000 1.533332 2.266668 0 0.066668 1.933333 0
+ L3 2263842 0.000000 1.733332 2.966667 0 0.566667 4.033333 0
+ L3 2263842 0.000000 2.500000 4.966667 0 2.466667 3.533332 0
+ L3 2263842 0.000000 4.166667 4.366668 0 3.100000 3.266668 0
+ L3 2263842 0.000000 3.533332 2.700000 0 4.933332 2.900000 0
+ L3 2263842 0.000000 4.633332 1.266668 0 3.366668 1.933333 0
+ L3 2263842 0.000000 4.000000 1.900000 0 4.766667 1.700000 0
+ L3 2263842 0.000000 4.233332 2.400000 0 4.933332 2.433333 0
+ L3 2263842 0.000000 4.866668 3.366668 0 4.100000 3.100000 0
+ L3 2263842 0.000000 4.366668 4.133332 0 3.766668 3.566667 0
+ L3 2263842 0.000000 2.866668 4.933332 0 2.700000 4.133332 0
+ L3 2263842 0.000000 1.000000 4.466667 0 1.566667 3.766668 0
+ L3 2263842 0.000000 0.266668 3.500000 0 1.133332 3.066667 0
+ L3 2263842 0.000000 0.266668 1.400000 0 1.433332 1.966668 0
+ L3 2263842 0.000000 2.166667 1.300000 0 1.733332 0.166668 0
+ END$SEGS
+STRUCTURE 501 3 0 0 0 Fn3 2 212.375000 364.125000 0 0.000000 " 8"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.168656 4.000000 4.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 4.213332 3.786668 0 6.666668 1.120000 0
+ L3 2263842 0.000000 4.106668 4.106668 0 7.413332 6.026668 0
+ L3 2263842 0.000000 3.946668 4.213332 0 2.560000 7.733332 0
+ L3 2263842 0.000000 3.840000 4.053332 0 0.106668 4.533332 0
+ L3 2263842 0.000000 3.840000 3.893332 0 1.013332 1.440000 0
+ L3 2263842 0.000000 4.000000 3.840000 0 3.733332 0.053332 0
+ L3 2263842 0.000000 4.053332 4.213332 0 5.386668 7.733332 0
+ L3 2263842 0.000000 4.640000 3.946668 0 7.840000 3.360000 0
+ L3 2263842 0.000000 4.480000 2.560000 0 5.333332 0.373332 0
+ L3 2263842 0.000000 3.093332 2.346668 0 1.866668 0.746668 0
+ L3 2263842 0.000000 2.453332 3.626668 0 0.106668 3.093332 0
+ L3 2263842 0.000000 2.773332 4.746668 0 0.906668 6.453332 0
+ L3 2263842 0.000000 4.000000 7.946668 0 3.946668 5.653332 0
+ L3 2263842 0.000000 6.666668 6.986668 0 4.960000 5.226668 0
+ L3 2263842 0.000000 5.653332 4.320000 0 7.893332 4.640000 0
+ L3 2263842 0.000000 7.413332 2.026668 0 5.386668 3.093332 0
+ L3 2263842 0.000000 6.400000 3.040000 0 7.626668 2.720000 0
+ L3 2263842 0.000000 6.773332 3.840000 0 7.893332 3.893332 0
+ L3 2263842 0.000000 7.786668 5.386668 0 6.560000 4.960000 0
+ L3 2263842 0.000000 6.986668 6.613332 0 6.026668 5.706668 0
+ L3 2263842 0.000000 4.586668 7.893332 0 4.320000 6.613332 0
+ L3 2263842 0.000000 1.600000 7.146668 0 2.506668 6.026668 0
+ L3 2263842 0.000000 0.426668 5.600000 0 1.813332 4.906668 0
+ L3 2263842 0.000000 0.426668 2.240000 0 2.293332 3.146668 0
+ L3 2263842 0.000000 3.466668 2.080000 0 2.773332 0.266668 0
+ END$SEGS
+STRUCTURE 502 3 0 0 0 Fn3 2 219.375000 378.125000 0 0.000000 " 8"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.168656 4.000000 4.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 4.213332 3.786668 0 6.666668 1.120000 0
+ L3 2263842 0.000000 4.106668 4.106668 0 7.413332 6.026668 0
+ L3 2263842 0.000000 3.946668 4.213332 0 2.560000 7.733332 0
+ L3 2263842 0.000000 3.840000 4.053332 0 0.106668 4.533332 0
+ L3 2263842 0.000000 3.840000 3.893332 0 1.013332 1.440000 0
+ L3 2263842 0.000000 4.000000 3.840000 0 3.733332 0.053332 0
+ L3 2263842 0.000000 4.053332 4.213332 0 5.386668 7.733332 0
+ L3 2263842 0.000000 4.640000 3.946668 0 7.840000 3.360000 0
+ L3 2263842 0.000000 4.480000 2.560000 0 5.333332 0.373332 0
+ L3 2263842 0.000000 3.093332 2.346668 0 1.866668 0.746668 0
+ L3 2263842 0.000000 2.453332 3.626668 0 0.106668 3.093332 0
+ L3 2263842 0.000000 2.773332 4.746668 0 0.906668 6.453332 0
+ L3 2263842 0.000000 4.000000 7.946668 0 3.946668 5.653332 0
+ L3 2263842 0.000000 6.666668 6.986668 0 4.960000 5.226668 0
+ L3 2263842 0.000000 5.653332 4.320000 0 7.893332 4.640000 0
+ L3 2263842 0.000000 7.413332 2.026668 0 5.386668 3.093332 0
+ L3 2263842 0.000000 6.400000 3.040000 0 7.626668 2.720000 0
+ L3 2263842 0.000000 6.773332 3.840000 0 7.893332 3.893332 0
+ L3 2263842 0.000000 7.786668 5.386668 0 6.560000 4.960000 0
+ L3 2263842 0.000000 6.986668 6.613332 0 6.026668 5.706668 0
+ L3 2263842 0.000000 4.586668 7.893332 0 4.320000 6.613332 0
+ L3 2263842 0.000000 1.600000 7.146668 0 2.506668 6.026668 0
+ L3 2263842 0.000000 0.426668 5.600000 0 1.813332 4.906668 0
+ L3 2263842 0.000000 0.426668 2.240000 0 2.293332 3.146668 0
+ L3 2263842 0.000000 3.466668 2.080000 0 2.773332 0.266668 0
+ END$SEGS
+STRUCTURE 503 3 0 0 0 Fn3 2 177.375000 353.125000 0 0.000000 " 8"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.168656 4.000000 4.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 4.213332 3.786668 0 6.666668 1.120000 0
+ L3 2263842 0.000000 4.106668 4.106668 0 7.413332 6.026668 0
+ L3 2263842 0.000000 3.946668 4.213332 0 2.560000 7.733332 0
+ L3 2263842 0.000000 3.840000 4.053332 0 0.106668 4.533332 0
+ L3 2263842 0.000000 3.840000 3.893332 0 1.013332 1.440000 0
+ L3 2263842 0.000000 4.000000 3.840000 0 3.733332 0.053332 0
+ L3 2263842 0.000000 4.053332 4.213332 0 5.386668 7.733332 0
+ L3 2263842 0.000000 4.640000 3.946668 0 7.840000 3.360000 0
+ L3 2263842 0.000000 4.480000 2.560000 0 5.333332 0.373332 0
+ L3 2263842 0.000000 3.093332 2.346668 0 1.866668 0.746668 0
+ L3 2263842 0.000000 2.453332 3.626668 0 0.106668 3.093332 0
+ L3 2263842 0.000000 2.773332 4.746668 0 0.906668 6.453332 0
+ L3 2263842 0.000000 4.000000 7.946668 0 3.946668 5.653332 0
+ L3 2263842 0.000000 6.666668 6.986668 0 4.960000 5.226668 0
+ L3 2263842 0.000000 5.653332 4.320000 0 7.893332 4.640000 0
+ L3 2263842 0.000000 7.413332 2.026668 0 5.386668 3.093332 0
+ L3 2263842 0.000000 6.400000 3.040000 0 7.626668 2.720000 0
+ L3 2263842 0.000000 6.773332 3.840000 0 7.893332 3.893332 0
+ L3 2263842 0.000000 7.786668 5.386668 0 6.560000 4.960000 0
+ L3 2263842 0.000000 6.986668 6.613332 0 6.026668 5.706668 0
+ L3 2263842 0.000000 4.586668 7.893332 0 4.320000 6.613332 0
+ L3 2263842 0.000000 1.600000 7.146668 0 2.506668 6.026668 0
+ L3 2263842 0.000000 0.426668 5.600000 0 1.813332 4.906668 0
+ L3 2263842 0.000000 0.426668 2.240000 0 2.293332 3.146668 0
+ L3 2263842 0.000000 3.466668 2.080000 0 2.773332 0.266668 0
+ END$SEGS
+STRUCTURE 504 3 0 0 0 Fn3 2 152.375000 362.125000 0 0.000000 " 8"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.168656 4.000000 4.000000 0 0.000000 360.000000
+ L3 2263842 0.000000 4.213332 3.786668 0 6.666668 1.120000 0
+ L3 2263842 0.000000 4.106668 4.106668 0 7.413332 6.026668 0
+ L3 2263842 0.000000 3.946668 4.213332 0 2.560000 7.733332 0
+ L3 2263842 0.000000 3.840000 4.053332 0 0.106668 4.533332 0
+ L3 2263842 0.000000 3.840000 3.893332 0 1.013332 1.440000 0
+ L3 2263842 0.000000 4.000000 3.840000 0 3.733332 0.053332 0
+ L3 2263842 0.000000 4.053332 4.213332 0 5.386668 7.733332 0
+ L3 2263842 0.000000 4.640000 3.946668 0 7.840000 3.360000 0
+ L3 2263842 0.000000 4.480000 2.560000 0 5.333332 0.373332 0
+ L3 2263842 0.000000 3.093332 2.346668 0 1.866668 0.746668 0
+ L3 2263842 0.000000 2.453332 3.626668 0 0.106668 3.093332 0
+ L3 2263842 0.000000 2.773332 4.746668 0 0.906668 6.453332 0
+ L3 2263842 0.000000 4.000000 7.946668 0 3.946668 5.653332 0
+ L3 2263842 0.000000 6.666668 6.986668 0 4.960000 5.226668 0
+ L3 2263842 0.000000 5.653332 4.320000 0 7.893332 4.640000 0
+ L3 2263842 0.000000 7.413332 2.026668 0 5.386668 3.093332 0
+ L3 2263842 0.000000 6.400000 3.040000 0 7.626668 2.720000 0
+ L3 2263842 0.000000 6.773332 3.840000 0 7.893332 3.893332 0
+ L3 2263842 0.000000 7.786668 5.386668 0 6.560000 4.960000 0
+ L3 2263842 0.000000 6.986668 6.613332 0 6.026668 5.706668 0
+ L3 2263842 0.000000 4.586668 7.893332 0 4.320000 6.613332 0
+ L3 2263842 0.000000 1.600000 7.146668 0 2.506668 6.026668 0
+ L3 2263842 0.000000 0.426668 5.600000 0 1.813332 4.906668 0
+ L3 2263842 0.000000 0.426668 2.240000 0 2.293332 3.146668 0
+ L3 2263842 0.000000 3.466668 2.080000 0 2.773332 0.266668 0
+ END$SEGS
+STRUCTURE 505 3 0 0 0 Fn3 2 209.375000 356.125000 0 0.000000 " 7"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.147574 3.500000 3.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.686666 3.313335 0 5.833334 0.980000 0
+ L3 2263842 0.000000 3.593335 3.593335 0 6.486665 5.273334 0
+ L3 2263842 0.000000 3.453334 3.686666 0 2.240000 6.766666 0
+ L3 2263842 0.000000 3.360000 3.546666 0 0.093335 3.966665 0
+ L3 2263842 0.000000 3.360000 3.406665 0 0.886665 1.260000 0
+ L3 2263842 0.000000 3.500000 3.360000 0 3.266665 0.046665 0
+ L3 2263842 0.000000 3.546666 3.686666 0 4.713335 6.766666 0
+ L3 2263842 0.000000 4.060000 3.453334 0 6.860000 2.940000 0
+ L3 2263842 0.000000 3.920000 2.240000 0 4.666666 0.326665 0
+ L3 2263842 0.000000 2.706666 2.053335 0 1.633334 0.653335 0
+ L3 2263842 0.000000 2.146666 3.173335 0 0.093335 2.706666 0
+ L3 2263842 0.000000 2.426665 4.153334 0 0.793335 5.646665 0
+ L3 2263842 0.000000 3.500000 6.953334 0 3.453334 4.946665 0
+ L3 2263842 0.000000 5.833334 6.113334 0 4.340000 4.573334 0
+ L3 2263842 0.000000 4.946665 3.780000 0 6.906665 4.060000 0
+ L3 2263842 0.000000 6.486665 1.773334 0 4.713335 2.706666 0
+ L3 2263842 0.000000 5.600000 2.660000 0 6.673334 2.380000 0
+ L3 2263842 0.000000 5.926666 3.360000 0 6.906665 3.406665 0
+ L3 2263842 0.000000 6.813334 4.713335 0 5.740000 4.340000 0
+ L3 2263842 0.000000 6.113334 5.786665 0 5.273334 4.993334 0
+ L3 2263842 0.000000 4.013335 6.906665 0 3.780000 5.786665 0
+ L3 2263842 0.000000 1.400000 6.253335 0 2.193334 5.273334 0
+ L3 2263842 0.000000 0.373335 4.900000 0 1.586666 4.293335 0
+ L3 2263842 0.000000 0.373335 1.960000 0 2.006665 2.753335 0
+ L3 2263842 0.000000 3.033335 1.820000 0 2.426665 0.233335 0
+ END$SEGS
+STRUCTURE 506 3 0 0 0 Fn3 2 217.375000 389.125000 0 0.000000 " 7"" Fir Tree "
+ D 0.000000 0.000000
+ A3 2263842 0.000000 0.147574 3.500000 3.500000 0 0.000000 360.000000
+ L3 2263842 0.000000 3.686666 3.313335 0 5.833334 0.980000 0
+ L3 2263842 0.000000 3.593335 3.593335 0 6.486665 5.273334 0
+ L3 2263842 0.000000 3.453334 3.686666 0 2.240000 6.766666 0
+ L3 2263842 0.000000 3.360000 3.546666 0 0.093335 3.966665 0
+ L3 2263842 0.000000 3.360000 3.406665 0 0.886665 1.260000 0
+ L3 2263842 0.000000 3.500000 3.360000 0 3.266665 0.046665 0
+ L3 2263842 0.000000 3.546666 3.686666 0 4.713335 6.766666 0
+ L3 2263842 0.000000 4.060000 3.453334 0 6.860000 2.940000 0
+ L3 2263842 0.000000 3.920000 2.240000 0 4.666666 0.326665 0
+ L3 2263842 0.000000 2.706666 2.053335 0 1.633334 0.653335 0
+ L3 2263842 0.000000 2.146666 3.173335 0 0.093335 2.706666 0
+ L3 2263842 0.000000 2.426665 4.153334 0 0.793335 5.646665 0
+ L3 2263842 0.000000 3.500000 6.953334 0 3.453334 4.946665 0
+ L3 2263842 0.000000 5.833334 6.113334 0 4.340000 4.573334 0
+ L3 2263842 0.000000 4.946665 3.780000 0 6.906665 4.060000 0
+ L3 2263842 0.000000 6.486665 1.773334 0 4.713335 2.706666 0
+ L3 2263842 0.000000 5.600000 2.660000 0 6.673334 2.380000 0
+ L3 2263842 0.000000 5.926666 3.360000 0 6.906665 3.406665 0
+ L3 2263842 0.000000 6.813334 4.713335 0 5.740000 4.340000 0
+ L3 2263842 0.000000 6.113334 5.786665 0 5.273334 4.993334 0
+ L3 2263842 0.000000 4.013335 6.906665 0 3.780000 5.786665 0
+ L3 2263842 0.000000 1.400000 6.253335 0 2.193334 5.273334 0
+ L3 2263842 0.000000 0.373335 4.900000 0 1.586666 4.293335 0
+ L3 2263842 0.000000 0.373335 1.960000 0 2.006665 2.753335 0
+ L3 2263842 0.000000 3.033335 1.820000 0 2.426665 0.233335 0
+ END$SEGS
+STRUCTURE 507 3 0 0 0 Fn3 2 40.625000 357.083333 0 0.000000 "Lg Conifer 32"" Tree Conifer-32b"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -0.546719 -14.915742 0
+ -4.315612 -12.185911 0
+ -5.259591 -15.146572 0
+ -7.717749 -11.617068 0
+ -14.099965 -13.266405 0
+ -12.307208 -8.318394 0
+ -17.745858 -4.419538 0
+ -14.999738 -1.587601 0
+ -18.604021 0.000000 0
+ -13.669703 1.505916 0
+ -17.542059 5.808534 0
+ -13.096021 5.951955 0
+ -14.356116 11.241932 0
+ -9.679129 9.182341 0
+ -8.291431 14.772321 0
+ -4.777627 9.752600 0
+ -1.909215 15.202583 0
+ 2.460704 9.509983 0
+ 2.178272 -11.975619 0
+ F4 26624 0.000000 28 0
+ -9.896021 5.951955 0
+ -11.156116 11.241932 0
+ -6.479129 9.182341 0
+ -5.091431 14.772321 0
+ -1.577627 9.752600 0
+ 1.290785 15.202583 0
+ 5.660704 9.509983 0
+ 10.255045 12.872441 0
+ 8.452903 8.109638 0
+ 10.906290 4.113445 0
+ 15.060756 1.115612 0
+ 12.057186 -1.673417 0
+ 14.889123 -5.706782 0
+ 10.182862 -5.951955 0
+ 9.268158 -8.023822 0
+ 9.139433 -12.657900 0
+ 5.378272 -11.975619 0
+ 2.653281 -14.915742 0
+ -1.115612 -12.185911 0
+ -2.059591 -15.146572 0
+ -4.517749 -11.617068 0
+ -10.899965 -13.266405 0
+ -9.107208 -8.318394 0
+ -14.545858 -4.419538 0
+ -11.799738 -1.587601 0
+ -15.404021 0.000000 0
+ -10.469703 1.505916 0
+ -14.342059 5.808534 0
+ F4 11206591 0.000000 26 0
+ 2.145407 10.040504 0
+ 6.496183 15.010598 0
+ 8.023822 11.284840 0
+ 6.736577 6.264588 0
+ 11.857111 6.496183 0
+ 15.262877 3.721115 0
+ 9.268158 -0.300357 0
+ 14.758319 -6.306974 0
+ 10.658786 -7.253020 0
+ 7.594740 -6.564945 0
+ 7.423108 -10.512493 0
+ 6.748462 -14.316831 0
+ 2.016682 -9.268158 0
+ -1.673417 -9.783055 0
+ -2.531580 -11.756829 0
+ -5.739346 -14.190692 0
+ -5.706782 -7.508924 0
+ -13.181576 -9.271252 0
+ -11.667902 -4.036463 0
+ -6.994026 -1.115612 0
+ -12.298600 -1.009116 0
+ -14.821389 2.522790 0
+ -4.805711 3.303927 0
+ -12.613948 9.775810 0
+ -3.690100 8.667444 0
+ -3.888667 15.554667 0
+ L3 26624 0.000000 -8.881984 -5.234793 0 -11.713921 -5.106068 0
+ L3 26624 0.000000 -12.314635 -7.508924 0 -10.383769 -7.036934 0
+ L3 26624 0.000000 -3.947549 -12.657900 0 -3.647192 -9.096525 0
+ L3 26624 0.000000 -3.647192 -9.096525 0 -5.792598 -11.628105 0
+ L3 26624 0.000000 5.106068 -12.786625 0 5.449333 -9.783055 0
+ L3 26624 0.000000 5.449333 -9.783055 0 7.079843 -11.628105 0
+ L3 26624 0.000000 12.271727 -6.607853 0 8.281270 -4.762803 0
+ L3 26624 0.000000 8.281270 -4.762803 0 12.271727 -3.818824 0
+ L3 26624 0.000000 11.156116 2.703213 0 8.152546 2.746121 0
+ L3 26624 0.000000 8.152546 2.746121 0 10.641218 6.092955 0
+ L3 26624 0.000000 7.637648 10.126320 0 4.333722 7.251475 0
+ L3 26624 0.000000 4.333722 7.251475 0 4.419538 12.486268 0
+ L3 26624 0.000000 -1.544693 13.344430 0 -1.587601 8.924892 0
+ L3 26624 0.000000 -1.587601 8.924892 0 -3.733008 10.769942 0
+ L3 26624 0.000000 -2.059591 -9.439790 0 -2.574488 -7.251475 0
+ L3 26624 0.000000 3.475559 -9.997596 0 3.518467 -7.466016 0
+ L3 26624 0.000000 6.693669 -8.581627 0 4.676987 -6.908210 0
+ L3 26624 0.000000 7.766373 -6.564945 0 5.578058 -3.432651 0
+ L3 26624 0.000000 10.040504 -1.802142 0 7.337291 -2.531580 0
+ L3 26624 0.000000 10.297953 0.729438 0 5.835507 1.373060 0
+ L3 26624 0.000000 6.264588 3.175202 0 8.367087 6.178772 0
+ L3 26624 0.000000 6.693669 7.036934 0 3.303927 4.548262 0
+ L3 26624 0.000000 2.660304 5.964231 0 1.802142 8.581627 0
+ L3 26624 0.000000 0.128724 8.538719 0 -0.471990 5.106068 0
+ L3 26624 0.000000 -3.475559 7.766373 0 -2.531580 4.376630 0
+ L3 26624 0.000000 -6.564945 -1.244336 0 -3.432651 0.300357 0
+ L3 26624 0.000000 -2.789029 -4.247906 0 -1.415969 -1.544693 0
+ L3 26624 0.000000 2.145407 -6.350404 0 0.600714 -3.432651 0
+ L3 26624 0.000000 4.119181 -4.676987 0 2.317039 -2.789029 0
+ L3 26624 0.000000 5.706782 -1.244336 0 2.274131 -0.686530 0
+ L3 26624 0.000000 3.690100 2.274131 0 1.587601 0.986887 0
+ L3 26624 0.000000 0.429081 3.218110 0 0.557806 1.587601 0
+ L3 26624 0.000000 -0.643622 1.072703 0 -1.973774 2.874845 0
+ L3 26624 0.000000 -2.617396 -1.115612 0 -0.815255 -0.085816 0
+ L3 26624 0.000000 1.373060 -2.188315 0 0.514898 -0.471990 0
+ L3 26624 0.000000 -7.821314 -2.773515 0 -9.929185 -3.827451 0
+ L3 26624 0.000000 -9.762774 2.274283 0 -7.100200 1.442228 0
+ L3 26624 0.000000 -7.710373 8.265076 0 -5.325150 7.543962 0
+ F4 26624 0.000000 4 0
+ -7.211140 -4.271214 0
+ -5.824382 -2.662575 0
+ -3.383689 -1.719580 0
+ -4.936857 -3.716511 0
+ F4 26624 0.000000 4 0
+ -6.545496 2.274283 0
+ -3.550100 2.551634 0
+ -2.218812 1.331287 0
+ -4.659506 1.386758 0
+ F4 26624 0.000000 4 0
+ -3.272748 -5.380620 0
+ -3.771981 -7.155670 0
+ -5.602501 -8.043195 0
+ -5.103268 -6.600967 0
+ F4 26624 0.000000 4 0
+ -10.872181 -0.055470 0
+ -8.486957 -0.610173 0
+ -5.879853 0.221881 0
+ -8.542428 0.665644 0
+ F4 26624 0.000000 4 0
+ -8.986190 -7.044729 0
+ -7.654903 -5.713442 0
+ -5.602501 -5.269679 0
+ -6.767378 -6.600967 0
+ F4 26624 0.000000 4 0
+ -7.599432 7.322081 0
+ -5.824382 5.491561 0
+ -3.771981 4.714976 0
+ -5.768912 6.711907 0
+ END$SEGS
+STRUCTURE 508 3 0 0 0 Fn3 2 687.625000 762.250000 0 0.000000 "Lg Conifer 32"" Tree Conifer-32b"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -0.546719 -14.915742 0
+ -4.315612 -12.185911 0
+ -5.259591 -15.146572 0
+ -7.717749 -11.617068 0
+ -14.099965 -13.266405 0
+ -12.307208 -8.318394 0
+ -17.745858 -4.419538 0
+ -14.999738 -1.587601 0
+ -18.604021 0.000000 0
+ -13.669703 1.505916 0
+ -17.542059 5.808534 0
+ -13.096021 5.951955 0
+ -14.356116 11.241932 0
+ -9.679129 9.182341 0
+ -8.291431 14.772321 0
+ -4.777627 9.752600 0
+ -1.909215 15.202583 0
+ 2.460704 9.509983 0
+ 2.178272 -11.975619 0
+ F4 26624 0.000000 28 0
+ -9.896021 5.951955 0
+ -11.156116 11.241932 0
+ -6.479129 9.182341 0
+ -5.091431 14.772321 0
+ -1.577627 9.752600 0
+ 1.290785 15.202583 0
+ 5.660704 9.509983 0
+ 10.255045 12.872441 0
+ 8.452903 8.109638 0
+ 10.906290 4.113445 0
+ 15.060756 1.115612 0
+ 12.057186 -1.673417 0
+ 14.889123 -5.706782 0
+ 10.182862 -5.951955 0
+ 9.268158 -8.023822 0
+ 9.139433 -12.657900 0
+ 5.378272 -11.975619 0
+ 2.653281 -14.915742 0
+ -1.115612 -12.185911 0
+ -2.059591 -15.146572 0
+ -4.517749 -11.617068 0
+ -10.899965 -13.266405 0
+ -9.107208 -8.318394 0
+ -14.545858 -4.419538 0
+ -11.799738 -1.587601 0
+ -15.404021 0.000000 0
+ -10.469703 1.505916 0
+ -14.342059 5.808534 0
+ F4 11206591 0.000000 26 0
+ 2.145407 10.040504 0
+ 6.496183 15.010598 0
+ 8.023822 11.284840 0
+ 6.736577 6.264588 0
+ 11.857111 6.496183 0
+ 15.262877 3.721115 0
+ 9.268158 -0.300357 0
+ 14.758319 -6.306974 0
+ 10.658786 -7.253020 0
+ 7.594740 -6.564945 0
+ 7.423108 -10.512493 0
+ 6.748462 -14.316831 0
+ 2.016682 -9.268158 0
+ -1.673417 -9.783055 0
+ -2.531580 -11.756829 0
+ -5.739346 -14.190692 0
+ -5.706782 -7.508924 0
+ -13.181576 -9.271252 0
+ -11.667902 -4.036463 0
+ -6.994026 -1.115612 0
+ -12.298600 -1.009116 0
+ -14.821389 2.522790 0
+ -4.805711 3.303927 0
+ -12.613948 9.775810 0
+ -3.690100 8.667444 0
+ -3.888667 15.554667 0
+ L3 26624 0.000000 -8.881984 -5.234793 0 -11.713921 -5.106068 0
+ L3 26624 0.000000 -12.314635 -7.508924 0 -10.383769 -7.036934 0
+ L3 26624 0.000000 -3.947549 -12.657900 0 -3.647192 -9.096525 0
+ L3 26624 0.000000 -3.647192 -9.096525 0 -5.792598 -11.628105 0
+ L3 26624 0.000000 5.106068 -12.786625 0 5.449333 -9.783055 0
+ L3 26624 0.000000 5.449333 -9.783055 0 7.079843 -11.628105 0
+ L3 26624 0.000000 12.271727 -6.607853 0 8.281270 -4.762803 0
+ L3 26624 0.000000 8.281270 -4.762803 0 12.271727 -3.818824 0
+ L3 26624 0.000000 11.156116 2.703213 0 8.152546 2.746121 0
+ L3 26624 0.000000 8.152546 2.746121 0 10.641218 6.092955 0
+ L3 26624 0.000000 7.637648 10.126320 0 4.333722 7.251475 0
+ L3 26624 0.000000 4.333722 7.251475 0 4.419538 12.486268 0
+ L3 26624 0.000000 -1.544693 13.344430 0 -1.587601 8.924892 0
+ L3 26624 0.000000 -1.587601 8.924892 0 -3.733008 10.769942 0
+ L3 26624 0.000000 -2.059591 -9.439790 0 -2.574488 -7.251475 0
+ L3 26624 0.000000 3.475559 -9.997596 0 3.518467 -7.466016 0
+ L3 26624 0.000000 6.693669 -8.581627 0 4.676987 -6.908210 0
+ L3 26624 0.000000 7.766373 -6.564945 0 5.578058 -3.432651 0
+ L3 26624 0.000000 10.040504 -1.802142 0 7.337291 -2.531580 0
+ L3 26624 0.000000 10.297953 0.729438 0 5.835507 1.373060 0
+ L3 26624 0.000000 6.264588 3.175202 0 8.367087 6.178772 0
+ L3 26624 0.000000 6.693669 7.036934 0 3.303927 4.548262 0
+ L3 26624 0.000000 2.660304 5.964231 0 1.802142 8.581627 0
+ L3 26624 0.000000 0.128724 8.538719 0 -0.471990 5.106068 0
+ L3 26624 0.000000 -3.475559 7.766373 0 -2.531580 4.376630 0
+ L3 26624 0.000000 -6.564945 -1.244336 0 -3.432651 0.300357 0
+ L3 26624 0.000000 -2.789029 -4.247906 0 -1.415969 -1.544693 0
+ L3 26624 0.000000 2.145407 -6.350404 0 0.600714 -3.432651 0
+ L3 26624 0.000000 4.119181 -4.676987 0 2.317039 -2.789029 0
+ L3 26624 0.000000 5.706782 -1.244336 0 2.274131 -0.686530 0
+ L3 26624 0.000000 3.690100 2.274131 0 1.587601 0.986887 0
+ L3 26624 0.000000 0.429081 3.218110 0 0.557806 1.587601 0
+ L3 26624 0.000000 -0.643622 1.072703 0 -1.973774 2.874845 0
+ L3 26624 0.000000 -2.617396 -1.115612 0 -0.815255 -0.085816 0
+ L3 26624 0.000000 1.373060 -2.188315 0 0.514898 -0.471990 0
+ L3 26624 0.000000 -7.821314 -2.773515 0 -9.929185 -3.827451 0
+ L3 26624 0.000000 -9.762774 2.274283 0 -7.100200 1.442228 0
+ L3 26624 0.000000 -7.710373 8.265076 0 -5.325150 7.543962 0
+ F4 26624 0.000000 4 0
+ -7.211140 -4.271214 0
+ -5.824382 -2.662575 0
+ -3.383689 -1.719580 0
+ -4.936857 -3.716511 0
+ F4 26624 0.000000 4 0
+ -6.545496 2.274283 0
+ -3.550100 2.551634 0
+ -2.218812 1.331287 0
+ -4.659506 1.386758 0
+ F4 26624 0.000000 4 0
+ -3.272748 -5.380620 0
+ -3.771981 -7.155670 0
+ -5.602501 -8.043195 0
+ -5.103268 -6.600967 0
+ F4 26624 0.000000 4 0
+ -10.872181 -0.055470 0
+ -8.486957 -0.610173 0
+ -5.879853 0.221881 0
+ -8.542428 0.665644 0
+ F4 26624 0.000000 4 0
+ -8.986190 -7.044729 0
+ -7.654903 -5.713442 0
+ -5.602501 -5.269679 0
+ -6.767378 -6.600967 0
+ F4 26624 0.000000 4 0
+ -7.599432 7.322081 0
+ -5.824382 5.491561 0
+ -3.771981 4.714976 0
+ -5.768912 6.711907 0
+ END$SEGS
+STRUCTURE 509 3 0 0 0 Fn3 2 657.625000 724.250000 0 0.000000 "Lg Conifer 16"" Tree Conifer-16a"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -2.157806 6.092955 0
+ -0.273360 7.457871 0
+ 1.089136 5.987810 0
+ 1.230352 -4.754991 0
+ -0.954607 -7.601291 0
+ -2.388813 -4.876300 0
+ -4.145715 -7.386160 0
+ -4.839564 -4.591171 0
+ -7.178058 -5.620966 0
+ -6.548010 -2.975977 0
+ -8.771030 -2.904267 0
+ -6.834852 -0.752958 0
+ -9.302011 0.000000 0
+ -7.499869 0.793801 0
+ -8.872929 2.209769 0
+ -6.153604 4.159197 0
+ -7.049982 6.633202 0
+ -3.858874 5.808534 0
+ -2.629795 7.573286 0
+ F4 26624 0.000000 28 0
+ -4.948010 -2.975977 0
+ -5.578058 -5.620966 0
+ -3.239564 -4.591171 0
+ -2.545715 -7.386160 0
+ -0.788813 -4.876300 0
+ 0.645393 -7.601291 0
+ 2.830352 -4.754991 0
+ 5.127522 -6.436220 0
+ 4.226451 -4.054819 0
+ 5.453145 -2.056722 0
+ 7.530378 -0.557806 0
+ 6.028593 0.836709 0
+ 7.444562 2.853391 0
+ 5.091431 2.975977 0
+ 4.634079 4.011911 0
+ 4.569717 6.328950 0
+ 2.689136 5.987810 0
+ 1.326640 7.457871 0
+ -0.557806 6.092955 0
+ -1.029795 7.573286 0
+ -2.258874 5.808534 0
+ -5.449982 6.633202 0
+ -4.553604 4.159197 0
+ -7.272929 2.209769 0
+ -5.899869 0.793801 0
+ -7.702011 0.000000 0
+ -5.234852 -0.752958 0
+ -7.171030 -2.904267 0
+ F4 11206591 0.000000 26 0
+ 1.072703 -5.020252 0
+ 3.248092 -7.505299 0
+ 4.011911 -5.642420 0
+ 3.368289 -3.132294 0
+ 5.928556 -3.248092 0
+ 7.631439 -1.860557 0
+ 4.634079 0.150178 0
+ 7.379160 3.153487 0
+ 5.329393 3.626510 0
+ 3.797370 3.282472 0
+ 3.711554 5.256247 0
+ 3.374231 7.158416 0
+ 1.008341 4.634079 0
+ -0.836709 4.891528 0
+ -1.265790 5.878415 0
+ -2.869673 7.095346 0
+ -2.853391 3.754462 0
+ -6.590788 4.635626 0
+ -5.833951 2.018232 0
+ -3.497013 0.557806 0
+ -6.149300 0.504558 0
+ -7.410695 -1.261395 0
+ -2.402856 -1.651963 0
+ -6.306974 -4.887905 0
+ -1.845050 -4.333722 0
+ -1.944333 -7.777333 0
+ L3 26624 0.000000 -4.440992 2.617396 0 -5.856961 2.553034 0
+ L3 26624 0.000000 -6.157318 3.754462 0 -5.191885 3.518467 0
+ L3 26624 0.000000 -1.973774 6.328950 0 -1.823596 4.548262 0
+ L3 26624 0.000000 -1.823596 4.548262 0 -2.896299 5.814053 0
+ L3 26624 0.000000 2.553034 6.393312 0 2.724667 4.891528 0
+ L3 26624 0.000000 2.724667 4.891528 0 3.539921 5.814053 0
+ L3 26624 0.000000 6.135864 3.303927 0 4.140635 2.381402 0
+ L3 26624 0.000000 4.140635 2.381402 0 6.135864 1.909412 0
+ L3 26624 0.000000 5.578058 -1.351606 0 4.076273 -1.373060 0
+ L3 26624 0.000000 4.076273 -1.373060 0 5.320609 -3.046478 0
+ L3 26624 0.000000 3.818824 -5.063160 0 2.166861 -3.625738 0
+ L3 26624 0.000000 2.166861 -3.625738 0 2.209769 -6.243134 0
+ L3 26624 0.000000 -0.772346 -6.672215 0 -0.793801 -4.462446 0
+ L3 26624 0.000000 -0.793801 -4.462446 0 -1.866504 -5.384971 0
+ L3 26624 0.000000 -1.029795 4.719895 0 -1.287244 3.625738 0
+ L3 26624 0.000000 1.737780 4.998798 0 1.759234 3.733008 0
+ L3 26624 0.000000 3.346835 4.290814 0 2.338493 3.454105 0
+ L3 26624 0.000000 3.883186 3.282472 0 2.789029 1.716325 0
+ L3 26624 0.000000 5.020252 0.901071 0 3.668646 1.265790 0
+ L3 26624 0.000000 5.148976 -0.364719 0 2.917753 -0.686530 0
+ L3 26624 0.000000 3.132294 -1.587601 0 4.183543 -3.089386 0
+ L3 26624 0.000000 3.346835 -3.518467 0 1.651963 -2.274131 0
+ L3 26624 0.000000 1.330152 -2.982115 0 0.901071 -4.290814 0
+ L3 26624 0.000000 0.064362 -4.269360 0 -0.235995 -2.553034 0
+ L3 26624 0.000000 -1.737780 -3.883186 0 -1.265790 -2.188315 0
+ L3 26624 0.000000 -3.282472 0.622168 0 -1.716325 -0.150178 0
+ L3 26624 0.000000 -1.394514 2.123953 0 -0.707984 0.772346 0
+ L3 26624 0.000000 1.072703 3.175202 0 0.300357 1.716325 0
+ L3 26624 0.000000 2.059591 2.338493 0 1.158520 1.394514 0
+ L3 26624 0.000000 2.853391 0.622168 0 1.137066 0.343265 0
+ L3 26624 0.000000 1.845050 -1.137066 0 0.793801 -0.493444 0
+ L3 26624 0.000000 0.214541 -1.609055 0 0.278903 -0.793801 0
+ L3 26624 0.000000 -0.321811 -0.536352 0 -0.986887 -1.437423 0
+ L3 26624 0.000000 -1.308698 0.557806 0 -0.407627 0.042908 0
+ L3 26624 0.000000 0.686530 1.094157 0 0.257449 0.235995 0
+ L3 26624 0.000000 -3.910657 1.386758 0 -4.964593 1.913726 0
+ L3 26624 0.000000 -4.881387 -1.137141 0 -3.550100 -0.721114 0
+ L3 26624 0.000000 -3.855186 -4.132538 0 -2.662575 -3.771981 0
+ F4 26624 0.000000 4 0
+ -3.605570 2.135607 0
+ -2.912191 1.331287 0
+ -1.691844 0.859790 0
+ -2.468429 1.858255 0
+ F4 26624 0.000000 4 0
+ -3.272748 -1.137141 0
+ -1.775050 -1.275817 0
+ -1.109406 -0.665644 0
+ -2.329753 -0.693379 0
+ F4 26624 0.000000 4 0
+ -1.636374 2.690310 0
+ -1.885991 3.577835 0
+ -2.801251 4.021597 0
+ -2.551634 3.300483 0
+ F4 26624 0.000000 4 0
+ -5.436090 0.027735 0
+ -4.243479 0.305087 0
+ -2.939926 -0.110941 0
+ -4.271214 -0.332822 0
+ F4 26624 0.000000 4 0
+ -4.493095 3.522365 0
+ -3.827451 2.856721 0
+ -2.801251 2.634840 0
+ -3.383689 3.300483 0
+ F4 26624 0.000000 4 0
+ -3.799716 -3.661040 0
+ -2.912191 -2.745780 0
+ -1.885991 -2.357488 0
+ -2.884456 -3.355954 0
+ END$SEGS
+STRUCTURE 510 3 0 0 0 Fn3 2 703.625000 732.250000 0 0.000000 "Lg Conifer 16"" Tree Conifer-16a"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 19 0
+ -2.157806 6.092955 0
+ -0.273360 7.457871 0
+ 1.089136 5.987810 0
+ 1.230352 -4.754991 0
+ -0.954607 -7.601291 0
+ -2.388813 -4.876300 0
+ -4.145715 -7.386160 0
+ -4.839564 -4.591171 0
+ -7.178058 -5.620966 0
+ -6.548010 -2.975977 0
+ -8.771030 -2.904267 0
+ -6.834852 -0.752958 0
+ -9.302011 0.000000 0
+ -7.499869 0.793801 0
+ -8.872929 2.209769 0
+ -6.153604 4.159197 0
+ -7.049982 6.633202 0
+ -3.858874 5.808534 0
+ -2.629795 7.573286 0
+ F4 26624 0.000000 28 0
+ -4.948010 -2.975977 0
+ -5.578058 -5.620966 0
+ -3.239564 -4.591171 0
+ -2.545715 -7.386160 0
+ -0.788813 -4.876300 0
+ 0.645393 -7.601291 0
+ 2.830352 -4.754991 0
+ 5.127522 -6.436220 0
+ 4.226451 -4.054819 0
+ 5.453145 -2.056722 0
+ 7.530378 -0.557806 0
+ 6.028593 0.836709 0
+ 7.444562 2.853391 0
+ 5.091431 2.975977 0
+ 4.634079 4.011911 0
+ 4.569717 6.328950 0
+ 2.689136 5.987810 0
+ 1.326640 7.457871 0
+ -0.557806 6.092955 0
+ -1.029795 7.573286 0
+ -2.258874 5.808534 0
+ -5.449982 6.633202 0
+ -4.553604 4.159197 0
+ -7.272929 2.209769 0
+ -5.899869 0.793801 0
+ -7.702011 0.000000 0
+ -5.234852 -0.752958 0
+ -7.171030 -2.904267 0
+ F4 11206591 0.000000 26 0
+ 1.072703 -5.020252 0
+ 3.248092 -7.505299 0
+ 4.011911 -5.642420 0
+ 3.368289 -3.132294 0
+ 5.928556 -3.248092 0
+ 7.631439 -1.860557 0
+ 4.634079 0.150178 0
+ 7.379160 3.153487 0
+ 5.329393 3.626510 0
+ 3.797370 3.282472 0
+ 3.711554 5.256247 0
+ 3.374231 7.158416 0
+ 1.008341 4.634079 0
+ -0.836709 4.891528 0
+ -1.265790 5.878415 0
+ -2.869673 7.095346 0
+ -2.853391 3.754462 0
+ -6.590788 4.635626 0
+ -5.833951 2.018232 0
+ -3.497013 0.557806 0
+ -6.149300 0.504558 0
+ -7.410695 -1.261395 0
+ -2.402856 -1.651963 0
+ -6.306974 -4.887905 0
+ -1.845050 -4.333722 0
+ -1.944333 -7.777333 0
+ L3 26624 0.000000 -4.440992 2.617396 0 -5.856961 2.553034 0
+ L3 26624 0.000000 -6.157318 3.754462 0 -5.191885 3.518467 0
+ L3 26624 0.000000 -1.973774 6.328950 0 -1.823596 4.548262 0
+ L3 26624 0.000000 -1.823596 4.548262 0 -2.896299 5.814053 0
+ L3 26624 0.000000 2.553034 6.393312 0 2.724667 4.891528 0
+ L3 26624 0.000000 2.724667 4.891528 0 3.539921 5.814053 0
+ L3 26624 0.000000 6.135864 3.303927 0 4.140635 2.381402 0
+ L3 26624 0.000000 4.140635 2.381402 0 6.135864 1.909412 0
+ L3 26624 0.000000 5.578058 -1.351606 0 4.076273 -1.373060 0
+ L3 26624 0.000000 4.076273 -1.373060 0 5.320609 -3.046478 0
+ L3 26624 0.000000 3.818824 -5.063160 0 2.166861 -3.625738 0
+ L3 26624 0.000000 2.166861 -3.625738 0 2.209769 -6.243134 0
+ L3 26624 0.000000 -0.772346 -6.672215 0 -0.793801 -4.462446 0
+ L3 26624 0.000000 -0.793801 -4.462446 0 -1.866504 -5.384971 0
+ L3 26624 0.000000 -1.029795 4.719895 0 -1.287244 3.625738 0
+ L3 26624 0.000000 1.737780 4.998798 0 1.759234 3.733008 0
+ L3 26624 0.000000 3.346835 4.290814 0 2.338493 3.454105 0
+ L3 26624 0.000000 3.883186 3.282472 0 2.789029 1.716325 0
+ L3 26624 0.000000 5.020252 0.901071 0 3.668646 1.265790 0
+ L3 26624 0.000000 5.148976 -0.364719 0 2.917753 -0.686530 0
+ L3 26624 0.000000 3.132294 -1.587601 0 4.183543 -3.089386 0
+ L3 26624 0.000000 3.346835 -3.518467 0 1.651963 -2.274131 0
+ L3 26624 0.000000 1.330152 -2.982115 0 0.901071 -4.290814 0
+ L3 26624 0.000000 0.064362 -4.269360 0 -0.235995 -2.553034 0
+ L3 26624 0.000000 -1.737780 -3.883186 0 -1.265790 -2.188315 0
+ L3 26624 0.000000 -3.282472 0.622168 0 -1.716325 -0.150178 0
+ L3 26624 0.000000 -1.394514 2.123953 0 -0.707984 0.772346 0
+ L3 26624 0.000000 1.072703 3.175202 0 0.300357 1.716325 0
+ L3 26624 0.000000 2.059591 2.338493 0 1.158520 1.394514 0
+ L3 26624 0.000000 2.853391 0.622168 0 1.137066 0.343265 0
+ L3 26624 0.000000 1.845050 -1.137066 0 0.793801 -0.493444 0
+ L3 26624 0.000000 0.214541 -1.609055 0 0.278903 -0.793801 0
+ L3 26624 0.000000 -0.321811 -0.536352 0 -0.986887 -1.437423 0
+ L3 26624 0.000000 -1.308698 0.557806 0 -0.407627 0.042908 0
+ L3 26624 0.000000 0.686530 1.094157 0 0.257449 0.235995 0
+ L3 26624 0.000000 -3.910657 1.386758 0 -4.964593 1.913726 0
+ L3 26624 0.000000 -4.881387 -1.137141 0 -3.550100 -0.721114 0
+ L3 26624 0.000000 -3.855186 -4.132538 0 -2.662575 -3.771981 0
+ F4 26624 0.000000 4 0
+ -3.605570 2.135607 0
+ -2.912191 1.331287 0
+ -1.691844 0.859790 0
+ -2.468429 1.858255 0
+ F4 26624 0.000000 4 0
+ -3.272748 -1.137141 0
+ -1.775050 -1.275817 0
+ -1.109406 -0.665644 0
+ -2.329753 -0.693379 0
+ F4 26624 0.000000 4 0
+ -1.636374 2.690310 0
+ -1.885991 3.577835 0
+ -2.801251 4.021597 0
+ -2.551634 3.300483 0
+ F4 26624 0.000000 4 0
+ -5.436090 0.027735 0
+ -4.243479 0.305087 0
+ -2.939926 -0.110941 0
+ -4.271214 -0.332822 0
+ F4 26624 0.000000 4 0
+ -4.493095 3.522365 0
+ -3.827451 2.856721 0
+ -2.801251 2.634840 0
+ -3.383689 3.300483 0
+ F4 26624 0.000000 4 0
+ -3.799716 -3.661040 0
+ -2.912191 -2.745780 0
+ -1.885991 -2.357488 0
+ -2.884456 -3.355954 0
+ END$SEGS
+DRAW 511 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 8388608 703.000000 445.750000 0.000000 0 1500.000000 "OPHIR"
+ END$SEGS
+DRAW 512 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 8388608 207.000000 439.000000 355.000000 0 1500.000000 "MATTERHORN"
+ END$SEGS
+DRAW 513 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 8388608 96.500000 253.500000 0.000000 0 1500.000000 "LIZARD\n HEAD"
+ END$SEGS
+DRAW 514 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 8388608 279.000000 663.000000 0.000000 0 1500.000000 "AMES"
+ END$SEGS
+DRAW 515 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 8388608 435.000000 796.000000 0.000000 0 1500.000000 "VANCE JUNCTION"
+ END$SEGS
+DRAW 516 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 8388608 132.000000 940.000000 0.000000 0 1500.000000 "RIDGWAY"
+ END$SEGS
+DRAW 517 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 348.000000 267.000000 0 348.000000 267.000000 0
+ END$SEGS
+DRAW 518 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 203.999936 203.999997 0 240.348181 251.141154 0
+ END$SEGS
+DRAW 519 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 240.000000 251.000000 0 277.000000 266.000000 0
+ END$SEGS
+DRAW 520 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 277.000000 266.000000 0 315.000000 266.000000 0
+ END$SEGS
+DRAW 521 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 314.000000 266.000049 0 390.000000 258.000000 0
+ END$SEGS
+DRAW 522 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 390.000000 258.000000 0 443.000001 258.000001 0
+ END$SEGS
+DRAW 523 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 204.186387 204.241811 0 204.028559 136.400012 0
+ END$SEGS
+DRAW 524 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 204.354993 115.230638 0 222.000000 84.000000 0
+ END$SEGS
+DRAW 525 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 222.000000 84.000000 0 267.000000 69.000000 0
+ END$SEGS
+DRAW 526 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 443.000001 258.000001 0 498.000000 267.000000 0
+ END$SEGS
+DRAW 527 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 498.000000 267.000000 0 588.000000 240.000000 0
+ END$SEGS
+DRAW 528 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 588.000000 240.000000 0 658.000000 230.000000 0
+ END$SEGS
+DRAW 529 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 657.000000 231.000000 0 696.000000 192.000000 0
+ END$SEGS
+DRAW 530 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 696.000000 192.000000 0 717.570136 124.203620 0
+ END$SEGS
+DRAW 531 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 717.000000 123.000000 0 744.000000 180.000000 0
+ END$SEGS
+DRAW 532 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 744.000000 180.000000 0 768.000000 252.000000 0
+ END$SEGS
+DRAW 533 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 768.000000 252.000000 0 771.000000 315.000000 0
+ END$SEGS
+DRAW 534 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 771.000000 315.000000 0 756.000000 372.000000 0
+ END$SEGS
+DRAW 535 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 756.000000 372.000000 0 756.000000 432.000000 0
+ END$SEGS
+DRAW 536 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 756.000000 480.000000 0 768.000000 531.000000 0
+ END$SEGS
+STRUCTURE 537 3 0 0 0 Fn3 2 721.000000 294.000000 0 0.000000 "Lg Shade 32"" Tree Shade-32a"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 21 0
+ -9.679129 -9.182341 0
+ -8.306068 -14.374226 0
+ -5.216682 -15.704378 0
+ -1.741123 -11.413564 0
+ 2.249333 -15.146572 0
+ 7.055045 -12.872441 0
+ 5.939433 12.657900 0
+ 1.391171 15.060756 0
+ -0.496787 12.143003 0
+ -4.315612 12.185911 0
+ -5.259591 15.146572 0
+ -11.138005 13.258614 0
+ -10.408567 9.783055 0
+ -15.257186 9.439790 0
+ -17.745858 4.419538 0
+ -14.999738 1.587601 0
+ -18.604021 0.000000 0
+ -17.660042 -3.604283 0
+ -13.841218 -4.977344 0
+ -16.587339 -7.208567 0
+ -14.356116 -11.241932 0
+ F4 26624 0.000000 28 0
+ -13.387339 -7.208567 0
+ -11.156116 -11.241932 0
+ -6.479129 -9.182341 0
+ -5.106068 -14.374226 0
+ -2.016682 -15.704378 0
+ 1.458877 -11.413564 0
+ 5.449333 -15.146572 0
+ 10.255045 -12.872441 0
+ 8.452903 -8.109638 0
+ 14.202593 -6.522037 0
+ 15.060756 -1.115612 0
+ 12.057186 1.673417 0
+ 14.889123 5.706782 0
+ 12.743717 9.311066 0
+ 9.268158 8.023822 0
+ 9.139433 12.657900 0
+ 4.591171 15.060756 0
+ 2.703213 12.143003 0
+ -1.115612 12.185911 0
+ -2.059591 15.146572 0
+ -7.938005 13.258614 0
+ -7.208567 9.783055 0
+ -12.057186 9.439790 0
+ -14.545858 4.419538 0
+ -11.799738 1.587601 0
+ -15.404021 0.000000 0
+ -14.460042 -3.604283 0
+ -10.641218 -4.977344 0
+ F4 65280 0.000000 26 0
+ 2.145407 -10.040504 0
+ 5.148976 -13.044074 0
+ 8.023822 -11.284840 0
+ 6.736577 -6.264588 0
+ 12.486268 -4.676987 0
+ 12.872441 -2.188315 0
+ 9.268158 0.300357 0
+ 12.400451 5.020252 0
+ 11.027391 6.650761 0
+ 7.594740 6.564945 0
+ 7.423108 10.512493 0
+ 4.462446 12.143003 0
+ 2.016682 9.268158 0
+ -1.673417 9.783055 0
+ -2.531580 11.756829 0
+ -5.663874 10.941575 0
+ -5.706782 7.508924 0
+ -8.324179 7.423108 0
+ -10.040504 3.990457 0
+ -6.994026 1.115612 0
+ -9.868871 -0.386173 0
+ -9.396882 -2.445764 0
+ -4.805711 -3.303927 0
+ -6.564945 -6.436220 0
+ -3.690100 -8.667444 0
+ -2.531580 -11.199024 0
+ L3 65280 0.000000 -2.722067 -13.221467 0 -1.166600 -12.054867 0
+ L3 65280 0.000000 -3.888667 -12.443733 0 -4.277533 -10.499400 0
+ L3 65280 0.000000 -8.943933 -8.166200 0 -6.221867 -8.166200 0
+ L3 65280 0.000000 -10.888267 -7.388467 0 -9.721667 -6.221867 0
+ L3 65280 0.000000 -8.166200 -6.610733 0 -6.610733 -5.444133 0
+ L3 65280 0.000000 -7.388467 -4.277533 0 -9.721667 -3.888667 0
+ L3 65280 0.000000 -13.221467 -3.110933 0 -10.499400 -3.110933 0
+ L3 65280 0.000000 -13.221467 -0.777733 0 -10.888267 -1.944333 0
+ L3 65280 0.000000 -8.943933 1.166600 0 -10.888267 0.777733 0
+ L3 65280 0.000000 -10.499400 2.722067 0 -13.221467 4.277533 0
+ L3 65280 0.000000 -12.054867 5.833000 0 -10.110533 6.221867 0
+ L3 65280 0.000000 -9.332800 8.943933 0 -8.555067 7.777333 0
+ L3 65280 0.000000 -5.833000 11.666000 0 -6.610733 12.832600 0
+ L3 65280 0.000000 -3.499800 12.443733 0 -2.722067 13.610333 0
+ L3 65280 0.000000 -0.388867 10.499400 0 0.000000 11.666000 0
+ L3 65280 0.000000 1.944333 10.499400 0 0.777733 11.277133 0
+ L3 65280 0.000000 5.055267 12.443733 0 4.666400 13.999200 0
+ L3 65280 0.000000 7.388467 11.666000 0 8.555067 12.054867 0
+ L3 65280 0.000000 13.610333 5.444133 0 12.443733 5.833000 0
+ L3 65280 0.000000 11.666000 7.388467 0 12.443733 8.555067 0
+ L3 65280 0.000000 13.610333 -1.166600 0 12.054867 -0.777733 0
+ L3 65280 0.000000 -10.888267 -9.721667 0 -10.110533 -8.166200 0
+ L3 65280 0.000000 -12.443733 -7.388467 0 -11.277133 -8.166200 0
+ F4 26624 0.000000 4 0
+ 5.990793 -6.157204 0
+ 3.550100 -5.436090 0
+ 3.272748 -3.605570 0
+ 4.881387 -4.271214 0
+ F4 26624 0.000000 5 0
+ -2.329753 -7.377551 0
+ -2.107872 -6.101734 0
+ 0.277352 -5.047798 0
+ 0.942995 -6.600967 0
+ -0.277352 -7.765843 0
+ F4 26624 0.000000 4 0
+ 7.599432 0.277352 0
+ 4.714976 0.942995 0
+ 4.104803 -0.499233 0
+ 8.043195 -0.721114 0
+ F4 26624 0.000000 4 0
+ 1.830520 7.377551 0
+ 0.388292 6.268145 0
+ 0.776584 3.938392 0
+ 1.664109 4.271214 0
+ F4 26624 0.000000 3 0
+ 6.767378 5.547031 0
+ 5.990793 3.827451 0
+ 4.770447 4.881387 0
+ F4 26624 0.000000 5 0
+ -5.824382 0.665644 0
+ -5.047798 0.110941 0
+ -2.385223 -0.554703 0
+ -0.942995 0.942995 0
+ -4.271214 1.442228 0
+ F4 26624 0.000000 4 0
+ -5.103268 6.434556 0
+ -3.550100 6.046264 0
+ -2.440694 3.439159 0
+ -4.160273 3.882922 0
+ L3 26624 0.000000 0.777733 -8.555067 0 1.555467 -7.388467 0
+ L3 26624 0.000000 5.444133 -7.388467 0 3.499800 -6.610733 0
+ L3 26624 0.000000 6.221867 -9.332800 0 5.055267 -8.555067 0
+ L3 26624 0.000000 3.499800 -10.110533 0 2.722067 -8.555067 0
+ L3 26624 0.000000 -1.555467 -9.721667 0 -0.777733 -8.555067 0
+ L3 26624 0.000000 -4.666400 -6.221867 0 -3.110933 -6.221867 0
+ L3 26624 0.000000 -3.499800 -4.277533 0 -1.555467 -5.055267 0
+ L3 26624 0.000000 -4.666400 -2.333200 0 -3.110933 -1.166600 0
+ L3 26624 0.000000 -6.999600 -1.944333 0 -5.444133 -1.166600 0
+ L3 26624 0.000000 -8.943933 -0.777733 0 -6.999600 0.000000 0
+ L3 26624 0.000000 -6.221867 1.944333 0 -7.777333 3.499800 0
+ L3 26624 0.000000 -6.999600 5.444133 0 -5.833000 3.888667 0
+ L3 26624 0.000000 -4.277533 8.555067 0 -3.110933 6.999600 0
+ L3 26624 0.000000 -1.555467 6.999600 0 -1.944333 9.332800 0
+ L3 26624 0.000000 -1.166600 4.277533 0 -0.777733 5.833000 0
+ L3 26624 0.000000 2.722067 6.999600 0 3.499800 9.332800 0
+ L3 26624 0.000000 4.666400 6.610733 0 6.999600 7.777333 0
+ L3 26624 0.000000 10.499400 2.722067 0 8.555067 3.110933 0
+ L3 26624 0.000000 10.499400 6.221867 0 8.555067 5.444133 0
+ L3 26624 0.000000 11.277133 4.666400 0 9.332800 4.277533 0
+ L3 26624 0.000000 4.666400 11.277133 0 4.277533 9.721667 0
+ L3 26624 0.000000 6.999600 10.110533 0 5.833000 8.943933 0
+ L3 26624 0.000000 5.444133 10.499400 0 4.666400 8.166200 0
+ L3 26624 0.000000 11.666000 -1.944333 0 9.332800 -2.333200 0
+ L3 26624 0.000000 9.721667 -5.055267 0 7.777333 -3.888667 0
+ L3 26624 0.000000 11.666000 -3.888667 0 9.721667 -3.499800 0
+ L3 26624 0.000000 -3.888667 10.888267 0 -3.499800 9.332800 0
+ L3 26624 0.000000 -8.555067 5.444133 0 -7.388467 4.666400 0
+ L3 26624 0.000000 5.444133 -12.443733 0 4.666400 -10.499400 0
+ L3 26624 0.000000 6.999600 -11.277133 0 5.833000 -10.110533 0
+ END$SEGS
+DRAW 538 5 0 0 0 0.000000 0.000000 0 0.000000
+ F4 32960 0.000000 16 0
+ 481.000000 336.000000 0
+ 478.500000 326.750000 0
+ 459.000000 327.000000 0
+ 438.000000 323.000000 0
+ 428.000000 312.000000 0
+ 410.000000 302.000000 0
+ 384.000000 298.000000 0
+ 358.000000 301.000000 0
+ 345.000000 317.000000 0
+ 346.000000 331.000000 0
+ 366.000000 339.000000 0
+ 383.000000 343.000000 0
+ 408.000000 345.000000 0
+ 425.000000 339.000000 0
+ 438.000000 333.000000 0
+ 459.000000 336.000000 0
+ END$SEGS
+DRAW 539 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 16777088 360.250000 317.750000 0.000000 0 1000.000000 "Trout Lake"
+ END$SEGS
+DRAW 540 0 0 0 0 0.000000 0.000000 0 0.000000
+ G3 8421504 0.000000 12.165525 336.000000 348.000000 0
+ END$SEGS
+DRAW 541 0 0 0 0 0.000000 0.000000 0 0.000000
+ G3 8421504 0.000000 18.110770 264.000000 312.000000 0
+ END$SEGS
+DRAW 542 0 0 0 0 0.000000 0.000000 0 0.000000
+ G3 8421504 0.000000 12.369317 240.000000 360.000000 0
+ END$SEGS
+DRAW 543 0 0 0 0 0.000000 0.000000 0 0.000000
+ G3 8421504 0.000000 9.219544 540.000000 324.000000 0
+ END$SEGS
+DRAW 544 0 0 0 0 0.000000 0.000000 0 0.000000
+ G3 8421504 0.000000 9.000000 528.000000 708.000000 0
+ END$SEGS
+DRAW 545 0 0 0 0 0.000000 0.000000 0 0.000000
+ Z 16776960 523.250000 701.250000 0.000000 0 1000.000000 "H"
+ END$SEGS
+DRAW 546 0 0 0 0 0.000000 0.000000 0 0.000000
+ Z 16776960 534.750000 317.500000 0.000000 0 1000.000000 "H"
+ END$SEGS
+DRAW 547 5 0 0 0 0.000000 0.000000 0 0.000000
+ F4 32960 0.000000 18 0
+ 565.500000 648.500000 0
+ 552.000000 658.000000 0
+ 559.500000 673.000000 0
+ 568.500000 681.000000 0
+ 560.000000 687.500000 0
+ 562.000000 700.500000 0
+ 573.000000 707.500000 0
+ 588.000000 709.500000 0
+ 599.500000 705.000000 0
+ 615.000000 702.500000 0
+ 626.500000 701.500000 0
+ 636.000000 694.500000 0
+ 637.000000 683.000000 1
+ 629.000000 674.500000 0
+ 615.000000 670.500000 0
+ 601.500000 669.000000 0
+ 584.000000 672.500000 0
+ 572.500000 663.000000 0
+ END$SEGS
+DRAW 548 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 16776960 569.000000 683.000000 0.000000 0 1000.000000 "Pond-less"
+ END$SEGS
+DRAW 549 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 8388608 337.552727 172.014949 0.000000 0 1500.000000 "RICO"
+ END$SEGS
+TURNOUT 550 0 0 0 0 Fn3 2 81.120985 200.101553 0 43.568143 "NMRA G #5 Left 5L"
+ T4 117 81.120985 200.101553 313.568143 0 0.0 0.0 0.0 0.0 0 0 0 98.453936
+ T4 551 99.272311 182.835535 133.568143 0 0.0 0.0 0.0 0.0 0 0 0 98.453936
+ T4 552 101.410415 185.586257 122.146957 10 8.089585 10.163743 0.0 0.0 1 2 0 98.453936
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 -57.751549 1.770077 57.751549 168.578738 11.421338
+ S 0 0.000000 13.206091 1.143623 24.705000 3.466667
+ END$SEGS
+STRAIGHT 551 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 550 99.272311 182.835535 313.567991 0 0.0 0.0 0.0 0.0 0 0 0 98.950488
+ T4 612 138.197998 145.808694 133.567991 0 0.0 0.0 0.0 0.0 0 0 0 98.950488
+ END$SEGS
+CURVE 552 0 0 0 0 Fn3 2 139.721220 246.547573 0 72.000000 0 0.000000 0.000000
+ T4 613 203.129320 212.438735 28.277043 0 0.0 0.0 0.0 0.0 0 0 0 97.544341
+ T4 550 101.410415 185.586257 302.146957 10 8.089585 10.163743 0.0 0.0 1 2 0 97.544341
+ END$SEGS
+CURVE 553 0 0 0 0 Fn3 2 303.276383 117.917662 0 166.844782 0 0.000000 0.000000
+ T4 606 286.101153 283.876068 264.091422 0 0.0 0.0 0.0 0.0 0 0 0 95.067464
+ T4 116 321.610339 283.752059 96.308767 0 0.0 0.0 0.0 0.0 0 0 0 95.067464
+ END$SEGS
+DRAW 554 11 0 0 0 0.000000 0.000000 0 0.000000
+ L3 32896 0.031250 331.821324 155.769047 0 331.821166 95.769046 0
+ END$SEGS
+DRAW 555 11 0 0 0 0.000000 0.000000 0 0.000000
+ L3 32896 0.031250 271.821324 155.769205 0 271.821166 95.769205 0
+ END$SEGS
+STRAIGHT 556 11 0 0 0 Fn3 2 0.000000 0.000000
+ T4 557 225.911383 125.976982 270.000151 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 583 394.371135 126.013759 90.000151 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+TURNOUT 557 11 0 0 0 Fn3 2 200.859716 125.976849 0 359.999695 "NMRA G #5 3-WAY (SYM) 5-3WS"
+ T4 605 200.859716 125.976849 269.999695 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 559 225.564697 129.443648 78.578509 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 563 225.564735 122.510314 101.420881 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 556 225.911383 125.976982 89.999695 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ D 0.000000 0.000000
+ P "Left" 1 2 3
+ P "Normal" 1 6
+ P "Right" 1 4 5
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ C 0 0.000000 -57.751549 1.770077 57.751549 168.578738 11.421338
+ S 0 0.000000 13.206091 1.143623 24.705000 3.466667
+ C 0 0.000000 57.751549 1.770077 -57.751549 0.000076 11.421338
+ S 0 0.000000 13.206091 -1.143623 24.705000 -3.466667
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ END$SEGS
+STRAIGHT 558 11 0 0 0 Fn3 2 0.000000 0.000000
+ E4 509.821286 117.944139 89.999543 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 582 449.408039 117.943886 269.999543 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+CURVE 559 11 0 0 0 Fn3 2 206.425197 224.181669 0 96.652020 0 0.000000 0.000000
+ T4 560 246.591928 136.271221 65.444229 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 557 225.564949 129.443698 258.578509 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+STRAIGHT 560 11 0 0 0 Fn3 2 0.000000 0.000000
+ T4 559 246.591928 136.271221 245.444077 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 561 263.549902 144.019434 65.444077 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+CURVE 561 11 0 0 0 Fn3 2 299.160623 66.080448 0 85.689025 0 0.000000 0.000000
+ T4 560 263.549902 144.019434 245.444077 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 570 299.160848 151.769472 90.000151 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+TURNOUT 562 11 0 0 0 Fn3 2 240.778100 119.437014 0 11.420729 "NMRA G #5 3-WAY (SYM) 5-3WS"
+ T4 563 240.778100 119.437014 281.420729 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 581 265.680373 117.943158 89.999543 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 567 264.307491 111.147106 112.841915 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 565 265.333735 114.476489 101.420729 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ D 0.000000 0.000000
+ P "Left" 1 2 3
+ P "Normal" 1 6
+ P "Right" 1 4 5
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ C 0 0.000000 -57.751549 1.770077 57.751549 168.578738 11.421338
+ S 0 0.000000 13.206091 1.143623 24.705000 3.466667
+ C 0 0.000000 57.751549 1.770077 -57.751549 0.000076 11.421338
+ S 0 0.000000 13.206091 -1.143623 24.705000 -3.466667
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ END$SEGS
+STRAIGHT 563 11 0 0 0 Fn3 2 0.000000 0.000000
+ T4 557 225.564735 122.510314 281.420729 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 562 240.778100 119.437014 101.420729 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+STRAIGHT 564 11 0 0 0 Fn3 2 0.000000 0.000000
+ T4 566 295.946409 109.949275 269.988344 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ E4 509.821274 109.993069 89.988344 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+STRAIGHT 565 11 0 0 0 Fn3 2 0.000000 0.000000
+ T4 562 265.333735 114.476489 281.420536 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 566 279.722274 111.569928 101.420536 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+CURVE 566 11 0 0 0 Fn3 2 295.929540 191.799563 0 81.850290 0 0.000000 0.000000
+ T4 564 295.946409 109.949275 89.988344 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 565 279.722274 111.569928 281.420536 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+STRAIGHT 567 11 0 0 0 Fn3 2 0.000000 0.000000
+ T4 562 264.307491 111.147106 292.841763 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 569 271.474474 108.128298 112.841763 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+STRAIGHT 568 11 0 0 0 Fn3 2 0.000000 0.000000
+ T4 569 302.071405 101.950513 269.988344 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ E4 509.832631 101.993055 89.988344 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+CURVE 569 11 0 0 0 Fn3 2 302.055170 180.728248 0 78.777736 0 0.000000 0.000000
+ T4 568 302.071405 101.950513 89.988344 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 567 271.474474 108.128298 292.841763 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+STRAIGHT 570 11 0 0 0 Fn3 2 0.000000 0.000000
+ T4 561 299.160848 151.769472 269.999999 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 573 350.784179 151.769545 89.999999 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+STRAIGHT 571 11 0 0 0 Fn3 2 0.000000 0.000000
+ T4 584 453.821285 140.893996 270.000151 9 0.500000 3.374730 104.000000 104.000000 1 1 0 104.000000
+ E4 509.828705 140.893922 90.000151 0 0.0 0.0 0.0 0.0 0 0 0 104.000000
+ END$SEGS
+TURNOUT 572 11 0 0 0 Fn3 2 441.428389 126.018758 0 180.000151 "NMRA G #5 Right 5R"
+ T4 574 441.428389 126.018758 90.000151 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 583 416.376722 126.018890 270.000151 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 577 416.723407 129.485556 281.421337 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 57.751549 1.769770 -57.751549 0.000076 11.421338
+ S 0 0.000000 13.206091 -1.143623 24.705000 -3.466667
+ END$SEGS
+CURVE 573 11 0 0 0 Fn3 2 350.784372 79.769545 0 72.000000 0 0.000000 0.000000
+ T4 570 350.784179 151.769545 269.999847 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 585 373.661350 148.038453 108.526066 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+STRAIGHT 574 11 0 0 0 Fn3 2 0.000000 0.000000
+ T4 572 441.428389 126.018758 270.000151 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ E4 509.821703 126.018850 89.999999 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+STRAIGHT 575 11 0 0 0 Fn3 2 0.000000 0.000000
+ T4 576 413.337240 141.587592 97.104728 10 1.734047 3.431240 0.0 0.0 1 2 0 100.685616
+ T4 585 392.367032 144.201289 277.104880 9 1.704261 3.567598 100.000000 100.000000 1 1 0 100.685616
+ END$SEGS
+CURVE 576 11 0 0 0 Fn3 2 424.509022 231.217860 0 90.323826 0 0.000000 0.000000
+ T4 584 424.508545 140.894034 90.000151 11 2.687740 3.249769 0.0 0.0 1 3 0 101.734601
+ T4 575 413.337240 141.587592 277.104728 10 1.734047 3.431240 0.0 0.0 1 2 0 101.734601
+ END$SEGS
+CURVE 577 11 0 0 0 Fn3 2 431.657144 203.406614 0 75.414450 0 0.000000 0.000000
+ T4 572 416.723210 129.485596 101.421337 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 579 396.130994 136.884197 298.104218 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+STRAIGHT 578 11 0 0 0 Fn3 2 0.000000 0.000000
+ T4 585 390.902179 139.829908 299.947252 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 579 392.989701 138.627286 119.947035 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+CURVE 579 11 0 0 0 Fn3 2 448.753140 235.418425 0 111.705352 0 0.000000 0.000000
+ T4 577 396.130991 136.884191 118.104291 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 578 392.989701 138.627286 299.947035 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+STRAIGHT 580 11 0 0 0 Fn3 2 0.000000 0.000000
+ T4 582 424.703000 121.410278 101.421185 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 583 419.076126 122.547027 281.421337 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+STRAIGHT 581 11 0 0 0 Fn3 2 0.000000 0.000000
+ T4 562 265.680373 117.943158 269.999694 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 582 424.356372 117.943621 89.999543 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ END$SEGS
+TURNOUT 582 11 0 0 0 Fn3 2 449.408039 117.943886 0 179.999543 "NMRA G #5 Right 5R"
+ T4 558 449.408039 117.943886 89.999543 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 581 424.356372 117.943621 269.999543 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 580 424.703003 121.410291 281.420729 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 57.751549 1.769770 -57.751549 0.000076 11.421338
+ S 0 0.000000 13.206091 -1.143623 24.705000 -3.466667
+ END$SEGS
+TURNOUT 583 11 0 0 0 Fn3 2 394.371135 126.013759 0 0.000151 "NMRA G #5 Right 5R"
+ T4 556 394.371135 126.013759 270.000151 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 572 416.422803 126.013701 90.000151 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 580 419.076126 122.547027 101.421337 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 22.051667 0.000000
+ C 0 0.000000 57.751549 1.769770 -57.751549 0.000076 11.421338
+ S 0 0.000000 13.206091 -1.143623 24.705000 -3.466667
+ END$SEGS
+STRAIGHT 584 11 0 0 0 Fn3 2 0.000000 0.000000
+ T4 576 424.508545 140.894034 269.999999 11 2.687740 3.249769 0.0 0.0 1 3 0 103.048986
+ T4 571 453.821285 140.893996 89.999999 9 0.500000 3.374730 104.000000 104.000000 1 1 0 103.048986
+ END$SEGS
+TURNOUT 585 11 0 0 0 Fn3 2 373.661350 148.038453 0 18.526066 "NMRA G #2.5 NEW WYE 2.5NY"
+ T4 573 373.661350 148.038453 288.526066 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 575 392.367032 144.201289 97.104880 9 1.704261 3.567598 100.000000 100.000000 1 1 0 100.000000
+ T4 578 390.902179 139.829908 119.947252 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ D 0.000000 0.000000
+ P "Left" 1 2 3
+ P "Right" 1 4 5
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ C 0 0.000000 -57.751549 1.770077 57.751549 168.578738 11.421338
+ S 0 0.000000 13.206091 1.143623 18.955546 2.305145
+ C 0 0.000000 57.751549 1.769770 -57.751549 0.000076 11.421338
+ S 0 0.000000 13.206091 -1.143623 18.955546 -2.305145
+ END$SEGS
+DRAW 586 11 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 187.821261 131.769395 0 271.821324 155.769205 0
+ END$SEGS
+DRAW 587 11 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 187.821230 120.000002 0 271.821166 95.769205 0
+ END$SEGS
+DRAW 588 11 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 271.821324 155.769205 0 331.821324 155.769047 0
+ END$SEGS
+DRAW 589 11 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 271.821166 95.769205 0 331.821166 95.769046 0
+ END$SEGS
+DRAW 590 11 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 331.821324 155.769047 0 391.821324 155.768889 0
+ END$SEGS
+DRAW 591 11 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 331.821166 95.769046 0 391.821166 95.768889 0
+ END$SEGS
+DRAW 592 11 0 0 0 0.000000 0.000000 0 0.000000
+ L3 32896 0.031250 391.821324 155.768889 0 391.821166 95.768889 0
+ END$SEGS
+DRAW 593 11 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 391.821166 95.768889 0 451.821165 95.768730 0
+ END$SEGS
+DRAW 594 11 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 391.821324 155.768889 0 451.821324 155.768731 0
+ END$SEGS
+DRAW 595 11 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 451.821324 155.768731 0 511.821324 155.768573 0
+ END$SEGS
+DRAW 596 11 0 0 0 0.000000 0.000000 0 0.000000
+ L3 32896 0.031250 451.821165 95.768730 0 451.821324 155.768731 0
+ END$SEGS
+STRUCTURE 597 11 0 0 0 Fn3 2 452.821254 129.268727 0 0.000151 "Custom Rico Coal Pocket Rico-3"
+ D 0.000000 0.000000
+ F4 8553090 0.010417 4 0
+ 2.000000 7.250000 0
+ 34.875000 7.250000 0
+ 34.875000 0.000000 0
+ 2.000000 0.000000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 0.380000 0
+ 1.900000 0.380000 0
+ 1.900000 0.000000 0
+ 0.000000 0.000000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 0.780000 0
+ 1.900000 0.780000 0
+ 1.900000 0.400000 0
+ 0.000000 0.400000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 1.180000 0
+ 1.900000 1.180000 0
+ 1.900000 0.800000 0
+ 0.000000 0.800000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 1.580000 0
+ 1.900000 1.580000 0
+ 1.900000 1.200000 0
+ 0.000000 1.200000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 1.980000 0
+ 1.900000 1.980000 0
+ 1.900000 1.600000 0
+ 0.000000 1.600000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 2.380000 0
+ 1.900000 2.380000 0
+ 1.900000 2.000000 0
+ 0.000000 2.000000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 2.780000 0
+ 1.900000 2.780000 0
+ 1.900000 2.400000 0
+ 0.000000 2.400000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 3.180000 0
+ 1.900000 3.180000 0
+ 1.900000 2.800000 0
+ 0.000000 2.800000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 3.580000 0
+ 1.900000 3.580000 0
+ 1.900000 3.200000 0
+ 0.000000 3.200000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 3.980000 0
+ 1.900000 3.980000 0
+ 1.900000 3.600000 0
+ 0.000000 3.600000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 4.380000 0
+ 1.900000 4.380000 0
+ 1.900000 4.000000 0
+ 0.000000 4.000000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 4.780000 0
+ 1.900000 4.780000 0
+ 1.900000 4.400000 0
+ 0.000000 4.400000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 5.180000 0
+ 1.900000 5.180000 0
+ 1.900000 4.800000 0
+ 0.000000 4.800000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 5.580000 0
+ 1.900000 5.580000 0
+ 1.900000 5.200000 0
+ 0.000000 5.200000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 5.980000 0
+ 1.900000 5.980000 0
+ 1.900000 5.600000 0
+ 0.000000 5.600000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 6.380000 0
+ 1.900000 6.380000 0
+ 1.900000 6.000000 0
+ 0.000000 6.000000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 6.780000 0
+ 1.900000 6.780000 0
+ 1.900000 6.400000 0
+ 0.000000 6.400000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 7.180000 0
+ 1.900000 7.180000 0
+ 1.900000 6.800000 0
+ 0.000000 6.800000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 7.580000 0
+ 1.900000 7.580000 0
+ 1.900000 7.200000 0
+ 0.000000 7.200000 0
+ F4 8553090 0.010417 4 0
+ 0.000000 7.980000 0
+ 1.900000 7.980000 0
+ 1.900000 7.600000 0
+ 0.000000 7.600000 0
+ L3 0 0.010417 34.875000 7.250000 0 2.000000 7.250000 0
+ L3 0 0.010417 34.875000 0.000000 0 2.000000 0.000000 0
+ L3 0 0.010417 2.000000 7.250000 0 2.000000 0.000000 0
+ L3 0 0.010417 34.875000 7.250000 0 34.875000 0.000000 0
+ END$SEGS
+DRAW 598 11 0 0 0 0.000000 0.000000 0 0.000000
+ L3 32896 0.031250 271.821229 119.769205 0 331.821229 119.769047 0
+ END$SEGS
+DRAW 599 11 0 0 0 0.000000 0.000000 0 0.000000
+ L3 32896 0.031250 331.821229 119.769047 0 391.821229 119.768889 0
+ END$SEGS
+DRAW 600 11 0 0 0 0.000000 0.000000 0 0.000000
+ L3 32896 0.031250 391.821229 119.768889 0 451.821229 119.768730 0
+ END$SEGS
+DRAW 601 11 0 0 0 0.000000 0.000000 0 0.000000
+ L3 32896 0.031250 451.821229 119.768730 0 511.821229 119.768572 0
+ END$SEGS
+DRAW 602 11 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 32896 0.000000 451.821165 95.768730 0 511.821165 95.768573 0
+ END$SEGS
+STRUCTURE 603 11 0 0 0 Fn3 2 294.821251 128.394143 0 0.000151 "Custom Rico Depot Rico-1"
+ D 0.000000 0.000000
+ F4 12434814 0.000000 4 0
+ 63.000000 18.000000 0
+ 32.000000 18.000000 0
+ 32.000000 21.000000 0
+ 63.000000 21.000000 0
+ F4 12434814 0.000000 4 0
+ 63.000000 3.000000 0
+ 60.000000 3.000000 0
+ 60.000000 18.000000 0
+ 63.000000 18.000000 0
+ F4 12434814 0.000000 4 0
+ 63.000000 0.000000 0
+ 32.000000 0.000000 0
+ 32.000000 3.000000 0
+ 63.000000 3.000000 0
+ F4 12500670 0.000000 6 0
+ 30.000000 10.500000 0
+ 60.000000 10.500000 0
+ 60.000000 18.000000 0
+ 26.000000 18.000000 0
+ 26.000000 8.000000 0
+ 30.000000 8.000000 0
+ F4 12500670 0.000000 4 0
+ 0.000000 10.500000 0
+ 0.000000 20.500000 0
+ 26.000000 20.500000 0
+ 26.000000 10.500000 0
+ F4 8553090 0.000000 4 0
+ 0.000000 10.500000 0
+ 26.000000 10.500000 0
+ 26.000000 0.500000 0
+ 0.000000 0.500000 0
+ F4 8553090 0.000000 4 0
+ 26.000000 8.000000 0
+ 30.000000 8.000000 0
+ 30.000000 5.000000 0
+ 26.000000 5.000000 0
+ F4 8553090 0.000000 9 0
+ 30.000000 5.000000 0
+ 26.000000 5.000000 0
+ 26.000000 2.000000 0
+ 29.000000 2.000000 0
+ 29.000000 3.000000 0
+ 60.000000 3.000000 0
+ 60.000000 10.500000 0
+ 30.000000 10.500000 0
+ 30.000000 8.000000 0
+ F4 12500670 0.000000 3 0
+ 23.250000 17.750000 0
+ 16.000000 10.500000 0
+ 16.000000 17.750000 0
+ F4 12500670 0.000000 4 0
+ 23.250000 3.250000 0
+ 16.000000 3.250000 0
+ 16.000000 10.500000 0
+ 16.000000 10.500000 0
+ F4 8553090 0.000000 4 0
+ 16.000000 3.250000 0
+ 8.750000 3.250000 0
+ 16.000000 10.500000 0
+ 16.000000 3.250000 0
+ F4 8553090 0.000000 3 0
+ 16.000000 17.750000 0
+ 8.750000 17.750000 0
+ 16.000000 10.500000 0
+ F4 8553090 0.000000 3 0
+ 15.875000 14.125000 0
+ 12.375000 14.125000 0
+ 14.125000 15.812500 0
+ F4 8553090 0.000000 3 0
+ 12.375000 14.125000 0
+ 12.375000 17.500000 0
+ 14.125000 15.812500 0
+ F4 12500670 0.000000 3 0
+ 14.125000 15.812500 0
+ 12.375000 17.500000 0
+ 15.875000 17.500000 0
+ F4 12500670 0.000000 3 0
+ 15.875000 17.500000 0
+ 15.875000 14.125000 0
+ 14.125000 15.812500 0
+ G3 6842368 0.000000 0.257694 14.125000 15.812500 0
+ L3 0 0.000000 0.000000 20.500000 0 26.000000 20.500000 0
+ L3 0 0.000000 26.000000 20.500000 0 26.000000 18.000000 0
+ L3 0 0.000000 26.000000 18.000000 0 32.000000 18.000000 0
+ L3 0 0.000000 32.000000 18.000000 0 60.000000 18.000000 0
+ L3 0 0.000000 60.000000 18.000000 0 60.000000 3.000000 0
+ L3 0 0.000000 26.000000 2.000000 0 26.000000 0.500000 0
+ L3 0 0.000000 26.000000 0.500000 0 0.000000 0.500000 0
+ L3 0 0.000000 0.000000 20.500000 0 0.000000 0.500000 0
+ L3 0 0.000000 23.250000 3.250000 0 8.750000 3.250000 0
+ L3 0 0.000000 8.750000 3.250000 0 23.250000 17.750000 0
+ L3 0 0.000000 23.250000 17.750000 0 8.750000 17.750000 0
+ L3 0 0.000000 8.750000 17.750000 0 23.250000 3.250000 0
+ L3 0 0.000000 26.000000 10.500000 0 0.000000 10.500000 0
+ L3 0 0.000000 32.000000 18.000000 0 32.000000 21.000000 0
+ L3 0 0.000000 32.000000 21.000000 0 63.000000 21.000000 0
+ L3 0 0.000000 63.000000 21.000000 0 63.000000 0.000000 0
+ L3 0 0.000000 63.000000 0.000000 0 32.000000 0.000000 0
+ L3 0 0.000000 32.000000 0.000000 0 32.000000 3.000000 0
+ L3 0 0.000000 26.000000 18.000000 0 26.000000 2.000000 0
+ L3 0 0.000000 12.375000 17.500000 0 15.875000 17.500000 0
+ L3 0 0.000000 15.875000 17.500000 0 12.375000 14.125000 0
+ L3 0 0.000000 12.375000 14.125000 0 15.875000 14.125000 0
+ L3 0 0.000000 15.875000 14.125000 0 12.375000 17.500000 0
+ L3 0 0.000000 12.375000 17.500000 0 12.375000 14.125000 0
+ L3 0 0.000000 15.875000 14.125000 0 15.875000 17.500000 0
+ L3 0 0.000000 60.000000 18.000000 0 60.000000 3.000000 0
+ L3 0 0.000000 29.000000 2.000000 0 26.000000 2.000000 0
+ L3 0 0.000000 29.000000 3.000000 0 32.000000 3.000000 0
+ L3 0 0.000000 29.000000 2.000000 0 29.000000 3.000000 0
+ L3 0 0.000000 26.000000 8.000000 0 30.000000 8.000000 0
+ L3 0 0.000000 30.000000 8.000000 0 30.000000 10.500000 0
+ L3 0 0.000000 30.000000 10.500000 0 60.000000 10.500000 0
+ L3 0 0.000000 32.000000 3.000000 0 60.000000 3.000000 0
+ L3 0 0.000000 26.000000 5.000000 0 30.000000 5.000000 0
+ L3 0 0.000000 30.000000 5.000000 0 30.000000 8.000000 0
+ END$SEGS
+STRUCTURE 604 11 0 0 0 Fn3 2 265.321250 127.769222 0 0.000151 "Custom Rico Tank Rico-2"
+ D 0.000000 0.000000
+ G3 6842368 0.010417 0.250000 8.000000 9.300000 0
+ G3 6842368 0.010417 0.200200 8.000000 9.300000 0
+ G3 6842368 0.010417 0.100000 8.000000 9.300000 0
+ F4 4276545 0.010417 4 0
+ 7.500000 1.800000 0
+ 8.500000 1.800000 0
+ 8.400000 0.500000 0
+ 7.600000 0.500000 0
+ G3 4276545 0.010417 0.400000 8.000000 0.500000 0
+ G3 12434814 0.010417 7.400000 8.000000 9.300000 0
+ F4 12434814 0.010417 4 0
+ 10.210800 4.199000 0
+ 11.250000 4.799000 0
+ 12.000000 3.500000 0
+ 10.960800 2.900000 0
+ L3 0 0.010417 8.250000 9.300000 0 8.965000 9.300000 0
+ L3 0 0.010417 9.680000 9.300000 0 10.395000 9.300000 0
+ L3 0 0.010417 11.110000 9.300000 0 11.825000 9.300000 0
+ L3 0 0.010417 13.255000 9.300000 0 13.970000 9.300000 0
+ L3 0 0.010417 14.685000 9.300000 0 15.400000 9.300000 0
+ L3 0 0.010417 8.216500 9.425000 0 8.835700 9.782500 0
+ L3 0 0.010417 8.125000 9.516500 0 8.482500 10.135700 0
+ L3 0 0.010417 8.000000 9.550000 0 8.000000 10.265000 0
+ L3 0 0.010417 7.875000 9.516500 0 7.517500 10.135700 0
+ L3 0 0.010417 7.783500 9.425000 0 7.164300 9.782500 0
+ L3 0 0.010417 7.750000 9.300000 0 7.035000 9.300000 0
+ L3 0 0.010417 7.783500 9.175000 0 7.164300 8.817500 0
+ L3 0 0.010417 7.875000 9.083500 0 7.517500 8.464300 0
+ L3 0 0.010417 8.000000 9.050000 0 8.000000 8.335000 0
+ L3 0 0.010417 8.125000 9.083500 0 8.482500 8.464300 0
+ L3 0 0.010417 8.216500 9.175000 0 8.835700 8.817500 0
+ L3 0 0.010417 8.959700 9.400900 0 9.670800 9.475600 0
+ L3 0 0.010417 8.917800 9.598200 0 9.597800 9.819100 0
+ L3 0 0.010417 8.717100 9.945700 0 9.248500 10.424100 0
+ L3 0 0.010417 8.392500 10.181600 0 8.683300 10.834800 0
+ L3 0 0.010417 8.200600 10.243900 0 8.349300 10.943300 0
+ L3 0 0.010417 7.799400 10.243900 0 7.650700 10.943300 0
+ L3 0 0.010417 7.432800 10.080700 0 7.012500 10.659100 0
+ L3 0 0.010417 7.282900 9.945700 0 6.751500 10.424100 0
+ L3 0 0.010417 7.082200 9.598200 0 6.402200 9.819100 0
+ L3 0 0.010417 7.040300 9.199100 0 6.329200 9.124400 0
+ L3 0 0.010417 7.082200 9.001800 0 6.402200 8.780900 0
+ L3 0 0.010417 7.282900 8.654300 0 6.751500 8.175900 0
+ L3 0 0.010417 7.607500 8.418400 0 7.316700 7.765200 0
+ L3 0 0.010417 7.799400 8.356100 0 7.650700 7.656700 0
+ L3 0 0.010417 8.200600 8.356100 0 8.349300 7.656700 0
+ L3 0 0.010417 8.567200 8.519300 0 8.987500 7.940900 0
+ L3 0 0.010417 8.717100 8.654300 0 9.248500 8.175900 0
+ L3 0 0.010417 8.917800 9.001800 0 9.597800 8.780900 0
+ L3 0 0.010417 9.654500 9.591700 0 10.358600 9.715900 0
+ L3 0 0.010417 9.578700 9.874600 0 10.250600 10.119100 0
+ L3 0 0.010417 9.454900 10.140000 0 10.074100 10.497500 0
+ L3 0 0.010417 9.287000 10.379900 0 9.834700 10.839500 0
+ L3 0 0.010417 9.079900 10.587000 0 9.539500 11.134700 0
+ L3 0 0.010417 8.840000 10.754900 0 9.197500 11.374100 0
+ L3 0 0.010417 8.574600 10.878700 0 8.819100 11.550600 0
+ L3 0 0.010417 8.291700 10.954500 0 8.415900 11.658600 0
+ L3 0 0.010417 8.000000 10.980000 0 8.000000 11.695000 0
+ L3 0 0.010417 7.708300 10.954500 0 7.584100 11.658600 0
+ L3 0 0.010417 7.425400 10.878700 0 7.180900 11.550600 0
+ L3 0 0.010417 7.160000 10.754900 0 6.802500 11.374100 0
+ L3 0 0.010417 6.920100 10.587000 0 6.460500 11.134700 0
+ L3 0 0.010417 6.713000 10.379900 0 6.165300 10.839500 0
+ L3 0 0.010417 6.545100 10.140000 0 5.925900 10.497500 0
+ L3 0 0.010417 6.421300 9.874600 0 5.749400 10.119100 0
+ L3 0 0.010417 6.345500 9.591700 0 5.641400 9.715900 0
+ L3 0 0.010417 6.320000 9.300000 0 5.605000 9.300000 0
+ L3 0 0.010417 6.345500 9.008300 0 5.641400 8.884100 0
+ L3 0 0.010417 6.421300 8.725400 0 5.749400 8.480900 0
+ L3 0 0.010417 6.545100 8.460000 0 5.925900 8.102500 0
+ L3 0 0.010417 6.713000 8.220100 0 6.165300 7.760500 0
+ L3 0 0.010417 6.920100 8.013000 0 6.460500 7.465300 0
+ L3 0 0.010417 7.160000 7.845100 0 6.802500 7.225900 0
+ L3 0 0.010417 7.425400 7.721300 0 7.180900 7.049400 0
+ L3 0 0.010417 7.708300 7.645500 0 7.584100 6.941400 0
+ L3 0 0.010417 8.000000 7.620000 0 8.000000 6.905000 0
+ L3 0 0.010417 8.291700 7.645500 0 8.415900 6.941400 0
+ L3 0 0.010417 8.574600 7.721300 0 8.819100 7.049400 0
+ L3 0 0.010417 8.840000 7.845100 0 9.197500 7.225900 0
+ L3 0 0.010417 9.079900 8.013000 0 9.539500 7.465300 0
+ L3 0 0.010417 9.287000 8.220100 0 9.834700 7.760500 0
+ L3 0 0.010417 9.454900 8.460000 0 10.074100 8.102500 0
+ L3 0 0.010417 9.578700 8.725400 0 10.250600 8.480900 0
+ L3 0 0.010417 9.654500 9.008300 0 10.358600 8.884100 0
+ L3 0 0.010417 10.385900 9.508700 0 11.098200 9.571100 0
+ L3 0 0.010417 10.323900 9.879400 0 11.017600 10.052400 0
+ L3 0 0.010417 10.204600 10.235800 0 10.862800 10.515200 0
+ L3 0 0.010417 10.031100 10.569200 0 10.637400 10.948000 0
+ L3 0 0.010417 9.807500 10.871300 0 10.347100 11.340300 0
+ L3 0 0.010417 9.539500 11.134700 0 9.999100 11.682400 0
+ L3 0 0.010417 9.233500 11.352900 0 9.601800 11.965800 0
+ L3 0 0.010417 8.897200 11.520600 0 9.165000 12.183500 0
+ L3 0 0.010417 8.538800 11.633600 0 8.699600 12.330300 0
+ L3 0 0.010417 8.167100 11.689200 0 8.216900 12.402400 0
+ L3 0 0.010417 7.791300 11.685900 0 7.728900 12.398200 0
+ L3 0 0.010417 7.420600 11.623900 0 7.247600 12.317600 0
+ L3 0 0.010417 7.064200 11.504600 0 6.784800 12.162800 0
+ L3 0 0.010417 6.730800 11.331100 0 6.352000 11.937400 0
+ L3 0 0.010417 6.428700 11.107500 0 5.959700 11.647100 0
+ L3 0 0.010417 6.165300 10.839500 0 5.617600 11.299100 0
+ L3 0 0.010417 5.947100 10.533500 0 5.334200 10.901800 0
+ L3 0 0.010417 5.779400 10.197200 0 5.116500 10.465000 0
+ L3 0 0.010417 5.666400 9.838800 0 4.969700 9.999600 0
+ L3 0 0.010417 5.610800 9.467100 0 4.897600 9.516900 0
+ L3 0 0.010417 5.614100 9.091300 0 4.901800 9.028900 0
+ L3 0 0.010417 5.676100 8.720600 0 4.982400 8.547600 0
+ L3 0 0.010417 5.795400 8.364200 0 5.137200 8.084800 0
+ L3 0 0.010417 5.968900 8.030800 0 5.362600 7.652000 0
+ L3 0 0.010417 6.192500 7.728700 0 5.652900 7.259700 0
+ L3 0 0.010417 6.460500 7.465300 0 6.000900 6.917600 0
+ L3 0 0.010417 6.766500 7.247100 0 6.398200 6.634200 0
+ L3 0 0.010417 7.102800 7.079400 0 6.835000 6.416500 0
+ L3 0 0.010417 7.461200 6.966400 0 7.300400 6.269700 0
+ L3 0 0.010417 7.832900 6.910800 0 7.783100 6.197600 0
+ L3 0 0.010417 8.208700 6.914100 0 8.271100 6.201800 0
+ L3 0 0.010417 8.579400 6.976100 0 8.752400 6.282400 0
+ L3 0 0.010417 8.935800 7.095400 0 9.215200 6.437200 0
+ L3 0 0.010417 9.269200 7.268900 0 9.648000 6.662600 0
+ L3 0 0.010417 9.571300 7.492500 0 10.040300 6.952900 0
+ L3 0 0.010417 9.834700 7.760500 0 10.382400 7.300900 0
+ L3 0 0.010417 10.052900 8.066500 0 10.665800 7.698200 0
+ L3 0 0.010417 10.220600 8.402800 0 10.883500 8.135000 0
+ L3 0 0.010417 10.333600 8.761200 0 11.030300 8.600400 0
+ L3 0 0.010417 10.389200 9.132900 0 11.102400 9.083100 0
+ L3 0 0.010417 11.079700 9.732800 0 11.787800 9.832300 0
+ L3 0 0.010417 10.989500 10.157200 0 11.676800 10.354300 0
+ L3 0 0.010417 10.841100 10.565000 0 11.494300 10.855800 0
+ L3 0 0.010417 10.637400 10.948000 0 11.243800 11.326900 0
+ L3 0 0.010417 10.382400 11.299100 0 10.930100 11.758700 0
+ L3 0 0.010417 10.081000 11.611200 0 10.559400 12.142500 0
+ L3 0 0.010417 9.739100 11.878300 0 10.138900 12.471100 0
+ L3 0 0.010417 9.363300 12.095200 0 9.676800 12.737900 0
+ L3 0 0.010417 8.961000 12.257800 0 9.182000 12.937800 0
+ L3 0 0.010417 8.540000 12.362800 0 8.664200 13.066900 0
+ L3 0 0.010417 8.108500 12.408100 0 8.133500 13.122700 0
+ L3 0 0.010417 7.674900 12.393000 0 7.600200 13.104000 0
+ L3 0 0.010417 7.247600 12.317600 0 7.074600 13.011400 0
+ L3 0 0.010417 6.835000 12.183500 0 6.567100 12.846500 0
+ L3 0 0.010417 6.445000 11.993300 0 6.087500 12.612500 0
+ L3 0 0.010417 6.085300 11.750700 0 5.645100 12.314100 0
+ L3 0 0.010417 5.762900 11.460400 0 5.248500 11.957100 0
+ L3 0 0.010417 5.484000 11.128000 0 4.905500 11.548300 0
+ L3 0 0.010417 5.254000 10.760100 0 4.622700 11.095700 0
+ L3 0 0.010417 5.077600 10.363700 0 4.405700 10.608200 0
+ L3 0 0.010417 4.958000 9.946600 0 4.258600 10.095300 0
+ L3 0 0.010417 4.897600 9.516900 0 4.184300 9.566800 0
+ L3 0 0.010417 4.897600 9.083100 0 4.184300 9.033200 0
+ L3 0 0.010417 4.958000 8.653400 0 4.258600 8.504700 0
+ L3 0 0.010417 5.077600 8.236300 0 4.405700 7.991800 0
+ L3 0 0.010417 5.254000 7.839900 0 4.622700 7.504300 0
+ L3 0 0.010417 5.484000 7.472000 0 4.905500 7.051700 0
+ L3 0 0.010417 5.762900 7.139600 0 5.248500 6.642900 0
+ L3 0 0.010417 6.085300 6.849300 0 5.645100 6.285900 0
+ L3 0 0.010417 6.445000 6.606700 0 6.087500 5.987500 0
+ L3 0 0.010417 6.835000 6.416500 0 6.567100 5.753500 0
+ L3 0 0.010417 7.247600 6.282400 0 7.074600 5.588600 0
+ L3 0 0.010417 7.674900 6.207000 0 7.600200 5.496000 0
+ L3 0 0.010417 8.108500 6.191900 0 8.133500 5.477300 0
+ L3 0 0.010417 8.540000 6.237200 0 8.664200 5.533100 0
+ L3 0 0.010417 8.961000 6.342200 0 9.182000 5.662200 0
+ L3 0 0.010417 9.363300 6.504800 0 9.676800 5.862100 0
+ L3 0 0.010417 9.739100 6.721700 0 10.138900 6.128900 0
+ L3 0 0.010417 10.081000 6.988800 0 10.559400 6.457500 0
+ L3 0 0.010417 10.382400 7.300900 0 10.930100 6.841300 0
+ L3 0 0.010417 10.637400 7.652000 0 11.243800 7.273100 0
+ L3 0 0.010417 10.841100 8.035000 0 11.494300 7.744200 0
+ L3 0 0.010417 10.989500 8.442800 0 11.676800 8.245700 0
+ L3 0 0.010417 11.079700 8.867200 0 11.787800 8.767700 0
+ L3 0 0.010417 11.815700 9.566800 0 12.528900 9.616700 0
+ L3 0 0.010417 11.748200 10.062600 0 12.448900 10.205100 0
+ L3 0 0.010417 11.616600 10.545300 0 12.292700 10.778100 0
+ L3 0 0.010417 11.423100 11.006700 0 12.063000 11.325700 0
+ L3 0 0.010417 11.171100 11.438900 0 11.763800 11.838700 0
+ L3 0 0.010417 10.864800 11.834500 0 11.400300 12.308300 0
+ L3 0 0.010417 10.509400 12.186800 0 10.978500 12.726400 0
+ L3 0 0.010417 10.111200 12.489600 0 10.505800 13.085800 0
+ L3 0 0.010417 9.676800 12.737900 0 9.990200 13.380500 0
+ L3 0 0.010417 9.213700 12.927300 0 9.440600 13.605400 0
+ L3 0 0.010417 8.729800 13.054700 0 8.866300 13.756600 0
+ L3 0 0.010417 8.233500 13.117900 0 8.277200 13.831500 0
+ L3 0 0.010417 7.733200 13.115700 0 7.683300 13.828900 0
+ L3 0 0.010417 7.237400 13.048200 0 7.094900 13.748900 0
+ L3 0 0.010417 6.754700 12.916600 0 6.521900 13.592700 0
+ L3 0 0.010417 6.293300 12.723100 0 5.974300 13.363000 0
+ L3 0 0.010417 5.861100 12.471100 0 5.461300 13.063800 0
+ L3 0 0.010417 5.465500 12.164800 0 4.991700 12.700300 0
+ L3 0 0.010417 5.113200 11.809400 0 4.573600 12.278500 0
+ L3 0 0.010417 4.810400 11.411200 0 4.214200 11.805800 0
+ L3 0 0.010417 4.562100 10.976800 0 3.919500 11.290200 0
+ L3 0 0.010417 4.372700 10.513700 0 3.694600 10.740600 0
+ L3 0 0.010417 4.245300 10.029800 0 3.543400 10.166300 0
+ L3 0 0.010417 4.182100 9.533500 0 3.468500 9.577200 0
+ L3 0 0.010417 4.184300 9.033200 0 3.471100 8.983300 0
+ L3 0 0.010417 4.251800 8.537400 0 3.551100 8.394900 0
+ L3 0 0.010417 4.383400 8.054700 0 3.707300 7.821900 0
+ L3 0 0.010417 4.576900 7.593300 0 3.937000 7.274300 0
+ L3 0 0.010417 4.828900 7.161100 0 4.236200 6.761300 0
+ L3 0 0.010417 5.135200 6.765500 0 4.599700 6.291700 0
+ L3 0 0.010417 5.490600 6.413200 0 5.021500 5.873600 0
+ L3 0 0.010417 5.888800 6.110400 0 5.494200 5.514200 0
+ L3 0 0.010417 6.323200 5.862100 0 6.009800 5.219500 0
+ L3 0 0.010417 6.786300 5.672700 0 6.559400 4.994600 0
+ L3 0 0.010417 7.270200 5.545300 0 7.133700 4.843400 0
+ L3 0 0.010417 7.766500 5.482100 0 7.722800 4.768500 0
+ L3 0 0.010417 8.266800 5.484300 0 8.316700 4.771100 0
+ L3 0 0.010417 8.762600 5.551800 0 8.905100 4.851100 0
+ L3 0 0.010417 9.245300 5.683400 0 9.478100 5.007300 0
+ L3 0 0.010417 9.706700 5.876900 0 10.025700 5.237000 0
+ L3 0 0.010417 10.138900 6.128900 0 10.538700 5.536200 0
+ L3 0 0.010417 10.534500 6.435200 0 11.008300 5.899700 0
+ L3 0 0.010417 10.886800 6.790600 0 11.426400 6.321500 0
+ L3 0 0.010417 11.189600 7.188800 0 11.785800 6.794200 0
+ L3 0 0.010417 11.437900 7.623200 0 12.080500 7.309800 0
+ L3 0 0.010417 11.627300 8.086300 0 12.305400 7.859400 0
+ L3 0 0.010417 11.754700 8.570200 0 12.456600 8.433700 0
+ L3 0 0.010417 11.817900 9.066500 0 12.531500 9.022800 0
+ L3 0 0.010417 12.537200 9.458400 0 13.251800 9.483400 0
+ L3 0 0.010417 12.495800 9.931800 0 13.203900 10.031400 0
+ L3 0 0.010417 12.405100 10.398300 0 13.098900 10.571300 0
+ L3 0 0.010417 12.266200 10.852800 0 12.938100 11.097300 0
+ L3 0 0.010417 12.080500 11.290200 0 12.723200 11.603600 0
+ L3 0 0.010417 11.850100 11.705800 0 12.456500 12.084700 0
+ L3 0 0.010417 11.577600 12.095100 0 12.141000 12.535300 0
+ L3 0 0.010417 11.265800 12.453700 0 11.780100 12.950400 0
+ L3 0 0.010417 10.918300 12.777800 0 11.377800 13.325600 0
+ L3 0 0.010417 10.538700 13.063800 0 10.938600 13.656600 0
+ L3 0 0.010417 10.131400 13.308600 0 10.467100 13.939900 0
+ L3 0 0.010417 9.700700 13.509400 0 9.968600 14.172400 0
+ L3 0 0.010417 9.251400 13.664100 0 9.448500 14.351400 0
+ L3 0 0.010417 8.788400 13.771000 0 8.912500 14.475200 0
+ L3 0 0.010417 8.316700 13.828900 0 8.366600 14.542200 0
+ L3 0 0.010417 7.841600 13.837200 0 7.816600 14.551800 0
+ L3 0 0.010417 7.368200 13.795800 0 7.268600 14.503900 0
+ L3 0 0.010417 6.901700 13.705100 0 6.728700 14.398900 0
+ L3 0 0.010417 6.447200 13.566200 0 6.202700 14.238100 0
+ L3 0 0.010417 6.009800 13.380500 0 5.696400 14.023200 0
+ L3 0 0.010417 5.594200 13.150100 0 5.215300 13.756500 0
+ L3 0 0.010417 5.204900 12.877600 0 4.764700 13.441000 0
+ L3 0 0.010417 4.846300 12.565800 0 4.349600 13.080100 0
+ L3 0 0.010417 4.522200 12.218300 0 3.974400 12.677800 0
+ L3 0 0.010417 4.236200 11.838700 0 3.643400 12.238600 0
+ L3 0 0.010417 3.991400 11.431400 0 3.360100 11.767100 0
+ L3 0 0.010417 3.790600 11.000700 0 3.127600 11.268600 0
+ L3 0 0.010417 3.635900 10.551400 0 2.948600 10.748500 0
+ L3 0 0.010417 3.529000 10.088400 0 2.824800 10.212500 0
+ L3 0 0.010417 3.471100 9.616700 0 2.757800 9.666600 0
+ L3 0 0.010417 3.462800 9.141600 0 2.748200 9.116600 0
+ L3 0 0.010417 3.504200 8.668200 0 2.796100 8.568600 0
+ L3 0 0.010417 3.594900 8.201700 0 2.901100 8.028700 0
+ L3 0 0.010417 3.733800 7.747200 0 3.061900 7.502700 0
+ L3 0 0.010417 3.919500 7.309800 0 3.276800 6.996400 0
+ L3 0 0.010417 4.149900 6.894200 0 3.543500 6.515300 0
+ L3 0 0.010417 4.422400 6.504900 0 3.859000 6.064700 0
+ L3 0 0.010417 4.734200 6.146300 0 4.219900 5.649600 0
+ L3 0 0.010417 5.081700 5.822200 0 4.622200 5.274400 0
+ L3 0 0.010417 5.461300 5.536200 0 5.061400 4.943400 0
+ L3 0 0.010417 5.868600 5.291400 0 5.532900 4.660100 0
+ L3 0 0.010417 6.299300 5.090600 0 6.031400 4.427600 0
+ L3 0 0.010417 6.748600 4.935900 0 6.551500 4.248600 0
+ L3 0 0.010417 7.211600 4.829000 0 7.087500 4.124800 0
+ L3 0 0.010417 7.683300 4.771100 0 7.633400 4.057800 0
+ L3 0 0.010417 8.158400 4.762800 0 8.183400 4.048200 0
+ L3 0 0.010417 8.631800 4.804200 0 8.731400 4.096100 0
+ L3 0 0.010417 9.098300 4.894900 0 9.271300 4.201100 0
+ L3 0 0.010417 9.552800 5.033800 0 9.797300 4.361900 0
+ L3 0 0.010417 9.990200 5.219500 0 10.303600 4.576800 0
+ L3 0 0.010417 10.405800 5.449900 0 10.784700 4.843500 0
+ L3 0 0.010417 10.795100 5.722400 0 11.235300 5.159000 0
+ L3 0 0.010417 11.153700 6.034200 0 11.650400 5.519900 0
+ L3 0 0.010417 11.477800 6.381700 0 12.025600 5.922200 0
+ L3 0 0.010417 11.763800 6.761300 0 12.356600 6.361400 0
+ L3 0 0.010417 12.008600 7.168600 0 12.639900 6.832900 0
+ L3 0 0.010417 12.209400 7.599300 0 12.872400 7.331400 0
+ L3 0 0.010417 12.364100 8.048600 0 13.051400 7.851500 0
+ L3 0 0.010417 12.471000 8.511600 0 13.175200 8.387500 0
+ L3 0 0.010417 12.528900 8.983300 0 13.242200 8.933400 0
+ L3 0 0.010417 13.235000 9.758000 0 13.947300 9.820300 0
+ L3 0 0.010417 13.175200 10.212500 0 13.879300 10.336700 0
+ L3 0 0.010417 13.075900 10.660100 0 13.766600 10.845100 0
+ L3 0 0.010417 12.938100 11.097300 0 13.610000 11.341900 0
+ L3 0 0.010417 12.762600 11.520900 0 13.410700 11.823000 0
+ L3 0 0.010417 12.551000 11.927500 0 13.170200 12.285000 0
+ L3 0 0.010417 12.304600 12.314100 0 12.890300 12.724300 0
+ L3 0 0.010417 12.025600 12.677800 0 12.573300 13.137400 0
+ L3 0 0.010417 11.715800 13.015800 0 12.221400 13.521400 0
+ L3 0 0.010417 11.377800 13.325600 0 11.837400 13.873300 0
+ L3 0 0.010417 11.014100 13.604600 0 11.424300 14.190300 0
+ L3 0 0.010417 10.627500 13.851000 0 10.985000 14.470200 0
+ L3 0 0.010417 10.220900 14.062600 0 10.523000 14.710700 0
+ L3 0 0.010417 9.797300 14.238100 0 10.041900 14.910000 0
+ L3 0 0.010417 9.360100 14.375900 0 9.545100 15.066600 0
+ L3 0 0.010417 8.912500 14.475200 0 9.036700 15.179300 0
+ L3 0 0.010417 8.458000 14.535000 0 8.520300 15.247300 0
+ L3 0 0.010417 8.000000 14.555000 0 8.000000 15.270000 0
+ L3 0 0.010417 7.542000 14.535000 0 7.479700 15.247300 0
+ L3 0 0.010417 7.087500 14.475200 0 6.963300 15.179300 0
+ L3 0 0.010417 6.639900 14.375900 0 6.454900 15.066600 0
+ L3 0 0.010417 6.202700 14.238100 0 5.958100 14.910000 0
+ L3 0 0.010417 5.779100 14.062600 0 5.477000 14.710700 0
+ L3 0 0.010417 5.372500 13.851000 0 5.015000 14.470200 0
+ L3 0 0.010417 4.985900 13.604600 0 4.575700 14.190300 0
+ L3 0 0.010417 4.622200 13.325600 0 4.162600 13.873300 0
+ L3 0 0.010417 4.284200 13.015800 0 3.778600 13.521400 0
+ L3 0 0.010417 3.974400 12.677800 0 3.426700 13.137400 0
+ L3 0 0.010417 3.695400 12.314100 0 3.109700 12.724300 0
+ L3 0 0.010417 3.449000 11.927500 0 2.829800 12.285000 0
+ L3 0 0.010417 3.237400 11.520900 0 2.589300 11.823000 0
+ L3 0 0.010417 3.061900 11.097300 0 2.390000 11.341900 0
+ L3 0 0.010417 2.924100 10.660100 0 2.233400 10.845100 0
+ L3 0 0.010417 2.824800 10.212500 0 2.120700 10.336700 0
+ L3 0 0.010417 2.765000 9.758000 0 2.052700 9.820300 0
+ L3 0 0.010417 2.745000 9.300000 0 2.030000 9.300000 0
+ L3 0 0.010417 2.765000 8.842000 0 2.052700 8.779700 0
+ L3 0 0.010417 2.824800 8.387500 0 2.120700 8.263300 0
+ L3 0 0.010417 2.924100 7.939900 0 2.233400 7.754900 0
+ L3 0 0.010417 3.061900 7.502700 0 2.390000 7.258100 0
+ L3 0 0.010417 3.237400 7.079100 0 2.589300 6.777000 0
+ L3 0 0.010417 3.449000 6.672500 0 2.829800 6.315000 0
+ L3 0 0.010417 3.695400 6.285900 0 3.109700 5.875700 0
+ L3 0 0.010417 3.974400 5.922200 0 3.426700 5.462600 0
+ L3 0 0.010417 4.284200 5.584200 0 3.778600 5.078600 0
+ L3 0 0.010417 4.622200 5.274400 0 4.162600 4.726700 0
+ L3 0 0.010417 4.985900 4.995400 0 4.575700 4.409700 0
+ L3 0 0.010417 5.372500 4.749000 0 5.015000 4.129800 0
+ L3 0 0.010417 5.779100 4.537400 0 5.477000 3.889300 0
+ L3 0 0.010417 6.202700 4.361900 0 5.958100 3.690000 0
+ L3 0 0.010417 6.639900 4.224100 0 6.454900 3.533400 0
+ L3 0 0.010417 7.087500 4.124800 0 6.963300 3.420700 0
+ L3 0 0.010417 7.542000 4.065000 0 7.479700 3.352700 0
+ L3 0 0.010417 8.000000 4.045000 0 8.000000 3.330000 0
+ L3 0 0.010417 8.458000 4.065000 0 8.520300 3.352700 0
+ L3 0 0.010417 8.912500 4.124800 0 9.036700 3.420700 0
+ L3 0 0.010417 9.360100 4.224100 0 9.545100 3.533400 0
+ L3 0 0.010417 9.797300 4.361900 0 10.041900 3.690000 0
+ L3 0 0.010417 11.377800 5.274400 0 11.837400 4.726700 0
+ L3 0 0.010417 11.715800 5.584200 0 12.221400 5.078600 0
+ L3 0 0.010417 12.025600 5.922200 0 12.573300 5.462600 0
+ L3 0 0.010417 12.304600 6.285900 0 12.890300 5.875700 0
+ L3 0 0.010417 12.551000 6.672500 0 13.170200 6.315000 0
+ L3 0 0.010417 12.762600 7.079100 0 13.410700 6.777000 0
+ L3 0 0.010417 12.938100 7.502700 0 13.610000 7.258100 0
+ L3 0 0.010417 13.075900 7.939900 0 13.766600 7.754900 0
+ L3 0 0.010417 13.175200 8.387500 0 13.879300 8.263300 0
+ L3 0 0.010417 13.235000 8.842000 0 13.947300 8.779700 0
+ L3 0 0.010417 13.968000 9.456300 0 14.682700 9.475000 0
+ L3 0 0.010417 13.942500 9.872200 0 14.654200 9.940700 0
+ L3 0 0.010417 13.888100 10.285300 0 14.593300 10.403300 0
+ L3 0 0.010417 13.805000 10.693700 0 14.500300 10.860600 0
+ L3 0 0.010417 13.693700 11.095200 0 14.375600 11.310200 0
+ L3 0 0.010417 13.554600 11.488000 0 14.219800 11.750100 0
+ L3 0 0.010417 13.388400 11.870200 0 14.033800 12.178000 0
+ L3 0 0.010417 13.196000 12.239800 0 13.818300 12.591900 0
+ L3 0 0.010417 12.978300 12.595100 0 13.574500 12.989700 0
+ L3 0 0.010417 12.736300 12.934300 0 13.303600 13.369600 0
+ L3 0 0.010417 12.471300 13.255800 0 13.006800 13.729600 0
+ L3 0 0.010417 12.184400 13.558100 0 12.685600 14.068100 0
+ L3 0 0.010417 11.877200 13.839600 0 12.341600 14.383300 0
+ L3 0 0.010417 11.551100 14.099000 0 11.976400 14.673800 0
+ L3 0 0.010417 11.207700 14.335000 0 11.591800 14.938100 0
+ L3 0 0.010417 10.848600 14.546500 0 11.189800 15.174900 0
+ L3 0 0.010417 10.475700 14.732500 0 10.772200 15.383100 0
+ L3 0 0.010417 10.090700 14.891900 0 10.341100 15.561700 0
+ L3 0 0.010417 9.695600 15.024200 0 9.898600 15.709700 0
+ L3 0 0.010417 9.292100 15.128500 0 9.446900 15.826500 0
+ L3 0 0.010417 8.882400 15.204400 0 8.988100 15.911600 0
+ L3 0 0.010417 8.468400 15.251600 0 8.524500 15.964400 0
+ L3 0 0.010417 8.052100 15.269800 0 8.058300 15.984700 0
+ L3 0 0.010417 7.635500 15.258900 0 7.591900 15.972500 0
+ L3 0 0.010417 7.220800 15.218900 0 7.127400 15.927800 0
+ L3 0 0.010417 6.809800 15.150200 0 6.667200 15.850800 0
+ L3 0 0.010417 6.404600 15.052900 0 6.213500 15.741900 0
+ L3 0 0.010417 6.007200 14.927600 0 5.768500 15.601600 0
+ L3 0 0.010417 5.619500 14.774800 0 5.334400 15.430500 0
+ L3 0 0.010417 5.243400 14.595500 0 4.913200 15.229700 0
+ L3 0 0.010417 4.880700 14.390300 0 4.507100 14.999900 0
+ L3 0 0.010417 4.533200 14.160300 0 4.118000 14.742400 0
+ L3 0 0.010417 4.202600 13.906600 0 3.747800 14.458300 0
+ L3 0 0.010417 3.890500 13.630500 0 3.398300 14.149100 0
+ L3 0 0.010417 3.598500 13.333300 0 3.071300 13.816300 0
+ L3 0 0.010417 3.327800 13.016400 0 2.768300 13.461500 0
+ L3 0 0.010417 3.080000 12.681400 0 2.490700 13.086400 0
+ L3 0 0.010417 2.856100 12.330000 0 2.240000 12.692900 0
+ L3 0 0.010417 2.657200 11.963800 0 2.017400 12.282800 0
+ L3 0 0.010417 2.484400 11.584600 0 1.823900 11.858200 0
+ L3 0 0.010417 2.338500 11.194300 0 1.660500 11.421200 0
+ L3 0 0.010417 2.220200 10.794800 0 1.527900 10.973800 0
+ L3 0 0.010417 2.130000 10.387900 0 1.426900 10.518200 0
+ L3 0 0.010417 2.068400 9.975800 0 1.358000 10.056800 0
+ L3 0 0.010417 2.035700 9.560400 0 1.321400 9.591600 0
+ L3 0 0.010417 2.032000 9.143700 0 1.317300 9.125000 0
+ L3 0 0.010417 2.057500 8.727800 0 1.345800 8.659300 0
+ L3 0 0.010417 2.111900 8.314700 0 1.406700 8.196700 0
+ L3 0 0.010417 2.195000 7.906300 0 1.499700 7.739400 0
+ L3 0 0.010417 2.306300 7.504800 0 1.624400 7.289800 0
+ L3 0 0.010417 2.445400 7.112000 0 1.780200 6.849900 0
+ L3 0 0.010417 2.611600 6.729800 0 1.966200 6.422000 0
+ L3 0 0.010417 2.804000 6.360200 0 2.181700 6.008100 0
+ L3 0 0.010417 3.021700 6.004900 0 2.425500 5.610300 0
+ L3 0 0.010417 3.263700 5.665700 0 2.696400 5.230400 0
+ L3 0 0.010417 3.528700 5.344200 0 2.993200 4.870400 0
+ L3 0 0.010417 3.815600 5.041900 0 3.314400 4.531900 0
+ L3 0 0.010417 4.122800 4.760400 0 3.658400 4.216700 0
+ L3 0 0.010417 4.448900 4.501000 0 4.023600 3.926200 0
+ L3 0 0.010417 4.792300 4.265000 0 4.408200 3.661900 0
+ L3 0 0.010417 5.151400 4.053500 0 4.810200 3.425100 0
+ L3 0 0.010417 5.524300 3.867500 0 5.227800 3.216900 0
+ L3 0 0.010417 5.909300 3.708100 0 5.658900 3.038300 0
+ L3 0 0.010417 6.304400 3.575800 0 6.101400 2.890300 0
+ L3 0 0.010417 6.707900 3.471500 0 6.553100 2.773500 0
+ L3 0 0.010417 7.117600 3.395600 0 7.011900 2.688400 0
+ L3 0 0.010417 7.531600 3.348400 0 7.475500 2.635600 0
+ L3 0 0.010417 7.947900 3.330200 0 7.941700 2.615300 0
+ L3 0 0.010417 8.364500 3.341100 0 8.408100 2.627500 0
+ L3 0 0.010417 8.779200 3.381100 0 8.872600 2.672200 0
+ L3 0 0.010417 9.190200 3.449800 0 9.332800 2.749200 0
+ L3 0 0.010417 9.595400 3.547100 0 9.786500 2.858100 0
+ L3 0 0.010417 9.992800 3.672400 0 10.231500 2.998400 0
+ L3 0 0.010417 10.380500 3.825200 0 10.665600 3.169500 0
+ L3 0 0.010417 11.466800 4.439700 0 11.882000 3.857600 0
+ L3 0 0.010417 11.797400 4.693400 0 12.252200 4.141700 0
+ L3 0 0.010417 12.109500 4.969500 0 12.601700 4.450900 0
+ L3 0 0.010417 12.401500 5.266700 0 12.928700 4.783700 0
+ L3 0 0.010417 12.672200 5.583600 0 13.231700 5.138500 0
+ L3 0 0.010417 12.920000 5.918600 0 13.509300 5.513600 0
+ L3 0 0.010417 13.143900 6.270000 0 13.760000 5.907100 0
+ L3 0 0.010417 13.342800 6.636200 0 13.982600 6.317200 0
+ L3 0 0.010417 13.515600 7.015400 0 14.176100 6.741800 0
+ L3 0 0.010417 13.661500 7.405700 0 14.339500 7.178800 0
+ L3 0 0.010417 13.779800 7.805200 0 14.472100 7.626200 0
+ L3 0 0.010417 13.870000 8.212100 0 14.573100 8.081800 0
+ L3 0 0.010417 13.931600 8.624200 0 14.642000 8.543200 0
+ L3 0 0.010417 13.964300 9.039600 0 14.678600 9.008400 0
+ L3 0 0.010417 14.648400 9.998800 0 15.359500 10.073500 0
+ L3 0 0.010417 14.538900 10.689900 0 15.238300 10.838500 0
+ L3 0 0.010417 14.357800 11.365800 0 15.037800 11.586700 0
+ L3 0 0.010417 14.107100 12.019000 0 14.760200 12.309900 0
+ L3 0 0.010417 13.789400 12.642500 0 14.408600 13.000000 0
+ L3 0 0.010417 13.408300 13.229300 0 13.986700 13.649600 0
+ L3 0 0.010417 12.967900 13.773100 0 13.499300 14.251600 0
+ L3 0 0.010417 12.473100 14.267900 0 12.951600 14.799300 0
+ L3 0 0.010417 11.929300 14.708300 0 12.349600 15.286700 0
+ L3 0 0.010417 11.342500 15.089400 0 11.700000 15.708600 0
+ L3 0 0.010417 10.719000 15.407100 0 11.009900 16.060200 0
+ L3 0 0.010417 10.065800 15.657800 0 10.286700 16.337800 0
+ L3 0 0.010417 9.389900 15.838900 0 9.538500 16.538300 0
+ L3 0 0.010417 8.698800 15.948400 0 8.773500 16.659500 0
+ L3 0 0.010417 8.000000 15.985000 0 8.000000 16.700000 0
+ L3 0 0.010417 7.301200 15.948400 0 7.226500 16.659500 0
+ L3 0 0.010417 6.610100 15.838900 0 6.461500 16.538300 0
+ L3 0 0.010417 5.934200 15.657800 0 5.713300 16.337800 0
+ L3 0 0.010417 5.281000 15.407100 0 4.990100 16.060200 0
+ L3 0 0.010417 4.657500 15.089400 0 4.300000 15.708600 0
+ L3 0 0.010417 4.070700 14.708300 0 3.650400 15.286700 0
+ L3 0 0.010417 3.526900 14.267900 0 3.048400 14.799300 0
+ L3 0 0.010417 3.032100 13.773100 0 2.500700 14.251600 0
+ L3 0 0.010417 2.591700 13.229300 0 2.013300 13.649600 0
+ L3 0 0.010417 2.210600 12.642500 0 1.591400 13.000000 0
+ L3 0 0.010417 1.892900 12.019000 0 1.239800 12.309900 0
+ L3 0 0.010417 1.642200 11.365800 0 0.962200 11.586700 0
+ L3 0 0.010417 1.461100 10.689900 0 0.761700 10.838500 0
+ L3 0 0.010417 1.351600 9.998800 0 0.640500 10.073500 0
+ L3 0 0.010417 1.315000 9.300000 0 0.600000 9.300000 0
+ L3 0 0.010417 1.351600 8.601200 0 0.640500 8.526500 0
+ L3 0 0.010417 1.461100 7.910100 0 0.761700 7.761500 0
+ L3 0 0.010417 1.642200 7.234200 0 0.962200 7.013300 0
+ L3 0 0.010417 1.892900 6.581000 0 1.239800 6.290100 0
+ L3 0 0.010417 2.210600 5.957500 0 1.591400 5.600000 0
+ L3 0 0.010417 2.591700 5.370700 0 2.013300 4.950400 0
+ L3 0 0.010417 3.032100 4.826900 0 2.500700 4.348400 0
+ L3 0 0.010417 3.526900 4.332100 0 3.048400 3.800700 0
+ L3 0 0.010417 4.070700 3.891700 0 3.650400 3.313300 0
+ L3 0 0.010417 4.657500 3.510600 0 4.300000 2.891400 0
+ L3 0 0.010417 5.281000 3.192900 0 4.990100 2.539800 0
+ L3 0 0.010417 5.934200 2.942200 0 5.713300 2.262200 0
+ L3 0 0.010417 6.610100 2.761100 0 6.461500 2.061700 0
+ L3 0 0.010417 7.301200 2.651600 0 7.226500 1.940500 0
+ L3 0 0.010417 8.000000 2.615000 0 8.000000 1.900000 0
+ L3 0 0.010417 8.698800 2.651600 0 8.773500 1.940500 0
+ L3 0 0.010417 9.389900 2.761100 0 9.538500 2.061700 0
+ L3 0 0.010417 10.065800 2.942200 0 10.286700 2.262200 0
+ L3 0 0.010417 10.719000 3.192900 0 11.009900 2.539800 0
+ L3 0 0.010417 11.929300 3.891700 0 12.349600 3.313300 0
+ L3 0 0.010417 12.473100 4.332100 0 12.951600 3.800700 0
+ L3 0 0.010417 12.967900 4.826900 0 13.499300 4.348400 0
+ L3 0 0.010417 13.408300 5.370700 0 13.986700 4.950400 0
+ L3 0 0.010417 13.789400 5.957500 0 14.408600 5.600000 0
+ L3 0 0.010417 14.107100 6.581000 0 14.760200 6.290100 0
+ L3 0 0.010417 14.357800 7.234200 0 15.037800 7.013300 0
+ L3 0 0.010417 14.538900 7.910100 0 15.238300 7.761500 0
+ L3 0 0.010417 14.648400 8.601200 0 15.359500 8.526500 0
+ A3 0 0.010417 0.965000 8.000000 9.300000 0 0.000000 360.000000
+ A3 0 0.010417 1.680000 8.000000 9.300000 0 0.000000 360.000000
+ A3 0 0.010417 2.395000 8.000000 9.300000 0 0.000000 360.000000
+ A3 0 0.010417 3.110000 8.000000 9.300000 0 0.000000 360.000000
+ A3 0 0.010417 3.825000 8.000000 9.300000 0 0.000000 360.000000
+ A3 0 0.010417 4.540000 8.000000 9.300000 0 0.000000 360.000000
+ A3 0 0.010417 5.255000 8.000000 9.300000 0 0.000000 360.000000
+ A3 0 0.375012 7.500000 8.000000 9.300000 0 0.000000 360.000000
+ L3 0 0.010417 10.384000 4.299000 0 11.134000 3.000000 0
+ L3 0 0.010417 10.557200 4.399000 0 11.307200 3.100000 0
+ L3 0 0.010417 10.730400 4.499000 0 11.480400 3.200000 0
+ L3 0 0.010417 10.903600 4.599000 0 11.653600 3.300000 0
+ L3 0 0.010417 11.076800 4.699000 0 11.826800 3.400000 0
+ A3 0 0.010417 5.970000 8.000000 9.300000 0 -203.885500 348.463600
+ A3 0 0.010417 6.685000 8.000000 9.300000 0 155.458400 349.701000
+ L3 0 0.010417 10.220900 4.537400 0 10.343000 4.275400 0
+ L3 0 0.010417 10.627500 4.749000 0 10.761500 4.517000 0
+ L3 0 0.010417 11.014100 4.995400 0 11.179900 4.758600 0
+ L3 0 0.010417 11.511500 3.217900 0 11.700000 2.891400 0
+ L3 0 0.010417 10.198300 4.220700 0 11.237500 4.820700 0
+ L3 0 0.010417 11.271700 4.811500 0 12.021700 3.512500 0
+ L3 0 0.010417 12.012500 3.478300 0 10.973300 2.878300 0
+ L3 0 0.010417 10.939100 2.887500 0 10.189100 4.186500 0
+ END$SEGS
+STRAIGHT 605 11 128 0 0 Fn3 2 0.000000 0.000000
+ T4 557 200.859716 125.976849 90.000000 0 0.0 0.0 0.0 0.0 0 0 0 100.000000
+ T4 612 187.821245 125.976831 270.000000 9 -0.321245 -12.976831 100.000000 100.000000 1 1 0 100.000000
+ END$SEGS
+TURNOUT 606 0 0 0 0 Fn3 2 286.101153 283.876068 0 174.091422 "NMRA G #5 Left 5L"
+ T4 553 286.101153 283.876068 84.091422 0 0.0 0.0 0.0 0.0 0 0 0 95.456635
+ T4 611 261.182582 281.297149 264.091422 0 0.0 0.0 0.0 0.0 0 0 0 95.456635
+ T4 609 261.884280 277.884587 252.670236 0 0.0 0.0 0.0 0.0 0 0 0 95.456635
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 25.051667 0.000000
+ C 0 0.000000 -57.751549 1.770077 57.751549 168.578738 11.421338
+ S 0 0.000000 13.206091 1.143623 24.705000 3.466667
+ END$SEGS
+STRAIGHT 607 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 53 173.740735 310.021836 306.667158 0 0.0 0.0 0.0 0.0 0 0 0 96.617659
+ T4 608 195.558884 293.778704 126.667158 0 0.0 0.0 0.0 0.0 0 0 0 96.617659
+ END$SEGS
+CURVE 608 0 0 0 0 Fn3 2 238.985724 352.109773 0 72.721413 0 0.000000 0.000000
+ T4 610 245.574112 279.687420 84.802158 0 0.0 0.0 0.0 0.0 0 0 0 96.228408
+ T4 607 195.558884 293.778704 306.667158 0 0.0 0.0 0.0 0.0 0 0 0 96.228408
+ END$SEGS
+CURVE 609 0 0 0 0 Fn3 2 283.331144 209.152993 0 72.000000 0 0.000000 0.000000
+ T4 613 219.923134 243.261999 208.277043 0 0.0 0.0 0.0 0.0 0 0 0 95.975751
+ T4 606 261.884463 277.884644 72.670236 0 0.0 0.0 0.0 0.0 0 0 0 95.975751
+ END$SEGS
+CURVE 610 0 0 0 0 Fn3 2 239.027659 351.650919 0 72.260647 0 0.000000 0.000000
+ T4 611 246.466459 279.774181 84.091422 0 0.0 0.0 0.0 0.0 0 0 0 95.859270
+ T4 608 245.574112 279.687420 264.802309 0 0.0 0.0 0.0 0.0 0 0 0 95.859270
+ END$SEGS
+STRAIGHT 611 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 606 261.182582 281.297149 84.091579 0 0.0 0.0 0.0 0.0 0 0 0 95.746173
+ T4 610 246.466459 279.774181 264.091579 0 0.0 0.0 0.0 0.0 0 0 0 95.746173
+ END$SEGS
+CURVE 612 0 0 0 0 Fn3 2 187.821436 197.976831 0 72.000000 0 0.000000 0.000000
+ T4 605 187.821245 125.976831 90.000000 9 -0.321245 -12.976831 100.000000 100.000000 1 1 0 99.647964
+ T4 551 138.197860 145.808826 313.567991 0 0.0 0.0 0.0 0.0 0 0 0 99.647964
+ END$SEGS
+STRAIGHT 613 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 552 203.129320 212.438735 208.583284 0 0.0 0.0 0.0 0.0 0 0 0 96.560157
+ T4 609 219.923134 243.261999 28.583284 0 0.0 0.0 0.0 0.0 0 0 0 96.560157
+ END$SEGS
+DRAW 614 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 511.821324 155.768573 0 511.821165 95.768573 0
+ END$SEGS
+DRAW 615 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 300.000000 1080.000000 0 300.000000 1200.000000 0
+ END$SEGS
+DRAW 616 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 360.000000 1200.000000 0 360.000000 948.000000 0
+ END$SEGS
+DRAW 617 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 360.000000 948.000000 0 480.000000 948.000000 0
+ END$SEGS
+DRAW 618 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 480.000000 948.000000 0 480.000000 828.000000 0
+ END$SEGS
+DRAW 619 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 480.000000 828.000000 0 780.000000 828.000000 0
+ END$SEGS
+TURNOUT 620 1 0 0 0 Fn3 2 137.230021 502.999758 0 0.000000 "NMRA G #4 Right 4R"
+ T4 623 137.230021 502.999758 270.000000 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ T4 107 158.780354 502.999758 90.000000 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ T4 621 158.347022 499.533092 104.250033 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ D 0.000000 0.000000
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 21.550333 0.000000
+ C 0 0.000000 45.576853 1.770060 -45.576853 0.000000 14.250185
+ S 0 0.000000 12.989026 -1.402392 21.117000 -3.466667
+ END$SEGS
+STRAIGHT 621 1 0 0 0 Fn3 2 0.000000 0.000000
+ T4 620 158.347022 499.533092 284.249881 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ T4 622 168.088980 497.059012 104.249881 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ END$SEGS
+CURVE 622 1 0 0 0 Fn3 2 185.812083 566.843787 0 72.000162 0 0.000000 0.000000
+ T4 108 185.812435 494.843625 89.999872 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ T4 621 168.088980 497.059012 284.249881 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ END$SEGS
+STRAIGHT 623 1 0 0 0 Fn3 2 0.000000 0.000000
+ T4 47 94.571269 502.999814 270.000000 10 -0.821269 -6.749814 0.0 0.0 1 2 0 88.460000
+ T4 620 137.230021 502.999758 90.000000 0 0.0 0.0 0.0 0.0 0 0 0 88.460000
+ END$SEGS
+STRUCTURE 624 0 0 0 0 Fn3 2 713.170771 193.375300 0 89.551296 "Custom Favorite Mine Custom1"
+ D 0.000000 0.000000
+ F4 6842368 0.000000 4 0
+ 17.716535 0.984252 0
+ 17.716535 9.251969 0
+ 20.669291 9.251969 0
+ 20.669291 0.984252 0
+ F4 12430718 0.000000 4 0
+ 0.984252 5.905512 0
+ 0.984252 1.181102 0
+ -2.755906 1.181102 0
+ -2.755906 5.905512 0
+ F4 8553090 0.000000 4 0
+ 29.527559 0.984252 0
+ 29.527559 15.157480 0
+ 24.212598 15.157480 0
+ 24.212598 0.984252 0
+ F4 12500670 0.000000 5 0
+ 12.401575 19.291339 0
+ 12.401575 9.251969 0
+ 20.669291 9.251969 0
+ 20.669291 15.157480 0
+ 20.669291 19.291339 0
+ F4 12500670 0.000000 4 0
+ 24.212598 15.157480 0
+ 20.669291 15.157480 0
+ 20.669291 0.984252 0
+ 24.212598 0.984252 0
+ F4 8421504 0.000000 4 0
+ 0.000000 6.791339 0
+ -5.314961 6.791339 0
+ -5.314961 6.496063 0
+ 0.000000 6.496063 0
+ F4 8421504 0.000000 4 0
+ 0.000000 0.590551 0
+ -5.314961 0.590551 0
+ -5.314961 0.295276 0
+ 0.000000 0.295276 0
+ F4 12500670 0.000000 4 0
+ 3.543307 6.200787 0
+ -5.905512 6.200787 0
+ -5.905512 6.496063 0
+ 3.543307 6.496063 0
+ F4 12500670 0.000000 4 0
+ 3.543307 0.590551 0
+ -5.905512 0.590551 0
+ -5.905512 0.885827 0
+ 3.543307 0.885827 0
+ F4 8553090 0.000000 4 0
+ 13.976378 7.086614 0
+ 13.976378 6.496063 0
+ 0.590551 6.496063 0
+ 0.590551 7.086614 0
+ F4 8553090 0.000000 4 0
+ 13.976378 0.000000 0
+ 13.976378 0.590551 0
+ 0.590551 0.590551 0
+ 0.590551 0.000000 0
+ F4 6908265 0.000000 4 0
+ -0.295276 3.346457 0
+ 0.000000 3.346457 0
+ 0.000000 3.149606 0
+ -0.295276 3.149606 0
+ F4 6908265 0.000000 4 0
+ -1.328740 3.641732 0
+ 1.033465 3.641732 0
+ 1.033465 3.444882 0
+ -1.328740 3.444882 0
+ F4 6908265 0.000000 4 0
+ -0.098425 3.986220 0
+ -0.196850 3.986220 0
+ -0.196850 3.100394 0
+ -0.098425 3.100394 0
+ F4 6908265 0.000000 4 0
+ -0.295276 3.937008 0
+ 0.000000 3.937008 0
+ 0.000000 3.740157 0
+ -0.295276 3.740157 0
+ L3 4276545 0.000000 -1.316437 3.543307 0 17.716535 3.543307 0
+ L3 4276545 0.000000 -1.304134 3.592520 0 17.716535 3.592520 0
+ L3 4276545 0.000000 -1.310285 3.567913 0 17.716535 3.567913 0
+ L3 4276545 0.000000 17.716535 3.518701 0 -1.310285 3.518701 0
+ L3 4276545 0.000000 -1.304134 3.494094 0 17.716535 3.494094 0
+ F4 12500670 0.000000 4 0
+ 3.543307 7.283465 0
+ 3.838583 7.283465 0
+ 3.838583 6.299213 0
+ 3.543307 6.299213 0
+ F4 12500670 0.000000 4 0
+ 4.330709 7.283465 0
+ 4.625984 7.283465 0
+ 4.625984 6.299213 0
+ 4.330709 6.299213 0
+ F4 12500670 0.000000 4 0
+ 5.118110 7.283465 0
+ 5.413386 7.283465 0
+ 5.413386 6.299213 0
+ 5.118110 6.299213 0
+ F4 12500670 0.000000 4 0
+ 5.905512 7.283465 0
+ 6.200787 7.283465 0
+ 6.200787 6.299213 0
+ 5.905512 6.299213 0
+ F4 12500670 0.000000 4 0
+ 6.692913 7.283465 0
+ 6.988189 7.283465 0
+ 6.988189 6.299213 0
+ 6.692913 6.299213 0
+ F4 12500670 0.000000 4 0
+ 7.480315 7.283465 0
+ 7.775591 7.283465 0
+ 7.775591 6.299213 0
+ 7.480315 6.299213 0
+ F4 12500670 0.000000 4 0
+ 8.267717 7.283465 0
+ 8.562992 7.283465 0
+ 8.562992 6.299213 0
+ 8.267717 6.299213 0
+ F4 12500670 0.000000 4 0
+ 9.055118 7.283465 0
+ 9.350394 7.283465 0
+ 9.350394 6.299213 0
+ 9.055118 6.299213 0
+ F4 12500670 0.000000 4 0
+ 9.842520 7.283465 0
+ 10.137795 7.283465 0
+ 10.137795 6.299213 0
+ 9.842520 6.299213 0
+ F4 12500670 0.000000 4 0
+ 10.629921 7.283465 0
+ 10.925197 7.283465 0
+ 10.925197 6.299213 0
+ 10.629921 6.299213 0
+ F4 12500670 0.000000 4 0
+ 11.417323 7.283465 0
+ 11.712598 7.283465 0
+ 11.712598 6.299213 0
+ 11.417323 6.299213 0
+ F4 12500670 0.000000 4 0
+ 12.204724 7.283465 0
+ 12.500000 7.283465 0
+ 12.500000 6.299213 0
+ 12.204724 6.299213 0
+ F4 12500670 0.000000 4 0
+ 12.992126 7.283465 0
+ 13.287402 7.283465 0
+ 13.287402 6.299213 0
+ 12.992126 6.299213 0
+ F4 12500670 0.000000 4 0
+ -5.610236 6.496063 0
+ -5.019685 6.496063 0
+ -5.019685 0.590551 0
+ -5.610236 0.590551 0
+ F4 12500670 0.000000 4 0
+ -4.429134 6.496063 0
+ -3.838583 6.496063 0
+ -3.838583 0.590551 0
+ -4.429134 0.590551 0
+ F4 12500670 0.000000 4 0
+ 1.771654 6.496063 0
+ 2.362205 6.496063 0
+ 2.362205 0.590551 0
+ 1.771654 0.590551 0
+ F4 12500670 0.000000 4 0
+ 0.000000 6.496063 0
+ 0.590551 6.496063 0
+ 0.590551 7.086614 0
+ 0.000000 7.086614 0
+ F4 12500670 0.000000 4 0
+ 0.000000 0.000000 0
+ 0.000000 0.590551 0
+ 0.590551 0.590551 0
+ 0.590551 0.000000 0
+ F4 12500670 0.000000 4 0
+ 0.590551 6.496063 0
+ 0.000000 6.496063 0
+ 0.000000 0.590551 0
+ 0.590551 0.590551 0
+ G3 0 0.000000 0.196850 20.078740 18.110236 0
+ G3 0 0.000000 0.590551 25.984252 12.795276 0
+ L3 0 0.000000 12.401575 19.291339 0 20.669291 19.291339 0
+ L3 0 0.000000 20.669291 19.291339 0 20.669291 15.157480 0
+ L3 0 0.000000 20.669291 15.157480 0 29.527559 15.157480 0
+ L3 0 0.000000 29.527559 15.157480 0 29.527559 0.984252 0
+ L3 0 0.000000 29.527559 0.984252 0 20.669291 0.984252 0
+ L3 0 0.000000 20.669291 0.984252 0 20.669291 9.251969 0
+ L3 0 0.000000 20.669291 9.251969 0 12.401575 9.251969 0
+ L3 0 0.000000 12.401575 9.251969 0 12.401575 19.291339 0
+ L3 0 0.000000 24.212598 15.157480 0 24.212598 0.984252 0
+ L3 0 0.000000 20.669291 15.157480 0 20.669291 9.251969 0
+ END$SEGS
+STRUCTURE 625 0 0 0 0 Fn3 2 712.613393 222.411174 0 88.059707 "Scratch Favorite Bin Fav-2"
+ D 0.000000 0.000000
+ F4 8553090 0.000000 4 0
+ -8.562992 0.000000 0
+ -8.562992 6.496063 0
+ 0.295276 6.496063 0
+ 0.295276 0.000000 0
+ F4 0 0.000000 4 0
+ -8.858268 0.000000 0
+ -8.858268 0.590551 0
+ 0.000000 0.590551 0
+ 0.000000 0.000000 0
+ F4 0 0.000000 4 0
+ -8.858268 1.771654 0
+ -8.858268 2.362205 0
+ 0.000000 2.362205 0
+ 0.000000 1.771654 0
+ F4 0 0.000000 4 0
+ -8.858268 4.133858 0
+ -8.858268 4.724409 0
+ 0.000000 4.724409 0
+ 0.000000 4.133858 0
+ F4 0 0.000000 4 0
+ -0.590551 0.590551 0
+ -0.590551 1.771654 0
+ 0.000000 1.771654 0
+ 0.000000 0.590551 0
+ F4 0 0.000000 4 0
+ -0.590551 2.362205 0
+ -0.590551 4.133858 0
+ 0.000000 4.133858 0
+ 0.000000 2.362205 0
+ F4 0 0.000000 4 0
+ -8.858268 0.590551 0
+ -8.858268 1.771654 0
+ -8.267717 1.771654 0
+ -8.267717 0.590551 0
+ F4 0 0.000000 4 0
+ -8.858268 2.362205 0
+ -8.858268 4.133858 0
+ -8.267717 4.133858 0
+ -8.267717 2.362205 0
+ F4 0 0.000000 4 0
+ -8.858268 6.496063 0
+ -8.858268 5.905512 0
+ 0.000000 5.905512 0
+ 0.000000 6.496063 0
+ F4 0 0.000000 4 0
+ -0.590551 4.724409 0
+ -0.590551 5.905512 0
+ 0.000000 5.905512 0
+ 0.000000 4.724409 0
+ F4 0 0.000000 4 0
+ -8.858268 4.724409 0
+ -8.858268 5.905512 0
+ -8.267717 5.905512 0
+ -8.267717 4.724409 0
+ F4 6842368 0.000000 4 0
+ -8.858268 2.362205 0
+ -8.858268 4.133858 0
+ -11.220472 4.133858 0
+ -11.220472 2.362205 0
+ F4 6842368 0.000000 4 0
+ 5.019685 4.133858 0
+ 5.314961 4.133858 0
+ 5.314961 2.362205 0
+ 5.019685 2.362205 0
+ F4 6842368 0.000000 4 0
+ 5.610236 4.133858 0
+ 5.905512 4.133858 0
+ 5.905512 2.362205 0
+ 5.610236 2.362205 0
+ F4 6842368 0.000000 4 0
+ 6.200787 4.133858 0
+ 6.496063 4.133858 0
+ 6.496063 2.362205 0
+ 6.200787 2.362205 0
+ F4 6842368 0.000000 4 0
+ 6.791339 4.133858 0
+ 7.086614 4.133858 0
+ 7.086614 2.362205 0
+ 6.791339 2.362205 0
+ F4 6842368 0.000000 4 0
+ 7.381890 4.133858 0
+ 7.677165 4.133858 0
+ 7.677165 2.362205 0
+ 7.381890 2.362205 0
+ F4 6842368 0.000000 4 0
+ 7.972441 4.133858 0
+ 8.267717 4.133858 0
+ 8.267717 2.362205 0
+ 7.972441 2.362205 0
+ F4 6842368 0.000000 4 0
+ 8.562992 4.133858 0
+ 8.858268 4.133858 0
+ 8.858268 2.362205 0
+ 8.562992 2.362205 0
+ F4 6842368 0.000000 4 0
+ 9.153543 4.133858 0
+ 9.448819 4.133858 0
+ 9.448819 2.362205 0
+ 9.153543 2.362205 0
+ F4 6842368 0.000000 4 0
+ 9.744094 4.133858 0
+ 10.039370 4.133858 0
+ 10.039370 2.362205 0
+ 9.744094 2.362205 0
+ F4 6842368 0.000000 4 0
+ 10.334646 4.133858 0
+ 10.629921 4.133858 0
+ 10.629921 2.362205 0
+ 10.334646 2.362205 0
+ F4 6842368 0.000000 4 0
+ 10.925197 4.133858 0
+ 11.220472 4.133858 0
+ 11.220472 2.362205 0
+ 10.925197 2.362205 0
+ F4 6842368 0.000000 4 0
+ 11.515748 4.133858 0
+ 11.811024 4.133858 0
+ 11.811024 2.362205 0
+ 11.515748 2.362205 0
+ F4 6842368 0.000000 4 0
+ 12.106299 4.133858 0
+ 12.401575 4.133858 0
+ 12.401575 2.362205 0
+ 12.106299 2.362205 0
+ F4 6842368 0.000000 4 0
+ 12.696850 4.133858 0
+ 12.992126 4.133858 0
+ 12.992126 2.362205 0
+ 12.696850 2.362205 0
+ F4 6842368 0.000000 4 0
+ 13.287402 4.133858 0
+ 13.582677 4.133858 0
+ 13.582677 2.362205 0
+ 13.287402 2.362205 0
+ F4 6842368 0.000000 4 0
+ 13.877953 4.133858 0
+ 14.173228 4.133858 0
+ 14.173228 2.362205 0
+ 13.877953 2.362205 0
+ F4 6842368 0.000000 4 0
+ 14.468504 4.133858 0
+ 14.763780 4.133858 0
+ 14.763780 2.362205 0
+ 14.468504 2.362205 0
+ F4 6842368 0.000000 4 0
+ 15.059055 4.133858 0
+ 15.354331 4.133858 0
+ 15.354331 2.362205 0
+ 15.059055 2.362205 0
+ F4 6842368 0.000000 4 0
+ 15.649606 4.133858 0
+ 15.944882 4.133858 0
+ 15.944882 2.362205 0
+ 15.649606 2.362205 0
+ F4 6842368 0.000000 4 0
+ 16.240157 4.133858 0
+ 16.535433 4.133858 0
+ 16.535433 2.362205 0
+ 16.240157 2.362205 0
+ F4 6842368 0.000000 4 0
+ 16.830709 4.133858 0
+ 17.125984 4.133858 0
+ 17.125984 2.362205 0
+ 16.830709 2.362205 0
+ F4 6842368 0.000000 4 0
+ 17.421260 4.133858 0
+ 17.716535 4.133858 0
+ 17.716535 2.362205 0
+ 17.421260 2.362205 0
+ F4 6842368 0.000000 4 0
+ 18.011811 4.133858 0
+ 18.307087 4.133858 0
+ 18.307087 2.362205 0
+ 18.011811 2.362205 0
+ F4 6842368 0.000000 4 0
+ 18.602362 4.133858 0
+ 18.897638 4.133858 0
+ 18.897638 2.362205 0
+ 18.602362 2.362205 0
+ F4 6842368 0.000000 4 0
+ 19.783465 4.133858 0
+ 20.078740 4.133858 0
+ 20.078740 2.362205 0
+ 19.783465 2.362205 0
+ F4 6842368 0.000000 4 0
+ 20.964567 4.133858 0
+ 21.259843 4.133858 0
+ 21.259843 2.362205 0
+ 20.964567 2.362205 0
+ F4 6842368 0.000000 4 0
+ 22.145669 4.133858 0
+ 22.440945 4.133858 0
+ 22.440945 2.362205 0
+ 22.145669 2.362205 0
+ F4 6842368 0.000000 4 0
+ 23.326772 4.133858 0
+ 23.622047 4.133858 0
+ 23.622047 2.362205 0
+ 23.326772 2.362205 0
+ F4 6842368 0.000000 4 0
+ 24.507874 4.133858 0
+ 24.803150 4.133858 0
+ 24.803150 2.362205 0
+ 24.507874 2.362205 0
+ F4 6842368 0.000000 4 0
+ 19.192913 4.133858 0
+ 19.488189 4.133858 0
+ 19.488189 2.362205 0
+ 19.192913 2.362205 0
+ F4 6842368 0.000000 4 0
+ 20.374016 4.133858 0
+ 20.669291 4.133858 0
+ 20.669291 2.362205 0
+ 20.374016 2.362205 0
+ F4 6842368 0.000000 4 0
+ 21.555118 4.133858 0
+ 21.850394 4.133858 0
+ 21.850394 2.362205 0
+ 21.555118 2.362205 0
+ F4 6842368 0.000000 4 0
+ 22.736220 4.133858 0
+ 23.031496 4.133858 0
+ 23.031496 2.362205 0
+ 22.736220 2.362205 0
+ F4 6842368 0.000000 4 0
+ 23.917323 4.133858 0
+ 24.212598 4.133858 0
+ 24.212598 2.362205 0
+ 23.917323 2.362205 0
+ F4 6842368 0.000000 4 0
+ 25.098425 4.133858 0
+ 25.393701 4.133858 0
+ 25.393701 2.362205 0
+ 25.098425 2.362205 0
+ F4 6842368 0.000000 4 0
+ 25.688976 4.133858 0
+ 25.984252 4.133858 0
+ 25.984252 2.362205 0
+ 25.688976 2.362205 0
+ F4 6842368 0.000000 4 0
+ 4.429134 4.133858 0
+ 4.724409 4.133858 0
+ 4.724409 2.362205 0
+ 4.429134 2.362205 0
+ F4 6842368 0.000000 4 0
+ 3.838583 4.133858 0
+ 4.133858 4.133858 0
+ 4.133858 2.362205 0
+ 3.838583 2.362205 0
+ F4 6842368 0.000000 4 0
+ 3.248031 4.133858 0
+ 3.543307 4.133858 0
+ 3.543307 2.362205 0
+ 3.248031 2.362205 0
+ F4 6842368 0.000000 4 0
+ 2.657480 4.133858 0
+ 2.952756 4.133858 0
+ 2.952756 2.362205 0
+ 2.657480 2.362205 0
+ F4 6842368 0.000000 4 0
+ 2.066929 4.133858 0
+ 2.362205 4.133858 0
+ 2.362205 2.362205 0
+ 2.066929 2.362205 0
+ F4 6842368 0.000000 4 0
+ 1.476378 4.133858 0
+ 1.771654 4.133858 0
+ 1.771654 2.362205 0
+ 1.476378 2.362205 0
+ F4 6842368 0.000000 4 0
+ 0.885827 4.133858 0
+ 1.181102 4.133858 0
+ 1.181102 2.362205 0
+ 0.885827 2.362205 0
+ F4 6842368 0.000000 4 0
+ 0.295276 4.133858 0
+ 0.590551 4.133858 0
+ 0.590551 2.362205 0
+ 0.295276 2.362205 0
+ F4 6842368 0.000000 4 0
+ 0.000000 1.771654 0
+ 0.000000 4.724409 0
+ -0.295276 4.724409 0
+ -0.295276 1.771654 0
+ F4 6842368 0.000000 4 0
+ -0.590551 1.771654 0
+ -0.590551 4.724409 0
+ -0.885827 4.724409 0
+ -0.885827 1.771654 0
+ F4 6842368 0.000000 4 0
+ -1.181102 1.771654 0
+ -1.181102 4.724409 0
+ -1.476378 4.724409 0
+ -1.476378 1.771654 0
+ F4 6842368 0.000000 4 0
+ -1.771654 1.771654 0
+ -1.771654 4.724409 0
+ -2.066929 4.724409 0
+ -2.066929 1.771654 0
+ F4 6842368 0.000000 4 0
+ -2.362205 1.771654 0
+ -2.362205 4.724409 0
+ -2.657480 4.724409 0
+ -2.657480 1.771654 0
+ F4 6842368 0.000000 4 0
+ -2.952756 1.771654 0
+ -2.952756 4.724409 0
+ -3.248031 4.724409 0
+ -3.248031 1.771654 0
+ F4 6842368 0.000000 4 0
+ -3.543307 1.771654 0
+ -3.543307 4.724409 0
+ -3.838583 4.724409 0
+ -3.838583 1.771654 0
+ F4 6842368 0.000000 4 0
+ -4.133858 1.771654 0
+ -4.133858 4.724409 0
+ -4.429134 4.724409 0
+ -4.429134 1.771654 0
+ F4 6842368 0.000000 4 0
+ -4.724409 1.771654 0
+ -4.724409 4.724409 0
+ -5.019685 4.724409 0
+ -5.019685 1.771654 0
+ F4 6842368 0.000000 4 0
+ -5.314961 1.771654 0
+ -5.314961 4.724409 0
+ -5.610236 4.724409 0
+ -5.610236 1.771654 0
+ F4 6842368 0.000000 4 0
+ -5.905512 1.771654 0
+ -5.905512 4.724409 0
+ -6.200787 4.724409 0
+ -6.200787 1.771654 0
+ F4 6842368 0.000000 4 0
+ -6.496063 1.771654 0
+ -6.496063 4.724409 0
+ -6.791339 4.724409 0
+ -6.791339 1.771654 0
+ F4 8484438 0.000000 4 0
+ -6.791339 2.854331 0
+ -2.066929 2.854331 0
+ -2.066929 2.706693 0
+ -6.791339 2.706693 0
+ F4 8484438 0.000000 4 0
+ -6.791339 3.789370 0
+ -2.066929 3.789370 0
+ -2.066929 3.641732 0
+ -6.791339 3.641732 0
+ L3 0 0.000000 -6.791339 3.690945 0 -2.066929 3.690945 0
+ L3 0 0.000000 -6.791339 2.755906 0 -2.066929 2.755906 0
+ L3 0 0.000000 -2.066929 2.805118 0 -6.791339 2.805118 0
+ F4 8484438 0.000000 4 0
+ -2.066929 2.854331 0
+ 2.657480 2.854331 0
+ 2.657480 2.706693 0
+ -2.066929 2.706693 0
+ F4 8484438 0.000000 4 0
+ -2.066929 3.789370 0
+ 2.657480 3.789370 0
+ 2.657480 3.641732 0
+ -2.066929 3.641732 0
+ L3 0 0.000000 -2.066929 3.690945 0 2.657480 3.690945 0
+ L3 0 0.000000 -2.066929 2.755906 0 2.657480 2.755906 0
+ L3 0 0.000000 2.657480 2.805118 0 -2.066929 2.805118 0
+ F4 8484438 0.000000 4 0
+ 2.657480 2.854331 0
+ 7.381890 2.854331 0
+ 7.381890 2.706693 0
+ 2.657480 2.706693 0
+ F4 8484438 0.000000 4 0
+ 2.657480 3.789370 0
+ 7.381890 3.789370 0
+ 7.381890 3.641732 0
+ 2.657480 3.641732 0
+ L3 0 0.000000 2.657480 3.690945 0 7.381890 3.690945 0
+ L3 0 0.000000 2.657480 2.755906 0 7.381890 2.755906 0
+ L3 0 0.000000 7.381890 2.805118 0 2.657480 2.805118 0
+ F4 8484438 0.000000 4 0
+ 7.381890 2.854331 0
+ 12.106299 2.854331 0
+ 12.106299 2.706693 0
+ 7.381890 2.706693 0
+ F4 8484438 0.000000 4 0
+ 7.381890 3.789370 0
+ 12.106299 3.789370 0
+ 12.106299 3.641732 0
+ 7.381890 3.641732 0
+ L3 0 0.000000 7.381890 3.690945 0 12.106299 3.690945 0
+ L3 0 0.000000 7.381890 2.755906 0 12.106299 2.755906 0
+ L3 0 0.000000 12.106299 2.805118 0 7.381890 2.805118 0
+ F4 8484438 0.000000 4 0
+ 12.106299 2.854331 0
+ 16.830709 2.854331 0
+ 16.830709 2.706693 0
+ 12.106299 2.706693 0
+ F4 8484438 0.000000 4 0
+ 12.106299 3.789370 0
+ 16.830709 3.789370 0
+ 16.830709 3.641732 0
+ 12.106299 3.641732 0
+ L3 0 0.000000 12.106299 3.690945 0 16.830709 3.690945 0
+ L3 0 0.000000 12.106299 2.755906 0 16.830709 2.755906 0
+ L3 0 0.000000 16.830709 2.805118 0 12.106299 2.805118 0
+ L3 0 0.000000 16.830709 3.740157 0 12.106299 3.740157 0
+ L3 0 0.000000 -2.066929 3.740157 0 -6.791339 3.740157 0
+ L3 0 0.000000 2.657480 3.740157 0 -2.066929 3.740157 0
+ L3 0 0.000000 7.381890 3.740157 0 2.657480 3.740157 0
+ L3 0 0.000000 12.106299 3.740157 0 7.381890 3.740157 0
+ F4 8484438 0.000000 4 0
+ 16.830709 2.854331 0
+ 21.555118 2.854331 0
+ 21.555118 2.706693 0
+ 16.830709 2.706693 0
+ F4 8484438 0.000000 4 0
+ 16.830709 3.789370 0
+ 21.555118 3.789370 0
+ 21.555118 3.641732 0
+ 16.830709 3.641732 0
+ L3 0 0.000000 16.830709 3.690945 0 21.555118 3.690945 0
+ L3 0 0.000000 16.830709 2.755906 0 21.555118 2.755906 0
+ L3 0 0.000000 21.555118 2.805118 0 16.830709 2.805118 0
+ L3 0 0.000000 21.555118 3.740157 0 16.830709 3.740157 0
+ F4 8484438 0.000000 4 0
+ 21.555118 2.854331 0
+ 26.279528 2.854331 0
+ 26.279528 2.706693 0
+ 21.555118 2.706693 0
+ F4 8484438 0.000000 4 0
+ 21.555118 3.789370 0
+ 26.279528 3.789370 0
+ 26.279528 3.641732 0
+ 21.555118 3.641732 0
+ L3 0 0.000000 21.555118 3.690945 0 26.279528 3.690945 0
+ L3 0 0.000000 21.555118 2.755906 0 26.279528 2.755906 0
+ L3 0 0.000000 26.279528 2.805118 0 21.555118 2.805118 0
+ L3 0 0.000000 26.279528 3.740157 0 21.555118 3.740157 0
+ END$SEGS
+CURVE 626 1 0 0 0 Fn3 2 627.793702 312.673231 0 72.000000 0 0.000000 0.000000
+ T4 628 618.224781 241.311926 97.637156 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ T4 52 597.365038 247.419139 295.000000 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ END$SEGS
+STRAIGHT 627 1 0 0 0 Fn3 2 0.000000 0.000000
+ T4 629 681.999632 234.000090 270.000000 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ E4 750.000000 234.000000 90.000000 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ END$SEGS
+STRAIGHT 628 1 0 0 0 Fn3 2 0.000000 0.000000
+ T4 626 618.224781 241.311926 277.637004 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ T4 629 663.594547 235.228572 97.637004 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ END$SEGS
+CURVE 629 1 0 0 0 Fn3 2 682.000000 372.492076 0 138.491986 0 0.000000 0.000000
+ T4 627 682.000368 234.000090 90.000000 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ T4 628 663.594547 235.228572 277.637004 0 0.0 0.0 0.0 0.0 0 0 0 93.673170
+ END$SEGS
+DRAW 630 9 0 0 0 0.000000 0.000000 0 0.000000
+ B3 16760832 0.104167 456.000000 702.000000 0 268.000000 702.000000 0 131584
+ END$SEGS
+DRAW 631 9 0 0 0 0.000000 0.000000 0 0.000000
+ B3 16760832 0.104167 268.000000 702.000000 0 178.000000 738.000000 0 131584
+ END$SEGS
+DRAW 632 9 0 0 0 0.000000 0.000000 0 0.000000
+ B3 16760832 0.104167 456.000000 690.000000 0 396.000000 684.000000 0 131584
+ END$SEGS
+DRAW 633 9 0 0 0 0.000000 0.000000 0 0.000000
+ B3 16760832 0.104167 456.000000 702.000000 0 456.000000 690.000000 0 131584
+ END$SEGS
+DRAW 634 9 0 0 0 0.000000 0.000000 0 0.000000
+ B3 16760832 0.104167 396.000000 684.000000 0 260.000000 684.000000 0 131584
+ END$SEGS
+DRAW 635 9 0 0 0 0.000000 0.000000 0 0.000000
+ B3 16760832 0.104167 260.000000 684.000000 0 216.000000 702.000000 0 131584
+ END$SEGS
+DRAW 636 9 0 0 0 0.000000 0.000000 0 0.000000
+ B3 16760832 0.102041 178.000000 738.000000 0 174.000000 728.000000 0 131584
+ END$SEGS
+DRAW 637 9 0 0 0 0.000000 0.000000 0 0.000000
+ B3 16760832 0.102041 174.000000 728.000000 0 216.000000 702.000000 0 131584
+ END$SEGS
+DRAW 638 9 0 0 0 0.000000 0.000000 0 0.000000
+ B3 16760832 0.102041 216.000000 702.000000 0 223.258621 719.896552 0 131584
+ END$SEGS
+DRAW 639 9 0 0 0 0.000000 0.000000 0 0.000000
+ B3 16760832 0.100000 268.125000 702.000000 0 260.000000 684.000000 0 131584
+ END$SEGS
+DRAW 640 9 0 0 0 0.000000 0.000000 0 0.000000
+ B3 16760832 0.104167 324.000000 702.000000 0 324.000000 684.000000 0 131584
+ END$SEGS
+DRAW 641 9 0 0 0 0.000000 0.000000 0 0.000000
+ B3 16760832 0.104167 396.297030 684.029703 0 396.250000 702.000000 0 131584
+ END$SEGS
+STRUCTURE 642 9 0 0 0 Fn3 2 132.833333 383.833333 0 2.913549 "Custom Matterhorn Bench Custom1"
+ D 0.000000 0.000000
+ L3 26624 0.000000 1.162012 30.102871 0 4.502166 6.336438 0
+ L3 26624 0.000000 1.162012 30.102871 0 238.826348 63.504416 0
+ L3 26624 0.000000 60.786856 36.967855 0 63.709491 16.172226 0
+ L3 26624 0.000000 62.272258 37.176615 0 65.194893 16.380985 0
+ L3 26624 0.000000 179.619024 53.668627 0 182.541659 32.872998 0
+ L3 26624 0.000000 181.104426 53.877387 0 184.027061 33.081758 0
+ L3 26624 0.000000 240.472341 41.014624 0 237.549706 61.810254 0
+ L3 26624 0.000000 2.856174 28.826229 0 5.778809 8.030599 0
+ L3 26624 0.000000 45.932835 34.880259 0 48.855470 14.084629 0
+ L3 26624 0.000000 31.078814 32.792662 0 34.001449 11.997033 0
+ L3 26624 0.000000 16.224793 30.705066 0 19.147428 9.909436 0
+ L3 26624 0.000000 47.418237 35.089018 0 50.340872 14.293389 0
+ L3 26624 0.000000 32.564216 33.001422 0 35.486851 12.205792 0
+ L3 26624 0.000000 17.710195 30.913825 0 20.632830 10.118196 0
+ L3 26624 0.000000 75.640877 39.055452 0 78.563512 18.259822 0
+ L3 26624 0.000000 90.494898 41.143048 0 93.417533 20.347419 0
+ L3 26624 0.000000 105.348919 43.230645 0 108.271554 22.435015 0
+ L3 26624 0.000000 77.126279 39.264211 0 80.048914 18.468582 0
+ L3 26624 0.000000 91.980300 41.351808 0 94.902935 20.556178 0
+ L3 26624 0.000000 106.834321 43.439404 0 109.756956 22.643775 0
+ L3 26624 0.000000 164.765003 51.581031 0 167.687638 30.785401 0
+ L3 26624 0.000000 149.910982 49.493434 0 152.833617 28.697805 0
+ L3 26624 0.000000 135.056961 47.405838 0 137.979596 26.610208 0
+ L3 26624 0.000000 195.958447 55.964984 0 198.881082 35.169354 0
+ L3 26624 0.000000 210.812468 58.052580 0 213.735103 37.256951 0
+ L3 26624 0.000000 225.666489 60.140177 0 228.589124 39.344547 0
+ L3 26624 0.000000 194.473045 55.756224 0 197.395680 34.960594 0
+ L3 26624 0.000000 209.327066 57.843820 0 212.249701 37.048191 0
+ L3 26624 0.000000 224.181087 59.931417 0 227.103722 39.135787 0
+ L3 26624 0.000000 121.688342 45.527001 0 124.610977 24.731372 0
+ L3 26624 0.000000 136.542363 47.614597 0 139.464998 26.818968 0
+ L3 26624 0.000000 151.396384 49.702194 0 154.319019 28.906565 0
+ L3 26624 0.000000 166.250405 51.789791 0 169.173040 30.994161 0
+ L3 26624 0.000000 118.717538 45.109482 0 121.640173 24.313852 0
+ L3 26624 0.000000 121.688342 45.527001 0 125.154280 46.014107 0
+ L3 26624 0.000000 125.154280 46.014107 0 125.641386 42.548169 0
+ L3 26624 0.000000 125.641386 42.548169 0 122.175448 42.061063 0
+ L3 26624 0.000000 122.175448 42.061063 0 121.688342 45.527001 0
+ L3 26624 0.000000 121.688342 45.527001 0 125.641386 42.548169 0
+ L3 26624 0.000000 125.154280 46.014107 0 122.175448 42.061063 0
+ L3 26624 0.000000 62.759364 33.710677 0 62.272258 37.176615 0
+ L3 26624 0.000000 243.470433 41.237982 0 240.565822 61.905362 0
+ L3 26624 0.000000 124.402217 26.216774 0 127.868156 26.703879 0
+ L3 26624 0.000000 127.868156 26.703879 0 128.076915 25.218477 0
+ L3 26624 0.000000 128.076915 25.218477 0 124.610977 24.731372 0
+ L3 26624 0.000000 124.610977 24.731372 0 124.402217 26.216774 0
+ L3 26624 0.000000 124.402217 26.216774 0 128.076915 25.218477 0
+ L3 26624 0.000000 127.868156 26.703879 0 124.610977 24.731372 0
+ L3 26624 0.000000 64.986133 17.866388 0 68.452072 18.353493 0
+ L3 26624 0.000000 68.452072 18.353493 0 68.660831 16.868091 0
+ L3 26624 0.000000 68.660831 16.868091 0 65.194893 16.380985 0
+ L3 26624 0.000000 65.194893 16.380985 0 64.986133 17.866388 0
+ L3 26624 0.000000 64.986133 17.866388 0 68.660831 16.868091 0
+ L3 26624 0.000000 68.452072 18.353493 0 65.194893 16.380985 0
+ L3 26624 0.000000 338.536296 39.694662 0 361.556330 3.210116 0
+ L3 26624 0.000000 360.073266 2.749612 0 337.482176 38.554322 0
+ L3 26624 0.000000 300.358088 59.781189 0 338.536296 39.694662 0
+ L3 26624 0.000000 337.482176 38.554322 0 300.015364 58.266566 0
+ L3 26624 0.000000 238.826348 63.504416 0 300.358088 59.781189 0
+ L3 26624 0.000000 238.735751 62.007154 0 300.267491 58.283927 0
+ L3 26624 0.000000 283.228276 41.237982 0 283.228276 59.314954 0
+ L3 26624 0.000000 281.728276 41.237982 0 281.728276 59.405717 0
+ L3 26624 0.000000 269.220748 41.237982 0 269.220748 60.162536 0
+ L3 26624 0.000000 267.720748 41.237982 0 267.720748 60.253299 0
+ L3 26624 0.000000 255.213220 41.237982 0 255.213220 61.010118 0
+ L3 26624 0.000000 253.713220 41.237982 0 253.713220 61.100882 0
+ L3 26624 0.000000 298.505496 58.390544 0 294.624268 41.237982 0
+ L3 26624 0.000000 332.180446 41.343693 0 335.277903 39.714042 0
+ L3 26624 0.000000 335.277903 39.714042 0 333.648252 36.616586 0
+ L3 26624 0.000000 333.648252 36.616586 0 330.550795 38.246236 0
+ L3 26624 0.000000 330.550795 38.246236 0 332.180446 41.343693 0
+ L3 26624 0.000000 332.180446 41.343693 0 333.648252 36.616586 0
+ L3 26624 0.000000 335.277903 39.714042 0 330.550795 38.246236 0
+ L3 26624 0.000000 356.876518 7.816144 0 358.744169 4.856096 0
+ L3 26624 0.000000 358.744169 4.856096 0 355.784122 2.988445 0
+ L3 26624 0.000000 355.784122 2.988445 0 353.916471 5.948493 0
+ L3 26624 0.000000 353.916471 5.948493 0 356.876518 7.816144 0
+ L3 26624 0.000000 356.876518 7.816144 0 355.784122 2.988445 0
+ L3 26624 0.000000 358.744169 4.856096 0 353.916471 5.948493 0
+ L3 26624 0.000000 322.235691 30.199624 0 325.333147 28.569973 0
+ L3 26624 0.000000 325.333147 28.569973 0 324.634725 27.242491 0
+ L3 26624 0.000000 324.634725 27.242491 0 321.537269 28.872142 0
+ L3 26624 0.000000 321.537269 28.872142 0 322.235691 30.199624 0
+ L3 26624 0.000000 322.235691 30.199624 0 324.634725 27.242491 0
+ L3 26624 0.000000 325.333147 28.569973 0 321.537269 28.872142 0
+ L3 26624 0.000000 342.692073 3.137474 0 344.559723 0.177427 0
+ L3 26624 0.000000 344.559723 0.177427 0 343.291132 -0.622995 0
+ L3 26624 0.000000 343.291132 -0.622995 0 341.423481 2.337052 0
+ L3 26624 0.000000 341.423481 2.337052 0 342.692073 3.137474 0
+ L3 26624 0.000000 342.692073 3.137474 0 343.291132 -0.622995 0
+ L3 26624 0.000000 344.559723 0.177427 0 341.423481 2.337052 0
+ L3 26624 0.000000 301.389673 57.543502 0 297.730639 41.372895 0
+ L3 26624 0.000000 305.106578 37.492226 0 312.553399 51.668874 0
+ L3 26624 0.000000 306.434060 36.793804 0 313.881338 50.971324 0
+ L3 26624 0.000000 316.168924 31.672044 0 323.615744 45.848693 0
+ L3 26624 0.000000 317.496406 30.973622 0 324.943684 45.151142 0
+ L3 26624 0.000000 336.107841 39.277353 0 324.853743 27.102740 0
+ L3 26624 0.000000 331.504127 18.017609 0 345.041587 26.571536 0
+ L3 26624 0.000000 332.304549 16.749017 0 345.842841 25.303470 0
+ L3 26624 0.000000 338.310831 37.240976 0 327.056711 25.066337 0
+ L3 26624 0.000000 338.174309 7.446011 0 351.711769 15.999939 0
+ L3 26624 0.000000 338.974731 6.177419 0 352.513023 14.731872 0
+ L3 26624 0.000000 359.244572 4.062944 0 343.410931 -0.853532 0
+ L3 26624 0.000000 300.358088 59.781186 0 295.822774 39.737982 0
+ L3 26624 0.000000 234.083768 61.323148 0 237.549706 61.810254 0
+ L3 26624 0.000000 237.549706 61.810254 0 238.036812 58.344316 0
+ L3 26624 0.000000 238.036812 58.344316 0 234.570874 57.857210 0
+ L3 26624 0.000000 234.570874 57.857210 0 234.083768 61.323148 0
+ L3 26624 0.000000 234.083768 61.323148 0 238.036812 58.344316 0
+ L3 26624 0.000000 237.549706 61.810254 0 234.570874 57.857210 0
+ L3 26624 0.000000 236.797643 42.012921 0 240.263581 42.500026 0
+ L3 26624 0.000000 240.263581 42.500026 0 240.472341 41.014624 0
+ L3 26624 0.000000 240.472341 41.014624 0 237.006403 40.527518 0
+ L3 26624 0.000000 237.006403 40.527518 0 236.797643 42.012921 0
+ L3 26624 0.000000 236.797643 42.012921 0 240.472341 41.014624 0
+ L3 26624 0.000000 240.263581 42.500026 0 237.006403 40.527518 0
+ L3 26624 0.000000 294.335538 58.618220 0 297.830547 58.431384 0
+ L3 26624 0.000000 297.830547 58.431384 0 297.643711 54.936375 0
+ L3 26624 0.000000 297.643711 54.936375 0 294.148702 55.123210 0
+ L3 26624 0.000000 294.148702 55.123210 0 294.335538 58.618220 0
+ L3 26624 0.000000 294.335538 58.618220 0 297.643711 54.936375 0
+ L3 26624 0.000000 297.830547 58.431384 0 294.148702 55.123210 0
+ L3 26624 0.000000 291.124268 44.737982 0 294.624268 44.737982 0
+ L3 26624 0.000000 294.624268 44.737982 0 294.624268 41.237982 0
+ L3 26624 0.000000 294.624268 41.237982 0 291.124268 41.237982 0
+ L3 26624 0.000000 291.124268 41.237982 0 291.124268 44.737982 0
+ L3 26624 0.000000 291.124268 44.737982 0 294.624268 41.237982 0
+ L3 26624 0.000000 294.624268 44.737982 0 291.124268 41.237982 0
+ L3 26624 0.000000 63.757660 37.385375 0 64.244766 33.919436 0
+ L3 26624 0.000000 64.244766 33.919436 0 62.759364 33.710677 0
+ L3 26624 0.000000 62.272258 37.176615 0 64.244766 33.919436 0
+ L3 26624 0.000000 63.757660 37.385375 0 62.759364 33.710677 0
+ L3 26624 0.000000 62.272258 37.176615 0 63.757660 37.385375 0
+ L3 26624 0.000000 1.370772 28.617469 0 239.035108 62.019013 0
+ L3 26624 0.000000 338.536294 39.694660 0 325.173934 25.239340 0
+ L3 26624 0.000000 361.556292 3.210104 0 342.756524 -2.627379 0
+ L3 26624 0.000000 327.272599 21.913157 0 325.173934 25.239340 0
+ L3 26624 0.000000 326.228053 26.379680 0 329.046220 21.913157 0
+ L3 26624 0.000000 342.756524 -2.627379 0 341.654742 -0.881160 0
+ L3 26624 0.000000 4.502166 6.336438 0 123.334335 23.037210 0
+ L3 26624 0.000000 4.293407 7.821840 0 123.125575 24.522612 0
+ L3 26624 0.000000 241.955692 41.237982 0 238.826348 63.504416 0
+ L3 26624 0.000000 119.994180 46.803643 0 123.125575 24.522612 0
+ L3 26624 0.000000 181.104426 53.877387 0 184.570364 54.364493 0
+ L3 26624 0.000000 184.570364 54.364493 0 185.057470 50.898555 0
+ L3 26624 0.000000 185.057470 50.898555 0 181.591532 50.411449 0
+ L3 26624 0.000000 181.591532 50.411449 0 181.104426 53.877387 0
+ L3 26624 0.000000 181.104426 53.877387 0 185.057470 50.898555 0
+ L3 26624 0.000000 184.570364 54.364493 0 181.591532 50.411449 0
+ L3 26624 0.000000 183.818302 34.567160 0 187.284240 35.054266 0
+ L3 26624 0.000000 187.284240 35.054266 0 187.492999 33.568863 0
+ L3 26624 0.000000 187.492999 33.568863 0 184.027061 33.081758 0
+ L3 26624 0.000000 184.027061 33.081758 0 183.818302 34.567160 0
+ L3 26624 0.000000 183.818302 34.567160 0 187.492999 33.568863 0
+ L3 26624 0.000000 187.284240 35.054266 0 184.027061 33.081758 0
+ L3 26624 0.000000 123.334335 23.037210 0 242.166503 39.737982 0
+ L3 26624 0.000000 123.125575 24.522612 0 241.957743 41.223384 0
+ L3 26624 0.000000 242.166503 39.737982 0 295.822774 39.737982 0
+ L3 26624 0.000000 241.955692 41.237982 0 296.162189 41.237982 0
+ L3 26624 0.000000 329.046220 21.913157 0 344.239588 -2.166875 0
+ L3 26624 0.000000 342.756524 -2.627379 0 327.272599 21.913157 0
+ L3 26624 0.000000 295.822774 42.376671 0 326.228053 26.379680 0
+ L3 26624 0.000000 325.173934 25.239340 0 295.822774 40.681733 0
+ END$SEGS
+STRUCTURE 643 9 0 0 0 Fn3 2 354.043637 399.966928 0 0.550904 "Custom High Siding Bench Custom1"
+ D 0.000000 0.000000
+ L3 26624 0.270842 106.757424 99.722260 0 109.496553 97.543459 0
+ L3 26624 0.270842 109.496553 97.543459 0 108.562781 96.369546 0
+ L3 26624 0.270842 108.562781 96.369546 0 105.823652 98.548348 0
+ L3 26624 0.270842 105.823652 98.548348 0 106.757424 99.722260 0
+ L3 26624 0.270842 106.757424 99.722260 0 108.562781 96.369546 0
+ L3 26624 0.270842 109.496553 97.543459 0 105.823652 98.548348 0
+ L3 26624 0.270842 106.517284 101.829944 0 96.565614 89.318980 0
+ L3 26624 0.270842 106.757424 99.722260 0 98.672183 89.557719 0
+ L3 26624 0.270842 104.230545 101.364702 0 96.175059 91.237567 0
+ L3 26624 0.270842 98.672183 89.557719 0 100.850984 92.296847 0
+ L3 26624 0.270842 100.850984 92.296847 0 103.590113 90.118046 0
+ L3 26624 0.270842 103.590113 90.118046 0 101.411311 87.378917 0
+ L3 26624 0.270842 101.411311 87.378917 0 98.672183 89.557719 0
+ L3 26624 0.270842 100.850984 92.296847 0 101.411311 87.378917 0
+ L3 26624 0.270842 103.590113 90.118046 0 98.672183 89.557719 0
+ L3 26624 0.270842 209.337996 -0.386512 0 96.564499 89.317578 0
+ L3 26624 0.270842 210.271768 0.787401 0 97.498271 90.491491 0
+ L3 26624 0.270842 209.953878 2.797340 0 212.132680 5.536469 0
+ L3 26624 0.270842 209.097856 1.721172 0 212.251881 5.686326 0
+ L3 26624 0.270842 106.502879 101.811834 0 61.813686 126.076086 0
+ L3 26624 0.270842 105.554702 100.619813 0 61.097948 124.757861 0
+ L3 26624 0.270842 97.498271 90.491491 0 55.059146 113.588010 0
+ L3 26624 0.270842 96.550094 89.299469 0 54.342597 112.268291 0
+ L3 26624 0.270842 61.114644 124.604050 0 6.319798 130.068021 0
+ L3 26624 0.270842 61.891079 126.034065 0 6.476593 131.559825 0
+ L3 26624 0.270842 61.891079 126.034065 0 54.399933 112.237090 0
+ L3 26624 0.270842 172.255049 49.539764 0 106.517284 101.829944 0
+ L3 26624 0.270842 171.321277 48.365852 0 105.583512 100.656032 0
+ L3 26624 0.270842 167.408236 51.478425 0 170.147365 49.299624 0
+ L3 26624 0.270842 170.147365 49.299624 0 169.213593 48.125712 0
+ L3 26624 0.270842 169.213593 48.125712 0 166.474464 50.304513 0
+ L3 26624 0.270842 166.474464 50.304513 0 167.408236 51.478425 0
+ L3 26624 0.270842 167.408236 51.478425 0 169.213593 48.125712 0
+ L3 26624 0.270842 170.147365 49.299624 0 166.474464 50.304513 0
+ L3 26624 0.270842 161.501796 44.053013 0 164.240925 41.874212 0
+ L3 26624 0.270842 164.240925 41.874212 0 162.062124 39.135083 0
+ L3 26624 0.270842 162.062124 39.135083 0 159.322995 41.313884 0
+ L3 26624 0.270842 159.322995 41.313884 0 161.501796 44.053013 0
+ L3 26624 0.270842 161.501796 44.053013 0 162.062124 39.135083 0
+ L3 26624 0.270842 164.240925 41.874212 0 159.322995 41.313884 0
+ L3 26624 0.270842 170.373026 49.583320 0 162.062124 39.135083 0
+ L3 26624 0.270842 172.374492 47.280344 0 164.409948 37.267539 0
+ L3 26624 0.270842 172.255049 49.539764 0 162.303379 37.028801 0
+ L3 26624 0.270842 213.299711 4.594047 0 171.321277 48.365852 0
+ L3 26624 0.270842 209.422477 -0.280305 0 214.319771 5.876438 0
+ L3 26624 0.270842 214.319771 5.876438 0 172.255049 49.539764 0
+ L3 26624 0.270842 6.319798 130.068021 0 9.800624 129.702171 0
+ L3 26624 0.270842 9.800624 129.702171 0 9.434775 126.221344 0
+ L3 26624 0.270842 9.434775 126.221344 0 5.953948 126.587194 0
+ L3 26624 0.270842 6.319798 130.068021 0 9.434775 126.221344 0
+ L3 26624 0.270842 9.800624 129.702171 0 5.953948 126.587194 0
+ L3 26624 0.270842 5.953810 126.585884 0 6.319798 130.068021 0
+ L3 26624 0.270842 5.953810 126.585884 0 6.319798 130.068021 0
+ L3 26624 0.270842 5.971522 126.569542 0 55.059146 113.588010 0
+ L3 26624 0.270842 5.793952 125.064935 0 54.675645 112.137863 0
+ L3 26624 0.270842 5.793952 125.064935 0 6.476593 131.559825 0
+ L3 26624 0.270842 209.097856 1.721172 0 206.358727 3.899974 0
+ L3 26624 0.270842 206.358727 3.899974 0 207.292499 5.073886 0
+ L3 26624 0.270842 210.031628 2.895085 0 209.097856 1.721172 0
+ L3 26624 0.270842 210.080718 2.922560 0 206.358727 3.899974 0
+ L3 26624 0.270842 207.292499 5.073886 0 210.080718 2.922560 0
+ L3 26624 0.270842 207.292499 5.073886 0 209.097856 1.721172 0
+ L3 26624 0.270842 211.269019 4.484939 0 208.529890 6.663740 0
+ L3 26624 0.270842 208.529890 6.663740 0 209.463662 7.837652 0
+ L3 26624 0.270842 212.202791 5.658851 0 211.269019 4.484939 0
+ L3 26624 0.270842 212.251881 5.686326 0 208.529890 6.663740 0
+ L3 26624 0.270842 209.463662 7.837652 0 212.251881 5.686326 0
+ L3 26624 0.270842 209.463662 7.837652 0 211.269019 4.484939 0
+ L3 26624 0.270842 167.149077 35.088738 0 164.409948 37.267539 0
+ L3 26624 0.270842 164.409948 37.267539 0 165.343720 38.441451 0
+ L3 26624 0.270842 168.082849 36.262650 0 167.149077 35.088738 0
+ L3 26624 0.270842 168.131939 36.290126 0 164.409948 37.267539 0
+ L3 26624 0.270842 165.343720 38.441451 0 168.131939 36.290126 0
+ L3 26624 0.270842 165.343720 38.441451 0 167.149077 35.088738 0
+ END$SEGS
+STRUCTURE 644 9 0 0 0 Fn3 2 615.166667 379.562500 0 0.000000 "Custom Ophir Bench Custom1"
+ D 0.000000 0.000000
+ L3 26624 0.270842 40.084026 96.397649 0 34.750693 48.397649 0
+ L3 26624 0.270842 30.084026 12.397649 0 34.750693 48.397649 0
+ L3 26624 0.270842 62.084026 12.397649 0 30.084026 12.397649 0
+ L3 26624 0.270842 24.084026 138.397649 0 40.084026 96.397649 0
+ L3 26624 0.270842 68.084026 138.397649 0 24.084026 138.397649 0
+ L3 26624 0.270842 34.750693 48.397649 0 88.084026 48.397649 0
+ L3 26624 0.270842 62.084026 12.397649 0 88.084026 48.397649 0
+ L3 26624 0.270842 88.084026 96.397649 0 40.084026 96.397649 0
+ L3 26624 0.270842 88.084026 48.397649 0 88.084026 96.397649 0
+ L3 26624 0.270842 88.084026 96.397649 0 68.084026 138.397649 0
+ L3 26624 0.270842 86.584026 48.397649 0 86.584026 96.397649 0
+ L3 26624 0.270842 86.584026 53.397649 0 86.584026 49.897649 0
+ L3 26624 0.270842 86.584026 49.897649 0 85.084026 49.897649 0
+ L3 26624 0.270842 85.084026 49.897649 0 85.084026 53.397649 0
+ L3 26624 0.270842 85.084026 53.397649 0 86.584026 53.397649 0
+ L3 26624 0.270842 86.584026 53.397649 0 85.084026 49.897649 0
+ L3 26624 0.270842 86.584026 49.897649 0 85.084026 53.397649 0
+ L3 26624 0.270842 86.584026 94.897649 0 86.584026 91.397649 0
+ L3 26624 0.270842 86.584026 91.397649 0 85.084026 91.397649 0
+ L3 26624 0.270842 85.084026 91.397649 0 85.084026 94.897649 0
+ L3 26624 0.270842 85.084026 94.897649 0 86.584026 94.897649 0
+ L3 26624 0.270842 86.584026 94.897649 0 85.084026 91.397649 0
+ L3 26624 0.270842 86.584026 91.397649 0 85.084026 94.897649 0
+ L3 26624 0.270842 83.896760 101.702570 0 85.401343 98.542471 0
+ L3 26624 0.270842 85.401343 98.542471 0 84.047014 97.897649 0
+ L3 26624 0.270842 84.047014 97.897649 0 82.542431 101.057749 0
+ L3 26624 0.270842 82.542431 101.057749 0 83.896760 101.702570 0
+ L3 26624 0.270842 83.896760 101.702570 0 84.047014 97.897649 0
+ L3 26624 0.270842 85.401343 98.542471 0 82.542431 101.057749 0
+ L3 26624 0.270842 67.137148 136.897755 0 68.641731 133.737655 0
+ L3 26624 0.270842 68.641731 133.737655 0 67.287402 133.092834 0
+ L3 26624 0.270842 67.287402 133.092834 0 65.782819 136.252934 0
+ L3 26624 0.270842 65.782819 136.252934 0 67.137148 136.897755 0
+ L3 26624 0.270842 67.137148 136.897755 0 67.287402 133.092834 0
+ L3 26624 0.270842 68.641731 133.737655 0 65.782819 136.252934 0
+ L3 26624 0.270842 41.426590 94.897649 0 44.926590 94.897649 0
+ L3 26624 0.270842 44.926590 94.897649 0 44.926590 91.397649 0
+ L3 26624 0.270842 44.926590 91.397649 0 41.426590 91.397649 0
+ L3 26624 0.270842 41.426590 91.397649 0 41.426590 94.897649 0
+ L3 26624 0.270842 41.426590 94.897649 0 44.926590 91.397649 0
+ L3 26624 0.270842 44.926590 94.897649 0 41.426590 91.397649 0
+ L3 26624 0.270842 36.815479 53.397649 0 40.315479 53.397649 0
+ L3 26624 0.270842 40.315479 53.397649 0 40.315479 49.897649 0
+ L3 26624 0.270842 40.315479 49.897649 0 36.815479 49.897649 0
+ L3 26624 0.270842 36.815479 49.897649 0 36.815479 53.397649 0
+ L3 26624 0.270842 36.815479 53.397649 0 40.315479 49.897649 0
+ L3 26624 0.270842 40.315479 53.397649 0 36.815479 49.897649 0
+ L3 26624 0.270842 32.179910 17.397649 0 35.679910 17.397649 0
+ L3 26624 0.270842 35.679910 17.397649 0 35.679910 13.897649 0
+ L3 26624 0.270842 35.679910 13.897649 0 32.179910 13.897649 0
+ L3 26624 0.270842 32.179910 13.897649 0 32.179910 17.397649 0
+ L3 26624 0.270842 32.179910 17.397649 0 35.679910 13.897649 0
+ L3 26624 0.270842 35.679910 17.397649 0 32.179910 13.897649 0
+ L3 26624 0.270842 27.593946 136.897649 0 31.093946 136.897649 0
+ L3 26624 0.270842 31.093946 136.897649 0 31.093946 133.397649 0
+ L3 26624 0.270842 31.093946 133.397649 0 27.593946 133.397649 0
+ L3 26624 0.270842 27.593946 133.397649 0 27.593946 136.897649 0
+ L3 26624 0.270842 27.593946 136.897649 0 31.093946 133.397649 0
+ L3 26624 0.270842 31.093946 136.897649 0 27.593946 133.397649 0
+ L3 26624 0.270842 63.366392 16.734943 0 61.317059 13.897649 0
+ L3 26624 0.270842 61.317059 13.897649 0 60.101076 14.775935 0
+ L3 26624 0.270842 60.101076 14.775935 0 62.150409 17.613228 0
+ L3 26624 0.270842 62.150409 17.613228 0 63.366392 16.734943 0
+ L3 26624 0.270842 63.366392 16.734943 0 60.101076 14.775935 0
+ L3 26624 0.270842 61.317059 13.897649 0 62.150409 17.613228 0
+ L3 26624 0.270842 84.516197 46.019364 0 82.466864 43.182070 0
+ L3 26624 0.270842 82.466864 43.182070 0 81.250881 44.060356 0
+ L3 26624 0.270842 81.250881 44.060356 0 83.300214 46.897649 0
+ L3 26624 0.270842 83.300214 46.897649 0 84.516197 46.019364 0
+ L3 26624 0.270842 84.516197 46.019364 0 81.250881 44.060356 0
+ L3 26624 0.270842 82.466864 43.182070 0 83.300214 46.897649 0
+ L3 26624 0.270842 60.233726 12.397649 0 86.233726 48.397649 0
+ L3 26624 0.270842 61.317059 13.897649 0 31.791021 13.897649 0
+ L3 26624 0.270842 36.068799 46.897649 0 85.150392 46.897649 0
+ L3 26624 0.270842 36.457688 49.897649 0 86.584026 49.897649 0
+ L3 26624 0.270842 31.596576 12.397649 0 36.263243 48.397649 0
+ L3 26624 0.270842 67.136926 136.897649 0 26.260612 136.897649 0
+ L3 26624 0.270842 86.422640 96.397649 0 66.422640 138.397649 0
+ L3 26624 0.270842 41.426590 94.897649 0 36.241518 48.232002 0
+ L3 26624 0.270842 25.689184 138.397649 0 41.117755 97.897649 0
+ L3 26624 0.270842 86.584026 94.897649 0 39.917359 94.897649 0
+ L3 26624 0.270842 85.708354 97.897649 0 39.512598 97.897649 0
+ L3 26624 0.270842 -1.242367 150.333532 0 4.376732 164.241290 0
+ L3 26624 0.270842 0.671348 151.065940 0 5.204732 162.286461 0
+ L3 26624 0.270842 64.095025 138.397649 0 3.816151 162.859945 0
+ L3 26624 0.270842 68.084026 138.397649 0 4.376732 164.241290 0
+ L3 26624 0.270842 24.084026 138.397649 0 -1.242367 150.333532 0
+ L3 26624 0.270842 27.491798 138.397649 0 -0.684965 151.706577 0
+ L3 26624 0.270842 9.742623 5.407015 0 13.242623 5.407015 0
+ L3 26624 0.270842 13.242623 5.407015 0 13.242623 1.907015 0
+ L3 26624 0.270842 13.242623 1.907015 0 9.742623 1.907015 0
+ L3 26624 0.270842 9.742623 1.907015 0 9.742623 5.407015 0
+ L3 26624 0.270842 9.742623 5.407015 0 13.242623 1.907015 0
+ L3 26624 0.270842 13.242623 5.407015 0 9.742623 1.907015 0
+ L3 26624 0.270842 33.000000 12.397649 0 33.000000 11.604159 0
+ L3 26624 0.270842 32.297255 1.907015 0 32.597255 0.407015 0
+ L3 26624 0.270842 28.797255 3.407015 0 32.297255 3.407015 0
+ L3 26624 0.270842 32.297255 3.407015 0 32.297255 1.907015 0
+ L3 26624 0.270842 32.297255 1.907015 0 28.797255 1.907015 0
+ L3 26624 0.270842 28.797255 1.907015 0 28.797255 3.407015 0
+ L3 26624 0.270842 28.797255 3.407015 0 32.297255 1.907015 0
+ L3 26624 0.270842 32.297255 3.407015 0 28.797255 1.907015 0
+ L3 26624 0.270842 8.242623 0.407015 0 32.597255 0.407015 0
+ L3 26624 0.270842 9.742623 1.907015 0 32.297255 1.907015 0
+ L3 26624 0.270842 32.597255 0.407015 0 62.084026 12.397649 0
+ L3 26624 0.270842 32.297255 1.907015 0 58.184026 12.397649 0
+ L3 26624 0.270842 8.242623 6.875000 0 9.742623 6.875000 0
+ L3 26624 0.270842 8.242623 6.875000 0 8.242623 0.407015 0
+ L3 26624 0.270842 9.742623 6.875000 0 9.742623 0.407015 0
+ L3 26624 0.270842 10.242566 5.407015 0 33.000000 11.604159 0
+ L3 26624 0.270842 9.742623 6.875000 0 30.084026 12.397649 0
+ END$SEGS
+BZRLIN 645 0 128 16777215 0.200000 Fn3 2 510.000000 336.000000 513.875000 335.375000 512.250000 341.125000 516.000000 339.000000 1 0.000000 0.000000
+ A3 16777215 0.200000 -2.841070 510.524776 338.792184 0 165.907295 24.736975
+ A3 16777215 0.200000 -2.062339 510.649535 338.019481 0 129.349589 34.692034
+ A3 16777215 0.200000 -5.472028 507.959625 340.115446 0 114.541286 13.920916
+ A3 16777215 0.200000 10.087405 522.055650 333.528501 0 295.320186 5.406247
+ A3 16777215 0.200000 1.774601 514.932044 337.814310 0 299.292090 29.995747
+ A3 16777215 0.200000 1.268850 514.597337 338.207218 0 333.223728 37.098719
+ A3 16777215 0.200000 3.549226 514.150073 335.971011 0 10.957272 20.456842
+ END$SEGS
+BZRLIN 646 0 128 16777215 0.200000 Fn3 2 507.259246 335.820342 507.932233 339.009713 512.716290 336.932233 511.823851 340.736070 1 0.000000 0.000000
+ A3 16777215 0.200000 2.284113 509.506358 335.410880 0 280.326961 50.180938
+ A3 16777215 0.200000 5.800321 511.156661 332.305469 0 331.420103 13.867628
+ A3 16777215 0.200000 -13.839147 505.982516 351.250688 0 160.257203 4.231132
+ A3 16777215 0.200000 -2.338246 509.910791 340.440886 0 136.333247 25.047089
+ A3 16777215 0.200000 -1.428237 510.492599 339.736117 0 98.997952 34.696467
+ A3 16777215 0.200000 -3.104964 508.826087 339.927237 0 74.900454 22.771095
+ END$SEGS
+BZRLIN 647 0 128 16777215 0.106667 Fn3 2 500.572070 333.206694 504.085330 331.456479 504.245724 337.429535 507.193116 334.284538 1 0.000000 0.000000
+ A3 16777215 0.106667 -2.841070 501.904261 335.716065 0 183.226243 24.736977
+ A3 16777215 0.106667 -2.062339 501.793337 334.941256 0 146.668532 34.692038
+ A3 16777215 0.106667 -5.472028 499.849330 337.742956 0 131.860229 13.920916
+ A3 16777215 0.106667 10.087403 511.345403 327.258395 0 312.639129 5.406247
+ A3 16777215 0.106667 1.774601 505.820609 333.470525 0 316.611035 29.995746
+ A3 16777215 0.106667 1.268850 505.618042 333.945258 0 350.542671 37.098716
+ A3 16777215 0.106667 3.549226 504.525359 331.943581 0 28.276211 20.456842
+ END$SEGS
+BZRLIN 648 0 128 16777215 0.120000 Fn3 2 495.353480 327.671259 498.767583 325.734728 499.248811 331.690528 502.022891 328.391648 1 0.000000 0.000000
+ A3 16777215 0.120000 -2.841070 496.818630 330.105394 0 186.307512 24.736977
+ A3 16777215 0.120000 -2.062339 496.666219 329.337667 0 149.749799 34.692040
+ A3 16777215 0.120000 -5.472028 494.875620 332.239812 0 134.941495 13.920917
+ A3 16777215 0.120000 10.087405 505.791504 321.152466 0 315.720395 5.406247
+ A3 16777215 0.120000 1.774601 500.608613 327.652587 0 319.692300 29.995748
+ A3 16777215 0.120000 1.268850 500.431857 328.137523 0 353.623939 37.098720
+ A3 16777215 0.120000 3.549226 499.233158 326.197474 0 31.357483 20.456842
+ END$SEGS
+BZRLIN 649 0 128 16777215 0.120000 Fn3 2 505.125000 330.124999 505.797986 333.314370 510.582043 331.236890 509.689604 335.040727 1 0.000000 0.000000
+ A3 16777215 0.120000 2.284112 507.372111 329.715538 0 280.326941 50.180950
+ A3 16777215 0.120000 5.800319 509.022413 326.610128 0 331.420097 13.867633
+ A3 16777215 0.120000 -13.839148 503.848268 345.555345 0 160.257201 4.231132
+ A3 16777215 0.120000 -2.338246 507.776545 334.745543 0 136.333246 25.047089
+ A3 16777215 0.120000 -1.428238 508.358352 334.040774 0 98.997952 34.696466
+ A3 16777215 0.120000 -3.104964 506.691840 334.231894 0 74.900454 22.771095
+ END$SEGS
+BZRLIN 650 0 128 16777215 0.106667 Fn3 2 492.562627 331.236817 495.059769 333.331878 497.543530 328.745588 499.187648 332.289950 1 0.000000 0.000000
+ A3 16777215 0.106667 2.284112 494.078640 329.528347 0 318.415706 50.180952
+ A3 16777215 0.106667 5.800318 493.461851 326.066175 0 9.508865 13.867635
+ A3 16777215 0.106667 -13.839146 501.076464 344.168953 0 198.345970 4.231132
+ A3 16777215 0.106667 -2.338246 497.499869 333.237755 0 174.422013 25.047091
+ A3 16777215 0.106667 -1.428238 497.523025 332.324157 0 137.086721 34.696464
+ A3 16777215 0.106667 -3.104965 496.329285 333.502619 0 112.989227 22.771092
+ END$SEGS
+BZRLIN 651 0 128 16777215 0.200000 Fn3 2 512.687500 335.124999 513.360486 338.314370 518.144543 336.236890 517.252104 340.040727 1 0.000000 0.000000
+ A3 16777215 0.200000 2.284112 514.934611 334.715538 0 280.326941 50.180950
+ A3 16777215 0.200000 5.800319 516.584913 331.610128 0 331.420097 13.867633
+ A3 16777215 0.200000 -13.839148 511.410768 350.555345 0 160.257201 4.231132
+ A3 16777215 0.200000 -2.338246 515.339045 339.745543 0 136.333246 25.047089
+ A3 16777215 0.200000 -1.428238 515.920852 339.040774 0 98.997952 34.696466
+ A3 16777215 0.200000 -3.104964 514.254340 339.231894 0 74.900454 22.771095
+ END$SEGS
+BZRLIN 652 0 128 16777215 0.200000 Fn3 2 508.437500 339.187500 512.312500 338.562500 510.687500 344.312500 514.437500 342.187500 1 0.000000 0.000000
+ A3 16777215 0.200000 -2.841070 508.962276 341.979684 0 165.907295 24.736975
+ A3 16777215 0.200000 -2.062339 509.087035 341.206981 0 129.349589 34.692034
+ A3 16777215 0.200000 -5.472028 506.397125 343.302946 0 114.541286 13.920916
+ A3 16777215 0.200000 10.087405 520.493150 336.716001 0 295.320186 5.406247
+ A3 16777215 0.200000 1.774601 513.369544 341.001810 0 299.292090 29.995747
+ A3 16777215 0.200000 1.268850 513.034837 341.394718 0 333.223728 37.098719
+ A3 16777215 0.200000 3.549226 512.587573 339.158511 0 10.957272 20.456842
+ END$SEGS
+DRAW 653 0 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.146667 1.000000 514.750000 344.773576 0 0.000000 360.000000
+ END$SEGS
+DRAW 654 0 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.226667 1.000000 515.500000 344.374986 0 0.000000 360.000000
+ END$SEGS
+DRAW 655 0 3 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.160000 1.000000 516.250000 343.124986 0 0.000000 360.000000
+ END$SEGS
+DRAW 656 0 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.133333 1.000000 517.250000 342.374986 0 0.000000 360.000000
+ END$SEGS
+DRAW 657 0 3 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.146667 1.000000 517.750000 341.249986 0 0.000000 360.000000
+ END$SEGS
+DRAW 658 0 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.120000 1.000000 518.500000 340.624986 0 0.000000 360.000000
+ END$SEGS
+DRAW 659 0 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.146667 1.000000 518.959002 341.086276 0 181.693440 360.000000
+ END$SEGS
+DRAW 660 0 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.226667 1.000000 518.221109 341.506857 0 181.693440 360.000000
+ END$SEGS
+DRAW 661 0 3 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.160000 1.000000 517.508376 342.778475 0 181.693440 360.000000
+ END$SEGS
+DRAW 662 0 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.133333 1.000000 516.530977 343.557699 0 181.693440 360.000000
+ END$SEGS
+DRAW 663 0 3 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.146667 1.000000 516.064441 344.696984 0 181.693440 360.000000
+ END$SEGS
+DRAW 664 0 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.120000 1.000000 515.333238 345.343875 0 181.693440 360.000000
+ END$SEGS
+DRAW 665 0 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.146667 1.000000 516.510803 345.277757 0 0.000000 360.000000
+ END$SEGS
+DRAW 666 0 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.226667 1.000000 517.260803 344.879167 0 0.000000 360.000000
+ END$SEGS
+DRAW 667 0 3 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.160000 1.000000 518.010803 343.629167 0 0.000000 360.000000
+ END$SEGS
+DRAW 668 0 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.133333 1.000000 519.010803 342.879167 0 0.000000 360.000000
+ END$SEGS
+DRAW 669 9 0 0 0 0.000000 0.000000 0 0.000000
+ M3 0 0.000000 493.846493 368.600636 0 564.000000 397.750000 0 -1
+ END$SEGS
+DRAW 670 9 0 0 0 0.000000 0.000000 0 0.000000
+ M3 0 0.000000 473.290275 405.663138 0 505.082809 444.852075 0 -1
+ END$SEGS
+DRAW 671 9 0 0 0 0.000000 0.000000 0 0.000000
+ M3 0 0.000000 360.000001 433.750000 0 360.000000 525.000000 0 -1
+ END$SEGS
+DRAW 672 9 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 0.083333 300.000000 600.000000 0 299.154881 596.526409 0
+ END$SEGS
+BZRLIN 673 9 128 16777215 0.106667 Fn3 2 449.342831 331.518709 452.524107 329.219637 453.655232 335.086807 456.051018 331.503745 1 0.000000 0.000000
+ A3 16777215 0.106667 -2.841070 451.065951 333.777588 0 192.600158 24.736977
+ A3 16777215 0.106667 -2.062339 450.830310 333.031193 0 156.042450 34.692036
+ A3 16777215 0.106667 -5.472028 449.368594 336.112113 0 141.234147 13.920916
+ A3 16777215 0.106667 10.087406 459.003463 323.895113 0 322.013047 5.406246
+ A3 16777215 0.106667 1.774601 454.564256 330.924152 0 325.984950 29.995747
+ A3 16777215 0.106667 1.268850 454.441717 331.425539 0 359.916588 37.098722
+ A3 16777215 0.106667 3.549226 453.037598 329.628565 0 37.650135 20.456843
+ END$SEGS
+BZRLIN 674 9 128 16777215 0.120000 Fn3 2 443.292334 326.907180 446.345431 324.440430 447.790294 330.238318 449.990019 326.531656 1 0.000000 0.000000
+ A3 16777215 0.120000 -2.841071 445.134384 329.070173 0 195.681433 24.736973
+ A3 16777215 0.120000 -2.062339 444.858963 328.337521 0 159.123721 34.692040
+ A3 16777215 0.120000 -5.472026 443.564967 331.492557 0 144.315412 13.920920
+ A3 16777215 0.120000 10.087403 452.529212 318.775326 0 325.094312 5.406248
+ A3 16777215 0.120000 1.774600 448.474251 326.032818 0 329.066217 29.995755
+ A3 16777215 0.120000 1.268850 448.378840 326.540067 0 2.997865 37.098720
+ A3 16777215 0.120000 3.549228 446.880158 324.821165 0 40.731408 20.456837
+ END$SEGS
+BZRLIN 675 9 128 16777215 0.120000 Fn3 2 453.333027 327.736599 454.516501 330.773767 458.898300 327.944817 458.637335 331.843216 1 0.000000 0.000000
+ A3 16777215 0.120000 2.284112 455.483440 326.966603 0 289.700858 50.180943
+ A3 16777215 0.120000 5.800317 456.605905 323.633868 0 340.794008 13.867636
+ A3 16777215 0.120000 -13.839157 454.586588 343.168854 0 169.631120 4.231129
+ A3 16777215 0.120000 -2.338246 456.701743 331.863567 0 145.707167 25.047087
+ A3 16777215 0.120000 -1.428237 457.160991 331.073447 0 108.371869 34.696470
+ A3 16777215 0.120000 -3.104963 455.547862 331.533450 0 84.274368 22.771097
+ END$SEGS
+BZRLIN 676 9 128 16777215 0.106667 Fn3 2 441.119496 330.879690 443.924529 332.540048 445.628122 327.610454 447.827580 330.839697 1 0.000000 0.000000
+ A3 16777215 0.106667 2.284112 442.336995 328.947111 0 327.789619 50.180958
+ A3 16777215 0.106667 5.800316 441.164534 325.631634 0 18.882785 13.867638
+ A3 16777215 0.106667 -13.839148 451.625990 342.252431 0 207.719894 4.231132
+ A3 16777215 0.106667 -2.338246 446.316715 332.049746 0 183.795938 25.047089
+ A3 16777215 0.106667 -1.428238 446.190758 331.144575 0 146.460647 34.696463
+ A3 16777215 0.106667 -3.104965 445.204902 332.501734 0 122.363152 22.771093
+ END$SEGS
+BZRLIN 677 9 128 16777215 0.106667 Fn3 2 469.174097 332.210184 471.961101 329.446337 473.986883 335.067666 475.799096 331.156910 1 0.000000 0.000000
+ A3 16777215 0.106667 -2.841068 471.226139 334.175074 0 201.505915 24.736986
+ A3 16777215 0.106667 -2.062338 470.877790 333.474156 0 164.948188 34.692052
+ A3 16777215 0.106667 -5.472028 469.910650 336.744223 0 150.139887 13.920914
+ A3 16777215 0.106667 10.087402 477.538056 323.182942 0 330.918788 5.406249
+ A3 16777215 0.106667 1.774602 474.240530 330.814468 0 334.890696 29.995739
+ A3 16777215 0.106667 1.268851 474.197088 331.328781 0 8.822322 37.098709
+ A3 16777215 0.106667 3.549226 472.531709 329.770841 0 46.555857 20.456846
+ END$SEGS
+BZRLIN 678 9 128 16777215 0.120000 Fn3 2 461.482633 329.840923 464.117047 326.931263 466.442059 332.435576 468.041438 328.433063 1 0.000000 0.000000
+ A3 16777215 0.120000 -2.841071 463.637327 331.692673 0 204.587173 24.736974
+ A3 16777215 0.120000 -2.062339 463.251805 331.011491 0 168.029457 34.692044
+ A3 16777215 0.120000 -5.472025 462.461839 334.328813 0 153.221144 13.920925
+ A3 16777215 0.120000 10.087414 469.349274 320.377139 0 334.000045 5.406242
+ A3 16777215 0.120000 1.774601 466.466720 328.174893 0 337.971942 29.995750
+ A3 16777215 0.120000 1.268849 466.450986 328.690799 0 11.903587 37.098737
+ A3 16777215 0.120000 3.549225 464.704271 327.224630 0 49.637148 20.456845
+ END$SEGS
+BZRLIN 679 9 128 16777215 0.120000 Fn3 2 471.530681 329.105950 473.170069 331.923289 477.061095 328.450100 477.406785 332.341902 1 0.000000 0.000000
+ A3 16777215 0.120000 2.284111 473.535966 328.012334 0 298.606602 50.180959
+ A3 16777215 0.120000 5.800320 474.128960 324.546004 0 349.699764 13.867629
+ A3 16777215 0.120000 -13.839138 475.158188 344.158076 0 178.536861 4.231135
+ A3 16777215 0.120000 -2.338246 475.497679 332.661655 0 154.612902 25.047093
+ A3 16777215 0.120000 -1.428237 475.829071 331.809964 0 117.277607 34.696467
+ A3 16777215 0.120000 -3.104964 474.306602 332.514150 0 93.180111 22.771094
+ END$SEGS
+BZRLIN 680 9 128 16777215 0.106667 Fn3 2 458.075972 333.351918 461.104228 334.558014 462.024136 329.424117 464.696995 332.273933 1 0.000000 0.000000
+ A3 16777215 0.106667 2.284112 458.979612 331.254157 0 336.695362 50.180952
+ A3 16777215 0.106667 5.800317 457.308019 328.160158 0 27.788522 13.867638
+ A3 16777215 0.106667 -13.839152 470.216413 342.961053 0 216.625633 4.231131
+ A3 16777215 0.106667 -2.338246 463.391671 333.703290 0 192.701677 25.047089
+ A3 16777215 0.106667 -1.428238 463.127104 332.828531 0 155.366383 34.696466
+ A3 16777215 0.106667 -3.104965 462.363234 334.321948 0 131.268887 22.771093
+ END$SEGS
+DRAW 681 9 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.146667 1.000000 438.380434 330.901694 0 25.887026 360.000000
+ END$SEGS
+DRAW 682 9 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.226667 1.000000 438.881153 330.215651 0 25.887026 360.000000
+ END$SEGS
+DRAW 683 9 3 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.160000 1.000000 439.010148 328.763632 0 25.887026 360.000000
+ END$SEGS
+DRAW 684 9 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.133333 1.000000 439.582356 327.652291 0 25.887026 360.000000
+ END$SEGS
+DRAW 685 9 3 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.146667 1.000000 439.541011 326.421879 0 25.887026 360.000000
+ END$SEGS
+DRAW 686 9 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.120000 1.000000 439.942880 325.532145 0 25.887026 360.000000
+ END$SEGS
+DRAW 687 9 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.146667 1.000000 440.557223 325.746748 0 207.580466 360.000000
+ END$SEGS
+DRAW 688 9 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.226667 1.000000 440.076997 326.447289 0 207.580466 360.000000
+ END$SEGS
+DRAW 689 9 3 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.160000 1.000000 439.990968 327.902487 0 207.580466 360.000000
+ END$SEGS
+DRAW 690 9 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.133333 1.000000 439.451852 329.030251 0 207.580466 360.000000
+ END$SEGS
+DRAW 691 9 3 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.146667 1.000000 439.529540 330.258905 0 207.580466 360.000000
+ END$SEGS
+DRAW 692 9 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.120000 1.000000 439.154139 331.160127 0 207.580466 360.000000
+ END$SEGS
+DRAW 693 9 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.146667 1.000000 440.184677 330.586521 0 25.887026 360.000000
+ END$SEGS
+DRAW 694 9 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.226667 1.000000 440.685396 329.900478 0 25.887026 360.000000
+ END$SEGS
+DRAW 695 9 3 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.160000 1.000000 440.814390 328.448459 0 25.887026 360.000000
+ END$SEGS
+DRAW 696 9 4 0 0 0.000000 0.000000 0 0.000000
+ A3 16777215 0.133333 1.000000 441.386599 327.337118 0 25.887026 360.000000
+ END$SEGS
+DRAW 697 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 16777088 377.500000 310.750000 0.000000 0 500.000000 "Elev 8790"
+ END$SEGS
+DRAW 698 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 8388608 109.250000 217.500000 0.000000 1 750.000000 " Elev 9830 "
+ END$SEGS
+DRAW 699 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 8388608 712.750000 434.500000 0.000000 1 750.000000 " Elev 5650 "
+ END$SEGS
+DRAW 700 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 8388608 281.500000 649.000000 0.000000 1 750.000000 " Elev 3145 "
+ END$SEGS
+DRAW 701 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 8388608 256.733489 428.850055 354.920392 1 750.000000 " Elev 8456 "
+ END$SEGS
+DRAW 702 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 8388608 506.000000 784.500000 0.000000 1 750.000000 " Elev 1530 "
+ END$SEGS
+DRAW 703 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 8388608 207.609940 788.183781 37.571168 0 1500.000000 "Gazebo"
+ END$SEGS
+DRAW 704 7 0 0 0 0.000000 0.000000 0 0.000000
+ Z 8388608 333.500000 160.000000 0.000000 1 750.000000 " Elev 10000 "
+ END$SEGS
+DRAW 705 9 0 0 0 0.000000 0.000000 0 0.000000
+ M3 0 0.083333 563.250000 397.625000 0 623.375000 379.875000 0 -1
+ END$SEGS
+BZRLIN 706 0 128 16777215 0.200000 Fn3 2 438.294565 327.683255 441.386760 325.265699 442.738620 331.085974 444.997403 327.415004 1 0.000000 0.000000
+ A3 16777215 0.200000 -2.841069 440.101750 329.875459 0 194.764138 24.736979
+ A3 16777215 0.200000 -2.062339 439.838094 329.138493 0 158.206425 34.692040
+ A3 16777215 0.200000 -5.472028 438.493754 332.272410 0 143.398122 13.920916
+ A3 16777215 0.200000 10.087408 447.660445 319.700313 0 324.177022 5.406245
+ A3 16777215 0.200000 1.774601 443.489816 326.891963 0 328.148925 29.995741
+ A3 16777215 0.200000 1.268850 443.386296 327.397620 0 2.080556 37.098720
+ A3 16777215 0.200000 3.549225 441.915326 325.654947 0 39.814102 20.456846
+ END$SEGS
+BZRLIN 707 0 128 16777215 0.200000 Fn3 2 440.182427 329.098655 442.311111 331.567198 445.498485 327.438788 446.552680 331.201007 1 0.000000 0.000000
+ A3 16777215 0.200000 2.284113 441.952896 327.655529 0 309.183795 50.180934
+ A3 16777215 0.200000 5.800321 441.899536 324.139249 0 0.276932 13.867630
+ A3 16777215 0.200000 -13.839158 446.511267 343.229179 0 189.114037 4.231130
+ A3 16777215 0.200000 -2.338247 444.734706 331.865764 0 165.190089 25.047081
+ A3 16777215 0.200000 -1.428238 444.904132 330.967713 0 127.854800 34.696463
+ A3 16777215 0.200000 -3.104963 443.536793 331.939397 0 103.757297 22.771099
+ END$SEGS
+BZRLIN 708 0 128 16777215 0.200000 Fn3 2 440.226058 325.619856 442.354741 328.088399 445.542115 323.959988 446.596309 327.722208 1 0.000000 0.000000
+ A3 16777215 0.200000 2.284112 441.996526 324.176732 0 309.183779 50.180957
+ A3 16777215 0.200000 5.800319 441.943166 320.660452 0 0.276940 13.867632
+ A3 16777215 0.200000 -13.839143 446.554896 339.750365 0 189.114043 4.231133
+ A3 16777215 0.200000 -2.338245 444.778335 328.386963 0 165.190081 25.047096
+ A3 16777215 0.200000 -1.428237 444.947761 327.488913 0 127.854776 34.696476
+ A3 16777215 0.200000 -3.104964 443.580421 328.460597 0 103.757278 22.771095
+ END$SEGS
+BZRLIN 709 0 128 16777215 0.200000 Fn3 2 438.464443 331.229056 441.556638 328.811500 442.908498 334.631775 445.167281 330.960805 1 0.000000 0.000000
+ A3 16777215 0.200000 -2.841069 440.271628 333.421260 0 194.764138 24.736979
+ A3 16777215 0.200000 -2.062339 440.007972 332.684294 0 158.206425 34.692040
+ A3 16777215 0.200000 -5.472028 438.663632 335.818211 0 143.398122 13.920916
+ A3 16777215 0.200000 10.087408 447.830323 323.246114 0 324.177022 5.406245
+ A3 16777215 0.200000 1.774601 443.659694 330.437764 0 328.148925 29.995741
+ A3 16777215 0.200000 1.268850 443.556174 330.943421 0 2.080556 37.098720
+ A3 16777215 0.200000 3.549225 442.085204 329.200748 0 39.814102 20.456846
+ END$SEGS
+BZRLIN 710 0 128 16777215 0.200000 Fn3 2 445.000009 328.848263 448.092205 326.430708 449.444064 332.250983 451.702847 328.580012 1 0.000000 0.000000
+ A3 16777215 0.200000 -2.841070 446.807194 331.040468 0 194.764119 24.736976
+ A3 16777215 0.200000 -2.062340 446.543538 330.303502 0 158.206417 34.692030
+ A3 16777215 0.200000 -5.472030 445.199197 333.437420 0 143.398118 13.920912
+ A3 16777215 0.200000 10.087399 454.365884 320.865330 0 324.177017 5.406250
+ A3 16777215 0.200000 1.774600 450.195259 328.056972 0 328.148924 29.995756
+ A3 16777215 0.200000 1.268850 450.091740 328.562629 0 2.080574 37.098720
+ A3 16777215 0.200000 3.549227 448.620768 326.819954 0 39.814117 20.456837
+ END$SEGS
+BZRLIN 711 0 128 16777215 0.200000 Fn3 2 446.887872 330.263664 449.016556 332.732207 452.203929 328.603796 453.258124 332.366016 1 0.000000 0.000000
+ A3 16777215 0.200000 2.284113 448.658341 328.820539 0 309.183792 50.180942
+ A3 16777215 0.200000 5.800319 448.604980 325.304259 0 0.276940 13.867632
+ A3 16777215 0.200000 -13.839143 453.216710 344.394173 0 189.114043 4.231133
+ A3 16777215 0.200000 -2.338246 451.440150 333.030771 0 165.190082 25.047094
+ A3 16777215 0.200000 -1.428237 451.609576 332.132722 0 127.854785 34.696468
+ A3 16777215 0.200000 -3.104965 450.242235 333.104406 0 103.757293 22.771091
+ END$SEGS
+BZRLIN 712 0 128 16777215 0.200000 Fn3 2 446.931502 326.784864 449.060185 329.253407 452.247559 325.124997 453.301754 328.887217 1 0.000000 0.000000
+ A3 16777215 0.200000 2.284112 448.701971 325.341739 0 309.183780 50.180947
+ A3 16777215 0.200000 5.800321 448.648611 321.825458 0 0.276931 13.867629
+ A3 16777215 0.200000 -13.839140 453.260336 340.915371 0 189.114029 4.231134
+ A3 16777215 0.200000 -2.338247 451.483779 329.551972 0 165.190073 25.047089
+ A3 16777215 0.200000 -1.428238 451.653205 328.653923 0 127.854787 34.696459
+ A3 16777215 0.200000 -3.104965 450.285865 329.625607 0 103.757293 22.771092
+ END$SEGS
+BZRLIN 713 0 128 16777215 0.200000 Fn3 2 445.169887 332.394064 448.262083 329.976509 449.613942 335.796784 451.872725 332.125813 1 0.000000 0.000000
+ A3 16777215 0.200000 -2.841070 446.977072 334.586269 0 194.764119 24.736976
+ A3 16777215 0.200000 -2.062340 446.713416 333.849303 0 158.206417 34.692030
+ A3 16777215 0.200000 -5.472030 445.369075 336.983221 0 143.398118 13.920912
+ A3 16777215 0.200000 10.087399 454.535762 324.411131 0 324.177017 5.406250
+ A3 16777215 0.200000 1.774600 450.365137 331.602773 0 328.148924 29.995756
+ A3 16777215 0.200000 1.268850 450.261618 332.108430 0 2.080574 37.098720
+ A3 16777215 0.200000 3.549227 448.790646 330.365755 0 39.814117 20.456837
+ END$SEGS
+BZRLIN 714 0 128 16777215 0.120000 Fn3 2 456.040858 328.936518 459.454961 326.999987 459.936189 332.955787 462.710269 329.656907 1 0.000000 0.000000
+ A3 16777215 0.120000 -2.841070 457.506008 331.370653 0 186.307512 24.736977
+ A3 16777215 0.120000 -2.062339 457.353597 330.602926 0 149.749799 34.692040
+ A3 16777215 0.120000 -5.472028 455.562998 333.505071 0 134.941495 13.920917
+ A3 16777215 0.120000 10.087405 466.478882 322.417725 0 315.720395 5.406247
+ A3 16777215 0.120000 1.774601 461.295991 328.917846 0 319.692300 29.995748
+ A3 16777215 0.120000 1.268850 461.119235 329.402782 0 353.623939 37.098720
+ A3 16777215 0.120000 3.549226 459.920536 327.462733 0 31.357483 20.456842
+ END$SEGS
+BZRLIN 715 0 128 16777215 0.106667 Fn3 2 454.562505 332.877076 457.059647 334.972137 459.543408 330.385847 461.187526 333.930209 1 0.000000 0.000000
+ A3 16777215 0.106667 2.284112 456.078518 331.168606 0 318.415706 50.180952
+ A3 16777215 0.106667 5.800318 455.461729 327.706434 0 9.508865 13.867635
+ A3 16777215 0.106667 -13.839146 463.076342 345.809212 0 198.345970 4.231132
+ A3 16777215 0.106667 -2.338246 459.499747 334.878014 0 174.422013 25.047091
+ A3 16777215 0.106667 -1.428238 459.522903 333.964416 0 137.086721 34.696464
+ A3 16777215 0.106667 -3.104965 458.329163 335.142878 0 112.989227 22.771092
+ END$SEGS
+BZRLIN 716 0 128 16777215 0.120000 Fn3 2 472.165858 327.999018 475.579961 326.062487 476.061189 332.018287 478.835269 328.719407 1 0.000000 0.000000
+ A3 16777215 0.120000 -2.841070 473.631008 330.433153 0 186.307512 24.736977
+ A3 16777215 0.120000 -2.062339 473.478597 329.665426 0 149.749799 34.692040
+ A3 16777215 0.120000 -5.472028 471.687998 332.567571 0 134.941495 13.920917
+ A3 16777215 0.120000 10.087405 482.603882 321.480225 0 315.720395 5.406247
+ A3 16777215 0.120000 1.774601 477.420991 327.980346 0 319.692300 29.995748
+ A3 16777215 0.120000 1.268850 477.244235 328.465282 0 353.623939 37.098720
+ A3 16777215 0.120000 3.549226 476.045536 326.525233 0 31.357483 20.456842
+ END$SEGS
+BZRLIN 717 0 128 16777215 0.106667 Fn3 2 472.937505 333.627076 475.434647 335.722137 477.918408 331.135847 479.562526 334.680209 1 0.000000 0.000000
+ A3 16777215 0.106667 2.284112 474.453518 331.918606 0 318.415706 50.180952
+ A3 16777215 0.106667 5.800318 473.836729 328.456434 0 9.508865 13.867635
+ A3 16777215 0.106667 -13.839146 481.451342 346.559212 0 198.345970 4.231132
+ A3 16777215 0.106667 -2.338246 477.874747 335.628014 0 174.422013 25.047091
+ A3 16777215 0.106667 -1.428238 477.897903 334.714416 0 137.086721 34.696464
+ A3 16777215 0.106667 -3.104965 476.704163 335.892878 0 112.989227 22.771092
+ END$SEGS
+BZRLIN 718 0 128 16777215 0.106667 Fn3 2 462.274087 333.816289 464.665784 330.704050 467.426243 336.003389 468.698312 331.885141 1 0.000000 0.000000
+ A3 16777215 0.106667 -2.841069 464.570820 335.488620 0 209.203346 24.736980
+ A3 16777215 0.106667 -2.062339 464.131727 334.840677 0 172.645629 34.692043
+ A3 16777215 0.106667 -5.472028 463.611302 338.210817 0 157.837327 13.920916
+ A3 16777215 0.106667 10.087404 469.353556 323.750103 0 338.616227 5.406247
+ A3 16777215 0.106667 1.774602 467.107923 331.754542 0 342.588133 29.995742
+ A3 16777215 0.106667 1.268850 467.133760 332.270040 0 16.519764 37.098713
+ A3 16777215 0.106667 3.549226 465.274714 330.949202 0 54.253303 20.456844
+ END$SEGS
+BZRLIN 719 0 128 16777215 0.120000 Fn3 2 464.267212 329.989203 466.269188 332.561573 469.659946 328.598509 470.523797 332.408940 1 0.000000 0.000000
+ A3 16777215 0.120000 2.284112 466.107947 328.636849 0 306.304044 50.180949
+ A3 16777215 0.120000 5.800318 466.231311 325.122330 0 357.397199 13.867632
+ A3 16777215 0.120000 -13.839140 469.878143 344.419825 0 186.234301 4.231134
+ A3 16777215 0.120000 -2.338246 468.674721 332.981521 0 162.310343 25.047091
+ A3 16777215 0.120000 -1.428238 468.889051 332.093118 0 124.975053 34.696462
+ A3 16777215 0.120000 -3.104965 467.474620 332.994881 0 100.877560 22.771091
+ END$SEGS
+BZRLIN 720 0 128 16777215 0.120000 Fn3 2 486.555633 327.765692 488.557609 330.338062 491.948368 326.374998 492.812219 330.185429 1 0.000000 0.000000
+ A3 16777215 0.120000 2.284112 488.396368 326.413338 0 306.304046 50.180950
+ A3 16777215 0.120000 5.800320 488.519732 322.898816 0 357.397199 13.867630
+ A3 16777215 0.120000 -13.839146 492.166565 342.196319 0 186.234300 4.231133
+ A3 16777215 0.120000 -2.338247 490.963143 330.758011 0 162.310347 25.047086
+ A3 16777215 0.120000 -1.428238 491.177473 329.869607 0 124.975058 34.696462
+ A3 16777215 0.120000 -3.104964 489.763043 330.771369 0 100.877560 22.771095
+ END$SEGS
+DRAW 721 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 60.458333 1079.479167 0 60.000000 1044.000000 0
+ END$SEGS
+DRAW 722 0 0 0 0 0.000000 0.000000 0 0.000000
+ Q3 0 0.000000 60.000000 1044.000000 0 240.000000 1044.000000 0
+ END$SEGS
+CURVE 723 0 0 0 0 Fn3 2 180.251238 955.094070 0 82.000000 0 0.000000 0.000000
+ T4 724 98.259898 956.285775 180.832708 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 731 262.238647 956.530981 178.995937 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+CURVE 724 0 0 0 0 Fn3 2 180.251235 955.093847 0 82.000000 0 0.000000 0.000000
+ T4 727 107.293112 917.662413 152.839741 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 723 98.259895 956.285552 0.832708 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+STRAIGHT 725 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 730 182.227100 852.349489 123.016049 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 726 171.436692 859.361160 303.016049 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+STRAIGHT 726 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 725 171.436692 859.361160 123.016049 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 353 147.672680 874.803155 303.016049 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+CORNU 727 0 0 0 0 Fn3 2 107.293112 917.662413 332.839741 82.000000 180.251235 955.093847 128.846025 891.171170 134.437235 0.000000 0.000000 0.000000
+ T4 724 107.293112 917.662413 332.839741 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 353 128.846025 891.171170 134.437235 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ W3 0 0.000000 107.293112 917.662413 109.904962 912.571621 113.160144 907.820213 116.898419 903.488559
+ SUBSEGS
+ C 0 0.000000 -72.194974 171.438485 950.790731 229.065157 13.620441
+ SUBSEND
+ W3 0 0.000000 116.898419 903.488559 120.636694 899.156905 124.760624 895.177094 128.846025 891.171170
+ SUBSEGS
+ C 0 0.000000 -129.149411 214.322150 988.271735 225.161895 3.806626
+ C 0 0.000000 -511.313478 485.320950 1257.732353 224.200783 0.961988
+ SUBSEND
+ END$SEGS
+STRAIGHT 728 0 0 0 0 Fn3 2 0.000000 0.000000
+ T4 353 126.666436 888.453201 123.016049 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 729 108.261694 900.412711 303.016049 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ END$SEGS
+CORNU 729 0 0 0 0 Fn3 2 108.261694 900.412711 123.016049 0.000000 0.000000 0.000000 60.808331 969.066074 347.904705 306.706971 360.706544 1033.332922
+ T4 728 108.261694 900.412711 123.016049 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 355 60.808331 969.066074 347.904705 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ W3 0 0.000000 108.261694 900.412711 102.220730 904.338165 96.198052 908.331094 90.725340 913.016374
+ SUBSEGS
+ C 0 0.000000 288.581929 264.361942 1143.131153 212.746410 2.146464
+ C 0 0.000000 114.482357 164.765835 1000.333127 214.890727 5.405648
+ SUBSEND
+ W3 0 0.000000 90.725340 913.016374 85.252628 917.701655 80.342803 923.058441 76.287439 929.012974
+ SUBSEGS
+ C 0 0.000000 83.575399 144.951090 976.612092 220.453018 11.112757
+ C 0 0.000000 76.384615 139.409250 972.027464 231.675549 4.051895
+ SUBSEND
+ W3 0 0.000000 76.287439 929.012974 72.232076 934.967506 69.035594 941.485253 66.561440 948.251419
+ SUBSEGS
+ C 0 0.000000 84.330477 146.158567 976.232196 235.948995 11.011613
+ C 0 0.000000 98.176548 158.778392 981.936258 246.779611 3.154244
+ SUBSEND
+ W3 0 0.000000 66.561440 948.251419 64.087285 955.017584 62.317915 962.021673 60.808331 969.066074
+ SUBSEGS
+ C 0 0.000000 124.921354 184.004483 990.824604 250.074384 4.954973
+ C 0 0.000000 204.054990 260.450673 1011.272403 255.027708 3.035177
+ SUBSEND
+ END$SEGS
+CORNU 730 0 0 0 0 Fn3 2 218.030807 836.875672 111.594751 0.000000 0.000000 0.000000 182.227100 852.349489 303.016049 0.000000 0.000000 0.000000
+ T4 350 218.030807 836.875672 111.594751 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 725 182.227100 852.349489 303.016049 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ W3 0 0.000000 218.030807 836.875672 211.965643 839.276397 205.754257 841.281562 199.622348 843.506283
+ SUBSEGS
+ C 0 0.000000 -247.366783 127.953106 606.492658 19.089132 2.265922
+ C 0 0.000000 915.713900 508.328030 1705.615759 199.089303 0.612217
+ SUBSEND
+ W3 0 0.000000 199.622348 843.506283 196.556394 844.618644 193.534069 845.861818 190.630354 847.347032
+ SUBSEGS
+ C 0 0.000000 78.453437 225.882880 917.434128 199.555975 7.145584
+ SUBSEND
+ W3 0 0.000000 190.630354 847.347032 187.726638 848.832245 184.961932 850.572379 182.227100 852.349489
+ SUBSEGS
+ C 0 0.000000 80.134106 227.620270 918.433044 207.490411 5.246186
+ S 0 0.000000 184.285530 851.026995 182.227100 852.349489
+ SUBSEND
+ END$SEGS
+CORNU 731 0 0 0 0 Fn3 2 262.238647 956.530981 358.995937 82.000000 180.251238 955.094070 260.167782 909.964455 191.961484 0.000000 0.000000 0.000000
+ T4 723 262.238647 956.530981 358.995937 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ T4 90 260.167782 909.964455 191.961484 0 0.0 0.0 0.0 0.0 0 0 0 6.820000
+ W3 0 0.000000 262.238647 956.530981 262.375176 948.740920 262.294241 940.950232 262.434601 933.160239
+ SUBSEGS
+ C 0 0.000000 844.738359 -582.402408 943.709791 89.130348 0.792615
+ C 0 0.000000 -815.733918 1078.068368 945.942377 269.102167 0.820796
+ SUBSEND
+ W3 0 0.000000 262.434601 933.160239 262.504781 929.265243 262.462558 925.362812 262.088661 921.485168
+ SUBSEGS
+ C 0 0.000000 116.930914 145.535426 930.435972 88.664997 4.295130
+ C 0 0.000000 74.604748 187.824144 928.602036 93.230724 2.243292
+ SUBSEND
+ W3 0 0.000000 262.088661 921.485168 261.714764 917.607523 260.975167 913.775499 260.167782 909.964455
+ SUBSEGS
+ C 0 0.000000 88.678098 173.883410 930.630594 95.919474 5.662276
+ C 0 0.000000 211.424528 53.368649 953.946830 101.214882 0.791974
+ SUBSEND
+ END$SEGS
+DRAW 732 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 840.000000 480.000000 0 0.000000 480.000000 0
+ END$SEGS
+DRAW 733 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 0.000000 720.000000 0 840.000000 720.000000 0
+ END$SEGS
+DRAW 734 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 0.000000 600.000000 0 843.000000 600.000000 0
+ END$SEGS
+DRAW 735 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 0.000000 840.000000 0 359.999364 840.000000 0
+ END$SEGS
+DRAW 736 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 0.000000 360.000000 0 840.000000 360.000000 0
+ END$SEGS
+DRAW 737 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 0.000000 240.000000 0 840.000000 240.000000 0
+ END$SEGS
+DRAW 738 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 0.000000 120.000000 0 840.000000 120.000000 0
+ END$SEGS
+DRAW 739 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 120.000000 0.000000 0 120.000001 600.000159 0
+ END$SEGS
+DRAW 740 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 240.000000 600.000318 0 240.000000 0.000000 0
+ END$SEGS
+DRAW 741 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 360.000000 0.000000 0 360.000001 600.000478 0
+ END$SEGS
+DRAW 742 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 480.000000 780.000000 0 480.000000 0.000000 0
+ END$SEGS
+DRAW 743 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 600.000000 0.000000 0 600.000007 779.963876 0
+ END$SEGS
+DRAW 744 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 0.000000 960.000000 0 360.000000 960.000000 0
+ END$SEGS
+DRAW 745 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 360.000000 960.000000 0 360.000001 600.000000 0
+ END$SEGS
+DRAW 746 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 240.000000 600.000000 0 240.000000 1044.000000 0
+ END$SEGS
+DRAW 747 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 120.000001 600.000000 0 120.000000 1044.000000 0
+ END$SEGS
+DRAW 748 10 0 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 719.999802 779.987959 0 720.000000 0.000000 0
+ END$SEGS
+DRAW 749 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 0.000000 60.000000 0 840.000000 60.000000 0
+ END$SEGS
+DRAW 750 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 0.000000 180.000000 0 840.000000 180.000000 0
+ END$SEGS
+DRAW 751 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 0.000000 300.000000 0 840.000000 300.000000 0
+ END$SEGS
+DRAW 752 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 0.000000 420.000000 0 840.000000 420.000000 0
+ END$SEGS
+DRAW 753 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 0.000000 540.000000 0 840.000000 540.000000 0
+ END$SEGS
+DRAW 754 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 0.000000 660.000000 0 840.000000 660.000000 0
+ END$SEGS
+DRAW 755 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 0.000000 1020.000000 0 360.000000 1020.000000 0
+ END$SEGS
+DRAW 756 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 0.000000 900.000000 0 360.000000 900.000000 0
+ END$SEGS
+DRAW 757 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 0.000000 780.000000 0 360.000000 780.000000 0
+ END$SEGS
+DRAW 758 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 180.000000 600.000000 0 180.000000 1044.000000 0
+ END$SEGS
+DRAW 759 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 300.000000 600.000000 0 299.999999 1080.000000 0
+ END$SEGS
+DRAW 760 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 780.000000 780.000000 0 780.000000 0.000000 0
+ END$SEGS
+DRAW 761 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 660.000000 780.000000 0 660.000000 0.000000 0
+ END$SEGS
+DRAW 762 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 540.000000 780.000000 0 540.000000 0.000000 0
+ END$SEGS
+DRAW 763 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 420.000000 780.000000 0 420.000000 0.000000 0
+ END$SEGS
+DRAW 764 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 180.000000 600.000000 0 180.000000 0.000000 0
+ END$SEGS
+DRAW 765 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 300.000000 0.000000 0 300.000000 600.000000 0
+ END$SEGS
+DRAW 766 10 1 0 0 0.000000 0.000000 0 0.000000
+ L3 16711680 -2.000000 60.000000 0.000000 0 60.000000 1044.000000 0
+ END$SEGS
+BZRLIN 767 0 128 16777215 0.120000 Fn3 2 487.571857 333.353449 490.063944 330.320999 492.649819 335.707684 494.055737 331.633188 1 0.000000 0.000000
+ A3 16777215 0.120000 -2.841070 489.812735 335.099915 0 207.331363 24.736975
+ A3 16777215 0.120000 -2.062339 489.395043 334.437973 0 170.773653 34.692038
+ A3 16777215 0.120000 -5.472027 488.764806 337.789313 0 155.965347 13.920918
+ A3 16777215 0.120000 10.087407 494.976375 323.523893 0 336.744247 5.406245
+ A3 16777215 0.120000 1.774601 492.470464 331.450707 0 340.716150 29.995744
+ A3 16777215 0.120000 1.268850 492.479448 331.966773 0 14.647784 37.098719
+ A3 16777215 0.120000 3.549226 490.664540 330.585912 0 52.381328 20.456843
+ END$SEGS
+BZRLIN 768 0 128 16777215 0.200000 Fn3 2 498.607247 329.177291 499.945228 332.149631 504.175869 329.099253 504.115574 333.005912 1 0.000000 0.000000
+ A3 16777215 0.200000 2.284113 500.715252 328.297809 0 292.646414 50.180937
+ A3 16777215 0.200000 5.800323 501.664977 324.911792 0 343.739553 13.867626
+ A3 16777215 0.200000 -13.839154 500.652165 344.524738 0 172.576652 4.231131
+ A3 16777215 0.200000 -2.338247 502.183585 333.125700 0 148.652701 25.047085
+ A3 16777215 0.200000 -1.428237 502.601625 332.313024 0 111.317402 34.696472
+ A3 16777215 0.200000 -3.104963 501.014265 332.855312 0 87.219897 22.771101
+ END$SEGS
+CURVE 769 0 0 0 0 Fn3 2 412.682632 348.175416 0 72.000000 0 0.000000 0.000000
+ T4 310 458.733388 292.828077 50.238461 0 0.0 0.0 0.0 0.0 0 0 0 92.661755
+ T4 770 458.526074 292.656240 230.452740 0 0.0 0.0 0.0 0.0 0 0 0 92.661755
+ END$SEGS
+CURVE 770 0 0 0 0 Fn3 2 412.680882 348.175554 0 72.001221 0 0.000000 0.000000
+ T4 769 458.526074 292.656240 50.451736 0 0.0 0.0 0.0 0.0 0 0 0 92.691432
+ T4 50 456.162114 290.786023 232.850577 0 0.0 0.0 0.0 0.0 0 0 0 92.691432
+ END$SEGS
+STRUCTURE 771 9 0 0 0 Fn3 2 108.000000 483.000000 0 0.000000 "Ophir High Line L"
+ D 0.000000 0.000000
+ L3 26624 0.000000 97.535108 59.691071 0 168.744251 49.048793 0
+ L3 26624 0.000000 168.744251 49.048793 0 192.480631 45.501367 0
+ L3 26624 0.000000 170.517964 60.916983 0 194.254344 57.369558 0
+ L3 26624 0.000000 169.631108 54.982888 0 193.367488 51.435462 0
+ L3 26624 0.000000 97.535108 59.691071 0 99.752250 74.526309 0
+ L3 26624 0.000000 168.744251 49.048794 0 170.961392 63.884032 0
+ L3 26624 0.000000 99.752250 74.526309 0 170.961392 63.884031 0
+ L3 26624 0.000000 192.480630 45.501360 0 194.697771 60.336598 0
+ L3 26624 0.000000 4.050044 50.818617 0 69.047354 62.279406 0
+ L3 26624 0.000000 1.966264 62.636309 0 66.963574 74.097098 0
+ L3 26624 0.000000 1.966264 62.636309 0 4.050044 50.818617 0
+ L3 26624 0.000000 133.881442 54.259075 0 136.098583 69.094313 0
+ L3 26624 0.000000 132.397918 54.480789 0 134.615059 69.316027 0
+ L3 26624 0.000000 193.964154 45.279646 0 196.181295 60.114884 0
+ L3 26624 0.000000 167.260727 49.270508 0 169.477869 64.105746 0
+ L3 26624 0.000000 99.018632 59.469357 0 101.235773 74.304595 0
+ L3 26624 0.000000 65.486362 73.836626 0 67.570142 62.018933 0
+ L3 26624 0.000000 3.443476 62.896782 0 5.527256 51.079089 0
+ L3 26624 0.000000 3.789571 52.295828 0 68.786881 63.756617 0
+ L3 26624 0.000000 2.226737 61.159098 0 67.224047 72.619887 0
+ L3 26624 0.000000 99.530536 73.042785 0 170.739678 62.400507 0
+ L3 26624 0.000000 97.756823 61.174595 0 168.965965 50.532317 0
+ L3 26624 0.000000 250.559773 38.338040 0 252.333486 50.206231 0
+ L3 26624 0.000000 240.069690 52.039067 0 238.295977 40.170877 0
+ L3 26624 0.000000 241.553213 51.817353 0 239.779501 39.949163 0
+ L3 26624 0.000000 251.821583 36.632802 0 254.038724 51.468040 0
+ L3 26624 0.000000 192.702345 46.984891 0 252.043297 38.116326 0
+ L3 26624 0.000000 192.480631 45.501367 0 251.821583 36.632802 0
+ L3 26624 0.000000 194.476058 58.853081 0 253.817010 49.984516 0
+ L3 26624 0.000000 194.697772 60.336605 0 254.038724 51.468040 0
+ L3 26624 0.000000 66.963574 74.097098 0 69.074808 62.123707 0
+ L3 6842368 0.000000 167.635680 41.631174 0 191.372060 38.083748 0
+ L3 6842368 0.000000 191.150346 36.600225 0 167.413966 40.147650 0
+ L3 6842368 0.000000 167.413966 40.147650 0 167.635680 41.631174 0
+ L3 6842368 0.000000 96.000000 52.337199 0 167.635680 41.631174 0
+ L3 6842368 0.000000 96.000000 50.820540 0 167.413966 40.147650 0
+ L3 6842368 0.000000 96.000000 0.000000 0 0.000000 0.000000 0
+ L3 6842368 0.000000 96.000000 1.500000 0 0.000000 1.500000 0
+ L3 6842368 0.000000 72.000000 49.000000 0 96.000000 49.000000 0
+ L3 6842368 0.000000 0.000000 39.442504 0 72.000000 52.138058 0
+ L3 6842368 0.000000 0.000000 37.919364 0 72.000000 50.614918 0
+ L3 6842368 0.000000 72.000000 47.500000 0 96.000000 47.500000 0
+ L3 6842368 0.000000 96.000000 30.000000 0 0.000000 30.000000 0
+ L3 6842368 0.000000 96.000000 28.500000 0 0.000000 28.500000 0
+ L3 6842368 0.000000 94.500000 28.500000 0 94.500000 1.500000 0
+ L3 6842368 0.000000 1.500000 1.500000 0 1.500000 28.500000 0
+ L3 6842368 0.000000 0.000000 0.000000 0 0.000000 30.000000 0
+ L3 6842368 0.000000 80.000000 1.500000 0 80.000000 28.500000 0
+ L3 6842368 0.000000 78.500000 1.500000 0 78.500000 28.500000 0
+ L3 6842368 0.000000 64.000000 1.500000 0 64.000000 28.500000 0
+ L3 6842368 0.000000 62.500000 1.500000 0 62.500000 28.500000 0
+ L3 6842368 0.000000 48.000000 1.500000 0 48.000000 28.500000 0
+ L3 6842368 0.000000 46.500000 1.500000 0 46.500000 28.500000 0
+ L3 6842368 0.000000 32.000000 1.500000 0 32.000000 28.500000 0
+ L3 6842368 0.000000 30.500000 1.500000 0 30.500000 28.500000 0
+ L3 6842368 0.000000 16.000000 1.500000 0 16.000000 28.500000 0
+ L3 6842368 0.000000 14.500000 1.500000 0 14.500000 28.500000 0
+ L3 6842368 0.000000 96.000000 30.000000 0 96.000000 0.000000 0
+ L3 6842368 0.000000 191.372060 38.083748 0 250.713012 29.215183 0
+ L3 6842368 0.000000 191.150346 36.600225 0 250.491298 27.731660 0
+ L3 6842368 0.000000 249.096190 28.500000 0 244.723389 1.500000 0
+ L3 6842368 0.000000 250.858669 30.000000 0 246.000000 0.000000 0
+ L3 6842368 0.000000 246.000000 0.000000 0 192.000000 0.000000 0
+ L3 6842368 0.000000 246.000000 1.500000 0 192.000000 1.500000 0
+ L3 6842368 0.000000 192.000000 28.500000 0 250.615735 28.500000 0
+ L3 6842368 0.000000 192.000000 30.000000 0 250.830304 30.000000 0
+ L3 6842368 0.000000 192.000000 0.000000 0 96.000000 0.000000 0
+ L3 6842368 0.000000 192.000000 1.500000 0 96.000000 1.500000 0
+ L3 6842368 0.000000 192.000000 30.000000 0 96.000000 30.000000 0
+ L3 6842368 0.000000 192.000000 28.500000 0 96.000000 28.500000 0
+ L3 6842368 0.000000 190.500000 28.500000 0 190.500000 1.500000 0
+ L3 6842368 0.000000 97.500000 1.500000 0 97.500000 28.500000 0
+ L3 6842368 0.000000 176.000000 1.500000 0 176.000000 28.500000 0
+ L3 6842368 0.000000 174.500000 1.500000 0 174.500000 28.500000 0
+ L3 6842368 0.000000 160.000000 1.500000 0 160.000000 28.500000 0
+ L3 6842368 0.000000 158.500000 1.500000 0 158.500000 28.500000 0
+ L3 6842368 0.000000 144.000000 1.500000 0 144.000000 28.500000 0
+ L3 6842368 0.000000 142.500000 1.500000 0 142.500000 28.500000 0
+ L3 6842368 0.000000 128.000000 1.500000 0 128.000000 28.500000 0
+ L3 6842368 0.000000 126.500000 1.500000 0 126.500000 28.500000 0
+ L3 6842368 0.000000 112.000000 1.500000 0 112.000000 28.500000 0
+ L3 6842368 0.000000 110.500000 1.500000 0 110.500000 28.500000 0
+ L3 6842368 0.000000 192.000000 30.000000 0 192.000000 0.000000 0
+ L3 6842368 0.000000 193.500000 1.500000 0 193.500000 28.500000 0
+ L3 6842368 0.000000 240.000000 1.500000 0 240.000000 28.500000 0
+ L3 6842368 0.000000 238.500000 1.500000 0 238.500000 28.500000 0
+ L3 6842368 0.000000 224.000000 1.500000 0 224.000000 28.500000 0
+ L3 6842368 0.000000 222.500000 1.500000 0 222.500000 28.500000 0
+ L3 6842368 0.000000 208.000000 1.500000 0 208.000000 28.500000 0
+ L3 6842368 0.000000 206.500000 1.500000 0 206.500000 28.500000 0
+ L3 6842368 0.000000 1.500000 5.000000 0 5.000000 5.000000 0
+ L3 6842368 0.000000 5.000000 5.000000 0 5.000000 1.500000 0
+ L3 6842368 0.000000 5.000000 1.500000 0 1.500000 5.000000 0
+ L3 6842368 0.000000 1.500000 5.000000 0 1.500000 1.500000 0
+ L3 6842368 0.000000 1.500000 1.500000 0 5.000000 1.500000 0
+ L3 6842368 0.000000 5.000000 5.000000 0 1.500000 1.500000 0
+ L3 6842368 0.000000 97.500000 5.000000 0 101.000000 5.000000 0
+ L3 6842368 0.000000 101.000000 5.000000 0 101.000000 1.500000 0
+ L3 6842368 0.000000 101.000000 1.500000 0 97.500000 5.000000 0
+ L3 6842368 0.000000 97.500000 5.000000 0 97.500000 1.500000 0
+ L3 6842368 0.000000 97.500000 1.500000 0 101.000000 1.500000 0
+ L3 6842368 0.000000 101.000000 5.000000 0 97.500000 1.500000 0
+ L3 6842368 0.000000 48.000000 5.000000 0 51.500000 5.000000 0
+ L3 6842368 0.000000 51.500000 5.000000 0 51.500000 1.500000 0
+ L3 6842368 0.000000 51.500000 1.500000 0 48.000000 5.000000 0
+ L3 6842368 0.000000 48.000000 5.000000 0 48.000000 1.500000 0
+ L3 6842368 0.000000 48.000000 1.500000 0 51.500000 1.500000 0
+ L3 6842368 0.000000 51.500000 5.000000 0 48.000000 1.500000 0
+ L3 6842368 0.000000 144.000000 5.000000 0 147.500000 5.000000 0
+ L3 6842368 0.000000 147.500000 5.000000 0 147.500000 1.500000 0
+ L3 6842368 0.000000 147.500000 1.500000 0 144.000000 5.000000 0
+ L3 6842368 0.000000 144.000000 5.000000 0 144.000000 1.500000 0
+ L3 6842368 0.000000 144.000000 1.500000 0 147.500000 1.500000 0
+ L3 6842368 0.000000 147.500000 5.000000 0 144.000000 1.500000 0
+ L3 6842368 0.000000 193.500000 5.000000 0 197.000000 5.000000 0
+ L3 6842368 0.000000 197.000000 5.000000 0 197.000000 1.500000 0
+ L3 6842368 0.000000 197.000000 1.500000 0 193.500000 5.000000 0
+ L3 6842368 0.000000 193.500000 5.000000 0 193.500000 1.500000 0
+ L3 6842368 0.000000 193.500000 1.500000 0 197.000000 1.500000 0
+ L3 6842368 0.000000 197.000000 5.000000 0 193.500000 1.500000 0
+ L3 6842368 0.000000 240.000000 5.000000 0 243.500000 5.000000 0
+ L3 6842368 0.000000 243.500000 5.000000 0 243.500000 1.500000 0
+ L3 6842368 0.000000 243.500000 1.500000 0 240.000000 5.000000 0
+ L3 6842368 0.000000 240.000000 5.000000 0 240.000000 1.500000 0
+ L3 6842368 0.000000 240.000000 1.500000 0 243.500000 1.500000 0
+ L3 6842368 0.000000 243.500000 5.000000 0 240.000000 1.500000 0
+ L3 6842368 0.000000 1.500000 25.500000 0 3.000000 25.500000 0
+ L3 6842368 0.000000 3.000000 25.500000 0 3.000000 28.500000 0
+ L3 6842368 0.000000 3.000000 28.500000 0 1.500000 28.500000 0
+ L3 6842368 0.000000 1.500000 28.500000 0 1.500000 25.500000 0
+ L3 6842368 0.000000 1.500000 25.500000 0 3.000000 28.500000 0
+ L3 6842368 0.000000 1.500000 28.500000 0 3.000000 25.500000 0
+ L3 6842368 0.000000 48.000000 25.500000 0 49.500000 25.500000 0
+ L3 6842368 0.000000 49.500000 25.500000 0 49.500000 28.500000 0
+ L3 6842368 0.000000 49.500000 28.500000 0 48.000000 28.500000 0
+ L3 6842368 0.000000 48.000000 28.500000 0 48.000000 25.500000 0
+ L3 6842368 0.000000 48.000000 25.500000 0 49.500000 28.500000 0
+ L3 6842368 0.000000 48.000000 28.500000 0 49.500000 25.500000 0
+ L3 6842368 0.000000 97.500000 25.500000 0 99.000000 25.500000 0
+ L3 6842368 0.000000 99.000000 25.500000 0 99.000000 28.500000 0
+ L3 6842368 0.000000 99.000000 28.500000 0 97.500000 28.500000 0
+ L3 6842368 0.000000 97.500000 28.500000 0 97.500000 25.500000 0
+ L3 6842368 0.000000 97.500000 25.500000 0 99.000000 28.500000 0
+ L3 6842368 0.000000 97.500000 28.500000 0 99.000000 25.500000 0
+ L3 6842368 0.000000 144.000000 25.500000 0 145.500000 25.500000 0
+ L3 6842368 0.000000 145.500000 25.500000 0 145.500000 28.500000 0
+ L3 6842368 0.000000 145.500000 28.500000 0 144.000000 28.500000 0
+ L3 6842368 0.000000 144.000000 28.500000 0 144.000000 25.500000 0
+ L3 6842368 0.000000 144.000000 25.500000 0 145.500000 28.500000 0
+ L3 6842368 0.000000 144.000000 28.500000 0 145.500000 25.500000 0
+ L3 6842368 0.000000 193.500000 25.500000 0 195.000000 25.500000 0
+ L3 6842368 0.000000 195.000000 25.500000 0 195.000000 28.500000 0
+ L3 6842368 0.000000 195.000000 28.500000 0 193.500000 28.500000 0
+ L3 6842368 0.000000 193.500000 28.500000 0 193.500000 25.500000 0
+ L3 6842368 0.000000 193.500000 25.500000 0 195.000000 28.500000 0
+ L3 6842368 0.000000 193.500000 28.500000 0 195.000000 25.500000 0
+ L3 6842368 0.000000 240.000000 25.500000 0 241.500000 25.500000 0
+ L3 6842368 0.000000 241.500000 25.500000 0 241.500000 28.500000 0
+ L3 6842368 0.000000 241.500000 28.500000 0 240.000000 28.500000 0
+ L3 6842368 0.000000 240.000000 28.500000 0 240.000000 25.500000 0
+ L3 6842368 0.000000 240.000000 25.500000 0 241.500000 28.500000 0
+ L3 6842368 0.000000 240.000000 28.500000 0 241.500000 25.500000 0
+ L3 6842368 0.000000 66.963574 74.097098 0 99.752250 74.526309 0
+ L3 6842368 0.000000 69.074808 62.123707 0 97.955168 62.501757 0
+ L3 6842368 0.000000 68.810904 63.620381 0 98.179803 64.004826 0
+ L3 6842368 0.000000 67.227478 72.600424 0 99.527615 73.023240 0
+ L3 6842368 0.000000 66.963574 74.097098 0 69.047354 62.279406 0
+ L3 6842368 0.000000 68.747111 72.620317 0 70.330536 63.640273 0
+ L3 6842368 0.000000 98.007982 73.003348 0 96.660171 63.984934 0
+ L3 6842368 0.000000 99.752250 74.526309 0 97.955168 62.501757 0
+ END$SEGS
+CAR 16 Fn3 "Accucraft AMS Box Car Box Car Moffat Logo AM2201-04 Denver & Rio Grande Western D&RGW 3491" 512 30100 21.750 5.000 0 0 16.310 22.750 8535808 0.000 0.000 0 0 0 0 0 0 0 0 0 "" 772 0 428.466 512.667 118.000
+ T4 773 438.509820 507.326657 117.999711 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ T4 782 418.422708 518.007033 297.999711 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ END$SEGS
+CAR 19 Fn3 "Accucraft AMS Box Car Box Car Moffat Logo AM2201-13 Denver & Rio Grande Western D&RGW 3471" 512 30100 21.750 5.000 0 0 16.310 22.750 8535808 0.000 0.000 0 0 0 0 0 0 0 0 0 "" 773 0 448.340 501.605 121.848
+ T4 774 458.002256 495.603133 121.847764 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ T4 772 438.677198 507.607492 301.847764 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ END$SEGS
+CAR 17 Fn3 "Accucraft AMS Box Car Box Car AM2201-20 Rio Grande Southern RGS 8510" 512 30100 21.750 5.000 0 0 16.310 22.750 8535808 0.000 0.000 0 0 0 0 0 0 0 0 0 "" 774 0 466.923 488.503 128.000
+ T4 775 475.886169 481.499866 128.000000 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ T4 773 457.958925 495.506164 308.000000 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ END$SEGS
+CAR 18 Fn3 "Accucraft AMS Box Car Box Car AM2201-21 Rio Grande Southern RGS 8511" 512 30100 21.750 5.000 0 0 16.310 22.750 8535808 0.000 0.000 0 0 0 0 0 0 0 0 0 "" 775 0 484.850 474.497 128.000
+ T4 784 493.813414 467.493567 128.000000 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ T4 774 475.886169 481.499866 308.000000 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ END$SEGS
+CAR 9 Fn3 "Accucraft AMS Jackson & Sharp Coach Jackson & Sharp Coach Red AM54-012A Rio Grande Southern RGS 253" 512 50100 25.500 5.000 0 0 19.125 26.500 8535808 0.000 0.000 0 20200513 0 0 0 0 0 0 0 "" 776 0 325.843 151.770 270.000
+ T4 778 312.593116 151.769491 269.999919 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ T4 777 339.093116 151.769528 89.999919 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ END$SEGS
+CAR 10 Fn3 "Accucraft AMS Jackson & Sharp Coach Jackson & Sharp Coach Red AM54-012C Rio Grande Southern RGS 255" 512 50100 25.500 5.000 0 0 19.125 26.500 8535808 0.000 0.000 0 0 0 0 0 0 0 0 0 "" 777 0 352.343 151.753 91.240
+ E4 365.589890 151.465843 91.240409 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ T4 776 339.096100 152.039503 271.240409 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ END$SEGS
+CAR 3 Fn3 "Accucraft AMS Jackson & Sharp Combine Jackson & Sharp Combine Red AM54-022B Rio Grande Southern RGS 201" 512 50100 25.500 5.000 0 0 19.130 26.500 8535808 0.000 0.000 0 0 0 0 0 0 0 0 0 "" 778 0 299.343 151.769 270.000
+ T4 783 286.093116 151.769454 269.999919 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ T4 776 312.593116 151.769491 89.999919 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ END$SEGS
+CAR 43 Fn3 "Custom 2-8-0, Baldwin Consolidation C-19 " 518 10201 18.000 5.000 0 0 8.000 19.600 5592405 0.000 0.000 0 0 0 0 0 0 0 0 0 "" 779 0 263.784 144.126 245.616
+ E4 254.858175 140.080057 245.616081 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ T4 783 272.709847 148.171894 65.616081 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ END$SEGS
+CAR 40 Fn3 "Custom 2-8-2, Baldwin Mikado K-27 " 518 10201 24.150 5.000 0 0 10.000 25.750 5592405 0.000 0.000 0 0 0 0 0 0 0 0 0 "" 780 0 516.986 449.280 130.791
+ E4 526.733769 440.868898 130.790755 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ T4 784 507.238431 457.691333 310.790755 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ END$SEGS
+CAR 46 Fn3 "Custom CONX Framed Tank Car " 512 30100 18.000 5.000 0 0 13.200 19.600 12632256 0.000 0.000 0 0 0 0 0 0 0 0 0 "" 781 0 316.400 117.943 270.000
+ E4 306.600000 117.943254 269.999694 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ T4 785 326.200000 117.943358 89.999694 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ END$SEGS
+CAR 15 Fn3 "Custom D&RGW Long Caboose " 0 90100 15.000 5.050 0 0 13.400 16.600 8405056 0.000 0.000 0 0 0 0 0 0 0 0 0 ""
+CAR 14 Fn3 "Custom D&RGW Short Caboose " 512 90100 9.600 5.050 0 0 8.400 11.200 8405056 0.000 0.000 0 0 0 0 0 0 0 0 0 "" 782 0 413.022 519.647 108.327
+ T4 772 418.337449 517.885713 108.327282 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ E4 407.705560 521.407492 288.327282 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ END$SEGS
+CAR 41 Fn3 "Custom Tender, Consolidation Short " 512 10201 12.000 5.000 0 0 8.000 13.600 5592405 0.000 0.000 0 0 0 0 0 0 0 0 0 "" 783 0 279.471 149.477 256.716
+ T4 779 272.852599 147.914041 256.715635 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ T4 778 286.088685 151.039105 76.715635 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ END$SEGS
+CAR 42 Fn3 "Custom Tender, Mikado Long " 512 10201 15.000 5.000 0 0 8.000 16.600 5592405 0.000 0.000 0 0 0 0 0 0 0 0 0 "" 784 0 500.354 462.384 128.000
+ T4 780 506.894392 457.273587 128.000000 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ T4 775 493.813414 467.493567 308.000000 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ END$SEGS
+CAR 45 Fn3 "Custom UTLX Frameless Tank Car " 512 30100 18.000 4.500 0 0 13.200 19.600 0 0.000 0.000 0 0 0 0 0 0 0 0 0 "" 785 0 336.000 117.943 90.000
+ E4 345.800000 117.943392 89.999833 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ T4 781 326.200000 117.943335 269.999833 0 0.0 0.0 0.0 0.0 0 0 0 0.000000
+ END$SEGS
+END$TRACKS
diff --git a/app/lib/params/4DBrix(Lego Track).xtp b/app/lib/params/4DBrix(Lego Track).xtp
new file mode 100644
index 0000000..316af41
--- /dev/null
+++ b/app/lib/params/4DBrix(Lego Track).xtp
@@ -0,0 +1,230 @@
+CONTENTS 4DBrix(Lego) Track Components
+SUBCONTENTS 4DBrix(Lego) Track - Straight Track
+TURNOUT LEGO "4DBrix(Lego) Straight Track (S4/32mm) S4"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.259843 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.259843 0.000000
+END
+TURNOUT LEGO "4DBrix(Lego) Straight Track (S8/64mm) S8"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.519685 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 2.519685 0.000000
+END
+TURNOUT LEGO "4DBrix(Lego) Straight Track (S16/128mm) S16"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.039370 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 5.039370 0.000000
+END
+TURNOUT LEGO "4DBrix(Lego) Straight Track (S24/192mm) S24"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 7.559055 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 7.559055 0.000000
+END
+TURNOUT LEGO "4DBrix(Lego) Straight Track (S32/256mm) S32"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.078740 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 10.078740 0.000000
+END
+TURNOUT LEGO "4DBrix(Lego) Straight Track (S48/384mm) S48"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 15.118110 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 15.118110 0.000000
+END
+
+
+SUBCONTENTS 4DBrix(Lego) Track - Curve Track
+TURNOUT LEGO "4DBrix(Lego) Curve Track R40/320mm 22.5d R40"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.821209 -0.958998 112.500000
+ C 0 0.000000 12.598425 0.000000 -12.598425 0.000000 22.500000
+END
+TURNOUT LEGO "4DBrix(Lego) Curve Track R88/704mm 11.25d R88"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.407228 -0.532565 101.250000
+ C 0 0.000000 27.716535 0.000000 -27.716535 0.000000 11.250000
+END
+TURNOUT LEGO "4DBrix(Lego) Curve Track R56/448mm 18d R56-18"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.450378 -0.863255 108.000000
+ C 0 0.000000 17.637795 0.000000 -17.637795 0.000000 18.000000
+END
+TURNOUT LEGO "4DBrix(Lego) Curve Track R72/576mm 15d R72-15"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.869282 -0.772706 105.000000
+ C 0 0.000000 22.677165 0.000000 -22.677165 0.000000 15.000000
+END
+
+
+SUBCONTENTS 4DBrix(Lego) Track - Crossing Track
+TURNOUT LEGO "4DBrix(Lego) Crossing Track 90D S16/128mm C90"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 5.039370 0.000000 90.000000
+ E 2.519692 2.519685 0.000000
+ E 2.519678 -2.519685 180.000000
+ S 0 0.000000 0.000000 0.000000 5.039370 0.000000
+ S 0 0.000000 2.519692 2.519685 2.519678 -2.519685
+END
+
+
+SUBCONTENTS 4DBrix(Lego) Track - Bumper Track
+TURNOUT LEGO "4DBrix(Lego) Bumper Track (S5/40mm) BUMPER"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ S 0 0.000000 0.000000 0.000000 1.574803 0.000000
+ L3 0 0.315000 0.944803 0.738189 0 1.574803 0.738189 0
+ L3 0 0.315000 0.944803 -0.738189 0 1.574803 -0.738189 0
+END
+
+
+SUBCONTENTS 4DBrix(Lego) Track - Turnouts
+TURNOUT LEGO "4DBrix(Lego) Lefthand Switch S26.7/R40 P26.7-LH"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 8.409449 0.000000 90.000000
+ E 10.296841 4.080679 67.500000
+ S 0 0.000000 0.000000 0.000000 8.409449 0.000000
+ C 0 0.000000 -12.598425 0.000000 12.598425 143.130102 36.869898
+END
+TURNOUT LEGO "4DBrix(Lego) Righthand Switch S26.7/R40 P26.7-RH"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 8.409449 0.000000 90.000000
+ E 10.296841 -4.080679 112.500000
+ S 0 0.000000 0.000000 0.000000 8.409449 0.000000
+ C 0 0.000000 12.598425 0.000000 -12.598425 0.000000 36.869898
+END
+TURNOUT LEGO "4DBrix(Lego) Lefthand Switch S32/R40 P32-LH"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 10.078740 0.000000 90.000000
+ E 10.296841 4.080679 67.500000
+ S 0 0.000000 0.000000 0.000000 10.078740 0.000000
+ C 0 0.000000 -12.598425 0.000000 12.598425 143.130102 36.869898
+END
+TURNOUT LEGO "4DBrix(Lego) Righthand Switch S32/R40 P32-RH"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 10.078740 0.000000 90.000000
+ E 10.296841 -4.080679 112.500000
+ S 0 0.000000 0.000000 0.000000 10.078740 0.000000
+ C 0 0.000000 12.598425 0.000000 -12.598425 0.000000 36.869898
+END
+TURNOUT LEGO "4DBrix(Lego) Curved Lefthand Switch S32/R40 P32-CLH"
+ P "Normal" 1 2
+ P "Reverse" 3
+ E 0.000000 0.000000 270.000000
+ E 9.860579 0.958998 67.500000
+ E 8.908432 3.689993 45.000000
+ S 0 0.000000 0.000000 0.000000 5.039370 0.000000
+ C 0 0.000000 -12.598425 5.039370 12.598425 157.500000 22.500000
+ C 0 0.000000 -12.598425 0.000000 12.598425 135.000000 45.000000
+END
+TURNOUT LEGO "4DBrix(Lego) Curve Righthand Switch S32/R40 P32-CRH"
+ P "Normal" 1 2
+ P "Reverse" 3
+ E 0.000000 0.000000 270.000000
+ E 9.860579 -0.958998 112.500000
+ E 8.908432 -3.689993 135.000000
+ S 0 0.000000 0.000000 0.000000 5.039370 0.000000
+ C 0 0.000000 12.598425 5.039370 -12.598425 0.000000 22.500000
+ C 0 0.000000 12.598425 0.000000 -12.598425 0.000000 45.000000
+ END
+TURNOUT LEGO "4DBrix(Lego) Lefthand Switch S40/R104 P40-LH"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 12.598425 0.000000 90.000000
+ E 12.535142 2.493395 67.500000
+ S 0 0.000000 0.000000 0.000000 12.598425 0.000000
+ C 0 0.000000 32.755906 0.000000 32.755906 157.500000 22.500000
+END
+TURNOUT LEGO "4DBrix(Lego) Righthand Switch S40/R104 P40-RH"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 12.598425 0.000000 90.000000
+ E 12.535142 -2.493395 112.500000
+ S 0 0.000000 0.000000 0.000000 12.598425 0.000000
+ C 0 0.000000 32.755906 0.000000 -32.755906 0.000000 22.500000
+END
+TURNOUT LEGO "4DBrix(Lego) Double Crossover S48/384mm DCOS"
+ P "Normal" 1 0 6
+ P "Reverse" 2 3 0 4 5
+ E 0.000000 0.000000 270.000000
+ E 15.118110 0.000000 90.000000
+ E 0.000000 5.039370 270.000000
+ E 15.118110 5.039370 90.000000
+ S 0 0.000000 0.000000 0.000000 15.118110 0.000000
+ C 0 0.000000 -12.598425 0.000000 12.598425 143.130102 36.869898
+ C 0 0.000000 12.598425 15.118110 -7.559055 323.130102 36.869898
+ C 0 0.000000 12.598425 0.000000 -7.559055 0.000000 36.869898
+ C 0 0.000000 -12.598425 15.118110 12.598425 180.000000 36.869898
+ S 0 0.000000 0.000000 5.039370 15.118110 5.039370
+END
+TURNOUT LEGO "4DBrix(Lego) LeftHand Crossover S48/384mm COS-LH"
+ P "Normal" 1 0 4
+ P "Reverse" 2 3
+ E 0.000000 0.000000 270.000000
+ E 10.078740 0.000000 90.000000
+ E 5.039370 5.039370 270.000000
+ E 15.118110 5.039370 90.000000
+ S 0 0.000000 0.000000 0.000000 10.078740 0.000000
+ C 0 0.000000 -12.598425 0.000000 12.598425 143.130102 36.869898
+ C 0 0.000000 12.598425 15.118110 -7.559055 323.130102 36.869898
+ S 0 0.000000 5.039370 5.039370 15.118110 5.039370
+END
+TURNOUT LEGO "4DBrix(Lego) RightHand Crossover S48/384mm COS-RH"
+ P "Normal" 1 0 4
+ P "Reverse" 2 3
+ E 0.000000 0.000000 270.000000
+ E 10.078740 0.000000 90.000000
+ E 5.039370 -5.039370 270.000000
+ E 15.118110 -5.039370 90.000000
+ S 0 0.000000 0.000000 0.000000 10.078740 0.000000
+ C 0 0.000000 12.598425 0.000000 -12.598425 0.000000 36.869898
+ C 0 0.000000 -12.598425 15.118110 7.559055 180.000000 36.869898
+ S 0 0.000000 5.039370 -5.039370 15.118110 -5.039370
+END
+TURNOUT LEGO "4DBrix(Lego) 3-Way Swicth S32/256mm 3WS"
+ P "Normal" 1
+ P "Reverse1" 2
+ P "Reverse2" 3
+ E 0.000000 0.000000 270.000000
+ E 7.559055 2.519685 53.130102
+ E 10.078740 0.000000 90.000000
+ E 7.559055 -2.519685 126.869898
+ S 0 0.000000 0.000000 0.000000 10.078740 0.000000
+ C 0 0.000000 12.598425 0.000000 12.598425 143.130102 36.869898
+ C 0 0.000000 12.598425 0.000000 -12.598425 0.000000 36.869898
+END
+TURNOUT LEGO "4DBrix(Lego) 3W/Wye Curve Track R40/320mm 8.1d R40-8.1"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.781686 -0.126621 98.130102
+ C 0 0.000000 12.598425 0.000000 -12.598425 0.000000 8.130102
+END
+TURNOUT LEGO "4DBrix(Lego) WYE Switch S24/192mm YS"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 7.559055 2.519685 53.130102
+ E 7.559055 -2.519685 126.869898
+ C 0 0.000000 12.598425 0.000000 12.598425 143.130102 36.869898
+ C 0 0.000000 12.598425 0.000000 -12.598425 0.000000 36.869898
+END
+
diff --git a/app/lib/params/5in-MiniTrain.xtp b/app/lib/params/5in-MiniTrain.xtp
new file mode 100644
index 0000000..9b8952b
--- /dev/null
+++ b/app/lib/params/5in-MiniTrain.xtp
@@ -0,0 +1,889 @@
+CONTENTS 5" Gauge Mini Train Systems
+# by Russell Shilling 20210823
+
+SUBCONTENTS Straight Track
+TURNOUT 5" "Mini Train Systems Straight Single Str 1.5m"
+ U "Straight Section" "" "Mini Train Systems" "Straight Single" "Str 1.5m" 59.055118 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 59.055118 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 59.055118 0.000000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Straight Double Str 3.0m"
+ U "Straight Section" "" "Mini Train Systems" "Straight Double" "Str 3.0m" 118.110236 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 118.110236 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 118.110236 0.000000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Straight Half Str 750mm"
+ U "Straight Section" "" "Mini Train Systems" "Straight Half" "Str 750mm" 29.527559 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 29.527559 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 29.527559 0.000000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Buffer Half Buf 750mm"
+ U "Straight Section" "" "Mini Train Systems" "Buffer" "Buffer 750mm" 29.527559 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ S 0 0.000000 0.000000 0.000000 29.527559 0.000000
+ L 0 1.500000 25.527559 -2.000000 25.527559 2.000000
+ L 0 0.800000 25.527559 -1.7500000 29.527559 -3.000000
+ L 0 0.800000 25.527559 1.7500000 29.527559 3.000000
+ END$SEGS
+
+SUBCONTENTS Curved Track
+TURNOUT 5" "Mini Train Systems Curved 2.5m 45deg Crv 2.5m 45d"
+ U "Curved Section" "" "Mini Train Systems" "Curve 2.5m/45deg" "Crv 2.5/45" 98.425197 45.000000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 69.597124 28.828073 45.000000
+ C 0 0.000000 -98.425197 0.000000 98.425197 135.000000 45.000000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Curved 3.8m 22.5deg Crv 3.8m 22.5d"
+ U "Curved Section" "" "Mini Train Systems" "Curve 3.8m/22.5deg" "Crv 3.8/22.5" 149.606299 22.500000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 57.251852 11.388101 67.500000
+ C 0 0.000000 -149.606299 0.000000 149.606299 157.500000 22.500000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Curved 5m 22.5deg Crv 5m 22.5d"
+ U "Curved Section" "" "Mini Train Systems" "Curve 5m/22.5deg" "Crv 5/22.5" 196.850394 22.500000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 75.331384 14.984344 67.500000
+ C 0 0.000000 -196.850394 0.000000 196.850394 157.500000 22.500000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Curved 6.25m 15deg Crv 6.25m 15d"
+ U "Curved Section" "" "Mini Train Systems" "Curved 6.25m 15deg" "Crv 6.25m 15deg" 246.062992 15.000000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 63.685789 8.384393 75.000000
+ C 0 0.000000 -246.062992 0.000000 246.062992 165.000000 15.000000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Curved 6.25m 22.5deg Crv 6.25m 22.5d"
+ U "Curved Section" "" "Mini Train Systems" "Curved 6.25m 22.5deg" "Crv 6.25m 22.5deg" 246.062992 22.500000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 94.164230 18.730430 67.500000
+ C 0 0.000000 -246.062992 0.000000 246.062992 157.500000 22.500000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Curved 8.5m 15deg Crv 8.5m 15d"
+ U "Curved Section" "" "Mini Train Systems" "Curved 8.5m 15deg" "Crv 8.5m 15deg" 334.645669 15.000000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 86.612673 11.402775 75.000000
+ C 0 0.000000 -334.645669 0.000000 334.645669 165.000000 15.000000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Curved 10m 15deg Crv 10m 15d"
+ U "Curved Section" "" "Mini Train Systems" "Curved 10m 15deg" "Crv 10m 15deg" 393.700787 15.000000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 101.897262 13.415029 75.000000
+ C 0 0.000000 -393.700787 0.000000 393.700787 165.000000 15.000000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Curved 12m 15deg Crv 12m 15d"
+ U "Curved Section" "" "Mini Train Systems" "Curved 12m 15deg" "Crv 12m 15deg" 472.440945 15.000000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 122.276714 16.098035 75.000000
+ C 0 0.000000 -472.440945 0.000000 472.440945 165.000000 15.000000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Curved 14m 15deg Crv 14m 15d"
+ U "Curved Section" "" "Mini Train Systems" "Curved 14m 15deg" "Crv 14m 15deg" 551.181102 15.000000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 142.656167 18.781041 75.000000
+ C 0 0.000000 -551.181102 0.000000 551.181102 165.000000 15.000000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Curved 18m 7.5deg Crv 18m 7.5d"
+ U "Curved Section" "" "Mini Train Systems" "Curved 18m 7.5deg" "Crv 18m 7.5deg" 708.661417 7.500000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 92.498876 6.062697 82.500000
+ C 0 0.000000 -708.661417 0.000000 708.661417 172.500000 7.500000
+ END$SEGS
+
+SUBCONTENTS Turnouts (Points)
+TURNOUT 5" "Mini Train Systems Left Turnout 3.8m 22.5deg Lft 3.8m 22.5d"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 59.055118 0.000000 90.000000
+ E 57.251852 11.388101 67.500000
+ S 0 0.000000 0.000000 0.000000 59.055118 0.000000
+ C 0 0.000000 -149.606299 0.000000 149.606299 157.500000 22.500000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Right Turnout 3.8m 22.5deg Rgt 3.8m 22.5d"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 59.055118 0.000000 90.000000
+ E 57.251852 -11.388101 112.500000
+ S 0 0.000000 0.000000 0.000000 59.055118 0.000000
+ C 0 0.000000 149.606299 0.000000 -149.606299 0.000000 22.500000
+ END$SEGS
+
+TURNOUT 5" "Mini Train Systems Left Turnout 6.25m 15deg Lft 6.25m 15d"
+ U "Regular Turnout" "" "Mini Train Systems" "Left Turnout 6.25m 15deg" "L 6.25m/15d" "Right" "R 6.25m/22.5d" 94.164230 22.500000 18.730430 88.582677 0.000000 0.000000 0
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 88.582677 0.000000 90.000000
+ E 63.685789 8.384393 75.000000
+ S 0 0.000000 0.000000 0.000000 88.582677 0.000000
+ C 0 0.000000 -246.062992 0.000000 246.062992 165.000000 15.000000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Right Turnout 6.25m 22.5deg Rgt 6.25m 15d"
+ U "Regular Turnout" "" "Mini Train Systems" "Left Turnout 6.25m 15deg" "L 6.25m/15d" "Right" "R 6.25m/22.5d" 94.164230 22.500000 18.730430 88.582677 0.000000 0.000000 0
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 88.582677 0.000000 90.000000
+ E 63.685789 -8.384393 105.000000
+ S 0 0.000000 0.000000 0.000000 88.582677 0.000000
+ C 0 0.000000 246.062992 0.000000 -246.062992 0.000000 15.000000
+ END$SEGS
+
+TURNOUT 5" "Mini Train Systems Left Turnout 10m 15deg Lft 10m 15d"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 118.110236 0.000000 90.000000
+ E 101.897262 13.415029 75.000000
+ S 0 0.000000 0.000000 0.000000 118.110236 0.000000
+ C 0 0.000000 -393.700787 0.000000 393.700787 165.000000 15.000000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Right Turnout 10m 15deg Rgt 10m 15d"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 118.110236 0.000000 90.000000
+ E 101.897262 -13.415029 105.000000
+ S 0 0.000000 0.000000 0.000000 118.110236 0.000000
+ C 0 0.000000 393.700787 0.000000 -393.700787 0.000000 15.000000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Wye Turnout 10m 15deg Wye 10m 15d"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 101.897262 13.415029 75.000000
+ E 101.897262 -13.415029 105.000000
+ C 0 0.000000 -393.700787 0.000000 393.700787 165.000000 15.000000
+ C 0 0.000000 393.700787 0.000000 -393.700787 0.000000 15.000000
+ END$SEGS
+
+TURNOUT 5" "Mini Train Systems Left Turnout 14m 12deg Lft 14m 12d"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 118.110236 0.000000 90.000000
+ E 114.596995 12.044630 78.000000
+ S 0 0.000000 0.000000 0.000000 118.110236 0.000000
+ C 0 0.000000 -551.181102 0.000000 551.181102 168.000000 12.000000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Right Turnout 14m 12deg Rgt 14m 12d"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 118.110236 0.000000 90.000000
+ E 114.596995 -12.044630 102.000000
+ S 0 0.000000 0.000000 0.000000 118.110236 0.000000
+ C 0 0.000000 551.181102 0.000000 -551.181102 0.000000 12.000000
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Turnout Extender 14m 3deg Ext 14m 3d"
+ U "Curved Section" "" "Mini Train Systems" "Turnout Curve 14m/3d" "14m/3d" 551.181102 3.000000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 28.846590 0.755375 87.000000
+ C 0 0.000000 -551.181102 -0.000000 551.181102 177.000000 3.000000
+ END$SEGS
+
+SUBCONTENTS Diamond Crossing
+TURNOUT 5" "Mini Train Systems Diamond 15 Degree Xng 15d"
+ U "Crossing" "" "Mini Train Systems" "Diamond 15 Degree" "X 15d" 118.110236 15.000000 118.110236 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 118.110236 0.000000 90.000000
+ E 2.012254 15.284589 285.000000
+ E 116.097982 -15.284589 105.000000
+ S 0 0.000000 0.000000 0.000000 118.110236 0.000000
+ S 0 0.000000 2.012254 15.284589 116.097982 -15.284589
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Diamond 22.5 Degree Xng 22.5d"
+ U "Crossing" "" "Mini Train Systems" "Diamond 22.5 Degree" "X 22.5d" 68.897638 22.500000 68.897638 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 68.897638 0.000000 90.000000
+ E 2.622260 13.182992 292.500000
+ E 66.275378 -13.182992 112.500000
+ S 0 0.000000 0.000000 0.000000 68.897638 0.000000
+ S 0 0.000000 2.622260 13.182992 66.275378 -13.182992
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Diamond 30 Degree Xng 30d"
+ U "Crossing" "" "Mini Train Systems" "Diamond 30 Degree" "X 30d" 59.055118 30.000000 59.055118 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 59.055118 0.000000 90.000000
+ E 3.955943 14.763780 300.000000
+ E 55.099175 -14.763780 120.000000
+ S 0 0.000000 0.000000 0.000000 59.055118 0.000000
+ S 0 0.000000 3.955943 14.763780 55.099175 -14.763780
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Diamond 45 Degree Xng 45d"
+ U "Crossing" "" "Mini Train Systems" "Diamond 45 Degree" "X 45d" 59.055118 45.000000 59.055118 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 59.055118 0.000000 90.000000
+ E 8.648422 20.879137 315.000000
+ E 50.406696 -20.879137 135.000000
+ S 0 0.000000 0.000000 0.000000 59.055118 0.000000
+ S 0 0.000000 8.648422 20.879137 50.406696 -20.879137
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Diamond 60 Degree Xng 60d"
+ U "Crossing" "" "Mini Train Systems" "Diamond 60 Degree" "X 60d" 59.055118 60.000000 59.055118 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 59.055118 0.000000 90.000000
+ E 14.763780 25.571616 330.000000
+ E 44.291339 -25.571616 150.000000
+ S 0 0.000000 0.000000 0.000000 59.055118 0.000000
+ S 0 0.000000 14.763780 25.571616 44.291339 -25.571616
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Diamond 75 Degree Xng 75d"
+ U "Crossing" "" "Mini Train Systems" "Diamond 75 Degree" "X 75d" 29.527559 75.000000 29.527559 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 29.527559 0.000000 90.000000
+ E 10.942632 14.260716 345.000000
+ E 18.584927 -14.260716 165.000000
+ S 0 0.000000 0.000000 0.000000 29.527559 0.000000
+ S 0 0.000000 10.942632 14.260716 18.584927 -14.260716
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Diamond 90 Degree Xng 90d"
+ U "Crossing" "" "Mini Train Systems" "Diamond 90 Degree" "X 90d" 29.527559 90.000000 29.527559 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 29.527559 0.000000 90.000000
+ E 14.763780 14.763780 360.000000
+ E 14.763780 -14.763780 180.000000
+ S 0 0.000000 0.000000 0.000000 29.527559 0.000000
+ S 0 0.000000 14.763780 14.763780 14.763780 -14.763780
+ END$SEGS
+
+SUBCONTENTS Special Track
+TURNOUT 5" "Mini Train Systems Level Crossing Single LvlX 1.5m"
+ U "Straight Section" "" "Mini Train Systems" "Straight Single" "Str 1.5m" 59.055118 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 59.055118 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 59.055118 0.000000
+#
+ F4 15263744 0.000000 4 0
+ 0.500000 6.000000 0
+ 4.000000 6.000000 0
+ 1.000000 3.000000 0
+ 0.500000 3.000000 0
+ F4 0 0.000000 4 0
+ 4.000000 6.000000 0
+ 7.000000 6.000000 0
+ 4.000000 3.000000 0
+ 1.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 7.000000 6.000000 0
+ 10.000000 6.000000 0
+ 7.000000 3.000000 0
+ 4.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 10.000000 6.000000 0
+ 13.000000 6.000000 0
+ 10.000000 3.000000 0
+ 7.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 13.000000 6.000000 0
+ 16.000000 6.000000 0
+ 13.000000 3.000000 0
+ 10.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 16.000000 6.000000 0
+ 19.000000 6.000000 0
+ 16.000000 3.000000 0
+ 13.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 19.000000 6.000000 0
+ 22.000000 6.000000 0
+ 19.000000 3.000000 0
+ 16.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 22.000000 6.000000 0
+ 25.000000 6.000000 0
+ 22.000000 3.000000 0
+ 19.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 25.000000 6.000000 0
+ 28.000000 6.000000 0
+ 25.000000 3.000000 0
+ 22.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 28.000000 6.000000 0
+ 31.000000 6.000000 0
+ 28.000000 3.000000 0
+ 25.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 31.000000 6.000000 0
+ 34.000000 6.000000 0
+ 31.000000 3.000000 0
+ 28.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 34.000000 6.000000 0
+ 37.000000 6.000000 0
+ 34.000000 3.000000 0
+ 31.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 37.000000 6.000000 0
+ 40.000000 6.000000 0
+ 37.000000 3.000000 0
+ 34.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 40.000000 6.000000 0
+ 43.000000 6.000000 0
+ 40.000000 3.000000 0
+ 37.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 43.000000 6.000000 0
+ 46.000000 6.000000 0
+ 43.000000 3.000000 0
+ 40.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 46.000000 6.000000 0
+ 49.000000 6.000000 0
+ 46.000000 3.000000 0
+ 43.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 49.000000 6.000000 0
+ 52.000000 6.000000 0
+ 49.000000 3.000000 0
+ 46.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 52.000000 6.000000 0
+ 55.000000 6.000000 0
+ 52.000000 3.000000 0
+ 49.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 55.000000 6.000000 0
+ 58.000000 6.000000 0
+ 55.000000 3.000000 0
+ 52.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 58.000000 6.000000 0
+ 58.500000 6.000000 0
+ 58.500000 3.000000 0
+ 55.000000 3.000000 0
+#
+ F4 15263744 0.000000 4 0
+ 0.500000 -3.000000 0
+ 4.000000 -3.000000 0
+ 1.000000 -6.000000 0
+ 0.500000 -6.000000 0
+ F4 0 0.000000 4 0
+ 4.000000 -3.000000 0
+ 7.000000 -3.000000 0
+ 4.000000 -6.000000 0
+ 1.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 7.000000 -3.000000 0
+ 10.000000 -3.000000 0
+ 7.000000 -6.000000 0
+ 4.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 10.000000 -3.000000 0
+ 13.000000 -3.000000 0
+ 10.000000 -6.000000 0
+ 7.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 13.000000 -3.000000 0
+ 16.000000 -3.000000 0
+ 13.000000 -6.000000 0
+ 10.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 16.000000 -3.000000 0
+ 19.000000 -3.000000 0
+ 16.000000 -6.000000 0
+ 13.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 19.000000 -3.000000 0
+ 22.000000 -3.000000 0
+ 19.000000 -6.000000 0
+ 16.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 22.000000 -3.000000 0
+ 25.000000 -3.000000 0
+ 22.000000 -6.000000 0
+ 19.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 25.000000 -3.000000 0
+ 28.000000 -3.000000 0
+ 25.000000 -6.000000 0
+ 22.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 28.000000 -3.000000 0
+ 31.000000 -3.000000 0
+ 28.000000 -6.000000 0
+ 25.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 31.000000 -3.000000 0
+ 34.000000 -3.000000 0
+ 31.000000 -6.000000 0
+ 28.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 34.000000 -3.000000 0
+ 37.000000 -3.000000 0
+ 34.000000 -6.000000 0
+ 31.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 37.000000 -3.000000 0
+ 40.000000 -3.000000 0
+ 37.000000 -6.000000 0
+ 34.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 40.000000 -3.000000 0
+ 43.000000 -3.000000 0
+ 40.000000 -6.000000 0
+ 37.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 43.000000 -3.000000 0
+ 46.000000 -3.000000 0
+ 43.000000 -6.000000 0
+ 40.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 46.000000 -3.000000 0
+ 49.000000 -3.000000 0
+ 46.000000 -6.000000 0
+ 43.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 49.000000 -3.000000 0
+ 52.000000 -3.000000 0
+ 49.000000 -6.000000 0
+ 46.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 52.000000 -3.000000 0
+ 55.000000 -3.000000 0
+ 52.000000 -6.000000 0
+ 49.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 55.000000 -3.000000 0
+ 58.000000 -3.000000 0
+ 55.000000 -6.000000 0
+ 52.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 58.000000 -3.000000 0
+ 58.500000 -3.000000 0
+ 58.500000 -6.000000 0
+ 55.000000 -6.000000 0
+ END$SEGS
+TURNOUT 5" "Mini Train Systems Level Crossing Double LvlX 3.0m"
+ U "Straight Section" "" "Mini Train Systems" "Straight Double" "Str 3.0m" 118.110236 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 118.110236 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 118.110236 0.000000
+#
+ F4 15263744 0.000000 3 0
+ 0.500000 6.000000 0
+ 3.500000 6.000000 0
+ 0.500000 3.000000 0
+ F4 0 0.000000 4 0
+ 3.500000 6.000000 0
+ 6.500000 6.000000 0
+ 3.500000 3.000000 0
+ 0.500000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 6.500000 6.000000 0
+ 9.500000 6.000000 0
+ 6.500000 3.000000 0
+ 3.500000 3.000000 0
+ F4 0 0.000000 4 0
+ 9.500000 6.000000 0
+ 12.500000 6.000000 0
+ 9.500000 3.000000 0
+ 6.500000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 12.500000 6.000000 0
+ 15.500000 6.000000 0
+ 12.500000 3.000000 0
+ 9.500000 3.000000 0
+ F4 0 0.000000 4 0
+ 15.500000 6.000000 0
+ 18.500000 6.000000 0
+ 15.500000 3.000000 0
+ 12.500000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 18.500000 6.000000 0
+ 21.500000 6.000000 0
+ 18.500000 3.000000 0
+ 15.500000 3.000000 0
+ F4 0 0.000000 4 0
+ 21.500000 6.000000 0
+ 24.500000 6.000000 0
+ 21.500000 3.000000 0
+ 18.500000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 24.500000 6.000000 0
+ 27.500000 6.000000 0
+ 24.500000 3.000000 0
+ 21.500000 3.000000 0
+ F4 0 0.000000 4 0
+ 27.500000 6.000000 0
+ 30.500000 6.000000 0
+ 27.500000 3.000000 0
+ 24.500000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 30.500000 6.000000 0
+ 33.500000 6.000000 0
+ 30.500000 3.000000 0
+ 27.500000 3.000000 0
+ F4 0 0.000000 4 0
+ 33.500000 6.000000 0
+ 36.500000 6.000000 0
+ 33.500000 3.000000 0
+ 30.500000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 36.500000 6.000000 0
+ 39.500000 6.000000 0
+ 36.500000 3.000000 0
+ 33.500000 3.000000 0
+ F4 0 0.000000 4 0
+ 39.500000 6.000000 0
+ 42.500000 6.000000 0
+ 39.500000 3.000000 0
+ 36.500000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 42.500000 6.000000 0
+ 45.500000 6.000000 0
+ 42.500000 3.000000 0
+ 39.500000 3.000000 0
+ F4 0 0.000000 4 0
+ 45.500000 6.000000 0
+ 48.500000 6.000000 0
+ 45.500000 3.000000 0
+ 42.500000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 48.500000 6.000000 0
+ 51.500000 6.000000 0
+ 48.500000 3.000000 0
+ 45.500000 3.000000 0
+ F4 0 0.000000 4 0
+ 51.500000 6.000000 0
+ 54.500000 6.000000 0
+ 51.500000 3.000000 0
+ 48.500000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 54.500000 6.000000 0
+ 57.500000 6.000000 0
+ 54.500000 3.000000 0
+ 51.500000 3.000000 0
+ F4 0 0.000000 4 0
+ 57.500000 6.000000 0
+ 60.500000 6.000000 0
+ 57.500000 3.000000 0
+ 54.500000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 61.000000 6.000000 0
+ 64.000000 6.000000 0
+ 61.000000 3.000000 0
+ 58.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 64.000000 6.000000 0
+ 67.000000 6.000000 0
+ 64.000000 3.000000 0
+ 61.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 67.000000 6.000000 0
+ 70.000000 6.000000 0
+ 67.000000 3.000000 0
+ 64.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 70.000000 6.000000 0
+ 73.000000 6.000000 0
+ 70.000000 3.000000 0
+ 67.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 73.000000 6.000000 0
+ 76.000000 6.000000 0
+ 73.000000 3.000000 0
+ 70.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 76.000000 6.000000 0
+ 79.000000 6.000000 0
+ 76.000000 3.000000 0
+ 73.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 79.000000 6.000000 0
+ 82.000000 6.000000 0
+ 79.000000 3.000000 0
+ 76.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 82.000000 6.000000 0
+ 85.000000 6.000000 0
+ 82.000000 3.000000 0
+ 79.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 85.000000 6.000000 0
+ 88.000000 6.000000 0
+ 85.000000 3.000000 0
+ 82.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 88.000000 6.000000 0
+ 91.000000 6.000000 0
+ 88.000000 3.000000 0
+ 85.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 91.000000 6.000000 0
+ 94.000000 6.000000 0
+ 91.000000 3.000000 0
+ 88.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 94.000000 6.000000 0
+ 97.000000 6.000000 0
+ 94.000000 3.000000 0
+ 91.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 97.000000 6.000000 0
+ 100.000000 6.000000 0
+ 97.000000 3.000000 0
+ 94.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 100.000000 6.000000 0
+ 103.000000 6.000000 0
+ 100.000000 3.000000 0
+ 97.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 103.000000 6.000000 0
+ 106.000000 6.000000 0
+ 103.000000 3.000000 0
+ 100.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 106.000000 6.000000 0
+ 109.000000 6.000000 0
+ 106.000000 3.000000 0
+ 103.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 109.000000 6.000000 0
+ 112.000000 6.000000 0
+ 109.000000 3.000000 0
+ 106.000000 3.000000 0
+ F4 0 0.000000 4 0
+ 112.000000 6.000000 0
+ 115.000000 6.000000 0
+ 112.000000 3.000000 0
+ 109.000000 3.000000 0
+ F4 15263744 0.000000 4 0
+ 115.000000 6.000000 0
+ 118.000000 6.000000 0
+ 115.000000 3.000000 0
+ 112.000000 3.000000 0
+ F4 0 0.000000 3 0
+ 118.000000 6.000000 0
+ 118.000000 3.000000 0
+ 115.000000 3.000000 0
+#
+ F4 15263744 0.000000 3 0
+ 0.500000 -3.000000 0
+ 3.500000 -3.000000 0
+ 0.500000 -6.000000 0
+ F4 0 0.000000 4 0
+ 3.500000 -3.000000 0
+ 6.500000 -3.000000 0
+ 3.500000 -6.000000 0
+ 0.500000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 6.500000 -3.000000 0
+ 9.500000 -3.000000 0
+ 6.500000 -6.000000 0
+ 3.500000 -6.000000 0
+ F4 0 0.000000 4 0
+ 9.500000 -3.000000 0
+ 12.500000 -3.000000 0
+ 9.500000 -6.000000 0
+ 6.500000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 12.500000 -3.000000 0
+ 15.500000 -3.000000 0
+ 12.500000 -6.000000 0
+ 9.500000 -6.000000 0
+ F4 0 0.000000 4 0
+ 15.500000 -3.000000 0
+ 18.500000 -3.000000 0
+ 15.500000 -6.000000 0
+ 12.500000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 18.500000 -3.000000 0
+ 21.500000 -3.000000 0
+ 18.500000 -6.000000 0
+ 15.500000 -6.000000 0
+ F4 0 0.000000 4 0
+ 21.500000 -3.000000 0
+ 24.500000 -3.000000 0
+ 21.500000 -6.000000 0
+ 18.500000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 24.500000 -3.000000 0
+ 27.500000 -3.000000 0
+ 24.500000 -6.000000 0
+ 21.500000 -6.000000 0
+ F4 0 0.000000 4 0
+ 27.500000 -3.000000 0
+ 30.500000 -3.000000 0
+ 27.500000 -6.000000 0
+ 24.500000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 30.500000 -3.000000 0
+ 33.500000 -3.000000 0
+ 30.500000 -6.000000 0
+ 27.500000 -6.000000 0
+ F4 0 0.000000 4 0
+ 33.500000 -3.000000 0
+ 36.500000 -3.000000 0
+ 33.500000 -6.000000 0
+ 30.500000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 36.500000 -3.000000 0
+ 39.500000 -3.000000 0
+ 36.500000 -6.000000 0
+ 33.500000 -6.000000 0
+ F4 0 0.000000 4 0
+ 39.500000 -3.000000 0
+ 42.500000 -3.000000 0
+ 39.500000 -6.000000 0
+ 36.500000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 42.500000 -3.000000 0
+ 45.500000 -3.000000 0
+ 42.500000 -6.000000 0
+ 39.500000 -6.000000 0
+ F4 0 0.000000 4 0
+ 45.500000 -3.000000 0
+ 48.500000 -3.000000 0
+ 45.500000 -6.000000 0
+ 42.500000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 48.500000 -3.000000 0
+ 51.500000 -3.000000 0
+ 48.500000 -6.000000 0
+ 45.500000 -6.000000 0
+ F4 0 0.000000 4 0
+ 51.500000 -3.000000 0
+ 54.500000 -3.000000 0
+ 51.500000 -6.000000 0
+ 48.500000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 54.500000 -3.000000 0
+ 57.500000 -3.000000 0
+ 54.500000 -6.000000 0
+ 51.500000 -6.000000 0
+ F4 0 0.000000 4 0
+ 57.500000 -3.000000 0
+ 60.500000 -3.000000 0
+ 57.500000 -6.000000 0
+ 54.500000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 61.000000 -3.000000 0
+ 64.000000 -3.000000 0
+ 61.000000 -6.000000 0
+ 58.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 64.000000 -3.000000 0
+ 67.000000 -3.000000 0
+ 64.000000 -6.000000 0
+ 61.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 67.000000 -3.000000 0
+ 70.000000 -3.000000 0
+ 67.000000 -6.000000 0
+ 64.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 70.000000 -3.000000 0
+ 73.000000 -3.000000 0
+ 70.000000 -6.000000 0
+ 67.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 73.000000 -3.000000 0
+ 76.000000 -3.000000 0
+ 73.000000 -6.000000 0
+ 70.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 76.000000 -3.000000 0
+ 79.000000 -3.000000 0
+ 76.000000 -6.000000 0
+ 73.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 79.000000 -3.000000 0
+ 82.000000 -3.000000 0
+ 79.000000 -6.000000 0
+ 76.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 82.000000 -3.000000 0
+ 85.000000 -3.000000 0
+ 82.000000 -6.000000 0
+ 79.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 85.000000 -3.000000 0
+ 88.000000 -3.000000 0
+ 85.000000 -6.000000 0
+ 82.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 88.000000 -3.000000 0
+ 91.000000 -3.000000 0
+ 88.000000 -6.000000 0
+ 85.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 91.000000 -3.000000 0
+ 94.000000 -3.000000 0
+ 91.000000 -6.000000 0
+ 88.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 94.000000 -3.000000 0
+ 97.000000 -3.000000 0
+ 94.000000 -6.000000 0
+ 91.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 97.000000 -3.000000 0
+ 100.000000 -3.000000 0
+ 97.000000 -6.000000 0
+ 94.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 100.000000 -3.000000 0
+ 103.000000 -3.000000 0
+ 100.000000 -6.000000 0
+ 97.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 103.000000 -3.000000 0
+ 106.000000 -3.000000 0
+ 103.000000 -6.000000 0
+ 100.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 106.000000 -3.000000 0
+ 109.000000 -3.000000 0
+ 106.000000 -6.000000 0
+ 103.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 109.000000 -3.000000 0
+ 112.000000 -3.000000 0
+ 109.000000 -6.000000 0
+ 106.000000 -6.000000 0
+ F4 0 0.000000 4 0
+ 112.000000 -3.000000 0
+ 115.000000 -3.000000 0
+ 112.000000 -6.000000 0
+ 109.000000 -6.000000 0
+ F4 15263744 0.000000 4 0
+ 115.000000 -3.000000 0
+ 118.000000 -3.000000 0
+ 115.000000 -6.000000 0
+ 112.000000 -6.000000 0
+ F4 0 0.000000 3 0
+ 118.000000 -3.000000 0
+ 118.000000 -6.000000 0
+ 115.000000 -6.000000 0
+ END$SEGS
diff --git a/app/lib/params/7.25-AccuTie.xtp b/app/lib/params/7.25-AccuTie.xtp
new file mode 100644
index 0000000..8931ec8
--- /dev/null
+++ b/app/lib/params/7.25-AccuTie.xtp
@@ -0,0 +1,74 @@
+CONTENTS 7-1/4" Gauge AccuTie Turnout
+
+TURNOUT 7-1/4" "AccuTie AccuTie #5 Left 5L"
+ U "Regular Turnout" "" "AccuTie" "AccuTie #5 Left" "5L" "AccTtie #5 Right" "5R" 109.000000 11.700000 10.000000 109.000000 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 109.000000 0.000000 90.000000
+ E 109.000000 10.000000 78.300000
+ S 0 0.000000 0.000000 0.000000 18.899073 0.000000
+ S 0 0.000000 18.899073 0.000000 109.000000 0.000000
+ C 0 0.000000 -408.096357 18.899073 408.096357 168.300000 11.700000
+ S 0 0.000000 101.655829 8.479095 109.000000 10.000000
+ END$SEGS
+TURNOUT 7-1/4" "AccuTie AccuTie #5 Right 5R"
+ U "Regular Turnout" "" "AccuTie" "AccuTie #5 Left" "5L" "AccTtie #5 Right" "5R" 109.000000 11.700000 10.000000 109.000000 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 109.000000 0.000000 90.000000
+ E 109.000000 -10.000000 101.700000
+ S 0 0.000000 0.000000 0.000000 18.899073 -0.000000
+ S 0 0.000000 18.899073 -0.000000 109.000000 0.000000
+ C 0 0.000000 408.096357 18.899073 -408.096357 0.000000 11.700000
+ S 0 0.000000 101.655829 -8.479095 109.000000 -10.000000
+ END$SEGS
+TURNOUT 7-1/4" "AccuTie AccuTie #7 Left 7L"
+ U "Regular Turnout" "" "AccuTie" "AccuTie #7 Left" "7L" "AccTtie #7 Right" "7R" 161.000000 8.300000 10.000000 161.000000 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 161.000000 0.000000 90.000000
+ E 161.000000 10.000000 81.700000
+ S 0 0.000000 0.000000 0.000000 30.679402 0.000000
+ S 0 0.000000 30.679402 0.000000 161.000000 0.000000
+ C 0 0.000000 -851.360408 30.679402 851.360408 171.700000 8.300000
+ S 0 0.000000 153.578557 8.917328 161.000000 10.000000
+ END$SEGS
+TURNOUT 7-1/4" "AccuTie AccuTie #7 Right 7R"
+ U "Regular Turnout" "" "AccuTie" "AccuTie #7 Left" "7L" "AccTtie #7 Right" "7R" 161.000000 8.300000 10.000000 161.000000 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 161.000000 0.000000 90.000000
+ E 161.000000 -10.000000 98.300000
+ S 0 0.000000 0.000000 0.000000 30.679402 -0.000000
+ S 0 0.000000 30.679402 -0.000000 161.000000 0.000000
+ C 0 0.000000 851.360408 30.679402 -851.360408 0.000000 8.300000
+ S 0 0.000000 153.578557 -8.917328 161.000000 -10.000000
+ END$SEGS
+TURNOUT 7-1/4" "AccuTie AccuTie #9 Left 9L"
+ U "Regular Turnout" "" "AccuTie" "AccuTie #9 Left" "9L" "AccTtie #9 Right" "9R" 191.000000 6.200000 10.000000 191.000000 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 191.000000 0.000000 90.000000
+ E 191.000000 10.000000 83.800000
+ S 0 0.000000 0.000000 0.000000 13.855291 0.000000
+ S 0 0.000000 13.855291 0.000000 191.000000 0.000000
+ C 0 0.000000 -1571.199902 13.855291 1571.199902 173.800000 6.200000
+ S 0 0.000000 183.543868 9.190005 191.000000 10.000000
+ END$SEGS
+TURNOUT 7-1/4" "AccuTie AccuTie #9 Right 9R"
+ U "Regular Turnout" "" "AccuTie" "AccuTie #9 Left" "9L" "AccTtie #9 Right" "9R" 191.000000 6.200000 10.000000 191.000000 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 191.000000 0.000000 90.000000
+ E 191.000000 -10.000000 96.200000
+ S 0 0.000000 0.000000 0.000000 13.855291 -0.000000
+ S 0 0.000000 13.855291 -0.000000 191.000000 0.000000
+ C 0 0.000000 1571.199902 13.855291 -1571.199902 0.000000 6.200000
+ S 0 0.000000 183.543868 -9.190005 191.000000 -10.000000
+ END$SEGS
diff --git a/app/lib/params/7.25-MiniRailway.xtp b/app/lib/params/7.25-MiniRailway.xtp
new file mode 100644
index 0000000..d9ad320
--- /dev/null
+++ b/app/lib/params/7.25-MiniRailway.xtp
@@ -0,0 +1,65 @@
+CONTENTS 7-1/4" Gauge Miniature Railway Workshop Portable Track
+
+SUBCONTENTS Straight Track
+TURNOUT 7-1/4" "Miniature Railway Workshop Buffer Buf"
+ U "Straight Section" "" "Miniature Railway Workshop" "Buffer" "Buf" 17.066929 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 17.066929 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 17.066929 0.000000
+ L 0 2.000000 12.066929 -3.000000 12.066929 3.000000
+ L 0 1.000000 12.066929 -2.500000 17.066929 -5.000000
+ L 0 1.000000 12.066929 2.500000 17.0669299 5.000000
+ END$SEGS
+TURNOUT 7-1/4" "Miniature Railway Workshop Straight Str"
+ U "Straight Section" "" "Miniature Railway Workshop" "Straight" "Str" 58.661417 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 58.661417 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 58.661417 0.000000
+ END$SEGS
+
+SUBCONTENTS Curved Track
+TURNOUT 7-1/4" "Miniature Railway Workshop Curve 4.5m 18deg Crv 4.5/18"
+ U "Curved Section" "" "Miniature Railway Workshop" "Curve 4.5m 18deg" "Crv 4.5/18" 177.165354 18.000000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 54.747105 8.671090 72.000000
+ C 0 0.000000 -177.165354 0.000000 177.165354 162.000000 18.000000
+ END$SEGS
+TURNOUT 7-1/4" "Miniature Railway Workshop Curve I 9.4m 8.4deg Crv 9.4/8.4"
+ U "Curved Section" "" "Miniature Railway Workshop" "Curve I 9.4m 8.4deg" "Crv 19.4/8.4" 370.078740 8.400000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 54.062223 3.970082 81.600000
+ C 0 0.000000 -370.078740 0.000000 370.078740 171.600000 8.400000
+ END$SEGS
+TURNOUT 7-1/4" "Miniature Railway Workshop Curve A 15m 5.6deg Crv 15/5.6"
+ U "Curved Section" "" "Miniature Railway Workshop" "Curve A 15m 5.6deg" "Crv 15/5.6" 590.551181 5.600000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 57.627697 2.818465 84.400000
+ C 0 0.000000 -590.551181 0.000000 590.551181 174.400000 5.600000
+ END$SEGS
+
+SUBCONTENTS Turnouts (Points)
+TURNOUT 7-1/4" "Mini Railway Workshop Left Turnout 18.8m 16.8deg Lft 18.8m 16.8d"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 117.322834 0.000000 90.000000
+ E 106.964523 15.795147 73.200000
+ S 0 0.000000 0.000000 0.000000 117.322834 0.000000
+ C 0 0.000000 -370.078740 0.000000 370.078740 163.200000 16.800000
+ L 0 0.000000 58.6614179 -6.500000 58.661417 11.250000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Railway Workshop Right Turnout 18.8m 16.8deg Rgt 18.8m 16.8d"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 117.322834 0.000000 90.000000
+ E 106.964523 -15.795147 106.800000
+ S 0 0.000000 0.000000 0.000000 117.322834 0.000000
+ C 0 0.000000 370.078740 0.000000 -370.078740 0.000000 16.800000
+ L 0 0.000000 58.6614179 -11.250000 58.661417 6.500000
+ END$SEGS
diff --git a/app/lib/params/7.25-MiniTrain.xtp b/app/lib/params/7.25-MiniTrain.xtp
new file mode 100644
index 0000000..cd64a55
--- /dev/null
+++ b/app/lib/params/7.25-MiniTrain.xtp
@@ -0,0 +1,921 @@
+CONTENTS 7-1/4" Gauge Mini Train Systems
+# by Russell Shilling 20210823
+
+SUBCONTENTS Straight Track
+TURNOUT 7-1/4" "Mini Train Systems Straight Single Str 1.5m"
+ U "Straight Section" "" "Mini Train Systems" "Straight Single" "Str 1.5m" 59.055118 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 59.055118 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 59.055118 0.000000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Straight Double Str 3.0m"
+ U "Straight Section" "" "Mini Train Systems" "Straight Double" "Str 3.0m" 118.110236 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 118.110236 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 118.110236 0.000000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Straight Half Str 750mm"
+ U "Straight Section" "" "Mini Train Systems" "Straight Half" "Str 750mm" 29.527559 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 29.527559 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 29.527559 0.000000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Buffer Half Buf 750mm"
+ U "Straight Section" "" "Mini Train Systems" "Buffer" "Buffer 750mm" 29.527559 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ S 0 0.000000 0.000000 0.000000 29.527559 0.000000
+ L 0 2.000000 23.527559 -3.000000 23.527559 3.000000
+ L 0 1.000000 23.527559 -2.500000 29.527559 -5.000000
+ L 0 1.000000 23.527559 2.500000 29.527559 5.000000
+ END$SEGS
+
+SUBCONTENTS Curved Track
+TURNOUT 7-1/4" "Mini Train Systems Curved 6.25m 15deg Crv 6.25m 15d"
+ U "Curved Section" "" "Mini Train Systems" "Curved 6.25m 15deg" "Crv 6.25m 15deg" 246.062992 15.000000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 63.685789 8.384393 75.000000
+ C 0 0.000000 -246.062992 0.000000 246.062992 165.000000 15.000000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Curved 6.25m 22.5deg Crv 6.25m 22.5d"
+ U "Curved Section" "" "Mini Train Systems" "Curved 6.25m 22.5deg" "Crv 6.25m 22.5deg" 246.062992 22.500000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 94.164230 18.730430 67.500000
+ C 0 0.000000 -246.062992 0.000000 246.062992 157.500000 22.500000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Curved 8.5m 15deg Crv 8.5m 15d"
+ U "Curved Section" "" "Mini Train Systems" "Curved 8.5m 15deg" "Crv 8.5m 15deg" 334.645669 15.000000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 86.612673 11.402775 75.000000
+ C 0 0.000000 -334.645669 0.000000 334.645669 165.000000 15.000000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Curved 10m 15deg Crv 10m 15d"
+ U "Curved Section" "" "Mini Train Systems" "Curved 10m 15deg" "Crv 10m 15deg" 393.700787 15.000000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 101.897262 13.415029 75.000000
+ C 0 0.000000 -393.700787 0.000000 393.700787 165.000000 15.000000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Curved 12m 15deg Crv 12m 15d"
+ U "Curved Section" "" "Mini Train Systems" "Curved 12m 15deg" "Crv 12m 15deg" 472.440945 15.000000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 122.276714 16.098035 75.000000
+ C 0 0.000000 -472.440945 0.000000 472.440945 165.000000 15.000000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Curved 14m 15deg Crv 14m 15d"
+ U "Curved Section" "" "Mini Train Systems" "Curved 14m 15deg" "Crv 14m 15deg" 551.181102 15.000000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 142.656167 18.781041 75.000000
+ C 0 0.000000 -551.181102 0.000000 551.181102 165.000000 15.000000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Curved 18m 7.5deg Crv 18m 7.5d"
+ U "Curved Section" "" "Mini Train Systems" "Curved 18m 7.5deg" "Crv 18m 7.5deg" 708.661417 7.500000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 92.498876 6.062697 82.500000
+ C 0 0.000000 -708.661417 0.000000 708.661417 172.500000 7.500000
+ END$SEGS
+
+SUBCONTENTS Turnouts (Points)
+TURNOUT 7-1/4" "Mini Train Systems Left Turnout 6.25m 22.5deg Lft 6.25m 22.5d"
+ U "Regular Turnout" "" "Mini Train Systems" "Left Turnout 6.25m 22.5deg" "L 6.25m/22.5d" "Right" "R 6.25m/22.5d" 94.164230 22.500000 18.730430 88.582677 0.000000 0.000000 0
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 88.582677 0.000000 90.000000
+ E 94.164230 18.730430 67.500000
+ S 0 0.000000 0.000000 0.000000 88.582677 0.000000
+ C 0 0.000000 -246.062992 0.000000 246.062992 157.500000 22.500000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Right Turnout 6.25m 22.5deg Rgt 6.25m 22.5d"
+ U "Regular Turnout" "" "Mini Train Systems" "Left Turnout 6.25m 22.5deg" "L 6.25m/22.5d" "Right" "R 6.25m/22.5d" 94.164230 22.500000 18.730430 88.582677 0.000000 0.000000 0
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 88.582677 0.000000 90.000000
+ E 94.164230 -18.730430 112.500000
+ S 0 0.000000 0.000000 0.000000 88.582677 0.000000
+ C 0 0.000000 246.062992 0.000000 -246.062992 0.000000 22.500000
+ END$SEGS
+
+TURNOUT 7-1/4" "Mini Train Systems Left Turnout 10m 15deg Lft 10m 15d"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 118.110236 0.000000 90.000000
+ E 101.897262 13.415029 75.000000
+ S 0 0.000000 0.000000 0.000000 118.110236 0.000000
+ C 0 0.000000 -393.700787 0.000000 393.700787 165.000000 15.000000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Right Turnout 10m 15deg Rgt 10m 15d"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 118.110236 0.000000 90.000000
+ E 101.897262 -13.415029 105.000000
+ S 0 0.000000 0.000000 0.000000 118.110236 0.000000
+ C 0 0.000000 393.700787 0.000000 -393.700787 0.000000 15.000000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Wye Turnout 10m 15deg Wye 10m 15d"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 101.897262 13.415029 75.000000
+ E 101.897262 -13.415029 105.000000
+ C 0 0.000000 -393.700787 0.000000 393.700787 165.000000 15.000000
+ C 0 0.000000 393.700787 0.000000 -393.700787 0.000000 15.000000
+ END$SEGS
+
+TURNOUT 7-1/4" "Mini Train Systems Left Turnout 14m 12deg Lft 14m 12d"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 118.110236 0.000000 90.000000
+ E 114.596995 12.044630 78.000000
+ S 0 0.000000 0.000000 0.000000 118.110236 0.000000
+ C 0 0.000000 -551.181102 0.000000 551.181102 168.000000 12.000000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Right Turnout 14m 12deg Rgt 14m 12d"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 118.110236 0.000000 90.000000
+ E 114.596995 -12.044630 102.000000
+ S 0 0.000000 0.000000 0.000000 118.110236 0.000000
+ C 0 0.000000 551.181102 0.000000 -551.181102 0.000000 12.000000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Turnout Extender 14m/3d Ext 14m 3d"
+ U "Curved Section" "" "Mini Train Systems" "Turnout Curve 14m/3d" "14m/3d" 551.181102 3.000000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 28.846590 0.755375 87.000000
+ C 0 0.000000 -551.181102 0.000000 551.181102 177.000000 3.000000
+ END$SEGS
+
+TURNOUT 7-1/4" "Mini Train Systems Left Turnout 18m 12.5deg Lft 18m 12.5d"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 177.165354 0.000000 90.000000
+ E 153.382404 16.798105 77.500000
+ S 0 0.000000 0.000000 0.000000 177.165354 0.000000
+ C 0 0.000000 -708.661417 0.000000 708.661417 167.500000 12.500000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Right Turnout 18m 12.5deg Rgt 18m 12.5d"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 177.165354 0.000000 90.000000
+ E 153.382404 -16.798105 102.500000
+ S 0 0.000000 0.000000 0.000000 177.165354 0.000000
+ C 0 0.000000 708.661417 0.000000 -708.661417 0.000000 12.500000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Turnout Extender 18m/2.5d Ext 18m 2.5d"
+ U "Curved Section" "" "Mini Train Systems" "Turnout Curve 14m/2.5d" "18m/2.5d" 551.181102 3.000000 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 28.846590 0.755375 87.000000
+ C 0 0.000000 -551.181102 -0.000000 551.181102 177.000000 3.000000
+ END$SEGS
+
+SUBCONTENTS Special Turnouts (Points)
+TURNOUT 7-1/4" "Mini Train Systems 3-Way Turnout 10m 15deg 3Way 10m 15d"
+ P "Normal" 1
+ P "Left" 2
+ P "Right" 3
+ E 0.000000 0.000000 270.000000
+ E 118.110236 0.000000 90.000000
+ E 101.897262 13.415029 75.000000
+ E 101.897262 -13.415029 105.000000
+ S 0 0.000000 0.000000 0.000000 118.110236 0.000000
+ C 0 0.000000 -393.700787 0.000000 393.700787 165.000000 15.000000
+ C 0 0.000000 393.700787 0.000000 -393.700787 0.000000 15.000000
+ END$SEGS
+
+TURNOUT 7-1/4" "Mini Train Systems Single Slip Turnout 15 deg SS 10m 15d"
+ U "Single Slipswitch" "" "Mini Train Systems" "Single Slip Turnout" "SS 15d" 147.637795 15.000000 147.637795 0.000000 0.000000 0
+ P "Normal" 1 2 0 3 4
+ P "Reverse" 1 5 4
+ E 0.000000 0.000000 270.000000
+ E 147.637795 0.000000 90.000000
+ E 2.515318 19.105737 285.000000
+ E 145.122477 -19.105737 105.000000
+ S 0 0.000000 0.000000 0.000000 14.500000 0.000000
+ S 0 0.000000 14.500000 0.000000 147.637795 0.000000
+ S 0 0.000000 2.515318 19.105737 131.116553 -15.352860
+ S 0 0.000000 131.116553 -15.352860 145.122477 -19.105737
+ C 0 0.000000 450.571761 14.500000 -450.571761 0.000000 15.000000
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Double Slip Turnout 15 deg DS 10m 15d"
+ U "Double Slipswitch" "" "Mini Train Systems" "Double Slip Turnout (Points)" "DS 15d" 147.637795 15.000000 147.637795 0.000000 0.000000 0
+ P "Normal" 1 2 3 0 4 5 6
+ P "Reverse" 1 7 6 0 4 8 3
+ E 0.000000 0.000000 270.000000
+ E 147.637795 0.000000 90.000000
+ E 2.515318 19.105737 285.000000
+ E 145.122477 -19.105737 105.000000
+ S 0 0.000000 0.000000 0.000000 14.500000 0.000000
+ S 0 0.000000 14.500000 0.000000 133.137795 0.000000
+ S 0 0.000000 133.137795 0.000000 147.637795 0.000000
+ S 0 0.000000 2.515318 19.105737 16.521242 15.352860
+ S 0 0.000000 16.521242 15.352860 131.116553 -15.352860
+ S 0 0.000000 131.116553 -15.352860 145.122477 -19.105737
+ C 0 0.000000 450.571761 14.500000 -450.571761 0.000000 15.000000
+ C 0 0.000000 -450.571761 133.137795 450.571761 180.000000 15.000000
+ END$SEGS
+
+SUBCONTENTS Diamond Crossing
+TURNOUT 7-1/4" "Mini Train Systems Diamond 15 Degree Xng 15d"
+ U "Crossing" "" "Mini Train Systems" "Diamond 15 Degree" "X 15d" 118.110236 15.000000 118.110236 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 118.110236 0.000000 90.000000
+ E 2.012254 15.284589 285.000000
+ E 116.097982 -15.284589 105.000000
+ S 0 0.000000 0.000000 0.000000 118.110236 0.000000
+ S 0 0.000000 2.012254 15.284589 116.097982 -15.284589
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Diamond 22.5 Degree Xng 22.5d"
+ U "Crossing" "" "Mini Train Systems" "Diamond 22.5 Degree" "X 22.5d" 68.897638 22.500000 68.897638 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 68.897638 0.000000 90.000000
+ E 2.622260 13.182992 292.500000
+ E 66.275378 -13.182992 112.500000
+ S 0 0.000000 0.000000 0.000000 68.897638 0.000000
+ S 0 0.000000 2.622260 13.182992 66.275378 -13.182992
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Diamond 30 Degree Xng 30d"
+ U "Crossing" "" "Mini Train Systems" "Diamond 30 Degree" "X 30d" 59.055118 30.000000 59.055118 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 59.055118 0.000000 90.000000
+ E 3.955943 14.763780 300.000000
+ E 55.099175 -14.763780 120.000000
+ S 0 0.000000 0.000000 0.000000 59.055118 0.000000
+ S 0 0.000000 3.955943 14.763780 55.099175 -14.763780
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Diamond 45 Degree Xng 45d"
+ U "Crossing" "" "Mini Train Systems" "Diamond 45 Degree" "X 45d" 59.055118 45.000000 59.055118 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 59.055118 0.000000 90.000000
+ E 8.648422 20.879137 315.000000
+ E 50.406696 -20.879137 135.000000
+ S 0 0.000000 0.000000 0.000000 59.055118 0.000000
+ S 0 0.000000 8.648422 20.879137 50.406696 -20.879137
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Diamond 60 Degree Xng 60d"
+ U "Crossing" "" "Mini Train Systems" "Diamond 60 Degree" "X 60d" 59.055118 60.000000 59.055118 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 59.055118 0.000000 90.000000
+ E 14.763780 25.571616 330.000000
+ E 44.291339 -25.571616 150.000000
+ S 0 0.000000 0.000000 0.000000 59.055118 0.000000
+ S 0 0.000000 14.763780 25.571616 44.291339 -25.571616
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Diamond 75 Degree Xng 75d"
+ U "Crossing" "" "Mini Train Systems" "Diamond 75 Degree" "X 75d" 29.527559 75.000000 29.527559 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 29.527559 0.000000 90.000000
+ E 10.942632 14.260716 345.000000
+ E 18.584927 -14.260716 165.000000
+ S 0 0.000000 0.000000 0.000000 29.527559 0.000000
+ S 0 0.000000 10.942632 14.260716 18.584927 -14.260716
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Diamond 90 Degree Xng 90d"
+ U "Crossing" "" "Mini Train Systems" "Diamond 90 Degree" "X 90d" 29.527559 90.000000 29.527559 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 29.527559 0.000000 90.000000
+ E 14.763780 14.763780 360.000000
+ E 14.763780 -14.763780 180.000000
+ S 0 0.000000 0.000000 0.000000 29.527559 0.000000
+ S 0 0.000000 14.763780 14.763780 14.763780 -14.763780
+ END$SEGS
+
+SUBCONTENTS Special Track
+TURNOUT 7-1/4" "Mini Train Systems Level Crossing Single LvlX 1.5m"
+ U "Straight Section" "" "Mini Train Systems" "Straight Single" "Str 1.5m" 59.055118 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 59.055118 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 59.055118 0.000000
+#
+ F4 15263744 0.000000 4 0
+ 0.500000 7.250000 0
+ 4.000000 7.250000 0
+ 1.000000 4.250000 0
+ 0.500000 4.250000 0
+ F4 0 0.000000 4 0
+ 4.000000 7.250000 0
+ 7.000000 7.250000 0
+ 4.000000 4.250000 0
+ 1.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 7.000000 7.250000 0
+ 10.000000 7.250000 0
+ 7.000000 4.250000 0
+ 4.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 10.000000 7.250000 0
+ 13.000000 7.250000 0
+ 10.000000 4.250000 0
+ 7.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 13.000000 7.250000 0
+ 16.000000 7.250000 0
+ 13.000000 4.250000 0
+ 10.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 16.000000 7.250000 0
+ 19.000000 7.250000 0
+ 16.000000 4.250000 0
+ 13.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 19.000000 7.250000 0
+ 22.000000 7.250000 0
+ 19.000000 4.250000 0
+ 16.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 22.000000 7.250000 0
+ 25.000000 7.250000 0
+ 22.000000 4.250000 0
+ 19.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 25.000000 7.250000 0
+ 28.000000 7.250000 0
+ 25.000000 4.250000 0
+ 22.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 28.000000 7.250000 0
+ 31.000000 7.250000 0
+ 28.000000 4.250000 0
+ 25.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 31.000000 7.250000 0
+ 34.000000 7.250000 0
+ 31.000000 4.250000 0
+ 28.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 34.000000 7.250000 0
+ 37.000000 7.250000 0
+ 34.000000 4.250000 0
+ 31.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 37.000000 7.250000 0
+ 40.000000 7.250000 0
+ 37.000000 4.250000 0
+ 34.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 40.000000 7.250000 0
+ 43.000000 7.250000 0
+ 40.000000 4.250000 0
+ 37.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 43.000000 7.250000 0
+ 46.000000 7.250000 0
+ 43.000000 4.250000 0
+ 40.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 46.000000 7.250000 0
+ 49.000000 7.250000 0
+ 46.000000 4.250000 0
+ 43.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 49.000000 7.250000 0
+ 52.000000 7.250000 0
+ 49.000000 4.250000 0
+ 46.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 52.000000 7.250000 0
+ 55.000000 7.250000 0
+ 52.000000 4.250000 0
+ 49.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 55.000000 7.250000 0
+ 58.000000 7.250000 0
+ 55.000000 4.250000 0
+ 52.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 58.000000 7.250000 0
+ 58.500000 7.250000 0
+ 58.500000 4.250000 0
+ 55.000000 4.250000 0
+#
+ F4 15263744 0.000000 4 0
+ 0.500000 -4.250000 0
+ 4.000000 -4.250000 0
+ 1.000000 -7.250000 0
+ 0.500000 -7.250000 0
+ F4 0 0.000000 4 0
+ 4.000000 -4.250000 0
+ 7.000000 -4.250000 0
+ 4.000000 -7.250000 0
+ 1.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 7.000000 -4.250000 0
+ 10.000000 -4.250000 0
+ 7.000000 -7.250000 0
+ 4.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 10.000000 -4.250000 0
+ 13.000000 -4.250000 0
+ 10.000000 -7.250000 0
+ 7.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 13.000000 -4.250000 0
+ 16.000000 -4.250000 0
+ 13.000000 -7.250000 0
+ 10.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 16.000000 -4.250000 0
+ 19.000000 -4.250000 0
+ 16.000000 -7.250000 0
+ 13.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 19.000000 -4.250000 0
+ 22.000000 -4.250000 0
+ 19.000000 -7.250000 0
+ 16.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 22.000000 -4.250000 0
+ 25.000000 -4.250000 0
+ 22.000000 -7.250000 0
+ 19.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 25.000000 -4.250000 0
+ 28.000000 -4.250000 0
+ 25.000000 -7.250000 0
+ 22.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 28.000000 -4.250000 0
+ 31.000000 -4.250000 0
+ 28.000000 -7.250000 0
+ 25.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 31.000000 -4.250000 0
+ 34.000000 -4.250000 0
+ 31.000000 -7.250000 0
+ 28.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 34.000000 -4.250000 0
+ 37.000000 -4.250000 0
+ 34.000000 -7.250000 0
+ 31.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 37.000000 -4.250000 0
+ 40.000000 -4.250000 0
+ 37.000000 -7.250000 0
+ 34.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 40.000000 -4.250000 0
+ 43.000000 -4.250000 0
+ 40.000000 -7.250000 0
+ 37.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 43.000000 -4.250000 0
+ 46.000000 -4.250000 0
+ 43.000000 -7.250000 0
+ 40.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 46.000000 -4.250000 0
+ 49.000000 -4.250000 0
+ 46.000000 -7.250000 0
+ 43.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 49.000000 -4.250000 0
+ 52.000000 -4.250000 0
+ 49.000000 -7.250000 0
+ 46.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 52.000000 -4.250000 0
+ 55.000000 -4.250000 0
+ 52.000000 -7.250000 0
+ 49.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 55.000000 -4.250000 0
+ 58.000000 -4.250000 0
+ 55.000000 -7.250000 0
+ 52.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 58.000000 -4.250000 0
+ 58.500000 -4.250000 0
+ 58.500000 -7.250000 0
+ 55.000000 -7.250000 0
+ END$SEGS
+TURNOUT 7-1/4" "Mini Train Systems Level Crossing Double LvlX 3.0m"
+ U "Straight Section" "" "Mini Train Systems" "Straight Double" "Str 3.0m" 118.110236 0.000000 0.000000 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 118.110236 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 118.110236 0.000000
+#
+ F4 15263744 0.000000 3 0
+ 0.500000 7.250000 0
+ 3.500000 7.250000 0
+ 0.500000 4.250000 0
+ F4 0 0.000000 4 0
+ 3.500000 7.250000 0
+ 6.500000 7.250000 0
+ 3.500000 4.250000 0
+ 0.500000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 6.500000 7.250000 0
+ 9.500000 7.250000 0
+ 6.500000 4.250000 0
+ 3.500000 4.250000 0
+ F4 0 0.000000 4 0
+ 9.500000 7.250000 0
+ 12.500000 7.250000 0
+ 9.500000 4.250000 0
+ 6.500000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 12.500000 7.250000 0
+ 15.500000 7.250000 0
+ 12.500000 4.250000 0
+ 9.500000 4.250000 0
+ F4 0 0.000000 4 0
+ 15.500000 7.250000 0
+ 18.500000 7.250000 0
+ 15.500000 4.250000 0
+ 12.500000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 18.500000 7.250000 0
+ 21.500000 7.250000 0
+ 18.500000 4.250000 0
+ 15.500000 4.250000 0
+ F4 0 0.000000 4 0
+ 21.500000 7.250000 0
+ 24.500000 7.250000 0
+ 21.500000 4.250000 0
+ 18.500000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 24.500000 7.250000 0
+ 27.500000 7.250000 0
+ 24.500000 4.250000 0
+ 21.500000 4.250000 0
+ F4 0 0.000000 4 0
+ 27.500000 7.250000 0
+ 30.500000 7.250000 0
+ 27.500000 4.250000 0
+ 24.500000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 30.500000 7.250000 0
+ 33.500000 7.250000 0
+ 30.500000 4.250000 0
+ 27.500000 4.250000 0
+ F4 0 0.000000 4 0
+ 33.500000 7.250000 0
+ 36.500000 7.250000 0
+ 33.500000 4.250000 0
+ 30.500000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 36.500000 7.250000 0
+ 39.500000 7.250000 0
+ 36.500000 4.250000 0
+ 33.500000 4.250000 0
+ F4 0 0.000000 4 0
+ 39.500000 7.250000 0
+ 42.500000 7.250000 0
+ 39.500000 4.250000 0
+ 36.500000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 42.500000 7.250000 0
+ 45.500000 7.250000 0
+ 42.500000 4.250000 0
+ 39.500000 4.250000 0
+ F4 0 0.000000 4 0
+ 45.500000 7.250000 0
+ 48.500000 7.250000 0
+ 45.500000 4.250000 0
+ 42.500000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 48.500000 7.250000 0
+ 51.500000 7.250000 0
+ 48.500000 4.250000 0
+ 45.500000 4.250000 0
+ F4 0 0.000000 4 0
+ 51.500000 7.250000 0
+ 54.500000 7.250000 0
+ 51.500000 4.250000 0
+ 48.500000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 54.500000 7.250000 0
+ 57.500000 7.250000 0
+ 54.500000 4.250000 0
+ 51.500000 4.250000 0
+ F4 0 0.000000 4 0
+ 57.500000 7.250000 0
+ 60.500000 7.250000 0
+ 57.500000 4.250000 0
+ 54.500000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 61.000000 7.250000 0
+ 64.000000 7.250000 0
+ 61.000000 4.250000 0
+ 58.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 64.000000 7.250000 0
+ 67.000000 7.250000 0
+ 64.000000 4.250000 0
+ 61.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 67.000000 7.250000 0
+ 70.000000 7.250000 0
+ 67.000000 4.250000 0
+ 64.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 70.000000 7.250000 0
+ 73.000000 7.250000 0
+ 70.000000 4.250000 0
+ 67.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 73.000000 7.250000 0
+ 76.000000 7.250000 0
+ 73.000000 4.250000 0
+ 70.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 76.000000 7.250000 0
+ 79.000000 7.250000 0
+ 76.000000 4.250000 0
+ 73.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 79.000000 7.250000 0
+ 82.000000 7.250000 0
+ 79.000000 4.250000 0
+ 76.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 82.000000 7.250000 0
+ 85.000000 7.250000 0
+ 82.000000 4.250000 0
+ 79.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 85.000000 7.250000 0
+ 88.000000 7.250000 0
+ 85.000000 4.250000 0
+ 82.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 88.000000 7.250000 0
+ 91.000000 7.250000 0
+ 88.000000 4.250000 0
+ 85.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 91.000000 7.250000 0
+ 94.000000 7.250000 0
+ 91.000000 4.250000 0
+ 88.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 94.000000 7.250000 0
+ 97.000000 7.250000 0
+ 94.000000 4.250000 0
+ 91.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 97.000000 7.250000 0
+ 100.000000 7.250000 0
+ 97.000000 4.250000 0
+ 94.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 100.000000 7.250000 0
+ 103.000000 7.250000 0
+ 100.000000 4.250000 0
+ 97.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 103.000000 7.250000 0
+ 106.000000 7.250000 0
+ 103.000000 4.250000 0
+ 100.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 106.000000 7.250000 0
+ 109.000000 7.250000 0
+ 106.000000 4.250000 0
+ 103.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 109.000000 7.250000 0
+ 112.000000 7.250000 0
+ 109.000000 4.250000 0
+ 106.000000 4.250000 0
+ F4 0 0.000000 4 0
+ 112.000000 7.250000 0
+ 115.000000 7.250000 0
+ 112.000000 4.250000 0
+ 109.000000 4.250000 0
+ F4 15263744 0.000000 4 0
+ 115.000000 7.250000 0
+ 118.000000 7.250000 0
+ 115.000000 4.250000 0
+ 112.000000 4.250000 0
+ F4 0 0.000000 3 0
+ 118.000000 7.250000 0
+ 118.000000 4.250000 0
+ 115.000000 4.250000 0
+#
+ F4 15263744 0.000000 3 0
+ 0.500000 -4.250000 0
+ 3.500000 -4.250000 0
+ 0.500000 -7.250000 0
+ F4 0 0.000000 4 0
+ 3.500000 -4.250000 0
+ 6.500000 -4.250000 0
+ 3.500000 -7.250000 0
+ 0.500000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 6.500000 -4.250000 0
+ 9.500000 -4.250000 0
+ 6.500000 -7.250000 0
+ 3.500000 -7.250000 0
+ F4 0 0.000000 4 0
+ 9.500000 -4.250000 0
+ 12.500000 -4.250000 0
+ 9.500000 -7.250000 0
+ 6.500000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 12.500000 -4.250000 0
+ 15.500000 -4.250000 0
+ 12.500000 -7.250000 0
+ 9.500000 -7.250000 0
+ F4 0 0.000000 4 0
+ 15.500000 -4.250000 0
+ 18.500000 -4.250000 0
+ 15.500000 -7.250000 0
+ 12.500000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 18.500000 -4.250000 0
+ 21.500000 -4.250000 0
+ 18.500000 -7.250000 0
+ 15.500000 -7.250000 0
+ F4 0 0.000000 4 0
+ 21.500000 -4.250000 0
+ 24.500000 -4.250000 0
+ 21.500000 -7.250000 0
+ 18.500000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 24.500000 -4.250000 0
+ 27.500000 -4.250000 0
+ 24.500000 -7.250000 0
+ 21.500000 -7.250000 0
+ F4 0 0.000000 4 0
+ 27.500000 -4.250000 0
+ 30.500000 -4.250000 0
+ 27.500000 -7.250000 0
+ 24.500000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 30.500000 -4.250000 0
+ 33.500000 -4.250000 0
+ 30.500000 -7.250000 0
+ 27.500000 -7.250000 0
+ F4 0 0.000000 4 0
+ 33.500000 -4.250000 0
+ 36.500000 -4.250000 0
+ 33.500000 -7.250000 0
+ 30.500000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 36.500000 -4.250000 0
+ 39.500000 -4.250000 0
+ 36.500000 -7.250000 0
+ 33.500000 -7.250000 0
+ F4 0 0.000000 4 0
+ 39.500000 -4.250000 0
+ 42.500000 -4.250000 0
+ 39.500000 -7.250000 0
+ 36.500000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 42.500000 -4.250000 0
+ 45.500000 -4.250000 0
+ 42.500000 -7.250000 0
+ 39.500000 -7.250000 0
+ F4 0 0.000000 4 0
+ 45.500000 -4.250000 0
+ 48.500000 -4.250000 0
+ 45.500000 -7.250000 0
+ 42.500000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 48.500000 -4.250000 0
+ 51.500000 -4.250000 0
+ 48.500000 -7.250000 0
+ 45.500000 -7.250000 0
+ F4 0 0.000000 4 0
+ 51.500000 -4.250000 0
+ 54.500000 -4.250000 0
+ 51.500000 -7.250000 0
+ 48.500000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 54.500000 -4.250000 0
+ 57.500000 -4.250000 0
+ 54.500000 -7.250000 0
+ 51.500000 -7.250000 0
+ F4 0 0.000000 4 0
+ 57.500000 -4.250000 0
+ 60.500000 -4.250000 0
+ 57.500000 -7.250000 0
+ 54.500000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 61.000000 -4.250000 0
+ 64.000000 -4.250000 0
+ 61.000000 -7.250000 0
+ 58.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 64.000000 -4.250000 0
+ 67.000000 -4.250000 0
+ 64.000000 -7.250000 0
+ 61.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 67.000000 -4.250000 0
+ 70.000000 -4.250000 0
+ 67.000000 -7.250000 0
+ 64.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 70.000000 -4.250000 0
+ 73.000000 -4.250000 0
+ 70.000000 -7.250000 0
+ 67.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 73.000000 -4.250000 0
+ 76.000000 -4.250000 0
+ 73.000000 -7.250000 0
+ 70.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 76.000000 -4.250000 0
+ 79.000000 -4.250000 0
+ 76.000000 -7.250000 0
+ 73.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 79.000000 -4.250000 0
+ 82.000000 -4.250000 0
+ 79.000000 -7.250000 0
+ 76.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 82.000000 -4.250000 0
+ 85.000000 -4.250000 0
+ 82.000000 -7.250000 0
+ 79.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 85.000000 -4.250000 0
+ 88.000000 -4.250000 0
+ 85.000000 -7.250000 0
+ 82.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 88.000000 -4.250000 0
+ 91.000000 -4.250000 0
+ 88.000000 -7.250000 0
+ 85.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 91.000000 -4.250000 0
+ 94.000000 -4.250000 0
+ 91.000000 -7.250000 0
+ 88.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 94.000000 -4.250000 0
+ 97.000000 -4.250000 0
+ 94.000000 -7.250000 0
+ 91.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 97.000000 -4.250000 0
+ 100.000000 -4.250000 0
+ 97.000000 -7.250000 0
+ 94.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 100.000000 -4.250000 0
+ 103.000000 -4.250000 0
+ 100.000000 -7.250000 0
+ 97.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 103.000000 -4.250000 0
+ 106.000000 -4.250000 0
+ 103.000000 -7.250000 0
+ 100.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 106.000000 -4.250000 0
+ 109.000000 -4.250000 0
+ 106.000000 -7.250000 0
+ 103.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 109.000000 -4.250000 0
+ 112.000000 -4.250000 0
+ 109.000000 -7.250000 0
+ 106.000000 -7.250000 0
+ F4 0 0.000000 4 0
+ 112.000000 -4.250000 0
+ 115.000000 -4.250000 0
+ 112.000000 -7.250000 0
+ 109.000000 -7.250000 0
+ F4 15263744 0.000000 4 0
+ 115.000000 -4.250000 0
+ 118.000000 -4.250000 0
+ 115.000000 -7.250000 0
+ 112.000000 -7.250000 0
+ F4 0 0.000000 3 0
+ 118.000000 -4.250000 0
+ 118.000000 -7.250000 0
+ 115.000000 -7.250000 0
+ END$SEGS
diff --git a/app/lib/params/7.5-AccuTie.xtp b/app/lib/params/7.5-AccuTie.xtp
new file mode 100644
index 0000000..d81bfe7
--- /dev/null
+++ b/app/lib/params/7.5-AccuTie.xtp
@@ -0,0 +1,74 @@
+CONTENTS 7-1/2" Gauge AccuTie Turnout
+
+TURNOUT 7-1/2" "AccuTie AccuTie #5 Left 5L"
+ U "Regular Turnout" "" "AccuTie" "AccuTie #5 Left" "5L" "AccTtie #5 Right" "5R" 109.000000 11.700000 10.000000 109.000000 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 109.000000 0.000000 90.000000
+ E 109.000000 10.000000 78.300000
+ S 0 0.000000 0.000000 0.000000 18.899073 0.000000
+ S 0 0.000000 18.899073 0.000000 109.000000 0.000000
+ C 0 0.000000 -408.096357 18.899073 408.096357 168.300000 11.700000
+ S 0 0.000000 101.655829 8.479095 109.000000 10.000000
+ END$SEGS
+TURNOUT 7-1/2" "AccuTie AccuTie #5 Right 5R"
+ U "Regular Turnout" "" "AccuTie" "AccuTie #5 Left" "5L" "AccTtie #5 Right" "5R" 109.000000 11.700000 10.000000 109.000000 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 109.000000 0.000000 90.000000
+ E 109.000000 -10.000000 101.700000
+ S 0 0.000000 0.000000 0.000000 18.899073 -0.000000
+ S 0 0.000000 18.899073 -0.000000 109.000000 0.000000
+ C 0 0.000000 408.096357 18.899073 -408.096357 0.000000 11.700000
+ S 0 0.000000 101.655829 -8.479095 109.000000 -10.000000
+ END$SEGS
+TURNOUT 7-1/2" "AccuTie AccuTie #7 Left 7L"
+ U "Regular Turnout" "" "AccuTie" "AccuTie #7 Left" "7L" "AccTtie #7 Right" "7R" 161.000000 8.300000 10.000000 161.000000 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 161.000000 0.000000 90.000000
+ E 161.000000 10.000000 81.700000
+ S 0 0.000000 0.000000 0.000000 30.679402 0.000000
+ S 0 0.000000 30.679402 0.000000 161.000000 0.000000
+ C 0 0.000000 -851.360408 30.679402 851.360408 171.700000 8.300000
+ S 0 0.000000 153.578557 8.917328 161.000000 10.000000
+ END$SEGS
+TURNOUT 7-1/2" "AccuTie AccuTie #7 Right 7R"
+ U "Regular Turnout" "" "AccuTie" "AccuTie #7 Left" "7L" "AccTtie #7 Right" "7R" 161.000000 8.300000 10.000000 161.000000 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 161.000000 0.000000 90.000000
+ E 161.000000 -10.000000 98.300000
+ S 0 0.000000 0.000000 0.000000 30.679402 -0.000000
+ S 0 0.000000 30.679402 -0.000000 161.000000 0.000000
+ C 0 0.000000 851.360408 30.679402 -851.360408 0.000000 8.300000
+ S 0 0.000000 153.578557 -8.917328 161.000000 -10.000000
+ END$SEGS
+TURNOUT 7-1/2" "AccuTie AccuTie #9 Left 9L"
+ U "Regular Turnout" "" "AccuTie" "AccuTie #9 Left" "9L" "AccTtie #9 Right" "9R" 191.000000 6.200000 10.000000 191.000000 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 191.000000 0.000000 90.000000
+ E 191.000000 10.000000 83.800000
+ S 0 0.000000 0.000000 0.000000 13.855291 0.000000
+ S 0 0.000000 13.855291 0.000000 191.000000 0.000000
+ C 0 0.000000 -1571.199902 13.855291 1571.199902 173.800000 6.200000
+ S 0 0.000000 183.543868 9.190005 191.000000 10.000000
+ END$SEGS
+TURNOUT 7-1/2" "AccuTie AccuTie #9 Right 9R"
+ U "Regular Turnout" "" "AccuTie" "AccuTie #9 Left" "9L" "AccTtie #9 Right" "9R" 191.000000 6.200000 10.000000 191.000000 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 191.000000 0.000000 90.000000
+ E 191.000000 -10.000000 96.200000
+ S 0 0.000000 0.000000 0.000000 13.855291 -0.000000
+ S 0 0.000000 13.855291 -0.000000 191.000000 0.000000
+ C 0 0.000000 1571.199902 13.855291 -1571.199902 0.000000 6.200000
+ S 0 0.000000 183.543868 -9.190005 191.000000 -10.000000
+ END$SEGS
diff --git a/app/lib/params/AccucraftFn3.cars b/app/lib/params/AccucraftFn3.cars
new file mode 100644
index 0000000..0d4b188
--- /dev/null
+++ b/app/lib/params/AccucraftFn3.cars
@@ -0,0 +1,329 @@
+CONTENTS=Accucraft Fn3 Scale Cars
+MANUF=Accucraft AMS
+SCALE=Fn3
+ORDER=#DRN
+# Manufacturer%Prototype%#:Part%D:Description%R:Road%Reporting Mark%Number
+#
+# Jackson & Sharp Coach ($275.00)
+# STK NO. RAILROAD
+#====================================
+TYPE=passenger
+COUPLERLENGTH=0.5
+PROTO=Jackson & Sharp Coach
+DESC=Jackson & Sharp Coach
+LENGTH=25.5
+WIDTH=5.0
+#
+PART=AM54-010BX%Bumble Bee Single Stripe%Undec%Undec
+PART=AM54-010GX%Dark Green%Undec%Undec
+PART=AM54-010RX%Red%Undec%Undec
+#
+PART=AM54-011A%Green%D&RGW%257
+PART=AM54-011B%Green%D&RGW%281
+PART=AM54-011C%Green%D&RGW%285
+PART=AM54-011D%Green%D&RGW%302
+#
+PART=AM54-012A%Red%RGS%253
+PART=AM54-012B%Red%RGS%254
+PART=AM54-012C%Red%RGS%255
+PART=AM54-012D%Red%RGS%258
+#
+PART=AM54-013A%Green%C&S%71
+PART=AM54-013B%Green%C&S%73
+PART=AM54-013C%Green%C&S%74
+PART=AM54-013D%Green%C&S%77
+#
+PART=AM54-014A%Red%D&RGW%274
+PART=AM54-014B%Red%D&RGW%284
+PART=AM54-014C%Red%D&RGW%306
+PART=AM54-014D%Red%D&RGW%309
+#
+PART=AM54-015A%Bumble Bee Double Stripe%D&RGW%280
+PART=AM54-015B%Bumble Bee Double Stripe%D&RGW%306
+PART=AM54-015C%Bumble Bee Double Stripe%D&RGW%320
+PART=AM54-015D%Bumble Bee Double Stripe%D&RGW%284
+#
+PART=AM54-016A%Bumble Bee Single Stripe%D&RGW%330
+PART=AM54-016B%Bumble Bee Single Stripe%D&RGW%331
+PART=AM54-016C%Bumble Bee Single Stripe%D&RGW%332
+PART=AM54-016D%Bumble Bee Single Stripe%D&RGW%333
+#
+# Jackson & Sharp Combine ($275.00)
+# STK NO. RAILROAD
+#====================================
+TYPE=passenger
+COUPLERLENGTH=0.5
+PROTO=Jackson & Sharp Combine
+DESC=Jackson & Sharp Combine
+LENGTH=25.5
+WIDTH=5.0
+#
+PART=AM54-020BX%Bumble Bee Yellow%Undec%Undec
+PART=AM54-020GX%Green%Undec%Undec
+PART=AM54-020RX%Red%Undec%Undec
+#
+PART=AM54-021A%Green%D&RGW%202
+PART=AM54-021B%Green%D&RGW%210
+PART=AM54-021C%Green%D&RGW%214
+PART=AM54-021D%Green%D&RGW%215
+#
+PART=AM54-022A%Red%RGS%200
+PART=AM54-022B%Red%RGS%201
+PART=AM54-022C%Red%RGS%202
+PART=AM54-022D%Red%RGS%203
+#
+PART=AM54-023A%Green%C&S%26
+PART=AM54-023B%Green%C&S%28
+PART=AM54-023C%Green%C&S%29
+PART=AM54-023D%Green%C&S%30
+#
+PART=AM54-024A%Red%D&RGW%208
+PART=AM54-024B%Red%D&RGW%209
+PART=AM54-024C%Red%D&RGW%211
+PART=AM54-024D%Red%D&RGW%212
+#
+PART=AM54-025A%Bumble Bee Double Stripe%D&RGW%212
+PART=AM54-025B%Bumble Bee Double Stripe%D&RGW%214
+PART=AM54-025C%Bumble Bee Double Stripe%D&RGW%240
+PART=AM54-025D%Bumble Bee Double Stripe%D&RGW%242
+#
+# Drop Bottom Gondola ($220.00)
+# STK NO. RAILROAD
+#====================================
+TYPE=freight
+COUPLERLENGTH=0.5
+PROTO=Gondola, Drop Bottom
+DESC=Drop-Bottom Gondola
+LENGTH=21.75
+WIDTH=5.5
+#
+PART=AM20-501X%Data Only%Undec%Data Only
+#
+PART=AM20-502A%Moffat Logo%D&RG%706
+PART=AM20-502B%Moffat Logo%D&RG%714
+PART=AM20-502C%Moffat Logo%D&RG%715
+PART=AM20-502D%Moffat Logo%D&RG%717
+#
+PART=AM20-503A%Moffat Logo%D&RG%721
+PART=AM20-503B%Moffat Logo%D&RG%726
+PART=AM20-503C%Moffat Logo%D&RG%728
+PART=AM20-503D%Moffat Logo%D&RG%733
+#
+PART=AM20-504A%Moffat Logo%D&RG%743
+PART=AM20-504B%Moffat Logo%D&RG%746
+PART=AM20-504C%Moffat Logo%D&RG%749
+PART=AM20-504D%Moffat Logo%D&RG%754
+#
+PART=AM20-505A%Flying Rio Grande%D&RGW%752
+PART=AM20-505B%Flying Rio Grande%D&RGW%758
+PART=AM20-505C%Flying Rio Grande%D&RGW%768
+PART=AM20-505D%Flying Rio Grande%D&RGW%771
+#
+PART=AM20-506A%Flying Rio Grande%D&RGW%778
+PART=AM20-506B%Flying Rio Grande%D&RGW%781
+PART=AM20-506C%Flying Rio Grande%D&RGW%785
+PART=AM20-506D%Flying Rio Grande%D&RGW%789
+#
+PART=AM20-507A%Flying Rio Grande%D&RGW%791
+PART=AM20-507B%Flying Rio Grande%D&RGW%794
+PART=AM20-507C%Flying Rio Grande%D&RGW%798
+PART=AM20-507D%Flying Rio Grande%D&RGW%799
+#
+# Box Car ($170.00)
+# STK NO. RAILROAD
+#====================================
+TYPE=freight
+COUPLERLENGTH=0.5
+PROTO=Box Car
+DESC=Box Car
+LENGTH=21.75
+WIDTH=5.0
+#
+PART=AM2201-04%Moffat Logo%D&RG%3491
+PART=AM2201-05%Moffat Logo%D&RG%3522
+PART=AM2201-06%Moffat Logo%D&RG%3046
+PART=AM2201-07%Moffat Logo%D&RG%3033
+PART=AM2201-08%Moffat Logo%D&RG%3186
+PART=AM2201-09%Moffat Logo%D&RG%3337
+PART=AM2201-10%Moffat Logo%D&RG%3415
+PART=AM2201-11%Moffat Logo%D&RG%3422
+PART=AM2201-12%Moffat Logo%D&RG%3449
+PART=AM2201-13%Moffat Logo%D&RG%3471
+PART=AM2201-14%Moffat Logo%D&RG%3473
+#
+PART=AM2201-16%%SPNG%33
+PART=AM2201-17%%SPNG%35
+#
+PART=AM2201-19%%RGS%8509
+PART=AM2201-20%%RGS%8510
+PART=AM2201-21%%RGS%8511
+PART=AM2201-22%%RGS%8512
+#
+PART=AM2201-23%Red%Navy Yard%210
+PART=AM2201-24%Red%Navy Yard%211
+PART=AM2201-25%Red%Navy Yard%215
+PART=AM2201-26%Red%Navy Yard%218
+#
+PART=AM2201-30%Flying Rio Grande%D&RGW%3083
+PART=AM2201-31%Flying Rio Grande%D&RGW%3240
+PART=AM2201-32%Flying Rio Grande%D&RGW%3328
+PART=AM2201-33%Flying Rio Grande%D&RGW%3339
+PART=AM2201-34%Flying Rio Grande%D&RGW%3446
+PART=AM2201-35%Flying Rio Grande%D&RGW%3543
+#
+PART=AM20-202A%%PCR%1508
+PART=AM20-202B%%PCR%1516
+PART=AM20-202C%%PCR%1524
+PART=AM20-202D%%PCR%1532
+#
+PART=AM20-203A%%NCORy%01001
+PART=AM20-203B%%NCORy%01005
+PART=AM20-203C%%NCORy%01009
+PART=AM20-203D%%NCORy%01017
+#
+PART=AM20-204A%%NCO%682
+PART=AM20-204B%%NCO%684
+PART=AM20-204C%%NCO%688
+PART=AM20-204D%%NCO%695
+#
+PART=AM20-206A%%C&C%5
+PART=AM20-206B%%C&C%7
+PART=AM20-206C%%C&C%9
+PART=AM20-206D%%C&C%11
+#
+# 3-Bay Hopper ($150.00)
+# STK NO. RAILROAD
+#====================================
+TYPE=freight
+COUPLERLENGTH=0.5
+PROTO=3-Bay Hopper
+DESC=3-Bay Hopper
+LENGTH=18.38
+WIDTH=4.75
+#
+PART=AM20-301X%Black%Undec%Undec
+#
+PART=AM20-302A%Black%EBT%870
+PART=AM20-302B%Black%EBT%872
+PART=AM20-302C%Black%EBT%877
+PART=AM20-302D%Black%EBT%885
+#
+PART=AM20-303A%Black%EBT%871
+PART=AM20-303B%Black%EBT%874
+PART=AM20-303C%Black%EBT%900
+PART=AM20-303D%Black%EBT%903
+#
+PART=AM20-304A%Black%EBT%908
+PART=AM20-304B%Black%EBT%919
+PART=AM20-304C%Black%EBT%933
+PART=AM20-304D%Black%EBT%942
+#
+PART=AM20-308A%Black%EBT%920
+PART=AM20-308B%Black%EBT%922
+PART=AM20-308C%Black%EBT%935
+PART=AM20-308D%Black%EBT%946
+#
+# Tank Car ($160.00)
+# STK NO. RAILROAD
+#====================================
+TYPE=freight
+COUPLERLENGTH=0.5
+PROTO=Framed Tank Car
+DESC=Tank Car
+LENGTH=19.5
+WIDTH=5.0
+#
+PART=AM2208-01%Silver Data Only%Undec%Undec
+PART=AM2208-02%Black Data Only%Undec%Undec
+#
+PART=AM2208-03%Conoco Silver%%8
+PART=AM2208-04%Conoco Silver%%9
+PART=AM2208-05%Shell Oil Black%%A-12
+PART=AM2208-06%Shell Oil Black%%A-13
+PART=AM2208-07%N.C.N.G. Black%%305
+PART=AM2208-08%N.C.N.G. Black%%1003
+PART=AM2208-09%Conoco Black%%8
+PART=AM2208-10%Conoco Black%%16
+#
+PART=AM31-450A%Associated Oil Co Silver%%301
+PART=AM31-450B%Associated Oil Co Silver%%302
+PART=AM31-450C%Associated Oil Co Silver%%1003
+PART=AM31-450D%Associated Oil Co Silver%%1004
+#
+# Long Logging Car ($110.00)
+# STK NO. RAILROAD
+#====================================
+TYPE=freight
+COUPLERLENGTH=0.5
+PROTO=Long Logging Car
+DESC=Logging Car
+LENGTH=23.5
+WIDTH=5.0
+#
+PART=AM32-150x%Long%Undec%Undec
+#
+PART=AM32-151A%Long%WSLC%11
+PART=AM32-151B%Long%WSLC%12
+PART=AM32-151C%Long%WSLC%13
+PART=AM32-151D%Long%WSLC%14
+#
+PART=AM32-152A%Long%WSLC%15
+PART=AM32-152B%Long%WSLC%16
+PART=AM32-152C%Long%WSLC%17
+PART=AM32-152D%Long%WSLC%18
+#
+PART=AM32-153A%Long%WSLC%19
+PART=AM32-153B%Long%WSLC%20
+PART=AM32-153C%Long%WSLC%21
+PART=AM32-153D%Long%WSLC%22
+#
+PART=AM32-154A%Long%Swayne%51
+PART=AM32-154B%Long%Swayne%52
+PART=AM32-154C%Long%Swayne%53
+PART=AM32-154D%Long%Swayne%54
+#
+PART=AM32-155A%Long%Swayne%55
+PART=AM32-155B%Long%Swayne%56
+PART=AM32-155C%Long%Swayne%57
+PART=AM32-155D%Long%Swayne%58
+#
+PART=AM32-156A%Long%Swayne%59
+PART=AM32-156B%Long%Swayne%60
+PART=AM32-156C%Long%Swayne%61
+PART=AM32-156D%Long%Swayne%62
+#
+# Short Logging Car ($100.00)
+# STK NO. RAILROAD
+#====================================
+TYPE=freight
+COUPLERLENGTH=0.5
+PROTO=Short Logging Car
+DESC=Logging Car
+LENGTH=19.0
+WIDTH=5.0
+#
+PART=AM2216-01%Short%Undec%Undec
+#
+PART=AM2216-02%Short%WSLC%35
+PART=AM2216-03%Short%WSLC%36
+PART=AM2216-04%Short%WSLC%37
+PART=AM2216-05%Short%WSLC%41
+PART=AM2216-06%Short%WSLC%42
+PART=AM2216-07%Short%WSLC%43
+#
+PART=AM32-164A%Short%Swayne%63
+PART=AM32-164B%Short%Swayne%64
+PART=AM32-164C%Short%Swayne%65
+PART=AM32-164D%Short%Swayne%66
+#
+PART=AM32-165A%Short%Swayne%67
+PART=AM32-165B%Short%Swayne%68
+PART=AM32-165C%Short%Swayne%69
+PART=AM32-165D%Short%Swayne%70
+#
+PART=AM32-166A%Short%Swayne%71
+PART=AM32-166B%Short%Swayne%72
+PART=AM32-166C%Short%Swayne%73
+PART=AM32-166D%Short%Swayne%74
+#
+# END
diff --git a/app/lib/params/AccucraftOn3.cars b/app/lib/params/AccucraftOn3.cars
new file mode 100644
index 0000000..f5aabdc
--- /dev/null
+++ b/app/lib/params/AccucraftOn3.cars
@@ -0,0 +1,36 @@
+CONTENTS=Accucraft On3 Scale Cars
+MANUF=Accucraft AMS
+SCALE=O
+ORDER=#RDN
+#
+# Jackson & Sharp Coach ($)
+# STK NO. % RAILROAD % ? % ROAD#
+#====================================
+TYPE=passenger
+COUPLERLENGTH=0.25
+PROTO=Passenger, Coach
+DESC=Jackson & Sharp Coach
+LENGTH=11.3
+WIDTH=2.1
+#
+PART=6103X%Bumble Bee Yellow%%Unlettered
+PART=6113X%Green
+PART=6123X%Red
+PART=6133X%D&RGW Green
+PART=6143X%RGS Red
+PART=6153X%C&S Green
+PART=6163X%D&RG Red
+PART=6173X%D&RGW Yellow Double Stripe
+#
+# Jackson & Sharp Combine ($)
+#STK NO. RAILROAD
+#====================================
+PROTO=Passenger, Combine
+DESC=Combine
+LENGTH=11.3
+WIDTH=2.1
+#
+PART=6103X%Bumble Bee Yellow%%Unlettered
+#
+#
+## End
diff --git a/app/lib/params/Any-CTC_panel.xtp b/app/lib/params/Any-CTC_panel.xtp
index 7b73cab..7c8f8d7 100644
--- a/app/lib/params/Any-CTC_panel.xtp
+++ b/app/lib/params/Any-CTC_panel.xtp
@@ -246,7 +246,7 @@ STRUCTURE * "Signals 2 Aspect Signal 2DS"
L 0 0.020000 -0.100000 0.000000 0.100000 0.000000
END
SUBCONTENTS Track Symbols - Straights
-TURNOUT * " 0.5"" Straight (adjustable to 6""" S"
+TURNOUT * " 0.5"" Straight (adjustable to 6) S"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 0.500000 0.000000 90.000000
@@ -254,7 +254,7 @@ TURNOUT * " 0.5"" Straight (adjustable to 6""" S"
S 16777215 0 0.000000 0.000000 0.500000 0.000000
L 0 0.080000 0.000000 0.000000 0.500000 0.000000
END
-TURNOUT * "Block Gap" BG"
+TURNOUT * "Block Gap BG"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 0.500000 0.000000 90.000000
@@ -264,48 +264,60 @@ TURNOUT * "Block Gap" BG"
END
SUBCONTENTS Track Symbols - Turnouts
-TURNOUT * "Turnout LH(GAP)" LHG"
- P "Normal" 1 0 2 0 3
+TURNOUT * "Turnout LH(GAP) LHG" 256
+# UseOldPaths - connection angle too large
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
E 0.000000 0.000000 270.000000
E 1.000000 0.000000 90.000000
E 1.000000 0.500000 90.000000
- S 16777215 0 0.000000 0.000000 1.000000 0.000000
+ S 16777215 0 0.000000 0.000000 0.300000 0.000000
+ S 16777215 0 0.300000 0.000000 1.000000 0.000000
S 16777215 0 0.300000 0.000000 0.800000 0.500000
S 16777215 0 0.800000 0.500000 1.000000 0.500000
L 0 0.080000 0.050000 0.000000 0.950000 0.000000
L 0 0.080000 0.300000 0.000000 0.825000 0.525000
L 0 0.080000 0.800000 0.500000 0.950000 0.500000
END
-TURNOUT * "Turnout RH(GAP)" RHG"
- P "Normal" 1 0 2 0 3
+TURNOUT * "Turnout RH(GAP) RHG" 256
+# UseOldPaths - connection angle too large
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
E 0.000000 0.000000 270.000000
E 1.000000 0.000000 90.000000
E 1.000000 -0.500000 90.000000
- S 16777215 0 0.000000 0.000000 1.000000 0.000000
+ S 16777215 0 0.000000 0.000000 0.300000 0.000000
+ S 16777215 0 0.300000 0.000000 1.000000 0.000000
S 16777215 0 0.300000 0.000000 0.800000 -0.500000
S 16777215 0 0.800000 -0.500000 1.000000 -0.500000
L 0 0.080000 0.050000 0.000000 0.950000 0.000000
L 0 0.080000 0.300000 0.000000 0.825000 -0.525000
L 0 0.080000 0.800000 -0.500000 0.950000 -0.500000
END
-TURNOUT * "Turnout LH" LH"
- P "Normal" 1 0 2 0 3
+TURNOUT * "Turnout LH LH" 256
+# UseOldPaths - connection angle too large
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
E 0.000000 0.000000 270.000000
E 1.000000 0.000000 90.000000
E 1.000000 0.500000 90.000000
- S 16777215 0 0.000000 0.000000 1.000000 0.000000
+ S 16777215 0 0.000000 0.000000 0.300000 0.000000
+ S 16777215 0 0.300000 0.000000 1.000000 0.000000
S 16777215 0 0.300000 0.000000 0.800000 0.500000
S 16777215 0 0.800000 0.500000 1.000000 0.500000
L 0 0.080000 0.000000 0.000000 1.000000 0.000000
L 0 0.080000 0.300000 0.000000 0.825000 0.525000
L 0 0.080000 0.800000 0.500000 1.000000 0.500000
END
-TURNOUT * "Turnout RH" RH"
- P "Normal" 1 0 2 0 3
+TURNOUT * "Turnout RH RH" 256
+# UseOldPaths - connection angle too large
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
E 0.000000 0.000000 270.000000
E 1.000000 0.000000 90.000000
E 1.000000 -0.500000 90.000000
- S 16777215 0 0.000000 0.000000 1.000000 0.000000
+ S 16777215 0 0.000000 0.000000 0.300000 0.000000
+ S 16777215 0 0.300000 0.000000 1.000000 0.000000
S 16777215 0 0.300000 0.000000 0.800000 -0.500000
S 16777215 0 0.800000 -0.500000 1.000000 -0.500000
L 0 0.080000 0.000000 0.000000 1.000000 0.000000
@@ -314,7 +326,7 @@ TURNOUT * "Turnout RH" RH"
END
SUBCONTENTS Track Symbols - Crossovers
-TURNOUT * "Crossover LH(GAP)" COLHG"
+TURNOUT * "Crossover LH(GAP) COLHG"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 0.000000 0.500000 270.000000
@@ -326,7 +338,7 @@ TURNOUT * "Crossover LH(GAP)" COLHG"
L 0 0.080000 0.250000 0.000000 0.750000 0.500000
L 0 0.080000 0.050000 0.500000 0.950000 0.500000
END
-TURNOUT * "Crossover RH(GAP)" CORHG"
+TURNOUT * "Crossover RH(GAP) CORHG"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 0.000000 -0.500000 270.000000
@@ -338,7 +350,7 @@ TURNOUT * "Crossover RH(GAP)" CORHG"
L 0 0.080000 0.250000 0.000000 0.750000 -0.500000
L 0 0.080000 0.050000 -0.500000 0.950000 -0.500000
END
-TURNOUT * "Crossover LH" COLH"
+TURNOUT * "Crossover LH COLH"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 0.000000 0.500000 270.000000
@@ -350,7 +362,7 @@ TURNOUT * "Crossover LH" COLH"
L 0 0.080000 0.250000 0.000000 0.750000 0.500000
L 0 0.080000 0.000000 0.500000 1.000000 0.500000
END
-TURNOUT * "Crossover RH" CORH"
+TURNOUT * "Crossover RH CORH"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 0.000000 -0.500000 270.000000
@@ -362,7 +374,7 @@ TURNOUT * "Crossover RH" CORH"
L 0 0.080000 0.250000 0.000000 0.750000 -0.500000
L 0 0.080000 0.000000 -0.500000 1.000000 -0.500000
END
-TURNOUT * "Dbl.Crossover(GAP)" DBLCOG"
+TURNOUT * "Dbl.Crossover(GAP) DBLCOG"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 0.000000 0.500000 270.000000
@@ -375,7 +387,7 @@ TURNOUT * "Dbl.Crossover(GAP)" DBLCOG"
L 0 0.080000 0.250000 0.500000 0.750000 0.000000
L 0 0.080000 0.050000 0.500000 0.950000 0.500000
END
-TURNOUT * "Dbl.Crossover" DBLCO"
+TURNOUT * "Dbl.Crossover DBLCO"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 0.000000 0.500000 270.000000
@@ -390,7 +402,7 @@ TURNOUT * "Dbl.Crossover" DBLCO"
END
SUBCONTENTS Track Symbols - Crossings
-TURNOUT * "90 Crossing" 90C"
+TURNOUT * "90 Crossing 90C"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 0.500000 0.000000 90.000000
@@ -401,7 +413,7 @@ TURNOUT * "90 Crossing" 90C"
L 0 0.080000 0.000000 0.000000 0.500000 0.000000
L 0 0.080000 0.250000 0.250000 0.250000 -0.250000
END
-TURNOUT * "45 Crossing" 45C"
+TURNOUT * "45 Crossing 45C"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 0.500000 0.000000 90.000000
diff --git a/app/lib/params/Any-MTB Switch Machines.xtp b/app/lib/params/Any-MTB Switch Machines.xtp
new file mode 100755
index 0000000..a1dc26f
--- /dev/null
+++ b/app/lib/params/Any-MTB Switch Machines.xtp
@@ -0,0 +1,220 @@
+CONTENTS MTB Switch Machine
+STRUCTURE * "MTB MP1 Switch Machine MP1"
+#Base
+ L 32768 0.020000 -0.590550 1.456691 0.590550 1.456691
+ L 32768 0.020000 -0.590550 0.742125 -0.590550 1.456691
+ L 32768 0.020000 0.590550 0.742125 0.590550 1.456691
+ L 32768 0.020000 -0.590550 0.157481 -0.590550 0.250000
+ L 32768 0.020000 0.590550 0.157481 0.590550 0.250000
+ L 32768 0.020000 -0.590550 0.157481 0.590550 0.157481
+#MountTab
+ L 32768 0.020000 -0.748770 0.742125 -0.590550 0.742125
+ A 32768 0.020000 0.078000 -0.748770 0.667125 270.000000 90.000000
+ L 32768 0.020000 -0.826770 0.667125 -0.826770 0.353415
+ A 32768 0.020000 0.078000 -0.748770 0.353415 188.797411 81.202589
+ L 32768 0.020000 -0.760699 0.276333 -0.590550 0.250000
+#MountTabSlot
+ A 32768 0.020000 0.049212 -0.708660 0.397638 90.000000 180.000000
+ L 32768 0.020000 -0.757873 0.397638 -0.757873 0.594488
+ L 32768 0.020000 -0.659447 0.397638 -0.659447 0.594488
+ A 32768 0.020000 0.049212 -0.708660 0.594488 270.000000 180.000000
+#MountTab
+ L 32768 0.020000 0.748770 0.742125 0.590550 0.742125
+ A 32768 0.020000 0.078000 0.748770 0.667125 0.000000 90.000000
+ L 32768 0.020000 0.826770 0.667125 0.826770 0.353415
+ A 32768 0.020000 0.078000 0.748770 0.353415 90.000000 81.202589
+ L 32768 0.020000 0.760699 0.276333 0.590550 0.250000
+#MountTabSlot
+ A 32768 0.020000 0.049212 0.708660 0.397638 90.000000 180.000000
+ L 32768 0.020000 0.757873 0.397638 0.757873 0.594488
+ L 32768 0.020000 0.659447 0.397638 0.659447 0.594488
+ A 32768 0.020000 0.049212 0.708660 0.594488 270.000000 180.000000
+#
+ L 32768 0.020000 -0.551180 0.078741 0.551180 0.078741
+ L 32768 0.020000 -0.551180 0.078741 -0.551180 0.157481
+ L 32768 0.020000 0.551180 0.078741 0.551180 0.157481
+#
+ L 32768 0.020000 -0.393700 0.000000 -0.196850 0.000000
+ L 32768 0.020000 -0.393700 0.078741 -0.393700 0.000000
+ L 32768 0.020000 0.196850 0.000000 0.393700 0.000000
+ L 32768 0.020000 0.393700 0.078741 0.393700 0.000000
+#
+ L 32768 0.020000 -0.196850 -0.078739 0.196850 -0.078739
+ L 32768 0.020000 -0.196850 -0.078739 -0.196850 0.078741
+ L 32768 0.020000 0.196850 -0.078739 0.196850 0.078741
+ A 32768 0.010000 0.019685 -0.098425 0.000000 0.000000 360.000000
+ A 32768 0.010000 0.019685 0.098425 0.000000 0.000000 360.000000
+#
+ L 32768 0.020000 -0.157480 -0.118109 0.157480 -0.118109
+ L 32768 0.020000 -0.157480 -0.078739 -0.157480 -0.118109
+ L 32768 0.020000 0.157480 -0.078739 0.157480 -0.118109
+#WiringConnector
+ L 32768 0.020000 -0.590550 1.417321 -0.629920 1.417321
+ L 32768 0.020000 -0.629920 1.417321 -0.629920 0.742125
+END
+STRUCTURE * "MTB MP5 Switch Machine MP5"
+#Base
+ L 32768 0.020000 -0.610235 1.574801 0.610235 1.574801
+ L 32768 0.020000 -0.610235 0.742125 -0.610235 1.574801
+ L 32768 0.020000 0.610235 0.742125 0.610235 1.574801
+ L 32768 0.020000 -0.610235 0.157481 -0.610235 0.250000
+ L 32768 0.020000 0.610235 0.157481 0.610235 0.250000
+ L 32768 0.020000 -0.610235 0.157481 0.610235 0.157481
+#MountTab
+ L 32768 0.020000 -0.768455 0.742125 -0.610235 0.742125
+ A 32768 0.020000 0.078000 -0.768455 0.667125 270.000000 90.000000
+ L 32768 0.020000 -0.846455 0.667125 -0.846455 0.353415
+ A 32768 0.020000 0.078000 -0.768455 0.353415 188.797411 81.202589
+ L 32768 0.020000 -0.780384 0.276333 -0.610235 0.250000
+#MountTabSlot
+ A 32768 0.020000 0.049212 -0.728345 0.397638 90.000000 180.000000
+ L 32768 0.020000 -0.777558 0.397638 -0.777558 0.594488
+ L 32768 0.020000 -0.679132 0.397638 -0.679132 0.594488
+ A 32768 0.020000 0.049212 -0.728345 0.594488 270.000000 180.000000
+#MountTab
+ L 32768 0.020000 0.768455 0.742125 0.610235 0.742125
+ A 32768 0.020000 0.078000 0.768455 0.667125 0.000000 90.000000
+ L 32768 0.020000 0.846455 0.667125 0.846455 0.353415
+ A 32768 0.020000 0.078000 0.768455 0.353415 90.000000 81.202589
+ L 32768 0.020000 0.780384 0.276333 0.610235 0.250000
+#MountTabSlot
+ A 32768 0.020000 0.049212 0.728345 0.397638 90.000000 180.000000
+ L 32768 0.020000 0.777558 0.397638 0.777558 0.594488
+ L 32768 0.020000 0.679132 0.397638 0.679132 0.594488
+ A 32768 0.020000 0.049212 0.728345 0.594488 270.000000 180.000000
+#
+ L 32768 0.020000 -0.551180 0.078741 0.551180 0.078741
+ L 32768 0.020000 -0.551180 0.078741 -0.551180 0.157481
+ L 32768 0.020000 0.551180 0.078741 0.551180 0.157481
+#
+ L 32768 0.020000 -0.393700 0.000000 -0.196850 0.000000
+ L 32768 0.020000 -0.393700 0.078741 -0.393700 0.000000
+ L 32768 0.020000 0.196850 0.000000 0.393700 0.000000
+ L 32768 0.020000 0.393700 0.078741 0.393700 0.000000
+#
+ L 32768 0.020000 -0.196850 -0.078739 0.196850 -0.078739
+ L 32768 0.020000 -0.196850 -0.078739 -0.196850 0.078741
+ L 32768 0.020000 0.196850 -0.078739 0.196850 0.078741
+ A 32768 0.010000 0.019685 -0.098425 0.000000 0.000000 360.000000
+ A 32768 0.010000 0.019685 0.098425 0.000000 0.000000 360.000000
+#
+ L 32768 0.020000 -0.157480 -0.118109 0.157480 -0.118109
+ L 32768 0.020000 -0.157480 -0.078739 -0.157480 -0.118109
+ L 32768 0.020000 0.157480 -0.078739 0.157480 -0.118109
+#WiringConnector
+ L 32768 0.020000 -0.846455 0.610236 -0.944880 0.610236
+ L 32768 0.020000 -0.944880 0.610236 -0.944880 1.476376
+ L 32768 0.020000 -0.944880 1.476376 -0.610235 1.476376
+END
+STRUCTURE * "MTB MP6 Switch Machine MP6"
+#Base
+ L 32768 0.020000 -0.610235 1.574801 0.610235 1.574801
+ L 32768 0.020000 -0.610235 0.742125 -0.610235 1.574801
+ L 32768 0.020000 0.610235 0.742125 0.610235 1.574801
+ L 32768 0.020000 -0.610235 0.157481 -0.610235 0.250000
+ L 32768 0.020000 0.610235 0.157481 0.610235 0.250000
+ L 32768 0.020000 -0.610235 0.157481 0.610235 0.157481
+#MountTab
+ L 32768 0.020000 -0.768455 0.742125 -0.610235 0.742125
+ A 32768 0.020000 0.078000 -0.768455 0.667125 270.000000 90.000000
+ L 32768 0.020000 -0.846455 0.667125 -0.846455 0.353415
+ A 32768 0.020000 0.078000 -0.768455 0.353415 188.797411 81.202589
+ L 32768 0.020000 -0.780384 0.276333 -0.610235 0.250000
+#MountTabSlot
+ A 32768 0.020000 0.049212 -0.728345 0.397638 90.000000 180.000000
+ L 32768 0.020000 -0.777558 0.397638 -0.777558 0.594488
+ L 32768 0.020000 -0.679132 0.397638 -0.679132 0.594488
+ A 32768 0.020000 0.049212 -0.728345 0.594488 270.000000 180.000000
+#MountTab
+ L 32768 0.020000 0.768455 0.742125 0.610235 0.742125
+ A 32768 0.020000 0.078000 0.768455 0.667125 0.000000 90.000000
+ L 32768 0.020000 0.846455 0.667125 0.846455 0.353415
+ A 32768 0.020000 0.078000 0.768455 0.353415 90.000000 81.202589
+ L 32768 0.020000 0.780384 0.276333 0.610235 0.250000
+#MountTabSlot
+ A 32768 0.020000 0.049212 0.728345 0.397638 90.000000 180.000000
+ L 32768 0.020000 0.777558 0.397638 0.777558 0.594488
+ L 32768 0.020000 0.679132 0.397638 0.679132 0.594488
+ A 32768 0.020000 0.049212 0.728345 0.594488 270.000000 180.000000
+#
+ L 32768 0.020000 -0.551180 0.078741 0.551180 0.078741
+ L 32768 0.020000 -0.551180 0.078741 -0.551180 0.157481
+ L 32768 0.020000 0.551180 0.078741 0.551180 0.157481
+#
+ L 32768 0.020000 -0.393700 0.000000 -0.196850 0.000000
+ L 32768 0.020000 -0.393700 0.078741 -0.393700 0.000000
+ L 32768 0.020000 0.196850 0.000000 0.393700 0.000000
+ L 32768 0.020000 0.393700 0.078741 0.393700 0.000000
+#
+ L 32768 0.020000 -0.196850 -0.078739 0.196850 -0.078739
+ L 32768 0.020000 -0.196850 -0.078739 -0.196850 0.078741
+ L 32768 0.020000 0.196850 -0.078739 0.196850 0.078741
+ A 32768 0.010000 0.019685 -0.098425 0.000000 0.000000 360.000000
+ A 32768 0.010000 0.019685 0.098425 0.000000 0.000000 360.000000
+#
+ L 32768 0.020000 -0.157480 -0.118109 0.157480 -0.118109
+ L 32768 0.020000 -0.157480 -0.078739 -0.157480 -0.118109
+ L 32768 0.020000 0.157480 -0.078739 0.157480 -0.118109
+#WiringConnector
+ L 32768 0.020000 -0.846455 0.610236 -0.944880 0.610236
+ L 32768 0.020000 -0.944880 0.610236 -0.944880 1.476376
+ L 32768 0.020000 -0.944880 1.476376 -0.610235 1.476376
+END
+STRUCTURE * "MTB MP7 Switch Machine MP7"
+ X pier 0.000000 ""
+#Base
+ L 32768 0.020000 -0.610235 1.574801 0.610235 1.574801
+ L 32768 0.020000 -0.610235 0.742125 -0.610235 1.574801
+ L 32768 0.020000 0.610235 0.742125 0.610235 1.574801
+ L 32768 0.020000 -0.610235 0.157481 -0.610235 0.250000
+ L 32768 0.020000 0.610235 0.157481 0.610235 0.250000
+ L 32768 0.020000 -0.610235 0.157481 0.610235 0.157481
+#MountTab
+ L 32768 0.020000 -0.768455 0.742125 -0.610235 0.742125
+ A 32768 0.020000 0.078000 -0.768455 0.667125 270.000000 90.000000
+ L 32768 0.020000 -0.846455 0.667125 -0.846455 0.353415
+ A 32768 0.020000 0.078000 -0.768455 0.353415 188.797411 81.202589
+ L 32768 0.020000 -0.780384 0.276333 -0.610235 0.250000
+#MountTabSlot
+ A 32768 0.020000 0.049212 -0.728345 0.397638 90.000000 180.000000
+ L 32768 0.020000 -0.777558 0.397638 -0.777558 0.594488
+ L 32768 0.020000 -0.679132 0.397638 -0.679132 0.594488
+ A 32768 0.020000 0.049212 -0.728345 0.594488 270.000000 180.000000
+#MountTab
+ L 32768 0.020000 0.768455 0.742125 0.610235 0.742125
+ A 32768 0.020000 0.078000 0.768455 0.667125 0.000000 90.000000
+ L 32768 0.020000 0.846455 0.667125 0.846455 0.353415
+ A 32768 0.020000 0.078000 0.768455 0.353415 90.000000 81.202589
+ L 32768 0.020000 0.780384 0.276333 0.610235 0.250000
+#MountTabSlot
+ A 32768 0.020000 0.049212 0.728345 0.397638 90.000000 180.000000
+ L 32768 0.020000 0.777558 0.397638 0.777558 0.594488
+ L 32768 0.020000 0.679132 0.397638 0.679132 0.594488
+ A 32768 0.020000 0.049212 0.728345 0.594488 270.000000 180.000000
+#
+ L 32768 0.020000 -0.551180 0.078741 0.551180 0.078741
+ L 32768 0.020000 -0.551180 0.078741 -0.551180 0.157481
+ L 32768 0.020000 0.551180 0.078741 0.551180 0.157481
+#
+ L 32768 0.020000 -0.393700 0.000000 -0.196850 0.000000
+ L 32768 0.020000 -0.393700 0.078741 -0.393700 0.000000
+ L 32768 0.020000 0.196850 0.000000 0.393700 0.000000
+ L 32768 0.020000 0.393700 0.078741 0.393700 0.000000
+#
+ L 32768 0.020000 -0.196850 -0.078739 0.196850 -0.078739
+ L 32768 0.020000 -0.196850 -0.078739 -0.196850 0.078741
+ L 32768 0.020000 0.196850 -0.078739 0.196850 0.078741
+ A 32768 0.010000 0.019685 -0.098425 0.000000 0.000000 360.000000
+ A 32768 0.010000 0.019685 0.098425 0.000000 0.000000 360.000000
+#
+ L 32768 0.020000 -0.157480 -0.118109 0.157480 -0.118109
+ L 32768 0.020000 -0.157480 -0.078739 -0.157480 -0.118109
+ L 32768 0.020000 0.157480 -0.078739 0.157480 -0.118109
+#WiringConnector
+ L 32768 0.020000 -0.846455 0.610236 -0.944880 0.610236
+ L 32768 0.020000 -0.944880 0.610236 -0.944880 1.476376
+ L 32768 0.020000 -0.944880 1.476376 -0.610235 1.476376
+END
+
+
+
diff --git a/app/lib/params/BrickTracks(Lego Track).xtp b/app/lib/params/BrickTracks(Lego Track).xtp
new file mode 100644
index 0000000..940d1ac
--- /dev/null
+++ b/app/lib/params/BrickTracks(Lego Track).xtp
@@ -0,0 +1,75 @@
+CONTENTS BrickTracks (Lego) Track Components
+
+SUBCONTENTS BrickTracks (Lego) Track - Straight Track
+TURNOUT LEGO "BrickTracks(Lego) Straight Track (S1.6/12.8mm) S1.6"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.503937 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 0.503937 0.000000
+END
+TURNOUT LEGO "BrickTracks(Lego) Straight Track (S4/32mm) S4"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.259843 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.259843 0.000000
+END
+TURNOUT LEGO "BrickTracks(Lego) Straight Track (S8/64mm) S8"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.519685 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 2.519685 0.000000
+END
+
+
+SUBCONTENTS BrickTracks (Lego) Track - Curve Track
+TURNOUT LEGO "BrickTracks(Lego) Curve Track R56/448mm 22.5d R56"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 6.749692 -1.342597 112.500000
+ C 0 0.000000 17.637795 0.000000 -17.637795 0.000000 22.500000
+END
+TURNOUT LEGO "BrickTracks(Lego) Curve Track R72/576mm 11.25d R72.5"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.424095 -0.435735 101.250000
+ C 0 0.000000 22.677165 0.000000 -22.677165 0.000000 11.250000
+END
+TURNOUT LEGO "BrickTracks(Lego) Curve Track R88/704mm 11.25d R88"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.407228 -0.532565 101.250000
+ C 0 0.000000 27.716535 0.000000 -27.716535 0.000000 11.250000
+END
+TURNOUT LEGO "BrickTracks(Lego) Curve Track R104/832mm 11.25d R104"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 6.390360 -0.629396 101.250000
+ C 0 0.000000 32.755906 0.000000 -32.755906 0.000000 11.250000
+END
+TURNOUT LEGO "BrickTracks(Lego) Curve Track R120/960mm 11.25d R120"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 7.373492 -0.726226 101.250000
+ C 0 0.000000 37.795276 0.000000 -37.795276 0.000000 11.250000
+END
+
+
+SUBCONTENTS BrickTracks (Lego) Track - Turnouts
+TURNOUT LEGO "BrickTracks(Lego) Lefthand Switch S40/R104 P40-LH"
+ P "P0" 1
+ P "P1" 2
+ E 0.000000 0.000000 270.000000
+ E 12.598425 0.000000 90.000000
+ E 12.535142 2.493395 67.500000
+ S 0 0.000000 0.000000 0.000000 12.598425 0.000000
+ C 0 0.000000 32.755906 0.000000 32.755906 157.500000 22.500000
+END
+TURNOUT LEGO "BrickTracks(Lego) Righthand Switch S40/R104 P40-RH"
+ P "P0" 1
+ P "P1" 2
+ E 0.000000 0.000000 270.000000
+ E 12.598425 0.000000 90.000000
+ E 12.535142 -2.493395 112.500000
+ S 0 0.000000 0.000000 0.000000 12.598425 0.000000
+ C 0 0.000000 32.755906 0.000000 -32.755906 0.000000 22.500000
+END
diff --git a/app/lib/params/BrioWoodTrack.xtp b/app/lib/params/BrioWoodTrack.xtp
new file mode 100644
index 0000000..aa53a11
--- /dev/null
+++ b/app/lib/params/BrioWoodTrack.xtp
@@ -0,0 +1,990 @@
+CONTENTS Brio Track - O55
+SUBCONTENTS Brio Track - Straight Tracks
+TURNOUT O55 "Brio Track Str. Track 54mm A2-B2-C2"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.125984 0.000000 90.000000
+ S 16777215 0.000000 0.000000 0.000000 2.125984 0.000000
+#Outlines
+ L3 0 0.030000 0.000000 0.787402 0 2.125984 0.787402 0
+ L3 0 0.030000 2.125984 0.787402 0 2.125984 -0.787402 0
+ L3 0 0.030000 2.125984 -0.787402 0 0.000000 -0.787402 0
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 2.125984 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 2.125984 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 2.125984 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 2.125984 -0.629921 0
+END
+TURNOUT O55 "Brio Track Str. Track 72mm A3-B3-C3"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.834645 0.000000 90.000000
+ S 16777215 0.000000 0.000000 0.000000 2.834645 0.000000
+#Outlines
+ L3 0 0.030000 0.000000 0.787402 0 2.834645 0.787402 0
+ L3 0 0.030000 2.834645 0.787402 0 2.834645 -0.787402 0
+ L3 0 0.030000 2.834645 -0.787402 0 0.000000 -0.787402 0
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 2.834645 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 2.834645 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 2.834645 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 2.834645 -0.629921 0
+END
+TURNOUT O55 "Brio Track Str. Track 108mm A1-B1-C1"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.251969 0.000000 90.000000
+ S 16777215 0.000000 0.000000 0.000000 4.251969 0.000000
+#Outlines
+ L3 0 0.030000 0.000000 0.787402 0 4.251969 0.787402 0
+ L3 0 0.030000 4.251969 0.787402 0 4.251969 -0.787402 0
+ L3 0 0.030000 4.251969 -0.787402 0 0.000000 -0.787402 0
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 4.251969 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 4.251969 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 4.251969 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 4.251969 -0.629921 0
+END
+TURNOUT O55 "Brio Track Str. Track 144mm A-B-C"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.669291 0.000000 90.000000
+ S 16777215 0.000000 0.000000 0.000000 5.669291 0.000000
+#Outlines
+ L3 0 0.030000 0.000000 0.787402 0 5.669291 0.787402 0
+ L3 0 0.030000 5.669291 0.787402 0 5.669291 -0.787402 0
+ L3 0 0.030000 5.669291 -0.787402 0 0.000000 -0.787402 0
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 5.669291 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 5.669291 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 5.669291 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 5.669291 -0.629921 0
+END
+TURNOUT O55 "Brio Track Str. Track 216mm D"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 8.503937 0.000000 90.000000
+ S 16777215 0.000000 0.000000 0.000000 8.503937 0.000000
+#Outlines
+ L3 0 0.030000 0.000000 0.787402 0 8.503937 0.787402 0
+ L3 0 0.030000 8.503937 0.787402 0 8.503937 -0.787402 0
+ L3 0 0.030000 8.503937 -0.787402 0 0.000000 -0.787402 0
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 8.503937 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 8.503937 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 8.503937 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 8.503937 -0.629921 0
+END
+
+
+SUBCONTENTS Brio Track - Double Straight Tracks
+TURNOUT O55 "Brio Track Dbl. Str. Track 216mm K"
+ P "Normal" 1 0 2
+ E 0.000000 0.905512 270.000000
+ E 0.000000 -0.905512 270.000000
+ E 8.503937 0.905512 90.000000
+ E 8.503937 -0.905512 90.000000
+ S 16777215 0.000000 0.000000 0.905512 8.503937 0.905512
+ S 16777215 0.000000 0.000000 -0.905512 8.503937 -0.905512
+#Outlines
+ L3 0 0.030000 0.000000 1.692914 0 8.503937 1.692914 0
+ L3 0 0.030000 8.503937 1.692914 0 8.503937 -1.692914 0
+ L3 0 0.030000 8.503937 -1.692914 0 0.000000 -1.692914 0
+ L3 0 0.030000 0.000000 -1.692914 0 0.000000 1.692914 0
+#Slots
+ L3 0 0.030000 0.000000 1.535433 0 8.503937 1.535433 0
+ L3 0 0.030000 0.000000 1.299213 0 8.503937 1.299213 0
+ L3 0 0.030000 0.000000 0.511811 0 8.503937 0.511811 0
+ L3 0 0.030000 0.000000 0.275591 0 8.503937 0.275591 0
+ L3 0 0.030000 0.000000 -0.275591 0 8.503937 -0.275591 0
+ L3 0 0.030000 0.000000 -0.511811 0 8.503937 -0.511811 0
+ L3 0 0.030000 0.000000 -1.299213 0 8.503937 -1.299213 0
+ L3 0 0.030000 0.000000 -1.535433 0 8.503937 -1.535433 0
+END
+TURNOUT O55 "Brio Track Dbl. Str. Track 216mm K1"
+ P "Normal" 1 2 3 0 4 5 6
+ P "Reverse" 1 7 8 9 6 0 4 10 11 12 3
+ E 0.000000 0.905512 270.000000
+ E 0.000000 -0.905512 270.000000
+ E 8.503937 0.905512 90.000000
+ E 8.503937 -0.905512 90.000000
+ S 16777215 0.000000 0.000000 0.905512 1.809423 0.905512
+ S 16777215 0.000000 1.809423 0.905512 6.694514 0.905512
+ S 16777215 0.000000 6.694514 0.905512 8.503937 0.905512
+ S 16777215 0.000000 0.000000 -0.905512 1.809423 -0.905512
+ S 16777215 0.000000 1.809423 -0.905512 6.694514 -0.905512
+ S 16777215 0.000000 6.694514 -0.905512 8.503937 -0.905512
+ C 16777215 0.000000 3.169192 1.809423 -2.263680 0.000076 29.286834
+ S 16777215 0.000000 3.359734 0.500432 5.144203 -0.500432
+ C 16777215 0.000000 -3.169192 6.694514 2.263680 180.000076 29.286834
+ C 16777215 0.000000 -3.169192 1.809423 2.263680 150.713242 29.286834
+ S 16777215 0.000000 3.359734 -0.500432 5.144203 0.500432
+ C 16777215 0.000000 3.169192 6.694514 -2.263680 330.713242 29.286834
+#Outlines
+ L3 0 0.030000 0.000000 1.692914 0 8.503937 1.692914 0
+ L3 0 0.030000 8.503937 1.692914 0 8.503937 -1.692914 0
+ L3 0 0.030000 8.503937 -1.692914 0 0.000000 -1.692914 0
+ L3 0 0.030000 0.000000 -1.692914 0 0.000000 1.692914 0
+#Slots
+ L3 0 0.030000 0.000000 1.535433 0 8.503937 1.535433 0
+ L3 0 0.030000 0.000000 1.299213 0 8.503937 1.299213 0
+ L3 0 0.030000 0.000000 0.511811 0 8.503937 0.511811 0
+ L3 0 0.030000 0.000000 0.275591 0 8.503937 0.275591 0
+ L3 0 0.030000 0.000000 -0.275591 0 8.503937 -0.275591 0
+ L3 0 0.030000 0.000000 -0.511811 0 8.503937 -0.511811 0
+ L3 0 0.030000 0.000000 -1.299213 0 8.503937 -1.299213 0
+ L3 0 0.030000 0.000000 -1.535433 0 8.503937 -1.535433 0
+END
+
+
+SUBCONTENTS Brio Track - Single Curve Tracks
+TURNOUT O55 "Brio Track Crv. Track 88mm E1"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.006596 -1.245373 135.000000
+ C 16777215 0.000000 4.251969 0.000000 -4.251969 0.000000 45.000000
+#Outlines
+ L3 0 0.030000 0.000000 0.787402 0 0.000000 -0.787402 0
+ L3 0 0.030000 2.449819 -1.802150 0 3.563373 -0.688596 0
+ A3 0 0.030000 3.464567 0.000000 -4.251969 0 0.000000 45.000000
+ A3 0 0.030000 5.039370 0.000000 -4.251969 0 0.000000 45.000000
+#Slots
+ A3 0 0.030000 3.622047 0.000000 -4.251969 0 0.000000 45.000000
+ A3 0 0.030000 3.858268 0.000000 -4.251969 0 0.000000 45.000000
+ A3 0 0.030000 4.645669 0.000000 -4.251969 0 0.000000 45.000000
+ A3 0 0.030000 4.881890 0.000000 -4.251969 0 0.000000 45.000000
+END
+TURNOUT O55 "Brio Track Crv. Track 182mm E"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.623448 -2.329308 135.000000
+ C 16777215 0.000000 7.952756 0.000000 -7.952756 0.000000 45.000000
+#Outlines
+ L3 0 0.030000 0.000000 0.787402 0 0.000000 -0.787402 0
+ L3 0 0.030000 5.066671 -2.886085 0 6.180225 -1.772531 0
+ A3 0 0.030000 7.165354 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 8.740157 0.000000 -7.952756 0 0.000000 45.000000
+#Slots
+ A3 0 0.030000 7.322835 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 7.559055 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 8.346457 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 8.582677 0.000000 -7.952756 0 0.000000 45.000000
+END
+
+
+SUBCONTENTS Brio Track - Double Curve Tracks
+TURNOUT O55 "Brio Track Crv. Track 88mm EE1"
+ P "Normal" 1 0 2
+ E 0.000000 0.905512 270.000000
+ E 3.006596 -2.150885 135.000000
+ E 0.000000 -0.905512 270.000000
+ E 4.287183 -0.870297 135.000000
+ C 16777215 0.000000 4.251969 0.000000 -5.157480 0.000000 45.000000
+ C 16777215 0.000000 6.062992 0.000000 -5.157480 0.000000 45.000000
+#Outlines
+ L3 0 0.030000 0.000000 1.692913 0 0.000000 -1.692913 0
+ L3 0 0.030000 2.449819 -2.707662 0 4.843960 -0.313520 0
+ A3 0 0.030000 3.464567 0.000000 -5.157480 0 0.000000 45.000000
+ A3 0 0.030000 6.850394 0.000000 -5.157480 0 0.000000 45.000000
+#Slots
+ A3 0 0.030000 3.622047 0.000000 -5.157480 0 0.000000 45.000000
+ A3 0 0.030000 3.858268 0.000000 -5.157480 0 0.000000 45.000000
+ A3 0 0.030000 4.645669 0.000000 -5.157480 0 0.000000 45.000000
+ A3 0 0.030000 4.881890 0.000000 -5.157480 0 0.000000 45.000000
+ A3 0 0.030000 5.433071 0.000000 -5.157480 0 0.000000 45.000000
+ A3 0 0.030000 5.669291 0.000000 -5.157480 0 0.000000 45.000000
+ A3 0 0.030000 6.456693 0.000000 -5.157480 0 0.000000 45.000000
+ A3 0 0.030000 6.692913 0.000000 -5.157480 0 0.000000 45.000000
+END
+TURNOUT O55 "Brio Track Crv. Track 182mm EE"
+ P "Normal" 1 0 2
+ E 0.000000 0.905512 270.000000
+ E 5.623448 -3.234820 135.000000
+ E 0.000000 -0.905512 270.000000
+ E 6.904035 -1.954233 135.000000
+ C 16777215 0.000000 7.952756 0.000000 -8.858268 0.000000 45.000000
+ C 16777215 0.000000 9.763780 0.000000 -8.858268 0.000000 45.000000
+#Outlines
+ L3 0 0.030000 0.000000 1.692913 0 0.000000 -1.692913 0
+ L3 0 0.030000 5.066671 -3.791597 0 7.460812 -1.397456 0
+ A3 0 0.030000 7.165354 0.000000 -8.858268 0 0.000000 45.000000
+ A3 0 0.030000 10.551181 0.000000 -8.858268 0 0.000000 45.000000
+#Slots
+ A3 0 0.030000 7.322835 0.000000 -8.858268 0 0.000000 45.000000
+ A3 0 0.030000 7.559055 0.000000 -8.858268 0 0.000000 45.000000
+ A3 0 0.030000 8.346457 0.000000 -8.858268 0 0.000000 45.000000
+ A3 0 0.030000 8.582677 0.000000 -8.858268 0 0.000000 45.000000
+ A3 0 0.030000 9.133858 0.000000 -8.858268 0 0.000000 45.000000
+ A3 0 0.030000 9.370079 0.000000 -8.858268 0 0.000000 45.000000
+ A3 0 0.030000 10.157480 0.000000 -8.858268 0 0.000000 45.000000
+ A3 0 0.030000 10.393701 0.000000 -8.858268 0 0.000000 45.000000
+END
+
+
+SUBCONTENTS Brio Track - Misc Tracks
+TURNOUT O55 "Brio Track Buffer Stops 40mm R/S"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ S 16777215 0.000000 0.000000 0.000000 0.900000 0.000000
+#Buffer
+ L3 8424071 0.787402 0.787402 0.787402 0 0.787402 -0.787402 0
+ L3 0 0.050000 0.393701 0.787402 0 0.393701 -0.787402 0
+ L3 0 0.050000 1.181102 0.787402 0 1.181102 -0.787402 0
+#Outlines
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+ L3 0 0.030000 0.000000 0.787402 0 1.574803 0.787402 0
+ L3 0 0.030000 1.574803 0.787402 0 1.574803 -0.787402 0
+ L3 0 0.030000 1.574803 -0.787402 0 0.000000 -0.787402 0
+END
+TURNOUT O55 "Brio Track Ramp Track 54mm U/V"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ S 16777215 0.000000 0.000000 0.000000 2.125984 0.000000
+#Outlines
+ L3 0 0.030000 0.000000 0.787402 0 2.125984 0.787402 0
+ L3 0 0.030000 2.125984 0.787402 0 2.125984 -0.787402 0
+ L3 0 0.030000 2.125984 -0.787402 0 0.000000 -0.787402 0
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 2.125984 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 2.125984 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 2.125984 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 2.125984 -0.629921 0
+END
+
+
+SUBCONTENTS Brio Track - Track Switches
+TURNOUT O55 "Brio Track Switching Track F/G"
+ P "Normal" 1 3 5 4 2
+ P "Route" 1 7 9 8 6
+ E 0.000000 0.000000 270.000000
+ E 5.669291 0.905512 90.000000
+ E 5.669291 -0.905512 90.000000
+ S 16777215 0.000000 0.000000 0.000000 0.300000 0.000000
+ S 16777215 0.000000 5.369291 0.905512 5.669291 0.905512
+ C 16777215 0.000000 -6.000000 0.300000 6.000000 165.383320 14.616680
+ C 16777215 0.000000 6.000000 5.369291 -5.094488 345.383320 14.616680
+ S 16777215 0.000000 1.814106 0.194186 3.855185 0.711326
+ S 16777215 0.000000 5.369291 -0.905512 5.669291 -0.905512
+ C 16777215 0.000000 6.000000 0.300000 -6.000000 0.000000 14.616680
+ C 16777215 0.000000 -6.000000 5.369291 5.094488 180.000000 14.616680
+ S 16777215 0.000000 1.814106 -0.194186 3.855185 -0.711326
+# S 16777215 0.000000 0.000000 0.000000 5.669291 0.905512
+# S 16777215 0.000000 0.000000 0.000000 5.669291 -0.905512
+#Outlines
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+ L3 0 0.030000 0.000000 0.787402 0 5.669291 1.692913 0
+ L3 0 0.030000 5.669291 1.692913 0 5.669291 -1.692913 0
+ L3 0 0.030000 5.669291 -1.692913 0 0.000000 -0.787402 0
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 5.669291 1.535433 0
+ L3 0 0.030000 0.000000 0.393701 0 5.669291 1.299213 0
+ L3 0 0.030000 0.000000 -0.393701 0 5.669291 0.511811 0
+ L3 0 0.030000 0.000000 -0.629921 0 5.669291 0.275591 0
+
+ L3 0 0.030000 0.000000 0.629921 0 5.669291 -0.275591 0
+ L3 0 0.030000 0.000000 0.393701 0 5.669291 -0.511811 0
+ L3 0 0.030000 0.000000 -0.393701 0 5.669291 -1.299213 0
+ L3 0 0.030000 0.000000 -0.629921 0 5.669291 -1.535433 0
+END
+TURNOUT O55 "Brio Track Parallel Switch F1/G1"
+ P "Normal" 1
+ P "Route" 2 3 4
+ E 0.000000 0.000000 270.000000
+ E 5.669291 0.000000 90.000000
+ E 5.669291 1.811024 90.000000
+ S 16777215 0.000000 0.000000 0.000000 5.669291 0.000000
+ C 16777215 0.000000 -4.251969 0.000000 4.251969 153.916728 26.083272
+ S 16777215 0.000000 1.869493 0.433038 3.799799 1.377986
+ C 16777215 0.000000 4.251969 5.669291 -2.440945 333.916728 26.083272
+#Outlines
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+ A3 0 0.030000 3.464567 0.000000 4.251969 0 153.916728 26.083272
+ L3 0 0.030000 1.523290 1.140247 0 3.453596 2.085195 0
+ A3 0 0.030000 5.039370 5.669291 -2.440945 0 333.916728 26.083272
+ L3 0 0.030000 5.669291 2.598425 0 5.669291 -0.787402 0
+ L3 0 0.030000 5.669291 -0.787402 0 0.000000 -0.787402 0
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 5.669291 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 5.669291 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 5.669291 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 5.669291 -0.629921 0
+ A3 0 0.030000 3.622047 0.000000 4.251969 0 153.916728 26.083272
+ L3 0 0.030000 1.592531 0.998805 0 3.522837 1.943754 0
+ A3 0 0.030000 4.881890 5.669291 -2.440945 0 333.916728 26.083272
+ A3 0 0.030000 3.858268 0.000000 4.251969 0 153.916728 26.083272
+ L3 0 0.030000 1.696391 0.786642 0 3.626698 1.731591 0
+ A3 0 0.030000 4.645669 5.669291 -2.440945 0 333.916728 26.083272
+ A3 0 0.030000 4.645669 0.000000 4.251969 0 153.916728 26.083272
+ L3 0 0.030000 2.042594 0.079433 0 3.972900 1.024381 0
+ A3 0 0.030000 3.858268 5.669291 -2.440945 0 333.916728 26.083272
+ A3 0 0.030000 4.881890 0.000000 4.251969 0 153.916728 26.083272
+ L3 0 0.030000 2.146454 -0.132730 0 4.076761 0.812219 0
+ A3 0 0.030000 3.622047 5.669291 -2.440945 0 333.916728 26.083272
+END
+TURNOUT O55 "Brio Track 3-Way Parallel Switch F2/G2"
+ P "Normal" 1
+ P "Route" 2 3 4
+ P "Route" 5 6 7
+ E 0.000000 0.000000 270.000000
+ E 5.669291 0.000000 90.000000
+ E 5.669291 1.811024 90.000000
+ E 5.669291 -1.811024 90.000000
+ S 16777215 0.000000 0.000000 0.000000 5.669291 0.000000
+ C 16777215 0.000000 -4.251969 0.000000 4.251969 153.916728 26.083272
+ S 16777215 0.000000 1.869493 0.433038 3.799799 1.377986
+ C 16777215 0.000000 4.251969 5.669291 -2.440945 333.916728 26.083272
+ C 16777215 0.000000 4.251969 0.000000 -4.251969 0.000000 26.083272
+ S 16777215 0.000000 1.869493 -0.433038 3.799799 -1.377986
+ C 16777215 0.000000 -4.251969 5.669291 2.440945 180.000000 26.083272
+#Outlines
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+ A3 0 0.030000 3.464567 0.000000 4.251969 0 153.916728 26.083272
+ L3 0 0.030000 1.523290 1.140247 0 3.453596 2.085195 0
+ A3 0 0.030000 5.039370 5.669291 -2.440945 0 333.916728 26.083272
+ L3 0 0.030000 5.669291 2.598425 0 5.669291 -2.598425 0
+ A3 0 0.030000 3.464567 0.000000 -4.251969 0 0.000000 26.083272
+ L3 0 0.030000 1.523290 -1.140247 0 3.453596 -2.085195 0
+ A3 0 0.030000 5.039370 5.669291 2.440945 0 180.000000 26.083272
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 5.669291 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 5.669291 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 5.669291 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 5.669291 -0.629921 0
+ A3 0 0.030000 3.622047 0.000000 4.251969 0 153.916728 26.083272
+ L3 0 0.030000 1.592531 0.998805 0 3.522837 1.943754 0
+ A3 0 0.030000 4.881890 5.669291 -2.440945 0 333.916728 26.083272
+ A3 0 0.030000 3.858268 0.000000 4.251969 0 153.916728 26.083272
+ L3 0 0.030000 1.696391 0.786642 0 3.626698 1.731591 0
+ A3 0 0.030000 4.645669 5.669291 -2.440945 0 333.916728 26.083272
+ A3 0 0.030000 4.645669 0.000000 4.251969 0 153.916728 26.083272
+ L3 0 0.030000 2.042594 0.079433 0 3.972900 1.024381 0
+ A3 0 0.030000 3.858268 5.669291 -2.440945 0 333.916728 26.083272
+ A3 0 0.030000 4.881890 0.000000 4.251969 0 153.916728 26.083272
+ L3 0 0.030000 2.146454 -0.132730 0 4.076761 0.812219 0
+ A3 0 0.030000 3.622047 5.669291 -2.440945 0 333.916728 26.083272
+ A3 0 0.030000 3.622047 0.000000 -4.251969 0 0.000000 26.083272
+ L3 0 0.030000 1.592531 -0.998805 0 3.522837 -1.943754 0
+ A3 0 0.030000 4.881890 5.669291 2.440945 0 180.000000 26.083272
+ A3 0 0.030000 3.858268 0.000000 -4.251969 0 0.000000 26.083272
+ L3 0 0.030000 1.696391 -0.786642 0 3.626698 -1.731591 0
+ A3 0 0.030000 4.645669 5.669291 2.440945 0 180.000000 26.083272
+ A3 0 0.030000 4.645669 0.000000 -4.251969 0 0.000000 26.083272
+ L3 0 0.030000 2.042594 -0.079433 0 3.972900 -1.024381 0
+ A3 0 0.030000 3.858268 5.669291 2.440945 0 180.000000 26.083272
+ A3 0 0.030000 4.881890 0.000000 -4.251969 0 0.000000 26.083272
+ L3 0 0.030000 2.146454 0.132730 0 4.076761 -0.812219 0
+ A3 0 0.030000 3.622047 5.669291 2.440945 0 180.000000 26.083272
+END
+TURNOUT O55 "Brio Track Double Curve Switch I/J"
+ P "Normal" 1
+ P "Route R" 2
+ P "Route L" 3
+ E 0.000000 0.000000 270.000000
+ E 5.669291 0.000000 90.000000
+ E 5.623448 -2.329308 135.000000
+ E 5.623448 2.329308 45.000000
+ S 16777215 0.000000 0.000000 0.000000 5.669291 0.000000
+ C 16777215 0.000000 7.952756 0.000000 -7.952756 0.000000 45.000000
+ C 16777215 0.000000 7.952756 0.000000 7.952756 135.000000 45.000000
+#Outlines
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+ A3 0 0.030000 7.165354 0.000000 7.952756 0 135.000000 45.000000
+ L3 0 0.030000 5.066671 2.886085 0 6.180225 1.772531 0
+ L3 0 0.030000 6.180225 1.772531 0 6.180225 0.787402 0
+ L3 0 0.030000 6.180225 0.787402 0 5.669291 0.787402 0
+ L3 0 0.030000 5.669291 0.787402 0 5.669291 -0.787402 0
+ L3 0 0.030000 5.669291 -0.787402 0 6.180225 -0.787402 0
+ L3 0 0.030000 6.180225 -0.787402 0 6.180225 -1.772531 0
+ L3 0 0.030000 5.066671 -2.886085 0 6.180225 -1.772531 0
+ A3 0 0.030000 7.165354 0.000000 -7.952756 0 0.000000 45.000000
+#Slots
+ A3 0 0.030000 7.322835 0.000000 7.952756 0 135.000000 45.000000
+ A3 0 0.030000 7.559055 0.000000 7.952756 0 135.000000 45.000000
+ A3 0 0.030000 8.346457 0.000000 7.952756 0 135.000000 45.000000
+ A3 0 0.030000 8.582677 0.000000 7.952756 0 135.000000 45.000000
+ L3 0 0.030000 0.000000 0.629921 0 5.669291 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 5.669291 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 5.669291 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 5.669291 -0.629921 0
+ A3 0 0.030000 7.322835 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 7.559055 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 8.346457 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 8.582677 0.000000 -7.952756 0 0.000000 45.000000
+END
+TURNOUT O55 "Brio Track Curve Switch L/M-L1/M1"
+ P "Normal" 1
+ P "ROute" 2
+ E 0.000000 0.000000 270.000000
+ E 5.669291 0.000000 90.000000
+ E 5.623448 -2.329308 135.000000
+ S 16777215 0.000000 0.000000 0.000000 5.669291 0.000000
+ C 16777215 0.000000 7.952756 0.000000 -7.952756 0.000000 45.000000
+#Outlines
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+ L3 0 0.030000 0.000000 0.787402 0 5.669291 0.787402 0
+ L3 0 0.030000 5.669291 0.787402 0 5.669291 -0.787402 0
+ L3 0 0.030000 5.669291 -0.787402 0 6.180225 -0.787402 0
+ L3 0 0.030000 6.180225 -0.787402 0 6.180225 -1.772531 0
+ L3 0 0.030000 5.066671 -2.886085 0 6.180225 -1.772531 0
+ A3 0 0.030000 7.165354 0.000000 -7.952756 0 0.000000 45.000000
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 5.669291 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 5.669291 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 5.669291 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 5.669291 -0.629921 0
+ A3 0 0.030000 7.322835 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 7.559055 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 8.346457 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 8.582677 0.000000 -7.952756 0 0.000000 45.000000
+END
+TURNOUT O55 "Brio Track Mechanical Switch L1/M1"
+ P "Normal" 1
+ P "ROute" 2
+ E 0.000000 0.000000 270.000000
+ E 5.669291 0.000000 90.000000
+ E 5.623448 -2.329308 135.000000
+ S 16777215 0.000000 0.000000 0.000000 5.669291 0.000000
+ C 16777215 0.000000 7.952756 0.000000 -7.952756 0.000000 45.000000
+#Outlines
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+ L3 0 0.030000 0.000000 0.787402 0 5.669291 0.787402 0
+ L3 0 0.030000 5.669291 0.787402 0 5.669291 -0.787402 0
+ L3 0 0.030000 5.669291 -0.787402 0 6.180225 -0.787402 0
+ L3 0 0.030000 6.180225 -0.787402 0 6.180225 -1.772531 0
+ L3 0 0.030000 5.066671 -2.886085 0 6.180225 -1.772531 0
+ A3 0 0.030000 7.165354 0.000000 -7.952756 0 0.000000 45.000000
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 5.669291 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 5.669291 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 5.669291 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 5.669291 -0.629921 0
+ A3 0 0.030000 7.322835 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 7.559055 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 8.346457 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 8.582677 0.000000 -7.952756 0 0.000000 45.000000
+END
+TURNOUT O55 "Brio Track Short Curve Switch 88mm O/P"
+ P "Normal" 1
+ P "ROute" 2
+ E 0.000000 0.000000 270.000000
+ E 3.006596 1.245373 45.000000
+ E 3.006596 -1.245373 135.000000
+ C 16777215 0.000000 4.251969 0.000000 4.251969 135.000000 45.000000
+ C 16777215 0.000000 4.251969 0.000000 -4.251969 0.000000 45.000000
+#Outlines
+ L3 0 0.030000 0.000000 0.787402 0 0.000000 -0.787402 0
+ A3 0 0.030000 3.464567 0.000000 4.251969 0 135.000000 45.000000
+ L3 0 0.030000 2.449819 1.802150 0 3.563373 0.688596 0
+ L3 0 0.030000 3.563373 0.688596 0 3.563373 -0.688596 0
+ L3 0 0.030000 3.563373 -0.688596 0 2.449819 -1.802150 0
+ A3 0 0.030000 3.464567 0.000000 -4.251969 0 0.000000 45.000000
+#Slots
+ A3 0 0.030000 3.622047 0.000000 4.251969 0 135.000000 45.000000
+ A3 0 0.030000 3.858268 0.000000 4.251969 0 135.000000 45.000000
+ A3 0 0.030000 4.645669 0.000000 4.251969 0 135.000000 45.000000
+ A3 0 0.030000 4.881890 0.000000 4.251969 0 135.000000 45.000000
+ A3 0 0.030000 3.622047 0.000000 -4.251969 0 0.000000 45.000000
+ A3 0 0.030000 3.858268 0.000000 -4.251969 0 0.000000 45.000000
+ A3 0 0.030000 4.645669 0.000000 -4.251969 0 0.000000 45.000000
+ A3 0 0.030000 4.881890 0.000000 -4.251969 0 0.000000 45.000000
+END
+TURNOUT O55 "Brio Track Medimun Curve Switch 108/88mm O1/P1"
+ P "Normal" 1
+ P "ROute" 2
+ E 0.000000 0.000000 270.000000
+ E 3.006596 1.245373 45.000000
+ E 4.251969 0.000000 90.000000
+ S 16777215 0.000000 0.000000 0.000000 4.251969 0.000000
+ C 16777215 0.000000 4.251969 0.000000 4.251969 135.000000 45.000000
+#Outlines
+ L3 0 0.030000 0.000000 0.787402 0 0.000000 -0.787402 0
+ A3 0 0.030000 3.464567 0.000000 4.251969 0 135.000000 45.000000
+ L3 0 0.030000 2.449819 1.802150 0 3.563373 0.688596 0
+ L3 0 0.030000 3.563373 0.688596 0 3.633239 0.787402 0
+ L3 0 0.030000 3.633239 0.787402 0 4.251969 0.787402 0
+ L3 0 0.030000 4.251969 0.787402 0 4.251969 -0.787402 0
+ L3 0 0.030000 4.251969 -0.787402 0 0.000000 -0.787402 0
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 4.251969 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 4.251969 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 4.251969 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 4.251969 -0.629921 0
+ A3 0 0.030000 3.622047 0.000000 4.251969 0 135.000000 45.000000
+ A3 0 0.030000 3.858268 0.000000 4.251969 0 135.000000 45.000000
+ A3 0 0.030000 4.645669 0.000000 4.251969 0 135.000000 45.000000
+ A3 0 0.030000 4.881890 0.000000 4.251969 0 135.000000 45.000000
+END
+TURNOUT O55 "Brio Track Tee Switch 216mm T"
+ P "Normal" 1
+ P "Route L" 2
+ P "Route R" 3
+ E 0.000000 0.000000 270.000000
+ E 8.503937 0.000000 90.000000
+ E 4.251969 -4.251969 180.000000
+ S 16777215 0.000000 0.000000 0.000000 8.503937 0.000000
+ C 16777215 0.000000 4.251969 0.000000 -4.251969 0.000000 90.000000
+ C 16777215 0.000000 4.251969 8.503937 -4.251969 270.000000 90.000000
+#Outlines
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+ L3 0 0.030000 0.000000 0.787402 0 8.503937 0.787402 0
+ L3 0 0.030000 8.503937 0.787402 0 8.503937 -0.787402 0
+ A3 0 0.030000 3.464567 8.503937 -4.251969 0 270.000000 90.000000
+ L3 0 0.030000 3.464567 -4.251969 0 5.000000 -4.251969 0
+ A3 0 0.030000 3.464567 0.000000 -4.251969 0 0.000000 90.000000
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 8.503937 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 8.503937 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 8.503937 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 8.503937 -0.629921 0
+ A3 0 0.030000 3.622047 0.000000 -4.251969 0 0.000000 90.000000
+ A3 0 0.030000 3.858268 0.000000 -4.251969 0 0.000000 90.000000
+ A3 0 0.030000 4.645669 0.000000 -4.251969 0 0.000000 90.000000
+ A3 0 0.030000 4.881890 0.000000 -4.251969 0 0.000000 90.000000
+ A3 0 0.030000 3.622047 8.503937 -4.251969 0 270.000000 90.000000
+ A3 0 0.030000 3.858268 8.503937 -4.251969 0 270.000000 90.000000
+ A3 0 0.030000 4.645669 8.503937 -4.251969 0 270.000000 90.000000
+ A3 0 0.030000 4.881890 8.503937 -4.251969 0 270.000000 90.000000
+END
+TURNOUT O55 "Brio Track Star Switch 216mm X" 512
+ P "Normal" 1
+ P "R1" 2
+ P "R2" 3
+ P "R3" 4
+ P "R4" 5
+ P "R5" 6
+ E 4.251969 4.251969 0.000000
+ E 8.503937 0.000000 90.000000
+ E 4.251969 -4.251969 180.000000
+ E 0.000000 0.000000 270.000000
+ S 16777215 0.000000 0.000000 0.000000 8.503937 0.000000
+ C 16777215 0.000000 4.251969 0.000000 -4.251969 0.000000 90.000000
+ C 16777215 0.000000 4.251969 8.503937 -4.251969 270.000000 90.000000
+ S 16777215 0.000000 4.251969 4.251969 4.251969 -4.251969
+ C 16777215 0.000000 4.251969 0.000000 4.251969 90.000000 90.000000
+ C 16777215 0.000000 4.251969 8.503937 4.251969 180.000000 90.000000
+#Outlines
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+ A3 0 0.030000 3.464567 0.000000 4.251969 0 90.000000 90.000000
+ L3 0 0.030000 3.464567 4.251969 0 5.000000 4.251969 0
+ A3 0 0.030000 3.464567 8.503937 4.251969 0 180.000000 90.000000
+ L3 0 0.030000 8.503937 0.787402 0 8.503937 -0.787402 0
+ A3 0 0.030000 3.464567 8.503937 -4.251969 0 270.000000 90.000000
+ L3 0 0.030000 3.464567 -4.251969 0 5.000000 -4.251969 0
+ A3 0 0.030000 3.464567 0.000000 -4.251969 0 0.000000 90.000000
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 8.503937 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 8.503937 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 8.503937 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 8.503937 -0.629921 0
+ A3 0 0.030000 3.622047 0.000000 -4.251969 0 0.000000 90.000000
+ A3 0 0.030000 3.858268 0.000000 -4.251969 0 0.000000 90.000000
+ A3 0 0.030000 4.645669 0.000000 -4.251969 0 0.000000 90.000000
+ A3 0 0.030000 4.881890 0.000000 -4.251969 0 0.000000 90.000000
+ A3 0 0.030000 3.622047 8.503937 -4.251969 0 270.000000 90.000000
+ A3 0 0.030000 3.858268 8.503937 -4.251969 0 270.000000 90.000000
+ A3 0 0.030000 4.645669 8.503937 -4.251969 0 270.000000 90.000000
+ A3 0 0.030000 4.881890 8.503937 -4.251969 0 270.000000 90.000000
+ L3 0 0.030000 3.622048 4.251969 0 3.622048 -4.251969 0
+ L3 0 0.030000 3.858268 4.251969 0 3.858268 -4.251969 0
+ L3 0 0.030000 4.645670 4.251969 0 4.645670 -4.251969 0
+ L3 0 0.030000 4.881890 4.251969 0 4.881890 -4.251969 0
+ A3 0 0.030000 3.622047 0.000000 4.251969 0 90.000000 90.000000
+ A3 0 0.030000 3.858268 0.000000 4.251969 0 90.000000 90.000000
+ A3 0 0.030000 4.645669 0.000000 4.251969 0 90.000000 90.000000
+ A3 0 0.030000 4.881890 0.000000 4.251969 0 90.000000 90.000000
+ A3 0 0.030000 3.622047 8.503937 4.251969 0 180.000000 90.000000
+ A3 0 0.030000 3.858268 8.503937 4.251969 0 180.000000 90.000000
+ A3 0 0.030000 4.645669 8.503937 4.251969 0 180.000000 90.000000
+ A3 0 0.030000 4.881890 8.503937 4.251969 0 180.000000 90.000000
+END
+TURNOUT O55 "Brio Track 5 Point Switch Q"
+ P "Normal" 1 2 3
+ P "R1" 1 4 5
+ P "R2" 1 2 6 7
+ P "R3" 1 2 8 9
+ P "R4" 1 10 11
+ E 0.000000 0.000000 270.000000
+ E 5.132580 3.006596 45.000000
+ E 6.054291 1.627158 67.500000
+ E 6.377953 0.000000 90.000000
+ E 6.054291 -1.627158 112.500000
+ E 5.132580 -3.006596 135.000000
+ S 16777215 0.000000 0.000000 0.000000 0.364761 0.000000
+ S 16777215 0.000000 0.364761 0.000000 1.280215 0.000000
+ S 16777215 0.000000 1.280215 0.000000 6.377953 0.000000
+ C 16777215 0.000000 -4.251969 0.364761 4.251969 135.000000 45.000000
+ S 16777215 0.000000 3.371357 1.245373 5.132580 3.006596
+ C 16777215 0.000000 -4.251969 1.280215 4.251969 157.500000 22.500000
+ S 16777215 0.000000 2.907373 0.323662 6.054291 1.627158
+ C 16777215 0.000000 4.251969 1.280215 -4.251969 0.00000 22.500000
+ S 16777215 0.000000 2.907373 -0.323662 6.054291 -1.627158
+ C 16777215 0.000000 4.251969 0.364761 -4.251969 0.000000 45.000000
+ S 16777215 0.000000 3.371357 -1.245373 5.132580 -3.006596
+#Outlines
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+ L3 0 0.030000 0.000000 0.787402 0 4.575803 3.563373 0
+ L3 0 0.030000 4.575803 3.563373 0 5.730629 2.408547 0
+ L3 0 0.030000 5.730629 2.408547 0 6.377953 0.845769 0
+ L3 0 0.030000 6.377953 0.845769 0 6.377953 -0.845769 0
+ L3 0 0.030000 5.730629 -2.408547 0 6.377953 -0.845769 0
+ L3 0 0.030000 4.575803 -3.563373 0 5.730629 -2.408547 0
+ L3 0 0.030000 0.000000 -0.787402 0 4.575803 -3.563373 0
+#Slots
+ A3 0 0.030000 3.622047 0.364761 4.251969 0 135.000000 45.000000
+ L3 0 0.030000 2.925935 1.690794 0 4.687158 3.452017 0
+ A3 0 0.030000 3.858268 0.364761 4.251969 0 135.000000 45.000000
+ L3 0 0.030000 3.092968 1.523761 0 4.854192 3.284984 0
+ A3 0 0.030000 4.645669 0.364761 4.251969 0 135.000000 45.000000
+ L3 0 0.030000 3.649745 0.966984 0 5.410969 2.728207 0
+ A3 0 0.030000 4.881890 0.364761 4.251969 0 135.000000 45.000000
+ L3 0 0.030000 3.816779 0.799951 0 5.578002 2.561174 0
+ A3 0 0.030000 3.622047 1.280215 4.251969 0 157.500000 22.500000
+ L3 0 0.030000 2.666313 0.905633 0 5.813230 2.209129 0
+ A3 0 0.030000 3.858268 1.280215 4.251969 0 157.500000 22.500000
+ L3 0 0.030000 2.756710 0.687394 0 5.903628 1.990890 0
+ A3 0 0.030000 4.645669 1.280215 4.251969 0 157.500000 22.500000
+ L3 0 0.030000 3.058036 -0.040070 0 6.204954 1.263426 0
+ A3 0 0.030000 4.881890 1.280215 4.251969 0 157.500000 22.500000
+ L3 0 0.030000 3.148433 -0.258310 0 6.295351 1.045187 0
+ L3 0 0.030000 0.000000 0.629921 0 6.377953 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 6.377953 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 6.377953 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 6.377953 -0.629921 0
+ A3 0 0.030000 4.645669 1.280215 -4.251969 0 0.000000 22.500000
+ L3 0 0.030000 3.058036 0.040070 0 6.204954 -1.263426 0
+ A3 0 0.030000 4.881890 1.280215 -4.251969 0 0.000000 22.500000
+ L3 0 0.030000 3.148433 0.258310 0 6.295351 -1.045187 0
+ A3 0 0.030000 3.622047 1.280215 -4.251969 0 0.000000 22.500000
+ L3 0 0.030000 2.666313 -0.905633 0 5.813230 -2.209129 0
+ A3 0 0.030000 3.858268 1.280215 -4.251969 0 0.000000 22.500000
+ L3 0 0.030000 2.756710 -0.687394 0 5.903628 -1.990890 0
+ A3 0 0.030000 4.645669 0.364761 -4.251969 0 0.000000 45.000000
+ L3 0 0.030000 3.649745 -0.966984 0 5.410969 -2.728207 0
+ A3 0 0.030000 4.881890 0.364761 -4.251969 0 0.000000 45.000000
+ L3 0 0.030000 3.816779 -0.799951 0 5.578002 -2.561174 0
+ A3 0 0.030000 3.622047 0.364761 -4.251969 0 0.000000 45.000000
+ L3 0 0.030000 2.925935 -1.690794 0 4.687158 -3.452017 0
+ A3 0 0.030000 3.858268 0.364761 -4.251969 0 0.000000 45.000000
+ L3 0 0.030000 3.092968 -1.523761 0 4.854192 -3.284984 0
+END
+
+
+SUBCONTENTS Brio Track - Cross Tracks
+TURNOUT O55 "Brio Track Crossing Track 108mm H"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 4.251969 0.000000 90.000000
+ E 2.125985 2.125985 0.000000
+ E 2.125985 -2.125985 180.000000
+ S 16777215 0.000000 0.000000 0.000000 4.251969 0.000000
+ S 16777215 0.000000 2.125985 2.125985 2.125985 -2.125985
+#Outlines
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+
+ L3 0 0.030000 0.000000 0.787402 0 1.338583 0.787402 0
+ L3 0 0.030000 1.338583 0.787402 0 1.338583 2.125985 0
+ L3 0 0.030000 1.338583 2.125985 0 2.913387 2.125985 0
+ L3 0 0.030000 2.913387 2.125985 0 2.913387 0.787402 0
+ L3 0 0.030000 2.913387 0.787402 0 4.251969 0.787402 0
+
+ L3 0 0.030000 4.251969 0.787402 0 4.251969 -0.787402 0
+
+ L3 0 0.030000 4.251969 -0.787402 0 2.913387 -0.787402 0
+ L3 0 0.030000 2.913387 -2.125985 0 2.913387 -0.787402 0
+ L3 0 0.030000 1.338583 -2.125985 0 2.913387 -2.125985 0
+ L3 0 0.030000 1.338583 -0.787402 0 1.338583 -2.125985 0
+ L3 0 0.030000 1.338583 -0.787402 0 0.000000 -0.787402 0
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 4.251969 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 4.251969 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 4.251969 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 4.251969 -0.629921 0
+
+ L3 0 0.030000 1.496064 2.125985 0 1.496064 -2.125985 0
+ L3 0 0.030000 1.732284 2.125985 0 1.732284 -2.125985 0
+ L3 0 0.030000 2.519686 2.125985 0 2.519686 -2.125985 0
+ L3 0 0.030000 2.755906 2.125985 0 2.755906 -2.125985 0
+END
+TURNOUT O55 "Brio Track Cross Track 116mm H1"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 4.566929 0.000000 90.000000
+ E 2.283465 2.283465 0.000000
+ E 2.283465 -2.283465 180.000000
+ S 16777215 0.000000 0.000000 0.000000 4.566929 0.000000
+ S 16777215 0.000000 2.283465 2.283465 2.283465 -2.283465
+#Outlines
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+ A3 0 0.030000 1.496063 0.000000 2.283465 0 90.000000 90.000000
+ L3 0 0.030000 1.496063 2.283465 0 3.070867 2.283465 0
+ A3 0 0.030000 1.496063 4.566929 2.283465 0 180.000000 90.000000
+ L3 0 0.030000 4.566929 0.787402 0 4.566929 -0.787402 0
+ A3 0 0.030000 1.496063 4.566929 -2.283465 0 270.000000 90.000000
+ L3 0 0.030000 1.496063 -2.283465 0 3.070867 -2.283465 0
+ A3 0 0.030000 1.496063 0.000000 -2.283465 0 0.000000 90.000000
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 4.566929 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 4.566929 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 4.566929 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 4.566929 -0.629921 0
+ L3 0 0.030000 1.653544 2.283465 0 1.653544 -2.283465 0
+ L3 0 0.030000 1.889764 2.283465 0 1.889764 -2.283465 0
+ L3 0 0.030000 2.677166 2.283465 0 2.677166 -2.283465 0
+ L3 0 0.030000 2.913386 2.283465 0 2.913386 -2.283465 0
+END
+
+
+TURNOUT O55 "Brio Track Criss-Cross 144mm H2"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 5.669291 0.000000 90.000000
+ E 4.839043 2.004397 45.000000
+ E 0.830248 -2.004397 225.000000
+ S 16777215 0.000000 0.000000 0.000000 5.669291 0.000000
+ S 16777215 0.000000 0.830248 -2.004397 4.839043 2.004397
+#Outlines
+ L3 0 0.030000 0.000000 -0.787402 0 0.000000 0.787402 0
+ L3 0 0.030000 0.000000 0.787402 0 2.508493 0.787402 0
+ L3 0 0.030000 2.508493 0.787402 0 4.282266 2.561174 0
+ L3 0 0.030000 4.282266 2.561174 0 5.395820 1.447620 0
+ L3 0 0.030000 5.395820 1.447620 0 4.735601 0.787402 0
+ L3 0 0.030000 4.735601 0.787402 0 5.669291 0.787402 0
+ L3 0 0.030000 5.669291 0.787402 0 5.669291 -0.787402 0
+ L3 0 0.030000 5.669291 -0.787402 0 3.160798 -0.787402 0
+ L3 0 0.030000 3.160798 -0.787402 0 1.387025 -2.561174 0
+ L3 0 0.030000 1.387025 -2.561174 0 0.273471 -1.447620 0
+ L3 0 0.030000 0.273471 -1.447620 0 0.933690 -0.787402 0
+ L3 0 0.030000 0.000000 -0.787402 0 0.933690 -0.787402 0
+#Slots
+ L3 0 0.030000 0.000000 0.629921 0 5.669291 0.629921 0
+ L3 0 0.030000 0.000000 0.393701 0 5.669291 0.393701 0
+ L3 0 0.030000 0.000000 -0.393701 0 5.669291 -0.393701 0
+ L3 0 0.030000 0.000000 -0.629921 0 5.669291 -0.629921 0
+ L3 0 0.030000 0.384827 -1.558976 0 4.393621 2.449819 0
+ L3 0 0.030000 0.551860 -1.726009 0 4.560654 2.282786 0
+ L3 0 0.030000 1.108637 -2.282786 0 5.117431 1.726009 0
+ L3 0 0.030000 1.275670 -2.449819 0 5.284464 1.558976 0
+END
+TURNOUT O55 "Brio Track Curve Crossing 182mm H3"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 5.623448 -2.329308 135.000000
+ E 0.556777 1.344179 315.000000
+ E 6.180225 -0.985130 90.000000
+ C 16777215 0.000000 7.952756 0.000000 -7.952756 0.000000 45.000000
+ C 16777215 0.000000 7.952756 6.180225 6.967626 180.000000 45.000000
+#Outlines
+ L3 0 0.030000 0.000000 0.787402 0 0.000000 -0.787402 0
+ L3 0 0.030000 5.066671 -2.886085 0 6.180225 -1.772531 0
+ A3 0 0.030000 7.165354 0.000000 -7.952756 0 0.000000 45.000000
+ L3 0 0.030000 0.000000 0.787402 0 1.113554 1.900956 0
+ L3 0 0.030000 6.180225 -0.197728 0 6.180225 -1.772531 0
+ A3 0 0.030000 7.165354 6.180225 6.967626 0 180.000000 45.000000
+#Slots
+ A3 0 0.030000 7.322835 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 7.559055 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 8.346457 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 8.582677 0.000000 -7.952756 0 0.000000 45.000000
+ A3 0 0.030000 7.322835 6.180225 6.967626 0 180.000000 45.000000
+ A3 0 0.030000 7.559055 6.180225 6.967626 0 180.000000 45.000000
+ A3 0 0.030000 8.346457 6.180225 6.967626 0 180.000000 45.000000
+ A3 0 0.030000 8.582677 6.180225 6.967626 0 180.000000 45.000000
+END
+
+
+SUBCONTENTS Brio Track - Turn Tables
+TURNOUT O55 "Brio Track Turn Table 144mm 33360" 512
+ P "1" 3 4 5
+ P "2" 6 7 8
+ A3 8424071 0.030000 2.125984 0.000000 0.000000 0 0.000000 360.000000
+ A3 8424071 0.030000 2.086614 0.000000 0.000000 0 0.000000 360.000000
+ E 0.000000 2.834646 0.000000
+ E 2.834646 0.000000 90.000000
+ E 0.000000 -2.834646 180.000000
+ E -2.834646 0.000000 270.000000
+ S 16777215 0 0.000000 2.834646 0.000000 2.125984
+ S 16777215 0 0.000000 2.125984 0.000000 -2.125984
+ S 16777215 0 0.000000 -2.125984 0.000000 -2.834646
+ S 16777215 0 2.834646 0.000000 2.125984 0.000000
+ S 16777215 0 2.125984 0.000000 -2.125984 0.000000
+ S 16777215 0 -2.125984 0.000000 -2.834646 0.000000
+#Outlines
+ L3 0 0.030000 -2.834646 -2.834646 0 -2.834646 2.834646 0
+ L3 0 0.030000 -2.834646 2.834646 0 2.834646 2.834646 0
+ L3 0 0.030000 2.834646 2.834646 0 2.834646 -2.834646 0
+ L3 0 0.030000 2.834646 -2.834646 0 -2.834646 -2.834646 0
+#Slots
+ L3 0 0.030000 -2.834646 0.629921 0 -2.005984 0.629921 0
+ L3 0 0.030000 -2.834646 0.393701 0 -2.065984 0.393701 0
+ L3 0 0.030000 -2.834646 -0.393701 0 -2.065984 -0.393701 0
+ L3 0 0.030000 -2.834646 -0.629921 0 -2.005984 -0.629921 0
+ L3 0 0.030000 2.005984 0.629921 0 2.834646 0.629921 0
+ L3 0 0.030000 2.065984 0.393701 0 2.834646 0.393701 0
+ L3 0 0.030000 2.065984 -0.393701 0 2.834646 -0.393701 0
+ L3 0 0.030000 2.005984 -0.629921 0 2.834646 -0.629921 0
+ L3 0 0.030000 -0.629921 2.834646 0 -0.629921 2.005984 0
+ L3 0 0.030000 -0.393701 2.834646 0 -0.393701 2.065984 0
+ L3 0 0.030000 0.393701 2.834646 0 0.393701 2.065984 0
+ L3 0 0.030000 0.629921 2.834646 0 0.629921 2.005984 0
+ L3 0 0.030000 -0.629921 -2.834646 0 -0.629921 -2.005984 0
+ L3 0 0.030000 -0.393701 -2.834646 0 -0.393701 -2.065984 0
+ L3 0 0.030000 0.393701 -2.834646 0 0.393701 -2.065984 0
+ L3 0 0.030000 0.629921 -2.834646 0 0.629921 -2.005984 0
+END
+TURNOUT O55 "Brio Track Turn Table 144mm 33361" 512
+ P "1" 3 4 5
+ P "2" 6 7 8
+ P "3" 9 10 11
+ A3 8424071 0.030000 2.125984 0.000000 0.000000 0 0.000000 360.000000
+ A3 8424071 0.030000 2.086614 0.000000 0.000000 0 0.000000 360.000000
+ E 0.000000 2.834646 0.000000
+ E 2.834646 0.000000 90.000000
+ E 2.004397 -2.004397 135.000000
+ E 0.000000 -2.834646 180.000000
+ E -2.834646 0.000000 270.000000
+ E -2.004397 2.004397 315.000000
+ S 16777215 0 0.000000 2.834646 0.000000 2.125984
+ S 16777215 0 0.000000 2.125984 0.000000 -2.125984
+ S 16777215 0 0.000000 -2.125984 0.000000 -2.834646
+ S 16777215 0 2.834646 0.000000 2.125984 0.000000
+ S 16777215 0 2.125984 0.000000 -2.125984 0.000000
+ S 16777215 0 -2.125984 0.000000 -2.834646 0.000000
+ S 16777215 0 2.004397 -2.004397 1.503298 -1.503298
+ S 16777215 0 1.503298 -1.503298 -1.503298 1.503298
+ S 16777215 0 -1.503298 1.503298 -2.004397 2.004397
+#Outlines
+ L3 0 0.030000 -2.834646 -1.953636 0 -2.834646 1.174149 0
+ L3 0 0.030000 -2.834646 1.174149 0 -1.174149 2.834646 0
+ L3 0 0.030000 -1.174149 2.834646 0 1.174149 2.834646 0
+ L3 0 0.030000 1.174149 2.834646 0 2.834646 1.174149 0
+ L3 0 0.030000 2.834646 1.174149 0 2.834646 -1.174149 0
+ L3 0 0.030000 2.834646 -1.174149 0 1.174149 -2.834646 0
+ L3 0 0.030000 1.174149 -2.834646 0 -1.953636 -2.834646 0
+ L3 0 0.030000 -1.953636 -2.834646 0 -2.834646 -1.953636 0
+ A3 8424071 0.030000 0.246063 -1.760807 -1.760807 0 0.000000 360.000000
+#Slots
+ L3 0 0.030000 -2.834646 0.629921 0 -2.005984 0.629921 0
+ L3 0 0.030000 -2.834646 0.393701 0 -2.065984 0.393701 0
+ L3 0 0.030000 -2.834646 -0.393701 0 -2.065984 -0.393701 0
+ L3 0 0.030000 -2.834646 -0.629921 0 -2.005984 -0.629921 0
+ L3 0 0.030000 2.005984 0.629921 0 2.834646 0.629921 0
+ L3 0 0.030000 2.065984 0.393701 0 2.834646 0.393701 0
+ L3 0 0.030000 2.065984 -0.393701 0 2.834646 -0.393701 0
+ L3 0 0.030000 2.005984 -0.629921 0 2.834646 -0.629921 0
+ L3 0 0.030000 -0.629921 2.834646 0 -0.629921 2.005984 0
+ L3 0 0.030000 -0.393701 2.834646 0 -0.393701 2.065984 0
+ L3 0 0.030000 0.393701 2.834646 0 0.393701 2.065984 0
+ L3 0 0.030000 0.629921 2.834646 0 0.629921 2.005984 0
+ L3 0 0.030000 -0.629921 -2.834646 0 -0.629921 -2.005984 0
+ L3 0 0.030000 -0.393701 -2.834646 0 -0.393701 -2.065984 0
+ L3 0 0.030000 0.393701 -2.834646 0 0.393701 -2.065984 0
+ L3 0 0.030000 0.629921 -2.834646 0 0.629921 -2.005984 0
+ L3 0 0.030000 -1.558976 2.449819 0 -0.990372 1.881215 0
+ L3 0 0.030000 -1.726009 2.282786 0 -1.198908 1.755685 0
+ L3 0 0.030000 -2.282786 1.726009 0 -1.755685 1.198908 0
+ L3 0 0.030000 -2.449819 1.558976 0 -1.881215 0.990372 0
+ L3 0 0.030000 1.558976 -2.449819 0 0.990372 -1.881215 0
+ L3 0 0.030000 1.726009 -2.282786 0 1.198908 -1.755685 0
+ L3 0 0.030000 2.282786 -1.726009 0 1.755685 -1.198908 0
+ L3 0 0.030000 2.449819 -1.558976 0 1.881215 -0.990372 0
+END
+TURNOUT O55 "Brio Track Turn Table 216mm 33460" 512
+ P "1" 3 4 5
+ P "2" 6 7
+ P "3" 8 9 10
+ P "4" 11 12
+ P "5" 13 14 15
+ P "6" 16 17 18
+ A3 8424071 0.030000 3.188976 0.000000 0.000000 0 0.000000 360.000000
+ A3 8424071 0.030000 3.149606 0.000000 0.000000 0 0.000000 360.000000
+ E 0.000000 4.251969 0.000000
+ E 1.627158 3.928307 22.500000
+ E 3.006596 3.006596 45.000000
+ E 3.928307 1.627158 67.500000
+ E 4.251969 0.000000 90.000000
+ E 3.006596 -3.006596 135.000000
+ E 0.000000 -4.251969 180.000000
+ E -3.006596 -3.006596 225.000000
+ E -4.251969 0.000000 270.000000
+ E -3.006596 3.006596 315.000000
+ S 16777215 0 0.000000 4.251969 0.000000 3.188976
+ S 16777215 0 0.000000 3.188976 0.000000 -3.188976
+ S 16777215 0 0.000000 -3.188976 0.000000 -4.251969
+ S 16777215 0 1.627158 3.928307 1.220368 2.946230
+ S 16777215 0 1.220368 2.946230 -1.220368 -2.946230
+ S 16777215 0 3.006596 3.006596 2.254947 2.254947
+ S 16777215 0 2.254947 2.254947 -2.254947 -2.254947
+ S 16777215 0 -2.254947 -2.254947 -3.006596 -3.006596
+ S 16777215 0 3.928307 1.627158 2.946230 1.220368
+ S 16777215 0 2.946230 1.220368 -2.946230 -1.220368
+ S 16777215 0 4.251969 0.000000 3.188976 0.000000
+ S 16777215 0 3.188976 0.000000 -3.188976 0.000000
+ S 16777215 0 -3.188976 0.000000 -4.251969 0.000000
+ S 16777215 0 3.006596 -3.006596 2.254947 -2.254947
+ S 16777215 0 2.254947 -2.254947 -2.254947 2.254947
+ S 16777215 0 -2.254947 2.254947 -3.006596 3.006596
+#Outlines
+ L3 0 0.030000 -4.251969 -0.845769 0 -4.251969 0.845769 0
+ L3 0 0.030000 -4.251969 0.845769 0 -3.604645 2.408547 0
+ L3 0 0.030000 -3.604645 2.408547 0 -2.408547 3.604645 0
+ L3 0 0.030000 -2.408547 3.604645 0 -0.845769 4.251969 0
+ L3 0 0.030000 -0.845769 4.251969 0 0.845769 4.251969 0
+ L3 0 0.030000 0.845769 4.251969 0 2.408547 3.604645 0
+ L3 0 0.030000 2.408547 3.604645 0 3.604645 2.408547 0
+ L3 0 0.030000 3.604645 2.408547 0 4.251969 0.845769 0
+ L3 0 0.030000 4.251969 0.845769 0 4.251969 -0.845769 0
+ L3 0 0.030000 4.251969 -0.845769 0 3.604645 -2.408547 0
+ L3 0 0.030000 3.604645 -2.408547 0 2.408547 -3.604645 0
+ L3 0 0.030000 2.408547 -3.604645 0 0.845769 -4.251969 0
+ L3 0 0.030000 0.845769 -4.251969 0 -0.845769 -4.251969 0
+ L3 0 0.030000 -0.845769 -4.251969 0 -2.408547 -3.604645 0
+ L3 0 0.030000 -2.408547 -3.604645 0 -3.604645 -2.408547 0
+ L3 0 0.030000 -3.604645 -2.408547 0 -4.251969 -0.845769 0
+#Slots
+ L3 0 0.030000 -4.251969 0.629921 0 -3.126143 0.629921 0
+ L3 0 0.030000 -4.251969 0.393701 0 -3.164581 0.393701 0
+ L3 0 0.030000 -4.251969 -0.393701 0 -3.164581 -0.393701 0
+ L3 0 0.030000 -4.251969 -0.629921 0 -3.126143 -0.629921 0
+ L3 0 0.030000 3.126143 0.629921 0 4.251969 0.629921 0
+ L3 0 0.030000 3.164581 0.393701 0 4.251969 0.393701 0
+ L3 0 0.030000 3.164581 -0.393701 0 4.251969 -0.393701 0
+ L3 0 0.030000 3.126143 -0.629921 0 4.251969 -0.629921 0
+ L3 0 0.030000 -0.629921 4.251969 0 -0.629921 3.126143 0
+ L3 0 0.030000 -0.393701 4.251969 0 -0.393701 3.164581 0
+ L3 0 0.030000 0.393701 4.251969 0 0.393701 3.164581 0
+ L3 0 0.030000 0.629921 4.251969 0 0.629921 3.126143 0
+ L3 0 0.030000 -0.629921 -4.251969 0 -0.629921 -3.126143 0
+ L3 0 0.030000 -0.393701 -4.251969 0 -0.393701 -3.164581 0
+ L3 0 0.030000 0.393701 -4.251969 0 0.393701 -3.164581 0
+ L3 0 0.030000 0.629921 -4.251969 0 0.629921 -3.126143 0
+ L3 0 0.030000 -2.561174 3.452017 0 -1.765095 2.655938 0
+ L3 0 0.030000 -2.728207 3.284984 0 -1.959308 2.516085 0
+ L3 0 0.030000 -3.284984 2.728207 0 -2.516085 1.959308 0
+ L3 0 0.030000 -3.452017 2.561174 0 -2.655938 1.765095 0
+ L3 0 0.030000 2.561174 -3.452017 0 1.765095 -2.655938 0
+ L3 0 0.030000 2.728207 -3.284984 0 1.959308 -2.516085 0
+ L3 0 0.030000 3.284984 -2.728207 0 2.516085 -1.959308 0
+ L3 0 0.030000 3.452017 -2.561174 0 2.655938 -1.765095 0
+ L3 0 0.030000 2.561174 3.452017 0 1.765095 2.655938 0
+ L3 0 0.030000 2.728207 3.284984 0 1.959308 2.516085 0
+ L3 0 0.030000 3.284984 2.728207 0 2.516085 1.959308 0
+ L3 0 0.030000 3.452017 2.561174 0 2.655938 1.765095 0
+ L3 0 0.030000 -2.561174 -3.452017 0 -1.765095 -2.655938 0
+ L3 0 0.030000 -2.728207 -3.284984 0 -1.959308 -2.516085 0
+ L3 0 0.030000 -3.284984 -2.728207 0 -2.516085 -1.959308 0
+ L3 0 0.030000 -3.452017 -2.561174 0 -2.655938 -1.765095 0
+ L3 0 0.030000 0.614352 3.129240 0 1.045187 4.169367 0
+ L3 0 0.030000 0.847300 3.074354 0 1.263426 4.078969 0
+ L3 0 0.030000 1.574765 2.773028 0 1.990890 3.777644 0
+ L3 0 0.030000 1.778294 2.647119 0 2.209129 3.687246 0
+ L3 0 0.030000 2.647119 1.778294 0 3.687246 2.209129 0
+ L3 0 0.030000 2.773028 1.574765 0 3.777644 1.990890 0
+ L3 0 0.030000 3.074354 0.847300 0 4.078969 1.263426 0
+ L3 0 0.030000 3.129240 0.614352 0 4.169367 1.045187 0
+END
diff --git a/app/lib/params/Circuits.xtp b/app/lib/params/Circuits.xtp
index 1c0d708..748a41b 100644
--- a/app/lib/params/Circuits.xtp
+++ b/app/lib/params/Circuits.xtp
@@ -1,5 +1,5 @@
CONTENTS Circuit Diagram Components
-STRUCTURE N "Electrical Schematics SPST 104"
+STRUCTURE * "Electrical Schematics SPST 104"
A3 0 0.010417 0.200000 0.800000 0.200000 0 0.000000 360.000000
A3 0 0.010417 0.200000 2.800000 0.200000 0 0.000000 360.000000
Q3 0 0.031250 0.800000 0.200000 0 2.800000 0.800000 0
@@ -8,7 +8,7 @@ STRUCTURE N "Electrical Schematics SPST 104"
Q3 0 0.031250 0.600000 0.200000 0 0.000000 0.200000 0
Q3 0 0.031250 3.000000 0.200000 0 3.400000 0.200000 0
END
-STRUCTURE N "Electrical Schematics SPDT 106"
+STRUCTURE * "Electrical Schematics SPDT 106"
A3 0 0.010417 0.200000 0.800000 0.600000 0 0.000000 360.000000
A3 0 0.010417 0.200000 1.800000 0.600000 0 0.000000 360.000000
A3 0 0.010417 0.200000 2.800000 0.600000 0 0.000000 360.000000
@@ -19,7 +19,7 @@ STRUCTURE N "Electrical Schematics SPDT 106"
Q3 0 0.031250 2.400000 1.400000 0 2.200000 1.400000 0
Q3 0 0.031250 2.400000 1.400000 0 2.400000 1.200000 0
END
-STRUCTURE N "Electrical Schematics DPST 107"
+STRUCTURE * "Electrical Schematics DPST 107"
A3 0 0.010417 0.200000 0.600000 0.200000 0 0.000000 360.000000
A3 0 0.010417 0.200000 0.600000 1.200000 0 0.000000 360.000000
A3 0 0.010417 0.200000 2.000000 1.200000 0 0.000000 360.000000
@@ -38,7 +38,7 @@ STRUCTURE N "Electrical Schematics DPST 107"
Q3 0 0.031250 1.800000 0.600000 0 1.800000 0.800000 0
Q3 0 0.031250 1.800000 1.600000 0 1.800000 1.800000 0
END
-STRUCTURE N "Electrical Schematics DPDT 108"
+STRUCTURE * "Electrical Schematics DPDT 108"
A3 0 0.010417 0.118996 2.046875 3.079098 0 0.000000 360.000000
A3 0 0.010417 0.112673 2.031250 2.079098 0 0.000000 360.000000
A3 0 0.010417 0.122035 2.046875 1.094723 0 0.000000 360.000000
@@ -61,7 +61,7 @@ STRUCTURE N "Electrical Schematics DPDT 108"
Q3 0 0.031250 2.156250 1.125973 0 2.546875 1.125973 0
Q3 0 0.031250 2.156250 0.110348 0 2.578125 0.110348 0
END
-STRUCTURE N "Electrical Schematics DPDT Center Off 109"
+STRUCTURE * "Electrical Schematics DPDT Center Off 109"
A3 0 0.010417 0.118996 2.046875 3.079098 0 0.000000 360.000000
A3 0 0.010417 0.112673 2.031250 2.079098 0 0.000000 360.000000
A3 0 0.010417 0.122035 2.046875 1.094723 0 0.000000 360.000000
@@ -95,7 +95,7 @@ STRUCTURE N "Electrical Schematics DPDT Center Off 109"
Q3 0 0.031250 2.812500 0.391598 0 3.156250 0.391598 0
Q3 0 0.031250 2.906250 0.266598 0 3.109375 0.266598 0
END
-STRUCTURE N "Electrical Schematics Simple Connector 110"
+STRUCTURE * "Electrical Schematics Simple Connector 110"
Q3 0 0.031250 0.000000 0.156250 0 0.984375 0.156250 0
Q3 0 0.031250 0.765625 0.312500 0 0.984375 0.156250 0
Q3 0 0.031250 0.796875 0.000000 0 0.984375 0.156250 0
@@ -103,17 +103,17 @@ STRUCTURE N "Electrical Schematics Simple Connector 110"
Q3 0 0.031250 1.109375 0.343750 0 1.328125 0.156250 0
Q3 0 0.031250 1.328125 0.156250 0 2.062500 0.156250 0
END
-STRUCTURE N "Electrical Schematics Wire Connection 111"
+STRUCTURE * "Electrical Schematics Wire Connection 111"
G3 0 0.000000 0.069877 0.069877 0.069877 0
END
-STRUCTURE N "Electrical Schematics Wire Crossover 105"
+STRUCTURE * "Electrical Schematics Wire Crossover 105"
Q3 0 0.031250 0.000000 0.000000 0 0.562500 0.000000 0
Q3 0 0.031250 0.562500 0.000000 0 0.562500 0.125000 0
Q3 0 0.031250 0.562500 0.125000 0 0.937500 0.125000 0
Q3 0 0.031250 0.937500 0.125000 0 0.937500 0.000000 0
Q3 0 0.031250 0.937500 0.000000 0 1.437500 0.000000 0
END
-STRUCTURE N "Electrical Schematics Rotary * Contact 111"
+STRUCTURE * "Electrical Schematics Rotary * Contact 111"
A3 0 0.010417 0.066291 0.921875 0.937500 0 0.000000 360.000000
A3 0 0.010417 0.091109 0.921875 0.937500 0 0.000000 360.000000
A3 0 0.010417 0.078125 0.906250 1.781250 0 0.000000 360.000000
@@ -131,7 +131,7 @@ STRUCTURE N "Electrical Schematics Rotary * Contact 111"
1.312500 1.609375 0
1.187500 1.609375 0
END
-STRUCTURE N "Electrical Schematics Rotary 6 Contacts 103"
+STRUCTURE * "Electrical Schematics Rotary 6 Contacts 103"
A3 0 0.010417 0.000000 0.934859 0.782543 0 0.000000 360.000000
A3 0 0.010417 0.078125 0.934859 0.782543 0 0.000000 360.000000
A3 0 0.010417 0.015625 0.919234 0.782543 0 0.000000 360.000000
@@ -149,7 +149,7 @@ STRUCTURE N "Electrical Schematics Rotary 6 Contacts 103"
1.153609 1.532543 0
1.012984 1.532543 0
END
-STRUCTURE N "Electrical Schematics Resistor 102"
+STRUCTURE * "Electrical Schematics Resistor 102"
L3 0 0.010417 0.484375 0.380208 0 1.921875 0.380208 0
L3 0 0.010417 1.921875 0.380208 0 1.921875 0.005208 0
L3 0 0.010417 1.921875 0.005208 0 0.484375 0.005208 0
@@ -157,7 +157,7 @@ STRUCTURE N "Electrical Schematics Resistor 102"
Q3 0 0.031250 0.468750 0.192708 0 0.000000 0.192708 0
Q3 0 0.031250 1.906250 0.208333 0 2.296875 0.208333 0
END
-STRUCTURE N "Electrical Schematics Fuse 101"
+STRUCTURE * "Electrical Schematics Fuse 101"
L3 0 0.010417 0.484375 0.380208 0 1.921875 0.380208 0
L3 0 0.010417 1.921875 0.380208 0 1.921875 0.005208 0
L3 0 0.010417 1.921875 0.005208 0 0.484375 0.005208 0
@@ -166,7 +166,7 @@ STRUCTURE N "Electrical Schematics Fuse 101"
Q3 0 0.031250 1.906250 0.208333 0 2.296875 0.208333 0
Q3 0 0.031250 0.468750 0.223958 0 1.906250 0.208333 0
END
-STRUCTURE N "Electrical Schematics Variable Resistor 112"
+STRUCTURE * "Electrical Schematics Variable Resistor 112"
L3 0 0.010417 0.484375 0.831434 0 1.921875 0.831434 0
L3 0 0.010417 1.921875 0.831434 0 1.921875 0.456434 0
L3 0 0.010417 1.921875 0.456434 0 0.484375 0.456434 0
@@ -177,7 +177,7 @@ STRUCTURE N "Electrical Schematics Variable Resistor 112"
L3 0 0.010417 1.453125 1.206434 0 1.671875 1.237684 0
L3 0 0.010417 1.640625 1.065809 0 1.671875 1.237684 0
END
-STRUCTURE N "Electrical Schematics Ammeter 113"
+STRUCTURE * "Electrical Schematics Ammeter 113"
A3 0 0.010417 0.508953 1.031250 0.508953 0 0.000000 360.000000
Q3 0 0.031250 0.000000 0.493328 0 0.515625 0.493328 0
Q3 0 0.031250 1.515625 0.508953 0 2.078125 0.508953 0
@@ -191,7 +191,7 @@ STRUCTURE N "Electrical Schematics Ammeter 113"
Q3 0 0.031250 0.875000 0.493328 0 1.140625 0.493328 0
Q3 0 0.031250 0.875000 0.805828 0 1.000000 0.805828 0
END
-STRUCTURE N "Electrical Schematics Voltmeter 114"
+STRUCTURE * "Electrical Schematics Voltmeter 114"
A3 0 0.010417 0.508953 1.031250 0.508953 0 0.000000 360.000000
Q3 0 0.031250 0.000000 0.493328 0 0.515625 0.493328 0
Q3 0 0.031250 1.515625 0.508953 0 2.078125 0.508953 0
@@ -208,7 +208,7 @@ STRUCTURE N "Electrical Schematics Voltmeter 114"
Q3 0 0.031250 1.031250 0.196453 0 1.031250 0.196453 0
Q3 0 0.031250 0.906250 0.212078 0 1.156250 0.212078 0
END
-STRUCTURE N "Electrical Schematics Diode 115"
+STRUCTURE * "Electrical Schematics Diode 115"
A3 0 0.010417 0.450965 0.796875 0.450965 0 0.000000 360.000000
Q3 0 0.031250 0.984375 0.685340 0 1.000000 0.200965 0
Q3 0 0.031250 0.000000 0.450965 0 1.656250 0.450965 0
@@ -216,7 +216,7 @@ STRUCTURE N "Electrical Schematics Diode 115"
Q3 0 0.031250 0.968750 0.450965 0 0.687500 0.107215 0
Q3 0 0.031250 0.687500 0.732215 0 0.687500 0.107215 0
END
-STRUCTURE N "Electrical Schematics Light Emitting Diode 116"
+STRUCTURE * "Electrical Schematics Light Emitting Diode 116"
A3 0 0.010417 0.450965 0.796875 0.450965 0 0.000000 360.000000
Q3 0 0.031250 0.984375 0.685340 0 1.000000 0.200965 0
Q3 0 0.031250 0.000000 0.450965 0 1.656250 0.450965 0
@@ -234,7 +234,7 @@ STRUCTURE N "Electrical Schematics Light Emitting Diode 116"
L3 0 0.010417 1.359375 0.904090 0 1.281250 0.904090 0
L3 0 0.010417 1.375000 0.919715 0 1.359375 0.825965 0
END
-STRUCTURE N "Electrical Schematics Light Sensitive Diode 117"
+STRUCTURE * "Electrical Schematics Light Sensitive Diode 117"
A3 0 0.010417 0.450965 0.796875 0.450965 0 0.000000 360.000000
Q3 0 0.031250 0.984375 0.685340 0 1.000000 0.200965 0
Q3 0 0.031250 0.000000 0.450965 0 1.656250 0.450965 0
@@ -252,7 +252,7 @@ STRUCTURE N "Electrical Schematics Light Sensitive Diode 117"
L3 0 0.010417 1.234375 0.825965 0 1.250000 0.888465 0
L3 0 0.010417 1.250000 0.794715 0 1.312500 0.794715 0
END
-STRUCTURE N "Electrical Schematics Rheostat 118"
+STRUCTURE * "Electrical Schematics Rheostat 118"
Q3 0 0.031250 0.000000 0.828125 0 1.937500 0.812500 0
Q3 0 0.031250 0.156250 0.843750 0 0.312500 1.015625 0
Q3 0 0.031250 0.312500 1.015625 0 0.375000 0.671875 0
@@ -274,7 +274,7 @@ STRUCTURE N "Electrical Schematics Rheostat 118"
Q3 0 0.031250 1.031250 0.656250 0 0.828125 0.484375 0
Q3 0 0.031250 1.031250 0.656250 0 1.156250 0.453125 0
END
-STRUCTURE N "Electrical Schematics Dip Switch 120"
+STRUCTURE * "Electrical Schematics Dip Switch 120"
L3 0 0.010417 0.517172 1.005208 0 1.110922 1.005208 0
L3 0 0.010417 1.110922 1.005208 0 1.110922 0.005208 0
L3 0 0.010417 1.110922 0.005208 0 0.517172 0.005208 0
diff --git a/app/lib/params/EM-UK Fine Scale.xtp b/app/lib/params/EM-UK Fine Scale.xtp
index f81b1ce..3116c77 100644
--- a/app/lib/params/EM-UK Fine Scale.xtp
+++ b/app/lib/params/EM-UK Fine Scale.xtp
@@ -23,9 +23,11 @@ TURNOUT EM "EM B6-R"
S 0 0 10.165179 -0.798646 11.496063 -1.023622
END
# Double Slipswitch Design by - 32.100000 6.000000 32.100000
-TURNOUT EM "EM DS-6"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT EM "EM DS-6" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 12.637795 0.000000 90.000000
E 0.088379 1.053141 279.594076
@@ -92,9 +94,11 @@ TURNOUT EM "EM Quarter turn, 1200R"
C 0 0 -47.244094 0.000063 47.244094 90.000076 90.000000
END
# Double Slipswitch Design by - 30.000000 7.000000 30.000000
-TURNOUT EM "EM DS-7"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT EM "EM DS-7" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 11.811024 0.000000 90.000000
E 0.060570 0.843637 278.213218
@@ -465,9 +469,11 @@ TURNOUT EM "EM OUTSIDE SINGLE SLIP-4.5"
C 0 0.000000 63.275490 1.482635 -63.275490 0.000076 12.839751
END
# Double Slipswitch Design by - 43.700000 4.500000 43.700000
-TURNOUT EM "EM OUTSIDE DOUBLE SLIP-4.5"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT EM "EM OUTSIDE DOUBLE SLIP-4.5" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 17.204724 0.000000 90.000000
E 0.215091 1.911625 282.839599
diff --git a/app/lib/params/F-NMRA-RP12-21.xtp b/app/lib/params/F-NMRA-RP12-21.xtp
index cd2f6fb..0da6d9a 100644
--- a/app/lib/params/F-NMRA-RP12-21.xtp
+++ b/app/lib/params/F-NMRA-RP12-21.xtp
@@ -558,9 +558,11 @@ TURNOUT F "NMRA F #8 Single Slip 8SS"
END
SUBCONTENTS NMRA F Scale Double Slip Turnouts
-TURNOUT F "NMRA F #6 Double Slip 6DS"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT F "NMRA F #6 Double Slip 6DS" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 64.484000 0.000000 90.000000
E 0.444709 5.336560 279.527283
@@ -574,9 +576,11 @@ TURNOUT F "NMRA F #6 Double Slip 6DS"
C 0 0.000000 320.103594 5.566177 -320.103594 0.000076 9.527435
C 0 0.000000 -320.103594 58.916967 320.103523 180.000076 9.527435
END
-TURNOUT F "NMRA F #8 Double Slip 8DS"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT F "NMRA F #8 Double Slip 8DS" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 90.664000 0.000000 90.000000
E 0.352770 5.644387 277.152669
diff --git a/app/lib/params/FastTrack-HO.xtp b/app/lib/params/FastTrack-HO.xtp
index c7bac97..4250ad0 100644
--- a/app/lib/params/FastTrack-HO.xtp
+++ b/app/lib/params/FastTrack-HO.xtp
@@ -126,30 +126,54 @@ TURNOUT HO "Fast Tracks #6 Right Curve 60-33 Turnout FT-6-R-60-33"
SUBCONTENTS Fast Track HO Scale - #8 Curve Turnouts
TURNOUT HO "Fast Tracks #8 Left Curve 18-15 Turnout FT-8-L-18-15"
- P "Normal" 1 6 4 5
+ U "Curved Turnout" "" "Fast Tracks" "#8 Left Curve 18-15 TurnoutL" "FT-8-L-18-151" "#8 Right Curve 18-15 Turnout" "FT-8-R-18-15" 12.195184 48.357832 5.385980 40.457778 4.641370 12.899568 0.000000 0.000000 0
+ P "Normal" 1 4 5
P "Reverse" 1 2 3
E 0.000000 0.000000 270.000000
- E 12.899568 4.641347 49.542222
- E 12.195184 5.383598 41.642160
- S 0 0.000000 0.000000 0.000000 0.853970 0.000000
- C 0 0.000000 -14.598485 0.853989 14.598485 131.642084 48.357992
- S 0 0.000000 11.763573 4.898159 12.195184 5.383598
- C 0 0.000000 -17.647609 0.954021 17.647609 139.542146 40.457930
- S 0 0.000000 12.405339 4.219843 12.899568 4.641347
- S 0 0.000000 0.853970 0.000000 0.953998 0.000000
+ E 12.899568 4.641370 49.542222
+ E 12.195184 5.385980 41.642168
+ S 0 0.000000 0.000000 0.000000 0.848631 0.000000
+ C 0 0.000000 -14.605613 0.848631 14.605613 131.642168 48.357832
+ S 0 0.000000 11.763540 4.900528 12.195184 5.385980
+ C 0 0.000000 -17.647747 0.953529 17.647436 139.540662 40.799907
+ S 0 0.000000 12.405298 4.219853 12.899568 4.641370
+#UseOldPaths - Seg6 is short
+# P "Normal" 1 6 4 5
+# P "Reverse" 1 2 3
+# E 0.000000 0.000000 270.000000
+# E 12.899568 4.641347 49.542222
+# E 12.195184 5.383598 41.642160
+# S 0 0.000000 0.000000 0.000000 0.853970 0.000000
+# C 0 0.000000 -14.598485 0.853989 14.598485 131.642084 48.357992
+# S 0 0.000000 11.763573 4.898159 12.195184 5.383598
+# C 0 0.000000 -17.647609 0.954021 17.647609 139.542146 40.457930
+# S 0 0.000000 12.405339 4.219843 12.899568 4.641347
+# S 0 0.000000 0.853970 0.000000 0.953998 0.000000
END
TURNOUT HO "Fast Tracks #8 Right Curve 18-15 Turnout FT-8-R-18-15"
- P "Normal" 1 6 4 5
+#UseOldPaths - Seg6 is short
+ U "Curved Turnout" "" "Fast Tracks" "#8 Left Curve 18-15 TurnoutL" "FT-8-L-18-151" "#8 Right Curve 18-15 Turnout" "FT-8-R-18-15" 12.195184 48.357832 5.385980 40.457778 4.641370 12.899568 0.000000 0.000000 0
+ P "Normal" 1 4 5
P "Reverse" 1 2 3
E 0.000000 0.000000 270.000000
- E 12.899568 -4.641347 130.457778
- E 12.195184 -5.383598 138.357840
- S 0 0.000000 0.000000 0.000000 0.853970 0.000000
- C 0 0.000000 14.598485 0.853912 -14.598485 0.000076 48.357992
- S 0 0.000000 11.763573 -4.898159 12.195184 -5.383598
- C 0 0.000000 17.647609 0.953928 -17.647609 0.000076 40.457930
- S 0 0.000000 12.405339 -4.219843 12.899568 -4.641347
- S 0 0.000000 0.853970 0.000000 0.953998 0.000000
+ E 12.899568 -4.641370 130.457778
+ E 12.195184 -5.385980 138.357832
+ S 0 0.000000 0.000000 0.000000 0.848631 -0.000000
+ C 0 0.000000 14.605613 0.848631 -14.605613 0.000000 48.357832
+ S 0 0.000000 11.763540 -4.900528 12.195184 -5.385980
+ C 0 0.000000 17.647747 0.953529 -17.647436 359.659431 40.799907
+ S 0 0.000000 12.405298 -4.219853 12.899568 -4.641370
+# P "Normal" 1 6 4 5
+# P "Reverse" 1 2 3
+# E 0.000000 0.000000 270.000000
+# E 12.899568 -4.641347 130.457778
+# E 12.195184 -5.383598 138.357840
+# S 0 0.000000 0.000000 0.000000 0.853970 0.000000
+# C 0 0.000000 14.598485 0.853912 -14.598485 0.000076 48.357992
+# S 0 0.000000 11.763573 -4.898159 12.195184 -5.383598
+# C 0 0.000000 17.647609 0.953928 -17.647609 0.000076 40.457930
+# S 0 0.000000 12.405339 -4.219843 12.899568 -4.641347
+# S 0 0.000000 0.853970 0.000000 0.953998 0.000000
END
TURNOUT HO "Fast Tracks #8 Left Curve 24-20 Turnout FT-8-L-24-20"
P "Normal" 1 4 5
@@ -487,9 +511,11 @@ TURNOUT HO "Fast Tracks #10 Right Curve 60-46 Turnout FT-10-R-60-46"
SUBCONTENTS Fast Track HO Scale - Slips
-TURNOUT HO "Fast Tracks #4 Slip Turnout (min length) FT-S-4"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Fast Tracks #4 Slip Turnout (min length) FT-S-4" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 7.500000 0.000000 90.000000
E 0.119077 0.937495 284.477524
@@ -503,9 +529,11 @@ TURNOUT HO "Fast Tracks #4 Slip Turnout (min length) FT-S-4"
C 0 0.000000 19.294700 1.299227 -19.294700 0.000076 14.477676
C 0 0.000000 -19.294700 6.200721 19.294694 180.000076 14.477676
END
-TURNOUT HO "Fast Tracks #5 Slip Turnout (min length) FT-S-5"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Fast Tracks #5 Slip Turnout (min length) FT-S-5" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 8.800000 0.000000 90.000000
E 0.088897 0.879994 281.536969
@@ -519,9 +547,12 @@ TURNOUT HO "Fast Tracks #5 Slip Turnout (min length) FT-S-5"
C 0 0.000000 30.693984 1.299234 -30.693984 0.000076 11.537121
C 0 0.000000 -30.693984 7.500684 30.693976 180.000076 11.537121
END
-TURNOUT HO "Fast Tracks #6 Slip Turnout (min length) FT-S-6" U "Double Slipswitch" "" "Fast Tracks" "#6 Slip Turnout (min length)" "FT-S-6" 10.200000 9.594076 10.200000 0.000000 0.031250 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Fast Tracks #6 Slip Turnout (min length) FT-S-6" 512
+ U "Double Slipswitch" "" "Fast Tracks" "#6 Slip Turnout (min length)" "FT-S-6" 10.200000 9.594076 10.200000 0.000000 0.031250 0
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 10.200000 0.000000 90.000000
E 0.071331 0.849993 279.594076
@@ -535,9 +566,11 @@ TURNOUT HO "Fast Tracks #6 Slip Turnout (min length) FT-S-6" U "Double Slipswitc
C 0 0.000000 45.289320 1.299241 -45.289320 0.000076 9.594228
C 0 0.000000 -45.289320 8.900638 45.289310 180.000076 9.594228
END
-TURNOUT HO "Fast Tracks #8 Slip Turnout (min length) FT-S-8"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Fast Tracks #8 Slip Turnout (min length) FT-S-8" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 15.400000 0.000000 90.000000
E 0.060392 0.962490 277.180762
diff --git a/app/lib/params/FastTrack_n.xtp b/app/lib/params/FastTrack_n.xtp
index 45395f4..0ef3742 100644
--- a/app/lib/params/FastTrack_n.xtp
+++ b/app/lib/params/FastTrack_n.xtp
@@ -402,10 +402,12 @@ TURNOUT N "Fast Track #6 Left Crossover AF-N-C-6-ME55"
S 0 0.000000 4.303441 0.458331 4.987898 0.632221
C 0 0.000000 14.885974 8.653321 -13.795422 345.745267 14.254733
END
-TURNOUT N "Fast Track #6 Slip Switch AF-N-S-6-ME55"
+TURNOUT N "Fast Track #6 Slip Switch AF-N-S-6-ME55" 512
U "Double Slipswitch" "" "Fast Track" "#6 Slip Switch" "AF-N-S-6-ME55" 5.629921 9.594068 5.629921 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 5.629921 0.000000 90.000000
E 0.039372 0.469160 279.594068
diff --git a/app/lib/params/G-MicroEngineering250.xtp b/app/lib/params/G-MicroEngineering250.xtp
new file mode 100644
index 0000000..411b08d
--- /dev/null
+++ b/app/lib/params/G-MicroEngineering250.xtp
@@ -0,0 +1,49 @@
+CONTENTS Micro-Engineering G Code 250
+
+SUBCONTENTS Micro-Engineering G-Scale Track - 250 Al/NS Straight
+TURNOUT G "ME G-Trak 250 Alum 12"" Straight 22-001/23-001"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 12.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 12.000000 0.000000
+ END$SEGS
+TURNOUT G "ME G-Trak 250 Alum 24"" Straight 22-002/23-002"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 24.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 24.000000 0.000000
+ END$SEGS
+TURNOUT G "ME G-Trak 250 Alum 36"" Straight 22-003/23-003"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 36.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 36.000000 0.000000
+ END$SEGS
+
+
+SUBCONTENTS Micro-Engineering G-Scale Track - 250 Al/NS Curve
+TURNOUT G "ME G-Trak 250 Alum 24"" Radius 30d Curve 22-102/23-102"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 12.000000 -3.215390 120.000000
+ C 0 0 24.000000 0.000000 -24.000000 0.000000 30.000000
+ END$SEGS
+TURNOUT G "ME G-Trak 250 Alum 48"" Radius 22.5d Curve 22-104/23-104"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 18.368805 -3.653782 112.500000
+ C 0 0 48.000000 0.000000 -48.000000 0.000000 22.500000
+ END$SEGS
+TURNOUT G "ME G-Trak 250 Alum 80"" Radius 18d Curve 22-107/23-107"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 24.721360 -3.915479 108.000000
+ C 0 0 80.000000 0.000000 -80.000000 0.000000 18.000000
+ END$SEGS
+TURNOUT G "ME G-Trak 250 Alum 120"" Radius 12d Curve 22-110/23-110"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 24.949403 -2.622288 102.000000
+ C 0 0 120.000000 0.000000 -120.000000 0.000000 12.000000
+ END$SEGS
+
diff --git a/app/lib/params/G-MicroEngineering332.xtp b/app/lib/params/G-MicroEngineering332.xtp
new file mode 100644
index 0000000..61b3e99
--- /dev/null
+++ b/app/lib/params/G-MicroEngineering332.xtp
@@ -0,0 +1,49 @@
+CONTENTS Micro-Engineering G Code 332
+
+SUBCONTENTS Micro-Engineering G-Scale Track - 332 Aluminum Straight
+TURNOUT G "ME G-Trak 332 Alum 12"" Straight 20-001"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 12.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 12.000000 0.000000
+ END$SEGS
+TURNOUT G "ME G-Trak 332 Alum 24"" Straight 20-002"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 24.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 24.000000 0.000000
+ END$SEGS
+TURNOUT G "ME G-Trak 332 Alum 36"" Straight 20-003"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 36.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 36.000000 0.000000
+ END$SEGS
+
+
+SUBCONTENTS Micro-Engineering G-Scale Track - 332 Aluminum Curve
+TURNOUT G "ME G-Trak 332 Alum 24"" Radius 30d Curve 20-102"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 12.000000 -3.215390 120.000000
+ C 0 0 24.000000 0.000000 -24.000000 0.000000 30.000000
+ END$SEGS
+TURNOUT G "ME G-Trak 332 Alum 48"" Radius 22.5d Curve 20-104"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 18.368805 -3.653782 112.500000
+ C 0 0 48.000000 0.000000 -48.000000 0.000000 22.500000
+ END$SEGS
+TURNOUT G "ME G-Trak 332 Alum 80"" Radius 18d Curve 20-107"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 24.721360 -3.915479 108.000000
+ C 0 0 80.000000 0.000000 -80.000000 0.000000 18.000000
+ END$SEGS
+TURNOUT G "ME G-Trak 332 Alum 120"" Radius 12d Curve 20-110"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 24.949403 -2.622288 102.000000
+ C 0 0 120.000000 0.000000 -120.000000 0.000000 12.000000
+ END$SEGS
+
diff --git a/app/lib/params/G-MicroEngineeringTrack.xtp b/app/lib/params/G-MicroEngineeringTrack.xtp
deleted file mode 100644
index 2357b0f..0000000
--- a/app/lib/params/G-MicroEngineeringTrack.xtp
+++ /dev/null
@@ -1,142 +0,0 @@
-CONTENTS Micro-Engineering G-Scale
-SUBCONTENTS Micro-Engineering G-Scale Track - 332 Aluminum Straight
-TURNOUT G "ME G-Trak 332 Alum 12"" Straight 20-001"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 12.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 12.000000 0.000000
-END
-TURNOUT G "ME G-Trak 332 Alum 24"" Straight 20-002"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 24.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 24.000000 0.000000
-END
-TURNOUT G "ME G-Trak 332 Alum 36"" Straight 20-003"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 36.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 36.000000 0.000000
-END
-
-
-SUBCONTENTS Micro-Engineering G-Scale Track - 332 Aluminum Curve
-TURNOUT G "ME G-Trak 332 Alum 24"" Radius 30d Curve 20-102
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 12.000000 -3.215390 120.000000
- C 0 0 24.000000 0.000000 -24.000000 0.000000 30.000000
-END
-TURNOUT G "ME G-Trak 332 Alum 48"" Radius 22.5d Curve 20-104
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 18.368805 -3.653782 112.500000
- C 0 0 48.000000 0.000000 -48.000000 0.000000 22.500000
-END
-TURNOUT G "ME G-Trak 332 Alum 80"" Radius 18d Curve 20-107
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 24.721360 -3.915479 108.000000
- C 0 0 80.000000 0.000000 -80.000000 0.000000 18.000000
-END
-TURNOUT G "ME G-Trak 332 Alum 120"" Radius 12d Curve 20-110
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 24.949403 -2.622288 102.000000
- C 0 0 120.000000 0.000000 -120.000000 0.000000 12.000000
-END
-
-
-SUBCONTENTS Micro-Engineering G-Scale Track - 250 Aluminum Straight
-TURNOUT G "ME G-Trak 250 Alum 12"" Straight 22-001"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 12.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 12.000000 0.000000
-END
-TURNOUT G "ME G-Trak 250 Alum 24"" Straight 22-002"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 24.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 24.000000 0.000000
-END
-TURNOUT G "ME G-Trak 250 Alum 36"" Straight 22-003"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 36.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 36.000000 0.000000
-END
-
-
-SUBCONTENTS Micro-Engineering G-Scale Track - 250 Aluminum Curve
-TURNOUT G "ME G-Trak 250 Alum 24"" Radius 30d Curve 22-102
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 12.000000 -3.215390 120.000000
- C 0 0 24.000000 0.000000 -24.000000 0.000000 30.000000
-END
-TURNOUT G "ME G-Trak 250 Alum 48"" Radius 22.5d Curve 22-104
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 18.368805 -3.653782 112.500000
- C 0 0 48.000000 0.000000 -48.000000 0.000000 22.500000
-END
-TURNOUT G "ME G-Trak 250 Alum 80"" Radius 18d Curve 22-107
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 24.721360 -3.915479 108.000000
- C 0 0 80.000000 0.000000 -80.000000 0.000000 18.000000
-END
-TURNOUT G "ME G-Trak 250 Alum 120"" Radius 12d Curve 22-110
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 24.949403 -2.622288 102.000000
- C 0 0 120.000000 0.000000 -120.000000 0.000000 12.000000
-END
-
-SUBCONTENTS Micro-Engineering G-Scale Track - 250 Nickle Silver Straight
-TURNOUT G "ME G-Trak 250 NS 12"" Straight 23-001"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 12.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 12.000000 0.000000
-END
-TURNOUT G "ME G-Trak 250 NS 24"" Straight 23-002"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 24.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 24.000000 0.000000
-END
-TURNOUT G "ME G-Trak 250 NS 36"" Straight 23-003"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 36.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 36.000000 0.000000
-END
-
-
-SUBCONTENTS Micro-Engineering G-Scale Track - 250 Nickle Silver Curve
-TURNOUT G "ME G-Trak 250 NS 24"" Radius 30d Curve 23-102
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 12.000000 -3.215390 120.000000
- C 0 0 24.000000 0.000000 -24.000000 0.000000 30.000000
-END
-TURNOUT G "ME G-Trak 250 NS 48"" Radius 22.5d Curve 23-104
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 18.368805 -3.653782 112.500000
- C 0 0 48.000000 0.000000 -48.000000 0.000000 22.500000
-END
-TURNOUT G "ME G-Trak 250 NS 80"" Radius 18d Curve 23-107
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 24.721360 -3.915479 108.000000
- C 0 0 80.000000 0.000000 -80.000000 0.000000 18.000000
-END
-TURNOUT G "ME G-Trak 250 NS 120"" Radius 12d Curve 23-110
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 24.949403 -2.622288 102.000000
- C 0 0 120.000000 0.000000 -120.000000 0.000000 12.000000
-END
diff --git a/app/lib/params/G-NMRA-RP12-23.xtp b/app/lib/params/G-NMRA-RP12-23.xtp
index 6d36e4e..d58ae16 100644
--- a/app/lib/params/G-NMRA-RP12-23.xtp
+++ b/app/lib/params/G-NMRA-RP12-23.xtp
@@ -558,9 +558,11 @@ TURNOUT G "NMRA G #8 SINGLE SLIP 8SS"
END
SUBCONTENTS NMRA G Scale Double Slip Turnouts
-TURNOUT G "NMRA G #6 DOUBLE SLIP 6DS"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT G "NMRA G #6 DOUBLE SLIP 6DS" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 41.312000 0.000000 90.000000
E 0.284905 3.418894 279.527283
@@ -574,9 +576,11 @@ TURNOUT G "NMRA G #6 DOUBLE SLIP 6DS"
C 0 0.000000 205.386612 3.540113 -205.386612 0.000076 9.527435
C 0 0.000000 -205.386612 37.771338 205.386567 180.000076 9.527435
END
-TURNOUT G "NMRA G #8 DOUBLE SLIP 8DS"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT G "NMRA G #8 DOUBLE SLIP 8DS" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 57.938000 0.000000 90.000000
E 0.225435 3.606994 277.152669
diff --git a/app/lib/params/G-NQD-AMAX Plastic.xtp b/app/lib/params/G-NQD-AMAX Plastic.xtp
index 262504f..c404a88 100644
--- a/app/lib/params/G-NQD-AMAX Plastic.xtp
+++ b/app/lib/params/G-NQD-AMAX Plastic.xtp
@@ -8,7 +8,7 @@ TURNOUT G "Newqida/AMAX Straight 300mm 78010"
END
SUBCONTENTS Curve Track
-TURNOUT G "Newqida/AMAX Curved 650mm 30� 78020"
+TURNOUT G "Newqida/AMAX Curved 650mm 30° 78020"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 12.795276 3.428484 60.000000
diff --git a/app/lib/params/Piko-g.xtp b/app/lib/params/G-Piko.xtp
index ac870ee..309c0cf 100644
--- a/app/lib/params/Piko-g.xtp
+++ b/app/lib/params/G-Piko.xtp
@@ -1,183 +1,269 @@
-CONTENTS Piko G Scale Track
-
-SUBCONTENTS Piko G Scale Track - Straights
-TURNOUT G "Piko G-G1200 1200mm (47.24) Straight 35208"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 47.244094 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 47.244094 0.000000
- END
-TURNOUT G "Piko G-G600 600mm (23.62) Straight 35209"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 23.622047 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 23.622047 0.000000
- END
-TURNOUT G "Piko G-G320 320mm (12.60) Straight 35200"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 12.598425 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 12.598425 0.000000
- END
-TURNOUT G "Piko G-G280 280mm (11.02) Straight 35201"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 11.023622 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 11.023622 0.000000
- END
-TURNOUT G "Piko G-G160 160mm (6.30) Straight 35202"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 6.299212 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 6.299212 0.000000
- END
-TURNOUT G "Piko G-G140 140mm (5.51) Straight 35203"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 5.511811 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 5.511811 0.000000
- END
-TURNOUT G "Piko G-G95 95mm (3.74) Straight 35204"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 3.740157 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 3.740157 0.000000
- END
-
-
-SUBCONTENTS Piko G Scale Track - Curves
-TURNOUT G "Piko G-R1 600mm (23.62) Dia. 30° Curve 35211"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 11.811024 -3.164754 120.000000
- C 0 0.000000 23.622047 0.000000 -23.622047 0.000000 30.000000
- END
-TURNOUT G "Piko G-R3 921.54mm (36.28) Dia. 30° Curve 35213"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 18.140551 -4.860746 120.000000
- C 0 0.000000 36.281102 0.000000 -36.281102 0.000000 30.000000
- END
-TURNOUT G "Piko G-R5 1243.08mm (48.94) Dia. 15° Curve 35215"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 12.666645 -1.667595 105.000000
- C 0 0.000000 48.940157 0.000000 -48.940157 0.000000 15.000000
- END
-TURNOUT G "Piko G-R5 1243.08mm (48.94) Dia. 7.5° Curve 35216"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 6.387972 -0.418690 97.500000
- C 0 0.000000 48.940157 0.000000 -48.940157 0.000000 7.500000
- END
-
-
-SUBCONTENTS Piko G Scale Track - Crossings
-TURNOUT G "Piko K30 30° Crossing 35240"
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 12.598425 0.000000 90.000000
- E 0.843934 3.149606 300.000000
- E 11.754491 -3.149606 120.000000
- S 0 0.000000 0.000000 0.000000 12.598425 0.000000
- S 0 0.000000 0.843934 3.149606 11.754491 -3.149606
- END
-TURNOUT G "Piko K60 60° Crossing 35241"
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 6.162992 0.000000 90.000000
- E 1.540742 2.668650 330.000000
- E 4.622250 -2.668650 150.000000
- S 0 0.000000 0.000000 0.000000 6.162992 0.000000
- S 0 0.000000 1.540742 2.668650 4.622250 -2.668650
- END
-
-
-SUBCONTENTS Piko G Scale Track - Switches
-TURNOUT G "Piko G-WLR1 Switch Left 35220"
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 12.598425 0.000000 90.000000
- E 11.811024 3.164754 60.000000
- S 0 0.000000 0.000000 0.000000 1.770054 0.000000
- S 0 0.000000 1.770054 0.000000 12.598425 0.000000
- C 0 0.000000 -17.016232 1.770076 17.016232 149.999924 30.000152
- S 0 0.000000 10.278202 2.279762 11.811024 3.164754
- END
-TURNOUT G "Piko G-WRR1 Switch Right 35221"
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 12.598425 0.000000 90.000000
- E 11.811024 -3.164754 120.000000
- S 0 0.000000 0.000000 0.000000 1.770054 0.000000
- S 0 0.000000 1.770054 0.000000 12.598425 0.000000
- C 0 0.000000 17.016232 1.769986 -17.016232 0.000076 30.000152
- S 0 0.000000 10.278202 -2.279762 11.811024 -3.164754
- END
-TURNOUT G "Piko G-WLR5 Switch Left 35222"
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 26.771654 0.000000 90.000000
- E 24.409579 6.299213 60.000000
- S 0 0.000000 0.000000 0.000000 2.670704 0.000000
- S 0 0.000000 2.670704 0.000000 26.771654 0.000000
- C 0 0.000000 -40.412066 2.670758 40.412066 149.999924 30.000152
- S 0 0.000000 22.876815 5.414235 24.409579 6.299213
- END
-TURNOUT G "Piko G-WRR5 Switch Right 35223"
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 26.771654 0.000000 90.000000
- E 24.409579 -6.299213 120.000000
- S 0 0.000000 0.000000 0.000000 2.670704 0.000000
- S 0 0.000000 2.670704 0.000000 26.771654 0.000000
- C 0 0.000000 40.412066 2.670544 -40.412066 0.000076 30.000152
- S 0 0.000000 22.876815 -5.414235 24.409579 -6.299213
- END
-TURNOUT G "Piko G-DKW Double-Slip Switch 35226"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
- E 0.000000 0.000000 270.000000
- E 12.598425 0.000000 90.000000
- E 0.843929 3.149597 300.000000
- E 11.754496 -3.149597 120.000000
- S 0 0.000000 0.000000 0.000000 3.540076 0.000000
- S 0 0.000000 3.540076 0.000000 9.058349 0.000000
- S 0 0.000000 9.058349 0.000000 12.598425 0.000000
- S 0 0.000000 0.843929 3.149597 3.909634 1.379600
- S 0 0.000000 3.909634 1.379600 8.688791 -1.379600
- S 0 0.000000 8.688791 -1.379600 11.754496 -3.149597
- C 0 0.000000 10.297390 3.540035 -10.297390 0.000076 30.000152
- C 0 0.000000 -10.297390 9.058361 10.297383 180.000076 30.000152
- END
-TURNOUT G "Piko G-WY Wye Switch 35228"
- P "Left" 1 2 3
- P "Right" 1 4 5
- E 0.000000 0.000000 270.000000
- E 11.811024 3.164754 60.000000
- E 11.811024 -3.164754 120.000000
- S 0 0.000000 0.000000 0.000000 1.770054 0.000000
- C 0 0.000000 -17.016232 1.770076 17.016232 149.999924 30.000152
- S 0 0.000000 10.278202 2.279762 11.811024 3.164754
- C 0 0.000000 17.016232 1.769986 -17.016232 0.000076 30.000152
- S 0 0.000000 10.278202 -2.279762 11.811024 -3.164754
- END
-TURNOUT G "Piko G-W3 3-Way Switch 35227"
- P "Left" 1 2 3
- P "Normal" 1 6
- P "Right" 1 4 5
- E 0.000000 0.000000 270.000000
- E 11.811024 3.164754 60.000000
- E 11.811024 -3.164754 120.000000
- E 12.598425 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 1.770054 0.000000
- C 0 0.000000 -17.016232 1.770076 17.016232 149.999924 30.000152
- S 0 0.000000 10.278202 2.279762 11.811024 3.164754
- C 0 0.000000 17.016232 1.769986 -17.016232 0.000076 30.000152
- S 0 0.000000 10.278202 -2.279762 11.811024 -3.164754
- S 0 0.000000 1.770054 0.000000 12.598425 0.000000
- END
+CONTENTS Piko G Scale Track
+
+SUBCONTENTS Piko G Scale Track - Straights
+TURNOUT G "Piko G-G1200 1200mm (47.24) Straight 35208"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 47.244094 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 47.244094 0.000000
+ END
+TURNOUT G "Piko G-G600 600mm (23.62) Straight 35209"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 23.622047 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 23.622047 0.000000
+ END
+TURNOUT G "Piko G-G320 320mm (12.60) Straight 35200"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 12.598425 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 12.598425 0.000000
+ END
+TURNOUT G "Piko G-G280 280mm (11.02) Straight 35201"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 11.023622 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 11.023622 0.000000
+ END
+TURNOUT G "Piko G-G160 160mm (6.30) Straight 35202"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 6.299212 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 6.299212 0.000000
+ END
+TURNOUT G "Piko G-G140 140mm (5.51) Straight 35203"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.511811 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 5.511811 0.000000
+ END
+TURNOUT G "Piko G-G95 95mm (3.74) Straight 35204"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.740157 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 3.740157 0.000000
+ END
+
+
+SUBCONTENTS Piko G Scale Track - Curves
+TURNOUT G "Piko G-R1 600mm (23.62) Dia. 30 Curve 35211"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 11.811024 -3.164754 120.000000
+ C 0 0.000000 23.622047 0.000000 -23.622047 0.000000 30.000000
+ END
+TURNOUT G "Piko G-R3 921.54mm (36.28) Dia. 30 Curve 35213"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 18.140551 -4.860746 120.000000
+ C 0 0.000000 36.281102 0.000000 -36.281102 0.000000 30.000000
+ END
+TURNOUT G "Piko G-R3 921.54mm (36.28) Dia. 7.5 Curve 35214"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.735634 -0.310390 97.500000
+ C 0 0.000000 36.281102 0.000000 -36.281102 0.000000 7.500000
+ END
+TURNOUT G "Piko G-R5 1243.08mm (48.94) Dia. 15 Curve 35215"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 12.666645 -1.667595 105.000000
+ C 0 0.000000 48.940157 0.000000 -48.940157 0.000000 15.000000
+ END
+TURNOUT G "Piko G-R5 1243.08mm (48.94) Dia. 7.5 Curve 35216"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 6.387972 -0.418690 97.500000
+ C 0 0.000000 48.940157 0.000000 -48.940157 0.000000 7.500000
+ END
+TURNOUT G "Piko G-R7 1564.62mm (61.60) Dia. 15 Curve 35217"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 15.943049 -2.098942 105.000000
+ C 0 0.000000 61.599213 0.000000 -61.599213 0.000000 15.000000
+ END
+TURNOUT G "Piko G-R7 1564.62mm (61.60) Dia. 7.5 Curve 35218"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 8.040311 -0.526990 97.500000
+ C 0 0.000000 61.599213 0.000000 -61.599213 0.000000 7.500000
+ END
+
+
+SUBCONTENTS Piko G Scale Track - Crossings
+TURNOUT G "Piko K30 30 Crossing 35240"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 12.598425 0.000000 90.000000
+ E 0.843934 3.149606 300.000000
+ E 11.754491 -3.149606 120.000000
+ S 0 0.000000 0.000000 0.000000 12.598425 0.000000
+ S 0 0.000000 0.843934 3.149606 11.754491 -3.149606
+ END
+TURNOUT G "Piko K60 60 Crossing 35241"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 6.162992 0.000000 90.000000
+ E 1.540742 2.668650 330.000000
+ E 4.622250 -2.668650 150.000000
+ S 0 0.000000 0.000000 0.000000 6.162992 0.000000
+ S 0 0.000000 1.540742 2.668650 4.622250 -2.668650
+ END
+
+
+SUBCONTENTS Piko G Scale Track - Switches
+TURNOUT G "Piko R1 Switch Left G-WLR1/35220"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 12.598425 0.000000 90.000000
+ E 11.811024 3.164754 60.000000
+ S 0 0.000000 0.000000 0.000000 1.770054 0.000000
+ S 0 0.000000 1.770054 0.000000 12.598425 0.000000
+ C 0 0.000000 -17.016232 1.770076 17.016232 149.999924 30.000152
+ S 0 0.000000 10.278202 2.279762 11.811024 3.164754
+ END
+TURNOUT G "Piko R1 Switch Right G-WRR1/35221"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 12.598425 0.000000 90.000000
+ E 11.811024 -3.164754 120.000000
+ S 0 0.000000 0.000000 0.000000 1.770054 0.000000
+ S 0 0.000000 1.770054 0.000000 12.598425 0.000000
+ C 0 0.000000 17.016232 1.769986 -17.016232 0.000076 30.000152
+ S 0 0.000000 10.278202 -2.279762 11.811024 -3.164754
+ END
+TURNOUT G "Piko R3 Switch Left G-WLR3/35228"
+ P "Normal" 1 2
+ P "Reverse" 1 3
+ E 0.000000 0.000000 270.000000
+ E 16.535433 0.000000 90.000000
+ E 15.198204 2.757119 67.500000
+ S 0 0.000000 0.000000 0.000000 1.337229 0.000000
+ S 0 0.000000 1.337229 0.000000 16.535433 0.000000
+ C 0 0.000000 -36.220472 1.337229 36.220472 157.500000 22.500000
+ END
+TURNOUT G "Piko R3 Switch Right G-WRR3/35229"
+ P "Normal" 1 2
+ P "Reverse" 1 3
+ E 0.000000 0.000000 270.000000
+ E 12.598425 0.000000 90.000000
+ E 15.198204 -2.757119 112.500000
+ S 0 0.000000 0.000000 0.000000 1.337229 0.000000
+ S 0 0.000000 1.337229 0.000000 12.598425 0.000000
+ C 0 0.000000 36.220472 1.337229 -36.220472 0.000000 22.500000
+ END
+TURNOUT G "Piko R5 Switch Left G-WLR5/35222"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 26.771654 0.000000 90.000000
+ E 24.409579 6.299213 60.000000
+ S 0 0.000000 0.000000 0.000000 2.670704 0.000000
+ S 0 0.000000 2.670704 0.000000 26.771654 0.000000
+ C 0 0.000000 -40.412066 2.670758 40.412066 149.999924 30.000152
+ S 0 0.000000 22.876815 5.414235 24.409579 6.299213
+ END
+TURNOUT G "Piko R5 Switch Right G-WRR5/35223"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 26.771654 0.000000 90.000000
+ E 24.409579 -6.299213 120.000000
+ S 0 0.000000 0.000000 0.000000 2.670704 0.000000
+ S 0 0.000000 2.670704 0.000000 26.771654 0.000000
+ C 0 0.000000 40.412066 2.670544 -40.412066 0.000076 30.000152
+ S 0 0.000000 22.876815 -5.414235 24.409579 -6.299213
+ END
+TURNOUT G "Piko G-DKW Double-Slip Switch G-DKW"
+ P "P1" 1 2 3
+ P "P2" 4 5 6
+ P "P3" 1 7 6
+ P "P4" 4 8 3
+ E 0.000000 0.000000 270.000000
+ E 12.598425 0.000000 90.000000
+ E 0.843929 3.149597 300.000000
+ E 11.754496 -3.149597 120.000000
+ S 0 0.000000 0.000000 0.000000 3.540076 0.000000
+ S 0 0.000000 3.540076 0.000000 9.058349 0.000000
+ S 0 0.000000 9.058349 0.000000 12.598425 0.000000
+ S 0 0.000000 0.843929 3.149597 3.909634 1.379600
+ S 0 0.000000 3.909634 1.379600 8.688791 -1.379600
+ S 0 0.000000 8.688791 -1.379600 11.754496 -3.149597
+ C 0 0.000000 10.297390 3.540035 -10.297390 0.000076 30.000152
+ C 0 0.000000 -10.297390 9.058361 10.297383 180.000076 30.000152
+ END
+TURNOUT G "Piko G-WY Wye Switch G-WY"
+ P "Left" 1 2 3
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 11.811024 3.164754 60.000000
+ E 11.811024 -3.164754 120.000000
+ S 0 0.000000 0.000000 0.000000 1.770054 0.000000
+ C 0 0.000000 -17.016232 1.770076 17.016232 149.999924 30.000152
+ S 0 0.000000 10.278202 2.279762 11.811024 3.164754
+ C 0 0.000000 17.016232 1.769986 -17.016232 0.000076 30.000152
+ S 0 0.000000 10.278202 -2.279762 11.811024 -3.164754
+ END
+TURNOUT G "Piko G-W3 3-Way Switch G-W3"
+ P "Left" 1 2 3
+ P "Normal" 1 6
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 11.811024 3.164754 60.000000
+ E 11.811024 -3.164754 120.000000
+ E 12.598425 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.770054 0.000000
+ C 0 0.000000 -17.016232 1.770076 17.016232 149.999924 30.000152
+ S 0 0.000000 10.278202 2.279762 11.811024 3.164754
+ C 0 0.000000 17.016232 1.769986 -17.016232 0.000076 30.000152
+ S 0 0.000000 10.278202 -2.279762 11.811024 -3.164754
+ S 0 0.000000 1.770054 0.000000 12.598425 0.000000
+ END
+TURNOUT G "Piko R7 Switch Left G-WLR7/35226"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 23.622047 0.000000 90.000000
+ E 23.572998 4.688961 67.500000
+ S 0 0.000000 0.000000 0.000000 1.770142 0.000000
+ S 0 0.000000 1.770142 0.000000 23.622047 0.000000
+ C 0 0.000000 -52.700508 1.770212 52.700508 157.499924 22.500152
+ S 0 0.000000 21.937866 4.011634 23.572998 4.688961
+ END$SEGS
+TURNOUT G "Piko R7 Switch Right G-WRR7/35227"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 23.622047 0.000000 90.000000
+ E 23.572998 -4.688961 112.500000
+ S 0 0.000000 0.000000 0.000000 1.770142 -0.000000
+ S 0 0.000000 1.770142 -0.000000 23.622047 0.000000
+ C 0 0.000000 52.700508 1.769932 -52.700508 0.000076 22.500152
+ S 0 0.000000 21.937866 -4.011634 23.572998 -4.688961
+ END$SEGS
+TURNOUT G "Piko R3/R5 Curve Switch Left G-BWL/35224"
+ P "Normal" 1 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 29.792880 10.113320 52.500000
+ E 28.783734 14.194567 37.500000
+ S 0 0.000000 0.000000 0.000000 1.770068 0.000000
+ C 0 0.000000 -32.691854 1.770111 32.691854 127.499924 52.500152
+ S 0 0.000000 27.706297 12.790363 28.783734 14.194567
+ C 0 0.000000 -43.725789 1.770161 43.725789 142.499924 37.500198
+ S 0 0.000000 28.388749 9.035844 29.792880 10.113320
+END$SEGS
+TURNOUT G "Piko R3/R5 Curve Switch Right G-BWR/35225"
+ P "Normal" 1 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 29.792880 -10.113320 127.500000
+ E 28.783734 -14.194567 142.500000
+ S 0 0.000000 0.000000 0.000000 1.770068 -0.000000
+ C 0 0.000000 32.691854 1.769938 -32.691854 0.000076 52.500152
+ S 0 0.000000 27.706297 -12.790363 28.783734 -14.194567
+ C 0 0.000000 43.725789 1.769929 -43.725789 0.000030 37.500198
+ S 0 0.000000 28.388749 -9.035844 29.792880 -10.113320
+END$SEGS
diff --git a/app/lib/params/G-Playmobil RC Track.xtp b/app/lib/params/G-Playmobil RC Track.xtp
new file mode 100644
index 0000000..bf61e31
--- /dev/null
+++ b/app/lib/params/G-Playmobil RC Track.xtp
@@ -0,0 +1,61 @@
+CONTENTS Playmobil RC Track
+SUBCONTENTS Playmobil RC Track - STRAIGHTS
+TURNOUT G "Playmobil Straight Track 4384/4386"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.629921 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 10.629921 0.000000
+ END$SEGS
+TURNOUT G "Playmobil Straight Adjustment Track 7357"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.590551 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 0.590551 0.000000
+ END$SEGS
+
+SUBCONTENTS Playmobil RC Track - CURVES
+TURNOUT G "Playmobil Curve Track 4385/4387"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.629921 -2.848279 120.000000
+ C 0 0 21.259843 0.000000 -21.259843 0.000000 30.000000
+ END$SEGS
+
+SUBCONTENTS Playmobil RC Track - Switches
+TURNOUT G "Playmobil Left Switch 4388"
+ P "Normal" 1
+ P "Route" 2
+ E 0.000000 0.000000 270.000000
+ E 10.629921 0.000000 90.000000
+ E 10.629921 2.848279 60.000000
+ S 0 0.000000 0.000000 0.000000 10.629921 0.000000
+ C 0 0 21.259843 0.000000 21.259843 150.000000 30.000000
+ END$SEGS
+TURNOUT G "Playmobil Right Switch 4389"
+ P "Normal" 1
+ P "Route" 2
+ E 0.000000 0.000000 270.000000
+ E 10.629921 0.000000 90.000000
+ E 10.629921 -2.848279 120.000000
+ S 0 0.000000 0.000000 0.000000 10.629921 0.000000
+ C 0 0 21.259843 0.000000 -21.259843 0.000000 30.000000
+ END$SEGS
+
+SUBCONTENTS Playmobil RC Track - Cross Over
+TURNOUT G "Playmobil Cross Over Track 4390"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 10.629921 0.000000 90.000000
+ E 10.629921 -2.848279 120.000000
+ E 0.000000 2.848279 300.000000
+ S 0 0.000000 0.000000 0.000000 10.629921 0.000000
+ S 0 0.000000 0.000000 2.848279 10.629921 -2.848279
+ END$SEGS
+
+SUBCONTENTS Playmobil RC Track - BUMPER
+TURNOUT G "Playmobil Track Bumper 4391"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ S 0 0.000000 0.000000 0.000000 2.362205 0.000000
+ L3 0 3.000000 0.000000 0.000000 0 2.362205 0.000000 0
+ END$SEGS
diff --git a/app/lib/params/USA-G.xtp b/app/lib/params/G-USA.xtp
index 3b75495..45f5a04 100644
--- a/app/lib/params/USA-G.xtp
+++ b/app/lib/params/G-USA.xtp
@@ -1,29 +1,30 @@
CONTENTS USA Trains
+
SUBCONTENTS USA Trains Straight Track
-TURNOUT G "USA Trains 6" Straight R81015"
+TURNOUT G "USA Trains 6"" Straight R81015"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.000000 0.000000 90.000000
S 0 0.000000 0.000000 0.000000 6.000000 0.000000
- END
-TURNOUT G "USA Trains 12" Straight R81000"
+ END$SEGS
+TURNOUT G "USA Trains 12"" Straight R81000"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 12.000000 0.000000 90.000000
S 0 0.000000 0.000000 0.000000 12.000000 0.000000
- END
-TURNOUT G "USA Trains 24" Straight R81060"
+ END$SEGS
+TURNOUT G "USA Trains 24"" Straight R81060"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 24.000000 0.000000 90.000000
S 0 0.000000 0.000000 0.000000 24.000000 0.000000
- END
-TURNOUT G "USA Trains 60" Straight R81065"
+ END$SEGS
+TURNOUT G "USA Trains 60"" Straight R81065"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 60.000000 0.000000 90.000000
S 0 0.000000 0.000000 0.000000 60.000000 0.000000
- END
+ END$SEGS
SUBCONTENTS USA Trains Curve Track
TURNOUT G "USA Trains 4' Diameter R81100"
@@ -31,62 +32,97 @@ TURNOUT G "USA Trains 4' Diameter R81100"
E 0.000000 0.000000 270.000000
E 12.000000 3.215390 60.000000
C 0 0.000000 -24.000000 0.000000 24.000000 150.000000 30.000000
- END
+ END$SEGS
TURNOUT G "USA Trains 5' Diameter R81500"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 15.000000 4.019238 60.000000
C 0 0.000000 -30.000000 0.000000 30.000000 150.000000 30.000000
- END
+ END$SEGS
TURNOUT G "USA Trains 8' Diameter R81600"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 18.368805 3.653782 67.500000
C 0 0.000000 -48.000000 0.000000 48.000000 157.500000 22.500000
- END
+ END$SEGS
TURNOUT G "USA Trains 10' Diameter R81700"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 30.000000 8.038476 60.000000
C 0 0.000000 -60.000000 0.000000 60.000000 150.000000 30.000000
- END
+ END$SEGS
TURNOUT G "USA Trains 16' Diameter R81800"
P "Normal" 1
E 0.000000 0.000000 270.000000
- E 37.885660 7.535926 67.500000
+ E 36.737610 7.307565 67.500000
C 0 0.000000 -96.000000 0.000000 96.000000 157.500000 22.500000
- END
+ END$SEGS
TURNOUT G "USA Trains 20' Diameter R81900"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 45.922012 9.134456 67.500000
C 0 0.000000 -120.000000 0.000000 120.000000 157.500000 22.500000
- END
+ END$SEGS
SUBCONTENTS USA Trains Turnouts
-TURNOUT G "USA Trains Lefthand Remote Switch R81215"
- P "Normal" 1 2
- P "Reverse" 1 3 4
+TURNOUT G "USA Trains Left-hand Remote Switch R81215"
+ P "Normal" 1
+ P "Reverse" 2
E 0.000000 0.000000 270.000000
E 12.000000 0.000000 90.000000
- E 12.000000 3.000000 60.000000
- S 0 0.000000 0.000000 0.000000 2.573848 0.000000
- S 0 0.000000 2.573848 0.000000 12.000000 0.000000
- C 0 0.000000 -15.786575 2.573848 15.786575 150.000000 30.000000
- S 0 0.000000 10.467135 2.115000 12.000000 3.000000
- END
-TURNOUT G "USA Trains Righthand Remote Switch R81205"
- P "Normal" 1 2
- P "Reverse" 1 3 4
+ E 12.000000 3.215390 60.000000
+ S 0 0.000000 0.000000 0.000000 12.000000 0.000000
+ C 0 0.000000 -24.000000 0.000000 24.000000 150.000000 30.000000
+ END$SEGS
+TURNOUT G "USA Trains Right-hand Remote Switch R81205"
+ P "Normal" 1
+ P "Reverse" 2
E 0.000000 0.000000 270.000000
E 12.000000 0.000000 90.000000
- E 12.000000 -3.000000 120.000000
- S 0 0.000000 0.000000 0.000000 2.573848 0.000000
- S 0 0.000000 2.573848 0.000000 12.000000 0.000000
- C 0 0.000000 15.786575 2.573848 -15.786575 0.000000 30.000000
- S 0 0.000000 10.467135 -2.115000 12.000000 -3.000000
- END
-TURNOUT G "USA Trains #6 Lefthand R81615"
+ E 12.000000 -3.215390 120.000000
+ S 0 0.000000 0.000000 0.000000 12.000000 0.000000
+ C 0 0.000000 24.000000 0.000000 -24.000000 0.000000 30.000000
+ END$SEGS
+
+TURNOUT G "USA Trains Left-hand 8' Switch R81625"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 24.000000 0.000000 90.000000
+ E 18.368805 3.653782 67.500000
+ S 0 0.000000 0.000000 0.000000 24.000000 0.000000
+ C 0 0.000000 -48.000000 0.000000 48.000000 157.500000 22.500000
+ END$SEGS
+TURNOUT G "USA Trains Right-hand 8' Switch R81620"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 24.000000 0.000000 90.000000
+ E 18.368805 -3.653782 112.500000
+ S 0 0.000000 0.000000 0.000000 24.000000 0.000000
+ C 0 0.000000 48.000000 0.000000 -48.000000 0.000000 22.500000
+ END$SEGS
+
+TURNOUT G "USA Trains Left-hand 10' Switch R81725"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 24.000000 0.000000 90.000000
+ E 30.000000 8.038476 60.000000
+ S 0 0.000000 0.000000 0.000000 24.000000 0.000000
+ C 0 0.000000 -60.000000 0.000000 60.000000 150.000000 30.000000
+ END$SEGS
+TURNOUT G "USA Trains Right-hand 10' Switch R81720"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 24.000000 0.000000 90.000000
+ E 30.000000 -8.038476 120.000000
+ S 0 0.000000 0.000000 0.000000 24.000000 0.000000
+ C 0 0.000000 60.000000 0.000000 -60.000000 0.000000 30.000000
+ END$SEGS
+
+TURNOUT G "USA Trains #6 Left-hand R81615"
P "Normal" 1 2
P "Reverse" 1 3 4
E 0.000000 0.000000 270.000000
@@ -96,8 +132,8 @@ TURNOUT G "USA Trains #6 Lefthand R81615"
S 0 0.000000 1.770000 0.000000 36.000000 0.000000
C 0 0.000000 -108.280640 1.770144 108.280640 170.405856 9.594220
S 0 0.000000 19.817041 1.514534 36.000000 4.250000
- END
-TURNOUT G "USA Trains #6 Righthand R81605"
+ END$SEGS
+TURNOUT G "USA Trains #6 Right-hand R81605"
P "Normal" 1 2
P "Reverse" 1 3 4
E 0.000000 0.000000 270.000000
@@ -105,6 +141,6 @@ TURNOUT G "USA Trains #6 Righthand R81605"
E 36.000000 -4.250000 99.594068
S 0 0.000000 0.000000 0.000000 1.770000 0.000000
S 0 0.000000 1.770000 0.000000 36.000000 0.000000
- C 0 0.000000 108.280640 1.769569 -108.280640 0.000076 9.594220
+ C 0 0.000000 108.280640 1.770144 -108.280640 0.000000 9.594220
S 0 0.000000 19.817041 -1.514534 36.000000 -4.250000
- END
+ END$SEGS
diff --git a/app/lib/params/G-aristo.xtp b/app/lib/params/G-aristo.xtp
index cf7d2f2..bf6346e 100644
--- a/app/lib/params/G-aristo.xtp
+++ b/app/lib/params/G-aristo.xtp
@@ -1,232 +1,236 @@
-CONTENTS Aristo-Craft
-TURNOUT G "Aristo-Craft .5' Straight 11001/20031/30031"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 6.000000 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 6.000000 0.000000
- END
-TURNOUT G "Aristo-Craft 1' Straight 11000/20030/30030"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 12.000000 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 12.000000 0.000000
- END
-TURNOUT G "Aristo-Craft 2' Straight 11060/20060/30060"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 24.000000 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 24.000000 0.000000
- END
-TURNOUT G "Aristo-Craft 3' Straight 11070/20090/30090"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 36.000000 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 36.000000 0.000000
- END
-TURNOUT G "Aristo-Craft 4.5' Straight 11097/20093/30093"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 54.000000 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 54.000000 0.000000
- END
-TURNOUT G "Aristo-Craft 5' Straight 10099/20195/30195"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 60.000000 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 60.000000 0.000000
- END
-TURNOUT G "Aristo-Craft 4' Diameter 11100/30100"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 12.000000 3.215390 60.000000
- C 0 0.000000 -24.000000 0.000000 24.000000 150.000000 30.000000
- END
-TURNOUT G "Aristo-Craft 5' Diameter 11500/20110/30110"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 15.000000 4.019238 60.000000
- C 0 0.000000 -30.000000 0.000000 30.000000 150.000000 30.000000
- END
-TURNOUT G "Aristo-Craft 6.5' Diameter 11550/20112/30112"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 19.500000 5.225009 60.000000
- C 0 0.000000 -39.000000 0.000000 39.000000 150.000000 30.000000
- END
-TURNOUT G "Aristo-Craft 8' Diameter 11600/20115/30115"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 18.368805 3.653782 67.500000
- C 0 0.000000 -48.000000 0.000000 48.000000 157.500000 22.500000
- END
-TURNOUT G "Aristo-Craft 9' Diameter 11700/20117/30117"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 27.000000 7.234628 60.000000
- C 0 0.000000 -54.000000 0.000000 54.000000 150.000000 30.000000
- END
-TURNOUT G "Aristo-Craft 10' Diameter 11800/20120/30120"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 30.000000 8.038476 60.000000
- C 0 0.000000 -60.000000 0.000000 60.000000 150.000000 30.000000
- END
-TURNOUT G "Aristo-Craft 11.5' Diameter 11801/20121/30121"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 26.405157 5.252312 67.500000
- C 0 0.000000 -69.000000 0.000000 69.000000 157.500000 22.500000
- END
-TURNOUT G "Aristo-Craft 12.5 Diameter 11802/20122/30112"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 28.701257 5.709035 67.500000
- C 0 0.000000 -75.000000 0.000000 75.000000 157.500000 22.500000
- END
-TURNOUT G "Aristo-Craft 14' Diameter 11803/20123/30123"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 32.145408 6.394119 67.500000
- C 0 0.000000 -84.000000 0.000000 84.000000 157.500000 22.500000
- END
-TURNOUT G "Aristo-Craft 15' Diameter 11804/20124/30124"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 34.441509 6.850842 67.500000
- C 0 0.000000 -90.000000 0.000000 90.000000 157.500000 22.500000
- END
-TURNOUT G "Aristo-Craft 16.5' Diameter 11805/20130/30130"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 37.885660 7.535926 67.500000
- C 0 0.000000 -99.000000 0.000000 99.000000 157.500000 22.500000
- END
-TURNOUT G "Aristo-Craft 20' Diameter 11820/20125/30125"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 45.922012 9.134456 67.500000
- C 0 0.000000 -120.000000 0.000000 120.000000 157.500000 22.500000
- END
-TURNOUT G "Aristo-Craft 90 Degree Crossing 20410/30410"
- U "Crossing" "" "Aristo-Craft" "90 Degree Crossing" "20410/30410" 5.750000 90.000000 5.750000 0.000000 0.000000 0
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 5.750000 0.000000 90.000000
- E 2.875000 2.875000 360.000000
- E 2.875000 -2.875000 180.000000
- S 0 0.000000 0.000000 0.000000 5.750000 0.000000
- S 0 0.000000 2.875000 2.875000 2.875000 -2.875000
- END
-TURNOUT G "Aristo-Craft 30 Degree Crossing 20405/30405"
- U "Crossing" "" "Aristo-Craft" "30 Degree Crossing" "20405/30405" 14.000000 30.000000 14.000000 0.000000 0.000000 0
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 14.000000 0.000000 90.000000
- E 0.937822 3.500000 300.000000
- E 13.062178 -3.500000 120.000000
- S 0 0.000000 0.000000 0.000000 14.000000 0.000000
- S 0 0.000000 0.937822 3.500000 13.062178 -3.500000
- END
-TURNOUT G "Aristo-Craft 19.5 Degree Crossing 20400/30400"
- U "Crossing" "" "Aristo-Craft" "19.5 Degree Crossing" "20400/30400" 19.000000 19.500000 19.000000 0.000000 0.000000 0
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 19.000000 0.000000 90.000000
- E 0.544906 3.171165 289.500000
- E 18.455094 -3.171165 109.500000
- S 0 0.000000 0.000000 0.000000 19.000000 0.000000
- S 0 0.000000 0.544906 3.171165 18.455094 -3.171165
- END
-TURNOUT G "Aristo-Craft Rerailer 11350/30350"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 12.000000 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 12.000000 0.000000
- END
-TURNOUT G "Aristo-Craft Rerailer with Insulator Gap 11351/20351"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 12.000000 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 12.000000 0.000000
- END
-TURNOUT G "Aristo-Craft Lefthand Manual Switch 20210/30350"
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 12.000000 0.000000 90.000000
- E 12.000000 3.000000 60.000000
- S 0 0.000000 0.000000 0.000000 2.573848 0.000000
- S 0 0.000000 2.573848 0.000000 12.000000 0.000000
- C 0 0.000000 -15.786575 2.573848 15.786575 150.000000 30.000000
- S 0 0.000000 10.467135 2.115000 12.000000 3.000000
- END
-TURNOUT G "Aristo-Craft Righthand Manual Switch 20200/30300"
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 12.000000 0.000000 90.000000
- E 12.000000 -3.000000 120.000000
- S 0 0.000000 0.000000 0.000000 2.573848 0.000000
- S 0 0.000000 2.573848 0.000000 12.000000 0.000000
- C 0 0.000000 15.786575 2.573848 -15.786575 0.000000 30.000000
- S 0 0.000000 10.467135 -2.115000 12.000000 -3.000000
- END
-TURNOUT G "Aristo-Craft Lefthand Remote Switch 20215/30360"
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 12.000000 0.000000 90.000000
- E 12.000000 3.000000 60.000000
- S 0 0.000000 0.000000 0.000000 2.573848 0.000000
- S 0 0.000000 2.573848 0.000000 12.000000 0.000000
- C 0 0.000000 -15.786575 2.573848 15.786575 150.000000 30.000000
- S 0 0.000000 10.467135 2.115000 12.000000 3.000000
- END
-TURNOUT G "Aristo-Craft Righthand Remote Switch 20205/30310"
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 12.000000 0.000000 90.000000
- E 12.000000 -3.000000 120.000000
- S 0 0.000000 0.000000 0.000000 2.573848 0.000000
- S 0 0.000000 2.573848 0.000000 12.000000 0.000000
- C 0 0.000000 15.786575 2.573848 -15.786575 0.000000 30.000000
- S 0 0.000000 10.467135 -2.115000 12.000000 -3.000000
- END
-TURNOUT G "Aristo-Craft #6 Lefthand 20340/20340"
- U "Regular Turnout" "" "Aristo-Craft" "#6 Lefthand" "20340/20340" "#6 Righthand" "20330/30330" 35.500000 9.594068 3.000000 35.500000 0.000000 0.000000 0
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 35.500000 0.000000 90.000000
- E 35.500000 3.000000 80.405932
- S 0 0.000000 0.000000 0.000000 1.770000 0.000000
- S 0 0.000000 1.770000 0.000000 35.500000 0.000000
- C 0 0.000000 -190.439935 1.770000 190.439935 170.405932 9.594068
- S 0 0.000000 33.509989 2.663627 35.500000 3.000000
- END
-TURNOUT G "Aristo-Craft #6 Righthand 20330/30330"
- U "Regular Turnout" "" "Aristo-Craft" "#6 Lefthand" "20340/20340" "#6 Righthand" "20330/30330" 35.500000 9.594068 3.000000 35.500000 0.000000 0.000000 0
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 35.500000 0.000000 90.000000
- E 35.500000 -3.000000 99.594068
- S 0 0.000000 0.000000 0.000000 1.770000 0.000000
- S 0 0.000000 1.770000 0.000000 35.500000 0.000000
- C 0 0.000000 190.439935 1.770000 -190.439935 0.000000 9.594068
- S 0 0.000000 33.509989 -2.663627 35.500000 -3.000000
- END
-TURNOUT G "Aristo-Craft #6 Wye 20345/30345"
- U "Wye Turnout" "" "Aristo-Craft" "#6 Wye" "20345/30345" 35.750000 9.594068 3.000000 3.000000 9.594068 35.750000 0.000000 0.000000 0
- P "Left" 1 2 3
- P "Right" 1 4 5
- E 0.000000 0.000000 270.000000
- E 35.750000 3.000000 80.405932
- E 35.750000 -3.000000 99.594068
- S 0 0.000000 0.000000 0.000000 1.771761 0.000000
- C 0 0.000000 -193.397975 1.771761 193.397975 170.405932 9.594068
- S 0 0.000000 34.004756 2.705000 35.750000 3.000000
- C 0 0.000000 193.397975 1.771761 -193.397975 0.000000 9.594068
- S 0 0.000000 34.004756 -2.705000 35.750000 -3.000000
- END
+CONTENTS Aristo-Craft
+SUBCONTENTS Straight
+TURNOUT G "Aristo-Craft 0.5' Straight 11001/20031/30031"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.905512 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 5.905512 0.000000
+ END$SEGS
+TURNOUT G "Aristo-Craft 1' Straight 11000/20030/30030"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 11.811024 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 11.811024 0.000000
+ END$SEGS
+TURNOUT G "Aristo-Craft 2' Straight 11060/20060/30060"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 23.622047 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 23.622047 0.000000
+ END$SEGS
+TURNOUT G "Aristo-Craft 3' Straight 11070/20090/30090"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 35.433071 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 35.433071 0.000000
+ END$SEGS
+TURNOUT G "Aristo-Craft 4.5' Straight 11097/20093/30093"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 53.149606 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 53.149606 0.000000
+ END$SEGS
+TURNOUT G "Aristo-Craft 5' Straight 10099/20195/30195"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 59.055118 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 59.055118 0.000000
+ END$SEGS
+
+SUBCONTENTS Curved
+TURNOUT G "Aristo-Craft 4' Diameter 11100/30100"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 11.811024 3.164754 60.000000
+ C 0 0.000000 -23.622047 0.000000 23.622047 150.000000 30.000000
+ END$SEGS
+TURNOUT G "Aristo-Craft 5' Diameter 11500/20110/30110"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 14.763780 3.955943 60.000000
+ C 0 0.000000 -29.527559 0.000000 29.527559 150.000000 30.000000
+ END$SEGS
+TURNOUT G "Aristo-Craft 6.5' Diameter 11550/20112/30112"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 19.192913 5.142726 60.000000
+ C 0 0.000000 -38.385827 0.000000 38.385827 150.000000 30.000000
+ END$SEGS
+TURNOUT G "Aristo-Craft 8' Diameter 11600/20115/30115"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 18.079532 3.596243 67.500000
+ C 0 0.000000 -47.244094 0.000000 47.244094 157.500000 22.500000
+ END$SEGS
+TURNOUT G "Aristo-Craft 9' Diameter 11700/20117/30117"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 26.574803 7.120697 60.000000
+ C 0 0.000000 -53.149606 0.000000 53.149606 150.000000 30.000000
+ END$SEGS
+TURNOUT G "Aristo-Craft 10' Diameter 11800/20120/30120"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 29.527559 7.911886 60.000000
+ C 0 0.000000 -59.055118 0.000000 59.055118 150.000000 30.000000
+ END$SEGS
+TURNOUT G "Aristo-Craft 11.5' Diameter 11801/20121/30121"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 25.989328 5.169599 67.500000
+ C 0 0.000000 -67.913386 0.000000 67.913386 157.500000 22.500000
+ END$SEGS
+TURNOUT G "Aristo-Craft 12.5' Diameter 11802/20122/30122"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 28.249269 5.619129 67.500000
+ C 0 0.000000 -73.818898 0.000000 73.818898 157.500000 22.500000
+ END$SEGS
+TURNOUT G "Aristo-Craft 14' Diameter 11803/20123/30123"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 31.639181 6.293424 67.500000
+ C 0 0.000000 -82.677165 0.000000 82.677165 157.500000 22.500000
+ END$SEGS
+TURNOUT G "Aristo-Craft 15' Diameter 11804/20124/30124"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 33.899123 6.742955 67.500000
+ C 0 0.000000 -88.582677 0.000000 88.582677 157.500000 22.500000
+ END$SEGS
+TURNOUT G "Aristo-Craft 16.5' Diameter 11805/20130/30130"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 37.289035 7.417250 67.500000
+ C 0 0.000000 -97.440945 0.000000 97.440945 157.500000 22.500000
+ END$SEGS
+TURNOUT G "Aristo-Craft 20' Diameter 11820/20125/30125"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 45.198831 8.990606 67.500000
+ C 0 0.000000 -118.110236 0.000000 118.110236 157.500000 22.500000
+ END$SEGS
+
+SUBCONTENTS Crossing
+# Assumed 150mm
+TURNOUT A "Aristo-Craft 90 Degree Crossing 20410/30410"
+ U "Crossing" "" "Aristo-Craft" "90 Degree Crossing" "20410/30410" 5.905512 90.000000 5.905512 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 5.905512 0.000000 90.000000
+ E 2.952764 2.952756 360.000000
+ E 2.952748 -2.952756 180.000000
+ S 0 0.000000 0.000000 0.000000 5.905512 0.000000
+ S 0 0.000000 2.952764 2.952756 2.952748 -2.952756
+ END$SEGS
+# Assumed 360mm
+TURNOUT A "Aristo-Craft 30 Degree Crossing 20405/30405"
+ U "Crossing" "" "Aristo-Craft" "30 Degree Crossing" "20405/30405" 14.173228 30.000000 14.173228 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 14.173228 0.000000 90.000000
+ E 0.949420 3.543296 300.000000
+ E 13.223808 -3.543296 120.000000
+ S 0 0.000000 0.000000 0.000000 14.173228 0.000000
+ S 0 0.000000 0.949420 3.543296 13.223808 -3.543296
+ END$SEGS
+# Assumed 480mm
+TURNOUT A "Aristo-Craft 19.5 Degree Crossing 20400/30400"
+ U "Crossing" "" "Aristo-Craft" "19.5 Degree Crossing" "20400/30400" 18.897638 19.500000 18.897638 0.000000 0.000000 0
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 18.897638 0.000000 90.000000
+ E 0.541965 3.154066 289.500000
+ E 18.355673 -3.154066 109.500000
+ S 0 0.000000 0.000000 0.000000 18.897638 0.000000
+ S 0 0.000000 0.541965 3.154066 18.355673 -3.154066
+ END$SEGS
+
+SUBCONTENTS Aristo Misc
+TURNOUT G "Aristo-Craft Rerailer 11350/30350"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 11.811024 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 11.811024 0.000000
+ END$SEGS
+TURNOUT G "Aristo-Craft Rerailer with Insulator Gap 11351/20351"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 11.811024 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 11.811024 0.000000
+ END$SEGS
+
+SUBCONTENTS Aristo Turnout
+TURNOUT G "Aristo-Craft Lefthand Manual Switch 20210/30350"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 11.811024 0.000000 90.000000
+ E 11.811024 3.164754 60.000000
+ S 0 0.000000 0.000000 0.000000 11.811024 0.000000
+ C 0 0.000000 -23.622047 0.000000 23.622047 150.000000 30.000000
+ END$SEGS
+TURNOUT G "Aristo-Craft Righthand Manual Switch 20200/30300"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 11.811024 0.000000 90.000000
+ E 11.811024 -3.164754 120.000000
+ S 0 0.000000 0.000000 0.000000 11.811024 0.000000
+ C 0 0.000000 23.622047 0.000000 -23.622047 0.000000 30.000000
+ END$SEGS
+TURNOUT G "Aristo-Craft Lefthand Remote Switch 20215/30360"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 11.811024 0.000000 90.000000
+ E 11.811024 3.164754 60.000000
+ S 0 0.000000 0.000000 0.000000 11.811024 0.000000
+ C 0 0.000000 -23.622047 0.000000 23.622047 150.000000 30.000000
+ END$SEGS
+TURNOUT G "Aristo-Craft Righthand Remote Switch 20205/30310"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 11.811024 0.000000 90.000000
+ E 11.811024 -3.164754 120.000000
+ S 0 0.000000 0.000000 0.000000 11.811024 0.000000
+ C 0 0.000000 23.622047 0.000000 -23.622047 0.000000 30.000000
+ END$SEGS
+TURNOUT A "Aristo-Craft #6 Left-hand 20340/30340"
+ U "Regular Turnout" "" "Aristo-Craft" "#6 Left-hand" "20340/30340" "#6 Right-hand" "20330/30330" 35.433071 9.594076 3.149606 35.433071 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 35.433071 0.000000 90.000000
+ E 35.433071 3.149606 80.405924
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ S 0 0.000000 1.770000 0.000000 35.433071 0.000000
+ C 0 0.000000 -179.099071 1.770238 179.099071 170.405848 9.594228
+ S 0 0.000000 31.620314 2.505085 35.433071 3.149606
+ END$SEGS
+TURNOUT A "Aristo-Craft #6 Right-hand 20330/30330"
+ U "Regular Turnout" "" "Aristo-Craft" "#6 Left-hand" "20340/30340" "#6 Right-hand" "20330/30330" 35.433071 9.594076 3.149606 35.433071 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 35.433071 0.000000 90.000000
+ E 35.433071 -3.149606 99.594076
+ S 0 0.000000 0.000000 0.000000 1.770000 -0.000000
+ S 0 0.000000 1.770000 -0.000000 35.433071 0.000000
+ C 0 0.000000 179.099071 1.769287 -179.099071 0.000076 9.594228
+ S 0 0.000000 31.620314 -2.505085 35.433071 -3.149606
+ END$SEGS
+TURNOUT A "Aristo-Craft #6 Wye 20345/30345"
+ U "Wye Turnout" "" "Aristo-Craft" "#6 Wye" "20345/30345" 35.433071 9.594076 3.149606 3.149606 9.594076 35.433071 0.000000 0.000000 0
+ P "Left" 1 2 3
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 35.433071 3.149606 80.405924
+ E 35.433071 -3.149606 99.594076
+ S 0 0.000000 0.000000 0.000000 1.770000 0.000000
+ C 0 0.000000 -179.099071 1.770238 179.099071 170.405848 9.594228
+ S 0 0.000000 31.620314 2.505085 35.433071 3.149606
+ C 0 0.000000 179.099071 1.769287 -179.099071 0.000076 9.594228
+ S 0 0.000000 31.620314 -2.505085 35.433071 -3.149606
+ END$SEGS
diff --git a/app/lib/params/BachmannEZ-HO.xtp b/app/lib/params/HO-Bachmann EZ.xtp
index 13438a0..2754fa8 100644
--- a/app/lib/params/BachmannEZ-HO.xtp
+++ b/app/lib/params/HO-Bachmann EZ.xtp
@@ -1,575 +1,705 @@
-CONTENTS Bachmann E-Z Track Components
-# Created By Dwyane Ward July 2007
-
-SUBCONTENTS Bachmann E-Z Track - Straight Track
-TURNOUT HO "Bachmann E-Z Track Straight 2.25in 44513"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 2.250000 0.000000 90.000000
- S 0 0 0.000000 0.000000 2.250000 0.000000
- L 11579568 0.053333 0.000000 0.984375 2.250000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 2.250000 -0.984375
- END
-TURNOUT HO "Bachmann E-Z Track Straight 3in 44512/44412"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 3.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 3.000000 0.000000
- L 11579568 0.053333 0.000000 0.984375 3.000000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 3.000000 -0.984375
- END
-TURNOUT HO "Bachmann E-Z Track Straight 4.5in 44514"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.500000 0.000000 90.000000
- S 0 0 0.000000 0.000000 4.500000 0.000000
- L 11579568 0.053333 0.000000 0.984375 4.500000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 4.500000 -0.984375
- END
-TURNOUT HO "Bachmann E-Z Track Straight 9in 44511/44411"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 9.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 9.000000 0.000000
- L 11579568 0.053333 0.000000 0.984375 9.000000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 9.000000 -0.984375
- END
-TURNOUT HO "Bachmann E-Z Track Straight 36in 44584"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 36.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 36.000000 0.000000
- L 11579568 0.053333 0.000000 0.984375 36.000000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 36.000000 -0.984375
- END
-TURNOUT HO "Bachmann E-Z Track Straight 2in 44592A"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 2.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 2.000000 0.000000
- L 11579568 0.053333 0.000000 0.984375 2.000000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 2.000000 -0.984375
- END
-TURNOUT HO "Bachmann E-Z Track Straight 1.5in 44592B"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 1.500000 0.000000 90.000000
- S 0 0 0.000000 0.000000 1.500000 0.000000
- L 11579568 0.053333 0.000000 0.984375 1.500000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 1.500000 -0.984375
- END
-TURNOUT HO "Bachmann E-Z Track Straight 1.25in 44592C"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 1.250000 0.000000 90.000000
- S 0 0 0.000000 0.000000 1.250000 0.000000
- L 11579568 0.053333 0.000000 0.984375 1.250000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 1.250000 -0.984375
- END
-TURNOUT HO "Bachmann E-Z Track Straight 1in 44592D"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 1.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 1.000000 0.000000
- L 11579568 0.053333 0.000000 0.984375 1.000000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 1.000000 -0.984375
- END
-TURNOUT HO "Bachmann E-Z Track Straight 0.75in 44592E"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 0.750000 0.000000 90.000000
- S 0 0 0.000000 0.000000 0.7500000 0.000000
- L 11579568 0.053333 0.000000 0.984375 0.750000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 0.750000 -0.984375
- END
-
-
-
-SUBCONTENTS Bachmann True-Tack - Curve Track
-TURNOUT HO "Bachmann E-Z Track Curved 15in 30° 44505"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 7.500000 -2.009619 120.000000
- C 0 0 15.000000 0.000000 -15.000000 0.000000 30.000000
- A 11579568 0.053333 15.984375 0.000000 -15.000000 0.000000 30.000000
- A 11579568 0.053333 14.015625 0.000000 -15.000000 0.000000 30.000000
- END
-TURNOUT HO "Bachmann E-Z Track Curved 18in 30° 44501/44401"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 9.000000 -2.411543 120.000000
- C 0 0 18.000000 0.000000 -18.000000 0.000000 30.000000
- A 11579568 0.053333 18.984375 0.000000 -18.000000 0.000000 30.000000
- A 11579568 0.053333 17.015625 0.000000 -18.000000 0.000000 30.000000
- END
-TURNOUT HO "Bachmann E-Z Track Curved 18in 15° 44531"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.658743 -0.613335 105.000000
- C 0 0 18.000000 0.000000 -18.000000 0.000000 15.000000
- A 11579568 0.053333 18.984375 0.000000 -18.000000 0.000000 15.000000
- A 11579568 0.053333 17.015625 0.000000 -18.000000 0.000000 15.000000
- END
-TURNOUT HO "Bachmann E-Z Track Curved 18in 10° 44530"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 3.125667 -0.273460 100.000000
- C 0 0 18.000000 0.000000 -18.000000 0.000000 10.000000
- A 11579568 0.053333 18.984375 0.000000 -18.000000 0.000000 10.000000
- A 11579568 0.053333 17.015625 0.000000 -18.000000 0.000000 10.000000
- END
-TURNOUT HO "Bachmann E-Z Track Curved 22in 22.5° 44503/44403"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 8.419036 -1.674650 112.500000
- C 0 0 22.000000 0.000000 -22.000000 0.000000 22.500000
- A 11579568 0.053333 22.984375 0.000000 -22.000000 0.000000 22.500000
- A 11579568 0.053333 21.015625 0.000000 -22.000000 0.000000 22.500000
- END
-TURNOUT HO "Bachmann E-Z Track Curved 22in 11.25° 44532"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.291987 -0.422724 101.250000
- C 0 0 22.000000 0.000000 -22.000000 0.000000 11.250000
- A 11579568 0.053333 22.984375 0.000000 -22.000000 0.000000 11.250000
- A 11579568 0.053333 21.015625 0.000000 -22.000000 0.000000 11.250000
- END
-TURNOUT HO "Bachmann E-Z Track Curved 26in 18° 44519"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 8.034442 -1.272531 108.000000
- C 0 0 26.000000 0.000000 -26.000000 0.000000 18.000000
- A 11579568 0.053333 26.984375 0.000000 -26.000000 0.000000 18.000000
- A 11579568 0.053333 25.015625 0.000000 -26.000000 0.000000 18.000000
- END
-TURNOUT HO "Bachmann E-Z Track Curved 28in 18° 44506"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 8.652476 -1.370418 108.000000
- C 0 0 28.000000 0.000000 -28.000000 0.000000 18.000000
- A 11579568 0.053333 28.984375 0.000000 -28.000000 0.000000 18.000000
- A 11579568 0.053333 27.015625 0.000000 -28.000000 0.000000 18.000000
- END
-TURNOUT HO "Bachmann E-Z Track Curved 33.25in 18° 44504"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 10.274815 -1.627371 108.000000
- C 0 0 33.250000 0.000000 -33.250000 0.000000 18.000000
- A 11579568 0.053333 34.234375 0.000000 -33.250000 0.000000 18.000000
- A 11579568 0.053333 32.265625 0.000000 -33.250000 0.000000 18.000000
- END
-TURNOUT HO "Bachmann E-Z Track Curved 33.25in 12° 44509"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 6.913064 -0.726592 102.000000
- C 0 0 33.250000 0.000000 -33.250000 0.000000 12.000000
- A 11579568 0.053333 34.234375 0.000000 -33.250000 0.000000 12.000000
- A 11579568 0.053333 32.265625 0.000000 -33.250000 0.000000 12.000000
- END
-TURNOUT HO "Bachmann E-Z Track Curved 33.25in 6° 44508"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 3.475571 -0.182147 96.000000
- C 0 0 33.250000 0.000000 -33.250000 0.000000 6.000000
- A 11579568 0.053333 34.234375 0.000000 -33.250000 0.000000 6.000000
- A 11579568 0.053333 32.265625 0.000000 -33.250000 0.000000 6.000000
- END
-TURNOUT HO "Bachmann E-Z Track Curved 35.5in 18° 44507"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 10.970103 -1.737494 108.000000
- C 0 0 35.500000 0.000000 -35.500000 0.000000 18.000000
- A 11579568 0.053333 36.484375 0.000000 -35.500000 0.000000 18.000000
- A 11579568 0.053333 34.515625 0.000000 -35.500000 0.000000 18.000000
- END
-
-
-
-
-
-
-SUBCONTENTS Bachmann E-Z Track - Track Turnouts
-TURNOUT HO "Bachmann E-Z Track Left Snap Manual Turnout 44561/44461"
- P "Normal" 1 2
- P "Reverse" 1 3
- E 0.000000 0.000000 270.000000
- E 9.000000 0.000000 90.000000
- E 10.375000 2.411543 60.000000
- S 0 0 0.000000 0.000000 1.375000 0.000000
- S 0 0 1.375000 0.000000 9.000000 0.000000
- C 0 0 -18.000000 1.375000 18.000000 150.000000 30.000000
- A 11579568 0.053333 17.015625 1.375000 18.000000 150.000000 30.000000
- A 11579568 0.053333 18.984375 1.375000 18.000000 150.000000 3.800000
- L 11579568 0.053333 0.000000 0.984375 1.375000 0.984375
- L 11579568 0.053333 9.000000 0.984375 9.750000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 9.000000 -0.984375
- END
-TURNOUT HO "Bachmann E-Z Track Right Snap Manual Turnout 44562/44462"
- P "Normal" 1 2
- P "Reverse" 1 3
- E 0.000000 0.000000 270.000000
- E 9.000000 0.000000 90.000000
- E 10.375000 -2.411543 120.000000
- S 0 0 0.000000 0.000000 1.375000 0.000000
- S 0 0 1.375000 0.000000 9.000000 0.000000
- C 0 0 18.000000 1.375000 -18.000000 0.000000 30.000000
- A 11579568 0.053333 17.015625 1.375000 -18.000000 0.000000 30.000000
- A 11579568 0.053333 18.984375 1.375000 -18.000000 26.000000 3.800000
- L 11579568 0.053333 0.000000 -0.984375 1.375000 -0.984375
- L 11579568 0.053333 9.000000 -0.984375 9.750000 -0.984375
- L 11579568 0.053333 0.000000 0.984375 9.000000 0.984375
- END
-TURNOUT HO "Bachmann E-Z Track #5 Left Turnout 44132"
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 11.500000 0.000000 90.000000
- E 11.340000 1.620000 78.463031
- S 0 0.000000 0.000000 0.000000 0.649600 0.000000
- S 0 0.000000 0.649600 0.000000 11.500000 0.000000
- C 0 0.000000 -27.263067 0.649636 27.263067 168.462955 11.537121
- S 0 0.000000 6.102284 0.550840 11.340000 1.620000
- L 11579568 0.053333 -0.000003 -0.984375 11.499997 -0.984361 0
- L 11579568 0.053333 0.000000 0.984375 0.649600 0.984376 0
- A 11579568 0.053333 26.278692 0.649636 27.263067 168.462955 11.537121
- L 11579568 0.053333 5.905408 1.515327 11.143124 2.584486 0
- END
-TURNOUT HO "Bachmann E-Z Track #5 Right Turnout 44133"
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 11.500000 0.000000 90.000000
- E 11.340000 -1.620000 101.536969
- S 0 0.000000 0.000000 0.000000 0.649600 0.000000
- S 0 0.000000 0.649600 0.000000 11.500000 0.000000
- C 0 0.000000 27.263067 0.649491 -27.263067 0.000076 11.537121
- S 0 0.000000 6.102284 -0.550840 11.340000 -1.620000
- L 11579568 0.053333 -0.000003 -0.984375 0.649597 -0.984374 0
- L 11579568 0.053333 0.000000 0.984375 11.500000 0.984389 0
- A 11579568 0.053333 26.278692 0.649491 -27.263067 0.000076 11.537121
- L 11579568 0.053333 5.905403 -1.515326 11.143118 -2.584485 0
- END
-TURNOUT HO "Bachmann E-Z Track #5 Wye Turnout 44134"
- P "Left" 1 2 3
- P "Right" 1 4 5
- E 0.000000 0.000000 270.000000
- E 11.340000 0.762000 78.463031
- E 11.340000 -0.762000 101.536969
- S 0 0.000000 0.000000 0.000000 4.446728 0.000000
- C 0 0.000000 -31.283990 4.446769 31.283990 168.462955 11.537121
- S 0 0.000000 10.703607 0.632082 11.340000 0.762000
- C 0 0.000000 31.283990 4.446603 -31.283990 0.000076 11.537121
- S 0 0.000000 10.703607 -0.632082 11.340000 -0.762000
- L 11579568 0.053333 -0.000003 -0.984375 4.446725 -0.984369 0
- L 11579568 0.053333 0.000000 0.984375 4.446728 0.984381 0
- A 11579568 0.053333 30.299615 4.446769 31.283990 168.462955 11.537121
- L 11579568 0.053333 10.506711 1.596564 11.143104 1.726482 0
- A 11579568 0.053333 30.299615 4.446603 -31.283990 0.000076 11.537121
- L 11579568 0.053333 10.506706 -1.596563 11.143099 -1.726481 0
- END
-TURNOUT HO "Bachmann E-Z Track #6 Left Turnout 44135"
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 11.500000 0.000000 90.000000
- E 11.388000 1.320000 80.405924
- S 0 0.000000 0.000000 0.000000 0.649600 0.000000
- S 0 0.000000 0.649600 0.000000 11.500000 0.000000
- C 0 0.000000 -34.905365 0.649646 34.905365 170.405848 9.594228
- S 0 0.000000 6.467252 0.488226 11.388000 1.320000
- L 11579568 0.053333 -0.000003 -0.984375 11.499997 -0.984361 0
- L 11579568 0.053333 0.000000 0.984375 0.649600 0.984376 0
- A 11579568 0.053333 33.920990 0.649646 34.905365 170.405848 9.594228
- L 11579568 0.053333 6.303188 1.458833 11.223936 2.290607 0
- END
-TURNOUT HO "Bachmann E-Z Track #6 Right Turnout 44136"
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 11.500000 0.000000 90.000000
- E 11.388000 -1.320000 99.594076
- S 0 0.000000 0.000000 0.000000 0.649600 0.000000
- S 0 0.000000 0.649600 0.000000 11.500000 0.000000
- C 0 0.000000 34.905365 0.649461 -34.905365 0.000076 9.594228
- S 0 0.000000 6.467252 -0.488226 11.388000 -1.320000
- L 11579568 0.053333 -0.000003 -0.984375 0.649597 -0.984374 0
- L 11579568 0.053333 0.000000 0.984375 11.500000 0.984389 0
- A 11579568 0.053333 33.920990 0.649461 -34.905365 0.000076 9.594228
- L 11579568 0.053333 6.303183 -1.458832 11.223931 -2.290606 0
- END
-TURNOUT HO "Bachmann E-Z Track #6 Right Crossover Turnout 44138"
- P "Normal" 1 2 0 3 4
- P "Reverse" 3 5 6 7 2
- E 0.000000 0.000000 270.000000
- E 21.250000 0.000000 90.000000
- E 0.000000 2.375000 270.000000
- E 21.250000 2.375000 90.000000
- S 0 0.000000 0.000000 0.000000 20.090093 0.000000
- S 0 0.000000 20.090093 0.000000 21.250000 0.000000
- S 0 0.000000 0.000000 2.375000 1.159907 2.375000
- S 0 0.000000 1.159907 2.375000 21.250000 2.375000
- C 0 0.000000 38.137785 1.159755 -35.762785 0.000076 13.392143
- S 0 0.000000 9.993164 1.337946 11.256836 1.037054
- C 0 0.000000 -38.137785 20.090143 38.137773 180.000076 13.392143
- L 11579568 0.053333 -0.000003 -0.984375 21.249997 -0.984373 0
- L 11579568 0.053333 0.000000 0.984375 6.905970 0.984384 0
- L 11579568 0.053333 20.090093 0.984375 21.250000 0.984377 0
- L 11579568 0.053333 -0.000003 1.390625 1.159904 1.390627 0
- L 11579568 0.053333 0.000000 3.359375 21.250000 3.359402 0
- L 11579568 0.053333 14.344028 1.390642 21.249997 1.390652 0
- A 11579568 0.053333 37.153410 1.159755 -35.762785 0.000076 8.370090
- A 11579568 0.053333 37.153410 20.090143 38.137773 180.000076 8.370090
- END
-TURNOUT HO "Bachmann E-Z Track #6 Left Crossover Turnout 44137"
- P "Normal" 1 2 0 3 4
- P "Reverse" 1 5 6 7 4
- E 0.000000 0.000000 270.000000
- E 21.250000 0.000000 90.000000
- E 0.000000 2.375000 270.000000
- E 21.250000 2.375000 90.000000
- S 0 0.000000 0.000000 0.000000 1.159907 0.000000
- S 0 0.000000 1.159907 0.000000 21.250000 0.000000
- S 0 0.000000 0.000000 2.375000 20.090093 2.375000
- S 0 0.000000 20.090093 2.375000 21.250000 2.375000
- C 0 0.000000 -38.137785 1.159957 38.137785 166.607933 13.392143
- S 0 0.000000 9.993164 1.037054 11.256836 1.337946
- C 0 0.000000 38.137785 20.090143 -35.762773 346.607933 13.392143
- L 11579568 0.053333 -0.000003 -0.984375 21.249997 -0.984348 0
- L 11579568 0.053333 0.000000 0.984375 1.159907 0.984377 0
- L 11579568 0.053333 14.344030 0.984392 21.250000 0.984402 0
- L 11579568 0.053333 -0.000003 1.390625 6.905967 1.390634 0
- L 11579568 0.053333 0.000000 3.359375 21.250000 3.359377 0
- L 11579568 0.053333 20.090091 1.390625 21.249997 1.390627 0
- A 11579568 0.053333 37.153410 1.159957 38.137785 171.629986 8.370090
- A 11579568 0.053333 37.153410 20.090143 -35.762773 351.629986 8.370090
- END
-
-
-
-
-SUBCONTENTS Bachmann True-Tack - Misc Track
-TURNOUT HO "Bachmann E-Z Track Crossing 90° w/ext 44541/44411"
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 4.000000 0.000000 90.000000
- E 2.000000 2.000000 0.000000
- E 2.000000 -2.000000 180.000000
- S 0 0 0.000000 0.000000 4.000000 0.000000
- S 0 0 2.000000 2.000000 2.000000 -2.000000
- L 11579568 0.053333 0.000000 0.984375 1.015625 0.984375
- L 11579568 0.053333 0.000000 -0.984375 1.015625 -0.984375
- L 11579568 0.053333 2.984375 0.984375 4.000000 0.984375
- L 11579568 0.053333 2.984375 -0.984375 4.000000 -0.984375
- L 11579568 0.053333 1.015625 2.000000 1.015625 0.984375
- L 11579568 0.053333 2.984375 2.000000 2.984375 0.984375
- L 11579568 0.053333 1.015625 -0.984375 1.015625 -2.000000
- L 11579568 0.053333 2.984375 -0.984375 2.984375 -2.000000
- END
-TURNOUT HO "Bachmann E-Z Track Crossing 90° w/o ext 44541/44411"
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 2.000000 0.000000 90.000000
- E 1.000000 1.000000 0.000000
- E 1.000000 -1.000000 180.000000
- S 0 0 0.000000 0.000000 2.000000 0.000000
- S 0 0 1.000000 1.000000 1.000000 -1.000000
- END
-TURNOUT HO "Bachmann E-Z Track Crossing 90° 2" Str 44541/44411"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 2.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 2.000000 0.000000
- L 11579568 0.053333 0.000000 0.984375 2.000000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 2.000000 -0.984375
- END
-TURNOUT HO "Bachmann E-Z Track Crossing 60° 476"
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 4.000000 0.000000 90.000000
- E 3.000000 1.732051 30.000000
- E 1.000000 -1.732051 210.000000
- S 0 0 0.000000 0.000000 4.000000 0.000000
- S 0 0 1.000000 -1.732051 3.000000 1.732051
- L 11579568 0.053333 0.000000 0.984375 1.431671 0.984375
- L 11579568 0.053333 0.000000 -0.984375 0.312750 -0.984375
- L 11579568 0.053333 3.687500 0.984375 4.000000 0.984375
- L 11579568 0.053333 2.568329 -0.984375 4.000000 -0.984375
- L 11579568 0.053333 3.687500 0.984375 3.852494 1.239863
- L 11579568 0.053333 1.431671 0.984375 2.147506 2.224238
- L 11579568 0.053333 0.147506 -1.239863 0.312750 -0.984375
- L 11579568 0.053333 1.852494 -2.224238 2.568329 -0.984375
- END
-TURNOUT HO "Bachmann E-Z Track Crossing 45° 476"
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 5.000000 0.000000 90.000000
- E 4.267767 1.767767 45.000000
- E 0.732233 -1.767767 225.000000
- S 0 0 0.000000 0.000000 5.000000 0.000000
- S 0 0 0.732233 -1.767767 4.267767 1.767767
- L 11579568 0.053333 0.000000 0.984375 2.056084 0.984375
- L 11579568 0.053333 2.943916 -0.984375 5.000000 -0.984375
- L 11579568 0.053333 2.056084 0.984375 3.571709 2.463825
- L 11579568 0.053333 1.428291 -2.463825 2.943916 -0.984375
- END
-TURNOUT HO "Bachmann E-Z Track Crossing 30° 44540/44440"
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 10.000000 0.000000 90.000000
- E 9.330127 2.500000 60.000000
- E 0.669873 -2.500000 240.000000
- S 0 0 0.000000 0.000000 10.000000 0.000000
- S 0 0 0.669873 -2.500000 9.330127 2.500000
- L 11579568 0.053333 0.000000 0.984375 4.800000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 1.400000 -0.984375
- L 11579568 0.053333 8.600000 0.984375 10.000000 0.984375
- L 11579568 0.053333 5.300000 -0.984375 10.000000 -0.984375
- L 11579568 0.053333 4.800000 0.984375 8.837940 3.352494
- L 11579568 0.053333 8.600000 0.984375 9.800000 1.647506
- L 11579568 0.053333 0.200000 -1.647506 1.400000 -0.984375
- L 11579568 0.053333 1.162060 -3.352494 5.300000 -0.984375
- END
-TURNOUT HO "Bachmann E-Z Track Power Terminal 9in 44597"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 9.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 9.000000 0.000000
- L 11579568 0.053333 0.000000 0.984375 9.000000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 9.000000 -0.984375
- F 12566463 0.000000 4
- 4.000000 1.234375 0
- 4.000000 0.984375 0
- 5.000000 0.984375 0
- 5.000000 1.234375 0
- END
-TURNOUT HO "Bachmann E-Z Track Rerailer 9in 44528/44428"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 9.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 9.000000 0.000000
- L 11579568 0.053333 0.000000 0.984375 9.000000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 9.000000 -0.984375
- F 12566463 0.000000 4
- 0.500000 0.584375 0
- 1.000000 0.334375 0
- 8.000000 0.334375 0
- 8.500000 0.584375 0
- F 12566463 0.000000 6
- 0.500000 0.000000 0
- 1.000000 -0.250000 0
- 8.000000 -0.250000 0
- 8.500000 0.000000 0
- 8.000000 0.250000 0
- 1.000000 0.250000 0
- F 12566463 0.000000 4
- 0.500000 -0.584375 0
- 1.000000 -0.334375 0
- 8.000000 -0.334375 0
- 8.500000 -0.584375 0
- END
-TURNOUT HO "Bachmann E-Z Track Terminal/Rerailer 9in 44510/44410"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 9.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 9.000000 0.000000
- L 11579568 0.053333 0.000000 0.984375 9.000000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 9.000000 -0.984375
- F 12566463 0.000000 4
- 0.500000 0.584375 0
- 1.000000 0.334375 0
- 8.000000 0.334375 0
- 8.500000 0.584375 0
- F 12566463 0.000000 6
- 0.500000 0.000000 0
- 1.000000 -0.250000 0
- 8.000000 -0.250000 0
- 8.500000 0.000000 0
- 8.000000 0.250000 0
- 1.000000 0.250000 0
- F 12566463 0.000000 4
- 0.500000 -0.584375 0
- 1.000000 -0.334375 0
- 8.000000 -0.334375 0
- 8.500000 -0.584375 0
- F 12566463 0.000000 4
- 4.000000 1.234375 0
- 4.000000 0.984375 0
- 5.000000 0.984375 0
- 5.000000 1.234375 0
- END
-TURNOUT HO "Bachmann E-Z Track Auto-Reverse Str 9in 44548"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 9.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 9.000000 0.000000
- L 11579568 0.053333 0.000000 0.984375 9.000000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 9.000000 -0.984375
- END
-TURNOUT HO "Bachmann E-Z Track Terminal/Rerailer 10in 44820"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 10.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 10.000000 0.000000
- L 11579568 0.053333 0.000000 0.984375 10.000000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 10.000000 -0.984375
- F 12566463 0.000000 4
- 1.000000 0.584375 0
- 1.500000 0.334375 0
- 8.500000 0.334375 0
- 9.000000 0.584375 0
- F 12566463 0.000000 6
- 1.000000 0.000000 0
- 1.500000 -0.250000 0
- 8.500000 -0.250000 0
- 9.000000 0.000000 0
- 8.500000 0.250000 0
- 1.500000 0.250000 0
- F 12566463 0.000000 4
- 1.000000 -0.584375 0
- 1.500000 -0.334375 0
- 8.500000 -0.334375 0
- 9.000000 -0.584375 0
- F 12566463 0.000000 4
- 4.500000 1.234375 0
- 4.500000 0.984375 0
- 5.500000 0.984375 0
- 5.500000 1.234375 0
- END
-TURNOUT HO "Bachmann E-Z Track Hayes Bumper 44591/44491"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- S 0 0 0.000000 0.000000 2.50000 0.000000
- L 11579568 0.053333 0.000000 0.984375 2.500000 0.984375
- L 11579568 0.053333 0.000000 -0.984375 2.500000 -0.984375
- END
-TURNOUT HO "Bachmann E-Z Track Auto-Reverse Curved 18in 30° 44549"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 9.000000 -2.411543 120.000000
- C 0 0 18.000000 0.000000 -18.000000 0.000000 30.000000
- A 11579568 0.053333 18.984375 0.000000 -18.000000 0.000000 30.000000
- A 11579568 0.053333 17.015625 0.000000 -18.000000 0.000000 30.000000
- END
-TURNOUT HO "Bachmann E-Z Track Rerailer Curved 18in 30° 44529/44429"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 9.000000 -2.411543 120.000000
- C 0 0 18.000000 0.000000 -18.000000 0.000000 30.000000
- A 11579568 0.053333 18.984375 0.000000 -18.000000 0.000000 30.000000
- A 11579568 0.053333 17.015625 0.000000 -18.000000 0.000000 30.000000
- END
-TURNOUT HO "Bachmann E-Z Track Terminal Curved 18in 30° 44502/44402"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 9.000000 -2.411543 120.000000
- C 0 0 18.000000 0.000000 -18.000000 0.000000 30.000000
- A 11579568 0.053333 18.984375 0.000000 -18.000000 0.000000 30.000000
- A 11579568 0.053333 17.015625 0.000000 -18.000000 0.000000 30.000000
- F 12566463 0.000000 4
- 0.000000 1.234375 0
- 0.000000 0.984375 0
- 1.000000 0.984375 0
- 1.000000 1.234375 0
- END
-
-
+CONTENTS Bachmann E-Z Track Components
+
+SUBCONTENTS Bachmann E-Z Track - Straight Track
+TURNOUT HO "Bachmann E-Z Track Straight 2.25in 44513"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.250000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.250000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 2.250000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 2.250000 -0.984375
+ END
+TURNOUT HO "Bachmann E-Z Track Straight 3in 44512/44412"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 3.000000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 3.000000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 3.000000 -0.984375
+ END
+TURNOUT HO "Bachmann E-Z Track Straight 4.5in 44514"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.500000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.500000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 4.500000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 4.500000 -0.984375
+ END
+TURNOUT HO "Bachmann E-Z Track Straight 9in 44511/44411"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 9.000000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 9.000000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 9.000000 -0.984375
+ END
+TURNOUT HO "Bachmann E-Z Track Straight 36in 44584"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 36.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 36.000000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 36.000000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 36.000000 -0.984375
+ END
+TURNOUT HO "Bachmann E-Z Track Straight 2in 44592A"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.000000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 2.000000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 2.000000 -0.984375
+ END
+TURNOUT HO "Bachmann E-Z Track Straight 1.5in 44592B"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.500000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 1.500000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 1.500000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 1.500000 -0.984375
+ END
+TURNOUT HO "Bachmann E-Z Track Straight 1.25in 44592C"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.250000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 1.250000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 1.250000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 1.250000 -0.984375
+ END
+TURNOUT HO "Bachmann E-Z Track Straight 1in 44592D"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 1.000000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 1.000000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 1.000000 -0.984375
+ END
+TURNOUT HO "Bachmann E-Z Track Straight 0.75in 44592E"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.750000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 0.7500000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 0.750000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 0.750000 -0.984375
+ END
+
+
+
+SUBCONTENTS Bachmann E-Z Track - Curve Track
+TURNOUT HO "Bachmann E-Z Track Curved 15in 30 44505"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 7.500000 -2.009619 120.000000
+ C 0 0 15.000000 0.000000 -15.000000 0.000000 30.000000
+ A 11579568 0.053333 15.984375 0.000000 -15.000000 0.000000 30.000000
+ A 11579568 0.053333 14.015625 0.000000 -15.000000 0.000000 30.000000
+ END
+TURNOUT HO "Bachmann E-Z Track Curved 18in 30 44501/44401"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.000000 -2.411543 120.000000
+ C 0 0 18.000000 0.000000 -18.000000 0.000000 30.000000
+ A 11579568 0.053333 18.984375 0.000000 -18.000000 0.000000 30.000000
+ A 11579568 0.053333 17.015625 0.000000 -18.000000 0.000000 30.000000
+ END
+TURNOUT HO "Bachmann E-Z Track Curved 18in 15 44531"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.658743 -0.613335 105.000000
+ C 0 0 18.000000 0.000000 -18.000000 0.000000 15.000000
+ A 11579568 0.053333 18.984375 0.000000 -18.000000 0.000000 15.000000
+ A 11579568 0.053333 17.015625 0.000000 -18.000000 0.000000 15.000000
+ END
+TURNOUT HO "Bachmann E-Z Track Curved 18in 10 44530"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.125667 -0.273460 100.000000
+ C 0 0 18.000000 0.000000 -18.000000 0.000000 10.000000
+ A 11579568 0.053333 18.984375 0.000000 -18.000000 0.000000 10.000000
+ A 11579568 0.053333 17.015625 0.000000 -18.000000 0.000000 10.000000
+ END
+TURNOUT HO "Bachmann E-Z Track Curved 22in 22.5 44503/44403"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 8.419036 -1.674650 112.500000
+ C 0 0 22.000000 0.000000 -22.000000 0.000000 22.500000
+ A 11579568 0.053333 22.984375 0.000000 -22.000000 0.000000 22.500000
+ A 11579568 0.053333 21.015625 0.000000 -22.000000 0.000000 22.500000
+ END
+TURNOUT HO "Bachmann E-Z Track Curved 22in 11.25 44532"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.291987 -0.422724 101.250000
+ C 0 0 22.000000 0.000000 -22.000000 0.000000 11.250000
+ A 11579568 0.053333 22.984375 0.000000 -22.000000 0.000000 11.250000
+ A 11579568 0.053333 21.015625 0.000000 -22.000000 0.000000 11.250000
+ END
+TURNOUT HO "Bachmann E-Z Track Curved 26in 18 44519"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 8.034442 -1.272531 108.000000
+ C 0 0 26.000000 0.000000 -26.000000 0.000000 18.000000
+ A 11579568 0.053333 26.984375 0.000000 -26.000000 0.000000 18.000000
+ A 11579568 0.053333 25.015625 0.000000 -26.000000 0.000000 18.000000
+ END
+TURNOUT HO "Bachmann E-Z Track Curved 28in 18 44506"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 8.652476 -1.370418 108.000000
+ C 0 0 28.000000 0.000000 -28.000000 0.000000 18.000000
+ A 11579568 0.053333 28.984375 0.000000 -28.000000 0.000000 18.000000
+ A 11579568 0.053333 27.015625 0.000000 -28.000000 0.000000 18.000000
+ END
+TURNOUT HO "Bachmann E-Z Track Curved 33.25in 18 44504"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.274815 -1.627371 108.000000
+ C 0 0 33.250000 0.000000 -33.250000 0.000000 18.000000
+ A 11579568 0.053333 34.234375 0.000000 -33.250000 0.000000 18.000000
+ A 11579568 0.053333 32.265625 0.000000 -33.250000 0.000000 18.000000
+ END
+TURNOUT HO "Bachmann E-Z Track Curved 33.25in 12 44509"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 6.913064 -0.726592 102.000000
+ C 0 0 33.250000 0.000000 -33.250000 0.000000 12.000000
+ A 11579568 0.053333 34.234375 0.000000 -33.250000 0.000000 12.000000
+ A 11579568 0.053333 32.265625 0.000000 -33.250000 0.000000 12.000000
+ END
+TURNOUT HO "Bachmann E-Z Track Curved 33.25in 6 44508"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.475571 -0.182147 96.000000
+ C 0 0 33.250000 0.000000 -33.250000 0.000000 6.000000
+ A 11579568 0.053333 34.234375 0.000000 -33.250000 0.000000 6.000000
+ A 11579568 0.053333 32.265625 0.000000 -33.250000 0.000000 6.000000
+ END
+TURNOUT HO "Bachmann E-Z Track Curved 35.5in 18 44507"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.970103 -1.737494 108.000000
+ C 0 0 35.500000 0.000000 -35.500000 0.000000 18.000000
+ A 11579568 0.053333 36.484375 0.000000 -35.500000 0.000000 18.000000
+ A 11579568 0.053333 34.515625 0.000000 -35.500000 0.000000 18.000000
+ END
+
+
+
+
+
+
+SUBCONTENTS Bachmann E-Z Track - Track Turnouts
+TURNOUT HO "Bachmann E-Z Track Left Snap Manual Turnout 44130/44561/44461"
+ P "Normal" 1 2
+ P "Reverse" 1 3
+ E 0.000000 0.000000 270.000000
+ E 9.000000 0.000000 90.000000
+ E 10.375000 2.411543 60.000000
+ S 0 0 0.000000 0.000000 1.375000 0.000000
+ S 0 0 1.375000 0.000000 9.000000 0.000000
+ C 0 0 -18.000000 1.375000 18.000000 150.000000 30.000000
+ A 11579568 0.053333 17.015625 1.375000 18.000000 150.000000 30.000000
+ A 11579568 0.053333 18.984375 1.375000 18.000000 150.000000 3.800000
+ L 11579568 0.053333 0.000000 0.984375 1.375000 0.984375
+ L 11579568 0.053333 9.000000 0.984375 9.750000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 9.000000 -0.984375
+ END
+TURNOUT HO "Bachmann E-Z Track Right Snap Manual Turnout 44131/44562/44462"
+ P "Normal" 1 2
+ P "Reverse" 1 3
+ E 0.000000 0.000000 270.000000
+ E 9.000000 0.000000 90.000000
+ E 10.375000 -2.411543 120.000000
+ S 0 0 0.000000 0.000000 1.375000 0.000000
+ S 0 0 1.375000 0.000000 9.000000 0.000000
+ C 0 0 18.000000 1.375000 -18.000000 0.000000 30.000000
+ A 11579568 0.053333 17.015625 1.375000 -18.000000 0.000000 30.000000
+ A 11579568 0.053333 18.984375 1.375000 -18.000000 26.000000 3.800000
+ L 11579568 0.053333 0.000000 -0.984375 1.375000 -0.984375
+ L 11579568 0.053333 9.000000 -0.984375 9.750000 -0.984375
+ L 11579568 0.053333 0.000000 0.984375 9.000000 0.984375
+ END
+TURNOUT HO "Bachmann E-Z Track #4 Left Turnout 44139/44557"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 10.000000 0.000000 90.000000
+ E 9.781250 1.593750 76.000000
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ S 0 0.000000 0.649600 0.000000 10.000000 0.000000
+ C 0 0.000000 -22.311590 0.649630 22.311590 165.999924 14.000152
+ S 0 0.000000 6.047315 0.662763 9.781250 1.593750
+ L3 0 0.000000 -0.000003 -0.984375 0 9.999997 -0.984363 0
+ L3 0 0.000000 0.000000 0.984375 0 0.649600 0.984376 0
+ A3 0 0.000000 21.327215 0.649630 22.311590 0 165.999924 14.000152
+ L3 0 0.000000 5.809171 1.617897 0 9.543106 2.548884 0
+ L3 0 0.000000 -0.000001 -0.492187 0 9.999999 -0.492175 0
+ L3 0 0.000000 0.000000 0.492188 0 0.649600 0.492188 0
+ L3 0 0.000000 7.370200 0.492196 0 10.000000 0.492200 0
+ A3 0 0.000000 21.819402 0.649630 22.311590 0 165.999924 14.000152
+ L3 0 0.000000 7.449928 0.505223 0 9.900323 1.116183 0
+ L3 0 0.000000 5.928243 1.140330 0 9.662178 2.071317 0
+ END$SEGS
+TURNOUT HO "Bachmann E-Z Track #4 Right Turnout 44140/44558"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 10.000000 0.000000 90.000000
+ E 9.781250 -1.593750 104.000000
+ S 0 0.000000 0.000000 0.000000 0.649600 -0.000000
+ S 0 0.000000 0.649600 -0.000000 10.000000 0.000000
+ C 0 0.000000 22.311590 0.649511 -22.311590 0.000076 14.000152
+ S 0 0.000000 6.047315 -0.662763 9.781250 -1.593750
+ L3 0 0.000000 -0.000003 -0.984375 0 0.649597 -0.984374 0
+ L3 0 0.000000 0.000000 0.984375 0 10.000000 0.984387 0
+ A3 0 0.000000 21.327215 0.649511 -22.311590 0 0.000076 14.000152
+ L3 0 0.000000 5.809166 -1.617896 0 9.543101 -2.548883 0
+ L3 0 0.000000 -0.000001 -0.492187 0 0.649599 -0.492187 0
+ L3 0 0.000000 0.000000 0.492188 0 10.000000 0.492200 0
+ L3 0 0.000000 7.370199 -0.492179 0 9.999999 -0.492175 0
+ A3 0 0.000000 21.819402 0.649511 -22.311590 0 0.000076 14.000152
+ L3 0 0.000000 5.928241 -1.140329 0 9.662176 -2.071317 0
+ L3 0 0.000000 7.449928 -0.505223 0 9.900323 -1.116183 0
+ END$SEGS
+TURNOUT HO "Bachmann E-Z Track #5 Left Turnout 44132/44565"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 11.500000 0.000000 90.000000
+ E 11.340000 1.620000 78.463031
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ S 0 0.000000 0.649600 0.000000 11.500000 0.000000
+ C 0 0.000000 -27.263067 0.649636 27.263067 168.462955 11.537121
+ S 0 0.000000 6.102284 0.550840 11.340000 1.620000
+ L 11579568 0.053333 -0.000003 -0.984375 11.499997 -0.984361 0
+ L 11579568 0.053333 0.000000 0.984375 0.649600 0.984376 0
+ A 11579568 0.053333 26.278692 0.649636 27.263067 168.462955 11.537121
+ L 11579568 0.053333 5.905408 1.515327 11.143124 2.584486 0
+ END
+TURNOUT HO "Bachmann E-Z Track #5 Right Turnout 44133/44566"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 11.500000 0.000000 90.000000
+ E 11.340000 -1.620000 101.536969
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ S 0 0.000000 0.649600 0.000000 11.500000 0.000000
+ C 0 0.000000 27.263067 0.649491 -27.263067 0.000076 11.537121
+ S 0 0.000000 6.102284 -0.550840 11.340000 -1.620000
+ L 11579568 0.053333 -0.000003 -0.984375 0.649597 -0.984374 0
+ L 11579568 0.053333 0.000000 0.984375 11.500000 0.984389 0
+ A 11579568 0.053333 26.278692 0.649491 -27.263067 0.000076 11.537121
+ L 11579568 0.053333 5.905403 -1.515326 11.143118 -2.584485 0
+ END
+TURNOUT HO "Bachmann E-Z Track #5 Wye Turnout 44134/44569"
+ P "Left" 1 2 3
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 11.340000 0.762000 78.463031
+ E 11.340000 -0.762000 101.536969
+ S 0 0.000000 0.000000 0.000000 4.446728 0.000000
+ C 0 0.000000 -31.283990 4.446769 31.283990 168.462955 11.537121
+ S 0 0.000000 10.703607 0.632082 11.340000 0.762000
+ C 0 0.000000 31.283990 4.446603 -31.283990 0.000076 11.537121
+ S 0 0.000000 10.703607 -0.632082 11.340000 -0.762000
+ L 11579568 0.053333 -0.000003 -0.984375 4.446725 -0.984369 0
+ L 11579568 0.053333 0.000000 0.984375 4.446728 0.984381 0
+ A 11579568 0.053333 30.299615 4.446769 31.283990 168.462955 11.537121
+ L 11579568 0.053333 10.506711 1.596564 11.143104 1.726482 0
+ A 11579568 0.053333 30.299615 4.446603 -31.283990 0.000076 11.537121
+ L 11579568 0.053333 10.506706 -1.596563 11.143099 -1.726481 0
+ END
+TURNOUT HO "Bachmann E-Z Track #6 Left Turnout 44135"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 11.500000 0.000000 90.000000
+ E 11.388000 1.320000 80.405924
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ S 0 0.000000 0.649600 0.000000 11.500000 0.000000
+ C 0 0.000000 -34.905365 0.649646 34.905365 170.405848 9.594228
+ S 0 0.000000 6.467252 0.488226 11.388000 1.320000
+ L 11579568 0.053333 -0.000003 -0.984375 11.499997 -0.984361 0
+ L 11579568 0.053333 0.000000 0.984375 0.649600 0.984376 0
+ A 11579568 0.053333 33.920990 0.649646 34.905365 170.405848 9.594228
+ L 11579568 0.053333 6.303188 1.458833 11.223936 2.290607 0
+ END
+TURNOUT HO "Bachmann E-Z Track #6 Right Turnout 44136"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 11.500000 0.000000 90.000000
+ E 11.388000 -1.320000 99.594076
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ S 0 0.000000 0.649600 0.000000 11.500000 0.000000
+ C 0 0.000000 34.905365 0.649461 -34.905365 0.000076 9.594228
+ S 0 0.000000 6.467252 -0.488226 11.388000 -1.320000
+ L 11579568 0.053333 -0.000003 -0.984375 0.649597 -0.984374 0
+ L 11579568 0.053333 0.000000 0.984375 11.500000 0.984389 0
+ A 11579568 0.053333 33.920990 0.649461 -34.905365 0.000076 9.594228
+ L 11579568 0.053333 6.303183 -1.458832 11.223931 -2.290606 0
+ END
+TURNOUT HO "Bachmann E-Z Track #6 Right Crossover Turnout 44138/44576"
+ P "Normal" 1 2 0 3 4
+ P "Reverse" 3 5 6 7 2
+ E 0.000000 0.000000 270.000000
+ E 21.250000 0.000000 90.000000
+ E 0.000000 2.375000 270.000000
+ E 21.250000 2.375000 90.000000
+ S 0 0.000000 0.000000 0.000000 20.090093 0.000000
+ S 0 0.000000 20.090093 0.000000 21.250000 0.000000
+ S 0 0.000000 0.000000 2.375000 1.159907 2.375000
+ S 0 0.000000 1.159907 2.375000 21.250000 2.375000
+ C 0 0.000000 38.137785 1.159755 -35.762785 0.000076 13.392143
+ S 0 0.000000 9.993164 1.337946 11.256836 1.037054
+ C 0 0.000000 -38.137785 20.090143 38.137773 180.000076 13.392143
+ L 11579568 0.053333 -0.000003 -0.984375 21.249997 -0.984373 0
+ L 11579568 0.053333 0.000000 0.984375 6.905970 0.984384 0
+ L 11579568 0.053333 20.090093 0.984375 21.250000 0.984377 0
+ L 11579568 0.053333 -0.000003 1.390625 1.159904 1.390627 0
+ L 11579568 0.053333 0.000000 3.359375 21.250000 3.359402 0
+ L 11579568 0.053333 14.344028 1.390642 21.249997 1.390652 0
+ A 11579568 0.053333 37.153410 1.159755 -35.762785 0.000076 8.370090
+ A 11579568 0.053333 37.153410 20.090143 38.137773 180.000076 8.370090
+ END
+TURNOUT HO "Bachmann E-Z Track #6 Left Crossover Turnout 44137/44575"
+ P "Normal" 1 2 0 3 4
+ P "Reverse" 1 5 6 7 4
+ E 0.000000 0.000000 270.000000
+ E 21.250000 0.000000 90.000000
+ E 0.000000 2.375000 270.000000
+ E 21.250000 2.375000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.159907 0.000000
+ S 0 0.000000 1.159907 0.000000 21.250000 0.000000
+ S 0 0.000000 0.000000 2.375000 20.090093 2.375000
+ S 0 0.000000 20.090093 2.375000 21.250000 2.375000
+ C 0 0.000000 -38.137785 1.159957 38.137785 166.607933 13.392143
+ S 0 0.000000 9.993164 1.037054 11.256836 1.337946
+ C 0 0.000000 38.137785 20.090143 -35.762773 346.607933 13.392143
+ L 11579568 0.053333 -0.000003 -0.984375 21.249997 -0.984348 0
+ L 11579568 0.053333 0.000000 0.984375 1.159907 0.984377 0
+ L 11579568 0.053333 14.344030 0.984392 21.250000 0.984402 0
+ L 11579568 0.053333 -0.000003 1.390625 6.905967 1.390634 0
+ L 11579568 0.053333 0.000000 3.359375 21.250000 3.359377 0
+ L 11579568 0.053333 20.090091 1.390625 21.249997 1.390627 0
+ A 11579568 0.053333 37.153410 1.159957 38.137785 171.629986 8.370090
+ A 11579568 0.053333 37.153410 20.090143 -35.762773 351.629986 8.370090
+ END
+
+
+
+
+SUBCONTENTS Bachmann E-Z Track - Crossings
+TURNOUT HO "Bachmann E-Z Track Crossing 90 w/ext 44541/44411"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 4.000000 0.000000 90.000000
+ E 2.000000 2.000000 0.000000
+ E 2.000000 -2.000000 180.000000
+ S 0 0 0.000000 0.000000 4.000000 0.000000
+ S 0 0 2.000000 2.000000 2.000000 -2.000000
+ L 11579568 0.053333 0.000000 0.984375 1.015625 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 1.015625 -0.984375
+ L 11579568 0.053333 2.984375 0.984375 4.000000 0.984375
+ L 11579568 0.053333 2.984375 -0.984375 4.000000 -0.984375
+ L 11579568 0.053333 1.015625 2.000000 1.015625 0.984375
+ L 11579568 0.053333 2.984375 2.000000 2.984375 0.984375
+ L 11579568 0.053333 1.015625 -0.984375 1.015625 -2.000000
+ L 11579568 0.053333 2.984375 -0.984375 2.984375 -2.000000
+ END
+TURNOUT HO "Bachmann E-Z Track Crossing 90 w/o ext 44541/44411"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 2.000000 0.000000 90.000000
+ E 1.000000 1.000000 0.000000
+ E 1.000000 -1.000000 180.000000
+ S 0 0 0.000000 0.000000 2.000000 0.000000
+ S 0 0 1.000000 1.000000 1.000000 -1.000000
+ END
+TURNOUT HO "Bachmann E-Z Track Crossing 90 2in Str 44541/44411"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.000000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 2.000000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 2.000000 -0.984375
+ END
+TURNOUT HO "Bachmann E-Z Track Crossing 60 476"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 4.000000 0.000000 90.000000
+ E 3.000000 1.732051 30.000000
+ E 1.000000 -1.732051 210.000000
+ S 0 0 0.000000 0.000000 4.000000 0.000000
+ S 0 0 1.000000 -1.732051 3.000000 1.732051
+ L 11579568 0.053333 0.000000 0.984375 1.431671 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 0.312750 -0.984375
+ L 11579568 0.053333 3.687500 0.984375 4.000000 0.984375
+ L 11579568 0.053333 2.568329 -0.984375 4.000000 -0.984375
+ L 11579568 0.053333 3.687500 0.984375 3.852494 1.239863
+ L 11579568 0.053333 1.431671 0.984375 2.147506 2.224238
+ L 11579568 0.053333 0.147506 -1.239863 0.312750 -0.984375
+ L 11579568 0.053333 1.852494 -2.224238 2.568329 -0.984375
+ END
+TURNOUT HO "Bachmann E-Z Track Crossing 45 476"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 5.000000 0.000000 90.000000
+ E 4.267767 1.767767 45.000000
+ E 0.732233 -1.767767 225.000000
+ S 0 0 0.000000 0.000000 5.000000 0.000000
+ S 0 0 0.732233 -1.767767 4.267767 1.767767
+ L 11579568 0.053333 0.000000 0.984375 2.056084 0.984375
+ L 11579568 0.053333 2.943916 -0.984375 5.000000 -0.984375
+ L 11579568 0.053333 2.056084 0.984375 3.571709 2.463825
+ L 11579568 0.053333 1.428291 -2.463825 2.943916 -0.984375
+ END
+TURNOUT HO "Bachmann E-Z Track Crossing 30 44540/44440"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 10.000000 0.000000 90.000000
+ E 9.330127 2.500000 60.000000
+ E 0.669873 -2.500000 240.000000
+ S 0 0 0.000000 0.000000 10.000000 0.000000
+ S 0 0 0.669873 -2.500000 9.330127 2.500000
+ L 11579568 0.053333 0.000000 0.984375 4.800000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 1.400000 -0.984375
+ L 11579568 0.053333 8.600000 0.984375 10.000000 0.984375
+ L 11579568 0.053333 5.300000 -0.984375 10.000000 -0.984375
+ L 11579568 0.053333 4.800000 0.984375 8.837940 3.352494
+ L 11579568 0.053333 8.600000 0.984375 9.800000 1.647506
+ L 11579568 0.053333 0.200000 -1.647506 1.400000 -0.984375
+ L 11579568 0.053333 1.162060 -3.352494 5.300000 -0.984375
+ END
+
+
+SUBCONTENTS Bachmann E-Z Track - Misc Track
+TURNOUT HO "Bachmann E-Z Track Power Terminal 9in 44597"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 9.000000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 9.000000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 9.000000 -0.984375
+ F 12566463 0.000000 4
+ 4.000000 1.234375 0
+ 4.000000 0.984375 0
+ 5.000000 0.984375 0
+ 5.000000 1.234375 0
+ END
+TURNOUT HO "Bachmann E-Z Track Rerailer 9in 44528/44428"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 9.000000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 9.000000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 9.000000 -0.984375
+ F 12566463 0.000000 4
+ 0.500000 0.584375 0
+ 1.000000 0.334375 0
+ 8.000000 0.334375 0
+ 8.500000 0.584375 0
+ F 12566463 0.000000 6
+ 0.500000 0.000000 0
+ 1.000000 -0.250000 0
+ 8.000000 -0.250000 0
+ 8.500000 0.000000 0
+ 8.000000 0.250000 0
+ 1.000000 0.250000 0
+ F 12566463 0.000000 4
+ 0.500000 -0.584375 0
+ 1.000000 -0.334375 0
+ 8.000000 -0.334375 0
+ 8.500000 -0.584375 0
+ END
+TURNOUT HO "Bachmann E-Z Track Terminal/Rerailer 9in 44510/44410"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 9.000000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 9.000000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 9.000000 -0.984375
+ F 12566463 0.000000 4
+ 0.500000 0.584375 0
+ 1.000000 0.334375 0
+ 8.000000 0.334375 0
+ 8.500000 0.584375 0
+ F 12566463 0.000000 6
+ 0.500000 0.000000 0
+ 1.000000 -0.250000 0
+ 8.000000 -0.250000 0
+ 8.500000 0.000000 0
+ 8.000000 0.250000 0
+ 1.000000 0.250000 0
+ F 12566463 0.000000 4
+ 0.500000 -0.584375 0
+ 1.000000 -0.334375 0
+ 8.000000 -0.334375 0
+ 8.500000 -0.584375 0
+ F 12566463 0.000000 4
+ 4.000000 1.234375 0
+ 4.000000 0.984375 0
+ 5.000000 0.984375 0
+ 5.000000 1.234375 0
+ END
+TURNOUT HO "Bachmann E-Z Track Auto-Reverse Str 9in 44548"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 9.000000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 9.000000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 9.000000 -0.984375
+ END
+TURNOUT HO "Bachmann E-Z Track Terminal/Rerailer 10in 44820"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 10.000000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 10.000000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 10.000000 -0.984375
+ F 12566463 0.000000 4
+ 1.000000 0.584375 0
+ 1.500000 0.334375 0
+ 8.500000 0.334375 0
+ 9.000000 0.584375 0
+ F 12566463 0.000000 6
+ 1.000000 0.000000 0
+ 1.500000 -0.250000 0
+ 8.500000 -0.250000 0
+ 9.000000 0.000000 0
+ 8.500000 0.250000 0
+ 1.500000 0.250000 0
+ F 12566463 0.000000 4
+ 1.000000 -0.584375 0
+ 1.500000 -0.334375 0
+ 8.500000 -0.334375 0
+ 9.000000 -0.584375 0
+ F 12566463 0.000000 4
+ 4.500000 1.234375 0
+ 4.500000 0.984375 0
+ 5.500000 0.984375 0
+ 5.500000 1.234375 0
+ END
+TURNOUT HO "Bachmann E-Z Track Hayes Bumper 44591/44491"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ S 0 0 0.000000 0.000000 2.50000 0.000000
+ L 11579568 0.053333 0.000000 0.984375 2.500000 0.984375
+ L 11579568 0.053333 0.000000 -0.984375 2.500000 -0.984375
+ END
+TURNOUT HO "Bachmann E-Z Track Auto-Reverse Curved 18in 30 44549"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.000000 -2.411543 120.000000
+ C 0 0 18.000000 0.000000 -18.000000 0.000000 30.000000
+ A 11579568 0.053333 18.984375 0.000000 -18.000000 0.000000 30.000000
+ A 11579568 0.053333 17.015625 0.000000 -18.000000 0.000000 30.000000
+ END
+TURNOUT HO "Bachmann E-Z Track Rerailer Curved 18in 30 44529/44429"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.000000 -2.411543 120.000000
+ C 0 0 18.000000 0.000000 -18.000000 0.000000 30.000000
+ A 11579568 0.053333 18.984375 0.000000 -18.000000 0.000000 30.000000
+ A 11579568 0.053333 17.015625 0.000000 -18.000000 0.000000 30.000000
+ END
+TURNOUT HO "Bachmann E-Z Track Terminal Curved 18in 30 44502/44402"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.000000 -2.411543 120.000000
+ C 0 0 18.000000 0.000000 -18.000000 0.000000 30.000000
+ A 11579568 0.053333 18.984375 0.000000 -18.000000 0.000000 30.000000
+ A 11579568 0.053333 17.015625 0.000000 -18.000000 0.000000 30.000000
+ F 12566463 0.000000 4
+ 0.000000 1.234375 0
+ 0.000000 0.984375 0
+ 1.000000 0.984375 0
+ 1.000000 1.234375 0
+ END
+
+SUBCONTENTS Bachmann E-Z Track - Turntable
+TURNOUT HO "Bachmann Turntable 16 Pos 20d 46299" 512
+ P "1" 1 2 3
+ P "2" 4 5 6
+ P "3" 7 8 9
+ P "4" 10 11 12
+ P "5" 13 14 15
+ P "6" 16 17 18
+ P "7" 19 20 21
+ P "8" 22 23
+ P "9" 24 25
+ E 0.000000 7.000000 0.000000
+ E 2.394141 6.577848 20.000000
+ E 4.499513 5.362311 40.000000
+ E 6.062178 3.500000 60.000000
+ E 6.893654 1.215537 80.000000
+ E 6.893654 -1.215537 100.000000
+ E 6.062178 -3.500000 120.000000
+ E 4.499513 -5.362311 140.000000
+ E 2.394141 -6.577848 160.000000
+ E 0.000000 -7.000000 180.000000
+ E -2.394141 -6.577848 200.000000
+ E -4.499513 -5.362311 220.000000
+ E -6.062178 -3.500000 240.000000
+ E -6.893654 -1.215537 260.000000
+ E -6.893654 1.215537 280.000000
+ E -6.062178 3.500000 300.000000
+ S 0 0 0.000000 7.000000 0.000000 5.000000
+ S 16777215 0 0.000000 5.000000 0.000000 -5.000000
+ S 0 0 0.000000 -5.000000 0.000000 -7.000000
+ S 0 0 2.394141 6.577848 1.710101 4.698463
+ S 16777215 0 1.710101 4.698463 -1.710101 -4.698463
+ S 0 0 -1.710101 -4.698463 -2.394141 -6.577848
+ S 0 0 4.499513 5.362311 3.213938 3.830222
+ S 16777215 0 3.213938 3.830222 -3.213938 -3.830222
+ S 0 0 -3.213938 -3.830222 -4.499513 -5.362311
+ S 0 0 6.062178 3.500000 4.330127 2.500000
+ S 16777215 0 4.330127 2.500000 -4.330127 -2.500000
+ S 0 0 -4.330127 -2.500000 -6.062178 -3.500000
+ S 0 0 6.893654 1.215537 4.924039 0.868241
+ S 16777215 0 4.924039 0.868241 -4.924039 -0.868241
+ S 0 0 -4.924039 -0.868241 -6.893654 -1.215537
+ S 0 0 6.893654 -1.215537 4.924039 -0.868241
+ S 16777215 0 4.924039 -0.868241 -4.924039 0.868241
+ S 0 0 -4.924039 0.868241 -6.893654 1.215537
+ S 0 0 6.062178 -3.500000 4.330127 -2.500000
+ S 16777215 0 4.330127 -2.500000 -4.330127 2.500000
+ S 0 0 -4.330127 2.500000 -6.062178 3.500000
+ S 0 0 4.499513 -5.362311 3.213938 -3.830222
+ S 16777215 0 3.213938 -3.830222 -3.213938 3.830222
+ S 0 0 2.394141 -6.577848 1.710101 -4.698463
+ S 16777215 0 1.710101 -4.698463 -1.710101 4.698463
+ A3 8424071 0.031250 4.000000 0.000000 0.000000 0 0.000000 360.000000
+ A3 8424071 0.031250 5.000000 0.000000 0.000000 0 0.000000 360.000000
+ L3 8424071 0.031250 -0.984375 7.000000 0 1.234289 7.000000 0
+ L3 8424071 0.031250 1.234289 7.000000 0 3.553993 6.155697 0
+ L3 8424071 0.031250 3.553993 6.155697 0 5.445033 4.568926 0
+ L3 8424071 0.031250 5.445033 4.568926 0 6.679322 2.431074 0
+ L3 8424071 0.031250 6.679322 2.431074 0 7.107986 0.000000 0
+ L3 8424071 0.031250 7.107986 0.000000 0 6.679322 -2.431074 0
+ L3 8424071 0.031250 6.679322 -2.431074 0 5.445033 -4.568926 0
+ L3 8424071 0.031250 5.445033 -4.568926 0 3.553993 -6.155697 0
+ L3 8424071 0.031250 3.553993 -6.155697 0 1.234289 -7.000000 0
+ L3 8424071 0.031250 1.234289 -7.000000 0 -1.234289 -7.000000 0
+ L3 8424071 0.031250 -1.234289 -7.000000 0 -3.553993 -6.155697 0
+ L3 8424071 0.031250 -3.553993 -6.155697 0 -5.445033 -4.568926 0
+ L3 8424071 0.031250 -5.445033 -4.568926 0 -6.679322 -2.431074 0
+ L3 8424071 0.031250 -6.679322 -2.431074 0 -7.107986 0.000000 0
+ L3 8424071 0.031250 -7.107986 0.000000 0 -6.679322 2.431074 0
+ L3 8424071 0.031250 -6.679322 2.431074 0 -5.569990 4.352494 0
+ L3 8424071 0.031250 -5.569990 4.352494 0 -7.215439 5.302494 0
+ L3 8424071 0.031250 -7.215439 5.302494 0 -6.510492 6.523497 0
+ L3 8424071 0.031250 -6.510492 6.523497 0 -2.375232 8.900000 0
+ L3 8424071 0.031250 -2.375232 8.900000 0 -0.984375 8.900000 0
+ L3 8424071 0.031250 -0.984375 8.900000 0 -0.984375 7.000000 0
+ F4 13882323 0.000000 4 0
+ -1.257836 6.197374 0
+ -4.725934 4.204284 0
+ -6.052343 6.498448 0
+ -2.584246 8.491538 0
+ L3 8424071 0.031250 -1.257836 6.197374 0 -4.725934 4.204284 0
+ L3 8424071 0.031250 -4.725934 4.204284 0 -6.052343 6.498448 0
+ L3 8424071 0.031250 -6.052343 6.498448 0 -2.584246 8.491538 0
+ L3 8424071 0.031250 -2.584246 8.491538 0 -1.257836 6.197374 0
+END$SEGS
+
+
diff --git a/app/lib/params/HO-DapolHOOO.xtp b/app/lib/params/HO-DapolHOOO.xtp
index f5f1e07..e5e4074 100644
--- a/app/lib/params/HO-DapolHOOO.xtp
+++ b/app/lib/params/HO-DapolHOOO.xtp
@@ -115,3 +115,154 @@ STRUCTURE OO "Dapol House 3"
3.543307 1.023622 0
3.385827 1.023622 0
END
+STRUCTURE OO "Dapol Ticket office 4"
+ F3 12699578 0.000000 8
+ 0.255906 1.968504 0
+ 3.346457 1.988189 0
+ 3.346457 1.594488 0
+ 3.543307 1.594488 0
+ 3.543307 0.669291 0
+ 0.059055 0.649606 0
+ 0.059055 1.574803 0
+ 0.255906 1.574803 0
+ F3 8487804 0.000000 8
+ 0.059055 3.346457 0
+ 0.059055 2.421260 0
+ 0.255906 2.421260 0
+ 0.236220 2.027559 0
+ 3.346457 2.027559 0
+ 3.366142 2.421260 0
+ 3.543307 2.421260 0
+ 3.543307 3.346457 0
+ F3 12632256 0.000000 4
+ 0.039370 0.610236 0
+ 3.543307 0.610236 0
+ 3.543307 0.078740 0
+ 0.039370 0.078740 0
+ F3 0 0.000000 4
+ 0.059055 2.362205 0
+ 0.196850 2.362205 0
+ 0.196850 1.653543 0
+ 0.059055 1.653543 0
+ F3 0 0.000000 4
+ 3.405512 2.362205 0
+ 3.543307 2.362205 0
+ 3.543307 1.653543 0
+ 3.405512 1.653543 0
+ L3 0 0.062500 0.031250 3.377707 0 3.574557 3.377707 0
+ L3 0 0.062500 3.574557 3.377707 0 3.574557 0.621801 0
+ L3 0 0.062500 3.574557 0.621801 0 0.031250 0.621801 0
+ L3 0 0.062500 0.031250 0.621801 0 0.031250 3.377707 0
+ L3 0 0.062500 0.228100 1.999754 0 3.377707 1.999754 0
+ L3 0 0.062500 0.031250 2.393455 0 0.228100 2.393455 0
+ L3 0 0.062500 0.236220 2.381890 0 0.228100 1.606053 0
+ L3 0 0.062500 0.228100 1.606053 0 0.031250 1.606053 0
+ L3 0 0.062500 0.031250 1.606053 0 0.031250 2.393455 0
+ L3 0 0.062500 3.377707 2.393455 0 3.574557 2.393455 0
+ L3 0 0.062500 3.574557 2.393455 0 3.574557 1.606053 0
+ L3 0 0.062500 3.574557 1.606053 0 3.377707 1.606053 0
+ L3 0 0.062500 3.377707 1.606053 0 3.377707 2.393455 0
+ L3 0 0.062500 0.031250 0.621801 0 3.574557 0.621801 0
+ L3 0 0.062500 3.574557 0.621801 0 3.574557 0.031250 0
+ L3 0 0.062500 3.574557 0.031250 0 0.031250 0.031250 0
+ L3 0 0.062500 0.031250 0.031250 0 0.031250 0.621801 0
+ END
+STRUCTURE OO "Dapol Country Church 5"
+ F3 4287396675 0.000000 4
+ 0.196850 0.218110 0
+ 0.472441 0.218110 0
+ 0.472441 2.777165 0
+ 0.196850 2.777165 0
+ F3 4287396675 0.000000 4
+ 2.559055 0.000000 0
+ 2.834646 0.000000 0
+ 2.834646 2.995276 0
+ 2.559055 2.995276 0
+ F3 4287396675 0.000000 4
+ 7.952756 0.000000 0
+ 7.677165 0.000000 0
+ 7.677165 1.084252 0
+ 7.952756 1.084252 0
+ F3 4287396675 0.000000 4
+ 7.952756 2.995276 0
+ 7.677165 2.995276 0
+ 7.677165 1.911024 0
+ 7.952756 1.911024 0
+ F3 4287396675 0.000000 4
+ 0.452756 1.320472 0
+ 7.125984 1.320472 0
+ 7.125984 1.674803 0
+ 0.452756 1.674803 0
+ F3 4285427310 0.000000 4
+ 0.452756 2.777165 0
+ 2.539370 2.777165 0
+ 2.539370 1.674803 0
+ 0.452756 1.674803 0
+ F3 4285427310 0.000000 4
+ 0.452756 0.237795 0
+ 2.539370 0.237795 0
+ 2.539370 1.320472 0
+ 0.452756 1.320472 0
+ F3 4285427310 0.000000 4
+ 2.814961 2.975591 0
+ 7.677165 2.975591 0
+ 7.677165 1.674803 0
+ 2.814961 1.674803 0
+ F3 4285427310 0.000000 4
+ 2.814961 0.019685 0
+ 7.677165 0.019685 0
+ 7.677165 1.320472 0
+ 2.814961 1.320472 0
+ F3 4285427310 0.000000 4
+ 4.333858 2.975591 0
+ 5.908661 2.975591 0
+ 5.908661 4.041732 0
+ 4.333858 4.041732 0
+ F3 4289699918 0.000000 4
+ 4.314173 4.022047 0
+ 5.928346 4.022047 0
+ 5.928346 3.785827 0
+ 4.314173 3.785827 0
+ F3 4289699918 0.000000 4
+ 5.003150 3.785827 0
+ 5.259055 3.785827 0
+ 5.259055 2.975591 0
+ 5.003150 2.975591 0
+ F3 4287971113 0.000000 4
+ 7.952756 1.084252 0
+ 7.125984 1.084252 0
+ 7.125984 1.911024 0
+ 7.952756 1.911024 0
+ F3 4287528523 0.000000 4
+ 7.952756 2.737795 0
+ 8.051181 2.737795 0
+ 8.051181 0.118110 0
+ 7.952756 0.118110 0
+ F3 4285688658 0.000000 4
+ 0.196850 2.265354 0
+ 0.000000 2.265354 0
+ 0.000000 2.029134 0
+ 0.196850 2.029134 0
+ F3 4285688658 0.000000 4
+ 2.677165 2.975591 0
+ 2.972441 2.975591 0
+ 2.972441 3.093701 0
+ 2.677165 3.093701 0
+ F3 4285688658 0.000000 4
+ 7.578740 2.975591 0
+ 7.874016 2.975591 0
+ 7.874016 3.093701 0
+ 7.578740 3.093701 0
+ F3 4285688658 0.000000 4
+ 8.051181 2.560630 0
+ 8.228346 2.560630 0
+ 8.228346 2.324409 0
+ 8.051181 2.324409 0
+ L3 4278321666 0.000000 2.539370 2.757480 0 2.539370 0.237795 0
+ L3 4278321666 0.000000 0.177165 1.497638 0 7.106299 1.497638 0
+ L3 4278321666 0.000000 7.952756 0.237795 0 7.933071 2.718110 0
+ L3 4278321666 0.000000 7.952756 1.891339 0 7.125984 1.084252 0
+ L3 4278321666 0.000000 7.125984 1.891339 0 7.952756 1.084252 0
+ L3 4278321666 0.000000 4.314173 2.975591 0 5.888976 2.975591 0
+ L3 4278321666 0.000000 5.121260 4.022047 0 5.121260 2.975591 0
+ END
diff --git a/app/lib/params/HO-Frateschi.xtp b/app/lib/params/HO-Frateschi.xtp
index 89cb804..3069ed9 100644
--- a/app/lib/params/HO-Frateschi.xtp
+++ b/app/lib/params/HO-Frateschi.xtp
@@ -151,7 +151,7 @@ TURNOUT HO "Frateschi HO Track Right Turnout (OLD) 4165R"
S 0 0.000000 5.885678 -0.922245 6.496063 -1.144416
END
SUBCONTENTS Frateschi HO Track - TurnTable
-TURNOUT HO "Frateschi Turntable 220mm 20d 4500"
+TURNOUT HO "Frateschi Turntable 220mm 20d 4500" 512
P "1" 1
P "2" 2
P "3" 3
@@ -193,4 +193,4 @@ TURNOUT HO "Frateschi Turntable 220mm 20d 4500"
A 0 0.031250 5.080709 0.000000 0.000000 0.000000 360.000000
A 0 0.031250 1.377727 0.000000 0.000000 0.000000 360.000000
G 0 0.000000 0.750000 0.000000 0.000000 0.000000 360.000000
-END \ No newline at end of file
+END
diff --git a/app/lib/params/kato-ho.xtp b/app/lib/params/HO-Kato.xtp
index a27b259..a07776f 100644
--- a/app/lib/params/kato-ho.xtp
+++ b/app/lib/params/HO-Kato.xtp
@@ -1,556 +1,556 @@
-CONTENTS Kato Unitrack HO Scale
-SUBCONTENTS Kato Unitrack HO Scale Straight Track
-TURNOUT HO "Kato Unitrack Straight 2 3/8 60mm 2-105"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 2.362205 0.000000 90.000000
- S 0 0 0.000000 0.000000 2.362205 0.000000
- L 11579568 0.053333 0.000000 0.723334 2.362205 0.723334
- L 11579568 0.053333 0.000000 -0.723334 2.362205 -0.723334
- END
-TURNOUT HO "Kato Unitrack Straight 3 11/16 94mm 2-111"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 3.700787 0.000000 90.000000
- S 0 0 0.000000 0.000000 3.700787 0.000000
- L 11579568 0.053333 0.000000 0.723334 3.700787 0.723334
- L 11579568 0.053333 0.000000 -0.723334 3.700787 -0.723334
- END
-TURNOUT HO "Kato Unitrack Straight 4 1/2 114mm 2-120"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.488189 0.000000 90.000000
- S 0 0 0.000000 0.000000 4.488189 0.000000
- L 11579568 0.053333 0.000000 0.723334 4.488189 0.723334
- L 11579568 0.053333 0.000000 -0.723334 4.488189 -0.723334
- END
-TURNOUT HO "Kato Unitrack Straight 4 7/8 123mm 2-140"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.842520 0.000000 90.000000
- S 0 0 0.000000 0.000000 4.842520 0.000000
- L 11579568 0.053333 0.000000 0.723334 4.842520 0.723334
- L 11579568 0.053333 0.000000 -0.723334 4.842520 -0.723334
- END
-TURNOUT HO "Kato Unitrack Straight 6 7/8 174mm 2-130"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 6.850394 0.000000 90.000000
- S 0 0 0.000000 0.000000 6.850394 0.000000
- L 11579568 0.053333 0.000000 0.723334 6.850394 0.723334
- L 11579568 0.053333 0.000000 -0.723334 6.850394 -0.723334
- END
-TURNOUT HO "Kato Unitrack Straight 9 3/4 246mm 2-150"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 9.685039 0.000000 90.000000
- S 0 0 0.000000 0.000000 9.685039 0.000000
- L 11579568 0.053333 0.000000 0.723334 9.685039 0.723334
- L 11579568 0.053333 0.000000 -0.723334 9.685039 -0.723334
- END
-TURNOUT HO "Kato Unitrack Straight 8 15/16 227mm 2-160"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 8.937008 0.000000 90.000000
- S 0 0 0.000000 0.000000 8.937008 0.000000
- L 11579568 0.053333 0.000000 0.723334 8.937008 0.723334
- L 11579568 0.053333 0.000000 -0.723334 8.937008 -0.723334
- END
-TURNOUT HO "Kato Unitrack Straight 14 1/2 369mm 2-180"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 14.527559 0.000000 90.000000
- S 0 0 0.000000 0.000000 14.527559 0.000000
- L 11579568 0.053333 0.000000 0.723334 14.527559 0.723334
- L 11579568 0.053333 0.000000 -0.723334 14.527559 -0.723334
- END
-TURNOUT HO "Kato Unitrack Straight 5 7/8 149mm 2-193"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 5.826772 0.000000 90.000000
- S 0 0 0.000000 0.000000 5.826772 0.000000
- L 11579568 0.053333 0.000000 0.723334 5.826772 0.723334
- L 11579568 0.053333 0.000000 -0.723334 5.826772 -0.723334
- END
-
-###############################################################################
-###############################################################################
-SUBCONTENTS Kato Unitrack HO-Scale Concrete-Tie Straight Track
-TURNOUT HO "Kato Unitrack Concrete-Tie Straight 4 7/8 123mm 2-141"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.842520 0.000000 90.000000
- S 0 0 0.000000 0.000000 4.842520 0.000000
- L 11579568 0.053333 0.000000 0.723334 4.842520 0.723334
- L 11579568 0.053333 0.000000 -0.723334 4.842520 -0.723334
- END
-TURNOUT HO "Kato Unitrack Concrete-Tie Straight 9 3/4 246mm 2-152"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 9.685039 0.000000 90.000000
- S 0 0 0.000000 0.000000 9.685039 0.000000
- L 11579568 0.053333 0.000000 0.723334 9.685039 0.723334
- L 11579568 0.053333 0.000000 -0.723334 9.685039 -0.723334
- END
-TURNOUT HO "Kato Unitrack Concrete-Tie Feeder Trk 9 3/4 246mm 2-153"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 9.685039 0.000000 90.000000
- S 0 0 0.000000 0.000000 9.685039 0.000000
- L 11579568 0.053333 0.000000 0.723334 9.685039 0.723334
- L 11579568 0.053333 0.000000 -0.723334 9.685039 -0.723334
- END
-TURNOUT HO "Kato Unitrack Concrete-Tie Straight 14 1/2 369mm 2-181"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 14.527559 0.000000 90.000000
- S 0 0 0.000000 0.000000 14.527559 0.000000
- L 11579568 0.053333 0.000000 0.723334 14.527559 0.723334
- L 11579568 0.053333 0.000000 -0.723334 14.527559 -0.723334
- END
-
-###############################################################################
-###############################################################################
-SUBCONTENTS Kato Unitrack HO-Scale Curve Track
-TURNOUT HO "Kato Unitrack Curved R21 5/8 550mm 22.5° 2-210"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 8.286452 -1.648278 112.500000
- C 0 0 21.653543 0.000000 -21.653543 0.000000 22.500000
- A 11579568 0.053333 20.930209 0.000000 -21.653543 0.000000 22.500000
- A 11579568 0.053333 22.376877 0.000000 -21.653543 0.000000 22.500000
- END
-TURNOUT HO "Kato Unitrack Curved R24 610mm 22.5° 2-220"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 9.190429 -1.828090 112.500000
- C 0 0 24.015748 0.000000 -24.015748 0.000000 22.500000
- A 11579568 0.053333 23.292414 0.000000 -24.015748 0.000000 22.500000
- A 11579568 0.053333 24.739082 0.000000 -24.015748 0.000000 22.500000
- END
-TURNOUT HO "Kato Unitrack Curved R26 3/8 670mm 22.5° 2-230"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 10.094406 -2.007902 112.500000
- C 0 0 26.377953 0.000000 -26.377953 0.000000 22.500000
- A 11579568 0.053333 25.654619 0.000000 -26.377953 0.000000 22.500000
- A 11579568 0.053333 27.101287 0.000000 -26.377953 0.000000 22.500000
- END
-TURNOUT HO "Kato Unitrack Curved 28 3/4 730mm 22.5° 2-240"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 10.998382 -2.187714 112.500000
- C 0 0 28.740157 0.000000 -28.740157 0.000000 22.500000
- A 11579568 0.053333 28.016823 0.000000 -28.740157 0.000000 22.500000
- A 11579568 0.053333 29.463491 0.000000 -28.740157 0.000000 22.500000
- END
-TURNOUT HO "Kato Unitrack Curved 31 1/8 790mm 22.5° 2-250"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 11.902359 -2.367526 112.500000
- C 0 0 31.102362 0.000000 -31.102362 0.000000 22.500000
- A 11579568 0.053333 30.379028 0.000000 -31.102362 0.000000 22.500000
- A 11579568 0.053333 31.825696 0.000000 -31.102362 0.000000 22.500000
- END
-TURNOUT HO "Kato Unitrack Curved R16 7/8 430mm 22.5° 2-260"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 6.478499 -1.288654 112.500000
- C 0 0 16.929134 0.000000 -16.929134 0.000000 22.500000
- A 11579568 0.053333 16.205800 0.000000 -16.929134 0.000000 22.500000
- A 11579568 0.053333 17.652468 0.000000 -16.929134 0.000000 22.500000
- END
-TURNOUT HO "Kato Unitrack Curved R19 1/4 490mm 22.5° 2-270"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 7.382476 -1.468466 112.500000
- C 0 0 19.291339 0.000000 -19.291339 0.000000 22.500000
- A 11579568 0.053333 18.568005 0.000000 -19.291339 0.000000 22.500000
- A 11579568 0.053333 20.014673 0.000000 -19.291339 0.000000 22.500000
- END
-TURNOUT HO "Kato Unitrack Curved R34 1/8 867mm 22.5° 2-290"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 5.927282 -0.518570 100.000000
- C 0 0 34.133858 0.000000 -34.133858 0.000000 10.000000
- A 11579568 0.053333 33.410524 0.000000 -34.133858 0.000000 10.000000
- A 11579568 0.053333 34.857192 0.000000 -34.133858 0.000000 10.000000
- END
-
-###############################################################################
-###############################################################################
-SUBCONTENTS Kato Unitrack HO-Scale Superelevated Concrete-Tie Curve Track
-TURNOUT HO "Kato Unitrack Superelevated CT Curved 28 3/4 730mm 22.5° 2-241"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 10.998382 -2.187714 112.500000
- C 0 0 28.740157 0.000000 -28.740157 0.000000 22.500000
- A 11579568 0.053333 28.016823 0.000000 -28.740157 0.000000 22.500000
- A 11579568 0.053333 29.463491 0.000000 -28.740157 0.000000 22.500000
- END
-TURNOUT HO "Kato Unitrack Superelevated CT Easement Curved (L) 28 3/4 730mm 22.5° 2-242 Left"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 10.998382 -2.187714 112.500000
- C 0 0 28.740157 0.000000 -28.740157 0.000000 22.500000
- A 11579568 0.053333 28.016823 0.000000 -28.740157 0.000000 22.500000
- A 11579568 0.053333 29.463491 0.000000 -28.740157 0.000000 22.500000
- END
-TURNOUT HO "Kato Unitrack Superelevated CT Easement Curved (R) 28 3/4 730mm 22.5° 2-242 Right"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 10.998382 -2.187714 112.500000
- C 0 0 28.740157 0.000000 -28.740157 0.000000 22.500000
- A 11579568 0.053333 28.016823 0.000000 -28.740157 0.000000 22.500000
- A 11579568 0.053333 29.463491 0.000000 -28.740157 0.000000 22.500000
- END
-TURNOUT HO "Kato Unitrack Superelevated CT Curved 31 1/8 790mm 22.5° 2-251"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 11.902359 -2.367526 112.500000
- C 0 0 31.102362 0.000000 -31.102362 0.000000 22.500000
- A 11579568 0.053333 30.379028 0.000000 -31.102362 0.000000 22.500000
- A 11579568 0.053333 31.825696 0.000000 -31.102362 0.000000 22.500000
- END
-TURNOUT HO "Kato Unitrack Superelevated CT Curved (L) 31 1/8 790mm 22.5° 2-252 Left"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 11.902359 -2.367526 112.500000
- C 0 0 31.102362 0.000000 -31.102362 0.000000 22.500000
- A 11579568 0.053333 30.379028 0.000000 -31.102362 0.000000 22.500000
- A 11579568 0.053333 31.825696 0.000000 -31.102362 0.000000 22.500000
- END
-TURNOUT HO "Kato Unitrack Superelevated CT Curved (R) 31 1/8 790mm 22.5° 2-252 Right"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 11.902359 -2.367526 112.500000
- C 0 0 31.102362 0.000000 -31.102362 0.000000 22.500000
- A 11579568 0.053333 30.379028 0.000000 -31.102362 0.000000 22.500000
- A 11579568 0.053333 31.825696 0.000000 -31.102362 0.000000 22.500000
- END
-
-###############################################################################
-###############################################################################
-SUBCONTENTS Kato Unitrack HO-Scale #4 Turnouts
-TURNOUT HO "Kato Unitrack #4-L Man Turnout 2-840"
- P "Normal" 1
- P "Reverse" 2
- E 0.000000 0.000000 270.000000
- E 9.685039 0.000000 90.000000
- E 7.382476 1.468466 67.500000
- S 0 0 0.000000 0.000000 9.685039 0.000000
- C 0 0 -19.291339 0.000000 19.291339 157.500000 22.500000
- L 11579568 0.053333 0.000000 -0.723334 9.685039 -0.723334
- L 11579568 0.053333 7.685039 0.723334 9.685039 0.723334
- A 11579568 0.053333 -18.568005 0.000000 19.291339 157.500000 22.500000
- END
-TURNOUT HO "Kato Unitrack #4-R Man Turnout 2-841"
- P "Normal" 1
- P "Reverse" 2
- E 0.000000 0.000000 270.000000
- E 9.685039 0.000000 90.000000
- E 7.382476 -1.468466 112.500000
- S 0 0 0.000000 0.000000 9.685039 0.000000
- C 0 0 19.291339 0.000000 -19.291339 0.000000 22.500000
- L 11579568 0.053333 0.000000 0.723334 9.685039 0.723334
- L 11579568 0.053333 7.685039 -0.723334 9.685039 -0.723334
- A 11579568 0.053333 18.568005 0.000000 -19.291339 0.000000 22.500000
- END
-TURNOUT HO "Kato Unitrack #4-L Powered Turnout 2-850"
- P "Normal" 1
- P "Reverse" 2
- E 0.000000 0.000000 270.000000
- E 7.283465 0.000000 90.000000
- E 7.049704 1.179716 71.000000
- S 0 0 0.000000 0.000000 7.283465 0.000000
- C 0 0 -21.653543 0.000000 21.653543 161.000000 19.000000
- L 11579568 0.053333 0.000000 -0.723334 7.283465 -0.723334
- A 11579568 0.053333 -20.930209 0.000000 21.653543 161.000000 19.000000
- END
-TURNOUT HO "Kato Unitrack #4-R Powered Turnout 2-851"
- P "Normal" 1
- P "Reverse" 2
- E 0.000000 0.000000 270.000000
- E 7.283465 0.000000 90.000000
- E 7.049704 -1.179716 109.000000
- S 0 0 0.000000 0.000000 7.283465 0.000000
- C 0 0 21.653543 0.000000 -21.653543 0.000000 19.000000
- L 11579568 0.053333 0.000000 0.723334 7.283465 0.723334
- A 11579568 0.053333 20.930209 0.000000 -21.653543 0.000000 19.000000
- END
-TURNOUT HO "Kato Unitrack S61L (incl w/#4 TO) "
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 2.401575 0.000000 90.000000
- S 0 0 0.000000 0.000000 2.401575 0.000000
- L 11579568 0.053333 0.000000 0.723334 2.401575 0.723334
- L 11579568 0.053333 0.000000 -0.723334 2.401575 -0.723334
- END
-TURNOUT HO "Kato Unitrack S61R (incl w/#4 TO) "
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 2.401575 0.000000 90.000000
- S 0 0 0.000000 0.000000 2.401575 0.000000
- L 11579568 0.053333 0.000000 0.723334 2.401575 0.723334
- L 11579568 0.053333 0.000000 -0.723334 2.401575 -0.723334
- END
-TURNOUT HO "Kato Unitrack S114 (incl w/#4 TO) "
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.488189 0.000000 90.000000
- S 0 0 0.000000 0.000000 4.488189 0.000000
- L 11579568 0.053333 0.000000 0.723334 4.488189 0.723334
- L 11579568 0.053333 0.000000 -0.723334 4.488189 -0.723334
- END
-TURNOUT HO "Kato Unitrack R550-3.5° (incl w/#4 TO) "
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 1.321917 -0.040388 93.500000
- C 0 0 21.653543 0.000000 -21.654000 0.000000 3.500000
- A 11579568 0.053333 20.930209 0.000000 -21.653543 0.000000 3.500000
- A 11579568 0.053333 22.376877 0.000000 -21.653543 0.000000 3.500000
- END
-TURNOUT HO "Kato Unitrack R550-15.5° (incl w/#4 TO) "
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 5.786658 -0.787530 105.500000
- C 0 0 21.653543 0.000000 -21.653543 0.000000 15.500000
- A 11579568 0.053333 20.930209 0.000000 -21.653543 0.000000 15.500000
- A 11579568 0.053333 22.376877 0.000000 -21.653543 0.000000 15.500000
- END
-TURNOUT HO "Kato Unitrack R550-3.5+15.5° (incl w/#4 TO) "
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 7.049704 -1.179716 109.000000
- C 0 0 21.653543 0.000000 -21.653543 0.000000 19.000000
- A 11579568 0.053333 20.930209 0.000000 -21.653543 0.000000 19.000000
- A 11579568 0.053333 22.376877 0.000000 -21.653543 0.000000 19.000000
- END
-TURNOUT HO "Kato Unitrack #4 Single Slip Turnout 3-113"
- P "Normal" 1 2 0 3 4
- P "Reverse" 1 5 6 7 4
- E 0.000000 0.000000 270.000000
- E 14.173228 0.000000 90.000000
- E 0.000000 2.362205 270.000000
- E 14.173228 2.362205 90.000000
- S 0 0.000000 0.000000 0.000000 1.089381 0.000000
- S 0 0.000000 1.089381 0.000000 14.173228 0.000000
- S 0 0.000000 0.000000 2.362205 13.083847 2.362205
- S 0 0.000000 13.083847 2.362205 14.173228 2.362205
- C 0 0.000000 -15.637979 1.089402 15.637979 159.848175 20.151901
- S 0 0.000000 6.476821 0.957315 7.696407 1.404890
- C 0 0.000000 15.637979 13.083866 -13.275767 339.848175 20.151901
- L 11579568 0.053333 -0.000000 -0.723334 14.173226 -0.723317
- L 11579568 0.053333 0.000000 0.723334 1.089381 0.723335
- L 11579568 0.053333 8.040175 0.723343 14.173228 0.723351
- L 11579568 0.053333 -0.000002 1.638871 6.133051 1.638879
- L 11579568 0.053333 0.000000 3.085539 14.173228 3.085540
- L 11579568 0.053333 13.083845 1.638871 14.173226 1.638872
- A 11579568 0.053333 14.914645 1.089402 15.637979 159.848175 20.151901
- A 11579568 0.053333 14.914645 13.083866 -13.275767 339.848175 20.151901
-END
-TURNOUT HO "Kato Unitrack Straight 114mm(incl w/ #4 Slip) 3-113B"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.488189 0.000000 90.000000
- S 0 0 0.000000 0.000000 4.488189 0.000000
- L 11579568 0.053333 0.000000 0.723334 4.488189 0.723334
- L 11579568 0.053333 0.000000 -0.723334 4.488189 -0.723334
-END
-TURNOUT HO "Kato Unitrack Straight 246mm(incl w/ #4 Slip) 3-113C"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 9.685039 0.000000 90.000000
- S 0 0 0.000000 0.000000 9.685039 0.000000
- L 11579568 0.053333 0.000000 0.723334 9.685039 0.723334
- L 11579568 0.053333 0.000000 -0.723334 9.685039 -0.723334
-END
-
-###############################################################################
-###############################################################################
-SUBCONTENTS Kato Unitrack HO-Scale #6 Turnouts
-TURNOUT HO "Kato Unitrack #6-L Powered Turnout 2-860"
- P "Normal" 1
- P "Reverse" 2 3
- E 0.000000 0.000000 270.000000
- E 9.803150 0.000000 90.000000
- E 9.685039 1.181102 80.000000
- S 0 0.000000 0.000000 0.000000 9.803150 0.000000
- C 0 0.000000 -34.133858 0.000000 34.133858 170.000000 10.000000
- S 0 0.000000 5.927282 0.518570 9.803150 1.181102
- L 11579568 0.053333 0.000000 -0.723334 9.803150 -0.723334
- A 11579568 0.053333 -33.410524 0.000000 34.133858 170.000000 10.000000
- L 11579568 0.053333 5.801677 1.230915 9.560039 1.903665
- END
-TURNOUT HO "Kato Unitrack #6-R Powered Turnout 2-861"
- P "Normal" 1
- P "Reverse" 2 3
- E 0.000000 0.000000 270.000000
- E 9.803150 0.000000 90.000000
- E 9.685039 -1.181102 100.000000
- S 0 0.000000 0.000000 0.000000 9.803150 0.000000
- C 0 0.000000 34.133858 0.000000 -34.133858 0.000000 10.000000
- S 0 0.000000 5.927282 -0.518570 9.803150 -1.181102
- L 11579568 0.053333 0.000000 0.723334 9.803150 0.723334
- A 11579568 0.053333 33.410524 0.000000 -34.133858 0.000000 10.000000
- L 11579568 0.053333 5.801677 -1.230915 9.560039 -1.903665
- END
-TURNOUT HO "Kato Unitrack S97 (incl w/ #6 TO) "
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 3.818898 0.000000 90.000000
- S 0 0 0.000000 0.000000 3.818898 0.000000
- L 11579568 0.053333 0.000000 0.723334 3.818898 0.723334
- L 11579568 0.053333 0.000000 -0.723334 3.818898 -0.723334
- END
-TURNOUT HO "Kato Unitrack S94 (incl w/ #6 TO) "
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 3.700787 0.000000 90.000000
- S 0 0 0.000000 0.000000 3.700787 0.000000
- L 11579568 0.053333 0.000000 0.723334 3.700787 0.723334
- L 11579568 0.053333 0.000000 -0.723334 3.700787 -0.723334
- END
-TURNOUT HO "Kato Unitrack S149 (incl w/ #6 TO) "
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 5.866142 0.000000 90.000000
- S 0 0 0.000000 0.000000 5.866142 0.000000
- L 11579568 0.053333 0.000000 0.723334 5.866142 0.723334
- L 11579568 0.053333 0.000000 -0.723334 5.866142 -0.723334
- END
-TURNOUT HO "Kato Unitrack R867-10° (incl w/ #6 TO) "
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 5.927282 -0.518570 100.000000
- C 0 0 34.134000 0.000000 -34.134000 0.000000 10.000000
- A 11579568 0.053333 33.410666 0.000000 -34.134000 0.000000 10.000000
- A 11579568 0.053333 34.857334 0.000000 -34.134000 0.000000 10.000000
- END
-TURNOUT HO "Kato Unitrack #6-L Man Turnout 2-862"
- P "Normal" 1
- P "Reverse" 2 3
- E 0.000000 0.000000 270.000000
- E 9.803150 0.000000 90.000000
- E 9.685039 1.181102 80.000000
- S 0 0.000000 0.000000 0.000000 9.803150 0.000000
- C 0 0.000000 -34.133858 0.000000 34.133858 170.000000 10.000000
- S 0 0.000000 5.927282 0.518570 9.803150 1.181102
- L 11579568 0.053333 0.000000 -0.723334 9.803150 -0.723334
- A 11579568 0.053333 -33.410524 0.000000 34.133858 170.000000 10.000000
- L 11579568 0.053333 5.801677 1.230915 9.560039 1.903665
-END
-TURNOUT HO "Kato Unitrack #6-R Man Turnout 2-863"
- P "Normal" 1
- P "Reverse" 2 3
- E 0.000000 0.000000 270.000000
- E 9.803150 0.000000 90.000000
- E 9.685039 -1.181102 100.000000
- S 0 0.000000 0.000000 0.000000 9.803150 0.000000
- C 0 0.000000 34.133858 0.000000 -34.133858 0.000000 10.000000
- S 0 0.000000 5.927282 -0.518570 9.803150 -1.181102
- L 11579568 0.053333 0.000000 0.723334 9.803150 0.723334
- A 11579568 0.053333 33.410524 0.000000 -34.133858 0.000000 10.000000
- L 11579568 0.053333 5.801677 -1.230915 9.560039 -1.903665
-END
-TURNOUT HO "Kato Unitrack #6 Single Slip Turnout 3-114"
- P "Normal" 1 2 0 3 4
- P "Reverse" 1 5 6 7 4
- E 0.000000 0.000000 270.000000
- E 19.370079 0.000000 90.000000
- E 0.000000 2.362205 270.000000
- E 19.370079 2.362205 90.000000
- S 0 0.000000 0.000000 0.000000 1.147461 0.000000
- S 0 0.000000 1.147461 0.000000 19.370079 0.000000
- S 0 0.000000 0.000000 2.362205 18.222618 2.362205
- S 0 0.000000 18.222618 2.362205 19.370079 2.362205
- C 0 0.000000 -31.269120 1.147502 31.269120 165.348561 14.651515
- S 0 0.000000 9.056644 1.016803 10.313435 1.345402
- C 0 0.000000 31.269120 18.222658 -28.906905 345.348561 14.651515
- L 11579568 0.053333 -0.000002 -0.723334 19.370077 -0.723310
- L 11579568 0.053333 0.000000 0.723334 1.147461 0.723336
- L 11579568 0.053333 10.828227 0.723347 19.370079 0.723358
- L 11579568 0.053333 -0.000002 1.638871 8.541850 1.638882
- L 11579568 0.053333 0.000000 3.085539 19.370079 3.085541
- L 11579568 0.053333 18.222616 1.638871 19.370077 1.638873
- A 11579568 0.053333 30.545786 1.147502 31.269120 165.806421 14.193655
- A 11579568 0.053333 30.545786 18.222658 -28.906905 345.806421 14.193655
-END
-
-###############################################################################
-###############################################################################
-SUBCONTENTS Kato Unitrack HO-Scale Misc Tracks
-TURNOUT HO "Kato Unitrack Feeder 9 3/4 246mm 2-151"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 9.685039 0.000000 90.000000
- S 0 0 0.000000 0.000000 9.685039 0.000000
- L 11579568 0.053333 0.000000 0.723334 9.685039 0.723334
- L 11579568 0.053333 0.000000 -0.723334 9.685039 -0.723334
-END
-TURNOUT HO "Kato Unitrack Bumper 4 1/4 109mm 2-170"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- S 0 0 0.000000 0.000000 3.291339 0.000000
- L 11579568 0.053333 0.000000 0.723334 4.291339 0.723334
- L 11579568 0.053333 0.000000 -0.723334 4.291339 -0.723334
- L 11579568 0.053333 4.291339 0.723334 4.291339 -0.723334
-END
-TURNOUT HO "Kato Unitrack Crossing 2 3/8 60mm 90° 2-401"
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 2.362205 0.000000 90.000000
- E 1.181025 1.181025 0.000000
- E 1.181025 -1.181025 180.000000
- S 0 0 0.000000 0.000000 2.362205 0.000000
- S 0 0 1.181025 1.181025 1.181025 -1.181025
- L 11579568 0.053333 0.000000 0.723334 0.457769 0.723334
- L 11579568 0.053333 0.000000 -0.723334 0.457769 -0.723334
- L 11579568 0.053333 1.904437 0.723334 2.362205 0.723334
- L 11579568 0.053333 1.904437 -0.723334 2.362205 -0.723334
- L 11579568 0.053333 0.457769 1.181025 0.457769 0.723334
- L 11579568 0.053333 1.904437 1.181025 1.904437 0.723334
- L 11579568 0.053333 0.457769 -0.723334 0.457769 -1.181025
- L 11579568 0.053333 1.904437 -0.723334 1.904437 -1.181025
-END
-TURNOUT HO "Kato Unitrack RoadCrossing+Rerailer 4 7/8 123mm 2-142"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.842520 0.000000 90.000000
- S 0 0 0.000000 0.000000 4.842520 0.000000
- L 11579568 0.053333 0.000000 0.723334 4.842520 0.723334
- L 11579568 0.053333 0.000000 -0.723334 4.842520 -0.723334
- F 12632256 0.000000 4
- 0.000000 0.723334 0
- 0.500000 1.123334 0
- 4.342520 1.123334 0
- 4.842520 0.723334 0
- F 12632256 0.000000 4
- 0.000000 -0.723334 0
- 0.500000 -1.123334 0
- 4.342520 -1.123334 0
- 4.842520 -0.723334 0
-END
-TURNOUT HO "Kato Unitrack Uncoupler Track 4 7/8 123mm 2-143"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.842520 0.000000 90.000000
- S 0 0 0.000000 0.000000 4.842520 0.000000
- L 11579568 0.053333 0.000000 0.723334 4.842520 0.723334
- L 11579568 0.053333 0.000000 -0.723334 4.842520 -0.723334
- L 0 0.53333 1.000000 0.000000 3.842520 0.000000
-END
-TURNOUT HO "Kato Unitrack 3-Lamp Automatic Signal 4 7/8 123mm 2-601"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.842520 0.000000 90.000000
- S 0 0 0.000000 0.000000 4.842520 0.000000
- L 11579568 0.053333 0.000000 0.723334 4.842520 0.723334
- L 11579568 0.053333 0.000000 -0.723334 4.842520 -0.723334
- F 12632256 0.000000 4
- 1.929134 0.723334 0
- 1.929134 1.707586 0
- 2.913386 1.707586 0
- 2.913386 0.723334 0
- G 0 0.053333 0.200000 2.421260 1.215460 0
-END
+CONTENTS Kato Unitrack HO Scale
+SUBCONTENTS Kato Unitrack HO-Scale Straight Track
+TURNOUT HO "Kato Unitrack Straight 2 3/8 60mm 2-105"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.362205 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.362205 0.000000
+ L 11579568 0.053333 0.000000 0.723334 2.362205 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 2.362205 -0.723334
+ END
+TURNOUT HO "Kato Unitrack Straight 3 11/16 94mm 2-111"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.700787 0.000000 90.000000
+ S 0 0 0.000000 0.000000 3.700787 0.000000
+ L 11579568 0.053333 0.000000 0.723334 3.700787 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 3.700787 -0.723334
+ END
+TURNOUT HO "Kato Unitrack Straight 4 1/2 114mm 2-120"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.488189 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.488189 0.000000
+ L 11579568 0.053333 0.000000 0.723334 4.488189 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 4.488189 -0.723334
+ END
+TURNOUT HO "Kato Unitrack Straight 4 7/8 123mm 2-140"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.842520 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.842520 0.000000
+ L 11579568 0.053333 0.000000 0.723334 4.842520 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 4.842520 -0.723334
+ END
+TURNOUT HO "Kato Unitrack Straight 6 7/8 174mm 2-130"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 6.850394 0.000000 90.000000
+ S 0 0 0.000000 0.000000 6.850394 0.000000
+ L 11579568 0.053333 0.000000 0.723334 6.850394 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 6.850394 -0.723334
+ END
+TURNOUT HO "Kato Unitrack Straight 9 3/4 246mm 2-150"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.685039 0.000000 90.000000
+ S 0 0 0.000000 0.000000 9.685039 0.000000
+ L 11579568 0.053333 0.000000 0.723334 9.685039 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 9.685039 -0.723334
+ END
+TURNOUT HO "Kato Unitrack Straight 8 15/16 227mm 2-160"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 8.937008 0.000000 90.000000
+ S 0 0 0.000000 0.000000 8.937008 0.000000
+ L 11579568 0.053333 0.000000 0.723334 8.937008 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 8.937008 -0.723334
+ END
+TURNOUT HO "Kato Unitrack Straight 14 1/2 369mm 2-180"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 14.527559 0.000000 90.000000
+ S 0 0 0.000000 0.000000 14.527559 0.000000
+ L 11579568 0.053333 0.000000 0.723334 14.527559 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 14.527559 -0.723334
+ END
+TURNOUT HO "Kato Unitrack Straight 5 7/8 149mm 2-193"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.826772 0.000000 90.000000
+ S 0 0 0.000000 0.000000 5.826772 0.000000
+ L 11579568 0.053333 0.000000 0.723334 5.826772 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 5.826772 -0.723334
+ END
+
+###############################################################################
+###############################################################################
+SUBCONTENTS Kato Unitrack HO-Scale Concrete-Tie Straight Track
+TURNOUT HO "Kato Unitrack Concrete-Tie Straight 4 7/8 123mm 2-141"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.842520 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.842520 0.000000
+ L 11579568 0.053333 0.000000 0.723334 4.842520 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 4.842520 -0.723334
+ END
+TURNOUT HO "Kato Unitrack Concrete-Tie Straight 9 3/4 246mm 2-152"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.685039 0.000000 90.000000
+ S 0 0 0.000000 0.000000 9.685039 0.000000
+ L 11579568 0.053333 0.000000 0.723334 9.685039 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 9.685039 -0.723334
+ END
+TURNOUT HO "Kato Unitrack Concrete-Tie Feeder Trk 9 3/4 246mm 2-153"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.685039 0.000000 90.000000
+ S 0 0 0.000000 0.000000 9.685039 0.000000
+ L 11579568 0.053333 0.000000 0.723334 9.685039 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 9.685039 -0.723334
+ END
+TURNOUT HO "Kato Unitrack Concrete-Tie Straight 14 1/2 369mm 2-181"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 14.527559 0.000000 90.000000
+ S 0 0 0.000000 0.000000 14.527559 0.000000
+ L 11579568 0.053333 0.000000 0.723334 14.527559 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 14.527559 -0.723334
+ END
+
+###############################################################################
+###############################################################################
+SUBCONTENTS Kato Unitrack HO-Scale Curve Track
+TURNOUT HO "Kato Unitrack Curved R21 5/8 550mm 22.5 2-210"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 8.286452 -1.648278 112.500000
+ C 0 0 21.653543 0.000000 -21.653543 0.000000 22.500000
+ A 11579568 0.053333 20.930209 0.000000 -21.653543 0.000000 22.500000
+ A 11579568 0.053333 22.376877 0.000000 -21.653543 0.000000 22.500000
+ END
+TURNOUT HO "Kato Unitrack Curved R24 610mm 22.5 2-220"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.190429 -1.828090 112.500000
+ C 0 0 24.015748 0.000000 -24.015748 0.000000 22.500000
+ A 11579568 0.053333 23.292414 0.000000 -24.015748 0.000000 22.500000
+ A 11579568 0.053333 24.739082 0.000000 -24.015748 0.000000 22.500000
+ END
+TURNOUT HO "Kato Unitrack Curved R26 3/8 670mm 22.5 2-230"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.094406 -2.007902 112.500000
+ C 0 0 26.377953 0.000000 -26.377953 0.000000 22.500000
+ A 11579568 0.053333 25.654619 0.000000 -26.377953 0.000000 22.500000
+ A 11579568 0.053333 27.101287 0.000000 -26.377953 0.000000 22.500000
+ END
+TURNOUT HO "Kato Unitrack Curved 28 3/4 730mm 22.5 2-240"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.998382 -2.187714 112.500000
+ C 0 0 28.740157 0.000000 -28.740157 0.000000 22.500000
+ A 11579568 0.053333 28.016823 0.000000 -28.740157 0.000000 22.500000
+ A 11579568 0.053333 29.463491 0.000000 -28.740157 0.000000 22.500000
+ END
+TURNOUT HO "Kato Unitrack Curved 31 1/8 790mm 22.5 2-250"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 11.902359 -2.367526 112.500000
+ C 0 0 31.102362 0.000000 -31.102362 0.000000 22.500000
+ A 11579568 0.053333 30.379028 0.000000 -31.102362 0.000000 22.500000
+ A 11579568 0.053333 31.825696 0.000000 -31.102362 0.000000 22.500000
+ END
+TURNOUT HO "Kato Unitrack Curved R16 7/8 430mm 22.5 2-260"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 6.478499 -1.288654 112.500000
+ C 0 0 16.929134 0.000000 -16.929134 0.000000 22.500000
+ A 11579568 0.053333 16.205800 0.000000 -16.929134 0.000000 22.500000
+ A 11579568 0.053333 17.652468 0.000000 -16.929134 0.000000 22.500000
+ END
+TURNOUT HO "Kato Unitrack Curved R19 1/4 490mm 22.5 2-270"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 7.382476 -1.468466 112.500000
+ C 0 0 19.291339 0.000000 -19.291339 0.000000 22.500000
+ A 11579568 0.053333 18.568005 0.000000 -19.291339 0.000000 22.500000
+ A 11579568 0.053333 20.014673 0.000000 -19.291339 0.000000 22.500000
+ END
+TURNOUT HO "Kato Unitrack Curved R34 1/8 867mm 22.5 2-290"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.927282 -0.518570 100.000000
+ C 0 0 34.133858 0.000000 -34.133858 0.000000 10.000000
+ A 11579568 0.053333 33.410524 0.000000 -34.133858 0.000000 10.000000
+ A 11579568 0.053333 34.857192 0.000000 -34.133858 0.000000 10.000000
+ END
+
+###############################################################################
+###############################################################################
+SUBCONTENTS Kato Unitrack HO-Scale Superelevated Concrete-Tie Curve Track
+TURNOUT HO "Kato Unitrack Superelevated CT Curved 28 3/4 730mm 22.5 2-241"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.998382 -2.187714 112.500000
+ C 0 0 28.740157 0.000000 -28.740157 0.000000 22.500000
+ A 11579568 0.053333 28.016823 0.000000 -28.740157 0.000000 22.500000
+ A 11579568 0.053333 29.463491 0.000000 -28.740157 0.000000 22.500000
+ END
+TURNOUT HO "Kato Unitrack Superelevated CT Easement Curved (L) 28 3/4 730mm 22.5 2-242 Left"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.998382 -2.187714 112.500000
+ C 0 0 28.740157 0.000000 -28.740157 0.000000 22.500000
+ A 11579568 0.053333 28.016823 0.000000 -28.740157 0.000000 22.500000
+ A 11579568 0.053333 29.463491 0.000000 -28.740157 0.000000 22.500000
+ END
+TURNOUT HO "Kato Unitrack Superelevated CT Easement Curved (R) 28 3/4 730mm 22.5 2-242 Right"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.998382 -2.187714 112.500000
+ C 0 0 28.740157 0.000000 -28.740157 0.000000 22.500000
+ A 11579568 0.053333 28.016823 0.000000 -28.740157 0.000000 22.500000
+ A 11579568 0.053333 29.463491 0.000000 -28.740157 0.000000 22.500000
+ END
+TURNOUT HO "Kato Unitrack Superelevated CT Curved 31 1/8 790mm 22.5 2-251"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 11.902359 -2.367526 112.500000
+ C 0 0 31.102362 0.000000 -31.102362 0.000000 22.500000
+ A 11579568 0.053333 30.379028 0.000000 -31.102362 0.000000 22.500000
+ A 11579568 0.053333 31.825696 0.000000 -31.102362 0.000000 22.500000
+ END
+TURNOUT HO "Kato Unitrack Superelevated CT Curved (L) 31 1/8 790mm 22.5 2-252 Left"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 11.902359 -2.367526 112.500000
+ C 0 0 31.102362 0.000000 -31.102362 0.000000 22.500000
+ A 11579568 0.053333 30.379028 0.000000 -31.102362 0.000000 22.500000
+ A 11579568 0.053333 31.825696 0.000000 -31.102362 0.000000 22.500000
+ END
+TURNOUT HO "Kato Unitrack Superelevated CT Curved (R) 31 1/8 790mm 22.5 2-252 Right"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 11.902359 -2.367526 112.500000
+ C 0 0 31.102362 0.000000 -31.102362 0.000000 22.500000
+ A 11579568 0.053333 30.379028 0.000000 -31.102362 0.000000 22.500000
+ A 11579568 0.053333 31.825696 0.000000 -31.102362 0.000000 22.500000
+ END
+
+###############################################################################
+###############################################################################
+SUBCONTENTS Kato Unitrack HO-Scale #4 Turnouts
+TURNOUT HO "Kato Unitrack #4-L Man Turnout 2-840"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 9.685039 0.000000 90.000000
+ E 7.382476 1.468466 67.500000
+ S 0 0 0.000000 0.000000 9.685039 0.000000
+ C 0 0 -19.291339 0.000000 19.291339 157.500000 22.500000
+ L 11579568 0.053333 0.000000 -0.723334 9.685039 -0.723334
+ L 11579568 0.053333 7.685039 0.723334 9.685039 0.723334
+ A 11579568 0.053333 -18.568005 0.000000 19.291339 157.500000 22.500000
+ END
+TURNOUT HO "Kato Unitrack #4-R Man Turnout 2-841"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 9.685039 0.000000 90.000000
+ E 7.382476 -1.468466 112.500000
+ S 0 0 0.000000 0.000000 9.685039 0.000000
+ C 0 0 19.291339 0.000000 -19.291339 0.000000 22.500000
+ L 11579568 0.053333 0.000000 0.723334 9.685039 0.723334
+ L 11579568 0.053333 7.685039 -0.723334 9.685039 -0.723334
+ A 11579568 0.053333 18.568005 0.000000 -19.291339 0.000000 22.500000
+ END
+TURNOUT HO "Kato Unitrack #4-L Powered Turnout 2-850"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 7.283465 0.000000 90.000000
+ E 7.049704 1.179716 71.000000
+ S 0 0 0.000000 0.000000 7.283465 0.000000
+ C 0 0 -21.653543 0.000000 21.653543 161.000000 19.000000
+ L 11579568 0.053333 0.000000 -0.723334 7.283465 -0.723334
+ A 11579568 0.053333 -20.930209 0.000000 21.653543 161.000000 19.000000
+ END
+TURNOUT HO "Kato Unitrack #4-R Powered Turnout 2-851"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 7.283465 0.000000 90.000000
+ E 7.049704 -1.179716 109.000000
+ S 0 0 0.000000 0.000000 7.283465 0.000000
+ C 0 0 21.653543 0.000000 -21.653543 0.000000 19.000000
+ L 11579568 0.053333 0.000000 0.723334 7.283465 0.723334
+ A 11579568 0.053333 20.930209 0.000000 -21.653543 0.000000 19.000000
+ END
+TURNOUT HO "Kato Unitrack S61L (incl w/#4 TO) "
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.401575 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.401575 0.000000
+ L 11579568 0.053333 0.000000 0.723334 2.401575 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 2.401575 -0.723334
+ END
+TURNOUT HO "Kato Unitrack S61R (incl w/#4 TO) "
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.401575 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.401575 0.000000
+ L 11579568 0.053333 0.000000 0.723334 2.401575 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 2.401575 -0.723334
+ END
+TURNOUT HO "Kato Unitrack S114 (incl w/#4 TO) "
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.488189 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.488189 0.000000
+ L 11579568 0.053333 0.000000 0.723334 4.488189 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 4.488189 -0.723334
+ END
+TURNOUT HO "Kato Unitrack R550-3.5 (incl w/#4 TO) "
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.321917 -0.040388 93.500000
+ C 0 0 21.653543 0.000000 -21.654000 0.000000 3.500000
+ A 11579568 0.053333 20.930209 0.000000 -21.653543 0.000000 3.500000
+ A 11579568 0.053333 22.376877 0.000000 -21.653543 0.000000 3.500000
+ END
+TURNOUT HO "Kato Unitrack R550-15.5 (incl w/#4 TO) "
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.786658 -0.787530 105.500000
+ C 0 0 21.653543 0.000000 -21.653543 0.000000 15.500000
+ A 11579568 0.053333 20.930209 0.000000 -21.653543 0.000000 15.500000
+ A 11579568 0.053333 22.376877 0.000000 -21.653543 0.000000 15.500000
+ END
+TURNOUT HO "Kato Unitrack R550-3.5+15.5 (incl w/#4 TO) "
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 7.049704 -1.179716 109.000000
+ C 0 0 21.653543 0.000000 -21.653543 0.000000 19.000000
+ A 11579568 0.053333 20.930209 0.000000 -21.653543 0.000000 19.000000
+ A 11579568 0.053333 22.376877 0.000000 -21.653543 0.000000 19.000000
+ END
+TURNOUT HO "Kato Unitrack #4 Single LH Crossover Turnout 3-113"
+ P "Normal" 1 2 0 3 4
+ P "Reverse" 1 5 6 7 4
+ E 0.000000 0.000000 270.000000
+ E 14.173228 0.000000 90.000000
+ E 0.000000 2.362205 270.000000
+ E 14.173228 2.362205 90.000000
+ S 0 0.000000 0.000000 0.000000 1.089381 0.000000
+ S 0 0.000000 1.089381 0.000000 14.173228 0.000000
+ S 0 0.000000 0.000000 2.362205 13.083847 2.362205
+ S 0 0.000000 13.083847 2.362205 14.173228 2.362205
+ C 0 0.000000 -15.637979 1.089402 15.637979 159.848175 20.151901
+ S 0 0.000000 6.476821 0.957315 7.696407 1.404890
+ C 0 0.000000 15.637979 13.083866 -13.275767 339.848175 20.151901
+ L 11579568 0.053333 -0.000000 -0.723334 14.173226 -0.723317
+ L 11579568 0.053333 0.000000 0.723334 1.089381 0.723335
+ L 11579568 0.053333 8.040175 0.723343 14.173228 0.723351
+ L 11579568 0.053333 -0.000002 1.638871 6.133051 1.638879
+ L 11579568 0.053333 0.000000 3.085539 14.173228 3.085540
+ L 11579568 0.053333 13.083845 1.638871 14.173226 1.638872
+ A 11579568 0.053333 14.914645 1.089402 15.637979 159.848175 20.151901
+ A 11579568 0.053333 14.914645 13.083866 -13.275767 339.848175 20.151901
+END
+TURNOUT HO "Kato Unitrack Straight 114mm(incl w/ #4 Slip) 3-113B"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.488189 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.488189 0.000000
+ L 11579568 0.053333 0.000000 0.723334 4.488189 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 4.488189 -0.723334
+END
+TURNOUT HO "Kato Unitrack Straight 246mm(incl w/ #4 Slip) 3-113C"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.685039 0.000000 90.000000
+ S 0 0 0.000000 0.000000 9.685039 0.000000
+ L 11579568 0.053333 0.000000 0.723334 9.685039 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 9.685039 -0.723334
+END
+
+###############################################################################
+###############################################################################
+SUBCONTENTS Kato Unitrack HO-Scale #6 Turnouts
+TURNOUT HO "Kato Unitrack #6-L Powered Turnout 2-860"
+ P "Normal" 1
+ P "Reverse" 2 3
+ E 0.000000 0.000000 270.000000
+ E 9.803150 0.000000 90.000000
+ E 9.803150 1.181102 80.000000
+ S 0 0.000000 0.000000 0.000000 9.803150 0.000000
+ C 0 0.000000 -34.133858 0.000000 34.133858 170.000000 10.000000
+ S 0 0.000000 5.927282 0.518570 9.803150 1.181102
+ L 11579568 0.053333 0.000000 -0.723334 9.803150 -0.723334
+ A 11579568 0.053333 -33.410524 0.000000 34.133858 170.000000 10.000000
+ L 11579568 0.053333 5.801677 1.230915 9.560039 1.903665
+ END
+TURNOUT HO "Kato Unitrack #6-R Powered Turnout 2-861"
+ P "Normal" 1
+ P "Reverse" 2 3
+ E 0.000000 0.000000 270.000000
+ E 9.803150 0.000000 90.000000
+ E 9.803150 -1.181102 100.000000
+ S 0 0.000000 0.000000 0.000000 9.803150 0.000000
+ C 0 0.000000 34.133858 0.000000 -34.133858 0.000000 10.000000
+ S 0 0.000000 5.927282 -0.518570 9.803150 -1.181102
+ L 11579568 0.053333 0.000000 0.723334 9.803150 0.723334
+ A 11579568 0.053333 33.410524 0.000000 -34.133858 0.000000 10.000000
+ L 11579568 0.053333 5.801677 -1.230915 9.560039 -1.903665
+ END
+TURNOUT HO "Kato Unitrack S97 (incl w/ #6 TO) "
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.818898 0.000000 90.000000
+ S 0 0 0.000000 0.000000 3.818898 0.000000
+ L 11579568 0.053333 0.000000 0.723334 3.818898 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 3.818898 -0.723334
+ END
+TURNOUT HO "Kato Unitrack S94 (incl w/ #6 TO) "
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.700787 0.000000 90.000000
+ S 0 0 0.000000 0.000000 3.700787 0.000000
+ L 11579568 0.053333 0.000000 0.723334 3.700787 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 3.700787 -0.723334
+ END
+TURNOUT HO "Kato Unitrack S149 (incl w/ #6 TO) "
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.866142 0.000000 90.000000
+ S 0 0 0.000000 0.000000 5.866142 0.000000
+ L 11579568 0.053333 0.000000 0.723334 5.866142 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 5.866142 -0.723334
+ END
+TURNOUT HO "Kato Unitrack R867-10 (incl w/ #6 TO) "
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.927282 -0.518570 100.000000
+ C 0 0 34.134000 0.000000 -34.134000 0.000000 10.000000
+ A 11579568 0.053333 33.410666 0.000000 -34.134000 0.000000 10.000000
+ A 11579568 0.053333 34.857334 0.000000 -34.134000 0.000000 10.000000
+ END
+TURNOUT HO "Kato Unitrack #6-L Man Turnout 2-862"
+ P "Normal" 1
+ P "Reverse" 2 3
+ E 0.000000 0.000000 270.000000
+ E 9.803150 0.000000 90.000000
+ E 9.803150 1.181102 80.000000
+ S 0 0.000000 0.000000 0.000000 9.803150 0.000000
+ C 0 0.000000 -34.133858 0.000000 34.133858 170.000000 10.000000
+ S 0 0.000000 5.927282 0.518570 9.803150 1.181102
+ L 11579568 0.053333 0.000000 -0.723334 9.803150 -0.723334
+ A 11579568 0.053333 -33.410524 0.000000 34.133858 170.000000 10.000000
+ L 11579568 0.053333 5.801677 1.230915 9.560039 1.903665
+END
+TURNOUT HO "Kato Unitrack #6-R Man Turnout 2-863"
+ P "Normal" 1
+ P "Reverse" 2 3
+ E 0.000000 0.000000 270.000000
+ E 9.803150 0.000000 90.000000
+ E 9.803150 -1.181102 100.000000
+ S 0 0.000000 0.000000 0.000000 9.803150 0.000000
+ C 0 0.000000 34.133858 0.000000 -34.133858 0.000000 10.000000
+ S 0 0.000000 5.927282 -0.518570 9.803150 -1.181102
+ L 11579568 0.053333 0.000000 0.723334 9.803150 0.723334
+ A 11579568 0.053333 33.410524 0.000000 -34.133858 0.000000 10.000000
+ L 11579568 0.053333 5.801677 -1.230915 9.560039 -1.903665
+END
+TURNOUT HO "Kato Unitrack #6 Single LH Crossover Turnout 3-114"
+ P "Normal" 1 2 0 3 4
+ P "Reverse" 1 5 6 7 4
+ E 0.000000 0.000000 270.000000
+ E 19.370079 0.000000 90.000000
+ E 0.000000 2.362205 270.000000
+ E 19.370079 2.362205 90.000000
+ S 0 0.000000 0.000000 0.000000 1.147461 0.000000
+ S 0 0.000000 1.147461 0.000000 19.370079 0.000000
+ S 0 0.000000 0.000000 2.362205 18.222618 2.362205
+ S 0 0.000000 18.222618 2.362205 19.370079 2.362205
+ C 0 0.000000 -31.269120 1.147502 31.269120 165.348561 14.651515
+ S 0 0.000000 9.056644 1.016803 10.313435 1.345402
+ C 0 0.000000 31.269120 18.222658 -28.906905 345.348561 14.651515
+ L 11579568 0.053333 -0.000002 -0.723334 19.370077 -0.723310
+ L 11579568 0.053333 0.000000 0.723334 1.147461 0.723336
+ L 11579568 0.053333 10.828227 0.723347 19.370079 0.723358
+ L 11579568 0.053333 -0.000002 1.638871 8.541850 1.638882
+ L 11579568 0.053333 0.000000 3.085539 19.370079 3.085541
+ L 11579568 0.053333 18.222616 1.638871 19.370077 1.638873
+ A 11579568 0.053333 30.545786 1.147502 31.269120 165.806421 14.193655
+ A 11579568 0.053333 30.545786 18.222658 -28.906905 345.806421 14.193655
+END
+
+###############################################################################
+###############################################################################
+SUBCONTENTS Kato Unitrack HO-Scale Misc Tracks
+TURNOUT HO "Kato Unitrack Feeder 9 3/4 246mm 2-151"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.685039 0.000000 90.000000
+ S 0 0 0.000000 0.000000 9.685039 0.000000
+ L 11579568 0.053333 0.000000 0.723334 9.685039 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 9.685039 -0.723334
+END
+TURNOUT HO "Kato Unitrack Bumper 4 1/4 109mm 2-170"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ S 0 0 0.000000 0.000000 3.291339 0.000000
+ L 11579568 0.053333 0.000000 0.723334 4.291339 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 4.291339 -0.723334
+ L 11579568 0.053333 4.291339 0.723334 4.291339 -0.723334
+END
+TURNOUT HO "Kato Unitrack Crossing 2 3/8 60mm 90 2-401"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 2.362205 0.000000 90.000000
+ E 1.181025 1.181025 0.000000
+ E 1.181025 -1.181025 180.000000
+ S 0 0 0.000000 0.000000 2.362205 0.000000
+ S 0 0 1.181025 1.181025 1.181025 -1.181025
+ L 11579568 0.053333 0.000000 0.723334 0.457769 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 0.457769 -0.723334
+ L 11579568 0.053333 1.904437 0.723334 2.362205 0.723334
+ L 11579568 0.053333 1.904437 -0.723334 2.362205 -0.723334
+ L 11579568 0.053333 0.457769 1.181025 0.457769 0.723334
+ L 11579568 0.053333 1.904437 1.181025 1.904437 0.723334
+ L 11579568 0.053333 0.457769 -0.723334 0.457769 -1.181025
+ L 11579568 0.053333 1.904437 -0.723334 1.904437 -1.181025
+END
+TURNOUT HO "Kato Unitrack RoadCrossing+Rerailer 4 7/8 123mm 2-142"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.842520 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.842520 0.000000
+ L 11579568 0.053333 0.000000 0.723334 4.842520 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 4.842520 -0.723334
+ F 12632256 0.000000 4
+ 0.000000 0.723334 0
+ 0.500000 1.123334 0
+ 4.342520 1.123334 0
+ 4.842520 0.723334 0
+ F 12632256 0.000000 4
+ 0.000000 -0.723334 0
+ 0.500000 -1.123334 0
+ 4.342520 -1.123334 0
+ 4.842520 -0.723334 0
+END
+TURNOUT HO "Kato Unitrack Uncoupler Track 4 7/8 123mm 2-143"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.842520 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.842520 0.000000
+ L 11579568 0.053333 0.000000 0.723334 4.842520 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 4.842520 -0.723334
+ L 0 0.53333 1.000000 0.000000 3.842520 0.000000
+END
+TURNOUT HO "Kato Unitrack 3-Lamp Automatic Signal 4 7/8 123mm 2-601"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.842520 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.842520 0.000000
+ L 11579568 0.053333 0.000000 0.723334 4.842520 0.723334
+ L 11579568 0.053333 0.000000 -0.723334 4.842520 -0.723334
+ F 12632256 0.000000 4
+ 1.929134 0.723334 0
+ 1.929134 1.707586 0
+ 2.913386 1.707586 0
+ 2.913386 0.723334 0
+ G 0 0.053333 0.200000 2.421260 1.215460 0
+END
diff --git a/app/lib/params/HO-Marklin C-Track.xtp b/app/lib/params/HO-Marklin C-Track.xtp
index 9f8be72..3fbb566 100644
--- a/app/lib/params/HO-Marklin C-Track.xtp
+++ b/app/lib/params/HO-Marklin C-Track.xtp
@@ -1,8 +1,8 @@
-CONTENTS Mrklin C-Track HO-Scale
+CONTENTS Märklin C-Track HO-Scale
-SUBCONTENTS Mrklin C-Track Straight Tracks
-TURNOUT HO "Mrklin C-Track Straight 64.3mm 24064"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "Straight 64.3mm" "24064" 2.531496
+SUBCONTENTS Märklin C-Track Straight Tracks
+TURNOUT HO "Märklin C-Track Straight 64.3mm 24064"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "Straight 64.3mm" "24064" 2.531496
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.531496 0.000000 90.000000
@@ -10,8 +10,8 @@ TURNOUT HO "Mrklin C-Track Straight 64.3mm 24064"
L 8421376 0.030000 0.000000 0.787400 2.531496 0.787400
L 8421376 0.030000 0.000000 -0.787400 2.531496 -0.787400
END
-TURNOUT HO "Mrklin C-Track Straight 70.8mm 24071"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "Straight 70.8mm" "24071" 2.787401
+TURNOUT HO "Märklin C-Track Straight 70.8mm 24071"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "Straight 70.8mm" "24071" 2.787401
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.787401 0.000000 90.000000
@@ -19,8 +19,8 @@ TURNOUT HO "Mrklin C-Track Straight 70.8mm 24071"
L 8421376 0.030000 0.000000 0.787400 2.787401 0.787400
L 8421376 0.030000 0.000000 -0.787400 2.787401 -0.787400
END
-TURNOUT HO "Mrklin C-Track Straight 77.5mm 24077"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "Straight 77.5mm" "24077" 3.051181
+TURNOUT HO "Märklin C-Track Straight 77.5mm 24077"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "Straight 77.5mm" "24077" 3.051181
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.051181 0.000000 90.000000
@@ -28,8 +28,8 @@ TURNOUT HO "Mrklin C-Track Straight 77.5mm 24077"
L 8421376 0.030000 0.000000 0.787400 3.051181 0.787400
L 8421376 0.030000 0.000000 -0.787400 3.051181 -0.787400
END
-TURNOUT HO "Mrklin C-Track Straight 94.2mm 24094"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "Straight 94.2mm" "24094" 3.708661
+TURNOUT HO "Märklin C-Track Straight 94.2mm 24094"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "Straight 94.2mm" "24094" 3.708661
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.708661 0.000000 90.000000
@@ -37,8 +37,8 @@ TURNOUT HO "Mrklin C-Track Straight 94.2mm 24094"
L 8421376 0.030000 0.000000 0.787400 3.708661 0.787400
L 8421376 0.030000 0.000000 -0.787400 3.708661 -0.787400
END
-TURNOUT HO "Mrklin C-Track Straight 171.7mm 24172"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "Straight 171.7mm" "24172" 6.759843
+TURNOUT HO "Märklin C-Track Straight 171.7mm 24172"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "Straight 171.7mm" "24172" 6.759843
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.759843 0.000000 90.000000
@@ -46,8 +46,8 @@ TURNOUT HO "Mrklin C-Track Straight 171.7mm 24172"
L 8421376 0.030000 0.000000 0.787400 6.759843 0.787400
L 8421376 0.030000 0.000000 -0.787400 6.759843 -0.787400
END
-TURNOUT HO "Mrklin C-Track Straight 188.3mm 24188"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "Straight 188.3mm" "24188" 7.413386
+TURNOUT HO "Märklin C-Track Straight 188.3mm 24188"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "Straight 188.3mm" "24188" 7.413386
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.413386 0.000000 90.000000
@@ -55,26 +55,26 @@ TURNOUT HO "Mrklin C-Track Straight 188.3mm 24188"
L 8421376 0.030000 0.000000 0.787400 7.413386 0.787400
L 8421376 0.030000 0.000000 -0.787400 7.413386 -0.787400
END
-TURNOUT HO "Mrklin C-Track Straight 229.0mm 24229"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "Straight 229.0mm" "24229" 9.015748
+TURNOUT HO "Märklin C-Track Straight 229.3mm 24229"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "Straight 229.3mm" "24229" 9.027559
P "Normal" 1
E 0.000000 0.000000 270.000000
- E 9.015748 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 9.015748 0.000000
- L 8421376 0.030000 0.000000 0.787400 9.015748 0.787400
- L 8421376 0.030000 0.000000 -0.787400 9.015748 -0.787400
+ E 9.027559 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 9.027559 0.000000
+ L 8421376 0.030000 0.000000 0.787400 9.027559 0.787400
+ L 8421376 0.030000 0.000000 -0.787400 9.027559 -0.787400
END
-TURNOUT HO "Mrklin C-Track Straight 236.0mm 24236"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "Straight 236.0mm" "24236" 9.291338
+TURNOUT HO "Märklin C-Track Straight 236.1mm 24236"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "Straight 236.1mm" "24236" 9.295276
P "Normal" 1
E 0.000000 0.000000 270.000000
- E 9.291338 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 9.291338 0.000000
- L 8421376 0.030000 0.000000 0.787400 9.291338 0.787400
- L 8421376 0.030000 0.000000 -0.787400 9.291338 -0.787400
+ E 9.295276 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 9.295276 0.000000
+ L 8421376 0.030000 0.000000 0.787400 9.295276 0.787400
+ L 8421376 0.030000 0.000000 -0.787400 9.295276 -0.787400
END
-TURNOUT HO "Mrklin C-Track Straight 360.0mm 24360"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "Straight 360.0mm" "24360" 14.173228
+TURNOUT HO "Märklin C-Track Straight 360.0mm 24360"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "Straight 360.0mm" "24360" 14.173228
P "Normal" 1
E 0.000000 0.000000 270.000000
E 14.173228 0.000000 90.000000
@@ -83,9 +83,9 @@ TURNOUT HO "Mrklin C-Track Straight 360.0mm 24360"
L 8421376 0.030000 0.000000 -0.787400 14.173228 -0.787400
END
-SUBCONTENTS Mrklin C-Track Curve Tracks
-TURNOUT HO "Mrklin C-Track Curved R1=360mm 30 24130"
- U "Curved Section" "XtrkCad" "Mrklin C-Track" "Curved R1=360mm 30" "24130" 14.173228 30.000000
+SUBCONTENTS Märklin C-Track Curve Tracks
+TURNOUT HO "Märklin C-Track Curved R1=360mm 30° 24130"
+ U "Curved Section" "XtrkCad" "Märklin C-Track" "Curved R1=360mm 30°" "24130" 14.173228 30.000000
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 1.898853 60.000000
@@ -93,8 +93,8 @@ TURNOUT HO "Mrklin C-Track Curved R1=360mm 30 24130"
A 8421376 0.030000 -13.385828 0.000000 14.173228 150.000000 30.000000
A 8421376 0.030000 -14.960628 0.000000 14.173228 150.000000 30.000000
END
-TURNOUT HO "Mrklin C-Track Curved R1=360mm 15 24115"
- U "Curved Section" "XtrkCad" "Mrklin C-Track" "Curved R1=360mm 15" "24115" 14.173228 15.000000
+TURNOUT HO "Märklin C-Track Curved R1=360mm 15° 24115"
+ U "Curved Section" "XtrkCad" "Märklin C-Track" "Curved R1=360mm 15°" "24115" 14.173228 15.000000
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.668301 0.482941 75.000000
@@ -102,8 +102,8 @@ TURNOUT HO "Mrklin C-Track Curved R1=360mm 15 24115"
A 8421376 0.030000 -13.385828 0.000000 14.173228 165.000000 15.000000
A 8421376 0.030000 -14.960628 0.000000 14.173228 165.000000 15.000000
END
-TURNOUT HO "Mrklin C-Track Curved R1=360mm 7.5 24107"
- U "Curved Section" "XtrkCad" "Mrklin C-Track" "Curved R1=360mm 7.5" "24107" 14.173228 7.500000
+TURNOUT HO "Märklin C-Track Curved R1=360mm 7.5° 24107"
+ U "Curved Section" "XtrkCad" "Märklin C-Track" "Curved R1=360mm 7.5°" "24107" 14.173228 7.500000
P "Normal" 1
E 0.000000 0.000000 270.000000
E 1.849976 0.121254 82.500000
@@ -111,8 +111,8 @@ TURNOUT HO "Mrklin C-Track Curved R1=360mm 7.5 24107"
A 8421376 0.030000 -13.385828 0.000000 14.173228 172.500000 7.500000
A 8421376 0.030000 -14.960628 0.000000 14.173228 172.500000 7.500000
END
-TURNOUT HO "Mrklin C-Track Curved R2=437.5mm 30 24230"
- U "Curved Section" "XtrkCad" "Mrklin C-Track" "Curved R2=437.5mm 30" "24230" 17.224409 30.000000
+TURNOUT HO "Märklin C-Track Curved R2=437.5mm 30° 24230"
+ U "Curved Section" "XtrkCad" "Märklin C-Track" "Curved R2=437.5mm 30°" "24230" 17.224409 30.000000
P "Normal" 1
E 0.000000 0.000000 270.000000
E 8.612205 2.307633 60.000000
@@ -120,8 +120,8 @@ TURNOUT HO "Mrklin C-Track Curved R2=437.5mm 30 24230"
A 8421376 0.030000 -16.437009 0.000000 17.224409 150.000000 30.000000
A 8421376 0.030000 -18.011809 0.000000 17.224409 150.000000 30.000000
END
-TURNOUT HO "Mrklin C-Track Curved R2=437.5mm 24.3 24224"
- U "Curved Section" "XtrkCad" "Mrklin C-Track" "Curved R2=437.5mm 24.3" "24224" 17.224409 24.300000
+TURNOUT HO "Märklin C-Track Curved R2=437.5mm 24.3° 24224"
+ U "Curved Section" "XtrkCad" "Märklin C-Track" "Curved R2=437.5mm 24.3°" "24224" 17.224409 24.300000
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.088092 1.526026 65.700000
@@ -129,8 +129,8 @@ TURNOUT HO "Mrklin C-Track Curved R2=437.5mm 24.3 24224"
A 8421376 0.030000 -16.437009 0.000000 17.224409 155.700000 24.300000
A 8421376 0.030000 -18.011809 0.000000 17.224409 155.700000 24.300000
END
-TURNOUT HO "Mrklin C-Track Curved R2=437.5mm 15 24215"
- U "Curved Section" "XtrkCad" "Mrklin C-Track" "Curved R2=437.5mm 15" "24215" 17.224409 15.000000
+TURNOUT HO "Märklin C-Track Curved R2=437.5mm 15° 24215"
+ U "Curved Section" "XtrkCad" "Märklin C-Track" "Curved R2=437.5mm 15°" "24215" 17.224409 15.000000
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.458005 0.586908 75.000000
@@ -138,8 +138,8 @@ TURNOUT HO "Mrklin C-Track Curved R2=437.5mm 15 24215"
A 8421376 0.030000 -16.437009 0.000000 17.224409 165.000000 15.000000
A 8421376 0.030000 -18.011809 0.000000 17.224409 165.000000 15.000000
END
-TURNOUT HO "Mrklin C-Track Curved R2=437.5mm 7.5 24207"
- U "Curved Section" "" "Mrklin C-Track" "Curved R2=437.5mm 7.5" "24207" 17.224409 7.500000
+TURNOUT HO "Märklin C-Track Curved R2=437.5mm 7.5° 24207"
+ U "Curved Section" "" "Märklin C-Track" "Curved R2=437.5mm 7.5°" "24207" 17.224409 7.500000
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.248235 0.147357 82.500000
@@ -147,8 +147,8 @@ TURNOUT HO "Mrklin C-Track Curved R2=437.5mm 7.5 24207"
A 8421376 0.030000 -16.437009 0.000000 17.224409 172.500076 7.500000
A 8421376 0.030000 -18.011809 0.000000 17.224409 172.500076 7.500000
END
-TURNOUT HO "Mrklin C-Track Curved R2=437.5mm 5.7 24206"
- U "Curved Section" "XtrkCad" "Mrklin C-Track" "Curved R2=437.5mm 5.7" "24206" 17.224409 5.700000
+TURNOUT HO "Märklin C-Track Curved R2=437.5mm 5.7° 24206"
+ U "Curved Section" "XtrkCad" "Märklin C-Track" "Curved R2=437.5mm 5.7°" "24206" 17.224409 5.700000
P "Normal" 1
E 0.000000 0.000000 270.000000
E 1.710724 0.085165 84.300000
@@ -156,8 +156,8 @@ TURNOUT HO "Mrklin C-Track Curved R2=437.5mm 5.7 24206"
A 8421376 0.030000 -16.437009 0.000000 17.224409 174.300000 5.700000
A 8421376 0.030000 -18.011809 0.000000 17.224409 174.300000 5.700000
END
-TURNOUT HO "Mrklin C-Track Curved R3=515mm 30 24330"
- U "Curved Section" "XtrkCad" "Mrklin C-Track" "Curved R3=515mm 30" "24330" 20.275591 30.000000
+TURNOUT HO "Märklin C-Track Curved R3=515mm 30° 24330"
+ U "Curved Section" "XtrkCad" "Märklin C-Track" "Curved R3=515mm 30°" "24330" 20.275591 30.000000
P "Normal" 1
E 0.000000 0.000000 270.000000
E 10.137788 2.716410 60.000000
@@ -165,8 +165,8 @@ TURNOUT HO "Mrklin C-Track Curved R3=515mm 30 24330"
A 8421376 0.030000 -19.488191 0.000000 20.275591 150.000000 30.000000
A 8421376 0.030000 -21.062991 0.000000 20.275591 150.000000 30.000000
END
-TURNOUT HO "Mrklin C-Track Curved R4=579.3mm 30 24430"
- U "Curved Section" "XtrkCad" "Mrklin C-Track" "Curved R4=579.3mm 30" "24430" 22.812750 30.000000
+TURNOUT HO "Märklin C-Track Curved R4=579.3mm 30° 24430"
+ U "Curved Section" "XtrkCad" "Märklin C-Track" "Curved R4=579.3mm 30°" "24430" 22.812750 30.000000
P "Normal" 1
E 0.000000 0.000000 270.000000
E 11.406375 3.056329 60.000000
@@ -174,8 +174,8 @@ TURNOUT HO "Mrklin C-Track Curved R4=579.3mm 30 24430"
A 8421376 0.030000 -22.025350 0.000000 22.812750 150.000000 30.000000
A 8421376 0.030000 -23.600150 0.000000 22.812750 150.000000 30.000000
END
-TURNOUT HO "Mrklin C-Track Curved R5=643.6mm 30 24530"
- U "Curved Section" "XtrkCad" "Mrklin C-Track" "Curved R5=643.6mm 30" "24530" 25.312500 30.000000
+TURNOUT HO "Märklin C-Track Curved R5=643.6mm 30° 24530"
+ U "Curved Section" "XtrkCad" "Märklin C-Track" "Curved R5=643.6mm 30°" "24530" 25.312500 30.000000
P "Normal" 1
E 0.000000 0.000000 270.000000
E 12.656250 3.391232 60.000000
@@ -183,8 +183,8 @@ TURNOUT HO "Mrklin C-Track Curved R5=643.6mm 30 24530"
A 8421376 0.030000 -24.525100 0.000000 25.312500 150.000000 30.000000
A 8421376 0.030000 -26.099900 0.000000 25.312500 150.000000 30.000000
END
-TURNOUT HO "Mrklin C-Track Curved R=1114.6mm 12.1 24912"
- U "Curved Section" "XtrkCad" "Mrklin C-Track" "Curved R=1114.6mm 12.1" "24912" 43.875000 12.100000
+TURNOUT HO "Märklin C-Track Curved R=1114.6mm 12.1° 24912"
+ U "Curved Section" "XtrkCad" "Märklin C-Track" "Curved R=1114.6mm 12.1°" "24912" 43.875000 12.100000
P "Normal" 1
E 0.000000 0.000000 270.000000
E 9.197014 0.974760 77.900000
@@ -194,9 +194,9 @@ TURNOUT HO "Mrklin C-Track Curved R=1114.6mm 12.1 24912"
END
-SUBCONTENTS Mrklin C-Track Turnouts
-TURNOUT HO "Mrklin C-Track Left Turnout 188.3mm R2=437.5mm 24.3 24611"
- U "Regular Turnout" "XtrkCad" "Mrklin C-Track" "Left Turnout" "24611" "Right Turnout" "24612" 7.088092 24.300000 1.526026 7.413386
+SUBCONTENTS Märklin C-Track Turnouts
+TURNOUT HO "Märklin C-Track Left Turnout 188.3mm R2=437.5mm 24.3° 24611"
+ U "Regular Turnout" "XtrkCad" "Märklin C-Track" "Left Turnout" "24611" "Right Turnout" "24612" 7.088092 24.300000 1.526026 7.413386
P "Normal" 1 2
P "Reverse" 1 3 4
E 0.000000 0.000000 270.000000
@@ -211,8 +211,8 @@ TURNOUT HO "Mrklin C-Track Left Turnout 188.3mm R2=437.5mm 24.3 24611"
A 8421376 0.030000 -13.424387 0.648601 14.211787 155.700000 24.300000
L 8421376 0.030000 6.180000 1.980000 6.760000 2.240000
END
-TURNOUT HO "Mrklin C-Track Right Turnout 188.3mm R2=437.5mm 24.3 24612"
- U "Regular Turnout" "XtrkCad" "Mrklin C-Track" "Left Turnout" "24611" "Right Turnout" "24612" 7.088092 24.300000 1.526026 7.413386
+TURNOUT HO "Märklin C-Track Right Turnout 188.3mm R2=437.5mm 24.3° 24612"
+ U "Regular Turnout" "XtrkCad" "Märklin C-Track" "Left Turnout" "24611" "Right Turnout" "24612" 7.088092 24.300000 1.526026 7.413386
P "Normal" 1 2
P "Reverse" 1 3 4
E 0.000000 0.000000 270.000000
@@ -227,8 +227,8 @@ TURNOUT HO "Mrklin C-Track Right Turnout 188.3mm R2=437.5mm 24.3 24612"
A 8421376 0.030000 13.424387 0.648601 -14.211787 0.000000 24.300000
L 8421376 0.030000 6.180000 -1.980000 6.760000 -2.240000
END
-TURNOUT HO "Mrklin C-Track Curved Left Turnout R1=360mm 30 24671"
- U "Curved Turnout" "XtrkCad" "Mrklin C-Track" "Curved Left Turnout 30" "24671" "Curved Right Turnout 30" "24672" 7.086614 30.000000 1.898853 30.000000 1.898853 10.137795
+TURNOUT HO "Märklin C-Track Curved Left Turnout R1=360mm 30° 24671"
+ U "Curved Turnout" "XtrkCad" "Märklin C-Track" "Curved Left Turnout 30°" "24671" "Curved Right Turnout 30°" "24672" 7.086614 30.000000 1.898853 30.000000 1.898853 10.137795
P "Normal" 1 6 4 5
P "Reverse" 1 2 3
E -0.054784 -2944.110350 270.000000
@@ -245,8 +245,8 @@ TURNOUT HO "Mrklin C-Track Curved Left Turnout R1=360mm 30 24671"
A 8421376 0.030000 15.047713 2.996397 -2929.822762 150.000000 30.000000
L 32768 0.010417 7.413553 -2942.891285 9.697017 -2941.513332
END
-TURNOUT HO "Mrklin C-Track Curved Right Turnout R1=360mm 30 24672"
- U "Curved Turnout" "XtrkCad" "Mrklin C-Track" "Curved Right Turnout 30" "24672" "Curved Left Turnout 30" "24671" 7.086614 30.000000 1.898853 30.000000 1.898853 10.137795
+TURNOUT HO "Märklin C-Track Curved Right Turnout R1=360mm 30° 24672"
+ U "Curved Turnout" "XtrkCad" "Märklin C-Track" "Curved Right Turnout 30°" "24672" "Curved Left Turnout 30°" "24671" 7.086614 30.000000 1.898853 30.000000 1.898853 10.137795
P "Normal" 1 6 4 5
P "Reverse" 1 2 3
E 0.000000 -100.160054 270.000000
@@ -263,8 +263,8 @@ TURNOUT HO "Mrklin C-Track Curved Right Turnout R1=360mm 30 24672"
L 8421376 0.030000 7.440945 -101.365353 9.763780 -102.782676
A 8421376 0.030000 15.047562 3.051181 -114.444412 0.000000 29.636472
END
-TURNOUT HO "Mrklin C-Track 3-way Turnout 188.3mm R2=437.5mm 24.3 24630"
- U "3-way Turnout" "XtrkCad" "Mrklin C-Track" "3-way Turnout" "24630" 7.079991 24.300000 1.524282 7.413386 1.524282 24.300000 7.079991
+TURNOUT HO "Märklin C-Track 3-way Turnout 188.3mm R2=437.5mm 24.3° 24630"
+ U "3-way Turnout" "XtrkCad" "Märklin C-Track" "3-way Turnout" "24630" 7.079991 24.300000 1.524282 7.413386 1.524282 24.300000 7.079991
P "Left" 1 2 3
P "Normal" 1 6
P "Right" 1 4 5
@@ -281,10 +281,12 @@ TURNOUT HO "Mrklin C-Track 3-way Turnout 188.3mm R2=437.5mm 24.3 24630"
A 8421376 0.030000 -16.437009 0.000000 17.224409 155.700000 24.300000
A 8421376 0.030000 16.437009 0.000000 -17.224409 0.00000000 24.300000
END
-TURNOUT HO "Mrklin C-Track Double Slipswitch 188.3mm R2=437.5mm 24.3 24624"
- U "Double Slipswitch" "XtrkCad" "Mrklin C-Track" "Double Slip" "24624" 7.413386 24.300000 7.413386
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Märklin C-Track Double Slipswitch 188.3mm R2=437.5mm 24.3° 24624" 512
+ U "Double Slipswitch" "XtrkCad" "Märklin C-Track" "Double Slip" "24624" 7.413386 24.300000 7.413386
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 7.413386 0.000000 90.000000
E 0.328401 1.525357 294.300000
@@ -304,7 +306,7 @@ TURNOUT HO "Mrklin C-Track Double Slipswitch 188.3mm R2=437.5mm 24.3 24624"
A 8421376 0.030000 13.424387 6.764785 14.211787 180.000000 24.300000
L 8421376 0.030000 1.233386 1.980000 0.653386 2.240000
END
-TURNOUT HO "Mrklin C-Track Left Turnout 236.1mm R=1114.6mm 12.1 24711"
+TURNOUT HO "Märklin C-Track Left Turnout 236.1mm R=1114.6mm 12.1° 24711"
P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -315,7 +317,7 @@ TURNOUT HO "Mrklin C-Track Left Turnout 236.1mm R=1114.6mm 12.1 24711"
L 8421376 0.030000 0.000000 -0.787400 9.312500 -0.787400
A 8421376 0.030000 -43.087600 0.000000 43.875000 167.900000 12.100000
END
-TURNOUT HO "Mrklin C-Track Right Turnout 236.1mm R=1114.6mm 12.1 24712"
+TURNOUT HO "Märklin C-Track Right Turnout 236.1mm R=1114.6mm 12.1° 24712"
P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -327,9 +329,9 @@ TURNOUT HO "Mrklin C-Track Right Turnout 236.1mm R=1114.6mm 12.1 24712"
A 8421376 0.030000 43.087600 0.000000 -43.875000 0.000000 12.100000
END
-SUBCONTENTS Mrklin C-Track Crossings
-TURNOUT HO "Mrklin C-Track Double Crossing 188.3mm 24.3 24640"
- U "Crossing" "XtrkCad" "Mrklin C-Track" "Double Crossing 188.3mm 24.3" "24640" 7.413386 24.300000 7.413386
+SUBCONTENTS Märklin C-Track Crossings
+TURNOUT HO "Märklin C-Track Double Crossing 188.3mm 24.3° 24640"
+ U "Crossing" "XtrkCad" "Märklin C-Track" "Double Crossing 188.3mm 24.3°" "24640" 7.413386 24.300000 7.413386
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 7.413386 0.000000 90.000000
@@ -342,8 +344,8 @@ TURNOUT HO "Mrklin C-Track Double Crossing 188.3mm 24.3 24640"
L 8421376 0.030000 0.653386 2.240000 3.900000 0.787400
L 8421376 0.030000 6.760000 -2.240000 3.513386 -0.787400
END
-TURNOUT HO "Mrklin C-Track Double Crossing 103.3mm 48.6 24649"
- U "Crossing" "XtrkCad" "Mrklin C-Track" "Double Crossing 103.3mm 48.6" "24649" 4.066929 48.600000 4.066929
+TURNOUT HO "Märklin C-Track Double Crossing 103.3mm 48.6° 24649"
+ U "Crossing" "XtrkCad" "Märklin C-Track" "Double Crossing 103.3mm 48.6°" "24649" 4.066929 48.600000 4.066929
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 4.066929 0.000000 90.000000
@@ -356,7 +358,7 @@ TURNOUT HO "Mrklin C-Track Double Crossing 103.3mm 48.6 24649"
L 8421376 0.030000 4.066929 0.787400 2.401575 0.787400
L 8421376 0.030000 2.401575 0.787400 1.300000 2.050000
END
-TURNOUT HO "Mrklin C-Track Wide Angle Crossing 236.1mm 12.1 24740"
+TURNOUT HO "Märklin C-Track Wide Angle Crossing 236.1mm 12.1° 24740"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 9.312500 0.000000 90.000000
@@ -370,9 +372,9 @@ TURNOUT HO "Mrklin C-Track Wide Angle Crossing 236.1mm 12.1 24740"
L 8421376 0.030000 4.656250 -0.787400 0.268500 -1.745943
END
-SUBCONTENTS Mrklin C-Track Miscellaneous Tracks
-TURNOUT HO "Mrklin C-Track Bumper 77.5mm 24977"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "Bumper" "24977" 3.051181
+SUBCONTENTS Märklin C-Track Miscellaneous Tracks
+TURNOUT HO "Märklin C-Track Bumper 77.5mm 24977"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "Bumper" "24977" 3.051181
P "Normal" 1
E 0.000000 0.000000 270.000000
S 0 0.000000 0.000000 0.000000 3.051181 0.000000
@@ -384,8 +386,8 @@ TURNOUT HO "Mrklin C-Track Bumper 77.5mm 24977"
3.040000 0.769333
1.653333 0.769333
END
-TURNOUT HO "Mrklin C-Track Bumper w/ Lantern 77.5mm 24978"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "Bumper w/ Lantern" "24978" 3.051181
+TURNOUT HO "Märklin C-Track Bumper w/ Lantern 77.5mm 24978"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "Bumper w/ Lantern" "24978" 3.051181
P "Normal" 1
E 0.000000 0.000000 270.000000
S 0 0.000000 0.000000 0.000000 3.051181 0.000000
@@ -398,8 +400,8 @@ TURNOUT HO "Mrklin C-Track Bumper w/ Lantern 77.5mm 24978"
1.653333 0.769333
G 16711680 0.026667 0.362706 1.600000 0.00000
END
-TURNOUT HO "Mrklin C-Track End Piece 16.5mm 24001"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "End Piece" "24001" 0.649606
+TURNOUT HO "Märklin C-Track End Piece 16.5mm 24001"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "End Piece" "24001" 0.649606
P "Normal" 1
E 0.000000 0.000000 270.000000
S 0 0.000000 0.000000 0.000000 0.649606 0.000000
@@ -411,8 +413,8 @@ TURNOUT HO "Mrklin C-Track End Piece 16.5mm 24001"
0.649606 0.769333
0.1 0.769333
END
-TURNOUT HO "Mrklin C-Track Uncoupler 94.2mm 24997"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "Uncoupler" "24997" 3.708661
+TURNOUT HO "Märklin C-Track Uncoupler 94.2mm 24997"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "Uncoupler" "24997" 3.708661
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.708661 0.000000 90.000000
@@ -425,8 +427,8 @@ TURNOUT HO "Mrklin C-Track Uncoupler 94.2mm 24997"
3.041994 0.090000
0.666667 0.090000
END
-TURNOUT HO "Mrklin C-Track Contact Track 94.2mm 24995"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "Contact Track" "24995" 3.708661
+TURNOUT HO "Märklin C-Track Contact Track 94.2mm 24995"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "Contact Track" "24995" 3.708661
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.708661 0.000000 90.000000
@@ -436,8 +438,8 @@ TURNOUT HO "Mrklin C-Track Contact Track 94.2mm 24995"
L 8421376 0.030000 0.000000 -0.787400 3.708661 -0.787400
G 16711680 0.030000 0.200000 1.854331 0.75000
END
-TURNOUT HO "Mrklin C-Track Straight w/ Contact 94.2mm 24994"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "Straight w/ Contact" "24994" 3.708661
+TURNOUT HO "Märklin C-Track Straight w/ Contact 94.2mm 24994"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "Straight w/ Contact" "24994" 3.708661
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.708661 0.000000 90.000000
@@ -446,8 +448,8 @@ TURNOUT HO "Mrklin C-Track Straight w/ Contact 94.2mm 24994"
L 8421376 0.030000 0.000000 -0.787400 3.708661 -0.787400
G 16711680 0.030000 0.400000 1.854331 0.00000
END
-TURNOUT HO "Mrklin C-Track Curved w/ Contact R1=360mm 15 24194"
- U "Curved Section" "XtrkCad" "Mrklin C-Track" "Curved w/ Contact R1=360mm 15" "24194" 14.173228 15.000000
+TURNOUT HO "Märklin C-Track Curved w/ Contact R1=360mm 15° 24194"
+ U "Curved Section" "XtrkCad" "Märklin C-Track" "Curved w/ Contact R1=360mm 15°" "24194" 14.173228 15.000000
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.668301 0.482941 75.000000
@@ -456,8 +458,8 @@ TURNOUT HO "Mrklin C-Track Curved w/ Contact R1=360mm 15 24194"
A 8421376 0.030000 -14.960628 0.000000 14.173228 165.000000 15.000000
G 16711680 0.030000 0.400000 1.849976 0.121323
END
-TURNOUT HO "Mrklin C-Track Curved w/ Contact R2=437.5mm 15 24294"
- U "Curved Section" "XtrkCad" "Mrklin C-Track" "Curved w/ Contact R2=437.5mm 15" "24294" 17.224409 15.000000
+TURNOUT HO "Märklin C-Track Curved w/ Contact R2=437.5mm 15° 24294"
+ U "Curved Section" "XtrkCad" "Märklin C-Track" "Curved w/ Contact R2=437.5mm 15°" "24294" 17.224409 15.000000
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.458005 0.586908 75.000000
@@ -466,8 +468,8 @@ TURNOUT HO "Mrklin C-Track Curved w/ Contact R2=437.5mm 15 24294"
A 8421376 0.030000 -18.011809 0.000000 17.224409 165.000000 15.000000
G 16711680 0.030000 0.400000 2.248233 0.147372
END
-TURNOUT HO "Mrklin C-Track K-track Adaptor 180mm 24922"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "K-track Adaptor" "24922" 7.086614
+TURNOUT HO "Märklin C-Track K-track Adaptor 180mm 24922"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "K-track Adaptor" "24922" 7.086614
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
@@ -475,8 +477,8 @@ TURNOUT HO "Mrklin C-Track K-track Adaptor 180mm 24922"
L 8421376 0.030000 0.000000 0.787400 7.086614 0.787400
L 8421376 0.030000 0.000000 -0.787400 7.086614 -0.787400
END
-TURNOUT HO "Mrklin C-Track M-Track Adaptor 180mm 24951"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "M-Track Adaptor" "24951" 7.086614
+TURNOUT HO "Märklin C-Track M-Track Adaptor 180mm 24951"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "M-Track Adaptor" "24951" 7.086614
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
@@ -484,8 +486,8 @@ TURNOUT HO "Mrklin C-Track M-Track Adaptor 180mm 24951"
L 8421376 0.030000 0.000000 0.787400 7.086614 0.787400
L 8421376 0.030000 0.000000 -0.787400 7.086614 -0.787400
END
-TURNOUT HO "Mrklin C-Track Feeder Trk 188.3mm 24088"
- U "Straight Section" "XtrkCad" "Mrklin C-Track" "Straight 188.3mm" "24088" 7.413386
+TURNOUT HO "Märklin C-Track Feeder Trk 188.3mm 24088"
+ U "Straight Section" "XtrkCad" "Märklin C-Track" "Straight 188.3mm" "24088" 7.413386
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.413386 0.000000 90.000000
@@ -495,73 +497,73 @@ TURNOUT HO "Mrklin C-Track Feeder Trk 188.3mm 24088"
L 8421376 1.574800 1.574800 -1.574800 3.149600 -1.574800
END
-SUBCONTENTS Mrklin C-Track TurnTable
-TURNOUT HO "Marklin C-Track Turntable 10.35"" Dia 12d 30 Positions 74861"
- P "1" 1
- P "2" 2
- P "3" 3
- P "4" 4
- P "5" 5
- P "6" 6
- P "7" 7
- P "8" 8
- P "9" 9
- P "10" 10
- P "11" 11
- P "12" 12
- P "13" 13
- P "14" 14
- P "15" 15
- G3 0 0.000000 0.129736 0.000000 0.000000 0
+SUBCONTENTS Märklin C-Track TurnTable
+TURNOUT HO "Marklin C-Track Turntable 10.35"" Dia 12d 30 Positions 74861" 512
+ P "1" 1
+ P "2" 2
+ P "3" 3
+ P "4" 4
+ P "5" 5
+ P "6" 6
+ P "7" 7
+ P "8" 8
+ P "9" 9
+ P "10" 10
+ P "11" 11
+ P "12" 12
+ P "13" 13
+ P "14" 14
+ P "15" 15
+ E 0.000000 5.177154 0.000000
+ E 1.076391 5.064020 12.000000
+ E 2.105738 4.729565 24.000000
+ E 3.043054 4.188405 36.000000
+ E 3.847375 3.464192 48.000000
+ E 4.483546 2.588577 60.000000
+ E 4.923766 1.599828 72.000000
+ E 5.148793 0.541160 84.000000
+ E 5.148793 -0.541160 96.000000
+ E 4.923766 -1.599828 108.000000
+ E 4.483546 -2.588577 120.000000
+ E 3.847375 -3.464192 132.000000
+ E 3.043054 -4.188405 144.000000
+ E 2.105738 -4.729565 156.000000
+ E 1.076391 -5.064020 168.000000
+ E 0.000000 -5.177154 180.000000
+ E -1.076391 -5.064020 192.000000
+ E -2.105738 -4.729565 204.000000
+ E -3.043054 -4.188405 216.000000
+ E -3.847375 -3.464192 228.000000
+ E -4.483546 -2.588577 240.000000
+ E -4.923766 -1.599828 252.000000
+ E -5.148793 -0.541160 264.000000
+ E -5.148793 0.541160 276.000000
+ E -4.923766 1.599828 288.000000
+ E -4.483546 2.588577 300.000000
+ E -3.847375 3.464192 312.000000
+ E -3.043054 4.188405 324.000000
+ E -2.105738 4.729565 336.000000
+ E -1.076391 5.064020 348.000000
+ S 16777215 0 0.000000 5.177154 0.000000 -5.177154
+ S 16777215 0 1.076391 5.064020 -1.076391 -5.064020
+ S 16777215 0 2.105738 4.729565 -2.105738 -4.729565
+ S 16777215 0 3.043054 4.188405 -3.043054 -4.188405
+ S 16777215 0 3.847375 3.464192 -3.847375 -3.464192
+ S 16777215 0 4.483546 2.588577 -4.483546 -2.588577
+ S 16777215 0 4.923766 1.599828 -4.923766 -1.599828
+ S 16777215 0 5.148793 0.541160 -5.148793 -0.541160
+ S 16777215 0 5.148793 -0.541160 -5.148793 0.541160
+ S 16777215 0 4.923766 -1.599828 -4.923766 1.599828
+ S 16777215 0 4.483546 -2.588577 -4.483546 2.588577
+ S 16777215 0 3.847375 -3.464192 -3.847375 3.464192
+ S 16777215 0 3.043054 -4.188405 -3.043054 4.188405
+ S 16777215 0 2.105738 -4.729565 -2.105738 4.729565
+ S 16777215 0 1.076391 -5.064020 -1.076391 5.064020
+ G3 0 0.000000 0.129736 0.000000 0.000000 0
A3 0 0.031250 5.177154 0.000000 0.000000 0 0.000000 360.000000
A3 0 0.031250 7.440945 0.000000 0.000000 0 0.000000 360.000000
- E 0.000000 5.177154 0.000000
- E 1.076391 5.064020 12.000000
- E 2.105738 4.729565 24.000000
- E 3.043054 4.188405 36.000000
- E 3.847375 3.464192 48.000000
- E 4.483546 2.588577 60.000000
- E 4.923766 1.599828 72.000000
- E 5.148793 0.541160 84.000000
- E 5.148793 -0.541160 96.000000
- E 4.923766 -1.599828 108.000000
- E 4.483546 -2.588577 120.000000
- E 3.847375 -3.464192 132.000000
- E 3.043054 -4.188405 144.000000
- E 2.105738 -4.729565 156.000000
- E 1.076391 -5.064020 168.000000
- E 0.000000 -5.177154 180.000000
- E -1.076391 -5.064020 192.000000
- E -2.105738 -4.729565 204.000000
- E -3.043054 -4.188405 216.000000
- E -3.847375 -3.464192 228.000000
- E -4.483546 -2.588577 240.000000
- E -4.923766 -1.599828 252.000000
- E -5.148793 -0.541160 264.000000
- E -5.148793 0.541160 276.000000
- E -4.923766 1.599828 288.000000
- E -4.483546 2.588577 300.000000
- E -3.847375 3.464192 312.000000
- E -3.043054 4.188405 324.000000
- E -2.105738 4.729565 336.000000
- E -1.076391 5.064020 348.000000
- S 16777215 0 0.000000 5.177154 0.000000 -5.177154
- S 16777215 0 1.076391 5.064020 -1.076391 -5.064020
- S 16777215 0 2.105738 4.729565 -2.105738 -4.729565
- S 16777215 0 3.043054 4.188405 -3.043054 -4.188405
- S 16777215 0 3.847375 3.464192 -3.847375 -3.464192
- S 16777215 0 4.483546 2.588577 -4.483546 -2.588577
- S 16777215 0 4.923766 1.599828 -4.923766 -1.599828
- S 16777215 0 5.148793 0.541160 -5.148793 -0.541160
- S 16777215 0 5.148793 -0.541160 -5.148793 0.541160
- S 16777215 0 4.923766 -1.599828 -4.923766 1.599828
- S 16777215 0 4.483546 -2.588577 -4.483546 2.588577
- S 16777215 0 3.847375 -3.464192 -3.847375 3.464192
- S 16777215 0 3.043054 -4.188405 -3.043054 4.188405
- S 16777215 0 2.105738 -4.729565 -2.105738 4.729565
- S 16777215 0 1.076391 -5.064020 -1.076391 5.064020
-END
-TURNOUT HO "Mrklin C-Track Turntable Position Track 57.5mm 74871"
+END
+TURNOUT HO "Märklin C-Track Turntable Position Track 57.5mm 74871"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.263792 0.000000 90.000000
diff --git a/app/lib/params/HO-Marklin K-track.xtp b/app/lib/params/HO-Marklin K-track.xtp
index a2944dd..9b42b6e 100644
--- a/app/lib/params/HO-Marklin K-track.xtp
+++ b/app/lib/params/HO-Marklin K-track.xtp
@@ -1,142 +1,144 @@
-CONTENTS Mrklin K-Track HO-Scale
-# From 'Mrklin Complete Program 1994/95 E'
+CONTENTS Märklin K-Track HO-Scale
+# From 'Märklin Complete Program 1994/95 E'
-SUBCONTENTS Mrklin K-Track Straight Tracks
+SUBCONTENTS Märklin K-Track Straight Tracks
# Straight Section Design by Dave Bullis - 7.086614
-TURNOUT HO "Mrklin K-Track Straight 180mm 2200"
+TURNOUT HO "Märklin K-Track Straight 180mm 2200"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
S 0 0 0.000000 0.000000 7.087000 0.000000
END
-TURNOUT HO "Mrklin K-Track Straight 168.9mm 2206"
+TURNOUT HO "Märklin K-Track Straight 168.9mm 2206"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.649606 0.000000 90.000000
S 0 0 0.000000 0.000000 6.650000 0.000000
END
-TURNOUT HO "Mrklin K-Track Straight 217.9mm 2209"
+TURNOUT HO "Märklin K-Track Straight 217.9mm 2209"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 8.578740 0.000000 90.000000
S 0 0 0.000000 0.000000 8.579000 0.000000
END
-TURNOUT HO "Mrklin K-Track Straight 156mm 2207"
+TURNOUT HO "Märklin K-Track Straight 156mm 2207"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.141732 0.000000 90.000000
S 0 0 0.000000 0.000000 6.142000 0.000000
END
-TURNOUT HO "Mrklin K-Track Straight 90mm 2201"
+TURNOUT HO "Märklin K-Track Straight 90mm 2201"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.543307 0.000000 90.000000
S 0 0 0.000000 0.000000 3.543000 0.000000
END
-TURNOUT HO "Mrklin K-Track Straight 45mm 2202"
+TURNOUT HO "Märklin K-Track Straight 45mm 2202"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 1.771654 0.000000 90.000000
S 0 0 0.000000 0.000000 1.772000 0.000000
END
-TURNOUT HO "Mrklin K-Track Straight 41.3mm 2293"
+TURNOUT HO "Märklin K-Track Straight 41.3mm 2293"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 1.625984 0.000000 90.000000
S 0 0 0.000000 0.000000 1.626000 0.000000
END
-TURNOUT HO "Mrklin K-Track Straight 35.1mm 2208"
+TURNOUT HO "Märklin K-Track Straight 35.1mm 2208"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 1.381890 0.000000 90.000000
S 0 0 0.000000 0.000000 1.382000 0.000000
END
-TURNOUT HO "Mrklin K-Track Straight 30mm 2203"
+TURNOUT HO "Märklin K-Track Straight 30mm 2203"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 1.181102 0.000000 90.000000
S 0 0 0.000000 0.000000 1.181000 0.000000
END
-TURNOUT HO "Mrklin K-Track Straight 22.5mm 2204"
+TURNOUT HO "Märklin K-Track Straight 22.5mm 2204"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 0.885827 0.000000 90.000000
S 0 0 0.000000 0.000000 0.886000 0.000000
END
-SUBCONTENTS Mrklin K-Track Curve Tracks
-TURNOUT HO "Mrklin K-Track Curved 295.4mm 45 2210"
+SUBCONTENTS Märklin K-Track Curve Tracks
+TURNOUT HO "Märklin K-Track Curved 295.4mm 45° 2210"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 8.223596 -3.406325 135.000000
C 0 0 11.630000 0.000000 -11.630000 0.000000 45.000000
END
-TURNOUT HO "Mrklin K-Track Curved 360mm 30 2221"
+TURNOUT HO "Märklin K-Track Curved 360mm 30° 2221"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 -1.898853 120.000000
C 0 0 14.173000 0.000000 -14.173000 0.000000 30.000000
END
-TURNOUT HO "Mrklin K-Track Curved 360mm 15 2223"
+TURNOUT HO "Märklin K-Track Curved 360mm 15° 2223"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.668301 -0.482941 105.000000
C 0 0 14.173000 0.000000 -14.173000 0.000000 15.000000
END
-TURNOUT HO "Mrklin K-Track Curved 360mm 7.5 2224"
+TURNOUT HO "Märklin K-Track Curved 360mm 7.5° 2224"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 1.849978 -0.121254 97.500000
C 0 0 14.173000 0.000000 -14.173000 0.000000 7.500000
END
-TURNOUT HO "Mrklin K-Track Curved 424.6mm 30 2231"
+TURNOUT HO "Märklin K-Track Curved 424.6mm 30° 2231"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 8.358268 -2.239591 120.000000
C 0 0 16.717000 0.000000 -16.717000 0.000000 30.000000
END
-TURNOUT HO "Mrklin K-Track Curved 424.6mm 22.5 2232"
+TURNOUT HO "Märklin K-Track Curved 424.6mm 22.5° 2232"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.397141 -1.272470 112.500000
C 0 0 16.717000 0.000000 -16.717000 0.000000 22.500000
END
-TURNOUT HO "Mrklin K-Track Curved 424.6mm 15 2233"
+TURNOUT HO "Märklin K-Track Curved 424.6mm 15° 2233"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.326558 -0.569602 105.000000
C 0 0 16.717000 0.000000 -16.717000 0.000000 15.000000
END
-TURNOUT HO "Mrklin K-Track Curved 424.6mm 7.5 2234"
+TURNOUT HO "Märklin K-Track Curved 424.6mm 7.5° 2234"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.181946 -0.143012 97.500000
C 0 0 16.717000 0.000000 -16.717000 0.000000 7.500000
END
-TURNOUT HO "Mrklin K-Track Curved 424.6mm 3.75 2235"
+TURNOUT HO "Märklin K-Track Curved 424.6mm 3.75° 2235"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 1.093314 -0.035791 93.750000
C 0 0 16.717000 0.000000 -16.717000 0.000000 3.750000
END
-TURNOUT HO "Mrklin K-Track Curved 553.9 30 2241"
+TURNOUT HO "Märklin K-Track Curved 553.9 30° 2241"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 10.903543 -2.921596 120.000000
C 0 0 21.807000 0.000000 -21.807000 0.000000 30.000000
END
-TURNOUT HO "Mrklin K-Track Curved 618.5 30 2251"
+TURNOUT HO "Märklin K-Track Curved 618.5 30° 2251"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 12.175197 -3.262334 120.000000
C 0 0 24.350000 0.000000 -24.350000 0.000000 30.000000
END
-SUBCONTENTS Mrklin K-Track Turnouts
+SUBCONTENTS Märklin K-Track Turnouts
# Double Slipswitch Design by Dave Bullis - 6.649606 22.500000 6.649606
-TURNOUT HO "Mrklin K-Track 22.5 Double Slip 2260"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Märklin K-Track 22.5° Double Slip 2260" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 6.649606 0.000000 90.000000
E 0.253086 1.272347 292.500000
@@ -150,7 +152,7 @@ TURNOUT HO "Mrklin K-Track 22.5 Double Slip 2260"
C 0 0 10.193000 1.297000 -10.193000 0.000000 22.500000
C 0 0 -10.193000 5.352000 10.193000 180.000000 22.500000
END
-TURNOUT HO "Mrklin K-Track Left Turnout R424.6mm 2262"
+TURNOUT HO "Märklin K-Track Left Turnout R424.6mm 2262"
P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -159,7 +161,7 @@ TURNOUT HO "Mrklin K-Track Left Turnout R424.6mm 2262"
S 0 0 0.000000 0.000000 6.650000 0.000000
C 0 0 -16.717000 0.000000 16.717000 157.500000 22.500000
END
-TURNOUT HO "Mrklin K-Track Right Turnout R424.6mm 2263"
+TURNOUT HO "Märklin K-Track Right Turnout R424.6mm 2263"
P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -168,7 +170,7 @@ TURNOUT HO "Mrklin K-Track Right Turnout R424.6mm 2263"
S 0 0 0.000000 0.000000 6.650000 0.000000
C 0 0 16.717000 0.000000 -16.717000 0.000000 22.500000
END
-TURNOUT HO "Mrklin K-Track Left Manual Turnout R424.6mm 2265"
+TURNOUT HO "Märklin K-Track Left Manual Turnout R424.6mm 2265"
P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -177,7 +179,7 @@ TURNOUT HO "Mrklin K-Track Left Manual Turnout R424.6mm 2265"
S 0 0 0.000000 0.000000 6.650000 0.000000
C 0 0 -16.717000 0.000000 16.717000 157.500000 22.500000
END
-TURNOUT HO "Mrklin K-Track Right Manual Turnout R424.6mm 2266"
+TURNOUT HO "Märklin K-Track Right Manual Turnout R424.6mm 2266"
P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -186,7 +188,7 @@ TURNOUT HO "Mrklin K-Track Right Manual Turnout R424.6mm 2266"
S 0 0 0.000000 0.000000 6.650000 0.000000
C 0 0 16.717000 0.000000 -16.717000 0.000000 22.500000
END
-TURNOUT HO "Mrklin K-Track Left Curved Turnout 2268"
+TURNOUT HO "Märklin K-Track Left Curved Turnout 2268"
P "Normal" 1 2
P "Reverse" 3
E 0.000000 0.000000 270.000000
@@ -196,7 +198,7 @@ TURNOUT HO "Mrklin K-Track Left Curved Turnout 2268"
C 0 0 -16.717000 1.866000 16.703000 152.324000 25.352000
C 0 0 -14.173000 0.000000 14.173000 150.000000 30.000000
END
-TURNOUT HO "Mrklin K-Track Right Curved Turnout 2269"
+TURNOUT HO "Märklin K-Track Right Curved Turnout 2269"
P "Normal" 1 2
P "Reverse" 3
E 0.000000 0.000000 270.000000
@@ -206,7 +208,7 @@ TURNOUT HO "Mrklin K-Track Right Curved Turnout 2269"
C 0 0 14.173000 2.543000 -14.173000 0.000000 30.000000
C 0 0 14.173000 0.000000 -14.173000 0.000000 30.000000
END
-TURNOUT HO "Mrklin K-Track 3-Way Turnout 2270"
+TURNOUT HO "Märklin K-Track 3-Way Turnout 2270"
P "Normal" 1
P "Right" 2
P "Left" 3
@@ -218,7 +220,7 @@ TURNOUT HO "Mrklin K-Track 3-Way Turnout 2270"
C 0 0 16.717000 0.000000 -16.717000 0.000000 22.500000
C 0 0 -16.717000 0.000000 16.717000 157.500000 22.500000
END
-TURNOUT HO "Mrklin K-Track Large Left Turnout 2272"
+TURNOUT HO "Märklin K-Track Large Left Turnout 2272"
P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -227,7 +229,7 @@ TURNOUT HO "Mrklin K-Track Large Left Turnout 2272"
S 0 0 0.000000 0.000000 8.858000 0.000000
C 0 0 -35.528000 0.000000 35.528000 165.567000 14.433000
END
-TURNOUT HO "Mrklin K-Track Large Right Turnout 2273"
+TURNOUT HO "Märklin K-Track Large Right Turnout 2273"
P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -236,16 +238,18 @@ TURNOUT HO "Mrklin K-Track Large Right Turnout 2273"
S 0 0 0.000000 0.000000 8.858000 0.000000
C 0 0 35.528000 0.000000 -35.528000 0.000000 14.433000
END
-TURNOUT HO "Mrklin K-Track Large Curve 902.4mm 2274"
+TURNOUT HO "Märklin K-Track Large Curve 902.4mm 2274"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 8.855363 -1.121310 104.433333
C 0 0 35.528000 0.000000 -35.528000 0.000000 14.433000
END
# Double Slipswitch Design by Dave Bullis - 8.858268 14.433300 8.858368
-TURNOUT HO "Mrklin K-Track Large Double Slip 2275"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Märklin K-Track Large Double Slip 2275" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 8.858268 0.000000 90.000000
E 0.139742 1.103986 284.433330
@@ -260,9 +264,9 @@ TURNOUT HO "Mrklin K-Track Large Double Slip 2275"
C 0 0 -24.734000 7.561000 24.734000 180.000000 14.433000
END
-SUBCONTENTS Mrklin K-Track Crossings
+SUBCONTENTS Märklin K-Track Crossings
# Crossing Design by Dave Bullis - 8.858268 14.433330 8.858268
-TURNOUT HO "Mrklin K-Track Large 14.433 Crossing 2257"
+TURNOUT HO "Märklin K-Track Large 14.433 Crossing 2257"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 8.858268 0.000000 90.000000
@@ -272,7 +276,7 @@ TURNOUT HO "Mrklin K-Track Large 14.433 Crossing 2257"
S 0 0 0.140000 1.104000 8.718000 -1.104000
END
# Crossing Design by Dave Bullis - 6.649606 22.500000 6.649606
-TURNOUT HO "Mrklin K-Track 22.5 Crossing 2259"
+TURNOUT HO "Märklin K-Track 22.5° Crossing 2259"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 6.649606 0.000000 90.000000
@@ -282,7 +286,7 @@ TURNOUT HO "Mrklin K-Track 22.5 Crossing 2259"
S 0 0 0.253000 1.272000 6.397000 -1.272000
END
# Crossing Design by Dave Bullis - 3.543307 45.000000 3.543307
-TURNOUT HO "Mrklin K-Track 45 Crossing 2258"
+TURNOUT HO "Märklin K-Track 45° Crossing 2258"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 3.543307 0.000000 90.000000
@@ -292,8 +296,8 @@ TURNOUT HO "Mrklin K-Track 45 Crossing 2258"
S 0 0 0.519000 1.253000 3.024000 -1.253000
END
-SUBCONTENTS Mrklin K-Track Mics Tracks
-TURNOUT HO "Mrklin K-Track Straight Uncoupler 90mm 2297"
+SUBCONTENTS Märklin K-Track Misc Tracks
+TURNOUT HO "Märklin K-Track Straight Uncoupler 90mm 2297"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.543307 0.000000 90.000000
@@ -304,31 +308,31 @@ TURNOUT HO "Mrklin K-Track Straight Uncoupler 90mm 2297"
2.876640 0.080000
0.666667 0.080000
END
-TURNOUT HO "Mrklin K-Track Straight Circuit 90mm 2299"
+TURNOUT HO "Märklin K-Track Straight Circuit 90mm 2299"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.543307 0.000000 90.000000
S 0 0.000000 0.000000 0.000000 3.543307 0.000000
- G 16711680 0.000000 0.400000 1.77000 0.000000
+ G 16711680 0.000000 0.400000 1.77000 0.000000
END
-TURNOUT HO "Mrklin K-Track Curved Circuit R=360mm 15 2229"
- U "Curved Section" "" "Mrklin K-Track" "Bogen Kontaktgleis-Schleifer" "2229" 6.581313 15.000000 0.000000 0.000000 0
+TURNOUT HO "Märklin K-Track Curved Circuit R=360mm 15° 2229"
+ U "Curved Section" "" "Märklin K-Track" "Bogen Kontaktgleis-Schleifer" "2229" 6.581313 15.000000 0.000000 0.000000 0
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.668301 -0.482941 105.000000
C 0 0 14.173228 0.000000 -14.173228 0.000000 15.000000
G 16711680 0.000000 0.400000 1.834150 -0.121254
END
-TURNOUT HO "Mrklin K-Track Curved Circuit R=424.6mm 15 2239"
- U "Curved Section" "" "Mrklin K-Track" "Bogen Kontaktgleis Schleifer" "2239" 6.581313 15.000000 0.000000 0.000000 0
+TURNOUT HO "Märklin K-Track Curved Circuit R=424.6mm 15° 2239"
+ U "Curved Section" "" "Märklin K-Track" "Bogen Kontaktgleis Schleifer" "2239" 6.581313 15.000000 0.000000 0.000000 0
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.326558 -0.569602 105.000000
C 0 0 16.717000 0.000000 -16.717000 0.000000 15.000000
G 16711680 0.0000000 0.400000 2.163279 -0.143016
END
-TURNOUT HO "Mrklin K-Track Lighted Bumper 38mm 7389"
- U "Straight Section" "" "Mrklin K-Track" "Prellbock beleuchtet" "7389" 0.589001 0.000000 0.000000 0
+TURNOUT HO "Märklin K-Track Lighted Bumper 38mm 7389"
+ U "Straight Section" "" "Märklin K-Track" "Prellbock beleuchtet" "7389" 0.589001 0.000000 0.000000 0
P "Normal" 1
E 0.000000 0.000000 270.000000
S 0 0.000000 0.000000 0.000000 1.496063 0.000000
@@ -339,8 +343,8 @@ TURNOUT HO "Mrklin K-Track Lighted Bumper 38mm 7389"
0.748031 0.769333
G 16711680 0.000000 0.300000 0.800000 0.00000
END
-TURNOUT HO "Mrklin K-Track Bumper 38mm 7391"
- U "Straight Section" "" "Mrklin K-Track" "Prellbock" "7391" 0.589001 0.000000 0.000000 0
+TURNOUT HO "Märklin K-Track Bumper 38mm 7391"
+ U "Straight Section" "" "Märklin K-Track" "Prellbock" "7391" 0.589001 0.000000 0.000000 0
P "Normal" 1
E 0.000000 0.000000 270.000000
S 0 0.000000 0.000000 0.000000 1.496063 0.000000
@@ -350,8 +354,8 @@ TURNOUT HO "Mrklin K-Track Bumper 38mm 7391"
1.500000 0.769333
0.748031 0.769333
END
-TURNOUT HO "Mrklin K-Track Straight Feeder 2290"
- U "Straight Section" "Dave Bullis" "Mrklin K-Track" "Straight Feeder" "2290" 7.086614 0.000000 0.000000 0
+TURNOUT HO "Märklin K-Track Straight Feeder 2290"
+ U "Straight Section" "Dave Bullis" "Märklin K-Track" "Straight Feeder" "2290" 7.086614 0.000000 0.000000 0
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
@@ -364,15 +368,15 @@ TURNOUT HO "Mrklin K-Track Straight Feeder 2290"
G3 0 0.000000 0.078740 3.395669 0.551181 0
G3 0 0.000000 0.078740 3.690945 0.551181 0
END
-TURNOUT HO "Mrklin K-Track Straight K to M Adapter 2291"
- U "Straight Section" "Dave Bullis" "Mrklin K-Track" "Straight K to M Adapter" "2291" 7.086614 0.000000 0.000000 0
+TURNOUT HO "Märklin K-Track Straight K to M Adapter 2291"
+ U "Straight Section" "Dave Bullis" "Märklin K-Track" "Straight K to M Adapter" "2291" 7.086614 0.000000 0.000000 0
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
S 0 0.000000 0.000000 0.000000 7.086614 0.000000
END
-TURNOUT HO "Mrklin K-Track Straight Feeder w/ Capacitor 2292"
- U "Straight Section" "Dave Bullis" "Mrklin K-Track" "Straight Feeder w/ Capacitor" "2292" 7.086614 0.000000 0.000000 0
+TURNOUT HO "Märklin K-Track Straight Feeder w/ Capacitor 2292"
+ U "Straight Section" "Dave Bullis" "Märklin K-Track" "Straight Feeder w/ Capacitor" "2292" 7.086614 0.000000 0.000000 0
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
@@ -389,8 +393,8 @@ TURNOUT HO "Mrklin K-Track Straight Feeder w/ Capacitor 2292"
L3 0 0.040000 3.248031 0.078740 0 3.838583 0.078740 0
L3 0 0.040000 3.248031 -0.078740 0 3.838583 -0.078740 0
END
-TURNOUT HO "Mrklin K-Track Contact Set 2295"
- U "Straight Section" "Dave Bullis" "Mrklin K-Track" "Contact Set" "2295" 7.086614 0.000000 0.000000 0
+TURNOUT HO "Märklin K-Track Contact Set 2295"
+ U "Straight Section" "Dave Bullis" "Märklin K-Track" "Contact Set" "2295" 7.086614 0.000000 0.000000 0
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
@@ -410,83 +414,80 @@ TURNOUT HO "Mrklin K-Track Contact Set 2295"
L3 0 0.040000 3.543307 0.393701 0 3.543307 -0.393701 0
END
-SUBCONTENTS Mrklin K/M-Track Turntables
-TURNOUT HO "Marklin K/M-Track Turntable 12.2"" Dia 7.5d 48 Positions 7286"
+SUBCONTENTS Märklin K/M-Track Turntables
+TURNOUT HO "Marklin K/M-Track Turntable 12.2"" Dia 7.5d 48 Positions 7286" 512
P "1" 1
P "2" 2
- P "3" 3
- P "4" 4
- P "5" 5
- P "6" 6
- P "7" 7
- P "8" 8
- P "9" 9
- P "10" 10
- P "11" 11
- P "12" 12
- P "13" 13
- P "14" 14
- P "15" 15
- P "16" 16
- P "17" 17
- P "18" 18
- P "19" 19
- P "20" 20
- P "21" 21
- P "22" 22
- P "23" 23
- P "24" 24
- G3 0 0.000000 0.129736 0.000000 0.000000 0 0.000000 360.000000
- A3 0 0.031250 6.102362 0.000000 0.000000 0 0.000000 360.000000
- A3 0 0.031250 7.598425 0.000000 0.000000 0 0.000000 360.000000
- E 0.000000 6.102362 0.000000
- E 0.796518 6.050155 7.500000
- E 1.579408 5.894429 15.000000
- E 2.335273 5.637847 22.500000
- E 3.051181 5.284801 30.000000
- E 3.714883 4.841329 37.500000
- E 4.315022 4.315022 45.000000
- E 4.841329 3.714883 52.500000
- E 5.284801 3.051181 60.000000
- E 5.637847 2.335273 67.500000
- E 5.894429 1.579408 75.000000
- E 6.050155 0.796518 82.500000
- E 6.102362 0.000000 90.000000
- E 6.050155 -0.796518 97.500000
- E 5.894429 -1.579408 105.000000
- E 5.637847 -2.335273 112.500000
- E 5.284801 -3.051181 120.000000
- E 4.841329 -3.714883 127.500000
- E 4.315022 -4.315022 135.000000
- E 3.714883 -4.841329 142.500000
- E 3.051181 -5.284801 150.000000
- E 2.335273 -5.637847 157.500000
- E 1.579408 -5.894429 165.000000
- E 0.796518 -6.050155 172.500000
- E 0.000000 -6.102362 180.000000
- E -0.796518 -6.050155 187.500000
- E -1.579408 -5.894429 195.000000
- E -2.335273 -5.637847 202.500000
- E -3.051181 -5.284801 210.000000
- E -3.714883 -4.841329 217.500000
- E -4.315022 -4.315022 225.000000
- E -4.841329 -3.714883 232.500000
- E -5.284801 -3.051181 240.000000
- E -5.637847 -2.335273 247.500000
- E -5.894429 -1.579408 255.000000
- E -6.050155 -0.796518 262.500000
- E -6.102362 0.000000 270.000000
- E -6.050155 0.796518 277.500000
- E -5.894429 1.579408 285.000000
- E -5.637847 2.335273 292.500000
- E -5.284801 3.051181 300.000000
- E -4.841329 3.714883 307.500000
- E -4.315022 4.315022 315.000000
- E -3.714883 4.841329 322.500000
- E -3.051181 5.284801 330.000000
- E -2.335273 5.637847 337.500000
- E -1.579408 5.894429 345.000000
- E -0.796518 6.050155 352.500000
+ P "3" 3
+ P "4" 4
+ P "5" 5
+ P "6" 6
+ P "7" 7
+ P "8" 8
+ P "9" 9
+ P "10" 10
+ P "11" 11
+ P "12" 12
+ P "13" 13
+ P "14" 14
+ P "15" 15
+ P "16" 16
+ P "17" 17
+ P "18" 18
+ P "19" 19
+ P "20" 20
+ P "21" 21
+ P "22" 22
+ P "23" 23
+ P "24" 24
+ E 0.000000 6.102362 0.000000
+ E 0.796518 6.050155 7.500000
+ E 1.579408 5.894429 15.000000
+ E 2.335273 5.637847 22.500000
+ E 3.051181 5.284801 30.000000
+ E 3.714883 4.841329 37.500000
+ E 4.315022 4.315022 45.000000
+ E 4.841329 3.714883 52.500000
+ E 5.284801 3.051181 60.000000
+ E 5.637847 2.335273 67.500000
+ E 5.894429 1.579408 75.000000
+ E 6.050155 0.796518 82.500000
+ E 6.102362 0.000000 90.000000
+ E 6.050155 -0.796518 97.500000
+ E 5.894429 -1.579408 105.000000
+ E 5.637847 -2.335273 112.500000
+ E 5.284801 -3.051181 120.000000
+ E 4.841329 -3.714883 127.500000
+ E 4.315022 -4.315022 135.000000
+ E 3.714883 -4.841329 142.500000
+ E 3.051181 -5.284801 150.000000
+ E 2.335273 -5.637847 157.500000
+ E 1.579408 -5.894429 165.000000
+ E 0.796518 -6.050155 172.500000
+ E 0.000000 -6.102362 180.000000
+ E -0.796518 -6.050155 187.500000
+ E -1.579408 -5.894429 195.000000
+ E -2.335273 -5.637847 202.500000
+ E -3.051181 -5.284801 210.000000
+ E -3.714883 -4.841329 217.500000
+ E -4.315022 -4.315022 225.000000
+ E -4.841329 -3.714883 232.500000
+ E -5.284801 -3.051181 240.000000
+ E -5.637847 -2.335273 247.500000
+ E -5.894429 -1.579408 255.000000
+ E -6.050155 -0.796518 262.500000
+ E -6.102362 0.000000 270.000000
+ E -6.050155 0.796518 277.500000
+ E -5.894429 1.579408 285.000000
+ E -5.637847 2.335273 292.500000
+ E -5.284801 3.051181 300.000000
+ E -4.841329 3.714883 307.500000
+ E -4.315022 4.315022 315.000000
+ E -3.714883 4.841329 322.500000
+ E -3.051181 5.284801 330.000000
+ E -2.335273 5.637847 337.500000
+ E -1.579408 5.894429 345.000000
+ E -0.796518 6.050155 352.500000
S 16777215 0 0.000000 6.102362 0.000000 -6.102362
S 16777215 0 0.796518 6.050155 -0.796518 -6.050155
S 16777215 0 1.579408 5.894429 -1.579408 -5.894429
@@ -511,17 +512,20 @@ TURNOUT HO "Marklin K/M-Track Turntable 12.2"" Dia 7.5d 48 Positions 7286"
S 16777215 0 2.335273 -5.637847 -2.335273 5.637847
S 16777215 0 1.579408 -5.894429 -1.579408 5.894429
S 16777215 0 0.796518 -6.050155 -0.796518 6.050155
+ G3 0 0.000000 0.129736 0.000000 0.000000 0 0.000000 360.000000
+ A3 0 0.031250 6.102362 0.000000 0.000000 0 0.000000 360.000000
+ A3 0 0.031250 7.598425 0.000000 0.000000 0 0.000000 360.000000
END
-TURNOUT HO "Mrklin K/M-Track Turntable Position Track 38mm 7287"
+TURNOUT HO "Märklin K/M-Track Turntable Position Track 38mm 7287"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 1.496063 0.000000 90.000000
S 0 0.000000 0.000000 0.000000 1.496063 0.000000
END
-TURNOUT HO "Mrklin K/M-Track Turntable Position Dummy Track 38mm 7287"
+TURNOUT HO "Märklin K/M-Track Turntable Position Dummy Track 38mm 7287"
P "Normal" 1
E 0.000000 0.000000 270.000000
S 16777215 0.000000 0.000000 0.000000 1.496063 0.000000
- L3 0 0.060000 0.000000 0.324340 0 1.496063 0.324340 0
- L3 0 0.060000 0.000000 -0.324340 0 1.496063 -0.324340 0
+ L3 0 0.060000 0.000000 0.324340 0 1.496063 0.324340 0
+ L3 0 0.060000 0.000000 -0.324340 0 1.496063 -0.324340 0
END
diff --git a/app/lib/params/HO-Marklin M-Track.xtp b/app/lib/params/HO-Marklin M-Track.xtp
index 68db2ac..cbe1a9e 100644
--- a/app/lib/params/HO-Marklin M-Track.xtp
+++ b/app/lib/params/HO-Marklin M-Track.xtp
@@ -1,8 +1,8 @@
-CONTENTS Mrklin M-Track HO-Scale
+CONTENTS Märklin M-Track HO-Scale
-SUBCONTENTS Mrklin M-Track - Straight Tracks
-TURNOUT HO "Mrklin M-Track Straight 180mm 5106"
- U "Straight Section" "Dave Bullis" "Mrklin M-Track" "Straight 180mm" "5106" 7.086614 1.476378 0.053333 16754688
+SUBCONTENTS Märklin M-Track - Straight Tracks
+TURNOUT HO "Märklin M-Track Straight 180mm 5106"
+ U "Straight Section" "Dave Bullis" "Märklin M-Track" "Straight 180mm" "5106" 7.086614 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
@@ -10,8 +10,8 @@ TURNOUT HO "Mrklin M-Track Straight 180mm 5106"
L3 16754688 0.053333 -0.000000 -0.738189 0 7.086614 -0.738189 0
L3 16754688 0.053333 0.000000 0.738189 0 7.086614 0.738189 0
END
-TURNOUT HO "Mrklin M-Track Straight 90mm 5107"
- U "Straight Section" "Dave Bullis" "Mrklin M-Track" "Straight 90mm" "5107" 3.543307 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Straight 90mm 5107"
+ U "Straight Section" "Dave Bullis" "Märklin M-Track" "Straight 90mm" "5107" 3.543307 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.543307 0.000000 90.000000
@@ -19,8 +19,8 @@ TURNOUT HO "Mrklin M-Track Straight 90mm 5107"
L3 16754688 0.053333 -0.000000 -0.738189 0 3.543307 -0.738189 0
L3 16754688 0.053333 0.000000 0.738189 0 3.543307 0.738189 0
END
-TURNOUT HO "Mrklin M-Track Straight 70mm 5129"
- U "Straight Section" "Dave Bullis" "Mrklin M-Track" "Straight 70mm" "5129" 2.755906 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Straight 70mm 5129"
+ U "Straight Section" "Dave Bullis" "Märklin M-Track" "Straight 70mm" "5129" 2.755906 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.755906 0.000000 90.000000
@@ -28,8 +28,8 @@ TURNOUT HO "Mrklin M-Track Straight 70mm 5129"
L3 16754688 0.053333 -0.000000 -0.738189 0 2.755906 -0.738189 0
L3 16754688 0.053333 0.000000 0.738189 0 2.755906 0.738189 0
END
-TURNOUT HO "Mrklin M-Track Straight 45mm 5108"
- U "Straight Section" "Dave Bullis" "Mrklin M-Track" "Straight 45mm" "5108" 1.771654 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Straight 45mm 5108"
+ U "Straight Section" "Dave Bullis" "Märklin M-Track" "Straight 45mm" "5108" 1.771654 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 1.771654 0.000000 90.000000
@@ -37,8 +37,8 @@ TURNOUT HO "Mrklin M-Track Straight 45mm 5108"
L3 16754688 0.053333 -0.000000 -0.738189 0 1.771654 -0.738189 0
L3 16754688 0.053333 0.000000 0.738189 0 1.771654 0.738189 0
END
-TURNOUT HO "Mrklin M-Track Straight 33.5mm 5109"
- U "Straight Section" "Dave Bullis" "Mrklin M-Track" "Straight 33.5mm" "5109" 1.318898 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Straight 33.5mm 5109"
+ U "Straight Section" "Dave Bullis" "Märklin M-Track" "Straight 33.5mm" "5109" 1.318898 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 1.318898 0.000000 90.000000
@@ -46,8 +46,8 @@ TURNOUT HO "Mrklin M-Track Straight 33.5mm 5109"
L3 16754688 0.053333 -0.000000 -0.738189 0 1.318898 -0.738189 0
L3 16754688 0.053333 0.000000 0.738189 0 1.318898 0.738189 0
END
-TURNOUT HO "Mrklin M-Track Straight 22.5mm 5110"
- U "Straight Section" "Dave Bullis" "Mrklin M-Track" "Straight 22.5mm" "5110" 0.885827 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Straight 22.5mm 5110"
+ U "Straight Section" "Dave Bullis" "Märklin M-Track" "Straight 22.5mm" "5110" 0.885827 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 0.885827 0.000000 90.000000
@@ -55,8 +55,8 @@ TURNOUT HO "Mrklin M-Track Straight 22.5mm 5110"
L3 16754688 0.053333 -0.000000 -0.738189 0 0.885827 -0.738189 0
L3 16754688 0.053333 0.000000 0.738189 0 0.885827 0.738189 0
END
-TURNOUT HO "Mrklin M-Track Straight 16mm 5210"
- U "Straight Section" "Dave Bullis" "Mrklin M-Track" "Straight 16mm" "5210" 0.629921 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Straight 16mm 5210"
+ U "Straight Section" "Dave Bullis" "Märklin M-Track" "Straight 16mm" "5210" 0.629921 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 0.629921 0.000000 90.000000
@@ -64,8 +64,8 @@ TURNOUT HO "Mrklin M-Track Straight 16mm 5210"
L3 16754688 0.053333 -0.000000 -0.738189 0 0.629921 -0.738189 0
L3 16754688 0.053333 0.000000 0.738189 0 0.629921 0.738189 0
END
-TURNOUT HO "Mrklin M-Track Straight 8mm 5208"
- U "Straight Section" "Dave Bullis" "Mrklin M-Track" "Straight 8mm" "5208" 0.314961 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Straight 8mm 5208"
+ U "Straight Section" "Dave Bullis" "Märklin M-Track" "Straight 8mm" "5208" 0.314961 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 0.314961 0.000000 90.000000
@@ -74,9 +74,9 @@ TURNOUT HO "Mrklin M-Track Straight 8mm 5208"
L3 16754688 0.053333 0.000000 0.738189 0 0.314961 0.738189 0
END
-SUBCONTENTS Mrklin M-Track - Curve Tracks
-TURNOUT HO "Mrklin M-Track Curved R286 45 5120"
- U "Curved Section" "Dave Bullis" "Mrklin M-Track" "Curved R386 45" "5120" 11.259843 45.000000 1.476378 0.053333 16754688
+SUBCONTENTS Märklin M-Track - Curve Tracks
+TURNOUT HO "Märklin M-Track Curved R286 45° 5120"
+ U "Curved Section" "Dave Bullis" "Märklin M-Track" "Curved R386 45°" "5120" 11.259843 45.000000 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.961911 3.297932 45.000000
@@ -84,8 +84,8 @@ TURNOUT HO "Mrklin M-Track Curved R286 45 5120"
A3 16754688 0.053333 11.998032 0.000000 11.259843 0 135.000000 45.000000
A3 16754688 0.053333 10.521654 0.000000 11.259843 0 135.000000 45.000000
END
-TURNOUT HO "Mrklin M-Track Curved R360 30 5100"
- U "Curved Section" "Dave Bullis" "Mrklin M-Track" "Curved R360 30" "5100" 14.173228 30.000000 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Curved R360 30° 5100"
+ U "Curved Section" "Dave Bullis" "Märklin M-Track" "Curved R360 30°" "5100" 14.173228 30.000000 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 1.898853 60.000000
@@ -93,8 +93,8 @@ TURNOUT HO "Mrklin M-Track Curved R360 30 5100"
A3 16754688 0.053333 14.911417 0.000000 14.173228 0 150.000000 30.000000
A3 16754688 0.053333 13.435039 0.000000 14.173228 0 150.000000 30.000000
END
-TURNOUT HO "Mrklin M-Track Curved R360 15 5101"
- U "Curved Section" "Dave Bullis" "Mrklin M-Track" "Curved R360 15" "5101" 14.173228 15.000000 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Curved R360 15° 5101"
+ U "Curved Section" "Dave Bullis" "Märklin M-Track" "Curved R360 15°" "5101" 14.173228 15.000000 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.668301 0.482941 75.000000
@@ -102,8 +102,8 @@ TURNOUT HO "Mrklin M-Track Curved R360 15 5101"
A3 16754688 0.053333 14.911417 0.000000 14.173228 0 165.000000 15.000000
A3 16754688 0.053333 13.435039 0.000000 14.173228 0 165.000000 15.000000
END
-TURNOUT HO "Mrklin M-Track Curved R360 7.5 5102"
- U "Curved Section" "Dave Bullis" "Mrklin M-Track" "Curved R360 7.5" "5102" 14.173228 7.500000 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Curved R360 7.5° 5102"
+ U "Curved Section" "Dave Bullis" "Märklin M-Track" "Curved R360 7.5°" "5102" 14.173228 7.500000 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 1.849978 0.121254 82.500000
@@ -111,8 +111,8 @@ TURNOUT HO "Mrklin M-Track Curved R360 7.5 5102"
A3 16754688 0.053333 14.911417 0.000000 14.173228 0 172.500000 7.500000
A3 16754688 0.053333 13.435039 0.000000 14.173228 0 172.500000 7.500000
END
-TURNOUT HO "Mrklin M-Track Curved R437.4 30 5200"
- U "Curved Section" "Dave Bullis" "Mrklin M-Track" "Curved R437.4 30" "5200" 17.220472 30.000000 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Curved R437.4 30° 5200"
+ U "Curved Section" "Dave Bullis" "Märklin M-Track" "Curved R437.4 30°" "5200" 17.220472 30.000000 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 8.610236 2.307106 60.000000
@@ -120,8 +120,8 @@ TURNOUT HO "Mrklin M-Track Curved R437.4 30 5200"
A3 16754688 0.053333 17.958661 0.000000 17.220472 0 150.000000 30.000000
A3 16754688 0.053333 16.482283 0.000000 17.220472 0 150.000000 30.000000
END
-TURNOUT HO "Mrklin M-Track Curved R437.4 2417' 5206"
- U "Curved Section" "Dave Bullis" "Mrklin M-Track" "Curved R437.4 2417'" "5206" 17.220472 24.299000 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Curved R437.4 24°17' 5206"
+ U "Curved Section" "Dave Bullis" "Märklin M-Track" "Curved R437.4 24°17'" "5206" 17.220472 24.299000 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086198 1.525554 65.701000
@@ -129,8 +129,8 @@ TURNOUT HO "Mrklin M-Track Curved R437.4 2417' 5206"
A3 16754688 0.053333 17.958661 0.000000 17.220472 0 155.701000 24.299000
A3 16754688 0.053333 16.482283 0.000000 17.220472 0 155.701000 24.299000
END
-TURNOUT HO "Mrklin M-Track Curved R437.4 15 5201"
- U "Curved Section" "Dave Bullis" "Mrklin M-Track" "Curved R437.4 15" "5201" 17.220472 15.000000 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Curved R437.4 15° 5201"
+ U "Curved Section" "Dave Bullis" "Märklin M-Track" "Curved R437.4 15°" "5201" 17.220472 15.000000 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.456986 0.586773 75.000000
@@ -138,8 +138,8 @@ TURNOUT HO "Mrklin M-Track Curved R437.4 15 5201"
A3 16754688 0.053333 17.958661 0.000000 17.220472 0 165.000000 15.000000
A3 16754688 0.053333 16.482283 0.000000 17.220472 0 165.000000 15.000000
END
-TURNOUT HO "Mrklin M-Track Curved R437.4 543' 5205"
- U "Curved Section" "Dave Bullis" "Mrklin M-Track" "Curved R437.4 543'" "5205" 17.220472 5.717000 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Curved R437.4 5°43' 5205"
+ U "Curved Section" "Dave Bullis" "Märklin M-Track" "Curved R437.4 5°43'" "5205" 17.220472 5.717000 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 1.715417 0.085654 84.283000
@@ -148,9 +148,9 @@ TURNOUT HO "Mrklin M-Track Curved R437.4 543' 5205"
A3 16754688 0.053333 16.482283 0.000000 17.220472 0 174.283000 5.717000
END
-SUBCONTENTS Mrklin M-Track - Crossings
-TURNOUT HO "Mrklin M-Track Crossing 30 5114"
- U "Crossing" "Dave Bullis" "Mrklin M-Track" "Crossing 30" "5114" 7.598425 30.000000 7.598425 1.476378 0.053333 16754688
+SUBCONTENTS Märklin M-Track - Crossings
+TURNOUT HO "Märklin M-Track Crossing 30° 5114"
+ U "Crossing" "Dave Bullis" "Märklin M-Track" "Crossing 30°" "5114" 7.598425 30.000000 7.598425 1.476378 0.053333 16754688
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 7.598425 0.000000 90.000000
@@ -167,8 +167,8 @@ TURNOUT HO "Mrklin M-Track Crossing 30 5114"
L3 16754688 0.053333 0.878092 2.538897 0 3.962669 0.758016 0
L3 16754688 0.053333 6.635968 -0.785414 0 7.458522 -1.260316 0
END
-TURNOUT HO "Mrklin M-Track Crossing 24 17' 5215"
- U "Crossing" "Dave Bullis" "Mrklin M-Track" "Crossing 24 17'" "5215" 7.086614 24.283000 7.086614 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Crossing 24° 17' 5215"
+ U "Crossing" "Dave Bullis" "Märklin M-Track" "Crossing 24° 17'" "5215" 7.086614 24.283000 7.086614 1.476378 0.053333 16754688
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
@@ -185,8 +185,8 @@ TURNOUT HO "Mrklin M-Track Crossing 24 17' 5215"
L3 16754688 0.053333 0.617069 2.130041 0 3.645019 0.763951 0
L3 16754688 0.053333 6.874834 -0.693213 0 7.076697 -0.784286 0
END
-TURNOUT HO "Mrklin M-Track Crossing 48 30' 5211"
- U "Crossing" "Dave Bullis" "Mrklin M-Track" "Crossing 48 30'" "5211" 3.858268 48.500000 3.858268 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Crossing 48° 30' 5211"
+ U "Crossing" "Dave Bullis" "Märklin M-Track" "Crossing 48° 30'" "5211" 3.858268 48.500000 3.858268 1.476378 0.053333 16754688
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 3.858268 0.000000 90.000000
@@ -204,8 +204,8 @@ TURNOUT HO "Mrklin M-Track Crossing 48 30' 5211"
L3 16754688 0.053333 3.600502 -0.775093 0 3.760288 -0.955697 0
END
-SUBCONTENTS Mrklin M-Track - Turnouts
-TURNOUT HO "Mrklin M-Track Left Turnout R437.4mm 5203"
+SUBCONTENTS Märklin M-Track - Turnouts
+TURNOUT HO "Märklin M-Track Left Turnout R437.4mm 5203"
P "Normal" 1 2
P "Reverse" 1 3 4
E 0.015738 0.764231 270.000000
@@ -223,7 +223,7 @@ TURNOUT HO "Mrklin M-Track Left Turnout R437.4mm 5203"
L3 16754688 0.052083 7.147492 1.498287 0 7.406116 1.615055 0
L3 16754688 0.052083 6.207448 2.693743 0 6.798588 2.960641 0
END
-TURNOUT HO "Mrklin M-Track Right Turnout R437.4mm 5204"
+TURNOUT HO "Märklin M-Track Right Turnout R437.4mm 5204"
P "Normal" 1 2
P "Reverse" 1 3 4
E 0.015740 2.220145 270.000000
@@ -241,7 +241,7 @@ TURNOUT HO "Mrklin M-Track Right Turnout R437.4mm 5204"
L3 16754688 0.052083 7.147494 1.486089 0 7.406118 1.369321 0
L3 16754688 0.052083 6.207450 0.290633 0 6.798590 0.023735 0
END
-TURNOUT HO "Mrklin M-Track Left Turnout R360 30 5118"
+TURNOUT HO "Märklin M-Track Left Turnout R360 30° 5118"
P "P0" 1 2
P "P1" 1 3 4 5
E 0.050937 0.764231 270.000000
@@ -265,7 +265,7 @@ TURNOUT HO "Mrklin M-Track Left Turnout R360 30 5118"
A3 255 0.062500 0.742961 4.779596 3.159672 0 160.201031 55.858005
A3 255 0.062500 0.777127 3.808337 2.014086 0 348.492336 54.906300
END
-TURNOUT HO "Mrklin M-Track Right Turnout R360 30 5119"
+TURNOUT HO "Märklin M-Track Right Turnout R360 30° 5119"
P "P0" 1 2
P "P1" 1 3 4 5
E 0.051021 2.564184 270.000000
@@ -289,7 +289,7 @@ TURNOUT HO "Mrklin M-Track Right Turnout R360 30 5119"
A3 255 0.062500 0.742961 4.779594 0.168716 0 323.940964 55.858005
A3 255 0.062500 0.777127 3.808335 1.314302 0 136.601365 54.906300
END
-TURNOUT HO "Mrklin M-Track Left Turnout R360 5138"
+TURNOUT HO "Märklin M-Track Left Turnout R360 5138"
P "Normal" 1 2
P "Reverse" 1 3 4
E 0.015738 0.764231 270.000000
@@ -307,7 +307,7 @@ TURNOUT HO "Mrklin M-Track Left Turnout R360 5138"
A3 16754688 0.052083 10.174306 0.664338 11.676726 0 157.500000 22.500000
L3 16754688 0.052083 4.557876 2.276893 0 5.157105 2.525102 0
END
-TURNOUT HO "Mrklin M-Track Right Turnout R360 5139"
+TURNOUT HO "Märklin M-Track Right Turnout R360 5139"
P "Normal" 1 2
P "Reverse" 1 3 4
E 0.015740 1.784930 270.000000
@@ -325,9 +325,11 @@ TURNOUT HO "Mrklin M-Track Right Turnout R360 5139"
A3 16754688 0.052083 10.174306 0.664340 -9.127565 0 0.000000 22.500000
L3 16754688 0.052083 4.557878 0.272268 0 5.157107 0.024059 0
END
-TURNOUT HO "Mrklin M-Track Double Slip 30 5128"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Märklin M-Track Double Slip 30° 5128" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.215299 0.738192 255.000000
E 7.554814 2.704807 75.000000
E 0.215300 2.704809 285.000000
@@ -362,7 +364,7 @@ TURNOUT HO "Mrklin M-Track Double Slip 30 5128"
L3 255 0.062500 1.153297 3.660763 0 2.531250 3.660763 0
L3 255 0.062500 5.287156 3.660763 0 6.665108 3.660763 0
END
-TURNOUT HO "Mrklin M-Track Left Curved Turnout 5141"
+TURNOUT HO "Märklin M-Track Left Curved Turnout 5141"
P "Normal" 1 6 4 5
P "Reverse" 1 2 3
E 0.015738 0.764231 270.000000
@@ -385,7 +387,7 @@ TURNOUT HO "Mrklin M-Track Left Curved Turnout 5141"
L3 255 0.062500 4.681093 2.279979 0 1.473613 2.279979 0
L3 255 0.062500 0.014716 1.501877 0 1.473452 2.280525 0
END
-TURNOUT HO "Mrklin M-Track Right Curved Turnout 5142"
+TURNOUT HO "Märklin M-Track Right Curved Turnout 5142"
P "Normal" 1 6 4 5
P "Reverse" 1 2 3
E 0.015762 2.560696 270.000000
@@ -408,7 +410,7 @@ TURNOUT HO "Mrklin M-Track Right Curved Turnout 5142"
L3 255 0.062500 4.681093 1.044914 0 1.473613 1.044914 0
L3 255 0.062500 0.014716 1.823015 0 1.473452 1.044368 0
END
-TURNOUT HO "Mrklin M-Track 3-Way Turnout 5214"
+TURNOUT HO "Märklin M-Track 3-Way Turnout 5214"
P "Left" 1 2 3
P "Normal" 1 6
P "Right" 1 4 5
@@ -435,10 +437,12 @@ TURNOUT HO "Mrklin M-Track 3-Way Turnout 5214"
L3 255 0.062500 0.013205 1.482042 0 1.469898 0.802908 0
L3 255 0.062500 1.469898 0.802908 0 4.895094 0.802908 0
END
-TURNOUT HO "Mrklin M-Track Double Slip 24 17' 5207"
- U "Double Slipswitch" "Dave Bullis" "Mrklin M-Track" "Double Slip 24 17'" "5207" 7.086614 24.283000 7.086614 1.476378 0.053333 16754688
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Märklin M-Track Double Slip 24° 17' 5207" 512
+ U "Double Slipswitch" "Dave Bullis" "Märklin M-Track" "Double Slip 24° 17'" "5207" 7.086614 24.283000 7.086614 1.476378 0.053333 16754688
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
E 0.313493 1.457164 294.283000
@@ -463,9 +467,9 @@ TURNOUT HO "Mrklin M-Track Double Slip 24 17' 5207"
A3 16754688 0.053333 9.702064 5.789414 10.440253 0 180.000000 24.283000
END
-SUBCONTENTS Mrklin M-Track - Misc track
-TURNOUT HO "Mrklin M-Track Bumper 7190"
- U "Straight Section" "Dave Bullis" "Mrklin M-Track" "Bumper" "7190" 2.755906 1.476378 0.053333 16754688
+SUBCONTENTS Märklin M-Track - Misc track
+TURNOUT HO "Märklin M-Track Bumper 7190"
+ U "Straight Section" "Dave Bullis" "Märklin M-Track" "Bumper" "7190" 2.755906 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
S 0 0.000000 0.000000 0.000000 2.755906 0.000000
@@ -477,8 +481,8 @@ TURNOUT HO "Mrklin M-Track Bumper 7190"
L3 16754688 0.053333 0.000000 -0.738189 0 2.755906 -0.738189 0
L3 16754688 0.053333 0.000000 0.738189 0 2.755906 0.738189 0
END
-TURNOUT HO "Mrklin M-Track Lighted Bumper 7191"
- U "Straight Section" "Dave Bullis" "Mrklin M-Track" "Lighted Bumper" "7191" 2.755906 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Lighted Bumper 7191"
+ U "Straight Section" "Dave Bullis" "Märklin M-Track" "Lighted Bumper" "7191" 2.755906 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
S 0 0.000000 0.000000 0.000000 2.755906 0.000000
@@ -491,8 +495,8 @@ TURNOUT HO "Mrklin M-Track Lighted Bumper 7191"
L3 16754688 0.053333 0.000000 -0.738189 0 2.755906 -0.738189 0
L3 16754688 0.053333 0.000000 0.738189 0 2.755906 0.738189 0
END
-TURNOUT HO "Mrklin M-Track Straight Feeder 5111"
- U "Straight Section" "Dave Bullis" "Mrklin M-Track" "Straight Feeder" "5111" 7.086614 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Straight Feeder 5111"
+ U "Straight Section" "Dave Bullis" "Märklin M-Track" "Straight Feeder" "5111" 7.086614 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
@@ -502,8 +506,8 @@ TURNOUT HO "Mrklin M-Track Straight Feeder 5111"
L3 16754688 0.053333 0.000000 -0.738189 0 7.086614 -0.738189 0
L3 16754688 0.053333 0.000000 0.738189 0 7.086614 0.738189 0
END
-TURNOUT HO "Mrklin M-Track Straight Feeder w/Capacitor 5131"
- U "Straight Section" "Dave Bullis" "Mrklin M-Track" "Straight Feeder w/Capacitor" "5131" 7.086614 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Straight Feeder w/Capacitor 5131"
+ U "Straight Section" "Dave Bullis" "Märklin M-Track" "Straight Feeder w/Capacitor" "5131" 7.086614 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
@@ -517,8 +521,8 @@ TURNOUT HO "Mrklin M-Track Straight Feeder w/Capacitor 5131"
L3 16754688 0.053333 0.000000 -0.738189 0 7.086614 -0.738189 0
L3 16754688 0.053333 0.000000 0.738189 0 7.086614 0.738189 0
END
-TURNOUT HO "Mrklin M-Track Curved Feeder 5103"
- U "Curved Section" "Dave Bullis" "Mrklin M-Track" "Curved Feeder" "5103" 14.173228 30.000000 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Curved Feeder 5103"
+ U "Curved Section" "Dave Bullis" "Märklin M-Track" "Curved Feeder" "5103" 14.173228 30.000000 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 1.898853 60.000000
@@ -528,8 +532,8 @@ TURNOUT HO "Mrklin M-Track Curved Feeder 5103"
A3 16754688 0.053333 14.911417 0.000000 14.173228 0 150.000000 30.000000
A3 16754688 0.053333 13.435039 0.000000 14.173228 0 150.000000 30.000000
END
-TURNOUT HO "Mrklin M-Track Uncoupler 5112"
- U "Straight Section" "Dave Bullis" "Mrklin M-Track" "Uncoupler" "5112" 3.543307 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Uncoupler 5112"
+ U "Straight Section" "Dave Bullis" "Märklin M-Track" "Uncoupler" "5112" 3.543307 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.543307 0.000000 90.000000
@@ -542,9 +546,9 @@ TURNOUT HO "Mrklin M-Track Uncoupler 5112"
L3 16754688 0.053333 0.000000 0.738189 0 3.543307 0.738189 0
END
-SUBCONTENTS Mrklin M-Track - Circuit Tracks
-TURNOUT HO "Mrklin M-Track Straight Circuit 5146"
- U "Straight Section" "Dave Bullis" "Mrklin M-Track" "Straight Circuit" "5146" 3.543307 1.476378 0.053333 16754688
+SUBCONTENTS Märklin M-Track - Circuit Tracks
+TURNOUT HO "Märklin M-Track Straight Circuit 5146"
+ U "Straight Section" "Dave Bullis" "Märklin M-Track" "Straight Circuit" "5146" 3.543307 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.543307 0.000000 90.000000
@@ -569,8 +573,8 @@ TURNOUT HO "Mrklin M-Track Straight Circuit 5146"
L3 16754688 0.053333 0.000000 -0.738189 0 3.543307 -0.738189 0
L3 16754688 0.053333 0.000000 0.738189 0 3.543307 0.738189 0
END
-TURNOUT HO "Mrklin M-Track Curved Circuit 5147"
- U "Curved Section" "Dave Bullis" "Mrklin M-Track" "Curved Circuit" "5147" 14.173228 15.000000 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Curved Circuit 5147"
+ U "Curved Section" "Dave Bullis" "Märklin M-Track" "Curved Circuit" "5147" 14.173228 15.000000 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.668301 0.482941 75.000000
@@ -595,8 +599,8 @@ TURNOUT HO "Mrklin M-Track Curved Circuit 5147"
A3 16754688 0.053333 14.911417 -0.000000 14.173228 0 165.000000 15.000000
A3 16754688 0.053333 13.435039 -0.000000 14.173228 0 165.000000 15.000000
END
-TURNOUT HO "Mrklin M-Track Curved Circuit 5213"
- U "Curved Section" "Dave Bullis" "Mrklin M-Track" "Curved Circuit" "5213" 17.220472 15.000000 1.476378 0.053333 16754688
+TURNOUT HO "Märklin M-Track Curved Circuit 5213"
+ U "Curved Section" "Dave Bullis" "Märklin M-Track" "Curved Circuit" "5213" 17.220472 15.000000 1.476378 0.053333 16754688
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.456986 0.586773 75.000000
@@ -623,8 +627,8 @@ TURNOUT HO "Mrklin M-Track Curved Circuit 5213"
END
-SUBCONTENTS Mrklin M-Track - Contact Tracks
-TURNOUT HO "Mrklin M-Track Contact Set 5145"
+SUBCONTENTS Märklin M-Track - Contact Tracks
+TURNOUT HO "Märklin M-Track Contact Set 5145"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.543307 0.000000 90.000000
@@ -635,7 +639,7 @@ TURNOUT HO "Mrklin M-Track Contact Set 5145"
L3 8421376 0.150000 0.885827 -0.738189 0 0.885827 -0.888189 0
L3 8421376 0.150000 2.657480 -0.738189 0 2.657480 -0.888189 0
END
-TURNOUT HO "Mrklin M-Track Straight Contact 180mm 5115"
+TURNOUT HO "Märklin M-Track Straight Contact 180mm 5115"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
@@ -644,7 +648,7 @@ TURNOUT HO "Mrklin M-Track Straight Contact 180mm 5115"
L3 16754688 0.053333 0.000000 0.738189 0 7.086614 0.738189 0
L3 16754688 0.053333 0.000000 -0.738189 0 7.086614 -0.738189 0
END
-TURNOUT HO "Mrklin M-Track Curved Contact 5116"
+TURNOUT HO "Märklin M-Track Curved Contact 5116"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 1.898853 60.000000
@@ -654,8 +658,8 @@ TURNOUT HO "Mrklin M-Track Curved Contact 5116"
A3 16754688 0.053333 13.435039 0.000000 14.173228 0 150.000000 30.000000
END
-SUBCONTENTS Mrklin M-Track - Contact (old) Tracks
-TURNOUT HO "Mrklin M-Track Straight Contact(old) 90mm 3601D"
+SUBCONTENTS Märklin M-Track - Contact (old) Tracks
+TURNOUT HO "Märklin M-Track Straight Contact(old) 90mm 3601D"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.543307 0.000000 90.000000
@@ -666,7 +670,7 @@ TURNOUT HO "Mrklin M-Track Straight Contact(old) 90mm 3601D"
L3 8421376 0.150000 1.446850 -0.738189 0 1.446850 -0.888189 0
L3 8421376 0.150000 2.096457 -0.738189 0 2.096457 -0.888189 0
END
-TURNOUT HO "Mrklin M-Track Straight Contact(old) 180mm 5105"
+TURNOUT HO "Märklin M-Track Straight Contact(old) 180mm 5105"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
@@ -677,7 +681,7 @@ TURNOUT HO "Mrklin M-Track Straight Contact(old) 180mm 5105"
L3 8421376 0.150000 3.218504 -0.738189 0 3.218504 -0.888189 0
L3 8421376 0.150000 3.868110 -0.738189 0 3.868110 -0.888189 0
END
-TURNOUT HO "Mrklin Curve Contact(old) R360mm 30 5104"
+TURNOUT HO "Märklin Curve Contact(old) R360mm 30° 5104"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 -1.898853 120.000000
@@ -689,8 +693,8 @@ TURNOUT HO "Mrklin Curve Contact(old) R360mm 30 5104"
L3 8421376 0.150000 4.000000 -1.350000 0 3.955000 -1.500000 0
END
-SUBCONTENTS Mrklin M-Track - TurnTable
-TURNOUT HO "Mrklin M-Track Turntable 7186"
+SUBCONTENTS Märklin M-Track - TurnTable
+TURNOUT HO "Märklin M-Track Turntable 7186" 512
P "1" 1 2
P "2" 3 4 5
P "3" 6 7
@@ -776,8 +780,8 @@ TURNOUT HO "Mrklin M-Track Turntable 7186"
A 16711680 0 6.102362 0.000000 0.000000 0.000000 360.000000
END
-SUBCONTENTS Mrklin M-Track - Transfer Table
-TURNOUT HO "Mrklin M-Track Transfer Table 7294"
+SUBCONTENTS Märklin M-Track - Transfer Table
+TURNOUT HO "Märklin M-Track Transfer Table 7294" 512
P "P0" 1 2 3
P "P1" 4 5
P "P2" 6 7
@@ -830,83 +834,80 @@ TURNOUT HO "Mrklin M-Track Transfer Table 7294"
L3 0 0.052632 8.661417 -7.492126 0 13.385827 -7.492126 0
END
-SUBCONTENTS Mrklin - K/M-Track TurnTable
-TURNOUT HO "Marklin K/M-Track Turntable 12.2"" Dia 7.5d 48 Positions 7286"
- P "1" 1
- P "2" 2
- P "3" 3
- P "4" 4
- P "5" 5
- P "6" 6
- P "7" 7
- P "8" 8
- P "9" 9
- P "10" 10
- P "11" 11
- P "12" 12
- P "13" 13
- P "14" 14
- P "15" 15
- P "16" 16
- P "17" 17
- P "18" 18
- P "19" 19
- P "20" 20
- P "21" 21
- P "22" 22
- P "23" 23
- P "24" 24
- G3 0 0.000000 0.129736 0.000000 0.000000 0 0.000000 360.000000
- A3 0 0.031250 6.102362 0.000000 0.000000 0 0.000000 360.000000
- A3 0 0.031250 7.598425 0.000000 0.000000 0 0.000000 360.000000
- E 0.000000 6.102362 0.000000
- E 0.796518 6.050155 7.500000
- E 1.579408 5.894429 15.000000
- E 2.335273 5.637847 22.500000
- E 3.051181 5.284801 30.000000
- E 3.714883 4.841329 37.500000
- E 4.315022 4.315022 45.000000
- E 4.841329 3.714883 52.500000
- E 5.284801 3.051181 60.000000
- E 5.637847 2.335273 67.500000
- E 5.894429 1.579408 75.000000
- E 6.050155 0.796518 82.500000
- E 6.102362 0.000000 90.000000
- E 6.050155 -0.796518 97.500000
- E 5.894429 -1.579408 105.000000
- E 5.637847 -2.335273 112.500000
- E 5.284801 -3.051181 120.000000
- E 4.841329 -3.714883 127.500000
- E 4.315022 -4.315022 135.000000
- E 3.714883 -4.841329 142.500000
- E 3.051181 -5.284801 150.000000
- E 2.335273 -5.637847 157.500000
- E 1.579408 -5.894429 165.000000
- E 0.796518 -6.050155 172.500000
- E 0.000000 -6.102362 180.000000
- E -0.796518 -6.050155 187.500000
- E -1.579408 -5.894429 195.000000
- E -2.335273 -5.637847 202.500000
- E -3.051181 -5.284801 210.000000
- E -3.714883 -4.841329 217.500000
- E -4.315022 -4.315022 225.000000
- E -4.841329 -3.714883 232.500000
- E -5.284801 -3.051181 240.000000
- E -5.637847 -2.335273 247.500000
- E -5.894429 -1.579408 255.000000
- E -6.050155 -0.796518 262.500000
- E -6.102362 0.000000 270.000000
- E -6.050155 0.796518 277.500000
- E -5.894429 1.579408 285.000000
- E -5.637847 2.335273 292.500000
- E -5.284801 3.051181 300.000000
- E -4.841329 3.714883 307.500000
- E -4.315022 4.315022 315.000000
- E -3.714883 4.841329 322.500000
- E -3.051181 5.284801 330.000000
- E -2.335273 5.637847 337.500000
- E -1.579408 5.894429 345.000000
- E -0.796518 6.050155 352.500000
+SUBCONTENTS Märklin - K/M-Track TurnTable
+TURNOUT HO "Marklin K/M-Track Turntable 12.2"" Dia 7.5d 48 Positions 7286" 512
+ P "1" 1
+ P "2" 2
+ P "3" 3
+ P "4" 4
+ P "5" 5
+ P "6" 6
+ P "7" 7
+ P "8" 8
+ P "9" 9
+ P "10" 10
+ P "11" 11
+ P "12" 12
+ P "13" 13
+ P "14" 14
+ P "15" 15
+ P "16" 16
+ P "17" 17
+ P "18" 18
+ P "19" 19
+ P "20" 20
+ P "21" 21
+ P "22" 22
+ P "23" 23
+ P "24" 24
+ E 0.000000 6.102362 0.000000
+ E 0.796518 6.050155 7.500000
+ E 1.579408 5.894429 15.000000
+ E 2.335273 5.637847 22.500000
+ E 3.051181 5.284801 30.000000
+ E 3.714883 4.841329 37.500000
+ E 4.315022 4.315022 45.000000
+ E 4.841329 3.714883 52.500000
+ E 5.284801 3.051181 60.000000
+ E 5.637847 2.335273 67.500000
+ E 5.894429 1.579408 75.000000
+ E 6.050155 0.796518 82.500000
+ E 6.102362 0.000000 90.000000
+ E 6.050155 -0.796518 97.500000
+ E 5.894429 -1.579408 105.000000
+ E 5.637847 -2.335273 112.500000
+ E 5.284801 -3.051181 120.000000
+ E 4.841329 -3.714883 127.500000
+ E 4.315022 -4.315022 135.000000
+ E 3.714883 -4.841329 142.500000
+ E 3.051181 -5.284801 150.000000
+ E 2.335273 -5.637847 157.500000
+ E 1.579408 -5.894429 165.000000
+ E 0.796518 -6.050155 172.500000
+ E 0.000000 -6.102362 180.000000
+ E -0.796518 -6.050155 187.500000
+ E -1.579408 -5.894429 195.000000
+ E -2.335273 -5.637847 202.500000
+ E -3.051181 -5.284801 210.000000
+ E -3.714883 -4.841329 217.500000
+ E -4.315022 -4.315022 225.000000
+ E -4.841329 -3.714883 232.500000
+ E -5.284801 -3.051181 240.000000
+ E -5.637847 -2.335273 247.500000
+ E -5.894429 -1.579408 255.000000
+ E -6.050155 -0.796518 262.500000
+ E -6.102362 0.000000 270.000000
+ E -6.050155 0.796518 277.500000
+ E -5.894429 1.579408 285.000000
+ E -5.637847 2.335273 292.500000
+ E -5.284801 3.051181 300.000000
+ E -4.841329 3.714883 307.500000
+ E -4.315022 4.315022 315.000000
+ E -3.714883 4.841329 322.500000
+ E -3.051181 5.284801 330.000000
+ E -2.335273 5.637847 337.500000
+ E -1.579408 5.894429 345.000000
+ E -0.796518 6.050155 352.500000
S 16777215 0 0.000000 6.102362 0.000000 -6.102362
S 16777215 0 0.796518 6.050155 -0.796518 -6.050155
S 16777215 0 1.579408 5.894429 -1.579408 -5.894429
@@ -931,24 +932,27 @@ TURNOUT HO "Marklin K/M-Track Turntable 12.2"" Dia 7.5d 48 Positions 7286"
S 16777215 0 2.335273 -5.637847 -2.335273 5.637847
S 16777215 0 1.579408 -5.894429 -1.579408 5.894429
S 16777215 0 0.796518 -6.050155 -0.796518 6.050155
+ G3 0 0.000000 0.129736 0.000000 0.000000 0 0.000000 360.000000
+ A3 0 0.031250 6.102362 0.000000 0.000000 0 0.000000 360.000000
+ A3 0 0.031250 7.598425 0.000000 0.000000 0 0.000000 360.000000
END
-TURNOUT HO "Mrklin K/M-Track Turntable Position Spoke Track 38mm 7287"
+TURNOUT HO "Märklin K/M-Track Turntable Position Spoke Track 38mm 7287"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 1.496063 0.000000 90.000000
S 0 0.000000 0.000000 0.000000 1.496063 0.000000
END
-TURNOUT HO "Mrklin K/M-Track Turntable Position Dummy Track 38mm 7287"
+TURNOUT HO "Märklin K/M-Track Turntable Position Dummy Track 38mm 7287"
P "Normal" 1
E 0.000000 0.000000 270.000000
S 16777215 0.000000 0.000000 0.000000 1.496063 0.000000
- L3 0 0.060000 0.000000 0.324340 0 1.496063 0.324340 0
- L3 0 0.060000 0.000000 -0.324340 0 1.496063 -0.324340 0
+ L3 0 0.060000 0.000000 0.324340 0 1.496063 0.324340 0
+ L3 0 0.060000 0.000000 -0.324340 0 1.496063 -0.324340 0
END
-SUBCONTENTS Mrklin M-Track - Bridges
-TURNOUT HO "Mrklin M-Track Plate Girder Bridge 180mm 7161"
+SUBCONTENTS Märklin M-Track - Bridges
+TURNOUT HO "Märklin M-Track Plate Girder Bridge 180mm 7161"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
@@ -958,7 +962,7 @@ TURNOUT HO "Mrklin M-Track Plate Girder Bridge 180mm 7161"
L3 11579568 0.053333 0.000000 1.181102 0 0.000000 -1.181102 0
L3 11579568 0.053333 7.086614 1.181102 0 7.086614 -1.181102 0
END
-TURNOUT HO "Mrklin M-Track Lattice Girder Bridge 180mm 7162"
+TURNOUT HO "Märklin M-Track Lattice Girder Bridge 180mm 7162"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
@@ -978,7 +982,7 @@ TURNOUT HO "Mrklin M-Track Lattice Girder Bridge 180mm 7162"
L3 11579568 0.053333 5.669291 -1.181102 0 6.377952 1.181102 0
L3 11579568 0.053333 6.377952 1.181102 0 7.086614 -1.181102 0
END
-TURNOUT HO "Mrklin M-Track Arched Bridge 180mm 7163"
+TURNOUT HO "Märklin M-Track Arched Bridge 180mm 7163"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 14.173228 0.000000 90.000000
@@ -1001,7 +1005,7 @@ TURNOUT HO "Mrklin M-Track Arched Bridge 180mm 7163"
L3 11579568 0.053333 8.661417 1.181102 0 10.236220 -1.181102 0
L3 11579568 0.053333 10.236220 1.181102 0 10.236220 -1.181102 0
END
-TURNOUT HO "Mrklin M-Track Curved Straight Approach Bridge Section R360 30 7167"
+TURNOUT HO "Märklin M-Track Curved Straight Approach Bridge Section R360 30° 7167"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 -1.898853 120.000000
@@ -1019,7 +1023,7 @@ TURNOUT HO "Mrklin M-Track Curved Straight Approach Bridge Section R360 30 716
A3 11579568 0.053333 12.795276 0.000000 -14.173228 0 28.7500000 1.250000
L3 11579568 0.053333 7.775591 -0.705510 0 6.397638 -3.092195 0
END
-TURNOUT HO "Mrklin M-Track Straight Approach Bridge Section 180mm 7168"
+TURNOUT HO "Märklin M-Track Straight Approach Bridge Section 180mm 7168"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 0.000000 90.000000
@@ -1037,7 +1041,7 @@ TURNOUT HO "Mrklin M-Track Straight Approach Bridge Section 180mm 7168"
L3 11579568 0.053333 6.889764 -1.377953 0 7.086614 -1.377953 0
L3 11579568 0.053333 7.086614 1.377953 0 7.086614 -1.377953 0
END
-STRUCTURE HO "Mrklin M-Track Bridge Pier (30mm) 7064"
+STRUCTURE HO "Märklin M-Track Bridge Pier (30mm) 7064"
X pier 1.181102 ""
L3 11579568 0.053333 -0.295276 1.692913 0 0.295276 1.692913 0
L3 11579568 0.053333 -0.295276 1.692913 0 -0.787402 1.200787 0
@@ -1048,7 +1052,7 @@ STRUCTURE HO "Mrklin M-Track Bridge Pier (30mm) 7064"
L3 11579568 0.053333 0.295276 -1.692913 0 0.787402 -1.200787 0
L3 11579568 0.053333 -0.295276 -1.692913 0 0.295276 -1.692913 0
END
-STRUCTURE HO "Mrklin M-Track Bridge Pier (6mm) 7065"
+STRUCTURE HO "Märklin M-Track Bridge Pier (6mm) 7065"
X pier 0.236220 ""
L3 11579568 0.053333 -0.295276 1.692913 0 0.295276 1.692913 0
L3 11579568 0.053333 -0.295276 1.692913 0 -0.787402 1.200787 0
@@ -1059,7 +1063,7 @@ STRUCTURE HO "Mrklin M-Track Bridge Pier (6mm) 7065"
L3 11579568 0.053333 0.295276 -1.692913 0 0.787402 -1.200787 0
L3 11579568 0.053333 -0.295276 -1.692913 0 0.295276 -1.692913 0
END
-STRUCTURE HO "Mrklin M-Track Bridge Pier (baseplate 3mm) 7066"
+STRUCTURE HO "Märklin M-Track Bridge Pier (baseplate 3mm) 7066"
X pier 0.118110 ""
L3 11579568 0.053333 -0.295276 1.692913 0 0.295276 1.692913 0
L3 11579568 0.053333 -0.295276 1.692913 0 -0.787402 1.200787 0
diff --git a/app/lib/params/HO-Peco-Code100Streamline.xtp b/app/lib/params/HO-Peco-Code100Streamline.xtp
index 013c810..95ceed8 100644
--- a/app/lib/params/HO-Peco-Code100Streamline.xtp
+++ b/app/lib/params/HO-Peco-Code100Streamline.xtp
@@ -69,32 +69,30 @@ TURNOUT HO "Peco RH Long Turnout, Insulfrog SL-88"
SUBCONTENTS Peco HO Scale Code 100 Curved Turnouts
TURNOUT HO "Peco Curved Left Turnout SL-87"
- P "Normal" 1 2 3 4
- P "Reverse" 1 2 5 6 7
+ P "Normal" 1 2 3
+ P "Reverse" 1 4 5 6
E 0.000000 0.000000 270.000000
- E 9.930000 0.830000 80.473000
- E 9.680000 1.970000 69.666000
- C 0 0.000000 60.000000 0.000000 60.000000 179.952254 0.047746
- S 0 0.000000 0.050000 0.000021 0.549978 0.002473
- C 0 0.000000 -59.997741 -0.016498 59.997539 170.505131 8.953896
- C 0 0.000000 60.000000 -0.000742 60.002463 170.473000 0.047746
- C 0 0.000000 -20.009032 0.514864 20.011474 166.525509 13.373944
- C 0 0.000000 -42.289079 -5.246889 41.537410 159.398651 6.331063
- C 0 0.000000 30.000000 -0.744764 30.100487 159.666000 0.095493
+ E 9.930000 0.830000 80.490000
+ E 9.681496 1.794000 69.640000
+ S 0 0.000000 0.000000 0.000000 1.204702 0.001944
+ C 0 0.000000 -56.711913 0.217496 56.705263 170.341157 8.661424
+ C 0 0.000000 -60.000000 0.016815 60.005407 170.490000 0.190986
+ C 0 0.000000 -19.394467 1.124778 19.396246 167.192625 12.571261
+ C 0 0.000000 -36.267775 -3.099537 35.736252 159.681969 6.725371
+ C 0 0.000000 -28.764567 -0.326204 28.761504 159.640000 0.398377
END
TURNOUT HO "Peco Curved Right Turnout SL-86"
- P "Normal" 1 2 3 4
- P "Reverse" 1 2 5 6 7
+ P "Normal" 1 2 3
+ P "Reverse" 1 4 5 6
E 0.000000 0.000000 270.000000
- E 9.930000 -0.830000 99.527000
- E 9.680000 -1.970000 110.334000
- C 0 0.000000 60.000000 0.000000 -60.000000 0.000000 0.047746
- S 0 0.000000 0.050000 -0.000021 0.549978 -0.002473
- C 0 0.000000 59.997741 -0.016498 -59.997539 0.540973 8.953896
- C 0 0.000000 60.000000 -0.000742 -60.002463 9.479254 0.047746
- C 0 0.000000 20.009032 0.514864 -20.011474 0.100547 13.373944
- C 0 0.000000 42.289079 -5.246889 -41.537410 14.270285 6.331063
- C 0 0.000000 30.000000 -0.744764 -30.100487 20.238507 0.095493
+ E 9.930000 -0.830000 99.510000
+ E 9.681496 -1.794000 110.360000
+ S 0 0.000000 0.000000 0.000000 1.204702 -0.001944
+ C 0 0.000000 56.711913 0.217496 -56.705263 0.997419 8.661424
+ C 0 0.000000 60.000000 0.016815 -60.005407 9.319014 0.190986
+ C 0 0.000000 19.394467 1.124778 -19.396246 0.236114 12.571261
+ C 0 0.000000 36.267775 -3.099537 -35.736252 13.592659 6.725371
+ C 0 0.000000 28.764567 -0.326204 -28.761504 19.961623 0.398377
END
SUBCONTENTS Peco HO Scale Code 100 WYE Turnouts
@@ -102,48 +100,49 @@ TURNOUT HO "Peco Short Y Turnout SL-97"
P "Left" 1 2 3 4 5
P "Right" 1 2 6 7 8
E 0.000000 0.000000 270.000000
- E 5.733858 0.517717 78.000000
- E 5.733858 -0.517717 102.000000
- S 0 0.000000 0.000000 0.000000 0.050000 0.000000
- S 0 0.000000 0.050000 0.000000 0.837008 0.000000
- C 0 0.000000 -21.959287 1.049798 21.958256 174.182810 6.372407
- C 0 0.000000 -25.426526 0.368265 25.371829 167.930412 5.504160
- C 0 0.000000 23.701181 0.806106 23.700970 168.000000 0.120871
- C 0 0.000000 21.967293 1.049905 -21.966261 359.444707 6.370099
- C 0 0.000000 25.415926 0.370538 -25.361368 6.563042 5.506467
- C 0 0.000000 23.701181 10.661611 22.665537 192.120871 0.120871
+ E 5.734000 0.517717 78.000000
+ E 5.733858 -0.518000 102.000000
+ S 0 0.000000 0.000000 0.000000 0.200000 0.000000
+ S 0 0.000000 0.200000 0.000000 0.987008 0.000000
+ C 0 0.000000 -21.538028 1.221044 21.536756 174.521400 6.101197
+ C 0 0.000000 -20.601246 0.999673 20.572063 167.273147 6.379205
+ C 0 0.000000 -23.701000 0.806285 23.700793 168.000000 0.483488
+ C 0 0.000000 20.114739 1.173703 -20.113873 359.468200 6.530097
+ C 0 0.000000 26.357793 0.179320 -26.284552 6.746334 4.984102
+ C 0 0.000000 23.701000 0.806143 -23.701076 11.516512 0.483488
END
TURNOUT HO "Peco Large Y Turnout SL-98"
P "Left" 1 2 3 4
P "Right" 1 2 5 6
E 0.000000 0.000000 270.000000
- E 8.638189 0.479134 84.000000
- E 8.638189 -0.479134 96.000000
- S 0 0.000000 0.000000 0.000000 0.050000 0.000000
- S 0 0.000000 0.050000 0.000000 0.855906 0.000000
- C 0 0.000000 -56.219397 1.192646 56.218388 176.392954 3.950236
- C 0 0.000000 -108.369470 -3.503854 108.166608 173.593356 2.049359
- C 0 0.000000 54.238706 1.176210 -54.237760 359.661640 4.094836
- C 0 0.000000 116.607497 -4.432846 -116.362546 4.506721 1.904748
+ E 8.640000 0.480000 83.500000
+ E 8.640000 -0.480000 96.500000
+ S 0 0.000000 0.000000 0.000000 0.200000 0.000000
+ S 0 0.000000 0.200000 0.000000 1.005906 0.000000
+ C 0 0.000000 -65.701925 0.696301 65.701195 173.230196 6.499810
+ S 0 0.000000 8.441286 0.457359 8.640000 0.480000
+ C 0 0.000000 65.701925 0.696301 -65.701195 0.269994 6.499810
+ S 0 0.000000 8.441286 -0.457359 8.640000 -0.480000
END
-TURNOUT HO "Peco Medium Radius 3 Way Turnout, Insulfrog SL-99"
- P "Normal" 1 2 3 4
- P "Left" 1 2 5 6 7
- P "Right" 1 2 8 9 10
+TURNOUT HO "Peco Medium Radius 3 Way Turnout, Insulfrog SL-99" 0
+ P "Normal" 1 2 3 4 5
+ P "Left" 1 2 3 6 7 8
+ P "Right" 1 2 9 10 11
E 0.000000 0.000000 270.000000
- E 8.540945 0.994094 78.000000
- E 8.540945 -0.994094 102.000000
- E 8.644882 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 0.050000 0.000000
- S 0 0.000000 0.050000 0.000000 0.855118 0.000000
- S 0 0.000000 0.855118 0.000000 8.594882 0.000000
- S 0 0.000000 8.594882 0.000000 8.594882 0.000000
- C 0 0.000000 -26.000276 1.156979 25.998523 172.159155 8.506060
- C 0 0.000000 -63.372404 -5.584016 62.773069 167.166627 3.490515
- S 0 0.000000 8.492038 0.983699 8.492038 0.983699
- C 0 0.000000 25.160469 1.142991 -25.158822 359.344438 8.793112
- C 0 0.000000 69.079411 -6.862926 -68.355735 9.639618 3.203358
- S 0 0.000000 8.492038 -1.004490 8.492038 -1.004490
+ E 8.540000 1.007480 78.000000
+ E 8.540000 -1.007480 102.000000
+ E 8.650000 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 0.200000 0.000000
+ S 0 0.000000 0.200000 0.000000 1.005118 0.000000
+ S 0 0.000000 1.005118 0.000000 1.541339 0.000000
+ S 0 0.000000 1.541339 0.000000 8.450000 0.000000
+ S 0 0.000000 8.450000 0.000000 8.650000 0.000000
+ C 0 0.000000 -19.950415 1.756712 19.949252 170.725608 9.892934
+ C 0 0.000000 -93.877293 -12.581420 92.481238 167.120240 2.103032
+ S 0 0.000000 8.344370 0.965898 8.540000 1.007480
+ C 0 0.000000 24.157933 1.281406 -24.156353 359.344709 8.801153
+ C 0 0.000000 66.554731 -6.449712 -65.855553 9.647932 3.195314
+ S 0 0.000000 8.344370 -0.965898 8.540000 -1.007480
END
SUBCONTENTS Peco HO Scale Code 100 Slip Turnouts
@@ -160,9 +159,11 @@ TURNOUT HO "Peco Single Slip, Insulfrog SL-80"
S 0 0.000000 8.427277 -0.749392 9.696040 -1.019087
C 0 0.000000 34.292562 1.297233 -34.292562 0.000076 12.000152
END
-TURNOUT HO "Peco Double Slip, Insulfrog SL-90"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Peco Double Slip, Insulfrog SL-90" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 9.803150 0.000000 90.000000
E 0.107110 1.019087 282.000000
@@ -179,23 +180,25 @@ END
SUBCONTENTS Peco HO Scale Code 100 CatchPoints
TURNOUT HO "PECO RH CatchPoint SL-84"
+# tighten angle for diverging path
P "Closed" 1 2 4
P "Open" 1 3
E 0.000000 0.000000 270.000000
E 4.090000 0.000000 90.000000
S 0 0.000000 0.000000 0.000000 0.649000 0.000000
S 0 0.000000 0.649000 0.000000 3.441000 0.000000
- S 0 0.000000 0.649000 -0.000000 3.441000 -0.20000
+ S 0 0.000000 0.649000 -0.000000 3.600000 -0.073273
S 0 0.000000 3.441000 0.000000 4.090000 0.000000
END
TURNOUT HO "PECO LH CatchPoint SL-85"
+# tighten angle for diverging path
P "Closed" 1 2 4
P "Open" 1 3
E 0.000000 0.000000 270.000000
E 4.090000 0.000000 90.000000
S 0 0.000000 0.000000 0.000000 0.649000 0.000000
S 0 0.000000 0.649000 0.000000 3.441000 0.000000
- S 0 0.000000 0.649000 -0.000000 3.441000 0.20000
+ S 0 0.000000 0.649000 -0.000000 3.600000 0.073273
S 0 0.000000 3.441000 0.000000 4.090000 0.000000
END
diff --git a/app/lib/params/HO-Peco-Code75Finescale.xtp b/app/lib/params/HO-Peco-Code75Finescale.xtp
index b697d67..7719fae 100644
--- a/app/lib/params/HO-Peco-Code75Finescale.xtp
+++ b/app/lib/params/HO-Peco-Code75Finescale.xtp
@@ -69,32 +69,30 @@ TURNOUT HO "Peco RH Long Turnout, Electrofrog SL-E188"
SUBCONTENTS Peco HO Scale Code 75 Curved Turnouts
TURNOUT HO "Peco Curved Left Turnout, Electrofrog SL-E187"
- P "Normal" 1 2 3 4
- P "Reverse" 1 2 5 6 7
+ P "Normal" 1 2 3
+ P "Reverse" 1 4 5 6
E 0.000000 0.000000 270.000000
- E 9.930000 0.830000 80.473000
- E 9.680000 1.970000 69.666000
- C 0 0.000000 60.000000 0.000000 60.000000 179.952254 0.047746
- S 0 0.000000 0.050000 0.000021 0.549978 0.002473
- C 0 0.000000 -59.997741 -0.016498 59.997539 170.505131 8.953896
- C 0 0.000000 60.000000 -0.000742 60.002463 170.473000 0.047746
- C 0 0.000000 -20.009032 0.514864 20.011474 166.525509 13.373944
- C 0 0.000000 -42.289079 -5.246889 41.537410 159.398651 6.331063
- C 0 0.000000 30.000000 -0.744764 30.100487 159.666000 0.095493
+ E 9.930000 0.830000 80.490000
+ E 9.681496 1.794000 69.640000
+ S 0 0.000000 0.000000 0.000000 1.204702 0.001944
+ C 0 0.000000 -56.711913 0.217496 56.705263 170.341157 8.661424
+ C 0 0.000000 -60.000000 0.016815 60.005407 170.490000 0.190986
+ C 0 0.000000 -19.394467 1.124778 19.396246 167.192625 12.571261
+ C 0 0.000000 -36.267775 -3.099537 35.736252 159.681969 6.725371
+ C 0 0.000000 -28.764567 -0.326204 28.761504 159.640000 0.398377
END
TURNOUT HO "Peco Curved Right Turnout, Electrofrog SL-E186"
- P "Normal" 1 2 3 4
- P "Reverse" 1 2 5 6 7
+ P "Normal" 1 2 3
+ P "Reverse" 1 4 5 6
E 0.000000 0.000000 270.000000
- E 9.930000 -0.830000 99.527000
- E 9.680000 -1.970000 110.334000
- C 0 0.000000 60.000000 0.000000 -60.000000 0.000000 0.047746
- S 0 0.000000 0.050000 -0.000021 0.549978 -0.002473
- C 0 0.000000 59.997741 -0.016498 -59.997539 0.540973 8.953896
- C 0 0.000000 60.000000 -0.000742 -60.002463 9.479254 0.047746
- C 0 0.000000 20.009032 0.514864 -20.011474 0.100547 13.373944
- C 0 0.000000 42.289079 -5.246889 -41.537410 14.270285 6.331063
- C 0 0.000000 30.000000 -0.744764 -30.100487 20.238507 0.095493
+ E 9.930000 -0.830000 99.510000
+ E 9.681496 -1.794000 110.360000
+ S 0 0.000000 0.000000 0.000000 1.204702 -0.001944
+ C 0 0.000000 56.711913 0.217496 -56.705263 0.997419 8.661424
+ C 0 0.000000 60.000000 0.016815 -60.005407 9.319014 0.190986
+ C 0 0.000000 19.394467 1.124778 -19.396246 0.236114 12.571261
+ C 0 0.000000 36.267775 -3.099537 -35.736252 13.592659 6.725371
+ C 0 0.000000 28.764567 -0.326204 -28.761504 19.961623 0.398377
END
SUBCONTENTS Peco HO Scale Code 75 WYE Turnouts
@@ -102,47 +100,50 @@ TURNOUT HO "Peco Short Y Turnout, Electrofrog SL-E197"
P "Left" 1 2 3 4 5
P "Right" 1 2 6 7 8
E 0.000000 0.000000 270.000000
- E 5.733858 0.517717 78.000000
- E 5.733858 -0.517717 102.000000
- S 0 0.000000 0.000000 0.000000 0.050000 0.000000
- S 0 0.000000 0.050000 0.000000 0.837008 0.000000
- C 0 0.000000 -21.959287 1.049798 21.958256 174.182810 6.372407
- C 0 0.000000 -25.426526 0.368265 25.371829 167.930412 5.504160
- C 0 0.000000 23.701181 0.806106 23.700970 168.000000 0.120871
- C 0 0.000000 21.967293 1.049905 -21.966261 359.444707 6.370099
- C 0 0.000000 25.415926 0.370538 -25.361368 6.563042 5.506467
- C 0 0.000000 23.701181 10.661611 22.665537 192.120871 0.120871
+ E 5.734000 0.517717 78.000000
+ E 5.733858 -0.518000 102.000000
+ S 0 0.000000 0.000000 0.000000 0.200000 0.000000
+ S 0 0.000000 0.200000 0.000000 0.987008 0.000000
+ C 0 0.000000 -21.538028 1.221044 21.536756 174.521400 6.101197
+ C 0 0.000000 -20.601246 0.999673 20.572063 167.273147 6.379205
+ C 0 0.000000 -23.701000 0.806285 23.700793 168.000000 0.483488
+ C 0 0.000000 20.114739 1.173703 -20.113873 359.468200 6.530097
+ C 0 0.000000 26.357793 0.179320 -26.284552 6.746334 4.984102
+ C 0 0.000000 23.701000 0.806143 -23.701076 11.516512 0.483488
END
TURNOUT HO "Peco Medium Y Turnout, Electrofrog SL-E198"
P "Left" 1 2 3 4
P "Right" 1 2 5 6
E 0.000000 0.000000 270.000000
- E 8.638189 0.479134 84.000000
- E 8.638189 -0.479134 96.000000
- S 0 0.000000 0.000000 0.000000 0.050000 0.000000
- S 0 0.000000 0.050000 0.000000 0.855906 0.000000
- C 0 0.000000 -56.219397 1.192646 56.218388 176.392954 3.950236
- C 0 0.000000 -108.369470 -3.503854 108.166608 173.593356 2.049359
- C 0 0.000000 54.238706 1.176210 -54.237760 359.661640 4.094836
- C 0 0.000000 116.607497 -4.432846 -116.362546 4.506721 1.904748
+ E 8.640000 0.480000 83.500000
+ E 8.640000 -0.480000 96.500000
+ S 0 0.000000 0.000000 0.000000 0.200000 0.000000
+ S 0 0.000000 0.200000 0.000000 1.005906 0.000000
+ C 0 0.000000 -65.701925 0.696301 65.701195 173.230196 6.499810
+ S 0 0.000000 8.441286 0.457359 8.640000 0.480000
+ C 0 0.000000 65.701925 0.696301 -65.701195 0.269994 6.499810
+ S 0 0.000000 8.441286 -0.457359 8.640000 -0.480000
END
TURNOUT HO "Peco Asymmetric 3 Way Turnout SL-E199"
- P "Left" 1 2 3 4
- P "Normal" 1 2 7
- P "Right" 1 5 6
+ P "Normal" 1 2 3 4 5
+ P "Left" 1 2 3 6 7 8
+ P "Right" 1 2 9 10 11
E 0.000000 0.000000 270.000000
- E 10.748031 1.082677 77.500000
- E 8.425197 -1.082677 102.500000
- E 10.826772 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 0.649600 -0.000000
- S 0 0.000000 0.649600 -0.000000 1.511778 0.000000
- C 0 0.000000 -39.743423 1.511778 39.743423 167.500000 12.500000
- S 0 0.000000 10.113829 0.942078 10.748031 1.082677
- C 0 0.000000 26.406268 0.649600 -26.406268 0.000000 12.500000
- S 0 0.000000 6.364962 -0.625934 8.425197 -1.082677
- S 0 0.000000 1.511778 0.000000 10.826772 0.000000
- END
-
+ E 10.630315 1.007480 78.090000
+ E 8.535433 -1.007480 101.910000
+ E 10.735433 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 0.200000 0.000000
+ S 0 0.000000 0.200000 0.000000 1.005512 0.000000
+ S 0 0.000000 1.005512 0.000000 3.100787 0.000000
+ S 0 0.000000 3.100787 0.000000 10.535433 0.000000
+ S 0 0.000000 10.535433 0.000000 10.735433 0.000000
+ C 0 0.000000 -23.992517 3.371444 23.990990 171.791219 8.855142
+ C 0 0.000000 -69.642421 -4.936395 68.891154 167.249063 3.051358
+ S 0 0.000000 10.434620 0.966205 10.630315 1.007480
+ C 0 0.000000 23.995796 1.276216 -23.994269 359.353614 8.854398
+ C 0 0.000000 69.629099 -7.028307 -68.878167 9.698811 3.052102
+ S 0 0.000000 8.339738 -0.966205 8.535433 -1.007480
+END
SUBCONTENTS Peco HO Scale Code 75 Slip Turnouts
TURNOUT HO "Peco Single Slip, Insulfrog SL-180"
P "Normal" 1 2 0 3 4
@@ -157,9 +158,11 @@ TURNOUT HO "Peco Single Slip, Insulfrog SL-180"
S 0 0.000000 8.427277 -0.749392 9.696040 -1.019087
C 0 0.000000 34.292562 1.297233 -34.292562 0.000076 12.000152
END
-TURNOUT HO "Peco Double Slip, Electrofrog SL-E190"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Peco Double Slip, Electrofrog SL-E190" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 9.803150 0.000000 90.000000
E 0.107110 1.019087 282.000000
@@ -176,22 +179,24 @@ TURNOUT HO "Peco Double Slip, Electrofrog SL-E190"
SUBCONTENTS Peco HO Scale Code 75 CatchPoints
TURNOUT HO "PECO RH CatchPoint SL-184"
+# tighten angle for diverging path
P "Closed" 1 2
P "Open" 1 3
E 0.000000 0.000000 270.000000
E 3.579921 0.000000 90.000000
S 0 0.000000 0.000000 0.000000 0.649000 0.000000
S 0 0.000000 0.649000 0.000000 3.579921 0.000000
- S 0 0.000000 0.649000 0.000000 2.500000 0.12500
+ S 0 0.000000 0.649000 0.000000 2.500000 0.073273
END
TURNOUT HO "PECO LH CatchPoint SL-185"
+# tighten angle for diverging path
P "Closed" 1 2
P "Open" 1 3
E 0.000000 0.000000 270.000000
E 3.579921 0.000000 90.00000
S 0 0.000000 0.000000 0.000000 0.649000 0.000000
S 0 0.000000 0.649000 0.000000 3.579921 0.000000
- S 0 0.000000 0.649000 0.000000 2.500000 -0.12500
+ S 0 0.000000 0.649000 0.000000 2.500000 -0.073273
END
SUBCONTENTS Peco HO Scale Code 75 Crossings
@@ -300,4 +305,4 @@ TURNOUT HO "Peco Code 75 Inspection Pit(Mid Section) LK-156B"
L 0 0.020000 0.000000 0.280000 1.948819 0.28000
L 0 0.020000 0.000000 -0.280000 1.948819 -0.280000
L 0 0.020000 0.000000 -0.551091 1.948819 -0.551091
-END \ No newline at end of file
+END
diff --git a/app/lib/params/HO-Peco-Code83.xtp b/app/lib/params/HO-Peco-Code83.xtp
index 09bf426..01cdf9b 100644
--- a/app/lib/params/HO-Peco-Code83.xtp
+++ b/app/lib/params/HO-Peco-Code83.xtp
@@ -129,9 +129,11 @@ TURNOUT HO "Peco Code 83 #7 Curved Right Turnout SL-8376/SLE-8376"
END
SUBCONTENTS Peco Code 83 HO Slip Turnouts
-TURNOUT HO "Peco Code 83 #6 Double Slip Switch SL-U8363"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Peco Code 83 #6 Double Slip Switch SL-U8363" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 12.035433 0.000000 90.000000
E 0.082528 0.993201 279.500000
diff --git a/app/lib/params/HO-Piko-A Roadbed.xtp b/app/lib/params/HO-Piko-A Roadbed.xtp
new file mode 100644
index 0000000..361d7b2
--- /dev/null
+++ b/app/lib/params/HO-Piko-A Roadbed.xtp
@@ -0,0 +1,302 @@
+CONTENTS Piko A Roadbed Track Components
+
+SUBCONTENTS Piko A Roadbed Track - Straight Track
+TURNOUT HO "Piko A Roadbed Track Straight G239 239.07mm 55400"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.412205 0.000000 90.000000
+ S 0 0 0.000000 0.000000 9.412205 0.000000
+ L3 8421481 0.030000 0.000000 0.826772 0 9.412205 0.826772 0
+ L3 8421481 0.030000 0.000000 -0.826772 0 9.412205 -0.826772 0
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track Straight G231 230.93mm 55401"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.091732 0.000000 90.000000
+ S 0 0 0.000000 0.000000 9.091732 0.000000
+ L3 8421481 0.030000 0.000000 0.826772 0 9.091732 0.826772 0
+ L3 8421481 0.030000 0.000000 -0.826772 0 9.091732 -0.826772 0
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track Straight G119 119.54mm 55402"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.685039 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.685039 0.000000
+ L3 8421481 0.030000 0.000000 0.826772 0 4.685039 0.826772 0
+ L3 8421481 0.030000 0.000000 -0.826772 0 4.685039 -0.826772 0
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track Straight G115 115.46mm 55403"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.527559 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.527559 0.000000
+ L3 8421481 0.030000 0.000000 0.826772 0 4.527559 0.826772 0
+ L3 8421481 0.030000 0.000000 -0.826772 0 4.527559 -0.826772 0
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track Straight G107 107.32mm 55404"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.212598 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.212598 0.000000
+ L3 8421481 0.030000 0.000000 0.826772 0 4.212598 0.826772 0
+ L3 8421481 0.030000 0.000000 -0.826772 0 4.212598 -0.826772 0
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track Straight G62 61.88mm 55405"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.440945 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.440945 0.000000
+ L3 8421481 0.030000 0.000000 0.826772 0 2.440945 0.826772 0
+ L3 8421481 0.030000 0.000000 -0.826772 0 2.440945 -0.826772 0
+ END$SEGS
+
+
+SUBCONTENTS Piko A Roadbed Track - Curve Track
+TURNOUT HO "Piko A Roadbed Track Curved R1 360mm 30d 55411"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 7.086614 -1.898853 120.000000
+ C 0 0 14.173228 0.000000 -14.173228 0.000000 30.000000
+ A3 8421481 0.030000 15.000000 0.000000 -14.173228 0 0.000000 30.000000
+ A3 8421481 0.030000 13.346457 0.000000 -14.173228 0 0.000000 30.000000
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track Curved R1 360mm 7.5d 55451"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.849978 -0.121254 97.500000
+ C 0 0 14.173228 0.000000 -14.173228 0.000000 7.500000
+ A3 8421481 0.030000 15.000000 0.000000 -14.173228 0 0.000000 7.500000
+ A3 8421481 0.030000 13.346457 0.000000 -14.173228 0 0.000000 7.500000
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track Curved R2 421.88mm 30d 55412"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 8.304724 -2.225244 120.000000
+ C 0 0 16.609449 0.000000 -16.609449 0.000000 30.000000
+ A3 8421481 0.030000 17.436220 0.000000 -16.609449 0 0.000000 30.000000
+ A3 8421481 0.030000 15.782677 0.000000 -16.609449 0 0.000000 30.000000
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track Curved R2 421.88mm 7.5d 55452"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.167968 -0.142096 97.500000
+ C 0 0 16.609449 0.000000 -16.609449 0.000000 7.500000
+ A3 8421481 0.030000 17.436220 0.000000 -16.609449 0 0.000000 7.500000
+ A3 8421481 0.030000 15.782677 0.000000 -16.609449 0 0.000000 7.500000
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track Curved R3 483.75mm 30d 55413"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.522638 -2.551583 120.000000
+ C 0 0 19.045276 0.000000 -19.045276 0.000000 30.000000
+ A3 8421481 0.030000 19.872047 0.000000 -19.045276 0 0.000000 30.000000
+ A3 8421481 0.030000 18.218504 0.000000 -19.045276 0 0.000000 30.000000
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track Curved R4 545.63mm 30d 55414"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.748031 -2.879926 120.000000
+ C 0 0 21.496063 0.000000 -21.496063 0.000000 30.000000
+ A3 8421481 0.030000 22.308268 0.000000 -21.496063 0 0.000000 30.000000
+ A3 8421481 0.030000 20.654724 0.000000 -21.496063 0 0.000000 30.000000
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track Curved R9 907.98mm 15d 55419"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.252068 -1.218058 105.000000
+ C 0 0 35.746850 0.000000 -35.747244 0.000000 15.000000
+ A3 8421481 0.030000 36.574016 0.000000 -35.747244 0 0.000000 15.000000
+ A3 8421481 0.030000 34.920472 0.000000 -35.747244 0 0.000000 15.000000
+ END$SEGS
+
+
+SUBCONTENTS Piko A Roadbed Track - Track Turnouts
+TURNOUT HO "Piko A Roadbed Track WL R9/239mm 15d 55420"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 9.412205 0.000000 90.000000
+ E 9.252068 1.218058 75.000000
+ S 0 0 0.000000 0.000000 9.412205 0.000000
+ C 0 0 35.747244 0.000000 35.747244 165.000000 15.000000
+ L3 8421481 0.030000 0.000000 -0.826772 0 9.412205 -0.826772 0
+ A3 8421481 0.030000 34.920472 0.000000 35.747244 0 165.000000 15.000000
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track WR R9/239mm 15d 55421"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 9.412205 0.000000 90.000000
+ E 9.252068 -1.218058 105.000000
+ S 0 0 0.000000 0.000000 9.412205 0.000000
+ C 0 0 35.747244 0.000000 -35.747244 0.000000 15.000000
+ L3 8421481 0.030000 0.000000 0.826772 0 9.412205 0.826772 0
+ A3 8421481 0.030000 34.920472 0.000000 -35.747244 0 0.000000 15.000000
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track BWL R2 30d 55422"
+ P "Normal" 1 3
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 8.304724 2.225244 60.000000
+ E 10.745669 2.225244 60.000000
+ S 0 0 0.000000 0.000000 2.440945 0.000000
+ C 0 0 16.609449 0.000000 16.609449 150.000000 30.000000
+ C 0 0 -16.609449 2.440945 16.609449 150.000000 30.000000
+ L3 8421481 0.030000 0.000000 -0.826772 0 2.440945 -0.826772 0
+ A3 8421481 0.030000 17.436220 2.440945 16.609449 0 150.000000 30.000000
+ A3 8421481 0.030000 15.782677 0.000000 16.609449 0 150.000000 30.000000
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track BWR R2 30d 55423"
+ P "Normal" 1 3
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 8.304724 -2.225244 120.000000
+ E 10.745669 -2.225244 120.000000
+ S 0 0 0.000000 0.000000 2.440945 0.000000
+ C 0 0 16.609449 0.000000 -16.609449 0.000000 30.000000
+ C 0 0 16.609449 2.440945 -16.609449 0.000000 30.000000
+ L3 8421481 0.030000 0.000000 0.826772 0 2.440945 0.826772 0
+ A3 8421481 0.030000 17.436220 2.440945 -16.609449 0 0.000000 30.000000
+ A3 8421481 0.030000 15.782677 0.000000 -16.609449 0 0.000000 30.000000
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track DKW 239mm 15d 55424"
+ P "Normal" 1 0 2
+ P "Reverse" 3 0 4
+ E 0.000000 0.000000 270.000000
+ E 0.160357 -1.218029 255.000000
+ E 9.412205 0.000000 90.000000
+ E 9.251848 1.218029 75.000000
+ S 0 0 0.000000 0.000000 9.412205 0.000000
+ S 0 0 0.160357 -1.218029 9.251848 1.218029
+ C 0 0 35.747244 0.000000 35.747244 165.000000 15.000000
+ C 0 0 35.747244 9.412205 -35.747244 345.000000 15.000000
+ A3 8421481 0.030000 34.920472 0.000000 35.747244 0 165.000000 15.000000
+ A3 8421481 0.030000 34.920472 9.412205 -35.747244 0 345.000000 15.000000
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track W3 R9/239mm 15d 55425"
+ P "Normal" 1
+ P "Left" 2
+ P "Right" 3
+ E 0.000000 0.000000 270.000000
+ E 9.412205 0.000000 90.000000
+ E 9.252068 1.218058 75.000000
+ E 9.252068 -1.218058 105.000000
+ S 0 0 0.000000 0.000000 9.412205 0.000000
+ C 0 0 35.747244 0.000000 35.747244 165.000000 15.000000
+ C 0 0 35.747244 0.000000 -35.747244 0.000000 15.000000
+ A3 8421481 0.030000 34.920472 0.000000 35.747244 0 165.000000 15.000000
+ A3 8421481 0.030000 34.920472 0.000000 -35.747244 0 0.000000 15.000000
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track WY R9/239mm 15d 55426"
+ P "Left" 1
+ P "Right" 2
+ E 0.000000 0.000000 270.000000
+ E 9.252068 1.218058 75.000000
+ E 9.252068 -1.218058 105.000000
+ C 0 0 35.747244 0.000000 35.747244 165.000000 15.000000
+ C 0 0 35.747244 0.000000 -35.747244 0.000000 15.000000
+ A3 8421481 0.030000 34.920472 0.000000 35.747244 0 165.000000 15.000000
+ A3 8421481 0.030000 34.920472 0.000000 -35.747244 0 0.000000 15.000000
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track BWL-R3 R3 30d 55427"
+ P "Normal" 1 3
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 9.522638 2.551583 60.000000
+ E 11.963583 2.551583 60.000000
+ S 0 0 0.000000 0.000000 2.440945 0.000000
+ C 0 0 19.045276 0.000000 19.045276 150.000000 30.000000
+ C 0 0 -19.045276 2.440945 19.045276 150.000000 30.000000
+ L3 8421481 0.030000 0.000000 -0.826772 0 2.440945 -0.826772 0
+ A3 8421481 0.030000 19.872047 2.440945 19.045276 0 150.000000 30.000000
+ A3 8421481 0.030000 18.218504 0.000000 19.045276 0 150.000000 30.000000
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track BWR-R3 R3 30d 55428"
+ P "Normal" 1 3
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 9.522638 -2.551583 120.000000
+ E 11.963583 -2.551583 120.000000
+ S 0 0 0.000000 0.000000 2.440945 0.000000
+ C 0 0 19.045276 0.000000 -19.045276 0.000000 30.000000
+ C 0 0 19.045276 2.440945 -19.045276 0.000000 30.000000
+ L3 8421481 0.030000 0.000000 0.826772 0 2.440945 0.826772 0
+ A3 8421481 0.030000 19.872047 2.440945 -19.045276 0 0.000000 30.000000
+ A3 8421481 0.030000 18.218504 0.000000 -19.045276 0 0.000000 30.000000
+ END$SEGS
+
+
+SUBCONTENTS Piko A Roadbed Track - Track Crossing
+TURNOUT HO "Piko A Roadbed Track K15 239.07mm 15d 55440"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 0.160357 -1.218029 255.000000
+ E 9.412205 0.000000 90.000000
+ E 9.251848 1.218029 75.000000
+ S 0 0 0.000000 0.000000 9.412205 0.000000
+ S 0 0 0.160239 -1.218029 9.251848 1.218029
+ L3 8421481 0.030000 0.000000 0.826772 0 4.597256 0.826772 0
+ L3 8421481 0.030000 4.597256 0.826772 0 9.037864 2.016629 0
+ L3 8421481 0.030000 0.374341 -2.016629 0 4.814949 -0.826772 0
+ L3 8421481 0.030000 4.814949 -0.826772 0 9.412205 -0.826772 0
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track K30 119.54mm 30d 55441"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 0.315262 -1.176575 240.000000
+ E 4.706299 0.000000 90.000000
+ E 4.391037 1.176575 60.000000
+ S 0 0 0.000000 0.000000 4.706299 0.000000
+ S 0 0 0.315262 -1.176575 4.391037 1.176575
+ L3 8421481 0.030000 0.000000 0.826772 0 2.131617 0.826772 0
+ L3 8421481 0.030000 2.131617 0.826772 0 3.977651 1.892580 0
+ L3 8421481 0.030000 0.728648 -1.892500 0 2.574682 -0.826772 0
+ L3 8421481 0.030000 2.574682 -0.826772 0 4.706299 -0.826772 0
+ END$SEGS
+
+
+SUBCONTENTS Piko A Roadbed Track - Misc. Straight Track
+TURNOUT HO "Piko A Roadbed Track Terminal G231 230.93mm 55406"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.091732 0.000000 90.000000
+ S 0 0 0.000000 0.000000 9.091732 0.000000
+ L3 8421481 0.030000 0.000000 0.826772 0 9.091732 0.826772 0
+ L3 8421481 0.030000 0.000000 -0.826772 0 9.091732 -0.826772 0
+ L3 8421481 0.500000 7.591732 0.826772 0 8.091732 0.826772 0
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track Transition to Fleischmann Profi 230.93mm 55432"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.091732 0.000000 90.000000
+ S 0 0 0.000000 0.000000 9.091732 0.000000
+ L3 8421481 0.030000 0.000000 0.826772 0 9.091732 0.639764 0
+ L3 8421481 0.030000 0.000000 -0.826772 0 9.091732 -0.639764 0
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track Transition to ROCO Geo 230.93mm 55433"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.091732 0.000000 90.000000
+ S 0 0 0.000000 0.000000 9.091732 0.000000
+ L3 8421481 0.030000 0.000000 0.826772 0 9.091732 0.800000 0
+ L3 8421481 0.030000 0.000000 -0.826772 0 9.091732 -0.800000 0
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track Transition to Piko A 230.93mm 55434"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.091732 0.000000 90.000000
+ S 0 0 0.000000 0.000000 9.091732 0.000000
+ L3 8421481 0.030000 0.000000 0.826772 0 9.091732 0.585534 0
+ L3 8421481 0.030000 0.000000 -0.826772 0 9.091732 -0.585534 0
+ END$SEGS
+TURNOUT HO "Piko A Roadbed Track Bumper 61.88mm 55446"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ S 0 0 0.000000 0.000000 2.440945 0.000000
+ L3 8421481 0.030000 0.000000 0.826772 0 3.000000 0.826772 0
+ L3 8421481 0.030000 0.000000 -0.826772 0 3.000000 -0.826772 0
+ L3 8421481 0.030000 3.000000 0.826772 0 3.000000 -0.826772 0
+ L3 0 0.080000 1.000000 0.280000 0 2.000000 0.280000 0
+ L3 0 0.080000 1.000000 -0.280000 0 2.000000 -0.280000 0
+ L3 0 0.100000 1.440945 0.400000 0 1.440945 -0.400000 0
+ END$SEGS
diff --git a/app/lib/params/Piko-A.xtp b/app/lib/params/HO-Piko-A.xtp
index 8a33628..6487147 100644
--- a/app/lib/params/Piko-A.xtp
+++ b/app/lib/params/HO-Piko-A.xtp
@@ -2,97 +2,124 @@ CONTENTS Piko A Track Components
# Created By Arne Fuetterer Oct 2010
SUBCONTENTS Piko A Track - Straight Track
-TURNOUT HO "Piko A Track Straight G239 239mm 55200"
+TURNOUT HO "Piko A Track Straight G239 239.07mm 55200"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 9.412205 0.000000 90.000000
S 0 0 0.000000 0.000000 9.412205 0.000000
- END
-TURNOUT HO "Piko A Track Straight G231 231mm 55201"
+ END$SEGS
+TURNOUT HO "Piko A Track Straight G231 230.93mm 55201"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 9.091732 0.000000 90.000000
S 0 0 0.000000 0.000000 9.091732 0.000000
- END
-TURNOUT HO "Piko A Track Straight G119 119mm 55202"
+ END$SEGS
+TURNOUT HO "Piko A Track Straight G119 119.54mm 55202"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.685039 0.000000 90.000000
S 0 0 0.000000 0.000000 4.685039 0.000000
- END
-TURNOUT HO "Piko A Track Straight G115 115mm 55203"
+ END$SEGS
+TURNOUT HO "Piko A Track Straight G115 115.46mm 55203"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.527559 0.000000 90.000000
S 0 0 0.000000 0.000000 4.527559 0.000000
- END
-TURNOUT HO "Piko A Track Straight G107 107mm 55204"
+ END$SEGS
+TURNOUT HO "Piko A Track Straight G107 107.32mm 55204"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.212598 0.000000 90.000000
S 0 0 0.000000 0.000000 4.212598 0.000000
- END
-TURNOUT HO "Piko A Track Straight G62 62mm 55205"
+ END$SEGS
+TURNOUT HO "Piko A Track Straight G62 61.88mm 55205"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.440945 0.000000 90.000000
S 0 0 0.000000 0.000000 2.440945 0.000000
- END
+ END$SEGS
+
+
+SUBCONTENTS Piko A Track - Misc. Straight Track
+TURNOUT HO "Piko A Track Adaptor Track GUE62-H 61.88mm 55207"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.440945 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.440945 0.000000
+ END$SEGS
+TURNOUT HO "Piko A Track Adaptor Track GUE62-U 61.88mm 55208"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.440945 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.440945 0.000000
+ END$SEGS
SUBCONTENTS Piko A Track - Curve Track
-TURNOUT HO "Piko A Track Curved R1 360mm 30° 55211"
+TURNOUT HO "Piko A Track Curved R1 360mm 30d 55211"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.086614 -1.898853 120.000000
C 0 0 14.173228 0.000000 -14.173228 0.000000 30.000000
- END
-TURNOUT HO "Piko A Track Curved R2 422mm 30° 55212"
+ END$SEGS
+TURNOUT HO "Piko A Track Curved R1 360mm 7.5d 55251"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.849978 -0.121254 97.500000
+ C 0 0 14.173228 0.000000 -14.173228 0.000000 7.500000
+ END$SEGS
+TURNOUT HO "Piko A Track Curved R2 421.88mm 30d 55212"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 8.304724 -2.225244 120.000000
C 0 0 16.609449 0.000000 -16.609449 0.000000 30.000000
- END
-TURNOUT HO "Piko A Track Curved R3 484mm 30° 55213"
+ END$SEGS
+TURNOUT HO "Piko A Track Curved R2 421.88mm 7.5d 55252"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.167968 -0.142096 97.500000
+ C 0 0 16.609449 0.000000 -16.609449 0.000000 7.500000
+ END$SEGS
+TURNOUT HO "Piko A Track Curved R3 483.75mm 30d 55213"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 9.522638 -2.551583 120.000000
C 0 0 19.045276 0.000000 -19.045276 0.000000 30.000000
- END
-TURNOUT HO "Piko A Track Curved R4 546mm 30° 55214"
+ END$SEGS
+TURNOUT HO "Piko A Track Curved R4 545.63mm 30d 55214"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 10.748031 -2.879926 120.000000
C 0 0 21.496063 0.000000 -21.496063 0.000000 30.000000
- END
-TURNOUT HO "Piko A Track Curved R9 907.98mm 15° 55219"
+ END$SEGS
+TURNOUT HO "Piko A Track Curved R9 907.98mm 15d 55219"
P "Normal" 1
E 0.000000 0.000000 270.000000
- E 9.251966 -1.218044 105.000000
- C 0 0 35.746850 0.000000 -35.746850 0.000000 15.000000
- END
+ E 9.252068 -1.218058 105.000000
+ C 0 0 35.746850 0.000000 -35.747244 0.000000 15.000000
+ END$SEGS
SUBCONTENTS Piko A Track - Track Turnouts
-TURNOUT HO "Piko A Track WL, 239mm, 15° 55220"
+TURNOUT HO "Piko A Track WL R9/239mm 15d 55220"
P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
E 9.412205 0.000000 90.000000
- E 9.251966 1.218044 75.000000
+ E 9.252068 1.218058 75.000000
S 0 0 0.000000 0.000000 9.412205 0.000000
- C 0 0 35.746850 0.000000 35.746850 165.000000 15.000000
- END
-TURNOUT HO "Piko A Track WR, 239mm, 15° 55221"
+ C 0 0 35.747244 0.000000 35.747244 165.000000 15.000000
+ END$SEGS
+TURNOUT HO "Piko A Track WR R9/239mm 15d 55221"
P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
E 9.412205 0.000000 90.000000
- E 9.251966 -1.218044 105.000000
+ E 9.252068 -1.218058 105.000000
S 0 0 0.000000 0.000000 9.412205 0.000000
- C 0 0 35.746850 0.000000 -35.746850 0.000000 15.000000
- END
-TURNOUT HO "Piko A Track BWL, R2, 30° 55222"
+ C 0 0 35.747244 0.000000 -35.747244 0.000000 15.000000
+ END$SEGS
+TURNOUT HO "Piko A Track BWL R2 30d 55222"
P "Normal" 1 3
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -101,8 +128,8 @@ TURNOUT HO "Piko A Track BWL, R2, 30° 55222"
S 0 0 0.000000 0.000000 2.440945 0.000000
C 0 0 16.609449 0.000000 16.609449 150.000000 30.000000
C 0 0 -16.609449 2.440945 16.609449 150.000000 30.000000
- END
-TURNOUT HO "Piko A Track BWR, R2, 30° 55223"
+ END$SEGS
+TURNOUT HO "Piko A Track BWR R2 30d 55223"
P "Normal" 1 3
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -111,41 +138,41 @@ TURNOUT HO "Piko A Track BWR, R2, 30° 55223"
S 0 0 0.000000 0.000000 2.440945 0.000000
C 0 0 16.609449 0.000000 -16.609449 0.000000 30.000000
C 0 0 16.609449 2.440945 -16.609449 0.000000 30.000000
- END
-TURNOUT HO "Piko A Track DKW, 239mm, 15° 55224"
+ END$SEGS
+TURNOUT HO "Piko A Track DKW 239mm 15d 55224"
P "Normal" 1 0 2
P "Reverse" 3 0 4
E 0.000000 0.000000 270.000000
- E 0.160239 -1.218044 255.000000
+ E 0.160357 -1.218029 255.000000
E 9.412205 0.000000 90.000000
- E 9.251966 1.218044 75.000000
+ E 9.251848 1.218029 75.000000
S 0 0 0.000000 0.000000 9.412205 0.000000
- S 0 0 0.160239 -1.218044 9.251966 1.218044
- C 0 0 35.746850 0.000000 35.746850 165.000000 15.000000
- C 0 0 35.746850 9.412205 -35.746850 -15.000000 15.000000
- END
-TURNOUT HO "Piko A Track W3, 239mm, 15° 55225"
+ S 0 0 0.160357 -1.218029 9.251848 1.218029
+ C 0 0 35.747244 0.000000 35.747244 165.000000 15.000000
+ C 0 0 35.747244 9.412205 -35.747244 345.000000 15.000000
+ END$SEGS
+TURNOUT HO "Piko A Track W3 R9/239mm 15d 55225"
P "Normal" 1
P "Left" 2
P "Right" 3
E 0.000000 0.000000 270.000000
E 9.412205 0.000000 90.000000
- E 9.251966 1.218044 75.000000
- E 9.251966 -1.218044 105.000000
+ E 9.252068 1.218058 75.000000
+ E 9.252068 -1.218058 105.000000
S 0 0 0.000000 0.000000 9.412205 0.000000
- C 0 0 35.746850 0.000000 35.746850 165.000000 15.000000
- C 0 0 35.746850 0.000000 -35.746850 0.000000 15.000000
- END
-TURNOUT HO "Piko A Track Y, 239mm, 15° 55226"
+ C 0 0 35.747244 0.000000 35.747244 165.000000 15.000000
+ C 0 0 35.747244 0.000000 -35.747244 0.000000 15.000000
+ END$SEGS
+TURNOUT HO "Piko A Track WY R9/239mm 15d 55226"
P "Left" 1
P "Right" 2
E 0.000000 0.000000 270.000000
- E 9.251966 1.218044 75.000000
- E 9.251966 -1.218044 105.000000
- C 0 0 35.746850 0.000000 35.746850 165.000000 15.000000
- C 0 0 35.746850 0.000000 -35.746850 0.000000 15.000000
- END
-TURNOUT HO "Piko A Track BWL-R3, R3, 30° 55227"
+ E 9.252068 1.218058 75.000000
+ E 9.252068 -1.218058 105.000000
+ C 0 0 35.747244 0.000000 35.747244 165.000000 15.000000
+ C 0 0 35.747244 0.000000 -35.747244 0.000000 15.000000
+ END$SEGS
+TURNOUT HO "Piko A Track BWL-R3 R3 30d 55227"
P "Normal" 1 3
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -154,8 +181,8 @@ TURNOUT HO "Piko A Track BWL-R3, R3, 30° 55227"
S 0 0 0.000000 0.000000 2.440945 0.000000
C 0 0 19.045276 0.000000 19.045276 150.000000 30.000000
C 0 0 -19.045276 2.440945 19.045276 150.000000 30.000000
- END
-TURNOUT HO "Piko A Track BWR-R3, R3, 30° 55228"
+ END$SEGS
+TURNOUT HO "Piko A Track BWR-R3 R3 30d 55228"
P "Normal" 1 3
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -164,20 +191,20 @@ TURNOUT HO "Piko A Track BWR-R3, R3, 30° 55228"
S 0 0 0.000000 0.000000 2.440945 0.000000
C 0 0 19.045276 0.000000 -19.045276 0.000000 30.000000
C 0 0 19.045276 2.440945 -19.045276 0.000000 30.000000
- END
+ END$SEGS
SUBCONTENTS Piko A Track - Track Crossing
-TURNOUT HO "Piko A Track K15, 239mm, 15° 55240"
+TURNOUT HO "Piko A Track K15 239.07mm 15d 55240"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
- E 0.160239 -1.218044 255.000000
+ E 0.160357 -1.218029 255.000000
E 9.412205 0.000000 90.000000
- E 9.251966 1.218044 75.000000
+ E 9.251848 1.218029 75.000000
S 0 0 0.000000 0.000000 9.412205 0.000000
- S 0 0 0.160239 -1.218044 9.251966 1.218044
- END
-TURNOUT HO "Piko A Track K30, 119mm, 30° 55241"
+ S 0 0 0.160239 -1.218029 9.251848 1.218029
+ END$SEGS
+TURNOUT HO "Piko A Track K30 119.54mm 30d 55241"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 0.315262 -1.176575 240.000000
@@ -185,4 +212,4 @@ TURNOUT HO "Piko A Track K30, 119mm, 30° 55241"
E 4.391037 1.176575 60.000000
S 0 0 0.000000 0.000000 4.706299 0.000000
S 0 0 0.315262 -1.176575 4.391037 1.176575
- END
+ END$SEGS
diff --git a/app/lib/params/HO-Roco HO Code 83.xtp b/app/lib/params/HO-Roco HO Code 83.xtp
index a66e761..b8d2ce7 100644
--- a/app/lib/params/HO-Roco HO Code 83.xtp
+++ b/app/lib/params/HO-Roco HO Code 83.xtp
@@ -127,7 +127,8 @@ TURNOUT HO "Roco R9, R826.4mm/15d 42427"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 8.420790 -1.108618 105.000000
- C 0 0 -32.535433 0.000046 32.535433 0.000000 15.000000
+# fix sign on X and R
+ C 0 0 32.535433 0.000046 -32.535433 0.000000 15.000000
END
TURNOUT HO "Roco R10, R888.0mm/15d 42428"
P "Normal" 1
@@ -299,9 +300,11 @@ TURNOUT HO "Roco EKW10, 345mm, R959mm/10d 42493"
C 0 0.000000 62.796695 1.297239 -62.796695 0.000076 10.000152
END
SUBCONTENTS Roco HO - DoubleSlip Turnouts
-TURNOUT HO "Roco DKW15, 230mm, R531mm/15d 42451"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Roco DKW15, 230mm, R531mm/15d 42451" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 9.055118 0.000000 90.000000
E 0.154271 1.171812 285.000000
@@ -374,7 +377,8 @@ TURNOUT HO "Roco K30, 119mm, 30d 42498"
SUBCONTENTS Roco HO - Turn Table
-TURNOUT HO "ROCO Turntable 253mm Dia 9d 40P 42615"
+TURNOUT HO "ROCO Turntable 253mm Dia 9d 40P 42615" 512
+# Move non-track segs to end
P "1" 1
P "2" 2
P "3" 3
@@ -395,10 +399,6 @@ TURNOUT HO "ROCO Turntable 253mm Dia 9d 40P 42615"
P "18" 18
P "19" 19
P "20" 20
- G3 0 0.000000 0.129736 0.000000 0.000000 0
- A3 8424071 0.031250 4.980315 0.000000 0.000000 0 0.000000 360.000000
- A3 8424071 0.031250 6.043307 0.000000 0.000000 0 0.000000 360.000000
- A3 8424071 0.031250 1.245079 0.000000 0.000000 0 0.000000 360.000000
E 0.000000 4.980315 0.000000
E 0.779093 4.918999 9.000000
E 1.539002 4.736561 18.000000
@@ -459,6 +459,10 @@ TURNOUT HO "ROCO Turntable 253mm Dia 9d 40P 42615"
S 16777215 0 2.261016 -4.437493 -2.261016 4.437493
S 16777215 0 1.539002 -4.736561 -1.539002 4.736561
S 16777215 0 0.779093 -4.918999 -0.779093 4.918999
+ G3 0 0.000000 0.129736 0.000000 0.000000 0
+ A3 8424071 0.031250 4.980315 0.000000 0.000000 0 0.000000 360.000000
+ A3 8424071 0.031250 6.043307 0.000000 0.000000 0 0.000000 360.000000
+ A3 8424071 0.031250 1.245079 0.000000 0.000000 0 0.000000 360.000000
END
TURNOUT HO "Roco TurnTable Track Connector 42616/617"
P "Normal" 1
diff --git a/app/lib/params/HO-Slot-Car-AFX-Track.xtp b/app/lib/params/HO-Slot-Car-AFX-Track.xtp
index 7b72276..34103c7 100644
--- a/app/lib/params/HO-Slot-Car-AFX-Track.xtp
+++ b/app/lib/params/HO-Slot-Car-AFX-Track.xtp
@@ -346,7 +346,9 @@ TURNOUT HO "AFX Banked Curved R12 1/8 Circle 8991"
L 0 0.053333 6.363961 -4.886039 8.485281 -2.764719
END
TURNOUT HO "AFX HairPin Curved 8992"
- P "Normal" 1 -7 8 5 -10 -9 -4 0 2 -11 12 6 -14 -13 -3
+# Flip the subpaths so they have the minimum number of negatives
+# P "Normal" 1 -7 8 5 -10 -9 -4 0 2 -11 12 6 -14 -13 -3
+ P "Normal" 4 9 10 -5 -8 7 -1 0 3 13 14 -6 -12 11 -2
E 0.000000 0.000000 270.000000
E 0.000000 -1.500000 270.000000
E 0.000000 -3.000000 270.000000
diff --git a/app/lib/params/HO-Tillig Luna Tramway.xtp b/app/lib/params/HO-Tillig Luna Tramway.xtp
new file mode 100755
index 0000000..b4132c7
--- /dev/null
+++ b/app/lib/params/HO-Tillig Luna Tramway.xtp
@@ -0,0 +1,349 @@
+CONTENTS Tillig Luna Tramway Track
+SUBCONTENTS Tillig Luna Tramway Track - Curve Crossings
+TURNOUT HO "Tillig Luna Tramway Curve Crossing BK 250mm 25d 87653/87654"
+ P "Normal" 1 0 2
+ E 0.000000 0.587853 285.000000
+ E 0.000000 -0.587853 255.000000
+ E 3.779218 -1.379484 130.000000
+ E 3.779218 1.379484 50.000000
+ C 0 0.000000 9.842520 -2.547432 8.919291 140.000000 25.000000
+ C 0 0.000000 9.842520 -2.547432 -8.919291 15.000000 25.000000
+END
+TURNOUT HO "Tillig Luna Tramway Curve Crossing BKL 250mm 20d 87663/87664"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 4.157480 0.000000 90.000000
+ E 0.000000 -0.924289 245.000000
+ E 2.802232 1.036351 45.000000
+ S 0 0.000000 0.000000 0.000000 4.157480 0.000000
+ C 0 0.000000 9.842520 -4.157480 7.996063 135.000000 20.000000
+ END
+TURNOUT HO "Tillig Luna Tramway Curve Crossing BKR 250mm 20d 87668/87669"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 4.157480 0.000000 90.000000
+ E 0.000000 0.924289 295.000000
+ E 2.802232 -1.036351 135.000000
+ S 0 0.000000 0.000000 0.000000 4.157480 0.000000
+ C 0 0.000000 9.842520 -4.157480 -7.996063 25.000000 20.000000
+END
+TURNOUT HO "Tillig Luna Tramway Curve Crossing KG (SYM) 76mm 90d 87723/87724"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 2.992126 0.000000 90.000000
+ E 1.496063 1.496063 0.000000
+ E 1.496063 -1.496063 180.000000
+ S 0 0.000000 0.000000 0.000000 2.992126 0.000000
+ S 0 0.000000 1.496063 1.496063 1.496063 -1.496063
+END
+TURNOUT HO "Tillig Luna Tramway Curve Crossing KA (ASYM) 62mm 90d 87728/87729"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 2.440945 0.000000 90.000000
+ E 1.496063 0.944882 0.000000
+ E 1.496063 -1.496063 180.000000
+ S 0 0.000000 0.000000 0.000000 2.440945 0.000000
+ S 0 0.000000 1.496063 0.944882 1.496063 -1.496063
+END
+
+
+SUBCONTENTS Tillig Luna Tramway Track - Turnouts
+TURNOUT HO "Tillig Luna Tramway WL-250R 87583/87584"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 4.157480 0.000000 90.000000
+ E 4.159629 0.922167 65.000000
+ S 0 0.000000 0.000000 0.000000 4.157480 0.000000
+ C 0 0.000000 9.842520 0.000000 9.842520 155.000000 25.000000
+END
+TURNOUT HO "Tillig Luna Tramway WR-250R 87588/87589"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 4.157480 0.000000 90.000000
+ E 4.159629 -0.922167 115.000000
+ S 0 0.000000 0.000000 0.000000 4.157480 0.000000
+ C 0 0.000000 9.842520 0.000000 -9.842520 0.000000 25.000000
+END
+TURNOUT HO "Tillig Luna Tramway YWL 250R 15d / 204R 25d 87643/87644"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 3.394257 0.752489 65.000000
+ E 2.547432 -0.335376 105.000000
+ C 0 0.000000 8.031496 0.000000 8.031496 155.000000 25.000000
+ C 0 0.000000 9.842520 0.000000 -9.842520 0.000000 15.000000
+END
+TURNOUT HO "Tillig Luna Tramway YWR 250R 15d / 204R 25d 87648/87649"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 2.547432 0.335376 75.000000
+ E 3.394257 -0.752489 110.000000
+ C 0 0.000000 8.031496 0.000000 -8.031496 0.000000 25.000000
+ C 0 0.000000 9.842520 0.000000 9.842520 165.000000 15.000000
+END
+TURNOUT HO "Tillig Luna Tramway PWL-204R 87593/87594"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 4.157480 0.000000 90.000000
+ E 4.159629 0.922167 60.000000
+ S 0 0.000000 0.000000 0.000000 4.157480 0.000000
+ C 0 0.000000 8.031496 0.000000 8.031496 150.000000 30.000000
+END
+TURNOUT HO "Tillig Luna Tramway PWR-204R 87598/87599"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 4.157480 0.000000 90.000000
+ E 4.159629 -0.922167 120.000000
+ S 0 0.000000 0.000000 0.000000 4.157480 0.000000
+ C 0 0.000000 8.031496 0.000000 -8.031496 0.000000 30.000000
+END
+
+
+SUBCONTENTS Tillig Luna Tramway Track - 250mm Curve Track
+TURNOUT HO "Tillig Luna Tramway K1 250mm 90d 87756/87757"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.842520 -9.842520 180.000000
+ C 0 0.000000 9.842520 0.000000 -9.842520 0.000000 90.000000
+END
+TURNOUT HO "Tillig Luna Tramway B1 250mm 25d 87790"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.159629 -0.922167 115.000000
+ C 0 0.000000 9.842520 0.000000 -9.842520 0.000000 25.000000
+END
+TURNOUT HO "Tillig Luna Tramway B2 250mm 15d 87791"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.547432 -0.335376 105.000000
+ C 0 0.000000 9.842520 0.000000 -9.842520 0.000000 15.000000
+END
+TURNOUT HO "Tillig Luna Tramway B3 250mm 5d 87792"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.858649 -0.037454 95.000000
+ C 0 0.000000 9.842520 0.000000 -9.842520 0.000000 5.000000
+END
+TURNOUT HO "Tillig Luna Tramway B1e 250mm 25d 87796"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.159629 -0.922167 115.000000
+ C 0 0.000000 9.842520 0.000000 -9.842520 0.000000 25.000000
+END
+
+
+SUBCONTENTS Tillig Luna Tramway Track - 204mm Curve Track
+TURNOUT HO "Tillig Luna Tramway PK1 204mm 90d 87761/87762"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 8.031496 -8.031496 180.000000
+ C 0 0.000000 8.031496 0.000000 -8.031496 0.000000 90.000000
+END
+TURNOUT HO "Tillig Luna Tramway PB1 204mm 25d 87793"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.394257 -0.752489 115.000000
+ C 0 0.000000 8.031496 0.000000 -8.031496 0.000000 25.000000
+END
+TURNOUT HO "Tillig Luna Tramway PB2 204mm 15d 87794"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.078704 -0.273667 105.000000
+ C 0 0.000000 8.031496 0.000000 -8.031496 0.000000 15.000000
+END
+TURNOUT HO "Tillig Luna Tramway PB3 204mm 5d 87795"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.699991 -0.030562 95.000000
+ C 0 0.000000 8.031496 0.000000 -8.031496 0.000000 5.000000
+END
+TURNOUT HO "Tillig Luna Tramway PB1e 204mm 25d 87797"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.394257 -0.752489 115.000000
+ C 0 0.000000 8.031496 0.000000 -8.031496 0.000000 25.000000
+END
+
+SUBCONTENTS Tillig Luna Tramway Track - Straight Track
+TURNOUT HO "Tillig Luna Tramway A3 316.8mm 87501/87502"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 12.472441 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 12.472441 0.000000
+END
+TURNOUT HO "Tillig Luna Tramway A2 211.2mm 87506/87507"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 8.314961 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 8.314961 0.000000
+END
+TURNOUT HO "Tillig Luna Tramway A1 105.6mm 87511/87512"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.157480 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 4.157480 0.000000
+END
+TURNOUT HO "Tillig Luna Tramway G1 105.6mm 87780"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.157480 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 4.157480 0.000000
+END
+TURNOUT HO "Tillig Luna Tramway G2 95.3mm 87786"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.751969 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 3.751969 0.000000
+END
+TURNOUT HO "Tillig Luna Tramway G3 66.2mm 87781"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.606299 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 2.606299 0.000000
+END
+TURNOUT HO "Tillig Luna Tramway G4 46.9mm 87782"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.846457 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.846457 0.000000
+END
+TURNOUT HO "Tillig Luna Tramway G5 30.5mm 87783"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.200787 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.200787 0.000000
+END
+TURNOUT HO "Tillig Luna Tramway G6 10.9mm 87784"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.429134 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 0.429134 0.000000
+END
+TURNOUT HO "Tillig Luna Tramway G1e 105.6mm 87785"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.157480 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 4.157480 0.000000
+END
+
+
+SUBCONTENTS Tillig Luna Tramway Track - Track Assemblies
+TURNOUT HO "Tillig Luna Tramway Junction (Left) ALI 87611/87612"
+ P "Normal" 1 2
+ P "Route" 1 3 4 5
+ E 0.000000 0.000000 270.000000
+ E 16.637795 1.844488 90.000000
+ E 16.637795 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 4.159449 0.000000
+ S 0 0.000000 4.159449 0.000000 16.637795 0.000000
+ C 0 0.000000 -9.842520 4.159449 9.842520 155.000000 25.000000
+ C 0 0.000000 9.842520 12.478706 -7.998031 335.000000 25.000000
+ S 0 0.000000 12.478706 1.844488 16.637795 1.846457
+END
+TURNOUT HO "Tillig Luna Tramway Junction (Right) ARE 87616/87617"
+ P "Normal" 1 2
+ P "Route" 1 3 4 5
+ E 0.000000 0.000000 270.000000
+ E 16.637795 -1.844488 90.000000
+ E 16.637795 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 4.159449 0.000000
+ S 0 0.000000 4.159449 0.000000 16.637795 0.000000
+ C 0 0.000000 9.842520 4.159449 -9.842520 0.000000 25.000000
+ C 0 0.000000 -9.842520 12.478706 7.998031 180.000000 25.000000
+ S 0 0.000000 12.478706 -1.844488 16.637795 -1.846457
+END
+TURNOUT HO "Tillig Luna Tramway Depot 3-Stands 87631/87632"
+ P "Normal" 1 2 3
+ P "RLeft" 1 4 5 6
+ P "RRight" 1 2 7 8 9
+ E 0.000000 0.000000 270.000000
+ E 20.797244 1.844488 90.000000
+ E 20.797244 0.000000 90.000000
+ E 20.797244 -1.844488 90.000000
+ S 0 0.000000 0.000000 0.000000 4.159449 0.000000
+ S 0 0.000000 4.159449 0.000000 8.318898 0.000000
+ S 0 0.000000 8.318898 0.000000 20.797244 0.000000
+ C 0 0.000000 -9.842520 4.159449 9.842520 155.000000 25.000000
+ C 0 0.000000 9.842520 12.478706 -7.998031 335.000000 25.000000
+ S 0 0.000000 12.478706 1.844488 20.797244 1.846457
+ C 0 0.000000 9.842520 8.318898 -9.842520 0.000000 25.000000
+ C 0 0.000000 -9.842520 16.638155 7.998031 180.000000 25.000000
+ S 0 0.000000 16.638155 -1.844488 20.797244 -1.846457
+END
+TURNOUT HO "Tillig Luna Tramway Double-Track T-Crossing 87701" 256
+ P "3-5+4-6 Straight" 11 0 12
+ P "1-6+2-5 Right" 1 7 9 0 2 8 10
+# P "1-6+2-4+3-5" 1 7 9 0 2 4 6 0 11
+# P "1-3+2-5+4-6" 1 3 5 0 2 8 10 0 12
+ P "1-3+2-4 Left" 1 3 5 0 2 4 6
+# P "1" 1 3 5 0 2 4 6
+# P "2" 1 7 9 0 2 8 10
+# P "3" 11 0 12
+ E 0.000000 1.844488 270.000000
+ E 0.000000 0.000000 270.000000
+ E 12.157480 14.035433 0.000000
+ E 14.001969 14.001969 0.000000
+ E 12.157480 -12.157480 180.000000
+ E 14.001969 -12.157480 180.000000
+ S 0 0.000000 0.000000 1.844488 4.159449 1.844488
+ S 0 0.000000 0.000000 0.000000 4.159449 0.000000
+ C 0 0.000000 -7.998031 4.159449 9.875984 90.000000 90.000000
+ C 0 0.000000 -9.842520 4.159449 9.875984 90.000000 90.000000
+ S 0 0.000000 12.157480 9.842520 12.157480 14.001969
+ S 0 0.000000 14.001969 9.842520 14.001969 14.001969
+ C 0 0.000000 9.842520 4.159449 -7.998031 0.000000 90.000000
+ C 0 0.000000 7.998031 4.159449 -7.998031 0.000000 90.000000
+ S 0 0.000000 14.001969 -7.998031 14.001969 -12.157480
+ S 0 0.000000 12.157480 -7.998031 12.157480 -12.157480
+ S 0 0.000000 12.157480 14.001969 12.157480 -12.157480
+ S 0 0.000000 14.001969 14.001969 14.001969 -12.157480
+END
+TURNOUT HO "Tillig Luna Tramway Double-Track Curve Crossing 87656/87657" 256
+ P "1-5+2-6 Left" 1 5 0 2 6
+# P "1-5+2-3" 1 5 0 2 4
+# P "1-4+2-6" 1 3 0 2 6
+ P "1-4+2-3 Right" 1 3 0 2 4
+# P "1" 1 3 0 2 4
+# P "2" 1 5 0 2 6
+ E 0.000000 1.844488 270.000000
+ E 0.000000 0.000000 270.000000
+ E 9.321995 -1.879013 130.000000
+ E 10.486099 -0.458224 130.000000
+ E 9.321995 3.723501 50.000000
+ E 10.486099 2.302712 50.000000
+ S 0 0.000000 0.000000 1.844488 4.159449 1.844488
+ S 0 0.000000 0.000000 0.000000 4.159449 0.000000
+ C 0 0.000000 9.842520 4.159449 -8.031496 0.000000 40.000000
+ C 0 0.000000 8.031496 4.159449 -8.031496 0.000000 40.000000
+ C 0 0.000000 -8.031496 4.159449 9.875984 140.000000 40.000000
+ C 0 0.000000 -9.842520 4.159449 9.875984 140.000000 40.000000
+END
+
+
+SUBCONTENTS Tillig Luna Tramway Track - Straight Double Track Assy.
+TURNOUT HO "Tillig Luna Tramway Double Track Straight Z3 316.8mm 87516/87517"
+ P "Normal" 1 0 2
+ E 0.000000 0.923228 270.000000
+ E 12.472441 0.923228 90.000000
+ E 0.000000 -0.923228 270.000000
+ E 12.472441 -0.923228 90.000000
+ S 0 0.000000 0.000000 0.923228 12.472441 0.923228
+ S 0 0.000000 0.000000 -0.923228 12.472441 -0.923228
+END
+
+
+SUBCONTENTS Tillig Luna Tramway Track - Curve Double Track Assy.
+TURNOUT HO "Tillig Luna Tramway Double-Track Curve DK1 250/204mm 45d 87766/87767"
+ P "Normal" 1 0 2
+ E 0.000000 0.923228 270.000000
+ E 6.959712 -1.977295 135.000000
+ E 0.000000 -0.923228 270.000000
+ E 5.679125 -3.257883 135.000000
+ C 0 0.000000 9.877952 0.000000 -8.954724 0.000000 45.000000
+ C 0 0.000000 8.031496 0.000000 -8.954724 0.000000 45.000000
+END
diff --git a/app/lib/params/HO-TrixExpress Tracks.xtp b/app/lib/params/HO-TrixExpress Tracks.xtp
new file mode 100644
index 0000000..86c3a8d
--- /dev/null
+++ b/app/lib/params/HO-TrixExpress Tracks.xtp
@@ -0,0 +1,266 @@
+CONTENTS Trix Express H0 Scale
+SUBCONTENTS Trix Express Track - Straight Tracks
+TURNOUT HO "Trix Straight Track 183.5mm 04"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 7.224409 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 7.224409 0.000000
+ END$SEGS
+TURNOUT HO "Trix Straight Track 134.3mm 05"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 5.287402 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 5.287402 0.000000
+ END$SEGS
+TURNOUT HO "Trix Straight Track 95.5mm 06"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 3.759843 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 3.759843 0.000000
+ END$SEGS
+TURNOUT HO "Trix Straight Track 88.0mm 07"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 3.464567 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 3.464567 0.000000
+ END$SEGS
+TURNOUT HO "Trix Straight Track 49.2mm 08"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 1.937008 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.937008 0.000000
+ END$SEGS
+TURNOUT HO "Trix Straight Track 30.1mm 03"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 1.185039 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.185039 0.000000
+ END$SEGS
+
+SUBCONTENTS Trix Express Track - Curve Tracks
+TURNOUT HO "Trix Curve Track 30° R1=342.5mm 12"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 6.742126 -1.806547 120.000000
+ C 0 0.000000 13.484252 0.000000 -13.484252 0.000000 30.000000
+ END$SEGS
+TURNOUT HO "Trix Curve Track 24° 4/5 R1=342.5mm 14"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 5.484539 -1.165775 114.000000
+ C 0 0.000000 13.484252 0.000000 -13.484252 0.000000 24.000000
+ END$SEGS
+TURNOUT HO "Trix Curve Track 6° 1/5 R1=342.5mm 16"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 1.409488 -0.073868 96.000000
+ C 0 0.000000 13.484252 0.000000 -13.484252 0.000000 6.000000
+ END$SEGS
+TURNOUT HO "Trix Curve Track 30° R2=401.7mm 22"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 7.907480 -2.118803 120.000000
+ C 0 0.000000 15.814961 0.000000 -15.814961 0.000000 30.000000
+ END$SEGS
+TURNOUT HO "Trix Curve Track 24° 4/5 R2=401.7mm 24"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 6.432524 -1.367275 114.000000
+ C 0 0.000000 15.814961 0.000000 -15.814961 0.000000 24.000000
+ END$SEGS
+TURNOUT HO "Trix Curve Track 6° 1/5 R2=401.7mm 26"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 1.653114 -0.086636 96.000000
+ C 0 0.000000 15.814961 0.000000 -15.814961 0.000000 6.000000
+ END$SEGS
+
+SUBCONTENTS Trix Express Track - Isolation Tracks
+TURNOUT HO "Trix Straight Isolation Track 88.0mm 82"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 3.464567 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 3.464567 0.000000
+ END$SEGS
+TURNOUT HO "Trix Curve Isolation Track 24° 4/5 R1=342.5mm 84"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 5.484539 1.165775 114.000000
+ C 0 0.000000 13.484252 0.000000 -13.484252 0.000000 24.000000
+ END$SEGS
+TURNOUT HO "Trix Curve Isolation Track 24° 4/5 R2=401.7mm 86"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 6.432524 -1.367275 114.000000
+ C 0 0.000000 15.814961 0.000000 -15.814961 0.000000 24.000000
+ END$SEGS
+
+SUBCONTENTS Trix Express Track - Specialized Tracks
+TURNOUT HO "Trix Uncoupler Track 88.0mm 69"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 3.464567 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 3.464567 0.000000
+ F4 3100495 0.000000 4 0
+ 0.750000 0.400000 0
+ 0.750000 1.400000 0
+ 2.714567 1.400000 0
+ 2.714567 0.400000 0
+ L3 8424071 0.400000 0.750000 0.000000 0 2.714567 0.000000 0
+ END$SEGS
+TURNOUT HO "Trix Bumper/Buffer Track 88.0mm 91"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 3.464567 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 3.464567 0.000000
+ L3 10824234 0.100000 0.000000 0.250000 0 1.7322835 0.250000 0
+ L3 10824234 0.100000 0.000000 -0.250000 0 1.7322835 -0.250000 0
+ L3 10824234 0.100000 1.7322835 0.625000 0 1.7322835 -0.625000 0
+ END$SEGS
+TURNOUT HO "Trix Straight Powerfeed Track 183.5mm 90"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 7.224409 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 7.224409 0.000000
+ L3 16711680 0.030000 3.112205 0.000000 0 3.112205 0.625000 0
+ L3 16711680 0.030000 3.112205 0.625000 0 2.987205 0.875000 0
+ L3 16711680 0.030000 3.112205 0.625000 0 3.237205 0.875000 0
+ L3 32768 0.030000 4.112205 0.000000 0 4.112205 0.625000 0
+ L3 32768 0.030000 4.112205 0.625000 0 3.987205 0.875000 0
+ L3 32768 0.030000 4.112205 0.625000 0 4.237205 0.875000 0
+ END$SEGS
+TURNOUT HO "Trix Curve Powerfeed Track 30° R1=342.5mm 72"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 6.742126 -1.806547 120.000000
+ C 0 0.000000 13.484252 0.000000 -13.484252 0.000000 30.000000
+ A3 3100495 0.800000 14.271654 0.000000 -13.484252 0 20.00000 5.000000
+ END$SEGS
+
+SUBCONTENTS Trix Express Track - Turnouts
+TURNOUT HO "Trix Manual Turnout left 183.5mm R1=342mm 24° 52L"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 7.224409 0.000000 90.000000
+ E 5.484646 1.165787 66.000000
+ S 0 0.000000 0.000000 0.000000 0.649647 0.000000
+ S 0 0.000000 0.649647 0.000000 7.224409 0.000000
+ C 0 0.000000 -10.428270 0.649647 10.428270 156.000000 24.000000
+ S 0 0.000000 4.891207 0.901571 5.484646 1.165787
+ F4 3100495 0.000000 6 0
+ 0.700000 -0.400000 0
+ 0.700000 -0.793701 0
+ 1.841732 -1.738583 0
+ 4.479528 -1.738583 0
+ 5.621260 -0.793701 0
+ 5.621260 -0.400000 0
+ END$SEGS
+TURNOUT HO "Trix Manual Turnout right 183.5mm R1=342mm 24° 52R"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 7.224409 0.000000 90.000000
+ E 5.484646 -1.165787 114.000000
+ S 0 0.000000 0.000000 0.000000 0.649647 0.000000
+ S 0 0.000000 0.649647 0.000000 7.224409 0.000000
+ C 0 0.000000 10.428270 0.649647 -10.428270 0.000000 24.000000
+ S 0 0.000000 4.891207 -0.901571 5.484646 -1.165787
+ F4 3100495 0.000000 6 0
+ 0.700000 0.400000 0
+ 0.700000 0.793701 0
+ 1.841732 1.738583 0
+ 4.479528 1.738583 0
+ 5.621260 0.793701 0
+ 5.621260 0.400000 0
+ END$SEGS
+TURNOUT HO "Trix Remote Turnout left 183.5mm R1=342mm 24° 62L"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 7.224409 0.000000 90.000000
+ E 5.484646 1.165787 66.000000
+ S 0 0.000000 0.000000 0.000000 0.649647 0.000000
+ S 0 0.000000 0.649647 0.000000 7.224409 0.000000
+ C 0 0.000000 -10.428270 0.649647 10.428270 156.000000 24.000000
+ S 0 0.000000 4.891207 0.901571 5.484646 1.165787
+ F4 3100495 0.000000 6 0
+ 0.700000 -0.400000 0
+ 0.700000 -0.793701 0
+ 1.841732 -1.738583 0
+ 4.479528 -1.738583 0
+ 5.621260 -0.793701 0
+ 5.621260 -0.400000 0
+ END$SEGS
+TURNOUT HO "Trix Remote Turnout right 183.5mm R1=342mm 24° 62R"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 7.224409 0.000000 90.000000
+ E 5.484646 -1.165787 114.000000
+ S 0 0.000000 0.000000 0.000000 0.649647 0.000000
+ S 0 0.000000 0.649647 0.000000 7.224409 0.000000
+ C 0 0.000000 10.428270 0.649647 -10.428270 0.000000 24.000000
+ S 0 0.000000 4.891207 -0.901571 5.484646 -1.165787
+ F4 3100495 0.000000 6 0
+ 0.700000 0.400000 0
+ 0.700000 0.793701 0
+ 1.841732 1.738583 0
+ 4.479528 1.738583 0
+ 5.621260 0.793701 0
+ 5.621260 0.400000 0
+ END$SEGS
+TURNOUT HO "Trix Curved Turnout left R1 42° 43L"
+ P "Normal" 2 3
+ P "Reverse" 1
+ E 0.000000 0.000000 270.000000
+ E 11.353434 3.463500 48.000000
+ E 9.022726 3.463500 48.000000
+ C 0 0.000000 -13.484252 0.000000 13.484252 138.000000 42.000000
+ S 0 0.000000 0.000000 0.000000 2.330709 0.000000
+ C 0 0.000000 -13.484252 2.330709 13.484252 138.000000 42.000000
+ A3 3100495 0.800000 11.000000 0.649698 11.792002 0 155.00000 20.000000
+ END$SEGS
+TURNOUT HO "Trix Curved Turnout right R1 42° 43R"
+ P "Normal" 2 3
+ P "Reverse" 1
+ E 0.000000 0.000000 270.000000
+ E 11.353434 -3.463500 132.000000
+ E 9.022726 -3.463500 132.000000
+ C 0 0.000000 13.484252 0.000000 -13.484252 0.000000 42.000000
+ S 0 0.000000 0.000000 0.000000 2.330709 0.000000
+ C 0 0.000000 13.484252 2.330709 -13.484252 0.000000 42.000000
+ A3 3100495 0.800000 11.000000 0.649698 -11.792002 0 5.00000 20.000000
+ END$SEGS
+
+
+SUBCONTENTS Trix Express Track - Slips
+TURNOUT HO "Trix Double Slipswitch Turnout 30° 183.5mm 68" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
+ E 0.000000 0.000000 270.000000
+ E 7.224409 0.000000 90.000000
+ E 0.483940 1.806097 300.000000
+ E 6.740469 -1.806097 120.000000
+ S 0 0.000000 0.000000 0.000000 1.299247 0.000000
+ S 0 0.000000 1.299247 0.000000 5.925162 0.000000
+ S 0 0.000000 5.925162 0.000000 7.224409 0.000000
+ S 0 0.000000 0.483940 1.806097 1.609060 1.156501
+ S 0 0.000000 1.609060 1.156501 5.615349 -1.156501
+ S 0 0.000000 5.615349 -1.156501 6.740469 -1.806097
+ C 0 0.000000 8.632171 1.299213 -8.632171 0.000000 30.000000
+ C 0 0.000000 -8.632171 5.925172 8.632166 180.000000 30.000000
+ END$SEGS
+
+SUBCONTENTS Trix Express Track - Crossings
+TURNOUT HO "Trix 30° Crossing Track 183.5mm 04"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 7.224409 0.000000 90.000000
+ E 0.483940 1.806097 300.000000
+ E 6.740469 -1.806097 120.000000
+ S 0 0.000000 0.000000 0.000000 7.224409 0.000000
+ S 0 0.000000 0.483940 1.806097 6.740469 -1.806097
+ END$SEGS
diff --git a/app/lib/params/HO-WalthCornerstone 1.xtp b/app/lib/params/HO-WalthCornerstone 1.xtp
index b65af44..bea84b2 100644
--- a/app/lib/params/HO-WalthCornerstone 1.xtp
+++ b/app/lib/params/HO-WalthCornerstone 1.xtp
@@ -4070,7 +4070,7 @@ STRUCTURE HO "Walthers Machine Shop 933-2902"
SUBCONTENTS Walthers Cornerstone HO Structures - Turn Tables
-TURNOUT HO "Walthers 130' Turn Table 933-2829"
+TURNOUT HO "Walthers 130' Turn Table 933-2829" 512
# TT was designed with 18.875" bridge, 19.125" outside dia., 10 degree spacing
P "1" 1 2 3
P "2" 4 5 6
@@ -4204,7 +4204,7 @@ TURNOUT HO "Walthers 130' Turn Table 933-2829"
A 11579568 0.053333 9.437500 0.000000 0.000000 0.000000 360.000000
G 11579568 0.000000 0.053333 0.000000 0.000000 0
END
-TURNOUT HO "Walthers 90' Turn Table 933-2840"
+TURNOUT HO "Walthers 90' Turn Table 933-2840" 512
# TT was designed with 12.5" bridge, 13.75" outside dia., 10 degree spacing
P "1" 1 2 3
P "2" 4 5 6
@@ -4299,8 +4299,8 @@ TURNOUT HO "Walthers 90' Turn Table 933-2840"
S 0 0 -6.155048 -1.085301 -6.770553 -1.193831
#90/270
S 0 0 6.875000 0.000000 6.250000 0.000000
- S 0 0 6.250000 0.000000 -6.875000 0.000000
- S 0 0 -6.875000 0.000000 -6.2500000 0.000000
+ S 0 0 6.250000 0.000000 -6.250000 0.000000
+ S 0 0 -6.250000 0.000000 -6.8750000 0.000000
#100/280
S 0 0 6.770553 -1.193831 6.155048 -1.085301
S 16777215 0 6.155048 -1.085301 -6.155048 1.085301
@@ -4339,7 +4339,7 @@ TURNOUT HO "Walthers 90' Turn Table 933-2840"
G 11579568 0.000000 0.053333 0.000000 0.000000 0
END
-TURNOUT HO "Walthers Transfer Table 933-2968"
+TURNOUT HO "Walthers Transfer Table 933-2968" 512
# TT was designed with 2.1875" Bridge position spacing table has 48 programmable positions
P "P1" 1
P "P2" 2
diff --git a/app/lib/params/HO-Walthers Cornerstone Engineered Bridge System.xtp b/app/lib/params/HO-Walthers Cornerstone Engineered Bridge System.xtp
index 057cb3a..8327b09 100644
--- a/app/lib/params/HO-Walthers Cornerstone Engineered Bridge System.xtp
+++ b/app/lib/params/HO-Walthers Cornerstone Engineered Bridge System.xtp
@@ -136,7 +136,7 @@ END
SUBCONTENTS Walthers HO Cornerstone Engineered Bridge System - Truss Bridges
-TURNOUT HO "Walthers HO Cornerstone Engr Bridge System 109' Double-Track Truss Bridge (2-3/16" Tk Sp) 933-4510"
+TURNOUT HO "Walthers HO Cornerstone Engr Bridge System 109' Double-Track Truss Bridge (2-3/16"" Tk Sp) 933-4510"
P "Normal" 1 0 2
E 0.000000 1.093750 270.000000
E 15.017222 1.093750 90.000000
@@ -264,7 +264,7 @@ TURNOUT HO "Walthers HO Cornerstone Engr Bridge System 109' Single-Track Pratt D
L3 13528100 0.053333 0.000000 -0.500000 0 15.017222 -0.500000 0
L3 13528100 0.053333 0.000000 -0.593750 0 15.017222 -0.593750 0
END
-TURNOUT HO "Walthers HO Cornerstone Engr Bridge System 167' Double-Track Pratt Arched Truss Bridge (2-3/16" Tk Sp) 933-4522"
+TURNOUT HO "Walthers HO Cornerstone Engr Bridge System 167' Double-Track Pratt Arched Truss Bridge (2-3/16"" Tk Sp) 933-4522"
P "Normal" 1 0 2
E 0.000000 1.093750 270.000000
E 23.008037 1.093750 90.000000
@@ -413,7 +413,7 @@ END
SUBCONTENTS Walthers HO Cornerstone Engineered Bridge System - Swing Bridge
-TURNOUT HO "Walthers HO Cornerstone Engr Bridge System 200.5' Double-Track Truss Swing Bridge (2-1/16" Tk Sp) 933-3088"
+TURNOUT HO "Walthers HO Cornerstone Engr Bridge System 200.5' Double-Track Truss Swing Bridge (2-1/16"" Tk Sp) 933-3088"
P "Normal" 1 0 2
E 0.000000 1.031250 270.000000
E 27.625000 1.031250 90.000000
diff --git a/app/lib/params/HO-Walthers DCC Code 100.xtp b/app/lib/params/HO-Walthers DCC Code 100.xtp
new file mode 100644
index 0000000..f885e9e
--- /dev/null
+++ b/app/lib/params/HO-Walthers DCC Code 100.xtp
@@ -0,0 +1,229 @@
+CONTENTS Walthers HO DCC Code 100 TUrnouts
+
+
+SUBCONTENTS Walthers HO DCC Code 100 - Turnouts
+TURNOUT HO "Walthers DCC #4 Left Hand Turnout 948-10013"
+ U "Regular Turnout" "" "Walthers" "#4 Left Hand Turnout" "948-10013" "#4 Right Hand Turnout" "948-10014" 8.751969 14.036137 1.401574 8.751969 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 8.751969 0.000000 90.000000
+ E 8.751969 1.401574 75.963863
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ S 0 0.000000 0.649600 0.000000 8.751969 0.000000
+ C 0 0.000000 -20.275660 0.649600 20.275660 165.963863 14.036137
+ S 0 0.000000 5.567133 0.605371 8.751969 1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #4 Right Hand Turnout 948-10014"
+ U "Regular Turnout" "" "Walthers" "#4 Left Hand Turnout" "948-10013" "#4 Right Hand Turnout" "948-10014" 8.751969 14.036137 1.401574 8.751969 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 8.751969 0.000000 90.000000
+ E 8.751969 -1.401574 104.036137
+ S 0 0.000000 0.000000 0.000000 0.649600 -0.000000
+ S 0 0.000000 0.649600 -0.000000 8.751969 0.000000
+ C 0 0.000000 20.275660 0.649600 -20.275660 0.000000 14.036137
+ S 0 0.000000 5.567133 -0.605371 8.751969 -1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #5 Left Hand Turnout 948-10015"
+ U "Regular Turnout" "" "Walthers" "#5 Left Hand Turnout" "948-10015" "#5 Right Hand Turnout" "948-10016" 10.031496 11.323340 1.401574 10.031496 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 10.031496 0.000000 90.000000
+ E 10.031496 1.401574 78.676660
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ S 0 0.000000 0.649600 0.000000 10.031496 0.000000
+ C 0 0.000000 -24.032676 0.649600 24.032676 168.676660 11.323340
+ S 0 0.000000 5.368310 0.467802 10.031496 1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #5 Right Hand Turnout 948-10016"
+ U "Regular Turnout" "" "Walthers" "#5 Left Hand Turnout" "948-10015" "#5 Right Hand Turnout" "948-10016" 10.031496 11.323340 1.401574 10.031496 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 10.031496 0.000000 90.000000
+ E 10.031496 -1.401574 101.323340
+ S 0 0.000000 0.000000 0.000000 0.649600 -0.000000
+ S 0 0.000000 0.649600 -0.000000 10.031496 0.000000
+ C 0 0.000000 24.032676 0.649600 -24.032676 0.000000 11.323340
+ S 0 0.000000 5.368310 -0.467802 10.031496 -1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #6 Left Hand Turnout 948-10017"
+ U "Regular Turnout" "" "Walthers" "#6 Left Hand Turnout" "948-10017" "#6 Right Hand Turnout" "948-10018" 11.311204 9.462340 1.401574 11.311204 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 11.311204 0.000000 90.000000
+ E 11.311204 1.401574 80.537660
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ S 0 0.000000 0.649600 0.000000 11.311204 0.000000
+ C 0 0.000000 -27.212458 0.649600 27.212458 170.537660 9.462340
+ S 0 0.000000 5.123309 0.370256 11.311204 1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #6 Right Hand Turnout 948-10018"
+ U "Regular Turnout" "" "Walthers" "#6 Left Hand Turnout" "948-10017" "#6 Right Hand Turnout" "948-10018" 11.311204 9.462340 1.401574 11.311204 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 11.311204 0.000000 90.000000
+ E 11.311204 -1.401574 99.462340
+ S 0 0.000000 0.000000 0.000000 0.649600 -0.000000
+ S 0 0.000000 0.649600 -0.000000 11.311204 0.000000
+ C 0 0.000000 27.212458 0.649600 -27.212458 0.000000 9.462340
+ S 0 0.000000 5.123309 -0.370256 11.311204 -1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #8 Left Hand Turnout 948-10019"
+ U "Regular Turnout" "" "Walthers" "#8 Left Hand Turnout" "948-10019" "#8 Right Hand Turnout" "948-10020" 13.862205 7.125015 1.401574 13.862205 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 13.862205 0.000000 90.000000
+ E 13.862205 1.401574 82.874985
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ S 0 0.000000 0.649600 0.000000 13.862205 0.000000
+ C 0 0.000000 -32.124696 0.649600 32.124696 172.874985 7.125015
+ S 0 0.000000 4.634177 0.248071 13.862205 1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #8 Right Hand Turnout 948-10020"
+ U "Regular Turnout" "" "Walthers" "#8 Left Hand Turnout" "948-10019" "#8 Right Hand Turnout" "948-10020" 13.862205 7.125015 1.401574 13.862205 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 13.862205 0.000000 90.000000
+ E 13.862205 -1.401574 97.125015
+ S 0 0.000000 0.000000 0.000000 0.649600 -0.000000
+ S 0 0.000000 0.649600 -0.000000 13.862205 0.000000
+ C 0 0.000000 32.124696 0.649600 -32.124696 0.000000 7.125015
+ S 0 0.000000 4.634177 -0.248071 13.862205 -1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #10 Left Hand Turnout 948-10021"
+ U "Regular Turnout" "" "Walthers DCC" "#10 Left Hand Turnout" "948-10021" "#10 Right Hand Turnout" "948-10022" 16.760699 5.617940 1.401574 16.760699 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 16.760699 0.000000 90.000000
+ E 16.760699 1.401574 84.382060
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ S 0 0.000000 0.649600 0.000000 16.760699 0.000000
+ C 0 0.000000 -37.963464 0.649600 37.963464 174.382060 5.617940
+ S 0 0.000000 4.366015 0.182346 16.760699 1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #10 Right Hand Turnout 948-83022"
+ U "Regular Turnout" "" "Walthers DCC" "#10 Left Hand Turnout" "948-10021" "#10 Right Hand Turnout" "948-10022" 16.760699 5.617940 1.401574 16.760699 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 16.760699 0.000000 90.000000
+ E 16.760699 -1.401574 95.617940
+ S 0 0.000000 0.000000 0.000000 0.649600 -0.000000
+ S 0 0.000000 0.649600 -0.000000 16.760699 0.000000
+ C 0 0.000000 37.963464 0.649600 -37.963464 0.000000 5.617940
+ S 0 0.000000 4.366015 -0.182346 16.760699 -1.401574
+ END$SEGS
+
+SUBCONTENTS Walthers HO DCC Code 100 - Double Crossover
+TURNOUT HO "Walthers DCC #6 Double Crossover 948-10051"
+ U "Double Crossover" "" "Walthers" "#6 Double Crossover" "948-10051" 18.765354 2.000000 0.000000 0.041667 0
+ P "Normal" 1 2 3 0 4 5 6
+ P "Reverse" 1 7 8 9 6 0 4 10 11 12 3
+ E 0.000000 0.000000 270.000000
+ E 18.765354 0.000000 90.000000
+ E 0.000000 2.000000 270.000000
+ E 18.765354 2.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.186156 0.000000
+ S 0 0.000000 1.186156 0.000000 17.579198 0.000000
+ S 0 0.000000 17.579198 0.000000 18.765354 0.000000
+ S 0 0.000000 0.000000 2.000000 1.186156 2.000000
+ S 0 0.000000 1.186156 2.000000 17.579198 2.000000
+ S 0 0.000000 17.579198 2.000000 18.765354 2.000000
+ C 0 0.000000 -33.880487 1.186156 33.880487 167.100883 12.899117
+ S 0 0.000000 8.749470 0.854986 10.015884 1.145014
+ C 0 0.000000 33.880487 17.579198 -31.880487 347.100883 12.899117
+ C 0 0.000000 33.880487 1.186156 -31.880487 0.000000 12.899117
+ S 0 0.000000 8.749470 1.145014 10.015884 0.854986
+ C 0 0.000000 -33.880487 17.579198 33.880487 180.000000 12.899117
+ END$SEGS
+
+SUBCONTENTS Walthers HO DCC Code 100 - Curved Turnouts
+TURNOUT HO "Walthers DCC 20-24 Left Hand Curve Turnout 849-10061"
+ U "Curved Turnout" "" "Walthers" "20-24 Left Hand Curve Turnout" "849-10061" "20-24 Right Hand Curve Turnout" "849-10062" 13.373046 40.356540 5.606496 35.896607 4.558036 14.071585 0.000000 0.041667 0
+ P "Normal" 1 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 14.071585 4.558036 54.103393
+ E 13.373046 5.606496 49.643460
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ C 0 0.000000 -16.668677 0.649600 16.668677 139.643460 40.356540
+ S 0 0.000000 11.443270 3.966650 13.373046 5.606496
+ C 0 0.000000 -21.993891 0.649805 21.993891 144.103393 35.897141
+ S 0 0.000000 13.545359 4.177160 14.071585 4.558036
+ END$SEGS
+TURNOUT HO "Walthers DCC 20-24 Right Hand Curve Turnout 849-10062"
+ U "Curved Turnout" "" "Walthers" "20-24 Left Hand Curve Turnout" "849-10061" "20-24 Right Hand Curve Turnout" "849-10062" 13.373046 40.356540 5.606496 35.896607 4.558036 14.071585 0.000000 0.041667 0
+ P "Normal" 1 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 14.071585 -4.558036 125.896607
+ E 13.373046 -5.606496 130.356540
+ S 0 0.000000 0.000000 0.000000 0.649600 -0.000000
+ C 0 0.000000 16.668677 0.649600 -16.668677 0.000000 40.356540
+ S 0 0.000000 11.443270 -3.966650 13.373046 -5.606496
+ C 0 0.000000 21.993891 0.649805 -21.993891 359.999466 35.897141
+ S 0 0.000000 13.545359 -4.177160 14.071585 -4.558036
+ END$SEGS
+TURNOUT HO "Walthers DCC 24-28 Left Hand Curve Turnout 849-10063"
+ U "Curved Turnout" "" "Walthers" "24-28 Left Hand Curve Turnout" "849-10063" "24-28 Right Hand Curve Turnout" "849-10064" 14.074826 38.931215 5.262124 31.632207 4.159901 14.685007 0.000000 0.041667 0
+ P "Normal" 1 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 14.685007 4.159901 58.367793
+ E 14.074826 5.262124 51.068785
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ C 0 0.000000 -19.553551 0.649600 19.553551 141.068785 38.931215
+ S 0 0.000000 12.936796 4.342826 14.074826 5.262124
+ C 0 0.000000 -25.706793 0.649600 25.706793 148.367793 31.632207
+ S 0 0.000000 14.131903 3.819200 14.685007 4.159901
+ END$SEGS
+TURNOUT HO "Walthers DCC 24-28 Right Hand Curve Turnout 849-10064"
+ U "Curved Turnout" "" "Walthers" "24-28 Left Hand Curve Turnout" "849-10063" "24-28 Right Hand Curve Turnout" "849-10064" 14.074826 38.931215 5.262124 31.632207 4.159901 14.685007 0.000000 0.041667 0
+ P "Normal" 1 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 14.685007 -4.159901 121.632207
+ E 14.074826 -5.262124 128.931215
+ S 0 0.000000 0.000000 0.000000 0.649600 -0.000000
+ C 0 0.000000 19.553551 0.649600 -19.553551 0.000000 38.931215
+ S 0 0.000000 12.936796 -4.342826 14.074826 -5.262124
+ C 0 0.000000 25.706793 0.649600 -25.706793 0.000000 31.632207
+ S 0 0.000000 14.131903 -3.819200 14.685007 -4.159901
+ END$SEGS
+
+SUBCONTENTS Walthers HO DCC Code 100 - Wyes
+TURNOUT HO "Walthers DCC #3 Wye Turnout 948-10033"
+ U "Wye Turnout" "" "Walthers DCC" "#3 Wye Turnout" "948-10033" 9.775606 9.462340 1.145669 1.145669 9.462340 9.775606 0.000000 0.041667 0
+ P "Left" 1 2 3
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 9.775606 1.145669 80.537660
+ E 9.775606 -1.145669 99.462340
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ C 0 0.000000 -27.210392 0.649600 27.210392 170.537660 9.462340
+ S 0 0.000000 5.122969 0.370228 9.775606 1.145669
+ C 0 0.000000 27.210392 0.649600 -27.210392 0.000000 9.462340
+ S 0 0.000000 5.122969 -0.370228 9.775606 -1.145669
+ END$SEGS
+TURNOUT HO "Walthers DCC #4 Wye Turnout 948-10034"
+ U "Wye Turnout" "" "Walthers DCC" "#4 Wye Turnout" "948-10034" 12.838584 7.125015 1.127363 1.127363 7.125015 12.838584 0.000000 0.041667 0
+ P "Left" 1 2 3
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 12.838584 1.127363 82.874985
+ E 12.838584 -1.127363 97.125015
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ C 0 0.000000 -50.918688 0.649600 50.918688 172.874985 7.125015
+ S 0 0.000000 6.965285 0.393200 12.838584 1.127363
+ C 0 0.000000 50.918688 0.649600 -50.918688 0.000000 7.125015
+ S 0 0.000000 6.965285 -0.393200 12.838584 -1.127363
+ END$SEGS
diff --git a/app/lib/params/HO-Walthers DCC Code 83.xtp b/app/lib/params/HO-Walthers DCC Code 83.xtp
new file mode 100644
index 0000000..a840a29
--- /dev/null
+++ b/app/lib/params/HO-Walthers DCC Code 83.xtp
@@ -0,0 +1,231 @@
+CONTENTS Walthers HO DCC Code 83 TUrnouts
+
+
+SUBCONTENTS Walthers HO DCC Code 83 - Turnouts
+TURNOUT HO "Walthers DCC #4 Left Hand Turnout 948-83013"
+ U "Regular Turnout" "" "Walthers" "#4 Left Hand Turnout" "948-83013" "#4 Right Hand Turnout" "948-83014" 8.751969 14.036137 1.401574 8.751969 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 8.751969 0.000000 90.000000
+ E 8.751969 1.401574 75.963863
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ S 0 0.000000 0.649600 0.000000 8.751969 0.000000
+ C 0 0.000000 -20.275660 0.649600 20.275660 165.963863 14.036137
+ S 0 0.000000 5.567133 0.605371 8.751969 1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #4 Right Hand Turnout 948-83014"
+ U "Regular Turnout" "" "Walthers" "#4 Left Hand Turnout" "948-83013" "#4 Right Hand Turnout" "948-83014" 8.751969 14.036137 1.401574 8.751969 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 8.751969 0.000000 90.000000
+ E 8.751969 -1.401574 104.036137
+ S 0 0.000000 0.000000 0.000000 0.649600 -0.000000
+ S 0 0.000000 0.649600 -0.000000 8.751969 0.000000
+ C 0 0.000000 20.275660 0.649600 -20.275660 0.000000 14.036137
+ S 0 0.000000 5.567133 -0.605371 8.751969 -1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #5 Left Hand Turnout 948-83015"
+ U "Regular Turnout" "" "Walthers" "#5 Left Hand Turnout" "948-83015" "#5 Right Hand Turnout" "948-83016" 10.031496 11.323340 1.401574 10.031496 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 10.031496 0.000000 90.000000
+ E 10.031496 1.401574 78.676660
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ S 0 0.000000 0.649600 0.000000 10.031496 0.000000
+ C 0 0.000000 -24.032676 0.649600 24.032676 168.676660 11.323340
+ S 0 0.000000 5.368310 0.467802 10.031496 1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #5 Right Hand Turnout 948-83016"
+ U "Regular Turnout" "" "Walthers" "#5 Left Hand Turnout" "948-83015" "#5 Right Hand Turnout" "948-83016" 10.031496 11.323340 1.401574 10.031496 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 10.031496 0.000000 90.000000
+ E 10.031496 -1.401574 101.323340
+ S 0 0.000000 0.000000 0.000000 0.649600 -0.000000
+ S 0 0.000000 0.649600 -0.000000 10.031496 0.000000
+ C 0 0.000000 24.032676 0.649600 -24.032676 0.000000 11.323340
+ S 0 0.000000 5.368310 -0.467802 10.031496 -1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #6 Left Hand Turnout 948-83017"
+ U "Regular Turnout" "" "Walthers" "#6 Left Hand Turnout" "948-83017" "#6 Right Hand Turnout" "948-83018" 11.311204 9.462340 1.401574 11.311204 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 11.311204 0.000000 90.000000
+ E 11.311204 1.401574 80.537660
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ S 0 0.000000 0.649600 0.000000 11.311204 0.000000
+ C 0 0.000000 -27.212458 0.649600 27.212458 170.537660 9.462340
+ S 0 0.000000 5.123309 0.370256 11.311204 1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #6 Right Hand Turnout 948-83018"
+ U "Regular Turnout" "" "Walthers" "#6 Left Hand Turnout" "948-83017" "#6 Right Hand Turnout" "948-83018" 11.311204 9.462340 1.401574 11.311204 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 11.311204 0.000000 90.000000
+ E 11.311204 -1.401574 99.462340
+ S 0 0.000000 0.000000 0.000000 0.649600 -0.000000
+ S 0 0.000000 0.649600 -0.000000 11.311204 0.000000
+ C 0 0.000000 27.212458 0.649600 -27.212458 0.000000 9.462340
+ S 0 0.000000 5.123309 -0.370256 11.311204 -1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #8 Left Hand Turnout 948-83019"
+ U "Regular Turnout" "" "Walthers" "#8 Left Hand Turnout" "948-83019" "#8 Right Hand Turnout" "948-83020" 13.862205 7.125015 1.401574 13.862205 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 13.862205 0.000000 90.000000
+ E 13.862205 1.401574 82.874985
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ S 0 0.000000 0.649600 0.000000 13.862205 0.000000
+ C 0 0.000000 -32.124696 0.649600 32.124696 172.874985 7.125015
+ S 0 0.000000 4.634177 0.248071 13.862205 1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #8 Right Hand Turnout 948-83020"
+ U "Regular Turnout" "" "Walthers" "#8 Left Hand Turnout" "948-83019" "#8 Right Hand Turnout" "948-83020" 13.862205 7.125015 1.401574 13.862205 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 13.862205 0.000000 90.000000
+ E 13.862205 -1.401574 97.125015
+ S 0 0.000000 0.000000 0.000000 0.649600 -0.000000
+ S 0 0.000000 0.649600 -0.000000 13.862205 0.000000
+ C 0 0.000000 32.124696 0.649600 -32.124696 0.000000 7.125015
+ S 0 0.000000 4.634177 -0.248071 13.862205 -1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #10 Left Hand Turnout 948-83021"
+ U "Regular Turnout" "" "Walthers DCC" "#10 Left Hand Turnout" "948-83021" "#10 Right Hand Turnout" "948-83022" 16.760699 5.617940 1.401574 16.760699 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 16.760699 0.000000 90.000000
+ E 16.760699 1.401574 84.382060
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ S 0 0.000000 0.649600 0.000000 16.760699 0.000000
+ C 0 0.000000 -37.963464 0.649600 37.963464 174.382060 5.617940
+ S 0 0.000000 4.366015 0.182346 16.760699 1.401574
+ END$SEGS
+TURNOUT HO "Walthers DCC #10 Right Hand Turnout 948-83022"
+ U "Regular Turnout" "" "Walthers DCC" "#10 Left Hand Turnout" "948-83021" "#10 Right Hand Turnout" "948-83022" 16.760699 5.617940 1.401574 16.760699 0.000000 0.041667 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 16.760699 0.000000 90.000000
+ E 16.760699 -1.401574 95.617940
+ S 0 0.000000 0.000000 0.000000 0.649600 -0.000000
+ S 0 0.000000 0.649600 -0.000000 16.760699 0.000000
+ C 0 0.000000 37.963464 0.649600 -37.963464 0.000000 5.617940
+ S 0 0.000000 4.366015 -0.182346 16.760699 -1.401574
+ END$SEGS
+
+
+SUBCONTENTS Walthers HO DCC Code 83 - Double Crossover
+TURNOUT HO "Walthers DCC #6 Double Crossover 948-83051"
+ U "Double Crossover" "" "Walthers" "#6 Double Crossover" "948-83051" 18.765354 2.000000 0.000000 0.041667 0
+ P "Normal" 1 2 3 0 4 5 6
+ P "Reverse" 1 7 8 9 6 0 4 10 11 12 3
+ E 0.000000 0.000000 270.000000
+ E 18.765354 0.000000 90.000000
+ E 0.000000 2.000000 270.000000
+ E 18.765354 2.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.186156 0.000000
+ S 0 0.000000 1.186156 0.000000 17.579198 0.000000
+ S 0 0.000000 17.579198 0.000000 18.765354 0.000000
+ S 0 0.000000 0.000000 2.000000 1.186156 2.000000
+ S 0 0.000000 1.186156 2.000000 17.579198 2.000000
+ S 0 0.000000 17.579198 2.000000 18.765354 2.000000
+ C 0 0.000000 -33.880487 1.186156 33.880487 167.100883 12.899117
+ S 0 0.000000 8.749470 0.854986 10.015884 1.145014
+ C 0 0.000000 33.880487 17.579198 -31.880487 347.100883 12.899117
+ C 0 0.000000 33.880487 1.186156 -31.880487 0.000000 12.899117
+ S 0 0.000000 8.749470 1.145014 10.015884 0.854986
+ C 0 0.000000 -33.880487 17.579198 33.880487 180.000000 12.899117
+ END$SEGS
+
+SUBCONTENTS Walthers HO DCC Code 83 - Curved Turnouts
+TURNOUT HO "Walthers DCC 20-24 Left Hand Curve Turnout 849-83061"
+ U "Curved Turnout" "" "Walthers" "20-24 Left Hand Curve Turnout" "849-83061" "20-24 Right Hand Curve Turnout" "849-83062" 13.373046 40.356540 5.606496 35.896607 4.558036 14.071585 0.000000 0.041667 0
+ P "Normal" 1 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 14.071585 4.558036 54.103393
+ E 13.373046 5.606496 49.643460
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ C 0 0.000000 -16.668677 0.649600 16.668677 139.643460 40.356540
+ S 0 0.000000 11.443270 3.966650 13.373046 5.606496
+ C 0 0.000000 -21.993891 0.649805 21.993891 144.103393 35.897141
+ S 0 0.000000 13.545359 4.177160 14.071585 4.558036
+ END$SEGS
+TURNOUT HO "Walthers DCC 20-24 Right Hand Curve Turnout 849-83062"
+ U "Curved Turnout" "" "Walthers" "20-24 Left Hand Curve Turnout" "849-83061" "20-24 Right Hand Curve Turnout" "849-83062" 13.373046 40.356540 5.606496 35.896607 4.558036 14.071585 0.000000 0.041667 0
+ P "Normal" 1 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 14.071585 -4.558036 125.896607
+ E 13.373046 -5.606496 130.356540
+ S 0 0.000000 0.000000 0.000000 0.649600 -0.000000
+ C 0 0.000000 16.668677 0.649600 -16.668677 0.000000 40.356540
+ S 0 0.000000 11.443270 -3.966650 13.373046 -5.606496
+ C 0 0.000000 21.993891 0.649805 -21.993891 359.999466 35.897141
+ S 0 0.000000 13.545359 -4.177160 14.071585 -4.558036
+ END$SEGS
+TURNOUT HO "Walthers DCC 24-28 Left Hand Curve Turnout 849-83063"
+ U "Curved Turnout" "" "Walthers" "24-28 Left Hand Curve Turnout" "849-83063" "24-28 Right Hand Curve Turnout" "849-83064" 14.074826 38.931215 5.262124 31.632207 4.159901 14.685007 0.000000 0.041667 0
+ P "Normal" 1 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 14.685007 4.159901 58.367793
+ E 14.074826 5.262124 51.068785
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ C 0 0.000000 -19.553551 0.649600 19.553551 141.068785 38.931215
+ S 0 0.000000 12.936796 4.342826 14.074826 5.262124
+ C 0 0.000000 -25.706793 0.649600 25.706793 148.367793 31.632207
+ S 0 0.000000 14.131903 3.819200 14.685007 4.159901
+ END$SEGS
+TURNOUT HO "Walthers DCC 24-28 Right Hand Curve Turnout 849-83064"
+ U "Curved Turnout" "" "Walthers" "24-28 Left Hand Curve Turnout" "849-83063" "24-28 Right Hand Curve Turnout" "849-83064" 14.074826 38.931215 5.262124 31.632207 4.159901 14.685007 0.000000 0.041667 0
+ P "Normal" 1 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 14.685007 -4.159901 121.632207
+ E 14.074826 -5.262124 128.931215
+ S 0 0.000000 0.000000 0.000000 0.649600 -0.000000
+ C 0 0.000000 19.553551 0.649600 -19.553551 0.000000 38.931215
+ S 0 0.000000 12.936796 -4.342826 14.074826 -5.262124
+ C 0 0.000000 25.706793 0.649600 -25.706793 0.000000 31.632207
+ S 0 0.000000 14.131903 -3.819200 14.685007 -4.159901
+ END$SEGS
+
+
+SUBCONTENTS Walthers HO DCC Code 83 - Wyes
+TURNOUT HO "Walthers DCC #3 Wye Turnout 948-83033"
+ U "Wye Turnout" "" "Walthers DCC" "#3 Wye Turnout" "948-83033" 9.775606 9.462340 1.145669 1.145669 9.462340 9.775606 0.000000 0.041667 0
+ P "Left" 1 2 3
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 9.775606 1.145669 80.537660
+ E 9.775606 -1.145669 99.462340
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ C 0 0.000000 -27.210392 0.649600 27.210392 170.537660 9.462340
+ S 0 0.000000 5.122969 0.370228 9.775606 1.145669
+ C 0 0.000000 27.210392 0.649600 -27.210392 0.000000 9.462340
+ S 0 0.000000 5.122969 -0.370228 9.775606 -1.145669
+ END$SEGS
+TURNOUT HO "Walthers DCC #4 Wye Turnout 948-83034"
+ U "Wye Turnout" "" "Walthers DCC" "#4 Wye Turnout" "948-83034" 12.838584 7.125015 1.127363 1.127363 7.125015 12.838584 0.000000 0.041667 0
+ P "Left" 1 2 3
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 12.838584 1.127363 82.874985
+ E 12.838584 -1.127363 97.125015
+ S 0 0.000000 0.000000 0.000000 0.649600 0.000000
+ C 0 0.000000 -50.918688 0.649600 50.918688 172.874985 7.125015
+ S 0 0.000000 6.965285 0.393200 12.838584 1.127363
+ C 0 0.000000 50.918688 0.649600 -50.918688 0.000000 7.125015
+ S 0 0.000000 6.965285 -0.393200 12.838584 -1.127363
+ END$SEGS
diff --git a/app/lib/params/HO-Weinert-Code75.xtp b/app/lib/params/HO-Weinert-Code75.xtp
index 651a2cf..c6f33aa 100644
--- a/app/lib/params/HO-Weinert-Code75.xtp
+++ b/app/lib/params/HO-Weinert-Code75.xtp
@@ -142,9 +142,11 @@ TURNOUT HO "Weinert Mein Gleis WYE 8.6d 74403"
END
SUBCONTENTS Weinert Mein Gleis HO-Scale C75 - Slips
-TURNOUT HO "Weinert Mein Gleis Double-Slip 8.6d 74641"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Weinert Mein Gleis Double-Slip 8.6d 74641" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 13.425197 0.000000 90.000000
E 0.075472 1.003761 278.600000
diff --git a/app/lib/params/HO-atl100ho.xtp b/app/lib/params/HO-atl100ho.xtp
index c267699..f8891e1 100644
--- a/app/lib/params/HO-atl100ho.xtp
+++ b/app/lib/params/HO-atl100ho.xtp
@@ -210,16 +210,16 @@ TURNOUT HO "Atlas Right Snap Switch 851"
C 0 0.000000 18.000000 0.000000 -18.000000 0.000000 20.000000
END
TURNOUT HO "Atlas Left Snap Switch 850/15"
- P "Normal" 1
+ P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
E 9.000000 0.000000 90.000000
E 4.658743 0.613335 75.000000
S 0 0.000000 0.000000 0.000000 9.000000 0.000000
- C 0 0.000000 18.000000 0.000000 18.000000 165.000000 15.000000
+ C 0 0.000000 -18.000000 0.000000 18.000000 165.000000 15.000000
END
TURNOUT HO "Atlas Right Snap Switch 851/15"
- P "Normal" 1
+ P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
E 9.000000 0.000000 90.000000
@@ -621,46 +621,40 @@ END
#########################################################################################
#########################################################################################
SUBCONTENTS Atlas HO-Scale C100 - Turntable
-TURNOUT HO "Atlas Turntable 9"" Dia 15d 21 Positions 305"
- P "1" 1
- P "2" 2
- P "3" 3
- P "4" 4
- P "5" 5
- P "6" 6
- P "7" 7
- P "8" 8
- P "9" 9
- P "10" 10
- P "11" 11
- P "12" 12
- G 0 0.000000 0.500000 0.000000 0.000000 0.000000 360.000000
- A 0 0.031250 4.500000 0.000000 0.000000 0.000000 360.000000
- A 0 0.031250 5.000000 0.000000 0.000000 0.000000 360.000000
- L 0 0.031250 7.000000 1.750000 7.000000 -1.750000
- L 0 0.031250 4.625000 1.750000 7.000000 1.750000
- L 0 0.031250 4.625000 -1.750000 7.000000 -1.750000
- E 3.897114 -2.250000 120.000000
- E 3.181981 -3.181981 135.000000
- E 2.250000 -3.897114 150.000000
- E 1.164686 -4.346666 165.000000
- E 0.000000 -4.500000 180.000000
- E -1.164686 -4.346666 195.000000
- E -2.250000 -3.897114 210.000000
- E -3.181981 -3.181981 225.000000
- E -3.897114 -2.250000 240.000000
- E -4.346666 -1.164686 255.000000
- E -4.500000 0.000000 270.000000
- E -4.346666 1.164686 285.000000
- E -3.897114 2.250000 300.000000
- E -3.181981 3.181981 315.000000
- E -2.250000 3.897114 330.000000
- E -1.164686 4.346666 345.000000
- E 0.000000 4.500000 360.000000
- E 1.164686 4.346666 375.000000
- E 2.250000 3.897114 390.000000
- E 3.181981 3.181981 405.000000
- E 3.897114 2.250000 420.000000
+TURNOUT HO "Atlas Turntable 9"" Dia 15d 21 Positions 305" 512
+ P "1" 1
+ P "2" 2
+ P "3" 3
+ P "4" 4
+ P "5" 5
+ P "6" 6
+ P "7" 7
+ P "8" 8
+ P "9" 9
+ P "10" 10
+ P "11" 11
+ P "12" 12
+ E 3.897114 -2.250000 120.000000
+ E 3.181981 -3.181981 135.000000
+ E 2.250000 -3.897114 150.000000
+ E 1.164686 -4.346666 165.000000
+ E 0.000000 -4.500000 180.000000
+ E -1.164686 -4.346666 195.000000
+ E -2.250000 -3.897114 210.000000
+ E -3.181981 -3.181981 225.000000
+ E -3.897114 -2.250000 240.000000
+ E -4.346666 -1.164686 255.000000
+ E -4.500000 0.000000 270.000000
+ E -4.346666 1.164686 285.000000
+ E -3.897114 2.250000 300.000000
+ E -3.181981 3.181981 315.000000
+ E -2.250000 3.897114 330.000000
+ E -1.164686 4.346666 345.000000
+ E 0.000000 4.500000 360.000000
+ E 1.164686 4.346666 375.000000
+ E 2.250000 3.897114 390.000000
+ E 3.181981 3.181981 405.000000
+ E 3.897114 2.250000 420.000000
S 16777215 0 3.897114 -2.250000 -3.897114 2.250000
S 16777215 0 3.181981 -3.181981 -3.181981 3.181981
S 16777215 0 2.250000 -3.897114 -2.250000 3.897114
@@ -673,4 +667,10 @@ TURNOUT HO "Atlas Turntable 9"" Dia 15d 21 Positions 305"
S 16777215 0 -4.346666 -1.164686 4.346666 1.164686
S 16777215 0 -4.500000 0.000000 4.500000 0.000000
S 16777215 0 -4.346666 1.164686 4.346666 -1.164686
+ G 0 0.000000 0.500000 0.000000 0.000000 0.000000 360.000000
+ A 0 0.031250 4.500000 0.000000 0.000000 0.000000 360.000000
+ A 0 0.031250 5.000000 0.000000 0.000000 0.000000 360.000000
+ L 0 0.031250 7.000000 1.750000 7.000000 -1.750000
+ L 0 0.031250 4.625000 1.750000 7.000000 1.750000
+ L 0 0.031250 4.625000 -1.750000 7.000000 -1.750000
END
diff --git a/app/lib/params/Hornby Dublo 3 Rail with Turntable.xtp b/app/lib/params/Hornby Dublo 3 Rail with Turntable.xtp
index f0c88c6..8e22458 100644
--- a/app/lib/params/Hornby Dublo 3 Rail with Turntable.xtp
+++ b/app/lib/params/Hornby Dublo 3 Rail with Turntable.xtp
@@ -341,8 +341,16 @@ TURNOUT OO "Hornby Dublo TPO Apparatus 3475"
L3 0 0.000000 5.484373 2.037513 0 5.015373 2.037914 0
L3 0 0.052083 10.109370 0.718750 0 2.609370 0.718770 0
END
-TURNOUT OO "Hornby Dublo Turntable 32180"
- P "P0" 2 0 5 0 9 0 6 0 7 0 8 0 1 0 3 0 4
+TURNOUT OO "Hornby Dublo Turntable 32180" 512
+# fix paths
+#remove duplicate segment
+# P "P0" 2 0 5 0 9 0 6 0 7 0 8 0 1 0 3 0 4
+ P "P0" 1
+ P "P1" 3 7
+ P "P2" 6
+ P "P3" 2
+ P "P4" 5
+ P "P5" 4
E 0.000000 0.000000 270.000000
E 13.568310 -2.696000 112.500000
E 13.967835 -1.379104 101.25000
@@ -351,8 +359,8 @@ TURNOUT OO "Hornby Dublo Turntable 32180"
E 13.568414 2.695746 67.500000
S 0 0.000000 0.000000 0.000000 1.312000 0.000000
S 0 0.000000 12.792000 0.000000 14.104000 0.000000
- S 0 0.000000 0.000000 0.000000 1.312000 0.000000
- S 0 0.000000 12.792000 0.000000 14.104000 0.000000
+# S 0 0.000000 0.000000 0.000000 1.312000 0.000000
+# S 0 0.000000 12.792000 0.000000 14.104000 0.000000
S 0 0.000000 1.748044 2.194459 12.355973 -2.194417
S 0 0.000000 12.356058 2.194214 13.568414 2.695746
S 0 0.000000 12.687727 1.089118 13.975894 1.338057
diff --git a/app/lib/params/Lego - RC-FX Track.xtp b/app/lib/params/Lego - RC-FX Track.xtp
new file mode 100644
index 0000000..5491063
--- /dev/null
+++ b/app/lib/params/Lego - RC-FX Track.xtp
@@ -0,0 +1,66 @@
+CONTENTS Lego RC-FX Track Components
+SUBCONTENTS Lego RC-FX Track - Straight Track
+TURNOUT LEGO "Lego RC-FX Straight Track (S16/128mm) S16"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.039370 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 5.039370 0.000000
+END
+
+
+SUBCONTENTS Lego RC-FX Track - Curve Track
+TURNOUT LEGO "Lego RC-FX Curve Track R40/320mm 22.5d R40"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.821209 -0.958998 112.500000
+ C 0 0.000000 12.598425 0.000000 -12.598425 0.000000 22.500000
+END
+
+
+SUBCONTENTS Lego RC-FX Track - Crossing Track
+TURNOUT LEGO "Lego RC-FX Crossing Track 90D S16/128mm C90"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 5.039370 0.000000 90.000000
+ E 2.519692 2.519685 0.000000
+ E 2.519678 -2.519685 180.000000
+ S 0 0.000000 0.000000 0.000000 5.039370 0.000000
+ S 0 0.000000 2.519692 2.519685 2.519678 -2.519685
+END
+
+
+SUBCONTENTS Lego Track - Turnouts
+TURNOUT LEGO "Lego RC-FX Lefthand Switch S32/R40 P32-LH"
+ P "P0" 1
+ P "P1" 2 3
+ E 0.000000 0.000000 270.000000
+ E 10.078740 0.000000 90.000000
+ E 10.296841 4.080679 67.500000
+ S 0 0.000000 0.000000 0.000000 10.078740 0.000000
+ C 0 0.000000 -12.598425 0.000000 12.598425 143.130102 36.869898
+ C 0 0.000000 12.617104 15.128424 -7.574668 323.151035 14.348965
+END
+TURNOUT LEGO "Lego RC-FX Righthand Switch S32/R40 P32-RH"
+ P "P0" 1
+ P "P1" 2 3
+ E 0.000000 0.000000 270.000000
+ E 10.078740 0.000000 90.000000
+ E 10.296841 -4.080679 112.500000
+ S 0 0.000000 0.000000 0.000000 10.078740 0.000000
+ C 0 0.000000 12.598425 0.000000 -12.598425 0.000000 36.869898
+ C 0 0.000000 -12.617104 15.128424 7.574668 202.500000 14.348965
+END
+TURNOUT LEGO "Lego RC-FX Double Crossover S48/384mm DCOS"
+ P "Normal" 1 0 6
+ P "Reverse" 2 3 0 4 5
+ E 0.000000 0.000000 270.000000
+ E 15.118110 0.000000 90.000000
+ E 0.000000 5.039370 270.000000
+ E 15.118110 5.039370 90.000000
+ S 0 0.000000 0.000000 0.000000 15.118110 0.000000
+ C 0 0.000000 -12.598425 0.000000 12.598425 143.130102 36.869898
+ C 0 0.000000 12.598425 15.118110 -7.559055 323.130102 36.869898
+ C 0 0.000000 12.598425 0.000000 -7.559055 0.000000 36.869898
+ C 0 0.000000 -12.598425 15.118110 12.598425 180.000000 36.869898
+ S 0 0.000000 0.000000 5.039370 15.118110 5.039370
+END
diff --git a/app/lib/params/Lego-Track.xtp b/app/lib/params/Lego-Track.xtp
deleted file mode 100644
index 784635a..0000000
--- a/app/lib/params/Lego-Track.xtp
+++ /dev/null
@@ -1,152 +0,0 @@
-CONTENTS Lego Track Components
-# Created By Dwyane Ward 01Jan2013
-
-SUBCONTENTS Lego - 9V Track
-TURNOUT LEGO "Lego Straight Track (9V) 2865/4515"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 5.039370 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 5.039370 0.000000
- END
-TURNOUT LEGO "Lego Curve Track (9V) 28674520"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.821209 0.958998 67.500000
- C 0 0.000000 -12.598425 0.000000 12.598425 157.500000 22.500000
- END
-TURNOUT LEGO "Lego Crossing Track (9V) 320874519"
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 5.039370 0.000000 90.000000
- E 2.519692 2.519685 0.000000
- E 2.519678 -2.519685 180.000000
- S 0 0.000000 0.000000 0.000000 5.039370 0.000000
- S 0 0.000000 2.519692 2.519685 2.519678 -2.519685
- END
-TURNOUT LEGO "Lego Left Switch (9V) 2861/4531"
- P "P0" 1 5 4 3
- P "P1" 2
- E 0.000000 0.000000 270.000000
- E 10.078740 -0.000027 90.000000
- E 10.236648 4.068369 67.500000
- C 0 0.000000 -6.377953 0.000017 6.377953 166.446760 13.553240
- S 0 0.000000 0.000000 0.000000 10.078740 -0.000027
- C 0 0.000000 6.377953 12.677383 -1.824092 323.058181 14.441819
- C 0 0.000000 -15.666120 -0.571293 15.794471 143.057808 23.388952
- S 0 0.000000 1.494665 0.177605 3.100081 0.564621
- END
-TURNOUT LEGO "Lego Right Switch (9V) 2859/4531"
- P "P0" 1 5 4 3
- P "P1" 2
- E 0.000000 0.000000 269.999924
- E 10.078723 0.000000 90.000000
- E -0.157881 4.068390 292.500000
- C 0 0.000000 6.377953 10.078740 6.377953 180.000000 13.553240
- S 0 0.000000 10.078740 0.000000 0.000000 0.000000
- C 0 0.000000 -6.377953 -2.598648 -1.824058 22.500000 14.441819
- C 0 0.000000 15.666120 10.650075 15.794470 193.553240 23.388952
- S 0 0.000000 8.584076 0.177609 6.978661 0.564629
- END
-
-SUBCONTENTS Lego - 12V Track
-TURNOUT LEGO "Lego Straight Track (12V) 3242"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 5.039370 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 5.039370 0.000000
- END
-TURNOUT LEGO "Lego Curve Track (12V) 3241"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.821209 0.958998 67.500000
- C 0 0.000000 -12.598425 0.000000 12.598425 157.500000 22.500000
- END
-TURNOUT LEGO "Lego Crossing Track (12V) 3232"
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 5.039370 0.000000 90.000000
- E 2.519692 2.519685 360.000000
- E 2.519678 -2.519685 180.000000
- S 0 0.000000 0.000000 0.000000 5.039370 0.000000
- S 0 0.000000 2.519692 2.519685 2.519678 -2.519685
- END
-TURNOUT LEGO "Lego Left Switch (12V) 73697/7859"
- P "P0" 1
- P "P1" 2 3 4
- E 0.000000 0.000000 270.000000
- E 10.078740 2.519685 90.000000
- E 10.078740 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 10.078740 0.000000
- C 0 0.000000 -10.236220 0.000000 10.236220 156.774050 23.225950
- S 0 0.000000 4.036786 0.829585 6.042006 1.690111
- C 0 0.000000 10.236220 10.078740 -7.716535 336.774050 23.225950
- END
-TURNOUT LEGO "Lego Right Switch (12V) 73696/7859"
- P "P0" 1
- P "P1" 2 3 4
- E 0.000000 0.000000 270.000000
- E 0.000000 2.519685 270.000000
- E 10.078740 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 10.078740 0.000000
- C 0 0.000000 10.236220 10.078740 10.236220 180.000000 23.225950
- S 0 0.000000 6.042006 0.829585 4.036787 1.690111
- C 0 0.000000 -10.236220 0.000000 -7.716535 0.000000 23.225950
- END
-
-SUBCONTENTS Lego - RC Track
-TURNOUT LEGO "Lego Straight Track (RC) 53401"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 5.039370 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 5.039370 0.000000
- END
-TURNOUT LEGO "Lego Curve Track (RC) 53400"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.821209 0.958998 67.500000
- C 0 0.000000 -12.598425 0.000000 12.598425 157.500000 22.500000
- END
-TURNOUT LEGO "Lego Left Switch (RC) 53407"
- P "P0" 1 5 4 3
- P "P1" 2
- E 0.000000 0.000000 270.000000
- E 10.078740 -0.000027 90.000000
- E 10.236648 4.068369 67.500000
- C 0 0.000000 -6.377953 0.000017 6.377953 166.446760 13.553240
- S 0 0.000000 0.000000 0.000000 10.078740 -0.000027
- C 0 0.000000 6.377953 12.677383 -1.824092 323.058181 14.441819
- C 0 0.000000 -15.666120 -0.571293 15.794471 143.057808 23.388952
- S 0 0.000000 1.494665 0.177605 3.100081 0.564621
- END
-TURNOUT LEGO "Lego Right Switch (RC) 53404"
- P "P0" 1 5 4 3
- P "P1" 2
- E 0.000000 0.000000 269.999924
- E 10.078723 0.000000 90.000000
- E -0.157881 4.068390 292.500000
- C 0 0.000000 6.377953 10.078740 6.377953 180.000000 13.553240
- S 0 0.000000 10.078740 0.000000 0.000000 0.000000
- C 0 0.000000 -6.377953 -2.598648 -1.824058 22.500000 14.441819
- C 0 0.000000 15.666120 10.650075 15.794470 193.553240 23.388952
- S 0 0.000000 8.584076 0.177609 6.978661 0.564629
- END
-TURNOUT LEGO "Lego Double Crossover (RC) 60128"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 8 9 6 0 4 10 11 12 3
- E 0.000000 0.000000 270.000000
- E 15.118110 0.000000 90.000000
- E 0.000000 5.039370 270.000000
- E 15.118110 5.039370 90.000000
- S 0 0.000000 0.000000 0.000000 2.220991 0.000000
- S 0 0.000000 2.220991 0.000000 12.897119 0.000000
- S 0 0.000000 12.897119 0.000000 15.118110 0.000000
- S 0 0.000000 0.000000 5.039370 2.220991 5.039370
- S 0 0.000000 2.220991 5.039370 12.897119 5.039370
- S 0 0.000000 12.897119 5.039370 15.118110 5.039370
- C 0 0.000000 -6.425198 2.221000 6.425198 139.921630 40.078446
- S 0 0.000000 6.357761 1.508868 8.760349 3.530502
- C 0 0.000000 6.425198 12.897126 -1.385823 319.921630 40.078446
- C 0 0.000000 6.425198 2.220966 -1.385828 0.000076 40.078446
- S 0 0.000000 6.357761 3.530502 8.760349 1.508868
- C 0 0.000000 -6.425198 12.897126 6.425193 180.000076 40.078446
- END
diff --git a/app/lib/params/Lionel27.xtp b/app/lib/params/Lionel27.xtp
index e99988a..8d495c6 100644
--- a/app/lib/params/Lionel27.xtp
+++ b/app/lib/params/Lionel27.xtp
@@ -58,11 +58,12 @@ TURNOUT O "Lionel O-27 Original O-27 Curve "
C 0 0.000000 -12.500000 0.000017 12.500000 135.000076 45.000000
END
TURNOUT O "Lionel O-27 Original O-27 Half Curve "
-# U "Curved Section" "" "Lionel O-27" "Original O-27 Curve" "" 12.500000 45.000000 0.000000 0.000000 0
+# U "Curved Section" "" "Lionel O-27" "Original Half Curved" "" 12.500000 22.500000 0.000000 0.000000 0
+# Fix bad def'n
P "Normal" 1
E 0.000000 0.000000 270.000000
- E 8.838829 3.661159 22.500000
- C 0 0.000000 -12.500000 0.000017 12.500000 135.000076 22.500000
+ E 4.783543 0.951506 67.500000
+ C 0 0.000000 -12.500000 0.000000 12.500000 157.500000 22.500000
END
TURNOUT O "Lionel O-27 Track 42 Dia Curved Track Section 30° 6-65049"
P "Normal" 1
diff --git a/app/lib/params/ME Models(Lego Track).xtp b/app/lib/params/ME Models(Lego Track).xtp
new file mode 100644
index 0000000..55c2ed7
--- /dev/null
+++ b/app/lib/params/ME Models(Lego Track).xtp
@@ -0,0 +1,49 @@
+CONTENTS ME Models(Lego) Track Components
+
+
+SUBCONTENTS ME Models(Lego) Track - Straight Track
+TURNOUT LEGO "ME Models(Lego) Straight Track (S8/64mm) S8"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.519685 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 2.519685 0.000000
+END
+TURNOUT LEGO "ME Models(Lego) Straight Track (S16/128mm) S16"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.039370 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 5.039370 0.000000
+END
+TURNOUT LEGO "ME Models(Lego) Straight Track (S32/256mm) S32"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.078740 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 10.078740 0.000000
+END
+
+
+SUBCONTENTS ME Models(Lego) Track - Curve Track
+TURNOUT LEGO "Lego Curve Track R56/448mm 22.5d R56"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 6.749692 -1.342597 112.500000
+ C 0 0.000000 17.637795 0.000000 -17.637795 0.000000 22.500000
+END
+TURNOUT LEGO "ME Models(Lego) Curve Track R72/576mm 22.5d R72"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 8.678175 -1.726196 112.500000
+ C 0 0.000000 22.677165 0.000000 -22.677165 0.000000 22.500000
+END
+TURNOUT LEGO "ME Models(Lego) Curve Track R88/704mm 11.25d R88"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.407228 -0.532565 101.250000
+ C 0 0.000000 27.716535 0.000000 -27.716535 0.000000 11.250000
+END
+TURNOUT LEGO "ME Models(Lego) Curve Track R104/832mm 11.25d R104"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 6.390360 -0.629396 101.250000
+ C 0 0.000000 32.755906 0.000000 -32.755906 0.000000 11.250000
+END
diff --git a/app/lib/params/N-atlasn80.xtp b/app/lib/params/N-Atlas Code 80 Track.xtp
index 695703a..1b3586a 100644
--- a/app/lib/params/N-atlasn80.xtp
+++ b/app/lib/params/N-Atlas Code 80 Track.xtp
@@ -1,4 +1,4 @@
-CONTENTS Atlas N Scale Track Code 80
+CONTENTS Atlas N Scale Track Code 80
SUBCONTENTS Atlas N-Scale Track - Straight
TURNOUT N "Atlas 30in Flex 2500"
P "Normal" 1
@@ -54,7 +54,7 @@ END
TURNOUT N "Atlas 11R full section 2520"
P "Normal" 1
E 0.000000 0.000000 270.000000
- E 5.551181 1.487434 120.000000
+ E 5.551181 -1.487434 120.000000
C 0 0 11.102362 0.000000 -11.102362 0.000000 30.000000
END
TURNOUT N "Atlas 11R half section 2521"
@@ -183,61 +183,95 @@ TURNOUT N "Atlas Through Truss Bridge 10in 2570/71"
L 0 0.053333 8.375000 -0.84375 6.687500 0.84375
L 0 0.053333 8.375000 -0.84375 8.375000 0.84375
END
+# Bridge Pier (Base) Design by Bob Blackwell
+STRUCTURE N "Atlas Bridge Pier 2541"
+ X pier 0.140625 "1" 0.281250 "2" 0.421875 "3" 0.562500 "4" 0.703125 "5" 0.843750 "6" 0.984375 "7" 1.125000 "8" 1.265625 "9" 1.406250 "10" 1.546875 "11" 1.687500 "12"
+ A3 0 0.020833 0.312500 -0.000000 0.687500 0 270.000000 180.000000
+ A3 0 0.020833 0.312500 -0.000000 -0.687500 0 90.000000 180.000000
+ L3 0 0.020833 0.312500 0.687500 0 0.312500 -0.687500 0
+ L3 0 0.020833 -0.312500 0.687500 0 -0.312500 -0.687500 0
+ A3 0 0.020833 0.250000 -0.000000 -0.375000 0 90.000000 180.000000
+ A3 0 0.020833 0.250000 -0.000000 0.375000 0 270.000000 180.000000
+ L3 0 0.020833 -0.250000 0.375000 0 -0.249999 -0.375000 0
+ L3 0 0.020833 0.250000 0.375000 0 0.250001 -0.375000 0
+ END
+STRUCTURE N "Atlas Bridge Pier (Base) 2543"
+ X pier 1.687500 "B"
+ A3 0 0.020833 0.312500 -0.000000 0.687500 0 270.000000 180.000000
+ A3 0 0.020833 0.312500 -0.000000 -0.687500 0 90.000000 180.000000
+ L3 0 0.020833 0.312500 0.687500 0 0.312500 -0.687500 0
+ L3 0 0.020833 -0.312500 0.687500 0 -0.312500 -0.687500 0
+ A3 0 0.020833 0.250000 -0.000000 -0.375000 0 90.000000 180.000000
+ A3 0 0.020833 0.250000 -0.000000 0.375000 0 270.000000 180.000000
+ L3 0 0.020833 -0.250000 0.375000 0 -0.249999 -0.375000 0
+ L3 0 0.020833 0.250000 0.375000 0 0.250001 -0.375000 0
+ END
+# Viaduct Kit Design by Bob Blackwell
+STRUCTURE N "Atlas Viaduct Kit 2826"
+ L3 0 0.020833 0.010419 0.010417 0 4.385419 0.010422 0
+ L3 0 0.020833 4.385419 0.010417 0 4.385419 1.135417 0
+ L3 0 0.020833 4.385419 1.135422 0 0.010419 1.135417 0
+ L3 0 0.020833 0.010418 1.135417 0 0.010417 0.010417 0
+ L3 0 0.020833 4.385419 0.104172 0 0.010419 0.104167 0
+ L3 0 0.020833 4.385419 1.041676 0 0.010419 1.041670 0
+ L3 0 0.020833 4.385419 1.088547 0 0.010419 1.088542 0
+ L3 0 0.020833 4.385419 0.057297 0 0.010419 0.057292 0
+ END
SUBCONTENTS Atlas N-Scale Track - Crossings
-TURNOUT N "Atlas 90 Degree Crossing 2569"
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 4.881890 0.000000 90.000000
- E 2.440945 2.440945 0.000000
- E 2.440945 -2.440945 180.000000
- S 0 0 0.000000 0.000000 4.881890 0.000000
- S 0 0 2.440945 2.440945 2.440945 -2.440945
-END
-TURNOUT N "Atlas 60 Degree Crossing 2568"
+TURNOUT N "Atlas 15 Degree Crossover 2564"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
- E 3.818898 0.000000 90.000000
- E 0.954721 1.653629 330.000000
- E 2.864177 -1.653629 150.000000
- S 0 0.000000 0.000000 0.000000 3.818898 0.000000
- S 0 0.000000 0.954721 1.653629 2.864177 -1.653629
+ E 5.039370 0.000000 90.000000
+ E 4.953515 -0.652139 105.000000
+ E 0.085855 0.652139 285.000000
+ S 0 0.000000 0.000000 0.000000 5.039370 0.000000
+ S 0 0.000000 0.085855 0.652139 4.953515 -0.652139
END
-TURNOUT N "Atlas 45 Degree Crossing 2567"
+TURNOUT N "Atlas 20 Degree Crossing 2565"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
- E 4.000000 0.000000 90.000000
- E 0.585784 1.414211 315.000000
- E 3.414216 -1.414211 135.000000
- S 0 0.000000 0.000000 0.000000 4.000000 0.000000
- S 0 0.000000 0.585784 1.414211 3.414216 -1.414211
+ E 4.901575 0.000000 90.000000
+ E 4.753776 -0.838215 110.000000
+ E 0.147799 0.838215 290.000000
+ S 0 0.000000 0.000000 0.000000 4.901575 0.000000
+ S 0 0.000000 0.147799 0.838215 4.753776 -0.838215
END
TURNOUT N "Atlas 30 Degree Crossing 2566"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 2.549213 0.000000 90.000000
- E 0.170764 0.637301 300.000000
E 2.378449 -0.637301 120.000000
+ E 0.170764 0.637301 300.000000
S 0 0.000000 0.000000 0.000000 2.549213 0.000000
S 0 0.000000 0.170764 0.637301 2.378449 -0.637301
END
-TURNOUT N "Atlas 20 Degree Crossing 2565"
+TURNOUT N "Atlas 45 Degree Crossing 2567"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
- E 4.901575 0.000000 90.000000
- E 0.147799 0.838215 290.000000
- E 4.753776 -0.838215 110.000000
- S 0 0.000000 0.000000 0.000000 4.901575 0.000000
- S 0 0.000000 0.147799 0.838215 4.753776 -0.838215
+ E 4.000000 0.000000 90.000000
+ E 3.414216 -1.414211 135.000000
+ E 0.585784 1.414211 315.000000
+ S 0 0.000000 0.000000 0.000000 4.000000 0.000000
+ S 0 0.000000 0.585784 1.414211 3.414216 -1.414211
END
-TURNOUT N "Atlas 15 Degree Crossover 2564"
+TURNOUT N "Atlas 60 Degree Crossing 2568"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
- E 5.039370 0.000000 90.000000
- E 0.085855 0.652139 285.000000
- E 4.953515 -0.652139 105.000000
- S 0 0.000000 0.000000 0.000000 5.039370 0.000000
- S 0 0.000000 0.085855 0.652139 4.953515 -0.652139
+ E 3.818898 0.000000 90.000000
+ E 2.864177 -1.653629 150.000000
+ E 0.954721 1.653629 330.000000
+ S 0 0.000000 0.000000 0.000000 3.818898 0.000000
+ S 0 0.000000 0.954721 1.653629 2.864177 -1.653629
+END
+TURNOUT N "Atlas 90 Degree Crossing 2569"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 2.440945 2.440945 0.000000
+ E 4.881890 0.000000 90.000000
+ E 2.440945 -2.440945 180.000000
+ S 0 0 0.000000 0.000000 4.881890 0.000000
+ S 0 0 2.440945 2.440945 2.440945 -2.440945
END
SUBCONTENTS Atlas N-Scale Track - Custom (Motorless) Switches
@@ -692,41 +726,7 @@ TURNOUT N "Atlas Custom Standard Wye 2754"
S 0 0.000000 4.489175 -0.544372 4.881890 -0.649606
END
-SUBCONTENTS Atlas N-Scale Structures - Bridge
-# Bridge Pier (Base) Design by Bob Blackwell
-STRUCTURE N "Atlas Bridge Pier 2541"
- X pier 0.140625 "1" 0.281250 "2" 0.421875 "3" 0.562500 "4" 0.703125 "5" 0.843750 "6" 0.984375 "7" 1.125000 "8" 1.265625 "9" 1.406250 "10" 1.546875 "11" 1.687500 "12"
- A3 0 0.020833 0.312500 -0.000000 0.687500 0 270.000000 180.000000
- A3 0 0.020833 0.312500 -0.000000 -0.687500 0 90.000000 180.000000
- L3 0 0.020833 0.312500 0.687500 0 0.312500 -0.687500 0
- L3 0 0.020833 -0.312500 0.687500 0 -0.312500 -0.687500 0
- A3 0 0.020833 0.250000 -0.000000 -0.375000 0 90.000000 180.000000
- A3 0 0.020833 0.250000 -0.000000 0.375000 0 270.000000 180.000000
- L3 0 0.020833 -0.250000 0.375000 0 -0.249999 -0.375000 0
- L3 0 0.020833 0.250000 0.375000 0 0.250001 -0.375000 0
- END
-STRUCTURE N "Atlas Bridge Pier (Base) 2543"
- X pier 1.687500 "B"
- A3 0 0.020833 0.312500 -0.000000 0.687500 0 270.000000 180.000000
- A3 0 0.020833 0.312500 -0.000000 -0.687500 0 90.000000 180.000000
- L3 0 0.020833 0.312500 0.687500 0 0.312500 -0.687500 0
- L3 0 0.020833 -0.312500 0.687500 0 -0.312500 -0.687500 0
- A3 0 0.020833 0.250000 -0.000000 -0.375000 0 90.000000 180.000000
- A3 0 0.020833 0.250000 -0.000000 0.375000 0 270.000000 180.000000
- L3 0 0.020833 -0.250000 0.375000 0 -0.249999 -0.375000 0
- L3 0 0.020833 0.250000 0.375000 0 0.250001 -0.375000 0
- END
-# Viaduct Kit Design by Bob Blackwell
-STRUCTURE N "Atlas Viaduct Kit 2826"
- L3 0 0.020833 0.010419 0.010417 0 4.385419 0.010422 0
- L3 0 0.020833 4.385419 0.010417 0 4.385419 1.135417 0
- L3 0 0.020833 4.385419 1.135422 0 0.010419 1.135417 0
- L3 0 0.020833 0.010418 1.135417 0 0.010417 0.010417 0
- L3 0 0.020833 4.385419 0.104172 0 0.010419 0.104167 0
- L3 0 0.020833 4.385419 1.041676 0 0.010419 1.041670 0
- L3 0 0.020833 4.385419 1.088547 0 0.010419 1.088542 0
- L3 0 0.020833 4.385419 0.057297 0 0.010419 0.057292 0
- END
+
SUBCONTENTS Atlas N-Scale Structures - Switch Machines
STRUCTURE N "Atlas Remote Switch Machine 271x"
X pier 0.000000 ""
@@ -792,31 +792,31 @@ TURNOUT N "Atlas Turn Table 2790"
S 0 0 0.000000 4.250000 0.000000 3.750000
S 16777215 0 0.000000 3.750000 0.000000 -3.750000
S 0 0 0.000000 -3.750000 0.000000 -4.250000
-#15/195
+#15/195
S 0 0 1.099981 4.105185 0.970571 3.622222
S 16777215 0 0.970571 3.622222 -0.970571 -3.622222
S 0 0 -0.970571 -3.622222 -1.099981 -4.105185
-#30/210
+#30/210
S 0 0 2.125000 3.680608 1.875000 3.247595
S 16777215 0 1.836614 3.247595 -1.875000 -3.247595
S 0 0 -1.875000 -3.247595 -2.125000 -3.680608
-#45/225
+#45/225
S 0 0 3.005204 3.005204 2.651650 2.651650
S 16777215 0 2.651650 2.651650 -2.651650 -2.651650
S 0 0 -2.651650 -2.651650 -3.005204 -3.005204
-#60/240
+#60/240
S 0 0 3.680608 2.125000 3.247595 1.875000
S 16777215 0 3.247595 1.875000 -3.247595 -1.875000
S 0 0 -3.247595 -1.875000 -3.680608 -2.125000
-#75/255
+#75/255
S 16777215 0 4.105185 1.099981 3.622222 0.970571
S 16777215 0 3.622222 0.970571 -3.622222 -0.970571
S 0 0 -3.622222 -0.970571 -4.105185 -1.099981
-#90/270
+#90/270
S 16777215 0 4.250000 0.000000 3.750000 0.000000
S 16777215 0 3.750000 0.000000 -3.750000 0.000000
S 0 0 -3.750000 0.000000 -4.250000 0.000000
-#105/285
+#105/285
S 16777215 0 4.105185 -1.099981 3.622222 -0.970571
S 16777215 0 3.622222 -0.970571 -3.622222 0.970571
S 0 0 -3.622222 0.970571 -4.105185 1.099981
diff --git a/app/lib/params/N-AtlasRoco Code80 Track.xtp b/app/lib/params/N-AtlasRoco Code80 Track.xtp
new file mode 100755
index 0000000..bcbef1b
--- /dev/null
+++ b/app/lib/params/N-AtlasRoco Code80 Track.xtp
@@ -0,0 +1,88 @@
+CONTENTS Atlas/Roco N-Scale Track (Old Prodcution)
+SUBCONTENTS Atlas/Roco N-Scale Track - Crossings
+TURNOUT N "Atlas/Roco 90 Degree Crossing 2569A"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 1.299213 0.000000 90.000000
+ E 0.649607 0.649607 0.000000
+ E 0.649607 -0.649607 180.000000
+ S 0 0 0.000000 0.000000 1.299213 0.000000
+ S 0 0 0.649607 0.649607 0.649607 -0.649607
+END
+TURNOUT N "Atlas/Roco Straight for Crossing 2569B"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.792615 0.000000 90.000000
+ S 0 0 0.000000 0.000000 1.792615 0.000000
+END
+
+SUBCONTENTS Atlas/Roco N-Scale Track - Remote Switches
+TURNOUT N "Atlas Left Remote Std #4 Switch 2550"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 4.910000 0.000000 90.000000
+ E 4.910000 0.646414 75.000000
+ S 0 0 0.000000 0.000000 4.910000 0.000000
+ C 0 0 -19.000000 -0.001000 19.000000 165.000000 15.000000
+ END
+TURNOUT N "Atlas Right Remote Std #4 Switch 2551"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 4.910000 0.000000 90.000000
+ E 4.910000 -0.646414 105.000000
+ S 0 0 0.000000 0.000000 4.910000 0.000000
+ C 0 0 19.000000 -0.001000 -19.000000 0.000000 15.000000
+ END
+TURNOUT N "Atlas #6 Left Remote Switch 2558"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 6.137500 0.000000 90.000000
+ E 6.137500 0.656250 75.000000
+ S 0 0 0.000000 0.000000 6.137500 0.000000
+ C 0 0 -19.000000 -0.001000 19.000000 165.000000 15.000000
+ END
+TURNOUT N "Atlas #6 Right Remote Switch 2559"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 6.137500 0.000000 90.000000
+ E 6.137500 -0.656250 105.000000
+ S 0 0 0.000000 0.000000 6.137500 0.000000
+ C 0 0 19.000000 -0.001000 -19.000000 0.000000 15.000000
+ END
+
+SUBCONTENTS Atlas/Roco N-Scale Track - WYE Switches
+TURNOUT N "Atlas/Roco Remote #4 3-Way WYE Switch 2563"
+ P "Normal" 1 2
+ P "Reverse" 1 3
+ P "Reverse" 1 -4
+ E 0.000000 0.000000 270.000000
+ E 6.100000 0.000000 90.000000
+ E 6.100000 0.646414 75.000000
+ E 6.100000 -0.646414 105.000000
+ S 0 0 0.000000 0.000000 1.190000 0.000000
+ S 0 0 1.190000 0.000000 6.100000 0.000000
+ C 0 0 -19.000000 1.190000 19.000000 165.000000 15.000000
+ C 0 0 -19.000000 1.190000 -19.000000 0.000000 15.000000
+END
+
+SUBCONTENTS Atlas/Roco N-Scale Track - Slip Switches
+TURNOUT N "Atlas/Roco #6 Double Slip 2562"
+ P "Normal" 1 2 3 0 4 5 6
+ P "Reverse" 1 7 6 0 4 8 3
+ E 0.000000 0.000000 270.000000
+ E 7.340000 0.000000 90.000000
+ E 0.050620 0.607443 279.527283
+ E 7.289380 -0.607443 99.527283
+ S 0 0.000000 0.000000 0.000000 0.708764 0.000000
+ S 0 0.000000 0.708764 0.000000 6.631236 0.000000
+ S 0 0.000000 6.631236 0.000000 7.340000 0.000000
+ S 0 0.000000 0.050620 0.607443 0.749352 0.490164
+ S 0 0.000000 0.749352 0.490164 6.590648 -0.490164
+ S 0 0.000000 6.590648 -0.490164 7.289380 -0.607443
+ C 0 0.000000 35.535849 0.708623 -35.535849 0.000076 9.527435
+ C 0 0.000000 -35.535849 6.631282 35.535842 180.000076 9.527435
+END
diff --git a/app/lib/params/N-AtlasTrueTrack.xtp b/app/lib/params/N-AtlasTrueTrack.xtp
index 1ed0206..9f4d021 100644
--- a/app/lib/params/N-AtlasTrueTrack.xtp
+++ b/app/lib/params/N-AtlasTrueTrack.xtp
@@ -35,7 +35,7 @@ TURNOUT N "Atlas True-Track Straight 1"" 2405"
END
SUBCONTENTS Atlas True-Track N-Scale Curved Track
-TURNOUT N "Atlas True-Track Curve 11.00R 22.5� 2410"
+TURNOUT N "Atlas True-Track Curve 11.00R 22.5° 2410"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.209518 -0.837325 112.500000
@@ -43,7 +43,7 @@ TURNOUT N "Atlas True-Track Curve 11.00R 22.5� 2410"
A 11579568 0.053333 10.500000 0.000000 -11.000000 0.000000 22.500000
A 11579568 0.053333 11.500000 0.000000 -11.000000 0.000000 22.500000
END
-TURNOUT N "Atlas True-Track Curve 11.00R 11.25� 2411"
+TURNOUT N "Atlas True-Track Curve 11.00R 11.25° 2411"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.145994 -0.211362 101.250000
@@ -51,7 +51,7 @@ TURNOUT N "Atlas True-Track Curve 11.00R 11.25� 2411"
A 11579568 0.053333 10.500000 0.000000 -11.000000 0.000000 11.250000
A 11579568 0.053333 11.500000 0.000000 -11.000000 0.000000 11.250000
END
-TURNOUT N "Atlas True-Track Curve 12.50R 22.5� 2412"
+TURNOUT N "Atlas True-Track Curve 12.50R 22.5° 2412"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.783543 -0.951506 112.500000
@@ -59,7 +59,7 @@ TURNOUT N "Atlas True-Track Curve 12.50R 22.5� 2412"
A 11579568 0.053333 12.000000 0.000000 -12.500000 0.000000 22.500000
A 11579568 0.053333 13.000000 0.000000 -12.500000 0.000000 22.500000
END
-TURNOUT N "Atlas True-Track Curve 12.50R 11.25� 2413"
+TURNOUT N "Atlas True-Track Curve 12.50R 11.25° 2413"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.438629 -0.240184 101.250000
@@ -67,7 +67,7 @@ TURNOUT N "Atlas True-Track Curve 12.50R 11.25� 2413"
A 11579568 0.053333 12.000000 0.000000 -12.500000 0.000000 11.250000
A 11579568 0.053333 13.000000 0.000000 -12.500000 0.000000 11.250000
END
-TURNOUT N "Atlas True-Track Curve 14.00R 22.5� 2414"
+TURNOUT N "Atlas True-Track Curve 14.00R 22.5° 2414"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 5.357568 -1.065687 112.500000
@@ -75,7 +75,7 @@ TURNOUT N "Atlas True-Track Curve 14.00R 22.5� 2414"
A 11579568 0.053333 13.500000 0.000000 -14.000000 0.000000 22.500000
A 11579568 0.053333 14.500000 0.000000 -14.000000 0.000000 22.500000
END
-TURNOUT N "Atlas True-Track Curve 15.50R 22.5� 2416"
+TURNOUT N "Atlas True-Track Curve 15.50R 22.5° 2416"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 5.931593 -1.179867 112.500000
@@ -83,7 +83,7 @@ TURNOUT N "Atlas True-Track Curve 15.50R 22.5� 2416"
A 11579568 0.053333 15.000000 0.000000 -15.500000 0.000000 22.500000
A 11579568 0.053333 16.000000 0.000000 -15.500000 0.000000 22.500000
END
-TURNOUT N "Atlas True-Track Curve 17.00R 22.5� 2495"
+TURNOUT N "Atlas True-Track Curve 17.00R 22.5° 2495"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.505618 -1.294048 112.500000
@@ -93,7 +93,7 @@ TURNOUT N "Atlas True-Track Curve 17.00R 22.5� 2495"
END
SUBCONTENTS Atlas True-Track N-Scale Crossings
-TURNOUT N "Atlas True-Track 90� Crossing 2420"
+TURNOUT N "Atlas True-Track 90° Crossing 2420"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 2.000000 0.000000 90.000000
diff --git a/app/lib/params/BachmannEZ-N.xtp b/app/lib/params/N-Bachmann EZ.xtp
index ae0c2f6..8abd5ea 100644
--- a/app/lib/params/BachmannEZ-N.xtp
+++ b/app/lib/params/N-Bachmann EZ.xtp
@@ -1,554 +1,633 @@
-CONTENTS Bachmann EZ Track N Scale
-#
-SUBCONTENTS Bachmann EZ Track N-Scale Straight Track
-TURNOUT N "Bachmann EZ Track Straight 30" 44887"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 30.00000 0.000000 90.000000
- S 0 0 0.000000 0.000000 30.000000 0.000000
- L 11579568 0.053333 0.000000 0.445774 30.000000 0.445774
- L 11579568 0.053333 0.000000 -0.445774 30.000000 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Straight 10" 44815"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 10.00000 0.000000 90.000000
- S 0 0 0.000000 0.000000 10.000000 0.000000
- L 11579568 0.053333 0.000000 0.445774 10.000000 0.445774
- L 11579568 0.053333 0.000000 -0.445774 10.000000 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Terminal Str 10" 44897"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 10.00000 0.000000 90.000000
- S 0 0 0.000000 0.000000 10.000000 0.000000
- L 11579568 0.053333 0.000000 0.445774 10.000000 0.445774
- L 11579568 0.053333 0.000000 -0.445774 10.000000 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Rerailer Str 10" 44820"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 10.00000 0.000000 90.000000
- S 0 0 0.000000 0.000000 10.000000 0.000000
- L 11579568 0.053333 0.000000 0.445774 10.000000 0.445774
- L 11579568 0.053333 0.000000 -0.445774 10.000000 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Straight 5" 44811"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 5.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 5.000000 0.000000
- L 11579568 0.053333 0.000000 0.445774 5.000000 0.445774
- L 11579568 0.053333 0.000000 -0.445774 5.000000 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Elec.Auto-Reversing Straight 5" 44848"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 5.000000 0.000000 90.000000
- S 0 0 0.000000 0.000000 5.000000 0.000000
- L 11579568 0.053333 0.000000 0.445774 5.000000 0.445774
- L 11579568 0.053333 0.000000 -0.445774 5.000000 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Straight 4 1/2 44829A"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.500000 0.000000 90.000000
- S 0 0 0.000000 0.000000 4.500000 0.000000
- L 11579568 0.053333 0.000000 0.445774 4.500000 0.445774
- L 11579568 0.053333 0.000000 -0.445774 4.500000 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Straight 2 1/4 44829B"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 2.250000 0.000000 90.000000
- S 0 0 0.000000 0.000000 2.250000 0.000000
- L 11579568 0.053333 0.000000 0.445774 2.250000 0.445774
- L 11579568 0.053333 0.000000 -0.445774 2.250000 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Straight 1 1/8 44829C"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 1.125000 0.000000 90.000000
- S 0 0 0.000000 0.000000 1.125000 0.000000
- L 11579568 0.053333 0.000000 0.445774 1.125000 0.445774
- L 11579568 0.053333 0.000000 -0.445774 1.125000 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Straight 1 1/2 44899A"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 1.500000 0.000000 90.000000
- S 0 0 0.000000 0.000000 1.500000 0.000000
- L 11579568 0.053333 0.000000 0.445774 1.500000 0.445774
- L 11579568 0.053333 0.000000 -0.445774 1.500000 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Straight 1 1/4 44899B"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 1.250000 0.000000 90.000000
- S 0 0 0.000000 0.000000 1.250000 0.000000
- L 11579568 0.053333 0.000000 0.445774 1.250000 0.445774
- L 11579568 0.053333 0.000000 -0.445774 1.250000 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Straight 7/8 44899C"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 0.875000 0.000000 90.000000
- S 0 0 0.000000 0.000000 0.875000 0.000000
- L 11579568 0.053333 0.000000 0.445774 0.875000 0.445774
- L 11579568 0.053333 0.000000 -0.445774 0.875000 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Straight 3/4 44899D"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 0.750000 0.000000 90.000000
- S 0 0 0.000000 0.000000 0.750000 0.000000
- L 11579568 0.053333 0.000000 0.445774 0.750000 0.445774
- L 11579568 0.053333 0.000000 -0.445774 0.750000 -0.445774
- END
-
-SUBCONTENTS Bachmann EZ Track N-Scale Curved Track
-TURNOUT N "Bachmann EZ Track Curve 11.25R 30° 44801"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 5.625000 -1.507214 120.000000
- C 0 0 11.250000 0.000000 -11.250000 0.000000 30.000000
- A 11579568 0.053333 10.804226 0.000000 -11.250000 0.000000 30.000000
- A 11579568 0.053333 11.695774 0.000000 -11.250000 0.000000 30.000000
- END
-TURNOUT N "Bachmann EZ Track Curve 11.25R 15° 44821"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 2.911712 -0.383334 105.000000
- C 0 0 11.250000 0.000000 -11.250000 0.000000 15.000000
- A 11579568 0.053333 11.695774 0.000000 -11.250000 0.000000 15.000000
- A 11579568 0.053333 10.804226 0.000000 -11.250000 0.000000 15.000000
- END
-TURNOUT N "Bachmann EZ Track Curve 11.25R 7.5° 44831"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 1.468418 -0.096245 97.500000
- C 0 0 11.250000 0.000000 -11.250000 0.000000 7.500000
- A 11579568 0.053333 11.695774 0.000000 -11.250000 0.000000 7.500000
- A 11579568 0.053333 10.804226 0.000000 -11.250000 0.000000 7.500000
- END
-TURNOUT N "Bachmann EZ Track Curve 12.5R 30° 44852"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 6.250000 -1.674682 120.000000
- C 0 0 12.500000 0.000000 -12.500000 0.000000 30.000000
- A 11579568 0.053333 12.054226 0.000000 -12.500000 0.000000 30.000000
- A 11579568 0.053333 12.945774 0.000000 -12.500000 0.000000 30.000000
- END
-TURNOUT N "Bachmann EZ Track Half-Curve 12.5R 15° 44822"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 3.235238 -0.425927 105.000000
- C 0 0 12.500000 0.000000 -12.500000 0.000000 15.000000
- A 11579568 0.053333 12.054226 0.000000 -12.500000 0.000000 15.000000
- A 11579568 0.053333 12.945774 0.000000 -12.500000 0.000000 15.000000
- END
-TURNOUT N "Bachmann EZ Track Curve 12.5R 7.5° 44832"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 1.631576 -0.106939 97.500000
- C 0 0.000000 12.500000 0.000000 -12.500000 0.000000 7.500000
- A 11579568 0.053333 12.945774 0.000000 -12.500000 0.000000 7.500000
- A 11579568 0.053333 12.054226 0.000000 -12.500000 0.000000 7.500000
- END
-TURNOUT N "Bachmann EZ Track Curve 14R 30° 44853"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 6.999995 -1.875641 120.000000
- C 0 0 14.000000 0.000000 -14.000000 0.000000 30.000000
- A 11579568 0.053333 13.554226 0.000000 -14.000000 0.000000 30.000000
- A 11579568 0.053333 14.445774 0.000000 -14.000000 0.000000 30.000000
- END
-TURNOUT N "Bachmann EZ Track Half-Curve 14R 15° 44823"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 3.623464 -0.477038 105.000000
- C 0 0 14.000000 0.000000 -14.000000 0.000000 15.000000
- A 11579568 0.053333 13.554226 0.000000 -14.000000 0.000000 15.000000
- A 11579568 0.053333 14.445774 0.000000 -14.000000 0.000000 15.000000
- END
-TURNOUT N "Bachmann EZ Track Curve 15.5R 30° 44854"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 7.749994 -2.076603 120.000000
- C 0 0.000000 15.500000 0.000000 -15.500000 0.000000 30.000000
- A 11579568 0.053333 15.945774 0.000000 -15.500000 0.000000 30.000000
- A 11579568 0.053333 15.054226 0.000000 -15.500000 0.000000 30.000000
- END
-TURNOUT N "Bachmann EZ Track Curve 15.5R 15° 44824"
- U "Curved Section" "" "Bachmann EZ Track" "Curve 15.5R 15°" "44824" 15.500000 15.000000 0.891548 0.010417 0
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.011692 -0.528149 105.000000
- C 0 0.000000 15.500000 0.000000 -15.500000 0.000000 15.000000
- A 11579568 0.053333 15.945774 0.000000 -15.500000 0.000000 15.000000
- A 11579568 0.053333 15.054226 0.000000 -15.500000 0.000000 15.000000
- END
-TURNOUT N "Bachmann EZ Track Curve 15.5R 7.5° 44834"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 2.023154 -0.132604 97.500000
- C 0 0.000000 15.500000 0.000000 -15.500000 0.000000 7.500000
- A 11579568 0.053333 15.945774 0.000000 -15.500000 0.000000 7.500000
- A 11579568 0.053333 15.054226 0.000000 -15.500000 0.000000 7.500000
- END
-TURNOUT N "Bachmann EZ Track Curve 17.5R 15° 44855"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.529330 -0.596297 105.000000
- C 0 0.000000 17.500000 0.000000 -17.500000 0.000000 15.000000
- A 11579568 0.053333 17.945774 0.000000 -17.500000 0.000000 15.000000
- A 11579568 0.053333 17.054226 0.000000 -17.500000 0.000000 15.000000
- END
-TURNOUT N "Bachmann EZ Track Curve 17.5R 7.5° 44825"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 2.284206 -0.149715 97.500000
- C 0 0.000000 17.500000 0.000000 -17.500000 0.000000 7.500000
- A 11579568 0.053333 17.945774 0.000000 -17.500000 0.000000 7.500000
- A 11579568 0.053333 17.054226 0.000000 -17.500000 0.000000 7.500000
- END
-TURNOUT N "Bachmann EZ Track Curve 17.5R 3.75° 44835"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 1.144554 -0.037469 93.750000
- C 0 0.000000 -17.500000 0.000000 -17.500000 0.000000 3.750000
- A 11579568 0.053333 17.945774 0.000000 -17.500000 0.000000 3.750000
- A 11579568 0.053333 17.054226 0.000000 -17.500000 0.000000 3.750000
- END
-TURNOUT N "Bachmann EZ Track Curve 19R 15° 44804"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.917562 -0.647409 105.000000
- C 0 0 19.000000 -0.000000 -19.000000 0.000000 15.000000
- A 11579568 0.053333 18.554226 0.000000 -19.000000 0.000000 15.000000
- A 11579568 0.053333 19.445774 0.000000 -19.000000 0.000000 15.000000
- END
-TURNOUT N "Bachmann EZ Track Half-Curve 19R 7.5° 44856"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 2.479998 -0.162548 97.500000
- C 0 0 19.000000 -0.000000 -19.000000 0.000000 7.500000
- A 11579568 0.053333 18.554226 0.000000 -19.000000 0.000000 7.500000
- A 11579568 0.053333 19.445774 0.000000 -19.000000 0.000000 7.500000
- END
-TURNOUT N "Bachmann EZ Track Curve 19R 3.75° 44836"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 1.242658 -0.040680 93.750000
- C 0 0.000000 19.000000 0.000000 -19.000000 0.000000 3.750000
- A 11579568 0.053333 19.445774 0.000000 -19.000000 0.000000 3.750000
- A 11579568 0.053333 18.554226 0.000000 -19.000000 0.000000 3.750000
- END
-TURNOUT N "Bachmann EZ Track Terminal/Rerailer Curve 11.25R 30° 44802"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 5.625000 -1.507214 120.000000
- C 0 0 11.250000 0.000000 -11.250000 0.000000 30.000000
- A 11579568 0.053333 10.804226 0.000000 -11.250000 0.000000 30.000000
- A 11579568 0.053333 11.695774 0.000000 -11.250000 0.000000 30.000000
- END
-TURNOUT N "Bachmann EZ Track Elec.Auto-Reversing Curve 11.25R 30° 44849"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 5.625000 -1.507214 120.000000
- C 0 0 11.250000 0.000000 -11.250000 0.000000 30.000000
- A 11579568 0.053333 10.804226 0.000000 -11.250000 0.000000 30.000000
- A 11579568 0.053333 11.695774 0.000000 -11.250000 0.000000 30.000000
- END
-
-SUBCONTENTS Bachmann EZ Track N-Scale Bumper Track
-TURNOUT N "Bachmann EZ Track Hayes Bumper 44891"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- S 0 0.000000 0.000000 0.000000 1.250000 0.000000
- L 11579568 0.053333 0.000000 0.4457740 1.250000 0.4457740
- L 11579568 0.053333 0.000000 -0.4457740 1.250000 -0.4457740
- L 11579568 0.053333 1.250000 0.4457740 1.250000 -0.4457740
- L 0 0.053333 1.026667 0.080227 1.200000 0.080227
- L 0 0.053333 1.200000 0.080227 1.200000 -0.093107
- L 0 0.053333 1.200000 -0.093107 1.026667 -0.093107
- L 0 0.053333 1.026667 -0.093107 1.026667 0.080227
- L 0 0.053333 0.800000 0.080227 0.800000 -0.093107
- L 0 0.040000 0.826667 -0.066440 1.146667 -0.453107
- L 0 0.040000 0.826667 0.066893 1.160000 0.440227
- L 0 0.040000 0.826667 -0.093107 0.573333 -0.453107
- L 0 0.040000 0.840000 0.080227 0.586667 0.440227
- L 0 0.053333 0.746667 -0.106440 0.746667 0.106893
- END
-
-SUBCONTENTS Bachmann EZ Track N-Scale Turnouts
-TURNOUT N "Bachmann EZ Track Turnout Left 44861"
- P "Normal" 1
- P "Reverse" 2
- E 0.000000 0.000000 270.000000
- E 5.000000 0.000000 90.000000
- E 5.625000 1.507214 60.000000
- S 0 0 0.000000 0.000000 5.000000 0.000000
- C 0 0 11.250000 0.000000 11.250000 150.000000 30.000000
- L 11579568 0.053333 0.000000 -0.445774 5.000000 -0.445774
- A 11579568 0.053333 10.804226 0.000000 11.250000 150.000000 30.000000
- END
-TURNOUT N "Bachmann EZ Track Turnout Right 44862"
- P "Normal" 1
- P "Reverse" 2
- E 0.000000 0.000000 270.000000
- E 5.000000 0.000000 90.000000
- E 5.625000 -1.507214 120.000000
- S 0 0 0.000000 0.000000 5.000000 0.000000
- C 0 0 11.250000 0.000000 -11.250000 0.000000 30.000000
- L 11579568 0.053333 0.000000 0.445774 5.000000 0.445774
- A 11579568 0.053333 10.804226 0.000000 -11.250000 0.000000 30.000000
- END
-TURNOUT N "Bachmann EZ Track #4 Turnout Left 44863"
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 6.250000 0.000000 90.000000
- E 6.140000 0.870000 75.522476
- S 0 0.000000 0.000000 0.000000 0.354300 0.000000
- S 0 0.000000 0.354300 0.000000 6.250000 0.000000
- C 0 0.000000 -19.022995 0.354325 19.022995 165.522400 14.477676
- S 0 0.000000 5.110098 0.604072 6.140000 0.870000
- L 11579568 0.053333 -0.000001 -0.445774 6.249999 -0.445766 0
- L 11579568 0.053333 0.000000 0.445774 0.354300 0.445774 0
- A 11579568 0.053333 18.577221 0.354325 19.022995 165.522400 14.477676
- L 11579568 0.053333 4.998651 1.035690 6.028554 1.301618 0
- END
-TURNOUT N "Bachmann EZ Track #4 Turnout Curve 11.25R 14° 44863/64"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 2.721619 -0.334173 104.000000
- C 0 0 11.250000 0.000000 -11.250000 0.000000 14.000000
- A 11579568 0.053333 11.695774 0.000000 -11.250000 0.000000 14.000000
- A 11579568 0.053333 10.804226 0.000000 -11.250000 0.000000 14.000000
- END
-TURNOUT N "Bachmann EZ Track #4 Turnout Right 44864"
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 6.250000 0.000000 90.000000
- E 6.140000 -0.870000 104.477524
- S 0 0.000000 0.000000 0.000000 0.354300 0.000000
- S 0 0.000000 0.354300 0.000000 6.250000 0.000000
- C 0 0.000000 19.022995 0.354224 -19.022995 0.000076 14.477676
- S 0 0.000000 5.110098 -0.604072 6.140000 -0.870000
- L 11579568 0.053333 -0.000001 -0.445774 0.354299 -0.445774 0
- L 11579568 0.053333 0.000000 0.445774 6.250000 0.445782 0
- A 11579568 0.053333 18.577221 0.354224 -19.022995 0.000076 14.477676
- L 11579568 0.053333 4.998649 -1.035689 6.028551 -1.301618 0
- END
-TURNOUT N "Bachmann EZ Track #6 Turnout Left 44859"
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 8.870000 0.000000 90.000000
- E 8.790000 1.050000 80.405924
- S 0 0.000000 0.000000 0.000000 0.354300 0.000000
- S 0 0.000000 0.354300 0.000000 8.870000 0.000000
- C 0 0.000000 -26.500010 0.354335 26.500010 170.405848 9.594228
- S 0 0.000000 4.771038 0.370659 8.790000 1.050000
- L 11579568 0.053333 -0.000001 -0.445774 8.869999 -0.445763 0
- L 11579568 0.053333 0.000000 0.445774 0.354300 0.445774 0
- L 11579568 0.053333 7.805537 0.445784 8.870000 0.445785 0
- A 11579568 0.053333 26.054236 0.354335 26.500010 170.405848 9.594228
- L 11579568 0.053333 7.859557 0.440626 8.864298 0.610461 0
- L 11579568 0.053333 4.696741 0.810198 8.715704 1.489539 0
- END
-TURNOUT N "Bachmann EZ Track #6 Turnout Curve 14R 9.46° 44859/60"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 2.301024 -0.190391 99.460000
- C 0 0.000000 14.000000 0.000000 -14.000000 0.000000 9.460000
- A 11579568 0.053333 14.445774 0.000000 -14.000000 0.000000 9.460000
- A 11579568 0.053333 13.554226 0.000000 -14.000000 0.000000 9.460000
- END
-TURNOUT N "Bachmann EZ Track #6 Turnout Right 44860"
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 8.870000 0.000000 90.000000
- E 8.790000 -1.050000 99.594076
- S 0 0.000000 0.000000 0.000000 0.354300 0.000000
- S 0 0.000000 0.354300 0.000000 8.870000 0.000000
- C 0 0.000000 26.500010 0.354195 -26.500010 0.000076 9.594228
- S 0 0.000000 4.771038 -0.370659 8.790000 -1.050000
- L 11579568 0.053333 -0.000001 -0.445774 0.354299 -0.445774 0
- L 11579568 0.053333 0.000000 0.445774 8.870000 0.445785 0
- L 11579568 0.053333 7.805536 -0.445764 8.869999 -0.445763 0
- A 11579568 0.053333 26.054236 0.354195 -26.500010 0.000076 9.594228
- L 11579568 0.053333 4.696739 -0.810198 8.715701 -1.489539 0
- L 11579568 0.053333 7.859557 -0.440626 8.864298 -0.610461 0
- END
-TURNOUT N "Bachmann EZ Track #6 Wye Turnout 44869"
- P "Left" 1 2 3
- P "Right" 1 4 5
- E 0.000000 0.000000 270.000000
- E 8.400000 0.550000 80.405924
- E 8.400000 -0.550000 99.594076
- S 0 0.000000 0.000000 0.000000 2.200590 0.000000
- C 0 0.000000 -35.100399 2.200636 35.100399 170.405848 9.594228
- S 0 0.000000 8.050748 0.490954 8.400000 0.550000
- C 0 0.000000 35.100399 2.200450 -35.100399 0.000076 9.594228
- S 0 0.000000 8.050748 -0.490954 8.400000 -0.550000
- L 11579568 0.053333 -0.000001 -0.445774 2.200588 -0.445771 0
- L 11579568 0.053333 0.000000 0.445774 2.200590 0.445777 0
- A 11579568 0.053333 35.546173 2.200636 35.100399 170.405848 0.599639
- A 11579568 0.053333 34.654625 2.200636 35.100399 170.405848 9.594228
- L 11579568 0.053333 8.125058 0.051418 8.474310 0.110463 0
- L 11579568 0.053333 7.976439 0.930491 8.325691 0.989537 0
- A 11579568 0.053333 35.546173 2.200450 -35.100399 8.994665 0.599639
- A 11579568 0.053333 34.654625 2.200450 -35.100399 0.000076 9.594228
- L 11579568 0.053333 7.976437 -0.930491 8.325689 -0.989536 0
- L 11579568 0.053333 8.125058 -0.051418 8.474310 -0.110463 0
- END
-TURNOUT N "Bachmann EZ Track Wye Turnout Curve 19R 4.75° 44869D"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 1.573355 -0.065255 94.750000
- C 0 0.000000 19.000000 0.000000 -19.000000 0.000000 4.750000
- A 11579568 0.053333 19.445774 0.000000 -19.000000 0.000000 4.750000
- A 11579568 0.053333 18.554226 0.000000 -19.000000 0.000000 4.750000
- END
-TURNOUT N "Bachmann EZ Track #6 Left Crossover Turnout 44875"
- P "Normal" 1 2 0 3 4
- P "Reverse" 1 5 6 7 4
- E 0.000000 0.000000 270.000000
- E 12.700000 0.000000 90.000000
- E 0.000000 1.250000 270.000000
- E 12.700000 1.250000 90.000000
- S 0 0.000000 0.000000 0.000000 0.644225 0.000000
- S 0 0.000000 0.644225 0.000000 12.700000 0.000000
- S 0 0.000000 0.000000 1.250000 12.055775 1.250000
- S 0 0.000000 12.055775 1.250000 12.700000 1.250000
- C 0 0.000000 -26.257128 0.644259 26.257128 168.223421 11.776655
- S 0 0.000000 6.003227 0.552695 6.696773 0.697305
- C 0 0.000000 26.257128 12.055809 -25.007121 348.223421 11.776655
- L 11579568 0.053333 -0.000001 -0.445774 12.699999 -0.445758 0
- L 11579568 0.053333 0.000000 0.445774 0.644225 0.445775 0
- L 11579568 0.053333 7.802341 0.445783 12.700000 0.445790 0
- L 11579568 0.053333 -0.000001 0.804226 4.897658 0.804232 0
- L 11579568 0.053333 0.000000 1.695774 12.700000 1.695775 0
- L 11579568 0.053333 12.055774 0.804226 12.699999 0.804227 0
- A 11579568 0.053333 25.811354 0.644259 26.257128 170.431544 9.568532
- A 11579568 0.053333 25.811354 12.055809 -25.007121 350.431544 9.568532
- END
-TURNOUT N "Bachmann EZ Track #6 Right Crossover Turnout 44876"
- P "Normal" 1 2 0 3 4
- P "Reverse" 3 5 6 7 2
- E 0.000000 0.000000 270.000000
- E 12.700000 0.000000 90.000000
- E 0.000000 1.250000 270.000000
- E 12.700000 1.250000 90.000000
- S 0 0.000000 0.000000 0.000000 12.055775 0.000000
- S 0 0.000000 12.055775 0.000000 12.700000 0.000000
- S 0 0.000000 0.000000 1.250000 0.644225 1.250000
- S 0 0.000000 0.644225 1.250000 12.700000 1.250000
- C 0 0.000000 26.257128 0.644120 -25.007128 0.000076 11.776655
- S 0 0.000000 6.003227 0.697305 6.696773 0.552695
- C 0 0.000000 -26.257128 12.055809 26.257121 180.000076 11.776655
- L 11579568 0.053333 -0.000001 -0.445774 12.699999 -0.445773 0
- L 11579568 0.053333 0.000000 0.445774 4.897659 0.445780 0
- L 11579568 0.053333 12.055775 0.445774 12.700000 0.445775 0
- L 11579568 0.053333 -0.000001 0.804226 0.644223 0.804227 0
- L 11579568 0.053333 0.000000 1.695774 12.700000 1.695790 0
- L 11579568 0.053333 7.802340 0.804235 12.699999 0.804242 0
- A 11579568 0.053333 25.811354 0.644120 -25.007128 0.000076 9.568532
- A 11579568 0.053333 25.811354 12.055809 26.257121 180.000076 9.568532
- END
-
-
-SUBCONTENTS Bachmann EZ Track N-Scale Crossings
-TURNOUT N "Bachmann EZ Track Crossing 90° w/1.25 44841"
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 3.750000 0.000000 90.000000
- E 1.875000 1.875000 0.000000
- E 1.875000 -1.875000 180.000000
- S 0 0 0.000000 0.000000 3.750000 0.000000
- S 0 0 1.875000 1.875000 1.875000 -1.875000
- L 11579568 0.053333 0.000000 0.445774 1.429226 0.445774
- L 11579568 0.053333 0.000000 -0.445774 1.429226 -0.445774
- L 11579568 0.053333 2.320774 0.445774 3.750000 0.445774
- L 11579568 0.053333 2.320774 -0.445774 3.750000 -0.445774
- L 11579568 0.053333 1.429226 1.875000 1.429226 0.445774
- L 11579568 0.053333 2.320774 1.875000 2.320774 0.445774
- L 11579568 0.053333 1.429226 -1.875000 1.429226 -0.445774
- L 11579568 0.053333 2.320774 -1.875000 2.320774 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Crossing 90° w/o 1.25 44841"
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 1.250000 0.000000 90.000000
- E 0.625000 0.625000 0.000000
- E 0.625000 -0.625000 180.000000
- S 0 0 0.000000 0.000000 1.250000 0.000000
- S 0 0 0.625000 0.625000 0.625000 -0.625000
- L 11579568 0.053333 0.000000 0.445774 0.179226 0.445774
- L 11579568 0.053333 0.000000 -0.445774 0.179226 -0.445774
- L 11579568 0.053333 1.070774 0.445774 1.250000 0.445774
- L 11579568 0.053333 1.070774 -0.445774 1.250000 -0.445774
- L 11579568 0.053333 0.179226 0.625000 0.179226 0.445774
- L 11579568 0.053333 1.070774 0.625000 1.070774 0.445774
- L 11579568 0.053333 0.179226 -0.625000 0.179226 -0.445774
- L 11579568 0.053333 1.070774 -0.625000 1.070774 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Straight 1 1/4 44841"
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 1.250000 0.000000 90.000000
- S 0 0 0.000000 0.000000 1.250000 0.000000
- L 11579568 0.053333 0.000000 0.445774 1.250000 0.445774
- L 11579568 0.053333 0.000000 -0.445774 1.250000 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Crossing 60° 44842"
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 2.500000 0.000000 90.000000
- E 1.875000 1.082532 30.000000
- E 0.625000 -1.082532 210.000000
- S 0 0 0.000000 0.000000 2.500000 0.000000
- S 0 0 0.625000 -1.082532 1.875000 1.082532
- L 11579568 0.053333 0.000000 0.445774 0.992632 0.445774
- L 11579568 0.053333 0.000000 -0.445774 0.477897 -0.445774
- L 11579568 0.053333 2.022103 0.445774 2.500000 0.445774
- L 11579568 0.053333 1.507368 -0.445774 2.500000 -0.445774
- L 11579568 0.053333 0.992632 0.445774 1.488948 1.305419
- L 11579568 0.053333 2.261052 0.859645 2.022103 0.445774
- L 11579568 0.053333 0.238948 -0.859645 0.477897 -0.445774
- L 11579568 0.053333 1.011052 -1.305419 1.507368 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Crossing 45° 44843"
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 2.500000 0.000000 90.000000
- E 2.133883 0.883883 45.000000
- E 0.366117 -0.883883 225.000000
- S 0 0 0.000000 0.000000 2.500000 0.000000
- S 0 0 0.366117 -0.883883 2.133883 0.883883
- L 11579568 0.053333 0.000000 0.445774 1.065354 0.445774
- L 11579568 0.053333 0.000000 -0.445774 0.173806 -0.445774
- L 11579568 0.053333 2.326194 0.445774 2.500000 0.445774
- L 11579568 0.053333 1.434646 -0.445774 2.500000 -0.445774
- L 11579568 0.053333 1.065354 0.445774 1.818674 1.199093
- L 11579568 0.053333 2.449093 0.568674 2.326194 0.445774
- L 11579568 0.053333 0.050907 -0.568674 0.173806 -0.445774
- L 11579568 0.053333 0.681326 -1.199093 1.434646 -0.445774
- END
-TURNOUT N "Bachmann EZ Track Crossing 30° 44840"
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 3.500000 0.000000 90.000000
- E 3.265544 0.875000 60.000000
- E 0.234456 -0.875000 240.000000
- S 0 0 0.000000 0.000000 3.500000 0.000000
- S 0 0 0.234456 -0.875000 3.265544 0.875000
- L 11579568 0.053333 0.000000 0.445774 1.630555 0.445774
- L 11579568 0.053333 1.869445 -0.445774 3.500000 -0.445774
- L 11579568 0.053333 1.630555 0.445774 3.042657 1.261052
- L 11579568 0.053333 0.457343 -1.261052 1.869445 -0.445774
- END
+CONTENTS Bachmann EZ Track N Scale
+#
+SUBCONTENTS Bachmann EZ Track - Straight Tracks
+TURNOUT N "Bachmann EZ Track Straight 30" 44887"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 30.00000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 30.000000 0.000000
+ L 11579568 0.053333 0.000000 0.445774 30.000000 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 30.000000 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Straight 15" 44883"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.00000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 10.000000 0.000000
+ L 11579568 0.053333 0.000000 0.445774 10.000000 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 10.000000 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Straight 10" 44815"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.00000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 10.000000 0.000000
+ L 11579568 0.053333 0.000000 0.445774 10.000000 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 10.000000 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Terminal Str 10" 44897"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.00000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 10.000000 0.000000
+ L 11579568 0.053333 0.000000 0.445774 10.000000 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 10.000000 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Rerailer Str 10" 44820"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 10.00000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 10.000000 0.000000
+ L 11579568 0.053333 0.000000 0.445774 10.000000 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 10.000000 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Straight 5" 44811"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 5.000000 0.000000
+ L 11579568 0.053333 0.000000 0.445774 5.000000 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 5.000000 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Elec.Auto-Reversing Straight 5" 44848"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.000000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 5.000000 0.000000
+ L 11579568 0.053333 0.000000 0.445774 5.000000 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 5.000000 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Straight 4 1/2 44829A"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.500000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.500000 0.000000
+ L 11579568 0.053333 0.000000 0.445774 4.500000 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 4.500000 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Straight 2 1/4 44829B"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.250000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.250000 0.000000
+ L 11579568 0.053333 0.000000 0.445774 2.250000 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 2.250000 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Straight 1 1/8 44829C"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.125000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 1.125000 0.000000
+ L 11579568 0.053333 0.000000 0.445774 1.125000 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 1.125000 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Straight 1 1/2 44899A"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.500000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 1.500000 0.000000
+ L 11579568 0.053333 0.000000 0.445774 1.500000 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 1.500000 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Straight 1 1/4 44899B"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.250000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 1.250000 0.000000
+ L 11579568 0.053333 0.000000 0.445774 1.250000 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 1.250000 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Straight 7/8 44899C"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.875000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 0.875000 0.000000
+ L 11579568 0.053333 0.000000 0.445774 0.875000 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 0.875000 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Straight 3/4 44899D"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.750000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 0.750000 0.000000
+ L 11579568 0.053333 0.000000 0.445774 0.750000 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 0.750000 -0.445774
+ END
+
+SUBCONTENTS Bachmann EZ Track - Curved Tracks
+TURNOUT N "Bachmann EZ Track Curve 11.25R 30 44801"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.625000 -1.507214 120.000000
+ C 0 0 11.250000 0.000000 -11.250000 0.000000 30.000000
+ A 11579568 0.053333 10.804226 0.000000 -11.250000 0.000000 30.000000
+ A 11579568 0.053333 11.695774 0.000000 -11.250000 0.000000 30.000000
+ END
+TURNOUT N "Bachmann EZ Track Curve 11.25R 15 44821"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.911712 -0.383334 105.000000
+ C 0 0 11.250000 0.000000 -11.250000 0.000000 15.000000
+ A 11579568 0.053333 11.695774 0.000000 -11.250000 0.000000 15.000000
+ A 11579568 0.053333 10.804226 0.000000 -11.250000 0.000000 15.000000
+ END
+TURNOUT N "Bachmann EZ Track Curve 11.25R 7.5 44831"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.468418 -0.096245 97.500000
+ C 0 0 11.250000 0.000000 -11.250000 0.000000 7.500000
+ A 11579568 0.053333 11.695774 0.000000 -11.250000 0.000000 7.500000
+ A 11579568 0.053333 10.804226 0.000000 -11.250000 0.000000 7.500000
+ END
+TURNOUT N "Bachmann EZ Track Curve 12.5R 30 44852"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 6.250000 -1.674682 120.000000
+ C 0 0 12.500000 0.000000 -12.500000 0.000000 30.000000
+ A 11579568 0.053333 12.054226 0.000000 -12.500000 0.000000 30.000000
+ A 11579568 0.053333 12.945774 0.000000 -12.500000 0.000000 30.000000
+ END
+TURNOUT N "Bachmann EZ Track Half-Curve 12.5R 15 44822"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.235238 -0.425927 105.000000
+ C 0 0 12.500000 0.000000 -12.500000 0.000000 15.000000
+ A 11579568 0.053333 12.054226 0.000000 -12.500000 0.000000 15.000000
+ A 11579568 0.053333 12.945774 0.000000 -12.500000 0.000000 15.000000
+ END
+TURNOUT N "Bachmann EZ Track Curve 12.5R 7.5 44832"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.631576 -0.106939 97.500000
+ C 0 0.000000 12.500000 0.000000 -12.500000 0.000000 7.500000
+ A 11579568 0.053333 12.945774 0.000000 -12.500000 0.000000 7.500000
+ A 11579568 0.053333 12.054226 0.000000 -12.500000 0.000000 7.500000
+ END
+TURNOUT N "Bachmann EZ Track Curve 14R 30 44853"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 6.999995 -1.875641 120.000000
+ C 0 0 14.000000 0.000000 -14.000000 0.000000 30.000000
+ A 11579568 0.053333 13.554226 0.000000 -14.000000 0.000000 30.000000
+ A 11579568 0.053333 14.445774 0.000000 -14.000000 0.000000 30.000000
+ END
+TURNOUT N "Bachmann EZ Track Half-Curve 14R 15 44823"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.623464 -0.477038 105.000000
+ C 0 0 14.000000 0.000000 -14.000000 0.000000 15.000000
+ A 11579568 0.053333 13.554226 0.000000 -14.000000 0.000000 15.000000
+ A 11579568 0.053333 14.445774 0.000000 -14.000000 0.000000 15.000000
+ END
+TURNOUT N "Bachmann EZ Track Curve 15.5R 30 44854"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 7.749994 -2.076603 120.000000
+ C 0 0.000000 15.500000 0.000000 -15.500000 0.000000 30.000000
+ A 11579568 0.053333 15.945774 0.000000 -15.500000 0.000000 30.000000
+ A 11579568 0.053333 15.054226 0.000000 -15.500000 0.000000 30.000000
+ END
+TURNOUT N "Bachmann EZ Track Curve 15.5R 15 44824"
+ U "Curved Section" "" "Bachmann EZ Track" "Curve 15.5R 15" "44824" 15.500000 15.000000 0.891548 0.010417 0
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.011692 -0.528149 105.000000
+ C 0 0.000000 15.500000 0.000000 -15.500000 0.000000 15.000000
+ A 11579568 0.053333 15.945774 0.000000 -15.500000 0.000000 15.000000
+ A 11579568 0.053333 15.054226 0.000000 -15.500000 0.000000 15.000000
+ END
+TURNOUT N "Bachmann EZ Track Curve 15.5R 7.5 44834"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.023154 -0.132604 97.500000
+ C 0 0.000000 15.500000 0.000000 -15.500000 0.000000 7.500000
+ A 11579568 0.053333 15.945774 0.000000 -15.500000 0.000000 7.500000
+ A 11579568 0.053333 15.054226 0.000000 -15.500000 0.000000 7.500000
+ END
+TURNOUT N "Bachmann EZ Track Curve 17.5R 15 44855"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.529330 -0.596297 105.000000
+ C 0 0.000000 17.500000 0.000000 -17.500000 0.000000 15.000000
+ A 11579568 0.053333 17.945774 0.000000 -17.500000 0.000000 15.000000
+ A 11579568 0.053333 17.054226 0.000000 -17.500000 0.000000 15.000000
+ END
+TURNOUT N "Bachmann EZ Track Curve 17.5R 7.5 44825"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.284206 -0.149715 97.500000
+ C 0 0.000000 17.500000 0.000000 -17.500000 0.000000 7.500000
+ A 11579568 0.053333 17.945774 0.000000 -17.500000 0.000000 7.500000
+ A 11579568 0.053333 17.054226 0.000000 -17.500000 0.000000 7.500000
+ END
+TURNOUT N "Bachmann EZ Track Curve 17.5R 3.75 44835"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.144554 -0.037469 93.750000
+ C 0 0.000000 -17.500000 0.000000 -17.500000 0.000000 3.750000
+ A 11579568 0.053333 17.945774 0.000000 -17.500000 0.000000 3.750000
+ A 11579568 0.053333 17.054226 0.000000 -17.500000 0.000000 3.750000
+ END
+TURNOUT N "Bachmann EZ Track Curve 19R 15 44804"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.917562 -0.647409 105.000000
+ C 0 0 19.000000 -0.000000 -19.000000 0.000000 15.000000
+ A 11579568 0.053333 18.554226 0.000000 -19.000000 0.000000 15.000000
+ A 11579568 0.053333 19.445774 0.000000 -19.000000 0.000000 15.000000
+ END
+TURNOUT N "Bachmann EZ Track Half-Curve 19R 7.5 44856"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.479998 -0.162548 97.500000
+ C 0 0 19.000000 -0.000000 -19.000000 0.000000 7.500000
+ A 11579568 0.053333 18.554226 0.000000 -19.000000 0.000000 7.500000
+ A 11579568 0.053333 19.445774 0.000000 -19.000000 0.000000 7.500000
+ END
+TURNOUT N "Bachmann EZ Track Curve 19R 3.75 44836"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.242658 -0.040680 93.750000
+ C 0 0.000000 19.000000 0.000000 -19.000000 0.000000 3.750000
+ A 11579568 0.053333 19.445774 0.000000 -19.000000 0.000000 3.750000
+ A 11579568 0.053333 18.554226 0.000000 -19.000000 0.000000 3.750000
+ END
+TURNOUT N "Bachmann EZ Track Terminal/Rerailer Curve 11.25R 30 44802"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.625000 -1.507214 120.000000
+ C 0 0 11.250000 0.000000 -11.250000 0.000000 30.000000
+ A 11579568 0.053333 10.804226 0.000000 -11.250000 0.000000 30.000000
+ A 11579568 0.053333 11.695774 0.000000 -11.250000 0.000000 30.000000
+ END
+TURNOUT N "Bachmann EZ Track Elec.Auto-Reversing Curve 11.25R 30 44849"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.625000 -1.507214 120.000000
+ C 0 0 11.250000 0.000000 -11.250000 0.000000 30.000000
+ A 11579568 0.053333 10.804226 0.000000 -11.250000 0.000000 30.000000
+ A 11579568 0.053333 11.695774 0.000000 -11.250000 0.000000 30.000000
+ END
+
+SUBCONTENTS Bachmann EZ Track - Bumper Track
+TURNOUT N "Bachmann EZ Track Hayes Bumper 44891"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ S 0 0.000000 0.000000 0.000000 1.250000 0.000000
+ L 11579568 0.053333 0.000000 0.4457740 1.250000 0.4457740
+ L 11579568 0.053333 0.000000 -0.4457740 1.250000 -0.4457740
+ L 11579568 0.053333 1.250000 0.4457740 1.250000 -0.4457740
+ L 0 0.053333 1.026667 0.080227 1.200000 0.080227
+ L 0 0.053333 1.200000 0.080227 1.200000 -0.093107
+ L 0 0.053333 1.200000 -0.093107 1.026667 -0.093107
+ L 0 0.053333 1.026667 -0.093107 1.026667 0.080227
+ L 0 0.053333 0.800000 0.080227 0.800000 -0.093107
+ L 0 0.040000 0.826667 -0.066440 1.146667 -0.453107
+ L 0 0.040000 0.826667 0.066893 1.160000 0.440227
+ L 0 0.040000 0.826667 -0.093107 0.573333 -0.453107
+ L 0 0.040000 0.840000 0.080227 0.586667 0.440227
+ L 0 0.053333 0.746667 -0.106440 0.746667 0.106893
+ END
+
+SUBCONTENTS Bachmann EZ Track - Turnouts
+TURNOUT N "Bachmann EZ Track Turnout Left 44861"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 5.000000 0.000000 90.000000
+ E 5.625000 1.507214 60.000000
+ S 0 0 0.000000 0.000000 5.000000 0.000000
+ C 0 0 11.250000 0.000000 11.250000 150.000000 30.000000
+ L 11579568 0.053333 0.000000 -0.445774 5.000000 -0.445774
+ A 11579568 0.053333 10.804226 0.000000 11.250000 150.000000 30.000000
+ END
+TURNOUT N "Bachmann EZ Track Turnout Right 44862"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 5.000000 0.000000 90.000000
+ E 5.625000 -1.507214 120.000000
+ S 0 0 0.000000 0.000000 5.000000 0.000000
+ C 0 0 11.250000 0.000000 -11.250000 0.000000 30.000000
+ L 11579568 0.053333 0.000000 0.445774 5.000000 0.445774
+ A 11579568 0.053333 10.804226 0.000000 -11.250000 0.000000 30.000000
+ END
+TURNOUT N "Bachmann EZ Track #4 Turnout Left 44863"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 6.250000 0.000000 90.000000
+ E 6.140000 0.870000 75.522476
+ S 0 0.000000 0.000000 0.000000 0.354300 0.000000
+ S 0 0.000000 0.354300 0.000000 6.250000 0.000000
+ C 0 0.000000 -19.022995 0.354325 19.022995 165.522400 14.477676
+ S 0 0.000000 5.110098 0.604072 6.140000 0.870000
+ L 11579568 0.053333 -0.000001 -0.445774 6.249999 -0.445766 0
+ L 11579568 0.053333 0.000000 0.445774 0.354300 0.445774 0
+ A 11579568 0.053333 18.577221 0.354325 19.022995 165.522400 14.477676
+ L 11579568 0.053333 4.998651 1.035690 6.028554 1.301618 0
+ END
+TURNOUT N "Bachmann EZ Track #4 Turnout Curve 11.25R 14 44863/64"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.721619 -0.334173 104.000000
+ C 0 0 11.250000 0.000000 -11.250000 0.000000 14.000000
+ A 11579568 0.053333 11.695774 0.000000 -11.250000 0.000000 14.000000
+ A 11579568 0.053333 10.804226 0.000000 -11.250000 0.000000 14.000000
+ END
+TURNOUT N "Bachmann EZ Track #4 Turnout Right 44864"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 6.250000 0.000000 90.000000
+ E 6.140000 -0.870000 104.477524
+ S 0 0.000000 0.000000 0.000000 0.354300 0.000000
+ S 0 0.000000 0.354300 0.000000 6.250000 0.000000
+ C 0 0.000000 19.022995 0.354224 -19.022995 0.000076 14.477676
+ S 0 0.000000 5.110098 -0.604072 6.140000 -0.870000
+ L 11579568 0.053333 -0.000001 -0.445774 0.354299 -0.445774 0
+ L 11579568 0.053333 0.000000 0.445774 6.250000 0.445782 0
+ A 11579568 0.053333 18.577221 0.354224 -19.022995 0.000076 14.477676
+ L 11579568 0.053333 4.998649 -1.035689 6.028551 -1.301618 0
+ END
+TURNOUT N "Bachmann EZ Track #6 Turnout Left 44859"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 8.870000 0.000000 90.000000
+ E 8.790000 1.050000 80.405924
+ S 0 0.000000 0.000000 0.000000 0.354300 0.000000
+ S 0 0.000000 0.354300 0.000000 8.870000 0.000000
+ C 0 0.000000 -26.500010 0.354335 26.500010 170.405848 9.594228
+ S 0 0.000000 4.771038 0.370659 8.790000 1.050000
+ L 11579568 0.053333 -0.000001 -0.445774 8.869999 -0.445763 0
+ L 11579568 0.053333 0.000000 0.445774 0.354300 0.445774 0
+ L 11579568 0.053333 7.805537 0.445784 8.870000 0.445785 0
+ A 11579568 0.053333 26.054236 0.354335 26.500010 170.405848 9.594228
+ L 11579568 0.053333 7.859557 0.440626 8.864298 0.610461 0
+ L 11579568 0.053333 4.696741 0.810198 8.715704 1.489539 0
+ END
+TURNOUT N "Bachmann EZ Track #6 Turnout Curve 14R 9.46 44859/60"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.301024 -0.190391 99.460000
+ C 0 0.000000 14.000000 0.000000 -14.000000 0.000000 9.460000
+ A 11579568 0.053333 14.445774 0.000000 -14.000000 0.000000 9.460000
+ A 11579568 0.053333 13.554226 0.000000 -14.000000 0.000000 9.460000
+ END
+TURNOUT N "Bachmann EZ Track #6 Turnout Right 44860"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 8.870000 0.000000 90.000000
+ E 8.790000 -1.050000 99.594076
+ S 0 0.000000 0.000000 0.000000 0.354300 0.000000
+ S 0 0.000000 0.354300 0.000000 8.870000 0.000000
+ C 0 0.000000 26.500010 0.354195 -26.500010 0.000076 9.594228
+ S 0 0.000000 4.771038 -0.370659 8.790000 -1.050000
+ L 11579568 0.053333 -0.000001 -0.445774 0.354299 -0.445774 0
+ L 11579568 0.053333 0.000000 0.445774 8.870000 0.445785 0
+ L 11579568 0.053333 7.805536 -0.445764 8.869999 -0.445763 0
+ A 11579568 0.053333 26.054236 0.354195 -26.500010 0.000076 9.594228
+ L 11579568 0.053333 4.696739 -0.810198 8.715701 -1.489539 0
+ L 11579568 0.053333 7.859557 -0.440626 8.864298 -0.610461 0
+ END
+TURNOUT N "Bachmann EZ Track #6 Wye Turnout 44869"
+ P "Left" 1 2 3
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 8.400000 0.550000 80.405924
+ E 8.400000 -0.550000 99.594076
+ S 0 0.000000 0.000000 0.000000 2.200590 0.000000
+ C 0 0.000000 -35.100399 2.200636 35.100399 170.405848 9.594228
+ S 0 0.000000 8.050748 0.490954 8.400000 0.550000
+ C 0 0.000000 35.100399 2.200450 -35.100399 0.000076 9.594228
+ S 0 0.000000 8.050748 -0.490954 8.400000 -0.550000
+ L 11579568 0.053333 -0.000001 -0.445774 2.200588 -0.445771 0
+ L 11579568 0.053333 0.000000 0.445774 2.200590 0.445777 0
+ A 11579568 0.053333 35.546173 2.200636 35.100399 170.405848 0.599639
+ A 11579568 0.053333 34.654625 2.200636 35.100399 170.405848 9.594228
+ L 11579568 0.053333 8.125058 0.051418 8.474310 0.110463 0
+ L 11579568 0.053333 7.976439 0.930491 8.325691 0.989537 0
+ A 11579568 0.053333 35.546173 2.200450 -35.100399 8.994665 0.599639
+ A 11579568 0.053333 34.654625 2.200450 -35.100399 0.000076 9.594228
+ L 11579568 0.053333 7.976437 -0.930491 8.325689 -0.989536 0
+ L 11579568 0.053333 8.125058 -0.051418 8.474310 -0.110463 0
+ END
+TURNOUT N "Bachmann EZ Track Wye Turnout Curve 19R 4.75 44869D"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.573355 -0.065255 94.750000
+ C 0 0.000000 19.000000 0.000000 -19.000000 0.000000 4.750000
+ A 11579568 0.053333 19.445774 0.000000 -19.000000 0.000000 4.750000
+ A 11579568 0.053333 18.554226 0.000000 -19.000000 0.000000 4.750000
+ END
+TURNOUT N "Bachmann EZ Track #6 Left Crossover Turnout 44875"
+ P "Normal" 1 2 0 3 4
+ P "Reverse" 1 5 6 7 4
+ E 0.000000 0.000000 270.000000
+ E 12.700000 0.000000 90.000000
+ E 0.000000 1.250000 270.000000
+ E 12.700000 1.250000 90.000000
+ S 0 0.000000 0.000000 0.000000 0.644225 0.000000
+ S 0 0.000000 0.644225 0.000000 12.700000 0.000000
+ S 0 0.000000 0.000000 1.250000 12.055775 1.250000
+ S 0 0.000000 12.055775 1.250000 12.700000 1.250000
+ C 0 0.000000 -26.257128 0.644259 26.257128 168.223421 11.776655
+ S 0 0.000000 6.003227 0.552695 6.696773 0.697305
+ C 0 0.000000 26.257128 12.055809 -25.007121 348.223421 11.776655
+ L 11579568 0.053333 -0.000001 -0.445774 12.699999 -0.445758 0
+ L 11579568 0.053333 0.000000 0.445774 0.644225 0.445775 0
+ L 11579568 0.053333 7.802341 0.445783 12.700000 0.445790 0
+ L 11579568 0.053333 -0.000001 0.804226 4.897658 0.804232 0
+ L 11579568 0.053333 0.000000 1.695774 12.700000 1.695775 0
+ L 11579568 0.053333 12.055774 0.804226 12.699999 0.804227 0
+ A 11579568 0.053333 25.811354 0.644259 26.257128 170.431544 9.568532
+ A 11579568 0.053333 25.811354 12.055809 -25.007121 350.431544 9.568532
+ END
+TURNOUT N "Bachmann EZ Track #6 Right Crossover Turnout 44876"
+ P "Normal" 1 2 0 3 4
+ P "Reverse" 3 5 6 7 2
+ E 0.000000 0.000000 270.000000
+ E 12.700000 0.000000 90.000000
+ E 0.000000 1.250000 270.000000
+ E 12.700000 1.250000 90.000000
+ S 0 0.000000 0.000000 0.000000 12.055775 0.000000
+ S 0 0.000000 12.055775 0.000000 12.700000 0.000000
+ S 0 0.000000 0.000000 1.250000 0.644225 1.250000
+ S 0 0.000000 0.644225 1.250000 12.700000 1.250000
+ C 0 0.000000 26.257128 0.644120 -25.007128 0.000076 11.776655
+ S 0 0.000000 6.003227 0.697305 6.696773 0.552695
+ C 0 0.000000 -26.257128 12.055809 26.257121 180.000076 11.776655
+ L 11579568 0.053333 -0.000001 -0.445774 12.699999 -0.445773 0
+ L 11579568 0.053333 0.000000 0.445774 4.897659 0.445780 0
+ L 11579568 0.053333 12.055775 0.445774 12.700000 0.445775 0
+ L 11579568 0.053333 -0.000001 0.804226 0.644223 0.804227 0
+ L 11579568 0.053333 0.000000 1.695774 12.700000 1.695790 0
+ L 11579568 0.053333 7.802340 0.804235 12.699999 0.804242 0
+ A 11579568 0.053333 25.811354 0.644120 -25.007128 0.000076 9.568532
+ A 11579568 0.053333 25.811354 12.055809 26.257121 180.000076 9.568532
+ END
+
+
+SUBCONTENTS Bachmann EZ Track - Crossings
+TURNOUT N "Bachmann EZ Track Crossing 90 w/1.25 44841"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 3.750000 0.000000 90.000000
+ E 1.875000 1.875000 0.000000
+ E 1.875000 -1.875000 180.000000
+ S 0 0 0.000000 0.000000 3.750000 0.000000
+ S 0 0 1.875000 1.875000 1.875000 -1.875000
+ L 11579568 0.053333 0.000000 0.445774 1.429226 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 1.429226 -0.445774
+ L 11579568 0.053333 2.320774 0.445774 3.750000 0.445774
+ L 11579568 0.053333 2.320774 -0.445774 3.750000 -0.445774
+ L 11579568 0.053333 1.429226 1.875000 1.429226 0.445774
+ L 11579568 0.053333 2.320774 1.875000 2.320774 0.445774
+ L 11579568 0.053333 1.429226 -1.875000 1.429226 -0.445774
+ L 11579568 0.053333 2.320774 -1.875000 2.320774 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Crossing 90 w/o 1.25 44841"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 1.250000 0.000000 90.000000
+ E 0.625000 0.625000 0.000000
+ E 0.625000 -0.625000 180.000000
+ S 0 0 0.000000 0.000000 1.250000 0.000000
+ S 0 0 0.625000 0.625000 0.625000 -0.625000
+ L 11579568 0.053333 0.000000 0.445774 0.179226 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 0.179226 -0.445774
+ L 11579568 0.053333 1.070774 0.445774 1.250000 0.445774
+ L 11579568 0.053333 1.070774 -0.445774 1.250000 -0.445774
+ L 11579568 0.053333 0.179226 0.625000 0.179226 0.445774
+ L 11579568 0.053333 1.070774 0.625000 1.070774 0.445774
+ L 11579568 0.053333 0.179226 -0.625000 0.179226 -0.445774
+ L 11579568 0.053333 1.070774 -0.625000 1.070774 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Straight 1 1/4 44841"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.250000 0.000000 90.000000
+ S 0 0 0.000000 0.000000 1.250000 0.000000
+ L 11579568 0.053333 0.000000 0.445774 1.250000 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 1.250000 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Crossing 60 44842"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 2.500000 0.000000 90.000000
+ E 1.875000 1.082532 30.000000
+ E 0.625000 -1.082532 210.000000
+ S 0 0 0.000000 0.000000 2.500000 0.000000
+ S 0 0 0.625000 -1.082532 1.875000 1.082532
+ L 11579568 0.053333 0.000000 0.445774 0.992632 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 0.477897 -0.445774
+ L 11579568 0.053333 2.022103 0.445774 2.500000 0.445774
+ L 11579568 0.053333 1.507368 -0.445774 2.500000 -0.445774
+ L 11579568 0.053333 0.992632 0.445774 1.488948 1.305419
+ L 11579568 0.053333 2.261052 0.859645 2.022103 0.445774
+ L 11579568 0.053333 0.238948 -0.859645 0.477897 -0.445774
+ L 11579568 0.053333 1.011052 -1.305419 1.507368 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Crossing 45 44843"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 2.500000 0.000000 90.000000
+ E 2.133883 0.883883 45.000000
+ E 0.366117 -0.883883 225.000000
+ S 0 0 0.000000 0.000000 2.500000 0.000000
+ S 0 0 0.366117 -0.883883 2.133883 0.883883
+ L 11579568 0.053333 0.000000 0.445774 1.065354 0.445774
+ L 11579568 0.053333 0.000000 -0.445774 0.173806 -0.445774
+ L 11579568 0.053333 2.326194 0.445774 2.500000 0.445774
+ L 11579568 0.053333 1.434646 -0.445774 2.500000 -0.445774
+ L 11579568 0.053333 1.065354 0.445774 1.818674 1.199093
+ L 11579568 0.053333 2.449093 0.568674 2.326194 0.445774
+ L 11579568 0.053333 0.050907 -0.568674 0.173806 -0.445774
+ L 11579568 0.053333 0.681326 -1.199093 1.434646 -0.445774
+ END
+TURNOUT N "Bachmann EZ Track Crossing 30 44840"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 3.500000 0.000000 90.000000
+ E 3.265544 0.875000 60.000000
+ E 0.234456 -0.875000 240.000000
+ S 0 0 0.000000 0.000000 3.500000 0.000000
+ S 0 0 0.234456 -0.875000 3.265544 0.875000
+ L 11579568 0.053333 0.000000 0.445774 1.630555 0.445774
+ L 11579568 0.053333 1.869445 -0.445774 3.500000 -0.445774
+ L 11579568 0.053333 1.630555 0.445774 3.042657 1.261052
+ L 11579568 0.053333 0.457343 -1.261052 1.869445 -0.445774
+ END
+
+
+SUBCONTENTS Bachmann EZ Track - Turntable
+TURNOUT N "Bachmann Turntable 25.71d 12Pos 46799" 512
+ P "1" 1 2 3
+ P "2" 4 5 6
+ P "3" 7 8 9
+ P "4" 10 11 12
+ P "5" 13 14 15
+ P "6" 16 17
+ P "7" 18 19
+ E 0.000000 3.750000 0.000000
+ E 1.627064 3.378633 25.714286
+ E 2.931868 2.338087 51.428571
+ E 3.655980 0.834454 77.142857
+ E 3.655980 -0.834454 102.857143
+ E 2.931868 -2.338087 128.571429
+ E 1.627064 -3.378633 154.285714
+ E 0.000000 -3.750000 180.000000
+ E -1.627064 -3.378633 205.714286
+ E -2.931868 -2.338087 231.428571
+ E -3.655980 -0.834454 257.142857
+ E -3.655980 0.834454 282.857143
+ S 0 0 0.000000 3.750000 0.000000 2.750000
+ S 16777215 0 0.000000 2.750000 0.000000 -2.750000
+ S 0 0 0.000000 -2.750000 0.000000 -3.750000
+ S 0 0 1.627064 3.378633 1.193180 2.477664
+ S 16777215 0 1.193180 2.477664 -1.193180 -2.477664
+ S 0 0 -1.193180 -2.477664 -1.627064 -3.378633
+ S 0 0 2.931868 2.338087 2.150037 1.714597
+ S 16777215 0 2.150037 1.714597 -2.150037 -1.714597
+ S 0 0 -2.150037 -1.714597 -2.931868 -2.338087
+ S 0 0 3.655980 0.834454 2.681052 0.611933
+ S 16777215 0 2.681052 0.611933 -2.681052 -0.611933
+ S 0 0 -2.681052 -0.611933 -3.655980 -0.834454
+ S 0 0 3.655980 -0.834454 2.681052 -0.611933
+ S 16777215 0 2.681052 -0.611933 -2.681052 0.611933
+ S 0 0 -2.681052 0.611933 -3.655980 0.834454
+ S 0 0 2.931868 -2.338087 2.150037 -1.714597
+ S 16777215 0 2.150037 -1.714597 -2.150037 1.714597
+ S 0 0 1.627064 -3.378633 1.193180 -2.477664
+ S 16777215 0 1.193180 -2.477664 -1.193180 2.477664
+ A3 8424071 0.031250 2.750000 0.000000 0.000000 0 0.000000 360.000000
+ A3 8424071 0.031250 2.250000 0.000000 0.000000 0 0.000000 360.000000
+ L3 8424071 0.031250 -1.231834 3.750000 0 0.855913 3.750000 0
+ L3 8424071 0.031250 0.855913 3.750000 0 2.398215 3.007267 0
+ L3 8424071 0.031250 2.398215 3.007267 0 3.465521 1.668907 0
+ L3 8424071 0.031250 3.465521 1.668907 0 3.846438 0.000000 0
+ L3 8424071 0.031250 3.846438 0.000000 0 3.465521 -1.668907 0
+ L3 8424071 0.031250 3.465521 -1.668907 0 2.398215 -3.007267 0
+ L3 8424071 0.031250 2.398215 -3.007267 0 0.855913 -3.750000 0
+ L3 8424071 0.031250 0.855913 -3.750000 0 -0.855913 -3.750000 0
+ L3 8424071 0.031250 -0.855913 -3.750000 0 -2.398215 -3.007267 0
+ L3 8424071 0.031250 -2.398215 -3.007267 0 -3.465521 -1.668907 0
+ L3 8424071 0.031250 -3.465521 -1.668907 0 -3.846438 0.000000 0
+ L3 8424071 0.031250 -3.846438 0.000000 0 -3.381871 2.035403 0
+ L3 8424071 0.031250 -3.381871 2.035403 0 -4.192467 3.051859 0
+ L3 8424071 0.031250 -4.192467 3.051859 0 -2.042431 4.766456 0
+ L3 8424071 0.031250 -2.042431 4.766456 0 -1.231834 3.750000 0
+ F4 13882323 0.000000 4 0
+ -0.893180 3.124857 0
+ -2.847759 1.566132 0
+ -4.016802 3.032066 0
+ -2.062223 4.590791 0
+ L3 8424071 0.031250 -0.893180 3.124857 0 -2.847759 1.566132 0
+ L3 8424071 0.031250 -2.847759 1.566132 0 -4.016802 3.032066 0
+ L3 8424071 0.031250 -4.016802 3.032066 0 -2.062223 4.590791 0
+ L3 8424071 0.031250 -2.062223 4.590791 0 -0.893180 3.124857 0
+END$SEGS
+
+
diff --git a/app/lib/params/N-Bonus Generic Industrial Structures.xtp b/app/lib/params/N-Bonus Generic Industrial Structures.xtp
index 5289af6..d981e06 100644
--- a/app/lib/params/N-Bonus Generic Industrial Structures.xtp
+++ b/app/lib/params/N-Bonus Generic Industrial Structures.xtp
@@ -193,7 +193,7 @@ STRUCTURE N "Bonus Industrial G GIS07"
L 0 0.000000 7.500000 3.000000 7.500000 2.750000
END
STRUCTURE N "Bonus Industrial H GIS08"
- F 13066516 0.000000 9
+ F 13066516 0.000000 8
0.000000 0.000000
9.500000 0.000000
9.500000 5.600000
diff --git a/app/lib/params/N-BritishFinescaleFineTraxC40.xtp b/app/lib/params/N-BritishFinescaleFineTraxC40.xtp
index 5304685..6a42d37 100644
--- a/app/lib/params/N-BritishFinescaleFineTraxC40.xtp
+++ b/app/lib/params/N-BritishFinescaleFineTraxC40.xtp
@@ -304,9 +304,11 @@ TURNOUT N "British Finescale Code 40 FineTrax FineTrax OS8 Single Slipswitch 226
END
SUBCONTENTS British Finescale Code 40 FineTrax - Double Slip Switches
-TURNOUT N "British Finescale Code 40 FineTrax FineTrax DS6 Double Slipswicth 160.2mm 2MDS6"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT N "British Finescale Code 40 FineTrax FineTrax DS6 Double Slipswicth 160.2mm 2MDS6" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 6.307087 0.000000 90.000000
E 0.044107 0.525586 279.594076
@@ -320,9 +322,11 @@ TURNOUT N "British Finescale Code 40 FineTrax FineTrax DS6 Double Slipswicth 160
C 0 0.000000 29.133317 0.708622 -29.133317 0.000076 9.594228
C 0 0.000000 -29.133317 5.598386 29.133310 180.000076 9.594228
END
-TURNOUT N "British Finescale Code 40 FineTrax FineTrax DS7 Double Slipswitch 179.6mm 2MDS7"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT N "British Finescale Code 40 FineTrax FineTrax DS7 Double Slipswitch 179.6mm 2MDS7" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 7.070866 0.000000 90.000000
E 0.036261 0.505057 278.213218
@@ -336,9 +340,11 @@ TURNOUT N "British Finescale Code 40 FineTrax FineTrax DS7 Double Slipswitch 179
C 0 0.000000 39.371434 0.708626 -39.371434 0.000076 8.213370
C 0 0.000000 -39.371434 6.362135 39.371426 180.000076 8.213370
END
-TURNOUT N "British Finescale Code 40 FineTrax FineTrax DS8 Double Slipswitch 200.2mm 2MDS8"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT N "British Finescale Code 40 FineTrax FineTrax DS8 Double Slipswitch 200.2mm 2MDS8" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 7.881890 0.000000 90.000000
E 0.030909 0.492613 277.180762
diff --git a/app/lib/params/N-Kato Track and Structures.xtp b/app/lib/params/N-Kato Track and Structures.xtp
index eaa1b59..934436a 100644
--- a/app/lib/params/N-Kato Track and Structures.xtp
+++ b/app/lib/params/N-Kato Track and Structures.xtp
@@ -182,7 +182,7 @@ TURNOUT N "Kato Unitrack Open Pit Track 7 5/16 186mm 20-016"
##########################################################################
SUBCONTENTS Kato Unitrack N-Scale Curved Track
-TURNOUT N "Kato Unitrack Curve 4.625R 117mm 45� 20-176"
+TURNOUT N "Kato Unitrack Curve 4.625R 117mm 45° 20-176"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.257145 -1.349154 135.000000
@@ -190,7 +190,7 @@ TURNOUT N "Kato Unitrack Curve 4.625R 117mm 45� 20-176"
A 11579568 0.053333 4.114173 0.000000 -4.606299 0.000000 45.000000
A 11579568 0.053333 5.098425 0.000000 -4.606299 0.000000 45.000000
END
-TURNOUT N "Kato Unitrack Curve 5.905R 150mm 45� 20-174"
+TURNOUT N "Kato Unitrack Curve 5.905R 150mm 45° 20-174"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.175827 -1.729684 135.000000
@@ -198,7 +198,7 @@ TURNOUT N "Kato Unitrack Curve 5.905R 150mm 45� 20-174"
A 11579568 0.053333 5.413386 0.000000 -5.905512 0.000000 45.000000
A 11579568 0.053333 6.397638 0.000000 -5.905512 0.000000 45.000000
END
-TURNOUT N "Kato Unitrack Curve 7.204R 183mm 45� 20-172"
+TURNOUT N "Kato Unitrack Curve 7.204R 183mm 45° 20-172"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 5.094509 -2.110215 135.000000
@@ -206,7 +206,7 @@ TURNOUT N "Kato Unitrack Curve 7.204R 183mm 45� 20-172"
A 11579568 0.053333 6.712598 0.000000 -7.204724 0.000000 45.000000
A 11579568 0.053333 7.696850 0.000000 -7.204724 0.000000 45.000000
END
-TURNOUT N "Kato Unitrack Curve 8.56R 216mm 45� 20-170"
+TURNOUT N "Kato Unitrack Curve 8.56R 216mm 45° 20-170"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.013192 -2.490745 135.000000
@@ -214,7 +214,7 @@ TURNOUT N "Kato Unitrack Curve 8.56R 216mm 45� 20-170"
A 11579568 0.053333 8.011811 0.000000 -8.503937 0.000000 45.000000
A 11579568 0.053333 8.996063 0.000000 -8.503937 0.000000 45.000000
END
-TURNOUT N "Kato Unitrack Curve 8.56R 216mm 15� 20-171"
+TURNOUT N "Kato Unitrack Curve 8.56R 216mm 15° 20-171"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.200981 -0.289765 105.000000
@@ -222,7 +222,7 @@ TURNOUT N "Kato Unitrack Curve 8.56R 216mm 15� 20-171"
A 11579568 0.053333 8.011811 0.000000 -8.503937 0.000000 15.000000
A 11579568 0.053333 8.996063 0.000000 -8.503937 0.000000 15.000000
END
-TURNOUT N "Kato Unitrack Curve 9.75R 249mm 45� 20-100"
+TURNOUT N "Kato Unitrack Curve 9.75R 249mm 45° 20-100"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.931874 -2.871276 135.000000
@@ -230,7 +230,7 @@ TURNOUT N "Kato Unitrack Curve 9.75R 249mm 45� 20-100"
A 11579568 0.053333 9.311024 0.000000 -9.803150 0.000000 45.000000
A 11579568 0.053333 10.295276 0.000000 -9.803150 0.000000 45.000000
END
-TURNOUT N "Kato Unitrack Curve 9.75R 249mm 15� 20-101"
+TURNOUT N "Kato Unitrack Curve 9.75R 249mm 15° 20-101"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.537242 -0.334034 105.000000
@@ -238,7 +238,7 @@ TURNOUT N "Kato Unitrack Curve 9.75R 249mm 15� 20-101"
A 11579568 0.053333 9.311024 0.000000 -9.803150 0.000000 15.000000
A 11579568 0.053333 10.295276 0.000000 -9.803150 0.000000 15.000000
END
-TURNOUT N "Kato Unitrack Curve 11R 282mm 45� 20-110"
+TURNOUT N "Kato Unitrack Curve 11R 282mm 45° 20-110"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.850556 -3.251807 135.000000
@@ -246,7 +246,7 @@ TURNOUT N "Kato Unitrack Curve 11R 282mm 45� 20-110"
A 11579568 0.053333 10.610236 0.000000 -11.102362 0.000000 45.000000
A 11579568 0.053333 11.594488 0.000000 -11.102362 0.000000 45.000000
END
-TURNOUT N "Kato Unitrack Curve 11R 282mm 15� 20-111"
+TURNOUT N "Kato Unitrack Curve 11R 282mm 15° 20-111"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.873503 -0.378304 105.000000
@@ -254,7 +254,7 @@ TURNOUT N "Kato Unitrack Curve 11R 282mm 15� 20-111"
A 11579568 0.053333 10.610236 0.000000 -11.102362 0.000000 15.000000
A 11579568 0.053333 11.594488 0.000000 -11.102362 0.000000 15.000000
END
-TURNOUT N "Kato Unitrack Curve 12.375R 315mm 45� 20-120"
+TURNOUT N "Kato Unitrack Curve 12.375R 315mm 45° 20-120"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 8.769238 -3.632337 135.000000
@@ -262,7 +262,7 @@ TURNOUT N "Kato Unitrack Curve 12.375R 315mm 45� 20-120"
A 11579568 0.053333 11.909449 0.000000 -12.401575 0.000000 45.000000
A 11579568 0.053333 12.893701 0.000000 -12.401575 0.000000 45.000000
END
-TURNOUT N "Kato Unitrack Curve 12.375R 315mm 15� 20-121"
+TURNOUT N "Kato Unitrack Curve 12.375R 315mm 15° 20-121"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.209764 -0.422573 105.000000
@@ -270,7 +270,7 @@ TURNOUT N "Kato Unitrack Curve 12.375R 315mm 15� 20-121"
A 11579568 0.053333 11.909449 0.000000 -12.401575 0.000000 15.000000
A 11579568 0.053333 12.893701 0.000000 -12.401575 0.000000 15.000000
END
-TURNOUT N "Kato Unitrack Curve 13.75R 348mm 30� 20-130"
+TURNOUT N "Kato Unitrack Curve 13.75R 348mm 30° 20-130"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.850394 -1.835557 120.000000
@@ -278,7 +278,7 @@ TURNOUT N "Kato Unitrack Curve 13.75R 348mm 30� 20-130"
A 11579568 0.053333 13.208661 0.000000 -13.700787 0.000000 30.000000
A 11579568 0.053333 14.192913 0.000000 -13.700787 0.000000 30.000000
END
-TURNOUT N "Kato Unitrack Curve 13.75R 348mm 45� 20-132"
+TURNOUT N "Kato Unitrack Curve 13.75R 348mm 45° 20-132"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 9.687920 -4.012868 135.000000
@@ -286,7 +286,7 @@ TURNOUT N "Kato Unitrack Curve 13.75R 348mm 45� 20-132"
A 11579568 0.053333 13.208661 0.000000 -13.700787 0.000000 45.000000
A 11579568 0.053333 14.192913 0.000000 -13.700787 0.000000 45.000000
END
-TURNOUT N "Kato Unitrack Curve 15R 381mm 30� 20-140"
+TURNOUT N "Kato Unitrack Curve 15R 381mm 30° 20-140"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.500000 -2.009619 120.000000
@@ -294,7 +294,7 @@ TURNOUT N "Kato Unitrack Curve 15R 381mm 30� 20-140"
A 11579568 0.053333 14.507874 0.000000 -15.000000 0.000000 30.000000
A 11579568 0.053333 15.492126 0.000000 -15.000000 0.000000 30.000000
END
-TURNOUT N "Kato Unitrack Curve 19R 481mm 15� 20-160"
+TURNOUT N "Kato Unitrack Curve 19R 481mm 15° 20-160"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.901258 -0.645263 105.000000
@@ -302,7 +302,7 @@ TURNOUT N "Kato Unitrack Curve 19R 481mm 15� 20-160"
A 11579568 0.053333 18.444882 -0.000000 -18.937008 0.000000 15.000000
A 11579568 0.053333 19.429134 -0.000000 -18.937008 0.000000 15.000000
END
-TURNOUT N "Kato Unitrack Curve 28.25R 718mm 15� 20-150"
+TURNOUT N "Kato Unitrack Curve 28.25R 718mm 15° 20-150"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.316223 -0.963199 105.000000
@@ -587,7 +587,7 @@ TURNOUT N "Kato Unitrack Dbl Trk Single Crossover (Right) 9.75 248mm 20-231"
L 11579568 0.053333 0.000000 -0.445774 9.763799 -0.445774
L 11579568 0.053333 0.000000 1.744986 9.763799 1.744986
END
-TURNOUT N "Kato Unitrack Crossing 15� X15R 20-301"
+TURNOUT N "Kato Unitrack Crossing 15° X15R 20-301"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 7.322834 0.000000 90.000000
@@ -600,7 +600,7 @@ TURNOUT N "Kato Unitrack Crossing 15� X15R 20-301"
L 11579568 0.053333 0.12 1.43 3.71 0.492126
L 11579568 0.053333 7.20 -1.43 3.62 -0.492126
END
-TURNOUT N "Kato Unitrack Crossing 15� X15L 20-300"
+TURNOUT N "Kato Unitrack Crossing 15° X15L 20-300"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 7.322834 0.000000 90.000000
@@ -613,7 +613,7 @@ TURNOUT N "Kato Unitrack Crossing 15� X15L 20-300"
L 11579568 0.053333 0.12 -1.43 3.71 -0.492126
L 11579568 0.053333 7.20 1.43 3.62 0.492126
END
-TURNOUT N "Kato Unitrack Crossing 90� w/S45.5 20-320"
+TURNOUT N "Kato Unitrack Crossing 90° w/S45.5 20-320"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 4.881889 0.000000 90.000000
@@ -630,7 +630,7 @@ TURNOUT N "Kato Unitrack Crossing 90� w/S45.5 20-320"
L 11579568 0.053333 1.967610 2.440944 1.967610 0.500000
L 11579568 0.053333 2.914278 2.440944 2.914278 0.500000
END
-TURNOUT N "Kato Unitrack Crossing 90� w/o S45.5 20-320"
+TURNOUT N "Kato Unitrack Crossing 90° w/o S45.5 20-320"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 1.299212 0.000000 90.000000
@@ -706,7 +706,7 @@ TURNOUT N "Kato Unitrack Viaduct Straight 2.4375 62mm 20-440"
##########################################################################
SUBCONTENTS Kato Unitrack N-Scale Single Track Viaducts - Curves
-TURNOUT N "Kato Unitrack Viaduct Curve 9.75R 249mm 45� Curve 20-505"
+TURNOUT N "Kato Unitrack Viaduct Curve 9.75R 249mm 45° Curve 20-505"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.931874 -2.871276 135.000000
@@ -714,7 +714,7 @@ TURNOUT N "Kato Unitrack Viaduct Curve 9.75R 249mm 45� Curve 20-505"
A 0 0.053333 9.329810 0.000000 -9.803150 0.000000 45.000000
A 0 0.053333 10.276490 0.000000 -9.803150 0.000000 45.000000
END
-TURNOUT N "Kato Unitrack Viaduct Curve 11R 282mm 45� 20-510"
+TURNOUT N "Kato Unitrack Viaduct Curve 11R 282mm 45° 20-510"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.850556 -3.251807 135.000000
@@ -722,7 +722,7 @@ TURNOUT N "Kato Unitrack Viaduct Curve 11R 282mm 45� 20-510"
A 0 0.053333 10.629022 0.000000 -11.102362 0.000000 45.000000
A 0 0.053333 11.575702 0.000000 -11.102362 0.000000 45.000000
END
-TURNOUT N "Kato Unitrack Viaduct Curve 12.375R 315mm 45� 20-520"
+TURNOUT N "Kato Unitrack Viaduct Curve 12.375R 315mm 45° 20-520"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 8.769238 -3.632337 135.000000
@@ -730,7 +730,7 @@ TURNOUT N "Kato Unitrack Viaduct Curve 12.375R 315mm 45� 20-520"
A 0 0.053333 11.928235 0.000000 -12.401575 0.000000 45.000000
A 0 0.053333 12.874915 0.000000 -12.401575 0.000000 45.000000
END
-TURNOUT N "Kato Unitrack Viaduct Curve 13.75R 348mm 45� 20-530"
+TURNOUT N "Kato Unitrack Viaduct Curve 13.75R 348mm 45° 20-530"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 9.687920 -4.012868 135.000000
@@ -738,7 +738,7 @@ TURNOUT N "Kato Unitrack Viaduct Curve 13.75R 348mm 45� 20-530"
A 0 0.053333 13.227447 0.000000 -13.700787 0.000000 45.000000
A 0 0.053333 14.174127 0.000000 -13.700787 0.000000 45.000000
END
-TURNOUT N "Kato Unitrack Viaduct Curve 13.75R 348mm 30� 20-531"
+TURNOUT N "Kato Unitrack Viaduct Curve 13.75R 348mm 30° 20-531"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.850394 -1.835557 120.000000
@@ -746,7 +746,7 @@ TURNOUT N "Kato Unitrack Viaduct Curve 13.75R 348mm 30� 20-531"
A 0 0.053333 13.227447 0.000000 -13.700787 0.000000 30.000000
A 0 0.053333 14.174127 0.000000 -13.700787 0.000000 30.000000
END
-TURNOUT N "Kato Unitrack Viaduct Curve 15R 381mm 30� 20-540"
+TURNOUT N "Kato Unitrack Viaduct Curve 15R 381mm 30° 20-540"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.500000 -2.009619 120.000000
@@ -795,7 +795,7 @@ TURNOUT N "Kato Unitrack Double Viaduct Straight 4.875 124mm 20-422"
##########################################################################
SUBCONTENTS Kato Unitrack N-Scale CS Double Track Viaducts - Curves
-TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Viaduct Curve 16.3,15R 414/381mm 45� 20-544"
+TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Viaduct Curve 16.3,15R 414/381mm 45° 20-544"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 10.606602 -4.393398 135.000000
@@ -806,7 +806,7 @@ TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Viaduct Curve 16.3,15R 414/381mm 45
A 0 0.053333 14.526660 0.000000 -15.000000 0.000000 45.000000
A 0 0.053333 16.772553 0.000000 -15.000000 0.000000 45.000000
END
-TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Viaduct Easement Curve (R) Appr 16.3/15R 414/381mm 22.5� 20-545 Right"
+TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Viaduct Easement Curve (R) Appr 16.3/15R 414/381mm 22.5° 20-545 Right"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 6.237438 -1.240704 112.500000
@@ -817,7 +817,7 @@ TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Viaduct Easement Curve (R) Appr 16.
A 11579568 0.053333 16.744986 0.000000 -16.299212 0.000000 22.500000
A 11579568 0.053333 14.554226 0.000000 -16.299212 0.000000 22.500000
END
-TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Viaduct Easement Curve (L) Appr 16.3/15R 414/381mm 22.5� 20-545 Left"
+TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Viaduct Easement Curve (L) Appr 16.3/15R 414/381mm 22.5° 20-545 Left"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 6.237438 -1.240704 112.500000
@@ -897,7 +897,7 @@ TURNOUT N "Kato Unitrack CS Dbl Trk Feeder Track 62mm 20-043"
##########################################################################
SUBCONTENTS Kato Unitrack N-Scale GL CS Double Track - Curves
-TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Curve 16.3/15R 414/381mm 45� 20-181"
+TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Curve 16.3/15R 414/381mm 45° 20-181"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 11.525283 -4.773929 135.000000
@@ -908,7 +908,7 @@ TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Curve 16.3/15R 414/381mm 45� 20-1
A 11579568 0.053333 16.744986 0.000000 -16.299212 0.000000 45.000000
A 11579568 0.053333 14.554226 0.000000 -16.299212 0.000000 45.000000
END
-TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve (R) Appr 16.3/15R 414/381mm 22.5� 20-182 Right"
+TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve (R) Appr 16.3/15R 414/381mm 22.5° 20-182 Right"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 6.237438 -1.240704 112.500000
@@ -919,7 +919,7 @@ TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve (R) Appr 16.3/15R 41
A 11579568 0.053333 16.744986 0.000000 -16.299212 0.000000 22.500000
A 11579568 0.053333 14.554226 0.000000 -16.299212 0.000000 22.500000
END
-TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve (L) Appr 16.3/15R 414/381mm 22.5� 20-182 Left"
+TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve (L) Appr 16.3/15R 414/381mm 22.5° 20-182 Left"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 6.237438 -1.240704 112.500000
@@ -930,7 +930,7 @@ TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve (L) Appr 16.3/15R 41
A 11579568 0.053333 16.744986 0.000000 -16.299212 0.000000 22.500000
A 11579568 0.053333 14.554226 0.000000 -16.299212 0.000000 22.500000
END
-TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Curve 12.375/11R 315/282mm 45� 20-183"
+TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Curve 12.375/11R 315/282mm 45° 20-183"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 0.000000 -1.299212 270.000000
@@ -941,7 +941,7 @@ TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Curve 12.375/11R 315/282mm 45� 20
A 11579568 0.053333 12.847349 0.000000 -12.401575 0.000000 45.000000
A 11579568 0.053333 10.656588 0.000000 -12.401575 0.000000 45.000000
END
-TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve 12.375/11R 315/282mm 22.5� 20-184 Right"
+TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve 12.375/11R 315/282mm 22.5° 20-184 Right"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 0.000000 -1.299212 270.000000
@@ -952,7 +952,7 @@ TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve 12.375/11R 315/282mm
A 11579568 0.053333 12.847349 0.000000 -12.401575 0.000000 22.500000
A 11579568 0.053333 10.656588 0.000000 -12.401575 0.000000 22.500000
END
-TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve 12.375/11R 315/282mm 22.5� 20-184 Left"
+TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve 12.375/11R 315/282mm 22.5° 20-184 Left"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 0.000000 -1.299212 270.000000
@@ -963,7 +963,7 @@ TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve 12.375/11R 315/282mm
A 11579568 0.053333 12.847349 0.000000 -12.401575 0.000000 22.500000
A 11579568 0.053333 10.656588 0.000000 -12.401575 0.000000 22.500000
END
-TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Curve 18.875/17.625R 480/447mm 45� 20-185"
+TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Curve 18.875/17.625R 480/447mm 45° 20-185"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 13.362648 -5.534990 135.000000
@@ -974,7 +974,7 @@ TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Curve 18.875/17.625R 480/447mm 45
A 11579568 0.053333 19.343412 0.000000 -18.897638 0.000000 45.000000
A 11579568 0.053333 17.152651 0.000000 -18.897638 0.000000 45.000000
END
-TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve (R) Appr 18.875/17.625R 480/447mm 22.5� 20-186 Right"
+TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve (R) Appr 18.875/17.625R 480/447mm 22.5° 20-186 Right"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 7.231813 -1.438497 112.500000
@@ -985,7 +985,7 @@ TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve (R) Appr 18.875/17.6
A 11579568 0.053333 19.343412 0.000000 -18.897638 0.000000 22.500000
A 11579568 0.053333 17.152651 0.000000 -18.897638 0.000000 22.500000
END
-TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve (L) Appr 18.875/17.625R 480/447mm 22.5� 20-186 Left"
+TURNOUT N "Kato Unitrack CS Dbl Trk SupElev Easement Curve (L) Appr 18.875/17.625R 480/447mm 22.5° 20-186 Left"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 7.231813 -1.438497 112.500000
@@ -1638,7 +1638,7 @@ TURNOUT N "Kato Unitrack Curve (R) Extension Line 20-286R"
L 0 0.031250 5.642748 0.000000 5.492126 -0.854220
L 0 0.031250 5.642748 0.000000 5.492126 0.854220
END
-TURNOUT N "Kato Unitrack Curve 15R 381mm 10� 381-10"
+TURNOUT N "Kato Unitrack Curve 15R 381mm 10° 381-10"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.604723 -0.227884 100.000000
@@ -1662,7 +1662,7 @@ TURNOUT N "Kato Unitrack Track Turntable Section 20-283A"
L 0 0.031250 3.042286 0.815178 4.126100 1.105585
L 0 0.031250 3.042286 -0.815178 4.126100 -1.105585
END
-TURNOUT N "Kato Unitrack 160mm Turn Table 20-283"
+TURNOUT N "Kato Unitrack 160mm Turn Table 20-283" 512
P "1" 1
P "2" 2
P "3" 3
diff --git a/app/lib/params/N-Kato-Unitram.xtp b/app/lib/params/N-Kato-Unitram.xtp
index d615edd..7a824cb 100644
--- a/app/lib/params/N-Kato-Unitram.xtp
+++ b/app/lib/params/N-Kato-Unitram.xtp
@@ -106,7 +106,8 @@ TURNOUT N "Kato Unitram Left Curve 180mm 40-102"
L 11579568 0.053333 5.596826 2.946481 5.577439 2.927094
A 11579568 0.053333 5.826772 1.457289 7.047244 135.000000 45.000000
END
-TURNOUT N "Kato Unitram Right turnout 180mm 40-211"
+TURNOUT N "Kato Unitram Right turnout 180mm 40-211" 256
+#UseOldPaths - turnouts work in tandem: either both Normal or both Reverse
P "Normal" 1 2 0 4 5
P "Reverse" 1 3 0 4 6
E 0.000000 0.492126 270.000000
@@ -129,7 +130,8 @@ TURNOUT N "Kato Unitram Right turnout 180mm 40-211"
L 11579568 0.053333 5.596826 -2.946481 5.577439 -2.927094
A 11579568 0.053333 5.826772 1.457289 -7.047244 0.000000 45.000000
END
-TURNOUT N "Kato Unitram Left Turnout 180mm 40-210"
+TURNOUT N "Kato Unitram Left Turnout 180mm 40-210" 256
+#UseOldPaths - turnouts work in tandem: either both Normal or both Reverse
P "Normal" 1 2 0 4 5
P "Reverse" 1 3 0 4 6
E 0.000000 0.492126 270.000000
diff --git a/app/lib/params/minitrix.xtp b/app/lib/params/N-MiniTrix Track (De).xtp
index 4959429..782cb65 100644
--- a/app/lib/params/minitrix.xtp
+++ b/app/lib/params/N-MiniTrix Track (De).xtp
@@ -1,318 +1,322 @@
-CONTENTS Minitrix N Scale
-###########################################################################
-#
-# Design Armin Poschmann 08.01.1999 nach Vorgaben aus dem Minitrix Katalog
-# zur Benutzung mit xtrkcad
-# Genauigkeit der Berechnungen : Eingabe der Werte in cm mit 10 gültigen
-# Ziffern
-#
-############################################################################
-SUBCONTENTS Geraden
-###################
-TURNOUT N "Minitrix Gerade-17,2mm 14903"
- U "Straight Section" "" "Minitrix" "Gerade-17.2mm" "14903" 0.677165
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 0.677165 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 0.677165 0.000000
- END
-TURNOUT N "Minitrix Gerade-27,9mm 14908"
- U "Straight Section" "" "Minitrix" "Gerade-27,9mm" "14908" 1.098425
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 1.098425 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 1.098425 0.000000
- END
-TURNOUT N "Minitrix Gerade-33,6mm 14909"
- U "Straight Section" "" "Minitrix" "Gerade-33,6mm" "14909" 1.322835
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 1.322835 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 1.322835 0.000000
- END
-TURNOUT N "Minitrix Gerade-50,0mm 14907"
- U "Straight Section" "" "Minitrix" "Gerade-50,0mm" "14907" 1.968504
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 1.968504 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 1.968504 0.000000
- END
-TURNOUT N "Minitrix Gerade-54,2mm 14906"
- U "Straight Section" "" "Minitrix" "Gerade-54,2mm" "14906" 2.133858
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 2.133858 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 2.133858 0.000000
- END
-TURNOUT N "Minitrix Gerade-76,3mm 14905"
- U "Straight Section" "" "Minitrix" "Gerade-76,3mm" "14905" 3.003937
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 3.003937 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 3.003937 0.000000
- END
-TURNOUT N "Minitrix Gerade-10,42mm 14904"
- U "Straight Section" "" "Minitrix" "Gerade-10,42mm" "14904" 4.102362
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.102362 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 4.102362 0.000000
- END
-TURNOUT N "Minitrix Gerade-312,6mm 14902"
- U "Straight Section" "" "Minitrix" "Gerade-312,6mm" "14902" 12.307087
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 12.307087 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 12.307087 0.000000
- END
-############################################################################
-SUBCONTENTS Bögen
-#################
-TURNOUT N "Minitrix Bogen-R1-6 14916"
- U "Curved Section" "" "Minitrix" "Bogen-R1-6" "14916" 7.661417 6.000000
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 0.800836 0.041970 84.000000
- C 0 0.000000 -7.661417 0.000000 7.661417 174.000000 6.000000
- END
-TURNOUT N "Minitrix Bogen-R1-24 14914"
- U "Curved Section" "" "Minitrix" "Bogen-R1-24" "14914" 7.661417 24.000000
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 3.116179 0.662364 66.000000
- C 0 0.000000 -7.661417 0.000000 7.661417 156.000000 24.000000
- END
-TURNOUT N "Minitrix Bogen-R1-30 14912"
- U "Curved Section" "" "Minitrix" "Bogen-R1-30" "14912" 7.661417 30.000000
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 3.830709 1.026435 60.000000
- C 0 0.000000 -7.661417 -0.000000 7.661417 150.000000 30.000000
- END
-TURNOUT N "Minitrix Bogen-R2-6 14926"
- U "Curved Section" "" "Minitrix" "Bogen-R2-6" "14926" 8.984252 6.000000
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 0.939110 0.049217 84.000000
- C 0 0.000000 -8.984252 0.000000 8.984252 174.000000 6.000000
- END
-TURNOUT N "Minitrix Bogen-R2-24 14924"
- U "Curved Section" "" "Minitrix" "Bogen-R2-24" "14924" 8.984252 24.000000
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 3.654224 0.776729 66.000000
- C 0 0.000000 -8.984252 0.000000 8.984252 156.000000 24.000000
- END
-TURNOUT N "Minitrix Bogen-R2-30 14922"
- U "Curved Section" "" "Minitrix" "Bogen-R2-30" "14922" 8.984252 30.000000
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 4.492126 1.203662 60.000000
- C 0 0.000000 -8.984252 -0.000000 8.984252 150.000000 30.000000
- END
-TURNOUT N "Minitrix Bogen-R3-15 14917"
- U "Curved Section" "" "Minitrix" "Bogen-R3-15" "14917" 12.952756 15.000000
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 3.352420 0.441354 75.000000
- C 0 0.000000 -12.952756 0.000000 12.952756 165.000000 15.000000
- END
-TURNOUT N "Minitrix Bogen-R4-15 14927"
- U "Curved Section" "" "Minitrix" "Bogen-R4-15" "14927" 14.275591 15.000000
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 3.694795 0.486429 75.000000
- C 0 0.000000 -14.275591 0.000000 14.275591 165.000000 15.000000
- END
-TURNOUT N "Minitrix Bogen-R5-15 14918"
- U "Curved Section" "" "Minitrix" "Bogen-R5-15" "14918" 19.393701 15.000000
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 5.019459 0.660824 75.000000
- C 0 0.000000 -19.393701 0.000000 19.393701 165.000000 15.000000
- END
-TURNOUT N "Minitrix Bogen-R6-15 14928"
- U "Curved Section" "" "Minitrix" "Bogen-R6-15" "14928" 20.716535 15.000000
- P "Normal" 1
- E 0.000000 0.000000 270.000000
- E 5.361834 0.705899 75.000000
- C 0 0.000000 -20.716535 0.000000 20.716535 165.000000 15.000000
- END
-###########################################################################
-SUBCONTENTS Weichen
-###################
-TURNOUT N "Minitrix Weiche-R1-24-L 14961"
- U "Regular Turnout" "" "Minitrix" "Weiche-R1-24-L" "14961" "Weiche-R1-24-R" "14963" 3.116179 24.000000 0.662364 4.102362
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 4.102362 0.000000 90.000000
- E 3.116179 0.662364 66.000000
- S 0 0.000000 0.000000 0.000000 0.353100 0.000000
- S 0 0.000000 0.353100 0.000000 4.102362 0.000000
- C 0 0.000000 -6.000212 0.353100 6.000212 156.000000 24.000000
- S 0 0.000000 2.793606 0.518746 3.116179 0.662364
- END
-TURNOUT N "Minitrix Weiche-R1-24-R 14963"
- U "Regular Turnout" "" "Minitrix" "Weiche-R1-24-L" "14961" "Weiche-R1-24-R" "14963" 3.116179 24.000000 0.662364 4.102362
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 4.102362 0.000000 90.000000
- E 3.116179 -0.662364 114.000000
- S 0 0.000000 0.000000 0.000000 0.353100 0.000000
- S 0 0.000000 0.353100 0.000000 4.102362 0.000000
- C 0 0.000000 6.000212 0.353100 -6.000212 0.000000 24.000000
- S 0 0.000000 2.793606 -0.518746 3.116179 -0.662364
- END
-TURNOUT N "Minitrix Weiche-R4-15-L 14936"
- U "Regular Turnout" "" "Minitrix" "Weiche-R4-15-L" "14936" "Weiche-R4-15-R" "14937" 4.348886 15.000000 0.661692 4.433071
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 4.433071 0.000000 90.000000
- E 4.348886 0.661692 75.000000
- S 0 0.000000 0.000000 0.000000 0.353100 0.000000
- S 0 0.000000 0.353100 0.000000 4.433071 0.000000
- C 0 0.000000 -11.593530 0.353100 11.593530 165.000000 15.000000
- S 0 0.000000 3.353726 0.395040 4.348886 0.661692
- END
-TURNOUT N "Minitrix Weiche-R4-15-R 14937"
- U "Regular Turnout" "" "Minitrix" "Weiche-R4-15-L" "14936" "Weiche-R4-15-R" "14937" 4.348886 15.000000 0.661692 4.433071
- P "Normal" 1 2
- P "Reverse" 1 3 4
- E 0.000000 0.000000 270.000000
- E 4.433071 0.000000 90.000000
- E 4.348886 -0.661692 105.000000
- S 0 0.000000 0.000000 0.000000 0.353100 0.000000
- S 0 0.000000 0.353100 0.000000 4.433071 0.000000
- C 0 0.000000 11.593530 0.353100 -11.593530 0.000000 15.000000
- S 0 0.000000 3.353726 -0.395040 4.348886 -0.661692
- END
-TURNOUT N "Minitrix Bogenweiche-R1/R2-42-L 14966"
- U "Curved Turnout" "" "Minitrix" "Bogenweiche-R1/R2-42-L" "14966" "Bogenweiche-R1/R2-42-R" "14967" 5.126489 42.000000 1.967875 42.000000 2.307652 6.011638
- P "Normal" 1 4 5
- P "Reverse" 1 2 3
- E 0.000000 0.000000 270.000000
- E 6.011638 2.307652 48.000000
- E 5.126489 1.967875 48.000000
- S 0 0.000000 0.000000 0.000000 0.353100 0.000000
- C 0 0.000000 -6.741560 0.353100 6.741560 138.000000 42.000000
- S 0 0.000000 4.864084 1.731605 5.126489 1.967875
- C 0 0.000000 -8.064395 0.353100 8.064395 138.000000 42.000000
- S 0 0.000000 5.749234 2.071382 6.011638 2.307652
- END
-TURNOUT N "Minitrix Bogenweiche-R1/R2-42-R 14967"
- U "Curved Turnout" "" "Minitrix" "Bogenweiche-R1/R2-42-L" "14966" "Bogenweiche-R1/R2-42-R" "14967" 5.126489 42.000000 1.967875 42.000000 2.307652 6.011638
- P "Normal" 1 4 5
- P "Reverse" 1 2 3
- E 0.000000 0.000000 270.000000
- E 6.011638 -2.307652 132.000000
- E 5.126489 -1.967875 132.000000
- S 0 0.000000 0.000000 0.000000 0.353100 0.000000
- C 0 0.000000 6.741560 0.353100 -6.741560 0.000000 42.000000
- S 0 0.000000 4.864084 -1.731605 5.126489 -1.967875
- C 0 0.000000 8.064395 0.353100 -8.064395 0.000000 42.000000
- S 0 0.000000 5.749234 -2.071382 6.011638 -2.307652
- END
-TURNOUT N "Minitrix Bogenweiche-R3/R4-30-L 14970"
- U "Curved Turnout" "" "Minitrix" "Bogenweiche-R3/R4-30-L" "14970" "Bogenweiche-R3/R4-30-R" "14971" 6.476378 30.000000 1.735340 30.000000 1.720571 7.137795
- P "Normal" 1 6 4 5
- P "Reverse" 1 2 3
- E 0.000000 0.000000 270.000000
- E 7.137795 1.720571 60.000000
- E 6.476378 1.735340 60.000000
- S 0 0.000000 0.000000 0.000000 0.353100 0.000000
- C 0 0.000000 -11.634969 0.353100 11.634969 150.000000 30.000000
- S 0 0.000000 6.170584 1.558790 6.476378 1.735340
- C 0 0.000000 -11.524733 1.069635 11.524733 150.000000 30.000000
- S 0 0.000000 6.832002 1.544021 7.137795 1.720571
- S 0 0.000000 0.353100 0.000000 1.069635 0.000000
- END
-TURNOUT N "Minitrix Bogenweiche-R3/R4-30-R 14971"
- U "Curved Turnout" "" "Minitrix" "Bogenweiche-R3/R4-30-L" "14970" "Bogenweiche-R3/R4-30-R" "14971" 6.476378 30.000000 1.735340 30.000000 1.720571 7.137795
- P "Normal" 1 6 4 5
- P "Reverse" 1 2 3
- E 0.000000 0.000000 270.000000
- E 7.137795 -1.720571 120.000000
- E 6.476378 -1.735340 120.000000
- S 0 0.000000 0.000000 0.000000 0.353100 0.000000
- C 0 0.000000 11.634969 0.353100 -11.634969 0.000000 30.000000
- S 0 0.000000 6.170584 -1.558790 6.476378 -1.735340
- C 0 0.000000 11.524733 1.069635 -11.524733 0.000000 30.000000
- S 0 0.000000 6.832002 -1.544021 7.137795 -1.720571
- S 0 0.000000 0.353100 0.000000 1.069635 0.000000
- END
-TURNOUT N "Minitrix Dreiwegweiche-R4-15 14940"
- U "3-way Turnout" "" "Minitrix" "Dreiwegweiche-R4-15" "14940" 4.348886 15.000000 0.661692 4.433071 0.661692 15.000000 4.348886
- P "Left" 1 2 3
- P "Normal" 1 6
- P "Right" 1 4 5
- E 0.000000 0.000000 270.000000
- E 4.348886 0.661692 75.000000
- E 4.348886 -0.661692 105.000000
- E 4.433071 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 0.353100 0.000000
- C 0 0.000000 -11.593530 0.353100 11.593530 165.000000 15.000000
- S 0 0.000000 3.353726 0.395040 4.348886 0.661692
- C 0 0.000000 11.593530 0.353100 -11.593530 0.000000 15.000000
- S 0 0.000000 3.353726 -0.395040 4.348886 -0.661692
- S 0 0.000000 0.353100 0.000000 4.433071 0.000000
- END
-###########################################################################
-SUBCONTENTS Kreuzungen und DKWs
-###############################
-TURNOUT N "Minitrix Kreuzung-30 14958"
- U "Crossing" "" "Minitrix" "Kreuzung-30" "14958" 4.102362 30.000000 4.102362
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 4.102362 0.000000 90.000000
- E 0.274806 1.025591 300.000000
- E 3.827556 -1.025591 120.000000
- S 0 0.000000 0.000000 0.000000 4.102362 0.000000
- S 0 0.000000 0.274806 1.025591 3.827556 -1.025591
- END
-TURNOUT N "Minitrix Kreuzung-15 14973"
- U "Crossing" "" "Minitrix" "Kreuzung-15" "14973" 5.110236 15.000000 5.110236
- P "Normal" 1 0 2
- E 0.000000 0.000000 270.000000
- E 5.110236 0.000000 90.000000
- E 0.087064 0.661313 285.000000
- E 5.023173 -0.661313 105.000000
- S 0 0.000000 0.000000 0.000000 5.110236 0.000000
- S 0 0.000000 0.087064 0.661313 5.023173 -0.661313
- END
-TURNOUT N "Minitrix DKW-30 14968"
- U "Double Slipswitch" "" "Minitrix" "DKW-30" "14968" 4.102362 30.000000 4.102362
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
- E 0.000000 0.000000 270.000000
- E 4.102362 0.000000 90.000000
- E 0.274806 1.025591 300.000000
- E 3.827556 -1.025591 120.000000
- S 0 0.000000 0.000000 0.000000 0.706200 0.000000
- S 0 0.000000 0.706200 0.000000 3.396162 0.000000
- S 0 0.000000 3.396162 0.000000 4.102362 0.000000
- S 0 0.000000 0.274806 1.025591 0.886393 0.672491
- S 0 0.000000 0.886393 0.672491 3.215969 -0.672491
- S 0 0.000000 3.215969 -0.672491 3.827556 -1.025591
- C 0 0.000000 5.019538 0.706200 -5.019538 0.000000 30.000000
- C 0 0.000000 -5.019538 3.396162 5.019538 180.000000 30.000000
- END
-TURNOUT N "Minitrix DKW-15 14960"
- U "Double Slipswitch" "" "Minitrix" "DKW-15" "14960" 5.110236 15.000000 5.110236
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
- E 0.000000 0.000000 270.000000
- E 5.110236 0.000000 90.000000
- E 0.087064 0.661313 285.000000
- E 5.023173 -0.661313 105.000000
- S 0 0.000000 0.000000 0.000000 0.706200 0.000000
- S 0 0.000000 0.706200 0.000000 4.404036 0.000000
- S 0 0.000000 4.404036 0.000000 5.110236 0.000000
- S 0 0.000000 0.087064 0.661313 0.769200 0.478535
- S 0 0.000000 0.769200 0.478535 4.341036 -0.478535
- S 0 0.000000 4.341036 -0.478535 5.023173 -0.661313
- C 0 0.000000 14.043927 0.706200 -14.043927 0.000000 15.000000
- C 0 0.000000 -14.043927 4.404036 14.043927 180.000000 15.000000
- END
+CONTENTS Minitrix N-Scale
+###########################################################################
+#
+# Design Armin Poschmann 08.01.1999 nach Vorgaben aus dem Minitrix Katalog
+# zur Benutzung mit xtrkcad
+# Genauigkeit der Berechnungen : Eingabe der Werte in cm mit 10 gltigen
+# Ziffern
+#
+############################################################################
+SUBCONTENTS Geraden
+###################
+TURNOUT N "Minitrix Gerade-17,2mm 14903"
+ U "Straight Section" "" "Minitrix" "Gerade-17.2mm" "14903" 0.677165
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.677165 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 0.677165 0.000000
+ END
+TURNOUT N "Minitrix Gerade-27,9mm 14908"
+ U "Straight Section" "" "Minitrix" "Gerade-27,9mm" "14908" 1.098425
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.098425 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.098425 0.000000
+ END
+TURNOUT N "Minitrix Gerade-33,6mm 14909"
+ U "Straight Section" "" "Minitrix" "Gerade-33,6mm" "14909" 1.322835
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.322835 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.322835 0.000000
+ END
+TURNOUT N "Minitrix Gerade-50,0mm 14907"
+ U "Straight Section" "" "Minitrix" "Gerade-50,0mm" "14907" 1.968504
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.968504 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.968504 0.000000
+ END
+TURNOUT N "Minitrix Gerade-54,2mm 14906"
+ U "Straight Section" "" "Minitrix" "Gerade-54,2mm" "14906" 2.133858
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.133858 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 2.133858 0.000000
+ END
+TURNOUT N "Minitrix Gerade-76,3mm 14905"
+ U "Straight Section" "" "Minitrix" "Gerade-76,3mm" "14905" 3.003937
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.003937 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 3.003937 0.000000
+ END
+TURNOUT N "Minitrix Gerade-10,42mm 14904"
+ U "Straight Section" "" "Minitrix" "Gerade-10,42mm" "14904" 4.102362
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.102362 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 4.102362 0.000000
+ END
+TURNOUT N "Minitrix Gerade-312,6mm 14902"
+ U "Straight Section" "" "Minitrix" "Gerade-312,6mm" "14902" 12.307087
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 12.307087 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 12.307087 0.000000
+ END
+############################################################################
+SUBCONTENTS Bgen
+#################
+TURNOUT N "Minitrix Bogen-R1-6 14916"
+ U "Curved Section" "" "Minitrix" "Bogen-R1-6" "14916" 7.661417 6.000000
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.800836 0.041970 84.000000
+ C 0 0.000000 -7.661417 0.000000 7.661417 174.000000 6.000000
+ END
+TURNOUT N "Minitrix Bogen-R1-24 14914"
+ U "Curved Section" "" "Minitrix" "Bogen-R1-24" "14914" 7.661417 24.000000
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.116179 0.662364 66.000000
+ C 0 0.000000 -7.661417 0.000000 7.661417 156.000000 24.000000
+ END
+TURNOUT N "Minitrix Bogen-R1-30 14912"
+ U "Curved Section" "" "Minitrix" "Bogen-R1-30" "14912" 7.661417 30.000000
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.830709 1.026435 60.000000
+ C 0 0.000000 -7.661417 -0.000000 7.661417 150.000000 30.000000
+ END
+TURNOUT N "Minitrix Bogen-R2-6 14926"
+ U "Curved Section" "" "Minitrix" "Bogen-R2-6" "14926" 8.984252 6.000000
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.939110 0.049217 84.000000
+ C 0 0.000000 -8.984252 0.000000 8.984252 174.000000 6.000000
+ END
+TURNOUT N "Minitrix Bogen-R2-24 14924"
+ U "Curved Section" "" "Minitrix" "Bogen-R2-24" "14924" 8.984252 24.000000
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.654224 0.776729 66.000000
+ C 0 0.000000 -8.984252 0.000000 8.984252 156.000000 24.000000
+ END
+TURNOUT N "Minitrix Bogen-R2-30 14922"
+ U "Curved Section" "" "Minitrix" "Bogen-R2-30" "14922" 8.984252 30.000000
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.492126 1.203662 60.000000
+ C 0 0.000000 -8.984252 -0.000000 8.984252 150.000000 30.000000
+ END
+TURNOUT N "Minitrix Bogen-R3-15 14917"
+ U "Curved Section" "" "Minitrix" "Bogen-R3-15" "14917" 12.952756 15.000000
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.352420 0.441354 75.000000
+ C 0 0.000000 -12.952756 0.000000 12.952756 165.000000 15.000000
+ END
+TURNOUT N "Minitrix Bogen-R4-15 14927"
+ U "Curved Section" "" "Minitrix" "Bogen-R4-15" "14927" 14.275591 15.000000
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.694795 0.486429 75.000000
+ C 0 0.000000 -14.275591 0.000000 14.275591 165.000000 15.000000
+ END
+TURNOUT N "Minitrix Bogen-R5-15 14918"
+ U "Curved Section" "" "Minitrix" "Bogen-R5-15" "14918" 19.393701 15.000000
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.019459 0.660824 75.000000
+ C 0 0.000000 -19.393701 0.000000 19.393701 165.000000 15.000000
+ END
+TURNOUT N "Minitrix Bogen-R6-15 14928"
+ U "Curved Section" "" "Minitrix" "Bogen-R6-15" "14928" 20.716535 15.000000
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.361834 0.705899 75.000000
+ C 0 0.000000 -20.716535 0.000000 20.716535 165.000000 15.000000
+ END
+###########################################################################
+SUBCONTENTS Weichen
+###################
+TURNOUT N "Minitrix Weiche-R1-24-L 14961"
+ U "Regular Turnout" "" "Minitrix" "Weiche-R1-24-L" "14961" "Weiche-R1-24-R" "14963" 3.116179 24.000000 0.662364 4.102362
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 4.102362 0.000000 90.000000
+ E 3.116179 0.662364 66.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ S 0 0.000000 0.353100 0.000000 4.102362 0.000000
+ C 0 0.000000 -6.000212 0.353100 6.000212 156.000000 24.000000
+ S 0 0.000000 2.793606 0.518746 3.116179 0.662364
+ END
+TURNOUT N "Minitrix Weiche-R1-24-R 14963"
+ U "Regular Turnout" "" "Minitrix" "Weiche-R1-24-L" "14961" "Weiche-R1-24-R" "14963" 3.116179 24.000000 0.662364 4.102362
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 4.102362 0.000000 90.000000
+ E 3.116179 -0.662364 114.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ S 0 0.000000 0.353100 0.000000 4.102362 0.000000
+ C 0 0.000000 6.000212 0.353100 -6.000212 0.000000 24.000000
+ S 0 0.000000 2.793606 -0.518746 3.116179 -0.662364
+ END
+TURNOUT N "Minitrix Weiche-R4-15-L 14936"
+ U "Regular Turnout" "" "Minitrix" "Weiche-R4-15-L" "14936" "Weiche-R4-15-R" "14937" 4.348886 15.000000 0.661692 4.433071
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 4.433071 0.000000 90.000000
+ E 4.348886 0.661692 75.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ S 0 0.000000 0.353100 0.000000 4.433071 0.000000
+ C 0 0.000000 -11.593530 0.353100 11.593530 165.000000 15.000000
+ S 0 0.000000 3.353726 0.395040 4.348886 0.661692
+ END
+TURNOUT N "Minitrix Weiche-R4-15-R 14937"
+ U "Regular Turnout" "" "Minitrix" "Weiche-R4-15-L" "14936" "Weiche-R4-15-R" "14937" 4.348886 15.000000 0.661692 4.433071
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 4.433071 0.000000 90.000000
+ E 4.348886 -0.661692 105.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ S 0 0.000000 0.353100 0.000000 4.433071 0.000000
+ C 0 0.000000 11.593530 0.353100 -11.593530 0.000000 15.000000
+ S 0 0.000000 3.353726 -0.395040 4.348886 -0.661692
+ END
+TURNOUT N "Minitrix Bogenweiche-R1/R2-42-L 14966"
+ U "Curved Turnout" "" "Minitrix" "Bogenweiche-R1/R2-42-L" "14966" "Bogenweiche-R1/R2-42-R" "14967" 5.126489 42.000000 1.967875 42.000000 2.307652 6.011638
+ P "Normal" 1 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 6.011638 2.307652 48.000000
+ E 5.126489 1.967875 48.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ C 0 0.000000 -6.741560 0.353100 6.741560 138.000000 42.000000
+ S 0 0.000000 4.864084 1.731605 5.126489 1.967875
+ C 0 0.000000 -8.064395 0.353100 8.064395 138.000000 42.000000
+ S 0 0.000000 5.749234 2.071382 6.011638 2.307652
+ END
+TURNOUT N "Minitrix Bogenweiche-R1/R2-42-R 14967"
+ U "Curved Turnout" "" "Minitrix" "Bogenweiche-R1/R2-42-L" "14966" "Bogenweiche-R1/R2-42-R" "14967" 5.126489 42.000000 1.967875 42.000000 2.307652 6.011638
+ P "Normal" 1 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 6.011638 -2.307652 132.000000
+ E 5.126489 -1.967875 132.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ C 0 0.000000 6.741560 0.353100 -6.741560 0.000000 42.000000
+ S 0 0.000000 4.864084 -1.731605 5.126489 -1.967875
+ C 0 0.000000 8.064395 0.353100 -8.064395 0.000000 42.000000
+ S 0 0.000000 5.749234 -2.071382 6.011638 -2.307652
+ END
+TURNOUT N "Minitrix Bogenweiche-R3/R4-30-L 14970"
+ U "Curved Turnout" "" "Minitrix" "Bogenweiche-R3/R4-30-L" "14970" "Bogenweiche-R3/R4-30-R" "14971" 6.476378 30.000000 1.735340 30.000000 1.720571 7.137795
+ P "Normal" 1 6 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 7.137795 1.720571 60.000000
+ E 6.476378 1.735340 60.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ C 0 0.000000 -11.634969 0.353100 11.634969 150.000000 30.000000
+ S 0 0.000000 6.170584 1.558790 6.476378 1.735340
+ C 0 0.000000 -11.524733 1.069635 11.524733 150.000000 30.000000
+ S 0 0.000000 6.832002 1.544021 7.137795 1.720571
+ S 0 0.000000 0.353100 0.000000 1.069635 0.000000
+ END
+TURNOUT N "Minitrix Bogenweiche-R3/R4-30-R 14971"
+ U "Curved Turnout" "" "Minitrix" "Bogenweiche-R3/R4-30-L" "14970" "Bogenweiche-R3/R4-30-R" "14971" 6.476378 30.000000 1.735340 30.000000 1.720571 7.137795
+ P "Normal" 1 6 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 7.137795 -1.720571 120.000000
+ E 6.476378 -1.735340 120.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ C 0 0.000000 11.634969 0.353100 -11.634969 0.000000 30.000000
+ S 0 0.000000 6.170584 -1.558790 6.476378 -1.735340
+ C 0 0.000000 11.524733 1.069635 -11.524733 0.000000 30.000000
+ S 0 0.000000 6.832002 -1.544021 7.137795 -1.720571
+ S 0 0.000000 0.353100 0.000000 1.069635 0.000000
+ END
+TURNOUT N "Minitrix Dreiwegweiche-R4-15 14940"
+ U "3-way Turnout" "" "Minitrix" "Dreiwegweiche-R4-15" "14940" 4.348886 15.000000 0.661692 4.433071 0.661692 15.000000 4.348886
+ P "Left" 1 2 3
+ P "Normal" 1 6
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 4.348886 0.661692 75.000000
+ E 4.348886 -0.661692 105.000000
+ E 4.433071 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ C 0 0.000000 -11.593530 0.353100 11.593530 165.000000 15.000000
+ S 0 0.000000 3.353726 0.395040 4.348886 0.661692
+ C 0 0.000000 11.593530 0.353100 -11.593530 0.000000 15.000000
+ S 0 0.000000 3.353726 -0.395040 4.348886 -0.661692
+ S 0 0.000000 0.353100 0.000000 4.433071 0.000000
+ END
+###########################################################################
+SUBCONTENTS Kreuzungen und DKWs
+###############################
+TURNOUT N "Minitrix Kreuzung-30 14958"
+ U "Crossing" "" "Minitrix" "Kreuzung-30" "14958" 4.102362 30.000000 4.102362
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 4.102362 0.000000 90.000000
+ E 0.274806 1.025591 300.000000
+ E 3.827556 -1.025591 120.000000
+ S 0 0.000000 0.000000 0.000000 4.102362 0.000000
+ S 0 0.000000 0.274806 1.025591 3.827556 -1.025591
+ END
+TURNOUT N "Minitrix Kreuzung-15 14973"
+ U "Crossing" "" "Minitrix" "Kreuzung-15" "14973" 5.110236 15.000000 5.110236
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 5.110236 0.000000 90.000000
+ E 0.087064 0.661313 285.000000
+ E 5.023173 -0.661313 105.000000
+ S 0 0.000000 0.000000 0.000000 5.110236 0.000000
+ S 0 0.000000 0.087064 0.661313 5.023173 -0.661313
+ END
+TURNOUT N "Minitrix DKW-30 14968"
+ U "Double Slipswitch" "" "Minitrix" "DKW-30" "14968" 4.102362 30.000000 4.102362
+ P "P1" 1 2 3
+ P "P2" 4 5 6
+ P "P3" 1 7 6
+ P "P4" 4 8 3
+ E 0.000000 0.000000 270.000000
+ E 4.102362 0.000000 90.000000
+ E 0.274806 1.025591 300.000000
+ E 3.827556 -1.025591 120.000000
+ S 0 0.000000 0.000000 0.000000 0.706200 0.000000
+ S 0 0.000000 0.706200 0.000000 3.396162 0.000000
+ S 0 0.000000 3.396162 0.000000 4.102362 0.000000
+ S 0 0.000000 0.274806 1.025591 0.886393 0.672491
+ S 0 0.000000 0.886393 0.672491 3.215969 -0.672491
+ S 0 0.000000 3.215969 -0.672491 3.827556 -1.025591
+ C 0 0.000000 5.019538 0.706200 -5.019538 0.000000 30.000000
+ C 0 0.000000 -5.019538 3.396162 5.019538 180.000000 30.000000
+ END
+TURNOUT N "Minitrix DKW-15 14960"
+ U "Double Slipswitch" "" "Minitrix" "DKW-15" "14960" 5.110236 15.000000 5.110236
+ P "P1" 1 2 3
+ P "P2" 4 5 6
+ P "P3" 1 7 6
+ P "P4" 4 8 3
+ E 0.000000 0.000000 270.000000
+ E 5.110236 0.000000 90.000000
+ E 0.087064 0.661313 285.000000
+ E 5.023173 -0.661313 105.000000
+ S 0 0.000000 0.000000 0.000000 0.706200 0.000000
+ S 0 0.000000 0.706200 0.000000 4.404036 0.000000
+ S 0 0.000000 4.404036 0.000000 5.110236 0.000000
+ S 0 0.000000 0.087064 0.661313 0.769200 0.478535
+ S 0 0.000000 0.769200 0.478535 4.341036 -0.478535
+ S 0 0.000000 4.341036 -0.478535 5.023173 -0.661313
+ C 0 0.000000 14.043927 0.706200 -14.043927 0.000000 15.000000
+ C 0 0.000000 -14.043927 4.404036 14.043927 180.000000 15.000000
+ END
diff --git a/app/lib/params/N-MiniTrix Track.xtp b/app/lib/params/N-MiniTrix Track.xtp
new file mode 100644
index 0000000..1846523
--- /dev/null
+++ b/app/lib/params/N-MiniTrix Track.xtp
@@ -0,0 +1,607 @@
+CONTENTS Minitrix N Scale
+SUBCONTENTS Minitrix - Straight Track
+TURNOUT N "Minitrix Straight Track 17.2mm 14903"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.677165 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 0.677165 0.000000
+ END$SEGS
+TURNOUT N "Minitrix Straight Track 27.9mm 14908"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.098425 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.098425 0.000000
+ END$SEGS
+TURNOUT N "Minitrix Straight Track 33.6mm 14909"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.322835 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.322835 0.000000
+ END$SEGS
+TURNOUT N "Minitrix Straight Track 50.0mm 14907"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.968504 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.968504 0.000000
+ END$SEGS
+TURNOUT N "Minitrix Straight Track 54.2mm 14906"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.133858 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 2.133858 0.000000
+ END$SEGS
+TURNOUT N "Minitrix Straight Track 76.3mm 14905"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.003937 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 3.003937 0.000000
+ END$SEGS
+TURNOUT N "Minitrix Straight Track 104.2mm 14904"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.102362 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 4.102362 0.000000
+ END$SEGS
+TURNOUT N "Minitrix Straight Track 312.6mm 14902"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 12.307087 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 12.307087 0.000000
+ END$SEGS
+
+
+SUBCONTENTS Minitrix Track - Curves
+TURNOUT N "Minitrix Curves Track R1(194.6mm) 6d 14916"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.800836 0.041970 84.000000
+ C 0 0.000000 -7.661417 0.000000 7.661417 174.000000 6.000000
+ END$SEGS
+TURNOUT N "Minitrix Curves Track R1(194.6mm) 24d 14914"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.116179 0.662364 66.000000
+ C 0 0.000000 -7.661417 0.000000 7.661417 156.000000 24.000000
+ END$SEGS
+TURNOUT N "Minitrix Curves Track R1(194.6mm) 30d 14912"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.830709 1.026435 60.000000
+ C 0 0.000000 -7.661417 -0.000000 7.661417 150.000000 30.000000
+ END$SEGS
+TURNOUT N "Minitrix Curves Track R2(228.2mm) 6d 14926"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.939110 0.049217 84.000000
+ C 0 0.000000 -8.984252 0.000000 8.984252 174.000000 6.000000
+ END$SEGS
+TURNOUT N "Minitrix Curves Track R2(228.2mm) 24d 14924"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.654224 0.776729 66.000000
+ C 0 0.000000 -8.984252 0.000000 8.984252 156.000000 24.000000
+ END$SEGS
+TURNOUT N "Minitrix Curves Track R2(228.2mm) 30d 14922"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.492126 1.203662 60.000000
+ C 0 0.000000 -8.984252 -0.000000 8.984252 150.000000 30.000000
+ END$SEGS
+TURNOUT N "Minitrix Curves Track R3(329.0mm) 15d 14917"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.352420 0.441354 75.000000
+ C 0 0.000000 -12.952756 0.000000 12.952756 165.000000 15.000000
+ END$SEGS
+TURNOUT N "Minitrix Curves Track R4(362.6mm) 15d 14927"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.694795 0.486429 75.000000
+ C 0 0.000000 -14.275591 0.000000 14.275591 165.000000 15.000000
+ END$SEGS
+TURNOUT N "Minitrix Curves Track R5(492.6mm) 15d 14918"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.019459 0.660824 75.000000
+ C 0 0.000000 -19.393701 0.000000 19.393701 165.000000 15.000000
+ END$SEGS
+TURNOUT N "Minitrix Curves Track R6(526.2mm) 15d 14928"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.361834 0.705899 75.000000
+ C 0 0.000000 -20.716535 0.000000 20.716535 165.000000 15.000000
+ END$SEGS
+
+
+SUBCONTENTS Minitrix Track - Switches
+TURNOUT N "Minitrix Lefthand Switch R1 24d 14961"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 4.102362 0.000000 90.000000
+ E 3.116179 0.662364 66.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ S 0 0.000000 0.353100 0.000000 4.102362 0.000000
+ C 0 0.000000 -6.000212 0.353100 6.000212 156.000000 24.000000
+ S 0 0.000000 2.793606 0.518746 3.116179 0.662364
+ END$SEGS
+TURNOUT N "Minitrix Righthand Switch R1 24d 14963"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 4.102362 0.000000 90.000000
+ E 3.116179 -0.662364 114.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ S 0 0.000000 0.353100 0.000000 4.102362 0.000000
+ C 0 0.000000 6.000212 0.353100 -6.000212 0.000000 24.000000
+ S 0 0.000000 2.793606 -0.518746 3.116179 -0.662364
+ END$SEGS
+TURNOUT N "Minitrix Lefthand Switch R4 15d 14936"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 4.433071 0.000000 90.000000
+ E 4.348886 0.661692 75.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ S 0 0.000000 0.353100 0.000000 4.433071 0.000000
+ C 0 0.000000 -11.593530 0.353100 11.593530 165.000000 15.000000
+ S 0 0.000000 3.353726 0.395040 4.348886 0.661692
+ END$SEGS
+TURNOUT N "Minitrix Righthand Switch R4 15d 14937"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 4.433071 0.000000 90.000000
+ E 4.348886 -0.661692 105.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ S 0 0.000000 0.353100 0.000000 4.433071 0.000000
+ C 0 0.000000 11.593530 0.353100 -11.593530 0.000000 15.000000
+ S 0 0.000000 3.353726 -0.395040 4.348886 -0.661692
+ END$SEGS
+TURNOUT N "Minitrix Lefthand Curved Switch R1/R2 42d 14966"
+ P "Normal" 1 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 6.011638 2.307652 48.000000
+ E 5.126489 1.967875 48.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ C 0 0.000000 -6.741560 0.353100 6.741560 138.000000 42.000000
+ S 0 0.000000 4.864084 1.731605 5.126489 1.967875
+ C 0 0.000000 -8.064395 0.353100 8.064395 138.000000 42.000000
+ S 0 0.000000 5.749234 2.071382 6.011638 2.307652
+ END$SEGS
+TURNOUT N "Minitrix Righthand Curved Switch R1/R2 42d 14967"
+ P "Normal" 1 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 6.011638 -2.307652 132.000000
+ E 5.126489 -1.967875 132.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ C 0 0.000000 6.741560 0.353100 -6.741560 0.000000 42.000000
+ S 0 0.000000 4.864084 -1.731605 5.126489 -1.967875
+ C 0 0.000000 8.064395 0.353100 -8.064395 0.000000 42.000000
+ S 0 0.000000 5.749234 -2.071382 6.011638 -2.307652
+ END$SEGS
+TURNOUT N "Minitrix Lefthand Curved Switch R3/R4 30d 14970"
+ P "Normal" 1 6 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 7.137795 1.720571 60.000000
+ E 6.476378 1.735340 60.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ C 0 0.000000 -11.634969 0.353100 11.634969 150.000000 30.000000
+ S 0 0.000000 6.170584 1.558790 6.476378 1.735340
+ C 0 0.000000 -11.524733 1.069635 11.524733 150.000000 30.000000
+ S 0 0.000000 6.832002 1.544021 7.137795 1.720571
+ S 0 0.000000 0.353100 0.000000 1.069635 0.000000
+ END$SEGS
+TURNOUT N "Minitrix Righthand Curved Switch R3/R4 30d 14971"
+ P "Normal" 1 6 4 5
+ P "Reverse" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 7.137795 -1.720571 120.000000
+ E 6.476378 -1.735340 120.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ C 0 0.000000 11.634969 0.353100 -11.634969 0.000000 30.000000
+ S 0 0.000000 6.170584 -1.558790 6.476378 -1.735340
+ C 0 0.000000 11.524733 1.069635 -11.524733 0.000000 30.000000
+ S 0 0.000000 6.832002 -1.544021 7.137795 -1.720571
+ S 0 0.000000 0.353100 0.000000 1.069635 0.000000
+ END$SEGS
+TURNOUT N "Minitrix Three-way Switch R4 15d 14940"
+ P "Left" 1 2 3
+ P "Normal" 1 6
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 4.348886 0.661692 75.000000
+ E 4.348886 -0.661692 105.000000
+ E 4.433071 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 0.353100 0.000000
+ C 0 0.000000 -11.593530 0.353100 11.593530 165.000000 15.000000
+ S 0 0.000000 3.353726 0.395040 4.348886 0.661692
+ C 0 0.000000 11.593530 0.353100 -11.593530 0.000000 15.000000
+ S 0 0.000000 3.353726 -0.395040 4.348886 -0.661692
+ S 0 0.000000 0.353100 0.000000 4.433071 0.000000
+ END$SEGS
+
+
+SUBCONTENTS Minitrix Track - Crossings and Slips Switches
+TURNOUT N "Minitrix Crossing 30d 14958"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 4.102362 0.000000 90.000000
+ E 0.274806 1.025591 300.000000
+ E 3.827556 -1.025591 120.000000
+ S 0 0.000000 0.000000 0.000000 4.102362 0.000000
+ S 0 0.000000 0.274806 1.025591 3.827556 -1.025591
+ END$SEGS
+TURNOUT N "Minitrix Crossing 15d 14973"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 5.110236 0.000000 90.000000
+ E 0.087064 0.661313 285.000000
+ E 5.023173 -0.661313 105.000000
+ S 0 0.000000 0.000000 0.000000 5.110236 0.000000
+ S 0 0.000000 0.087064 0.661313 5.023173 -0.661313
+ END$SEGS
+TURNOUT N "Minitrix Double Slip Switch 30d 14968"
+ P "P1" 1 2 3
+ P "P2" 4 5 6
+ P "P3" 1 7 6
+ P "P4" 4 8 3
+ E 0.000000 0.000000 270.000000
+ E 4.102362 0.000000 90.000000
+ E 0.274806 1.025591 300.000000
+ E 3.827556 -1.025591 120.000000
+ S 0 0.000000 0.000000 0.000000 0.706200 0.000000
+ S 0 0.000000 0.706200 0.000000 3.396162 0.000000
+ S 0 0.000000 3.396162 0.000000 4.102362 0.000000
+ S 0 0.000000 0.274806 1.025591 0.886393 0.672491
+ S 0 0.000000 0.886393 0.672491 3.215969 -0.672491
+ S 0 0.000000 3.215969 -0.672491 3.827556 -1.025591
+ C 0 0.000000 5.019538 0.706200 -5.019538 0.000000 30.000000
+ C 0 0.000000 -5.019538 3.396162 5.019538 180.000000 30.000000
+ END$SEGS
+TURNOUT N "Minitrix Double Slip Switch 15d 14960"
+ P "P1" 1 2 3
+ P "P2" 4 5 6
+ P "P3" 1 7 6
+ P "P4" 4 8 3
+ E 0.000000 0.000000 270.000000
+ E 5.110236 0.000000 90.000000
+ E 0.087064 0.661313 285.000000
+ E 5.023173 -0.661313 105.000000
+ S 0 0.000000 0.000000 0.000000 0.706200 0.000000
+ S 0 0.000000 0.706200 0.000000 4.404036 0.000000
+ S 0 0.000000 4.404036 0.000000 5.110236 0.000000
+ S 0 0.000000 0.087064 0.661313 0.769200 0.478535
+ S 0 0.000000 0.769200 0.478535 4.341036 -0.478535
+ S 0 0.000000 4.341036 -0.478535 5.023173 -0.661313
+ C 0 0.000000 14.043927 0.706200 -14.043927 0.000000 15.000000
+ C 0 0.000000 -14.043927 4.404036 14.043927 180.000000 15.000000
+ END$SEGS
+
+
+SUBCONTENTS Minitrix Track - Misc
+TURNOUT N "Minitrix Connection Track R1(194.6mm) 30d 14972"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.830709 -1.026435 120.000000
+ C 0 0.000000 7.661417 0.000000 -7.661417 0.000000 30.000000
+ A3 11579568 0.300000 7.661417 0.000000 -7.661417 0 11.250000 7.500000
+ END$SEGS
+TURNOUT N "Minitrix Contact Track 50.0mm 14979"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.968504 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.968504 0.000000
+ L3 11579568 0.300000 0.656168 0.000000 0 1.312336 0.000000 0
+ END$SEGS
+TURNOUT N "Minitrix Contact Track 50.0mm 14980"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.968504 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.968504 0.000000
+ L3 11579568 0.300000 0.328084 0.000000 0 1.640420 0.000000 0
+ END$SEGS
+TURNOUT N "Minitrix Buffer Stop 50.0mm 14991"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.968504 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 1.968504 0.000000
+ L3 0 0.060000 0.000000 0.150000 0 0.656168 0.150000 0
+ L3 0 0.060000 0.656168 0.300000 0 0.656168 -0.300000 0
+ L3 0 0.060000 0.000000 -0.150000 0 0.656168 -0.150000 0
+ END$SEGS
+TURNOUT N "Minitrix Buffer Stop(oldtime) 50.0mm 14976"
+ P "Normal" 1
+ E 0.944882 0.000000 90.000000
+ S 0 0 0.000000 0.000000 0.944882 0.000000
+ F3 8404992 0.000000 4
+ -1.023622 0.433071 0
+ -0.019685 0.433071 0
+ -0.019685 -0.433071 0
+ -1.023622 -0.433071 0
+ L3 0 0.000000 -1.043307 0.433071 0 -0.019685 0.433071 0
+ L3 0 0.000000 -0.019685 0.433071 0 -0.019685 -0.433071 0
+ L3 0 0.000000 -0.019685 -0.433071 0 -1.043307 -0.433071 0
+ L3 0 0.000000 -1.043307 -0.433071 0 -1.043307 0.433071 0
+ L3 0 0.000000 -1.043307 0.374016 0 -0.078740 0.374016 0
+ L3 0 0.000000 -0.078740 0.374016 0 -0.078740 -0.374016 0
+ L3 0 0.000000 -0.078740 -0.374016 0 -1.043307 -0.374016 0
+ L3 0 0.000000 -1.043307 -0.374016 0 -1.043307 0.374016 0
+ F3 6566400 0.000000 4
+ -1.003937 0.334646 0
+ -0.078740 0.334646 0
+ -0.078740 -0.334646 0
+ -1.003937 -0.334646 0
+ L3 4596480 0.000000 -1.003937 0.413386 0 -1.003937 0.334646 0
+ L3 4596480 0.000000 -0.964567 0.413386 0 -0.964567 0.354331 0
+ L3 4596480 0.000000 -0.905512 0.433071 0 -0.905512 0.354331 0
+ L3 4596480 0.000000 -0.846457 0.413386 0 -0.846457 0.334646 0
+ L3 4596480 0.000000 -0.787402 0.433071 0 -0.787402 0.354331 0
+ L3 4596480 0.000000 -0.748031 0.413386 0 -0.748031 0.334646 0
+ L3 4596480 0.000000 -0.669291 0.413386 0 -0.669291 0.334646 0
+ L3 4596480 0.000000 -0.610236 0.433071 0 -0.610236 0.354331 0
+ L3 4596480 0.000000 -0.551181 0.433071 0 -0.551181 0.374016 0
+ L3 4596480 0.000000 -0.492126 0.413386 0 -0.492126 0.334646 0
+ L3 4596480 0.000000 -0.433071 0.413386 0 -0.433071 0.354331 0
+ L3 4596480 0.000000 -0.393701 0.413386 0 -0.393701 0.334646 0
+ L3 4596480 0.000000 -0.354331 0.413386 0 -0.354331 0.334646 0
+ L3 4596480 0.000000 -0.295276 0.413386 0 -0.295276 0.354331 0
+ L3 4596480 0.000000 -0.255906 0.433071 0 -0.255906 0.354331 0
+ L3 4596480 0.000000 -0.196850 0.433071 0 -0.196850 0.334646 0
+ L3 4596480 0.000000 -0.157480 0.413386 0 -0.157480 0.334646 0
+ L3 4596480 0.000000 -0.098425 0.433071 0 -0.098425 0.334646 0
+ L3 4596480 0.000000 -0.098425 0.374016 0 -0.019685 0.374016 0
+ L3 4596480 0.000000 -0.098425 0.334646 0 -0.019685 0.334646 0
+ L3 4596480 0.000000 -0.098425 0.255906 0 -0.019685 0.255906 0
+ L3 4596480 0.000000 -0.098425 0.177165 0 -0.019685 0.177165 0
+ L3 4596480 0.000000 -0.118110 0.118110 0 -0.019685 0.118110 0
+ L3 4596480 0.000000 -0.098425 0.039370 0 -0.019685 0.039370 0
+ L3 4596480 0.000000 -0.098425 -0.059055 0 -0.019685 -0.059055 0
+ L3 4596480 0.000000 -0.118110 -0.137795 0 -0.019685 -0.137795 0
+ L3 4596480 0.000000 -0.098425 -0.196850 0 -0.019685 -0.196850 0
+ L3 4596480 0.000000 -0.098425 -0.275591 0 -0.019685 -0.275591 0
+ L3 4596480 0.000000 -0.118110 -0.334646 0 -0.039370 -0.334646 0
+ L3 4596480 0.000000 -0.098425 -0.374016 0 -0.019685 -0.374016 0
+ L3 4596480 0.000000 -0.098425 -0.374016 0 -0.098425 -0.433071 0
+ L3 4596480 0.000000 -0.177165 -0.374016 0 -0.196850 -0.433071 0
+ L3 4596480 0.000000 -0.255906 -0.374016 0 -0.255906 -0.452756 0
+ L3 4596480 0.000000 -0.354331 -0.334646 0 -0.354331 -0.433071 0
+ L3 4596480 0.000000 -0.452756 -0.354331 0 -0.472441 -0.433071 0
+ L3 4596480 0.000000 -0.531496 -0.354331 0 -0.531496 -0.433071 0
+ L3 4596480 0.000000 -0.629921 -0.354331 0 -0.629921 -0.452756 0
+ L3 4596480 0.000000 -0.728346 -0.354331 0 -0.728346 -0.413386 0
+ L3 4596480 0.000000 -0.826772 -0.374016 0 -0.846457 -0.413386 0
+ L3 4596480 0.000000 -0.905512 -0.354331 0 -0.925197 -0.433071 0
+ L3 4596480 0.000000 -0.984252 -0.354331 0 -0.984252 -0.452756 0
+ L3 4596480 0.000000 -1.043307 -0.354331 0 -0.098425 -0.354331 0
+ L3 4596480 0.000000 -1.043307 0.334646 0 -0.098425 0.334646 0
+ L3 4596480 0.000000 -0.098425 0.334646 0 -0.098425 -0.334646 0
+ L3 4596480 0.000000 -1.023622 0.334646 0 -1.023622 -0.374016 0
+ L3 4596480 0.000000 -0.728346 0.295276 0 -0.964567 0.059055 0
+ L3 4596480 0.000000 -0.551181 0.255906 0 -0.984252 -0.196850 0
+ L3 4596480 0.000000 -0.334646 0.236220 0 -0.787402 -0.275591 0
+ L3 4596480 0.000000 -0.236220 0.078740 0 -0.334646 -0.137795 0
+ L3 4596480 0.000000 -0.354331 -0.137795 0 -0.531496 -0.177165 0
+ L3 4596480 0.000000 -0.157480 0.039370 0 -0.433071 -0.314961 0
+ L3 4596480 0.000000 -0.531496 -0.196850 0 -0.629921 -0.275591 0
+ L3 4596480 0.000000 -0.177165 0.295276 0 -0.334646 0.098425 0
+ L3 4596480 0.000000 -0.669291 0.255906 0 -0.807087 0.098425 0
+ L3 4596480 0.000000 -0.885827 0.295276 0 -1.003937 0.196850 0
+ L3 4596480 0.000000 -0.157480 -0.157480 0 -0.275591 -0.314961 0
+ L3 4596480 0.000000 -0.452756 0.216535 0 -0.767717 -0.019685 0
+ L3 4596480 0.000000 -0.767717 -0.019685 0 -0.846457 -0.275591 0
+ L3 4596480 0.000000 -0.590551 0.314961 0 -0.669291 0.236220 0
+ L3 4596480 0.000000 -0.433071 0.314961 0 -0.452756 0.255906 0
+ L3 4596480 0.000000 -0.295276 0.295276 0 -0.393701 0.216535 0
+ L3 4596480 0.000000 -0.984252 -0.295276 0 -0.866142 -0.157480 0
+ END$SEGS
+TURNOUT N "Minitrix Uncoupling Track 76.3mm 14969"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.003937 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 3.003937 0.000000
+ F4 4539717 0.000000 4 0
+ 0.826772 0.177165 0
+ 2.283465 0.177167 0
+ 2.283464 -0.177163 0
+ 0.826771 -0.177165 0
+ F4 0 0.000000 4 0
+ 1.191732 0.137795 0
+ 2.077559 0.137795 0
+ 2.077559 0.000000 0
+ 1.191732 0.000000 0
+ F4 4539717 0.000000 4 0
+ 0.196850 -0.316806 0
+ 1.889764 -0.316804 0
+ 1.889762 -0.887670 0
+ 0.196849 -0.887672 0
+ F4 4539717 0.000000 4 0
+ 1.231102 -0.177165 0
+ 1.664173 -0.177165 0
+ 1.664173 -0.334646 0
+ 1.231102 -0.334646 0
+ F4 0 0.000000 4 0
+ 0.275591 -0.433071 0
+ 1.702756 -0.433069 0
+ 1.702755 -0.814959 0
+ 0.275590 -0.814961 0
+ Y4 15066597 0.020833 4 0
+ 1.231102 0.096580 0
+ 1.408268 0.096580 0
+ 1.408268 0.037525 0
+ 1.231102 0.037525 0
+ Y4 16777215 0.020833 4 0
+ 0.187795 -0.651452 0
+ 0.286220 -0.651452 0
+ 0.286220 -0.671137 0
+ 0.187795 -0.671137 0
+ Y4 32832 0.020833 4 0
+ 0.187795 -0.572712 0
+ 0.286220 -0.572712 0
+ 0.286220 -0.592397 0
+ 0.187795 -0.592397 0
+ Z 0 -0.039370 -0.601316 0.000000 0 10.000000 "+ve"
+ Z 0 -0.013648 -0.708661 0.000000 0 10.000000 "-ve"
+ Y4 0 0.020833 4 0
+ 1.246194 0.540416 0
+ 1.265879 0.540416 0
+ 1.265879 0.205770 0
+ 1.246194 0.205770 0
+ Z 12632256 0.374016 -0.708661 0.000000 0 18.000000 "Decoupler"
+ END$SEGS
+TURNOUT N "Minitrix Grade Crossing Track 104.2mm 14974"
+ P "Normal" 2
+ E 0.000000 0.000000 270.000000
+ E 4.102362 0.000000 90.000000
+ L3 11579568 1.322835 0.000000 0.000000 0 4.102362 0.000000 0
+ S 0 0.000000 0.000000 0.000000 4.102362 0.000000
+ Y4 0 0.020000 4 0
+ 0.000000 0.661418 0
+ 4.102362 0.661418 0
+ 2.801181 0.218750 0
+ 1.301181 0.218750 0
+ Y4 0 0.020000 6 0
+ 0.650591 0.000000 0
+ 1.301181 0.150000 0
+ 2.801181 0.150000 0
+ 3.451773 0.000000 0
+ 2.801181 -0.150000 0
+ 1.301181 -0.150000 0
+ Y4 0 0.020000 4 0
+ 0.000000 -0.661418 0
+ 4.102362 -0.661418 0
+ 2.801181 -0.218750 0
+ 1.301181 -0.218750 0
+ END$SEGS
+TURNOUT N "Minitrix Adjustable Track 86.5-120mm 14975"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.405512 0.000000 90.000000
+ X adjustable 3.405512 4.724409
+ S 0 0.000000 0.000000 0.000000 3.405512 0.000000
+ END$SEGS
+
+
+SUBCONTENTS Minitrix Track - Turntable
+TURNOUT N "Minitrix Turntable 24 Pos 15d 66570"
+ P "1" 1
+ P "2" 2
+ P "3" 3
+ P "4" 4
+ P "5" 5
+ P "6" 6
+ P "7" 7
+ P "8" 8
+ P "9" 9
+ P "10" 10
+ P "11" 11
+ P "12" 12
+ E 0.000000 2.598425 0.000000
+ E 0.672522 2.509886 15.000000
+ E 1.299213 2.250302 30.000000
+ E 1.837364 1.837364 45.000000
+ E 2.250302 1.299213 60.000000
+ E 2.509886 0.672522 75.000000
+ E 2.598425 0.000000 90.000000
+ E 2.509886 -0.672522 105.000000
+ E 2.250302 -1.299213 120.000000
+ E 1.837364 -1.837364 135.000000
+ E 1.299213 -2.250302 150.000000
+ E 0.672522 -2.509886 165.000000
+ E 0.000000 -2.598425 180.000000
+ E -0.672522 -2.509886 195.000000
+ E -1.299213 -2.250302 210.000000
+ E -1.837364 -1.837364 225.000000
+ E -2.250302 -1.299213 240.000000
+ E -2.509886 -0.672522 255.000000
+ E -2.598425 0.000000 270.000000
+ E -2.509886 0.672522 285.000000
+ E -2.250302 1.299213 300.000000
+ E -1.837364 1.837364 315.000000
+ E -1.299213 2.250302 330.000000
+ E -0.672522 2.509886 345.000000
+ S 16777215 0 0.000000 2.598425 0.000000 -2.598425
+ S 16777215 0 0.672522 2.509886 -0.672522 -2.509886
+ S 16777215 0 1.299213 2.250302 -1.299213 -2.250302
+ S 16777215 0 1.837364 1.837364 -1.837364 -1.837364
+ S 16777215 0 2.250302 1.299213 -2.250302 -1.299213
+ S 16777215 0 2.509886 0.672522 -2.509886 -0.672522
+ S 16777215 0 2.598425 0.000000 -2.598425 0.000000
+ S 16777215 0 2.509886 -0.672522 -2.509886 0.672522
+ S 16777215 0 2.250302 -1.299213 -2.250302 1.299213
+ S 16777215 0 1.837364 -1.837364 -1.837364 1.837364
+ S 16777215 0 1.299213 -2.250302 -1.299213 2.250302
+ S 16777215 0 0.672522 -2.509886 -0.672522 2.509886
+ A3 8424071 0.031250 2.598425 0.000000 0.000000 0 0.000000 360.000000
+ A3 8424071 0.031250 3.346457 0.000000 0.000000 0 0.000000 360.000000
+ A3 8424071 0.031250 0.649606 0.000000 0.000000 0 0.000000 360.000000
+ END$SEGS
+TURNOUT N "Minitrix Turntable Extension Track 19mm 66571"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.748032 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 0.748032 0.000000
+ END$SEGS
+TURNOUT N "Minitrix Transfer Table 7 Pos 66540"
+ P "1" 1 2 3
+ P "2" 4 5 6
+ P "3" 7 8 9
+ P "4" 10 11 12
+ P "5" 13 14 15
+ P "6" 16 17 18
+ P "7" 19 20 21
+ E 0.000000 0.000000 270.000000
+ E 8.661417 0.000000 90.000000
+ E 0.000000 1.322835 270.000000
+ E 8.661417 1.322835 90.000000
+ E 0.000000 2.645669 270.000000
+ E 8.661417 2.645669 90.000000
+ E 0.000000 3.968504 270.000000
+ E 8.661417 3.968504 90.000000
+ E 0.000000 5.291339 270.000000
+ E 8.661417 5.291339 90.000000
+ E 0.000000 6.614173 270.000000
+ E 8.661417 6.614173 90.000000
+ E 0.000000 7.937008 270.000000
+ E 8.661417 7.937008 90.000000
+ S 0 0 0.000000 0.000000 0.984287 0.000000
+ S 16777215 0 0.984287 0.000000 7.677159 0.000000
+ S 0 0 7.677159 0.000000 8.661417 0.000000
+ S 0 0 0.000000 1.322835 0.984287 1.322835
+ S 16777215 0 0.984287 1.322835 7.677159 1.322835
+ S 0 0 7.677159 1.322835 8.661417 1.322835
+ S 0 0 0.000000 2.645669 0.984287 2.645669
+ S 16777215 0 0.984287 2.645669 7.677159 2.645669
+ S 0 0 7.677159 2.645669 8.661417 2.645669
+ S 0 0 0.000000 3.968504 0.984287 3.968504
+ S 16777215 0 0.984287 3.968504 7.677159 3.968504
+ S 0 0 7.677159 3.968504 8.661417 3.968504
+ S 0 0 0.000000 5.291339 0.984287 5.291339
+ S 16777215 0 0.984287 5.291339 7.677159 5.291339
+ S 0 0 7.677159 5.291339 8.661417 5.291339
+ S 0 0 0.000000 6.614173 0.984287 6.614173
+ S 16777215 0 0.984287 6.614173 7.677159 6.614173
+ S 0 0 7.677159 6.614173 8.661417 6.614173
+ S 0 0 0.000000 7.937008 0.984287 7.937008
+ S 16777215 0 0.984287 7.937008 7.677159 7.937008
+ S 0 0 7.677159 7.937008 8.661417 7.937008
+ L3 0 0.030000 0.000000 -1.937008 0 0.000000 9.874016 0
+ L3 0 0.030000 0.000000 9.874016 0 8.661417 9.874016 0
+ L3 0 0.030000 8.661417 9.874016 0 8.661417 -1.937008 0
+ L3 0 0.030000 8.661417 -1.937008 0 0.000000 -1.937008 0
+ L3 0 0.030000 0.984287 -0.952768 0 0.984287 8.889838 0
+ L3 0 0.030000 0.984287 8.889838 0 3.405517 8.889838 0
+ L3 0 0.030000 3.405517 8.889838 0 3.405517 9.165348 0
+ L3 0 0.030000 3.405517 9.165348 0 5.255874 9.165506 0
+ L3 0 0.030000 5.255874 9.165506 0 5.255874 8.889838 0
+ L3 0 0.030000 5.255874 8.889838 0 7.677159 8.889838 0
+ L3 0 0.030000 7.677159 8.889838 0 7.677159 -0.952768 0
+ L3 0 0.030000 7.677159 -0.952768 0 5.255898 -0.952758 0
+ L3 0 0.030000 5.255898 -0.952758 0 5.255874 -1.228364 0
+ L3 0 0.030000 5.255874 -1.228364 0 3.405517 -1.228364 0
+ L3 0 0.030000 3.405517 -1.228364 0 3.405486 -0.952752 0
+ L3 0 0.030000 3.405486 -0.952752 0 0.984287 -0.952768 0
+ END$SEGS
diff --git a/app/lib/params/N-N- 90ft-ROUNDHOUSE.xtp b/app/lib/params/N-N- 90ft-ROUNDHOUSE.xtp
index 9cfb8f7..bf65b6a 100644
--- a/app/lib/params/N-N- 90ft-ROUNDHOUSE.xtp
+++ b/app/lib/params/N-N- 90ft-ROUNDHOUSE.xtp
@@ -1,7 +1,30 @@
# Parameter file by Rick Uhlenkott
CONTENTS N NP 90ft ROUNDHOUSE rdu
-TURNOUT N "SCRATCH NP N 90' roundhouse - Lewiston, ID layout 1"
- P "P0" 1 13 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 14 0 15 0 16 0 17 0 18 0 19 0 20 0 21 0 22 0 23 0 24
+TURNOUT N "SCRATCH NP N 90' roundhouse - Lewiston, ID layout 1" 512
+# P "P0" 1 13 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 14 0 15 0 16 0 17 0 18 0 19 0 20 0 21 0 22 0 23 0 24
+ P "P0" 17
+ P "P1" 2
+ P "P2" 16
+ P "P3" 15
+ P "P4" 1 13
+ P "P5" 3
+ P "P6" 4
+ P "P7" 24
+ P "P8" 5
+ P "P9" 23
+ P "P10" 6
+ P "P11" 22
+ P "P12" 7
+ P "P13" 19
+ P "P14" 8
+ P "P15" 18
+ P "P16" 12 14
+ P "P17" 9
+ P "P18" 20
+ P "P19" 11
+ P "P20" 21
+ P "P21" 10
+
E 0.000000 0.000000 246.054764
E -0.259539 1.160894 252.054857
E 7.749404 2.709102 54.054762
diff --git a/app/lib/params/N-NTram Track.xtp b/app/lib/params/N-NTram Track.xtp
new file mode 100755
index 0000000..646803c
--- /dev/null
+++ b/app/lib/params/N-NTram Track.xtp
@@ -0,0 +1,258 @@
+CONTENTS N-Tram N Scale Tram Track System
+#http://www.n-tram-shop.de
+#mfg by Wolfgang Besenhart
+SUBCONTENTS N-Tram N Scale Tram Track System - Straights
+TURNOUT N "N-Tram Tram Track System Straight Track 2.8mm A3-N"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.110236 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 0.110236 0.000000
+ L 11579568 0.026666 -0.000000 -0.255906 0.110236 -0.255906
+ L 11579568 0.026666 0.000000 0.255906 0.110236 0.255906
+ END
+TURNOUT N "N-Tram Tram Track System Straight Track 5mm A5-N"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.196850 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 0.196850 0.000000
+ L 11579568 0.026666 -0.000000 -0.255906 0.196850 -0.255906
+ L 11579568 0.026666 0.000000 0.255906 0.196850 0.255906
+ END
+TURNOUT N "N-Tram Tram Track System Straight Track 60mm LB3-N"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.362205 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 2.362205 0.000000
+ L 11579568 0.026666 -0.000000 -0.255906 2.362205 -0.255906
+ L 11579568 0.026666 0.000000 0.255906 2.362205 0.255906
+ END
+TURNOUT N "N-Tram Tram Track System Straight Track 65mm LW3-N"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.559055 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 2.559055 0.000000
+ L 11579568 0.026666 -0.000000 -0.255906 2.559055 -0.255906
+ L 11579568 0.026666 0.000000 0.255906 2.559055 0.255906
+ END
+TURNOUT N "N-Tram Tram Track System Straight Track 109.7mm LB12-N"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.318898 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 4.318898 0.000000
+ L 11579568 0.026666 -0.000000 -0.255906 4.318898 -0.255906
+ L 11579568 0.026666 0.000000 0.255906 4.318898 0.255906
+ END
+TURNOUT N "N-Tram Tram Track System Straight Track 112.5mm LW12-N"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.429134 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 4.429134 0.000000
+ L 11579568 0.026666 -0.000000 -0.255906 4.429134 -0.255906
+ L 11579568 0.026666 0.000000 0.255906 4.429134 0.255906
+ END
+TURNOUT N "N-Tram Tram Track System Straight Track 125mm LX-N"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.921260 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 4.921260 0.000000
+ L 11579568 0.026666 -0.000000 -0.255906 4.921260 -0.255906
+ L 11579568 0.026666 0.000000 0.255906 4.921260 0.255906
+ END
+
+SUBCONTENTS N-Tram N Scale Tram Track System - Curves
+TURNOUT N "N-Tram Tram Track System Curve Track R1 22.5d 114mm R1-N-22.5"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.717556 0.341643 67.500000
+ C 0 0.000000 4.488189 0.000000 4.488189 157.500000 22.500000
+ A 11579568 0.026666 4.744095 0.000000 4.488189 157.500000 22.500000
+ A 11579568 0.026666 4.232283 0.000000 4.488189 157.500000 22.500000
+ END
+TURNOUT N "N-Tram Tram Track System Curve Track R1 45d 114mm R1-N-45"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.173629 1.314560 45.000000
+ C 0 0.000000 4.488189 0.000000 4.488189 135.000000 45.000000
+ A 11579568 0.026666 4.744095 0.000000 4.488189 135.000000 45.000000
+ A 11579568 0.026666 4.232283 0.000000 4.488189 135.000000 45.000000
+ END
+TURNOUT N "N-Tram Tram Track System Curve Track R2 22.5d 139mm R2-N-22.5"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.094212 0.416565 67.500000
+ C 0 0.000000 5.472441 0.000000 5.472441 157.500000 22.500000
+ A 11579568 0.026666 5.728347 0.000000 5.472441 157.500000 22.500000
+ A 11579568 0.026666 5.216535 0.000000 5.472441 157.500000 22.500000
+ END
+TURNOUT N "N-Tram Tram Track System Curve Track R2 45d 139mm R2-N-45"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.869600 1.602841 45.000000
+ C 0 0.000000 5.472441 0.000000 5.472441 135.000000 45.000000
+ A 11579568 0.026666 5.728347 0.000000 5.472441 135.000000 45.000000
+ A 11579568 0.026666 5.216535 0.000000 5.472441 135.000000 45.000000
+ END
+TURNOUT N "N-Tram Tram Track System Curve Track R3 22.5d 164mm R3-N-22.5"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.470869 0.491486 67.500000
+ C 0 0.000000 6.456693 0.000000 6.456693 157.500000 22.500000
+ A 11579568 0.026666 6.712599 0.000000 6.456693 157.500000 22.500000
+ A 11579568 0.026666 6.200787 0.000000 6.456693 157.500000 22.500000
+ END
+TURNOUT N "N-Tram Tram Track System Curve Track R3 45d 164mm R3-N-45"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.565571 1.891122 45.000000
+ C 0 0.000000 6.456693 0.000000 6.456693 135.000000 45.000000
+ A 11579568 0.026666 6.712599 0.000000 6.456693 135.000000 45.000000
+ A 11579568 0.026666 6.200787 0.000000 6.456693 135.000000 45.000000
+ END
+TURNOUT N "N-Tram Tram Track System Curve Track R4 22.5d 189mm R4-N-22.5"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.847526 0.566408 67.500000
+ C 0 0.000000 7.440945 0.000000 7.440945 157.500000 22.500000
+ A 11579568 0.026666 7.696851 0.000000 7.440945 157.500000 22.500000
+ A 11579568 0.026666 7.185039 0.000000 7.440945 157.500000 22.500000
+ END
+TURNOUT N "N-Tram Tram Track System Curve Track R5 22.5d 214mm R5-N-22.5"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 3.224183 0.641330 67.500000
+ C 0 0.000000 8.425197 0.000000 8.425197 157.500000 22.500000
+ A 11579568 0.026666 8.681103 0.000000 8.425197 157.500000 22.500000
+ A 11579568 0.026666 8.169291 0.000000 8.425197 157.500000 22.500000
+ END
+TURNOUT N "N-Tram Tram Track System Curve Track R11 475mm R11-N"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.155862 0.467624 77.160000
+ C 0 0.000000 18.700787 0.000000 18.700787 167.160000 12.840000
+ A 11579568 0.026666 18.956693 0.000000 18.700787 167.160000 12.840000
+ A 11579568 0.026666 18.444881 0.000000 18.700787 167.160000 12.840000
+ END
+TURNOUT N "N-Tram Tram Track System Curve Track R12 500mm R12-N"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.374591 0.492235 77.160000
+ C 0 0.000000 19.685039 0.000000 19.685039 167.160000 12.840000
+ A 11579568 0.026666 19.940945 0.000000 19.685039 167.160000 12.840000
+ A 11579568 0.026666 19.429133 0.000000 19.685039 167.160000 12.840000
+ END
+TURNOUT N "N-Tram Tram Track System Curve Track R13 525mm R13-N"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.593321 0.516847 77.160000
+ C 0 0.000000 20.669291 0.000000 20.669291 167.160000 12.840000
+ A 11579568 0.026666 20.925197 0.000000 20.669291 167.160000 12.840000
+ A 11579568 0.026666 20.413385 0.000000 20.669291 167.160000 12.840000
+ END
+
+SUBCONTENTS N-Tram N Scale Tram Track System - Turnouts
+TURNOUT N "N-Tram Tram Track System Righthand R3 Turnout 65mm/R164mm W3R-N"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 2.559055 0.000000 90.000000
+ E 2.460630 -0.492126 112.500000
+ S 0 0.000000 0.000000 0.000000 0.354300 0.000000
+ S 0 0.000000 0.354300 0.000000 2.559055 0.000000
+ C 0 0.000000 4.616309 0.354282 -4.616309 0.000000 22.500000
+ S 0 0.000000 2.120895 -0.351400 2.460630 -0.492126
+ L 11579568 0.026666 0.000000 -0.255906 0.354299 -0.255906
+ L 11579568 0.026666 0.000000 0.255906 2.559055 0.255906
+ A 11579568 0.026666 4.360403 0.354282 -4.616309 0.000000 22.500000
+ L 11579568 0.026666 2.022961 -0.587824 2.362696 -0.728551
+ END
+TURNOUT N "N-Tram Tram Track System Lefthand R3 Turnout 65mm/R164mm W3L-N"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 2.559055 0.000000 90.000000
+ E 2.460630 0.492126 67.500000
+ S 0 0.000000 0.000000 0.000000 0.354300 0.000000
+ S 0 0.000000 0.354300 0.000000 2.559055 0.000000
+ C 0 0.000000 -4.616309 0.354306 4.616309 157.500000 22.500000
+ S 0 0.000000 2.120895 0.351400 2.460630 0.492126
+ L 11579568 0.026666 -0.000001 -0.255906 2.559054 -0.255906
+ L 11579568 0.026666 0.000000 0.255906 0.354300 0.255906
+ A 11579568 0.026666 4.360403 0.354306 4.616309 157.500000 22.500000
+ L 11579568 0.026666 2.022962 0.587825 2.362697 0.728551
+ END
+TURNOUT N "N-Tram Tram Track System Lefthand R12 Turnout 112.5mm/R500mm W12L-N"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 4.429134 0.000000 90.000000
+ E 4.374016 0.492126 77.160000
+ S 0 0.000000 0.000000 0.000000 0.354745 0.000000
+ S 0 0.000000 0.354745 0.000000 4.429134 0.000000
+ C 0 0.000000 -16.531733 0.354767 16.531733 167.160000 12.840000
+ S 0 0.000000 4.028619 0.413394 4.374016 0.492126
+ L 11579568 0.026666 -0.000000 -0.255906 4.429133 -0.255906
+ L 11579568 0.026666 0.000000 0.255906 0.354745 0.255906
+ A 11579568 0.026666 16.275827 0.354745 16.531733 167.160000 12.840000
+ L 11579568 0.026666 3.971745 0.662900 4.317142 0.741632
+ END
+TURNOUT N "N-Tram Tram Track System Righthand R12 Turnout 112.5mm/R500mm W12R-N"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 4.429134 0.000000 90.000000
+ E 4.374016 -0.492126 102.840000
+ S 0 0.000000 0.000000 0.000000 0.354745 0.000000
+ S 0 0.000000 0.354745 0.000000 4.429134 0.000000
+ C 0 0.000000 16.531733 0.354745 -16.531733 0.000000 12.840000
+ S 0 0.000000 4.028619 -0.413394 4.374016 -0.492126
+ L 11579568 0.026666 -0.000000 -0.255906 0.354744 -0.255906
+ L 11579568 0.026666 0.000000 0.255906 4.429134 0.255906
+ A 11579568 0.026666 16.275827 0.354679 -16.531733 0.000000 12.840000
+ L 11579568 0.026666 3.971744 -0.662899 4.317141 -0.741631
+ END
+TURNOUT N "N-Tram Tram Track System Wye R3 Turnout R164mm WY-N"
+ P "Left" 1 2 3
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 2.460630 0.246063 78.750000
+ E 2.460630 -0.246063 101.250000
+ S 0 0.000000 0.000000 0.000000 0.354300 0.000000
+ C 0 0.000000 -8.826193 0.354312 8.826193 168.750000 11.250000
+ S 0 0.000000 2.076226 0.169597 2.460630 0.246063
+ C 0 0.000000 8.826193 0.354265 -8.826193 0.000000 11.250000
+ S 0 0.000000 2.076226 -0.169597 2.460630 -0.246063
+ L 11579568 0.026666 -0.000001 -0.255906 0.354299 -0.255906
+ L 11579568 0.026666 0.000000 0.255906 0.354300 0.255906
+ A 11579568 0.026666 8.570288 0.354312 8.826193 168.750000 11.250000
+ L 11579568 0.026666 2.026300 0.420585 2.410704 0.497051
+ A 11579568 0.026666 8.570288 0.354265 -8.826193 0.000000 11.250000
+ L 11579568 0.026666 2.026299 -0.420585 2.410702 -0.497051
+ END
+TURNOUT N "N-Tram Tram Track System Curve Track R3 R164mm BYL-N"
+ P "Normal" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 2.460630 0.246063 78.750000
+ S 0 0.000000 0.000000 0.000000 0.587659 0.000000
+ C 0 0.000000 -6.456693 0.587659 6.456693 168.750000 11.250000
+ S 0 0.000000 1.847297 0.124064 2.460630 0.246063
+ L 11579568 0.026666 0.000000 -0.255906 0.587659 -0.255906
+ L 11579568 0.026666 0.000000 0.255906 0.587659 0.255906
+ A 11579568 0.026666 6.712599 0.587659 6.456693 168.750000 11.250000
+ A 11579568 0.026666 6.200787 0.587659 6.456693 168.750000 11.250000
+ L 11579568 0.026666 1.797373 0.375052 2.410705 0.497051
+ L 11579568 0.026666 1.897222 -0.126925 2.510555 0.004925
+ END
+TURNOUT N "N-Tram Tram Track System Curve Track R3 R164mm BYR-N"
+ P "Normal" 1 2 3
+ E 0.000000 0.000000 270.000000
+ E 2.460630 -0.246063 101.250000
+ S 0 0.000000 0.000000 0.000000 0.587659 0.000000
+ C 0 0.000000 6.456693 0.587659 -6.456693 0.000000 11.250000
+ S 0 0.000000 1.847297 -0.124064 2.460630 -0.246063
+ L 11579568 0.026666 0.000000 -0.255906 0.587659 -0.255906
+ L 11579568 0.026666 0.000000 0.255906 0.587659 0.255906
+ A 11579568 0.026666 6.712599 0.587659 -6.456693 0.000000 11.250000
+ A 11579568 0.026666 6.200787 0.587659 -6.456693 0.000000 11.250000
+ L 11579568 0.026666 1.797373 -0.375052 2.410705 -0.497051
+ L 11579568 0.026666 1.897222 0.126925 2.510555 0.004925
+ END
diff --git a/app/lib/params/N-PecoCode55Finescale.xtp b/app/lib/params/N-PecoCode55Finescale.xtp
index 8880114..c3344ef 100644
--- a/app/lib/params/N-PecoCode55Finescale.xtp
+++ b/app/lib/params/N-PecoCode55Finescale.xtp
@@ -94,30 +94,34 @@ TURNOUT N "Peco-55 3-Way Asymmetric SL-E399F"
S 0 0.000000 0.421365 0.000000 6.033465 0.000000
END
TURNOUT N "Peco-55 Curved Right SL-E386F"
- P "Normal" 1 2 3
- P "Reverse" 1 4 5 6
+ U "Cornu Curved Turnout" "" "Peco-55" "Left" "L" "Right" "R" 6.048031 19.633000 1.046457 17.992126 9.815000 0.526772 35.984252 6.137008 35.984252 0.812000 0.000000 0.000000 0
+ P "Normal" 1 2 3 4
+ P "Reverse" 1 2 5 6 7
E 0.000000 0.000000 270.000000
E 6.137008 -0.526772 99.815000
E 6.048031 -1.046457 109.633000
- C 0 0.000000 35.984252 0.000000 -35.984252 0.000000 0.079612
- C 0 0.000000 35.880126 0.011345 -35.880140 0.061728 9.688447
- C 0 0.000000 36.000000 0.002864 -35.984333 9.735388 0.079612
- C 0 0.000000 17.185618 0.172609 -17.185215 359.591225 10.119708
- C 0 0.000000 18.699999 -0.281647 -18.642768 10.329528 9.301755
- C 0 0.000000 18.000000 0.000137 -18.000011 19.473845 0.159155
+ C 0 0.000000 35.984252 0.000000 -35.984252 0.000000 0.318449
+ S 0 0.000000 0.199999 -0.000556 0.811855 -0.007644
+ C 0 0.000000 35.479016 0.040034 -35.478264 1.246526 8.325658
+ C 0 0.000000 35.984252 0.002864 -35.984333 9.496551 0.318449
+ C 0 0.000000 13.822756 0.627929 -13.829176 0.762400 10.700481
+ C 0 0.000000 20.780632 -0.994239 -20.598252 12.137227 7.119631
+ C 0 0.000000 17.992126 0.002783 -17.992594 18.996102 0.636898
END
TURNOUT N "Peco-55 Curved Left SL-E387F"
- P "Normal" 1 2 3
- P "Reverse" 1 4 5 6
+ U "Cornu Curved Turnout" "" "Peco-55" "Left" "L" "Right" "R" 6.048031 19.633000 1.046457 17.992126 9.815000 0.526772 35.984252 6.137008 35.984252 0.812000 0.000000 0.000000 0
+ P "Normal" 1 2 3 4
+ P "Reverse" 1 2 5 6 7
E 0.000000 0.000000 270.000000
E 6.137008 0.526772 80.185000
E 6.048031 1.046457 70.367000
- C 0 0.000000 35.984252 0.000000 35.984252 179.920388 0.079612
- C 0 0.000000 -35.880126 0.011345 35.880140 170.249825 9.688447
- C 0 0.000000 36.000000 0.002864 35.984333 170.185000 0.079612
- C 0 0.000000 -17.185618 0.172609 17.185215 170.289067 10.119708
- C 0 0.000000 -18.699999 -0.281647 18.642768 160.368717 9.301755
- C 0 0.000000 18.000000 0.000137 18.000011 160.367000 0.159155
+ C 0 0.000000 -35.984252 0.000000 35.984252 179.681551 0.318449
+ S 0 0.000000 0.199999 0.000556 0.811855 0.007644
+ C 0 0.000000 -35.479016 0.040034 35.478264 170.427816 8.325658
+ C 0 0.000000 -35.984252 0.002864 35.984333 170.185000 0.318449
+ C 0 0.000000 -13.822756 0.627929 13.829176 168.537119 10.700481
+ C 0 0.000000 -20.780632 -0.994239 20.598252 160.743142 7.119631
+ C 0 0.000000 -17.992126 0.002783 17.992594 160.367000 0.636898
END
TURNOUT N "Peco-55 Scissors Crossover SL-E383F"
P "Normal" 1 2 3 0 4 5 6
@@ -152,9 +156,11 @@ TURNOUT N "Peco-55 Single Slip SL-380F"
S 0 0.000000 5.321536 -0.403784 6.016938 -0.526409
C 0 0.000000 26.577553 0.706221 -26.577553 0.000076 10.000152
END
-TURNOUT N "Peco-55 Double Slip SL-390F"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT N "Peco-55 Double Slip SL-390F" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 6.062992 0.000000 90.000000
E 0.046054 0.526409 280.000000
@@ -190,7 +196,7 @@ TURNOUT N "Peco-55 Short Crossing 20d SL-E393F"
END
SUBCONTENTS Peco Code 55 - Turn Tables
-TURNOUT N "Peco Turn Table NB-55"
+TURNOUT N "Peco Turn Table NB-55" 512
P "1" 1 2 3
P "2" 4 5 6
P "3" 7 8 9
diff --git a/app/lib/params/N-PecoCode80Streamline.xtp b/app/lib/params/N-PecoCode80Streamline.xtp
index 73267e7..d1ff7d2 100644
--- a/app/lib/params/N-PecoCode80Streamline.xtp
+++ b/app/lib/params/N-PecoCode80Streamline.xtp
@@ -57,30 +57,34 @@ TURNOUT N "Peco-80 Wye SL-1741/397"
S 0 0.000000 2.178781 -0.063715 5.000000 -0.261000
END
TURNOUT N "Peco-80 Curved Right SL-1734/386"
- P "Normal" 1 2 3
- P "Reverse" 1 4 5 6
+ U "Cornu Curved Turnout" "" "Peco80" "Left" "L" "Right" "R" 6.048031 19.633000 1.046457 17.992594 9.815000 0.526772 35.984252 6.137008 35.984252 0.812000 0.000000 0.000000 0
+ P "Normal" 1 2 3 4
+ P "Reverse" 1 2 5 6 7
E 0.000000 0.000000 270.000000
E 6.137008 -0.526772 99.815000
E 6.048031 -1.046457 109.633000
- C 0 0.000000 35.984252 0.000000 -35.984252 0.000000 0.079612
- C 0 0.000000 35.880126 0.011345 -35.880140 0.061728 9.688447
- C 0 0.000000 36.000000 0.002864 -35.984333 9.735388 0.079612
- C 0 0.000000 17.185618 0.172609 -17.185215 359.591225 10.119708
- C 0 0.000000 18.699999 -0.281647 -18.642768 10.329528 9.301755
- C 0 0.000000 18.000000 0.000137 -18.000011 19.473845 0.159155
+ C 0 0.000000 35.984252 0.000000 -35.984252 0.000000 0.318449
+ S 0 0.000000 0.199999 -0.000556 0.811855 -0.007644
+ C 0 0.000000 35.479016 0.040034 -35.478264 1.246526 8.325658
+ C 0 0.000000 35.984252 0.002864 -35.984333 9.496551 0.318449
+ C 0 0.000000 13.822784 0.627931 -13.829204 0.762392 10.700460
+ C 0 0.000000 20.780522 -0.994216 -20.598145 12.137226 7.119669
+ C 0 0.000000 17.992594 0.002626 -17.993035 18.996118 0.636882
END
TURNOUT N "Peco-80 Curved Left SL-1735/387"
- P "Normal" 1 2 3
- P "Reverse" 1 4 5 6
+ U "Cornu Curved Turnout" "" "Peco80" "Left" "L" "Right" "R" 6.048031 19.633000 1.046457 17.992594 9.815000 0.526772 35.984252 6.137008 35.984252 0.812000 0.000000 0.000000 0
+ P "Normal" 1 2 3 4
+ P "Reverse" 1 2 5 6 7
E 0.000000 0.000000 270.000000
E 6.137008 0.526772 80.185000
E 6.048031 1.046457 70.367000
- C 0 0.000000 35.984252 0.000000 35.984252 179.920388 0.079612
- C 0 0.000000 -35.880126 0.011345 35.880140 170.249825 9.688447
- C 0 0.000000 36.000000 0.002864 35.984333 170.185000 0.079612
- C 0 0.000000 -17.185618 0.172609 17.185215 170.289067 10.119708
- C 0 0.000000 -18.699999 -0.281647 18.642768 160.368717 9.301755
- C 0 0.000000 18.000000 0.000137 18.000011 160.367000 0.159155
+ C 0 0.000000 -35.984252 0.000000 35.984252 179.681551 0.318449
+ S 0 0.000000 0.199999 0.000556 0.811855 0.007644
+ C 0 0.000000 -35.479016 0.040034 35.478264 170.427816 8.325658
+ C 0 0.000000 -35.984252 0.002864 35.984333 170.185000 0.318449
+ C 0 0.000000 -13.822784 0.627931 13.829204 168.537148 10.700460
+ C 0 0.000000 -20.780522 -0.994216 20.598145 160.743105 7.119669
+ C 0 0.000000 -17.992594 0.002626 17.993035 160.367000 0.636882
END
SUBCONTENTS Peco Code 80 - Crossings
# Crossing Design by Dave Bullis - 3.582677 25.000000 3.582677
@@ -127,7 +131,7 @@ TURNOUT N "Peco Right Catchpoint SL-384"
S 0 0.000000 1.102304 -0.016349 2.875000 -0.093750
END
SUBCONTENTS Peco - Turntables
-TURNOUT N "Peco Turn Table NB-55"
+TURNOUT N "Peco Turn Table NB-55" 512
P "1" 1 2 3
P "2" 4 5 6
P "3" 7 8 9
diff --git a/app/lib/params/N-ScaleScene Structures.xtp b/app/lib/params/N-ScaleScene Structures.xtp
new file mode 100755
index 0000000..8fbfb62
--- /dev/null
+++ b/app/lib/params/N-ScaleScene Structures.xtp
@@ -0,0 +1,233 @@
+CONTENTS ScaleScenes N Scale Structures
+SUBCONTENTS ScaleScenes N Scale Structures - Dockscenes
+STRUCTURE N "ScaleScenes Canal Boat 133 x 15mm T108b"
+ L3 255 0.041667 0.670443 0.611385 0 4.981466 0.611385 0
+ L3 255 0.041667 0.670443 0.020834 0 4.981466 0.020834 0
+ L3 255 0.020833 4.981466 0.611385 0 4.981466 0.001148 0
+ A3 255 0.041667 0.286791 4.961780 0.324594 0 0.000000 172.109925
+ L3 255 0.020833 0.670443 0.611385 0 0.670443 0.020834 0
+ A3 255 0.041667 1.265827 0.844627 -0.644977 0 319.398747 33.590731
+ A3 255 0.041667 1.430707 0.918968 1.429789 0 190.003498 28.881108
+ L3 255 0.020833 0.355482 0.434219 0 0.355482 0.178314 0
+ L3 255 0.020833 0.572017 0.434219 0 0.572017 0.178314 0
+ L3 255 0.020833 0.572017 0.197999 0 0.335797 0.197999 0
+ L3 255 0.020833 0.335797 0.434219 0 0.599576 0.434219 0
+ L3 255 0.041667 0.552332 0.375164 0 0.552332 0.375164 0
+ L3 255 0.020833 4.981466 0.434219 0 4.587765 0.434219 0
+ L3 255 0.020833 4.981466 0.197999 0 4.587765 0.197999 0
+ L3 255 0.020833 4.587765 0.446030 0 4.587765 0.190125 0
+ L3 255 0.020833 0.670443 0.552330 0 4.961781 0.552330 0
+ L3 255 0.020833 0.670443 0.079889 0 4.981466 0.079889 0
+END
+STRUCTURE N "ScaleScenes Canal Boat - Front Half ONLY T108b"
+ L3 255 0.041667 0.670443 0.611385 0 2.814991 0.611385 0
+ L3 255 0.041667 0.670443 0.020834 0 2.814991 0.020834 0
+ L3 255 0.020833 0.670443 0.611385 0 0.670443 0.020834 0
+ A3 255 0.041667 1.265827 0.844627 -0.644977 0 319.398747 33.590731
+ A3 255 0.041667 1.430707 0.918968 1.429789 0 190.003498 28.881108
+ L3 255 0.020833 0.355482 0.434219 0 0.355482 0.178314 0
+ L3 255 0.020833 0.572017 0.434219 0 0.572017 0.178314 0
+ L3 255 0.020833 0.572017 0.197999 0 0.335797 0.197999 0
+ L3 255 0.020833 0.335797 0.434219 0 0.599576 0.434219 0
+ L3 255 0.041667 0.552332 0.375164 0 0.552332 0.375164 0
+ L3 255 0.020833 0.670443 0.552330 0 2.814991 0.552330 0
+ L3 255 0.020833 0.670443 0.079889 0 2.814991 0.079889 0
+END
+STRUCTURE N "ScaleScenes Canal Bridge T018b"
+ L3 255 0.052083 4.055118 3.569349 0 4.055118 0.026042 0
+ L3 255 0.010417 4.055118 3.569349 0 0.196847 3.569349 0
+ L3 255 0.010417 4.055118 0.026042 0 0.196852 0.026036 0
+ L3 255 0.041667 3.149606 2.640215 0 3.149606 0.931553 0
+ L3 255 0.010417 1.614170 3.569349 0 1.614171 2.978794 0
+ L3 255 0.010417 7.814961 5.400059 0 7.814961 5.400059 0
+ L3 255 0.041667 2.834646 2.978798 0 1.614173 2.978798 0
+ L3 255 0.041667 2.795276 0.616593 0 1.614173 0.616593 0
+ A3 255 0.041667 0.314961 2.846457 2.675648 0 354.999880 100.000000
+ A3 255 0.041667 0.314961 2.830709 0.931552 0 86.468858 100.000000
+ L3 255 0.010417 1.614174 0.616593 0 1.614175 0.026038 0
+ L3 255 0.031250 3.110236 1.187459 0 1.062992 1.187459 0
+ L3 255 0.031250 3.149606 2.073286 0 0.196849 2.073286 0
+ L3 255 0.020833 0.196847 2.978798 0 0.196852 0.577223 0
+ L3 255 0.010417 4.055118 2.092971 0 4.055118 2.092971 0
+ L3 255 0.010417 4.015748 2.092971 0 4.015748 2.092971 0
+ A3 255 0.031250 2.345873 1.249483 3.549495 0 179.530677 25.000000
+ L3 255 0.010417 3.523622 1.600845 0 3.523622 1.600845 0
+ L3 255 0.052083 0.393701 0.577223 0 0.196850 0.577223 0
+ L3 255 0.052083 1.299213 0.026042 0 4.082677 0.026042 0
+ A3 255 0.052083 2.337761 -0.246435 5.250569 0 135.985084 32.592666
+ L3 255 0.052083 1.338583 3.569349 0 4.082677 3.569349 0
+ L3 255 0.010417 2.952756 2.506357 0 4.251969 2.506357 0
+ L3 255 0.010417 0.000000 1.187459 0 4.251969 1.187459 0
+ L3 255 0.010417 0.000000 2.073286 0 4.251969 2.073286 0
+ L3 255 0.052083 0.374016 0.596908 0 1.299213 0.045727 0
+ L3 255 0.031250 0.275591 1.423679 0 0.196850 1.423679 0
+ Z 255 1.594488 0.813443 0.000000 0 18.000000 "No Tow Path"
+ Z 255 2.657480 2.112656 0.000000 0 18.000000 "Tow Path"
+END
+STRUCTURE N "ScaleScenes Canal Bridge (Inverted) T018d(i)"
+ L3 255 0.052083 4.055118 3.569349 0 4.055118 0.026042 0
+ L3 255 0.010417 4.055118 3.569349 0 0.196847 3.569349 0
+ L3 255 0.010417 4.055118 0.026042 0 0.196852 0.026036 0
+ L3 255 0.041667 3.149606 2.640215 0 3.149606 0.931553 0
+ L3 255 0.010417 1.614170 3.569349 0 1.614171 2.978794 0
+ L3 255 0.041667 2.834646 2.978798 0 1.614173 2.978798 0
+ L3 255 0.041667 2.795276 0.616593 0 1.614173 0.616593 0
+ A3 255 0.041667 0.314961 2.846457 2.675648 0 354.999880 100.000000
+ A3 255 0.041667 0.314961 2.830709 0.931552 0 86.468858 100.000000
+ L3 255 0.010417 1.614174 0.616593 0 1.614175 0.026038 0
+ L3 255 0.031250 3.149607 1.620530 0 0.196851 1.620530 0
+ L3 255 0.031250 3.149606 2.506357 0 0.196849 2.506357 0
+ L3 255 0.020833 0.196847 2.978798 0 0.196852 0.577223 0
+ L3 255 0.010417 4.055118 2.526042 0 4.055118 2.526042 0
+ L3 255 0.010417 4.015748 2.526042 0 4.015748 2.526042 0
+ L3 255 0.010417 3.523622 1.600845 0 3.523622 1.600845 0
+ L3 255 0.052083 0.393701 0.577223 0 0.196850 0.577223 0
+ L3 255 0.052083 1.299213 0.026042 0 4.082677 0.026042 0
+ A3 255 0.052083 2.337761 -0.246435 5.250569 0 135.985084 32.592666
+ L3 255 0.052083 1.338583 3.569349 0 4.082677 3.569349 0
+ L3 255 0.010417 3.149607 1.167774 0 4.251969 1.167774 0
+ L3 255 0.010417 0.039370 1.620530 0 4.251969 1.620530 0
+ L3 255 0.010417 0.000000 2.506357 0 4.251969 2.506357 0
+ L3 255 0.052083 0.374016 0.596908 0 1.299213 0.045727 0
+ Z 255 1.594488 1.207144 0.000000 0 18.000000 "Tow Path"
+ Z 255 1.574804 2.506356 0.000000 0 18.000000 "No Tow Path"
+END
+STRUCTURE N "ScaleScenes Canal Lock T018"
+ L3 255 0.031250 2.402149 1.122833 0 7.646243 1.122833 0
+ L3 255 0.031250 2.402149 1.831487 0 8.630495 1.831487 0
+ L3 255 0.031250 2.488763 2.067708 0 8.630495 2.067708 0
+ L3 255 0.031250 1.748606 0.020464 0 8.630495 0.020464 0
+ A3 255 0.031250 0.787402 1.721046 1.969282 0 263.500000 180.000000
+ L3 255 0.052083 1.620790 0.447118 0 2.195311 1.483576 0
+ L3 255 0.052083 1.610810 2.520464 0 2.173802 1.477157 0
+ L3 255 0.052083 7.646241 0.414164 0 7.646242 1.831487 0
+ L3 255 0.010417 0.008448 2.756684 0 8.453330 2.756684 0
+ L3 255 0.031250 0.008448 0.571645 0 1.012385 0.571645 0
+ L3 255 0.031250 7.646243 1.004716 0 8.630495 1.004716 0
+ L3 255 0.031250 2.429708 1.044086 0 1.839157 1.044086 0
+ L3 255 0.031250 2.410023 1.126763 0 2.410023 1.024401 0
+ L3 255 0.031250 2.410023 1.839361 0 2.410023 1.914164 0
+ L3 255 0.031250 2.410023 1.910227 0 0.008448 1.910227 0
+ L3 255 0.031250 1.819472 1.024401 0 1.819472 1.130700 0
+ L3 255 0.031250 1.819472 1.122826 0 0.008448 1.122826 0
+ L3 255 0.031250 1.445456 1.122826 0 1.445456 0.729125 0
+ L3 255 0.031250 1.642306 0.571645 0 2.410023 0.571645 0
+ A3 255 0.031250 0.216098 1.661991 0.807865 0 166.041611 84.518490
+ L3 255 0.010417 2.398212 0.575582 0 2.398212 0.028338 0
+ L3 255 0.020833 1.524196 1.142511 0 1.524196 1.142511 0
+ L3 255 0.010417 1.012385 1.122826 0 1.012385 0.571645 0
+ A3 255 0.031250 0.729248 1.724268 0.744873 0 178.706428 78.764905
+ L3 255 0.020833 0.010417 1.122826 0 0.010417 0.551960 0
+ L3 255 0.020833 8.630495 2.067708 0 8.630495 0.000779 0
+END
+
+
+SUBCONTENTS ScaleScenes N Scale Structures - Railscenes
+TURNOUT N "ScaleScenes Inspection Pit (130mm x 36mm) R002c"
+ P "P0" 1
+ E 0.000000 0.000000 270.000000
+ E 5.472441 0.000000 90.000000
+# E 0.414503 1.064041 270.000000
+# E 5.886944 1.064041 90.000000
+ S 0 0.000000 0.000000 0.000000 5.472441 0.000000
+ L3 255 0.041667 -0.059055 -0.688908 0 5.093504 -0.688908 0
+ L3 255 0.041667 -0.039370 -0.688994 0 -0.039370 0.748013 0
+ L3 255 0.041667 -0.059055 0.728328 0 5.098425 0.728328 0
+ L3 255 0.041667 5.078740 0.728328 0 5.078740 -0.708680 0
+END
+STRUCTURE N "Scalescenes Platform Subway - Stairs or Escalators R006"
+ L3 11928561 0.072917 0.792610 1.572137 0 2.497334 1.572137 0
+ L3 11928561 0.072917 2.446153 1.580011 0 2.446153 0.792610 0
+ L3 11928561 0.072917 2.497334 0.798515 0 0.792610 0.798515 0
+ L3 11928561 0.010417 0.792610 0.792610 0 0.792608 0.005208 0
+ L3 11928561 0.010417 0.792610 1.580011 0 0.792610 2.367413 0
+ L3 11928561 0.010417 0.792610 2.367413 0 0.005208 2.367413 0
+ L3 11928561 0.010417 0.005208 2.367413 0 0.005208 0.005208 0
+ L3 11928561 0.010417 0.792610 0.005208 0 0.005208 0.005208 0
+ L3 11928561 0.072917 0.812295 1.574106 0 0.812295 0.753240 0
+ L3 11928561 0.031250 0.792610 1.580011 0 0.005208 1.580011 0
+ L3 11928561 0.031250 0.792610 0.792610 0 0.005208 0.792610 0
+ L3 11928561 0.031250 2.328043 1.520956 0 2.328043 0.812295 0
+ L3 11928561 0.031250 2.249303 1.540641 0 2.249303 0.831980 0
+ L3 11928561 0.031250 2.170563 1.520956 0 2.170563 0.812295 0
+ L3 11928561 0.031250 2.091823 1.560326 0 2.091823 0.831980 0
+ L3 11928561 0.031250 2.013082 1.520956 0 2.013082 0.792610 0
+ L3 11928561 0.031250 1.934342 1.540641 0 1.934342 0.831980 0
+ L3 11928561 0.031250 1.855602 1.520925 0 1.855602 0.812263 0
+ L3 11928561 0.031250 1.776862 1.540610 0 1.776862 0.831948 0
+ L3 11928561 0.031250 1.698122 1.520925 0 1.698122 0.812263 0
+ L3 11928561 0.031250 1.619382 1.560295 0 1.619382 0.831948 0
+ L3 11928561 0.031250 1.540641 1.520925 0 1.540641 0.792578 0
+ L3 11928561 0.031250 1.461901 1.540610 0 1.461901 0.831948 0
+ L3 11928561 0.031250 1.383161 1.520925 0 1.383161 0.812263 0
+ L3 11928561 0.031250 1.304421 1.540610 0 1.304421 0.831948 0
+ L3 11928561 0.031250 1.225681 1.520925 0 1.225681 0.812263 0
+ L3 11928561 0.031250 1.146941 1.560295 0 1.146941 0.831948 0
+ L3 11928561 0.031250 1.068200 1.520925 0 1.068200 0.792578 0
+ L3 11928561 0.031250 0.989460 1.540610 0 0.989460 0.831948 0
+END
+STRUCTURE N "Scalescenes Small Station & Waiting Room R003"
+ Z 255 0.178314 0.822755 0.000000 0 16.000000 "R003 Small Station & Room"
+ Z 255 0.178314 0.546713 0.000000 0 16.000000 "78W x 19D x 30mm high."
+ L3 255 0.041667 0.020833 1.123207 0 3.091699 1.123211 0
+ L3 255 0.041667 3.091699 1.142892 0 3.091699 0.394861 0
+ L3 255 0.041667 3.091699 0.394869 0 0.020833 0.394865 0
+ L3 255 0.041667 0.020833 0.394861 0 0.020833 1.142893 0
+ L3 255 0.041667 1.948850 0.551227 0 1.948850 0.020833 0
+ L3 255 0.041667 1.930193 0.020833 0 3.051212 0.020833 0
+ L3 255 0.041667 3.051212 0.414534 0 3.051212 0.020833 0
+ Z 255 2.087762 0.099585 0.000000 0 18.000000 "shelter"
+ L3 255 0.010417 1.948850 0.728392 0 1.948850 0.807133 0
+ L3 255 0.041667 1.948850 0.728392 0 1.948850 0.826818 0
+ L3 255 0.041667 1.948850 0.984298 0 1.948850 1.122093 0
+END
+STRUCTURE N "Scalescenes GWR Station & Goods Shed R003b "
+ Z 33023 0.237369 0.709809 0.000000 0 18.000000 "R003b GWR Station "
+ Z 33023 0.237369 0.397309 0.000000 0 18.000000 "& Goods Shed"
+ L3 11928561 0.041667 0.020833 1.083825 0 3.327920 1.083825 0
+ L3 11928561 0.041667 0.020833 1.083825 0 0.020833 0.020833 0
+ L3 11928561 0.041667 3.327920 1.083825 0 3.327920 0.020833 0
+ L3 11928561 0.041667 0.020833 0.020833 0 3.327920 0.020833 0
+END
+STRUCTURE N "ScaleScenes Island Platform and Toilet R004A"
+ L3 255 0.010417 0.020834 0.005208 0 5.493274 0.005208 0
+ L3 255 0.010417 0.020834 0.005208 0 0.020834 1.894972 0
+ L3 255 0.010417 5.493274 0.005208 0 5.493274 1.894972 0
+ L3 255 0.010417 0.020834 1.894972 0 5.493274 1.894972 0
+ L3 255 0.041667 0.020833 1.383168 0 6.103511 1.383168 0
+ L3 255 0.041667 0.020834 0.556389 0 6.280676 0.556389 0
+ L3 255 0.041667 0.020833 1.383161 0 0.020833 0.556389 0
+ L3 255 0.041667 6.280676 0.556389 0 6.280676 1.383161 0
+ L3 255 0.031250 1.989337 0.556389 0 1.989337 1.383161 0
+ L3 255 0.031250 2.934219 0.556389 0 2.934219 1.383161 0
+ L3 255 0.031250 5.493274 0.556389 0 5.493274 1.383161 0
+ L3 255 0.031250 6.083825 1.383161 0 6.083825 1.127255 0
+ Z 255 5.658837 0.592892 315.000000 0 18.000000 "Gents"
+ Z 255 2.154561 0.570888 315.000000 0 18.000000 "Walkway"
+ Z 255 2.993274 0.989460 0.000000 0 18.000000 "R004a Island Platform"
+ Z 255 2.993274 0.676960 0.000000 0 18.000000 "& Gent's Toillet"
+END
+STRUCTURE N "Scalescenes Station Platform R008"
+ L3 7803544 0.041667 1.181102 31.181102 0 7.795276 31.181102 0
+ L3 7803544 0.041667 7.795276 32.559055 0 7.795276 31.181102 0
+ Z 0 0.000000 0.000000 0.000000 0 18.000000 "R008 Station Platform\nany length, any width"
+END
+
+
+SUBCONTENTS ScaleScenes N Scale Structures - Townscenes
+STRUCTURE N "ScaleScenes Low Relief Warehouse (127mm x 14mm) T002b"
+ L3 255 0.041667 0.020833 0.020833 0 5.020833 0.020833 0
+ L3 255 0.041667 0.020833 0.572014 0 5.020833 0.572014 0
+ L3 255 0.041667 0.020833 0.572014 0 0.020833 0.020833 0
+ L3 255 0.041667 5.020833 0.572014 0 5.020833 0.020833 0
+ Z 255 0.375164 0.355479 0.000000 0 16.000000 "T002b ScaleScenes Low Relief Warehouse"
+ Z 255 0.375164 0.079437 0.000000 0 16.000000 "127W x 14D x 46H mm"
+END
+STRUCTURE N "Scalescenes Stone Warehouse - Mill T026c"
+ Z 255 0.276740 1.905421 0.000000 0 18.000000 "T026c Stone Warehouse"
+ Z 255 0.276740 1.592921 0.000000 0 18.000000 "82W x 61D x 96mm high."
+ L3 255 0.041667 0.020833 2.422408 0 3.249180 2.422408 0
+ L3 255 0.041667 3.249180 2.422408 0 3.249180 0.020833 0
+ L3 255 0.041667 3.249180 0.020833 0 0.020833 0.020833 0
+ L3 255 0.041667 0.020833 0.020833 0 0.020833 2.422408 0
+END
diff --git a/app/lib/params/N-Shinohara70.xtp b/app/lib/params/N-Shinohara70.xtp
index 9da047f..3b47c23 100644
--- a/app/lib/params/N-Shinohara70.xtp
+++ b/app/lib/params/N-Shinohara70.xtp
@@ -122,10 +122,12 @@ TURNOUT N "Shinohara #4 WYE Turnout 607"
C 0 0.000000 29.003880 1.923108 -29.003880 0.000076 9.300152
S 0 0.000000 6.610434 -0.381247 6.960000 -0.438500
END
-TURNOUT N "Shinohara #6 Dbl-Slip Turnout 614"
+TURNOUT N "Shinohara #6 Dbl-Slip Turnout 614" 512
U "Double Slipswitch" "" "Shinohara" "#6 Dbl-Slip Turnout" "614" 8.976378 9.300000 8.976378 0.000000 0.031250 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 8.976378 0.000000 90.000000
E 0.058993 0.725302 279.300000
diff --git a/app/lib/params/N-Tomix Track.xtp b/app/lib/params/N-Tomix Track.xtp
index ef7c10a..bcde80a 100644
--- a/app/lib/params/N-Tomix Track.xtp
+++ b/app/lib/params/N-Tomix Track.xtp
@@ -264,7 +264,7 @@ TURNOUT N "Tomix Fine Track PC Buffer Trk(LED) 80mm 1427"
SUBCONTENTS Tomix N-Scale Fine Track - Curved Track
-TURNOUT N "Tomix Fine Track Mini Curve 4.05R 103mm 30 1111A"
+TURNOUT N "Tomix Fine Track Mini Curve 4.05R 103mm 30° 1111A"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.027559 -0.543345 120.000000
@@ -272,7 +272,7 @@ TURNOUT N "Tomix Fine Track Mini Curve 4.05R 103mm 30 1111A"
A 11579568 0.053333 3.690945 0.000000 -4.055118 0.000000 30.000000
A 11579568 0.053333 4.419291 0.000000 -4.055118 0.000000 30.000000
END
-TURNOUT N "Tomix Fine Track Mini Curve 4.05R 103mm 60 1111B"
+TURNOUT N "Tomix Fine Track Mini Curve 4.05R 103mm 60° 1111B"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.511835 -2.027559 150.000000
@@ -280,7 +280,7 @@ TURNOUT N "Tomix Fine Track Mini Curve 4.05R 103mm 60 1111B"
A 11579568 0.053333 3.690945 0.000000 -4.055118 0.000000 60.000000
A 11579568 0.053333 4.419291 0.000000 -4.055118 0.000000 60.000000
END
-TURNOUT N "Tomix Fine Track Mini Curve 5.51R 140mm 30 1112A"
+TURNOUT N "Tomix Fine Track Mini Curve 5.51R 140mm 30° 1112A"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.755906 -0.738443 120.000000
@@ -288,7 +288,7 @@ TURNOUT N "Tomix Fine Track Mini Curve 5.51R 140mm 30 1112A"
A 11579568 0.053333 5.147638 0.000000 -5.511811 0.000000 30.000000
A 11579568 0.053333 5.875984 0.000000 -5.511811 0.000000 30.000000
END
-TURNOUT N "Tomix Fine Track Mini Curve 5.51R 140mm 60 1112B"
+TURNOUT N "Tomix Fine Track Mini Curve 5.51R 140mm 60° 1112B"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.773368 -2.755905 150.000000
@@ -296,7 +296,7 @@ TURNOUT N "Tomix Fine Track Mini Curve 5.51R 140mm 60 1112B"
A 11579568 0.053333 5.147638 0.000000 -5.511811 0.000000 60.000000
A 11579568 0.053333 5.875984 0.000000 -5.511811 0.000000 60.000000
END
-TURNOUT N "Tomix Fine Track Mini Curve 6.96R 177mm 30 1113A"
+TURNOUT N "Tomix Fine Track Mini Curve 6.96R 177mm 30° 1113A"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.484252 -0.933603 120.000000
@@ -304,7 +304,7 @@ TURNOUT N "Tomix Fine Track Mini Curve 6.96R 177mm 30 1113A"
A 11579568 0.053333 6.604331 0.000000 -6.968504 0.000000 30.000000
A 11579568 0.053333 7.332677 0.000000 -6.968504 0.000000 30.000000
END
-TURNOUT N "Tomix Fine Track Mini Curve 6.96R 177mm 60 1113B"
+TURNOUT N "Tomix Fine Track Mini Curve 6.96R 177mm 60° 1113B"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.034901 -3.484252 150.000000
@@ -312,7 +312,7 @@ TURNOUT N "Tomix Fine Track Mini Curve 6.96R 177mm 60 1113B"
A 11579568 0.053333 6.604331 0.000000 -6.968504 0.000000 60.000000
A 11579568 0.053333 7.332677 0.000000 -6.968504 0.000000 60.000000
END
-TURNOUT N "Tomix Fine Track Curve 9.56R 243mm 15 1143"
+TURNOUT N "Tomix Fine Track Curve 9.56R 243mm 15° 1143"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.476103 -0.325985 105.000000
@@ -320,7 +320,7 @@ TURNOUT N "Tomix Fine Track Curve 9.56R 243mm 15 1143"
A 11579568 0.053333 9.202756 0.000000 -9.566929 0.000000 15.000000
A 11579568 0.053333 9.931102 0.000000 -9.566929 0.000000 15.000000
END
-TURNOUT N "Tomix Fine Track Curve 9.56R 243mm 45 1125"
+TURNOUT N "Tomix Fine Track Curve 9.56R 243mm 45° 1125"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.764840 -2.802089 135.000000
@@ -328,7 +328,7 @@ TURNOUT N "Tomix Fine Track Curve 9.56R 243mm 45 1125"
A 11579568 0.053333 9.202756 0.000000 -9.566929 0.000000 45.000000
A 11579568 0.053333 9.931102 0.000000 -9.566929 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Curve 11.02R 280mm 15 1124"
+TURNOUT N "Tomix Fine Track Curve 11.02R 280mm 15° 1124"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.853123 -0.375621 105.000000
@@ -336,7 +336,7 @@ TURNOUT N "Tomix Fine Track Curve 11.02R 280mm 15 1124"
A 11579568 0.053333 10.659449 0.000000 -11.023622 0.000000 15.000000
A 11579568 0.053333 11.387796 0.000000 -11.023622 0.000000 15.000000
END
-TURNOUT N "Tomix Fine Track Curve 11.02R 280mm 45 1121"
+TURNOUT N "Tomix Fine Track Curve 11.02R 280mm 45° 1121"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.794878 -3.228744 135.000000
@@ -344,7 +344,7 @@ TURNOUT N "Tomix Fine Track Curve 11.02R 280mm 45 1121"
A 11579568 0.053333 10.659449 0.000000 -11.023622 0.000000 45.000000
A 11579568 0.053333 11.387796 0.000000 -11.023622 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Curve 12.48R 317mm 15 1127"
+TURNOUT N "Tomix Fine Track Curve 12.48R 317mm 15° 1127"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.230143 -0.425256 105.000000
@@ -352,7 +352,7 @@ TURNOUT N "Tomix Fine Track Curve 12.48R 317mm 15 1127"
A 11579568 0.053333 12.116143 0.000000 -12.480315 0.000000 15.000000
A 11579568 0.053333 12.844488 0.000000 -12.480315 0.000000 15.000000
END
-TURNOUT N "Tomix Fine Track Curve 12.48R 317mm 45 1122"
+TURNOUT N "Tomix Fine Track Curve 12.48R 317mm 45° 1122"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 8.824915 -3.655400 135.000000
@@ -360,7 +360,7 @@ TURNOUT N "Tomix Fine Track Curve 12.48R 317mm 45 1122"
A 11579568 0.053333 12.116143 0.000000 -12.480315 0.000000 45.000000
A 11579568 0.053333 12.844488 0.000000 -12.480315 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Curve 13.93R 354mm 15 1144"
+TURNOUT N "Tomix Fine Track Curve 13.93R 354mm 15° 1144"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.607163 -0.474892 105.000000
@@ -368,7 +368,7 @@ TURNOUT N "Tomix Fine Track Curve 13.93R 354mm 15 1144"
A 11579568 0.053333 13.572835 0.000000 -13.937008 0.000000 15.000000
A 11579568 0.053333 14.301181 0.000000 -13.937008 0.000000 15.000000
END
-TURNOUT N "Tomix Fine Track Curve 13.93R 354mm 45 1126"
+TURNOUT N "Tomix Fine Track Curve 13.93R 354mm 45° 1126"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 9.854953 -4.082055 135.000000
@@ -376,7 +376,7 @@ TURNOUT N "Tomix Fine Track Curve 13.93R 354mm 45 1126"
A 11579568 0.053333 13.572835 0.000000 -13.937008 0.000000 45.000000
A 11579568 0.053333 14.301181 0.000000 -13.937008 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Curve 15.39R 391mm 15 1145"
+TURNOUT N "Tomix Fine Track Curve 15.39R 391mm 15° 1145"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.984183 -0.524528 105.000000
@@ -384,7 +384,7 @@ TURNOUT N "Tomix Fine Track Curve 15.39R 391mm 15 1145"
A 11579568 0.053333 15.029528 0.000000 -15.393701 0.000000 15.000000
A 11579568 0.053333 15.757874 0.000000 -15.393701 0.000000 15.000000
END
-TURNOUT N "Tomix Fine Track Curve 15.39R 391mm 45 1128"
+TURNOUT N "Tomix Fine Track Curve 15.39R 391mm 45° 1128"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 10.884990 -4.508711 135.000000
@@ -392,7 +392,7 @@ TURNOUT N "Tomix Fine Track Curve 15.39R 391mm 45 1128"
A 11579568 0.053333 15.029528 0.000000 -15.393701 0.000000 45.000000
A 11579568 0.053333 15.757874 0.000000 -15.393701 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Curve 21.29R 541mm 15 1123"
+TURNOUT N "Tomix Fine Track Curve 21.29R 541mm 15° 1123"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 5.512642 -0.725753 105.000000
@@ -400,7 +400,7 @@ TURNOUT N "Tomix Fine Track Curve 21.29R 541mm 15 1123"
A 11579568 0.053333 20.935040 0.000000 -21.299213 0.000000 15.000000
A 11579568 0.053333 21.663386 0.000000 -21.299213 0.000000 15.000000
END
-TURNOUT N "Tomix Fine Track Curve 23.82R 605mm 10 1150"
+TURNOUT N "Tomix Fine Track Curve 23.82R 605mm 10° 1150"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.136108 -0.361863 100.000000
@@ -410,7 +410,7 @@ TURNOUT N "Tomix Fine Track Curve 23.82R 605mm 10 1150"
END
SUBCONTENTS Tomix N-Scale Fine Track - Curved PC Track
-TURNOUT N "Tomix Fine Track PC Curve 11.02R 280mm 15 1194"
+TURNOUT N "Tomix Fine Track PC Curve 11.02R 280mm 15° 1194"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.853123 -0.375621 105.000000
@@ -418,7 +418,7 @@ TURNOUT N "Tomix Fine Track PC Curve 11.02R 280mm 15 1194"
A 11579568 0.053333 10.659449 0.000000 -11.023622 0.000000 15.000000
A 11579568 0.053333 11.387796 0.000000 -11.023622 0.000000 15.000000
END
-TURNOUT N "Tomix Fine Track PC Curve 11.02R 280mm 45 1191"
+TURNOUT N "Tomix Fine Track PC Curve 11.02R 280mm 45° 1191"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.794878 -3.228744 135.000000
@@ -426,7 +426,7 @@ TURNOUT N "Tomix Fine Track PC Curve 11.02R 280mm 45 1191"
A 11579568 0.053333 10.659449 0.000000 -11.023622 0.000000 45.000000
A 11579568 0.053333 11.387796 0.000000 -11.023622 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track PC Curve 9.56R 243mm 45 1195"
+TURNOUT N "Tomix Fine Track PC Curve 9.56R 243mm 45° 1195"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.764840 -2.802089 135.000000
@@ -434,7 +434,7 @@ TURNOUT N "Tomix Fine Track PC Curve 9.56R 243mm 45 1195"
A 11579568 0.053333 9.202756 0.000000 -9.566929 0.000000 45.000000
A 11579568 0.053333 9.931102 0.000000 -9.566929 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track PC Curve 12.48R 317mm 45 1192"
+TURNOUT N "Tomix Fine Track PC Curve 12.48R 317mm 45° 1192"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 8.824915 -3.655400 135.000000
@@ -442,7 +442,7 @@ TURNOUT N "Tomix Fine Track PC Curve 12.48R 317mm 45 1192"
A 11579568 0.053333 12.116143 0.000000 -12.480315 0.000000 45.000000
A 11579568 0.053333 12.844488 0.000000 -12.480315 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track PC Curve 13.93R 354mm 45 1196"
+TURNOUT N "Tomix Fine Track PC Curve 13.93R 354mm 45° 1196"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 9.854953 -4.082055 135.000000
@@ -450,7 +450,7 @@ TURNOUT N "Tomix Fine Track PC Curve 13.93R 354mm 45 1196"
A 11579568 0.053333 13.572835 0.000000 -13.937008 0.000000 45.000000
A 11579568 0.053333 14.301181 0.000000 -13.937008 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track PC Curve 15.39R 391mm 45 1198"
+TURNOUT N "Tomix Fine Track PC Curve 15.39R 391mm 45° 1198"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 10.884990 -4.508711 135.000000
@@ -458,7 +458,7 @@ TURNOUT N "Tomix Fine Track PC Curve 15.39R 391mm 45 1198"
A 11579568 0.053333 15.029528 0.000000 -15.393701 0.000000 45.000000
A 11579568 0.053333 15.757874 0.000000 -15.393701 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track PC Curve 21.29R 541mm 15 1193"
+TURNOUT N "Tomix Fine Track PC Curve 21.29R 541mm 15° 1193"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 5.512642 -0.725753 105.000000
@@ -466,7 +466,7 @@ TURNOUT N "Tomix Fine Track PC Curve 21.29R 541mm 15 1193"
A 11579568 0.053333 20.935040 0.000000 -21.299213 0.000000 15.000000
A 11579568 0.053333 21.663386 0.000000 -21.299213 0.000000 15.000000
END
-TURNOUT N "Tomix Fine Track PC Curve 23.82R 605mm 10 1190"
+TURNOUT N "Tomix Fine Track PC Curve 23.82R 605mm 10° 1190"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.136108 -0.361863 100.000000
@@ -476,7 +476,7 @@ TURNOUT N "Tomix Fine Track PC Curve 23.82R 605mm 10 1190"
END
SUBCONTENTS Tomix N-Scale Fine Track - Widetrack PC Curved Track
-TURNOUT N "Tomix Fine Track Widetrack PC Curve 11.02R 280mm 22.5 1751/1781"
+TURNOUT N "Tomix Fine Track Widetrack PC Curve 11.02R 280mm 22.5° 1751/1781"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.218558 -0.839123 112.500000
@@ -484,7 +484,7 @@ TURNOUT N "Tomix Fine Track Widetrack PC Curve 11.02R 280mm 22.5 1751/1781"
A 11579568 0.053333 10.295276 0.000000 -11.023622 0.000000 22.500000
A 11579568 0.053333 11.751968 0.000000 -11.023622 0.000000 22.500000
END
-TURNOUT N "Tomix Fine Track Widetrack PC Curve 11.02R 280mm 45 1741/1771"
+TURNOUT N "Tomix Fine Track Widetrack PC Curve 11.02R 280mm 45° 1741/1771"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.794878 -3.228744 135.000000
@@ -492,7 +492,7 @@ TURNOUT N "Tomix Fine Track Widetrack PC Curve 11.02R 280mm 45 1741/1771"
A 11579568 0.053333 10.295276 0.000000 -11.023622 0.000000 45.000000
A 11579568 0.053333 11.751968 0.000000 -11.023622 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Widetrack PC Curve 12.48R 317mm 22.5 1752/1782"
+TURNOUT N "Tomix Fine Track Widetrack PC Curve 12.48R 317mm 22.5° 1752/1782"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.776010 -0.950007 112.500000
@@ -500,7 +500,7 @@ TURNOUT N "Tomix Fine Track Widetrack PC Curve 12.48R 317mm 22.5 1752/1782"
A 11579568 0.053333 11.751968 0.000000 -12.480315 0.000000 22.500000
A 11579568 0.053333 13.208661 0.000000 -12.480315 0.000000 22.500000
END
-TURNOUT N "Tomix Fine Track Widetrack PC Curve 12.48R 317mm 45 1742/1772"
+TURNOUT N "Tomix Fine Track Widetrack PC Curve 12.48R 317mm 45° 1742/1772"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 8.824915 -3.655400 135.000000
@@ -508,7 +508,7 @@ TURNOUT N "Tomix Fine Track Widetrack PC Curve 12.48R 317mm 45 1742/1772"
A 11579568 0.053333 11.751968 0.000000 -12.480315 0.000000 45.000000
A 11579568 0.053333 13.208661 0.000000 -12.480315 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Widetrack PC Curve 13.93R 354mm 22.5 1753/1783"
+TURNOUT N "Tomix Fine Track Widetrack PC Curve 13.93R 354mm 22.5° 1753/1783"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 5.333462 -1.060892 112.500000
@@ -516,7 +516,7 @@ TURNOUT N "Tomix Fine Track Widetrack PC Curve 13.93R 354mm 22.5 1753/1783"
A 11579568 0.053333 13.208661 0.000000 -13.937008 0.000000 22.500000
A 11579568 0.053333 14.665354 0.000000 -13.937008 0.000000 22.500000
END
-TURNOUT N "Tomix Fine Track Widetrack PC Curve 13.93R 354mm 45 1743/1773"
+TURNOUT N "Tomix Fine Track Widetrack PC Curve 13.93R 354mm 45° 1743/1773"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 9.854953 -4.082055 135.000000
@@ -524,7 +524,7 @@ TURNOUT N "Tomix Fine Track Widetrack PC Curve 13.93R 354mm 45 1743/1773"
A 11579568 0.053333 13.208661 0.000000 -13.937008 0.000000 45.000000
A 11579568 0.053333 14.665354 0.000000 -13.937008 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Widetrack PC Curve 15.39R 391mm 22.5 1754/1784"
+TURNOUT N "Tomix Fine Track Widetrack PC Curve 15.39R 391mm 22.5° 1754/1784"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 5.890914 -1.171776 112.500000
@@ -532,7 +532,7 @@ TURNOUT N "Tomix Fine Track Widetrack PC Curve 15.39R 391mm 22.5 1754/1784"
A 11579568 0.053333 14.665354 0.000000 -15.393701 0.000000 22.500000
A 11579568 0.053333 16.122047 0.000000 -15.393701 0.000000 22.500000
END
-TURNOUT N "Tomix Fine Track Widetrack PC Curve 15.39R 391mm 45 1744/1774"
+TURNOUT N "Tomix Fine Track Widetrack PC Curve 15.39R 391mm 45° 1744/1774"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 10.884990 -4.508711 135.000000
@@ -540,7 +540,7 @@ TURNOUT N "Tomix Fine Track Widetrack PC Curve 15.39R 391mm 45 1744/1774"
A 11579568 0.053333 14.665354 0.000000 -15.393701 0.000000 45.000000
A 11579568 0.053333 16.122047 0.000000 -15.393701 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Widetrack PC Curve 21.29R 541mm 15 1740/1770"
+TURNOUT N "Tomix Fine Track Widetrack PC Curve 21.29R 541mm 15° 1740/1770"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 5.512642 -0.725753 105.000000
@@ -548,7 +548,7 @@ TURNOUT N "Tomix Fine Track Widetrack PC Curve 21.29R 541mm 15 1740/1770"
A 11579568 0.053333 20.570867 0.000000 -21.299213 0.000000 15.000000
A 11579568 0.053333 22.027559 0.000000 -21.299213 0.000000 15.000000
END
-TURNOUT N "Tomix Fine Track Widetrack PC Curve 23.82R 605mm 10 1750"
+TURNOUT N "Tomix Fine Track Widetrack PC Curve 23.82R 605mm 10° 1750"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.136108 -0.361863 100.000000
@@ -590,7 +590,7 @@ TURNOUT N "Tomix Fine Track Viaduct Straight 11.02 280mm 1072"
L 11579568 0.053333 0.000000 0.701680 11.023622 0.701680
L 11579568 0.053333 0.000000 -0.701680 11.023622 -0.701680
END
-TURNOUT N "Tomix Fine Track Viaduct Curve 9.56R 243mm 45 1173"
+TURNOUT N "Tomix Fine Track Viaduct Curve 9.56R 243mm 45° 1173"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.764840 -2.802089 135.000000
@@ -598,7 +598,7 @@ TURNOUT N "Tomix Fine Track Viaduct Curve 9.56R 243mm 45 1173"
A 11579568 0.053333 8.865249 0.000000 -9.566929 0.000000 45.000000
A 11579568 0.053333 10.268609 0.000000 -9.566929 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Viaduct Curve 11.02R 280mm 45 1171"
+TURNOUT N "Tomix Fine Track Viaduct Curve 11.02R 280mm 45° 1171"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.794878 -3.228744 135.000000
@@ -606,7 +606,7 @@ TURNOUT N "Tomix Fine Track Viaduct Curve 11.02R 280mm 45 1171"
A 11579568 0.053333 10.321942 0.000000 -11.023622 0.000000 45.000000
A 11579568 0.053333 11.725302 0.000000 -11.023622 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Viaduct Curve 12.48R 317mm 45 1127"
+TURNOUT N "Tomix Fine Track Viaduct Curve 12.48R 317mm 45° 1127"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 8.824915 -3.655400 135.000000
@@ -614,7 +614,7 @@ TURNOUT N "Tomix Fine Track Viaduct Curve 12.48R 317mm 45 1127"
A 11579568 0.053333 11.778635 0.000000 -12.480315 0.000000 45.000000
A 11579568 0.053333 13.181995 0.000000 -12.480315 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Viaduct Curve 13.93R 354mm 45 1174"
+TURNOUT N "Tomix Fine Track Viaduct Curve 13.93R 354mm 45° 1174"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 9.854953 -4.082055 135.000000
@@ -656,7 +656,7 @@ TURNOUT N "Tomix Fine Track Overhead PC Straight 11.02 280mm 1822"
L 11579568 0.053333 0.000000 0.701680 11.023622 0.701680
L 11579568 0.053333 0.000000 -0.701680 11.023622 -0.701680
END
-TURNOUT N "Tomix Fine Track Overhead PC Curve 9.56R 243mm 45 1873"
+TURNOUT N "Tomix Fine Track Overhead PC Curve 9.56R 243mm 45° 1873"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.764840 -2.802089 135.000000
@@ -664,7 +664,7 @@ TURNOUT N "Tomix Fine Track Overhead PC Curve 9.56R 243mm 45 1873"
A 11579568 0.053333 8.865249 0.000000 -9.566929 0.000000 45.000000
A 11579568 0.053333 10.268609 0.000000 -9.566929 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Overhead PC Curve 11.02R 280mm 45 1871"
+TURNOUT N "Tomix Fine Track Overhead PC Curve 11.02R 280mm 45° 1871"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.794878 -3.228744 135.000000
@@ -672,7 +672,7 @@ TURNOUT N "Tomix Fine Track Overhead PC Curve 11.02R 280mm 45 1871"
A 11579568 0.053333 10.321942 0.000000 -11.023622 0.000000 45.000000
A 11579568 0.053333 11.725302 0.000000 -11.023622 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Overhead PC Curve 12.48R 317mm 45 1872"
+TURNOUT N "Tomix Fine Track Overhead PC Curve 12.48R 317mm 45° 1872"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 8.824915 -3.655400 135.000000
@@ -680,7 +680,7 @@ TURNOUT N "Tomix Fine Track Overhead PC Curve 12.48R 317mm 45 1872"
A 11579568 0.053333 11.778635 0.000000 -12.480315 0.000000 45.000000
A 11579568 0.053333 13.181995 0.000000 -12.480315 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Overhead PC Curve 13.93R 354mm 45 1874"
+TURNOUT N "Tomix Fine Track Overhead PC Curve 13.93R 354mm 45° 1874"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 9.854953 -4.082055 135.000000
@@ -723,7 +723,7 @@ TURNOUT N "Tomix Fine Track Overhead Dbl Trk Straight 44.09 1120mm 1069"
L 11579568 0.053333 0.000000 1.456692 44.094488 1.456692
L 11579568 0.053333 0.000000 -1.456692 44.094488 -1.456692
END
-TURNOUT N "Tomix Fine Track Overhead Dbl Trk Curve 11.02/12.48R 280/317mm 45 1161"
+TURNOUT N "Tomix Fine Track Overhead Dbl Trk Curve 11.02/12.48R 280/317mm 45° 1161"
P "Normal" 1 0 2
E 0.000000 0.728346 270.000000
E 0.000000 -0.728346 270.000000
@@ -734,7 +734,7 @@ TURNOUT N "Tomix Fine Track Overhead Dbl Trk Curve 11.02/12.48R 280/317mm 45 1
A 11579568 0.053333 13.208661 0.000000 -11.751968 0.000000 45.000000
A 11579568 0.053333 10.295276 0.000000 -11.751968 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Overhead Dbl Trk Curve 13.93/15.39R 354/391mm 45 1162"
+TURNOUT N "Tomix Fine Track Overhead Dbl Trk Curve 13.93/15.39R 354/391mm 45° 1162"
P "Normal" 1 0 2
E 0.000000 0.728346 270.000000
E 0.000000 -0.728346 270.000000
@@ -745,7 +745,7 @@ TURNOUT N "Tomix Fine Track Overhead Dbl Trk Curve 13.93/15.39R 354/391mm 45 1
A 11579568 0.053333 16.122047 0.000000 -14.663354 0.000000 45.000000
A 11579568 0.053333 13.208662 0.000000 -14.663354 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Overhead Dbl Trk Curve 16.85/18.30R 428/465mm 45 1163"
+TURNOUT N "Tomix Fine Track Overhead Dbl Trk Curve 16.85/18.30R 428/465mm 45° 1163"
P "Normal" 1 0 2
E 0.000000 0.728346 270.000000
E 0.000000 -0.728346 270.000000
@@ -791,7 +791,7 @@ TURNOUT N "Tomix Fine Track Viaduct Dbl Trk Straight 44.09 1120mm (slab type) 1
L 11579568 0.053333 0.000000 1.456692 44.094488 1.456692
L 11579568 0.053333 0.000000 -1.456692 44.094488 -1.456692
END
-TURNOUT N "Tomix Fine Track Viaduct Dbl Trk Curve 16.85/18.30R 428/465mm 45(slab type) 1168"
+TURNOUT N "Tomix Fine Track Viaduct Dbl Trk Curve 16.85/18.30R 428/465mm 45°(slab type) 1168"
P "Normal" 1 0 2
E 0.000000 0.728346 270.000000
E 0.000000 -0.728346 270.000000
@@ -802,7 +802,7 @@ TURNOUT N "Tomix Fine Track Viaduct Dbl Trk Curve 16.85/18.30R 428/465mm 45(sl
A 11579568 0.053333 19.035433 0.000000 -17.578740 0.000000 45.000000
A 11579568 0.053333 16.122048 0.000000 -17.578740 0.000000 45.000000
END
-TURNOUT N "Tomix Fine Track Viaduct Dbl Trk Curve 19.76/21.22R 502/539mm 22.5(slab type) 1169"
+TURNOUT N "Tomix Fine Track Viaduct Dbl Trk Curve 19.76/21.22R 502/539mm 22.5°(slab type) 1169"
P "Normal" 1 0 2
E 0.000000 0.728346 270.000000
E 0.000000 -0.728346 270.000000
@@ -1076,7 +1076,7 @@ TURNOUT N "Tomix Fine Track Turnout 317/280mm Curve-L45 (elec) 1249"
END
TURNOUT N "Tomix Fine Track Double Crossover 1247"
P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 8 9 6 0 4 10 11 12 3
+ P "Reverse" 1 7 8 9 6 0 4 10 11 12 3
E 0.000000 0.000000 270.000000
E 11.023622 0.000000 90.000000
E 0.000000 1.456693 270.000000
@@ -1102,9 +1102,11 @@ TURNOUT N "Tomix Fine Track Double Crossover 1247"
L 11579568 0.053333 9.523622 0.364173 9.523622 1.092520
L 11579568 0.053333 0.000000 1.820866 11.023622 1.820866
END
-TURNOUT N "Tomix Fine Track Double Slip 140mm-15R 1245"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT N "Tomix Fine Track Double Slip 140mm-15R 1245" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 5.511811 0.000000 90.000000
E 0.000000 0.000000 270.000000
E 0.000000 0.738443 285.000000
@@ -1138,9 +1140,11 @@ TURNOUT N "Tomix Fine Track Double Slip 140mm-15R 1245"
4.062500 -1.220774 0
4.062500 -0.764173 0
END
-TURNOUT N "Tomix Fine Track Double Slip 140mm-15L 1246"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 8 6 0 4 7 3
+TURNOUT N "Tomix Fine Track Double Slip 140mm-15L 1246" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 8 6
+ P "Slip2" 4 7 3
E 0.000000 0.000000 270.000000
E 5.511811 0.000000 90.000000
E 0.000000 -0.738443 255.000000
@@ -1176,7 +1180,7 @@ TURNOUT N "Tomix Fine Track Double Slip 140mm-15L 1246"
END
SUBCONTENTS Tomix N-Scale Fine Track - Crossings
-TURNOUT N "Tomix Fine Track Crossing 15 140mm(R) 1322"
+TURNOUT N "Tomix Fine Track Crossing 15° 140mm(R) 1322"
P "Normal" 1 0 2
E 5.511811 0.000000 90.000000
E 0.000000 0.000000 270.000000
@@ -1189,7 +1193,7 @@ TURNOUT N "Tomix Fine Track Crossing 15 140mm(R) 1322"
L 11579568 0.053333 0.000000 -0.364173 2.755906 -0.364173
L 11579568 0.053333 2.755906 -0.364173 5.411811 -1.102616
END
-TURNOUT N "Tomix Fine Track Crossing 15 140mm(L) 1333"
+TURNOUT N "Tomix Fine Track Crossing 15° 140mm(L) 1333"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 5.511811 0.000000 90.000000
@@ -1202,7 +1206,7 @@ TURNOUT N "Tomix Fine Track Crossing 15 140mm(L) 1333"
L 11579568 0.053333 0.000000 0.364173 2.755906 0.364173
L 11579568 0.053333 2.755906 0.364173 5.411811 1.102616
END
-TURNOUT N "Tomix Fine Track Crossing 30 72.5mm 1321"
+TURNOUT N "Tomix Fine Track Crossing 30° 72.5mm 1321"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 2.854331 0.000000 90.000000
@@ -1215,7 +1219,7 @@ TURNOUT N "Tomix Fine Track Crossing 30 72.5mm 1321"
L 11579568 0.053333 0.400000 -1.027756 1.527166 -0.364173
L 11579568 0.053333 1.527166 -0.364173 2.854331 -0.364173
END
-TURNOUT N "Tomix Fine Track Crossing 90 1324"
+TURNOUT N "Tomix Fine Track Crossing 90° 1324"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 1.456693 0.000000 90.000000
@@ -1349,7 +1353,7 @@ TURNOUT N "Tomix Fine Track Deck Grider Bridge(DK Green) 5.51 140mm 3241"
END
SUBCONTENTS Tomix N-Scale Fine Track - Turn Table
-TURNOUT N "Tomix Fine Track Turn Table 8.34 212mm 1631"
+TURNOUT N "Tomix Fine Track Turn Table 8.34 212mm 1631" 512
# TT was designed with 212mm bridge, outside dia. is approx., 15 degree spacing
P "1" 1 2 3
P "2" 4 5 6
@@ -1391,31 +1395,31 @@ TURNOUT N "Tomix Fine Track Turn Table 8.34 212mm 1631"
S 0 0 0.000000 4.173228 0.000000 3.676228
S 16777215 0 0.000000 3.676228 0.000000 -3.676228
S 0 0 0.000000 -3.676228 0.000000 -4.173228
-#15/195
+#15/195
S 0 0 1.080111 4.031029 0.950701 3.548066
S 16777215 0 0.950701 3.548066 -0.950701 -3.548066
S 0 0 -0.950701 -3.548066 -1.080111 -4.031029
-#30/210
+#30/210
S 0 0 2.086614 3.614121 1.836614 3.181109
S 16777215 0 1.836614 3.181109 -1.836614 -3.181109
S 0 0 -1.836614 -3.181109 -2.086614 -3.614121
-#45/225
+#45/225
S 0 0 2.950918 2.950918 2.597364 2.597364
S 16777215 0 2.597364 2.597364 -2.597364 -2.597364
S 0 0 -2.597364 -2.597364 -2.950918 -2.950918
-#60/240
+#60/240
S 0 0 3.614121 2.086614 3.181109 1.836614
S 16777215 0 3.181109 1.836614 -3.181109 -1.836614
S 0 0 -3.181109 -1.836614 -3.614121 -2.086614
-#75/255
+#75/255
S 0 0 4.031029 1.080111 3.548066 0.950701
S 16777215 0 3.548066 0.950701 -3.548066 -0.950701
S 0 0 -3.548066 -0.950701 -4.031029 -1.080111
-#90/270
+#90/270
S 0 0 4.173228 0.000000 3.676228 0.000000
S 16777215 0 3.676228 0.000000 -3.676228 0.000000
S 0 0 -3.676228 0.000000 -4.173228 0.000000
-#105/285
+#105/285
S 0 0 4.031029 -1.080111 3.548066 -0.950701
S 16777215 0 3.548066 -0.950701 -3.548066 0.950701
S 0 0 -3.548066 0.950701 -4.031029 1.080111
@@ -1511,7 +1515,7 @@ SUBCONTENTS Tomix N-Scale Fine Track - Misc Track
TURNOUT N "Tomix Fine Track Re-Railer 140mm 1523"
P "Normal" 1
E 0.000000 0.000000 270.000000
- E 5.511811 0.000000 90.000000
+ E 5.511811 0.000000 90.000000
S 0 0.000000 0.000000 0.000000 5.511811 0.000000
L 11579568 0.053333 0.000000 0.364173 5.511811 0.364173
L 11579568 0.053333 0.000000 -0.364173 5.511811 -0.364173
@@ -1523,7 +1527,7 @@ TURNOUT N "Tomix Fine Track Re-Railer 140mm 1523"
TURNOUT N "Tomix Fine Track PC Re-Railer 140mm 1524"
P "Normal" 1
E 0.000000 0.000000 270.000000
- E 5.511811 0.000000 90.000000
+ E 5.511811 0.000000 90.000000
S 0 0.000000 0.000000 0.000000 5.511811 0.000000
L 11579568 0.053333 0.000000 0.364173 5.511811 0.364173
L 11579568 0.053333 0.000000 -0.364173 5.511811 -0.364173
@@ -1573,7 +1577,7 @@ TURNOUT N "Tomix Fine Track PC Adjustable 70-90mm 1526"
TURNOUT N "Tomix Fine Track Wheel Cleaner Rail 140mm 6414"
P "Normal" 1
E 0.000000 0.000000 270.000000
- E 5.511811 0.000000 90.000000
+ E 5.511811 0.000000 90.000000
S 0 0.000000 0.000000 0.000000 5.511811 0.000000
L 11579568 0.053333 0.000000 0.364173 5.511811 0.364173
L 11579568 0.053333 0.000000 -0.364173 5.511811 -0.364173
@@ -1586,7 +1590,7 @@ TURNOUT N "Tomix Fine Track Wheel Cleaner Rail 140mm 6414"
TURNOUT N "Tomix Fine Track PC Wheel Cleaner Rail 140mm 6415"
P "Normal" 1
E 0.000000 0.000000 270.000000
- E 5.511811 0.000000 90.000000
+ E 5.511811 0.000000 90.000000
S 0 0.000000 0.000000 0.000000 5.511811 0.000000
L 11579568 0.053333 0.000000 0.364173 5.511811 0.364173
L 11579568 0.053333 0.000000 -0.364173 5.511811 -0.364173
@@ -1702,4 +1706,4 @@ E 0.728346 0.728346 360.000000
E 0.728346 -0.728346 180.000000
S 0 0.000000 0.000000 0.000000 1.456693 0.000000
S 0 0.000000 0.728346 0.728346 0.728346 -0.728346
-END
+END
diff --git a/app/lib/params/N-atlasn55.xtp b/app/lib/params/N-atlasn55.xtp
index 810953b..f8d6b7e 100644
--- a/app/lib/params/N-atlasn55.xtp
+++ b/app/lib/params/N-atlasn55.xtp
@@ -2,13 +2,13 @@ CONTENTS Atlas N Scale Code 55
SUBCONTENTS Atlas N-Scale Code 55 - Crossings
# 11 1/4 Degree Crossing Design by Geoffrey Dagley Modified by D.Ward
TURNOUT N "Atlas 11 1/4 Degree Crossing 2040"
- P "P0" 2 0 1
+ P "Normal" 2 0 1
E 0.000000 0.000000 270.000000
- E 6.338513 0.707107 78.750000
E 6.400000 0.000000 90.000000
- E 0.061487 -0.707107 258.750000
+ E 0.061487 0.624289 281.250000
+ E 6.338513 -0.624289 101.250000
S 0 0.000000 0.000000 0.000000 6.400000 0.000000
- S 0 0.000000 6.338513 0.707107 0.061487 -0.707107
+ S 0 0.000000 0.061487 0.624289 6.338513 -0.624289
END
# 22 1/2 Degree Crossing Design by Dwyane Ward
TURNOUT N "Atlas 22 1/2 Degree Crossing 2041"
diff --git a/app/lib/params/N-fl.xtp b/app/lib/params/N-fl.xtp
index 8cc0039..dccc21f 100644
--- a/app/lib/params/N-fl.xtp
+++ b/app/lib/params/N-fl.xtp
@@ -145,10 +145,12 @@ TURNOUT N "Fleischmann Crossing 15° 22245"
S 0 0.000000 0.000000 0.000000 4.433071 0.000000
S 0 0.000000 0.075527 0.573682 4.357544 -0.573682
END
-TURNOUT N "Fleischmann Double Slip R5 15° 22246"
+TURNOUT N "Fleischmann Double Slip R5 15° 22246" 512
U "Double Slipswitch" "" "Fleischmann" "Double slip" "22246" 5.110236 15.000000 5.110236 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 5.110236 0.000000 90.000000
E 0.087064 0.661313 285.000000
diff --git a/app/lib/params/N-kato-turntable.xtp b/app/lib/params/N-kato-turntable.xtp
index 151e4e6..c6f92ba 100644
--- a/app/lib/params/N-kato-turntable.xtp
+++ b/app/lib/params/N-kato-turntable.xtp
@@ -78,7 +78,7 @@ TURNOUT N "Kato Unitrack Curve 15R 381mm 10° 381-10"
A 11579568 0.053333 14.554226 0.000000 -15.000000 0.000000 10.000000
A 11579568 0.053333 15.445774 0.000000 -15.000000 0.000000 10.000000
END
-TURNOUT N "Kato Unitrack 160mm Turn Table 20-283"
+TURNOUT N "Kato Unitrack 160mm Turn Table 20-283" 512
P "1" 1 2 3
P "2" 4 5 6
P "3" 7 8 9
diff --git a/app/lib/params/N-walth-n.xtp b/app/lib/params/N-walth-n.xtp
index 7d43e9e..a33ac93 100644
--- a/app/lib/params/N-walth-n.xtp
+++ b/app/lib/params/N-walth-n.xtp
@@ -1432,7 +1432,7 @@ STRUCTURE N "Wahther's Cornerstone Structures Machine Shop Engine Room 933-3264A
SUBCONTENTS Walthers Cornerstone N Structures - Turn Tables
-TURNOUT N "Walthers Modern 130' TurnTable 933-2613/2618"
+TURNOUT N "Walthers Modern 130' TurnTable 933-2613/2618" 512
P "1" 1 2 3
P "2" 4 5 6
P "3" 7 8 9
@@ -1451,8 +1451,7 @@ TURNOUT N "Walthers Modern 130' TurnTable 933-2613/2618"
P "16" 46 47 48
P "17" 49 50 51
P "18" 52 53 54
- E 0.000000 0.000000 180.000000
- #E 0.000000 5.187500 0.000000
+ E 0.000000 5.187500 0.000000
E 0.900800 5.108690 10.000000
E 1.774229 4.874655 20.000000
E 2.593750 4.492507 30.000000
@@ -1470,7 +1469,7 @@ TURNOUT N "Walthers Modern 130' TurnTable 933-2613/2618"
E 2.593750 -4.492507 150.000000
E 1.774229 -4.874655 160.000000
E 0.900800 -5.108690 170.000000
- #E 0.000000 -5.187500 180.000000
+ E 0.000000 -5.187500 180.000000
E -0.900800 -5.108690 190.000000
E -1.774229 -4.874655 200.000000
E -2.593750 -4.492507 210.000000
@@ -1569,7 +1568,7 @@ TURNOUT N "Walthers Modern 130' TurnTable 933-2613/2618"
A 0 0.020000 4.321875 0.000000 0.000000 0.000000 360.000000
END
-TURNOUT N "Walthers Manual 120' 10d index TurnTable 933-3203"
+TURNOUT N "Walthers Manual 120' 10d index TurnTable 933-3203" 512
# TT Designed w/ 9.00" bridge, 9.576" OD, 10 degree spacing
P "1" 1 2 3
P "2" 4 5 6
diff --git a/app/lib/params/NScale_SectorPlate_Traverser_Examples.xtp b/app/lib/params/NScale_SectorPlate_Traverser_Examples.xtp
index 6b48fb1..14c407d 100644
--- a/app/lib/params/NScale_SectorPlate_Traverser_Examples.xtp
+++ b/app/lib/params/NScale_SectorPlate_Traverser_Examples.xtp
@@ -1,7 +1,7 @@
CONTENTS Generic N Scale Example of Sector Plate and Traverser
#Examples of a Sector PLate and transverser end user will need to modify as required for their layout
#6" Radius with 3 positions on 15 degrees separation Length 10"
-TURNOUT N "SectorPlate 10"" Length 6"" Radius 3 pos 15 Degree XX"
+TURNOUT N "SectorPlate 10"" Length 6"" Radius 3 pos 15 Degree XX" 512
P "1" 1
P "2" 2
P "3" 3
@@ -17,7 +17,7 @@ TURNOUT N "SectorPlate 10"" Length 6"" Radius 3 pos 15 Degree XX"
END
#10" Length with 3 positions on 1.5" separation
-TURNOUT N "Traverser/Transfer Table 10"" Length 3 pos 1.5"" spacing XX"
+TURNOUT N "Traverser/Transfer Table 10"" Length 3 pos 1.5"" spacing XX" 512
P "1" 1
P "2" 2
P "3" 3
@@ -34,4 +34,4 @@ TURNOUT N "Traverser/Transfer Table 10"" Length 3 pos 1.5"" spacing XX"
L 0 0.000000 10.000000 -1.000000 10.000000 4.000000
L 0 0.000000 0.000000 4.000000 10.000000 4.000000
L 0 0.000000 0.000000 4.000000 0.000000 -1.000000
- END \ No newline at end of file
+ END
diff --git a/app/lib/params/O-Atlas2Rail.xtp b/app/lib/params/O-Atlas2Rail.xtp
index aeb37bf..8857f50 100644
--- a/app/lib/params/O-Atlas2Rail.xtp
+++ b/app/lib/params/O-Atlas2Rail.xtp
@@ -218,7 +218,7 @@ TURNOUT O "Atlas O 2 Rail 18"" Single Track Plate Girder Bridge AT-7918"
L 0 0.100000 13.500000 1.250000 13.500000 2.000000
L 0 0.100000 16.500000 1.250000 16.500000 2.000000
END
-TURNOUT O "Atlas O 2 Rail 24"" Turntable AT-6910"
+TURNOUT O "Atlas O 2 Rail 24"" Turntable AT-6910" 512
P "1" 1
P "2" 2
P "3" 3
@@ -231,18 +231,18 @@ TURNOUT O "Atlas O 2 Rail 24"" Turntable AT-6910"
P "10" 10
P "11" 11
P "12" 12
- P "13" -1
- P "14" -2
- P "15" -3
- P "16" -4
- P "17" -5
- P "18" -6
- P "19" -7
- P "20" -8
- P "21" -9
- P "22" -10
- P "23" -11
- P "24" -12
+# P "13" -1
+# P "14" -2
+# P "15" -3
+# P "16" -4
+# P "17" -5
+# P "18" -6
+# P "19" -7
+# P "20" -8
+# P "21" -9
+# P "22" -10
+# P "23" -11
+# P "24" -12
E 0.000000 12.000000 0.000000
E -0.000000 -12.000000 180.000000
E 3.105829 11.591110 15.000000
diff --git a/app/lib/params/O-Atlas3Rrail.xtp b/app/lib/params/O-Atlas3Rrail.xtp
index b12ceb0..8d40f44 100644
--- a/app/lib/params/O-Atlas3Rrail.xtp
+++ b/app/lib/params/O-Atlas3Rrail.xtp
@@ -493,8 +493,8 @@ TURNOUT O "Atlas O 3 Rail 40"" Double Track Pratt Truss Bridge 6921"
E 0.000000 4.500000 270.000000
E 40.000000 4.500000 90.000000
S 0 0.000000 0.000000 0.000000 40.000000 0.000000
- L3 0 0.050000 0.000000 0.000000 0 40.000000 0.000000 0
S 0 0.000000 0.000000 4.500000 40.000000 4.500000
+ L3 0 0.050000 0.000000 0.000000 0 40.000000 0.000000 0
L3 0 0.050000 0.000000 4.500000 0 40.000000 4.500000 0
L3 0 0.100000 0.000000 -1.500000 0 40.000000 -1.500000 0
L3 0 0.100000 0.000000 6.000000 0 40.000000 6.000000 0
@@ -522,7 +522,7 @@ TURNOUT O "Atlas O 3 Rail 18"" Single Track Plate Girder Bridge 6918"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 18.000000 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 0 18.000000 0.000000 0
+ S 0 0.000000 0.000000 0.000000 18.000000 0.000000 0
L3 0 0.050000 0.000000 0.000000 0 18.000000 0.000000 0
L3 0 0.100000 1.500000 -2.000000 0 16.500000 -2.000000 0
L3 0 0.100000 1.500000 2.000000 0 16.500000 2.000000 0
@@ -539,7 +539,7 @@ TURNOUT O "Atlas O 3 Rail 18"" Single Track Plate Girder Bridge 6918"
L3 0 0.100000 13.500000 1.250000 0 13.500000 2.000000 0
L3 0 0.100000 16.500000 1.250000 0 16.500000 2.000000 0
END
-TURNOUT O "Atlas O 3 Rail 24"" Turntable 6910"
+TURNOUT O "Atlas O 3 Rail 24"" Turntable 6910" 512
P "1" 1
P "2" 2
P "3" 3
@@ -552,18 +552,18 @@ TURNOUT O "Atlas O 3 Rail 24"" Turntable 6910"
P "10" 10
P "11" 11
P "12" 12
- P "13" -1
- P "14" -2
- P "15" -3
- P "16" -4
- P "17" -5
- P "18" -6
- P "19" -7
- P "20" -8
- P "21" -9
- P "22" -10
- P "23" -11
- P "24" -12
+# P "13" -1
+# P "14" -2
+# P "15" -3
+# P "16" -4
+# P "17" -5
+# P "18" -6
+# P "19" -7
+# P "20" -8
+# P "21" -9
+# P "22" -10
+# P "23" -11
+# P "24" -12
E 0.000000 12.000000 0.000000
E -0.000000 -12.000000 180.000000
E 3.105829 11.591110 15.000000
diff --git a/app/lib/params/O-Bassett-Lowke (discontinued).xtp b/app/lib/params/O-Bassett-Lowke (discontinued).xtp
index 0ea4091..1b943a8 100644
--- a/app/lib/params/O-Bassett-Lowke (discontinued).xtp
+++ b/app/lib/params/O-Bassett-Lowke (discontinued).xtp
@@ -88,13 +88,17 @@ TURNOUT O "Bassett-Lowke O Scale 18""/457.2mm 15d Right Turnout RTS"
C 0 0.000000 35.370079 0.000000 -35.370079 0.000000 15.000000
END
TURNOUT O "Bassett-Lowke O Scale Three-Way Turnout(need to find data) TWT"
-# P "Normal" 1
+# Add fake seg to make path algorithm work
+ P "Normal" 1
E 0.000000 0.000000 270.000000
+ S 0 0.000000 0.000000 0.000000 12.000000 0.000000
Z 0 0.000000 0.000000 0.000000 0 72.000000 "Future Addition - Need to find Data"
END
TURNOUT O "Bassett-Lowke O Scale Wye Turnout(need to find data) WYE"
-# P "Normal" 1
+# Add fake seg to make path algorithm work
+ P "Normal" 1
E 0.000000 0.000000 270.000000
+ S 0 0.000000 0.000000 0.000000 12.000000 0.000000
Z 0 0.000000 0.000000 0.000000 0 72.000000 "Future Addition - Need to find Data"
END
@@ -180,7 +184,9 @@ TURNOUT O "Bassett-Lowke O Scale 24""/609.6mm Right Parallel Turnout RTP"
SUBCONTENTS Bassett-Lowke O Scale - Crossing
TURNOUT O "Bassett-Lowke O Scale Long Crossing(need to find data) DLC"
-# P "Normal" 1
+# Add fake seg to make path algorithm work
+ P "Normal" 1
E 0.000000 0.000000 270.000000
+ S 0 0.000000 0.000000 0.000000 12.000000 0.000000
Z 0 0.000000 0.000000 0.000000 0 72.000000 "Future Addition - Need to find Data"
END
diff --git a/app/lib/params/O-ETS.xtp b/app/lib/params/O-ETS.xtp
index 95edbc5..137e25d 100644
--- a/app/lib/params/O-ETS.xtp
+++ b/app/lib/params/O-ETS.xtp
@@ -205,7 +205,7 @@ TURNOUT O "Electric Train System O Scale 240mm/R672mm 22°30' Three-Way Remote T
END
SUBCONTENTS Electric Train System O Scale - Turntable
-TURNOUT O "Electric Train System O Scale 240mm 22°30' Turntable 863"
+TURNOUT O "Electric Train System O Scale 240mm 22°30' Turntable 863" 512
P "1" 1 2
P "2" 3 4 5
P "3" 6 7 8
diff --git a/app/lib/params/O-Lenz.xtp b/app/lib/params/O-Lenz.xtp
index ec48ff9..1cfa24a 100644
--- a/app/lib/params/O-Lenz.xtp
+++ b/app/lib/params/O-Lenz.xtp
@@ -107,9 +107,11 @@ TURNOUT O "Lenz O Scale 585.88mm/R1649.39mm 11°15' Three-Way Manual Turnout 450
S 0 0.000000 11.881688 -1.047143 17.928740 -2.250000
S 0 0.000000 1.471803 0.000000 23.066142 0.000000
END
-TURNOUT O "Lenz O Scale 585.88mm 11°15' Double Slip Turnout 45033"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT O "Lenz O Scale 585.88mm 11°15' Double Slip Turnout 45033" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 23.066142 0.000000 90.000000
E 0.221601 2.249974 281.250000
diff --git a/app/lib/params/O-Ross.xtp b/app/lib/params/O-Ross.xtp
index 890c882..e36ce17 100644
--- a/app/lib/params/O-Ross.xtp
+++ b/app/lib/params/O-Ross.xtp
@@ -269,9 +269,11 @@ TURNOUT O "Ross O96 Right-Hand 140"
END
SUBCONTENTS Ross - Dbl-XOver and Slip Switches
-TURNOUT O "Ross #8 Double Crossover 280"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 8 9 6 0 4 10 11 12 3
+TURNOUT O "Ross #8 Double Crossover 280" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 8 9 6
+ P "Slip2" 4 10 11 12 3
E 0.000000 0.000000 270.000000
E 49.300000 0.000000 90.000000
E 0.000000 4.000000 270.000000
@@ -309,9 +311,11 @@ TURNOUT O "Ross Double Crossover 175"
S 0 0.000000 14.726678 2.656766 17.113322 1.913234
C 0 0.000000 -42.276890 29.687584 42.276873 180.000076 17.303028
END
-TURNOUT O "Ross Double-Slip 270"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT O "Ross Double-Slip 270" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 17.062500 0.000000 90.000000
E 0.253411 2.063883 284.000000
@@ -736,7 +740,7 @@ TURNOUT O "Ross Transition Curve 11d 4.5 TR45"
END
SUBCONTENTS Ross - Turn Tables
-TURNOUT O "Ross 18"" 7.5d Turn Table TUTA18M/A"
+TURNOUT O "Ross 18"" 7.5d Turn Table TUTA18M/A" 512
P "1" 1
P "2" 2
P "3" 3
@@ -839,7 +843,7 @@ TURNOUT O "Ross 18"" 7.5d Turn Table TUTA18M/A"
L 11579568 0.046875 10.000000 -10.000000 -10.000000 -10.000000
L 11579568 0.046875 -10.000000 -10.000000 -10.000000 10.000000
END
-TURNOUT O "Ross 24"" 7.5d Turn Table TUTA24M/A"
+TURNOUT O "Ross 24"" 7.5d Turn Table TUTA24M/A" 512
P "1" 1
P "2" 2
P "3" 3
@@ -942,7 +946,7 @@ TURNOUT O "Ross 24"" 7.5d Turn Table TUTA24M/A"
L 11579568 0.046875 13.000000 -13.000000 -13.000000 -13.000000
L 11579568 0.046875 -13.000000 -13.000000 -13.000000 13.000000
END
-TURNOUT O "Ross 27"" 7.5d Turn Table TUTA27M/A"
+TURNOUT O "Ross 27"" 7.5d Turn Table TUTA27M/A" 512
P "1" 1
P "2" 2
P "3" 3
@@ -1045,7 +1049,7 @@ TURNOUT O "Ross 27"" 7.5d Turn Table TUTA27M/A"
L 11579568 0.046875 14.500000 -14.500000 -14.500000 -14.500000
L 11579568 0.046875 -14.500000 -14.500000 -14.500000 14.500000
END
-TURNOUT O "Ross 33"" 7.5d Turn Table TUTA33M/A"
+TURNOUT O "Ross 33"" 7.5d Turn Table TUTA33M/A" 512
P "1" 1
P "2" 2
P "3" 3
@@ -1150,7 +1154,7 @@ TURNOUT O "Ross 33"" 7.5d Turn Table TUTA33M/A"
END
SUBCONTENTS Ross - Transfer Tables
-TURNOUT O "Ross 18"" 5 Stop Transfer Table (3.5"" Trk Center) TT185"
+TURNOUT O "Ross 18"" 5 Stop Transfer Table (3.5"" Trk Center) TT185" 512
P "1" 1
P "2" 2
P "3" 3
@@ -1184,7 +1188,7 @@ TURNOUT O "Ross 18"" 5 Stop Transfer Table (3.5"" Trk Center) TT185"
L 0 0.046875 18.750000 -18.250000 -0.750000 -18.250000
L 0 0.046875 -0.750000 -18.250000 -0.750000 4.250000
END
-TURNOUT O "Ross 18"" 10 Stop Transfer Table (3.5"" Trk Center) TT1810"
+TURNOUT O "Ross 18"" 10 Stop Transfer Table (3.5"" Trk Center) TT1810" 512
P "1" 1
P "2" 2
P "3" 3
@@ -1238,7 +1242,7 @@ TURNOUT O "Ross 18"" 10 Stop Transfer Table (3.5"" Trk Center) TT1810"
L 0 0.046875 18.750000 -35.750000 -0.750000 -35.750000
L 0 0.046875 -0.750000 -35.750000 -0.750000 4.250000
END
-TURNOUT O "Ross 27"" 5 Stop Transfer Table (3.5"" Trk Center) TT275"
+TURNOUT O "Ross 27"" 5 Stop Transfer Table (3.5"" Trk Center) TT275" 512
P "1" 1
P "2" 2
P "3" 3
@@ -1272,7 +1276,7 @@ TURNOUT O "Ross 27"" 5 Stop Transfer Table (3.5"" Trk Center) TT275"
L 0 0.046875 27.750000 -18.250000 -0.750000 -18.250000
L 0 0.046875 -0.750000 -18.250000 -0.750000 4.250000
END
-TURNOUT O "Ross 27"" 10 Stop Transfer Table (3.5"" Trk Center) TT2710"
+TURNOUT O "Ross 27"" 10 Stop Transfer Table (3.5"" Trk Center) TT2710" 512
P "1" 1
P "2" 2
P "3" 3
@@ -1326,7 +1330,7 @@ TURNOUT O "Ross 27"" 10 Stop Transfer Table (3.5"" Trk Center) TT2710"
L 0 0.046875 27.750000 -35.750000 -0.750000 -35.750000
L 0 0.046875 -0.750000 -35.750000 -0.750000 4.250000
END
-TURNOUT O "Ross 36"" 5 Stop Transfer Table (3.5"" Trk Center) TT365"
+TURNOUT O "Ross 36"" 5 Stop Transfer Table (3.5"" Trk Center) TT365" 512
P "1" 1
P "2" 2
P "3" 3
@@ -1360,7 +1364,7 @@ TURNOUT O "Ross 36"" 5 Stop Transfer Table (3.5"" Trk Center) TT365"
L 0 0.046875 36.750000 -18.250000 -0.750000 -18.250000
L 0 0.046875 -0.750000 -18.250000 -0.750000 4.250000
END
-TURNOUT O "Ross 36"" 10 Stop Transfer Table (3.5"" Trk Center) TT3610"
+TURNOUT O "Ross 36"" 10 Stop Transfer Table (3.5"" Trk Center) TT3610" 512
P "1" 1
P "2" 2
P "3" 3
@@ -1416,7 +1420,7 @@ TURNOUT O "Ross 36"" 10 Stop Transfer Table (3.5"" Trk Center) TT3610"
END
SUBCONTENTS Ross - Roundhouses
-TURNOUT O "Ross 33"" 6 Stall Roundhouse RH336"
+TURNOUT O "Ross 33"" 6 Stall Roundhouse RH336" 512
P "1" 1
P "2" 2
P "3" 3
@@ -1479,7 +1483,7 @@ TURNOUT O "Ross 33"" 6 Stall Roundhouse RH336"
L 8404992 0.100000 52.109683 40.916864 53.009634 39.744025
L 8404992 0.100000 51.737064 45.372187 57.216705 38.230980
END
-TURNOUT O "Ross 33"" 6 Stall Add-On Roundhouse RH336A"
+TURNOUT O "Ross 33"" 6 Stall Add-On Roundhouse RH336A" 512
P "1" 1
P "2" 2
P "3" 3
@@ -1542,7 +1546,7 @@ TURNOUT O "Ross 33"" 6 Stall Add-On Roundhouse RH336A"
L 8404992 0.100000 52.109683 40.916864 53.009634 39.744025
L 8404992 0.100000 51.737064 45.372187 57.216705 38.230980
END
-TURNOUT O "Ross 33"" 3 Stall Roundhouse RH333"
+TURNOUT O "Ross 33"" 3 Stall Roundhouse RH333" 512
P "1" 1
P "2" 2
P "3" 3
@@ -1575,7 +1579,7 @@ TURNOUT O "Ross 33"" 3 Stall Roundhouse RH333"
L 8404992 0.100000 63.801276 17.860741 64.183896 16.432783
L 8404992 0.100000 65.16199 22.119518 67.491705 13.424935
END
-TURNOUT O "Ross 33"" 3 Stall Add-On Roundhouse RH333A"
+TURNOUT O "Ross 33"" 3 Stall Add-On Roundhouse RH333A" 512
P "1" 1
P "2" 2
P "3" 3
diff --git a/app/lib/params/O-atlaso3rail.xtp b/app/lib/params/O-atlaso3rail.xtp
index 88be042..456119d 100644
--- a/app/lib/params/O-atlaso3rail.xtp
+++ b/app/lib/params/O-atlaso3rail.xtp
@@ -146,9 +146,11 @@ TURNOUT O "Atlas O 3 Rail #5 Right AT-6025"
A 0 0.050000 77.216289 1.176693 -77.216289 0.000076 11.537121
L 0 0.050000 16.620459 -1.560127 20.000000 -2.250000
END
-TURNOUT O "Atlas O 3 Rail #5 Dbl-Slip AT-6027"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT O "Atlas O 3 Rail #5 Dbl-Slip AT-6027" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 23.250000 0.000000 90.000000
E 0.234870 2.324985 281.536969
@@ -493,8 +495,8 @@ TURNOUT O "Atlas O 3 Rail 40"" Double Track Pratt Truss Bridge AT-6921"
E 0.000000 3.250000 270.000000
E 40.000000 3.250000 90.000000
S 0 0.000000 0.000000 0.000000 40.000000 0.000000
- L 0 0.050000 0.000000 0.000000 40.000000 0.000000
S 0 0.000000 0.000000 3.250000 40.000000 3.250000
+ L 0 0.050000 0.000000 0.000000 40.000000 0.000000
L 0 0.050000 0.000000 3.250000 40.000000 3.250000
L 0 0.100000 0.000000 -1.500000 40.000000 -1.500000
L 0 0.100000 0.000000 4.750000 40.000000 4.750000
@@ -539,7 +541,7 @@ TURNOUT O "Atlas O 3 Rail 18"" Single Track Plate Girder Bridge AT-6918"
L 0 0.100000 13.500000 1.250000 13.500000 2.000000
L 0 0.100000 16.500000 1.250000 16.500000 2.000000
END
-TURNOUT O "Atlas O 3 Rail 24"" Turntable AT-6910"
+TURNOUT O "Atlas O 3 Rail 24"" Turntable AT-6910" 512
P "1" 1
P "2" 2
P "3" 3
@@ -552,18 +554,18 @@ TURNOUT O "Atlas O 3 Rail 24"" Turntable AT-6910"
P "10" 10
P "11" 11
P "12" 12
- P "13" -1
- P "14" -2
- P "15" -3
- P "16" -4
- P "17" -5
- P "18" -6
- P "19" -7
- P "20" -8
- P "21" -9
- P "22" -10
- P "23" -11
- P "24" -12
+# P "13" -1
+# P "14" -2
+# P "15" -3
+# P "16" -4
+# P "17" -5
+# P "18" -6
+# P "19" -7
+# P "20" -8
+# P "21" -9
+# P "22" -10
+# P "23" -11
+# P "24" -12
E 0.000000 12.000000 0.000000
E -0.000000 -12.000000 180.000000
E 3.105829 11.591110 15.000000
diff --git a/app/lib/params/O-nmra-lapped.xtp b/app/lib/params/O-nmra-lapped.xtp
index 59caa62..71517dc 100644
--- a/app/lib/params/O-nmra-lapped.xtp
+++ b/app/lib/params/O-nmra-lapped.xtp
@@ -3,9 +3,8 @@ CONTENTS NMRA O 2 Rail Lapped turnouts
#sterbejj@hotmail.com June 6, 2007
#Reference: John Armstrong article MRR May 1954
TURNOUT O "NMRA O #4 Right Lapped #4R + #4R"
- P "Normal" 1
- P "Right" 2 3 4 5
- P "Left" 6 7 8 9
+ P "P1" 2 3 4 5 0 6 7 8 9
+ P "P2" 1
E 0.000000 0.000000 270.000000
E 15.625000 -1.576999 104.250000
E 15.625000 0.000000 90.000000
@@ -21,9 +20,8 @@ TURNOUT O "NMRA O #4 Right Lapped #4R + #4R"
S 0 0 2.5625 0.938905 0.000000 1.576999
END
TURNOUT O "NMRA O #4 Left Lapped #4L + #4L"
- P "Normal" 1
- P "Right" 2 3 4 5
- P "Left" 6 7 8 9
+ P "P1" 2 3 4 5 0 6 7 8 9
+ P "P2" 1
E 0.000000 0.000000 270.000000
E 15.625000 1.576999 75.750000
E 15.625000 0.000000 90.000000
@@ -39,38 +37,50 @@ TURNOUT O "NMRA O #4 Left Lapped #4L + #4L"
S 0 0 2.5625 -0.938905 0.000000 -1.576999
END
TURNOUT O "NMRA O #5 Right Lapped #5R + #5R"
- P "Normal" 1
- P "Right" 2 3 4 5
- P "Left" 6 7 8 9
+ P "P1" 1 2 3
+ P "P2" 1 6 5 0 -3 4 7
E 0.000000 0.000000 270.000000
E 17.875000 0.000000 90.000000
E 0.000000 1.535771 281.416667
E 17.875000 -1.535771 101.416667
- S 0 0 0.000000 0.000000 17.875000 0.000000
- S 0 0 0.000000 0.000000 5.312500 0.000000
- C 0 0 228.000000 -6.608202 -227.688157 2.997007 0.912619
- C 0 0 52.000000 5.638694 -52.114009 3.637205 6.804034
- S 0 0 15.0625 -0.975062 17.875000 -1.535771
- S 0 0 17.875000 0.000000 12.562500 0.000000
- C 0 0 228.000000 24.483202 227.688157 182.997007 0.912619
- C 0 0 52.000000 12.236306 52.114009 183.637205 6.804034
- S 0 0 2.8125 0.975062 0.000000 1.535771
+# S 0 0 0.000000 0.000000 17.875000 0.000000
+# S 0 0 0.000000 0.000000 5.312500 0.000000
+# C 0 0 228.000000 -6.608202 -227.688157 2.997007 0.912619
+# C 0 0 52.000000 5.638694 -52.114009 3.637205 6.804034
+# S 0 0 15.0625 -0.975062 17.875000 -1.535771
+# S 0 0 17.875000 0.000000 12.562500 0.000000
+# C 0 0 228.000000 24.483202 227.688157 182.997007 0.912619
+# C 0 0 52.000000 12.236306 52.114009 183.637205 6.804034
+# S 0 0 2.8125 0.975062 0.000000 1.535771
+ S 0 0 0.000 0.000 5.320 0.000
+ S 0 0 5.320 0.000 12.555 0.000
+ S 0 0 12.555 0.000 17.875 0.000
+ C 0 0 49.149 12.555 49.149 180.000 11.279
+ S 0 0 14.933 -0.949 17.875 -1.536
+ C 0 0 49.149 5.320 -49.149 0.000 11.279
+ S 0 0 2.942 0.949 0.000 1.536
END
TURNOUT O "NMRA O #5 Left Lapped #5L + #5L"
- P "Normal" 1
- P "Right" 2 3 4 5
- P "Left" 6 7 8 9
+ P "P1" 1 2 3
+ P "P2" 1 -4 5 0 -3 6 7
E 0.000000 0.000000 270.000000
E 17.875000 0.000000 90.000000
E 0.000000 -1.535771 258.583333
E 17.875000 1.535771 78.583333
- S 0 0 0.000000 0.000000 17.875000 0.000000
- S 0 0 0.000000 0.000000 5.312500 0.000000
- C 0 0 -228.000000 -6.608202 227.688157 176.090374 0.912619
- C 0 0 -52.000000 5.638694 52.114009 169.558761 6.804034
- S 0 0 15.0625 0.975062 17.875000 1.535771
- S 0 0 17.875000 0.000000 12.562500 0.000000
- C 0 0 -228.000000 24.483202 -227.688157 356.090374 0.912619
- C 0 0 -52.000000 12.236306 -52.114009 349.558761 6.804034
- S 0 0 2.8125 -0.975062 0.000000 -1.535771
+# S 0 0 0.000000 0.000000 17.875000 0.000000
+# S 0 0 0.000000 0.000000 5.312500 0.000000
+# C 0 0 -228.000000 -6.608202 227.688157 176.090374 0.912619
+# C 0 0 -52.000000 5.638694 52.114009 169.558761 6.804034
+# S 0 0 15.0625 0.975062 17.875000 1.535771
+# S 0 0 17.875000 0.000000 12.562500 0.000000
+# C 0 0 -228.000000 24.483202 -227.688157 356.090374 0.912619
+# C 0 0 -52.000000 12.236306 -52.114009 349.558761 6.804034
+# S 0 0 2.8125 -0.975062 0.000000 -1.535771
+ S 0 0 0.000 0.000 5.320 0.000
+ S 0 0 5.320 0.000 12.555 0.000
+ S 0 0 12.555 0.000 17.875 0.000
+ C 0 0 49.149 5.320 49.149 168.721 11.279
+ S 0 0 14.933 0.949 17.875 1.536
+ C 0 0 -49.149 12.555 -49.149 348.721 11.279
+ S 0 0 2.942 -0.949 0.000 -1.536
END
diff --git a/app/lib/params/OO9-Peco.xtp b/app/lib/params/OO9-Peco.xtp
new file mode 100755
index 0000000..bddcd01
--- /dev/null
+++ b/app/lib/params/OO9-Peco.xtp
@@ -0,0 +1,62 @@
+CONTENTS OO9 PECO Turnouts
+TURNOUT OO9 "Peco LH Small Radius 12"""" SL-E492"
+ U "Regular Turnout" "" "Peco" "LH Small Radius 12""""" "SL-E492" "RH Small Radius 12""""" "SL-E491" 4.796000 19.500000 0.656250 4.921000 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 4.921000 0.000000 90.000000
+ E 4.796000 0.656250 70.500000
+ S 0 0.000000 0.000000 0.000000 1.331185 0.000000
+ S 0 0.000000 1.331185 0.000000 4.921000 0.000000
+ C 0 0.000000 -9.379199 1.331197 9.379199 160.499924 19.500152
+ S 0 0.000000 4.462046 0.537984 4.796000 0.656250
+ END
+TURNOUT OO9 "Peco RH Small Radius 12"""" SL-E491"
+ U "Regular Turnout" "" "Peco" "LH Small Radius 12""""" "SL-E492" "RH Small Radius 12""""" "SL-E491" 4.796000 19.500000 0.656250 4.921000 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 4.921000 0.000000 90.000000
+ E 4.796000 -0.656250 109.500000
+ S 0 0.000000 0.000000 0.000000 1.331185 0.000000
+ S 0 0.000000 1.331185 0.000000 4.921000 0.000000
+ C 0 0.000000 9.379199 1.331147 -9.379199 0.000076 19.500152
+ S 0 0.000000 4.462046 -0.537984 4.796000 -0.656250
+ END
+TURNOUT OO9 "Peco LH Mainline Radius 18"""" SL-E496"
+ U "Regular Turnout" "" "Peco" "LH Mainline Radius 18""""" "SL-E496" "RH Mainline Radius 18""""" "SL-E495" 5.531250 14.000000 0.656250 5.629000 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 5.629000 0.000000 90.000000
+ E 5.531250 0.656250 76.000000
+ S 0 0.000000 0.000000 0.000000 0.540879 0.000000
+ S 0 0.000000 0.540879 0.000000 5.629000 0.000000
+ C 0 0.000000 -19.207026 0.540904 19.207026 165.999924 14.000152
+ S 0 0.000000 5.187525 0.570542 5.531250 0.656250
+ END
+TURNOUT OO9 "Peco RH Mainline Radius 18"""" SL-E495"
+ U "Regular Turnout" "" "Peco" "LH Mainline Radius 18""""" "SL-E496" "RH Mainline Radius 18""""" "SL-E495" 5.531250 14.000000 0.656250 5.629000 0.000000 0.000000 0
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 5.629000 0.000000 90.000000
+ E 5.531250 -0.656250 104.000000
+ S 0 0.000000 0.000000 0.000000 0.540879 0.000000
+ S 0 0.000000 0.540879 0.000000 5.629000 0.000000
+ C 0 0.000000 19.207026 0.540802 -19.207026 0.000076 14.000152
+ S 0 0.000000 5.187525 -0.570542 5.531250 -0.656250
+ END
+TURNOUT OO9 "Peco Y Turnout Radius 18"""" SL-E497"
+ U "Wye Turnout" "" "Peco" "Y Turnout Radius 18""""" "SL-E497" 4.291339 11.250000 0.328125 0.328125 11.250000 4.291339 0.000000 0.000000 0
+ P "Left" 1 2 3
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 4.291339 0.328125 78.750000
+ E 4.291339 -0.328125 101.250000
+ S 0 0.000000 0.000000 0.000000 1.314185 0.000000
+ C 0 0.000000 -13.479213 1.314203 13.479213 168.749924 11.250152
+ S 0 0.000000 3.943882 0.259006 4.291339 0.328125
+ C 0 0.000000 13.479213 1.314131 -13.479213 0.000076 11.250152
+ S 0 0.000000 3.943882 -0.259006 4.291339 -0.328125
+ END
diff --git a/app/lib/params/On3-FastTrack.xtp b/app/lib/params/On3-FastTrack.xtp
new file mode 100644
index 0000000..6f21c9c
--- /dev/null
+++ b/app/lib/params/On3-FastTrack.xtp
@@ -0,0 +1,226 @@
+CONTENTS Fast Tracks On3 Gauge Track
+#Dimension obtain from Fast Tracks On3 PDF Templates
+SUBCONTENTS Fast track On3 Tracks - Turnouts
+TURNOUT On3 "Fast Track Lefthand Turnout TT-ON3-T-4L"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 11.394306 0.000000 90.000000
+ E 11.394306 1.529958 75.522476
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ S 0 0.000000 0.750000 0.000000 11.394306 0.000000
+ C 0 0.000000 -37.151543 0.750049 37.151543 165.522400 14.477676
+ S 0 0.000000 10.037981 1.179741 11.394306 1.529958
+END
+TURNOUT On3 "Fast Track Righthand Turnout TT-ON3-T-4R"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 11.394306 0.000000 90.000000
+ E 11.394306 -1.529958 104.477524
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ S 0 0.000000 0.750000 0.000000 11.394306 0.000000
+ C 0 0.000000 37.151543 0.749852 -37.151543 0.000076 14.477676
+ S 0 0.000000 10.037981 -1.179741 11.394306 -1.529958
+END
+TURNOUT On3 "Fast Track #5 Lefthand Turnout TT-ON3-T-5L"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 12.465139 0.000000 90.000000
+ E 12.465139 1.484236 78.463031
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ S 0 0.000000 0.750000 0.000000 12.465139 0.000000
+ C 0 0.000000 -43.990870 0.750058 43.990870 168.462955 11.537121
+ S 0 0.000000 9.548288 0.888819 12.465139 1.484236
+END
+TURNOUT On3 "Fast Track #5 Righthand Turnout TT-ON3-T-5R"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 12.465139 0.000000 90.000000
+ E 12.465139 -1.484236 101.536969
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ S 0 0.000000 0.750000 0.000000 12.465139 0.000000
+ C 0 0.000000 43.990870 0.749825 -43.990870 0.000076 11.537121
+ S 0 0.000000 9.548288 -0.888819 12.465139 -1.484236
+END
+TURNOUT On3 "Fast Track #6 Lefthand Turnout TT-ON3-T-6L"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 12.833284 0.000000 90.000000
+ E 12.833284 1.249251 80.405924
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ S 0 0.000000 0.750000 0.000000 12.833284 0.000000
+ C 0 0.000000 -55.918800 0.750074 55.918800 170.405848 9.594228
+ S 0 0.000000 10.069946 0.782144 12.833284 1.249251
+END
+TURNOUT On3 "Fast Track #6 Righthand Turnout TT-ON3-T-6R"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 12.833284 0.000000 90.000000
+ E 12.833284 -1.249251 99.594076
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ S 0 0.000000 0.750000 0.000000 12.833284 0.000000
+ C 0 0.000000 55.918800 0.749777 -55.918800 0.000076 9.594228
+ S 0 0.000000 10.069946 -0.782144 12.833284 -1.249251
+END
+TURNOUT On3 "Fast Track #7 Lefthand Turnout TT-ON3-T-7L"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 15.824194 0.000000 90.000000
+ E 15.824194 1.297795 81.786782
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ S 0 0.000000 0.750000 0.000000 15.824194 0.000000
+ C 0 0.000000 -84.724615 0.750112 84.724615 171.786706 8.213370
+ S 0 0.000000 12.853739 0.869025 15.824194 1.297795
+END
+TURNOUT On3 "Fast Track #7 Righthand Turnout TT-ON3-T-7R"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 15.824194 0.000000 90.000000
+ E 15.824194 -1.297795 98.213218
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ S 0 0.000000 0.750000 0.000000 15.824194 0.000000
+ C 0 0.000000 84.724615 0.749663 -84.724615 0.000076 8.213370
+ S 0 0.000000 12.853739 -0.869025 15.824194 -1.297795
+END
+TURNOUT On3 "Fast Track #8 Lefthand Turnout TT-ON3-T-8L"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 16.543472 0.000000 90.000000
+ E 16.543472 1.279097 82.819238
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ S 0 0.000000 0.750000 0.000000 16.543472 0.000000
+ C 0 0.000000 -89.904125 0.750119 89.904125 172.819162 7.180914
+ S 0 0.000000 11.988252 0.705171 16.543472 1.279097
+END
+TURNOUT On3 "Fast Track #8 Righthand Turnout TT-ON3-T-8R"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 16.543472 0.000000 90.000000
+ E 16.543472 -1.279097 97.180762
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ S 0 0.000000 0.750000 0.000000 16.543472 0.000000
+ C 0 0.000000 89.904125 0.749642 -89.904125 0.000076 7.180914
+ S 0 0.000000 11.988252 -0.705171 16.543472 -1.279097
+END
+TURNOUT On3 "Fast Track #9 Lefthand Turnout TT-ON3-T-9L"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 18.811201 0.000000 90.000000
+ E 18.811201 1.366384 83.620624
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ S 0 0.000000 0.750000 0.000000 18.811201 0.000000
+ C 0 0.000000 -104.796630 0.750139 104.796630 173.620548 6.379528
+ S 0 0.000000 12.394346 0.648933 18.811201 1.366384
+END
+TURNOUT On3 "Fast Track #9 Righthand Turnout TT-ON3-T-9R"
+ P "Normal" 1 2
+ P "Reverse" 1 3 4
+ E 0.000000 0.000000 270.000000
+ E 18.811201 0.000000 90.000000
+ E 18.811201 -1.366384 96.379376
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ S 0 0.000000 0.750000 0.000000 18.811201 0.000000
+ C 0 0.000000 104.796630 0.749583 -104.796630 0.000076 6.379528
+ S 0 0.000000 12.394346 -0.648933 18.811201 -1.366384
+END
+
+
+SUBCONTENTS Fast track On3 Tracks - 3-Way Turnouts
+TURNOUT On3 "Fast Track #6 3-Way TT-ON3-W-6"
+ P "Left" 1 2 3
+ P "Normal" 1 4 7
+ P "Right" 1 4 5 6
+ E 0.000000 0.000000 270.000000
+ E 15.775772 1.739264 80.405924
+ E 15.775772 -1.248727 99.594076
+ E 15.775772 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ C 0 0.000000 -56.437814 0.750075 56.437814 170.405848 9.594228
+ S 0 0.000000 10.156450 0.789404 15.775772 1.739264
+ S 0 0.000000 0.750000 0.000000 1.646093 -0.000000
+ C 0 0.000000 80.341027 1.645773 -80.341027 0.000076 9.594228
+ S 0 0.000000 15.036474 -1.123742 15.775772 -1.248727
+ S 0 0.000000 1.646093 -0.000000 15.775772 0.000000
+END
+
+
+SUBCONTENTS Fast track On3 Tracks - Wye Turnouts
+TURNOUT On3 "Fast Track #5 WYE TT-ON3-Y-5"
+ P "Left" 1 2 3
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 14.142324 0.853112 84.260825
+ E 14.142324 -0.853112 95.739175
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ C 0 0.000000 -97.837268 0.750130 97.837268 174.260749 5.739327
+ S 0 0.000000 10.533985 0.490441 14.142324 0.853112
+ C 0 0.000000 97.837268 0.749611 -97.837268 0.000076 5.739327
+ S 0 0.000000 10.533985 -0.490441 14.142324 -0.853112
+END
+TURNOUT On3 "Fast Track #6 WYE TT-ON3-Y-6"
+ P "Left" 1 2 3
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 12.700240 0.684620 85.219804
+ E 12.700240 -0.684620 94.780196
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ C 0 0.000000 -90.168782 0.750120 90.168782 175.219728 4.780348
+ S 0 0.000000 8.264304 0.313651 12.700240 0.684620
+ C 0 0.000000 90.168782 0.749641 -90.168782 0.000076 4.780348
+ S 0 0.000000 8.264304 -0.313651 12.700240 -0.684620
+END
+TURNOUT On3 "Fast Track #7 WYE TT-ON3-Y-7"
+ P "Left" 1 2 3
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 16.411938 0.679445 85.903953
+ E 16.411938 -0.679445 94.096047
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ C 0 0.000000 -172.660079 0.750229 172.660079 175.903877 4.096199
+ S 0 0.000000 13.083320 0.441055 16.411938 0.679445
+ C 0 0.000000 172.660079 0.749313 -172.660079 0.000076 4.096199
+ S 0 0.000000 13.083320 -0.441055 16.411938 -0.679445
+END
+TURNOUT On3 "Fast Track #8 WYE TT-ON3-Y-8"
+ P "Left" 1 2 3
+ P "Right" 1 4 5
+ E 0.000000 0.000000 270.000000
+ E 16.365500 0.628403 86.416675
+ E 16.365500 -0.628403 93.583325
+ S 0 0.000000 0.000000 0.000000 0.750000 0.000000
+ C 0 0.000000 -178.419226 0.750237 178.419226 176.416599 3.583477
+ S 0 0.000000 11.901674 0.348846 16.365500 0.628403
+ C 0 0.000000 178.419226 0.749290 -178.419226 0.000076 3.583477
+ S 0 0.000000 11.901674 -0.348846 16.365500 -0.628403
+END
+
+
+SUBCONTENTS Fast track On3 Tracks - Crossings
+TURNOUT On3 "Fast Track 14d Crossing TT-ON3-X-14"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 14.345238 0.000000 90.000000
+ E 0.213055 1.735203 284.000000
+ E 14.132183 -1.735203 104.000000
+ S 0 0.000000 0.000000 0.000000 14.345238 0.000000
+ S 0 0.000000 0.213055 1.735203 14.132183 -1.735203
+END
+TURNOUT On3 "Fast Track 19d Crossing TT-ON3-X-19"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 12.322274 0.000000 90.000000
+ E 0.335664 2.005861 289.000000
+ E 11.986610 -2.005861 109.000000
+ S 0 0.000000 0.000000 0.000000 12.322274 0.000000
+ S 0 0.000000 0.335664 2.005861 11.986610 -2.005861
+END
diff --git a/app/lib/params/RocoGeoLineHO.xtp b/app/lib/params/RocoGeoLineHO.xtp
index 52e3774..14b92b7 100644
--- a/app/lib/params/RocoGeoLineHO.xtp
+++ b/app/lib/params/RocoGeoLineHO.xtp
@@ -152,9 +152,11 @@ TURNOUT HO "Roco Geoline Track Three-way Turnout 61160"
A3 11579568 0.053333 15.717333 0.657620 -16.517333 0 0.000076 22.500152
L3 11579568 0.053333 6.672469 -1.996420 0 7.272579 -2.245004 0
END
-TURNOUT HO "Roco Geoline Track Double Slip Turnout 61164"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Roco Geoline Track Double Slip Turnout 61164" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 7.874016 0.000000 90.000000
E 0.299684 1.506622 292.500000
diff --git a/app/lib/params/TT-Berliner.xtp b/app/lib/params/TT-Berliner.xtp
new file mode 100644
index 0000000..94a3663
--- /dev/null
+++ b/app/lib/params/TT-Berliner.xtp
@@ -0,0 +1,228 @@
+CONTENTS Berliner Track System
+SUBCONTENTS Berliner TT-Scale Track - Straight Track
+TURNOUT TT "Berliner Track Straight 228mm 6110"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 8.976378 0.000000 90.000000
+ S 0 0 0.000000 0.000000 8.976378 0.000000
+ END$SEGS
+TURNOUT TT "Berliner Track Straight 114mm 6120"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.488189 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.488189 0.000000
+ END$SEGS
+TURNOUT TT "Berliner Track Straight 105mm 6130"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.133858 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.133858 0.000000
+ END$SEGS
+TURNOUT TT "Berliner Track Straight 57mm 6140"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.244094 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.244094 0.000000
+ END$SEGS
+TURNOUT TT "Berliner Track Straight 14.5mm 6150"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.570866 0.000000 90.000000
+ S 0 0 0.000000 0.000000 0.570866 0.000000
+ END$SEGS
+TURNOUT TT "Berliner Track Straight 5.4mm D"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 0.212598 0.000000 90.000000
+ S 0 0 0.000000 0.000000 0.212598 0.000000
+ END$SEGS
+
+
+SUBCONTENTS Berliner TT-Scale Track - Curve Track
+TURNOUT TT "Berliner Track Curve 286mm 7.5 6210"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.469704 -0.096330 97.500000
+ C 0 0 11.259843 0.000000 -11.259843 0.000000 7.500000
+ END$SEGS
+TURNOUT TT "Berliner Track Curve 286mm 11.25 6220"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.196686 -0.216355 101.250000
+ C 0 0 11.259843 0.000000 -11.259843 0.000000 11.2500000
+ END$SEGS
+TURNOUT TT "Berliner Track Curve 286mm 22.5 6230"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.308955 -0.857104 112.500000
+ C 0 0 11.259843 0.000000 -11.259843 0.000000 22.500000
+ END$SEGS
+TURNOUT TT "Berliner Track Curve 286mm 45 6240"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 7.961911 -3.297932 135.000000
+ C 0 0 11.259843 0.000000 -11.259843 0.000000 45.000000
+ END$SEGS
+TURNOUT TT "Berliner Track Curve 330mm 7.5 6310"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 1.695813 -0.111149 97.500000
+ C 0 0 12.992126 0.000000 -12.992126 0.000000 7.500000
+ END$SEGS
+TURNOUT TT "Berliner Track Curve 330mm 11.25 6320"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.534638 -0.249640 101.250000
+ C 0 0 12.992126 0.000000 -12.992126 0.000000 11.2500000
+ END$SEGS
+TURNOUT TT "Berliner Track Curve 330mm 22.5 6330"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.971871 -0.988967 112.500000
+ C 0 0 12.992126 0.000000 -12.992126 0.000000 22.500000
+ END$SEGS
+TURNOUT TT "Berliner Track Curve 556mm 15 6340"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.665488 -0.745876 105.000000
+ C 0 0 21.889764 0.000000 -21.889764 0.000000 15.000000
+ END$SEGS
+TURNOUT TT "Berliner Track Curve 600mm 15 6350"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 6.113836 -0.804902 105.000000
+ C 0 0 23.622047 0.000000 -23.622047 0.000000 15.000000
+ END$SEGS
+
+
+SUBCONTENTS Berliner TT-Scale Track - Misc
+TURNOUT TT "Berliner Track Power Feed 57mm 6510"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.244094 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.244094 0.000000
+ END$SEGS
+TURNOUT TT "Berliner Track Power Feed 286mm 45 6520"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 7.961911 -3.297932 135.000000
+ C 0 0 11.259843 0.000000 -11.259843 0.000000 45.000000
+ END$SEGS
+TURNOUT TT "Berliner Track Unbreaker 57mm 6610"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.244094 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.244094 0.000000
+ END$SEGS
+TURNOUT TT "Berliner Track Separation 57mm 6620"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.244094 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.244094 0.000000
+ END$SEGS
+TURNOUT TT "Berliner Track Rectifier 57mm 6630"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.244094 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.244094 0.000000
+ END$SEGS
+TURNOUT TT "Berliner Track Switching 57mm 6640"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.244094 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.244094 0.000000
+ END$SEGS
+TURNOUT TT "Berliner Track uncoupling 114mm 6710"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.488189 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.488189 0.000000
+ END$SEGS
+TURNOUT TT "Berliner Track Buffer 6730"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ S 0 0 0.000000 0.000000 2.244094 0.000000
+ L3 9127187 1.000000 2.244094 0.000000 0 3.244094 0.000000 0
+ END$SEGS
+TURNOUT TT "Berliner Track Buffer 7150"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ S 0 0 0.000000 0.000000 1.000000 0.000000
+ L3 9127187 1.000000 0.000000 0.000000 0 1.000000 0.000000 0
+ END$SEGS
+
+
+SUBCONTENTS Berliner TT-Scale Track - Turnouts
+TURNOUT TT "Berliner Track Left Turnout R286 22.5d 6813"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 4.488189 0.000000 90.000000
+ E 4.308955 0.857104 67.500000
+ S 0 0.000000 0.000000 0.000000 4.488189 0.000000
+ C 0 0 11.259843 0.000000 11.259843 157.500000 22.500000
+ END$SEGS
+TURNOUT TT "Berliner Track Right Turnout R286 22.5d 6814"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 4.488189 0.000000 90.000000
+ E 4.308955 -0.857104 112.500000
+ S 0 0.000000 0.000000 0.000000 4.488189 0.000000
+ C 0 0 11.259843 0.000000 -11.259843 0.000000 22.500000
+ END$SEGS
+TURNOUT TT "Berliner Track Left Curve Turnout R286/600 30/15d 6851"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 6.113836 0.804902 75.000000
+ E 5.629921 1.508533 60.000000
+ C 0 0 23.622047 0.000000 23.622047 165.000000 15.000000
+ C 0 0 11.259843 0.000000 11.259843 150.000000 30.000000
+ END$SEGS
+TURNOUT TT "Berliner Track Right Curve Turnout R286/600 30/15d 6852"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 6.113836 -0.804902 105.000000
+ E 5.629921 -1.508533 120.000000
+ C 0 0 23.622047 0.000000 -23.622047 0.000000 15.000000
+ C 0 0 11.259843 0.000000 -11.259843 0.000000 30.000000
+ END$SEGS
+TURNOUT TT "Berliner Track Double-Slip Turnout 142mm 22.5d 6860"
+ P "N" 1 2 3 0 4 5 6
+ P "R" 1 7 6 0 4 8 3
+ E 0.000000 0.000000 270.000000
+ E 5.590551 0.000000 90.000000
+ E 0.212776 1.069701 292.500000
+ E 5.377775 -1.069701 112.500000
+ S 0 0.000000 0.000000 0.000000 0.944050 0.000000
+ S 0 0.000000 0.944050 0.000000 4.646501 0.000000
+ S 0 0.000000 4.646501 0.000000 5.590551 0.000000
+ S 0 0.000000 0.212776 1.069701 1.084895 0.708452
+ S 0 0.000000 1.084895 0.708452 4.505656 -0.708452
+ S 0 0.000000 4.505656 -0.708452 5.377775 -1.069701
+ C 0 0.000000 9.306875 0.944013 -9.306875 0.000076 22.500152
+ C 0 0.000000 -9.306875 4.646513 9.306870 180.000076 22.500152
+ END$SEGS
+
+
+SUBCONTENTS Berliner TT-Scale Track - Crossings
+TURNOUT TT "Berliner Track Crossing 114mm 22.5d 6910"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 4.488189 0.000000 90.000000
+ E 0.170820 0.858774 292.500000
+ E 4.317369 -0.858774 112.500000
+ S 0 0.000000 0.000000 0.000000 4.488189 0.000000
+ S 0 0.000000 0.170820 0.858774 4.317369 -0.858774
+ END$SEGS
+TURNOUT TT "Berliner Track Crossing 57mm 45d 6920"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 2.244094 0.000000 90.000000
+ E 0.328638 0.793405 315.000000
+ E 1.915456 -0.793405 135.000000
+ S 0 0.000000 0.000000 0.000000 2.244094 0.000000
+ S 0 0.000000 0.328638 0.793405 1.915456 -0.793405
+ END$SEGS
diff --git a/app/lib/params/TT-Kuehn.xtp b/app/lib/params/TT-Kuehn.xtp
index 4bd25da..874fb4e 100644
--- a/app/lib/params/TT-Kuehn.xtp
+++ b/app/lib/params/TT-Kuehn.xtp
@@ -38,31 +38,31 @@ TURNOUT TT "Kuehn Track G640 Straight(flex) 25.19 640mm 71640"
END
SUBCONTENTS Kuehn TT-Scale Track - Curve Track
-TURNOUT TT "Kuehn Track R1 Curve 12.64R 321mm 10 72110"
+TURNOUT TT "Kuehn Track R1 Curve 12.64R 321mm 10° 72110"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.194530 -0.191997 100.000000
C 0 0 12.637795 0.000000 -12.637795 0.000000 10.000000
END
-TURNOUT TT "Kuehn Track R1 Curve 12.64R 321mm 30 72130"
+TURNOUT TT "Kuehn Track R1 Curve 12.64R 321mm 30° 72130"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.318898 -1.693144 120.000000
C 0 0 12.637795 0.000000 -12.637795 0.000000 30.000000
END
-TURNOUT TT "Kuehn Track R2 Curve 14.37R 365mm 10 72210"
+TURNOUT TT "Kuehn Track R2 Curve 14.37R 365mm 10° 72210"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.495338 -0.218314 100.000000
C 0 0 14.370079 0.000000 -14.370079 0.000000 10.000000
END
-TURNOUT TT "Kuehn Track R2 Curve 14.37R 365mm 20 72220"
+TURNOUT TT "Kuehn Track R2 Curve 14.37R 365mm 20° 72220"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.914856 -0.866622 110.000000
C 0 0 14.370079 0.000000 -14.370079 0.000000 20.000000
END
-TURNOUT TT "Kuehn Track R2 Curve 14.37R 365mm 30 72230"
+TURNOUT TT "Kuehn Track R2 Curve 14.37R 365mm 30° 72230"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 7.185039 -1.925225 120.000000
@@ -71,8 +71,8 @@ TURNOUT TT "Kuehn Track R2 Curve 14.37R 365mm 30 72230"
SUBCONTENTS Kuehn TT-Scale Track - Turnouts
TURNOUT TT "Kuehn Track WL20 Left Turnout 72620"
- P "Normal" 1
- P "Reverse" 2
+ P "Normal" 1
+ P "Reverse" 2
E 0.000000 0.000000 270.000000
E 5.066929 0.000000 90.000000
E 4.914856 0.866622 70.000000
@@ -80,7 +80,7 @@ TURNOUT TT "Kuehn Track WL20 Left Turnout 72620"
C 0 0 14.370079 0.000000 14.370079 160.000000 20.000000
END
TURNOUT TT "Kuehn Track WR20 Right Turnout 72621"
- P "Normal" 1
+ P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
E 5.066929 0.000000 90.000000
@@ -130,9 +130,11 @@ TURNOUT TT "Kuehn Track BWR Right Curve Turnout 72631"
C 0 0 12.637795 1.732283 -12.637795 0.000000 30.000000
C 0 0 12.637795 0.000000 -12.637795 0.000000 30.000000
END
-TURNOUT TT "Kuehn Track DKW20 Double-Slip Turnout 72600"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT TT "Kuehn Track DKW20 Double-Slip Turnout 72600" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 5.066929 0.000000 90.000000
E 0.152785 0.866492 290.000000
diff --git a/app/lib/params/TT-Roco-Turntable.xtp b/app/lib/params/TT-Roco-Turntable.xtp
index e4377c7..c4429f5 100644
--- a/app/lib/params/TT-Roco-Turntable.xtp
+++ b/app/lib/params/TT-Roco-Turntable.xtp
@@ -1,5 +1,5 @@
CONTENTS Roco TT Scale Turntable
-TURNOUT TT "Roco Turn Table 35900"
+TURNOUT TT "Roco Turn Table 35900" 512
P "1" 1
P "2" 2
P "3" 3
diff --git a/app/lib/params/TT-Zeuke.xtp b/app/lib/params/TT-Zeuke.xtp
new file mode 100644
index 0000000..554047d
--- /dev/null
+++ b/app/lib/params/TT-Zeuke.xtp
@@ -0,0 +1,144 @@
+CONTENTS Zeuke Track System
+SUBCONTENTS Zeuke TT-Scale Track - Straight Track
+TURNOUT TT "Zeuke Track Straight 228mm 545/159-103"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 8.976378 0.000000 90.000000
+ S 0 0 0.000000 0.000000 8.976378 0.000000
+ END$SEGS
+TURNOUT TT "Zeuke Track Straight 114mm 545/159-101"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.488189 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.488189 0.000000
+ END$SEGS
+TURNOUT TT "Zeuke Track Straight 105mm 545/159-106"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.133858 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.133858 0.000000
+ END$SEGS
+TURNOUT TT "Zeuke Track Straight 57mm 545/159-105"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.244094 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.244094 0.000000
+ END$SEGS
+
+
+SUBCONTENTS Zeuke TT-Scale Track - Curve Track
+TURNOUT TT "Zeuke Track Curve 572mm 11.25 545/159-111"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.393373 -0.432709 101.250000
+ C 0 0 22.519685 0.000000 -22.519685 0.000000 11.2500000
+ END$SEGS
+TURNOUT TT "Zeuke Track Curve 572mm 22.5 545/159-102"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 8.617910 -1.714209 112.500000
+ C 0 0 22.519685 0.000000 -22.519685 0.000000 22.500000
+ END$SEGS
+TURNOUT TT "Zeuke Track Curve 572mm 45 545/159-104"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 15.923822 -6.595863 135.000000
+ C 0 0 22.519685 0.000000 -22.519685 0.000000 45.000000
+ END$SEGS
+TURNOUT TT "Zeuke Track Curve 660mm 11.25 545/159-150"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.069276 -0.499280 101.250000
+ C 0 0 25.984252 0.000000 -25.984252 0.000000 11.2500000
+ END$SEGS
+TURNOUT TT "Zeuke Track Curve 660mm 22.5 545/159-143"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 9.943743 -1.977933 112.500000
+ C 0 0 25.984252 0.000000 -25.984252 0.000000 22.500000
+ END$SEGS
+
+
+SUBCONTENTS Zeuke TT-Scale Track - Misc
+TURNOUT TT "Zeuke Track Power Feed 57mm 545/159-107"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.244094 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.244094 0.000000
+ END$SEGS
+TURNOUT TT "Zeuke Track Unbreaker 57mm 545/159-144"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.244094 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.244094 0.000000
+ END$SEGS
+TURNOUT TT "Zeuke Track Separation 57mm 545/159-145"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 2.244094 0.000000 90.000000
+ S 0 0 0.000000 0.000000 2.244094 0.000000
+ END$SEGS
+TURNOUT TT "Zeuke Track Buffer 82mm 545/159-110"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ S 0 0 0.000000 0.000000 2.244094 0.000000
+ L3 9127187 1.000000 2.244094 0.000000 0 3.244094 0.000000 0
+ END$SEGS
+TURNOUT TT "Zeuke Track Uncopler 114mm 545/159-142"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.488189 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.488189 0.000000
+ L3 9127187 0.400000 0.488189 0.000000 0 4.000000 0.000000 0
+ END$SEGS
+
+
+SUBCONTENTS Zeuke TT-Scale Track - Turnouts
+TURNOUT TT "Zeuke Track Left Turnout R286 22.5d 545/159-109L"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 4.488189 0.000000 90.000000
+ E 4.308955 0.857104 67.500000
+ S 0 0.000000 0.000000 0.000000 4.488189 0.000000
+ C 0 0 11.259843 0.000000 11.259843 157.500000 22.500000
+ END$SEGS
+TURNOUT TT "Zeuke Track Right Turnout R286 22.5d 545/159-109R"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 4.488189 0.000000 90.000000
+ E 4.308955 -0.857104 112.500000
+ S 0 0.000000 0.000000 0.000000 4.488189 0.000000
+ C 0 0 11.259843 0.000000 -11.259843 0.000000 22.500000
+ END$SEGS
+TURNOUT TT "Zeuke Track Left Turnout R286 22.5d 545/159-108L"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 4.488189 0.000000 90.000000
+ E 4.308955 0.857104 67.500000
+ S 0 0.000000 0.000000 0.000000 4.488189 0.000000
+ C 0 0 11.259843 0.000000 11.259843 157.500000 22.500000
+ END$SEGS
+TURNOUT TT "Zeuke Track Right Turnout R286 22.5d 545/159-108R"
+ P "Normal" 1
+ P "Reverse" 2
+ E 0.000000 0.000000 270.000000
+ E 4.488189 0.000000 90.000000
+ E 4.308955 -0.857104 112.500000
+ S 0 0.000000 0.000000 0.000000 4.488189 0.000000
+ C 0 0 11.259843 0.000000 -11.259843 0.000000 22.500000
+ END$SEGS
+
+
+SUBCONTENTS Zeuke TT-Scale Track - Crossings
+TURNOUT TT "Zeuke Track Crossing 114mm 22.5d 545/159-112"
+ P "Normal" 1 0 2
+ E 0.000000 0.000000 270.000000
+ E 4.488189 0.000000 90.000000
+ E 0.170820 0.858774 292.500000
+ E 4.317369 -0.858774 112.500000
+ S 0 0.000000 0.000000 0.000000 4.488189 0.000000
+ S 0 0.000000 0.170820 0.858774 4.317369 -0.858774
+ END$SEGS
diff --git a/app/lib/params/TilligAdvTT.xtp b/app/lib/params/TilligAdvTT.xtp
index dbe0c46..5365cbd 100644
--- a/app/lib/params/TilligAdvTT.xtp
+++ b/app/lib/params/TilligAdvTT.xtp
@@ -265,9 +265,11 @@ TURNOUT TT "Tillig DW-15 Asymmetrical 3-Way 83230"
END
SUBCONTENTS Pilz/Tillig TT-Scale Advance Track - Slips
-TURNOUT TT "Tillig DKW15 Double-Slip 83300/391"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT TT "Tillig DKW15 Double-Slip 83300/391" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 6.535433 0.000000 90.000000
E 0.111343 0.845742 285.000000
diff --git a/app/lib/params/TilligH0EliteCode83.xtp b/app/lib/params/TilligH0EliteCode83.xtp
index 6412aff..133ed92 100644
--- a/app/lib/params/TilligH0EliteCode83.xtp
+++ b/app/lib/params/TilligH0EliteCode83.xtp
@@ -485,10 +485,12 @@ TURNOUT HO "Tillig Einfache Kreuzungsweiche - EKW I - 15° 85395"
L3 13276512 0.000000 7.334207 -1.700026 0 8.589075 -2.036277 0
A3 13276512 0.000000 23.316822 1.299226 -24.222333 0 0.000076 15.000152
END
-TURNOUT HO "Tillig Doppelkreuzungsweiche - DKW I - 15° 85390"
+TURNOUT HO "Tillig Doppelkreuzungsweiche - DKW I - 15° 85390" 512
U "Double Slipswitch" "" "Tillig" "Doppelkreuzungsweiche - DKW I - 15°" "85390" 8.976378 15.000000 8.976378 1.811024 0.000000 13276512
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 8.976378 0.000000 90.000000
E 0.152930 1.161622 285.000000
@@ -508,10 +510,12 @@ TURNOUT HO "Tillig Doppelkreuzungsweiche - DKW I - 15° 85390"
A3 13276512 0.000000 23.316822 1.299226 -24.222333 0 0.000076 15.000152
A3 13276512 0.000000 23.316822 7.677086 24.222325 0 180.000076 15.000152
END
-TURNOUT HO "Tillig Doppelkreuzungsweiche - DKW II (Bauart Baeseler) - 15° 85391"
+TURNOUT HO "Tillig Doppelkreuzungsweiche - DKW II (Bauart Baeseler) - 15° 85391" 512
U "Double Slipswitch" "" "Tillig" "Doppelkreuzungsweiche - DKW II (Bauart Baeseler) - 15°" "85391" 10.866142 15.000000 10.866142 1.811024 0.000000 13276512
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 10.866142 0.000000 90.000000
E 0.185125 1.406174 285.000000
diff --git a/app/lib/params/TilligTTModellGS.xtp b/app/lib/params/TilligTTModellGS.xtp
index 9df4773..f36e836 100644
--- a/app/lib/params/TilligTTModellGS.xtp
+++ b/app/lib/params/TilligTTModellGS.xtp
@@ -435,10 +435,12 @@ TURNOUT TT "Tillig Kreuzung - K2 - 30° 83170"
L3 13279072 0.000000 1.489268 -0.564335 0 2.863744 -1.357886 0
L3 13279072 0.000000 0.522081 1.357886 0 1.896557 0.564336 0
END
-TURNOUT TT "Tillig Doppelkreuzungsweiche - DKW 1 83300"
+TURNOUT TT "Tillig Doppelkreuzungsweiche - DKW 1 83300" 512
U "Double Slipswitch" "" "Tillig" "Doppelkreuzungsweiche - DKW 1" "83300" 6.535433 15.000000 6.535433 1.181102 0.000000 13279072
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 6.535433 0.000000 90.000000
E 0.111343 0.845742 285.000000
@@ -458,10 +460,12 @@ TURNOUT TT "Tillig Doppelkreuzungsweiche - DKW 1 83300"
A3 13279072 0.000000 17.059506 0.944019 -17.650057 0 0.000076 15.000152
A3 13279072 0.000000 17.059506 5.591366 17.650051 0 180.000076 15.000152
END
-TURNOUT TT "Tillig Doppelkreuzungsweiche - DKW II Bauart Baeseler 83391"
+TURNOUT TT "Tillig Doppelkreuzungsweiche - DKW II Bauart Baeseler 83391" 512
U "Double Slipswitch" "" "Tillig" "Doppelkreuzungsweiche - DKW II Bauart Baeseler" "83391" 8.212598 15.000000 8.212598 1.181102 0.000000 13279072
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 8.212598 0.000000 90.000000
E 0.139917 1.062782 285.000000
diff --git a/app/lib/params/TreeLgConif.xtp b/app/lib/params/TreeLgConif.xtp
new file mode 100644
index 0000000..f14dd01
--- /dev/null
+++ b/app/lib/params/TreeLgConif.xtp
@@ -0,0 +1,3023 @@
+CONTENTS Large Conifer Trees
+
+# DxfToXtp version 0.6 by Russell Shilling 2021
+STRUCTURE * "Lg Conifer 8"" Conifer-8a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -1.078903 3.046478 0
+ -0.136680 3.728935 0
+ 0.544568 2.993905 0
+ 0.615176 -2.377496 0
+ -0.477304 -3.800646 0
+ -1.194407 -2.438150 0
+ -2.072858 -3.693080 0
+ -2.419782 -2.295585 0
+ -3.589029 -2.810483 0
+ -3.274005 -1.487989 0
+ -4.385515 -1.452133 0
+ -3.417426 -0.376479 0
+ -4.651005 0.000000 0
+ -3.749934 0.396900 0
+ -4.436465 1.104885 0
+ -3.076802 2.079599 0
+ -3.524991 3.316601 0
+ -1.929437 2.904267 0
+ -1.314898 3.786643 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -2.474005 -1.487989 0
+ -2.789029 -2.810483 0
+ -1.619782 -2.295585 0
+ -1.272858 -3.693080 0
+ -0.394407 -2.438150 0
+ 0.322696 -3.800646 0
+ 1.415176 -2.377496 0
+ 2.563761 -3.218110 0
+ 2.113226 -2.027409 0
+ 2.726572 -1.028361 0
+ 3.765189 -0.278903 0
+ 3.014297 0.418354 0
+ 3.722281 1.426696 0
+ 2.545715 1.487989 0
+ 2.317039 2.005955 0
+ 2.284858 3.164475 0
+ 1.344568 2.993905 0
+ 0.663320 3.728935 0
+ -0.278903 3.046478 0
+ -0.514898 3.786643 0
+ -1.129437 2.904267 0
+ -2.724991 3.316601 0
+ -2.276802 2.079599 0
+ -3.636465 1.104885 0
+ -2.949934 0.396900 0
+ -3.851005 0.000000 0
+ -2.617426 -0.376479 0
+ -3.585515 -1.452133 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.536352 -2.510126 0
+ 1.624046 -3.752650 0
+ 2.005955 -2.821210 0
+ 1.684144 -1.566147 0
+ 2.964278 -1.624046 0
+ 3.815719 -0.930279 0
+ 2.317039 0.075089 0
+ 3.689580 1.576744 0
+ 2.664697 1.813255 0
+ 1.898685 1.641236 0
+ 1.855777 2.628123 0
+ 1.687116 3.579208 0
+ 0.504171 2.317039 0
+ -0.418354 2.445764 0
+ -0.632895 2.939207 0
+ -1.434837 3.547673 0
+ -1.426696 1.877231 0
+ -3.295394 2.317813 0
+ -2.916976 1.009116 0
+ -1.748507 0.278903 0
+ -3.074650 0.252279 0
+ -3.705347 -0.630697 0
+ -1.201428 -0.825982 0
+ -3.153487 -2.443952 0
+ -0.922525 -2.166861 0
+ -0.972167 -3.888667 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -2.220496 1.308698 0 -2.928480 1.276517 0
+ L3 26624 0.000000 -3.078659 1.877231 0 -2.595942 1.759234 0
+ L3 26624 0.000000 -0.986887 3.164475 0 -0.911798 2.274131 0
+ L3 26624 0.000000 -0.911798 2.274131 0 -1.448150 2.907026 0
+ L3 26624 0.000000 1.276517 3.196656 0 1.362333 2.445764 0
+ L3 26624 0.000000 1.362333 2.445764 0 1.769961 2.907026 0
+ L3 26624 0.000000 3.067932 1.651963 0 2.070318 1.190701 0
+ L3 26624 0.000000 2.070318 1.190701 0 3.067932 0.954706 0
+ L3 26624 0.000000 2.789029 -0.675803 0 2.038136 -0.686530 0
+ L3 26624 0.000000 2.038136 -0.686530 0 2.660304 -1.523239 0
+ L3 26624 0.000000 1.909412 -2.531580 0 1.083430 -1.812869 0
+ L3 26624 0.000000 1.083430 -1.812869 0 1.104885 -3.121567 0
+ L3 26624 0.000000 -0.386173 -3.336108 0 -0.396900 -2.231223 0
+ L3 26624 0.000000 -0.396900 -2.231223 0 -0.933252 -2.692486 0
+ L3 26624 0.000000 -0.514898 2.359948 0 -0.643622 1.812869 0
+ L3 26624 0.000000 0.868890 2.499399 0 0.879617 1.866504 0
+ L3 26624 0.000000 1.673417 2.145407 0 1.169247 1.727052 0
+ L3 26624 0.000000 1.941593 1.641236 0 1.394514 0.858163 0
+ L3 26624 0.000000 2.510126 0.450535 0 1.834323 0.632895 0
+ L3 26624 0.000000 2.574488 -0.182360 0 1.458877 -0.343265 0
+ L3 26624 0.000000 1.566147 -0.793801 0 2.091772 -1.544693 0
+ L3 26624 0.000000 1.673417 -1.759234 0 0.825982 -1.137066 0
+ L3 26624 0.000000 0.665076 -1.491058 0 0.450535 -2.145407 0
+ L3 26624 0.000000 0.032181 -2.134680 0 -0.117997 -1.276517 0
+ L3 26624 0.000000 -0.868890 -1.941593 0 -0.632895 -1.094157 0
+ L3 26624 0.000000 -1.641236 0.311084 0 -0.858163 -0.075089 0
+ L3 26624 0.000000 -0.697257 1.061976 0 -0.353992 0.386173 0
+ L3 26624 0.000000 0.536352 1.587601 0 0.150178 0.858163 0
+ L3 26624 0.000000 1.029795 1.169247 0 0.579260 0.697257 0
+ L3 26624 0.000000 1.426696 0.311084 0 0.568533 0.171633 0
+ L3 26624 0.000000 0.922525 -0.568533 0 0.396900 -0.246722 0
+ L3 26624 0.000000 0.107270 -0.804528 0 0.139451 -0.396900 0
+ L3 26624 0.000000 -0.160906 -0.268176 0 -0.493444 -0.718711 0
+ L3 26624 0.000000 -0.654349 0.278903 0 -0.203814 0.021454 0
+ L3 26624 0.000000 0.343265 0.547079 0 0.128724 0.117997 0
+ L3 26624 0.000000 -1.955328 0.693379 0 -2.482296 0.956863 0
+ L3 26624 0.000000 -2.440694 -0.568571 0 -1.775050 -0.360557 0
+ L3 26624 0.000000 -1.927593 -2.066269 0 -1.331287 -1.885991 0
+ F4 32768 0.000000 4 0
+ -1.802785 1.067803 0
+ -1.456096 0.665644 0
+ -0.845922 0.429895 0
+ -1.234214 0.929128 0
+ F4 32768 0.000000 4 0
+ -1.636374 -0.568571 0
+ -0.887525 -0.637909 0
+ -0.554703 -0.332822 0
+ -1.164876 -0.346689 0
+ F4 32768 0.000000 4 0
+ -0.818187 1.345155 0
+ -0.942995 1.788917 0
+ -1.400625 2.010799 0
+ -1.275817 1.650242 0
+ F4 32768 0.000000 4 0
+ -2.718045 0.013868 0
+ -2.121739 0.152543 0
+ -1.469963 -0.055470 0
+ -2.135607 -0.166411 0
+ F4 32768 0.000000 4 0
+ -2.246548 1.761182 0
+ -1.913726 1.428360 0
+ -1.400625 1.317420 0
+ -1.691844 1.650242 0
+ F4 32768 0.000000 4 0
+ -1.899858 -1.830520 0
+ -1.456096 -1.372890 0
+ -0.942995 -1.178744 0
+ -1.442228 -1.677977 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 8"" Conifer-8b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.136680 -3.728935 0
+ -1.078903 -3.046478 0
+ -1.314898 -3.786643 0
+ -1.929437 -2.904267 0
+ -3.524991 -3.316601 0
+ -3.076802 -2.079599 0
+ -4.436465 -1.104885 0
+ -3.749934 -0.396900 0
+ -4.651005 0.000000 0
+ -3.417426 0.376479 0
+ -4.385515 1.452133 0
+ -3.274005 1.487989 0
+ -3.589029 2.810483 0
+ -2.419782 2.295585 0
+ -2.072858 3.693080 0
+ -1.194407 2.438150 0
+ -0.477304 3.800646 0
+ 0.615176 2.377496 0
+ 0.544568 -2.993905 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -2.474005 1.487989 0
+ -2.789029 2.810483 0
+ -1.619782 2.295585 0
+ -1.272858 3.693080 0
+ -0.394407 2.438150 0
+ 0.322696 3.800646 0
+ 1.415176 2.377496 0
+ 2.563761 3.218110 0
+ 2.113226 2.027409 0
+ 2.726572 1.028361 0
+ 3.765189 0.278903 0
+ 3.014297 -0.418354 0
+ 3.722281 -1.426696 0
+ 2.545715 -1.487989 0
+ 2.317039 -2.005955 0
+ 2.284858 -3.164475 0
+ 1.344568 -2.993905 0
+ 0.663320 -3.728935 0
+ -0.278903 -3.046478 0
+ -0.514898 -3.786643 0
+ -1.129437 -2.904267 0
+ -2.724991 -3.316601 0
+ -2.276802 -2.079599 0
+ -3.636465 -1.104885 0
+ -2.949934 -0.396900 0
+ -3.851005 0.000000 0
+ -2.617426 0.376479 0
+ -3.585515 1.452133 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.536352 2.510126 0
+ 1.624046 3.752650 0
+ 2.005955 2.821210 0
+ 1.684144 1.566147 0
+ 2.964278 1.624046 0
+ 3.815719 0.930279 0
+ 2.317039 -0.075089 0
+ 3.689580 -1.576744 0
+ 2.664697 -1.813255 0
+ 1.898685 -1.641236 0
+ 1.855777 -2.628123 0
+ 1.687116 -3.579208 0
+ 0.504171 -2.317039 0
+ -0.418354 -2.445764 0
+ -0.632895 -2.939207 0
+ -1.434837 -3.547673 0
+ -1.426696 -1.877231 0
+ -3.295394 -2.317813 0
+ -2.916976 -1.009116 0
+ -1.748507 -0.278903 0
+ -3.074650 -0.252279 0
+ -3.705347 0.630697 0
+ -1.201428 0.825982 0
+ -3.153487 2.443952 0
+ -0.922525 2.166861 0
+ -0.972167 3.888667 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -2.220496 -1.308698 0 -2.928480 -1.276517 0
+ L3 26624 0.000000 -3.078659 -1.877231 0 -2.595942 -1.759234 0
+ L3 26624 0.000000 -0.986887 -3.164475 0 -0.911798 -2.274131 0
+ L3 26624 0.000000 -0.911798 -2.274131 0 -1.448150 -2.907026 0
+ L3 26624 0.000000 1.276517 -3.196656 0 1.362333 -2.445764 0
+ L3 26624 0.000000 1.362333 -2.445764 0 1.769961 -2.907026 0
+ L3 26624 0.000000 3.067932 -1.651963 0 2.070318 -1.190701 0
+ L3 26624 0.000000 2.070318 -1.190701 0 3.067932 -0.954706 0
+ L3 26624 0.000000 2.789029 0.675803 0 2.038136 0.686530 0
+ L3 26624 0.000000 2.038136 0.686530 0 2.660304 1.523239 0
+ L3 26624 0.000000 1.909412 2.531580 0 1.083430 1.812869 0
+ L3 26624 0.000000 1.083430 1.812869 0 1.104885 3.121567 0
+ L3 26624 0.000000 -0.386173 3.336108 0 -0.396900 2.231223 0
+ L3 26624 0.000000 -0.396900 2.231223 0 -0.933252 2.692486 0
+ L3 26624 0.000000 -0.514898 -2.359948 0 -0.643622 -1.812869 0
+ L3 26624 0.000000 0.868890 -2.499399 0 0.879617 -1.866504 0
+ L3 26624 0.000000 1.673417 -2.145407 0 1.169247 -1.727052 0
+ L3 26624 0.000000 1.941593 -1.641236 0 1.394514 -0.858163 0
+ L3 26624 0.000000 2.510126 -0.450535 0 1.834323 -0.632895 0
+ L3 26624 0.000000 2.574488 0.182360 0 1.458877 0.343265 0
+ L3 26624 0.000000 1.566147 0.793801 0 2.091772 1.544693 0
+ L3 26624 0.000000 1.673417 1.759234 0 0.825982 1.137066 0
+ L3 26624 0.000000 0.665076 1.491058 0 0.450535 2.145407 0
+ L3 26624 0.000000 0.032181 2.134680 0 -0.117997 1.276517 0
+ L3 26624 0.000000 -0.868890 1.941593 0 -0.632895 1.094157 0
+ L3 26624 0.000000 -1.641236 -0.311084 0 -0.858163 0.075089 0
+ L3 26624 0.000000 -0.697257 -1.061976 0 -0.353992 -0.386173 0
+ L3 26624 0.000000 0.536352 -1.587601 0 0.150178 -0.858163 0
+ L3 26624 0.000000 1.029795 -1.169247 0 0.579260 -0.697257 0
+ L3 26624 0.000000 1.426696 -0.311084 0 0.568533 -0.171633 0
+ L3 26624 0.000000 0.922525 0.568533 0 0.396900 0.246722 0
+ L3 26624 0.000000 0.107270 0.804528 0 0.139451 0.396900 0
+ L3 26624 0.000000 -0.160906 0.268176 0 -0.493444 0.718711 0
+ L3 26624 0.000000 -0.654349 -0.278903 0 -0.203814 -0.021454 0
+ L3 26624 0.000000 0.343265 -0.547079 0 0.128724 -0.117997 0
+ L3 26624 0.000000 -1.955328 -0.693379 0 -2.482296 -0.956863 0
+ L3 26624 0.000000 -2.440694 0.568571 0 -1.775050 0.360557 0
+ L3 26624 0.000000 -1.927593 2.066269 0 -1.331287 1.885991 0
+ F4 32768 0.000000 4 0
+ -1.802785 -1.067803 0
+ -1.456096 -0.665644 0
+ -0.845922 -0.429895 0
+ -1.234214 -0.929128 0
+ F4 32768 0.000000 4 0
+ -1.636374 0.568571 0
+ -0.887525 0.637909 0
+ -0.554703 0.332822 0
+ -1.164876 0.346689 0
+ F4 32768 0.000000 4 0
+ -0.818187 -1.345155 0
+ -0.942995 -1.788917 0
+ -1.400625 -2.010799 0
+ -1.275817 -1.650242 0
+ F4 32768 0.000000 4 0
+ -2.718045 -0.013868 0
+ -2.121739 -0.152543 0
+ -1.469963 0.055470 0
+ -2.135607 0.166411 0
+ F4 32768 0.000000 4 0
+ -2.246548 -1.761182 0
+ -1.913726 -1.428360 0
+ -1.400625 -1.317420 0
+ -1.691844 -1.650242 0
+ F4 32768 0.000000 4 0
+ -1.899858 1.830520 0
+ -1.456096 1.372890 0
+ -0.942995 1.178744 0
+ -1.442228 1.677977 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 10"" Conifer-10a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -1.348629 3.808097 0
+ -0.170850 4.661169 0
+ 0.680710 3.742381 0
+ 0.768970 -2.971870 0
+ -0.596630 -4.750807 0
+ -1.493008 -3.047688 0
+ -2.591072 -4.616350 0
+ -3.024728 -2.869482 0
+ -4.486286 -3.513104 0
+ -4.092507 -1.859986 0
+ -5.481893 -1.815167 0
+ -4.271782 -0.470599 0
+ -5.813757 0.000000 0
+ -4.687418 0.496125 0
+ -5.545581 1.381106 0
+ -3.846002 2.599498 0
+ -4.406239 4.145751 0
+ -2.411796 3.630334 0
+ -1.643622 4.733304 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -3.092507 -1.859986 0
+ -3.486286 -3.513104 0
+ -2.024728 -2.869482 0
+ -1.591072 -4.616350 0
+ -0.493008 -3.047688 0
+ 0.403370 -4.750807 0
+ 1.768970 -2.971870 0
+ 3.204701 -4.022638 0
+ 2.641532 -2.534262 0
+ 3.408216 -1.285452 0
+ 4.706486 -0.348629 0
+ 3.767871 0.522943 0
+ 4.652851 1.783369 0
+ 3.182144 1.859986 0
+ 2.896299 2.507444 0
+ 2.856073 3.955594 0
+ 1.680710 3.742381 0
+ 0.829150 4.661169 0
+ -0.348629 3.808097 0
+ -0.643622 4.733304 0
+ -1.411796 3.630334 0
+ -3.406239 4.145751 0
+ -2.846002 2.599498 0
+ -4.545581 1.381106 0
+ -3.687418 0.496125 0
+ -4.813757 0.000000 0
+ -3.271782 -0.470599 0
+ -4.481893 -1.815167 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.670440 -3.137657 0
+ 2.030057 -4.690812 0
+ 2.507444 -3.526512 0
+ 2.105180 -1.957684 0
+ 3.705347 -2.030057 0
+ 4.769649 -1.162848 0
+ 2.896299 0.093862 0
+ 4.611975 1.970929 0
+ 3.330871 2.266569 0
+ 2.373356 2.051545 0
+ 2.319721 3.285154 0
+ 2.108894 4.474010 0
+ 0.630213 2.896299 0
+ -0.522943 3.057205 0
+ -0.791119 3.674009 0
+ -1.793546 4.434591 0
+ -1.783369 2.346539 0
+ -4.119242 2.897266 0
+ -3.646219 1.261395 0
+ -2.185633 0.348629 0
+ -3.843312 0.315349 0
+ -4.631684 -0.788372 0
+ -1.501785 -1.032477 0
+ -3.941859 -3.054941 0
+ -1.153156 -2.708576 0
+ -1.215208 -4.860833 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -2.775620 1.635873 0 -3.660600 1.595646 0
+ L3 26624 0.000000 -3.848324 2.346539 0 -3.244928 2.199042 0
+ L3 26624 0.000000 -1.233609 3.955594 0 -1.139747 2.842664 0
+ L3 26624 0.000000 -1.139747 2.842664 0 -1.810187 3.633783 0
+ L3 26624 0.000000 1.595646 3.995820 0 1.702917 3.057205 0
+ L3 26624 0.000000 1.702917 3.057205 0 2.212451 3.633783 0
+ L3 26624 0.000000 3.834915 2.064954 0 2.587897 1.488376 0
+ L3 26624 0.000000 2.587897 1.488376 0 3.834915 1.193383 0
+ L3 26624 0.000000 3.486286 -0.844754 0 2.547671 -0.858163 0
+ L3 26624 0.000000 2.547671 -0.858163 0 3.325381 -1.904049 0
+ L3 26624 0.000000 2.386765 -3.164475 0 1.354288 -2.266086 0
+ L3 26624 0.000000 1.354288 -2.266086 0 1.381106 -3.901959 0
+ L3 26624 0.000000 -0.482717 -4.170135 0 -0.496125 -2.789029 0
+ L3 26624 0.000000 -0.496125 -2.789029 0 -1.166565 -3.365607 0
+ L3 26624 0.000000 -0.643622 2.949934 0 -0.804528 2.266086 0
+ L3 26624 0.000000 1.086112 3.124249 0 1.099521 2.333130 0
+ L3 26624 0.000000 2.091772 2.681759 0 1.461558 2.158816 0
+ L3 26624 0.000000 2.426991 2.051545 0 1.743143 1.072703 0
+ L3 26624 0.000000 3.137657 0.563169 0 2.292904 0.791119 0
+ L3 26624 0.000000 3.218110 -0.227949 0 1.823596 -0.429081 0
+ L3 26624 0.000000 1.957684 -0.992251 0 2.614715 -1.930866 0
+ L3 26624 0.000000 2.091772 -2.199042 0 1.032477 -1.421332 0
+ L3 26624 0.000000 0.831345 -1.863822 0 0.563169 -2.681759 0
+ L3 26624 0.000000 0.040226 -2.668350 0 -0.147497 -1.595646 0
+ L3 26624 0.000000 -1.086112 -2.426991 0 -0.791119 -1.367697 0
+ L3 26624 0.000000 -2.051545 0.388855 0 -1.072703 -0.093862 0
+ L3 26624 0.000000 -0.871572 1.327470 0 -0.442490 0.482717 0
+ L3 26624 0.000000 0.670440 1.984501 0 0.187723 1.072703 0
+ L3 26624 0.000000 1.287244 1.461558 0 0.724075 0.871572 0
+ L3 26624 0.000000 1.783369 0.388855 0 0.710666 0.214541 0
+ L3 26624 0.000000 1.153156 -0.710666 0 0.496125 -0.308402 0
+ L3 26624 0.000000 0.134088 -1.005659 0 0.174314 -0.496125 0
+ L3 26624 0.000000 -0.201132 -0.335220 0 -0.616804 -0.898389 0
+ L3 26624 0.000000 -0.817936 0.348629 0 -0.254767 0.026818 0
+ L3 26624 0.000000 0.429081 0.683848 0 0.160906 0.147497 0
+ L3 26624 0.000000 -2.444160 0.866724 0 -3.102870 1.196079 0
+ L3 26624 0.000000 -3.050867 -0.710713 0 -2.218812 -0.450696 0
+ L3 26624 0.000000 -2.409492 -2.582836 0 -1.664109 -2.357488 0
+ F4 32768 0.000000 4 0
+ -2.253481 1.334754 0
+ -1.820120 0.832055 0
+ -1.057403 0.537369 0
+ -1.542768 1.161410 0
+ F4 32768 0.000000 4 0
+ -2.045468 -0.710713 0
+ -1.109406 -0.797386 0
+ -0.693379 -0.416027 0
+ -1.456096 -0.433362 0
+ F4 32768 0.000000 4 0
+ -1.022734 1.681444 0
+ -1.178744 2.236147 0
+ -1.750782 2.513498 0
+ -1.594771 2.062802 0
+ F4 32768 0.000000 4 0
+ -3.397556 0.017334 0
+ -2.652174 0.190679 0
+ -1.837454 -0.069338 0
+ -2.669509 -0.208014 0
+ F4 32768 0.000000 4 0
+ -2.808184 2.201478 0
+ -2.392157 1.785451 0
+ -1.750782 1.646775 0
+ -2.114806 2.062802 0
+ F4 32768 0.000000 4 0
+ -2.374823 -2.288150 0
+ -1.820120 -1.716113 0
+ -1.178744 -1.473430 0
+ -1.802785 -2.097471 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 10"" Conifer-10b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.170850 -4.661169 0
+ -1.348629 -3.808097 0
+ -1.643622 -4.733304 0
+ -2.411796 -3.630334 0
+ -4.406239 -4.145751 0
+ -3.846002 -2.599498 0
+ -5.545581 -1.381106 0
+ -4.687418 -0.496125 0
+ -5.813757 0.000000 0
+ -4.271782 0.470599 0
+ -5.481893 1.815167 0
+ -4.092507 1.859986 0
+ -4.486286 3.513104 0
+ -3.024728 2.869482 0
+ -2.591072 4.616350 0
+ -1.493008 3.047688 0
+ -0.596630 4.750807 0
+ 0.768970 2.971870 0
+ 0.680710 -3.742381 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -3.092507 1.859986 0
+ -3.486286 3.513104 0
+ -2.024728 2.869482 0
+ -1.591072 4.616350 0
+ -0.493008 3.047688 0
+ 0.403370 4.750807 0
+ 1.768970 2.971870 0
+ 3.204701 4.022638 0
+ 2.641532 2.534262 0
+ 3.408216 1.285452 0
+ 4.706486 0.348629 0
+ 3.767871 -0.522943 0
+ 4.652851 -1.783369 0
+ 3.182144 -1.859986 0
+ 2.896299 -2.507444 0
+ 2.856073 -3.955594 0
+ 1.680710 -3.742381 0
+ 0.829150 -4.661169 0
+ -0.348629 -3.808097 0
+ -0.643622 -4.733304 0
+ -1.411796 -3.630334 0
+ -3.406239 -4.145751 0
+ -2.846002 -2.599498 0
+ -4.545581 -1.381106 0
+ -3.687418 -0.496125 0
+ -4.813757 0.000000 0
+ -3.271782 0.470599 0
+ -4.481893 1.815167 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.670440 3.137657 0
+ 2.030057 4.690812 0
+ 2.507444 3.526512 0
+ 2.105180 1.957684 0
+ 3.705347 2.030057 0
+ 4.769649 1.162848 0
+ 2.896299 -0.093862 0
+ 4.611975 -1.970929 0
+ 3.330871 -2.266569 0
+ 2.373356 -2.051545 0
+ 2.319721 -3.285154 0
+ 2.108894 -4.474010 0
+ 0.630213 -2.896299 0
+ -0.522943 -3.057205 0
+ -0.791119 -3.674009 0
+ -1.793546 -4.434591 0
+ -1.783369 -2.346539 0
+ -4.119242 -2.897266 0
+ -3.646219 -1.261395 0
+ -2.185633 -0.348629 0
+ -3.843312 -0.315349 0
+ -4.631684 0.788372 0
+ -1.501785 1.032477 0
+ -3.941859 3.054941 0
+ -1.153156 2.708576 0
+ -1.215208 4.860833 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -2.775620 -1.635873 0 -3.660600 -1.595646 0
+ L3 26624 0.000000 -3.848324 -2.346539 0 -3.244928 -2.199042 0
+ L3 26624 0.000000 -1.233609 -3.955594 0 -1.139747 -2.842664 0
+ L3 26624 0.000000 -1.139747 -2.842664 0 -1.810187 -3.633783 0
+ L3 26624 0.000000 1.595646 -3.995820 0 1.702917 -3.057205 0
+ L3 26624 0.000000 1.702917 -3.057205 0 2.212451 -3.633783 0
+ L3 26624 0.000000 3.834915 -2.064954 0 2.587897 -1.488376 0
+ L3 26624 0.000000 2.587897 -1.488376 0 3.834915 -1.193383 0
+ L3 26624 0.000000 3.486286 0.844754 0 2.547671 0.858163 0
+ L3 26624 0.000000 2.547671 0.858163 0 3.325381 1.904049 0
+ L3 26624 0.000000 2.386765 3.164475 0 1.354288 2.266086 0
+ L3 26624 0.000000 1.354288 2.266086 0 1.381106 3.901959 0
+ L3 26624 0.000000 -0.482717 4.170135 0 -0.496125 2.789029 0
+ L3 26624 0.000000 -0.496125 2.789029 0 -1.166565 3.365607 0
+ L3 26624 0.000000 -0.643622 -2.949934 0 -0.804528 -2.266086 0
+ L3 26624 0.000000 1.086112 -3.124249 0 1.099521 -2.333130 0
+ L3 26624 0.000000 2.091772 -2.681759 0 1.461558 -2.158816 0
+ L3 26624 0.000000 2.426991 -2.051545 0 1.743143 -1.072703 0
+ L3 26624 0.000000 3.137657 -0.563169 0 2.292904 -0.791119 0
+ L3 26624 0.000000 3.218110 0.227949 0 1.823596 0.429081 0
+ L3 26624 0.000000 1.957684 0.992251 0 2.614715 1.930866 0
+ L3 26624 0.000000 2.091772 2.199042 0 1.032477 1.421332 0
+ L3 26624 0.000000 0.831345 1.863822 0 0.563169 2.681759 0
+ L3 26624 0.000000 0.040226 2.668350 0 -0.147497 1.595646 0
+ L3 26624 0.000000 -1.086112 2.426991 0 -0.791119 1.367697 0
+ L3 26624 0.000000 -2.051545 -0.388855 0 -1.072703 0.093862 0
+ L3 26624 0.000000 -0.871572 -1.327470 0 -0.442490 -0.482717 0
+ L3 26624 0.000000 0.670440 -1.984501 0 0.187723 -1.072703 0
+ L3 26624 0.000000 1.287244 -1.461558 0 0.724075 -0.871572 0
+ L3 26624 0.000000 1.783369 -0.388855 0 0.710666 -0.214541 0
+ L3 26624 0.000000 1.153156 0.710666 0 0.496125 0.308402 0
+ L3 26624 0.000000 0.134088 1.005659 0 0.174314 0.496125 0
+ L3 26624 0.000000 -0.201132 0.335220 0 -0.616804 0.898389 0
+ L3 26624 0.000000 -0.817936 -0.348629 0 -0.254767 -0.026818 0
+ L3 26624 0.000000 0.429081 -0.683848 0 0.160906 -0.147497 0
+ L3 26624 0.000000 -2.444160 -0.866724 0 -3.102870 -1.196079 0
+ L3 26624 0.000000 -3.050867 0.710713 0 -2.218812 0.450696 0
+ L3 26624 0.000000 -2.409492 2.582836 0 -1.664109 2.357488 0
+ F4 32768 0.000000 4 0
+ -2.253481 -1.334754 0
+ -1.820120 -0.832055 0
+ -1.057403 -0.537369 0
+ -1.542768 -1.161410 0
+ F4 32768 0.000000 4 0
+ -2.045468 0.710713 0
+ -1.109406 0.797386 0
+ -0.693379 0.416027 0
+ -1.456096 0.433362 0
+ F4 32768 0.000000 4 0
+ -1.022734 -1.681444 0
+ -1.178744 -2.236147 0
+ -1.750782 -2.513498 0
+ -1.594771 -2.062802 0
+ F4 32768 0.000000 4 0
+ -3.397556 -0.017334 0
+ -2.652174 -0.190679 0
+ -1.837454 0.069338 0
+ -2.669509 0.208014 0
+ F4 32768 0.000000 4 0
+ -2.808184 -2.201478 0
+ -2.392157 -1.785451 0
+ -1.750782 -1.646775 0
+ -2.114806 -2.062802 0
+ F4 32768 0.000000 4 0
+ -2.374823 2.288150 0
+ -1.820120 1.716113 0
+ -1.178744 1.473430 0
+ -1.802785 2.097471 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 12"" Conifer-12a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -1.618354 4.569717 0
+ -0.205020 5.593403 0
+ 0.816852 4.490857 0
+ 0.922764 -3.566244 0
+ -0.715956 -5.700969 0
+ -1.791610 -3.657225 0
+ -3.109287 -5.539620 0
+ -3.629673 -3.443378 0
+ -5.383543 -4.215724 0
+ -4.911008 -2.231983 0
+ -6.578272 -2.178200 0
+ -5.126139 -0.564719 0
+ -6.976508 0.000000 0
+ -5.624902 0.595350 0
+ -6.654697 1.657327 0
+ -4.615203 3.119398 0
+ -5.287487 4.974902 0
+ -2.894156 4.356400 0
+ -1.972346 5.679965 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -3.711008 -2.231983 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.909287 -5.539620 0
+ -0.591610 -3.657225 0
+ 0.484044 -5.700969 0
+ 2.122764 -3.566244 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 4.089859 -1.542542 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 3.818573 2.231983 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 2.016852 4.490857 0
+ 0.994980 5.593403 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -1.694156 4.356400 0
+ -4.087487 4.974902 0
+ -3.415203 3.119398 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 -0.564719 0
+ -5.378272 -2.178200 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.804528 -3.765189 0
+ 2.436069 -5.628974 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.446417 -2.436069 0
+ 5.723579 -1.395418 0
+ 3.475559 0.112634 0
+ 5.534370 2.365115 0
+ 3.997045 2.719883 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 2.530673 5.368812 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.152255 5.321509 0
+ -2.140043 2.815846 0
+ -4.943091 3.476719 0
+ -4.375463 1.513674 0
+ -2.622760 0.418354 0
+ -4.611975 0.378418 0
+ -5.558021 -0.946046 0
+ -1.802142 -1.238972 0
+ -4.730231 -3.665929 0
+ -1.383787 -3.250291 0
+ -1.458250 -5.833000 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -3.330744 1.963047 0 -4.392720 1.914776 0
+ L3 26624 0.000000 -4.617988 2.815846 0 -3.893913 2.638850 0
+ L3 26624 0.000000 -1.480331 4.746713 0 -1.367697 3.411197 0
+ L3 26624 0.000000 -1.367697 3.411197 0 -2.172224 4.360539 0
+ L3 26624 0.000000 1.914776 4.794984 0 2.043500 3.668646 0
+ L3 26624 0.000000 2.043500 3.668646 0 2.654941 4.360539 0
+ L3 26624 0.000000 4.601898 2.477945 0 3.105476 1.786051 0
+ L3 26624 0.000000 3.105476 1.786051 0 4.601898 1.432059 0
+ L3 26624 0.000000 4.183543 -1.013705 0 3.057205 -1.029795 0
+ L3 26624 0.000000 3.057205 -1.029795 0 3.990457 -2.284858 0
+ L3 26624 0.000000 2.864118 -3.797370 0 1.625146 -2.719303 0
+ L3 26624 0.000000 1.625146 -2.719303 0 1.657327 -4.682350 0
+ L3 26624 0.000000 -0.579260 -5.004161 0 -0.595350 -3.346835 0
+ L3 26624 0.000000 -0.595350 -3.346835 0 -1.399878 -4.038728 0
+ L3 26624 0.000000 -0.772346 3.539921 0 -0.965433 2.719303 0
+ L3 26624 0.000000 1.303335 3.749098 0 1.319425 2.799756 0
+ L3 26624 0.000000 2.510126 3.218110 0 1.753870 2.590579 0
+ L3 26624 0.000000 2.912390 2.461854 0 2.091772 1.287244 0
+ L3 26624 0.000000 3.765189 0.675803 0 2.751484 0.949343 0
+ L3 26624 0.000000 3.861732 -0.273539 0 2.188315 -0.514898 0
+ L3 26624 0.000000 2.349220 -1.190701 0 3.137657 -2.317039 0
+ L3 26624 0.000000 2.510126 -2.638850 0 1.238972 -1.705598 0
+ L3 26624 0.000000 0.997614 -2.236587 0 0.675803 -3.218110 0
+ L3 26624 0.000000 0.048272 -3.202020 0 -0.176996 -1.914776 0
+ L3 26624 0.000000 -1.303335 -2.912390 0 -0.949343 -1.641236 0
+ L3 26624 0.000000 -2.461854 0.466626 0 -1.287244 -0.112634 0
+ L3 26624 0.000000 -1.045886 1.592965 0 -0.530988 0.579260 0
+ L3 26624 0.000000 0.804528 2.381402 0 0.225268 1.287244 0
+ L3 26624 0.000000 1.544693 1.753870 0 0.868890 1.045886 0
+ L3 26624 0.000000 2.140043 0.466626 0 0.852799 0.257449 0
+ L3 26624 0.000000 1.383787 -0.852799 0 0.595350 -0.370083 0
+ L3 26624 0.000000 0.160906 -1.206791 0 0.209177 -0.595350 0
+ L3 26624 0.000000 -0.241358 -0.402264 0 -0.740165 -1.078067 0
+ L3 26624 0.000000 -0.981524 0.418354 0 -0.305720 0.032181 0
+ L3 26624 0.000000 0.514898 0.820618 0 0.193087 0.176996 0
+ L3 26624 0.000000 -2.932993 1.040068 0 -3.723444 1.435294 0
+ L3 26624 0.000000 -3.661040 -0.852856 0 -2.662575 -0.540836 0
+ L3 26624 0.000000 -2.891390 -3.099404 0 -1.996931 -2.828986 0
+ F4 32768 0.000000 4 0
+ -2.704178 1.601705 0
+ -2.184143 0.998466 0
+ -1.268883 0.644842 0
+ -1.851322 1.393692 0
+ F4 32768 0.000000 4 0
+ -2.454561 -0.852856 0
+ -1.331287 -0.956863 0
+ -0.832055 -0.499233 0
+ -1.747315 -0.520034 0
+ F4 32768 0.000000 4 0
+ -1.227281 2.017732 0
+ -1.414493 2.683376 0
+ -2.100938 3.016198 0
+ -1.913726 2.475363 0
+ F4 32768 0.000000 4 0
+ -4.077068 0.020801 0
+ -3.182609 0.228815 0
+ -2.204945 -0.083205 0
+ -3.203410 -0.249616 0
+ F4 32768 0.000000 4 0
+ -3.369821 2.641773 0
+ -2.870588 2.142541 0
+ -2.100938 1.976130 0
+ -2.537767 2.475363 0
+ F4 32768 0.000000 4 0
+ -2.849787 -2.745780 0
+ -2.184143 -2.059335 0
+ -1.414493 -1.768116 0
+ -2.163342 -2.516965 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 12"" Conifer-12b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.205020 -5.593403 0
+ -1.618354 -4.569717 0
+ -1.972346 -5.679965 0
+ -2.894156 -4.356400 0
+ -5.287487 -4.974902 0
+ -4.615203 -3.119398 0
+ -6.654697 -1.657327 0
+ -5.624902 -0.595350 0
+ -6.976508 0.000000 0
+ -5.126139 0.564719 0
+ -6.578272 2.178200 0
+ -4.911008 2.231983 0
+ -5.383543 4.215724 0
+ -3.629673 3.443378 0
+ -3.109287 5.539620 0
+ -1.791610 3.657225 0
+ -0.715956 5.700969 0
+ 0.922764 3.566244 0
+ 0.816852 -4.490857 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -3.711008 2.231983 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.909287 5.539620 0
+ -0.591610 3.657225 0
+ 0.484044 5.700969 0
+ 2.122764 3.566244 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 4.089859 1.542542 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 3.818573 -2.231983 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 2.016852 -4.490857 0
+ 0.994980 -5.593403 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -1.694156 -4.356400 0
+ -4.087487 -4.974902 0
+ -3.415203 -3.119398 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -3.926139 0.564719 0
+ -5.378272 2.178200 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.804528 3.765189 0
+ 2.436069 5.628974 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.446417 2.436069 0
+ 5.723579 1.395418 0
+ 3.475559 -0.112634 0
+ 5.534370 -2.365115 0
+ 3.997045 -2.719883 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 2.530673 -5.368812 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.152255 -5.321509 0
+ -2.140043 -2.815846 0
+ -4.943091 -3.476719 0
+ -4.375463 -1.513674 0
+ -2.622760 -0.418354 0
+ -4.611975 -0.378418 0
+ -5.558021 0.946046 0
+ -1.802142 1.238972 0
+ -4.730231 3.665929 0
+ -1.383787 3.250291 0
+ -1.458250 5.833000 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -3.330744 -1.963047 0 -4.392720 -1.914776 0
+ L3 26624 0.000000 -4.617988 -2.815846 0 -3.893913 -2.638850 0
+ L3 26624 0.000000 -1.480331 -4.746713 0 -1.367697 -3.411197 0
+ L3 26624 0.000000 -1.367697 -3.411197 0 -2.172224 -4.360539 0
+ L3 26624 0.000000 1.914776 -4.794984 0 2.043500 -3.668646 0
+ L3 26624 0.000000 2.043500 -3.668646 0 2.654941 -4.360539 0
+ L3 26624 0.000000 4.601898 -2.477945 0 3.105476 -1.786051 0
+ L3 26624 0.000000 3.105476 -1.786051 0 4.601898 -1.432059 0
+ L3 26624 0.000000 4.183543 1.013705 0 3.057205 1.029795 0
+ L3 26624 0.000000 3.057205 1.029795 0 3.990457 2.284858 0
+ L3 26624 0.000000 2.864118 3.797370 0 1.625146 2.719303 0
+ L3 26624 0.000000 1.625146 2.719303 0 1.657327 4.682350 0
+ L3 26624 0.000000 -0.579260 5.004161 0 -0.595350 3.346835 0
+ L3 26624 0.000000 -0.595350 3.346835 0 -1.399878 4.038728 0
+ L3 26624 0.000000 -0.772346 -3.539921 0 -0.965433 -2.719303 0
+ L3 26624 0.000000 1.303335 -3.749098 0 1.319425 -2.799756 0
+ L3 26624 0.000000 2.510126 -3.218110 0 1.753870 -2.590579 0
+ L3 26624 0.000000 2.912390 -2.461854 0 2.091772 -1.287244 0
+ L3 26624 0.000000 3.765189 -0.675803 0 2.751484 -0.949343 0
+ L3 26624 0.000000 3.861732 0.273539 0 2.188315 0.514898 0
+ L3 26624 0.000000 2.349220 1.190701 0 3.137657 2.317039 0
+ L3 26624 0.000000 2.510126 2.638850 0 1.238972 1.705598 0
+ L3 26624 0.000000 0.997614 2.236587 0 0.675803 3.218110 0
+ L3 26624 0.000000 0.048272 3.202020 0 -0.176996 1.914776 0
+ L3 26624 0.000000 -1.303335 2.912390 0 -0.949343 1.641236 0
+ L3 26624 0.000000 -2.461854 -0.466626 0 -1.287244 0.112634 0
+ L3 26624 0.000000 -1.045886 -1.592965 0 -0.530988 -0.579260 0
+ L3 26624 0.000000 0.804528 -2.381402 0 0.225268 -1.287244 0
+ L3 26624 0.000000 1.544693 -1.753870 0 0.868890 -1.045886 0
+ L3 26624 0.000000 2.140043 -0.466626 0 0.852799 -0.257449 0
+ L3 26624 0.000000 1.383787 0.852799 0 0.595350 0.370083 0
+ L3 26624 0.000000 0.160906 1.206791 0 0.209177 0.595350 0
+ L3 26624 0.000000 -0.241358 0.402264 0 -0.740165 1.078067 0
+ L3 26624 0.000000 -0.981524 -0.418354 0 -0.305720 -0.032181 0
+ L3 26624 0.000000 0.514898 -0.820618 0 0.193087 -0.176996 0
+ L3 26624 0.000000 -2.932993 -1.040068 0 -3.723444 -1.435294 0
+ L3 26624 0.000000 -3.661040 0.852856 0 -2.662575 0.540836 0
+ L3 26624 0.000000 -2.891390 3.099404 0 -1.996931 2.828986 0
+ F4 32768 0.000000 4 0
+ -2.704178 -1.601705 0
+ -2.184143 -0.998466 0
+ -1.268883 -0.644842 0
+ -1.851322 -1.393692 0
+ F4 32768 0.000000 4 0
+ -2.454561 0.852856 0
+ -1.331287 0.956863 0
+ -0.832055 0.499233 0
+ -1.747315 0.520034 0
+ F4 32768 0.000000 4 0
+ -1.227281 -2.017732 0
+ -1.414493 -2.683376 0
+ -2.100938 -3.016198 0
+ -1.913726 -2.475363 0
+ F4 32768 0.000000 4 0
+ -4.077068 -0.020801 0
+ -3.182609 -0.228815 0
+ -2.204945 0.083205 0
+ -3.203410 0.249616 0
+ F4 32768 0.000000 4 0
+ -3.369821 -2.641773 0
+ -2.870588 -2.142541 0
+ -2.100938 -1.976130 0
+ -2.537767 -2.475363 0
+ F4 32768 0.000000 4 0
+ -2.849787 2.745780 0
+ -2.184143 2.059335 0
+ -1.414493 1.768116 0
+ -2.163342 2.516965 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 14"" Conifer-14a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -1.888080 5.331336 0
+ -0.239190 6.525637 0
+ 0.952994 5.239333 0
+ 1.076558 -4.160617 0
+ -0.835281 -6.651130 0
+ -2.090212 -4.266763 0
+ -3.627501 -6.462890 0
+ -4.234619 -4.017274 0
+ -6.280801 -4.918345 0
+ -5.729509 -2.603980 0
+ -7.674651 -2.541234 0
+ -5.980495 -0.658838 0
+ -8.139259 0.000000 0
+ -6.562385 0.694575 0
+ -7.763813 1.933548 0
+ -5.384403 3.639298 0
+ -6.168735 5.804052 0
+ -3.376515 5.082467 0
+ -2.301071 6.626625 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -4.329509 -2.603980 0
+ -4.880801 -4.918345 0
+ -2.834619 -4.017274 0
+ -2.227501 -6.462890 0
+ -0.690212 -4.266763 0
+ 0.564719 -6.651130 0
+ 2.476558 -4.160617 0
+ 4.486582 -5.631693 0
+ 3.698145 -3.547967 0
+ 4.771502 -1.799632 0
+ 6.589081 -0.488080 0
+ 5.275019 0.732120 0
+ 6.513991 2.496717 0
+ 4.455002 2.603980 0
+ 4.054819 3.510422 0
+ 3.998502 5.537831 0
+ 2.352994 5.239333 0
+ 1.160810 6.525637 0
+ -0.488080 5.331336 0
+ -0.901071 6.626625 0
+ -1.976515 5.082467 0
+ -4.768735 5.804052 0
+ -3.984403 3.639298 0
+ -6.363813 1.933548 0
+ -5.162385 0.694575 0
+ -6.739259 0.000000 0
+ -4.580495 -0.658838 0
+ -6.274651 -2.541234 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.938615 -4.392720 0
+ 2.842080 -6.567137 0
+ 3.510422 -4.937117 0
+ 2.947253 -2.740757 0
+ 5.187486 -2.842080 0
+ 6.677509 -1.627988 0
+ 4.054819 0.131406 0
+ 6.456765 2.759301 0
+ 4.663219 3.173196 0
+ 3.322699 2.872163 0
+ 3.247610 4.599216 0
+ 2.952452 6.263614 0
+ 0.882299 4.054819 0
+ -0.732120 4.280087 0
+ -1.107566 5.143613 0
+ -2.510964 6.208428 0
+ -2.496717 3.285154 0
+ -5.766939 4.056173 0
+ -5.104707 1.765953 0
+ -3.059886 0.488080 0
+ -5.380637 0.441488 0
+ -6.484358 -1.103720 0
+ -2.102499 -1.445468 0
+ -5.518602 -4.276917 0
+ -1.614419 -3.792007 0
+ -1.701292 -6.805167 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -3.885868 2.290222 0 -5.124841 2.233905 0
+ L3 26624 0.000000 -5.387653 3.285154 0 -4.542899 3.078659 0
+ L3 26624 0.000000 -1.727052 5.537831 0 -1.595646 3.979730 0
+ L3 26624 0.000000 -1.595646 3.979730 0 -2.534262 5.087296 0
+ L3 26624 0.000000 2.233905 5.594148 0 2.384083 4.280087 0
+ L3 26624 0.000000 2.384083 4.280087 0 3.097431 5.087296 0
+ L3 26624 0.000000 5.368881 2.890936 0 3.623056 2.083726 0
+ L3 26624 0.000000 3.623056 2.083726 0 5.368881 1.670736 0
+ L3 26624 0.000000 4.880801 -1.182656 0 3.566739 -1.201428 0
+ L3 26624 0.000000 3.566739 -1.201428 0 4.655533 -2.665668 0
+ L3 26624 0.000000 3.341471 -4.430265 0 1.896003 -3.172520 0
+ L3 26624 0.000000 1.896003 -3.172520 0 1.933548 -5.462742 0
+ L3 26624 0.000000 -0.675803 -5.838188 0 -0.694575 -3.904640 0
+ L3 26624 0.000000 -0.694575 -3.904640 0 -1.633191 -4.711850 0
+ L3 26624 0.000000 -0.901071 4.129908 0 -1.126339 3.172520 0
+ L3 26624 0.000000 1.520557 4.373948 0 1.539329 3.266382 0
+ L3 26624 0.000000 2.928480 3.754462 0 2.046182 3.022342 0
+ L3 26624 0.000000 3.397788 2.872163 0 2.440400 1.501785 0
+ L3 26624 0.000000 4.392720 0.788437 0 3.210065 1.107566 0
+ L3 26624 0.000000 4.505354 -0.319129 0 2.553034 -0.600714 0
+ L3 26624 0.000000 2.740757 -1.389151 0 3.660600 -2.703213 0
+ L3 26624 0.000000 2.928480 -3.078659 0 1.445468 -1.989865 0
+ L3 26624 0.000000 1.163883 -2.609351 0 0.788437 -3.754462 0
+ L3 26624 0.000000 0.056317 -3.735690 0 -0.206495 -2.233905 0
+ L3 26624 0.000000 -1.520557 -3.397788 0 -1.107566 -1.914776 0
+ L3 26624 0.000000 -2.872163 0.544397 0 -1.501785 -0.131406 0
+ L3 26624 0.000000 -1.220200 1.858459 0 -0.619486 0.675803 0
+ L3 26624 0.000000 0.938615 2.778302 0 0.262812 1.501785 0
+ L3 26624 0.000000 1.802142 2.046182 0 1.013705 1.220200 0
+ L3 26624 0.000000 2.496717 0.544397 0 0.994932 0.300357 0
+ L3 26624 0.000000 1.614419 -0.994932 0 0.694575 -0.431763 0
+ L3 26624 0.000000 0.187723 -1.407923 0 0.244040 -0.694575 0
+ L3 26624 0.000000 -0.281585 -0.469308 0 -0.863526 -1.257745 0
+ L3 26624 0.000000 -1.145111 0.488080 0 -0.356674 0.037545 0
+ L3 26624 0.000000 0.600714 0.957388 0 0.225268 0.206495 0
+ L3 26624 0.000000 -3.421825 1.213413 0 -4.344019 1.674510 0
+ L3 26624 0.000000 -4.271214 -0.994999 0 -3.106337 -0.630975 0
+ L3 26624 0.000000 -3.373288 -3.615971 0 -2.329753 -3.300483 0
+ F4 32768 0.000000 4 0
+ -3.154874 1.868656 0
+ -2.548167 1.164876 0
+ -1.480364 0.752316 0
+ -2.159875 1.625973 0
+ F4 32768 0.000000 4 0
+ -2.863655 -0.994999 0
+ -1.553169 -1.116340 0
+ -0.970730 -0.582438 0
+ -2.038534 -0.606707 0
+ F4 32768 0.000000 4 0
+ -1.431827 2.354021 0
+ -1.650242 3.130606 0
+ -2.451094 3.518898 0
+ -2.232680 2.887923 0
+ F4 32768 0.000000 4 0
+ -4.756579 0.024268 0
+ -3.713044 0.266951 0
+ -2.572436 -0.097073 0
+ -3.737312 -0.291219 0
+ F4 32768 0.000000 4 0
+ -3.931458 3.082069 0
+ -3.349020 2.499631 0
+ -2.451094 2.305485 0
+ -2.960728 2.887923 0
+ F4 32768 0.000000 4 0
+ -3.324752 -3.203410 0
+ -2.548167 -2.402558 0
+ -1.650242 -2.062802 0
+ -2.523899 -2.936459 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 14"" Conifer-14b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.239190 -6.525637 0
+ -1.888080 -5.331336 0
+ -2.301071 -6.626625 0
+ -3.376515 -5.082467 0
+ -6.168735 -5.804052 0
+ -5.384403 -3.639298 0
+ -7.763813 -1.933548 0
+ -6.562385 -0.694575 0
+ -8.139259 0.000000 0
+ -5.980495 0.658838 0
+ -7.674651 2.541234 0
+ -5.729509 2.603980 0
+ -6.280801 4.918345 0
+ -4.234619 4.017274 0
+ -3.627501 6.462890 0
+ -2.090212 4.266763 0
+ -0.835281 6.651130 0
+ 1.076558 4.160617 0
+ 0.952994 -5.239333 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -4.329509 2.603980 0
+ -4.880801 4.918345 0
+ -2.834619 4.017274 0
+ -2.227501 6.462890 0
+ -0.690212 4.266763 0
+ 0.564719 6.651130 0
+ 2.476558 4.160617 0
+ 4.486582 5.631693 0
+ 3.698145 3.547967 0
+ 4.771502 1.799632 0
+ 6.589081 0.488080 0
+ 5.275019 -0.732120 0
+ 6.513991 -2.496717 0
+ 4.455002 -2.603980 0
+ 4.054819 -3.510422 0
+ 3.998502 -5.537831 0
+ 2.352994 -5.239333 0
+ 1.160810 -6.525637 0
+ -0.488080 -5.331336 0
+ -0.901071 -6.626625 0
+ -1.976515 -5.082467 0
+ -4.768735 -5.804052 0
+ -3.984403 -3.639298 0
+ -6.363813 -1.933548 0
+ -5.162385 -0.694575 0
+ -6.739259 0.000000 0
+ -4.580495 0.658838 0
+ -6.274651 2.541234 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.938615 4.392720 0
+ 2.842080 6.567137 0
+ 3.510422 4.937117 0
+ 2.947253 2.740757 0
+ 5.187486 2.842080 0
+ 6.677509 1.627988 0
+ 4.054819 -0.131406 0
+ 6.456765 -2.759301 0
+ 4.663219 -3.173196 0
+ 3.322699 -2.872163 0
+ 3.247610 -4.599216 0
+ 2.952452 -6.263614 0
+ 0.882299 -4.054819 0
+ -0.732120 -4.280087 0
+ -1.107566 -5.143613 0
+ -2.510964 -6.208428 0
+ -2.496717 -3.285154 0
+ -5.766939 -4.056173 0
+ -5.104707 -1.765953 0
+ -3.059886 -0.488080 0
+ -5.380637 -0.441488 0
+ -6.484358 1.103720 0
+ -2.102499 1.445468 0
+ -5.518602 4.276917 0
+ -1.614419 3.792007 0
+ -1.701292 6.805167 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -3.885868 -2.290222 0 -5.124841 -2.233905 0
+ L3 26624 0.000000 -5.387653 -3.285154 0 -4.542899 -3.078659 0
+ L3 26624 0.000000 -1.727052 -5.537831 0 -1.595646 -3.979730 0
+ L3 26624 0.000000 -1.595646 -3.979730 0 -2.534262 -5.087296 0
+ L3 26624 0.000000 2.233905 -5.594148 0 2.384083 -4.280087 0
+ L3 26624 0.000000 2.384083 -4.280087 0 3.097431 -5.087296 0
+ L3 26624 0.000000 5.368881 -2.890936 0 3.623056 -2.083726 0
+ L3 26624 0.000000 3.623056 -2.083726 0 5.368881 -1.670736 0
+ L3 26624 0.000000 4.880801 1.182656 0 3.566739 1.201428 0
+ L3 26624 0.000000 3.566739 1.201428 0 4.655533 2.665668 0
+ L3 26624 0.000000 3.341471 4.430265 0 1.896003 3.172520 0
+ L3 26624 0.000000 1.896003 3.172520 0 1.933548 5.462742 0
+ L3 26624 0.000000 -0.675803 5.838188 0 -0.694575 3.904640 0
+ L3 26624 0.000000 -0.694575 3.904640 0 -1.633191 4.711850 0
+ L3 26624 0.000000 -0.901071 -4.129908 0 -1.126339 -3.172520 0
+ L3 26624 0.000000 1.520557 -4.373948 0 1.539329 -3.266382 0
+ L3 26624 0.000000 2.928480 -3.754462 0 2.046182 -3.022342 0
+ L3 26624 0.000000 3.397788 -2.872163 0 2.440400 -1.501785 0
+ L3 26624 0.000000 4.392720 -0.788437 0 3.210065 -1.107566 0
+ L3 26624 0.000000 4.505354 0.319129 0 2.553034 0.600714 0
+ L3 26624 0.000000 2.740757 1.389151 0 3.660600 2.703213 0
+ L3 26624 0.000000 2.928480 3.078659 0 1.445468 1.989865 0
+ L3 26624 0.000000 1.163883 2.609351 0 0.788437 3.754462 0
+ L3 26624 0.000000 0.056317 3.735690 0 -0.206495 2.233905 0
+ L3 26624 0.000000 -1.520557 3.397788 0 -1.107566 1.914776 0
+ L3 26624 0.000000 -2.872163 -0.544397 0 -1.501785 0.131406 0
+ L3 26624 0.000000 -1.220200 -1.858459 0 -0.619486 -0.675803 0
+ L3 26624 0.000000 0.938615 -2.778302 0 0.262812 -1.501785 0
+ L3 26624 0.000000 1.802142 -2.046182 0 1.013705 -1.220200 0
+ L3 26624 0.000000 2.496717 -0.544397 0 0.994932 -0.300357 0
+ L3 26624 0.000000 1.614419 0.994932 0 0.694575 0.431763 0
+ L3 26624 0.000000 0.187723 1.407923 0 0.244040 0.694575 0
+ L3 26624 0.000000 -0.281585 0.469308 0 -0.863526 1.257745 0
+ L3 26624 0.000000 -1.145111 -0.488080 0 -0.356674 -0.037545 0
+ L3 26624 0.000000 0.600714 -0.957388 0 0.225268 -0.206495 0
+ L3 26624 0.000000 -3.421825 -1.213413 0 -4.344019 -1.674510 0
+ L3 26624 0.000000 -4.271214 0.994999 0 -3.106337 0.630975 0
+ L3 26624 0.000000 -3.373288 3.615971 0 -2.329753 3.300483 0
+ F4 32768 0.000000 4 0
+ -3.154874 -1.868656 0
+ -2.548167 -1.164876 0
+ -1.480364 -0.752316 0
+ -2.159875 -1.625973 0
+ F4 32768 0.000000 4 0
+ -2.863655 0.994999 0
+ -1.553169 1.116340 0
+ -0.970730 0.582438 0
+ -2.038534 0.606707 0
+ F4 32768 0.000000 4 0
+ -1.431827 -2.354021 0
+ -1.650242 -3.130606 0
+ -2.451094 -3.518898 0
+ -2.232680 -2.887923 0
+ F4 32768 0.000000 4 0
+ -4.756579 -0.024268 0
+ -3.713044 -0.266951 0
+ -2.572436 0.097073 0
+ -3.737312 0.291219 0
+ F4 32768 0.000000 4 0
+ -3.931458 -3.082069 0
+ -3.349020 -2.499631 0
+ -2.451094 -2.305485 0
+ -2.960728 -2.887923 0
+ F4 32768 0.000000 4 0
+ -3.324752 3.203410 0
+ -2.548167 2.402558 0
+ -1.650242 2.062802 0
+ -2.523899 2.936459 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 16"" Conifer-16a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -2.157806 6.092955 0
+ -0.273360 7.457871 0
+ 1.089136 5.987810 0
+ 1.230352 -4.754991 0
+ -0.954607 -7.601291 0
+ -2.388813 -4.876300 0
+ -4.145715 -7.386160 0
+ -4.839564 -4.591171 0
+ -7.178058 -5.620966 0
+ -6.548010 -2.975977 0
+ -8.771030 -2.904267 0
+ -6.834852 -0.752958 0
+ -9.302011 0.000000 0
+ -7.499869 0.793801 0
+ -8.872929 2.209769 0
+ -6.153604 4.159197 0
+ -7.049982 6.633202 0
+ -3.858874 5.808534 0
+ -2.629795 7.573286 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -4.948010 -2.975977 0
+ -5.578058 -5.620966 0
+ -3.239564 -4.591171 0
+ -2.545715 -7.386160 0
+ -0.788813 -4.876300 0
+ 0.645393 -7.601291 0
+ 2.830352 -4.754991 0
+ 5.127522 -6.436220 0
+ 4.226451 -4.054819 0
+ 5.453145 -2.056722 0
+ 7.530378 -0.557806 0
+ 6.028593 0.836709 0
+ 7.444562 2.853391 0
+ 5.091431 2.975977 0
+ 4.634079 4.011911 0
+ 4.569717 6.328950 0
+ 2.689136 5.987810 0
+ 1.326640 7.457871 0
+ -0.557806 6.092955 0
+ -1.029795 7.573286 0
+ -2.258874 5.808534 0
+ -5.449982 6.633202 0
+ -4.553604 4.159197 0
+ -7.272929 2.209769 0
+ -5.899869 0.793801 0
+ -7.702011 0.000000 0
+ -5.234852 -0.752958 0
+ -7.171030 -2.904267 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 1.072703 -5.020252 0
+ 3.248092 -7.505299 0
+ 4.011911 -5.642420 0
+ 3.368289 -3.132294 0
+ 5.928556 -3.248092 0
+ 7.631439 -1.860557 0
+ 4.634079 0.150178 0
+ 7.379160 3.153487 0
+ 5.329393 3.626510 0
+ 3.797370 3.282472 0
+ 3.711554 5.256247 0
+ 3.374231 7.158416 0
+ 1.008341 4.634079 0
+ -0.836709 4.891528 0
+ -1.265790 5.878415 0
+ -2.869673 7.095346 0
+ -2.853391 3.754462 0
+ -6.590788 4.635626 0
+ -5.833951 2.018232 0
+ -3.497013 0.557806 0
+ -6.149300 0.504558 0
+ -7.410695 -1.261395 0
+ -2.402856 -1.651963 0
+ -6.306974 -4.887905 0
+ -1.845050 -4.333722 0
+ -1.944333 -7.777333 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -4.440992 2.617396 0 -5.856961 2.553034 0
+ L3 26624 0.000000 -6.157318 3.754462 0 -5.191885 3.518467 0
+ L3 26624 0.000000 -1.973774 6.328950 0 -1.823596 4.548262 0
+ L3 26624 0.000000 -1.823596 4.548262 0 -2.896299 5.814053 0
+ L3 26624 0.000000 2.553034 6.393312 0 2.724667 4.891528 0
+ L3 26624 0.000000 2.724667 4.891528 0 3.539921 5.814053 0
+ L3 26624 0.000000 6.135864 3.303927 0 4.140635 2.381402 0
+ L3 26624 0.000000 4.140635 2.381402 0 6.135864 1.909412 0
+ L3 26624 0.000000 5.578058 -1.351606 0 4.076273 -1.373060 0
+ L3 26624 0.000000 4.076273 -1.373060 0 5.320609 -3.046478 0
+ L3 26624 0.000000 3.818824 -5.063160 0 2.166861 -3.625738 0
+ L3 26624 0.000000 2.166861 -3.625738 0 2.209769 -6.243134 0
+ L3 26624 0.000000 -0.772346 -6.672215 0 -0.793801 -4.462446 0
+ L3 26624 0.000000 -0.793801 -4.462446 0 -1.866504 -5.384971 0
+ L3 26624 0.000000 -1.029795 4.719895 0 -1.287244 3.625738 0
+ L3 26624 0.000000 1.737780 4.998798 0 1.759234 3.733008 0
+ L3 26624 0.000000 3.346835 4.290814 0 2.338493 3.454105 0
+ L3 26624 0.000000 3.883186 3.282472 0 2.789029 1.716325 0
+ L3 26624 0.000000 5.020252 0.901071 0 3.668646 1.265790 0
+ L3 26624 0.000000 5.148976 -0.364719 0 2.917753 -0.686530 0
+ L3 26624 0.000000 3.132294 -1.587601 0 4.183543 -3.089386 0
+ L3 26624 0.000000 3.346835 -3.518467 0 1.651963 -2.274131 0
+ L3 26624 0.000000 1.330152 -2.982115 0 0.901071 -4.290814 0
+ L3 26624 0.000000 0.064362 -4.269360 0 -0.235995 -2.553034 0
+ L3 26624 0.000000 -1.737780 -3.883186 0 -1.265790 -2.188315 0
+ L3 26624 0.000000 -3.282472 0.622168 0 -1.716325 -0.150178 0
+ L3 26624 0.000000 -1.394514 2.123953 0 -0.707984 0.772346 0
+ L3 26624 0.000000 1.072703 3.175202 0 0.300357 1.716325 0
+ L3 26624 0.000000 2.059591 2.338493 0 1.158520 1.394514 0
+ L3 26624 0.000000 2.853391 0.622168 0 1.137066 0.343265 0
+ L3 26624 0.000000 1.845050 -1.137066 0 0.793801 -0.493444 0
+ L3 26624 0.000000 0.214541 -1.609055 0 0.278903 -0.793801 0
+ L3 26624 0.000000 -0.321811 -0.536352 0 -0.986887 -1.437423 0
+ L3 26624 0.000000 -1.308698 0.557806 0 -0.407627 0.042908 0
+ L3 26624 0.000000 0.686530 1.094157 0 0.257449 0.235995 0
+ L3 26624 0.000000 -3.910657 1.386758 0 -4.964593 1.913726 0
+ L3 26624 0.000000 -4.881387 -1.137141 0 -3.550100 -0.721114 0
+ L3 26624 0.000000 -3.855186 -4.132538 0 -2.662575 -3.771981 0
+ F4 32768 0.000000 4 0
+ -3.605570 2.135607 0
+ -2.912191 1.331287 0
+ -1.691844 0.859790 0
+ -2.468429 1.858255 0
+ F4 32768 0.000000 4 0
+ -3.272748 -1.137141 0
+ -1.775050 -1.275817 0
+ -1.109406 -0.665644 0
+ -2.329753 -0.693379 0
+ F4 32768 0.000000 4 0
+ -1.636374 2.690310 0
+ -1.885991 3.577835 0
+ -2.801251 4.021597 0
+ -2.551634 3.300483 0
+ F4 32768 0.000000 4 0
+ -5.436090 0.027735 0
+ -4.243479 0.305087 0
+ -2.939926 -0.110941 0
+ -4.271214 -0.332822 0
+ F4 32768 0.000000 4 0
+ -4.493095 3.522365 0
+ -3.827451 2.856721 0
+ -2.801251 2.634840 0
+ -3.383689 3.300483 0
+ F4 32768 0.000000 4 0
+ -3.799716 -3.661040 0
+ -2.912191 -2.745780 0
+ -1.885991 -2.357488 0
+ -2.884456 -3.355954 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 16"" Conifer-16b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.273360 -7.457871 0
+ -2.157806 -6.092955 0
+ -2.629795 -7.573286 0
+ -3.858874 -5.808534 0
+ -7.049982 -6.633202 0
+ -6.153604 -4.159197 0
+ -8.872929 -2.209769 0
+ -7.499869 -0.793801 0
+ -9.302011 0.000000 0
+ -6.834852 0.752958 0
+ -8.771030 2.904267 0
+ -6.548010 2.975977 0
+ -7.178058 5.620966 0
+ -4.839564 4.591171 0
+ -4.145715 7.386160 0
+ -2.388813 4.876300 0
+ -0.954607 7.601291 0
+ 1.230352 4.754991 0
+ 1.089136 -5.987810 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -4.948010 2.975977 0
+ -5.578058 5.620966 0
+ -3.239564 4.591171 0
+ -2.545715 7.386160 0
+ -0.788813 4.876300 0
+ 0.645393 7.601291 0
+ 2.830352 4.754991 0
+ 5.127522 6.436220 0
+ 4.226451 4.054819 0
+ 5.453145 2.056722 0
+ 7.530378 0.557806 0
+ 6.028593 -0.836709 0
+ 7.444562 -2.853391 0
+ 5.091431 -2.975977 0
+ 4.634079 -4.011911 0
+ 4.569717 -6.328950 0
+ 2.689136 -5.987810 0
+ 1.326640 -7.457871 0
+ -0.557806 -6.092955 0
+ -1.029795 -7.573286 0
+ -2.258874 -5.808534 0
+ -5.449982 -6.633202 0
+ -4.553604 -4.159197 0
+ -7.272929 -2.209769 0
+ -5.899869 -0.793801 0
+ -7.702011 0.000000 0
+ -5.234852 0.752958 0
+ -7.171030 2.904267 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 1.072703 5.020252 0
+ 3.248092 7.505299 0
+ 4.011911 5.642420 0
+ 3.368289 3.132294 0
+ 5.928556 3.248092 0
+ 7.631439 1.860557 0
+ 4.634079 -0.150178 0
+ 7.379160 -3.153487 0
+ 5.329393 -3.626510 0
+ 3.797370 -3.282472 0
+ 3.711554 -5.256247 0
+ 3.374231 -7.158416 0
+ 1.008341 -4.634079 0
+ -0.836709 -4.891528 0
+ -1.265790 -5.878415 0
+ -2.869673 -7.095346 0
+ -2.853391 -3.754462 0
+ -6.590788 -4.635626 0
+ -5.833951 -2.018232 0
+ -3.497013 -0.557806 0
+ -6.149300 -0.504558 0
+ -7.410695 1.261395 0
+ -2.402856 1.651963 0
+ -6.306974 4.887905 0
+ -1.845050 4.333722 0
+ -1.944333 7.777333 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -4.440992 -2.617396 0 -5.856961 -2.553034 0
+ L3 26624 0.000000 -6.157318 -3.754462 0 -5.191885 -3.518467 0
+ L3 26624 0.000000 -1.973774 -6.328950 0 -1.823596 -4.548262 0
+ L3 26624 0.000000 -1.823596 -4.548262 0 -2.896299 -5.814053 0
+ L3 26624 0.000000 2.553034 -6.393312 0 2.724667 -4.891528 0
+ L3 26624 0.000000 2.724667 -4.891528 0 3.539921 -5.814053 0
+ L3 26624 0.000000 6.135864 -3.303927 0 4.140635 -2.381402 0
+ L3 26624 0.000000 4.140635 -2.381402 0 6.135864 -1.909412 0
+ L3 26624 0.000000 5.578058 1.351606 0 4.076273 1.373060 0
+ L3 26624 0.000000 4.076273 1.373060 0 5.320609 3.046478 0
+ L3 26624 0.000000 3.818824 5.063160 0 2.166861 3.625738 0
+ L3 26624 0.000000 2.166861 3.625738 0 2.209769 6.243134 0
+ L3 26624 0.000000 -0.772346 6.672215 0 -0.793801 4.462446 0
+ L3 26624 0.000000 -0.793801 4.462446 0 -1.866504 5.384971 0
+ L3 26624 0.000000 -1.029795 -4.719895 0 -1.287244 -3.625738 0
+ L3 26624 0.000000 1.737780 -4.998798 0 1.759234 -3.733008 0
+ L3 26624 0.000000 3.346835 -4.290814 0 2.338493 -3.454105 0
+ L3 26624 0.000000 3.883186 -3.282472 0 2.789029 -1.716325 0
+ L3 26624 0.000000 5.020252 -0.901071 0 3.668646 -1.265790 0
+ L3 26624 0.000000 5.148976 0.364719 0 2.917753 0.686530 0
+ L3 26624 0.000000 3.132294 1.587601 0 4.183543 3.089386 0
+ L3 26624 0.000000 3.346835 3.518467 0 1.651963 2.274131 0
+ L3 26624 0.000000 1.330152 2.982115 0 0.901071 4.290814 0
+ L3 26624 0.000000 0.064362 4.269360 0 -0.235995 2.553034 0
+ L3 26624 0.000000 -1.737780 3.883186 0 -1.265790 2.188315 0
+ L3 26624 0.000000 -3.282472 -0.622168 0 -1.716325 0.150178 0
+ L3 26624 0.000000 -1.394514 -2.123953 0 -0.707984 -0.772346 0
+ L3 26624 0.000000 1.072703 -3.175202 0 0.300357 -1.716325 0
+ L3 26624 0.000000 2.059591 -2.338493 0 1.158520 -1.394514 0
+ L3 26624 0.000000 2.853391 -0.622168 0 1.137066 -0.343265 0
+ L3 26624 0.000000 1.845050 1.137066 0 0.793801 0.493444 0
+ L3 26624 0.000000 0.214541 1.609055 0 0.278903 0.793801 0
+ L3 26624 0.000000 -0.321811 0.536352 0 -0.986887 1.437423 0
+ L3 26624 0.000000 -1.308698 -0.557806 0 -0.407627 -0.042908 0
+ L3 26624 0.000000 0.686530 -1.094157 0 0.257449 -0.235995 0
+ L3 26624 0.000000 -3.910657 -1.386758 0 -4.964593 -1.913726 0
+ L3 26624 0.000000 -4.881387 1.137141 0 -3.550100 0.721114 0
+ L3 26624 0.000000 -3.855186 4.132538 0 -2.662575 3.771981 0
+ F4 32768 0.000000 4 0
+ -3.605570 -2.135607 0
+ -2.912191 -1.331287 0
+ -1.691844 -0.859790 0
+ -2.468429 -1.858255 0
+ F4 32768 0.000000 4 0
+ -3.272748 1.137141 0
+ -1.775050 1.275817 0
+ -1.109406 0.665644 0
+ -2.329753 0.693379 0
+ F4 32768 0.000000 4 0
+ -1.636374 -2.690310 0
+ -1.885991 -3.577835 0
+ -2.801251 -4.021597 0
+ -2.551634 -3.300483 0
+ F4 32768 0.000000 4 0
+ -5.436090 -0.027735 0
+ -4.243479 -0.305087 0
+ -2.939926 0.110941 0
+ -4.271214 0.332822 0
+ F4 32768 0.000000 4 0
+ -4.493095 -3.522365 0
+ -3.827451 -2.856721 0
+ -2.801251 -2.634840 0
+ -3.383689 -3.300483 0
+ F4 32768 0.000000 4 0
+ -3.799716 3.661040 0
+ -2.912191 2.745780 0
+ -1.885991 2.357488 0
+ -2.884456 3.355954 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 18"" Conifer-18a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -2.427531 6.854575 0
+ -0.307529 8.390105 0
+ 1.225278 6.736286 0
+ 1.384146 -5.349365 0
+ -1.073933 -8.551453 0
+ -2.687415 -5.485838 0
+ -4.663930 -8.309431 0
+ -5.444510 -5.165067 0
+ -8.075315 -6.323587 0
+ -7.366512 -3.347974 0
+ -9.867408 -3.267300 0
+ -7.689208 -0.847078 0
+ -10.464762 0.000000 0
+ -8.437352 0.893026 0
+ -9.982045 2.485990 0
+ -6.922804 4.679097 0
+ -7.931230 7.462353 0
+ -4.341234 6.534601 0
+ -2.958520 8.519947 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -5.566512 -3.347974 0
+ -6.275315 -6.323587 0
+ -3.644510 -5.165067 0
+ -2.863930 -8.309431 0
+ -0.887415 -5.485838 0
+ 0.726067 -8.551453 0
+ 3.184146 -5.349365 0
+ 5.768463 -7.240748 0
+ 4.754758 -4.561671 0
+ 6.134788 -2.313813 0
+ 8.471675 -0.627531 0
+ 6.782167 0.941297 0
+ 8.375132 3.210065 0
+ 5.727860 3.347974 0
+ 5.213339 4.513400 0
+ 5.140931 7.120069 0
+ 3.025278 6.736286 0
+ 1.492471 8.390105 0
+ -0.627531 6.854575 0
+ -1.158520 8.519947 0
+ -2.541234 6.534601 0
+ -6.131230 7.462353 0
+ -5.122804 4.679097 0
+ -8.182045 2.485990 0
+ -6.637352 0.893026 0
+ -8.664762 0.000000 0
+ -5.889208 -0.847078 0
+ -8.067408 -3.267300 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 1.206791 -5.647783 0
+ 3.654103 -8.443462 0
+ 4.513400 -6.347722 0
+ 3.789325 -3.523831 0
+ 6.669625 -3.654103 0
+ 8.585369 -2.093127 0
+ 5.213339 0.168951 0
+ 8.301555 3.547673 0
+ 5.995567 4.079824 0
+ 4.272041 3.692782 0
+ 4.175498 5.913278 0
+ 3.796010 8.053218 0
+ 1.134384 5.213339 0
+ -0.941297 5.502969 0
+ -1.424014 6.613217 0
+ -3.228382 7.982264 0
+ -3.210065 4.223770 0
+ -7.414636 5.215079 0
+ -6.563195 2.270511 0
+ -3.934140 0.627531 0
+ -6.917962 0.567628 0
+ -8.337031 -1.419069 0
+ -2.703213 -1.858459 0
+ -7.095346 -5.498893 0
+ -2.075681 -4.875437 0
+ -2.187375 -8.749500 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -4.996116 2.944571 0 -6.589081 2.872163 0
+ L3 26624 0.000000 -6.926982 4.223770 0 -5.840870 3.958276 0
+ L3 26624 0.000000 -2.220496 7.120069 0 -2.051545 5.116795 0
+ L3 26624 0.000000 -2.051545 5.116795 0 -3.258337 6.540809 0
+ L3 26624 0.000000 2.872163 7.192476 0 3.065250 5.502969 0
+ L3 26624 0.000000 3.065250 5.502969 0 3.982411 6.540809 0
+ L3 26624 0.000000 6.902846 3.716917 0 4.658215 2.679077 0
+ L3 26624 0.000000 4.658215 2.679077 0 6.902846 2.148089 0
+ L3 26624 0.000000 6.275315 -1.520557 0 4.585807 -1.544693 0
+ L3 26624 0.000000 4.585807 -1.544693 0 5.985685 -3.427287 0
+ L3 26624 0.000000 4.296177 -5.696055 0 2.437719 -4.078955 0
+ L3 26624 0.000000 2.437719 -4.078955 0 2.485990 -7.023526 0
+ L3 26624 0.000000 -0.868890 -7.506242 0 -0.893026 -5.020252 0
+ L3 26624 0.000000 -0.893026 -5.020252 0 -2.099817 -6.058093 0
+ L3 26624 0.000000 -1.158520 5.309882 0 -1.448150 4.078955 0
+ L3 26624 0.000000 1.955002 5.623648 0 1.979138 4.199634 0
+ L3 26624 0.000000 3.765189 4.827165 0 2.630805 3.885868 0
+ L3 26624 0.000000 4.368585 3.692782 0 3.137657 1.930866 0
+ L3 26624 0.000000 5.647783 1.013705 0 4.127226 1.424014 0
+ L3 26624 0.000000 5.792598 -0.410309 0 3.282472 -0.772346 0
+ L3 26624 0.000000 3.523831 -1.786051 0 4.706486 -3.475559 0
+ L3 26624 0.000000 3.765189 -3.958276 0 1.858459 -2.558398 0
+ L3 26624 0.000000 1.496421 -3.354880 0 1.013705 -4.827165 0
+ L3 26624 0.000000 0.072407 -4.803030 0 -0.265494 -2.872163 0
+ L3 26624 0.000000 -1.955002 -4.368585 0 -1.424014 -2.461854 0
+ L3 26624 0.000000 -3.692782 0.699939 0 -1.930866 -0.168951 0
+ L3 26624 0.000000 -1.568829 2.389447 0 -0.796482 0.868890 0
+ L3 26624 0.000000 1.206791 3.572102 0 0.337902 1.930866 0
+ L3 26624 0.000000 2.317039 2.630805 0 1.303335 1.568829 0
+ L3 26624 0.000000 3.210065 0.699939 0 1.279199 0.386173 0
+ L3 26624 0.000000 2.075681 -1.279199 0 0.893026 -0.555124 0
+ L3 26624 0.000000 0.241358 -1.810187 0 0.313766 -0.893026 0
+ L3 26624 0.000000 -0.362037 -0.603396 0 -1.110248 -1.617100 0
+ L3 26624 0.000000 -1.472285 0.627531 0 -0.458581 0.048272 0
+ L3 26624 0.000000 0.772346 1.230927 0 0.289630 0.265494 0
+ L3 26624 0.000000 -4.399489 1.560102 0 -5.585167 2.152941 0
+ L3 26624 0.000000 -5.491561 -1.279284 0 -3.993862 -0.811253 0
+ L3 26624 0.000000 -4.337085 -4.649105 0 -2.995397 -4.243479 0
+ F4 32768 0.000000 4 0
+ -4.056266 2.402558 0
+ -3.276215 1.497698 0
+ -1.903325 0.967264 0
+ -2.776982 2.090537 0
+ F4 32768 0.000000 4 0
+ -3.681842 -1.279284 0
+ -1.996931 -1.435294 0
+ -1.248082 -0.748849 0
+ -2.620972 -0.780051 0
+ F4 32768 0.000000 4 0
+ -1.840921 3.026599 0
+ -2.121739 4.025064 0
+ -3.151407 4.524297 0
+ -2.870588 3.713044 0
+ F4 32768 0.000000 4 0
+ -6.115602 0.031202 0
+ -4.773913 0.343223 0
+ -3.307417 -0.124808 0
+ -4.805116 -0.374425 0
+ F4 32768 0.000000 4 0
+ -5.054732 3.962660 0
+ -4.305883 3.213811 0
+ -3.151407 2.964195 0
+ -3.806650 3.713044 0
+ F4 32768 0.000000 4 0
+ -4.274681 -4.118670 0
+ -3.276215 -3.089003 0
+ -2.121739 -2.652174 0
+ -3.245013 -3.775448 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 18"" Conifer-18b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.307529 -8.390105 0
+ -2.427531 -6.854575 0
+ -2.958520 -8.519947 0
+ -4.341234 -6.534601 0
+ -7.931230 -7.462353 0
+ -6.922804 -4.679097 0
+ -9.982045 -2.485990 0
+ -8.437352 -0.893026 0
+ -10.464762 0.000000 0
+ -7.689208 0.847078 0
+ -9.867408 3.267300 0
+ -7.366512 3.347974 0
+ -8.075315 6.323587 0
+ -5.444510 5.165067 0
+ -4.663930 8.309431 0
+ -2.687415 5.485838 0
+ -1.073933 8.551453 0
+ 1.384146 5.349365 0
+ 1.225278 -6.736286 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -5.566512 3.347974 0
+ -6.275315 6.323587 0
+ -3.644510 5.165067 0
+ -2.863930 8.309431 0
+ -0.887415 5.485838 0
+ 0.726067 8.551453 0
+ 3.184146 5.349365 0
+ 5.768463 7.240748 0
+ 4.754758 4.561671 0
+ 6.134788 2.313813 0
+ 8.471675 0.627531 0
+ 6.782167 -0.941297 0
+ 8.375132 -3.210065 0
+ 5.727860 -3.347974 0
+ 5.213339 -4.513400 0
+ 5.140931 -7.120069 0
+ 3.025278 -6.736286 0
+ 1.492471 -8.390105 0
+ -0.627531 -6.854575 0
+ -1.158520 -8.519947 0
+ -2.541234 -6.534601 0
+ -6.131230 -7.462353 0
+ -5.122804 -4.679097 0
+ -8.182045 -2.485990 0
+ -6.637352 -0.893026 0
+ -8.664762 0.000000 0
+ -5.889208 0.847078 0
+ -8.067408 3.267300 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 1.206791 5.647783 0
+ 3.654103 8.443462 0
+ 4.513400 6.347722 0
+ 3.789325 3.523831 0
+ 6.669625 3.654103 0
+ 8.585369 2.093127 0
+ 5.213339 -0.168951 0
+ 8.301555 -3.547673 0
+ 5.995567 -4.079824 0
+ 4.272041 -3.692782 0
+ 4.175498 -5.913278 0
+ 3.796010 -8.053218 0
+ 1.134384 -5.213339 0
+ -0.941297 -5.502969 0
+ -1.424014 -6.613217 0
+ -3.228382 -7.982264 0
+ -3.210065 -4.223770 0
+ -7.414636 -5.215079 0
+ -6.563195 -2.270511 0
+ -3.934140 -0.627531 0
+ -6.917962 -0.567628 0
+ -8.337031 1.419069 0
+ -2.703213 1.858459 0
+ -7.095346 5.498893 0
+ -2.075681 4.875437 0
+ -2.187375 8.749500 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -4.996116 -2.944571 0 -6.589081 -2.872163 0
+ L3 26624 0.000000 -6.926982 -4.223770 0 -5.840870 -3.958276 0
+ L3 26624 0.000000 -2.220496 -7.120069 0 -2.051545 -5.116795 0
+ L3 26624 0.000000 -2.051545 -5.116795 0 -3.258337 -6.540809 0
+ L3 26624 0.000000 2.872163 -7.192476 0 3.065250 -5.502969 0
+ L3 26624 0.000000 3.065250 -5.502969 0 3.982411 -6.540809 0
+ L3 26624 0.000000 6.902846 -3.716917 0 4.658215 -2.679077 0
+ L3 26624 0.000000 4.658215 -2.679077 0 6.902846 -2.148089 0
+ L3 26624 0.000000 6.275315 1.520557 0 4.585807 1.544693 0
+ L3 26624 0.000000 4.585807 1.544693 0 5.985685 3.427287 0
+ L3 26624 0.000000 4.296177 5.696055 0 2.437719 4.078955 0
+ L3 26624 0.000000 2.437719 4.078955 0 2.485990 7.023526 0
+ L3 26624 0.000000 -0.868890 7.506242 0 -0.893026 5.020252 0
+ L3 26624 0.000000 -0.893026 5.020252 0 -2.099817 6.058093 0
+ L3 26624 0.000000 -1.158520 -5.309882 0 -1.448150 -4.078955 0
+ L3 26624 0.000000 1.955002 -5.623648 0 1.979138 -4.199634 0
+ L3 26624 0.000000 3.765189 -4.827165 0 2.630805 -3.885868 0
+ L3 26624 0.000000 4.368585 -3.692782 0 3.137657 -1.930866 0
+ L3 26624 0.000000 5.647783 -1.013705 0 4.127226 -1.424014 0
+ L3 26624 0.000000 5.792598 0.410309 0 3.282472 0.772346 0
+ L3 26624 0.000000 3.523831 1.786051 0 4.706486 3.475559 0
+ L3 26624 0.000000 3.765189 3.958276 0 1.858459 2.558398 0
+ L3 26624 0.000000 1.496421 3.354880 0 1.013705 4.827165 0
+ L3 26624 0.000000 0.072407 4.803030 0 -0.265494 2.872163 0
+ L3 26624 0.000000 -1.955002 4.368585 0 -1.424014 2.461854 0
+ L3 26624 0.000000 -3.692782 -0.699939 0 -1.930866 0.168951 0
+ L3 26624 0.000000 -1.568829 -2.389447 0 -0.796482 -0.868890 0
+ L3 26624 0.000000 1.206791 -3.572102 0 0.337902 -1.930866 0
+ L3 26624 0.000000 2.317039 -2.630805 0 1.303335 -1.568829 0
+ L3 26624 0.000000 3.210065 -0.699939 0 1.279199 -0.386173 0
+ L3 26624 0.000000 2.075681 1.279199 0 0.893026 0.555124 0
+ L3 26624 0.000000 0.241358 1.810187 0 0.313766 0.893026 0
+ L3 26624 0.000000 -0.362037 0.603396 0 -1.110248 1.617100 0
+ L3 26624 0.000000 -1.472285 -0.627531 0 -0.458581 -0.048272 0
+ L3 26624 0.000000 0.772346 -1.230927 0 0.289630 -0.265494 0
+ L3 26624 0.000000 -4.399489 -1.560102 0 -5.585167 -2.152941 0
+ L3 26624 0.000000 -5.491561 1.279284 0 -3.993862 0.811253 0
+ L3 26624 0.000000 -4.337085 4.649105 0 -2.995397 4.243479 0
+ F4 32768 0.000000 4 0
+ -4.056266 -2.402558 0
+ -3.276215 -1.497698 0
+ -1.903325 -0.967264 0
+ -2.776982 -2.090537 0
+ F4 32768 0.000000 4 0
+ -3.681842 1.279284 0
+ -1.996931 1.435294 0
+ -1.248082 0.748849 0
+ -2.620972 0.780051 0
+ F4 32768 0.000000 4 0
+ -1.840921 -3.026599 0
+ -2.121739 -4.025064 0
+ -3.151407 -4.524297 0
+ -2.870588 -3.713044 0
+ F4 32768 0.000000 4 0
+ -6.115602 -0.031202 0
+ -4.773913 -0.343223 0
+ -3.307417 0.124808 0
+ -4.805116 0.374425 0
+ F4 32768 0.000000 4 0
+ -5.054732 -3.962660 0
+ -4.305883 -3.213811 0
+ -3.151407 -2.964195 0
+ -3.806650 -3.713044 0
+ F4 32768 0.000000 4 0
+ -4.274681 4.118670 0
+ -3.276215 3.089003 0
+ -2.121739 2.652174 0
+ -3.245013 3.775448 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 20"" Conifer-20a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -2.697257 7.616194 0
+ -0.341699 9.322338 0
+ 1.361420 7.484762 0
+ 1.537940 -5.943739 0
+ -1.193259 -9.501614 0
+ -2.986017 -6.095375 0
+ -5.182144 -9.232701 0
+ -6.049455 -5.738963 0
+ -8.972572 -7.026207 0
+ -8.185013 -3.719972 0
+ -10.963787 -3.630334 0
+ -8.543564 -0.941198 0
+ -11.627513 0.000000 0
+ -9.374836 0.992251 0
+ -11.091161 2.762211 0
+ -7.692005 5.198996 0
+ -8.812478 8.291503 0
+ -4.823593 7.260667 0
+ -3.287244 9.466608 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -6.185013 -3.719972 0
+ -6.972572 -7.026207 0
+ -4.049455 -5.738963 0
+ -3.182144 -9.232701 0
+ -0.986017 -6.095375 0
+ 0.806741 -9.501614 0
+ 3.537940 -5.943739 0
+ 6.409403 -8.045276 0
+ 5.283064 -5.068524 0
+ 6.816431 -2.570903 0
+ 9.412972 -0.697257 0
+ 7.535741 1.045886 0
+ 9.305702 3.566739 0
+ 6.364289 3.719972 0
+ 5.792598 5.014888 0
+ 5.712146 7.911188 0
+ 3.361420 7.484762 0
+ 1.658301 9.322338 0
+ -0.697257 7.616194 0
+ -1.287244 9.466608 0
+ -2.823593 7.260667 0
+ -6.812478 8.291503 0
+ -5.692005 5.198996 0
+ -9.091161 2.762211 0
+ -7.374836 0.992251 0
+ -9.627513 0.000000 0
+ -6.543564 -0.941198 0
+ -8.963787 -3.630334 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 1.340879 -6.275315 0
+ 4.060115 -9.381624 0
+ 5.014888 -7.053025 0
+ 4.210361 -3.915367 0
+ 7.410695 -4.060115 0
+ 9.539298 -2.325697 0
+ 5.792598 0.187723 0
+ 9.223950 3.941859 0
+ 6.661741 4.533138 0
+ 4.746713 4.103091 0
+ 4.639442 6.570308 0
+ 4.217789 8.948020 0
+ 1.260427 5.792598 0
+ -1.045886 6.114409 0
+ -1.582238 7.348018 0
+ -3.587092 8.869182 0
+ -3.566739 4.693077 0
+ -8.238485 5.794532 0
+ -7.292439 2.522790 0
+ -4.371266 0.697257 0
+ -7.686625 0.630697 0
+ -9.263368 -1.576744 0
+ -3.003570 -2.064954 0
+ -7.883718 -6.109881 0
+ -2.306312 -5.417152 0
+ -2.430417 -9.721667 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -5.551240 3.271745 0 -7.321201 3.191293 0
+ L3 26624 0.000000 -7.696647 4.693077 0 -6.489856 4.398084 0
+ L3 26624 0.000000 -2.467218 7.911188 0 -2.279495 5.685328 0
+ L3 26624 0.000000 -2.279495 5.685328 0 -3.620374 7.267566 0
+ L3 26624 0.000000 3.191293 7.991640 0 3.405833 6.114409 0
+ L3 26624 0.000000 3.405833 6.114409 0 4.424902 7.267566 0
+ L3 26624 0.000000 7.669829 4.129908 0 5.175794 2.976752 0
+ L3 26624 0.000000 5.175794 2.976752 0 7.669829 2.386765 0
+ L3 26624 0.000000 6.972572 -1.689508 0 5.095341 -1.716325 0
+ L3 26624 0.000000 5.095341 -1.716325 0 6.650761 -3.808097 0
+ L3 26624 0.000000 4.773530 -6.328950 0 2.708576 -4.532172 0
+ L3 26624 0.000000 2.708576 -4.532172 0 2.762211 -7.803917 0
+ L3 26624 0.000000 -0.965433 -8.340269 0 -0.992251 -5.578058 0
+ L3 26624 0.000000 -0.992251 -5.578058 0 -2.333130 -6.731214 0
+ L3 26624 0.000000 -1.287244 5.899869 0 -1.609055 4.532172 0
+ L3 26624 0.000000 2.172224 6.248497 0 2.199042 4.666260 0
+ L3 26624 0.000000 4.183543 5.363517 0 2.923117 4.317631 0
+ L3 26624 0.000000 4.853983 4.103091 0 3.486286 2.145407 0
+ L3 26624 0.000000 6.275315 1.126339 0 4.585807 1.582238 0
+ L3 26624 0.000000 6.436220 -0.455899 0 3.647192 -0.858163 0
+ L3 26624 0.000000 3.915367 -1.984501 0 5.229429 -3.861732 0
+ L3 26624 0.000000 4.183543 -4.398084 0 2.064954 -2.842664 0
+ L3 26624 0.000000 1.662690 -3.727644 0 1.126339 -5.363517 0
+ L3 26624 0.000000 0.080453 -5.336699 0 -0.294993 -3.191293 0
+ L3 26624 0.000000 -2.172224 -4.853983 0 -1.582238 -2.735394 0
+ L3 26624 0.000000 -4.103091 0.777710 0 -2.145407 -0.187723 0
+ L3 26624 0.000000 -1.743143 2.654941 0 -0.884980 0.965433 0
+ L3 26624 0.000000 1.340879 3.969003 0 0.375446 2.145407 0
+ L3 26624 0.000000 2.574488 2.923117 0 1.448150 1.743143 0
+ L3 26624 0.000000 3.566739 0.777710 0 1.421332 0.429081 0
+ L3 26624 0.000000 2.306312 -1.421332 0 0.992251 -0.616804 0
+ L3 26624 0.000000 0.268176 -2.011319 0 0.348629 -0.992251 0
+ L3 26624 0.000000 -0.402264 -0.670440 0 -1.233609 -1.796778 0
+ L3 26624 0.000000 -1.635873 0.697257 0 -0.509534 0.053635 0
+ L3 26624 0.000000 0.858163 1.367697 0 0.321811 0.294993 0
+ L3 26624 0.000000 -4.888321 1.733447 0 -6.205741 2.392157 0
+ L3 26624 0.000000 -6.101734 -1.421427 0 -4.437625 -0.901393 0
+ L3 26624 0.000000 -4.818983 -5.165673 0 -3.328219 -4.714976 0
+ F4 32768 0.000000 4 0
+ -4.506963 2.669509 0
+ -3.640239 1.664109 0
+ -2.114806 1.074737 0
+ -3.085536 2.322819 0
+ F4 32768 0.000000 4 0
+ -4.090935 -1.421427 0
+ -2.218812 -1.594771 0
+ -1.386758 -0.832055 0
+ -2.912191 -0.866724 0
+ F4 32768 0.000000 4 0
+ -2.045468 3.362887 0
+ -2.357488 4.472294 0
+ -3.501563 5.026997 0
+ -3.189543 4.125604 0
+ F4 32768 0.000000 4 0
+ -6.795113 0.034669 0
+ -5.304348 0.381358 0
+ -3.674908 -0.138676 0
+ -5.339017 -0.416027 0
+ F4 32768 0.000000 4 0
+ -5.616369 4.402956 0
+ -4.784314 3.570901 0
+ -3.501563 3.293550 0
+ -4.229611 4.125604 0
+ F4 32768 0.000000 4 0
+ -4.749645 -4.576300 0
+ -3.640239 -3.432225 0
+ -2.357488 -2.946860 0
+ -3.605570 -4.194942 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 20"" Conifer-20b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.341699 -9.322338 0
+ -2.697257 -7.616194 0
+ -3.287244 -9.466608 0
+ -4.823593 -7.260667 0
+ -8.812478 -8.291503 0
+ -7.692005 -5.198996 0
+ -11.091161 -2.762211 0
+ -9.374836 -0.992251 0
+ -11.627513 0.000000 0
+ -8.543564 0.941198 0
+ -10.963787 3.630334 0
+ -8.185013 3.719972 0
+ -8.972572 7.026207 0
+ -6.049455 5.738963 0
+ -5.182144 9.232701 0
+ -2.986017 6.095375 0
+ -1.193259 9.501614 0
+ 1.537940 5.943739 0
+ 1.361420 -7.484762 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -6.185013 3.719972 0
+ -6.972572 7.026207 0
+ -4.049455 5.738963 0
+ -3.182144 9.232701 0
+ -0.986017 6.095375 0
+ 0.806741 9.501614 0
+ 3.537940 5.943739 0
+ 6.409403 8.045276 0
+ 5.283064 5.068524 0
+ 6.816431 2.570903 0
+ 9.412972 0.697257 0
+ 7.535741 -1.045886 0
+ 9.305702 -3.566739 0
+ 6.364289 -3.719972 0
+ 5.792598 -5.014888 0
+ 5.712146 -7.911188 0
+ 3.361420 -7.484762 0
+ 1.658301 -9.322338 0
+ -0.697257 -7.616194 0
+ -1.287244 -9.466608 0
+ -2.823593 -7.260667 0
+ -6.812478 -8.291503 0
+ -5.692005 -5.198996 0
+ -9.091161 -2.762211 0
+ -7.374836 -0.992251 0
+ -9.627513 0.000000 0
+ -6.543564 0.941198 0
+ -8.963787 3.630334 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 1.340879 6.275315 0
+ 4.060115 9.381624 0
+ 5.014888 7.053025 0
+ 4.210361 3.915367 0
+ 7.410695 4.060115 0
+ 9.539298 2.325697 0
+ 5.792598 -0.187723 0
+ 9.223950 -3.941859 0
+ 6.661741 -4.533138 0
+ 4.746713 -4.103091 0
+ 4.639442 -6.570308 0
+ 4.217789 -8.948020 0
+ 1.260427 -5.792598 0
+ -1.045886 -6.114409 0
+ -1.582238 -7.348018 0
+ -3.587092 -8.869182 0
+ -3.566739 -4.693077 0
+ -8.238485 -5.794532 0
+ -7.292439 -2.522790 0
+ -4.371266 -0.697257 0
+ -7.686625 -0.630697 0
+ -9.263368 1.576744 0
+ -3.003570 2.064954 0
+ -7.883718 6.109881 0
+ -2.306312 5.417152 0
+ -2.430417 9.721667 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -5.551240 -3.271745 0 -7.321201 -3.191293 0
+ L3 26624 0.000000 -7.696647 -4.693077 0 -6.489856 -4.398084 0
+ L3 26624 0.000000 -2.467218 -7.911188 0 -2.279495 -5.685328 0
+ L3 26624 0.000000 -2.279495 -5.685328 0 -3.620374 -7.267566 0
+ L3 26624 0.000000 3.191293 -7.991640 0 3.405833 -6.114409 0
+ L3 26624 0.000000 3.405833 -6.114409 0 4.424902 -7.267566 0
+ L3 26624 0.000000 7.669829 -4.129908 0 5.175794 -2.976752 0
+ L3 26624 0.000000 5.175794 -2.976752 0 7.669829 -2.386765 0
+ L3 26624 0.000000 6.972572 1.689508 0 5.095341 1.716325 0
+ L3 26624 0.000000 5.095341 1.716325 0 6.650761 3.808097 0
+ L3 26624 0.000000 4.773530 6.328950 0 2.708576 4.532172 0
+ L3 26624 0.000000 2.708576 4.532172 0 2.762211 7.803917 0
+ L3 26624 0.000000 -0.965433 8.340269 0 -0.992251 5.578058 0
+ L3 26624 0.000000 -0.992251 5.578058 0 -2.333130 6.731214 0
+ L3 26624 0.000000 -1.287244 -5.899869 0 -1.609055 -4.532172 0
+ L3 26624 0.000000 2.172224 -6.248497 0 2.199042 -4.666260 0
+ L3 26624 0.000000 4.183543 -5.363517 0 2.923117 -4.317631 0
+ L3 26624 0.000000 4.853983 -4.103091 0 3.486286 -2.145407 0
+ L3 26624 0.000000 6.275315 -1.126339 0 4.585807 -1.582238 0
+ L3 26624 0.000000 6.436220 0.455899 0 3.647192 0.858163 0
+ L3 26624 0.000000 3.915367 1.984501 0 5.229429 3.861732 0
+ L3 26624 0.000000 4.183543 4.398084 0 2.064954 2.842664 0
+ L3 26624 0.000000 1.662690 3.727644 0 1.126339 5.363517 0
+ L3 26624 0.000000 0.080453 5.336699 0 -0.294993 3.191293 0
+ L3 26624 0.000000 -2.172224 4.853983 0 -1.582238 2.735394 0
+ L3 26624 0.000000 -4.103091 -0.777710 0 -2.145407 0.187723 0
+ L3 26624 0.000000 -1.743143 -2.654941 0 -0.884980 -0.965433 0
+ L3 26624 0.000000 1.340879 -3.969003 0 0.375446 -2.145407 0
+ L3 26624 0.000000 2.574488 -2.923117 0 1.448150 -1.743143 0
+ L3 26624 0.000000 3.566739 -0.777710 0 1.421332 -0.429081 0
+ L3 26624 0.000000 2.306312 1.421332 0 0.992251 0.616804 0
+ L3 26624 0.000000 0.268176 2.011319 0 0.348629 0.992251 0
+ L3 26624 0.000000 -0.402264 0.670440 0 -1.233609 1.796778 0
+ L3 26624 0.000000 -1.635873 -0.697257 0 -0.509534 -0.053635 0
+ L3 26624 0.000000 0.858163 -1.367697 0 0.321811 -0.294993 0
+ L3 26624 0.000000 -4.888321 -1.733447 0 -6.205741 -2.392157 0
+ L3 26624 0.000000 -6.101734 1.421427 0 -4.437625 0.901393 0
+ L3 26624 0.000000 -4.818983 5.165673 0 -3.328219 4.714976 0
+ F4 32768 0.000000 4 0
+ -4.506963 -2.669509 0
+ -3.640239 -1.664109 0
+ -2.114806 -1.074737 0
+ -3.085536 -2.322819 0
+ F4 32768 0.000000 4 0
+ -4.090935 1.421427 0
+ -2.218812 1.594771 0
+ -1.386758 0.832055 0
+ -2.912191 0.866724 0
+ F4 32768 0.000000 4 0
+ -2.045468 -3.362887 0
+ -2.357488 -4.472294 0
+ -3.501563 -5.026997 0
+ -3.189543 -4.125604 0
+ F4 32768 0.000000 4 0
+ -6.795113 -0.034669 0
+ -5.304348 -0.381358 0
+ -3.674908 0.138676 0
+ -5.339017 0.416027 0
+ F4 32768 0.000000 4 0
+ -5.616369 -4.402956 0
+ -4.784314 -3.570901 0
+ -3.501563 -3.293550 0
+ -4.229611 -4.125604 0
+ F4 32768 0.000000 4 0
+ -4.749645 4.576300 0
+ -3.640239 3.432225 0
+ -2.357488 2.946860 0
+ -3.605570 4.194942 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 24"" Conifer-24a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -3.236709 9.139433 0
+ -0.410039 11.186806 0
+ 1.633704 8.981715 0
+ 1.845528 -7.132487 0
+ -1.431911 -11.401937 0
+ -3.583220 -7.314450 0
+ -6.218573 -11.079241 0
+ -7.259346 -6.886756 0
+ -10.767087 -8.431449 0
+ -9.822016 -4.463966 0
+ -13.156544 -4.356400 0
+ -10.252277 -1.129437 0
+ -13.953016 0.000000 0
+ -11.249803 1.190701 0
+ -13.309394 3.314654 0
+ -9.230406 6.238796 0
+ -10.574974 9.949804 0
+ -5.788311 8.712801 0
+ -3.944693 11.359929 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -7.422016 -4.463966 0
+ -8.367087 -8.431449 0
+ -4.859346 -6.886756 0
+ -3.818573 -11.079241 0
+ -1.183220 -7.314450 0
+ 0.968089 -11.401937 0
+ 4.245528 -7.132487 0
+ 7.691283 -9.654331 0
+ 6.339677 -6.082228 0
+ 8.179717 -3.085084 0
+ 11.295567 -0.836709 0
+ 9.042890 1.255063 0
+ 11.166843 4.280087 0
+ 7.637146 4.463966 0
+ 6.951118 6.017866 0
+ 6.854575 9.493425 0
+ 4.033704 8.981715 0
+ 1.989961 11.186806 0
+ -0.836709 9.139433 0
+ -1.544693 11.359929 0
+ -3.388311 8.712801 0
+ -8.174974 9.949804 0
+ -6.830406 6.238796 0
+ -10.909394 3.314654 0
+ -8.849803 1.190701 0
+ -11.553016 0.000000 0
+ -7.852277 -1.129437 0
+ -10.756544 -4.356400 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 1.609055 -7.530378 0
+ 4.872138 -11.257949 0
+ 6.017866 -8.463630 0
+ 5.052433 -4.698441 0
+ 8.892834 -4.872138 0
+ 11.447158 -2.790836 0
+ 6.951118 0.225268 0
+ 11.068740 4.730231 0
+ 7.994090 5.439765 0
+ 5.696055 4.923709 0
+ 5.567331 7.884370 0
+ 5.061347 10.737623 0
+ 1.512512 6.951118 0
+ -1.255063 7.337291 0
+ -1.898685 8.817622 0
+ -4.304510 10.643019 0
+ -4.280087 5.631693 0
+ -9.886182 6.953439 0
+ -8.750927 3.027348 0
+ -5.245520 0.836709 0
+ -9.223950 0.756837 0
+ -11.116042 -1.892092 0
+ -3.604283 -2.477945 0
+ -9.460461 -7.331857 0
+ -2.767575 -6.500583 0
+ -2.916500 -11.666000 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -6.661488 3.926095 0 -8.785441 3.829551 0
+ L3 26624 0.000000 -9.235976 5.631693 0 -7.787827 5.277701 0
+ L3 26624 0.000000 -2.960661 9.493425 0 -2.735394 6.822394 0
+ L3 26624 0.000000 -2.735394 6.822394 0 -4.344449 8.721079 0
+ L3 26624 0.000000 3.829551 9.589969 0 4.087000 7.337291 0
+ L3 26624 0.000000 4.087000 7.337291 0 5.309882 8.721079 0
+ L3 26624 0.000000 9.203795 4.955890 0 6.210953 3.572102 0
+ L3 26624 0.000000 6.210953 3.572102 0 9.203795 2.864118 0
+ L3 26624 0.000000 8.367087 -2.027409 0 6.114409 -2.059591 0
+ L3 26624 0.000000 6.114409 -2.059591 0 7.980913 -4.569717 0
+ L3 26624 0.000000 5.728236 -7.594740 0 3.250291 -5.438606 0
+ L3 26624 0.000000 3.250291 -5.438606 0 3.314654 -9.364701 0
+ L3 26624 0.000000 -1.158520 -10.008323 0 -1.190701 -6.693669 0
+ L3 26624 0.000000 -1.190701 -6.693669 0 -2.799756 -8.077457 0
+ L3 26624 0.000000 -1.544693 7.079843 0 -1.930866 5.438606 0
+ L3 26624 0.000000 2.606669 7.498197 0 2.638850 5.599512 0
+ L3 26624 0.000000 5.020252 6.436220 0 3.507740 5.181157 0
+ L3 26624 0.000000 5.824780 4.923709 0 4.183543 2.574488 0
+ L3 26624 0.000000 7.530378 1.351606 0 5.502969 1.898685 0
+ L3 26624 0.000000 7.723465 -0.547079 0 4.376630 -1.029795 0
+ L3 26624 0.000000 4.698441 -2.381402 0 6.275315 -4.634079 0
+ L3 26624 0.000000 5.020252 -5.277701 0 2.477945 -3.411197 0
+ L3 26624 0.000000 1.995228 -4.473173 0 1.351606 -6.436220 0
+ L3 26624 0.000000 0.096543 -6.404039 0 -0.353992 -3.829551 0
+ L3 26624 0.000000 -2.606669 -5.824780 0 -1.898685 -3.282472 0
+ L3 26624 0.000000 -4.923709 0.933252 0 -2.574488 -0.225268 0
+ L3 26624 0.000000 -2.091772 3.185929 0 -1.061976 1.158520 0
+ L3 26624 0.000000 1.609055 4.762803 0 0.450535 2.574488 0
+ L3 26624 0.000000 3.089386 3.507740 0 1.737780 2.091772 0
+ L3 26624 0.000000 4.280087 0.933252 0 1.705598 0.514898 0
+ L3 26624 0.000000 2.767575 -1.705598 0 1.190701 -0.740165 0
+ L3 26624 0.000000 0.321811 -2.413583 0 0.418354 -1.190701 0
+ L3 26624 0.000000 -0.482717 -0.804528 0 -1.480331 -2.156134 0
+ L3 26624 0.000000 -1.963047 0.836709 0 -0.611441 0.064362 0
+ L3 26624 0.000000 1.029795 1.641236 0 0.386173 0.353992 0
+ L3 26624 0.000000 -5.865985 2.080137 0 -7.446889 2.870588 0
+ L3 26624 0.000000 -7.322081 -1.705712 0 -5.325150 -1.081671 0
+ L3 26624 0.000000 -5.782780 -6.198807 0 -3.993862 -5.657972 0
+ F4 32768 0.000000 4 0
+ -5.408355 3.203410 0
+ -4.368287 1.996931 0
+ -2.537767 1.289685 0
+ -3.702643 2.787383 0
+ F4 32768 0.000000 4 0
+ -4.909122 -1.705712 0
+ -2.662575 -1.913726 0
+ -1.664109 -0.998466 0
+ -3.494629 -1.040068 0
+ F4 32768 0.000000 4 0
+ -2.454561 4.035465 0
+ -2.828986 5.366752 0
+ -4.201876 6.032396 0
+ -3.827451 4.950725 0
+ F4 32768 0.000000 4 0
+ -8.154135 0.041603 0
+ -6.365218 0.457630 0
+ -4.409890 -0.166411 0
+ -6.406821 -0.499233 0
+ F4 32768 0.000000 4 0
+ -6.739643 5.283547 0
+ -5.741177 4.285081 0
+ -4.201876 3.952260 0
+ -5.075533 4.950725 0
+ F4 32768 0.000000 4 0
+ -5.699574 -5.491561 0
+ -4.368287 -4.118670 0
+ -2.828986 -3.536232 0
+ -4.326684 -5.033931 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 24"" Conifer-24b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.410039 -11.186806 0
+ -3.236709 -9.139433 0
+ -3.944693 -11.359929 0
+ -5.788311 -8.712801 0
+ -10.574974 -9.949804 0
+ -9.230406 -6.238796 0
+ -13.309394 -3.314654 0
+ -11.249803 -1.190701 0
+ -13.953016 0.000000 0
+ -10.252277 1.129437 0
+ -13.156544 4.356400 0
+ -9.822016 4.463966 0
+ -10.767087 8.431449 0
+ -7.259346 6.886756 0
+ -6.218573 11.079241 0
+ -3.583220 7.314450 0
+ -1.431911 11.401937 0
+ 1.845528 7.132487 0
+ 1.633704 -8.981715 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -7.422016 4.463966 0
+ -8.367087 8.431449 0
+ -4.859346 6.886756 0
+ -3.818573 11.079241 0
+ -1.183220 7.314450 0
+ 0.968089 11.401937 0
+ 4.245528 7.132487 0
+ 7.691283 9.654331 0
+ 6.339677 6.082228 0
+ 8.179717 3.085084 0
+ 11.295567 0.836709 0
+ 9.042890 -1.255063 0
+ 11.166843 -4.280087 0
+ 7.637146 -4.463966 0
+ 6.951118 -6.017866 0
+ 6.854575 -9.493425 0
+ 4.033704 -8.981715 0
+ 1.989961 -11.186806 0
+ -0.836709 -9.139433 0
+ -1.544693 -11.359929 0
+ -3.388311 -8.712801 0
+ -8.174974 -9.949804 0
+ -6.830406 -6.238796 0
+ -10.909394 -3.314654 0
+ -8.849803 -1.190701 0
+ -11.553016 0.000000 0
+ -7.852277 1.129437 0
+ -10.756544 4.356400 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 1.609055 7.530378 0
+ 4.872138 11.257949 0
+ 6.017866 8.463630 0
+ 5.052433 4.698441 0
+ 8.892834 4.872138 0
+ 11.447158 2.790836 0
+ 6.951118 -0.225268 0
+ 11.068740 -4.730231 0
+ 7.994090 -5.439765 0
+ 5.696055 -4.923709 0
+ 5.567331 -7.884370 0
+ 5.061347 -10.737623 0
+ 1.512512 -6.951118 0
+ -1.255063 -7.337291 0
+ -1.898685 -8.817622 0
+ -4.304510 -10.643019 0
+ -4.280087 -5.631693 0
+ -9.886182 -6.953439 0
+ -8.750927 -3.027348 0
+ -5.245520 -0.836709 0
+ -9.223950 -0.756837 0
+ -11.116042 1.892092 0
+ -3.604283 2.477945 0
+ -9.460461 7.331857 0
+ -2.767575 6.500583 0
+ -2.916500 11.666000 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -6.661488 -3.926095 0 -8.785441 -3.829551 0
+ L3 26624 0.000000 -9.235976 -5.631693 0 -7.787827 -5.277701 0
+ L3 26624 0.000000 -2.960661 -9.493425 0 -2.735394 -6.822394 0
+ L3 26624 0.000000 -2.735394 -6.822394 0 -4.344449 -8.721079 0
+ L3 26624 0.000000 3.829551 -9.589969 0 4.087000 -7.337291 0
+ L3 26624 0.000000 4.087000 -7.337291 0 5.309882 -8.721079 0
+ L3 26624 0.000000 9.203795 -4.955890 0 6.210953 -3.572102 0
+ L3 26624 0.000000 6.210953 -3.572102 0 9.203795 -2.864118 0
+ L3 26624 0.000000 8.367087 2.027409 0 6.114409 2.059591 0
+ L3 26624 0.000000 6.114409 2.059591 0 7.980913 4.569717 0
+ L3 26624 0.000000 5.728236 7.594740 0 3.250291 5.438606 0
+ L3 26624 0.000000 3.250291 5.438606 0 3.314654 9.364701 0
+ L3 26624 0.000000 -1.158520 10.008323 0 -1.190701 6.693669 0
+ L3 26624 0.000000 -1.190701 6.693669 0 -2.799756 8.077457 0
+ L3 26624 0.000000 -1.544693 -7.079843 0 -1.930866 -5.438606 0
+ L3 26624 0.000000 2.606669 -7.498197 0 2.638850 -5.599512 0
+ L3 26624 0.000000 5.020252 -6.436220 0 3.507740 -5.181157 0
+ L3 26624 0.000000 5.824780 -4.923709 0 4.183543 -2.574488 0
+ L3 26624 0.000000 7.530378 -1.351606 0 5.502969 -1.898685 0
+ L3 26624 0.000000 7.723465 0.547079 0 4.376630 1.029795 0
+ L3 26624 0.000000 4.698441 2.381402 0 6.275315 4.634079 0
+ L3 26624 0.000000 5.020252 5.277701 0 2.477945 3.411197 0
+ L3 26624 0.000000 1.995228 4.473173 0 1.351606 6.436220 0
+ L3 26624 0.000000 0.096543 6.404039 0 -0.353992 3.829551 0
+ L3 26624 0.000000 -2.606669 5.824780 0 -1.898685 3.282472 0
+ L3 26624 0.000000 -4.923709 -0.933252 0 -2.574488 0.225268 0
+ L3 26624 0.000000 -2.091772 -3.185929 0 -1.061976 -1.158520 0
+ L3 26624 0.000000 1.609055 -4.762803 0 0.450535 -2.574488 0
+ L3 26624 0.000000 3.089386 -3.507740 0 1.737780 -2.091772 0
+ L3 26624 0.000000 4.280087 -0.933252 0 1.705598 -0.514898 0
+ L3 26624 0.000000 2.767575 1.705598 0 1.190701 0.740165 0
+ L3 26624 0.000000 0.321811 2.413583 0 0.418354 1.190701 0
+ L3 26624 0.000000 -0.482717 0.804528 0 -1.480331 2.156134 0
+ L3 26624 0.000000 -1.963047 -0.836709 0 -0.611441 -0.064362 0
+ L3 26624 0.000000 1.029795 -1.641236 0 0.386173 -0.353992 0
+ L3 26624 0.000000 -5.865985 -2.080137 0 -7.446889 -2.870588 0
+ L3 26624 0.000000 -7.322081 1.705712 0 -5.325150 1.081671 0
+ L3 26624 0.000000 -5.782780 6.198807 0 -3.993862 5.657972 0
+ F4 32768 0.000000 4 0
+ -5.408355 -3.203410 0
+ -4.368287 -1.996931 0
+ -2.537767 -1.289685 0
+ -3.702643 -2.787383 0
+ F4 32768 0.000000 4 0
+ -4.909122 1.705712 0
+ -2.662575 1.913726 0
+ -1.664109 0.998466 0
+ -3.494629 1.040068 0
+ F4 32768 0.000000 4 0
+ -2.454561 -4.035465 0
+ -2.828986 -5.366752 0
+ -4.201876 -6.032396 0
+ -3.827451 -4.950725 0
+ F4 32768 0.000000 4 0
+ -8.154135 -0.041603 0
+ -6.365218 -0.457630 0
+ -4.409890 0.166411 0
+ -6.406821 0.499233 0
+ F4 32768 0.000000 4 0
+ -6.739643 -5.283547 0
+ -5.741177 -4.285081 0
+ -4.201876 -3.952260 0
+ -5.075533 -4.950725 0
+ F4 32768 0.000000 4 0
+ -5.699574 5.491561 0
+ -4.368287 4.118670 0
+ -2.828986 3.536232 0
+ -4.326684 5.033931 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 28"" Conifer-28a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -3.776160 10.662672 0
+ -0.478379 13.051274 0
+ 1.905988 10.478667 0
+ 2.153116 -8.321235 0
+ -1.670563 -13.302260 0
+ -4.180423 -8.533525 0
+ -7.255002 -12.925781 0
+ -8.469238 -8.034549 0
+ -12.561601 -9.836690 0
+ -11.459018 -5.207960 0
+ -15.349302 -5.082467 0
+ -11.960990 -1.317677 0
+ -16.278518 0.000000 0
+ -13.124770 1.389151 0
+ -15.527626 3.867096 0
+ -10.768807 7.278595 0
+ -12.337469 11.608104 0
+ -6.753030 10.164934 0
+ -4.602142 13.253251 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -8.659018 -5.207960 0
+ -9.761601 -9.836690 0
+ -5.669238 -8.034549 0
+ -4.455002 -12.925781 0
+ -1.380423 -8.533525 0
+ 1.129437 -13.302260 0
+ 4.953116 -8.321235 0
+ 8.973164 -11.263386 0
+ 7.396290 -7.095933 0
+ 9.543004 -3.599264 0
+ 13.178161 -0.976160 0
+ 10.550038 1.464240 0
+ 13.027983 4.993434 0
+ 8.910004 5.207960 0
+ 8.109638 7.020844 0
+ 7.997004 11.075663 0
+ 4.705988 10.478667 0
+ 2.321621 13.051274 0
+ -0.976160 10.662672 0
+ -1.802142 13.253251 0
+ -3.953030 10.164934 0
+ -9.537469 11.608104 0
+ -7.968807 7.278595 0
+ -12.727626 3.867096 0
+ -10.324770 1.389151 0
+ -13.478518 0.000000 0
+ -9.160990 -1.317677 0
+ -12.549302 -5.082467 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 1.877231 -8.785441 0
+ 5.684160 -13.134274 0
+ 7.020844 -9.874235 0
+ 5.894505 -5.481514 0
+ 10.374972 -5.684160 0
+ 13.355018 -3.255975 0
+ 8.109638 0.262812 0
+ 12.913530 5.518602 0
+ 9.326438 6.346393 0
+ 6.645398 5.744327 0
+ 6.495219 9.198432 0
+ 5.904905 12.527227 0
+ 1.764597 8.109638 0
+ -1.464240 8.560173 0
+ -2.215133 10.287226 0
+ -5.021928 12.416855 0
+ -4.993434 6.570308 0
+ -11.533879 8.112345 0
+ -10.209414 3.531906 0
+ -6.119773 0.976160 0
+ -10.761275 0.882976 0
+ -12.968716 -2.207441 0
+ -4.204997 -2.890936 0
+ -11.037205 -8.553834 0
+ -3.228837 -7.584013 0
+ -3.402583 -13.610333 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -7.771736 4.580444 0 -10.249681 4.467810 0
+ L3 26624 0.000000 -10.775306 6.570308 0 -9.085798 6.157318 0
+ L3 26624 0.000000 -3.454105 11.075663 0 -3.191293 7.959459 0
+ L3 26624 0.000000 -3.191293 7.959459 0 -5.068524 10.174592 0
+ L3 26624 0.000000 4.467810 11.188297 0 4.768167 8.560173 0
+ L3 26624 0.000000 4.768167 8.560173 0 6.194862 10.174592 0
+ L3 26624 0.000000 10.737761 5.781871 0 7.246112 4.167453 0
+ L3 26624 0.000000 7.246112 4.167453 0 10.737761 3.341471 0
+ L3 26624 0.000000 9.761601 -2.365311 0 7.133478 -2.402856 0
+ L3 26624 0.000000 7.133478 -2.402856 0 9.311066 -5.331336 0
+ L3 26624 0.000000 6.682942 -8.860530 0 3.792007 -6.345041 0
+ L3 26624 0.000000 3.792007 -6.345041 0 3.867096 -10.925484 0
+ L3 26624 0.000000 -1.351606 -11.676377 0 -1.389151 -7.809281 0
+ L3 26624 0.000000 -1.389151 -7.809281 0 -3.266382 -9.423700 0
+ L3 26624 0.000000 -1.802142 8.259816 0 -2.252677 6.345041 0
+ L3 26624 0.000000 3.041114 8.747896 0 3.078659 6.532764 0
+ L3 26624 0.000000 5.856961 7.508924 0 4.092364 6.044684 0
+ L3 26624 0.000000 6.795576 5.744327 0 4.880801 3.003570 0
+ L3 26624 0.000000 8.785441 1.576874 0 6.420130 2.215133 0
+ L3 26624 0.000000 9.010709 -0.638259 0 5.106068 -1.201428 0
+ L3 26624 0.000000 5.481514 -2.778302 0 7.321201 -5.406425 0
+ L3 26624 0.000000 5.856961 -6.157318 0 2.890936 -3.979730 0
+ L3 26624 0.000000 2.327766 -5.218702 0 1.576874 -7.508924 0
+ L3 26624 0.000000 0.112634 -7.471379 0 -0.412991 -4.467810 0
+ L3 26624 0.000000 -3.041114 -6.795576 0 -2.215133 -3.829551 0
+ L3 26624 0.000000 -5.744327 1.088794 0 -3.003570 -0.262812 0
+ L3 26624 0.000000 -2.440400 3.716917 0 -1.238972 1.351606 0
+ L3 26624 0.000000 1.877231 5.556604 0 0.525625 3.003570 0
+ L3 26624 0.000000 3.604283 4.092364 0 2.027409 2.440400 0
+ L3 26624 0.000000 4.993434 1.088794 0 1.989865 0.600714 0
+ L3 26624 0.000000 3.228837 -1.989865 0 1.389151 -0.863526 0
+ L3 26624 0.000000 0.375446 -2.815846 0 0.488080 -1.389151 0
+ L3 26624 0.000000 -0.563169 -0.938615 0 -1.727052 -2.515490 0
+ L3 26624 0.000000 -2.290222 0.976160 0 -0.713348 0.075089 0
+ L3 26624 0.000000 1.201428 1.914776 0 0.450535 0.412991 0
+ L3 26624 0.000000 -6.843649 2.426826 0 -8.688037 3.349020 0
+ L3 26624 0.000000 -8.542428 -1.989997 0 -6.212675 -1.261950 0
+ L3 26624 0.000000 -6.746576 -7.231942 0 -4.659506 -6.600967 0
+ F4 32768 0.000000 4 0
+ -6.309748 3.737312 0
+ -5.096335 2.329753 0
+ -2.960728 1.504632 0
+ -4.319750 3.251947 0
+ F4 32768 0.000000 4 0
+ -5.727309 -1.989997 0
+ -3.106337 -2.232680 0
+ -1.941461 -1.164876 0
+ -4.077068 -1.213413 0
+ F4 32768 0.000000 4 0
+ -2.863655 4.708042 0
+ -3.300483 6.261211 0
+ -4.902189 7.037795 0
+ -4.465360 5.775846 0
+ F4 32768 0.000000 4 0
+ -9.513158 0.048537 0
+ -7.426088 0.533902 0
+ -5.144871 -0.194146 0
+ -7.474624 -0.582438 0
+ F4 32768 0.000000 4 0
+ -7.862916 6.164138 0
+ -6.698040 4.999262 0
+ -4.902189 4.610969 0
+ -5.921455 5.775846 0
+ F4 32768 0.000000 4 0
+ -6.649503 -6.406821 0
+ -5.096335 -4.805116 0
+ -3.300483 -4.125604 0
+ -5.047798 -5.872919 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 28"" Conifer-28b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.478379 -13.051274 0
+ -3.776160 -10.662672 0
+ -4.602142 -13.253251 0
+ -6.753030 -10.164934 0
+ -12.337469 -11.608104 0
+ -10.768807 -7.278595 0
+ -15.527626 -3.867096 0
+ -13.124770 -1.389151 0
+ -16.278518 0.000000 0
+ -11.960990 1.317677 0
+ -15.349302 5.082467 0
+ -11.459018 5.207960 0
+ -12.561601 9.836690 0
+ -8.469238 8.034549 0
+ -7.255002 12.925781 0
+ -4.180423 8.533525 0
+ -1.670563 13.302260 0
+ 2.153116 8.321235 0
+ 1.905988 -10.478667 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -8.659018 5.207960 0
+ -9.761601 9.836690 0
+ -5.669238 8.034549 0
+ -4.455002 12.925781 0
+ -1.380423 8.533525 0
+ 1.129437 13.302260 0
+ 4.953116 8.321235 0
+ 8.973164 11.263386 0
+ 7.396290 7.095933 0
+ 9.543004 3.599264 0
+ 13.178161 0.976160 0
+ 10.550038 -1.464240 0
+ 13.027983 -4.993434 0
+ 8.910004 -5.207960 0
+ 8.109638 -7.020844 0
+ 7.997004 -11.075663 0
+ 4.705988 -10.478667 0
+ 2.321621 -13.051274 0
+ -0.976160 -10.662672 0
+ -1.802142 -13.253251 0
+ -3.953030 -10.164934 0
+ -9.537469 -11.608104 0
+ -7.968807 -7.278595 0
+ -12.727626 -3.867096 0
+ -10.324770 -1.389151 0
+ -13.478518 0.000000 0
+ -9.160990 1.317677 0
+ -12.549302 5.082467 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 1.877231 8.785441 0
+ 5.684160 13.134274 0
+ 7.020844 9.874235 0
+ 5.894505 5.481514 0
+ 10.374972 5.684160 0
+ 13.355018 3.255975 0
+ 8.109638 -0.262812 0
+ 12.913530 -5.518602 0
+ 9.326438 -6.346393 0
+ 6.645398 -5.744327 0
+ 6.495219 -9.198432 0
+ 5.904905 -12.527227 0
+ 1.764597 -8.109638 0
+ -1.464240 -8.560173 0
+ -2.215133 -10.287226 0
+ -5.021928 -12.416855 0
+ -4.993434 -6.570308 0
+ -11.533879 -8.112345 0
+ -10.209414 -3.531906 0
+ -6.119773 -0.976160 0
+ -10.761275 -0.882976 0
+ -12.968716 2.207441 0
+ -4.204997 2.890936 0
+ -11.037205 8.553834 0
+ -3.228837 7.584013 0
+ -3.402583 13.610333 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -7.771736 -4.580444 0 -10.249681 -4.467810 0
+ L3 26624 0.000000 -10.775306 -6.570308 0 -9.085798 -6.157318 0
+ L3 26624 0.000000 -3.454105 -11.075663 0 -3.191293 -7.959459 0
+ L3 26624 0.000000 -3.191293 -7.959459 0 -5.068524 -10.174592 0
+ L3 26624 0.000000 4.467810 -11.188297 0 4.768167 -8.560173 0
+ L3 26624 0.000000 4.768167 -8.560173 0 6.194862 -10.174592 0
+ L3 26624 0.000000 10.737761 -5.781871 0 7.246112 -4.167453 0
+ L3 26624 0.000000 7.246112 -4.167453 0 10.737761 -3.341471 0
+ L3 26624 0.000000 9.761601 2.365311 0 7.133478 2.402856 0
+ L3 26624 0.000000 7.133478 2.402856 0 9.311066 5.331336 0
+ L3 26624 0.000000 6.682942 8.860530 0 3.792007 6.345041 0
+ L3 26624 0.000000 3.792007 6.345041 0 3.867096 10.925484 0
+ L3 26624 0.000000 -1.351606 11.676377 0 -1.389151 7.809281 0
+ L3 26624 0.000000 -1.389151 7.809281 0 -3.266382 9.423700 0
+ L3 26624 0.000000 -1.802142 -8.259816 0 -2.252677 -6.345041 0
+ L3 26624 0.000000 3.041114 -8.747896 0 3.078659 -6.532764 0
+ L3 26624 0.000000 5.856961 -7.508924 0 4.092364 -6.044684 0
+ L3 26624 0.000000 6.795576 -5.744327 0 4.880801 -3.003570 0
+ L3 26624 0.000000 8.785441 -1.576874 0 6.420130 -2.215133 0
+ L3 26624 0.000000 9.010709 0.638259 0 5.106068 1.201428 0
+ L3 26624 0.000000 5.481514 2.778302 0 7.321201 5.406425 0
+ L3 26624 0.000000 5.856961 6.157318 0 2.890936 3.979730 0
+ L3 26624 0.000000 2.327766 5.218702 0 1.576874 7.508924 0
+ L3 26624 0.000000 0.112634 7.471379 0 -0.412991 4.467810 0
+ L3 26624 0.000000 -3.041114 6.795576 0 -2.215133 3.829551 0
+ L3 26624 0.000000 -5.744327 -1.088794 0 -3.003570 0.262812 0
+ L3 26624 0.000000 -2.440400 -3.716917 0 -1.238972 -1.351606 0
+ L3 26624 0.000000 1.877231 -5.556604 0 0.525625 -3.003570 0
+ L3 26624 0.000000 3.604283 -4.092364 0 2.027409 -2.440400 0
+ L3 26624 0.000000 4.993434 -1.088794 0 1.989865 -0.600714 0
+ L3 26624 0.000000 3.228837 1.989865 0 1.389151 0.863526 0
+ L3 26624 0.000000 0.375446 2.815846 0 0.488080 1.389151 0
+ L3 26624 0.000000 -0.563169 0.938615 0 -1.727052 2.515490 0
+ L3 26624 0.000000 -2.290222 -0.976160 0 -0.713348 -0.075089 0
+ L3 26624 0.000000 1.201428 -1.914776 0 0.450535 -0.412991 0
+ L3 26624 0.000000 -6.843649 -2.426826 0 -8.688037 -3.349020 0
+ L3 26624 0.000000 -8.542428 1.989997 0 -6.212675 1.261950 0
+ L3 26624 0.000000 -6.746576 7.231942 0 -4.659506 6.600967 0
+ F4 32768 0.000000 4 0
+ -6.309748 -3.737312 0
+ -5.096335 -2.329753 0
+ -2.960728 -1.504632 0
+ -4.319750 -3.251947 0
+ F4 32768 0.000000 4 0
+ -5.727309 1.989997 0
+ -3.106337 2.232680 0
+ -1.941461 1.164876 0
+ -4.077068 1.213413 0
+ F4 32768 0.000000 4 0
+ -2.863655 -4.708042 0
+ -3.300483 -6.261211 0
+ -4.902189 -7.037795 0
+ -4.465360 -5.775846 0
+ F4 32768 0.000000 4 0
+ -9.513158 -0.048537 0
+ -7.426088 -0.533902 0
+ -5.144871 0.194146 0
+ -7.474624 0.582438 0
+ F4 32768 0.000000 4 0
+ -7.862916 -6.164138 0
+ -6.698040 -4.999262 0
+ -4.902189 -4.610969 0
+ -5.921455 -5.775846 0
+ F4 32768 0.000000 4 0
+ -6.649503 6.406821 0
+ -5.096335 4.805116 0
+ -3.300483 4.125604 0
+ -5.047798 5.872919 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 32"" Conifer-32a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -4.315612 12.185911 0
+ -0.546719 14.915742 0
+ 2.178272 11.975619 0
+ 2.460704 -9.509983 0
+ -1.909215 -15.202583 0
+ -4.777627 -9.752600 0
+ -8.291431 -14.772321 0
+ -9.679129 -9.182341 0
+ -14.356116 -11.241932 0
+ -13.096021 -5.951955 0
+ -17.542059 -5.808534 0
+ -13.669703 -1.505916 0
+ -18.604021 0.000000 0
+ -14.999738 1.587601 0
+ -17.745858 4.419538 0
+ -12.307208 8.318394 0
+ -14.099965 13.266405 0
+ -7.717749 11.617068 0
+ -5.259591 15.146572 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -9.896021 -5.951955 0
+ -11.156116 -11.241932 0
+ -6.479129 -9.182341 0
+ -5.091431 -14.772321 0
+ -1.577627 -9.752600 0
+ 1.290785 -15.202583 0
+ 5.660704 -9.509983 0
+ 10.255045 -12.872441 0
+ 8.452903 -8.109638 0
+ 10.906290 -4.113445 0
+ 15.060756 -1.115612 0
+ 12.057186 1.673417 0
+ 14.889123 5.706782 0
+ 10.182862 5.951955 0
+ 9.268158 8.023822 0
+ 9.139433 12.657900 0
+ 5.378272 11.975619 0
+ 2.653281 14.915742 0
+ -1.115612 12.185911 0
+ -2.059591 15.146572 0
+ -4.517749 11.617068 0
+ -10.899965 13.266405 0
+ -9.107208 8.318394 0
+ -14.545858 4.419538 0
+ -11.799738 1.587601 0
+ -15.404021 0.000000 0
+ -10.469703 -1.505916 0
+ -14.342059 -5.808534 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 2.145407 -10.040504 0
+ 6.496183 -15.010598 0
+ 8.023822 -11.284840 0
+ 6.736577 -6.264588 0
+ 11.857111 -6.496183 0
+ 15.262877 -3.721115 0
+ 9.268158 0.300357 0
+ 14.758319 6.306974 0
+ 10.658786 7.253020 0
+ 7.594740 6.564945 0
+ 7.423108 10.512493 0
+ 6.748462 14.316831 0
+ 2.016682 9.268158 0
+ -1.673417 9.783055 0
+ -2.531580 11.756829 0
+ -5.739346 14.190692 0
+ -5.706782 7.508924 0
+ -13.181576 9.271252 0
+ -11.667902 4.036463 0
+ -6.994026 1.115612 0
+ -12.298600 1.009116 0
+ -14.821389 -2.522790 0
+ -4.805711 -3.303927 0
+ -12.613948 -9.775810 0
+ -3.690100 -8.667444 0
+ -3.888667 -15.554667 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -8.881984 5.234793 0 -11.713921 5.106068 0
+ L3 26624 0.000000 -12.314635 7.508924 0 -10.383769 7.036934 0
+ L3 26624 0.000000 -3.947549 12.657900 0 -3.647192 9.096525 0
+ L3 26624 0.000000 -3.647192 9.096525 0 -5.792598 11.628105 0
+ L3 26624 0.000000 5.106068 12.786625 0 5.449333 9.783055 0
+ L3 26624 0.000000 5.449333 9.783055 0 7.079843 11.628105 0
+ L3 26624 0.000000 12.271727 6.607853 0 8.281270 4.762803 0
+ L3 26624 0.000000 8.281270 4.762803 0 12.271727 3.818824 0
+ L3 26624 0.000000 11.156116 -2.703213 0 8.152546 -2.746121 0
+ L3 26624 0.000000 8.152546 -2.746121 0 10.641218 -6.092955 0
+ L3 26624 0.000000 7.637648 -10.126320 0 4.333722 -7.251475 0
+ L3 26624 0.000000 4.333722 -7.251475 0 4.419538 -12.486268 0
+ L3 26624 0.000000 -1.544693 -13.344430 0 -1.587601 -8.924892 0
+ L3 26624 0.000000 -1.587601 -8.924892 0 -3.733008 -10.769942 0
+ L3 26624 0.000000 -2.059591 9.439790 0 -2.574488 7.251475 0
+ L3 26624 0.000000 3.475559 9.997596 0 3.518467 7.466016 0
+ L3 26624 0.000000 6.693669 8.581627 0 4.676987 6.908210 0
+ L3 26624 0.000000 7.766373 6.564945 0 5.578058 3.432651 0
+ L3 26624 0.000000 10.040504 1.802142 0 7.337291 2.531580 0
+ L3 26624 0.000000 10.297953 -0.729438 0 5.835507 -1.373060 0
+ L3 26624 0.000000 6.264588 -3.175202 0 8.367087 -6.178772 0
+ L3 26624 0.000000 6.693669 -7.036934 0 3.303927 -4.548262 0
+ L3 26624 0.000000 2.660304 -5.964231 0 1.802142 -8.581627 0
+ L3 26624 0.000000 0.128724 -8.538719 0 -0.471990 -5.106068 0
+ L3 26624 0.000000 -3.475559 -7.766373 0 -2.531580 -4.376630 0
+ L3 26624 0.000000 -6.564945 1.244336 0 -3.432651 -0.300357 0
+ L3 26624 0.000000 -2.789029 4.247906 0 -1.415969 1.544693 0
+ L3 26624 0.000000 2.145407 6.350404 0 0.600714 3.432651 0
+ L3 26624 0.000000 4.119181 4.676987 0 2.317039 2.789029 0
+ L3 26624 0.000000 5.706782 1.244336 0 2.274131 0.686530 0
+ L3 26624 0.000000 3.690100 -2.274131 0 1.587601 -0.986887 0
+ L3 26624 0.000000 0.429081 -3.218110 0 0.557806 -1.587601 0
+ L3 26624 0.000000 -0.643622 -1.072703 0 -1.973774 -2.874845 0
+ L3 26624 0.000000 -2.617396 1.115612 0 -0.815255 0.085816 0
+ L3 26624 0.000000 1.373060 2.188315 0 0.514898 0.471990 0
+ L3 26624 0.000000 -7.821314 2.773515 0 -9.929185 3.827451 0
+ L3 26624 0.000000 -9.762774 -2.274283 0 -7.100200 -1.442228 0
+ L3 26624 0.000000 -7.710373 -8.265076 0 -5.325150 -7.543962 0
+ F4 32768 0.000000 4 0
+ -7.211140 4.271214 0
+ -5.824382 2.662575 0
+ -3.383689 1.719580 0
+ -4.936857 3.716511 0
+ F4 32768 0.000000 4 0
+ -6.545496 -2.274283 0
+ -3.550100 -2.551634 0
+ -2.218812 -1.331287 0
+ -4.659506 -1.386758 0
+ F4 32768 0.000000 4 0
+ -3.272748 5.380620 0
+ -3.771981 7.155670 0
+ -5.602501 8.043195 0
+ -5.103268 6.600967 0
+ F4 32768 0.000000 4 0
+ -10.872181 0.055470 0
+ -8.486957 0.610173 0
+ -5.879853 -0.221881 0
+ -8.542428 -0.665644 0
+ F4 32768 0.000000 4 0
+ -8.986190 7.044729 0
+ -7.654903 5.713442 0
+ -5.602501 5.269679 0
+ -6.767378 6.600967 0
+ F4 32768 0.000000 4 0
+ -7.599432 -7.322081 0
+ -5.824382 -5.491561 0
+ -3.771981 -4.714976 0
+ -5.768912 -6.711907 0
+ END$SEGS
+
+STRUCTURE * "Lg Conifer 32"" Conifer-32b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.546719 -14.915742 0
+ -4.315612 -12.185911 0
+ -5.259591 -15.146572 0
+ -7.717749 -11.617068 0
+ -14.099965 -13.266405 0
+ -12.307208 -8.318394 0
+ -17.745858 -4.419538 0
+ -14.999738 -1.587601 0
+ -18.604021 0.000000 0
+ -13.669703 1.505916 0
+ -17.542059 5.808534 0
+ -13.096021 5.951955 0
+ -14.356116 11.241932 0
+ -9.679129 9.182341 0
+ -8.291431 14.772321 0
+ -4.777627 9.752600 0
+ -1.909215 15.202583 0
+ 2.460704 9.509983 0
+ 2.178272 -11.975619 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -9.896021 5.951955 0
+ -11.156116 11.241932 0
+ -6.479129 9.182341 0
+ -5.091431 14.772321 0
+ -1.577627 9.752600 0
+ 1.290785 15.202583 0
+ 5.660704 9.509983 0
+ 10.255045 12.872441 0
+ 8.452903 8.109638 0
+ 10.906290 4.113445 0
+ 15.060756 1.115612 0
+ 12.057186 -1.673417 0
+ 14.889123 -5.706782 0
+ 10.182862 -5.951955 0
+ 9.268158 -8.023822 0
+ 9.139433 -12.657900 0
+ 5.378272 -11.975619 0
+ 2.653281 -14.915742 0
+ -1.115612 -12.185911 0
+ -2.059591 -15.146572 0
+ -4.517749 -11.617068 0
+ -10.899965 -13.266405 0
+ -9.107208 -8.318394 0
+ -14.545858 -4.419538 0
+ -11.799738 -1.587601 0
+ -15.404021 0.000000 0
+ -10.469703 1.505916 0
+ -14.342059 5.808534 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 2.145407 10.040504 0
+ 6.496183 15.010598 0
+ 8.023822 11.284840 0
+ 6.736577 6.264588 0
+ 11.857111 6.496183 0
+ 15.262877 3.721115 0
+ 9.268158 -0.300357 0
+ 14.758319 -6.306974 0
+ 10.658786 -7.253020 0
+ 7.594740 -6.564945 0
+ 7.423108 -10.512493 0
+ 6.748462 -14.316831 0
+ 2.016682 -9.268158 0
+ -1.673417 -9.783055 0
+ -2.531580 -11.756829 0
+ -5.739346 -14.190692 0
+ -5.706782 -7.508924 0
+ -13.181576 -9.271252 0
+ -11.667902 -4.036463 0
+ -6.994026 -1.115612 0
+ -12.298600 -1.009116 0
+ -14.821389 2.522790 0
+ -4.805711 3.303927 0
+ -12.613948 9.775810 0
+ -3.690100 8.667444 0
+ -3.888667 15.554667 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -8.881984 -5.234793 0 -11.713921 -5.106068 0
+ L3 26624 0.000000 -12.314635 -7.508924 0 -10.383769 -7.036934 0
+ L3 26624 0.000000 -3.947549 -12.657900 0 -3.647192 -9.096525 0
+ L3 26624 0.000000 -3.647192 -9.096525 0 -5.792598 -11.628105 0
+ L3 26624 0.000000 5.106068 -12.786625 0 5.449333 -9.783055 0
+ L3 26624 0.000000 5.449333 -9.783055 0 7.079843 -11.628105 0
+ L3 26624 0.000000 12.271727 -6.607853 0 8.281270 -4.762803 0
+ L3 26624 0.000000 8.281270 -4.762803 0 12.271727 -3.818824 0
+ L3 26624 0.000000 11.156116 2.703213 0 8.152546 2.746121 0
+ L3 26624 0.000000 8.152546 2.746121 0 10.641218 6.092955 0
+ L3 26624 0.000000 7.637648 10.126320 0 4.333722 7.251475 0
+ L3 26624 0.000000 4.333722 7.251475 0 4.419538 12.486268 0
+ L3 26624 0.000000 -1.544693 13.344430 0 -1.587601 8.924892 0
+ L3 26624 0.000000 -1.587601 8.924892 0 -3.733008 10.769942 0
+ L3 26624 0.000000 -2.059591 -9.439790 0 -2.574488 -7.251475 0
+ L3 26624 0.000000 3.475559 -9.997596 0 3.518467 -7.466016 0
+ L3 26624 0.000000 6.693669 -8.581627 0 4.676987 -6.908210 0
+ L3 26624 0.000000 7.766373 -6.564945 0 5.578058 -3.432651 0
+ L3 26624 0.000000 10.040504 -1.802142 0 7.337291 -2.531580 0
+ L3 26624 0.000000 10.297953 0.729438 0 5.835507 1.373060 0
+ L3 26624 0.000000 6.264588 3.175202 0 8.367087 6.178772 0
+ L3 26624 0.000000 6.693669 7.036934 0 3.303927 4.548262 0
+ L3 26624 0.000000 2.660304 5.964231 0 1.802142 8.581627 0
+ L3 26624 0.000000 0.128724 8.538719 0 -0.471990 5.106068 0
+ L3 26624 0.000000 -3.475559 7.766373 0 -2.531580 4.376630 0
+ L3 26624 0.000000 -6.564945 -1.244336 0 -3.432651 0.300357 0
+ L3 26624 0.000000 -2.789029 -4.247906 0 -1.415969 -1.544693 0
+ L3 26624 0.000000 2.145407 -6.350404 0 0.600714 -3.432651 0
+ L3 26624 0.000000 4.119181 -4.676987 0 2.317039 -2.789029 0
+ L3 26624 0.000000 5.706782 -1.244336 0 2.274131 -0.686530 0
+ L3 26624 0.000000 3.690100 2.274131 0 1.587601 0.986887 0
+ L3 26624 0.000000 0.429081 3.218110 0 0.557806 1.587601 0
+ L3 26624 0.000000 -0.643622 1.072703 0 -1.973774 2.874845 0
+ L3 26624 0.000000 -2.617396 -1.115612 0 -0.815255 -0.085816 0
+ L3 26624 0.000000 1.373060 -2.188315 0 0.514898 -0.471990 0
+ L3 26624 0.000000 -7.821314 -2.773515 0 -9.929185 -3.827451 0
+ L3 26624 0.000000 -9.762774 2.274283 0 -7.100200 1.442228 0
+ L3 26624 0.000000 -7.710373 8.265076 0 -5.325150 7.543962 0
+ F4 32768 0.000000 4 0
+ -7.211140 -4.271214 0
+ -5.824382 -2.662575 0
+ -3.383689 -1.719580 0
+ -4.936857 -3.716511 0
+ F4 32768 0.000000 4 0
+ -6.545496 2.274283 0
+ -3.550100 2.551634 0
+ -2.218812 1.331287 0
+ -4.659506 1.386758 0
+ F4 32768 0.000000 4 0
+ -3.272748 -5.380620 0
+ -3.771981 -7.155670 0
+ -5.602501 -8.043195 0
+ -5.103268 -6.600967 0
+ F4 32768 0.000000 4 0
+ -10.872181 -0.055470 0
+ -8.486957 -0.610173 0
+ -5.879853 0.221881 0
+ -8.542428 0.665644 0
+ F4 32768 0.000000 4 0
+ -8.986190 -7.044729 0
+ -7.654903 -5.713442 0
+ -5.602501 -5.269679 0
+ -6.767378 -6.600967 0
+ F4 32768 0.000000 4 0
+ -7.599432 7.322081 0
+ -5.824382 5.491561 0
+ -3.771981 4.714976 0
+ -5.768912 6.711907 0
+ END$SEGS
+
diff --git a/app/lib/params/TreeLgDecid.xtp b/app/lib/params/TreeLgDecid.xtp
new file mode 100644
index 0000000..4019a10
--- /dev/null
+++ b/app/lib/params/TreeLgDecid.xtp
@@ -0,0 +1,3483 @@
+CONTENTS Large Deciduous Trees
+
+# DxfToXtp version 0.6 by Russell Shilling 2021
+STRUCTURE * "Lg Decid 8"" Decid-8a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -2.419782 -2.295585 0
+ -2.076517 -3.593556 0
+ -1.304171 -3.926095 0
+ -0.435281 -2.853391 0
+ 0.562333 -3.786643 0
+ 1.763761 -3.218110 0
+ 1.484858 3.164475 0
+ 0.347793 3.765189 0
+ -0.124197 3.035751 0
+ -1.078903 3.046478 0
+ -1.314898 3.786643 0
+ -2.784501 3.314654 0
+ -2.602142 2.445764 0
+ -3.814297 2.359948 0
+ -4.436465 1.104885 0
+ -3.749934 0.396900 0
+ -4.651005 0.000000 0
+ -4.415011 -0.901071 0
+ -3.460304 -1.244336 0
+ -4.146835 -1.802142 0
+ -3.589029 -2.810483 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -3.346835 -1.802142 0
+ -2.789029 -2.810483 0
+ -1.619782 -2.295585 0
+ -1.276517 -3.593556 0
+ -0.504171 -3.926095 0
+ 0.364719 -2.853391 0
+ 1.362333 -3.786643 0
+ 2.563761 -3.218110 0
+ 2.113226 -2.027409 0
+ 3.550648 -1.630509 0
+ 3.765189 -0.278903 0
+ 3.014297 0.418354 0
+ 3.722281 1.426696 0
+ 3.185929 2.327766 0
+ 2.317039 2.005955 0
+ 2.284858 3.164475 0
+ 1.147793 3.765189 0
+ 0.675803 3.035751 0
+ -0.278903 3.046478 0
+ -0.514898 3.786643 0
+ -1.984501 3.314654 0
+ -1.802142 2.445764 0
+ -3.014297 2.359948 0
+ -3.636465 1.104885 0
+ -2.949934 0.396900 0
+ -3.851005 0.000000 0
+ -3.615011 -0.901071 0
+ -2.660304 -1.244336 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.536352 -2.510126 0
+ 1.287244 -3.261018 0
+ 2.005955 -2.821210 0
+ 1.684144 -1.566147 0
+ 3.121567 -1.169247 0
+ 3.218110 -0.547079 0
+ 2.317039 0.075089 0
+ 3.100113 1.255063 0
+ 2.756848 1.662690 0
+ 1.898685 1.641236 0
+ 1.855777 2.628123 0
+ 1.115612 3.035751 0
+ 0.504171 2.317039 0
+ -0.418354 2.445764 0
+ -0.632895 2.939207 0
+ -1.415969 2.735394 0
+ -1.426696 1.877231 0
+ -2.081045 1.855777 0
+ -2.510126 0.997614 0
+ -1.748507 0.278903 0
+ -2.467218 -0.096543 0
+ -2.349220 -0.611441 0
+ -1.201428 -0.825982 0
+ -1.641236 -1.609055 0
+ -0.922525 -2.166861 0
+ -0.632895 -2.799756 0
+ L3 65280 0.000000 -0.680517 -3.305367 0 -0.291650 -3.013717 0
+ L3 65280 0.000000 -0.972167 -3.110933 0 -1.069383 -2.624850 0
+ L3 65280 0.000000 -2.235983 -2.041550 0 -1.555467 -2.041550 0
+ L3 65280 0.000000 -2.722067 -1.847117 0 -2.430417 -1.555467 0
+ L3 65280 0.000000 -2.041550 -1.652683 0 -1.652683 -1.361033 0
+ L3 65280 0.000000 -1.847117 -1.069383 0 -2.430417 -0.972167 0
+ L3 65280 0.000000 -3.305367 -0.777733 0 -2.624850 -0.777733 0
+ L3 65280 0.000000 -3.305367 -0.194433 0 -2.722067 -0.486083 0
+ L3 65280 0.000000 -2.235983 0.291650 0 -2.722067 0.194433 0
+ L3 65280 0.000000 -2.624850 0.680517 0 -3.305367 1.069383 0
+ L3 65280 0.000000 -3.013717 1.458250 0 -2.527633 1.555467 0
+ L3 65280 0.000000 -2.333200 2.235983 0 -2.138767 1.944333 0
+ L3 65280 0.000000 -1.458250 2.916500 0 -1.652683 3.208150 0
+ L3 65280 0.000000 -0.874950 3.110933 0 -0.680517 3.402583 0
+ L3 65280 0.000000 -0.097217 2.624850 0 0.000000 2.916500 0
+ L3 65280 0.000000 0.486083 2.624850 0 0.194433 2.819283 0
+ L3 65280 0.000000 1.263817 3.110933 0 1.166600 3.499800 0
+ L3 65280 0.000000 1.847117 2.916500 0 2.138767 3.013717 0
+ L3 65280 0.000000 3.402583 1.361033 0 3.110933 1.458250 0
+ L3 65280 0.000000 2.916500 1.847117 0 3.110933 2.138767 0
+ L3 65280 0.000000 3.402583 -0.291650 0 3.013717 -0.194433 0
+ L3 65280 0.000000 -2.722067 -2.430417 0 -2.527633 -2.041550 0
+ L3 65280 0.000000 -3.110933 -1.847117 0 -2.819283 -2.041550 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 1.497698 -1.539301 0
+ 0.887525 -1.359023 0
+ 0.818187 -0.901393 0
+ 1.220347 -1.067803 0
+ F4 26624 0.000000 5 0
+ -0.582438 -1.844388 0
+ -0.526968 -1.525433 0
+ 0.069338 -1.261950 0
+ 0.235749 -1.650242 0
+ -0.069338 -1.941461 0
+ F4 26624 0.000000 4 0
+ 1.899858 0.069338 0
+ 1.178744 0.235749 0
+ 1.026201 -0.124808 0
+ 2.010799 -0.180279 0
+ F4 26624 0.000000 4 0
+ 0.457630 1.844388 0
+ 0.097073 1.567036 0
+ 0.194146 0.984598 0
+ 0.416027 1.067803 0
+ F4 26624 0.000000 3 0
+ 1.691844 1.386758 0
+ 1.497698 0.956863 0
+ 1.192612 1.220347 0
+ F4 26624 0.000000 5 0
+ -1.456096 0.166411 0
+ -1.261950 0.027735 0
+ -0.596306 -0.138676 0
+ -0.235749 0.235749 0
+ -1.067803 0.360557 0
+ F4 26624 0.000000 4 0
+ -1.275817 1.608639 0
+ -0.887525 1.511566 0
+ -0.610173 0.859790 0
+ -1.040068 0.970730 0
+ L3 26624 0.000000 0.194433 -2.138767 0 0.388867 -1.847117 0
+ L3 26624 0.000000 1.361033 -1.847117 0 0.874950 -1.652683 0
+ L3 26624 0.000000 1.555467 -2.333200 0 1.263817 -2.138767 0
+ L3 26624 0.000000 0.874950 -2.527633 0 0.680517 -2.138767 0
+ L3 26624 0.000000 -0.388867 -2.430417 0 -0.194433 -2.138767 0
+ L3 26624 0.000000 -1.166600 -1.555467 0 -0.777733 -1.555467 0
+ L3 26624 0.000000 -0.874950 -1.069383 0 -0.388867 -1.263817 0
+ L3 26624 0.000000 -1.166600 -0.583300 0 -0.777733 -0.291650 0
+ L3 26624 0.000000 -1.749900 -0.486083 0 -1.361033 -0.291650 0
+ L3 26624 0.000000 -2.235983 -0.194433 0 -1.749900 0.000000 0
+ L3 26624 0.000000 -1.555467 0.486083 0 -1.944333 0.874950 0
+ L3 26624 0.000000 -1.749900 1.361033 0 -1.458250 0.972167 0
+ L3 26624 0.000000 -1.069383 2.138767 0 -0.777733 1.749900 0
+ L3 26624 0.000000 -0.388867 1.749900 0 -0.486083 2.333200 0
+ L3 26624 0.000000 -0.291650 1.069383 0 -0.194433 1.458250 0
+ L3 26624 0.000000 0.680517 1.749900 0 0.874950 2.333200 0
+ L3 26624 0.000000 1.166600 1.652683 0 1.749900 1.944333 0
+ L3 26624 0.000000 2.624850 0.680517 0 2.138767 0.777733 0
+ L3 26624 0.000000 2.624850 1.555467 0 2.138767 1.361033 0
+ L3 26624 0.000000 2.819283 1.166600 0 2.333200 1.069383 0
+ L3 26624 0.000000 1.166600 2.819283 0 1.069383 2.430417 0
+ L3 26624 0.000000 1.749900 2.527633 0 1.458250 2.235983 0
+ L3 26624 0.000000 1.361033 2.624850 0 1.166600 2.041550 0
+ L3 26624 0.000000 2.916500 -0.486083 0 2.333200 -0.583300 0
+ L3 26624 0.000000 2.430417 -1.263817 0 1.944333 -0.972167 0
+ L3 26624 0.000000 2.916500 -0.972167 0 2.430417 -0.874950 0
+ L3 26624 0.000000 -0.972167 2.722067 0 -0.874950 2.333200 0
+ L3 26624 0.000000 -2.138767 1.361033 0 -1.847117 1.166600 0
+ L3 26624 0.000000 1.361033 -3.110933 0 1.166600 -2.624850 0
+ L3 26624 0.000000 1.749900 -2.819283 0 1.458250 -2.527633 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 8"" Decid-8b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -2.419782 2.295585 0
+ -2.076517 3.593556 0
+ -1.304171 3.926095 0
+ -0.435281 2.853391 0
+ 0.562333 3.786643 0
+ 1.763761 3.218110 0
+ 1.484858 -3.164475 0
+ 0.347793 -3.765189 0
+ -0.124197 -3.035751 0
+ -1.078903 -3.046478 0
+ -1.314898 -3.786643 0
+ -2.784501 -3.314654 0
+ -2.602142 -2.445764 0
+ -3.814297 -2.359948 0
+ -4.436465 -1.104885 0
+ -3.749934 -0.396900 0
+ -4.651005 0.000000 0
+ -4.415011 0.901071 0
+ -3.460304 1.244336 0
+ -4.146835 1.802142 0
+ -3.589029 2.810483 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -3.346835 1.802142 0
+ -2.789029 2.810483 0
+ -1.619782 2.295585 0
+ -1.276517 3.593556 0
+ -0.504171 3.926095 0
+ 0.364719 2.853391 0
+ 1.362333 3.786643 0
+ 2.563761 3.218110 0
+ 2.113226 2.027409 0
+ 3.550648 1.630509 0
+ 3.765189 0.278903 0
+ 3.014297 -0.418354 0
+ 3.722281 -1.426696 0
+ 3.185929 -2.327766 0
+ 2.317039 -2.005955 0
+ 2.284858 -3.164475 0
+ 1.147793 -3.765189 0
+ 0.675803 -3.035751 0
+ -0.278903 -3.046478 0
+ -0.514898 -3.786643 0
+ -1.984501 -3.314654 0
+ -1.802142 -2.445764 0
+ -3.014297 -2.359948 0
+ -3.636465 -1.104885 0
+ -2.949934 -0.396900 0
+ -3.851005 0.000000 0
+ -3.615011 0.901071 0
+ -2.660304 1.244336 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.536352 2.510126 0
+ 1.287244 3.261018 0
+ 2.005955 2.821210 0
+ 1.684144 1.566147 0
+ 3.121567 1.169247 0
+ 3.218110 0.547079 0
+ 2.317039 -0.075089 0
+ 3.100113 -1.255063 0
+ 2.756848 -1.662690 0
+ 1.898685 -1.641236 0
+ 1.855777 -2.628123 0
+ 1.115612 -3.035751 0
+ 0.504171 -2.317039 0
+ -0.418354 -2.445764 0
+ -0.632895 -2.939207 0
+ -1.415969 -2.735394 0
+ -1.426696 -1.877231 0
+ -2.081045 -1.855777 0
+ -2.510126 -0.997614 0
+ -1.748507 -0.278903 0
+ -2.467218 0.096543 0
+ -2.349220 0.611441 0
+ -1.201428 0.825982 0
+ -1.641236 1.609055 0
+ -0.922525 2.166861 0
+ -0.632895 2.799756 0
+ L3 65280 0.000000 -0.680517 3.305367 0 -0.291650 3.013717 0
+ L3 65280 0.000000 -0.972167 3.110933 0 -1.069383 2.624850 0
+ L3 65280 0.000000 -2.235983 2.041550 0 -1.555467 2.041550 0
+ L3 65280 0.000000 -2.722067 1.847117 0 -2.430417 1.555467 0
+ L3 65280 0.000000 -2.041550 1.652683 0 -1.652683 1.361033 0
+ L3 65280 0.000000 -1.847117 1.069383 0 -2.430417 0.972167 0
+ L3 65280 0.000000 -3.305367 0.777733 0 -2.624850 0.777733 0
+ L3 65280 0.000000 -3.305367 0.194433 0 -2.722067 0.486083 0
+ L3 65280 0.000000 -2.235983 -0.291650 0 -2.722067 -0.194433 0
+ L3 65280 0.000000 -2.624850 -0.680517 0 -3.305367 -1.069383 0
+ L3 65280 0.000000 -3.013717 -1.458250 0 -2.527633 -1.555467 0
+ L3 65280 0.000000 -2.333200 -2.235983 0 -2.138767 -1.944333 0
+ L3 65280 0.000000 -1.458250 -2.916500 0 -1.652683 -3.208150 0
+ L3 65280 0.000000 -0.874950 -3.110933 0 -0.680517 -3.402583 0
+ L3 65280 0.000000 -0.097217 -2.624850 0 0.000000 -2.916500 0
+ L3 65280 0.000000 0.486083 -2.624850 0 0.194433 -2.819283 0
+ L3 65280 0.000000 1.263817 -3.110933 0 1.166600 -3.499800 0
+ L3 65280 0.000000 1.847117 -2.916500 0 2.138767 -3.013717 0
+ L3 65280 0.000000 3.402583 -1.361033 0 3.110933 -1.458250 0
+ L3 65280 0.000000 2.916500 -1.847117 0 3.110933 -2.138767 0
+ L3 65280 0.000000 3.402583 0.291650 0 3.013717 0.194433 0
+ L3 65280 0.000000 -2.722067 2.430417 0 -2.527633 2.041550 0
+ L3 65280 0.000000 -3.110933 1.847117 0 -2.819283 2.041550 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 1.497698 1.539301 0
+ 0.887525 1.359023 0
+ 0.818187 0.901393 0
+ 1.220347 1.067803 0
+ F4 26624 0.000000 5 0
+ -0.582438 1.844388 0
+ -0.526968 1.525433 0
+ 0.069338 1.261950 0
+ 0.235749 1.650242 0
+ -0.069338 1.941461 0
+ F4 26624 0.000000 4 0
+ 1.899858 -0.069338 0
+ 1.178744 -0.235749 0
+ 1.026201 0.124808 0
+ 2.010799 0.180279 0
+ F4 26624 0.000000 4 0
+ 0.457630 -1.844388 0
+ 0.097073 -1.567036 0
+ 0.194146 -0.984598 0
+ 0.416027 -1.067803 0
+ F4 26624 0.000000 3 0
+ 1.691844 -1.386758 0
+ 1.497698 -0.956863 0
+ 1.192612 -1.220347 0
+ F4 26624 0.000000 5 0
+ -1.456096 -0.166411 0
+ -1.261950 -0.027735 0
+ -0.596306 0.138676 0
+ -0.235749 -0.235749 0
+ -1.067803 -0.360557 0
+ F4 26624 0.000000 4 0
+ -1.275817 -1.608639 0
+ -0.887525 -1.511566 0
+ -0.610173 -0.859790 0
+ -1.040068 -0.970730 0
+ L3 26624 0.000000 0.194433 2.138767 0 0.388867 1.847117 0
+ L3 26624 0.000000 1.361033 1.847117 0 0.874950 1.652683 0
+ L3 26624 0.000000 1.555467 2.333200 0 1.263817 2.138767 0
+ L3 26624 0.000000 0.874950 2.527633 0 0.680517 2.138767 0
+ L3 26624 0.000000 -0.388867 2.430417 0 -0.194433 2.138767 0
+ L3 26624 0.000000 -1.166600 1.555467 0 -0.777733 1.555467 0
+ L3 26624 0.000000 -0.874950 1.069383 0 -0.388867 1.263817 0
+ L3 26624 0.000000 -1.166600 0.583300 0 -0.777733 0.291650 0
+ L3 26624 0.000000 -1.749900 0.486083 0 -1.361033 0.291650 0
+ L3 26624 0.000000 -2.235983 0.194433 0 -1.749900 0.000000 0
+ L3 26624 0.000000 -1.555467 -0.486083 0 -1.944333 -0.874950 0
+ L3 26624 0.000000 -1.749900 -1.361033 0 -1.458250 -0.972167 0
+ L3 26624 0.000000 -1.069383 -2.138767 0 -0.777733 -1.749900 0
+ L3 26624 0.000000 -0.388867 -1.749900 0 -0.486083 -2.333200 0
+ L3 26624 0.000000 -0.291650 -1.069383 0 -0.194433 -1.458250 0
+ L3 26624 0.000000 0.680517 -1.749900 0 0.874950 -2.333200 0
+ L3 26624 0.000000 1.166600 -1.652683 0 1.749900 -1.944333 0
+ L3 26624 0.000000 2.624850 -0.680517 0 2.138767 -0.777733 0
+ L3 26624 0.000000 2.624850 -1.555467 0 2.138767 -1.361033 0
+ L3 26624 0.000000 2.819283 -1.166600 0 2.333200 -1.069383 0
+ L3 26624 0.000000 1.166600 -2.819283 0 1.069383 -2.430417 0
+ L3 26624 0.000000 1.749900 -2.527633 0 1.458250 -2.235983 0
+ L3 26624 0.000000 1.361033 -2.624850 0 1.166600 -2.041550 0
+ L3 26624 0.000000 2.916500 0.486083 0 2.333200 0.583300 0
+ L3 26624 0.000000 2.430417 1.263817 0 1.944333 0.972167 0
+ L3 26624 0.000000 2.916500 0.972167 0 2.430417 0.874950 0
+ L3 26624 0.000000 -0.972167 -2.722067 0 -0.874950 -2.333200 0
+ L3 26624 0.000000 -2.138767 -1.361033 0 -1.847117 -1.166600 0
+ L3 26624 0.000000 1.361033 3.110933 0 1.166600 2.624850 0
+ L3 26624 0.000000 1.749900 2.819283 0 1.458250 2.527633 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 10"" Decid-10a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -3.024728 -2.869482 0
+ -2.595646 -4.491946 0
+ -1.630213 -4.907618 0
+ -0.544101 -3.566739 0
+ 0.702917 -4.733304 0
+ 2.204701 -4.022638 0
+ 1.856073 3.955594 0
+ 0.434741 4.706486 0
+ -0.155246 3.794688 0
+ -1.348629 3.808097 0
+ -1.643622 4.733304 0
+ -3.480627 4.143317 0
+ -3.252677 3.057205 0
+ -4.767871 2.949934 0
+ -5.545581 1.381106 0
+ -4.687418 0.496125 0
+ -5.813757 0.000000 0
+ -5.518763 -1.126339 0
+ -4.325381 -1.555420 0
+ -5.183543 -2.252677 0
+ -4.486286 -3.513104 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -4.183543 -2.252677 0
+ -3.486286 -3.513104 0
+ -2.024728 -2.869482 0
+ -1.595646 -4.491946 0
+ -0.630213 -4.907618 0
+ 0.455899 -3.566739 0
+ 1.702917 -4.733304 0
+ 3.204701 -4.022638 0
+ 2.641532 -2.534262 0
+ 4.438310 -2.038136 0
+ 4.706486 -0.348629 0
+ 3.767871 0.522943 0
+ 4.652851 1.783369 0
+ 3.982411 2.909708 0
+ 2.896299 2.507444 0
+ 2.856073 3.955594 0
+ 1.434741 4.706486 0
+ 0.844754 3.794688 0
+ -0.348629 3.808097 0
+ -0.643622 4.733304 0
+ -2.480627 4.143317 0
+ -2.252677 3.057205 0
+ -3.767871 2.949934 0
+ -4.545581 1.381106 0
+ -3.687418 0.496125 0
+ -4.813757 0.000000 0
+ -4.518763 -1.126339 0
+ -3.325381 -1.555420 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.670440 -3.137657 0
+ 1.609055 -4.076273 0
+ 2.507444 -3.526512 0
+ 2.105180 -1.957684 0
+ 3.901959 -1.461558 0
+ 4.022638 -0.683848 0
+ 2.896299 0.093862 0
+ 3.875141 1.568829 0
+ 3.446060 2.078363 0
+ 2.373356 2.051545 0
+ 2.319721 3.285154 0
+ 1.394514 3.794688 0
+ 0.630213 2.896299 0
+ -0.522943 3.057205 0
+ -0.791119 3.674009 0
+ -1.769961 3.419242 0
+ -1.783369 2.346539 0
+ -2.601306 2.319721 0
+ -3.137657 1.247018 0
+ -2.185633 0.348629 0
+ -3.084022 -0.120679 0
+ -2.936526 -0.764301 0
+ -1.501785 -1.032477 0
+ -2.051545 -2.011319 0
+ -1.153156 -2.708576 0
+ -0.791119 -3.499695 0
+ L3 65280 0.000000 -0.850646 -4.131708 0 -0.364562 -3.767146 0
+ L3 65280 0.000000 -1.215208 -3.888667 0 -1.336729 -3.281062 0
+ L3 65280 0.000000 -2.794979 -2.551937 0 -1.944333 -2.551937 0
+ L3 65280 0.000000 -3.402583 -2.308896 0 -3.038021 -1.944333 0
+ L3 65280 0.000000 -2.551937 -2.065854 0 -2.065854 -1.701292 0
+ L3 65280 0.000000 -2.308896 -1.336729 0 -3.038021 -1.215208 0
+ L3 65280 0.000000 -4.131708 -0.972167 0 -3.281062 -0.972167 0
+ L3 65280 0.000000 -4.131708 -0.243042 0 -3.402583 -0.607604 0
+ L3 65280 0.000000 -2.794979 0.364562 0 -3.402583 0.243042 0
+ L3 65280 0.000000 -3.281062 0.850646 0 -4.131708 1.336729 0
+ L3 65280 0.000000 -3.767146 1.822812 0 -3.159542 1.944333 0
+ L3 65280 0.000000 -2.916500 2.794979 0 -2.673458 2.430417 0
+ L3 65280 0.000000 -1.822812 3.645625 0 -2.065854 4.010187 0
+ L3 65280 0.000000 -1.093687 3.888667 0 -0.850646 4.253229 0
+ L3 65280 0.000000 -0.121521 3.281062 0 0.000000 3.645625 0
+ L3 65280 0.000000 0.607604 3.281062 0 0.243042 3.524104 0
+ L3 65280 0.000000 1.579771 3.888667 0 1.458250 4.374750 0
+ L3 65280 0.000000 2.308896 3.645625 0 2.673458 3.767146 0
+ L3 65280 0.000000 4.253229 1.701292 0 3.888667 1.822812 0
+ L3 65280 0.000000 3.645625 2.308896 0 3.888667 2.673458 0
+ L3 65280 0.000000 4.253229 -0.364562 0 3.767146 -0.243042 0
+ L3 65280 0.000000 -3.402583 -3.038021 0 -3.159542 -2.551937 0
+ L3 65280 0.000000 -3.888667 -2.308896 0 -3.524104 -2.551937 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 1.872123 -1.924126 0
+ 1.109406 -1.698778 0
+ 1.022734 -1.126741 0
+ 1.525433 -1.334754 0
+ F4 26624 0.000000 5 0
+ -0.728048 -2.305485 0
+ -0.658710 -1.906792 0
+ 0.086672 -1.577437 0
+ 0.294686 -2.062802 0
+ -0.086672 -2.426826 0
+ F4 26624 0.000000 4 0
+ 2.374823 0.086672 0
+ 1.473430 0.294686 0
+ 1.282751 -0.156010 0
+ 2.513498 -0.225348 0
+ F4 26624 0.000000 4 0
+ 0.572038 2.305485 0
+ 0.121341 1.958795 0
+ 0.242683 1.230747 0
+ 0.520034 1.334754 0
+ F4 26624 0.000000 3 0
+ 2.114806 1.733447 0
+ 1.872123 1.196079 0
+ 1.490765 1.525433 0
+ F4 26624 0.000000 5 0
+ -1.820120 0.208014 0
+ -1.577437 0.034669 0
+ -0.745382 -0.173345 0
+ -0.294686 0.294686 0
+ -1.334754 0.450696 0
+ F4 26624 0.000000 4 0
+ -1.594771 2.010799 0
+ -1.109406 1.889457 0
+ -0.762717 1.074737 0
+ -1.300085 1.213413 0
+ L3 26624 0.000000 0.243042 -2.673458 0 0.486083 -2.308896 0
+ L3 26624 0.000000 1.701292 -2.308896 0 1.093687 -2.065854 0
+ L3 26624 0.000000 1.944333 -2.916500 0 1.579771 -2.673458 0
+ L3 26624 0.000000 1.093687 -3.159542 0 0.850646 -2.673458 0
+ L3 26624 0.000000 -0.486083 -3.038021 0 -0.243042 -2.673458 0
+ L3 26624 0.000000 -1.458250 -1.944333 0 -0.972167 -1.944333 0
+ L3 26624 0.000000 -1.093687 -1.336729 0 -0.486083 -1.579771 0
+ L3 26624 0.000000 -1.458250 -0.729125 0 -0.972167 -0.364562 0
+ L3 26624 0.000000 -2.187375 -0.607604 0 -1.701292 -0.364562 0
+ L3 26624 0.000000 -2.794979 -0.243042 0 -2.187375 0.000000 0
+ L3 26624 0.000000 -1.944333 0.607604 0 -2.430417 1.093687 0
+ L3 26624 0.000000 -2.187375 1.701292 0 -1.822812 1.215208 0
+ L3 26624 0.000000 -1.336729 2.673458 0 -0.972167 2.187375 0
+ L3 26624 0.000000 -0.486083 2.187375 0 -0.607604 2.916500 0
+ L3 26624 0.000000 -0.364562 1.336729 0 -0.243042 1.822812 0
+ L3 26624 0.000000 0.850646 2.187375 0 1.093687 2.916500 0
+ L3 26624 0.000000 1.458250 2.065854 0 2.187375 2.430417 0
+ L3 26624 0.000000 3.281062 0.850646 0 2.673458 0.972167 0
+ L3 26624 0.000000 3.281062 1.944333 0 2.673458 1.701292 0
+ L3 26624 0.000000 3.524104 1.458250 0 2.916500 1.336729 0
+ L3 26624 0.000000 1.458250 3.524104 0 1.336729 3.038021 0
+ L3 26624 0.000000 2.187375 3.159542 0 1.822812 2.794979 0
+ L3 26624 0.000000 1.701292 3.281062 0 1.458250 2.551937 0
+ L3 26624 0.000000 3.645625 -0.607604 0 2.916500 -0.729125 0
+ L3 26624 0.000000 3.038021 -1.579771 0 2.430417 -1.215208 0
+ L3 26624 0.000000 3.645625 -1.215208 0 3.038021 -1.093687 0
+ L3 26624 0.000000 -1.215208 3.402583 0 -1.093687 2.916500 0
+ L3 26624 0.000000 -2.673458 1.701292 0 -2.308896 1.458250 0
+ L3 26624 0.000000 1.701292 -3.888667 0 1.458250 -3.281062 0
+ L3 26624 0.000000 2.187375 -3.524104 0 1.822812 -3.159542 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 10"" Decid-10b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -3.024728 2.869482 0
+ -2.595646 4.491946 0
+ -1.630213 4.907618 0
+ -0.544101 3.566739 0
+ 0.702917 4.733304 0
+ 2.204701 4.022638 0
+ 1.856073 -3.955594 0
+ 0.434741 -4.706486 0
+ -0.155246 -3.794688 0
+ -1.348629 -3.808097 0
+ -1.643622 -4.733304 0
+ -3.480627 -4.143317 0
+ -3.252677 -3.057205 0
+ -4.767871 -2.949934 0
+ -5.545581 -1.381106 0
+ -4.687418 -0.496125 0
+ -5.813757 0.000000 0
+ -5.518763 1.126339 0
+ -4.325381 1.555420 0
+ -5.183543 2.252677 0
+ -4.486286 3.513104 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -4.183543 2.252677 0
+ -3.486286 3.513104 0
+ -2.024728 2.869482 0
+ -1.595646 4.491946 0
+ -0.630213 4.907618 0
+ 0.455899 3.566739 0
+ 1.702917 4.733304 0
+ 3.204701 4.022638 0
+ 2.641532 2.534262 0
+ 4.438310 2.038136 0
+ 4.706486 0.348629 0
+ 3.767871 -0.522943 0
+ 4.652851 -1.783369 0
+ 3.982411 -2.909708 0
+ 2.896299 -2.507444 0
+ 2.856073 -3.955594 0
+ 1.434741 -4.706486 0
+ 0.844754 -3.794688 0
+ -0.348629 -3.808097 0
+ -0.643622 -4.733304 0
+ -2.480627 -4.143317 0
+ -2.252677 -3.057205 0
+ -3.767871 -2.949934 0
+ -4.545581 -1.381106 0
+ -3.687418 -0.496125 0
+ -4.813757 0.000000 0
+ -4.518763 1.126339 0
+ -3.325381 1.555420 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.670440 3.137657 0
+ 1.609055 4.076273 0
+ 2.507444 3.526512 0
+ 2.105180 1.957684 0
+ 3.901959 1.461558 0
+ 4.022638 0.683848 0
+ 2.896299 -0.093862 0
+ 3.875141 -1.568829 0
+ 3.446060 -2.078363 0
+ 2.373356 -2.051545 0
+ 2.319721 -3.285154 0
+ 1.394514 -3.794688 0
+ 0.630213 -2.896299 0
+ -0.522943 -3.057205 0
+ -0.791119 -3.674009 0
+ -1.769961 -3.419242 0
+ -1.783369 -2.346539 0
+ -2.601306 -2.319721 0
+ -3.137657 -1.247018 0
+ -2.185633 -0.348629 0
+ -3.084022 0.120679 0
+ -2.936526 0.764301 0
+ -1.501785 1.032477 0
+ -2.051545 2.011319 0
+ -1.153156 2.708576 0
+ -0.791119 3.499695 0
+ L3 65280 0.000000 -0.850646 4.131708 0 -0.364562 3.767146 0
+ L3 65280 0.000000 -1.215208 3.888667 0 -1.336729 3.281062 0
+ L3 65280 0.000000 -2.794979 2.551937 0 -1.944333 2.551937 0
+ L3 65280 0.000000 -3.402583 2.308896 0 -3.038021 1.944333 0
+ L3 65280 0.000000 -2.551937 2.065854 0 -2.065854 1.701292 0
+ L3 65280 0.000000 -2.308896 1.336729 0 -3.038021 1.215208 0
+ L3 65280 0.000000 -4.131708 0.972167 0 -3.281062 0.972167 0
+ L3 65280 0.000000 -4.131708 0.243042 0 -3.402583 0.607604 0
+ L3 65280 0.000000 -2.794979 -0.364562 0 -3.402583 -0.243042 0
+ L3 65280 0.000000 -3.281062 -0.850646 0 -4.131708 -1.336729 0
+ L3 65280 0.000000 -3.767146 -1.822812 0 -3.159542 -1.944333 0
+ L3 65280 0.000000 -2.916500 -2.794979 0 -2.673458 -2.430417 0
+ L3 65280 0.000000 -1.822812 -3.645625 0 -2.065854 -4.010187 0
+ L3 65280 0.000000 -1.093687 -3.888667 0 -0.850646 -4.253229 0
+ L3 65280 0.000000 -0.121521 -3.281062 0 0.000000 -3.645625 0
+ L3 65280 0.000000 0.607604 -3.281062 0 0.243042 -3.524104 0
+ L3 65280 0.000000 1.579771 -3.888667 0 1.458250 -4.374750 0
+ L3 65280 0.000000 2.308896 -3.645625 0 2.673458 -3.767146 0
+ L3 65280 0.000000 4.253229 -1.701292 0 3.888667 -1.822812 0
+ L3 65280 0.000000 3.645625 -2.308896 0 3.888667 -2.673458 0
+ L3 65280 0.000000 4.253229 0.364562 0 3.767146 0.243042 0
+ L3 65280 0.000000 -3.402583 3.038021 0 -3.159542 2.551937 0
+ L3 65280 0.000000 -3.888667 2.308896 0 -3.524104 2.551937 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 1.872123 1.924126 0
+ 1.109406 1.698778 0
+ 1.022734 1.126741 0
+ 1.525433 1.334754 0
+ F4 26624 0.000000 5 0
+ -0.728048 2.305485 0
+ -0.658710 1.906792 0
+ 0.086672 1.577437 0
+ 0.294686 2.062802 0
+ -0.086672 2.426826 0
+ F4 26624 0.000000 4 0
+ 2.374823 -0.086672 0
+ 1.473430 -0.294686 0
+ 1.282751 0.156010 0
+ 2.513498 0.225348 0
+ F4 26624 0.000000 4 0
+ 0.572038 -2.305485 0
+ 0.121341 -1.958795 0
+ 0.242683 -1.230747 0
+ 0.520034 -1.334754 0
+ F4 26624 0.000000 3 0
+ 2.114806 -1.733447 0
+ 1.872123 -1.196079 0
+ 1.490765 -1.525433 0
+ F4 26624 0.000000 5 0
+ -1.820120 -0.208014 0
+ -1.577437 -0.034669 0
+ -0.745382 0.173345 0
+ -0.294686 -0.294686 0
+ -1.334754 -0.450696 0
+ F4 26624 0.000000 4 0
+ -1.594771 -2.010799 0
+ -1.109406 -1.889457 0
+ -0.762717 -1.074737 0
+ -1.300085 -1.213413 0
+ L3 26624 0.000000 0.243042 2.673458 0 0.486083 2.308896 0
+ L3 26624 0.000000 1.701292 2.308896 0 1.093687 2.065854 0
+ L3 26624 0.000000 1.944333 2.916500 0 1.579771 2.673458 0
+ L3 26624 0.000000 1.093687 3.159542 0 0.850646 2.673458 0
+ L3 26624 0.000000 -0.486083 3.038021 0 -0.243042 2.673458 0
+ L3 26624 0.000000 -1.458250 1.944333 0 -0.972167 1.944333 0
+ L3 26624 0.000000 -1.093687 1.336729 0 -0.486083 1.579771 0
+ L3 26624 0.000000 -1.458250 0.729125 0 -0.972167 0.364562 0
+ L3 26624 0.000000 -2.187375 0.607604 0 -1.701292 0.364562 0
+ L3 26624 0.000000 -2.794979 0.243042 0 -2.187375 0.000000 0
+ L3 26624 0.000000 -1.944333 -0.607604 0 -2.430417 -1.093687 0
+ L3 26624 0.000000 -2.187375 -1.701292 0 -1.822812 -1.215208 0
+ L3 26624 0.000000 -1.336729 -2.673458 0 -0.972167 -2.187375 0
+ L3 26624 0.000000 -0.486083 -2.187375 0 -0.607604 -2.916500 0
+ L3 26624 0.000000 -0.364562 -1.336729 0 -0.243042 -1.822812 0
+ L3 26624 0.000000 0.850646 -2.187375 0 1.093687 -2.916500 0
+ L3 26624 0.000000 1.458250 -2.065854 0 2.187375 -2.430417 0
+ L3 26624 0.000000 3.281062 -0.850646 0 2.673458 -0.972167 0
+ L3 26624 0.000000 3.281062 -1.944333 0 2.673458 -1.701292 0
+ L3 26624 0.000000 3.524104 -1.458250 0 2.916500 -1.336729 0
+ L3 26624 0.000000 1.458250 -3.524104 0 1.336729 -3.038021 0
+ L3 26624 0.000000 2.187375 -3.159542 0 1.822812 -2.794979 0
+ L3 26624 0.000000 1.701292 -3.281062 0 1.458250 -2.551937 0
+ L3 26624 0.000000 3.645625 0.607604 0 2.916500 0.729125 0
+ L3 26624 0.000000 3.038021 1.579771 0 2.430417 1.215208 0
+ L3 26624 0.000000 3.645625 1.215208 0 3.038021 1.093687 0
+ L3 26624 0.000000 -1.215208 -3.402583 0 -1.093687 -2.916500 0
+ L3 26624 0.000000 -2.673458 -1.701292 0 -2.308896 -1.458250 0
+ L3 26624 0.000000 1.701292 3.888667 0 1.458250 3.281062 0
+ L3 26624 0.000000 2.187375 3.524104 0 1.822812 3.159542 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 12"" Decid-12a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -3.629673 -3.443378 0
+ -3.114776 -5.390335 0
+ -1.956256 -5.889142 0
+ -0.652921 -4.280087 0
+ 0.843500 -5.679965 0
+ 2.645642 -4.827165 0
+ 2.227287 4.746713 0
+ 0.521689 5.647783 0
+ -0.186295 4.553626 0
+ -1.618354 4.569717 0
+ -1.972346 5.679965 0
+ -4.176752 4.971980 0
+ -3.903213 3.668646 0
+ -5.721445 3.539921 0
+ -6.654697 1.657327 0
+ -5.624902 0.595350 0
+ -6.976508 0.000000 0
+ -6.622516 -1.351606 0
+ -5.190457 -1.866504 0
+ -6.220252 -2.703213 0
+ -5.383543 -4.215724 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 65280 0.000000 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 65280 0.000000 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 65280 0.000000 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 65280 0.000000 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 65280 0.000000 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 65280 0.000000 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 65280 0.000000 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 65280 0.000000 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 65280 0.000000 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 65280 0.000000 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 65280 0.000000 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 65280 0.000000 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 65280 0.000000 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 65280 0.000000 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 65280 0.000000 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 65280 0.000000 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 65280 0.000000 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 65280 0.000000 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 65280 0.000000 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 65280 0.000000 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 65280 0.000000 5.103875 -0.437475 0 4.520575 -0.291650 0
+ L3 65280 0.000000 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 65280 0.000000 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ L3 26624 0.000000 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 26624 0.000000 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 26624 0.000000 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 26624 0.000000 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 26624 0.000000 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 26624 0.000000 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 26624 0.000000 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 26624 0.000000 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 26624 0.000000 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 26624 0.000000 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 26624 0.000000 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 26624 0.000000 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 26624 0.000000 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 26624 0.000000 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 26624 0.000000 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 26624 0.000000 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 26624 0.000000 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 26624 0.000000 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 26624 0.000000 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 26624 0.000000 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 26624 0.000000 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 26624 0.000000 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 26624 0.000000 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 26624 0.000000 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 26624 0.000000 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 26624 0.000000 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 26624 0.000000 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 26624 0.000000 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 26624 0.000000 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 26624 0.000000 2.624850 -4.228925 0 2.187375 -3.791450 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 12"" Decid-12b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -3.629673 3.443378 0
+ -3.114776 5.390335 0
+ -1.956256 5.889142 0
+ -0.652921 4.280087 0
+ 0.843500 5.679965 0
+ 2.645642 4.827165 0
+ 2.227287 -4.746713 0
+ 0.521689 -5.647783 0
+ -0.186295 -4.553626 0
+ -1.618354 -4.569717 0
+ -1.972346 -5.679965 0
+ -4.176752 -4.971980 0
+ -3.903213 -3.668646 0
+ -5.721445 -3.539921 0
+ -6.654697 -1.657327 0
+ -5.624902 -0.595350 0
+ -6.976508 0.000000 0
+ -6.622516 1.351606 0
+ -5.190457 1.866504 0
+ -6.220252 2.703213 0
+ -5.383543 4.215724 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -5.020252 2.703213 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.914776 5.390335 0
+ -0.756256 5.889142 0
+ 0.547079 4.280087 0
+ 2.043500 5.679965 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 5.325972 2.445764 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 4.778894 -3.491650 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 1.721689 -5.647783 0
+ 1.013705 -4.553626 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -2.976752 -4.971980 0
+ -2.703213 -3.668646 0
+ -4.521445 -3.539921 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 1.351606 0
+ -3.990457 1.866504 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.804528 3.765189 0
+ 1.930866 4.891528 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.682350 1.753870 0
+ 4.827165 0.820618 0
+ 3.475559 -0.112634 0
+ 4.650169 -1.882594 0
+ 4.135272 -2.494035 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 1.673417 -4.553626 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.123953 -4.103091 0
+ -2.140043 -2.815846 0
+ -3.121567 -2.783665 0
+ -3.765189 -1.496421 0
+ -2.622760 -0.418354 0
+ -3.700827 0.144815 0
+ -3.523831 0.917161 0
+ -1.802142 1.238972 0
+ -2.461854 2.413583 0
+ -1.383787 3.250291 0
+ -0.949343 4.199634 0
+ L3 65280 0.000000 -1.020775 4.958050 0 -0.437475 4.520575 0
+ L3 65280 0.000000 -1.458250 4.666400 0 -1.604075 3.937275 0
+ L3 65280 0.000000 -3.353975 3.062325 0 -2.333200 3.062325 0
+ L3 65280 0.000000 -4.083100 2.770675 0 -3.645625 2.333200 0
+ L3 65280 0.000000 -3.062325 2.479025 0 -2.479025 2.041550 0
+ L3 65280 0.000000 -2.770675 1.604075 0 -3.645625 1.458250 0
+ L3 65280 0.000000 -4.958050 1.166600 0 -3.937275 1.166600 0
+ L3 65280 0.000000 -4.958050 0.291650 0 -4.083100 0.729125 0
+ L3 65280 0.000000 -3.353975 -0.437475 0 -4.083100 -0.291650 0
+ L3 65280 0.000000 -3.937275 -1.020775 0 -4.958050 -1.604075 0
+ L3 65280 0.000000 -4.520575 -2.187375 0 -3.791450 -2.333200 0
+ L3 65280 0.000000 -3.499800 -3.353975 0 -3.208150 -2.916500 0
+ L3 65280 0.000000 -2.187375 -4.374750 0 -2.479025 -4.812225 0
+ L3 65280 0.000000 -1.312425 -4.666400 0 -1.020775 -5.103875 0
+ L3 65280 0.000000 -0.145825 -3.937275 0 0.000000 -4.374750 0
+ L3 65280 0.000000 0.729125 -3.937275 0 0.291650 -4.228925 0
+ L3 65280 0.000000 1.895725 -4.666400 0 1.749900 -5.249700 0
+ L3 65280 0.000000 2.770675 -4.374750 0 3.208150 -4.520575 0
+ L3 65280 0.000000 5.103875 -2.041550 0 4.666400 -2.187375 0
+ L3 65280 0.000000 4.374750 -2.770675 0 4.666400 -3.208150 0
+ L3 65280 0.000000 5.103875 0.437475 0 4.520575 0.291650 0
+ L3 65280 0.000000 -4.083100 3.645625 0 -3.791450 3.062325 0
+ L3 65280 0.000000 -4.666400 2.770675 0 -4.228925 3.062325 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 2.246548 2.308952 0
+ 1.331287 2.038534 0
+ 1.227281 1.352089 0
+ 1.830520 1.601705 0
+ F4 26624 0.000000 5 0
+ -0.873657 2.766582 0
+ -0.790452 2.288150 0
+ 0.104007 1.892924 0
+ 0.353623 2.475363 0
+ -0.104007 2.912191 0
+ F4 26624 0.000000 4 0
+ 2.849787 -0.104007 0
+ 1.768116 -0.353623 0
+ 1.539301 0.187212 0
+ 3.016198 0.270418 0
+ F4 26624 0.000000 4 0
+ 0.686445 -2.766582 0
+ 0.145610 -2.350554 0
+ 0.291219 -1.476897 0
+ 0.624041 -1.601705 0
+ F4 26624 0.000000 3 0
+ 2.537767 -2.080137 0
+ 2.246548 -1.435294 0
+ 1.788917 -1.830520 0
+ F4 26624 0.000000 5 0
+ -2.184143 -0.249616 0
+ -1.892924 -0.041603 0
+ -0.894459 0.208014 0
+ -0.353623 -0.353623 0
+ -1.601705 -0.540836 0
+ F4 26624 0.000000 4 0
+ -1.913726 -2.412958 0
+ -1.331287 -2.267349 0
+ -0.915260 -1.289685 0
+ -1.560102 -1.456096 0
+ L3 26624 0.000000 0.291650 3.208150 0 0.583300 2.770675 0
+ L3 26624 0.000000 2.041550 2.770675 0 1.312425 2.479025 0
+ L3 26624 0.000000 2.333200 3.499800 0 1.895725 3.208150 0
+ L3 26624 0.000000 1.312425 3.791450 0 1.020775 3.208150 0
+ L3 26624 0.000000 -0.583300 3.645625 0 -0.291650 3.208150 0
+ L3 26624 0.000000 -1.749900 2.333200 0 -1.166600 2.333200 0
+ L3 26624 0.000000 -1.312425 1.604075 0 -0.583300 1.895725 0
+ L3 26624 0.000000 -1.749900 0.874950 0 -1.166600 0.437475 0
+ L3 26624 0.000000 -2.624850 0.729125 0 -2.041550 0.437475 0
+ L3 26624 0.000000 -3.353975 0.291650 0 -2.624850 0.000000 0
+ L3 26624 0.000000 -2.333200 -0.729125 0 -2.916500 -1.312425 0
+ L3 26624 0.000000 -2.624850 -2.041550 0 -2.187375 -1.458250 0
+ L3 26624 0.000000 -1.604075 -3.208150 0 -1.166600 -2.624850 0
+ L3 26624 0.000000 -0.583300 -2.624850 0 -0.729125 -3.499800 0
+ L3 26624 0.000000 -0.437475 -1.604075 0 -0.291650 -2.187375 0
+ L3 26624 0.000000 1.020775 -2.624850 0 1.312425 -3.499800 0
+ L3 26624 0.000000 1.749900 -2.479025 0 2.624850 -2.916500 0
+ L3 26624 0.000000 3.937275 -1.020775 0 3.208150 -1.166600 0
+ L3 26624 0.000000 3.937275 -2.333200 0 3.208150 -2.041550 0
+ L3 26624 0.000000 4.228925 -1.749900 0 3.499800 -1.604075 0
+ L3 26624 0.000000 1.749900 -4.228925 0 1.604075 -3.645625 0
+ L3 26624 0.000000 2.624850 -3.791450 0 2.187375 -3.353975 0
+ L3 26624 0.000000 2.041550 -3.937275 0 1.749900 -3.062325 0
+ L3 26624 0.000000 4.374750 0.729125 0 3.499800 0.874950 0
+ L3 26624 0.000000 3.645625 1.895725 0 2.916500 1.458250 0
+ L3 26624 0.000000 4.374750 1.458250 0 3.645625 1.312425 0
+ L3 26624 0.000000 -1.458250 -4.083100 0 -1.312425 -3.499800 0
+ L3 26624 0.000000 -3.208150 -2.041550 0 -2.770675 -1.749900 0
+ L3 26624 0.000000 2.041550 4.666400 0 1.749900 3.937275 0
+ L3 26624 0.000000 2.624850 4.228925 0 2.187375 3.791450 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 14"" Decid-14a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -4.234619 -4.017274 0
+ -3.633905 -6.288724 0
+ -2.282299 -6.870665 0
+ -0.761741 -4.993434 0
+ 0.984083 -6.626625 0
+ 3.086582 -5.631693 0
+ 2.598502 5.537831 0
+ 0.608637 6.589081 0
+ -0.217344 5.312564 0
+ -1.888080 5.331336 0
+ -2.301071 6.626625 0
+ -4.872877 5.800644 0
+ -4.553748 4.280087 0
+ -6.675019 4.129908 0
+ -7.763813 1.933548 0
+ -6.562385 0.694575 0
+ -8.139259 0.000000 0
+ -7.726268 -1.576874 0
+ -6.055533 -2.177588 0
+ -7.256961 -3.153748 0
+ -6.280801 -4.918345 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -5.856961 -3.153748 0
+ -4.880801 -4.918345 0
+ -2.834619 -4.017274 0
+ -2.233905 -6.288724 0
+ -0.882299 -6.870665 0
+ 0.638259 -4.993434 0
+ 2.384083 -6.626625 0
+ 4.486582 -5.631693 0
+ 3.698145 -3.547967 0
+ 6.213635 -2.853391 0
+ 6.589081 -0.488080 0
+ 5.275019 0.732120 0
+ 6.513991 2.496717 0
+ 5.575376 4.073591 0
+ 4.054819 3.510422 0
+ 3.998502 5.537831 0
+ 2.008637 6.589081 0
+ 1.182656 5.312564 0
+ -0.488080 5.331336 0
+ -0.901071 6.626625 0
+ -3.472877 5.800644 0
+ -3.153748 4.280087 0
+ -5.275019 4.129908 0
+ -6.363813 1.933548 0
+ -5.162385 0.694575 0
+ -6.739259 0.000000 0
+ -6.326268 -1.576874 0
+ -4.655533 -2.177588 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.938615 -4.392720 0
+ 2.252677 -5.706782 0
+ 3.510422 -4.937117 0
+ 2.947253 -2.740757 0
+ 5.462742 -2.046182 0
+ 5.631693 -0.957388 0
+ 4.054819 0.131406 0
+ 5.425198 2.196360 0
+ 4.824484 2.909708 0
+ 3.322699 2.872163 0
+ 3.247610 4.599216 0
+ 1.952320 5.312564 0
+ 0.882299 4.054819 0
+ -0.732120 4.280087 0
+ -1.107566 5.143613 0
+ -2.477945 4.786939 0
+ -2.496717 3.285154 0
+ -3.641828 3.247610 0
+ -4.392720 1.745825 0
+ -3.059886 0.488080 0
+ -4.317631 -0.168951 0
+ -4.111136 -1.070022 0
+ -2.102499 -1.445468 0
+ -2.872163 -2.815846 0
+ -1.614419 -3.792007 0
+ -1.107566 -4.899573 0
+ L3 65280 0.000000 -1.190904 -5.784392 0 -0.510387 -5.274004 0
+ L3 65280 0.000000 -1.701292 -5.444133 0 -1.871421 -4.593487 0
+ L3 65280 0.000000 -3.912971 -3.572712 0 -2.722067 -3.572712 0
+ L3 65280 0.000000 -4.763617 -3.232454 0 -4.253229 -2.722067 0
+ L3 65280 0.000000 -3.572712 -2.892196 0 -2.892196 -2.381808 0
+ L3 65280 0.000000 -3.232454 -1.871421 0 -4.253229 -1.701292 0
+ L3 65280 0.000000 -5.784392 -1.361033 0 -4.593487 -1.361033 0
+ L3 65280 0.000000 -5.784392 -0.340258 0 -4.763617 -0.850646 0
+ L3 65280 0.000000 -3.912971 0.510387 0 -4.763617 0.340258 0
+ L3 65280 0.000000 -4.593487 1.190904 0 -5.784392 1.871421 0
+ L3 65280 0.000000 -5.274004 2.551937 0 -4.423358 2.722067 0
+ L3 65280 0.000000 -4.083100 3.912971 0 -3.742842 3.402583 0
+ L3 65280 0.000000 -2.551937 5.103875 0 -2.892196 5.614262 0
+ L3 65280 0.000000 -1.531162 5.444133 0 -1.190904 5.954521 0
+ L3 65280 0.000000 -0.170129 4.593487 0 0.000000 5.103875 0
+ L3 65280 0.000000 0.850646 4.593487 0 0.340258 4.933746 0
+ L3 65280 0.000000 2.211679 5.444133 0 2.041550 6.124650 0
+ L3 65280 0.000000 3.232454 5.103875 0 3.742842 5.274004 0
+ L3 65280 0.000000 5.954521 2.381808 0 5.444133 2.551937 0
+ L3 65280 0.000000 5.103875 3.232454 0 5.444133 3.742842 0
+ L3 65280 0.000000 5.954521 -0.510387 0 5.274004 -0.340258 0
+ L3 65280 0.000000 -4.763617 -4.253229 0 -4.423358 -3.572712 0
+ L3 65280 0.000000 -5.444133 -3.232454 0 -4.933746 -3.572712 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 2.620972 -2.693777 0
+ 1.553169 -2.378289 0
+ 1.431827 -1.577437 0
+ 2.135607 -1.868656 0
+ F4 26624 0.000000 5 0
+ -1.019267 -3.227679 0
+ -0.922194 -2.669509 0
+ 0.121341 -2.208412 0
+ 0.412560 -2.887923 0
+ -0.121341 -3.397556 0
+ F4 26624 0.000000 4 0
+ 3.324752 0.121341 0
+ 2.062802 0.412560 0
+ 1.795851 -0.218414 0
+ 3.518898 -0.315487 0
+ F4 26624 0.000000 4 0
+ 0.800853 3.227679 0
+ 0.169878 2.742313 0
+ 0.339756 1.723046 0
+ 0.728048 1.868656 0
+ F4 26624 0.000000 3 0
+ 2.960728 2.426826 0
+ 2.620972 1.674510 0
+ 2.087070 2.135607 0
+ F4 26624 0.000000 5 0
+ -2.548167 0.291219 0
+ -2.208412 0.048537 0
+ -1.043535 -0.242683 0
+ -0.412560 0.412560 0
+ -1.868656 0.630975 0
+ F4 26624 0.000000 4 0
+ -2.232680 2.815118 0
+ -1.553169 2.645240 0
+ -1.067803 1.504632 0
+ -1.820120 1.698778 0
+ L3 26624 0.000000 0.340258 -3.742842 0 0.680517 -3.232454 0
+ L3 26624 0.000000 2.381808 -3.232454 0 1.531162 -2.892196 0
+ L3 26624 0.000000 2.722067 -4.083100 0 2.211679 -3.742842 0
+ L3 26624 0.000000 1.531162 -4.423358 0 1.190904 -3.742842 0
+ L3 26624 0.000000 -0.680517 -4.253229 0 -0.340258 -3.742842 0
+ L3 26624 0.000000 -2.041550 -2.722067 0 -1.361033 -2.722067 0
+ L3 26624 0.000000 -1.531162 -1.871421 0 -0.680517 -2.211679 0
+ L3 26624 0.000000 -2.041550 -1.020775 0 -1.361033 -0.510387 0
+ L3 26624 0.000000 -3.062325 -0.850646 0 -2.381808 -0.510387 0
+ L3 26624 0.000000 -3.912971 -0.340258 0 -3.062325 0.000000 0
+ L3 26624 0.000000 -2.722067 0.850646 0 -3.402583 1.531162 0
+ L3 26624 0.000000 -3.062325 2.381808 0 -2.551937 1.701292 0
+ L3 26624 0.000000 -1.871421 3.742842 0 -1.361033 3.062325 0
+ L3 26624 0.000000 -0.680517 3.062325 0 -0.850646 4.083100 0
+ L3 26624 0.000000 -0.510387 1.871421 0 -0.340258 2.551937 0
+ L3 26624 0.000000 1.190904 3.062325 0 1.531162 4.083100 0
+ L3 26624 0.000000 2.041550 2.892196 0 3.062325 3.402583 0
+ L3 26624 0.000000 4.593487 1.190904 0 3.742842 1.361033 0
+ L3 26624 0.000000 4.593487 2.722067 0 3.742842 2.381808 0
+ L3 26624 0.000000 4.933746 2.041550 0 4.083100 1.871421 0
+ L3 26624 0.000000 2.041550 4.933746 0 1.871421 4.253229 0
+ L3 26624 0.000000 3.062325 4.423358 0 2.551937 3.912971 0
+ L3 26624 0.000000 2.381808 4.593487 0 2.041550 3.572712 0
+ L3 26624 0.000000 5.103875 -0.850646 0 4.083100 -1.020775 0
+ L3 26624 0.000000 4.253229 -2.211679 0 3.402583 -1.701292 0
+ L3 26624 0.000000 5.103875 -1.701292 0 4.253229 -1.531162 0
+ L3 26624 0.000000 -1.701292 4.763617 0 -1.531162 4.083100 0
+ L3 26624 0.000000 -3.742842 2.381808 0 -3.232454 2.041550 0
+ L3 26624 0.000000 2.381808 -5.444133 0 2.041550 -4.593487 0
+ L3 26624 0.000000 3.062325 -4.933746 0 2.551937 -4.423358 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 14"" Decid-14b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -4.234619 4.017274 0
+ -3.633905 6.288724 0
+ -2.282299 6.870665 0
+ -0.761741 4.993434 0
+ 0.984083 6.626625 0
+ 3.086582 5.631693 0
+ 2.598502 -5.537831 0
+ 0.608637 -6.589081 0
+ -0.217344 -5.312564 0
+ -1.888080 -5.331336 0
+ -2.301071 -6.626625 0
+ -4.872877 -5.800644 0
+ -4.553748 -4.280087 0
+ -6.675019 -4.129908 0
+ -7.763813 -1.933548 0
+ -6.562385 -0.694575 0
+ -8.139259 0.000000 0
+ -7.726268 1.576874 0
+ -6.055533 2.177588 0
+ -7.256961 3.153748 0
+ -6.280801 4.918345 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -5.856961 3.153748 0
+ -4.880801 4.918345 0
+ -2.834619 4.017274 0
+ -2.233905 6.288724 0
+ -0.882299 6.870665 0
+ 0.638259 4.993434 0
+ 2.384083 6.626625 0
+ 4.486582 5.631693 0
+ 3.698145 3.547967 0
+ 6.213635 2.853391 0
+ 6.589081 0.488080 0
+ 5.275019 -0.732120 0
+ 6.513991 -2.496717 0
+ 5.575376 -4.073591 0
+ 4.054819 -3.510422 0
+ 3.998502 -5.537831 0
+ 2.008637 -6.589081 0
+ 1.182656 -5.312564 0
+ -0.488080 -5.331336 0
+ -0.901071 -6.626625 0
+ -3.472877 -5.800644 0
+ -3.153748 -4.280087 0
+ -5.275019 -4.129908 0
+ -6.363813 -1.933548 0
+ -5.162385 -0.694575 0
+ -6.739259 0.000000 0
+ -6.326268 1.576874 0
+ -4.655533 2.177588 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.938615 4.392720 0
+ 2.252677 5.706782 0
+ 3.510422 4.937117 0
+ 2.947253 2.740757 0
+ 5.462742 2.046182 0
+ 5.631693 0.957388 0
+ 4.054819 -0.131406 0
+ 5.425198 -2.196360 0
+ 4.824484 -2.909708 0
+ 3.322699 -2.872163 0
+ 3.247610 -4.599216 0
+ 1.952320 -5.312564 0
+ 0.882299 -4.054819 0
+ -0.732120 -4.280087 0
+ -1.107566 -5.143613 0
+ -2.477945 -4.786939 0
+ -2.496717 -3.285154 0
+ -3.641828 -3.247610 0
+ -4.392720 -1.745825 0
+ -3.059886 -0.488080 0
+ -4.317631 0.168951 0
+ -4.111136 1.070022 0
+ -2.102499 1.445468 0
+ -2.872163 2.815846 0
+ -1.614419 3.792007 0
+ -1.107566 4.899573 0
+ L3 65280 0.000000 -1.190904 5.784392 0 -0.510387 5.274004 0
+ L3 65280 0.000000 -1.701292 5.444133 0 -1.871421 4.593487 0
+ L3 65280 0.000000 -3.912971 3.572712 0 -2.722067 3.572712 0
+ L3 65280 0.000000 -4.763617 3.232454 0 -4.253229 2.722067 0
+ L3 65280 0.000000 -3.572712 2.892196 0 -2.892196 2.381808 0
+ L3 65280 0.000000 -3.232454 1.871421 0 -4.253229 1.701292 0
+ L3 65280 0.000000 -5.784392 1.361033 0 -4.593487 1.361033 0
+ L3 65280 0.000000 -5.784392 0.340258 0 -4.763617 0.850646 0
+ L3 65280 0.000000 -3.912971 -0.510387 0 -4.763617 -0.340258 0
+ L3 65280 0.000000 -4.593487 -1.190904 0 -5.784392 -1.871421 0
+ L3 65280 0.000000 -5.274004 -2.551937 0 -4.423358 -2.722067 0
+ L3 65280 0.000000 -4.083100 -3.912971 0 -3.742842 -3.402583 0
+ L3 65280 0.000000 -2.551937 -5.103875 0 -2.892196 -5.614262 0
+ L3 65280 0.000000 -1.531162 -5.444133 0 -1.190904 -5.954521 0
+ L3 65280 0.000000 -0.170129 -4.593487 0 0.000000 -5.103875 0
+ L3 65280 0.000000 0.850646 -4.593487 0 0.340258 -4.933746 0
+ L3 65280 0.000000 2.211679 -5.444133 0 2.041550 -6.124650 0
+ L3 65280 0.000000 3.232454 -5.103875 0 3.742842 -5.274004 0
+ L3 65280 0.000000 5.954521 -2.381808 0 5.444133 -2.551937 0
+ L3 65280 0.000000 5.103875 -3.232454 0 5.444133 -3.742842 0
+ L3 65280 0.000000 5.954521 0.510387 0 5.274004 0.340258 0
+ L3 65280 0.000000 -4.763617 4.253229 0 -4.423358 3.572712 0
+ L3 65280 0.000000 -5.444133 3.232454 0 -4.933746 3.572712 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 2.620972 2.693777 0
+ 1.553169 2.378289 0
+ 1.431827 1.577437 0
+ 2.135607 1.868656 0
+ F4 26624 0.000000 5 0
+ -1.019267 3.227679 0
+ -0.922194 2.669509 0
+ 0.121341 2.208412 0
+ 0.412560 2.887923 0
+ -0.121341 3.397556 0
+ F4 26624 0.000000 4 0
+ 3.324752 -0.121341 0
+ 2.062802 -0.412560 0
+ 1.795851 0.218414 0
+ 3.518898 0.315487 0
+ F4 26624 0.000000 4 0
+ 0.800853 -3.227679 0
+ 0.169878 -2.742313 0
+ 0.339756 -1.723046 0
+ 0.728048 -1.868656 0
+ F4 26624 0.000000 3 0
+ 2.960728 -2.426826 0
+ 2.620972 -1.674510 0
+ 2.087070 -2.135607 0
+ F4 26624 0.000000 5 0
+ -2.548167 -0.291219 0
+ -2.208412 -0.048537 0
+ -1.043535 0.242683 0
+ -0.412560 -0.412560 0
+ -1.868656 -0.630975 0
+ F4 26624 0.000000 4 0
+ -2.232680 -2.815118 0
+ -1.553169 -2.645240 0
+ -1.067803 -1.504632 0
+ -1.820120 -1.698778 0
+ L3 26624 0.000000 0.340258 3.742842 0 0.680517 3.232454 0
+ L3 26624 0.000000 2.381808 3.232454 0 1.531162 2.892196 0
+ L3 26624 0.000000 2.722067 4.083100 0 2.211679 3.742842 0
+ L3 26624 0.000000 1.531162 4.423358 0 1.190904 3.742842 0
+ L3 26624 0.000000 -0.680517 4.253229 0 -0.340258 3.742842 0
+ L3 26624 0.000000 -2.041550 2.722067 0 -1.361033 2.722067 0
+ L3 26624 0.000000 -1.531162 1.871421 0 -0.680517 2.211679 0
+ L3 26624 0.000000 -2.041550 1.020775 0 -1.361033 0.510387 0
+ L3 26624 0.000000 -3.062325 0.850646 0 -2.381808 0.510387 0
+ L3 26624 0.000000 -3.912971 0.340258 0 -3.062325 0.000000 0
+ L3 26624 0.000000 -2.722067 -0.850646 0 -3.402583 -1.531162 0
+ L3 26624 0.000000 -3.062325 -2.381808 0 -2.551937 -1.701292 0
+ L3 26624 0.000000 -1.871421 -3.742842 0 -1.361033 -3.062325 0
+ L3 26624 0.000000 -0.680517 -3.062325 0 -0.850646 -4.083100 0
+ L3 26624 0.000000 -0.510387 -1.871421 0 -0.340258 -2.551937 0
+ L3 26624 0.000000 1.190904 -3.062325 0 1.531162 -4.083100 0
+ L3 26624 0.000000 2.041550 -2.892196 0 3.062325 -3.402583 0
+ L3 26624 0.000000 4.593487 -1.190904 0 3.742842 -1.361033 0
+ L3 26624 0.000000 4.593487 -2.722067 0 3.742842 -2.381808 0
+ L3 26624 0.000000 4.933746 -2.041550 0 4.083100 -1.871421 0
+ L3 26624 0.000000 2.041550 -4.933746 0 1.871421 -4.253229 0
+ L3 26624 0.000000 3.062325 -4.423358 0 2.551937 -3.912971 0
+ L3 26624 0.000000 2.381808 -4.593487 0 2.041550 -3.572712 0
+ L3 26624 0.000000 5.103875 0.850646 0 4.083100 1.020775 0
+ L3 26624 0.000000 4.253229 2.211679 0 3.402583 1.701292 0
+ L3 26624 0.000000 5.103875 1.701292 0 4.253229 1.531162 0
+ L3 26624 0.000000 -1.701292 -4.763617 0 -1.531162 -4.083100 0
+ L3 26624 0.000000 -3.742842 -2.381808 0 -3.232454 -2.041550 0
+ L3 26624 0.000000 2.381808 5.444133 0 2.041550 4.593487 0
+ L3 26624 0.000000 3.062325 4.933746 0 2.551937 4.423358 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 16"" Decid-16a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -4.839564 -4.591171 0
+ -4.153034 -7.187113 0
+ -2.608341 -7.852189 0
+ -0.870562 -5.706782 0
+ 1.124667 -7.573286 0
+ 3.527522 -6.436220 0
+ 2.969717 6.328950 0
+ 0.695585 7.530378 0
+ -0.248394 6.071501 0
+ -2.157806 6.092955 0
+ -2.629795 7.573286 0
+ -5.569003 6.629307 0
+ -5.204283 4.891528 0
+ -7.628593 4.719895 0
+ -8.872929 2.209769 0
+ -7.499869 0.793801 0
+ -9.302011 0.000000 0
+ -8.830021 -1.802142 0
+ -6.920609 -2.488672 0
+ -8.293669 -3.604283 0
+ -7.178058 -5.620966 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -6.693669 -3.604283 0
+ -5.578058 -5.620966 0
+ -3.239564 -4.591171 0
+ -2.553034 -7.187113 0
+ -1.008341 -7.852189 0
+ 0.729438 -5.706782 0
+ 2.724667 -7.573286 0
+ 5.127522 -6.436220 0
+ 4.226451 -4.054819 0
+ 7.101297 -3.261018 0
+ 7.530378 -0.557806 0
+ 6.028593 0.836709 0
+ 7.444562 2.853391 0
+ 6.371858 4.655533 0
+ 4.634079 4.011911 0
+ 4.569717 6.328950 0
+ 2.295585 7.530378 0
+ 1.351606 6.071501 0
+ -0.557806 6.092955 0
+ -1.029795 7.573286 0
+ -3.969003 6.629307 0
+ -3.604283 4.891528 0
+ -6.028593 4.719895 0
+ -7.272929 2.209769 0
+ -5.899869 0.793801 0
+ -7.702011 0.000000 0
+ -7.230021 -1.802142 0
+ -5.320609 -2.488672 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 1.072703 -5.020252 0
+ 2.574488 -6.522037 0
+ 4.011911 -5.642420 0
+ 3.368289 -3.132294 0
+ 6.243134 -2.338493 0
+ 6.436220 -1.094157 0
+ 4.634079 0.150178 0
+ 6.200226 2.510126 0
+ 5.513696 3.325381 0
+ 3.797370 3.282472 0
+ 3.711554 5.256247 0
+ 2.231223 6.071501 0
+ 1.008341 4.634079 0
+ -0.836709 4.891528 0
+ -1.265790 5.878415 0
+ -2.831937 5.470787 0
+ -2.853391 3.754462 0
+ -4.162089 3.711554 0
+ -5.020252 1.995228 0
+ -3.497013 0.557806 0
+ -4.934436 -0.193087 0
+ -4.698441 -1.222882 0
+ -2.402856 -1.651963 0
+ -3.282472 -3.218110 0
+ -1.845050 -4.333722 0
+ -1.265790 -5.599512 0
+ L3 65280 0.000000 -1.361033 -6.610733 0 -0.583300 -6.027433 0
+ L3 65280 0.000000 -1.944333 -6.221867 0 -2.138767 -5.249700 0
+ L3 65280 0.000000 -4.471967 -4.083100 0 -3.110933 -4.083100 0
+ L3 65280 0.000000 -5.444133 -3.694233 0 -4.860833 -3.110933 0
+ L3 65280 0.000000 -4.083100 -3.305367 0 -3.305367 -2.722067 0
+ L3 65280 0.000000 -3.694233 -2.138767 0 -4.860833 -1.944333 0
+ L3 65280 0.000000 -6.610733 -1.555467 0 -5.249700 -1.555467 0
+ L3 65280 0.000000 -6.610733 -0.388867 0 -5.444133 -0.972167 0
+ L3 65280 0.000000 -4.471967 0.583300 0 -5.444133 0.388867 0
+ L3 65280 0.000000 -5.249700 1.361033 0 -6.610733 2.138767 0
+ L3 65280 0.000000 -6.027433 2.916500 0 -5.055267 3.110933 0
+ L3 65280 0.000000 -4.666400 4.471967 0 -4.277533 3.888667 0
+ L3 65280 0.000000 -2.916500 5.833000 0 -3.305367 6.416300 0
+ L3 65280 0.000000 -1.749900 6.221867 0 -1.361033 6.805167 0
+ L3 65280 0.000000 -0.194433 5.249700 0 0.000000 5.833000 0
+ L3 65280 0.000000 0.972167 5.249700 0 0.388867 5.638567 0
+ L3 65280 0.000000 2.527633 6.221867 0 2.333200 6.999600 0
+ L3 65280 0.000000 3.694233 5.833000 0 4.277533 6.027433 0
+ L3 65280 0.000000 6.805167 2.722067 0 6.221867 2.916500 0
+ L3 65280 0.000000 5.833000 3.694233 0 6.221867 4.277533 0
+ L3 65280 0.000000 6.805167 -0.583300 0 6.027433 -0.388867 0
+ L3 65280 0.000000 -5.444133 -4.860833 0 -5.055267 -4.083100 0
+ L3 65280 0.000000 -6.221867 -3.694233 0 -5.638567 -4.083100 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 2.995397 -3.078602 0
+ 1.775050 -2.718045 0
+ 1.636374 -1.802785 0
+ 2.440694 -2.135607 0
+ F4 26624 0.000000 5 0
+ -1.164876 -3.688776 0
+ -1.053936 -3.050867 0
+ 0.138676 -2.523899 0
+ 0.471498 -3.300483 0
+ -0.138676 -3.882922 0
+ F4 26624 0.000000 4 0
+ 3.799716 0.138676 0
+ 2.357488 0.471498 0
+ 2.052401 -0.249616 0
+ 4.021597 -0.360557 0
+ F4 26624 0.000000 4 0
+ 0.915260 3.688776 0
+ 0.194146 3.134072 0
+ 0.388292 1.969196 0
+ 0.832055 2.135607 0
+ F4 26624 0.000000 3 0
+ 3.383689 2.773515 0
+ 2.995397 1.913726 0
+ 2.385223 2.440694 0
+ F4 26624 0.000000 5 0
+ -2.912191 0.332822 0
+ -2.523899 0.055470 0
+ -1.192612 -0.277352 0
+ -0.471498 0.471498 0
+ -2.135607 0.721114 0
+ F4 26624 0.000000 4 0
+ -2.551634 3.217278 0
+ -1.775050 3.023132 0
+ -1.220347 1.719580 0
+ -2.080137 1.941461 0
+ L3 26624 0.000000 0.388867 -4.277533 0 0.777733 -3.694233 0
+ L3 26624 0.000000 2.722067 -3.694233 0 1.749900 -3.305367 0
+ L3 26624 0.000000 3.110933 -4.666400 0 2.527633 -4.277533 0
+ L3 26624 0.000000 1.749900 -5.055267 0 1.361033 -4.277533 0
+ L3 26624 0.000000 -0.777733 -4.860833 0 -0.388867 -4.277533 0
+ L3 26624 0.000000 -2.333200 -3.110933 0 -1.555467 -3.110933 0
+ L3 26624 0.000000 -1.749900 -2.138767 0 -0.777733 -2.527633 0
+ L3 26624 0.000000 -2.333200 -1.166600 0 -1.555467 -0.583300 0
+ L3 26624 0.000000 -3.499800 -0.972167 0 -2.722067 -0.583300 0
+ L3 26624 0.000000 -4.471967 -0.388867 0 -3.499800 0.000000 0
+ L3 26624 0.000000 -3.110933 0.972167 0 -3.888667 1.749900 0
+ L3 26624 0.000000 -3.499800 2.722067 0 -2.916500 1.944333 0
+ L3 26624 0.000000 -2.138767 4.277533 0 -1.555467 3.499800 0
+ L3 26624 0.000000 -0.777733 3.499800 0 -0.972167 4.666400 0
+ L3 26624 0.000000 -0.583300 2.138767 0 -0.388867 2.916500 0
+ L3 26624 0.000000 1.361033 3.499800 0 1.749900 4.666400 0
+ L3 26624 0.000000 2.333200 3.305367 0 3.499800 3.888667 0
+ L3 26624 0.000000 5.249700 1.361033 0 4.277533 1.555467 0
+ L3 26624 0.000000 5.249700 3.110933 0 4.277533 2.722067 0
+ L3 26624 0.000000 5.638567 2.333200 0 4.666400 2.138767 0
+ L3 26624 0.000000 2.333200 5.638567 0 2.138767 4.860833 0
+ L3 26624 0.000000 3.499800 5.055267 0 2.916500 4.471967 0
+ L3 26624 0.000000 2.722067 5.249700 0 2.333200 4.083100 0
+ L3 26624 0.000000 5.833000 -0.972167 0 4.666400 -1.166600 0
+ L3 26624 0.000000 4.860833 -2.527633 0 3.888667 -1.944333 0
+ L3 26624 0.000000 5.833000 -1.944333 0 4.860833 -1.749900 0
+ L3 26624 0.000000 -1.944333 5.444133 0 -1.749900 4.666400 0
+ L3 26624 0.000000 -4.277533 2.722067 0 -3.694233 2.333200 0
+ L3 26624 0.000000 2.722067 -6.221867 0 2.333200 -5.249700 0
+ L3 26624 0.000000 3.499800 -5.638567 0 2.916500 -5.055267 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 16"" Decid-16b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -4.839564 4.591171 0
+ -4.153034 7.187113 0
+ -2.608341 7.852189 0
+ -0.870562 5.706782 0
+ 1.124667 7.573286 0
+ 3.527522 6.436220 0
+ 2.969717 -6.328950 0
+ 0.695585 -7.530378 0
+ -0.248394 -6.071501 0
+ -2.157806 -6.092955 0
+ -2.629795 -7.573286 0
+ -5.569003 -6.629307 0
+ -5.204283 -4.891528 0
+ -7.628593 -4.719895 0
+ -8.872929 -2.209769 0
+ -7.499869 -0.793801 0
+ -9.302011 0.000000 0
+ -8.830021 1.802142 0
+ -6.920609 2.488672 0
+ -8.293669 3.604283 0
+ -7.178058 5.620966 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -6.693669 3.604283 0
+ -5.578058 5.620966 0
+ -3.239564 4.591171 0
+ -2.553034 7.187113 0
+ -1.008341 7.852189 0
+ 0.729438 5.706782 0
+ 2.724667 7.573286 0
+ 5.127522 6.436220 0
+ 4.226451 4.054819 0
+ 7.101297 3.261018 0
+ 7.530378 0.557806 0
+ 6.028593 -0.836709 0
+ 7.444562 -2.853391 0
+ 6.371858 -4.655533 0
+ 4.634079 -4.011911 0
+ 4.569717 -6.328950 0
+ 2.295585 -7.530378 0
+ 1.351606 -6.071501 0
+ -0.557806 -6.092955 0
+ -1.029795 -7.573286 0
+ -3.969003 -6.629307 0
+ -3.604283 -4.891528 0
+ -6.028593 -4.719895 0
+ -7.272929 -2.209769 0
+ -5.899869 -0.793801 0
+ -7.702011 0.000000 0
+ -7.230021 1.802142 0
+ -5.320609 2.488672 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 1.072703 5.020252 0
+ 2.574488 6.522037 0
+ 4.011911 5.642420 0
+ 3.368289 3.132294 0
+ 6.243134 2.338493 0
+ 6.436220 1.094157 0
+ 4.634079 -0.150178 0
+ 6.200226 -2.510126 0
+ 5.513696 -3.325381 0
+ 3.797370 -3.282472 0
+ 3.711554 -5.256247 0
+ 2.231223 -6.071501 0
+ 1.008341 -4.634079 0
+ -0.836709 -4.891528 0
+ -1.265790 -5.878415 0
+ -2.831937 -5.470787 0
+ -2.853391 -3.754462 0
+ -4.162089 -3.711554 0
+ -5.020252 -1.995228 0
+ -3.497013 -0.557806 0
+ -4.934436 0.193087 0
+ -4.698441 1.222882 0
+ -2.402856 1.651963 0
+ -3.282472 3.218110 0
+ -1.845050 4.333722 0
+ -1.265790 5.599512 0
+ L3 65280 0.000000 -1.361033 6.610733 0 -0.583300 6.027433 0
+ L3 65280 0.000000 -1.944333 6.221867 0 -2.138767 5.249700 0
+ L3 65280 0.000000 -4.471967 4.083100 0 -3.110933 4.083100 0
+ L3 65280 0.000000 -5.444133 3.694233 0 -4.860833 3.110933 0
+ L3 65280 0.000000 -4.083100 3.305367 0 -3.305367 2.722067 0
+ L3 65280 0.000000 -3.694233 2.138767 0 -4.860833 1.944333 0
+ L3 65280 0.000000 -6.610733 1.555467 0 -5.249700 1.555467 0
+ L3 65280 0.000000 -6.610733 0.388867 0 -5.444133 0.972167 0
+ L3 65280 0.000000 -4.471967 -0.583300 0 -5.444133 -0.388867 0
+ L3 65280 0.000000 -5.249700 -1.361033 0 -6.610733 -2.138767 0
+ L3 65280 0.000000 -6.027433 -2.916500 0 -5.055267 -3.110933 0
+ L3 65280 0.000000 -4.666400 -4.471967 0 -4.277533 -3.888667 0
+ L3 65280 0.000000 -2.916500 -5.833000 0 -3.305367 -6.416300 0
+ L3 65280 0.000000 -1.749900 -6.221867 0 -1.361033 -6.805167 0
+ L3 65280 0.000000 -0.194433 -5.249700 0 0.000000 -5.833000 0
+ L3 65280 0.000000 0.972167 -5.249700 0 0.388867 -5.638567 0
+ L3 65280 0.000000 2.527633 -6.221867 0 2.333200 -6.999600 0
+ L3 65280 0.000000 3.694233 -5.833000 0 4.277533 -6.027433 0
+ L3 65280 0.000000 6.805167 -2.722067 0 6.221867 -2.916500 0
+ L3 65280 0.000000 5.833000 -3.694233 0 6.221867 -4.277533 0
+ L3 65280 0.000000 6.805167 0.583300 0 6.027433 0.388867 0
+ L3 65280 0.000000 -5.444133 4.860833 0 -5.055267 4.083100 0
+ L3 65280 0.000000 -6.221867 3.694233 0 -5.638567 4.083100 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 2.995397 3.078602 0
+ 1.775050 2.718045 0
+ 1.636374 1.802785 0
+ 2.440694 2.135607 0
+ F4 26624 0.000000 5 0
+ -1.164876 3.688776 0
+ -1.053936 3.050867 0
+ 0.138676 2.523899 0
+ 0.471498 3.300483 0
+ -0.138676 3.882922 0
+ F4 26624 0.000000 4 0
+ 3.799716 -0.138676 0
+ 2.357488 -0.471498 0
+ 2.052401 0.249616 0
+ 4.021597 0.360557 0
+ F4 26624 0.000000 4 0
+ 0.915260 -3.688776 0
+ 0.194146 -3.134072 0
+ 0.388292 -1.969196 0
+ 0.832055 -2.135607 0
+ F4 26624 0.000000 3 0
+ 3.383689 -2.773515 0
+ 2.995397 -1.913726 0
+ 2.385223 -2.440694 0
+ F4 26624 0.000000 5 0
+ -2.912191 -0.332822 0
+ -2.523899 -0.055470 0
+ -1.192612 0.277352 0
+ -0.471498 -0.471498 0
+ -2.135607 -0.721114 0
+ F4 26624 0.000000 4 0
+ -2.551634 -3.217278 0
+ -1.775050 -3.023132 0
+ -1.220347 -1.719580 0
+ -2.080137 -1.941461 0
+ L3 26624 0.000000 0.388867 4.277533 0 0.777733 3.694233 0
+ L3 26624 0.000000 2.722067 3.694233 0 1.749900 3.305367 0
+ L3 26624 0.000000 3.110933 4.666400 0 2.527633 4.277533 0
+ L3 26624 0.000000 1.749900 5.055267 0 1.361033 4.277533 0
+ L3 26624 0.000000 -0.777733 4.860833 0 -0.388867 4.277533 0
+ L3 26624 0.000000 -2.333200 3.110933 0 -1.555467 3.110933 0
+ L3 26624 0.000000 -1.749900 2.138767 0 -0.777733 2.527633 0
+ L3 26624 0.000000 -2.333200 1.166600 0 -1.555467 0.583300 0
+ L3 26624 0.000000 -3.499800 0.972167 0 -2.722067 0.583300 0
+ L3 26624 0.000000 -4.471967 0.388867 0 -3.499800 0.000000 0
+ L3 26624 0.000000 -3.110933 -0.972167 0 -3.888667 -1.749900 0
+ L3 26624 0.000000 -3.499800 -2.722067 0 -2.916500 -1.944333 0
+ L3 26624 0.000000 -2.138767 -4.277533 0 -1.555467 -3.499800 0
+ L3 26624 0.000000 -0.777733 -3.499800 0 -0.972167 -4.666400 0
+ L3 26624 0.000000 -0.583300 -2.138767 0 -0.388867 -2.916500 0
+ L3 26624 0.000000 1.361033 -3.499800 0 1.749900 -4.666400 0
+ L3 26624 0.000000 2.333200 -3.305367 0 3.499800 -3.888667 0
+ L3 26624 0.000000 5.249700 -1.361033 0 4.277533 -1.555467 0
+ L3 26624 0.000000 5.249700 -3.110933 0 4.277533 -2.722067 0
+ L3 26624 0.000000 5.638567 -2.333200 0 4.666400 -2.138767 0
+ L3 26624 0.000000 2.333200 -5.638567 0 2.138767 -4.860833 0
+ L3 26624 0.000000 3.499800 -5.055267 0 2.916500 -4.471967 0
+ L3 26624 0.000000 2.722067 -5.249700 0 2.333200 -4.083100 0
+ L3 26624 0.000000 5.833000 0.972167 0 4.666400 1.166600 0
+ L3 26624 0.000000 4.860833 2.527633 0 3.888667 1.944333 0
+ L3 26624 0.000000 5.833000 1.944333 0 4.860833 1.749900 0
+ L3 26624 0.000000 -1.944333 -5.444133 0 -1.749900 -4.666400 0
+ L3 26624 0.000000 -4.277533 -2.722067 0 -3.694233 -2.333200 0
+ L3 26624 0.000000 2.722067 6.221867 0 2.333200 5.249700 0
+ L3 26624 0.000000 3.499800 5.638567 0 2.916500 5.055267 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 18"" Decid-18a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -5.444510 -5.165067 0
+ -4.672163 -8.085502 0
+ -2.934384 -8.833713 0
+ -0.979382 -6.420130 0
+ 1.265250 -8.519947 0
+ 3.968463 -7.240748 0
+ 3.340931 7.120069 0
+ 0.782533 8.471675 0
+ -0.279443 6.830439 0
+ -2.427531 6.854575 0
+ -2.958520 8.519947 0
+ -6.265128 7.457970 0
+ -5.854819 5.502969 0
+ -8.582167 5.309882 0
+ -9.982045 2.485990 0
+ -8.437352 0.893026 0
+ -10.464762 0.000000 0
+ -9.933774 -2.027409 0
+ -7.785685 -2.799756 0
+ -9.330378 -4.054819 0
+ -8.075315 -6.323587 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -7.530378 -4.054819 0
+ -6.275315 -6.323587 0
+ -3.644510 -5.165067 0
+ -2.872163 -8.085502 0
+ -1.134384 -8.833713 0
+ 0.820618 -6.420130 0
+ 3.065250 -8.519947 0
+ 5.768463 -7.240748 0
+ 4.754758 -4.561671 0
+ 7.988959 -3.668646 0
+ 8.471675 -0.627531 0
+ 6.782167 0.941297 0
+ 8.375132 3.210065 0
+ 7.168341 5.237474 0
+ 5.213339 4.513400 0
+ 5.140931 7.120069 0
+ 2.582533 8.471675 0
+ 1.520557 6.830439 0
+ -0.627531 6.854575 0
+ -1.158520 8.519947 0
+ -4.465128 7.457970 0
+ -4.054819 5.502969 0
+ -6.782167 5.309882 0
+ -8.182045 2.485990 0
+ -6.637352 0.893026 0
+ -8.664762 0.000000 0
+ -8.133774 -2.027409 0
+ -5.985685 -2.799756 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 1.206791 -5.647783 0
+ 2.896299 -7.337291 0
+ 4.513400 -6.347722 0
+ 3.789325 -3.523831 0
+ 7.023526 -2.630805 0
+ 7.240748 -1.230927 0
+ 5.213339 0.168951 0
+ 6.975254 2.823892 0
+ 6.202908 3.741053 0
+ 4.272041 3.692782 0
+ 4.175498 5.913278 0
+ 2.510126 6.830439 0
+ 1.134384 5.213339 0
+ -0.941297 5.502969 0
+ -1.424014 6.613217 0
+ -3.185929 6.154636 0
+ -3.210065 4.223770 0
+ -4.682350 4.175498 0
+ -5.647783 2.244632 0
+ -3.934140 0.627531 0
+ -5.551240 -0.217222 0
+ -5.285746 -1.375742 0
+ -2.703213 -1.858459 0
+ -3.692782 -3.620374 0
+ -2.075681 -4.875437 0
+ -1.424014 -6.299451 0
+ L3 65280 0.000000 -1.531162 -7.437075 0 -0.656212 -6.780862 0
+ L3 65280 0.000000 -2.187375 -6.999600 0 -2.406112 -5.905912 0
+ L3 65280 0.000000 -5.030962 -4.593487 0 -3.499800 -4.593487 0
+ L3 65280 0.000000 -6.124650 -4.156012 0 -5.468437 -3.499800 0
+ L3 65280 0.000000 -4.593487 -3.718537 0 -3.718537 -3.062325 0
+ L3 65280 0.000000 -4.156012 -2.406112 0 -5.468437 -2.187375 0
+ L3 65280 0.000000 -7.437075 -1.749900 0 -5.905912 -1.749900 0
+ L3 65280 0.000000 -7.437075 -0.437475 0 -6.124650 -1.093687 0
+ L3 65280 0.000000 -5.030962 0.656212 0 -6.124650 0.437475 0
+ L3 65280 0.000000 -5.905912 1.531162 0 -7.437075 2.406112 0
+ L3 65280 0.000000 -6.780862 3.281062 0 -5.687175 3.499800 0
+ L3 65280 0.000000 -5.249700 5.030962 0 -4.812225 4.374750 0
+ L3 65280 0.000000 -3.281062 6.562125 0 -3.718537 7.218337 0
+ L3 65280 0.000000 -1.968637 6.999600 0 -1.531162 7.655812 0
+ L3 65280 0.000000 -0.218737 5.905912 0 0.000000 6.562125 0
+ L3 65280 0.000000 1.093687 5.905912 0 0.437475 6.343387 0
+ L3 65280 0.000000 2.843587 6.999600 0 2.624850 7.874550 0
+ L3 65280 0.000000 4.156012 6.562125 0 4.812225 6.780862 0
+ L3 65280 0.000000 7.655812 3.062325 0 6.999600 3.281062 0
+ L3 65280 0.000000 6.562125 4.156012 0 6.999600 4.812225 0
+ L3 65280 0.000000 7.655812 -0.656212 0 6.780862 -0.437475 0
+ L3 65280 0.000000 -6.124650 -5.468437 0 -5.687175 -4.593487 0
+ L3 65280 0.000000 -6.999600 -4.156012 0 -6.343387 -4.593487 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 3.369821 -3.463427 0
+ 1.996931 -3.057801 0
+ 1.840921 -2.028133 0
+ 2.745780 -2.402558 0
+ F4 26624 0.000000 5 0
+ -1.310486 -4.149872 0
+ -1.185678 -3.432225 0
+ 0.156010 -2.839386 0
+ 0.530435 -3.713044 0
+ -0.156010 -4.368287 0
+ F4 26624 0.000000 4 0
+ 4.274681 0.156010 0
+ 2.652174 0.530435 0
+ 2.308952 -0.280818 0
+ 4.524297 -0.405627 0
+ F4 26624 0.000000 4 0
+ 1.029668 4.149872 0
+ 0.218414 3.525832 0
+ 0.436829 2.215345 0
+ 0.936061 2.402558 0
+ F4 26624 0.000000 3 0
+ 3.806650 3.120205 0
+ 3.369821 2.152941 0
+ 2.683376 2.745780 0
+ F4 26624 0.000000 5 0
+ -3.276215 0.374425 0
+ -2.839386 0.062404 0
+ -1.341688 -0.312020 0
+ -0.530435 0.530435 0
+ -2.402558 0.811253 0
+ F4 26624 0.000000 4 0
+ -2.870588 3.619438 0
+ -1.996931 3.401023 0
+ -1.372890 1.934527 0
+ -2.340154 2.184143 0
+ L3 26624 0.000000 0.437475 -4.812225 0 0.874950 -4.156012 0
+ L3 26624 0.000000 3.062325 -4.156012 0 1.968637 -3.718537 0
+ L3 26624 0.000000 3.499800 -5.249700 0 2.843587 -4.812225 0
+ L3 26624 0.000000 1.968637 -5.687175 0 1.531162 -4.812225 0
+ L3 26624 0.000000 -0.874950 -5.468437 0 -0.437475 -4.812225 0
+ L3 26624 0.000000 -2.624850 -3.499800 0 -1.749900 -3.499800 0
+ L3 26624 0.000000 -1.968637 -2.406112 0 -0.874950 -2.843587 0
+ L3 26624 0.000000 -2.624850 -1.312425 0 -1.749900 -0.656212 0
+ L3 26624 0.000000 -3.937275 -1.093687 0 -3.062325 -0.656212 0
+ L3 26624 0.000000 -5.030962 -0.437475 0 -3.937275 0.000000 0
+ L3 26624 0.000000 -3.499800 1.093687 0 -4.374750 1.968637 0
+ L3 26624 0.000000 -3.937275 3.062325 0 -3.281062 2.187375 0
+ L3 26624 0.000000 -2.406112 4.812225 0 -1.749900 3.937275 0
+ L3 26624 0.000000 -0.874950 3.937275 0 -1.093687 5.249700 0
+ L3 26624 0.000000 -0.656212 2.406112 0 -0.437475 3.281062 0
+ L3 26624 0.000000 1.531162 3.937275 0 1.968637 5.249700 0
+ L3 26624 0.000000 2.624850 3.718537 0 3.937275 4.374750 0
+ L3 26624 0.000000 5.905912 1.531162 0 4.812225 1.749900 0
+ L3 26624 0.000000 5.905912 3.499800 0 4.812225 3.062325 0
+ L3 26624 0.000000 6.343387 2.624850 0 5.249700 2.406112 0
+ L3 26624 0.000000 2.624850 6.343387 0 2.406112 5.468437 0
+ L3 26624 0.000000 3.937275 5.687175 0 3.281062 5.030962 0
+ L3 26624 0.000000 3.062325 5.905912 0 2.624850 4.593487 0
+ L3 26624 0.000000 6.562125 -1.093687 0 5.249700 -1.312425 0
+ L3 26624 0.000000 5.468437 -2.843587 0 4.374750 -2.187375 0
+ L3 26624 0.000000 6.562125 -2.187375 0 5.468437 -1.968637 0
+ L3 26624 0.000000 -2.187375 6.124650 0 -1.968637 5.249700 0
+ L3 26624 0.000000 -4.812225 3.062325 0 -4.156012 2.624850 0
+ L3 26624 0.000000 3.062325 -6.999600 0 2.624850 -5.905912 0
+ L3 26624 0.000000 3.937275 -6.343387 0 3.281062 -5.687175 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 18"" Decid-18b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -5.444510 5.165067 0
+ -4.672163 8.085502 0
+ -2.934384 8.833713 0
+ -0.979382 6.420130 0
+ 1.265250 8.519947 0
+ 3.968463 7.240748 0
+ 3.340931 -7.120069 0
+ 0.782533 -8.471675 0
+ -0.279443 -6.830439 0
+ -2.427531 -6.854575 0
+ -2.958520 -8.519947 0
+ -6.265128 -7.457970 0
+ -5.854819 -5.502969 0
+ -8.582167 -5.309882 0
+ -9.982045 -2.485990 0
+ -8.437352 -0.893026 0
+ -10.464762 0.000000 0
+ -9.933774 2.027409 0
+ -7.785685 2.799756 0
+ -9.330378 4.054819 0
+ -8.075315 6.323587 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -7.530378 4.054819 0
+ -6.275315 6.323587 0
+ -3.644510 5.165067 0
+ -2.872163 8.085502 0
+ -1.134384 8.833713 0
+ 0.820618 6.420130 0
+ 3.065250 8.519947 0
+ 5.768463 7.240748 0
+ 4.754758 4.561671 0
+ 7.988959 3.668646 0
+ 8.471675 0.627531 0
+ 6.782167 -0.941297 0
+ 8.375132 -3.210065 0
+ 7.168341 -5.237474 0
+ 5.213339 -4.513400 0
+ 5.140931 -7.120069 0
+ 2.582533 -8.471675 0
+ 1.520557 -6.830439 0
+ -0.627531 -6.854575 0
+ -1.158520 -8.519947 0
+ -4.465128 -7.457970 0
+ -4.054819 -5.502969 0
+ -6.782167 -5.309882 0
+ -8.182045 -2.485990 0
+ -6.637352 -0.893026 0
+ -8.664762 0.000000 0
+ -8.133774 2.027409 0
+ -5.985685 2.799756 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 1.206791 5.647783 0
+ 2.896299 7.337291 0
+ 4.513400 6.347722 0
+ 3.789325 3.523831 0
+ 7.023526 2.630805 0
+ 7.240748 1.230927 0
+ 5.213339 -0.168951 0
+ 6.975254 -2.823892 0
+ 6.202908 -3.741053 0
+ 4.272041 -3.692782 0
+ 4.175498 -5.913278 0
+ 2.510126 -6.830439 0
+ 1.134384 -5.213339 0
+ -0.941297 -5.502969 0
+ -1.424014 -6.613217 0
+ -3.185929 -6.154636 0
+ -3.210065 -4.223770 0
+ -4.682350 -4.175498 0
+ -5.647783 -2.244632 0
+ -3.934140 -0.627531 0
+ -5.551240 0.217222 0
+ -5.285746 1.375742 0
+ -2.703213 1.858459 0
+ -3.692782 3.620374 0
+ -2.075681 4.875437 0
+ -1.424014 6.299451 0
+ L3 65280 0.000000 -1.531162 7.437075 0 -0.656212 6.780862 0
+ L3 65280 0.000000 -2.187375 6.999600 0 -2.406112 5.905912 0
+ L3 65280 0.000000 -5.030962 4.593487 0 -3.499800 4.593487 0
+ L3 65280 0.000000 -6.124650 4.156012 0 -5.468437 3.499800 0
+ L3 65280 0.000000 -4.593487 3.718537 0 -3.718537 3.062325 0
+ L3 65280 0.000000 -4.156012 2.406112 0 -5.468437 2.187375 0
+ L3 65280 0.000000 -7.437075 1.749900 0 -5.905912 1.749900 0
+ L3 65280 0.000000 -7.437075 0.437475 0 -6.124650 1.093687 0
+ L3 65280 0.000000 -5.030962 -0.656212 0 -6.124650 -0.437475 0
+ L3 65280 0.000000 -5.905912 -1.531162 0 -7.437075 -2.406112 0
+ L3 65280 0.000000 -6.780862 -3.281062 0 -5.687175 -3.499800 0
+ L3 65280 0.000000 -5.249700 -5.030962 0 -4.812225 -4.374750 0
+ L3 65280 0.000000 -3.281062 -6.562125 0 -3.718537 -7.218337 0
+ L3 65280 0.000000 -1.968637 -6.999600 0 -1.531162 -7.655812 0
+ L3 65280 0.000000 -0.218737 -5.905912 0 0.000000 -6.562125 0
+ L3 65280 0.000000 1.093687 -5.905912 0 0.437475 -6.343387 0
+ L3 65280 0.000000 2.843587 -6.999600 0 2.624850 -7.874550 0
+ L3 65280 0.000000 4.156012 -6.562125 0 4.812225 -6.780862 0
+ L3 65280 0.000000 7.655812 -3.062325 0 6.999600 -3.281062 0
+ L3 65280 0.000000 6.562125 -4.156012 0 6.999600 -4.812225 0
+ L3 65280 0.000000 7.655812 0.656212 0 6.780862 0.437475 0
+ L3 65280 0.000000 -6.124650 5.468437 0 -5.687175 4.593487 0
+ L3 65280 0.000000 -6.999600 4.156012 0 -6.343387 4.593487 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 3.369821 3.463427 0
+ 1.996931 3.057801 0
+ 1.840921 2.028133 0
+ 2.745780 2.402558 0
+ F4 26624 0.000000 5 0
+ -1.310486 4.149872 0
+ -1.185678 3.432225 0
+ 0.156010 2.839386 0
+ 0.530435 3.713044 0
+ -0.156010 4.368287 0
+ F4 26624 0.000000 4 0
+ 4.274681 -0.156010 0
+ 2.652174 -0.530435 0
+ 2.308952 0.280818 0
+ 4.524297 0.405627 0
+ F4 26624 0.000000 4 0
+ 1.029668 -4.149872 0
+ 0.218414 -3.525832 0
+ 0.436829 -2.215345 0
+ 0.936061 -2.402558 0
+ F4 26624 0.000000 3 0
+ 3.806650 -3.120205 0
+ 3.369821 -2.152941 0
+ 2.683376 -2.745780 0
+ F4 26624 0.000000 5 0
+ -3.276215 -0.374425 0
+ -2.839386 -0.062404 0
+ -1.341688 0.312020 0
+ -0.530435 -0.530435 0
+ -2.402558 -0.811253 0
+ F4 26624 0.000000 4 0
+ -2.870588 -3.619438 0
+ -1.996931 -3.401023 0
+ -1.372890 -1.934527 0
+ -2.340154 -2.184143 0
+ L3 26624 0.000000 0.437475 4.812225 0 0.874950 4.156012 0
+ L3 26624 0.000000 3.062325 4.156012 0 1.968637 3.718537 0
+ L3 26624 0.000000 3.499800 5.249700 0 2.843587 4.812225 0
+ L3 26624 0.000000 1.968637 5.687175 0 1.531162 4.812225 0
+ L3 26624 0.000000 -0.874950 5.468437 0 -0.437475 4.812225 0
+ L3 26624 0.000000 -2.624850 3.499800 0 -1.749900 3.499800 0
+ L3 26624 0.000000 -1.968637 2.406112 0 -0.874950 2.843587 0
+ L3 26624 0.000000 -2.624850 1.312425 0 -1.749900 0.656212 0
+ L3 26624 0.000000 -3.937275 1.093687 0 -3.062325 0.656212 0
+ L3 26624 0.000000 -5.030962 0.437475 0 -3.937275 0.000000 0
+ L3 26624 0.000000 -3.499800 -1.093687 0 -4.374750 -1.968637 0
+ L3 26624 0.000000 -3.937275 -3.062325 0 -3.281062 -2.187375 0
+ L3 26624 0.000000 -2.406112 -4.812225 0 -1.749900 -3.937275 0
+ L3 26624 0.000000 -0.874950 -3.937275 0 -1.093687 -5.249700 0
+ L3 26624 0.000000 -0.656212 -2.406112 0 -0.437475 -3.281062 0
+ L3 26624 0.000000 1.531162 -3.937275 0 1.968637 -5.249700 0
+ L3 26624 0.000000 2.624850 -3.718537 0 3.937275 -4.374750 0
+ L3 26624 0.000000 5.905912 -1.531162 0 4.812225 -1.749900 0
+ L3 26624 0.000000 5.905912 -3.499800 0 4.812225 -3.062325 0
+ L3 26624 0.000000 6.343387 -2.624850 0 5.249700 -2.406112 0
+ L3 26624 0.000000 2.624850 -6.343387 0 2.406112 -5.468437 0
+ L3 26624 0.000000 3.937275 -5.687175 0 3.281062 -5.030962 0
+ L3 26624 0.000000 3.062325 -5.905912 0 2.624850 -4.593487 0
+ L3 26624 0.000000 6.562125 1.093687 0 5.249700 1.312425 0
+ L3 26624 0.000000 5.468437 2.843587 0 4.374750 2.187375 0
+ L3 26624 0.000000 6.562125 2.187375 0 5.468437 1.968637 0
+ L3 26624 0.000000 -2.187375 -6.124650 0 -1.968637 -5.249700 0
+ L3 26624 0.000000 -4.812225 -3.062325 0 -4.156012 -2.624850 0
+ L3 26624 0.000000 3.062325 6.999600 0 2.624850 5.905912 0
+ L3 26624 0.000000 3.937275 6.343387 0 3.281062 5.687175 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 20"" Decid-20a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -6.049455 -5.738963 0
+ -5.191293 -8.983891 0
+ -3.260427 -9.815236 0
+ -1.088202 -7.133478 0
+ 1.405833 -9.466608 0
+ 4.409403 -8.045276 0
+ 3.712146 7.911188 0
+ 0.869482 9.412972 0
+ -0.310492 7.589377 0
+ -2.697257 7.616194 0
+ -3.287244 9.466608 0
+ -6.961253 8.286634 0
+ -6.505354 6.114409 0
+ -9.535741 5.899869 0
+ -11.091161 2.762211 0
+ -9.374836 0.992251 0
+ -11.627513 0.000000 0
+ -11.037526 -2.252677 0
+ -8.650761 -3.110840 0
+ -10.367087 -4.505354 0
+ -8.972572 -7.026207 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -8.367087 -4.505354 0
+ -6.972572 -7.026207 0
+ -4.049455 -5.738963 0
+ -3.191293 -8.983891 0
+ -1.260427 -9.815236 0
+ 0.911798 -7.133478 0
+ 3.405833 -9.466608 0
+ 6.409403 -8.045276 0
+ 5.283064 -5.068524 0
+ 8.876621 -4.076273 0
+ 9.412972 -0.697257 0
+ 7.535741 1.045886 0
+ 9.305702 3.566739 0
+ 7.964823 5.819416 0
+ 5.792598 5.014888 0
+ 5.712146 7.911188 0
+ 2.869482 9.412972 0
+ 1.689508 7.589377 0
+ -0.697257 7.616194 0
+ -1.287244 9.466608 0
+ -4.961253 8.286634 0
+ -4.505354 6.114409 0
+ -7.535741 5.899869 0
+ -9.091161 2.762211 0
+ -7.374836 0.992251 0
+ -9.627513 0.000000 0
+ -9.037526 -2.252677 0
+ -6.650761 -3.110840 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 1.340879 -6.275315 0
+ 3.218110 -8.152546 0
+ 5.014888 -7.053025 0
+ 4.210361 -3.915367 0
+ 7.803917 -2.923117 0
+ 8.045276 -1.367697 0
+ 5.792598 0.187723 0
+ 7.750282 3.137657 0
+ 6.892119 4.156726 0
+ 4.746713 4.103091 0
+ 4.639442 6.570308 0
+ 2.789029 7.589377 0
+ 1.260427 5.792598 0
+ -1.045886 6.114409 0
+ -1.582238 7.348018 0
+ -3.539921 6.838484 0
+ -3.566739 4.693077 0
+ -5.202612 4.639442 0
+ -6.275315 2.494035 0
+ -4.371266 0.697257 0
+ -6.168045 -0.241358 0
+ -5.873051 -1.528602 0
+ -3.003570 -2.064954 0
+ -4.103091 -4.022638 0
+ -2.306312 -5.417152 0
+ -1.582238 -6.999390 0
+ L3 65280 0.000000 -1.701292 -8.263417 0 -0.729125 -7.534292 0
+ L3 65280 0.000000 -2.430417 -7.777333 0 -2.673458 -6.562125 0
+ L3 65280 0.000000 -5.589958 -5.103875 0 -3.888667 -5.103875 0
+ L3 65280 0.000000 -6.805167 -4.617792 0 -6.076042 -3.888667 0
+ L3 65280 0.000000 -5.103875 -4.131708 0 -4.131708 -3.402583 0
+ L3 65280 0.000000 -4.617792 -2.673458 0 -6.076042 -2.430417 0
+ L3 65280 0.000000 -8.263417 -1.944333 0 -6.562125 -1.944333 0
+ L3 65280 0.000000 -8.263417 -0.486083 0 -6.805167 -1.215208 0
+ L3 65280 0.000000 -5.589958 0.729125 0 -6.805167 0.486083 0
+ L3 65280 0.000000 -6.562125 1.701292 0 -8.263417 2.673458 0
+ L3 65280 0.000000 -7.534292 3.645625 0 -6.319083 3.888667 0
+ L3 65280 0.000000 -5.833000 5.589958 0 -5.346917 4.860833 0
+ L3 65280 0.000000 -3.645625 7.291250 0 -4.131708 8.020375 0
+ L3 65280 0.000000 -2.187375 7.777333 0 -1.701292 8.506458 0
+ L3 65280 0.000000 -0.243042 6.562125 0 0.000000 7.291250 0
+ L3 65280 0.000000 1.215208 6.562125 0 0.486083 7.048208 0
+ L3 65280 0.000000 3.159542 7.777333 0 2.916500 8.749500 0
+ L3 65280 0.000000 4.617792 7.291250 0 5.346917 7.534292 0
+ L3 65280 0.000000 8.506458 3.402583 0 7.777333 3.645625 0
+ L3 65280 0.000000 7.291250 4.617792 0 7.777333 5.346917 0
+ L3 65280 0.000000 8.506458 -0.729125 0 7.534292 -0.486083 0
+ L3 65280 0.000000 -6.805167 -6.076042 0 -6.319083 -5.103875 0
+ L3 65280 0.000000 -7.777333 -4.617792 0 -7.048208 -5.103875 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 3.744246 -3.848253 0
+ 2.218812 -3.397556 0
+ 2.045468 -2.253481 0
+ 3.050867 -2.669509 0
+ F4 26624 0.000000 5 0
+ -1.456096 -4.610969 0
+ -1.317420 -3.813584 0
+ 0.173345 -3.154874 0
+ 0.589372 -4.125604 0
+ -0.173345 -4.853652 0
+ F4 26624 0.000000 4 0
+ 4.749645 0.173345 0
+ 2.946860 0.589372 0
+ 2.565502 -0.312020 0
+ 5.026997 -0.450696 0
+ F4 26624 0.000000 4 0
+ 1.144075 4.610969 0
+ 0.242683 3.917591 0
+ 0.485365 2.461495 0
+ 1.040068 2.669509 0
+ F4 26624 0.000000 3 0
+ 4.229611 3.466894 0
+ 3.744246 2.392157 0
+ 2.981529 3.050867 0
+ F4 26624 0.000000 5 0
+ -3.640239 0.416027 0
+ -3.154874 0.069338 0
+ -1.490765 -0.346689 0
+ -0.589372 0.589372 0
+ -2.669509 0.901393 0
+ F4 26624 0.000000 4 0
+ -3.189543 4.021597 0
+ -2.218812 3.778915 0
+ -1.525433 2.149474 0
+ -2.600171 2.426826 0
+ L3 26624 0.000000 0.486083 -5.346917 0 0.972167 -4.617792 0
+ L3 26624 0.000000 3.402583 -4.617792 0 2.187375 -4.131708 0
+ L3 26624 0.000000 3.888667 -5.833000 0 3.159542 -5.346917 0
+ L3 26624 0.000000 2.187375 -6.319083 0 1.701292 -5.346917 0
+ L3 26624 0.000000 -0.972167 -6.076042 0 -0.486083 -5.346917 0
+ L3 26624 0.000000 -2.916500 -3.888667 0 -1.944333 -3.888667 0
+ L3 26624 0.000000 -2.187375 -2.673458 0 -0.972167 -3.159542 0
+ L3 26624 0.000000 -2.916500 -1.458250 0 -1.944333 -0.729125 0
+ L3 26624 0.000000 -4.374750 -1.215208 0 -3.402583 -0.729125 0
+ L3 26624 0.000000 -5.589958 -0.486083 0 -4.374750 0.000000 0
+ L3 26624 0.000000 -3.888667 1.215208 0 -4.860833 2.187375 0
+ L3 26624 0.000000 -4.374750 3.402583 0 -3.645625 2.430417 0
+ L3 26624 0.000000 -2.673458 5.346917 0 -1.944333 4.374750 0
+ L3 26624 0.000000 -0.972167 4.374750 0 -1.215208 5.833000 0
+ L3 26624 0.000000 -0.729125 2.673458 0 -0.486083 3.645625 0
+ L3 26624 0.000000 1.701292 4.374750 0 2.187375 5.833000 0
+ L3 26624 0.000000 2.916500 4.131708 0 4.374750 4.860833 0
+ L3 26624 0.000000 6.562125 1.701292 0 5.346917 1.944333 0
+ L3 26624 0.000000 6.562125 3.888667 0 5.346917 3.402583 0
+ L3 26624 0.000000 7.048208 2.916500 0 5.833000 2.673458 0
+ L3 26624 0.000000 2.916500 7.048208 0 2.673458 6.076042 0
+ L3 26624 0.000000 4.374750 6.319083 0 3.645625 5.589958 0
+ L3 26624 0.000000 3.402583 6.562125 0 2.916500 5.103875 0
+ L3 26624 0.000000 7.291250 -1.215208 0 5.833000 -1.458250 0
+ L3 26624 0.000000 6.076042 -3.159542 0 4.860833 -2.430417 0
+ L3 26624 0.000000 7.291250 -2.430417 0 6.076042 -2.187375 0
+ L3 26624 0.000000 -2.430417 6.805167 0 -2.187375 5.833000 0
+ L3 26624 0.000000 -5.346917 3.402583 0 -4.617792 2.916500 0
+ L3 26624 0.000000 3.402583 -7.777333 0 2.916500 -6.562125 0
+ L3 26624 0.000000 4.374750 -7.048208 0 3.645625 -6.319083 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 20"" Decid-20b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -6.049455 5.738963 0
+ -5.191293 8.983891 0
+ -3.260427 9.815236 0
+ -1.088202 7.133478 0
+ 1.405833 9.466608 0
+ 4.409403 8.045276 0
+ 3.712146 -7.911188 0
+ 0.869482 -9.412972 0
+ -0.310492 -7.589377 0
+ -2.697257 -7.616194 0
+ -3.287244 -9.466608 0
+ -6.961253 -8.286634 0
+ -6.505354 -6.114409 0
+ -9.535741 -5.899869 0
+ -11.091161 -2.762211 0
+ -9.374836 -0.992251 0
+ -11.627513 0.000000 0
+ -11.037526 2.252677 0
+ -8.650761 3.110840 0
+ -10.367087 4.505354 0
+ -8.972572 7.026207 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -8.367087 4.505354 0
+ -6.972572 7.026207 0
+ -4.049455 5.738963 0
+ -3.191293 8.983891 0
+ -1.260427 9.815236 0
+ 0.911798 7.133478 0
+ 3.405833 9.466608 0
+ 6.409403 8.045276 0
+ 5.283064 5.068524 0
+ 8.876621 4.076273 0
+ 9.412972 0.697257 0
+ 7.535741 -1.045886 0
+ 9.305702 -3.566739 0
+ 7.964823 -5.819416 0
+ 5.792598 -5.014888 0
+ 5.712146 -7.911188 0
+ 2.869482 -9.412972 0
+ 1.689508 -7.589377 0
+ -0.697257 -7.616194 0
+ -1.287244 -9.466608 0
+ -4.961253 -8.286634 0
+ -4.505354 -6.114409 0
+ -7.535741 -5.899869 0
+ -9.091161 -2.762211 0
+ -7.374836 -0.992251 0
+ -9.627513 0.000000 0
+ -9.037526 2.252677 0
+ -6.650761 3.110840 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 1.340879 6.275315 0
+ 3.218110 8.152546 0
+ 5.014888 7.053025 0
+ 4.210361 3.915367 0
+ 7.803917 2.923117 0
+ 8.045276 1.367697 0
+ 5.792598 -0.187723 0
+ 7.750282 -3.137657 0
+ 6.892119 -4.156726 0
+ 4.746713 -4.103091 0
+ 4.639442 -6.570308 0
+ 2.789029 -7.589377 0
+ 1.260427 -5.792598 0
+ -1.045886 -6.114409 0
+ -1.582238 -7.348018 0
+ -3.539921 -6.838484 0
+ -3.566739 -4.693077 0
+ -5.202612 -4.639442 0
+ -6.275315 -2.494035 0
+ -4.371266 -0.697257 0
+ -6.168045 0.241358 0
+ -5.873051 1.528602 0
+ -3.003570 2.064954 0
+ -4.103091 4.022638 0
+ -2.306312 5.417152 0
+ -1.582238 6.999390 0
+ L3 65280 0.000000 -1.701292 8.263417 0 -0.729125 7.534292 0
+ L3 65280 0.000000 -2.430417 7.777333 0 -2.673458 6.562125 0
+ L3 65280 0.000000 -5.589958 5.103875 0 -3.888667 5.103875 0
+ L3 65280 0.000000 -6.805167 4.617792 0 -6.076042 3.888667 0
+ L3 65280 0.000000 -5.103875 4.131708 0 -4.131708 3.402583 0
+ L3 65280 0.000000 -4.617792 2.673458 0 -6.076042 2.430417 0
+ L3 65280 0.000000 -8.263417 1.944333 0 -6.562125 1.944333 0
+ L3 65280 0.000000 -8.263417 0.486083 0 -6.805167 1.215208 0
+ L3 65280 0.000000 -5.589958 -0.729125 0 -6.805167 -0.486083 0
+ L3 65280 0.000000 -6.562125 -1.701292 0 -8.263417 -2.673458 0
+ L3 65280 0.000000 -7.534292 -3.645625 0 -6.319083 -3.888667 0
+ L3 65280 0.000000 -5.833000 -5.589958 0 -5.346917 -4.860833 0
+ L3 65280 0.000000 -3.645625 -7.291250 0 -4.131708 -8.020375 0
+ L3 65280 0.000000 -2.187375 -7.777333 0 -1.701292 -8.506458 0
+ L3 65280 0.000000 -0.243042 -6.562125 0 0.000000 -7.291250 0
+ L3 65280 0.000000 1.215208 -6.562125 0 0.486083 -7.048208 0
+ L3 65280 0.000000 3.159542 -7.777333 0 2.916500 -8.749500 0
+ L3 65280 0.000000 4.617792 -7.291250 0 5.346917 -7.534292 0
+ L3 65280 0.000000 8.506458 -3.402583 0 7.777333 -3.645625 0
+ L3 65280 0.000000 7.291250 -4.617792 0 7.777333 -5.346917 0
+ L3 65280 0.000000 8.506458 0.729125 0 7.534292 0.486083 0
+ L3 65280 0.000000 -6.805167 6.076042 0 -6.319083 5.103875 0
+ L3 65280 0.000000 -7.777333 4.617792 0 -7.048208 5.103875 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 3.744246 3.848253 0
+ 2.218812 3.397556 0
+ 2.045468 2.253481 0
+ 3.050867 2.669509 0
+ F4 26624 0.000000 5 0
+ -1.456096 4.610969 0
+ -1.317420 3.813584 0
+ 0.173345 3.154874 0
+ 0.589372 4.125604 0
+ -0.173345 4.853652 0
+ F4 26624 0.000000 4 0
+ 4.749645 -0.173345 0
+ 2.946860 -0.589372 0
+ 2.565502 0.312020 0
+ 5.026997 0.450696 0
+ F4 26624 0.000000 4 0
+ 1.144075 -4.610969 0
+ 0.242683 -3.917591 0
+ 0.485365 -2.461495 0
+ 1.040068 -2.669509 0
+ F4 26624 0.000000 3 0
+ 4.229611 -3.466894 0
+ 3.744246 -2.392157 0
+ 2.981529 -3.050867 0
+ F4 26624 0.000000 5 0
+ -3.640239 -0.416027 0
+ -3.154874 -0.069338 0
+ -1.490765 0.346689 0
+ -0.589372 -0.589372 0
+ -2.669509 -0.901393 0
+ F4 26624 0.000000 4 0
+ -3.189543 -4.021597 0
+ -2.218812 -3.778915 0
+ -1.525433 -2.149474 0
+ -2.600171 -2.426826 0
+ L3 26624 0.000000 0.486083 5.346917 0 0.972167 4.617792 0
+ L3 26624 0.000000 3.402583 4.617792 0 2.187375 4.131708 0
+ L3 26624 0.000000 3.888667 5.833000 0 3.159542 5.346917 0
+ L3 26624 0.000000 2.187375 6.319083 0 1.701292 5.346917 0
+ L3 26624 0.000000 -0.972167 6.076042 0 -0.486083 5.346917 0
+ L3 26624 0.000000 -2.916500 3.888667 0 -1.944333 3.888667 0
+ L3 26624 0.000000 -2.187375 2.673458 0 -0.972167 3.159542 0
+ L3 26624 0.000000 -2.916500 1.458250 0 -1.944333 0.729125 0
+ L3 26624 0.000000 -4.374750 1.215208 0 -3.402583 0.729125 0
+ L3 26624 0.000000 -5.589958 0.486083 0 -4.374750 0.000000 0
+ L3 26624 0.000000 -3.888667 -1.215208 0 -4.860833 -2.187375 0
+ L3 26624 0.000000 -4.374750 -3.402583 0 -3.645625 -2.430417 0
+ L3 26624 0.000000 -2.673458 -5.346917 0 -1.944333 -4.374750 0
+ L3 26624 0.000000 -0.972167 -4.374750 0 -1.215208 -5.833000 0
+ L3 26624 0.000000 -0.729125 -2.673458 0 -0.486083 -3.645625 0
+ L3 26624 0.000000 1.701292 -4.374750 0 2.187375 -5.833000 0
+ L3 26624 0.000000 2.916500 -4.131708 0 4.374750 -4.860833 0
+ L3 26624 0.000000 6.562125 -1.701292 0 5.346917 -1.944333 0
+ L3 26624 0.000000 6.562125 -3.888667 0 5.346917 -3.402583 0
+ L3 26624 0.000000 7.048208 -2.916500 0 5.833000 -2.673458 0
+ L3 26624 0.000000 2.916500 -7.048208 0 2.673458 -6.076042 0
+ L3 26624 0.000000 4.374750 -6.319083 0 3.645625 -5.589958 0
+ L3 26624 0.000000 3.402583 -6.562125 0 2.916500 -5.103875 0
+ L3 26624 0.000000 7.291250 1.215208 0 5.833000 1.458250 0
+ L3 26624 0.000000 6.076042 3.159542 0 4.860833 2.430417 0
+ L3 26624 0.000000 7.291250 2.430417 0 6.076042 2.187375 0
+ L3 26624 0.000000 -2.430417 -6.805167 0 -2.187375 -5.833000 0
+ L3 26624 0.000000 -5.346917 -3.402583 0 -4.617792 -2.916500 0
+ L3 26624 0.000000 3.402583 7.777333 0 2.916500 6.562125 0
+ L3 26624 0.000000 4.374750 7.048208 0 3.645625 6.319083 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 24"" Decid-24a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -7.259346 -6.886756 0
+ -6.229551 -10.780669 0
+ -3.912512 -11.778284 0
+ -1.305843 -8.560173 0
+ 1.687000 -11.359929 0
+ 5.291283 -9.654331 0
+ 4.454575 9.493425 0
+ 1.043378 11.295567 0
+ -0.372591 9.107252 0
+ -3.236709 9.139433 0
+ -3.944693 11.359929 0
+ -8.353504 9.943961 0
+ -7.806425 7.337291 0
+ -11.442890 7.079843 0
+ -13.309394 3.314654 0
+ -11.249803 1.190701 0
+ -13.953016 0.000000 0
+ -13.245032 -2.703213 0
+ -10.380913 -3.733008 0
+ -12.440504 -5.406425 0
+ -10.767087 -8.431449 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -10.040504 -5.406425 0
+ -8.367087 -8.431449 0
+ -4.859346 -6.886756 0
+ -3.829551 -10.780669 0
+ -1.512512 -11.778284 0
+ 1.094157 -8.560173 0
+ 4.087000 -11.359929 0
+ 7.691283 -9.654331 0
+ 6.339677 -6.082228 0
+ 10.651945 -4.891528 0
+ 11.295567 -0.836709 0
+ 9.042890 1.255063 0
+ 11.166843 4.280087 0
+ 9.557787 6.983299 0
+ 6.951118 6.017866 0
+ 6.854575 9.493425 0
+ 3.443378 11.295567 0
+ 2.027409 9.107252 0
+ -0.836709 9.139433 0
+ -1.544693 11.359929 0
+ -5.953504 9.943961 0
+ -5.406425 7.337291 0
+ -9.042890 7.079843 0
+ -10.909394 3.314654 0
+ -8.849803 1.190701 0
+ -11.553016 0.000000 0
+ -10.845032 -2.703213 0
+ -7.980913 -3.733008 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 1.609055 -7.530378 0
+ 3.861732 -9.783055 0
+ 6.017866 -8.463630 0
+ 5.052433 -4.698441 0
+ 9.364701 -3.507740 0
+ 9.654331 -1.641236 0
+ 6.951118 0.225268 0
+ 9.300339 3.765189 0
+ 8.270543 4.988071 0
+ 5.696055 4.923709 0
+ 5.567331 7.884370 0
+ 3.346835 9.107252 0
+ 1.512512 6.951118 0
+ -1.255063 7.337291 0
+ -1.898685 8.817622 0
+ -4.247906 8.206181 0
+ -4.280087 5.631693 0
+ -6.243134 5.567331 0
+ -7.530378 2.992843 0
+ -5.245520 0.836709 0
+ -7.401654 -0.289630 0
+ -7.047661 -1.834323 0
+ -3.604283 -2.477945 0
+ -4.923709 -4.827165 0
+ -2.767575 -6.500583 0
+ -1.898685 -8.399268 0
+ L3 65280 0.000000 -2.041550 -9.916100 0 -0.874950 -9.041150 0
+ L3 65280 0.000000 -2.916500 -9.332800 0 -3.208150 -7.874550 0
+ L3 65280 0.000000 -6.707950 -6.124650 0 -4.666400 -6.124650 0
+ L3 65280 0.000000 -8.166200 -5.541350 0 -7.291250 -4.666400 0
+ L3 65280 0.000000 -6.124650 -4.958050 0 -4.958050 -4.083100 0
+ L3 65280 0.000000 -5.541350 -3.208150 0 -7.291250 -2.916500 0
+ L3 65280 0.000000 -9.916100 -2.333200 0 -7.874550 -2.333200 0
+ L3 65280 0.000000 -9.916100 -0.583300 0 -8.166200 -1.458250 0
+ L3 65280 0.000000 -6.707950 0.874950 0 -8.166200 0.583300 0
+ L3 65280 0.000000 -7.874550 2.041550 0 -9.916100 3.208150 0
+ L3 65280 0.000000 -9.041150 4.374750 0 -7.582900 4.666400 0
+ L3 65280 0.000000 -6.999600 6.707950 0 -6.416300 5.833000 0
+ L3 65280 0.000000 -4.374750 8.749500 0 -4.958050 9.624450 0
+ L3 65280 0.000000 -2.624850 9.332800 0 -2.041550 10.207750 0
+ L3 65280 0.000000 -0.291650 7.874550 0 0.000000 8.749500 0
+ L3 65280 0.000000 1.458250 7.874550 0 0.583300 8.457850 0
+ L3 65280 0.000000 3.791450 9.332800 0 3.499800 10.499400 0
+ L3 65280 0.000000 5.541350 8.749500 0 6.416300 9.041150 0
+ L3 65280 0.000000 10.207750 4.083100 0 9.332800 4.374750 0
+ L3 65280 0.000000 8.749500 5.541350 0 9.332800 6.416300 0
+ L3 65280 0.000000 10.207750 -0.874950 0 9.041150 -0.583300 0
+ L3 65280 0.000000 -8.166200 -7.291250 0 -7.582900 -6.124650 0
+ L3 65280 0.000000 -9.332800 -5.541350 0 -8.457850 -6.124650 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 4.493095 -4.617903 0
+ 2.662575 -4.077068 0
+ 2.454561 -2.704178 0
+ 3.661040 -3.203410 0
+ F4 26624 0.000000 5 0
+ -1.747315 -5.533163 0
+ -1.580904 -4.576300 0
+ 0.208014 -3.785849 0
+ 0.707246 -4.950725 0
+ -0.208014 -5.824382 0
+ F4 26624 0.000000 4 0
+ 5.699574 0.208014 0
+ 3.536232 0.707246 0
+ 3.078602 -0.374425 0
+ 6.032396 -0.540836 0
+ F4 26624 0.000000 4 0
+ 1.372890 5.533163 0
+ 0.291219 4.701109 0
+ 0.582438 2.953794 0
+ 1.248082 3.203410 0
+ F4 26624 0.000000 3 0
+ 5.075533 4.160273 0
+ 4.493095 2.870588 0
+ 3.577835 3.661040 0
+ F4 26624 0.000000 5 0
+ -4.368287 0.499233 0
+ -3.785849 0.083205 0
+ -1.788917 -0.416027 0
+ -0.707246 0.707246 0
+ -3.203410 1.081671 0
+ F4 26624 0.000000 4 0
+ -3.827451 4.825917 0
+ -2.662575 4.534698 0
+ -1.830520 2.579369 0
+ -3.120205 2.912191 0
+ L3 26624 0.000000 0.583300 -6.416300 0 1.166600 -5.541350 0
+ L3 26624 0.000000 4.083100 -5.541350 0 2.624850 -4.958050 0
+ L3 26624 0.000000 4.666400 -6.999600 0 3.791450 -6.416300 0
+ L3 26624 0.000000 2.624850 -7.582900 0 2.041550 -6.416300 0
+ L3 26624 0.000000 -1.166600 -7.291250 0 -0.583300 -6.416300 0
+ L3 26624 0.000000 -3.499800 -4.666400 0 -2.333200 -4.666400 0
+ L3 26624 0.000000 -2.624850 -3.208150 0 -1.166600 -3.791450 0
+ L3 26624 0.000000 -3.499800 -1.749900 0 -2.333200 -0.874950 0
+ L3 26624 0.000000 -5.249700 -1.458250 0 -4.083100 -0.874950 0
+ L3 26624 0.000000 -6.707950 -0.583300 0 -5.249700 0.000000 0
+ L3 26624 0.000000 -4.666400 1.458250 0 -5.833000 2.624850 0
+ L3 26624 0.000000 -5.249700 4.083100 0 -4.374750 2.916500 0
+ L3 26624 0.000000 -3.208150 6.416300 0 -2.333200 5.249700 0
+ L3 26624 0.000000 -1.166600 5.249700 0 -1.458250 6.999600 0
+ L3 26624 0.000000 -0.874950 3.208150 0 -0.583300 4.374750 0
+ L3 26624 0.000000 2.041550 5.249700 0 2.624850 6.999600 0
+ L3 26624 0.000000 3.499800 4.958050 0 5.249700 5.833000 0
+ L3 26624 0.000000 7.874550 2.041550 0 6.416300 2.333200 0
+ L3 26624 0.000000 7.874550 4.666400 0 6.416300 4.083100 0
+ L3 26624 0.000000 8.457850 3.499800 0 6.999600 3.208150 0
+ L3 26624 0.000000 3.499800 8.457850 0 3.208150 7.291250 0
+ L3 26624 0.000000 5.249700 7.582900 0 4.374750 6.707950 0
+ L3 26624 0.000000 4.083100 7.874550 0 3.499800 6.124650 0
+ L3 26624 0.000000 8.749500 -1.458250 0 6.999600 -1.749900 0
+ L3 26624 0.000000 7.291250 -3.791450 0 5.833000 -2.916500 0
+ L3 26624 0.000000 8.749500 -2.916500 0 7.291250 -2.624850 0
+ L3 26624 0.000000 -2.916500 8.166200 0 -2.624850 6.999600 0
+ L3 26624 0.000000 -6.416300 4.083100 0 -5.541350 3.499800 0
+ L3 26624 0.000000 4.083100 -9.332800 0 3.499800 -7.874550 0
+ L3 26624 0.000000 5.249700 -8.457850 0 4.374750 -7.582900 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 24"" Decid-24b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -7.259346 6.886756 0
+ -6.229551 10.780669 0
+ -3.912512 11.778284 0
+ -1.305843 8.560173 0
+ 1.687000 11.359929 0
+ 5.291283 9.654331 0
+ 4.454575 -9.493425 0
+ 1.043378 -11.295567 0
+ -0.372591 -9.107252 0
+ -3.236709 -9.139433 0
+ -3.944693 -11.359929 0
+ -8.353504 -9.943961 0
+ -7.806425 -7.337291 0
+ -11.442890 -7.079843 0
+ -13.309394 -3.314654 0
+ -11.249803 -1.190701 0
+ -13.953016 0.000000 0
+ -13.245032 2.703213 0
+ -10.380913 3.733008 0
+ -12.440504 5.406425 0
+ -10.767087 8.431449 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -10.040504 5.406425 0
+ -8.367087 8.431449 0
+ -4.859346 6.886756 0
+ -3.829551 10.780669 0
+ -1.512512 11.778284 0
+ 1.094157 8.560173 0
+ 4.087000 11.359929 0
+ 7.691283 9.654331 0
+ 6.339677 6.082228 0
+ 10.651945 4.891528 0
+ 11.295567 0.836709 0
+ 9.042890 -1.255063 0
+ 11.166843 -4.280087 0
+ 9.557787 -6.983299 0
+ 6.951118 -6.017866 0
+ 6.854575 -9.493425 0
+ 3.443378 -11.295567 0
+ 2.027409 -9.107252 0
+ -0.836709 -9.139433 0
+ -1.544693 -11.359929 0
+ -5.953504 -9.943961 0
+ -5.406425 -7.337291 0
+ -9.042890 -7.079843 0
+ -10.909394 -3.314654 0
+ -8.849803 -1.190701 0
+ -11.553016 0.000000 0
+ -10.845032 2.703213 0
+ -7.980913 3.733008 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 1.609055 7.530378 0
+ 3.861732 9.783055 0
+ 6.017866 8.463630 0
+ 5.052433 4.698441 0
+ 9.364701 3.507740 0
+ 9.654331 1.641236 0
+ 6.951118 -0.225268 0
+ 9.300339 -3.765189 0
+ 8.270543 -4.988071 0
+ 5.696055 -4.923709 0
+ 5.567331 -7.884370 0
+ 3.346835 -9.107252 0
+ 1.512512 -6.951118 0
+ -1.255063 -7.337291 0
+ -1.898685 -8.817622 0
+ -4.247906 -8.206181 0
+ -4.280087 -5.631693 0
+ -6.243134 -5.567331 0
+ -7.530378 -2.992843 0
+ -5.245520 -0.836709 0
+ -7.401654 0.289630 0
+ -7.047661 1.834323 0
+ -3.604283 2.477945 0
+ -4.923709 4.827165 0
+ -2.767575 6.500583 0
+ -1.898685 8.399268 0
+ L3 65280 0.000000 -2.041550 9.916100 0 -0.874950 9.041150 0
+ L3 65280 0.000000 -2.916500 9.332800 0 -3.208150 7.874550 0
+ L3 65280 0.000000 -6.707950 6.124650 0 -4.666400 6.124650 0
+ L3 65280 0.000000 -8.166200 5.541350 0 -7.291250 4.666400 0
+ L3 65280 0.000000 -6.124650 4.958050 0 -4.958050 4.083100 0
+ L3 65280 0.000000 -5.541350 3.208150 0 -7.291250 2.916500 0
+ L3 65280 0.000000 -9.916100 2.333200 0 -7.874550 2.333200 0
+ L3 65280 0.000000 -9.916100 0.583300 0 -8.166200 1.458250 0
+ L3 65280 0.000000 -6.707950 -0.874950 0 -8.166200 -0.583300 0
+ L3 65280 0.000000 -7.874550 -2.041550 0 -9.916100 -3.208150 0
+ L3 65280 0.000000 -9.041150 -4.374750 0 -7.582900 -4.666400 0
+ L3 65280 0.000000 -6.999600 -6.707950 0 -6.416300 -5.833000 0
+ L3 65280 0.000000 -4.374750 -8.749500 0 -4.958050 -9.624450 0
+ L3 65280 0.000000 -2.624850 -9.332800 0 -2.041550 -10.207750 0
+ L3 65280 0.000000 -0.291650 -7.874550 0 0.000000 -8.749500 0
+ L3 65280 0.000000 1.458250 -7.874550 0 0.583300 -8.457850 0
+ L3 65280 0.000000 3.791450 -9.332800 0 3.499800 -10.499400 0
+ L3 65280 0.000000 5.541350 -8.749500 0 6.416300 -9.041150 0
+ L3 65280 0.000000 10.207750 -4.083100 0 9.332800 -4.374750 0
+ L3 65280 0.000000 8.749500 -5.541350 0 9.332800 -6.416300 0
+ L3 65280 0.000000 10.207750 0.874950 0 9.041150 0.583300 0
+ L3 65280 0.000000 -8.166200 7.291250 0 -7.582900 6.124650 0
+ L3 65280 0.000000 -9.332800 5.541350 0 -8.457850 6.124650 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 4.493095 4.617903 0
+ 2.662575 4.077068 0
+ 2.454561 2.704178 0
+ 3.661040 3.203410 0
+ F4 26624 0.000000 5 0
+ -1.747315 5.533163 0
+ -1.580904 4.576300 0
+ 0.208014 3.785849 0
+ 0.707246 4.950725 0
+ -0.208014 5.824382 0
+ F4 26624 0.000000 4 0
+ 5.699574 -0.208014 0
+ 3.536232 -0.707246 0
+ 3.078602 0.374425 0
+ 6.032396 0.540836 0
+ F4 26624 0.000000 4 0
+ 1.372890 -5.533163 0
+ 0.291219 -4.701109 0
+ 0.582438 -2.953794 0
+ 1.248082 -3.203410 0
+ F4 26624 0.000000 3 0
+ 5.075533 -4.160273 0
+ 4.493095 -2.870588 0
+ 3.577835 -3.661040 0
+ F4 26624 0.000000 5 0
+ -4.368287 -0.499233 0
+ -3.785849 -0.083205 0
+ -1.788917 0.416027 0
+ -0.707246 -0.707246 0
+ -3.203410 -1.081671 0
+ F4 26624 0.000000 4 0
+ -3.827451 -4.825917 0
+ -2.662575 -4.534698 0
+ -1.830520 -2.579369 0
+ -3.120205 -2.912191 0
+ L3 26624 0.000000 0.583300 6.416300 0 1.166600 5.541350 0
+ L3 26624 0.000000 4.083100 5.541350 0 2.624850 4.958050 0
+ L3 26624 0.000000 4.666400 6.999600 0 3.791450 6.416300 0
+ L3 26624 0.000000 2.624850 7.582900 0 2.041550 6.416300 0
+ L3 26624 0.000000 -1.166600 7.291250 0 -0.583300 6.416300 0
+ L3 26624 0.000000 -3.499800 4.666400 0 -2.333200 4.666400 0
+ L3 26624 0.000000 -2.624850 3.208150 0 -1.166600 3.791450 0
+ L3 26624 0.000000 -3.499800 1.749900 0 -2.333200 0.874950 0
+ L3 26624 0.000000 -5.249700 1.458250 0 -4.083100 0.874950 0
+ L3 26624 0.000000 -6.707950 0.583300 0 -5.249700 0.000000 0
+ L3 26624 0.000000 -4.666400 -1.458250 0 -5.833000 -2.624850 0
+ L3 26624 0.000000 -5.249700 -4.083100 0 -4.374750 -2.916500 0
+ L3 26624 0.000000 -3.208150 -6.416300 0 -2.333200 -5.249700 0
+ L3 26624 0.000000 -1.166600 -5.249700 0 -1.458250 -6.999600 0
+ L3 26624 0.000000 -0.874950 -3.208150 0 -0.583300 -4.374750 0
+ L3 26624 0.000000 2.041550 -5.249700 0 2.624850 -6.999600 0
+ L3 26624 0.000000 3.499800 -4.958050 0 5.249700 -5.833000 0
+ L3 26624 0.000000 7.874550 -2.041550 0 6.416300 -2.333200 0
+ L3 26624 0.000000 7.874550 -4.666400 0 6.416300 -4.083100 0
+ L3 26624 0.000000 8.457850 -3.499800 0 6.999600 -3.208150 0
+ L3 26624 0.000000 3.499800 -8.457850 0 3.208150 -7.291250 0
+ L3 26624 0.000000 5.249700 -7.582900 0 4.374750 -6.707950 0
+ L3 26624 0.000000 4.083100 -7.874550 0 3.499800 -6.124650 0
+ L3 26624 0.000000 8.749500 1.458250 0 6.999600 1.749900 0
+ L3 26624 0.000000 7.291250 3.791450 0 5.833000 2.916500 0
+ L3 26624 0.000000 8.749500 2.916500 0 7.291250 2.624850 0
+ L3 26624 0.000000 -2.916500 -8.166200 0 -2.624850 -6.999600 0
+ L3 26624 0.000000 -6.416300 -4.083100 0 -5.541350 -3.499800 0
+ L3 26624 0.000000 4.083100 9.332800 0 3.499800 7.874550 0
+ L3 26624 0.000000 5.249700 8.457850 0 4.374750 7.582900 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 28"" Decid-28a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -8.469238 -8.034549 0
+ -7.267810 -12.577448 0
+ -4.564597 -13.741331 0
+ -1.523483 -9.986869 0
+ 1.968167 -13.253251 0
+ 6.173164 -11.263386 0
+ 5.197004 11.075663 0
+ 1.217274 13.178161 0
+ -0.434689 10.625127 0
+ -3.776160 10.662672 0
+ -4.602142 13.253251 0
+ -9.745755 11.601287 0
+ -9.107496 8.560173 0
+ -13.350038 8.259816 0
+ -15.527626 3.867096 0
+ -13.124770 1.389151 0
+ -16.278518 0.000000 0
+ -15.452537 -3.153748 0
+ -12.111066 -4.355176 0
+ -14.513921 -6.307496 0
+ -12.561601 -9.836690 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -11.713921 -6.307496 0
+ -9.761601 -9.836690 0
+ -5.669238 -8.034549 0
+ -4.467810 -12.577448 0
+ -1.764597 -13.741331 0
+ 1.276517 -9.986869 0
+ 4.768167 -13.253251 0
+ 8.973164 -11.263386 0
+ 7.396290 -7.095933 0
+ 12.427269 -5.706782 0
+ 13.178161 -0.976160 0
+ 10.550038 1.464240 0
+ 13.027983 4.993434 0
+ 11.150752 8.147182 0
+ 8.109638 7.020844 0
+ 7.997004 11.075663 0
+ 4.017274 13.178161 0
+ 2.365311 10.625127 0
+ -0.976160 10.662672 0
+ -1.802142 13.253251 0
+ -6.945755 11.601287 0
+ -6.307496 8.560173 0
+ -10.550038 8.259816 0
+ -12.727626 3.867096 0
+ -10.324770 1.389151 0
+ -13.478518 0.000000 0
+ -12.652537 -3.153748 0
+ -9.311066 -4.355176 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 1.877231 -8.785441 0
+ 4.505354 -11.413564 0
+ 7.020844 -9.874235 0
+ 5.894505 -5.481514 0
+ 10.925484 -4.092364 0
+ 11.263386 -1.914776 0
+ 8.109638 0.262812 0
+ 10.850395 4.392720 0
+ 9.648967 5.819416 0
+ 6.645398 5.744327 0
+ 6.495219 9.198432 0
+ 3.904640 10.625127 0
+ 1.764597 8.109638 0
+ -1.464240 8.560173 0
+ -2.215133 10.287226 0
+ -4.955890 9.573878 0
+ -4.993434 6.570308 0
+ -7.283656 6.495219 0
+ -8.785441 3.491650 0
+ -6.119773 0.976160 0
+ -8.635262 -0.337902 0
+ -8.222272 -2.140043 0
+ -4.204997 -2.890936 0
+ -5.744327 -5.631693 0
+ -3.228837 -7.584013 0
+ -2.215133 -9.799146 0
+ L3 65280 0.000000 -2.381808 -11.568783 0 -1.020775 -10.548008 0
+ L3 65280 0.000000 -3.402583 -10.888267 0 -3.742842 -9.186975 0
+ L3 65280 0.000000 -7.825942 -7.145425 0 -5.444133 -7.145425 0
+ L3 65280 0.000000 -9.527233 -6.464908 0 -8.506458 -5.444133 0
+ L3 65280 0.000000 -7.145425 -5.784392 0 -5.784392 -4.763617 0
+ L3 65280 0.000000 -6.464908 -3.742842 0 -8.506458 -3.402583 0
+ L3 65280 0.000000 -11.568783 -2.722067 0 -9.186975 -2.722067 0
+ L3 65280 0.000000 -11.568783 -0.680517 0 -9.527233 -1.701292 0
+ L3 65280 0.000000 -7.825942 1.020775 0 -9.527233 0.680517 0
+ L3 65280 0.000000 -9.186975 2.381808 0 -11.568783 3.742842 0
+ L3 65280 0.000000 -10.548008 5.103875 0 -8.846717 5.444133 0
+ L3 65280 0.000000 -8.166200 7.825942 0 -7.485683 6.805167 0
+ L3 65280 0.000000 -5.103875 10.207750 0 -5.784392 11.228525 0
+ L3 65280 0.000000 -3.062325 10.888267 0 -2.381808 11.909042 0
+ L3 65280 0.000000 -0.340258 9.186975 0 0.000000 10.207750 0
+ L3 65280 0.000000 1.701292 9.186975 0 0.680517 9.867492 0
+ L3 65280 0.000000 4.423358 10.888267 0 4.083100 12.249300 0
+ L3 65280 0.000000 6.464908 10.207750 0 7.485683 10.548008 0
+ L3 65280 0.000000 11.909042 4.763617 0 10.888267 5.103875 0
+ L3 65280 0.000000 10.207750 6.464908 0 10.888267 7.485683 0
+ L3 65280 0.000000 11.909042 -1.020775 0 10.548008 -0.680517 0
+ L3 65280 0.000000 -9.527233 -8.506458 0 -8.846717 -7.145425 0
+ L3 65280 0.000000 -10.888267 -6.464908 0 -9.867492 -7.145425 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 5.241944 -5.387554 0
+ 3.106337 -4.756579 0
+ 2.863655 -3.154874 0
+ 4.271214 -3.737312 0
+ F4 26624 0.000000 5 0
+ -2.038534 -6.455357 0
+ -1.844388 -5.339017 0
+ 0.242683 -4.416823 0
+ 0.825121 -5.775846 0
+ -0.242683 -6.795113 0
+ F4 26624 0.000000 4 0
+ 6.649503 0.242683 0
+ 4.125604 0.825121 0
+ 3.591703 -0.436829 0
+ 7.037795 -0.630975 0
+ F4 26624 0.000000 4 0
+ 1.601705 6.455357 0
+ 0.339756 5.484627 0
+ 0.679511 3.446093 0
+ 1.456096 3.737312 0
+ F4 26624 0.000000 3 0
+ 5.921455 4.853652 0
+ 5.241944 3.349020 0
+ 4.174141 4.271214 0
+ F4 26624 0.000000 5 0
+ -5.096335 0.582438 0
+ -4.416823 0.097073 0
+ -2.087070 -0.485365 0
+ -0.825121 0.825121 0
+ -3.737312 1.261950 0
+ F4 26624 0.000000 4 0
+ -4.465360 5.630236 0
+ -3.106337 5.290481 0
+ -2.135607 3.009264 0
+ -3.640239 3.397556 0
+ L3 26624 0.000000 0.680517 -7.485683 0 1.361033 -6.464908 0
+ L3 26624 0.000000 4.763617 -6.464908 0 3.062325 -5.784392 0
+ L3 26624 0.000000 5.444133 -8.166200 0 4.423358 -7.485683 0
+ L3 26624 0.000000 3.062325 -8.846717 0 2.381808 -7.485683 0
+ L3 26624 0.000000 -1.361033 -8.506458 0 -0.680517 -7.485683 0
+ L3 26624 0.000000 -4.083100 -5.444133 0 -2.722067 -5.444133 0
+ L3 26624 0.000000 -3.062325 -3.742842 0 -1.361033 -4.423358 0
+ L3 26624 0.000000 -4.083100 -2.041550 0 -2.722067 -1.020775 0
+ L3 26624 0.000000 -6.124650 -1.701292 0 -4.763617 -1.020775 0
+ L3 26624 0.000000 -7.825942 -0.680517 0 -6.124650 0.000000 0
+ L3 26624 0.000000 -5.444133 1.701292 0 -6.805167 3.062325 0
+ L3 26624 0.000000 -6.124650 4.763617 0 -5.103875 3.402583 0
+ L3 26624 0.000000 -3.742842 7.485683 0 -2.722067 6.124650 0
+ L3 26624 0.000000 -1.361033 6.124650 0 -1.701292 8.166200 0
+ L3 26624 0.000000 -1.020775 3.742842 0 -0.680517 5.103875 0
+ L3 26624 0.000000 2.381808 6.124650 0 3.062325 8.166200 0
+ L3 26624 0.000000 4.083100 5.784392 0 6.124650 6.805167 0
+ L3 26624 0.000000 9.186975 2.381808 0 7.485683 2.722067 0
+ L3 26624 0.000000 9.186975 5.444133 0 7.485683 4.763617 0
+ L3 26624 0.000000 9.867492 4.083100 0 8.166200 3.742842 0
+ L3 26624 0.000000 4.083100 9.867492 0 3.742842 8.506458 0
+ L3 26624 0.000000 6.124650 8.846717 0 5.103875 7.825942 0
+ L3 26624 0.000000 4.763617 9.186975 0 4.083100 7.145425 0
+ L3 26624 0.000000 10.207750 -1.701292 0 8.166200 -2.041550 0
+ L3 26624 0.000000 8.506458 -4.423358 0 6.805167 -3.402583 0
+ L3 26624 0.000000 10.207750 -3.402583 0 8.506458 -3.062325 0
+ L3 26624 0.000000 -3.402583 9.527233 0 -3.062325 8.166200 0
+ L3 26624 0.000000 -7.485683 4.763617 0 -6.464908 4.083100 0
+ L3 26624 0.000000 4.763617 -10.888267 0 4.083100 -9.186975 0
+ L3 26624 0.000000 6.124650 -9.867492 0 5.103875 -8.846717 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 28"" Decid-28b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -8.469238 8.034549 0
+ -7.267810 12.577448 0
+ -4.564597 13.741331 0
+ -1.523483 9.986869 0
+ 1.968167 13.253251 0
+ 6.173164 11.263386 0
+ 5.197004 -11.075663 0
+ 1.217274 -13.178161 0
+ -0.434689 -10.625127 0
+ -3.776160 -10.662672 0
+ -4.602142 -13.253251 0
+ -9.745755 -11.601287 0
+ -9.107496 -8.560173 0
+ -13.350038 -8.259816 0
+ -15.527626 -3.867096 0
+ -13.124770 -1.389151 0
+ -16.278518 0.000000 0
+ -15.452537 3.153748 0
+ -12.111066 4.355176 0
+ -14.513921 6.307496 0
+ -12.561601 9.836690 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -11.713921 6.307496 0
+ -9.761601 9.836690 0
+ -5.669238 8.034549 0
+ -4.467810 12.577448 0
+ -1.764597 13.741331 0
+ 1.276517 9.986869 0
+ 4.768167 13.253251 0
+ 8.973164 11.263386 0
+ 7.396290 7.095933 0
+ 12.427269 5.706782 0
+ 13.178161 0.976160 0
+ 10.550038 -1.464240 0
+ 13.027983 -4.993434 0
+ 11.150752 -8.147182 0
+ 8.109638 -7.020844 0
+ 7.997004 -11.075663 0
+ 4.017274 -13.178161 0
+ 2.365311 -10.625127 0
+ -0.976160 -10.662672 0
+ -1.802142 -13.253251 0
+ -6.945755 -11.601287 0
+ -6.307496 -8.560173 0
+ -10.550038 -8.259816 0
+ -12.727626 -3.867096 0
+ -10.324770 -1.389151 0
+ -13.478518 0.000000 0
+ -12.652537 3.153748 0
+ -9.311066 4.355176 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 1.877231 8.785441 0
+ 4.505354 11.413564 0
+ 7.020844 9.874235 0
+ 5.894505 5.481514 0
+ 10.925484 4.092364 0
+ 11.263386 1.914776 0
+ 8.109638 -0.262812 0
+ 10.850395 -4.392720 0
+ 9.648967 -5.819416 0
+ 6.645398 -5.744327 0
+ 6.495219 -9.198432 0
+ 3.904640 -10.625127 0
+ 1.764597 -8.109638 0
+ -1.464240 -8.560173 0
+ -2.215133 -10.287226 0
+ -4.955890 -9.573878 0
+ -4.993434 -6.570308 0
+ -7.283656 -6.495219 0
+ -8.785441 -3.491650 0
+ -6.119773 -0.976160 0
+ -8.635262 0.337902 0
+ -8.222272 2.140043 0
+ -4.204997 2.890936 0
+ -5.744327 5.631693 0
+ -3.228837 7.584013 0
+ -2.215133 9.799146 0
+ L3 65280 0.000000 -2.381808 11.568783 0 -1.020775 10.548008 0
+ L3 65280 0.000000 -3.402583 10.888267 0 -3.742842 9.186975 0
+ L3 65280 0.000000 -7.825942 7.145425 0 -5.444133 7.145425 0
+ L3 65280 0.000000 -9.527233 6.464908 0 -8.506458 5.444133 0
+ L3 65280 0.000000 -7.145425 5.784392 0 -5.784392 4.763617 0
+ L3 65280 0.000000 -6.464908 3.742842 0 -8.506458 3.402583 0
+ L3 65280 0.000000 -11.568783 2.722067 0 -9.186975 2.722067 0
+ L3 65280 0.000000 -11.568783 0.680517 0 -9.527233 1.701292 0
+ L3 65280 0.000000 -7.825942 -1.020775 0 -9.527233 -0.680517 0
+ L3 65280 0.000000 -9.186975 -2.381808 0 -11.568783 -3.742842 0
+ L3 65280 0.000000 -10.548008 -5.103875 0 -8.846717 -5.444133 0
+ L3 65280 0.000000 -8.166200 -7.825942 0 -7.485683 -6.805167 0
+ L3 65280 0.000000 -5.103875 -10.207750 0 -5.784392 -11.228525 0
+ L3 65280 0.000000 -3.062325 -10.888267 0 -2.381808 -11.909042 0
+ L3 65280 0.000000 -0.340258 -9.186975 0 0.000000 -10.207750 0
+ L3 65280 0.000000 1.701292 -9.186975 0 0.680517 -9.867492 0
+ L3 65280 0.000000 4.423358 -10.888267 0 4.083100 -12.249300 0
+ L3 65280 0.000000 6.464908 -10.207750 0 7.485683 -10.548008 0
+ L3 65280 0.000000 11.909042 -4.763617 0 10.888267 -5.103875 0
+ L3 65280 0.000000 10.207750 -6.464908 0 10.888267 -7.485683 0
+ L3 65280 0.000000 11.909042 1.020775 0 10.548008 0.680517 0
+ L3 65280 0.000000 -9.527233 8.506458 0 -8.846717 7.145425 0
+ L3 65280 0.000000 -10.888267 6.464908 0 -9.867492 7.145425 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 5.241944 5.387554 0
+ 3.106337 4.756579 0
+ 2.863655 3.154874 0
+ 4.271214 3.737312 0
+ F4 26624 0.000000 5 0
+ -2.038534 6.455357 0
+ -1.844388 5.339017 0
+ 0.242683 4.416823 0
+ 0.825121 5.775846 0
+ -0.242683 6.795113 0
+ F4 26624 0.000000 4 0
+ 6.649503 -0.242683 0
+ 4.125604 -0.825121 0
+ 3.591703 0.436829 0
+ 7.037795 0.630975 0
+ F4 26624 0.000000 4 0
+ 1.601705 -6.455357 0
+ 0.339756 -5.484627 0
+ 0.679511 -3.446093 0
+ 1.456096 -3.737312 0
+ F4 26624 0.000000 3 0
+ 5.921455 -4.853652 0
+ 5.241944 -3.349020 0
+ 4.174141 -4.271214 0
+ F4 26624 0.000000 5 0
+ -5.096335 -0.582438 0
+ -4.416823 -0.097073 0
+ -2.087070 0.485365 0
+ -0.825121 -0.825121 0
+ -3.737312 -1.261950 0
+ F4 26624 0.000000 4 0
+ -4.465360 -5.630236 0
+ -3.106337 -5.290481 0
+ -2.135607 -3.009264 0
+ -3.640239 -3.397556 0
+ L3 26624 0.000000 0.680517 7.485683 0 1.361033 6.464908 0
+ L3 26624 0.000000 4.763617 6.464908 0 3.062325 5.784392 0
+ L3 26624 0.000000 5.444133 8.166200 0 4.423358 7.485683 0
+ L3 26624 0.000000 3.062325 8.846717 0 2.381808 7.485683 0
+ L3 26624 0.000000 -1.361033 8.506458 0 -0.680517 7.485683 0
+ L3 26624 0.000000 -4.083100 5.444133 0 -2.722067 5.444133 0
+ L3 26624 0.000000 -3.062325 3.742842 0 -1.361033 4.423358 0
+ L3 26624 0.000000 -4.083100 2.041550 0 -2.722067 1.020775 0
+ L3 26624 0.000000 -6.124650 1.701292 0 -4.763617 1.020775 0
+ L3 26624 0.000000 -7.825942 0.680517 0 -6.124650 0.000000 0
+ L3 26624 0.000000 -5.444133 -1.701292 0 -6.805167 -3.062325 0
+ L3 26624 0.000000 -6.124650 -4.763617 0 -5.103875 -3.402583 0
+ L3 26624 0.000000 -3.742842 -7.485683 0 -2.722067 -6.124650 0
+ L3 26624 0.000000 -1.361033 -6.124650 0 -1.701292 -8.166200 0
+ L3 26624 0.000000 -1.020775 -3.742842 0 -0.680517 -5.103875 0
+ L3 26624 0.000000 2.381808 -6.124650 0 3.062325 -8.166200 0
+ L3 26624 0.000000 4.083100 -5.784392 0 6.124650 -6.805167 0
+ L3 26624 0.000000 9.186975 -2.381808 0 7.485683 -2.722067 0
+ L3 26624 0.000000 9.186975 -5.444133 0 7.485683 -4.763617 0
+ L3 26624 0.000000 9.867492 -4.083100 0 8.166200 -3.742842 0
+ L3 26624 0.000000 4.083100 -9.867492 0 3.742842 -8.506458 0
+ L3 26624 0.000000 6.124650 -8.846717 0 5.103875 -7.825942 0
+ L3 26624 0.000000 4.763617 -9.186975 0 4.083100 -7.145425 0
+ L3 26624 0.000000 10.207750 1.701292 0 8.166200 2.041550 0
+ L3 26624 0.000000 8.506458 4.423358 0 6.805167 3.402583 0
+ L3 26624 0.000000 10.207750 3.402583 0 8.506458 3.062325 0
+ L3 26624 0.000000 -3.402583 -9.527233 0 -3.062325 -8.166200 0
+ L3 26624 0.000000 -7.485683 -4.763617 0 -6.464908 -4.083100 0
+ L3 26624 0.000000 4.763617 10.888267 0 4.083100 9.186975 0
+ L3 26624 0.000000 6.124650 9.867492 0 5.103875 8.846717 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 32"" Decid-32a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -9.679129 -9.182341 0
+ -8.306068 -14.374226 0
+ -5.216682 -15.704378 0
+ -1.741123 -11.413564 0
+ 2.249333 -15.146572 0
+ 7.055045 -12.872441 0
+ 5.939433 12.657900 0
+ 1.391171 15.060756 0
+ -0.496787 12.143003 0
+ -4.315612 12.185911 0
+ -5.259591 15.146572 0
+ -11.138005 13.258614 0
+ -10.408567 9.783055 0
+ -15.257186 9.439790 0
+ -17.745858 4.419538 0
+ -14.999738 1.587601 0
+ -18.604021 0.000000 0
+ -17.660042 -3.604283 0
+ -13.841218 -4.977344 0
+ -16.587339 -7.208567 0
+ -14.356116 -11.241932 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -13.387339 -7.208567 0
+ -11.156116 -11.241932 0
+ -6.479129 -9.182341 0
+ -5.106068 -14.374226 0
+ -2.016682 -15.704378 0
+ 1.458877 -11.413564 0
+ 5.449333 -15.146572 0
+ 10.255045 -12.872441 0
+ 8.452903 -8.109638 0
+ 14.202593 -6.522037 0
+ 15.060756 -1.115612 0
+ 12.057186 1.673417 0
+ 14.889123 5.706782 0
+ 12.743717 9.311066 0
+ 9.268158 8.023822 0
+ 9.139433 12.657900 0
+ 4.591171 15.060756 0
+ 2.703213 12.143003 0
+ -1.115612 12.185911 0
+ -2.059591 15.146572 0
+ -7.938005 13.258614 0
+ -7.208567 9.783055 0
+ -12.057186 9.439790 0
+ -14.545858 4.419538 0
+ -11.799738 1.587601 0
+ -15.404021 0.000000 0
+ -14.460042 -3.604283 0
+ -10.641218 -4.977344 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 2.145407 -10.040504 0
+ 5.148976 -13.044074 0
+ 8.023822 -11.284840 0
+ 6.736577 -6.264588 0
+ 12.486268 -4.676987 0
+ 12.872441 -2.188315 0
+ 9.268158 0.300357 0
+ 12.400451 5.020252 0
+ 11.027391 6.650761 0
+ 7.594740 6.564945 0
+ 7.423108 10.512493 0
+ 4.462446 12.143003 0
+ 2.016682 9.268158 0
+ -1.673417 9.783055 0
+ -2.531580 11.756829 0
+ -5.663874 10.941575 0
+ -5.706782 7.508924 0
+ -8.324179 7.423108 0
+ -10.040504 3.990457 0
+ -6.994026 1.115612 0
+ -9.868871 -0.386173 0
+ -9.396882 -2.445764 0
+ -4.805711 -3.303927 0
+ -6.564945 -6.436220 0
+ -3.690100 -8.667444 0
+ -2.531580 -11.199024 0
+ L3 65280 0.000000 -2.722067 -13.221467 0 -1.166600 -12.054867 0
+ L3 65280 0.000000 -3.888667 -12.443733 0 -4.277533 -10.499400 0
+ L3 65280 0.000000 -8.943933 -8.166200 0 -6.221867 -8.166200 0
+ L3 65280 0.000000 -10.888267 -7.388467 0 -9.721667 -6.221867 0
+ L3 65280 0.000000 -8.166200 -6.610733 0 -6.610733 -5.444133 0
+ L3 65280 0.000000 -7.388467 -4.277533 0 -9.721667 -3.888667 0
+ L3 65280 0.000000 -13.221467 -3.110933 0 -10.499400 -3.110933 0
+ L3 65280 0.000000 -13.221467 -0.777733 0 -10.888267 -1.944333 0
+ L3 65280 0.000000 -8.943933 1.166600 0 -10.888267 0.777733 0
+ L3 65280 0.000000 -10.499400 2.722067 0 -13.221467 4.277533 0
+ L3 65280 0.000000 -12.054867 5.833000 0 -10.110533 6.221867 0
+ L3 65280 0.000000 -9.332800 8.943933 0 -8.555067 7.777333 0
+ L3 65280 0.000000 -5.833000 11.666000 0 -6.610733 12.832600 0
+ L3 65280 0.000000 -3.499800 12.443733 0 -2.722067 13.610333 0
+ L3 65280 0.000000 -0.388867 10.499400 0 0.000000 11.666000 0
+ L3 65280 0.000000 1.944333 10.499400 0 0.777733 11.277133 0
+ L3 65280 0.000000 5.055267 12.443733 0 4.666400 13.999200 0
+ L3 65280 0.000000 7.388467 11.666000 0 8.555067 12.054867 0
+ L3 65280 0.000000 13.610333 5.444133 0 12.443733 5.833000 0
+ L3 65280 0.000000 11.666000 7.388467 0 12.443733 8.555067 0
+ L3 65280 0.000000 13.610333 -1.166600 0 12.054867 -0.777733 0
+ L3 65280 0.000000 -10.888267 -9.721667 0 -10.110533 -8.166200 0
+ L3 65280 0.000000 -12.443733 -7.388467 0 -11.277133 -8.166200 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 5.990793 -6.157204 0
+ 3.550100 -5.436090 0
+ 3.272748 -3.605570 0
+ 4.881387 -4.271214 0
+ F4 26624 0.000000 5 0
+ -2.329753 -7.377551 0
+ -2.107872 -6.101734 0
+ 0.277352 -5.047798 0
+ 0.942995 -6.600967 0
+ -0.277352 -7.765843 0
+ F4 26624 0.000000 4 0
+ 7.599432 0.277352 0
+ 4.714976 0.942995 0
+ 4.104803 -0.499233 0
+ 8.043195 -0.721114 0
+ F4 26624 0.000000 4 0
+ 1.830520 7.377551 0
+ 0.388292 6.268145 0
+ 0.776584 3.938392 0
+ 1.664109 4.271214 0
+ F4 26624 0.000000 3 0
+ 6.767378 5.547031 0
+ 5.990793 3.827451 0
+ 4.770447 4.881387 0
+ F4 26624 0.000000 5 0
+ -5.824382 0.665644 0
+ -5.047798 0.110941 0
+ -2.385223 -0.554703 0
+ -0.942995 0.942995 0
+ -4.271214 1.442228 0
+ F4 26624 0.000000 4 0
+ -5.103268 6.434556 0
+ -3.550100 6.046264 0
+ -2.440694 3.439159 0
+ -4.160273 3.882922 0
+ L3 26624 0.000000 0.777733 -8.555067 0 1.555467 -7.388467 0
+ L3 26624 0.000000 5.444133 -7.388467 0 3.499800 -6.610733 0
+ L3 26624 0.000000 6.221867 -9.332800 0 5.055267 -8.555067 0
+ L3 26624 0.000000 3.499800 -10.110533 0 2.722067 -8.555067 0
+ L3 26624 0.000000 -1.555467 -9.721667 0 -0.777733 -8.555067 0
+ L3 26624 0.000000 -4.666400 -6.221867 0 -3.110933 -6.221867 0
+ L3 26624 0.000000 -3.499800 -4.277533 0 -1.555467 -5.055267 0
+ L3 26624 0.000000 -4.666400 -2.333200 0 -3.110933 -1.166600 0
+ L3 26624 0.000000 -6.999600 -1.944333 0 -5.444133 -1.166600 0
+ L3 26624 0.000000 -8.943933 -0.777733 0 -6.999600 0.000000 0
+ L3 26624 0.000000 -6.221867 1.944333 0 -7.777333 3.499800 0
+ L3 26624 0.000000 -6.999600 5.444133 0 -5.833000 3.888667 0
+ L3 26624 0.000000 -4.277533 8.555067 0 -3.110933 6.999600 0
+ L3 26624 0.000000 -1.555467 6.999600 0 -1.944333 9.332800 0
+ L3 26624 0.000000 -1.166600 4.277533 0 -0.777733 5.833000 0
+ L3 26624 0.000000 2.722067 6.999600 0 3.499800 9.332800 0
+ L3 26624 0.000000 4.666400 6.610733 0 6.999600 7.777333 0
+ L3 26624 0.000000 10.499400 2.722067 0 8.555067 3.110933 0
+ L3 26624 0.000000 10.499400 6.221867 0 8.555067 5.444133 0
+ L3 26624 0.000000 11.277133 4.666400 0 9.332800 4.277533 0
+ L3 26624 0.000000 4.666400 11.277133 0 4.277533 9.721667 0
+ L3 26624 0.000000 6.999600 10.110533 0 5.833000 8.943933 0
+ L3 26624 0.000000 5.444133 10.499400 0 4.666400 8.166200 0
+ L3 26624 0.000000 11.666000 -1.944333 0 9.332800 -2.333200 0
+ L3 26624 0.000000 9.721667 -5.055267 0 7.777333 -3.888667 0
+ L3 26624 0.000000 11.666000 -3.888667 0 9.721667 -3.499800 0
+ L3 26624 0.000000 -3.888667 10.888267 0 -3.499800 9.332800 0
+ L3 26624 0.000000 -8.555067 5.444133 0 -7.388467 4.666400 0
+ L3 26624 0.000000 5.444133 -12.443733 0 4.666400 -10.499400 0
+ L3 26624 0.000000 6.999600 -11.277133 0 5.833000 -10.110533 0
+ END$SEGS
+
+STRUCTURE * "Lg Decid 32"" Decid-32b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -9.679129 9.182341 0
+ -8.306068 14.374226 0
+ -5.216682 15.704378 0
+ -1.741123 11.413564 0
+ 2.249333 15.146572 0
+ 7.055045 12.872441 0
+ 5.939433 -12.657900 0
+ 1.391171 -15.060756 0
+ -0.496787 -12.143003 0
+ -4.315612 -12.185911 0
+ -5.259591 -15.146572 0
+ -11.138005 -13.258614 0
+ -10.408567 -9.783055 0
+ -15.257186 -9.439790 0
+ -17.745858 -4.419538 0
+ -14.999738 -1.587601 0
+ -18.604021 0.000000 0
+ -17.660042 3.604283 0
+ -13.841218 4.977344 0
+ -16.587339 7.208567 0
+ -14.356116 11.241932 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -13.387339 7.208567 0
+ -11.156116 11.241932 0
+ -6.479129 9.182341 0
+ -5.106068 14.374226 0
+ -2.016682 15.704378 0
+ 1.458877 11.413564 0
+ 5.449333 15.146572 0
+ 10.255045 12.872441 0
+ 8.452903 8.109638 0
+ 14.202593 6.522037 0
+ 15.060756 1.115612 0
+ 12.057186 -1.673417 0
+ 14.889123 -5.706782 0
+ 12.743717 -9.311066 0
+ 9.268158 -8.023822 0
+ 9.139433 -12.657900 0
+ 4.591171 -15.060756 0
+ 2.703213 -12.143003 0
+ -1.115612 -12.185911 0
+ -2.059591 -15.146572 0
+ -7.938005 -13.258614 0
+ -7.208567 -9.783055 0
+ -12.057186 -9.439790 0
+ -14.545858 -4.419538 0
+ -11.799738 -1.587601 0
+ -15.404021 0.000000 0
+ -14.460042 3.604283 0
+ -10.641218 4.977344 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 2.145407 10.040504 0
+ 5.148976 13.044074 0
+ 8.023822 11.284840 0
+ 6.736577 6.264588 0
+ 12.486268 4.676987 0
+ 12.872441 2.188315 0
+ 9.268158 -0.300357 0
+ 12.400451 -5.020252 0
+ 11.027391 -6.650761 0
+ 7.594740 -6.564945 0
+ 7.423108 -10.512493 0
+ 4.462446 -12.143003 0
+ 2.016682 -9.268158 0
+ -1.673417 -9.783055 0
+ -2.531580 -11.756829 0
+ -5.663874 -10.941575 0
+ -5.706782 -7.508924 0
+ -8.324179 -7.423108 0
+ -10.040504 -3.990457 0
+ -6.994026 -1.115612 0
+ -9.868871 0.386173 0
+ -9.396882 2.445764 0
+ -4.805711 3.303927 0
+ -6.564945 6.436220 0
+ -3.690100 8.667444 0
+ -2.531580 11.199024 0
+ L3 65280 0.000000 -2.722067 13.221467 0 -1.166600 12.054867 0
+ L3 65280 0.000000 -3.888667 12.443733 0 -4.277533 10.499400 0
+ L3 65280 0.000000 -8.943933 8.166200 0 -6.221867 8.166200 0
+ L3 65280 0.000000 -10.888267 7.388467 0 -9.721667 6.221867 0
+ L3 65280 0.000000 -8.166200 6.610733 0 -6.610733 5.444133 0
+ L3 65280 0.000000 -7.388467 4.277533 0 -9.721667 3.888667 0
+ L3 65280 0.000000 -13.221467 3.110933 0 -10.499400 3.110933 0
+ L3 65280 0.000000 -13.221467 0.777733 0 -10.888267 1.944333 0
+ L3 65280 0.000000 -8.943933 -1.166600 0 -10.888267 -0.777733 0
+ L3 65280 0.000000 -10.499400 -2.722067 0 -13.221467 -4.277533 0
+ L3 65280 0.000000 -12.054867 -5.833000 0 -10.110533 -6.221867 0
+ L3 65280 0.000000 -9.332800 -8.943933 0 -8.555067 -7.777333 0
+ L3 65280 0.000000 -5.833000 -11.666000 0 -6.610733 -12.832600 0
+ L3 65280 0.000000 -3.499800 -12.443733 0 -2.722067 -13.610333 0
+ L3 65280 0.000000 -0.388867 -10.499400 0 0.000000 -11.666000 0
+ L3 65280 0.000000 1.944333 -10.499400 0 0.777733 -11.277133 0
+ L3 65280 0.000000 5.055267 -12.443733 0 4.666400 -13.999200 0
+ L3 65280 0.000000 7.388467 -11.666000 0 8.555067 -12.054867 0
+ L3 65280 0.000000 13.610333 -5.444133 0 12.443733 -5.833000 0
+ L3 65280 0.000000 11.666000 -7.388467 0 12.443733 -8.555067 0
+ L3 65280 0.000000 13.610333 1.166600 0 12.054867 0.777733 0
+ L3 65280 0.000000 -10.888267 9.721667 0 -10.110533 8.166200 0
+ L3 65280 0.000000 -12.443733 7.388467 0 -11.277133 8.166200 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 5.990793 6.157204 0
+ 3.550100 5.436090 0
+ 3.272748 3.605570 0
+ 4.881387 4.271214 0
+ F4 26624 0.000000 5 0
+ -2.329753 7.377551 0
+ -2.107872 6.101734 0
+ 0.277352 5.047798 0
+ 0.942995 6.600967 0
+ -0.277352 7.765843 0
+ F4 26624 0.000000 4 0
+ 7.599432 -0.277352 0
+ 4.714976 -0.942995 0
+ 4.104803 0.499233 0
+ 8.043195 0.721114 0
+ F4 26624 0.000000 4 0
+ 1.830520 -7.377551 0
+ 0.388292 -6.268145 0
+ 0.776584 -3.938392 0
+ 1.664109 -4.271214 0
+ F4 26624 0.000000 3 0
+ 6.767378 -5.547031 0
+ 5.990793 -3.827451 0
+ 4.770447 -4.881387 0
+ F4 26624 0.000000 5 0
+ -5.824382 -0.665644 0
+ -5.047798 -0.110941 0
+ -2.385223 0.554703 0
+ -0.942995 -0.942995 0
+ -4.271214 -1.442228 0
+ F4 26624 0.000000 4 0
+ -5.103268 -6.434556 0
+ -3.550100 -6.046264 0
+ -2.440694 -3.439159 0
+ -4.160273 -3.882922 0
+ L3 26624 0.000000 0.777733 8.555067 0 1.555467 7.388467 0
+ L3 26624 0.000000 5.444133 7.388467 0 3.499800 6.610733 0
+ L3 26624 0.000000 6.221867 9.332800 0 5.055267 8.555067 0
+ L3 26624 0.000000 3.499800 10.110533 0 2.722067 8.555067 0
+ L3 26624 0.000000 -1.555467 9.721667 0 -0.777733 8.555067 0
+ L3 26624 0.000000 -4.666400 6.221867 0 -3.110933 6.221867 0
+ L3 26624 0.000000 -3.499800 4.277533 0 -1.555467 5.055267 0
+ L3 26624 0.000000 -4.666400 2.333200 0 -3.110933 1.166600 0
+ L3 26624 0.000000 -6.999600 1.944333 0 -5.444133 1.166600 0
+ L3 26624 0.000000 -8.943933 0.777733 0 -6.999600 0.000000 0
+ L3 26624 0.000000 -6.221867 -1.944333 0 -7.777333 -3.499800 0
+ L3 26624 0.000000 -6.999600 -5.444133 0 -5.833000 -3.888667 0
+ L3 26624 0.000000 -4.277533 -8.555067 0 -3.110933 -6.999600 0
+ L3 26624 0.000000 -1.555467 -6.999600 0 -1.944333 -9.332800 0
+ L3 26624 0.000000 -1.166600 -4.277533 0 -0.777733 -5.833000 0
+ L3 26624 0.000000 2.722067 -6.999600 0 3.499800 -9.332800 0
+ L3 26624 0.000000 4.666400 -6.610733 0 6.999600 -7.777333 0
+ L3 26624 0.000000 10.499400 -2.722067 0 8.555067 -3.110933 0
+ L3 26624 0.000000 10.499400 -6.221867 0 8.555067 -5.444133 0
+ L3 26624 0.000000 11.277133 -4.666400 0 9.332800 -4.277533 0
+ L3 26624 0.000000 4.666400 -11.277133 0 4.277533 -9.721667 0
+ L3 26624 0.000000 6.999600 -10.110533 0 5.833000 -8.943933 0
+ L3 26624 0.000000 5.444133 -10.499400 0 4.666400 -8.166200 0
+ L3 26624 0.000000 11.666000 1.944333 0 9.332800 2.333200 0
+ L3 26624 0.000000 9.721667 5.055267 0 7.777333 3.888667 0
+ L3 26624 0.000000 11.666000 3.888667 0 9.721667 3.499800 0
+ L3 26624 0.000000 -3.888667 -10.888267 0 -3.499800 -9.332800 0
+ L3 26624 0.000000 -8.555067 -5.444133 0 -7.388467 -4.666400 0
+ L3 26624 0.000000 5.444133 12.443733 0 4.666400 10.499400 0
+ L3 26624 0.000000 6.999600 11.277133 0 5.833000 10.110533 0
+ END$SEGS
+
diff --git a/app/lib/params/TreeLgFall.xtp b/app/lib/params/TreeLgFall.xtp
new file mode 100644
index 0000000..414f847
--- /dev/null
+++ b/app/lib/params/TreeLgFall.xtp
@@ -0,0 +1,3483 @@
+CONTENTS Large Fall Trees
+
+# DxfToXtp version 0.6 by Russell Shilling 2021
+STRUCTURE * "Lg Fall 8"" Fall-8a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -2.419782 -2.295585 0
+ -2.076517 -3.593556 0
+ -1.304171 -3.926095 0
+ -0.435281 -2.853391 0
+ 0.562333 -3.786643 0
+ 1.763761 -3.218110 0
+ 1.484858 3.164475 0
+ 0.347793 3.765189 0
+ -0.124197 3.035751 0
+ -1.078903 3.046478 0
+ -1.314898 3.786643 0
+ -2.784501 3.314654 0
+ -2.602142 2.445764 0
+ -3.814297 2.359948 0
+ -4.436465 1.104885 0
+ -3.749934 0.396900 0
+ -4.651005 0.000000 0
+ -4.415011 -0.901071 0
+ -3.460304 -1.244336 0
+ -4.146835 -1.802142 0
+ -3.589029 -2.810483 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -3.346835 -1.802142 0
+ -2.789029 -2.810483 0
+ -1.619782 -2.295585 0
+ -1.276517 -3.593556 0
+ -0.504171 -3.926095 0
+ 0.364719 -2.853391 0
+ 1.362333 -3.786643 0
+ 2.563761 -3.218110 0
+ 2.113226 -2.027409 0
+ 3.550648 -1.630509 0
+ 3.765189 -0.278903 0
+ 3.014297 0.418354 0
+ 3.722281 1.426696 0
+ 3.185929 2.327766 0
+ 2.317039 2.005955 0
+ 2.284858 3.164475 0
+ 1.147793 3.765189 0
+ 0.675803 3.035751 0
+ -0.278903 3.046478 0
+ -0.514898 3.786643 0
+ -1.984501 3.314654 0
+ -1.802142 2.445764 0
+ -3.014297 2.359948 0
+ -3.636465 1.104885 0
+ -2.949934 0.396900 0
+ -3.851005 0.000000 0
+ -3.615011 -0.901071 0
+ -2.660304 -1.244336 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 0.536352 -2.510126 0
+ 1.287244 -3.261018 0
+ 2.005955 -2.821210 0
+ 1.684144 -1.566147 0
+ 3.121567 -1.169247 0
+ 3.218110 -0.547079 0
+ 2.317039 0.075089 0
+ 3.100113 1.255063 0
+ 2.756848 1.662690 0
+ 1.898685 1.641236 0
+ 1.855777 2.628123 0
+ 1.115612 3.035751 0
+ 0.504171 2.317039 0
+ -0.418354 2.445764 0
+ -0.632895 2.939207 0
+ -1.415969 2.735394 0
+ -1.426696 1.877231 0
+ -2.081045 1.855777 0
+ -2.510126 0.997614 0
+ -1.748507 0.278903 0
+ -2.467218 -0.096543 0
+ -2.349220 -0.611441 0
+ -1.201428 -0.825982 0
+ -1.641236 -1.609055 0
+ -0.922525 -2.166861 0
+ -0.632895 -2.799756 0
+ L3 12434688 0.000000 -0.972167 -3.110933 0 -1.069383 -2.624850 0
+ L3 12434688 0.000000 -2.041550 -1.652683 0 -1.652683 -1.361033 0
+ L3 12434688 0.000000 -3.305367 -0.194433 0 -2.722067 -0.486083 0
+ L3 12434688 0.000000 -2.235983 0.291650 0 -2.722067 0.194433 0
+ L3 12434688 0.000000 -3.013717 1.458250 0 -2.527633 1.555467 0
+ L3 12434688 0.000000 -1.458250 2.916500 0 -1.652683 3.208150 0
+ L3 12434688 0.000000 0.486083 2.624850 0 0.194433 2.819283 0
+ L3 12434688 0.000000 1.847117 2.916500 0 2.138767 3.013717 0
+ L3 12434688 0.000000 3.402583 1.361033 0 3.110933 1.458250 0
+ L3 12434688 0.000000 -2.722067 -2.430417 0 -2.527633 -2.041550 0
+ L3 12434688 0.000000 -3.110933 -1.847117 0 -2.819283 -2.041550 0
+ L3 16755200 0.000000 -0.680517 -3.305367 0 -0.291650 -3.013717 0
+ L3 16755200 0.000000 -2.235983 -2.041550 0 -1.555467 -2.041550 0
+ L3 16755200 0.000000 -2.722067 -1.847117 0 -2.430417 -1.555467 0
+ L3 16755200 0.000000 -1.847117 -1.069383 0 -2.430417 -0.972167 0
+ L3 16755200 0.000000 -3.305367 -0.777733 0 -2.624850 -0.777733 0
+ L3 16755200 0.000000 -2.624850 0.680517 0 -3.305367 1.069383 0
+ L3 16755200 0.000000 -2.333200 2.235983 0 -2.138767 1.944333 0
+ L3 16755200 0.000000 -0.874950 3.110933 0 -0.680517 3.402583 0
+ L3 16755200 0.000000 -0.097217 2.624850 0 0.000000 2.916500 0
+ L3 16755200 0.000000 1.263817 3.110933 0 1.166600 3.499800 0
+ L3 16755200 0.000000 2.916500 1.847117 0 3.110933 2.138767 0
+ L3 16755200 0.000000 3.402583 -0.291650 0 3.013717 -0.194433 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 1.497698 -1.539301 0
+ 0.887525 -1.359023 0
+ 0.818187 -0.901393 0
+ 1.220347 -1.067803 0
+ F4 6842368 0.000000 4 0
+ 1.899858 0.069338 0
+ 1.178744 0.235749 0
+ 1.026201 -0.124808 0
+ 2.010799 -0.180279 0
+ F4 6842368 0.000000 4 0
+ 0.457630 1.844388 0
+ 0.097073 1.567036 0
+ 0.194146 0.984598 0
+ 0.416027 1.067803 0
+ F4 6842368 0.000000 5 0
+ -1.456096 0.166411 0
+ -1.261950 0.027735 0
+ -0.596306 -0.138676 0
+ -0.235749 0.235749 0
+ -1.067803 0.360557 0
+ L3 6842368 0.000000 0.194433 -2.138767 0 0.388867 -1.847117 0
+ L3 6842368 0.000000 1.361033 -1.847117 0 0.874950 -1.652683 0
+ L3 6842368 0.000000 1.555467 -2.333200 0 1.263817 -2.138767 0
+ L3 6842368 0.000000 0.874950 -2.527633 0 0.680517 -2.138767 0
+ L3 6842368 0.000000 -0.388867 -2.430417 0 -0.194433 -2.138767 0
+ L3 6842368 0.000000 -1.166600 -1.555467 0 -0.777733 -1.555467 0
+ L3 6842368 0.000000 -0.874950 -1.069383 0 -0.388867 -1.263817 0
+ L3 6842368 0.000000 -1.166600 -0.583300 0 -0.777733 -0.291650 0
+ L3 6842368 0.000000 -1.749900 -0.486083 0 -1.361033 -0.291650 0
+ L3 6842368 0.000000 -2.235983 -0.194433 0 -1.749900 0.000000 0
+ L3 6842368 0.000000 -1.555467 0.486083 0 -1.944333 0.874950 0
+ L3 6842368 0.000000 -1.749900 1.361033 0 -1.458250 0.972167 0
+ L3 6842368 0.000000 -1.069383 2.138767 0 -0.777733 1.749900 0
+ L3 6842368 0.000000 -0.388867 1.749900 0 -0.486083 2.333200 0
+ L3 6842368 0.000000 -0.291650 1.069383 0 -0.194433 1.458250 0
+ L3 6842368 0.000000 0.680517 1.749900 0 0.874950 2.333200 0
+ L3 6842368 0.000000 1.166600 1.652683 0 1.749900 1.944333 0
+ L3 6842368 0.000000 2.624850 0.680517 0 2.138767 0.777733 0
+ L3 6842368 0.000000 2.624850 1.555467 0 2.138767 1.361033 0
+ L3 6842368 0.000000 2.819283 1.166600 0 2.333200 1.069383 0
+ L3 6842368 0.000000 1.166600 2.819283 0 1.069383 2.430417 0
+ L3 6842368 0.000000 1.749900 2.527633 0 1.458250 2.235983 0
+ L3 6842368 0.000000 1.361033 2.624850 0 1.166600 2.041550 0
+ L3 6842368 0.000000 2.916500 -0.486083 0 2.333200 -0.583300 0
+ L3 6842368 0.000000 2.430417 -1.263817 0 1.944333 -0.972167 0
+ L3 6842368 0.000000 2.916500 -0.972167 0 2.430417 -0.874950 0
+ L3 6842368 0.000000 -0.972167 2.722067 0 -0.874950 2.333200 0
+ L3 6842368 0.000000 -2.138767 1.361033 0 -1.847117 1.166600 0
+ L3 6842368 0.000000 1.361033 -3.110933 0 1.166600 -2.624850 0
+ L3 6842368 0.000000 1.749900 -2.819283 0 1.458250 -2.527633 0
+ F4 16755200 0.000000 5 0
+ -0.582438 -1.844388 0
+ -0.526968 -1.525433 0
+ 0.069338 -1.261950 0
+ 0.235749 -1.650242 0
+ -0.069338 -1.941461 0
+ F4 16755200 0.000000 3 0
+ 1.691844 1.386758 0
+ 1.497698 0.956863 0
+ 1.192612 1.220347 0
+ F4 16755200 0.000000 4 0
+ -1.275817 1.608639 0
+ -0.887525 1.511566 0
+ -0.610173 0.859790 0
+ -1.040068 0.970730 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 8"" Fall-8b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -2.419782 2.295585 0
+ -2.076517 3.593556 0
+ -1.304171 3.926095 0
+ -0.435281 2.853391 0
+ 0.562333 3.786643 0
+ 1.763761 3.218110 0
+ 1.484858 -3.164475 0
+ 0.347793 -3.765189 0
+ -0.124197 -3.035751 0
+ -1.078903 -3.046478 0
+ -1.314898 -3.786643 0
+ -2.784501 -3.314654 0
+ -2.602142 -2.445764 0
+ -3.814297 -2.359948 0
+ -4.436465 -1.104885 0
+ -3.749934 -0.396900 0
+ -4.651005 0.000000 0
+ -4.415011 0.901071 0
+ -3.460304 1.244336 0
+ -4.146835 1.802142 0
+ -3.589029 2.810483 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -3.346835 1.802142 0
+ -2.789029 2.810483 0
+ -1.619782 2.295585 0
+ -1.276517 3.593556 0
+ -0.504171 3.926095 0
+ 0.364719 2.853391 0
+ 1.362333 3.786643 0
+ 2.563761 3.218110 0
+ 2.113226 2.027409 0
+ 3.550648 1.630509 0
+ 3.765189 0.278903 0
+ 3.014297 -0.418354 0
+ 3.722281 -1.426696 0
+ 3.185929 -2.327766 0
+ 2.317039 -2.005955 0
+ 2.284858 -3.164475 0
+ 1.147793 -3.765189 0
+ 0.675803 -3.035751 0
+ -0.278903 -3.046478 0
+ -0.514898 -3.786643 0
+ -1.984501 -3.314654 0
+ -1.802142 -2.445764 0
+ -3.014297 -2.359948 0
+ -3.636465 -1.104885 0
+ -2.949934 -0.396900 0
+ -3.851005 0.000000 0
+ -3.615011 0.901071 0
+ -2.660304 1.244336 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 0.536352 2.510126 0
+ 1.287244 3.261018 0
+ 2.005955 2.821210 0
+ 1.684144 1.566147 0
+ 3.121567 1.169247 0
+ 3.218110 0.547079 0
+ 2.317039 -0.075089 0
+ 3.100113 -1.255063 0
+ 2.756848 -1.662690 0
+ 1.898685 -1.641236 0
+ 1.855777 -2.628123 0
+ 1.115612 -3.035751 0
+ 0.504171 -2.317039 0
+ -0.418354 -2.445764 0
+ -0.632895 -2.939207 0
+ -1.415969 -2.735394 0
+ -1.426696 -1.877231 0
+ -2.081045 -1.855777 0
+ -2.510126 -0.997614 0
+ -1.748507 -0.278903 0
+ -2.467218 0.096543 0
+ -2.349220 0.611441 0
+ -1.201428 0.825982 0
+ -1.641236 1.609055 0
+ -0.922525 2.166861 0
+ -0.632895 2.799756 0
+ L3 12410368 0.000000 -0.680517 3.305367 0 -0.291650 3.013717 0
+ L3 12410368 0.000000 -2.722067 1.847117 0 -2.430417 1.555467 0
+ L3 12410368 0.000000 -2.041550 1.652683 0 -1.652683 1.361033 0
+ L3 12410368 0.000000 -3.305367 0.777733 0 -2.624850 0.777733 0
+ L3 12410368 0.000000 -2.235983 -0.291650 0 -2.722067 -0.194433 0
+ L3 12410368 0.000000 -3.013717 -1.458250 0 -2.527633 -1.555467 0
+ L3 12410368 0.000000 -1.458250 -2.916500 0 -1.652683 -3.208150 0
+ L3 12410368 0.000000 -0.097217 -2.624850 0 0.000000 -2.916500 0
+ L3 12410368 0.000000 1.263817 -3.110933 0 1.166600 -3.499800 0
+ L3 12410368 0.000000 2.916500 -1.847117 0 3.110933 -2.138767 0
+ L3 12410368 0.000000 -2.722067 2.430417 0 -2.527633 2.041550 0
+ L3 14915328 0.000000 -3.110933 1.847117 0 -2.819283 2.041550 0
+ L3 16755200 0.000000 3.402583 0.291650 0 3.013717 0.194433 0
+ L3 16755200 0.000000 -0.972167 3.110933 0 -1.069383 2.624850 0
+ L3 16755200 0.000000 -2.235983 2.041550 0 -1.555467 2.041550 0
+ L3 16755200 0.000000 -1.847117 1.069383 0 -2.430417 0.972167 0
+ L3 16755200 0.000000 -3.305367 0.194433 0 -2.722067 0.486083 0
+ L3 16755200 0.000000 -2.624850 -0.680517 0 -3.305367 -1.069383 0
+ L3 16755200 0.000000 -2.333200 -2.235983 0 -2.138767 -1.944333 0
+ L3 16755200 0.000000 -0.874950 -3.110933 0 -0.680517 -3.402583 0
+ L3 16755200 0.000000 0.486083 -2.624850 0 0.194433 -2.819283 0
+ L3 16755200 0.000000 1.847117 -2.916500 0 2.138767 -3.013717 0
+ L3 16755200 0.000000 3.402583 -1.361033 0 3.110933 -1.458250 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -0.582438 1.844388 0
+ -0.526968 1.525433 0
+ 0.069338 1.261950 0
+ 0.235749 1.650242 0
+ -0.069338 1.941461 0
+ F4 6815744 0.000000 4 0
+ 1.899858 -0.069338 0
+ 1.178744 -0.235749 0
+ 1.026201 0.124808 0
+ 2.010799 0.180279 0
+ F4 6815744 0.000000 4 0
+ 0.457630 -1.844388 0
+ 0.097073 -1.567036 0
+ 0.194146 -0.984598 0
+ 0.416027 -1.067803 0
+ F4 6815744 0.000000 5 0
+ -1.456096 -0.166411 0
+ -1.261950 -0.027735 0
+ -0.596306 0.138676 0
+ -0.235749 -0.235749 0
+ -1.067803 -0.360557 0
+ L3 6815744 0.000000 1.361033 1.847117 0 0.874950 1.652683 0
+ L3 6815744 0.000000 0.874950 2.527633 0 0.680517 2.138767 0
+ L3 6815744 0.000000 -0.388867 2.430417 0 -0.194433 2.138767 0
+ L3 6815744 0.000000 -0.874950 1.069383 0 -0.388867 1.263817 0
+ L3 6815744 0.000000 -1.166600 0.583300 0 -0.777733 0.291650 0
+ L3 6815744 0.000000 -2.235983 0.194433 0 -1.749900 0.000000 0
+ L3 6815744 0.000000 -1.555467 -0.486083 0 -1.944333 -0.874950 0
+ L3 6815744 0.000000 -0.388867 -1.749900 0 -0.486083 -2.333200 0
+ L3 6815744 0.000000 -0.291650 -1.069383 0 -0.194433 -1.458250 0
+ L3 6815744 0.000000 0.680517 -1.749900 0 0.874950 -2.333200 0
+ L3 6815744 0.000000 1.166600 -1.652683 0 1.749900 -1.944333 0
+ L3 6815744 0.000000 2.624850 -0.680517 0 2.138767 -0.777733 0
+ L3 6815744 0.000000 2.624850 -1.555467 0 2.138767 -1.361033 0
+ L3 6815744 0.000000 2.819283 -1.166600 0 2.333200 -1.069383 0
+ L3 6815744 0.000000 1.166600 -2.819283 0 1.069383 -2.430417 0
+ L3 6815744 0.000000 1.749900 -2.527633 0 1.458250 -2.235983 0
+ L3 6815744 0.000000 2.916500 0.486083 0 2.333200 0.583300 0
+ L3 6815744 0.000000 2.916500 0.972167 0 2.430417 0.874950 0
+ L3 6815744 0.000000 -0.972167 -2.722067 0 -0.874950 -2.333200 0
+ L3 6815744 0.000000 -2.138767 -1.361033 0 -1.847117 -1.166600 0
+ L3 6815744 0.000000 1.361033 3.110933 0 1.166600 2.624850 0
+ L3 6815744 0.000000 1.749900 2.819283 0 1.458250 2.527633 0
+ L3 11184640 0.000000 1.361033 -2.624850 0 1.166600 -2.041550 0
+ L3 14915328 0.000000 1.555467 2.333200 0 1.263817 2.138767 0
+ L3 14915328 0.000000 -1.749900 0.486083 0 -1.361033 0.291650 0
+ F4 16755200 0.000000 4 0
+ 1.497698 1.539301 0
+ 0.887525 1.359023 0
+ 0.818187 0.901393 0
+ 1.220347 1.067803 0
+ F4 16755200 0.000000 3 0
+ 1.691844 -1.386758 0
+ 1.497698 -0.956863 0
+ 1.192612 -1.220347 0
+ F4 16755200 0.000000 4 0
+ -1.275817 -1.608639 0
+ -0.887525 -1.511566 0
+ -0.610173 -0.859790 0
+ -1.040068 -0.970730 0
+ L3 16755200 0.000000 0.194433 2.138767 0 0.388867 1.847117 0
+ L3 16755200 0.000000 -1.166600 1.555467 0 -0.777733 1.555467 0
+ L3 16755200 0.000000 -1.749900 -1.361033 0 -1.458250 -0.972167 0
+ L3 16755200 0.000000 -1.069383 -2.138767 0 -0.777733 -1.749900 0
+ L3 16755200 0.000000 2.430417 1.263817 0 1.944333 0.972167 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 10"" Fall-10a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -3.024728 -2.869482 0
+ -2.595646 -4.491946 0
+ -1.630213 -4.907618 0
+ -0.544101 -3.566739 0
+ 0.702917 -4.733304 0
+ 2.204701 -4.022638 0
+ 1.856073 3.955594 0
+ 0.434741 4.706486 0
+ -0.155246 3.794688 0
+ -1.348629 3.808097 0
+ -1.643622 4.733304 0
+ -3.480627 4.143317 0
+ -3.252677 3.057205 0
+ -4.767871 2.949934 0
+ -5.545581 1.381106 0
+ -4.687418 0.496125 0
+ -5.813757 0.000000 0
+ -5.518763 -1.126339 0
+ -4.325381 -1.555420 0
+ -5.183543 -2.252677 0
+ -4.486286 -3.513104 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -4.183543 -2.252677 0
+ -3.486286 -3.513104 0
+ -2.024728 -2.869482 0
+ -1.595646 -4.491946 0
+ -0.630213 -4.907618 0
+ 0.455899 -3.566739 0
+ 1.702917 -4.733304 0
+ 3.204701 -4.022638 0
+ 2.641532 -2.534262 0
+ 4.438310 -2.038136 0
+ 4.706486 -0.348629 0
+ 3.767871 0.522943 0
+ 4.652851 1.783369 0
+ 3.982411 2.909708 0
+ 2.896299 2.507444 0
+ 2.856073 3.955594 0
+ 1.434741 4.706486 0
+ 0.844754 3.794688 0
+ -0.348629 3.808097 0
+ -0.643622 4.733304 0
+ -2.480627 4.143317 0
+ -2.252677 3.057205 0
+ -3.767871 2.949934 0
+ -4.545581 1.381106 0
+ -3.687418 0.496125 0
+ -4.813757 0.000000 0
+ -4.518763 -1.126339 0
+ -3.325381 -1.555420 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 0.670440 -3.137657 0
+ 1.609055 -4.076273 0
+ 2.507444 -3.526512 0
+ 2.105180 -1.957684 0
+ 3.901959 -1.461558 0
+ 4.022638 -0.683848 0
+ 2.896299 0.093862 0
+ 3.875141 1.568829 0
+ 3.446060 2.078363 0
+ 2.373356 2.051545 0
+ 2.319721 3.285154 0
+ 1.394514 3.794688 0
+ 0.630213 2.896299 0
+ -0.522943 3.057205 0
+ -0.791119 3.674009 0
+ -1.769961 3.419242 0
+ -1.783369 2.346539 0
+ -2.601306 2.319721 0
+ -3.137657 1.247018 0
+ -2.185633 0.348629 0
+ -3.084022 -0.120679 0
+ -2.936526 -0.764301 0
+ -1.501785 -1.032477 0
+ -2.051545 -2.011319 0
+ -1.153156 -2.708576 0
+ -0.791119 -3.499695 0
+ L3 12434688 0.000000 -1.215208 -3.888667 0 -1.336729 -3.281062 0
+ L3 12434688 0.000000 -2.551937 -2.065854 0 -2.065854 -1.701292 0
+ L3 12434688 0.000000 -4.131708 -0.243042 0 -3.402583 -0.607604 0
+ L3 12434688 0.000000 -2.794979 0.364562 0 -3.402583 0.243042 0
+ L3 12434688 0.000000 -3.767146 1.822812 0 -3.159542 1.944333 0
+ L3 12434688 0.000000 -1.822812 3.645625 0 -2.065854 4.010187 0
+ L3 12434688 0.000000 0.607604 3.281062 0 0.243042 3.524104 0
+ L3 12434688 0.000000 2.308896 3.645625 0 2.673458 3.767146 0
+ L3 12434688 0.000000 4.253229 1.701292 0 3.888667 1.822812 0
+ L3 12434688 0.000000 -3.402583 -3.038021 0 -3.159542 -2.551937 0
+ L3 12434688 0.000000 -3.888667 -2.308896 0 -3.524104 -2.551937 0
+ L3 16755200 0.000000 -0.850646 -4.131708 0 -0.364562 -3.767146 0
+ L3 16755200 0.000000 -2.794979 -2.551937 0 -1.944333 -2.551937 0
+ L3 16755200 0.000000 -3.402583 -2.308896 0 -3.038021 -1.944333 0
+ L3 16755200 0.000000 -2.308896 -1.336729 0 -3.038021 -1.215208 0
+ L3 16755200 0.000000 -4.131708 -0.972167 0 -3.281062 -0.972167 0
+ L3 16755200 0.000000 -3.281062 0.850646 0 -4.131708 1.336729 0
+ L3 16755200 0.000000 -2.916500 2.794979 0 -2.673458 2.430417 0
+ L3 16755200 0.000000 -1.093687 3.888667 0 -0.850646 4.253229 0
+ L3 16755200 0.000000 -0.121521 3.281062 0 0.000000 3.645625 0
+ L3 16755200 0.000000 1.579771 3.888667 0 1.458250 4.374750 0
+ L3 16755200 0.000000 3.645625 2.308896 0 3.888667 2.673458 0
+ L3 16755200 0.000000 4.253229 -0.364562 0 3.767146 -0.243042 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 1.872123 -1.924126 0
+ 1.109406 -1.698778 0
+ 1.022734 -1.126741 0
+ 1.525433 -1.334754 0
+ F4 6842368 0.000000 4 0
+ 2.374823 0.086672 0
+ 1.473430 0.294686 0
+ 1.282751 -0.156010 0
+ 2.513498 -0.225348 0
+ F4 6842368 0.000000 4 0
+ 0.572038 2.305485 0
+ 0.121341 1.958795 0
+ 0.242683 1.230747 0
+ 0.520034 1.334754 0
+ F4 6842368 0.000000 5 0
+ -1.820120 0.208014 0
+ -1.577437 0.034669 0
+ -0.745382 -0.173345 0
+ -0.294686 0.294686 0
+ -1.334754 0.450696 0
+ L3 6842368 0.000000 0.243042 -2.673458 0 0.486083 -2.308896 0
+ L3 6842368 0.000000 1.701292 -2.308896 0 1.093687 -2.065854 0
+ L3 6842368 0.000000 1.944333 -2.916500 0 1.579771 -2.673458 0
+ L3 6842368 0.000000 1.093687 -3.159542 0 0.850646 -2.673458 0
+ L3 6842368 0.000000 -0.486083 -3.038021 0 -0.243042 -2.673458 0
+ L3 6842368 0.000000 -1.458250 -1.944333 0 -0.972167 -1.944333 0
+ L3 6842368 0.000000 -1.093687 -1.336729 0 -0.486083 -1.579771 0
+ L3 6842368 0.000000 -1.458250 -0.729125 0 -0.972167 -0.364562 0
+ L3 6842368 0.000000 -2.187375 -0.607604 0 -1.701292 -0.364562 0
+ L3 6842368 0.000000 -2.794979 -0.243042 0 -2.187375 0.000000 0
+ L3 6842368 0.000000 -1.944333 0.607604 0 -2.430417 1.093687 0
+ L3 6842368 0.000000 -2.187375 1.701292 0 -1.822812 1.215208 0
+ L3 6842368 0.000000 -1.336729 2.673458 0 -0.972167 2.187375 0
+ L3 6842368 0.000000 -0.486083 2.187375 0 -0.607604 2.916500 0
+ L3 6842368 0.000000 -0.364562 1.336729 0 -0.243042 1.822812 0
+ L3 6842368 0.000000 0.850646 2.187375 0 1.093687 2.916500 0
+ L3 6842368 0.000000 1.458250 2.065854 0 2.187375 2.430417 0
+ L3 6842368 0.000000 3.281062 0.850646 0 2.673458 0.972167 0
+ L3 6842368 0.000000 3.281062 1.944333 0 2.673458 1.701292 0
+ L3 6842368 0.000000 3.524104 1.458250 0 2.916500 1.336729 0
+ L3 6842368 0.000000 1.458250 3.524104 0 1.336729 3.038021 0
+ L3 6842368 0.000000 2.187375 3.159542 0 1.822812 2.794979 0
+ L3 6842368 0.000000 1.701292 3.281062 0 1.458250 2.551937 0
+ L3 6842368 0.000000 3.645625 -0.607604 0 2.916500 -0.729125 0
+ L3 6842368 0.000000 3.038021 -1.579771 0 2.430417 -1.215208 0
+ L3 6842368 0.000000 3.645625 -1.215208 0 3.038021 -1.093687 0
+ L3 6842368 0.000000 -1.215208 3.402583 0 -1.093687 2.916500 0
+ L3 6842368 0.000000 -2.673458 1.701292 0 -2.308896 1.458250 0
+ L3 6842368 0.000000 1.701292 -3.888667 0 1.458250 -3.281062 0
+ L3 6842368 0.000000 2.187375 -3.524104 0 1.822812 -3.159542 0
+ F4 16755200 0.000000 5 0
+ -0.728048 -2.305485 0
+ -0.658710 -1.906792 0
+ 0.086672 -1.577437 0
+ 0.294686 -2.062802 0
+ -0.086672 -2.426826 0
+ F4 16755200 0.000000 3 0
+ 2.114806 1.733447 0
+ 1.872123 1.196079 0
+ 1.490765 1.525433 0
+ F4 16755200 0.000000 4 0
+ -1.594771 2.010799 0
+ -1.109406 1.889457 0
+ -0.762717 1.074737 0
+ -1.300085 1.213413 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 10"" Fall-10b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -3.024728 2.869482 0
+ -2.595646 4.491946 0
+ -1.630213 4.907618 0
+ -0.544101 3.566739 0
+ 0.702917 4.733304 0
+ 2.204701 4.022638 0
+ 1.856073 -3.955594 0
+ 0.434741 -4.706486 0
+ -0.155246 -3.794688 0
+ -1.348629 -3.808097 0
+ -1.643622 -4.733304 0
+ -3.480627 -4.143317 0
+ -3.252677 -3.057205 0
+ -4.767871 -2.949934 0
+ -5.545581 -1.381106 0
+ -4.687418 -0.496125 0
+ -5.813757 0.000000 0
+ -5.518763 1.126339 0
+ -4.325381 1.555420 0
+ -5.183543 2.252677 0
+ -4.486286 3.513104 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -4.183543 2.252677 0
+ -3.486286 3.513104 0
+ -2.024728 2.869482 0
+ -1.595646 4.491946 0
+ -0.630213 4.907618 0
+ 0.455899 3.566739 0
+ 1.702917 4.733304 0
+ 3.204701 4.022638 0
+ 2.641532 2.534262 0
+ 4.438310 2.038136 0
+ 4.706486 0.348629 0
+ 3.767871 -0.522943 0
+ 4.652851 -1.783369 0
+ 3.982411 -2.909708 0
+ 2.896299 -2.507444 0
+ 2.856073 -3.955594 0
+ 1.434741 -4.706486 0
+ 0.844754 -3.794688 0
+ -0.348629 -3.808097 0
+ -0.643622 -4.733304 0
+ -2.480627 -4.143317 0
+ -2.252677 -3.057205 0
+ -3.767871 -2.949934 0
+ -4.545581 -1.381106 0
+ -3.687418 -0.496125 0
+ -4.813757 0.000000 0
+ -4.518763 1.126339 0
+ -3.325381 1.555420 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 0.670440 3.137657 0
+ 1.609055 4.076273 0
+ 2.507444 3.526512 0
+ 2.105180 1.957684 0
+ 3.901959 1.461558 0
+ 4.022638 0.683848 0
+ 2.896299 -0.093862 0
+ 3.875141 -1.568829 0
+ 3.446060 -2.078363 0
+ 2.373356 -2.051545 0
+ 2.319721 -3.285154 0
+ 1.394514 -3.794688 0
+ 0.630213 -2.896299 0
+ -0.522943 -3.057205 0
+ -0.791119 -3.674009 0
+ -1.769961 -3.419242 0
+ -1.783369 -2.346539 0
+ -2.601306 -2.319721 0
+ -3.137657 -1.247018 0
+ -2.185633 -0.348629 0
+ -3.084022 0.120679 0
+ -2.936526 0.764301 0
+ -1.501785 1.032477 0
+ -2.051545 2.011319 0
+ -1.153156 2.708576 0
+ -0.791119 3.499695 0
+ L3 12410368 0.000000 -0.850646 4.131708 0 -0.364562 3.767146 0
+ L3 12410368 0.000000 -3.402583 2.308896 0 -3.038021 1.944333 0
+ L3 12410368 0.000000 -2.551937 2.065854 0 -2.065854 1.701292 0
+ L3 12410368 0.000000 -4.131708 0.972167 0 -3.281062 0.972167 0
+ L3 12410368 0.000000 -2.794979 -0.364562 0 -3.402583 -0.243042 0
+ L3 12410368 0.000000 -3.767146 -1.822812 0 -3.159542 -1.944333 0
+ L3 12410368 0.000000 -1.822812 -3.645625 0 -2.065854 -4.010187 0
+ L3 12410368 0.000000 -0.121521 -3.281062 0 0.000000 -3.645625 0
+ L3 12410368 0.000000 1.579771 -3.888667 0 1.458250 -4.374750 0
+ L3 12410368 0.000000 3.645625 -2.308896 0 3.888667 -2.673458 0
+ L3 12410368 0.000000 -3.402583 3.038021 0 -3.159542 2.551937 0
+ L3 14915328 0.000000 -3.888667 2.308896 0 -3.524104 2.551937 0
+ L3 16755200 0.000000 4.253229 0.364562 0 3.767146 0.243042 0
+ L3 16755200 0.000000 -1.215208 3.888667 0 -1.336729 3.281062 0
+ L3 16755200 0.000000 -2.794979 2.551937 0 -1.944333 2.551937 0
+ L3 16755200 0.000000 -2.308896 1.336729 0 -3.038021 1.215208 0
+ L3 16755200 0.000000 -4.131708 0.243042 0 -3.402583 0.607604 0
+ L3 16755200 0.000000 -3.281062 -0.850646 0 -4.131708 -1.336729 0
+ L3 16755200 0.000000 -2.916500 -2.794979 0 -2.673458 -2.430417 0
+ L3 16755200 0.000000 -1.093687 -3.888667 0 -0.850646 -4.253229 0
+ L3 16755200 0.000000 0.607604 -3.281062 0 0.243042 -3.524104 0
+ L3 16755200 0.000000 2.308896 -3.645625 0 2.673458 -3.767146 0
+ L3 16755200 0.000000 4.253229 -1.701292 0 3.888667 -1.822812 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -0.728048 2.305485 0
+ -0.658710 1.906792 0
+ 0.086672 1.577437 0
+ 0.294686 2.062802 0
+ -0.086672 2.426826 0
+ F4 6815744 0.000000 4 0
+ 2.374823 -0.086672 0
+ 1.473430 -0.294686 0
+ 1.282751 0.156010 0
+ 2.513498 0.225348 0
+ F4 6815744 0.000000 4 0
+ 0.572038 -2.305485 0
+ 0.121341 -1.958795 0
+ 0.242683 -1.230747 0
+ 0.520034 -1.334754 0
+ F4 6815744 0.000000 5 0
+ -1.820120 -0.208014 0
+ -1.577437 -0.034669 0
+ -0.745382 0.173345 0
+ -0.294686 -0.294686 0
+ -1.334754 -0.450696 0
+ L3 6815744 0.000000 1.701292 2.308896 0 1.093687 2.065854 0
+ L3 6815744 0.000000 1.093687 3.159542 0 0.850646 2.673458 0
+ L3 6815744 0.000000 -0.486083 3.038021 0 -0.243042 2.673458 0
+ L3 6815744 0.000000 -1.093687 1.336729 0 -0.486083 1.579771 0
+ L3 6815744 0.000000 -1.458250 0.729125 0 -0.972167 0.364562 0
+ L3 6815744 0.000000 -2.794979 0.243042 0 -2.187375 0.000000 0
+ L3 6815744 0.000000 -1.944333 -0.607604 0 -2.430417 -1.093687 0
+ L3 6815744 0.000000 -0.486083 -2.187375 0 -0.607604 -2.916500 0
+ L3 6815744 0.000000 -0.364562 -1.336729 0 -0.243042 -1.822812 0
+ L3 6815744 0.000000 0.850646 -2.187375 0 1.093687 -2.916500 0
+ L3 6815744 0.000000 1.458250 -2.065854 0 2.187375 -2.430417 0
+ L3 6815744 0.000000 3.281062 -0.850646 0 2.673458 -0.972167 0
+ L3 6815744 0.000000 3.281062 -1.944333 0 2.673458 -1.701292 0
+ L3 6815744 0.000000 3.524104 -1.458250 0 2.916500 -1.336729 0
+ L3 6815744 0.000000 1.458250 -3.524104 0 1.336729 -3.038021 0
+ L3 6815744 0.000000 2.187375 -3.159542 0 1.822812 -2.794979 0
+ L3 6815744 0.000000 3.645625 0.607604 0 2.916500 0.729125 0
+ L3 6815744 0.000000 3.645625 1.215208 0 3.038021 1.093687 0
+ L3 6815744 0.000000 -1.215208 -3.402583 0 -1.093687 -2.916500 0
+ L3 6815744 0.000000 -2.673458 -1.701292 0 -2.308896 -1.458250 0
+ L3 6815744 0.000000 1.701292 3.888667 0 1.458250 3.281062 0
+ L3 6815744 0.000000 2.187375 3.524104 0 1.822812 3.159542 0
+ L3 11184640 0.000000 1.701292 -3.281062 0 1.458250 -2.551937 0
+ L3 14915328 0.000000 1.944333 2.916500 0 1.579771 2.673458 0
+ L3 14915328 0.000000 -2.187375 0.607604 0 -1.701292 0.364562 0
+ F4 16755200 0.000000 4 0
+ 1.872123 1.924126 0
+ 1.109406 1.698778 0
+ 1.022734 1.126741 0
+ 1.525433 1.334754 0
+ F4 16755200 0.000000 3 0
+ 2.114806 -1.733447 0
+ 1.872123 -1.196079 0
+ 1.490765 -1.525433 0
+ F4 16755200 0.000000 4 0
+ -1.594771 -2.010799 0
+ -1.109406 -1.889457 0
+ -0.762717 -1.074737 0
+ -1.300085 -1.213413 0
+ L3 16755200 0.000000 0.243042 2.673458 0 0.486083 2.308896 0
+ L3 16755200 0.000000 -1.458250 1.944333 0 -0.972167 1.944333 0
+ L3 16755200 0.000000 -2.187375 -1.701292 0 -1.822812 -1.215208 0
+ L3 16755200 0.000000 -1.336729 -2.673458 0 -0.972167 -2.187375 0
+ L3 16755200 0.000000 3.038021 1.579771 0 2.430417 1.215208 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 12"" Fall-12a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -3.629673 -3.443378 0
+ -3.114776 -5.390335 0
+ -1.956256 -5.889142 0
+ -0.652921 -4.280087 0
+ 0.843500 -5.679965 0
+ 2.645642 -4.827165 0
+ 2.227287 4.746713 0
+ 0.521689 5.647783 0
+ -0.186295 4.553626 0
+ -1.618354 4.569717 0
+ -1.972346 5.679965 0
+ -4.176752 4.971980 0
+ -3.903213 3.668646 0
+ -5.721445 3.539921 0
+ -6.654697 1.657327 0
+ -5.624902 0.595350 0
+ -6.976508 0.000000 0
+ -6.622516 -1.351606 0
+ -5.190457 -1.866504 0
+ -6.220252 -2.703213 0
+ -5.383543 -4.215724 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -5.020252 -2.703213 0
+ -4.183543 -4.215724 0
+ -2.429673 -3.443378 0
+ -1.914776 -5.390335 0
+ -0.756256 -5.889142 0
+ 0.547079 -4.280087 0
+ 2.043500 -5.679965 0
+ 3.845642 -4.827165 0
+ 3.169839 -3.041114 0
+ 5.325972 -2.445764 0
+ 5.647783 -0.418354 0
+ 4.521445 0.627531 0
+ 5.583421 2.140043 0
+ 4.778894 3.491650 0
+ 3.475559 3.008933 0
+ 3.427287 4.746713 0
+ 1.721689 5.647783 0
+ 1.013705 4.553626 0
+ -0.418354 4.569717 0
+ -0.772346 5.679965 0
+ -2.976752 4.971980 0
+ -2.703213 3.668646 0
+ -4.521445 3.539921 0
+ -5.454697 1.657327 0
+ -4.424902 0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 -1.351606 0
+ -3.990457 -1.866504 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 0.804528 -3.765189 0
+ 1.930866 -4.891528 0
+ 3.008933 -4.231815 0
+ 2.526217 -2.349220 0
+ 4.682350 -1.753870 0
+ 4.827165 -0.820618 0
+ 3.475559 0.112634 0
+ 4.650169 1.882594 0
+ 4.135272 2.494035 0
+ 2.848028 2.461854 0
+ 2.783665 3.942185 0
+ 1.673417 4.553626 0
+ 0.756256 3.475559 0
+ -0.627531 3.668646 0
+ -0.949343 4.408811 0
+ -2.123953 4.103091 0
+ -2.140043 2.815846 0
+ -3.121567 2.783665 0
+ -3.765189 1.496421 0
+ -2.622760 0.418354 0
+ -3.700827 -0.144815 0
+ -3.523831 -0.917161 0
+ -1.802142 -1.238972 0
+ -2.461854 -2.413583 0
+ -1.383787 -3.250291 0
+ -0.949343 -4.199634 0
+ L3 12434688 0.000000 -1.458250 -4.666400 0 -1.604075 -3.937275 0
+ L3 12434688 0.000000 -3.062325 -2.479025 0 -2.479025 -2.041550 0
+ L3 12434688 0.000000 -4.958050 -0.291650 0 -4.083100 -0.729125 0
+ L3 12434688 0.000000 -3.353975 0.437475 0 -4.083100 0.291650 0
+ L3 12434688 0.000000 -4.520575 2.187375 0 -3.791450 2.333200 0
+ L3 12434688 0.000000 -2.187375 4.374750 0 -2.479025 4.812225 0
+ L3 12434688 0.000000 0.729125 3.937275 0 0.291650 4.228925 0
+ L3 12434688 0.000000 2.770675 4.374750 0 3.208150 4.520575 0
+ L3 12434688 0.000000 5.103875 2.041550 0 4.666400 2.187375 0
+ L3 12434688 0.000000 -4.083100 -3.645625 0 -3.791450 -3.062325 0
+ L3 12434688 0.000000 -4.666400 -2.770675 0 -4.228925 -3.062325 0
+ L3 16755200 0.000000 -1.020775 -4.958050 0 -0.437475 -4.520575 0
+ L3 16755200 0.000000 -3.353975 -3.062325 0 -2.333200 -3.062325 0
+ L3 16755200 0.000000 -4.083100 -2.770675 0 -3.645625 -2.333200 0
+ L3 16755200 0.000000 -2.770675 -1.604075 0 -3.645625 -1.458250 0
+ L3 16755200 0.000000 -4.958050 -1.166600 0 -3.937275 -1.166600 0
+ L3 16755200 0.000000 -3.937275 1.020775 0 -4.958050 1.604075 0
+ L3 16755200 0.000000 -3.499800 3.353975 0 -3.208150 2.916500 0
+ L3 16755200 0.000000 -1.312425 4.666400 0 -1.020775 5.103875 0
+ L3 16755200 0.000000 -0.145825 3.937275 0 0.000000 4.374750 0
+ L3 16755200 0.000000 1.895725 4.666400 0 1.749900 5.249700 0
+ L3 16755200 0.000000 4.374750 2.770675 0 4.666400 3.208150 0
+ L3 16755200 0.000000 5.103875 -0.437475 0 4.520575 -0.291650 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 2.246548 -2.308952 0
+ 1.331287 -2.038534 0
+ 1.227281 -1.352089 0
+ 1.830520 -1.601705 0
+ F4 6842368 0.000000 4 0
+ 2.849787 0.104007 0
+ 1.768116 0.353623 0
+ 1.539301 -0.187212 0
+ 3.016198 -0.270418 0
+ F4 6842368 0.000000 4 0
+ 0.686445 2.766582 0
+ 0.145610 2.350554 0
+ 0.291219 1.476897 0
+ 0.624041 1.601705 0
+ F4 6842368 0.000000 5 0
+ -2.184143 0.249616 0
+ -1.892924 0.041603 0
+ -0.894459 -0.208014 0
+ -0.353623 0.353623 0
+ -1.601705 0.540836 0
+ L3 6842368 0.000000 0.291650 -3.208150 0 0.583300 -2.770675 0
+ L3 6842368 0.000000 2.041550 -2.770675 0 1.312425 -2.479025 0
+ L3 6842368 0.000000 2.333200 -3.499800 0 1.895725 -3.208150 0
+ L3 6842368 0.000000 1.312425 -3.791450 0 1.020775 -3.208150 0
+ L3 6842368 0.000000 -0.583300 -3.645625 0 -0.291650 -3.208150 0
+ L3 6842368 0.000000 -1.749900 -2.333200 0 -1.166600 -2.333200 0
+ L3 6842368 0.000000 -1.312425 -1.604075 0 -0.583300 -1.895725 0
+ L3 6842368 0.000000 -1.749900 -0.874950 0 -1.166600 -0.437475 0
+ L3 6842368 0.000000 -2.624850 -0.729125 0 -2.041550 -0.437475 0
+ L3 6842368 0.000000 -3.353975 -0.291650 0 -2.624850 0.000000 0
+ L3 6842368 0.000000 -2.333200 0.729125 0 -2.916500 1.312425 0
+ L3 6842368 0.000000 -2.624850 2.041550 0 -2.187375 1.458250 0
+ L3 6842368 0.000000 -1.604075 3.208150 0 -1.166600 2.624850 0
+ L3 6842368 0.000000 -0.583300 2.624850 0 -0.729125 3.499800 0
+ L3 6842368 0.000000 -0.437475 1.604075 0 -0.291650 2.187375 0
+ L3 6842368 0.000000 1.020775 2.624850 0 1.312425 3.499800 0
+ L3 6842368 0.000000 1.749900 2.479025 0 2.624850 2.916500 0
+ L3 6842368 0.000000 3.937275 1.020775 0 3.208150 1.166600 0
+ L3 6842368 0.000000 3.937275 2.333200 0 3.208150 2.041550 0
+ L3 6842368 0.000000 4.228925 1.749900 0 3.499800 1.604075 0
+ L3 6842368 0.000000 1.749900 4.228925 0 1.604075 3.645625 0
+ L3 6842368 0.000000 2.624850 3.791450 0 2.187375 3.353975 0
+ L3 6842368 0.000000 2.041550 3.937275 0 1.749900 3.062325 0
+ L3 6842368 0.000000 4.374750 -0.729125 0 3.499800 -0.874950 0
+ L3 6842368 0.000000 3.645625 -1.895725 0 2.916500 -1.458250 0
+ L3 6842368 0.000000 4.374750 -1.458250 0 3.645625 -1.312425 0
+ L3 6842368 0.000000 -1.458250 4.083100 0 -1.312425 3.499800 0
+ L3 6842368 0.000000 -3.208150 2.041550 0 -2.770675 1.749900 0
+ L3 6842368 0.000000 2.041550 -4.666400 0 1.749900 -3.937275 0
+ L3 6842368 0.000000 2.624850 -4.228925 0 2.187375 -3.791450 0
+ F4 16755200 0.000000 5 0
+ -0.873657 -2.766582 0
+ -0.790452 -2.288150 0
+ 0.104007 -1.892924 0
+ 0.353623 -2.475363 0
+ -0.104007 -2.912191 0
+ F4 16755200 0.000000 3 0
+ 2.537767 2.080137 0
+ 2.246548 1.435294 0
+ 1.788917 1.830520 0
+ F4 16755200 0.000000 4 0
+ -1.913726 2.412958 0
+ -1.331287 2.267349 0
+ -0.915260 1.289685 0
+ -1.560102 1.456096 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 12"" Fall-12b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -3.629673 3.443378 0
+ -3.114776 5.390335 0
+ -1.956256 5.889142 0
+ -0.652921 4.280087 0
+ 0.843500 5.679965 0
+ 2.645642 4.827165 0
+ 2.227287 -4.746713 0
+ 0.521689 -5.647783 0
+ -0.186295 -4.553626 0
+ -1.618354 -4.569717 0
+ -1.972346 -5.679965 0
+ -4.176752 -4.971980 0
+ -3.903213 -3.668646 0
+ -5.721445 -3.539921 0
+ -6.654697 -1.657327 0
+ -5.624902 -0.595350 0
+ -6.976508 0.000000 0
+ -6.622516 1.351606 0
+ -5.190457 1.866504 0
+ -6.220252 2.703213 0
+ -5.383543 4.215724 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -5.020252 2.703213 0
+ -4.183543 4.215724 0
+ -2.429673 3.443378 0
+ -1.914776 5.390335 0
+ -0.756256 5.889142 0
+ 0.547079 4.280087 0
+ 2.043500 5.679965 0
+ 3.845642 4.827165 0
+ 3.169839 3.041114 0
+ 5.325972 2.445764 0
+ 5.647783 0.418354 0
+ 4.521445 -0.627531 0
+ 5.583421 -2.140043 0
+ 4.778894 -3.491650 0
+ 3.475559 -3.008933 0
+ 3.427287 -4.746713 0
+ 1.721689 -5.647783 0
+ 1.013705 -4.553626 0
+ -0.418354 -4.569717 0
+ -0.772346 -5.679965 0
+ -2.976752 -4.971980 0
+ -2.703213 -3.668646 0
+ -4.521445 -3.539921 0
+ -5.454697 -1.657327 0
+ -4.424902 -0.595350 0
+ -5.776508 0.000000 0
+ -5.422516 1.351606 0
+ -3.990457 1.866504 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 0.804528 3.765189 0
+ 1.930866 4.891528 0
+ 3.008933 4.231815 0
+ 2.526217 2.349220 0
+ 4.682350 1.753870 0
+ 4.827165 0.820618 0
+ 3.475559 -0.112634 0
+ 4.650169 -1.882594 0
+ 4.135272 -2.494035 0
+ 2.848028 -2.461854 0
+ 2.783665 -3.942185 0
+ 1.673417 -4.553626 0
+ 0.756256 -3.475559 0
+ -0.627531 -3.668646 0
+ -0.949343 -4.408811 0
+ -2.123953 -4.103091 0
+ -2.140043 -2.815846 0
+ -3.121567 -2.783665 0
+ -3.765189 -1.496421 0
+ -2.622760 -0.418354 0
+ -3.700827 0.144815 0
+ -3.523831 0.917161 0
+ -1.802142 1.238972 0
+ -2.461854 2.413583 0
+ -1.383787 3.250291 0
+ -0.949343 4.199634 0
+ L3 12410368 0.000000 -1.020775 4.958050 0 -0.437475 4.520575 0
+ L3 12410368 0.000000 -4.083100 2.770675 0 -3.645625 2.333200 0
+ L3 12410368 0.000000 -3.062325 2.479025 0 -2.479025 2.041550 0
+ L3 12410368 0.000000 -4.958050 1.166600 0 -3.937275 1.166600 0
+ L3 12410368 0.000000 -3.353975 -0.437475 0 -4.083100 -0.291650 0
+ L3 12410368 0.000000 -4.520575 -2.187375 0 -3.791450 -2.333200 0
+ L3 12410368 0.000000 -2.187375 -4.374750 0 -2.479025 -4.812225 0
+ L3 12410368 0.000000 -0.145825 -3.937275 0 0.000000 -4.374750 0
+ L3 12410368 0.000000 1.895725 -4.666400 0 1.749900 -5.249700 0
+ L3 12410368 0.000000 4.374750 -2.770675 0 4.666400 -3.208150 0
+ L3 12410368 0.000000 -4.083100 3.645625 0 -3.791450 3.062325 0
+ L3 14915328 0.000000 -4.666400 2.770675 0 -4.228925 3.062325 0
+ L3 16755200 0.000000 5.103875 0.437475 0 4.520575 0.291650 0
+ L3 16755200 0.000000 -1.458250 4.666400 0 -1.604075 3.937275 0
+ L3 16755200 0.000000 -3.353975 3.062325 0 -2.333200 3.062325 0
+ L3 16755200 0.000000 -2.770675 1.604075 0 -3.645625 1.458250 0
+ L3 16755200 0.000000 -4.958050 0.291650 0 -4.083100 0.729125 0
+ L3 16755200 0.000000 -3.937275 -1.020775 0 -4.958050 -1.604075 0
+ L3 16755200 0.000000 -3.499800 -3.353975 0 -3.208150 -2.916500 0
+ L3 16755200 0.000000 -1.312425 -4.666400 0 -1.020775 -5.103875 0
+ L3 16755200 0.000000 0.729125 -3.937275 0 0.291650 -4.228925 0
+ L3 16755200 0.000000 2.770675 -4.374750 0 3.208150 -4.520575 0
+ L3 16755200 0.000000 5.103875 -2.041550 0 4.666400 -2.187375 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -0.873657 2.766582 0
+ -0.790452 2.288150 0
+ 0.104007 1.892924 0
+ 0.353623 2.475363 0
+ -0.104007 2.912191 0
+ F4 6815744 0.000000 4 0
+ 2.849787 -0.104007 0
+ 1.768116 -0.353623 0
+ 1.539301 0.187212 0
+ 3.016198 0.270418 0
+ F4 6815744 0.000000 4 0
+ 0.686445 -2.766582 0
+ 0.145610 -2.350554 0
+ 0.291219 -1.476897 0
+ 0.624041 -1.601705 0
+ F4 6815744 0.000000 5 0
+ -2.184143 -0.249616 0
+ -1.892924 -0.041603 0
+ -0.894459 0.208014 0
+ -0.353623 -0.353623 0
+ -1.601705 -0.540836 0
+ L3 6815744 0.000000 2.041550 2.770675 0 1.312425 2.479025 0
+ L3 6815744 0.000000 1.312425 3.791450 0 1.020775 3.208150 0
+ L3 6815744 0.000000 -0.583300 3.645625 0 -0.291650 3.208150 0
+ L3 6815744 0.000000 -1.312425 1.604075 0 -0.583300 1.895725 0
+ L3 6815744 0.000000 -1.749900 0.874950 0 -1.166600 0.437475 0
+ L3 6815744 0.000000 -3.353975 0.291650 0 -2.624850 0.000000 0
+ L3 6815744 0.000000 -2.333200 -0.729125 0 -2.916500 -1.312425 0
+ L3 6815744 0.000000 -0.583300 -2.624850 0 -0.729125 -3.499800 0
+ L3 6815744 0.000000 -0.437475 -1.604075 0 -0.291650 -2.187375 0
+ L3 6815744 0.000000 1.020775 -2.624850 0 1.312425 -3.499800 0
+ L3 6815744 0.000000 1.749900 -2.479025 0 2.624850 -2.916500 0
+ L3 6815744 0.000000 3.937275 -1.020775 0 3.208150 -1.166600 0
+ L3 6815744 0.000000 3.937275 -2.333200 0 3.208150 -2.041550 0
+ L3 6815744 0.000000 4.228925 -1.749900 0 3.499800 -1.604075 0
+ L3 6815744 0.000000 1.749900 -4.228925 0 1.604075 -3.645625 0
+ L3 6815744 0.000000 2.624850 -3.791450 0 2.187375 -3.353975 0
+ L3 6815744 0.000000 4.374750 0.729125 0 3.499800 0.874950 0
+ L3 6815744 0.000000 4.374750 1.458250 0 3.645625 1.312425 0
+ L3 6815744 0.000000 -1.458250 -4.083100 0 -1.312425 -3.499800 0
+ L3 6815744 0.000000 -3.208150 -2.041550 0 -2.770675 -1.749900 0
+ L3 6815744 0.000000 2.041550 4.666400 0 1.749900 3.937275 0
+ L3 6815744 0.000000 2.624850 4.228925 0 2.187375 3.791450 0
+ L3 11184640 0.000000 2.041550 -3.937275 0 1.749900 -3.062325 0
+ L3 14915328 0.000000 2.333200 3.499800 0 1.895725 3.208150 0
+ L3 14915328 0.000000 -2.624850 0.729125 0 -2.041550 0.437475 0
+ F4 16755200 0.000000 4 0
+ 2.246548 2.308952 0
+ 1.331287 2.038534 0
+ 1.227281 1.352089 0
+ 1.830520 1.601705 0
+ F4 16755200 0.000000 3 0
+ 2.537767 -2.080137 0
+ 2.246548 -1.435294 0
+ 1.788917 -1.830520 0
+ F4 16755200 0.000000 4 0
+ -1.913726 -2.412958 0
+ -1.331287 -2.267349 0
+ -0.915260 -1.289685 0
+ -1.560102 -1.456096 0
+ L3 16755200 0.000000 0.291650 3.208150 0 0.583300 2.770675 0
+ L3 16755200 0.000000 -1.749900 2.333200 0 -1.166600 2.333200 0
+ L3 16755200 0.000000 -2.624850 -2.041550 0 -2.187375 -1.458250 0
+ L3 16755200 0.000000 -1.604075 -3.208150 0 -1.166600 -2.624850 0
+ L3 16755200 0.000000 3.645625 1.895725 0 2.916500 1.458250 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 14"" Fall-14a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -4.234619 -4.017274 0
+ -3.633905 -6.288724 0
+ -2.282299 -6.870665 0
+ -0.761741 -4.993434 0
+ 0.984083 -6.626625 0
+ 3.086582 -5.631693 0
+ 2.598502 5.537831 0
+ 0.608637 6.589081 0
+ -0.217344 5.312564 0
+ -1.888080 5.331336 0
+ -2.301071 6.626625 0
+ -4.872877 5.800644 0
+ -4.553748 4.280087 0
+ -6.675019 4.129908 0
+ -7.763813 1.933548 0
+ -6.562385 0.694575 0
+ -8.139259 0.000000 0
+ -7.726268 -1.576874 0
+ -6.055533 -2.177588 0
+ -7.256961 -3.153748 0
+ -6.280801 -4.918345 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -5.856961 -3.153748 0
+ -4.880801 -4.918345 0
+ -2.834619 -4.017274 0
+ -2.233905 -6.288724 0
+ -0.882299 -6.870665 0
+ 0.638259 -4.993434 0
+ 2.384083 -6.626625 0
+ 4.486582 -5.631693 0
+ 3.698145 -3.547967 0
+ 6.213635 -2.853391 0
+ 6.589081 -0.488080 0
+ 5.275019 0.732120 0
+ 6.513991 2.496717 0
+ 5.575376 4.073591 0
+ 4.054819 3.510422 0
+ 3.998502 5.537831 0
+ 2.008637 6.589081 0
+ 1.182656 5.312564 0
+ -0.488080 5.331336 0
+ -0.901071 6.626625 0
+ -3.472877 5.800644 0
+ -3.153748 4.280087 0
+ -5.275019 4.129908 0
+ -6.363813 1.933548 0
+ -5.162385 0.694575 0
+ -6.739259 0.000000 0
+ -6.326268 -1.576874 0
+ -4.655533 -2.177588 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 0.938615 -4.392720 0
+ 2.252677 -5.706782 0
+ 3.510422 -4.937117 0
+ 2.947253 -2.740757 0
+ 5.462742 -2.046182 0
+ 5.631693 -0.957388 0
+ 4.054819 0.131406 0
+ 5.425198 2.196360 0
+ 4.824484 2.909708 0
+ 3.322699 2.872163 0
+ 3.247610 4.599216 0
+ 1.952320 5.312564 0
+ 0.882299 4.054819 0
+ -0.732120 4.280087 0
+ -1.107566 5.143613 0
+ -2.477945 4.786939 0
+ -2.496717 3.285154 0
+ -3.641828 3.247610 0
+ -4.392720 1.745825 0
+ -3.059886 0.488080 0
+ -4.317631 -0.168951 0
+ -4.111136 -1.070022 0
+ -2.102499 -1.445468 0
+ -2.872163 -2.815846 0
+ -1.614419 -3.792007 0
+ -1.107566 -4.899573 0
+ L3 12434688 0.000000 -1.701292 -5.444133 0 -1.871421 -4.593487 0
+ L3 12434688 0.000000 -3.572712 -2.892196 0 -2.892196 -2.381808 0
+ L3 12434688 0.000000 -5.784392 -0.340258 0 -4.763617 -0.850646 0
+ L3 12434688 0.000000 -3.912971 0.510387 0 -4.763617 0.340258 0
+ L3 12434688 0.000000 -5.274004 2.551937 0 -4.423358 2.722067 0
+ L3 12434688 0.000000 -2.551937 5.103875 0 -2.892196 5.614262 0
+ L3 12434688 0.000000 0.850646 4.593487 0 0.340258 4.933746 0
+ L3 12434688 0.000000 3.232454 5.103875 0 3.742842 5.274004 0
+ L3 12434688 0.000000 5.954521 2.381808 0 5.444133 2.551937 0
+ L3 12434688 0.000000 -4.763617 -4.253229 0 -4.423358 -3.572712 0
+ L3 12434688 0.000000 -5.444133 -3.232454 0 -4.933746 -3.572712 0
+ L3 16755200 0.000000 -1.190904 -5.784392 0 -0.510387 -5.274004 0
+ L3 16755200 0.000000 -3.912971 -3.572712 0 -2.722067 -3.572712 0
+ L3 16755200 0.000000 -4.763617 -3.232454 0 -4.253229 -2.722067 0
+ L3 16755200 0.000000 -3.232454 -1.871421 0 -4.253229 -1.701292 0
+ L3 16755200 0.000000 -5.784392 -1.361033 0 -4.593487 -1.361033 0
+ L3 16755200 0.000000 -4.593487 1.190904 0 -5.784392 1.871421 0
+ L3 16755200 0.000000 -4.083100 3.912971 0 -3.742842 3.402583 0
+ L3 16755200 0.000000 -1.531162 5.444133 0 -1.190904 5.954521 0
+ L3 16755200 0.000000 -0.170129 4.593487 0 0.000000 5.103875 0
+ L3 16755200 0.000000 2.211679 5.444133 0 2.041550 6.124650 0
+ L3 16755200 0.000000 5.103875 3.232454 0 5.444133 3.742842 0
+ L3 16755200 0.000000 5.954521 -0.510387 0 5.274004 -0.340258 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 2.620972 -2.693777 0
+ 1.553169 -2.378289 0
+ 1.431827 -1.577437 0
+ 2.135607 -1.868656 0
+ F4 6842368 0.000000 4 0
+ 3.324752 0.121341 0
+ 2.062802 0.412560 0
+ 1.795851 -0.218414 0
+ 3.518898 -0.315487 0
+ F4 6842368 0.000000 4 0
+ 0.800853 3.227679 0
+ 0.169878 2.742313 0
+ 0.339756 1.723046 0
+ 0.728048 1.868656 0
+ F4 6842368 0.000000 5 0
+ -2.548167 0.291219 0
+ -2.208412 0.048537 0
+ -1.043535 -0.242683 0
+ -0.412560 0.412560 0
+ -1.868656 0.630975 0
+ L3 6842368 0.000000 0.340258 -3.742842 0 0.680517 -3.232454 0
+ L3 6842368 0.000000 2.381808 -3.232454 0 1.531162 -2.892196 0
+ L3 6842368 0.000000 2.722067 -4.083100 0 2.211679 -3.742842 0
+ L3 6842368 0.000000 1.531162 -4.423358 0 1.190904 -3.742842 0
+ L3 6842368 0.000000 -0.680517 -4.253229 0 -0.340258 -3.742842 0
+ L3 6842368 0.000000 -2.041550 -2.722067 0 -1.361033 -2.722067 0
+ L3 6842368 0.000000 -1.531162 -1.871421 0 -0.680517 -2.211679 0
+ L3 6842368 0.000000 -2.041550 -1.020775 0 -1.361033 -0.510387 0
+ L3 6842368 0.000000 -3.062325 -0.850646 0 -2.381808 -0.510387 0
+ L3 6842368 0.000000 -3.912971 -0.340258 0 -3.062325 0.000000 0
+ L3 6842368 0.000000 -2.722067 0.850646 0 -3.402583 1.531162 0
+ L3 6842368 0.000000 -3.062325 2.381808 0 -2.551937 1.701292 0
+ L3 6842368 0.000000 -1.871421 3.742842 0 -1.361033 3.062325 0
+ L3 6842368 0.000000 -0.680517 3.062325 0 -0.850646 4.083100 0
+ L3 6842368 0.000000 -0.510387 1.871421 0 -0.340258 2.551937 0
+ L3 6842368 0.000000 1.190904 3.062325 0 1.531162 4.083100 0
+ L3 6842368 0.000000 2.041550 2.892196 0 3.062325 3.402583 0
+ L3 6842368 0.000000 4.593487 1.190904 0 3.742842 1.361033 0
+ L3 6842368 0.000000 4.593487 2.722067 0 3.742842 2.381808 0
+ L3 6842368 0.000000 4.933746 2.041550 0 4.083100 1.871421 0
+ L3 6842368 0.000000 2.041550 4.933746 0 1.871421 4.253229 0
+ L3 6842368 0.000000 3.062325 4.423358 0 2.551937 3.912971 0
+ L3 6842368 0.000000 2.381808 4.593487 0 2.041550 3.572712 0
+ L3 6842368 0.000000 5.103875 -0.850646 0 4.083100 -1.020775 0
+ L3 6842368 0.000000 4.253229 -2.211679 0 3.402583 -1.701292 0
+ L3 6842368 0.000000 5.103875 -1.701292 0 4.253229 -1.531162 0
+ L3 6842368 0.000000 -1.701292 4.763617 0 -1.531162 4.083100 0
+ L3 6842368 0.000000 -3.742842 2.381808 0 -3.232454 2.041550 0
+ L3 6842368 0.000000 2.381808 -5.444133 0 2.041550 -4.593487 0
+ L3 6842368 0.000000 3.062325 -4.933746 0 2.551937 -4.423358 0
+ F4 16755200 0.000000 5 0
+ -1.019267 -3.227679 0
+ -0.922194 -2.669509 0
+ 0.121341 -2.208412 0
+ 0.412560 -2.887923 0
+ -0.121341 -3.397556 0
+ F4 16755200 0.000000 3 0
+ 2.960728 2.426826 0
+ 2.620972 1.674510 0
+ 2.087070 2.135607 0
+ F4 16755200 0.000000 4 0
+ -2.232680 2.815118 0
+ -1.553169 2.645240 0
+ -1.067803 1.504632 0
+ -1.820120 1.698778 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 14"" Fall-14b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -4.234619 4.017274 0
+ -3.633905 6.288724 0
+ -2.282299 6.870665 0
+ -0.761741 4.993434 0
+ 0.984083 6.626625 0
+ 3.086582 5.631693 0
+ 2.598502 -5.537831 0
+ 0.608637 -6.589081 0
+ -0.217344 -5.312564 0
+ -1.888080 -5.331336 0
+ -2.301071 -6.626625 0
+ -4.872877 -5.800644 0
+ -4.553748 -4.280087 0
+ -6.675019 -4.129908 0
+ -7.763813 -1.933548 0
+ -6.562385 -0.694575 0
+ -8.139259 0.000000 0
+ -7.726268 1.576874 0
+ -6.055533 2.177588 0
+ -7.256961 3.153748 0
+ -6.280801 4.918345 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -5.856961 3.153748 0
+ -4.880801 4.918345 0
+ -2.834619 4.017274 0
+ -2.233905 6.288724 0
+ -0.882299 6.870665 0
+ 0.638259 4.993434 0
+ 2.384083 6.626625 0
+ 4.486582 5.631693 0
+ 3.698145 3.547967 0
+ 6.213635 2.853391 0
+ 6.589081 0.488080 0
+ 5.275019 -0.732120 0
+ 6.513991 -2.496717 0
+ 5.575376 -4.073591 0
+ 4.054819 -3.510422 0
+ 3.998502 -5.537831 0
+ 2.008637 -6.589081 0
+ 1.182656 -5.312564 0
+ -0.488080 -5.331336 0
+ -0.901071 -6.626625 0
+ -3.472877 -5.800644 0
+ -3.153748 -4.280087 0
+ -5.275019 -4.129908 0
+ -6.363813 -1.933548 0
+ -5.162385 -0.694575 0
+ -6.739259 0.000000 0
+ -6.326268 1.576874 0
+ -4.655533 2.177588 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 0.938615 4.392720 0
+ 2.252677 5.706782 0
+ 3.510422 4.937117 0
+ 2.947253 2.740757 0
+ 5.462742 2.046182 0
+ 5.631693 0.957388 0
+ 4.054819 -0.131406 0
+ 5.425198 -2.196360 0
+ 4.824484 -2.909708 0
+ 3.322699 -2.872163 0
+ 3.247610 -4.599216 0
+ 1.952320 -5.312564 0
+ 0.882299 -4.054819 0
+ -0.732120 -4.280087 0
+ -1.107566 -5.143613 0
+ -2.477945 -4.786939 0
+ -2.496717 -3.285154 0
+ -3.641828 -3.247610 0
+ -4.392720 -1.745825 0
+ -3.059886 -0.488080 0
+ -4.317631 0.168951 0
+ -4.111136 1.070022 0
+ -2.102499 1.445468 0
+ -2.872163 2.815846 0
+ -1.614419 3.792007 0
+ -1.107566 4.899573 0
+ L3 12410368 0.000000 -1.190904 5.784392 0 -0.510387 5.274004 0
+ L3 12410368 0.000000 -4.763617 3.232454 0 -4.253229 2.722067 0
+ L3 12410368 0.000000 -3.572712 2.892196 0 -2.892196 2.381808 0
+ L3 12410368 0.000000 -5.784392 1.361033 0 -4.593487 1.361033 0
+ L3 12410368 0.000000 -3.912971 -0.510387 0 -4.763617 -0.340258 0
+ L3 12410368 0.000000 -5.274004 -2.551937 0 -4.423358 -2.722067 0
+ L3 12410368 0.000000 -2.551937 -5.103875 0 -2.892196 -5.614262 0
+ L3 12410368 0.000000 -0.170129 -4.593487 0 0.000000 -5.103875 0
+ L3 12410368 0.000000 2.211679 -5.444133 0 2.041550 -6.124650 0
+ L3 12410368 0.000000 5.103875 -3.232454 0 5.444133 -3.742842 0
+ L3 12410368 0.000000 -4.763617 4.253229 0 -4.423358 3.572712 0
+ L3 14915328 0.000000 -5.444133 3.232454 0 -4.933746 3.572712 0
+ L3 16755200 0.000000 5.954521 0.510387 0 5.274004 0.340258 0
+ L3 16755200 0.000000 -1.701292 5.444133 0 -1.871421 4.593487 0
+ L3 16755200 0.000000 -3.912971 3.572712 0 -2.722067 3.572712 0
+ L3 16755200 0.000000 -3.232454 1.871421 0 -4.253229 1.701292 0
+ L3 16755200 0.000000 -5.784392 0.340258 0 -4.763617 0.850646 0
+ L3 16755200 0.000000 -4.593487 -1.190904 0 -5.784392 -1.871421 0
+ L3 16755200 0.000000 -4.083100 -3.912971 0 -3.742842 -3.402583 0
+ L3 16755200 0.000000 -1.531162 -5.444133 0 -1.190904 -5.954521 0
+ L3 16755200 0.000000 0.850646 -4.593487 0 0.340258 -4.933746 0
+ L3 16755200 0.000000 3.232454 -5.103875 0 3.742842 -5.274004 0
+ L3 16755200 0.000000 5.954521 -2.381808 0 5.444133 -2.551937 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -1.019267 3.227679 0
+ -0.922194 2.669509 0
+ 0.121341 2.208412 0
+ 0.412560 2.887923 0
+ -0.121341 3.397556 0
+ F4 6815744 0.000000 4 0
+ 3.324752 -0.121341 0
+ 2.062802 -0.412560 0
+ 1.795851 0.218414 0
+ 3.518898 0.315487 0
+ F4 6815744 0.000000 4 0
+ 0.800853 -3.227679 0
+ 0.169878 -2.742313 0
+ 0.339756 -1.723046 0
+ 0.728048 -1.868656 0
+ F4 6815744 0.000000 5 0
+ -2.548167 -0.291219 0
+ -2.208412 -0.048537 0
+ -1.043535 0.242683 0
+ -0.412560 -0.412560 0
+ -1.868656 -0.630975 0
+ L3 6815744 0.000000 2.381808 3.232454 0 1.531162 2.892196 0
+ L3 6815744 0.000000 1.531162 4.423358 0 1.190904 3.742842 0
+ L3 6815744 0.000000 -0.680517 4.253229 0 -0.340258 3.742842 0
+ L3 6815744 0.000000 -1.531162 1.871421 0 -0.680517 2.211679 0
+ L3 6815744 0.000000 -2.041550 1.020775 0 -1.361033 0.510387 0
+ L3 6815744 0.000000 -3.912971 0.340258 0 -3.062325 0.000000 0
+ L3 6815744 0.000000 -2.722067 -0.850646 0 -3.402583 -1.531162 0
+ L3 6815744 0.000000 -0.680517 -3.062325 0 -0.850646 -4.083100 0
+ L3 6815744 0.000000 -0.510387 -1.871421 0 -0.340258 -2.551937 0
+ L3 6815744 0.000000 1.190904 -3.062325 0 1.531162 -4.083100 0
+ L3 6815744 0.000000 2.041550 -2.892196 0 3.062325 -3.402583 0
+ L3 6815744 0.000000 4.593487 -1.190904 0 3.742842 -1.361033 0
+ L3 6815744 0.000000 4.593487 -2.722067 0 3.742842 -2.381808 0
+ L3 6815744 0.000000 4.933746 -2.041550 0 4.083100 -1.871421 0
+ L3 6815744 0.000000 2.041550 -4.933746 0 1.871421 -4.253229 0
+ L3 6815744 0.000000 3.062325 -4.423358 0 2.551937 -3.912971 0
+ L3 6815744 0.000000 5.103875 0.850646 0 4.083100 1.020775 0
+ L3 6815744 0.000000 5.103875 1.701292 0 4.253229 1.531162 0
+ L3 6815744 0.000000 -1.701292 -4.763617 0 -1.531162 -4.083100 0
+ L3 6815744 0.000000 -3.742842 -2.381808 0 -3.232454 -2.041550 0
+ L3 6815744 0.000000 2.381808 5.444133 0 2.041550 4.593487 0
+ L3 6815744 0.000000 3.062325 4.933746 0 2.551937 4.423358 0
+ L3 11184640 0.000000 2.381808 -4.593487 0 2.041550 -3.572712 0
+ L3 14915328 0.000000 2.722067 4.083100 0 2.211679 3.742842 0
+ L3 14915328 0.000000 -3.062325 0.850646 0 -2.381808 0.510387 0
+ F4 16755200 0.000000 4 0
+ 2.620972 2.693777 0
+ 1.553169 2.378289 0
+ 1.431827 1.577437 0
+ 2.135607 1.868656 0
+ F4 16755200 0.000000 3 0
+ 2.960728 -2.426826 0
+ 2.620972 -1.674510 0
+ 2.087070 -2.135607 0
+ F4 16755200 0.000000 4 0
+ -2.232680 -2.815118 0
+ -1.553169 -2.645240 0
+ -1.067803 -1.504632 0
+ -1.820120 -1.698778 0
+ L3 16755200 0.000000 0.340258 3.742842 0 0.680517 3.232454 0
+ L3 16755200 0.000000 -2.041550 2.722067 0 -1.361033 2.722067 0
+ L3 16755200 0.000000 -3.062325 -2.381808 0 -2.551937 -1.701292 0
+ L3 16755200 0.000000 -1.871421 -3.742842 0 -1.361033 -3.062325 0
+ L3 16755200 0.000000 4.253229 2.211679 0 3.402583 1.701292 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 16"" Fall-16a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -4.839564 -4.591171 0
+ -4.153034 -7.187113 0
+ -2.608341 -7.852189 0
+ -0.870562 -5.706782 0
+ 1.124667 -7.573286 0
+ 3.527522 -6.436220 0
+ 2.969717 6.328950 0
+ 0.695585 7.530378 0
+ -0.248394 6.071501 0
+ -2.157806 6.092955 0
+ -2.629795 7.573286 0
+ -5.569003 6.629307 0
+ -5.204283 4.891528 0
+ -7.628593 4.719895 0
+ -8.872929 2.209769 0
+ -7.499869 0.793801 0
+ -9.302011 0.000000 0
+ -8.830021 -1.802142 0
+ -6.920609 -2.488672 0
+ -8.293669 -3.604283 0
+ -7.178058 -5.620966 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -6.693669 -3.604283 0
+ -5.578058 -5.620966 0
+ -3.239564 -4.591171 0
+ -2.553034 -7.187113 0
+ -1.008341 -7.852189 0
+ 0.729438 -5.706782 0
+ 2.724667 -7.573286 0
+ 5.127522 -6.436220 0
+ 4.226451 -4.054819 0
+ 7.101297 -3.261018 0
+ 7.530378 -0.557806 0
+ 6.028593 0.836709 0
+ 7.444562 2.853391 0
+ 6.371858 4.655533 0
+ 4.634079 4.011911 0
+ 4.569717 6.328950 0
+ 2.295585 7.530378 0
+ 1.351606 6.071501 0
+ -0.557806 6.092955 0
+ -1.029795 7.573286 0
+ -3.969003 6.629307 0
+ -3.604283 4.891528 0
+ -6.028593 4.719895 0
+ -7.272929 2.209769 0
+ -5.899869 0.793801 0
+ -7.702011 0.000000 0
+ -7.230021 -1.802142 0
+ -5.320609 -2.488672 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 1.072703 -5.020252 0
+ 2.574488 -6.522037 0
+ 4.011911 -5.642420 0
+ 3.368289 -3.132294 0
+ 6.243134 -2.338493 0
+ 6.436220 -1.094157 0
+ 4.634079 0.150178 0
+ 6.200226 2.510126 0
+ 5.513696 3.325381 0
+ 3.797370 3.282472 0
+ 3.711554 5.256247 0
+ 2.231223 6.071501 0
+ 1.008341 4.634079 0
+ -0.836709 4.891528 0
+ -1.265790 5.878415 0
+ -2.831937 5.470787 0
+ -2.853391 3.754462 0
+ -4.162089 3.711554 0
+ -5.020252 1.995228 0
+ -3.497013 0.557806 0
+ -4.934436 -0.193087 0
+ -4.698441 -1.222882 0
+ -2.402856 -1.651963 0
+ -3.282472 -3.218110 0
+ -1.845050 -4.333722 0
+ -1.265790 -5.599512 0
+ L3 12434688 0.000000 -1.944333 -6.221867 0 -2.138767 -5.249700 0
+ L3 12434688 0.000000 -4.083100 -3.305367 0 -3.305367 -2.722067 0
+ L3 12434688 0.000000 -6.610733 -0.388867 0 -5.444133 -0.972167 0
+ L3 12434688 0.000000 -4.471967 0.583300 0 -5.444133 0.388867 0
+ L3 12434688 0.000000 -6.027433 2.916500 0 -5.055267 3.110933 0
+ L3 12434688 0.000000 -2.916500 5.833000 0 -3.305367 6.416300 0
+ L3 12434688 0.000000 0.972167 5.249700 0 0.388867 5.638567 0
+ L3 12434688 0.000000 3.694233 5.833000 0 4.277533 6.027433 0
+ L3 12434688 0.000000 6.805167 2.722067 0 6.221867 2.916500 0
+ L3 12434688 0.000000 -5.444133 -4.860833 0 -5.055267 -4.083100 0
+ L3 12434688 0.000000 -6.221867 -3.694233 0 -5.638567 -4.083100 0
+ L3 16755200 0.000000 -1.361033 -6.610733 0 -0.583300 -6.027433 0
+ L3 16755200 0.000000 -4.471967 -4.083100 0 -3.110933 -4.083100 0
+ L3 16755200 0.000000 -5.444133 -3.694233 0 -4.860833 -3.110933 0
+ L3 16755200 0.000000 -3.694233 -2.138767 0 -4.860833 -1.944333 0
+ L3 16755200 0.000000 -6.610733 -1.555467 0 -5.249700 -1.555467 0
+ L3 16755200 0.000000 -5.249700 1.361033 0 -6.610733 2.138767 0
+ L3 16755200 0.000000 -4.666400 4.471967 0 -4.277533 3.888667 0
+ L3 16755200 0.000000 -1.749900 6.221867 0 -1.361033 6.805167 0
+ L3 16755200 0.000000 -0.194433 5.249700 0 0.000000 5.833000 0
+ L3 16755200 0.000000 2.527633 6.221867 0 2.333200 6.999600 0
+ L3 16755200 0.000000 5.833000 3.694233 0 6.221867 4.277533 0
+ L3 16755200 0.000000 6.805167 -0.583300 0 6.027433 -0.388867 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 2.995397 -3.078602 0
+ 1.775050 -2.718045 0
+ 1.636374 -1.802785 0
+ 2.440694 -2.135607 0
+ F4 6842368 0.000000 4 0
+ 3.799716 0.138676 0
+ 2.357488 0.471498 0
+ 2.052401 -0.249616 0
+ 4.021597 -0.360557 0
+ F4 6842368 0.000000 4 0
+ 0.915260 3.688776 0
+ 0.194146 3.134072 0
+ 0.388292 1.969196 0
+ 0.832055 2.135607 0
+ F4 6842368 0.000000 5 0
+ -2.912191 0.332822 0
+ -2.523899 0.055470 0
+ -1.192612 -0.277352 0
+ -0.471498 0.471498 0
+ -2.135607 0.721114 0
+ L3 6842368 0.000000 0.388867 -4.277533 0 0.777733 -3.694233 0
+ L3 6842368 0.000000 2.722067 -3.694233 0 1.749900 -3.305367 0
+ L3 6842368 0.000000 3.110933 -4.666400 0 2.527633 -4.277533 0
+ L3 6842368 0.000000 1.749900 -5.055267 0 1.361033 -4.277533 0
+ L3 6842368 0.000000 -0.777733 -4.860833 0 -0.388867 -4.277533 0
+ L3 6842368 0.000000 -2.333200 -3.110933 0 -1.555467 -3.110933 0
+ L3 6842368 0.000000 -1.749900 -2.138767 0 -0.777733 -2.527633 0
+ L3 6842368 0.000000 -2.333200 -1.166600 0 -1.555467 -0.583300 0
+ L3 6842368 0.000000 -3.499800 -0.972167 0 -2.722067 -0.583300 0
+ L3 6842368 0.000000 -4.471967 -0.388867 0 -3.499800 0.000000 0
+ L3 6842368 0.000000 -3.110933 0.972167 0 -3.888667 1.749900 0
+ L3 6842368 0.000000 -3.499800 2.722067 0 -2.916500 1.944333 0
+ L3 6842368 0.000000 -2.138767 4.277533 0 -1.555467 3.499800 0
+ L3 6842368 0.000000 -0.777733 3.499800 0 -0.972167 4.666400 0
+ L3 6842368 0.000000 -0.583300 2.138767 0 -0.388867 2.916500 0
+ L3 6842368 0.000000 1.361033 3.499800 0 1.749900 4.666400 0
+ L3 6842368 0.000000 2.333200 3.305367 0 3.499800 3.888667 0
+ L3 6842368 0.000000 5.249700 1.361033 0 4.277533 1.555467 0
+ L3 6842368 0.000000 5.249700 3.110933 0 4.277533 2.722067 0
+ L3 6842368 0.000000 5.638567 2.333200 0 4.666400 2.138767 0
+ L3 6842368 0.000000 2.333200 5.638567 0 2.138767 4.860833 0
+ L3 6842368 0.000000 3.499800 5.055267 0 2.916500 4.471967 0
+ L3 6842368 0.000000 2.722067 5.249700 0 2.333200 4.083100 0
+ L3 6842368 0.000000 5.833000 -0.972167 0 4.666400 -1.166600 0
+ L3 6842368 0.000000 4.860833 -2.527633 0 3.888667 -1.944333 0
+ L3 6842368 0.000000 5.833000 -1.944333 0 4.860833 -1.749900 0
+ L3 6842368 0.000000 -1.944333 5.444133 0 -1.749900 4.666400 0
+ L3 6842368 0.000000 -4.277533 2.722067 0 -3.694233 2.333200 0
+ L3 6842368 0.000000 2.722067 -6.221867 0 2.333200 -5.249700 0
+ L3 6842368 0.000000 3.499800 -5.638567 0 2.916500 -5.055267 0
+ F4 16755200 0.000000 5 0
+ -1.164876 -3.688776 0
+ -1.053936 -3.050867 0
+ 0.138676 -2.523899 0
+ 0.471498 -3.300483 0
+ -0.138676 -3.882922 0
+ F4 16755200 0.000000 3 0
+ 3.383689 2.773515 0
+ 2.995397 1.913726 0
+ 2.385223 2.440694 0
+ F4 16755200 0.000000 4 0
+ -2.551634 3.217278 0
+ -1.775050 3.023132 0
+ -1.220347 1.719580 0
+ -2.080137 1.941461 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 16"" Fall-16b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -4.839564 4.591171 0
+ -4.153034 7.187113 0
+ -2.608341 7.852189 0
+ -0.870562 5.706782 0
+ 1.124667 7.573286 0
+ 3.527522 6.436220 0
+ 2.969717 -6.328950 0
+ 0.695585 -7.530378 0
+ -0.248394 -6.071501 0
+ -2.157806 -6.092955 0
+ -2.629795 -7.573286 0
+ -5.569003 -6.629307 0
+ -5.204283 -4.891528 0
+ -7.628593 -4.719895 0
+ -8.872929 -2.209769 0
+ -7.499869 -0.793801 0
+ -9.302011 0.000000 0
+ -8.830021 1.802142 0
+ -6.920609 2.488672 0
+ -8.293669 3.604283 0
+ -7.178058 5.620966 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -6.693669 3.604283 0
+ -5.578058 5.620966 0
+ -3.239564 4.591171 0
+ -2.553034 7.187113 0
+ -1.008341 7.852189 0
+ 0.729438 5.706782 0
+ 2.724667 7.573286 0
+ 5.127522 6.436220 0
+ 4.226451 4.054819 0
+ 7.101297 3.261018 0
+ 7.530378 0.557806 0
+ 6.028593 -0.836709 0
+ 7.444562 -2.853391 0
+ 6.371858 -4.655533 0
+ 4.634079 -4.011911 0
+ 4.569717 -6.328950 0
+ 2.295585 -7.530378 0
+ 1.351606 -6.071501 0
+ -0.557806 -6.092955 0
+ -1.029795 -7.573286 0
+ -3.969003 -6.629307 0
+ -3.604283 -4.891528 0
+ -6.028593 -4.719895 0
+ -7.272929 -2.209769 0
+ -5.899869 -0.793801 0
+ -7.702011 0.000000 0
+ -7.230021 1.802142 0
+ -5.320609 2.488672 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 1.072703 5.020252 0
+ 2.574488 6.522037 0
+ 4.011911 5.642420 0
+ 3.368289 3.132294 0
+ 6.243134 2.338493 0
+ 6.436220 1.094157 0
+ 4.634079 -0.150178 0
+ 6.200226 -2.510126 0
+ 5.513696 -3.325381 0
+ 3.797370 -3.282472 0
+ 3.711554 -5.256247 0
+ 2.231223 -6.071501 0
+ 1.008341 -4.634079 0
+ -0.836709 -4.891528 0
+ -1.265790 -5.878415 0
+ -2.831937 -5.470787 0
+ -2.853391 -3.754462 0
+ -4.162089 -3.711554 0
+ -5.020252 -1.995228 0
+ -3.497013 -0.557806 0
+ -4.934436 0.193087 0
+ -4.698441 1.222882 0
+ -2.402856 1.651963 0
+ -3.282472 3.218110 0
+ -1.845050 4.333722 0
+ -1.265790 5.599512 0
+ L3 12410368 0.000000 -1.361033 6.610733 0 -0.583300 6.027433 0
+ L3 12410368 0.000000 -5.444133 3.694233 0 -4.860833 3.110933 0
+ L3 12410368 0.000000 -4.083100 3.305367 0 -3.305367 2.722067 0
+ L3 12410368 0.000000 -6.610733 1.555467 0 -5.249700 1.555467 0
+ L3 12410368 0.000000 -4.471967 -0.583300 0 -5.444133 -0.388867 0
+ L3 12410368 0.000000 -6.027433 -2.916500 0 -5.055267 -3.110933 0
+ L3 12410368 0.000000 -2.916500 -5.833000 0 -3.305367 -6.416300 0
+ L3 12410368 0.000000 -0.194433 -5.249700 0 0.000000 -5.833000 0
+ L3 12410368 0.000000 2.527633 -6.221867 0 2.333200 -6.999600 0
+ L3 12410368 0.000000 5.833000 -3.694233 0 6.221867 -4.277533 0
+ L3 12410368 0.000000 -5.444133 4.860833 0 -5.055267 4.083100 0
+ L3 14915328 0.000000 -6.221867 3.694233 0 -5.638567 4.083100 0
+ L3 16755200 0.000000 6.805167 0.583300 0 6.027433 0.388867 0
+ L3 16755200 0.000000 -1.944333 6.221867 0 -2.138767 5.249700 0
+ L3 16755200 0.000000 -4.471967 4.083100 0 -3.110933 4.083100 0
+ L3 16755200 0.000000 -3.694233 2.138767 0 -4.860833 1.944333 0
+ L3 16755200 0.000000 -6.610733 0.388867 0 -5.444133 0.972167 0
+ L3 16755200 0.000000 -5.249700 -1.361033 0 -6.610733 -2.138767 0
+ L3 16755200 0.000000 -4.666400 -4.471967 0 -4.277533 -3.888667 0
+ L3 16755200 0.000000 -1.749900 -6.221867 0 -1.361033 -6.805167 0
+ L3 16755200 0.000000 0.972167 -5.249700 0 0.388867 -5.638567 0
+ L3 16755200 0.000000 3.694233 -5.833000 0 4.277533 -6.027433 0
+ L3 16755200 0.000000 6.805167 -2.722067 0 6.221867 -2.916500 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -1.164876 3.688776 0
+ -1.053936 3.050867 0
+ 0.138676 2.523899 0
+ 0.471498 3.300483 0
+ -0.138676 3.882922 0
+ F4 6815744 0.000000 4 0
+ 3.799716 -0.138676 0
+ 2.357488 -0.471498 0
+ 2.052401 0.249616 0
+ 4.021597 0.360557 0
+ F4 6815744 0.000000 4 0
+ 0.915260 -3.688776 0
+ 0.194146 -3.134072 0
+ 0.388292 -1.969196 0
+ 0.832055 -2.135607 0
+ F4 6815744 0.000000 5 0
+ -2.912191 -0.332822 0
+ -2.523899 -0.055470 0
+ -1.192612 0.277352 0
+ -0.471498 -0.471498 0
+ -2.135607 -0.721114 0
+ L3 6815744 0.000000 2.722067 3.694233 0 1.749900 3.305367 0
+ L3 6815744 0.000000 1.749900 5.055267 0 1.361033 4.277533 0
+ L3 6815744 0.000000 -0.777733 4.860833 0 -0.388867 4.277533 0
+ L3 6815744 0.000000 -1.749900 2.138767 0 -0.777733 2.527633 0
+ L3 6815744 0.000000 -2.333200 1.166600 0 -1.555467 0.583300 0
+ L3 6815744 0.000000 -4.471967 0.388867 0 -3.499800 0.000000 0
+ L3 6815744 0.000000 -3.110933 -0.972167 0 -3.888667 -1.749900 0
+ L3 6815744 0.000000 -0.777733 -3.499800 0 -0.972167 -4.666400 0
+ L3 6815744 0.000000 -0.583300 -2.138767 0 -0.388867 -2.916500 0
+ L3 6815744 0.000000 1.361033 -3.499800 0 1.749900 -4.666400 0
+ L3 6815744 0.000000 2.333200 -3.305367 0 3.499800 -3.888667 0
+ L3 6815744 0.000000 5.249700 -1.361033 0 4.277533 -1.555467 0
+ L3 6815744 0.000000 5.249700 -3.110933 0 4.277533 -2.722067 0
+ L3 6815744 0.000000 5.638567 -2.333200 0 4.666400 -2.138767 0
+ L3 6815744 0.000000 2.333200 -5.638567 0 2.138767 -4.860833 0
+ L3 6815744 0.000000 3.499800 -5.055267 0 2.916500 -4.471967 0
+ L3 6815744 0.000000 5.833000 0.972167 0 4.666400 1.166600 0
+ L3 6815744 0.000000 5.833000 1.944333 0 4.860833 1.749900 0
+ L3 6815744 0.000000 -1.944333 -5.444133 0 -1.749900 -4.666400 0
+ L3 6815744 0.000000 -4.277533 -2.722067 0 -3.694233 -2.333200 0
+ L3 6815744 0.000000 2.722067 6.221867 0 2.333200 5.249700 0
+ L3 6815744 0.000000 3.499800 5.638567 0 2.916500 5.055267 0
+ L3 11184640 0.000000 2.722067 -5.249700 0 2.333200 -4.083100 0
+ L3 14915328 0.000000 3.110933 4.666400 0 2.527633 4.277533 0
+ L3 14915328 0.000000 -3.499800 0.972167 0 -2.722067 0.583300 0
+ F4 16755200 0.000000 4 0
+ 2.995397 3.078602 0
+ 1.775050 2.718045 0
+ 1.636374 1.802785 0
+ 2.440694 2.135607 0
+ F4 16755200 0.000000 3 0
+ 3.383689 -2.773515 0
+ 2.995397 -1.913726 0
+ 2.385223 -2.440694 0
+ F4 16755200 0.000000 4 0
+ -2.551634 -3.217278 0
+ -1.775050 -3.023132 0
+ -1.220347 -1.719580 0
+ -2.080137 -1.941461 0
+ L3 16755200 0.000000 0.388867 4.277533 0 0.777733 3.694233 0
+ L3 16755200 0.000000 -2.333200 3.110933 0 -1.555467 3.110933 0
+ L3 16755200 0.000000 -3.499800 -2.722067 0 -2.916500 -1.944333 0
+ L3 16755200 0.000000 -2.138767 -4.277533 0 -1.555467 -3.499800 0
+ L3 16755200 0.000000 4.860833 2.527633 0 3.888667 1.944333 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 18"" Fall-18a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -5.444510 -5.165067 0
+ -4.672163 -8.085502 0
+ -2.934384 -8.833713 0
+ -0.979382 -6.420130 0
+ 1.265250 -8.519947 0
+ 3.968463 -7.240748 0
+ 3.340931 7.120069 0
+ 0.782533 8.471675 0
+ -0.279443 6.830439 0
+ -2.427531 6.854575 0
+ -2.958520 8.519947 0
+ -6.265128 7.457970 0
+ -5.854819 5.502969 0
+ -8.582167 5.309882 0
+ -9.982045 2.485990 0
+ -8.437352 0.893026 0
+ -10.464762 0.000000 0
+ -9.933774 -2.027409 0
+ -7.785685 -2.799756 0
+ -9.330378 -4.054819 0
+ -8.075315 -6.323587 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -7.530378 -4.054819 0
+ -6.275315 -6.323587 0
+ -3.644510 -5.165067 0
+ -2.872163 -8.085502 0
+ -1.134384 -8.833713 0
+ 0.820618 -6.420130 0
+ 3.065250 -8.519947 0
+ 5.768463 -7.240748 0
+ 4.754758 -4.561671 0
+ 7.988959 -3.668646 0
+ 8.471675 -0.627531 0
+ 6.782167 0.941297 0
+ 8.375132 3.210065 0
+ 7.168341 5.237474 0
+ 5.213339 4.513400 0
+ 5.140931 7.120069 0
+ 2.582533 8.471675 0
+ 1.520557 6.830439 0
+ -0.627531 6.854575 0
+ -1.158520 8.519947 0
+ -4.465128 7.457970 0
+ -4.054819 5.502969 0
+ -6.782167 5.309882 0
+ -8.182045 2.485990 0
+ -6.637352 0.893026 0
+ -8.664762 0.000000 0
+ -8.133774 -2.027409 0
+ -5.985685 -2.799756 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 1.206791 -5.647783 0
+ 2.896299 -7.337291 0
+ 4.513400 -6.347722 0
+ 3.789325 -3.523831 0
+ 7.023526 -2.630805 0
+ 7.240748 -1.230927 0
+ 5.213339 0.168951 0
+ 6.975254 2.823892 0
+ 6.202908 3.741053 0
+ 4.272041 3.692782 0
+ 4.175498 5.913278 0
+ 2.510126 6.830439 0
+ 1.134384 5.213339 0
+ -0.941297 5.502969 0
+ -1.424014 6.613217 0
+ -3.185929 6.154636 0
+ -3.210065 4.223770 0
+ -4.682350 4.175498 0
+ -5.647783 2.244632 0
+ -3.934140 0.627531 0
+ -5.551240 -0.217222 0
+ -5.285746 -1.375742 0
+ -2.703213 -1.858459 0
+ -3.692782 -3.620374 0
+ -2.075681 -4.875437 0
+ -1.424014 -6.299451 0
+ L3 12434688 0.000000 -2.187375 -6.999600 0 -2.406112 -5.905912 0
+ L3 12434688 0.000000 -4.593487 -3.718537 0 -3.718537 -3.062325 0
+ L3 12434688 0.000000 -7.437075 -0.437475 0 -6.124650 -1.093687 0
+ L3 12434688 0.000000 -5.030962 0.656212 0 -6.124650 0.437475 0
+ L3 12434688 0.000000 -6.780862 3.281062 0 -5.687175 3.499800 0
+ L3 12434688 0.000000 -3.281062 6.562125 0 -3.718537 7.218337 0
+ L3 12434688 0.000000 1.093687 5.905912 0 0.437475 6.343387 0
+ L3 12434688 0.000000 4.156012 6.562125 0 4.812225 6.780862 0
+ L3 12434688 0.000000 7.655812 3.062325 0 6.999600 3.281062 0
+ L3 12434688 0.000000 -6.124650 -5.468437 0 -5.687175 -4.593487 0
+ L3 12434688 0.000000 -6.999600 -4.156012 0 -6.343387 -4.593487 0
+ L3 16755200 0.000000 -1.531162 -7.437075 0 -0.656212 -6.780862 0
+ L3 16755200 0.000000 -5.030962 -4.593487 0 -3.499800 -4.593487 0
+ L3 16755200 0.000000 -6.124650 -4.156012 0 -5.468437 -3.499800 0
+ L3 16755200 0.000000 -4.156012 -2.406112 0 -5.468437 -2.187375 0
+ L3 16755200 0.000000 -7.437075 -1.749900 0 -5.905912 -1.749900 0
+ L3 16755200 0.000000 -5.905912 1.531162 0 -7.437075 2.406112 0
+ L3 16755200 0.000000 -5.249700 5.030962 0 -4.812225 4.374750 0
+ L3 16755200 0.000000 -1.968637 6.999600 0 -1.531162 7.655812 0
+ L3 16755200 0.000000 -0.218737 5.905912 0 0.000000 6.562125 0
+ L3 16755200 0.000000 2.843587 6.999600 0 2.624850 7.874550 0
+ L3 16755200 0.000000 6.562125 4.156012 0 6.999600 4.812225 0
+ L3 16755200 0.000000 7.655812 -0.656212 0 6.780862 -0.437475 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 3.369821 -3.463427 0
+ 1.996931 -3.057801 0
+ 1.840921 -2.028133 0
+ 2.745780 -2.402558 0
+ F4 6842368 0.000000 4 0
+ 4.274681 0.156010 0
+ 2.652174 0.530435 0
+ 2.308952 -0.280818 0
+ 4.524297 -0.405627 0
+ F4 6842368 0.000000 4 0
+ 1.029668 4.149872 0
+ 0.218414 3.525832 0
+ 0.436829 2.215345 0
+ 0.936061 2.402558 0
+ F4 6842368 0.000000 5 0
+ -3.276215 0.374425 0
+ -2.839386 0.062404 0
+ -1.341688 -0.312020 0
+ -0.530435 0.530435 0
+ -2.402558 0.811253 0
+ L3 6842368 0.000000 0.437475 -4.812225 0 0.874950 -4.156012 0
+ L3 6842368 0.000000 3.062325 -4.156012 0 1.968637 -3.718537 0
+ L3 6842368 0.000000 3.499800 -5.249700 0 2.843587 -4.812225 0
+ L3 6842368 0.000000 1.968637 -5.687175 0 1.531162 -4.812225 0
+ L3 6842368 0.000000 -0.874950 -5.468437 0 -0.437475 -4.812225 0
+ L3 6842368 0.000000 -2.624850 -3.499800 0 -1.749900 -3.499800 0
+ L3 6842368 0.000000 -1.968637 -2.406112 0 -0.874950 -2.843587 0
+ L3 6842368 0.000000 -2.624850 -1.312425 0 -1.749900 -0.656212 0
+ L3 6842368 0.000000 -3.937275 -1.093687 0 -3.062325 -0.656212 0
+ L3 6842368 0.000000 -5.030962 -0.437475 0 -3.937275 0.000000 0
+ L3 6842368 0.000000 -3.499800 1.093687 0 -4.374750 1.968637 0
+ L3 6842368 0.000000 -3.937275 3.062325 0 -3.281062 2.187375 0
+ L3 6842368 0.000000 -2.406112 4.812225 0 -1.749900 3.937275 0
+ L3 6842368 0.000000 -0.874950 3.937275 0 -1.093687 5.249700 0
+ L3 6842368 0.000000 -0.656212 2.406112 0 -0.437475 3.281062 0
+ L3 6842368 0.000000 1.531162 3.937275 0 1.968637 5.249700 0
+ L3 6842368 0.000000 2.624850 3.718537 0 3.937275 4.374750 0
+ L3 6842368 0.000000 5.905912 1.531162 0 4.812225 1.749900 0
+ L3 6842368 0.000000 5.905912 3.499800 0 4.812225 3.062325 0
+ L3 6842368 0.000000 6.343387 2.624850 0 5.249700 2.406112 0
+ L3 6842368 0.000000 2.624850 6.343387 0 2.406112 5.468437 0
+ L3 6842368 0.000000 3.937275 5.687175 0 3.281062 5.030962 0
+ L3 6842368 0.000000 3.062325 5.905912 0 2.624850 4.593487 0
+ L3 6842368 0.000000 6.562125 -1.093687 0 5.249700 -1.312425 0
+ L3 6842368 0.000000 5.468437 -2.843587 0 4.374750 -2.187375 0
+ L3 6842368 0.000000 6.562125 -2.187375 0 5.468437 -1.968637 0
+ L3 6842368 0.000000 -2.187375 6.124650 0 -1.968637 5.249700 0
+ L3 6842368 0.000000 -4.812225 3.062325 0 -4.156012 2.624850 0
+ L3 6842368 0.000000 3.062325 -6.999600 0 2.624850 -5.905912 0
+ L3 6842368 0.000000 3.937275 -6.343387 0 3.281062 -5.687175 0
+ F4 16755200 0.000000 5 0
+ -1.310486 -4.149872 0
+ -1.185678 -3.432225 0
+ 0.156010 -2.839386 0
+ 0.530435 -3.713044 0
+ -0.156010 -4.368287 0
+ F4 16755200 0.000000 3 0
+ 3.806650 3.120205 0
+ 3.369821 2.152941 0
+ 2.683376 2.745780 0
+ F4 16755200 0.000000 4 0
+ -2.870588 3.619438 0
+ -1.996931 3.401023 0
+ -1.372890 1.934527 0
+ -2.340154 2.184143 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 18"" Fall-18b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -5.444510 5.165067 0
+ -4.672163 8.085502 0
+ -2.934384 8.833713 0
+ -0.979382 6.420130 0
+ 1.265250 8.519947 0
+ 3.968463 7.240748 0
+ 3.340931 -7.120069 0
+ 0.782533 -8.471675 0
+ -0.279443 -6.830439 0
+ -2.427531 -6.854575 0
+ -2.958520 -8.519947 0
+ -6.265128 -7.457970 0
+ -5.854819 -5.502969 0
+ -8.582167 -5.309882 0
+ -9.982045 -2.485990 0
+ -8.437352 -0.893026 0
+ -10.464762 0.000000 0
+ -9.933774 2.027409 0
+ -7.785685 2.799756 0
+ -9.330378 4.054819 0
+ -8.075315 6.323587 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -7.530378 4.054819 0
+ -6.275315 6.323587 0
+ -3.644510 5.165067 0
+ -2.872163 8.085502 0
+ -1.134384 8.833713 0
+ 0.820618 6.420130 0
+ 3.065250 8.519947 0
+ 5.768463 7.240748 0
+ 4.754758 4.561671 0
+ 7.988959 3.668646 0
+ 8.471675 0.627531 0
+ 6.782167 -0.941297 0
+ 8.375132 -3.210065 0
+ 7.168341 -5.237474 0
+ 5.213339 -4.513400 0
+ 5.140931 -7.120069 0
+ 2.582533 -8.471675 0
+ 1.520557 -6.830439 0
+ -0.627531 -6.854575 0
+ -1.158520 -8.519947 0
+ -4.465128 -7.457970 0
+ -4.054819 -5.502969 0
+ -6.782167 -5.309882 0
+ -8.182045 -2.485990 0
+ -6.637352 -0.893026 0
+ -8.664762 0.000000 0
+ -8.133774 2.027409 0
+ -5.985685 2.799756 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 1.206791 5.647783 0
+ 2.896299 7.337291 0
+ 4.513400 6.347722 0
+ 3.789325 3.523831 0
+ 7.023526 2.630805 0
+ 7.240748 1.230927 0
+ 5.213339 -0.168951 0
+ 6.975254 -2.823892 0
+ 6.202908 -3.741053 0
+ 4.272041 -3.692782 0
+ 4.175498 -5.913278 0
+ 2.510126 -6.830439 0
+ 1.134384 -5.213339 0
+ -0.941297 -5.502969 0
+ -1.424014 -6.613217 0
+ -3.185929 -6.154636 0
+ -3.210065 -4.223770 0
+ -4.682350 -4.175498 0
+ -5.647783 -2.244632 0
+ -3.934140 -0.627531 0
+ -5.551240 0.217222 0
+ -5.285746 1.375742 0
+ -2.703213 1.858459 0
+ -3.692782 3.620374 0
+ -2.075681 4.875437 0
+ -1.424014 6.299451 0
+ L3 12410368 0.000000 -1.531162 7.437075 0 -0.656212 6.780862 0
+ L3 12410368 0.000000 -6.124650 4.156012 0 -5.468437 3.499800 0
+ L3 12410368 0.000000 -4.593487 3.718537 0 -3.718537 3.062325 0
+ L3 12410368 0.000000 -7.437075 1.749900 0 -5.905912 1.749900 0
+ L3 12410368 0.000000 -5.030962 -0.656212 0 -6.124650 -0.437475 0
+ L3 12410368 0.000000 -6.780862 -3.281062 0 -5.687175 -3.499800 0
+ L3 12410368 0.000000 -3.281062 -6.562125 0 -3.718537 -7.218337 0
+ L3 12410368 0.000000 -0.218737 -5.905912 0 0.000000 -6.562125 0
+ L3 12410368 0.000000 2.843587 -6.999600 0 2.624850 -7.874550 0
+ L3 12410368 0.000000 6.562125 -4.156012 0 6.999600 -4.812225 0
+ L3 12410368 0.000000 -6.124650 5.468437 0 -5.687175 4.593487 0
+ L3 14915328 0.000000 -6.999600 4.156012 0 -6.343387 4.593487 0
+ L3 16755200 0.000000 7.655812 0.656212 0 6.780862 0.437475 0
+ L3 16755200 0.000000 -2.187375 6.999600 0 -2.406112 5.905912 0
+ L3 16755200 0.000000 -5.030962 4.593487 0 -3.499800 4.593487 0
+ L3 16755200 0.000000 -4.156012 2.406112 0 -5.468437 2.187375 0
+ L3 16755200 0.000000 -7.437075 0.437475 0 -6.124650 1.093687 0
+ L3 16755200 0.000000 -5.905912 -1.531162 0 -7.437075 -2.406112 0
+ L3 16755200 0.000000 -5.249700 -5.030962 0 -4.812225 -4.374750 0
+ L3 16755200 0.000000 -1.968637 -6.999600 0 -1.531162 -7.655812 0
+ L3 16755200 0.000000 1.093687 -5.905912 0 0.437475 -6.343387 0
+ L3 16755200 0.000000 4.156012 -6.562125 0 4.812225 -6.780862 0
+ L3 16755200 0.000000 7.655812 -3.062325 0 6.999600 -3.281062 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -1.310486 4.149872 0
+ -1.185678 3.432225 0
+ 0.156010 2.839386 0
+ 0.530435 3.713044 0
+ -0.156010 4.368287 0
+ F4 6815744 0.000000 4 0
+ 4.274681 -0.156010 0
+ 2.652174 -0.530435 0
+ 2.308952 0.280818 0
+ 4.524297 0.405627 0
+ F4 6815744 0.000000 4 0
+ 1.029668 -4.149872 0
+ 0.218414 -3.525832 0
+ 0.436829 -2.215345 0
+ 0.936061 -2.402558 0
+ F4 6815744 0.000000 5 0
+ -3.276215 -0.374425 0
+ -2.839386 -0.062404 0
+ -1.341688 0.312020 0
+ -0.530435 -0.530435 0
+ -2.402558 -0.811253 0
+ L3 6815744 0.000000 3.062325 4.156012 0 1.968637 3.718537 0
+ L3 6815744 0.000000 1.968637 5.687175 0 1.531162 4.812225 0
+ L3 6815744 0.000000 -0.874950 5.468437 0 -0.437475 4.812225 0
+ L3 6815744 0.000000 -1.968637 2.406112 0 -0.874950 2.843587 0
+ L3 6815744 0.000000 -2.624850 1.312425 0 -1.749900 0.656212 0
+ L3 6815744 0.000000 -5.030962 0.437475 0 -3.937275 0.000000 0
+ L3 6815744 0.000000 -3.499800 -1.093687 0 -4.374750 -1.968637 0
+ L3 6815744 0.000000 -0.874950 -3.937275 0 -1.093687 -5.249700 0
+ L3 6815744 0.000000 -0.656212 -2.406112 0 -0.437475 -3.281062 0
+ L3 6815744 0.000000 1.531162 -3.937275 0 1.968637 -5.249700 0
+ L3 6815744 0.000000 2.624850 -3.718537 0 3.937275 -4.374750 0
+ L3 6815744 0.000000 5.905912 -1.531162 0 4.812225 -1.749900 0
+ L3 6815744 0.000000 5.905912 -3.499800 0 4.812225 -3.062325 0
+ L3 6815744 0.000000 6.343387 -2.624850 0 5.249700 -2.406112 0
+ L3 6815744 0.000000 2.624850 -6.343387 0 2.406112 -5.468437 0
+ L3 6815744 0.000000 3.937275 -5.687175 0 3.281062 -5.030962 0
+ L3 6815744 0.000000 6.562125 1.093687 0 5.249700 1.312425 0
+ L3 6815744 0.000000 6.562125 2.187375 0 5.468437 1.968637 0
+ L3 6815744 0.000000 -2.187375 -6.124650 0 -1.968637 -5.249700 0
+ L3 6815744 0.000000 -4.812225 -3.062325 0 -4.156012 -2.624850 0
+ L3 6815744 0.000000 3.062325 6.999600 0 2.624850 5.905912 0
+ L3 6815744 0.000000 3.937275 6.343387 0 3.281062 5.687175 0
+ L3 11184640 0.000000 3.062325 -5.905912 0 2.624850 -4.593487 0
+ L3 14915328 0.000000 3.499800 5.249700 0 2.843587 4.812225 0
+ L3 14915328 0.000000 -3.937275 1.093687 0 -3.062325 0.656212 0
+ F4 16755200 0.000000 4 0
+ 3.369821 3.463427 0
+ 1.996931 3.057801 0
+ 1.840921 2.028133 0
+ 2.745780 2.402558 0
+ F4 16755200 0.000000 3 0
+ 3.806650 -3.120205 0
+ 3.369821 -2.152941 0
+ 2.683376 -2.745780 0
+ F4 16755200 0.000000 4 0
+ -2.870588 -3.619438 0
+ -1.996931 -3.401023 0
+ -1.372890 -1.934527 0
+ -2.340154 -2.184143 0
+ L3 16755200 0.000000 0.437475 4.812225 0 0.874950 4.156012 0
+ L3 16755200 0.000000 -2.624850 3.499800 0 -1.749900 3.499800 0
+ L3 16755200 0.000000 -3.937275 -3.062325 0 -3.281062 -2.187375 0
+ L3 16755200 0.000000 -2.406112 -4.812225 0 -1.749900 -3.937275 0
+ L3 16755200 0.000000 5.468437 2.843587 0 4.374750 2.187375 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 20"" Fall-20a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -6.049455 -5.738963 0
+ -5.191293 -8.983891 0
+ -3.260427 -9.815236 0
+ -1.088202 -7.133478 0
+ 1.405833 -9.466608 0
+ 4.409403 -8.045276 0
+ 3.712146 7.911188 0
+ 0.869482 9.412972 0
+ -0.310492 7.589377 0
+ -2.697257 7.616194 0
+ -3.287244 9.466608 0
+ -6.961253 8.286634 0
+ -6.505354 6.114409 0
+ -9.535741 5.899869 0
+ -11.091161 2.762211 0
+ -9.374836 0.992251 0
+ -11.627513 0.000000 0
+ -11.037526 -2.252677 0
+ -8.650761 -3.110840 0
+ -10.367087 -4.505354 0
+ -8.972572 -7.026207 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -8.367087 -4.505354 0
+ -6.972572 -7.026207 0
+ -4.049455 -5.738963 0
+ -3.191293 -8.983891 0
+ -1.260427 -9.815236 0
+ 0.911798 -7.133478 0
+ 3.405833 -9.466608 0
+ 6.409403 -8.045276 0
+ 5.283064 -5.068524 0
+ 8.876621 -4.076273 0
+ 9.412972 -0.697257 0
+ 7.535741 1.045886 0
+ 9.305702 3.566739 0
+ 7.964823 5.819416 0
+ 5.792598 5.014888 0
+ 5.712146 7.911188 0
+ 2.869482 9.412972 0
+ 1.689508 7.589377 0
+ -0.697257 7.616194 0
+ -1.287244 9.466608 0
+ -4.961253 8.286634 0
+ -4.505354 6.114409 0
+ -7.535741 5.899869 0
+ -9.091161 2.762211 0
+ -7.374836 0.992251 0
+ -9.627513 0.000000 0
+ -9.037526 -2.252677 0
+ -6.650761 -3.110840 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 1.340879 -6.275315 0
+ 3.218110 -8.152546 0
+ 5.014888 -7.053025 0
+ 4.210361 -3.915367 0
+ 7.803917 -2.923117 0
+ 8.045276 -1.367697 0
+ 5.792598 0.187723 0
+ 7.750282 3.137657 0
+ 6.892119 4.156726 0
+ 4.746713 4.103091 0
+ 4.639442 6.570308 0
+ 2.789029 7.589377 0
+ 1.260427 5.792598 0
+ -1.045886 6.114409 0
+ -1.582238 7.348018 0
+ -3.539921 6.838484 0
+ -3.566739 4.693077 0
+ -5.202612 4.639442 0
+ -6.275315 2.494035 0
+ -4.371266 0.697257 0
+ -6.168045 -0.241358 0
+ -5.873051 -1.528602 0
+ -3.003570 -2.064954 0
+ -4.103091 -4.022638 0
+ -2.306312 -5.417152 0
+ -1.582238 -6.999390 0
+ L3 12434688 0.000000 -2.430417 -7.777333 0 -2.673458 -6.562125 0
+ L3 12434688 0.000000 -5.103875 -4.131708 0 -4.131708 -3.402583 0
+ L3 12434688 0.000000 -8.263417 -0.486083 0 -6.805167 -1.215208 0
+ L3 12434688 0.000000 -5.589958 0.729125 0 -6.805167 0.486083 0
+ L3 12434688 0.000000 -7.534292 3.645625 0 -6.319083 3.888667 0
+ L3 12434688 0.000000 -3.645625 7.291250 0 -4.131708 8.020375 0
+ L3 12434688 0.000000 1.215208 6.562125 0 0.486083 7.048208 0
+ L3 12434688 0.000000 4.617792 7.291250 0 5.346917 7.534292 0
+ L3 12434688 0.000000 8.506458 3.402583 0 7.777333 3.645625 0
+ L3 12434688 0.000000 -6.805167 -6.076042 0 -6.319083 -5.103875 0
+ L3 12434688 0.000000 -7.777333 -4.617792 0 -7.048208 -5.103875 0
+ L3 16755200 0.000000 -1.701292 -8.263417 0 -0.729125 -7.534292 0
+ L3 16755200 0.000000 -5.589958 -5.103875 0 -3.888667 -5.103875 0
+ L3 16755200 0.000000 -6.805167 -4.617792 0 -6.076042 -3.888667 0
+ L3 16755200 0.000000 -4.617792 -2.673458 0 -6.076042 -2.430417 0
+ L3 16755200 0.000000 -8.263417 -1.944333 0 -6.562125 -1.944333 0
+ L3 16755200 0.000000 -6.562125 1.701292 0 -8.263417 2.673458 0
+ L3 16755200 0.000000 -5.833000 5.589958 0 -5.346917 4.860833 0
+ L3 16755200 0.000000 -2.187375 7.777333 0 -1.701292 8.506458 0
+ L3 16755200 0.000000 -0.243042 6.562125 0 0.000000 7.291250 0
+ L3 16755200 0.000000 3.159542 7.777333 0 2.916500 8.749500 0
+ L3 16755200 0.000000 7.291250 4.617792 0 7.777333 5.346917 0
+ L3 16755200 0.000000 8.506458 -0.729125 0 7.534292 -0.486083 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 3.744246 -3.848253 0
+ 2.218812 -3.397556 0
+ 2.045468 -2.253481 0
+ 3.050867 -2.669509 0
+ F4 6842368 0.000000 4 0
+ 4.749645 0.173345 0
+ 2.946860 0.589372 0
+ 2.565502 -0.312020 0
+ 5.026997 -0.450696 0
+ F4 6842368 0.000000 4 0
+ 1.144075 4.610969 0
+ 0.242683 3.917591 0
+ 0.485365 2.461495 0
+ 1.040068 2.669509 0
+ F4 6842368 0.000000 5 0
+ -3.640239 0.416027 0
+ -3.154874 0.069338 0
+ -1.490765 -0.346689 0
+ -0.589372 0.589372 0
+ -2.669509 0.901393 0
+ L3 6842368 0.000000 0.486083 -5.346917 0 0.972167 -4.617792 0
+ L3 6842368 0.000000 3.402583 -4.617792 0 2.187375 -4.131708 0
+ L3 6842368 0.000000 3.888667 -5.833000 0 3.159542 -5.346917 0
+ L3 6842368 0.000000 2.187375 -6.319083 0 1.701292 -5.346917 0
+ L3 6842368 0.000000 -0.972167 -6.076042 0 -0.486083 -5.346917 0
+ L3 6842368 0.000000 -2.916500 -3.888667 0 -1.944333 -3.888667 0
+ L3 6842368 0.000000 -2.187375 -2.673458 0 -0.972167 -3.159542 0
+ L3 6842368 0.000000 -2.916500 -1.458250 0 -1.944333 -0.729125 0
+ L3 6842368 0.000000 -4.374750 -1.215208 0 -3.402583 -0.729125 0
+ L3 6842368 0.000000 -5.589958 -0.486083 0 -4.374750 0.000000 0
+ L3 6842368 0.000000 -3.888667 1.215208 0 -4.860833 2.187375 0
+ L3 6842368 0.000000 -4.374750 3.402583 0 -3.645625 2.430417 0
+ L3 6842368 0.000000 -2.673458 5.346917 0 -1.944333 4.374750 0
+ L3 6842368 0.000000 -0.972167 4.374750 0 -1.215208 5.833000 0
+ L3 6842368 0.000000 -0.729125 2.673458 0 -0.486083 3.645625 0
+ L3 6842368 0.000000 1.701292 4.374750 0 2.187375 5.833000 0
+ L3 6842368 0.000000 2.916500 4.131708 0 4.374750 4.860833 0
+ L3 6842368 0.000000 6.562125 1.701292 0 5.346917 1.944333 0
+ L3 6842368 0.000000 6.562125 3.888667 0 5.346917 3.402583 0
+ L3 6842368 0.000000 7.048208 2.916500 0 5.833000 2.673458 0
+ L3 6842368 0.000000 2.916500 7.048208 0 2.673458 6.076042 0
+ L3 6842368 0.000000 4.374750 6.319083 0 3.645625 5.589958 0
+ L3 6842368 0.000000 3.402583 6.562125 0 2.916500 5.103875 0
+ L3 6842368 0.000000 7.291250 -1.215208 0 5.833000 -1.458250 0
+ L3 6842368 0.000000 6.076042 -3.159542 0 4.860833 -2.430417 0
+ L3 6842368 0.000000 7.291250 -2.430417 0 6.076042 -2.187375 0
+ L3 6842368 0.000000 -2.430417 6.805167 0 -2.187375 5.833000 0
+ L3 6842368 0.000000 -5.346917 3.402583 0 -4.617792 2.916500 0
+ L3 6842368 0.000000 3.402583 -7.777333 0 2.916500 -6.562125 0
+ L3 6842368 0.000000 4.374750 -7.048208 0 3.645625 -6.319083 0
+ F4 16755200 0.000000 5 0
+ -1.456096 -4.610969 0
+ -1.317420 -3.813584 0
+ 0.173345 -3.154874 0
+ 0.589372 -4.125604 0
+ -0.173345 -4.853652 0
+ F4 16755200 0.000000 3 0
+ 4.229611 3.466894 0
+ 3.744246 2.392157 0
+ 2.981529 3.050867 0
+ F4 16755200 0.000000 4 0
+ -3.189543 4.021597 0
+ -2.218812 3.778915 0
+ -1.525433 2.149474 0
+ -2.600171 2.426826 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 20"" Fall-20b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -6.049455 5.738963 0
+ -5.191293 8.983891 0
+ -3.260427 9.815236 0
+ -1.088202 7.133478 0
+ 1.405833 9.466608 0
+ 4.409403 8.045276 0
+ 3.712146 -7.911188 0
+ 0.869482 -9.412972 0
+ -0.310492 -7.589377 0
+ -2.697257 -7.616194 0
+ -3.287244 -9.466608 0
+ -6.961253 -8.286634 0
+ -6.505354 -6.114409 0
+ -9.535741 -5.899869 0
+ -11.091161 -2.762211 0
+ -9.374836 -0.992251 0
+ -11.627513 0.000000 0
+ -11.037526 2.252677 0
+ -8.650761 3.110840 0
+ -10.367087 4.505354 0
+ -8.972572 7.026207 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -8.367087 4.505354 0
+ -6.972572 7.026207 0
+ -4.049455 5.738963 0
+ -3.191293 8.983891 0
+ -1.260427 9.815236 0
+ 0.911798 7.133478 0
+ 3.405833 9.466608 0
+ 6.409403 8.045276 0
+ 5.283064 5.068524 0
+ 8.876621 4.076273 0
+ 9.412972 0.697257 0
+ 7.535741 -1.045886 0
+ 9.305702 -3.566739 0
+ 7.964823 -5.819416 0
+ 5.792598 -5.014888 0
+ 5.712146 -7.911188 0
+ 2.869482 -9.412972 0
+ 1.689508 -7.589377 0
+ -0.697257 -7.616194 0
+ -1.287244 -9.466608 0
+ -4.961253 -8.286634 0
+ -4.505354 -6.114409 0
+ -7.535741 -5.899869 0
+ -9.091161 -2.762211 0
+ -7.374836 -0.992251 0
+ -9.627513 0.000000 0
+ -9.037526 2.252677 0
+ -6.650761 3.110840 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 1.340879 6.275315 0
+ 3.218110 8.152546 0
+ 5.014888 7.053025 0
+ 4.210361 3.915367 0
+ 7.803917 2.923117 0
+ 8.045276 1.367697 0
+ 5.792598 -0.187723 0
+ 7.750282 -3.137657 0
+ 6.892119 -4.156726 0
+ 4.746713 -4.103091 0
+ 4.639442 -6.570308 0
+ 2.789029 -7.589377 0
+ 1.260427 -5.792598 0
+ -1.045886 -6.114409 0
+ -1.582238 -7.348018 0
+ -3.539921 -6.838484 0
+ -3.566739 -4.693077 0
+ -5.202612 -4.639442 0
+ -6.275315 -2.494035 0
+ -4.371266 -0.697257 0
+ -6.168045 0.241358 0
+ -5.873051 1.528602 0
+ -3.003570 2.064954 0
+ -4.103091 4.022638 0
+ -2.306312 5.417152 0
+ -1.582238 6.999390 0
+ L3 12410368 0.000000 -1.701292 8.263417 0 -0.729125 7.534292 0
+ L3 12410368 0.000000 -6.805167 4.617792 0 -6.076042 3.888667 0
+ L3 12410368 0.000000 -5.103875 4.131708 0 -4.131708 3.402583 0
+ L3 12410368 0.000000 -8.263417 1.944333 0 -6.562125 1.944333 0
+ L3 12410368 0.000000 -5.589958 -0.729125 0 -6.805167 -0.486083 0
+ L3 12410368 0.000000 -7.534292 -3.645625 0 -6.319083 -3.888667 0
+ L3 12410368 0.000000 -3.645625 -7.291250 0 -4.131708 -8.020375 0
+ L3 12410368 0.000000 -0.243042 -6.562125 0 0.000000 -7.291250 0
+ L3 12410368 0.000000 3.159542 -7.777333 0 2.916500 -8.749500 0
+ L3 12410368 0.000000 7.291250 -4.617792 0 7.777333 -5.346917 0
+ L3 12410368 0.000000 -6.805167 6.076042 0 -6.319083 5.103875 0
+ L3 14915328 0.000000 -7.777333 4.617792 0 -7.048208 5.103875 0
+ L3 16755200 0.000000 8.506458 0.729125 0 7.534292 0.486083 0
+ L3 16755200 0.000000 -2.430417 7.777333 0 -2.673458 6.562125 0
+ L3 16755200 0.000000 -5.589958 5.103875 0 -3.888667 5.103875 0
+ L3 16755200 0.000000 -4.617792 2.673458 0 -6.076042 2.430417 0
+ L3 16755200 0.000000 -8.263417 0.486083 0 -6.805167 1.215208 0
+ L3 16755200 0.000000 -6.562125 -1.701292 0 -8.263417 -2.673458 0
+ L3 16755200 0.000000 -5.833000 -5.589958 0 -5.346917 -4.860833 0
+ L3 16755200 0.000000 -2.187375 -7.777333 0 -1.701292 -8.506458 0
+ L3 16755200 0.000000 1.215208 -6.562125 0 0.486083 -7.048208 0
+ L3 16755200 0.000000 4.617792 -7.291250 0 5.346917 -7.534292 0
+ L3 16755200 0.000000 8.506458 -3.402583 0 7.777333 -3.645625 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -1.456096 4.610969 0
+ -1.317420 3.813584 0
+ 0.173345 3.154874 0
+ 0.589372 4.125604 0
+ -0.173345 4.853652 0
+ F4 6815744 0.000000 4 0
+ 4.749645 -0.173345 0
+ 2.946860 -0.589372 0
+ 2.565502 0.312020 0
+ 5.026997 0.450696 0
+ F4 6815744 0.000000 4 0
+ 1.144075 -4.610969 0
+ 0.242683 -3.917591 0
+ 0.485365 -2.461495 0
+ 1.040068 -2.669509 0
+ F4 6815744 0.000000 5 0
+ -3.640239 -0.416027 0
+ -3.154874 -0.069338 0
+ -1.490765 0.346689 0
+ -0.589372 -0.589372 0
+ -2.669509 -0.901393 0
+ L3 6815744 0.000000 3.402583 4.617792 0 2.187375 4.131708 0
+ L3 6815744 0.000000 2.187375 6.319083 0 1.701292 5.346917 0
+ L3 6815744 0.000000 -0.972167 6.076042 0 -0.486083 5.346917 0
+ L3 6815744 0.000000 -2.187375 2.673458 0 -0.972167 3.159542 0
+ L3 6815744 0.000000 -2.916500 1.458250 0 -1.944333 0.729125 0
+ L3 6815744 0.000000 -5.589958 0.486083 0 -4.374750 0.000000 0
+ L3 6815744 0.000000 -3.888667 -1.215208 0 -4.860833 -2.187375 0
+ L3 6815744 0.000000 -0.972167 -4.374750 0 -1.215208 -5.833000 0
+ L3 6815744 0.000000 -0.729125 -2.673458 0 -0.486083 -3.645625 0
+ L3 6815744 0.000000 1.701292 -4.374750 0 2.187375 -5.833000 0
+ L3 6815744 0.000000 2.916500 -4.131708 0 4.374750 -4.860833 0
+ L3 6815744 0.000000 6.562125 -1.701292 0 5.346917 -1.944333 0
+ L3 6815744 0.000000 6.562125 -3.888667 0 5.346917 -3.402583 0
+ L3 6815744 0.000000 7.048208 -2.916500 0 5.833000 -2.673458 0
+ L3 6815744 0.000000 2.916500 -7.048208 0 2.673458 -6.076042 0
+ L3 6815744 0.000000 4.374750 -6.319083 0 3.645625 -5.589958 0
+ L3 6815744 0.000000 7.291250 1.215208 0 5.833000 1.458250 0
+ L3 6815744 0.000000 7.291250 2.430417 0 6.076042 2.187375 0
+ L3 6815744 0.000000 -2.430417 -6.805167 0 -2.187375 -5.833000 0
+ L3 6815744 0.000000 -5.346917 -3.402583 0 -4.617792 -2.916500 0
+ L3 6815744 0.000000 3.402583 7.777333 0 2.916500 6.562125 0
+ L3 6815744 0.000000 4.374750 7.048208 0 3.645625 6.319083 0
+ L3 11184640 0.000000 3.402583 -6.562125 0 2.916500 -5.103875 0
+ L3 14915328 0.000000 3.888667 5.833000 0 3.159542 5.346917 0
+ L3 14915328 0.000000 -4.374750 1.215208 0 -3.402583 0.729125 0
+ F4 16755200 0.000000 4 0
+ 3.744246 3.848253 0
+ 2.218812 3.397556 0
+ 2.045468 2.253481 0
+ 3.050867 2.669509 0
+ F4 16755200 0.000000 3 0
+ 4.229611 -3.466894 0
+ 3.744246 -2.392157 0
+ 2.981529 -3.050867 0
+ F4 16755200 0.000000 4 0
+ -3.189543 -4.021597 0
+ -2.218812 -3.778915 0
+ -1.525433 -2.149474 0
+ -2.600171 -2.426826 0
+ L3 16755200 0.000000 0.486083 5.346917 0 0.972167 4.617792 0
+ L3 16755200 0.000000 -2.916500 3.888667 0 -1.944333 3.888667 0
+ L3 16755200 0.000000 -4.374750 -3.402583 0 -3.645625 -2.430417 0
+ L3 16755200 0.000000 -2.673458 -5.346917 0 -1.944333 -4.374750 0
+ L3 16755200 0.000000 6.076042 3.159542 0 4.860833 2.430417 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 24"" Fall-24a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -7.259346 -6.886756 0
+ -6.229551 -10.780669 0
+ -3.912512 -11.778284 0
+ -1.305843 -8.560173 0
+ 1.687000 -11.359929 0
+ 5.291283 -9.654331 0
+ 4.454575 9.493425 0
+ 1.043378 11.295567 0
+ -0.372591 9.107252 0
+ -3.236709 9.139433 0
+ -3.944693 11.359929 0
+ -8.353504 9.943961 0
+ -7.806425 7.337291 0
+ -11.442890 7.079843 0
+ -13.309394 3.314654 0
+ -11.249803 1.190701 0
+ -13.953016 0.000000 0
+ -13.245032 -2.703213 0
+ -10.380913 -3.733008 0
+ -12.440504 -5.406425 0
+ -10.767087 -8.431449 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -10.040504 -5.406425 0
+ -8.367087 -8.431449 0
+ -4.859346 -6.886756 0
+ -3.829551 -10.780669 0
+ -1.512512 -11.778284 0
+ 1.094157 -8.560173 0
+ 4.087000 -11.359929 0
+ 7.691283 -9.654331 0
+ 6.339677 -6.082228 0
+ 10.651945 -4.891528 0
+ 11.295567 -0.836709 0
+ 9.042890 1.255063 0
+ 11.166843 4.280087 0
+ 9.557787 6.983299 0
+ 6.951118 6.017866 0
+ 6.854575 9.493425 0
+ 3.443378 11.295567 0
+ 2.027409 9.107252 0
+ -0.836709 9.139433 0
+ -1.544693 11.359929 0
+ -5.953504 9.943961 0
+ -5.406425 7.337291 0
+ -9.042890 7.079843 0
+ -10.909394 3.314654 0
+ -8.849803 1.190701 0
+ -11.553016 0.000000 0
+ -10.845032 -2.703213 0
+ -7.980913 -3.733008 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 1.609055 -7.530378 0
+ 3.861732 -9.783055 0
+ 6.017866 -8.463630 0
+ 5.052433 -4.698441 0
+ 9.364701 -3.507740 0
+ 9.654331 -1.641236 0
+ 6.951118 0.225268 0
+ 9.300339 3.765189 0
+ 8.270543 4.988071 0
+ 5.696055 4.923709 0
+ 5.567331 7.884370 0
+ 3.346835 9.107252 0
+ 1.512512 6.951118 0
+ -1.255063 7.337291 0
+ -1.898685 8.817622 0
+ -4.247906 8.206181 0
+ -4.280087 5.631693 0
+ -6.243134 5.567331 0
+ -7.530378 2.992843 0
+ -5.245520 0.836709 0
+ -7.401654 -0.289630 0
+ -7.047661 -1.834323 0
+ -3.604283 -2.477945 0
+ -4.923709 -4.827165 0
+ -2.767575 -6.500583 0
+ -1.898685 -8.399268 0
+ L3 12434688 0.000000 -2.916500 -9.332800 0 -3.208150 -7.874550 0
+ L3 12434688 0.000000 -6.124650 -4.958050 0 -4.958050 -4.083100 0
+ L3 12434688 0.000000 -9.916100 -0.583300 0 -8.166200 -1.458250 0
+ L3 12434688 0.000000 -6.707950 0.874950 0 -8.166200 0.583300 0
+ L3 12434688 0.000000 -9.041150 4.374750 0 -7.582900 4.666400 0
+ L3 12434688 0.000000 -4.374750 8.749500 0 -4.958050 9.624450 0
+ L3 12434688 0.000000 1.458250 7.874550 0 0.583300 8.457850 0
+ L3 12434688 0.000000 5.541350 8.749500 0 6.416300 9.041150 0
+ L3 12434688 0.000000 10.207750 4.083100 0 9.332800 4.374750 0
+ L3 12434688 0.000000 -8.166200 -7.291250 0 -7.582900 -6.124650 0
+ L3 12434688 0.000000 -9.332800 -5.541350 0 -8.457850 -6.124650 0
+ L3 16755200 0.000000 -2.041550 -9.916100 0 -0.874950 -9.041150 0
+ L3 16755200 0.000000 -6.707950 -6.124650 0 -4.666400 -6.124650 0
+ L3 16755200 0.000000 -8.166200 -5.541350 0 -7.291250 -4.666400 0
+ L3 16755200 0.000000 -5.541350 -3.208150 0 -7.291250 -2.916500 0
+ L3 16755200 0.000000 -9.916100 -2.333200 0 -7.874550 -2.333200 0
+ L3 16755200 0.000000 -7.874550 2.041550 0 -9.916100 3.208150 0
+ L3 16755200 0.000000 -6.999600 6.707950 0 -6.416300 5.833000 0
+ L3 16755200 0.000000 -2.624850 9.332800 0 -2.041550 10.207750 0
+ L3 16755200 0.000000 -0.291650 7.874550 0 0.000000 8.749500 0
+ L3 16755200 0.000000 3.791450 9.332800 0 3.499800 10.499400 0
+ L3 16755200 0.000000 8.749500 5.541350 0 9.332800 6.416300 0
+ L3 16755200 0.000000 10.207750 -0.874950 0 9.041150 -0.583300 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 4.493095 -4.617903 0
+ 2.662575 -4.077068 0
+ 2.454561 -2.704178 0
+ 3.661040 -3.203410 0
+ F4 6842368 0.000000 4 0
+ 5.699574 0.208014 0
+ 3.536232 0.707246 0
+ 3.078602 -0.374425 0
+ 6.032396 -0.540836 0
+ F4 6842368 0.000000 4 0
+ 1.372890 5.533163 0
+ 0.291219 4.701109 0
+ 0.582438 2.953794 0
+ 1.248082 3.203410 0
+ F4 6842368 0.000000 5 0
+ -4.368287 0.499233 0
+ -3.785849 0.083205 0
+ -1.788917 -0.416027 0
+ -0.707246 0.707246 0
+ -3.203410 1.081671 0
+ L3 6842368 0.000000 0.583300 -6.416300 0 1.166600 -5.541350 0
+ L3 6842368 0.000000 4.083100 -5.541350 0 2.624850 -4.958050 0
+ L3 6842368 0.000000 4.666400 -6.999600 0 3.791450 -6.416300 0
+ L3 6842368 0.000000 2.624850 -7.582900 0 2.041550 -6.416300 0
+ L3 6842368 0.000000 -1.166600 -7.291250 0 -0.583300 -6.416300 0
+ L3 6842368 0.000000 -3.499800 -4.666400 0 -2.333200 -4.666400 0
+ L3 6842368 0.000000 -2.624850 -3.208150 0 -1.166600 -3.791450 0
+ L3 6842368 0.000000 -3.499800 -1.749900 0 -2.333200 -0.874950 0
+ L3 6842368 0.000000 -5.249700 -1.458250 0 -4.083100 -0.874950 0
+ L3 6842368 0.000000 -6.707950 -0.583300 0 -5.249700 0.000000 0
+ L3 6842368 0.000000 -4.666400 1.458250 0 -5.833000 2.624850 0
+ L3 6842368 0.000000 -5.249700 4.083100 0 -4.374750 2.916500 0
+ L3 6842368 0.000000 -3.208150 6.416300 0 -2.333200 5.249700 0
+ L3 6842368 0.000000 -1.166600 5.249700 0 -1.458250 6.999600 0
+ L3 6842368 0.000000 -0.874950 3.208150 0 -0.583300 4.374750 0
+ L3 6842368 0.000000 2.041550 5.249700 0 2.624850 6.999600 0
+ L3 6842368 0.000000 3.499800 4.958050 0 5.249700 5.833000 0
+ L3 6842368 0.000000 7.874550 2.041550 0 6.416300 2.333200 0
+ L3 6842368 0.000000 7.874550 4.666400 0 6.416300 4.083100 0
+ L3 6842368 0.000000 8.457850 3.499800 0 6.999600 3.208150 0
+ L3 6842368 0.000000 3.499800 8.457850 0 3.208150 7.291250 0
+ L3 6842368 0.000000 5.249700 7.582900 0 4.374750 6.707950 0
+ L3 6842368 0.000000 4.083100 7.874550 0 3.499800 6.124650 0
+ L3 6842368 0.000000 8.749500 -1.458250 0 6.999600 -1.749900 0
+ L3 6842368 0.000000 7.291250 -3.791450 0 5.833000 -2.916500 0
+ L3 6842368 0.000000 8.749500 -2.916500 0 7.291250 -2.624850 0
+ L3 6842368 0.000000 -2.916500 8.166200 0 -2.624850 6.999600 0
+ L3 6842368 0.000000 -6.416300 4.083100 0 -5.541350 3.499800 0
+ L3 6842368 0.000000 4.083100 -9.332800 0 3.499800 -7.874550 0
+ L3 6842368 0.000000 5.249700 -8.457850 0 4.374750 -7.582900 0
+ F4 16755200 0.000000 5 0
+ -1.747315 -5.533163 0
+ -1.580904 -4.576300 0
+ 0.208014 -3.785849 0
+ 0.707246 -4.950725 0
+ -0.208014 -5.824382 0
+ F4 16755200 0.000000 3 0
+ 5.075533 4.160273 0
+ 4.493095 2.870588 0
+ 3.577835 3.661040 0
+ F4 16755200 0.000000 4 0
+ -3.827451 4.825917 0
+ -2.662575 4.534698 0
+ -1.830520 2.579369 0
+ -3.120205 2.912191 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 24"" Fall-24b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -7.259346 6.886756 0
+ -6.229551 10.780669 0
+ -3.912512 11.778284 0
+ -1.305843 8.560173 0
+ 1.687000 11.359929 0
+ 5.291283 9.654331 0
+ 4.454575 -9.493425 0
+ 1.043378 -11.295567 0
+ -0.372591 -9.107252 0
+ -3.236709 -9.139433 0
+ -3.944693 -11.359929 0
+ -8.353504 -9.943961 0
+ -7.806425 -7.337291 0
+ -11.442890 -7.079843 0
+ -13.309394 -3.314654 0
+ -11.249803 -1.190701 0
+ -13.953016 0.000000 0
+ -13.245032 2.703213 0
+ -10.380913 3.733008 0
+ -12.440504 5.406425 0
+ -10.767087 8.431449 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -10.040504 5.406425 0
+ -8.367087 8.431449 0
+ -4.859346 6.886756 0
+ -3.829551 10.780669 0
+ -1.512512 11.778284 0
+ 1.094157 8.560173 0
+ 4.087000 11.359929 0
+ 7.691283 9.654331 0
+ 6.339677 6.082228 0
+ 10.651945 4.891528 0
+ 11.295567 0.836709 0
+ 9.042890 -1.255063 0
+ 11.166843 -4.280087 0
+ 9.557787 -6.983299 0
+ 6.951118 -6.017866 0
+ 6.854575 -9.493425 0
+ 3.443378 -11.295567 0
+ 2.027409 -9.107252 0
+ -0.836709 -9.139433 0
+ -1.544693 -11.359929 0
+ -5.953504 -9.943961 0
+ -5.406425 -7.337291 0
+ -9.042890 -7.079843 0
+ -10.909394 -3.314654 0
+ -8.849803 -1.190701 0
+ -11.553016 0.000000 0
+ -10.845032 2.703213 0
+ -7.980913 3.733008 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 1.609055 7.530378 0
+ 3.861732 9.783055 0
+ 6.017866 8.463630 0
+ 5.052433 4.698441 0
+ 9.364701 3.507740 0
+ 9.654331 1.641236 0
+ 6.951118 -0.225268 0
+ 9.300339 -3.765189 0
+ 8.270543 -4.988071 0
+ 5.696055 -4.923709 0
+ 5.567331 -7.884370 0
+ 3.346835 -9.107252 0
+ 1.512512 -6.951118 0
+ -1.255063 -7.337291 0
+ -1.898685 -8.817622 0
+ -4.247906 -8.206181 0
+ -4.280087 -5.631693 0
+ -6.243134 -5.567331 0
+ -7.530378 -2.992843 0
+ -5.245520 -0.836709 0
+ -7.401654 0.289630 0
+ -7.047661 1.834323 0
+ -3.604283 2.477945 0
+ -4.923709 4.827165 0
+ -2.767575 6.500583 0
+ -1.898685 8.399268 0
+ L3 12410368 0.000000 -2.041550 9.916100 0 -0.874950 9.041150 0
+ L3 12410368 0.000000 -8.166200 5.541350 0 -7.291250 4.666400 0
+ L3 12410368 0.000000 -6.124650 4.958050 0 -4.958050 4.083100 0
+ L3 12410368 0.000000 -9.916100 2.333200 0 -7.874550 2.333200 0
+ L3 12410368 0.000000 -6.707950 -0.874950 0 -8.166200 -0.583300 0
+ L3 12410368 0.000000 -9.041150 -4.374750 0 -7.582900 -4.666400 0
+ L3 12410368 0.000000 -4.374750 -8.749500 0 -4.958050 -9.624450 0
+ L3 12410368 0.000000 -0.291650 -7.874550 0 0.000000 -8.749500 0
+ L3 12410368 0.000000 3.791450 -9.332800 0 3.499800 -10.499400 0
+ L3 12410368 0.000000 8.749500 -5.541350 0 9.332800 -6.416300 0
+ L3 12410368 0.000000 -8.166200 7.291250 0 -7.582900 6.124650 0
+ L3 14915328 0.000000 -9.332800 5.541350 0 -8.457850 6.124650 0
+ L3 16755200 0.000000 10.207750 0.874950 0 9.041150 0.583300 0
+ L3 16755200 0.000000 -2.916500 9.332800 0 -3.208150 7.874550 0
+ L3 16755200 0.000000 -6.707950 6.124650 0 -4.666400 6.124650 0
+ L3 16755200 0.000000 -5.541350 3.208150 0 -7.291250 2.916500 0
+ L3 16755200 0.000000 -9.916100 0.583300 0 -8.166200 1.458250 0
+ L3 16755200 0.000000 -7.874550 -2.041550 0 -9.916100 -3.208150 0
+ L3 16755200 0.000000 -6.999600 -6.707950 0 -6.416300 -5.833000 0
+ L3 16755200 0.000000 -2.624850 -9.332800 0 -2.041550 -10.207750 0
+ L3 16755200 0.000000 1.458250 -7.874550 0 0.583300 -8.457850 0
+ L3 16755200 0.000000 5.541350 -8.749500 0 6.416300 -9.041150 0
+ L3 16755200 0.000000 10.207750 -4.083100 0 9.332800 -4.374750 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -1.747315 5.533163 0
+ -1.580904 4.576300 0
+ 0.208014 3.785849 0
+ 0.707246 4.950725 0
+ -0.208014 5.824382 0
+ F4 6815744 0.000000 4 0
+ 5.699574 -0.208014 0
+ 3.536232 -0.707246 0
+ 3.078602 0.374425 0
+ 6.032396 0.540836 0
+ F4 6815744 0.000000 4 0
+ 1.372890 -5.533163 0
+ 0.291219 -4.701109 0
+ 0.582438 -2.953794 0
+ 1.248082 -3.203410 0
+ F4 6815744 0.000000 5 0
+ -4.368287 -0.499233 0
+ -3.785849 -0.083205 0
+ -1.788917 0.416027 0
+ -0.707246 -0.707246 0
+ -3.203410 -1.081671 0
+ L3 6815744 0.000000 4.083100 5.541350 0 2.624850 4.958050 0
+ L3 6815744 0.000000 2.624850 7.582900 0 2.041550 6.416300 0
+ L3 6815744 0.000000 -1.166600 7.291250 0 -0.583300 6.416300 0
+ L3 6815744 0.000000 -2.624850 3.208150 0 -1.166600 3.791450 0
+ L3 6815744 0.000000 -3.499800 1.749900 0 -2.333200 0.874950 0
+ L3 6815744 0.000000 -6.707950 0.583300 0 -5.249700 0.000000 0
+ L3 6815744 0.000000 -4.666400 -1.458250 0 -5.833000 -2.624850 0
+ L3 6815744 0.000000 -1.166600 -5.249700 0 -1.458250 -6.999600 0
+ L3 6815744 0.000000 -0.874950 -3.208150 0 -0.583300 -4.374750 0
+ L3 6815744 0.000000 2.041550 -5.249700 0 2.624850 -6.999600 0
+ L3 6815744 0.000000 3.499800 -4.958050 0 5.249700 -5.833000 0
+ L3 6815744 0.000000 7.874550 -2.041550 0 6.416300 -2.333200 0
+ L3 6815744 0.000000 7.874550 -4.666400 0 6.416300 -4.083100 0
+ L3 6815744 0.000000 8.457850 -3.499800 0 6.999600 -3.208150 0
+ L3 6815744 0.000000 3.499800 -8.457850 0 3.208150 -7.291250 0
+ L3 6815744 0.000000 5.249700 -7.582900 0 4.374750 -6.707950 0
+ L3 6815744 0.000000 8.749500 1.458250 0 6.999600 1.749900 0
+ L3 6815744 0.000000 8.749500 2.916500 0 7.291250 2.624850 0
+ L3 6815744 0.000000 -2.916500 -8.166200 0 -2.624850 -6.999600 0
+ L3 6815744 0.000000 -6.416300 -4.083100 0 -5.541350 -3.499800 0
+ L3 6815744 0.000000 4.083100 9.332800 0 3.499800 7.874550 0
+ L3 6815744 0.000000 5.249700 8.457850 0 4.374750 7.582900 0
+ L3 11184640 0.000000 4.083100 -7.874550 0 3.499800 -6.124650 0
+ L3 14915328 0.000000 4.666400 6.999600 0 3.791450 6.416300 0
+ L3 14915328 0.000000 -5.249700 1.458250 0 -4.083100 0.874950 0
+ F4 16755200 0.000000 4 0
+ 4.493095 4.617903 0
+ 2.662575 4.077068 0
+ 2.454561 2.704178 0
+ 3.661040 3.203410 0
+ F4 16755200 0.000000 3 0
+ 5.075533 -4.160273 0
+ 4.493095 -2.870588 0
+ 3.577835 -3.661040 0
+ F4 16755200 0.000000 4 0
+ -3.827451 -4.825917 0
+ -2.662575 -4.534698 0
+ -1.830520 -2.579369 0
+ -3.120205 -2.912191 0
+ L3 16755200 0.000000 0.583300 6.416300 0 1.166600 5.541350 0
+ L3 16755200 0.000000 -3.499800 4.666400 0 -2.333200 4.666400 0
+ L3 16755200 0.000000 -5.249700 -4.083100 0 -4.374750 -2.916500 0
+ L3 16755200 0.000000 -3.208150 -6.416300 0 -2.333200 -5.249700 0
+ L3 16755200 0.000000 7.291250 3.791450 0 5.833000 2.916500 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 28"" Fall-28a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -8.469238 -8.034549 0
+ -7.267810 -12.577448 0
+ -4.564597 -13.741331 0
+ -1.523483 -9.986869 0
+ 1.968167 -13.253251 0
+ 6.173164 -11.263386 0
+ 5.197004 11.075663 0
+ 1.217274 13.178161 0
+ -0.434689 10.625127 0
+ -3.776160 10.662672 0
+ -4.602142 13.253251 0
+ -9.745755 11.601287 0
+ -9.107496 8.560173 0
+ -13.350038 8.259816 0
+ -15.527626 3.867096 0
+ -13.124770 1.389151 0
+ -16.278518 0.000000 0
+ -15.452537 -3.153748 0
+ -12.111066 -4.355176 0
+ -14.513921 -6.307496 0
+ -12.561601 -9.836690 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -11.713921 -6.307496 0
+ -9.761601 -9.836690 0
+ -5.669238 -8.034549 0
+ -4.467810 -12.577448 0
+ -1.764597 -13.741331 0
+ 1.276517 -9.986869 0
+ 4.768167 -13.253251 0
+ 8.973164 -11.263386 0
+ 7.396290 -7.095933 0
+ 12.427269 -5.706782 0
+ 13.178161 -0.976160 0
+ 10.550038 1.464240 0
+ 13.027983 4.993434 0
+ 11.150752 8.147182 0
+ 8.109638 7.020844 0
+ 7.997004 11.075663 0
+ 4.017274 13.178161 0
+ 2.365311 10.625127 0
+ -0.976160 10.662672 0
+ -1.802142 13.253251 0
+ -6.945755 11.601287 0
+ -6.307496 8.560173 0
+ -10.550038 8.259816 0
+ -12.727626 3.867096 0
+ -10.324770 1.389151 0
+ -13.478518 0.000000 0
+ -12.652537 -3.153748 0
+ -9.311066 -4.355176 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 1.877231 -8.785441 0
+ 4.505354 -11.413564 0
+ 7.020844 -9.874235 0
+ 5.894505 -5.481514 0
+ 10.925484 -4.092364 0
+ 11.263386 -1.914776 0
+ 8.109638 0.262812 0
+ 10.850395 4.392720 0
+ 9.648967 5.819416 0
+ 6.645398 5.744327 0
+ 6.495219 9.198432 0
+ 3.904640 10.625127 0
+ 1.764597 8.109638 0
+ -1.464240 8.560173 0
+ -2.215133 10.287226 0
+ -4.955890 9.573878 0
+ -4.993434 6.570308 0
+ -7.283656 6.495219 0
+ -8.785441 3.491650 0
+ -6.119773 0.976160 0
+ -8.635262 -0.337902 0
+ -8.222272 -2.140043 0
+ -4.204997 -2.890936 0
+ -5.744327 -5.631693 0
+ -3.228837 -7.584013 0
+ -2.215133 -9.799146 0
+ L3 12434688 0.000000 -3.402583 -10.888267 0 -3.742842 -9.186975 0
+ L3 12434688 0.000000 -7.145425 -5.784392 0 -5.784392 -4.763617 0
+ L3 12434688 0.000000 -11.568783 -0.680517 0 -9.527233 -1.701292 0
+ L3 12434688 0.000000 -7.825942 1.020775 0 -9.527233 0.680517 0
+ L3 12434688 0.000000 -10.548008 5.103875 0 -8.846717 5.444133 0
+ L3 12434688 0.000000 -5.103875 10.207750 0 -5.784392 11.228525 0
+ L3 12434688 0.000000 1.701292 9.186975 0 0.680517 9.867492 0
+ L3 12434688 0.000000 6.464908 10.207750 0 7.485683 10.548008 0
+ L3 12434688 0.000000 11.909042 4.763617 0 10.888267 5.103875 0
+ L3 12434688 0.000000 -9.527233 -8.506458 0 -8.846717 -7.145425 0
+ L3 12434688 0.000000 -10.888267 -6.464908 0 -9.867492 -7.145425 0
+ L3 16755200 0.000000 -2.381808 -11.568783 0 -1.020775 -10.548008 0
+ L3 16755200 0.000000 -7.825942 -7.145425 0 -5.444133 -7.145425 0
+ L3 16755200 0.000000 -9.527233 -6.464908 0 -8.506458 -5.444133 0
+ L3 16755200 0.000000 -6.464908 -3.742842 0 -8.506458 -3.402583 0
+ L3 16755200 0.000000 -11.568783 -2.722067 0 -9.186975 -2.722067 0
+ L3 16755200 0.000000 -9.186975 2.381808 0 -11.568783 3.742842 0
+ L3 16755200 0.000000 -8.166200 7.825942 0 -7.485683 6.805167 0
+ L3 16755200 0.000000 -3.062325 10.888267 0 -2.381808 11.909042 0
+ L3 16755200 0.000000 -0.340258 9.186975 0 0.000000 10.207750 0
+ L3 16755200 0.000000 4.423358 10.888267 0 4.083100 12.249300 0
+ L3 16755200 0.000000 10.207750 6.464908 0 10.888267 7.485683 0
+ L3 16755200 0.000000 11.909042 -1.020775 0 10.548008 -0.680517 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 5.241944 -5.387554 0
+ 3.106337 -4.756579 0
+ 2.863655 -3.154874 0
+ 4.271214 -3.737312 0
+ F4 6842368 0.000000 4 0
+ 6.649503 0.242683 0
+ 4.125604 0.825121 0
+ 3.591703 -0.436829 0
+ 7.037795 -0.630975 0
+ F4 6842368 0.000000 4 0
+ 1.601705 6.455357 0
+ 0.339756 5.484627 0
+ 0.679511 3.446093 0
+ 1.456096 3.737312 0
+ F4 6842368 0.000000 5 0
+ -5.096335 0.582438 0
+ -4.416823 0.097073 0
+ -2.087070 -0.485365 0
+ -0.825121 0.825121 0
+ -3.737312 1.261950 0
+ L3 6842368 0.000000 0.680517 -7.485683 0 1.361033 -6.464908 0
+ L3 6842368 0.000000 4.763617 -6.464908 0 3.062325 -5.784392 0
+ L3 6842368 0.000000 5.444133 -8.166200 0 4.423358 -7.485683 0
+ L3 6842368 0.000000 3.062325 -8.846717 0 2.381808 -7.485683 0
+ L3 6842368 0.000000 -1.361033 -8.506458 0 -0.680517 -7.485683 0
+ L3 6842368 0.000000 -4.083100 -5.444133 0 -2.722067 -5.444133 0
+ L3 6842368 0.000000 -3.062325 -3.742842 0 -1.361033 -4.423358 0
+ L3 6842368 0.000000 -4.083100 -2.041550 0 -2.722067 -1.020775 0
+ L3 6842368 0.000000 -6.124650 -1.701292 0 -4.763617 -1.020775 0
+ L3 6842368 0.000000 -7.825942 -0.680517 0 -6.124650 0.000000 0
+ L3 6842368 0.000000 -5.444133 1.701292 0 -6.805167 3.062325 0
+ L3 6842368 0.000000 -6.124650 4.763617 0 -5.103875 3.402583 0
+ L3 6842368 0.000000 -3.742842 7.485683 0 -2.722067 6.124650 0
+ L3 6842368 0.000000 -1.361033 6.124650 0 -1.701292 8.166200 0
+ L3 6842368 0.000000 -1.020775 3.742842 0 -0.680517 5.103875 0
+ L3 6842368 0.000000 2.381808 6.124650 0 3.062325 8.166200 0
+ L3 6842368 0.000000 4.083100 5.784392 0 6.124650 6.805167 0
+ L3 6842368 0.000000 9.186975 2.381808 0 7.485683 2.722067 0
+ L3 6842368 0.000000 9.186975 5.444133 0 7.485683 4.763617 0
+ L3 6842368 0.000000 9.867492 4.083100 0 8.166200 3.742842 0
+ L3 6842368 0.000000 4.083100 9.867492 0 3.742842 8.506458 0
+ L3 6842368 0.000000 6.124650 8.846717 0 5.103875 7.825942 0
+ L3 6842368 0.000000 4.763617 9.186975 0 4.083100 7.145425 0
+ L3 6842368 0.000000 10.207750 -1.701292 0 8.166200 -2.041550 0
+ L3 6842368 0.000000 8.506458 -4.423358 0 6.805167 -3.402583 0
+ L3 6842368 0.000000 10.207750 -3.402583 0 8.506458 -3.062325 0
+ L3 6842368 0.000000 -3.402583 9.527233 0 -3.062325 8.166200 0
+ L3 6842368 0.000000 -7.485683 4.763617 0 -6.464908 4.083100 0
+ L3 6842368 0.000000 4.763617 -10.888267 0 4.083100 -9.186975 0
+ L3 6842368 0.000000 6.124650 -9.867492 0 5.103875 -8.846717 0
+ F4 16755200 0.000000 5 0
+ -2.038534 -6.455357 0
+ -1.844388 -5.339017 0
+ 0.242683 -4.416823 0
+ 0.825121 -5.775846 0
+ -0.242683 -6.795113 0
+ F4 16755200 0.000000 3 0
+ 5.921455 4.853652 0
+ 5.241944 3.349020 0
+ 4.174141 4.271214 0
+ F4 16755200 0.000000 4 0
+ -4.465360 5.630236 0
+ -3.106337 5.290481 0
+ -2.135607 3.009264 0
+ -3.640239 3.397556 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 28"" Fall-28b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -8.469238 8.034549 0
+ -7.267810 12.577448 0
+ -4.564597 13.741331 0
+ -1.523483 9.986869 0
+ 1.968167 13.253251 0
+ 6.173164 11.263386 0
+ 5.197004 -11.075663 0
+ 1.217274 -13.178161 0
+ -0.434689 -10.625127 0
+ -3.776160 -10.662672 0
+ -4.602142 -13.253251 0
+ -9.745755 -11.601287 0
+ -9.107496 -8.560173 0
+ -13.350038 -8.259816 0
+ -15.527626 -3.867096 0
+ -13.124770 -1.389151 0
+ -16.278518 0.000000 0
+ -15.452537 3.153748 0
+ -12.111066 4.355176 0
+ -14.513921 6.307496 0
+ -12.561601 9.836690 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -11.713921 6.307496 0
+ -9.761601 9.836690 0
+ -5.669238 8.034549 0
+ -4.467810 12.577448 0
+ -1.764597 13.741331 0
+ 1.276517 9.986869 0
+ 4.768167 13.253251 0
+ 8.973164 11.263386 0
+ 7.396290 7.095933 0
+ 12.427269 5.706782 0
+ 13.178161 0.976160 0
+ 10.550038 -1.464240 0
+ 13.027983 -4.993434 0
+ 11.150752 -8.147182 0
+ 8.109638 -7.020844 0
+ 7.997004 -11.075663 0
+ 4.017274 -13.178161 0
+ 2.365311 -10.625127 0
+ -0.976160 -10.662672 0
+ -1.802142 -13.253251 0
+ -6.945755 -11.601287 0
+ -6.307496 -8.560173 0
+ -10.550038 -8.259816 0
+ -12.727626 -3.867096 0
+ -10.324770 -1.389151 0
+ -13.478518 0.000000 0
+ -12.652537 3.153748 0
+ -9.311066 4.355176 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 1.877231 8.785441 0
+ 4.505354 11.413564 0
+ 7.020844 9.874235 0
+ 5.894505 5.481514 0
+ 10.925484 4.092364 0
+ 11.263386 1.914776 0
+ 8.109638 -0.262812 0
+ 10.850395 -4.392720 0
+ 9.648967 -5.819416 0
+ 6.645398 -5.744327 0
+ 6.495219 -9.198432 0
+ 3.904640 -10.625127 0
+ 1.764597 -8.109638 0
+ -1.464240 -8.560173 0
+ -2.215133 -10.287226 0
+ -4.955890 -9.573878 0
+ -4.993434 -6.570308 0
+ -7.283656 -6.495219 0
+ -8.785441 -3.491650 0
+ -6.119773 -0.976160 0
+ -8.635262 0.337902 0
+ -8.222272 2.140043 0
+ -4.204997 2.890936 0
+ -5.744327 5.631693 0
+ -3.228837 7.584013 0
+ -2.215133 9.799146 0
+ L3 12410368 0.000000 -2.381808 11.568783 0 -1.020775 10.548008 0
+ L3 12410368 0.000000 -9.527233 6.464908 0 -8.506458 5.444133 0
+ L3 12410368 0.000000 -7.145425 5.784392 0 -5.784392 4.763617 0
+ L3 12410368 0.000000 -11.568783 2.722067 0 -9.186975 2.722067 0
+ L3 12410368 0.000000 -7.825942 -1.020775 0 -9.527233 -0.680517 0
+ L3 12410368 0.000000 -10.548008 -5.103875 0 -8.846717 -5.444133 0
+ L3 12410368 0.000000 -5.103875 -10.207750 0 -5.784392 -11.228525 0
+ L3 12410368 0.000000 -0.340258 -9.186975 0 0.000000 -10.207750 0
+ L3 12410368 0.000000 4.423358 -10.888267 0 4.083100 -12.249300 0
+ L3 12410368 0.000000 10.207750 -6.464908 0 10.888267 -7.485683 0
+ L3 12410368 0.000000 -9.527233 8.506458 0 -8.846717 7.145425 0
+ L3 14915328 0.000000 -10.888267 6.464908 0 -9.867492 7.145425 0
+ L3 16755200 0.000000 11.909042 1.020775 0 10.548008 0.680517 0
+ L3 16755200 0.000000 -3.402583 10.888267 0 -3.742842 9.186975 0
+ L3 16755200 0.000000 -7.825942 7.145425 0 -5.444133 7.145425 0
+ L3 16755200 0.000000 -6.464908 3.742842 0 -8.506458 3.402583 0
+ L3 16755200 0.000000 -11.568783 0.680517 0 -9.527233 1.701292 0
+ L3 16755200 0.000000 -9.186975 -2.381808 0 -11.568783 -3.742842 0
+ L3 16755200 0.000000 -8.166200 -7.825942 0 -7.485683 -6.805167 0
+ L3 16755200 0.000000 -3.062325 -10.888267 0 -2.381808 -11.909042 0
+ L3 16755200 0.000000 1.701292 -9.186975 0 0.680517 -9.867492 0
+ L3 16755200 0.000000 6.464908 -10.207750 0 7.485683 -10.548008 0
+ L3 16755200 0.000000 11.909042 -4.763617 0 10.888267 -5.103875 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -2.038534 6.455357 0
+ -1.844388 5.339017 0
+ 0.242683 4.416823 0
+ 0.825121 5.775846 0
+ -0.242683 6.795113 0
+ F4 6815744 0.000000 4 0
+ 6.649503 -0.242683 0
+ 4.125604 -0.825121 0
+ 3.591703 0.436829 0
+ 7.037795 0.630975 0
+ F4 6815744 0.000000 4 0
+ 1.601705 -6.455357 0
+ 0.339756 -5.484627 0
+ 0.679511 -3.446093 0
+ 1.456096 -3.737312 0
+ F4 6815744 0.000000 5 0
+ -5.096335 -0.582438 0
+ -4.416823 -0.097073 0
+ -2.087070 0.485365 0
+ -0.825121 -0.825121 0
+ -3.737312 -1.261950 0
+ L3 6815744 0.000000 4.763617 6.464908 0 3.062325 5.784392 0
+ L3 6815744 0.000000 3.062325 8.846717 0 2.381808 7.485683 0
+ L3 6815744 0.000000 -1.361033 8.506458 0 -0.680517 7.485683 0
+ L3 6815744 0.000000 -3.062325 3.742842 0 -1.361033 4.423358 0
+ L3 6815744 0.000000 -4.083100 2.041550 0 -2.722067 1.020775 0
+ L3 6815744 0.000000 -7.825942 0.680517 0 -6.124650 0.000000 0
+ L3 6815744 0.000000 -5.444133 -1.701292 0 -6.805167 -3.062325 0
+ L3 6815744 0.000000 -1.361033 -6.124650 0 -1.701292 -8.166200 0
+ L3 6815744 0.000000 -1.020775 -3.742842 0 -0.680517 -5.103875 0
+ L3 6815744 0.000000 2.381808 -6.124650 0 3.062325 -8.166200 0
+ L3 6815744 0.000000 4.083100 -5.784392 0 6.124650 -6.805167 0
+ L3 6815744 0.000000 9.186975 -2.381808 0 7.485683 -2.722067 0
+ L3 6815744 0.000000 9.186975 -5.444133 0 7.485683 -4.763617 0
+ L3 6815744 0.000000 9.867492 -4.083100 0 8.166200 -3.742842 0
+ L3 6815744 0.000000 4.083100 -9.867492 0 3.742842 -8.506458 0
+ L3 6815744 0.000000 6.124650 -8.846717 0 5.103875 -7.825942 0
+ L3 6815744 0.000000 10.207750 1.701292 0 8.166200 2.041550 0
+ L3 6815744 0.000000 10.207750 3.402583 0 8.506458 3.062325 0
+ L3 6815744 0.000000 -3.402583 -9.527233 0 -3.062325 -8.166200 0
+ L3 6815744 0.000000 -7.485683 -4.763617 0 -6.464908 -4.083100 0
+ L3 6815744 0.000000 4.763617 10.888267 0 4.083100 9.186975 0
+ L3 6815744 0.000000 6.124650 9.867492 0 5.103875 8.846717 0
+ L3 11184640 0.000000 4.763617 -9.186975 0 4.083100 -7.145425 0
+ L3 14915328 0.000000 5.444133 8.166200 0 4.423358 7.485683 0
+ L3 14915328 0.000000 -6.124650 1.701292 0 -4.763617 1.020775 0
+ F4 16755200 0.000000 4 0
+ 5.241944 5.387554 0
+ 3.106337 4.756579 0
+ 2.863655 3.154874 0
+ 4.271214 3.737312 0
+ F4 16755200 0.000000 3 0
+ 5.921455 -4.853652 0
+ 5.241944 -3.349020 0
+ 4.174141 -4.271214 0
+ F4 16755200 0.000000 4 0
+ -4.465360 -5.630236 0
+ -3.106337 -5.290481 0
+ -2.135607 -3.009264 0
+ -3.640239 -3.397556 0
+ L3 16755200 0.000000 0.680517 7.485683 0 1.361033 6.464908 0
+ L3 16755200 0.000000 -4.083100 5.444133 0 -2.722067 5.444133 0
+ L3 16755200 0.000000 -6.124650 -4.763617 0 -5.103875 -3.402583 0
+ L3 16755200 0.000000 -3.742842 -7.485683 0 -2.722067 -6.124650 0
+ L3 16755200 0.000000 8.506458 4.423358 0 6.805167 3.402583 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 32"" Fall-32a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -9.679129 -9.182341 0
+ -8.306068 -14.374226 0
+ -5.216682 -15.704378 0
+ -1.741123 -11.413564 0
+ 2.249333 -15.146572 0
+ 7.055045 -12.872441 0
+ 5.939433 12.657900 0
+ 1.391171 15.060756 0
+ -0.496787 12.143003 0
+ -4.315612 12.185911 0
+ -5.259591 15.146572 0
+ -11.138005 13.258614 0
+ -10.408567 9.783055 0
+ -15.257186 9.439790 0
+ -17.745858 4.419538 0
+ -14.999738 1.587601 0
+ -18.604021 0.000000 0
+ -17.660042 -3.604283 0
+ -13.841218 -4.977344 0
+ -16.587339 -7.208567 0
+ -14.356116 -11.241932 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -13.387339 -7.208567 0
+ -11.156116 -11.241932 0
+ -6.479129 -9.182341 0
+ -5.106068 -14.374226 0
+ -2.016682 -15.704378 0
+ 1.458877 -11.413564 0
+ 5.449333 -15.146572 0
+ 10.255045 -12.872441 0
+ 8.452903 -8.109638 0
+ 14.202593 -6.522037 0
+ 15.060756 -1.115612 0
+ 12.057186 1.673417 0
+ 14.889123 5.706782 0
+ 12.743717 9.311066 0
+ 9.268158 8.023822 0
+ 9.139433 12.657900 0
+ 4.591171 15.060756 0
+ 2.703213 12.143003 0
+ -1.115612 12.185911 0
+ -2.059591 15.146572 0
+ -7.938005 13.258614 0
+ -7.208567 9.783055 0
+ -12.057186 9.439790 0
+ -14.545858 4.419538 0
+ -11.799738 1.587601 0
+ -15.404021 0.000000 0
+ -14.460042 -3.604283 0
+ -10.641218 -4.977344 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 2.145407 -10.040504 0
+ 5.148976 -13.044074 0
+ 8.023822 -11.284840 0
+ 6.736577 -6.264588 0
+ 12.486268 -4.676987 0
+ 12.872441 -2.188315 0
+ 9.268158 0.300357 0
+ 12.400451 5.020252 0
+ 11.027391 6.650761 0
+ 7.594740 6.564945 0
+ 7.423108 10.512493 0
+ 4.462446 12.143003 0
+ 2.016682 9.268158 0
+ -1.673417 9.783055 0
+ -2.531580 11.756829 0
+ -5.663874 10.941575 0
+ -5.706782 7.508924 0
+ -8.324179 7.423108 0
+ -10.040504 3.990457 0
+ -6.994026 1.115612 0
+ -9.868871 -0.386173 0
+ -9.396882 -2.445764 0
+ -4.805711 -3.303927 0
+ -6.564945 -6.436220 0
+ -3.690100 -8.667444 0
+ -2.531580 -11.199024 0
+ L3 12434688 0.000000 -3.888667 -12.443733 0 -4.277533 -10.499400 0
+ L3 12434688 0.000000 -8.166200 -6.610733 0 -6.610733 -5.444133 0
+ L3 12434688 0.000000 -13.221467 -0.777733 0 -10.888267 -1.944333 0
+ L3 12434688 0.000000 -8.943933 1.166600 0 -10.888267 0.777733 0
+ L3 12434688 0.000000 -12.054867 5.833000 0 -10.110533 6.221867 0
+ L3 12434688 0.000000 -5.833000 11.666000 0 -6.610733 12.832600 0
+ L3 12434688 0.000000 1.944333 10.499400 0 0.777733 11.277133 0
+ L3 12434688 0.000000 7.388467 11.666000 0 8.555067 12.054867 0
+ L3 12434688 0.000000 13.610333 5.444133 0 12.443733 5.833000 0
+ L3 12434688 0.000000 -10.888267 -9.721667 0 -10.110533 -8.166200 0
+ L3 12434688 0.000000 -12.443733 -7.388467 0 -11.277133 -8.166200 0
+ L3 16755200 0.000000 -2.722067 -13.221467 0 -1.166600 -12.054867 0
+ L3 16755200 0.000000 -8.943933 -8.166200 0 -6.221867 -8.166200 0
+ L3 16755200 0.000000 -10.888267 -7.388467 0 -9.721667 -6.221867 0
+ L3 16755200 0.000000 -7.388467 -4.277533 0 -9.721667 -3.888667 0
+ L3 16755200 0.000000 -13.221467 -3.110933 0 -10.499400 -3.110933 0
+ L3 16755200 0.000000 -10.499400 2.722067 0 -13.221467 4.277533 0
+ L3 16755200 0.000000 -9.332800 8.943933 0 -8.555067 7.777333 0
+ L3 16755200 0.000000 -3.499800 12.443733 0 -2.722067 13.610333 0
+ L3 16755200 0.000000 -0.388867 10.499400 0 0.000000 11.666000 0
+ L3 16755200 0.000000 5.055267 12.443733 0 4.666400 13.999200 0
+ L3 16755200 0.000000 11.666000 7.388467 0 12.443733 8.555067 0
+ L3 16755200 0.000000 13.610333 -1.166600 0 12.054867 -0.777733 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 5.990793 -6.157204 0
+ 3.550100 -5.436090 0
+ 3.272748 -3.605570 0
+ 4.881387 -4.271214 0
+ F4 6842368 0.000000 4 0
+ 7.599432 0.277352 0
+ 4.714976 0.942995 0
+ 4.104803 -0.499233 0
+ 8.043195 -0.721114 0
+ F4 6842368 0.000000 4 0
+ 1.830520 7.377551 0
+ 0.388292 6.268145 0
+ 0.776584 3.938392 0
+ 1.664109 4.271214 0
+ F4 6842368 0.000000 5 0
+ -5.824382 0.665644 0
+ -5.047798 0.110941 0
+ -2.385223 -0.554703 0
+ -0.942995 0.942995 0
+ -4.271214 1.442228 0
+ L3 6842368 0.000000 0.777733 -8.555067 0 1.555467 -7.388467 0
+ L3 6842368 0.000000 5.444133 -7.388467 0 3.499800 -6.610733 0
+ L3 6842368 0.000000 6.221867 -9.332800 0 5.055267 -8.555067 0
+ L3 6842368 0.000000 3.499800 -10.110533 0 2.722067 -8.555067 0
+ L3 6842368 0.000000 -1.555467 -9.721667 0 -0.777733 -8.555067 0
+ L3 6842368 0.000000 -4.666400 -6.221867 0 -3.110933 -6.221867 0
+ L3 6842368 0.000000 -3.499800 -4.277533 0 -1.555467 -5.055267 0
+ L3 6842368 0.000000 -4.666400 -2.333200 0 -3.110933 -1.166600 0
+ L3 6842368 0.000000 -6.999600 -1.944333 0 -5.444133 -1.166600 0
+ L3 6842368 0.000000 -8.943933 -0.777733 0 -6.999600 0.000000 0
+ L3 6842368 0.000000 -6.221867 1.944333 0 -7.777333 3.499800 0
+ L3 6842368 0.000000 -6.999600 5.444133 0 -5.833000 3.888667 0
+ L3 6842368 0.000000 -4.277533 8.555067 0 -3.110933 6.999600 0
+ L3 6842368 0.000000 -1.555467 6.999600 0 -1.944333 9.332800 0
+ L3 6842368 0.000000 -1.166600 4.277533 0 -0.777733 5.833000 0
+ L3 6842368 0.000000 2.722067 6.999600 0 3.499800 9.332800 0
+ L3 6842368 0.000000 4.666400 6.610733 0 6.999600 7.777333 0
+ L3 6842368 0.000000 10.499400 2.722067 0 8.555067 3.110933 0
+ L3 6842368 0.000000 10.499400 6.221867 0 8.555067 5.444133 0
+ L3 6842368 0.000000 11.277133 4.666400 0 9.332800 4.277533 0
+ L3 6842368 0.000000 4.666400 11.277133 0 4.277533 9.721667 0
+ L3 6842368 0.000000 6.999600 10.110533 0 5.833000 8.943933 0
+ L3 6842368 0.000000 5.444133 10.499400 0 4.666400 8.166200 0
+ L3 6842368 0.000000 11.666000 -1.944333 0 9.332800 -2.333200 0
+ L3 6842368 0.000000 9.721667 -5.055267 0 7.777333 -3.888667 0
+ L3 6842368 0.000000 11.666000 -3.888667 0 9.721667 -3.499800 0
+ L3 6842368 0.000000 -3.888667 10.888267 0 -3.499800 9.332800 0
+ L3 6842368 0.000000 -8.555067 5.444133 0 -7.388467 4.666400 0
+ L3 6842368 0.000000 5.444133 -12.443733 0 4.666400 -10.499400 0
+ L3 6842368 0.000000 6.999600 -11.277133 0 5.833000 -10.110533 0
+ F4 16755200 0.000000 5 0
+ -2.329753 -7.377551 0
+ -2.107872 -6.101734 0
+ 0.277352 -5.047798 0
+ 0.942995 -6.600967 0
+ -0.277352 -7.765843 0
+ F4 16755200 0.000000 3 0
+ 6.767378 5.547031 0
+ 5.990793 3.827451 0
+ 4.770447 4.881387 0
+ F4 16755200 0.000000 4 0
+ -5.103268 6.434556 0
+ -3.550100 6.046264 0
+ -2.440694 3.439159 0
+ -4.160273 3.882922 0
+ END$SEGS
+
+STRUCTURE * "Lg Fall 32"" Fall-32b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -9.679129 9.182341 0
+ -8.306068 14.374226 0
+ -5.216682 15.704378 0
+ -1.741123 11.413564 0
+ 2.249333 15.146572 0
+ 7.055045 12.872441 0
+ 5.939433 -12.657900 0
+ 1.391171 -15.060756 0
+ -0.496787 -12.143003 0
+ -4.315612 -12.185911 0
+ -5.259591 -15.146572 0
+ -11.138005 -13.258614 0
+ -10.408567 -9.783055 0
+ -15.257186 -9.439790 0
+ -17.745858 -4.419538 0
+ -14.999738 -1.587601 0
+ -18.604021 0.000000 0
+ -17.660042 3.604283 0
+ -13.841218 4.977344 0
+ -16.587339 7.208567 0
+ -14.356116 11.241932 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -13.387339 7.208567 0
+ -11.156116 11.241932 0
+ -6.479129 9.182341 0
+ -5.106068 14.374226 0
+ -2.016682 15.704378 0
+ 1.458877 11.413564 0
+ 5.449333 15.146572 0
+ 10.255045 12.872441 0
+ 8.452903 8.109638 0
+ 14.202593 6.522037 0
+ 15.060756 1.115612 0
+ 12.057186 -1.673417 0
+ 14.889123 -5.706782 0
+ 12.743717 -9.311066 0
+ 9.268158 -8.023822 0
+ 9.139433 -12.657900 0
+ 4.591171 -15.060756 0
+ 2.703213 -12.143003 0
+ -1.115612 -12.185911 0
+ -2.059591 -15.146572 0
+ -7.938005 -13.258614 0
+ -7.208567 -9.783055 0
+ -12.057186 -9.439790 0
+ -14.545858 -4.419538 0
+ -11.799738 -1.587601 0
+ -15.404021 0.000000 0
+ -14.460042 3.604283 0
+ -10.641218 4.977344 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 2.145407 10.040504 0
+ 5.148976 13.044074 0
+ 8.023822 11.284840 0
+ 6.736577 6.264588 0
+ 12.486268 4.676987 0
+ 12.872441 2.188315 0
+ 9.268158 -0.300357 0
+ 12.400451 -5.020252 0
+ 11.027391 -6.650761 0
+ 7.594740 -6.564945 0
+ 7.423108 -10.512493 0
+ 4.462446 -12.143003 0
+ 2.016682 -9.268158 0
+ -1.673417 -9.783055 0
+ -2.531580 -11.756829 0
+ -5.663874 -10.941575 0
+ -5.706782 -7.508924 0
+ -8.324179 -7.423108 0
+ -10.040504 -3.990457 0
+ -6.994026 -1.115612 0
+ -9.868871 0.386173 0
+ -9.396882 2.445764 0
+ -4.805711 3.303927 0
+ -6.564945 6.436220 0
+ -3.690100 8.667444 0
+ -2.531580 11.199024 0
+ L3 12410368 0.000000 -2.722067 13.221467 0 -1.166600 12.054867 0
+ L3 12410368 0.000000 -10.888267 7.388467 0 -9.721667 6.221867 0
+ L3 12410368 0.000000 -8.166200 6.610733 0 -6.610733 5.444133 0
+ L3 12410368 0.000000 -13.221467 3.110933 0 -10.499400 3.110933 0
+ L3 12410368 0.000000 -8.943933 -1.166600 0 -10.888267 -0.777733 0
+ L3 12410368 0.000000 -12.054867 -5.833000 0 -10.110533 -6.221867 0
+ L3 12410368 0.000000 -5.833000 -11.666000 0 -6.610733 -12.832600 0
+ L3 12410368 0.000000 -0.388867 -10.499400 0 0.000000 -11.666000 0
+ L3 12410368 0.000000 5.055267 -12.443733 0 4.666400 -13.999200 0
+ L3 12410368 0.000000 11.666000 -7.388467 0 12.443733 -8.555067 0
+ L3 12410368 0.000000 -10.888267 9.721667 0 -10.110533 8.166200 0
+ L3 14915328 0.000000 -12.443733 7.388467 0 -11.277133 8.166200 0
+ L3 16755200 0.000000 13.610333 1.166600 0 12.054867 0.777733 0
+ L3 16755200 0.000000 -3.888667 12.443733 0 -4.277533 10.499400 0
+ L3 16755200 0.000000 -8.943933 8.166200 0 -6.221867 8.166200 0
+ L3 16755200 0.000000 -7.388467 4.277533 0 -9.721667 3.888667 0
+ L3 16755200 0.000000 -13.221467 0.777733 0 -10.888267 1.944333 0
+ L3 16755200 0.000000 -10.499400 -2.722067 0 -13.221467 -4.277533 0
+ L3 16755200 0.000000 -9.332800 -8.943933 0 -8.555067 -7.777333 0
+ L3 16755200 0.000000 -3.499800 -12.443733 0 -2.722067 -13.610333 0
+ L3 16755200 0.000000 1.944333 -10.499400 0 0.777733 -11.277133 0
+ L3 16755200 0.000000 7.388467 -11.666000 0 8.555067 -12.054867 0
+ L3 16755200 0.000000 13.610333 -5.444133 0 12.443733 -5.833000 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -2.329753 7.377551 0
+ -2.107872 6.101734 0
+ 0.277352 5.047798 0
+ 0.942995 6.600967 0
+ -0.277352 7.765843 0
+ F4 6815744 0.000000 4 0
+ 7.599432 -0.277352 0
+ 4.714976 -0.942995 0
+ 4.104803 0.499233 0
+ 8.043195 0.721114 0
+ F4 6815744 0.000000 4 0
+ 1.830520 -7.377551 0
+ 0.388292 -6.268145 0
+ 0.776584 -3.938392 0
+ 1.664109 -4.271214 0
+ F4 6815744 0.000000 5 0
+ -5.824382 -0.665644 0
+ -5.047798 -0.110941 0
+ -2.385223 0.554703 0
+ -0.942995 -0.942995 0
+ -4.271214 -1.442228 0
+ L3 6815744 0.000000 5.444133 7.388467 0 3.499800 6.610733 0
+ L3 6815744 0.000000 3.499800 10.110533 0 2.722067 8.555067 0
+ L3 6815744 0.000000 -1.555467 9.721667 0 -0.777733 8.555067 0
+ L3 6815744 0.000000 -3.499800 4.277533 0 -1.555467 5.055267 0
+ L3 6815744 0.000000 -4.666400 2.333200 0 -3.110933 1.166600 0
+ L3 6815744 0.000000 -8.943933 0.777733 0 -6.999600 0.000000 0
+ L3 6815744 0.000000 -6.221867 -1.944333 0 -7.777333 -3.499800 0
+ L3 6815744 0.000000 -1.555467 -6.999600 0 -1.944333 -9.332800 0
+ L3 6815744 0.000000 -1.166600 -4.277533 0 -0.777733 -5.833000 0
+ L3 6815744 0.000000 2.722067 -6.999600 0 3.499800 -9.332800 0
+ L3 6815744 0.000000 4.666400 -6.610733 0 6.999600 -7.777333 0
+ L3 6815744 0.000000 10.499400 -2.722067 0 8.555067 -3.110933 0
+ L3 6815744 0.000000 10.499400 -6.221867 0 8.555067 -5.444133 0
+ L3 6815744 0.000000 11.277133 -4.666400 0 9.332800 -4.277533 0
+ L3 6815744 0.000000 4.666400 -11.277133 0 4.277533 -9.721667 0
+ L3 6815744 0.000000 6.999600 -10.110533 0 5.833000 -8.943933 0
+ L3 6815744 0.000000 11.666000 1.944333 0 9.332800 2.333200 0
+ L3 6815744 0.000000 11.666000 3.888667 0 9.721667 3.499800 0
+ L3 6815744 0.000000 -3.888667 -10.888267 0 -3.499800 -9.332800 0
+ L3 6815744 0.000000 -8.555067 -5.444133 0 -7.388467 -4.666400 0
+ L3 6815744 0.000000 5.444133 12.443733 0 4.666400 10.499400 0
+ L3 6815744 0.000000 6.999600 11.277133 0 5.833000 10.110533 0
+ L3 11184640 0.000000 5.444133 -10.499400 0 4.666400 -8.166200 0
+ L3 14915328 0.000000 6.221867 9.332800 0 5.055267 8.555067 0
+ L3 14915328 0.000000 -6.999600 1.944333 0 -5.444133 1.166600 0
+ F4 16755200 0.000000 4 0
+ 5.990793 6.157204 0
+ 3.550100 5.436090 0
+ 3.272748 3.605570 0
+ 4.881387 4.271214 0
+ F4 16755200 0.000000 3 0
+ 6.767378 -5.547031 0
+ 5.990793 -3.827451 0
+ 4.770447 -4.881387 0
+ F4 16755200 0.000000 4 0
+ -5.103268 -6.434556 0
+ -3.550100 -6.046264 0
+ -2.440694 -3.439159 0
+ -4.160273 -3.882922 0
+ L3 16755200 0.000000 0.777733 8.555067 0 1.555467 7.388467 0
+ L3 16755200 0.000000 -4.666400 6.221867 0 -3.110933 6.221867 0
+ L3 16755200 0.000000 -6.999600 -5.444133 0 -5.833000 -3.888667 0
+ L3 16755200 0.000000 -4.277533 -8.555067 0 -3.110933 -6.999600 0
+ L3 16755200 0.000000 9.721667 5.055267 0 7.777333 3.888667 0
+ END$SEGS
+
diff --git a/app/lib/params/TreeSmConif.xtp b/app/lib/params/TreeSmConif.xtp
new file mode 100644
index 0000000..bf61e67
--- /dev/null
+++ b/app/lib/params/TreeSmConif.xtp
@@ -0,0 +1,3023 @@
+CONTENTS Small Conifer Trees
+
+# DxfToXtp version 0.6 by Russell Shilling 2021
+STRUCTURE * "Sm Conif 1"" Conif-1a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.134863 0.380810 0
+ -0.017085 0.466117 0
+ 0.068071 0.374238 0
+ 0.076897 -0.297187 0
+ -0.059663 -0.475081 0
+ -0.149301 -0.304769 0
+ -0.259107 -0.461635 0
+ -0.302473 -0.286948 0
+ -0.448629 -0.351310 0
+ -0.409251 -0.185999 0
+ -0.548189 -0.181517 0
+ -0.427178 -0.047060 0
+ -0.581376 0.000000 0
+ -0.468742 0.049613 0
+ -0.554558 0.138111 0
+ -0.384600 0.259950 0
+ -0.440624 0.414575 0
+ -0.241180 0.363033 0
+ -0.164362 0.473330 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -0.309251 -0.185999 0
+ -0.348629 -0.351310 0
+ -0.202473 -0.286948 0
+ -0.159107 -0.461635 0
+ -0.049301 -0.304769 0
+ 0.040337 -0.475081 0
+ 0.176897 -0.297187 0
+ 0.320470 -0.402264 0
+ 0.264153 -0.253426 0
+ 0.340822 -0.128545 0
+ 0.470649 -0.034863 0
+ 0.376787 0.052294 0
+ 0.465285 0.178337 0
+ 0.318214 0.185999 0
+ 0.289630 0.250744 0
+ 0.285607 0.395559 0
+ 0.168071 0.374238 0
+ 0.082915 0.466117 0
+ -0.034863 0.380810 0
+ -0.064362 0.473330 0
+ -0.141180 0.363033 0
+ -0.340624 0.414575 0
+ -0.284600 0.259950 0
+ -0.454558 0.138111 0
+ -0.368742 0.049613 0
+ -0.481376 0.000000 0
+ -0.327178 -0.047060 0
+ -0.448189 -0.181517 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.067044 -0.313766 0
+ 0.203006 -0.469081 0
+ 0.250744 -0.352651 0
+ 0.210518 -0.195768 0
+ 0.370535 -0.203006 0
+ 0.476965 -0.116285 0
+ 0.289630 0.009386 0
+ 0.461197 0.197093 0
+ 0.333087 0.226657 0
+ 0.237336 0.205155 0
+ 0.231972 0.328515 0
+ 0.210889 0.447401 0
+ 0.063021 0.289630 0
+ -0.052294 0.305720 0
+ -0.079112 0.367401 0
+ -0.179355 0.443459 0
+ -0.178337 0.234654 0
+ -0.411924 0.289727 0
+ -0.364622 0.126139 0
+ -0.218563 0.034863 0
+ -0.384331 0.031535 0
+ -0.463168 -0.078837 0
+ -0.150178 -0.103248 0
+ -0.394186 -0.305494 0
+ -0.115316 -0.270858 0
+ -0.121521 -0.486083 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -0.277562 0.163587 0 -0.366060 0.159565 0
+ L3 26624 0.000000 -0.384832 0.234654 0 -0.324493 0.219904 0
+ L3 26624 0.000000 -0.123361 0.395559 0 -0.113975 0.284266 0
+ L3 26624 0.000000 -0.113975 0.284266 0 -0.181019 0.363378 0
+ L3 26624 0.000000 0.159565 0.399582 0 0.170292 0.305720 0
+ L3 26624 0.000000 0.170292 0.305720 0 0.221245 0.363378 0
+ L3 26624 0.000000 0.383491 0.206495 0 0.258790 0.148838 0
+ L3 26624 0.000000 0.258790 0.148838 0 0.383491 0.119338 0
+ L3 26624 0.000000 0.348629 -0.084475 0 0.254767 -0.085816 0
+ L3 26624 0.000000 0.254767 -0.085816 0 0.332538 -0.190405 0
+ L3 26624 0.000000 0.238677 -0.316448 0 0.135429 -0.226609 0
+ L3 26624 0.000000 0.135429 -0.226609 0 0.138111 -0.390196 0
+ L3 26624 0.000000 -0.048272 -0.417013 0 -0.049613 -0.278903 0
+ L3 26624 0.000000 -0.049613 -0.278903 0 -0.116656 -0.336561 0
+ L3 26624 0.000000 -0.064362 0.294993 0 -0.080453 0.226609 0
+ L3 26624 0.000000 0.108611 0.312425 0 0.109952 0.233313 0
+ L3 26624 0.000000 0.209177 0.268176 0 0.146156 0.215882 0
+ L3 26624 0.000000 0.242699 0.205155 0 0.174314 0.107270 0
+ L3 26624 0.000000 0.313766 0.056317 0 0.229290 0.079112 0
+ L3 26624 0.000000 0.321811 -0.022795 0 0.182360 -0.042908 0
+ L3 26624 0.000000 0.195768 -0.099225 0 0.261471 -0.193087 0
+ L3 26624 0.000000 0.209177 -0.219904 0 0.103248 -0.142133 0
+ L3 26624 0.000000 0.083135 -0.186382 0 0.056317 -0.268176 0
+ L3 26624 0.000000 0.004023 -0.266835 0 -0.014750 -0.159565 0
+ L3 26624 0.000000 -0.108611 -0.242699 0 -0.079112 -0.136770 0
+ L3 26624 0.000000 -0.205155 0.038885 0 -0.107270 -0.009386 0
+ L3 26624 0.000000 -0.087157 0.132747 0 -0.044249 0.048272 0
+ L3 26624 0.000000 0.067044 0.198450 0 0.018772 0.107270 0
+ L3 26624 0.000000 0.128724 0.146156 0 0.072407 0.087157 0
+ L3 26624 0.000000 0.178337 0.038885 0 0.071067 0.021454 0
+ L3 26624 0.000000 0.115316 -0.071067 0 0.049613 -0.030840 0
+ L3 26624 0.000000 0.013409 -0.100566 0 0.017431 -0.049613 0
+ L3 26624 0.000000 -0.020113 -0.033522 0 -0.061680 -0.089839 0
+ L3 26624 0.000000 -0.081794 0.034863 0 -0.025477 0.002682 0
+ L3 26624 0.000000 0.042908 0.068385 0 0.016091 0.014750 0
+ L3 26624 0.000000 -0.244416 0.086672 0 -0.310287 0.119608 0
+ L3 26624 0.000000 -0.305087 -0.071071 0 -0.221881 -0.045070 0
+ L3 26624 0.000000 -0.240949 -0.258284 0 -0.166411 -0.235749 0
+ F4 32768 0.000000 4 0
+ -0.225348 0.133475 0
+ -0.182012 0.083205 0
+ -0.105740 0.053737 0
+ -0.154277 0.116141 0
+ F4 32768 0.000000 4 0
+ -0.204547 -0.071071 0
+ -0.110941 -0.079739 0
+ -0.069338 -0.041603 0
+ -0.145610 -0.043336 0
+ F4 32768 0.000000 4 0
+ -0.102273 0.168144 0
+ -0.117874 0.223615 0
+ -0.175078 0.251350 0
+ -0.159477 0.206280 0
+ F4 32768 0.000000 4 0
+ -0.339756 0.001733 0
+ -0.265217 0.019068 0
+ -0.183745 -0.006934 0
+ -0.266951 -0.020801 0
+ F4 32768 0.000000 4 0
+ -0.280818 0.220148 0
+ -0.239216 0.178545 0
+ -0.175078 0.164677 0
+ -0.211481 0.206280 0
+ F4 32768 0.000000 4 0
+ -0.237482 -0.228815 0
+ -0.182012 -0.171611 0
+ -0.117874 -0.147343 0
+ -0.180279 -0.209747 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 1"" Conif-1b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.017085 -0.466117 0
+ -0.134863 -0.380810 0
+ -0.164362 -0.473330 0
+ -0.241180 -0.363033 0
+ -0.440624 -0.414575 0
+ -0.384600 -0.259950 0
+ -0.554558 -0.138111 0
+ -0.468742 -0.049613 0
+ -0.581376 0.000000 0
+ -0.427178 0.047060 0
+ -0.548189 0.181517 0
+ -0.409251 0.185999 0
+ -0.448629 0.351310 0
+ -0.302473 0.286948 0
+ -0.259107 0.461635 0
+ -0.149301 0.304769 0
+ -0.059663 0.475081 0
+ 0.076897 0.297187 0
+ 0.068071 -0.374238 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -0.309251 0.185999 0
+ -0.348629 0.351310 0
+ -0.202473 0.286948 0
+ -0.159107 0.461635 0
+ -0.049301 0.304769 0
+ 0.040337 0.475081 0
+ 0.176897 0.297187 0
+ 0.320470 0.402264 0
+ 0.264153 0.253426 0
+ 0.340822 0.128545 0
+ 0.470649 0.034863 0
+ 0.376787 -0.052294 0
+ 0.465285 -0.178337 0
+ 0.318214 -0.185999 0
+ 0.289630 -0.250744 0
+ 0.285607 -0.395559 0
+ 0.168071 -0.374238 0
+ 0.082915 -0.466117 0
+ -0.034863 -0.380810 0
+ -0.064362 -0.473330 0
+ -0.141180 -0.363033 0
+ -0.340624 -0.414575 0
+ -0.284600 -0.259950 0
+ -0.454558 -0.138111 0
+ -0.368742 -0.049613 0
+ -0.481376 0.000000 0
+ -0.327178 0.047060 0
+ -0.448189 0.181517 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.067044 0.313766 0
+ 0.203006 0.469081 0
+ 0.250744 0.352651 0
+ 0.210518 0.195768 0
+ 0.370535 0.203006 0
+ 0.476965 0.116285 0
+ 0.289630 -0.009386 0
+ 0.461197 -0.197093 0
+ 0.333087 -0.226657 0
+ 0.237336 -0.205155 0
+ 0.231972 -0.328515 0
+ 0.210889 -0.447401 0
+ 0.063021 -0.289630 0
+ -0.052294 -0.305720 0
+ -0.079112 -0.367401 0
+ -0.179355 -0.443459 0
+ -0.178337 -0.234654 0
+ -0.411924 -0.289727 0
+ -0.364622 -0.126139 0
+ -0.218563 -0.034863 0
+ -0.384331 -0.031535 0
+ -0.463168 0.078837 0
+ -0.150178 0.103248 0
+ -0.394186 0.305494 0
+ -0.115316 0.270858 0
+ -0.121521 0.486083 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -0.277562 -0.163587 0 -0.366060 -0.159565 0
+ L3 26624 0.000000 -0.384832 -0.234654 0 -0.324493 -0.219904 0
+ L3 26624 0.000000 -0.123361 -0.395559 0 -0.113975 -0.284266 0
+ L3 26624 0.000000 -0.113975 -0.284266 0 -0.181019 -0.363378 0
+ L3 26624 0.000000 0.159565 -0.399582 0 0.170292 -0.305720 0
+ L3 26624 0.000000 0.170292 -0.305720 0 0.221245 -0.363378 0
+ L3 26624 0.000000 0.383491 -0.206495 0 0.258790 -0.148838 0
+ L3 26624 0.000000 0.258790 -0.148838 0 0.383491 -0.119338 0
+ L3 26624 0.000000 0.348629 0.084475 0 0.254767 0.085816 0
+ L3 26624 0.000000 0.254767 0.085816 0 0.332538 0.190405 0
+ L3 26624 0.000000 0.238677 0.316448 0 0.135429 0.226609 0
+ L3 26624 0.000000 0.135429 0.226609 0 0.138111 0.390196 0
+ L3 26624 0.000000 -0.048272 0.417013 0 -0.049613 0.278903 0
+ L3 26624 0.000000 -0.049613 0.278903 0 -0.116656 0.336561 0
+ L3 26624 0.000000 -0.064362 -0.294993 0 -0.080453 -0.226609 0
+ L3 26624 0.000000 0.108611 -0.312425 0 0.109952 -0.233313 0
+ L3 26624 0.000000 0.209177 -0.268176 0 0.146156 -0.215882 0
+ L3 26624 0.000000 0.242699 -0.205155 0 0.174314 -0.107270 0
+ L3 26624 0.000000 0.313766 -0.056317 0 0.229290 -0.079112 0
+ L3 26624 0.000000 0.321811 0.022795 0 0.182360 0.042908 0
+ L3 26624 0.000000 0.195768 0.099225 0 0.261471 0.193087 0
+ L3 26624 0.000000 0.209177 0.219904 0 0.103248 0.142133 0
+ L3 26624 0.000000 0.083135 0.186382 0 0.056317 0.268176 0
+ L3 26624 0.000000 0.004023 0.266835 0 -0.014750 0.159565 0
+ L3 26624 0.000000 -0.108611 0.242699 0 -0.079112 0.136770 0
+ L3 26624 0.000000 -0.205155 -0.038885 0 -0.107270 0.009386 0
+ L3 26624 0.000000 -0.087157 -0.132747 0 -0.044249 -0.048272 0
+ L3 26624 0.000000 0.067044 -0.198450 0 0.018772 -0.107270 0
+ L3 26624 0.000000 0.128724 -0.146156 0 0.072407 -0.087157 0
+ L3 26624 0.000000 0.178337 -0.038885 0 0.071067 -0.021454 0
+ L3 26624 0.000000 0.115316 0.071067 0 0.049613 0.030840 0
+ L3 26624 0.000000 0.013409 0.100566 0 0.017431 0.049613 0
+ L3 26624 0.000000 -0.020113 0.033522 0 -0.061680 0.089839 0
+ L3 26624 0.000000 -0.081794 -0.034863 0 -0.025477 -0.002682 0
+ L3 26624 0.000000 0.042908 -0.068385 0 0.016091 -0.014750 0
+ L3 26624 0.000000 -0.244416 -0.086672 0 -0.310287 -0.119608 0
+ L3 26624 0.000000 -0.305087 0.071071 0 -0.221881 0.045070 0
+ L3 26624 0.000000 -0.240949 0.258284 0 -0.166411 0.235749 0
+ F4 32768 0.000000 4 0
+ -0.225348 -0.133475 0
+ -0.182012 -0.083205 0
+ -0.105740 -0.053737 0
+ -0.154277 -0.116141 0
+ F4 32768 0.000000 4 0
+ -0.204547 0.071071 0
+ -0.110941 0.079739 0
+ -0.069338 0.041603 0
+ -0.145610 0.043336 0
+ F4 32768 0.000000 4 0
+ -0.102273 -0.168144 0
+ -0.117874 -0.223615 0
+ -0.175078 -0.251350 0
+ -0.159477 -0.206280 0
+ F4 32768 0.000000 4 0
+ -0.339756 -0.001733 0
+ -0.265217 -0.019068 0
+ -0.183745 0.006934 0
+ -0.266951 0.020801 0
+ F4 32768 0.000000 4 0
+ -0.280818 -0.220148 0
+ -0.239216 -0.178545 0
+ -0.175078 -0.164677 0
+ -0.211481 -0.206280 0
+ F4 32768 0.000000 4 0
+ -0.237482 0.228815 0
+ -0.182012 0.171611 0
+ -0.117874 0.147343 0
+ -0.180279 0.209747 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 2"" Conif-2a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.269726 0.761619 0
+ -0.034170 0.932234 0
+ 0.136142 0.748476 0
+ 0.153794 -0.594374 0
+ -0.119326 -0.950161 0
+ -0.298602 -0.609538 0
+ -0.518214 -0.923270 0
+ -0.604946 -0.573896 0
+ -0.897257 -0.702621 0
+ -0.818501 -0.371997 0
+ -1.096379 -0.363033 0
+ -0.854356 -0.094120 0
+ -1.162751 0.000000 0
+ -0.937484 0.099225 0
+ -1.109116 0.276221 0
+ -0.769200 0.519900 0
+ -0.881248 0.829150 0
+ -0.482359 0.726067 0
+ -0.328724 0.946661 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -0.618501 -0.371997 0
+ -0.697257 -0.702621 0
+ -0.404946 -0.573896 0
+ -0.318214 -0.923270 0
+ -0.098602 -0.609538 0
+ 0.080674 -0.950161 0
+ 0.353794 -0.594374 0
+ 0.640940 -0.804528 0
+ 0.528306 -0.506852 0
+ 0.681643 -0.257090 0
+ 0.941297 -0.069726 0
+ 0.753574 0.104589 0
+ 0.930570 0.356674 0
+ 0.636429 0.371997 0
+ 0.579260 0.501489 0
+ 0.571215 0.791119 0
+ 0.336142 0.748476 0
+ 0.165830 0.932234 0
+ -0.069726 0.761619 0
+ -0.128724 0.946661 0
+ -0.282359 0.726067 0
+ -0.681248 0.829150 0
+ -0.569200 0.519900 0
+ -0.909116 0.276221 0
+ -0.737484 0.099225 0
+ -0.962751 0.000000 0
+ -0.654356 -0.094120 0
+ -0.896379 -0.363033 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.134088 -0.627531 0
+ 0.406011 -0.938162 0
+ 0.501489 -0.705302 0
+ 0.421036 -0.391537 0
+ 0.741069 -0.406011 0
+ 0.953930 -0.232570 0
+ 0.579260 0.018772 0
+ 0.922395 0.394186 0
+ 0.666174 0.453314 0
+ 0.474671 0.410309 0
+ 0.463944 0.657031 0
+ 0.421779 0.894802 0
+ 0.126043 0.579260 0
+ -0.104589 0.611441 0
+ -0.158224 0.734802 0
+ -0.358709 0.886918 0
+ -0.356674 0.469308 0
+ -0.823848 0.579453 0
+ -0.729244 0.252279 0
+ -0.437127 0.069726 0
+ -0.768662 0.063070 0
+ -0.926337 -0.157674 0
+ -0.300357 -0.206495 0
+ -0.788372 -0.610988 0
+ -0.230631 -0.541715 0
+ -0.243042 -0.972167 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -0.555124 0.327175 0 -0.732120 0.319129 0
+ L3 26624 0.000000 -0.769665 0.469308 0 -0.648986 0.439808 0
+ L3 26624 0.000000 -0.246722 0.791119 0 -0.227949 0.568533 0
+ L3 26624 0.000000 -0.227949 0.568533 0 -0.362037 0.726757 0
+ L3 26624 0.000000 0.319129 0.799164 0 0.340583 0.611441 0
+ L3 26624 0.000000 0.340583 0.611441 0 0.442490 0.726757 0
+ L3 26624 0.000000 0.766983 0.412991 0 0.517579 0.297675 0
+ L3 26624 0.000000 0.517579 0.297675 0 0.766983 0.238677 0
+ L3 26624 0.000000 0.697257 -0.168951 0 0.509534 -0.171633 0
+ L3 26624 0.000000 0.509534 -0.171633 0 0.665076 -0.380810 0
+ L3 26624 0.000000 0.477353 -0.632895 0 0.270858 -0.453217 0
+ L3 26624 0.000000 0.270858 -0.453217 0 0.276221 -0.780392 0
+ L3 26624 0.000000 -0.096543 -0.834027 0 -0.099225 -0.557806 0
+ L3 26624 0.000000 -0.099225 -0.557806 0 -0.233313 -0.673121 0
+ L3 26624 0.000000 -0.128724 0.589987 0 -0.160906 0.453217 0
+ L3 26624 0.000000 0.217222 0.624850 0 0.219904 0.466626 0
+ L3 26624 0.000000 0.418354 0.536352 0 0.292312 0.431763 0
+ L3 26624 0.000000 0.485398 0.410309 0 0.348629 0.214541 0
+ L3 26624 0.000000 0.627531 0.112634 0 0.458581 0.158224 0
+ L3 26624 0.000000 0.643622 -0.045590 0 0.364719 -0.085816 0
+ L3 26624 0.000000 0.391537 -0.198450 0 0.522943 -0.386173 0
+ L3 26624 0.000000 0.418354 -0.439808 0 0.206495 -0.284266 0
+ L3 26624 0.000000 0.166269 -0.372764 0 0.112634 -0.536352 0
+ L3 26624 0.000000 0.008045 -0.533670 0 -0.029499 -0.319129 0
+ L3 26624 0.000000 -0.217222 -0.485398 0 -0.158224 -0.273539 0
+ L3 26624 0.000000 -0.410309 0.077771 0 -0.214541 -0.018772 0
+ L3 26624 0.000000 -0.174314 0.265494 0 -0.088498 0.096543 0
+ L3 26624 0.000000 0.134088 0.396900 0 0.037545 0.214541 0
+ L3 26624 0.000000 0.257449 0.292312 0 0.144815 0.174314 0
+ L3 26624 0.000000 0.356674 0.077771 0 0.142133 0.042908 0
+ L3 26624 0.000000 0.230631 -0.142133 0 0.099225 -0.061680 0
+ L3 26624 0.000000 0.026818 -0.201132 0 0.034863 -0.099225 0
+ L3 26624 0.000000 -0.040226 -0.067044 0 -0.123361 -0.179678 0
+ L3 26624 0.000000 -0.163587 0.069726 0 -0.050953 0.005364 0
+ L3 26624 0.000000 0.085816 0.136770 0 0.032181 0.029499 0
+ L3 26624 0.000000 -0.488832 0.173345 0 -0.620574 0.239216 0
+ L3 26624 0.000000 -0.610173 -0.142143 0 -0.443762 -0.090139 0
+ L3 26624 0.000000 -0.481898 -0.516567 0 -0.332822 -0.471498 0
+ F4 32768 0.000000 4 0
+ -0.450696 0.266951 0
+ -0.364024 0.166411 0
+ -0.211481 0.107474 0
+ -0.308554 0.232282 0
+ F4 32768 0.000000 4 0
+ -0.409094 -0.142143 0
+ -0.221881 -0.159477 0
+ -0.138676 -0.083205 0
+ -0.291219 -0.086672 0
+ F4 32768 0.000000 4 0
+ -0.204547 0.336289 0
+ -0.235749 0.447229 0
+ -0.350156 0.502700 0
+ -0.318954 0.412560 0
+ F4 32768 0.000000 4 0
+ -0.679511 0.003467 0
+ -0.530435 0.038136 0
+ -0.367491 -0.013868 0
+ -0.533902 -0.041603 0
+ F4 32768 0.000000 4 0
+ -0.561637 0.440296 0
+ -0.478431 0.357090 0
+ -0.350156 0.329355 0
+ -0.422961 0.412560 0
+ F4 32768 0.000000 4 0
+ -0.474965 -0.457630 0
+ -0.364024 -0.343223 0
+ -0.235749 -0.294686 0
+ -0.360557 -0.419494 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 2"" Conif-2b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.034170 -0.932234 0
+ -0.269726 -0.761619 0
+ -0.328724 -0.946661 0
+ -0.482359 -0.726067 0
+ -0.881248 -0.829150 0
+ -0.769200 -0.519900 0
+ -1.109116 -0.276221 0
+ -0.937484 -0.099225 0
+ -1.162751 0.000000 0
+ -0.854356 0.094120 0
+ -1.096379 0.363033 0
+ -0.818501 0.371997 0
+ -0.897257 0.702621 0
+ -0.604946 0.573896 0
+ -0.518214 0.923270 0
+ -0.298602 0.609538 0
+ -0.119326 0.950161 0
+ 0.153794 0.594374 0
+ 0.136142 -0.748476 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -0.618501 0.371997 0
+ -0.697257 0.702621 0
+ -0.404946 0.573896 0
+ -0.318214 0.923270 0
+ -0.098602 0.609538 0
+ 0.080674 0.950161 0
+ 0.353794 0.594374 0
+ 0.640940 0.804528 0
+ 0.528306 0.506852 0
+ 0.681643 0.257090 0
+ 0.941297 0.069726 0
+ 0.753574 -0.104589 0
+ 0.930570 -0.356674 0
+ 0.636429 -0.371997 0
+ 0.579260 -0.501489 0
+ 0.571215 -0.791119 0
+ 0.336142 -0.748476 0
+ 0.165830 -0.932234 0
+ -0.069726 -0.761619 0
+ -0.128724 -0.946661 0
+ -0.282359 -0.726067 0
+ -0.681248 -0.829150 0
+ -0.569200 -0.519900 0
+ -0.909116 -0.276221 0
+ -0.737484 -0.099225 0
+ -0.962751 0.000000 0
+ -0.654356 0.094120 0
+ -0.896379 0.363033 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.134088 0.627531 0
+ 0.406011 0.938162 0
+ 0.501489 0.705302 0
+ 0.421036 0.391537 0
+ 0.741069 0.406011 0
+ 0.953930 0.232570 0
+ 0.579260 -0.018772 0
+ 0.922395 -0.394186 0
+ 0.666174 -0.453314 0
+ 0.474671 -0.410309 0
+ 0.463944 -0.657031 0
+ 0.421779 -0.894802 0
+ 0.126043 -0.579260 0
+ -0.104589 -0.611441 0
+ -0.158224 -0.734802 0
+ -0.358709 -0.886918 0
+ -0.356674 -0.469308 0
+ -0.823848 -0.579453 0
+ -0.729244 -0.252279 0
+ -0.437127 -0.069726 0
+ -0.768662 -0.063070 0
+ -0.926337 0.157674 0
+ -0.300357 0.206495 0
+ -0.788372 0.610988 0
+ -0.230631 0.541715 0
+ -0.243042 0.972167 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -0.555124 -0.327175 0 -0.732120 -0.319129 0
+ L3 26624 0.000000 -0.769665 -0.469308 0 -0.648986 -0.439808 0
+ L3 26624 0.000000 -0.246722 -0.791119 0 -0.227949 -0.568533 0
+ L3 26624 0.000000 -0.227949 -0.568533 0 -0.362037 -0.726757 0
+ L3 26624 0.000000 0.319129 -0.799164 0 0.340583 -0.611441 0
+ L3 26624 0.000000 0.340583 -0.611441 0 0.442490 -0.726757 0
+ L3 26624 0.000000 0.766983 -0.412991 0 0.517579 -0.297675 0
+ L3 26624 0.000000 0.517579 -0.297675 0 0.766983 -0.238677 0
+ L3 26624 0.000000 0.697257 0.168951 0 0.509534 0.171633 0
+ L3 26624 0.000000 0.509534 0.171633 0 0.665076 0.380810 0
+ L3 26624 0.000000 0.477353 0.632895 0 0.270858 0.453217 0
+ L3 26624 0.000000 0.270858 0.453217 0 0.276221 0.780392 0
+ L3 26624 0.000000 -0.096543 0.834027 0 -0.099225 0.557806 0
+ L3 26624 0.000000 -0.099225 0.557806 0 -0.233313 0.673121 0
+ L3 26624 0.000000 -0.128724 -0.589987 0 -0.160906 -0.453217 0
+ L3 26624 0.000000 0.217222 -0.624850 0 0.219904 -0.466626 0
+ L3 26624 0.000000 0.418354 -0.536352 0 0.292312 -0.431763 0
+ L3 26624 0.000000 0.485398 -0.410309 0 0.348629 -0.214541 0
+ L3 26624 0.000000 0.627531 -0.112634 0 0.458581 -0.158224 0
+ L3 26624 0.000000 0.643622 0.045590 0 0.364719 0.085816 0
+ L3 26624 0.000000 0.391537 0.198450 0 0.522943 0.386173 0
+ L3 26624 0.000000 0.418354 0.439808 0 0.206495 0.284266 0
+ L3 26624 0.000000 0.166269 0.372764 0 0.112634 0.536352 0
+ L3 26624 0.000000 0.008045 0.533670 0 -0.029499 0.319129 0
+ L3 26624 0.000000 -0.217222 0.485398 0 -0.158224 0.273539 0
+ L3 26624 0.000000 -0.410309 -0.077771 0 -0.214541 0.018772 0
+ L3 26624 0.000000 -0.174314 -0.265494 0 -0.088498 -0.096543 0
+ L3 26624 0.000000 0.134088 -0.396900 0 0.037545 -0.214541 0
+ L3 26624 0.000000 0.257449 -0.292312 0 0.144815 -0.174314 0
+ L3 26624 0.000000 0.356674 -0.077771 0 0.142133 -0.042908 0
+ L3 26624 0.000000 0.230631 0.142133 0 0.099225 0.061680 0
+ L3 26624 0.000000 0.026818 0.201132 0 0.034863 0.099225 0
+ L3 26624 0.000000 -0.040226 0.067044 0 -0.123361 0.179678 0
+ L3 26624 0.000000 -0.163587 -0.069726 0 -0.050953 -0.005364 0
+ L3 26624 0.000000 0.085816 -0.136770 0 0.032181 -0.029499 0
+ L3 26624 0.000000 -0.488832 -0.173345 0 -0.620574 -0.239216 0
+ L3 26624 0.000000 -0.610173 0.142143 0 -0.443762 0.090139 0
+ L3 26624 0.000000 -0.481898 0.516567 0 -0.332822 0.471498 0
+ F4 32768 0.000000 4 0
+ -0.450696 -0.266951 0
+ -0.364024 -0.166411 0
+ -0.211481 -0.107474 0
+ -0.308554 -0.232282 0
+ F4 32768 0.000000 4 0
+ -0.409094 0.142143 0
+ -0.221881 0.159477 0
+ -0.138676 0.083205 0
+ -0.291219 0.086672 0
+ F4 32768 0.000000 4 0
+ -0.204547 -0.336289 0
+ -0.235749 -0.447229 0
+ -0.350156 -0.502700 0
+ -0.318954 -0.412560 0
+ F4 32768 0.000000 4 0
+ -0.679511 -0.003467 0
+ -0.530435 -0.038136 0
+ -0.367491 0.013868 0
+ -0.533902 0.041603 0
+ F4 32768 0.000000 4 0
+ -0.561637 -0.440296 0
+ -0.478431 -0.357090 0
+ -0.350156 -0.329355 0
+ -0.422961 -0.412560 0
+ F4 32768 0.000000 4 0
+ -0.474965 0.457630 0
+ -0.364024 0.343223 0
+ -0.235749 0.294686 0
+ -0.360557 0.419494 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 3"" Conif-3a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.404589 1.142429 0
+ -0.051255 1.398351 0
+ 0.204213 1.122714 0
+ 0.230691 -0.891561 0
+ -0.178989 -1.425242 0
+ -0.447902 -0.914306 0
+ -0.777322 -1.384905 0
+ -0.907418 -0.860844 0
+ -1.345886 -1.053931 0
+ -1.227752 -0.557996 0
+ -1.644568 -0.544550 0
+ -1.281535 -0.141180 0
+ -1.744127 0.000000 0
+ -1.406225 0.148838 0
+ -1.663674 0.414332 0
+ -1.153801 0.779849 0
+ -1.321872 1.243725 0
+ -0.723539 1.089100 0
+ -0.493087 1.419991 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -0.927752 -0.557996 0
+ -1.045886 -1.053931 0
+ -0.607418 -0.860844 0
+ -0.477322 -1.384905 0
+ -0.147902 -0.914306 0
+ 0.121011 -1.425242 0
+ 0.530691 -0.891561 0
+ 0.961410 -1.206791 0
+ 0.792460 -0.760279 0
+ 1.022465 -0.385635 0
+ 1.411946 -0.104589 0
+ 1.130361 0.156883 0
+ 1.395855 0.535011 0
+ 0.954643 0.557996 0
+ 0.868890 0.752233 0
+ 0.856822 1.186678 0
+ 0.504213 1.122714 0
+ 0.248745 1.398351 0
+ -0.104589 1.142429 0
+ -0.193087 1.419991 0
+ -0.423539 1.089100 0
+ -1.021872 1.243725 0
+ -0.853801 0.779849 0
+ -1.363674 0.414332 0
+ -1.106225 0.148838 0
+ -1.444127 0.000000 0
+ -0.981535 -0.141180 0
+ -1.344568 -0.544550 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.201132 -0.941297 0
+ 0.609017 -1.407244 0
+ 0.752233 -1.057954 0
+ 0.631554 -0.587305 0
+ 1.111604 -0.609017 0
+ 1.430895 -0.348855 0
+ 0.868890 0.028158 0
+ 1.383592 0.591279 0
+ 0.999261 0.679971 0
+ 0.712007 0.615464 0
+ 0.695916 0.985546 0
+ 0.632668 1.342203 0
+ 0.189064 0.868890 0
+ -0.156883 0.917161 0
+ -0.237336 1.102203 0
+ -0.538064 1.330377 0
+ -0.535011 0.703962 0
+ -1.235773 0.869180 0
+ -1.093866 0.378418 0
+ -0.655690 0.104589 0
+ -1.152994 0.094605 0
+ -1.389505 -0.236512 0
+ -0.450535 -0.309743 0
+ -1.182558 -0.916482 0
+ -0.345947 -0.812573 0
+ -0.364562 -1.458250 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -0.832686 0.490762 0 -1.098180 0.478694 0
+ L3 26624 0.000000 -1.154497 0.703962 0 -0.973478 0.659713 0
+ L3 26624 0.000000 -0.370083 1.186678 0 -0.341924 0.852799 0
+ L3 26624 0.000000 -0.341924 0.852799 0 -0.543056 1.090135 0
+ L3 26624 0.000000 0.478694 1.198746 0 0.510875 0.917161 0
+ L3 26624 0.000000 0.510875 0.917161 0 0.663735 1.090135 0
+ L3 26624 0.000000 1.150474 0.619486 0 0.776369 0.446513 0
+ L3 26624 0.000000 0.776369 0.446513 0 1.150474 0.358015 0
+ L3 26624 0.000000 1.045886 -0.253426 0 0.764301 -0.257449 0
+ L3 26624 0.000000 0.764301 -0.257449 0 0.997614 -0.571215 0
+ L3 26624 0.000000 0.716030 -0.949343 0 0.406286 -0.679826 0
+ L3 26624 0.000000 0.406286 -0.679826 0 0.414332 -1.170588 0
+ L3 26624 0.000000 -0.144815 -1.251040 0 -0.148838 -0.836709 0
+ L3 26624 0.000000 -0.148838 -0.836709 0 -0.349969 -1.009682 0
+ L3 26624 0.000000 -0.193087 0.884980 0 -0.241358 0.679826 0
+ L3 26624 0.000000 0.325834 0.937275 0 0.329856 0.699939 0
+ L3 26624 0.000000 0.627531 0.804528 0 0.438468 0.647645 0
+ L3 26624 0.000000 0.728097 0.615464 0 0.522943 0.321811 0
+ L3 26624 0.000000 0.941297 0.168951 0 0.687871 0.237336 0
+ L3 26624 0.000000 0.965433 -0.068385 0 0.547079 -0.128724 0
+ L3 26624 0.000000 0.587305 -0.297675 0 0.784414 -0.579260 0
+ L3 26624 0.000000 0.627531 -0.659713 0 0.309743 -0.426400 0
+ L3 26624 0.000000 0.249404 -0.559147 0 0.168951 -0.804528 0
+ L3 26624 0.000000 0.012068 -0.800505 0 -0.044249 -0.478694 0
+ L3 26624 0.000000 -0.325834 -0.728097 0 -0.237336 -0.410309 0
+ L3 26624 0.000000 -0.615464 0.116656 0 -0.321811 -0.028158 0
+ L3 26624 0.000000 -0.261471 0.398241 0 -0.132747 0.144815 0
+ L3 26624 0.000000 0.201132 0.595350 0 0.056317 0.321811 0
+ L3 26624 0.000000 0.386173 0.438468 0 0.217222 0.261471 0
+ L3 26624 0.000000 0.535011 0.116656 0 0.213200 0.064362 0
+ L3 26624 0.000000 0.345947 -0.213200 0 0.148838 -0.092521 0
+ L3 26624 0.000000 0.040226 -0.301698 0 0.052294 -0.148838 0
+ L3 26624 0.000000 -0.060340 -0.100566 0 -0.185041 -0.269517 0
+ L3 26624 0.000000 -0.245381 0.104589 0 -0.076430 0.008045 0
+ L3 26624 0.000000 0.128724 0.205155 0 0.048272 0.044249 0
+ L3 26624 0.000000 -0.733248 0.260017 0 -0.930861 0.358824 0
+ L3 26624 0.000000 -0.915260 -0.213214 0 -0.665644 -0.135209 0
+ L3 26624 0.000000 -0.722847 -0.774851 0 -0.499233 -0.707246 0
+ F4 32768 0.000000 4 0
+ -0.676044 0.400426 0
+ -0.546036 0.249616 0
+ -0.317221 0.161211 0
+ -0.462830 0.348423 0
+ F4 32768 0.000000 4 0
+ -0.613640 -0.213214 0
+ -0.332822 -0.239216 0
+ -0.208014 -0.124808 0
+ -0.436829 -0.130009 0
+ F4 32768 0.000000 4 0
+ -0.306820 0.504433 0
+ -0.353623 0.670844 0
+ -0.525234 0.754050 0
+ -0.478431 0.618841 0
+ F4 32768 0.000000 4 0
+ -1.019267 0.005200 0
+ -0.795652 0.057204 0
+ -0.551236 -0.020801 0
+ -0.800853 -0.062404 0
+ F4 32768 0.000000 4 0
+ -0.842455 0.660443 0
+ -0.717647 0.535635 0
+ -0.525234 0.494032 0
+ -0.634442 0.618841 0
+ F4 32768 0.000000 4 0
+ -0.712447 -0.686445 0
+ -0.546036 -0.514834 0
+ -0.353623 -0.442029 0
+ -0.540836 -0.629241 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 3"" Conif-3b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.051255 -1.398351 0
+ -0.404589 -1.142429 0
+ -0.493087 -1.419991 0
+ -0.723539 -1.089100 0
+ -1.321872 -1.243725 0
+ -1.153801 -0.779849 0
+ -1.663674 -0.414332 0
+ -1.406225 -0.148838 0
+ -1.744127 0.000000 0
+ -1.281535 0.141180 0
+ -1.644568 0.544550 0
+ -1.227752 0.557996 0
+ -1.345886 1.053931 0
+ -0.907418 0.860844 0
+ -0.777322 1.384905 0
+ -0.447902 0.914306 0
+ -0.178989 1.425242 0
+ 0.230691 0.891561 0
+ 0.204213 -1.122714 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -0.927752 0.557996 0
+ -1.045886 1.053931 0
+ -0.607418 0.860844 0
+ -0.477322 1.384905 0
+ -0.147902 0.914306 0
+ 0.121011 1.425242 0
+ 0.530691 0.891561 0
+ 0.961410 1.206791 0
+ 0.792460 0.760279 0
+ 1.022465 0.385635 0
+ 1.411946 0.104589 0
+ 1.130361 -0.156883 0
+ 1.395855 -0.535011 0
+ 0.954643 -0.557996 0
+ 0.868890 -0.752233 0
+ 0.856822 -1.186678 0
+ 0.504213 -1.122714 0
+ 0.248745 -1.398351 0
+ -0.104589 -1.142429 0
+ -0.193087 -1.419991 0
+ -0.423539 -1.089100 0
+ -1.021872 -1.243725 0
+ -0.853801 -0.779849 0
+ -1.363674 -0.414332 0
+ -1.106225 -0.148838 0
+ -1.444127 0.000000 0
+ -0.981535 0.141180 0
+ -1.344568 0.544550 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.201132 0.941297 0
+ 0.609017 1.407244 0
+ 0.752233 1.057954 0
+ 0.631554 0.587305 0
+ 1.111604 0.609017 0
+ 1.430895 0.348855 0
+ 0.868890 -0.028158 0
+ 1.383592 -0.591279 0
+ 0.999261 -0.679971 0
+ 0.712007 -0.615464 0
+ 0.695916 -0.985546 0
+ 0.632668 -1.342203 0
+ 0.189064 -0.868890 0
+ -0.156883 -0.917161 0
+ -0.237336 -1.102203 0
+ -0.538064 -1.330377 0
+ -0.535011 -0.703962 0
+ -1.235773 -0.869180 0
+ -1.093866 -0.378418 0
+ -0.655690 -0.104589 0
+ -1.152994 -0.094605 0
+ -1.389505 0.236512 0
+ -0.450535 0.309743 0
+ -1.182558 0.916482 0
+ -0.345947 0.812573 0
+ -0.364562 1.458250 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -0.832686 -0.490762 0 -1.098180 -0.478694 0
+ L3 26624 0.000000 -1.154497 -0.703962 0 -0.973478 -0.659713 0
+ L3 26624 0.000000 -0.370083 -1.186678 0 -0.341924 -0.852799 0
+ L3 26624 0.000000 -0.341924 -0.852799 0 -0.543056 -1.090135 0
+ L3 26624 0.000000 0.478694 -1.198746 0 0.510875 -0.917161 0
+ L3 26624 0.000000 0.510875 -0.917161 0 0.663735 -1.090135 0
+ L3 26624 0.000000 1.150474 -0.619486 0 0.776369 -0.446513 0
+ L3 26624 0.000000 0.776369 -0.446513 0 1.150474 -0.358015 0
+ L3 26624 0.000000 1.045886 0.253426 0 0.764301 0.257449 0
+ L3 26624 0.000000 0.764301 0.257449 0 0.997614 0.571215 0
+ L3 26624 0.000000 0.716030 0.949343 0 0.406286 0.679826 0
+ L3 26624 0.000000 0.406286 0.679826 0 0.414332 1.170588 0
+ L3 26624 0.000000 -0.144815 1.251040 0 -0.148838 0.836709 0
+ L3 26624 0.000000 -0.148838 0.836709 0 -0.349969 1.009682 0
+ L3 26624 0.000000 -0.193087 -0.884980 0 -0.241358 -0.679826 0
+ L3 26624 0.000000 0.325834 -0.937275 0 0.329856 -0.699939 0
+ L3 26624 0.000000 0.627531 -0.804528 0 0.438468 -0.647645 0
+ L3 26624 0.000000 0.728097 -0.615464 0 0.522943 -0.321811 0
+ L3 26624 0.000000 0.941297 -0.168951 0 0.687871 -0.237336 0
+ L3 26624 0.000000 0.965433 0.068385 0 0.547079 0.128724 0
+ L3 26624 0.000000 0.587305 0.297675 0 0.784414 0.579260 0
+ L3 26624 0.000000 0.627531 0.659713 0 0.309743 0.426400 0
+ L3 26624 0.000000 0.249404 0.559147 0 0.168951 0.804528 0
+ L3 26624 0.000000 0.012068 0.800505 0 -0.044249 0.478694 0
+ L3 26624 0.000000 -0.325834 0.728097 0 -0.237336 0.410309 0
+ L3 26624 0.000000 -0.615464 -0.116656 0 -0.321811 0.028158 0
+ L3 26624 0.000000 -0.261471 -0.398241 0 -0.132747 -0.144815 0
+ L3 26624 0.000000 0.201132 -0.595350 0 0.056317 -0.321811 0
+ L3 26624 0.000000 0.386173 -0.438468 0 0.217222 -0.261471 0
+ L3 26624 0.000000 0.535011 -0.116656 0 0.213200 -0.064362 0
+ L3 26624 0.000000 0.345947 0.213200 0 0.148838 0.092521 0
+ L3 26624 0.000000 0.040226 0.301698 0 0.052294 0.148838 0
+ L3 26624 0.000000 -0.060340 0.100566 0 -0.185041 0.269517 0
+ L3 26624 0.000000 -0.245381 -0.104589 0 -0.076430 -0.008045 0
+ L3 26624 0.000000 0.128724 -0.205155 0 0.048272 -0.044249 0
+ L3 26624 0.000000 -0.733248 -0.260017 0 -0.930861 -0.358824 0
+ L3 26624 0.000000 -0.915260 0.213214 0 -0.665644 0.135209 0
+ L3 26624 0.000000 -0.722847 0.774851 0 -0.499233 0.707246 0
+ F4 32768 0.000000 4 0
+ -0.676044 -0.400426 0
+ -0.546036 -0.249616 0
+ -0.317221 -0.161211 0
+ -0.462830 -0.348423 0
+ F4 32768 0.000000 4 0
+ -0.613640 0.213214 0
+ -0.332822 0.239216 0
+ -0.208014 0.124808 0
+ -0.436829 0.130009 0
+ F4 32768 0.000000 4 0
+ -0.306820 -0.504433 0
+ -0.353623 -0.670844 0
+ -0.525234 -0.754050 0
+ -0.478431 -0.618841 0
+ F4 32768 0.000000 4 0
+ -1.019267 -0.005200 0
+ -0.795652 -0.057204 0
+ -0.551236 0.020801 0
+ -0.800853 0.062404 0
+ F4 32768 0.000000 4 0
+ -0.842455 -0.660443 0
+ -0.717647 -0.535635 0
+ -0.525234 -0.494032 0
+ -0.634442 -0.618841 0
+ F4 32768 0.000000 4 0
+ -0.712447 0.686445 0
+ -0.546036 0.514834 0
+ -0.353623 0.442029 0
+ -0.540836 0.629241 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 4"" Conif-4a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.539451 1.523239 0
+ -0.068340 1.864468 0
+ 0.272284 1.496952 0
+ 0.307588 -1.188748 0
+ -0.238652 -1.900323 0
+ -0.597203 -1.219075 0
+ -1.036429 -1.846540 0
+ -1.209891 -1.147793 0
+ -1.794514 -1.405241 0
+ -1.637003 -0.743994 0
+ -2.192757 -0.726067 0
+ -1.708713 -0.188240 0
+ -2.325503 0.000000 0
+ -1.874967 0.198450 0
+ -2.218232 0.552442 0
+ -1.538401 1.039799 0
+ -1.762496 1.658301 0
+ -0.964719 1.452133 0
+ -0.657449 1.893322 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -1.237003 -0.743994 0
+ -1.394514 -1.405241 0
+ -0.809891 -1.147793 0
+ -0.636429 -1.846540 0
+ -0.197203 -1.219075 0
+ 0.161348 -1.900323 0
+ 0.707588 -1.188748 0
+ 1.281881 -1.609055 0
+ 1.056613 -1.013705 0
+ 1.363286 -0.514181 0
+ 1.882594 -0.139451 0
+ 1.507148 0.209177 0
+ 1.861140 0.713348 0
+ 1.272858 0.743994 0
+ 1.158520 1.002978 0
+ 1.142429 1.582238 0
+ 0.672284 1.496952 0
+ 0.331660 1.864468 0
+ -0.139451 1.523239 0
+ -0.257449 1.893322 0
+ -0.564719 1.452133 0
+ -1.362496 1.658301 0
+ -1.138401 1.039799 0
+ -1.818232 0.552442 0
+ -1.474967 0.198450 0
+ -1.925503 0.000000 0
+ -1.308713 -0.188240 0
+ -1.792757 -0.726067 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.268176 -1.255063 0
+ 0.812023 -1.876325 0
+ 1.002978 -1.410605 0
+ 0.842072 -0.783073 0
+ 1.482139 -0.812023 0
+ 1.907860 -0.465139 0
+ 1.158520 0.037545 0
+ 1.844790 0.788372 0
+ 1.332348 0.906628 0
+ 0.949343 0.820618 0
+ 0.927888 1.314062 0
+ 0.843558 1.789604 0
+ 0.252085 1.158520 0
+ -0.209177 1.222882 0
+ -0.316448 1.469604 0
+ -0.717418 1.773836 0
+ -0.713348 0.938615 0
+ -1.647697 1.158906 0
+ -1.458488 0.504558 0
+ -0.874253 0.139451 0
+ -1.537325 0.126139 0
+ -1.852674 -0.315349 0
+ -0.600714 -0.412991 0
+ -1.576744 -1.221976 0
+ -0.461262 -1.083430 0
+ -0.486083 -1.944333 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -1.110248 0.654349 0 -1.464240 0.638259 0
+ L3 26624 0.000000 -1.539329 0.938615 0 -1.297971 0.879617 0
+ L3 26624 0.000000 -0.493444 1.582238 0 -0.455899 1.137066 0
+ L3 26624 0.000000 -0.455899 1.137066 0 -0.724075 1.453513 0
+ L3 26624 0.000000 0.638259 1.598328 0 0.681167 1.222882 0
+ L3 26624 0.000000 0.681167 1.222882 0 0.884980 1.453513 0
+ L3 26624 0.000000 1.533966 0.825982 0 1.035159 0.595350 0
+ L3 26624 0.000000 1.035159 0.595350 0 1.533966 0.477353 0
+ L3 26624 0.000000 1.394514 -0.337902 0 1.019068 -0.343265 0
+ L3 26624 0.000000 1.019068 -0.343265 0 1.330152 -0.761619 0
+ L3 26624 0.000000 0.954706 -1.265790 0 0.541715 -0.906434 0
+ L3 26624 0.000000 0.541715 -0.906434 0 0.552442 -1.560783 0
+ L3 26624 0.000000 -0.193087 -1.668054 0 -0.198450 -1.115612 0
+ L3 26624 0.000000 -0.198450 -1.115612 0 -0.466626 -1.346243 0
+ L3 26624 0.000000 -0.257449 1.179974 0 -0.321811 0.906434 0
+ L3 26624 0.000000 0.434445 1.249699 0 0.439808 0.933252 0
+ L3 26624 0.000000 0.836709 1.072703 0 0.584623 0.863526 0
+ L3 26624 0.000000 0.970797 0.820618 0 0.697257 0.429081 0
+ L3 26624 0.000000 1.255063 0.225268 0 0.917161 0.316448 0
+ L3 26624 0.000000 1.287244 -0.091180 0 0.729438 -0.171633 0
+ L3 26624 0.000000 0.783073 -0.396900 0 1.045886 -0.772346 0
+ L3 26624 0.000000 0.836709 -0.879617 0 0.412991 -0.568533 0
+ L3 26624 0.000000 0.332538 -0.745529 0 0.225268 -1.072703 0
+ L3 26624 0.000000 0.016091 -1.067340 0 -0.058999 -0.638259 0
+ L3 26624 0.000000 -0.434445 -0.970797 0 -0.316448 -0.547079 0
+ L3 26624 0.000000 -0.820618 0.155542 0 -0.429081 -0.037545 0
+ L3 26624 0.000000 -0.348629 0.530988 0 -0.176996 0.193087 0
+ L3 26624 0.000000 0.268176 0.793801 0 0.075089 0.429081 0
+ L3 26624 0.000000 0.514898 0.584623 0 0.289630 0.348629 0
+ L3 26624 0.000000 0.713348 0.155542 0 0.284266 0.085816 0
+ L3 26624 0.000000 0.461262 -0.284266 0 0.198450 -0.123361 0
+ L3 26624 0.000000 0.053635 -0.402264 0 0.069726 -0.198450 0
+ L3 26624 0.000000 -0.080453 -0.134088 0 -0.246722 -0.359356 0
+ L3 26624 0.000000 -0.327175 0.139451 0 -0.101907 0.010727 0
+ L3 26624 0.000000 0.171633 0.273539 0 0.064362 0.058999 0
+ L3 26624 0.000000 -0.977664 0.346689 0 -1.241148 0.478431 0
+ L3 26624 0.000000 -1.220347 -0.284285 0 -0.887525 -0.180279 0
+ L3 26624 0.000000 -0.963797 -1.033135 0 -0.665644 -0.942995 0
+ F4 32768 0.000000 4 0
+ -0.901393 0.533902 0
+ -0.728048 0.332822 0
+ -0.422961 0.214947 0
+ -0.617107 0.464564 0
+ F4 32768 0.000000 4 0
+ -0.818187 -0.284285 0
+ -0.443762 -0.318954 0
+ -0.277352 -0.166411 0
+ -0.582438 -0.173345 0
+ F4 32768 0.000000 4 0
+ -0.409094 0.672577 0
+ -0.471498 0.894459 0
+ -0.700313 1.005399 0
+ -0.637909 0.825121 0
+ F4 32768 0.000000 4 0
+ -1.359023 0.006934 0
+ -1.060870 0.076272 0
+ -0.734982 -0.027735 0
+ -1.067803 -0.083205 0
+ F4 32768 0.000000 4 0
+ -1.123274 0.880591 0
+ -0.956863 0.714180 0
+ -0.700313 0.658710 0
+ -0.845922 0.825121 0
+ F4 32768 0.000000 4 0
+ -0.949929 -0.915260 0
+ -0.728048 -0.686445 0
+ -0.471498 -0.589372 0
+ -0.721114 -0.838988 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 4"" Conif-4b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.068340 -1.864468 0
+ -0.539451 -1.523239 0
+ -0.657449 -1.893322 0
+ -0.964719 -1.452133 0
+ -1.762496 -1.658301 0
+ -1.538401 -1.039799 0
+ -2.218232 -0.552442 0
+ -1.874967 -0.198450 0
+ -2.325503 0.000000 0
+ -1.708713 0.188240 0
+ -2.192757 0.726067 0
+ -1.637003 0.743994 0
+ -1.794514 1.405241 0
+ -1.209891 1.147793 0
+ -1.036429 1.846540 0
+ -0.597203 1.219075 0
+ -0.238652 1.900323 0
+ 0.307588 1.188748 0
+ 0.272284 -1.496952 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -1.237003 0.743994 0
+ -1.394514 1.405241 0
+ -0.809891 1.147793 0
+ -0.636429 1.846540 0
+ -0.197203 1.219075 0
+ 0.161348 1.900323 0
+ 0.707588 1.188748 0
+ 1.281881 1.609055 0
+ 1.056613 1.013705 0
+ 1.363286 0.514181 0
+ 1.882594 0.139451 0
+ 1.507148 -0.209177 0
+ 1.861140 -0.713348 0
+ 1.272858 -0.743994 0
+ 1.158520 -1.002978 0
+ 1.142429 -1.582238 0
+ 0.672284 -1.496952 0
+ 0.331660 -1.864468 0
+ -0.139451 -1.523239 0
+ -0.257449 -1.893322 0
+ -0.564719 -1.452133 0
+ -1.362496 -1.658301 0
+ -1.138401 -1.039799 0
+ -1.818232 -0.552442 0
+ -1.474967 -0.198450 0
+ -1.925503 0.000000 0
+ -1.308713 0.188240 0
+ -1.792757 0.726067 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.268176 1.255063 0
+ 0.812023 1.876325 0
+ 1.002978 1.410605 0
+ 0.842072 0.783073 0
+ 1.482139 0.812023 0
+ 1.907860 0.465139 0
+ 1.158520 -0.037545 0
+ 1.844790 -0.788372 0
+ 1.332348 -0.906628 0
+ 0.949343 -0.820618 0
+ 0.927888 -1.314062 0
+ 0.843558 -1.789604 0
+ 0.252085 -1.158520 0
+ -0.209177 -1.222882 0
+ -0.316448 -1.469604 0
+ -0.717418 -1.773836 0
+ -0.713348 -0.938615 0
+ -1.647697 -1.158906 0
+ -1.458488 -0.504558 0
+ -0.874253 -0.139451 0
+ -1.537325 -0.126139 0
+ -1.852674 0.315349 0
+ -0.600714 0.412991 0
+ -1.576744 1.221976 0
+ -0.461262 1.083430 0
+ -0.486083 1.944333 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -1.110248 -0.654349 0 -1.464240 -0.638259 0
+ L3 26624 0.000000 -1.539329 -0.938615 0 -1.297971 -0.879617 0
+ L3 26624 0.000000 -0.493444 -1.582238 0 -0.455899 -1.137066 0
+ L3 26624 0.000000 -0.455899 -1.137066 0 -0.724075 -1.453513 0
+ L3 26624 0.000000 0.638259 -1.598328 0 0.681167 -1.222882 0
+ L3 26624 0.000000 0.681167 -1.222882 0 0.884980 -1.453513 0
+ L3 26624 0.000000 1.533966 -0.825982 0 1.035159 -0.595350 0
+ L3 26624 0.000000 1.035159 -0.595350 0 1.533966 -0.477353 0
+ L3 26624 0.000000 1.394514 0.337902 0 1.019068 0.343265 0
+ L3 26624 0.000000 1.019068 0.343265 0 1.330152 0.761619 0
+ L3 26624 0.000000 0.954706 1.265790 0 0.541715 0.906434 0
+ L3 26624 0.000000 0.541715 0.906434 0 0.552442 1.560783 0
+ L3 26624 0.000000 -0.193087 1.668054 0 -0.198450 1.115612 0
+ L3 26624 0.000000 -0.198450 1.115612 0 -0.466626 1.346243 0
+ L3 26624 0.000000 -0.257449 -1.179974 0 -0.321811 -0.906434 0
+ L3 26624 0.000000 0.434445 -1.249699 0 0.439808 -0.933252 0
+ L3 26624 0.000000 0.836709 -1.072703 0 0.584623 -0.863526 0
+ L3 26624 0.000000 0.970797 -0.820618 0 0.697257 -0.429081 0
+ L3 26624 0.000000 1.255063 -0.225268 0 0.917161 -0.316448 0
+ L3 26624 0.000000 1.287244 0.091180 0 0.729438 0.171633 0
+ L3 26624 0.000000 0.783073 0.396900 0 1.045886 0.772346 0
+ L3 26624 0.000000 0.836709 0.879617 0 0.412991 0.568533 0
+ L3 26624 0.000000 0.332538 0.745529 0 0.225268 1.072703 0
+ L3 26624 0.000000 0.016091 1.067340 0 -0.058999 0.638259 0
+ L3 26624 0.000000 -0.434445 0.970797 0 -0.316448 0.547079 0
+ L3 26624 0.000000 -0.820618 -0.155542 0 -0.429081 0.037545 0
+ L3 26624 0.000000 -0.348629 -0.530988 0 -0.176996 -0.193087 0
+ L3 26624 0.000000 0.268176 -0.793801 0 0.075089 -0.429081 0
+ L3 26624 0.000000 0.514898 -0.584623 0 0.289630 -0.348629 0
+ L3 26624 0.000000 0.713348 -0.155542 0 0.284266 -0.085816 0
+ L3 26624 0.000000 0.461262 0.284266 0 0.198450 0.123361 0
+ L3 26624 0.000000 0.053635 0.402264 0 0.069726 0.198450 0
+ L3 26624 0.000000 -0.080453 0.134088 0 -0.246722 0.359356 0
+ L3 26624 0.000000 -0.327175 -0.139451 0 -0.101907 -0.010727 0
+ L3 26624 0.000000 0.171633 -0.273539 0 0.064362 -0.058999 0
+ L3 26624 0.000000 -0.977664 -0.346689 0 -1.241148 -0.478431 0
+ L3 26624 0.000000 -1.220347 0.284285 0 -0.887525 0.180279 0
+ L3 26624 0.000000 -0.963797 1.033135 0 -0.665644 0.942995 0
+ F4 32768 0.000000 4 0
+ -0.901393 -0.533902 0
+ -0.728048 -0.332822 0
+ -0.422961 -0.214947 0
+ -0.617107 -0.464564 0
+ F4 32768 0.000000 4 0
+ -0.818187 0.284285 0
+ -0.443762 0.318954 0
+ -0.277352 0.166411 0
+ -0.582438 0.173345 0
+ F4 32768 0.000000 4 0
+ -0.409094 -0.672577 0
+ -0.471498 -0.894459 0
+ -0.700313 -1.005399 0
+ -0.637909 -0.825121 0
+ F4 32768 0.000000 4 0
+ -1.359023 -0.006934 0
+ -1.060870 -0.076272 0
+ -0.734982 0.027735 0
+ -1.067803 0.083205 0
+ F4 32768 0.000000 4 0
+ -1.123274 -0.880591 0
+ -0.956863 -0.714180 0
+ -0.700313 -0.658710 0
+ -0.845922 -0.825121 0
+ F4 32768 0.000000 4 0
+ -0.949929 0.915260 0
+ -0.728048 0.686445 0
+ -0.471498 0.589372 0
+ -0.721114 0.838988 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 5"" Conif-5a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.674314 1.904049 0
+ -0.085425 2.330585 0
+ 0.340355 1.871191 0
+ 0.384485 -1.485935 0
+ -0.298315 -2.375404 0
+ -0.746504 -1.523844 0
+ -1.295536 -2.308175 0
+ -1.512364 -1.434741 0
+ -2.243143 -1.756552 0
+ -2.046253 -0.929993 0
+ -2.740947 -0.907583 0
+ -2.135891 -0.235299 0
+ -2.906878 0.000000 0
+ -2.343709 0.248063 0
+ -2.772790 0.690553 0
+ -1.923001 1.299749 0
+ -2.203120 2.072876 0
+ -1.205898 1.815167 0
+ -0.821811 2.366652 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -1.546253 -0.929993 0
+ -1.743143 -1.756552 0
+ -1.012364 -1.434741 0
+ -0.795536 -2.308175 0
+ -0.246504 -1.523844 0
+ 0.201685 -2.375404 0
+ 0.884485 -1.485935 0
+ 1.602351 -2.011319 0
+ 1.320766 -1.267131 0
+ 1.704108 -0.642726 0
+ 2.353243 -0.174314 0
+ 1.883935 0.261471 0
+ 2.326426 0.891685 0
+ 1.591072 0.929993 0
+ 1.448150 1.253722 0
+ 1.428036 1.977797 0
+ 0.840355 1.871191 0
+ 0.414575 2.330585 0
+ -0.174314 1.904049 0
+ -0.321811 2.366652 0
+ -0.705898 1.815167 0
+ -1.703120 2.072876 0
+ -1.423001 1.299749 0
+ -2.272790 0.690553 0
+ -1.843709 0.248063 0
+ -2.406878 0.000000 0
+ -1.635891 -0.235299 0
+ -2.240947 -0.907583 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.335220 -1.568829 0
+ 1.015029 -2.345406 0
+ 1.253722 -1.763256 0
+ 1.052590 -0.978842 0
+ 1.852674 -1.015029 0
+ 2.384825 -0.581424 0
+ 1.448150 0.046931 0
+ 2.305987 0.985465 0
+ 1.665435 1.133284 0
+ 1.186678 1.025773 0
+ 1.159861 1.642577 0
+ 1.054447 2.237005 0
+ 0.315107 1.448150 0
+ -0.261471 1.528602 0
+ -0.395559 1.837005 0
+ -0.896773 2.217296 0
+ -0.891685 1.173269 0
+ -2.059621 1.448633 0
+ -1.823110 0.630697 0
+ -1.092817 0.174314 0
+ -1.921656 0.157674 0
+ -2.315842 -0.394186 0
+ -0.750892 -0.516239 0
+ -1.970929 -1.527470 0
+ -0.576578 -1.354288 0
+ -0.607604 -2.430417 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -1.387810 0.817936 0 -1.830300 0.797823 0
+ L3 26624 0.000000 -1.924162 1.173269 0 -1.622464 1.099521 0
+ L3 26624 0.000000 -0.616804 1.977797 0 -0.569874 1.421332 0
+ L3 26624 0.000000 -0.569874 1.421332 0 -0.905094 1.816891 0
+ L3 26624 0.000000 0.797823 1.997910 0 0.851458 1.528602 0
+ L3 26624 0.000000 0.851458 1.528602 0 1.106225 1.816891 0
+ L3 26624 0.000000 1.917457 1.032477 0 1.293948 0.744188 0
+ L3 26624 0.000000 1.293948 0.744188 0 1.917457 0.596691 0
+ L3 26624 0.000000 1.743143 -0.422377 0 1.273835 -0.429081 0
+ L3 26624 0.000000 1.273835 -0.429081 0 1.662690 -0.952024 0
+ L3 26624 0.000000 1.193383 -1.582238 0 0.677144 -1.133043 0
+ L3 26624 0.000000 0.677144 -1.133043 0 0.690553 -1.950979 0
+ L3 26624 0.000000 -0.241358 -2.085067 0 -0.248063 -1.394514 0
+ L3 26624 0.000000 -0.248063 -1.394514 0 -0.583282 -1.682803 0
+ L3 26624 0.000000 -0.321811 1.474967 0 -0.402264 1.133043 0
+ L3 26624 0.000000 0.543056 1.562124 0 0.549761 1.166565 0
+ L3 26624 0.000000 1.045886 1.340879 0 0.730779 1.079408 0
+ L3 26624 0.000000 1.213496 1.025773 0 0.871572 0.536352 0
+ L3 26624 0.000000 1.568829 0.281585 0 1.146452 0.395559 0
+ L3 26624 0.000000 1.609055 -0.113975 0 0.911798 -0.214541 0
+ L3 26624 0.000000 0.978842 -0.496125 0 1.307357 -0.965433 0
+ L3 26624 0.000000 1.045886 -1.099521 0 0.516239 -0.710666 0
+ L3 26624 0.000000 0.415673 -0.931911 0 0.281585 -1.340879 0
+ L3 26624 0.000000 0.020113 -1.334175 0 -0.073748 -0.797823 0
+ L3 26624 0.000000 -0.543056 -1.213496 0 -0.395559 -0.683848 0
+ L3 26624 0.000000 -1.025773 0.194427 0 -0.536352 -0.046931 0
+ L3 26624 0.000000 -0.435786 0.663735 0 -0.221245 0.241358 0
+ L3 26624 0.000000 0.335220 0.992251 0 0.093862 0.536352 0
+ L3 26624 0.000000 0.643622 0.730779 0 0.362037 0.435786 0
+ L3 26624 0.000000 0.891685 0.194427 0 0.355333 0.107270 0
+ L3 26624 0.000000 0.576578 -0.355333 0 0.248063 -0.154201 0
+ L3 26624 0.000000 0.067044 -0.502830 0 0.087157 -0.248063 0
+ L3 26624 0.000000 -0.100566 -0.167610 0 -0.308402 -0.449195 0
+ L3 26624 0.000000 -0.408968 0.174314 0 -0.127384 0.013409 0
+ L3 26624 0.000000 0.214541 0.341924 0 0.080453 0.073748 0
+ L3 26624 0.000000 -1.222080 0.433362 0 -1.551435 0.598039 0
+ L3 26624 0.000000 -1.525433 -0.355357 0 -1.109406 -0.225348 0
+ L3 26624 0.000000 -1.204746 -1.291418 0 -0.832055 -1.178744 0
+ F4 32768 0.000000 4 0
+ -1.126741 0.667377 0
+ -0.910060 0.416027 0
+ -0.528701 0.268684 0
+ -0.771384 0.580705 0
+ F4 32768 0.000000 4 0
+ -1.022734 -0.355357 0
+ -0.554703 -0.398693 0
+ -0.346689 -0.208014 0
+ -0.728048 -0.216681 0
+ F4 32768 0.000000 4 0
+ -0.511367 0.840722 0
+ -0.589372 1.118073 0
+ -0.875391 1.256749 0
+ -0.797386 1.031401 0
+ F4 32768 0.000000 4 0
+ -1.698778 0.008667 0
+ -1.326087 0.095340 0
+ -0.918727 -0.034669 0
+ -1.334754 -0.104007 0
+ F4 32768 0.000000 4 0
+ -1.404092 1.100739 0
+ -1.196079 0.892725 0
+ -0.875391 0.823387 0
+ -1.057403 1.031401 0
+ F4 32768 0.000000 4 0
+ -1.187411 -1.144075 0
+ -0.910060 -0.858056 0
+ -0.589372 -0.736715 0
+ -0.901393 -1.048736 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 5"" Conif-5b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.085425 -2.330585 0
+ -0.674314 -1.904049 0
+ -0.821811 -2.366652 0
+ -1.205898 -1.815167 0
+ -2.203120 -2.072876 0
+ -1.923001 -1.299749 0
+ -2.772790 -0.690553 0
+ -2.343709 -0.248063 0
+ -2.906878 0.000000 0
+ -2.135891 0.235299 0
+ -2.740947 0.907583 0
+ -2.046253 0.929993 0
+ -2.243143 1.756552 0
+ -1.512364 1.434741 0
+ -1.295536 2.308175 0
+ -0.746504 1.523844 0
+ -0.298315 2.375404 0
+ 0.384485 1.485935 0
+ 0.340355 -1.871191 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -1.546253 0.929993 0
+ -1.743143 1.756552 0
+ -1.012364 1.434741 0
+ -0.795536 2.308175 0
+ -0.246504 1.523844 0
+ 0.201685 2.375404 0
+ 0.884485 1.485935 0
+ 1.602351 2.011319 0
+ 1.320766 1.267131 0
+ 1.704108 0.642726 0
+ 2.353243 0.174314 0
+ 1.883935 -0.261471 0
+ 2.326426 -0.891685 0
+ 1.591072 -0.929993 0
+ 1.448150 -1.253722 0
+ 1.428036 -1.977797 0
+ 0.840355 -1.871191 0
+ 0.414575 -2.330585 0
+ -0.174314 -1.904049 0
+ -0.321811 -2.366652 0
+ -0.705898 -1.815167 0
+ -1.703120 -2.072876 0
+ -1.423001 -1.299749 0
+ -2.272790 -0.690553 0
+ -1.843709 -0.248063 0
+ -2.406878 0.000000 0
+ -1.635891 0.235299 0
+ -2.240947 0.907583 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.335220 1.568829 0
+ 1.015029 2.345406 0
+ 1.253722 1.763256 0
+ 1.052590 0.978842 0
+ 1.852674 1.015029 0
+ 2.384825 0.581424 0
+ 1.448150 -0.046931 0
+ 2.305987 -0.985465 0
+ 1.665435 -1.133284 0
+ 1.186678 -1.025773 0
+ 1.159861 -1.642577 0
+ 1.054447 -2.237005 0
+ 0.315107 -1.448150 0
+ -0.261471 -1.528602 0
+ -0.395559 -1.837005 0
+ -0.896773 -2.217296 0
+ -0.891685 -1.173269 0
+ -2.059621 -1.448633 0
+ -1.823110 -0.630697 0
+ -1.092817 -0.174314 0
+ -1.921656 -0.157674 0
+ -2.315842 0.394186 0
+ -0.750892 0.516239 0
+ -1.970929 1.527470 0
+ -0.576578 1.354288 0
+ -0.607604 2.430417 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -1.387810 -0.817936 0 -1.830300 -0.797823 0
+ L3 26624 0.000000 -1.924162 -1.173269 0 -1.622464 -1.099521 0
+ L3 26624 0.000000 -0.616804 -1.977797 0 -0.569874 -1.421332 0
+ L3 26624 0.000000 -0.569874 -1.421332 0 -0.905094 -1.816891 0
+ L3 26624 0.000000 0.797823 -1.997910 0 0.851458 -1.528602 0
+ L3 26624 0.000000 0.851458 -1.528602 0 1.106225 -1.816891 0
+ L3 26624 0.000000 1.917457 -1.032477 0 1.293948 -0.744188 0
+ L3 26624 0.000000 1.293948 -0.744188 0 1.917457 -0.596691 0
+ L3 26624 0.000000 1.743143 0.422377 0 1.273835 0.429081 0
+ L3 26624 0.000000 1.273835 0.429081 0 1.662690 0.952024 0
+ L3 26624 0.000000 1.193383 1.582238 0 0.677144 1.133043 0
+ L3 26624 0.000000 0.677144 1.133043 0 0.690553 1.950979 0
+ L3 26624 0.000000 -0.241358 2.085067 0 -0.248063 1.394514 0
+ L3 26624 0.000000 -0.248063 1.394514 0 -0.583282 1.682803 0
+ L3 26624 0.000000 -0.321811 -1.474967 0 -0.402264 -1.133043 0
+ L3 26624 0.000000 0.543056 -1.562124 0 0.549761 -1.166565 0
+ L3 26624 0.000000 1.045886 -1.340879 0 0.730779 -1.079408 0
+ L3 26624 0.000000 1.213496 -1.025773 0 0.871572 -0.536352 0
+ L3 26624 0.000000 1.568829 -0.281585 0 1.146452 -0.395559 0
+ L3 26624 0.000000 1.609055 0.113975 0 0.911798 0.214541 0
+ L3 26624 0.000000 0.978842 0.496125 0 1.307357 0.965433 0
+ L3 26624 0.000000 1.045886 1.099521 0 0.516239 0.710666 0
+ L3 26624 0.000000 0.415673 0.931911 0 0.281585 1.340879 0
+ L3 26624 0.000000 0.020113 1.334175 0 -0.073748 0.797823 0
+ L3 26624 0.000000 -0.543056 1.213496 0 -0.395559 0.683848 0
+ L3 26624 0.000000 -1.025773 -0.194427 0 -0.536352 0.046931 0
+ L3 26624 0.000000 -0.435786 -0.663735 0 -0.221245 -0.241358 0
+ L3 26624 0.000000 0.335220 -0.992251 0 0.093862 -0.536352 0
+ L3 26624 0.000000 0.643622 -0.730779 0 0.362037 -0.435786 0
+ L3 26624 0.000000 0.891685 -0.194427 0 0.355333 -0.107270 0
+ L3 26624 0.000000 0.576578 0.355333 0 0.248063 0.154201 0
+ L3 26624 0.000000 0.067044 0.502830 0 0.087157 0.248063 0
+ L3 26624 0.000000 -0.100566 0.167610 0 -0.308402 0.449195 0
+ L3 26624 0.000000 -0.408968 -0.174314 0 -0.127384 -0.013409 0
+ L3 26624 0.000000 0.214541 -0.341924 0 0.080453 -0.073748 0
+ L3 26624 0.000000 -1.222080 -0.433362 0 -1.551435 -0.598039 0
+ L3 26624 0.000000 -1.525433 0.355357 0 -1.109406 0.225348 0
+ L3 26624 0.000000 -1.204746 1.291418 0 -0.832055 1.178744 0
+ F4 32768 0.000000 4 0
+ -1.126741 -0.667377 0
+ -0.910060 -0.416027 0
+ -0.528701 -0.268684 0
+ -0.771384 -0.580705 0
+ F4 32768 0.000000 4 0
+ -1.022734 0.355357 0
+ -0.554703 0.398693 0
+ -0.346689 0.208014 0
+ -0.728048 0.216681 0
+ F4 32768 0.000000 4 0
+ -0.511367 -0.840722 0
+ -0.589372 -1.118073 0
+ -0.875391 -1.256749 0
+ -0.797386 -1.031401 0
+ F4 32768 0.000000 4 0
+ -1.698778 -0.008667 0
+ -1.326087 -0.095340 0
+ -0.918727 0.034669 0
+ -1.334754 0.104007 0
+ F4 32768 0.000000 4 0
+ -1.404092 -1.100739 0
+ -1.196079 -0.892725 0
+ -0.875391 -0.823387 0
+ -1.057403 -1.031401 0
+ F4 32768 0.000000 4 0
+ -1.187411 1.144075 0
+ -0.910060 0.858056 0
+ -0.589372 0.736715 0
+ -0.901393 1.048736 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 6"" Conif-6a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.809177 2.284858 0
+ -0.102510 2.796702 0
+ 0.408426 2.245429 0
+ 0.461382 -1.783122 0
+ -0.357978 -2.850484 0
+ -0.895805 -1.828613 0
+ -1.554643 -2.769810 0
+ -1.814837 -1.721689 0
+ -2.691772 -2.107862 0
+ -2.455504 -1.115991 0
+ -3.289136 -1.089100 0
+ -2.563069 -0.282359 0
+ -3.488254 0.000000 0
+ -2.812451 0.297675 0
+ -3.327348 0.828663 0
+ -2.307601 1.559699 0
+ -2.643743 2.487451 0
+ -1.447078 2.178200 0
+ -0.986173 2.839982 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -1.855504 -1.115991 0
+ -2.091772 -2.107862 0
+ -1.214837 -1.721689 0
+ -0.954643 -2.769810 0
+ -0.295805 -1.828613 0
+ 0.242022 -2.850484 0
+ 1.061382 -1.783122 0
+ 1.922821 -2.413583 0
+ 1.584919 -1.520557 0
+ 2.044929 -0.771271 0
+ 2.823892 -0.209177 0
+ 2.260722 0.313766 0
+ 2.791711 1.070022 0
+ 1.909287 1.115991 0
+ 1.737780 1.504467 0
+ 1.713644 2.373356 0
+ 1.008426 2.245429 0
+ 0.497490 2.796702 0
+ -0.209177 2.284858 0
+ -0.386173 2.839982 0
+ -0.847078 2.178200 0
+ -2.043743 2.487451 0
+ -1.707601 1.559699 0
+ -2.727348 0.828663 0
+ -2.212451 0.297675 0
+ -2.888254 0.000000 0
+ -1.963069 -0.282359 0
+ -2.689136 -1.089100 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.402264 -1.882594 0
+ 1.218034 -2.814487 0
+ 1.504467 -2.115907 0
+ 1.263108 -1.174610 0
+ 2.223208 -1.218034 0
+ 2.861790 -0.697709 0
+ 1.737780 0.056317 0
+ 2.767185 1.182558 0
+ 1.998522 1.359941 0
+ 1.424014 1.230927 0
+ 1.391833 1.971093 0
+ 1.265337 2.684406 0
+ 0.378128 1.737780 0
+ -0.313766 1.834323 0
+ -0.474671 2.204406 0
+ -1.076127 2.660755 0
+ -1.070022 1.407923 0
+ -2.471545 1.738360 0
+ -2.187732 0.756837 0
+ -1.311380 0.209177 0
+ -2.305987 0.189209 0
+ -2.779010 -0.473023 0
+ -0.901071 -0.619486 0
+ -2.365115 -1.832964 0
+ -0.691894 -1.625146 0
+ -0.729125 -2.916500 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -1.665372 0.981524 0 -2.196360 0.957388 0
+ L3 26624 0.000000 -2.308994 1.407923 0 -1.946957 1.319425 0
+ L3 26624 0.000000 -0.740165 2.373356 0 -0.683848 1.705598 0
+ L3 26624 0.000000 -0.683848 1.705598 0 -1.086112 2.180270 0
+ L3 26624 0.000000 0.957388 2.397492 0 1.021750 1.834323 0
+ L3 26624 0.000000 1.021750 1.834323 0 1.327470 2.180270 0
+ L3 26624 0.000000 2.300949 1.238972 0 1.552738 0.893026 0
+ L3 26624 0.000000 1.552738 0.893026 0 2.300949 0.716030 0
+ L3 26624 0.000000 2.091772 -0.506852 0 1.528602 -0.514898 0
+ L3 26624 0.000000 1.528602 -0.514898 0 1.995228 -1.142429 0
+ L3 26624 0.000000 1.432059 -1.898685 0 0.812573 -1.359652 0
+ L3 26624 0.000000 0.812573 -1.359652 0 0.828663 -2.341175 0
+ L3 26624 0.000000 -0.289630 -2.502081 0 -0.297675 -1.673417 0
+ L3 26624 0.000000 -0.297675 -1.673417 0 -0.699939 -2.019364 0
+ L3 26624 0.000000 -0.386173 1.769961 0 -0.482717 1.359652 0
+ L3 26624 0.000000 0.651667 1.874549 0 0.659713 1.399878 0
+ L3 26624 0.000000 1.255063 1.609055 0 0.876935 1.295289 0
+ L3 26624 0.000000 1.456195 1.230927 0 1.045886 0.643622 0
+ L3 26624 0.000000 1.882594 0.337902 0 1.375742 0.474671 0
+ L3 26624 0.000000 1.930866 -0.136770 0 1.094157 -0.257449 0
+ L3 26624 0.000000 1.174610 -0.595350 0 1.568829 -1.158520 0
+ L3 26624 0.000000 1.255063 -1.319425 0 0.619486 -0.852799 0
+ L3 26624 0.000000 0.498807 -1.118293 0 0.337902 -1.609055 0
+ L3 26624 0.000000 0.024136 -1.601010 0 -0.088498 -0.957388 0
+ L3 26624 0.000000 -0.651667 -1.456195 0 -0.474671 -0.820618 0
+ L3 26624 0.000000 -1.230927 0.233313 0 -0.643622 -0.056317 0
+ L3 26624 0.000000 -0.522943 0.796482 0 -0.265494 0.289630 0
+ L3 26624 0.000000 0.402264 1.190701 0 0.112634 0.643622 0
+ L3 26624 0.000000 0.772346 0.876935 0 0.434445 0.522943 0
+ L3 26624 0.000000 1.070022 0.233313 0 0.426400 0.128724 0
+ L3 26624 0.000000 0.691894 -0.426400 0 0.297675 -0.185041 0
+ L3 26624 0.000000 0.080453 -0.603396 0 0.104589 -0.297675 0
+ L3 26624 0.000000 -0.120679 -0.201132 0 -0.370083 -0.539033 0
+ L3 26624 0.000000 -0.490762 0.209177 0 -0.152860 0.016091 0
+ L3 26624 0.000000 0.257449 0.410309 0 0.096543 0.088498 0
+ L3 26624 0.000000 -1.466496 0.520034 0 -1.861722 0.717647 0
+ L3 26624 0.000000 -1.830520 -0.426428 0 -1.331287 -0.270418 0
+ L3 26624 0.000000 -1.445695 -1.549702 0 -0.998466 -1.414493 0
+ F4 32768 0.000000 4 0
+ -1.352089 0.800853 0
+ -1.092072 0.499233 0
+ -0.634442 0.322421 0
+ -0.925661 0.696846 0
+ F4 32768 0.000000 4 0
+ -1.227281 -0.426428 0
+ -0.665644 -0.478431 0
+ -0.416027 -0.249616 0
+ -0.873657 -0.260017 0
+ F4 32768 0.000000 4 0
+ -0.613640 1.008866 0
+ -0.707246 1.341688 0
+ -1.050469 1.508099 0
+ -0.956863 1.237681 0
+ F4 32768 0.000000 4 0
+ -2.038534 0.010401 0
+ -1.591304 0.114408 0
+ -1.102472 -0.041603 0
+ -1.601705 -0.124808 0
+ F4 32768 0.000000 4 0
+ -1.684911 1.320887 0
+ -1.435294 1.071270 0
+ -1.050469 0.988065 0
+ -1.268883 1.237681 0
+ F4 32768 0.000000 4 0
+ -1.424894 -1.372890 0
+ -1.092072 -1.029668 0
+ -0.707246 -0.884058 0
+ -1.081671 -1.258483 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 6"" Conif-6b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.102510 -2.796702 0
+ -0.809177 -2.284858 0
+ -0.986173 -2.839982 0
+ -1.447078 -2.178200 0
+ -2.643743 -2.487451 0
+ -2.307601 -1.559699 0
+ -3.327348 -0.828663 0
+ -2.812451 -0.297675 0
+ -3.488254 0.000000 0
+ -2.563069 0.282359 0
+ -3.289136 1.089100 0
+ -2.455504 1.115991 0
+ -2.691772 2.107862 0
+ -1.814837 1.721689 0
+ -1.554643 2.769810 0
+ -0.895805 1.828613 0
+ -0.357978 2.850484 0
+ 0.461382 1.783122 0
+ 0.408426 -2.245429 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -1.855504 1.115991 0
+ -2.091772 2.107862 0
+ -1.214837 1.721689 0
+ -0.954643 2.769810 0
+ -0.295805 1.828613 0
+ 0.242022 2.850484 0
+ 1.061382 1.783122 0
+ 1.922821 2.413583 0
+ 1.584919 1.520557 0
+ 2.044929 0.771271 0
+ 2.823892 0.209177 0
+ 2.260722 -0.313766 0
+ 2.791711 -1.070022 0
+ 1.909287 -1.115991 0
+ 1.737780 -1.504467 0
+ 1.713644 -2.373356 0
+ 1.008426 -2.245429 0
+ 0.497490 -2.796702 0
+ -0.209177 -2.284858 0
+ -0.386173 -2.839982 0
+ -0.847078 -2.178200 0
+ -2.043743 -2.487451 0
+ -1.707601 -1.559699 0
+ -2.727348 -0.828663 0
+ -2.212451 -0.297675 0
+ -2.888254 0.000000 0
+ -1.963069 0.282359 0
+ -2.689136 1.089100 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.402264 1.882594 0
+ 1.218034 2.814487 0
+ 1.504467 2.115907 0
+ 1.263108 1.174610 0
+ 2.223208 1.218034 0
+ 2.861790 0.697709 0
+ 1.737780 -0.056317 0
+ 2.767185 -1.182558 0
+ 1.998522 -1.359941 0
+ 1.424014 -1.230927 0
+ 1.391833 -1.971093 0
+ 1.265337 -2.684406 0
+ 0.378128 -1.737780 0
+ -0.313766 -1.834323 0
+ -0.474671 -2.204406 0
+ -1.076127 -2.660755 0
+ -1.070022 -1.407923 0
+ -2.471545 -1.738360 0
+ -2.187732 -0.756837 0
+ -1.311380 -0.209177 0
+ -2.305987 -0.189209 0
+ -2.779010 0.473023 0
+ -0.901071 0.619486 0
+ -2.365115 1.832964 0
+ -0.691894 1.625146 0
+ -0.729125 2.916500 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -1.665372 -0.981524 0 -2.196360 -0.957388 0
+ L3 26624 0.000000 -2.308994 -1.407923 0 -1.946957 -1.319425 0
+ L3 26624 0.000000 -0.740165 -2.373356 0 -0.683848 -1.705598 0
+ L3 26624 0.000000 -0.683848 -1.705598 0 -1.086112 -2.180270 0
+ L3 26624 0.000000 0.957388 -2.397492 0 1.021750 -1.834323 0
+ L3 26624 0.000000 1.021750 -1.834323 0 1.327470 -2.180270 0
+ L3 26624 0.000000 2.300949 -1.238972 0 1.552738 -0.893026 0
+ L3 26624 0.000000 1.552738 -0.893026 0 2.300949 -0.716030 0
+ L3 26624 0.000000 2.091772 0.506852 0 1.528602 0.514898 0
+ L3 26624 0.000000 1.528602 0.514898 0 1.995228 1.142429 0
+ L3 26624 0.000000 1.432059 1.898685 0 0.812573 1.359652 0
+ L3 26624 0.000000 0.812573 1.359652 0 0.828663 2.341175 0
+ L3 26624 0.000000 -0.289630 2.502081 0 -0.297675 1.673417 0
+ L3 26624 0.000000 -0.297675 1.673417 0 -0.699939 2.019364 0
+ L3 26624 0.000000 -0.386173 -1.769961 0 -0.482717 -1.359652 0
+ L3 26624 0.000000 0.651667 -1.874549 0 0.659713 -1.399878 0
+ L3 26624 0.000000 1.255063 -1.609055 0 0.876935 -1.295289 0
+ L3 26624 0.000000 1.456195 -1.230927 0 1.045886 -0.643622 0
+ L3 26624 0.000000 1.882594 -0.337902 0 1.375742 -0.474671 0
+ L3 26624 0.000000 1.930866 0.136770 0 1.094157 0.257449 0
+ L3 26624 0.000000 1.174610 0.595350 0 1.568829 1.158520 0
+ L3 26624 0.000000 1.255063 1.319425 0 0.619486 0.852799 0
+ L3 26624 0.000000 0.498807 1.118293 0 0.337902 1.609055 0
+ L3 26624 0.000000 0.024136 1.601010 0 -0.088498 0.957388 0
+ L3 26624 0.000000 -0.651667 1.456195 0 -0.474671 0.820618 0
+ L3 26624 0.000000 -1.230927 -0.233313 0 -0.643622 0.056317 0
+ L3 26624 0.000000 -0.522943 -0.796482 0 -0.265494 -0.289630 0
+ L3 26624 0.000000 0.402264 -1.190701 0 0.112634 -0.643622 0
+ L3 26624 0.000000 0.772346 -0.876935 0 0.434445 -0.522943 0
+ L3 26624 0.000000 1.070022 -0.233313 0 0.426400 -0.128724 0
+ L3 26624 0.000000 0.691894 0.426400 0 0.297675 0.185041 0
+ L3 26624 0.000000 0.080453 0.603396 0 0.104589 0.297675 0
+ L3 26624 0.000000 -0.120679 0.201132 0 -0.370083 0.539033 0
+ L3 26624 0.000000 -0.490762 -0.209177 0 -0.152860 -0.016091 0
+ L3 26624 0.000000 0.257449 -0.410309 0 0.096543 -0.088498 0
+ L3 26624 0.000000 -1.466496 -0.520034 0 -1.861722 -0.717647 0
+ L3 26624 0.000000 -1.830520 0.426428 0 -1.331287 0.270418 0
+ L3 26624 0.000000 -1.445695 1.549702 0 -0.998466 1.414493 0
+ F4 32768 0.000000 4 0
+ -1.352089 -0.800853 0
+ -1.092072 -0.499233 0
+ -0.634442 -0.322421 0
+ -0.925661 -0.696846 0
+ F4 32768 0.000000 4 0
+ -1.227281 0.426428 0
+ -0.665644 0.478431 0
+ -0.416027 0.249616 0
+ -0.873657 0.260017 0
+ F4 32768 0.000000 4 0
+ -0.613640 -1.008866 0
+ -0.707246 -1.341688 0
+ -1.050469 -1.508099 0
+ -0.956863 -1.237681 0
+ F4 32768 0.000000 4 0
+ -2.038534 -0.010401 0
+ -1.591304 -0.114408 0
+ -1.102472 0.041603 0
+ -1.601705 0.124808 0
+ F4 32768 0.000000 4 0
+ -1.684911 -1.320887 0
+ -1.435294 -1.071270 0
+ -1.050469 -0.988065 0
+ -1.268883 -1.237681 0
+ F4 32768 0.000000 4 0
+ -1.424894 1.372890 0
+ -1.092072 1.029668 0
+ -0.707246 0.884058 0
+ -1.081671 1.258483 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 7"" Conif-7a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.944040 2.665668 0
+ -0.119595 3.262818 0
+ 0.476497 2.619667 0
+ 0.538279 -2.080309 0
+ -0.417641 -3.325565 0
+ -1.045106 -2.133381 0
+ -1.813751 -3.231445 0
+ -2.117309 -2.008637 0
+ -3.140400 -2.459173 0
+ -2.864755 -1.301990 0
+ -3.837325 -1.270617 0
+ -2.990248 -0.329419 0
+ -4.069630 0.000000 0
+ -3.281193 0.347288 0
+ -3.881907 0.966774 0
+ -2.692202 1.819649 0
+ -3.084367 2.902026 0
+ -1.688258 2.541234 0
+ -1.150535 3.313313 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -2.164755 -1.301990 0
+ -2.440400 -2.459173 0
+ -1.417309 -2.008637 0
+ -1.113751 -3.231445 0
+ -0.345106 -2.133381 0
+ 0.282359 -3.325565 0
+ 1.238279 -2.080309 0
+ 2.243291 -2.815846 0
+ 1.849073 -1.773983 0
+ 2.385751 -0.899816 0
+ 3.294540 -0.244040 0
+ 2.637510 0.366060 0
+ 3.256996 1.248359 0
+ 2.227501 1.301990 0
+ 2.027409 1.755211 0
+ 1.999251 2.768916 0
+ 1.176497 2.619667 0
+ 0.580405 3.262818 0
+ -0.244040 2.665668 0
+ -0.450535 3.313313 0
+ -0.988258 2.541234 0
+ -2.384367 2.902026 0
+ -1.992202 1.819649 0
+ -3.181907 0.966774 0
+ -2.581193 0.347288 0
+ -3.369630 0.000000 0
+ -2.290248 -0.329419 0
+ -3.137325 -1.270617 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.469308 -2.196360 0
+ 1.421040 -3.283568 0
+ 1.755211 -2.468559 0
+ 1.473626 -1.370379 0
+ 2.593743 -1.421040 0
+ 3.338754 -0.813994 0
+ 2.027409 0.065703 0
+ 3.228382 1.379651 0
+ 2.331609 1.586598 0
+ 1.661349 1.436082 0
+ 1.623805 2.299608 0
+ 1.476226 3.131807 0
+ 0.441149 2.027409 0
+ -0.366060 2.140043 0
+ -0.553783 2.571806 0
+ -1.255482 3.104214 0
+ -1.248359 1.642577 0
+ -2.883470 2.028086 0
+ -2.552354 0.882976 0
+ -1.529943 0.244040 0
+ -2.690319 0.220744 0
+ -3.242179 -0.551860 0
+ -1.051249 -0.722734 0
+ -2.759301 -2.138458 0
+ -0.807209 -1.896003 0
+ -0.850646 -3.402583 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -1.942934 1.145111 0 -2.562420 1.116952 0
+ L3 26624 0.000000 -2.693826 1.642577 0 -2.271449 1.539329 0
+ L3 26624 0.000000 -0.863526 2.768916 0 -0.797823 1.989865 0
+ L3 26624 0.000000 -0.797823 1.989865 0 -1.267131 2.543648 0
+ L3 26624 0.000000 1.116952 2.797074 0 1.192042 2.140043 0
+ L3 26624 0.000000 1.192042 2.140043 0 1.548716 2.543648 0
+ L3 26624 0.000000 2.684440 1.445468 0 1.811528 1.041863 0
+ L3 26624 0.000000 1.811528 1.041863 0 2.684440 0.835368 0
+ L3 26624 0.000000 2.440400 -0.591328 0 1.783369 -0.600714 0
+ L3 26624 0.000000 1.783369 -0.600714 0 2.327766 -1.332834 0
+ L3 26624 0.000000 1.670736 -2.215133 0 0.948002 -1.586260 0
+ L3 26624 0.000000 0.948002 -1.586260 0 0.966774 -2.731371 0
+ L3 26624 0.000000 -0.337902 -2.919094 0 -0.347288 -1.952320 0
+ L3 26624 0.000000 -0.347288 -1.952320 0 -0.816595 -2.355925 0
+ L3 26624 0.000000 -0.450535 2.064954 0 -0.563169 1.586260 0
+ L3 26624 0.000000 0.760279 2.186974 0 0.769665 1.633191 0
+ L3 26624 0.000000 1.464240 1.877231 0 1.023091 1.511171 0
+ L3 26624 0.000000 1.698894 1.436082 0 1.220200 0.750892 0
+ L3 26624 0.000000 2.196360 0.394219 0 1.605032 0.553783 0
+ L3 26624 0.000000 2.252677 -0.159565 0 1.276517 -0.300357 0
+ L3 26624 0.000000 1.370379 -0.694575 0 1.830300 -1.351606 0
+ L3 26624 0.000000 1.464240 -1.539329 0 0.722734 -0.994932 0
+ L3 26624 0.000000 0.581942 -1.304676 0 0.394219 -1.877231 0
+ L3 26624 0.000000 0.028158 -1.867845 0 -0.103248 -1.116952 0
+ L3 26624 0.000000 -0.760279 -1.698894 0 -0.553783 -0.957388 0
+ L3 26624 0.000000 -1.436082 0.272198 0 -0.750892 -0.065703 0
+ L3 26624 0.000000 -0.610100 0.929229 0 -0.309743 0.337902 0
+ L3 26624 0.000000 0.469308 1.389151 0 0.131406 0.750892 0
+ L3 26624 0.000000 0.901071 1.023091 0 0.506852 0.610100 0
+ L3 26624 0.000000 1.248359 0.272198 0 0.497466 0.150178 0
+ L3 26624 0.000000 0.807209 -0.497466 0 0.347288 -0.215882 0
+ L3 26624 0.000000 0.093862 -0.703962 0 0.122020 -0.347288 0
+ L3 26624 0.000000 -0.140792 -0.234654 0 -0.431763 -0.628872 0
+ L3 26624 0.000000 -0.572555 0.244040 0 -0.178337 0.018772 0
+ L3 26624 0.000000 0.300357 0.478694 0 0.112634 0.103248 0
+ L3 26624 0.000000 -1.710912 0.606707 0 -2.172009 0.837255 0
+ L3 26624 0.000000 -2.135607 -0.497499 0 -1.553169 -0.315487 0
+ L3 26624 0.000000 -1.686644 -1.807985 0 -1.164876 -1.650242 0
+ F4 32768 0.000000 4 0
+ -1.577437 0.934328 0
+ -1.274084 0.582438 0
+ -0.740182 0.376158 0
+ -1.079938 0.812987 0
+ F4 32768 0.000000 4 0
+ -1.431827 -0.497499 0
+ -0.776584 -0.558170 0
+ -0.485365 -0.291219 0
+ -1.019267 -0.303353 0
+ F4 32768 0.000000 4 0
+ -0.715914 1.177011 0
+ -0.825121 1.565303 0
+ -1.225547 1.759449 0
+ -1.116340 1.443961 0
+ F4 32768 0.000000 4 0
+ -2.378289 0.012134 0
+ -1.856522 0.133475 0
+ -1.286218 -0.048537 0
+ -1.868656 -0.145610 0
+ F4 32768 0.000000 4 0
+ -1.965729 1.541035 0
+ -1.674510 1.249815 0
+ -1.225547 1.152742 0
+ -1.480364 1.443961 0
+ F4 32768 0.000000 4 0
+ -1.662376 -1.601705 0
+ -1.274084 -1.201279 0
+ -0.825121 -1.031401 0
+ -1.261950 -1.468230 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 7"" Conif-7b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.119595 -3.262818 0
+ -0.944040 -2.665668 0
+ -1.150535 -3.313313 0
+ -1.688258 -2.541234 0
+ -3.084367 -2.902026 0
+ -2.692202 -1.819649 0
+ -3.881907 -0.966774 0
+ -3.281193 -0.347288 0
+ -4.069630 0.000000 0
+ -2.990248 0.329419 0
+ -3.837325 1.270617 0
+ -2.864755 1.301990 0
+ -3.140400 2.459173 0
+ -2.117309 2.008637 0
+ -1.813751 3.231445 0
+ -1.045106 2.133381 0
+ -0.417641 3.325565 0
+ 0.538279 2.080309 0
+ 0.476497 -2.619667 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -2.164755 1.301990 0
+ -2.440400 2.459173 0
+ -1.417309 2.008637 0
+ -1.113751 3.231445 0
+ -0.345106 2.133381 0
+ 0.282359 3.325565 0
+ 1.238279 2.080309 0
+ 2.243291 2.815846 0
+ 1.849073 1.773983 0
+ 2.385751 0.899816 0
+ 3.294540 0.244040 0
+ 2.637510 -0.366060 0
+ 3.256996 -1.248359 0
+ 2.227501 -1.301990 0
+ 2.027409 -1.755211 0
+ 1.999251 -2.768916 0
+ 1.176497 -2.619667 0
+ 0.580405 -3.262818 0
+ -0.244040 -2.665668 0
+ -0.450535 -3.313313 0
+ -0.988258 -2.541234 0
+ -2.384367 -2.902026 0
+ -1.992202 -1.819649 0
+ -3.181907 -0.966774 0
+ -2.581193 -0.347288 0
+ -3.369630 0.000000 0
+ -2.290248 0.329419 0
+ -3.137325 1.270617 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.469308 2.196360 0
+ 1.421040 3.283568 0
+ 1.755211 2.468559 0
+ 1.473626 1.370379 0
+ 2.593743 1.421040 0
+ 3.338754 0.813994 0
+ 2.027409 -0.065703 0
+ 3.228382 -1.379651 0
+ 2.331609 -1.586598 0
+ 1.661349 -1.436082 0
+ 1.623805 -2.299608 0
+ 1.476226 -3.131807 0
+ 0.441149 -2.027409 0
+ -0.366060 -2.140043 0
+ -0.553783 -2.571806 0
+ -1.255482 -3.104214 0
+ -1.248359 -1.642577 0
+ -2.883470 -2.028086 0
+ -2.552354 -0.882976 0
+ -1.529943 -0.244040 0
+ -2.690319 -0.220744 0
+ -3.242179 0.551860 0
+ -1.051249 0.722734 0
+ -2.759301 2.138458 0
+ -0.807209 1.896003 0
+ -0.850646 3.402583 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -1.942934 -1.145111 0 -2.562420 -1.116952 0
+ L3 26624 0.000000 -2.693826 -1.642577 0 -2.271449 -1.539329 0
+ L3 26624 0.000000 -0.863526 -2.768916 0 -0.797823 -1.989865 0
+ L3 26624 0.000000 -0.797823 -1.989865 0 -1.267131 -2.543648 0
+ L3 26624 0.000000 1.116952 -2.797074 0 1.192042 -2.140043 0
+ L3 26624 0.000000 1.192042 -2.140043 0 1.548716 -2.543648 0
+ L3 26624 0.000000 2.684440 -1.445468 0 1.811528 -1.041863 0
+ L3 26624 0.000000 1.811528 -1.041863 0 2.684440 -0.835368 0
+ L3 26624 0.000000 2.440400 0.591328 0 1.783369 0.600714 0
+ L3 26624 0.000000 1.783369 0.600714 0 2.327766 1.332834 0
+ L3 26624 0.000000 1.670736 2.215133 0 0.948002 1.586260 0
+ L3 26624 0.000000 0.948002 1.586260 0 0.966774 2.731371 0
+ L3 26624 0.000000 -0.337902 2.919094 0 -0.347288 1.952320 0
+ L3 26624 0.000000 -0.347288 1.952320 0 -0.816595 2.355925 0
+ L3 26624 0.000000 -0.450535 -2.064954 0 -0.563169 -1.586260 0
+ L3 26624 0.000000 0.760279 -2.186974 0 0.769665 -1.633191 0
+ L3 26624 0.000000 1.464240 -1.877231 0 1.023091 -1.511171 0
+ L3 26624 0.000000 1.698894 -1.436082 0 1.220200 -0.750892 0
+ L3 26624 0.000000 2.196360 -0.394219 0 1.605032 -0.553783 0
+ L3 26624 0.000000 2.252677 0.159565 0 1.276517 0.300357 0
+ L3 26624 0.000000 1.370379 0.694575 0 1.830300 1.351606 0
+ L3 26624 0.000000 1.464240 1.539329 0 0.722734 0.994932 0
+ L3 26624 0.000000 0.581942 1.304676 0 0.394219 1.877231 0
+ L3 26624 0.000000 0.028158 1.867845 0 -0.103248 1.116952 0
+ L3 26624 0.000000 -0.760279 1.698894 0 -0.553783 0.957388 0
+ L3 26624 0.000000 -1.436082 -0.272198 0 -0.750892 0.065703 0
+ L3 26624 0.000000 -0.610100 -0.929229 0 -0.309743 -0.337902 0
+ L3 26624 0.000000 0.469308 -1.389151 0 0.131406 -0.750892 0
+ L3 26624 0.000000 0.901071 -1.023091 0 0.506852 -0.610100 0
+ L3 26624 0.000000 1.248359 -0.272198 0 0.497466 -0.150178 0
+ L3 26624 0.000000 0.807209 0.497466 0 0.347288 0.215882 0
+ L3 26624 0.000000 0.093862 0.703962 0 0.122020 0.347288 0
+ L3 26624 0.000000 -0.140792 0.234654 0 -0.431763 0.628872 0
+ L3 26624 0.000000 -0.572555 -0.244040 0 -0.178337 -0.018772 0
+ L3 26624 0.000000 0.300357 -0.478694 0 0.112634 -0.103248 0
+ L3 26624 0.000000 -1.710912 -0.606707 0 -2.172009 -0.837255 0
+ L3 26624 0.000000 -2.135607 0.497499 0 -1.553169 0.315487 0
+ L3 26624 0.000000 -1.686644 1.807985 0 -1.164876 1.650242 0
+ F4 32768 0.000000 4 0
+ -1.577437 -0.934328 0
+ -1.274084 -0.582438 0
+ -0.740182 -0.376158 0
+ -1.079938 -0.812987 0
+ F4 32768 0.000000 4 0
+ -1.431827 0.497499 0
+ -0.776584 0.558170 0
+ -0.485365 0.291219 0
+ -1.019267 0.303353 0
+ F4 32768 0.000000 4 0
+ -0.715914 -1.177011 0
+ -0.825121 -1.565303 0
+ -1.225547 -1.759449 0
+ -1.116340 -1.443961 0
+ F4 32768 0.000000 4 0
+ -2.378289 -0.012134 0
+ -1.856522 -0.133475 0
+ -1.286218 0.048537 0
+ -1.868656 0.145610 0
+ F4 32768 0.000000 4 0
+ -1.965729 -1.541035 0
+ -1.674510 -1.249815 0
+ -1.225547 -1.152742 0
+ -1.480364 -1.443961 0
+ F4 32768 0.000000 4 0
+ -1.662376 1.601705 0
+ -1.274084 1.201279 0
+ -0.825121 1.031401 0
+ -1.261950 1.468230 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 8"" Conif-8a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -1.078903 3.046478 0
+ -0.136680 3.728935 0
+ 0.544568 2.993905 0
+ 0.615176 -2.377496 0
+ -0.477304 -3.800646 0
+ -1.194407 -2.438150 0
+ -2.072858 -3.693080 0
+ -2.419782 -2.295585 0
+ -3.589029 -2.810483 0
+ -3.274005 -1.487989 0
+ -4.385515 -1.452133 0
+ -3.417426 -0.376479 0
+ -4.651005 0.000000 0
+ -3.749934 0.396900 0
+ -4.436465 1.104885 0
+ -3.076802 2.079599 0
+ -3.524991 3.316601 0
+ -1.929437 2.904267 0
+ -1.314898 3.786643 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -2.474005 -1.487989 0
+ -2.789029 -2.810483 0
+ -1.619782 -2.295585 0
+ -1.272858 -3.693080 0
+ -0.394407 -2.438150 0
+ 0.322696 -3.800646 0
+ 1.415176 -2.377496 0
+ 2.563761 -3.218110 0
+ 2.113226 -2.027409 0
+ 2.726572 -1.028361 0
+ 3.765189 -0.278903 0
+ 3.014297 0.418354 0
+ 3.722281 1.426696 0
+ 2.545715 1.487989 0
+ 2.317039 2.005955 0
+ 2.284858 3.164475 0
+ 1.344568 2.993905 0
+ 0.663320 3.728935 0
+ -0.278903 3.046478 0
+ -0.514898 3.786643 0
+ -1.129437 2.904267 0
+ -2.724991 3.316601 0
+ -2.276802 2.079599 0
+ -3.636465 1.104885 0
+ -2.949934 0.396900 0
+ -3.851005 0.000000 0
+ -2.617426 -0.376479 0
+ -3.585515 -1.452133 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.536352 -2.510126 0
+ 1.624046 -3.752650 0
+ 2.005955 -2.821210 0
+ 1.684144 -1.566147 0
+ 2.964278 -1.624046 0
+ 3.815719 -0.930279 0
+ 2.317039 0.075089 0
+ 3.689580 1.576744 0
+ 2.664697 1.813255 0
+ 1.898685 1.641236 0
+ 1.855777 2.628123 0
+ 1.687116 3.579208 0
+ 0.504171 2.317039 0
+ -0.418354 2.445764 0
+ -0.632895 2.939207 0
+ -1.434837 3.547673 0
+ -1.426696 1.877231 0
+ -3.295394 2.317813 0
+ -2.916976 1.009116 0
+ -1.748507 0.278903 0
+ -3.074650 0.252279 0
+ -3.705347 -0.630697 0
+ -1.201428 -0.825982 0
+ -3.153487 -2.443952 0
+ -0.922525 -2.166861 0
+ -0.972167 -3.888667 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -2.220496 1.308698 0 -2.928480 1.276517 0
+ L3 26624 0.000000 -3.078659 1.877231 0 -2.595942 1.759234 0
+ L3 26624 0.000000 -0.986887 3.164475 0 -0.911798 2.274131 0
+ L3 26624 0.000000 -0.911798 2.274131 0 -1.448150 2.907026 0
+ L3 26624 0.000000 1.276517 3.196656 0 1.362333 2.445764 0
+ L3 26624 0.000000 1.362333 2.445764 0 1.769961 2.907026 0
+ L3 26624 0.000000 3.067932 1.651963 0 2.070318 1.190701 0
+ L3 26624 0.000000 2.070318 1.190701 0 3.067932 0.954706 0
+ L3 26624 0.000000 2.789029 -0.675803 0 2.038136 -0.686530 0
+ L3 26624 0.000000 2.038136 -0.686530 0 2.660304 -1.523239 0
+ L3 26624 0.000000 1.909412 -2.531580 0 1.083430 -1.812869 0
+ L3 26624 0.000000 1.083430 -1.812869 0 1.104885 -3.121567 0
+ L3 26624 0.000000 -0.386173 -3.336108 0 -0.396900 -2.231223 0
+ L3 26624 0.000000 -0.396900 -2.231223 0 -0.933252 -2.692486 0
+ L3 26624 0.000000 -0.514898 2.359948 0 -0.643622 1.812869 0
+ L3 26624 0.000000 0.868890 2.499399 0 0.879617 1.866504 0
+ L3 26624 0.000000 1.673417 2.145407 0 1.169247 1.727052 0
+ L3 26624 0.000000 1.941593 1.641236 0 1.394514 0.858163 0
+ L3 26624 0.000000 2.510126 0.450535 0 1.834323 0.632895 0
+ L3 26624 0.000000 2.574488 -0.182360 0 1.458877 -0.343265 0
+ L3 26624 0.000000 1.566147 -0.793801 0 2.091772 -1.544693 0
+ L3 26624 0.000000 1.673417 -1.759234 0 0.825982 -1.137066 0
+ L3 26624 0.000000 0.665076 -1.491058 0 0.450535 -2.145407 0
+ L3 26624 0.000000 0.032181 -2.134680 0 -0.117997 -1.276517 0
+ L3 26624 0.000000 -0.868890 -1.941593 0 -0.632895 -1.094157 0
+ L3 26624 0.000000 -1.641236 0.311084 0 -0.858163 -0.075089 0
+ L3 26624 0.000000 -0.697257 1.061976 0 -0.353992 0.386173 0
+ L3 26624 0.000000 0.536352 1.587601 0 0.150178 0.858163 0
+ L3 26624 0.000000 1.029795 1.169247 0 0.579260 0.697257 0
+ L3 26624 0.000000 1.426696 0.311084 0 0.568533 0.171633 0
+ L3 26624 0.000000 0.922525 -0.568533 0 0.396900 -0.246722 0
+ L3 26624 0.000000 0.107270 -0.804528 0 0.139451 -0.396900 0
+ L3 26624 0.000000 -0.160906 -0.268176 0 -0.493444 -0.718711 0
+ L3 26624 0.000000 -0.654349 0.278903 0 -0.203814 0.021454 0
+ L3 26624 0.000000 0.343265 0.547079 0 0.128724 0.117997 0
+ L3 26624 0.000000 -1.955328 0.693379 0 -2.482296 0.956863 0
+ L3 26624 0.000000 -2.440694 -0.568571 0 -1.775050 -0.360557 0
+ L3 26624 0.000000 -1.927593 -2.066269 0 -1.331287 -1.885991 0
+ F4 32768 0.000000 4 0
+ -1.802785 1.067803 0
+ -1.456096 0.665644 0
+ -0.845922 0.429895 0
+ -1.234214 0.929128 0
+ F4 32768 0.000000 4 0
+ -1.636374 -0.568571 0
+ -0.887525 -0.637909 0
+ -0.554703 -0.332822 0
+ -1.164876 -0.346689 0
+ F4 32768 0.000000 4 0
+ -0.818187 1.345155 0
+ -0.942995 1.788917 0
+ -1.400625 2.010799 0
+ -1.275817 1.650242 0
+ F4 32768 0.000000 4 0
+ -2.718045 0.013868 0
+ -2.121739 0.152543 0
+ -1.469963 -0.055470 0
+ -2.135607 -0.166411 0
+ F4 32768 0.000000 4 0
+ -2.246548 1.761182 0
+ -1.913726 1.428360 0
+ -1.400625 1.317420 0
+ -1.691844 1.650242 0
+ F4 32768 0.000000 4 0
+ -1.899858 -1.830520 0
+ -1.456096 -1.372890 0
+ -0.942995 -1.178744 0
+ -1.442228 -1.677977 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 8"" Conif-8b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.136680 -3.728935 0
+ -1.078903 -3.046478 0
+ -1.314898 -3.786643 0
+ -1.929437 -2.904267 0
+ -3.524991 -3.316601 0
+ -3.076802 -2.079599 0
+ -4.436465 -1.104885 0
+ -3.749934 -0.396900 0
+ -4.651005 0.000000 0
+ -3.417426 0.376479 0
+ -4.385515 1.452133 0
+ -3.274005 1.487989 0
+ -3.589029 2.810483 0
+ -2.419782 2.295585 0
+ -2.072858 3.693080 0
+ -1.194407 2.438150 0
+ -0.477304 3.800646 0
+ 0.615176 2.377496 0
+ 0.544568 -2.993905 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -2.474005 1.487989 0
+ -2.789029 2.810483 0
+ -1.619782 2.295585 0
+ -1.272858 3.693080 0
+ -0.394407 2.438150 0
+ 0.322696 3.800646 0
+ 1.415176 2.377496 0
+ 2.563761 3.218110 0
+ 2.113226 2.027409 0
+ 2.726572 1.028361 0
+ 3.765189 0.278903 0
+ 3.014297 -0.418354 0
+ 3.722281 -1.426696 0
+ 2.545715 -1.487989 0
+ 2.317039 -2.005955 0
+ 2.284858 -3.164475 0
+ 1.344568 -2.993905 0
+ 0.663320 -3.728935 0
+ -0.278903 -3.046478 0
+ -0.514898 -3.786643 0
+ -1.129437 -2.904267 0
+ -2.724991 -3.316601 0
+ -2.276802 -2.079599 0
+ -3.636465 -1.104885 0
+ -2.949934 -0.396900 0
+ -3.851005 0.000000 0
+ -2.617426 0.376479 0
+ -3.585515 1.452133 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.536352 2.510126 0
+ 1.624046 3.752650 0
+ 2.005955 2.821210 0
+ 1.684144 1.566147 0
+ 2.964278 1.624046 0
+ 3.815719 0.930279 0
+ 2.317039 -0.075089 0
+ 3.689580 -1.576744 0
+ 2.664697 -1.813255 0
+ 1.898685 -1.641236 0
+ 1.855777 -2.628123 0
+ 1.687116 -3.579208 0
+ 0.504171 -2.317039 0
+ -0.418354 -2.445764 0
+ -0.632895 -2.939207 0
+ -1.434837 -3.547673 0
+ -1.426696 -1.877231 0
+ -3.295394 -2.317813 0
+ -2.916976 -1.009116 0
+ -1.748507 -0.278903 0
+ -3.074650 -0.252279 0
+ -3.705347 0.630697 0
+ -1.201428 0.825982 0
+ -3.153487 2.443952 0
+ -0.922525 2.166861 0
+ -0.972167 3.888667 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -2.220496 -1.308698 0 -2.928480 -1.276517 0
+ L3 26624 0.000000 -3.078659 -1.877231 0 -2.595942 -1.759234 0
+ L3 26624 0.000000 -0.986887 -3.164475 0 -0.911798 -2.274131 0
+ L3 26624 0.000000 -0.911798 -2.274131 0 -1.448150 -2.907026 0
+ L3 26624 0.000000 1.276517 -3.196656 0 1.362333 -2.445764 0
+ L3 26624 0.000000 1.362333 -2.445764 0 1.769961 -2.907026 0
+ L3 26624 0.000000 3.067932 -1.651963 0 2.070318 -1.190701 0
+ L3 26624 0.000000 2.070318 -1.190701 0 3.067932 -0.954706 0
+ L3 26624 0.000000 2.789029 0.675803 0 2.038136 0.686530 0
+ L3 26624 0.000000 2.038136 0.686530 0 2.660304 1.523239 0
+ L3 26624 0.000000 1.909412 2.531580 0 1.083430 1.812869 0
+ L3 26624 0.000000 1.083430 1.812869 0 1.104885 3.121567 0
+ L3 26624 0.000000 -0.386173 3.336108 0 -0.396900 2.231223 0
+ L3 26624 0.000000 -0.396900 2.231223 0 -0.933252 2.692486 0
+ L3 26624 0.000000 -0.514898 -2.359948 0 -0.643622 -1.812869 0
+ L3 26624 0.000000 0.868890 -2.499399 0 0.879617 -1.866504 0
+ L3 26624 0.000000 1.673417 -2.145407 0 1.169247 -1.727052 0
+ L3 26624 0.000000 1.941593 -1.641236 0 1.394514 -0.858163 0
+ L3 26624 0.000000 2.510126 -0.450535 0 1.834323 -0.632895 0
+ L3 26624 0.000000 2.574488 0.182360 0 1.458877 0.343265 0
+ L3 26624 0.000000 1.566147 0.793801 0 2.091772 1.544693 0
+ L3 26624 0.000000 1.673417 1.759234 0 0.825982 1.137066 0
+ L3 26624 0.000000 0.665076 1.491058 0 0.450535 2.145407 0
+ L3 26624 0.000000 0.032181 2.134680 0 -0.117997 1.276517 0
+ L3 26624 0.000000 -0.868890 1.941593 0 -0.632895 1.094157 0
+ L3 26624 0.000000 -1.641236 -0.311084 0 -0.858163 0.075089 0
+ L3 26624 0.000000 -0.697257 -1.061976 0 -0.353992 -0.386173 0
+ L3 26624 0.000000 0.536352 -1.587601 0 0.150178 -0.858163 0
+ L3 26624 0.000000 1.029795 -1.169247 0 0.579260 -0.697257 0
+ L3 26624 0.000000 1.426696 -0.311084 0 0.568533 -0.171633 0
+ L3 26624 0.000000 0.922525 0.568533 0 0.396900 0.246722 0
+ L3 26624 0.000000 0.107270 0.804528 0 0.139451 0.396900 0
+ L3 26624 0.000000 -0.160906 0.268176 0 -0.493444 0.718711 0
+ L3 26624 0.000000 -0.654349 -0.278903 0 -0.203814 -0.021454 0
+ L3 26624 0.000000 0.343265 -0.547079 0 0.128724 -0.117997 0
+ L3 26624 0.000000 -1.955328 -0.693379 0 -2.482296 -0.956863 0
+ L3 26624 0.000000 -2.440694 0.568571 0 -1.775050 0.360557 0
+ L3 26624 0.000000 -1.927593 2.066269 0 -1.331287 1.885991 0
+ F4 32768 0.000000 4 0
+ -1.802785 -1.067803 0
+ -1.456096 -0.665644 0
+ -0.845922 -0.429895 0
+ -1.234214 -0.929128 0
+ F4 32768 0.000000 4 0
+ -1.636374 0.568571 0
+ -0.887525 0.637909 0
+ -0.554703 0.332822 0
+ -1.164876 0.346689 0
+ F4 32768 0.000000 4 0
+ -0.818187 -1.345155 0
+ -0.942995 -1.788917 0
+ -1.400625 -2.010799 0
+ -1.275817 -1.650242 0
+ F4 32768 0.000000 4 0
+ -2.718045 -0.013868 0
+ -2.121739 -0.152543 0
+ -1.469963 0.055470 0
+ -2.135607 0.166411 0
+ F4 32768 0.000000 4 0
+ -2.246548 -1.761182 0
+ -1.913726 -1.428360 0
+ -1.400625 -1.317420 0
+ -1.691844 -1.650242 0
+ F4 32768 0.000000 4 0
+ -1.899858 1.830520 0
+ -1.456096 1.372890 0
+ -0.942995 1.178744 0
+ -1.442228 1.677977 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 9"" Conif-9a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -1.213766 3.427287 0
+ -0.153765 4.195052 0
+ 0.612639 3.368143 0
+ 0.692073 -2.674683 0
+ -0.536967 -4.275726 0
+ -1.343707 -2.742919 0
+ -2.331965 -4.154715 0
+ -2.722255 -2.582533 0
+ -4.037657 -3.161793 0
+ -3.683256 -1.673987 0
+ -4.933704 -1.633650 0
+ -3.844604 -0.423539 0
+ -5.232381 0.000000 0
+ -4.218676 0.446513 0
+ -4.991023 1.242995 0
+ -3.461402 2.339548 0
+ -3.965615 3.731176 0
+ -2.170617 3.267300 0
+ -1.479260 4.259973 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -2.783256 -1.673987 0
+ -3.137657 -3.161793 0
+ -1.822255 -2.582533 0
+ -1.431965 -4.154715 0
+ -0.443707 -2.742919 0
+ 0.363033 -4.275726 0
+ 1.592073 -2.674683 0
+ 2.884231 -3.620374 0
+ 2.377379 -2.280836 0
+ 3.067394 -1.156906 0
+ 4.235838 -0.313766 0
+ 3.391084 0.470649 0
+ 4.187566 1.605032 0
+ 2.863930 1.673987 0
+ 2.606669 2.256700 0
+ 2.570466 3.560034 0
+ 1.512639 3.368143 0
+ 0.746235 4.195052 0
+ -0.313766 3.427287 0
+ -0.579260 4.259973 0
+ -1.270617 3.267300 0
+ -3.065615 3.731176 0
+ -2.561402 2.339548 0
+ -4.091023 1.242995 0
+ -3.318676 0.446513 0
+ -4.332381 0.000000 0
+ -2.944604 -0.423539 0
+ -4.033704 -1.633650 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.603396 -2.823892 0
+ 1.827052 -4.221731 0
+ 2.256700 -3.173861 0
+ 1.894662 -1.761915 0
+ 3.334813 -1.827052 0
+ 4.292684 -1.046564 0
+ 2.606669 0.084475 0
+ 4.150777 1.773836 0
+ 2.997784 2.039912 0
+ 2.136021 1.846391 0
+ 2.087749 2.956639 0
+ 1.898005 4.026609 0
+ 0.567192 2.606669 0
+ -0.470649 2.751484 0
+ -0.712007 3.306608 0
+ -1.614191 3.991132 0
+ -1.605032 2.111885 0
+ -3.707318 2.607540 0
+ -3.281597 1.135255 0
+ -1.967070 0.313766 0
+ -3.458981 0.283814 0
+ -4.168516 -0.709535 0
+ -1.351606 -0.929229 0
+ -3.547673 -2.749447 0
+ -1.037841 -2.437719 0
+ -1.093687 -4.374750 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -2.498058 1.472285 0 -3.294540 1.436082 0
+ L3 26624 0.000000 -3.463491 2.111885 0 -2.920435 1.979138 0
+ L3 26624 0.000000 -1.110248 3.560034 0 -1.025773 2.558398 0
+ L3 26624 0.000000 -1.025773 2.558398 0 -1.629168 3.270405 0
+ L3 26624 0.000000 1.436082 3.596238 0 1.532625 2.751484 0
+ L3 26624 0.000000 1.532625 2.751484 0 1.991206 3.270405 0
+ L3 26624 0.000000 3.451423 1.858459 0 2.329107 1.339538 0
+ L3 26624 0.000000 2.329107 1.339538 0 3.451423 1.074044 0
+ L3 26624 0.000000 3.137657 -0.760279 0 2.292904 -0.772346 0
+ L3 26624 0.000000 2.292904 -0.772346 0 2.992843 -1.713644 0
+ L3 26624 0.000000 2.148089 -2.848028 0 1.218859 -2.039477 0
+ L3 26624 0.000000 1.218859 -2.039477 0 1.242995 -3.511763 0
+ L3 26624 0.000000 -0.434445 -3.753121 0 -0.446513 -2.510126 0
+ L3 26624 0.000000 -0.446513 -2.510126 0 -1.049908 -3.029046 0
+ L3 26624 0.000000 -0.579260 2.654941 0 -0.724075 2.039477 0
+ L3 26624 0.000000 0.977501 2.811824 0 0.989569 2.099817 0
+ L3 26624 0.000000 1.882594 2.413583 0 1.315403 1.942934 0
+ L3 26624 0.000000 2.184292 1.846391 0 1.568829 0.965433 0
+ L3 26624 0.000000 2.823892 0.506852 0 2.063613 0.712007 0
+ L3 26624 0.000000 2.896299 -0.205155 0 1.641236 -0.386173 0
+ L3 26624 0.000000 1.761915 -0.893026 0 2.353243 -1.737780 0
+ L3 26624 0.000000 1.882594 -1.979138 0 0.929229 -1.279199 0
+ L3 26624 0.000000 0.748211 -1.677440 0 0.506852 -2.413583 0
+ L3 26624 0.000000 0.036204 -2.401515 0 -0.132747 -1.436082 0
+ L3 26624 0.000000 -0.977501 -2.184292 0 -0.712007 -1.230927 0
+ L3 26624 0.000000 -1.846391 0.349969 0 -0.965433 -0.084475 0
+ L3 26624 0.000000 -0.784414 1.194723 0 -0.398241 0.434445 0
+ L3 26624 0.000000 0.603396 1.786051 0 0.168951 0.965433 0
+ L3 26624 0.000000 1.158520 1.315403 0 0.651667 0.784414 0
+ L3 26624 0.000000 1.605032 0.349969 0 0.639599 0.193087 0
+ L3 26624 0.000000 1.037841 -0.639599 0 0.446513 -0.277562 0
+ L3 26624 0.000000 0.120679 -0.905094 0 0.156883 -0.446513 0
+ L3 26624 0.000000 -0.181019 -0.301698 0 -0.555124 -0.808550 0
+ L3 26624 0.000000 -0.736143 0.313766 0 -0.229290 0.024136 0
+ L3 26624 0.000000 0.386173 0.615464 0 0.144815 0.132747 0
+ L3 26624 0.000000 -2.199744 0.780051 0 -2.792583 1.076471 0
+ L3 26624 0.000000 -2.745780 -0.639642 0 -1.996931 -0.405627 0
+ L3 26624 0.000000 -2.168542 -2.324553 0 -1.497698 -2.121739 0
+ F4 32768 0.000000 4 0
+ -2.028133 1.201279 0
+ -1.638108 0.748849 0
+ -0.951662 0.483632 0
+ -1.388491 1.045269 0
+ F4 32768 0.000000 4 0
+ -1.840921 -0.639642 0
+ -0.998466 -0.717647 0
+ -0.624041 -0.374425 0
+ -1.310486 -0.390026 0
+ F4 32768 0.000000 4 0
+ -0.920460 1.513299 0
+ -1.060870 2.012532 0
+ -1.575703 2.262149 0
+ -1.435294 1.856522 0
+ F4 32768 0.000000 4 0
+ -3.057801 0.015601 0
+ -2.386957 0.171611 0
+ -1.653709 -0.062404 0
+ -2.402558 -0.187212 0
+ F4 32768 0.000000 4 0
+ -2.527366 1.981330 0
+ -2.152941 1.606906 0
+ -1.575703 1.482097 0
+ -1.903325 1.856522 0
+ F4 32768 0.000000 4 0
+ -2.137340 -2.059335 0
+ -1.638108 -1.544501 0
+ -1.060870 -1.326087 0
+ -1.622507 -1.887724 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 9"" Conif-9b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.153765 -4.195052 0
+ -1.213766 -3.427287 0
+ -1.479260 -4.259973 0
+ -2.170617 -3.267300 0
+ -3.965615 -3.731176 0
+ -3.461402 -2.339548 0
+ -4.991023 -1.242995 0
+ -4.218676 -0.446513 0
+ -5.232381 0.000000 0
+ -3.844604 0.423539 0
+ -4.933704 1.633650 0
+ -3.683256 1.673987 0
+ -4.037657 3.161793 0
+ -2.722255 2.582533 0
+ -2.331965 4.154715 0
+ -1.343707 2.742919 0
+ -0.536967 4.275726 0
+ 0.692073 2.674683 0
+ 0.612639 -3.368143 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -2.783256 1.673987 0
+ -3.137657 3.161793 0
+ -1.822255 2.582533 0
+ -1.431965 4.154715 0
+ -0.443707 2.742919 0
+ 0.363033 4.275726 0
+ 1.592073 2.674683 0
+ 2.884231 3.620374 0
+ 2.377379 2.280836 0
+ 3.067394 1.156906 0
+ 4.235838 0.313766 0
+ 3.391084 -0.470649 0
+ 4.187566 -1.605032 0
+ 2.863930 -1.673987 0
+ 2.606669 -2.256700 0
+ 2.570466 -3.560034 0
+ 1.512639 -3.368143 0
+ 0.746235 -4.195052 0
+ -0.313766 -3.427287 0
+ -0.579260 -4.259973 0
+ -1.270617 -3.267300 0
+ -3.065615 -3.731176 0
+ -2.561402 -2.339548 0
+ -4.091023 -1.242995 0
+ -3.318676 -0.446513 0
+ -4.332381 0.000000 0
+ -2.944604 0.423539 0
+ -4.033704 1.633650 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.603396 2.823892 0
+ 1.827052 4.221731 0
+ 2.256700 3.173861 0
+ 1.894662 1.761915 0
+ 3.334813 1.827052 0
+ 4.292684 1.046564 0
+ 2.606669 -0.084475 0
+ 4.150777 -1.773836 0
+ 2.997784 -2.039912 0
+ 2.136021 -1.846391 0
+ 2.087749 -2.956639 0
+ 1.898005 -4.026609 0
+ 0.567192 -2.606669 0
+ -0.470649 -2.751484 0
+ -0.712007 -3.306608 0
+ -1.614191 -3.991132 0
+ -1.605032 -2.111885 0
+ -3.707318 -2.607540 0
+ -3.281597 -1.135255 0
+ -1.967070 -0.313766 0
+ -3.458981 -0.283814 0
+ -4.168516 0.709535 0
+ -1.351606 0.929229 0
+ -3.547673 2.749447 0
+ -1.037841 2.437719 0
+ -1.093687 4.374750 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -2.498058 -1.472285 0 -3.294540 -1.436082 0
+ L3 26624 0.000000 -3.463491 -2.111885 0 -2.920435 -1.979138 0
+ L3 26624 0.000000 -1.110248 -3.560034 0 -1.025773 -2.558398 0
+ L3 26624 0.000000 -1.025773 -2.558398 0 -1.629168 -3.270405 0
+ L3 26624 0.000000 1.436082 -3.596238 0 1.532625 -2.751484 0
+ L3 26624 0.000000 1.532625 -2.751484 0 1.991206 -3.270405 0
+ L3 26624 0.000000 3.451423 -1.858459 0 2.329107 -1.339538 0
+ L3 26624 0.000000 2.329107 -1.339538 0 3.451423 -1.074044 0
+ L3 26624 0.000000 3.137657 0.760279 0 2.292904 0.772346 0
+ L3 26624 0.000000 2.292904 0.772346 0 2.992843 1.713644 0
+ L3 26624 0.000000 2.148089 2.848028 0 1.218859 2.039477 0
+ L3 26624 0.000000 1.218859 2.039477 0 1.242995 3.511763 0
+ L3 26624 0.000000 -0.434445 3.753121 0 -0.446513 2.510126 0
+ L3 26624 0.000000 -0.446513 2.510126 0 -1.049908 3.029046 0
+ L3 26624 0.000000 -0.579260 -2.654941 0 -0.724075 -2.039477 0
+ L3 26624 0.000000 0.977501 -2.811824 0 0.989569 -2.099817 0
+ L3 26624 0.000000 1.882594 -2.413583 0 1.315403 -1.942934 0
+ L3 26624 0.000000 2.184292 -1.846391 0 1.568829 -0.965433 0
+ L3 26624 0.000000 2.823892 -0.506852 0 2.063613 -0.712007 0
+ L3 26624 0.000000 2.896299 0.205155 0 1.641236 0.386173 0
+ L3 26624 0.000000 1.761915 0.893026 0 2.353243 1.737780 0
+ L3 26624 0.000000 1.882594 1.979138 0 0.929229 1.279199 0
+ L3 26624 0.000000 0.748211 1.677440 0 0.506852 2.413583 0
+ L3 26624 0.000000 0.036204 2.401515 0 -0.132747 1.436082 0
+ L3 26624 0.000000 -0.977501 2.184292 0 -0.712007 1.230927 0
+ L3 26624 0.000000 -1.846391 -0.349969 0 -0.965433 0.084475 0
+ L3 26624 0.000000 -0.784414 -1.194723 0 -0.398241 -0.434445 0
+ L3 26624 0.000000 0.603396 -1.786051 0 0.168951 -0.965433 0
+ L3 26624 0.000000 1.158520 -1.315403 0 0.651667 -0.784414 0
+ L3 26624 0.000000 1.605032 -0.349969 0 0.639599 -0.193087 0
+ L3 26624 0.000000 1.037841 0.639599 0 0.446513 0.277562 0
+ L3 26624 0.000000 0.120679 0.905094 0 0.156883 0.446513 0
+ L3 26624 0.000000 -0.181019 0.301698 0 -0.555124 0.808550 0
+ L3 26624 0.000000 -0.736143 -0.313766 0 -0.229290 -0.024136 0
+ L3 26624 0.000000 0.386173 -0.615464 0 0.144815 -0.132747 0
+ L3 26624 0.000000 -2.199744 -0.780051 0 -2.792583 -1.076471 0
+ L3 26624 0.000000 -2.745780 0.639642 0 -1.996931 0.405627 0
+ L3 26624 0.000000 -2.168542 2.324553 0 -1.497698 2.121739 0
+ F4 32768 0.000000 4 0
+ -2.028133 -1.201279 0
+ -1.638108 -0.748849 0
+ -0.951662 -0.483632 0
+ -1.388491 -1.045269 0
+ F4 32768 0.000000 4 0
+ -1.840921 0.639642 0
+ -0.998466 0.717647 0
+ -0.624041 0.374425 0
+ -1.310486 0.390026 0
+ F4 32768 0.000000 4 0
+ -0.920460 -1.513299 0
+ -1.060870 -2.012532 0
+ -1.575703 -2.262149 0
+ -1.435294 -1.856522 0
+ F4 32768 0.000000 4 0
+ -3.057801 -0.015601 0
+ -2.386957 -0.171611 0
+ -1.653709 0.062404 0
+ -2.402558 0.187212 0
+ F4 32768 0.000000 4 0
+ -2.527366 -1.981330 0
+ -2.152941 -1.606906 0
+ -1.575703 -1.482097 0
+ -1.903325 -1.856522 0
+ F4 32768 0.000000 4 0
+ -2.137340 2.059335 0
+ -1.638108 1.544501 0
+ -1.060870 1.326087 0
+ -1.622507 1.887724 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 10"" Conif-10a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -1.348629 3.808097 0
+ -0.170850 4.661169 0
+ 0.680710 3.742381 0
+ 0.768970 -2.971870 0
+ -0.596630 -4.750807 0
+ -1.493008 -3.047688 0
+ -2.591072 -4.616350 0
+ -3.024728 -2.869482 0
+ -4.486286 -3.513104 0
+ -4.092507 -1.859986 0
+ -5.481893 -1.815167 0
+ -4.271782 -0.470599 0
+ -5.813757 0.000000 0
+ -4.687418 0.496125 0
+ -5.545581 1.381106 0
+ -3.846002 2.599498 0
+ -4.406239 4.145751 0
+ -2.411796 3.630334 0
+ -1.643622 4.733304 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -3.092507 -1.859986 0
+ -3.486286 -3.513104 0
+ -2.024728 -2.869482 0
+ -1.591072 -4.616350 0
+ -0.493008 -3.047688 0
+ 0.403370 -4.750807 0
+ 1.768970 -2.971870 0
+ 3.204701 -4.022638 0
+ 2.641532 -2.534262 0
+ 3.408216 -1.285452 0
+ 4.706486 -0.348629 0
+ 3.767871 0.522943 0
+ 4.652851 1.783369 0
+ 3.182144 1.859986 0
+ 2.896299 2.507444 0
+ 2.856073 3.955594 0
+ 1.680710 3.742381 0
+ 0.829150 4.661169 0
+ -0.348629 3.808097 0
+ -0.643622 4.733304 0
+ -1.411796 3.630334 0
+ -3.406239 4.145751 0
+ -2.846002 2.599498 0
+ -4.545581 1.381106 0
+ -3.687418 0.496125 0
+ -4.813757 0.000000 0
+ -3.271782 -0.470599 0
+ -4.481893 -1.815167 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.670440 -3.137657 0
+ 2.030057 -4.690812 0
+ 2.507444 -3.526512 0
+ 2.105180 -1.957684 0
+ 3.705347 -2.030057 0
+ 4.769649 -1.162848 0
+ 2.896299 0.093862 0
+ 4.611975 1.970929 0
+ 3.330871 2.266569 0
+ 2.373356 2.051545 0
+ 2.319721 3.285154 0
+ 2.108894 4.474010 0
+ 0.630213 2.896299 0
+ -0.522943 3.057205 0
+ -0.791119 3.674009 0
+ -1.793546 4.434591 0
+ -1.783369 2.346539 0
+ -4.119242 2.897266 0
+ -3.646219 1.261395 0
+ -2.185633 0.348629 0
+ -3.843312 0.315349 0
+ -4.631684 -0.788372 0
+ -1.501785 -1.032477 0
+ -3.941859 -3.054941 0
+ -1.153156 -2.708576 0
+ -1.215208 -4.860833 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -2.775620 1.635873 0 -3.660600 1.595646 0
+ L3 26624 0.000000 -3.848324 2.346539 0 -3.244928 2.199042 0
+ L3 26624 0.000000 -1.233609 3.955594 0 -1.139747 2.842664 0
+ L3 26624 0.000000 -1.139747 2.842664 0 -1.810187 3.633783 0
+ L3 26624 0.000000 1.595646 3.995820 0 1.702917 3.057205 0
+ L3 26624 0.000000 1.702917 3.057205 0 2.212451 3.633783 0
+ L3 26624 0.000000 3.834915 2.064954 0 2.587897 1.488376 0
+ L3 26624 0.000000 2.587897 1.488376 0 3.834915 1.193383 0
+ L3 26624 0.000000 3.486286 -0.844754 0 2.547671 -0.858163 0
+ L3 26624 0.000000 2.547671 -0.858163 0 3.325381 -1.904049 0
+ L3 26624 0.000000 2.386765 -3.164475 0 1.354288 -2.266086 0
+ L3 26624 0.000000 1.354288 -2.266086 0 1.381106 -3.901959 0
+ L3 26624 0.000000 -0.482717 -4.170135 0 -0.496125 -2.789029 0
+ L3 26624 0.000000 -0.496125 -2.789029 0 -1.166565 -3.365607 0
+ L3 26624 0.000000 -0.643622 2.949934 0 -0.804528 2.266086 0
+ L3 26624 0.000000 1.086112 3.124249 0 1.099521 2.333130 0
+ L3 26624 0.000000 2.091772 2.681759 0 1.461558 2.158816 0
+ L3 26624 0.000000 2.426991 2.051545 0 1.743143 1.072703 0
+ L3 26624 0.000000 3.137657 0.563169 0 2.292904 0.791119 0
+ L3 26624 0.000000 3.218110 -0.227949 0 1.823596 -0.429081 0
+ L3 26624 0.000000 1.957684 -0.992251 0 2.614715 -1.930866 0
+ L3 26624 0.000000 2.091772 -2.199042 0 1.032477 -1.421332 0
+ L3 26624 0.000000 0.831345 -1.863822 0 0.563169 -2.681759 0
+ L3 26624 0.000000 0.040226 -2.668350 0 -0.147497 -1.595646 0
+ L3 26624 0.000000 -1.086112 -2.426991 0 -0.791119 -1.367697 0
+ L3 26624 0.000000 -2.051545 0.388855 0 -1.072703 -0.093862 0
+ L3 26624 0.000000 -0.871572 1.327470 0 -0.442490 0.482717 0
+ L3 26624 0.000000 0.670440 1.984501 0 0.187723 1.072703 0
+ L3 26624 0.000000 1.287244 1.461558 0 0.724075 0.871572 0
+ L3 26624 0.000000 1.783369 0.388855 0 0.710666 0.214541 0
+ L3 26624 0.000000 1.153156 -0.710666 0 0.496125 -0.308402 0
+ L3 26624 0.000000 0.134088 -1.005659 0 0.174314 -0.496125 0
+ L3 26624 0.000000 -0.201132 -0.335220 0 -0.616804 -0.898389 0
+ L3 26624 0.000000 -0.817936 0.348629 0 -0.254767 0.026818 0
+ L3 26624 0.000000 0.429081 0.683848 0 0.160906 0.147497 0
+ L3 26624 0.000000 -2.444160 0.866724 0 -3.102870 1.196079 0
+ L3 26624 0.000000 -3.050867 -0.710713 0 -2.218812 -0.450696 0
+ L3 26624 0.000000 -2.409492 -2.582836 0 -1.664109 -2.357488 0
+ F4 32768 0.000000 4 0
+ -2.253481 1.334754 0
+ -1.820120 0.832055 0
+ -1.057403 0.537369 0
+ -1.542768 1.161410 0
+ F4 32768 0.000000 4 0
+ -2.045468 -0.710713 0
+ -1.109406 -0.797386 0
+ -0.693379 -0.416027 0
+ -1.456096 -0.433362 0
+ F4 32768 0.000000 4 0
+ -1.022734 1.681444 0
+ -1.178744 2.236147 0
+ -1.750782 2.513498 0
+ -1.594771 2.062802 0
+ F4 32768 0.000000 4 0
+ -3.397556 0.017334 0
+ -2.652174 0.190679 0
+ -1.837454 -0.069338 0
+ -2.669509 -0.208014 0
+ F4 32768 0.000000 4 0
+ -2.808184 2.201478 0
+ -2.392157 1.785451 0
+ -1.750782 1.646775 0
+ -2.114806 2.062802 0
+ F4 32768 0.000000 4 0
+ -2.374823 -2.288150 0
+ -1.820120 -1.716113 0
+ -1.178744 -1.473430 0
+ -1.802785 -2.097471 0
+ END$SEGS
+
+STRUCTURE * "Sm Conif 10"" Conif-10b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 19 0
+ -0.170850 -4.661169 0
+ -1.348629 -3.808097 0
+ -1.643622 -4.733304 0
+ -2.411796 -3.630334 0
+ -4.406239 -4.145751 0
+ -3.846002 -2.599498 0
+ -5.545581 -1.381106 0
+ -4.687418 -0.496125 0
+ -5.813757 0.000000 0
+ -4.271782 0.470599 0
+ -5.481893 1.815167 0
+ -4.092507 1.859986 0
+ -4.486286 3.513104 0
+ -3.024728 2.869482 0
+ -2.591072 4.616350 0
+ -1.493008 3.047688 0
+ -0.596630 4.750807 0
+ 0.768970 2.971870 0
+ 0.680710 -3.742381 0
+# Layer: XTRKCAD2
+ F4 32768 0.000000 28 0
+ -3.092507 1.859986 0
+ -3.486286 3.513104 0
+ -2.024728 2.869482 0
+ -1.591072 4.616350 0
+ -0.493008 3.047688 0
+ 0.403370 4.750807 0
+ 1.768970 2.971870 0
+ 3.204701 4.022638 0
+ 2.641532 2.534262 0
+ 3.408216 1.285452 0
+ 4.706486 0.348629 0
+ 3.767871 -0.522943 0
+ 4.652851 -1.783369 0
+ 3.182144 -1.859986 0
+ 2.896299 -2.507444 0
+ 2.856073 -3.955594 0
+ 1.680710 -3.742381 0
+ 0.829150 -4.661169 0
+ -0.348629 -3.808097 0
+ -0.643622 -4.733304 0
+ -1.411796 -3.630334 0
+ -3.406239 -4.145751 0
+ -2.846002 -2.599498 0
+ -4.545581 -1.381106 0
+ -3.687418 -0.496125 0
+ -4.813757 0.000000 0
+ -3.271782 0.470599 0
+ -4.481893 1.815167 0
+# Layer: XTRKCAD3
+ F4 6356906 0.000000 26 0
+ 0.670440 3.137657 0
+ 2.030057 4.690812 0
+ 2.507444 3.526512 0
+ 2.105180 1.957684 0
+ 3.705347 2.030057 0
+ 4.769649 1.162848 0
+ 2.896299 -0.093862 0
+ 4.611975 -1.970929 0
+ 3.330871 -2.266569 0
+ 2.373356 -2.051545 0
+ 2.319721 -3.285154 0
+ 2.108894 -4.474010 0
+ 0.630213 -2.896299 0
+ -0.522943 -3.057205 0
+ -0.791119 -3.674009 0
+ -1.793546 -4.434591 0
+ -1.783369 -2.346539 0
+ -4.119242 -2.897266 0
+ -3.646219 -1.261395 0
+ -2.185633 -0.348629 0
+ -3.843312 -0.315349 0
+ -4.631684 0.788372 0
+ -1.501785 1.032477 0
+ -3.941859 3.054941 0
+ -1.153156 2.708576 0
+ -1.215208 4.860833 0
+# Layer: XTRKCAD4
+ L3 26624 0.000000 -2.775620 -1.635873 0 -3.660600 -1.595646 0
+ L3 26624 0.000000 -3.848324 -2.346539 0 -3.244928 -2.199042 0
+ L3 26624 0.000000 -1.233609 -3.955594 0 -1.139747 -2.842664 0
+ L3 26624 0.000000 -1.139747 -2.842664 0 -1.810187 -3.633783 0
+ L3 26624 0.000000 1.595646 -3.995820 0 1.702917 -3.057205 0
+ L3 26624 0.000000 1.702917 -3.057205 0 2.212451 -3.633783 0
+ L3 26624 0.000000 3.834915 -2.064954 0 2.587897 -1.488376 0
+ L3 26624 0.000000 2.587897 -1.488376 0 3.834915 -1.193383 0
+ L3 26624 0.000000 3.486286 0.844754 0 2.547671 0.858163 0
+ L3 26624 0.000000 2.547671 0.858163 0 3.325381 1.904049 0
+ L3 26624 0.000000 2.386765 3.164475 0 1.354288 2.266086 0
+ L3 26624 0.000000 1.354288 2.266086 0 1.381106 3.901959 0
+ L3 26624 0.000000 -0.482717 4.170135 0 -0.496125 2.789029 0
+ L3 26624 0.000000 -0.496125 2.789029 0 -1.166565 3.365607 0
+ L3 26624 0.000000 -0.643622 -2.949934 0 -0.804528 -2.266086 0
+ L3 26624 0.000000 1.086112 -3.124249 0 1.099521 -2.333130 0
+ L3 26624 0.000000 2.091772 -2.681759 0 1.461558 -2.158816 0
+ L3 26624 0.000000 2.426991 -2.051545 0 1.743143 -1.072703 0
+ L3 26624 0.000000 3.137657 -0.563169 0 2.292904 -0.791119 0
+ L3 26624 0.000000 3.218110 0.227949 0 1.823596 0.429081 0
+ L3 26624 0.000000 1.957684 0.992251 0 2.614715 1.930866 0
+ L3 26624 0.000000 2.091772 2.199042 0 1.032477 1.421332 0
+ L3 26624 0.000000 0.831345 1.863822 0 0.563169 2.681759 0
+ L3 26624 0.000000 0.040226 2.668350 0 -0.147497 1.595646 0
+ L3 26624 0.000000 -1.086112 2.426991 0 -0.791119 1.367697 0
+ L3 26624 0.000000 -2.051545 -0.388855 0 -1.072703 0.093862 0
+ L3 26624 0.000000 -0.871572 -1.327470 0 -0.442490 -0.482717 0
+ L3 26624 0.000000 0.670440 -1.984501 0 0.187723 -1.072703 0
+ L3 26624 0.000000 1.287244 -1.461558 0 0.724075 -0.871572 0
+ L3 26624 0.000000 1.783369 -0.388855 0 0.710666 -0.214541 0
+ L3 26624 0.000000 1.153156 0.710666 0 0.496125 0.308402 0
+ L3 26624 0.000000 0.134088 1.005659 0 0.174314 0.496125 0
+ L3 26624 0.000000 -0.201132 0.335220 0 -0.616804 0.898389 0
+ L3 26624 0.000000 -0.817936 -0.348629 0 -0.254767 -0.026818 0
+ L3 26624 0.000000 0.429081 -0.683848 0 0.160906 -0.147497 0
+ L3 26624 0.000000 -2.444160 -0.866724 0 -3.102870 -1.196079 0
+ L3 26624 0.000000 -3.050867 0.710713 0 -2.218812 0.450696 0
+ L3 26624 0.000000 -2.409492 2.582836 0 -1.664109 2.357488 0
+ F4 32768 0.000000 4 0
+ -2.253481 -1.334754 0
+ -1.820120 -0.832055 0
+ -1.057403 -0.537369 0
+ -1.542768 -1.161410 0
+ F4 32768 0.000000 4 0
+ -2.045468 0.710713 0
+ -1.109406 0.797386 0
+ -0.693379 0.416027 0
+ -1.456096 0.433362 0
+ F4 32768 0.000000 4 0
+ -1.022734 -1.681444 0
+ -1.178744 -2.236147 0
+ -1.750782 -2.513498 0
+ -1.594771 -2.062802 0
+ F4 32768 0.000000 4 0
+ -3.397556 -0.017334 0
+ -2.652174 -0.190679 0
+ -1.837454 0.069338 0
+ -2.669509 0.208014 0
+ F4 32768 0.000000 4 0
+ -2.808184 -2.201478 0
+ -2.392157 -1.785451 0
+ -1.750782 -1.646775 0
+ -2.114806 -2.062802 0
+ F4 32768 0.000000 4 0
+ -2.374823 2.288150 0
+ -1.820120 1.716113 0
+ -1.178744 1.473430 0
+ -1.802785 2.097471 0
+ END$SEGS
+
diff --git a/app/lib/params/TreeSmDecid.xtp b/app/lib/params/TreeSmDecid.xtp
new file mode 100644
index 0000000..db4d128
--- /dev/null
+++ b/app/lib/params/TreeSmDecid.xtp
@@ -0,0 +1,3483 @@
+CONTENTS Small Deciduous Trees
+
+# DxfToXtp version 0.6 by Russell Shilling 2021
+STRUCTURE * "Sm Decid 1"" Decid-1a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -0.302473 -0.286948 0
+ -0.259565 -0.449195 0
+ -0.163021 -0.490762 0
+ -0.054410 -0.356674 0
+ 0.070292 -0.473330 0
+ 0.220470 -0.402264 0
+ 0.185607 0.395559 0
+ 0.043474 0.470649 0
+ -0.015525 0.379469 0
+ -0.134863 0.380810 0
+ -0.164362 0.473330 0
+ -0.348063 0.414332 0
+ -0.325268 0.305720 0
+ -0.476787 0.294993 0
+ -0.554558 0.138111 0
+ -0.468742 0.049613 0
+ -0.581376 0.000000 0
+ -0.551876 -0.112634 0
+ -0.432538 -0.155542 0
+ -0.518354 -0.225268 0
+ -0.448629 -0.351310 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -0.418354 -0.225268 0
+ -0.348629 -0.351310 0
+ -0.202473 -0.286948 0
+ -0.159565 -0.449195 0
+ -0.063021 -0.490762 0
+ 0.045590 -0.356674 0
+ 0.170292 -0.473330 0
+ 0.320470 -0.402264 0
+ 0.264153 -0.253426 0
+ 0.443831 -0.203814 0
+ 0.470649 -0.034863 0
+ 0.376787 0.052294 0
+ 0.465285 0.178337 0
+ 0.398241 0.290971 0
+ 0.289630 0.250744 0
+ 0.285607 0.395559 0
+ 0.143474 0.470649 0
+ 0.084475 0.379469 0
+ -0.034863 0.380810 0
+ -0.064362 0.473330 0
+ -0.248063 0.414332 0
+ -0.225268 0.305720 0
+ -0.376787 0.294993 0
+ -0.454558 0.138111 0
+ -0.368742 0.049613 0
+ -0.481376 0.000000 0
+ -0.451876 -0.112634 0
+ -0.332538 -0.155542 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.067044 -0.313766 0
+ 0.160906 -0.407627 0
+ 0.250744 -0.352651 0
+ 0.210518 -0.195768 0
+ 0.390196 -0.146156 0
+ 0.402264 -0.068385 0
+ 0.289630 0.009386 0
+ 0.387514 0.156883 0
+ 0.344606 0.207836 0
+ 0.237336 0.205155 0
+ 0.231972 0.328515 0
+ 0.139451 0.379469 0
+ 0.063021 0.289630 0
+ -0.052294 0.305720 0
+ -0.079112 0.367401 0
+ -0.176996 0.341924 0
+ -0.178337 0.234654 0
+ -0.260131 0.231972 0
+ -0.313766 0.124702 0
+ -0.218563 0.034863 0
+ -0.308402 -0.012068 0
+ -0.293653 -0.076430 0
+ -0.150178 -0.103248 0
+ -0.205155 -0.201132 0
+ -0.115316 -0.270858 0
+ -0.079112 -0.349969 0
+ L3 65280 0.000000 -0.085065 -0.413171 0 -0.036456 -0.376715 0
+ L3 65280 0.000000 -0.121521 -0.388867 0 -0.133673 -0.328106 0
+ L3 65280 0.000000 -0.279498 -0.255194 0 -0.194433 -0.255194 0
+ L3 65280 0.000000 -0.340258 -0.230890 0 -0.303802 -0.194433 0
+ L3 65280 0.000000 -0.255194 -0.206585 0 -0.206585 -0.170129 0
+ L3 65280 0.000000 -0.230890 -0.133673 0 -0.303802 -0.121521 0
+ L3 65280 0.000000 -0.413171 -0.097217 0 -0.328106 -0.097217 0
+ L3 65280 0.000000 -0.413171 -0.024304 0 -0.340258 -0.060760 0
+ L3 65280 0.000000 -0.279498 0.036456 0 -0.340258 0.024304 0
+ L3 65280 0.000000 -0.328106 0.085065 0 -0.413171 0.133673 0
+ L3 65280 0.000000 -0.376715 0.182281 0 -0.315954 0.194433 0
+ L3 65280 0.000000 -0.291650 0.279498 0 -0.267346 0.243042 0
+ L3 65280 0.000000 -0.182281 0.364562 0 -0.206585 0.401019 0
+ L3 65280 0.000000 -0.109369 0.388867 0 -0.085065 0.425323 0
+ L3 65280 0.000000 -0.012152 0.328106 0 0.000000 0.364562 0
+ L3 65280 0.000000 0.060760 0.328106 0 0.024304 0.352410 0
+ L3 65280 0.000000 0.157977 0.388867 0 0.145825 0.437475 0
+ L3 65280 0.000000 0.230890 0.364562 0 0.267346 0.376715 0
+ L3 65280 0.000000 0.425323 0.170129 0 0.388867 0.182281 0
+ L3 65280 0.000000 0.364562 0.230890 0 0.388867 0.267346 0
+ L3 65280 0.000000 0.425323 -0.036456 0 0.376715 -0.024304 0
+ L3 65280 0.000000 -0.340258 -0.303802 0 -0.315954 -0.255194 0
+ L3 65280 0.000000 -0.388867 -0.230890 0 -0.352410 -0.255194 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 0.187212 -0.192413 0
+ 0.110941 -0.169878 0
+ 0.102273 -0.112674 0
+ 0.152543 -0.133475 0
+ F4 26624 0.000000 5 0
+ -0.072805 -0.230548 0
+ -0.065871 -0.190679 0
+ 0.008667 -0.157744 0
+ 0.029469 -0.206280 0
+ -0.008667 -0.242683 0
+ F4 26624 0.000000 4 0
+ 0.237482 0.008667 0
+ 0.147343 0.029469 0
+ 0.128275 -0.015601 0
+ 0.251350 -0.022535 0
+ F4 26624 0.000000 4 0
+ 0.057204 0.230548 0
+ 0.012134 0.195880 0
+ 0.024268 0.123075 0
+ 0.052003 0.133475 0
+ F4 26624 0.000000 3 0
+ 0.211481 0.173345 0
+ 0.187212 0.119608 0
+ 0.149076 0.152543 0
+ F4 26624 0.000000 5 0
+ -0.182012 0.020801 0
+ -0.157744 0.003467 0
+ -0.074538 -0.017334 0
+ -0.029469 0.029469 0
+ -0.133475 0.045070 0
+ F4 26624 0.000000 4 0
+ -0.159477 0.201080 0
+ -0.110941 0.188946 0
+ -0.076272 0.107474 0
+ -0.130009 0.121341 0
+ L3 26624 0.000000 0.024304 -0.267346 0 0.048608 -0.230890 0
+ L3 26624 0.000000 0.170129 -0.230890 0 0.109369 -0.206585 0
+ L3 26624 0.000000 0.194433 -0.291650 0 0.157977 -0.267346 0
+ L3 26624 0.000000 0.109369 -0.315954 0 0.085065 -0.267346 0
+ L3 26624 0.000000 -0.048608 -0.303802 0 -0.024304 -0.267346 0
+ L3 26624 0.000000 -0.145825 -0.194433 0 -0.097217 -0.194433 0
+ L3 26624 0.000000 -0.109369 -0.133673 0 -0.048608 -0.157977 0
+ L3 26624 0.000000 -0.145825 -0.072912 0 -0.097217 -0.036456 0
+ L3 26624 0.000000 -0.218737 -0.060760 0 -0.170129 -0.036456 0
+ L3 26624 0.000000 -0.279498 -0.024304 0 -0.218737 0.000000 0
+ L3 26624 0.000000 -0.194433 0.060760 0 -0.243042 0.109369 0
+ L3 26624 0.000000 -0.218737 0.170129 0 -0.182281 0.121521 0
+ L3 26624 0.000000 -0.133673 0.267346 0 -0.097217 0.218737 0
+ L3 26624 0.000000 -0.048608 0.218737 0 -0.060760 0.291650 0
+ L3 26624 0.000000 -0.036456 0.133673 0 -0.024304 0.182281 0
+ L3 26624 0.000000 0.085065 0.218737 0 0.109369 0.291650 0
+ L3 26624 0.000000 0.145825 0.206585 0 0.218737 0.243042 0
+ L3 26624 0.000000 0.328106 0.085065 0 0.267346 0.097217 0
+ L3 26624 0.000000 0.328106 0.194433 0 0.267346 0.170129 0
+ L3 26624 0.000000 0.352410 0.145825 0 0.291650 0.133673 0
+ L3 26624 0.000000 0.145825 0.352410 0 0.133673 0.303802 0
+ L3 26624 0.000000 0.218737 0.315954 0 0.182281 0.279498 0
+ L3 26624 0.000000 0.170129 0.328106 0 0.145825 0.255194 0
+ L3 26624 0.000000 0.364562 -0.060760 0 0.291650 -0.072912 0
+ L3 26624 0.000000 0.303802 -0.157977 0 0.243042 -0.121521 0
+ L3 26624 0.000000 0.364562 -0.121521 0 0.303802 -0.109369 0
+ L3 26624 0.000000 -0.121521 0.340258 0 -0.109369 0.291650 0
+ L3 26624 0.000000 -0.267346 0.170129 0 -0.230890 0.145825 0
+ L3 26624 0.000000 0.170129 -0.388867 0 0.145825 -0.328106 0
+ L3 26624 0.000000 0.218737 -0.352410 0 0.182281 -0.315954 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 1"" Decid-1b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -0.302473 0.286948 0
+ -0.259565 0.449195 0
+ -0.163021 0.490762 0
+ -0.054410 0.356674 0
+ 0.070292 0.473330 0
+ 0.220470 0.402264 0
+ 0.185607 -0.395559 0
+ 0.043474 -0.470649 0
+ -0.015525 -0.379469 0
+ -0.134863 -0.380810 0
+ -0.164362 -0.473330 0
+ -0.348063 -0.414332 0
+ -0.325268 -0.305720 0
+ -0.476787 -0.294993 0
+ -0.554558 -0.138111 0
+ -0.468742 -0.049613 0
+ -0.581376 0.000000 0
+ -0.551876 0.112634 0
+ -0.432538 0.155542 0
+ -0.518354 0.225268 0
+ -0.448629 0.351310 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -0.418354 0.225268 0
+ -0.348629 0.351310 0
+ -0.202473 0.286948 0
+ -0.159565 0.449195 0
+ -0.063021 0.490762 0
+ 0.045590 0.356674 0
+ 0.170292 0.473330 0
+ 0.320470 0.402264 0
+ 0.264153 0.253426 0
+ 0.443831 0.203814 0
+ 0.470649 0.034863 0
+ 0.376787 -0.052294 0
+ 0.465285 -0.178337 0
+ 0.398241 -0.290971 0
+ 0.289630 -0.250744 0
+ 0.285607 -0.395559 0
+ 0.143474 -0.470649 0
+ 0.084475 -0.379469 0
+ -0.034863 -0.380810 0
+ -0.064362 -0.473330 0
+ -0.248063 -0.414332 0
+ -0.225268 -0.305720 0
+ -0.376787 -0.294993 0
+ -0.454558 -0.138111 0
+ -0.368742 -0.049613 0
+ -0.481376 0.000000 0
+ -0.451876 0.112634 0
+ -0.332538 0.155542 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.067044 0.313766 0
+ 0.160906 0.407627 0
+ 0.250744 0.352651 0
+ 0.210518 0.195768 0
+ 0.390196 0.146156 0
+ 0.402264 0.068385 0
+ 0.289630 -0.009386 0
+ 0.387514 -0.156883 0
+ 0.344606 -0.207836 0
+ 0.237336 -0.205155 0
+ 0.231972 -0.328515 0
+ 0.139451 -0.379469 0
+ 0.063021 -0.289630 0
+ -0.052294 -0.305720 0
+ -0.079112 -0.367401 0
+ -0.176996 -0.341924 0
+ -0.178337 -0.234654 0
+ -0.260131 -0.231972 0
+ -0.313766 -0.124702 0
+ -0.218563 -0.034863 0
+ -0.308402 0.012068 0
+ -0.293653 0.076430 0
+ -0.150178 0.103248 0
+ -0.205155 0.201132 0
+ -0.115316 0.270858 0
+ -0.079112 0.349969 0
+ L3 65280 0.000000 -0.085065 0.413171 0 -0.036456 0.376715 0
+ L3 65280 0.000000 -0.121521 0.388867 0 -0.133673 0.328106 0
+ L3 65280 0.000000 -0.279498 0.255194 0 -0.194433 0.255194 0
+ L3 65280 0.000000 -0.340258 0.230890 0 -0.303802 0.194433 0
+ L3 65280 0.000000 -0.255194 0.206585 0 -0.206585 0.170129 0
+ L3 65280 0.000000 -0.230890 0.133673 0 -0.303802 0.121521 0
+ L3 65280 0.000000 -0.413171 0.097217 0 -0.328106 0.097217 0
+ L3 65280 0.000000 -0.413171 0.024304 0 -0.340258 0.060760 0
+ L3 65280 0.000000 -0.279498 -0.036456 0 -0.340258 -0.024304 0
+ L3 65280 0.000000 -0.328106 -0.085065 0 -0.413171 -0.133673 0
+ L3 65280 0.000000 -0.376715 -0.182281 0 -0.315954 -0.194433 0
+ L3 65280 0.000000 -0.291650 -0.279498 0 -0.267346 -0.243042 0
+ L3 65280 0.000000 -0.182281 -0.364562 0 -0.206585 -0.401019 0
+ L3 65280 0.000000 -0.109369 -0.388867 0 -0.085065 -0.425323 0
+ L3 65280 0.000000 -0.012152 -0.328106 0 0.000000 -0.364562 0
+ L3 65280 0.000000 0.060760 -0.328106 0 0.024304 -0.352410 0
+ L3 65280 0.000000 0.157977 -0.388867 0 0.145825 -0.437475 0
+ L3 65280 0.000000 0.230890 -0.364562 0 0.267346 -0.376715 0
+ L3 65280 0.000000 0.425323 -0.170129 0 0.388867 -0.182281 0
+ L3 65280 0.000000 0.364562 -0.230890 0 0.388867 -0.267346 0
+ L3 65280 0.000000 0.425323 0.036456 0 0.376715 0.024304 0
+ L3 65280 0.000000 -0.340258 0.303802 0 -0.315954 0.255194 0
+ L3 65280 0.000000 -0.388867 0.230890 0 -0.352410 0.255194 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 0.187212 0.192413 0
+ 0.110941 0.169878 0
+ 0.102273 0.112674 0
+ 0.152543 0.133475 0
+ F4 26624 0.000000 5 0
+ -0.072805 0.230548 0
+ -0.065871 0.190679 0
+ 0.008667 0.157744 0
+ 0.029469 0.206280 0
+ -0.008667 0.242683 0
+ F4 26624 0.000000 4 0
+ 0.237482 -0.008667 0
+ 0.147343 -0.029469 0
+ 0.128275 0.015601 0
+ 0.251350 0.022535 0
+ F4 26624 0.000000 4 0
+ 0.057204 -0.230548 0
+ 0.012134 -0.195880 0
+ 0.024268 -0.123075 0
+ 0.052003 -0.133475 0
+ F4 26624 0.000000 3 0
+ 0.211481 -0.173345 0
+ 0.187212 -0.119608 0
+ 0.149076 -0.152543 0
+ F4 26624 0.000000 5 0
+ -0.182012 -0.020801 0
+ -0.157744 -0.003467 0
+ -0.074538 0.017334 0
+ -0.029469 -0.029469 0
+ -0.133475 -0.045070 0
+ F4 26624 0.000000 4 0
+ -0.159477 -0.201080 0
+ -0.110941 -0.188946 0
+ -0.076272 -0.107474 0
+ -0.130009 -0.121341 0
+ L3 26624 0.000000 0.024304 0.267346 0 0.048608 0.230890 0
+ L3 26624 0.000000 0.170129 0.230890 0 0.109369 0.206585 0
+ L3 26624 0.000000 0.194433 0.291650 0 0.157977 0.267346 0
+ L3 26624 0.000000 0.109369 0.315954 0 0.085065 0.267346 0
+ L3 26624 0.000000 -0.048608 0.303802 0 -0.024304 0.267346 0
+ L3 26624 0.000000 -0.145825 0.194433 0 -0.097217 0.194433 0
+ L3 26624 0.000000 -0.109369 0.133673 0 -0.048608 0.157977 0
+ L3 26624 0.000000 -0.145825 0.072912 0 -0.097217 0.036456 0
+ L3 26624 0.000000 -0.218737 0.060760 0 -0.170129 0.036456 0
+ L3 26624 0.000000 -0.279498 0.024304 0 -0.218737 0.000000 0
+ L3 26624 0.000000 -0.194433 -0.060760 0 -0.243042 -0.109369 0
+ L3 26624 0.000000 -0.218737 -0.170129 0 -0.182281 -0.121521 0
+ L3 26624 0.000000 -0.133673 -0.267346 0 -0.097217 -0.218737 0
+ L3 26624 0.000000 -0.048608 -0.218737 0 -0.060760 -0.291650 0
+ L3 26624 0.000000 -0.036456 -0.133673 0 -0.024304 -0.182281 0
+ L3 26624 0.000000 0.085065 -0.218737 0 0.109369 -0.291650 0
+ L3 26624 0.000000 0.145825 -0.206585 0 0.218737 -0.243042 0
+ L3 26624 0.000000 0.328106 -0.085065 0 0.267346 -0.097217 0
+ L3 26624 0.000000 0.328106 -0.194433 0 0.267346 -0.170129 0
+ L3 26624 0.000000 0.352410 -0.145825 0 0.291650 -0.133673 0
+ L3 26624 0.000000 0.145825 -0.352410 0 0.133673 -0.303802 0
+ L3 26624 0.000000 0.218737 -0.315954 0 0.182281 -0.279498 0
+ L3 26624 0.000000 0.170129 -0.328106 0 0.145825 -0.255194 0
+ L3 26624 0.000000 0.364562 0.060760 0 0.291650 0.072912 0
+ L3 26624 0.000000 0.303802 0.157977 0 0.243042 0.121521 0
+ L3 26624 0.000000 0.364562 0.121521 0 0.303802 0.109369 0
+ L3 26624 0.000000 -0.121521 -0.340258 0 -0.109369 -0.291650 0
+ L3 26624 0.000000 -0.267346 -0.170129 0 -0.230890 -0.145825 0
+ L3 26624 0.000000 0.170129 0.388867 0 0.145825 0.328106 0
+ L3 26624 0.000000 0.218737 0.352410 0 0.182281 0.315954 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 2"" Decid-2a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -0.604946 -0.573896 0
+ -0.519129 -0.898389 0
+ -0.326043 -0.981524 0
+ -0.108820 -0.713348 0
+ 0.140583 -0.946661 0
+ 0.440940 -0.804528 0
+ 0.371215 0.791119 0
+ 0.086948 0.941297 0
+ -0.031049 0.758938 0
+ -0.269726 0.761619 0
+ -0.328724 0.946661 0
+ -0.696125 0.828663 0
+ -0.650535 0.611441 0
+ -0.953574 0.589987 0
+ -1.109116 0.276221 0
+ -0.937484 0.099225 0
+ -1.162751 0.000000 0
+ -1.103753 -0.225268 0
+ -0.865076 -0.311084 0
+ -1.036709 -0.450535 0
+ -0.897257 -0.702621 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -0.836709 -0.450535 0
+ -0.697257 -0.702621 0
+ -0.404946 -0.573896 0
+ -0.319129 -0.898389 0
+ -0.126043 -0.981524 0
+ 0.091180 -0.713348 0
+ 0.340583 -0.946661 0
+ 0.640940 -0.804528 0
+ 0.528306 -0.506852 0
+ 0.887662 -0.407627 0
+ 0.941297 -0.069726 0
+ 0.753574 0.104589 0
+ 0.930570 0.356674 0
+ 0.796482 0.581942 0
+ 0.579260 0.501489 0
+ 0.571215 0.791119 0
+ 0.286948 0.941297 0
+ 0.168951 0.758938 0
+ -0.069726 0.761619 0
+ -0.128724 0.946661 0
+ -0.496125 0.828663 0
+ -0.450535 0.611441 0
+ -0.753574 0.589987 0
+ -0.909116 0.276221 0
+ -0.737484 0.099225 0
+ -0.962751 0.000000 0
+ -0.903753 -0.225268 0
+ -0.665076 -0.311084 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.134088 -0.627531 0
+ 0.321811 -0.815255 0
+ 0.501489 -0.705302 0
+ 0.421036 -0.391537 0
+ 0.780392 -0.292312 0
+ 0.804528 -0.136770 0
+ 0.579260 0.018772 0
+ 0.775028 0.313766 0
+ 0.689212 0.415673 0
+ 0.474671 0.410309 0
+ 0.463944 0.657031 0
+ 0.278903 0.758938 0
+ 0.126043 0.579260 0
+ -0.104589 0.611441 0
+ -0.158224 0.734802 0
+ -0.353992 0.683848 0
+ -0.356674 0.469308 0
+ -0.520261 0.463944 0
+ -0.627531 0.249404 0
+ -0.437127 0.069726 0
+ -0.616804 -0.024136 0
+ -0.587305 -0.152860 0
+ -0.300357 -0.206495 0
+ -0.410309 -0.402264 0
+ -0.230631 -0.541715 0
+ -0.158224 -0.699939 0
+ L3 65280 0.000000 -0.170129 -0.826342 0 -0.072912 -0.753429 0
+ L3 65280 0.000000 -0.243042 -0.777733 0 -0.267346 -0.656212 0
+ L3 65280 0.000000 -0.558996 -0.510387 0 -0.388867 -0.510387 0
+ L3 65280 0.000000 -0.680517 -0.461779 0 -0.607604 -0.388867 0
+ L3 65280 0.000000 -0.510387 -0.413171 0 -0.413171 -0.340258 0
+ L3 65280 0.000000 -0.461779 -0.267346 0 -0.607604 -0.243042 0
+ L3 65280 0.000000 -0.826342 -0.194433 0 -0.656212 -0.194433 0
+ L3 65280 0.000000 -0.826342 -0.048608 0 -0.680517 -0.121521 0
+ L3 65280 0.000000 -0.558996 0.072912 0 -0.680517 0.048608 0
+ L3 65280 0.000000 -0.656212 0.170129 0 -0.826342 0.267346 0
+ L3 65280 0.000000 -0.753429 0.364562 0 -0.631908 0.388867 0
+ L3 65280 0.000000 -0.583300 0.558996 0 -0.534692 0.486083 0
+ L3 65280 0.000000 -0.364562 0.729125 0 -0.413171 0.802037 0
+ L3 65280 0.000000 -0.218737 0.777733 0 -0.170129 0.850646 0
+ L3 65280 0.000000 -0.024304 0.656212 0 0.000000 0.729125 0
+ L3 65280 0.000000 0.121521 0.656212 0 0.048608 0.704821 0
+ L3 65280 0.000000 0.315954 0.777733 0 0.291650 0.874950 0
+ L3 65280 0.000000 0.461779 0.729125 0 0.534692 0.753429 0
+ L3 65280 0.000000 0.850646 0.340258 0 0.777733 0.364562 0
+ L3 65280 0.000000 0.729125 0.461779 0 0.777733 0.534692 0
+ L3 65280 0.000000 0.850646 -0.072912 0 0.753429 -0.048608 0
+ L3 65280 0.000000 -0.680517 -0.607604 0 -0.631908 -0.510387 0
+ L3 65280 0.000000 -0.777733 -0.461779 0 -0.704821 -0.510387 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 0.374425 -0.384825 0
+ 0.221881 -0.339756 0
+ 0.204547 -0.225348 0
+ 0.305087 -0.266951 0
+ F4 26624 0.000000 5 0
+ -0.145610 -0.461097 0
+ -0.131742 -0.381358 0
+ 0.017334 -0.315487 0
+ 0.058937 -0.412560 0
+ -0.017334 -0.485365 0
+ F4 26624 0.000000 4 0
+ 0.474965 0.017334 0
+ 0.294686 0.058937 0
+ 0.256550 -0.031202 0
+ 0.502700 -0.045070 0
+ F4 26624 0.000000 4 0
+ 0.114408 0.461097 0
+ 0.024268 0.391759 0
+ 0.048537 0.246149 0
+ 0.104007 0.266951 0
+ F4 26624 0.000000 3 0
+ 0.422961 0.346689 0
+ 0.374425 0.239216 0
+ 0.298153 0.305087 0
+ F4 26624 0.000000 5 0
+ -0.364024 0.041603 0
+ -0.315487 0.006934 0
+ -0.149076 -0.034669 0
+ -0.058937 0.058937 0
+ -0.266951 0.090139 0
+ F4 26624 0.000000 4 0
+ -0.318954 0.402160 0
+ -0.221881 0.377891 0
+ -0.152543 0.214947 0
+ -0.260017 0.242683 0
+ L3 26624 0.000000 0.048608 -0.534692 0 0.097217 -0.461779 0
+ L3 26624 0.000000 0.340258 -0.461779 0 0.218737 -0.413171 0
+ L3 26624 0.000000 0.388867 -0.583300 0 0.315954 -0.534692 0
+ L3 26624 0.000000 0.218737 -0.631908 0 0.170129 -0.534692 0
+ L3 26624 0.000000 -0.097217 -0.607604 0 -0.048608 -0.534692 0
+ L3 26624 0.000000 -0.291650 -0.388867 0 -0.194433 -0.388867 0
+ L3 26624 0.000000 -0.218737 -0.267346 0 -0.097217 -0.315954 0
+ L3 26624 0.000000 -0.291650 -0.145825 0 -0.194433 -0.072912 0
+ L3 26624 0.000000 -0.437475 -0.121521 0 -0.340258 -0.072912 0
+ L3 26624 0.000000 -0.558996 -0.048608 0 -0.437475 0.000000 0
+ L3 26624 0.000000 -0.388867 0.121521 0 -0.486083 0.218737 0
+ L3 26624 0.000000 -0.437475 0.340258 0 -0.364562 0.243042 0
+ L3 26624 0.000000 -0.267346 0.534692 0 -0.194433 0.437475 0
+ L3 26624 0.000000 -0.097217 0.437475 0 -0.121521 0.583300 0
+ L3 26624 0.000000 -0.072912 0.267346 0 -0.048608 0.364562 0
+ L3 26624 0.000000 0.170129 0.437475 0 0.218737 0.583300 0
+ L3 26624 0.000000 0.291650 0.413171 0 0.437475 0.486083 0
+ L3 26624 0.000000 0.656212 0.170129 0 0.534692 0.194433 0
+ L3 26624 0.000000 0.656212 0.388867 0 0.534692 0.340258 0
+ L3 26624 0.000000 0.704821 0.291650 0 0.583300 0.267346 0
+ L3 26624 0.000000 0.291650 0.704821 0 0.267346 0.607604 0
+ L3 26624 0.000000 0.437475 0.631908 0 0.364562 0.558996 0
+ L3 26624 0.000000 0.340258 0.656212 0 0.291650 0.510387 0
+ L3 26624 0.000000 0.729125 -0.121521 0 0.583300 -0.145825 0
+ L3 26624 0.000000 0.607604 -0.315954 0 0.486083 -0.243042 0
+ L3 26624 0.000000 0.729125 -0.243042 0 0.607604 -0.218737 0
+ L3 26624 0.000000 -0.243042 0.680517 0 -0.218737 0.583300 0
+ L3 26624 0.000000 -0.534692 0.340258 0 -0.461779 0.291650 0
+ L3 26624 0.000000 0.340258 -0.777733 0 0.291650 -0.656212 0
+ L3 26624 0.000000 0.437475 -0.704821 0 0.364562 -0.631908 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 2"" Decid-2b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -0.604946 0.573896 0
+ -0.519129 0.898389 0
+ -0.326043 0.981524 0
+ -0.108820 0.713348 0
+ 0.140583 0.946661 0
+ 0.440940 0.804528 0
+ 0.371215 -0.791119 0
+ 0.086948 -0.941297 0
+ -0.031049 -0.758938 0
+ -0.269726 -0.761619 0
+ -0.328724 -0.946661 0
+ -0.696125 -0.828663 0
+ -0.650535 -0.611441 0
+ -0.953574 -0.589987 0
+ -1.109116 -0.276221 0
+ -0.937484 -0.099225 0
+ -1.162751 0.000000 0
+ -1.103753 0.225268 0
+ -0.865076 0.311084 0
+ -1.036709 0.450535 0
+ -0.897257 0.702621 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -0.836709 0.450535 0
+ -0.697257 0.702621 0
+ -0.404946 0.573896 0
+ -0.319129 0.898389 0
+ -0.126043 0.981524 0
+ 0.091180 0.713348 0
+ 0.340583 0.946661 0
+ 0.640940 0.804528 0
+ 0.528306 0.506852 0
+ 0.887662 0.407627 0
+ 0.941297 0.069726 0
+ 0.753574 -0.104589 0
+ 0.930570 -0.356674 0
+ 0.796482 -0.581942 0
+ 0.579260 -0.501489 0
+ 0.571215 -0.791119 0
+ 0.286948 -0.941297 0
+ 0.168951 -0.758938 0
+ -0.069726 -0.761619 0
+ -0.128724 -0.946661 0
+ -0.496125 -0.828663 0
+ -0.450535 -0.611441 0
+ -0.753574 -0.589987 0
+ -0.909116 -0.276221 0
+ -0.737484 -0.099225 0
+ -0.962751 0.000000 0
+ -0.903753 0.225268 0
+ -0.665076 0.311084 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.134088 0.627531 0
+ 0.321811 0.815255 0
+ 0.501489 0.705302 0
+ 0.421036 0.391537 0
+ 0.780392 0.292312 0
+ 0.804528 0.136770 0
+ 0.579260 -0.018772 0
+ 0.775028 -0.313766 0
+ 0.689212 -0.415673 0
+ 0.474671 -0.410309 0
+ 0.463944 -0.657031 0
+ 0.278903 -0.758938 0
+ 0.126043 -0.579260 0
+ -0.104589 -0.611441 0
+ -0.158224 -0.734802 0
+ -0.353992 -0.683848 0
+ -0.356674 -0.469308 0
+ -0.520261 -0.463944 0
+ -0.627531 -0.249404 0
+ -0.437127 -0.069726 0
+ -0.616804 0.024136 0
+ -0.587305 0.152860 0
+ -0.300357 0.206495 0
+ -0.410309 0.402264 0
+ -0.230631 0.541715 0
+ -0.158224 0.699939 0
+ L3 65280 0.000000 -0.170129 0.826342 0 -0.072912 0.753429 0
+ L3 65280 0.000000 -0.243042 0.777733 0 -0.267346 0.656212 0
+ L3 65280 0.000000 -0.558996 0.510387 0 -0.388867 0.510387 0
+ L3 65280 0.000000 -0.680517 0.461779 0 -0.607604 0.388867 0
+ L3 65280 0.000000 -0.510387 0.413171 0 -0.413171 0.340258 0
+ L3 65280 0.000000 -0.461779 0.267346 0 -0.607604 0.243042 0
+ L3 65280 0.000000 -0.826342 0.194433 0 -0.656212 0.194433 0
+ L3 65280 0.000000 -0.826342 0.048608 0 -0.680517 0.121521 0
+ L3 65280 0.000000 -0.558996 -0.072912 0 -0.680517 -0.048608 0
+ L3 65280 0.000000 -0.656212 -0.170129 0 -0.826342 -0.267346 0
+ L3 65280 0.000000 -0.753429 -0.364562 0 -0.631908 -0.388867 0
+ L3 65280 0.000000 -0.583300 -0.558996 0 -0.534692 -0.486083 0
+ L3 65280 0.000000 -0.364562 -0.729125 0 -0.413171 -0.802037 0
+ L3 65280 0.000000 -0.218737 -0.777733 0 -0.170129 -0.850646 0
+ L3 65280 0.000000 -0.024304 -0.656212 0 0.000000 -0.729125 0
+ L3 65280 0.000000 0.121521 -0.656212 0 0.048608 -0.704821 0
+ L3 65280 0.000000 0.315954 -0.777733 0 0.291650 -0.874950 0
+ L3 65280 0.000000 0.461779 -0.729125 0 0.534692 -0.753429 0
+ L3 65280 0.000000 0.850646 -0.340258 0 0.777733 -0.364562 0
+ L3 65280 0.000000 0.729125 -0.461779 0 0.777733 -0.534692 0
+ L3 65280 0.000000 0.850646 0.072912 0 0.753429 0.048608 0
+ L3 65280 0.000000 -0.680517 0.607604 0 -0.631908 0.510387 0
+ L3 65280 0.000000 -0.777733 0.461779 0 -0.704821 0.510387 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 0.374425 0.384825 0
+ 0.221881 0.339756 0
+ 0.204547 0.225348 0
+ 0.305087 0.266951 0
+ F4 26624 0.000000 5 0
+ -0.145610 0.461097 0
+ -0.131742 0.381358 0
+ 0.017334 0.315487 0
+ 0.058937 0.412560 0
+ -0.017334 0.485365 0
+ F4 26624 0.000000 4 0
+ 0.474965 -0.017334 0
+ 0.294686 -0.058937 0
+ 0.256550 0.031202 0
+ 0.502700 0.045070 0
+ F4 26624 0.000000 4 0
+ 0.114408 -0.461097 0
+ 0.024268 -0.391759 0
+ 0.048537 -0.246149 0
+ 0.104007 -0.266951 0
+ F4 26624 0.000000 3 0
+ 0.422961 -0.346689 0
+ 0.374425 -0.239216 0
+ 0.298153 -0.305087 0
+ F4 26624 0.000000 5 0
+ -0.364024 -0.041603 0
+ -0.315487 -0.006934 0
+ -0.149076 0.034669 0
+ -0.058937 -0.058937 0
+ -0.266951 -0.090139 0
+ F4 26624 0.000000 4 0
+ -0.318954 -0.402160 0
+ -0.221881 -0.377891 0
+ -0.152543 -0.214947 0
+ -0.260017 -0.242683 0
+ L3 26624 0.000000 0.048608 0.534692 0 0.097217 0.461779 0
+ L3 26624 0.000000 0.340258 0.461779 0 0.218737 0.413171 0
+ L3 26624 0.000000 0.388867 0.583300 0 0.315954 0.534692 0
+ L3 26624 0.000000 0.218737 0.631908 0 0.170129 0.534692 0
+ L3 26624 0.000000 -0.097217 0.607604 0 -0.048608 0.534692 0
+ L3 26624 0.000000 -0.291650 0.388867 0 -0.194433 0.388867 0
+ L3 26624 0.000000 -0.218737 0.267346 0 -0.097217 0.315954 0
+ L3 26624 0.000000 -0.291650 0.145825 0 -0.194433 0.072912 0
+ L3 26624 0.000000 -0.437475 0.121521 0 -0.340258 0.072912 0
+ L3 26624 0.000000 -0.558996 0.048608 0 -0.437475 0.000000 0
+ L3 26624 0.000000 -0.388867 -0.121521 0 -0.486083 -0.218737 0
+ L3 26624 0.000000 -0.437475 -0.340258 0 -0.364562 -0.243042 0
+ L3 26624 0.000000 -0.267346 -0.534692 0 -0.194433 -0.437475 0
+ L3 26624 0.000000 -0.097217 -0.437475 0 -0.121521 -0.583300 0
+ L3 26624 0.000000 -0.072912 -0.267346 0 -0.048608 -0.364562 0
+ L3 26624 0.000000 0.170129 -0.437475 0 0.218737 -0.583300 0
+ L3 26624 0.000000 0.291650 -0.413171 0 0.437475 -0.486083 0
+ L3 26624 0.000000 0.656212 -0.170129 0 0.534692 -0.194433 0
+ L3 26624 0.000000 0.656212 -0.388867 0 0.534692 -0.340258 0
+ L3 26624 0.000000 0.704821 -0.291650 0 0.583300 -0.267346 0
+ L3 26624 0.000000 0.291650 -0.704821 0 0.267346 -0.607604 0
+ L3 26624 0.000000 0.437475 -0.631908 0 0.364562 -0.558996 0
+ L3 26624 0.000000 0.340258 -0.656212 0 0.291650 -0.510387 0
+ L3 26624 0.000000 0.729125 0.121521 0 0.583300 0.145825 0
+ L3 26624 0.000000 0.607604 0.315954 0 0.486083 0.243042 0
+ L3 26624 0.000000 0.729125 0.243042 0 0.607604 0.218737 0
+ L3 26624 0.000000 -0.243042 -0.680517 0 -0.218737 -0.583300 0
+ L3 26624 0.000000 -0.534692 -0.340258 0 -0.461779 -0.291650 0
+ L3 26624 0.000000 0.340258 0.777733 0 0.291650 0.656212 0
+ L3 26624 0.000000 0.437475 0.704821 0 0.364562 0.631908 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 3"" Decid-3a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -0.907418 -0.860844 0
+ -0.778694 -1.347584 0
+ -0.489064 -1.472285 0
+ -0.163230 -1.070022 0
+ 0.210875 -1.419991 0
+ 0.661410 -1.206791 0
+ 0.556822 1.186678 0
+ 0.130422 1.411946 0
+ -0.046574 1.138406 0
+ -0.404589 1.142429 0
+ -0.493087 1.419991 0
+ -1.044188 1.242995 0
+ -0.975803 0.917161 0
+ -1.430361 0.884980 0
+ -1.663674 0.414332 0
+ -1.406225 0.148838 0
+ -1.744127 0.000000 0
+ -1.655629 -0.337902 0
+ -1.297614 -0.466626 0
+ -1.555063 -0.675803 0
+ -1.345886 -1.053931 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -1.255063 -0.675803 0
+ -1.045886 -1.053931 0
+ -0.607418 -0.860844 0
+ -0.478694 -1.347584 0
+ -0.189064 -1.472285 0
+ 0.136770 -1.070022 0
+ 0.510875 -1.419991 0
+ 0.961410 -1.206791 0
+ 0.792460 -0.760279 0
+ 1.331493 -0.611441 0
+ 1.411946 -0.104589 0
+ 1.130361 0.156883 0
+ 1.395855 0.535011 0
+ 1.194723 0.872912 0
+ 0.868890 0.752233 0
+ 0.856822 1.186678 0
+ 0.430422 1.411946 0
+ 0.253426 1.138406 0
+ -0.104589 1.142429 0
+ -0.193087 1.419991 0
+ -0.744188 1.242995 0
+ -0.675803 0.917161 0
+ -1.130361 0.884980 0
+ -1.363674 0.414332 0
+ -1.106225 0.148838 0
+ -1.444127 0.000000 0
+ -1.355629 -0.337902 0
+ -0.997614 -0.466626 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.201132 -0.941297 0
+ 0.482717 -1.222882 0
+ 0.752233 -1.057954 0
+ 0.631554 -0.587305 0
+ 1.170588 -0.438468 0
+ 1.206791 -0.205155 0
+ 0.868890 0.028158 0
+ 1.162542 0.470649 0
+ 1.033818 0.623509 0
+ 0.712007 0.615464 0
+ 0.695916 0.985546 0
+ 0.418354 1.138406 0
+ 0.189064 0.868890 0
+ -0.156883 0.917161 0
+ -0.237336 1.102203 0
+ -0.530988 1.025773 0
+ -0.535011 0.703962 0
+ -0.780392 0.695916 0
+ -0.941297 0.374105 0
+ -0.655690 0.104589 0
+ -0.925207 -0.036204 0
+ -0.880958 -0.229290 0
+ -0.450535 -0.309743 0
+ -0.615464 -0.603396 0
+ -0.345947 -0.812573 0
+ -0.237336 -1.049908 0
+ L3 65280 0.000000 -0.255194 -1.239512 0 -0.109369 -1.130144 0
+ L3 65280 0.000000 -0.364562 -1.166600 0 -0.401019 -0.984319 0
+ L3 65280 0.000000 -0.838494 -0.765581 0 -0.583300 -0.765581 0
+ L3 65280 0.000000 -1.020775 -0.692669 0 -0.911406 -0.583300 0
+ L3 65280 0.000000 -0.765581 -0.619756 0 -0.619756 -0.510387 0
+ L3 65280 0.000000 -0.692669 -0.401019 0 -0.911406 -0.364562 0
+ L3 65280 0.000000 -1.239512 -0.291650 0 -0.984319 -0.291650 0
+ L3 65280 0.000000 -1.239512 -0.072912 0 -1.020775 -0.182281 0
+ L3 65280 0.000000 -0.838494 0.109369 0 -1.020775 0.072912 0
+ L3 65280 0.000000 -0.984319 0.255194 0 -1.239512 0.401019 0
+ L3 65280 0.000000 -1.130144 0.546844 0 -0.947862 0.583300 0
+ L3 65280 0.000000 -0.874950 0.838494 0 -0.802037 0.729125 0
+ L3 65280 0.000000 -0.546844 1.093687 0 -0.619756 1.203056 0
+ L3 65280 0.000000 -0.328106 1.166600 0 -0.255194 1.275969 0
+ L3 65280 0.000000 -0.036456 0.984319 0 0.000000 1.093687 0
+ L3 65280 0.000000 0.182281 0.984319 0 0.072912 1.057231 0
+ L3 65280 0.000000 0.473931 1.166600 0 0.437475 1.312425 0
+ L3 65280 0.000000 0.692669 1.093687 0 0.802037 1.130144 0
+ L3 65280 0.000000 1.275969 0.510387 0 1.166600 0.546844 0
+ L3 65280 0.000000 1.093687 0.692669 0 1.166600 0.802037 0
+ L3 65280 0.000000 1.275969 -0.109369 0 1.130144 -0.072912 0
+ L3 65280 0.000000 -1.020775 -0.911406 0 -0.947862 -0.765581 0
+ L3 65280 0.000000 -1.166600 -0.692669 0 -1.057231 -0.765581 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 0.561637 -0.577238 0
+ 0.332822 -0.509633 0
+ 0.306820 -0.338022 0
+ 0.457630 -0.400426 0
+ F4 26624 0.000000 5 0
+ -0.218414 -0.691645 0
+ -0.197613 -0.572038 0
+ 0.026002 -0.473231 0
+ 0.088406 -0.618841 0
+ -0.026002 -0.728048 0
+ F4 26624 0.000000 4 0
+ 0.712447 0.026002 0
+ 0.442029 0.088406 0
+ 0.384825 -0.046803 0
+ 0.754050 -0.067604 0
+ F4 26624 0.000000 4 0
+ 0.171611 0.691645 0
+ 0.036402 0.587639 0
+ 0.072805 0.369224 0
+ 0.156010 0.400426 0
+ F4 26624 0.000000 3 0
+ 0.634442 0.520034 0
+ 0.561637 0.358824 0
+ 0.447229 0.457630 0
+ F4 26624 0.000000 5 0
+ -0.546036 0.062404 0
+ -0.473231 0.010401 0
+ -0.223615 -0.052003 0
+ -0.088406 0.088406 0
+ -0.400426 0.135209 0
+ F4 26624 0.000000 4 0
+ -0.478431 0.603240 0
+ -0.332822 0.566837 0
+ -0.228815 0.322421 0
+ -0.390026 0.364024 0
+ L3 26624 0.000000 0.072912 -0.802037 0 0.145825 -0.692669 0
+ L3 26624 0.000000 0.510387 -0.692669 0 0.328106 -0.619756 0
+ L3 26624 0.000000 0.583300 -0.874950 0 0.473931 -0.802037 0
+ L3 26624 0.000000 0.328106 -0.947862 0 0.255194 -0.802037 0
+ L3 26624 0.000000 -0.145825 -0.911406 0 -0.072912 -0.802037 0
+ L3 26624 0.000000 -0.437475 -0.583300 0 -0.291650 -0.583300 0
+ L3 26624 0.000000 -0.328106 -0.401019 0 -0.145825 -0.473931 0
+ L3 26624 0.000000 -0.437475 -0.218737 0 -0.291650 -0.109369 0
+ L3 26624 0.000000 -0.656212 -0.182281 0 -0.510387 -0.109369 0
+ L3 26624 0.000000 -0.838494 -0.072912 0 -0.656212 0.000000 0
+ L3 26624 0.000000 -0.583300 0.182281 0 -0.729125 0.328106 0
+ L3 26624 0.000000 -0.656212 0.510387 0 -0.546844 0.364562 0
+ L3 26624 0.000000 -0.401019 0.802037 0 -0.291650 0.656212 0
+ L3 26624 0.000000 -0.145825 0.656212 0 -0.182281 0.874950 0
+ L3 26624 0.000000 -0.109369 0.401019 0 -0.072912 0.546844 0
+ L3 26624 0.000000 0.255194 0.656212 0 0.328106 0.874950 0
+ L3 26624 0.000000 0.437475 0.619756 0 0.656212 0.729125 0
+ L3 26624 0.000000 0.984319 0.255194 0 0.802037 0.291650 0
+ L3 26624 0.000000 0.984319 0.583300 0 0.802037 0.510387 0
+ L3 26624 0.000000 1.057231 0.437475 0 0.874950 0.401019 0
+ L3 26624 0.000000 0.437475 1.057231 0 0.401019 0.911406 0
+ L3 26624 0.000000 0.656212 0.947862 0 0.546844 0.838494 0
+ L3 26624 0.000000 0.510387 0.984319 0 0.437475 0.765581 0
+ L3 26624 0.000000 1.093687 -0.182281 0 0.874950 -0.218737 0
+ L3 26624 0.000000 0.911406 -0.473931 0 0.729125 -0.364562 0
+ L3 26624 0.000000 1.093687 -0.364562 0 0.911406 -0.328106 0
+ L3 26624 0.000000 -0.364562 1.020775 0 -0.328106 0.874950 0
+ L3 26624 0.000000 -0.802037 0.510387 0 -0.692669 0.437475 0
+ L3 26624 0.000000 0.510387 -1.166600 0 0.437475 -0.984319 0
+ L3 26624 0.000000 0.656212 -1.057231 0 0.546844 -0.947862 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 3"" Decid-3b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -0.907418 0.860844 0
+ -0.778694 1.347584 0
+ -0.489064 1.472285 0
+ -0.163230 1.070022 0
+ 0.210875 1.419991 0
+ 0.661410 1.206791 0
+ 0.556822 -1.186678 0
+ 0.130422 -1.411946 0
+ -0.046574 -1.138406 0
+ -0.404589 -1.142429 0
+ -0.493087 -1.419991 0
+ -1.044188 -1.242995 0
+ -0.975803 -0.917161 0
+ -1.430361 -0.884980 0
+ -1.663674 -0.414332 0
+ -1.406225 -0.148838 0
+ -1.744127 0.000000 0
+ -1.655629 0.337902 0
+ -1.297614 0.466626 0
+ -1.555063 0.675803 0
+ -1.345886 1.053931 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -1.255063 0.675803 0
+ -1.045886 1.053931 0
+ -0.607418 0.860844 0
+ -0.478694 1.347584 0
+ -0.189064 1.472285 0
+ 0.136770 1.070022 0
+ 0.510875 1.419991 0
+ 0.961410 1.206791 0
+ 0.792460 0.760279 0
+ 1.331493 0.611441 0
+ 1.411946 0.104589 0
+ 1.130361 -0.156883 0
+ 1.395855 -0.535011 0
+ 1.194723 -0.872912 0
+ 0.868890 -0.752233 0
+ 0.856822 -1.186678 0
+ 0.430422 -1.411946 0
+ 0.253426 -1.138406 0
+ -0.104589 -1.142429 0
+ -0.193087 -1.419991 0
+ -0.744188 -1.242995 0
+ -0.675803 -0.917161 0
+ -1.130361 -0.884980 0
+ -1.363674 -0.414332 0
+ -1.106225 -0.148838 0
+ -1.444127 0.000000 0
+ -1.355629 0.337902 0
+ -0.997614 0.466626 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.201132 0.941297 0
+ 0.482717 1.222882 0
+ 0.752233 1.057954 0
+ 0.631554 0.587305 0
+ 1.170588 0.438468 0
+ 1.206791 0.205155 0
+ 0.868890 -0.028158 0
+ 1.162542 -0.470649 0
+ 1.033818 -0.623509 0
+ 0.712007 -0.615464 0
+ 0.695916 -0.985546 0
+ 0.418354 -1.138406 0
+ 0.189064 -0.868890 0
+ -0.156883 -0.917161 0
+ -0.237336 -1.102203 0
+ -0.530988 -1.025773 0
+ -0.535011 -0.703962 0
+ -0.780392 -0.695916 0
+ -0.941297 -0.374105 0
+ -0.655690 -0.104589 0
+ -0.925207 0.036204 0
+ -0.880958 0.229290 0
+ -0.450535 0.309743 0
+ -0.615464 0.603396 0
+ -0.345947 0.812573 0
+ -0.237336 1.049908 0
+ L3 65280 0.000000 -0.255194 1.239512 0 -0.109369 1.130144 0
+ L3 65280 0.000000 -0.364562 1.166600 0 -0.401019 0.984319 0
+ L3 65280 0.000000 -0.838494 0.765581 0 -0.583300 0.765581 0
+ L3 65280 0.000000 -1.020775 0.692669 0 -0.911406 0.583300 0
+ L3 65280 0.000000 -0.765581 0.619756 0 -0.619756 0.510387 0
+ L3 65280 0.000000 -0.692669 0.401019 0 -0.911406 0.364562 0
+ L3 65280 0.000000 -1.239512 0.291650 0 -0.984319 0.291650 0
+ L3 65280 0.000000 -1.239512 0.072912 0 -1.020775 0.182281 0
+ L3 65280 0.000000 -0.838494 -0.109369 0 -1.020775 -0.072912 0
+ L3 65280 0.000000 -0.984319 -0.255194 0 -1.239512 -0.401019 0
+ L3 65280 0.000000 -1.130144 -0.546844 0 -0.947862 -0.583300 0
+ L3 65280 0.000000 -0.874950 -0.838494 0 -0.802037 -0.729125 0
+ L3 65280 0.000000 -0.546844 -1.093687 0 -0.619756 -1.203056 0
+ L3 65280 0.000000 -0.328106 -1.166600 0 -0.255194 -1.275969 0
+ L3 65280 0.000000 -0.036456 -0.984319 0 0.000000 -1.093687 0
+ L3 65280 0.000000 0.182281 -0.984319 0 0.072912 -1.057231 0
+ L3 65280 0.000000 0.473931 -1.166600 0 0.437475 -1.312425 0
+ L3 65280 0.000000 0.692669 -1.093687 0 0.802037 -1.130144 0
+ L3 65280 0.000000 1.275969 -0.510387 0 1.166600 -0.546844 0
+ L3 65280 0.000000 1.093687 -0.692669 0 1.166600 -0.802037 0
+ L3 65280 0.000000 1.275969 0.109369 0 1.130144 0.072912 0
+ L3 65280 0.000000 -1.020775 0.911406 0 -0.947862 0.765581 0
+ L3 65280 0.000000 -1.166600 0.692669 0 -1.057231 0.765581 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 0.561637 0.577238 0
+ 0.332822 0.509633 0
+ 0.306820 0.338022 0
+ 0.457630 0.400426 0
+ F4 26624 0.000000 5 0
+ -0.218414 0.691645 0
+ -0.197613 0.572038 0
+ 0.026002 0.473231 0
+ 0.088406 0.618841 0
+ -0.026002 0.728048 0
+ F4 26624 0.000000 4 0
+ 0.712447 -0.026002 0
+ 0.442029 -0.088406 0
+ 0.384825 0.046803 0
+ 0.754050 0.067604 0
+ F4 26624 0.000000 4 0
+ 0.171611 -0.691645 0
+ 0.036402 -0.587639 0
+ 0.072805 -0.369224 0
+ 0.156010 -0.400426 0
+ F4 26624 0.000000 3 0
+ 0.634442 -0.520034 0
+ 0.561637 -0.358824 0
+ 0.447229 -0.457630 0
+ F4 26624 0.000000 5 0
+ -0.546036 -0.062404 0
+ -0.473231 -0.010401 0
+ -0.223615 0.052003 0
+ -0.088406 -0.088406 0
+ -0.400426 -0.135209 0
+ F4 26624 0.000000 4 0
+ -0.478431 -0.603240 0
+ -0.332822 -0.566837 0
+ -0.228815 -0.322421 0
+ -0.390026 -0.364024 0
+ L3 26624 0.000000 0.072912 0.802037 0 0.145825 0.692669 0
+ L3 26624 0.000000 0.510387 0.692669 0 0.328106 0.619756 0
+ L3 26624 0.000000 0.583300 0.874950 0 0.473931 0.802037 0
+ L3 26624 0.000000 0.328106 0.947862 0 0.255194 0.802037 0
+ L3 26624 0.000000 -0.145825 0.911406 0 -0.072912 0.802037 0
+ L3 26624 0.000000 -0.437475 0.583300 0 -0.291650 0.583300 0
+ L3 26624 0.000000 -0.328106 0.401019 0 -0.145825 0.473931 0
+ L3 26624 0.000000 -0.437475 0.218737 0 -0.291650 0.109369 0
+ L3 26624 0.000000 -0.656212 0.182281 0 -0.510387 0.109369 0
+ L3 26624 0.000000 -0.838494 0.072912 0 -0.656212 0.000000 0
+ L3 26624 0.000000 -0.583300 -0.182281 0 -0.729125 -0.328106 0
+ L3 26624 0.000000 -0.656212 -0.510387 0 -0.546844 -0.364562 0
+ L3 26624 0.000000 -0.401019 -0.802037 0 -0.291650 -0.656212 0
+ L3 26624 0.000000 -0.145825 -0.656212 0 -0.182281 -0.874950 0
+ L3 26624 0.000000 -0.109369 -0.401019 0 -0.072912 -0.546844 0
+ L3 26624 0.000000 0.255194 -0.656212 0 0.328106 -0.874950 0
+ L3 26624 0.000000 0.437475 -0.619756 0 0.656212 -0.729125 0
+ L3 26624 0.000000 0.984319 -0.255194 0 0.802037 -0.291650 0
+ L3 26624 0.000000 0.984319 -0.583300 0 0.802037 -0.510387 0
+ L3 26624 0.000000 1.057231 -0.437475 0 0.874950 -0.401019 0
+ L3 26624 0.000000 0.437475 -1.057231 0 0.401019 -0.911406 0
+ L3 26624 0.000000 0.656212 -0.947862 0 0.546844 -0.838494 0
+ L3 26624 0.000000 0.510387 -0.984319 0 0.437475 -0.765581 0
+ L3 26624 0.000000 1.093687 0.182281 0 0.874950 0.218737 0
+ L3 26624 0.000000 0.911406 0.473931 0 0.729125 0.364562 0
+ L3 26624 0.000000 1.093687 0.364562 0 0.911406 0.328106 0
+ L3 26624 0.000000 -0.364562 -1.020775 0 -0.328106 -0.874950 0
+ L3 26624 0.000000 -0.802037 -0.510387 0 -0.692669 -0.437475 0
+ L3 26624 0.000000 0.510387 1.166600 0 0.437475 0.984319 0
+ L3 26624 0.000000 0.656212 1.057231 0 0.546844 0.947862 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 4"" Decid-4a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -1.209891 -1.147793 0
+ -1.038259 -1.796778 0
+ -0.652085 -1.963047 0
+ -0.217640 -1.426696 0
+ 0.281167 -1.893322 0
+ 0.881881 -1.609055 0
+ 0.742429 1.582238 0
+ 0.173896 1.882594 0
+ -0.062098 1.517875 0
+ -0.539451 1.523239 0
+ -0.657449 1.893322 0
+ -1.392251 1.657327 0
+ -1.301071 1.222882 0
+ -1.907148 1.179974 0
+ -2.218232 0.552442 0
+ -1.874967 0.198450 0
+ -2.325503 0.000000 0
+ -2.207505 -0.450535 0
+ -1.730152 -0.622168 0
+ -2.073417 -0.901071 0
+ -1.794514 -1.405241 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -1.673417 -0.901071 0
+ -1.394514 -1.405241 0
+ -0.809891 -1.147793 0
+ -0.638259 -1.796778 0
+ -0.252085 -1.963047 0
+ 0.182360 -1.426696 0
+ 0.681167 -1.893322 0
+ 1.281881 -1.609055 0
+ 1.056613 -1.013705 0
+ 1.775324 -0.815255 0
+ 1.882594 -0.139451 0
+ 1.507148 0.209177 0
+ 1.861140 0.713348 0
+ 1.592965 1.163883 0
+ 1.158520 1.002978 0
+ 1.142429 1.582238 0
+ 0.573896 1.882594 0
+ 0.337902 1.517875 0
+ -0.139451 1.523239 0
+ -0.257449 1.893322 0
+ -0.992251 1.657327 0
+ -0.901071 1.222882 0
+ -1.507148 1.179974 0
+ -1.818232 0.552442 0
+ -1.474967 0.198450 0
+ -1.925503 0.000000 0
+ -1.807505 -0.450535 0
+ -1.330152 -0.622168 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.268176 -1.255063 0
+ 0.643622 -1.630509 0
+ 1.002978 -1.410605 0
+ 0.842072 -0.783073 0
+ 1.560783 -0.584623 0
+ 1.609055 -0.273539 0
+ 1.158520 0.037545 0
+ 1.550056 0.627531 0
+ 1.378424 0.831345 0
+ 0.949343 0.820618 0
+ 0.927888 1.314062 0
+ 0.557806 1.517875 0
+ 0.252085 1.158520 0
+ -0.209177 1.222882 0
+ -0.316448 1.469604 0
+ -0.707984 1.367697 0
+ -0.713348 0.938615 0
+ -1.040522 0.927888 0
+ -1.255063 0.498807 0
+ -0.874253 0.139451 0
+ -1.233609 -0.048272 0
+ -1.174610 -0.305720 0
+ -0.600714 -0.412991 0
+ -0.820618 -0.804528 0
+ -0.461262 -1.083430 0
+ -0.316448 -1.399878 0
+ L3 65280 0.000000 -0.340258 -1.652683 0 -0.145825 -1.506858 0
+ L3 65280 0.000000 -0.486083 -1.555467 0 -0.534692 -1.312425 0
+ L3 65280 0.000000 -1.117992 -1.020775 0 -0.777733 -1.020775 0
+ L3 65280 0.000000 -1.361033 -0.923558 0 -1.215208 -0.777733 0
+ L3 65280 0.000000 -1.020775 -0.826342 0 -0.826342 -0.680517 0
+ L3 65280 0.000000 -0.923558 -0.534692 0 -1.215208 -0.486083 0
+ L3 65280 0.000000 -1.652683 -0.388867 0 -1.312425 -0.388867 0
+ L3 65280 0.000000 -1.652683 -0.097217 0 -1.361033 -0.243042 0
+ L3 65280 0.000000 -1.117992 0.145825 0 -1.361033 0.097217 0
+ L3 65280 0.000000 -1.312425 0.340258 0 -1.652683 0.534692 0
+ L3 65280 0.000000 -1.506858 0.729125 0 -1.263817 0.777733 0
+ L3 65280 0.000000 -1.166600 1.117992 0 -1.069383 0.972167 0
+ L3 65280 0.000000 -0.729125 1.458250 0 -0.826342 1.604075 0
+ L3 65280 0.000000 -0.437475 1.555467 0 -0.340258 1.701292 0
+ L3 65280 0.000000 -0.048608 1.312425 0 0.000000 1.458250 0
+ L3 65280 0.000000 0.243042 1.312425 0 0.097217 1.409642 0
+ L3 65280 0.000000 0.631908 1.555467 0 0.583300 1.749900 0
+ L3 65280 0.000000 0.923558 1.458250 0 1.069383 1.506858 0
+ L3 65280 0.000000 1.701292 0.680517 0 1.555467 0.729125 0
+ L3 65280 0.000000 1.458250 0.923558 0 1.555467 1.069383 0
+ L3 65280 0.000000 1.701292 -0.145825 0 1.506858 -0.097217 0
+ L3 65280 0.000000 -1.361033 -1.215208 0 -1.263817 -1.020775 0
+ L3 65280 0.000000 -1.555467 -0.923558 0 -1.409642 -1.020775 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 0.748849 -0.769651 0
+ 0.443762 -0.679511 0
+ 0.409094 -0.450696 0
+ 0.610173 -0.533902 0
+ F4 26624 0.000000 5 0
+ -0.291219 -0.922194 0
+ -0.263484 -0.762717 0
+ 0.034669 -0.630975 0
+ 0.117874 -0.825121 0
+ -0.034669 -0.970730 0
+ F4 26624 0.000000 4 0
+ 0.949929 0.034669 0
+ 0.589372 0.117874 0
+ 0.513100 -0.062404 0
+ 1.005399 -0.090139 0
+ F4 26624 0.000000 4 0
+ 0.228815 0.922194 0
+ 0.048537 0.783518 0
+ 0.097073 0.492299 0
+ 0.208014 0.533902 0
+ F4 26624 0.000000 3 0
+ 0.845922 0.693379 0
+ 0.748849 0.478431 0
+ 0.596306 0.610173 0
+ F4 26624 0.000000 5 0
+ -0.728048 0.083205 0
+ -0.630975 0.013868 0
+ -0.298153 -0.069338 0
+ -0.117874 0.117874 0
+ -0.533902 0.180279 0
+ F4 26624 0.000000 4 0
+ -0.637909 0.804319 0
+ -0.443762 0.755783 0
+ -0.305087 0.429895 0
+ -0.520034 0.485365 0
+ L3 26624 0.000000 0.097217 -1.069383 0 0.194433 -0.923558 0
+ L3 26624 0.000000 0.680517 -0.923558 0 0.437475 -0.826342 0
+ L3 26624 0.000000 0.777733 -1.166600 0 0.631908 -1.069383 0
+ L3 26624 0.000000 0.437475 -1.263817 0 0.340258 -1.069383 0
+ L3 26624 0.000000 -0.194433 -1.215208 0 -0.097217 -1.069383 0
+ L3 26624 0.000000 -0.583300 -0.777733 0 -0.388867 -0.777733 0
+ L3 26624 0.000000 -0.437475 -0.534692 0 -0.194433 -0.631908 0
+ L3 26624 0.000000 -0.583300 -0.291650 0 -0.388867 -0.145825 0
+ L3 26624 0.000000 -0.874950 -0.243042 0 -0.680517 -0.145825 0
+ L3 26624 0.000000 -1.117992 -0.097217 0 -0.874950 0.000000 0
+ L3 26624 0.000000 -0.777733 0.243042 0 -0.972167 0.437475 0
+ L3 26624 0.000000 -0.874950 0.680517 0 -0.729125 0.486083 0
+ L3 26624 0.000000 -0.534692 1.069383 0 -0.388867 0.874950 0
+ L3 26624 0.000000 -0.194433 0.874950 0 -0.243042 1.166600 0
+ L3 26624 0.000000 -0.145825 0.534692 0 -0.097217 0.729125 0
+ L3 26624 0.000000 0.340258 0.874950 0 0.437475 1.166600 0
+ L3 26624 0.000000 0.583300 0.826342 0 0.874950 0.972167 0
+ L3 26624 0.000000 1.312425 0.340258 0 1.069383 0.388867 0
+ L3 26624 0.000000 1.312425 0.777733 0 1.069383 0.680517 0
+ L3 26624 0.000000 1.409642 0.583300 0 1.166600 0.534692 0
+ L3 26624 0.000000 0.583300 1.409642 0 0.534692 1.215208 0
+ L3 26624 0.000000 0.874950 1.263817 0 0.729125 1.117992 0
+ L3 26624 0.000000 0.680517 1.312425 0 0.583300 1.020775 0
+ L3 26624 0.000000 1.458250 -0.243042 0 1.166600 -0.291650 0
+ L3 26624 0.000000 1.215208 -0.631908 0 0.972167 -0.486083 0
+ L3 26624 0.000000 1.458250 -0.486083 0 1.215208 -0.437475 0
+ L3 26624 0.000000 -0.486083 1.361033 0 -0.437475 1.166600 0
+ L3 26624 0.000000 -1.069383 0.680517 0 -0.923558 0.583300 0
+ L3 26624 0.000000 0.680517 -1.555467 0 0.583300 -1.312425 0
+ L3 26624 0.000000 0.874950 -1.409642 0 0.729125 -1.263817 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 4"" Decid-4b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -1.209891 1.147793 0
+ -1.038259 1.796778 0
+ -0.652085 1.963047 0
+ -0.217640 1.426696 0
+ 0.281167 1.893322 0
+ 0.881881 1.609055 0
+ 0.742429 -1.582238 0
+ 0.173896 -1.882594 0
+ -0.062098 -1.517875 0
+ -0.539451 -1.523239 0
+ -0.657449 -1.893322 0
+ -1.392251 -1.657327 0
+ -1.301071 -1.222882 0
+ -1.907148 -1.179974 0
+ -2.218232 -0.552442 0
+ -1.874967 -0.198450 0
+ -2.325503 0.000000 0
+ -2.207505 0.450535 0
+ -1.730152 0.622168 0
+ -2.073417 0.901071 0
+ -1.794514 1.405241 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -1.673417 0.901071 0
+ -1.394514 1.405241 0
+ -0.809891 1.147793 0
+ -0.638259 1.796778 0
+ -0.252085 1.963047 0
+ 0.182360 1.426696 0
+ 0.681167 1.893322 0
+ 1.281881 1.609055 0
+ 1.056613 1.013705 0
+ 1.775324 0.815255 0
+ 1.882594 0.139451 0
+ 1.507148 -0.209177 0
+ 1.861140 -0.713348 0
+ 1.592965 -1.163883 0
+ 1.158520 -1.002978 0
+ 1.142429 -1.582238 0
+ 0.573896 -1.882594 0
+ 0.337902 -1.517875 0
+ -0.139451 -1.523239 0
+ -0.257449 -1.893322 0
+ -0.992251 -1.657327 0
+ -0.901071 -1.222882 0
+ -1.507148 -1.179974 0
+ -1.818232 -0.552442 0
+ -1.474967 -0.198450 0
+ -1.925503 0.000000 0
+ -1.807505 0.450535 0
+ -1.330152 0.622168 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.268176 1.255063 0
+ 0.643622 1.630509 0
+ 1.002978 1.410605 0
+ 0.842072 0.783073 0
+ 1.560783 0.584623 0
+ 1.609055 0.273539 0
+ 1.158520 -0.037545 0
+ 1.550056 -0.627531 0
+ 1.378424 -0.831345 0
+ 0.949343 -0.820618 0
+ 0.927888 -1.314062 0
+ 0.557806 -1.517875 0
+ 0.252085 -1.158520 0
+ -0.209177 -1.222882 0
+ -0.316448 -1.469604 0
+ -0.707984 -1.367697 0
+ -0.713348 -0.938615 0
+ -1.040522 -0.927888 0
+ -1.255063 -0.498807 0
+ -0.874253 -0.139451 0
+ -1.233609 0.048272 0
+ -1.174610 0.305720 0
+ -0.600714 0.412991 0
+ -0.820618 0.804528 0
+ -0.461262 1.083430 0
+ -0.316448 1.399878 0
+ L3 65280 0.000000 -0.340258 1.652683 0 -0.145825 1.506858 0
+ L3 65280 0.000000 -0.486083 1.555467 0 -0.534692 1.312425 0
+ L3 65280 0.000000 -1.117992 1.020775 0 -0.777733 1.020775 0
+ L3 65280 0.000000 -1.361033 0.923558 0 -1.215208 0.777733 0
+ L3 65280 0.000000 -1.020775 0.826342 0 -0.826342 0.680517 0
+ L3 65280 0.000000 -0.923558 0.534692 0 -1.215208 0.486083 0
+ L3 65280 0.000000 -1.652683 0.388867 0 -1.312425 0.388867 0
+ L3 65280 0.000000 -1.652683 0.097217 0 -1.361033 0.243042 0
+ L3 65280 0.000000 -1.117992 -0.145825 0 -1.361033 -0.097217 0
+ L3 65280 0.000000 -1.312425 -0.340258 0 -1.652683 -0.534692 0
+ L3 65280 0.000000 -1.506858 -0.729125 0 -1.263817 -0.777733 0
+ L3 65280 0.000000 -1.166600 -1.117992 0 -1.069383 -0.972167 0
+ L3 65280 0.000000 -0.729125 -1.458250 0 -0.826342 -1.604075 0
+ L3 65280 0.000000 -0.437475 -1.555467 0 -0.340258 -1.701292 0
+ L3 65280 0.000000 -0.048608 -1.312425 0 0.000000 -1.458250 0
+ L3 65280 0.000000 0.243042 -1.312425 0 0.097217 -1.409642 0
+ L3 65280 0.000000 0.631908 -1.555467 0 0.583300 -1.749900 0
+ L3 65280 0.000000 0.923558 -1.458250 0 1.069383 -1.506858 0
+ L3 65280 0.000000 1.701292 -0.680517 0 1.555467 -0.729125 0
+ L3 65280 0.000000 1.458250 -0.923558 0 1.555467 -1.069383 0
+ L3 65280 0.000000 1.701292 0.145825 0 1.506858 0.097217 0
+ L3 65280 0.000000 -1.361033 1.215208 0 -1.263817 1.020775 0
+ L3 65280 0.000000 -1.555467 0.923558 0 -1.409642 1.020775 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 0.748849 0.769651 0
+ 0.443762 0.679511 0
+ 0.409094 0.450696 0
+ 0.610173 0.533902 0
+ F4 26624 0.000000 5 0
+ -0.291219 0.922194 0
+ -0.263484 0.762717 0
+ 0.034669 0.630975 0
+ 0.117874 0.825121 0
+ -0.034669 0.970730 0
+ F4 26624 0.000000 4 0
+ 0.949929 -0.034669 0
+ 0.589372 -0.117874 0
+ 0.513100 0.062404 0
+ 1.005399 0.090139 0
+ F4 26624 0.000000 4 0
+ 0.228815 -0.922194 0
+ 0.048537 -0.783518 0
+ 0.097073 -0.492299 0
+ 0.208014 -0.533902 0
+ F4 26624 0.000000 3 0
+ 0.845922 -0.693379 0
+ 0.748849 -0.478431 0
+ 0.596306 -0.610173 0
+ F4 26624 0.000000 5 0
+ -0.728048 -0.083205 0
+ -0.630975 -0.013868 0
+ -0.298153 0.069338 0
+ -0.117874 -0.117874 0
+ -0.533902 -0.180279 0
+ F4 26624 0.000000 4 0
+ -0.637909 -0.804319 0
+ -0.443762 -0.755783 0
+ -0.305087 -0.429895 0
+ -0.520034 -0.485365 0
+ L3 26624 0.000000 0.097217 1.069383 0 0.194433 0.923558 0
+ L3 26624 0.000000 0.680517 0.923558 0 0.437475 0.826342 0
+ L3 26624 0.000000 0.777733 1.166600 0 0.631908 1.069383 0
+ L3 26624 0.000000 0.437475 1.263817 0 0.340258 1.069383 0
+ L3 26624 0.000000 -0.194433 1.215208 0 -0.097217 1.069383 0
+ L3 26624 0.000000 -0.583300 0.777733 0 -0.388867 0.777733 0
+ L3 26624 0.000000 -0.437475 0.534692 0 -0.194433 0.631908 0
+ L3 26624 0.000000 -0.583300 0.291650 0 -0.388867 0.145825 0
+ L3 26624 0.000000 -0.874950 0.243042 0 -0.680517 0.145825 0
+ L3 26624 0.000000 -1.117992 0.097217 0 -0.874950 0.000000 0
+ L3 26624 0.000000 -0.777733 -0.243042 0 -0.972167 -0.437475 0
+ L3 26624 0.000000 -0.874950 -0.680517 0 -0.729125 -0.486083 0
+ L3 26624 0.000000 -0.534692 -1.069383 0 -0.388867 -0.874950 0
+ L3 26624 0.000000 -0.194433 -0.874950 0 -0.243042 -1.166600 0
+ L3 26624 0.000000 -0.145825 -0.534692 0 -0.097217 -0.729125 0
+ L3 26624 0.000000 0.340258 -0.874950 0 0.437475 -1.166600 0
+ L3 26624 0.000000 0.583300 -0.826342 0 0.874950 -0.972167 0
+ L3 26624 0.000000 1.312425 -0.340258 0 1.069383 -0.388867 0
+ L3 26624 0.000000 1.312425 -0.777733 0 1.069383 -0.680517 0
+ L3 26624 0.000000 1.409642 -0.583300 0 1.166600 -0.534692 0
+ L3 26624 0.000000 0.583300 -1.409642 0 0.534692 -1.215208 0
+ L3 26624 0.000000 0.874950 -1.263817 0 0.729125 -1.117992 0
+ L3 26624 0.000000 0.680517 -1.312425 0 0.583300 -1.020775 0
+ L3 26624 0.000000 1.458250 0.243042 0 1.166600 0.291650 0
+ L3 26624 0.000000 1.215208 0.631908 0 0.972167 0.486083 0
+ L3 26624 0.000000 1.458250 0.486083 0 1.215208 0.437475 0
+ L3 26624 0.000000 -0.486083 -1.361033 0 -0.437475 -1.166600 0
+ L3 26624 0.000000 -1.069383 -0.680517 0 -0.923558 -0.583300 0
+ L3 26624 0.000000 0.680517 1.555467 0 0.583300 1.312425 0
+ L3 26624 0.000000 0.874950 1.409642 0 0.729125 1.263817 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 5"" Decid-5a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -1.512364 -1.434741 0
+ -1.297823 -2.245973 0
+ -0.815107 -2.453809 0
+ -0.272051 -1.783369 0
+ 0.351458 -2.366652 0
+ 1.102351 -2.011319 0
+ 0.928036 1.977797 0
+ 0.217370 2.353243 0
+ -0.077623 1.897344 0
+ -0.674314 1.904049 0
+ -0.821811 2.366652 0
+ -1.740313 2.071658 0
+ -1.626339 1.528602 0
+ -2.383935 1.474967 0
+ -2.772790 0.690553 0
+ -2.343709 0.248063 0
+ -2.906878 0.000000 0
+ -2.759382 -0.563169 0
+ -2.162690 -0.777710 0
+ -2.591772 -1.126339 0
+ -2.243143 -1.756552 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -2.091772 -1.126339 0
+ -1.743143 -1.756552 0
+ -1.012364 -1.434741 0
+ -0.797823 -2.245973 0
+ -0.315107 -2.453809 0
+ 0.227949 -1.783369 0
+ 0.851458 -2.366652 0
+ 1.602351 -2.011319 0
+ 1.320766 -1.267131 0
+ 2.219155 -1.019068 0
+ 2.353243 -0.174314 0
+ 1.883935 0.261471 0
+ 2.326426 0.891685 0
+ 1.991206 1.454854 0
+ 1.448150 1.253722 0
+ 1.428036 1.977797 0
+ 0.717370 2.353243 0
+ 0.422377 1.897344 0
+ -0.174314 1.904049 0
+ -0.321811 2.366652 0
+ -1.240313 2.071658 0
+ -1.126339 1.528602 0
+ -1.883935 1.474967 0
+ -2.272790 0.690553 0
+ -1.843709 0.248063 0
+ -2.406878 0.000000 0
+ -2.259382 -0.563169 0
+ -1.662690 -0.777710 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.335220 -1.568829 0
+ 0.804528 -2.038136 0
+ 1.253722 -1.763256 0
+ 1.052590 -0.978842 0
+ 1.950979 -0.730779 0
+ 2.011319 -0.341924 0
+ 1.448150 0.046931 0
+ 1.937571 0.784414 0
+ 1.723030 1.039181 0
+ 1.186678 1.025773 0
+ 1.159861 1.642577 0
+ 0.697257 1.897344 0
+ 0.315107 1.448150 0
+ -0.261471 1.528602 0
+ -0.395559 1.837005 0
+ -0.884980 1.709621 0
+ -0.891685 1.173269 0
+ -1.300653 1.159861 0
+ -1.568829 0.623509 0
+ -1.092817 0.174314 0
+ -1.542011 -0.060340 0
+ -1.468263 -0.382151 0
+ -0.750892 -0.516239 0
+ -1.025773 -1.005659 0
+ -0.576578 -1.354288 0
+ -0.395559 -1.749847 0
+ L3 65280 0.000000 -0.425323 -2.065854 0 -0.182281 -1.883573 0
+ L3 65280 0.000000 -0.607604 -1.944333 0 -0.668365 -1.640531 0
+ L3 65280 0.000000 -1.397490 -1.275969 0 -0.972167 -1.275969 0
+ L3 65280 0.000000 -1.701292 -1.154448 0 -1.519010 -0.972167 0
+ L3 65280 0.000000 -1.275969 -1.032927 0 -1.032927 -0.850646 0
+ L3 65280 0.000000 -1.154448 -0.668365 0 -1.519010 -0.607604 0
+ L3 65280 0.000000 -2.065854 -0.486083 0 -1.640531 -0.486083 0
+ L3 65280 0.000000 -2.065854 -0.121521 0 -1.701292 -0.303802 0
+ L3 65280 0.000000 -1.397490 0.182281 0 -1.701292 0.121521 0
+ L3 65280 0.000000 -1.640531 0.425323 0 -2.065854 0.668365 0
+ L3 65280 0.000000 -1.883573 0.911406 0 -1.579771 0.972167 0
+ L3 65280 0.000000 -1.458250 1.397490 0 -1.336729 1.215208 0
+ L3 65280 0.000000 -0.911406 1.822812 0 -1.032927 2.005094 0
+ L3 65280 0.000000 -0.546844 1.944333 0 -0.425323 2.126615 0
+ L3 65280 0.000000 -0.060760 1.640531 0 0.000000 1.822812 0
+ L3 65280 0.000000 0.303802 1.640531 0 0.121521 1.762052 0
+ L3 65280 0.000000 0.789885 1.944333 0 0.729125 2.187375 0
+ L3 65280 0.000000 1.154448 1.822812 0 1.336729 1.883573 0
+ L3 65280 0.000000 2.126615 0.850646 0 1.944333 0.911406 0
+ L3 65280 0.000000 1.822812 1.154448 0 1.944333 1.336729 0
+ L3 65280 0.000000 2.126615 -0.182281 0 1.883573 -0.121521 0
+ L3 65280 0.000000 -1.701292 -1.519010 0 -1.579771 -1.275969 0
+ L3 65280 0.000000 -1.944333 -1.154448 0 -1.762052 -1.275969 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 0.936061 -0.962063 0
+ 0.554703 -0.849389 0
+ 0.511367 -0.563370 0
+ 0.762717 -0.667377 0
+ F4 26624 0.000000 5 0
+ -0.364024 -1.152742 0
+ -0.329355 -0.953396 0
+ 0.043336 -0.788718 0
+ 0.147343 -1.031401 0
+ -0.043336 -1.213413 0
+ F4 26624 0.000000 4 0
+ 1.187411 0.043336 0
+ 0.736715 0.147343 0
+ 0.641375 -0.078005 0
+ 1.256749 -0.112674 0
+ F4 26624 0.000000 4 0
+ 0.286019 1.152742 0
+ 0.060671 0.979398 0
+ 0.121341 0.615374 0
+ 0.260017 0.667377 0
+ F4 26624 0.000000 3 0
+ 1.057403 0.866724 0
+ 0.936061 0.598039 0
+ 0.745382 0.762717 0
+ F4 26624 0.000000 5 0
+ -0.910060 0.104007 0
+ -0.788718 0.017334 0
+ -0.372691 -0.086672 0
+ -0.147343 0.147343 0
+ -0.667377 0.225348 0
+ F4 26624 0.000000 4 0
+ -0.797386 1.005399 0
+ -0.554703 0.944729 0
+ -0.381358 0.537369 0
+ -0.650043 0.606707 0
+ L3 26624 0.000000 0.121521 -1.336729 0 0.243042 -1.154448 0
+ L3 26624 0.000000 0.850646 -1.154448 0 0.546844 -1.032927 0
+ L3 26624 0.000000 0.972167 -1.458250 0 0.789885 -1.336729 0
+ L3 26624 0.000000 0.546844 -1.579771 0 0.425323 -1.336729 0
+ L3 26624 0.000000 -0.243042 -1.519010 0 -0.121521 -1.336729 0
+ L3 26624 0.000000 -0.729125 -0.972167 0 -0.486083 -0.972167 0
+ L3 26624 0.000000 -0.546844 -0.668365 0 -0.243042 -0.789885 0
+ L3 26624 0.000000 -0.729125 -0.364562 0 -0.486083 -0.182281 0
+ L3 26624 0.000000 -1.093687 -0.303802 0 -0.850646 -0.182281 0
+ L3 26624 0.000000 -1.397490 -0.121521 0 -1.093687 0.000000 0
+ L3 26624 0.000000 -0.972167 0.303802 0 -1.215208 0.546844 0
+ L3 26624 0.000000 -1.093687 0.850646 0 -0.911406 0.607604 0
+ L3 26624 0.000000 -0.668365 1.336729 0 -0.486083 1.093687 0
+ L3 26624 0.000000 -0.243042 1.093687 0 -0.303802 1.458250 0
+ L3 26624 0.000000 -0.182281 0.668365 0 -0.121521 0.911406 0
+ L3 26624 0.000000 0.425323 1.093687 0 0.546844 1.458250 0
+ L3 26624 0.000000 0.729125 1.032927 0 1.093687 1.215208 0
+ L3 26624 0.000000 1.640531 0.425323 0 1.336729 0.486083 0
+ L3 26624 0.000000 1.640531 0.972167 0 1.336729 0.850646 0
+ L3 26624 0.000000 1.762052 0.729125 0 1.458250 0.668365 0
+ L3 26624 0.000000 0.729125 1.762052 0 0.668365 1.519010 0
+ L3 26624 0.000000 1.093687 1.579771 0 0.911406 1.397490 0
+ L3 26624 0.000000 0.850646 1.640531 0 0.729125 1.275969 0
+ L3 26624 0.000000 1.822812 -0.303802 0 1.458250 -0.364562 0
+ L3 26624 0.000000 1.519010 -0.789885 0 1.215208 -0.607604 0
+ L3 26624 0.000000 1.822812 -0.607604 0 1.519010 -0.546844 0
+ L3 26624 0.000000 -0.607604 1.701292 0 -0.546844 1.458250 0
+ L3 26624 0.000000 -1.336729 0.850646 0 -1.154448 0.729125 0
+ L3 26624 0.000000 0.850646 -1.944333 0 0.729125 -1.640531 0
+ L3 26624 0.000000 1.093687 -1.762052 0 0.911406 -1.579771 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 5"" Decid-5b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -1.512364 1.434741 0
+ -1.297823 2.245973 0
+ -0.815107 2.453809 0
+ -0.272051 1.783369 0
+ 0.351458 2.366652 0
+ 1.102351 2.011319 0
+ 0.928036 -1.977797 0
+ 0.217370 -2.353243 0
+ -0.077623 -1.897344 0
+ -0.674314 -1.904049 0
+ -0.821811 -2.366652 0
+ -1.740313 -2.071658 0
+ -1.626339 -1.528602 0
+ -2.383935 -1.474967 0
+ -2.772790 -0.690553 0
+ -2.343709 -0.248063 0
+ -2.906878 0.000000 0
+ -2.759382 0.563169 0
+ -2.162690 0.777710 0
+ -2.591772 1.126339 0
+ -2.243143 1.756552 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -2.091772 1.126339 0
+ -1.743143 1.756552 0
+ -1.012364 1.434741 0
+ -0.797823 2.245973 0
+ -0.315107 2.453809 0
+ 0.227949 1.783369 0
+ 0.851458 2.366652 0
+ 1.602351 2.011319 0
+ 1.320766 1.267131 0
+ 2.219155 1.019068 0
+ 2.353243 0.174314 0
+ 1.883935 -0.261471 0
+ 2.326426 -0.891685 0
+ 1.991206 -1.454854 0
+ 1.448150 -1.253722 0
+ 1.428036 -1.977797 0
+ 0.717370 -2.353243 0
+ 0.422377 -1.897344 0
+ -0.174314 -1.904049 0
+ -0.321811 -2.366652 0
+ -1.240313 -2.071658 0
+ -1.126339 -1.528602 0
+ -1.883935 -1.474967 0
+ -2.272790 -0.690553 0
+ -1.843709 -0.248063 0
+ -2.406878 0.000000 0
+ -2.259382 0.563169 0
+ -1.662690 0.777710 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.335220 1.568829 0
+ 0.804528 2.038136 0
+ 1.253722 1.763256 0
+ 1.052590 0.978842 0
+ 1.950979 0.730779 0
+ 2.011319 0.341924 0
+ 1.448150 -0.046931 0
+ 1.937571 -0.784414 0
+ 1.723030 -1.039181 0
+ 1.186678 -1.025773 0
+ 1.159861 -1.642577 0
+ 0.697257 -1.897344 0
+ 0.315107 -1.448150 0
+ -0.261471 -1.528602 0
+ -0.395559 -1.837005 0
+ -0.884980 -1.709621 0
+ -0.891685 -1.173269 0
+ -1.300653 -1.159861 0
+ -1.568829 -0.623509 0
+ -1.092817 -0.174314 0
+ -1.542011 0.060340 0
+ -1.468263 0.382151 0
+ -0.750892 0.516239 0
+ -1.025773 1.005659 0
+ -0.576578 1.354288 0
+ -0.395559 1.749847 0
+ L3 65280 0.000000 -0.425323 2.065854 0 -0.182281 1.883573 0
+ L3 65280 0.000000 -0.607604 1.944333 0 -0.668365 1.640531 0
+ L3 65280 0.000000 -1.397490 1.275969 0 -0.972167 1.275969 0
+ L3 65280 0.000000 -1.701292 1.154448 0 -1.519010 0.972167 0
+ L3 65280 0.000000 -1.275969 1.032927 0 -1.032927 0.850646 0
+ L3 65280 0.000000 -1.154448 0.668365 0 -1.519010 0.607604 0
+ L3 65280 0.000000 -2.065854 0.486083 0 -1.640531 0.486083 0
+ L3 65280 0.000000 -2.065854 0.121521 0 -1.701292 0.303802 0
+ L3 65280 0.000000 -1.397490 -0.182281 0 -1.701292 -0.121521 0
+ L3 65280 0.000000 -1.640531 -0.425323 0 -2.065854 -0.668365 0
+ L3 65280 0.000000 -1.883573 -0.911406 0 -1.579771 -0.972167 0
+ L3 65280 0.000000 -1.458250 -1.397490 0 -1.336729 -1.215208 0
+ L3 65280 0.000000 -0.911406 -1.822812 0 -1.032927 -2.005094 0
+ L3 65280 0.000000 -0.546844 -1.944333 0 -0.425323 -2.126615 0
+ L3 65280 0.000000 -0.060760 -1.640531 0 0.000000 -1.822812 0
+ L3 65280 0.000000 0.303802 -1.640531 0 0.121521 -1.762052 0
+ L3 65280 0.000000 0.789885 -1.944333 0 0.729125 -2.187375 0
+ L3 65280 0.000000 1.154448 -1.822812 0 1.336729 -1.883573 0
+ L3 65280 0.000000 2.126615 -0.850646 0 1.944333 -0.911406 0
+ L3 65280 0.000000 1.822812 -1.154448 0 1.944333 -1.336729 0
+ L3 65280 0.000000 2.126615 0.182281 0 1.883573 0.121521 0
+ L3 65280 0.000000 -1.701292 1.519010 0 -1.579771 1.275969 0
+ L3 65280 0.000000 -1.944333 1.154448 0 -1.762052 1.275969 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 0.936061 0.962063 0
+ 0.554703 0.849389 0
+ 0.511367 0.563370 0
+ 0.762717 0.667377 0
+ F4 26624 0.000000 5 0
+ -0.364024 1.152742 0
+ -0.329355 0.953396 0
+ 0.043336 0.788718 0
+ 0.147343 1.031401 0
+ -0.043336 1.213413 0
+ F4 26624 0.000000 4 0
+ 1.187411 -0.043336 0
+ 0.736715 -0.147343 0
+ 0.641375 0.078005 0
+ 1.256749 0.112674 0
+ F4 26624 0.000000 4 0
+ 0.286019 -1.152742 0
+ 0.060671 -0.979398 0
+ 0.121341 -0.615374 0
+ 0.260017 -0.667377 0
+ F4 26624 0.000000 3 0
+ 1.057403 -0.866724 0
+ 0.936061 -0.598039 0
+ 0.745382 -0.762717 0
+ F4 26624 0.000000 5 0
+ -0.910060 -0.104007 0
+ -0.788718 -0.017334 0
+ -0.372691 0.086672 0
+ -0.147343 -0.147343 0
+ -0.667377 -0.225348 0
+ F4 26624 0.000000 4 0
+ -0.797386 -1.005399 0
+ -0.554703 -0.944729 0
+ -0.381358 -0.537369 0
+ -0.650043 -0.606707 0
+ L3 26624 0.000000 0.121521 1.336729 0 0.243042 1.154448 0
+ L3 26624 0.000000 0.850646 1.154448 0 0.546844 1.032927 0
+ L3 26624 0.000000 0.972167 1.458250 0 0.789885 1.336729 0
+ L3 26624 0.000000 0.546844 1.579771 0 0.425323 1.336729 0
+ L3 26624 0.000000 -0.243042 1.519010 0 -0.121521 1.336729 0
+ L3 26624 0.000000 -0.729125 0.972167 0 -0.486083 0.972167 0
+ L3 26624 0.000000 -0.546844 0.668365 0 -0.243042 0.789885 0
+ L3 26624 0.000000 -0.729125 0.364562 0 -0.486083 0.182281 0
+ L3 26624 0.000000 -1.093687 0.303802 0 -0.850646 0.182281 0
+ L3 26624 0.000000 -1.397490 0.121521 0 -1.093687 0.000000 0
+ L3 26624 0.000000 -0.972167 -0.303802 0 -1.215208 -0.546844 0
+ L3 26624 0.000000 -1.093687 -0.850646 0 -0.911406 -0.607604 0
+ L3 26624 0.000000 -0.668365 -1.336729 0 -0.486083 -1.093687 0
+ L3 26624 0.000000 -0.243042 -1.093687 0 -0.303802 -1.458250 0
+ L3 26624 0.000000 -0.182281 -0.668365 0 -0.121521 -0.911406 0
+ L3 26624 0.000000 0.425323 -1.093687 0 0.546844 -1.458250 0
+ L3 26624 0.000000 0.729125 -1.032927 0 1.093687 -1.215208 0
+ L3 26624 0.000000 1.640531 -0.425323 0 1.336729 -0.486083 0
+ L3 26624 0.000000 1.640531 -0.972167 0 1.336729 -0.850646 0
+ L3 26624 0.000000 1.762052 -0.729125 0 1.458250 -0.668365 0
+ L3 26624 0.000000 0.729125 -1.762052 0 0.668365 -1.519010 0
+ L3 26624 0.000000 1.093687 -1.579771 0 0.911406 -1.397490 0
+ L3 26624 0.000000 0.850646 -1.640531 0 0.729125 -1.275969 0
+ L3 26624 0.000000 1.822812 0.303802 0 1.458250 0.364562 0
+ L3 26624 0.000000 1.519010 0.789885 0 1.215208 0.607604 0
+ L3 26624 0.000000 1.822812 0.607604 0 1.519010 0.546844 0
+ L3 26624 0.000000 -0.607604 -1.701292 0 -0.546844 -1.458250 0
+ L3 26624 0.000000 -1.336729 -0.850646 0 -1.154448 -0.729125 0
+ L3 26624 0.000000 0.850646 1.944333 0 0.729125 1.640531 0
+ L3 26624 0.000000 1.093687 1.762052 0 0.911406 1.579771 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 6"" Decid-6a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -1.814837 -1.721689 0
+ -1.557388 -2.695167 0
+ -0.978128 -2.944571 0
+ -0.326461 -2.140043 0
+ 0.421750 -2.839982 0
+ 1.322821 -2.413583 0
+ 1.113644 2.373356 0
+ 0.260844 2.823892 0
+ -0.093148 2.276813 0
+ -0.809177 2.284858 0
+ -0.986173 2.839982 0
+ -2.088376 2.485990 0
+ -1.951606 1.834323 0
+ -2.860722 1.769961 0
+ -3.327348 0.828663 0
+ -2.812451 0.297675 0
+ -3.488254 0.000000 0
+ -3.311258 -0.675803 0
+ -2.595228 -0.933252 0
+ -3.110126 -1.351606 0
+ -2.691772 -2.107862 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -2.510126 -1.351606 0
+ -2.091772 -2.107862 0
+ -1.214837 -1.721689 0
+ -0.957388 -2.695167 0
+ -0.378128 -2.944571 0
+ 0.273539 -2.140043 0
+ 1.021750 -2.839982 0
+ 1.922821 -2.413583 0
+ 1.584919 -1.520557 0
+ 2.662986 -1.222882 0
+ 2.823892 -0.209177 0
+ 2.260722 0.313766 0
+ 2.791711 1.070022 0
+ 2.389447 1.745825 0
+ 1.737780 1.504467 0
+ 1.713644 2.373356 0
+ 0.860844 2.823892 0
+ 0.506852 2.276813 0
+ -0.209177 2.284858 0
+ -0.386173 2.839982 0
+ -1.488376 2.485990 0
+ -1.351606 1.834323 0
+ -2.260722 1.769961 0
+ -2.727348 0.828663 0
+ -2.212451 0.297675 0
+ -2.888254 0.000000 0
+ -2.711258 -0.675803 0
+ -1.995228 -0.933252 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.402264 -1.882594 0
+ 0.965433 -2.445764 0
+ 1.504467 -2.115907 0
+ 1.263108 -1.174610 0
+ 2.341175 -0.876935 0
+ 2.413583 -0.410309 0
+ 1.737780 0.056317 0
+ 2.325085 0.941297 0
+ 2.067636 1.247018 0
+ 1.424014 1.230927 0
+ 1.391833 1.971093 0
+ 0.836709 2.276813 0
+ 0.378128 1.737780 0
+ -0.313766 1.834323 0
+ -0.474671 2.204406 0
+ -1.061976 2.051545 0
+ -1.070022 1.407923 0
+ -1.560783 1.391833 0
+ -1.882594 0.748211 0
+ -1.311380 0.209177 0
+ -1.850413 -0.072407 0
+ -1.761915 -0.458581 0
+ -0.901071 -0.619486 0
+ -1.230927 -1.206791 0
+ -0.691894 -1.625146 0
+ -0.474671 -2.099817 0
+ L3 65280 0.000000 -0.510387 -2.479025 0 -0.218737 -2.260287 0
+ L3 65280 0.000000 -0.729125 -2.333200 0 -0.802037 -1.968637 0
+ L3 65280 0.000000 -1.676987 -1.531162 0 -1.166600 -1.531162 0
+ L3 65280 0.000000 -2.041550 -1.385337 0 -1.822812 -1.166600 0
+ L3 65280 0.000000 -1.531162 -1.239512 0 -1.239512 -1.020775 0
+ L3 65280 0.000000 -1.385337 -0.802037 0 -1.822812 -0.729125 0
+ L3 65280 0.000000 -2.479025 -0.583300 0 -1.968637 -0.583300 0
+ L3 65280 0.000000 -2.479025 -0.145825 0 -2.041550 -0.364562 0
+ L3 65280 0.000000 -1.676987 0.218737 0 -2.041550 0.145825 0
+ L3 65280 0.000000 -1.968637 0.510387 0 -2.479025 0.802037 0
+ L3 65280 0.000000 -2.260287 1.093687 0 -1.895725 1.166600 0
+ L3 65280 0.000000 -1.749900 1.676987 0 -1.604075 1.458250 0
+ L3 65280 0.000000 -1.093687 2.187375 0 -1.239512 2.406112 0
+ L3 65280 0.000000 -0.656212 2.333200 0 -0.510387 2.551937 0
+ L3 65280 0.000000 -0.072912 1.968637 0 0.000000 2.187375 0
+ L3 65280 0.000000 0.364562 1.968637 0 0.145825 2.114462 0
+ L3 65280 0.000000 0.947862 2.333200 0 0.874950 2.624850 0
+ L3 65280 0.000000 1.385337 2.187375 0 1.604075 2.260287 0
+ L3 65280 0.000000 2.551937 1.020775 0 2.333200 1.093687 0
+ L3 65280 0.000000 2.187375 1.385337 0 2.333200 1.604075 0
+ L3 65280 0.000000 2.551937 -0.218737 0 2.260287 -0.145825 0
+ L3 65280 0.000000 -2.041550 -1.822812 0 -1.895725 -1.531162 0
+ L3 65280 0.000000 -2.333200 -1.385337 0 -2.114462 -1.531162 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 1.123274 -1.154476 0
+ 0.665644 -1.019267 0
+ 0.613640 -0.676044 0
+ 0.915260 -0.800853 0
+ F4 26624 0.000000 5 0
+ -0.436829 -1.383291 0
+ -0.395226 -1.144075 0
+ 0.052003 -0.946462 0
+ 0.176812 -1.237681 0
+ -0.052003 -1.456096 0
+ F4 26624 0.000000 4 0
+ 1.424894 0.052003 0
+ 0.884058 0.176812 0
+ 0.769651 -0.093606 0
+ 1.508099 -0.135209 0
+ F4 26624 0.000000 4 0
+ 0.343223 1.383291 0
+ 0.072805 1.175277 0
+ 0.145610 0.738448 0
+ 0.312020 0.800853 0
+ F4 26624 0.000000 3 0
+ 1.268883 1.040068 0
+ 1.123274 0.717647 0
+ 0.894459 0.915260 0
+ F4 26624 0.000000 5 0
+ -1.092072 0.124808 0
+ -0.946462 0.020801 0
+ -0.447229 -0.104007 0
+ -0.176812 0.176812 0
+ -0.800853 0.270418 0
+ F4 26624 0.000000 4 0
+ -0.956863 1.206479 0
+ -0.665644 1.133674 0
+ -0.457630 0.644842 0
+ -0.780051 0.728048 0
+ L3 26624 0.000000 0.145825 -1.604075 0 0.291650 -1.385337 0
+ L3 26624 0.000000 1.020775 -1.385337 0 0.656212 -1.239512 0
+ L3 26624 0.000000 1.166600 -1.749900 0 0.947862 -1.604075 0
+ L3 26624 0.000000 0.656212 -1.895725 0 0.510387 -1.604075 0
+ L3 26624 0.000000 -0.291650 -1.822812 0 -0.145825 -1.604075 0
+ L3 26624 0.000000 -0.874950 -1.166600 0 -0.583300 -1.166600 0
+ L3 26624 0.000000 -0.656212 -0.802037 0 -0.291650 -0.947862 0
+ L3 26624 0.000000 -0.874950 -0.437475 0 -0.583300 -0.218737 0
+ L3 26624 0.000000 -1.312425 -0.364562 0 -1.020775 -0.218737 0
+ L3 26624 0.000000 -1.676987 -0.145825 0 -1.312425 0.000000 0
+ L3 26624 0.000000 -1.166600 0.364562 0 -1.458250 0.656212 0
+ L3 26624 0.000000 -1.312425 1.020775 0 -1.093687 0.729125 0
+ L3 26624 0.000000 -0.802037 1.604075 0 -0.583300 1.312425 0
+ L3 26624 0.000000 -0.291650 1.312425 0 -0.364562 1.749900 0
+ L3 26624 0.000000 -0.218737 0.802037 0 -0.145825 1.093687 0
+ L3 26624 0.000000 0.510387 1.312425 0 0.656212 1.749900 0
+ L3 26624 0.000000 0.874950 1.239512 0 1.312425 1.458250 0
+ L3 26624 0.000000 1.968637 0.510387 0 1.604075 0.583300 0
+ L3 26624 0.000000 1.968637 1.166600 0 1.604075 1.020775 0
+ L3 26624 0.000000 2.114462 0.874950 0 1.749900 0.802037 0
+ L3 26624 0.000000 0.874950 2.114462 0 0.802037 1.822812 0
+ L3 26624 0.000000 1.312425 1.895725 0 1.093687 1.676987 0
+ L3 26624 0.000000 1.020775 1.968637 0 0.874950 1.531162 0
+ L3 26624 0.000000 2.187375 -0.364562 0 1.749900 -0.437475 0
+ L3 26624 0.000000 1.822812 -0.947862 0 1.458250 -0.729125 0
+ L3 26624 0.000000 2.187375 -0.729125 0 1.822812 -0.656212 0
+ L3 26624 0.000000 -0.729125 2.041550 0 -0.656212 1.749900 0
+ L3 26624 0.000000 -1.604075 1.020775 0 -1.385337 0.874950 0
+ L3 26624 0.000000 1.020775 -2.333200 0 0.874950 -1.968637 0
+ L3 26624 0.000000 1.312425 -2.114462 0 1.093687 -1.895725 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 6"" Decid-6b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -1.814837 1.721689 0
+ -1.557388 2.695167 0
+ -0.978128 2.944571 0
+ -0.326461 2.140043 0
+ 0.421750 2.839982 0
+ 1.322821 2.413583 0
+ 1.113644 -2.373356 0
+ 0.260844 -2.823892 0
+ -0.093148 -2.276813 0
+ -0.809177 -2.284858 0
+ -0.986173 -2.839982 0
+ -2.088376 -2.485990 0
+ -1.951606 -1.834323 0
+ -2.860722 -1.769961 0
+ -3.327348 -0.828663 0
+ -2.812451 -0.297675 0
+ -3.488254 0.000000 0
+ -3.311258 0.675803 0
+ -2.595228 0.933252 0
+ -3.110126 1.351606 0
+ -2.691772 2.107862 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -2.510126 1.351606 0
+ -2.091772 2.107862 0
+ -1.214837 1.721689 0
+ -0.957388 2.695167 0
+ -0.378128 2.944571 0
+ 0.273539 2.140043 0
+ 1.021750 2.839982 0
+ 1.922821 2.413583 0
+ 1.584919 1.520557 0
+ 2.662986 1.222882 0
+ 2.823892 0.209177 0
+ 2.260722 -0.313766 0
+ 2.791711 -1.070022 0
+ 2.389447 -1.745825 0
+ 1.737780 -1.504467 0
+ 1.713644 -2.373356 0
+ 0.860844 -2.823892 0
+ 0.506852 -2.276813 0
+ -0.209177 -2.284858 0
+ -0.386173 -2.839982 0
+ -1.488376 -2.485990 0
+ -1.351606 -1.834323 0
+ -2.260722 -1.769961 0
+ -2.727348 -0.828663 0
+ -2.212451 -0.297675 0
+ -2.888254 0.000000 0
+ -2.711258 0.675803 0
+ -1.995228 0.933252 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.402264 1.882594 0
+ 0.965433 2.445764 0
+ 1.504467 2.115907 0
+ 1.263108 1.174610 0
+ 2.341175 0.876935 0
+ 2.413583 0.410309 0
+ 1.737780 -0.056317 0
+ 2.325085 -0.941297 0
+ 2.067636 -1.247018 0
+ 1.424014 -1.230927 0
+ 1.391833 -1.971093 0
+ 0.836709 -2.276813 0
+ 0.378128 -1.737780 0
+ -0.313766 -1.834323 0
+ -0.474671 -2.204406 0
+ -1.061976 -2.051545 0
+ -1.070022 -1.407923 0
+ -1.560783 -1.391833 0
+ -1.882594 -0.748211 0
+ -1.311380 -0.209177 0
+ -1.850413 0.072407 0
+ -1.761915 0.458581 0
+ -0.901071 0.619486 0
+ -1.230927 1.206791 0
+ -0.691894 1.625146 0
+ -0.474671 2.099817 0
+ L3 65280 0.000000 -0.510387 2.479025 0 -0.218737 2.260287 0
+ L3 65280 0.000000 -0.729125 2.333200 0 -0.802037 1.968637 0
+ L3 65280 0.000000 -1.676987 1.531162 0 -1.166600 1.531162 0
+ L3 65280 0.000000 -2.041550 1.385337 0 -1.822812 1.166600 0
+ L3 65280 0.000000 -1.531162 1.239512 0 -1.239512 1.020775 0
+ L3 65280 0.000000 -1.385337 0.802037 0 -1.822812 0.729125 0
+ L3 65280 0.000000 -2.479025 0.583300 0 -1.968637 0.583300 0
+ L3 65280 0.000000 -2.479025 0.145825 0 -2.041550 0.364562 0
+ L3 65280 0.000000 -1.676987 -0.218737 0 -2.041550 -0.145825 0
+ L3 65280 0.000000 -1.968637 -0.510387 0 -2.479025 -0.802037 0
+ L3 65280 0.000000 -2.260287 -1.093687 0 -1.895725 -1.166600 0
+ L3 65280 0.000000 -1.749900 -1.676987 0 -1.604075 -1.458250 0
+ L3 65280 0.000000 -1.093687 -2.187375 0 -1.239512 -2.406112 0
+ L3 65280 0.000000 -0.656212 -2.333200 0 -0.510387 -2.551937 0
+ L3 65280 0.000000 -0.072912 -1.968637 0 0.000000 -2.187375 0
+ L3 65280 0.000000 0.364562 -1.968637 0 0.145825 -2.114462 0
+ L3 65280 0.000000 0.947862 -2.333200 0 0.874950 -2.624850 0
+ L3 65280 0.000000 1.385337 -2.187375 0 1.604075 -2.260287 0
+ L3 65280 0.000000 2.551937 -1.020775 0 2.333200 -1.093687 0
+ L3 65280 0.000000 2.187375 -1.385337 0 2.333200 -1.604075 0
+ L3 65280 0.000000 2.551937 0.218737 0 2.260287 0.145825 0
+ L3 65280 0.000000 -2.041550 1.822812 0 -1.895725 1.531162 0
+ L3 65280 0.000000 -2.333200 1.385337 0 -2.114462 1.531162 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 1.123274 1.154476 0
+ 0.665644 1.019267 0
+ 0.613640 0.676044 0
+ 0.915260 0.800853 0
+ F4 26624 0.000000 5 0
+ -0.436829 1.383291 0
+ -0.395226 1.144075 0
+ 0.052003 0.946462 0
+ 0.176812 1.237681 0
+ -0.052003 1.456096 0
+ F4 26624 0.000000 4 0
+ 1.424894 -0.052003 0
+ 0.884058 -0.176812 0
+ 0.769651 0.093606 0
+ 1.508099 0.135209 0
+ F4 26624 0.000000 4 0
+ 0.343223 -1.383291 0
+ 0.072805 -1.175277 0
+ 0.145610 -0.738448 0
+ 0.312020 -0.800853 0
+ F4 26624 0.000000 3 0
+ 1.268883 -1.040068 0
+ 1.123274 -0.717647 0
+ 0.894459 -0.915260 0
+ F4 26624 0.000000 5 0
+ -1.092072 -0.124808 0
+ -0.946462 -0.020801 0
+ -0.447229 0.104007 0
+ -0.176812 -0.176812 0
+ -0.800853 -0.270418 0
+ F4 26624 0.000000 4 0
+ -0.956863 -1.206479 0
+ -0.665644 -1.133674 0
+ -0.457630 -0.644842 0
+ -0.780051 -0.728048 0
+ L3 26624 0.000000 0.145825 1.604075 0 0.291650 1.385337 0
+ L3 26624 0.000000 1.020775 1.385337 0 0.656212 1.239512 0
+ L3 26624 0.000000 1.166600 1.749900 0 0.947862 1.604075 0
+ L3 26624 0.000000 0.656212 1.895725 0 0.510387 1.604075 0
+ L3 26624 0.000000 -0.291650 1.822812 0 -0.145825 1.604075 0
+ L3 26624 0.000000 -0.874950 1.166600 0 -0.583300 1.166600 0
+ L3 26624 0.000000 -0.656212 0.802037 0 -0.291650 0.947862 0
+ L3 26624 0.000000 -0.874950 0.437475 0 -0.583300 0.218737 0
+ L3 26624 0.000000 -1.312425 0.364562 0 -1.020775 0.218737 0
+ L3 26624 0.000000 -1.676987 0.145825 0 -1.312425 0.000000 0
+ L3 26624 0.000000 -1.166600 -0.364562 0 -1.458250 -0.656212 0
+ L3 26624 0.000000 -1.312425 -1.020775 0 -1.093687 -0.729125 0
+ L3 26624 0.000000 -0.802037 -1.604075 0 -0.583300 -1.312425 0
+ L3 26624 0.000000 -0.291650 -1.312425 0 -0.364562 -1.749900 0
+ L3 26624 0.000000 -0.218737 -0.802037 0 -0.145825 -1.093687 0
+ L3 26624 0.000000 0.510387 -1.312425 0 0.656212 -1.749900 0
+ L3 26624 0.000000 0.874950 -1.239512 0 1.312425 -1.458250 0
+ L3 26624 0.000000 1.968637 -0.510387 0 1.604075 -0.583300 0
+ L3 26624 0.000000 1.968637 -1.166600 0 1.604075 -1.020775 0
+ L3 26624 0.000000 2.114462 -0.874950 0 1.749900 -0.802037 0
+ L3 26624 0.000000 0.874950 -2.114462 0 0.802037 -1.822812 0
+ L3 26624 0.000000 1.312425 -1.895725 0 1.093687 -1.676987 0
+ L3 26624 0.000000 1.020775 -1.968637 0 0.874950 -1.531162 0
+ L3 26624 0.000000 2.187375 0.364562 0 1.749900 0.437475 0
+ L3 26624 0.000000 1.822812 0.947862 0 1.458250 0.729125 0
+ L3 26624 0.000000 2.187375 0.729125 0 1.822812 0.656212 0
+ L3 26624 0.000000 -0.729125 -2.041550 0 -0.656212 -1.749900 0
+ L3 26624 0.000000 -1.604075 -1.020775 0 -1.385337 -0.874950 0
+ L3 26624 0.000000 1.020775 2.333200 0 0.874950 1.968637 0
+ L3 26624 0.000000 1.312425 2.114462 0 1.093687 1.895725 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 7"" Decid-7a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -2.117309 -2.008637 0
+ -1.816952 -3.144362 0
+ -1.141149 -3.435333 0
+ -0.380871 -2.496717 0
+ 0.492042 -3.313313 0
+ 1.543291 -2.815846 0
+ 1.299251 2.768916 0
+ 0.304319 3.294540 0
+ -0.108672 2.656282 0
+ -0.944040 2.665668 0
+ -1.150535 3.313313 0
+ -2.436439 2.900322 0
+ -2.276874 2.140043 0
+ -3.337510 2.064954 0
+ -3.881907 0.966774 0
+ -3.281193 0.347288 0
+ -4.069630 0.000000 0
+ -3.863134 -0.788437 0
+ -3.027766 -1.088794 0
+ -3.628480 -1.576874 0
+ -3.140400 -2.459173 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -2.928480 -1.576874 0
+ -2.440400 -2.459173 0
+ -1.417309 -2.008637 0
+ -1.116952 -3.144362 0
+ -0.441149 -3.435333 0
+ 0.319129 -2.496717 0
+ 1.192042 -3.313313 0
+ 2.243291 -2.815846 0
+ 1.849073 -1.773983 0
+ 3.106817 -1.426696 0
+ 3.294540 -0.244040 0
+ 2.637510 0.366060 0
+ 3.256996 1.248359 0
+ 2.787688 2.036796 0
+ 2.027409 1.755211 0
+ 1.999251 2.768916 0
+ 1.004319 3.294540 0
+ 0.591328 2.656282 0
+ -0.244040 2.665668 0
+ -0.450535 3.313313 0
+ -1.736439 2.900322 0
+ -1.576874 2.140043 0
+ -2.637510 2.064954 0
+ -3.181907 0.966774 0
+ -2.581193 0.347288 0
+ -3.369630 0.000000 0
+ -3.163134 -0.788437 0
+ -2.327766 -1.088794 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.469308 -2.196360 0
+ 1.126339 -2.853391 0
+ 1.755211 -2.468559 0
+ 1.473626 -1.370379 0
+ 2.731371 -1.023091 0
+ 2.815846 -0.478694 0
+ 2.027409 0.065703 0
+ 2.712599 1.098180 0
+ 2.412242 1.454854 0
+ 1.661349 1.436082 0
+ 1.623805 2.299608 0
+ 0.976160 2.656282 0
+ 0.441149 2.027409 0
+ -0.366060 2.140043 0
+ -0.553783 2.571806 0
+ -1.238972 2.393469 0
+ -1.248359 1.642577 0
+ -1.820914 1.623805 0
+ -2.196360 0.872912 0
+ -1.529943 0.244040 0
+ -2.158816 -0.084475 0
+ -2.055568 -0.535011 0
+ -1.051249 -0.722734 0
+ -1.436082 -1.407923 0
+ -0.807209 -1.896003 0
+ -0.553783 -2.449786 0
+ L3 65280 0.000000 -0.595452 -2.892196 0 -0.255194 -2.637002 0
+ L3 65280 0.000000 -0.850646 -2.722067 0 -0.935710 -2.296744 0
+ L3 65280 0.000000 -1.956485 -1.786356 0 -1.361033 -1.786356 0
+ L3 65280 0.000000 -2.381808 -1.616227 0 -2.126615 -1.361033 0
+ L3 65280 0.000000 -1.786356 -1.446098 0 -1.446098 -1.190904 0
+ L3 65280 0.000000 -1.616227 -0.935710 0 -2.126615 -0.850646 0
+ L3 65280 0.000000 -2.892196 -0.680517 0 -2.296744 -0.680517 0
+ L3 65280 0.000000 -2.892196 -0.170129 0 -2.381808 -0.425323 0
+ L3 65280 0.000000 -1.956485 0.255194 0 -2.381808 0.170129 0
+ L3 65280 0.000000 -2.296744 0.595452 0 -2.892196 0.935710 0
+ L3 65280 0.000000 -2.637002 1.275969 0 -2.211679 1.361033 0
+ L3 65280 0.000000 -2.041550 1.956485 0 -1.871421 1.701292 0
+ L3 65280 0.000000 -1.275969 2.551937 0 -1.446098 2.807131 0
+ L3 65280 0.000000 -0.765581 2.722067 0 -0.595452 2.977260 0
+ L3 65280 0.000000 -0.085065 2.296744 0 0.000000 2.551937 0
+ L3 65280 0.000000 0.425323 2.296744 0 0.170129 2.466873 0
+ L3 65280 0.000000 1.105840 2.722067 0 1.020775 3.062325 0
+ L3 65280 0.000000 1.616227 2.551937 0 1.871421 2.637002 0
+ L3 65280 0.000000 2.977260 1.190904 0 2.722067 1.275969 0
+ L3 65280 0.000000 2.551937 1.616227 0 2.722067 1.871421 0
+ L3 65280 0.000000 2.977260 -0.255194 0 2.637002 -0.170129 0
+ L3 65280 0.000000 -2.381808 -2.126615 0 -2.211679 -1.786356 0
+ L3 65280 0.000000 -2.722067 -1.616227 0 -2.466873 -1.786356 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 1.310486 -1.346888 0
+ 0.776584 -1.189145 0
+ 0.715914 -0.788718 0
+ 1.067803 -0.934328 0
+ F4 26624 0.000000 5 0
+ -0.509633 -1.613839 0
+ -0.461097 -1.334754 0
+ 0.060671 -1.104206 0
+ 0.206280 -1.443961 0
+ -0.060671 -1.698778 0
+ F4 26624 0.000000 4 0
+ 1.662376 0.060671 0
+ 1.031401 0.206280 0
+ 0.897926 -0.109207 0
+ 1.759449 -0.157744 0
+ F4 26624 0.000000 4 0
+ 0.400426 1.613839 0
+ 0.084939 1.371157 0
+ 0.169878 0.861523 0
+ 0.364024 0.934328 0
+ F4 26624 0.000000 3 0
+ 1.480364 1.213413 0
+ 1.310486 0.837255 0
+ 1.043535 1.067803 0
+ F4 26624 0.000000 5 0
+ -1.274084 0.145610 0
+ -1.104206 0.024268 0
+ -0.521768 -0.121341 0
+ -0.206280 0.206280 0
+ -0.934328 0.315487 0
+ F4 26624 0.000000 4 0
+ -1.116340 1.407559 0
+ -0.776584 1.322620 0
+ -0.533902 0.752316 0
+ -0.910060 0.849389 0
+ L3 26624 0.000000 0.170129 -1.871421 0 0.340258 -1.616227 0
+ L3 26624 0.000000 1.190904 -1.616227 0 0.765581 -1.446098 0
+ L3 26624 0.000000 1.361033 -2.041550 0 1.105840 -1.871421 0
+ L3 26624 0.000000 0.765581 -2.211679 0 0.595452 -1.871421 0
+ L3 26624 0.000000 -0.340258 -2.126615 0 -0.170129 -1.871421 0
+ L3 26624 0.000000 -1.020775 -1.361033 0 -0.680517 -1.361033 0
+ L3 26624 0.000000 -0.765581 -0.935710 0 -0.340258 -1.105840 0
+ L3 26624 0.000000 -1.020775 -0.510387 0 -0.680517 -0.255194 0
+ L3 26624 0.000000 -1.531162 -0.425323 0 -1.190904 -0.255194 0
+ L3 26624 0.000000 -1.956485 -0.170129 0 -1.531162 0.000000 0
+ L3 26624 0.000000 -1.361033 0.425323 0 -1.701292 0.765581 0
+ L3 26624 0.000000 -1.531162 1.190904 0 -1.275969 0.850646 0
+ L3 26624 0.000000 -0.935710 1.871421 0 -0.680517 1.531162 0
+ L3 26624 0.000000 -0.340258 1.531162 0 -0.425323 2.041550 0
+ L3 26624 0.000000 -0.255194 0.935710 0 -0.170129 1.275969 0
+ L3 26624 0.000000 0.595452 1.531162 0 0.765581 2.041550 0
+ L3 26624 0.000000 1.020775 1.446098 0 1.531162 1.701292 0
+ L3 26624 0.000000 2.296744 0.595452 0 1.871421 0.680517 0
+ L3 26624 0.000000 2.296744 1.361033 0 1.871421 1.190904 0
+ L3 26624 0.000000 2.466873 1.020775 0 2.041550 0.935710 0
+ L3 26624 0.000000 1.020775 2.466873 0 0.935710 2.126615 0
+ L3 26624 0.000000 1.531162 2.211679 0 1.275969 1.956485 0
+ L3 26624 0.000000 1.190904 2.296744 0 1.020775 1.786356 0
+ L3 26624 0.000000 2.551937 -0.425323 0 2.041550 -0.510387 0
+ L3 26624 0.000000 2.126615 -1.105840 0 1.701292 -0.850646 0
+ L3 26624 0.000000 2.551937 -0.850646 0 2.126615 -0.765581 0
+ L3 26624 0.000000 -0.850646 2.381808 0 -0.765581 2.041550 0
+ L3 26624 0.000000 -1.871421 1.190904 0 -1.616227 1.020775 0
+ L3 26624 0.000000 1.190904 -2.722067 0 1.020775 -2.296744 0
+ L3 26624 0.000000 1.531162 -2.466873 0 1.275969 -2.211679 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 7"" Decid-7b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -2.117309 2.008637 0
+ -1.816952 3.144362 0
+ -1.141149 3.435333 0
+ -0.380871 2.496717 0
+ 0.492042 3.313313 0
+ 1.543291 2.815846 0
+ 1.299251 -2.768916 0
+ 0.304319 -3.294540 0
+ -0.108672 -2.656282 0
+ -0.944040 -2.665668 0
+ -1.150535 -3.313313 0
+ -2.436439 -2.900322 0
+ -2.276874 -2.140043 0
+ -3.337510 -2.064954 0
+ -3.881907 -0.966774 0
+ -3.281193 -0.347288 0
+ -4.069630 0.000000 0
+ -3.863134 0.788437 0
+ -3.027766 1.088794 0
+ -3.628480 1.576874 0
+ -3.140400 2.459173 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -2.928480 1.576874 0
+ -2.440400 2.459173 0
+ -1.417309 2.008637 0
+ -1.116952 3.144362 0
+ -0.441149 3.435333 0
+ 0.319129 2.496717 0
+ 1.192042 3.313313 0
+ 2.243291 2.815846 0
+ 1.849073 1.773983 0
+ 3.106817 1.426696 0
+ 3.294540 0.244040 0
+ 2.637510 -0.366060 0
+ 3.256996 -1.248359 0
+ 2.787688 -2.036796 0
+ 2.027409 -1.755211 0
+ 1.999251 -2.768916 0
+ 1.004319 -3.294540 0
+ 0.591328 -2.656282 0
+ -0.244040 -2.665668 0
+ -0.450535 -3.313313 0
+ -1.736439 -2.900322 0
+ -1.576874 -2.140043 0
+ -2.637510 -2.064954 0
+ -3.181907 -0.966774 0
+ -2.581193 -0.347288 0
+ -3.369630 0.000000 0
+ -3.163134 0.788437 0
+ -2.327766 1.088794 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.469308 2.196360 0
+ 1.126339 2.853391 0
+ 1.755211 2.468559 0
+ 1.473626 1.370379 0
+ 2.731371 1.023091 0
+ 2.815846 0.478694 0
+ 2.027409 -0.065703 0
+ 2.712599 -1.098180 0
+ 2.412242 -1.454854 0
+ 1.661349 -1.436082 0
+ 1.623805 -2.299608 0
+ 0.976160 -2.656282 0
+ 0.441149 -2.027409 0
+ -0.366060 -2.140043 0
+ -0.553783 -2.571806 0
+ -1.238972 -2.393469 0
+ -1.248359 -1.642577 0
+ -1.820914 -1.623805 0
+ -2.196360 -0.872912 0
+ -1.529943 -0.244040 0
+ -2.158816 0.084475 0
+ -2.055568 0.535011 0
+ -1.051249 0.722734 0
+ -1.436082 1.407923 0
+ -0.807209 1.896003 0
+ -0.553783 2.449786 0
+ L3 65280 0.000000 -0.595452 2.892196 0 -0.255194 2.637002 0
+ L3 65280 0.000000 -0.850646 2.722067 0 -0.935710 2.296744 0
+ L3 65280 0.000000 -1.956485 1.786356 0 -1.361033 1.786356 0
+ L3 65280 0.000000 -2.381808 1.616227 0 -2.126615 1.361033 0
+ L3 65280 0.000000 -1.786356 1.446098 0 -1.446098 1.190904 0
+ L3 65280 0.000000 -1.616227 0.935710 0 -2.126615 0.850646 0
+ L3 65280 0.000000 -2.892196 0.680517 0 -2.296744 0.680517 0
+ L3 65280 0.000000 -2.892196 0.170129 0 -2.381808 0.425323 0
+ L3 65280 0.000000 -1.956485 -0.255194 0 -2.381808 -0.170129 0
+ L3 65280 0.000000 -2.296744 -0.595452 0 -2.892196 -0.935710 0
+ L3 65280 0.000000 -2.637002 -1.275969 0 -2.211679 -1.361033 0
+ L3 65280 0.000000 -2.041550 -1.956485 0 -1.871421 -1.701292 0
+ L3 65280 0.000000 -1.275969 -2.551937 0 -1.446098 -2.807131 0
+ L3 65280 0.000000 -0.765581 -2.722067 0 -0.595452 -2.977260 0
+ L3 65280 0.000000 -0.085065 -2.296744 0 0.000000 -2.551937 0
+ L3 65280 0.000000 0.425323 -2.296744 0 0.170129 -2.466873 0
+ L3 65280 0.000000 1.105840 -2.722067 0 1.020775 -3.062325 0
+ L3 65280 0.000000 1.616227 -2.551937 0 1.871421 -2.637002 0
+ L3 65280 0.000000 2.977260 -1.190904 0 2.722067 -1.275969 0
+ L3 65280 0.000000 2.551937 -1.616227 0 2.722067 -1.871421 0
+ L3 65280 0.000000 2.977260 0.255194 0 2.637002 0.170129 0
+ L3 65280 0.000000 -2.381808 2.126615 0 -2.211679 1.786356 0
+ L3 65280 0.000000 -2.722067 1.616227 0 -2.466873 1.786356 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 1.310486 1.346888 0
+ 0.776584 1.189145 0
+ 0.715914 0.788718 0
+ 1.067803 0.934328 0
+ F4 26624 0.000000 5 0
+ -0.509633 1.613839 0
+ -0.461097 1.334754 0
+ 0.060671 1.104206 0
+ 0.206280 1.443961 0
+ -0.060671 1.698778 0
+ F4 26624 0.000000 4 0
+ 1.662376 -0.060671 0
+ 1.031401 -0.206280 0
+ 0.897926 0.109207 0
+ 1.759449 0.157744 0
+ F4 26624 0.000000 4 0
+ 0.400426 -1.613839 0
+ 0.084939 -1.371157 0
+ 0.169878 -0.861523 0
+ 0.364024 -0.934328 0
+ F4 26624 0.000000 3 0
+ 1.480364 -1.213413 0
+ 1.310486 -0.837255 0
+ 1.043535 -1.067803 0
+ F4 26624 0.000000 5 0
+ -1.274084 -0.145610 0
+ -1.104206 -0.024268 0
+ -0.521768 0.121341 0
+ -0.206280 -0.206280 0
+ -0.934328 -0.315487 0
+ F4 26624 0.000000 4 0
+ -1.116340 -1.407559 0
+ -0.776584 -1.322620 0
+ -0.533902 -0.752316 0
+ -0.910060 -0.849389 0
+ L3 26624 0.000000 0.170129 1.871421 0 0.340258 1.616227 0
+ L3 26624 0.000000 1.190904 1.616227 0 0.765581 1.446098 0
+ L3 26624 0.000000 1.361033 2.041550 0 1.105840 1.871421 0
+ L3 26624 0.000000 0.765581 2.211679 0 0.595452 1.871421 0
+ L3 26624 0.000000 -0.340258 2.126615 0 -0.170129 1.871421 0
+ L3 26624 0.000000 -1.020775 1.361033 0 -0.680517 1.361033 0
+ L3 26624 0.000000 -0.765581 0.935710 0 -0.340258 1.105840 0
+ L3 26624 0.000000 -1.020775 0.510387 0 -0.680517 0.255194 0
+ L3 26624 0.000000 -1.531162 0.425323 0 -1.190904 0.255194 0
+ L3 26624 0.000000 -1.956485 0.170129 0 -1.531162 0.000000 0
+ L3 26624 0.000000 -1.361033 -0.425323 0 -1.701292 -0.765581 0
+ L3 26624 0.000000 -1.531162 -1.190904 0 -1.275969 -0.850646 0
+ L3 26624 0.000000 -0.935710 -1.871421 0 -0.680517 -1.531162 0
+ L3 26624 0.000000 -0.340258 -1.531162 0 -0.425323 -2.041550 0
+ L3 26624 0.000000 -0.255194 -0.935710 0 -0.170129 -1.275969 0
+ L3 26624 0.000000 0.595452 -1.531162 0 0.765581 -2.041550 0
+ L3 26624 0.000000 1.020775 -1.446098 0 1.531162 -1.701292 0
+ L3 26624 0.000000 2.296744 -0.595452 0 1.871421 -0.680517 0
+ L3 26624 0.000000 2.296744 -1.361033 0 1.871421 -1.190904 0
+ L3 26624 0.000000 2.466873 -1.020775 0 2.041550 -0.935710 0
+ L3 26624 0.000000 1.020775 -2.466873 0 0.935710 -2.126615 0
+ L3 26624 0.000000 1.531162 -2.211679 0 1.275969 -1.956485 0
+ L3 26624 0.000000 1.190904 -2.296744 0 1.020775 -1.786356 0
+ L3 26624 0.000000 2.551937 0.425323 0 2.041550 0.510387 0
+ L3 26624 0.000000 2.126615 1.105840 0 1.701292 0.850646 0
+ L3 26624 0.000000 2.551937 0.850646 0 2.126615 0.765581 0
+ L3 26624 0.000000 -0.850646 -2.381808 0 -0.765581 -2.041550 0
+ L3 26624 0.000000 -1.871421 -1.190904 0 -1.616227 -1.020775 0
+ L3 26624 0.000000 1.190904 2.722067 0 1.020775 2.296744 0
+ L3 26624 0.000000 1.531162 2.466873 0 1.275969 2.211679 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 8"" Decid-8a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -2.419782 -2.295585 0
+ -2.076517 -3.593556 0
+ -1.304171 -3.926095 0
+ -0.435281 -2.853391 0
+ 0.562333 -3.786643 0
+ 1.763761 -3.218110 0
+ 1.484858 3.164475 0
+ 0.347793 3.765189 0
+ -0.124197 3.035751 0
+ -1.078903 3.046478 0
+ -1.314898 3.786643 0
+ -2.784501 3.314654 0
+ -2.602142 2.445764 0
+ -3.814297 2.359948 0
+ -4.436465 1.104885 0
+ -3.749934 0.396900 0
+ -4.651005 0.000000 0
+ -4.415011 -0.901071 0
+ -3.460304 -1.244336 0
+ -4.146835 -1.802142 0
+ -3.589029 -2.810483 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -3.346835 -1.802142 0
+ -2.789029 -2.810483 0
+ -1.619782 -2.295585 0
+ -1.276517 -3.593556 0
+ -0.504171 -3.926095 0
+ 0.364719 -2.853391 0
+ 1.362333 -3.786643 0
+ 2.563761 -3.218110 0
+ 2.113226 -2.027409 0
+ 3.550648 -1.630509 0
+ 3.765189 -0.278903 0
+ 3.014297 0.418354 0
+ 3.722281 1.426696 0
+ 3.185929 2.327766 0
+ 2.317039 2.005955 0
+ 2.284858 3.164475 0
+ 1.147793 3.765189 0
+ 0.675803 3.035751 0
+ -0.278903 3.046478 0
+ -0.514898 3.786643 0
+ -1.984501 3.314654 0
+ -1.802142 2.445764 0
+ -3.014297 2.359948 0
+ -3.636465 1.104885 0
+ -2.949934 0.396900 0
+ -3.851005 0.000000 0
+ -3.615011 -0.901071 0
+ -2.660304 -1.244336 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.536352 -2.510126 0
+ 1.287244 -3.261018 0
+ 2.005955 -2.821210 0
+ 1.684144 -1.566147 0
+ 3.121567 -1.169247 0
+ 3.218110 -0.547079 0
+ 2.317039 0.075089 0
+ 3.100113 1.255063 0
+ 2.756848 1.662690 0
+ 1.898685 1.641236 0
+ 1.855777 2.628123 0
+ 1.115612 3.035751 0
+ 0.504171 2.317039 0
+ -0.418354 2.445764 0
+ -0.632895 2.939207 0
+ -1.415969 2.735394 0
+ -1.426696 1.877231 0
+ -2.081045 1.855777 0
+ -2.510126 0.997614 0
+ -1.748507 0.278903 0
+ -2.467218 -0.096543 0
+ -2.349220 -0.611441 0
+ -1.201428 -0.825982 0
+ -1.641236 -1.609055 0
+ -0.922525 -2.166861 0
+ -0.632895 -2.799756 0
+ L3 65280 0.000000 -0.680517 -3.305367 0 -0.291650 -3.013717 0
+ L3 65280 0.000000 -0.972167 -3.110933 0 -1.069383 -2.624850 0
+ L3 65280 0.000000 -2.235983 -2.041550 0 -1.555467 -2.041550 0
+ L3 65280 0.000000 -2.722067 -1.847117 0 -2.430417 -1.555467 0
+ L3 65280 0.000000 -2.041550 -1.652683 0 -1.652683 -1.361033 0
+ L3 65280 0.000000 -1.847117 -1.069383 0 -2.430417 -0.972167 0
+ L3 65280 0.000000 -3.305367 -0.777733 0 -2.624850 -0.777733 0
+ L3 65280 0.000000 -3.305367 -0.194433 0 -2.722067 -0.486083 0
+ L3 65280 0.000000 -2.235983 0.291650 0 -2.722067 0.194433 0
+ L3 65280 0.000000 -2.624850 0.680517 0 -3.305367 1.069383 0
+ L3 65280 0.000000 -3.013717 1.458250 0 -2.527633 1.555467 0
+ L3 65280 0.000000 -2.333200 2.235983 0 -2.138767 1.944333 0
+ L3 65280 0.000000 -1.458250 2.916500 0 -1.652683 3.208150 0
+ L3 65280 0.000000 -0.874950 3.110933 0 -0.680517 3.402583 0
+ L3 65280 0.000000 -0.097217 2.624850 0 0.000000 2.916500 0
+ L3 65280 0.000000 0.486083 2.624850 0 0.194433 2.819283 0
+ L3 65280 0.000000 1.263817 3.110933 0 1.166600 3.499800 0
+ L3 65280 0.000000 1.847117 2.916500 0 2.138767 3.013717 0
+ L3 65280 0.000000 3.402583 1.361033 0 3.110933 1.458250 0
+ L3 65280 0.000000 2.916500 1.847117 0 3.110933 2.138767 0
+ L3 65280 0.000000 3.402583 -0.291650 0 3.013717 -0.194433 0
+ L3 65280 0.000000 -2.722067 -2.430417 0 -2.527633 -2.041550 0
+ L3 65280 0.000000 -3.110933 -1.847117 0 -2.819283 -2.041550 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 1.497698 -1.539301 0
+ 0.887525 -1.359023 0
+ 0.818187 -0.901393 0
+ 1.220347 -1.067803 0
+ F4 26624 0.000000 5 0
+ -0.582438 -1.844388 0
+ -0.526968 -1.525433 0
+ 0.069338 -1.261950 0
+ 0.235749 -1.650242 0
+ -0.069338 -1.941461 0
+ F4 26624 0.000000 4 0
+ 1.899858 0.069338 0
+ 1.178744 0.235749 0
+ 1.026201 -0.124808 0
+ 2.010799 -0.180279 0
+ F4 26624 0.000000 4 0
+ 0.457630 1.844388 0
+ 0.097073 1.567036 0
+ 0.194146 0.984598 0
+ 0.416027 1.067803 0
+ F4 26624 0.000000 3 0
+ 1.691844 1.386758 0
+ 1.497698 0.956863 0
+ 1.192612 1.220347 0
+ F4 26624 0.000000 5 0
+ -1.456096 0.166411 0
+ -1.261950 0.027735 0
+ -0.596306 -0.138676 0
+ -0.235749 0.235749 0
+ -1.067803 0.360557 0
+ F4 26624 0.000000 4 0
+ -1.275817 1.608639 0
+ -0.887525 1.511566 0
+ -0.610173 0.859790 0
+ -1.040068 0.970730 0
+ L3 26624 0.000000 0.194433 -2.138767 0 0.388867 -1.847117 0
+ L3 26624 0.000000 1.361033 -1.847117 0 0.874950 -1.652683 0
+ L3 26624 0.000000 1.555467 -2.333200 0 1.263817 -2.138767 0
+ L3 26624 0.000000 0.874950 -2.527633 0 0.680517 -2.138767 0
+ L3 26624 0.000000 -0.388867 -2.430417 0 -0.194433 -2.138767 0
+ L3 26624 0.000000 -1.166600 -1.555467 0 -0.777733 -1.555467 0
+ L3 26624 0.000000 -0.874950 -1.069383 0 -0.388867 -1.263817 0
+ L3 26624 0.000000 -1.166600 -0.583300 0 -0.777733 -0.291650 0
+ L3 26624 0.000000 -1.749900 -0.486083 0 -1.361033 -0.291650 0
+ L3 26624 0.000000 -2.235983 -0.194433 0 -1.749900 0.000000 0
+ L3 26624 0.000000 -1.555467 0.486083 0 -1.944333 0.874950 0
+ L3 26624 0.000000 -1.749900 1.361033 0 -1.458250 0.972167 0
+ L3 26624 0.000000 -1.069383 2.138767 0 -0.777733 1.749900 0
+ L3 26624 0.000000 -0.388867 1.749900 0 -0.486083 2.333200 0
+ L3 26624 0.000000 -0.291650 1.069383 0 -0.194433 1.458250 0
+ L3 26624 0.000000 0.680517 1.749900 0 0.874950 2.333200 0
+ L3 26624 0.000000 1.166600 1.652683 0 1.749900 1.944333 0
+ L3 26624 0.000000 2.624850 0.680517 0 2.138767 0.777733 0
+ L3 26624 0.000000 2.624850 1.555467 0 2.138767 1.361033 0
+ L3 26624 0.000000 2.819283 1.166600 0 2.333200 1.069383 0
+ L3 26624 0.000000 1.166600 2.819283 0 1.069383 2.430417 0
+ L3 26624 0.000000 1.749900 2.527633 0 1.458250 2.235983 0
+ L3 26624 0.000000 1.361033 2.624850 0 1.166600 2.041550 0
+ L3 26624 0.000000 2.916500 -0.486083 0 2.333200 -0.583300 0
+ L3 26624 0.000000 2.430417 -1.263817 0 1.944333 -0.972167 0
+ L3 26624 0.000000 2.916500 -0.972167 0 2.430417 -0.874950 0
+ L3 26624 0.000000 -0.972167 2.722067 0 -0.874950 2.333200 0
+ L3 26624 0.000000 -2.138767 1.361033 0 -1.847117 1.166600 0
+ L3 26624 0.000000 1.361033 -3.110933 0 1.166600 -2.624850 0
+ L3 26624 0.000000 1.749900 -2.819283 0 1.458250 -2.527633 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 8"" Decid-8b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -2.419782 2.295585 0
+ -2.076517 3.593556 0
+ -1.304171 3.926095 0
+ -0.435281 2.853391 0
+ 0.562333 3.786643 0
+ 1.763761 3.218110 0
+ 1.484858 -3.164475 0
+ 0.347793 -3.765189 0
+ -0.124197 -3.035751 0
+ -1.078903 -3.046478 0
+ -1.314898 -3.786643 0
+ -2.784501 -3.314654 0
+ -2.602142 -2.445764 0
+ -3.814297 -2.359948 0
+ -4.436465 -1.104885 0
+ -3.749934 -0.396900 0
+ -4.651005 0.000000 0
+ -4.415011 0.901071 0
+ -3.460304 1.244336 0
+ -4.146835 1.802142 0
+ -3.589029 2.810483 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -3.346835 1.802142 0
+ -2.789029 2.810483 0
+ -1.619782 2.295585 0
+ -1.276517 3.593556 0
+ -0.504171 3.926095 0
+ 0.364719 2.853391 0
+ 1.362333 3.786643 0
+ 2.563761 3.218110 0
+ 2.113226 2.027409 0
+ 3.550648 1.630509 0
+ 3.765189 0.278903 0
+ 3.014297 -0.418354 0
+ 3.722281 -1.426696 0
+ 3.185929 -2.327766 0
+ 2.317039 -2.005955 0
+ 2.284858 -3.164475 0
+ 1.147793 -3.765189 0
+ 0.675803 -3.035751 0
+ -0.278903 -3.046478 0
+ -0.514898 -3.786643 0
+ -1.984501 -3.314654 0
+ -1.802142 -2.445764 0
+ -3.014297 -2.359948 0
+ -3.636465 -1.104885 0
+ -2.949934 -0.396900 0
+ -3.851005 0.000000 0
+ -3.615011 0.901071 0
+ -2.660304 1.244336 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.536352 2.510126 0
+ 1.287244 3.261018 0
+ 2.005955 2.821210 0
+ 1.684144 1.566147 0
+ 3.121567 1.169247 0
+ 3.218110 0.547079 0
+ 2.317039 -0.075089 0
+ 3.100113 -1.255063 0
+ 2.756848 -1.662690 0
+ 1.898685 -1.641236 0
+ 1.855777 -2.628123 0
+ 1.115612 -3.035751 0
+ 0.504171 -2.317039 0
+ -0.418354 -2.445764 0
+ -0.632895 -2.939207 0
+ -1.415969 -2.735394 0
+ -1.426696 -1.877231 0
+ -2.081045 -1.855777 0
+ -2.510126 -0.997614 0
+ -1.748507 -0.278903 0
+ -2.467218 0.096543 0
+ -2.349220 0.611441 0
+ -1.201428 0.825982 0
+ -1.641236 1.609055 0
+ -0.922525 2.166861 0
+ -0.632895 2.799756 0
+ L3 65280 0.000000 -0.680517 3.305367 0 -0.291650 3.013717 0
+ L3 65280 0.000000 -0.972167 3.110933 0 -1.069383 2.624850 0
+ L3 65280 0.000000 -2.235983 2.041550 0 -1.555467 2.041550 0
+ L3 65280 0.000000 -2.722067 1.847117 0 -2.430417 1.555467 0
+ L3 65280 0.000000 -2.041550 1.652683 0 -1.652683 1.361033 0
+ L3 65280 0.000000 -1.847117 1.069383 0 -2.430417 0.972167 0
+ L3 65280 0.000000 -3.305367 0.777733 0 -2.624850 0.777733 0
+ L3 65280 0.000000 -3.305367 0.194433 0 -2.722067 0.486083 0
+ L3 65280 0.000000 -2.235983 -0.291650 0 -2.722067 -0.194433 0
+ L3 65280 0.000000 -2.624850 -0.680517 0 -3.305367 -1.069383 0
+ L3 65280 0.000000 -3.013717 -1.458250 0 -2.527633 -1.555467 0
+ L3 65280 0.000000 -2.333200 -2.235983 0 -2.138767 -1.944333 0
+ L3 65280 0.000000 -1.458250 -2.916500 0 -1.652683 -3.208150 0
+ L3 65280 0.000000 -0.874950 -3.110933 0 -0.680517 -3.402583 0
+ L3 65280 0.000000 -0.097217 -2.624850 0 0.000000 -2.916500 0
+ L3 65280 0.000000 0.486083 -2.624850 0 0.194433 -2.819283 0
+ L3 65280 0.000000 1.263817 -3.110933 0 1.166600 -3.499800 0
+ L3 65280 0.000000 1.847117 -2.916500 0 2.138767 -3.013717 0
+ L3 65280 0.000000 3.402583 -1.361033 0 3.110933 -1.458250 0
+ L3 65280 0.000000 2.916500 -1.847117 0 3.110933 -2.138767 0
+ L3 65280 0.000000 3.402583 0.291650 0 3.013717 0.194433 0
+ L3 65280 0.000000 -2.722067 2.430417 0 -2.527633 2.041550 0
+ L3 65280 0.000000 -3.110933 1.847117 0 -2.819283 2.041550 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 1.497698 1.539301 0
+ 0.887525 1.359023 0
+ 0.818187 0.901393 0
+ 1.220347 1.067803 0
+ F4 26624 0.000000 5 0
+ -0.582438 1.844388 0
+ -0.526968 1.525433 0
+ 0.069338 1.261950 0
+ 0.235749 1.650242 0
+ -0.069338 1.941461 0
+ F4 26624 0.000000 4 0
+ 1.899858 -0.069338 0
+ 1.178744 -0.235749 0
+ 1.026201 0.124808 0
+ 2.010799 0.180279 0
+ F4 26624 0.000000 4 0
+ 0.457630 -1.844388 0
+ 0.097073 -1.567036 0
+ 0.194146 -0.984598 0
+ 0.416027 -1.067803 0
+ F4 26624 0.000000 3 0
+ 1.691844 -1.386758 0
+ 1.497698 -0.956863 0
+ 1.192612 -1.220347 0
+ F4 26624 0.000000 5 0
+ -1.456096 -0.166411 0
+ -1.261950 -0.027735 0
+ -0.596306 0.138676 0
+ -0.235749 -0.235749 0
+ -1.067803 -0.360557 0
+ F4 26624 0.000000 4 0
+ -1.275817 -1.608639 0
+ -0.887525 -1.511566 0
+ -0.610173 -0.859790 0
+ -1.040068 -0.970730 0
+ L3 26624 0.000000 0.194433 2.138767 0 0.388867 1.847117 0
+ L3 26624 0.000000 1.361033 1.847117 0 0.874950 1.652683 0
+ L3 26624 0.000000 1.555467 2.333200 0 1.263817 2.138767 0
+ L3 26624 0.000000 0.874950 2.527633 0 0.680517 2.138767 0
+ L3 26624 0.000000 -0.388867 2.430417 0 -0.194433 2.138767 0
+ L3 26624 0.000000 -1.166600 1.555467 0 -0.777733 1.555467 0
+ L3 26624 0.000000 -0.874950 1.069383 0 -0.388867 1.263817 0
+ L3 26624 0.000000 -1.166600 0.583300 0 -0.777733 0.291650 0
+ L3 26624 0.000000 -1.749900 0.486083 0 -1.361033 0.291650 0
+ L3 26624 0.000000 -2.235983 0.194433 0 -1.749900 0.000000 0
+ L3 26624 0.000000 -1.555467 -0.486083 0 -1.944333 -0.874950 0
+ L3 26624 0.000000 -1.749900 -1.361033 0 -1.458250 -0.972167 0
+ L3 26624 0.000000 -1.069383 -2.138767 0 -0.777733 -1.749900 0
+ L3 26624 0.000000 -0.388867 -1.749900 0 -0.486083 -2.333200 0
+ L3 26624 0.000000 -0.291650 -1.069383 0 -0.194433 -1.458250 0
+ L3 26624 0.000000 0.680517 -1.749900 0 0.874950 -2.333200 0
+ L3 26624 0.000000 1.166600 -1.652683 0 1.749900 -1.944333 0
+ L3 26624 0.000000 2.624850 -0.680517 0 2.138767 -0.777733 0
+ L3 26624 0.000000 2.624850 -1.555467 0 2.138767 -1.361033 0
+ L3 26624 0.000000 2.819283 -1.166600 0 2.333200 -1.069383 0
+ L3 26624 0.000000 1.166600 -2.819283 0 1.069383 -2.430417 0
+ L3 26624 0.000000 1.749900 -2.527633 0 1.458250 -2.235983 0
+ L3 26624 0.000000 1.361033 -2.624850 0 1.166600 -2.041550 0
+ L3 26624 0.000000 2.916500 0.486083 0 2.333200 0.583300 0
+ L3 26624 0.000000 2.430417 1.263817 0 1.944333 0.972167 0
+ L3 26624 0.000000 2.916500 0.972167 0 2.430417 0.874950 0
+ L3 26624 0.000000 -0.972167 -2.722067 0 -0.874950 -2.333200 0
+ L3 26624 0.000000 -2.138767 -1.361033 0 -1.847117 -1.166600 0
+ L3 26624 0.000000 1.361033 3.110933 0 1.166600 2.624850 0
+ L3 26624 0.000000 1.749900 2.819283 0 1.458250 2.527633 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 9"" Decid-9a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -2.722255 -2.582533 0
+ -2.336082 -4.042751 0
+ -1.467192 -4.416856 0
+ -0.489691 -3.210065 0
+ 0.632625 -4.259973 0
+ 1.984231 -3.620374 0
+ 1.670466 3.560034 0
+ 0.391267 4.235838 0
+ -0.139721 3.415219 0
+ -1.213766 3.427287 0
+ -1.479260 4.259973 0
+ -3.132564 3.728985 0
+ -2.927409 2.751484 0
+ -4.291084 2.654941 0
+ -4.991023 1.242995 0
+ -4.218676 0.446513 0
+ -5.232381 0.000000 0
+ -4.966887 -1.013705 0
+ -3.892843 -1.399878 0
+ -4.665189 -2.027409 0
+ -4.037657 -3.161793 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -3.765189 -2.027409 0
+ -3.137657 -3.161793 0
+ -1.822255 -2.582533 0
+ -1.436082 -4.042751 0
+ -0.567192 -4.416856 0
+ 0.410309 -3.210065 0
+ 1.532625 -4.259973 0
+ 2.884231 -3.620374 0
+ 2.377379 -2.280836 0
+ 3.994479 -1.834323 0
+ 4.235838 -0.313766 0
+ 3.391084 0.470649 0
+ 4.187566 1.605032 0
+ 3.584170 2.618737 0
+ 2.606669 2.256700 0
+ 2.570466 3.560034 0
+ 1.291267 4.235838 0
+ 0.760279 3.415219 0
+ -0.313766 3.427287 0
+ -0.579260 4.259973 0
+ -2.232564 3.728985 0
+ -2.027409 2.751484 0
+ -3.391084 2.654941 0
+ -4.091023 1.242995 0
+ -3.318676 0.446513 0
+ -4.332381 0.000000 0
+ -4.066887 -1.013705 0
+ -2.992843 -1.399878 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.603396 -2.823892 0
+ 1.448150 -3.668646 0
+ 2.256700 -3.173861 0
+ 1.894662 -1.761915 0
+ 3.511763 -1.315403 0
+ 3.620374 -0.615464 0
+ 2.606669 0.084475 0
+ 3.487627 1.411946 0
+ 3.101454 1.870527 0
+ 2.136021 1.846391 0
+ 2.087749 2.956639 0
+ 1.255063 3.415219 0
+ 0.567192 2.606669 0
+ -0.470649 2.751484 0
+ -0.712007 3.306608 0
+ -1.592965 3.077318 0
+ -1.605032 2.111885 0
+ -2.341175 2.087749 0
+ -2.823892 1.122316 0
+ -1.967070 0.313766 0
+ -2.775620 -0.108611 0
+ -2.642873 -0.687871 0
+ -1.351606 -0.929229 0
+ -1.846391 -1.810187 0
+ -1.037841 -2.437719 0
+ -0.712007 -3.149725 0
+ L3 65280 0.000000 -0.765581 -3.718537 0 -0.328106 -3.390431 0
+ L3 65280 0.000000 -1.093687 -3.499800 0 -1.203056 -2.952956 0
+ L3 65280 0.000000 -2.515481 -2.296744 0 -1.749900 -2.296744 0
+ L3 65280 0.000000 -3.062325 -2.078006 0 -2.734219 -1.749900 0
+ L3 65280 0.000000 -2.296744 -1.859269 0 -1.859269 -1.531162 0
+ L3 65280 0.000000 -2.078006 -1.203056 0 -2.734219 -1.093687 0
+ L3 65280 0.000000 -3.718537 -0.874950 0 -2.952956 -0.874950 0
+ L3 65280 0.000000 -3.718537 -0.218737 0 -3.062325 -0.546844 0
+ L3 65280 0.000000 -2.515481 0.328106 0 -3.062325 0.218737 0
+ L3 65280 0.000000 -2.952956 0.765581 0 -3.718537 1.203056 0
+ L3 65280 0.000000 -3.390431 1.640531 0 -2.843587 1.749900 0
+ L3 65280 0.000000 -2.624850 2.515481 0 -2.406112 2.187375 0
+ L3 65280 0.000000 -1.640531 3.281062 0 -1.859269 3.609169 0
+ L3 65280 0.000000 -0.984319 3.499800 0 -0.765581 3.827906 0
+ L3 65280 0.000000 -0.109369 2.952956 0 0.000000 3.281062 0
+ L3 65280 0.000000 0.546844 2.952956 0 0.218737 3.171694 0
+ L3 65280 0.000000 1.421794 3.499800 0 1.312425 3.937275 0
+ L3 65280 0.000000 2.078006 3.281062 0 2.406112 3.390431 0
+ L3 65280 0.000000 3.827906 1.531162 0 3.499800 1.640531 0
+ L3 65280 0.000000 3.281062 2.078006 0 3.499800 2.406112 0
+ L3 65280 0.000000 3.827906 -0.328106 0 3.390431 -0.218737 0
+ L3 65280 0.000000 -3.062325 -2.734219 0 -2.843587 -2.296744 0
+ L3 65280 0.000000 -3.499800 -2.078006 0 -3.171694 -2.296744 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 1.684911 -1.731714 0
+ 0.998466 -1.528900 0
+ 0.920460 -1.014067 0
+ 1.372890 -1.201279 0
+ F4 26624 0.000000 5 0
+ -0.655243 -2.074936 0
+ -0.592839 -1.716113 0
+ 0.078005 -1.419693 0
+ 0.265217 -1.856522 0
+ -0.078005 -2.184143 0
+ F4 26624 0.000000 4 0
+ 2.137340 0.078005 0
+ 1.326087 0.265217 0
+ 1.154476 -0.140409 0
+ 2.262149 -0.202813 0
+ F4 26624 0.000000 4 0
+ 0.514834 2.074936 0
+ 0.109207 1.762916 0
+ 0.218414 1.107673 0
+ 0.468031 1.201279 0
+ F4 26624 0.000000 3 0
+ 1.903325 1.560102 0
+ 1.684911 1.076471 0
+ 1.341688 1.372890 0
+ F4 26624 0.000000 5 0
+ -1.638108 0.187212 0
+ -1.419693 0.031202 0
+ -0.670844 -0.156010 0
+ -0.265217 0.265217 0
+ -1.201279 0.405627 0
+ F4 26624 0.000000 4 0
+ -1.435294 1.809719 0
+ -0.998466 1.700512 0
+ -0.686445 0.967264 0
+ -1.170077 1.092072 0
+ L3 26624 0.000000 0.218737 -2.406112 0 0.437475 -2.078006 0
+ L3 26624 0.000000 1.531162 -2.078006 0 0.984319 -1.859269 0
+ L3 26624 0.000000 1.749900 -2.624850 0 1.421794 -2.406112 0
+ L3 26624 0.000000 0.984319 -2.843587 0 0.765581 -2.406112 0
+ L3 26624 0.000000 -0.437475 -2.734219 0 -0.218737 -2.406112 0
+ L3 26624 0.000000 -1.312425 -1.749900 0 -0.874950 -1.749900 0
+ L3 26624 0.000000 -0.984319 -1.203056 0 -0.437475 -1.421794 0
+ L3 26624 0.000000 -1.312425 -0.656212 0 -0.874950 -0.328106 0
+ L3 26624 0.000000 -1.968637 -0.546844 0 -1.531162 -0.328106 0
+ L3 26624 0.000000 -2.515481 -0.218737 0 -1.968637 0.000000 0
+ L3 26624 0.000000 -1.749900 0.546844 0 -2.187375 0.984319 0
+ L3 26624 0.000000 -1.968637 1.531162 0 -1.640531 1.093687 0
+ L3 26624 0.000000 -1.203056 2.406112 0 -0.874950 1.968637 0
+ L3 26624 0.000000 -0.437475 1.968637 0 -0.546844 2.624850 0
+ L3 26624 0.000000 -0.328106 1.203056 0 -0.218737 1.640531 0
+ L3 26624 0.000000 0.765581 1.968637 0 0.984319 2.624850 0
+ L3 26624 0.000000 1.312425 1.859269 0 1.968637 2.187375 0
+ L3 26624 0.000000 2.952956 0.765581 0 2.406112 0.874950 0
+ L3 26624 0.000000 2.952956 1.749900 0 2.406112 1.531162 0
+ L3 26624 0.000000 3.171694 1.312425 0 2.624850 1.203056 0
+ L3 26624 0.000000 1.312425 3.171694 0 1.203056 2.734219 0
+ L3 26624 0.000000 1.968637 2.843587 0 1.640531 2.515481 0
+ L3 26624 0.000000 1.531162 2.952956 0 1.312425 2.296744 0
+ L3 26624 0.000000 3.281062 -0.546844 0 2.624850 -0.656212 0
+ L3 26624 0.000000 2.734219 -1.421794 0 2.187375 -1.093687 0
+ L3 26624 0.000000 3.281062 -1.093687 0 2.734219 -0.984319 0
+ L3 26624 0.000000 -1.093687 3.062325 0 -0.984319 2.624850 0
+ L3 26624 0.000000 -2.406112 1.531162 0 -2.078006 1.312425 0
+ L3 26624 0.000000 1.531162 -3.499800 0 1.312425 -2.952956 0
+ L3 26624 0.000000 1.968637 -3.171694 0 1.640531 -2.843587 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 9"" Decid-9b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -2.722255 2.582533 0
+ -2.336082 4.042751 0
+ -1.467192 4.416856 0
+ -0.489691 3.210065 0
+ 0.632625 4.259973 0
+ 1.984231 3.620374 0
+ 1.670466 -3.560034 0
+ 0.391267 -4.235838 0
+ -0.139721 -3.415219 0
+ -1.213766 -3.427287 0
+ -1.479260 -4.259973 0
+ -3.132564 -3.728985 0
+ -2.927409 -2.751484 0
+ -4.291084 -2.654941 0
+ -4.991023 -1.242995 0
+ -4.218676 -0.446513 0
+ -5.232381 0.000000 0
+ -4.966887 1.013705 0
+ -3.892843 1.399878 0
+ -4.665189 2.027409 0
+ -4.037657 3.161793 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -3.765189 2.027409 0
+ -3.137657 3.161793 0
+ -1.822255 2.582533 0
+ -1.436082 4.042751 0
+ -0.567192 4.416856 0
+ 0.410309 3.210065 0
+ 1.532625 4.259973 0
+ 2.884231 3.620374 0
+ 2.377379 2.280836 0
+ 3.994479 1.834323 0
+ 4.235838 0.313766 0
+ 3.391084 -0.470649 0
+ 4.187566 -1.605032 0
+ 3.584170 -2.618737 0
+ 2.606669 -2.256700 0
+ 2.570466 -3.560034 0
+ 1.291267 -4.235838 0
+ 0.760279 -3.415219 0
+ -0.313766 -3.427287 0
+ -0.579260 -4.259973 0
+ -2.232564 -3.728985 0
+ -2.027409 -2.751484 0
+ -3.391084 -2.654941 0
+ -4.091023 -1.242995 0
+ -3.318676 -0.446513 0
+ -4.332381 0.000000 0
+ -4.066887 1.013705 0
+ -2.992843 1.399878 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.603396 2.823892 0
+ 1.448150 3.668646 0
+ 2.256700 3.173861 0
+ 1.894662 1.761915 0
+ 3.511763 1.315403 0
+ 3.620374 0.615464 0
+ 2.606669 -0.084475 0
+ 3.487627 -1.411946 0
+ 3.101454 -1.870527 0
+ 2.136021 -1.846391 0
+ 2.087749 -2.956639 0
+ 1.255063 -3.415219 0
+ 0.567192 -2.606669 0
+ -0.470649 -2.751484 0
+ -0.712007 -3.306608 0
+ -1.592965 -3.077318 0
+ -1.605032 -2.111885 0
+ -2.341175 -2.087749 0
+ -2.823892 -1.122316 0
+ -1.967070 -0.313766 0
+ -2.775620 0.108611 0
+ -2.642873 0.687871 0
+ -1.351606 0.929229 0
+ -1.846391 1.810187 0
+ -1.037841 2.437719 0
+ -0.712007 3.149725 0
+ L3 65280 0.000000 -0.765581 3.718537 0 -0.328106 3.390431 0
+ L3 65280 0.000000 -1.093687 3.499800 0 -1.203056 2.952956 0
+ L3 65280 0.000000 -2.515481 2.296744 0 -1.749900 2.296744 0
+ L3 65280 0.000000 -3.062325 2.078006 0 -2.734219 1.749900 0
+ L3 65280 0.000000 -2.296744 1.859269 0 -1.859269 1.531162 0
+ L3 65280 0.000000 -2.078006 1.203056 0 -2.734219 1.093687 0
+ L3 65280 0.000000 -3.718537 0.874950 0 -2.952956 0.874950 0
+ L3 65280 0.000000 -3.718537 0.218737 0 -3.062325 0.546844 0
+ L3 65280 0.000000 -2.515481 -0.328106 0 -3.062325 -0.218737 0
+ L3 65280 0.000000 -2.952956 -0.765581 0 -3.718537 -1.203056 0
+ L3 65280 0.000000 -3.390431 -1.640531 0 -2.843587 -1.749900 0
+ L3 65280 0.000000 -2.624850 -2.515481 0 -2.406112 -2.187375 0
+ L3 65280 0.000000 -1.640531 -3.281062 0 -1.859269 -3.609169 0
+ L3 65280 0.000000 -0.984319 -3.499800 0 -0.765581 -3.827906 0
+ L3 65280 0.000000 -0.109369 -2.952956 0 0.000000 -3.281062 0
+ L3 65280 0.000000 0.546844 -2.952956 0 0.218737 -3.171694 0
+ L3 65280 0.000000 1.421794 -3.499800 0 1.312425 -3.937275 0
+ L3 65280 0.000000 2.078006 -3.281062 0 2.406112 -3.390431 0
+ L3 65280 0.000000 3.827906 -1.531162 0 3.499800 -1.640531 0
+ L3 65280 0.000000 3.281062 -2.078006 0 3.499800 -2.406112 0
+ L3 65280 0.000000 3.827906 0.328106 0 3.390431 0.218737 0
+ L3 65280 0.000000 -3.062325 2.734219 0 -2.843587 2.296744 0
+ L3 65280 0.000000 -3.499800 2.078006 0 -3.171694 2.296744 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 1.684911 1.731714 0
+ 0.998466 1.528900 0
+ 0.920460 1.014067 0
+ 1.372890 1.201279 0
+ F4 26624 0.000000 5 0
+ -0.655243 2.074936 0
+ -0.592839 1.716113 0
+ 0.078005 1.419693 0
+ 0.265217 1.856522 0
+ -0.078005 2.184143 0
+ F4 26624 0.000000 4 0
+ 2.137340 -0.078005 0
+ 1.326087 -0.265217 0
+ 1.154476 0.140409 0
+ 2.262149 0.202813 0
+ F4 26624 0.000000 4 0
+ 0.514834 -2.074936 0
+ 0.109207 -1.762916 0
+ 0.218414 -1.107673 0
+ 0.468031 -1.201279 0
+ F4 26624 0.000000 3 0
+ 1.903325 -1.560102 0
+ 1.684911 -1.076471 0
+ 1.341688 -1.372890 0
+ F4 26624 0.000000 5 0
+ -1.638108 -0.187212 0
+ -1.419693 -0.031202 0
+ -0.670844 0.156010 0
+ -0.265217 -0.265217 0
+ -1.201279 -0.405627 0
+ F4 26624 0.000000 4 0
+ -1.435294 -1.809719 0
+ -0.998466 -1.700512 0
+ -0.686445 -0.967264 0
+ -1.170077 -1.092072 0
+ L3 26624 0.000000 0.218737 2.406112 0 0.437475 2.078006 0
+ L3 26624 0.000000 1.531162 2.078006 0 0.984319 1.859269 0
+ L3 26624 0.000000 1.749900 2.624850 0 1.421794 2.406112 0
+ L3 26624 0.000000 0.984319 2.843587 0 0.765581 2.406112 0
+ L3 26624 0.000000 -0.437475 2.734219 0 -0.218737 2.406112 0
+ L3 26624 0.000000 -1.312425 1.749900 0 -0.874950 1.749900 0
+ L3 26624 0.000000 -0.984319 1.203056 0 -0.437475 1.421794 0
+ L3 26624 0.000000 -1.312425 0.656212 0 -0.874950 0.328106 0
+ L3 26624 0.000000 -1.968637 0.546844 0 -1.531162 0.328106 0
+ L3 26624 0.000000 -2.515481 0.218737 0 -1.968637 0.000000 0
+ L3 26624 0.000000 -1.749900 -0.546844 0 -2.187375 -0.984319 0
+ L3 26624 0.000000 -1.968637 -1.531162 0 -1.640531 -1.093687 0
+ L3 26624 0.000000 -1.203056 -2.406112 0 -0.874950 -1.968637 0
+ L3 26624 0.000000 -0.437475 -1.968637 0 -0.546844 -2.624850 0
+ L3 26624 0.000000 -0.328106 -1.203056 0 -0.218737 -1.640531 0
+ L3 26624 0.000000 0.765581 -1.968637 0 0.984319 -2.624850 0
+ L3 26624 0.000000 1.312425 -1.859269 0 1.968637 -2.187375 0
+ L3 26624 0.000000 2.952956 -0.765581 0 2.406112 -0.874950 0
+ L3 26624 0.000000 2.952956 -1.749900 0 2.406112 -1.531162 0
+ L3 26624 0.000000 3.171694 -1.312425 0 2.624850 -1.203056 0
+ L3 26624 0.000000 1.312425 -3.171694 0 1.203056 -2.734219 0
+ L3 26624 0.000000 1.968637 -2.843587 0 1.640531 -2.515481 0
+ L3 26624 0.000000 1.531162 -2.952956 0 1.312425 -2.296744 0
+ L3 26624 0.000000 3.281062 0.546844 0 2.624850 0.656212 0
+ L3 26624 0.000000 2.734219 1.421794 0 2.187375 1.093687 0
+ L3 26624 0.000000 3.281062 1.093687 0 2.734219 0.984319 0
+ L3 26624 0.000000 -1.093687 -3.062325 0 -0.984319 -2.624850 0
+ L3 26624 0.000000 -2.406112 -1.531162 0 -2.078006 -1.312425 0
+ L3 26624 0.000000 1.531162 3.499800 0 1.312425 2.952956 0
+ L3 26624 0.000000 1.968637 3.171694 0 1.640531 2.843587 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 10"" Decid-10a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -3.024728 -2.869482 0
+ -2.595646 -4.491946 0
+ -1.630213 -4.907618 0
+ -0.544101 -3.566739 0
+ 0.702917 -4.733304 0
+ 2.204701 -4.022638 0
+ 1.856073 3.955594 0
+ 0.434741 4.706486 0
+ -0.155246 3.794688 0
+ -1.348629 3.808097 0
+ -1.643622 4.733304 0
+ -3.480627 4.143317 0
+ -3.252677 3.057205 0
+ -4.767871 2.949934 0
+ -5.545581 1.381106 0
+ -4.687418 0.496125 0
+ -5.813757 0.000000 0
+ -5.518763 -1.126339 0
+ -4.325381 -1.555420 0
+ -5.183543 -2.252677 0
+ -4.486286 -3.513104 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -4.183543 -2.252677 0
+ -3.486286 -3.513104 0
+ -2.024728 -2.869482 0
+ -1.595646 -4.491946 0
+ -0.630213 -4.907618 0
+ 0.455899 -3.566739 0
+ 1.702917 -4.733304 0
+ 3.204701 -4.022638 0
+ 2.641532 -2.534262 0
+ 4.438310 -2.038136 0
+ 4.706486 -0.348629 0
+ 3.767871 0.522943 0
+ 4.652851 1.783369 0
+ 3.982411 2.909708 0
+ 2.896299 2.507444 0
+ 2.856073 3.955594 0
+ 1.434741 4.706486 0
+ 0.844754 3.794688 0
+ -0.348629 3.808097 0
+ -0.643622 4.733304 0
+ -2.480627 4.143317 0
+ -2.252677 3.057205 0
+ -3.767871 2.949934 0
+ -4.545581 1.381106 0
+ -3.687418 0.496125 0
+ -4.813757 0.000000 0
+ -4.518763 -1.126339 0
+ -3.325381 -1.555420 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.670440 -3.137657 0
+ 1.609055 -4.076273 0
+ 2.507444 -3.526512 0
+ 2.105180 -1.957684 0
+ 3.901959 -1.461558 0
+ 4.022638 -0.683848 0
+ 2.896299 0.093862 0
+ 3.875141 1.568829 0
+ 3.446060 2.078363 0
+ 2.373356 2.051545 0
+ 2.319721 3.285154 0
+ 1.394514 3.794688 0
+ 0.630213 2.896299 0
+ -0.522943 3.057205 0
+ -0.791119 3.674009 0
+ -1.769961 3.419242 0
+ -1.783369 2.346539 0
+ -2.601306 2.319721 0
+ -3.137657 1.247018 0
+ -2.185633 0.348629 0
+ -3.084022 -0.120679 0
+ -2.936526 -0.764301 0
+ -1.501785 -1.032477 0
+ -2.051545 -2.011319 0
+ -1.153156 -2.708576 0
+ -0.791119 -3.499695 0
+ L3 65280 0.000000 -0.850646 -4.131708 0 -0.364562 -3.767146 0
+ L3 65280 0.000000 -1.215208 -3.888667 0 -1.336729 -3.281062 0
+ L3 65280 0.000000 -2.794979 -2.551937 0 -1.944333 -2.551937 0
+ L3 65280 0.000000 -3.402583 -2.308896 0 -3.038021 -1.944333 0
+ L3 65280 0.000000 -2.551937 -2.065854 0 -2.065854 -1.701292 0
+ L3 65280 0.000000 -2.308896 -1.336729 0 -3.038021 -1.215208 0
+ L3 65280 0.000000 -4.131708 -0.972167 0 -3.281062 -0.972167 0
+ L3 65280 0.000000 -4.131708 -0.243042 0 -3.402583 -0.607604 0
+ L3 65280 0.000000 -2.794979 0.364562 0 -3.402583 0.243042 0
+ L3 65280 0.000000 -3.281062 0.850646 0 -4.131708 1.336729 0
+ L3 65280 0.000000 -3.767146 1.822812 0 -3.159542 1.944333 0
+ L3 65280 0.000000 -2.916500 2.794979 0 -2.673458 2.430417 0
+ L3 65280 0.000000 -1.822812 3.645625 0 -2.065854 4.010187 0
+ L3 65280 0.000000 -1.093687 3.888667 0 -0.850646 4.253229 0
+ L3 65280 0.000000 -0.121521 3.281062 0 0.000000 3.645625 0
+ L3 65280 0.000000 0.607604 3.281062 0 0.243042 3.524104 0
+ L3 65280 0.000000 1.579771 3.888667 0 1.458250 4.374750 0
+ L3 65280 0.000000 2.308896 3.645625 0 2.673458 3.767146 0
+ L3 65280 0.000000 4.253229 1.701292 0 3.888667 1.822812 0
+ L3 65280 0.000000 3.645625 2.308896 0 3.888667 2.673458 0
+ L3 65280 0.000000 4.253229 -0.364562 0 3.767146 -0.243042 0
+ L3 65280 0.000000 -3.402583 -3.038021 0 -3.159542 -2.551937 0
+ L3 65280 0.000000 -3.888667 -2.308896 0 -3.524104 -2.551937 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 1.872123 -1.924126 0
+ 1.109406 -1.698778 0
+ 1.022734 -1.126741 0
+ 1.525433 -1.334754 0
+ F4 26624 0.000000 5 0
+ -0.728048 -2.305485 0
+ -0.658710 -1.906792 0
+ 0.086672 -1.577437 0
+ 0.294686 -2.062802 0
+ -0.086672 -2.426826 0
+ F4 26624 0.000000 4 0
+ 2.374823 0.086672 0
+ 1.473430 0.294686 0
+ 1.282751 -0.156010 0
+ 2.513498 -0.225348 0
+ F4 26624 0.000000 4 0
+ 0.572038 2.305485 0
+ 0.121341 1.958795 0
+ 0.242683 1.230747 0
+ 0.520034 1.334754 0
+ F4 26624 0.000000 3 0
+ 2.114806 1.733447 0
+ 1.872123 1.196079 0
+ 1.490765 1.525433 0
+ F4 26624 0.000000 5 0
+ -1.820120 0.208014 0
+ -1.577437 0.034669 0
+ -0.745382 -0.173345 0
+ -0.294686 0.294686 0
+ -1.334754 0.450696 0
+ F4 26624 0.000000 4 0
+ -1.594771 2.010799 0
+ -1.109406 1.889457 0
+ -0.762717 1.074737 0
+ -1.300085 1.213413 0
+ L3 26624 0.000000 0.243042 -2.673458 0 0.486083 -2.308896 0
+ L3 26624 0.000000 1.701292 -2.308896 0 1.093687 -2.065854 0
+ L3 26624 0.000000 1.944333 -2.916500 0 1.579771 -2.673458 0
+ L3 26624 0.000000 1.093687 -3.159542 0 0.850646 -2.673458 0
+ L3 26624 0.000000 -0.486083 -3.038021 0 -0.243042 -2.673458 0
+ L3 26624 0.000000 -1.458250 -1.944333 0 -0.972167 -1.944333 0
+ L3 26624 0.000000 -1.093687 -1.336729 0 -0.486083 -1.579771 0
+ L3 26624 0.000000 -1.458250 -0.729125 0 -0.972167 -0.364562 0
+ L3 26624 0.000000 -2.187375 -0.607604 0 -1.701292 -0.364562 0
+ L3 26624 0.000000 -2.794979 -0.243042 0 -2.187375 0.000000 0
+ L3 26624 0.000000 -1.944333 0.607604 0 -2.430417 1.093687 0
+ L3 26624 0.000000 -2.187375 1.701292 0 -1.822812 1.215208 0
+ L3 26624 0.000000 -1.336729 2.673458 0 -0.972167 2.187375 0
+ L3 26624 0.000000 -0.486083 2.187375 0 -0.607604 2.916500 0
+ L3 26624 0.000000 -0.364562 1.336729 0 -0.243042 1.822812 0
+ L3 26624 0.000000 0.850646 2.187375 0 1.093687 2.916500 0
+ L3 26624 0.000000 1.458250 2.065854 0 2.187375 2.430417 0
+ L3 26624 0.000000 3.281062 0.850646 0 2.673458 0.972167 0
+ L3 26624 0.000000 3.281062 1.944333 0 2.673458 1.701292 0
+ L3 26624 0.000000 3.524104 1.458250 0 2.916500 1.336729 0
+ L3 26624 0.000000 1.458250 3.524104 0 1.336729 3.038021 0
+ L3 26624 0.000000 2.187375 3.159542 0 1.822812 2.794979 0
+ L3 26624 0.000000 1.701292 3.281062 0 1.458250 2.551937 0
+ L3 26624 0.000000 3.645625 -0.607604 0 2.916500 -0.729125 0
+ L3 26624 0.000000 3.038021 -1.579771 0 2.430417 -1.215208 0
+ L3 26624 0.000000 3.645625 -1.215208 0 3.038021 -1.093687 0
+ L3 26624 0.000000 -1.215208 3.402583 0 -1.093687 2.916500 0
+ L3 26624 0.000000 -2.673458 1.701292 0 -2.308896 1.458250 0
+ L3 26624 0.000000 1.701292 -3.888667 0 1.458250 -3.281062 0
+ L3 26624 0.000000 2.187375 -3.524104 0 1.822812 -3.159542 0
+ END$SEGS
+
+STRUCTURE * "Sm Decid 10"" Decid-10b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -3.024728 2.869482 0
+ -2.595646 4.491946 0
+ -1.630213 4.907618 0
+ -0.544101 3.566739 0
+ 0.702917 4.733304 0
+ 2.204701 4.022638 0
+ 1.856073 -3.955594 0
+ 0.434741 -4.706486 0
+ -0.155246 -3.794688 0
+ -1.348629 -3.808097 0
+ -1.643622 -4.733304 0
+ -3.480627 -4.143317 0
+ -3.252677 -3.057205 0
+ -4.767871 -2.949934 0
+ -5.545581 -1.381106 0
+ -4.687418 -0.496125 0
+ -5.813757 0.000000 0
+ -5.518763 1.126339 0
+ -4.325381 1.555420 0
+ -5.183543 2.252677 0
+ -4.486286 3.513104 0
+# Layer: XTRKCAD2
+ F4 26624 0.000000 28 0
+ -4.183543 2.252677 0
+ -3.486286 3.513104 0
+ -2.024728 2.869482 0
+ -1.595646 4.491946 0
+ -0.630213 4.907618 0
+ 0.455899 3.566739 0
+ 1.702917 4.733304 0
+ 3.204701 4.022638 0
+ 2.641532 2.534262 0
+ 4.438310 2.038136 0
+ 4.706486 0.348629 0
+ 3.767871 -0.522943 0
+ 4.652851 -1.783369 0
+ 3.982411 -2.909708 0
+ 2.896299 -2.507444 0
+ 2.856073 -3.955594 0
+ 1.434741 -4.706486 0
+ 0.844754 -3.794688 0
+ -0.348629 -3.808097 0
+ -0.643622 -4.733304 0
+ -2.480627 -4.143317 0
+ -2.252677 -3.057205 0
+ -3.767871 -2.949934 0
+ -4.545581 -1.381106 0
+ -3.687418 -0.496125 0
+ -4.813757 0.000000 0
+ -4.518763 1.126339 0
+ -3.325381 1.555420 0
+# Layer: XTRKCAD3
+ F4 65280 0.000000 26 0
+ 0.670440 3.137657 0
+ 1.609055 4.076273 0
+ 2.507444 3.526512 0
+ 2.105180 1.957684 0
+ 3.901959 1.461558 0
+ 4.022638 0.683848 0
+ 2.896299 -0.093862 0
+ 3.875141 -1.568829 0
+ 3.446060 -2.078363 0
+ 2.373356 -2.051545 0
+ 2.319721 -3.285154 0
+ 1.394514 -3.794688 0
+ 0.630213 -2.896299 0
+ -0.522943 -3.057205 0
+ -0.791119 -3.674009 0
+ -1.769961 -3.419242 0
+ -1.783369 -2.346539 0
+ -2.601306 -2.319721 0
+ -3.137657 -1.247018 0
+ -2.185633 -0.348629 0
+ -3.084022 0.120679 0
+ -2.936526 0.764301 0
+ -1.501785 1.032477 0
+ -2.051545 2.011319 0
+ -1.153156 2.708576 0
+ -0.791119 3.499695 0
+ L3 65280 0.000000 -0.850646 4.131708 0 -0.364562 3.767146 0
+ L3 65280 0.000000 -1.215208 3.888667 0 -1.336729 3.281062 0
+ L3 65280 0.000000 -2.794979 2.551937 0 -1.944333 2.551937 0
+ L3 65280 0.000000 -3.402583 2.308896 0 -3.038021 1.944333 0
+ L3 65280 0.000000 -2.551937 2.065854 0 -2.065854 1.701292 0
+ L3 65280 0.000000 -2.308896 1.336729 0 -3.038021 1.215208 0
+ L3 65280 0.000000 -4.131708 0.972167 0 -3.281062 0.972167 0
+ L3 65280 0.000000 -4.131708 0.243042 0 -3.402583 0.607604 0
+ L3 65280 0.000000 -2.794979 -0.364562 0 -3.402583 -0.243042 0
+ L3 65280 0.000000 -3.281062 -0.850646 0 -4.131708 -1.336729 0
+ L3 65280 0.000000 -3.767146 -1.822812 0 -3.159542 -1.944333 0
+ L3 65280 0.000000 -2.916500 -2.794979 0 -2.673458 -2.430417 0
+ L3 65280 0.000000 -1.822812 -3.645625 0 -2.065854 -4.010187 0
+ L3 65280 0.000000 -1.093687 -3.888667 0 -0.850646 -4.253229 0
+ L3 65280 0.000000 -0.121521 -3.281062 0 0.000000 -3.645625 0
+ L3 65280 0.000000 0.607604 -3.281062 0 0.243042 -3.524104 0
+ L3 65280 0.000000 1.579771 -3.888667 0 1.458250 -4.374750 0
+ L3 65280 0.000000 2.308896 -3.645625 0 2.673458 -3.767146 0
+ L3 65280 0.000000 4.253229 -1.701292 0 3.888667 -1.822812 0
+ L3 65280 0.000000 3.645625 -2.308896 0 3.888667 -2.673458 0
+ L3 65280 0.000000 4.253229 0.364562 0 3.767146 0.243042 0
+ L3 65280 0.000000 -3.402583 3.038021 0 -3.159542 2.551937 0
+ L3 65280 0.000000 -3.888667 2.308896 0 -3.524104 2.551937 0
+# Layer: XTRKCAD4
+ F4 26624 0.000000 4 0
+ 1.872123 1.924126 0
+ 1.109406 1.698778 0
+ 1.022734 1.126741 0
+ 1.525433 1.334754 0
+ F4 26624 0.000000 5 0
+ -0.728048 2.305485 0
+ -0.658710 1.906792 0
+ 0.086672 1.577437 0
+ 0.294686 2.062802 0
+ -0.086672 2.426826 0
+ F4 26624 0.000000 4 0
+ 2.374823 -0.086672 0
+ 1.473430 -0.294686 0
+ 1.282751 0.156010 0
+ 2.513498 0.225348 0
+ F4 26624 0.000000 4 0
+ 0.572038 -2.305485 0
+ 0.121341 -1.958795 0
+ 0.242683 -1.230747 0
+ 0.520034 -1.334754 0
+ F4 26624 0.000000 3 0
+ 2.114806 -1.733447 0
+ 1.872123 -1.196079 0
+ 1.490765 -1.525433 0
+ F4 26624 0.000000 5 0
+ -1.820120 -0.208014 0
+ -1.577437 -0.034669 0
+ -0.745382 0.173345 0
+ -0.294686 -0.294686 0
+ -1.334754 -0.450696 0
+ F4 26624 0.000000 4 0
+ -1.594771 -2.010799 0
+ -1.109406 -1.889457 0
+ -0.762717 -1.074737 0
+ -1.300085 -1.213413 0
+ L3 26624 0.000000 0.243042 2.673458 0 0.486083 2.308896 0
+ L3 26624 0.000000 1.701292 2.308896 0 1.093687 2.065854 0
+ L3 26624 0.000000 1.944333 2.916500 0 1.579771 2.673458 0
+ L3 26624 0.000000 1.093687 3.159542 0 0.850646 2.673458 0
+ L3 26624 0.000000 -0.486083 3.038021 0 -0.243042 2.673458 0
+ L3 26624 0.000000 -1.458250 1.944333 0 -0.972167 1.944333 0
+ L3 26624 0.000000 -1.093687 1.336729 0 -0.486083 1.579771 0
+ L3 26624 0.000000 -1.458250 0.729125 0 -0.972167 0.364562 0
+ L3 26624 0.000000 -2.187375 0.607604 0 -1.701292 0.364562 0
+ L3 26624 0.000000 -2.794979 0.243042 0 -2.187375 0.000000 0
+ L3 26624 0.000000 -1.944333 -0.607604 0 -2.430417 -1.093687 0
+ L3 26624 0.000000 -2.187375 -1.701292 0 -1.822812 -1.215208 0
+ L3 26624 0.000000 -1.336729 -2.673458 0 -0.972167 -2.187375 0
+ L3 26624 0.000000 -0.486083 -2.187375 0 -0.607604 -2.916500 0
+ L3 26624 0.000000 -0.364562 -1.336729 0 -0.243042 -1.822812 0
+ L3 26624 0.000000 0.850646 -2.187375 0 1.093687 -2.916500 0
+ L3 26624 0.000000 1.458250 -2.065854 0 2.187375 -2.430417 0
+ L3 26624 0.000000 3.281062 -0.850646 0 2.673458 -0.972167 0
+ L3 26624 0.000000 3.281062 -1.944333 0 2.673458 -1.701292 0
+ L3 26624 0.000000 3.524104 -1.458250 0 2.916500 -1.336729 0
+ L3 26624 0.000000 1.458250 -3.524104 0 1.336729 -3.038021 0
+ L3 26624 0.000000 2.187375 -3.159542 0 1.822812 -2.794979 0
+ L3 26624 0.000000 1.701292 -3.281062 0 1.458250 -2.551937 0
+ L3 26624 0.000000 3.645625 0.607604 0 2.916500 0.729125 0
+ L3 26624 0.000000 3.038021 1.579771 0 2.430417 1.215208 0
+ L3 26624 0.000000 3.645625 1.215208 0 3.038021 1.093687 0
+ L3 26624 0.000000 -1.215208 -3.402583 0 -1.093687 -2.916500 0
+ L3 26624 0.000000 -2.673458 -1.701292 0 -2.308896 -1.458250 0
+ L3 26624 0.000000 1.701292 3.888667 0 1.458250 3.281062 0
+ L3 26624 0.000000 2.187375 3.524104 0 1.822812 3.159542 0
+ END$SEGS
+
diff --git a/app/lib/params/TreeSmFall.xtp b/app/lib/params/TreeSmFall.xtp
new file mode 100644
index 0000000..3f3b6bb
--- /dev/null
+++ b/app/lib/params/TreeSmFall.xtp
@@ -0,0 +1,3483 @@
+CONTENTS Small Fall Trees
+
+# DxfToXtp version 0.6 by Russell Shilling 2021
+STRUCTURE * "Sm Fall 1"" Fall-1a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -0.302473 -0.286948 0
+ -0.259565 -0.449195 0
+ -0.163021 -0.490762 0
+ -0.054410 -0.356674 0
+ 0.070292 -0.473330 0
+ 0.220470 -0.402264 0
+ 0.185607 0.395559 0
+ 0.043474 0.470649 0
+ -0.015525 0.379469 0
+ -0.134863 0.380810 0
+ -0.164362 0.473330 0
+ -0.348063 0.414332 0
+ -0.325268 0.305720 0
+ -0.476787 0.294993 0
+ -0.554558 0.138111 0
+ -0.468742 0.049613 0
+ -0.581376 0.000000 0
+ -0.551876 -0.112634 0
+ -0.432538 -0.155542 0
+ -0.518354 -0.225268 0
+ -0.448629 -0.351310 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -0.418354 -0.225268 0
+ -0.348629 -0.351310 0
+ -0.202473 -0.286948 0
+ -0.159565 -0.449195 0
+ -0.063021 -0.490762 0
+ 0.045590 -0.356674 0
+ 0.170292 -0.473330 0
+ 0.320470 -0.402264 0
+ 0.264153 -0.253426 0
+ 0.443831 -0.203814 0
+ 0.470649 -0.034863 0
+ 0.376787 0.052294 0
+ 0.465285 0.178337 0
+ 0.398241 0.290971 0
+ 0.289630 0.250744 0
+ 0.285607 0.395559 0
+ 0.143474 0.470649 0
+ 0.084475 0.379469 0
+ -0.034863 0.380810 0
+ -0.064362 0.473330 0
+ -0.248063 0.414332 0
+ -0.225268 0.305720 0
+ -0.376787 0.294993 0
+ -0.454558 0.138111 0
+ -0.368742 0.049613 0
+ -0.481376 0.000000 0
+ -0.451876 -0.112634 0
+ -0.332538 -0.155542 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 0.067044 -0.313766 0
+ 0.160906 -0.407627 0
+ 0.250744 -0.352651 0
+ 0.210518 -0.195768 0
+ 0.390196 -0.146156 0
+ 0.402264 -0.068385 0
+ 0.289630 0.009386 0
+ 0.387514 0.156883 0
+ 0.344606 0.207836 0
+ 0.237336 0.205155 0
+ 0.231972 0.328515 0
+ 0.139451 0.379469 0
+ 0.063021 0.289630 0
+ -0.052294 0.305720 0
+ -0.079112 0.367401 0
+ -0.176996 0.341924 0
+ -0.178337 0.234654 0
+ -0.260131 0.231972 0
+ -0.313766 0.124702 0
+ -0.218563 0.034863 0
+ -0.308402 -0.012068 0
+ -0.293653 -0.076430 0
+ -0.150178 -0.103248 0
+ -0.205155 -0.201132 0
+ -0.115316 -0.270858 0
+ -0.079112 -0.349969 0
+ L3 12434688 0.000000 -0.121521 -0.388867 0 -0.133673 -0.328106 0
+ L3 12434688 0.000000 -0.255194 -0.206585 0 -0.206585 -0.170129 0
+ L3 12434688 0.000000 -0.413171 -0.024304 0 -0.340258 -0.060760 0
+ L3 12434688 0.000000 -0.279498 0.036456 0 -0.340258 0.024304 0
+ L3 12434688 0.000000 -0.376715 0.182281 0 -0.315954 0.194433 0
+ L3 12434688 0.000000 -0.182281 0.364562 0 -0.206585 0.401019 0
+ L3 12434688 0.000000 0.060760 0.328106 0 0.024304 0.352410 0
+ L3 12434688 0.000000 0.230890 0.364562 0 0.267346 0.376715 0
+ L3 12434688 0.000000 0.425323 0.170129 0 0.388867 0.182281 0
+ L3 12434688 0.000000 -0.340258 -0.303802 0 -0.315954 -0.255194 0
+ L3 12434688 0.000000 -0.388867 -0.230890 0 -0.352410 -0.255194 0
+ L3 16755200 0.000000 -0.085065 -0.413171 0 -0.036456 -0.376715 0
+ L3 16755200 0.000000 -0.279498 -0.255194 0 -0.194433 -0.255194 0
+ L3 16755200 0.000000 -0.340258 -0.230890 0 -0.303802 -0.194433 0
+ L3 16755200 0.000000 -0.230890 -0.133673 0 -0.303802 -0.121521 0
+ L3 16755200 0.000000 -0.413171 -0.097217 0 -0.328106 -0.097217 0
+ L3 16755200 0.000000 -0.328106 0.085065 0 -0.413171 0.133673 0
+ L3 16755200 0.000000 -0.291650 0.279498 0 -0.267346 0.243042 0
+ L3 16755200 0.000000 -0.109369 0.388867 0 -0.085065 0.425323 0
+ L3 16755200 0.000000 -0.012152 0.328106 0 0.000000 0.364562 0
+ L3 16755200 0.000000 0.157977 0.388867 0 0.145825 0.437475 0
+ L3 16755200 0.000000 0.364562 0.230890 0 0.388867 0.267346 0
+ L3 16755200 0.000000 0.425323 -0.036456 0 0.376715 -0.024304 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 0.187212 -0.192413 0
+ 0.110941 -0.169878 0
+ 0.102273 -0.112674 0
+ 0.152543 -0.133475 0
+ F4 6842368 0.000000 4 0
+ 0.237482 0.008667 0
+ 0.147343 0.029469 0
+ 0.128275 -0.015601 0
+ 0.251350 -0.022535 0
+ F4 6842368 0.000000 4 0
+ 0.057204 0.230548 0
+ 0.012134 0.195880 0
+ 0.024268 0.123075 0
+ 0.052003 0.133475 0
+ F4 6842368 0.000000 5 0
+ -0.182012 0.020801 0
+ -0.157744 0.003467 0
+ -0.074538 -0.017334 0
+ -0.029469 0.029469 0
+ -0.133475 0.045070 0
+ L3 6842368 0.000000 0.024304 -0.267346 0 0.048608 -0.230890 0
+ L3 6842368 0.000000 0.170129 -0.230890 0 0.109369 -0.206585 0
+ L3 6842368 0.000000 0.194433 -0.291650 0 0.157977 -0.267346 0
+ L3 6842368 0.000000 0.109369 -0.315954 0 0.085065 -0.267346 0
+ L3 6842368 0.000000 -0.048608 -0.303802 0 -0.024304 -0.267346 0
+ L3 6842368 0.000000 -0.145825 -0.194433 0 -0.097217 -0.194433 0
+ L3 6842368 0.000000 -0.109369 -0.133673 0 -0.048608 -0.157977 0
+ L3 6842368 0.000000 -0.145825 -0.072912 0 -0.097217 -0.036456 0
+ L3 6842368 0.000000 -0.218737 -0.060760 0 -0.170129 -0.036456 0
+ L3 6842368 0.000000 -0.279498 -0.024304 0 -0.218737 0.000000 0
+ L3 6842368 0.000000 -0.194433 0.060760 0 -0.243042 0.109369 0
+ L3 6842368 0.000000 -0.218737 0.170129 0 -0.182281 0.121521 0
+ L3 6842368 0.000000 -0.133673 0.267346 0 -0.097217 0.218737 0
+ L3 6842368 0.000000 -0.048608 0.218737 0 -0.060760 0.291650 0
+ L3 6842368 0.000000 -0.036456 0.133673 0 -0.024304 0.182281 0
+ L3 6842368 0.000000 0.085065 0.218737 0 0.109369 0.291650 0
+ L3 6842368 0.000000 0.145825 0.206585 0 0.218737 0.243042 0
+ L3 6842368 0.000000 0.328106 0.085065 0 0.267346 0.097217 0
+ L3 6842368 0.000000 0.328106 0.194433 0 0.267346 0.170129 0
+ L3 6842368 0.000000 0.352410 0.145825 0 0.291650 0.133673 0
+ L3 6842368 0.000000 0.145825 0.352410 0 0.133673 0.303802 0
+ L3 6842368 0.000000 0.218737 0.315954 0 0.182281 0.279498 0
+ L3 6842368 0.000000 0.170129 0.328106 0 0.145825 0.255194 0
+ L3 6842368 0.000000 0.364562 -0.060760 0 0.291650 -0.072912 0
+ L3 6842368 0.000000 0.303802 -0.157977 0 0.243042 -0.121521 0
+ L3 6842368 0.000000 0.364562 -0.121521 0 0.303802 -0.109369 0
+ L3 6842368 0.000000 -0.121521 0.340258 0 -0.109369 0.291650 0
+ L3 6842368 0.000000 -0.267346 0.170129 0 -0.230890 0.145825 0
+ L3 6842368 0.000000 0.170129 -0.388867 0 0.145825 -0.328106 0
+ L3 6842368 0.000000 0.218737 -0.352410 0 0.182281 -0.315954 0
+ F4 16755200 0.000000 5 0
+ -0.072805 -0.230548 0
+ -0.065871 -0.190679 0
+ 0.008667 -0.157744 0
+ 0.029469 -0.206280 0
+ -0.008667 -0.242683 0
+ F4 16755200 0.000000 3 0
+ 0.211481 0.173345 0
+ 0.187212 0.119608 0
+ 0.149076 0.152543 0
+ F4 16755200 0.000000 4 0
+ -0.159477 0.201080 0
+ -0.110941 0.188946 0
+ -0.076272 0.107474 0
+ -0.130009 0.121341 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 1"" Fall-1b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -0.302473 0.286948 0
+ -0.259565 0.449195 0
+ -0.163021 0.490762 0
+ -0.054410 0.356674 0
+ 0.070292 0.473330 0
+ 0.220470 0.402264 0
+ 0.185607 -0.395559 0
+ 0.043474 -0.470649 0
+ -0.015525 -0.379469 0
+ -0.134863 -0.380810 0
+ -0.164362 -0.473330 0
+ -0.348063 -0.414332 0
+ -0.325268 -0.305720 0
+ -0.476787 -0.294993 0
+ -0.554558 -0.138111 0
+ -0.468742 -0.049613 0
+ -0.581376 0.000000 0
+ -0.551876 0.112634 0
+ -0.432538 0.155542 0
+ -0.518354 0.225268 0
+ -0.448629 0.351310 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -0.418354 0.225268 0
+ -0.348629 0.351310 0
+ -0.202473 0.286948 0
+ -0.159565 0.449195 0
+ -0.063021 0.490762 0
+ 0.045590 0.356674 0
+ 0.170292 0.473330 0
+ 0.320470 0.402264 0
+ 0.264153 0.253426 0
+ 0.443831 0.203814 0
+ 0.470649 0.034863 0
+ 0.376787 -0.052294 0
+ 0.465285 -0.178337 0
+ 0.398241 -0.290971 0
+ 0.289630 -0.250744 0
+ 0.285607 -0.395559 0
+ 0.143474 -0.470649 0
+ 0.084475 -0.379469 0
+ -0.034863 -0.380810 0
+ -0.064362 -0.473330 0
+ -0.248063 -0.414332 0
+ -0.225268 -0.305720 0
+ -0.376787 -0.294993 0
+ -0.454558 -0.138111 0
+ -0.368742 -0.049613 0
+ -0.481376 0.000000 0
+ -0.451876 0.112634 0
+ -0.332538 0.155542 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 0.067044 0.313766 0
+ 0.160906 0.407627 0
+ 0.250744 0.352651 0
+ 0.210518 0.195768 0
+ 0.390196 0.146156 0
+ 0.402264 0.068385 0
+ 0.289630 -0.009386 0
+ 0.387514 -0.156883 0
+ 0.344606 -0.207836 0
+ 0.237336 -0.205155 0
+ 0.231972 -0.328515 0
+ 0.139451 -0.379469 0
+ 0.063021 -0.289630 0
+ -0.052294 -0.305720 0
+ -0.079112 -0.367401 0
+ -0.176996 -0.341924 0
+ -0.178337 -0.234654 0
+ -0.260131 -0.231972 0
+ -0.313766 -0.124702 0
+ -0.218563 -0.034863 0
+ -0.308402 0.012068 0
+ -0.293653 0.076430 0
+ -0.150178 0.103248 0
+ -0.205155 0.201132 0
+ -0.115316 0.270858 0
+ -0.079112 0.349969 0
+ L3 12410368 0.000000 -0.085065 0.413171 0 -0.036456 0.376715 0
+ L3 12410368 0.000000 -0.340258 0.230890 0 -0.303802 0.194433 0
+ L3 12410368 0.000000 -0.255194 0.206585 0 -0.206585 0.170129 0
+ L3 12410368 0.000000 -0.413171 0.097217 0 -0.328106 0.097217 0
+ L3 12410368 0.000000 -0.279498 -0.036456 0 -0.340258 -0.024304 0
+ L3 12410368 0.000000 -0.376715 -0.182281 0 -0.315954 -0.194433 0
+ L3 12410368 0.000000 -0.182281 -0.364562 0 -0.206585 -0.401019 0
+ L3 12410368 0.000000 -0.012152 -0.328106 0 0.000000 -0.364562 0
+ L3 12410368 0.000000 0.157977 -0.388867 0 0.145825 -0.437475 0
+ L3 12410368 0.000000 0.364562 -0.230890 0 0.388867 -0.267346 0
+ L3 12410368 0.000000 -0.340258 0.303802 0 -0.315954 0.255194 0
+ L3 14915328 0.000000 -0.388867 0.230890 0 -0.352410 0.255194 0
+ L3 16755200 0.000000 0.425323 0.036456 0 0.376715 0.024304 0
+ L3 16755200 0.000000 -0.121521 0.388867 0 -0.133673 0.328106 0
+ L3 16755200 0.000000 -0.279498 0.255194 0 -0.194433 0.255194 0
+ L3 16755200 0.000000 -0.230890 0.133673 0 -0.303802 0.121521 0
+ L3 16755200 0.000000 -0.413171 0.024304 0 -0.340258 0.060760 0
+ L3 16755200 0.000000 -0.328106 -0.085065 0 -0.413171 -0.133673 0
+ L3 16755200 0.000000 -0.291650 -0.279498 0 -0.267346 -0.243042 0
+ L3 16755200 0.000000 -0.109369 -0.388867 0 -0.085065 -0.425323 0
+ L3 16755200 0.000000 0.060760 -0.328106 0 0.024304 -0.352410 0
+ L3 16755200 0.000000 0.230890 -0.364562 0 0.267346 -0.376715 0
+ L3 16755200 0.000000 0.425323 -0.170129 0 0.388867 -0.182281 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -0.072805 0.230548 0
+ -0.065871 0.190679 0
+ 0.008667 0.157744 0
+ 0.029469 0.206280 0
+ -0.008667 0.242683 0
+ F4 6815744 0.000000 4 0
+ 0.237482 -0.008667 0
+ 0.147343 -0.029469 0
+ 0.128275 0.015601 0
+ 0.251350 0.022535 0
+ F4 6815744 0.000000 4 0
+ 0.057204 -0.230548 0
+ 0.012134 -0.195880 0
+ 0.024268 -0.123075 0
+ 0.052003 -0.133475 0
+ F4 6815744 0.000000 5 0
+ -0.182012 -0.020801 0
+ -0.157744 -0.003467 0
+ -0.074538 0.017334 0
+ -0.029469 -0.029469 0
+ -0.133475 -0.045070 0
+ L3 6815744 0.000000 0.170129 0.230890 0 0.109369 0.206585 0
+ L3 6815744 0.000000 0.109369 0.315954 0 0.085065 0.267346 0
+ L3 6815744 0.000000 -0.048608 0.303802 0 -0.024304 0.267346 0
+ L3 6815744 0.000000 -0.109369 0.133673 0 -0.048608 0.157977 0
+ L3 6815744 0.000000 -0.145825 0.072912 0 -0.097217 0.036456 0
+ L3 6815744 0.000000 -0.279498 0.024304 0 -0.218737 0.000000 0
+ L3 6815744 0.000000 -0.194433 -0.060760 0 -0.243042 -0.109369 0
+ L3 6815744 0.000000 -0.048608 -0.218737 0 -0.060760 -0.291650 0
+ L3 6815744 0.000000 -0.036456 -0.133673 0 -0.024304 -0.182281 0
+ L3 6815744 0.000000 0.085065 -0.218737 0 0.109369 -0.291650 0
+ L3 6815744 0.000000 0.145825 -0.206585 0 0.218737 -0.243042 0
+ L3 6815744 0.000000 0.328106 -0.085065 0 0.267346 -0.097217 0
+ L3 6815744 0.000000 0.328106 -0.194433 0 0.267346 -0.170129 0
+ L3 6815744 0.000000 0.352410 -0.145825 0 0.291650 -0.133673 0
+ L3 6815744 0.000000 0.145825 -0.352410 0 0.133673 -0.303802 0
+ L3 6815744 0.000000 0.218737 -0.315954 0 0.182281 -0.279498 0
+ L3 6815744 0.000000 0.364562 0.060760 0 0.291650 0.072912 0
+ L3 6815744 0.000000 0.364562 0.121521 0 0.303802 0.109369 0
+ L3 6815744 0.000000 -0.121521 -0.340258 0 -0.109369 -0.291650 0
+ L3 6815744 0.000000 -0.267346 -0.170129 0 -0.230890 -0.145825 0
+ L3 6815744 0.000000 0.170129 0.388867 0 0.145825 0.328106 0
+ L3 6815744 0.000000 0.218737 0.352410 0 0.182281 0.315954 0
+ L3 11184640 0.000000 0.170129 -0.328106 0 0.145825 -0.255194 0
+ L3 14915328 0.000000 0.194433 0.291650 0 0.157977 0.267346 0
+ L3 14915328 0.000000 -0.218737 0.060760 0 -0.170129 0.036456 0
+ F4 16755200 0.000000 4 0
+ 0.187212 0.192413 0
+ 0.110941 0.169878 0
+ 0.102273 0.112674 0
+ 0.152543 0.133475 0
+ F4 16755200 0.000000 3 0
+ 0.211481 -0.173345 0
+ 0.187212 -0.119608 0
+ 0.149076 -0.152543 0
+ F4 16755200 0.000000 4 0
+ -0.159477 -0.201080 0
+ -0.110941 -0.188946 0
+ -0.076272 -0.107474 0
+ -0.130009 -0.121341 0
+ L3 16755200 0.000000 0.024304 0.267346 0 0.048608 0.230890 0
+ L3 16755200 0.000000 -0.145825 0.194433 0 -0.097217 0.194433 0
+ L3 16755200 0.000000 -0.218737 -0.170129 0 -0.182281 -0.121521 0
+ L3 16755200 0.000000 -0.133673 -0.267346 0 -0.097217 -0.218737 0
+ L3 16755200 0.000000 0.303802 0.157977 0 0.243042 0.121521 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 2"" Fall-2a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -0.604946 -0.573896 0
+ -0.519129 -0.898389 0
+ -0.326043 -0.981524 0
+ -0.108820 -0.713348 0
+ 0.140583 -0.946661 0
+ 0.440940 -0.804528 0
+ 0.371215 0.791119 0
+ 0.086948 0.941297 0
+ -0.031049 0.758938 0
+ -0.269726 0.761619 0
+ -0.328724 0.946661 0
+ -0.696125 0.828663 0
+ -0.650535 0.611441 0
+ -0.953574 0.589987 0
+ -1.109116 0.276221 0
+ -0.937484 0.099225 0
+ -1.162751 0.000000 0
+ -1.103753 -0.225268 0
+ -0.865076 -0.311084 0
+ -1.036709 -0.450535 0
+ -0.897257 -0.702621 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -0.836709 -0.450535 0
+ -0.697257 -0.702621 0
+ -0.404946 -0.573896 0
+ -0.319129 -0.898389 0
+ -0.126043 -0.981524 0
+ 0.091180 -0.713348 0
+ 0.340583 -0.946661 0
+ 0.640940 -0.804528 0
+ 0.528306 -0.506852 0
+ 0.887662 -0.407627 0
+ 0.941297 -0.069726 0
+ 0.753574 0.104589 0
+ 0.930570 0.356674 0
+ 0.796482 0.581942 0
+ 0.579260 0.501489 0
+ 0.571215 0.791119 0
+ 0.286948 0.941297 0
+ 0.168951 0.758938 0
+ -0.069726 0.761619 0
+ -0.128724 0.946661 0
+ -0.496125 0.828663 0
+ -0.450535 0.611441 0
+ -0.753574 0.589987 0
+ -0.909116 0.276221 0
+ -0.737484 0.099225 0
+ -0.962751 0.000000 0
+ -0.903753 -0.225268 0
+ -0.665076 -0.311084 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 0.134088 -0.627531 0
+ 0.321811 -0.815255 0
+ 0.501489 -0.705302 0
+ 0.421036 -0.391537 0
+ 0.780392 -0.292312 0
+ 0.804528 -0.136770 0
+ 0.579260 0.018772 0
+ 0.775028 0.313766 0
+ 0.689212 0.415673 0
+ 0.474671 0.410309 0
+ 0.463944 0.657031 0
+ 0.278903 0.758938 0
+ 0.126043 0.579260 0
+ -0.104589 0.611441 0
+ -0.158224 0.734802 0
+ -0.353992 0.683848 0
+ -0.356674 0.469308 0
+ -0.520261 0.463944 0
+ -0.627531 0.249404 0
+ -0.437127 0.069726 0
+ -0.616804 -0.024136 0
+ -0.587305 -0.152860 0
+ -0.300357 -0.206495 0
+ -0.410309 -0.402264 0
+ -0.230631 -0.541715 0
+ -0.158224 -0.699939 0
+ L3 12434688 0.000000 -0.243042 -0.777733 0 -0.267346 -0.656212 0
+ L3 12434688 0.000000 -0.510387 -0.413171 0 -0.413171 -0.340258 0
+ L3 12434688 0.000000 -0.826342 -0.048608 0 -0.680517 -0.121521 0
+ L3 12434688 0.000000 -0.558996 0.072912 0 -0.680517 0.048608 0
+ L3 12434688 0.000000 -0.753429 0.364562 0 -0.631908 0.388867 0
+ L3 12434688 0.000000 -0.364562 0.729125 0 -0.413171 0.802037 0
+ L3 12434688 0.000000 0.121521 0.656212 0 0.048608 0.704821 0
+ L3 12434688 0.000000 0.461779 0.729125 0 0.534692 0.753429 0
+ L3 12434688 0.000000 0.850646 0.340258 0 0.777733 0.364562 0
+ L3 12434688 0.000000 -0.680517 -0.607604 0 -0.631908 -0.510387 0
+ L3 12434688 0.000000 -0.777733 -0.461779 0 -0.704821 -0.510387 0
+ L3 16755200 0.000000 -0.170129 -0.826342 0 -0.072912 -0.753429 0
+ L3 16755200 0.000000 -0.558996 -0.510387 0 -0.388867 -0.510387 0
+ L3 16755200 0.000000 -0.680517 -0.461779 0 -0.607604 -0.388867 0
+ L3 16755200 0.000000 -0.461779 -0.267346 0 -0.607604 -0.243042 0
+ L3 16755200 0.000000 -0.826342 -0.194433 0 -0.656212 -0.194433 0
+ L3 16755200 0.000000 -0.656212 0.170129 0 -0.826342 0.267346 0
+ L3 16755200 0.000000 -0.583300 0.558996 0 -0.534692 0.486083 0
+ L3 16755200 0.000000 -0.218737 0.777733 0 -0.170129 0.850646 0
+ L3 16755200 0.000000 -0.024304 0.656212 0 0.000000 0.729125 0
+ L3 16755200 0.000000 0.315954 0.777733 0 0.291650 0.874950 0
+ L3 16755200 0.000000 0.729125 0.461779 0 0.777733 0.534692 0
+ L3 16755200 0.000000 0.850646 -0.072912 0 0.753429 -0.048608 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 0.374425 -0.384825 0
+ 0.221881 -0.339756 0
+ 0.204547 -0.225348 0
+ 0.305087 -0.266951 0
+ F4 6842368 0.000000 4 0
+ 0.474965 0.017334 0
+ 0.294686 0.058937 0
+ 0.256550 -0.031202 0
+ 0.502700 -0.045070 0
+ F4 6842368 0.000000 4 0
+ 0.114408 0.461097 0
+ 0.024268 0.391759 0
+ 0.048537 0.246149 0
+ 0.104007 0.266951 0
+ F4 6842368 0.000000 5 0
+ -0.364024 0.041603 0
+ -0.315487 0.006934 0
+ -0.149076 -0.034669 0
+ -0.058937 0.058937 0
+ -0.266951 0.090139 0
+ L3 6842368 0.000000 0.048608 -0.534692 0 0.097217 -0.461779 0
+ L3 6842368 0.000000 0.340258 -0.461779 0 0.218737 -0.413171 0
+ L3 6842368 0.000000 0.388867 -0.583300 0 0.315954 -0.534692 0
+ L3 6842368 0.000000 0.218737 -0.631908 0 0.170129 -0.534692 0
+ L3 6842368 0.000000 -0.097217 -0.607604 0 -0.048608 -0.534692 0
+ L3 6842368 0.000000 -0.291650 -0.388867 0 -0.194433 -0.388867 0
+ L3 6842368 0.000000 -0.218737 -0.267346 0 -0.097217 -0.315954 0
+ L3 6842368 0.000000 -0.291650 -0.145825 0 -0.194433 -0.072912 0
+ L3 6842368 0.000000 -0.437475 -0.121521 0 -0.340258 -0.072912 0
+ L3 6842368 0.000000 -0.558996 -0.048608 0 -0.437475 0.000000 0
+ L3 6842368 0.000000 -0.388867 0.121521 0 -0.486083 0.218737 0
+ L3 6842368 0.000000 -0.437475 0.340258 0 -0.364562 0.243042 0
+ L3 6842368 0.000000 -0.267346 0.534692 0 -0.194433 0.437475 0
+ L3 6842368 0.000000 -0.097217 0.437475 0 -0.121521 0.583300 0
+ L3 6842368 0.000000 -0.072912 0.267346 0 -0.048608 0.364562 0
+ L3 6842368 0.000000 0.170129 0.437475 0 0.218737 0.583300 0
+ L3 6842368 0.000000 0.291650 0.413171 0 0.437475 0.486083 0
+ L3 6842368 0.000000 0.656212 0.170129 0 0.534692 0.194433 0
+ L3 6842368 0.000000 0.656212 0.388867 0 0.534692 0.340258 0
+ L3 6842368 0.000000 0.704821 0.291650 0 0.583300 0.267346 0
+ L3 6842368 0.000000 0.291650 0.704821 0 0.267346 0.607604 0
+ L3 6842368 0.000000 0.437475 0.631908 0 0.364562 0.558996 0
+ L3 6842368 0.000000 0.340258 0.656212 0 0.291650 0.510387 0
+ L3 6842368 0.000000 0.729125 -0.121521 0 0.583300 -0.145825 0
+ L3 6842368 0.000000 0.607604 -0.315954 0 0.486083 -0.243042 0
+ L3 6842368 0.000000 0.729125 -0.243042 0 0.607604 -0.218737 0
+ L3 6842368 0.000000 -0.243042 0.680517 0 -0.218737 0.583300 0
+ L3 6842368 0.000000 -0.534692 0.340258 0 -0.461779 0.291650 0
+ L3 6842368 0.000000 0.340258 -0.777733 0 0.291650 -0.656212 0
+ L3 6842368 0.000000 0.437475 -0.704821 0 0.364562 -0.631908 0
+ F4 16755200 0.000000 5 0
+ -0.145610 -0.461097 0
+ -0.131742 -0.381358 0
+ 0.017334 -0.315487 0
+ 0.058937 -0.412560 0
+ -0.017334 -0.485365 0
+ F4 16755200 0.000000 3 0
+ 0.422961 0.346689 0
+ 0.374425 0.239216 0
+ 0.298153 0.305087 0
+ F4 16755200 0.000000 4 0
+ -0.318954 0.402160 0
+ -0.221881 0.377891 0
+ -0.152543 0.214947 0
+ -0.260017 0.242683 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 2"" Fall-2b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -0.604946 0.573896 0
+ -0.519129 0.898389 0
+ -0.326043 0.981524 0
+ -0.108820 0.713348 0
+ 0.140583 0.946661 0
+ 0.440940 0.804528 0
+ 0.371215 -0.791119 0
+ 0.086948 -0.941297 0
+ -0.031049 -0.758938 0
+ -0.269726 -0.761619 0
+ -0.328724 -0.946661 0
+ -0.696125 -0.828663 0
+ -0.650535 -0.611441 0
+ -0.953574 -0.589987 0
+ -1.109116 -0.276221 0
+ -0.937484 -0.099225 0
+ -1.162751 0.000000 0
+ -1.103753 0.225268 0
+ -0.865076 0.311084 0
+ -1.036709 0.450535 0
+ -0.897257 0.702621 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -0.836709 0.450535 0
+ -0.697257 0.702621 0
+ -0.404946 0.573896 0
+ -0.319129 0.898389 0
+ -0.126043 0.981524 0
+ 0.091180 0.713348 0
+ 0.340583 0.946661 0
+ 0.640940 0.804528 0
+ 0.528306 0.506852 0
+ 0.887662 0.407627 0
+ 0.941297 0.069726 0
+ 0.753574 -0.104589 0
+ 0.930570 -0.356674 0
+ 0.796482 -0.581942 0
+ 0.579260 -0.501489 0
+ 0.571215 -0.791119 0
+ 0.286948 -0.941297 0
+ 0.168951 -0.758938 0
+ -0.069726 -0.761619 0
+ -0.128724 -0.946661 0
+ -0.496125 -0.828663 0
+ -0.450535 -0.611441 0
+ -0.753574 -0.589987 0
+ -0.909116 -0.276221 0
+ -0.737484 -0.099225 0
+ -0.962751 0.000000 0
+ -0.903753 0.225268 0
+ -0.665076 0.311084 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 0.134088 0.627531 0
+ 0.321811 0.815255 0
+ 0.501489 0.705302 0
+ 0.421036 0.391537 0
+ 0.780392 0.292312 0
+ 0.804528 0.136770 0
+ 0.579260 -0.018772 0
+ 0.775028 -0.313766 0
+ 0.689212 -0.415673 0
+ 0.474671 -0.410309 0
+ 0.463944 -0.657031 0
+ 0.278903 -0.758938 0
+ 0.126043 -0.579260 0
+ -0.104589 -0.611441 0
+ -0.158224 -0.734802 0
+ -0.353992 -0.683848 0
+ -0.356674 -0.469308 0
+ -0.520261 -0.463944 0
+ -0.627531 -0.249404 0
+ -0.437127 -0.069726 0
+ -0.616804 0.024136 0
+ -0.587305 0.152860 0
+ -0.300357 0.206495 0
+ -0.410309 0.402264 0
+ -0.230631 0.541715 0
+ -0.158224 0.699939 0
+ L3 12410368 0.000000 -0.170129 0.826342 0 -0.072912 0.753429 0
+ L3 12410368 0.000000 -0.680517 0.461779 0 -0.607604 0.388867 0
+ L3 12410368 0.000000 -0.510387 0.413171 0 -0.413171 0.340258 0
+ L3 12410368 0.000000 -0.826342 0.194433 0 -0.656212 0.194433 0
+ L3 12410368 0.000000 -0.558996 -0.072912 0 -0.680517 -0.048608 0
+ L3 12410368 0.000000 -0.753429 -0.364562 0 -0.631908 -0.388867 0
+ L3 12410368 0.000000 -0.364562 -0.729125 0 -0.413171 -0.802037 0
+ L3 12410368 0.000000 -0.024304 -0.656212 0 0.000000 -0.729125 0
+ L3 12410368 0.000000 0.315954 -0.777733 0 0.291650 -0.874950 0
+ L3 12410368 0.000000 0.729125 -0.461779 0 0.777733 -0.534692 0
+ L3 12410368 0.000000 -0.680517 0.607604 0 -0.631908 0.510387 0
+ L3 14915328 0.000000 -0.777733 0.461779 0 -0.704821 0.510387 0
+ L3 16755200 0.000000 0.850646 0.072912 0 0.753429 0.048608 0
+ L3 16755200 0.000000 -0.243042 0.777733 0 -0.267346 0.656212 0
+ L3 16755200 0.000000 -0.558996 0.510387 0 -0.388867 0.510387 0
+ L3 16755200 0.000000 -0.461779 0.267346 0 -0.607604 0.243042 0
+ L3 16755200 0.000000 -0.826342 0.048608 0 -0.680517 0.121521 0
+ L3 16755200 0.000000 -0.656212 -0.170129 0 -0.826342 -0.267346 0
+ L3 16755200 0.000000 -0.583300 -0.558996 0 -0.534692 -0.486083 0
+ L3 16755200 0.000000 -0.218737 -0.777733 0 -0.170129 -0.850646 0
+ L3 16755200 0.000000 0.121521 -0.656212 0 0.048608 -0.704821 0
+ L3 16755200 0.000000 0.461779 -0.729125 0 0.534692 -0.753429 0
+ L3 16755200 0.000000 0.850646 -0.340258 0 0.777733 -0.364562 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -0.145610 0.461097 0
+ -0.131742 0.381358 0
+ 0.017334 0.315487 0
+ 0.058937 0.412560 0
+ -0.017334 0.485365 0
+ F4 6815744 0.000000 4 0
+ 0.474965 -0.017334 0
+ 0.294686 -0.058937 0
+ 0.256550 0.031202 0
+ 0.502700 0.045070 0
+ F4 6815744 0.000000 4 0
+ 0.114408 -0.461097 0
+ 0.024268 -0.391759 0
+ 0.048537 -0.246149 0
+ 0.104007 -0.266951 0
+ F4 6815744 0.000000 5 0
+ -0.364024 -0.041603 0
+ -0.315487 -0.006934 0
+ -0.149076 0.034669 0
+ -0.058937 -0.058937 0
+ -0.266951 -0.090139 0
+ L3 6815744 0.000000 0.340258 0.461779 0 0.218737 0.413171 0
+ L3 6815744 0.000000 0.218737 0.631908 0 0.170129 0.534692 0
+ L3 6815744 0.000000 -0.097217 0.607604 0 -0.048608 0.534692 0
+ L3 6815744 0.000000 -0.218737 0.267346 0 -0.097217 0.315954 0
+ L3 6815744 0.000000 -0.291650 0.145825 0 -0.194433 0.072912 0
+ L3 6815744 0.000000 -0.558996 0.048608 0 -0.437475 0.000000 0
+ L3 6815744 0.000000 -0.388867 -0.121521 0 -0.486083 -0.218737 0
+ L3 6815744 0.000000 -0.097217 -0.437475 0 -0.121521 -0.583300 0
+ L3 6815744 0.000000 -0.072912 -0.267346 0 -0.048608 -0.364562 0
+ L3 6815744 0.000000 0.170129 -0.437475 0 0.218737 -0.583300 0
+ L3 6815744 0.000000 0.291650 -0.413171 0 0.437475 -0.486083 0
+ L3 6815744 0.000000 0.656212 -0.170129 0 0.534692 -0.194433 0
+ L3 6815744 0.000000 0.656212 -0.388867 0 0.534692 -0.340258 0
+ L3 6815744 0.000000 0.704821 -0.291650 0 0.583300 -0.267346 0
+ L3 6815744 0.000000 0.291650 -0.704821 0 0.267346 -0.607604 0
+ L3 6815744 0.000000 0.437475 -0.631908 0 0.364562 -0.558996 0
+ L3 6815744 0.000000 0.729125 0.121521 0 0.583300 0.145825 0
+ L3 6815744 0.000000 0.729125 0.243042 0 0.607604 0.218737 0
+ L3 6815744 0.000000 -0.243042 -0.680517 0 -0.218737 -0.583300 0
+ L3 6815744 0.000000 -0.534692 -0.340258 0 -0.461779 -0.291650 0
+ L3 6815744 0.000000 0.340258 0.777733 0 0.291650 0.656212 0
+ L3 6815744 0.000000 0.437475 0.704821 0 0.364562 0.631908 0
+ L3 11184640 0.000000 0.340258 -0.656212 0 0.291650 -0.510387 0
+ L3 14915328 0.000000 0.388867 0.583300 0 0.315954 0.534692 0
+ L3 14915328 0.000000 -0.437475 0.121521 0 -0.340258 0.072912 0
+ F4 16755200 0.000000 4 0
+ 0.374425 0.384825 0
+ 0.221881 0.339756 0
+ 0.204547 0.225348 0
+ 0.305087 0.266951 0
+ F4 16755200 0.000000 3 0
+ 0.422961 -0.346689 0
+ 0.374425 -0.239216 0
+ 0.298153 -0.305087 0
+ F4 16755200 0.000000 4 0
+ -0.318954 -0.402160 0
+ -0.221881 -0.377891 0
+ -0.152543 -0.214947 0
+ -0.260017 -0.242683 0
+ L3 16755200 0.000000 0.048608 0.534692 0 0.097217 0.461779 0
+ L3 16755200 0.000000 -0.291650 0.388867 0 -0.194433 0.388867 0
+ L3 16755200 0.000000 -0.437475 -0.340258 0 -0.364562 -0.243042 0
+ L3 16755200 0.000000 -0.267346 -0.534692 0 -0.194433 -0.437475 0
+ L3 16755200 0.000000 0.607604 0.315954 0 0.486083 0.243042 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 3"" Fall-3a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -0.907418 -0.860844 0
+ -0.778694 -1.347584 0
+ -0.489064 -1.472285 0
+ -0.163230 -1.070022 0
+ 0.210875 -1.419991 0
+ 0.661410 -1.206791 0
+ 0.556822 1.186678 0
+ 0.130422 1.411946 0
+ -0.046574 1.138406 0
+ -0.404589 1.142429 0
+ -0.493087 1.419991 0
+ -1.044188 1.242995 0
+ -0.975803 0.917161 0
+ -1.430361 0.884980 0
+ -1.663674 0.414332 0
+ -1.406225 0.148838 0
+ -1.744127 0.000000 0
+ -1.655629 -0.337902 0
+ -1.297614 -0.466626 0
+ -1.555063 -0.675803 0
+ -1.345886 -1.053931 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -1.255063 -0.675803 0
+ -1.045886 -1.053931 0
+ -0.607418 -0.860844 0
+ -0.478694 -1.347584 0
+ -0.189064 -1.472285 0
+ 0.136770 -1.070022 0
+ 0.510875 -1.419991 0
+ 0.961410 -1.206791 0
+ 0.792460 -0.760279 0
+ 1.331493 -0.611441 0
+ 1.411946 -0.104589 0
+ 1.130361 0.156883 0
+ 1.395855 0.535011 0
+ 1.194723 0.872912 0
+ 0.868890 0.752233 0
+ 0.856822 1.186678 0
+ 0.430422 1.411946 0
+ 0.253426 1.138406 0
+ -0.104589 1.142429 0
+ -0.193087 1.419991 0
+ -0.744188 1.242995 0
+ -0.675803 0.917161 0
+ -1.130361 0.884980 0
+ -1.363674 0.414332 0
+ -1.106225 0.148838 0
+ -1.444127 0.000000 0
+ -1.355629 -0.337902 0
+ -0.997614 -0.466626 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 0.201132 -0.941297 0
+ 0.482717 -1.222882 0
+ 0.752233 -1.057954 0
+ 0.631554 -0.587305 0
+ 1.170588 -0.438468 0
+ 1.206791 -0.205155 0
+ 0.868890 0.028158 0
+ 1.162542 0.470649 0
+ 1.033818 0.623509 0
+ 0.712007 0.615464 0
+ 0.695916 0.985546 0
+ 0.418354 1.138406 0
+ 0.189064 0.868890 0
+ -0.156883 0.917161 0
+ -0.237336 1.102203 0
+ -0.530988 1.025773 0
+ -0.535011 0.703962 0
+ -0.780392 0.695916 0
+ -0.941297 0.374105 0
+ -0.655690 0.104589 0
+ -0.925207 -0.036204 0
+ -0.880958 -0.229290 0
+ -0.450535 -0.309743 0
+ -0.615464 -0.603396 0
+ -0.345947 -0.812573 0
+ -0.237336 -1.049908 0
+ L3 12434688 0.000000 -0.364562 -1.166600 0 -0.401019 -0.984319 0
+ L3 12434688 0.000000 -0.765581 -0.619756 0 -0.619756 -0.510387 0
+ L3 12434688 0.000000 -1.239512 -0.072912 0 -1.020775 -0.182281 0
+ L3 12434688 0.000000 -0.838494 0.109369 0 -1.020775 0.072912 0
+ L3 12434688 0.000000 -1.130144 0.546844 0 -0.947862 0.583300 0
+ L3 12434688 0.000000 -0.546844 1.093687 0 -0.619756 1.203056 0
+ L3 12434688 0.000000 0.182281 0.984319 0 0.072912 1.057231 0
+ L3 12434688 0.000000 0.692669 1.093687 0 0.802037 1.130144 0
+ L3 12434688 0.000000 1.275969 0.510387 0 1.166600 0.546844 0
+ L3 12434688 0.000000 -1.020775 -0.911406 0 -0.947862 -0.765581 0
+ L3 12434688 0.000000 -1.166600 -0.692669 0 -1.057231 -0.765581 0
+ L3 16755200 0.000000 -0.255194 -1.239512 0 -0.109369 -1.130144 0
+ L3 16755200 0.000000 -0.838494 -0.765581 0 -0.583300 -0.765581 0
+ L3 16755200 0.000000 -1.020775 -0.692669 0 -0.911406 -0.583300 0
+ L3 16755200 0.000000 -0.692669 -0.401019 0 -0.911406 -0.364562 0
+ L3 16755200 0.000000 -1.239512 -0.291650 0 -0.984319 -0.291650 0
+ L3 16755200 0.000000 -0.984319 0.255194 0 -1.239512 0.401019 0
+ L3 16755200 0.000000 -0.874950 0.838494 0 -0.802037 0.729125 0
+ L3 16755200 0.000000 -0.328106 1.166600 0 -0.255194 1.275969 0
+ L3 16755200 0.000000 -0.036456 0.984319 0 0.000000 1.093687 0
+ L3 16755200 0.000000 0.473931 1.166600 0 0.437475 1.312425 0
+ L3 16755200 0.000000 1.093687 0.692669 0 1.166600 0.802037 0
+ L3 16755200 0.000000 1.275969 -0.109369 0 1.130144 -0.072912 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 0.561637 -0.577238 0
+ 0.332822 -0.509633 0
+ 0.306820 -0.338022 0
+ 0.457630 -0.400426 0
+ F4 6842368 0.000000 4 0
+ 0.712447 0.026002 0
+ 0.442029 0.088406 0
+ 0.384825 -0.046803 0
+ 0.754050 -0.067604 0
+ F4 6842368 0.000000 4 0
+ 0.171611 0.691645 0
+ 0.036402 0.587639 0
+ 0.072805 0.369224 0
+ 0.156010 0.400426 0
+ F4 6842368 0.000000 5 0
+ -0.546036 0.062404 0
+ -0.473231 0.010401 0
+ -0.223615 -0.052003 0
+ -0.088406 0.088406 0
+ -0.400426 0.135209 0
+ L3 6842368 0.000000 0.072912 -0.802037 0 0.145825 -0.692669 0
+ L3 6842368 0.000000 0.510387 -0.692669 0 0.328106 -0.619756 0
+ L3 6842368 0.000000 0.583300 -0.874950 0 0.473931 -0.802037 0
+ L3 6842368 0.000000 0.328106 -0.947862 0 0.255194 -0.802037 0
+ L3 6842368 0.000000 -0.145825 -0.911406 0 -0.072912 -0.802037 0
+ L3 6842368 0.000000 -0.437475 -0.583300 0 -0.291650 -0.583300 0
+ L3 6842368 0.000000 -0.328106 -0.401019 0 -0.145825 -0.473931 0
+ L3 6842368 0.000000 -0.437475 -0.218737 0 -0.291650 -0.109369 0
+ L3 6842368 0.000000 -0.656212 -0.182281 0 -0.510387 -0.109369 0
+ L3 6842368 0.000000 -0.838494 -0.072912 0 -0.656212 0.000000 0
+ L3 6842368 0.000000 -0.583300 0.182281 0 -0.729125 0.328106 0
+ L3 6842368 0.000000 -0.656212 0.510387 0 -0.546844 0.364562 0
+ L3 6842368 0.000000 -0.401019 0.802037 0 -0.291650 0.656212 0
+ L3 6842368 0.000000 -0.145825 0.656212 0 -0.182281 0.874950 0
+ L3 6842368 0.000000 -0.109369 0.401019 0 -0.072912 0.546844 0
+ L3 6842368 0.000000 0.255194 0.656212 0 0.328106 0.874950 0
+ L3 6842368 0.000000 0.437475 0.619756 0 0.656212 0.729125 0
+ L3 6842368 0.000000 0.984319 0.255194 0 0.802037 0.291650 0
+ L3 6842368 0.000000 0.984319 0.583300 0 0.802037 0.510387 0
+ L3 6842368 0.000000 1.057231 0.437475 0 0.874950 0.401019 0
+ L3 6842368 0.000000 0.437475 1.057231 0 0.401019 0.911406 0
+ L3 6842368 0.000000 0.656212 0.947862 0 0.546844 0.838494 0
+ L3 6842368 0.000000 0.510387 0.984319 0 0.437475 0.765581 0
+ L3 6842368 0.000000 1.093687 -0.182281 0 0.874950 -0.218737 0
+ L3 6842368 0.000000 0.911406 -0.473931 0 0.729125 -0.364562 0
+ L3 6842368 0.000000 1.093687 -0.364562 0 0.911406 -0.328106 0
+ L3 6842368 0.000000 -0.364562 1.020775 0 -0.328106 0.874950 0
+ L3 6842368 0.000000 -0.802037 0.510387 0 -0.692669 0.437475 0
+ L3 6842368 0.000000 0.510387 -1.166600 0 0.437475 -0.984319 0
+ L3 6842368 0.000000 0.656212 -1.057231 0 0.546844 -0.947862 0
+ F4 16755200 0.000000 5 0
+ -0.218414 -0.691645 0
+ -0.197613 -0.572038 0
+ 0.026002 -0.473231 0
+ 0.088406 -0.618841 0
+ -0.026002 -0.728048 0
+ F4 16755200 0.000000 3 0
+ 0.634442 0.520034 0
+ 0.561637 0.358824 0
+ 0.447229 0.457630 0
+ F4 16755200 0.000000 4 0
+ -0.478431 0.603240 0
+ -0.332822 0.566837 0
+ -0.228815 0.322421 0
+ -0.390026 0.364024 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 3"" Fall-3b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -0.907418 0.860844 0
+ -0.778694 1.347584 0
+ -0.489064 1.472285 0
+ -0.163230 1.070022 0
+ 0.210875 1.419991 0
+ 0.661410 1.206791 0
+ 0.556822 -1.186678 0
+ 0.130422 -1.411946 0
+ -0.046574 -1.138406 0
+ -0.404589 -1.142429 0
+ -0.493087 -1.419991 0
+ -1.044188 -1.242995 0
+ -0.975803 -0.917161 0
+ -1.430361 -0.884980 0
+ -1.663674 -0.414332 0
+ -1.406225 -0.148838 0
+ -1.744127 0.000000 0
+ -1.655629 0.337902 0
+ -1.297614 0.466626 0
+ -1.555063 0.675803 0
+ -1.345886 1.053931 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -1.255063 0.675803 0
+ -1.045886 1.053931 0
+ -0.607418 0.860844 0
+ -0.478694 1.347584 0
+ -0.189064 1.472285 0
+ 0.136770 1.070022 0
+ 0.510875 1.419991 0
+ 0.961410 1.206791 0
+ 0.792460 0.760279 0
+ 1.331493 0.611441 0
+ 1.411946 0.104589 0
+ 1.130361 -0.156883 0
+ 1.395855 -0.535011 0
+ 1.194723 -0.872912 0
+ 0.868890 -0.752233 0
+ 0.856822 -1.186678 0
+ 0.430422 -1.411946 0
+ 0.253426 -1.138406 0
+ -0.104589 -1.142429 0
+ -0.193087 -1.419991 0
+ -0.744188 -1.242995 0
+ -0.675803 -0.917161 0
+ -1.130361 -0.884980 0
+ -1.363674 -0.414332 0
+ -1.106225 -0.148838 0
+ -1.444127 0.000000 0
+ -1.355629 0.337902 0
+ -0.997614 0.466626 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 0.201132 0.941297 0
+ 0.482717 1.222882 0
+ 0.752233 1.057954 0
+ 0.631554 0.587305 0
+ 1.170588 0.438468 0
+ 1.206791 0.205155 0
+ 0.868890 -0.028158 0
+ 1.162542 -0.470649 0
+ 1.033818 -0.623509 0
+ 0.712007 -0.615464 0
+ 0.695916 -0.985546 0
+ 0.418354 -1.138406 0
+ 0.189064 -0.868890 0
+ -0.156883 -0.917161 0
+ -0.237336 -1.102203 0
+ -0.530988 -1.025773 0
+ -0.535011 -0.703962 0
+ -0.780392 -0.695916 0
+ -0.941297 -0.374105 0
+ -0.655690 -0.104589 0
+ -0.925207 0.036204 0
+ -0.880958 0.229290 0
+ -0.450535 0.309743 0
+ -0.615464 0.603396 0
+ -0.345947 0.812573 0
+ -0.237336 1.049908 0
+ L3 12410368 0.000000 -0.255194 1.239512 0 -0.109369 1.130144 0
+ L3 12410368 0.000000 -1.020775 0.692669 0 -0.911406 0.583300 0
+ L3 12410368 0.000000 -0.765581 0.619756 0 -0.619756 0.510387 0
+ L3 12410368 0.000000 -1.239512 0.291650 0 -0.984319 0.291650 0
+ L3 12410368 0.000000 -0.838494 -0.109369 0 -1.020775 -0.072912 0
+ L3 12410368 0.000000 -1.130144 -0.546844 0 -0.947862 -0.583300 0
+ L3 12410368 0.000000 -0.546844 -1.093687 0 -0.619756 -1.203056 0
+ L3 12410368 0.000000 -0.036456 -0.984319 0 0.000000 -1.093687 0
+ L3 12410368 0.000000 0.473931 -1.166600 0 0.437475 -1.312425 0
+ L3 12410368 0.000000 1.093687 -0.692669 0 1.166600 -0.802037 0
+ L3 12410368 0.000000 -1.020775 0.911406 0 -0.947862 0.765581 0
+ L3 14915328 0.000000 -1.166600 0.692669 0 -1.057231 0.765581 0
+ L3 16755200 0.000000 1.275969 0.109369 0 1.130144 0.072912 0
+ L3 16755200 0.000000 -0.364562 1.166600 0 -0.401019 0.984319 0
+ L3 16755200 0.000000 -0.838494 0.765581 0 -0.583300 0.765581 0
+ L3 16755200 0.000000 -0.692669 0.401019 0 -0.911406 0.364562 0
+ L3 16755200 0.000000 -1.239512 0.072912 0 -1.020775 0.182281 0
+ L3 16755200 0.000000 -0.984319 -0.255194 0 -1.239512 -0.401019 0
+ L3 16755200 0.000000 -0.874950 -0.838494 0 -0.802037 -0.729125 0
+ L3 16755200 0.000000 -0.328106 -1.166600 0 -0.255194 -1.275969 0
+ L3 16755200 0.000000 0.182281 -0.984319 0 0.072912 -1.057231 0
+ L3 16755200 0.000000 0.692669 -1.093687 0 0.802037 -1.130144 0
+ L3 16755200 0.000000 1.275969 -0.510387 0 1.166600 -0.546844 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -0.218414 0.691645 0
+ -0.197613 0.572038 0
+ 0.026002 0.473231 0
+ 0.088406 0.618841 0
+ -0.026002 0.728048 0
+ F4 6815744 0.000000 4 0
+ 0.712447 -0.026002 0
+ 0.442029 -0.088406 0
+ 0.384825 0.046803 0
+ 0.754050 0.067604 0
+ F4 6815744 0.000000 4 0
+ 0.171611 -0.691645 0
+ 0.036402 -0.587639 0
+ 0.072805 -0.369224 0
+ 0.156010 -0.400426 0
+ F4 6815744 0.000000 5 0
+ -0.546036 -0.062404 0
+ -0.473231 -0.010401 0
+ -0.223615 0.052003 0
+ -0.088406 -0.088406 0
+ -0.400426 -0.135209 0
+ L3 6815744 0.000000 0.510387 0.692669 0 0.328106 0.619756 0
+ L3 6815744 0.000000 0.328106 0.947862 0 0.255194 0.802037 0
+ L3 6815744 0.000000 -0.145825 0.911406 0 -0.072912 0.802037 0
+ L3 6815744 0.000000 -0.328106 0.401019 0 -0.145825 0.473931 0
+ L3 6815744 0.000000 -0.437475 0.218737 0 -0.291650 0.109369 0
+ L3 6815744 0.000000 -0.838494 0.072912 0 -0.656212 0.000000 0
+ L3 6815744 0.000000 -0.583300 -0.182281 0 -0.729125 -0.328106 0
+ L3 6815744 0.000000 -0.145825 -0.656212 0 -0.182281 -0.874950 0
+ L3 6815744 0.000000 -0.109369 -0.401019 0 -0.072912 -0.546844 0
+ L3 6815744 0.000000 0.255194 -0.656212 0 0.328106 -0.874950 0
+ L3 6815744 0.000000 0.437475 -0.619756 0 0.656212 -0.729125 0
+ L3 6815744 0.000000 0.984319 -0.255194 0 0.802037 -0.291650 0
+ L3 6815744 0.000000 0.984319 -0.583300 0 0.802037 -0.510387 0
+ L3 6815744 0.000000 1.057231 -0.437475 0 0.874950 -0.401019 0
+ L3 6815744 0.000000 0.437475 -1.057231 0 0.401019 -0.911406 0
+ L3 6815744 0.000000 0.656212 -0.947862 0 0.546844 -0.838494 0
+ L3 6815744 0.000000 1.093687 0.182281 0 0.874950 0.218737 0
+ L3 6815744 0.000000 1.093687 0.364562 0 0.911406 0.328106 0
+ L3 6815744 0.000000 -0.364562 -1.020775 0 -0.328106 -0.874950 0
+ L3 6815744 0.000000 -0.802037 -0.510387 0 -0.692669 -0.437475 0
+ L3 6815744 0.000000 0.510387 1.166600 0 0.437475 0.984319 0
+ L3 6815744 0.000000 0.656212 1.057231 0 0.546844 0.947862 0
+ L3 11184640 0.000000 0.510387 -0.984319 0 0.437475 -0.765581 0
+ L3 14915328 0.000000 0.583300 0.874950 0 0.473931 0.802037 0
+ L3 14915328 0.000000 -0.656212 0.182281 0 -0.510387 0.109369 0
+ F4 16755200 0.000000 4 0
+ 0.561637 0.577238 0
+ 0.332822 0.509633 0
+ 0.306820 0.338022 0
+ 0.457630 0.400426 0
+ F4 16755200 0.000000 3 0
+ 0.634442 -0.520034 0
+ 0.561637 -0.358824 0
+ 0.447229 -0.457630 0
+ F4 16755200 0.000000 4 0
+ -0.478431 -0.603240 0
+ -0.332822 -0.566837 0
+ -0.228815 -0.322421 0
+ -0.390026 -0.364024 0
+ L3 16755200 0.000000 0.072912 0.802037 0 0.145825 0.692669 0
+ L3 16755200 0.000000 -0.437475 0.583300 0 -0.291650 0.583300 0
+ L3 16755200 0.000000 -0.656212 -0.510387 0 -0.546844 -0.364562 0
+ L3 16755200 0.000000 -0.401019 -0.802037 0 -0.291650 -0.656212 0
+ L3 16755200 0.000000 0.911406 0.473931 0 0.729125 0.364562 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 4"" Fall-4a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -1.209891 -1.147793 0
+ -1.038259 -1.796778 0
+ -0.652085 -1.963047 0
+ -0.217640 -1.426696 0
+ 0.281167 -1.893322 0
+ 0.881881 -1.609055 0
+ 0.742429 1.582238 0
+ 0.173896 1.882594 0
+ -0.062098 1.517875 0
+ -0.539451 1.523239 0
+ -0.657449 1.893322 0
+ -1.392251 1.657327 0
+ -1.301071 1.222882 0
+ -1.907148 1.179974 0
+ -2.218232 0.552442 0
+ -1.874967 0.198450 0
+ -2.325503 0.000000 0
+ -2.207505 -0.450535 0
+ -1.730152 -0.622168 0
+ -2.073417 -0.901071 0
+ -1.794514 -1.405241 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -1.673417 -0.901071 0
+ -1.394514 -1.405241 0
+ -0.809891 -1.147793 0
+ -0.638259 -1.796778 0
+ -0.252085 -1.963047 0
+ 0.182360 -1.426696 0
+ 0.681167 -1.893322 0
+ 1.281881 -1.609055 0
+ 1.056613 -1.013705 0
+ 1.775324 -0.815255 0
+ 1.882594 -0.139451 0
+ 1.507148 0.209177 0
+ 1.861140 0.713348 0
+ 1.592965 1.163883 0
+ 1.158520 1.002978 0
+ 1.142429 1.582238 0
+ 0.573896 1.882594 0
+ 0.337902 1.517875 0
+ -0.139451 1.523239 0
+ -0.257449 1.893322 0
+ -0.992251 1.657327 0
+ -0.901071 1.222882 0
+ -1.507148 1.179974 0
+ -1.818232 0.552442 0
+ -1.474967 0.198450 0
+ -1.925503 0.000000 0
+ -1.807505 -0.450535 0
+ -1.330152 -0.622168 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 0.268176 -1.255063 0
+ 0.643622 -1.630509 0
+ 1.002978 -1.410605 0
+ 0.842072 -0.783073 0
+ 1.560783 -0.584623 0
+ 1.609055 -0.273539 0
+ 1.158520 0.037545 0
+ 1.550056 0.627531 0
+ 1.378424 0.831345 0
+ 0.949343 0.820618 0
+ 0.927888 1.314062 0
+ 0.557806 1.517875 0
+ 0.252085 1.158520 0
+ -0.209177 1.222882 0
+ -0.316448 1.469604 0
+ -0.707984 1.367697 0
+ -0.713348 0.938615 0
+ -1.040522 0.927888 0
+ -1.255063 0.498807 0
+ -0.874253 0.139451 0
+ -1.233609 -0.048272 0
+ -1.174610 -0.305720 0
+ -0.600714 -0.412991 0
+ -0.820618 -0.804528 0
+ -0.461262 -1.083430 0
+ -0.316448 -1.399878 0
+ L3 12434688 0.000000 -0.486083 -1.555467 0 -0.534692 -1.312425 0
+ L3 12434688 0.000000 -1.020775 -0.826342 0 -0.826342 -0.680517 0
+ L3 12434688 0.000000 -1.652683 -0.097217 0 -1.361033 -0.243042 0
+ L3 12434688 0.000000 -1.117992 0.145825 0 -1.361033 0.097217 0
+ L3 12434688 0.000000 -1.506858 0.729125 0 -1.263817 0.777733 0
+ L3 12434688 0.000000 -0.729125 1.458250 0 -0.826342 1.604075 0
+ L3 12434688 0.000000 0.243042 1.312425 0 0.097217 1.409642 0
+ L3 12434688 0.000000 0.923558 1.458250 0 1.069383 1.506858 0
+ L3 12434688 0.000000 1.701292 0.680517 0 1.555467 0.729125 0
+ L3 12434688 0.000000 -1.361033 -1.215208 0 -1.263817 -1.020775 0
+ L3 12434688 0.000000 -1.555467 -0.923558 0 -1.409642 -1.020775 0
+ L3 16755200 0.000000 -0.340258 -1.652683 0 -0.145825 -1.506858 0
+ L3 16755200 0.000000 -1.117992 -1.020775 0 -0.777733 -1.020775 0
+ L3 16755200 0.000000 -1.361033 -0.923558 0 -1.215208 -0.777733 0
+ L3 16755200 0.000000 -0.923558 -0.534692 0 -1.215208 -0.486083 0
+ L3 16755200 0.000000 -1.652683 -0.388867 0 -1.312425 -0.388867 0
+ L3 16755200 0.000000 -1.312425 0.340258 0 -1.652683 0.534692 0
+ L3 16755200 0.000000 -1.166600 1.117992 0 -1.069383 0.972167 0
+ L3 16755200 0.000000 -0.437475 1.555467 0 -0.340258 1.701292 0
+ L3 16755200 0.000000 -0.048608 1.312425 0 0.000000 1.458250 0
+ L3 16755200 0.000000 0.631908 1.555467 0 0.583300 1.749900 0
+ L3 16755200 0.000000 1.458250 0.923558 0 1.555467 1.069383 0
+ L3 16755200 0.000000 1.701292 -0.145825 0 1.506858 -0.097217 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 0.748849 -0.769651 0
+ 0.443762 -0.679511 0
+ 0.409094 -0.450696 0
+ 0.610173 -0.533902 0
+ F4 6842368 0.000000 4 0
+ 0.949929 0.034669 0
+ 0.589372 0.117874 0
+ 0.513100 -0.062404 0
+ 1.005399 -0.090139 0
+ F4 6842368 0.000000 4 0
+ 0.228815 0.922194 0
+ 0.048537 0.783518 0
+ 0.097073 0.492299 0
+ 0.208014 0.533902 0
+ F4 6842368 0.000000 5 0
+ -0.728048 0.083205 0
+ -0.630975 0.013868 0
+ -0.298153 -0.069338 0
+ -0.117874 0.117874 0
+ -0.533902 0.180279 0
+ L3 6842368 0.000000 0.097217 -1.069383 0 0.194433 -0.923558 0
+ L3 6842368 0.000000 0.680517 -0.923558 0 0.437475 -0.826342 0
+ L3 6842368 0.000000 0.777733 -1.166600 0 0.631908 -1.069383 0
+ L3 6842368 0.000000 0.437475 -1.263817 0 0.340258 -1.069383 0
+ L3 6842368 0.000000 -0.194433 -1.215208 0 -0.097217 -1.069383 0
+ L3 6842368 0.000000 -0.583300 -0.777733 0 -0.388867 -0.777733 0
+ L3 6842368 0.000000 -0.437475 -0.534692 0 -0.194433 -0.631908 0
+ L3 6842368 0.000000 -0.583300 -0.291650 0 -0.388867 -0.145825 0
+ L3 6842368 0.000000 -0.874950 -0.243042 0 -0.680517 -0.145825 0
+ L3 6842368 0.000000 -1.117992 -0.097217 0 -0.874950 0.000000 0
+ L3 6842368 0.000000 -0.777733 0.243042 0 -0.972167 0.437475 0
+ L3 6842368 0.000000 -0.874950 0.680517 0 -0.729125 0.486083 0
+ L3 6842368 0.000000 -0.534692 1.069383 0 -0.388867 0.874950 0
+ L3 6842368 0.000000 -0.194433 0.874950 0 -0.243042 1.166600 0
+ L3 6842368 0.000000 -0.145825 0.534692 0 -0.097217 0.729125 0
+ L3 6842368 0.000000 0.340258 0.874950 0 0.437475 1.166600 0
+ L3 6842368 0.000000 0.583300 0.826342 0 0.874950 0.972167 0
+ L3 6842368 0.000000 1.312425 0.340258 0 1.069383 0.388867 0
+ L3 6842368 0.000000 1.312425 0.777733 0 1.069383 0.680517 0
+ L3 6842368 0.000000 1.409642 0.583300 0 1.166600 0.534692 0
+ L3 6842368 0.000000 0.583300 1.409642 0 0.534692 1.215208 0
+ L3 6842368 0.000000 0.874950 1.263817 0 0.729125 1.117992 0
+ L3 6842368 0.000000 0.680517 1.312425 0 0.583300 1.020775 0
+ L3 6842368 0.000000 1.458250 -0.243042 0 1.166600 -0.291650 0
+ L3 6842368 0.000000 1.215208 -0.631908 0 0.972167 -0.486083 0
+ L3 6842368 0.000000 1.458250 -0.486083 0 1.215208 -0.437475 0
+ L3 6842368 0.000000 -0.486083 1.361033 0 -0.437475 1.166600 0
+ L3 6842368 0.000000 -1.069383 0.680517 0 -0.923558 0.583300 0
+ L3 6842368 0.000000 0.680517 -1.555467 0 0.583300 -1.312425 0
+ L3 6842368 0.000000 0.874950 -1.409642 0 0.729125 -1.263817 0
+ F4 16755200 0.000000 5 0
+ -0.291219 -0.922194 0
+ -0.263484 -0.762717 0
+ 0.034669 -0.630975 0
+ 0.117874 -0.825121 0
+ -0.034669 -0.970730 0
+ F4 16755200 0.000000 3 0
+ 0.845922 0.693379 0
+ 0.748849 0.478431 0
+ 0.596306 0.610173 0
+ F4 16755200 0.000000 4 0
+ -0.637909 0.804319 0
+ -0.443762 0.755783 0
+ -0.305087 0.429895 0
+ -0.520034 0.485365 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 4"" Fall-4b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -1.209891 1.147793 0
+ -1.038259 1.796778 0
+ -0.652085 1.963047 0
+ -0.217640 1.426696 0
+ 0.281167 1.893322 0
+ 0.881881 1.609055 0
+ 0.742429 -1.582238 0
+ 0.173896 -1.882594 0
+ -0.062098 -1.517875 0
+ -0.539451 -1.523239 0
+ -0.657449 -1.893322 0
+ -1.392251 -1.657327 0
+ -1.301071 -1.222882 0
+ -1.907148 -1.179974 0
+ -2.218232 -0.552442 0
+ -1.874967 -0.198450 0
+ -2.325503 0.000000 0
+ -2.207505 0.450535 0
+ -1.730152 0.622168 0
+ -2.073417 0.901071 0
+ -1.794514 1.405241 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -1.673417 0.901071 0
+ -1.394514 1.405241 0
+ -0.809891 1.147793 0
+ -0.638259 1.796778 0
+ -0.252085 1.963047 0
+ 0.182360 1.426696 0
+ 0.681167 1.893322 0
+ 1.281881 1.609055 0
+ 1.056613 1.013705 0
+ 1.775324 0.815255 0
+ 1.882594 0.139451 0
+ 1.507148 -0.209177 0
+ 1.861140 -0.713348 0
+ 1.592965 -1.163883 0
+ 1.158520 -1.002978 0
+ 1.142429 -1.582238 0
+ 0.573896 -1.882594 0
+ 0.337902 -1.517875 0
+ -0.139451 -1.523239 0
+ -0.257449 -1.893322 0
+ -0.992251 -1.657327 0
+ -0.901071 -1.222882 0
+ -1.507148 -1.179974 0
+ -1.818232 -0.552442 0
+ -1.474967 -0.198450 0
+ -1.925503 0.000000 0
+ -1.807505 0.450535 0
+ -1.330152 0.622168 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 0.268176 1.255063 0
+ 0.643622 1.630509 0
+ 1.002978 1.410605 0
+ 0.842072 0.783073 0
+ 1.560783 0.584623 0
+ 1.609055 0.273539 0
+ 1.158520 -0.037545 0
+ 1.550056 -0.627531 0
+ 1.378424 -0.831345 0
+ 0.949343 -0.820618 0
+ 0.927888 -1.314062 0
+ 0.557806 -1.517875 0
+ 0.252085 -1.158520 0
+ -0.209177 -1.222882 0
+ -0.316448 -1.469604 0
+ -0.707984 -1.367697 0
+ -0.713348 -0.938615 0
+ -1.040522 -0.927888 0
+ -1.255063 -0.498807 0
+ -0.874253 -0.139451 0
+ -1.233609 0.048272 0
+ -1.174610 0.305720 0
+ -0.600714 0.412991 0
+ -0.820618 0.804528 0
+ -0.461262 1.083430 0
+ -0.316448 1.399878 0
+ L3 12410368 0.000000 -0.340258 1.652683 0 -0.145825 1.506858 0
+ L3 12410368 0.000000 -1.361033 0.923558 0 -1.215208 0.777733 0
+ L3 12410368 0.000000 -1.020775 0.826342 0 -0.826342 0.680517 0
+ L3 12410368 0.000000 -1.652683 0.388867 0 -1.312425 0.388867 0
+ L3 12410368 0.000000 -1.117992 -0.145825 0 -1.361033 -0.097217 0
+ L3 12410368 0.000000 -1.506858 -0.729125 0 -1.263817 -0.777733 0
+ L3 12410368 0.000000 -0.729125 -1.458250 0 -0.826342 -1.604075 0
+ L3 12410368 0.000000 -0.048608 -1.312425 0 0.000000 -1.458250 0
+ L3 12410368 0.000000 0.631908 -1.555467 0 0.583300 -1.749900 0
+ L3 12410368 0.000000 1.458250 -0.923558 0 1.555467 -1.069383 0
+ L3 12410368 0.000000 -1.361033 1.215208 0 -1.263817 1.020775 0
+ L3 14915328 0.000000 -1.555467 0.923558 0 -1.409642 1.020775 0
+ L3 16755200 0.000000 1.701292 0.145825 0 1.506858 0.097217 0
+ L3 16755200 0.000000 -0.486083 1.555467 0 -0.534692 1.312425 0
+ L3 16755200 0.000000 -1.117992 1.020775 0 -0.777733 1.020775 0
+ L3 16755200 0.000000 -0.923558 0.534692 0 -1.215208 0.486083 0
+ L3 16755200 0.000000 -1.652683 0.097217 0 -1.361033 0.243042 0
+ L3 16755200 0.000000 -1.312425 -0.340258 0 -1.652683 -0.534692 0
+ L3 16755200 0.000000 -1.166600 -1.117992 0 -1.069383 -0.972167 0
+ L3 16755200 0.000000 -0.437475 -1.555467 0 -0.340258 -1.701292 0
+ L3 16755200 0.000000 0.243042 -1.312425 0 0.097217 -1.409642 0
+ L3 16755200 0.000000 0.923558 -1.458250 0 1.069383 -1.506858 0
+ L3 16755200 0.000000 1.701292 -0.680517 0 1.555467 -0.729125 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -0.291219 0.922194 0
+ -0.263484 0.762717 0
+ 0.034669 0.630975 0
+ 0.117874 0.825121 0
+ -0.034669 0.970730 0
+ F4 6815744 0.000000 4 0
+ 0.949929 -0.034669 0
+ 0.589372 -0.117874 0
+ 0.513100 0.062404 0
+ 1.005399 0.090139 0
+ F4 6815744 0.000000 4 0
+ 0.228815 -0.922194 0
+ 0.048537 -0.783518 0
+ 0.097073 -0.492299 0
+ 0.208014 -0.533902 0
+ F4 6815744 0.000000 5 0
+ -0.728048 -0.083205 0
+ -0.630975 -0.013868 0
+ -0.298153 0.069338 0
+ -0.117874 -0.117874 0
+ -0.533902 -0.180279 0
+ L3 6815744 0.000000 0.680517 0.923558 0 0.437475 0.826342 0
+ L3 6815744 0.000000 0.437475 1.263817 0 0.340258 1.069383 0
+ L3 6815744 0.000000 -0.194433 1.215208 0 -0.097217 1.069383 0
+ L3 6815744 0.000000 -0.437475 0.534692 0 -0.194433 0.631908 0
+ L3 6815744 0.000000 -0.583300 0.291650 0 -0.388867 0.145825 0
+ L3 6815744 0.000000 -1.117992 0.097217 0 -0.874950 0.000000 0
+ L3 6815744 0.000000 -0.777733 -0.243042 0 -0.972167 -0.437475 0
+ L3 6815744 0.000000 -0.194433 -0.874950 0 -0.243042 -1.166600 0
+ L3 6815744 0.000000 -0.145825 -0.534692 0 -0.097217 -0.729125 0
+ L3 6815744 0.000000 0.340258 -0.874950 0 0.437475 -1.166600 0
+ L3 6815744 0.000000 0.583300 -0.826342 0 0.874950 -0.972167 0
+ L3 6815744 0.000000 1.312425 -0.340258 0 1.069383 -0.388867 0
+ L3 6815744 0.000000 1.312425 -0.777733 0 1.069383 -0.680517 0
+ L3 6815744 0.000000 1.409642 -0.583300 0 1.166600 -0.534692 0
+ L3 6815744 0.000000 0.583300 -1.409642 0 0.534692 -1.215208 0
+ L3 6815744 0.000000 0.874950 -1.263817 0 0.729125 -1.117992 0
+ L3 6815744 0.000000 1.458250 0.243042 0 1.166600 0.291650 0
+ L3 6815744 0.000000 1.458250 0.486083 0 1.215208 0.437475 0
+ L3 6815744 0.000000 -0.486083 -1.361033 0 -0.437475 -1.166600 0
+ L3 6815744 0.000000 -1.069383 -0.680517 0 -0.923558 -0.583300 0
+ L3 6815744 0.000000 0.680517 1.555467 0 0.583300 1.312425 0
+ L3 6815744 0.000000 0.874950 1.409642 0 0.729125 1.263817 0
+ L3 11184640 0.000000 0.680517 -1.312425 0 0.583300 -1.020775 0
+ L3 14915328 0.000000 0.777733 1.166600 0 0.631908 1.069383 0
+ L3 14915328 0.000000 -0.874950 0.243042 0 -0.680517 0.145825 0
+ F4 16755200 0.000000 4 0
+ 0.748849 0.769651 0
+ 0.443762 0.679511 0
+ 0.409094 0.450696 0
+ 0.610173 0.533902 0
+ F4 16755200 0.000000 3 0
+ 0.845922 -0.693379 0
+ 0.748849 -0.478431 0
+ 0.596306 -0.610173 0
+ F4 16755200 0.000000 4 0
+ -0.637909 -0.804319 0
+ -0.443762 -0.755783 0
+ -0.305087 -0.429895 0
+ -0.520034 -0.485365 0
+ L3 16755200 0.000000 0.097217 1.069383 0 0.194433 0.923558 0
+ L3 16755200 0.000000 -0.583300 0.777733 0 -0.388867 0.777733 0
+ L3 16755200 0.000000 -0.874950 -0.680517 0 -0.729125 -0.486083 0
+ L3 16755200 0.000000 -0.534692 -1.069383 0 -0.388867 -0.874950 0
+ L3 16755200 0.000000 1.215208 0.631908 0 0.972167 0.486083 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 5"" Fall-5a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -1.512364 -1.434741 0
+ -1.297823 -2.245973 0
+ -0.815107 -2.453809 0
+ -0.272051 -1.783369 0
+ 0.351458 -2.366652 0
+ 1.102351 -2.011319 0
+ 0.928036 1.977797 0
+ 0.217370 2.353243 0
+ -0.077623 1.897344 0
+ -0.674314 1.904049 0
+ -0.821811 2.366652 0
+ -1.740313 2.071658 0
+ -1.626339 1.528602 0
+ -2.383935 1.474967 0
+ -2.772790 0.690553 0
+ -2.343709 0.248063 0
+ -2.906878 0.000000 0
+ -2.759382 -0.563169 0
+ -2.162690 -0.777710 0
+ -2.591772 -1.126339 0
+ -2.243143 -1.756552 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -2.091772 -1.126339 0
+ -1.743143 -1.756552 0
+ -1.012364 -1.434741 0
+ -0.797823 -2.245973 0
+ -0.315107 -2.453809 0
+ 0.227949 -1.783369 0
+ 0.851458 -2.366652 0
+ 1.602351 -2.011319 0
+ 1.320766 -1.267131 0
+ 2.219155 -1.019068 0
+ 2.353243 -0.174314 0
+ 1.883935 0.261471 0
+ 2.326426 0.891685 0
+ 1.991206 1.454854 0
+ 1.448150 1.253722 0
+ 1.428036 1.977797 0
+ 0.717370 2.353243 0
+ 0.422377 1.897344 0
+ -0.174314 1.904049 0
+ -0.321811 2.366652 0
+ -1.240313 2.071658 0
+ -1.126339 1.528602 0
+ -1.883935 1.474967 0
+ -2.272790 0.690553 0
+ -1.843709 0.248063 0
+ -2.406878 0.000000 0
+ -2.259382 -0.563169 0
+ -1.662690 -0.777710 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 0.335220 -1.568829 0
+ 0.804528 -2.038136 0
+ 1.253722 -1.763256 0
+ 1.052590 -0.978842 0
+ 1.950979 -0.730779 0
+ 2.011319 -0.341924 0
+ 1.448150 0.046931 0
+ 1.937571 0.784414 0
+ 1.723030 1.039181 0
+ 1.186678 1.025773 0
+ 1.159861 1.642577 0
+ 0.697257 1.897344 0
+ 0.315107 1.448150 0
+ -0.261471 1.528602 0
+ -0.395559 1.837005 0
+ -0.884980 1.709621 0
+ -0.891685 1.173269 0
+ -1.300653 1.159861 0
+ -1.568829 0.623509 0
+ -1.092817 0.174314 0
+ -1.542011 -0.060340 0
+ -1.468263 -0.382151 0
+ -0.750892 -0.516239 0
+ -1.025773 -1.005659 0
+ -0.576578 -1.354288 0
+ -0.395559 -1.749847 0
+ L3 12434688 0.000000 -0.607604 -1.944333 0 -0.668365 -1.640531 0
+ L3 12434688 0.000000 -1.275969 -1.032927 0 -1.032927 -0.850646 0
+ L3 12434688 0.000000 -2.065854 -0.121521 0 -1.701292 -0.303802 0
+ L3 12434688 0.000000 -1.397490 0.182281 0 -1.701292 0.121521 0
+ L3 12434688 0.000000 -1.883573 0.911406 0 -1.579771 0.972167 0
+ L3 12434688 0.000000 -0.911406 1.822812 0 -1.032927 2.005094 0
+ L3 12434688 0.000000 0.303802 1.640531 0 0.121521 1.762052 0
+ L3 12434688 0.000000 1.154448 1.822812 0 1.336729 1.883573 0
+ L3 12434688 0.000000 2.126615 0.850646 0 1.944333 0.911406 0
+ L3 12434688 0.000000 -1.701292 -1.519010 0 -1.579771 -1.275969 0
+ L3 12434688 0.000000 -1.944333 -1.154448 0 -1.762052 -1.275969 0
+ L3 16755200 0.000000 -0.425323 -2.065854 0 -0.182281 -1.883573 0
+ L3 16755200 0.000000 -1.397490 -1.275969 0 -0.972167 -1.275969 0
+ L3 16755200 0.000000 -1.701292 -1.154448 0 -1.519010 -0.972167 0
+ L3 16755200 0.000000 -1.154448 -0.668365 0 -1.519010 -0.607604 0
+ L3 16755200 0.000000 -2.065854 -0.486083 0 -1.640531 -0.486083 0
+ L3 16755200 0.000000 -1.640531 0.425323 0 -2.065854 0.668365 0
+ L3 16755200 0.000000 -1.458250 1.397490 0 -1.336729 1.215208 0
+ L3 16755200 0.000000 -0.546844 1.944333 0 -0.425323 2.126615 0
+ L3 16755200 0.000000 -0.060760 1.640531 0 0.000000 1.822812 0
+ L3 16755200 0.000000 0.789885 1.944333 0 0.729125 2.187375 0
+ L3 16755200 0.000000 1.822812 1.154448 0 1.944333 1.336729 0
+ L3 16755200 0.000000 2.126615 -0.182281 0 1.883573 -0.121521 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 0.936061 -0.962063 0
+ 0.554703 -0.849389 0
+ 0.511367 -0.563370 0
+ 0.762717 -0.667377 0
+ F4 6842368 0.000000 4 0
+ 1.187411 0.043336 0
+ 0.736715 0.147343 0
+ 0.641375 -0.078005 0
+ 1.256749 -0.112674 0
+ F4 6842368 0.000000 4 0
+ 0.286019 1.152742 0
+ 0.060671 0.979398 0
+ 0.121341 0.615374 0
+ 0.260017 0.667377 0
+ F4 6842368 0.000000 5 0
+ -0.910060 0.104007 0
+ -0.788718 0.017334 0
+ -0.372691 -0.086672 0
+ -0.147343 0.147343 0
+ -0.667377 0.225348 0
+ L3 6842368 0.000000 0.121521 -1.336729 0 0.243042 -1.154448 0
+ L3 6842368 0.000000 0.850646 -1.154448 0 0.546844 -1.032927 0
+ L3 6842368 0.000000 0.972167 -1.458250 0 0.789885 -1.336729 0
+ L3 6842368 0.000000 0.546844 -1.579771 0 0.425323 -1.336729 0
+ L3 6842368 0.000000 -0.243042 -1.519010 0 -0.121521 -1.336729 0
+ L3 6842368 0.000000 -0.729125 -0.972167 0 -0.486083 -0.972167 0
+ L3 6842368 0.000000 -0.546844 -0.668365 0 -0.243042 -0.789885 0
+ L3 6842368 0.000000 -0.729125 -0.364562 0 -0.486083 -0.182281 0
+ L3 6842368 0.000000 -1.093687 -0.303802 0 -0.850646 -0.182281 0
+ L3 6842368 0.000000 -1.397490 -0.121521 0 -1.093687 0.000000 0
+ L3 6842368 0.000000 -0.972167 0.303802 0 -1.215208 0.546844 0
+ L3 6842368 0.000000 -1.093687 0.850646 0 -0.911406 0.607604 0
+ L3 6842368 0.000000 -0.668365 1.336729 0 -0.486083 1.093687 0
+ L3 6842368 0.000000 -0.243042 1.093687 0 -0.303802 1.458250 0
+ L3 6842368 0.000000 -0.182281 0.668365 0 -0.121521 0.911406 0
+ L3 6842368 0.000000 0.425323 1.093687 0 0.546844 1.458250 0
+ L3 6842368 0.000000 0.729125 1.032927 0 1.093687 1.215208 0
+ L3 6842368 0.000000 1.640531 0.425323 0 1.336729 0.486083 0
+ L3 6842368 0.000000 1.640531 0.972167 0 1.336729 0.850646 0
+ L3 6842368 0.000000 1.762052 0.729125 0 1.458250 0.668365 0
+ L3 6842368 0.000000 0.729125 1.762052 0 0.668365 1.519010 0
+ L3 6842368 0.000000 1.093687 1.579771 0 0.911406 1.397490 0
+ L3 6842368 0.000000 0.850646 1.640531 0 0.729125 1.275969 0
+ L3 6842368 0.000000 1.822812 -0.303802 0 1.458250 -0.364562 0
+ L3 6842368 0.000000 1.519010 -0.789885 0 1.215208 -0.607604 0
+ L3 6842368 0.000000 1.822812 -0.607604 0 1.519010 -0.546844 0
+ L3 6842368 0.000000 -0.607604 1.701292 0 -0.546844 1.458250 0
+ L3 6842368 0.000000 -1.336729 0.850646 0 -1.154448 0.729125 0
+ L3 6842368 0.000000 0.850646 -1.944333 0 0.729125 -1.640531 0
+ L3 6842368 0.000000 1.093687 -1.762052 0 0.911406 -1.579771 0
+ F4 16755200 0.000000 5 0
+ -0.364024 -1.152742 0
+ -0.329355 -0.953396 0
+ 0.043336 -0.788718 0
+ 0.147343 -1.031401 0
+ -0.043336 -1.213413 0
+ F4 16755200 0.000000 3 0
+ 1.057403 0.866724 0
+ 0.936061 0.598039 0
+ 0.745382 0.762717 0
+ F4 16755200 0.000000 4 0
+ -0.797386 1.005399 0
+ -0.554703 0.944729 0
+ -0.381358 0.537369 0
+ -0.650043 0.606707 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 5"" Fall-5b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -1.512364 1.434741 0
+ -1.297823 2.245973 0
+ -0.815107 2.453809 0
+ -0.272051 1.783369 0
+ 0.351458 2.366652 0
+ 1.102351 2.011319 0
+ 0.928036 -1.977797 0
+ 0.217370 -2.353243 0
+ -0.077623 -1.897344 0
+ -0.674314 -1.904049 0
+ -0.821811 -2.366652 0
+ -1.740313 -2.071658 0
+ -1.626339 -1.528602 0
+ -2.383935 -1.474967 0
+ -2.772790 -0.690553 0
+ -2.343709 -0.248063 0
+ -2.906878 0.000000 0
+ -2.759382 0.563169 0
+ -2.162690 0.777710 0
+ -2.591772 1.126339 0
+ -2.243143 1.756552 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -2.091772 1.126339 0
+ -1.743143 1.756552 0
+ -1.012364 1.434741 0
+ -0.797823 2.245973 0
+ -0.315107 2.453809 0
+ 0.227949 1.783369 0
+ 0.851458 2.366652 0
+ 1.602351 2.011319 0
+ 1.320766 1.267131 0
+ 2.219155 1.019068 0
+ 2.353243 0.174314 0
+ 1.883935 -0.261471 0
+ 2.326426 -0.891685 0
+ 1.991206 -1.454854 0
+ 1.448150 -1.253722 0
+ 1.428036 -1.977797 0
+ 0.717370 -2.353243 0
+ 0.422377 -1.897344 0
+ -0.174314 -1.904049 0
+ -0.321811 -2.366652 0
+ -1.240313 -2.071658 0
+ -1.126339 -1.528602 0
+ -1.883935 -1.474967 0
+ -2.272790 -0.690553 0
+ -1.843709 -0.248063 0
+ -2.406878 0.000000 0
+ -2.259382 0.563169 0
+ -1.662690 0.777710 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 0.335220 1.568829 0
+ 0.804528 2.038136 0
+ 1.253722 1.763256 0
+ 1.052590 0.978842 0
+ 1.950979 0.730779 0
+ 2.011319 0.341924 0
+ 1.448150 -0.046931 0
+ 1.937571 -0.784414 0
+ 1.723030 -1.039181 0
+ 1.186678 -1.025773 0
+ 1.159861 -1.642577 0
+ 0.697257 -1.897344 0
+ 0.315107 -1.448150 0
+ -0.261471 -1.528602 0
+ -0.395559 -1.837005 0
+ -0.884980 -1.709621 0
+ -0.891685 -1.173269 0
+ -1.300653 -1.159861 0
+ -1.568829 -0.623509 0
+ -1.092817 -0.174314 0
+ -1.542011 0.060340 0
+ -1.468263 0.382151 0
+ -0.750892 0.516239 0
+ -1.025773 1.005659 0
+ -0.576578 1.354288 0
+ -0.395559 1.749847 0
+ L3 12410368 0.000000 -0.425323 2.065854 0 -0.182281 1.883573 0
+ L3 12410368 0.000000 -1.701292 1.154448 0 -1.519010 0.972167 0
+ L3 12410368 0.000000 -1.275969 1.032927 0 -1.032927 0.850646 0
+ L3 12410368 0.000000 -2.065854 0.486083 0 -1.640531 0.486083 0
+ L3 12410368 0.000000 -1.397490 -0.182281 0 -1.701292 -0.121521 0
+ L3 12410368 0.000000 -1.883573 -0.911406 0 -1.579771 -0.972167 0
+ L3 12410368 0.000000 -0.911406 -1.822812 0 -1.032927 -2.005094 0
+ L3 12410368 0.000000 -0.060760 -1.640531 0 0.000000 -1.822812 0
+ L3 12410368 0.000000 0.789885 -1.944333 0 0.729125 -2.187375 0
+ L3 12410368 0.000000 1.822812 -1.154448 0 1.944333 -1.336729 0
+ L3 12410368 0.000000 -1.701292 1.519010 0 -1.579771 1.275969 0
+ L3 14915328 0.000000 -1.944333 1.154448 0 -1.762052 1.275969 0
+ L3 16755200 0.000000 2.126615 0.182281 0 1.883573 0.121521 0
+ L3 16755200 0.000000 -0.607604 1.944333 0 -0.668365 1.640531 0
+ L3 16755200 0.000000 -1.397490 1.275969 0 -0.972167 1.275969 0
+ L3 16755200 0.000000 -1.154448 0.668365 0 -1.519010 0.607604 0
+ L3 16755200 0.000000 -2.065854 0.121521 0 -1.701292 0.303802 0
+ L3 16755200 0.000000 -1.640531 -0.425323 0 -2.065854 -0.668365 0
+ L3 16755200 0.000000 -1.458250 -1.397490 0 -1.336729 -1.215208 0
+ L3 16755200 0.000000 -0.546844 -1.944333 0 -0.425323 -2.126615 0
+ L3 16755200 0.000000 0.303802 -1.640531 0 0.121521 -1.762052 0
+ L3 16755200 0.000000 1.154448 -1.822812 0 1.336729 -1.883573 0
+ L3 16755200 0.000000 2.126615 -0.850646 0 1.944333 -0.911406 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -0.364024 1.152742 0
+ -0.329355 0.953396 0
+ 0.043336 0.788718 0
+ 0.147343 1.031401 0
+ -0.043336 1.213413 0
+ F4 6815744 0.000000 4 0
+ 1.187411 -0.043336 0
+ 0.736715 -0.147343 0
+ 0.641375 0.078005 0
+ 1.256749 0.112674 0
+ F4 6815744 0.000000 4 0
+ 0.286019 -1.152742 0
+ 0.060671 -0.979398 0
+ 0.121341 -0.615374 0
+ 0.260017 -0.667377 0
+ F4 6815744 0.000000 5 0
+ -0.910060 -0.104007 0
+ -0.788718 -0.017334 0
+ -0.372691 0.086672 0
+ -0.147343 -0.147343 0
+ -0.667377 -0.225348 0
+ L3 6815744 0.000000 0.850646 1.154448 0 0.546844 1.032927 0
+ L3 6815744 0.000000 0.546844 1.579771 0 0.425323 1.336729 0
+ L3 6815744 0.000000 -0.243042 1.519010 0 -0.121521 1.336729 0
+ L3 6815744 0.000000 -0.546844 0.668365 0 -0.243042 0.789885 0
+ L3 6815744 0.000000 -0.729125 0.364562 0 -0.486083 0.182281 0
+ L3 6815744 0.000000 -1.397490 0.121521 0 -1.093687 0.000000 0
+ L3 6815744 0.000000 -0.972167 -0.303802 0 -1.215208 -0.546844 0
+ L3 6815744 0.000000 -0.243042 -1.093687 0 -0.303802 -1.458250 0
+ L3 6815744 0.000000 -0.182281 -0.668365 0 -0.121521 -0.911406 0
+ L3 6815744 0.000000 0.425323 -1.093687 0 0.546844 -1.458250 0
+ L3 6815744 0.000000 0.729125 -1.032927 0 1.093687 -1.215208 0
+ L3 6815744 0.000000 1.640531 -0.425323 0 1.336729 -0.486083 0
+ L3 6815744 0.000000 1.640531 -0.972167 0 1.336729 -0.850646 0
+ L3 6815744 0.000000 1.762052 -0.729125 0 1.458250 -0.668365 0
+ L3 6815744 0.000000 0.729125 -1.762052 0 0.668365 -1.519010 0
+ L3 6815744 0.000000 1.093687 -1.579771 0 0.911406 -1.397490 0
+ L3 6815744 0.000000 1.822812 0.303802 0 1.458250 0.364562 0
+ L3 6815744 0.000000 1.822812 0.607604 0 1.519010 0.546844 0
+ L3 6815744 0.000000 -0.607604 -1.701292 0 -0.546844 -1.458250 0
+ L3 6815744 0.000000 -1.336729 -0.850646 0 -1.154448 -0.729125 0
+ L3 6815744 0.000000 0.850646 1.944333 0 0.729125 1.640531 0
+ L3 6815744 0.000000 1.093687 1.762052 0 0.911406 1.579771 0
+ L3 11184640 0.000000 0.850646 -1.640531 0 0.729125 -1.275969 0
+ L3 14915328 0.000000 0.972167 1.458250 0 0.789885 1.336729 0
+ L3 14915328 0.000000 -1.093687 0.303802 0 -0.850646 0.182281 0
+ F4 16755200 0.000000 4 0
+ 0.936061 0.962063 0
+ 0.554703 0.849389 0
+ 0.511367 0.563370 0
+ 0.762717 0.667377 0
+ F4 16755200 0.000000 3 0
+ 1.057403 -0.866724 0
+ 0.936061 -0.598039 0
+ 0.745382 -0.762717 0
+ F4 16755200 0.000000 4 0
+ -0.797386 -1.005399 0
+ -0.554703 -0.944729 0
+ -0.381358 -0.537369 0
+ -0.650043 -0.606707 0
+ L3 16755200 0.000000 0.121521 1.336729 0 0.243042 1.154448 0
+ L3 16755200 0.000000 -0.729125 0.972167 0 -0.486083 0.972167 0
+ L3 16755200 0.000000 -1.093687 -0.850646 0 -0.911406 -0.607604 0
+ L3 16755200 0.000000 -0.668365 -1.336729 0 -0.486083 -1.093687 0
+ L3 16755200 0.000000 1.519010 0.789885 0 1.215208 0.607604 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 6"" Fall-6a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -1.814837 -1.721689 0
+ -1.557388 -2.695167 0
+ -0.978128 -2.944571 0
+ -0.326461 -2.140043 0
+ 0.421750 -2.839982 0
+ 1.322821 -2.413583 0
+ 1.113644 2.373356 0
+ 0.260844 2.823892 0
+ -0.093148 2.276813 0
+ -0.809177 2.284858 0
+ -0.986173 2.839982 0
+ -2.088376 2.485990 0
+ -1.951606 1.834323 0
+ -2.860722 1.769961 0
+ -3.327348 0.828663 0
+ -2.812451 0.297675 0
+ -3.488254 0.000000 0
+ -3.311258 -0.675803 0
+ -2.595228 -0.933252 0
+ -3.110126 -1.351606 0
+ -2.691772 -2.107862 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -2.510126 -1.351606 0
+ -2.091772 -2.107862 0
+ -1.214837 -1.721689 0
+ -0.957388 -2.695167 0
+ -0.378128 -2.944571 0
+ 0.273539 -2.140043 0
+ 1.021750 -2.839982 0
+ 1.922821 -2.413583 0
+ 1.584919 -1.520557 0
+ 2.662986 -1.222882 0
+ 2.823892 -0.209177 0
+ 2.260722 0.313766 0
+ 2.791711 1.070022 0
+ 2.389447 1.745825 0
+ 1.737780 1.504467 0
+ 1.713644 2.373356 0
+ 0.860844 2.823892 0
+ 0.506852 2.276813 0
+ -0.209177 2.284858 0
+ -0.386173 2.839982 0
+ -1.488376 2.485990 0
+ -1.351606 1.834323 0
+ -2.260722 1.769961 0
+ -2.727348 0.828663 0
+ -2.212451 0.297675 0
+ -2.888254 0.000000 0
+ -2.711258 -0.675803 0
+ -1.995228 -0.933252 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 0.402264 -1.882594 0
+ 0.965433 -2.445764 0
+ 1.504467 -2.115907 0
+ 1.263108 -1.174610 0
+ 2.341175 -0.876935 0
+ 2.413583 -0.410309 0
+ 1.737780 0.056317 0
+ 2.325085 0.941297 0
+ 2.067636 1.247018 0
+ 1.424014 1.230927 0
+ 1.391833 1.971093 0
+ 0.836709 2.276813 0
+ 0.378128 1.737780 0
+ -0.313766 1.834323 0
+ -0.474671 2.204406 0
+ -1.061976 2.051545 0
+ -1.070022 1.407923 0
+ -1.560783 1.391833 0
+ -1.882594 0.748211 0
+ -1.311380 0.209177 0
+ -1.850413 -0.072407 0
+ -1.761915 -0.458581 0
+ -0.901071 -0.619486 0
+ -1.230927 -1.206791 0
+ -0.691894 -1.625146 0
+ -0.474671 -2.099817 0
+ L3 12434688 0.000000 -0.729125 -2.333200 0 -0.802037 -1.968637 0
+ L3 12434688 0.000000 -1.531162 -1.239512 0 -1.239512 -1.020775 0
+ L3 12434688 0.000000 -2.479025 -0.145825 0 -2.041550 -0.364562 0
+ L3 12434688 0.000000 -1.676987 0.218737 0 -2.041550 0.145825 0
+ L3 12434688 0.000000 -2.260287 1.093687 0 -1.895725 1.166600 0
+ L3 12434688 0.000000 -1.093687 2.187375 0 -1.239512 2.406112 0
+ L3 12434688 0.000000 0.364562 1.968637 0 0.145825 2.114462 0
+ L3 12434688 0.000000 1.385337 2.187375 0 1.604075 2.260287 0
+ L3 12434688 0.000000 2.551937 1.020775 0 2.333200 1.093687 0
+ L3 12434688 0.000000 -2.041550 -1.822812 0 -1.895725 -1.531162 0
+ L3 12434688 0.000000 -2.333200 -1.385337 0 -2.114462 -1.531162 0
+ L3 16755200 0.000000 -0.510387 -2.479025 0 -0.218737 -2.260287 0
+ L3 16755200 0.000000 -1.676987 -1.531162 0 -1.166600 -1.531162 0
+ L3 16755200 0.000000 -2.041550 -1.385337 0 -1.822812 -1.166600 0
+ L3 16755200 0.000000 -1.385337 -0.802037 0 -1.822812 -0.729125 0
+ L3 16755200 0.000000 -2.479025 -0.583300 0 -1.968637 -0.583300 0
+ L3 16755200 0.000000 -1.968637 0.510387 0 -2.479025 0.802037 0
+ L3 16755200 0.000000 -1.749900 1.676987 0 -1.604075 1.458250 0
+ L3 16755200 0.000000 -0.656212 2.333200 0 -0.510387 2.551937 0
+ L3 16755200 0.000000 -0.072912 1.968637 0 0.000000 2.187375 0
+ L3 16755200 0.000000 0.947862 2.333200 0 0.874950 2.624850 0
+ L3 16755200 0.000000 2.187375 1.385337 0 2.333200 1.604075 0
+ L3 16755200 0.000000 2.551937 -0.218737 0 2.260287 -0.145825 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 1.123274 -1.154476 0
+ 0.665644 -1.019267 0
+ 0.613640 -0.676044 0
+ 0.915260 -0.800853 0
+ F4 6842368 0.000000 4 0
+ 1.424894 0.052003 0
+ 0.884058 0.176812 0
+ 0.769651 -0.093606 0
+ 1.508099 -0.135209 0
+ F4 6842368 0.000000 4 0
+ 0.343223 1.383291 0
+ 0.072805 1.175277 0
+ 0.145610 0.738448 0
+ 0.312020 0.800853 0
+ F4 6842368 0.000000 5 0
+ -1.092072 0.124808 0
+ -0.946462 0.020801 0
+ -0.447229 -0.104007 0
+ -0.176812 0.176812 0
+ -0.800853 0.270418 0
+ L3 6842368 0.000000 0.145825 -1.604075 0 0.291650 -1.385337 0
+ L3 6842368 0.000000 1.020775 -1.385337 0 0.656212 -1.239512 0
+ L3 6842368 0.000000 1.166600 -1.749900 0 0.947862 -1.604075 0
+ L3 6842368 0.000000 0.656212 -1.895725 0 0.510387 -1.604075 0
+ L3 6842368 0.000000 -0.291650 -1.822812 0 -0.145825 -1.604075 0
+ L3 6842368 0.000000 -0.874950 -1.166600 0 -0.583300 -1.166600 0
+ L3 6842368 0.000000 -0.656212 -0.802037 0 -0.291650 -0.947862 0
+ L3 6842368 0.000000 -0.874950 -0.437475 0 -0.583300 -0.218737 0
+ L3 6842368 0.000000 -1.312425 -0.364562 0 -1.020775 -0.218737 0
+ L3 6842368 0.000000 -1.676987 -0.145825 0 -1.312425 0.000000 0
+ L3 6842368 0.000000 -1.166600 0.364562 0 -1.458250 0.656212 0
+ L3 6842368 0.000000 -1.312425 1.020775 0 -1.093687 0.729125 0
+ L3 6842368 0.000000 -0.802037 1.604075 0 -0.583300 1.312425 0
+ L3 6842368 0.000000 -0.291650 1.312425 0 -0.364562 1.749900 0
+ L3 6842368 0.000000 -0.218737 0.802037 0 -0.145825 1.093687 0
+ L3 6842368 0.000000 0.510387 1.312425 0 0.656212 1.749900 0
+ L3 6842368 0.000000 0.874950 1.239512 0 1.312425 1.458250 0
+ L3 6842368 0.000000 1.968637 0.510387 0 1.604075 0.583300 0
+ L3 6842368 0.000000 1.968637 1.166600 0 1.604075 1.020775 0
+ L3 6842368 0.000000 2.114462 0.874950 0 1.749900 0.802037 0
+ L3 6842368 0.000000 0.874950 2.114462 0 0.802037 1.822812 0
+ L3 6842368 0.000000 1.312425 1.895725 0 1.093687 1.676987 0
+ L3 6842368 0.000000 1.020775 1.968637 0 0.874950 1.531162 0
+ L3 6842368 0.000000 2.187375 -0.364562 0 1.749900 -0.437475 0
+ L3 6842368 0.000000 1.822812 -0.947862 0 1.458250 -0.729125 0
+ L3 6842368 0.000000 2.187375 -0.729125 0 1.822812 -0.656212 0
+ L3 6842368 0.000000 -0.729125 2.041550 0 -0.656212 1.749900 0
+ L3 6842368 0.000000 -1.604075 1.020775 0 -1.385337 0.874950 0
+ L3 6842368 0.000000 1.020775 -2.333200 0 0.874950 -1.968637 0
+ L3 6842368 0.000000 1.312425 -2.114462 0 1.093687 -1.895725 0
+ F4 16755200 0.000000 5 0
+ -0.436829 -1.383291 0
+ -0.395226 -1.144075 0
+ 0.052003 -0.946462 0
+ 0.176812 -1.237681 0
+ -0.052003 -1.456096 0
+ F4 16755200 0.000000 3 0
+ 1.268883 1.040068 0
+ 1.123274 0.717647 0
+ 0.894459 0.915260 0
+ F4 16755200 0.000000 4 0
+ -0.956863 1.206479 0
+ -0.665644 1.133674 0
+ -0.457630 0.644842 0
+ -0.780051 0.728048 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 6"" Fall-6b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -1.814837 1.721689 0
+ -1.557388 2.695167 0
+ -0.978128 2.944571 0
+ -0.326461 2.140043 0
+ 0.421750 2.839982 0
+ 1.322821 2.413583 0
+ 1.113644 -2.373356 0
+ 0.260844 -2.823892 0
+ -0.093148 -2.276813 0
+ -0.809177 -2.284858 0
+ -0.986173 -2.839982 0
+ -2.088376 -2.485990 0
+ -1.951606 -1.834323 0
+ -2.860722 -1.769961 0
+ -3.327348 -0.828663 0
+ -2.812451 -0.297675 0
+ -3.488254 0.000000 0
+ -3.311258 0.675803 0
+ -2.595228 0.933252 0
+ -3.110126 1.351606 0
+ -2.691772 2.107862 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -2.510126 1.351606 0
+ -2.091772 2.107862 0
+ -1.214837 1.721689 0
+ -0.957388 2.695167 0
+ -0.378128 2.944571 0
+ 0.273539 2.140043 0
+ 1.021750 2.839982 0
+ 1.922821 2.413583 0
+ 1.584919 1.520557 0
+ 2.662986 1.222882 0
+ 2.823892 0.209177 0
+ 2.260722 -0.313766 0
+ 2.791711 -1.070022 0
+ 2.389447 -1.745825 0
+ 1.737780 -1.504467 0
+ 1.713644 -2.373356 0
+ 0.860844 -2.823892 0
+ 0.506852 -2.276813 0
+ -0.209177 -2.284858 0
+ -0.386173 -2.839982 0
+ -1.488376 -2.485990 0
+ -1.351606 -1.834323 0
+ -2.260722 -1.769961 0
+ -2.727348 -0.828663 0
+ -2.212451 -0.297675 0
+ -2.888254 0.000000 0
+ -2.711258 0.675803 0
+ -1.995228 0.933252 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 0.402264 1.882594 0
+ 0.965433 2.445764 0
+ 1.504467 2.115907 0
+ 1.263108 1.174610 0
+ 2.341175 0.876935 0
+ 2.413583 0.410309 0
+ 1.737780 -0.056317 0
+ 2.325085 -0.941297 0
+ 2.067636 -1.247018 0
+ 1.424014 -1.230927 0
+ 1.391833 -1.971093 0
+ 0.836709 -2.276813 0
+ 0.378128 -1.737780 0
+ -0.313766 -1.834323 0
+ -0.474671 -2.204406 0
+ -1.061976 -2.051545 0
+ -1.070022 -1.407923 0
+ -1.560783 -1.391833 0
+ -1.882594 -0.748211 0
+ -1.311380 -0.209177 0
+ -1.850413 0.072407 0
+ -1.761915 0.458581 0
+ -0.901071 0.619486 0
+ -1.230927 1.206791 0
+ -0.691894 1.625146 0
+ -0.474671 2.099817 0
+ L3 12410368 0.000000 -0.510387 2.479025 0 -0.218737 2.260287 0
+ L3 12410368 0.000000 -2.041550 1.385337 0 -1.822812 1.166600 0
+ L3 12410368 0.000000 -1.531162 1.239512 0 -1.239512 1.020775 0
+ L3 12410368 0.000000 -2.479025 0.583300 0 -1.968637 0.583300 0
+ L3 12410368 0.000000 -1.676987 -0.218737 0 -2.041550 -0.145825 0
+ L3 12410368 0.000000 -2.260287 -1.093687 0 -1.895725 -1.166600 0
+ L3 12410368 0.000000 -1.093687 -2.187375 0 -1.239512 -2.406112 0
+ L3 12410368 0.000000 -0.072912 -1.968637 0 0.000000 -2.187375 0
+ L3 12410368 0.000000 0.947862 -2.333200 0 0.874950 -2.624850 0
+ L3 12410368 0.000000 2.187375 -1.385337 0 2.333200 -1.604075 0
+ L3 12410368 0.000000 -2.041550 1.822812 0 -1.895725 1.531162 0
+ L3 14915328 0.000000 -2.333200 1.385337 0 -2.114462 1.531162 0
+ L3 16755200 0.000000 2.551937 0.218737 0 2.260287 0.145825 0
+ L3 16755200 0.000000 -0.729125 2.333200 0 -0.802037 1.968637 0
+ L3 16755200 0.000000 -1.676987 1.531162 0 -1.166600 1.531162 0
+ L3 16755200 0.000000 -1.385337 0.802037 0 -1.822812 0.729125 0
+ L3 16755200 0.000000 -2.479025 0.145825 0 -2.041550 0.364562 0
+ L3 16755200 0.000000 -1.968637 -0.510387 0 -2.479025 -0.802037 0
+ L3 16755200 0.000000 -1.749900 -1.676987 0 -1.604075 -1.458250 0
+ L3 16755200 0.000000 -0.656212 -2.333200 0 -0.510387 -2.551937 0
+ L3 16755200 0.000000 0.364562 -1.968637 0 0.145825 -2.114462 0
+ L3 16755200 0.000000 1.385337 -2.187375 0 1.604075 -2.260287 0
+ L3 16755200 0.000000 2.551937 -1.020775 0 2.333200 -1.093687 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -0.436829 1.383291 0
+ -0.395226 1.144075 0
+ 0.052003 0.946462 0
+ 0.176812 1.237681 0
+ -0.052003 1.456096 0
+ F4 6815744 0.000000 4 0
+ 1.424894 -0.052003 0
+ 0.884058 -0.176812 0
+ 0.769651 0.093606 0
+ 1.508099 0.135209 0
+ F4 6815744 0.000000 4 0
+ 0.343223 -1.383291 0
+ 0.072805 -1.175277 0
+ 0.145610 -0.738448 0
+ 0.312020 -0.800853 0
+ F4 6815744 0.000000 5 0
+ -1.092072 -0.124808 0
+ -0.946462 -0.020801 0
+ -0.447229 0.104007 0
+ -0.176812 -0.176812 0
+ -0.800853 -0.270418 0
+ L3 6815744 0.000000 1.020775 1.385337 0 0.656212 1.239512 0
+ L3 6815744 0.000000 0.656212 1.895725 0 0.510387 1.604075 0
+ L3 6815744 0.000000 -0.291650 1.822812 0 -0.145825 1.604075 0
+ L3 6815744 0.000000 -0.656212 0.802037 0 -0.291650 0.947862 0
+ L3 6815744 0.000000 -0.874950 0.437475 0 -0.583300 0.218737 0
+ L3 6815744 0.000000 -1.676987 0.145825 0 -1.312425 0.000000 0
+ L3 6815744 0.000000 -1.166600 -0.364562 0 -1.458250 -0.656212 0
+ L3 6815744 0.000000 -0.291650 -1.312425 0 -0.364562 -1.749900 0
+ L3 6815744 0.000000 -0.218737 -0.802037 0 -0.145825 -1.093687 0
+ L3 6815744 0.000000 0.510387 -1.312425 0 0.656212 -1.749900 0
+ L3 6815744 0.000000 0.874950 -1.239512 0 1.312425 -1.458250 0
+ L3 6815744 0.000000 1.968637 -0.510387 0 1.604075 -0.583300 0
+ L3 6815744 0.000000 1.968637 -1.166600 0 1.604075 -1.020775 0
+ L3 6815744 0.000000 2.114462 -0.874950 0 1.749900 -0.802037 0
+ L3 6815744 0.000000 0.874950 -2.114462 0 0.802037 -1.822812 0
+ L3 6815744 0.000000 1.312425 -1.895725 0 1.093687 -1.676987 0
+ L3 6815744 0.000000 2.187375 0.364562 0 1.749900 0.437475 0
+ L3 6815744 0.000000 2.187375 0.729125 0 1.822812 0.656212 0
+ L3 6815744 0.000000 -0.729125 -2.041550 0 -0.656212 -1.749900 0
+ L3 6815744 0.000000 -1.604075 -1.020775 0 -1.385337 -0.874950 0
+ L3 6815744 0.000000 1.020775 2.333200 0 0.874950 1.968637 0
+ L3 6815744 0.000000 1.312425 2.114462 0 1.093687 1.895725 0
+ L3 11184640 0.000000 1.020775 -1.968637 0 0.874950 -1.531162 0
+ L3 14915328 0.000000 1.166600 1.749900 0 0.947862 1.604075 0
+ L3 14915328 0.000000 -1.312425 0.364562 0 -1.020775 0.218737 0
+ F4 16755200 0.000000 4 0
+ 1.123274 1.154476 0
+ 0.665644 1.019267 0
+ 0.613640 0.676044 0
+ 0.915260 0.800853 0
+ F4 16755200 0.000000 3 0
+ 1.268883 -1.040068 0
+ 1.123274 -0.717647 0
+ 0.894459 -0.915260 0
+ F4 16755200 0.000000 4 0
+ -0.956863 -1.206479 0
+ -0.665644 -1.133674 0
+ -0.457630 -0.644842 0
+ -0.780051 -0.728048 0
+ L3 16755200 0.000000 0.145825 1.604075 0 0.291650 1.385337 0
+ L3 16755200 0.000000 -0.874950 1.166600 0 -0.583300 1.166600 0
+ L3 16755200 0.000000 -1.312425 -1.020775 0 -1.093687 -0.729125 0
+ L3 16755200 0.000000 -0.802037 -1.604075 0 -0.583300 -1.312425 0
+ L3 16755200 0.000000 1.822812 0.947862 0 1.458250 0.729125 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 7"" Fall-7a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -2.117309 -2.008637 0
+ -1.816952 -3.144362 0
+ -1.141149 -3.435333 0
+ -0.380871 -2.496717 0
+ 0.492042 -3.313313 0
+ 1.543291 -2.815846 0
+ 1.299251 2.768916 0
+ 0.304319 3.294540 0
+ -0.108672 2.656282 0
+ -0.944040 2.665668 0
+ -1.150535 3.313313 0
+ -2.436439 2.900322 0
+ -2.276874 2.140043 0
+ -3.337510 2.064954 0
+ -3.881907 0.966774 0
+ -3.281193 0.347288 0
+ -4.069630 0.000000 0
+ -3.863134 -0.788437 0
+ -3.027766 -1.088794 0
+ -3.628480 -1.576874 0
+ -3.140400 -2.459173 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -2.928480 -1.576874 0
+ -2.440400 -2.459173 0
+ -1.417309 -2.008637 0
+ -1.116952 -3.144362 0
+ -0.441149 -3.435333 0
+ 0.319129 -2.496717 0
+ 1.192042 -3.313313 0
+ 2.243291 -2.815846 0
+ 1.849073 -1.773983 0
+ 3.106817 -1.426696 0
+ 3.294540 -0.244040 0
+ 2.637510 0.366060 0
+ 3.256996 1.248359 0
+ 2.787688 2.036796 0
+ 2.027409 1.755211 0
+ 1.999251 2.768916 0
+ 1.004319 3.294540 0
+ 0.591328 2.656282 0
+ -0.244040 2.665668 0
+ -0.450535 3.313313 0
+ -1.736439 2.900322 0
+ -1.576874 2.140043 0
+ -2.637510 2.064954 0
+ -3.181907 0.966774 0
+ -2.581193 0.347288 0
+ -3.369630 0.000000 0
+ -3.163134 -0.788437 0
+ -2.327766 -1.088794 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 0.469308 -2.196360 0
+ 1.126339 -2.853391 0
+ 1.755211 -2.468559 0
+ 1.473626 -1.370379 0
+ 2.731371 -1.023091 0
+ 2.815846 -0.478694 0
+ 2.027409 0.065703 0
+ 2.712599 1.098180 0
+ 2.412242 1.454854 0
+ 1.661349 1.436082 0
+ 1.623805 2.299608 0
+ 0.976160 2.656282 0
+ 0.441149 2.027409 0
+ -0.366060 2.140043 0
+ -0.553783 2.571806 0
+ -1.238972 2.393469 0
+ -1.248359 1.642577 0
+ -1.820914 1.623805 0
+ -2.196360 0.872912 0
+ -1.529943 0.244040 0
+ -2.158816 -0.084475 0
+ -2.055568 -0.535011 0
+ -1.051249 -0.722734 0
+ -1.436082 -1.407923 0
+ -0.807209 -1.896003 0
+ -0.553783 -2.449786 0
+ L3 12434688 0.000000 -0.850646 -2.722067 0 -0.935710 -2.296744 0
+ L3 12434688 0.000000 -1.786356 -1.446098 0 -1.446098 -1.190904 0
+ L3 12434688 0.000000 -2.892196 -0.170129 0 -2.381808 -0.425323 0
+ L3 12434688 0.000000 -1.956485 0.255194 0 -2.381808 0.170129 0
+ L3 12434688 0.000000 -2.637002 1.275969 0 -2.211679 1.361033 0
+ L3 12434688 0.000000 -1.275969 2.551937 0 -1.446098 2.807131 0
+ L3 12434688 0.000000 0.425323 2.296744 0 0.170129 2.466873 0
+ L3 12434688 0.000000 1.616227 2.551937 0 1.871421 2.637002 0
+ L3 12434688 0.000000 2.977260 1.190904 0 2.722067 1.275969 0
+ L3 12434688 0.000000 -2.381808 -2.126615 0 -2.211679 -1.786356 0
+ L3 12434688 0.000000 -2.722067 -1.616227 0 -2.466873 -1.786356 0
+ L3 16755200 0.000000 -0.595452 -2.892196 0 -0.255194 -2.637002 0
+ L3 16755200 0.000000 -1.956485 -1.786356 0 -1.361033 -1.786356 0
+ L3 16755200 0.000000 -2.381808 -1.616227 0 -2.126615 -1.361033 0
+ L3 16755200 0.000000 -1.616227 -0.935710 0 -2.126615 -0.850646 0
+ L3 16755200 0.000000 -2.892196 -0.680517 0 -2.296744 -0.680517 0
+ L3 16755200 0.000000 -2.296744 0.595452 0 -2.892196 0.935710 0
+ L3 16755200 0.000000 -2.041550 1.956485 0 -1.871421 1.701292 0
+ L3 16755200 0.000000 -0.765581 2.722067 0 -0.595452 2.977260 0
+ L3 16755200 0.000000 -0.085065 2.296744 0 0.000000 2.551937 0
+ L3 16755200 0.000000 1.105840 2.722067 0 1.020775 3.062325 0
+ L3 16755200 0.000000 2.551937 1.616227 0 2.722067 1.871421 0
+ L3 16755200 0.000000 2.977260 -0.255194 0 2.637002 -0.170129 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 1.310486 -1.346888 0
+ 0.776584 -1.189145 0
+ 0.715914 -0.788718 0
+ 1.067803 -0.934328 0
+ F4 6842368 0.000000 4 0
+ 1.662376 0.060671 0
+ 1.031401 0.206280 0
+ 0.897926 -0.109207 0
+ 1.759449 -0.157744 0
+ F4 6842368 0.000000 4 0
+ 0.400426 1.613839 0
+ 0.084939 1.371157 0
+ 0.169878 0.861523 0
+ 0.364024 0.934328 0
+ F4 6842368 0.000000 5 0
+ -1.274084 0.145610 0
+ -1.104206 0.024268 0
+ -0.521768 -0.121341 0
+ -0.206280 0.206280 0
+ -0.934328 0.315487 0
+ L3 6842368 0.000000 0.170129 -1.871421 0 0.340258 -1.616227 0
+ L3 6842368 0.000000 1.190904 -1.616227 0 0.765581 -1.446098 0
+ L3 6842368 0.000000 1.361033 -2.041550 0 1.105840 -1.871421 0
+ L3 6842368 0.000000 0.765581 -2.211679 0 0.595452 -1.871421 0
+ L3 6842368 0.000000 -0.340258 -2.126615 0 -0.170129 -1.871421 0
+ L3 6842368 0.000000 -1.020775 -1.361033 0 -0.680517 -1.361033 0
+ L3 6842368 0.000000 -0.765581 -0.935710 0 -0.340258 -1.105840 0
+ L3 6842368 0.000000 -1.020775 -0.510387 0 -0.680517 -0.255194 0
+ L3 6842368 0.000000 -1.531162 -0.425323 0 -1.190904 -0.255194 0
+ L3 6842368 0.000000 -1.956485 -0.170129 0 -1.531162 0.000000 0
+ L3 6842368 0.000000 -1.361033 0.425323 0 -1.701292 0.765581 0
+ L3 6842368 0.000000 -1.531162 1.190904 0 -1.275969 0.850646 0
+ L3 6842368 0.000000 -0.935710 1.871421 0 -0.680517 1.531162 0
+ L3 6842368 0.000000 -0.340258 1.531162 0 -0.425323 2.041550 0
+ L3 6842368 0.000000 -0.255194 0.935710 0 -0.170129 1.275969 0
+ L3 6842368 0.000000 0.595452 1.531162 0 0.765581 2.041550 0
+ L3 6842368 0.000000 1.020775 1.446098 0 1.531162 1.701292 0
+ L3 6842368 0.000000 2.296744 0.595452 0 1.871421 0.680517 0
+ L3 6842368 0.000000 2.296744 1.361033 0 1.871421 1.190904 0
+ L3 6842368 0.000000 2.466873 1.020775 0 2.041550 0.935710 0
+ L3 6842368 0.000000 1.020775 2.466873 0 0.935710 2.126615 0
+ L3 6842368 0.000000 1.531162 2.211679 0 1.275969 1.956485 0
+ L3 6842368 0.000000 1.190904 2.296744 0 1.020775 1.786356 0
+ L3 6842368 0.000000 2.551937 -0.425323 0 2.041550 -0.510387 0
+ L3 6842368 0.000000 2.126615 -1.105840 0 1.701292 -0.850646 0
+ L3 6842368 0.000000 2.551937 -0.850646 0 2.126615 -0.765581 0
+ L3 6842368 0.000000 -0.850646 2.381808 0 -0.765581 2.041550 0
+ L3 6842368 0.000000 -1.871421 1.190904 0 -1.616227 1.020775 0
+ L3 6842368 0.000000 1.190904 -2.722067 0 1.020775 -2.296744 0
+ L3 6842368 0.000000 1.531162 -2.466873 0 1.275969 -2.211679 0
+ F4 16755200 0.000000 5 0
+ -0.509633 -1.613839 0
+ -0.461097 -1.334754 0
+ 0.060671 -1.104206 0
+ 0.206280 -1.443961 0
+ -0.060671 -1.698778 0
+ F4 16755200 0.000000 3 0
+ 1.480364 1.213413 0
+ 1.310486 0.837255 0
+ 1.043535 1.067803 0
+ F4 16755200 0.000000 4 0
+ -1.116340 1.407559 0
+ -0.776584 1.322620 0
+ -0.533902 0.752316 0
+ -0.910060 0.849389 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 7"" Fall-7b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -2.117309 2.008637 0
+ -1.816952 3.144362 0
+ -1.141149 3.435333 0
+ -0.380871 2.496717 0
+ 0.492042 3.313313 0
+ 1.543291 2.815846 0
+ 1.299251 -2.768916 0
+ 0.304319 -3.294540 0
+ -0.108672 -2.656282 0
+ -0.944040 -2.665668 0
+ -1.150535 -3.313313 0
+ -2.436439 -2.900322 0
+ -2.276874 -2.140043 0
+ -3.337510 -2.064954 0
+ -3.881907 -0.966774 0
+ -3.281193 -0.347288 0
+ -4.069630 0.000000 0
+ -3.863134 0.788437 0
+ -3.027766 1.088794 0
+ -3.628480 1.576874 0
+ -3.140400 2.459173 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -2.928480 1.576874 0
+ -2.440400 2.459173 0
+ -1.417309 2.008637 0
+ -1.116952 3.144362 0
+ -0.441149 3.435333 0
+ 0.319129 2.496717 0
+ 1.192042 3.313313 0
+ 2.243291 2.815846 0
+ 1.849073 1.773983 0
+ 3.106817 1.426696 0
+ 3.294540 0.244040 0
+ 2.637510 -0.366060 0
+ 3.256996 -1.248359 0
+ 2.787688 -2.036796 0
+ 2.027409 -1.755211 0
+ 1.999251 -2.768916 0
+ 1.004319 -3.294540 0
+ 0.591328 -2.656282 0
+ -0.244040 -2.665668 0
+ -0.450535 -3.313313 0
+ -1.736439 -2.900322 0
+ -1.576874 -2.140043 0
+ -2.637510 -2.064954 0
+ -3.181907 -0.966774 0
+ -2.581193 -0.347288 0
+ -3.369630 0.000000 0
+ -3.163134 0.788437 0
+ -2.327766 1.088794 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 0.469308 2.196360 0
+ 1.126339 2.853391 0
+ 1.755211 2.468559 0
+ 1.473626 1.370379 0
+ 2.731371 1.023091 0
+ 2.815846 0.478694 0
+ 2.027409 -0.065703 0
+ 2.712599 -1.098180 0
+ 2.412242 -1.454854 0
+ 1.661349 -1.436082 0
+ 1.623805 -2.299608 0
+ 0.976160 -2.656282 0
+ 0.441149 -2.027409 0
+ -0.366060 -2.140043 0
+ -0.553783 -2.571806 0
+ -1.238972 -2.393469 0
+ -1.248359 -1.642577 0
+ -1.820914 -1.623805 0
+ -2.196360 -0.872912 0
+ -1.529943 -0.244040 0
+ -2.158816 0.084475 0
+ -2.055568 0.535011 0
+ -1.051249 0.722734 0
+ -1.436082 1.407923 0
+ -0.807209 1.896003 0
+ -0.553783 2.449786 0
+ L3 12410368 0.000000 -0.595452 2.892196 0 -0.255194 2.637002 0
+ L3 12410368 0.000000 -2.381808 1.616227 0 -2.126615 1.361033 0
+ L3 12410368 0.000000 -1.786356 1.446098 0 -1.446098 1.190904 0
+ L3 12410368 0.000000 -2.892196 0.680517 0 -2.296744 0.680517 0
+ L3 12410368 0.000000 -1.956485 -0.255194 0 -2.381808 -0.170129 0
+ L3 12410368 0.000000 -2.637002 -1.275969 0 -2.211679 -1.361033 0
+ L3 12410368 0.000000 -1.275969 -2.551937 0 -1.446098 -2.807131 0
+ L3 12410368 0.000000 -0.085065 -2.296744 0 0.000000 -2.551937 0
+ L3 12410368 0.000000 1.105840 -2.722067 0 1.020775 -3.062325 0
+ L3 12410368 0.000000 2.551937 -1.616227 0 2.722067 -1.871421 0
+ L3 12410368 0.000000 -2.381808 2.126615 0 -2.211679 1.786356 0
+ L3 14915328 0.000000 -2.722067 1.616227 0 -2.466873 1.786356 0
+ L3 16755200 0.000000 2.977260 0.255194 0 2.637002 0.170129 0
+ L3 16755200 0.000000 -0.850646 2.722067 0 -0.935710 2.296744 0
+ L3 16755200 0.000000 -1.956485 1.786356 0 -1.361033 1.786356 0
+ L3 16755200 0.000000 -1.616227 0.935710 0 -2.126615 0.850646 0
+ L3 16755200 0.000000 -2.892196 0.170129 0 -2.381808 0.425323 0
+ L3 16755200 0.000000 -2.296744 -0.595452 0 -2.892196 -0.935710 0
+ L3 16755200 0.000000 -2.041550 -1.956485 0 -1.871421 -1.701292 0
+ L3 16755200 0.000000 -0.765581 -2.722067 0 -0.595452 -2.977260 0
+ L3 16755200 0.000000 0.425323 -2.296744 0 0.170129 -2.466873 0
+ L3 16755200 0.000000 1.616227 -2.551937 0 1.871421 -2.637002 0
+ L3 16755200 0.000000 2.977260 -1.190904 0 2.722067 -1.275969 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -0.509633 1.613839 0
+ -0.461097 1.334754 0
+ 0.060671 1.104206 0
+ 0.206280 1.443961 0
+ -0.060671 1.698778 0
+ F4 6815744 0.000000 4 0
+ 1.662376 -0.060671 0
+ 1.031401 -0.206280 0
+ 0.897926 0.109207 0
+ 1.759449 0.157744 0
+ F4 6815744 0.000000 4 0
+ 0.400426 -1.613839 0
+ 0.084939 -1.371157 0
+ 0.169878 -0.861523 0
+ 0.364024 -0.934328 0
+ F4 6815744 0.000000 5 0
+ -1.274084 -0.145610 0
+ -1.104206 -0.024268 0
+ -0.521768 0.121341 0
+ -0.206280 -0.206280 0
+ -0.934328 -0.315487 0
+ L3 6815744 0.000000 1.190904 1.616227 0 0.765581 1.446098 0
+ L3 6815744 0.000000 0.765581 2.211679 0 0.595452 1.871421 0
+ L3 6815744 0.000000 -0.340258 2.126615 0 -0.170129 1.871421 0
+ L3 6815744 0.000000 -0.765581 0.935710 0 -0.340258 1.105840 0
+ L3 6815744 0.000000 -1.020775 0.510387 0 -0.680517 0.255194 0
+ L3 6815744 0.000000 -1.956485 0.170129 0 -1.531162 0.000000 0
+ L3 6815744 0.000000 -1.361033 -0.425323 0 -1.701292 -0.765581 0
+ L3 6815744 0.000000 -0.340258 -1.531162 0 -0.425323 -2.041550 0
+ L3 6815744 0.000000 -0.255194 -0.935710 0 -0.170129 -1.275969 0
+ L3 6815744 0.000000 0.595452 -1.531162 0 0.765581 -2.041550 0
+ L3 6815744 0.000000 1.020775 -1.446098 0 1.531162 -1.701292 0
+ L3 6815744 0.000000 2.296744 -0.595452 0 1.871421 -0.680517 0
+ L3 6815744 0.000000 2.296744 -1.361033 0 1.871421 -1.190904 0
+ L3 6815744 0.000000 2.466873 -1.020775 0 2.041550 -0.935710 0
+ L3 6815744 0.000000 1.020775 -2.466873 0 0.935710 -2.126615 0
+ L3 6815744 0.000000 1.531162 -2.211679 0 1.275969 -1.956485 0
+ L3 6815744 0.000000 2.551937 0.425323 0 2.041550 0.510387 0
+ L3 6815744 0.000000 2.551937 0.850646 0 2.126615 0.765581 0
+ L3 6815744 0.000000 -0.850646 -2.381808 0 -0.765581 -2.041550 0
+ L3 6815744 0.000000 -1.871421 -1.190904 0 -1.616227 -1.020775 0
+ L3 6815744 0.000000 1.190904 2.722067 0 1.020775 2.296744 0
+ L3 6815744 0.000000 1.531162 2.466873 0 1.275969 2.211679 0
+ L3 11184640 0.000000 1.190904 -2.296744 0 1.020775 -1.786356 0
+ L3 14915328 0.000000 1.361033 2.041550 0 1.105840 1.871421 0
+ L3 14915328 0.000000 -1.531162 0.425323 0 -1.190904 0.255194 0
+ F4 16755200 0.000000 4 0
+ 1.310486 1.346888 0
+ 0.776584 1.189145 0
+ 0.715914 0.788718 0
+ 1.067803 0.934328 0
+ F4 16755200 0.000000 3 0
+ 1.480364 -1.213413 0
+ 1.310486 -0.837255 0
+ 1.043535 -1.067803 0
+ F4 16755200 0.000000 4 0
+ -1.116340 -1.407559 0
+ -0.776584 -1.322620 0
+ -0.533902 -0.752316 0
+ -0.910060 -0.849389 0
+ L3 16755200 0.000000 0.170129 1.871421 0 0.340258 1.616227 0
+ L3 16755200 0.000000 -1.020775 1.361033 0 -0.680517 1.361033 0
+ L3 16755200 0.000000 -1.531162 -1.190904 0 -1.275969 -0.850646 0
+ L3 16755200 0.000000 -0.935710 -1.871421 0 -0.680517 -1.531162 0
+ L3 16755200 0.000000 2.126615 1.105840 0 1.701292 0.850646 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 8"" Fall-8a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -2.419782 -2.295585 0
+ -2.076517 -3.593556 0
+ -1.304171 -3.926095 0
+ -0.435281 -2.853391 0
+ 0.562333 -3.786643 0
+ 1.763761 -3.218110 0
+ 1.484858 3.164475 0
+ 0.347793 3.765189 0
+ -0.124197 3.035751 0
+ -1.078903 3.046478 0
+ -1.314898 3.786643 0
+ -2.784501 3.314654 0
+ -2.602142 2.445764 0
+ -3.814297 2.359948 0
+ -4.436465 1.104885 0
+ -3.749934 0.396900 0
+ -4.651005 0.000000 0
+ -4.415011 -0.901071 0
+ -3.460304 -1.244336 0
+ -4.146835 -1.802142 0
+ -3.589029 -2.810483 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -3.346835 -1.802142 0
+ -2.789029 -2.810483 0
+ -1.619782 -2.295585 0
+ -1.276517 -3.593556 0
+ -0.504171 -3.926095 0
+ 0.364719 -2.853391 0
+ 1.362333 -3.786643 0
+ 2.563761 -3.218110 0
+ 2.113226 -2.027409 0
+ 3.550648 -1.630509 0
+ 3.765189 -0.278903 0
+ 3.014297 0.418354 0
+ 3.722281 1.426696 0
+ 3.185929 2.327766 0
+ 2.317039 2.005955 0
+ 2.284858 3.164475 0
+ 1.147793 3.765189 0
+ 0.675803 3.035751 0
+ -0.278903 3.046478 0
+ -0.514898 3.786643 0
+ -1.984501 3.314654 0
+ -1.802142 2.445764 0
+ -3.014297 2.359948 0
+ -3.636465 1.104885 0
+ -2.949934 0.396900 0
+ -3.851005 0.000000 0
+ -3.615011 -0.901071 0
+ -2.660304 -1.244336 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 0.536352 -2.510126 0
+ 1.287244 -3.261018 0
+ 2.005955 -2.821210 0
+ 1.684144 -1.566147 0
+ 3.121567 -1.169247 0
+ 3.218110 -0.547079 0
+ 2.317039 0.075089 0
+ 3.100113 1.255063 0
+ 2.756848 1.662690 0
+ 1.898685 1.641236 0
+ 1.855777 2.628123 0
+ 1.115612 3.035751 0
+ 0.504171 2.317039 0
+ -0.418354 2.445764 0
+ -0.632895 2.939207 0
+ -1.415969 2.735394 0
+ -1.426696 1.877231 0
+ -2.081045 1.855777 0
+ -2.510126 0.997614 0
+ -1.748507 0.278903 0
+ -2.467218 -0.096543 0
+ -2.349220 -0.611441 0
+ -1.201428 -0.825982 0
+ -1.641236 -1.609055 0
+ -0.922525 -2.166861 0
+ -0.632895 -2.799756 0
+ L3 12434688 0.000000 -0.972167 -3.110933 0 -1.069383 -2.624850 0
+ L3 12434688 0.000000 -2.041550 -1.652683 0 -1.652683 -1.361033 0
+ L3 12434688 0.000000 -3.305367 -0.194433 0 -2.722067 -0.486083 0
+ L3 12434688 0.000000 -2.235983 0.291650 0 -2.722067 0.194433 0
+ L3 12434688 0.000000 -3.013717 1.458250 0 -2.527633 1.555467 0
+ L3 12434688 0.000000 -1.458250 2.916500 0 -1.652683 3.208150 0
+ L3 12434688 0.000000 0.486083 2.624850 0 0.194433 2.819283 0
+ L3 12434688 0.000000 1.847117 2.916500 0 2.138767 3.013717 0
+ L3 12434688 0.000000 3.402583 1.361033 0 3.110933 1.458250 0
+ L3 12434688 0.000000 -2.722067 -2.430417 0 -2.527633 -2.041550 0
+ L3 12434688 0.000000 -3.110933 -1.847117 0 -2.819283 -2.041550 0
+ L3 16755200 0.000000 -0.680517 -3.305367 0 -0.291650 -3.013717 0
+ L3 16755200 0.000000 -2.235983 -2.041550 0 -1.555467 -2.041550 0
+ L3 16755200 0.000000 -2.722067 -1.847117 0 -2.430417 -1.555467 0
+ L3 16755200 0.000000 -1.847117 -1.069383 0 -2.430417 -0.972167 0
+ L3 16755200 0.000000 -3.305367 -0.777733 0 -2.624850 -0.777733 0
+ L3 16755200 0.000000 -2.624850 0.680517 0 -3.305367 1.069383 0
+ L3 16755200 0.000000 -2.333200 2.235983 0 -2.138767 1.944333 0
+ L3 16755200 0.000000 -0.874950 3.110933 0 -0.680517 3.402583 0
+ L3 16755200 0.000000 -0.097217 2.624850 0 0.000000 2.916500 0
+ L3 16755200 0.000000 1.263817 3.110933 0 1.166600 3.499800 0
+ L3 16755200 0.000000 2.916500 1.847117 0 3.110933 2.138767 0
+ L3 16755200 0.000000 3.402583 -0.291650 0 3.013717 -0.194433 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 1.497698 -1.539301 0
+ 0.887525 -1.359023 0
+ 0.818187 -0.901393 0
+ 1.220347 -1.067803 0
+ F4 6842368 0.000000 4 0
+ 1.899858 0.069338 0
+ 1.178744 0.235749 0
+ 1.026201 -0.124808 0
+ 2.010799 -0.180279 0
+ F4 6842368 0.000000 4 0
+ 0.457630 1.844388 0
+ 0.097073 1.567036 0
+ 0.194146 0.984598 0
+ 0.416027 1.067803 0
+ F4 6842368 0.000000 5 0
+ -1.456096 0.166411 0
+ -1.261950 0.027735 0
+ -0.596306 -0.138676 0
+ -0.235749 0.235749 0
+ -1.067803 0.360557 0
+ L3 6842368 0.000000 0.194433 -2.138767 0 0.388867 -1.847117 0
+ L3 6842368 0.000000 1.361033 -1.847117 0 0.874950 -1.652683 0
+ L3 6842368 0.000000 1.555467 -2.333200 0 1.263817 -2.138767 0
+ L3 6842368 0.000000 0.874950 -2.527633 0 0.680517 -2.138767 0
+ L3 6842368 0.000000 -0.388867 -2.430417 0 -0.194433 -2.138767 0
+ L3 6842368 0.000000 -1.166600 -1.555467 0 -0.777733 -1.555467 0
+ L3 6842368 0.000000 -0.874950 -1.069383 0 -0.388867 -1.263817 0
+ L3 6842368 0.000000 -1.166600 -0.583300 0 -0.777733 -0.291650 0
+ L3 6842368 0.000000 -1.749900 -0.486083 0 -1.361033 -0.291650 0
+ L3 6842368 0.000000 -2.235983 -0.194433 0 -1.749900 0.000000 0
+ L3 6842368 0.000000 -1.555467 0.486083 0 -1.944333 0.874950 0
+ L3 6842368 0.000000 -1.749900 1.361033 0 -1.458250 0.972167 0
+ L3 6842368 0.000000 -1.069383 2.138767 0 -0.777733 1.749900 0
+ L3 6842368 0.000000 -0.388867 1.749900 0 -0.486083 2.333200 0
+ L3 6842368 0.000000 -0.291650 1.069383 0 -0.194433 1.458250 0
+ L3 6842368 0.000000 0.680517 1.749900 0 0.874950 2.333200 0
+ L3 6842368 0.000000 1.166600 1.652683 0 1.749900 1.944333 0
+ L3 6842368 0.000000 2.624850 0.680517 0 2.138767 0.777733 0
+ L3 6842368 0.000000 2.624850 1.555467 0 2.138767 1.361033 0
+ L3 6842368 0.000000 2.819283 1.166600 0 2.333200 1.069383 0
+ L3 6842368 0.000000 1.166600 2.819283 0 1.069383 2.430417 0
+ L3 6842368 0.000000 1.749900 2.527633 0 1.458250 2.235983 0
+ L3 6842368 0.000000 1.361033 2.624850 0 1.166600 2.041550 0
+ L3 6842368 0.000000 2.916500 -0.486083 0 2.333200 -0.583300 0
+ L3 6842368 0.000000 2.430417 -1.263817 0 1.944333 -0.972167 0
+ L3 6842368 0.000000 2.916500 -0.972167 0 2.430417 -0.874950 0
+ L3 6842368 0.000000 -0.972167 2.722067 0 -0.874950 2.333200 0
+ L3 6842368 0.000000 -2.138767 1.361033 0 -1.847117 1.166600 0
+ L3 6842368 0.000000 1.361033 -3.110933 0 1.166600 -2.624850 0
+ L3 6842368 0.000000 1.749900 -2.819283 0 1.458250 -2.527633 0
+ F4 16755200 0.000000 5 0
+ -0.582438 -1.844388 0
+ -0.526968 -1.525433 0
+ 0.069338 -1.261950 0
+ 0.235749 -1.650242 0
+ -0.069338 -1.941461 0
+ F4 16755200 0.000000 3 0
+ 1.691844 1.386758 0
+ 1.497698 0.956863 0
+ 1.192612 1.220347 0
+ F4 16755200 0.000000 4 0
+ -1.275817 1.608639 0
+ -0.887525 1.511566 0
+ -0.610173 0.859790 0
+ -1.040068 0.970730 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 8"" Fall-8b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -2.419782 2.295585 0
+ -2.076517 3.593556 0
+ -1.304171 3.926095 0
+ -0.435281 2.853391 0
+ 0.562333 3.786643 0
+ 1.763761 3.218110 0
+ 1.484858 -3.164475 0
+ 0.347793 -3.765189 0
+ -0.124197 -3.035751 0
+ -1.078903 -3.046478 0
+ -1.314898 -3.786643 0
+ -2.784501 -3.314654 0
+ -2.602142 -2.445764 0
+ -3.814297 -2.359948 0
+ -4.436465 -1.104885 0
+ -3.749934 -0.396900 0
+ -4.651005 0.000000 0
+ -4.415011 0.901071 0
+ -3.460304 1.244336 0
+ -4.146835 1.802142 0
+ -3.589029 2.810483 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -3.346835 1.802142 0
+ -2.789029 2.810483 0
+ -1.619782 2.295585 0
+ -1.276517 3.593556 0
+ -0.504171 3.926095 0
+ 0.364719 2.853391 0
+ 1.362333 3.786643 0
+ 2.563761 3.218110 0
+ 2.113226 2.027409 0
+ 3.550648 1.630509 0
+ 3.765189 0.278903 0
+ 3.014297 -0.418354 0
+ 3.722281 -1.426696 0
+ 3.185929 -2.327766 0
+ 2.317039 -2.005955 0
+ 2.284858 -3.164475 0
+ 1.147793 -3.765189 0
+ 0.675803 -3.035751 0
+ -0.278903 -3.046478 0
+ -0.514898 -3.786643 0
+ -1.984501 -3.314654 0
+ -1.802142 -2.445764 0
+ -3.014297 -2.359948 0
+ -3.636465 -1.104885 0
+ -2.949934 -0.396900 0
+ -3.851005 0.000000 0
+ -3.615011 0.901071 0
+ -2.660304 1.244336 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 0.536352 2.510126 0
+ 1.287244 3.261018 0
+ 2.005955 2.821210 0
+ 1.684144 1.566147 0
+ 3.121567 1.169247 0
+ 3.218110 0.547079 0
+ 2.317039 -0.075089 0
+ 3.100113 -1.255063 0
+ 2.756848 -1.662690 0
+ 1.898685 -1.641236 0
+ 1.855777 -2.628123 0
+ 1.115612 -3.035751 0
+ 0.504171 -2.317039 0
+ -0.418354 -2.445764 0
+ -0.632895 -2.939207 0
+ -1.415969 -2.735394 0
+ -1.426696 -1.877231 0
+ -2.081045 -1.855777 0
+ -2.510126 -0.997614 0
+ -1.748507 -0.278903 0
+ -2.467218 0.096543 0
+ -2.349220 0.611441 0
+ -1.201428 0.825982 0
+ -1.641236 1.609055 0
+ -0.922525 2.166861 0
+ -0.632895 2.799756 0
+ L3 12410368 0.000000 -0.680517 3.305367 0 -0.291650 3.013717 0
+ L3 12410368 0.000000 -2.722067 1.847117 0 -2.430417 1.555467 0
+ L3 12410368 0.000000 -2.041550 1.652683 0 -1.652683 1.361033 0
+ L3 12410368 0.000000 -3.305367 0.777733 0 -2.624850 0.777733 0
+ L3 12410368 0.000000 -2.235983 -0.291650 0 -2.722067 -0.194433 0
+ L3 12410368 0.000000 -3.013717 -1.458250 0 -2.527633 -1.555467 0
+ L3 12410368 0.000000 -1.458250 -2.916500 0 -1.652683 -3.208150 0
+ L3 12410368 0.000000 -0.097217 -2.624850 0 0.000000 -2.916500 0
+ L3 12410368 0.000000 1.263817 -3.110933 0 1.166600 -3.499800 0
+ L3 12410368 0.000000 2.916500 -1.847117 0 3.110933 -2.138767 0
+ L3 12410368 0.000000 -2.722067 2.430417 0 -2.527633 2.041550 0
+ L3 14915328 0.000000 -3.110933 1.847117 0 -2.819283 2.041550 0
+ L3 16755200 0.000000 3.402583 0.291650 0 3.013717 0.194433 0
+ L3 16755200 0.000000 -0.972167 3.110933 0 -1.069383 2.624850 0
+ L3 16755200 0.000000 -2.235983 2.041550 0 -1.555467 2.041550 0
+ L3 16755200 0.000000 -1.847117 1.069383 0 -2.430417 0.972167 0
+ L3 16755200 0.000000 -3.305367 0.194433 0 -2.722067 0.486083 0
+ L3 16755200 0.000000 -2.624850 -0.680517 0 -3.305367 -1.069383 0
+ L3 16755200 0.000000 -2.333200 -2.235983 0 -2.138767 -1.944333 0
+ L3 16755200 0.000000 -0.874950 -3.110933 0 -0.680517 -3.402583 0
+ L3 16755200 0.000000 0.486083 -2.624850 0 0.194433 -2.819283 0
+ L3 16755200 0.000000 1.847117 -2.916500 0 2.138767 -3.013717 0
+ L3 16755200 0.000000 3.402583 -1.361033 0 3.110933 -1.458250 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -0.582438 1.844388 0
+ -0.526968 1.525433 0
+ 0.069338 1.261950 0
+ 0.235749 1.650242 0
+ -0.069338 1.941461 0
+ F4 6815744 0.000000 4 0
+ 1.899858 -0.069338 0
+ 1.178744 -0.235749 0
+ 1.026201 0.124808 0
+ 2.010799 0.180279 0
+ F4 6815744 0.000000 4 0
+ 0.457630 -1.844388 0
+ 0.097073 -1.567036 0
+ 0.194146 -0.984598 0
+ 0.416027 -1.067803 0
+ F4 6815744 0.000000 5 0
+ -1.456096 -0.166411 0
+ -1.261950 -0.027735 0
+ -0.596306 0.138676 0
+ -0.235749 -0.235749 0
+ -1.067803 -0.360557 0
+ L3 6815744 0.000000 1.361033 1.847117 0 0.874950 1.652683 0
+ L3 6815744 0.000000 0.874950 2.527633 0 0.680517 2.138767 0
+ L3 6815744 0.000000 -0.388867 2.430417 0 -0.194433 2.138767 0
+ L3 6815744 0.000000 -0.874950 1.069383 0 -0.388867 1.263817 0
+ L3 6815744 0.000000 -1.166600 0.583300 0 -0.777733 0.291650 0
+ L3 6815744 0.000000 -2.235983 0.194433 0 -1.749900 0.000000 0
+ L3 6815744 0.000000 -1.555467 -0.486083 0 -1.944333 -0.874950 0
+ L3 6815744 0.000000 -0.388867 -1.749900 0 -0.486083 -2.333200 0
+ L3 6815744 0.000000 -0.291650 -1.069383 0 -0.194433 -1.458250 0
+ L3 6815744 0.000000 0.680517 -1.749900 0 0.874950 -2.333200 0
+ L3 6815744 0.000000 1.166600 -1.652683 0 1.749900 -1.944333 0
+ L3 6815744 0.000000 2.624850 -0.680517 0 2.138767 -0.777733 0
+ L3 6815744 0.000000 2.624850 -1.555467 0 2.138767 -1.361033 0
+ L3 6815744 0.000000 2.819283 -1.166600 0 2.333200 -1.069383 0
+ L3 6815744 0.000000 1.166600 -2.819283 0 1.069383 -2.430417 0
+ L3 6815744 0.000000 1.749900 -2.527633 0 1.458250 -2.235983 0
+ L3 6815744 0.000000 2.916500 0.486083 0 2.333200 0.583300 0
+ L3 6815744 0.000000 2.916500 0.972167 0 2.430417 0.874950 0
+ L3 6815744 0.000000 -0.972167 -2.722067 0 -0.874950 -2.333200 0
+ L3 6815744 0.000000 -2.138767 -1.361033 0 -1.847117 -1.166600 0
+ L3 6815744 0.000000 1.361033 3.110933 0 1.166600 2.624850 0
+ L3 6815744 0.000000 1.749900 2.819283 0 1.458250 2.527633 0
+ L3 11184640 0.000000 1.361033 -2.624850 0 1.166600 -2.041550 0
+ L3 14915328 0.000000 1.555467 2.333200 0 1.263817 2.138767 0
+ L3 14915328 0.000000 -1.749900 0.486083 0 -1.361033 0.291650 0
+ F4 16755200 0.000000 4 0
+ 1.497698 1.539301 0
+ 0.887525 1.359023 0
+ 0.818187 0.901393 0
+ 1.220347 1.067803 0
+ F4 16755200 0.000000 3 0
+ 1.691844 -1.386758 0
+ 1.497698 -0.956863 0
+ 1.192612 -1.220347 0
+ F4 16755200 0.000000 4 0
+ -1.275817 -1.608639 0
+ -0.887525 -1.511566 0
+ -0.610173 -0.859790 0
+ -1.040068 -0.970730 0
+ L3 16755200 0.000000 0.194433 2.138767 0 0.388867 1.847117 0
+ L3 16755200 0.000000 -1.166600 1.555467 0 -0.777733 1.555467 0
+ L3 16755200 0.000000 -1.749900 -1.361033 0 -1.458250 -0.972167 0
+ L3 16755200 0.000000 -1.069383 -2.138767 0 -0.777733 -1.749900 0
+ L3 16755200 0.000000 2.430417 1.263817 0 1.944333 0.972167 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 9"" Fall-9a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -2.722255 -2.582533 0
+ -2.336082 -4.042751 0
+ -1.467192 -4.416856 0
+ -0.489691 -3.210065 0
+ 0.632625 -4.259973 0
+ 1.984231 -3.620374 0
+ 1.670466 3.560034 0
+ 0.391267 4.235838 0
+ -0.139721 3.415219 0
+ -1.213766 3.427287 0
+ -1.479260 4.259973 0
+ -3.132564 3.728985 0
+ -2.927409 2.751484 0
+ -4.291084 2.654941 0
+ -4.991023 1.242995 0
+ -4.218676 0.446513 0
+ -5.232381 0.000000 0
+ -4.966887 -1.013705 0
+ -3.892843 -1.399878 0
+ -4.665189 -2.027409 0
+ -4.037657 -3.161793 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -3.765189 -2.027409 0
+ -3.137657 -3.161793 0
+ -1.822255 -2.582533 0
+ -1.436082 -4.042751 0
+ -0.567192 -4.416856 0
+ 0.410309 -3.210065 0
+ 1.532625 -4.259973 0
+ 2.884231 -3.620374 0
+ 2.377379 -2.280836 0
+ 3.994479 -1.834323 0
+ 4.235838 -0.313766 0
+ 3.391084 0.470649 0
+ 4.187566 1.605032 0
+ 3.584170 2.618737 0
+ 2.606669 2.256700 0
+ 2.570466 3.560034 0
+ 1.291267 4.235838 0
+ 0.760279 3.415219 0
+ -0.313766 3.427287 0
+ -0.579260 4.259973 0
+ -2.232564 3.728985 0
+ -2.027409 2.751484 0
+ -3.391084 2.654941 0
+ -4.091023 1.242995 0
+ -3.318676 0.446513 0
+ -4.332381 0.000000 0
+ -4.066887 -1.013705 0
+ -2.992843 -1.399878 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 0.603396 -2.823892 0
+ 1.448150 -3.668646 0
+ 2.256700 -3.173861 0
+ 1.894662 -1.761915 0
+ 3.511763 -1.315403 0
+ 3.620374 -0.615464 0
+ 2.606669 0.084475 0
+ 3.487627 1.411946 0
+ 3.101454 1.870527 0
+ 2.136021 1.846391 0
+ 2.087749 2.956639 0
+ 1.255063 3.415219 0
+ 0.567192 2.606669 0
+ -0.470649 2.751484 0
+ -0.712007 3.306608 0
+ -1.592965 3.077318 0
+ -1.605032 2.111885 0
+ -2.341175 2.087749 0
+ -2.823892 1.122316 0
+ -1.967070 0.313766 0
+ -2.775620 -0.108611 0
+ -2.642873 -0.687871 0
+ -1.351606 -0.929229 0
+ -1.846391 -1.810187 0
+ -1.037841 -2.437719 0
+ -0.712007 -3.149725 0
+ L3 12434688 0.000000 -1.093687 -3.499800 0 -1.203056 -2.952956 0
+ L3 12434688 0.000000 -2.296744 -1.859269 0 -1.859269 -1.531162 0
+ L3 12434688 0.000000 -3.718537 -0.218737 0 -3.062325 -0.546844 0
+ L3 12434688 0.000000 -2.515481 0.328106 0 -3.062325 0.218737 0
+ L3 12434688 0.000000 -3.390431 1.640531 0 -2.843587 1.749900 0
+ L3 12434688 0.000000 -1.640531 3.281062 0 -1.859269 3.609169 0
+ L3 12434688 0.000000 0.546844 2.952956 0 0.218737 3.171694 0
+ L3 12434688 0.000000 2.078006 3.281062 0 2.406112 3.390431 0
+ L3 12434688 0.000000 3.827906 1.531162 0 3.499800 1.640531 0
+ L3 12434688 0.000000 -3.062325 -2.734219 0 -2.843587 -2.296744 0
+ L3 12434688 0.000000 -3.499800 -2.078006 0 -3.171694 -2.296744 0
+ L3 16755200 0.000000 -0.765581 -3.718537 0 -0.328106 -3.390431 0
+ L3 16755200 0.000000 -2.515481 -2.296744 0 -1.749900 -2.296744 0
+ L3 16755200 0.000000 -3.062325 -2.078006 0 -2.734219 -1.749900 0
+ L3 16755200 0.000000 -2.078006 -1.203056 0 -2.734219 -1.093687 0
+ L3 16755200 0.000000 -3.718537 -0.874950 0 -2.952956 -0.874950 0
+ L3 16755200 0.000000 -2.952956 0.765581 0 -3.718537 1.203056 0
+ L3 16755200 0.000000 -2.624850 2.515481 0 -2.406112 2.187375 0
+ L3 16755200 0.000000 -0.984319 3.499800 0 -0.765581 3.827906 0
+ L3 16755200 0.000000 -0.109369 2.952956 0 0.000000 3.281062 0
+ L3 16755200 0.000000 1.421794 3.499800 0 1.312425 3.937275 0
+ L3 16755200 0.000000 3.281062 2.078006 0 3.499800 2.406112 0
+ L3 16755200 0.000000 3.827906 -0.328106 0 3.390431 -0.218737 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 1.684911 -1.731714 0
+ 0.998466 -1.528900 0
+ 0.920460 -1.014067 0
+ 1.372890 -1.201279 0
+ F4 6842368 0.000000 4 0
+ 2.137340 0.078005 0
+ 1.326087 0.265217 0
+ 1.154476 -0.140409 0
+ 2.262149 -0.202813 0
+ F4 6842368 0.000000 4 0
+ 0.514834 2.074936 0
+ 0.109207 1.762916 0
+ 0.218414 1.107673 0
+ 0.468031 1.201279 0
+ F4 6842368 0.000000 5 0
+ -1.638108 0.187212 0
+ -1.419693 0.031202 0
+ -0.670844 -0.156010 0
+ -0.265217 0.265217 0
+ -1.201279 0.405627 0
+ L3 6842368 0.000000 0.218737 -2.406112 0 0.437475 -2.078006 0
+ L3 6842368 0.000000 1.531162 -2.078006 0 0.984319 -1.859269 0
+ L3 6842368 0.000000 1.749900 -2.624850 0 1.421794 -2.406112 0
+ L3 6842368 0.000000 0.984319 -2.843587 0 0.765581 -2.406112 0
+ L3 6842368 0.000000 -0.437475 -2.734219 0 -0.218737 -2.406112 0
+ L3 6842368 0.000000 -1.312425 -1.749900 0 -0.874950 -1.749900 0
+ L3 6842368 0.000000 -0.984319 -1.203056 0 -0.437475 -1.421794 0
+ L3 6842368 0.000000 -1.312425 -0.656212 0 -0.874950 -0.328106 0
+ L3 6842368 0.000000 -1.968637 -0.546844 0 -1.531162 -0.328106 0
+ L3 6842368 0.000000 -2.515481 -0.218737 0 -1.968637 0.000000 0
+ L3 6842368 0.000000 -1.749900 0.546844 0 -2.187375 0.984319 0
+ L3 6842368 0.000000 -1.968637 1.531162 0 -1.640531 1.093687 0
+ L3 6842368 0.000000 -1.203056 2.406112 0 -0.874950 1.968637 0
+ L3 6842368 0.000000 -0.437475 1.968637 0 -0.546844 2.624850 0
+ L3 6842368 0.000000 -0.328106 1.203056 0 -0.218737 1.640531 0
+ L3 6842368 0.000000 0.765581 1.968637 0 0.984319 2.624850 0
+ L3 6842368 0.000000 1.312425 1.859269 0 1.968637 2.187375 0
+ L3 6842368 0.000000 2.952956 0.765581 0 2.406112 0.874950 0
+ L3 6842368 0.000000 2.952956 1.749900 0 2.406112 1.531162 0
+ L3 6842368 0.000000 3.171694 1.312425 0 2.624850 1.203056 0
+ L3 6842368 0.000000 1.312425 3.171694 0 1.203056 2.734219 0
+ L3 6842368 0.000000 1.968637 2.843587 0 1.640531 2.515481 0
+ L3 6842368 0.000000 1.531162 2.952956 0 1.312425 2.296744 0
+ L3 6842368 0.000000 3.281062 -0.546844 0 2.624850 -0.656212 0
+ L3 6842368 0.000000 2.734219 -1.421794 0 2.187375 -1.093687 0
+ L3 6842368 0.000000 3.281062 -1.093687 0 2.734219 -0.984319 0
+ L3 6842368 0.000000 -1.093687 3.062325 0 -0.984319 2.624850 0
+ L3 6842368 0.000000 -2.406112 1.531162 0 -2.078006 1.312425 0
+ L3 6842368 0.000000 1.531162 -3.499800 0 1.312425 -2.952956 0
+ L3 6842368 0.000000 1.968637 -3.171694 0 1.640531 -2.843587 0
+ F4 16755200 0.000000 5 0
+ -0.655243 -2.074936 0
+ -0.592839 -1.716113 0
+ 0.078005 -1.419693 0
+ 0.265217 -1.856522 0
+ -0.078005 -2.184143 0
+ F4 16755200 0.000000 3 0
+ 1.903325 1.560102 0
+ 1.684911 1.076471 0
+ 1.341688 1.372890 0
+ F4 16755200 0.000000 4 0
+ -1.435294 1.809719 0
+ -0.998466 1.700512 0
+ -0.686445 0.967264 0
+ -1.170077 1.092072 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 9"" Fall-9b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -2.722255 2.582533 0
+ -2.336082 4.042751 0
+ -1.467192 4.416856 0
+ -0.489691 3.210065 0
+ 0.632625 4.259973 0
+ 1.984231 3.620374 0
+ 1.670466 -3.560034 0
+ 0.391267 -4.235838 0
+ -0.139721 -3.415219 0
+ -1.213766 -3.427287 0
+ -1.479260 -4.259973 0
+ -3.132564 -3.728985 0
+ -2.927409 -2.751484 0
+ -4.291084 -2.654941 0
+ -4.991023 -1.242995 0
+ -4.218676 -0.446513 0
+ -5.232381 0.000000 0
+ -4.966887 1.013705 0
+ -3.892843 1.399878 0
+ -4.665189 2.027409 0
+ -4.037657 3.161793 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -3.765189 2.027409 0
+ -3.137657 3.161793 0
+ -1.822255 2.582533 0
+ -1.436082 4.042751 0
+ -0.567192 4.416856 0
+ 0.410309 3.210065 0
+ 1.532625 4.259973 0
+ 2.884231 3.620374 0
+ 2.377379 2.280836 0
+ 3.994479 1.834323 0
+ 4.235838 0.313766 0
+ 3.391084 -0.470649 0
+ 4.187566 -1.605032 0
+ 3.584170 -2.618737 0
+ 2.606669 -2.256700 0
+ 2.570466 -3.560034 0
+ 1.291267 -4.235838 0
+ 0.760279 -3.415219 0
+ -0.313766 -3.427287 0
+ -0.579260 -4.259973 0
+ -2.232564 -3.728985 0
+ -2.027409 -2.751484 0
+ -3.391084 -2.654941 0
+ -4.091023 -1.242995 0
+ -3.318676 -0.446513 0
+ -4.332381 0.000000 0
+ -4.066887 1.013705 0
+ -2.992843 1.399878 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 0.603396 2.823892 0
+ 1.448150 3.668646 0
+ 2.256700 3.173861 0
+ 1.894662 1.761915 0
+ 3.511763 1.315403 0
+ 3.620374 0.615464 0
+ 2.606669 -0.084475 0
+ 3.487627 -1.411946 0
+ 3.101454 -1.870527 0
+ 2.136021 -1.846391 0
+ 2.087749 -2.956639 0
+ 1.255063 -3.415219 0
+ 0.567192 -2.606669 0
+ -0.470649 -2.751484 0
+ -0.712007 -3.306608 0
+ -1.592965 -3.077318 0
+ -1.605032 -2.111885 0
+ -2.341175 -2.087749 0
+ -2.823892 -1.122316 0
+ -1.967070 -0.313766 0
+ -2.775620 0.108611 0
+ -2.642873 0.687871 0
+ -1.351606 0.929229 0
+ -1.846391 1.810187 0
+ -1.037841 2.437719 0
+ -0.712007 3.149725 0
+ L3 12410368 0.000000 -0.765581 3.718537 0 -0.328106 3.390431 0
+ L3 12410368 0.000000 -3.062325 2.078006 0 -2.734219 1.749900 0
+ L3 12410368 0.000000 -2.296744 1.859269 0 -1.859269 1.531162 0
+ L3 12410368 0.000000 -3.718537 0.874950 0 -2.952956 0.874950 0
+ L3 12410368 0.000000 -2.515481 -0.328106 0 -3.062325 -0.218737 0
+ L3 12410368 0.000000 -3.390431 -1.640531 0 -2.843587 -1.749900 0
+ L3 12410368 0.000000 -1.640531 -3.281062 0 -1.859269 -3.609169 0
+ L3 12410368 0.000000 -0.109369 -2.952956 0 0.000000 -3.281062 0
+ L3 12410368 0.000000 1.421794 -3.499800 0 1.312425 -3.937275 0
+ L3 12410368 0.000000 3.281062 -2.078006 0 3.499800 -2.406112 0
+ L3 12410368 0.000000 -3.062325 2.734219 0 -2.843587 2.296744 0
+ L3 14915328 0.000000 -3.499800 2.078006 0 -3.171694 2.296744 0
+ L3 16755200 0.000000 3.827906 0.328106 0 3.390431 0.218737 0
+ L3 16755200 0.000000 -1.093687 3.499800 0 -1.203056 2.952956 0
+ L3 16755200 0.000000 -2.515481 2.296744 0 -1.749900 2.296744 0
+ L3 16755200 0.000000 -2.078006 1.203056 0 -2.734219 1.093687 0
+ L3 16755200 0.000000 -3.718537 0.218737 0 -3.062325 0.546844 0
+ L3 16755200 0.000000 -2.952956 -0.765581 0 -3.718537 -1.203056 0
+ L3 16755200 0.000000 -2.624850 -2.515481 0 -2.406112 -2.187375 0
+ L3 16755200 0.000000 -0.984319 -3.499800 0 -0.765581 -3.827906 0
+ L3 16755200 0.000000 0.546844 -2.952956 0 0.218737 -3.171694 0
+ L3 16755200 0.000000 2.078006 -3.281062 0 2.406112 -3.390431 0
+ L3 16755200 0.000000 3.827906 -1.531162 0 3.499800 -1.640531 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -0.655243 2.074936 0
+ -0.592839 1.716113 0
+ 0.078005 1.419693 0
+ 0.265217 1.856522 0
+ -0.078005 2.184143 0
+ F4 6815744 0.000000 4 0
+ 2.137340 -0.078005 0
+ 1.326087 -0.265217 0
+ 1.154476 0.140409 0
+ 2.262149 0.202813 0
+ F4 6815744 0.000000 4 0
+ 0.514834 -2.074936 0
+ 0.109207 -1.762916 0
+ 0.218414 -1.107673 0
+ 0.468031 -1.201279 0
+ F4 6815744 0.000000 5 0
+ -1.638108 -0.187212 0
+ -1.419693 -0.031202 0
+ -0.670844 0.156010 0
+ -0.265217 -0.265217 0
+ -1.201279 -0.405627 0
+ L3 6815744 0.000000 1.531162 2.078006 0 0.984319 1.859269 0
+ L3 6815744 0.000000 0.984319 2.843587 0 0.765581 2.406112 0
+ L3 6815744 0.000000 -0.437475 2.734219 0 -0.218737 2.406112 0
+ L3 6815744 0.000000 -0.984319 1.203056 0 -0.437475 1.421794 0
+ L3 6815744 0.000000 -1.312425 0.656212 0 -0.874950 0.328106 0
+ L3 6815744 0.000000 -2.515481 0.218737 0 -1.968637 0.000000 0
+ L3 6815744 0.000000 -1.749900 -0.546844 0 -2.187375 -0.984319 0
+ L3 6815744 0.000000 -0.437475 -1.968637 0 -0.546844 -2.624850 0
+ L3 6815744 0.000000 -0.328106 -1.203056 0 -0.218737 -1.640531 0
+ L3 6815744 0.000000 0.765581 -1.968637 0 0.984319 -2.624850 0
+ L3 6815744 0.000000 1.312425 -1.859269 0 1.968637 -2.187375 0
+ L3 6815744 0.000000 2.952956 -0.765581 0 2.406112 -0.874950 0
+ L3 6815744 0.000000 2.952956 -1.749900 0 2.406112 -1.531162 0
+ L3 6815744 0.000000 3.171694 -1.312425 0 2.624850 -1.203056 0
+ L3 6815744 0.000000 1.312425 -3.171694 0 1.203056 -2.734219 0
+ L3 6815744 0.000000 1.968637 -2.843587 0 1.640531 -2.515481 0
+ L3 6815744 0.000000 3.281062 0.546844 0 2.624850 0.656212 0
+ L3 6815744 0.000000 3.281062 1.093687 0 2.734219 0.984319 0
+ L3 6815744 0.000000 -1.093687 -3.062325 0 -0.984319 -2.624850 0
+ L3 6815744 0.000000 -2.406112 -1.531162 0 -2.078006 -1.312425 0
+ L3 6815744 0.000000 1.531162 3.499800 0 1.312425 2.952956 0
+ L3 6815744 0.000000 1.968637 3.171694 0 1.640531 2.843587 0
+ L3 11184640 0.000000 1.531162 -2.952956 0 1.312425 -2.296744 0
+ L3 14915328 0.000000 1.749900 2.624850 0 1.421794 2.406112 0
+ L3 14915328 0.000000 -1.968637 0.546844 0 -1.531162 0.328106 0
+ F4 16755200 0.000000 4 0
+ 1.684911 1.731714 0
+ 0.998466 1.528900 0
+ 0.920460 1.014067 0
+ 1.372890 1.201279 0
+ F4 16755200 0.000000 3 0
+ 1.903325 -1.560102 0
+ 1.684911 -1.076471 0
+ 1.341688 -1.372890 0
+ F4 16755200 0.000000 4 0
+ -1.435294 -1.809719 0
+ -0.998466 -1.700512 0
+ -0.686445 -0.967264 0
+ -1.170077 -1.092072 0
+ L3 16755200 0.000000 0.218737 2.406112 0 0.437475 2.078006 0
+ L3 16755200 0.000000 -1.312425 1.749900 0 -0.874950 1.749900 0
+ L3 16755200 0.000000 -1.968637 -1.531162 0 -1.640531 -1.093687 0
+ L3 16755200 0.000000 -1.203056 -2.406112 0 -0.874950 -1.968637 0
+ L3 16755200 0.000000 2.734219 1.421794 0 2.187375 1.093687 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 10"" Fall-10a"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -3.024728 -2.869482 0
+ -2.595646 -4.491946 0
+ -1.630213 -4.907618 0
+ -0.544101 -3.566739 0
+ 0.702917 -4.733304 0
+ 2.204701 -4.022638 0
+ 1.856073 3.955594 0
+ 0.434741 4.706486 0
+ -0.155246 3.794688 0
+ -1.348629 3.808097 0
+ -1.643622 4.733304 0
+ -3.480627 4.143317 0
+ -3.252677 3.057205 0
+ -4.767871 2.949934 0
+ -5.545581 1.381106 0
+ -4.687418 0.496125 0
+ -5.813757 0.000000 0
+ -5.518763 -1.126339 0
+ -4.325381 -1.555420 0
+ -5.183543 -2.252677 0
+ -4.486286 -3.513104 0
+# Layer: XTRKCAD2
+ F4 6842368 0.000000 28 0
+ -4.183543 -2.252677 0
+ -3.486286 -3.513104 0
+ -2.024728 -2.869482 0
+ -1.595646 -4.491946 0
+ -0.630213 -4.907618 0
+ 0.455899 -3.566739 0
+ 1.702917 -4.733304 0
+ 3.204701 -4.022638 0
+ 2.641532 -2.534262 0
+ 4.438310 -2.038136 0
+ 4.706486 -0.348629 0
+ 3.767871 0.522943 0
+ 4.652851 1.783369 0
+ 3.982411 2.909708 0
+ 2.896299 2.507444 0
+ 2.856073 3.955594 0
+ 1.434741 4.706486 0
+ 0.844754 3.794688 0
+ -0.348629 3.808097 0
+ -0.643622 4.733304 0
+ -2.480627 4.143317 0
+ -2.252677 3.057205 0
+ -3.767871 2.949934 0
+ -4.545581 1.381106 0
+ -3.687418 0.496125 0
+ -4.813757 0.000000 0
+ -4.518763 -1.126339 0
+ -3.325381 -1.555420 0
+# Layer: XTRKCAD3
+ F4 12434688 0.000000 26 0
+ 0.670440 -3.137657 0
+ 1.609055 -4.076273 0
+ 2.507444 -3.526512 0
+ 2.105180 -1.957684 0
+ 3.901959 -1.461558 0
+ 4.022638 -0.683848 0
+ 2.896299 0.093862 0
+ 3.875141 1.568829 0
+ 3.446060 2.078363 0
+ 2.373356 2.051545 0
+ 2.319721 3.285154 0
+ 1.394514 3.794688 0
+ 0.630213 2.896299 0
+ -0.522943 3.057205 0
+ -0.791119 3.674009 0
+ -1.769961 3.419242 0
+ -1.783369 2.346539 0
+ -2.601306 2.319721 0
+ -3.137657 1.247018 0
+ -2.185633 0.348629 0
+ -3.084022 -0.120679 0
+ -2.936526 -0.764301 0
+ -1.501785 -1.032477 0
+ -2.051545 -2.011319 0
+ -1.153156 -2.708576 0
+ -0.791119 -3.499695 0
+ L3 12434688 0.000000 -1.215208 -3.888667 0 -1.336729 -3.281062 0
+ L3 12434688 0.000000 -2.551937 -2.065854 0 -2.065854 -1.701292 0
+ L3 12434688 0.000000 -4.131708 -0.243042 0 -3.402583 -0.607604 0
+ L3 12434688 0.000000 -2.794979 0.364562 0 -3.402583 0.243042 0
+ L3 12434688 0.000000 -3.767146 1.822812 0 -3.159542 1.944333 0
+ L3 12434688 0.000000 -1.822812 3.645625 0 -2.065854 4.010187 0
+ L3 12434688 0.000000 0.607604 3.281062 0 0.243042 3.524104 0
+ L3 12434688 0.000000 2.308896 3.645625 0 2.673458 3.767146 0
+ L3 12434688 0.000000 4.253229 1.701292 0 3.888667 1.822812 0
+ L3 12434688 0.000000 -3.402583 -3.038021 0 -3.159542 -2.551937 0
+ L3 12434688 0.000000 -3.888667 -2.308896 0 -3.524104 -2.551937 0
+ L3 16755200 0.000000 -0.850646 -4.131708 0 -0.364562 -3.767146 0
+ L3 16755200 0.000000 -2.794979 -2.551937 0 -1.944333 -2.551937 0
+ L3 16755200 0.000000 -3.402583 -2.308896 0 -3.038021 -1.944333 0
+ L3 16755200 0.000000 -2.308896 -1.336729 0 -3.038021 -1.215208 0
+ L3 16755200 0.000000 -4.131708 -0.972167 0 -3.281062 -0.972167 0
+ L3 16755200 0.000000 -3.281062 0.850646 0 -4.131708 1.336729 0
+ L3 16755200 0.000000 -2.916500 2.794979 0 -2.673458 2.430417 0
+ L3 16755200 0.000000 -1.093687 3.888667 0 -0.850646 4.253229 0
+ L3 16755200 0.000000 -0.121521 3.281062 0 0.000000 3.645625 0
+ L3 16755200 0.000000 1.579771 3.888667 0 1.458250 4.374750 0
+ L3 16755200 0.000000 3.645625 2.308896 0 3.888667 2.673458 0
+ L3 16755200 0.000000 4.253229 -0.364562 0 3.767146 -0.243042 0
+# Layer: XTRKCAD4
+ F4 6842368 0.000000 4 0
+ 1.872123 -1.924126 0
+ 1.109406 -1.698778 0
+ 1.022734 -1.126741 0
+ 1.525433 -1.334754 0
+ F4 6842368 0.000000 4 0
+ 2.374823 0.086672 0
+ 1.473430 0.294686 0
+ 1.282751 -0.156010 0
+ 2.513498 -0.225348 0
+ F4 6842368 0.000000 4 0
+ 0.572038 2.305485 0
+ 0.121341 1.958795 0
+ 0.242683 1.230747 0
+ 0.520034 1.334754 0
+ F4 6842368 0.000000 5 0
+ -1.820120 0.208014 0
+ -1.577437 0.034669 0
+ -0.745382 -0.173345 0
+ -0.294686 0.294686 0
+ -1.334754 0.450696 0
+ L3 6842368 0.000000 0.243042 -2.673458 0 0.486083 -2.308896 0
+ L3 6842368 0.000000 1.701292 -2.308896 0 1.093687 -2.065854 0
+ L3 6842368 0.000000 1.944333 -2.916500 0 1.579771 -2.673458 0
+ L3 6842368 0.000000 1.093687 -3.159542 0 0.850646 -2.673458 0
+ L3 6842368 0.000000 -0.486083 -3.038021 0 -0.243042 -2.673458 0
+ L3 6842368 0.000000 -1.458250 -1.944333 0 -0.972167 -1.944333 0
+ L3 6842368 0.000000 -1.093687 -1.336729 0 -0.486083 -1.579771 0
+ L3 6842368 0.000000 -1.458250 -0.729125 0 -0.972167 -0.364562 0
+ L3 6842368 0.000000 -2.187375 -0.607604 0 -1.701292 -0.364562 0
+ L3 6842368 0.000000 -2.794979 -0.243042 0 -2.187375 0.000000 0
+ L3 6842368 0.000000 -1.944333 0.607604 0 -2.430417 1.093687 0
+ L3 6842368 0.000000 -2.187375 1.701292 0 -1.822812 1.215208 0
+ L3 6842368 0.000000 -1.336729 2.673458 0 -0.972167 2.187375 0
+ L3 6842368 0.000000 -0.486083 2.187375 0 -0.607604 2.916500 0
+ L3 6842368 0.000000 -0.364562 1.336729 0 -0.243042 1.822812 0
+ L3 6842368 0.000000 0.850646 2.187375 0 1.093687 2.916500 0
+ L3 6842368 0.000000 1.458250 2.065854 0 2.187375 2.430417 0
+ L3 6842368 0.000000 3.281062 0.850646 0 2.673458 0.972167 0
+ L3 6842368 0.000000 3.281062 1.944333 0 2.673458 1.701292 0
+ L3 6842368 0.000000 3.524104 1.458250 0 2.916500 1.336729 0
+ L3 6842368 0.000000 1.458250 3.524104 0 1.336729 3.038021 0
+ L3 6842368 0.000000 2.187375 3.159542 0 1.822812 2.794979 0
+ L3 6842368 0.000000 1.701292 3.281062 0 1.458250 2.551937 0
+ L3 6842368 0.000000 3.645625 -0.607604 0 2.916500 -0.729125 0
+ L3 6842368 0.000000 3.038021 -1.579771 0 2.430417 -1.215208 0
+ L3 6842368 0.000000 3.645625 -1.215208 0 3.038021 -1.093687 0
+ L3 6842368 0.000000 -1.215208 3.402583 0 -1.093687 2.916500 0
+ L3 6842368 0.000000 -2.673458 1.701292 0 -2.308896 1.458250 0
+ L3 6842368 0.000000 1.701292 -3.888667 0 1.458250 -3.281062 0
+ L3 6842368 0.000000 2.187375 -3.524104 0 1.822812 -3.159542 0
+ F4 16755200 0.000000 5 0
+ -0.728048 -2.305485 0
+ -0.658710 -1.906792 0
+ 0.086672 -1.577437 0
+ 0.294686 -2.062802 0
+ -0.086672 -2.426826 0
+ F4 16755200 0.000000 3 0
+ 2.114806 1.733447 0
+ 1.872123 1.196079 0
+ 1.490765 1.525433 0
+ F4 16755200 0.000000 4 0
+ -1.594771 2.010799 0
+ -1.109406 1.889457 0
+ -0.762717 1.074737 0
+ -1.300085 1.213413 0
+ END$SEGS
+
+STRUCTURE * "Sm Fall 10"" Fall-10b"
+# Layer: XTRKCAD1
+ F4 8553090 0.000000 21 0
+ -3.024728 2.869482 0
+ -2.595646 4.491946 0
+ -1.630213 4.907618 0
+ -0.544101 3.566739 0
+ 0.702917 4.733304 0
+ 2.204701 4.022638 0
+ 1.856073 -3.955594 0
+ 0.434741 -4.706486 0
+ -0.155246 -3.794688 0
+ -1.348629 -3.808097 0
+ -1.643622 -4.733304 0
+ -3.480627 -4.143317 0
+ -3.252677 -3.057205 0
+ -4.767871 -2.949934 0
+ -5.545581 -1.381106 0
+ -4.687418 -0.496125 0
+ -5.813757 0.000000 0
+ -5.518763 1.126339 0
+ -4.325381 1.555420 0
+ -5.183543 2.252677 0
+ -4.486286 3.513104 0
+# Layer: XTRKCAD2
+ F4 6815744 0.000000 28 0
+ -4.183543 2.252677 0
+ -3.486286 3.513104 0
+ -2.024728 2.869482 0
+ -1.595646 4.491946 0
+ -0.630213 4.907618 0
+ 0.455899 3.566739 0
+ 1.702917 4.733304 0
+ 3.204701 4.022638 0
+ 2.641532 2.534262 0
+ 4.438310 2.038136 0
+ 4.706486 0.348629 0
+ 3.767871 -0.522943 0
+ 4.652851 -1.783369 0
+ 3.982411 -2.909708 0
+ 2.896299 -2.507444 0
+ 2.856073 -3.955594 0
+ 1.434741 -4.706486 0
+ 0.844754 -3.794688 0
+ -0.348629 -3.808097 0
+ -0.643622 -4.733304 0
+ -2.480627 -4.143317 0
+ -2.252677 -3.057205 0
+ -3.767871 -2.949934 0
+ -4.545581 -1.381106 0
+ -3.687418 -0.496125 0
+ -4.813757 0.000000 0
+ -4.518763 1.126339 0
+ -3.325381 1.555420 0
+# Layer: XTRKCAD3
+ F4 12410368 0.000000 26 0
+ 0.670440 3.137657 0
+ 1.609055 4.076273 0
+ 2.507444 3.526512 0
+ 2.105180 1.957684 0
+ 3.901959 1.461558 0
+ 4.022638 0.683848 0
+ 2.896299 -0.093862 0
+ 3.875141 -1.568829 0
+ 3.446060 -2.078363 0
+ 2.373356 -2.051545 0
+ 2.319721 -3.285154 0
+ 1.394514 -3.794688 0
+ 0.630213 -2.896299 0
+ -0.522943 -3.057205 0
+ -0.791119 -3.674009 0
+ -1.769961 -3.419242 0
+ -1.783369 -2.346539 0
+ -2.601306 -2.319721 0
+ -3.137657 -1.247018 0
+ -2.185633 -0.348629 0
+ -3.084022 0.120679 0
+ -2.936526 0.764301 0
+ -1.501785 1.032477 0
+ -2.051545 2.011319 0
+ -1.153156 2.708576 0
+ -0.791119 3.499695 0
+ L3 12410368 0.000000 -0.850646 4.131708 0 -0.364562 3.767146 0
+ L3 12410368 0.000000 -3.402583 2.308896 0 -3.038021 1.944333 0
+ L3 12410368 0.000000 -2.551937 2.065854 0 -2.065854 1.701292 0
+ L3 12410368 0.000000 -4.131708 0.972167 0 -3.281062 0.972167 0
+ L3 12410368 0.000000 -2.794979 -0.364562 0 -3.402583 -0.243042 0
+ L3 12410368 0.000000 -3.767146 -1.822812 0 -3.159542 -1.944333 0
+ L3 12410368 0.000000 -1.822812 -3.645625 0 -2.065854 -4.010187 0
+ L3 12410368 0.000000 -0.121521 -3.281062 0 0.000000 -3.645625 0
+ L3 12410368 0.000000 1.579771 -3.888667 0 1.458250 -4.374750 0
+ L3 12410368 0.000000 3.645625 -2.308896 0 3.888667 -2.673458 0
+ L3 12410368 0.000000 -3.402583 3.038021 0 -3.159542 2.551937 0
+ L3 14915328 0.000000 -3.888667 2.308896 0 -3.524104 2.551937 0
+ L3 16755200 0.000000 4.253229 0.364562 0 3.767146 0.243042 0
+ L3 16755200 0.000000 -1.215208 3.888667 0 -1.336729 3.281062 0
+ L3 16755200 0.000000 -2.794979 2.551937 0 -1.944333 2.551937 0
+ L3 16755200 0.000000 -2.308896 1.336729 0 -3.038021 1.215208 0
+ L3 16755200 0.000000 -4.131708 0.243042 0 -3.402583 0.607604 0
+ L3 16755200 0.000000 -3.281062 -0.850646 0 -4.131708 -1.336729 0
+ L3 16755200 0.000000 -2.916500 -2.794979 0 -2.673458 -2.430417 0
+ L3 16755200 0.000000 -1.093687 -3.888667 0 -0.850646 -4.253229 0
+ L3 16755200 0.000000 0.607604 -3.281062 0 0.243042 -3.524104 0
+ L3 16755200 0.000000 2.308896 -3.645625 0 2.673458 -3.767146 0
+ L3 16755200 0.000000 4.253229 -1.701292 0 3.888667 -1.822812 0
+# Layer: XTRKCAD4
+ F4 6815744 0.000000 5 0
+ -0.728048 2.305485 0
+ -0.658710 1.906792 0
+ 0.086672 1.577437 0
+ 0.294686 2.062802 0
+ -0.086672 2.426826 0
+ F4 6815744 0.000000 4 0
+ 2.374823 -0.086672 0
+ 1.473430 -0.294686 0
+ 1.282751 0.156010 0
+ 2.513498 0.225348 0
+ F4 6815744 0.000000 4 0
+ 0.572038 -2.305485 0
+ 0.121341 -1.958795 0
+ 0.242683 -1.230747 0
+ 0.520034 -1.334754 0
+ F4 6815744 0.000000 5 0
+ -1.820120 -0.208014 0
+ -1.577437 -0.034669 0
+ -0.745382 0.173345 0
+ -0.294686 -0.294686 0
+ -1.334754 -0.450696 0
+ L3 6815744 0.000000 1.701292 2.308896 0 1.093687 2.065854 0
+ L3 6815744 0.000000 1.093687 3.159542 0 0.850646 2.673458 0
+ L3 6815744 0.000000 -0.486083 3.038021 0 -0.243042 2.673458 0
+ L3 6815744 0.000000 -1.093687 1.336729 0 -0.486083 1.579771 0
+ L3 6815744 0.000000 -1.458250 0.729125 0 -0.972167 0.364562 0
+ L3 6815744 0.000000 -2.794979 0.243042 0 -2.187375 0.000000 0
+ L3 6815744 0.000000 -1.944333 -0.607604 0 -2.430417 -1.093687 0
+ L3 6815744 0.000000 -0.486083 -2.187375 0 -0.607604 -2.916500 0
+ L3 6815744 0.000000 -0.364562 -1.336729 0 -0.243042 -1.822812 0
+ L3 6815744 0.000000 0.850646 -2.187375 0 1.093687 -2.916500 0
+ L3 6815744 0.000000 1.458250 -2.065854 0 2.187375 -2.430417 0
+ L3 6815744 0.000000 3.281062 -0.850646 0 2.673458 -0.972167 0
+ L3 6815744 0.000000 3.281062 -1.944333 0 2.673458 -1.701292 0
+ L3 6815744 0.000000 3.524104 -1.458250 0 2.916500 -1.336729 0
+ L3 6815744 0.000000 1.458250 -3.524104 0 1.336729 -3.038021 0
+ L3 6815744 0.000000 2.187375 -3.159542 0 1.822812 -2.794979 0
+ L3 6815744 0.000000 3.645625 0.607604 0 2.916500 0.729125 0
+ L3 6815744 0.000000 3.645625 1.215208 0 3.038021 1.093687 0
+ L3 6815744 0.000000 -1.215208 -3.402583 0 -1.093687 -2.916500 0
+ L3 6815744 0.000000 -2.673458 -1.701292 0 -2.308896 -1.458250 0
+ L3 6815744 0.000000 1.701292 3.888667 0 1.458250 3.281062 0
+ L3 6815744 0.000000 2.187375 3.524104 0 1.822812 3.159542 0
+ L3 11184640 0.000000 1.701292 -3.281062 0 1.458250 -2.551937 0
+ L3 14915328 0.000000 1.944333 2.916500 0 1.579771 2.673458 0
+ L3 14915328 0.000000 -2.187375 0.607604 0 -1.701292 0.364562 0
+ F4 16755200 0.000000 4 0
+ 1.872123 1.924126 0
+ 1.109406 1.698778 0
+ 1.022734 1.126741 0
+ 1.525433 1.334754 0
+ F4 16755200 0.000000 3 0
+ 2.114806 -1.733447 0
+ 1.872123 -1.196079 0
+ 1.490765 -1.525433 0
+ F4 16755200 0.000000 4 0
+ -1.594771 -2.010799 0
+ -1.109406 -1.889457 0
+ -0.762717 -1.074737 0
+ -1.300085 -1.213413 0
+ L3 16755200 0.000000 0.243042 2.673458 0 0.486083 2.308896 0
+ L3 16755200 0.000000 -1.458250 1.944333 0 -0.972167 1.944333 0
+ L3 16755200 0.000000 -2.187375 -1.701292 0 -1.822812 -1.215208 0
+ L3 16755200 0.000000 -1.336729 -2.673458 0 -0.972167 -2.187375 0
+ L3 16755200 0.000000 3.038021 1.579771 0 2.430417 1.215208 0
+ END$SEGS
+
diff --git a/app/lib/params/Z-Eisen Platz Track.xtp b/app/lib/params/Z-Eisen Platz Track.xtp
new file mode 100644
index 0000000..532914a
--- /dev/null
+++ b/app/lib/params/Z-Eisen Platz Track.xtp
@@ -0,0 +1,21 @@
+CONTENTS Eisen Platz Z Scale Track Components
+
+SUBCONTENTS Eisen Platz Z-Scale - Track Straight Track
+TURNOUT Z "Eisen Platz Straight 110mm ZP-002"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.330709 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.330709 0.000000
+ L 11579568 0.053333 0.000000 0.300000 4.330709 0.300000
+ L 11579568 0.053333 0.000000 -0.300000 4.330709 -0.300000
+ END
+
+SUBCONTENTS Eisen Platz Z-Scale - Track Curve Track
+TURNOUT Z "Eisen Platz Curved 195mm 45° ZP-001"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.428575 -2.248590 135.000000
+ C 0 0 7.677165 0.000000 -7.677165 0.000000 45.000000
+ A 11579568 0.053333 7.977165 0.000000 -7.677165 0.000000 45.000000
+ A 11579568 0.053333 7.377165 0.000000 -7.677165 0.000000 45.000000
+ END
diff --git a/app/lib/params/Z-Prim Track.xtp b/app/lib/params/Z-Prim Track.xtp
new file mode 100644
index 0000000..7ae1d8f
--- /dev/null
+++ b/app/lib/params/Z-Prim Track.xtp
@@ -0,0 +1,29 @@
+CONTENTS Prim Z Scale Track Components
+
+SUBCONTENTS Prim Z-Scale - Track Straight Track
+TURNOUT Z "Prim Straight 220mm 5001"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 8.661417 0.000000 90.000000
+ S 0 0 0.000000 0.000000 8.661417 0.000000
+ L 11579568 0.053333 0.000000 0.300000 8.661417 0.300000
+ L 11579568 0.053333 0.000000 -0.300000 8.661417 -0.300000
+ END
+
+SUBCONTENTS Prim Z-Scale - Track Curve Track
+TURNOUT Z "Prim Curved 195mm 45° 5002"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.428575 -2.248590 135.000000
+ C 0 0 7.677165 0.000000 -7.677165 0.000000 45.000000
+ A 11579568 0.053333 7.977165 0.000000 -7.677165 0.000000 45.000000
+ A 11579568 0.053333 7.377165 0.000000 -7.677165 0.000000 45.000000
+ END
+TURNOUT Z "Prim Curved 220mm 45° 5003"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 6.124547 -2.536870 135.000000
+ C 0 0 8.661417 0.000000 -8.661417 0.000000 45.000000
+ A 11579568 0.053333 8.961417 0.000000 -8.661417 0.000000 45.000000
+ A 11579568 0.053333 8.361417 0.000000 -8.661417 0.000000 45.000000
+ END
diff --git a/app/lib/params/Z-RealZJ Track.xtp b/app/lib/params/Z-RealZJ Track.xtp
new file mode 100644
index 0000000..4512973
--- /dev/null
+++ b/app/lib/params/Z-RealZJ Track.xtp
@@ -0,0 +1,37 @@
+CONTENTS RealZJ Z Scale Track Components
+
+SUBCONTENTS RealZJ Z-Scale - Track Straight Track
+TURNOUT Z "RealZJ Straight 110mm Z302-02"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 4.330709 0.000000 90.000000
+ S 0 0 0.000000 0.000000 4.330709 0.000000
+ L 11579568 0.053333 0.000000 0.300000 4.330709 0.300000
+ L 11579568 0.053333 0.000000 -0.300000 4.330709 -0.300000
+ END
+TURNOUT Z "RealZJ Straight 220mm Z302-01"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 8.661417 0.000000 90.000000
+ S 0 0 0.000000 0.000000 8.661417 0.000000
+ L 11579568 0.053333 0.000000 0.300000 8.661417 0.300000
+ L 11579568 0.053333 0.000000 -0.300000 8.661417 -0.300000
+ END
+
+SUBCONTENTS RealZJ Z-Scale - Track Curve Track
+TURNOUT Z "RealZJ Curved 195mm 45° Z303-02"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 5.428575 -2.248590 135.000000
+ C 0 0 7.677165 0.000000 -7.677165 0.000000 45.000000
+ A 11579568 0.053333 7.977165 0.000000 -7.677165 0.000000 45.000000
+ A 11579568 0.053333 7.377165 0.000000 -7.677165 0.000000 45.000000
+ END
+TURNOUT Z "RealZJ Curved 220mm 45° Z303-03"
+ P "Normal" 1
+ E 0.000000 0.000000 270.000000
+ E 6.124547 -2.536870 135.000000
+ C 0 0 8.661417 0.000000 -8.661417 0.000000 45.000000
+ A 11579568 0.053333 8.961417 0.000000 -8.661417 0.000000 45.000000
+ A 11579568 0.053333 8.361417 0.000000 -8.661417 0.000000 45.000000
+ END
diff --git a/app/lib/params/Z-Rokuhan.xtp b/app/lib/params/Z-Rokuhan.xtp
index cb37237..8a0f782 100644
--- a/app/lib/params/Z-Rokuhan.xtp
+++ b/app/lib/params/Z-Rokuhan.xtp
@@ -14,7 +14,7 @@ END
##########################################################################
SUBCONTENTS Rokuhan Z-Scale - Curve Track W/O Bed
-TURNOUT Z "Rokuhan Curved Track W/O Bed 45mm 180 R091"
+TURNOUT Z "Rokuhan Curved Track W/O Bed 45mm 180° R091"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 0.000000 0.000000 90.000000
@@ -198,7 +198,7 @@ END
##########################################################################
SUBCONTENTS Rokuhan Z-Scale - Curve Track
-TURNOUT Z "Rokuhan Curved Track 45mm 45 R046"
+TURNOUT Z "Rokuhan Curved Track 45mm 45° R046"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 1.252748 -0.518905 135.000000
@@ -206,7 +206,7 @@ TURNOUT Z "Rokuhan Curved Track 45mm 45 R046"
A 11579568 0.019685 2.217428 0.000000 -1.771654 0.000000 45.000000
A 11579568 0.019685 1.325880 0.000000 -1.771654 0.000000 45.000000
END
-TURNOUT Z "Rokuhan Curved Track 70mm 45 R018"
+TURNOUT Z "Rokuhan Curved Track 70mm 45° R018"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 1.948719 -0.807186 135.000000
@@ -214,7 +214,7 @@ TURNOUT Z "Rokuhan Curved Track 70mm 45 R018"
A 11579568 0.019685 3.055906 0.000000 -2.755906 0.000000 45.000000
A 11579568 0.019685 2.455906 0.000000 -2.755906 0.000000 45.000000
END
-TURNOUT Z "Rokuhan Curved Track 95mm 45 R010"
+TURNOUT Z "Rokuhan Curved Track 95mm 45° R010"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.644691 -1.095467 135.000000
@@ -222,7 +222,7 @@ TURNOUT Z "Rokuhan Curved Track 95mm 45 R010"
A 11579568 0.019685 4.040157 0.000000 -3.740157 0.000000 45.000000
A 11579568 0.019685 3.440157 0.000000 -3.740157 0.000000 45.000000
END
-TURNOUT Z "Rokuhan Curved Track 120mm 45 R011"
+TURNOUT Z "Rokuhan Curved Track 120mm 45° R011"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.340662 -1.383747 135.000000
@@ -230,7 +230,7 @@ TURNOUT Z "Rokuhan Curved Track 120mm 45 R011"
A 11579568 0.019685 5.024409 0.000000 -4.724409 0.000000 45.000000
A 11579568 0.019685 4.424409 0.000000 -4.724409 0.000000 45.000000
END
-TURNOUT Z "Rokuhan Curved Track 127mm 26 R019"
+TURNOUT Z "Rokuhan Curved Track 127mm 26° R019"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 2.191856 -0.506030 116.000000
@@ -238,7 +238,7 @@ TURNOUT Z "Rokuhan Curved Track 127mm 26 R019"
A 11579568 0.019685 5.300000 0.000000 -5.000000 0.000000 26.000000
A 11579568 0.019685 4.700000 0.000000 -5.000000 0.000000 26.000000
END
-TURNOUT Z "Rokuhan Curved Track 145mm 45 R005"
+TURNOUT Z "Rokuhan Curved Track 145mm 45° R005"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.036633 -1.672028 135.000000
@@ -246,7 +246,7 @@ TURNOUT Z "Rokuhan Curved Track 145mm 45 R005"
A 11579568 0.019685 6.008661 0.000000 -5.708661 0.000000 45.000000
A 11579568 0.019685 5.408661 0.000000 -5.708661 0.000000 45.000000
END
-TURNOUT Z "Rokuhan Curved Track 170mm 45 R003"
+TURNOUT Z "Rokuhan Curved Track 170mm 45° R003"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.732604 -1.960309 135.000000
@@ -254,7 +254,7 @@ TURNOUT Z "Rokuhan Curved Track 170mm 45 R003"
A 11579568 0.019685 6.992913 0.000000 -6.692913 0.000000 45.000000
A 11579568 0.019685 6.392913 0.000000 -6.692913 0.000000 45.000000
END
-TURNOUT Z "Rokuhan Curved Track 195mm 30 R032"
+TURNOUT Z "Rokuhan Curved Track 195mm 30° R032"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.838583 -1.028545 120.000000
@@ -262,7 +262,7 @@ TURNOUT Z "Rokuhan Curved Track 195mm 30 R032"
A 11579568 0.019685 7.977165 0.000000 -7.677165 0.000000 30.000000
A 11579568 0.019685 7.377165 0.000000 -7.677165 0.000000 30.000000
END
-TURNOUT Z "Rokuhan SuperElevated Curved Track 195mm 30 R064"
+TURNOUT Z "Rokuhan SuperElevated Curved Track 195mm 30° R064"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.838583 -1.028545 120.000000
@@ -270,7 +270,7 @@ TURNOUT Z "Rokuhan SuperElevated Curved Track 195mm 30 R064"
A 11579568 0.019685 7.977165 0.000000 -7.677165 0.000000 30.000000
A 11579568 0.019685 7.377165 0.000000 -7.677165 0.000000 30.000000
END
-TURNOUT Z "Rokuhan Curved Track 195mm 45 R002"
+TURNOUT Z "Rokuhan Curved Track 195mm 45° R002"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 5.428575 -2.248590 135.000000
@@ -278,7 +278,7 @@ TURNOUT Z "Rokuhan Curved Track 195mm 45 R002"
A 11579568 0.019685 7.977165 0.000000 -7.677165 0.000000 45.000000
A 11579568 0.019685 7.377165 0.000000 -7.677165 0.000000 45.000000
END
-TURNOUT Z "Rokuhan Curved Track 220mm 30 R033"
+TURNOUT Z "Rokuhan Curved Track 220mm 30° R033"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.330709 -1.160410 120.000000
@@ -286,7 +286,7 @@ TURNOUT Z "Rokuhan Curved Track 220mm 30 R033"
A 11579568 0.019685 8.961417 0.000000 -8.661417 0.000000 30.000000
A 11579568 0.019685 8.361417 0.000000 -8.661417 0.000000 30.000000
END
-TURNOUT Z "Rokuhan SuperElevated Curved Track 220mm 30 R065"
+TURNOUT Z "Rokuhan SuperElevated Curved Track 220mm 30° R065"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.330709 -1.160410 120.000000
@@ -294,7 +294,7 @@ TURNOUT Z "Rokuhan SuperElevated Curved Track 220mm 30 R065"
A 11579568 0.019685 8.961417 0.000000 -8.661417 0.000000 30.000000
A 11579568 0.019685 8.361417 0.000000 -8.661417 0.000000 30.000000
END
-TURNOUT Z "Rokuhan Curved Track 220mm 45 R004"
+TURNOUT Z "Rokuhan Curved Track 220mm 45° R004"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.124547 -2.536870 135.000000
@@ -302,7 +302,7 @@ TURNOUT Z "Rokuhan Curved Track 220mm 45 R004"
A 11579568 0.019685 8.961417 0.000000 -8.661417 0.000000 45.000000
A 11579568 0.019685 8.361417 0.000000 -8.661417 0.000000 45.000000
END
-TURNOUT Z "Rokuhan Curved Track 245mm 30 R014"
+TURNOUT Z "Rokuhan Curved Track 245mm 30° R014"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.822835 -1.292275 120.000000
@@ -310,7 +310,7 @@ TURNOUT Z "Rokuhan Curved Track 245mm 30 R014"
A 11579568 0.019685 9.945669 0.000000 -9.645669 0.000000 30.000000
A 11579568 0.019685 9.345669 0.000000 -9.645669 0.000000 30.000000
END
-TURNOUT Z "Rokuhan SuperElevated Curved Track 245mm 30 R073"
+TURNOUT Z "Rokuhan SuperElevated Curved Track 245mm 30° R073"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.822835 -1.292275 120.000000
@@ -318,7 +318,7 @@ TURNOUT Z "Rokuhan SuperElevated Curved Track 245mm 30 R073"
A 11579568 0.019685 9.945669 0.000000 -9.645669 0.000000 30.000000
A 11579568 0.019685 9.345669 0.000000 -9.645669 0.000000 30.000000
END
-TURNOUT Z "Rokuhan Curved Track 270mm 30 R015"
+TURNOUT Z "Rokuhan Curved Track 270mm 30° R015"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 5.314961 -1.4241396 120.000000
@@ -326,7 +326,7 @@ TURNOUT Z "Rokuhan Curved Track 270mm 30 R015"
A 11579568 0.019685 10.929921 0.000000 -10.629921 0.000000 30.000000
A 11579568 0.019685 10.329921 0.000000 -10.629921 0.000000 30.000000
END
-TURNOUT Z "Rokuhan SuperElevated Curved Track 270mm 30 R074"
+TURNOUT Z "Rokuhan SuperElevated Curved Track 270mm 30° R074"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 5.314961 -1.4241396 120.000000
@@ -334,7 +334,7 @@ TURNOUT Z "Rokuhan SuperElevated Curved Track 270mm 30 R074"
A 11579568 0.019685 10.929921 0.000000 -10.629921 0.000000 30.000000
A 11579568 0.019685 10.329921 0.000000 -10.629921 0.000000 30.000000
END
-TURNOUT Z "Rokuhan Curved Track 490mm 13 R012"
+TURNOUT Z "Rokuhan Curved Track 490mm 13° R012"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.339607 -0.494436 103.000000
@@ -380,7 +380,7 @@ TURNOUT Z "Rokuhan Double Crossover 220mm Turnout R078"
A3 11579568 0.019685 15.153285 8.207962 -14.449033 0 351.000000 9.000000
A3 11579568 0.019685 15.153285 8.207962 15.453285 0 180.000010 9.000000
END
-TURNOUT Z "Rokuhan Left 110mm R490 13 Turnout R039"
+TURNOUT Z "Rokuhan Left 110mm R490 13° Turnout R039"
P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -391,7 +391,7 @@ TURNOUT Z "Rokuhan Left 110mm R490 13 Turnout R039"
L 11579568 0.019685 0.000000 -0.300000 4.330709 -0.300000
A 11579568 0.019685 18.991339 0.000000 19.291339 167.000000 13.000000
END
-TURNOUT Z "Rokuhan Right 110mm R490 13 Turnout R040"
+TURNOUT Z "Rokuhan Right 110mm R490 13° Turnout R040"
P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -402,7 +402,7 @@ TURNOUT Z "Rokuhan Right 110mm R490 13 Turnout R040"
L 11579568 0.019685 0.000000 0.300000 4.330709 0.300000
A 11579568 0.019685 18.991339 0.000000 -19.291339 0.000000 13.000000
END
-TURNOUT Z "Rokuhan Left 55mm R127 26 Turnout R022"
+TURNOUT Z "Rokuhan Left 55mm R127 26° Turnout R022"
P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -413,7 +413,7 @@ TURNOUT Z "Rokuhan Left 55mm R127 26 Turnout R022"
L 11579568 0.019685 0.000000 -0.300000 2.165354 -0.300000
A 11579568 0.019685 4.700000 0.000000 5.000000 154.000000 26.000000
END
-TURNOUT Z "Rokuhan Right 55mm R127 26 Turnout R023"
+TURNOUT Z "Rokuhan Right 55mm R127 26° Turnout R023"
P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -424,9 +424,11 @@ TURNOUT Z "Rokuhan Right 55mm R127 26 Turnout R023"
L 11579568 0.019685 0.000000 0.300000 2.165354 0.300000
A 11579568 0.019685 4.700000 0.000000 -5.000000 0.000000 26.000000
END
-TURNOUT Z "Rokuhan Double Slip 112.8mm Turnout R034/35"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT Z "Rokuhan Double Slip 112.8mm Turnout R034/35" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 4.440945 0.000000 90.000000
E 0.056910 0.499494 283.000000
@@ -446,7 +448,7 @@ TURNOUT Z "Rokuhan Double Slip 112.8mm Turnout R034/35"
A 11579568 0.019685 14.694770 0.512012 -14.994770 0.000000 13.000000
A 11579568 0.019685 14.694770 3.928893 14.994766 180.000000 13.000000
END
-TURNOUT Z "Rokuhan Left Curve R195/R220 30 Turnout R026"
+TURNOUT Z "Rokuhan Left Curve R195/R220 30° Turnout R026"
P "Normal" 2 3
P "Reverse" 1
E 0.000000 0.000000 270.000000
@@ -459,7 +461,7 @@ TURNOUT Z "Rokuhan Left Curve R195/R220 30 Turnout R026"
L 11579568 0.019685 0.000000 -0.300000 0.984252 -0.300000
A 11579568 0.019685 7.977165 0.984252 7.677165 150.000000 30.000000
END
-TURNOUT Z "Rokuhan Right Curve R220/R195 30 Turnout R027"
+TURNOUT Z "Rokuhan Right Curve R220/R195 30° Turnout R027"
P "Normal" 2 3
P "Reverse" 1
E 0.000000 0.000000 270.000000
@@ -476,7 +478,7 @@ END
##########################################################################
SUBCONTENTS Rokuhan Z-Scale - Crossings
-TURNOUT Z "Rokuhan Crossing 112.8mm 13 R020A"
+TURNOUT Z "Rokuhan Crossing 112.8mm 13° R020A"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 4.440945 0.000000 90.000000
@@ -497,7 +499,7 @@ TURNOUT Z "Rokuhan Straight 53.6mm R020B"
L 11579568 0.019685 0.000000 0.300000 2.110236 0.300000
L 11579568 0.019685 0.000000 -0.300000 2.110236 -0.300000
END
-TURNOUT Z "Rokuhan Crossing 25mm 90 R025A"
+TURNOUT Z "Rokuhan Crossing 25mm 90° R025A"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 0.984252 0.000000 90.000000
@@ -539,15 +541,16 @@ END
SUBCONTENTS Rokuhan Z-Scale - Shinkansen Viaduct System Double Straight Track
TURNOUT Z "Rokuhan Viaduct Double Straight 110mm S019"
+# Move non-track segs to after track segs
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 4.330709 0.000000 90.000000
E 0.000000 0.984252 270.000000
E 4.330709 0.984252 90.000000
S 0 0 0.000000 0.000000 4.330709 0.000000
+ S 0 0 0.000000 0.984252 4.330709 0.984252
L 11579568 0.019685 0.000000 0.300000 4.330709 0.300000
L 11579568 0.019685 0.000000 -0.300000 4.330709 -0.300000
- S 0 0 0.000000 0.984252 4.330709 0.984252
L 11579568 0.019685 0.000000 1.284252 4.330709 1.284252
L 11579568 0.019685 0.000000 0.684252 4.330709 0.684252
END
@@ -555,7 +558,7 @@ END
##########################################################################
SUBCONTENTS Rokuhan Z-Scale - Shinkansen Viaduct System Curve Track
-TURNOUT Z "Rokuhan Viaduct Curved 195mm 30 S011"
+TURNOUT Z "Rokuhan Viaduct Curved 195mm 30° S011"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.838583 -1.028545 120.000000
@@ -563,7 +566,7 @@ TURNOUT Z "Rokuhan Viaduct Curved 195mm 30 S011"
A 11579568 0.019685 7.977165 0.000000 -7.677165 0.000000 30.000000
A 11579568 0.019685 7.377165 0.000000 -7.677165 0.000000 30.000000
END
-TURNOUT Z "Rokuhan Viaduct Curved 195mm 45 R0x"
+TURNOUT Z "Rokuhan Viaduct Curved 195mm 45° R0x"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 5.428575 -2.248590 135.000000
@@ -571,7 +574,7 @@ TURNOUT Z "Rokuhan Viaduct Curved 195mm 45 R0x"
A 11579568 0.019685 7.977165 0.000000 -7.677165 0.000000 45.000000
A 11579568 0.019685 7.377165 0.000000 -7.677165 0.000000 45.000000
END
-TURNOUT Z "Rokuhan Viaduct Curved 220mm 30 S012"
+TURNOUT Z "Rokuhan Viaduct Curved 220mm 30° S012"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.330709 -1.160410 120.000000
@@ -579,7 +582,7 @@ TURNOUT Z "Rokuhan Viaduct Curved 220mm 30 S012"
A 11579568 0.019685 8.961417 0.000000 -8.661417 0.000000 30.000000
A 11579568 0.019685 8.361417 0.000000 -8.661417 0.000000 30.000000
END
-TURNOUT Z "Rokuhan Viaduct Curved 220mm 45 R0x"
+TURNOUT Z "Rokuhan Viaduct Curved 220mm 45° R0x"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 6.124547 -2.536870 135.000000
@@ -591,29 +594,29 @@ END
##########################################################################
SUBCONTENTS Rokuhan Z-Scale - Shinkansen Viaduct System Curve Double Track
-TURNOUT Z "Rokuhan Viaduct Curved 195/220mm 30 S013"
+TURNOUT Z "Rokuhan Viaduct Curved 195/220mm 30° S013"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 3.838583 -1.028545 120.000000
E 0.000000 0.984252 270.000000
E 4.330709 -0.176158 120.000000
C 0 0 7.677165 0.000000 -7.677165 0.000000 30.000000
+ C 0 0 8.661417 0.000000 -7.677165 0.000000 30.000000
A 11579568 0.019685 7.977165 0.000000 -7.677165 0.000000 30.000000
A 11579568 0.019685 7.377165 0.000000 -7.677165 0.000000 30.000000
- C 0 0 8.661417 0.000000 -7.677165 0.000000 30.000000
A 11579568 0.019685 8.961417 0.000000 -7.677165 0.000000 30.000000
A 11579568 0.019685 8.361417 0.000000 -7.677165 0.000000 30.000000
END
-TURNOUT Z "Rokuhan Viaduct Curved 195/220mm 45 R0x"
+TURNOUT Z "Rokuhan Viaduct Curved 195/220mm 45° R0x"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 5.428575 -2.248590 135.000000
- E 0.000000 0.000000 270.000000
+ E 0.000000 0.984000 270.000000
E 6.124547 -1.552618 135.000000
C 0 0 7.677165 0.000000 -7.677165 0.000000 45.000000
+ C 0 0 8.661417 0.000000 -7.677165 0.000000 45.000000
A 11579568 0.019685 7.977165 0.000000 -7.677165 0.000000 45.000000
A 11579568 0.019685 7.377165 0.000000 -7.677165 0.000000 45.000000
- C 0 0 8.661417 0.000000 -7.677165 0.000000 45.000000
A 11579568 0.019685 8.961417 0.000000 -7.677165 0.000000 45.000000
A 11579568 0.019685 8.361417 0.000000 -7.677165 0.000000 45.000000
END
@@ -665,7 +668,7 @@ END
##########################################################################
SUBCONTENTS Rokuhan Z-Scale - Curve PC Track
-TURNOUT Z "Rokuhan Curved PC Track 195mm 30 R051"
+TURNOUT Z "Rokuhan Curved PC Track 195mm 30° R051"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.838583 -1.028545 120.000000
@@ -673,7 +676,7 @@ TURNOUT Z "Rokuhan Curved PC Track 195mm 30 R051"
A 11579568 0.019685 7.977165 0.000000 -7.677165 0.000000 30.000000
A 11579568 0.019685 7.377165 0.000000 -7.677165 0.000000 30.000000
END
-TURNOUT Z "Rokuhan SuperElevated Curved PC Track 195mm 30 R066"
+TURNOUT Z "Rokuhan SuperElevated Curved PC Track 195mm 30° R066"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 3.838583 -1.028545 120.000000
@@ -681,7 +684,7 @@ TURNOUT Z "Rokuhan SuperElevated Curved PC Track 195mm 30 R066"
A 11579568 0.019685 7.977165 0.000000 -7.677165 0.000000 30.000000
A 11579568 0.019685 7.377165 0.000000 -7.677165 0.000000 30.000000
END
-TURNOUT Z "Rokuhan Curved PC Track 220mm 30 R052"
+TURNOUT Z "Rokuhan Curved PC Track 220mm 30° R052"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.330709 -1.160410 120.000000
@@ -689,7 +692,7 @@ TURNOUT Z "Rokuhan Curved PC Track 220mm 30 R052"
A 11579568 0.019685 8.961417 0.000000 -8.661417 0.000000 30.000000
A 11579568 0.019685 8.361417 0.000000 -8.661417 0.000000 30.000000
END
-TURNOUT Z "Rokuhan SuperElevated Curved PC Track 220mm 30 R067"
+TURNOUT Z "Rokuhan SuperElevated Curved PC Track 220mm 30° R067"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.330709 -1.160410 120.000000
@@ -697,7 +700,7 @@ TURNOUT Z "Rokuhan SuperElevated Curved PC Track 220mm 30 R067"
A 11579568 0.019685 8.961417 0.000000 -8.661417 0.000000 30.000000
A 11579568 0.019685 8.361417 0.000000 -8.661417 0.000000 30.000000
END
-TURNOUT Z "Rokuhan Curved PC Track 245mm 30 R053"
+TURNOUT Z "Rokuhan Curved PC Track 245mm 30° R053"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.822835 -1.292275 120.000000
@@ -705,7 +708,7 @@ TURNOUT Z "Rokuhan Curved PC Track 245mm 30 R053"
A 11579568 0.019685 9.945669 0.000000 -9.645669 0.000000 30.000000
A 11579568 0.019685 9.345669 0.000000 -9.645669 0.000000 30.000000
END
-TURNOUT Z "Rokuhan SuperElevated Curved PC Track 245mm 30 R075"
+TURNOUT Z "Rokuhan SuperElevated Curved PC Track 245mm 30° R075"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.822835 -1.292275 120.000000
@@ -713,7 +716,7 @@ TURNOUT Z "Rokuhan SuperElevated Curved PC Track 245mm 30 R075"
A 11579568 0.019685 9.945669 0.000000 -9.645669 0.000000 30.000000
A 11579568 0.019685 9.345669 0.000000 -9.645669 0.000000 30.000000
END
-TURNOUT Z "Rokuhan SuperElevated Curved PC Track 270mm 30 R076"
+TURNOUT Z "Rokuhan SuperElevated Curved PC Track 270mm 30° R076"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 5.314961 -1.4241396 120.000000
@@ -721,7 +724,7 @@ TURNOUT Z "Rokuhan SuperElevated Curved PC Track 270mm 30 R076"
A 11579568 0.019685 10.929921 0.000000 -10.629921 0.000000 30.000000
A 11579568 0.019685 10.329921 0.000000 -10.629921 0.000000 30.000000
END
-TURNOUT Z "Rokuhan Curved PC Track 270mm 30 R054"
+TURNOUT Z "Rokuhan Curved PC Track 270mm 30° R054"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 5.314961 -1.4241396 120.000000
@@ -729,7 +732,7 @@ TURNOUT Z "Rokuhan Curved PC Track 270mm 30 R054"
A 11579568 0.019685 10.929921 0.000000 -10.629921 0.000000 30.000000
A 11579568 0.019685 10.329921 0.000000 -10.629921 0.000000 30.000000
END
-TURNOUT Z "Rokuhan Curved PC Track 490mm 13 R059"
+TURNOUT Z "Rokuhan Curved PC Track 490mm 13° R059"
P "Normal" 1
E 0.000000 0.000000 270.000000
E 4.339607 -0.494436 103.000000
@@ -741,7 +744,7 @@ END
##########################################################################
SUBCONTENTS Rokuhan Z-Scale - Turnout PC Track
-TURNOUT Z "Rokuhan Left 110mm R490 13 PC Turnout R055"
+TURNOUT Z "Rokuhan Left 110mm R490 13° PC Turnout R055"
P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -760,7 +763,7 @@ TURNOUT Z "Rokuhan Straight Trim Left PC Track 110mm R055A"
L 11579568 0.019685 0.500000 0.300000 4.330709 0.300000
L 11579568 0.019685 0.000000 -0.300000 4.330709 -0.300000
END
-TURNOUT Z "Rokuhan Right 110mm R490 13 PC Turnout R056"
+TURNOUT Z "Rokuhan Right 110mm R490 13° PC Turnout R056"
P "Normal" 1
P "Reverse" 2
E 0.000000 0.000000 270.000000
@@ -779,9 +782,11 @@ TURNOUT Z "Rokuhan Straight trim Right PC Track 110mm R056A"
L 11579568 0.019685 0.000000 0.300000 4.330709 0.300000
L 11579568 0.019685 0.500000 -0.300000 4.330709 -0.300000
END
-TURNOUT Z "Rokuhan Double Slip PC Track 112.8mm Turnout R068/69"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT Z "Rokuhan Double Slip PC Track 112.8mm Turnout R068/69" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 4.440945 0.000000 90.000000
E 0.056910 0.499494 283.000000
@@ -1090,7 +1095,7 @@ END
##########################################################################
SUBCONTENTS Rokuhan Z-Scale - Turntable
-TURNOUT Z "Rokuhan Turntable 170mm S037"
+TURNOUT Z "Rokuhan Turntable 170mm S037" 512
P "1" 1 2 3
P "2" 4 5 6
P "3" 7 8 9
@@ -1114,7 +1119,7 @@ TURNOUT Z "Rokuhan Turntable 170mm S037"
E 2.898117 -1.673228 120.000000
E 2.366302 -2.366302 135.000000
E 1.673228 -2.898117 150.000000
- E 0.866127 -3.232429 165.000000
+ E 0.866127 -3.232429 165.000000
E 0.000000 -3.346457 180.000000
E -0.866127 -3.232429 195.000000
E -1.673228 -2.898117 210.000000
diff --git a/app/lib/params/arnold.xtp b/app/lib/params/arnold.xtp
index e3770ba..3ef9001 100644
--- a/app/lib/params/arnold.xtp
+++ b/app/lib/params/arnold.xtp
@@ -1,4 +1,4 @@
-CONTENTS Arnold-Tracks N Scale
+CONTENTS Arnold Track N Scale
# From 'Märklin Complete Program 1994/95 E'
# Elementos diseñados por MAA - 7.086614
# Straight Section Design by MAA - 22.200000
@@ -181,9 +181,11 @@ TURNOUT N "Arnold Crossing Left 15º 1853"
S 0 0 0.153193 0.565527 4.374366 -0.565527
END
# Double Slipswitch Design by MAA - 11.100000 15.000000 11.500000
-TURNOUT N "Arnold Double Slipswitch 1720"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT N "Arnold Double Slipswitch 1720" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 4.370079 0.000000 90.000000
E -0.001605 0.585906 285.000000
@@ -198,9 +200,11 @@ TURNOUT N "Arnold Double Slipswitch 1720"
C 0 0 -11.830772 3.742574 11.830768 180.000076 15.000152
END
# Double Slipswitch Design by MAA - 11.500000 15.000000 11.100000
-TURNOUT N "Arnold Double Slipswitch Remote 1721"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT N "Arnold Double Slipswitch Remote 1721" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 4.527559 0.000000 90.000000
E 0.153193 0.565527 285.000000
diff --git a/app/lib/params/atl83ho.xtp b/app/lib/params/atl83ho.xtp
index 03f5086..0f32c2a 100644
--- a/app/lib/params/atl83ho.xtp
+++ b/app/lib/params/atl83ho.xtp
@@ -150,8 +150,8 @@ TURNOUT HO "Atlas Curve Left C83 Customline 595"
E 0.000000 0.000000 270.000000
E 15.000000 4.019238 60.000000
E 13.392751 4.546227 52.500000
- C 0 0.000000 30.000000 0.000000 30.000000 150.000000 30.000000
- C 0 0.000000 22.000000 0.000000 22.000000 142.500000 37.500000
+ C 0 0.000000 -30.000000 0.000000 30.000000 150.000000 30.000000
+ C 0 0.000000 -22.000000 0.000000 22.000000 142.500000 37.500000
END
TURNOUT HO "Atlas Curve Right C83 Customline 596"
P "Normal" 1
diff --git a/app/lib/params/atlaso2rail.xtp b/app/lib/params/atlaso2rail.xtp
index 7f0e69c..68d23c1 100644
--- a/app/lib/params/atlaso2rail.xtp
+++ b/app/lib/params/atlaso2rail.xtp
@@ -235,7 +235,7 @@ TURNOUT O "Atlas O 2 Rail 18"" Single Track Plate Girder Bridge AT-7918"
L 0 0.100000 13.500000 1.250000 13.500000 2.000000
L 0 0.100000 16.500000 1.250000 16.500000 2.000000
END
-TURNOUT O "Atlas O 2 Rail 24"" Turntable AT-6910"
+TURNOUT O "Atlas O 2 Rail 24"" Turntable AT-6910" 512
P "1" 1
P "2" 2
P "3" 3
@@ -248,18 +248,18 @@ TURNOUT O "Atlas O 2 Rail 24"" Turntable AT-6910"
P "10" 10
P "11" 11
P "12" 12
- P "13" -1
- P "14" -2
- P "15" -3
- P "16" -4
- P "17" -5
- P "18" -6
- P "19" -7
- P "20" -8
- P "21" -9
- P "22" -10
- P "23" -11
- P "24" -12
+# P "13" -1
+# P "14" -2
+# P "15" -3
+# P "16" -4
+# P "17" -5
+# P "18" -6
+# P "19" -7
+# P "20" -8
+# P "21" -9
+# P "22" -10
+# P "23" -11
+# P "24" -12
E 0.000000 12.000000 0.000000
E -0.000000 -12.000000 180.000000
E 3.105829 11.591110 15.000000
diff --git a/app/lib/params/fl-model.xtp b/app/lib/params/fl-model.xtp
index 49fae73..e9bcea0 100644
--- a/app/lib/params/fl-model.xtp
+++ b/app/lib/params/fl-model.xtp
@@ -114,7 +114,7 @@ TURNOUT HO "Fleischmann-Modell Curve 738mm 15° 6036"
E 7.520018 0.990029 75.000000
C 0 0.000000 -29.055118 0.000000 29.055118 165.000000 15.000000
END
-TURNOUT HO "Fleischmann-Modell Turntable manual 6050"
+TURNOUT HO "Fleischmann-Modell Turntable manual 6050" 512
P "1" 1
P "2" 2
P "3" 3
@@ -190,7 +190,7 @@ TURNOUT HO "Fleischmann-Modell Turntable manual 6050"
A 16711680 0 4.370079 0.000000 0.000000 0.000000 360.000000
A 16711680 0 3.248031 0.000000 0.000000 0.000000 360.000000
END
-TURNOUT HO "Fleischmann-Modell Turntable manual Elec 6052"
+TURNOUT HO "Fleischmann-Modell Turntable manual Elec 6052" 512
P "1" 1
P "2" 2
P "3" 3
@@ -316,9 +316,11 @@ TURNOUT HO "Fleischmann-Modell Crossing 15° 6062"
S 0 0.000000 0.000000 0.000000 8.641732 0.000000
S 0 0.000000 0.147230 1.118322 8.494502 -1.118322
END
-TURNOUT HO "Fleischmann-Modell DoubleSlip 15° 6065"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Fleischmann-Modell DoubleSlip 15° 6065" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 8.641732 0.000000 90.000000
E 0.147230 1.118322 285.000000
@@ -332,9 +334,11 @@ TURNOUT HO "Fleischmann-Modell DoubleSlip 15° 6065"
C 0 0.000000 22.967025 1.297200 -22.967025 0.000000 15.000000
C 0 0.000000 -22.967025 7.344532 22.967025 180.000000 15.000000
END
-TURNOUT HO "Fleischmann-Modell DoubleSlip 15° Elec 6066"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Fleischmann-Modell DoubleSlip 15° Elec 6066" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 8.641732 0.000000 90.000000
E 0.147230 1.118322 285.000000
diff --git a/app/lib/params/fl-profi.xtp b/app/lib/params/fl-profi.xtp
index 261d73e..928e72d 100644
--- a/app/lib/params/fl-profi.xtp
+++ b/app/lib/params/fl-profi.xtp
@@ -102,7 +102,7 @@ TURNOUT HO "Fleischmann-Profi Curve 788mm 7.5° 6139"
E 4.049395 0.265411 82.500000
C 0 0.000000 -31.023622 0.000000 31.023622 172.500000 7.500000
END
-TURNOUT HO "Fleischmann-Modell Large Turntable 6154"
+TURNOUT HO "Fleischmann-Modell Large Turntable 6154" 512
P "1" 1
P "2" 2
P "3" 3
@@ -250,7 +250,7 @@ TURNOUT HO "Fleischmann-Modell Large Turntable 6154"
A 16711680 0 8.956693 0.000000 0.000000 0.000000 360.000000
A 16711680 0 6.102362 0.000000 0.000000 0.000000 360.000000
END
-TURNOUT HO "Fleischmann-Modell Small Turntable 6154"
+TURNOUT HO "Fleischmann-Modell Small Turntable 6154" 512
P "1" 1
P "2" 2
P "3" 3
@@ -362,9 +362,9 @@ TURNOUT HO "Fleischmann-Profi Crossing 36X 6160"
E 4.133858 0.000000 90.000000
E 0.394748 1.214910 306.000000
E 3.739110 -1.214910 126.000000
- S 0 0.000000 0.000000 0.000000 3.739110 0.000000
+ S 0 0.000000 0.000000 0.000000 4.133858 0.000000
S 0 0.000000 0.394748 1.214910 3.739110 -1.214910
-END
+END
TURNOUT HO "Fleischmann-Profi Crossing 18° Left 6162"
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
@@ -383,9 +383,11 @@ TURNOUT HO "Fleischmann-Profi Crossing 18° Right 6163"
S 0 0.000000 0.000000 0.000000 7.874016 0.000000
S 0 0.000000 0.005475 1.277432 7.868541 -1.277432
END
-TURNOUT HO "Fleischmann-Profi DoubleSlip 18° Left 6164"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Fleischmann-Profi DoubleSlip 18° Left 6164" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 7.874016 0.000000 90.000000
E 0.005475 -1.277432 252.000000
@@ -399,9 +401,11 @@ TURNOUT HO "Fleischmann-Profi DoubleSlip 18° Left 6164"
C 0 0.000000 -17.909955 1.100350 17.909955 162.000000 18.000000
C 0 0.000000 17.909955 6.773666 -17.909955 342.000000 18.000000
END
-TURNOUT HO "Fleischmann-Profi DoubleSlip 18° Right 6165"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Fleischmann-Profi DoubleSlip 18° Right 6165" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 7.874016 0.000000 90.000000
E 0.005475 1.277432 288.000000
@@ -415,9 +419,11 @@ TURNOUT HO "Fleischmann-Profi DoubleSlip 18° Right 6165"
C 0 0.000000 17.909955 1.100350 -17.909955 0.000000 18.000000
C 0 0.000000 -17.909955 6.773666 17.909955 180.000000 18.000000
END
-TURNOUT HO "Fleischmann-Profi DoubleSlip 18° Left Elec 6166"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Fleischmann-Profi DoubleSlip 18° Left Elec 6166" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 7.874016 0.000000 90.000000
E 0.005475 -1.277432 252.000000
@@ -431,9 +437,11 @@ TURNOUT HO "Fleischmann-Profi DoubleSlip 18° Left Elec 6166"
C 0 0.000000 -17.909955 1.100350 17.909955 162.000000 18.000000
C 0 0.000000 17.909955 6.773666 -17.909955 342.000000 18.000000
END
-TURNOUT HO "Fleischmann-Profi DoubleSlip 18° Right Elec 6167"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Fleischmann-Profi DoubleSlip 18° Right Elec 6167" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 7.874016 0.000000 90.000000
E 0.005475 1.277432 288.000000
@@ -529,7 +537,7 @@ TURNOUT HO "Fleischmann-Profi Curved Left Elec 6176"
S 0 0.000000 0.000000 0.000000 0.648602 0.000000
C 0 0.000000 -12.039245 3.148602 12.039245 144.000000 36.000000
S 0 0.000000 10.225092 2.299291 10.749821 2.680529
- C 1 0.000000 -12.039245 0.648602 12.039245 144.000000 36.000000
+ C 0 0.000000 -12.039245 0.648602 12.039245 144.000000 36.000000
S 0 0.000000 7.725092 2.299291 8.249821 2.680529
S 0 0.000000 0.648602 0.000000 3.148602 0.000000
END
diff --git a/app/lib/params/flnpicco.xtp b/app/lib/params/flnpicco.xtp
index b9fc119..94d7d8e 100644
--- a/app/lib/params/flnpicco.xtp
+++ b/app/lib/params/flnpicco.xtp
@@ -183,10 +183,12 @@ TURNOUT N "Fleischmann N Scale Crossing Left 111mm 15° 9163"
L 0 0.000000 2.103522 -0.304228 4.290165 -0.890138
L 0 0.000000 0.079914 0.890138 2.266557 0.304228
END
-TURNOUT N "Fleischmann N Scale Double Slip Left 111mm 15° 9184"
+TURNOUT N "Fleischmann N Scale Double Slip Left 111mm 15° 9184" 512
U "Double Slipswitch" "Sillub Technology" "Fleischmann N Scale" "Double Slip Left 111mm 15°" "9184" 4.527559 15.000000 4.370079 0.629921 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 4.527559 0.000000 90.000000
E 0.153194 0.565530 285.000000
@@ -206,10 +208,12 @@ TURNOUT N "Fleischmann N Scale Double Slip Left 111mm 15° 9184"
A 0 0.000000 10.917940 0.784940 -11.232900 0.000000 15.000000
A 0 0.000000 10.917940 3.742619 11.232900 180.000000 15.000000
END
-TURNOUT N "Fleischmann N Scale Double Slip Right 111mm 15° 9185"
+TURNOUT N "Fleischmann N Scale Double Slip Right 111mm 15° 9185" 512
U "Double Slipswitch" "Sillub Technology" "Fleischmann N Scale" "Double Slip Right 111mm 15°" "9185" 4.370079 15.000000 4.527559 0.629921 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 4.370079 0.000000 90.000000
E -0.001604 0.585909 285.000000
@@ -229,10 +233,12 @@ TURNOUT N "Fleischmann N Scale Double Slip Right 111mm 15° 9185"
A 0 0.000000 11.516031 0.627460 -11.830991 0.000000 15.000000
A 0 0.000000 11.516031 3.742619 11.830991 180.000000 15.000000
END
-TURNOUT N "Fleischmann N Scale Double Slip w/Motor Left 111mm 15° 9186"
+TURNOUT N "Fleischmann N Scale Double Slip w/Motor Left 111mm 15° 9186" 512
U "Double Slipswitch" "Sillub Technology" "Fleischmann N Scale" "Double Slip w/Motor Left 111mm 15°" "9186" 4.527559 15.000000 4.370079 0.629921 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 4.527559 0.000000 90.000000
E 0.153194 0.565530 285.000000
@@ -252,10 +258,12 @@ TURNOUT N "Fleischmann N Scale Double Slip w/Motor Left 111mm 15° 9186"
A 0 0.000000 10.917940 0.784940 -11.232900 0.000000 15.000000
A 0 0.000000 10.917940 3.742619 11.232900 180.000000 15.000000
END
-TURNOUT N "Fleischmann N Scale Double Slip w/Motor Right 111mm 15° 9187"
+TURNOUT N "Fleischmann N Scale Double Slip w/Motor Right 111mm 15° 9187" 512
U "Double Slipswitch" "Sillub Technology" "Fleischmann N Scale" "Double Slip w/Motor Right 111mm 15°" "9187" 4.370079 15.000000 4.527559 0.629921 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 4.370079 0.000000 90.000000
E -0.001604 0.585909 285.000000
diff --git a/app/lib/params/hubner1.xtp b/app/lib/params/hubner1.xtp
index 6936506..cffce1e 100644
--- a/app/lib/params/hubner1.xtp
+++ b/app/lib/params/hubner1.xtp
@@ -76,18 +76,21 @@ TURNOUT 1 "Húbner Right 10° Crossing T1042"
S 0 0 0.000000 2.756000 31.496000 -2.756000
END
TURNOUT 1 "Húbner Left 10° Crossing T1042"
+# Fixed angles on EPs
P "Normal" 1 0 2
E 0.000000 0.000000 270.000000
E 31.496063 0.000000 90.000000
- E 0.000000 -2.755906 80.000000
- E 31.496063 2.755906 260.000000
+ E 0.000000 -2.755906 260.000000
+ E 31.496063 2.755906 80.000000
S 0 0 0.000000 0.000000 31.496000 0.000000
S 0 0 0.000000 -2.756000 31.496000 2.756000
END
# Double Slipswitch Design by Dave Bullis - 31.496063 10.000000 31.981932
-TURNOUT 1 "Húbner Right 10° Double Slip T1024"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT 1 "Húbner Right 10° Double Slip T1024" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 31.496063 0.000000 90.000000
E 0.000000 2.776802 280.000000
@@ -101,9 +104,11 @@ TURNOUT 1 "Húbner Right 10° Double Slip T1024"
C 0 0 142.416000 3.288000 -142.416000 0.000000 10.000000
C 0 0 -142.416000 28.208000 142.416000 180.000000 10.000000
END
-TURNOUT 1 "Húbner Right 10° Double Slip T1024"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT 1 "Húbner Right 10° Double Slip T1024" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 31.496063 0.000000 90.000000
E 0.000000 -2.776802 260.000000
diff --git a/app/lib/params/lgb.xtp b/app/lib/params/lgb.xtp
index 53a2b74..d879243 100644
--- a/app/lib/params/lgb.xtp
+++ b/app/lib/params/lgb.xtp
@@ -193,9 +193,11 @@ TURNOUT G "LGB Electric Switch R1 Right 12050"
C 0 0.000000 17.016317 1.770000 -17.016317 0.000000 30.000000
S 0 0.000000 10.278159 -2.279754 11.811024 -3.164754
END
-TURNOUT G "LGB Electric Double-Slip Switch 12260"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT G "LGB Electric Double-Slip Switch 12260" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 14.763780 0.000000 90.000000
E 0.561913 2.824927 292.500000
@@ -322,7 +324,7 @@ TURNOUT G "LGB Crossing 22.5° R3 13200"
END
SUBCONTENTS LGB Turntable
-TURNOUT G "LGB Turntable 14000"
+TURNOUT G "LGB Turntable 14000" 512
P "1" 1 2 3
P "2" 4 5 6
P "3" 7 8 9
@@ -331,14 +333,14 @@ TURNOUT G "LGB Turntable 14000"
P "6" 16 17 18
P "7" 19 20 21
P "8" 22 23 24
- P "9" -3 -2 -1
- P "10" -6 -5 -4
- P "11" -9 -8 -7
- P "12" -12 -11 -10
- P "13" -15 -14 -13
- P "14" -18 -17 -16
- P "15" -21 -20 -19
- P "16" -24 -23 -22
+# P "9" -3 -2 -1
+# P "10" -6 -5 -4
+# P "11" -9 -8 -7
+# P "12" -12 -11 -10
+# P "13" -15 -14 -13
+# P "14" -18 -17 -16
+# P "15" -21 -20 -19
+# P "16" -24 -23 -22
E 0.000000 14.566929 0.000000
E -0.000000 -14.566929 180.000000
E 5.574522 13.458088 22.500000
diff --git a/app/lib/params/marcway-EM.xtp b/app/lib/params/marcway-EM.xtp
index 2b17a56..2ffe46e 100644
--- a/app/lib/params/marcway-EM.xtp
+++ b/app/lib/params/marcway-EM.xtp
@@ -119,10 +119,12 @@ TURNOUT EM "Marcway 48"" Single Slip"
S 0 0.000000 11.557720 -0.762329 12.842466 -0.954351
C 0 0.000000 69.400341 1.299246 -69.400341 0.000076 8.500152
END
-TURNOUT EM "Marcway 48"" Double Slip"
+TURNOUT EM "Marcway 48"" Double Slip" 512
U "Double Slipswitch" "" "Marcway" "48"" Double Slip" "" 12.913386 8.500000 12.913386 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 12.913386 0.000000 90.000000
E 0.070920 0.954351 278.500000
diff --git a/app/lib/params/mkcarpart.c b/app/lib/params/mkcarpart.c
index 7680a8b..1d2bf9f 100644
--- a/app/lib/params/mkcarpart.c
+++ b/app/lib/params/mkcarpart.c
@@ -55,7 +55,7 @@ void readMap(
{
FILE * mapF;
char line[256];
- int len;
+ size_t len;
mapF = fopen( mapFile, "r" );
if ( mapF == NULL ) {
perror( mapFile );
@@ -110,7 +110,7 @@ void readRoadnameMap(
exit(1);
}
while ( fgets( line, sizeof line, mapF ) != NULL ) {
- int len = strlen( line );
+ size_t len = strlen( line );
if ( line[len-1] == '\n' )
line[--len] = '\0';
if ( line[0] == '\0' || line[0] == '\n' || line[0] == '#' )
@@ -282,16 +282,16 @@ void processFile(
int lineNumber = 0;
char roadnameS[256];
char repmarkS[256];
- int len;
+ size_t len;
int inx;
char * cp, *cq;
char * tab[20];
char blanks[10];
- int partX = 1;
- int descX = 2;
- int roadX = 3;
- int numbX = 4;
- int colorX = 5;
+ size_t partX = 1;
+ size_t descX = 2;
+ size_t roadX = 3;
+ size_t numbX = 4;
+ size_t colorX = 5;
inF = fopen( inFile, "r" );
if ( inF == NULL ) {
@@ -309,18 +309,28 @@ void processFile(
if ( line[0] == '\n' || line[0] == '#' )
continue;
len = strlen(line);
- if ( line[len-1] == '\n' )
+ if ( len >= 1 && line[len-1] == '\n' )
line[len-1] = '\0';
+ if ( len >= 2 && line[len-2] == '\r' )
+ line[len-2] = '\0';
if ( strnicmp( line, "scale=", 6 ) == 0 ) {
strcpy( scale, line+6 );
if ( stricmp( scale, "N" ) == 0 )
ratio = 160.0;
- else if ( stricmp( scale, "HO" ) == 0 )
+ else if ( stricmp( scale, "HO" ) == 0 || stricmp(scale, "HOn3") == 0 )
ratio = 87.1;
- else if ( stricmp( scale, "O" ) == 0 )
- ratio = 48.0;
- else if ( stricmp( scale, "S" ) == 0 )
+ else if ( stricmp( scale, "S" ) == 0 || stricmp(scale, "Sn3") == 0 )
ratio = 64.0;
+ else if ( stricmp(scale, "O") == 0 || stricmp(scale, "On3") == 0 || stricmp(scale, "On30") == 0 )
+ ratio = 48.0;
+ else if ( stricmp(scale, "1") == 0 )
+ ratio = 32.0;
+ else if ( stricmp(scale, "A") == 0 )
+ ratio = 29.0;
+ else if ( stricmp(scale, "G") == 0 )
+ ratio = 22.5;
+ else if ( stricmp(scale, "F") == 0 || stricmp(scale, "Fn2") == 0 || stricmp(scale, "Fn3") == 0 )
+ ratio = 20.32;
else {
fprintf( stderr, "%d: Unknown scale %s\n", lineNumber, scale );
ratio = 87.1;
diff --git a/app/lib/params/mrkhomde.xtp b/app/lib/params/mrkhomde.xtp
index 88d5487..9c5dbe3 100644
--- a/app/lib/params/mrkhomde.xtp
+++ b/app/lib/params/mrkhomde.xtp
@@ -233,9 +233,11 @@ TURNOUT HO " Maerklin M R22.5° 5139"
A3 16754688 0.052083 10.174306 0.664340 -9.127565 0 0.000000 22.500000
L3 16754688 0.052083 4.557878 0.272268 0 5.157107 0.024059 0
END
-TURNOUT HO " Maerklin M DKW30° 5128"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO " Maerklin M DKW30° 5128" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.215299 0.738192 255.000000
E 7.554814 2.704807 75.000000
E 0.215300 2.704809 285.000000
@@ -502,10 +504,12 @@ TURNOUT HO " Maerklin M 3WegW 5214"
L3 16754688 0.052083 6.205026 0.290474 0 6.796240 0.023738 0
L3 16754688 0.052083 7.144743 1.486187 0 7.403399 1.369490 0
END
-TURNOUT HO " Maerklin M DKW24.3°P 5207"
+TURNOUT HO " Maerklin M DKW24.3°P 5207" 512
U "DKW" "jr" " Maerklin M " " DKW24.3°P " "5207" 7.086614 24.283000 7.086614 1.476378 0.053333 16754688
- P "P0" 5 3 8 0 7 4 6
- P "P1" 7 2 8 0 5 1 6
+ P "Cross1" 5 3 8
+ P "Cross2" 7 4 6
+ P "Slip1" 7 2 8
+ P "Slip2" 5 1 6
E 0.000000 0.000000 270.000000
E 6.773121 -1.457164 114.282972
E 7.086614 0.000000 90.000000
@@ -918,10 +922,18 @@ TURNOUT HO " Maerklin M 3x30°P 3x5200"
A3 16754688 0.051803 17.958661 0.000010 17.220483 0 90.000000 90.000000
A3 16754688 0.051803 16.482283 0.000010 17.220483 0 90.000000 90.000000
END
-TURNOUT HO " Maerklin M HarfeL22°5 2x5138 + 1x5207 + 2x5210"
- P "P0" 6 5 0 16 10 15 0 1 2
- P "P1" 16 11 13 18 8 7 5 0 1 3 4 17 14 12 15
- P "P2" 1 3 4 17 14 9 13 18 8 7 5 0 16 10 15
+TURNOUT HO " Maerklin M HarfeL22°5 2x5138 + 1x5207 + 2x5210" 256
+# P "1-3+4-6" 1 3 4 17 14 12 15 0 16 11 13 18 8 7 5
+ P "2-3+4-6 Straight+Slip" 1 3 4 17 14 12 15 0 6 5
+# P "1-4+3-6" 1 3 4 17 14 9 13 18 8 7 5 0 16 10 15
+ P "3-6 Slip+Slip" 1 3 4 17 14 9 13 18 8 7 5
+ P "1-3+5-6 Slip+Straight" 1 2 0 16 11 13 18 8 7 5
+ P "1-4+2-3+5-6 3 Straight" 1 2 0 6 5 0 16 10 15
+# P "P4" 6 5 0 1 3 4 17 14 12 15
+# P "P5" 16 11 13 18 8 7 5 0 1 2
+# P "P6" 16 11 13 18 8 7 5 0 1 3 4 17 14 12 15
+# P "P8" 16 10 15 0 1 3 4 17 14 9 13 18 8 7 5
+# P "P9" 16 10 15 0 6 5 0 1 2
E 0.000000 0.000000 270.000000
E 5.925197 2.893718 270.000000
E 13.011811 2.893699 90.000000
@@ -980,10 +992,18 @@ TURNOUT HO " Maerklin M HarfeL22°5 2x5138 + 1x5207 + 2x5210"
L3 16754688 0.052083 7.276995 2.494345 0 6.469542 2.130053 0
L3 16754688 0.052083 7.884149 1.148590 0 7.076696 0.784298 0
END
-TURNOUT HO " Maerklin M HarfeR22°5 2x5139 + 1x5207 + 2x5210"
- P "P0" 13 14 0 10 9 0 5 1 6
- P "P1" 13 15 16 17 7 4 6 0 5 3 8 18 12 11 9
- P "P2" 13 15 16 17 7 2 8 18 12 11 9 0 5 1 6
+TURNOUT HO " Maerklin M HarfeR22°5 2x5139 + 1x5207 + 2x5210" 256
+ P "1-5+2-3 Straight+Slip" 10 9 0 13 15 16 17 7 4 6
+# P "1-5+2-4" 5 3 8 18 12 11 9 0 13 15 16 17 7 4 6
+ P "2-4+5-6 Slip+Straight" 5 3 8 18 12 11 9 0 13 14
+# P "1-4+2-5" 5 1 6 0 13 15 16 17 7 2 8 18 12 11 9
+ P "2-5 Slip+Slip" 13 15 16 17 7 2 8 18 12 11 9
+ P "1-4+2-3+5-6 3 Straight" 5 1 6 0 10 9 0 13 14
+# P "P1" 5 3 8 18 12 11 9 0 13 14
+# P "P5" 13 15 16 17 7 4 6 0 5 3 8 18 12 11 9
+# P "P6" 13 15 16 17 7 4 6 0 10 9
+# P "P8" 5 1 6 0 13 15 16 17 7 2 8 18 12 11 9
+# P "P9" 5 1 6 0 10 9 0 13 14
E 0.000000 0.000000 270.000018
E -5.687513 2.794784 270.000000
E 1.399101 2.794803 90.000000
@@ -1110,7 +1130,7 @@ TURNOUT HO " Maerklin M WechselR22°5 2x5139 + 5108"
END
TURNOUT HO " Maerklin M WechselLBogen 5141 + 5142 + 5100 + 5200"
P "P0" 1 6 4 5 14 0 13 9 8 7
- P "P1" 1 2 3 15 11 10 12 7
+ P "P1" 1 2 3 11 10 12 7
E 0.000000 0.000000 240.000000
E 7.086653 12.274344 0.000000
E 10.133945 12.274317 0.000000
@@ -1125,11 +1145,11 @@ TURNOUT HO " Maerklin M WechselLBogen 5141 + 5142 + 5100 + 5200"
C 0 0.000000 -11.752617 -4.665963 11.625742 90.000000 30.000000
S 0 0.000000 5.187810 5.187741 5.512110 5.749447
C 0 0.000000 -11.752624 -4.665966 8.578500 90.000000 30.000000
- S 0 0.000000 5.187814 2.140497 5.512113 2.702201
+ S 0 0.000000 5.192787 2.149148 5.512113 2.702201
S 0 0.000000 7.086658 8.578515 7.086654 11.625757
C 0 0.000000 -14.173228 -7.086609 12.274379 120.000000 30.000000
C 0 0.000000 -17.220472 -7.086572 12.274344 90.000000 30.000000
- S 0 0.000000 5.192787 2.149148 5.187787 2.140488
+# S 0 0.000000 5.192787 2.149148 5.187787 2.140488
L3 16754688 0.063158 3.282436 0.598106 0 0.504676 -1.005632 0
L3 16754688 0.063158 -0.369715 -2.408937 0 0.504264 -1.005240 0
L3 16754688 0.052632 0.369087 -3.686537 0 3.569780 -1.838617 0
@@ -1157,9 +1177,10 @@ TURNOUT HO " Maerklin M WechselLBogen 5141 + 5142 + 5100 + 5200"
L3 16754688 0.052632 4.553496 2.518242 0 4.537748 2.490965 0
L3 16754688 0.052632 5.832078 1.780055 0 5.816330 1.752779 0
END
+
TURNOUT HO " Maerklin M WechselRBogen 5141 + 5142 + 5100 + 5200"
P "P0" 1 6 4 5 14 0 13 9 8 7
- P "P1" 1 2 3 15 11 10 12 7
+ P "P1" 1 2 3 11 10 12 7
E 0.000000 0.000000 0.000000
E 10.133827 -15.321626 120.000000
E 10.133814 -12.274406 120.000000
@@ -1174,11 +1195,11 @@ TURNOUT HO " Maerklin M WechselRBogen 5141 + 5142 + 5100 + 5200"
C 0 0.000000 11.752617 14.799868 -0.648581 240.000000 30.000000
S 0 0.000000 4.946113 -7.086608 4.621811 -6.524902
C 0 0.000000 11.752624 14.799879 -3.695823 240.000000 30.000000
- S 0 0.000000 4.946117 -10.133852 4.621816 -9.572148
+ S 0 0.000000 4.946117 -10.1333866 4.621816 -9.572148
S 0 0.000000 3.047255 -3.695838 3.047251 -0.648596
C 0 0.000000 14.173228 17.220444 0.000003 210.000000 30.000000
C 0 0.000000 17.220472 17.220472 0.000023 240.000000 30.000000
- S 0 0.000000 4.951063 -10.142526 4.946063 -10.133866
+# S 0 0.000000 4.951063 -10.142526 4.946063 -10.133866
L3 16754688 0.063158 6.851431 -11.676247 0 9.629186 -13.279993 0
L3 16754688 0.063158 10.503574 -14.683299 0 9.629599 -13.279601 0
L3 16754688 0.052632 9.764731 -15.960915 0 6.564042 -14.112987 0
@@ -1486,7 +1507,7 @@ TURNOUT HO " Maerklin M Bahnuebergang 7192"
L3 16777215 0.104167 5.568233 -2.316773 0 5.678962 -2.095316 0
L3 16777215 0.104167 5.678962 -2.316773 0 5.568233 -2.095316 0
END
-TURNOUT HO " Maerklin M Drehscheibe 7186"
+TURNOUT HO " Maerklin M Drehscheibe 7186" 512
P "1" 1 2 3
P "2" 4 5 6
P "3" 7 8 9
@@ -1511,30 +1532,30 @@ TURNOUT HO " Maerklin M Drehscheibe 7186"
P "22" 64 65 66
P "23" 67 68 69
P "24" 70 71 72
- P "25" -3 -2 -1
- P "26" -6 -5 -4
- P "27" -9 -8 -7
- P "28" -12 -11 -10
- P "29" -15 -14 -13
- P "30" -18 -17 -16
- P "31" -21 -20 -19
- P "32" -24 -23 -22
- P "33" -27 -26 -25
- P "34" -30 -29 -28
- P "35" -33 -32 -31
- P "36" -36 -35 -34
- P "37" -39 -38 -37
- P "38" -42 -41 -40
- P "39" -45 -44 -43
- P "40" -48 -47 -46
- P "41" -51 -50 -49
- P "42" -54 -53 -52
- P "43" -57 -56 -55
- P "44" -60 -59 -58
- P "45" -63 -62 -61
- P "46" -66 -65 -64
- P "47" -69 -68 -67
- P "48" -72 -71 -70
+# P "25" -3 -2 -1
+# P "26" -6 -5 -4
+# P "27" -9 -8 -7
+# P "28" -12 -11 -10
+# P "29" -15 -14 -13
+# P "30" -18 -17 -16
+# P "31" -21 -20 -19
+# P "32" -24 -23 -22
+# P "33" -27 -26 -25
+# P "34" -30 -29 -28
+# P "35" -33 -32 -31
+# P "36" -36 -35 -34
+# P "37" -39 -38 -37
+# P "38" -42 -41 -40
+# P "39" -45 -44 -43
+# P "40" -48 -47 -46
+# P "41" -51 -50 -49
+# P "42" -54 -53 -52
+# P "43" -57 -56 -55
+# P "44" -60 -59 -58
+# P "45" -63 -62 -61
+# P "46" -66 -65 -64
+# P "47" -69 -68 -67
+# P "48" -72 -71 -70
E 0.000000 7.598425 0.000000
E -0.000000 -7.598425 180.000000
E 0.991794 7.533420 7.500000
@@ -1658,7 +1679,7 @@ TURNOUT HO " Maerklin M Drehscheibe 7186"
A 16711680 0 7.598425 0.000000 0.000000 0.000000 360.000000
A 16711680 0 6.102362 0.000000 0.000000 0.000000 360.000000
END
-TURNOUT HO " Maerklin M Schiebebuehne 7294"
+TURNOUT HO " Maerklin M Schiebebuehne 7294" 512
# P "P0" 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10
# P "P1"
P "P0" 1 2 3
diff --git a/app/lib/params/mrklnhoc-de.xtp b/app/lib/params/mrklnhoc-de.xtp
index 754bb1b..aa4e063 100644
--- a/app/lib/params/mrklnhoc-de.xtp
+++ b/app/lib/params/mrklnhoc-de.xtp
@@ -54,23 +54,23 @@ TURNOUT HO "Märklin C-Gleis Gerade 188.3mm 24188"
L 8421376 0.030000 0.000000 0.787400 7.413386 0.787400
L 8421376 0.030000 0.000000 -0.787400 7.413386 -0.787400
END
-TURNOUT HO "Märklin C-Gleis Gerade 229.0mm 24229"
- U "Gerader Abschnitt" "XtrkCad" "Märklin C-Gleis" "Gerade 229.0mm" "24229" 9.015748
+TURNOUT HO "Märklin C-Gleis Gerade 229.3mm 24229"
+ U "Gerader Abschnitt" "XtrkCad" "Märklin C-Gleis" "Gerade 229.3mm" "24229" 9.027559
P "Normal" 1
E 0.000000 0.000000 270.000000
- E 9.015748 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 9.015748 0.000000
- L 8421376 0.030000 0.000000 0.787400 9.015748 0.787400
- L 8421376 0.030000 0.000000 -0.787400 9.015748 -0.787400
+ E 9.027559 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 9.027559 0.000000
+ L 8421376 0.030000 0.000000 0.787400 9.027559 0.787400
+ L 8421376 0.030000 0.000000 -0.787400 9.027559 -0.787400
END
-TURNOUT HO "Märklin C-Gleis Gerade 236.0mm 24236"
- U "Gerader Abschnitt" "XtrkCad" "Märklin C-Gleis" "Gerade 236.0mm" "24236" 9.291338
+TURNOUT HO "Märklin C-Gleis Gerade 236.1mm 24236"
+ U "Gerader Abschnitt" "XtrkCad" "Märklin C-Gleis" "Gerade 236.1mm" "24236" 9.295276
P "Normal" 1
E 0.000000 0.000000 270.000000
- E 9.291338 0.000000 90.000000
- S 0 0.000000 0.000000 0.000000 9.291338 0.000000
- L 8421376 0.030000 0.000000 0.787400 9.291338 0.787400
- L 8421376 0.030000 0.000000 -0.787400 9.291338 -0.787400
+ E 9.295276 0.000000 90.000000
+ S 0 0.000000 0.000000 0.000000 9.295276 0.000000
+ L 8421376 0.030000 0.000000 0.787400 9.295276 0.787400
+ L 8421376 0.030000 0.000000 -0.787400 9.295276 -0.787400
END
TURNOUT HO "Märklin C-Gleis Gerade 360.0mm 24360"
U "Gerader Abschnitt" "XtrkCad" "Märklin C-Gleis" "Gerade 360.0mm" "24360" 14.173228
@@ -280,10 +280,12 @@ TURNOUT HO "Märklin C-Gleis Dreiwegweiche 188.3mm R2=437.5mm 24.3° 24630"
A 8421376 0.030000 -16.437009 0.000000 17.224409 155.700000 24.300000
A 8421376 0.030000 16.437009 0.000000 -17.224409 0.00000000 24.300000
END
-TURNOUT HO "Märklin C-Gleis Doppelkreuzungsweiche 188.3mm R2=437.5mm 24.3° 24624"
+TURNOUT HO "Märklin C-Gleis Doppelkreuzungsweiche 188.3mm R2=437.5mm 24.3° 24624" 512
U "Doppelkreuzungsweiche" "XtrkCad" "Märklin C-Gleis" "Doppelkreuzungsweiche" "24624" 7.413386 24.300000 7.413386
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 7.413386 0.000000 90.000000
E 0.328401 1.525357 294.300000
diff --git a/app/lib/params/mrklnz.xtp b/app/lib/params/mrklnz.xtp
index f47602c..1298241 100644
--- a/app/lib/params/mrklnz.xtp
+++ b/app/lib/params/mrklnz.xtp
@@ -156,9 +156,11 @@ TURNOUT Z "Märklin Crossing 8559"
SUBCONTENTS Märklin Z-Scale - Turnouts(Switches)
# Double Slipswitch Design by Dirk Husemann - 11.280000 13.000000 11.2800
-TURNOUT Z "Märklin Double Slip 8560"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT Z "Märklin Double Slip 8560" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 4.440945 0.000000 90.000000
E 0.056911 0.499498 283.000000
@@ -354,7 +356,7 @@ STRUCTURE Z "Märklin Track Bumper 15mm 8991"
L3 0 0.013333 -0.395000 0.197500 0 0.000000 -0.197500 0
L3 0 0.013333 -0.395000 -0.197500 0 0.000000 0.197500 0
END
-TURNOUT Z "Märklin Transfer Table 8994"
+TURNOUT Z "Märklin Transfer Table 8994" 512
P "P1" 1 2 3
P "P2" 4 5 6
P "P3" 7 8 9
@@ -398,7 +400,7 @@ TURNOUT Z "Märklin Transfer Table 8994"
L3 0 0.026667 5.529333 0.407333 0 7.893333 0.407333 0
L3 0 0.026667 0.801333 0.407333 0 3.165333 0.407333 0
END
-TURNOUT Z "Märklin Turntable 8599"
+TURNOUT Z "Märklin Turntable 8599" 512
P "1" 1 2 3
P "2" 4 5 6
P "3" 7 8 9
@@ -411,18 +413,18 @@ TURNOUT Z "Märklin Turntable 8599"
P "10" 28 29 30
P "11" 31 32 33
P "12" 34 35 36
- P "13" -3 -2 -1
- P "14" -6 -5 -4
- P "15" -9 -8 -7
- P "16" -12 -11 -10
- P "17" -15 -14 -13
- P "18" -18 -17 -16
- P "19" -21 -20 -19
- P "20" -24 -23 -22
- P "21" -27 -26 -25
- P "22" -30 -29 -28
- P "23" -33 -32 -31
- P "24" -36 -35 -34
+# P "13" -3 -2 -1
+# P "14" -6 -5 -4
+# P "15" -9 -8 -7
+# P "16" -12 -11 -10
+# P "17" -15 -14 -13
+# P "18" -18 -17 -16
+# P "19" -21 -20 -19
+# P "20" -24 -23 -22
+# P "21" -27 -26 -25
+# P "22" -30 -29 -28
+# P "23" -33 -32 -31
+# P "24" -36 -35 -34
E 0.000000 3.346457 0.000000
E -0.000000 -3.346457 180.000000
E 0.866127 3.232429 15.000000
diff --git a/app/lib/params/nmra-ho.xtp b/app/lib/params/nmra-ho.xtp
index c852558..8083124 100644
--- a/app/lib/params/nmra-ho.xtp
+++ b/app/lib/params/nmra-ho.xtp
@@ -606,10 +606,12 @@ TURNOUT HO "NMRA HO #8 SingleSlip 8SS"
END
SUBCONTENTS NMRA HO Scale Double Slip Turnouts
-TURNOUT HO "NMRA HO #6 Double Slip 6DS"
+TURNOUT HO "NMRA HO #6 Double Slip 6DS" 512
U "Double Slipswitch" "" "NMRA HO" "#6 Double Slip" "6DS" 15.814000 9.527283 15.814000 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 15.814000 0.000000 90.000000
E 0.109060 1.308733 279.527283
@@ -623,10 +625,12 @@ TURNOUT HO "NMRA HO #6 Double Slip 6DS"
C 0 0.000000 79.291533 1.299241 -79.291533 0.000076 9.527435
C 0 0.000000 -79.291533 14.514547 79.291516 180.000076 9.527435
END
-TURNOUT HO "NMRA HO #8 Double Slip 8DS"
+TURNOUT HO "NMRA HO #8 Double Slip 8DS" 512
U "Double Slipswitch" "" "NMRA HO" "#8 Double Slip" "8DS" 21.922000 7.152669 21.922000 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 21.922000 0.000000 90.000000
E 0.085298 1.364778 277.152669
diff --git a/app/lib/params/nmra-n.xtp b/app/lib/params/nmra-n.xtp
index 5beae03..d27e5ee 100644
--- a/app/lib/params/nmra-n.xtp
+++ b/app/lib/params/nmra-n.xtp
@@ -606,10 +606,12 @@ TURNOUT N "NMRA N #8 Single Slip 8SS"
END
SUBCONTENTS NMRA N Scale Double Slip Turnouts
-TURNOUT N "NMRA N #6 Double Slip 6DS"
+TURNOUT N "NMRA N #6 Double Slip 6DS" 512
U "Double Slipswitch" "" "NMRA N" "#6 Double Slip" "6DS" 9.064000 9.527283 9.064000 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 9.064000 0.000000 90.000000
E 0.062509 0.750118 279.527283
@@ -623,10 +625,12 @@ TURNOUT N "NMRA N #6 Double Slip 6DS"
C 0 0.000000 45.879612 0.708623 -45.879612 0.000076 9.527435
C 0 0.000000 -45.879612 8.355255 45.879602 180.000076 9.527435
END
-TURNOUT N "NMRA N #8 Double Slip 8DS"
+TURNOUT N "NMRA N #8 Double Slip 8DS" 512
U "Double Slipswitch" "" "NMRA N" "#8 Double Slip" "8DS" 12.388000 7.152669 12.388000 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 12.388000 0.000000 90.000000
E 0.048201 0.771229 277.152669
diff --git a/app/lib/params/nmra-o.xtp b/app/lib/params/nmra-o.xtp
index 109c5af..abea10e 100644
--- a/app/lib/params/nmra-o.xtp
+++ b/app/lib/params/nmra-o.xtp
@@ -606,10 +606,12 @@ TURNOUT O "NMRA O #8 Single Slip 8SS"
END
SUBCONTENTS NMRA O Scale Double Slip Turnouts
-TURNOUT O "NMRA O #6 Double Slip 6DS"
+TURNOUT O "NMRA O #6 Double Slip 6DS" 512
U "Double Slipswitch" "" "NMRA O" "#6 Double Slip" "6DS" 27.874000 9.527283 27.874000 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 27.874000 0.000000 90.000000
E 0.192231 2.306794 279.527283
@@ -623,10 +625,12 @@ TURNOUT O "NMRA O #6 Double Slip 6DS"
C 0 0.000000 137.240374 2.500080 -137.240374 0.000076 9.527435
C 0 0.000000 -137.240374 25.373554 137.240344 180.000076 9.527435
END
-TURNOUT O "NMRA O #8 Double Slip 8DS"
+TURNOUT O "NMRA O #8 Double Slip 8DS" 512
U "Double Slipswitch" "" "NMRA O" "#8 Double Slip" "8DS" 38.960000 7.152669 38.960000 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 38.960000 0.000000 90.000000
E 0.151592 2.425498 277.152669
diff --git a/app/lib/params/nmra-s.xtp b/app/lib/params/nmra-s.xtp
index 3ce08a3..78500cf 100644
--- a/app/lib/params/nmra-s.xtp
+++ b/app/lib/params/nmra-s.xtp
@@ -591,28 +591,27 @@ TURNOUT S "NMRA S #6 Single Slip 6SS"
C 0 0.000000 105.957235 1.748056 -105.957235 0.000076 9.527435
END
TURNOUT S "NMRA S #8 Single Slip 8SS"
- U "Double Slipswitch" "" "NMRA S" "#8 Single Slip" "8SS" 29.468000 7.152669 29.468000 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ U "Single Slipswitch" "" "NMRA S" "#8 Single Slip" "8SS" 29.468000 7.152669 29.468000 0.000000 0.000000 0
+ P "Normal" 1 2 0 3 4
+ P "Reverse" 1 5 4
E 0.000000 0.000000 270.000000
E 29.468000 0.000000 90.000000
E 0.114659 1.834563 277.152669
E 29.353341 -1.834563 97.152669
S 0 0.000000 0.000000 0.000000 1.748901 0.000000
- S 0 0.000000 1.748901 0.000000 27.719099 0.000000
- S 0 0.000000 27.719099 0.000000 29.468000 0.000000
- S 0 0.000000 0.114659 1.834563 1.848507 1.616945
- S 0 0.000000 1.848507 1.616945 27.619493 -1.616945
+ S 0 0.000000 1.748901 0.000000 29.468000 0.000000
+ S 0 0.000000 0.114659 1.834563 27.619493 -1.616945
S 0 0.000000 27.619493 -1.616945 29.353341 -1.834563
C 0 0.000000 207.768967 1.748074 -207.768967 0.000076 7.152821
- C 0 0.000000 -207.768967 27.719372 207.768933 180.000076 7.152821
END
SUBCONTENTS NMRA S Scale Double Slip Turnouts
-TURNOUT S "NMRA S #6 Double Slip 6DS"
+TURNOUT S "NMRA S #6 Double Slip 6DS" 512
U "Double Slipswitch" "" "NMRA S" "#6 Double Slip" "6DS" 21.156000 9.527283 21.156000 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 21.156000 0.000000 90.000000
E 0.145901 1.750826 279.527283
@@ -626,17 +625,22 @@ TURNOUT S "NMRA S #6 Double Slip 6DS"
C 0 0.000000 105.957235 1.748056 -105.957235 0.000076 9.527435
C 0 0.000000 -105.957235 19.407661 105.957212 180.000076 9.527435
END
-TURNOUT S "NMRA S #8 Double Slip 8DS"
- U "Single Slipswitch" "" "NMRA S" "#8 Double Slip" "8DS" 29.468000 7.152669 29.468000 0.000000 0.000000 0
- P "Normal" 1 2 0 3 4
- P "Reverse" 1 5 4
+TURNOUT S "NMRA S #8 Double Slip 8DS" 512
+ U "Double Slipswitch" "" "NMRA S" "#8 Double Slip" "8DS" 29.468000 7.152669 29.468000 0.000000 0.000000 0
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 29.468000 0.000000 90.000000
E 0.114659 1.834563 277.152669
E 29.353341 -1.834563 97.152669
S 0 0.000000 0.000000 0.000000 1.748901 0.000000
- S 0 0.000000 1.748901 0.000000 29.468000 0.000000
- S 0 0.000000 0.114659 1.834563 27.619493 -1.616945
+ S 0 0.000000 1.748901 0.000000 27.719099 0.000000
+ S 0 0.000000 27.719099 0.000000 29.468000 0.000000
+ S 0 0.000000 0.114659 1.834563 1.848507 1.616945
+ S 0 0.000000 1.848507 1.616945 27.619493 -1.616945
S 0 0.000000 27.619493 -1.616945 29.353341 -1.834563
C 0 0.000000 207.768967 1.748074 -207.768967 0.000076 7.152821
+ C 0 0.000000 -207.768967 27.719372 207.768933 180.000076 7.152821
END
diff --git a/app/lib/params/nmra-tt.xtp b/app/lib/params/nmra-tt.xtp
index 76827bf..f43cd3c 100644
--- a/app/lib/params/nmra-tt.xtp
+++ b/app/lib/params/nmra-tt.xtp
@@ -619,10 +619,12 @@ TURNOUT TT "NMRA TT #8 Single Slip 8SS"
END
SUBCONTENTS NMRA TT Scale Double Slip Turnouts
-TURNOUT TT "NMRA TT #6 Double Slip 6DS"
+TURNOUT TT "NMRA TT #6 Double Slip 6DS" 512
U "Double Slipswitch" "" "NMRA TT" "#6 Double Slip" "6DS" 11.750000 9.527283 11.750000 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 11.750000 0.000000 90.000000
E 0.081033 0.972405 279.527283
diff --git a/app/lib/params/nmra-z.xtp b/app/lib/params/nmra-z.xtp
index 63833d6..9bbd8b2 100644
--- a/app/lib/params/nmra-z.xtp
+++ b/app/lib/params/nmra-z.xtp
@@ -606,10 +606,12 @@ TURNOUT Z "NMRA Z #8 Single Slip 8SS"
END
SUBCONTENTS NMRA Z Scale Double Slip Turnouts
-TURNOUT Z "NMRA Z #6 Double Slip 6DS"
+TURNOUT Z "NMRA Z #6 Double Slip 6DS" 512
U "Double Slipswitch" "" "NMRA Z" "#6 Double Slip" "6DS" 6.864000 9.527283 6.864000 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 6.864000 0.000000 90.000000
E 0.047337 0.568050 279.527283
@@ -623,10 +625,12 @@ TURNOUT Z "NMRA Z #6 Double Slip 6DS"
C 0 0.000000 35.039098 0.512016 -35.039098 0.000076 9.527435
C 0 0.000000 -35.039098 6.351890 35.039091 180.000076 9.527435
END
-TURNOUT Z "NMRA Z #8 Double Slip 8DS"
+TURNOUT Z "NMRA Z #8 Double Slip 8DS" 512
U "Double Slipswitch" "" "NMRA Z" "#8 Double Slip" "8DS" 9.282000 7.152669 9.282000 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 9.282000 0.000000 90.000000
E 0.036116 0.577861 277.152669
diff --git a/app/lib/params/p4.xtp b/app/lib/params/p4.xtp
index 0c8d6a4..c4d75ed 100644
--- a/app/lib/params/p4.xtp
+++ b/app/lib/params/p4.xtp
@@ -23,9 +23,11 @@ TURNOUT P4 "P4 B6-R"
S 0 0 10.165179 -0.798646 11.496063 -1.023622
END
# Double Slipswitch Design by - 32.100000 6.000000 32.100000
-TURNOUT P4 "P4 DS-6"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT P4 "P4 DS-6" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 12.637795 0.000000 90.000000
E 0.088379 1.053141 279.594076
@@ -92,9 +94,11 @@ TURNOUT P4 "P4 Quarter turn, 1200R"
C 0 0 -47.244094 0.000063 47.244094 90.000076 90.000000
END
# Double Slipswitch Design by - 30.000000 7.000000 30.000000
-TURNOUT P4 "P4 DS-7"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT P4 "P4 DS-7" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 11.811024 0.000000 90.000000
E 0.060570 0.843637 278.213218
@@ -465,9 +469,11 @@ TURNOUT P4 "P4 OUTSIDE SINGLE SLIP-4.5"
C 0 0.000000 63.275490 1.482635 -63.275490 0.000076 12.839751
END
# Double Slipswitch Design by - 43.700000 4.500000 43.700000
-TURNOUT P4 "P4 OUTSIDE DOUBLE SLIP-4.5"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT P4 "P4 OUTSIDE DOUBLE SLIP-4.5" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 17.204724 0.000000 90.000000
E 0.215091 1.911625 282.839599
diff --git a/app/lib/params/peco turntable wo routes.xtp b/app/lib/params/peco turntable wo routes.xtp
index 798150a..a48080f 100644
--- a/app/lib/params/peco turntable wo routes.xtp
+++ b/app/lib/params/peco turntable wo routes.xtp
@@ -1,5 +1,6 @@
CONTENTS Peco Turntable without Stubs
-TURNOUT N "Peco Turn Table NB-55"
+TURNOUT N "Peco Turn Table NB-55" 512
+# Added correct EPs
P "1" 1
P "2" 2
P "3" 3
@@ -18,7 +19,42 @@ TURNOUT N "Peco Turn Table NB-55"
P "16" 16
P "17" 17
P "18" 18
- E 0.000000 0.000000 0.000000
+ E 0.000 3.000 0.000
+ E 0.000 -3.000 180.000
+ E 0.521 2.954 10.000
+ E -0.521 -2.954 190.000
+ E 1.026 2.819 20.000
+ E -1.026 -2.819 200.000
+ E 1.500 2.598 30.000
+ E -1.500 -2.598 210.000
+ E 1.928 2.298 40.000
+ E -1.928 -2.298 220.000
+ E 2.298 1.928 50.000
+ E -2.298 -1.928 230.000
+ E 2.598 1.500 60.000
+ E -2.598 -1.500 240.000
+ E 2.819 1.026 70.000
+ E -2.819 -1.026 250.000
+ E 2.954 0.521 80.000
+ E -2.954 -0.521 260.000
+ E 3.000 0.000 90.000
+ E -3.000 0.000 270.000
+ E 2.954 -0.521 100.000
+ E -2.954 0.521 280.000
+ E 2.819 -1.026 110.000
+ E -2.819 1.026 290.000
+ E 2.598 -1.500 120.000
+ E -2.598 1.500 300.000
+ E 2.298 -1.928 130.000
+ E -2.298 1.928 310.000
+ E 1.928 -2.298 140.000
+ E -1.928 2.298 320.000
+ E 1.500 -2.598 150.000
+ E -1.500 2.598 330.000
+ E 1.026 -2.819 160.000
+ E -1.026 2.819 340.000
+ E 0.521 -2.954 170.000
+ E -0.521 2.954 350.000
S 16777215 0.000000 0.000000 3.000000 0.000000 -3.000000
S 16777215 0.000000 0.520945 2.954423 -0.520945 -2.954423
S 16777215 0.000000 1.026060 2.819078 -1.026060 -2.819078
diff --git a/app/lib/params/peco-O-Bullhead.xtp b/app/lib/params/peco-O-Bullhead.xtp
index 3e06f30..df60085 100644
--- a/app/lib/params/peco-O-Bullhead.xtp
+++ b/app/lib/params/peco-O-Bullhead.xtp
@@ -62,9 +62,11 @@ TURNOUT O "Peco Long Crossing SLE-794BH"
S 0 0.000000 0.000000 0.000000 22.992126 0.000000
S 0 0.000000 0.111877 1.599926 22.880249 -1.599926
END
-TURNOUT O "Peco Double Slip SL-790BH"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT O "Peco Double Slip SL-790BH" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 22.992126 0.000000 90.000000
E 0.111877 1.599926 278.000000
diff --git a/app/lib/params/proto-ng-3-foot.xtp b/app/lib/params/proto-ng-3-foot.xtp
new file mode 100644
index 0000000..aeb6c15
--- /dev/null
+++ b/app/lib/params/proto-ng-3-foot.xtp
@@ -0,0 +1,264 @@
+##################################################################################
+#
+# This file contains steam engine prototypes
+#
+# Copyright (c) 2012 Serdar Soysal online@soysals.com
+# Modified for Narrow Gauge Engines Russell Shilling
+#
+# Released under the Gnu GPL 2.0 License
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+#============================================================
+##################################################################################
+CONTENTS North American 3' Gauge
+
+SUBCONTENTS Steam Engines and Tenders
+CARPROTO "2-8-0, Baldwin Consolidation C-19" 2 10201 370.000 100.000 0 0 140.000 390.000
+ F3 3881787 0.000000 5
+ 0.000000 0.000000 0
+ 340.000000 0.000000 0
+ 370.000000 50.000000 0
+ 340.000000 100.000000 0
+ 0.000000 100.000000 0
+# The boiler
+ L3 10132122 3.400000 115.000000 20.000000 0 320.000000 20.000000 0
+ L3 10132122 3.400000 320.000000 20.000000 0 320.000000 80.000000 0
+ L3 10132122 3.400000 320.000000 80.000000 0 115.000000 80.000000 0
+ L3 10132122 3.400000 115.000000 80.000000 0 115.000000 20.000000 0
+# The cab
+ L3 10132122 3.400000 0.000000 5.000000 0 115.000000 5.000000 0
+ L3 10132122 3.400000 115.000000 5.000000 0 115.000000 95.000000 0
+ L3 10132122 3.400000 115.000000 95.000000 0 0.000000 95.000000 0
+# The circles
+ A3 2631720 8.400000 16.000000 294.000000 50.000000 0 180.000000 360.000000
+ A3 10132122 3.400000 20.000000 194.000000 50.000000 0 180.000000 360.000000
+ A3 10132122 3.400000 22.000000 144.000000 50.000000 0 180.000000 360.000000
+ G3 10132122 3.400000 10.000000 244.000000 50.000000.0
+ END$SEGS
+CARPROTO "Tender, Consolidation Short" 0 10201 240.000 100.000 0 0 160.000 250.000
+ F3 3881787 0.000000 4
+ 0.000000 0.000000 0
+ 240.000000 0.000000 0
+ 240.000000 100.000000 0
+ 0.000000 100.000000 0
+ F3 0 0.000000 4
+ 90.000000 15.000000 0
+ 225.000000 15.000000 0
+ 225.000000 85.000000 0
+ 90.000000 85.000000 0
+ L3 10132122 3.400000 30.000000 0.000000 0 30.000000 100.000000 0
+ L3 10132122 3.400000 10.000000 20.000000 0 40.000000 20.000000 0
+ L3 10132122 3.400000 10.000000 80.000000 0 40.000000 80.000000 0
+ END$SEGS
+CARPROTO "2-8-2, Baldwin Mikado K-27" 2 10201 493.000 100.000 0 0 140.000 513.000
+ F3 3881787 0.000000 5
+ 0.000000 0.000000 0
+ 463.000000 0.000000 0
+ 493.000000 50.000000 0
+ 463.000000 100.000000 0
+ 0.000000 100.000000 0
+# The boiler
+ L3 10132122 3.400000 126.000000 15.000000 0 443.000000 15.000000 0
+ L3 10132122 3.400000 443.000000 15.000000 0 443.000000 85.000000 0
+ L3 10132122 3.400000 443.000000 85.000000 0 126.000000 85.000000 0
+ L3 10132122 3.400000 126.000000 85.000000 0 126.000000 15.000000 0
+# The cab
+ L3 10132122 3.400000 0.000000 5.000000 0 126.000000 5.000000 0
+ L3 10132122 3.400000 126.000000 5.000000 0 126.000000 95.000000 0
+ L3 10132122 3.400000 126.000000 95.000000 0 0.000000 95.000000 0
+# The circles
+ A3 2631720 8.400000 16.000000 420.000000 50.000000 0 180.000000 360.000000
+ A3 10132122 3.400000 20.000000 325.000000 50.000000 0 180.000000 360.000000
+ A3 10132122 3.400000 25.000000 255.000000 50.000000 0 180.000000 360.000000
+ G3 3881787 3.4000000 15.000000 420.000000 50.000000 0
+ G3 10132122 3.400000 10.000000 160.000000 50.000000 0
+ END$SEGS
+CARPROTO "Tender, Mikado Long" 0 10201 300.000 100.000 0 0 160.000 310.000
+ F3 3881787 0.000000 4
+ 0.000000 0.000000 0
+ 300.000000 0.000000 0
+ 300.000000 100.000000 0
+ 0.000000 100.000000 0
+ F3 0 0.000000 4
+ 90.000000 15.000000 0
+ 285.000000 15.000000 0
+ 285.000000 85.000000 0
+ 90.000000 85.000000 0
+ L3 10132122 3.400000 30.000000 0.000000 0 30.000000 100.000000 0
+ L3 10132122 3.400000 10.000000 20.000000 0 40.000000 20.000000 0
+ L3 10132122 3.400000 10.000000 80.000000 0 40.000000 80.000000 0
+ END$SEGS
+
+##################################################################################
+
+SUBCONTENTS Freight Cars
+CARPROTO "Box Car" 0 30100 360.000 100.000 0 0 256.000 392.000
+ F4 255 0.000000 4 0
+ 0.000000 0.000000 0
+ 360.000000 0.000000 0
+ 360.000000 100.000000 0
+ 0.000000 100.000000 0
+# roofwalk
+ L3 0 0.000000 0.000000 44.500000 0 360.000000 44.000000 0
+ L3 0 0.000000 0.000000 48.500000 0 360.000000 48.000000 0
+ L3 0 0.000000 0.000000 52.500000 0 360.000000 52.000000 0
+ L3 0 0.000000 0.000000 56.500000 0 360.000000 56.000000 0
+ END$SEGS
+CARPROTO "Drop-Bottom Gondola" 0 30100 384.000 100.000 0 0 288.000 416.000
+ F4 255 0.000000 4 0
+ 0.000000 100.000000 0
+ 384.000000 100.000000 0
+ 384.000000 0.000000 0
+ 0.000000 0.000000 0
+ END$SEGS
+CARPROTO "Stock Car" 0 30100 360.000 100.000 0 0 264.000 392.000
+ F4 255 0.000000 4 0
+ 0.000000 0.000000 0
+ 360.000000 0.000000 0
+ 360.000000 100.000000 0
+ 0.000000 100.000000 0
+# roofwalk
+ L3 0 0.000000 0.000000 44.500000 0 360.000000 44.000000 0
+ L3 0 0.000000 0.000000 48.500000 0 360.000000 48.000000 0
+ L3 0 0.000000 0.000000 52.500000 0 360.000000 52.000000 0
+ L3 0 0.000000 0.000000 56.500000 0 360.000000 56.000000 0
+ END$SEGS
+CARPROTO "High-Side Gondola" 0 30100 384.000 100.000 0 0 288.000 416.000
+ F4 255 0.000000 4 0
+ 0.000000 0.000000 0
+ 384.000000 0.000000 0
+ 384.000000 100.000000 0
+ 0.000000 100.000000 0
+ END$SEGS
+CARPROTO "Gondola" 0 30100 360.000 84.000 0 0 256.000 392.000
+ F4 255 0.000000 4 0
+ 0.000000 84.000000 0
+ 360.000000 84.000000 0
+ 360.000000 0.000000 0
+ 0.000000 0.000000 0
+ END$SEGS
+CARPROTO "Framed Tank Car" 0 30100 360.000 100.000 0 0 264.000 392.000
+ F4 12632256 0.000000 4 0
+ 0.000000 0.000000 0
+ 360.000000 0.000000 0
+ 360.000000 100.000000 0
+ 0.000000 100.000000 0
+ Y3 0 0.000000 4 0
+ 0.000000 0.000000 0
+ 360.000000 0.000000 0
+ 360.000000 100.000000 0
+ 0.000000 100.000000 0
+ F4 0 0.000000 4 0
+ 21.000000 12.000000 0
+ 339.000000 12.000000 0
+ 339.000000 88.000000 0
+ 21.000000 88.000000 0
+ G3 4144959 0.000000 25.000000 180.000000 50.000000 0
+ A3 2631720 8.400000 25.000000 180.000000 50.000000 0 180.000000 360.000000
+ END$SEGS
+CARPROTO "Frameless Tank Car" 0 30100 360.000 90.000 0 0 264.000 392.000
+ F4 0 0.000000 4 0
+ 0.000000 0.000000 0
+ 360.000000 0.000000 0
+ 360.000000 90.000000 0
+ 0.000000 90.000000 0
+ G3 4144959 0.000000 30.000000 180.000000 45.000000 0
+ A3 2631720 8.400000 30.000000 180.000000 45.000000 0 180.000000 360.000000
+ END$SEGS
+
+##################################################################################
+
+SUBCONTENTS Other Cars
+CARPROTO "Short Caboose" 0 90100 192.000 101.000 0 0 168.000 224.000
+ F4 255 0.000000 4 0
+ 0.000000 0.000000 0
+ 192.000000 0.000000 0
+ 192.000000 101.000000 0
+ 0.000000 101.000000 0
+# cupola
+ Y4 0 0.000000 4 0
+ 60.000000 8.000000 0
+ 132.000000 8.000000 0
+ 132.000000 93.000000 0
+ 60.000000 93.000000 0
+# roofwalk
+ L3 0 0.000000 0.000000 44.500000 0 60.000000 44.500000 0
+ L3 0 0.000000 0.000000 48.500000 0 60.000000 48.500000 0
+ L3 0 0.000000 0.000000 52.500000 0 60.000000 52.500000 0
+ L3 0 0.000000 0.000000 56.500000 0 60.000000 56.500000 0
+ L3 0 0.000000 132.000000 44.500000 0 192.000000 44.500000 0
+ L3 0 0.000000 132.000000 48.500000 0 192.000000 48.500000 0
+ L3 0 0.000000 132.000000 52.500000 0 192.000000 52.500000 0
+ L3 0 0.000000 132.000000 56.500000 0 192.000000 56.500000 0
+ END$SEGS
+CARPROTO "Long Caboose" 0 90100 300.000 101.000 0 0 268.000 324.000
+ F4 255 0.000000 4 0
+ 0.000000 0.000000 0
+ 300.000000 0.000000 0
+ 300.000000 101.000000 0
+ 0.000000 101.000000 0
+# cupola
+ Y4 0 0.000000 4 0
+ 60.000000 8.000000 0
+ 132.000000 8.000000 0
+ 132.000000 93.000000 0
+ 60.000000 93.000000 0
+# roofwalk
+ L3 0 0.000000 0.000000 44.500000 0 60.000000 44.500000 0
+ L3 0 0.000000 0.000000 48.500000 0 60.000000 48.500000 0
+ L3 0 0.000000 0.000000 52.500000 0 60.000000 52.500000 0
+ L3 0 0.000000 0.000000 56.500000 0 60.000000 56.500000 0
+ L3 0 0.000000 132.000000 44.500000 0 300.000000 44.500000 0
+ L3 0 0.000000 132.000000 48.500000 0 300.000000 48.500000 0
+ L3 0 0.000000 132.000000 52.500000 0 300.000000 52.500000 0
+ L3 0 0.000000 132.000000 56.500000 0 300.000000 56.500000 0
+ END$SEGS
+#
+##################################################################################
+# Passenger Cars
+#
+SUBCONTENTS Passenger Cars
+CARPROTO "Jackson & Sharp Coach" 0 50100 510.000 101.000 0 0 406.000 542.000
+ F4 255 0.000000 4 0
+ 0.000000 0.000000 0
+ 510.000000 0.000000 0
+ 510.000000 101.000000 0
+ 0.000000 101.000000 0
+ L3 0 1.000000 2.000000 20.000000 0 508.000000 20.000000 0
+ L3 0 1.000000 2.000000 81.000000 0 508.000000 81.000000 0
+ END$SEGS
+CARPROTO "Jackson & Sharp Combine" 0 50100 510.000 101.000 0 0 406.000 542.000
+ F4 255 0.000000 4 0
+ 0.000000 0.000000 0
+ 510.000000 0.000000 0
+ 510.000000 101.000000 0
+ 0.000000 101.000000 0
+ L3 0 1.000000 2.000000 20.000000 0 508.000000 20.000000 0
+ L3 0 1.000000 2.000000 81.000000 0 508.000000 81.000000 0
+ END$SEGS
+CARPROTO "Jackson & Sharp Baggage" 0 50100 510.000 101.000 0 0 406.000 542.000
+ F4 255 0.000000 4 0
+ 0.000000 0.000000 0
+ 510.000000 0.000000 0
+ 510.000000 101.000000 0
+ 0.000000 101.000000 0
+ L3 0 1.000000 2.000000 20.000000 0 508.000000 20.000000 0
+ L3 0 1.000000 2.000000 81.000000 0 508.000000 81.000000 0
+ END$SEGS
+#
+# END
+
+
diff --git a/app/lib/params/proto-ng.xtp b/app/lib/params/proto-ng.xtp
deleted file mode 100644
index 554e8d5..0000000
--- a/app/lib/params/proto-ng.xtp
+++ /dev/null
@@ -1,29 +0,0 @@
-CONTENTS North American 3' Gauge Narrow-Gauge Prototype Cars
-CARPROTO "D&RGW 30' Boxcar" 0 30100 360.000 101.000 0 0 256.000 392.000
- F4 255 0.000000 4 0
- 0.000000 0.000000 0
- 360.000000 0.000000 0
- 360.000000 100.999998 0
- 0.000000 100.999998 0
- END
-CARPROTO "D&RGW Dump Bottom Gondola" 0 30100 384.000 101.000 0 0 288.000 416.000
- F4 255 0.000000 4 0
- 0.000134 101.000509 0
- 384.000134 100.999491 0
- 383.999866 -0.000509 0
- -0.000134 0.000509 0
- END
-CARPROTO "D&RGW Stock Car" 0 30100 360.000 101.000 0 0 264.000 392.000
- F4 255 0.000000 4 0
- 0.000134 101.000478 0
- 360.000134 100.999522 0
- 359.999866 -0.000478 0
- -0.000134 0.000478 0
- END
-CARPROTO "Victor Gold Mining Co. Ore Car" 0 30100 360.000 84.000 0 0 256.000 392.000
- F4 255 0.000000 4 0
- 0.000111 84.000478 0
- 360.000111 83.999522 0
- 359.999889 -0.000478 0
- -0.000111 0.000478 0
- END
diff --git a/app/lib/params/prototype-de.xtp b/app/lib/params/prototype-de.xtp
index abbef61..63c95d5 100644
--- a/app/lib/params/prototype-de.xtp
+++ b/app/lib/params/prototype-de.xtp
@@ -61,10 +61,12 @@ TURNOUT HO " EKW 100-1:6 "
S 0 0.000000 9.068647 -0.714839 10.345923 -0.951896
C 0 0.000000 42.577457 1.299237 -42.577457 0.000076 10.513852
END
-TURNOUT HO " DKW 100-1:6 "
+TURNOUT HO " DKW 100-1:6 " 512
U "Double Slipswitch" "" "" "DKW 100-1:6" "" 10.433504 10.513700 10.433504 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 10.433504 0.000000 90.000000
E 0.087581 0.951896 280.513700
@@ -140,10 +142,12 @@ TURNOUT HO " EKW 140-1:7 "
S 0 0.000000 10.611353 -0.735603 11.894283 -0.939580
C 0 0.000000 59.306500 1.299244 -59.306500 0.000076 9.033552
END
-TURNOUT HO " DKW 140-1:7 "
+TURNOUT HO " DKW 140-1:7 " 512
U "Double Slipswitch" "" "" "DKW 140-1:7" "" 11.968504 9.033400 11.968504 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 11.968504 0.000000 90.000000
E 0.074221 0.939580 279.033400
@@ -232,10 +236,12 @@ TURNOUT HO " EKW 190-1:9 "
S 0 0.000000 13.572635 -0.755469 14.861762 -0.914793
C 0 0.000000 100.068180 1.299256 -100.068180 0.000076 7.044852
END
-TURNOUT HO " DKW 190-1:9 "
+TURNOUT HO " DKW 190-1:9 " 512
U "Double Slipswitch" "" "" "DKW 190-1:9" "" 14.918071 7.044700 14.918071 0.000000 0.000000 0
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 14.918071 0.000000 90.000000
E 0.056309 0.914793 277.044700
diff --git a/app/lib/params/roadname.tab b/app/lib/params/roadname.tab
index f37cf2e..8bfd293 100644
--- a/app/lib/params/roadname.tab
+++ b/app/lib/params/roadname.tab
@@ -16,6 +16,7 @@ CN Canadian National
CP Canadian Pacific
CPR
CP Rail
+C&C Carson & Colorado
CB&Q Chicago Burlington & Quincy
Burlington
C&O Chesapeake & Ohio
@@ -31,6 +32,7 @@ C&EI Chicago & Eastern Illinois
Chessie System
C&O Chesapeake & Ohio
Chesapeke and Ohio
+C&S Colorado & Southern
CRR Clinchfield
Clinchfild
CB Cotton Belt
@@ -38,10 +40,11 @@ CB Cotton Belt
CR Conrail
CSX CSX
D&H Delaware & Hudson
-DRGW Denver & Rio Grande Western
- D&RGW
+D&RGW Denver & Rio Grande Western
+ D&RG
Rio Grande
DT&I Detroit Toledo & Ironton
+DSP&P Denver, South Park & Pacific
DM&IR Duluth Missabe & Iron Range
D&TH Duluth & Two Harbors
ERIE Erie
@@ -72,6 +75,8 @@ MKT Missouri-Kansas-Texas
MP Missouri Pacific
Mopac
MON Monon
+NCO Nevada California Oregon Ry
+ N.C.O.
NH New Haven
NYNH&H
NKP Nickel Plate
@@ -92,9 +97,10 @@ PRR Pennsylvania
PFE Pacific Fruit Express
Pacific Fruit Exp
P&LE Pittsburgh & Lake Erie
-RDG Reading
RB Railbox
+RDG Reading
REA Railway Express Agency
+RGS Rio Grande Southern
ROCK Rock Island
RI
SAL Seaboard Air Line
diff --git a/app/lib/params/rocho100.xtp b/app/lib/params/rocho100.xtp
index a992e47..ae60fad 100644
--- a/app/lib/params/rocho100.xtp
+++ b/app/lib/params/rocho100.xtp
@@ -28,9 +28,11 @@ TURNOUT HO "ModelPower/Roco #6 R Curved 490-181/625-42381"
END
# Straight Section Design by Victor Bobier - 18.000000
# Double Slipswitch Design by Victor Bobier - 9.000000 12.500000 9.000000
-TURNOUT HO "ModelPower/Roco #6 Double SlipSwitch 490-189"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "ModelPower/Roco #6 Double SlipSwitch 490-189" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 9.000000 0.000000 90.000000
E 0.106666 0.973972 282.500000
diff --git a/app/lib/params/t-trak.xtp b/app/lib/params/t-trak.xtp
index 895f907..e12204d 100644
--- a/app/lib/params/t-trak.xtp
+++ b/app/lib/params/t-trak.xtp
@@ -268,8 +268,9 @@ TURNOUT N "T-Trak Doublewide 12 inch deep with 6LTO "
L3 11579568 0.052083 17.086633 -0.807087 0 24.409448 -0.807087 0
END
TURNOUT N "T-Trak Doublewide 12 inch deep with 6RTO "
+# Fixed P1
P "P0" 4 5 6 0 1 2 3
- P "P1" 7 8 0 9 0 1 2 3
+ P "P1" 7 8 -9 0 1 2 3
E 0.000000 0.000000 270.000000
E 24.409448 0.000000 90.000000
E 0.000000 -1.299213 270.000000
diff --git a/app/lib/params/walth-ho.xtp b/app/lib/params/walth-ho.xtp
index 62dc127..880adcd 100644
--- a/app/lib/params/walth-ho.xtp
+++ b/app/lib/params/walth-ho.xtp
@@ -1736,7 +1736,7 @@ STRUCTURE HO "Walthers Machine Shop 933-2902"
SUBCONTENTS Walthers Cornerstone HO Structures - Turn Tables
-TURNOUT HO "Walthers 130' Turn Table 933-2829"
+TURNOUT HO "Walthers 130' Turn Table 933-2829" 512
# TT was designed with 18.875" bridge, 19.125" outside dia., 10 degree spacing
P "1" 1 2 3
P "2" 4 5 6
@@ -1870,7 +1870,7 @@ TURNOUT HO "Walthers 130' Turn Table 933-2829"
A 11579568 0.053333 9.437500 0.000000 0.000000 0.000000 360.000000
G 11579568 0.000000 0.053333 0.000000 0.000000 0
END
-TURNOUT HO "Walthers 90' Turn Table 933-2840"
+TURNOUT HO "Walthers 90' Turn Table 933-2840" 512
# TT was designed with 12.5" bridge, 13.75" outside dia., 10 degree spacing
P "1" 1 2 3
P "2" 4 5 6
@@ -1965,8 +1965,8 @@ TURNOUT HO "Walthers 90' Turn Table 933-2840"
S 0 0 -6.155048 -1.085301 -6.770553 -1.193831
#90/270
S 0 0 6.875000 0.000000 6.250000 0.000000
- S 0 0 6.250000 0.000000 -6.875000 0.000000
- S 0 0 -6.875000 0.000000 -6.2500000 0.000000
+ S 0 0 6.250000 0.000000 -6.250000 0.000000
+ S 0 0 -6.250000 0.000000 -6.8750000 0.000000
#100/280
S 0 0 6.770553 -1.193831 6.155048 -1.085301
S 16777215 0 6.155048 -1.085301 -6.155048 1.085301
@@ -2005,7 +2005,7 @@ TURNOUT HO "Walthers 90' Turn Table 933-2840"
G 11579568 0.000000 0.053333 0.000000 0.000000 0
END
-TURNOUT HO "Walthers Transfer Table 933-2968"
+TURNOUT HO "Walthers Transfer Table 933-2968" 512
# TT was designed with 2.1875" Bridge position spacing table has 48 programmable positions
P "P1" 1
P "P2" 2
diff --git a/app/lib/params/wlthho83.xtp b/app/lib/params/wlthho83.xtp
index 4062ee0..259cd6b 100644
--- a/app/lib/params/wlthho83.xtp
+++ b/app/lib/params/wlthho83.xtp
@@ -147,9 +147,11 @@ TURNOUT HO "Walthers/Shinohara Code 83 #6 Dbl Crossover 948-8812"
END
SUBCONTENTS Walthers/Shinohara HO-Scale Code 83 - Slip Turnouts
-TURNOUT HO "Walthers/Shinohara Code 83 #6 Dbl Slip 948-8814"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Walthers/Shinohara Code 83 #6 Dbl Slip 948-8814" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 15.437000 0.000000 90.000000
E 0.107955 1.286407 279.594076
@@ -163,9 +165,11 @@ TURNOUT HO "Walthers/Shinohara Code 83 #6 Dbl Slip 948-8814"
C 0 0.000000 76.490836 1.299241 -76.490836 0.000076 9.594228
C 0 0.000000 -76.490836 14.137555 76.490819 180.000076 9.594228
END
-TURNOUT HO "Walthers/Shinohara Code 83 #8 Dbl Slip 948-8896"
- P "Normal" 1 2 3 0 4 5 6
- P "Reverse" 1 7 6 0 4 8 3
+TURNOUT HO "Walthers/Shinohara Code 83 #8 Dbl Slip 948-8896" 512
+ P "Cross1" 1 2 3
+ P "Cross2" 4 5 6
+ P "Slip1" 1 7 6
+ P "Slip2" 4 8 3
E 0.000000 0.000000 270.000000
E 18.994000 0.000000 90.000000
E 0.074486 1.187112 277.180762
diff --git a/app/lib/xtrkcad-setup b/app/lib/xtrkcad-setup
new file mode 100755
index 0000000..6e12dc5
--- /dev/null
+++ b/app/lib/xtrkcad-setup
@@ -0,0 +1,81 @@
+#!/bin/sh
+
+usage() {
+ echo "$0 (install|remove|desktop) <install-dir>"
+ echo "install: Sets up file associations and menus for XTrkCad"
+ echo "remove: Removes file associations and menus for XTrkCad"
+ echo "desktop: Installs short cut on the user's desktop"
+ echo
+ echo "<install-dir> is the location of XTrkCad's data files"
+ echo
+ echo "to be run as normal user"
+ exit 0
+}
+
+echo "`date`: $0 $* as ${USER}"
+
+if [ $# -ne 2 ] ; then
+ usage
+fi
+
+COMMAND=$1
+export INSTALLDIR=$2
+
+if [ ! -d ${INSTALLDIR} ] ; then
+ echo "$0: $INSTALLDIR: not found"
+ exit 1
+fi
+if [ ! -f ${INSTALLDIR}/applications/xtrkcad.xml ] ; then
+ echo "$0: $INSTALLDIR/applications/xtrkcad.xml: not found"
+ exit 1
+fi
+if [ ! -f ${INSTALLDIR}/applications/xtrkcad.desktop ] ; then
+ echo "$0: $INSTALLDIR/applications/xtrkcad.desktop: not found"
+ exit 1
+fi
+if [ ! -f ${INSTALLDIR}/pixmaps/xtrkcad.png ] ; then
+ echo "$0: $INSTALLDIR/pixmaps/xtrkcad.png: not found"
+ exit 1
+fi
+
+ID=`id -u`
+if [ $ID -eq 0 ] ; then
+ echo $0: Must not be root
+ exit 1
+fi
+
+if [ "$COMMAND" = "install" ] ; then
+ echo SETUP ICONS
+ # Set icon for file browser
+ xdg-icon-resource install --context mimetypes --novendor --size 64 ${INSTALLDIR}/pixmaps/xtrkcad.png xtrkcad
+ # set icon for file browser
+ xdg-icon-resource install --novendor --size 64 ${INSTALLDIR}/pixmaps/xtrkcad.png application-x-xtrkcad
+ echo SETUP MIME
+ # mimetype for .xtc files is application/x-xtrkcad
+ xdg-mime install --novendor ${INSTALLDIR}/applications/xtrkcad.xml
+ # default handler for application/x-xtrkcad is xtrkcad
+ xdg-mime default xtrkcad.desktop application/x-xtrkcad
+ echo SETUP DESKTOP
+ # add app to system menu
+ xdg-desktop-menu install --novendor ${INSTALLDIR}/applications/xtrkcad.desktop
+ # add desktop shortcut
+ xdg-desktop-icon install --novendor ${INSTALLDIR}/applications/xtrkcad.desktop
+ chmod 755 ${HOME}/Desktop/xtrkcad.desktop
+
+elif [ "$COMMAND" = "remove" ] ; then
+ xdg-desktop-icon uninstall --novendor ${INSTALLDIR}/applications/xtrkcad.desktop
+ xdg-desktop-menu uninstall ${INSTALLDIR}/applications/xtrkcad.desktop
+ xdg-mime uninstall --novendor ${INSTALLDIR}/applications/xtrkcad.xml
+ xdg-icon-resource uninstall --novendor --size 64 xtrkcad
+ xdg-icon-resource uninstall --novendor --context mimetypes --size 64 xtrkcad
+
+elif [ "$COMMAND" = "desktop" ] ; then
+ echo SETUP DESKTOP
+ # set desktop command
+ xdg-desktop-menu install --novendor ${INSTALLDIR}/applications/xtrkcad.desktop
+ xdg-desktop-icon install --novendor ${INSTALLDIR}/applications/xtrkcad.desktop
+ chmod 755 ${HOME}/Desktop/xtrkcad.desktop
+
+else
+ usage
+fi
diff --git a/app/lib/xtrkcad.desktop b/app/lib/xtrkcad.desktop
index a5f9dd6..6fb3381 100644
--- a/app/lib/xtrkcad.desktop
+++ b/app/lib/xtrkcad.desktop
@@ -1,9 +1,9 @@
[Desktop Entry]
-Encoding=UTF-8
Name=XTrackCAD
Comment=Design model railroad layouts
Exec=xtrkcad
-Icon=xtrkcad.png
+Icon=xtrkcad
Terminal=false
Type=Application
-Categories=Graphics;Game \ No newline at end of file
+Categories=Graphics
+
diff --git a/app/lib/xtrkcad.upd b/app/lib/xtrkcad.upd
new file mode 100644
index 0000000..0db5608
--- /dev/null
+++ b/app/lib/xtrkcad.upd
@@ -0,0 +1,9 @@
+20211112
+N-Atlas Code 80 Track.xtp
+G-Piko.xtp
+HO-Piko-A.xtp
+HO-Bachmann EZ.xtp
+N-Bachmann EZ.xtp
+HO-TrixExpress Tracks.xtp
+HO-Kato.xtp
+N-MiniTrix Track.xtp
diff --git a/app/lib/xtrkcad.xml b/app/lib/xtrkcad.xml
new file mode 100644
index 0000000..fb28fa9
--- /dev/null
+++ b/app/lib/xtrkcad.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
+ <mime-type type="application/x-xtrkcad">
+ <comment>xtrkcad</comment>
+ <glob pattern="*.xtc"/>
+ <glob pattern="*.xtce"/>
+ </mime-type>
+ </mime-info>
diff --git a/app/lib/xtrkcad.xtq b/app/lib/xtrkcad.xtq
index 2fdb34c..fbe7ac3 100644
--- a/app/lib/xtrkcad.xtq
+++ b/app/lib/xtrkcad.xtq
@@ -22,6 +22,10 @@ SCALE 2mm(FS), 152.0, 0.3708
1560,40,1120
2200,50,1500
2640,60,1880
+SCALE T, 450.0, 0.126
+ 1560,37.5,1080
+ 2160,45,1440
+ 2640,52.5,1800
SCALE HO, 87.1, 0.6496
1567.8,32.66,1045.2
2090.4,38.1,1393
@@ -30,7 +34,7 @@ SCALE HOn3.5, 87.1, 0.472
1567.8,32.66,1045.2
2090.4,38.1,1393
2613,43.55,1567
-SCALE HOn3, 87.1, 0.4133
+SCALE HOn3, 87.1, 0.413
1567.8,32.66,1045.2
2090.4,38.1,1393
2613,43.55,1567
@@ -70,11 +74,12 @@ SCALE OO9, 76.2, 0.3543
1567.8,32.66,1045.2
2090.4,38.1,1393
2613,43.55,1567
+#US 1:45 scale
SCALE O, 48.0, 1.25
1536,24,960
2016,30,1200
2592,36,1440
-SCALE On3.5, 48.0, 0.875
+SCALE On3.5, 48.0, 0.874
1536,24,960
2016,30,1200
2592,36,1440
@@ -98,7 +103,8 @@ SCALE P48, 48.0, 1.177
1536,24,960
2016,30,1200
2592,36,1440
-SCALE O(Fine), 43.5, 1.2598
+#UK 1:43.5 scale
+SCALE O(Fine), 43.5, 1.25
1536,24,960
2016,30,1200
2592,36,1440
@@ -110,11 +116,29 @@ SCALE ScaleSeven, 43.5, 1.2992
1536,24,960
2016,30,1200
2592,36,1440
-SCALE O, 45.0, 1.25
+SCALE On14mm, 43.5, 0.551
1536,24,960
2016,30,1200
2592,36,1440
-SCALE On14mm, 43.5, 0.551
+SCALE On16.5, 43.5, 0.6496
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+#European 1:45
+SCALE O(EU), 45.0, 1.25
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE On3(EU), 45.0, 0.75
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE Oe(EU), 45.0, 0.6496
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+# Brio
+SCALE O55, 55.0, 1.023
1536,24,960
2016,30,1200
2592,36,1440
@@ -134,7 +158,7 @@ SCALE Sn30, 64.0, 0.469
1536,28,1024
2048,32,1280
2688,40,1600
-SCALE Sn2, 64.0, 0.3543
+SCALE Sn2, 64.0, 0.413
1536,28,1024
2048,32,1280
2688,40,1600
@@ -162,6 +186,18 @@ SCALE 1/32, 32.0, 1.77
1536,24,960
2016,30,1200
2592,36,1440
+SCALE A, 29, 1.77
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 1/2(H), 24.0, 1.77
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 2(II), 22.5, 2.00
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
SCALE G, 22.5, 1.77
1536,24,960
2016,30,1200
@@ -178,26 +214,106 @@ SCALE F, 20.32, 2.78
1536,24,960
2016,30,1200
2592,36,1440
-SCALE LEGO, 24, 1.48
+SCALE Fn3, 20.32, 1.77
1536,24,960
2016,30,1200
2592,36,1440
-SCALE 8, 8, 7.5
+SCALE Fn2, 20.32, 1.26
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 16mm, 19.0, 2.97
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 16mmSM45, 19.0, 1.77
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 16mmSM32, 19.0, 1.26
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE SE(7/8)32, 13.7, 1.26
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE SE(7/8)45, 13.7, 1.77
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE LEGO, 38, 1.476
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 2-1/2", 22.5, 2.5
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 2-1/2"n30, 12.0, 2.5
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 3-1/2", 16, 3.5
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 3-1/2"n3, 10.286, 3.5
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 5", 11.3, 5.0
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 5"n2, 4.8, 5.0
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 7-1/4", 8, 7.25
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 7-1/4"n3, 4.8, 7.25
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 7-1/4"n2, 3.2, 7.25
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 7-1/2", 8, 7.5
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 7-1/2"n3, 4.8, 7.5
+ 1536,24,960
+ 2016,30,1200
+ 2592,36,1440
+SCALE 7-1/2"n2, 3.2, 7.5
1536,24,960
2016,30,1200
2592,36,1440
-SCALE T, 450.0, 0.126
- 1560,37.5,1080
- 2160,45,1440
- 2640,52.5,1800
SCALE RMC, 10.0, 5.5
- 1560,40,1120
- 2200,50,1500
- 2640,60,1880
+ 1560,40,1120
+ 2200,50,1500
+ 2640,60,1880
SCALE DEMO, 160.0, 0.3531
1560,40,1120
2200,50,1500
2640,60,1880
+SCALEFIT TURNOUT EXACT OO HO
+SCALEFIT TURNOUT EXACT N(UK),N(JP) N
+SCALEFIT TURNOUT EXACT O(Fine),O(EU) O
+SCALEFIT TURNOUT EXACT HOf Nn3
+SCALEFIT TURNOUT EXACT Sn2 HOn3
+SCALEFIT TURNOUT EXACT Oe(EU) On30
+SCALEFIT TURNOUT EXACT On3(EU) On3
+SCALEFIT TURNOUT EXACT SE(7/8)32,Fn2 16mmSM32
+SCALEFIT TURNOUT EXACT 1/2(H),A,Fn3 G
+SCALEFIT TURNOUT EXACT SE(7/8)45,Fn3 16mmSM45
+SCALEFIT TURNOUT EXACT 7-1/4"n3 7-1/4"
+SCALEFIT TURNOUT EXACT 7-1/2"n3 7-1/2"
TURNOUT DEMO "Peco-55 Medium Right SL-E395F"
P "Normal" 1 2
P "Reverse" 1 3 4
diff --git a/app/tools/dirent.c b/app/tools/dirent.c
index 08ea800..bf6e7ff 100644
--- a/app/tools/dirent.c
+++ b/app/tools/dirent.c
@@ -21,7 +21,7 @@ extern "C"
struct DIR
{
- long handle; /* -1 for failed rewind */
+ intptr_t handle; /* -1 for failed rewind */
struct _finddata_t info;
struct dirent result; /* d_name null iff first time */
char *name; /* null-terminated char string */
@@ -42,7 +42,7 @@ DIR *opendir(const char *name)
{
strcat(strcpy(dir->name, name), all);
- if((dir->handle = (long) _findfirst(dir->name, &dir->info)) != -1)
+ if((dir->handle = _findfirst(dir->name, &dir->info)) != -1)
{
dir->result.d_name = 0;
}
@@ -116,7 +116,7 @@ void rewinddir(DIR *dir)
if(dir && dir->handle != -1)
{
_findclose(dir->handle);
- dir->handle = (long) _findfirst(dir->name, &dir->info);
+ dir->handle = _findfirst(dir->name, &dir->info);
dir->result.d_name = 0;
}
else
diff --git a/app/tools/halibut/bk_html.c b/app/tools/halibut/bk_html.c
index b01d035..3e937c5 100644
--- a/app/tools/halibut/bk_html.c
+++ b/app/tools/halibut/bk_html.c
@@ -1611,8 +1611,8 @@ void html_backend(paragraph *sourceform, keywordlist *keywords,
*/
if (conf.appletoc_filename) {
- htmlsect *s, *top;
- htmlfile *f;
+ htmlsect *s;// , *top;
+// htmlfile *f;
htmloutput ho;
ho.charset = conf.output_charset;
ho.restrict_charset = conf.restrict_charset;
@@ -2728,7 +2728,7 @@ static char *html_sanitise_fragment(htmlfilelist *files, htmlfile *file,
while (add234(files->frags, frag) != frag) {
if (!len) {
- len = strlen(text);
+ len = (int)strlen(text);
frag->fragment = text = sresize(text, len+20, char);
}
@@ -2781,7 +2781,7 @@ static char *html_sanitise_filename(htmlfilelist *files, char *text)
while (find234(files->files, text, NULL)) {
if (!p) {
- len = strlen(text);
+ len = (int)strlen(text);
p = text;
text = snewn(len+20, char);
diff --git a/app/tools/halibut/bk_paper.c b/app/tools/halibut/bk_paper.c
index 2e0289c..97f88b4 100644
--- a/app/tools/halibut/bk_paper.c
+++ b/app/tools/halibut/bk_paper.c
@@ -316,70 +316,70 @@ static paper_conf paper_configure(paragraph *source, font_list *fontlist) {
ret.bullet = uadv(p->keyword);
} else if (!ustricmp(p->keyword, L"paper-page-width")) {
ret.paper_width =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-page-height")) {
ret.paper_height =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-left-margin")) {
ret.left_margin =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-top-margin")) {
ret.top_margin =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-right-margin")) {
ret.right_margin =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-bottom-margin")) {
ret.bottom_margin =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-list-indent")) {
ret.indent_list_bullet =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-listitem-indent")) {
ret.indent_list =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-quote-indent")) {
ret.indent_quote =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-base-leading")) {
ret.base_leading =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-base-para-spacing")) {
ret.base_para_spacing =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-chapter-top-space")) {
ret.chapter_top_space =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-sect-num-left-space")) {
ret.sect_num_left_space =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-chapter-underline-depth")) {
ret.chapter_underline_depth =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-chapter-underline-thickness")) {
ret.chapter_underline_thickness =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-rule-thickness")) {
ret.rule_thickness =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-contents-indent-step")) {
ret.contents_indent_step =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-contents-margin")) {
ret.contents_margin =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-leader-separation")) {
ret.leader_separation =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-index-gutter")) {
ret.index_gutter =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-index-minsep")) {
ret.index_minsep =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-footer-distance")) {
ret.footer_distance =
- (int) 0.5 + FUNITS_PER_PT * utof(uadv(p->keyword));
+ (int) (0.5 + FUNITS_PER_PT * utof(uadv(p->keyword)));
} else if (!ustricmp(p->keyword, L"paper-base-font-size")) {
ret.fbase.font_size = utoi(uadv(p->keyword));
} else if (!ustricmp(p->keyword, L"paper-index-columns")) {
@@ -1846,8 +1846,8 @@ static page_data *page_breaks(line_data *first, line_data *last,
*/
if (m != last && m->next && !m->next->page_break)
{
- int x = (this_height - minheight) / FUNITS_PER_PT *
- 4096.0;
+ int x = (int)((this_height - minheight) / FUNITS_PER_PT *
+ 4096.0);
int xf;
xf = x & 0xFF;
@@ -1938,8 +1938,8 @@ static page_data *page_breaks(line_data *first, line_data *last,
l->page = page;
l->ypos = text + space + head;
if (page->first_line->space[n]) {
- l->ypos += space * (float)page->first_line->vshortfall[n] /
- page->first_line->space[n];
+ l->ypos += (int)(space * (float)page->first_line->vshortfall[n] /
+ page->first_line->space[n]);
}
if (l == page->last_line)
@@ -2530,7 +2530,8 @@ static para_data *code_paragraph(int indent, word *words, paper_conf *conf)
w->alt = NULL;
w->type = (prev == 0 ? word_WeakCode :
prev == 1 ? word_Emph : word_Normal);
- w->text = snewn(t-start+1, wchar_t);
+ w->text = snewn((int)(t-start+1),
+ wchar_t);
memcpy(w->text, start, (t-start) * sizeof(wchar_t));
w->text[t-start] = '\0';
w->breaks = FALSE;
diff --git a/app/tools/halibut/charset/fromucs.c b/app/tools/halibut/charset/fromucs.c
index 8090c19..3faf48e 100644
--- a/app/tools/halibut/charset/fromucs.c
+++ b/app/tools/halibut/charset/fromucs.c
@@ -16,7 +16,7 @@ static void charset_emit(void *ctx, long int output)
struct charset_emit_param *param = (struct charset_emit_param *)ctx;
if (param->outlen > 0) {
- *param->output++ = output;
+ *param->output++ = (char)output;
param->outlen--;
} else {
param->stopped = 1;
@@ -47,7 +47,7 @@ int charset_from_unicode(const wchar_t **input, int *inlen,
*error = FALSE;
while (*inlen > 0) {
- int lenbefore = param.output - output;
+ int lenbefore = (int)(param.output - output);
int ret;
if (input)
@@ -78,5 +78,5 @@ int charset_from_unicode(const wchar_t **input, int *inlen,
(*input)++;
(*inlen)--;
}
- return param.output - output;
+ return (int)(param.output - output);
}
diff --git a/app/tools/halibut/charset/iso2022.c b/app/tools/halibut/charset/iso2022.c
index 8cf3c25..b0492d9 100644
--- a/app/tools/halibut/charset/iso2022.c
+++ b/app/tools/halibut/charset/iso2022.c
@@ -879,7 +879,7 @@ static void docs_char(charset_state *state,
emit(emitctx, '/');
emit(emitctx, '0' + ctext_encodings[curr_cset].octets_per_char);
len = currlen + datalen +
- strlen(ctext_encodings[curr_cset].name);
+ (int)strlen(ctext_encodings[curr_cset].name);
assert(len < (1 << 14));
emit(emitctx, 0x80 | ((len >> 7) & 0x7F));
emit(emitctx, 0x80 | ((len ) & 0x7F));
@@ -964,7 +964,7 @@ static void docs_char(charset_state *state,
static void write_to_pointer(void *ctx, long int output)
{
char **ptr = (char **)ctx;
- *(*ptr)++ = output;
+ *(*ptr)++ = (char)output;
}
/*
@@ -1195,7 +1195,7 @@ static int write_iso2022(charset_spec const *charset, long int input_chr,
}
if (cs != -2) {
- docs_char(state, emit, emitctx, cs, data, p - data);
+ docs_char(state, emit, emitctx, cs, data, (int)(p - data));
return TRUE;
}
}
diff --git a/app/tools/halibut/charset/test.c b/app/tools/halibut/charset/test.c
index fc5128e..54eab56 100644
--- a/app/tools/halibut/charset/test.c
+++ b/app/tools/halibut/charset/test.c
@@ -39,7 +39,7 @@ int main(int argc, char **argv)
while (1) {
- rdret = fread(inbuf, 1, sizeof(inbuf), stdin);
+ rdret = (int)fread(inbuf, 1, sizeof(inbuf), stdin);
if (rdret <= 0)
break; /* EOF */
diff --git a/app/tools/halibut/charset/toucs.c b/app/tools/halibut/charset/toucs.c
index bee98ab..807001b 100644
--- a/app/tools/halibut/charset/toucs.c
+++ b/app/tools/halibut/charset/toucs.c
@@ -30,7 +30,7 @@ static void unicode_emit(void *ctx, long int output)
outlen = 1;
}
} else {
- outval = output;
+ outval = (wchar_t)output;
p = &outval;
outlen = 1;
}
@@ -65,7 +65,7 @@ int charset_to_unicode(const char **input, int *inlen,
localstate = *state; /* structure copy */
while (*inlen > 0) {
- int lenbefore = param.output - output;
+ int lenbefore = (int)(param.output - output);
spec->read(spec, (unsigned char)**input, &localstate,
unicode_emit, &param);
if (param.stopped) {
@@ -83,5 +83,5 @@ int charset_to_unicode(const char **input, int *inlen,
(*inlen)--;
}
- return param.output - output;
+ return (int)(param.output - output);
}
diff --git a/app/tools/halibut/deflate.c b/app/tools/halibut/deflate.c
index 685097b..6e4cc67 100644
--- a/app/tools/halibut/deflate.c
+++ b/app/tools/halibut/deflate.c
@@ -1786,8 +1786,9 @@ static struct table *mkonetab(int *codes, unsigned char *lengths, int nsyms,
int pfxmask = (1 << pfxbits) - 1;
int nbits, i, j, code;
- tab->table = snewn(1 << bits, struct tableentry);
- tab->mask = (1 << bits) - 1;
+ int bit = 1 << bits;
+ tab->table = snewn(bit, struct tableentry);
+ tab->mask = bit - 1;
for (code = 0; code <= tab->mask; code++) {
tab->table[code].code = -1;
diff --git a/app/tools/halibut/in_afm.c b/app/tools/halibut/in_afm.c
index b2aacae..724bae7 100644
--- a/app/tools/halibut/in_afm.c
+++ b/app/tools/halibut/in_afm.c
@@ -100,56 +100,56 @@ void read_afm_file(input *in) {
error(err_afmval, &in->pos, key, 4);
goto giveup;
}
- fi->fontbbox[i] = atof(val);
+ fi->fontbbox[i] = (float)atof(val);
}
} else if (strcmp(key, "CapHeight") == 0) {
if (!(val = strtok(NULL, " \t"))) {
error(err_afmval, &in->pos, key, 1);
goto giveup;
}
- fi->capheight = atof(val);
+ fi->capheight = (float)atof(val);
} else if (strcmp(key, "XHeight") == 0) {
if (!(val = strtok(NULL, " \t"))) {
error(err_afmval, &in->pos, key, 1);
goto giveup;
}
- fi->xheight = atof(val);
+ fi->xheight = (float)atof(val);
} else if (strcmp(key, "Ascender") == 0) {
if (!(val = strtok(NULL, " \t"))) {
error(err_afmval, &in->pos, key, 1);
goto giveup;
}
- fi->ascent = atof(val);
+ fi->ascent = (float)atof(val);
} else if (strcmp(key, "Descender") == 0) {
if (!(val = strtok(NULL, " \t"))) {
error(err_afmval, &in->pos, key, 1);
goto giveup;
}
- fi->descent = atof(val);
+ fi->descent = (float)atof(val);
} else if (strcmp(key, "CapHeight") == 0) {
if (!(val = strtok(NULL, " \t"))) {
error(err_afmval, &in->pos, key, 1);
goto giveup;
}
- fi->capheight = atof(val);
+ fi->capheight = (float)atof(val);
} else if (strcmp(key, "StdHW") == 0) {
if (!(val = strtok(NULL, " \t"))) {
error(err_afmval, &in->pos, key, 1);
goto giveup;
}
- fi->stemh = atof(val);
+ fi->stemh = (float)atof(val);
} else if (strcmp(key, "StdVW") == 0) {
if (!(val = strtok(NULL, " \t"))) {
error(err_afmval, &in->pos, key, 1);
goto giveup;
}
- fi->stemv = atof(val);
+ fi->stemv = (float)atof(val);
} else if (strcmp(key, "ItalicAngle") == 0) {
if (!(val = strtok(NULL, " \t"))) {
error(err_afmval, &in->pos, key, 1);
goto giveup;
}
- fi->italicangle = atof(val);
+ fi->italicangle = (float)atof(val);
} else if (strcmp(key, "StartCharMetrics") == 0) {
int nglyphs, i;
if (!(val = strtok(NULL, " \t"))) {
diff --git a/app/tools/halibut/in_pf.c b/app/tools/halibut/in_pf.c
index 3df6d37..a50dce0 100644
--- a/app/tools/halibut/in_pf.c
+++ b/app/tools/halibut/in_pf.c
@@ -22,6 +22,8 @@
typedef struct t1_font_Tag t1_font;
typedef struct t1_data_Tag t1_data;
+font_info *all_fonts;
+
struct t1_font_Tag {
t1_data *data;
size_t length1;
@@ -68,7 +70,7 @@ static t1_data *load_pfb_file(FILE *fp, filepos *pos) {
if (c == EOF) abort();
tail->length |= c << (8 * i);
}
- tail->data = snewn(tail->length, unsigned char);
+ tail->data = snewn((int)tail->length, unsigned char);
if (fread(tail->data, 1, tail->length, fp) != tail->length) abort();
}
}
@@ -80,15 +82,15 @@ static t1_data *load_pfa_file(FILE *fp, filepos *pos) {
pos->line = 0;
ret->type = PFB_ASCII;
len = 32768;
- ret->data = snewn(len, unsigned char);
+ ret->data = snewn((int)len, unsigned char);
for (;;) {
got = fread(ret->data + off, 1, len - off, fp);
off += got;
if (off != len) break;
len *= 2;
- ret->data = sresize(ret->data, len, unsigned char);
+ ret->data = sresize(ret->data, (int)len, unsigned char);
}
- ret->data = sresize(ret->data, off, unsigned char);
+ ret->data = sresize(ret->data, (int)off, unsigned char);
ret->length = off;
return ret;
}
@@ -189,7 +191,7 @@ static void pf_identify(t1_font *tf) {
p++;
p += strspn(p, " \t");
len = strcspn(p, " \t");
- fontname = snewn(len + 1, char);
+ fontname = snewn((int)len + 1, char);
memcpy(fontname, p, len);
fontname[len] = 0;
sfree(rsc.text);
@@ -283,11 +285,11 @@ static void pf_getascii(t1_font *tf, size_t off, size_t len,
while (td && len) {
blk = len < td->length ? len : td->length;
if (td->type == PFB_ASCII) {
- *bufp = sresize(*bufp, *lenp + blk, char);
+ *bufp = sresize(*bufp, (int)(*lenp + blk), char);
memcpy(*bufp + *lenp, td->data + off, blk);
*lenp += blk;
} else {
- *bufp = sresize(*bufp, *lenp + blk * 2 + blk / 39 + 3, char);
+ *bufp = sresize(*bufp, (int)(*lenp + blk * 2 + blk / 39 + 3), char);
p = *bufp + *lenp;
for (i = 0; i < blk; i++) {
if (i % 39 == 0) p += sprintf(p, "\n");
@@ -334,11 +336,11 @@ static void pf_getbinary(t1_font *tf, size_t off, size_t len,
while (td && len) {
blk = len < td->length ? len : td->length;
if (td->type == PFB_BINARY) {
- *bufp = sresize(*bufp, *lenp + blk, char);
+ *bufp = sresize(*bufp, (int)(*lenp + blk), char);
memcpy(*bufp + *lenp, td->data + off, blk);
*lenp += blk;
} else {
- *bufp = sresize(*bufp, *lenp + blk / 2 + 1, char);
+ *bufp = sresize(*bufp, (int)(*lenp + blk / 2 + 1), char);
p = *bufp + *lenp;
for (i = 0; i < blk; i++) {
if (pf_isspace(td->data[off + i])) continue;
diff --git a/app/tools/halibut/malloc.c b/app/tools/halibut/malloc.c
index 2ff22fd..32f286a 100644
--- a/app/tools/halibut/malloc.c
+++ b/app/tools/halibut/malloc.c
@@ -92,7 +92,7 @@ void *(srealloc)(LOGPARAMS void *p, int size) {
* of smalloc (and also reliably defined in all environments :-)
*/
char *dupstr(char *s) {
- char *r = smalloc(1+strlen(s));
+ char *r = smalloc(1+(int)strlen(s));
strcpy(r,s);
return r;
}
diff --git a/app/tools/halibut/misc.c b/app/tools/halibut/misc.c
index 3f2483c..c0e86e4 100644
--- a/app/tools/halibut/misc.c
+++ b/app/tools/halibut/misc.c
@@ -90,7 +90,7 @@ void rdaddc(rdstringc *rs, char c) {
rs->text[rs->pos] = 0;
}
void rdaddsc(rdstringc *rs, char const *p) {
- rdaddsn(rs, p, strlen(p));
+ rdaddsn(rs, p, (int)strlen(p));
}
void rdaddsn(rdstringc *rs, char const *p, int len) {
if (rs->pos >= rs->size - len) {
@@ -527,7 +527,7 @@ void cmdline_cfg_add(paragraph *cfg, char *string)
ulen += 1 + ustrlen(cfg->keyword+ulen);
len = 0;
while (cfg->origkeyword[len])
- len += 1 + strlen(cfg->origkeyword+len);
+ len += 1 + (int)strlen(cfg->origkeyword+len);
ustring = ufroma_locale_dup(string);
@@ -538,7 +538,7 @@ void cmdline_cfg_add(paragraph *cfg, char *string)
cfg->keyword[ulen-1] = L'\0';
pos = len;
- len += 2 + strlen(string);
+ len += 2 + (int)strlen(string);
cfg->origkeyword = sresize(cfg->origkeyword, len, char);
strcpy(cfg->origkeyword+pos, string);
cfg->origkeyword[len-1] = '\0';
diff --git a/app/tools/halibut/paper.h b/app/tools/halibut/paper.h
index 29d6407..959accd 100644
--- a/app/tools/halibut/paper.h
+++ b/app/tools/halibut/paper.h
@@ -78,8 +78,6 @@ struct ligature_Tag {
* metrics are read in.
*/
-font_info *all_fonts;
-
struct font_info_Tag {
font_info *next;
/*
@@ -118,6 +116,8 @@ struct font_info_Tag {
float italicangle;
};
+extern font_info *all_fonts;
+
/*
* This structure holds the information about how a font is used
* in a document.
diff --git a/app/tools/halibut/ustring.c b/app/tools/halibut/ustring.c
index 95477a5..a5d1103 100644
--- a/app/tools/halibut/ustring.c
+++ b/app/tools/halibut/ustring.c
@@ -72,7 +72,7 @@ wchar_t *ustrfroma(char const *s, wchar_t *outbuf, int size, int charset) {
return outbuf;
}
- len = strlen(s);
+ len = (int)strlen(s);
size--; /* allow for terminating NUL */
*outbuf = L'\0';
while (len > 0) {
@@ -155,7 +155,7 @@ wchar_t *ufroma_dup(char const *s, int charset) {
int len;
wchar_t *buf = NULL;
- len = strlen(s) + 1;
+ len = (int)strlen(s) + 1;
do {
buf = sresize(buf, len, wchar_t);
ustrfroma(s, buf, len, charset);
@@ -184,7 +184,7 @@ char *utoa_locale_dup(wchar_t const *s)
if (siz) {
assert(siz <= (size_t)(MB_CUR_MAX * len));
ret[siz] = '\0';
- ret = sresize(ret, siz+1, char);
+ ret = sresize(ret, (int)siz+1, char);
return ret;
}
@@ -206,7 +206,7 @@ wchar_t *ufroma_locale_dup(char const *s)
int len;
size_t siz;
- len = strlen(s);
+ len = (int)strlen(s);
ret = snewn(1 + 2*len, wchar_t); /* be conservative */
@@ -215,7 +215,7 @@ wchar_t *ufroma_locale_dup(char const *s)
if (siz) {
assert(siz <= (size_t)(2 * len));
ret[siz] = L'\0';
- ret = sresize(ret, siz+1, wchar_t);
+ ret = sresize(ret, (int)siz+1, wchar_t);
return ret;
}
@@ -429,7 +429,7 @@ wchar_t *ustrftime(const wchar_t *wfmt, const struct tm *timespec)
rdadd(&rs, L'%');
wfmt += 2;
} else if (wfmt[0] == L'%' && wfmt[1]) {
- ustrftime_internal(&rs, wfmt[1], timespec);
+ ustrftime_internal(&rs, (char)(wfmt[1]), timespec);
wfmt += 2;
} else {
rdadd(&rs, wfmt[0]);
diff --git a/app/tools/halibut/wcwidth.c b/app/tools/halibut/wcwidth.c
index 269359f..f4abe23 100644
--- a/app/tools/halibut/wcwidth.c
+++ b/app/tools/halibut/wcwidth.c
@@ -165,7 +165,7 @@ int ustrwid(wchar_t const *s, int charset)
int strwid(char const *s, int charset)
{
wchar_t buf[256];
- int wid, len = strlen(s);
+ int wid, len = (int)strlen(s);
charset_state state = CHARSET_INIT_STATE;
wid = 0;
diff --git a/app/wlib/gtklib/CMakeLists.txt b/app/wlib/gtklib/CMakeLists.txt
index 97ab56f..117772a 100644
--- a/app/wlib/gtklib/CMakeLists.txt
+++ b/app/wlib/gtklib/CMakeLists.txt
@@ -20,7 +20,6 @@ set(sources
notice.c
opendocument.c
pixbuf.c
- png.c
print.c
single.c
splash.c
@@ -32,6 +31,7 @@ set(sources
util.c
window.c
wpref.c
+ writebitmap.c
# end of refactored sources
gtkdraw-cairo.c
)
diff --git a/app/wlib/gtklib/bitmap.c b/app/wlib/gtklib/bitmap.c
index eb5ef94..7562e33 100644
--- a/app/wlib/gtklib/bitmap.c
+++ b/app/wlib/gtklib/bitmap.c
@@ -46,7 +46,7 @@ struct wBitmap_t {
*/
wControl_p
-wBitmapCreate( wWin_p parent, wPos_t x, wPos_t y, long options, wIcon_p iconP )
+wBitmapCreate( wWin_p parent, wWinPix_t x, wWinPix_t y, long options, const struct wIcon_t * iconP )
{
wBitmap_p bt;
GdkPixbuf *pixbuf;
@@ -93,7 +93,7 @@ wBitmapCreate( wWin_p parent, wPos_t x, wPos_t y, long options, wIcon_p iconP )
* \returns icon handle
*/
-wIcon_p wIconCreateBitMap( wPos_t w, wPos_t h, const char * bits, wDrawColor color )
+wIcon_p wIconCreateBitMap( wWinPix_t w, wWinPix_t h, const char * bits, wDrawColor color )
{
wIcon_p ip;
ip = (wIcon_p)malloc( sizeof *ip );
diff --git a/app/wlib/gtklib/boxes.c b/app/wlib/gtklib/boxes.c
index cf419e6..74dbb7b 100644
--- a/app/wlib/gtklib/boxes.c
+++ b/app/wlib/gtklib/boxes.c
@@ -61,8 +61,8 @@ struct wBox_t {
void wBoxSetSize(
wBox_p b,
- wPos_t w,
- wPos_t h)
+ wWinPix_t w,
+ wWinPix_t h)
{
b->w = w;
b->h = h;
@@ -84,12 +84,12 @@ void wBoxSetSize(
void wlibDrawBox(
wWin_p win,
wBoxType_e style,
- wPos_t x,
- wPos_t y,
- wPos_t w,
- wPos_t h)
+ wWinPix_t x,
+ wWinPix_t y,
+ wWinPix_t w,
+ wWinPix_t h)
{
- wPos_t x0, y0, x1, y1;
+ wWinPix_t x0, y0, x1, y1;
GdkDrawable * window;
cairo_t *cr;
static char colors[8][4][2] = {
@@ -185,12 +185,12 @@ static void boxRepaint(wControl_p b)
wBox_p wBoxCreate(
wWin_p parent,
- wPos_t bx,
- wPos_t by,
+ wWinPix_t bx,
+ wWinPix_t by,
const char * labelStr,
wBoxType_e boxTyp,
- wPos_t bw,
- wPos_t bh)
+ wWinPix_t bw,
+ wWinPix_t bh)
{
wBox_p b;
b = (wBox_p)wlibAlloc(parent, B_BOX, bx, by, labelStr, sizeof *b, NULL);
diff --git a/app/wlib/gtklib/browserhelp.c b/app/wlib/gtklib/browserhelp.c
index aa8f5c7..7d45ea5 100644
--- a/app/wlib/gtklib/browserhelp.c
+++ b/app/wlib/gtklib/browserhelp.c
@@ -24,11 +24,13 @@
#include <assert.h>
#include <string.h>
-#include "misc.h"
+//#include "misc.h"
#include "gtkint.h"
#include "i18n.h"
+extern wBool_t CheckHelpTopicExists(const char * topic);
+
#include "dynstring.h"
#define debug 0
diff --git a/app/wlib/gtklib/button.c b/app/wlib/gtklib/button.c
index 51106c8..9a8ec77 100644
--- a/app/wlib/gtklib/button.c
+++ b/app/wlib/gtklib/button.c
@@ -57,6 +57,13 @@ void wButtonSetBusy(wButton_p bb, int value)
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(bb->widget), value);
bb->recursion--;
bb->busy = value;
+ if (!value) {
+ if (bb->timer_id) {
+ g_source_remove(bb->timer_id);
+ bb->timer_id = 0;
+ }
+ bb->timer_state = -1;
+ }
}
/**
@@ -148,9 +155,10 @@ void wlibButtonDoAction(
}
}
+
/**
* Signal handler for button push
- * \param widget IN the widget
+ * \param widget IN the widget or NULL for autorepeat
* \param value IN the button handle (same as widget???)
*/
@@ -168,17 +176,124 @@ static void pushButt(
return;
}
+ wlibStringUpdate();
if (b->action) {
b->action(b->data);
}
- if (!b->busy) {
- b->recursion++;
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->widget), FALSE);
- b->recursion--;
- }
+
+}
+
+#define REPEAT_STAGE0_DELAY 500
+#define REPEAT_STAGE1_DELAY 150
+#define REPEAT_STAGE2_DELAY 100
+
+/* Timer callback function! */
+static int timer_func ( void * data)
+{
+ wButton_p bb = (wButton_p)data;
+ if (bb->timer_id == 0) {
+ bb->timer_state = -1;
+ return FALSE;
+ }
+ /* Autorepeat state machine */
+ switch (bb->timer_state) {
+ case 0: /* Enable slow auto-repeat */
+ g_source_remove(bb->timer_id);
+ bb->timer_id = 0;
+ bb->timer_state = 1;
+ bb->timer_id = g_timeout_add( REPEAT_STAGE1_DELAY, timer_func, bb);
+ bb->timer_count = 0;
+ break;
+ case 1: /* Check if it's time for fast repeat yet */
+ if (bb->timer_count++ > 10)
+ bb->timer_state = 2;
+ break;
+ case 2: /* Start fast auto-repeat */
+ g_source_remove(bb->timer_id);
+ bb->timer_id = 0;
+ bb->timer_state = 3;
+ bb->timer_id = g_timeout_add( REPEAT_STAGE2_DELAY, timer_func, bb);
+ break;
+ case 3:
+ break;
+ default:
+ g_source_remove(bb->timer_id);
+ bb->timer_id = 0;
+ bb->timer_state = -1;
+ return FALSE;
+ break;
+ }
+
+ pushButt(NULL,bb);
+
+ return TRUE;
+
+}
+
+static gint pressButt(
+ GtkWidget *widget,
+ GdkEventButton *event,
+ wButton_p bb) {
+
+ if ( debugWindow >= 1 )
+ printf( "buttonPress: %s\n", bb->labelStr );
+ if (bb->recursion) {
+ return TRUE;
+
+ }
+
+
+ if (bb->option & BO_REPEAT) {
+ /* Remove an existing timer */
+ if (bb->timer_id)
+ g_source_remove(bb->timer_id);
+
+ /* Setup a timer */
+ bb->timer_id = g_timeout_add( REPEAT_STAGE0_DELAY, timer_func, bb);
+ bb->timer_state = 0;
+
+ }
+
+ if (!bb->busy) {
+ bb->recursion++;
+ int sensitive = gtk_widget_get_sensitive (GTK_WIDGET(bb->widget));
+ if (sensitive)
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(bb->widget), TRUE);
+ bb->recursion--;
+ }
+
+
+ return TRUE;
+
+}
+
+static gint releaseButt(
+ GtkWidget *widget,
+ GdkEventButton *event,
+ wButton_p bb) {
+
+ if ( debugWindow >= 1 )
+ printf( "buttonRelease: %s\n", bb->labelStr );
+ /* Remove any existing timer */
+ if (bb->timer_id) {
+ g_source_remove(bb->timer_id);
+ bb->timer_id = 0;
+ }
+
+ bb->timer_state = -1;
+
+ pushButt(widget,bb); //Do here to simulate "clicked"
+
+ if (!bb->busy) {
+ bb->recursion++;
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(bb->widget), FALSE);
+ bb->recursion--;
+ }
+ return TRUE;
}
+
/**
* Called after expose event default hander - allows the button to be outlined
*/
@@ -208,12 +323,12 @@ static wBool_t exposeButt(
wButton_p wButtonCreate(
wWin_p parent,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
- wPos_t width,
+ wWinPix_t width,
wButtonCallBack_p action,
void * data)
{
@@ -227,8 +342,12 @@ wButton_p wButtonCreate(
wlibComputePos((wControl_p)b);
b->widget = gtk_toggle_button_new();
- g_signal_connect(GTK_OBJECT(b->widget), "clicked",
- G_CALLBACK(pushButt), b);
+ g_signal_connect(GTK_OBJECT(b->widget), "button_press_event",
+ G_CALLBACK(pressButt), b);
+ g_signal_connect(GTK_OBJECT(b->widget), "button_release_event",
+ G_CALLBACK(releaseButt), b);
+ //g_signal_connect(GTK_OBJECT(b->widget), "clicked",
+ // G_CALLBACK(pushButt), b);
g_signal_connect_after(GTK_OBJECT(b->widget), "expose-event",
G_CALLBACK(exposeButt), b);
if (width > 0) {
@@ -476,18 +595,18 @@ static void choiceRepaint(
wChoice_p wRadioCreate(
wWin_p parent,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
- const char **labels,
+ const char * const *labels,
long *valueP,
wChoiceCallBack_p action,
void *data)
{
wChoice_p b;
- const char ** label;
+ const char * const * label;
GtkWidget *butt0=NULL, *butt;
if ((option & BC_NOBORDER)==0) {
@@ -584,18 +703,18 @@ wChoice_p wRadioCreate(
wChoice_p wToggleCreate(
wWin_p parent,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
- const char **labels,
+ const char * const * labels,
long *valueP,
wChoiceCallBack_p action,
void *data)
{
wChoice_p b;
- const char ** label;
+ const char * const * label;
if ((option & BC_NOBORDER)==0) {
if (x>=0) {
diff --git a/app/wlib/gtklib/color.c b/app/wlib/gtklib/color.c
index e1689d2..fee4a80 100644
--- a/app/wlib/gtklib/color.c
+++ b/app/wlib/gtklib/color.c
@@ -414,12 +414,12 @@ wDrawColor wColorSelectButtonGetColor(
wButton_p wColorSelectButtonCreate(
wWin_p parent,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
- wPos_t width,
+ wWinPix_t width,
wDrawColor *valueP,
wColorSelectButtonCallBack_p action,
void * data)
diff --git a/app/wlib/gtklib/control.c b/app/wlib/gtklib/control.c
index 07d9210..0332470 100644
--- a/app/wlib/gtklib/control.c
+++ b/app/wlib/gtklib/control.c
@@ -89,7 +89,17 @@ void wControlActive(
abort();
}
- gtk_widget_set_sensitive(GTK_WIDGET(b->widget), active);
+ if (b->type == B_LIST || b->type == B_DROPLIST ) {
+
+ gtk_widget_set_sensitive(gtk_bin_get_child(GTK_BIN(b->widget)), active);
+ gtk_combo_box_set_button_sensitivity(GTK_COMBO_BOX(b->widget),
+ active?GTK_SENSITIVITY_ON:GTK_SENSITIVITY_OFF);
+
+ } else {
+
+ gtk_widget_set_sensitive(GTK_WIDGET(b->widget), active);
+
+ }
}
/**
@@ -102,7 +112,7 @@ void wControlActive(
* \returns width of label including some space
*/
-wPos_t wLabelWidth(
+wWinPix_t wLabelWidth(
const char * label)
{
GtkWidget * widget;
@@ -122,7 +132,7 @@ wPos_t wLabelWidth(
* \returns width
*/
-wPos_t wControlGetWidth(
+wWinPix_t wControlGetWidth(
wControl_p b)
{
return b->w;
@@ -135,7 +145,7 @@ wPos_t wControlGetWidth(
* \returns height
*/
-wPos_t wControlGetHeight(
+wWinPix_t wControlGetHeight(
wControl_p b)
{
return b->h;
@@ -148,7 +158,7 @@ wPos_t wControlGetHeight(
* \returns position
*/
-wPos_t wControlGetPosX(
+wWinPix_t wControlGetPosX(
wControl_p b) /* Control */
{
return b->realX;
@@ -161,7 +171,7 @@ wPos_t wControlGetPosX(
* \returns position
*/
-wPos_t wControlGetPosY(
+wWinPix_t wControlGetPosY(
wControl_p b) /* Control */
{
return b->realY - BORDERSIZE - ((b->parent->option&F_MENUBAR)?b->parent->menu_height:0);
@@ -177,8 +187,8 @@ wPos_t wControlGetPosY(
void wControlSetPos(
wControl_p b,
- wPos_t x,
- wPos_t y)
+ wWinPix_t x,
+ wWinPix_t y)
{
b->realX = x;
b->realY = y + BORDERSIZE + ((b->parent->option&F_MENUBAR)?b->parent->menu_height:0);
@@ -306,19 +316,12 @@ void wControlHilite(
{
cairo_t *cr;
int off = GTKCONTROLHILITEWIDTH/2+1;
+ if ( debugWindow >= 1 )
+ printf( "wControlHIlite( %s, %d )\n", b->labelStr, hilite );
if (b->widget == NULL) {
return;
}
-
- if (! gtk_widget_get_visible(b->widget)) {
- return;
- }
-
- if (! gtk_widget_get_visible(b->parent->widget)) {
- return;
- }
-
b->outline = hilite;
if (b->widget)
diff --git a/app/wlib/gtklib/droplist.c b/app/wlib/gtklib/droplist.c
index 69a2efd..91406fc 100644
--- a/app/wlib/gtklib/droplist.c
+++ b/app/wlib/gtklib/droplist.c
@@ -353,13 +353,13 @@ wlibNewDropList(GtkListStore *ls, int editable)
wList_p wDropListCreate(
wWin_p parent,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
long number,
- wPos_t width,
+ wWinPix_t width,
long *valueP,
wListCallBack_p action,
void *data)
diff --git a/app/wlib/gtklib/filesel.c b/app/wlib/gtklib/filesel.c
index a1fb7cc..7e27465 100644
--- a/app/wlib/gtklib/filesel.c
+++ b/app/wlib/gtklib/filesel.c
@@ -324,7 +324,7 @@ int wFilSelect( struct wFilSel_t * fs, const char * dirName )
extension = startDelimiter + 2;
}
}
- file = g_realloc( file, strlen(file)+strlen(extension));
+ file = g_realloc( file, strlen(file)+strlen(extension)+1);
strcat( file, extension );
free( pattern );
}
diff --git a/app/wlib/gtklib/font.c b/app/wlib/gtklib/font.c
index e2f741b..29df04d 100644
--- a/app/wlib/gtklib/font.c
+++ b/app/wlib/gtklib/font.c
@@ -182,11 +182,11 @@ PangoLayout *wlibFontCreatePangoLayout(GtkWidget *widget,
wFont_p fp,
wFontSize_t fs,
const char *s,
- int *width_p,
- int *height_p,
- int *ascent_p,
- int *descent_p,
- int *baseline_p)
+ wDrawPix_t *width_p,
+ wDrawPix_t *height_p,
+ wDrawPix_t *ascent_p,
+ wDrawPix_t *descent_p,
+ wDrawPix_t *baseline_p)
{
if (!fontInitted) {
fontInit();
@@ -215,9 +215,10 @@ PangoLayout *wlibFontCreatePangoLayout(GtkWidget *widget,
FONTSIZE_TO_PANGOSIZE(fs) * PANGO_SCALE);
pango_layout_set_font_description(layout, fontDescription);
/* get layout measures */
- pango_layout_get_size(layout, width_p, height_p);
- *width_p = *width_p / PANGO_SCALE;
- *height_p = *height_p / PANGO_SCALE;
+ gint width_i, height_i;
+ pango_layout_get_size(layout, &width_i, &height_i);
+ *width_p = width_i / PANGO_SCALE;
+ *height_p = height_i / PANGO_SCALE;
context = gtk_widget_create_pango_context(widget);
metrics = pango_context_get_metrics(context, fontDescription,
pango_context_get_language(context));
diff --git a/app/wlib/gtklib/gtkdraw-cairo.c b/app/wlib/gtklib/gtkdraw-cairo.c
index 4498a2c..033e0ec 100644
--- a/app/wlib/gtklib/gtkdraw-cairo.c
+++ b/app/wlib/gtklib/gtkdraw-cairo.c
@@ -72,14 +72,14 @@ struct wDrawBitMap_t {
//GdkGC * gc;
//wDrawWidth lineWidth;
//wDrawOpts opts;
- //wPos_t maxW;
- //wPos_t maxH;
+ //wWinPix_t maxW;
+ //wWinPix_t maxH;
//unsigned long lastColor;
//wBool_t lastColorInverted;
//const char * helpStr;
- //wPos_t lastX;
- //wPos_t lastY;
+ //wWinPix_t lastX;
+ //wWinPix_t lastY;
//wBool_t delayUpdate;
//};
@@ -326,7 +326,7 @@ static cairo_t* gtkDrawDestroyCairoContext(cairo_t *cairo) {
}
#ifdef CURSOR_SURFACE
-cairo_t* CreateCursorSurface(wControl_p ct, wSurface_p surface, wPos_t width, wPos_t height, wDrawColor color, wDrawOpts opts) {
+cairo_t* CreateCursorSurface(wControl_p ct, wSurface_p surface, wWinPix_t width, wWinPix_t height, wDrawColor color, wDrawOpts opts) {
cairo_t * cairo = NULL;
@@ -374,8 +374,8 @@ cairo_t* CreateCursorSurface(wControl_p ct, wSurface_p surface, wPos_t width, wP
void wDrawLine(
wDraw_p bd,
- wPos_t x0, wPos_t y0,
- wPos_t x1, wPos_t y1,
+ wDrawPix_t x0, wDrawPix_t y0,
+ wDrawPix_t x1, wDrawPix_t y1,
wDrawWidth width,
wDrawLineType_e lineType,
wDrawColor color,
@@ -420,8 +420,8 @@ cairo_t* CreateCursorSurface(wControl_p ct, wSurface_p surface, wPos_t width, wP
void wDrawArc(
wDraw_p bd,
- wPos_t x0, wPos_t y0,
- wPos_t r,
+ wDrawPix_t x0, wDrawPix_t y0,
+ wDrawPix_t r,
wAngle_t angle0,
wAngle_t angle1,
int drawCenter,
@@ -473,7 +473,7 @@ cairo_t* CreateCursorSurface(wControl_p ct, wSurface_p surface, wPos_t width, wP
void wDrawPoint(
wDraw_p bd,
- wPos_t x0, wPos_t y0,
+ wDrawPix_t x0, wDrawPix_t y0,
wDrawColor color,
wDrawOpts opts )
{
@@ -502,7 +502,7 @@ cairo_t* CreateCursorSurface(wControl_p ct, wSurface_p surface, wPos_t width, wP
void wDrawString(
wDraw_p bd,
- wPos_t x, wPos_t y,
+ wDrawPix_t x, wDrawPix_t y,
wAngle_t a,
const char * s,
wFont_p fp,
@@ -512,11 +512,11 @@ cairo_t* CreateCursorSurface(wControl_p ct, wSurface_p surface, wPos_t width, wP
{
PangoLayout *layout;
GdkRectangle update_rect;
- int w;
- int h;
- gint ascent;
- gint descent;
- gint baseline;
+ wDrawPix_t w;
+ wDrawPix_t h;
+ wDrawPix_t ascent;
+ wDrawPix_t descent;
+ wDrawPix_t baseline;
double angle = -M_PI * a / 180.0;
if ( bd == &psPrint_d ) {
@@ -534,8 +534,8 @@ cairo_t* CreateCursorSurface(wControl_p ct, wSurface_p surface, wPos_t width, wP
cairo_identity_matrix(cairo);
layout = wlibFontCreatePangoLayout(bd->widget, cairo, fp, fs, s,
- (int *) &w, (int *) &h,
- (int *) &ascent, (int *) &descent, (int *) &baseline);
+ &w, &h,
+ &ascent, &descent, &baseline);
/* cairo does not support the old method of text removal by overwrite;
* if color is White, then overwrite old text with a White rectangle */
@@ -571,20 +571,20 @@ cairo_t* CreateCursorSurface(wControl_p ct, wSurface_p surface, wPos_t width, wP
}
void wDrawGetTextSize(
- wPos_t *w,
- wPos_t *h,
- wPos_t *d,
- wPos_t *a,
+ wDrawPix_t *w,
+ wDrawPix_t *h,
+ wDrawPix_t *d,
+ wDrawPix_t *a,
wDraw_p bd,
const char * s,
wFont_p fp,
wFontSize_t fs )
{
- int textWidth;
- int textHeight;
- int ascent;
- int descent;
- int baseline;
+ wDrawPix_t textWidth;
+ wDrawPix_t textHeight;
+ wDrawPix_t ascent;
+ wDrawPix_t descent;
+ wDrawPix_t baseline;
*w = 0;
*h = 0;
@@ -596,17 +596,17 @@ cairo_t* CreateCursorSurface(wControl_p ct, wSurface_p surface, wPos_t width, wP
wlibFontDestroyPangoLayout(
wlibFontCreatePangoLayout(bd->widget, cairo, fp, fs, s,
- &textWidth, (int *) &textHeight,
- (int *) &ascent, (int *) &descent, (int *) &baseline) );
+ &textWidth, &textHeight,
+ &ascent, &descent, &baseline) );
- *w = (wPos_t) textWidth;
- *h = (wPos_t) textHeight;
- *a = (wPos_t) ascent;
- //*d = (wPos_t) textHeight-ascent;
- *d = (wPos_t) descent;
+ *w = textWidth;
+ *h = textHeight;
+ *a = ascent;
+ //*d = textHeight-ascent;
+ *d = descent;
if (debugWindow >= 3)
- fprintf(stderr, "text metrics: w=%d, h=%d, d=%d\n", *w, *h, *d);
+ fprintf(stderr, "text metrics: w=%0.1f, h=%0.1f, d=%0.1f\n", *w, *h, *d);
gtkDrawDestroyCairoContext(cairo);
}
@@ -642,10 +642,10 @@ static void wlibDrawFilled(
void wDrawFilledRectangle(
wDraw_p bd,
- wPos_t x,
- wPos_t y,
- wPos_t w,
- wPos_t h,
+ wDrawPix_t x,
+ wDrawPix_t y,
+ wDrawPix_t w,
+ wDrawPix_t h,
wDrawColor color,
wDrawOpts opt )
{
@@ -676,7 +676,7 @@ static void wlibDrawFilled(
void wDrawPolygon(
wDraw_p bd,
- wPos_t p[][2],
+ wDrawPix_t p[][2],
wPolyLine_e type[],
int cnt,
wDrawColor color,
@@ -704,12 +704,13 @@ static void wlibDrawFilled(
abort();
maxCnt = cnt;
}
- wPos_t min_x,max_x,min_y,max_y;
+ wDrawPix_t min_x,max_x,min_y,max_y;
min_x = max_x = INMAPX(bd,p[0][0]);
min_y = max_y = INMAPY(bd,p[0][1]);
for (i=0; i<cnt; i++) {
points[i].x = INMAPX(bd,p[i][0]);
if (points[i].x < min_x) min_x = points[i].x;
+ if (points[i].y < min_y) min_y = points[i].y;
if (points[i].x > max_x) max_x = points[i].x;
if (points[i].y > max_y) max_y = points[i].y;
points[i].y = INMAPY(bd,p[i][1]);
@@ -802,9 +803,9 @@ static void wlibDrawFilled(
void wDrawFilledCircle(
wDraw_p bd,
- wPos_t x0,
- wPos_t y0,
- wPos_t r,
+ wDrawPix_t x0,
+ wDrawPix_t y0,
+ wDrawPix_t r,
wDrawColor color,
wDrawOpts opt )
{
@@ -905,12 +906,12 @@ static void wlibDrawFilled(
void wDrawBitMap(
wDraw_p bd,
wDrawBitMap_p bm,
- wPos_t x, wPos_t y,
+ wDrawPix_t x, wDrawPix_t y,
wDrawColor color,
wDrawOpts opts )
{
int i, j, wb;
- wPos_t xx, yy;
+ wDrawPix_t xx, yy;
wControl_p b;
wWin_p win;
GdkDrawable * gdk_drawable, * cairo_surface;
@@ -1066,8 +1067,8 @@ static void wlibDrawFilled(
void wDrawSetSize(
wDraw_p bd,
- wPos_t w,
- wPos_t h , void * redraw)
+ wWinPix_t w,
+ wWinPix_t h , void * redraw)
{
wBool_t repaint;
if (bd == NULL) {
@@ -1102,8 +1103,8 @@ static void wlibDrawFilled(
void wDrawGetSize(
wDraw_p bd,
- wPos_t *w,
- wPos_t *h )
+ wWinPix_t *w,
+ wWinPix_t *h )
{
if (bd->widget)
wlibControlGetSize( (wControl_p)bd );
@@ -1140,16 +1141,16 @@ static void wlibDrawFilled(
void wDrawClip(
wDraw_p d,
- wPos_t x,
- wPos_t y,
- wPos_t w,
- wPos_t h )
+ wDrawPix_t x,
+ wDrawPix_t y,
+ wDrawPix_t w,
+ wDrawPix_t h )
{
GdkRectangle rect;
- rect.width = w;
- rect.height = h;
- rect.x = INMAPX( d, x );
- rect.y = INMAPY( d, y ) - rect.height;
+ rect.width = (wWinPix_t)w;
+ rect.height = (wWinPix_t)h;
+ rect.x = (wWinPix_t)INMAPX( d, x );
+ rect.y = (wWinPix_t)INMAPY( d, y ) - rect.height;
gdk_gc_set_clip_rectangle( d->gc, &rect );
}
@@ -1162,9 +1163,9 @@ static gint draw_expose_event(
{
static long cDEE = 0;
if ( iDrawLog )
- printf( "draw_expose_event %ld %dx%d+%dx%d %dx%d+%dx%d\n", cDEE++,
+ printf( "draw_expose_event %ld %dx%d+%dx%d %ldx%ld+%ldx%ld\n", cDEE++,
event->area.x, event->area.y, event->area.width, event->area.height,
- 0, bd->w, 0, bd->h );
+ 0L, bd->w, 0L, bd->h );
cairo_t* cairo = gdk_cairo_create (widget->window);
gdk_cairo_set_source_pixmap(cairo,bd->pixmap,0,0);
@@ -1223,7 +1224,7 @@ static int ScrollTimerPop(wDraw_p bd) {
}
if (drawVerbose >= 2)
printf( "%s-Pop\n", actionNames[lastAction] );
- bd->action( bd, bd->context, lastAction, 0, 0 );
+ bd->action( bd, bd->context, lastAction, (wDrawPix_t)0, (wDrawPix_t)0 );
return FALSE;
}
@@ -1310,8 +1311,8 @@ static gint draw_scroll_event(
if (action != 0) {
if (drawVerbose >= 2)
- printf( "%s[%dx%d]\n", actionNames[action], bd->lastX, bd->lastY );
- bd->action( bd, bd->context, action, bd->lastX, bd->lastY );
+ printf( "%s[%ldx%ld]\n", actionNames[action], bd->lastX, bd->lastY );
+ bd->action( bd, bd->context, action, (wDrawPix_t)bd->lastX, (wDrawPix_t)bd->lastY);
}
return TRUE;
@@ -1332,12 +1333,16 @@ static gint draw_leave_event(
* Handler for mouse button clicks.
*/
+
+
static gint draw_button_event(
GtkWidget *widget,
GdkEventButton *event,
wDraw_p bd )
{
+
wAction_t action = 0;
+
if (bd->action == NULL)
return TRUE;
@@ -1346,20 +1351,22 @@ static gint draw_button_event(
switch ( event->button ) {
case 1: /* left mouse button */
+ case 2: /* middle mouse button */
action = event->type==GDK_BUTTON_PRESS?wActionLDown:wActionLUp;
if (event->type==GDK_2BUTTON_PRESS) action = wActionLDownDouble;
- /*bd->action( bd, bd->context, event->type==GDK_BUTTON_PRESS?wActionLDown:wActionLUp, bd->lastX, bd->lastY );*/
+ /*bd->action( bd, bd->context, event->type==GDK_BUTTON_PRESS?wActionLDown:wActionLUp, (wDrawPix_t)bd->lastX, (wDrawPix_t)bd->lastY );*/
break;
case 3: /* right mouse button */
action = event->type==GDK_BUTTON_PRESS?wActionRDown:wActionRUp;
- /*bd->action( bd, bd->context, event->type==GDK_BUTTON_PRESS?wActionRDown:wActionRUp, bd->lastX, bd->lastY );*/
+ /*bd->action( bd, bd->context, event->type==GDK_BUTTON_PRESS?wActionRDown:wActionRUp, (wDrawPix_t)bd->lastX, (wDrawPix_t)bd->lastY );*/
break;
}
if (action != 0) {
if (drawVerbose >= 2)
- printf( "%s[%dx%d]\n", actionNames[action], bd->lastX, bd->lastY );
- bd->action( bd, bd->context, action, bd->lastX, bd->lastY );
+ printf( "%s[%ldx%ld]\n", actionNames[action], bd->lastX, bd->lastY );
+ bd->action( bd, bd->context, action, (wDrawPix_t)bd->lastX, (wDrawPix_t)bd->lastY );
}
+
if (!(bd->option & BD_NOFOCUS))
gtk_widget_grab_focus( bd->widget );
return TRUE;
@@ -1387,16 +1394,18 @@ static gint draw_motion_event(
if (state & GDK_BUTTON1_MASK) {
action = wActionLDrag;
+ } else if (state & GDK_BUTTON2_MASK) {
+ action = wActionLDrag;
} else if (state & GDK_BUTTON3_MASK) {
- action = wActionRDrag;
+ action = wActionRDrag;
} else {
action = wActionMove;
}
bd->lastX = OUTMAPX(bd, x);
bd->lastY = OUTMAPY(bd, y);
if (drawVerbose >= 2)
- printf( "%lx: %s[%dx%d] %s\n", (long)bd, actionNames[action], bd->lastX, bd->lastY, event->is_hint?"<Hint>":"<>" );
- bd->action( bd, bd->context, action, bd->lastX, bd->lastY );
+ printf( "%lx: %s[%ldx%ld] %s\n", (long)bd, actionNames[action], bd->lastX, bd->lastY, event->is_hint?"<Hint>":"<>" );
+ bd->action( bd, bd->context, action, (wDrawPix_t)bd->lastX, (wDrawPix_t)bd->lastY );
if (!(bd->option & BD_NOFOCUS))
gtk_widget_grab_focus( bd->widget );
return TRUE;
@@ -1421,7 +1430,7 @@ static gint draw_char_release_event(
}
if (modKey!= wModKey_None && (bd->option & BD_MODKEYS)) {
- bd->action(bd, bd->context, wActionModKey+((int)modKey<<8), bd->lastX, bd->lastY );
+ bd->action(bd, bd->context, wActionModKey+((int)modKey<<8), (wDrawPix_t)bd->lastX, (wDrawPix_t)bd->lastY );
if (!(bd->option & BD_NOFOCUS))
gtk_widget_grab_focus( bd->widget );
return TRUE;
@@ -1485,23 +1494,23 @@ static gint draw_char_event(
if (extKey != wAccelKey_None) {
if ( wlibFindAccelKey( event ) == NULL ) {
- bd->action( bd, bd->context, wActionExtKey + ((int)extKey<<8), bd->lastX, bd->lastY );
+ bd->action( bd, bd->context, wActionExtKey + ((int)extKey<<8), (wDrawPix_t)bd->lastX, (wDrawPix_t)bd->lastY );
}
if (!(bd->option & BD_NOFOCUS))
gtk_widget_grab_focus( bd->widget );
return TRUE;
} else if ((key >=wAccelKey_Up) && (key<=wAccelKey_Left) && bd->action) {
- bd->action( bd, bd->context, wActionText+(key<<8), bd->lastX, bd->lastY );
+ bd->action( bd, bd->context, wActionText+(key<<8), (wDrawPix_t)bd->lastX, (wDrawPix_t)bd->lastY );
if (!(bd->option & BD_NOFOCUS))
gtk_widget_grab_focus( bd->widget );
return TRUE;
} else if (key <= 0xFF && (event->state&(GDK_CONTROL_MASK|GDK_MOD1_MASK)) == 0 && bd->action) {
- bd->action( bd, bd->context, wActionText+(key<<8), bd->lastX, bd->lastY );
+ bd->action( bd, bd->context, wActionText+(key<<8), (wDrawPix_t)bd->lastX, (wDrawPix_t)bd->lastY );
if (!(bd->option & BD_NOFOCUS))
gtk_widget_grab_focus( bd->widget );
return TRUE;
} else if (modKey!= wModKey_None && (bd->option & BD_MODKEYS)) {
- bd->action(bd, bd->context, wActionModKey+((int)modKey<<8), bd->lastX, bd->lastY );
+ bd->action(bd, bd->context, wActionModKey+((int)modKey<<8), (wDrawPix_t)bd->lastX, (wDrawPix_t)bd->lastY );
if (!(bd->option & BD_NOFOCUS))
gtk_widget_grab_focus( bd->widget );
return TRUE;
@@ -1525,12 +1534,12 @@ int xw, xh, cw, ch;
wDraw_p wDrawCreate(
wWin_p parent,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
long option,
- wPos_t width,
- wPos_t height,
+ wWinPix_t width,
+ wWinPix_t height,
void * context,
wDrawRedrawCallBack_p redraw,
wDrawActionCallBack_p action )
@@ -1579,7 +1588,12 @@ int xw, xh, cw, ch;
| GDK_KEY_PRESS_MASK
| GDK_KEY_RELEASE_MASK );
bd->lastColor = -1;
- bd->dpi = 75;
+
+ double dpi;
+
+ wPrefGetFloat(PREFSECTION, DPISET, &dpi, 96.0);
+
+ bd->dpi = dpi;
bd->maxW = bd->w = width;
bd->maxH = bd->h = height;
@@ -1614,14 +1628,19 @@ int xw, xh, cw, ch;
*
*******************************************************************************/
-wDraw_p wBitMapCreate( wPos_t w, wPos_t h, int arg )
+wDraw_p wBitMapCreate( wWinPix_t w, wWinPix_t h, int arg )
{
wDraw_p bd;
bd = (wDraw_p)wlibAlloc( gtkMainW, B_DRAW, 0, 0, NULL, sizeof *bd, NULL );
bd->lastColor = -1;
- bd->dpi = 75;
+
+ double dpi;
+
+ wPrefGetFloat(PREFSECTION, DPISET, &dpi, 96.0);
+
+ bd->dpi = dpi;
bd->maxW = bd->w = w;
bd->maxH = bd->h = h;
@@ -1677,7 +1696,35 @@ int wDrawSetBackground( wDraw_p bd, char * path, char ** error) {
}
-void wDrawShowBackground( wDraw_p bd, wPos_t pos_x, wPos_t pos_y, wPos_t size, wAngle_t angle, int screen) {
+/**
+ * Use a loaded background in another context.
+ *
+ * \param from context with background
+ * \param to context to get a reference to the existing background
+ */
+
+void
+wDrawCloneBackground(wDraw_p from, wDraw_p to)
+{
+ if (from->background) {
+ to->background = from->background;
+ } else {
+ to->background = NULL;
+ }
+}
+
+/**
+* Draw background to screen. The background will be sized and rotated before being shown. The bitmap
+* is scaled so that the width is equal to size. The height is changed proportionally.
+*
+* \param bd drawing context
+* \param pos_x, pos_y bitmap position
+* \param size desired width after scaling
+* \param angle
+* \param screen visibility of bitmap in percent
+*/
+
+void wDrawShowBackground( wDraw_p bd, wWinPix_t pos_x, wWinPix_t pos_y, wWinPix_t size, wAngle_t angle, int screen) {
if (bd->background) {
cairo_t* cairo = gtkDrawCreateCairoContext(bd, NULL, 0, wDrawLineSolid, wDrawColorWhite, bd->bTempMode?wDrawOptTemp:0 );
diff --git a/app/wlib/gtklib/gtkint.h b/app/wlib/gtklib/gtkint.h
index 410fd7f..6d8a641 100644
--- a/app/wlib/gtklib/gtkint.h
+++ b/app/wlib/gtklib/gtkint.h
@@ -45,8 +45,8 @@ extern wWin_p gtkMainW;
#ifdef CURSOR_SURFACE
typedef struct {
cairo_surface_t* surface;
- wPos_t width;
- wPos_t height;
+ wWinPix_t width;
+ wWinPix_t height;
wBool_t show;
} wCursorSurface_t, * wSurface_p;
#endif
@@ -69,11 +69,11 @@ typedef void (*setTriggerCallback_p)( wControl_p b );
wControl_p next; \
wControl_p synonym; \
wWin_p parent; \
- wPos_t origX, origY; \
- wPos_t realX, realY; \
- wPos_t default_size_x, default_size_y; \
- wPos_t labelW; \
- wPos_t w, h; \
+ wWinPix_t origX, origY; \
+ wWinPix_t realX, realY; \
+ wWinPix_t default_size_x, default_size_y; \
+ wWinPix_t labelW; \
+ wWinPix_t w, h; \
int maximize_initially; \
long option; \
const char * labelStr; \
@@ -88,7 +88,7 @@ typedef void (*setTriggerCallback_p)( wControl_p b );
struct wWin_t {
WOBJ_COMMON
GtkWidget *gtkwin; /**< GTK window */
- wPos_t lastX, lastY;
+ wWinPix_t lastX, lastY;
wControl_p first, last;
wWinCallBack_p winProc; /**< window procedure */
wBool_t shown; /**< visibility state */
@@ -117,12 +117,12 @@ struct wList_t {
int count;
int number;
int colCnt;
- wPos_t *colWidths;
+ wWinPix_t *colWidths;
wBool_t *colRightJust;
GtkListStore *listStore;
GtkWidget *treeView;
int last;
- wPos_t listX;
+ wWinPix_t listX;
long * valueP;
wListCallBack_p action;
int recursion;
@@ -144,8 +144,8 @@ struct wListItem_t {
#define gtkIcon_pixmap (2)
struct wIcon_t {
int gtkIconType;
- wPos_t w;
- wPos_t h;
+ wWinPix_t w;
+ wWinPix_t h;
wDrawColor color;
const void * bits;
};
@@ -157,7 +157,7 @@ extern wDrawColor wDrawColorBlack;
/* boxes.c */
-void wlibDrawBox(wWin_p win, wBoxType_e style, wPos_t x, wPos_t y, wPos_t w, wPos_t h);
+void wlibDrawBox(wWin_p win, wBoxType_e style, wWinPix_t x, wWinPix_t y, wWinPix_t w, wWinPix_t h);
/* button.c */
void wlibSetLabel(GtkWidget *widget, long option, const char *labelStr, GtkLabel **labelG, GtkWidget **imageG);
@@ -170,6 +170,9 @@ struct wButton_t {
wButtonCallBack_p action;
int busy;
int recursion;
+ long timer_id;
+ int timer_count;
+ int timer_state;
};
/* color.c */
@@ -202,12 +205,12 @@ void *wDropListGetItemContext(wList_p b, wIndex_t inx);
void wDropListAddValue(wList_p b, char *text, wListItem_p data);
void wDropListSetIndex(wList_p b, int val);
wBool_t wDropListSetValues(wList_p b, wIndex_t row, const char *labelStr, wIcon_p bm, void *itemData);
-wList_p wDropListCreate(wWin_p parent, wPos_t x, wPos_t y, const char *helpStr, const char *labelStr, long option, long number, wPos_t width, long *valueP, wListCallBack_p action, void *data);
+wList_p wDropListCreate(wWin_p parent, wWinPix_t x, wWinPix_t y, const char *helpStr, const char *labelStr, long option, long number, wWinPix_t width, long *valueP, wListCallBack_p action, void *data);
/* filesel.c */
/* font.c */
-PangoLayout *wlibFontCreatePangoLayout(GtkWidget *widget, void *cairo, wFont_p fp, wFontSize_t fs, const char *s, int *width_p, int *height_p, int *ascent_p, int *descent_p, int *baseline_p);
+PangoLayout *wlibFontCreatePangoLayout(GtkWidget *widget, void *cairo, wFont_p fp, wFontSize_t fs, const char *s, wDrawPix_t *width_p, wDrawPix_t *height_p, wDrawPix_t *ascent_p, wDrawPix_t *descent_p, wDrawPix_t *baseline_p);
void wlibFontDestroyPangoLayout(PangoLayout *layout);
const char *wlibFontTranslate(wFont_p fp);
@@ -245,11 +248,11 @@ typedef struct accelData_t {
GdkPixbuf* wlibPixbufFromXBM(wIcon_p ip);
int wlibAddLabel(wControl_p b, const char *labelStr);
-void *wlibAlloc(wWin_p parent, wType_e type, wPos_t origX, wPos_t origY, const char *labelStr, int size, void *data);
+void *wlibAlloc(wWin_p parent, wType_e type, wWinPix_t origX, wWinPix_t origY, const char *labelStr, int size, void *data);
void wlibComputePos(wControl_p b);
void wlibControlGetSize(wControl_p b);
void wlibAddButton(wControl_p b);
-wControl_p wlibGetControlFromPos(wWin_p win, wPos_t x, wPos_t y);
+wControl_p wlibGetControlFromPos(wWin_p win, wWinPix_t x, wWinPix_t y);
char *wlibConvertInput(const char *inString);
char *wlibConvertOutput(const char *inString);
struct accelData_t *wlibFindAccelKey(GdkEventKey *event);
@@ -278,14 +281,14 @@ struct wDraw_t {
GdkGC * gc;
wDrawWidth lineWidth;
wDrawOpts opts;
- wPos_t maxW;
- wPos_t maxH;
+ wWinPix_t maxW;
+ wWinPix_t maxH;
unsigned long lastColor;
wBool_t lastColorInverted;
const char * helpStr;
- wPos_t lastX;
- wPos_t lastY;
+ wWinPix_t lastX;
+ wWinPix_t lastY;
wBool_t delayUpdate;
cairo_t *printContext;
@@ -297,15 +300,16 @@ struct wDraw_t {
void WlibApplySettings(GtkPrintOperation *op);
void WlibSaveSettings(GtkPrintOperation *op);
-void psPrintLine(wPos_t x0, wPos_t y0, wPos_t x1, wPos_t y1, wDrawWidth width, wDrawLineType_e lineType, wDrawColor color, wDrawOpts opts);
-void psPrintArc(wPos_t x0, wPos_t y0, wPos_t r, double angle0, double angle1, wBool_t drawCenter, wDrawWidth width, wDrawLineType_e lineType, wDrawColor color, wDrawOpts opts);
-void psPrintFillRectangle(wPos_t x0, wPos_t y0, wPos_t x1, wPos_t y1, wDrawColor color, wDrawOpts opts);
-void psPrintFillPolygon(wPos_t p[][2], wPolyLine_e type[], int cnt, wDrawColor color, wDrawOpts opts, int fill, int open);
-void psPrintFillCircle(wPos_t x0, wPos_t y0, wPos_t r, wDrawColor color, wDrawOpts opts);
-void psPrintString(wPos_t x, wPos_t y, double a, char *s, wFont_p fp, double fs, wDrawColor color, wDrawOpts opts);
+void psPrintLine(wDrawPix_t x0, wDrawPix_t y0, wDrawPix_t x1, wDrawPix_t y1, wDrawWidth width, wDrawLineType_e lineType, wDrawColor color, wDrawOpts opts);
+void psPrintArc(wDrawPix_t x0, wDrawPix_t y0, wDrawPix_t r, double angle0, double angle1, wBool_t drawCenter, wDrawWidth width, wDrawLineType_e lineType, wDrawColor color, wDrawOpts opts);
+void psPrintFillRectangle(wDrawPix_t x0, wDrawPix_t y0, wDrawPix_t x1, wDrawPix_t y1, wDrawColor color, wDrawOpts opts);
+void psPrintFillPolygon(wDrawPix_t p[][2], wPolyLine_e type[], int cnt, wDrawColor color, wDrawOpts opts, int fill, int open);
+void psPrintFillCircle(wDrawPix_t x0, wDrawPix_t y0, wDrawPix_t r, wDrawColor color, wDrawOpts opts);
+void psPrintString(wDrawPix_t x, wDrawPix_t y, double a, char *s, wFont_p fp, double fs, wDrawColor color, wDrawOpts opts);
static void WlibGetPaperSize(void);
/* single.c */
+void wlibStringUpdate();
/* splash.c */
diff --git a/app/wlib/gtklib/help.c b/app/wlib/gtklib/help.c
index 8f2766d..45d1813 100644
--- a/app/wlib/gtklib/help.c
+++ b/app/wlib/gtklib/help.c
@@ -28,7 +28,8 @@
#include <gtk/gtk.h>
#include <gdk/gdk.h>
-#include "misc.h"
+//#include "misc.h"
+extern const char * GetCurCommandName();
#include "gtkint.h"
#include "i18n.h"
@@ -51,7 +52,7 @@ DoHelpMenu(void *data)
switch (func) {
case 1:
- wHelp("index");
+ wHelp("contents");
break;
case 3:
diff --git a/app/wlib/gtklib/list.c b/app/wlib/gtklib/list.c
index ac66aba..2080b9f 100644
--- a/app/wlib/gtklib/list.c
+++ b/app/wlib/gtklib/list.c
@@ -238,16 +238,20 @@ wIndex_t wListGetValues(
if (bl->type == B_DROPLIST && bl->editted) {
entry_value = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(
bl->widget))));
- item_data = NULL;
+ item_data = NULL;
inx = bl->last = -1;
} else {
- inx = bl->last;
+ //Make sure in range
+ if (bl->last > bl->count-1) bl->last = bl->count-1;
+ inx = bl->last;
+
if (inx >= 0) {
id_p = wlibListStoreGetContext(bl->listStore, inx);
if (id_p==NULL) {
fprintf(stderr, "wListGetValues - id_p == NULL\n");
+ bl->last = -1;
} else {
entry_value = id_p->label;
item_data = id_p->itemData;
@@ -410,6 +414,9 @@ void wListDelete(
b->count--;
}
+ if (b->last == inx-1) b->last = -1;
+ else if (b->last >= inx) b->last = -1;
+
b->recursion--;
return;
}
@@ -426,7 +433,7 @@ void wListDelete(
int wListGetColumnWidths(
wList_p bl,
int colCnt,
- wPos_t * colWidths)
+ wWinPix_t * colWidths)
{
int inx;
@@ -510,7 +517,7 @@ wIndex_t wListAddValue(
* \param h IN height (ignored for droplist)
*/
-void wListSetSize(wList_p bl, wPos_t w, wPos_t h)
+void wListSetSize(wList_p bl, wWinPix_t w, wWinPix_t h)
{
if (bl->type == B_DROPLIST) {
gtk_widget_set_size_request(bl->widget, w, -1);
@@ -534,13 +541,13 @@ void wListSetSize(wList_p bl, wPos_t w, wPos_t h)
wList_p wComboListCreate(
wWin_p parent, /* Parent window */
- wPos_t x, /* X-position */
- wPos_t y, /* Y-position */
+ wWinPix_t x, /* X-position */
+ wWinPix_t y, /* Y-position */
const char * helpStr, /* Help string */
const char * labelStr, /* Label */
long option, /* Options */
long number, /* Number of displayed list entries */
- wPos_t width, /* Width */
+ wWinPix_t width, /* Width */
long *valueP, /* Selected index */
wListCallBack_p action, /* Callback */
void *data) /* Context */
diff --git a/app/wlib/gtklib/menu.c b/app/wlib/gtklib/menu.c
index 79695d4..754f88f 100644
--- a/app/wlib/gtklib/menu.c
+++ b/app/wlib/gtklib/menu.c
@@ -118,7 +118,7 @@ typedef struct wMenuListItem_t * wMenuListItem_p;
struct wMenuToggle_t {
WOBJ_COMMON
MOBJ_COMMON m;
- wMenuToggleCallBack_p action;
+ wMenuCallBack_p action;
wBool_t enabled;
wBool_t set;
};
@@ -151,7 +151,7 @@ static void pushMenuItem(
case M_TOGGLE:
mt = (wMenuToggle_p)m;
wMenuToggleSet( mt, !mt->set );
- mt->action( mt->set, mt->data );
+ mt->action( mt->data );
break;
case M_RADIO:
/* NOTE: action is only called when radio button is activated, not when deactivated */
@@ -790,7 +790,7 @@ wMenuToggle_p wMenuToggleCreate(
const char * labelStr,
long acclKey,
wBool_t set,
- wMenuToggleCallBack_p action,
+ wMenuCallBack_p action,
void * data )
{
wMenuToggle_p mt;
@@ -904,8 +904,8 @@ static gint pushMenu(
wMenu_p wMenuCreate(
wWin_p parent,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option )
@@ -1067,7 +1067,7 @@ wBool_t wMenuAction(
wBeep();
} else {
wMenuToggleSet( mt, !mt->set );
- mt->action( mt->set, mt->data );
+ mt->action( mt->data );
}
break;
case M_MENU:
diff --git a/app/wlib/gtklib/message.c b/app/wlib/gtklib/message.c
index af37d22..4ecfe6f 100644
--- a/app/wlib/gtklib/message.c
+++ b/app/wlib/gtklib/message.c
@@ -45,7 +45,7 @@ struct wMessage_t {
WOBJ_COMMON
GtkWidget * labelWidget;
const char * message;
- wPos_t labelWidth;
+ wWinPix_t labelWidth;
};
/**
@@ -77,7 +77,7 @@ void wMessageSetValue(
void wMessageSetWidth(
wMessage_p b,
- wPos_t width)
+ wWinPix_t width)
{
b->labelWidth = width;
gtk_widget_set_size_request(b->widget, width, -1);
@@ -90,7 +90,7 @@ void wMessageSetWidth(
* \return text height
*/
-wPos_t wMessageGetHeight(
+wWinPix_t wMessageGetHeight(
long flags)
{
GtkWidget * temp;
@@ -149,10 +149,10 @@ wPos_t wMessageGetHeight(
wMessage_p wMessageCreateEx(
wWin_p parent,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * labelStr,
- wPos_t width,
+ wWinPix_t width,
const char *message,
long flags)
{
@@ -212,7 +212,7 @@ wMessage_p wMessageCreateEx(
* \return expected width of message box
*/
-wPos_t
+wWinPix_t
wMessageGetWidth(const char *testString)
{
GtkWidget *entry;
diff --git a/app/wlib/gtklib/osxhelp.c b/app/wlib/gtklib/osxhelp.c
index 4ec1f5e..2fed375 100644
--- a/app/wlib/gtklib/osxhelp.c
+++ b/app/wlib/gtklib/osxhelp.c
@@ -28,7 +28,6 @@
#include <errno.h>
#include <fcntl.h>
-#include "misc.h"
#include "gtkint.h"
#include "i18n.h"
@@ -40,6 +39,7 @@ static pid_t pidOfChild;
static int handleOfPipe;
extern char *wExecutableName;
+extern wBool_t CheckHelpTopicExists(const char *);
/**
* Create the fully qualified filename for the help helper
diff --git a/app/wlib/gtklib/pixbuf.c b/app/wlib/gtklib/pixbuf.c
index 7b8d7d1..a76e7f1 100644
--- a/app/wlib/gtklib/pixbuf.c
+++ b/app/wlib/gtklib/pixbuf.c
@@ -65,7 +65,7 @@ GdkPixbuf* wlibMakePixbuf(
pixmapData = (char**)g_malloc((3+ip->h) * sizeof *pixmapData);
pixmapData[0] = line0;
rgb = wDrawGetRGB(ip->color);
- sprintf(line0, " %d %d 2 1", ip->w, ip->h);
+ sprintf(line0, " %ld %ld 2 1", ip->w, ip->h);
sprintf(line2, "# c #%2.2lx%2.2lx%2.2lx", (rgb>>16)&0xFF, (rgb>>8)&0xFF,
rgb&0xFF);
pixmapData[1] = ". c None s None";
diff --git a/app/wlib/gtklib/print.c b/app/wlib/gtklib/print.c
index 860a7c7..7f8f49e 100644
--- a/app/wlib/gtklib/print.c
+++ b/app/wlib/gtklib/print.c
@@ -423,8 +423,8 @@ static void psSetColor(
*/
void psPrintLine(
- wPos_t x0, wPos_t y0,
- wPos_t x1, wPos_t y1,
+ wDrawPix_t x0, wDrawPix_t y0,
+ wDrawPix_t x1, wDrawPix_t y1,
wDrawWidth width,
wDrawLineType_e lineType,
wDrawColor color,
@@ -462,8 +462,8 @@ void psPrintLine(
*/
void psPrintArc(
- wPos_t x0, wPos_t y0,
- wPos_t r,
+ wDrawPix_t x0, wDrawPix_t y0,
+ wDrawPix_t r,
double angle0,
double angle1,
wBool_t drawCenter,
@@ -534,8 +534,8 @@ void psPrintArc(
*/
void psPrintFillRectangle(
- wPos_t x0, wPos_t y0,
- wPos_t x1, wPos_t y1,
+ wDrawPix_t x0, wDrawPix_t y0,
+ wDrawPix_t x1, wDrawPix_t y1,
wDrawColor color,
wDrawOpts opts)
{
@@ -570,7 +570,7 @@ void psPrintFillRectangle(
*/
void psPrintFillPolygon(
- wPos_t p[][2],
+ wDrawPix_t p[][2],
wPolyLine_e type[],
int cnt,
wDrawColor color,
@@ -591,7 +591,7 @@ void psPrintFillPolygon(
psSetColor(color);
- wPos_t mid0[2], mid1[2], mid2[2], mid3[2], mid4[2];
+ wDrawPix_t mid0[2], mid1[2], mid2[2], mid3[2], mid4[2];
for (inx=0; inx<cnt; inx++) {
int j = inx-1;
@@ -623,7 +623,7 @@ void psPrintFillPolygon(
mid3[1] = (p[inx][1]-mid0[1])/2+mid0[1];
mid4[0] = (mid1[0]-p[inx][0])/2+p[inx][0];
mid4[1] = (mid1[1]-p[inx][1])/2+p[inx][1];
- wPos_t save[2];
+ wDrawPix_t save[2];
if (inx==0) {
if (!type || (type && type[0] == wPolyLineStraight) || open) {
cairo_move_to(cr, p[ 0 ][ 0 ], p[ 0 ][ 1 ]);
@@ -665,8 +665,8 @@ void psPrintFillPolygon(
*/
void psPrintFillCircle(
- wPos_t x0, wPos_t y0,
- wPos_t r,
+ wDrawPix_t x0, wDrawPix_t y0,
+ wDrawPix_t r,
wDrawColor color,
wDrawOpts opts)
{
@@ -710,7 +710,7 @@ void psPrintFillCircle(
*/
void psPrintString(
- wPos_t x, wPos_t y,
+ wDrawPix_t x, wDrawPix_t y,
double a,
char * s,
wFont_p fp,
@@ -758,7 +758,10 @@ void psPrintString(
// render the string to a Pango layout
pango_layout_set_font_description(layout, desc);
- pango_layout_set_text(layout, s, -1);
+
+ gchar *utf8 = wlibConvertInput(s);
+
+ pango_layout_set_text(layout, utf8, -1);
pango_layout_set_width(layout, -1);
pango_layout_set_alignment(layout, PANGO_ALIGN_LEFT);
pango_layout_get_size(layout, &text_width, &text_height);
@@ -790,9 +793,11 @@ void psPrintString(
// and show the string
if(!(opts & wDrawOutlineFont)) {
pango_cairo_show_layout(cr, layout);
+ cairo_stroke( cr );
} else {
PangoLayoutLine *line;
line = pango_layout_get_line_readonly (layout, 0);
+ setLineType( wDrawLineSolid, 0, 0 );
pango_cairo_layout_line_path (cr, line);
cairo_stroke( cr );
}
@@ -811,7 +816,7 @@ void psPrintString(
* \return
*/
-void wPrintClip(wPos_t x, wPos_t y, wPos_t w, wPos_t h)
+void wPrintClip(wDrawPix_t x, wDrawPix_t y, wDrawPix_t w, wDrawPix_t h)
{
cairo_move_to(psPrint_d.printContext, x, y);
cairo_rel_line_to(psPrint_d.printContext, w, 0);
@@ -1019,28 +1024,50 @@ wBool_t wPrintDocStart(const char * title, int fTotalPageCount, int * copiesP)
/*
* Override up-scaling for some printer drivers/Linux systems that don't support the latest CUPS
- * - the user sets the environment variable XTRKCADPRINTSCALE to a value
+ * - the user either sets preferences or the environment variable XTRKCADPRINTSCALE to a value
* and we just let the dpi default to 72ppi and set scaling to that value.
- * And for PangoText we allow an override via variable XTRKCADPRINTTEXTSCALE
+ * And for PangoText we allow an override via preferences or variable XTRKCADPRINTTEXTSCALE
* Note - doing this will introduce differing artifacts.
*
*/
char * sEnvScale = PRODUCT "PRINTSCALE";
+ char * sEnvTextScale = PRODUCT "PRINTTEXTSCALE";
+
+ scale_text = 1.0;
+ scale_adjust = 1.0;
+
+ double printScale,printTextScale;
+
+ wPrefGetFloat(PREFSECTION, PRINTSCALE, &printScale, -1.0);
+ wPrefGetFloat(PREFSECTION, PRINTTEXTSCALE, &printTextScale, -1.0);
+
+
+ //If the preferences are not set, look at environmental variables
+
+ if (printScale < 0.0 ) {
+ if (getenv(sEnvScale) && (atof(getenv(sEnvScale)) > 0.0)) {
+ printScale = atof(getenv(sEnvScale));
+ }
+ }
+ if (printTextScale < 0.0 ) {
+ if (getenv(sEnvTextScale) && (atof(getenv(sEnvTextScale)) > 0.0)) {
+ printTextScale = atof(getenv(sEnvTextScale));
+ }
+ }
const char * sPrinterName = gtk_printer_get_name( selPrinter );
- if ((strcmp(sPrinterName,"Print to File") == 0) || getenv(sEnvScale) == NULL) {
+ if ((strcmp(sPrinterName,"Print to File") == 0) || printScale < 0.0) {
double p_def = 600;
cairo_surface_set_fallback_resolution(psPrint_d.curPrintSurface, p_def, p_def);
psPrint_d.dpi = p_def;
scale_adjust = 72/p_def;
} else {
- char * sEnvTextScale = PRODUCT "PRINTTEXTSCALE";
- if (getenv(sEnvTextScale) && (atof(getenv(sEnvTextScale)) != 0.0)) {
- scale_text = atof(getenv(sEnvTextScale));
- } else scale_text = 1.0;
- if (getenv(sEnvScale) && (atof(getenv(sEnvScale)) != 0.0)) {
- scale_adjust = atof(getenv(sEnvScale));
- } else scale_adjust = 1.0;
+ if (printTextScale > 0.0) {
+ scale_text = printTextScale;
+ }
+ if (printScale > 0.0) {
+ scale_adjust = printScale;
+ }
psPrint_d.dpi = 72;
}
diff --git a/app/wlib/gtklib/single.c b/app/wlib/gtklib/single.c
index 600f1dd..3856a64 100644
--- a/app/wlib/gtklib/single.c
+++ b/app/wlib/gtklib/single.c
@@ -35,7 +35,6 @@
#include "gtkint.h"
-#define TIMEOUT_INACTIVITY (500) /**< timeout for entry fields in millisecs */
/*
*****************************************************************************
@@ -54,7 +53,6 @@ struct wString_t {
wBool_t enter_pressed; /**< flag if enter was pressed */
wBool_t hasSignal; /** needs signal to be suppressed */
int count; /** number of 100ms since last entry **/
- guint timer; /**< timer source for inactivity timer */
};
/**
@@ -93,7 +91,7 @@ void wStringSetValue(
void wStringSetWidth(
wString_p b,
- wPos_t w)
+ wWinPix_t w)
{
gtk_widget_set_size_request(b->widget, w, -1);
b->w = w;
@@ -115,70 +113,21 @@ const char *wStringGetValue(
return gtk_entry_get_text(GTK_ENTRY(b->widget));
}
-/**
- * Kill an active timer
- *
- * \param b IN entry field
- * \return the entered text
- */
-
-static gboolean killTimer(
- GtkEntry *widget,
- GdkEvent *event,
- wString_p b)
-{
-
- // remove all timers related to this widget
- while( g_source_remove_by_user_data( b ))
- ;
- b->timer = 0;
-
- if (b->action) {
- const char *s;
-
- s = gtk_entry_get_text(GTK_ENTRY(b->widget));
- b->action(s, b->data);
- }
- gtk_editable_select_region( GTK_EDITABLE( widget ), 0, 0 );
- return( FALSE );
-}
/**
- * Timer handler for string activity. This timer checks the input if the user
- * doesn't change an entry value for the preset time (0.5s).
+ * Do the current active string's action when a button was pushed
+ * Used to validate input
*/
-
-static gboolean
-timeoutString( wString_p bs )
+static wString_p stringControl = NULL;
+void wlibStringUpdate()
{
- const char *new_value;
- if ( !bs )
- return( FALSE );
- if (bs->widget == 0)
- abort();
-
- bs->count--;
-
- if (bs->count==0) {
- // get the currently entered value
- new_value = wStringGetValue(bs);
- if (bs->valueP != NULL)
- strcpy(bs->valueP, new_value);
-
- if (bs->action) {
- bs->enter_pressed = FALSE; //Normal input
- if ( new_value )
- bs->action(new_value,bs->data);
- }
- }
- if (bs->count<=0) {
- bs->timer = 0;
- return( FALSE ); //Stop timer
- } else {
- return TRUE; //Wait 100ms
+ if ( stringControl && stringControl->action ) {
+ stringControl->action( wStringGetValue(stringControl), stringControl->data );
+ stringControl = NULL;
}
}
+
/**
* Signal handler for 'activate' signal: enter pressed - callback with the current value and then
* select the whole default value
@@ -192,6 +141,8 @@ static gboolean stringActivated(
GtkEntry *widget,
wString_p b)
{
+ if ( debugWindow >= 1 )
+ printf( "stringActivated: %s\n", b->labelStr );
const char *s;
const char * output = "\n";
@@ -228,37 +179,100 @@ static gboolean stringExposed(GtkWidget* widget, GdkEventExpose * event, gpointe
* \return
*/
-static void stringChanged(
+static int stringChanged(
GtkEntry *widget,
wString_p b)
{
- const char *new_value;
-
- if ( !b )
- return;
-
- b->count = 5; /* set ~500 ms from now */
-
- // get the entered value
- //new_value = wStringGetValue(b);
- //if (b->valueP != NULL)
- // strcpy(b->valueP, new_value);
- //
- //
- if (b->action){
- // if one exists, remove the inactivity timer
- if( !b->timer ) {
- //g_source_remove( b->timer );
-
- // create a new timer
- b->timer = g_timeout_add( TIMEOUT_INACTIVITY/5,
- (GSourceFunc)timeoutString,
- b );
- }
- }
- return;
+ if ( debugWindow >= 1 )
+ printf( "stringChanged: %s\n", b->labelStr);
+ stringControl = b;
+ return FALSE;
}
+static int stringPreeditChanged(
+ GtkEntry *widget,
+ wString_p b)
+{
+ if ( debugWindow >= 1 )
+ printf( "stringPreeditChanged: %s\n", b->labelStr );
+ return FALSE;
+}
+static int stringFocusOutEvent(
+ GtkEntry *widget,
+ GdkEvent * event,
+ wString_p b)
+{
+ if ( debugWindow >= 1 )
+ printf( "stringFocusOut: %s\n", b->labelStr );
+ if (b->action) {
+ const char *s;
+ s = gtk_entry_get_text(GTK_ENTRY(b->widget));
+ b->action(s, b->data);
+ }
+ gtk_editable_select_region( GTK_EDITABLE( widget ), 0, 0 );
+ return FALSE;
+}
+static int stringFocusInEvent(
+ GtkEntry *widget,
+ GdkEvent * event,
+ wString_p b)
+{
+ if ( debugWindow >= 1 )
+ printf( "stringFocusIn: %s\n", b->labelStr );
+ stringControl = b;
+ return FALSE;
+}
+static int stringLeaveNotifyEvent(
+ GtkEntry *widget,
+ GdkEvent * event,
+ wString_p b)
+{
+ if ( debugWindow >= 3 )
+ printf( "stringLeaveNotfyEvent: %s\n", b->labelStr );
+ return FALSE;
+}
+static int stringEventAfter(
+ GtkEntry *widget,
+ wString_p b)
+{
+ if ( debugWindow >= 3 )
+ printf( "stringEventAfter: %s\n", b->labelStr );
+ return FALSE;
+}
+static int stringEvent(
+ GtkEntry *widget,
+ wString_p b)
+{
+ if ( debugWindow >= 3 )
+ printf( "stringEvent: %s\n", b->labelStr );
+ return FALSE;
+}
+static int stringKeyPressEvent(
+ GtkEntry *widget,
+ GdkEvent * event,
+ wString_p b)
+{
+ if ( debugWindow >= 1 )
+ printf( "stringKeyPressEvent: %s\n", b->labelStr );
+ return FALSE;
+}
+static int stringStateChanged(
+ GtkEntry *widget,
+ int state,
+ wString_p b)
+{
+ if ( debugWindow >= 1 )
+ printf( "stringStateChanged: %s\n", b->labelStr );
+ return FALSE;
+}
+static int stringActivate(
+ GtkEntry *widget,
+ wString_p b)
+{
+ if ( debugWindow >= 1 )
+ printf( "stringActivate: %s\n", b->labelStr );
+ return stringChanged( widget, b );
+}
/**
* Create a single line entry field for a string value
*
@@ -278,12 +292,12 @@ static void stringChanged(
wString_p wStringCreate(
wWin_p parent,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char *helpStr,
const char *labelStr,
long option,
- wPos_t width,
+ wWinPix_t width,
char *valueP,
wIndex_t valueL,
wStringCallBack_p action,
@@ -297,7 +311,6 @@ wString_p wStringCreate(
b->action = action;
b->option = option;
b->valueL = valueL;
- b->timer = 0;
b->hasSignal = 0;
wlibComputePos((wControl_p)b);
@@ -341,7 +354,17 @@ wString_p wStringCreate(
// link into help
wlibAddHelpString(b->widget, helpStr);
- //g_signal_connect(GTK_OBJECT(b->widget), "changed", G_CALLBACK(stringChanged), b);
+ g_signal_connect(GTK_OBJECT(b->widget), "changed", G_CALLBACK(stringChanged), b);
+ g_signal_connect(GTK_OBJECT(b->widget), "preedit-changed", G_CALLBACK(stringPreeditChanged), b);
+ g_signal_connect(GTK_OBJECT(b->widget), "focus-out-event", G_CALLBACK(stringFocusOutEvent), b);
+ g_signal_connect(GTK_OBJECT(b->widget), "focus-in-event", G_CALLBACK(stringFocusInEvent), b);
+ g_signal_connect(GTK_OBJECT(b->widget), "leave-notify-event", G_CALLBACK(stringLeaveNotifyEvent), b);
+ g_signal_connect(GTK_OBJECT(b->widget), "event", G_CALLBACK(stringEvent), b);
+ g_signal_connect(GTK_OBJECT(b->widget), "event-after", G_CALLBACK(stringEventAfter), b);
+ g_signal_connect(GTK_OBJECT(b->widget), "key-press-event", G_CALLBACK(stringKeyPressEvent), b);
+ g_signal_connect(GTK_OBJECT(b->widget), "state-changed", G_CALLBACK(stringStateChanged), b);
+ g_signal_connect(GTK_OBJECT(b->widget), "activate", G_CALLBACK(stringActivate), b);
+
//if (option&BO_ENTER)
g_signal_connect(GTK_OBJECT(b->widget), "activate", G_CALLBACK(stringActivated), b);
b->hasSignal = 1;
@@ -355,7 +378,6 @@ wString_p wStringCreate(
}
gtk_widget_add_events( b->widget, GDK_FOCUS_CHANGE_MASK );
- g_signal_connect(GTK_OBJECT(b->widget), "focus-out-event", G_CALLBACK(killTimer), b);
return b;
}
diff --git a/app/wlib/gtklib/splash.c b/app/wlib/gtklib/splash.c
index 5d56e9f..7b7613c 100644
--- a/app/wlib/gtklib/splash.c
+++ b/app/wlib/gtklib/splash.c
@@ -123,7 +123,6 @@ wSetSplashInfo(char *msg)
if (!window) return FALSE;
if (msg && message) {
gtk_label_set_text(GTK_LABEL(message), msg);
- wFlush();
return TRUE;
}
diff --git a/app/wlib/gtklib/statusbar.c b/app/wlib/gtklib/statusbar.c
index 3a2fd0d..a71d021 100644
--- a/app/wlib/gtklib/statusbar.c
+++ b/app/wlib/gtklib/statusbar.c
@@ -42,7 +42,7 @@ struct wStatus_t {
WOBJ_COMMON
GtkWidget * labelWidget;
const char * message;
- wPos_t labelWidth;
+ wWinPix_t labelWidth;
};
/**
@@ -84,10 +84,10 @@ void wStatusSetValue(
wStatus_p wStatusCreate(
wWin_p parent,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * labelStr,
- wPos_t width,
+ wWinPix_t width,
const char *message)
{
wStatus_p b;
@@ -124,7 +124,7 @@ wStatus_p wStatusCreate(
* \return expected width of message box
*/
-wPos_t
+wWinPix_t
wStatusGetWidth(const char *testString)
{
GtkWidget *entry;
@@ -152,7 +152,7 @@ wStatusGetWidth(const char *testString)
* \return text height
*/
-wPos_t wStatusGetHeight(
+wWinPix_t wStatusGetHeight(
long flags)
{
GtkWidget * temp;
@@ -208,7 +208,7 @@ wPos_t wStatusGetHeight(
void wStatusSetWidth(
wStatus_p b,
- wPos_t width)
+ wWinPix_t width)
{
b->labelWidth = width;
gtk_widget_set_size_request(b->widget, width, -1);
diff --git a/app/wlib/gtklib/text.c b/app/wlib/gtklib/text.c
index 0812ace..cb811b6 100644
--- a/app/wlib/gtklib/text.c
+++ b/app/wlib/gtklib/text.c
@@ -59,7 +59,7 @@ struct PrintData {
struct wText_t {
WOBJ_COMMON
- wPos_t width, height;
+ wWinPix_t width, height;
int changed;
GtkWidget *text;
};
@@ -462,7 +462,7 @@ wBool_t wTextGetModified(wText_p bt)
* \return
*/
-void wTextSetSize(wText_p bt, wPos_t w, wPos_t h)
+void wTextSetSize(wText_p bt, wWinPix_t w, wWinPix_t h)
{
gtk_widget_set_size_request(bt->widget, w, h);
bt->w = w;
@@ -481,8 +481,8 @@ void wTextSetSize(wText_p bt, wPos_t w, wPos_t h)
* \return
*/
-void wTextComputeSize(wText_p bt, int rows, int cols, wPos_t *width,
- wPos_t *height)
+void wTextComputeSize(wText_p bt, wWinPix_t rows, wWinPix_t cols, wWinPix_t *width,
+ wWinPix_t *height)
{
*width = rows * 7;
*height = cols * 14;
@@ -498,7 +498,7 @@ void wTextComputeSize(wText_p bt, int rows, int cols, wPos_t *width,
void wTextSetPosition(wText_p bt, int pos)
{
- /* TODO */
+ /* TODO TextSetPosition */
}
/**
@@ -536,13 +536,13 @@ static void textChanged(GtkWidget *widget, wText_p bt)
wText_p
wTextCreate(wWin_p parent,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char *helpStr,
const char *labelStr,
long option,
- wPos_t width,
- wPos_t height)
+ wWinPix_t width,
+ wWinPix_t height)
{
wText_p bt;
GtkTextBuffer *tb;
diff --git a/app/wlib/gtklib/tooltip.c b/app/wlib/gtklib/tooltip.c
index 20a1ba9..cd12d0a 100644
--- a/app/wlib/gtklib/tooltip.c
+++ b/app/wlib/gtklib/tooltip.c
@@ -47,7 +47,7 @@ static GtkWidget * balloonPI;
static char balloonMsg[100] = "";
static wControl_p balloonB;
-static wPos_t balloonDx, balloonDy;
+static wWinPix_t balloonDx, balloonDy;
static wBool_t balloonVisible = FALSE;
@@ -128,13 +128,13 @@ void wControlSetBalloonText(
* \return
*/
-void wControlSetBalloon( wControl_p b, wPos_t dx, wPos_t dy, const char * msg )
+void wControlSetBalloon( wControl_p b, wWinPix_t dx, wWinPix_t dy, const char * msg )
{
PangoLayout * layout;
- wPos_t x, y;
- wPos_t w, h;
- wPos_t xx, yy;
+ gint x, y;
+ gint w, h;
+ wWinPix_t xx, yy;
const char * msgConverted;
GtkRequisition size;
@@ -157,12 +157,18 @@ void wControlSetBalloon( wControl_p b, wPos_t dx, wPos_t dy, const char * msg )
if ( balloonF == NULL ) {
//GtkWidget *alignment;
-
+
+ GdkColor color;
+ color.red = 0x00C5 * 65536/255;
+ color.green = 0x006F * 65536/255;
+ color.blue = 0x0078 * 65536/255;
+
balloonF = gtk_window_new( GTK_WINDOW_POPUP );
gtk_window_set_type_hint( GTK_WINDOW( balloonF), GDK_WINDOW_TYPE_HINT_TOOLTIP );
gtk_window_set_decorated (GTK_WINDOW (balloonF), FALSE );
gtk_window_set_resizable( GTK_WINDOW (balloonF), FALSE );
gtk_window_set_accept_focus(GTK_WINDOW( balloonF), FALSE);
+ gtk_widget_modify_bg(GTK_WIDGET(balloonF), GTK_STATE_NORMAL, &color);
GtkWidget * alignment = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);
gtk_alignment_set_padding( GTK_ALIGNMENT(alignment), 6, 6, 6, 6 );
@@ -189,6 +195,9 @@ void wControlSetBalloon( wControl_p b, wPos_t dx, wPos_t dy, const char * msg )
x += b->realX + dx;
y += b->realY + b->h - dy;
+#ifdef __linux__
+ y += 7; // balloon popup overlaps the control
+#endif
xx = gdk_screen_width();
yy = gdk_screen_height();
if ( x < 0 ) {
diff --git a/app/wlib/gtklib/treeview.c b/app/wlib/gtklib/treeview.c
index 2b743cb..e8e0625 100644
--- a/app/wlib/gtklib/treeview.c
+++ b/app/wlib/gtklib/treeview.c
@@ -445,15 +445,15 @@ changeSelection(GtkTreeSelection *selection,
wList_p wListCreate(
wWin_p parent,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
long number,
- wPos_t width,
+ wWinPix_t width,
int colCnt,
- wPos_t * colWidths,
+ wWinPix_t * colWidths,
wBool_t * colRightJust,
const char ** colTitles,
long *valueP,
@@ -462,7 +462,7 @@ wList_p wListCreate(
{
GtkTreeSelection *sel;
wList_p bl;
- static wPos_t zeroPos = 0;
+ static wWinPix_t zeroPos = 0;
assert(width != 0);
@@ -481,8 +481,8 @@ wList_p wListCreate(
}
bl->colCnt = colCnt;
- bl->colWidths = (wPos_t*)malloc(colCnt * sizeof *(wPos_t*)0);
- memcpy(bl->colWidths, colWidths, colCnt * sizeof *(wPos_t*)0);
+ bl->colWidths = (wWinPix_t*)malloc(colCnt * sizeof *(wWinPix_t*)0);
+ memcpy(bl->colWidths, colWidths, colCnt * sizeof *(wWinPix_t*)0);
/* create the data structure for data */
bl->listStore = wlibNewListStore(colCnt);
diff --git a/app/wlib/gtklib/util.c b/app/wlib/gtklib/util.c
index a265938..14ca689 100644
--- a/app/wlib/gtklib/util.c
+++ b/app/wlib/gtklib/util.c
@@ -37,7 +37,7 @@
#include "gtkint.h"
#include "i18n.h"
-wWin_p gtkMainW;
+extern wWin_p gtkMainW;
long debugWindow = 0;
@@ -108,7 +108,7 @@ GdkPixbuf* wlibPixbufFromXBM(
pixmapData = (char**) malloc((3 + ip->h) * sizeof *pixmapData);
pixmapData[0] = line0;
rgb = wDrawGetRGB(ip->color);
- sprintf(line0, " %d %d 2 1", ip->w, ip->h);
+ sprintf(line0, " %ld %ld 2 1", ip->w, ip->h);
sprintf(line2, "# c #%2.2lx%2.2lx%2.2lx", (rgb >> 16)&0xFF, (rgb >> 8)&0xFF,
rgb & 0xFF);
pixmapData[1] = ". c None s None";
@@ -183,8 +183,8 @@ int wlibAddLabel(wControl_p b, const char * labelStr)
void * wlibAlloc(
wWin_p parent,
wType_e type,
- wPos_t origX,
- wPos_t origY,
+ wWinPix_t origX,
+ wWinPix_t origY,
const char * labelStr,
int size,
void * data)
@@ -324,11 +324,11 @@ void wlibAddButton(
wControl_p wlibGetControlFromPos(
wWin_p win,
- wPos_t x,
- wPos_t y)
+ wWinPix_t x,
+ wWinPix_t y)
{
wControl_p b;
- wPos_t xx, yy;
+ wWinPix_t xx, yy;
for (b = win->first; b != NULL; b = b->next) {
if (b->widget && gtk_widget_get_visible(b->widget)) {
@@ -386,6 +386,8 @@ void wWinTop(wWin_p win)
{
}
+extern long dontHideCursor;
+
/**
* Set the cursor in GTK
*
@@ -399,6 +401,7 @@ void wSetCursor(wDraw_p bd, wCursor_t cursor)
//GdkWindow * gdkwindow = gtk_widget_get_window(GTK_WIDGET(win->gtkwin));;
GdkWindow * gdkwindow = gdk_get_default_root_window();
GdkDisplay * display = gdk_window_get_display(gdkwindow);
+ if ((cursor == wCursorNone) && dontHideCursor) return; //Ignore if we dont want to suppress
if (!gdkcursors[cursor]) {
switch(cursor) {
case wCursorAppStart:
@@ -450,7 +453,8 @@ void wSetCursor(wDraw_p bd, wCursor_t cursor)
gdkcursor = gdk_cursor_new(GDK_QUESTION_ARROW);
break;
case wCursorNone:
- gdkcursor = gdk_cursor_new(GDK_BLANK_CURSOR);
+ gdkcursor = gdk_cursor_new(GDK_BLANK_CURSOR);
+ break;
case wCursorNormal:
default:
//gdkcursor = gdk_cursor_new_from_name (display,"default");
@@ -481,7 +485,7 @@ const char * wMemStats(void)
* \param h IN pointer to height
*/
-void wGetDisplaySize(wPos_t * w, wPos_t * h)
+void wGetDisplaySize(wWinPix_t * w, wWinPix_t * h)
{
GdkScreen *screen = gdk_screen_get_default();
guint monitor = gdk_screen_get_primary_monitor(screen);
diff --git a/app/wlib/gtklib/window.c b/app/wlib/gtklib/window.c
index 1468c89..16a21a5 100644
--- a/app/wlib/gtklib/window.c
+++ b/app/wlib/gtklib/window.c
@@ -124,8 +124,8 @@ static void getWinSize(wWin_p win, const char * nameStr)
GdkRectangle monitor_dimensions = getMonitorDimensions(GTK_WIDGET(win->gtkwin));
- wPos_t maxDisplayWidth = monitor_dimensions.width-10;
- wPos_t maxDisplayHeight = monitor_dimensions.height-50;
+ wWinPix_t maxDisplayWidth = monitor_dimensions.width-10;
+ wWinPix_t maxDisplayHeight = monitor_dimensions.height-50;
@@ -170,8 +170,8 @@ static void saveSize(wWin_p win)
gtk_widget_get_visible(GTK_WIDGET(win->gtkwin))) {
char pos_s[20];
- sprintf(pos_s, "%d %d", win->w,
- win->h-(BORDERSIZE + ((win->option&F_MENUBAR)?MENUH:0)));
+ sprintf(pos_s, "%ld %ld", win->w,
+ (win->h-(BORDERSIZE + ((win->option&F_MENUBAR)?MENUH:0))));
wPrefSetString(SECTIONWINDOWSIZE, win->nameStr, pos_s);
}
}
@@ -260,11 +260,11 @@ static void savePos(wWin_p win)
void wWinGetSize(
wWin_p win, /* Window */
- wPos_t * width, /* Returned window width */
- wPos_t * height) /* Returned window height */
+ wWinPix_t * width, /* Returned window width */
+ wWinPix_t * height) /* Returned window height */
{
GtkRequisition requisition;
- wPos_t w, h;
+ wWinPix_t w, h;
gtk_widget_size_request(win->gtkwin, &requisition);
w = win->w;
h = win->h;
@@ -293,8 +293,8 @@ void wWinGetSize(
void wWinSetSize(
wWin_p win, /* Window */
- wPos_t width, /* Window width */
- wPos_t height) /* Window height */
+ wWinPix_t width, /* Window width */
+ wWinPix_t height) /* Window height */
{
win->busy = TRUE;
win->w = width;
@@ -561,10 +561,10 @@ const char * wWinGetTitle(
void wWinClear(
wWin_p win,
- wPos_t x,
- wPos_t y,
- wPos_t width,
- wPos_t height)
+ wWinPix_t x,
+ wWinPix_t y,
+ wWinPix_t width,
+ wWinPix_t height)
{
}
@@ -858,7 +858,7 @@ static gint window_char_event(
}
}
-void wSetGeometry(wWin_p win, int min_width, int max_width, int min_height, int max_height, int base_width, int base_height, double aspect_ratio ) {
+void wSetGeometry(wWin_p win, wWinPix_t min_width, wWinPix_t max_width, wWinPix_t min_height, wWinPix_t max_height, wWinPix_t base_width, wWinPix_t base_height, double aspect_ratio ) {
GdkGeometry hints;
GdkWindowHints hintMask = GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE;
hints.min_width = min_width;
@@ -913,8 +913,8 @@ void wSetGeometry(wWin_p win, int min_width, int max_width, int min_height, int
static wWin_p wWinCommonCreate(
wWin_p parent,
int winType,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * labelStr,
const char * nameStr,
long option,
@@ -999,7 +999,7 @@ static wWin_p wWinCommonCreate(
gtk_widget_set_size_request(w->menubar, w->w-20, MENUH);
}
}
- int scr_w, scr_h;
+ wWinPix_t scr_w, scr_h;
wGetDisplaySize(&scr_w, &scr_h);
if (scr_w < MIN_WIN_WIDTH) scr_w = MIN_WIN_WIDTH+10;
if (scr_h < MIN_WIN_HEIGHT) scr_h = MIN_WIN_HEIGHT;
@@ -1092,8 +1092,8 @@ static wWin_p wWinCommonCreate(
wWin_p wWinMainCreate(
const char * name, /* Application name */
- wPos_t x, /* Initial window width */
- wPos_t y, /* Initial window height */
+ wWinPix_t x, /* Initial window width */
+ wWinPix_t y, /* Initial window height */
const char * helpStr, /* Help topic string */
const char * labelStr, /* Window title */
const char * nameStr, /* Window name */
@@ -1142,8 +1142,8 @@ wWin_p wWinMainCreate(
wWin_p wWinPopupCreate(
wWin_p parent,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
const char * nameStr,
@@ -1189,7 +1189,7 @@ void wExit(
}
}
- wPrefFlush();
+ wPrefFlush("");
if (gtkMainW && gtkMainW->winProc != NULL) {
gtkMainW->winProc(gtkMainW, wQuit_e, NULL, gtkMainW->data);
diff --git a/app/wlib/gtklib/wpref.c b/app/wlib/gtklib/wpref.c
index 124305a..3494ba2 100644
--- a/app/wlib/gtklib/wpref.c
+++ b/app/wlib/gtklib/wpref.c
@@ -62,8 +62,8 @@ static char userHomeDir[BUFSIZ];
* The search order is:
* 1. Directory specified by the XTRKCADLIB environment variable
* 2. Directory specified by XTRKCAD_INSTALL_PREFIX/share/xtrkcad
- * 3. /usr/lib/xtrkcad
- * 4. /usr/local/lib/xtrkcad
+ * 3. /usr/share/xtrkcad
+ * 4. /usr/local/share/xtrkcad
*
* \return pointer to directory name
*/
@@ -86,39 +86,48 @@ const char * wGetAppLibDir( void )
if (ep != NULL) {
if ((stat( ep, &buf) == 0 ) && S_ISDIR( buf.st_mode)) {
strncpy( appLibDir, ep, sizeof appLibDir );
+ //printf( "wAppLbDir=%s\n", appLibDir );
return appLibDir;
}
}
- strcpy(appLibDir, XTRKCAD_INSTALL_PREFIX);
- strcat(appLibDir, "/share/");
+ strcpy(appLibDir, "../share/");
strcat(appLibDir, wlibGetAppName());
-
if ((stat( appLibDir, &buf) == 0 ) && S_ISDIR( buf.st_mode)) {
+ //printf( "wAppLbDir=%s\n", appLibDir );
return appLibDir;
}
- strcpy( appLibDir, "/usr/lib/" );
+ char * dir1 = "/usr/share/";
+ char * dir2 = "/usr/local/share/";
+ if ( strstr( XTRKCAD_VERSION, "Beta" ) != NULL ) {
+ dir1 = "/usr/local/share/";
+ dir2 = "/usr/share/";
+ }
+
+ strcpy( appLibDir, dir1 );
strcat( appLibDir, wlibGetAppName() );
if ((stat( appLibDir, &buf) == 0 ) && S_ISDIR( buf.st_mode)) {
+ //printf( "wAppLbDir=%s\n", appLibDir );
return appLibDir;
}
- strcpy( appLibDir, "/usr/local/lib/" );
+ strcpy( appLibDir, dir2 );
strcat( appLibDir, wlibGetAppName() );
if ((stat( appLibDir, &buf) == 0 ) && S_ISDIR( buf.st_mode)) {
+ //printf( "wAppLbDir=%s\n", appLibDir );
return appLibDir;
}
sprintf( msg,
_("The required configuration files could not be located in the expected location.\n\n"
"Usually this is an installation problem. Make sure that these files are installed in either \n"
- " %s/share/xtrkcad or\n"
- " /usr/lib/%s or\n"
- " /usr/local/lib/%s\n"
+ " ../share/xtrkcad or\n"
+ " /usr/share/%s or\n"
+ " /usr/local/share/%s\n"
"If this is not possible, the environment variable %s must contain "
"the name of the correct directory."),
- XTRKCAD_INSTALL_PREFIX, wlibGetAppName(), wlibGetAppName(), envvar );
+ wlibGetAppName(), wlibGetAppName(), envvar );
wNoticeEx( NT_ERROR, msg, _("Ok"), NULL );
appLibDir[0] = '\0';
wExit(0);
@@ -223,7 +232,7 @@ wBool_t prefInitted = FALSE;
* Read the configuration file into memory
*/
-static void readPrefs( void )
+static void readPrefs( char * name, wBool_t update )
{
char tmp[BUFSIZ], *np, *vp, *cp;
const char * workDir;
@@ -232,7 +241,10 @@ static void readPrefs( void )
prefInitted = TRUE;
workDir = wGetAppWorkDir();
- sprintf( tmp, "%s/%s.rc", workDir, wConfigName );
+ if (name && name[0])
+ sprintf( tmp, "%s", name );
+ else
+ sprintf( tmp, "%s/%s.rc", workDir, wConfigName );
prefFile = fopen( tmp, "r" );
if (prefFile == NULL)
return;
@@ -260,12 +272,23 @@ static void readPrefs( void )
cp = vp + strlen(vp) -1;
while ( cp >= vp && (*cp=='\n' || *cp==' ' || *cp=='\t') ) cp--;
cp[1] = '\0';
- DYNARR_APPEND( prefs_t, prefs_da, 10 );
- p = &prefs(prefs_da.cnt-1);
- p->name = strdup(np);
- p->section = strdup(sp);
- p->dirty = FALSE;
- p->val = strdup(vp);
+ if (update) {
+ for (int i=0;i<prefs_da.cnt;i++) {
+ p = &DYNARR_N(prefs_t,prefs_da,i);
+ if (strcmp(p->name,np)==0 && strcmp(p->section,sp)==0) {
+ p->val = strdup(vp);
+ p->dirty = TRUE;
+ break;
+ }
+ }
+ } else {
+ DYNARR_APPEND( prefs_t, prefs_da, 10 );
+ p = &prefs(prefs_da.cnt-1);
+ p->name = strdup(np);
+ p->section = strdup(sp);
+ p->dirty = FALSE;
+ p->val = strdup(vp);
+ }
}
fclose( prefFile );
}
@@ -286,7 +309,7 @@ void wPrefSetString(
prefs_t * p;
if (!prefInitted)
- readPrefs();
+ readPrefs("", FALSE);
for (p=&prefs(0); p<&prefs(prefs_da.cnt); p++) {
if ( strcmp( p->section, section ) == 0 && strcmp( p->name, name ) == 0 ) {
@@ -319,7 +342,7 @@ char * wPrefGetStringBasic(
prefs_t * p;
if (!prefInitted)
- readPrefs();
+ readPrefs("", FALSE);
for (p=&prefs(0); p<&prefs(prefs_da.cnt); p++) {
if ( strcmp( p->section, section ) == 0 && strcmp( p->name, name ) == 0 ) {
@@ -344,7 +367,7 @@ char * wPrefGetStringBasic(
{
char tmp[20];
- sprintf(tmp, "%ld", lval );
+ snprintf(tmp, sizeof(tmp), "%ld", lval );
wPrefSetString( section, name, tmp );
}
@@ -395,7 +418,7 @@ wBool_t wPrefGetIntegerBasic(
{
char tmp[20];
- sprintf(tmp, "%0.6f", lval );
+ snprintf(tmp, sizeof(tmp), "%0.6f", lval );
wPrefSetString( section, name, tmp );
}
@@ -432,6 +455,10 @@ wBool_t wPrefGetFloatBasic(
return TRUE;
}
+void wPrefsLoad(char * name) {
+ readPrefs(name,TRUE);
+}
+
/**
* Save the configuration to a file. The config parameters are held and updated in an array.
* To make the settings persistant, this function has to be called.
@@ -439,7 +466,7 @@ wBool_t wPrefGetFloatBasic(
*/
void wPrefFlush(
- void )
+ char * name )
{
prefs_t * p;
char tmp[BUFSIZ];
@@ -450,7 +477,10 @@ void wPrefFlush(
return;
workDir = wGetAppWorkDir();
- sprintf( tmp, "%s/%s.rc", workDir, wConfigName );
+ if (name && name[0])
+ snprintf( tmp, sizeof(tmp), "%s", name );
+ else
+ snprintf( tmp, sizeof(tmp), "%s/%s.rc", workDir, wConfigName );
prefFile = fopen( tmp, "w" );
if (prefFile == NULL)
return;
diff --git a/app/wlib/gtklib/png.c b/app/wlib/gtklib/writebitmap.c
index 809de6a..be9aa62 100644
--- a/app/wlib/gtklib/png.c
+++ b/app/wlib/gtklib/writebitmap.c
@@ -1,5 +1,5 @@
-/** \file png.c
- * PNG creation
+/** \file writebitmap.c
+ * Bitmap file creation
*/
/* XTrackCad - Model Railroad CAD
@@ -25,10 +25,31 @@
#define GTK_DISABLE_DEPRECATED
#define GSEAL_ENABLE
+#include <string.h>
#include <gtk/gtk.h>
#include "gtkint.h"
-#define BITMAPFILEFORMAT "png"
+#define PNGFORMAT "png"
+#define JPEGFORMAT "jpeg"
+
+/**
+ * Get the Extension part of a filename
+ *
+ * /param fname the filename
+ *
+ * /return char* point to the extension
+ */
+
+static const char *
+GetExtension(const char *fname)
+{
+ const char *end = fname + strlen(fname);
+
+ while (end > fname && *end != '.') {
+ --end;
+ }
+ return( end + 1 );
+}
/**
* Export as bitmap file.
@@ -43,6 +64,22 @@ wBool_t wBitMapWriteFile(wDraw_p d, const char * fileName)
GdkPixbuf *pixbuf;
GError *error;
gboolean res;
+ const char *fileFormat = GetExtension(fileName);
+ char *writeFormat = NULL;
+
+ if(!strcasecmp(fileFormat, PNGFORMAT )){
+ writeFormat = PNGFORMAT;
+ }
+ if( !strcasecmp(fileFormat, "jpg") ||
+ !strcasecmp(fileFormat, "jpeg")){
+ writeFormat = JPEGFORMAT;
+ }
+
+ if(!writeFormat) {
+ wNoticeEx(NT_ERROR, "WriteBitMap: invalid file format!", "Ok", NULL);
+ return FALSE;
+ }
+
pixbuf = gdk_pixbuf_get_from_drawable(NULL, (GdkWindow*)d->pixmap, NULL, 0, 0,
0, 0, d->w, d->h);
@@ -52,7 +89,7 @@ wBool_t wBitMapWriteFile(wDraw_p d, const char * fileName)
}
error = NULL;
- res = gdk_pixbuf_save(pixbuf, fileName, BITMAPFILEFORMAT, &error, NULL);
+ res = gdk_pixbuf_save(pixbuf, fileName, writeFormat, &error, NULL);
if (res == FALSE) {
wNoticeEx(NT_ERROR, "WriteBitMap: pixbuf_save failed", "Ok", NULL);
diff --git a/app/wlib/include/wlib.h b/app/wlib/include/wlib.h
index d3bfc18..7b89bdc 100644
--- a/app/wlib/include/wlib.h
+++ b/app/wlib/include/wlib.h
@@ -31,9 +31,15 @@ bool wIsUTF8(const char * string);
* Interface types
*/
+// a big integer
typedef long wInteger_t;
-typedef int wPos_t;
+// Position/Size of objects drawn on a WDraw canvas (fractional pixels)
+typedef double wDrawPix_t;
+// Position/Size of controls/windows (integral pixels)
+typedef long wWinPix_t;
+// Boolean
typedef int wBool_t;
+// index for lists etc
typedef int wIndex_t;
/*
@@ -78,8 +84,8 @@ extern long wDebugFont;
* Bitmap Controls bitmap.c
*/
-wControl_p wBitmapCreate(wWin_p parent, wPos_t x, wPos_t y, long options, wIcon_p iconP);
-wIcon_p wIconCreateBitMap(wPos_t w, wPos_t h, const char *bits, wDrawColor color);
+wControl_p wBitmapCreate(wWin_p parent, wWinPix_t x, wWinPix_t y, long options, const struct wIcon_t * iconP);
+wIcon_p wIconCreateBitMap(wWinPix_t w, wWinPix_t h, const char *bits, wDrawColor color);
wIcon_p wIconCreatePixMap(char *pm[]);
void wIconSetColor(wIcon_p ip, wDrawColor color);
@@ -100,9 +106,9 @@ typedef enum {
wBoxTrough }
wBoxType_e;
-void wBoxSetSize(wBox_p b, wPos_t w, wPos_t h);
-void wlibDrawBox(wWin_p win, wBoxType_e style, wPos_t x, wPos_t y, wPos_t w, wPos_t h);
-wBox_p wBoxCreate(wWin_p parent, wPos_t bx, wPos_t by, const char *labelStr, wBoxType_e boxTyp, wPos_t bw, wPos_t bh);
+void wBoxSetSize(wBox_p b, wWinPix_t w, wWinPix_t h);
+void wlibDrawBox(wWin_p win, wBoxType_e style, wWinPix_t x, wWinPix_t y, wWinPix_t w, wWinPix_t h);
+wBox_p wBoxCreate(wWin_p parent, wWinPix_t bx, wWinPix_t by, const char *labelStr, wBoxType_e boxTyp, wWinPix_t bw, wWinPix_t bh);
/*------------------------------------------------------------------------------
*
@@ -129,13 +135,13 @@ typedef void (*wChoiceCallBack_p)( long, void * );
void wButtonSetLabel(wButton_p bb, const char *labelStr);
void wButtonSetBusy(wButton_p bb, int value);
-wButton_p wButtonCreate(wWin_p parent, wPos_t x, wPos_t y, const char *helpStr, const char *labelStr, long option, wPos_t width, wButtonCallBack_p action, void *data);
+wButton_p wButtonCreate(wWin_p parent, wWinPix_t x, wWinPix_t y, const char *helpStr, const char *labelStr, long option, wWinPix_t width, wButtonCallBack_p action, void *data);
void wRadioSetValue(wChoice_p bc, long value);
long wRadioGetValue(wChoice_p bc);
void wToggleSetValue(wChoice_p bc, long value);
long wToggleGetValue(wChoice_p b);
-wChoice_p wRadioCreate(wWin_p parent, wPos_t x, wPos_t y, const char *helpStr, const char *labelStr, long option, const char **labels, long *valueP, wChoiceCallBack_p action, void *data);
-wChoice_p wToggleCreate(wWin_p parent, wPos_t x, wPos_t y, const char *helpStr, const char *labelStr, long option, const char **labels, long *valueP, wChoiceCallBack_p action, void *data);
+wChoice_p wRadioCreate(wWin_p parent, wWinPix_t x, wWinPix_t y, const char *helpStr, const char *labelStr, long option, const char * const *labels, long *valueP, wChoiceCallBack_p action, void *data);
+wChoice_p wToggleCreate(wWin_p parent, wWinPix_t x, wWinPix_t y, const char *helpStr, const char *labelStr, long option, const char * const *labels, long *valueP, wChoiceCallBack_p action, void *data);
/*------------------------------------------------------------------------------
@@ -202,12 +208,12 @@ const char * wMemStats( void );
#define WKEY_ALT (1<<3)
int wGetKeyState( void );
-void wGetDisplaySize( wPos_t*, wPos_t* );
+void wGetDisplaySize( wWinPix_t*, wWinPix_t* );
-wIcon_p wIconCreateBitMap( wPos_t, wPos_t, const char * bits, wDrawColor );
+wIcon_p wIconCreateBitMap( wWinPix_t, wWinPix_t, const char * bits, wDrawColor );
wIcon_p wIconCreatePixMap( char *[] );
void wIconSetColor( wIcon_p, wDrawColor );
-void wIconDraw( wDraw_p d, wIcon_p bm, wPos_t x, wPos_t y );
+void wIconDraw( wDraw_p d, wIcon_p bm, wWinPix_t x, wWinPix_t y );
void wConvertToCharSet( char *, int );
void wConvertFromCharSet( char *, int );
@@ -246,9 +252,9 @@ typedef void (*wWinCallBack_p)( wWin_p, winProcEvent, void *, void * );
#define F_RESTRICT (1L<<15)
#define F_NOTTRANSIENT (1L<<16)
-wWin_p wWinMainCreate( const char *, wPos_t, wPos_t, const char *, const char *, const char *,
+wWin_p wWinMainCreate( const char *, wWinPix_t, wWinPix_t, const char *, const char *, const char *,
long, wWinCallBack_p, void * );
-wWin_p wWinPopupCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, const char *,
+wWin_p wWinPopupCreate( wWin_p, wWinPix_t, wWinPix_t, const char *, const char *, const char *,
long, wWinCallBack_p, void * );
wWin_p wMain( int, char *[] );
@@ -257,17 +263,17 @@ void wWinSetSmallIcon( wWin_p, wIcon_p );
void wWinShow( wWin_p, wBool_t );
wBool_t wWinIsVisible( wWin_p );
wBool_t wWinIsMaximized( wWin_p win);
-void wWinGetSize ( wWin_p, wPos_t *, wPos_t * );
-void wWinSetSize( wWin_p, wPos_t, wPos_t );
+void wWinGetSize ( wWin_p, wWinPix_t *, wWinPix_t * );
+void wWinSetSize( wWin_p, wWinPix_t, wWinPix_t );
void wWinSetTitle( wWin_p, const char * );
void wWinSetBusy( wWin_p, wBool_t );
const char * wWinGetTitle( wWin_p );
-void wWinClear( wWin_p, wPos_t, wPos_t, wPos_t, wPos_t );
+void wWinClear( wWin_p, wWinPix_t, wWinPix_t, wWinPix_t, wWinPix_t );
void wMessage( wWin_p, const char *, wBool_t );
void wWinTop( wWin_p );
void wWinDoCancel( wWin_p );
void wWinBlockEnable( wBool_t );
-void wSetGeometry(wWin_p, int min_width, int max_width, int min_height, int max_height, int base_width, int base_height, double aspect_ratio);
+void wSetGeometry(wWin_p, wWinPix_t min_width, wWinPix_t max_width, wWinPix_t min_height, wWinPix_t max_height, wWinPix_t base_width, wWinPix_t base_height, double aspect_ratio);
int wCreateSplash( char *appName, char *appVer );
int wSetSplashInfo( char *msg );
@@ -284,20 +290,22 @@ void wDestroySplash( void );
#define BO_READONLY (1L<<2)
#define BO_NOTAB (1L<<8)
#define BO_BORDER (1L<<9)
-#define BO_ENTER (1L<<10)
+//#define BO_ENTER (1L<<10)
+#define BO_ENTER 0
+#define BO_REPEAT (1L<<11)
-wPos_t wLabelWidth( const char * );
+wWinPix_t wLabelWidth( const char * );
const char * wControlGetHelp( wControl_p );
void wControlSetHelp( wControl_p, const char * );
void wControlShow( wControl_p, wBool_t );
-wPos_t wControlGetWidth( wControl_p );
-wPos_t wControlGetHeight( wControl_p );
-wPos_t wControlGetPosX( wControl_p );
-wPos_t wControlGetPosY( wControl_p );
-void wControlSetPos( wControl_p, wPos_t, wPos_t );
+wWinPix_t wControlGetWidth( wControl_p );
+wWinPix_t wControlGetHeight( wControl_p );
+wWinPix_t wControlGetPosX( wControl_p );
+wWinPix_t wControlGetPosY( wControl_p );
+void wControlSetPos( wControl_p, wWinPix_t, wWinPix_t );
void wControlSetFocus( wControl_p );
void wControlActive( wControl_p, wBool_t );
-void wControlSetBalloon( wControl_p, wPos_t, wPos_t, const char * );
+void wControlSetBalloon( wControl_p, wWinPix_t, wWinPix_t, const char * );
void wControlSetLabel( wControl_p, const char * );
void wControlSetBalloonText( wControl_p, const char * );
void wControlSetContext( wControl_p, void * );
@@ -314,11 +322,11 @@ void wControlLinkedActive( wControl_p b, int active );
#define BS_TRIM (1<<12)
/* Creation CallBacks */
typedef void (*wStringCallBack_p)( const char *, void *);
-wString_p wStringCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long,
- wPos_t, char *, wIndex_t, wStringCallBack_p,
+wString_p wStringCreate( wWin_p, wWinPix_t, wWinPix_t, const char *, const char *, long,
+ wWinPix_t, char *, wIndex_t, wStringCallBack_p,
void * );
void wStringSetValue( wString_p, const char * );
-void wStringSetWidth( wString_p, wPos_t );
+void wStringSetWidth( wString_p, wWinPix_t );
const char * wStringGetValue( wString_p );
@@ -330,11 +338,11 @@ const char * wStringGetValue( wString_p );
/* Creation CallBacks */
typedef void (*wIntegerCallBack_p)( long, void * , int);
typedef void (*wFloatCallBack_p)( double, void * , int);
-wInteger_p wIntegerCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long,
- wPos_t, wInteger_t, wInteger_t, wInteger_t *,
+wInteger_p wIntegerCreate( wWin_p, wWinPix_t, wWinPix_t, const char *, const char *, long,
+ wWinPix_t, wInteger_t, wInteger_t, wInteger_t *,
wIntegerCallBack_p, void * );
-wFloat_p wFloatCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long,
- wPos_t, double, double, double *,
+wFloat_p wFloatCreate( wWin_p, wWinPix_t, wWinPix_t, const char *, const char *, long,
+ wWinPix_t, double, double, double *,
wFloatCallBack_p, void * );
void wIntegerSetValue( wInteger_p, wInteger_t );
void wFloatSetValue( wFloat_p, double );
@@ -364,12 +372,12 @@ typedef void (*wListCallBack_p)( wIndex_t, const char *, wIndex_t, void *, void
/* lists, droplists and combo boxes */
-wList_p wListCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long,
- long, wPos_t, int, wPos_t *, wBool_t *, const char **, long *, wListCallBack_p, void * );
-wList_p wDropListCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long,
- long, wPos_t, long *, wListCallBack_p, void * );
+wList_p wListCreate( wWin_p, wWinPix_t, wWinPix_t, const char *, const char *, long,
+ long, wWinPix_t, int, wWinPix_t *, wBool_t *, const char **, long *, wListCallBack_p, void * );
+wList_p wDropListCreate( wWin_p, wWinPix_t, wWinPix_t, const char *, const char *, long,
+ long, wWinPix_t, long *, wListCallBack_p, void * );
-wList_p wComboListCreate(wWin_p parent, wPos_t x, wPos_t y, const char *helpStr, const char *labelStr, long option, long number, wPos_t width, long *valueP, wListCallBack_p action, void *data);
+wList_p wComboListCreate(wWin_p parent, wWinPix_t x, wWinPix_t y, const char *helpStr, const char *labelStr, long option, long number, wWinPix_t width, long *valueP, wListCallBack_p action, void *data);
void wListClear(wList_p b);
void wListSetIndex(wList_p b, int element);
wIndex_t wListFindValue(wList_p b, const char *val);
@@ -381,9 +389,9 @@ wIndex_t wListGetSelectedCount(wList_p b);
void wListSelectAll(wList_p bl);
wBool_t wListSetValues(wList_p b, wIndex_t row, const char *labelStr, wIcon_p bm, void *itemData);
void wListDelete(wList_p b, wIndex_t inx);
-int wListGetColumnWidths(wList_p bl, int colCnt, wPos_t *colWidths);
+int wListGetColumnWidths(wList_p bl, int colCnt, wWinPix_t *colWidths);
wIndex_t wListAddValue(wList_p b, const char *labelStr, wIcon_p bm, void *itemData);
-void wListSetSize(wList_p bl, wPos_t w, wPos_t h);
+void wListSetSize(wList_p bl, wWinPix_t w, wWinPix_t h);
wIndex_t wListGetValues( wList_p, char *, int, void * *, void * * );
/** \todo Check for the existance of following functions */
@@ -404,13 +412,13 @@ void wListSetEditable( wList_p, wBool_t );
#define wMessageSetFont( x ) ( x & (BM_LARGE | BM_SMALL ))
#define wMessageCreate( w, p1, p2, l, p3, m ) wMessageCreateEx( w, p1, p2, l, p3, m, 0 )
-wMessage_p wMessageCreateEx( wWin_p, wPos_t, wPos_t, const char *,
- wPos_t, const char *, long );
+wMessage_p wMessageCreateEx( wWin_p, wWinPix_t, wWinPix_t, const char *,
+ wWinPix_t, const char *, long );
void wMessageSetValue( wMessage_p, const char * );
-void wMessageSetWidth( wMessage_p, wPos_t );
-wPos_t wMessageGetWidth( const char *testString );
-wPos_t wMessageGetHeight( long );
+void wMessageSetWidth( wMessage_p, wWinPix_t );
+wWinPix_t wMessageGetWidth( const char *testString );
+wWinPix_t wMessageGetHeight( long );
/*------------------------------------------------------------------------------
@@ -439,8 +447,8 @@ wLine_p wLineCreate( wWin_p, const char *, int, wLines_t *);
#define BT_DOBOLD (1L<<21)
#define BT_TOP (1L<<20) /* Show the top of the text */
-wText_p wTextCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long,
- wPos_t, wPos_t );
+wText_p wTextCreate( wWin_p, wWinPix_t, wWinPix_t, const char *, const char *, long,
+ wWinPix_t, wWinPix_t );
void wTextClear( wText_p );
void wTextAppend( wText_p, const char * );
void wTextSetReadonly( wText_p, wBool_t );
@@ -450,8 +458,8 @@ wBool_t wTextGetModified( wText_p );
void wTextReadFile( wText_p, const char * );
wBool_t wTextSave( wText_p, const char * );
wBool_t wTextPrint( wText_p );
-void wTextSetSize( wText_p, wPos_t, wPos_t );
-void wTextComputeSize( wText_p, int, int, wPos_t *, wPos_t * );
+void wTextSetSize( wText_p, wWinPix_t, wWinPix_t );
+void wTextComputeSize( wText_p, wWinPix_t, wWinPix_t, wWinPix_t *, wWinPix_t * );
void wTextSetPosition( wText_p bt, int pos );
@@ -518,8 +526,8 @@ typedef int wAction_t;
/* Creation CallBacks */
-typedef void (*wDrawRedrawCallBack_p)( wDraw_p, void *, wPos_t, wPos_t );
-typedef void (*wDrawActionCallBack_p)( wDraw_p, void*, wAction_t, wPos_t, wPos_t );
+typedef void (*wDrawRedrawCallBack_p)( wDraw_p, void *, wWinPix_t, wWinPix_t );
+typedef void (*wDrawActionCallBack_p)( wDraw_p, void*, wAction_t, wDrawPix_t, wDrawPix_t );
/* Creation Options */
#define BD_TICKS (1L<<25)
@@ -529,38 +537,38 @@ typedef void (*wDrawActionCallBack_p)( wDraw_p, void*, wAction_t, wPos_t, wPos_t
#define BD_MODKEYS (1L<<29)
/* Create: */
-wDraw_p wDrawCreate( wWin_p, wPos_t, wPos_t, const char *, long,
- wPos_t, wPos_t, void *,
+wDraw_p wDrawCreate( wWin_p, wWinPix_t, wWinPix_t, const char *, long,
+ wWinPix_t, wWinPix_t, void *,
wDrawRedrawCallBack_p, wDrawActionCallBack_p );
/* Draw: */
-void wDrawLine( wDraw_p, wPos_t, wPos_t, wPos_t, wPos_t,
+void wDrawLine( wDraw_p, wDrawPix_t, wDrawPix_t, wDrawPix_t, wDrawPix_t,
wDrawWidth, wDrawLineType_e, wDrawColor,
wDrawOpts );
#define double2wAngle_t( A ) (A)
typedef double wAngle_t;
-void wDrawArc( wDraw_p, wPos_t, wPos_t, wPos_t, wAngle_t, wAngle_t,
+void wDrawArc( wDraw_p, wDrawPix_t, wDrawPix_t, wDrawPix_t, wAngle_t, wAngle_t,
int, wDrawWidth, wDrawLineType_e, wDrawColor,
wDrawOpts );
-void wDrawPoint( wDraw_p, wPos_t, wPos_t, wDrawColor, wDrawOpts );
+void wDrawPoint( wDraw_p, wDrawPix_t, wDrawPix_t, wDrawColor, wDrawOpts );
#define double2wFontSize_t( FS ) (FS)
typedef double wFontSize_t;
-void wDrawString( wDraw_p, wPos_t, wPos_t, wAngle_t, const char *, wFont_p,
+void wDrawString( wDraw_p, wDrawPix_t, wDrawPix_t, wAngle_t, const char *, wFont_p,
wFontSize_t, wDrawColor, wDrawOpts );
-void wDrawFilledRectangle( wDraw_p, wPos_t, wPos_t, wPos_t, wPos_t,
+void wDrawFilledRectangle( wDraw_p, wDrawPix_t, wDrawPix_t, wDrawPix_t, wDrawPix_t,
wDrawColor, wDrawOpts );
-void wDrawPolygon( wDraw_p, wPos_t [][2], wPolyLine_e [], wIndex_t, wDrawColor, wDrawWidth, wDrawLineType_e,
+void wDrawPolygon( wDraw_p, wDrawPix_t [][2], wPolyLine_e [], wIndex_t, wDrawColor, wDrawWidth, wDrawLineType_e,
wDrawOpts, int, int );
-void wDrawFilledCircle( wDraw_p, wPos_t, wPos_t, wPos_t, wDrawColor, wDrawOpts );
+void wDrawFilledCircle( wDraw_p, wDrawPix_t, wDrawPix_t, wDrawPix_t, wDrawColor, wDrawOpts );
-void wDrawGetTextSize( wPos_t *, wPos_t *, wPos_t *, wPos_t *, wDraw_p, const char *, wFont_p,
+void wDrawGetTextSize( wDrawPix_t *, wDrawPix_t *, wDrawPix_t *, wDrawPix_t *, wDraw_p, const char *, wFont_p,
wFontSize_t );
void wDrawClear( wDraw_p );
void wDrawClearTemp( wDraw_p );
wBool_t wDrawSetTempMode( wDraw_p, wBool_t );
void wDrawDelayUpdate( wDraw_p, wBool_t );
-void wDrawClip( wDraw_p, wPos_t, wPos_t, wPos_t, wPos_t );
+void wDrawClip( wDraw_p, wDrawPix_t, wDrawPix_t, wDrawPix_t, wDrawPix_t );
wDrawColor wDrawColorGray( int );
wDrawColor wDrawFindColor( long );
long wDrawGetRGB( wDrawColor );
@@ -568,15 +576,15 @@ long wDrawGetRGB( wDrawColor );
/* Geometry */
double wDrawGetDPI( wDraw_p );
double wDrawGetMaxRadius( wDraw_p );
-void wDrawSetSize( wDraw_p, wPos_t, wPos_t, void * );
-void wDrawGetSize( wDraw_p, wPos_t *, wPos_t * );
+void wDrawSetSize( wDraw_p, wWinPix_t, wWinPix_t, void * );
+void wDrawGetSize( wDraw_p, wWinPix_t *, wWinPix_t * );
/* Bitmaps */
wDrawBitMap_p wDrawBitMapCreate( wDraw_p, int, int, int, int, const unsigned char * );
-void wDrawBitMap( wDraw_p, wDrawBitMap_p, wPos_t, wPos_t,
+void wDrawBitMap( wDraw_p, wDrawBitMap_p, wDrawPix_t, wDrawPix_t,
wDrawColor, wDrawOpts );
-wDraw_p wBitMapCreate( wPos_t, wPos_t, int );
+wDraw_p wBitMapCreate( wWinPix_t, wWinPix_t, int );
wBool_t wBitMapDelete( wDraw_p );
wBool_t wBitMapWriteFile( wDraw_p, const char * );
@@ -585,7 +593,8 @@ void * wDrawGetContext( wDraw_p );
void wDrawSaveImage( wDraw_p );
void wDrawRestoreImage( wDraw_p );
int wDrawSetBackground( wDraw_p, char * path, char ** error);
-void wDrawShowBackground( wDraw_p, wPos_t pos_x, wPos_t pos_y, wPos_t width, wAngle_t angle, int screen);
+void wDrawCloneBackground(wDraw_p from, wDraw_p to);
+void wDrawShowBackground( wDraw_p, wWinPix_t pos_x, wWinPix_t pos_y, wWinPix_t width, wAngle_t angle, int screen);
/*------------------------------------------------------------------------------
*
@@ -594,7 +603,7 @@ void wDrawShowBackground( wDraw_p, wPos_t pos_x, wPos_t pos_y, wPos_t width, w
void wInitializeFonts();
void wSelectFont( const char * );
wFontSize_t wSelectedFontSize( void );
-void wSetSelectionFontSize(wFontSize_t);
+void wSetSelectedFontSize(wFontSize_t size);
#define F_TIMES (1)
#define F_HELV (2)
wFont_p wStandardFont( int, wBool_t, wBool_t );
@@ -616,7 +625,7 @@ wDraw_p wPrintPageStart( void );
wBool_t wPrintPageEnd( wDraw_p );
void wPrintDocEnd( void );
wBool_t wPrintQuit( void );
-void wPrintClip( wPos_t, wPos_t, wPos_t, wPos_t );
+void wPrintClip( wDrawPix_t, wDrawPix_t, wDrawPix_t, wDrawPix_t );
const char * wPrintGetName( void );
@@ -673,14 +682,14 @@ void wDoAccelHelp( wAccelKey_e key, void * );
/* Creation CallBacks */
typedef void (*wMenuCallBack_p)( void * );
typedef void (*wMenuListCallBack_p)( int, const char *, void * );
-typedef void (*wMenuToggleCallBack_p)( wBool_t , void * );
+typedef void (*wMenuCallBack_p)( void * );
typedef void (*wAccelKeyCallBack_p)( wAccelKey_e, void * );
typedef void (*wMenuTraceCallBack_p)( wMenu_p, const char *, void * );
/* Creation Options */
#define BM_ICON (1L<<0)
-wMenu_p wMenuCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long );
+wMenu_p wMenuCreate( wWin_p, wWinPix_t, wWinPix_t, const char *, const char *, long );
wMenu_p wMenuBarAdd( wWin_p, const char *, const char * );
wMenuPush_p wMenuPushCreate( wMenu_p, const char *, const char *, long,
@@ -699,7 +708,7 @@ void wMenuListDelete( wMenuList_p, const char * );
const char * wMenuListGet( wMenuList_p, int, void ** );
void wMenuListClear( wMenuList_p );
-wMenuToggle_p wMenuToggleCreate( wMenu_p, const char *, const char *, long, wBool_t, wMenuToggleCallBack_p, void * );
+wMenuToggle_p wMenuToggleCreate( wMenu_p, const char *, const char *, long, wBool_t, wMenuCallBack_p, void * );
wBool_t wMenuToggleSet( wMenuToggle_p, wBool_t );
wBool_t wMenuToggleGet( wMenuToggle_p );
void wMenuToggleEnable( wMenuToggle_p, wBool_t );
@@ -741,8 +750,8 @@ int wFilSelect( struct wFilSel_t *, const char * );
typedef void (*wColorSelectButtonCallBack_p)( void *, wDrawColor );
wBool_t wColorSelect( const char *, wDrawColor * );
-wButton_p wColorSelectButtonCreate( wWin_p, wPos_t, wPos_t, const char *, const char *,
- long, wPos_t, wDrawColor *, wColorSelectButtonCallBack_p, void * );
+wButton_p wColorSelectButtonCreate( wWin_p, wWinPix_t, wWinPix_t, const char *, const char *,
+ long, wWinPix_t, wDrawColor *, wColorSelectButtonCallBack_p, void * );
void wColorSelectButtonSetColor( wButton_p, wDrawColor );
wDrawColor wColorSelectButtonGetColor( wButton_p );
@@ -756,6 +765,8 @@ char * wPrefGetString(const char *section, const char *name);
char * wPrefGetStringBasic( const char *section, const char *name );
char * wPrefGetStringExt(const char *section, const char *name);
+void wPrefsLoad(char * name);
+
void wPrefSetInteger(const char *, const char *, long );
wBool_t wPrefGetInteger(const char *section, const char *name, long *result, long defaultValue);
wBool_t wPrefGetIntegerBasic(const char *section, const char *name, long *result, long defaultValue);
@@ -767,7 +778,7 @@ wBool_t wPrefGetFloatBasic(const char *section, const char *name, double *result
wBool_t wPrefGetFloatExt(const char *section, const char *name, double *result, double defaultValue);
const char * wPrefGetSectionItem( const char * sectionName, wIndex_t * index, const char ** name );
-void wPrefFlush( void );
+void wPrefFlush( char * name);
void wPrefReset( void );
void CleanupCustom( void );
@@ -779,17 +790,17 @@ void CleanupCustom( void );
wStatus_p wStatusCreate(
wWin_p parent,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * labelStr,
- wPos_t width,
+ wWinPix_t width,
const char *message );
-wPos_t wStatusGetWidth(const char *testString);
-wPos_t wStatusGetHeight(long flags);
+wWinPix_t wStatusGetWidth(const char *testString);
+wWinPix_t wStatusGetHeight(long flags);
void wStatusSetValue(wStatus_p b, const char * arg);
-void wStatusSetWidth(wStatus_p b, wPos_t width);
+void wStatusSetWidth(wStatus_p b, wWinPix_t width);
/*-------------------------------------------------------------------------------
* User Preferences
@@ -797,4 +808,7 @@ void wStatusSetWidth(wStatus_p b, wPos_t width);
#define PREFSECTION "Preference"
#define LARGEICON "LargeIcons"
+#define DPISET "ScreenDPI"
+#define PRINTSCALE "PrintScale"
+#define PRINTTEXTSCALE "PrintTextScale"
#endif
diff --git a/app/wlib/mswlib/CMakeLists.txt b/app/wlib/mswlib/CMakeLists.txt
index 07558f9..99ac1d4 100644
--- a/app/wlib/mswlib/CMakeLists.txt
+++ b/app/wlib/mswlib/CMakeLists.txt
@@ -29,6 +29,7 @@ SET(SOURCES
include_directories(${FREEIMAGE_INCLUDE_PATH})
INCLUDE_DIRECTORIES(${XTrkCAD_BINARY_DIR})
+# INCLUDE_DIRECTORIES(${help_BINARY_DIR})
IF(XTRKCAD_USE_GETTEXT)
IF(WIN32)
diff --git a/app/wlib/mswlib/backgnd.c b/app/wlib/mswlib/backgnd.c
index d35f19a..9599beb 100644
--- a/app/wlib/mswlib/backgnd.c
+++ b/app/wlib/mswlib/backgnd.c
@@ -29,192 +29,215 @@
static char *lastErrorMessage; /**< store last message from FreeImage */
#define ERRORPUNCTUATION " : "
-/**
- * FreeImage error handler
- * \param fif Format / Plugin responsible for the error
- * \param message Error message
+/**
+ * FreeImage error handler
+ * \param fif Format / Plugin responsible for the error
+ * \param message Error message
*/
-static void
-HandleFreeImageError(FREE_IMAGE_FORMAT fif, const char *message)
-{
- unsigned totalLength = strlen(message) + 1;
-
- if (fif != FIF_UNKNOWN) {
- totalLength += strlen(FreeImage_GetFormatFromFIF(fif)) + strlen(ERRORPUNCTUATION);
- }
-
- lastErrorMessage = malloc(totalLength);
-
- if (fif != FIF_UNKNOWN) {
- sprintf(lastErrorMessage,
- "%s" ERRORPUNCTUATION "%s",
- FreeImage_GetFormatFromFIF(fif),
- message);
- } else {
- strcpy(lastErrorMessage, message);
- }
+static void
+HandleFreeImageError( FREE_IMAGE_FORMAT fif, const char *message )
+{
+ size_t totalLength = strlen( message ) + 1;
+
+ if( fif != FIF_UNKNOWN ) {
+ totalLength += strlen( FreeImage_GetFormatFromFIF( fif ) ) + strlen(
+ ERRORPUNCTUATION );
+ }
+
+ lastErrorMessage = malloc( totalLength );
+
+ if( fif != FIF_UNKNOWN ) {
+ sprintf( lastErrorMessage,
+ "%s" ERRORPUNCTUATION "%s",
+ FreeImage_GetFormatFromFIF( fif ),
+ message );
+ } else {
+ strcpy( lastErrorMessage, message );
+ }
}
-/**
-* Load the background image
-* \param bd drawing context
-* \param path filename for image file, if NULL the existing background will be removed
-* \param error returned error message
-* \return -1 unsupported or invalid file, 0 success, 1 background removed
+/**
+* Load the background image
+* \param bd drawing context
+* \param path filename for image file, if NULL the existing background will be removed
+* \param error returned error message
+* \return -1 unsupported or invalid file, 0 success, 1 background removed
*/
int
-wDrawSetBackground(wDraw_p bd, char * path, char ** error)
+wDrawSetBackground( wDraw_p bd, char * path, char ** error )
{
- FREE_IMAGE_FORMAT fif = FIF_UNKNOWN;
+ FREE_IMAGE_FORMAT fif = FIF_UNKNOWN;
+
+ FreeImage_SetOutputMessage( HandleFreeImageError );
- FreeImage_SetOutputMessage(HandleFreeImageError);
-
- if (lastErrorMessage) {
- free(lastErrorMessage);
- lastErrorMessage = NULL;
+ if( lastErrorMessage ) {
+ free( lastErrorMessage );
+ lastErrorMessage = NULL;
}
- if (path) {
- // check the file signature and deduce its format
- // (the second argument is currently not used by FreeImage)
- fif = FreeImage_GetFileType(path, 0);
-
- if (fif == FIF_UNKNOWN) {
- // no signature ?
- // try to guess the file format from the file extension
- fif = FreeImage_GetFIFFromFilename(path);
- }
-
- // check that the plugin has reading capabilities ...
- if ((fif != FIF_UNKNOWN) && FreeImage_FIFSupportsReading(fif)) {
- // ok, let's load the file
- bd->background = FreeImage_Load(fif, path, 0);
-
- // unless a bad file format, we are done !
- if (!bd->background) {
- *error = lastErrorMessage;
- return (-1);
- } else {
- return (0);
- }
- } else {
- *error = strdup(_("Image file is invalid or cannot be read."));
- return (-1);
- }
- } else {
- if (bd->background) {
- FreeImage_Unload(bd->background);
- bd->background = 0;
- }
-
- return (1);
- }
+ if( path ) {
+ // check the file signature and deduce its format
+ // (the second argument is currently not used by FreeImage)
+ fif = FreeImage_GetFileType( path, 0 );
+
+ if( fif == FIF_UNKNOWN ) {
+ // no signature ?
+ // try to guess the file format from the file extension
+ fif = FreeImage_GetFIFFromFilename( path );
+ }
+
+ // check that the plugin has reading capabilities ...
+ if( ( fif != FIF_UNKNOWN ) && FreeImage_FIFSupportsReading( fif ) ) {
+ // ok, let's load the file
+ bd->background = FreeImage_Load( fif, path, 0 );
+
+ // unless a bad file format, we are done !
+ if( !bd->background ) {
+ *error = lastErrorMessage;
+ return ( -1 );
+ } else {
+ return ( 0 );
+ }
+ } else {
+ *error = _strdup( _( "Image file is invalid or cannot be read." ) );
+ return ( -1 );
+ }
+ } else {
+ if( bd->background ) {
+ FreeImage_Unload( bd->background );
+ bd->background = 0;
+ }
+
+ return ( 1 );
+ }
}
+/**
+ * Use a loaded background in another context.
+ *
+ * \param from context with background
+ * \param to context to get a reference to the existing background
+ */
-/**
-* Draw background to screen. The background will be sized and rotated before being shown. The bitmap
-* is scaled so that the width is equal to size. The height is changed proportionally.
-*
-* \param bd drawing context
-* \param pos_x, pos_y bitmap position
-* \param size desired width after scaling
-* \param angle
-* \param screen visibility of bitmap in percent
+void
+wDrawCloneBackground( wDraw_p from, wDraw_p to )
+{
+ if( from->background ) {
+ to->background = from->background;
+ } else {
+ to->background = NULL;
+ }
+}
+
+/**
+* Draw background to screen. The background will be sized and rotated before being shown. The bitmap
+* is scaled so that the width is equal to size. The height is changed proportionally.
+*
+* \param bd drawing context
+* \param pos_x, pos_y bitmap position
+* \param size desired width after scaling
+* \param angle
+* \param screen visibility of bitmap in percent
*/
void
-wDrawShowBackground(wDraw_p bd, wPos_t pos_x, wPos_t pos_y, wPos_t size,
- wAngle_t angle, int screen)
+wDrawShowBackground( wDraw_p bd, wWinPix_t pos_x, wWinPix_t pos_y,
+ wWinPix_t size,
+ wAngle_t angle, int screen )
{
- if (bd->background) {
- double scale;
- FIBITMAP *tmp;
- FIBITMAP *rotated;
-
- if (size == 0) {
- scale = 1.0;
- } else {
- scale = (double)size / FreeImage_GetWidth(bd->background);
- }
-
- tmp = FreeImage_RescaleRect(bd->background,
- (int)((double)FreeImage_GetWidth(bd->background) * scale),
- (int)((double)FreeImage_GetHeight(bd->background) * scale),
- 0,
- 0,
- FreeImage_GetWidth(bd->background),
- FreeImage_GetHeight(bd->background),
- FILTER_BILINEAR,
- 0);
- FreeImage_AdjustColors(tmp, screen, -screen, 1.0, FALSE);
- FREE_IMAGE_TYPE image_type = FreeImage_GetImageType(tmp);
-
- switch (image_type) {
- case FIT_BITMAP:
- switch (FreeImage_GetBPP(tmp)) {
- case 8: {
- BYTE color = 255;
- rotated = FreeImage_Rotate(tmp, angle, &color);
- }
- break;
-
- case 24: // we could also use 'RGBTRIPLE color' here
- case 32: {
- RGBQUAD color = { 255, 255, 255, 0 };
- // for 24-bit images, the first 3 bytes will be read
- // for 32-bit images, the first 4 bytes will be read
- rotated = FreeImage_Rotate(tmp, angle, &color);
- }
- break;
- }
-
- break;
-
- case FIT_UINT16: {
- WORD color = 255;
- rotated = FreeImage_Rotate(tmp, angle, &color);
- }
- break;
-
- case FIT_RGB16: // we could also use 'FIRGB16 color' here
- case FIT_RGBA16: {
- FIRGBA16 color = { 255, 255, 255, 0 };
- // for RGB16 images, the first 3 WORD will be read
- // for RGBA16 images, the first 4 WORD will be read
- rotated = FreeImage_Rotate(tmp, angle, &color);
- }
- break;
-
- case FIT_FLOAT: {
- float color = 1.0F;
- rotated = FreeImage_Rotate(tmp, angle, &color);
- }
- break;
-
- case FIT_RGBF: // we could also use 'FIRGBF color' here
- case FIT_RGBAF: {
- FIRGBAF color = { 1, 1, 1, 0 };
- // for RGBF images, the first 3 float will be read
- // for RGBAF images, the first 4 float will be read
- rotated = FreeImage_Rotate(tmp, angle, &color);
- }
- break;
- }
-
- SetDIBitsToDevice(bd->hDc,
- pos_x,
- bd->h - pos_y - FreeImage_GetHeight(rotated),
- FreeImage_GetWidth(rotated),
- FreeImage_GetHeight(rotated),
- 0, 0,
- 0,
- FreeImage_GetHeight(rotated),
- FreeImage_GetBits(rotated),
- FreeImage_GetInfo(rotated),
- DIB_RGB_COLORS);
- FreeImage_Unload(tmp);
- FreeImage_Unload(rotated);
- }
-} \ No newline at end of file
+ if( bd->background ) {
+ double scale;
+ FIBITMAP *tmp;
+ FIBITMAP *rotated;
+
+ if( size == 0 ) {
+ scale = 1.0;
+ } else {
+ scale = ( double )size / FreeImage_GetWidth( bd->background );
+ }
+
+ tmp = FreeImage_RescaleRect( bd->background,
+ ( int )( ( double )FreeImage_GetWidth( bd->background ) * scale ),
+ ( int )( ( double )FreeImage_GetHeight( bd->background ) * scale ),
+ 0,
+ 0,
+ FreeImage_GetWidth( bd->background ),
+ FreeImage_GetHeight( bd->background ),
+ FILTER_BILINEAR,
+ 0 );
+
+ if( tmp == NULL ) {
+ return;
+ }
+
+ FreeImage_AdjustColors( tmp, screen, -screen, 1.0, FALSE );
+ FREE_IMAGE_TYPE image_type = FreeImage_GetImageType( tmp );
+
+ switch( image_type ) {
+ case FIT_BITMAP:
+ switch( FreeImage_GetBPP( tmp ) ) {
+ case 8: {
+ BYTE color = 255;
+ rotated = FreeImage_Rotate( tmp, angle, &color );
+ }
+ break;
+
+ case 24: // we could also use 'RGBTRIPLE color' here
+ case 32: {
+ RGBQUAD color = { 255, 255, 255, 0 };
+ // for 24-bit images, the first 3 bytes will be read
+ // for 32-bit images, the first 4 bytes will be read
+ rotated = FreeImage_Rotate( tmp, angle, &color );
+ }
+ break;
+ }
+
+ break;
+
+ case FIT_UINT16: {
+ WORD color = 255;
+ rotated = FreeImage_Rotate( tmp, angle, &color );
+ }
+ break;
+
+ case FIT_RGB16: // we could also use 'FIRGB16 color' here
+ case FIT_RGBA16: {
+ FIRGBA16 color = { 255, 255, 255, 0 };
+ // for RGB16 images, the first 3 WORD will be read
+ // for RGBA16 images, the first 4 WORD will be read
+ rotated = FreeImage_Rotate( tmp, angle, &color );
+ }
+ break;
+
+ case FIT_FLOAT: {
+ float color = 1.0F;
+ rotated = FreeImage_Rotate( tmp, angle, &color );
+ }
+ break;
+
+ case FIT_RGBF: // we could also use 'FIRGBF color' here
+ case FIT_RGBAF: {
+ FIRGBAF color = { 1, 1, 1, 0 };
+ // for RGBF images, the first 3 float will be read
+ // for RGBAF images, the first 4 float will be read
+ rotated = FreeImage_Rotate( tmp, angle, &color );
+ }
+ break;
+ }
+
+ SetDIBitsToDevice( bd->hDc,
+ pos_x,
+ bd->h - pos_y - FreeImage_GetHeight( rotated ),
+ FreeImage_GetWidth( rotated ),
+ FreeImage_GetHeight( rotated ),
+ 0, 0,
+ 0,
+ FreeImage_GetHeight( rotated ),
+ FreeImage_GetBits( rotated ),
+ FreeImage_GetInfo( rotated ),
+ DIB_RGB_COLORS );
+ FreeImage_Unload( tmp );
+ FreeImage_Unload( rotated );
+ }
+}
diff --git a/app/wlib/mswlib/dynarr.h b/app/wlib/mswlib/dynarr.h
index 5bd7a8e..e8a178e 100644
--- a/app/wlib/mswlib/dynarr.h
+++ b/app/wlib/mswlib/dynarr.h
@@ -31,10 +31,6 @@ typedef struct {
#ifdef WINDOWS
-#ifndef WIN32
-#define FAR _far
-#endif
-#define M_PI 3.14159
#define strcasecmp _stricmp
#else
#endif
diff --git a/app/wlib/mswlib/gwin32.c b/app/wlib/mswlib/gwin32.c
index 6b0c7f3..877c329 100644
--- a/app/wlib/mswlib/gwin32.c
+++ b/app/wlib/mswlib/gwin32.c
@@ -40,7 +40,7 @@
#include <errno.h>
#include <ctype.h>
#if defined(_MSC_VER) || defined(__DMC__)
-# include <io.h>
+#include <io.h>
#endif /* _MSC_VER || __DMC__ */
#ifndef SUBLANG_SERBIAN_LATIN_BA
diff --git a/app/wlib/mswlib/mswbitmap.c b/app/wlib/mswlib/mswbitmap.c
index 95b8a69..d4ee83c 100644
--- a/app/wlib/mswlib/mswbitmap.c
+++ b/app/wlib/mswlib/mswbitmap.c
@@ -29,7 +29,6 @@
#include <commdlg.h>
#include <stdio.h>
#include <assert.h>
-#include "misc.h"
#include "mswint.h"
#include "i18n.h"
@@ -49,8 +48,8 @@ HBITMAP mswCreateBitMap(
COLORREF fgCol1,
COLORREF fgCol2,
COLORREF bgCol,
- wPos_t w,
- wPos_t h,
+ int w,
+ int h,
const char * bits )
{
HDC hDc;
@@ -100,7 +99,7 @@ HBITMAP mswCreateBitMap(
return hBitMap;
}
-dynArr_t bitmap_da;
+static dynArr_t bitmap_da;
#define controlMap(N) DYNARR_N(controlMap_t,controlMap_da,N)
#define bitmap(N) DYNARR_N(HBITMAP,bitmap_da,N)
@@ -252,7 +251,7 @@ void mswDrawIcon(
* \return pointer to icon
*/
-wIcon_p wIconCreateBitMap( wPos_t w, wPos_t h, const char * bits, wDrawColor color )
+wIcon_p wIconCreateBitMap( wWinPix_t w, wWinPix_t h, const char * bits, wDrawColor color )
{
int lineLength;
int i, j;
@@ -330,12 +329,13 @@ wIcon_p wIconCreateBitMap( wPos_t w, wPos_t h, const char * bits, wDrawColor col
wIcon_p wIconCreatePixMap( char *pm[])
{
wIcon_p ip;
- int col, r, g, b, len;
+ int col, r, g, b;
+ size_t len;
int width, height;
char buff[3];
char * cp, * cq, * ptr;
int i, j, k;
- int lineLength;
+ size_t lineLength;
unsigned *keys;
unsigned numchars;
unsigned pixel;
@@ -473,7 +473,7 @@ void wIconSetColor( wIcon_p ip, wDrawColor color )
*/
void
-wIconDraw( wDraw_p d, wIcon_p bm, wPos_t x, wPos_t y )
+wIconDraw( wDraw_p d, wIcon_p bm, wWinPix_t x, wWinPix_t y )
{
mswDrawIcon( d->hDc, (int)x, (int)y, bm, FALSE, 0, 0 );
}
@@ -489,7 +489,7 @@ wIconDraw( wDraw_p d, wIcon_p bm, wPos_t x, wPos_t y )
*/
wControl_p
-wBitmapCreate( wWin_p parent, wPos_t x, wPos_t y, long option, wIcon_p iconP )
+wBitmapCreate( wWin_p parent, wWinPix_t x, wWinPix_t y, long option, const struct wIcon_t * iconP )
{
wBitmap_p control;
int index;
@@ -502,7 +502,7 @@ wBitmapCreate( wWin_p parent, wPos_t x, wPos_t y, long option, wIcon_p iconP )
control->hWnd = CreateWindow( "STATIC", NULL,
style, control->x, control->y,
iconP->w, iconP->h,
- ((wControl_p)parent)->hWnd, (HMENU)index, mswHInst, NULL );
+ ((wControl_p)parent)->hWnd, (HMENU)(UINT_PTR)index, mswHInst, NULL );
if (control->hWnd == NULL) {
mswFail("CreateWindow(BITMAP)");
@@ -510,7 +510,7 @@ wBitmapCreate( wWin_p parent, wPos_t x, wPos_t y, long option, wIcon_p iconP )
}
control->h = iconP->h;
control->w = iconP->w;
- control->data = iconP;
+ control->data = (void*)iconP;
return (wControl_p)control;
}
diff --git a/app/wlib/mswlib/mswbox.c b/app/wlib/mswlib/mswbox.c
index 04b3656..4f90cf4 100644
--- a/app/wlib/mswlib/mswbox.c
+++ b/app/wlib/mswlib/mswbox.c
@@ -30,8 +30,8 @@ struct wBox_t {
void wBoxSetSize(
wBox_p bb,
- wPos_t w,
- wPos_t h )
+ wWinPix_t w,
+ wWinPix_t h )
{
bb->w = w;
bb->h = h;
@@ -42,7 +42,7 @@ static void repaintBox( HWND hWnd, wControl_p b )
{
HDC hDc;
wBox_p bb = (wBox_p)(b);
- wPos_t x0, y0, x1, y1;
+ wWinPix_t x0, y0, x1, y1;
char lastColor;
int lastRop;
static char colors[8][4][2] = {
@@ -95,12 +95,12 @@ static callBacks_t boxCallBacks = {
wBox_p wBoxCreate(
wWin_p parent,
- wPos_t origX,
- wPos_t origY,
+ wWinPix_t origX,
+ wWinPix_t origY,
const char * labelStr,
wBoxType_e typ,
- wPos_t width,
- wPos_t height )
+ wWinPix_t width,
+ wWinPix_t height )
{
wBox_p b;
int index;
diff --git a/app/wlib/mswlib/mswbutt.c b/app/wlib/mswlib/mswbutt.c
index 16f31c1..ac5bc87 100644
--- a/app/wlib/mswlib/mswbutt.c
+++ b/app/wlib/mswlib/mswbutt.c
@@ -27,7 +27,15 @@
#include <commdlg.h>
#include <math.h>
#include "mswint.h"
-int kludge12 = 0;
+
+/** Macros for button repeat timers */
+#define REPEAT_STAGE0_DELAY 500
+#define REPEAT_STAGE1_DELAY 150
+#define REPEAT_STAGE2_DELAY 75
+#define STOP_TIMER (-1)
+#define INITIAL_WAIT (0)
+#define SLOW_REPEATS (1)
+#define FAST_REPEATS (2)
/*
*****************************************************************************
@@ -45,6 +53,9 @@ struct wButton_t {
wBool_t busy;
wBool_t selected;
wIcon_p icon;
+ UINT_PTR timer_id;
+ int timer_count;
+ int timer_state;
};
@@ -75,7 +86,7 @@ static void drawButton(
HPEN oldPen, newPen;
RECT rect;
COLORREF color1, color2;
- POS_T offw=5, offh=5;
+ wWinPix_t offw=5, offh=5;
TRIVERTEX vert[2] ;
GRADIENT_RECT gRect;
@@ -191,7 +202,7 @@ static void buttDrawIcon(
HDC butt_hDc )
{
wIcon_p bm = b->icon;
- POS_T offw=5, offh=5;
+ wWinPix_t offw=5, offh=5;
if (b->selected || b->busy) {
offw++; offh++;
@@ -204,14 +215,22 @@ static void buttDrawIcon(
}
void wButtonSetBusy(
- wButton_p b,
- int value )
+ wButton_p b,
+ int value)
{
- b->busy = value;
- if (!value)
- b->selected = FALSE;
- /*SendMessage( b->hWnd, BM_SETSTATE, (WPARAM)value, 0L );*/
- InvalidateRgn( b->hWnd, NULL, FALSE );
+ b->busy = value;
+ if (!value) {
+ b->selected = FALSE;
+ }
+
+ // in case a timer is associated with the button, kill it
+ if (b->timer_id) {
+ KillTimer(b->hWnd, b->timer_id);
+ b->timer_id = 0;
+ b->timer_state = STOP_TIMER;
+ }
+
+ InvalidateRgn(b->hWnd, NULL, FALSE);
}
@@ -227,6 +246,60 @@ void wButtonSetLabel(
}
InvalidateRgn( b->hWnd, NULL, FALSE );
}
+
+/**
+ * Button timer: handle timer events for buttons. These are used for
+ * auto-repeating presses. Three phases used are
+ * - initial delay before repetitions begin
+ * - slow repeats for a few cycles
+ * - fast repeats therafter
+ * - stop timer
+ *
+ * \param hWnd Handle of the window, unused
+ * \param message The message, unused
+ * \param timer The timer id is the wlib widget .
+ * \param timepast The timepast, unused
+ */
+
+void CALLBACK buttTimer(HWND hWnd, UINT message, UINT_PTR timer,
+ DWORD timepast)
+{
+ wButton_p b = (wButton_p)timer;
+ if (b->timer_id == 0) {
+ b->timer_state = STOP_TIMER;
+ return ;
+ }
+
+ /* Autorepeat state machine */
+ switch (b->timer_state) {
+ case INITIAL_WAIT:
+ b->timer_state = SLOW_REPEATS;
+ b->timer_count = 0;
+ KillTimer(hWnd, (UINT_PTR)b);
+ SetTimer(hWnd, (UINT_PTR)b, REPEAT_STAGE1_DELAY, buttTimer);
+ break;
+ case SLOW_REPEATS: /* Enable slow auto-repeat */
+ if (b->timer_count++ > 10) {
+ /* Start fast auto-repeat */
+ b->timer_state = FAST_REPEATS;
+ KillTimer(hWnd, (UINT_PTR)b);
+ SetTimer(hWnd, (UINT_PTR)b, REPEAT_STAGE2_DELAY, buttTimer);
+ }
+ break;
+ case FAST_REPEATS:
+ break;
+ case STOP_TIMER:
+ default:
+ KillTimer(hWnd, (UINT_PTR)b);
+ b->timer_id = 0;
+ return;
+ break;
+ }
+ if (b->action) {
+ b->action(b->data);
+ }
+ return;
+}
static LRESULT buttPush( wControl_p b, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
@@ -240,7 +313,7 @@ static LRESULT buttPush( wControl_p b, HWND hWnd, UINT message, WPARAM wParam, L
case WM_COMMAND:
if (bb->action /*&& !bb->busy*/) {
bb->action( bb->data );
- return 0L;
+ return (LRESULT)0;
}
break;
@@ -249,10 +322,10 @@ static LRESULT buttPush( wControl_p b, HWND hWnd, UINT message, WPARAM wParam, L
if (bb->type != B_BUTTON || (bb->option & BO_ICON) == 0)
break;
mi->CtlType = ODT_BUTTON;
- mi->CtlID = wParam;
+ mi->CtlID = (UINT)wParam;
mi->itemWidth = (UINT)ceil(bb->w*scaleIcon);
mi->itemHeight = (UINT)ceil(bb->h*scaleIcon);
- } return 0L;
+ } return (LRESULT)0;
case WM_DRAWITEM:
if (bb->type == B_BUTTON && (bb->option & BO_ICON) != 0) {
@@ -261,10 +334,9 @@ static LRESULT buttPush( wControl_p b, HWND hWnd, UINT message, WPARAM wParam, L
bb->selected = selected;
InvalidateRgn( bb->hWnd, NULL, FALSE );
}
- return TRUE;
+ return (LRESULT)TRUE;
}
break;
-
}
return DefWindowProc( hWnd, message, wParam, lParam );
}
@@ -279,15 +351,12 @@ static void buttDone(
LRESULT CALLBACK pushButt(
HWND hWnd,
UINT message,
- UINT wParam,
- LONG lParam )
+ WPARAM wParam,
+ LPARAM lParam )
{
/* Catch <Return> and cause focus to leave control */
-#ifdef WIN32
- long inx = GetWindowLong( hWnd, GWL_ID );
-#else
- short inx = GetWindowWord( hWnd, GWW_ID );
-#endif
+
+ wIndex_t inx = (wIndex_t)GetWindowLongPtr( hWnd, GWL_ID );
wButton_p b = (wButton_p)mswMapIndex( inx );
PAINTSTRUCT ps;
@@ -297,7 +366,7 @@ LRESULT CALLBACK pushButt(
BeginPaint( hWnd, &ps );
buttDrawIcon( (wButton_p)b, ps.hdc );
EndPaint( hWnd, &ps );
- return 1L;
+ return (LRESULT)1;
}
break;
case WM_CHAR:
@@ -311,18 +380,29 @@ LRESULT CALLBACK pushButt(
wParam, lParam );
/*SendMessage( ((wControl_p)(b->parent))->hWnd, WM_COMMAND,
inx, MAKELONG( hWnd, EN_KILLFOCUS ) );*/
- return 0L;
+ return (LONG_PTR)0;
}
}
break;
case WM_KILLFOCUS:
if ( b )
InvalidateRect( b->hWnd, NULL, TRUE );
- return 0L;
+ return (LRESULT)0;
+ break;
+ case WM_LBUTTONDOWN:
+ if (b->option&BO_REPEAT) {
+ SetTimer(hWnd, (UINT_PTR)b,REPEAT_STAGE0_DELAY,buttTimer);
+ b->timer_state = INITIAL_WAIT;
+ b->timer_id = (UINT_PTR)b;
+ }
break;
- case WM_LBUTTONUP:
- /* don't know why but this solves a problem with color selection */
- Sleep( 0 );
+ case WM_LBUTTONUP:
+ /* don't know why but this solves a problem with color selection */
+ Sleep( 0 );
+ if (b->timer_id)
+ KillTimer(hWnd, (UINT_PTR)b);
+ b->timer_id = 0;
+ b->timer_state = STOP_TIMER;
break;
}
return CallWindowProc( oldButtProc, hWnd, message, wParam, lParam );
@@ -335,12 +415,12 @@ static callBacks_t buttonCallBacks = {
wButton_p wButtonCreate(
wWin_p parent,
- POS_T x,
- POS_T y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
- wPos_t width,
+ wWinPix_t width,
wButtonCallBack_p action,
void * data )
{
@@ -366,11 +446,11 @@ wButton_p wButtonCreate(
b->selected = 0;
mswComputePos( (wControl_p)b, x, y );
if (b->option&BO_ICON) {
- width = (wPos_t)ceil(bm->w*scaleIcon)+10;
+ width = (wWinPix_t)ceil(bm->w*scaleIcon)+10;
h = (int)ceil(bm->h*scaleIcon)+10;
b->icon = bm;
} else {
- width = (wPos_t)(width*mswScale);
+ width = (wWinPix_t)(width*mswScale);
}
style = ((b->option&BO_ICON)? BS_OWNERDRAW : BS_PUSHBUTTON) |
WS_CHILD | WS_VISIBLE |
@@ -379,7 +459,7 @@ wButton_p wButtonCreate(
style |= BS_DEFPUSHBUTTON;
b->hWnd = CreateWindow( "BUTTON", labelStr, style, b->x, b->y,
/*CW_USEDEFAULT, CW_USEDEFAULT,*/ width, h,
- ((wControl_p)parent)->hWnd, (HMENU)index, mswHInst, NULL );
+ ((wControl_p)parent)->hWnd, (HMENU)(UINT_PTR)index, mswHInst, NULL );
if (b->hWnd == NULL) {
mswFail("CreateWindow(BUTTON)");
return b;
@@ -393,7 +473,10 @@ wButton_p wButtonCreate(
mswCallBacks[B_BUTTON] = &buttonCallBacks;
mswChainFocus( (wControl_p)b );
- oldButtProc = (WNDPROC) SetWindowLongPtr(b->hWnd, GWL_WNDPROC, (LONG_PTR)&pushButt);
+ oldButtProc = (WNDPROC)SetWindowLongPtr(b->hWnd, GWLP_WNDPROC, (LONG_PTR)&pushButt);
+#ifdef _OLDCODE
+ oldButtProc = (WNDPROC)SetWindowLongPtr(b->hWnd, GWL_WNDPROC, (LONG_PTR)&pushButt);
+#endif
if (mswPalette) {
hDc = GetDC( b->hWnd );
SelectPalette( hDc, mswPalette, 0 );
@@ -401,7 +484,7 @@ wButton_p wButtonCreate(
ReleaseDC( b->hWnd, hDc );
}
if ( !mswThickFont )
- SendMessage( b->hWnd, WM_SETFONT, (WPARAM)mswLabelFont, 0L );
+ SendMessage( b->hWnd, WM_SETFONT, (WPARAM)mswLabelFont, (LPARAM)0 );
InvalidateRect(b->hWnd, &rect, TRUE);
diff --git a/app/wlib/mswlib/mswchoic.c b/app/wlib/mswlib/mswchoic.c
index 2ac391a..55ed177 100644
--- a/app/wlib/mswlib/mswchoic.c
+++ b/app/wlib/mswlib/mswchoic.c
@@ -15,8 +15,8 @@
*****************************************************************************
*/
-int CHOICE_HEIGHT=(17);
-int CHOICE_MIN_WIDTH=25;
+#define CHOICE_HEIGHT (17)
+#define CHOICE_MIN_WIDTH (25)
static XWNDPROC oldChoiceItemProc = NULL;
static XWNDPROC newChoiceItemProc;
@@ -28,7 +28,7 @@ typedef struct {
struct wChoice_t {
WOBJ_COMMON
- const char * * labels;
+ const char * const * labels;
wChoiceItem_p *buttList;
long *valueP;
long oldVal;
@@ -42,14 +42,14 @@ void wRadioSetValue(
wChoice_p bc,
long val )
{
- const char ** labels;
+ const char * const * labels;
long cnt;
wChoiceItem_p * butts;
butts = (wChoiceItem_p*)bc->buttList;
for (labels = bc->labels, cnt=0; *labels; labels++, cnt++, butts++ )
SendMessage( (*butts)->hWnd, BM_SETCHECK,
- (val==cnt)?1:0, 0L );
+ (WPARAM)((val==cnt)?1:0), (LPARAM)0 );
bc->oldVal = val;
if (bc->valueP)
*bc->valueP = val;
@@ -67,14 +67,14 @@ void wToggleSetValue(
wChoice_p bc,
long val )
{
- const char ** labels;
+ const char * const * labels;
long cnt;
wChoiceItem_p * butts;
butts = (wChoiceItem_p*)bc->buttList;
for (labels = bc->labels, cnt=0; *labels; labels++, cnt++, butts++ )
SendMessage( (*butts)->hWnd, BM_SETCHECK,
- (val & (1L<<cnt)) != 0, 0L );
+ (WPARAM)((val & (1L<<cnt)) != 0), (LPARAM)0 );
bc->oldVal = val;
if (bc->valueP)
*bc->valueP = val;
@@ -115,12 +115,12 @@ static void choiceShow(
static void choiceSetPos(
wControl_p b,
- wPos_t x,
- wPos_t y )
+ wWinPix_t x,
+ wWinPix_t y )
{
wChoice_p bc = (wChoice_p)b;
wChoiceItem_p * butts;
- wPos_t dx, dy;
+ wWinPix_t dx, dy;
dx = x - bc->x;
dy = y - bc->y;
@@ -129,8 +129,10 @@ static void choiceSetPos(
SWP_NOSIZE|SWP_NOZORDER );
for (butts = (wChoiceItem_p*)bc->buttList; *butts; butts++ ) {
+ (*butts)->x += dx;
+ (*butts)->y += dy;
SetWindowPos( (*butts)->hWnd, HWND_TOP,
- (*butts)->x+=dx, (*butts)->y+=dy,
+ (*butts)->x, (*butts)->y,
CW_USEDEFAULT, CW_USEDEFAULT,
SWP_NOSIZE|SWP_NOZORDER );
}
@@ -138,19 +140,14 @@ static void choiceSetPos(
bc->y = y;
}
-long FAR PASCAL _export pushChoiceItem(
+LRESULT FAR PASCAL _export pushChoiceItem(
HWND hWnd,
UINT message,
- UINT wParam,
- LONG lParam )
+ WPARAM wParam,
+ LPARAM lParam )
{
/* Catch <Return> and cause focus to leave control */
-#ifdef WIN32
- long inx = GetWindowLong( hWnd, GWL_ID );
-#else
- short inx = GetWindowWord( hWnd, GWW_ID );
-#endif
-
+ wIndex_t inx = (wIndex_t)GetWindowLongPtr( hWnd, GWL_ID );
wControl_p b = mswMapIndex( inx );
switch (message) {
@@ -165,7 +162,7 @@ long FAR PASCAL _export pushChoiceItem(
wParam, lParam );
/*SendMessage( ((wControl_p)(b->parent))->hWnd, WM_COMMAND,
inx, MAKELONG( hWnd, EN_KILLFOCUS ) );*/
- return 0L;
+ return (LRESULT)0;
}
}
break;
@@ -194,20 +191,20 @@ LRESULT choiceItemProc(
for (rest = (wChoiceItem_p*)bc->buttList; *rest; rest++ ) {
switch (bc->type) {
case B_TOGGLE:
- num = rest-(wChoiceItem_p*)bc->buttList;
+ num = (int)(rest-(wChoiceItem_p*)bc->buttList);
if (*rest == me) {
bc->oldVal ^= (1L<<num);
}
SendMessage( (*rest)->hWnd, BM_SETCHECK,
- (bc->oldVal & (1L<<num)) != 0, 0L );
+ (WPARAM)((bc->oldVal & (1L<<num)) != 0), (LPARAM)0 );
break;
case B_RADIO:
if (*rest != me) {
- SendMessage( (*rest)->hWnd, BM_SETCHECK, 0, 0L );
+ SendMessage( (*rest)->hWnd, BM_SETCHECK, (WPARAM)0, (LPARAM)0 );
} else {
- bc->oldVal = rest-(wChoiceItem_p*)bc->buttList;
- SendMessage( (*rest)->hWnd, BM_SETCHECK, 1, 0L );
+ bc->oldVal = (long)(rest-(wChoiceItem_p*)bc->buttList);
+ SendMessage( (*rest)->hWnd, BM_SETCHECK, (WPARAM)1, (LPARAM)0 );
}
break;
}
@@ -259,25 +256,25 @@ static callBacks_t choiceItemCallBacks = {
static wChoice_p choiceCreate(
wType_e type,
wWin_p parent,
- POS_T x,
- POS_T y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
- const char **labels,
+ const char * const * labels,
long *valueP,
wChoiceCallBack_p action,
void *data )
{
wChoice_p b;
- const char ** lp;
+ const char * const * lp;
int cnt;
wChoiceItem_p * butts;
- int ppx, ppy;
+ wWinPix_t ppx, ppy;
int bs;
HDC hDc;
HWND hButt;
- int lab_l;
+ size_t lab_l;
DWORD dw;
int w, maxW;
int pw, ph;
@@ -319,7 +316,7 @@ static wChoice_p choiceCreate(
(*butts)->hWnd = hButt = CreateWindow( "BUTTON", (*butts)->labelStr,
bs | WS_CHILD | WS_VISIBLE | mswGetBaseStyle(parent), b->x+pw, b->y+ph,
80, CHOICE_HEIGHT,
- ((wControl_p)parent)->hWnd, (HMENU)index, mswHInst, NULL );
+ ((wControl_p)parent)->hWnd, (HMENU)(UINT_PTR)index, mswHInst, NULL );
if ( hButt == (HWND)0 ) {
mswFail( "choiceCreate button" );
return b;
@@ -334,7 +331,7 @@ static wChoice_p choiceCreate(
lab_l = strlen((*butts)->labelStr);
if (!mswThickFont) {hFont = SelectObject( hDc, mswLabelFont );}
- dw = GetTextExtent( hDc, (char *)((*butts)->labelStr), lab_l );
+ dw = GetTextExtent( hDc, (char *)((*butts)->labelStr), (UINT)lab_l );
if (!mswThickFont) {SelectObject( hDc, hFont );}
w = LOWORD(dw) + CHOICE_MIN_WIDTH;
@@ -354,10 +351,14 @@ static wChoice_p choiceCreate(
}
mswChainFocus( (wControl_p)*butts );
newChoiceItemProc = MakeProcInstance( (XWNDPROC)pushChoiceItem, mswHInst );
- oldChoiceItemProc = (XWNDPROC)GetWindowLong( (*butts)->hWnd, GWL_WNDPROC );
- SetWindowLong( (*butts)->hWnd, GWL_WNDPROC, (LONG)newChoiceItemProc );
+ oldChoiceItemProc = (XWNDPROC)GetWindowLongPtr((*butts)->hWnd, GWLP_WNDPROC);
+ SetWindowLongPtr((*butts)->hWnd, GWLP_WNDPROC, (LPARAM)newChoiceItemProc);
+#ifdef _OLDCODE
+ oldChoiceItemProc = (XWNDPROC)GetWindowLong((*butts)->hWnd, GWL_WNDPROC);
+ SetWindowLong((*butts)->hWnd, GWL_WNDPROC, (LONG)newChoiceItemProc);
+#endif
if ( !mswThickFont )
- SendMessage( (*butts)->hWnd, WM_SETFONT, (WPARAM)mswLabelFont, 0L );
+ SendMessage( (*butts)->hWnd, WM_SETFONT, (WPARAM)mswLabelFont, (LPARAM)0 );
}
*butts = NULL;
switch (b->type) {
@@ -392,12 +393,12 @@ static wChoice_p choiceCreate(
wChoice_p wRadioCreate(
wWin_p parent,
- POS_T x,
- POS_T y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
- const char **labels,
+ const char * const *labels,
long *valueP,
wChoiceCallBack_p action,
void *data )
@@ -408,12 +409,12 @@ wChoice_p wRadioCreate(
wChoice_p wToggleCreate(
wWin_p parent,
- POS_T x,
- POS_T y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
- const char **labels,
+ const char * const *labels,
long *valueP,
wChoiceCallBack_p action,
void *data )
diff --git a/app/wlib/mswlib/mswcolor.c b/app/wlib/mswlib/mswcolor.c
index 41bf6a9..fb9b0ba 100644
--- a/app/wlib/mswlib/mswcolor.c
+++ b/app/wlib/mswlib/mswcolor.c
@@ -25,8 +25,8 @@
#define NUM_GRAYS (16)
#define NUM_COLORS (256)
-wDrawColor wDrawColorWhite = 0;
-wDrawColor wDrawColorBlack = 1;
+static wDrawColor wDrawColorWhite = 0;
+static wDrawColor wDrawColorBlack = 1;
#define MAX_COLOR_DISTANCE (3)
@@ -45,8 +45,6 @@ static struct {
{ 0, 0, 0 } /* Black */
} };
-COLORREF mappedColors[NUM_COLORS];
-
static long flipRGB( long rgb )
{
@@ -236,6 +234,7 @@ static void mswGetCustomColors( void )
strcpy( colorName, "custom-" );
for ( inx=0; inx<16; inx++ ) {
sprintf( colorName+7, "%d", inx );
+ /** @prefs [mswcolor] custom-0=<rgb> to custom-15=<rgb> Set custom colors */
wPrefGetInteger( "mswcolor", colorName, &rgb, 0 );
aclrCust[inx] = flipRGB(rgb);
}
@@ -316,12 +315,12 @@ static void doColorButton(
wButton_p wColorSelectButtonCreate(
wWin_p win,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
- wPos_t width,
+ wWinPix_t width,
wDrawColor * color,
wColorSelectButtonCallBack_p action,
void * data )
diff --git a/app/wlib/mswlib/mswdraw.c b/app/wlib/mswlib/mswdraw.c
index c2739e6..be5bcd6 100644
--- a/app/wlib/mswlib/mswdraw.c
+++ b/app/wlib/mswlib/mswdraw.c
@@ -29,13 +29,8 @@
#include <math.h>
#include <winuser.h>
-#ifdef WIN32
#define wFont_t tagLOGFONTA
-#else
-#define wFont_t tagLOGFONT
-#endif
-#include "misc.h"
#include "mswint.h"
#include <FreeImage.h>
@@ -48,9 +43,9 @@ wBool_t wDrawDoTempDraw = TRUE;
*****************************************************************************
*/
-static wBool_t initted = FALSE;
+#define M_PI 3.14159265358979323846
-long wDebugFont;
+static wBool_t initted = FALSE;
static FARPROC oldDrawProc;
@@ -59,69 +54,53 @@ static long tmpOp = 0x990066;
static long setOp = 0x8800c6;
static long clrOp = 0xbb0226;
-#define CENTERMARK_LENGTH 6
+#define CENTERMARK_LENGTH 4
-bool bDrawMainBM = 0;
+static bool bDrawMainBM = 0;
+
+typedef struct {
+ double x, y;
+} coOrd;
#ifdef SLOW
-static wPos_t XPIX2INCH( wDraw_p d, int ix )
+static wDrawPix_t XWINPIX2DRAWPIX( wDraw_p d, wWinPix_t ix )
{
- return (wPos_t)ix;
+ return (wDrawPix_t)ix;
}
-static wPos_t YPIX2INCH( wDraw_p d, int iy )
+static wDrawPix_t YWINPIX2DRAWPIX( wDraw_p d, wWinPix_t iy )
{
- wPos_t y;
- y = (wPos_t)(d->h-2-iy);
+ wWinPix_t y;
+ y = (wDrawPix_t)(d->h-2-iy);
return y;
}
-static int XINCH2PIX( wDraw_p d, wPos_t xx )
+static wWinPix_t XDRAWPIX2WINPIX( wDraw_p d, wDrawPix_t xx )
{
- int ix;
- ix = (int)(xx);
+ wWinPix_t ix;
+ ix = (wWinPix_t)(xx);
return ix;
}
-static int YINCH2PIX( wDraw_p d, wPos_t y )
+static wWinPix_t YDRAWPIX2WINPIX( wDraw_p d, wDrawPix_t y )
{
- int iy;
- iy = d->h-2 - (int)(y);
+ wWinPix_t iy;
+ iy = (d->h)-2 - (wWinPix_t)(y);
return iy;
}
-
-static wPos_t XPIXELSTOINCH( wDraw_p d, int ix )
-{
- return (wPos_t)ix;
-}
-
-
-static wPos_t YPIXELSTOINCH( wDraw_p d, int iy )
-{
- return (wPos_t)iy;
-}
#else
-#define XPIX2INCH( d, ix ) \
- ((wPos_t)ix)
-
-#define YPIX2INCH( d, iy ) \
- ((wPos_t)(d->h-2-iy))
-
-#define XINCH2PIX( d, xx ) \
- ((int)(xx))
-
-#define YINCH2PIX( d, y ) \
- (d->h-2 - (int)(y))
+#define XWINPIX2DRAWPIX( d, ix ) \
+ ((wDrawPix_t)ix)
+#define YWINPIX2DRAWPIX( d, iy ) \
+ ((wDrawPix_t)(d->h-2-iy))
-#define XPIXELSTOINCH( d, ix ) \
- ((wPos_t)ix)
-
-
-#define YPIXELSTOINCH( d, iy ) \
- ((wPos_t)iy)
+#define XDRAWPIX2WINPIX( d, xx ) \
+ ((wWinPix_t)(xx))
+#define YDRAWPIX2WINPIX( d, y ) \
+ (d->h - 2 - (wWinPix_t)(y))
#endif
/*
@@ -134,7 +113,9 @@ static wPos_t YPIXELSTOINCH( wDraw_p d, int iy )
+/** @prefs [msw tweak] NoNegDrawArgs=1 Suppress drawing if x < 0 or y < 0 (-1 value causes preference read) */
static long noNegDrawArgs = -1;
+/** @prefs [msw tweak] NoFlatEndCaps=1 Suppress EndCap Flat pen style */
static long noFlatEndCaps = 0;
void wDrawDelayUpdate(
@@ -323,10 +304,10 @@ static int clip0( POINT * p0, POINT * p1, wDraw_p d )
void wDrawLine(
wDraw_p d,
- wPos_t p0x,
- wPos_t p0y,
- wPos_t p1x,
- wPos_t p1y,
+ wDrawPix_t p0x,
+ wDrawPix_t p0y,
+ wDrawPix_t p1x,
+ wDrawPix_t p1y,
wDrawWidth dw,
wDrawLineType_e lt,
wDrawColor dc,
@@ -335,10 +316,10 @@ void wDrawLine(
POINT p0, p1;
RECT rect;
setDrawMode( d, dw, lt, dc, dopt );
- p0.x = XINCH2PIX(d,p0x);
- p0.y = YINCH2PIX(d,p0y);
- p1.x = XINCH2PIX(d,p1x);
- p1.y = YINCH2PIX(d,p1y);
+ p0.x = XDRAWPIX2WINPIX(d,p0x);
+ p0.y = YDRAWPIX2WINPIX(d,p0y);
+ p1.x = XDRAWPIX2WINPIX(d,p1x);
+ p1.y = YDRAWPIX2WINPIX(d,p1y);
if ( noNegDrawArgs>0 && !clip0( &p0, &p1, d ) )
return;
MoveTo( d->hDc, p0.x, p0.y );
@@ -365,6 +346,12 @@ void wDrawLine(
}
}
+static double d2r(double angle)
+{
+ angle *= (M_PI / 180.0);
+ return angle;
+}
+
static double mswsin( double angle )
{
while (angle < 0.0) angle += 360.0;
@@ -406,12 +393,12 @@ static double mswasin( double x, double h )
void wDrawArc(
wDraw_p d,
- wPos_t px,
- wPos_t py,
- wPos_t r,
+ wDrawPix_t px,
+ wDrawPix_t py,
+ wDrawPix_t r,
double a0,
double a1,
- int drawCenter,
+ int sizeCenter,
wDrawWidth dw,
wDrawLineType_e lt,
wDrawColor dc,
@@ -419,19 +406,16 @@ void wDrawArc(
{
int i, cnt;
POINT p0, p1, ps, pe, pp0, pp1, pp2, pc;
- double psx, psy, pex, pey, len, aa;
+ wDrawPix_t psx, psy, pex, pey;
+ double len, aa, ai;
RECT rect;
int needMoveTo;
wBool_t fakeArc = FALSE;
- len = a1/360.0 * (2 * M_PI) * r;
- if (len < 3)
- return;
-
- p0.x = XINCH2PIX(d,px-r);
- p0.y = YINCH2PIX(d,py+r)+1;
- p1.x = XINCH2PIX(d,px+r);
- p1.y = YINCH2PIX(d,py-r)+1;
+ p0.x = XDRAWPIX2WINPIX(d,px-r);
+ p0.y = YDRAWPIX2WINPIX(d,py+r);
+ p1.x = XDRAWPIX2WINPIX(d,px+r);
+ p1.y = YDRAWPIX2WINPIX(d,py-r);
pex = px + r * mswsin(a0);
pey = py + r * mswcos(a0);
@@ -440,17 +424,18 @@ void wDrawArc(
/*pointOnCircle( &pe, p, r, a0 );
pointOnCircle( &ps, p, r, a0+a1 );*/
- ps.x = XINCH2PIX(d,(wPos_t)psx);
- ps.y = YINCH2PIX(d,(wPos_t)psy);
- pe.x = XINCH2PIX(d,(wPos_t)pex);
- pe.y = YINCH2PIX(d,(wPos_t)pey);
+ ps.x = XDRAWPIX2WINPIX(d,psx);
+ ps.y = YDRAWPIX2WINPIX(d,psy);
+ pe.x = XDRAWPIX2WINPIX(d,pex);
+ pe.y = YDRAWPIX2WINPIX(d,pey);
setDrawMode( d, dw, lt, dc, dopt );
if (dw == 0)
dw = 1;
- if (r>4096) {
+ /* Windows drawing will overshoot the end of the arc for large radius */
+ if (r > 500) {
/* The book says 32K but experience says otherwise */
fakeArc = TRUE;
}
@@ -459,21 +444,23 @@ void wDrawArc(
fakeArc = TRUE;
}
if ( fakeArc ) {
- cnt = (int)a1;
+ cnt = (int)(a1 / 2);
if ( cnt <= 0 ) cnt = 1;
- if ( cnt > 360 ) cnt = 360;
- aa = a1 / cnt;
- psx = px + r * mswsin(a0);
- psy = py + r * mswcos(a0);
- pp0.x = XINCH2PIX( d, (wPos_t)psx );
- pp0.y = YINCH2PIX( d, (wPos_t)psy );
+ if ( cnt > 180 ) cnt = 180;
+ // Convert a0 and a1 to radians here
+ ai = d2r(a1) / cnt;
+ aa = d2r(a0);
+ psx = px + r * sin(aa);
+ psy = py + r * cos(aa);
+ pp0.x = XDRAWPIX2WINPIX( d, psx );
+ pp0.y = YDRAWPIX2WINPIX( d, psy );
needMoveTo = TRUE;
for ( i=0; i<cnt; i++ ) {
- a0 += aa;
- psx = px + r * mswsin(a0);
- psy = py + r * mswcos(a0);
- pp2.x = pp1.x = XINCH2PIX( d, (wPos_t)psx );
- pp2.y = pp1.y = YINCH2PIX( d, (wPos_t)psy );
+ aa += ai;
+ psx = px + r * sin(aa);
+ psy = py + r * cos(aa);
+ pp2.x = pp1.x = XDRAWPIX2WINPIX( d, psx );
+ pp2.y = pp1.y = YDRAWPIX2WINPIX( d, psy );
if ( clip0( &pp0, &pp1, d ) ) {
if (needMoveTo) {
MoveTo( d->hDc, pp0.x, pp0.y );
@@ -487,30 +474,30 @@ void wDrawArc(
}
} else {
if ( a0 == 0.0 && a1 == 360.0 ) {
- Arc( d->hDc, p0.x, p1.y, p1.x, p0.y, ps.x, p0.y-1, pe.x, p1.y-1 );
- Arc( d->hDc, p0.x, p1.y, p1.x, p0.y, ps.x, p1.y-1, pe.x, p0.y-1 );
+ Arc( d->hDc, p0.x, p1.y, p1.x, p0.y, ps.x, p0.y, pe.x, p1.y );
+ Arc( d->hDc, p0.x, p1.y, p1.x, p0.y, ps.x, p1.y, pe.x, p0.y );
} else {
Arc( d->hDc, p0.x, p1.y, p1.x, p0.y, ps.x, ps.y, pe.x, pe.y );
}
}
// should the center of the arc be drawn?
- if( drawCenter ) {
+ if( sizeCenter ) {
// calculate the center coordinates
- pc.x = XINCH2PIX( d, px );
- pc.y = YINCH2PIX( d, py );
+ pc.x = XDRAWPIX2WINPIX( d, px );
+ pc.y = YDRAWPIX2WINPIX( d, py );
// now draw the crosshair
- MoveTo( d->hDc, pc.x - CENTERMARK_LENGTH/2, pc.y );
- LineTo( d->hDc, pc.x + CENTERMARK_LENGTH/2, pc.y );
- MoveTo( d->hDc, pc.x, pc.y - CENTERMARK_LENGTH/2 );
- LineTo( d->hDc, pc.x, pc.y + CENTERMARK_LENGTH/2 );
+ MoveTo( d->hDc, pc.x - CENTERMARK_LENGTH*sizeCenter, pc.y );
+ LineTo( d->hDc, pc.x + CENTERMARK_LENGTH*sizeCenter, pc.y );
+ MoveTo( d->hDc, pc.x, pc.y - CENTERMARK_LENGTH*sizeCenter );
+ LineTo( d->hDc, pc.x, pc.y + CENTERMARK_LENGTH*sizeCenter );
// invalidate the area of the crosshair
- rect.top = pc.y - CENTERMARK_LENGTH / 2 - 1;
- rect.bottom = pc.y + CENTERMARK_LENGTH / 2 + 1;
- rect.left = pc.x - CENTERMARK_LENGTH / 2 - 1;
- rect.right = pc.x + CENTERMARK_LENGTH / 2 + 1;
+ rect.top = pc.y - CENTERMARK_LENGTH*sizeCenter - 1;
+ rect.bottom = pc.y + CENTERMARK_LENGTH*sizeCenter + 1;
+ rect.left = pc.x - CENTERMARK_LENGTH*sizeCenter - 1;
+ rect.right = pc.x + CENTERMARK_LENGTH*sizeCenter + 1;
myInvalidateRect( d, &rect );
}
@@ -544,16 +531,16 @@ void wDrawArc(
void wDrawPoint(
wDraw_p d,
- wPos_t px,
- wPos_t py,
+ wDrawPix_t px,
+ wDrawPix_t py,
wDrawColor dc,
wDrawOpts dopt )
{
POINT p0;
RECT rect;
- p0.x = XINCH2PIX(d,px);
- p0.y = YINCH2PIX(d,py);
+ p0.x = XDRAWPIX2WINPIX(d,px);
+ p0.y = YDRAWPIX2WINPIX(d,py);
if ( p0.x < 0 || p0.y < 0 )
return;
@@ -707,7 +694,9 @@ void mswFontInit( void )
{
const char * face;
long size;
+ /** @prefs [msw window font] face=FontName */
face = wPrefGetString( "msw window font", "face" );
+ /** @prefs [msw window font] size=-24 */
wPrefGetInteger( "msw window font", "size", &size, -24 );
if (face) {
strncpy( logFont.lfFaceName, face, LF_FACESIZE );
@@ -750,16 +739,16 @@ static int computeFontSize( wDraw_p d, double siz )
}
void wDrawGetTextSize(
- wPos_t *w,
- wPos_t *h,
- wPos_t *d,
- wPos_t *a,
+ wDrawPix_t *w,
+ wDrawPix_t *h,
+ wDrawPix_t *d,
+ wDrawPix_t *a,
wDraw_p bd,
const char * text,
wFont_p fp,
double siz )
{
- int x, y;
+ wWinPix_t x, y;
HFONT newFont, prevFont;
DWORD extent;
int oldLfHeight;
@@ -773,16 +762,16 @@ void wDrawGetTextSize(
fp->lfWidth = 0;
newFont = CreateFontIndirect( fp );
prevFont = SelectObject( bd->hDc, newFont );
- extent = GetTextExtent( bd->hDc, CAST_AWAY_CONST text, strlen(text) );
+ extent = GetTextExtent( bd->hDc, CAST_AWAY_CONST text, (int)(strlen(text)) );
GetTextMetrics(bd->hDc, &textMetric);
x = LOWORD(extent);
y = HIWORD(extent);
- *w = XPIXELSTOINCH( bd, x );
- *h = YPIXELSTOINCH( bd, y );
- *d = YPIXELSTOINCH(bd, textMetric.tmDescent );
- *a = YPIXELSTOINCH(bd, textMetric.tmAscent );
+ *w = (wDrawPix_t)x;
+ *h = (wDrawPix_t)y;
+ *d = (wDrawPix_t)textMetric.tmDescent;
+ *a = (wDrawPix_t)textMetric.tmAscent;
SelectObject( bd->hDc, prevFont );
DeleteObject( newFont );
@@ -803,8 +792,8 @@ void wDrawGetTextSize(
*/
void wDrawString(
wDraw_p d,
- wPos_t px,
- wPos_t py,
+ wDrawPix_t px,
+ wDrawPix_t py,
double angle,
const char * text,
wFont_p fp,
@@ -828,8 +817,8 @@ void wDrawString(
fp->lfHeight = computeFontSize(d, siz);
fp->lfWidth = 0;
newFont = CreateFontIndirect(fp);
- x = XINCH2PIX(d,px) + (int)(mswsin(angle)*fp->lfHeight-0.5);
- y = YINCH2PIX(d,py) + (int)(mswcos(angle)*fp->lfHeight-0.5);
+ x = XDRAWPIX2WINPIX(d,px) + (int)(mswsin(angle)*fp->lfHeight-0.5);
+ y = YDRAWPIX2WINPIX(d,py) + (int)(mswcos(angle)*fp->lfHeight-0.5);
if (noNegDrawArgs > 0 && (x < 0 || y < 0)) {
DeleteObject(newFont);
@@ -843,7 +832,7 @@ void wDrawString(
if (dopts & wDrawOutlineFont) {
HPEN oldPen;
BeginPath(d->hDc);
- TextOut(d->hDc, x, y, text, strlen(text));
+ TextOut(d->hDc, x, y, text, (int)strlen(text));
EndPath(d->hDc);
// Now draw outline text
@@ -857,11 +846,11 @@ void wDrawString(
old = SetTextColor(d->hDc, mswGetColor(d->hasPalette,
dc));
- TextOut(d->hDc, x, y, text, strlen(text));
+ TextOut(d->hDc, x, y, text, (int)(strlen(text)));
SetTextColor(d->hDc, old);
}
- extent = GetTextExtent(d->hDc, CAST_AWAY_CONST text, strlen(text));
+ extent = GetTextExtent(d->hDc, CAST_AWAY_CONST text, (int)(strlen(text)));
SelectObject(d->hDc, prevFont);
w = LOWORD(extent);
h = HIWORD(extent);
@@ -925,10 +914,10 @@ void wSetSelectedFontSize(wFontSize_t size)
void wDrawFilledRectangle(
wDraw_p d,
- wPos_t px,
- wPos_t py,
- wPos_t sx,
- wPos_t sy,
+ wDrawPix_t px,
+ wDrawPix_t py,
+ wDrawPix_t sx,
+ wDrawPix_t sy,
wDrawColor color,
wDrawOpts opts )
{
@@ -944,10 +933,10 @@ void wDrawFilledRectangle(
mode = R2_COPYPEN;
}
SetROP2(d->hDc, mode);
- rect.left = XINCH2PIX(d,px);
- rect.right = XINCH2PIX(d,px+sx);
- rect.top = YINCH2PIX(d,py+sy);
- rect.bottom = YINCH2PIX(d,py);
+ rect.left = XDRAWPIX2WINPIX(d,px);
+ rect.right = XDRAWPIX2WINPIX(d,px+sx);
+ rect.top = YDRAWPIX2WINPIX(d,py+sy);
+ rect.bottom = YDRAWPIX2WINPIX(d,py);
if ( rect.right < 0 ||
rect.bottom < 0 )
return;
@@ -1000,8 +989,8 @@ static void addPoint(
BYTE type, RECT * pr)
{
POINT p;
- p.x = XINCH2PIX(d, pp->x);
- p.y = YINCH2PIX(d, pp->y);
+ p.x = XDRAWPIX2WINPIX(d, pp->x);
+ p.y = YDRAWPIX2WINPIX(d, pp->y);
#ifdef DRAWFILLPOLYLOG
fprintf(logF, " q[%d] = {%d,%d}\n", pk, p.x, p.y);
@@ -1042,7 +1031,7 @@ static void addPoint(
void wDrawPolygon(
wDraw_p d,
- wPos_t node[][2],
+ wDrawPix_t node[][2],
wPolyLine_e type[],
wIndex_t cnt,
wDrawColor color,
@@ -1088,8 +1077,8 @@ void wDrawPolygon(
setDrawMode(d, dw, lt, color, opts);
}
- rect.left = rect.right = XINCH2PIX(d,node[cnt-1][0]-1);
- rect.top = rect.bottom = YINCH2PIX(d,node[cnt-1][1]+1);
+ rect.left = rect.right = XDRAWPIX2WINPIX(d,node[cnt-1][0]-1);
+ rect.top = rect.bottom = YDRAWPIX2WINPIX(d,node[cnt-1][1]+1);
#ifdef DRAWFILLPOLYLOG
logF = fopen("log.txt", "a");
@@ -1110,10 +1099,10 @@ void wDrawPolygon(
nextNode = (i == cnt - 1) ? 0 : i + 1;
// calculate distance to neighboring nodes
- int prevXDistance = node[i][0] - node[prevNode][0];
- int prevYDistance = node[i][1] - node[prevNode][1];
- int nextXDistance = node[nextNode][0]-node[i][0];
- int nextYDistance = node[nextNode][1]-node[i][1];
+ int prevXDistance = (wWinPix_t)(node[i][0] - node[prevNode][0]);
+ int prevYDistance = (wWinPix_t)(node[i][1] - node[prevNode][1]);
+ int nextXDistance = (wWinPix_t)(node[nextNode][0]-node[i][0]);
+ int nextYDistance = (wWinPix_t)(node[nextNode][1]-node[i][1]);
// distance from node to endpoints of curve is half the line length
endPoint0.x = (prevXDistance/2)+node[prevNode][0];
@@ -1202,29 +1191,29 @@ void wDrawPolygon(
#define MAX_FILLCIRCLE_POINTS (30)
void wDrawFilledCircle(
wDraw_p d,
- wPos_t x,
- wPos_t y,
- wPos_t r,
+ wDrawPix_t x,
+ wDrawPix_t y,
+ wDrawPix_t r,
wDrawColor color,
wDrawOpts opts )
{
POINT p0, p1;
RECT rect;
- static wPos_t circlePts[MAX_FILLCIRCLE_POINTS][2];
+ static wDrawPix_t circlePts[MAX_FILLCIRCLE_POINTS][2];
int inx, cnt;
double dang;
- p0.x = XINCH2PIX(d,x-r);
- p0.y = YINCH2PIX(d,y+r)+1;
- p1.x = XINCH2PIX(d,x+r);
- p1.y = YINCH2PIX(d,y-r)+1;
+ p0.x = XDRAWPIX2WINPIX(d,x-r);
+ p0.y = YDRAWPIX2WINPIX(d,y+r);
+ p1.x = XDRAWPIX2WINPIX(d,x+r);
+ p1.y = YDRAWPIX2WINPIX(d,y-r);
setDrawBrush( d, color, opts );
if ( noNegDrawArgs > 0 && ( p0.x < 0 || p0.y < 0 ) ) {
if ( r > MAX_FILLCIRCLE_POINTS )
cnt = MAX_FILLCIRCLE_POINTS;
else if ( r > 8 )
- cnt = r;
+ cnt = XDRAWPIX2WINPIX(d,r);
else
cnt = 8;
dang = 360.0/cnt;
@@ -1308,8 +1297,8 @@ void wDrawClear( wDraw_p d )
void wDrawSetSize(
wDraw_p d,
- wPos_t width,
- wPos_t height, void * redraw)
+ wWinPix_t width,
+ wWinPix_t height, void * redraw)
{
d->w = width;
d->h = height;
@@ -1323,8 +1312,8 @@ void wDrawSetSize(
void wDrawGetSize(
wDraw_p d,
- wPos_t * width,
- wPos_t * height )
+ wWinPix_t * width,
+ wWinPix_t * height )
{
*width = d->w-2;
*height = d->h-2;
@@ -1349,17 +1338,17 @@ double wDrawGetMaxRadius( wDraw_p d )
void wDrawClip(
wDraw_p d,
- wPos_t x,
- wPos_t y,
- wPos_t w,
- wPos_t h )
+ wDrawPix_t x,
+ wDrawPix_t y,
+ wDrawPix_t w,
+ wDrawPix_t h )
{
- int ix0, iy0, ix1, iy1;
+ wWinPix_t ix0, iy0, ix1, iy1;
HRGN hRgnClip;
- ix0 = XINCH2PIX(d,x);
- iy0 = YINCH2PIX(d,y);
- ix1 = XINCH2PIX(d,x+w);
- iy1 = YINCH2PIX(d,y+h);
+ ix0 = XDRAWPIX2WINPIX(d,x);
+ iy0 = YDRAWPIX2WINPIX(d,y);
+ ix1 = XDRAWPIX2WINPIX(d,x+w);
+ iy1 = YDRAWPIX2WINPIX(d,y+h);
/* Note: Ydim is upside down so iy1<iy0 */
hRgnClip = CreateRectRgn( ix0, iy1, ix1, iy0 );
SelectClipRgn( d->hDc, hRgnClip );
@@ -1384,22 +1373,24 @@ void wRedraw( wDraw_p d )
struct wDrawBitMap_t {
wDrawBitMap_p next;
- wPos_t x;
- wPos_t y;
- wPos_t w;
- wPos_t h;
+ wDrawPix_t x;
+ wDrawPix_t y;
+ wDrawPix_t w;
+ wDrawPix_t h;
char * bmx;
wDrawColor color;
HBITMAP bm;
};
-wDrawBitMap_p bmRoot = NULL;
+static wDrawBitMap_p bmRoot = NULL;
+extern wDrawColor drawColorWhite;
+extern wDrawColor drawColorBlack;
void wDrawBitMap(
wDraw_p d,
wDrawBitMap_p bm,
- wPos_t px,
- wPos_t py,
+ wDrawPix_t px,
+ wDrawPix_t py,
wDrawColor dc,
wDrawOpts dopt )
{
@@ -1409,15 +1400,15 @@ void wDrawBitMap(
int x0, y0;
RECT rect;
- x0 = XINCH2PIX(d,px-bm->x);
- y0 = YINCH2PIX(d,py-bm->y+bm->h);
+ x0 = XDRAWPIX2WINPIX(d,px-bm->x);
+ y0 = YDRAWPIX2WINPIX(d,py-bm->y+bm->h);
#ifdef LATER
if ( noNegDrawArgs > 0 && ( x0 < 0 || y0 < 0 ) )
return;
#endif
- if (dc == wDrawColorWhite) {
+ if (dc == drawColorWhite) {
mode = clrOp;
- dc = wDrawColorBlack;
+ dc = drawColorBlack;
} else {
mode = setOp;
}
@@ -1426,21 +1417,21 @@ void wDrawBitMap(
if ( bm->bm )
DeleteObject( bm->bm );
bm->bm = mswCreateBitMap( mswGetColor(d->hasPalette,dc) /*colorPalette.palPalEntry[dc]*/, RGB( 255, 255, 255 ),
- RGB( 255, 255, 255 ), bm->w, bm->h, bm->bmx );
+ RGB( 255, 255, 255 ), (wWinPix_t)bm->w, (wWinPix_t)bm->h, bm->bmx );
bm->color = dc;
}
bmDc = CreateCompatibleDC( d->hDc );
setDrawMode( d, 0, wDrawLineSolid, dc, dopt );
oldBm = SelectObject( bmDc, bm->bm );
- BitBlt( d->hDc, x0, y0, bm->w, bm->h, bmDc, 0, 0, mode );
+ BitBlt( d->hDc, x0, y0, (wWinPix_t)bm->w, (wWinPix_t)bm->h, bmDc, 0, 0, mode );
SelectObject( bmDc, oldBm );
DeleteDC( bmDc );
if (d->hWnd) {
rect.top = y0-1;
- rect.bottom = rect.top+bm->h+1;
+ rect.bottom = rect.top+ (wWinPix_t)bm->h+1;
rect.left = x0-1;
- rect.right = rect.left+bm->w+1;
+ rect.right = rect.left+ (wWinPix_t)bm->w+1;
myInvalidateRect( d, &rect );
}
}
@@ -1484,22 +1475,18 @@ wDrawBitMap_p wDrawBitMapCreate(
*****************************************************************************
*/
-int doSetFocus = 1;
+static int doSetFocus = 1;
-long FAR PASCAL XEXPORT mswDrawPush(
+LRESULT FAR PASCAL XEXPORT mswDrawPush(
HWND hWnd,
UINT message,
- UINT wParam,
- LONG lParam )
+ WPARAM wParam,
+ LPARAM lParam )
{
-#ifdef WIN32
- long inx = GetWindowLong( hWnd, GWL_ID );
-#else
- short inx = GetWindowWord( hWnd, GWW_ID );
-#endif
+ wIndex_t inx = (wIndex_t)GetWindowLongPtr( hWnd, GWL_ID );
wDraw_p b;
- short int ix, iy;
- wPos_t x, y;
+ wWinPix_t ix, iy;
+ wDrawPix_t x, y;
HDC hDc;
PAINTSTRUCT ps;
wAction_t action;
@@ -1529,7 +1516,10 @@ long FAR PASCAL XEXPORT mswDrawPush(
}
b->wFactor = (double)GetDeviceCaps( b->hDc, LOGPIXELSX );
b->hFactor = (double)GetDeviceCaps( b->hDc, LOGPIXELSY );
- b->DPI = 96.0; /*min( b->wFactor, b->hFactor );*/
+ double dpi;
+ /** @prefs [Preference] ScreenDPI=96.0 Sets DPI of screen */
+ wPrefGetFloat(PREFSECTION, DPISET, &dpi, 96.0);
+ b->DPI = dpi;
b->hWnd = hWnd;
SetROP2( b->hDc, R2_WHITE );
Rectangle( b->hDc, 0, 0, b->w, b->h );
@@ -1564,7 +1554,7 @@ long FAR PASCAL XEXPORT mswDrawPush(
b->drawResize( b, b->size );*/
if (b->drawRepaint)
b->drawRepaint( b, b->data, 0, 0 );
- return 0;
+ return (LRESULT)0;
case WM_MOUSEMOVE:
activeWnd = GetActiveWindow();
focusWnd = GetFocus();
@@ -1613,15 +1603,15 @@ long FAR PASCAL XEXPORT mswDrawPush(
}
ix = LOWORD( lParam );
iy = HIWORD( lParam );
- x = XPIX2INCH( b, ix );
- y = YPIX2INCH( b, iy );
+ x = XWINPIX2DRAWPIX( b, ix );
+ y = YWINPIX2DRAWPIX( b, iy );
b->lastX = x;
b->lastY = y;
if (b->action)
b->action( b, b->data, action, x, y );
if (b->hWnd)
UpdateWindow(b->hWnd);
- return 0;
+ return (LRESULT)0;
case WM_CHAR:
b = (wDraw_p)mswMapIndex( inx );
extChar = wAccelKey_None;
@@ -1655,9 +1645,9 @@ long FAR PASCAL XEXPORT mswDrawPush(
if (extChar != wAccelKey_None)
b->action( b, b->data, wActionExtKey + ( (int)extChar << 8 ), b->lastX, b->lastY );
else
- b->action( b, b->data, wActionText + ( wParam << 8 ), b->lastX, b->lastY );
+ b->action( b, b->data, wActionText + ( (int)wParam << 8 ), b->lastX, b->lastY );
}
- return 0;
+ return (LRESULT)0;
case WM_PAINT:
b = (wDraw_p)mswMapIndex( inx );
@@ -1740,7 +1730,7 @@ static LRESULT drawMsgProc( wDraw_p b, HWND hWnd, UINT message, WPARAM wParam, L
}
if (b->action)
b->action( b, b->data, action, b->lastX, b->lastY );
- return 0;
+ return (LRESULT)0;
case WM_MOUSEHWHEEL:
if ( GET_KEYSTATE_WPARAM(wParam) & (MK_SHIFT|MK_MBUTTON)) {
if ( GET_WHEEL_DELTA_WPARAM(wParam) > 0 ) {
@@ -1751,7 +1741,7 @@ static LRESULT drawMsgProc( wDraw_p b, HWND hWnd, UINT message, WPARAM wParam, L
}
if (b->action)
b->action( b, b->data, action, b->lastX, b->lastY );
- return 0;
+ return (LRESULT)0;
}
return DefWindowProc( hWnd, message, wParam, lParam );
@@ -1799,7 +1789,7 @@ static callBacks_t drawCallBacks = {
drawDoneProc,
(messageCallback_p)drawMsgProc };
-wDraw_p drawList = NULL;
+static wDraw_p drawList = NULL;
void mswRedrawAll( void )
@@ -1841,12 +1831,12 @@ void mswRepaintAll( void )
wDraw_p wDrawCreate(
wWin_p parent,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
long option,
- wPos_t w,
- wPos_t h,
+ wWinPix_t w,
+ wWinPix_t h,
void * data,
wDrawRedrawCallBack_p redrawProc,
wDrawActionCallBack_p action )
@@ -1872,7 +1862,7 @@ wDraw_p wDrawCreate(
d->hWnd = CreateWindow( mswDrawWindowClassName, NULL,
WS_CHILDWINDOW|WS_VISIBLE|WS_BORDER,
d->x, d->y, w, h,
- ((wControl_p)parent)->hWnd, (HMENU)index, mswHInst, NULL );
+ ((wControl_p)parent)->hWnd, (HMENU)(UINT_PTR)index, mswHInst, NULL );
if (d->hWnd == (HWND)0) {
mswFail( "CreateWindow(DRAW)" );
@@ -1909,7 +1899,7 @@ wDraw_p wDrawCreate(
*****************************************************************************
*/
-wDraw_p wBitMapCreate( wPos_t w, wPos_t h, int planes )
+wDraw_p wBitMapCreate( wWinPix_t w, wWinPix_t h, int planes )
{
wDraw_p d;
HDC hDc;
@@ -1934,11 +1924,13 @@ wDraw_p wBitMapCreate( wPos_t w, wPos_t h, int planes )
d->hBmMain = CreateCompatibleBitmap( hDc, d->w, d->h );
if ( d->hBmMain == (HBITMAP)0 ) {
wNoticeEx( NT_ERROR, "CreateBitMap: CreateBM Main fails", "Ok", NULL );
+ ReleaseDC(mswHWnd, hDc);
return FALSE;
}
d->hBmTemp = CreateCompatibleBitmap( hDc, d->w, d->h );
if ( d->hBmTemp == (HBITMAP)0 ) {
wNoticeEx( NT_ERROR, "CreateBitMap: CreateBM Temp fails", "Ok", NULL );
+ ReleaseDC(mswHWnd, hDc);
return FALSE;
}
d->hasPalette = (GetDeviceCaps(hDc,RASTERCAPS ) & RC_PALETTE) != 0;
@@ -2043,8 +2035,19 @@ wBitMapWriteFile(wDraw_p d, const char * fileName)
}
if (bCanSave) {
- bSuccess = FreeImage_Save(fif, dib2, fileName, PNG_DEFAULT);
- return bSuccess;
+ int flags;
+
+ switch (fif) {
+ case FIF_JPEG:
+ flags = JPEG_QUALITYNORMAL;
+ break;
+ case FIF_PNG:
+ flags = PNG_DEFAULT;
+ break;
+ default:
+ flags = 0; // whatver the default is for the file format
+ }
+ bSuccess = FreeImage_Save(fif, dib2, fileName, flags);
}
}
FreeImage_Unload(dib2);
diff --git a/app/wlib/mswlib/mswedit.c b/app/wlib/mswlib/mswedit.c
index dc70ac3..b6da004 100644
--- a/app/wlib/mswlib/mswedit.c
+++ b/app/wlib/mswlib/mswedit.c
@@ -35,6 +35,7 @@ struct wString_t {
char * valueP;
wIndex_t valueL;
wStringCallBack_p action;
+ wBool_t enter_pressed; /**< flag if enter was pressed */
};
#ifdef LATER
@@ -58,26 +59,22 @@ struct wFloat_t {
static XWNDPROC oldEditProc = NULL;
static XWNDPROC newEditProc;
-static void triggerString( wControl_p b );
+static void triggerString( wString_p b );
#ifdef LATER
static void triggerInteger( wControl_p b );
static void triggerFloat( wControl_p b );
#endif
-long FAR PASCAL _export pushEdit(
+LRESULT FAR PASCAL _export pushEdit(
HWND hWnd,
UINT message,
- UINT wParam,
- LONG lParam )
+ WPARAM wParam,
+ LPARAM lParam )
{
-#ifdef WIN32
- long inx = GetWindowLong( hWnd, GWL_ID );
-#else
- short inx = GetWindowWord( hWnd, GWW_ID );
-#endif
- wControl_p b = mswMapIndex(inx);
+ wIndex_t inx = (wIndex_t)GetWindowLongPtr( hWnd, GWL_ID );
+ wString_p b = (wString_p)mswMapIndex(inx);
switch (message)
{
@@ -86,14 +83,14 @@ long FAR PASCAL _export pushEdit(
switch (wParam) {
case VK_RETURN:
triggerString(b);
- return (0L);
+ return (LRESULT)0;
break;
case 0x1B:
case 0x09:
SetFocus(((wControl_p)(b->parent))->hWnd);
SendMessage(((wControl_p)(b->parent))->hWnd, WM_CHAR,
wParam, lParam);
- return 0L;
+ return (LRESULT)0;
}
}
break;
@@ -116,25 +113,21 @@ void wStringSetValue(
const char * arg )
{
WORD len = (WORD)strlen( arg );
- SendMessage( b->hWnd, WM_SETTEXT, 0, (DWORD)arg );
-#ifdef WIN32
- SendMessage( b->hWnd, EM_SETSEL, 0, -1 );
- SendMessage( b->hWnd, EM_SCROLLCARET, 0, 0L );
-#else
- SendMessage( b->hWnd, EM_SETSEL, 0, MAKELPARAM(len,len) );
-#endif
- SendMessage( b->hWnd, EM_SETMODIFY, FALSE, 0L );
+ SendMessage( b->hWnd, WM_SETTEXT, (WPARAM)0, (LPARAM)arg );
+ SendMessage( b->hWnd, EM_SETSEL, (WPARAM)0, (LPARAM)-1 );
+ SendMessage( b->hWnd, EM_SCROLLCARET, (WPARAM)0, (LPARAM)0 );
+ SendMessage( b->hWnd, EM_SETMODIFY, (WPARAM)FALSE, (LPARAM)0 );
}
void wStringSetWidth(
wString_p b,
- wPos_t w )
+ wWinPix_t w )
{
int rc;
b->w = w;
rc = SetWindowPos( b->hWnd, HWND_TOP, 0, 0,
- b->w, b->h, SWP_NOMOVE|SWP_NOZORDER );
+ b->w, b->h, SWP_NOMOVE|SWP_NOZORDER );
}
@@ -142,7 +135,7 @@ const char * wStringGetValue(
wString_p b )
{
static char buff[1024];
- SendMessage( b->hWnd, WM_GETTEXT, sizeof buff, (DWORD)buff );
+ SendMessage( b->hWnd, WM_GETTEXT, (WPARAM)sizeof buff, (LPARAM)buff );
return buff;
}
@@ -157,13 +150,17 @@ const char * wStringGetValue(
static char *getString(wString_p bs)
{
char *tmpBuffer = NULL;
- UINT chars = SendMessage(bs->hWnd, EM_LINELENGTH, (WPARAM)0, 0L);
+ UINT chars = (UINT)SendMessage(bs->hWnd, EM_LINELENGTH, (WPARAM)0, (LPARAM)0);
if (chars) {
tmpBuffer = malloc(chars > sizeof(WORD)? chars + 1 : sizeof(WORD) + 1);
*(WORD *)tmpBuffer = chars;
- SendMessage(bs->hWnd, (UINT)EM_GETLINE, 0, (LPARAM)tmpBuffer);
+ SendMessage(bs->hWnd, (UINT)EM_GETLINE, (WPARAM)0, (LPARAM)tmpBuffer);
tmpBuffer[chars] = '\0';
+ } else {
+ tmpBuffer = malloc(2);
+ tmpBuffer[0] = '\n';
+ tmpBuffer[1] = '\0';
}
return (tmpBuffer);
@@ -177,19 +174,21 @@ static char *getString(wString_p bs)
*/
static void triggerString(
- wControl_p b)
+ wString_p b)
{
- wString_p bs = (wString_p)b;
+ const char *output = "\n";
- char *enteredString = getString(bs);
+ char *enteredString = getString(b);
if (enteredString)
{
- if (bs->valueP) {
- strcpy(bs->valueP, enteredString);
+ if (b->valueP) {
+ strcpy(b->valueP, enteredString);
}
- if (bs->action) {
- bs->action(enteredString, bs->data);
+ if (b->action) {
+ b->enter_pressed = TRUE;
+ b->action(output, b->data);
}
+
free(enteredString);
}
}
@@ -210,7 +209,7 @@ LRESULT stringProc(
case WM_COMMAND:
switch (WCMD_PARAM_NOTF) {
case EN_KILLFOCUS:
- modified = (int)SendMessage(bs->hWnd, (UINT)EM_GETMODIFY, 0, 0L);
+ modified = (int)SendMessage(bs->hWnd, (UINT)EM_GETMODIFY, (WPARAM)0, (LPARAM)0);
if (!modified) {
break;
}
@@ -226,7 +225,7 @@ LRESULT stringProc(
}
free(enteredString);
}
- SendMessage(bs->hWnd, (UINT)EM_SETMODIFY, FALSE, 0L);
+ SendMessage(bs->hWnd, (UINT)EM_SETMODIFY, (WPARAM)FALSE, (LPARAM)0);
}
break;
}
@@ -243,12 +242,12 @@ static callBacks_t stringCallBacks = {
wString_p wStringCreate(
wWin_p parent,
- POS_T x,
- POS_T y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
- POS_T width,
+ wWinPix_t width,
char *valueP,
wIndex_t valueL,
wStringCallBack_p action,
@@ -269,34 +268,30 @@ wString_p wStringCreate(
if (option & BO_READONLY)
style |= ES_READONLY;
-#ifdef WIN32
b->hWnd = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL,
ES_LEFT | ES_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_BORDER | style,
b->x, b->y,
width, mswEditHeight,
- ((wControl_p)parent)->hWnd, (HMENU)index, mswHInst, NULL );
-#else
- b->hWnd = CreateWindow( "EDIT", NULL,
- ES_LEFT | ES_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_BORDER | style,
- b->x, b->y,
- width, mswEditHeight,
- ((wControl_p)parent)->hWnd, (HMENU)index, mswHInst, NULL );
-#endif
+ ((wControl_p)parent)->hWnd, (HMENU)(UINT_PTR)index, mswHInst, NULL );
if (b->hWnd == NULL) {
mswFail("CreateWindow(STRING)");
return b;
}
newEditProc = MakeProcInstance( (XWNDPROC)pushEdit, mswHInst );
- oldEditProc = (XWNDPROC)GetWindowLong(b->hWnd, GWL_WNDPROC );
+ oldEditProc = (XWNDPROC)GetWindowLongPtr(b->hWnd, GWLP_WNDPROC);
+ SetWindowLongPtr(b->hWnd, GWLP_WNDPROC, (LONG_PTR)newEditProc);
+#ifdef _OLDCODE
+ oldEditProc = (XWNDPROC)GetWindowLongPtr(b->hWnd, GWL_WNDPROC );
SetWindowLong( b->hWnd, GWL_WNDPROC, (LONG)newEditProc );
+#endif // WIN64
if (b->valueP) {
- SendMessage( b->hWnd, WM_SETTEXT, 0, (DWORD)b->valueP );
+ SendMessage( b->hWnd, WM_SETTEXT, (WPARAM)0, (LPARAM)b->valueP );
}
- SendMessage( b->hWnd, EM_SETMODIFY, FALSE, 0L );
+ SendMessage( b->hWnd, EM_SETMODIFY, (WPARAM)FALSE, (LPARAM)0 );
if ( !mswThickFont )
- SendMessage( b->hWnd, WM_SETFONT, (WPARAM)mswLabelFont, 0L );
+ SendMessage( b->hWnd, WM_SETFONT, (WPARAM)mswLabelFont, (LPARAM)0 );
GetWindowRect( b->hWnd, &rect );
b->w = rect.right - rect.left;
b->h = rect.bottom - rect.top;
@@ -466,12 +461,12 @@ static callBacks_t integerCallBacks = {
wInteger_p wIntegerCreate(
wWin_p parent,
- POS_T x,
- POS_T y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
- POS_T width,
+ wWinPix_t width,
long low,
long high,
long *valueP,
@@ -504,10 +499,7 @@ wInteger_p wIntegerCreate(
return b;
}
-#ifdef CONTROL3D
- Ctl3dSubclassCtl( b->hWnd);
-#endif
-
+
newEditProc = MakeProcInstance( (XWNDPROC)pushEdit, mswHInst );
oldEditProc = (XWNDPROC)GetWindowLong(b->hWnd, GWL_WNDPROC );
SetWindowLong( b->hWnd, GWL_WNDPROC, (LONG)newEditProc );
@@ -690,12 +682,12 @@ static callBacks_t floatCallBacks = {
wFloat_p wFloatCreate(
wWin_p parent,
- POS_T x,
- POS_T y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
- POS_T width,
+ wWinPix_t width,
double low,
double high,
double *valueP,
@@ -728,9 +720,6 @@ wFloat_p wFloatCreate(
return b;
}
-#ifdef CONTROL3D
- Ctl3dSubclassCtl( b->hWnd);
-#endif
newEditProc = MakeProcInstance( (XWNDPROC)pushEdit, mswHInst );
oldEditProc = (XWNDPROC)GetWindowLong(b->hWnd, GWL_WNDPROC );
diff --git a/app/wlib/mswlib/mswint.h b/app/wlib/mswlib/mswint.h
index e560053..5fd5da9 100644
--- a/app/wlib/mswlib/mswint.h
+++ b/app/wlib/mswlib/mswint.h
@@ -1,15 +1,31 @@
+/** \file mswint.h
+ * Windows specific definitions and prototypes for wlib
+ */
+
+/* XTrackCAD - Model Railroad CAD
+ * Copyright (C) 2005 Dave Bullis
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
#include "wlib.h"
#include "mswlib.h"
-//#include "dynarr.h"
-#include "common.h"
-#ifndef WIN32
-/*#define CONTROL3D*/
-#endif
-#include "stdio.h"
+#include "dynarr.h"
-#ifdef CONTROL3D
-#include "ctl3d.h"
-#endif
+#include <FreeImage.h>
+#include <stdio.h>
#ifdef WIN32
#ifdef FAR
@@ -40,39 +56,39 @@
#endif
#ifndef CAST_AWAY_CONST
- #define CAST_AWAY_CONST (char *)
+#define CAST_AWAY_CONST (char *)
#endif
#define BOOL_T wBool_t
-#define POS_T wPos_t
#define INDEX_T wIndex_t
#define INTEGER_T wInteger_t
typedef enum {
- W_MAIN, W_POPUP,
- B_BUTTON, B_STRING, B_INTEGER, B_FLOAT,
- B_LIST, B_DROPLIST, B_COMBOLIST,
- B_RADIO, B_TOGGLE,
- B_DRAW, B_TEXT, B_MESSAGE, B_LINES,
- B_MENUITEM, B_CHOICEITEM, B_BOX,
- B_BITMAP } wType_e;
-
-typedef void (*repaintProcCallback_p)( HWND, wControl_p );
-typedef void (*doneProcCallback_p)( wControl_p b );
-typedef LRESULT (*messageCallback_p)( wControl_p, HWND, UINT, WPARAM, LPARAM );
-typedef void (*setTriggerCallback_p)( wControl_p b );
-typedef void (*setBusyCallback_p)( wControl_p, BOOL_T );
-typedef void (*showCallback_p)( wControl_p, BOOL_T );
-typedef void (*setPosCallback_p)( wControl_p, wPos_t, wPos_t );
+ W_MAIN, W_POPUP,
+ B_BUTTON, B_STRING, B_INTEGER, B_FLOAT,
+ B_LIST, B_DROPLIST, B_COMBOLIST,
+ B_RADIO, B_TOGGLE,
+ B_DRAW, B_TEXT, B_MESSAGE, B_LINES,
+ B_MENUITEM, B_CHOICEITEM, B_BOX,
+ B_BITMAP
+} wType_e;
+
+typedef void ( *repaintProcCallback_p )( HWND, wControl_p );
+typedef void ( *doneProcCallback_p )( wControl_p b );
+typedef LRESULT( *messageCallback_p )( wControl_p, HWND, UINT, WPARAM, LPARAM );
+typedef void ( *setTriggerCallback_p )( wControl_p b );
+typedef void ( *setBusyCallback_p )( wControl_p, BOOL_T );
+typedef void ( *showCallback_p )( wControl_p, BOOL_T );
+typedef void ( *setPosCallback_p )( wControl_p, wWinPix_t, wWinPix_t );
typedef struct {
- repaintProcCallback_p repaintProc;
- doneProcCallback_p doneProc;
- messageCallback_p messageProc;
- setBusyCallback_p setBusyProc;
- showCallback_p showProc;
- setPosCallback_p setPosProc;
- } callBacks_t;
+ repaintProcCallback_p repaintProc;
+ doneProcCallback_p doneProc;
+ messageCallback_p messageProc;
+ setBusyCallback_p setBusyProc;
+ showCallback_p showProc;
+ setPosCallback_p setPosProc;
+} callBacks_t;
#define CALLBACK_CNT (B_BOX+1)
extern callBacks_t *mswCallBacks[CALLBACK_CNT];
@@ -83,67 +99,68 @@ extern callBacks_t *mswCallBacks[CALLBACK_CNT];
wControl_p next; \
wControl_p synonym; \
wWin_p parent; \
- POS_T x, y; \
- POS_T w, h; \
+ wWinPix_t x, y; \
+ wWinPix_t w, h; \
long option; \
- POS_T labelX, labelY; \
+ wWinPix_t labelX, labelY; \
const char * labelStr; \
const char * helpStr; \
const char * tipStr; \
+ char * errStr; \
HWND hWnd; \
void * data;\
wControl_p focusChainNext; \
- wBool_t shown;
+ wBool_t shown; \
+ wBool_t hilite;
struct wControl_t {
- WOBJ_COMMON
- };
+ WOBJ_COMMON
+};
typedef struct {
- unsigned key;
- wDrawColor color;
- } wIconColorMap_t;
+ unsigned key;
+ wDrawColor color;
+} wIconColorMap_t;
#define mswIcon_bitmap (1)
#define mswIcon_pixmap (2)
struct wIcon_t {
- int type;
- wPos_t w; /**< width */
- wPos_t h; /**< height */
- wDrawColor color;
- int colorcnt; /**< number of colors */
- RGBQUAD *colormap;
- char *pixels; /**< pointer to pixel information */
- int transparent; /**< index of transparent color */
- };
+ int type;
+ wWinPix_t w; /**< width */
+ wWinPix_t h; /**< height */
+ wDrawColor color;
+ int colorcnt; /**< number of colors */
+ RGBQUAD *colormap;
+ char *pixels; /**< pointer to pixel information */
+ int transparent; /**< index of transparent color */
+};
struct wDraw_t {
- WOBJ_COMMON
- HDC hDc;
- double wFactor;
- double hFactor;
- double DPI;
- wDrawRedrawCallBack_p drawRepaint;
- wDrawActionCallBack_p action;
- HBITMAP hBmMain;
- HBITMAP hBmTemp;
- HBITMAP hBmOld;
- HPEN hPen;
- HBRUSH hBrush;
- wDraw_p drawNext;
- wBool_t hasPalette;
- int paletteClock;
- HBITMAP hBmBackup;
- HDC hDcBackup;
- HBITMAP hBmBackupOld;
- void *background;
- wBool_t bTempMode;
- wBool_t bCopiedMain;
-
- wPos_t lastX;
- wPos_t lastY;
-
- };
+ WOBJ_COMMON
+ HDC hDc;
+ double wFactor;
+ double hFactor;
+ double DPI;
+ wDrawRedrawCallBack_p drawRepaint;
+ wDrawActionCallBack_p action;
+ HBITMAP hBmMain;
+ HBITMAP hBmTemp;
+ HBITMAP hBmOld;
+ HPEN hPen;
+ HBRUSH hBrush;
+ wDraw_p drawNext;
+ wBool_t hasPalette;
+ int paletteClock;
+ HBITMAP hBmBackup;
+ HDC hDcBackup;
+ HBITMAP hBmBackupOld;
+ FIBITMAP *background;
+ wBool_t bTempMode;
+ wBool_t bCopiedMain;
+ wDrawPix_t lastX;
+ wDrawPix_t lastY;
+
+};
extern HINSTANCE mswHInst;
extern char mswTmpBuff[1024];
@@ -168,7 +185,7 @@ void mswResize( wWin_p );
wControl_p mswMapIndex( INDEX_T );
void mswButtPush( wControl_p );
void * mswAlloc( wWin_p, wType_e, const char *, int, void *, int * );
-void mswComputePos( wControl_p, wPos_t, wPos_t );
+void mswComputePos( wControl_p, wWinPix_t, wWinPix_t );
void mswAddButton( wControl_p, BOOL_T, const char * );
void mswRepaintLabel( HWND, wControl_p );
int mswRegister( wControl_p );
@@ -178,7 +195,7 @@ void mswSetFocus( wControl_p );
void mswSetTrigger( wControl_p, setTriggerCallback_p );
void mswMenuPush( wControl_p );
void mswCreateCheckBitmaps( void );
-long FAR PASCAL XEXPORT mswDrawPush( HWND, UINT, UINT, LONG );
+LRESULT FAR PASCAL XEXPORT mswDrawPush( HWND, UINT, WPARAM, LPARAM );
#ifdef WIN32
DWORD GetTextExtent( HDC, CHAR *, UINT );
#endif
@@ -186,7 +203,7 @@ void mswRedrawAll( void );
void mswRepaintAll( void );
HDC mswGetPrinterDC( void );
int mswMenuAccelerator( wWin_p, long );
-void mswMenuMove( wMenu_p, wPos_t, wPos_t );
+void mswMenuMove( wMenu_p, wWinPix_t, wWinPix_t );
void mswRegisterBitMap( HBITMAP );
void mswFontInit( void );
void mswInitColorPalette( void );
@@ -202,5 +219,5 @@ void deleteBitmaps( void );
void mswDrawIcon( HDC, int, int, wIcon_p, int, COLORREF, COLORREF );
/* gwin32.c*/
-char *g_win32_getlocale (void);
+char *g_win32_getlocale( void );
diff --git a/app/wlib/mswlib/mswlines.c b/app/wlib/mswlib/mswlines.c
index be1330d..f6bb574 100644
--- a/app/wlib/mswlib/mswlines.c
+++ b/app/wlib/mswlib/mswlines.c
@@ -58,7 +58,7 @@ wLine_p wLineCreate(
{
wLine_p b;
wLines_p lp;
- POS_T minX, maxX, minY, maxY;
+ wWinPix_t minX, maxX, minY, maxY;
int index;
if (count <= 0)
diff --git a/app/wlib/mswlib/mswlist.c b/app/wlib/mswlib/mswlist.c
index 95ecec3..836f4f0 100644
--- a/app/wlib/mswlib/mswlist.c
+++ b/app/wlib/mswlib/mswlist.c
@@ -27,16 +27,16 @@ struct wList_t {
wListCallBack_p action;
wBool_t editable;
int colCnt;
- wPos_t * colWidths;
+ wWinPix_t * colWidths;
wBool_t * colRightJust;
const char * * colTitles;
- wPos_t maxWidth;
- wPos_t scrollPos;
+ wWinPix_t maxWidth;
+ wWinPix_t scrollPos;
HWND hScrollWnd;
- wPos_t scrollH;
- wPos_t dragPos;
+ wWinPix_t scrollH;
+ wWinPix_t dragPos;
int dragCol;
- wPos_t dragColWidth;
+ wWinPix_t dragColWidth;
};
@@ -58,18 +58,18 @@ void wListClear(
msg = LB_RESETCONTENT;
else
msg = CB_RESETCONTENT;
- SendMessage( b->hWnd, msg, 0, 0 );
+ SendMessage( b->hWnd, msg, (WPARAM)0, (LPARAM)0 );
b->last = -1;
b->count = 0;
}
-void wListSetSize( wList_p bl, wPos_t w, wPos_t h )
+void wListSetSize( wList_p bl, wWinPix_t w, wWinPix_t h )
{
int rc;
RECT rect;
- wPos_t y;
+ wWinPix_t y;
bl->w = w;
bl->h = h;
@@ -109,24 +109,24 @@ void wListSetIndex(
return;
if ( bl->type==B_LIST && (bl->option&BL_MANY) != 0 ) {
if ( bl->last != -1 )
- SendMessage( bl->hWnd, LB_SETSEL, 0, MAKELPARAM(bl->last,0) );
+ SendMessage( bl->hWnd, LB_SETSEL, (WPARAM)0, (LPARAM)bl->last );
if ( index >= 0 )
- SendMessage( bl->hWnd, LB_SETSEL, 1, MAKELPARAM(index, 0) );
+ SendMessage( bl->hWnd, LB_SETSEL, (WPARAM)1, (LPARAM)index );
} else {
SendMessage( bl->hWnd,
- bl->type==B_LIST?LB_SETCURSEL:CB_SETCURSEL, index, 0 );
+ bl->type==B_LIST?LB_SETCURSEL:CB_SETCURSEL, (WPARAM)index, (LPARAM)0 );
}
if ( bl->last >= 0 ) {
ldp = (listData*)SendMessage( bl->hWnd,
(bl->type==B_LIST?LB_GETITEMDATA:CB_GETITEMDATA),
- bl->last, 0L );
+ (WPARAM)bl->last, (LPARAM)0 );
if ( ldp && ldp!=(void*)LB_ERR )
ldp->selected = FALSE;
}
if ( index >= 0 ) {
ldp = (listData*)SendMessage( bl->hWnd,
(bl->type==B_LIST?LB_GETITEMDATA:CB_GETITEMDATA),
- index, 0L );
+ (WPARAM)index, (LPARAM)0 );
if ( ldp && ldp!=(void*)LB_ERR )
ldp->selected = TRUE;
}
@@ -164,7 +164,7 @@ void wListSetValue(
const char * val )
{
if ( bl->type == B_DROPLIST ) {
- SendMessage( bl->hWnd, WM_SETTEXT, 0, (DWORD)(LPSTR)val );
+ SendMessage( bl->hWnd, WM_SETTEXT, (WPARAM)0, (LPARAM)val );
bl->last = -1;
}
}
@@ -179,8 +179,8 @@ wIndex_t wListFindValue(
wListGetCount(bl);
for ( inx = 0; inx < bl->count ; inx++ ) {
cnt = (int)SendMessage( bl->hWnd,
- (bl->type==B_LIST?LB_GETTEXT:CB_GETLBTEXT), inx,
- (DWORD)(LPSTR)mswTmpBuff );
+ (bl->type==B_LIST?LB_GETTEXT:CB_GETLBTEXT), (WPARAM)inx,
+ (LPARAM)mswTmpBuff );
mswTmpBuff[cnt] = '\0';
if ( strcmp( val, mswTmpBuff ) == 0 )
return inx;
@@ -212,7 +212,7 @@ wIndex_t wListGetValues(
msg = CB_GETLBTEXT;
}
}
- cnt = (int)SendMessage( bl->hWnd, msg, inx, (DWORD)(LPSTR)mswTmpBuff );
+ cnt = (int)SendMessage( bl->hWnd, msg, (WPARAM)inx, (LPARAM)mswTmpBuff );
mswTmpBuff[cnt] = '\0';
if (s) {
strncpy(s, mswTmpBuff, siz);
@@ -221,7 +221,7 @@ wIndex_t wListGetValues(
if (bl->last >= 0) {
ldp = (listData*)SendMessage( bl->hWnd,
(bl->type==B_LIST?LB_GETITEMDATA:CB_GETITEMDATA),
- bl->last, 0L );
+ (WPARAM)bl->last, (LPARAM)0 );
if ( ldp==(listData*)LB_ERR )
ldp = NULL;
} else {
@@ -252,24 +252,24 @@ wBool_t wListSetValues(
curSel = (WORD)SendMessage( b->hWnd,
(UINT)b->type==B_LIST?LB_GETCURSEL:CB_GETCURSEL,
(WPARAM)0,
- (DWORD)0L );
+ (LPARAM)0 );
SendMessage( b->hWnd,
(UINT)b->type==B_LIST?LB_DELETESTRING:CB_DELETESTRING,
(WPARAM)inx,
- (DWORD)0L );
+ (LPARAM)0 );
inx = (wIndex_t)SendMessage( b->hWnd,
(UINT)b->type==B_LIST?LB_INSERTSTRING:CB_INSERTSTRING,
(WPARAM)inx,
- (DWORD)(LPSTR)labelStr );
+ (LPARAM)labelStr );
SendMessage( b->hWnd,
(UINT)b->type==B_LIST?LB_SETITEMDATA:CB_SETITEMDATA,
(WPARAM)inx,
- (DWORD)ldp );
+ (LPARAM)ldp );
if ( (b->option&BL_MANY) == 0 && curSel == (WORD)inx)
SendMessage( b->hWnd,
(UINT)b->type==B_LIST?LB_SETCURSEL:CB_SETCURSEL,
(WPARAM)inx,
- (DWORD)0L );
+ (LPARAM)0 );
/*if (b->option&BL_ICON)*/
InvalidateRect( b->hWnd, NULL, FALSE );
return TRUE;
@@ -283,7 +283,7 @@ void wListDelete(
SendMessage( b->hWnd,
(UINT)b->type==B_LIST?LB_DELETESTRING:CB_DELETESTRING,
(WPARAM)inx,
- (DWORD)0L );
+ (LPARAM)0 );
}
@@ -303,19 +303,19 @@ void wListSelectAll( wList_p bl )
SendMessage( bl->hWnd,
LB_SETSEL,
(WPARAM)TRUE,
- (DWORD)-1L );
+ (LPARAM)-1 );
// and synchronize the internal data structures
wListGetCount(bl);
for ( inx=0; inx<bl->count; inx++ ) {
ldp = (listData*)SendMessage( bl->hWnd,
(bl->type==B_LIST?LB_GETITEMDATA:CB_GETITEMDATA),
- inx, 0L );
+ (WPARAM)inx, (LPARAM)0 );
ldp->selected = TRUE;
SendMessage( bl->hWnd,
(UINT)bl->type==B_LIST?LB_SETITEMDATA:CB_SETITEMDATA,
(WPARAM)inx,
- (DWORD)ldp );
+ (LPARAM)ldp );
}
}
@@ -323,7 +323,7 @@ void wListSelectAll( wList_p bl )
wIndex_t wListGetCount(
wList_p bl )
{
- bl->count = (int)SendMessage( bl->hWnd, (UINT)bl->type==B_LIST?LB_GETCOUNT:CB_GETCOUNT, 0, 0L );
+ bl->count = (int)SendMessage( bl->hWnd, (UINT)bl->type==B_LIST?LB_GETCOUNT:CB_GETCOUNT, (WPARAM)0, (LPARAM)0 );
return bl->count;
}
@@ -337,7 +337,7 @@ void * wListGetItemContext(
if ( inx < 0 || inx >= bl->count ) return NULL;
ldp = (listData*)SendMessage( bl->hWnd,
(bl->type==B_LIST?LB_GETITEMDATA:CB_GETITEMDATA),
- inx, 0L );
+ (WPARAM)inx, (LPARAM)0 );
return ((ldp&&ldp!=(void*)LB_ERR)?ldp->itemContext:NULL);
}
@@ -351,7 +351,7 @@ wBool_t wListGetItemSelected(
if ( inx < 0 || inx >= bl->count ) return FALSE;
ldp = (listData*)SendMessage( bl->hWnd,
(bl->type==B_LIST?LB_GETITEMDATA:CB_GETITEMDATA),
- inx, 0L );
+ (WPARAM)inx, (LPARAM)0 );
return ((ldp&&ldp!=(void*)LB_ERR)?ldp->selected:FALSE);
}
@@ -389,18 +389,18 @@ wIndex_t wListAddValue(
b->hWnd,
(UINT)b->type==B_LIST?LB_ADDSTRING:CB_ADDSTRING,
(WPARAM)0,
- (DWORD)value );
+ (LPARAM)value );
if (nindex == 0) {
SendMessage( b->hWnd,
(UINT)b->type==B_LIST?LB_SETCURSEL:CB_SETCURSEL,
(WPARAM)nindex,
- (DWORD)0 );
+ (LPARAM)0 );
b->last = 0;
}
SendMessage( b->hWnd,
(UINT)b->type==B_LIST?LB_SETITEMDATA:CB_SETITEMDATA,
(WPARAM)nindex,
- (DWORD)ldp );
+ (LPARAM)ldp );
return nindex;
}
@@ -408,7 +408,7 @@ wIndex_t wListAddValue(
int wListGetColumnWidths(
wList_p bl,
int colCnt,
- wPos_t * colWidths )
+ wWinPix_t * colWidths )
{
wIndex_t inx;
@@ -454,11 +454,11 @@ static void listShow(
static void listSetPos(
wControl_p b,
- wPos_t x,
- wPos_t y )
+ wWinPix_t x,
+ wWinPix_t y )
{
wList_p bl = (wList_p)b;
- wPos_t x1, y1;
+ wWinPix_t x1, y1;
RECT rect;
bl->x = x1 = x;
@@ -492,7 +492,7 @@ static void listRepaintLabel(
const char * * title;
int inx;
int start;
- wPos_t colWidth;
+ wWinPix_t colWidth;
mswRepaintLabel( hWnd, b );
if ( bl->colTitles == NULL )
@@ -538,7 +538,7 @@ static void listRepaintLabel(
rc.right = bl->x+bl->w-1;
ExtTextOut( hDc, start+1, rc.top+0,
ETO_CLIPPED|ETO_OPAQUE, &rc,
- *title, strlen(*title), NULL );
+ *title, (int)(strlen(*title)), NULL );
if ( start-bl->x >= 3 ) {
SelectObject( hDc, hPen1 );
MoveTo( hDc, start-1, rc.top-1 );
@@ -589,7 +589,7 @@ LRESULT listProc(
{
wList_p bl = (wList_p)b;
int cnt, inx, selected;
- long len;
+ size_t len;
listData * ldp;
HDC hDc;
LPMEASUREITEMSTRUCT lpmis;
@@ -597,7 +597,8 @@ LRESULT listProc(
LPDRAWITEMSTRUCT lpdis;
RECT rc, rc1;
char * cp0, * cp1;
- wPos_t colWidth, x;
+ wWinPix_t x;
+ int colWidth;
int nPos;
HFONT hFont;
HPEN hPen;
@@ -621,14 +622,14 @@ LRESULT listProc(
if ( (bl->option&BL_MANY) ) {
wListGetCount(bl);
for ( inx=0; inx<bl->count; inx++ ) {
- ldp = (listData*)SendMessage( bl->hWnd, LB_GETITEMDATA, inx, 0L );
+ ldp = (listData*)SendMessage( bl->hWnd, LB_GETITEMDATA, (WPARAM)inx, (LPARAM)0 );
if ( ldp != NULL && ldp != (void*)LB_ERR ) {
- selected = ((long)SendMessage( bl->hWnd, LB_GETSEL, inx, 0L ) != 0L );
+ selected = ((long)SendMessage( bl->hWnd, LB_GETSEL, (WPARAM)inx, (LPARAM)0 ) != 0L );
if ( selected != ldp->selected ) {
ldp->selected = selected;
if ( selected ) {
bl->last = inx;
- cnt = (int)SendMessage( bl->hWnd, LB_GETTEXT, bl->last, (DWORD)(LPSTR)mswTmpBuff );
+ cnt = (int)SendMessage( bl->hWnd, LB_GETTEXT, (WPARAM)bl->last, (LPARAM)mswTmpBuff );
mswTmpBuff[cnt] = '\0';
} else {
mswTmpBuff[0] = '\0';
@@ -641,13 +642,13 @@ LRESULT listProc(
}
}
} else {
- bl->last = (int)SendMessage( bl->hWnd, LB_GETCURSEL, 0, 0L );
- cnt = (int)SendMessage( bl->hWnd, LB_GETTEXT, bl->last,
- (DWORD)(LPSTR)mswTmpBuff );
+ bl->last = (int)SendMessage( bl->hWnd, LB_GETCURSEL, (WPARAM)0, (LPARAM)0 );
+ cnt = (int)SendMessage( bl->hWnd, LB_GETTEXT, (WPARAM)bl->last,
+ (LPARAM)mswTmpBuff );
mswTmpBuff[cnt] = '\0';
if (bl->action) {
ldp = (listData*)SendMessage( bl->hWnd, LB_GETITEMDATA,
- bl->last, 0L );
+ (WPARAM)bl->last, (LPARAM)0 );
bl->action( bl->last, mswTmpBuff, 1, bl->data,
((bl->last>=0&&ldp&&ldp!=(void*)LB_ERR)?ldp->itemContext:NULL) );
}
@@ -659,8 +660,8 @@ LRESULT listProc(
case LBN_KILLFOCUS:
if ( ( bl->option&BL_MANY ) == 0 &&
- bl->last != (int)SendMessage( bl->hWnd, LB_GETCURSEL, 0, 0L ) )
- (void)SendMessage( bl->hWnd, LB_SETCURSEL, bl->last, 0L );
+ bl->last != (int)SendMessage( bl->hWnd, LB_GETCURSEL, (WPARAM)0, (LPARAM)0 ) )
+ (void)SendMessage( bl->hWnd, LB_SETCURSEL, (WPARAM)bl->last, (LPARAM)0 );
break;
}
break;
@@ -677,14 +678,14 @@ LRESULT listProc(
break;
case CBN_CLOSEUP:
- bl->last = (int)SendMessage( bl->hWnd, CB_GETCURSEL, 0, 0L );
+ bl->last = (int)SendMessage( bl->hWnd, CB_GETCURSEL, (WPARAM)0, (LPARAM)0 );
if (bl->last < 0)
break;
if (bl->action) {
- cnt = (int)SendMessage( bl->hWnd, CB_GETLBTEXT, bl->last,
- (DWORD)(LPSTR)mswTmpBuff );
+ cnt = (int)SendMessage( bl->hWnd, CB_GETLBTEXT,
+ (WPARAM)bl->last, (LPARAM)mswTmpBuff );
ldp = (listData*)SendMessage( bl->hWnd, CB_GETITEMDATA,
- bl->last, 0L );
+ (WPARAM)bl->last, (LPARAM)0 );
mswTmpBuff[cnt] = '\0';
bl->action( bl->last, mswTmpBuff, 1, bl->data,
((bl->last>=0&&ldp&&ldp!=(void*)LB_ERR)?ldp->itemContext:NULL) );
@@ -697,9 +698,9 @@ LRESULT listProc(
break;
case CBN_KILLFOCUS:
- inx = (int)SendMessage( bl->hWnd, CB_GETCURSEL, 0, 0L );
+ inx = (int)SendMessage( bl->hWnd, CB_GETCURSEL, (WPARAM)0, (LPARAM)0 );
if ( bl->last != inx )
- (void)SendMessage( bl->hWnd, CB_SETCURSEL, bl->last, 0L );
+ (void)SendMessage( bl->hWnd, CB_SETCURSEL, (WPARAM)bl->last, (LPARAM)0 );
break;
case CBN_DROPDOWN:
@@ -709,8 +710,8 @@ LRESULT listProc(
case CBN_EDITCHANGE:
bl->last = -1;
if (bl->action) {
- cnt = (int)SendMessage( bl->hWnd, WM_GETTEXT, sizeof mswTmpBuff,
- (DWORD)(LPSTR)mswTmpBuff );
+ cnt = (int)SendMessage( bl->hWnd, WM_GETTEXT, (WPARAM)sizeof mswTmpBuff,
+ (LPARAM)mswTmpBuff );
mswTmpBuff[cnt] = '\0';
bl->action( -1, mswTmpBuff, 1, bl->data, NULL );
}
@@ -740,14 +741,14 @@ LRESULT listProc(
}
ldp = (listData*)SendMessage( bl->hWnd,
(bl->type==B_LIST?LB_GETITEMDATA:CB_GETITEMDATA),
- lpdis->itemID, 0L );
+ (WPARAM)lpdis->itemID, (LPARAM)0);
rc = lpdis->rcItem;
if (lpdis->itemAction & (ODA_DRAWENTIRE|ODA_SELECT|ODA_FOCUS)) {
if( bl->type == B_LIST )
hFont = SelectObject( lpdis->hDC, mswLabelFont );
cnt = (int)SendMessage( lpdis->hwndItem,
(bl->type==B_LIST?LB_GETTEXT:CB_GETLBTEXT),
- lpdis->itemID, (LONG)(LPSTR)mswTmpBuff );
+ (WPARAM)lpdis->itemID, (LPARAM)mswTmpBuff );
mswTmpBuff[cnt] = '\0';
if ( lpdis->itemState & ODS_SELECTED ) {
SetTextColor( lpdis->hDC, GetSysColor( COLOR_HIGHLIGHTTEXT ) );
@@ -809,7 +810,7 @@ LRESULT listProc(
}
if ( bl->type == B_LIST)
SelectObject( lpdis->hDC, hFont );
- return TRUE;
+ return (LRESULT)TRUE;
}
break;
@@ -817,17 +818,17 @@ LRESULT listProc(
case WM_HSCROLL:
len = ((long)bl->maxWidth)-((long)bl->w);
if ( len <= 0 )
- return 0;
+ return (LRESULT)0;
switch ( WSCROLL_PARAM_CODE ) {
case SB_LEFT:
if ( bl->scrollPos == 0 )
- return 0;
+ return (LRESULT)0;
bl->scrollPos = 0;
break;
case SB_LINELEFT:
case SB_PAGELEFT:
if ( bl->scrollPos == 0 )
- return 0;
+ return (LRESULT)0;
for ( inx=colWidth=0; inx<bl->colCnt; inx++ ) {
if ( colWidth+bl->colWidths[inx] >= bl->scrollPos ) {
bl->scrollPos = colWidth;
@@ -839,7 +840,7 @@ LRESULT listProc(
case SB_LINERIGHT:
case SB_PAGERIGHT:
if ( bl->scrollPos >= len )
- return 0;
+ return (LRESULT)0;
for ( inx=colWidth=0; inx<bl->colCnt; inx++ ) {
if ( colWidth >= bl->scrollPos ) {
bl->scrollPos = colWidth+bl->colWidths[inx];
@@ -850,17 +851,17 @@ LRESULT listProc(
break;
case SB_RIGHT:
if ( bl->scrollPos >= len )
- return 0;
+ return (LRESULT)0;
bl->scrollPos = (int)len;
break;
case SB_THUMBTRACK:
- return 0;
+ return (LRESULT)0;
case SB_THUMBPOSITION:
nPos = (int)WSCROLL_PARAM_NPOS;
bl->scrollPos = (int)(len*nPos/100);
break;
case SB_ENDSCROLL:
- return 0;
+ return (LRESULT)0;
}
if ( bl->scrollPos > len ) bl->scrollPos = (int)len;
if ( bl->scrollPos < 0 ) bl->scrollPos = 0;
@@ -868,7 +869,7 @@ LRESULT listProc(
SetScrollPos( bl->hScrollWnd, SB_CTL, nPos, TRUE );
InvalidateRect( bl->hWnd, NULL, FALSE );
listRepaintLabel( ((wControl_p)(bl->parent))->hWnd, (wControl_p)bl );
- return 0;
+ return (LRESULT)0;
case WM_LBUTTONDOWN:
if ( bl->type != B_LIST )
@@ -886,7 +887,7 @@ LRESULT listProc(
}
if ( bl->dragCol >= 0 )
bl->dragColWidth = bl->colWidths[inx];
- return 0L;
+ return (LRESULT)0;
#ifdef LATER
case WM_MOUSEMOVE:
@@ -902,7 +903,7 @@ LRESULT listProc(
if ( x <= 0 )
break;
}
- return 0L;
+ return (LRESULT)0;
#endif
case WM_MOUSEMOVE:
@@ -933,26 +934,26 @@ LRESULT listProc(
}
InvalidateRect( bl->hWnd, NULL, FALSE );
listRepaintLabel( ((wControl_p)(bl->parent))->hWnd, (wControl_p)bl );
- return 0L;
+ return (LRESULT)0;
}
return DefWindowProc( hWnd, message, wParam, lParam );
}
-long FAR PASCAL _export pushList(
+LRESULT FAR PASCAL _export pushList(
HWND hWnd,
UINT message,
- UINT wParam,
- LONG lParam )
+ WPARAM wParam,
+ LPARAM lParam )
{
/* Catch <Return> and cause focus to leave control */
-#ifdef WIN32
+ wIndex_t inx = (wIndex_t)GetWindowLongPtr(hWnd, GWL_ID);
+ wControl_p b = mswMapIndex(inx);
+#ifdef OLDCODE
long inx = GetWindowLong( hWnd, GWL_ID );
-#else
- short inx = GetWindowWord( hWnd, GWW_ID );
-#endif
wControl_p b = mswMapIndex( inx );
+#endif
switch (message) {
case WM_CHAR:
@@ -966,7 +967,7 @@ long FAR PASCAL _export pushList(
wParam, lParam );
/*SendMessage( ((wControl_p)(b->parent))->hWnd, WM_COMMAND,
inx, MAKELONG( hWnd, EN_KILLFOCUS ) );*/
- return 0L;
+ return (LRESULT)0;
}
}
break;
@@ -974,18 +975,14 @@ long FAR PASCAL _export pushList(
return CallWindowProc( oldListProc, hWnd, message, wParam, lParam );
}
-long FAR PASCAL _export pushCombo(
+LRESULT FAR PASCAL _export pushCombo(
HWND hWnd,
UINT message,
- UINT wParam,
- LONG lParam )
+ WPARAM wParam,
+ LPARAM lParam )
{
/* Catch <Return> and cause focus to leave control */
-#ifdef WIN32
- long inx = GetWindowLong( hWnd, GWL_ID );
-#else
- short inx = GetWindowWord( hWnd, GWW_ID );
-#endif
+ wIndex_t inx = (wIndex_t)GetWindowLongPtr( hWnd, GWL_ID );
wControl_p b = mswMapIndex( inx );
switch (message) {
@@ -1000,7 +997,7 @@ long FAR PASCAL _export pushCombo(
wParam, lParam );
/*SendMessage( ((wControl_p)(b->parent))->hWnd, WM_COMMAND,
inx, MAKELONG( hWnd, EN_KILLFOCUS ) );*/
- return 0L;
+ return (LRESULT)0;
}
}
break;
@@ -1022,13 +1019,13 @@ static wList_p listCreate(
const char *className,
long style,
wWin_p parent,
- POS_T x,
- POS_T y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
long number,
- POS_T width,
+ wWinPix_t width,
long *valueP,
wListCallBack_p action,
void *data,
@@ -1056,16 +1053,12 @@ static wList_p listCreate(
b->hWnd = CreateWindow( className, NULL,
style | WS_CHILD | WS_VISIBLE | mswGetBaseStyle(parent), b->x, b->y,
width, LIST_HEIGHT*(int)number,
- ((wControl_p)parent)->hWnd, (HMENU)index, mswHInst, NULL );
+ ((wControl_p)parent)->hWnd, (HMENU)(UINT_PTR)index, mswHInst, NULL );
if (b->hWnd == NULL) {
mswFail("CreateWindow(LIST)");
return b;
}
-#ifdef CONTROL3D
- Ctl3dSubclassCtl( b->hWnd );
-#endif
-
GetWindowRect( b->hWnd, &rect );
b->w = rect.right - rect.left;
b->h = rect.bottom - rect.top;
@@ -1078,34 +1071,43 @@ static wList_p listCreate(
if (addFocus) {
mswChainFocus( (wControl_p)b );
if (b->type == B_LIST) {
- newListProc = MakeProcInstance( (XWNDPROC)pushList, mswHInst );
- oldListProc = (XWNDPROC)GetWindowLong( b->hWnd, GWL_WNDPROC );
- SetWindowLong( b->hWnd, GWL_WNDPROC, (LONG)newListProc );
- } else {
- newComboProc = MakeProcInstance( (XWNDPROC)pushCombo, mswHInst );
- oldComboProc = (XWNDPROC)GetWindowLong( b->hWnd, GWL_WNDPROC );
- SetWindowLong( b->hWnd, GWL_WNDPROC, (LONG)newComboProc );
+ newListProc = MakeProcInstance((XWNDPROC)pushList, mswHInst);
+ oldListProc = (XWNDPROC)GetWindowLongPtr(b->hWnd, GWLP_WNDPROC);
+ SetWindowLongPtr(b->hWnd, GWLP_WNDPROC, (LONG_PTR)newListProc);
+#ifdef _OLDCODE
+ oldListProc = (XWNDPROC)GetWindowLong(b->hWnd, GWL_WNDPROC);
+ SetWindowLong(b->hWnd, GWL_WNDPROC, (LONG)newListProc);
+#endif
+ }
+ else {
+ newComboProc = MakeProcInstance((XWNDPROC)pushCombo, mswHInst);
+ oldComboProc = (XWNDPROC)GetWindowLongPtr(b->hWnd, GWLP_WNDPROC);
+ SetWindowLongPtr(b->hWnd, GWLP_WNDPROC, (LONG_PTR)newComboProc);
+#ifdef _OLDCODE
+ oldComboProc = (XWNDPROC)GetWindowLong(b->hWnd, GWL_WNDPROC);
+ SetWindowLong(b->hWnd, GWL_WNDPROC, (LONG)newComboProc);
+#endif
}
}
if ( indexR )
*indexR = index;
if ( !mswThickFont )
- SendMessage( b->hWnd, WM_SETFONT, (WPARAM)mswLabelFont, 0L );
+ SendMessage( b->hWnd, WM_SETFONT, (WPARAM)mswLabelFont, (LPARAM)0 );
return b;
}
wList_p wListCreate(
wWin_p parent,
- POS_T x,
- POS_T y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
long number,
- POS_T width,
+ wWinPix_t width,
int colCnt,
- wPos_t * colWidths,
+ wWinPix_t * colWidths,
wBool_t * colRightJust,
const char * * colTitles,
long *valueP,
@@ -1138,7 +1140,7 @@ wList_p wListCreate(
}
if ( colCnt > 1 ) {
bl->colCnt = colCnt;
- bl->colWidths = (int*)malloc( colCnt * sizeof *bl->colWidths );
+ bl->colWidths = (wWinPix_t*)malloc( colCnt * sizeof *bl->colWidths );
bl->colRightJust = (wBool_t*)malloc( colCnt * sizeof *bl->colRightJust );
bl->colTitles = colTitles;
bl->maxWidth = 0;
@@ -1150,7 +1152,7 @@ wList_p wListCreate(
bl->hScrollWnd = CreateWindow( "ScrollBar", NULL,
SBS_HORZ | SBS_BOTTOMALIGN | WS_CHILD | WS_VISIBLE | mswGetBaseStyle(parent), bl->x, bl->y,
width, CW_USEDEFAULT,
- ((wControl_p)parent)->hWnd, (HMENU)index, mswHInst, NULL );
+ ((wControl_p)parent)->hWnd, (HMENU)(UINT_PTR)index, mswHInst, NULL );
if (bl->hScrollWnd == NULL)
mswFail("CreateWindow(LISTSCROLL)");
SetScrollRange( bl->hScrollWnd, SB_CTL, 0, 100, TRUE );
@@ -1163,13 +1165,13 @@ wList_p wListCreate(
wList_p wDropListCreate(
wWin_p parent,
- POS_T x,
- POS_T y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
long number,
- POS_T width,
+ wWinPix_t width,
long *valueP,
wListCallBack_p action,
void *data )
@@ -1189,13 +1191,13 @@ wList_p wDropListCreate(
wList_p wComboListCreate(
wWin_p parent,
- POS_T x,
- POS_T y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
long number,
- POS_T width,
+ wWinPix_t width,
long *valueP,
wListCallBack_p action,
void *data )
diff --git a/app/wlib/mswlib/mswmenu.c b/app/wlib/mswlib/mswmenu.c
index d56e24d..9e36c8b 100644
--- a/app/wlib/mswlib/mswmenu.c
+++ b/app/wlib/mswlib/mswmenu.c
@@ -31,7 +31,6 @@
#include <math.h>
#include <ctype.h>
#include <assert.h>
-#include "misc.h"
#include "mswint.h"
#include "i18n.h"
@@ -94,7 +93,7 @@ struct wMenuRadio_t {
struct wMenuToggle_t {
MOBJ_COMMON
wMenu_p mparent;
- wMenuToggleCallBack_p action;
+ wMenuCallBack_p action;
long acclKey;
wBool_t enabled;
};
@@ -174,7 +173,7 @@ static LRESULT menuPush(
set = !set;
wMenuToggleSet((wMenuToggle_p)m,set);
if (((wMenuToggle_p)m)->action)
- ((wMenuToggle_p)m)->action(set, ((wMenuPush_p)m)->data);
+ ((wMenuToggle_p)m)->action(((wMenuPush_p)m)->data);
break;
case M_LISTITEM:
if (((wMenuListItem_p)m)->action)
@@ -185,7 +184,7 @@ static LRESULT menuPush(
((wMenuRadio_p)m)->action(((wMenuRadio_p)m)->data);
break;
}
- return 0L;
+ return (LRESULT)0;
}
if ( (m->parentMenu)->traceFunc ) {
(m->parentMenu)->traceFunc( m->parentMenu, m->labelStr, ((wMenu_p)m->parentMenu)->traceData );
@@ -261,7 +260,7 @@ typedef struct {
wAccelKey_e key;
void * data;
} acclTable_t, *acclTable_p;
-dynArr_t acclTable_da;
+static dynArr_t acclTable_da;
#define acclTable(N) DYNARR_N( acclTable_t, acclTable_da, N )
@@ -364,7 +363,8 @@ HBITMAP GetMyCheckBitmaps(UINT fuCheck)
HBITMAP hbmpCheck; /* handle to check-mark bitmap */
RECT rc; /* rectangle for check-box bitmap */
WORD wBitmapX; /* width of check-mark bitmap */
- WORD wBitmapY; /* height of check-mark bitmap */
+ WORD wBitmapY; /* height of check-mark bitmap */
+ WORD wMenuH; /* height of menu line */
/* Get the menu background color and create a solid brush
with that color. */
@@ -383,6 +383,7 @@ HBITMAP GetMyCheckBitmaps(UINT fuCheck)
wBitmapX = GetSystemMetrics(SM_CXMENUCHECK);
wBitmapY = GetSystemMetrics(SM_CYMENUCHECK);
+ wMenuH = GetSystemMetrics(SM_CYMENU);
hbmpCheck = CreateCompatibleBitmap(hdcSource, wBitmapX,
wBitmapY);
@@ -428,11 +429,11 @@ HBITMAP GetMyCheckBitmaps(UINT fuCheck)
case RADIOCHECK:
rc.left = (bmCheckbox.bmWidth / 4);
rc.right = (bmCheckbox.bmWidth / 4) * 2;
- rc.top = (bmCheckbox.bmHeight / 3) + 1;
+ rc.top = (bmCheckbox.bmHeight / 3);
rc.bottom = (bmCheckbox.bmHeight / 3) * 2;
break;
case RADIOUNCHECK:
- rc.top = (bmCheckbox.bmHeight / 3) + 1;
+ rc.top = (bmCheckbox.bmHeight / 3);
rc.bottom = (bmCheckbox.bmHeight / 3) * 2;
rc.left = 0;
rc.right = (bmCheckbox.bmWidth / 4);
@@ -444,7 +445,6 @@ HBITMAP GetMyCheckBitmaps(UINT fuCheck)
check-box bitmap is larger than the default check-mark
bitmap, use StretchBlt to make it fit; otherwise, just
copy it. */
-
if (((rc.right - rc.left) > (int) wBitmapX) ||
((rc.bottom - rc.top) > (int) wBitmapY))
{
@@ -455,7 +455,9 @@ HBITMAP GetMyCheckBitmaps(UINT fuCheck)
else
{
- BitBlt(hdcTarget, 0, 0, rc.right - rc.left,
+ // Center it vertically
+ WORD dy = (wMenuH > wBitmapY) ? (wMenuH - wBitmapY) / 2 : 0;
+ BitBlt(hdcTarget, 0, dy, rc.right - rc.left,
rc.bottom - rc.top,
hdcSource, rc.left, rc.top, SRCCOPY);
}
@@ -655,7 +657,7 @@ wMenu_p wMenuMenuCreate(
/*mm->parent = (wControl_p)m;*/
mm->first = mm->last = NULL;
- rc = AppendMenu( m->menu, MF_STRING|MF_ENABLED|MF_POPUP, (UINT)mm->menu, mm->labelStr );
+ rc = AppendMenu( m->menu, MF_STRING|MF_ENABLED|MF_POPUP, (UINT_PTR)(mm->menu), mm->labelStr );
return mm;
}
@@ -857,7 +859,7 @@ wMenuToggle_p wMenuToggleCreate(
const char * labelStr,
long acclKey,
wBool_t set,
- wMenuToggleCallBack_p action,
+ wMenuCallBack_p action,
void * data )
{
wMenuToggle_p mt;
@@ -958,8 +960,8 @@ void wMenuToggleEnable(
void mswMenuMove(
wMenu_p m,
- wPos_t x,
- wPos_t y )
+ wWinPix_t x,
+ wWinPix_t y )
{
wControl_p b;
b = (wControl_p)m->parent;
@@ -985,8 +987,8 @@ static void pushMenuButt(
wMenu_p wMenuCreate(
wWin_p parent,
- POS_T x,
- POS_T y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option )
@@ -1041,7 +1043,7 @@ wMenu_p wMenuBarAdd(
m->mmtype = MM_BAR;
m->first = m->last = NULL;
- rc = AppendMenu( menu, MF_STRING|MF_POPUP|MF_ENABLED, (UINT)m->menu, labelStr );
+ rc = AppendMenu( menu, MF_STRING|MF_POPUP|MF_ENABLED, (UINT_PTR)(m->menu), labelStr );
DrawMenuBar( ((wControl_p)w)->hWnd );
return m;
@@ -1118,7 +1120,7 @@ wBool_t wMenuAction(
} else {
set = wMenuToggleGet( mt );
wMenuToggleSet( mt, !set );
- mt->action( set, mt->data );
+ mt->action( mt->data );
}
break;
case M_MENU:
diff --git a/app/wlib/mswlib/mswmisc.c b/app/wlib/mswlib/mswmisc.c
index 6b5f1c9..5b45e2b 100644
--- a/app/wlib/mswlib/mswmisc.c
+++ b/app/wlib/mswlib/mswmisc.c
@@ -31,7 +31,6 @@
#include <stdio.h>
#include <assert.h>
#include <htmlhelp.h>
-#include "misc.h"
#include "mswint.h"
#include "i18n.h"
#include "FreeImage.h"
@@ -45,6 +44,7 @@
#define OFN_LONGFILENAMES 0x00200000L
char * mswStrdup(const char *);
+const char * GetCurCommandName(void);
#define PAUSE_TIMER (901)
#define ALARM_TIMER (902)
@@ -69,7 +69,6 @@ char * mswStrdup(const char *);
* EXPORTED VARIABLES
*/
-long debugWindow = 0;
HINSTANCE mswHInst;
HWND mswHWnd = (HWND)0;
@@ -77,18 +76,26 @@ const char *mswDrawWindowClassName = "DRAWWINDOW";
char mswTmpBuff[1024];
int mswEditHeight;
int mswAllowBalloonHelp = TRUE;
-int mswGroupStyle;
HFONT mswOldTextFont;
HFONT mswLabelFont;
+/** @prefs [msw tweak] ThickFont=1 */
long mswThickFont = 1;
double mswScale = 1.0;
-double scaleIcon = 1.0; /**< Scaling factor for toolbar icons */
+/** @prefs [Preference] LargeIcons=1.5 Set toolbar icon scaling. Limited 1.0 to 2.0 */
+double scaleIcon = 1.0; /** Scaling factor for toolbar icons */
callBacks_t *mswCallBacks[CALLBACK_CNT];
-void closeBalloonHelp(void);
+void closeBalloonHelp(int inx);
static wControl_p getControlFromCursor(HWND, wWin_p *);
+
+#ifdef BALLOON_TRACE
+// To use:
+// change logFile defn in lprintf.c from static to EXPORT
+// Run with some debug flag set to ensure logFile is set
+extern FILE * logFile;
+#endif
/*
* LOCAL VARIABLES
*/
@@ -100,14 +107,14 @@ struct wWin_t {
int max_width;
int min_height;
int max_height;
- wPos_t lastX, lastY;
- wPos_t padX, padY;
+ wWinPix_t lastX, lastY;
+ wWinPix_t padX, padY;
wControl_p first, last;
wWinCallBack_p winProc;
BOOL_T busy;
#ifdef OWNERICON
HBITMAP wicon_bm;
- wPos_t wicon_w, wicon_h;
+ wWinPix_t wicon_w, wicon_h;
#endif
DWORD baseStyle;
wControl_p focusChainFirst;
@@ -131,15 +138,15 @@ static int mResizeBorderH;
static int mMenuH;
static int screenWidth = 0, screenHeight = 0;
-wWin_p mswWin = NULL;
-wWin_p winFirst, winLast;
+static wWin_p mswWin = NULL;
+static wWin_p winFirst, winLast;
static long count51 = 0;
-static UINT alarmTimer;
-static UINT pauseTimer;
-static UINT balloonHelpTimer = (UINT)0;
-static UINT triggerTimer;
+static UINT_PTR alarmTimer;
+static UINT_PTR pauseTimer;
+static UINT_PTR balloonHelpTimer = (UINT_PTR)0;
+static UINT_PTR triggerTimer;
static UINT balloonHelpTimeOut = 500;
static wControl_p balloonHelpButton = NULL;
@@ -160,7 +167,7 @@ static DWORD dwCookie;
typedef struct {
wControl_p b;
} controlMap_t;
-dynArr_t controlMap_da;
+static dynArr_t controlMap_da;
#define controlMap(N) DYNARR_N(controlMap_t,controlMap_da,N)
@@ -177,8 +184,6 @@ static FILE * helpStrF;
#endif
static int inMainWndProc = FALSE;
-int newHelp = 1;
-
static wBool_t mswWinBlockEnabled = TRUE;
static FILE * dumpControlsF;
@@ -187,7 +192,7 @@ static int dumpControls;
extern char *userLocale;
// list of supported fileformats for image files
-char * filterImageFiles[] = { N_("All image files"),
+static char * filterImageFiles[] = { N_("All image files"),
"*.gif;*.jpg;*.jpeg;*.png;*.tif;*.tiff",
N_("GIF files (*.gif)"),
"*.gif",
@@ -251,8 +256,8 @@ static void doDumpControls(void)
b = controlMap(inx).b;
if (b) {
- fprintf(dumpControlsF, "[%0.3d] [%x] %s %s %s\n", inx,
- (unsigned int)b->hWnd,
+ fprintf(dumpControlsF, "[%0.3d] [%p] %s %s %s\n", inx,
+ b->hWnd,
(b->type>=0&&b->type<=B_BOX?controlNames[b->type]:"NOTYPE"),
(b->labelStr?b->labelStr:"<NULL>"),
(b->helpStr?b->helpStr:"<NULL>"));
@@ -303,7 +308,7 @@ void mswRepaintLabel(HWND hWnd, wControl_p b)
LABELFONTSELECT
newBrush = CreateSolidBrush(GetSysColor(COLOR_BTNFACE));
oldBrush = SelectObject(hDc, newBrush);
- dw = GetTextExtent(hDc, CAST_AWAY_CONST b->labelStr, strlen(b->labelStr));
+ dw = GetTextExtent(hDc, CAST_AWAY_CONST b->labelStr, (int)(strlen(b->labelStr)));
rect.left = b->labelX;
rect.top = b->labelY;
rect.right = b->labelX + LOWORD(dw);
@@ -313,7 +318,7 @@ void mswRepaintLabel(HWND hWnd, wControl_p b)
/*SetBkMode( hDc, OPAQUE );*/
SetBkColor(hDc, GetSysColor(COLOR_BTNFACE));
- if (!TextOut(hDc, b->labelX, b->labelY, b->labelStr, strlen(b->labelStr))) {
+ if (!TextOut(hDc, b->labelX, b->labelY, b->labelStr, (int)(strlen(b->labelStr)))) {
mswFail("Repainting text label");
}
@@ -376,14 +381,16 @@ void * mswAlloc(
w->data = data;
w->focusChainNext = NULL;
w->shown = TRUE;
+ w->hilite = FALSE;
+ w->errStr = NULL;
return w;
}
void mswComputePos(
wControl_p b,
- wPos_t origX,
- wPos_t origY)
+ wWinPix_t origX,
+ wWinPix_t origY)
{
wWin_p w = b->parent;
@@ -403,14 +410,14 @@ void mswComputePos(
b->labelY = b->y+2;
if (b->labelStr) {
- int lab_l;
+ size_t lab_l;
HDC hDc;
DWORD dw;
LABELFONTDECL
hDc = GetDC(w->hWnd);
LABELFONTSELECT
lab_l = strlen(b->labelStr);
- dw = GetTextExtent(hDc, CAST_AWAY_CONST b->labelStr, lab_l);
+ dw = GetTextExtent(hDc, CAST_AWAY_CONST b->labelStr, (UINT)lab_l);
b->labelX -= LOWORD(dw) + 5;
LABELFONTRESET
ReleaseDC(w->hWnd, hDc);
@@ -557,7 +564,7 @@ void mswSetFocus(
b->parent->focusChainNext = b;
}
}
-
+
/*
******************************************************************************
*
@@ -569,10 +576,10 @@ void mswSetFocus(
static void getSavedSizeAndPos(
long option,
const char * nameStr,
- wPos_t *rw,
- wPos_t *rh,
- wPos_t *rx,
- wPos_t *ry,
+ wWinPix_t *rw,
+ wWinPix_t *rh,
+ wWinPix_t *rx,
+ wWinPix_t *ry,
int *showCmd)
{
char *cq;
@@ -580,14 +587,31 @@ static void getSavedSizeAndPos(
if ((option&F_RECALLPOS) && nameStr) {
int x, y, w, h;
+ int xadj, yadj;
const char *cp;
int state;
+ w = h = 0;
+ xadj = 1;
+ yadj = mTitleH + 1;
+ if (option & F_RESIZE) {
+ xadj += mResizeBorderW * 2;
+ yadj += mResizeBorderH * 2;
+ }
+ else
+ {
+ xadj += mFixBorderW * 2;
+ yadj += mFixBorderH * 2;
+ }
+ //if (option & F_MENUBAR) {
+ // yadj += mMenuH;
+ //}
+
if ((option & F_RESIZE) &&
(cp = wPrefGetStringBasic("msw window size", nameStr)) &&
(state = (int)strtol(cp, &cq, 10), cp != cq) && // state is not used
- (cp = cq, w = (wPos_t)strtod(cp, &cq), cp != cq) &&
- (cp = cq, h = (int)strtod(cp, &cq), cp != cq)
+ (cp = cq, w = (wWinPix_t)(strtod(cp, &cq)), cp != cq) &&
+ (cp = cq, h = (wWinPix_t)(strtod(cp, &cq)), cp != cq)
) {
if (w < 10) {
w = 10;
@@ -597,12 +621,12 @@ static void getSavedSizeAndPos(
h = 10;
}
- if (w > screenWidth) {
- w = screenWidth;
+ if (w > screenWidth - xadj) {
+ w = screenWidth - xadj;
}
- if (h > screenHeight) {
- h = screenHeight;
+ if (h > screenHeight - yadj) {
+ h = screenHeight - yadj;
}
*rw = w;
@@ -610,8 +634,8 @@ static void getSavedSizeAndPos(
}
if ((cp = wPrefGetStringBasic("msw window pos", nameStr)) &&
- (x = (wPos_t)strtod(cp, &cq), cp != cq) &&
- (cp = cq, y = (wPos_t)strtod(cp, &cq), cp != cq)
+ (x = (wWinPix_t)(strtod(cp, &cq)), cp != cq) &&
+ (cp = cq, y = (wWinPix_t)(strtod(cp, &cq)), cp != cq)
) {
if (y < 0) {
y = 0;
@@ -621,12 +645,12 @@ static void getSavedSizeAndPos(
x = 0;
}
- if (y > screenHeight-40) {
- y = screenHeight-40;
+ if (y + h > screenHeight - yadj) {
+ y = screenHeight - yadj - h;
}
- if (x > screenWidth-40) {
- x = screenWidth-40;
+ if (x + w > screenWidth - xadj) {
+ x = screenWidth - xadj - w;
}
*rx = x;
@@ -647,12 +671,12 @@ static void getSavedSizeAndPos(
* \param aspect_ration IN unused on Windows
*/
void wSetGeometry(wWin_p win,
- int min_width,
- int max_width,
- int min_height,
- int max_height,
- int base_width,
- int base_height,
+ wWinPix_t min_width,
+ wWinPix_t max_width,
+ wWinPix_t min_height,
+ wWinPix_t max_height,
+ wWinPix_t base_width,
+ wWinPix_t base_height,
double aspect_ratio)
{
win->validGeometry = TRUE; //remember that geometry was set
@@ -690,15 +714,15 @@ static wWin_p winCommonCreate(
long style,
const char * labelStr,
wWinCallBack_p winProc,
- wPos_t w,
- wPos_t h,
+ wWinPix_t w,
+ wWinPix_t h,
void * data,
const char * nameStr,
int * pShowCmd)
{
wWin_p win;
int index;
- wPos_t ww, hh, xx, yy;
+ wWinPix_t ww, hh, xx, yy;
RECT rect;
win = (wWin_p)mswAlloc(NULL, typ, mswStrdup(labelStr), sizeof *win, data,
&index);
@@ -715,6 +739,8 @@ static wWin_p winCommonCreate(
if (typ == W_MAIN) {
*pShowCmd = ((option & F_MAXIMIZE) ? SW_SHOWMAXIMIZED : SW_SHOWNORMAL);
+ } else {
+ *pShowCmd = SW_HIDE; //Make sure to hide first
}
if (xx != CW_USEDEFAULT) {
@@ -806,8 +832,8 @@ void wInitAppName(char *_appName)
wWin_p wWinMainCreate(
const char * name,
- POS_T x,
- POS_T y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
const char * nameStr,
@@ -816,7 +842,6 @@ wWin_p wWinMainCreate(
void * data)
{
wWin_p w;
- RECT rect;
const char * appDir;
const char * libDir;
int showCmd;
@@ -877,26 +902,29 @@ wWin_p wWinMainCreate(
nameStr, &showCmd);
mswHWnd = w->hWnd;
+ //HICON hIcon = LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(0), IMAGE_ICON, 32, 32, LR_DEFAULTSIZE);
+ //HICON hIcon = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(0));
+ //SendMessage(mswHWnd, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);
+ //SendMessage(mswHWnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
+
if (!mswThickFont) {
- SendMessage(w->hWnd, WM_SETFONT, (WPARAM)mswLabelFont, 0L);
- hDc = GetDC(w->hWnd);
+ SendMessage(mswHWnd, WM_SETFONT, (WPARAM)mswLabelFont, (LPARAM)0);
+ hDc = GetDC(mswHWnd);
GetTextMetrics(hDc, &tm);
mswEditHeight = tm.tmHeight+2;
- ReleaseDC(w->hWnd, hDc);
+ ReleaseDC(mswHWnd, hDc);
}
- ShowWindow(w->hWnd, showCmd);
- UpdateWindow(w->hWnd);
- GetWindowRect(w->hWnd, &rect);
- GetClientRect(w->hWnd, &rect);
+ ShowWindow(mswHWnd, showCmd);
+ UpdateWindow(mswHWnd);
w->busy = FALSE;
return w;
}
wWin_p wWinPopupCreate(
wWin_p parent,
- POS_T x,
- POS_T y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
const char * nameStr,
@@ -1077,7 +1105,7 @@ static wAccelKey_e translateExtKey(UINT wParam)
}
-long notModKey;
+static long notModKey;
int mswTranslateAccelerator(
HWND hWnd,
LPMSG pMsg)
@@ -1091,7 +1119,7 @@ int mswTranslateAccelerator(
return FALSE;
}
- acclKey = pMsg->wParam;
+ acclKey = (long)pMsg->wParam;
b = getControlFromCursor(pMsg->hwnd, &win);
if (win == NULL) {
@@ -1112,7 +1140,7 @@ int mswTranslateAccelerator(
}
if (acclKey == (long)VK_F1) {
- closeBalloonHelp();
+ closeBalloonHelp(1);
if (!b && win) {
wHelp(win->helpStr);
@@ -1162,14 +1190,14 @@ int mswTranslateAccelerator(
-void wGetDisplaySize(POS_T * width, POS_T * height)
+void wGetDisplaySize(wWinPix_t * width, wWinPix_t * height)
{
*width = screenWidth;
*height = screenHeight;
}
-void wWinGetSize(wWin_p w, POS_T * width, POS_T * height)
+void wWinGetSize(wWin_p w, wWinPix_t * width, wWinPix_t * height)
{
RECT rect;
GetWindowRect(w->hWnd, &rect);
@@ -1181,7 +1209,7 @@ void wWinGetSize(wWin_p w, POS_T * width, POS_T * height)
}
-void wWinSetSize(wWin_p w, POS_T width, POS_T height)
+void wWinSetSize(wWin_p w, wWinPix_t width, wWinPix_t height)
{
RECT rect;
w->w = width;
@@ -1224,33 +1252,24 @@ static void blockingLoop(void)
static void savePos(wWin_p win)
{
- WINDOWPLACEMENT windowPlace;
- wPos_t w, h;
+ wWinPix_t w, h;
RECT rect;
if (win->nameStr &&
IsWindowVisible(win->hWnd) /*&& !IsIconic( win->hWnd )*/) {
- windowPlace.length = sizeof windowPlace;
- GetWindowPlacement(win->hWnd, &windowPlace);
+ GetWindowRect(win->hWnd, &rect);
- if (win->option&F_RECALLPOS) {
+ if (win->option&F_RECALLPOS) {
char posStr[20];
- wsprintf(posStr, "%d %d",
- windowPlace.rcNormalPosition.left,
- windowPlace.rcNormalPosition.top);
- wPrefSetString("msw window pos", win->nameStr, posStr);
+ wsprintf(posStr, "%d %d",
+ rect.left,
+ rect.top);
+ wPrefSetString("msw window pos", win->nameStr, posStr);
if (win->option&F_RESIZE) {
- GetClientRect(win->hWnd, &rect);
- w = windowPlace.rcNormalPosition.right - windowPlace.rcNormalPosition.left;
- h = windowPlace.rcNormalPosition.bottom - windowPlace.rcNormalPosition.top;
- w -= mResizeBorderW*2;
- h -= mResizeBorderH*2 + mTitleH;
-
- if (win->option&F_MENUBAR) {
- h -= mMenuH;
- }
-
+ GetClientRect(win->hWnd, &rect);
+ w = rect.right - rect.left;
+ h = rect.bottom - rect.top;
wsprintf(posStr, "%d %d %d",
0, // unused
w, h);
@@ -1265,7 +1284,7 @@ void wWinShow(
wWin_p win,
BOOL_T show)
{
- wPos_t x, y;
+ wWinPix_t x, y;
wWin_p win1;
win->busy = TRUE;
@@ -1292,6 +1311,10 @@ void wWinShow(
win->centerWin = FALSE;
win->shown = TRUE;
+ // Clear hilites
+ for (wControl_p controlP = win->first; controlP; controlP = controlP->next)
+ controlP->hilite = FALSE;
+
if (mswHWnd == (HWND)0 || !IsIconic(mswHWnd)) {
ShowWindow(win->hWnd, SW_SHOW);
@@ -1429,13 +1452,15 @@ const char * wWinGetTitle(
void wWinClear(
wWin_p win,
- wPos_t x,
- wPos_t y,
- wPos_t width,
- wPos_t height)
+ wWinPix_t x,
+ wWinPix_t y,
+ wWinPix_t width,
+ wWinPix_t height)
{
}
+extern long dontHideCursor;
+
void wSetCursor(wDraw_p win,
wCursor_t cursor)
{
@@ -1492,6 +1517,11 @@ void wSetCursor(wDraw_p win,
case wCursorAppStart:
SetCursor(LoadCursor(NULL, IDC_APPSTARTING));
break;
+
+ case wCursorNone:
+ if (!dontHideCursor)
+ SetCursor(NULL);
+ break;
}
curCursor = cursor;
@@ -1667,44 +1697,44 @@ const char * wControlGetHelp(wControl_p b)
}
-wPos_t wLabelWidth(const char * labelStr)
+wWinPix_t wLabelWidth(const char * labelStr)
{
- int lab_l;
+ size_t lab_l;
HDC hDc;
DWORD dw;
LABELFONTDECL
hDc = GetDC(mswHWnd);
lab_l = strlen(labelStr);
LABELFONTSELECT
- dw = GetTextExtent(hDc, CAST_AWAY_CONST labelStr, lab_l);
+ dw = GetTextExtent(hDc, CAST_AWAY_CONST labelStr, (UINT)lab_l);
LABELFONTRESET
ReleaseDC(mswHWnd, hDc);
return LOWORD(dw) + 5;
}
-wPos_t wControlGetWidth(
+wWinPix_t wControlGetWidth(
wControl_p b) /* Control */
{
return b->w;
}
-wPos_t wControlGetHeight(
+wWinPix_t wControlGetHeight(
wControl_p b) /* Control */
{
return b->h;
}
-wPos_t wControlGetPosX(
+wWinPix_t wControlGetPosX(
wControl_p b) /* Control */
{
return b->x;
}
-wPos_t wControlGetPosY(
+wWinPix_t wControlGetPosY(
wControl_p b) /* Control */
{
return b->y;
@@ -1713,21 +1743,21 @@ wPos_t wControlGetPosY(
void wControlSetPos(
wControl_p b,
- wPos_t x,
- wPos_t y)
+ wWinPix_t x,
+ wWinPix_t y)
{
b->labelX = x;
b->labelY = y+2;
if (b->labelStr) {
- int lab_l;
+ size_t lab_l;
HDC hDc;
DWORD dw;
LABELFONTDECL
hDc = GetDC(b->parent->hWnd);
LABELFONTSELECT
lab_l = strlen(b->labelStr);
- dw = GetTextExtent(hDc, CAST_AWAY_CONST b->labelStr, lab_l);
+ dw = GetTextExtent(hDc, CAST_AWAY_CONST b->labelStr, (UINT)lab_l);
b->labelX -= LOWORD(dw) + 5;
LABELFONTRESET
ReleaseDC(b->parent->hWnd, hDc);
@@ -1757,14 +1787,14 @@ void wControlSetLabel(
if (b->type == B_RADIO ) {
;
} else {
- int lab_l;
+ size_t lab_l;
HDC hDc;
DWORD dw;
LABELFONTDECL
hDc = GetDC(b->parent->hWnd);
lab_l = strlen(labelStr);
LABELFONTSELECT
- dw = GetTextExtent(hDc, CAST_AWAY_CONST labelStr, lab_l);
+ dw = GetTextExtent(hDc, CAST_AWAY_CONST labelStr, (UINT)lab_l);
LABELFONTRESET
b->labelX = b->x - LOWORD(dw) - 5;
ReleaseDC(b->parent->hWnd, hDc);
@@ -1797,13 +1827,14 @@ void wControlHilite(
return;
}
- if (!IsWindowVisible(b->parent->hWnd)) {
+ if ((b->parent==NULL) || (!IsWindowVisible(b->parent->hWnd)) || (!IsWindowVisible(b->hWnd))) {
+ b->hilite = FALSE;
return;
}
- if (!IsWindowVisible(b->hWnd)) {
- return;
- }
+ if (b->hilite == hilite)
+ return;
+ b->hilite = hilite;
hDc = GetDC(b->parent->hWnd);
newPen = ExtCreatePen(PS_GEOMETRIC | PS_SOLID | PS_ENDCAP_ROUND | PS_JOIN_BEVEL,
@@ -1840,7 +1871,7 @@ void wMessage(
{
HDC hDc;
int oldRop;
- POS_T h;
+ wWinPix_t h;
RECT rect;
LABELFONTDECL
@@ -1855,7 +1886,7 @@ void wMessage(
Rectangle(hDc, 0, h, w->w, h);
SetROP2(hDc, oldRop);
LABELFONTSELECT
- TextOut(hDc, 0, h, msg, strlen(msg));
+ TextOut(hDc, 0, h, msg, (int)(strlen(msg)));
LABELFONTRESET
ReleaseDC(w->hWnd, hDc);
}
@@ -1873,7 +1904,7 @@ unsigned wOpenFileExternal(char *file)
res = ShellExecute(mswHWnd, "open", file, NULL, NULL, SW_SHOW);
- if ((int)res <= 32) {
+ if ((UINT_PTR)res <= 32) {
wNoticeEx(NT_ERROR, "Error when opening file!", "Cancel", NULL);
return(FALSE);
}
@@ -1886,7 +1917,6 @@ void wExit(int rc)
INDEX_T inx;
wControl_p b;
mswPutCustomColors();
- wPrefFlush();
for (inx=controlMap_da.cnt-1; inx>=0; inx--) {
b = controlMap(inx).b;
@@ -1903,7 +1933,9 @@ void wExit(int rc)
}
}
- for (inx=controlMap_da.cnt-1; inx>=0; inx--) {
+ wPrefFlush("");
+
+ for (inx=controlMap_da.cnt-1; inx>=0; inx--) {
b = controlMap(inx).b;
if (b != NULL) {
@@ -1916,14 +1948,14 @@ void wExit(int rc)
controlMap(inx).b = NULL;
}
- deleteBitmaps();
+ deleteBitmaps();
if (mswOldTextFont != (HFONT)0) {
DeleteObject(mswOldTextFont);
}
if (helpInitted) {
- WinHelp(mswHWnd, helpFile, HELP_QUIT, 0L);
+ WinHelp(mswHWnd, helpFile, HELP_QUIT, (DWORD)0);
helpInitted = FALSE;
}
@@ -2165,14 +2197,14 @@ void wHelp(
{
char *pszHelpTopic;
HWND hwndHelp;
- char *theTopic = "index";
+ const char *theTopic = "index";
if (topic) {
theTopic = topic;
}
if (!helpInitted) {
- HtmlHelp(NULL, NULL, HH_INITIALIZE, (DWORD)&dwCookie) ;
+ HtmlHelp(NULL, NULL, HH_INITIALIZE, (DWORD_PTR)&dwCookie) ;
helpInitted = TRUE;
}
@@ -2199,11 +2231,12 @@ void doHelpMenu(void * context)
HH_FTS_QUERY ftsQuery;
if (!helpInitted) {
- HtmlHelp(NULL, NULL, HH_INITIALIZE, (DWORD)&dwCookie) ;
+ HtmlHelp(NULL, NULL, HH_INITIALIZE, (DWORD_PTR)&dwCookie) ;
helpInitted = TRUE;
}
- switch ((int)(long)context) {
+ const char * topic;
+ switch ((int)(INT_PTR)context) {
case 1: /* Contents */
HtmlHelp(mswHWnd, helpFile, HH_DISPLAY_TOC, (DWORD_PTR)NULL);
break;
@@ -2215,12 +2248,11 @@ void doHelpMenu(void * context)
ftsQuery.fTitleOnly = FALSE;
ftsQuery.pszSearchQuery = NULL;
ftsQuery.pszWindow = NULL;
- HtmlHelp(mswHWnd, helpFile, HH_DISPLAY_SEARCH,(DWORD)&ftsQuery);
+ HtmlHelp(mswHWnd, helpFile, HH_DISPLAY_SEARCH,(DWORD_PTR)&ftsQuery);
break;
case 3: /*Context*/
- const char * topic;
topic = GetCurCommandName();
wHelp(topic);
break;
@@ -2267,149 +2299,132 @@ void wControlSetBalloonText(wControl_p b, const char * text)
b->tipStr = mswStrdup(text);
}
-
-void startBalloonHelp(void)
+void openBalloonHelp(wControl_p b, int dx, int dy)
{
- HDC hDc;
- DWORD extent;
- RECT rect;
- POINT pt;
- wBalloonHelp_t * bh;
- const char * hs;
- HFONT hFont;
-
- if (!balloonHelpStrings) {
- return;
- }
-
- if (!balloonHelpEnable) {
- return;
- }
-
- if (balloonHelpHWnd) {
- if (balloonHelpButton->tipStr) {
- hs = balloonHelpButton->tipStr;
- } else {
- hs = balloonHelpButton->helpStr;
-
- if (!hs) {
- return;
- }
-
- for (bh = balloonHelpStrings; bh->name && strcmp(bh->name,hs) != 0; bh++);
-
- if (!bh->name || !bh->value) {
- return;
- }
+ HDC hDc;
+ DWORD extent;
+ RECT rect;
+ POINT pt;
+ HFONT hFont;
+ const char * msg;
+ if (b->errStr) {
+ msg = b->errStr;
+ }
+ else {
+ msg = b->tipStr;
+ if (!balloonHelpEnable) {
+#ifdef BALLOON_TRACE
+ fprintf(logFile, "openBalloon !Enable state %d\n", balloonHelpState); fflush(logFile);
+#endif
+ return;
+ }
+ }
+#ifdef BALLOON_TRACE
+ fprintf(logFile, "openBalloon %s state %d\n", msg, balloonHelpState); fflush(logFile);
+#endif
+ if (!balloonHelpHWnd)
+ return;
+ int w, h;
+ hDc = GetDC(balloonHelpHWnd);
+ hFont = SelectObject(hDc, mswLabelFont);
+ extent = GetTextExtent(hDc, CAST_AWAY_CONST msg, (int)(strlen(msg)));
+ w = LOWORD(extent);
+ h = HIWORD(extent);
+
+ if (b->type == B_RADIO ||
+ b->type == B_TOGGLE) {
+ pt.y = b->h;
+ }
+ else {
+ GetClientRect(b->hWnd, &rect);
+ pt.y = rect.bottom;
+ }
- balloonHelpButton->tipStr = hs = bh->value;
- }
+ pt.x = dx;
+ pt.y -= dy;
+ ClientToScreen(b->hWnd, &pt);
- if (newHelp) {
- wControlSetBalloon(balloonHelpButton, 0, 0, hs);
- } else {
- int w, h;
- hDc = GetDC(balloonHelpHWnd);
- hFont = SelectObject(hDc, mswLabelFont);
- extent = GetTextExtent(hDc, CAST_AWAY_CONST hs, strlen(hs));
- w = LOWORD(extent);
- h = HIWORD(extent);
- pt.x = 0;
-
- if (balloonHelpButton->type == B_RADIO ||
- balloonHelpButton->type == B_TOGGLE) {
- pt.y = balloonHelpButton->h;
- } else {
- GetClientRect(balloonHelpButton->hWnd, &rect);
- pt.y = rect.bottom;
- }
+ if (pt.x + w + 2 > screenWidth) {
+ pt.x = screenWidth - (w + 2);
+ }
- ClientToScreen(balloonHelpButton->hWnd, &pt);
+ if (pt.x < 0) {
+ pt.x = 0;
+ }
- if (pt.x + w+2 > screenWidth) {
- pt.x = screenWidth-(w+2);
- }
+ SetWindowPos(balloonHelpHWnd, HWND_TOPMOST, pt.x, pt.y, w + 6, h + 4,
+ SWP_SHOWWINDOW | SWP_NOACTIVATE);
+ if (!b->errStr) {
+ SetBkColor(hDc, GetSysColor(COLOR_INFOBK));
+ SetTextColor(hDc, GetSysColor(COLOR_INFOTEXT));
+ } else {
+ SetBkColor(hDc, GetSysColor(COLOR_HIGHLIGHT));
+ SetTextColor(hDc, GetSysColor(COLOR_HIGHLIGHTTEXT));
+ }
+ TextOut(hDc, 2, 1, msg, (int)(strlen(msg)));
+ SelectObject(hDc, hFont);
+ ReleaseDC(balloonHelpHWnd, hDc);
+ balloonHelpState = balloonHelpShow;
+ balloonControlButton = b;
+}
- if (pt.x < 0) {
- pt.x = 0;
- }
- SetWindowPos(balloonHelpHWnd, HWND_TOPMOST, pt.x, pt.y, w+6, h+4,
- SWP_SHOWWINDOW|SWP_NOACTIVATE);
- SetBkColor(hDc, GetSysColor(COLOR_INFOBK));
- TextOut(hDc, 2, 1, hs, strlen(hs));
- SelectObject(hDc, hFont);
- ReleaseDC(balloonHelpHWnd, hDc);
- }
- }
-}
-void closeBalloonHelp(void)
+void startBalloonHelp(void)
{
- if (balloonHelpTimer) {
- KillTimer(mswHWnd, balloonHelpTimer);
- balloonHelpTimer = 0;
- }
-
- if (balloonHelpState == balloonHelpShow)
- if (balloonHelpHWnd) {
- ShowWindow(balloonHelpHWnd, SW_HIDE);
- }
+ wBalloonHelp_t * bh;
+
+ if (!balloonHelpButton->tipStr) {
+ if (!balloonHelpStrings)
+ return;
+ for (bh = balloonHelpStrings; bh->name && strcmp(bh->name, balloonHelpButton->helpStr) != 0; bh++);
+ if (!bh->name || !bh->value)
+ balloonHelpButton->tipStr = _(balloonHelpButton->helpStr);
+ else
+ balloonHelpButton->tipStr = _(bh->value);
+ }
- balloonHelpState = balloonHelpIdle;
+ openBalloonHelp(balloonHelpButton, 0, 0);
}
-void wControlSetBalloon(wControl_p b, wPos_t dx, wPos_t dy, const char * msg)
+void closeBalloonHelp(int inx)
{
- HDC hDc;
- DWORD extent;
- RECT rect;
- POINT pt;
- HFONT hFont;
-
- if (msg) {
- int w, h;
- hDc = GetDC(balloonHelpHWnd);
- hFont = SelectObject(hDc, mswLabelFont);
- extent = GetTextExtent(hDc, CAST_AWAY_CONST msg, strlen(msg));
- w = LOWORD(extent);
- h = HIWORD(extent);
-
- if (b->type == B_RADIO ||
- b->type == B_TOGGLE) {
- pt.y = b->h;
- } else {
- GetClientRect(b->hWnd, &rect);
- pt.y = rect.bottom;
- }
+#ifdef BALLOON_TRACE
+ fprintf(logFile, "closeBallonHelp %d state=%d\n", inx, balloonHelpState); fflush(logFile);
+#endif
+ if (balloonHelpTimer) {
+ KillTimer(mswHWnd, balloonHelpTimer);
+ balloonHelpTimer = (UINT_PTR)0;
+ }
- pt.x = dx;
- pt.y -= dy;
- ClientToScreen(b->hWnd, &pt);
+ if (balloonHelpState == balloonHelpShow)
+ if (balloonHelpHWnd) {
+ ShowWindow(balloonHelpHWnd, SW_HIDE);
+ }
- if (pt.x + w+2 > screenWidth) {
- pt.x = screenWidth-(w+2);
- }
+ balloonHelpState = balloonHelpIdle;
+}
- if (pt.x < 0) {
- pt.x = 0;
- }
- SetWindowPos(balloonHelpHWnd, HWND_TOPMOST, pt.x, pt.y, w+6, h+4,
- SWP_SHOWWINDOW|SWP_NOACTIVATE);
- SetBkColor(hDc, GetSysColor(COLOR_INFOBK));
- TextOut(hDc, 2, 1, msg, strlen(msg));
- SelectObject(hDc, hFont);
- ReleaseDC(balloonHelpHWnd, hDc);
- balloonHelpState = balloonHelpShow;
- balloonControlButton = b;
- } else {
- closeBalloonHelp();
- }
+void wControlSetBalloon(wControl_p b, wWinPix_t dx, wWinPix_t dy, const char * msg)
+{
+ if (msg) {
+ if (b->errStr)
+ free(b->errStr);
+ b->errStr = mswStrdup(msg);
+ openBalloonHelp(b, dx, dy);
+ }
+ else {
+ if (b->errStr)
+ free(b->errStr);
+ b->errStr = NULL;
+ closeBalloonHelp(2);
+ }
}
+
int wGetKeyState(void)
{
int rc, keyState;
@@ -2613,7 +2628,7 @@ struct wFilSel_t * wFilSelCreate(
{
char * cp;
struct wFilSel_t * ret;
- int len;
+ size_t len;
ret = (struct wFilSel_t*)malloc(sizeof *ret);
ret->parent = parent;
ret->mode = mode;
@@ -2671,7 +2686,7 @@ const char * wMemStats(void)
", Unknown Heap Status");
return msg;
}
-
+
/*
*****************************************************************************
*
@@ -2750,8 +2765,7 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
int inx;
wWin_p w;
wControl_p b, oldW;
- int child = ((GetWindowLong(hWnd, GWL_STYLE) & WS_CHILD) != 0);
- POS_T newW, newH;
+ wWinPix_t newW, newH;
RECT rect;
PAINTSTRUCT ps;
HWND hWnd2;
@@ -2759,9 +2773,10 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
HDC hDc;
wAccelKey_e extChar;
+ LPMINMAXINFO pMMI;
switch (message) {
case WM_GETMINMAXINFO:
- LPMINMAXINFO pMMI = (LPMINMAXINFO)lParam;
+ pMMI = (LPMINMAXINFO)lParam;
inx = GetWindowWord(hWnd, 0);
if (inx >= CONTROL_BASE && inx <= controlMap_da.cnt) {
@@ -2775,7 +2790,7 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
}
}
}
- return(0);
+ return (LRESULT)0;
case WM_MOUSEWHEEL:
inx = GetWindowWord(hWnd, 0);
@@ -2787,12 +2802,12 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
return mswCallBacks[b->type]->messageProc((wControl_p)b, hWnd,
message, wParam, lParam);
- return (0);
+ return (LRESULT)0;
- case WM_DRAWITEM:
- case WM_COMMAND:
+ case WM_COMMAND:
+ closeBalloonHelp(3);
+ case WM_DRAWITEM:
case WM_MEASUREITEM:
- closeBalloonHelp();
if (WCMD_PARAM_ID < CONTROL_BASE || WCMD_PARAM_ID > (WPARAM)controlMap_da.cnt) {
break;
@@ -2808,10 +2823,10 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
// draw the bitmap
mswDrawIcon(((LPDRAWITEMSTRUCT)lParam)->hDC, 0, 0, (wIcon_p)(b->data), FALSE,
(COLORREF)0, (COLORREF)0);
- return (TRUE);
+ return (LRESULT)TRUE;
} else {
mswSetFocus(b);
- ret = 0L;
+ ret = 0;
if (!inMainWndProc) {
inMainWndProc = TRUE;
@@ -2824,7 +2839,7 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
inMainWndProc = FALSE;
}
- return ret;
+ return (LRESULT)ret;
}
case WM_PAINT:
@@ -2846,7 +2861,7 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
}
EndPaint(hWnd, &ps);
- return 1L;
+ return (LRESULT)1;
}
break;
@@ -2942,9 +2957,19 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
}
b = getControlFromCursor(hWnd, NULL);
- closeBalloonHelp();
+ closeBalloonHelp(4);
if (b && b->type == B_DRAW) {
+ // Change Num keypad to a special code to emulate cursor keys
+ if (wParam == VK_UP ||
+ wParam == VK_DOWN ||
+ wParam == VK_RIGHT ||
+ wParam == VK_LEFT ||
+ wParam == VK_INSERT ||
+ wParam == VK_DELETE)
+ {
+ if ((lParam & 0x1000000) == 0) lParam |= 0x1000000;
+ }
return SendMessage(b->hWnd, WM_CHAR, wParam, lParam);
}
@@ -2967,7 +2992,7 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
}
}
- return 0L;
+ return (LRESULT)0;
case 0x1B:
@@ -2988,7 +3013,7 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
}
mswSetTrigger((wControl_p)TRIGGER_TIMER, NULL);
- return 0L;
+ return (LRESULT)0;
case 0x20:
@@ -3010,7 +3035,7 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
}
}
- return 0L;
+ return (LRESULT)0;
case 0x09:
@@ -3041,16 +3066,16 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
}
}
- return 0L;
+ return (LRESULT)0;
}
/* Not a Draw control */
MessageBeep(MB_ICONHAND);
- return 0L;
+ return (LRESULT)0;
break;
case WM_ENABLE:
- if (wParam == 1) { /* WIN32??? */
+ if (wParam == (WPARAM)1) {
hWnd2 = SetFocus(hWnd);
}
@@ -3068,53 +3093,70 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
break;
}
- closeBalloonHelp();
+ closeBalloonHelp(5);
wHelp(b->helpStr);
- return 0L;
+ return (LRESULT)0;
case WM_SETCURSOR:
- /*if (any buttons down)
- break;*/
- wSetCursor(NULL, curCursor);
+ if (hWnd == mswHWnd)
+ wSetCursor(NULL, curCursor);
- if (!mswAllowBalloonHelp) {
- return TRUE;
- }
-
- if (IsIconic(mswHWnd)) {
- return TRUE;
- }
+ if (!mswAllowBalloonHelp) {
+ break;
+ }
- b = getControlFromCursor(hWnd, NULL);
+ if (IsIconic(mswHWnd)) {
+ break;
+ }
- if (b == balloonControlButton) {
- return TRUE;
- }
+ b = getControlFromCursor(hWnd, NULL);
+
+#ifdef BALLOON_TRACE
+ fprintf(logFile, "SETCURSOR %s\n", b ? b->helpStr : "NULL"); fflush(logFile);
+#endif
+ if (b == balloonControlButton) {
+ //closeBalloonHelp(61);
+ break;
+ }
- if (/*(!IsWindowEnabled(hWnd))*/ GetActiveWindow() != hWnd ||
- (!b) || b->type == B_DRAW || b->helpStr == NULL) {
- closeBalloonHelp();
- return TRUE;
- }
+ if (GetActiveWindow() != hWnd) {
+ closeBalloonHelp(62);
+ break;
+ }
+ if (!b) {
+ closeBalloonHelp(63);
+ break;
+ }
+ if (b->type == B_DRAW) {
+ closeBalloonHelp(64);
+ break;
+ }
+ if (b->helpStr == NULL) {
+ closeBalloonHelp(65);
+ break;
+ }
- if (b != balloonHelpButton) {
- closeBalloonHelp();
- }
+ if (b != balloonHelpButton) {
+ closeBalloonHelp(7);
+ }
+#ifdef BALLOON_TRACE
+ fprintf(logFile, "SETCURSOR state %d\n", balloonHelpState); fflush(logFile);
+#endif
+ if (balloonHelpState != balloonHelpIdle) {
+ break;
+ }
- if (balloonHelpState != balloonHelpIdle) {
- return TRUE;
- }
+ balloonHelpTimer = SetTimer(mswHWnd, BALLOONHELP_TIMER,
+ balloonHelpTimeOut, NULL);
- balloonHelpTimer = SetTimer(mswHWnd, BALLOONHELP_TIMER,
- balloonHelpTimeOut, NULL);
+ if (balloonHelpTimer == (UINT_PTR)0) {
+ break;
+ }
- if (balloonHelpTimer == (UINT)0) {
- return TRUE;
- }
+ balloonHelpState = balloonHelpWait;
+ balloonHelpButton = b;
+ break;
- balloonHelpState = balloonHelpWait;
- balloonHelpButton = b;
- return TRUE;
case WM_SYSCOMMAND:
inx = GetWindowWord(hWnd, 0);
@@ -3146,7 +3188,7 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
}
wWinShow(w, FALSE);
- return 0L;
+ return (LRESULT)0;
case WM_CLOSE:
inx = GetWindowWord(hWnd, 0);
@@ -3168,13 +3210,13 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
(w->winProc(w, wClose_e, NULL, NULL));
}
- return 0L;
+ return (LRESULT)0;
}
case WM_DESTROY:
if (hWnd == mswHWnd) {
PostQuitMessage(0L);
- return 0L;
+ return (LRESULT)0;
}
break;
@@ -3192,15 +3234,15 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
}
} else if (wParam == BALLOONHELP_TIMER) {
KillTimer(hWnd, balloonHelpTimer);
- balloonHelpTimer = (UINT)0;
+ balloonHelpTimer = (UINT_PTR)0;
startBalloonHelp();
}
- return 0L;
+ return (LRESULT)0;
case WM_MENUSELECT:
mswAllowBalloonHelp = TRUE;
- closeBalloonHelp();
+ closeBalloonHelp(8);
break;
case WM_WINDOWPOSCHANGED:
@@ -3226,7 +3268,7 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
case WM_PALETTECHANGED:
if (wParam == (WPARAM)hWnd) {
- return 0L;
+ return (LRESULT)0;
}
case WM_QUERYNEWPALETTE:
@@ -3240,12 +3282,12 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
InvalidateRect(hWnd, NULL, TRUE);
}
- return inx;
+ return (LRESULT)inx;
}
case WM_ACTIVATE:
if (LOWORD(wParam) == WA_INACTIVE) {
- closeBalloonHelp();
+ closeBalloonHelp(9);
}
break;
@@ -3272,7 +3314,7 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
inMainWndProc = FALSE;
}
- return ret;
+ return (LRESULT)ret;
case WM_LBUTTONDOWN:
case WM_MOUSEMOVE:
@@ -3297,7 +3339,7 @@ MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
inMainWndProc = FALSE;
}
- return ret;
+ return (LRESULT)ret;
default:
;
@@ -3414,9 +3456,9 @@ int PASCAL WinMain(HINSTANCE hinstCurrent, HINSTANCE hinstPrevious,
mResizeBorderW = GetSystemMetrics(SM_CXFRAME);
mResizeBorderH = GetSystemMetrics(SM_CYFRAME);
mMenuH = GetSystemMetrics(SM_CYMENU) + 1;
- screenWidth = GetSystemMetrics(SM_CXSCREEN);
- screenHeight = GetSystemMetrics(SM_CYSCREEN);
- mswLabelFont = GetStockObject(DEFAULT_GUI_FONT);
+ screenWidth = GetSystemMetrics(SM_CXFULLSCREEN);
+ screenHeight = GetSystemMetrics(SM_CYFULLSCREEN);
+ mswLabelFont = GetStockObject(DEFAULT_GUI_FONT);
hDc = GetDC(0);
mswScale = GetDeviceCaps(hDc, LOGPIXELSX) / 96.0;
@@ -3467,5 +3509,5 @@ int PASCAL WinMain(HINSTANCE hinstCurrent, HINSTANCE hinstPrevious,
HtmlHelp(NULL, NULL, HH_UNINITIALIZE, (DWORD)dwCookie);
}
- return msg.wParam;
+ return (int)msg.wParam;
}
diff --git a/app/wlib/mswlib/mswmsg.c b/app/wlib/mswlib/mswmsg.c
index 6445299..8487e31 100644
--- a/app/wlib/mswlib/mswmsg.c
+++ b/app/wlib/mswlib/mswmsg.c
@@ -21,17 +21,12 @@
#define SCALE_LARGE 1.6
#define SCALE_SMALL 0.8
-#ifdef CONTROL3D
-static int messageHeight = 18;
-#endif
-
struct wMessage_t {
WOBJ_COMMON
long flags;
const char * message;
};
-#ifndef CONTROL3D
static void repaintMessage(
HWND hWnd,
wControl_p b )
@@ -83,7 +78,7 @@ static void repaintMessage(
rect.left = bm->x;
SetBkColor( hDc, GetSysColor( COLOR_BTNFACE ) );
- ExtTextOut( hDc, bm->x, bm->y + ((bm->h + 2 - textMetrics.tmHeight) / 2), ETO_CLIPPED|ETO_OPAQUE, &rect, bm->message, strlen( bm->message ), NULL );
+ ExtTextOut( hDc, bm->x, bm->y + ((bm->h + 2 - textMetrics.tmHeight) / 2), ETO_CLIPPED|ETO_OPAQUE, &rect, bm->message, (int)(strlen( bm->message )), NULL );
if( scale != 1.0 )
/* in case we did create a new font earlier, delete it now */
@@ -94,7 +89,6 @@ static void repaintMessage(
ReleaseDC( hWnd, hDc );
}
-#endif
void wMessageSetValue(
wMessage_p b,
@@ -106,34 +100,26 @@ void wMessageSetValue(
b->message = mswStrdup( arg );
else
b->message = NULL;
-#ifdef CONTROL3D
- SetWindowText( b->hWnd, arg );
-#else
+
repaintMessage( ((wControl_p)(b->parent))->hWnd, (wControl_p)b );
-#endif
+
}
void wMessageSetWidth(
wMessage_p b,
- wPos_t width )
+ wWinPix_t width )
{
b->w = width;
-#ifdef CONTROL3D
- SetWindowPos( b->hWnd, HWND_TOP, CW_USEDEFAULT, CW_USEDEFAULT,
- width, messageHeight, SWP_NOMOVE );
-#endif
+
}
-wPos_t wMessageGetWidth(const char *string)
+wWinPix_t wMessageGetWidth(const char *string)
{
return(wLabelWidth(string));
}
-wPos_t wMessageGetHeight( long flags )
+wWinPix_t wMessageGetHeight( long flags )
{
-#ifdef CONTROL3D
- return messageHeight;
-#else
double scale = 1.0;
if( flags & BM_LARGE )
@@ -141,8 +127,8 @@ wPos_t wMessageGetHeight( long flags )
if( flags & BM_SMALL )
scale = SCALE_SMALL;
- return((wPos_t)((mswEditHeight) * scale ));
-#endif
+ return((wWinPix_t)((mswEditHeight) * scale ));
+
}
static void mswMessageSetBusy(
@@ -152,68 +138,39 @@ static void mswMessageSetBusy(
}
-#ifndef CONTROL3D
+
static callBacks_t messageCallBacks = {
repaintMessage,
NULL,
NULL,
mswMessageSetBusy };
-#endif
-
wMessage_p wMessageCreateEx(
wWin_p parent,
- POS_T x,
- POS_T y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
- POS_T width,
+ wWinPix_t width,
const char *message,
long flags )
{
wMessage_p b;
int index;
-#ifdef CONTROL3D
- RECT rect;
-#endif
-
+
b = (wMessage_p)mswAlloc( parent, B_MESSAGE, NULL, sizeof *b, NULL, &index );
mswComputePos( (wControl_p)b, x, y );
b->option |= BO_READONLY;
b->message = mswStrdup( message );
b->flags = flags;
-#ifdef CONTROL3D
- if ( width <= 0 && strlen(b->message) > 0 ) {
- width = wLabelWidth( b->message );
- }
-
- b->hWnd = CreateWindow( "STATIC", NULL,
- SS_LEFTNOWORDWRAP | WS_CHILD | WS_VISIBLE,
- b->x, b->y,
- width, messageHeight,
- ((wControl_p)parent)->hWnd, (HMENU)index, mswHInst, NULL );
- if (b->hWnd == NULL) {
- mswFail("CreateWindow(MESSAGE)");
- return b;
- }
-
- if ( !mswThickFont )
- SendMessage( b->hWnd, WM_SETFONT, (WPARAM)mswLabelFont, 0L );
- SetWindowText( b->hWnd, message );
-
- GetWindowRect( b->hWnd, &rect );
- b->w = rect.right - rect.left;
- b->h = rect.bottom - rect.top;
-#else
b->w = width;
b->h = wMessageGetHeight( flags ) + 1;
repaintMessage( ((wControl_p)parent)->hWnd, (wControl_p)b );
-#endif
+
mswAddButton( (wControl_p)b, FALSE, helpStr );
-#ifndef CONTROL3D
mswCallBacks[B_MESSAGE] = &messageCallBacks;
-#endif
+
return b;
}
diff --git a/app/wlib/mswlib/mswpref.c b/app/wlib/mswlib/mswpref.c
index 201171a..55fedb4 100644
--- a/app/wlib/mswlib/mswpref.c
+++ b/app/wlib/mswlib/mswpref.c
@@ -5,7 +5,6 @@
#include <commdlg.h>
#include <math.h>
#include <stdio.h>
-#include "misc.h"
#include "mswint.h"
#include <shlobj.h>
#include <Shlwapi.h>
@@ -40,13 +39,15 @@ const char * wGetAppLibDir( void )
*cp = '\0';
#ifdef XTRKCAD_CMAKE_BUILD
- strcpy(appLibDirName, module_name);
- strcat(appLibDirName, "\\..\\share\\xtrkcad");
+ strncpy(appLibDirName, module_name, sizeof(appLibDirName));
+ size_t len = sizeof(appLibDirName)-strlen(appLibDirName)-1;
+ strncat(appLibDirName, "\\..\\share\\xtrkcad", len);
_fullpath( appLibDirName, appLibDirName, MAX_PATH );
return appLibDirName;
#endif
- strcpy(appLibDirName, module_name);
+ strncpy(appLibDirName, module_name, sizeof(appLibDirName));
+ appLibDirName[sizeof(appLibDirName)-1] = '\0';
return appLibDirName;
}
@@ -73,11 +74,12 @@ const char * wGetAppWorkDir( void )
return appWorkDirName;
}
wGetAppLibDir();
- sprintf( mswTmpBuff, "%s\\xtrkcad0.ini", appLibDirName );
+ snprintf( mswTmpBuff, sizeof(mswTmpBuff), "%s\\xtrkcad0.ini", appLibDirName );
rc = GetPrivateProfileString( "workdir", "path", "", appWorkDirName, sizeof appWorkDirName, mswTmpBuff );
if ( rc!=0 ) {
if ( stricmp( appWorkDirName, "installdir" ) == 0 ) {
- strcpy( appWorkDirName, appLibDirName );
+ strncpy( appWorkDirName, appLibDirName, sizeof(appWorkDirName) );
+ appWorkDirName[sizeof(appWorkDirName)-1] = '\0';
} else {
cp = &appWorkDirName[strlen(appWorkDirName)-1];
while (cp>appWorkDirName && *cp == '\\') *cp-- = 0;
@@ -89,7 +91,7 @@ const char * wGetAppWorkDir( void )
wNoticeEx( NT_ERROR, "Cannot get user's profile directory", "Exit", NULL );
wExit(0);
} else {
- sprintf( appWorkDirName, "%s\\%s", mswTmpBuff, "XTrackCad" );
+ snprintf( appWorkDirName, sizeof(appWorkDirName), "%s\\%s", mswTmpBuff, "XTrackCad" );
if( !PathIsDirectory( appWorkDirName )) {
if( !CreateDirectory( appWorkDirName, NULL )) {
wNoticeEx( NT_ERROR, "Cannot create user's profile directory", "Exit", NULL );
@@ -125,7 +127,8 @@ typedef struct {
BOOL_T dirty;
char * val;
} prefs_t;
-dynArr_t prefs_da;
+
+static dynArr_t prefs_da;
#define prefs(N) DYNARR_N(prefs_t,prefs_da,N)
void wPrefSetString( const char * section, const char * name, const char * sval )
@@ -149,6 +152,17 @@ void wPrefSetString( const char * section, const char * name, const char * sval
p->val = mswStrdup(sval);
}
+void wPrefsLoad(char * name) {
+ prefs_t *p;
+ for (int i= 0; i<prefs_da.cnt; i++) {
+ p = &prefs(i);
+ if (!name || !name[0]) name = mswProfileFile;
+ int rc = GetPrivateProfileString( p->section, p->name, "", mswTmpBuff, sizeof mswTmpBuff, name );
+ if (rc==0)
+ continue;
+ p->val = mswStrdup(mswTmpBuff);
+ }
+}
char * wPrefGetStringBasic( const char * section, const char * name )
{
@@ -160,6 +174,7 @@ char * wPrefGetStringBasic( const char * section, const char * name )
return p->val;
}
}
+
rc = GetPrivateProfileString( section, name, "", mswTmpBuff, sizeof mswTmpBuff, mswProfileFile );
if (rc==0)
return NULL;
@@ -177,7 +192,7 @@ void wPrefSetInteger( const char * section, const char * name, long lval )
{
char tmp[20];
- sprintf( tmp, "%ld", lval );
+ snprintf( tmp, sizeof(tmp), "%ld", lval );
wPrefSetString( section, name, tmp );
}
@@ -214,7 +229,7 @@ void wPrefSetFloat(
{
char tmp[20];
- sprintf(tmp, "%0.6f", lval );
+ snprintf(tmp, sizeof(tmp), "%0.6f", lval );
wPrefSetString( section, name, tmp );
}
@@ -244,15 +259,20 @@ wBool_t wPrefGetFloatBasic(
}
-void wPrefFlush( void )
+void wPrefFlush( char * name )
{
prefs_t * p;
for (p=&prefs(0); p<&prefs(prefs_da.cnt); p++) {
- if ( p->dirty )
+ if (name && name[0])
+ WritePrivateProfileString( p->section, p->name, p->val, name );
+ else if (p->dirty)
WritePrivateProfileString( p->section, p->name, p->val, mswProfileFile );
}
- WritePrivateProfileString( NULL, NULL, NULL, mswProfileFile );
+ if (name && name[0])
+ WritePrivateProfileString( NULL, NULL, NULL, name );
+ else
+ WritePrivateProfileString( NULL, NULL, NULL, mswProfileFile );
}
@@ -273,3 +293,4 @@ void wPrefReset(
}
prefs_da.cnt = 0;
}
+
diff --git a/app/wlib/mswlib/mswprint.c b/app/wlib/mswlib/mswprint.c
index 13756c7..e38ca05 100644
--- a/app/wlib/mswlib/mswprint.c
+++ b/app/wlib/mswlib/mswprint.c
@@ -4,9 +4,6 @@
#include <stdlib.h>
#include <commdlg.h>
#include <math.h>
-#ifndef WIN32
-#include <print.h>
-#endif
#include "mswint.h"
/*
@@ -18,13 +15,9 @@
*/
-struct wDraw_t print_d;
+static struct wDraw_t print_d;
-#ifdef WIN32
-struct tagPDA printDlg;
-#else
-struct tagPD printDlg;
-#endif
+static struct tagPDA printDlg;
static int printStatus = FALSE;
static DOCINFO docInfo;
static double tBorder = 0.0, rBorder = 0.0, bBorder = 0.0, lBorder = 0.0;
@@ -35,7 +28,7 @@ static HPALETTE newPrintPalette;
static HPALETTE oldPrintPalette;
-void wPrintClip( wPos_t x, wPos_t y, wPos_t w, wPos_t h )
+void wPrintClip( wDrawPix_t x, wDrawPix_t y, wDrawPix_t w, wDrawPix_t h )
{
wDrawClip( &print_d, x, y, w, h );
}
@@ -196,9 +189,9 @@ void wPrintSetup( wPrintSetupCallBack_p callback )
if (PrintDlg(&printDlg) != 0 && printDlg.hDC) {
getPageDim( printDlg.hDC );
}
- if ( callback ) {
- callback( TRUE );
- }
+ //if ( callback ) {
+ // callback( TRUE );
+ //}
}
const char* wPrintGetName()
@@ -255,8 +248,8 @@ HDC mswGetPrinterDC( void )
static wBool_t printAbort = FALSE;
-HWND hAbortDlgWnd;
-FARPROC lpAbortDlg, lpAbortProc;
+static HWND hAbortDlgWnd;
+static FARPROC lpAbortDlg, lpAbortProc;
static int pageNumber;
int FAR PASCAL mswAbortDlg( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
diff --git a/app/wlib/mswlib/mswsplash.c b/app/wlib/mswlib/mswsplash.c
index 172b563..bd7644f 100644
--- a/app/wlib/mswlib/mswsplash.c
+++ b/app/wlib/mswlib/mswsplash.c
@@ -41,9 +41,9 @@ static HWND hSplash;
static LPWORD lpwAlign( LPWORD lpIn )
{
- ULONG ul;
+ ULONGLONG ul;
- ul = (ULONG) lpIn;
+ ul = (ULONGLONG) lpIn;
ul +=3;
ul >>=2;
ul <<=2;
@@ -148,7 +148,7 @@ wCreateSplash( char *appname, char *appver )
cyDlgUnit = HIWORD(GetDialogBaseUnits());
/* load the logo bitmap */
- sprintf( logoPath, "%s\\logo.bmp", wGetAppLibDir());
+ snprintf( logoPath, sizeof(logoPath), "%s\\logo.bmp", wGetAppLibDir());
hBmp = LoadImage( mswHInst, logoPath, IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR | LR_LOADFROMFILE );
if( !hBmp )
return( 0 );
@@ -266,4 +266,5 @@ wDestroySplash(void)
{
DestroyWindow( hSplash );
return;
-} \ No newline at end of file
+}
+
diff --git a/app/wlib/mswlib/mswstatus.c b/app/wlib/mswlib/mswstatus.c
index f9d72f4..1502a4e 100644
--- a/app/wlib/mswlib/mswstatus.c
+++ b/app/wlib/mswlib/mswstatus.c
@@ -59,10 +59,10 @@ void wStatusSetValue(
wStatus_p wStatusCreate(
wWin_p parent,
- wPos_t x,
- wPos_t y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * labelStr,
- wPos_t width,
+ wWinPix_t width,
const char *message)
{
return (wStatus_p)wMessageCreateEx(parent, x, y, labelStr, width, message, 0);
@@ -75,7 +75,7 @@ wStatus_p wStatusCreate(
* \return expected width of message box
*/
-wPos_t
+wWinPix_t
wStatusGetWidth(const char *testString)
{
return (wMessageGetWidth(testString));
@@ -88,7 +88,7 @@ wStatusGetWidth(const char *testString)
* \return text height
*/
-wPos_t wStatusGetHeight(
+wWinPix_t wStatusGetHeight(
long flags)
{
return (wMessageGetHeight(flags));
@@ -104,7 +104,7 @@ wPos_t wStatusGetHeight(
void wStatusSetWidth(
wStatus_p b,
- wPos_t width)
+ wWinPix_t width)
{
wMessageSetWidth((wMessage_p)b, width);
-} \ No newline at end of file
+}
diff --git a/app/wlib/mswlib/mswtext.c b/app/wlib/mswlib/mswtext.c
index 0a0ce88..b43a5d4 100644
--- a/app/wlib/mswlib/mswtext.c
+++ b/app/wlib/mswlib/mswtext.c
@@ -58,23 +58,17 @@ struct wText_t {
HANDLE hText;
};
-BOOL_T textPrintAbort = FALSE;
-
void wTextClear(
wText_p b)
{
- long rc;
- rc = SendMessage(b->hWnd, EM_SETREADONLY, 0, 0L);
-#ifdef WIN32
- rc = SendMessage(b->hWnd, EM_SETSEL, 0, -1);
-#else
- rc = SendMessage(b->hWnd, EM_SETSEL, 1, MAKELONG(0, -1));
-#endif
- rc = SendMessage(b->hWnd, WM_CLEAR, 0, 0L);
+ LRESULT rc;
+ rc = SendMessage(b->hWnd, EM_SETREADONLY, (WPARAM)0, (LPARAM)0);
+ rc = SendMessage(b->hWnd, EM_SETSEL, (WPARAM)0, (LPARAM)-1);
+ rc = SendMessage(b->hWnd, WM_CLEAR, (WPARAM)0, (LPARAM)0);
if (b->option&BO_READONLY) {
- rc = SendMessage(b->hWnd, EM_SETREADONLY, 1, 0L);
+ rc = SendMessage(b->hWnd, EM_SETREADONLY, (WPARAM)1, (LPARAM)0);
}
}
@@ -97,7 +91,7 @@ void wTextAppend(
char *buffer;
char *extText;
int textSize;
- int len = strlen(text);
+ size_t len = strlen(text);
if (!len) {
return;
@@ -135,11 +129,11 @@ void wTextAppend(
}
if (b->option&BO_READONLY) {
- SendMessage(b->hWnd, EM_SETREADONLY, 1, 0L);
+ SendMessage(b->hWnd, EM_SETREADONLY, (WPARAM)1, (LPARAM)0);
}
// scroll to bottom of text box
- SendMessage(b->hWnd, EM_LINESCROLL, 0, 10000L);
+ SendMessage(b->hWnd, EM_LINESCROLL, (WPARAM)0, (LPARAM)10000);
}
@@ -157,11 +151,11 @@ BOOL_T wTextSave(
return FALSE;
}
- lc = (int)SendMessage(b->hWnd, EM_GETLINECOUNT, 0, 0L);
+ lc = (int)SendMessage(b->hWnd, EM_GETLINECOUNT, (WPARAM)0, (LPARAM)0);
for (l=0; l<lc; l++) {
*(WORD*)line = sizeof(line)-1;
- len = (int)SendMessage(b->hWnd, EM_GETLINE, l, (DWORD)(LPSTR)line);
+ len = (int)SendMessage(b->hWnd, EM_GETLINE, (WPARAM)l, (LPARAM)line);
line[len] = '\0';
fprintf(f, "%s\n", line);
}
@@ -213,17 +207,17 @@ BOOL_T wTextPrint(
lineSpace = textMetric.tmHeight + textMetric.tmExternalLeading;
linesPerPage = GetDeviceCaps(hDc, VERTRES) / lineSpace;
currentLine = 1;
- lc = (int)SendMessage(b->hWnd, EM_GETLINECOUNT, 0, 0L);
+ lc = (int)SendMessage(b->hWnd, EM_GETLINECOUNT, (WPARAM)0, (LPARAM)0);
IOStatus = 0;
for (l=0; l<lc; l++) {
*(WORD*)line = sizeof(line)-1;
- len = (int)SendMessage(b->hWnd, EM_GETLINE, l, (DWORD)(LPSTR)line);
+ len = (int)SendMessage(b->hWnd, EM_GETLINE, (WPARAM)l, (LPARAM)line);
TextOut(hDc, 0, currentLine*lineSpace, line, len);
if (++currentLine > linesPerPage) {
IOStatus = EndPage(hDc);
- if (IOStatus < 0 || textPrintAbort) {
+ if (IOStatus < 0 ) {
break;
}
StartPage(hDc);
@@ -231,7 +225,7 @@ BOOL_T wTextPrint(
}
}
- if (IOStatus >= 0 && !textPrintAbort) {
+ if (IOStatus >= 0 ) {
EndPage(hDc);
EndDoc(hDc);
}
@@ -246,7 +240,7 @@ wBool_t wTextGetModified(
wText_p b)
{
int rc;
- rc = (int)SendMessage(b->hWnd, EM_GETMODIFY, 0, 0L);
+ rc = (int)SendMessage(b->hWnd, EM_GETMODIFY, (WPARAM)0, (LPARAM)0);
return (wBool_t)rc;
}
@@ -311,14 +305,14 @@ void wTextSetReadonly(
b->option &= ~BO_READONLY;
}
- SendMessage(b->hWnd, EM_SETREADONLY, ro, 0L);
+ SendMessage(b->hWnd, EM_SETREADONLY, (WPARAM)ro, (LPARAM)0);
}
void wTextSetSize(
wText_p bt,
- wPos_t width,
- wPos_t height)
+ wWinPix_t width,
+ wWinPix_t height)
{
bt->w = width;
bt->h = height;
@@ -332,13 +326,13 @@ void wTextSetSize(
void wTextComputeSize(
wText_p bt,
- int rows,
- int lines,
- wPos_t * w,
- wPos_t * h)
+ wWinPix_t rows,
+ wWinPix_t lines,
+ wWinPix_t * w,
+ wWinPix_t * h)
{
- static wPos_t scrollV_w = -1;
- static wPos_t scrollH_h = -1;
+ static wWinPix_t scrollV_w = -1;
+ static wWinPix_t scrollH_h = -1;
HDC hDc;
TEXTMETRIC metrics;
@@ -366,8 +360,8 @@ void wTextSetPosition(
wText_p bt,
int pos)
{
- long rc;
- rc = SendMessage(bt->hWnd, EM_LINESCROLL, 0, MAKELONG(-65535, 0));
+ LRESULT rc;
+ rc = SendMessage(bt->hWnd, EM_LINESCROLL, (WPARAM)0, (LPARAM)MAKELONG(-65535, 0));
}
static void textDoneProc(wControl_p b)
@@ -387,13 +381,13 @@ static callBacks_t textCallBacks = {
wText_p wTextCreate(
wWin_p parent,
- POS_T x,
- POS_T y,
+ wWinPix_t x,
+ wWinPix_t y,
const char * helpStr,
const char * labelStr,
long option,
- POS_T width,
- POS_T height)
+ wWinPix_t width,
+ wWinPix_t height)
{
wText_p b;
DWORD style;
@@ -416,17 +410,13 @@ wText_p wTextCreate(
b->hWnd = CreateWindow("EDIT", NULL,
style, b->x, b->y,
width, height,
- ((wControl_p)parent)->hWnd, (HMENU)index, mswHInst, NULL);
+ ((wControl_p)parent)->hWnd, (HMENU)(UINT_PTR)index, mswHInst, NULL);
if (b->hWnd == NULL) {
mswFail("CreateWindow(TEXT)");
return b;
}
-#ifdef CONTROL3D
- Ctl3dSubclassCtl(b->hWnd);
-#endif
-
if (option & BT_FIXEDFONT) {
if (fixedTextFont == (HFONT)0) {
fixedTextFont = CreateFontIndirect(&fixedFont);
@@ -434,13 +424,13 @@ wText_p wTextCreate(
SendMessage(b->hWnd, WM_SETFONT, (WPARAM)fixedTextFont, (LPARAM)MAKELONG(1, 0));
} else if (!mswThickFont) {
- SendMessage(b->hWnd, WM_SETFONT, (WPARAM)mswLabelFont, 0L);
+ SendMessage(b->hWnd, WM_SETFONT, (WPARAM)mswLabelFont, (LPARAM)0);
}
- b->hText = (HANDLE)SendMessage(b->hWnd, EM_GETHANDLE, 0, 0L);
+ b->hText = (HANDLE)SendMessage(b->hWnd, EM_GETHANDLE, (WPARAM)0, (LPARAM)0);
if (option & BT_CHARUNITS) {
- wPos_t w, h;
+ wWinPix_t w, h;
wTextComputeSize(b, width, height, &w, &h);
if (!SetWindowPos(b->hWnd, HWND_TOP, 0, 0,
diff --git a/app/wlib/mswlib/simple-gettext.c b/app/wlib/mswlib/simple-gettext.c
index 412eece..951ce4c 100644
--- a/app/wlib/mswlib/simple-gettext.c
+++ b/app/wlib/mswlib/simple-gettext.c
@@ -224,7 +224,7 @@ load_domain( const char *filename )
to_read = size;
read_ptr = (char *) data;
do {
- unsigned long int nb = fread( read_ptr, 1, to_read, fp );
+ unsigned long int nb = (unsigned int)fread( read_ptr, 1, to_read, fp );
if( nb < to_read ) {
fclose (fp);
free(data);
@@ -341,7 +341,7 @@ get_string( struct loaded_domain *domain, u32 idx )
domain->mapped[idx] = 1;
plen = strlen (p);
- buf = utf8_to_native (p, plen, -1);
+ buf = utf8_to_native (p, (unsigned int)plen, -1);
buflen = strlen (buf);
if (buflen <= plen){
strcpy (p, buf);
@@ -392,7 +392,7 @@ gettext( const char *msgid )
/* Locate the MSGID and its translation. */
if( domain->hash_size > 2 && domain->hash_tab ) {
/* Use the hashing table. */
- u32 len = strlen (msgid);
+ u32 len = (u32)strlen (msgid);
u32 hash_val = hash_string (msgid);
u32 idx = hash_val % domain->hash_size;
u32 incr = 1 + (hash_val % (domain->hash_size - 2));
@@ -444,7 +444,7 @@ gettext( const char *msgid )
else if (cmp_val > 0)
bottom = act + 1;
else
- return (char *)get_string( domain, act );
+ return (char *)get_string( domain, (int)(act) );
}
not_found:
diff --git a/app/wlib/mswlib/utf8conv.c b/app/wlib/mswlib/utf8conv.c
index 62ada76..5a39b34 100644
--- a/app/wlib/mswlib/utf8conv.c
+++ b/app/wlib/mswlib/utf8conv.c
@@ -43,7 +43,7 @@
bool
wSystemToUTF8(const char *inString, char *outString, unsigned outStringLength)
{
- unsigned int cnt = 2 * (strlen(inString) + 1);
+ unsigned int cnt = 2 * (unsigned int)(strlen(inString) + 1);
char *tempBuffer = malloc(cnt);
// convert to wide character (UTF16)
@@ -81,7 +81,7 @@ wSystemToUTF8(const char *inString, char *outString, unsigned outStringLength)
bool
wUTF8ToSystem(const char *inString, char *outString, unsigned outStringLength)
{
- unsigned int cnt = 2 * (strlen(inString) + 1);
+ unsigned int cnt = 2 * (int)(strlen(inString) + 1);
char *tempBuffer = malloc(cnt);
// convert to wide character (UTF16)
diff --git a/distribution/CMakeLists.txt b/distribution/CMakeLists.txt
index 9eede85..119b684 100644
--- a/distribution/CMakeLists.txt
+++ b/distribution/CMakeLists.txt
@@ -1,7 +1,16 @@
# Setup global packaging parameters ...
SET(CPACK_PACKAGE_DESCRIPTION "XTrackCad is a CAD program for designing model railroad layouts.")
SET(CPACK_PACKAGE_EXECUTABLES "xtrkcad;XTrkCAD ${XTRKCAD_VERSION}")
-SET(CPACK_PACKAGE_FILE_NAME "xtrkcad-setup-${XTRKCAD_VERSION}")
+IF(WIN32)
+ # Add suffix
+ IF(WIN64)
+ SET(CPACK_PACKAGE_FILE_NAME "xtrkcad-setup-${XTRKCAD_VERSION}-x64")
+ ELSE(WIN64)
+ SET(CPACK_PACKAGE_FILE_NAME "xtrkcad-setup-${XTRKCAD_VERSION}-x86")
+ ENDIF(WIN64)
+ELSE(WIN32)
+ SET(CPACK_PACKAGE_FILE_NAME "xtrkcad-setup-${XTRKCAD_VERSION}")
+ENDIF(WIN32)
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "XTrkCAD ${XTRKCAD_VERSION}")
SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "XTrkCAD ${XTRKCAD_VERSION}")
SET(CPACK_PACKAGE_NAME "xtrkcad")
diff --git a/distribution/fedora/xtrkcad.spec b/distribution/fedora/xtrkcad.spec
new file mode 100644
index 0000000..84e4be1
--- /dev/null
+++ b/distribution/fedora/xtrkcad.spec
@@ -0,0 +1,50 @@
+Summary: XTrkCad CAD for Model Railroad layout
+Name: xtrkcad
+Version: 5.2.2
+Release: 1%{?dist}
+License: GPLv2+
+URL: https://sourceforge.net/projects/xtrkcad-fork
+Source0: https://sourceforge.net/projects/xtrkcad-fork/files/XTrackCad/Version%20%{version}%20/xtrkcad-source-%{version}.zip
+BuildRoot: %{_tmppath}/%{name}-root
+BuildRequires: gcc, gcc-c++, cmake >= 2.4.7, pkgconfig, gtk2-devel
+BuildRequires: libcmocka, libcmocka-devel, libzip, libzip-devel
+BuildRequires: tinyxml, tinyxml-devel, pandoc
+BuildRequires: gettext, gettext-devel, glibc-devel
+Requires: libcmocka, libzip, tinyxml
+
+%description
+XTrkCad is a CAD program for designing Model Railroad layouts.
+XTrkCad supports any scale, has libraries of popular brands of x
+turnouts and sectional track (plus you add your own easily), can
+automatically use spiral transition curves when joining track
+XTrkCad lets you manipulate track much like you would with actual
+flex-track to modify, extend and join tracks and turnouts.
+Additional features include tunnels, 'post-it' notes, on-screen
+ruler, parts list, 99 drawing layers, undo/redo commands,
+benchwork, 'Print to BitMap', elevations, train simulation and
+car inventory.
+
+%prep
+%setup -n xtrkcad-source-%{version}/usr/local -q
+
+%build
+cmake -D CMAKE_INSTALL_PREFIX:PATH=%{_prefix} -D CMAKE_BUILD_TYPE=Debug .
+make
+
+%install
+rm -rf $RPM_BUILD_ROOT/*
+make DESTDIR=$RPM_BUILD_ROOT install
+
+%check
+make test
+
+%files
+%license app/COPYING
+%defattr(-, root, root)
+%{_bindir}/xtrkcad
+%{_datadir}
+
+%changelog
+* Tue Dec 14 2021 Phil Cameron
+- V5.2.2 GA
+
diff --git a/distribution/posix/CMakeLists.txt b/distribution/posix/CMakeLists.txt
index 3356005..6e44581 100644
--- a/distribution/posix/CMakeLists.txt
+++ b/distribution/posix/CMakeLists.txt
@@ -8,7 +8,12 @@ set(CPACK_RPM_PACKAGE_GROUP "Applications/Engineering")
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}////xtrkcad-desc.txt")
set(CPACK_PACKAGE_FILE_NAME "xtrkcad-setup-${XTRKCAD_VERSION}-${CPACK_PACKAGE_RELEASE}.${CMAKE_SYSTEM_PROCESSOR}")
-set(CPACK_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} )
+if(XTRKCAD_PACKAGE_GA_RELEASE)
+ set(CPACK_INSTALL_PREFIX "/usr" )
+else()
+ set(CPACK_INSTALL_PREFIX "/usr/local" )
+endif()
+
set(CPACK_PACKAGING_INSTALL_PREFIX ${CPACK_INSTALL_PREFIX})
# get the specific configuration for each packager
@@ -17,7 +22,7 @@ set(CPACK_PROJECT_CONFIG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/package.txt)
set(CPACK_PACKAGE_VENDOR "XTrackCAD Fork Project")
# common dependencies for all Linux builds
-set(CPACK_RPM_PACKAGE_REQUIRES "glibc gtk2 zip zlib")
+set(CPACK_RPM_PACKAGE_REQUIRES "glibc gtk2 zlib")
set(CPACK_RPM_BUILDREQUIRES
"gcc, cmake >= 2.4.7, pkgconfig, gtk2-devel"
@@ -31,6 +36,12 @@ if(NOT XTRKCAD_USE_BROWSER)
# message(AUTHOR_WARNING "Add dependency to webkitgtk for viewing help!")
endif()
+#Add dependency to MiniXML (mxml) if configured
+if(XTRKCAD_CREATE_SVG)
+ set(CPACK_RPM_PACKAGE_REQUIRES
+ "${CPACK_RPM_PACKAGE_REQUIRES} mxml")
+endif()
+
# exclude these directories from the rpm
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
"/usr/local"
@@ -54,13 +65,23 @@ set(CPACK_DEBIAN_PACKAGE_VERSION "1:${XTRKCAD_VERSION}")
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
-set(CPACK_DEBIAN_PACKAGE_DEPENDS "zip")
+set(CPACK_DEBIAN_PACKAGE_DEPENDS "xdg-utils")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "xtrkcad@sillub.com")
set(CPACK_PACKAGE_CONTACT "xtrkcad@sillub.com")
-set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "XTrkCad description")
+set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "XTrkCad supports any scale, has libraries of popular brands of \
+turnouts and sectional track (plus you add your own easily), can \
+automatically use spiral transition curves when joining track \
+XTrkCad lets you manipulate track much like you would with actual \
+flex-track to modify, extend and join tracks and turnouts. \
+Additional features include tunnels, 'post-it' notes, on-screen \
+ruler, parts list, 99 drawing layers, undo/redo commands, \
+benchwork, 'Print to BitMap', elevations, train simulation and \
+car inventory. \
+")
+
set(CPACK_DEBIAN_PACKAGE_SECTION "contrib/graphics")
@@ -74,5 +95,7 @@ set(CPACK_PACKAGE_EXECUTABLES "xtrkcad;XTrkCad-5.2.1-Beta")
set(CPACK_CREATE_DESKTOP_LINKS "xtrkcad")
+set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/postinst;${CMAKE_CURRENT_SOURCE_DIR}/prerm")
+
include(CPack)
diff --git a/distribution/posix/postinst b/distribution/posix/postinst
new file mode 100755
index 0000000..914534d
--- /dev/null
+++ b/distribution/posix/postinst
@@ -0,0 +1,21 @@
+#!/bin/sh
+LOGF=/tmp/xtrkcad-setup.log
+if [ -f "${LOGF}" ] ; then
+ chmod 666 ${LOGF}
+ echo postinst: $* >> ${LOGF}
+else
+ LOGF=/dev/null
+fi
+
+if [ -d /usr/local/share/xtrkcad ] ; then
+ INSTALLDIR=/usr/local/share/xtrkcad
+elif [ -d /usr/share/xtrkcad ] ; then
+ INSTALLDIR=/usr/share/xtrkcad
+else
+ echo No existing XTrkCad install >> ${LOGF}
+ exit 1
+fi
+
+( su -c "sh ${INSTALLDIR}/xtrkcad-setup install ${INSTALLDIR}" -l $SUDO_USER ) >> ${LOGF} 2>&1
+
+exit 0
diff --git a/distribution/posix/prerm b/distribution/posix/prerm
new file mode 100755
index 0000000..3c5db28
--- /dev/null
+++ b/distribution/posix/prerm
@@ -0,0 +1,22 @@
+#!/bin/sh
+LOGF=/tmp/xtrkcad-setup.log
+if [ -f "${LOGF}" ] ; then
+ chmod 666 ${LOGF}
+ echo prerm: $* >> ${LOGF}
+else
+ LOGF=/dev/null
+fi
+
+if [ -d /usr/local/share/xtrkcad ] ; then
+ INSTALLDIR=/usr/local/share/xtrkcad
+elif [ -d /usr/share/xtrkcad ] ; then
+ INSTALLDIR=/usr/share/xtrkcad
+else
+ echo No existing XTrkCad install >> ${LOGF}
+ exit 1
+fi
+
+( su -c "sh ${INSTALLDIR}/xtrkcad-setup remove ${INSTALLDIR}" -l $SUDO_USER ) >> ${LOGF} 2>&1
+
+exit 0
+
diff --git a/distribution/win32/CMakeLists.txt b/distribution/win32/CMakeLists.txt
index 80ecfe3..3a46c7f 100644
--- a/distribution/win32/CMakeLists.txt
+++ b/distribution/win32/CMakeLists.txt
@@ -1,4 +1,3 @@
-SET(CPACK_SOURCE_GENERATOR "ZIP")
-
-ADD_SUBDIRECTORY(nsis)
+set(CPACK_SOURCE_GENERATOR "ZIP")
+add_subdirectory(nsis)
diff --git a/distribution/win32/nsis/CMakeLists.txt b/distribution/win32/nsis/CMakeLists.txt
index 150fe43..ef1775c 100644
--- a/distribution/win32/nsis/CMakeLists.txt
+++ b/distribution/win32/nsis/CMakeLists.txt
@@ -1,23 +1,26 @@
-STRING(REPLACE "/" "\\\\" NATIVE_CURRENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
+string(REPLACE "/" "\\\\" NATIVE_CURRENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
-SET(CPACK_GENERATOR "NSIS")
-SET(CPACK_PACKAGE_INSTALL_DIRECTORY "XTrackCAD")
-SET(CPACK_NSIS_EXECUTABLE_NAME "bin\\\\xtrkcad.exe")
-SET(CPACK_NSIS_DISPLAY_NAME "XTrackCAD ${CPACK_PACKAGE_VERSION}")
-SET(CPACK_PACKAGE_ICON "${NATIVE_CURRENT_SOURCE_DIR}\\\\headerimage.bmp")
-SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\xtrkcad.exe")
-SET(CPACK_NSIS_HELP_LINK "http://www.xtrkcad.org")
-SET(CPACK_NSIS_MUI_FINISHPAGE_RUN "xtrkcad.exe")
+set(CPACK_GENERATOR "NSIS")
+set(CPACK_PACKAGE_INSTALL_DIRECTORY "XTrackCAD")
+set(CPACK_NSIS_EXECUTABLE_NAME "bin\\\\xtrkcad.exe")
+set(CPACK_NSIS_DISPLAY_NAME "XTrackCAD ${CPACK_PACKAGE_VERSION}")
+set(CPACK_PACKAGE_ICON "${NATIVE_CURRENT_SOURCE_DIR}\\\\headerimage.bmp")
+set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\xtrkcad.exe")
+set(CPACK_NSIS_HELP_LINK "http://www.xtrkcad.org")
+set(CPACK_NSIS_MUI_FINISHPAGE_RUN "xtrkcad.exe")
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL "on")
+set(CMAKE_INSTALL_OPENMP_LIBRARIES TRUE)
-SET(CPACK_NSIS_STARTMENU_FOLDER "XTrackCAD")
+set(CPACK_NSIS_STARTMENU_FOLDER "XTrackCAD")
-SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS
+set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS
"; add part specific to XTrackCAD installation
!include \\\"${NATIVE_CURRENT_SOURCE_DIR}\\\\install.nsh\\\"")
-SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
+set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
"; add part specific to XTrackCAD uninstall
!include \\\"${NATIVE_CURRENT_SOURCE_DIR}\\\\uninstall.nsh\\\"")
-INCLUDE(CPack)
+include (InstallRequiredSystemLibraries)
+
+include(CPack)
diff --git a/docs/doxygen/Doxyfile.in b/docs/doxygen/Doxyfile.in
index 323f2ce..6346109 100644
--- a/docs/doxygen/Doxyfile.in
+++ b/docs/doxygen/Doxyfile.in
@@ -205,7 +205,8 @@ TAB_SIZE = 4
# will result in a user-defined paragraph with heading "Side Effects:".
# You can put \n's in the value part of an alias to insert newlines.
-ALIASES =
+ALIASES = "logcmd=\xrefitem log \"Log\" \"Log Commands\""
+ALIASES += "prefs=\xrefitem pref \"Pref\" \"Preferences\""
# This tag can be used to specify a number of word-keyword mappings (TCL only).
# A mapping has the form "name=value". For example adding
diff --git a/xtrkcad-config.h.in b/xtrkcad-config.h.in
index d532aa9..8b57444 100644
--- a/xtrkcad-config.h.in
+++ b/xtrkcad-config.h.in
@@ -23,6 +23,7 @@
#cmakedefine XTRKCAD_USE_GETTEXT
#cmakedefine XTRKCAD_TESTING
+#cmakedefine XTRKCAD_CREATE_SVG 1
#define XTRKCAD_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@"
#define XTRKCAD_PACKAGE "@XTRKCAD_PACKAGE@"
@@ -32,4 +33,3 @@
#define XTRKCAD_MINPARAMVERSION (1)
#endif // !XTRKCAD_CONFIG_H
-